/******/ (function(modules) { // webpackBootstrap
/******/ 	// install a JSONP callback for chunk loading
/******/ 	function webpackJsonpCallback(data) {
/******/ 		var chunkIds = data[0];
/******/ 		var moreModules = data[1];
/******/
/******/
/******/ 		// add "moreModules" to the modules object,
/******/ 		// then flag all "chunkIds" as loaded and fire callback
/******/ 		var moduleId, chunkId, i = 0, resolves = [];
/******/ 		for(;i < chunkIds.length; i++) {
/******/ 			chunkId = chunkIds[i];
/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ 				resolves.push(installedChunks[chunkId][0]);
/******/ 			}
/******/ 			installedChunks[chunkId] = 0;
/******/ 		}
/******/ 		for(moduleId in moreModules) {
/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ 				modules[moduleId] = moreModules[moduleId];
/******/ 			}
/******/ 		}
/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ 		while(resolves.length) {
/******/ 			resolves.shift()();
/******/ 		}
/******/
/******/ 	};
/******/
/******/
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// object to store loaded and loading chunks
/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ 	// Promise = chunk loading, 0 = chunk loaded
/******/ 	var installedChunks = {
/******/ 		"app": 0
/******/ 	};
/******/
/******/
/******/
/******/ 	// script path function
/******/ 	function jsonpScriptSrc(chunkId) {
/******/ 		return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js"
/******/ 	}
/******/
/******/ 	// 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;
/******/ 	}
/******/
/******/ 	// This file contains only the entry chunk.
/******/ 	// The chunk loading function for additional chunks
/******/ 	__webpack_require__.e = function requireEnsure(chunkId) {
/******/ 		var promises = [];
/******/
/******/
/******/ 		// JSONP chunk loading for javascript
/******/
/******/ 		var installedChunkData = installedChunks[chunkId];
/******/ 		if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ 			// a Promise means "currently loading".
/******/ 			if(installedChunkData) {
/******/ 				promises.push(installedChunkData[2]);
/******/ 			} else {
/******/ 				// setup Promise in chunk cache
/******/ 				var promise = new Promise(function(resolve, reject) {
/******/ 					installedChunkData = installedChunks[chunkId] = [resolve, reject];
/******/ 				});
/******/ 				promises.push(installedChunkData[2] = promise);
/******/
/******/ 				// start chunk loading
/******/ 				var script = document.createElement('script');
/******/ 				var onScriptComplete;
/******/
/******/ 				script.charset = 'utf-8';
/******/ 				script.timeout = 120;
/******/ 				if (__webpack_require__.nc) {
/******/ 					script.setAttribute("nonce", __webpack_require__.nc);
/******/ 				}
/******/ 				script.src = jsonpScriptSrc(chunkId);
/******/
/******/ 				// create error before stack unwound to get useful stacktrace later
/******/ 				var error = new Error();
/******/ 				onScriptComplete = function (event) {
/******/ 					// avoid mem leaks in IE.
/******/ 					script.onerror = script.onload = null;
/******/ 					clearTimeout(timeout);
/******/ 					var chunk = installedChunks[chunkId];
/******/ 					if(chunk !== 0) {
/******/ 						if(chunk) {
/******/ 							var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ 							var realSrc = event && event.target && event.target.src;
/******/ 							error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ 							error.name = 'ChunkLoadError';
/******/ 							error.type = errorType;
/******/ 							error.request = realSrc;
/******/ 							chunk[1](error);
/******/ 						}
/******/ 						installedChunks[chunkId] = undefined;
/******/ 					}
/******/ 				};
/******/ 				var timeout = setTimeout(function(){
/******/ 					onScriptComplete({ type: 'timeout', target: script });
/******/ 				}, 120000);
/******/ 				script.onerror = script.onload = onScriptComplete;
/******/ 				document.head.appendChild(script);
/******/ 			}
/******/ 		}
/******/ 		return Promise.all(promises);
/******/ 	};
/******/
/******/ 	// 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 = "";
/******/
/******/ 	// on error function for async loading
/******/ 	__webpack_require__.oe = function(err) { console.error(err); throw err; };
/******/
/******/ 	var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ 	jsonpArray.push = webpackJsonpCallback;
/******/ 	jsonpArray = jsonpArray.slice();
/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ 	var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ({

/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
/*!*********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayLikeToArray; });\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n\n  return arr2;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
/*!*******************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayWithHoles; });\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js":
/*!**********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayWithoutHoles; });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return Object(_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js":
/*!*********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _asyncToGenerator; });\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n  try {\n    var info = gen[key](arg);\n    var value = info.value;\n  } catch (error) {\n    reject(error);\n    return;\n  }\n\n  if (info.done) {\n    resolve(value);\n  } else {\n    Promise.resolve(value).then(_next, _throw);\n  }\n}\n\nfunction _asyncToGenerator(fn) {\n  return function () {\n    var self = this,\n        args = arguments;\n    return new Promise(function (resolve, reject) {\n      var gen = fn.apply(self, args);\n\n      function _next(value) {\n        asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n      }\n\n      function _throw(err) {\n        asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n      }\n\n      _next(undefined);\n    });\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js":
/*!******************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js ***!
  \******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _createForOfIteratorHelper; });\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n\n\n\n\n\n\n\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n  var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n  if (!it) {\n    if (Array.isArray(o) || (it = Object(_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n      if (it) o = it;\n      var i = 0;\n\n      var F = function F() {};\n\n      return {\n        s: F,\n        n: function n() {\n          if (i >= o.length) return {\n            done: true\n          };\n          return {\n            done: false,\n            value: o[i++]\n          };\n        },\n        e: function e(_e) {\n          throw _e;\n        },\n        f: F\n      };\n    }\n\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n\n  var normalCompletion = true,\n      didErr = false,\n      err;\n  return {\n    s: function s() {\n      it = it.call(o);\n    },\n    n: function n() {\n      var step = it.next();\n      normalCompletion = step.done;\n      return step;\n    },\n    e: function e(_e2) {\n      didErr = true;\n      err = _e2;\n    },\n    f: function f() {\n      try {\n        if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n      } finally {\n        if (didErr) throw err;\n      }\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
/*!*******************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _defineProperty; });\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\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js":
/*!***************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _interopRequireWildcard; });\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_weak_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.weak-map.js */ \"./node_modules/core-js/modules/es.weak-map.js\");\n/* harmony import */ var core_js_modules_es_weak_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_weak_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\n\n\n\n\n\n\nfunction _getRequireWildcardCache(nodeInterop) {\n  if (typeof WeakMap !== \"function\") return null;\n  var cacheBabelInterop = new WeakMap();\n  var cacheNodeInterop = new WeakMap();\n  return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n    return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n  })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n  if (!nodeInterop && obj && obj.__esModule) {\n    return obj;\n  }\n\n  if (obj === null || Object(_typeof_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(obj) !== \"object\" && typeof obj !== \"function\") {\n    return {\n      \"default\": obj\n    };\n  }\n\n  var cache = _getRequireWildcardCache(nodeInterop);\n\n  if (cache && cache.has(obj)) {\n    return cache.get(obj);\n  }\n\n  var newObj = {};\n  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n  for (var key in obj) {\n    if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n      var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n      if (desc && (desc.get || desc.set)) {\n        Object.defineProperty(newObj, key, desc);\n      } else {\n        newObj[key] = obj[key];\n      }\n    }\n  }\n\n  newObj[\"default\"] = obj;\n\n  if (cache) {\n    cache.set(obj, newObj);\n  }\n\n  return newObj;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
/*!********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _iterableToArray; });\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _iterableToArrayLimit; });\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\nfunction _iterableToArrayLimit(arr, i) {\n  var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n  if (_i == null) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n\n  var _s, _e;\n\n  try {\n    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
/*!********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _nonIterableRest; });\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js":
/*!**********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _nonIterableSpread; });\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js":
/*!******************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _objectSpread2; });\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptors.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\n\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    enumerableOnly && (symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    })), keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = null != arguments[i] ? arguments[i] : {};\n    i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n      Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(target, key, source[key]);\n    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n    });\n  }\n\n  return target;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
/*!******************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _slicedToArray; });\n/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\");\n/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\");\n\n\n\n\nfunction _slicedToArray(arr, i) {\n  return Object(_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr) || Object(_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arr, i) || Object(_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arr, i) || Object(_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js":
/*!**********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toConsumableArray; });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(arr) {\n  return Object(_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr) || Object(_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arr) || Object(_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arr) || Object(_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
/*!***********************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _typeof; });\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, _typeof(obj);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
  \*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _unsupportedIterableToArray; });\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\n\n\n\n\n\n\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return Object(_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(o, minLen);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
/*!*******************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/typeof.js?");

/***/ }),

/***/ "./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/ScriptLoader.js":
/*!******************************************************************************!*\
  !*** ./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/ScriptLoader.js ***!
  \******************************************************************************/
/*! exports provided: ScriptLoader */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScriptLoader\", function() { return ScriptLoader; });\n/* harmony import */ var _Utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.js\");\n/**\n * Copyright (c) 2018-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nvar createState = function () {\n    return {\n        listeners: [],\n        scriptId: Object(_Utils__WEBPACK_IMPORTED_MODULE_0__[\"uuid\"])('tiny-script'),\n        scriptLoaded: false\n    };\n};\nvar CreateScriptLoader = function () {\n    var state = createState();\n    var injectScriptTag = function (scriptId, doc, url, callback) {\n        var scriptTag = doc.createElement('script');\n        scriptTag.referrerPolicy = 'origin';\n        scriptTag.type = 'application/javascript';\n        scriptTag.id = scriptId;\n        scriptTag.src = url;\n        var handler = function () {\n            scriptTag.removeEventListener('load', handler);\n            callback();\n        };\n        scriptTag.addEventListener('load', handler);\n        if (doc.head) {\n            doc.head.appendChild(scriptTag);\n        }\n    };\n    var load = function (doc, url, callback) {\n        if (state.scriptLoaded) {\n            callback();\n        }\n        else {\n            state.listeners.push(callback);\n            if (!doc.getElementById(state.scriptId)) {\n                injectScriptTag(state.scriptId, doc, url, function () {\n                    state.listeners.forEach(function (fn) { return fn(); });\n                    state.scriptLoaded = true;\n                });\n            }\n        }\n    };\n    // Only to be used by tests.\n    var reinitialize = function () {\n        state = createState();\n    };\n    return {\n        load: load,\n        reinitialize: reinitialize\n    };\n};\nvar ScriptLoader = CreateScriptLoader();\n\n\n\n//# sourceURL=webpack:///./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/ScriptLoader.js?");

/***/ }),

/***/ "./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/TinyMCE.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/TinyMCE.js ***!
  \*************************************************************************/
/*! exports provided: getTinymce */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTinymce\", function() { return getTinymce; });\n/**\n * Copyright (c) 2018-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nvar getGlobal = function () { return (typeof window !== 'undefined' ? window : global); };\nvar getTinymce = function () {\n    var global = getGlobal();\n    return global && global.tinymce ? global.tinymce : null;\n};\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/TinyMCE.js?");

/***/ }),

/***/ "./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.js":
/*!***********************************************************************!*\
  !*** ./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.js ***!
  \***********************************************************************/
/*! exports provided: bindHandlers, bindModelHandlers, initEditor, isValidKey, uuid, isTextarea, mergePlugins, isNullOrUndefined */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bindHandlers\", function() { return bindHandlers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bindModelHandlers\", function() { return bindModelHandlers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initEditor\", function() { return initEditor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValidKey\", function() { return isValidKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uuid\", function() { return uuid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTextarea\", function() { return isTextarea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergePlugins\", function() { return mergePlugins; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNullOrUndefined\", function() { return isNullOrUndefined; });\n/**\n * Copyright (c) 2018-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nvar validEvents = [\n    'onActivate',\n    'onAddUndo',\n    'onBeforeAddUndo',\n    'onBeforeExecCommand',\n    'onBeforeGetContent',\n    'onBeforeRenderUI',\n    'onBeforeSetContent',\n    'onBeforePaste',\n    'onBlur',\n    'onChange',\n    'onClearUndos',\n    'onClick',\n    'onContextMenu',\n    'onCopy',\n    'onCut',\n    'onDblclick',\n    'onDeactivate',\n    'onDirty',\n    'onDrag',\n    'onDragDrop',\n    'onDragEnd',\n    'onDragGesture',\n    'onDragOver',\n    'onDrop',\n    'onExecCommand',\n    'onFocus',\n    'onFocusIn',\n    'onFocusOut',\n    'onGetContent',\n    'onHide',\n    'onInit',\n    'onKeyDown',\n    'onKeyPress',\n    'onKeyUp',\n    'onLoadContent',\n    'onMouseDown',\n    'onMouseEnter',\n    'onMouseLeave',\n    'onMouseMove',\n    'onMouseOut',\n    'onMouseOver',\n    'onMouseUp',\n    'onNodeChange',\n    'onObjectResizeStart',\n    'onObjectResized',\n    'onObjectSelected',\n    'onPaste',\n    'onPostProcess',\n    'onPostRender',\n    'onPreProcess',\n    'onProgressState',\n    'onRedo',\n    'onRemove',\n    'onReset',\n    'onSaveContent',\n    'onSelectionChange',\n    'onSetAttrib',\n    'onSetContent',\n    'onShow',\n    'onSubmit',\n    'onUndo',\n    'onVisualAid'\n];\nvar isValidKey = function (key) { return validEvents.map(function (event) { return event.toLowerCase(); }).indexOf(key.toLowerCase()) !== -1; };\nvar bindHandlers = function (initEvent, listeners, editor) {\n    Object.keys(listeners)\n        .filter(isValidKey)\n        .forEach(function (key) {\n        var handler = listeners[key];\n        if (typeof handler === 'function') {\n            if (key === 'onInit') {\n                handler(initEvent, editor);\n            }\n            else {\n                editor.on(key.substring(2), function (e) { return handler(e, editor); });\n            }\n        }\n    });\n};\nvar bindModelHandlers = function (ctx, editor) {\n    var modelEvents = ctx.$props.modelEvents ? ctx.$props.modelEvents : null;\n    var normalizedEvents = Array.isArray(modelEvents) ? modelEvents.join(' ') : modelEvents;\n    editor.on(normalizedEvents ? normalizedEvents : 'change input undo redo', function () {\n        ctx.$emit('input', editor.getContent({ format: ctx.$props.outputFormat }));\n    });\n};\nvar initEditor = function (initEvent, ctx, editor) {\n    var value = ctx.$props.value ? ctx.$props.value : '';\n    var initialValue = ctx.$props.initialValue ? ctx.$props.initialValue : '';\n    editor.setContent(value || (ctx.initialized ? ctx.cache : initialValue));\n    // Always bind the value listener in case users use :value instead of v-model\n    ctx.$watch('value', function (val, prevVal) {\n        if (editor && typeof val === 'string' && val !== prevVal && val !== editor.getContent({ format: ctx.$props.outputFormat })) {\n            editor.setContent(val);\n        }\n    });\n    // checks if the v-model shorthand is used (which sets an v-on:input listener) and then binds either\n    // specified the events or defaults to \"change keyup\" event and emits the editor content on that event\n    if (ctx.$listeners.input) {\n        bindModelHandlers(ctx, editor);\n    }\n    bindHandlers(initEvent, ctx.$listeners, editor);\n    ctx.initialized = true;\n};\nvar unique = 0;\nvar uuid = function (prefix) {\n    var time = Date.now();\n    var random = Math.floor(Math.random() * 1000000000);\n    unique++;\n    return prefix + '_' + random + unique + String(time);\n};\nvar isTextarea = function (element) {\n    return element !== null && element.tagName.toLowerCase() === 'textarea';\n};\nvar normalizePluginArray = function (plugins) {\n    if (typeof plugins === 'undefined' || plugins === '') {\n        return [];\n    }\n    return Array.isArray(plugins) ? plugins : plugins.split(' ');\n};\nvar mergePlugins = function (initPlugins, inputPlugins) {\n    return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));\n};\nvar isNullOrUndefined = function (value) { return value === null || value === undefined; };\n\n\n\n//# sourceURL=webpack:///./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.js?");

/***/ }),

/***/ "./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.js ***!
  \***********************************************************************************/
/*! exports provided: Editor */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Editor\", function() { return Editor; });\n/* harmony import */ var _ScriptLoader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ScriptLoader */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/ScriptLoader.js\");\n/* harmony import */ var _TinyMCE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../TinyMCE */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/TinyMCE.js\");\n/* harmony import */ var _Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.js\");\n/* harmony import */ var _EditorPropTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EditorPropTypes */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/EditorPropTypes.js\");\n/**\n * Copyright (c) 2018-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nvar __assign = (undefined && undefined.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\n\n\n\n\nvar renderInline = function (h, id, tagName) {\n    return h(tagName ? tagName : 'div', {\n        attrs: { id: id }\n    });\n};\nvar renderIframe = function (h, id) {\n    return h('textarea', {\n        attrs: { id: id },\n        style: { visibility: 'hidden' }\n    });\n};\nvar initialise = function (ctx) { return function () {\n    var finalInit = __assign(__assign({}, ctx.$props.init), { readonly: ctx.$props.disabled, selector: \"#\" + ctx.elementId, plugins: Object(_Utils__WEBPACK_IMPORTED_MODULE_2__[\"mergePlugins\"])(ctx.$props.init && ctx.$props.init.plugins, ctx.$props.plugins), toolbar: ctx.$props.toolbar || (ctx.$props.init && ctx.$props.init.toolbar), inline: ctx.inlineEditor, setup: function (editor) {\n            ctx.editor = editor;\n            editor.on('init', function (e) { return Object(_Utils__WEBPACK_IMPORTED_MODULE_2__[\"initEditor\"])(e, ctx, editor); });\n            if (ctx.$props.init && typeof ctx.$props.init.setup === 'function') {\n                ctx.$props.init.setup(editor);\n            }\n        } });\n    if (Object(_Utils__WEBPACK_IMPORTED_MODULE_2__[\"isTextarea\"])(ctx.element)) {\n        ctx.element.style.visibility = '';\n        ctx.element.style.display = '';\n    }\n    Object(_TinyMCE__WEBPACK_IMPORTED_MODULE_1__[\"getTinymce\"])().init(finalInit);\n}; };\nvar Editor = {\n    props: _EditorPropTypes__WEBPACK_IMPORTED_MODULE_3__[\"editorProps\"],\n    created: function () {\n        this.elementId = this.$props.id || Object(_Utils__WEBPACK_IMPORTED_MODULE_2__[\"uuid\"])('tiny-vue');\n        this.inlineEditor = (this.$props.init && this.$props.init.inline) || this.$props.inline;\n        this.initialized = false;\n    },\n    watch: {\n        disabled: function () {\n            this.editor.setMode(this.disabled ? 'readonly' : 'design');\n        }\n    },\n    mounted: function () {\n        this.element = this.$el;\n        if (Object(_TinyMCE__WEBPACK_IMPORTED_MODULE_1__[\"getTinymce\"])() !== null) {\n            initialise(this)();\n        }\n        else if (this.element && this.element.ownerDocument) {\n            var channel = this.$props.cloudChannel ? this.$props.cloudChannel : '5';\n            var apiKey = this.$props.apiKey ? this.$props.apiKey : 'no-api-key';\n            var scriptSrc = Object(_Utils__WEBPACK_IMPORTED_MODULE_2__[\"isNullOrUndefined\"])(this.$props.tinymceScriptSrc) ?\n                \"https://cdn.tiny.cloud/1/\" + apiKey + \"/tinymce/\" + channel + \"/tinymce.min.js\" :\n                this.$props.tinymceScriptSrc;\n            _ScriptLoader__WEBPACK_IMPORTED_MODULE_0__[\"ScriptLoader\"].load(this.element.ownerDocument, scriptSrc, initialise(this));\n        }\n    },\n    beforeDestroy: function () {\n        if (Object(_TinyMCE__WEBPACK_IMPORTED_MODULE_1__[\"getTinymce\"])() !== null) {\n            Object(_TinyMCE__WEBPACK_IMPORTED_MODULE_1__[\"getTinymce\"])().remove(this.editor);\n        }\n    },\n    deactivated: function () {\n        var _a;\n        if (!this.inlineEditor) {\n            this.cache = this.editor.getContent();\n            (_a = Object(_TinyMCE__WEBPACK_IMPORTED_MODULE_1__[\"getTinymce\"])()) === null || _a === void 0 ? void 0 : _a.remove(this.editor);\n        }\n    },\n    activated: function () {\n        if (!this.inlineEditor && this.initialized) {\n            initialise(this)();\n        }\n    },\n    render: function (h) {\n        return this.inlineEditor ? renderInline(h, this.elementId, this.$props.tagName) : renderIframe(h, this.elementId);\n    }\n};\n\n\n//# sourceURL=webpack:///./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.js?");

/***/ }),

/***/ "./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/EditorPropTypes.js":
/*!********************************************************************************************!*\
  !*** ./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/EditorPropTypes.js ***!
  \********************************************************************************************/
/*! exports provided: editorProps */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"editorProps\", function() { return editorProps; });\n/**\n * Copyright (c) 2018-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nvar editorProps = {\n    apiKey: String,\n    cloudChannel: String,\n    id: String,\n    init: Object,\n    initialValue: String,\n    inline: Boolean,\n    modelEvents: [String, Array],\n    plugins: [String, Array],\n    tagName: String,\n    toolbar: [String, Array],\n    value: String,\n    disabled: Boolean,\n    tinymceScriptSrc: String,\n    outputFormat: {\n        type: String,\n        validator: function (prop) { return prop === 'html' || prop === 'text'; }\n    },\n};\n\n\n//# sourceURL=webpack:///./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/EditorPropTypes.js?");

/***/ }),

/***/ "./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/index.js":
/*!***********************************************************************!*\
  !*** ./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/index.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Editor */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.js\");\n/**\n * Copyright (c) 2018-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_components_Editor__WEBPACK_IMPORTED_MODULE_0__[\"Editor\"]);\n\n\n//# sourceURL=webpack:///./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/index.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/index.js":
/*!**************************************************!*\
  !*** ./node_modules/async-validator/es/index.js ***!
  \**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"./node_modules/async-validator/es/util.js\");\n/* harmony import */ var _validator___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validator/ */ \"./node_modules/async-validator/es/validator/index.js\");\n/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./messages */ \"./node_modules/async-validator/es/messages.js\");\n\n\n\n\n\n\n/**\n *  Encapsulates a validation schema.\n *\n *  @param descriptor An object declaring validation rules\n *  for this schema.\n */\nfunction Schema(descriptor) {\n  this.rules = null;\n  this._messages = _messages__WEBPACK_IMPORTED_MODULE_4__[\"messages\"];\n  this.define(descriptor);\n}\n\nSchema.prototype = {\n  messages: function messages(_messages) {\n    if (_messages) {\n      this._messages = Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"deepMerge\"])(Object(_messages__WEBPACK_IMPORTED_MODULE_4__[\"newMessages\"])(), _messages);\n    }\n    return this._messages;\n  },\n  define: function define(rules) {\n    if (!rules) {\n      throw new Error('Cannot configure a schema with no rules');\n    }\n    if ((typeof rules === 'undefined' ? 'undefined' : babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default()(rules)) !== 'object' || Array.isArray(rules)) {\n      throw new Error('Rules must be an object');\n    }\n    this.rules = {};\n    var z = void 0;\n    var item = void 0;\n    for (z in rules) {\n      if (rules.hasOwnProperty(z)) {\n        item = rules[z];\n        this.rules[z] = Array.isArray(item) ? item : [item];\n      }\n    }\n  },\n  validate: function validate(source_) {\n    var _this = this;\n\n    var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var oc = arguments[2];\n\n    var source = source_;\n    var options = o;\n    var callback = oc;\n    if (typeof options === 'function') {\n      callback = options;\n      options = {};\n    }\n    if (!this.rules || Object.keys(this.rules).length === 0) {\n      if (callback) {\n        callback();\n      }\n      return;\n    }\n    function complete(results) {\n      var i = void 0;\n      var field = void 0;\n      var errors = [];\n      var fields = {};\n\n      function add(e) {\n        if (Array.isArray(e)) {\n          errors = errors.concat.apply(errors, e);\n        } else {\n          errors.push(e);\n        }\n      }\n\n      for (i = 0; i < results.length; i++) {\n        add(results[i]);\n      }\n      if (!errors.length) {\n        errors = null;\n        fields = null;\n      } else {\n        for (i = 0; i < errors.length; i++) {\n          field = errors[i].field;\n          fields[field] = fields[field] || [];\n          fields[field].push(errors[i]);\n        }\n      }\n      callback(errors, fields);\n    }\n\n    if (options.messages) {\n      var messages = this.messages();\n      if (messages === _messages__WEBPACK_IMPORTED_MODULE_4__[\"messages\"]) {\n        messages = Object(_messages__WEBPACK_IMPORTED_MODULE_4__[\"newMessages\"])();\n      }\n      Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"deepMerge\"])(messages, options.messages);\n      options.messages = messages;\n    } else {\n      options.messages = this.messages();\n    }\n    var arr = void 0;\n    var value = void 0;\n    var series = {};\n    var keys = options.keys || Object.keys(this.rules);\n    keys.forEach(function (z) {\n      arr = _this.rules[z];\n      value = source[z];\n      arr.forEach(function (r) {\n        var rule = r;\n        if (typeof rule.transform === 'function') {\n          if (source === source_) {\n            source = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, source);\n          }\n          value = source[z] = rule.transform(value);\n        }\n        if (typeof rule === 'function') {\n          rule = {\n            validator: rule\n          };\n        } else {\n          rule = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, rule);\n        }\n        rule.validator = _this.getValidationMethod(rule);\n        rule.field = z;\n        rule.fullField = rule.fullField || z;\n        rule.type = _this.getType(rule);\n        if (!rule.validator) {\n          return;\n        }\n        series[z] = series[z] || [];\n        series[z].push({\n          rule: rule,\n          value: value,\n          source: source,\n          field: z\n        });\n      });\n    });\n    var errorFields = {};\n    Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"asyncMap\"])(series, options, function (data, doIt) {\n      var rule = data.rule;\n      var deep = (rule.type === 'object' || rule.type === 'array') && (babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default()(rule.fields) === 'object' || babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default()(rule.defaultField) === 'object');\n      deep = deep && (rule.required || !rule.required && data.value);\n      rule.field = data.field;\n      function addFullfield(key, schema) {\n        return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, schema, {\n          fullField: rule.fullField + '.' + key\n        });\n      }\n\n      function cb() {\n        var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n        var errors = e;\n        if (!Array.isArray(errors)) {\n          errors = [errors];\n        }\n        if (errors.length) {\n          Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"warning\"])('async-validator:', errors);\n        }\n        if (errors.length && rule.message) {\n          errors = [].concat(rule.message);\n        }\n\n        errors = errors.map(Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"complementError\"])(rule));\n\n        if (options.first && errors.length) {\n          errorFields[rule.field] = 1;\n          return doIt(errors);\n        }\n        if (!deep) {\n          doIt(errors);\n        } else {\n          // if rule is required but the target object\n          // does not exist fail at the rule level and don't\n          // go deeper\n          if (rule.required && !data.value) {\n            if (rule.message) {\n              errors = [].concat(rule.message).map(Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"complementError\"])(rule));\n            } else if (options.error) {\n              errors = [options.error(rule, Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"format\"])(options.messages.required, rule.field))];\n            } else {\n              errors = [];\n            }\n            return doIt(errors);\n          }\n\n          var fieldsSchema = {};\n          if (rule.defaultField) {\n            for (var k in data.value) {\n              if (data.value.hasOwnProperty(k)) {\n                fieldsSchema[k] = rule.defaultField;\n              }\n            }\n          }\n          fieldsSchema = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, fieldsSchema, data.rule.fields);\n          for (var f in fieldsSchema) {\n            if (fieldsSchema.hasOwnProperty(f)) {\n              var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n              fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n            }\n          }\n          var schema = new Schema(fieldsSchema);\n          schema.messages(options.messages);\n          if (data.rule.options) {\n            data.rule.options.messages = options.messages;\n            data.rule.options.error = options.error;\n          }\n          schema.validate(data.value, data.rule.options || options, function (errs) {\n            doIt(errs && errs.length ? errors.concat(errs) : errs);\n          });\n        }\n      }\n\n      var res = rule.validator(rule, data.value, cb, data.source, options);\n      if (res && res.then) {\n        res.then(function () {\n          return cb();\n        }, function (e) {\n          return cb(e);\n        });\n      }\n    }, function (results) {\n      complete(results);\n    });\n  },\n  getType: function getType(rule) {\n    if (rule.type === undefined && rule.pattern instanceof RegExp) {\n      rule.type = 'pattern';\n    }\n    if (typeof rule.validator !== 'function' && rule.type && !_validator___WEBPACK_IMPORTED_MODULE_3__[\"default\"].hasOwnProperty(rule.type)) {\n      throw new Error(Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"format\"])('Unknown rule type %s', rule.type));\n    }\n    return rule.type || 'string';\n  },\n  getValidationMethod: function getValidationMethod(rule) {\n    if (typeof rule.validator === 'function') {\n      return rule.validator;\n    }\n    var keys = Object.keys(rule);\n    var messageIndex = keys.indexOf('message');\n    if (messageIndex !== -1) {\n      keys.splice(messageIndex, 1);\n    }\n    if (keys.length === 1 && keys[0] === 'required') {\n      return _validator___WEBPACK_IMPORTED_MODULE_3__[\"default\"].required;\n    }\n    return _validator___WEBPACK_IMPORTED_MODULE_3__[\"default\"][this.getType(rule)] || false;\n  }\n};\n\nSchema.register = function register(type, validator) {\n  if (typeof validator !== 'function') {\n    throw new Error('Cannot register a validator by type, validator is not a function');\n  }\n  _validator___WEBPACK_IMPORTED_MODULE_3__[\"default\"][type] = validator;\n};\n\nSchema.messages = _messages__WEBPACK_IMPORTED_MODULE_4__[\"messages\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Schema);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/index.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/messages.js":
/*!*****************************************************!*\
  !*** ./node_modules/async-validator/es/messages.js ***!
  \*****************************************************/
/*! exports provided: newMessages, messages */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"newMessages\", function() { return newMessages; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"messages\", function() { return messages; });\nfunction newMessages() {\n  return {\n    'default': 'Validation error on field %s',\n    required: '%s is required',\n    'enum': '%s must be one of %s',\n    whitespace: '%s cannot be empty',\n    date: {\n      format: '%s date %s is invalid for format %s',\n      parse: '%s date could not be parsed, %s is invalid ',\n      invalid: '%s date %s is invalid'\n    },\n    types: {\n      string: '%s is not a %s',\n      method: '%s is not a %s (function)',\n      array: '%s is not an %s',\n      object: '%s is not an %s',\n      number: '%s is not a %s',\n      date: '%s is not a %s',\n      boolean: '%s is not a %s',\n      integer: '%s is not an %s',\n      float: '%s is not a %s',\n      regexp: '%s is not a valid %s',\n      email: '%s is not a valid %s',\n      url: '%s is not a valid %s',\n      hex: '%s is not a valid %s'\n    },\n    string: {\n      len: '%s must be exactly %s characters',\n      min: '%s must be at least %s characters',\n      max: '%s cannot be longer than %s characters',\n      range: '%s must be between %s and %s characters'\n    },\n    number: {\n      len: '%s must equal %s',\n      min: '%s cannot be less than %s',\n      max: '%s cannot be greater than %s',\n      range: '%s must be between %s and %s'\n    },\n    array: {\n      len: '%s must be exactly %s in length',\n      min: '%s cannot be less than %s in length',\n      max: '%s cannot be greater than %s in length',\n      range: '%s must be between %s and %s in length'\n    },\n    pattern: {\n      mismatch: '%s value %s does not match pattern %s'\n    },\n    clone: function clone() {\n      var cloned = JSON.parse(JSON.stringify(this));\n      cloned.clone = this.clone;\n      return cloned;\n    }\n  };\n}\n\nvar messages = newMessages();\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/messages.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/enum.js":
/*!******************************************************!*\
  !*** ./node_modules/async-validator/es/rule/enum.js ***!
  \******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\nvar ENUM = 'enum';\n\n/**\n *  Rule for validating a value exists in an enumerable list.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param source The source object being validated.\n *  @param errors An array of errors that this rule may add\n *  validation errors to.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n  rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n  if (rule[ENUM].indexOf(value) === -1) {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (enumerable);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/enum.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/index.js":
/*!*******************************************************!*\
  !*** ./node_modules/async-validator/es/rule/index.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _required__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./required */ \"./node_modules/async-validator/es/rule/required.js\");\n/* harmony import */ var _whitespace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./whitespace */ \"./node_modules/async-validator/es/rule/whitespace.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./type */ \"./node_modules/async-validator/es/rule/type.js\");\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./range */ \"./node_modules/async-validator/es/rule/range.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./enum */ \"./node_modules/async-validator/es/rule/enum.js\");\n/* harmony import */ var _pattern__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pattern */ \"./node_modules/async-validator/es/rule/pattern.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  required: _required__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  whitespace: _whitespace__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  type: _type__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  range: _range__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  'enum': _enum__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n  pattern: _pattern__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/index.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/pattern.js":
/*!*********************************************************!*\
  !*** ./node_modules/async-validator/es/rule/pattern.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n/**\n *  Rule for validating a regular expression pattern.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param source The source object being validated.\n *  @param errors An array of errors that this rule may add\n *  validation errors to.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n  if (rule.pattern) {\n    if (rule.pattern instanceof RegExp) {\n      // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n      // flag is accidentally set to `true`, which in a validation scenario\n      // is not necessary and the result might be misleading\n      rule.pattern.lastIndex = 0;\n      if (!rule.pattern.test(value)) {\n        errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n      }\n    } else if (typeof rule.pattern === 'string') {\n      var _pattern = new RegExp(rule.pattern);\n      if (!_pattern.test(value)) {\n        errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n      }\n    }\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pattern);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/pattern.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/range.js":
/*!*******************************************************!*\
  !*** ./node_modules/async-validator/es/rule/range.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n/**\n *  Rule for validating minimum and maximum allowed values.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param source The source object being validated.\n *  @param errors An array of errors that this rule may add\n *  validation errors to.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n  var len = typeof rule.len === 'number';\n  var min = typeof rule.min === 'number';\n  var max = typeof rule.max === 'number';\n  // 正则匹配码点范围从U+010000一直到U+10FFFF的文字（补充平面Supplementary Plane）\n  var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n  var val = value;\n  var key = null;\n  var num = typeof value === 'number';\n  var str = typeof value === 'string';\n  var arr = Array.isArray(value);\n  if (num) {\n    key = 'number';\n  } else if (str) {\n    key = 'string';\n  } else if (arr) {\n    key = 'array';\n  }\n  // if the value is not of a supported type for range validation\n  // the validation rule rule should use the\n  // type property to also test for a particular type\n  if (!key) {\n    return false;\n  }\n  if (arr) {\n    val = value.length;\n  }\n  if (str) {\n    // 处理码点大于U+010000的文字length属性不准确的bug，如\"𠮷𠮷𠮷\".lenght !== 3\n    val = value.replace(spRegexp, '_').length;\n  }\n  if (len) {\n    if (val !== rule.len) {\n      errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages[key].len, rule.fullField, rule.len));\n    }\n  } else if (min && !max && val < rule.min) {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages[key].min, rule.fullField, rule.min));\n  } else if (max && !min && val > rule.max) {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages[key].max, rule.fullField, rule.max));\n  } else if (min && max && (val < rule.min || val > rule.max)) {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages[key].range, rule.fullField, rule.min, rule.max));\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (range);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/range.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/required.js":
/*!**********************************************************!*\
  !*** ./node_modules/async-validator/es/rule/required.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n/**\n *  Rule for validating required fields.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param source The source object being validated.\n *  @param errors An array of errors that this rule may add\n *  validation errors to.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n  if (rule.required && (!source.hasOwnProperty(rule.field) || _util__WEBPACK_IMPORTED_MODULE_0__[\"isEmptyValue\"](value, type || rule.type))) {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages.required, rule.fullField));\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (required);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/required.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/type.js":
/*!******************************************************!*\
  !*** ./node_modules/async-validator/es/rule/type.js ***!
  \******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n/* harmony import */ var _required__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./required */ \"./node_modules/async-validator/es/rule/required.js\");\n\n\n\n\n/* eslint max-len:0 */\n\nvar pattern = {\n  // http://emailregex.com/\n  email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n  url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$', 'i'),\n  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\n\nvar types = {\n  integer: function integer(value) {\n    return types.number(value) && parseInt(value, 10) === value;\n  },\n  float: function float(value) {\n    return types.number(value) && !types.integer(value);\n  },\n  array: function array(value) {\n    return Array.isArray(value);\n  },\n  regexp: function regexp(value) {\n    if (value instanceof RegExp) {\n      return true;\n    }\n    try {\n      return !!new RegExp(value);\n    } catch (e) {\n      return false;\n    }\n  },\n  date: function date(value) {\n    return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n  },\n  number: function number(value) {\n    if (isNaN(value)) {\n      return false;\n    }\n    return typeof value === 'number';\n  },\n  object: function object(value) {\n    return (typeof value === 'undefined' ? 'undefined' : babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(value)) === 'object' && !types.array(value);\n  },\n  method: function method(value) {\n    return typeof value === 'function';\n  },\n  email: function email(value) {\n    return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n  },\n  url: function url(value) {\n    return typeof value === 'string' && !!value.match(pattern.url);\n  },\n  hex: function hex(value) {\n    return typeof value === 'string' && !!value.match(pattern.hex);\n  }\n};\n\n/**\n *  Rule for validating the type of a value.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param source The source object being validated.\n *  @param errors An array of errors that this rule may add\n *  validation errors to.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n  if (rule.required && value === undefined) {\n    Object(_required__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(rule, value, source, errors, options);\n    return;\n  }\n  var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n  var ruleType = rule.type;\n  if (custom.indexOf(ruleType) > -1) {\n    if (!types[ruleType](value)) {\n      errors.push(_util__WEBPACK_IMPORTED_MODULE_1__[\"format\"](options.messages.types[ruleType], rule.fullField, rule.type));\n    }\n    // straight typeof check\n  } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(value)) !== rule.type) {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_1__[\"format\"](options.messages.types[ruleType], rule.fullField, rule.type));\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (type);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/type.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/rule/whitespace.js":
/*!************************************************************!*\
  !*** ./node_modules/async-validator/es/rule/whitespace.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n/**\n *  Rule for validating whitespace.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param source The source object being validated.\n *  @param errors An array of errors that this rule may add\n *  validation errors to.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n  if (/^\\s+$/.test(value) || value === '') {\n    errors.push(_util__WEBPACK_IMPORTED_MODULE_0__[\"format\"](options.messages.whitespace, rule.fullField));\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (whitespace);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/rule/whitespace.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/util.js":
/*!*************************************************!*\
  !*** ./node_modules/async-validator/es/util.js ***!
  \*************************************************/
/*! exports provided: warning, format, isEmptyValue, isEmptyObject, asyncMap, complementError, deepMerge */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"warning\", function() { return warning; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return format; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmptyValue\", function() { return isEmptyValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmptyObject\", function() { return isEmptyObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asyncMap\", function() { return asyncMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"complementError\", function() { return complementError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deepMerge\", function() { return deepMerge; });\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar formatRegExp = /%[sdj%]/g;\n\nvar warning = function warning() {};\n\n// don't print warning message when in production env or node runtime\nif ( true && typeof window !== 'undefined' && typeof document !== 'undefined') {\n  warning = function warning(type, errors) {\n    if (typeof console !== 'undefined' && console.warn) {\n      if (errors.every(function (e) {\n        return typeof e === 'string';\n      })) {\n        console.warn(type, errors);\n      }\n    }\n  };\n}\n\nfunction format() {\n  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  var i = 1;\n  var f = args[0];\n  var len = args.length;\n  if (typeof f === 'function') {\n    return f.apply(null, args.slice(1));\n  }\n  if (typeof f === 'string') {\n    var str = String(f).replace(formatRegExp, function (x) {\n      if (x === '%%') {\n        return '%';\n      }\n      if (i >= len) {\n        return x;\n      }\n      switch (x) {\n        case '%s':\n          return String(args[i++]);\n        case '%d':\n          return Number(args[i++]);\n        case '%j':\n          try {\n            return JSON.stringify(args[i++]);\n          } catch (_) {\n            return '[Circular]';\n          }\n          break;\n        default:\n          return x;\n      }\n    });\n    for (var arg = args[i]; i < len; arg = args[++i]) {\n      str += ' ' + arg;\n    }\n    return str;\n  }\n  return f;\n}\n\nfunction isNativeStringType(type) {\n  return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n  if (value === undefined || value === null) {\n    return true;\n  }\n  if (type === 'array' && Array.isArray(value) && !value.length) {\n    return true;\n  }\n  if (isNativeStringType(type) && typeof value === 'string' && !value) {\n    return true;\n  }\n  return false;\n}\n\nfunction isEmptyObject(obj) {\n  return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n  var results = [];\n  var total = 0;\n  var arrLength = arr.length;\n\n  function count(errors) {\n    results.push.apply(results, errors);\n    total++;\n    if (total === arrLength) {\n      callback(results);\n    }\n  }\n\n  arr.forEach(function (a) {\n    func(a, count);\n  });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n  var index = 0;\n  var arrLength = arr.length;\n\n  function next(errors) {\n    if (errors && errors.length) {\n      callback(errors);\n      return;\n    }\n    var original = index;\n    index = index + 1;\n    if (original < arrLength) {\n      func(arr[original], next);\n    } else {\n      callback([]);\n    }\n  }\n\n  next([]);\n}\n\nfunction flattenObjArr(objArr) {\n  var ret = [];\n  Object.keys(objArr).forEach(function (k) {\n    ret.push.apply(ret, objArr[k]);\n  });\n  return ret;\n}\n\nfunction asyncMap(objArr, option, func, callback) {\n  if (option.first) {\n    var flattenArr = flattenObjArr(objArr);\n    return asyncSerialArray(flattenArr, func, callback);\n  }\n  var firstFields = option.firstFields || [];\n  if (firstFields === true) {\n    firstFields = Object.keys(objArr);\n  }\n  var objArrKeys = Object.keys(objArr);\n  var objArrLength = objArrKeys.length;\n  var total = 0;\n  var results = [];\n  var next = function next(errors) {\n    results.push.apply(results, errors);\n    total++;\n    if (total === objArrLength) {\n      callback(results);\n    }\n  };\n  objArrKeys.forEach(function (key) {\n    var arr = objArr[key];\n    if (firstFields.indexOf(key) !== -1) {\n      asyncSerialArray(arr, func, next);\n    } else {\n      asyncParallelArray(arr, func, next);\n    }\n  });\n}\n\nfunction complementError(rule) {\n  return function (oe) {\n    if (oe && oe.message) {\n      oe.field = oe.field || rule.fullField;\n      return oe;\n    }\n    return {\n      message: oe,\n      field: oe.field || rule.fullField\n    };\n  };\n}\n\nfunction deepMerge(target, source) {\n  if (source) {\n    for (var s in source) {\n      if (source.hasOwnProperty(s)) {\n        var value = source[s];\n        if ((typeof value === 'undefined' ? 'undefined' : babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default()(value)) === 'object' && babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default()(target[s]) === 'object') {\n          target[s] = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, target[s], value);\n        } else {\n          target[s] = value;\n        }\n      }\n    }\n  }\n  return target;\n}\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/util.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/array.js":
/*!************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/array.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n/**\n *  Validates an array.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, 'array') && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options, 'array');\n    if (!Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, 'array')) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (array);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/array.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/boolean.js":
/*!**************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/boolean.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n\n\n\n/**\n *  Validates a boolean.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_1__[\"default\"].required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      _rule___WEBPACK_IMPORTED_MODULE_1__[\"default\"].type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (boolean);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/boolean.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/date.js":
/*!***********************************************************!*\
  !*** ./node_modules/async-validator/es/validator/date.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\nfunction date(rule, value, callback, source, options) {\n  // console.log('integer rule called %j', rule);\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  // console.log('validate on %s value', value);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (!Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value)) {\n      var dateObject = void 0;\n\n      if (typeof value === 'number') {\n        dateObject = new Date(value);\n      } else {\n        dateObject = value;\n      }\n\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, dateObject, source, errors, options);\n      if (dateObject) {\n        _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].range(rule, dateObject.getTime(), source, errors, options);\n      }\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (date);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/date.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/enum.js":
/*!***********************************************************!*\
  !*** ./node_modules/async-validator/es/validator/enum.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\nvar ENUM = 'enum';\n\n/**\n *  Validates an enumerable list.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (value) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"][ENUM](rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (enumerable);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/enum.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/float.js":
/*!************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/float.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates a number is a floating point number.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (floatFn);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/float.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/index.js":
/*!************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/index.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./string */ \"./node_modules/async-validator/es/validator/string.js\");\n/* harmony import */ var _method__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./method */ \"./node_modules/async-validator/es/validator/method.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number */ \"./node_modules/async-validator/es/validator/number.js\");\n/* harmony import */ var _boolean__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./boolean */ \"./node_modules/async-validator/es/validator/boolean.js\");\n/* harmony import */ var _regexp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./regexp */ \"./node_modules/async-validator/es/validator/regexp.js\");\n/* harmony import */ var _integer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./integer */ \"./node_modules/async-validator/es/validator/integer.js\");\n/* harmony import */ var _float__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./float */ \"./node_modules/async-validator/es/validator/float.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./array */ \"./node_modules/async-validator/es/validator/array.js\");\n/* harmony import */ var _object__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./object */ \"./node_modules/async-validator/es/validator/object.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./enum */ \"./node_modules/async-validator/es/validator/enum.js\");\n/* harmony import */ var _pattern__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./pattern */ \"./node_modules/async-validator/es/validator/pattern.js\");\n/* harmony import */ var _date__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./date */ \"./node_modules/async-validator/es/validator/date.js\");\n/* harmony import */ var _required__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./required */ \"./node_modules/async-validator/es/validator/required.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./type */ \"./node_modules/async-validator/es/validator/type.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  string: _string__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  method: _method__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  number: _number__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  boolean: _boolean__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  regexp: _regexp__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n  integer: _integer__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n  float: _float__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n  array: _array__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n  object: _object__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n  'enum': _enum__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n  pattern: _pattern__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n  date: _date__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n  url: _type__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n  hex: _type__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n  email: _type__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n  required: _required__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/index.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/integer.js":
/*!**************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/integer.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates a number is an integer.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (integer);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/integer.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/method.js":
/*!*************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/method.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates a function.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (method);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/method.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/number.js":
/*!*************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/number.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates a number.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (number);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/number.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/object.js":
/*!*************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/object.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates an object.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (object);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/object.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/pattern.js":
/*!**************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/pattern.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates a regular expression pattern.\n *\n *  Performs validation when a rule only contains\n *  a pattern property but is not declared as a string type.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, 'string') && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (!Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, 'string')) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].pattern(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pattern);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/pattern.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/regexp.js":
/*!*************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/regexp.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Validates the regular expression type.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options);\n    if (!Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value)) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (regexp);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/regexp.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/required.js":
/*!***************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/required.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n/* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n\n\n\nfunction required(rule, value, callback, source, options) {\n  var errors = [];\n  var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(value);\n  _rule___WEBPACK_IMPORTED_MODULE_1__[\"default\"].required(rule, value, source, errors, options, type);\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (required);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/required.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/string.js":
/*!*************************************************************!*\
  !*** ./node_modules/async-validator/es/validator/string.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\n/**\n *  Performs validation for string types.\n *\n *  @param rule The validation rule.\n *  @param value The value of the field on the source object.\n *  @param callback The callback function.\n *  @param source The source object being validated.\n *  @param options The validation options.\n *  @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, 'string') && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options, 'string');\n    if (!Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, 'string')) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].range(rule, value, source, errors, options);\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].pattern(rule, value, source, errors, options);\n      if (rule.whitespace === true) {\n        _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].whitespace(rule, value, source, errors, options);\n      }\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (string);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/string.js?");

/***/ }),

/***/ "./node_modules/async-validator/es/validator/type.js":
/*!***********************************************************!*\
  !*** ./node_modules/async-validator/es/validator/type.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rule___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rule/ */ \"./node_modules/async-validator/es/rule/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ \"./node_modules/async-validator/es/util.js\");\n\n\n\nfunction type(rule, value, callback, source, options) {\n  var ruleType = rule.type;\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, ruleType) && !rule.required) {\n      return callback();\n    }\n    _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].required(rule, value, source, errors, options, ruleType);\n    if (!Object(_util__WEBPACK_IMPORTED_MODULE_1__[\"isEmptyValue\"])(value, ruleType)) {\n      _rule___WEBPACK_IMPORTED_MODULE_0__[\"default\"].type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (type);\n\n//# sourceURL=webpack:///./node_modules/async-validator/es/validator/type.js?");

/***/ }),

/***/ "./node_modules/axios/index.js":
/*!*************************************!*\
  !*** ./node_modules/axios/index.js ***!
  \*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"./node_modules/axios/lib/axios.js\");\n\n//# sourceURL=webpack:///./node_modules/axios/index.js?");

/***/ }),

/***/ "./node_modules/axios/lib/adapters/xhr.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/adapters/xhr.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"./node_modules/axios/lib/core/settle.js\");\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"./node_modules/axios/lib/helpers/cookies.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"./node_modules/axios/lib/core/buildFullPath.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"./node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"./node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar createError = __webpack_require__(/*! ../core/createError */ \"./node_modules/axios/lib/core/createError.js\");\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n    var responseType = config.responseType;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !responseType || responseType === 'text' ||  responseType === 'json' ?\n        request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    }\n\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(\n        timeoutErrorMessage,\n        config,\n        config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = config.responseType;\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (!requestData) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/adapters/xhr.js?");

/***/ }),

/***/ "./node_modules/axios/lib/axios.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/axios.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"./node_modules/axios/lib/core/Axios.js\");\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\nvar defaults = __webpack_require__(/*! ./defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"./node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"./node_modules/axios/lib/helpers/spread.js\");\n\n// Expose isAxiosError\naxios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ \"./node_modules/axios/lib/helpers/isAxiosError.js\");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/axios.js?");

/***/ }),

/***/ "./node_modules/axios/lib/cancel/Cancel.js":
/*!*************************************************!*\
  !*** ./node_modules/axios/lib/cancel/Cancel.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/cancel/Cancel.js?");

/***/ }),

/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar Cancel = __webpack_require__(/*! ./Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/cancel/CancelToken.js?");

/***/ }),

/***/ "./node_modules/axios/lib/cancel/isCancel.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/cancel/isCancel.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/cancel/isCancel.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/Axios.js":
/*!**********************************************!*\
  !*** ./node_modules/axios/lib/core/Axios.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"./node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"./node_modules/axios/lib/core/dispatchRequest.js\");\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\nvar validator = __webpack_require__(/*! ../helpers/validator */ \"./node_modules/axios/lib/helpers/validator.js\");\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = arguments[1] || {};\n    config.url = arguments[0];\n  } else {\n    config = config || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  var transitional = config.transitional;\n\n  if (transitional !== undefined) {\n    validator.assertOptions(transitional, {\n      silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n      forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n      clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n    }, false);\n  }\n\n  // filter out skipped interceptors\n  var requestInterceptorChain = [];\n  var synchronousRequestInterceptors = true;\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n      return;\n    }\n\n    synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n    requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  var responseInterceptorChain = [];\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  var promise;\n\n  if (!synchronousRequestInterceptors) {\n    var chain = [dispatchRequest, undefined];\n\n    Array.prototype.unshift.apply(chain, requestInterceptorChain);\n    chain = chain.concat(responseInterceptorChain);\n\n    promise = Promise.resolve(config);\n    while (chain.length) {\n      promise = promise.then(chain.shift(), chain.shift());\n    }\n\n    return promise;\n  }\n\n\n  var newConfig = config;\n  while (requestInterceptorChain.length) {\n    var onFulfilled = requestInterceptorChain.shift();\n    var onRejected = requestInterceptorChain.shift();\n    try {\n      newConfig = onFulfilled(newConfig);\n    } catch (error) {\n      onRejected(error);\n      break;\n    }\n  }\n\n  try {\n    promise = dispatchRequest(newConfig);\n  } catch (error) {\n    return Promise.reject(error);\n  }\n\n  while (responseInterceptorChain.length) {\n    promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(mergeConfig(config || {}, {\n      method: method,\n      url: url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(mergeConfig(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/Axios.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected,\n    synchronous: options ? options.synchronous : false,\n    runWhen: options ? options.runWhen : null\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/InterceptorManager.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/buildFullPath.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/core/buildFullPath.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"./node_modules/axios/lib/helpers/combineURLs.js\");\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/buildFullPath.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/createError.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/core/createError.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/createError.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"./node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData.call(\n    config,\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData.call(\n      config,\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData.call(\n          config,\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/dispatchRequest.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/enhanceError.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/core/enhanceError.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.toJSON = function toJSON() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code\n    };\n  };\n  return error;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/enhanceError.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/mergeConfig.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/core/mergeConfig.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  var valueFromConfig2Keys = ['url', 'method', 'data'];\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n  var defaultToConfig2Keys = [\n    'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n    'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n    'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n    'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n  ];\n  var directMergeKeys = ['validateStatus'];\n\n  function getMergedValue(target, source) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge(target, source);\n    } else if (utils.isPlainObject(source)) {\n      return utils.merge({}, source);\n    } else if (utils.isArray(source)) {\n      return source.slice();\n    }\n    return source;\n  }\n\n  function mergeDeepProperties(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      config[prop] = getMergedValue(config1[prop], config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      config[prop] = getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      config[prop] = getMergedValue(undefined, config2[prop]);\n    }\n  });\n\n  utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      config[prop] = getMergedValue(undefined, config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      config[prop] = getMergedValue(undefined, config1[prop]);\n    }\n  });\n\n  utils.forEach(directMergeKeys, function merge(prop) {\n    if (prop in config2) {\n      config[prop] = getMergedValue(config1[prop], config2[prop]);\n    } else if (prop in config1) {\n      config[prop] = getMergedValue(undefined, config1[prop]);\n    }\n  });\n\n  var axiosKeys = valueFromConfig2Keys\n    .concat(mergeDeepPropertiesKeys)\n    .concat(defaultToConfig2Keys)\n    .concat(directMergeKeys);\n\n  var otherKeys = Object\n    .keys(config1)\n    .concat(Object.keys(config2))\n    .filter(function filterAxiosKeys(key) {\n      return axiosKeys.indexOf(key) === -1;\n    });\n\n  utils.forEach(otherKeys, mergeDeepProperties);\n\n  return config;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/mergeConfig.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/settle.js":
/*!***********************************************!*\
  !*** ./node_modules/axios/lib/core/settle.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./node_modules/axios/lib/core/createError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/settle.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/transformData.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/core/transformData.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar defaults = __webpack_require__(/*! ./../defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  var context = this || defaults;\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn.call(context, data, headers);\n  });\n\n  return data;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/core/transformData.js?");

/***/ }),

/***/ "./node_modules/axios/lib/defaults.js":
/*!********************************************!*\
  !*** ./node_modules/axios/lib/defaults.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \"./node_modules/axios/lib/helpers/normalizeHeaderName.js\");\nvar enhanceError = __webpack_require__(/*! ./core/enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = __webpack_require__(/*! ./adapters/xhr */ \"./node_modules/axios/lib/adapters/xhr.js\");\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = __webpack_require__(/*! ./adapters/http */ \"./node_modules/axios/lib/adapters/xhr.js\");\n  }\n  return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n  if (utils.isString(rawValue)) {\n    try {\n      (parser || JSON.parse)(rawValue);\n      return utils.trim(rawValue);\n    } catch (e) {\n      if (e.name !== 'SyntaxError') {\n        throw e;\n      }\n    }\n  }\n\n  return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n  transitional: {\n    silentJSONParsing: true,\n    forcedJSONParsing: true,\n    clarifyTimeoutError: false\n  },\n\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n      setContentTypeIfUnset(headers, 'application/json');\n      return stringifySafely(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    var transitional = this.transitional;\n    var silentJSONParsing = transitional && transitional.silentJSONParsing;\n    var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n    var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n    if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n      try {\n        return JSON.parse(data);\n      } catch (e) {\n        if (strictJSONParsing) {\n          if (e.name === 'SyntaxError') {\n            throw enhanceError(e, this, 'E_JSON_PARSE');\n          }\n          throw e;\n        }\n      }\n    }\n\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n  maxBodyLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node-libs-browser/mock/process.js */ \"./node_modules/node-libs-browser/mock/process.js\")))\n\n//# sourceURL=webpack:///./node_modules/axios/lib/defaults.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/bind.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/helpers/bind.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/bind.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/buildURL.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/buildURL.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/buildURL.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
/*!*******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/combineURLs.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/cookies.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/helpers/cookies.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/cookies.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n  return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/isAxiosError.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
/*!***************************************************************!*\
  !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/parseHeaders.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/spread.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/helpers/spread.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/spread.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/validator.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/validator.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar pkg = __webpack_require__(/*! ./../../package.json */ \"./node_modules/axios/package.json\");\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n  validators[type] = function validator(thing) {\n    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n  };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n  var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n  var destVer = version.split('.');\n  for (var i = 0; i < 3; i++) {\n    if (pkgVersionArr[i] > destVer[i]) {\n      return true;\n    } else if (pkgVersionArr[i] < destVer[i]) {\n      return false;\n    }\n  }\n  return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n  var isDeprecated = version && isOlderVersion(version);\n\n  function formatMessage(opt, desc) {\n    return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n  }\n\n  // eslint-disable-next-line func-names\n  return function(value, opt, opts) {\n    if (validator === false) {\n      throw new Error(formatMessage(opt, ' has been removed in ' + version));\n    }\n\n    if (isDeprecated && !deprecatedWarnings[opt]) {\n      deprecatedWarnings[opt] = true;\n      // eslint-disable-next-line no-console\n      console.warn(\n        formatMessage(\n          opt,\n          ' has been deprecated since v' + version + ' and will be removed in the near future'\n        )\n      );\n    }\n\n    return validator ? validator(value, opt, opts) : true;\n  };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n  if (typeof options !== 'object') {\n    throw new TypeError('options must be an object');\n  }\n  var keys = Object.keys(options);\n  var i = keys.length;\n  while (i-- > 0) {\n    var opt = keys[i];\n    var validator = schema[opt];\n    if (validator) {\n      var value = options[opt];\n      var result = value === undefined || validator(value, opt, options);\n      if (result !== true) {\n        throw new TypeError('option ' + opt + ' must be ' + result);\n      }\n      continue;\n    }\n    if (allowUnknown !== true) {\n      throw Error('Unknown option ' + opt);\n    }\n  }\n}\n\nmodule.exports = {\n  isOlderVersion: isOlderVersion,\n  assertOptions: assertOptions,\n  validators: validators\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/helpers/validator.js?");

/***/ }),

/***/ "./node_modules/axios/lib/utils.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/utils.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n  if (toString.call(val) !== '[object Object]') {\n    return false;\n  }\n\n  var prototype = Object.getPrototypeOf(val);\n  return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (isPlainObject(result[key]) && isPlainObject(val)) {\n      result[key] = merge(result[key], val);\n    } else if (isPlainObject(val)) {\n      result[key] = merge({}, val);\n    } else if (isArray(val)) {\n      result[key] = val.slice();\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isPlainObject: isPlainObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  extend: extend,\n  trim: trim,\n  stripBOM: stripBOM\n};\n\n\n//# sourceURL=webpack:///./node_modules/axios/lib/utils.js?");

/***/ }),

/***/ "./node_modules/axios/package.json":
/*!*****************************************!*\
  !*** ./node_modules/axios/package.json ***!
  \*****************************************/
/*! exports provided: name, version, description, main, scripts, repository, keywords, author, license, bugs, homepage, devDependencies, browser, jsdelivr, unpkg, typings, dependencies, bundlesize, default */
/***/ (function(module) {

eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"axios\\\",\\\"version\\\":\\\"0.21.4\\\",\\\"description\\\":\\\"Promise based HTTP client for the browser and node.js\\\",\\\"main\\\":\\\"index.js\\\",\\\"scripts\\\":{\\\"test\\\":\\\"grunt test\\\",\\\"start\\\":\\\"node ./sandbox/server.js\\\",\\\"build\\\":\\\"NODE_ENV=production grunt build\\\",\\\"preversion\\\":\\\"npm test\\\",\\\"version\\\":\\\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\\\",\\\"postversion\\\":\\\"git push && git push --tags\\\",\\\"examples\\\":\\\"node ./examples/server.js\\\",\\\"coveralls\\\":\\\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\\\",\\\"fix\\\":\\\"eslint --fix lib/**/*.js\\\"},\\\"repository\\\":{\\\"type\\\":\\\"git\\\",\\\"url\\\":\\\"https://github.com/axios/axios.git\\\"},\\\"keywords\\\":[\\\"xhr\\\",\\\"http\\\",\\\"ajax\\\",\\\"promise\\\",\\\"node\\\"],\\\"author\\\":\\\"Matt Zabriskie\\\",\\\"license\\\":\\\"MIT\\\",\\\"bugs\\\":{\\\"url\\\":\\\"https://github.com/axios/axios/issues\\\"},\\\"homepage\\\":\\\"https://axios-http.com\\\",\\\"devDependencies\\\":{\\\"coveralls\\\":\\\"^3.0.0\\\",\\\"es6-promise\\\":\\\"^4.2.4\\\",\\\"grunt\\\":\\\"^1.3.0\\\",\\\"grunt-banner\\\":\\\"^0.6.0\\\",\\\"grunt-cli\\\":\\\"^1.2.0\\\",\\\"grunt-contrib-clean\\\":\\\"^1.1.0\\\",\\\"grunt-contrib-watch\\\":\\\"^1.0.0\\\",\\\"grunt-eslint\\\":\\\"^23.0.0\\\",\\\"grunt-karma\\\":\\\"^4.0.0\\\",\\\"grunt-mocha-test\\\":\\\"^0.13.3\\\",\\\"grunt-ts\\\":\\\"^6.0.0-beta.19\\\",\\\"grunt-webpack\\\":\\\"^4.0.2\\\",\\\"istanbul-instrumenter-loader\\\":\\\"^1.0.0\\\",\\\"jasmine-core\\\":\\\"^2.4.1\\\",\\\"karma\\\":\\\"^6.3.2\\\",\\\"karma-chrome-launcher\\\":\\\"^3.1.0\\\",\\\"karma-firefox-launcher\\\":\\\"^2.1.0\\\",\\\"karma-jasmine\\\":\\\"^1.1.1\\\",\\\"karma-jasmine-ajax\\\":\\\"^0.1.13\\\",\\\"karma-safari-launcher\\\":\\\"^1.0.0\\\",\\\"karma-sauce-launcher\\\":\\\"^4.3.6\\\",\\\"karma-sinon\\\":\\\"^1.0.5\\\",\\\"karma-sourcemap-loader\\\":\\\"^0.3.8\\\",\\\"karma-webpack\\\":\\\"^4.0.2\\\",\\\"load-grunt-tasks\\\":\\\"^3.5.2\\\",\\\"minimist\\\":\\\"^1.2.0\\\",\\\"mocha\\\":\\\"^8.2.1\\\",\\\"sinon\\\":\\\"^4.5.0\\\",\\\"terser-webpack-plugin\\\":\\\"^4.2.3\\\",\\\"typescript\\\":\\\"^4.0.5\\\",\\\"url-search-params\\\":\\\"^0.10.0\\\",\\\"webpack\\\":\\\"^4.44.2\\\",\\\"webpack-dev-server\\\":\\\"^3.11.0\\\"},\\\"browser\\\":{\\\"./lib/adapters/http.js\\\":\\\"./lib/adapters/xhr.js\\\"},\\\"jsdelivr\\\":\\\"dist/axios.min.js\\\",\\\"unpkg\\\":\\\"dist/axios.min.js\\\",\\\"typings\\\":\\\"./index.d.ts\\\",\\\"dependencies\\\":{\\\"follow-redirects\\\":\\\"^1.14.0\\\"},\\\"bundlesize\\\":[{\\\"path\\\":\\\"./dist/axios.min.js\\\",\\\"threshold\\\":\\\"5kB\\\"}]}\");\n\n//# sourceURL=webpack:///./node_modules/axios/package.json?");

/***/ }),

/***/ "./node_modules/babel-helper-vue-jsx-merge-props/index.js":
/*!****************************************************************!*\
  !*** ./node_modules/babel-helper-vue-jsx-merge-props/index.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n  return objs.reduce(function (a, b) {\n    var aa, bb, key, nestedKey, temp\n    for (key in b) {\n      aa = a[key]\n      bb = b[key]\n      if (aa && nestRE.test(key)) {\n        // normalize class\n        if (key === 'class') {\n          if (typeof aa === 'string') {\n            temp = aa\n            a[key] = aa = {}\n            aa[temp] = true\n          }\n          if (typeof bb === 'string') {\n            temp = bb\n            b[key] = bb = {}\n            bb[temp] = true\n          }\n        }\n        if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n          // merge functions\n          for (nestedKey in bb) {\n            aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n          }\n        } else if (Array.isArray(aa)) {\n          a[key] = aa.concat(bb)\n        } else if (Array.isArray(bb)) {\n          a[key] = [aa].concat(bb)\n        } else {\n          for (nestedKey in bb) {\n            aa[nestedKey] = bb[nestedKey]\n          }\n        }\n      } else {\n        a[key] = b[key]\n      }\n    }\n    return a\n  }, {})\n}\n\nfunction mergeFn (a, b) {\n  return function () {\n    a && a.apply(this, arguments)\n    b && b.apply(this, arguments)\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/babel-helper-vue-jsx-merge-props/index.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/core-js/object/assign.js":
/*!*************************************************************!*\
  !*** ./node_modules/babel-runtime/core-js/object/assign.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js\"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/object/assign.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/core-js/symbol.js":
/*!******************************************************!*\
  !*** ./node_modules/babel-runtime/core-js/symbol.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js\"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/core-js/symbol/iterator.js":
/*!***************************************************************!*\
  !*** ./node_modules/babel-runtime/core-js/symbol/iterator.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol/iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js\"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/helpers/extends.js":
/*!*******************************************************!*\
  !*** ./node_modules/babel-runtime/helpers/extends.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(/*! ../core-js/object/assign */ \"./node_modules/babel-runtime/core-js/object/assign.js\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/helpers/extends.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/helpers/typeof.js":
/*!******************************************************!*\
  !*** ./node_modules/babel-runtime/helpers/typeof.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(/*! ../core-js/symbol/iterator */ \"./node_modules/babel-runtime/core-js/symbol/iterator.js\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(/*! ../core-js/symbol */ \"./node_modules/babel-runtime/core-js/symbol.js\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/helpers/typeof.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! ../../modules/es6.object.assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.assign;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js":
/*!************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! ../../modules/es6.symbol */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js\");\n__webpack_require__(/*! ../../modules/es6.object.to-string */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js\");\n__webpack_require__(/*! ../../modules/es7.symbol.async-iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js\");\n__webpack_require__(/*! ../../modules/es7.symbol.observable */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Symbol;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! ../../modules/es6.string.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\");\n__webpack_require__(/*! ../../modules/web.dom.iterable */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\").f('iterator');\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js":
/*!************************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js ***!
  \************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function () { /* empty */ };\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js":
/*!********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js\");\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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js":
/*!**********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js\");\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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// 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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js":
/*!*******************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js ***!
  \*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js":
/*!************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js ***!
  \***********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js":
/*!************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// 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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js":
/*!**********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js":
/*!**********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var document = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js":
/*!********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js":
/*!**************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js ***!
  \**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar create = __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\");\nvar descriptor = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\")(IteratorPrototype, __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar $iterCreate = __webpack_require__(/*! ./_iter-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = {};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = true;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js":
/*!**********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var META = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\")('meta');\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar setDesc = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js":
/*!*******************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js ***!
  \*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js":
/*!*******************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js ***!
  \*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\")('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(/*! ./_html */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js\").appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? 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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js":
/*!*********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js ***!
  \*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar gOPN = __webpack_require__(/*! ./_object-gopn */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\").f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar hiddenKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\").concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("exports.f = Object.getOwnPropertySymbols;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js":
/*!**************************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js ***!
  \**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("exports.f = {}.propertyIsEnumerable;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js":
/*!*******************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js ***!
  \*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js":
/*!**************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js ***!
  \**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js":
/*!***********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js ***!
  \***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var def = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var shared = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js":
/*!************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\") ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js":
/*!***********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js ***!
  \***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// 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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js":
/*!******************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js ***!
  \******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js":
/*!****************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\");\nvar wksExt = __webpack_require__(/*! ./_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\");\nvar defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("exports.f = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\");\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js ***!
  \*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var store = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\")('wks');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nvar Symbol = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js":
/*!***********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js ***!
  \***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js\");\nvar step = __webpack_require__(/*! ./_iter-step */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\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 = __webpack_require__(/*! ./_iter-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\")(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\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js":
/*!**********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js ***!
  \**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js\") });\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js":
/*!*************************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js ***!
  \*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js":
/*!************************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js ***!
  \************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $at = __webpack_require__(/*! ./_string-at */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(/*! ./_iter-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\")(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js":
/*!***************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\");\nvar META = __webpack_require__(/*! ./_meta */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js\").KEY;\nvar $fails = __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\");\nvar shared = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nvar wks = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\");\nvar wksExt = __webpack_require__(/*! ./_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\");\nvar wksDefine = __webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\");\nvar enumKeys = __webpack_require__(/*! ./_enum-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js\");\nvar isArray = __webpack_require__(/*! ./_is-array */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar _create = __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\");\nvar gOPNExt = __webpack_require__(/*! ./_object-gopn-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js\");\nvar $GOPD = __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\");\nvar $GOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar $DP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar $keys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(/*! ./_object-gopn */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\").f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\").f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\")) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js":
/*!******************************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js ***!
  \******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\")('asyncIterator');\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js":
/*!**************************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js ***!
  \**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\")('observable');\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js?");

/***/ }),

/***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js":
/*!*********************************************************************************************!*\
  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js ***!
  \*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("__webpack_require__(/*! ./es6.array.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar TO_STRING_TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js?");

/***/ }),

/***/ "./node_modules/base64-js/index.js":
/*!*****************************************!*\
  !*** ./node_modules/base64-js/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n\n\n//# sourceURL=webpack:///./node_modules/base64-js/index.js?");

/***/ }),

/***/ "./node_modules/buffer/index.js":
/*!**************************************!*\
  !*** ./node_modules/buffer/index.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n *     incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n  ? global.TYPED_ARRAY_SUPPORT\n  : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n  try {\n    var arr = new Uint8Array(1)\n    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n    return arr.foo() === 42 && // typed array instances can be augmented\n        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n  } catch (e) {\n    return false\n  }\n}\n\nfunction kMaxLength () {\n  return Buffer.TYPED_ARRAY_SUPPORT\n    ? 0x7fffffff\n    : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n  if (kMaxLength() < length) {\n    throw new RangeError('Invalid typed array length')\n  }\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = new Uint8Array(length)\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    if (that === null) {\n      that = new Buffer(length)\n    }\n    that.length = length\n  }\n\n  return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n    return new Buffer(arg, encodingOrOffset, length)\n  }\n\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new Error(\n        'If encoding is specified then the first argument must be a string'\n      )\n    }\n    return allocUnsafe(this, arg)\n  }\n  return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n  arr.__proto__ = Buffer.prototype\n  return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n    return fromArrayBuffer(that, value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(that, value, encodingOrOffset)\n  }\n\n  return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n  Buffer.prototype.__proto__ = Uint8Array.prototype\n  Buffer.__proto__ = Uint8Array\n  if (typeof Symbol !== 'undefined' && Symbol.species &&\n      Buffer[Symbol.species] === Buffer) {\n    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n    Object.defineProperty(Buffer, Symbol.species, {\n      value: null,\n      configurable: true\n    })\n  }\n}\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be a number')\n  } else if (size < 0) {\n    throw new RangeError('\"size\" argument must not be negative')\n  }\n}\n\nfunction alloc (that, size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(that, size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpretted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(that, size).fill(fill, encoding)\n      : createBuffer(that, size).fill(fill)\n  }\n  return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n  assertSize(size)\n  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n    for (var i = 0; i < size; ++i) {\n      that[i] = 0\n    }\n  }\n  return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  var length = byteLength(string, encoding) | 0\n  that = createBuffer(that, length)\n\n  var actual = that.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    that = that.slice(0, actual)\n  }\n\n  return that\n}\n\nfunction fromArrayLike (that, array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  that = createBuffer(that, length)\n  for (var i = 0; i < length; i += 1) {\n    that[i] = array[i] & 255\n  }\n  return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n  array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\\'offset\\' is out of bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\\'length\\' is out of bounds')\n  }\n\n  if (byteOffset === undefined && length === undefined) {\n    array = new Uint8Array(array)\n  } else if (length === undefined) {\n    array = new Uint8Array(array, byteOffset)\n  } else {\n    array = new Uint8Array(array, byteOffset, length)\n  }\n\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = array\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    that = fromArrayLike(that, array)\n  }\n  return that\n}\n\nfunction fromObject (that, obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    that = createBuffer(that, len)\n\n    if (that.length === 0) {\n      return that\n    }\n\n    obj.copy(that, 0, 0, len)\n    return that\n  }\n\n  if (obj) {\n    if ((typeof ArrayBuffer !== 'undefined' &&\n        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n        return createBuffer(that, 0)\n      }\n      return fromArrayLike(that, obj)\n    }\n\n    if (obj.type === 'Buffer' && isArray(obj.data)) {\n      return fromArrayLike(that, obj.data)\n    }\n  }\n\n  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < kMaxLength()` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= kMaxLength()) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + kMaxLength().toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError('Arguments must be Buffers')\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    }\n    buf.copy(buffer, pos)\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    string = '' + string\n  }\n\n  var len = string.length\n  if (len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n      case undefined:\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) return utf8ToBytes(string).length // assume utf8\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length | 0\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  if (this.length > 0) {\n    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n    if (this.length > max) str += ' ... '\n  }\n  return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError('Argument must be a Buffer')\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset  // Coerce to Number.\n  if (isNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (Buffer.TYPED_ARRAY_SUPPORT &&\n        typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  // must be an even number of digits\n  var strLen = string.length\n  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (isNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n  return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset | 0\n    if (isFinite(length)) {\n      length = length | 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  // legacy write(string, encoding, offset, length) - remove in v0.13\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n        return asciiWrite(this, string, offset, length)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Write(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF) ? 4\n      : (firstByte > 0xDF) ? 3\n      : (firstByte > 0xBF) ? 2\n      : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += toHex(buf[i])\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  for (var i = 0; i < bytes.length; i += 2) {\n    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    newBuf = this.subarray(start, end)\n    newBuf.__proto__ = Buffer.prototype\n  } else {\n    var sliceLen = end - start\n    newBuf = new Buffer(sliceLen, undefined)\n    for (var i = 0; i < sliceLen; ++i) {\n      newBuf[i] = this[i + start]\n    }\n  }\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n      (littleEndian ? i : 1 - i) * 8\n  }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffffffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n  }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset + 3] = (value >>> 24)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 1] = (value >>> 8)\n    this[offset] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 3] = (value >>> 24)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n  var i\n\n  if (this === target && start < targetStart && targetStart < end) {\n    // descending copy from end\n    for (i = len - 1; i >= 0; --i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n    // ascending copy from start\n    for (i = 0; i < len; ++i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, start + len),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if (code < 256) {\n        val = code\n      }\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : utf8ToBytes(new Buffer(val, encoding).toString())\n    var len = bytes.length\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction stringtrim (str) {\n  if (str.trim) return str.trim()\n  return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n  if (n < 16) return '0' + n.toString(16)\n  return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\nfunction isnan (val) {\n  return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/buffer/index.js?");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! element-ui/src/utils/dom */ \"./node_modules/element-ui/src/utils/dom.js\");\n/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-ui/src/utils/util */ \"./node_modules/element-ui/src/utils/util.js\");\n/* harmony import */ var element_ui_src_utils_popup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! element-ui/src/utils/popup */ \"./node_modules/element-ui/src/utils/popup/index.js\");\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nvar Mode = {\n  CONTAIN: {\n    name: 'contain',\n    icon: 'el-icon-full-screen'\n  },\n  ORIGINAL: {\n    name: 'original',\n    icon: 'el-icon-c-scale-to-original'\n  }\n};\nvar mousewheelEventName = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_7__[\"isFirefox\"])() ? 'DOMMouseScroll' : 'mousewheel';\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'elImageViewer',\n  props: {\n    urlList: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    },\n    zIndex: {\n      type: Number,\n      default: 2000\n    },\n    onSwitch: {\n      type: Function,\n      default: function _default() {}\n    },\n    onClose: {\n      type: Function,\n      default: function _default() {}\n    },\n    initialIndex: {\n      type: Number,\n      default: 0\n    },\n    appendToBody: {\n      type: Boolean,\n      default: true\n    },\n    maskClosable: {\n      type: Boolean,\n      default: true\n    }\n  },\n  data: function data() {\n    return {\n      index: this.initialIndex,\n      isShow: false,\n      infinite: true,\n      loading: false,\n      mode: Mode.CONTAIN,\n      transform: {\n        scale: 1,\n        deg: 0,\n        offsetX: 0,\n        offsetY: 0,\n        enableTransition: false\n      }\n    };\n  },\n  computed: {\n    isSingle: function isSingle() {\n      return this.urlList.length <= 1;\n    },\n    isFirst: function isFirst() {\n      return this.index === 0;\n    },\n    isLast: function isLast() {\n      return this.index === this.urlList.length - 1;\n    },\n    currentImg: function currentImg() {\n      return this.urlList[this.index];\n    },\n    imgStyle: function imgStyle() {\n      var _this$transform = this.transform,\n          scale = _this$transform.scale,\n          deg = _this$transform.deg,\n          offsetX = _this$transform.offsetX,\n          offsetY = _this$transform.offsetY,\n          enableTransition = _this$transform.enableTransition;\n      var style = {\n        transform: \"scale(\".concat(scale, \") rotate(\").concat(deg, \"deg)\"),\n        transition: enableTransition ? 'transform .3s' : '',\n        'margin-left': \"\".concat(offsetX, \"px\"),\n        'margin-top': \"\".concat(offsetY, \"px\")\n      };\n\n      if (this.mode === Mode.CONTAIN) {\n        style.maxWidth = style.maxHeight = '100%';\n      }\n\n      return style;\n    },\n    viewerZIndex: function viewerZIndex() {\n      var nextZIndex = element_ui_src_utils_popup__WEBPACK_IMPORTED_MODULE_8__[\"PopupManager\"].nextZIndex();\n      return this.zIndex > nextZIndex ? this.zIndex : nextZIndex;\n    }\n  },\n  watch: {\n    index: {\n      handler: function handler(val) {\n        this.reset();\n        this.onSwitch(val);\n      }\n    },\n    currentImg: function currentImg(val) {\n      var _this = this;\n\n      this.$nextTick(function (_) {\n        var $img = _this.$refs.img[0];\n\n        if (!$img.complete) {\n          _this.loading = true;\n        }\n      });\n    }\n  },\n  methods: {\n    hide: function hide() {\n      this.deviceSupportUninstall();\n      this.onClose();\n    },\n    deviceSupportInstall: function deviceSupportInstall() {\n      var _this2 = this;\n\n      this._keyDownHandler = function (e) {\n        e.stopPropagation();\n        var keyCode = e.keyCode;\n\n        switch (keyCode) {\n          // ESC\n          case 27:\n            _this2.hide();\n\n            break;\n          // SPACE\n\n          case 32:\n            _this2.toggleMode();\n\n            break;\n          // LEFT_ARROW\n\n          case 37:\n            _this2.prev();\n\n            break;\n          // UP_ARROW\n\n          case 38:\n            _this2.handleActions('zoomIn');\n\n            break;\n          // RIGHT_ARROW\n\n          case 39:\n            _this2.next();\n\n            break;\n          // DOWN_ARROW\n\n          case 40:\n            _this2.handleActions('zoomOut');\n\n            break;\n        }\n      };\n\n      this._mouseWheelHandler = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_7__[\"rafThrottle\"])(function (e) {\n        var delta = e.wheelDelta ? e.wheelDelta : -e.detail;\n\n        if (delta > 0) {\n          _this2.handleActions('zoomIn', {\n            zoomRate: 0.015,\n            enableTransition: false\n          });\n        } else {\n          _this2.handleActions('zoomOut', {\n            zoomRate: 0.015,\n            enableTransition: false\n          });\n        }\n      });\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"on\"])(document, 'keydown', this._keyDownHandler);\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"on\"])(document, mousewheelEventName, this._mouseWheelHandler);\n    },\n    deviceSupportUninstall: function deviceSupportUninstall() {\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"off\"])(document, 'keydown', this._keyDownHandler);\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"off\"])(document, mousewheelEventName, this._mouseWheelHandler);\n      this._keyDownHandler = null;\n      this._mouseWheelHandler = null;\n    },\n    handleImgLoad: function handleImgLoad(e) {\n      this.loading = false;\n    },\n    handleImgError: function handleImgError(e) {\n      this.loading = false;\n      e.target.alt = '加载失败';\n    },\n    handleMouseDown: function handleMouseDown(e) {\n      var _this3 = this;\n\n      if (this.loading || e.button !== 0) return;\n      var _this$transform2 = this.transform,\n          offsetX = _this$transform2.offsetX,\n          offsetY = _this$transform2.offsetY;\n      var startX = e.pageX;\n      var startY = e.pageY;\n      this._dragHandler = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_7__[\"rafThrottle\"])(function (ev) {\n        _this3.transform.offsetX = offsetX + ev.pageX - startX;\n        _this3.transform.offsetY = offsetY + ev.pageY - startY;\n      });\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"on\"])(document, 'mousemove', this._dragHandler);\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"on\"])(document, 'mouseup', function (ev) {\n        Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_6__[\"off\"])(document, 'mousemove', _this3._dragHandler);\n      });\n      e.preventDefault();\n    },\n    handleMaskClick: function handleMaskClick() {\n      if (this.maskClosable) {\n        this.hide();\n      }\n    },\n    reset: function reset() {\n      this.transform = {\n        scale: 1,\n        deg: 0,\n        offsetX: 0,\n        offsetY: 0,\n        enableTransition: false\n      };\n    },\n    toggleMode: function toggleMode() {\n      if (this.loading) return;\n      var modeNames = Object.keys(Mode);\n      var modeValues = Object.values(Mode);\n      var index = modeValues.indexOf(this.mode);\n      var nextIndex = (index + 1) % modeNames.length;\n      this.mode = Mode[modeNames[nextIndex]];\n      this.reset();\n    },\n    prev: function prev() {\n      if (this.isFirst && !this.infinite) return;\n      var len = this.urlList.length;\n      this.index = (this.index - 1 + len) % len;\n    },\n    next: function next() {\n      if (this.isLast && !this.infinite) return;\n      var len = this.urlList.length;\n      this.index = (this.index + 1) % len;\n    },\n    handleActions: function handleActions(action) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      if (this.loading) return;\n\n      var _zoomRate$rotateDeg$e = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n        zoomRate: 0.2,\n        rotateDeg: 90,\n        enableTransition: true\n      }, options),\n          zoomRate = _zoomRate$rotateDeg$e.zoomRate,\n          rotateDeg = _zoomRate$rotateDeg$e.rotateDeg,\n          enableTransition = _zoomRate$rotateDeg$e.enableTransition;\n\n      var transform = this.transform;\n\n      switch (action) {\n        case 'zoomOut':\n          if (transform.scale > 0.2) {\n            transform.scale = parseFloat((transform.scale - zoomRate).toFixed(3));\n          }\n\n          break;\n\n        case 'zoomIn':\n          transform.scale = parseFloat((transform.scale + zoomRate).toFixed(3));\n          break;\n\n        case 'clocelise':\n          transform.deg += rotateDeg;\n          break;\n\n        case 'anticlocelise':\n          transform.deg -= rotateDeg;\n          break;\n      }\n\n      transform.enableTransition = enableTransition;\n    }\n  },\n  mounted: function mounted() {\n    this.deviceSupportInstall();\n\n    if (this.appendToBody) {\n      document.body.appendChild(this.$el);\n    } // add tabindex then wrapper can be focusable via Javascript\n    // focus wrapper so arrow key can't cause inner scroll behavior underneath\n\n\n    this.$refs['el-image-viewer__wrapper'].focus();\n  },\n  destroyed: function destroyed() {\n    // if appendToBody is true, remove DOM node after destroy\n    if (this.appendToBody && this.$el && this.$el.parentNode) {\n      this.$el.parentNode.removeChild(this.$el);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/packages/image/src/image-viewer.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=script&lang=js& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util */ \"./node_modules/vue-contextmenujs/src/util.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constant */ \"./node_modules/vue-contextmenujs/src/constant.js\");\n\n\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      items: [],\n      position: {\n        x: 0,\n        y: 0\n      },\n      style: {\n        zIndex: 2,\n        minWidth: 150\n      },\n      mainMenuInstance: null,\n      customClass: null,\n      mouseListening: false\n    };\n  },\n  mounted: function mounted() {\n    var SubmenuConstructor = vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"].component(_constant__WEBPACK_IMPORTED_MODULE_4__[\"COMPONENT_NAME\"]);\n    this.mainMenuInstance = new SubmenuConstructor();\n    this.mainMenuInstance.items = this.items;\n    this.mainMenuInstance.commonClass = {\n      menu: this.$style.menu,\n      menuItem: this.$style.menu_item,\n      clickableMenuItem: this.$style.menu_item__clickable,\n      unclickableMenuItem: this.$style.menu_item__unclickable\n    };\n    this.mainMenuInstance.position = {\n      x: this.position.x,\n      y: this.position.y,\n      width: 0,\n      height: 0\n    };\n    this.mainMenuInstance.style.minWidth = this.style.minWidth;\n    this.mainMenuInstance.style.zIndex = this.style.zIndex;\n    this.mainMenuInstance.customClass = this.customClass;\n    this.mainMenuInstance.$mount();\n    document.body.appendChild(this.mainMenuInstance.$el);\n    this.addListener();\n  },\n  destroyed: function destroyed() {\n    this.removeListener();\n\n    if (this.mainMenuInstance) {\n      this.mainMenuInstance.close();\n    }\n  },\n  methods: {\n    mousewheelListener: function mousewheelListener() {\n      this.$destroy();\n    },\n    mouseDownListener: function mouseDownListener(e) {\n      var el = e.target;\n      var menus = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getElementsByClassName\"])(this.$style.menu);\n\n      while (!menus.find(function (m) {\n        return m === el;\n      }) && el.parentElement) {\n        el = el.parentElement;\n      }\n\n      if (!menus.find(function (m) {\n        return m === el;\n      })) {\n        this.$destroy();\n      }\n    },\n    mouseClickListener: function mouseClickListener(e) {\n      var el = e.target;\n      var menus = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getElementsByClassName\"])(this.$style.menu);\n      var menuItems = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getElementsByClassName\"])(this.$style.menu_item);\n      var unclickableMenuItems = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getElementsByClassName\"])(this.$style.menu_item__unclickable);\n\n      while (!menus.find(function (m) {\n        return m === el;\n      }) && !menuItems.find(function (m) {\n        return m === el;\n      }) && el.parentElement) {\n        el = el.parentElement;\n      }\n\n      if (menuItems.find(function (m) {\n        return m === el;\n      })) {\n        if (e.button !== 0 || unclickableMenuItems.find(function (m) {\n          return m === el;\n        })) {\n          return;\n        }\n\n        this.$destroy();\n        return;\n      }\n\n      if (!menus.find(function (m) {\n        return m === el;\n      })) {\n        this.$destroy();\n      }\n    },\n    addListener: function addListener() {\n      if (!this.mouseListening) {\n        document.addEventListener(\"click\", this.mouseClickListener);\n        document.addEventListener(\"mousedown\", this.mouseDownListener);\n        document.addEventListener(\"mousewheel\", this.mousewheelListener);\n        this.mouseListening = true;\n      }\n    },\n    removeListener: function removeListener() {\n      if (this.mouseListening) {\n        document.removeEventListener(\"click\", this.mouseClickListener);\n        document.removeEventListener(\"mousedown\", this.mouseDownListener);\n        document.removeEventListener(\"mousewheel\", this.mousewheelListener);\n        this.mouseListening = false;\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=script&lang=js&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=script&lang=js& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js */ \"./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constant */ \"./node_modules/vue-contextmenujs/src/constant.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: _constant__WEBPACK_IMPORTED_MODULE_2__[\"COMPONENT_NAME\"],\n  data: function data() {\n    return {\n      commonClass: {\n        menu: null,\n        menuItem: null,\n        clickableMenuItem: null,\n        unclickableMenuItem: null\n      },\n      activeSubmenu: {\n        index: null,\n        instance: null\n      },\n      items: [],\n      position: {\n        x: 0,\n        y: 0,\n        width: 0,\n        height: 0\n      },\n      style: {\n        left: 0,\n        top: 0,\n        zIndex: 2,\n        minWidth: 150\n      },\n      customClass: null,\n      visible: false,\n      hasIcon: false,\n      openTrend: _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_OPEN_TREND_RIGHT\"]\n    };\n  },\n  mounted: function mounted() {\n    var _this = this;\n\n    this.visible = true;\n\n    var _iterator = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.items),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var item = _step.value;\n\n        if (item.icon) {\n          this.hasIcon = true;\n          break;\n        }\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n\n    this.$nextTick(function () {\n      var windowWidth = document.documentElement.clientWidth;\n      var windowHeight = document.documentElement.clientHeight;\n      var menu = _this.$refs.menu;\n      var menuWidth = menu.offsetWidth;\n      var menuHeight = menu.offsetHeight;\n      (_this.openTrend === _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_OPEN_TREND_LEFT\"] ? _this.leftOpen : _this.rightOpen)(windowWidth, windowHeight, menuWidth);\n      _this.style.top = _this.position.y;\n\n      if (_this.position.y + menuHeight > windowHeight) {\n        if (_this.position.height === 0) {\n          _this.style.top = _this.position.y - menuHeight;\n        } else {\n          _this.style.top = windowHeight - menuHeight;\n        }\n      }\n    });\n  },\n  methods: {\n    leftOpen: function leftOpen(windowWidth, windowHeight, menuWidth) {\n      this.style.left = this.position.x - menuWidth;\n      this.openTrend = _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_OPEN_TREND_LEFT\"];\n\n      if (this.style.left < 0) {\n        this.openTrend = _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_OPEN_TREND_RIGHT\"];\n\n        if (this.position.width === 0) {\n          this.style.left = 0;\n        } else {\n          this.style.left = this.position.x + this.position.width;\n        }\n      }\n    },\n    rightOpen: function rightOpen(windowWidth, windowHeight, menuWidth) {\n      this.style.left = this.position.x + this.position.width;\n      this.openTrend = _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_OPEN_TREND_RIGHT\"];\n\n      if (this.style.left + menuWidth > windowWidth) {\n        this.openTrend = _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_OPEN_TREND_LEFT\"];\n\n        if (this.position.width === 0) {\n          this.style.left = windowWidth - menuWidth;\n        } else {\n          this.style.left = this.position.x - menuWidth;\n        }\n      }\n    },\n    enterItem: function enterItem(e, item, index) {\n      if (!this.visible) {\n        return;\n      }\n\n      if (this.activeSubmenu.instance) {\n        if (this.activeSubmenu.index === index) {\n          return;\n        } else {\n          this.activeSubmenu.instance.close();\n          this.activeSubmenu.instance = null;\n          this.activeSubmenu.index = null;\n        }\n      }\n\n      if (!item.children) {\n        return;\n      }\n\n      var menuItemClientRect = e.target.getBoundingClientRect();\n      var SubmenuConstructor = vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].component(_constant__WEBPACK_IMPORTED_MODULE_2__[\"COMPONENT_NAME\"]);\n      this.activeSubmenu.index = index;\n      this.activeSubmenu.instance = new SubmenuConstructor();\n      this.activeSubmenu.instance.items = item.children;\n      this.activeSubmenu.instance.openTrend = this.openTrend;\n      this.activeSubmenu.instance.commonClass = this.commonClass;\n      this.activeSubmenu.instance.position = {\n        x: menuItemClientRect.x + _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_X_OFFSET\"],\n        y: menuItemClientRect.y + _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_Y_OFFSET\"],\n        width: menuItemClientRect.width - 2 * _constant__WEBPACK_IMPORTED_MODULE_2__[\"SUBMENU_X_OFFSET\"],\n        height: menuItemClientRect.width\n      };\n      this.activeSubmenu.instance.style.minWidth = typeof item.minWidth === \"number\" ? item.minWidth : this.style.minWidth;\n      this.activeSubmenu.instance.style.zIndex = this.style.zIndex;\n      this.activeSubmenu.instance.customClass = typeof item.customClass === \"string\" ? item.customClass : this.customClass;\n      this.activeSubmenu.instance.$mount();\n      document.body.appendChild(this.activeSubmenu.instance.$el);\n    },\n    itemClick: function itemClick(item) {\n      if (!this.visible) {\n        return;\n      }\n\n      if (item && !item.disabled && !item.hidden && typeof item.onClick === \"function\") {\n        return item.onClick();\n      }\n    },\n    close: function close() {\n      var _this2 = this;\n\n      this.visible = false;\n\n      if (this.activeSubmenu.instance) {\n        this.activeSubmenu.instance.close();\n      }\n\n      this.$nextTick(function () {\n        _this2.$destroy();\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n// import storage from '@/util/storage'\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  provide: function provide() {\n    return {\n      generateI18nTitle: this.generateI18nTitle\n    };\n  },\n  data: function data() {\n    return {};\n  },\n  watch: {\n    $route: {\n      handler: 'routeChange',\n      immediate: true\n    },\n    '$store.state.keepAlive.list': function $storeStateKeepAliveList(val) {\n       true && console.log(\"[ keepAliveList ] \".concat(val));\n    },\n    '$store.state.settings.mode': {\n      handler: function handler() {\n        if (this.$store.state.settings.mode == 'pc') {\n          this.$store.commit('settings/updateThemeSetting', {\n            'sidebarCollapse': this.$store.state.settings.sidebarCollapseLastStatus\n          });\n        } else if (this.$store.state.settings.mode == 'mobile') {\n          this.$store.commit('settings/updateThemeSetting', {\n            'sidebarCollapse': true\n          });\n        }\n\n        document.body.setAttribute('data-mode', this.$store.state.settings.mode);\n      },\n      immediate: true\n    },\n    '$store.state.settings.layout': {\n      handler: function handler() {\n        document.body.setAttribute('data-layout', this.$store.state.settings.layout);\n      },\n      immediate: true\n    },\n    '$store.state.settings.theme': {\n      handler: function handler() {\n        document.body.setAttribute('data-theme', this.$store.state.settings.theme);\n      },\n      immediate: true\n    },\n    '$store.state.settings.showHeader': {\n      handler: function handler() {\n        document.body.removeAttribute('data-no-main-sidebar');\n\n        if (this.$store.state.settings.showHeader || this.$store.state.menu.routes.length <= 1) {\n          document.body.setAttribute('data-no-main-sidebar', '');\n        }\n      },\n      immediate: true\n    },\n    '$store.state.menu.routes': {\n      handler: function handler() {\n        document.body.removeAttribute('data-no-main-sidebar');\n\n        if (this.$store.state.settings.showHeader || this.$store.state.menu.routes.length <= 1) {\n          document.body.setAttribute('data-no-main-sidebar', '');\n        }\n      },\n      immediate: true,\n      deep: true\n    },\n    '$store.state.settings.sidebarCollapse': {\n      handler: function handler() {\n        document.body.removeAttribute('data-sidebar-no-collapse');\n        document.body.removeAttribute('data-sidebar-collapse');\n\n        if (this.$store.state.settings.sidebarCollapse) {\n          document.body.setAttribute('data-sidebar-collapse', '');\n        } else {\n          document.body.setAttribute('data-sidebar-no-collapse', '');\n        }\n      },\n      immediate: true\n    }\n  },\n  mounted: function mounted() {\n    var _this = this;\n\n    window.onresize = function () {\n      _this.$store.commit('settings/setMode', document.body.clientWidth);\n    };\n\n    window.onresize();\n  },\n  methods: {\n    // 路由 title 转国际化，如果没有配置则默认显示 title\n    generateI18nTitle: function generateI18nTitle(key, defaultTitle) {\n      var title;\n\n      if (this.$te(key)) {\n        title = this.$t(key);\n      } else {\n        title = defaultTitle;\n      }\n\n      return title;\n    },\n    // 监听路由变化，更新页面 title\n    routeChange: function routeChange() {\n      this.$route.meta.i18n && this.$store.commit('settings/setTitle', this.generateI18nTitle(this.$route.meta.i18n, this.$route.meta.title));\n    }\n  },\n  metaInfo: function metaInfo() {\n    return {\n      title: this.$store.state.settings.enableDynamicTitle && this.$store.state.settings.title,\n      titleTemplate: function titleTemplate(title) {\n        return title ? \"\".concat(title) : '';\n      }\n    };\n  }\n});\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=script&lang=js&":
/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AbsoluteContainer/index.vue?vue&type=script&lang=js& ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'AbsoluteContainer',\n  props: {},\n  data: function data() {\n    return {};\n  },\n  mounted: function mounted() {},\n  methods: {}\n});\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AmapMarker/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'AmapMarker',\n  props: {\n    v: {\n      type: String,\n      default: '1.4.15'\n    },\n    appkey: {\n      type: String,\n      default: ''\n    },\n    height: {\n      type: [Number, String],\n      default: 500\n    },\n    lnglat: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    }\n  },\n  data: function data() {\n    return {\n      search: '',\n      searchOption: {\n        citylimit: true\n      },\n      map: '',\n      marker: '',\n      autoComplete: '',\n      placeSearch: ''\n    };\n  },\n  computed: {\n    realHeight: function realHeight() {\n      return typeof this.height == 'string' ? this.height : \"\".concat(this.height, \"px\");\n    }\n  },\n  created: function created() {},\n  mounted: function mounted() {\n    var _this = this;\n\n    if (typeof AMap === 'undefined') {\n      var script = document.createElement('script');\n      script.charset = 'utf-8';\n      script.src = \"https://webapi.amap.com/maps?v=\".concat(this.v, \"&key=\").concat(this.appkey, \"&plugin=AMap.Autocomplete\");\n      document.head.appendChild(script);\n\n      script.onload = function () {\n        _this.init();\n      };\n    } else {\n      this.$nextTick(function () {\n        _this.init();\n      });\n    }\n  },\n  methods: {\n    init: function init() {\n      var _this2 = this;\n\n      this.map = new AMap.Map('amap', {\n        zoom: 12\n      });\n      AMap.plugin('AMap.ToolBar', function () {\n        var toolbar = new AMap.ToolBar();\n\n        _this2.map.addControl(toolbar);\n      });\n      this.marker = new AMap.Marker({\n        draggable: true,\n        cursor: 'move'\n      });\n      this.marker.on('dragend', function (e) {\n        _this2.$emit('update:lnglat', [e.lnglat.lng, e.lnglat.lat]);\n      });\n      this.autoComplete = new AMap.Autocomplete();\n      this.map.on('click', function (e) {\n        _this2.addMarket(e.lnglat.getLng(), e.lnglat.getLat());\n      });\n\n      if (this.lnglat.length == 2) {\n        this.addMarket(this.lnglat[0], this.lnglat[1]);\n      }\n    },\n    addMarket: function addMarket(lng, lat) {\n      this.map.remove(this.marker);\n      this.marker.setPosition([lng, lat]);\n      this.map.add(this.marker);\n      this.map.setFitView();\n      this.$emit('update:lnglat', [lng, lat]);\n    },\n    onSearch: function onSearch(queryString, cb) {\n      this.autoComplete.search(queryString, function (status, result) {\n        cb(result.tips);\n      });\n    },\n    onSelect: function onSelect(item) {\n      this.search = item.name;\n      item.location ? this.addMarket(item.location.lng, item.location.lat) : this.map.setCity(item.adcode);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Auth/index.vue?vue&type=script&lang=js&":
/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Auth/index.vue?vue&type=script&lang=js& ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/util */ \"./src/util/index.js\");\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Auth',\n  props: {\n    value: {\n      type: [String, Array],\n      default: ''\n    }\n  },\n  methods: {\n    check: function check() {\n      return Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"auth\"])(this.value);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/Auth/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AuthAll/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AuthAll/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/util */ \"./src/util/index.js\");\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'AuthAll',\n  props: {\n    value: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    }\n  },\n  methods: {\n    check: function check() {\n      return Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"authAll\"])(this.value);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/AuthAll/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/BatchActionBar/index.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'BatchActionBar',\n  props: {\n    data: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    },\n    selectionData: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    }\n  },\n  data: function data() {\n    return {};\n  },\n  computed: {\n    checkAll: {\n      get: function get() {\n        var flag = false;\n\n        if (this.data.length != 0 && this.data.length == this.selectionData.length) {\n          flag = true;\n        }\n\n        return flag;\n      },\n      set: function set(newVal) {\n        newVal ? this.$emit('check-all') : this.$emit('check-null');\n      }\n    },\n    isIndeterminate: function isIndeterminate() {\n      var flag = false;\n\n      if (this.selectionData.length > 0 && this.selectionData.length < this.data.length) {\n        flag = true;\n      }\n\n      return flag;\n    }\n  },\n  created: function created() {},\n  mounted: function mounted() {},\n  methods: {}\n});\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/CascaderArea/index.vue?vue&type=script&lang=js& ***!
  \***************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _util_area__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/util/area */ \"./src/util/area.js\");\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'CascaderArea',\n  props: {\n    // 传入数据为中文数组，例如：['河北省', '唐山市', '市辖区']\n    value: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    },\n    size: {\n      type: String,\n      default: ''\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data: function data() {\n    return {\n      options: _util_area__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n      props: {\n        value: 'code',\n        label: 'name'\n      }\n    };\n  },\n  computed: {\n    myValue: {\n      // 将中文转成 code 码\n      get: function get() {\n        var myValue = [];\n\n        if (this.value.length === 3) {\n          var _this$value = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.value, 3),\n              pName = _this$value[0],\n              cName = _this$value[1],\n              aName = _this$value[2];\n\n          _util_area__WEBPACK_IMPORTED_MODULE_3__[\"default\"].map(function (p) {\n            if (p.name === pName) {\n              myValue.push(p.code);\n              p.children.map(function (c) {\n                if (c.name === cName) {\n                  myValue.push(c.code);\n                  c.children.map(function (a) {\n                    if (a.name === aName) {\n                      myValue.push(a.code);\n                    }\n                  });\n                }\n              });\n            }\n          });\n        }\n\n        return myValue;\n      },\n      // 将 code 码转成中文\n      set: function set(value) {\n        var _value = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, 3),\n            pCode = _value[0],\n            cCode = _value[1],\n            aCode = _value[2];\n\n        _util_area__WEBPACK_IMPORTED_MODULE_3__[\"default\"].map(function (p) {\n          if (p.code === pCode) {\n            pCode = p.name;\n            p.children.map(function (c) {\n              if (c.code === cCode) {\n                cCode = c.name;\n                c.children.map(function (a) {\n                  if (a.code === aCode) {\n                    aCode = a.name;\n                  }\n                });\n              }\n            });\n          }\n        });\n        this.$emit('input', [pCode, cCode, aCode]);\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=script&lang=js&":
/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Chip/index.vue?vue&type=script&lang=js& ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Chip',\n  props: {\n    type: {\n      type: String,\n      default: ''\n    },\n    closable: {\n      type: Boolean,\n      default: false\n    }\n  },\n  methods: {\n    handleClose: function handleClose() {\n      this.$emit('close');\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorfulCard/index.vue?vue&type=script&lang=js& ***!
  \***************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'ColorfulCard',\n  props: {\n    colorFrom: {\n      type: String,\n      default: '#843cf6'\n    },\n    colorTo: {\n      type: String,\n      default: '#759bff'\n    },\n    header: {\n      type: String,\n      default: ''\n    },\n    num: {\n      type: Number,\n      default: 0\n    },\n    tip: {\n      type: String,\n      default: ''\n    },\n    icon: {\n      type: String,\n      default: ''\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=script&lang=js&":
/*!************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Copyright/index.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Copyright',\n  methods: {\n    linkProps: function linkProps() {\n      if (this.$store.state.settings.copyrightWebsite) {\n        return {\n          is: 'a',\n          href: this.$store.state.settings.copyrightWebsite,\n          target: '_blank',\n          rel: 'noopener'\n        };\n      } else {\n        return {\n          is: 'span'\n        };\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Editor/index.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tinymce_tinymce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tinymce/tinymce */ \"./node_modules/tinymce/tinymce.js\");\n/* harmony import */ var tinymce_tinymce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tinymce_tinymce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _tinymce_tinymce_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tinymce/tinymce-vue */ \"./node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/index.js\");\n/* harmony import */ var tinymce_themes_silver_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tinymce/themes/silver/theme */ \"./node_modules/tinymce/themes/silver/theme.js\");\n/* harmony import */ var tinymce_themes_silver_theme__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(tinymce_themes_silver_theme__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var tinymce_icons_default_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tinymce/icons/default/icons */ \"./node_modules/tinymce/icons/default/icons.js\");\n/* harmony import */ var tinymce_icons_default_icons__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(tinymce_icons_default_icons__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var tinymce_plugins_autolink__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tinymce/plugins/autolink */ \"./node_modules/tinymce/plugins/autolink/index.js\");\n/* harmony import */ var tinymce_plugins_autolink__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_autolink__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var tinymce_plugins_autoresize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tinymce/plugins/autoresize */ \"./node_modules/tinymce/plugins/autoresize/index.js\");\n/* harmony import */ var tinymce_plugins_autoresize__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_autoresize__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var tinymce_plugins_colorpicker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tinymce/plugins/colorpicker */ \"./node_modules/tinymce/plugins/colorpicker/index.js\");\n/* harmony import */ var tinymce_plugins_colorpicker__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_colorpicker__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var tinymce_plugins_contextmenu__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tinymce/plugins/contextmenu */ \"./node_modules/tinymce/plugins/contextmenu/index.js\");\n/* harmony import */ var tinymce_plugins_contextmenu__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_contextmenu__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var tinymce_plugins_fullscreen__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tinymce/plugins/fullscreen */ \"./node_modules/tinymce/plugins/fullscreen/index.js\");\n/* harmony import */ var tinymce_plugins_fullscreen__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_fullscreen__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var tinymce_plugins_hr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tinymce/plugins/hr */ \"./node_modules/tinymce/plugins/hr/index.js\");\n/* harmony import */ var tinymce_plugins_hr__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_hr__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var tinymce_plugins_image__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! tinymce/plugins/image */ \"./node_modules/tinymce/plugins/image/index.js\");\n/* harmony import */ var tinymce_plugins_image__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_image__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var tinymce_plugins_imagetools__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tinymce/plugins/imagetools */ \"./node_modules/tinymce/plugins/imagetools/index.js\");\n/* harmony import */ var tinymce_plugins_imagetools__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_imagetools__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var tinymce_plugins_insertdatetime__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! tinymce/plugins/insertdatetime */ \"./node_modules/tinymce/plugins/insertdatetime/index.js\");\n/* harmony import */ var tinymce_plugins_insertdatetime__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_insertdatetime__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var tinymce_plugins_link__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! tinymce/plugins/link */ \"./node_modules/tinymce/plugins/link/index.js\");\n/* harmony import */ var tinymce_plugins_link__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_link__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var tinymce_plugins_lists__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! tinymce/plugins/lists */ \"./node_modules/tinymce/plugins/lists/index.js\");\n/* harmony import */ var tinymce_plugins_lists__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_lists__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var tinymce_plugins_media__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! tinymce/plugins/media */ \"./node_modules/tinymce/plugins/media/index.js\");\n/* harmony import */ var tinymce_plugins_media__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_media__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var tinymce_plugins_preview__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! tinymce/plugins/preview */ \"./node_modules/tinymce/plugins/preview/index.js\");\n/* harmony import */ var tinymce_plugins_preview__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_preview__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var tinymce_plugins_table__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! tinymce/plugins/table */ \"./node_modules/tinymce/plugins/table/index.js\");\n/* harmony import */ var tinymce_plugins_table__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_table__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var tinymce_plugins_textcolor__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! tinymce/plugins/textcolor */ \"./node_modules/tinymce/plugins/textcolor/index.js\");\n/* harmony import */ var tinymce_plugins_textcolor__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_textcolor__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var tinymce_plugins_wordcount__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! tinymce/plugins/wordcount */ \"./node_modules/tinymce/plugins/wordcount/index.js\");\n/* harmony import */ var tinymce_plugins_wordcount__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_wordcount__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var tinymce_plugins_code__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! tinymce/plugins/code */ \"./node_modules/tinymce/plugins/code/index.js\");\n/* harmony import */ var tinymce_plugins_code__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_code__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var tinymce_plugins_searchreplace__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! tinymce/plugins/searchreplace */ \"./node_modules/tinymce/plugins/searchreplace/index.js\");\n/* harmony import */ var tinymce_plugins_searchreplace__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(tinymce_plugins_searchreplace__WEBPACK_IMPORTED_MODULE_21__);\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Editor',\n  components: {\n    TinymceEditor: _tinymce_tinymce_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n  },\n  props: {\n    value: {\n      type: String,\n      default: ''\n    },\n    setting: {\n      type: Object,\n      default: function _default() {}\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data: function data() {\n    return {\n      defaultSetting: {\n        language_url: 'tinymce/langs/zh_CN.js',\n        language: 'zh_CN',\n        skin_url: 'tinymce/skins/ui/oxide',\n        min_height: 250,\n        max_height: 600,\n        selector: 'textarea',\n        plugins: 'autolink autoresize contextmenu fullscreen hr image imagetools insertdatetime link lists media preview table textcolor wordcount code searchreplace',\n        toolbar: 'undo redo | formatselect | bold italic strikethrough forecolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | hr link image media table insertdatetime searchreplace removeformat | preview code fullscreen',\n        branding: false,\n        menubar: false,\n        toolbar_mode: 'sliding',\n        insertdatetime_formats: ['%Y年%m月%d日', '%H点%M分%S秒', '%Y-%m-%d', '%H:%M:%S'],\n        images_upload_handler: function images_upload_handler(blobInfo, success) {\n          var img = 'data:image/jpeg;base64,' + blobInfo.base64();\n          success(img);\n        }\n      },\n      myValue: this.value\n    };\n  },\n  computed: {\n    completeSetting: function completeSetting() {\n      return Object.assign(this.defaultSetting, this.setting);\n    }\n  },\n  watch: {\n    myValue: function myValue(newValue) {\n      this.$emit('input', newValue);\n    },\n    value: function value(newValue) {\n      this.myValue = newValue;\n    }\n  },\n  mounted: function mounted() {\n    tinymce_tinymce__WEBPACK_IMPORTED_MODULE_0___default.a.init({});\n  }\n});\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'FileUpload',\n  props: {\n    action: {\n      type: String,\n      required: true\n    },\n    headers: {\n      type: Object,\n      default: function _default() {}\n    },\n    data: {\n      type: Object,\n      default: function _default() {}\n    },\n    name: {\n      type: String,\n      default: 'file'\n    },\n    size: {\n      type: Number,\n      default: 2\n    },\n    max: {\n      type: Number,\n      default: 3\n    },\n    files: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    },\n    notip: {\n      type: Boolean,\n      default: false\n    },\n    ext: {\n      type: Array,\n      default: function _default() {\n        return ['zip', 'rar'];\n      }\n    }\n  },\n  methods: {\n    beforeUpload: function beforeUpload(file) {\n      var fileName = file.name.split('.');\n      var fileExt = fileName[fileName.length - 1];\n      var isTypeOk = this.ext.indexOf(fileExt) >= 0;\n      var isSizeOk = file.size / 1024 / 1024 < this.size;\n\n      if (!isTypeOk) {\n        this.$message.error(\"\\u4E0A\\u4F20\\u6587\\u4EF6\\u53EA\\u652F\\u6301 \".concat(this.ext.join(' / '), \" \\u683C\\u5F0F\\uFF01\"));\n      }\n\n      if (!isSizeOk) {\n        this.$message.error(\"\\u4E0A\\u4F20\\u6587\\u4EF6\\u5927\\u5C0F\\u4E0D\\u80FD\\u8D85\\u8FC7 \".concat(this.size, \"MB\\uFF01\"));\n      }\n\n      return isTypeOk && isSizeOk;\n    },\n    onExceed: function onExceed() {\n      this.$message.warning('文件上传超过限制');\n    },\n    onSuccess: function onSuccess(res, file) {\n      this.$emit('on-success', res, file);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FixedActionBar/index.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'FixedActionBar',\n  data: function data() {\n    return {\n      isBottom: true\n    };\n  },\n  mounted: function mounted() {\n    this.onScroll();\n    window.addEventListener('scroll', this.onScroll);\n  },\n  destroyed: function destroyed() {\n    window.removeEventListener('scroll', this.onScroll);\n  },\n  methods: {\n    onScroll: function onScroll() {\n      // 变量scrollTop是滚动条滚动时，滚动条上端距离顶部的距离\n      var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 变量windowHeight是可视区的高度\n\n      var windowHeight = document.documentElement.clientHeight || document.body.clientHeight; // 变量scrollHeight是滚动条的总高度（当前可滚动的页面的总高度）\n\n      var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; // 滚动条到底部\n\n      if (Math.ceil(scrollTop + windowHeight) >= scrollHeight) {\n        this.isBottom = true;\n      } else {\n        this.isBottom = false;\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/IconPicker/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _element_json__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./element.json */ \"./src/components/IconPicker/element.json\");\nvar _element_json__WEBPACK_IMPORTED_MODULE_8___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./element.json */ \"./src/components/IconPicker/element.json\", 1);\n/* harmony import */ var _remix_json__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./remix.json */ \"./src/components/IconPicker/remix.json\");\nvar _remix_json__WEBPACK_IMPORTED_MODULE_9___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./remix.json */ \"./src/components/IconPicker/remix.json\", 1);\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'IconPicker',\n  props: {\n    value: {\n      type: String,\n      default: ''\n    }\n  },\n  data: function data() {\n    return {\n      activeTab: 'element',\n      element: {\n        search: '',\n        icons: _element_json__WEBPACK_IMPORTED_MODULE_8__,\n        pageSize: 20,\n        currentPage: 1\n      },\n      remix: {\n        search: '',\n        icons: [],\n        style: 'line',\n        pageSize: 20,\n        currentPage: 1\n      },\n      myValue: this.value\n    };\n  },\n  computed: {\n    elementIconList: function elementIconList() {\n      var _this = this;\n\n      var list = this.element.icons;\n\n      if (this.element.search != '') {\n        list = list.filter(function (item) {\n          return item.indexOf(_this.element.search) >= 0;\n        });\n      }\n\n      return list;\n    },\n    elementIconCurrentList: function elementIconCurrentList() {\n      return this.elementIconList.slice((this.element.currentPage - 1) * this.element.pageSize, (this.element.currentPage - 1) * this.element.pageSize + this.element.pageSize);\n    },\n    remixIconList: function remixIconList() {\n      var _this2 = this;\n\n      var list = this.remix.icons;\n\n      if (this.remix.search != '') {\n        list = list.filter(function (item) {\n          return item.keyword.includes(_this2.remix.search) || item.name.indexOf(_this2.remix.search) >= 0;\n        });\n      }\n\n      return list;\n    },\n    remixIconCurrentList: function remixIconCurrentList() {\n      return this.remixIconList.slice((this.remix.currentPage - 1) * this.remix.pageSize, (this.remix.currentPage - 1) * this.remix.pageSize + this.remix.pageSize);\n    }\n  },\n  watch: {\n    myValue: function myValue(newValue) {\n      this.$emit('input', newValue);\n    }\n  },\n  mounted: function mounted() {\n    var remix = [];\n\n    for (var key in _remix_json__WEBPACK_IMPORTED_MODULE_9__) {\n      for (var name in _remix_json__WEBPACK_IMPORTED_MODULE_9__[key]) {\n        remix.push({\n          name: name,\n          type: key,\n          keyword: _remix_json__WEBPACK_IMPORTED_MODULE_9__[key][name]\n        });\n      }\n    }\n\n    this.remix.icons = remix;\n  },\n  methods: {\n    handlePopoverShow: function handlePopoverShow() {\n      this.$refs.tabs.calcPaneInstances(true);\n    },\n    choose: function choose(val) {\n      this.myValue = val;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagePreview/index.vue?vue&type=script&lang=js& ***!
  \***************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'ImagePreview',\n  props: {\n    src: {\n      type: String,\n      required: true\n    },\n    width: {\n      type: [Number, String],\n      default: ''\n    },\n    height: {\n      type: [Number, String],\n      default: ''\n    }\n  },\n  data: function data() {\n    return {\n      dialogVisible: false\n    };\n  },\n  computed: {\n    realWidth: function realWidth() {\n      return typeof this.width == 'string' ? this.width : \"\".concat(this.width, \"px\");\n    },\n    realHeight: function realHeight() {\n      return typeof this.height == 'string' ? this.height : \"\".concat(this.height, \"px\");\n    }\n  },\n  created: function created() {},\n  mounted: function mounted() {},\n  methods: {}\n});\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImageUpload/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"./node_modules/core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.url-search-params.js */ \"./node_modules/core-js/modules/web.url-search-params.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var element_ui_packages_image_src_image_viewer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! element-ui/packages/image/src/image-viewer */ \"./node_modules/element-ui/packages/image/src/image-viewer.vue\");\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'ImageUpload',\n  components: {\n    ElImageViewer: element_ui_packages_image_src_image_viewer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n  },\n  props: {\n    action: {\n      type: String,\n      required: true\n    },\n    headers: {\n      type: Object,\n      default: function _default() {}\n    },\n    data: {\n      type: Object,\n      default: function _default() {}\n    },\n    name: {\n      type: String,\n      default: 'file'\n    },\n    url: {\n      type: String,\n      default: ''\n    },\n    size: {\n      type: Number,\n      default: 2\n    },\n    width: {\n      type: Number,\n      default: 150\n    },\n    height: {\n      type: Number,\n      default: 150\n    },\n    placeholder: {\n      type: String,\n      default: ''\n    },\n    notip: {\n      type: Boolean,\n      default: false\n    },\n    ext: {\n      type: Array,\n      default: function _default() {\n        return ['jpg', 'png', 'gif', 'bmp'];\n      }\n    }\n  },\n  data: function data() {\n    return {\n      imageViewerVisible: false,\n      progress: {\n        preview: '',\n        percent: 0\n      }\n    };\n  },\n  methods: {\n    // 移除\n    remove: function remove() {\n      this.$emit('update:url', '');\n    },\n    beforeUpload: function beforeUpload(file) {\n      var fileName = file.name.split('.');\n      var fileExt = fileName[fileName.length - 1];\n      var isTypeOk = this.ext.indexOf(fileExt) >= 0;\n      var isSizeOk = file.size / 1024 / 1024 < this.size;\n\n      if (!isTypeOk) {\n        this.$message.error(\"\\u4E0A\\u4F20\\u56FE\\u7247\\u53EA\\u652F\\u6301 \".concat(this.ext.join(' / '), \" \\u683C\\u5F0F\\uFF01\"));\n      }\n\n      if (!isSizeOk) {\n        this.$message.error(\"\\u4E0A\\u4F20\\u56FE\\u7247\\u5927\\u5C0F\\u4E0D\\u80FD\\u8D85\\u8FC7 \".concat(this.size, \"MB\\uFF01\"));\n      }\n\n      if (isTypeOk && isSizeOk) {\n        this.progress.preview = URL.createObjectURL(file);\n      }\n\n      return isTypeOk && isSizeOk;\n    },\n    onProgress: function onProgress(file) {\n      var _this = this;\n\n      this.progress.percent = ~~file.percent;\n\n      if (this.progress.percent == 100) {\n        setTimeout(function () {\n          _this.progress.preview = '';\n          _this.progress.percent = 0;\n        }, 1000);\n      }\n    },\n    onSuccess: function onSuccess(res) {\n      this.$emit('on-success', res);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagesUpload/index.vue?vue&type=script&lang=js& ***!
  \***************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"./node_modules/core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/web.url-search-params.js */ \"./node_modules/core-js/modules/web.url-search-params.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var element_ui_packages_image_src_image_viewer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! element-ui/packages/image/src/image-viewer */ \"./node_modules/element-ui/packages/image/src/image-viewer.vue\");\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'ImagesUpload',\n  components: {\n    ElImageViewer: element_ui_packages_image_src_image_viewer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n  },\n  props: {\n    action: {\n      type: String,\n      required: true\n    },\n    headers: {\n      type: Object,\n      default: function _default() {}\n    },\n    data: {\n      type: Object,\n      default: function _default() {}\n    },\n    name: {\n      type: String,\n      default: 'file'\n    },\n    url: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    },\n    max: {\n      type: Number,\n      default: 3\n    },\n    size: {\n      type: Number,\n      default: 2\n    },\n    width: {\n      type: Number,\n      default: 150\n    },\n    height: {\n      type: Number,\n      default: 150\n    },\n    placeholder: {\n      type: String,\n      default: ''\n    },\n    notip: {\n      type: Boolean,\n      default: false\n    },\n    ext: {\n      type: Array,\n      default: function _default() {\n        return ['jpg', 'png', 'gif', 'bmp'];\n      }\n    }\n  },\n  data: function data() {\n    return {\n      dialogImageUrl: '',\n      imageViewerVisible: false,\n      progress: {\n        preview: '',\n        percent: 0\n      }\n    };\n  },\n  methods: {\n    // 预览\n    preview: function preview(index) {\n      this.dialogImageUrl = this.url[index];\n      this.imageViewerVisible = true;\n    },\n    // 移除\n    remove: function remove(index) {\n      var url = this.url;\n      url.splice(index, 1);\n      this.$emit('update:url', url);\n    },\n    // 移动\n    move: function move(index, type) {\n      var url = this.url;\n\n      if (type == 'left' && index != 0) {\n        url[index] = url.splice(index - 1, 1, url[index])[0];\n      }\n\n      if (type == 'right' && index != url.length - 1) {\n        url[index] = url.splice(index + 1, 1, url[index])[0];\n      }\n\n      this.$emit('update:url', url);\n    },\n    beforeUpload: function beforeUpload(file) {\n      var fileName = file.name.split('.');\n      var fileExt = fileName[fileName.length - 1];\n      var isTypeOk = this.ext.indexOf(fileExt) >= 0;\n      var isSizeOk = file.size / 1024 / 1024 < this.size;\n\n      if (!isTypeOk) {\n        this.$message.error(\"\\u4E0A\\u4F20\\u56FE\\u7247\\u53EA\\u652F\\u6301 \".concat(this.ext.join(' / '), \" \\u683C\\u5F0F\\uFF01\"));\n      }\n\n      if (!isSizeOk) {\n        this.$message.error(\"\\u4E0A\\u4F20\\u56FE\\u7247\\u5927\\u5C0F\\u4E0D\\u80FD\\u8D85\\u8FC7 \".concat(this.size, \"MB\\uFF01\"));\n      }\n\n      if (isTypeOk && isSizeOk) {\n        this.progress.preview = URL.createObjectURL(file);\n      }\n\n      return isTypeOk && isSizeOk;\n    },\n    onProgress: function onProgress(file) {\n      this.progress.percent = ~~file.percent;\n\n      if (this.progress.percent == 100) {\n        this.progress.preview = '';\n        this.progress.percent = 0;\n      }\n    },\n    onSuccess: function onSuccess(res) {\n      this.$emit('on-success', res);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageHeader/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'PageHeader',\n  props: {\n    title: {\n      type: String,\n      required: true\n    },\n    content: {\n      type: String,\n      default: ''\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=script&lang=js&":
/*!***********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageMain/index.vue?vue&type=script&lang=js& ***!
  \***********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'PageMain',\n  props: {\n    title: {\n      type: String,\n      default: ''\n    },\n    collaspe: {\n      type: Boolean,\n      default: false\n    },\n    height: {\n      type: String,\n      default: ''\n    }\n  },\n  data: function data() {\n    return {\n      collaspeData: this.collaspe\n    };\n  },\n  methods: {\n    uncollaspe: function uncollaspe() {\n      this.collaspeData = false;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Result/index.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Result',\n  props: {\n    type: {\n      type: String,\n      validator: function validator(val) {\n        return ['success', 'warning', 'error'].includes(val);\n      },\n      required: true\n    },\n    title: {\n      type: String,\n      required: true\n    },\n    desc: {\n      type: String,\n      default: ''\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=script&lang=js&":
/*!************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SearchBar/index.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'SearchBar',\n  props: {\n    showMore: {\n      type: Boolean,\n      default: false\n    },\n    unfold: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data: function data() {\n    return {\n      isUnfold: !this.unfold\n    };\n  },\n  watch: {\n    unfold: {\n      handler: function handler() {\n        this.toggle();\n      },\n      immediate: true\n    }\n  },\n  methods: {\n    toggle: function toggle() {\n      this.isUnfold = !this.isUnfold;\n      this.$emit('toggle', this.isUnfold);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SpinkitLoading/main.vue?vue&type=script&lang=js& ***!
  \****************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var spinkit_spinkit_min_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! spinkit/spinkit.min.css */ \"./node_modules/spinkit/spinkit.min.css\");\n/* harmony import */ var spinkit_spinkit_min_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(spinkit_spinkit_min_css__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'SpinkitLoading',\n  data: function data() {\n    return {\n      show: false,\n      type: 'plane',\n      size: 50,\n      color: '#fff'\n    };\n  }\n});\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'SvgIcon',\n  props: {\n    name: {\n      type: String,\n      required: true\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=script&lang=js&":
/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Trend/index.vue?vue&type=script&lang=js& ***!
  \********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Trend',\n  props: {\n    value: {\n      type: String,\n      required: true\n    },\n    type: {\n      type: String,\n      validator: function validator(val) {\n        return ['up', 'down'].includes(val);\n      },\n      default: 'up'\n    },\n    prefix: {\n      type: String,\n      default: ''\n    },\n    suffix: {\n      type: String,\n      default: ''\n    },\n    reverse: {\n      type: Boolean,\n      default: false\n    }\n  },\n  computed: {\n    isUp: function isUp() {\n      var isUp = this.type === 'up';\n\n      if (this.reverse) {\n        isUp = !isUp;\n      }\n\n      return isUp;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Logo/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Logo',\n  props: {\n    showLogo: {\n      type: Boolean,\n      default: true\n    },\n    showTitle: {\n      type: Boolean,\n      default: true\n    }\n  },\n  data: function data() {\n    return {\n      title: \"鹿角巷\",\n      logo: __webpack_require__(/*! @/assets/images/ljxlogo.jpg */ \"./src/assets/images/ljxlogo.jpg\")\n    };\n  },\n  computed: {\n    to: function to() {\n      var rtn = {};\n\n      if (this.$store.state.settings.enableDashboard) {\n        rtn.name = 'home';\n      }\n\n      return rtn;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Search/index.vue?vue&type=script&lang=js& ***!
  \****************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/util */ \"./src/util/index.js\");\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Search',\n  inject: ['generateI18nTitle'],\n  props: {},\n  data: function data() {\n    return {\n      isShow: false,\n      search: '',\n      sourceList: []\n    };\n  },\n  computed: {\n    resultList: function resultList() {\n      var _this = this;\n\n      var result = [];\n      result = this.sourceList.filter(function (item) {\n        var flag = false;\n\n        if (item.i18n.indexOf(_this.search) >= 0) {\n          flag = true;\n        }\n\n        if (item.path.indexOf(_this.search) >= 0) {\n          flag = true;\n        }\n\n        if (item.breadcrumb.some(function (b) {\n          return b.indexOf(_this.search) >= 0;\n        })) {\n          flag = true;\n        }\n\n        return flag;\n      });\n      return result;\n    }\n  },\n  watch: {\n    isShow: function isShow(val) {\n      var _this2 = this;\n\n      if (val) {\n        document.querySelector('body').classList.add('hidden');\n        this.$refs.search.scrollTop = 0;\n        setTimeout(function () {\n          _this2.$refs.input.$el.children[0].focus();\n        }, 100);\n      } else {\n        document.querySelector('body').classList.remove('hidden');\n        setTimeout(function () {\n          _this2.search = '';\n        }, 500);\n      }\n    }\n  },\n  created: function created() {},\n  mounted: function mounted() {\n    var _this3 = this;\n\n    this.$eventBus.$on('global-search-toggle', function () {\n      _this3.isShow = !_this3.isShow;\n    });\n    this.$store.state.menu.routes.map(function (item) {\n      _this3.getSourceList(item.children);\n    });\n  },\n  methods: {\n    isExternal: function isExternal(path) {\n      return /^(https?:|mailto:|tel:)/.test(path);\n    },\n    hasChildren: function hasChildren(item) {\n      var flag = true;\n\n      if (item.children) {\n        if (item.children.every(function (i) {\n          return i.meta.sidebar === false;\n        })) {\n          flag = false;\n        }\n      } else {\n        flag = false;\n      }\n\n      return flag;\n    },\n    getSourceList: function getSourceList(arr) {\n      var _this4 = this;\n\n      arr.map(function (item) {\n        if (item.meta.sidebar !== false) {\n          if (_this4.hasChildren(item)) {\n            var baseBreadcrumb = item.meta.baseBreadcrumb ? Object(_util__WEBPACK_IMPORTED_MODULE_7__[\"deepClone\"])(item.meta.baseBreadcrumb) : [];\n            baseBreadcrumb.push(item.meta.title);\n            var child = Object(_util__WEBPACK_IMPORTED_MODULE_7__[\"deepClone\"])(item.children);\n            child.map(function (c) {\n              c.meta.baseIcon = item.meta.icon || item.meta.baseIcon;\n              c.meta.baseBreadcrumb = baseBreadcrumb;\n              c.meta.basePath = item.meta.basePath ? [item.meta.basePath, item.path].join('/') : item.path;\n            });\n\n            _this4.getSourceList(child);\n          } else {\n            var breadcrumb = [];\n\n            if (item.meta.baseBreadcrumb) {\n              breadcrumb = Object(_util__WEBPACK_IMPORTED_MODULE_7__[\"deepClone\"])(item.meta.baseBreadcrumb);\n            }\n\n            breadcrumb.push(_this4.generateI18nTitle(item.meta.i18n, item.meta.title));\n            var path = '';\n\n            if (_this4.isExternal(item.path)) {\n              path = item.path;\n            } else {\n              path = item.meta.basePath ? [item.meta.basePath, item.path].join('/') : item.path;\n            }\n\n            _this4.sourceList.push({\n              icon: item.meta.icon || item.meta.baseIcon,\n              title: item.meta.title,\n              i18n: item.meta.i18n,\n              breadcrumb: breadcrumb,\n              path: path,\n              isExternal: _this4.isExternal(item.path)\n            });\n          }\n        }\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/SidebarItem/index.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'SidebarItem',\n  inject: ['generateI18nTitle'],\n  props: {\n    item: {\n      type: Object,\n      required: true\n    },\n    basePath: {\n      type: String,\n      default: ''\n    }\n  },\n  data: function data() {\n    return {};\n  },\n  computed: {\n    hasChildren: function hasChildren() {\n      var flag = true;\n\n      if (this.item.children) {\n        if (this.item.children.every(function (item) {\n          return item.meta.sidebar === false;\n        })) {\n          flag = false;\n        }\n      } else {\n        flag = false;\n      }\n\n      return flag;\n    }\n  },\n  created: function created() {},\n  mounted: function mounted() {},\n  methods: {\n    isExternal: function isExternal(path) {\n      return /^(https?:|mailto:|tel:)/.test(path);\n    },\n    resolvePath: function resolvePath(routePath) {\n      if (this.isExternal(routePath)) {\n        return routePath;\n      }\n\n      if (this.isExternal(this.basePath)) {\n        return this.basePath;\n      }\n\n      return path__WEBPACK_IMPORTED_MODULE_3___default.a.resolve(this.basePath, routePath);\n    },\n    badge: function badge(_badge) {\n      var res = {\n        type: '',\n        // text or dot\n        value: '',\n        visible: false\n      };\n\n      if (_badge) {\n        res.visible = true;\n        res.value = typeof _badge == 'function' ? _badge() : _badge;\n\n        if (typeof res.value == 'boolean') {\n          res.type = 'dot';\n\n          if (!res.value) {\n            res.visible = false;\n          }\n        } else if (typeof res.value == 'number') {\n          res.type = 'text';\n\n          if (res.value <= 0) {\n            res.visible = false;\n          }\n        } else {\n          res.type = 'text';\n\n          if (!res.value) {\n            res.visible = false;\n          }\n        }\n      }\n\n      return res;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Tabbar/index.vue?vue&type=script&lang=js& ***!
  \****************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/util/storage */ \"./src/util/storage.js\");\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.umd.js\");\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Tabbar',\n  components: {\n    draggable: vuedraggable__WEBPACK_IMPORTED_MODULE_4___default.a\n  },\n  inject: ['reload', 'generateI18nTitle'],\n  data: function data() {\n    return {\n      isDragging: false\n    };\n  },\n  computed: {\n    // 当前标签页指向路由，设置过 activeMenu 的路由，在点开的时候，不会单独创建标签页\n    // 你也可以修改为 return this.$route.fullPath ，这样所有路由都会有独立的标签页\n    activedTabPath: function activedTabPath() {\n      return this.$route.meta.activeMenu || this.$route.fullPath;\n    },\n    // 当前标签页两侧是否有可关闭的标签页\n    hasTabbarOtherSideCanClose: function hasTabbarOtherSideCanClose() {\n      return this.checkOtherSideHasTabCanClose();\n    },\n    // 当前标签页左侧是否有可关闭的标签页\n    hasTabbarLeftSideCanClose: function hasTabbarLeftSideCanClose() {\n      return this.checkLeftSideHasTabCanClose();\n    },\n    // 当前标签页右侧是否有可关闭的标签页\n    hasTabbarRightSideCanClose: function hasTabbarRightSideCanClose() {\n      return this.checkRightSideHasTabCanClose();\n    },\n    isShowMoreAction: function isShowMoreAction() {\n      return this.$store.state.tabbar.list.length > 1 && (this.hasTabbarOtherSideCanClose || this.hasTabbarLeftSideCanClose || this.hasTabbarRightSideCanClose);\n    },\n    tabbarList: {\n      get: function get() {\n        return this.$store.state.tabbar.list;\n      },\n      set: function set(value) {\n        this.$store.commit('tabbar/sort', value);\n      }\n    },\n    dragOptions: function dragOptions() {\n      return {\n        animation: 200,\n        ghostClass: 'tab-ghost',\n        draggable: '.tab',\n        handle: '.drag-handle'\n      };\n    }\n  },\n  watch: {\n    // 监听路由变化，并新增标签页\n    $route: {\n      handler: function handler(val) {\n        var _this = this;\n\n        if (this.$store.state.settings.enableTabbar) {\n          this.$store.dispatch('tabbar/add', val).then(function () {\n            if (_this.$refs[\"tab-\".concat(val.meta.activeMenu || val.fullPath)]) {\n              _this.scrollTo(_this.$refs[\"tab-\".concat(val.meta.activeMenu || val.fullPath)][0].offsetLeft);\n\n              _this.tabbarScrollTip();\n            }\n          });\n        }\n      },\n      immediate: true\n    }\n  },\n  mounted: function mounted() {\n    this.$refs['tabs'].addEventListener('DOMMouseScroll', this.handlerMouserScroll, false);\n    this.$refs['tabs'].addEventListener('mousewheel', this.handlerMouserScroll, false);\n  },\n  beforeDestroy: function beforeDestroy() {\n    this.$refs['tabs'].removeEventListener('DOMMouseScroll', this.handlerMouserScroll);\n    this.$refs['tabs'].removeEventListener('mousewheel', this.handlerMouserScroll);\n  },\n  methods: {\n    tabbarScrollTip: function tabbarScrollTip() {\n      if (this.$refs['tab-container'].$el.clientWidth > this.$refs['tabs'].clientWidth && !_util_storage__WEBPACK_IMPORTED_MODULE_3__[\"default\"].local.has('tabbarScrollTip')) {\n        this.$confirm('顶部标签栏数量超过展示区域范围，你可以将鼠标移到标签栏上，然后通过鼠标滚轮滑动浏览', '温馨提示', {\n          confirmButtonText: '知道了',\n          showCancelButton: false,\n          showClose: false,\n          closeOnClickModal: false,\n          closeOnPressEscape: false,\n          type: 'info',\n          center: true\n        }).then(function () {\n          _util_storage__WEBPACK_IMPORTED_MODULE_3__[\"default\"].local.set('tabbarScrollTip', true);\n        });\n      }\n    },\n    handlerMouserScroll: function handlerMouserScroll(event) {\n      var detail = event.wheelDelta || event.detail;\n      var moveForwardStep = -1;\n      var moveBackStep = 1;\n      var step = 0;\n      step = detail > 0 ? moveForwardStep * 50 : moveBackStep * 50;\n      this.$refs['tabs'].scrollBy({\n        left: step\n      });\n    },\n    scrollTo: function scrollTo(offsetLeft) {\n      this.$refs['tabs'].scrollTo({\n        left: offsetLeft - 50,\n        behavior: 'smooth'\n      });\n    },\n    // 校验指定标签两侧是否有可关闭的标签\n    checkOtherSideHasTabCanClose: function checkOtherSideHasTabCanClose() {\n      var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activedTabPath;\n      return this.$store.state.tabbar.list.some(function (item) {\n        return !item.isPin && item.path != path;\n      });\n    },\n    // 校验指定标签左侧是否有可关闭的标签\n    checkLeftSideHasTabCanClose: function checkLeftSideHasTabCanClose() {\n      var _this2 = this;\n\n      var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activedTabPath;\n      var flag = true;\n\n      if (path == this.$store.state.tabbar.list[0].path) {\n        flag = false;\n      } else {\n        var index = ~~Object.keys(this.$store.state.tabbar.list).find(function (i) {\n          return _this2.$store.state.tabbar.list[i].path == path;\n        });\n        flag = this.$store.state.tabbar.list.some(function (item, i) {\n          return i < index && !item.isPin && item.path != path;\n        });\n      }\n\n      return flag;\n    },\n    // 校验指定标签右侧是否有可关闭的标签\n    checkRightSideHasTabCanClose: function checkRightSideHasTabCanClose() {\n      var _this3 = this;\n\n      var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activedTabPath;\n      var flag = true;\n\n      if (path == this.$store.state.tabbar.list[this.$store.state.tabbar.list.length - 1].path) {\n        flag = false;\n      } else {\n        var index = ~~Object.keys(this.$store.state.tabbar.list).find(function (i) {\n          return _this3.$store.state.tabbar.list[i].path == path;\n        });\n        flag = this.$store.state.tabbar.list.some(function (item, i) {\n          return i >= index && !item.isPin && item.path != path;\n        });\n      }\n\n      return flag;\n    },\n    onTabClose: function onTabClose(path) {\n      this.$tabbarClose(path);\n    },\n    onOtherSideTabClose: function onOtherSideTabClose(path) {\n      // 如果操作的是非当前路由标签页，则先跳转到指定路由标签页\n      path != this.activedTabPath && this.$router.push(path);\n      this.$store.dispatch('tabbar/removeOtherSide', path);\n    },\n    onLeftSideTabClose: function onLeftSideTabClose(path) {\n      var _this4 = this;\n\n      // 如果操作的是非当前路由标签页，需要判断当前标签页是否在指定标签页左侧，如果是则先跳转到指定路由标签页\n      if (path != this.activedTabPath) {\n        var pathIndex = ~~Object.keys(this.$store.state.tabbar.list).find(function (i) {\n          return _this4.$store.state.tabbar.list[i].path == path;\n        });\n        var activedPathIndex = ~~Object.keys(this.$store.state.tabbar.list).find(function (i) {\n          return _this4.$store.state.tabbar.list[i].path == _this4.activedTabPath;\n        });\n\n        if (activedPathIndex < pathIndex) {\n          this.$router.push(path);\n        }\n      }\n\n      this.$store.dispatch('tabbar/removeLeftSide', path);\n    },\n    onRightSideTabClose: function onRightSideTabClose(path) {\n      var _this5 = this;\n\n      // 如果操作的是非当前路由标签页，需要判断当前标签页是否在指定标签页右侧，如果是则先跳转到指定路由标签页\n      if (path != this.activedTabPath) {\n        var pathIndex = ~~Object.keys(this.$store.state.tabbar.list).find(function (i) {\n          return _this5.$store.state.tabbar.list[i].path == path;\n        });\n        var activedPathIndex = ~~Object.keys(this.$store.state.tabbar.list).find(function (i) {\n          return _this5.$store.state.tabbar.list[i].path == _this5.activedTabPath;\n        });\n\n        if (activedPathIndex > pathIndex) {\n          this.$router.push(path);\n        }\n      }\n\n      this.$store.dispatch('tabbar/removeRightSide', path);\n    },\n    actionCommand: function actionCommand(command) {\n      switch (command) {\n        case 'other-side':\n          this.onOtherSideTabClose(this.activedTabPath);\n          break;\n\n        case 'left-side':\n          this.onLeftSideTabClose(this.activedTabPath);\n          break;\n\n        case 'right-side':\n          this.onRightSideTabClose(this.activedTabPath);\n          break;\n      }\n    },\n    onTabbarContextmenu: function onTabbarContextmenu(event, routeItem) {\n      var _this6 = this;\n\n      this.$contextmenu({\n        items: [{\n          label: '重新加載',\n          icon: 'el-icon-refresh',\n          disabled: routeItem.path != this.activedTabPath,\n          onClick: function onClick() {\n            _this6.reload(1);\n          }\n        }, {\n          label: routeItem.isPin ? '取消固定' : '固定',\n          divided: true,\n          // 控制台页面不允许被固定，因为如果固定控制台且控制台被关闭后，会导致登录时进入路由死循环状态\n          disabled: routeItem.path == '/dashboard',\n          onClick: function onClick() {\n            if (routeItem.isPin) {\n              _this6.$store.dispatch('tabbar/unPin', routeItem.path);\n            } else {\n              _this6.$store.dispatch('tabbar/pin', routeItem.path);\n            }\n          }\n        }, {\n          label: '关闭标签页',\n          icon: 'el-icon-close',\n          disabled: this.$store.state.tabbar.list.length <= 1,\n          onClick: function onClick() {\n            _this6.onTabClose(routeItem.path);\n          }\n        }, {\n          label: '关闭其它标签页',\n          disabled: !this.checkOtherSideHasTabCanClose(routeItem.path),\n          onClick: function onClick() {\n            _this6.onOtherSideTabClose(routeItem.path);\n          }\n        }, {\n          label: '关闭左侧标签页',\n          disabled: !this.checkLeftSideHasTabCanClose(routeItem.path),\n          onClick: function onClick() {\n            _this6.onLeftSideTabClose(routeItem.path);\n          }\n        }, {\n          label: '关闭右侧标签页',\n          disabled: !this.checkRightSideHasTabCanClose(routeItem.path),\n          onClick: function onClick() {\n            _this6.onRightSideTabClose(routeItem.path);\n          }\n        }],\n        event: event,\n        zIndex: 1000\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/ThemeSetting/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'ThemeSetting',\n  inject: ['reload'],\n  props: {},\n  data: function data() {\n    return {\n      isShow: false\n    };\n  },\n  computed: {\n    layout: {\n      get: function get() {\n        return this.$store.state.settings.layout;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'layout': newValue\n        });\n      }\n    },\n    theme: {\n      get: function get() {\n        return this.$store.state.settings.theme;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'theme': newValue\n        });\n      }\n    },\n    elementSize: {\n      get: function get() {\n        return this.$store.state.settings.elementSize;\n      },\n      set: function set(newValue) {\n        this.$ELEMENT.size = newValue;\n        this.$store.commit('settings/updateThemeSetting', {\n          'elementSize': newValue\n        });\n        this.reload();\n      }\n    },\n    showHeader: {\n      get: function get() {\n        return this.$store.state.settings.showHeader;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'showHeader': newValue\n        });\n      }\n    },\n    enableSidebarCollapse: {\n      get: function get() {\n        return this.$store.state.settings.enableSidebarCollapse;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableSidebarCollapse': newValue\n        });\n      }\n    },\n    sidebarCollapse: {\n      get: function get() {\n        return this.$store.state.settings.sidebarCollapse;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'sidebarCollapse': newValue\n        });\n      }\n    },\n    switchSidebarAndPageJump: {\n      get: function get() {\n        return this.$store.state.settings.switchSidebarAndPageJump;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'switchSidebarAndPageJump': newValue\n        });\n      }\n    },\n    enableTabbar: {\n      get: function get() {\n        return this.$store.state.settings.enableTabbar;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableTabbar': newValue\n        });\n      }\n    },\n    topbarFixed: {\n      get: function get() {\n        return this.$store.state.settings.topbarFixed;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'topbarFixed': newValue\n        });\n      }\n    },\n    enableBreadcrumb: {\n      get: function get() {\n        return this.$store.state.settings.enableBreadcrumb;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableBreadcrumb': newValue\n        });\n      }\n    },\n    showCopyright: {\n      get: function get() {\n        return this.$store.state.settings.showCopyright;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'showCopyright': newValue\n        });\n      }\n    },\n    enableNavSearch: {\n      get: function get() {\n        return this.$store.state.settings.enableNavSearch;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableNavSearch': newValue\n        });\n      }\n    },\n    enableNotification: {\n      get: function get() {\n        return this.$store.state.settings.enableNotification;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableNotification': newValue\n        });\n      }\n    },\n    enableI18n: {\n      get: function get() {\n        return this.$store.state.settings.enableI18n;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableI18n': newValue\n        });\n      }\n    },\n    enableFullscreen: {\n      get: function get() {\n        return this.$store.state.settings.enableFullscreen;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableFullscreen': newValue\n        });\n      }\n    },\n    enablePageReload: {\n      get: function get() {\n        return this.$store.state.settings.enablePageReload;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enablePageReload': newValue\n        });\n      }\n    },\n    enableProgress: {\n      get: function get() {\n        return this.$store.state.settings.enableProgress;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableProgress': newValue\n        });\n      }\n    },\n    enableDynamicTitle: {\n      get: function get() {\n        return this.$store.state.settings.enableDynamicTitle;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableDynamicTitle': newValue\n        });\n      }\n    },\n    enableDashboard: {\n      get: function get() {\n        return this.$store.state.settings.enableDashboard;\n      },\n      set: function set(newValue) {\n        this.$store.commit('settings/updateThemeSetting', {\n          'enableDashboard': newValue\n        });\n      }\n    }\n  },\n  mounted: function mounted() {\n    var _this = this;\n\n    this.$eventBus.$on('global-theme-toggle', function () {\n      _this.isShow = !_this.isShow;\n    });\n  },\n  methods: {}\n});\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Topbar/index.vue?vue&type=script&lang=js& ***!
  \****************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/dist.es2015/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/util */ \"./src/util/index.js\");\n/* harmony import */ var _UserMenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UserMenu */ \"./src/layout/components/UserMenu/index.vue\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Breadcrumb',\n  components: {\n    UserMenu: _UserMenu__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n  },\n  inject: ['generateI18nTitle'],\n  computed: {\n    breadcrumbList: function breadcrumbList() {\n      var _this = this;\n\n      var breadcrumbList = [];\n\n      if (this.$store.state.settings.enableDashboard) {\n        breadcrumbList.push({\n          path: '/dashboard',\n          title: this.$store.state.settings.dashboardTitle,\n          i18n: 'route.dashboard'\n        });\n      }\n\n      if (this.$store.state.settings.enableFlatRoutes) {\n        if (this.$route.meta.breadcrumbNeste) {\n          this.$route.meta.breadcrumbNeste.map(function (item, index) {\n            var tmpItem = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"deepClone\"])(item);\n\n            if (index != 0) {\n              tmpItem.path = \"\".concat(_this.$route.meta.breadcrumbNeste[0].path, \"/\").concat(item.path);\n            }\n\n            breadcrumbList.push(tmpItem);\n          });\n        }\n      } else {\n        this.$route.matched.map(function (item) {\n          if (item.meta && item.meta.title && item.meta.breadcrumb !== false && item.path != '/dashboard') {\n            breadcrumbList.push({\n              path: item.path,\n              title: item.meta.title,\n              i18n: item.meta.i18n\n            });\n          }\n        });\n      }\n\n      return breadcrumbList;\n    }\n  },\n  methods: {\n    pathCompile: function pathCompile(path) {\n      var toPath = Object(path_to_regexp__WEBPACK_IMPORTED_MODULE_2__[\"compile\"])(path);\n      return toPath(this.$route.params);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=script&lang=js&":
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/UserMenu/index.vue?vue&type=script&lang=js& ***!
  \******************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var screenfull__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! screenfull */ \"./node_modules/screenfull/dist/screenfull.js\");\n/* harmony import */ var screenfull__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(screenfull__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/util/storage */ \"./src/util/storage.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n // import Notification from '../Notification'\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'UserMenu',\n  inject: ['reload', 'generateI18nTitle'],\n  data: function data() {\n    return {\n      store: '',\n      isFullscreenEnable: screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.isEnabled,\n      isFullscreen: false,\n      notifyVisible: false\n    };\n  },\n  mounted: function mounted() {\n    this.store = window.localStorage.getItem('faljxadmin_store') == 'null' ? '鹿角巷' : window.localStorage.getItem('faljxadmin_store');\n\n    if (screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.isEnabled) {\n      screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.on('change', this.fullscreenChange);\n    }\n  },\n  beforeDestroy: function beforeDestroy() {\n    if (screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.isEnabled) {\n      screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.off('change', this.fullscreenChange);\n    }\n  },\n  methods: {\n    // 解决 tabs 组件嵌套在 popover 组件里使用时，高亮效果有 bug ，所以做以下特殊处理\n    // https://github.com/ElemeFE/element/issues/19357\n    handlePopoverShow: function handlePopoverShow() {\n      this.$refs.tabs.$refs.tabs.calcPaneInstances(true);\n    },\n    fullscreen: function fullscreen() {\n      screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.toggle();\n    },\n    fullscreenChange: function fullscreenChange() {\n      this.isFullscreen = screenfull__WEBPACK_IMPORTED_MODULE_0___default.a.isFullscreen;\n    },\n    languageCommand: function languageCommand(command) {\n      this.$i18n.locale = command;\n      window.location.reload();\n      _util_storage__WEBPACK_IMPORTED_MODULE_1__[\"default\"].local.set('lang', this.$i18n.locale);\n      this.$store.commit('settings/setDefaultLang', command);\n      this.$route.meta.title && this.$store.commit('settings/setTitle', this.generateI18nTitle(this.$route.meta.i18n, this.$route.meta.title));\n    },\n    userCommand: function userCommand(command) {\n      var _this = this;\n\n      switch (command) {\n        case 'dashboard':\n          this.$router.push({\n            name: 'dashboard'\n          });\n          break;\n\n        case 'setting':\n          this.$router.push({\n            name: 'personalSetting'\n          });\n          break;\n\n        case 'logout':\n          this.$store.dispatch('user/logout').then(function () {\n            _this.$router.push({\n              name: 'login'\n            });\n          });\n          break;\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/empty.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/empty.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'EmptyLayout',\n  props: {},\n  data: function data() {\n    return {};\n  },\n  created: function created() {},\n  mounted: function mounted() {},\n  methods: {}\n});\n\n//# sourceURL=webpack:///./src/layout/empty.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Logo */ \"./src/layout/components/Logo/index.vue\");\n/* harmony import */ var _components_UserMenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/UserMenu */ \"./src/layout/components/UserMenu/index.vue\");\n/* harmony import */ var _components_SidebarItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/SidebarItem */ \"./src/layout/components/SidebarItem/index.vue\");\n/* harmony import */ var _components_Tabbar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/Tabbar */ \"./src/layout/components/Tabbar/index.vue\");\n/* harmony import */ var _components_Topbar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/Topbar */ \"./src/layout/components/Topbar/index.vue\");\n/* harmony import */ var _components_Search__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/Search */ \"./src/layout/components/Search/index.vue\");\n/* harmony import */ var _components_ThemeSetting__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/ThemeSetting */ \"./src/layout/components/ThemeSetting/index.vue\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Layout',\n  components: {\n    Logo: _components_Logo__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n    UserMenu: _components_UserMenu__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n    SidebarItem: _components_SidebarItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n    Tabbar: _components_Tabbar__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n    Topbar: _components_Topbar__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n    Search: _components_Search__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n    ThemeSetting: _components_ThemeSetting__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n  },\n  provide: function provide() {\n    return {\n      reload: this.reload\n    };\n  },\n  data: function data() {\n    return {\n      isRouterAlive: true,\n      routePath: '',\n      sidebarScrollTop: 0,\n      scrollTop: 0\n    };\n  },\n  computed: {\n    showCopyright: function showCopyright() {\n      return typeof this.$route.meta.copyright !== 'undefined' ? this.$route.meta.copyright : this.$store.state.settings.showCopyright;\n    }\n  },\n  watch: {\n    $route: 'routeChange',\n    '$store.state.settings.sidebarCollapse': function $storeStateSettingsSidebarCollapse(val) {\n      if (this.$store.state.settings.mode == 'mobile') {\n        if (!val) {\n          document.querySelector('body').classList.add('hidden');\n        } else {\n          document.querySelector('body').classList.remove('hidden');\n        }\n      }\n    }\n  },\n  mounted: function mounted() {\n    this.initHotkey();\n    window.addEventListener('scroll', this.onScroll);\n  },\n  destroyed: function destroyed() {\n    window.removeEventListener('scroll', this.onScroll);\n  },\n  methods: {\n    reload: function reload() {\n      var _this = this;\n\n      var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n      if (this.$store.state.settings.enableTabbar) {\n        var path = this.$route.meta.activeMenu || this.$route.fullPath;\n        var name;\n        this.$store.state.tabbar.list.map(function (v) {\n          if (v.path == path) {\n            name = v.name;\n          }\n        });\n\n        if (name) {\n          this.$store.commit('keepAlive/remove', name);\n          this.$router.push({\n            name: 'reload'\n          });\n          this.$nextTick(function () {\n            _this.$store.commit('keepAlive/add', name);\n          });\n        }\n      } else {\n        if (type == 1) {\n          this.isRouterAlive = false;\n          this.$nextTick(function () {\n            return _this.isRouterAlive = true;\n          });\n        } else {\n          this.$router.push({\n            name: 'reload'\n          });\n        }\n      }\n    },\n    routeChange: function routeChange(newVal, oldVal) {\n      if (newVal.name == oldVal.name) {\n        this.reload();\n      }\n    },\n    initHotkey: function initHotkey() {\n      var _this2 = this;\n\n      this.$hotkeys('alt+s', function (e) {\n        if (_this2.$store.state.settings.enableNavSearch) {\n          e.preventDefault();\n\n          _this2.$eventBus.$emit('global-search-toggle');\n        }\n      });\n      this.$hotkeys('f5', function (e) {\n        if (_this2.$store.state.settings.enablePageReload) {\n          e.preventDefault();\n\n          _this2.reload(_this2.$store.state.settings.enableTabbar ? 1 : 2);\n        }\n      });\n    },\n    onSidebarScroll: function onSidebarScroll(e) {\n      this.sidebarScrollTop = e.target.scrollTop;\n    },\n    onScroll: function onScroll() {\n      this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n    },\n    switchMenu: function switchMenu(index) {\n      this.$store.commit('menu/switchHeaderActived', index);\n\n      if (this.$store.state.settings.switchSidebarAndPageJump) {\n        this.$router.push(this.$store.getters['menu/sidebarRoutes'][0].path);\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/layout/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=script&lang=js&":
/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/404.vue?vue&type=script&lang=js& ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n    clearInterval(this.inter);\n    next();\n  },\n  data: function data() {\n    return {\n      inter: null,\n      countdown: 3\n    };\n  },\n  mounted: function mounted() {\n    var _this = this;\n\n    if (this.$store.state.settings.enableTabbar) {\n      this.$store.dispatch('tabbar/remove', this.$route.meta.activeMenu || this.$route.fullPath);\n    }\n\n    this.inter = setInterval(function () {\n      _this.countdown--;\n\n      if (_this.countdown == 0) {\n        clearInterval(_this.inter);\n\n        _this.goBack();\n      }\n    }, 1000);\n  },\n  methods: {\n    goBack: function goBack() {\n      this.$router.push('/');\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/404.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bank/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"./node_modules/regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      tableData: [],\n      form: {\n        account: '',\n        pass: ''\n      },\n      addshow: false\n    };\n  },\n  watch: {\n    addshow: function addshow(val) {\n      if (!val) {\n        this.form = {\n          account: '',\n          pass: ''\n        };\n      }\n    }\n  },\n  created: function created() {\n    this.init();\n  },\n  methods: {\n    edit: function edit(item) {\n      var account = item.account,\n          pass = item.pass,\n          name = item.name,\n          id = item.id;\n      this.form = {\n        account: account,\n        pass: pass,\n        name: name,\n        id: id\n      };\n      this.addshow = true;\n    },\n    init: function init() {\n      var _this = this;\n\n      this.get('/web/userList').then(function (res) {\n        if (res.code === 2000) {\n          _this.tableData = res.data;\n        }\n      });\n    },\n    del: function del(id) {\n      var _this2 = this;\n\n      var data = {\n        id: id\n      };\n      this.get('/web/delUser', data).then(function (res) {\n        if (res.code === 2000) {\n          _this2.$message({\n            message: _this2.$t('app.success'),\n            type: 'success'\n          });\n\n          _this2.init();\n        }\n      });\n    },\n    certain: function certain() {\n      var _this3 = this;\n\n      return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(!_this3.form.account || !_this3.form.name)) {\n                  _context.next = 3;\n                  break;\n                }\n\n                _this3.$message({\n                  message: _this3.$t('app.tips'),\n                  type: 'error'\n                });\n\n                return _context.abrupt(\"return\");\n\n              case 3:\n                _this3.post('/web/editUser', _this3.form).then(function (res) {\n                  if (res.code === 2000) {\n                    _this3.$message({\n                      message: _this3.$t('app.success'),\n                      type: 'success'\n                    });\n\n                    _this3.init();\n\n                    _this3.addshow = false;\n                  }\n                }).catch(function (err) {\n                  _this3.$message({\n                    message: err.msg,\n                    type: 'error'\n                  });\n                });\n\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/home/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      tableData: [],\n      value1: [],\n      list: [],\n      show3: false\n    };\n  },\n  created: function created() {\n    this.init();\n  },\n  methods: {\n    xlk: function xlk() {\n      this.init();\n    },\n    init: function init() {\n      var _this = this;\n\n      var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n      var data = {\n        status: status,\n        end_date: this.value1 == null ? '' : this.value1[0],\n        start_date: this.value1 == null ? '' : this.value1[1]\n      };\n      this.post('/web/orderList', data).then(function (res) {\n        if (res.code === 2000) {\n          _this.tableData = res.data;\n        }\n      });\n    },\n    detail: function detail(item) {\n      this.show3 = true;\n      this.list = item;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/home/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/util/storage */ \"./src/util/storage.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'Login',\n  inject: ['generateI18nTitle'],\n  data: function data() {\n    return {\n      value1: false,\n      num: 120,\n      timar: null,\n      flag1: false,\n      flag: false,\n      title: \"鹿角巷\",\n      // 表单类型，login 登录，reset 重置密码\n      formType: 'login',\n      loginForm: {\n        mobile: _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.get('login_mobile'),\n        password: '',\n        remember: _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.has('login_mobile')\n      },\n      loginRules: {// password: [\n        //     { required: true, trigger: 'blur', message: '请输入密码' },\n        //     { min: 6, max: 18, trigger: 'blur', message: '密码长度为6到18位' }\n        // ],\n        // mobile: [\n        //     { required: true, trigger: 'blur', message: '请输入用户名' }\n        // ]\n      },\n      loginRules1: {\n        password: [{\n          required: true,\n          trigger: 'blur',\n          message: '请输入验证码'\n        }],\n        mobile: [{\n          min: 11,\n          max: 11,\n          required: true,\n          trigger: 'blur',\n          message: '请输入11位手机号'\n        }]\n      },\n      resetForm: {\n        mobile: _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.get('login_mobile'),\n        captcha: '',\n        newPassword: ''\n      },\n      resetRules: {\n        mobile: [{\n          required: true,\n          trigger: 'blur',\n          message: '请输入用户名'\n        }],\n        captcha: [{\n          required: true,\n          trigger: 'blur',\n          message: '请输入验证码'\n        }],\n        newPassword: [{\n          required: true,\n          trigger: 'blur',\n          message: '请输入新密码'\n        }, {\n          min: 6,\n          max: 18,\n          trigger: 'blur',\n          message: '密码长度为6到18位'\n        }]\n      },\n      loading: false,\n      passwordType: 'password',\n      redirect: undefined\n    };\n  },\n  watch: {\n    $route: {\n      handler: function handler(route) {\n        this.redirect = route.query && route.query.redirect;\n      },\n      immediate: true\n    }\n  },\n  created: function created() {\n    this.languageCommand();\n  },\n  methods: {\n    languageCommand: function languageCommand() {\n      this.$i18n.locale = this.value1 ? 'en' : 'tc';\n      this.$store.commit('settings/setDefaultLang', this.$i18n.locale);\n      _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.set('lang', this.$i18n.locale);\n      this.$route.meta.title && this.$store.commit('settings/setTitle', this.generateI18nTitle(this.$route.meta.i18n, this.$route.meta.title));\n    },\n    showPassword: function showPassword() {\n      var _this = this;\n\n      this.passwordType = this.passwordType === 'password' ? '' : 'password';\n      this.$nextTick(function () {\n        _this.$refs.password.focus();\n      });\n    },\n    handleLogin: function handleLogin() {\n      var _this2 = this;\n\n      this.$refs.loginForm.validate(function (valid) {\n        if (valid) {\n          var data = {};\n          _this2.loading = true;\n\n          if (_this2.flag) {\n            data = {\n              name: _this2.loginForm.mobile,\n              code: _this2.loginForm.password,\n              type: '2',\n              remember: _this2.loginForm.remember,\n              plat: 0\n            };\n          } else {\n            data = {\n              account: _this2.loginForm.mobile,\n              pass: _this2.loginForm.password,\n              lang: window.localStorage.getItem('faljxadmin_lang') // type: '1',\n              // remember: this.loginForm.remember,\n              // plat: 0\n\n            };\n          } // console.log(this.$store)\n\n\n          _this2.$store.dispatch('user/login', data).then(function () {\n            _this2.loading = false;\n\n            if (_this2.loginForm.remember) {\n              _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.set('login_mobile', _this2.loginForm.mobile);\n            } else {\n              _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.remove('login_mobile');\n            }\n\n            _this2.$router.push({\n              path: '/'\n            });\n\n            _this2.geticon();\n          }).catch(function () {\n            // console.log(1)\n            _this2.loading = false;\n          });\n        }\n      });\n    },\n    handleFind: function handleFind() {\n      this.$message({\n        message: '重置密码仅提供界面演示，无实际功能，需开发者自行扩展',\n        type: 'info'\n      });\n      this.$refs.resetForm.validate(function (valid) {\n        if (valid) {// 这里编写业务代码\n        }\n      });\n    },\n    getcode: function getcode() {\n      var _this3 = this;\n\n      this.flag1 = true;\n\n      if (!this.timar) {\n        this.timar = setInterval(function () {\n          _this3.num--;\n\n          if (_this3.num == 0) {\n            clearInterval(_this3.timar);\n            _this3.flag1 = false;\n            _this3.num = 120;\n            _this3.timar = null;\n          }\n        }, 1000);\n        this.$api.post('/api/sendsms', {\n          mobile: this.loginForm.mobile,\n          type: 'verification'\n        });\n      }\n    },\n    flagt: function flagt() {\n      this.flag = !this.flag;\n      this.loginForm.password = '';\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/login.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/market/index.vue?vue&type=script&lang=js& ***!
  \****************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      monneydata: [0, 0, 0],\n      ydata: [],\n      value2: [],\n      list: []\n    };\n  },\n  mounted: function mounted() {\n    this.value2 = this.initDate();\n    this.init();\n  },\n  methods: {\n    initDate: function initDate() {\n      var today = new Date();\n\n      var _today = today.toISOString().slice(0, 10);\n\n      var offsetDate = new Date().setDate(today.getDate() - 30);\n\n      var _offsetDate = new Date(offsetDate).toISOString().slice(0, 10);\n\n      return [_offsetDate, _today];\n    },\n    changedate: function changedate() {\n      console.log(this.value2);\n      this.init();\n    },\n    export2Excel: function export2Excel(exportData) {\n      var _this = this;\n\n      Promise.all(/*! require.ensure */[__webpack_require__.e(0), __webpack_require__.e(1)]).then((function () {\n        var _require = __webpack_require__(/*! ../../util/Export2Excel */ \"./src/util/Export2Excel.js\"),\n            export_json_to_excel = _require.export_json_to_excel;\n\n        var tHeader = [_this.$t('app.date'), _this.$t('app.Sales')];\n        var filterVal = ['t', 'v'];\n        var qtime = _this.value2 ? _this.value2[0].slice(5) : '';\n        var htime = _this.value2 ? _this.value2[1].slice(5) : '';\n\n        var data = _this.formatJson(filterVal, exportData);\n\n        export_json_to_excel(\"\".concat(qtime, \"~\").concat(htime) + _this.$t('app.Monthlysales'), tHeader, data, \"\".concat(qtime, \"~\").concat(htime) + _this.$t('app.Monthlysales'));\n      }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);\n    },\n    formatJson: function formatJson(filterVal, jsonData) {\n      return jsonData.map(function (v) {\n        return filterVal.map(function (j) {\n          return v[j];\n        });\n      });\n    },\n    hanchange6: function hanchange6() {\n      this.export2Excel(this.list);\n    },\n    checklang: function checklang() {\n      var chartDom = this.$refs.xs;\n      var myChart = this.echarts.init(chartDom);\n      myChart.dispose();\n      this.xs();\n    },\n    init: function init() {\n      var _this2 = this;\n\n      var _ref = this.value2 == null ? [] : this.value2,\n          _ref2 = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_ref, 2),\n          _ref2$ = _ref2[0],\n          n = _ref2$ === void 0 ? '' : _ref2$,\n          _ref2$2 = _ref2[1],\n          m = _ref2$2 === void 0 ? '' : _ref2$2;\n\n      var data = {\n        start_date: n,\n        end_date: m\n      };\n      this.get('/web/analyze', data).then(function (res) {\n        if (res.code === 2000) {\n          _this2.ydata = [];\n          _this2.monneydata = [];\n          _this2.list = [];\n\n          if (Object.values(res.data).length) {\n            for (var key in res.data) {\n              _this2.ydata.push(key);\n\n              _this2.monneydata.push(res.data[key].money);\n\n              _this2.list.push({\n                t: key,\n                v: res.data[key].money\n              });\n            }\n          }\n\n          _this2.checklang();\n        }\n      });\n    },\n    xs: function xs() {\n      var chartDom = this.$refs.xs;\n      var myChart = this.echarts.init(chartDom);\n      var option;\n      option = {\n        tooltip: {},\n        grid: {\n          left: '3%',\n          right: '4%',\n          bottom: '3%',\n          containLabel: true\n        },\n        xAxis: {\n          type: 'category',\n          boundaryGap: false,\n          data: this.ydata\n        },\n        yAxis: {\n          type: 'value'\n        },\n        series: [{\n          type: 'line',\n          stack: 'Total',\n          data: this.monneydata\n        }]\n      };\n      option && myChart.setOption(option);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/market/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/mixs/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/mixs/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      tableData: [],\n      total2: 0,\n      srcList: [],\n      page: 1,\n      oplist: []\n    };\n  },\n  created: function created() {\n    this.init();\n  },\n  methods: {\n    init: function init() {\n      var _this = this;\n\n      var data = {\n        page: this.page,\n        page_nums: 10\n      };\n      this.post('/web/mixedList', data).then(function (res) {\n        if (res.code === 2000) {\n          _this.tableData = res.data.list;\n          _this.total2 = res.data.count;\n        }\n      });\n    },\n    current: function current(e) {\n      this.page = e;\n      this.init();\n    },\n    out: function out(type, id) {\n      var _this2 = this;\n\n      console.log(id);\n      this.post('/web/mixeduod', {\n        type: type,\n        id: id\n      }).then(function (res) {\n        if (res.code === 2000) {\n          _this2.init();\n        }\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/mixs/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/edit.password.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/personal/edit.password.vue?vue&type=script&lang=js& ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/util/storage */ \"./src/util/storage.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      num: 120,\n      timar: null,\n      flag1: false,\n      mobile: '',\n      form: {\n        newpass: '',\n        repass: '',\n        code: ''\n      },\n      rules: {\n        newpass: [{\n          required: true,\n          message: '请输入新密码',\n          trigger: 'blur'\n        }],\n        repass: [{\n          required: true,\n          message: '请输入新密码',\n          trigger: 'blur'\n        }],\n        code: [{\n          required: true,\n          message: '请输入验证码',\n          trigger: 'blur'\n        }]\n      }\n    };\n  },\n  methods: {\n    onSubmit: function onSubmit() {\n      var _this = this;\n\n      this.$refs.form.validate(function (valid) {\n        if (valid) {\n          _this.getsync('/admin/editPass', _this.form).then(function (res) {\n            if (res.code === 2000) {\n              _this.form = {\n                oldpass: '',\n                newpass: '',\n                repass: ''\n              };\n\n              _this.$message({\n                message: '修改成功',\n                type: 'success'\n              });\n            }\n          });\n        }\n      });\n    },\n    getcode: function getcode() {\n      var _this2 = this;\n\n      this.flag1 = true;\n\n      if (!this.timar) {\n        this.timar = setInterval(function () {\n          _this2.num--;\n\n          if (_this2.num == 0) {\n            clearInterval(_this2.timar);\n            _this2.flag1 = false;\n            _this2.num = 120;\n            _this2.timar = null;\n          }\n        }, 1000);\n        this.$api.post('/api/sendsms', {\n          mobile: _util_storage__WEBPACK_IMPORTED_MODULE_0__[\"default\"].local.get('account'),\n          type: 'verification'\n        });\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/personal/edit.password.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=script&lang=js&":
/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/personal/setting.vue?vue&type=script&lang=js& ***!
  \********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"./node_modules/regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'PersonalSetting',\n  beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n    if (['personalEditPassword'].includes(to.name)) {\n      this.$store.commit('keepAlive/add', 'PersonalSetting');\n    }\n\n    next();\n  },\n  data: function data() {\n    return {\n      form: {\n        headimg: '',\n        mobile: '',\n        name: '',\n        qq: '',\n        wechat: ''\n      },\n      data1: {},\n      image: ''\n    };\n  },\n  created: function created() {},\n  mounted: function mounted() {},\n  methods: {\n    handleAvatarSuccess: function handleAvatarSuccess(res) {\n      if (res.code === 2000) {\n        this.image = res.data;\n      }\n    },\n    beforeAvatarUpload: function beforeAvatarUpload(file) {\n      var _this = this;\n\n      return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var fd;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                fd = new FormData();\n                fd.append('file', file);\n                _context.next = 4;\n                return _this.postsync('/admin/uploadimg', fd);\n\n              case 4:\n                _this.data1 = {\n                  token: _this.$store.state.user.token\n                };\n\n              case 5:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    handleSuccess: function handleSuccess(res) {\n      if (res.error == '') {\n        this.form.headimg = res.data.path;\n      } else {\n        this.$message.warning(res.error);\n      }\n    },\n    editPassword: function editPassword() {\n      this.$router.push({\n        name: 'personalEditPassword'\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/reload.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/reload.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  mounted: function mounted() {\n    this.$router.go(-1);\n  }\n});\n\n//# sourceURL=webpack:///./src/views/reload.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/shops/index.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/shops/index.vue?vue&type=script&lang=js& ***!
  \***************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function data() {\n    return {\n      tableData: [],\n      total2: 0,\n      srcList: [],\n      page: 1,\n      oplist: []\n    };\n  },\n  created: function created() {\n    this.init();\n  },\n  methods: {\n    init: function init() {\n      var _this = this;\n\n      var data = {\n        page: this.page,\n        page_nums: 10\n      };\n      this.post('/web/goodsList', data).then(function (res) {\n        if (res.code === 2000) {\n          _this.tableData = res.data.list;\n\n          _this.tableData.forEach(function (item) {\n            item.images = item.images.split(',');\n          });\n\n          _this.total2 = res.data.count;\n        }\n      }); // let data1={\n      //     page:1,page_nums:9999999999\n      // }\n      // this.get('/admin/cate/list',data1).then(res=>{\n      //     this.oplist=res.data.list.filter(it=>it.name!=null)\n      // })\n    },\n    current: function current(e) {\n      this.page = e;\n      this.init();\n    },\n    out: function out(type, id) {\n      var _this2 = this;\n\n      this.post('/web/gooduod', {\n        type: type,\n        id: id\n      }).then(function (res) {\n        if (res.code === 2000) {\n          _this2.init();\n        }\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/shops/index.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=adcce53c&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=adcce53c& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"transition\", { attrs: { name: \"viewer-fade\" } }, [\n    _c(\n      \"div\",\n      {\n        ref: \"el-image-viewer__wrapper\",\n        staticClass: \"el-image-viewer__wrapper\",\n        style: { \"z-index\": _vm.viewerZIndex },\n        attrs: { tabindex: \"-1\" },\n      },\n      [\n        _c(\"div\", {\n          staticClass: \"el-image-viewer__mask\",\n          on: {\n            click: function ($event) {\n              if ($event.target !== $event.currentTarget) {\n                return null\n              }\n              return _vm.handleMaskClick.apply(null, arguments)\n            },\n          },\n        }),\n        _c(\n          \"span\",\n          {\n            staticClass: \"el-image-viewer__btn el-image-viewer__close\",\n            on: { click: _vm.hide },\n          },\n          [_c(\"i\", { staticClass: \"el-icon-close\" })]\n        ),\n        !_vm.isSingle\n          ? [\n              _c(\n                \"span\",\n                {\n                  staticClass: \"el-image-viewer__btn el-image-viewer__prev\",\n                  class: { \"is-disabled\": !_vm.infinite && _vm.isFirst },\n                  on: { click: _vm.prev },\n                },\n                [_c(\"i\", { staticClass: \"el-icon-arrow-left\" })]\n              ),\n              _c(\n                \"span\",\n                {\n                  staticClass: \"el-image-viewer__btn el-image-viewer__next\",\n                  class: { \"is-disabled\": !_vm.infinite && _vm.isLast },\n                  on: { click: _vm.next },\n                },\n                [_c(\"i\", { staticClass: \"el-icon-arrow-right\" })]\n              ),\n            ]\n          : _vm._e(),\n        _c(\n          \"div\",\n          { staticClass: \"el-image-viewer__btn el-image-viewer__actions\" },\n          [\n            _c(\"div\", { staticClass: \"el-image-viewer__actions__inner\" }, [\n              _c(\"i\", {\n                staticClass: \"el-icon-zoom-out\",\n                on: {\n                  click: function ($event) {\n                    return _vm.handleActions(\"zoomOut\")\n                  },\n                },\n              }),\n              _c(\"i\", {\n                staticClass: \"el-icon-zoom-in\",\n                on: {\n                  click: function ($event) {\n                    return _vm.handleActions(\"zoomIn\")\n                  },\n                },\n              }),\n              _c(\"i\", { staticClass: \"el-image-viewer__actions__divider\" }),\n              _c(\"i\", { class: _vm.mode.icon, on: { click: _vm.toggleMode } }),\n              _c(\"i\", { staticClass: \"el-image-viewer__actions__divider\" }),\n              _c(\"i\", {\n                staticClass: \"el-icon-refresh-left\",\n                on: {\n                  click: function ($event) {\n                    return _vm.handleActions(\"anticlocelise\")\n                  },\n                },\n              }),\n              _c(\"i\", {\n                staticClass: \"el-icon-refresh-right\",\n                on: {\n                  click: function ($event) {\n                    return _vm.handleActions(\"clocelise\")\n                  },\n                },\n              }),\n            ]),\n          ]\n        ),\n        _c(\n          \"div\",\n          { staticClass: \"el-image-viewer__canvas\" },\n          _vm._l(_vm.urlList, function (url, i) {\n            return i === _vm.index\n              ? _c(\"img\", {\n                  key: url,\n                  ref: \"img\",\n                  refInFor: true,\n                  staticClass: \"el-image-viewer__img\",\n                  style: _vm.imgStyle,\n                  attrs: { src: _vm.currentImg },\n                  on: {\n                    load: _vm.handleImgLoad,\n                    error: _vm.handleImgError,\n                    mousedown: _vm.handleMouseDown,\n                  },\n                })\n              : _vm._e()\n          }),\n          0\n        ),\n      ],\n      2\n    ),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./node_modules/element-ui/packages/image/src/image-viewer.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=template&id=1ee512b4&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=template&id=1ee512b4& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=template&id=e3a2c392&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=template&id=e3a2c392&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"transition\", { attrs: { name: \"contextmenu-submenu-fade\" } }, [\n    _vm.visible\n      ? _c(\n          \"div\",\n          {\n            ref: \"menu\",\n            class: [_vm.commonClass.menu, \"menu\", _vm.customClass],\n            style: {\n              left: _vm.style.left + \"px\",\n              top: _vm.style.top + \"px\",\n              minWidth: _vm.style.minWidth + \"px\",\n              zIndex: _vm.style.zIndex,\n            },\n            on: {\n              contextmenu: function (e) {\n                return e.preventDefault()\n              },\n            },\n          },\n          [\n            _c(\n              \"div\",\n              { staticClass: \"menu_body\" },\n              [\n                _vm._l(_vm.items, function (item, index) {\n                  return [\n                    !item.hidden\n                      ? [\n                          item.disabled\n                            ? _c(\n                                \"div\",\n                                {\n                                  key: index,\n                                  class: [\n                                    _vm.commonClass.menuItem,\n                                    _vm.commonClass.unclickableMenuItem,\n                                    \"menu_item\",\n                                    \"menu_item__disabled\",\n                                    item.divided ? \"menu_item__divided\" : null,\n                                  ],\n                                },\n                                [\n                                  _vm.hasIcon\n                                    ? _c(\n                                        \"div\",\n                                        { staticClass: \"menu_item_icon\" },\n                                        [\n                                          item.icon\n                                            ? _c(\"i\", { class: item.icon })\n                                            : _vm._e(),\n                                        ]\n                                      )\n                                    : _vm._e(),\n                                  _c(\n                                    \"span\",\n                                    { staticClass: \"menu_item_label\" },\n                                    [_vm._v(_vm._s(item.label))]\n                                  ),\n                                  _c(\"div\", {\n                                    staticClass: \"menu_item_expand_icon\",\n                                  }),\n                                ]\n                              )\n                            : item.children\n                            ? _c(\n                                \"div\",\n                                {\n                                  key: index,\n                                  class: [\n                                    _vm.commonClass.menuItem,\n                                    _vm.commonClass.unclickableMenuItem,\n                                    \"menu_item\",\n                                    \"menu_item__available\",\n                                    _vm.activeSubmenu.index === index\n                                      ? \"menu_item_expand\"\n                                      : null,\n                                    item.divided ? \"menu_item__divided\" : null,\n                                  ],\n                                  on: {\n                                    mouseenter: function ($event) {\n                                      return _vm.enterItem($event, item, index)\n                                    },\n                                  },\n                                },\n                                [\n                                  _vm.hasIcon\n                                    ? _c(\n                                        \"div\",\n                                        { staticClass: \"menu_item_icon\" },\n                                        [\n                                          item.icon\n                                            ? _c(\"i\", { class: item.icon })\n                                            : _vm._e(),\n                                        ]\n                                      )\n                                    : _vm._e(),\n                                  _c(\n                                    \"span\",\n                                    { staticClass: \"menu_item_label\" },\n                                    [_vm._v(_vm._s(item.label))]\n                                  ),\n                                  _c(\n                                    \"div\",\n                                    { staticClass: \"menu_item_expand_icon\" },\n                                    [_vm._v(\"▶\")]\n                                  ),\n                                ]\n                              )\n                            : _c(\n                                \"div\",\n                                {\n                                  key: index,\n                                  class: [\n                                    _vm.commonClass.menuItem,\n                                    _vm.commonClass.clickableMenuItem,\n                                    \"menu_item\",\n                                    \"menu_item__available\",\n                                    item.divided ? \"menu_item__divided\" : null,\n                                  ],\n                                  on: {\n                                    mouseenter: function ($event) {\n                                      return _vm.enterItem($event, item, index)\n                                    },\n                                    click: function ($event) {\n                                      return _vm.itemClick(item)\n                                    },\n                                  },\n                                },\n                                [\n                                  _vm.hasIcon\n                                    ? _c(\n                                        \"div\",\n                                        { staticClass: \"menu_item_icon\" },\n                                        [\n                                          item.icon\n                                            ? _c(\"i\", { class: item.icon })\n                                            : _vm._e(),\n                                        ]\n                                      )\n                                    : _vm._e(),\n                                  _c(\n                                    \"span\",\n                                    { staticClass: \"menu_item_label\" },\n                                    [_vm._v(_vm._s(item.label))]\n                                  ),\n                                  _c(\"div\", {\n                                    staticClass: \"menu_item_expand_icon\",\n                                  }),\n                                ]\n                              ),\n                        ]\n                      : _vm._e(),\n                  ]\n                }),\n              ],\n              2\n            ),\n          ]\n        )\n      : _vm._e(),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { attrs: { id: \"app\" } }, [_c(\"RouterView\")], 1)\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=template&id=121c36cd&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AbsoluteContainer/index.vue?vue&type=template&id=121c36cd&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"absolute-container\" },\n    [_vm._t(\"default\")],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=template&id=28fd3be8&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AmapMarker/index.vue?vue&type=template&id=28fd3be8&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"map\" },\n    [\n      _c(\"el-autocomplete\", {\n        staticClass: \"search\",\n        attrs: {\n          \"fetch-suggestions\": _vm.onSearch,\n          \"trigger-on-focus\": false,\n          clearable: \"\",\n          \"prefix-icon\": \"el-icon-location-information\",\n          placeholder: \"请输入地址关键字\",\n        },\n        on: { select: _vm.onSelect },\n        scopedSlots: _vm._u([\n          {\n            key: \"default\",\n            fn: function (ref) {\n              var item = ref.item\n              return [\n                _c(\"div\", { staticClass: \"search-name\" }, [\n                  _vm._v(_vm._s(item.name)),\n                ]),\n                _c(\n                  \"span\",\n                  {\n                    staticClass: \"search-address\",\n                    attrs: { title: item.district + item.address },\n                  },\n                  [_vm._v(_vm._s(item.district + item.address))]\n                ),\n              ]\n            },\n          },\n        ]),\n        model: {\n          value: _vm.search,\n          callback: function ($$v) {\n            _vm.search = $$v\n          },\n          expression: \"search\",\n        },\n      }),\n      _c(\"div\", {\n        style: \"height:\" + _vm.realHeight + \";\",\n        attrs: { id: \"amap\" },\n      }),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Auth/index.vue?vue&type=template&id=224f8b4a&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Auth/index.vue?vue&type=template&id=224f8b4a& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", [_vm.check() ? _vm._t(\"default\") : _vm._t(\"no-auth\")], 2)\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/Auth/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AuthAll/index.vue?vue&type=template&id=09e3a01c&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AuthAll/index.vue?vue&type=template&id=09e3a01c& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", [_vm.check() ? _vm._t(\"default\") : _vm._t(\"no-auth\")], 2)\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/AuthAll/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=template&id=0c14e654&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/BatchActionBar/index.vue?vue&type=template&id=0c14e654&scoped=true& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"batch-action-bar\" },\n    [\n      _c(\n        \"el-checkbox\",\n        {\n          attrs: {\n            indeterminate: _vm.isIndeterminate,\n            disabled: !_vm.data.length,\n          },\n          model: {\n            value: _vm.checkAll,\n            callback: function ($$v) {\n              _vm.checkAll = $$v\n            },\n            expression: \"checkAll\",\n          },\n        },\n        [_vm._v(\"当页全选\")]\n      ),\n      _vm.selectionData.length\n        ? _c(\"div\", { staticClass: \"tips\" }, [\n            _vm._v(\"已选 \" + _vm._s(_vm.selectionData.length) + \" 项\"),\n          ])\n        : _vm._e(),\n      _c(\n        \"el-form\",\n        { attrs: { disabled: !_vm.selectionData.length } },\n        [_vm._t(\"default\")],\n        2\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=template&id=595dd2de&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/CascaderArea/index.vue?vue&type=template&id=595dd2de&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"el-cascader\", {\n    attrs: {\n      options: _vm.options,\n      props: _vm.props,\n      size: _vm.size,\n      disabled: _vm.disabled,\n      clearable: \"\",\n      filterable: \"\",\n    },\n    model: {\n      value: _vm.myValue,\n      callback: function ($$v) {\n        _vm.myValue = $$v\n      },\n      expression: \"myValue\",\n    },\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=template&id=2f201802&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Chip/index.vue?vue&type=template&id=2f201802&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"chip\", class: [_vm.type ? \"chip--\" + _vm.type : \"\"] },\n    [\n      _c(\n        \"div\",\n        { staticClass: \"content\" },\n        [\n          _vm._t(\"default\"),\n          _vm.closable\n            ? _c(\n                \"span\",\n                { staticClass: \"closable\", on: { click: _vm.handleClose } },\n                [_c(\"i\", { staticClass: \"el-icon-close\" })]\n              )\n            : _vm._e(),\n        ],\n        2\n      ),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=template&id=1503bb9d&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorfulCard/index.vue?vue&type=template&id=1503bb9d&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"el-card\",\n    {\n      staticClass: \"mini-card\",\n      style: {\n        background:\n          \"linear-gradient(50deg, \" + _vm.colorFrom + \", \" + _vm.colorTo + \")\",\n      },\n      attrs: { shadow: \"hover\" },\n    },\n    [\n      _c(\"div\", { attrs: { slot: \"header\" }, slot: \"header\" }, [\n        _vm._v(_vm._s(_vm.header)),\n      ]),\n      _c(\"div\", { staticClass: \"num\" }, [_vm._v(_vm._s(_vm.num))]),\n      _c(\"div\", { staticClass: \"tip\" }, [_vm._v(_vm._s(_vm.tip))]),\n      _vm.icon ? _c(\"svg-icon\", { attrs: { name: _vm.icon } }) : _vm._e(),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=template&id=faa3b4ec&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Copyright/index.vue?vue&type=template&id=faa3b4ec&scoped=true& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"footer\",\n    { staticClass: \"copyright\" },\n    [\n      _vm._v(\n        \" Copyright © \" + _vm._s(_vm.$store.state.settings.copyrightDates) + \" \"\n      ),\n      _c(\"component\", _vm._b({}, \"component\", _vm.linkProps(), false), [\n        _vm._v(_vm._s(_vm.$store.state.settings.copyrightCompany)),\n      ]),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=template&id=7480c5e0&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Editor/index.vue?vue&type=template&id=7480c5e0&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"editor\" },\n    [\n      _c(\"TinymceEditor\", {\n        attrs: { init: _vm.completeSetting, disabled: _vm.disabled },\n        model: {\n          value: _vm.myValue,\n          callback: function ($$v) {\n            _vm.myValue = $$v\n          },\n          expression: \"myValue\",\n        },\n      }),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=template&id=211f81e0&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/index.vue?vue&type=template&id=211f81e0&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"el-upload\",\n    {\n      attrs: {\n        action: _vm.action,\n        data: _vm.data,\n        name: _vm.name,\n        \"before-upload\": _vm.beforeUpload,\n        \"on-exceed\": _vm.onExceed,\n        \"on-success\": _vm.onSuccess,\n        \"file-list\": _vm.files,\n        limit: _vm.max,\n        drag: \"\",\n      },\n    },\n    [\n      _c(\"div\", { staticClass: \"slot\" }, [\n        _c(\"i\", { staticClass: \"el-icon-upload\" }),\n        _c(\"div\", { staticClass: \"el-upload__text\" }, [\n          _vm._v(\"将文件拖到此处，或\"),\n          _c(\"em\", [_vm._v(\"点击上传\")]),\n        ]),\n      ]),\n      !_vm.notip\n        ? _c(\n            \"div\",\n            {\n              staticClass: \"el-upload__tip\",\n              attrs: { slot: \"tip\" },\n              slot: \"tip\",\n            },\n            [\n              _c(\n                \"div\",\n                { staticStyle: { display: \"inline-block\" } },\n                [\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"上传文件支持 \" +\n                        _vm.ext.join(\" / \") +\n                        \" 格式，单个文件大小不超过 \" +\n                        _vm.size +\n                        \"MB，且文件数量不超过 \" +\n                        _vm.max +\n                        \" 个\",\n                      type: \"info\",\n                      \"show-icon\": \"\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n            ]\n          )\n        : _vm._e(),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=template&id=5f6be348&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FixedActionBar/index.vue?vue&type=template&id=5f6be348&scoped=true& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      class: {\n        actionbar: true,\n        shadow: !_vm.isBottom,\n      },\n      attrs: { \"data-fixed-calc-width\": \"\" },\n    },\n    [_vm._t(\"default\")],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=template&id=98c64b4c&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/IconPicker/index.vue?vue&type=template&id=98c64b4c&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"el-popover\",\n    {\n      attrs: { placement: \"bottom\", trigger: \"hover\", width: \"250\" },\n      on: { show: _vm.handlePopoverShow },\n    },\n    [\n      _c(\n        \"div\",\n        {\n          staticClass: \"picker-container\",\n          attrs: { slot: \"reference\" },\n          slot: \"reference\",\n        },\n        [\n          _vm.myValue != \"\"\n            ? _c(\"svg-icon\", { attrs: { name: _vm.myValue } })\n            : _c(\"i\", { staticClass: \"el-icon-plus\" }),\n        ],\n        1\n      ),\n      _c(\n        \"el-tabs\",\n        {\n          ref: \"tabs\",\n          model: {\n            value: _vm.activeTab,\n            callback: function ($$v) {\n              _vm.activeTab = $$v\n            },\n            expression: \"activeTab\",\n          },\n        },\n        [\n          _c(\n            \"el-tab-pane\",\n            { attrs: { label: \"Element Icon\", name: \"element\" } },\n            [\n              _c(\"el-input\", {\n                attrs: {\n                  size: \"mini\",\n                  placeholder: \"请输入搜索关键词\",\n                  \"prefix-icon\": \"el-icon-search\",\n                  clearable: \"\",\n                },\n                model: {\n                  value: _vm.element.search,\n                  callback: function ($$v) {\n                    _vm.$set(_vm.element, \"search\", $$v)\n                  },\n                  expression: \"element.search\",\n                },\n              }),\n              _c(\n                \"div\",\n                { staticClass: \"list-icon\" },\n                _vm._l(_vm.elementIconCurrentList, function (item, index) {\n                  return _c(\n                    \"span\",\n                    {\n                      key: index,\n                      staticClass: \"list-icon-item\",\n                      on: {\n                        click: function ($event) {\n                          return _vm.choose(\"el-icon-\" + item)\n                        },\n                      },\n                    },\n                    [_c(\"svg-icon\", { attrs: { name: \"el-icon-\" + item } })],\n                    1\n                  )\n                }),\n                0\n              ),\n              _c(\"el-pagination\", {\n                attrs: {\n                  small: \"\",\n                  layout: \"prev, pager, next\",\n                  \"current-page\": _vm.element.currentPage,\n                  \"page-size\": _vm.element.pageSize,\n                  total: _vm.elementIconList.length,\n                  \"pager-count\": 5,\n                },\n                on: {\n                  \"update:currentPage\": function ($event) {\n                    return _vm.$set(_vm.element, \"currentPage\", $event)\n                  },\n                  \"update:current-page\": function ($event) {\n                    return _vm.$set(_vm.element, \"currentPage\", $event)\n                  },\n                },\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"el-tab-pane\",\n            { attrs: { label: \"Remix Icon\", name: \"remix\" } },\n            [\n              _c(\"el-input\", {\n                attrs: {\n                  size: \"mini\",\n                  placeholder: \"请输入搜索关键词\",\n                  \"prefix-icon\": \"el-icon-search\",\n                  clearable: \"\",\n                },\n                model: {\n                  value: _vm.remix.search,\n                  callback: function ($$v) {\n                    _vm.$set(_vm.remix, \"search\", $$v)\n                  },\n                  expression: \"remix.search\",\n                },\n              }),\n              _c(\n                \"div\",\n                { staticClass: \"list-icon\" },\n                _vm._l(_vm.remixIconCurrentList, function (item, index) {\n                  return _c(\n                    \"span\",\n                    {\n                      key: index,\n                      staticClass: \"list-icon-item\",\n                      on: {\n                        click: function ($event) {\n                          return _vm.choose(\n                            item.type == \"Editor\"\n                              ? \"ri-\" + item.name\n                              : \"ri-\" + item.name + \"-\" + _vm.remix.style\n                          )\n                        },\n                      },\n                    },\n                    [\n                      _c(\"svg-icon\", {\n                        attrs: {\n                          name:\n                            item.type == \"Editor\"\n                              ? \"ri-\" + item.name\n                              : \"ri-\" + item.name + \"-\" + _vm.remix.style,\n                        },\n                      }),\n                    ],\n                    1\n                  )\n                }),\n                0\n              ),\n              _c(\n                \"div\",\n                { staticClass: \"style-choose\" },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      attrs: { size: \"mini\" },\n                      model: {\n                        value: _vm.remix.style,\n                        callback: function ($$v) {\n                          _vm.$set(_vm.remix, \"style\", $$v)\n                        },\n                        expression: \"remix.style\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: \"line\" } }, [\n                        _vm._v(\"线条\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: \"fill\" } }, [\n                        _vm._v(\"填充\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\"el-pagination\", {\n                attrs: {\n                  small: \"\",\n                  layout: \"prev, pager, next\",\n                  \"current-page\": _vm.remix.currentPage,\n                  \"page-size\": _vm.remix.pageSize,\n                  total: _vm.remixIconList.length,\n                  \"pager-count\": 5,\n                },\n                on: {\n                  \"update:currentPage\": function ($event) {\n                    return _vm.$set(_vm.remix, \"currentPage\", $event)\n                  },\n                  \"update:current-page\": function ($event) {\n                    return _vm.$set(_vm.remix, \"currentPage\", $event)\n                  },\n                },\n              }),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=template&id=4b9dcf40&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagePreview/index.vue?vue&type=template&id=4b9dcf40&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"el-image\",\n    {\n      style: \"width:\" + _vm.realWidth + \";height:\" + _vm.realHeight + \";\",\n      attrs: { src: _vm.src, fit: \"cover\", \"preview-src-list\": [_vm.src] },\n    },\n    [\n      _c(\n        \"div\",\n        { staticClass: \"image-slot\", attrs: { slot: \"error\" }, slot: \"error\" },\n        [_c(\"svg-icon\", { attrs: { name: \"image-load-fail\" } })],\n        1\n      ),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=template&id=82a94682&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImageUpload/index.vue?vue&type=template&id=82a94682&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"upload-container\" },\n    [\n      _c(\n        \"el-upload\",\n        {\n          attrs: {\n            \"show-file-list\": false,\n            headers: _vm.headers,\n            action: _vm.action,\n            data: _vm.data,\n            name: _vm.name,\n            \"before-upload\": _vm.beforeUpload,\n            \"on-progress\": _vm.onProgress,\n            \"on-success\": _vm.onSuccess,\n            drag: \"\",\n          },\n        },\n        [\n          _vm.url === \"\"\n            ? _c(\n                \"el-image\",\n                {\n                  style:\n                    \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n                  attrs: {\n                    src: _vm.url === \"\" ? _vm.placeholder : _vm.url,\n                    fit: \"fill\",\n                  },\n                },\n                [\n                  _c(\n                    \"div\",\n                    {\n                      staticClass: \"image-slot\",\n                      attrs: { slot: \"error\" },\n                      slot: \"error\",\n                    },\n                    [_c(\"i\", { staticClass: \"el-icon-plus\" })]\n                  ),\n                ]\n              )\n            : _c(\n                \"div\",\n                { staticClass: \"image\" },\n                [\n                  _c(\"el-image\", {\n                    style:\n                      \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n                    attrs: { src: _vm.url, fit: \"fill\" },\n                  }),\n                  _c(\"div\", { staticClass: \"mask\" }, [\n                    _c(\"div\", { staticClass: \"actions\" }, [\n                      _c(\n                        \"span\",\n                        {\n                          attrs: { title: \"预览\" },\n                          on: {\n                            click: function ($event) {\n                              $event.stopPropagation()\n                              _vm.imageViewerVisible = true\n                            },\n                          },\n                        },\n                        [_c(\"i\", { staticClass: \"el-icon-zoom-in\" })]\n                      ),\n                      _c(\n                        \"span\",\n                        {\n                          attrs: { title: \"移除\" },\n                          on: {\n                            click: function ($event) {\n                              $event.stopPropagation()\n                              return _vm.remove.apply(null, arguments)\n                            },\n                          },\n                        },\n                        [_c(\"i\", { staticClass: \"el-icon-delete\" })]\n                      ),\n                    ]),\n                  ]),\n                ],\n                1\n              ),\n          _c(\n            \"div\",\n            {\n              directives: [\n                {\n                  name: \"show\",\n                  rawName: \"v-show\",\n                  value: _vm.progress.percent,\n                  expression: \"progress.percent\",\n                },\n              ],\n              staticClass: \"progress\",\n              style: \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n            },\n            [\n              _c(\"el-image\", {\n                style: \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n                attrs: { src: _vm.progress.preview, fit: \"fill\" },\n              }),\n              _c(\"el-progress\", {\n                attrs: {\n                  type: \"circle\",\n                  width: Math.min(_vm.width, _vm.height) * 0.8,\n                  percentage: _vm.progress.percent,\n                },\n              }),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n      !_vm.notip\n        ? _c(\"div\", { staticClass: \"el-upload__tip\" }, [\n            _c(\n              \"div\",\n              { staticStyle: { display: \"inline-block\" } },\n              [\n                _c(\"el-alert\", {\n                  attrs: {\n                    title:\n                      \"上传图片支持 \" +\n                      _vm.ext.join(\" / \") +\n                      \" 格式，且图片大小不超过 \" +\n                      _vm.size +\n                      \"MB，建议图片尺寸为 \" +\n                      _vm.width +\n                      \"*\" +\n                      _vm.height,\n                    type: \"info\",\n                    \"show-icon\": \"\",\n                    closable: false,\n                  },\n                }),\n              ],\n              1\n            ),\n          ])\n        : _vm._e(),\n      _vm.imageViewerVisible\n        ? _c(\"el-image-viewer\", {\n            attrs: {\n              \"on-close\": function () {\n                _vm.imageViewerVisible = false\n              },\n              \"url-list\": [_vm.url],\n            },\n          })\n        : _vm._e(),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=template&id=6e0b63e8&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagesUpload/index.vue?vue&type=template&id=6e0b63e8&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"upload-container\" },\n    [\n      _vm._l(_vm.url, function (item, index) {\n        return _c(\n          \"div\",\n          { key: index, staticClass: \"images\" },\n          [\n            index < _vm.max\n              ? _c(\"el-image\", {\n                  style:\n                    \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n                  attrs: { src: item, fit: \"cover\" },\n                })\n              : _vm._e(),\n            _c(\"div\", { staticClass: \"mask\" }, [\n              _c(\"div\", { staticClass: \"actions\" }, [\n                _c(\n                  \"span\",\n                  {\n                    attrs: { title: \"预览\" },\n                    on: {\n                      click: function ($event) {\n                        return _vm.preview(index)\n                      },\n                    },\n                  },\n                  [_c(\"i\", { staticClass: \"el-icon-zoom-in\" })]\n                ),\n                _c(\n                  \"span\",\n                  {\n                    attrs: { title: \"移除\" },\n                    on: {\n                      click: function ($event) {\n                        return _vm.remove(index)\n                      },\n                    },\n                  },\n                  [_c(\"i\", { staticClass: \"el-icon-delete\" })]\n                ),\n                _c(\n                  \"span\",\n                  {\n                    directives: [\n                      {\n                        name: \"show\",\n                        rawName: \"v-show\",\n                        value: _vm.url.length > 1,\n                        expression: \"url.length > 1\",\n                      },\n                    ],\n                    class: { disabled: index == 0 },\n                    attrs: { title: \"左移\" },\n                    on: {\n                      click: function ($event) {\n                        return _vm.move(index, \"left\")\n                      },\n                    },\n                  },\n                  [_c(\"i\", { staticClass: \"el-icon-back\" })]\n                ),\n                _c(\n                  \"span\",\n                  {\n                    directives: [\n                      {\n                        name: \"show\",\n                        rawName: \"v-show\",\n                        value: _vm.url.length > 1,\n                        expression: \"url.length > 1\",\n                      },\n                    ],\n                    class: { disabled: index == _vm.url.length - 1 },\n                    attrs: { title: \"右移\" },\n                    on: {\n                      click: function ($event) {\n                        return _vm.move(index, \"right\")\n                      },\n                    },\n                  },\n                  [_c(\"i\", { staticClass: \"el-icon-right\" })]\n                ),\n              ]),\n            ]),\n          ],\n          1\n        )\n      }),\n      _c(\n        \"el-upload\",\n        {\n          directives: [\n            {\n              name: \"show\",\n              rawName: \"v-show\",\n              value: _vm.url.length < _vm.max,\n              expression: \"url.length < max\",\n            },\n          ],\n          staticClass: \"images-upload\",\n          attrs: {\n            \"show-file-list\": false,\n            headers: _vm.headers,\n            action: _vm.action,\n            data: _vm.data,\n            name: _vm.name,\n            \"before-upload\": _vm.beforeUpload,\n            \"on-progress\": _vm.onProgress,\n            \"on-success\": _vm.onSuccess,\n            drag: \"\",\n          },\n        },\n        [\n          _c(\n            \"div\",\n            {\n              staticClass: \"image-slot\",\n              style: \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n            },\n            [_c(\"i\", { staticClass: \"el-icon-plus\" })]\n          ),\n          _c(\n            \"div\",\n            {\n              directives: [\n                {\n                  name: \"show\",\n                  rawName: \"v-show\",\n                  value: _vm.progress.percent,\n                  expression: \"progress.percent\",\n                },\n              ],\n              staticClass: \"progress\",\n              style: \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n            },\n            [\n              _c(\"el-image\", {\n                style: \"width:\" + _vm.width + \"px;height:\" + _vm.height + \"px;\",\n                attrs: { src: _vm.progress.preview, fit: \"fill\" },\n              }),\n              _c(\"el-progress\", {\n                attrs: {\n                  type: \"circle\",\n                  width: Math.min(_vm.width, _vm.height) * 0.8,\n                  percentage: _vm.progress.percent,\n                },\n              }),\n            ],\n            1\n          ),\n        ]\n      ),\n      !_vm.notip\n        ? _c(\"div\", { staticClass: \"el-upload__tip\" }, [\n            _c(\n              \"div\",\n              { staticStyle: { display: \"inline-block\" } },\n              [\n                _c(\"el-alert\", {\n                  attrs: {\n                    title:\n                      \"上传图片支持 \" +\n                      _vm.ext.join(\" / \") +\n                      \" 格式，单张图片大小不超过 \" +\n                      _vm.size +\n                      \"MB，建议图片尺寸为 \" +\n                      _vm.width +\n                      \"*\" +\n                      _vm.height +\n                      \"，且图片数量不超过 \" +\n                      _vm.max +\n                      \" 张\",\n                    type: \"info\",\n                    \"show-icon\": \"\",\n                    closable: false,\n                  },\n                }),\n              ],\n              1\n            ),\n          ])\n        : _vm._e(),\n      _vm.imageViewerVisible\n        ? _c(\"el-image-viewer\", {\n            attrs: {\n              \"on-close\": function () {\n                _vm.imageViewerVisible = false\n              },\n              \"url-list\": [_vm.dialogImageUrl],\n            },\n          })\n        : _vm._e(),\n    ],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=template&id=944088a2&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageHeader/index.vue?vue&type=template&id=944088a2&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"header\" }, [\n    _c(\"div\", [\n      _c(\"div\", { staticClass: \"title\" }, [_vm._v(_vm._s(_vm.title))]),\n      _c(\n        \"div\",\n        { staticClass: \"content\" },\n        [\n          _vm._t(\"content\", function () {\n            return [_vm._v(_vm._s(_vm.content))]\n          }),\n        ],\n        2\n      ),\n    ]),\n    _c(\"div\", [_vm._t(\"default\")], 2),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=template&id=4b45bd9b&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageMain/index.vue?vue&type=template&id=4b45bd9b&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      class: {\n        \"page-main\": true,\n        \"is-collaspe\": _vm.collaspeData,\n      },\n      style: {\n        height: _vm.collaspeData ? _vm.height : \"\",\n      },\n    },\n    [\n      _vm.title\n        ? _c(\"div\", { staticClass: \"title-container\" }, [\n            _vm._v(_vm._s(_vm.title)),\n          ])\n        : _vm._e(),\n      _vm._t(\"default\"),\n      _vm.collaspeData\n        ? _c(\n            \"div\",\n            {\n              staticClass: \"collaspe\",\n              attrs: { title: \"展开\" },\n              on: { click: _vm.uncollaspe },\n            },\n            [_c(\"i\", { staticClass: \"el-icon-arrow-down\" })]\n          )\n        : _vm._e(),\n    ],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=template&id=16a5d090&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Result/index.vue?vue&type=template&id=16a5d090&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"result\" }, [\n    _vm.type === \"success\"\n      ? _c(\"div\", { staticClass: \"icon icon-success\" }, [\n          _c(\"i\", { staticClass: \"el-icon-success\" }),\n        ])\n      : _vm.type === \"warning\"\n      ? _c(\"div\", { staticClass: \"icon icon-warning\" }, [\n          _c(\"i\", { staticClass: \"el-icon-warning\" }),\n        ])\n      : _c(\"div\", { staticClass: \"icon icon-error\" }, [\n          _c(\"i\", { staticClass: \"el-icon-error\" }),\n        ]),\n    _c(\"h1\", [_vm._v(_vm._s(_vm.title))]),\n    _vm.desc\n      ? _c(\"div\", { staticClass: \"desc\" }, [_vm._v(_vm._s(_vm.desc))])\n      : _vm._e(),\n    _vm.$slots.extra\n      ? _c(\"div\", { staticClass: \"extra\" }, [_vm._t(\"extra\")], 2)\n      : _vm._e(),\n    _vm.$slots.default\n      ? _c(\"div\", { staticClass: \"actions\" }, [_vm._t(\"default\")], 2)\n      : _vm._e(),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=template&id=673b0be4&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SearchBar/index.vue?vue&type=template&id=673b0be4&scoped=true& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"search-container\" },\n    [\n      _vm._t(\"default\"),\n      _vm.showMore\n        ? _c(\n            \"div\",\n            { staticClass: \"more\" },\n            [\n              _c(\n                \"el-button\",\n                {\n                  attrs: {\n                    type: \"text\",\n                    size: \"small\",\n                    icon: _vm.isUnfold\n                      ? \"el-icon-caret-top\"\n                      : \"el-icon-caret-bottom\",\n                  },\n                  on: { click: _vm.toggle },\n                },\n                [_vm._v(_vm._s(_vm.isUnfold ? \"收起\" : \"展开\"))]\n              ),\n            ],\n            1\n          )\n        : _vm._e(),\n    ],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=template&id=5bcdbe20&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SpinkitLoading/main.vue?vue&type=template&id=5bcdbe20&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"transition\", { attrs: { name: \"spinkit-transition\" } }, [\n    _vm.show\n      ? _c(\"div\", { staticClass: \"spinkit-container\" }, [\n          _c(\n            \"div\",\n            {\n              staticClass: \"spinkit\",\n              style: { \"--sk-size\": _vm.size + \"px\", \"--sk-color\": _vm.color },\n            },\n            [\n              _vm.type == \"plane\"\n                ? _c(\"div\", { staticClass: \"sk-plane\" })\n                : _vm._e(),\n              _vm.type == \"chase\"\n                ? _c(\"div\", { staticClass: \"sk-chase\" }, [\n                    _c(\"div\", { staticClass: \"sk-chase-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-chase-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-chase-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-chase-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-chase-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-chase-dot\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"bounce\"\n                ? _c(\"div\", { staticClass: \"sk-bounce\" }, [\n                    _c(\"div\", { staticClass: \"sk-bounce-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-bounce-dot\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"wave\"\n                ? _c(\"div\", { staticClass: \"sk-wave\" }, [\n                    _c(\"div\", { staticClass: \"sk-wave-rect\" }),\n                    _c(\"div\", { staticClass: \"sk-wave-rect\" }),\n                    _c(\"div\", { staticClass: \"sk-wave-rect\" }),\n                    _c(\"div\", { staticClass: \"sk-wave-rect\" }),\n                    _c(\"div\", { staticClass: \"sk-wave-rect\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"pulse\"\n                ? _c(\"div\", { staticClass: \"sk-pulse\" })\n                : _vm._e(),\n              _vm.type == \"flow\"\n                ? _c(\"div\", { staticClass: \"sk-flow\" }, [\n                    _c(\"div\", { staticClass: \"sk-flow-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-flow-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-flow-dot\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"swing\"\n                ? _c(\"div\", { staticClass: \"sk-swing\" }, [\n                    _c(\"div\", { staticClass: \"sk-swing-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-swing-dot\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"circle\"\n                ? _c(\"div\", { staticClass: \"sk-circle\" }, [\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-dot\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"circle-fade\"\n                ? _c(\"div\", { staticClass: \"sk-circle-fade\" }, [\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                    _c(\"div\", { staticClass: \"sk-circle-fade-dot\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"grid\"\n                ? _c(\"div\", { staticClass: \"sk-grid\" }, [\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-grid-cube\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"fold\"\n                ? _c(\"div\", { staticClass: \"sk-fold\" }, [\n                    _c(\"div\", { staticClass: \"sk-fold-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-fold-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-fold-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-fold-cube\" }),\n                  ])\n                : _vm._e(),\n              _vm.type == \"wander\"\n                ? _c(\"div\", { staticClass: \"sk-wander\" }, [\n                    _c(\"div\", { staticClass: \"sk-wander-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-wander-cube\" }),\n                    _c(\"div\", { staticClass: \"sk-wander-cube\" }),\n                  ])\n                : _vm._e(),\n            ]\n          ),\n        ])\n      : _vm._e(),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=template&id=c8a70580&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/index.vue?vue&type=template&id=c8a70580&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _vm.name.indexOf(\"el-icon-\") === 0 || _vm.name.indexOf(\"ri-\") === 0\n    ? _c(\"i\", { class: _vm.name })\n    : _c(\n        \"svg\",\n        _vm._g(\n          { staticClass: \"svg-icon\", attrs: { \"aria-hidden\": \"true\" } },\n          _vm.$listeners\n        ),\n        [_c(\"use\", { attrs: { \"xlink:href\": \"#icon-\" + _vm.name } })]\n      )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=template&id=7925d3e0&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Trend/index.vue?vue&type=template&id=7925d3e0&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { class: \"trend \" + (_vm.isUp ? \"up\" : \"down\") }, [\n    _vm.prefix\n      ? _c(\"span\", { staticClass: \"prefix\" }, [_vm._v(_vm._s(_vm.prefix))])\n      : _vm._e(),\n    _c(\"span\", { staticClass: \"text\" }, [_vm._v(_vm._s(_vm.value))]),\n    _vm.suffix\n      ? _c(\"span\", { staticClass: \"suffix\" }, [_vm._v(_vm._s(_vm.suffix))])\n      : _vm._e(),\n    _c(\"i\", {\n      class: \"\" + (_vm.isUp ? \"el-icon-caret-top\" : \"el-icon-caret-bottom\"),\n    }),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=template&id=8cb22f4a&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Logo/index.vue?vue&type=template&id=8cb22f4a&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"router-link\", {\n    class: {\n      title: true,\n      \"is-link\": _vm.$store.state.settings.enableDashboard,\n    },\n    attrs: { custom: \"\", to: _vm.to, title: _vm.title },\n    scopedSlots: _vm._u([\n      {\n        key: \"default\",\n        fn: function (ref) {\n          var navigate = ref.navigate\n          return [\n            _c(\"div\", { on: { click: navigate } }, [\n              _c(\"div\", { staticClass: \"imgbx\" }, [\n                _vm.showLogo\n                  ? _c(\"img\", { staticClass: \"logo\", attrs: { src: _vm.logo } })\n                  : _vm._e(),\n              ]),\n              _c(\"span\", [\n                _vm.showTitle\n                  ? _c(\n                      \"span\",\n                      {\n                        staticStyle: { color: \"#202020\", \"font-size\": \"20px\" },\n                      },\n                      [_vm._v(_vm._s(_vm.title))]\n                    )\n                  : _vm._e(),\n                _vm.showTitle\n                  ? _c(\n                      \"span\",\n                      {\n                        staticStyle: {\n                          color: \"#202020\",\n                          \"font-size\": \"12px\",\n                          \"font-weight\": \"400\",\n                        },\n                      },\n                      [_vm._v(_vm._s(\"THE ALLEY\"))]\n                    )\n                  : _vm._e(),\n              ]),\n            ]),\n          ]\n        },\n      },\n    ]),\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=template&id=8cef2250&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Search/index.vue?vue&type=template&id=8cef2250&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      class: { searching: _vm.isShow },\n      attrs: { id: \"search\" },\n      on: {\n        click: function ($event) {\n          _vm.isShow && _vm.$eventBus.$emit(\"global-search-toggle\")\n        },\n      },\n    },\n    [\n      _c(\"div\", { staticClass: \"container\" }, [\n        _c(\n          \"div\",\n          {\n            staticClass: \"search-box\",\n            on: {\n              click: function ($event) {\n                $event.stopPropagation()\n              },\n            },\n          },\n          [\n            _c(\"el-input\", {\n              ref: \"input\",\n              attrs: {\n                size: \"default\",\n                \"prefix-icon\": \"el-icon-search\",\n                placeholder: \"搜索页面\",\n                clearable: \"\",\n              },\n              nativeOn: {\n                keydown: function ($event) {\n                  if (\n                    !$event.type.indexOf(\"key\") &&\n                    _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n                      \"Esc\",\n                      \"Escape\",\n                    ])\n                  ) {\n                    return null\n                  }\n                  return _vm.$eventBus.$emit(\"global-search-toggle\")\n                },\n              },\n              model: {\n                value: _vm.search,\n                callback: function ($$v) {\n                  _vm.search = $$v\n                },\n                expression: \"search\",\n              },\n            }),\n            _vm._m(0),\n          ],\n          1\n        ),\n        _c(\n          \"div\",\n          { ref: \"search\", staticClass: \"result\" },\n          _vm._l(_vm.resultList, function (item) {\n            return _c(\"router-link\", {\n              key: item.path,\n              attrs: { custom: \"\", to: _vm.isShow ? item.path : \"\" },\n              scopedSlots: _vm._u(\n                [\n                  {\n                    key: \"default\",\n                    fn: function (ref) {\n                      var href = ref.href\n                      var navigate = ref.navigate\n                      return [\n                        _c(\n                          \"a\",\n                          {\n                            staticClass: \"item\",\n                            attrs: {\n                              href: _vm.isExternal(item.path)\n                                ? item.path\n                                : href,\n                              target: _vm.isExternal(item.path)\n                                ? \"_blank\"\n                                : \"_self\",\n                            },\n                            on: { click: navigate },\n                          },\n                          [\n                            _c(\n                              \"div\",\n                              { staticClass: \"icon\" },\n                              [\n                                item.icon\n                                  ? _c(\"svg-icon\", {\n                                      attrs: { name: item.icon },\n                                    })\n                                  : _vm._e(),\n                              ],\n                              1\n                            ),\n                            _c(\"div\", { staticClass: \"info\" }, [\n                              _c(\n                                \"div\",\n                                { staticClass: \"title\" },\n                                [\n                                  _vm._v(\n                                    \" \" +\n                                      _vm._s(\n                                        _vm.generateI18nTitle(\n                                          item.i18n,\n                                          item.title\n                                        )\n                                      ) +\n                                      \" \"\n                                  ),\n                                  item.isExternal\n                                    ? _c(\"svg-icon\", {\n                                        attrs: { name: \"external-link\" },\n                                      })\n                                    : _vm._e(),\n                                ],\n                                1\n                              ),\n                              _c(\n                                \"div\",\n                                { staticClass: \"breadcrumb\" },\n                                _vm._l(item.breadcrumb, function (bc, index) {\n                                  return _c(\"span\", { key: index }, [\n                                    _vm._v(\" \" + _vm._s(bc) + \" \"),\n                                    _c(\"i\", {\n                                      staticClass: \"el-icon-arrow-right\",\n                                    }),\n                                  ])\n                                }),\n                                0\n                              ),\n                              _c(\"div\", { staticClass: \"path\" }, [\n                                _vm._v(_vm._s(item.path)),\n                              ]),\n                            ]),\n                          ]\n                        ),\n                      ]\n                    },\n                  },\n                ],\n                null,\n                true\n              ),\n            })\n          }),\n          1\n        ),\n      ]),\n    ]\n  )\n}\nvar staticRenderFns = [\n  function () {\n    var _vm = this\n    var _h = _vm.$createElement\n    var _c = _vm._self._c || _h\n    return _c(\"div\", { staticClass: \"tips\" }, [\n      _vm._v(\"你可以使用快捷键\"),\n      _c(\"span\", [_vm._v(\"alt\")]),\n      _vm._v(\"+\"),\n      _c(\"span\", [_vm._v(\"s\")]),\n      _vm._v(\"唤醒搜索面板，按\"),\n      _c(\"span\", [_vm._v(\"esc\")]),\n      _vm._v(\"退出\"),\n    ])\n  },\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=template&id=0769ddf5&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/SidebarItem/index.vue?vue&type=template&id=0769ddf5&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _vm.item.meta.sidebar !== false\n    ? _c(\n        \"div\",\n        { staticClass: \"sidebar-item\" },\n        [\n          !_vm.hasChildren\n            ? _c(\"router-link\", {\n                attrs: { custom: \"\", to: _vm.resolvePath(_vm.item.path) },\n                scopedSlots: _vm._u(\n                  [\n                    {\n                      key: \"default\",\n                      fn: function (ref) {\n                        var href = ref.href\n                        var navigate = ref.navigate\n                        var isActive = ref.isActive\n                        var isExactActive = ref.isExactActive\n                        return [\n                          _c(\n                            \"a\",\n                            {\n                              class: [\n                                isActive && \"router-link-active\",\n                                isExactActive && \"router-link-exact-active\",\n                              ],\n                              attrs: {\n                                href: _vm.isExternal(\n                                  _vm.resolvePath(_vm.item.path)\n                                )\n                                  ? _vm.resolvePath(_vm.item.path)\n                                  : href,\n                                target: _vm.isExternal(\n                                  _vm.resolvePath(_vm.item.path)\n                                )\n                                  ? \"_blank\"\n                                  : \"_self\",\n                              },\n                              on: { click: navigate },\n                            },\n                            [\n                              _c(\n                                \"el-menu-item\",\n                                {\n                                  attrs: {\n                                    title: _vm.generateI18nTitle(\n                                      _vm.item.meta.i18n,\n                                      _vm.item.meta.title\n                                    ),\n                                    index: _vm.resolvePath(_vm.item.path),\n                                  },\n                                },\n                                [\n                                  _vm.item.meta.icon\n                                    ? _c(\"svg-icon\", {\n                                        staticClass: \"icon\",\n                                        attrs: { name: _vm.item.meta.icon },\n                                      })\n                                    : _vm._e(),\n                                  _c(\"span\", [\n                                    _vm._v(\n                                      _vm._s(\n                                        _vm.generateI18nTitle(\n                                          _vm.item.meta.i18n,\n                                          _vm.item.meta.title\n                                        )\n                                      )\n                                    ),\n                                  ]),\n                                  _vm.badge(_vm.item.meta.badge).visible\n                                    ? _c(\n                                        \"span\",\n                                        {\n                                          class: {\n                                            badge: true,\n                                            \"badge-dot\":\n                                              _vm.badge(_vm.item.meta.badge)\n                                                .type == \"dot\",\n                                            \"badge-text\":\n                                              _vm.badge(_vm.item.meta.badge)\n                                                .type == \"text\",\n                                          },\n                                        },\n                                        [\n                                          _vm._v(\n                                            _vm._s(\n                                              _vm.badge(_vm.item.meta.badge)\n                                                .value\n                                            )\n                                          ),\n                                        ]\n                                      )\n                                    : _vm._e(),\n                                ],\n                                1\n                              ),\n                            ],\n                            1\n                          ),\n                        ]\n                      },\n                    },\n                  ],\n                  null,\n                  false,\n                  766784618\n                ),\n              })\n            : _c(\n                \"el-submenu\",\n                {\n                  attrs: {\n                    title: _vm.generateI18nTitle(\n                      _vm.item.meta.i18n,\n                      _vm.item.meta.title\n                    ),\n                    index: _vm.resolvePath(_vm.item.path),\n                  },\n                },\n                [\n                  _c(\n                    \"template\",\n                    { slot: \"title\" },\n                    [\n                      _vm.item.meta.icon\n                        ? _c(\"svg-icon\", {\n                            staticClass: \"icon\",\n                            attrs: { name: _vm.item.meta.icon },\n                          })\n                        : _vm._e(),\n                      _c(\"span\", [\n                        _vm._v(\n                          _vm._s(\n                            _vm.generateI18nTitle(\n                              _vm.item.meta.i18n,\n                              _vm.item.meta.title\n                            )\n                          )\n                        ),\n                      ]),\n                      _vm.badge(_vm.item.meta.badge).visible\n                        ? _c(\n                            \"span\",\n                            {\n                              class: {\n                                badge: true,\n                                \"badge-text\":\n                                  _vm.badge(_vm.item.meta.badge).type == \"text\",\n                                \"badge-dot\":\n                                  _vm.badge(_vm.item.meta.badge).type == \"dot\",\n                              },\n                            },\n                            [\n                              _vm._v(\n                                _vm._s(_vm.badge(_vm.item.meta.badge).value)\n                              ),\n                            ]\n                          )\n                        : _vm._e(),\n                    ],\n                    1\n                  ),\n                  _vm._l(_vm.item.children, function (route) {\n                    return _c(\"SidebarItem\", {\n                      key: route.path,\n                      attrs: {\n                        item: route,\n                        \"base-path\": _vm.resolvePath(_vm.item.path),\n                      },\n                    })\n                  }),\n                ],\n                2\n              ),\n        ],\n        1\n      )\n    : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=template&id=223493e4&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Tabbar/index.vue?vue&type=template&id=223493e4&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      class: {\n        \"tabbar-container\": true,\n        fixed: _vm.$store.state.settings.topbarFixed,\n      },\n      attrs: { \"data-fixed-calc-width\": \"\" },\n    },\n    [\n      _c(\n        \"div\",\n        {\n          ref: \"tabs\",\n          staticClass: \"tabs\",\n          on: {\n            mousewheel: function ($event) {\n              $event.preventDefault()\n            },\n          },\n        },\n        [\n          _c(\n            \"draggable\",\n            _vm._b(\n              {\n                on: {\n                  start: function ($event) {\n                    _vm.isDragging = true\n                  },\n                  end: function ($event) {\n                    _vm.isDragging = false\n                  },\n                },\n                model: {\n                  value: _vm.tabbarList,\n                  callback: function ($$v) {\n                    _vm.tabbarList = $$v\n                  },\n                  expression: \"tabbarList\",\n                },\n              },\n              \"draggable\",\n              _vm.dragOptions,\n              false\n            ),\n            [\n              _c(\n                \"transition-group\",\n                {\n                  ref: \"tab-container\",\n                  staticClass: \"tab-container\",\n                  attrs: {\n                    type: \"transition\",\n                    name: \"tabbar\",\n                    duration: { leave: 200 },\n                    tag: \"div\",\n                  },\n                },\n                _vm._l(_vm.$store.state.tabbar.list, function (item) {\n                  return _c(\n                    \"div\",\n                    {\n                      key: item.path,\n                      ref: \"tab-\" + item.path,\n                      refInFor: true,\n                      class: {\n                        tab: true,\n                        \"tab-dragging\": _vm.isDragging,\n                        actived: item.path == _vm.activedTabPath,\n                      },\n                      attrs: {\n                        title: _vm.generateI18nTitle(item.i18n, item.title),\n                      },\n                      on: {\n                        click: function ($event) {\n                          return _vm.$router.push(item.path)\n                        },\n                        contextmenu: function ($event) {\n                          $event.preventDefault()\n                          return _vm.onTabbarContextmenu($event, item)\n                        },\n                      },\n                    },\n                    [\n                      _c(\"div\", { staticClass: \"tab-dividers\" }),\n                      _c(\"div\", { staticClass: \"tab-background\" }, [\n                        _c(\n                          \"svg\",\n                          {\n                            attrs: {\n                              version: \"1.1\",\n                              xmlns: \"http://www.w3.org/2000/svg\",\n                            },\n                          },\n                          [\n                            _c(\"defs\", [\n                              _c(\n                                \"symbol\",\n                                {\n                                  attrs: {\n                                    id: \"tab-geometry-left\",\n                                    viewBox: \"0 0 214 36\",\n                                  },\n                                },\n                                [\n                                  _c(\"path\", {\n                                    attrs: {\n                                      d: \"M17 0h197v36H0v-2c4.5 0 9-3.5 9-8V8c0-4.5 3.5-8 8-8z\",\n                                    },\n                                  }),\n                                ]\n                              ),\n                              _c(\n                                \"symbol\",\n                                {\n                                  attrs: {\n                                    id: \"tab-geometry-right\",\n                                    viewBox: \"0 0 214 36\",\n                                  },\n                                },\n                                [\n                                  _c(\"use\", {\n                                    attrs: {\n                                      \"xlink:href\": \"#tab-geometry-left\",\n                                    },\n                                  }),\n                                ]\n                              ),\n                              _c(\"clipPath\", { attrs: { id: \"crop\" } }, [\n                                _c(\"rect\", {\n                                  staticClass: \"mask\",\n                                  attrs: {\n                                    width: \"100%\",\n                                    height: \"100%\",\n                                    x: \"0\",\n                                  },\n                                }),\n                              ]),\n                            ]),\n                            _c(\n                              \"svg\",\n                              { attrs: { width: \"52%\", height: \"100%\" } },\n                              [\n                                _c(\"use\", {\n                                  staticClass: \"tab-geometry\",\n                                  attrs: {\n                                    \"xlink:href\": \"#tab-geometry-left\",\n                                    width: \"214\",\n                                    height: \"36\",\n                                  },\n                                }),\n                              ]\n                            ),\n                            _c(\"g\", { attrs: { transform: \"scale(-1, 1)\" } }, [\n                              _c(\n                                \"svg\",\n                                {\n                                  attrs: {\n                                    width: \"52%\",\n                                    height: \"100%\",\n                                    x: \"-100%\",\n                                    y: \"0\",\n                                  },\n                                },\n                                [\n                                  _c(\"use\", {\n                                    staticClass: \"tab-geometry\",\n                                    attrs: {\n                                      \"xlink:href\": \"#tab-geometry-right\",\n                                      width: \"214\",\n                                      height: \"36\",\n                                    },\n                                  }),\n                                ]\n                              ),\n                            ]),\n                          ]\n                        ),\n                      ]),\n                      _c(\"div\", { staticClass: \"tab-content\" }, [\n                        _c(\"div\", { staticClass: \"title\" }, [\n                          _vm._v(\n                            _vm._s(_vm.generateI18nTitle(item.i18n, item.title))\n                          ),\n                        ]),\n                        !item.isPin\n                          ? _c(\"div\", { staticClass: \"drag-handle\" })\n                          : _vm._e(),\n                        item.isPin\n                          ? _c(\"i\", {\n                              staticClass: \"ri-pushpin-2-fill action-icon\",\n                              on: {\n                                click: function ($event) {\n                                  $event.stopPropagation()\n                                  return _vm.$store.dispatch(\n                                    \"tabbar/unPin\",\n                                    item.path\n                                  )\n                                },\n                              },\n                            })\n                          : _vm.$store.state.tabbar.list.length > 1\n                          ? _c(\"i\", {\n                              staticClass: \"ri-close-fill action-icon\",\n                              on: {\n                                click: function ($event) {\n                                  $event.stopPropagation()\n                                  return _vm.onTabClose(item.path)\n                                },\n                              },\n                            })\n                          : _vm._e(),\n                      ]),\n                    ]\n                  )\n                }),\n                0\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n      _vm.isShowMoreAction\n        ? _c(\n            \"div\",\n            { staticClass: \"more-action\" },\n            [\n              _c(\n                \"el-dropdown\",\n                { on: { command: _vm.actionCommand } },\n                [\n                  _c(\"i\", { staticClass: \"ri-arrow-down-s-fill\" }),\n                  _c(\n                    \"el-dropdown-menu\",\n                    { attrs: { slot: \"dropdown\" }, slot: \"dropdown\" },\n                    [\n                      _c(\n                        \"el-dropdown-item\",\n                        {\n                          attrs: {\n                            command: \"other-side\",\n                            disabled: !_vm.hasTabbarOtherSideCanClose,\n                          },\n                        },\n                        [\n                          _c(\"i\", { staticClass: \"el-icon-close\" }),\n                          _vm._v(\" 关闭其它标签页 \"),\n                        ]\n                      ),\n                      _c(\n                        \"el-dropdown-item\",\n                        {\n                          attrs: {\n                            command: \"left-side\",\n                            disabled: !_vm.hasTabbarLeftSideCanClose,\n                          },\n                        },\n                        [\n                          _c(\"i\", { staticClass: \"el-icon-arrow-left\" }),\n                          _vm._v(\" 关闭左侧标签页 \"),\n                        ]\n                      ),\n                      _c(\n                        \"el-dropdown-item\",\n                        {\n                          attrs: {\n                            command: \"right-side\",\n                            disabled: !_vm.hasTabbarRightSideCanClose,\n                          },\n                        },\n                        [\n                          _c(\"i\", { staticClass: \"el-icon-arrow-right\" }),\n                          _vm._v(\" 关闭右侧标签页 \"),\n                        ]\n                      ),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n            ],\n            1\n          )\n        : _vm._e(),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=template&id=0fc836f7&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/ThemeSetting/index.vue?vue&type=template&id=0fc836f7&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\n        \"el-drawer\",\n        {\n          attrs: {\n            title: \"主题配置\",\n            visible: _vm.isShow,\n            direction: \"rtl\",\n            size: _vm.$store.state.settings.mode == \"pc\" ? \"500px\" : \"300px\",\n          },\n          on: {\n            \"update:visible\": function ($event) {\n              _vm.isShow = $event\n            },\n          },\n        },\n        [\n          _c(\"el-alert\", {\n            attrs: {\n              title:\n                \"主题配置可实时预览效果，更多设置请在 src/settings.js 中进行设置，建议在生产环境隐藏主题配置功能\",\n              type: \"error\",\n              closable: false,\n            },\n          }),\n          _c(\n            \"el-form\",\n            {\n              ref: \"form\",\n              attrs: {\n                \"label-position\":\n                  _vm.$store.state.settings.mode == \"pc\" ? \"right\" : \"top\",\n                \"label-width\": \"100px\",\n                size: \"small\",\n              },\n            },\n            [\n              _vm.$store.state.settings.mode == \"pc\"\n                ? _c(\n                    \"el-form-item\",\n                    { attrs: { label: \"界面布局\" } },\n                    [\n                      _c(\n                        \"el-select\",\n                        {\n                          model: {\n                            value: _vm.layout,\n                            callback: function ($$v) {\n                              _vm.layout = $$v\n                            },\n                            expression: \"layout\",\n                          },\n                        },\n                        [\n                          _c(\"el-option\", {\n                            attrs: { label: \"自适应\", value: \"adaption\" },\n                          }),\n                          _c(\"el-option\", {\n                            attrs: {\n                              label: \"自适应（有最小宽度）\",\n                              value: \"adaption-min-width\",\n                            },\n                          }),\n                          _c(\"el-option\", {\n                            attrs: { label: \"定宽居中\", value: \"center\" },\n                          }),\n                          _c(\"el-option\", {\n                            attrs: {\n                              label: \"定宽居中（有最大宽度）\",\n                              value: \"center-max-width\",\n                            },\n                          }),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  )\n                : _vm._e(),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"主题风格\" } },\n                [\n                  _c(\n                    \"el-select\",\n                    {\n                      model: {\n                        value: _vm.theme,\n                        callback: function ($$v) {\n                          _vm.theme = $$v\n                        },\n                        expression: \"theme\",\n                      },\n                    },\n                    [\n                      _c(\"el-option\", {\n                        attrs: { label: \"默认\", value: \"default\" },\n                      }),\n                      _c(\"el-option\", {\n                        attrs: { label: \"Vue CLI 风格\", value: \"vue-cli\" },\n                      }),\n                      _c(\"el-option\", {\n                        attrs: { label: \"码云风格\", value: \"gitee\" },\n                      }),\n                      _c(\"el-option\", {\n                        attrs: { label: \"清新\", value: \"freshness\" },\n                      }),\n                      _c(\"el-option\", {\n                        attrs: { label: \"素雅\", value: \"elegant\" },\n                      }),\n                      _c(\"el-option\", {\n                        attrs: { label: \"纯白\", value: \"pure-white\" },\n                      }),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"组件尺寸\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.elementSize,\n                        callback: function ($$v) {\n                          _vm.elementSize = $$v\n                        },\n                        expression: \"elementSize\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: \"large\" } }, [\n                        _vm._v(\"默认\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: \"medium\" } }, [\n                        _vm._v(\"中等\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: \"small\" } }, [\n                        _vm._v(\"小\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: \"mini\" } }, [\n                        _vm._v(\"极小\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title: \"可全局设置 Element 组件的尺寸大小\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _vm.$store.state.settings.mode == \"pc\"\n                ? _c(\n                    \"el-form-item\",\n                    { attrs: { label: \"头部\" } },\n                    [\n                      _c(\n                        \"el-radio-group\",\n                        {\n                          model: {\n                            value: _vm.showHeader,\n                            callback: function ($$v) {\n                              _vm.showHeader = $$v\n                            },\n                            expression: \"showHeader\",\n                          },\n                        },\n                        [\n                          _c(\"el-radio-button\", { attrs: { label: true } }, [\n                            _vm._v(\"显示\"),\n                          ]),\n                          _c(\"el-radio-button\", { attrs: { label: false } }, [\n                            _vm._v(\"隐藏\"),\n                          ]),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  )\n                : _vm._e(),\n              _vm.$store.state.settings.mode == \"pc\"\n                ? _c(\n                    \"el-form-item\",\n                    { attrs: { label: \"侧边栏切换\" } },\n                    [\n                      _c(\n                        \"el-radio-group\",\n                        {\n                          model: {\n                            value: _vm.enableSidebarCollapse,\n                            callback: function ($$v) {\n                              _vm.enableSidebarCollapse = $$v\n                            },\n                            expression: \"enableSidebarCollapse\",\n                          },\n                        },\n                        [\n                          _c(\"el-radio-button\", { attrs: { label: true } }, [\n                            _vm._v(\"启用\"),\n                          ]),\n                          _c(\"el-radio-button\", { attrs: { label: false } }, [\n                            _vm._v(\"关闭\"),\n                          ]),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  )\n                : _vm._e(),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"侧边栏导航\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.sidebarCollapse,\n                        callback: function ($$v) {\n                          _vm.sidebarCollapse = $$v\n                        },\n                        expression: \"sidebarCollapse\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"收起\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"展开\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"切换跳转\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.switchSidebarAndPageJump,\n                        callback: function ($$v) {\n                          _vm.switchSidebarAndPageJump = $$v\n                        },\n                        expression: \"switchSidebarAndPageJump\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"启用\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"开启该功能后，切换侧边栏时，页面自动跳转至该侧边栏导航下第一个路由地址\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"标签栏\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enableTabbar,\n                        callback: function ($$v) {\n                          _vm.enableTabbar = $$v\n                        },\n                        expression: \"enableTabbar\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"启用\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"顶部导航栏\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.topbarFixed,\n                        callback: function ($$v) {\n                          _vm.topbarFixed = $$v\n                        },\n                        expression: \"topbarFixed\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"固定\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"不固定\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title: \"包含标签栏\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _vm.$store.state.settings.mode == \"pc\"\n                ? _c(\n                    \"el-form-item\",\n                    { attrs: { label: \"面包屑导航\" } },\n                    [\n                      _c(\n                        \"el-radio-group\",\n                        {\n                          model: {\n                            value: _vm.enableBreadcrumb,\n                            callback: function ($$v) {\n                              _vm.enableBreadcrumb = $$v\n                            },\n                            expression: \"enableBreadcrumb\",\n                          },\n                        },\n                        [\n                          _c(\"el-radio-button\", { attrs: { label: true } }, [\n                            _vm._v(\"启用\"),\n                          ]),\n                          _c(\"el-radio-button\", { attrs: { label: false } }, [\n                            _vm._v(\"关闭\"),\n                          ]),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  )\n                : _vm._e(),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"底部版权\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.showCopyright,\n                        callback: function ($$v) {\n                          _vm.showCopyright = $$v\n                        },\n                        expression: \"showCopyright\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"显示\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"隐藏\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"导航搜索\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enableNavSearch,\n                        callback: function ($$v) {\n                          _vm.enableNavSearch = $$v\n                        },\n                        expression: \"enableNavSearch\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"开启\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"该功能为页面右上角的搜索按钮，可对侧边栏导航进行快捷搜索\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"通知中心\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enableNotification,\n                        callback: function ($$v) {\n                          _vm.enableNotification = $$v\n                        },\n                        expression: \"enableNotification\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"开启\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"该功能为页面右上角的通知中心，具体业务功能需自行开发，框架仅提供展示模版\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"国际化\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enableI18n,\n                        callback: function ($$v) {\n                          _vm.enableI18n = $$v\n                        },\n                        expression: \"enableI18n\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"开启\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _vm.$store.state.settings.mode == \"pc\"\n                ? _c(\n                    \"el-form-item\",\n                    { attrs: { label: \"全屏\" } },\n                    [\n                      _c(\n                        \"el-radio-group\",\n                        {\n                          model: {\n                            value: _vm.enableFullscreen,\n                            callback: function ($$v) {\n                              _vm.enableFullscreen = $$v\n                            },\n                            expression: \"enableFullscreen\",\n                          },\n                        },\n                        [\n                          _c(\"el-radio-button\", { attrs: { label: true } }, [\n                            _vm._v(\"开启\"),\n                          ]),\n                          _c(\"el-radio-button\", { attrs: { label: false } }, [\n                            _vm._v(\"关闭\"),\n                          ]),\n                        ],\n                        1\n                      ),\n                      _c(\"el-alert\", {\n                        attrs: {\n                          title: \"该功能为页面右上角的全屏按钮\",\n                          type: \"info\",\n                          closable: false,\n                        },\n                      }),\n                      _c(\"el-alert\", {\n                        attrs: {\n                          title:\n                            \"不建议开启，该功能使用场景极少，用户习惯于通过窗口“最大化”功能来扩大显示区域，以显示更多内容，并且使用 F11 键也可以进入全屏效果\",\n                          type: \"warning\",\n                          closable: false,\n                        },\n                      }),\n                    ],\n                    1\n                  )\n                : _vm._e(),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"页面刷新\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enablePageReload,\n                        callback: function ($$v) {\n                          _vm.enablePageReload = $$v\n                        },\n                        expression: \"enablePageReload\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"开启\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"该功能为页面右上角的刷新按钮，开启时会阻止 F5 键原刷新功能，并采用框架提供的刷新模式进行页面刷新\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"加載进度条\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enableProgress,\n                        callback: function ($$v) {\n                          _vm.enableProgress = $$v\n                        },\n                        expression: \"enableProgress\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"开启\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"该功能开启时，跳转路由会看到页面顶部有条蓝色的进度条\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n              _c(\n                \"el-form-item\",\n                { attrs: { label: \"动态标题\" } },\n                [\n                  _c(\n                    \"el-radio-group\",\n                    {\n                      model: {\n                        value: _vm.enableDynamicTitle,\n                        callback: function ($$v) {\n                          _vm.enableDynamicTitle = $$v\n                        },\n                        expression: \"enableDynamicTitle\",\n                      },\n                    },\n                    [\n                      _c(\"el-radio-button\", { attrs: { label: true } }, [\n                        _vm._v(\"开启\"),\n                      ]),\n                      _c(\"el-radio-button\", { attrs: { label: false } }, [\n                        _vm._v(\"关闭\"),\n                      ]),\n                    ],\n                    1\n                  ),\n                  _c(\"el-alert\", {\n                    attrs: {\n                      title:\n                        \"该功能开启时，页面标题会显示当前路由标题，格式为“页面标题 - 网站名称”；关闭时则显示网站名称，网站名称在项目根目录下 .env.* 文件里配置\",\n                      type: \"info\",\n                      closable: false,\n                    },\n                  }),\n                ],\n                1\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=template&id=33068c4e&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Topbar/index.vue?vue&type=template&id=33068c4e&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      class: {\n        \"topbar-container\": true,\n        fixed: _vm.$store.state.settings.topbarFixed,\n      },\n      attrs: { \"data-fixed-calc-width\": \"\" },\n    },\n    [\n      _c(\n        \"div\",\n        { staticClass: \"left-box\" },\n        [\n          _vm.$store.state.settings.mode == \"mobile\" ||\n          _vm.$store.state.settings.enableSidebarCollapse\n            ? _c(\n                \"div\",\n                {\n                  class: {\n                    \"sidebar-collapse\": true,\n                    \"is-collapse\": _vm.$store.state.settings.sidebarCollapse,\n                  },\n                  on: {\n                    click: function ($event) {\n                      return _vm.$store.commit(\"settings/toggleSidebarCollapse\")\n                    },\n                  },\n                },\n                [_c(\"svg-icon\", { attrs: { name: \"toolbar-collapse\" } })],\n                1\n              )\n            : _vm._e(),\n          _vm.$store.state.settings.enableBreadcrumb &&\n          _vm.$store.state.settings.mode == \"pc\"\n            ? _c(\n                \"el-breadcrumb\",\n                { attrs: { \"separator-class\": \"el-icon-arrow-right\" } },\n                [\n                  _c(\n                    \"transition-group\",\n                    { attrs: { name: \"breadcrumb\" } },\n                    [\n                      _vm._l(_vm.breadcrumbList, function (item, index) {\n                        return [\n                          index < _vm.breadcrumbList.length - 1\n                            ? _c(\n                                \"el-breadcrumb-item\",\n                                {\n                                  key: item.path,\n                                  attrs: { to: _vm.pathCompile(item.path) },\n                                },\n                                [\n                                  _vm._v(\n                                    \" \" +\n                                      _vm._s(\n                                        _vm.generateI18nTitle(\n                                          item.i18n,\n                                          item.title\n                                        )\n                                      ) +\n                                      \" \"\n                                  ),\n                                ]\n                              )\n                            : _c(\"el-breadcrumb-item\", { key: item.path }, [\n                                _vm._v(\n                                  \" \" +\n                                    _vm._s(\n                                      _vm.generateI18nTitle(\n                                        item.i18n,\n                                        item.title\n                                      )\n                                    ) +\n                                    \" \"\n                                ),\n                              ]),\n                        ]\n                      }),\n                    ],\n                    2\n                  ),\n                ],\n                1\n              )\n            : _vm._e(),\n        ],\n        1\n      ),\n      _c(\"UserMenu\"),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=template&id=46bd2d3a&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/UserMenu/index.vue?vue&type=template&id=46bd2d3a&scoped=true& ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"user\" },\n    [\n      _c(\n        \"div\",\n        { staticClass: \"tools\" },\n        [\n          _c(\n            \"el-dropdown\",\n            {\n              staticClass: \"language-container\",\n              attrs: { size: \"medium\" },\n              on: { command: _vm.languageCommand },\n            },\n            [\n              _c(\"span\", { staticClass: \"item\" }, [\n                _c(\"i\", { staticClass: \"ri-translate\" }),\n              ]),\n              _c(\n                \"el-dropdown-menu\",\n                { attrs: { slot: \"dropdown\" }, slot: \"dropdown\" },\n                [\n                  _c(\n                    \"el-dropdown-item\",\n                    {\n                      attrs: {\n                        disabled: _vm.$store.state.settings.defaultLang == \"tc\",\n                        command: \"tc\",\n                      },\n                    },\n                    [_vm._v(_vm._s(_vm.$t(\"app.f\")))]\n                  ),\n                  _c(\n                    \"el-dropdown-item\",\n                    {\n                      attrs: {\n                        disabled: _vm.$store.state.settings.defaultLang == \"en\",\n                        command: \"en\",\n                      },\n                    },\n                    [_vm._v(_vm._s(_vm.$t(\"app.e\")))]\n                  ),\n                ],\n                1\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n      _c(\n        \"el-dropdown\",\n        {\n          staticClass: \"user-container\",\n          attrs: { size: \"default\" },\n          on: { command: _vm.userCommand },\n        },\n        [\n          _c(\"div\", { staticClass: \"user-wrapper\" }, [\n            _vm._v(\" \" + _vm._s(_vm.store) + \" \"),\n            _c(\"i\", { staticClass: \"el-icon-caret-bottom\" }),\n          ]),\n          _c(\n            \"el-dropdown-menu\",\n            {\n              staticClass: \"user-dropdown\",\n              attrs: { slot: \"dropdown\" },\n              slot: \"dropdown\",\n            },\n            [\n              _c(\n                \"el-dropdown-item\",\n                { attrs: { divided: \"\", command: \"logout\" } },\n                [_vm._v(_vm._s(_vm.$t(\"app.logout\")))]\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/empty.vue?vue&type=template&id=21f3cafe&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/empty.vue?vue&type=template&id=21f3cafe& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"RouterView\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/empty.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=template&id=13877386&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/index.vue?vue&type=template&id=13877386&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"layout\" },\n    [\n      _c(\n        \"div\",\n        { attrs: { id: \"app-main\" } },\n        [\n          _c(\"transition\", { attrs: { name: \"header\" } }, [\n            _vm.$store.state.settings.mode == \"pc\" &&\n            _vm.$store.state.settings.showHeader\n              ? _c(\"header\", [\n                  _c(\n                    \"div\",\n                    { staticClass: \"header-container\" },\n                    [\n                      _c(\n                        \"div\",\n                        { staticClass: \"main\" },\n                        [\n                          _c(\"Logo\"),\n                          _vm.$store.state.menu.routes.length > 1\n                            ? _c(\n                                \"div\",\n                                { staticClass: \"nav\" },\n                                [\n                                  _vm._l(\n                                    _vm.$store.state.menu.routes,\n                                    function (item, index) {\n                                      return [\n                                        item.children &&\n                                        item.children.length !== 0\n                                          ? _c(\n                                              \"div\",\n                                              {\n                                                key: index,\n                                                class: {\n                                                  item: true,\n                                                  active:\n                                                    index ==\n                                                    _vm.$store.state.menu\n                                                      .headerActived,\n                                                },\n                                                on: {\n                                                  click: function ($event) {\n                                                    return _vm.switchMenu(index)\n                                                  },\n                                                },\n                                              },\n                                              [\n                                                item.meta.icon\n                                                  ? _c(\"svg-icon\", {\n                                                      staticClass: \"icon\",\n                                                      attrs: {\n                                                        name: item.meta.icon,\n                                                      },\n                                                    })\n                                                  : _vm._e(),\n                                                item.meta.title\n                                                  ? _c(\"span\", [\n                                                      _vm._v(\n                                                        _vm._s(item.meta.title)\n                                                      ),\n                                                    ])\n                                                  : _vm._e(),\n                                              ],\n                                              1\n                                            )\n                                          : _vm._e(),\n                                      ]\n                                    }\n                                  ),\n                                ],\n                                2\n                              )\n                            : _vm._e(),\n                        ],\n                        1\n                      ),\n                      _c(\"UserMenu\"),\n                    ],\n                    1\n                  ),\n                ])\n              : _vm._e(),\n          ]),\n          _c(\"div\", { staticClass: \"wrapper\" }, [\n            _c(\n              \"div\",\n              {\n                class: {\n                  \"sidebar-container\": true,\n                  show:\n                    _vm.$store.state.settings.mode == \"mobile\" &&\n                    !_vm.$store.state.settings.sidebarCollapse,\n                },\n              },\n              [\n                _c(\"transition\", { attrs: { name: \"main-sidebar\" } }, [\n                  (!_vm.$store.state.settings.showHeader ||\n                    _vm.$store.state.settings.mode == \"mobile\") &&\n                  _vm.$store.state.menu.routes.length > 1\n                    ? _c(\n                        \"div\",\n                        { staticClass: \"main-sidebar-container\" },\n                        [\n                          _c(\"Logo\", {\n                            staticClass: \"sidebar-logo\",\n                            attrs: { \"show-title\": false },\n                          }),\n                          _c(\n                            \"div\",\n                            { staticClass: \"nav\" },\n                            [\n                              _vm._l(\n                                _vm.$store.state.menu.routes,\n                                function (item, index) {\n                                  return [\n                                    item.children && item.children.length !== 0\n                                      ? _c(\n                                          \"div\",\n                                          {\n                                            key: index,\n                                            class: {\n                                              item: true,\n                                              active:\n                                                index ==\n                                                _vm.$store.state.menu\n                                                  .headerActived,\n                                            },\n                                            attrs: { title: item.meta.title },\n                                            on: {\n                                              click: function ($event) {\n                                                return _vm.switchMenu(index)\n                                              },\n                                            },\n                                          },\n                                          [\n                                            item.meta.icon\n                                              ? _c(\"svg-icon\", {\n                                                  staticClass: \"icon\",\n                                                  attrs: {\n                                                    name: item.meta.icon,\n                                                  },\n                                                })\n                                              : _vm._e(),\n                                            _c(\"span\", [\n                                              _vm._v(_vm._s(item.meta.title)),\n                                            ]),\n                                          ],\n                                          1\n                                        )\n                                      : _vm._e(),\n                                  ]\n                                }\n                              ),\n                            ],\n                            2\n                          ),\n                        ],\n                        1\n                      )\n                    : _vm._e(),\n                ]),\n                _c(\n                  \"div\",\n                  {\n                    class: {\n                      \"sub-sidebar-container\": true,\n                      \"is-collapse\":\n                        _vm.$store.state.settings.mode == \"pc\" &&\n                        _vm.$store.state.settings.sidebarCollapse,\n                    },\n                    on: { scroll: _vm.onSidebarScroll },\n                  },\n                  [\n                    _c(\"Logo\", {\n                      class: {\n                        \"sidebar-logo\": true,\n                        \"sidebar-logo-bg\":\n                          _vm.$store.state.menu.routes.length <= 1,\n                        shadow: _vm.sidebarScrollTop,\n                      },\n                      attrs: {\n                        \"show-logo\": _vm.$store.state.menu.routes.length <= 1,\n                      },\n                    }),\n                    _c(\n                      \"el-menu\",\n                      {\n                        class: {\n                          \"is-collapse-without-logo\":\n                            _vm.$store.state.menu.routes.length > 1 &&\n                            _vm.$store.state.settings.mode == \"pc\" &&\n                            _vm.$store.state.settings.sidebarCollapse,\n                        },\n                        attrs: {\n                          \"unique-opened\": \"\",\n                          \"default-active\":\n                            _vm.$route.meta.activeMenu || _vm.$route.path,\n                          collapse:\n                            _vm.$store.state.settings.mode == \"pc\" &&\n                            _vm.$store.state.settings.sidebarCollapse,\n                          \"collapse-transition\": false,\n                        },\n                      },\n                      [\n                        _c(\n                          \"transition-group\",\n                          { attrs: { name: \"sub-sidebar\" } },\n                          [\n                            _vm._l(\n                              _vm.$store.getters[\"menu/sidebarRoutes\"],\n                              function (route) {\n                                return [\n                                  route.meta.sidebar !== false\n                                    ? _c(\"SidebarItem\", {\n                                        key: route.path,\n                                        attrs: {\n                                          item: route,\n                                          \"base-path\": route.path,\n                                        },\n                                      })\n                                    : _vm._e(),\n                                ]\n                              }\n                            ),\n                          ],\n                          2\n                        ),\n                      ],\n                      1\n                    ),\n                  ],\n                  1\n                ),\n              ],\n              1\n            ),\n            _c(\"div\", {\n              class: {\n                \"sidebar-mask\": true,\n                show:\n                  _vm.$store.state.settings.mode == \"mobile\" &&\n                  !_vm.$store.state.settings.sidebarCollapse,\n              },\n              on: {\n                click: function ($event) {\n                  return _vm.$store.commit(\"settings/toggleSidebarCollapse\")\n                },\n              },\n            }),\n            _c(\n              \"div\",\n              {\n                staticClass: \"main-container\",\n                style: { \"padding-bottom\": _vm.$route.meta.paddingBottom },\n              },\n              [\n                _vm.$store.state.settings.enableTabbar\n                  ? _c(\"Tabbar\")\n                  : _vm._e(),\n                _c(\"Topbar\", { class: { shadow: _vm.scrollTop } }),\n                _c(\n                  \"div\",\n                  { staticClass: \"main\" },\n                  [\n                    _c(\n                      \"transition\",\n                      { attrs: { name: \"main\", mode: \"out-in\" } },\n                      [\n                        _vm.isRouterAlive\n                          ? _c(\n                              \"keep-alive\",\n                              {\n                                attrs: {\n                                  include: _vm.$store.state.keepAlive.list,\n                                },\n                              },\n                              [_c(\"RouterView\", { key: _vm.$route.path })],\n                              1\n                            )\n                          : _vm._e(),\n                      ],\n                      1\n                    ),\n                  ],\n                  1\n                ),\n                _vm.showCopyright ? _c(\"Copyright\") : _vm._e(),\n              ],\n              1\n            ),\n          ]),\n          _c(\"el-backtop\", {\n            attrs: { right: 20, bottom: 20, title: \"回到顶部\" },\n          }),\n        ],\n        1\n      ),\n      _c(\"Search\"),\n      _c(\"ThemeSetting\"),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/layout/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=template&id=6b3aeb0e&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/404.vue?vue&type=template&id=6b3aeb0e&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"notfound\" },\n    [\n      _c(\"svg-icon\", { attrs: { name: \"404\" } }),\n      _c(\n        \"div\",\n        { staticClass: \"content\" },\n        [\n          _c(\"h1\", [_vm._v(\"404\")]),\n          _c(\"div\", { staticClass: \"desc\" }, [\n            _vm._v(_vm._s(_vm.$t(\"app.Sorry\"))),\n          ]),\n          _c(\n            \"el-button\",\n            { attrs: { type: \"primary\" }, on: { click: _vm.goBack } },\n            [_vm._v(_vm._s(_vm.countdown) + _vm._s(_vm.$t(\"app.later\")))]\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/404.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=template&id=eff5f54e&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bank/index.vue?vue&type=template&id=eff5f54e&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\n        \"page-main\",\n        [\n          _c(\n            \"el-button\",\n            {\n              attrs: { type: \"primary\" },\n              on: {\n                click: function ($event) {\n                  _vm.addshow = true\n                },\n              },\n            },\n            [_vm._v(_vm._s(_vm.$t(\"app.Newaccount\")))]\n          ),\n          _c(\n            \"el-table\",\n            { staticStyle: { width: \"100%\" }, attrs: { data: _vm.tableData } },\n            [\n              _c(\"el-table-column\", { attrs: { prop: \"id\", label: \"ID\" } }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"name\", label: _vm.$t(\"app.nickname\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"account\", label: _vm.$t(\"app.accountnumber\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { label: _vm.$t(\"app.operation\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\n                          \"el-button\",\n                          {\n                            staticStyle: { \"margin-right\": \"10px\" },\n                            attrs: { type: \"text\" },\n                            on: {\n                              click: function ($event) {\n                                return _vm.edit(data.row)\n                              },\n                            },\n                          },\n                          [_vm._v(_vm._s(_vm.$t(\"app.edit\")))]\n                        ),\n                        _c(\n                          \"el-popconfirm\",\n                          {\n                            attrs: { title: _vm.$t(\"app.todelete\") },\n                            on: {\n                              confirm: function ($event) {\n                                return _vm.del(data.row.id)\n                              },\n                            },\n                          },\n                          [\n                            _c(\n                              \"el-button\",\n                              {\n                                attrs: {\n                                  slot: \"reference\",\n                                  type: \"text\",\n                                  size: \"mini\",\n                                },\n                                slot: \"reference\",\n                              },\n                              [_vm._v(_vm._s(_vm.$t(\"app.delete\")))]\n                            ),\n                          ],\n                          1\n                        ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n      _c(\n        \"el-dialog\",\n        {\n          attrs: {\n            \"close-on-click-modal\": false,\n            title: _vm.form.id ? _vm.$t(\"app.edit\") : _vm.$t(\"app.add\"),\n            visible: _vm.addshow,\n            width: \"30%\",\n          },\n          on: {\n            \"update:visible\": function ($event) {\n              _vm.addshow = $event\n            },\n          },\n        },\n        [\n          _c(\n            \"div\",\n            { staticClass: \"fect\" },\n            [\n              _c(\"div\", { staticClass: \"bx\" }, [\n                _vm._v(_vm._s(_vm.$t(\"app.nickname\"))),\n              ]),\n              _c(\"el-input\", {\n                staticStyle: { flex: \"1\" },\n                model: {\n                  value: _vm.form.name,\n                  callback: function ($$v) {\n                    _vm.$set(_vm.form, \"name\", $$v)\n                  },\n                  expression: \"form.name\",\n                },\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"div\",\n            { staticClass: \"fect\" },\n            [\n              _c(\"div\", { staticClass: \"bx\" }, [\n                _vm._v(_vm._s(_vm.$t(\"app.accountnumber\"))),\n              ]),\n              _c(\"el-input\", {\n                staticStyle: { flex: \"1\" },\n                model: {\n                  value: _vm.form.account,\n                  callback: function ($$v) {\n                    _vm.$set(_vm.form, \"account\", $$v)\n                  },\n                  expression: \"form.account\",\n                },\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"div\",\n            { staticClass: \"fect\" },\n            [\n              _c(\"div\", { staticClass: \"bx\" }, [\n                _vm._v(_vm._s(_vm.$t(\"app.password\"))),\n              ]),\n              _c(\"el-input\", {\n                staticStyle: { flex: \"1\" },\n                model: {\n                  value: _vm.form.pass,\n                  callback: function ($$v) {\n                    _vm.$set(_vm.form, \"pass\", $$v)\n                  },\n                  expression: \"form.pass\",\n                },\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"span\",\n            {\n              staticClass: \"dialog-footer\",\n              attrs: { slot: \"footer\" },\n              slot: \"footer\",\n            },\n            [\n              _c(\n                \"el-button\",\n                {\n                  on: {\n                    click: function ($event) {\n                      _vm.addshow = false\n                    },\n                  },\n                },\n                [_vm._v(_vm._s(_vm.$t(\"app.cancel\")))]\n              ),\n              _c(\n                \"el-button\",\n                { attrs: { type: \"primary\" }, on: { click: _vm.certain } },\n                [_vm._v(_vm._s(_vm.$t(\"app.check\")))]\n              ),\n            ],\n            1\n          ),\n        ]\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=template&id=5954443c&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/home/index.vue?vue&type=template&id=5954443c&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\n        \"page-main\",\n        [\n          _c(\n            \"div\",\n            { staticStyle: { \"margin-bottom\": \"10px\" } },\n            [\n              _c(\n                \"el-button\",\n                {\n                  on: {\n                    click: function ($event) {\n                      return _vm.init(-1)\n                    },\n                  },\n                },\n                [_vm._v(_vm._s(_vm.$t(\"app.whole\")))]\n              ),\n              _c(\n                \"el-button\",\n                {\n                  on: {\n                    click: function ($event) {\n                      return _vm.init(1)\n                    },\n                  },\n                },\n                [_vm._v(_vm._s(_vm.$t(\"app.Tobeserved\")))]\n              ),\n              _c(\n                \"el-button\",\n                {\n                  on: {\n                    click: function ($event) {\n                      return _vm.init(2)\n                    },\n                  },\n                },\n                [_vm._v(_vm._s(_vm.$t(\"app.Tobepickedup\")))]\n              ),\n              _c(\n                \"el-button\",\n                {\n                  on: {\n                    click: function ($event) {\n                      return _vm.init(3)\n                    },\n                  },\n                },\n                [_vm._v(_vm._s(_vm.$t(\"app.Completed\")))]\n              ),\n              _c(\"el-date-picker\", {\n                staticStyle: { \"margin-left\": \"10px\" },\n                attrs: {\n                  type: \"daterange\",\n                  \"range-separator\": \"-\",\n                  \"value-format\": \"yyyy-MM-dd\",\n                  \"start-placeholder\": _vm.$t(\"app.Startdate\"),\n                  \"end-placeholder\": _vm.$t(\"app.Enddate\"),\n                },\n                on: { change: _vm.xlk },\n                model: {\n                  value: _vm.value1,\n                  callback: function ($$v) {\n                    _vm.value1 = $$v\n                  },\n                  expression: \"value1\",\n                },\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"el-table\",\n            { staticStyle: { width: \"100%\" }, attrs: { data: _vm.tableData } },\n            [\n              _c(\"el-table-column\", {\n                attrs: { prop: \"code\", label: _vm.$t(\"app.Pickupmealcode\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"phone\", label: _vm.$t(\"app.accountnumber\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: {\n                  prop: \"num\",\n                  label: _vm.$t(\"app.Numberofcommodities\"),\n                },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { label: _vm.$t(\"app.OrderRemarks\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\"div\", { staticClass: \"tex\" }, [\n                          _vm._v(\n                            _vm._s(\n                              data.row.order_mark ? data.row.order_mark : \"-\"\n                            )\n                          ),\n                        ]),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"pay_time\", label: _vm.$t(\"app.fixture\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { label: _vm.$t(\"app.Completiontime\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\"div\", { staticClass: \"tex\" }, [\n                          _vm._v(\n                            _vm._s(\n                              data.row.pick_time ? data.row.pick_time : \"-\"\n                            )\n                          ),\n                        ]),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { label: _vm.$t(\"app.CommodityDetails\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\n                          \"el-button\",\n                          {\n                            attrs: { type: \"text\" },\n                            on: {\n                              click: function ($event) {\n                                return _vm.detail(data.row.cart_goods)\n                              },\n                            },\n                          },\n                          [_vm._v(_vm._s(_vm.$t(\"app.Viewdetails\")))]\n                        ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"address\", label: _vm.$t(\"app.state\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [_c(\"div\", [_vm._v(_vm._s(data.row.stu_name))])]\n                    },\n                  },\n                ]),\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"el-dialog\",\n            {\n              attrs: {\n                title: _vm.$t(\"app.Details\"),\n                visible: _vm.show3,\n                width: \"45%\",\n              },\n              on: {\n                \"update:visible\": function ($event) {\n                  _vm.show3 = $event\n                },\n              },\n            },\n            [\n              _c(\n                \"el-table\",\n                { staticStyle: { width: \"100%\" }, attrs: { data: _vm.list } },\n                [\n                  _c(\"el-table-column\", {\n                    attrs: { prop: \"title\", label: _vm.$t(\"app.title\") },\n                  }),\n                  _c(\"el-table-column\", {\n                    attrs: { prop: \"tag\", label: _vm.$t(\"app.Specifications\") },\n                  }),\n                  _c(\"el-table-column\", {\n                    attrs: { prop: \"num\", label: _vm.$t(\"app.amount\") },\n                  }),\n                ],\n                1\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/home/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=template&id=7589b93f&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login.vue?vue&type=template&id=7589b93f&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\"div\", { staticClass: \"bg-banner\" }),\n      _c(\n        \"div\",\n        { attrs: { id: \"login-box\" } },\n        [\n          _c(\"div\", { staticClass: \"login-banner\" }),\n          _c(\n            \"el-form\",\n            {\n              directives: [\n                {\n                  name: \"show\",\n                  rawName: \"v-show\",\n                  value: _vm.formType == \"login\",\n                  expression: \"formType == 'login'\",\n                },\n              ],\n              ref: \"loginForm\",\n              staticClass: \"login-form\",\n              attrs: {\n                model: _vm.loginForm,\n                rules: _vm.flag ? _vm.loginRules1 : _vm.loginRules,\n                size: \"default\",\n                autocomplete: \"on\",\n                \"label-position\": \"left\",\n              },\n            },\n            [\n              _c(\"div\", { staticClass: \"title-container\" }, [\n                _c(\"h3\", { staticClass: \"title\" }, [\n                  _vm._v(\" \" + _vm._s(_vm.$t(\"app.Managebackground\")) + \" \"),\n                ]),\n              ]),\n              _c(\n                \"div\",\n                [\n                  _c(\n                    \"el-form-item\",\n                    { attrs: { prop: \"mobile\" } },\n                    [\n                      _c(\n                        \"el-input\",\n                        {\n                          ref: \"name\",\n                          attrs: {\n                            placeholder: _vm.$t(\"app.phone\"),\n                            type: \"text\",\n                            tabindex: \"1\",\n                            autocomplete: \"on\",\n                          },\n                          model: {\n                            value: _vm.loginForm.mobile,\n                            callback: function ($$v) {\n                              _vm.$set(_vm.loginForm, \"mobile\", $$v)\n                            },\n                            expression: \"loginForm.mobile\",\n                          },\n                        },\n                        [\n                          _c(\"svg-icon\", {\n                            attrs: { slot: \"prefix\", name: \"user\" },\n                            slot: \"prefix\",\n                          }),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  ),\n                  _c(\n                    \"el-form-item\",\n                    { attrs: { prop: \"password\" } },\n                    [\n                      !_vm.flag\n                        ? _c(\n                            \"el-input\",\n                            {\n                              ref: \"password\",\n                              attrs: {\n                                type: _vm.passwordType,\n                                placeholder: _vm.$t(\"app.password\"),\n                                tabindex: \"2\",\n                                autocomplete: \"on\",\n                              },\n                              nativeOn: {\n                                keyup: function ($event) {\n                                  if (\n                                    !$event.type.indexOf(\"key\") &&\n                                    _vm._k(\n                                      $event.keyCode,\n                                      \"enter\",\n                                      13,\n                                      $event.key,\n                                      \"Enter\"\n                                    )\n                                  ) {\n                                    return null\n                                  }\n                                  return _vm.handleLogin.apply(null, arguments)\n                                },\n                              },\n                              model: {\n                                value: _vm.loginForm.password,\n                                callback: function ($$v) {\n                                  _vm.$set(_vm.loginForm, \"password\", $$v)\n                                },\n                                expression: \"loginForm.password\",\n                              },\n                            },\n                            [\n                              _c(\"svg-icon\", {\n                                attrs: { slot: \"prefix\", name: \"password\" },\n                                slot: \"prefix\",\n                              }),\n                              _c(\"svg-icon\", {\n                                attrs: {\n                                  slot: \"suffix\",\n                                  name:\n                                    _vm.passwordType === \"password\"\n                                      ? \"eye\"\n                                      : \"eye-open\",\n                                },\n                                on: { click: _vm.showPassword },\n                                slot: \"suffix\",\n                              }),\n                            ],\n                            1\n                          )\n                        : _c(\n                            \"div\",\n                            { staticClass: \"yinput\" },\n                            [\n                              _c(\"el-input\", {\n                                attrs: { placeholder: \"验证码\" },\n                                model: {\n                                  value: _vm.loginForm.password,\n                                  callback: function ($$v) {\n                                    _vm.$set(_vm.loginForm, \"password\", $$v)\n                                  },\n                                  expression: \"loginForm.password\",\n                                },\n                              }),\n                              _c(\n                                \"el-button\",\n                                { ref: \"btn\", on: { click: _vm.getcode } },\n                                [\n                                  _vm._v(\n                                    _vm._s(\n                                      _vm.flag1\n                                        ? \"重新发送(\" + _vm.num + \")\"\n                                        : \"获取验证码\"\n                                    )\n                                  ),\n                                ]\n                              ),\n                            ],\n                            1\n                          ),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\n                \"div\",\n                { staticClass: \"flex-bar\" },\n                [\n                  !_vm.flag\n                    ? _c(\n                        \"el-checkbox\",\n                        {\n                          model: {\n                            value: _vm.loginForm.remember,\n                            callback: function ($$v) {\n                              _vm.$set(_vm.loginForm, \"remember\", $$v)\n                            },\n                            expression: \"loginForm.remember\",\n                          },\n                        },\n                        [_vm._v(_vm._s(_vm.$t(\"app.Rememberme\")))]\n                      )\n                    : _vm._e(),\n                  _c(\"el-switch\", {\n                    attrs: {\n                      \"active-text\": _vm.$t(\"app.e\"),\n                      \"inactive-text\": _vm.$t(\"app.f\"),\n                    },\n                    on: { change: _vm.languageCommand },\n                    model: {\n                      value: _vm.value1,\n                      callback: function ($$v) {\n                        _vm.value1 = $$v\n                      },\n                      expression: \"value1\",\n                    },\n                  }),\n                ],\n                1\n              ),\n              _c(\n                \"el-button\",\n                {\n                  staticStyle: { width: \"100%\" },\n                  attrs: {\n                    loading: _vm.loading,\n                    type: \"primary\",\n                    size: \"default\",\n                  },\n                  nativeOn: {\n                    click: function ($event) {\n                      $event.preventDefault()\n                      return _vm.handleLogin.apply(null, arguments)\n                    },\n                  },\n                },\n                [_vm._v(_vm._s(_vm.$t(\"app.login\")))]\n              ),\n            ],\n            1\n          ),\n          _c(\n            \"el-form\",\n            {\n              directives: [\n                {\n                  name: \"show\",\n                  rawName: \"v-show\",\n                  value: _vm.formType == \"reset\",\n                  expression: \"formType == 'reset'\",\n                },\n              ],\n              ref: \"resetForm\",\n              staticClass: \"login-form\",\n              attrs: {\n                model: _vm.resetForm,\n                rules: _vm.resetRules,\n                size: \"default\",\n                \"auto-complete\": \"on\",\n                \"label-position\": \"left\",\n              },\n            },\n            [\n              _c(\"div\", { staticClass: \"title-container\" }, [\n                _c(\"h3\", { staticClass: \"title\" }, [_vm._v(\"重置密码\")]),\n              ]),\n              _c(\n                \"div\",\n                [\n                  _c(\n                    \"el-form-item\",\n                    { attrs: { prop: \"account\" } },\n                    [\n                      _c(\n                        \"el-input\",\n                        {\n                          ref: \"name\",\n                          attrs: {\n                            placeholder: _vm.$t(\"app.account\"),\n                            type: \"text\",\n                            tabindex: \"1\",\n                            autocomplete: \"on\",\n                          },\n                          model: {\n                            value: _vm.resetForm.account,\n                            callback: function ($$v) {\n                              _vm.$set(_vm.resetForm, \"account\", $$v)\n                            },\n                            expression: \"resetForm.account\",\n                          },\n                        },\n                        [\n                          _c(\"svg-icon\", {\n                            attrs: { slot: \"prefix\", name: \"user\" },\n                            slot: \"prefix\",\n                          }),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  ),\n                  _c(\n                    \"el-form-item\",\n                    { attrs: { prop: \"captcha\" } },\n                    [\n                      _c(\n                        \"el-input\",\n                        {\n                          ref: \"captcha\",\n                          attrs: {\n                            placeholder: _vm.$t(\"app.captcha\"),\n                            type: \"text\",\n                            tabindex: \"2\",\n                            autocomplete: \"on\",\n                          },\n                          model: {\n                            value: _vm.resetForm.captcha,\n                            callback: function ($$v) {\n                              _vm.$set(_vm.resetForm, \"captcha\", $$v)\n                            },\n                            expression: \"resetForm.captcha\",\n                          },\n                        },\n                        [\n                          _c(\"svg-icon\", {\n                            attrs: { slot: \"prefix\", name: \"user\" },\n                            slot: \"prefix\",\n                          }),\n                          _c(\n                            \"el-button\",\n                            { attrs: { slot: \"append\" }, slot: \"append\" },\n                            [_vm._v(_vm._s(_vm.$t(\"app.sendCaptcha\")))]\n                          ),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  ),\n                  _c(\n                    \"el-form-item\",\n                    { attrs: { prop: \"newPassword\" } },\n                    [\n                      _c(\n                        \"el-input\",\n                        {\n                          ref: \"newPassword\",\n                          attrs: {\n                            type: _vm.passwordType,\n                            placeholder: _vm.$t(\"app.newPassword\"),\n                            tabindex: \"3\",\n                            autocomplete: \"on\",\n                          },\n                          model: {\n                            value: _vm.resetForm.newPassword,\n                            callback: function ($$v) {\n                              _vm.$set(_vm.resetForm, \"newPassword\", $$v)\n                            },\n                            expression: \"resetForm.newPassword\",\n                          },\n                        },\n                        [\n                          _c(\"svg-icon\", {\n                            attrs: { slot: \"prefix\", name: \"password\" },\n                            slot: \"prefix\",\n                          }),\n                          _c(\"svg-icon\", {\n                            attrs: {\n                              slot: \"suffix\",\n                              name:\n                                _vm.passwordType === \"password\"\n                                  ? \"eye\"\n                                  : \"eye-open\",\n                            },\n                            on: { click: _vm.showPassword },\n                            slot: \"suffix\",\n                          }),\n                        ],\n                        1\n                      ),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n              _c(\n                \"el-row\",\n                {\n                  staticStyle: { \"padding-top\": \"20px\" },\n                  attrs: { gutter: 15 },\n                },\n                [\n                  _c(\n                    \"el-col\",\n                    { attrs: { md: 6 } },\n                    [\n                      _c(\n                        \"el-button\",\n                        {\n                          staticStyle: { width: \"100%\" },\n                          attrs: { size: \"default\" },\n                          on: {\n                            click: function ($event) {\n                              _vm.formType = \"login\"\n                            },\n                          },\n                        },\n                        [_vm._v(_vm._s(_vm.$t(\"app.goLogin\")))]\n                      ),\n                    ],\n                    1\n                  ),\n                  _c(\n                    \"el-col\",\n                    { attrs: { md: 18 } },\n                    [\n                      _c(\n                        \"el-button\",\n                        {\n                          staticStyle: { width: \"100%\" },\n                          attrs: {\n                            loading: _vm.loading,\n                            type: \"primary\",\n                            size: \"default\",\n                          },\n                          nativeOn: {\n                            click: function ($event) {\n                              $event.preventDefault()\n                              return _vm.handleFind.apply(null, arguments)\n                            },\n                          },\n                        },\n                        [_vm._v(_vm._s(_vm.$t(\"app.check\")))]\n                      ),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n      _vm.$store.state.settings.showCopyright ? _c(\"Copyright\") : _vm._e(),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/login.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=template&id=fa2d4a4e&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/market/index.vue?vue&type=template&id=fa2d4a4e&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\"page-main\", [\n        _c(\n          \"div\",\n          {\n            staticStyle: {\n              display: \"flex\",\n              \"justify-content\": \"space-between\",\n              \"align-items\": \"center\",\n            },\n          },\n          [\n            _c(\"h3\", [_vm._v(_vm._s(_vm.$t(\"app.Monthlysales\")))]),\n            _c(\"el-date-picker\", {\n              attrs: {\n                \"value-format\": \"yyyy-MM-dd\",\n                type: \"daterange\",\n                \"range-separator\": \"-\",\n                \"start-placeholder\": _vm.$t(\"app.Startdate\"),\n                \"end-placeholder\": _vm.$t(\"app.Enddate\"),\n              },\n              on: { change: _vm.changedate },\n              model: {\n                value: _vm.value2,\n                callback: function ($$v) {\n                  _vm.value2 = $$v\n                },\n                expression: \"value2\",\n              },\n            }),\n            _c(\n              \"el-button\",\n              {\n                staticStyle: { \"margin-bottom\": \"20px\" },\n                attrs: { type: \"primary\", size: \"mini\" },\n                on: { click: _vm.hanchange6 },\n              },\n              [_vm._v(_vm._s(_vm.$t(\"app.ExportData\")))]\n            ),\n          ],\n          1\n        ),\n        _c(\"div\", {\n          ref: \"xs\",\n          staticStyle: { width: \"100%\", height: \"400px\" },\n        }),\n      ]),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/market/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/mixs/index.vue?vue&type=template&id=b68a2218&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/mixs/index.vue?vue&type=template&id=b68a2218& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\n        \"page-main\",\n        [\n          _c(\n            \"el-table\",\n            { staticStyle: { width: \"100%\" }, attrs: { data: _vm.tableData } },\n            [\n              _c(\"el-table-column\", {\n                attrs: { prop: \"title\", label: _vm.$t(\"app.title\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\"div\", { staticClass: \"tex\" }, [\n                          _vm._v(_vm._s(data.row.title)),\n                        ]),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"price\", label: _vm.$t(\"app.price\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"store\", label: _vm.$t(\"app.state\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _vm._v(\n                          \" \" +\n                            _vm._s(\n                              data.row.status == 0\n                                ? _vm.$t(\"app.Selling\")\n                                : _vm.$t(\"app.Suspendsales\")\n                            ) +\n                            \" \"\n                        ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"address\", label: _vm.$t(\"app.operation\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        data.row.status == 1\n                          ? _c(\n                              \"el-button\",\n                              {\n                                attrs: { type: \"text\" },\n                                on: {\n                                  click: function ($event) {\n                                    return _vm.out(2, data.row.id)\n                                  },\n                                },\n                              },\n                              [_vm._v(_vm._s(_vm.$t(\"app.Putaway\")))]\n                            )\n                          : _c(\n                              \"el-popconfirm\",\n                              {\n                                staticStyle: { \"margin-right\": \"10px\" },\n                                attrs: { title: _vm.$t(\"app.removetheshelf\") },\n                                on: {\n                                  confirm: function ($event) {\n                                    return _vm.out(1, data.row.id)\n                                  },\n                                },\n                              },\n                              [\n                                _c(\n                                  \"el-button\",\n                                  {\n                                    directives: [\n                                      {\n                                        name: \"auth\",\n                                        rawName: \"v-auth\",\n                                        value: \"35\",\n                                        expression: \"'35'\",\n                                      },\n                                    ],\n                                    attrs: {\n                                      slot: \"reference\",\n                                      type: \"text\",\n                                      size: \"mini\",\n                                    },\n                                    slot: \"reference\",\n                                  },\n                                  [_vm._v(_vm._s(_vm.$t(\"app.Lowershelf\")))]\n                                ),\n                              ],\n                              1\n                            ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"div\",\n            {\n              staticStyle: {\n                display: \"flex\",\n                \"justify-content\": \"flex-end\",\n                \"margin-top\": \"10px\",\n              },\n            },\n            [\n              _c(\"el-pagination\", {\n                attrs: {\n                  background: \"\",\n                  layout: \"prev, pager, next\",\n                  \"current-page\": _vm.page,\n                  total: _vm.total2,\n                },\n                on: { \"current-change\": _vm.current },\n              }),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/mixs/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/edit.password.vue?vue&type=template&id=a63241ec&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/personal/edit.password.vue?vue&type=template&id=a63241ec& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\"page-header\", {\n        attrs: {\n          title: \"修改密码\",\n          content: \"定期修改密码可以提高帐号安全性噢~\",\n        },\n      }),\n      _c(\n        \"page-main\",\n        [\n          _c(\n            \"el-row\",\n            [\n              _c(\n                \"el-col\",\n                { attrs: { md: 24, lg: 12 } },\n                [\n                  _c(\n                    \"el-form\",\n                    {\n                      ref: \"form\",\n                      attrs: {\n                        model: _vm.form,\n                        rules: _vm.rules,\n                        \"label-width\": \"120px\",\n                      },\n                    },\n                    [\n                      _c(\n                        \"el-form-item\",\n                        { attrs: { label: \"新密码\", prop: \"newpass\" } },\n                        [\n                          _c(\"el-input\", {\n                            attrs: {\n                              type: \"password\",\n                              placeholder: \"请输入新密码\",\n                            },\n                            model: {\n                              value: _vm.form.newpass,\n                              callback: function ($$v) {\n                                _vm.$set(_vm.form, \"newpass\", $$v)\n                              },\n                              expression: \"form.newpass\",\n                            },\n                          }),\n                        ],\n                        1\n                      ),\n                      _c(\n                        \"el-form-item\",\n                        { attrs: { label: \"确认新密码\", prop: \"repass\" } },\n                        [\n                          _c(\"el-input\", {\n                            attrs: {\n                              type: \"password\",\n                              placeholder: \"请确认新密码\",\n                            },\n                            model: {\n                              value: _vm.form.repass,\n                              callback: function ($$v) {\n                                _vm.$set(_vm.form, \"repass\", $$v)\n                              },\n                              expression: \"form.repass\",\n                            },\n                          }),\n                        ],\n                        1\n                      ),\n                      _c(\n                        \"el-form-item\",\n                        { attrs: { label: \"验证码\", prop: \"repass\" } },\n                        [\n                          _c(\n                            \"div\",\n                            { staticStyle: { display: \"flex\" } },\n                            [\n                              _c(\"el-input\", {\n                                attrs: { placeholder: \"请输入验证码\" },\n                                model: {\n                                  value: _vm.form.code,\n                                  callback: function ($$v) {\n                                    _vm.$set(_vm.form, \"code\", $$v)\n                                  },\n                                  expression: \"form.code\",\n                                },\n                              }),\n                              _c(\n                                \"el-button\",\n                                { ref: \"btn\", on: { click: _vm.getcode } },\n                                [\n                                  _vm._v(\n                                    _vm._s(\n                                      _vm.flag1\n                                        ? \"重新发送(\" + _vm.num + \")\"\n                                        : \"获取验证码\"\n                                    )\n                                  ),\n                                ]\n                              ),\n                            ],\n                            1\n                          ),\n                        ]\n                      ),\n                    ],\n                    1\n                  ),\n                ],\n                1\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n      _c(\n        \"fixed-action-bar\",\n        [\n          _c(\n            \"el-button\",\n            { attrs: { type: \"primary\" }, on: { click: _vm.onSubmit } },\n            [_vm._v(\"提交\")]\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/personal/edit.password.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=template&id=26a4251b&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/personal/setting.vue?vue&type=template&id=26a4251b&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\n        \"page-main\",\n        [\n          _c(\n            \"el-tabs\",\n            {\n              staticStyle: { height: \"600px\" },\n              attrs: { \"tab-position\": \"left\" },\n            },\n            [\n              _c(\n                \"el-tab-pane\",\n                {\n                  staticClass: \"security\",\n                  attrs: { label: _vm.$t(\"app.securitysetting\") },\n                },\n                [\n                  _c(\"h2\", [_vm._v(_vm._s(_vm.$t(\"app.securitysetting\")))]),\n                  _c(\"div\", { staticClass: \"setting-list\" }, [\n                    _c(\"div\", { staticClass: \"item\" }, [\n                      _c(\"div\", { staticClass: \"content\" }, [\n                        _c(\"div\", { staticClass: \"title\" }, [\n                          _vm._v(_vm._s(_vm.$t(\"app.Accountpassword\"))),\n                        ]),\n                      ]),\n                      _c(\n                        \"div\",\n                        { staticClass: \"action\" },\n                        [\n                          _c(\n                            \"el-button\",\n                            {\n                              attrs: { type: \"text\" },\n                              on: { click: _vm.editPassword },\n                            },\n                            [_vm._v(_vm._s(_vm.$t(\"app.edit\")))]\n                          ),\n                        ],\n                        1\n                      ),\n                    ]),\n                  ]),\n                ]\n              ),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/reload.vue?vue&type=template&id=5c2e43b3&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/reload.vue?vue&type=template&id=5c2e43b3& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/reload.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/shops/index.vue?vue&type=template&id=832a9f54&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a2822964-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/shops/index.vue?vue&type=template&id=832a9f54& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\n        \"page-main\",\n        [\n          _c(\n            \"el-table\",\n            { staticStyle: { width: \"100%\" }, attrs: { data: _vm.tableData } },\n            [\n              _c(\"el-table-column\", {\n                attrs: { prop: \"title\", label: _vm.$t(\"app.title\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\"div\", { staticClass: \"tex\" }, [\n                          _vm._v(_vm._s(data.row.title)),\n                        ]),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"sub_title\", label: _vm.$t(\"app.subtitle\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\"div\", { staticClass: \"tex\" }, [\n                          _vm._v(_vm._s(data.row.sub_title)),\n                        ]),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"cover_url\", label: _vm.$t(\"app.Cover\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\n                          \"div\",\n                          { staticStyle: { display: \"flex\" } },\n                          [\n                            _c(\"el-image\", {\n                              staticStyle: {\n                                width: \"100px\",\n                                height: \"100px\",\n                                display: \"flex\",\n                              },\n                              attrs: { src: data.row.cover_url },\n                            }),\n                          ],\n                          1\n                        ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: {\n                  prop: \"images\",\n                  label: _vm.$t(\"app.Classificationname\"),\n                  width: \"160\",\n                },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return undefined\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"price\", label: _vm.$t(\"app.originalprice\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: {\n                  prop: \"recommend\",\n                  label: _vm.$t(\"app.Recommendedornot\"),\n                  width: \"175\",\n                },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _c(\"div\", [\n                          _vm._v(\n                            _vm._s(\n                              data.row.recommend\n                                ? _vm.$t(\"app.yes\")\n                                : _vm.$t(\"app.no\")\n                            )\n                          ),\n                        ]),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"store\", label: _vm.$t(\"app.state\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        _vm._v(\n                          \" \" +\n                            _vm._s(\n                              data.row.status == 0\n                                ? _vm.$t(\"app.Selling\")\n                                : _vm.$t(\"app.Suspendsales\")\n                            ) +\n                            \" \"\n                        ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"tags\", label: _vm.$t(\"app.label\") },\n              }),\n              _c(\"el-table-column\", {\n                attrs: { prop: \"address\", label: _vm.$t(\"app.operation\") },\n                scopedSlots: _vm._u([\n                  {\n                    key: \"default\",\n                    fn: function (data) {\n                      return [\n                        data.row.status == 1\n                          ? _c(\n                              \"el-button\",\n                              {\n                                attrs: { type: \"text\" },\n                                on: {\n                                  click: function ($event) {\n                                    return _vm.out(2, data.row.item_id)\n                                  },\n                                },\n                              },\n                              [_vm._v(_vm._s(_vm.$t(\"app.Putaway\")))]\n                            )\n                          : _c(\n                              \"el-popconfirm\",\n                              {\n                                staticStyle: { \"margin-right\": \"10px\" },\n                                attrs: { title: _vm.$t(\"app.removetheshelf\") },\n                                on: {\n                                  confirm: function ($event) {\n                                    return _vm.out(1, data.row.item_id)\n                                  },\n                                },\n                              },\n                              [\n                                _c(\n                                  \"el-button\",\n                                  {\n                                    directives: [\n                                      {\n                                        name: \"auth\",\n                                        rawName: \"v-auth\",\n                                        value: \"35\",\n                                        expression: \"'35'\",\n                                      },\n                                    ],\n                                    attrs: {\n                                      slot: \"reference\",\n                                      type: \"text\",\n                                      size: \"mini\",\n                                    },\n                                    slot: \"reference\",\n                                  },\n                                  [_vm._v(_vm._s(_vm.$t(\"app.Lowershelf\")))]\n                                ),\n                              ],\n                              1\n                            ),\n                      ]\n                    },\n                  },\n                ]),\n              }),\n            ],\n            1\n          ),\n          _c(\n            \"div\",\n            {\n              staticStyle: {\n                display: \"flex\",\n                \"justify-content\": \"flex-end\",\n                \"margin-top\": \"10px\",\n              },\n            },\n            [\n              _c(\"el-pagination\", {\n                attrs: {\n                  background: \"\",\n                  layout: \"prev, pager, next\",\n                  \"current-page\": _vm.page,\n                  total: _vm.total2,\n                },\n                on: { \"current-change\": _vm.current },\n              }),\n            ],\n            1\n          ),\n        ],\n        1\n      ),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/shops/index.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a2822964-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/call-bind/callBound.js":
/*!*********************************************!*\
  !*** ./node_modules/call-bind/callBound.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar callBind = __webpack_require__(/*! ./ */ \"./node_modules/call-bind/index.js\");\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n\n\n//# sourceURL=webpack:///./node_modules/call-bind/callBound.js?");

/***/ }),

/***/ "./node_modules/call-bind/index.js":
/*!*****************************************!*\
  !*** ./node_modules/call-bind/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n\n\n//# sourceURL=webpack:///./node_modules/call-bind/index.js?");

/***/ }),

/***/ "./node_modules/clipboard/dist/clipboard.min.js":
/*!******************************************************!*\
  !*** ./node_modules/clipboard/dist/clipboard.min.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){ true?module.exports=e():undefined}(this,function(){return n={686:function(t,e,n){\"use strict\";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c(\"cut\"),t};function o(t,e){var n,o,t=(n=t,o=\"rtl\"===document.documentElement.getAttribute(\"dir\"),(t=document.createElement(\"textarea\")).style.fontSize=\"12pt\",t.style.border=\"0\",t.style.padding=\"0\",t.style.margin=\"0\",t.style.position=\"absolute\",t.style[o?\"right\":\"left\"]=\"-9999px\",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top=\"\".concat(o,\"px\"),t.setAttribute(\"readonly\",\"\"),t.value=n,t);return e.container.appendChild(t),e=r()(t),c(\"copy\"),t.remove(),e}var f=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},n=\"\";return\"string\"==typeof t?n=o(t,e):t instanceof HTMLInputElement&&![\"text\",\"search\",\"url\",\"tel\",\"password\"].includes(null==t?void 0:t.type)?n=o(t.value,e):(n=r()(t),c(\"copy\")),n};function l(t){return(l=\"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)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?\"copy\":e,o=t.container,e=t.target,t=t.text;if(\"copy\"!==n&&\"cut\"!==n)throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');if(void 0!==e){if(!e||\"object\"!==l(e)||1!==e.nodeType)throw new Error('Invalid \"target\" value, use a valid Element');if(\"copy\"===n&&e.hasAttribute(\"disabled\"))throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');if(\"cut\"===n&&(e.hasAttribute(\"readonly\")||e.hasAttribute(\"disabled\")))throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes')}return t?f(t,{container:o}):e?\"cut\"===n?a(e):f(e,{container:o}):void 0};function p(t){return(p=\"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 d(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=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 t,e=v(n);return t=o?(t=v(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||\"object\"!==p(t)&&\"function\"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}(e):t}}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){t=\"data-clipboard-\".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var b=function(){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:\"copy\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return f(t,e)}},{key:\"cut\",value:function(t){return a(t)}},{key:\"isSupported\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[\"copy\",\"cut\"],t=\"string\"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=\"function\"==typeof t.action?t.action:this.defaultAction,this.target=\"function\"==typeof t.target?t.target:this.defaultTarget,this.text=\"function\"==typeof t.text?t.text:this.defaultText,this.container=\"object\"===p(t.container)?t.container:document.body}},{key:\"listenClick\",value:function(t){var e=this;this.listener=u()(t,\"click\",function(t){return e.onClick(t)})}},{key:\"onClick\",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||\"copy\",t=s({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?\"success\":\"error\",{action:n,text:t,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:\"defaultAction\",value:function(t){return m(\"action\",t)}},{key:\"defaultTarget\",value:function(t){t=m(\"target\",t);if(t)return document.querySelector(t)}},{key:\"defaultText\",value:function(t){return m(\"text\",t)}},{key:\"destroy\",value:function(){this.listener.destroy()}}])&&d(t.prototype,e),n&&d(t,n),r}()},828:function(t){var e;\"undefined\"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if(\"function\"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return\"function\"==typeof t.addEventListener?i.apply(null,arguments):\"function\"==typeof n?i.bind(null,document).apply(null,arguments):(\"string\"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&(\"[object NodeList]\"===e||\"[object HTMLCollection]\"===e)&&\"length\"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return\"string\"==typeof t||t instanceof String},n.fn=function(t){return\"[object Function]\"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error(\"Missing required arguments\");if(!f.string(e))throw new TypeError(\"Second argument must be a String\");if(!f.fn(n))throw new TypeError(\"Third argument must be a Function\");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError(\"First argument must be a String, HTMLElement, HTMLCollection, or NodeList\");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n=\"SELECT\"===t.nodeName?(t.focus(),t.value):\"INPUT\"===t.nodeName||\"TEXTAREA\"===t.nodeName?((e=t.hasAttribute(\"readonly\"))||t.setAttribute(\"readonly\",\"\"),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute(\"readonly\"),t.value):(t.hasAttribute(\"contenteditable\")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});\n\n//# sourceURL=webpack:///./node_modules/clipboard/dist/clipboard.min.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/a-callable.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/a-callable.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar tryToString = __webpack_require__(/*! ../internals/try-to-string */ \"./node_modules/core-js/internals/try-to-string.js\");\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw TypeError(tryToString(argument) + ' is not a function');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/a-callable.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/a-constructor.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/a-constructor.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isConstructor = __webpack_require__(/*! ../internals/is-constructor */ \"./node_modules/core-js/internals/is-constructor.js\");\nvar tryToString = __webpack_require__(/*! ../internals/try-to-string */ \"./node_modules/core-js/internals/try-to-string.js\");\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/a-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/a-possible-prototype.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/a-possible-prototype.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n  if (typeof argument == 'object' || isCallable(argument)) return argument;\n  throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/a-possible-prototype.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/add-to-unscopables.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/add-to-unscopables.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/add-to-unscopables.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/advance-string-index.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/advance-string-index.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar charAt = __webpack_require__(/*! ../internals/string-multibyte */ \"./node_modules/core-js/internals/string-multibyte.js\").charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? charAt(S, index).length : 1);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/advance-string-index.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/an-instance.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/an-instance.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw TypeError('Incorrect invocation');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/an-instance.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/an-object.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/an-object.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw TypeError(String(argument) + ' is not an object');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/an-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-buffer-native.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/array-buffer-native.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// eslint-disable-next-line es-x/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-buffer-native.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-buffer-non-extensible.js":
/*!***********************************************************************!*\
  !*** ./node_modules/core-js/internals/array-buffer-non-extensible.js ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = fails(function () {\n  if (typeof ArrayBuffer == 'function') {\n    var buffer = new ArrayBuffer(8);\n    // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe\n    if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-buffer-non-extensible.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-buffer-view-core.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/array-buffer-view-core.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ \"./node_modules/core-js/internals/array-buffer-native.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar tryToString = __webpack_require__(/*! ../internals/try-to-string */ \"./node_modules/core-js/internals/try-to-string.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n  Int8Array: 1,\n  Uint8Array: 1,\n  Uint8ClampedArray: 1,\n  Int16Array: 2,\n  Uint16Array: 2,\n  Int32Array: 4,\n  Uint32Array: 4,\n  Float32Array: 4,\n  Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n  BigInt64Array: 8,\n  BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n  if (!isObject(it)) return false;\n  var klass = classof(it);\n  return klass === 'DataView'\n    || hasOwn(TypedArrayConstructorsList, klass)\n    || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n  if (!isObject(it)) return false;\n  var klass = classof(it);\n  return hasOwn(TypedArrayConstructorsList, klass)\n    || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n  if (isTypedArray(it)) return it;\n  throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n  if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n  throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n  if (!DESCRIPTORS) return;\n  if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n    var TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n      delete TypedArrayConstructor.prototype[KEY];\n    } catch (error) {\n      // old WebKit bug - some methods are non-configurable\n      try {\n        TypedArrayConstructor.prototype[KEY] = property;\n      } catch (error2) { /* empty */ }\n    }\n  }\n  if (!TypedArrayPrototype[KEY] || forced) {\n    defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n  }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n  var ARRAY, TypedArrayConstructor;\n  if (!DESCRIPTORS) return;\n  if (setPrototypeOf) {\n    if (forced) for (ARRAY in TypedArrayConstructorsList) {\n      TypedArrayConstructor = global[ARRAY];\n      if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n        delete TypedArrayConstructor[KEY];\n      } catch (error) { /* empty */ }\n    }\n    if (!TypedArray[KEY] || forced) {\n      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n      try {\n        return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n      } catch (error) { /* empty */ }\n    } else return;\n  }\n  for (ARRAY in TypedArrayConstructorsList) {\n    TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n      defineBuiltIn(TypedArrayConstructor, KEY, property);\n    }\n  }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n  Constructor = global[NAME];\n  Prototype = Constructor && Constructor.prototype;\n  if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n  else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n  Constructor = global[NAME];\n  Prototype = Constructor && Constructor.prototype;\n  if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n  // eslint-disable-next-line no-shadow -- safe\n  TypedArray = function TypedArray() {\n    throw TypeError('Incorrect invocation');\n  };\n  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n  }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n  TypedArrayPrototype = TypedArray.prototype;\n  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n  }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n  TYPED_ARRAY_TAG_REQUIRED = true;\n  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n    return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n  } });\n  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n  }\n}\n\nmodule.exports = {\n  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n  TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n  aTypedArray: aTypedArray,\n  aTypedArrayConstructor: aTypedArrayConstructor,\n  exportTypedArrayMethod: exportTypedArrayMethod,\n  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n  isView: isView,\n  isTypedArray: isTypedArray,\n  TypedArray: TypedArray,\n  TypedArrayPrototype: TypedArrayPrototype\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-buffer-view-core.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-buffer.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/array-buffer.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ \"./node_modules/core-js/internals/array-buffer-native.js\");\nvar FunctionName = __webpack_require__(/*! ../internals/function-name */ \"./node_modules/core-js/internals/function-name.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar defineBuiltIns = __webpack_require__(/*! ../internals/define-built-ins */ \"./node_modules/core-js/internals/define-built-ins.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toIndex = __webpack_require__(/*! ../internals/to-index */ \"./node_modules/core-js/internals/to-index.js\");\nvar IEEE754 = __webpack_require__(/*! ../internals/ieee754 */ \"./node_modules/core-js/internals/ieee754.js\");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\").f;\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar arrayFill = __webpack_require__(/*! ../internals/array-fill */ \"./node_modules/core-js/internals/array-fill.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ \"./node_modules/core-js/internals/array-slice-simple.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n  return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n  return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n  return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n  return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n  return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n  return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n  defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n  var intIndex = toIndex(index);\n  var store = getInternalState(view);\n  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n  var bytes = getInternalState(store.buffer).bytes;\n  var start = intIndex + store.byteOffset;\n  var pack = arraySlice(bytes, start, start + count);\n  return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n  var intIndex = toIndex(index);\n  var store = getInternalState(view);\n  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n  var bytes = getInternalState(store.buffer).bytes;\n  var start = intIndex + store.byteOffset;\n  var pack = conversion(+value);\n  for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, ArrayBufferPrototype);\n    var byteLength = toIndex(length);\n    setInternalState(this, {\n      bytes: fill(Array(byteLength), 0),\n      byteLength: byteLength\n    });\n    if (!DESCRIPTORS) this.byteLength = byteLength;\n  };\n\n  ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, DataViewPrototype);\n    anInstance(buffer, ArrayBufferPrototype);\n    var bufferLength = getInternalState(buffer).byteLength;\n    var offset = toIntegerOrInfinity(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    setInternalState(this, {\n      buffer: buffer,\n      byteLength: byteLength,\n      byteOffset: offset\n    });\n    if (!DESCRIPTORS) {\n      this.buffer = buffer;\n      this.byteLength = byteLength;\n      this.byteOffset = offset;\n    }\n  };\n\n  DataViewPrototype = $DataView[PROTOTYPE];\n\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, 'byteLength');\n    addGetter($DataView, 'buffer');\n    addGetter($DataView, 'byteLength');\n    addGetter($DataView, 'byteOffset');\n  }\n\n  defineBuiltIns(DataViewPrototype, {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n    },\n    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n    },\n    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packInt8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packInt8, value);\n    },\n    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n      set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n    }\n  });\n} else {\n  var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n  /* eslint-disable no-new -- required for testing */\n  if (!fails(function () {\n    NativeArrayBuffer(1);\n  }) || !fails(function () {\n    new NativeArrayBuffer(-1);\n  }) || fails(function () {\n    new NativeArrayBuffer();\n    new NativeArrayBuffer(1.5);\n    new NativeArrayBuffer(NaN);\n    return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n  })) {\n  /* eslint-enable no-new -- required for testing */\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, ArrayBufferPrototype);\n      return new NativeArrayBuffer(toIndex(length));\n    };\n\n    $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n    for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) {\n        createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n      }\n    }\n\n    ArrayBufferPrototype.constructor = $ArrayBuffer;\n  } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n    createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n  }\n\n  // WebKit bug - the same parent prototype for typed arrays and data view\n  if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n    setPrototypeOf(DataViewPrototype, ObjectPrototype);\n  }\n\n  // iOS Safari 7.x bug\n  var testView = new $DataView(new $ArrayBuffer(2));\n  var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n  testView.setInt8(0, 2147483648);\n  testView.setInt8(1, 2147483649);\n  if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n    setInt8: function setInt8(byteOffset, value) {\n      $setInt8(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      $setInt8(this, byteOffset, value << 24 >> 24);\n    }\n  }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n  ArrayBuffer: $ArrayBuffer,\n  DataView: $DataView\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-buffer.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-copy-within.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/array-copy-within.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n  var O = toObject(this);\n  var len = lengthOfArrayLike(O);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];\n    else delete O[to];\n    to += inc;\n    from += inc;\n  } return O;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-copy-within.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-fill.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/array-fill.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = lengthOfArrayLike(O);\n  var argumentsLength = arguments.length;\n  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n  var end = argumentsLength > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) O[index++] = value;\n  return O;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-fill.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-for-each.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/array-for-each.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $forEach = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").forEach;\nvar arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ \"./node_modules/core-js/internals/array-method-is-strict.js\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n} : [].forEach;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-for-each.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-from-constructor-and-list.js":
/*!***************************************************************************!*\
  !*** ./node_modules/core-js/internals/array-from-constructor-and-list.js ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\n\nmodule.exports = function (Constructor, list) {\n  var index = 0;\n  var length = lengthOfArrayLike(list);\n  var result = new Constructor(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-from-constructor-and-list.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-from.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/array-from.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ \"./node_modules/core-js/internals/call-with-safe-iteration-closing.js\");\nvar isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ \"./node_modules/core-js/internals/is-array-iterator-method.js\");\nvar isConstructor = __webpack_require__(/*! ../internals/is-constructor */ \"./node_modules/core-js/internals/is-constructor.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\nvar getIterator = __webpack_require__(/*! ../internals/get-iterator */ \"./node_modules/core-js/internals/get-iterator.js\");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ \"./node_modules/core-js/internals/get-iterator-method.js\");\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var IS_CONSTRUCTOR = isConstructor(this);\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n  var iteratorMethod = getIteratorMethod(O);\n  var index = 0;\n  var length, result, step, iterator, next, value;\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n    iterator = getIterator(O, iteratorMethod);\n    next = iterator.next;\n    result = IS_CONSTRUCTOR ? new this() : [];\n    for (;!(step = call(next, iterator)).done; index++) {\n      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n      createProperty(result, index, value);\n    }\n  } else {\n    length = lengthOfArrayLike(O);\n    result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n    for (;length > index; index++) {\n      value = mapping ? mapfn(O[index], index) : O[index];\n      createProperty(result, index, value);\n    }\n  }\n  result.length = index;\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-from.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-includes.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/array-includes.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-includes.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-iteration.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/array-iteration.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ \"./node_modules/core-js/internals/array-species-create.js\");\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var IS_FILTER_REJECT = TYPE == 7;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var boundFunction = bind(callbackfn, that);\n    var length = lengthOfArrayLike(self);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push(target, value);      // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push(target, value);      // filterReject\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterReject` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterReject: createMethod(7)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-iteration.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-last-index-of.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/array-last-index-of.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n/* eslint-disable es-x/no-array-prototype-lastindexof -- safe */\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ \"./node_modules/core-js/internals/array-method-is-strict.js\");\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n  // convert -0 to +0\n  if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n  var O = toIndexedObject(this);\n  var length = lengthOfArrayLike(O);\n  var index = length - 1;\n  if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n  if (index < 0) index = length + index;\n  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n  return -1;\n} : $lastIndexOf;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-last-index-of.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-method-has-species-support.js":
/*!****************************************************************************!*\
  !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***!
  \****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-has-species-support.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-method-is-strict.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/array-method-is-strict.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call -- required for testing\n    method.call(null, argument || function () { return 1; }, 1);\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-is-strict.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-reduce.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/array-reduce.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\n\nvar TypeError = global.TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n  return function (that, callbackfn, argumentsLength, memo) {\n    aCallable(callbackfn);\n    var O = toObject(that);\n    var self = IndexedObject(O);\n    var length = lengthOfArrayLike(O);\n    var index = IS_RIGHT ? length - 1 : 0;\n    var i = IS_RIGHT ? -1 : 1;\n    if (argumentsLength < 2) while (true) {\n      if (index in self) {\n        memo = self[index];\n        index += i;\n        break;\n      }\n      index += i;\n      if (IS_RIGHT ? index < 0 : length <= index) {\n        throw TypeError('Reduce of empty array with no initial value');\n      }\n    }\n    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n      memo = callbackfn(memo, self[index], index, O);\n    }\n    return memo;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.reduce` method\n  // https://tc39.es/ecma262/#sec-array.prototype.reduce\n  left: createMethod(false),\n  // `Array.prototype.reduceRight` method\n  // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n  right: createMethod(true)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-reduce.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-slice-simple.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/array-slice-simple.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n  var length = lengthOfArrayLike(O);\n  var k = toAbsoluteIndex(start, length);\n  var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n  var result = Array(max(fin - k, 0));\n  for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n  result.length = n;\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-slice-simple.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-slice.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/array-slice.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nmodule.exports = uncurryThis([].slice);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-slice.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-sort.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/array-sort.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ \"./node_modules/core-js/internals/array-slice-simple.js\");\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n  var length = array.length;\n  var middle = floor(length / 2);\n  return length < 8 ? insertionSort(array, comparefn) : merge(\n    array,\n    mergeSort(arraySlice(array, 0, middle), comparefn),\n    mergeSort(arraySlice(array, middle), comparefn),\n    comparefn\n  );\n};\n\nvar insertionSort = function (array, comparefn) {\n  var length = array.length;\n  var i = 1;\n  var element, j;\n\n  while (i < length) {\n    j = i;\n    element = array[i];\n    while (j && comparefn(array[j - 1], element) > 0) {\n      array[j] = array[--j];\n    }\n    if (j !== i++) array[j] = element;\n  } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n  var llength = left.length;\n  var rlength = right.length;\n  var lindex = 0;\n  var rindex = 0;\n\n  while (lindex < llength || rindex < rlength) {\n    array[lindex + rindex] = (lindex < llength && rindex < rlength)\n      ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n      : lindex < llength ? left[lindex++] : right[rindex++];\n  } return array;\n};\n\nmodule.exports = mergeSort;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-sort.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-species-constructor.js":
/*!*********************************************************************!*\
  !*** ./node_modules/core-js/internals/array-species-constructor.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isArray = __webpack_require__(/*! ../internals/is-array */ \"./node_modules/core-js/internals/is-array.js\");\nvar isConstructor = __webpack_require__(/*! ../internals/is-constructor */ \"./node_modules/core-js/internals/is-constructor.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-species-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-species-create.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/array-species-create.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var arraySpeciesConstructor = __webpack_require__(/*! ../internals/array-species-constructor */ \"./node_modules/core-js/internals/array-species-constructor.js\");\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-species-create.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js":
/*!****************************************************************************!*\
  !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!
  \****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ \"./node_modules/core-js/internals/iterator-close.js\");\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n  try {\n    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n  } catch (error) {\n    iteratorClose(iterator, 'throw', error);\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js":
/*!**************************************************************************!*\
  !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***!
  \**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/classof-raw.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/classof-raw.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/classof-raw.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/classof.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/internals/classof.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ \"./node_modules/core-js/internals/to-string-tag-support.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar classofRaw = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/classof.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/clear-error-stack.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/clear-error-stack.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n  if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n    while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n  } return stack;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/clear-error-stack.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/collection-weak.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/collection-weak.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineBuiltIns = __webpack_require__(/*! ../internals/define-built-ins */ \"./node_modules/core-js/internals/define-built-ins.js\");\nvar getWeakData = __webpack_require__(/*! ../internals/internal-metadata */ \"./node_modules/core-js/internals/internal-metadata.js\").getWeakData;\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ \"./node_modules/core-js/internals/iterate.js\");\nvar ArrayIterationModule = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n  return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n  this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n  return find(store.entries, function (it) {\n    return it[0] === key;\n  });\n};\n\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.entries.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = findIndex(this.entries, function (it) {\n      return it[0] === key;\n    });\n    if (~index) splice(this.entries, index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var Constructor = wrapper(function (that, iterable) {\n      anInstance(that, Prototype);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        id: id++,\n        frozen: undefined\n      });\n      if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n    });\n\n    var Prototype = Constructor.prototype;\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var data = getWeakData(anObject(key), true);\n      if (data === true) uncaughtFrozenStore(state).set(key, value);\n      else data[state.id] = value;\n      return that;\n    };\n\n    defineBuiltIns(Prototype, {\n      // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n      // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n      'delete': function (key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n        return data && hasOwn(data, state.id) && delete data[state.id];\n      },\n      // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n      // https://tc39.es/ecma262/#sec-weakset.prototype.has\n      has: function has(key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state).has(key);\n        return data && hasOwn(data, state.id);\n      }\n    });\n\n    defineBuiltIns(Prototype, IS_MAP ? {\n      // `WeakMap.prototype.get(key)` method\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n      get: function get(key) {\n        var state = getInternalState(this);\n        if (isObject(key)) {\n          var data = getWeakData(key);\n          if (data === true) return uncaughtFrozenStore(state).get(key);\n          return data ? data[state.id] : undefined;\n        }\n      },\n      // `WeakMap.prototype.set(key, value)` method\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n      set: function set(key, value) {\n        return define(this, key, value);\n      }\n    } : {\n      // `WeakSet.prototype.add(value)` method\n      // https://tc39.es/ecma262/#sec-weakset.prototype.add\n      add: function add(value) {\n        return define(this, value, true);\n      }\n    });\n\n    return Constructor;\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/collection-weak.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/collection.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/collection.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ \"./node_modules/core-js/internals/internal-metadata.js\");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ \"./node_modules/core-js/internals/iterate.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ \"./node_modules/core-js/internals/check-correctness-of-iteration.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ \"./node_modules/core-js/internals/inherit-if-required.js\");\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var NativeConstructor = global[CONSTRUCTOR_NAME];\n  var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n  var Constructor = NativeConstructor;\n  var exported = {};\n\n  var fixMethod = function (KEY) {\n    var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n    defineBuiltIn(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        uncurriedNativeMethod(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  var REPLACE = isForced(\n    CONSTRUCTOR_NAME,\n    !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n      new NativeConstructor().entries().next();\n    }))\n  );\n\n  if (REPLACE) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.enable();\n  } else if (isForced(CONSTRUCTOR_NAME, true)) {\n    var instance = new Constructor();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    // eslint-disable-next-line no-new -- required for testing\n    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new NativeConstructor();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n\n    if (!ACCEPT_ITERABLES) {\n      Constructor = wrapper(function (dummy, iterable) {\n        anInstance(dummy, NativePrototype);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n        return that;\n      });\n      Constructor.prototype = NativePrototype;\n      NativePrototype.constructor = Constructor;\n    }\n\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n    // weak collections should not contains .clear method\n    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n  }\n\n  exported[CONSTRUCTOR_NAME] = Constructor;\n  $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);\n\n  setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n  return Constructor;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/collection.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/copy-constructor-properties.js":
/*!***********************************************************************!*\
  !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar ownKeys = __webpack_require__(/*! ../internals/own-keys */ \"./node_modules/core-js/internals/own-keys.js\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\n\nmodule.exports = function (target, source, exceptions) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n      defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n    }\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/copy-constructor-properties.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (error1) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (error2) { /* empty */ }\n  } return false;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/correct-prototype-getter.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/correct-prototype-getter.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-html.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/create-html.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n  var S = toString(requireObjectCoercible(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-html.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-iterator-constructor.js":
/*!***********************************************************************!*\
  !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ \"./node_modules/core-js/internals/iterators-core.js\").IteratorPrototype;\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-iterator-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js":
/*!**************************************************************************!*\
  !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***!
  \**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-property-descriptor.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/internals/create-property-descriptor.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("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\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-property-descriptor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-property.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/create-property.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ \"./node_modules/core-js/internals/to-property-key.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPropertyKey(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-property.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/define-built-in-accessor.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/define-built-in-accessor.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ \"./node_modules/core-js/internals/make-built-in.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\n\nmodule.exports = function (target, name, descriptor) {\n  if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n  return defineProperty.f(target, name, descriptor);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/define-built-in-accessor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/define-built-in.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/define-built-in.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ \"./node_modules/core-js/internals/make-built-in.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\n\nmodule.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  var name = options && options.name !== undefined ? options.name : key;\n  if (isCallable(value)) makeBuiltIn(value, name, options);\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return O;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n  return O;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/define-built-in.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/define-built-ins.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/define-built-ins.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\n\nmodule.exports = function (target, src, options) {\n  for (var key in src) defineBuiltIn(target, key, src[key], options);\n  return target;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/define-built-ins.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/define-iterator.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/define-iterator.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar FunctionName = __webpack_require__(/*! ../internals/function-name */ \"./node_modules/core-js/internals/function-name.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ \"./node_modules/core-js/internals/create-iterator-constructor.js\");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\nvar IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ \"./node_modules/core-js/internals/iterators-core.js\");\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    } return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n    } else {\n      INCORRECT_VALUES_NAME = true;\n      defaultIterator = function values() { return call(nativeIterator, this); };\n    }\n  }\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n  }\n  Iterators[NAME] = defaultIterator;\n\n  return methods;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/define-iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/define-well-known-symbol.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/define-well-known-symbol.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var path = __webpack_require__(/*! ../internals/path */ \"./node_modules/core-js/internals/path.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ \"./node_modules/core-js/internals/well-known-symbol-wrapped.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\n\nmodule.exports = function (NAME) {\n  var Symbol = path.Symbol || (path.Symbol = {});\n  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/define-well-known-symbol.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/descriptors.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/descriptors.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/descriptors.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/document-create-element.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/document-create-element.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/document-create-element.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/dom-iterables.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/dom-iterables.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/dom-iterables.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/dom-token-list-prototype.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/dom-token-list-prototype.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/dom-token-list-prototype.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-ff-version.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-ff-version.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-ff-version.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-is-browser.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-is-browser.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = typeof window == 'object' && typeof Deno != 'object';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-is-browser.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-is-ie-or-edge.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-is-ie-or-edge.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var UA = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\n\nmodule.exports = /MSIE|Trident/.test(UA);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-is-ios-pebble.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-is-ios-pebble.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-is-ios.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/engine-is-ios.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-is-ios.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-is-node.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/engine-is-node.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nmodule.exports = classof(global.process) == 'process';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-is-node.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-is-webos-webkit.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-is-webos-webkit.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-user-agent.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-user-agent.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-user-agent.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-v8-version.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-v8-version.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-v8-version.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/engine-webkit-version.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/internals/engine-webkit-version.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/engine-webkit-version.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/enum-bug-keys.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/enum-bug-keys.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/enum-bug-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/error-stack-installable.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/error-stack-installable.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = !fails(function () {\n  var error = Error('a');\n  if (!('stack' in error)) return true;\n  // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n  Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n  return error.stack !== 7;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/error-stack-installable.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/export.js":
/*!**************************************************!*\
  !*** ./node_modules/core-js/internals/export.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ \"./node_modules/core-js/internals/copy-constructor-properties.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n  options.name        - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty == typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    defineBuiltIn(target, key, sourceProperty, options);\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/export.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/fails.js":
/*!*************************************************!*\
  !*** ./node_modules/core-js/internals/fails.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/fails.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js":
/*!******************************************************************************!*\
  !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// TODO: Remove from `core-js@4` since it's moved to entry points\n__webpack_require__(/*! ../modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n  var SYMBOL = wellKnownSymbol(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n\n    if (KEY === 'split') {\n      // We can't use real regex here since it causes deoptimization\n      // and serious performance degradation in V8\n      // https://github.com/zloirock/core-js/issues/306\n      re = {};\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n      re.flags = '';\n      re[SYMBOL] = /./[SYMBOL];\n    }\n\n    re.exec = function () { execCalled = true; return null; };\n\n    re[SYMBOL]('');\n    return !execCalled;\n  });\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    FORCED\n  ) {\n    var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n      var uncurriedNativeMethod = uncurryThis(nativeMethod);\n      var $exec = regexp.exec;\n      if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n          // The native String method already delegates to @@method (this\n          // polyfilled function), leasing to infinite recursion.\n          // We avoid it by directly calling the native @@method method.\n          return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n        }\n        return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n      }\n      return { done: false };\n    });\n\n    defineBuiltIn(String.prototype, KEY, methods[0]);\n    defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n  }\n\n  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/freezing.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/internals/freezing.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/freezing.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/function-apply.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/function-apply.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ \"./node_modules/core-js/internals/function-bind-native.js\");\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/function-apply.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/function-bind-context.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/internals/function-bind-context.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ \"./node_modules/core-js/internals/function-bind-native.js\");\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/function-bind-context.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/function-bind-native.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/function-bind-native.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n  var test = (function () { /* empty */ }).bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/function-bind-native.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/function-call.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/function-call.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ \"./node_modules/core-js/internals/function-bind-native.js\");\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/function-call.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/function-name.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/function-name.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/function-name.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/function-uncurry-this.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/internals/function-uncurry-this.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ \"./node_modules/core-js/internals/function-bind-native.js\");\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n  return fn && uncurryThis(fn);\n} : function (fn) {\n  return fn && function () {\n    return call.apply(fn, arguments);\n  };\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/function-uncurry-this.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/get-built-in.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/get-built-in.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\n\nvar aFunction = function (argument) {\n  return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/get-built-in.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/get-iterator-method.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/get-iterator-method.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (it != undefined) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/get-iterator-method.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/get-iterator.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/get-iterator.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar tryToString = __webpack_require__(/*! ../internals/try-to-string */ \"./node_modules/core-js/internals/try-to-string.js\");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ \"./node_modules/core-js/internals/get-iterator-method.js\");\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw TypeError(tryToString(argument) + ' is not iterable');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/get-iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/get-method.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/get-method.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return func == null ? undefined : aCallable(func);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/get-method.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/get-substitution.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/get-substitution.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n  var tailPos = position + matched.length;\n  var m = captures.length;\n  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n  if (namedCaptures !== undefined) {\n    namedCaptures = toObject(namedCaptures);\n    symbols = SUBSTITUTION_SYMBOLS;\n  }\n  return replace(replacement, symbols, function (match, ch) {\n    var capture;\n    switch (charAt(ch, 0)) {\n      case '$': return '$';\n      case '&': return matched;\n      case '`': return stringSlice(str, 0, position);\n      case \"'\": return stringSlice(str, tailPos);\n      case '<':\n        capture = namedCaptures[stringSlice(ch, 1, -1)];\n        break;\n      default: // \\d\\d?\n        var n = +ch;\n        if (n === 0) return match;\n        if (n > m) {\n          var f = floor(n / 10);\n          if (f === 0) return match;\n          if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n          return match;\n        }\n        capture = captures[n - 1];\n    }\n    return capture === undefined ? '' : capture;\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/get-substitution.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/global.js":
/*!**************************************************!*\
  !*** ./node_modules/core-js/internals/global.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es-x/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/global.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/has-own-property.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/has-own-property.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/has-own-property.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/hidden-keys.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/hidden-keys.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = {};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/hidden-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/host-report-errors.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/host-report-errors.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nmodule.exports = function (a, b) {\n  var console = global.console;\n  if (console && console.error) {\n    arguments.length == 1 ? console.error(a) : console.error(a, b);\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/host-report-errors.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/html.js":
/*!************************************************!*\
  !*** ./node_modules/core-js/internals/html.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/html.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/ie8-dom-define.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar createElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/ie8-dom-define.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/ieee754.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/internals/ieee754.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n  var buffer = Array(bytes);\n  var exponentLength = bytes * 8 - mantissaLength - 1;\n  var eMax = (1 << exponentLength) - 1;\n  var eBias = eMax >> 1;\n  var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n  var index = 0;\n  var exponent, mantissa, c;\n  number = abs(number);\n  // eslint-disable-next-line no-self-compare -- NaN check\n  if (number != number || number === Infinity) {\n    // eslint-disable-next-line no-self-compare -- NaN check\n    mantissa = number != number ? 1 : 0;\n    exponent = eMax;\n  } else {\n    exponent = floor(log(number) / LN2);\n    c = pow(2, -exponent);\n    if (number * c < 1) {\n      exponent--;\n      c *= 2;\n    }\n    if (exponent + eBias >= 1) {\n      number += rt / c;\n    } else {\n      number += rt * pow(2, 1 - eBias);\n    }\n    if (number * c >= 2) {\n      exponent++;\n      c /= 2;\n    }\n    if (exponent + eBias >= eMax) {\n      mantissa = 0;\n      exponent = eMax;\n    } else if (exponent + eBias >= 1) {\n      mantissa = (number * c - 1) * pow(2, mantissaLength);\n      exponent = exponent + eBias;\n    } else {\n      mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n      exponent = 0;\n    }\n  }\n  while (mantissaLength >= 8) {\n    buffer[index++] = mantissa & 255;\n    mantissa /= 256;\n    mantissaLength -= 8;\n  }\n  exponent = exponent << mantissaLength | mantissa;\n  exponentLength += mantissaLength;\n  while (exponentLength > 0) {\n    buffer[index++] = exponent & 255;\n    exponent /= 256;\n    exponentLength -= 8;\n  }\n  buffer[--index] |= sign * 128;\n  return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n  var bytes = buffer.length;\n  var exponentLength = bytes * 8 - mantissaLength - 1;\n  var eMax = (1 << exponentLength) - 1;\n  var eBias = eMax >> 1;\n  var nBits = exponentLength - 7;\n  var index = bytes - 1;\n  var sign = buffer[index--];\n  var exponent = sign & 127;\n  var mantissa;\n  sign >>= 7;\n  while (nBits > 0) {\n    exponent = exponent * 256 + buffer[index--];\n    nBits -= 8;\n  }\n  mantissa = exponent & (1 << -nBits) - 1;\n  exponent >>= -nBits;\n  nBits += mantissaLength;\n  while (nBits > 0) {\n    mantissa = mantissa * 256 + buffer[index--];\n    nBits -= 8;\n  }\n  if (exponent === 0) {\n    exponent = 1 - eBias;\n  } else if (exponent === eMax) {\n    return mantissa ? NaN : sign ? -Infinity : Infinity;\n  } else {\n    mantissa = mantissa + pow(2, mantissaLength);\n    exponent = exponent - eBias;\n  } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n  pack: pack,\n  unpack: unpack\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/ieee754.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/indexed-object.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/indexed-object.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/indexed-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/inherit-if-required.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/inherit-if-required.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    setPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    isCallable(NewTarget = dummy.constructor) &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/inherit-if-required.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/inspect-source.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/inspect-source.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar store = __webpack_require__(/*! ../internals/shared-store */ \"./node_modules/core-js/internals/shared-store.js\");\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/inspect-source.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/install-error-cause.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/install-error-cause.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n  if (isObject(options) && 'cause' in options) {\n    createNonEnumerableProperty(O, 'cause', options.cause);\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/install-error-cause.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/internal-metadata.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/internal-metadata.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\");\nvar getOwnPropertyNamesExternalModule = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ \"./node_modules/core-js/internals/object-get-own-property-names-external.js\");\nvar isExtensible = __webpack_require__(/*! ../internals/object-is-extensible */ \"./node_modules/core-js/internals/object-is-extensible.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\nvar FREEZING = __webpack_require__(/*! ../internals/freezing */ \"./node_modules/core-js/internals/freezing.js\");\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n  defineProperty(it, METADATA, { value: {\n    objectID: 'O' + id++, // object ID\n    weakData: {}          // weak collections IDs\n  } });\n};\n\nvar fastKey = function (it, create) {\n  // return a primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!hasOwn(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMetadata(it);\n  // return object ID\n  } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n  if (!hasOwn(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMetadata(it);\n  // return the store of weak collections IDs\n  } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar enable = function () {\n  meta.enable = function () { /* empty */ };\n  REQUIRED = true;\n  var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n  var splice = uncurryThis([].splice);\n  var test = {};\n  test[METADATA] = 1;\n\n  // prevent exposing of metadata key\n  if (getOwnPropertyNames(test).length) {\n    getOwnPropertyNamesModule.f = function (it) {\n      var result = getOwnPropertyNames(it);\n      for (var i = 0, length = result.length; i < length; i++) {\n        if (result[i] === METADATA) {\n          splice(result, i, 1);\n          break;\n        }\n      } return result;\n    };\n\n    $({ target: 'Object', stat: true, forced: true }, {\n      getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n    });\n  }\n};\n\nvar meta = module.exports = {\n  enable: enable,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/internal-metadata.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/internal-state.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/internal-state.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ \"./node_modules/core-js/internals/native-weak-map.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar shared = __webpack_require__(/*! ../internals/shared-store */ \"./node_modules/core-js/internals/shared-store.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  var wmget = uncurryThis(store.get);\n  var wmhas = uncurryThis(store.has);\n  var wmset = uncurryThis(store.set);\n  set = function (it, metadata) {\n    if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    wmset(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/internal-state.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-array-iterator-method.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-array-iterator-method.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-array.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/internals/is-array.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) == 'Array';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-array.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-callable.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/is-callable.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n  return typeof argument == 'function';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-callable.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-constructor.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/is-constructor.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar inspectSource = __webpack_require__(/*! ../internals/inspect-source */ \"./node_modules/core-js/internals/inspect-source.js\");\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, empty, argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-forced.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/is-forced.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-forced.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-integral-number.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/is-integral-number.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es-x/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-integral-number.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-object.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/is-object.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-pure.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/internals/is-pure.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = false;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-pure.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-regexp.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/is-regexp.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-regexp.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-symbol.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/is-symbol.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ \"./node_modules/core-js/internals/use-symbol-as-uid.js\");\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-symbol.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/iterate.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/internals/iterate.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar tryToString = __webpack_require__(/*! ../internals/try-to-string */ \"./node_modules/core-js/internals/try-to-string.js\");\nvar isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ \"./node_modules/core-js/internals/is-array-iterator-method.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar getIterator = __webpack_require__(/*! ../internals/get-iterator */ \"./node_modules/core-js/internals/get-iterator.js\");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ \"./node_modules/core-js/internals/get-iterator-method.js\");\nvar iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ \"./node_modules/core-js/internals/iterator-close.js\");\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    if (iterator) iteratorClose(iterator, 'normal', condition);\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    try {\n      result = callFn(step.value);\n    } catch (error) {\n      iteratorClose(iterator, 'throw', error);\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/iterate.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/iterator-close.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/iterator-close.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/iterator-close.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/iterators-core.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/iterators-core.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es-x/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n  defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n    return this;\n  });\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/iterators-core.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/iterators.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/iterators.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = {};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/iterators.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/length-of-array-like.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/length-of-array-like.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/length-of-array-like.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/make-built-in.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/make-built-in.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar CONFIGURABLE_FUNCTION_NAME = __webpack_require__(/*! ../internals/function-name */ \"./node_modules/core-js/internals/function-name.js\").CONFIGURABLE;\nvar inspectSource = __webpack_require__(/*! ../internals/inspect-source */ \"./node_modules/core-js/internals/inspect-source.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n  return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n  if (String(name).slice(0, 7) === 'Symbol(') {\n    name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n  }\n  if (options && options.getter) name = 'get ' + name;\n  if (options && options.setter) name = 'set ' + name;\n  if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n    defineProperty(value, 'name', { value: name, configurable: true });\n  }\n  if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n    defineProperty(value, 'length', { value: options.arity });\n  }\n  if (options && hasOwn(options, 'constructor') && options.constructor) {\n    if (DESCRIPTORS) try {\n      defineProperty(value, 'prototype', { writable: false });\n    } catch (error) { /* empty */ }\n  } else value.prototype = undefined;\n  var state = enforceInternalState(value);\n  if (!hasOwn(state, 'source')) {\n    state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n  } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n  return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/make-built-in.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/microtask.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/microtask.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar macrotask = __webpack_require__(/*! ../internals/task */ \"./node_modules/core-js/internals/task.js\").set;\nvar IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ \"./node_modules/core-js/internals/engine-is-ios.js\");\nvar IS_IOS_PEBBLE = __webpack_require__(/*! ../internals/engine-is-ios-pebble */ \"./node_modules/core-js/internals/engine-is-ios-pebble.js\");\nvar IS_WEBOS_WEBKIT = __webpack_require__(/*! ../internals/engine-is-webos-webkit */ \"./node_modules/core-js/internals/engine-is-webos-webkit.js\");\nvar IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ \"./node_modules/core-js/internals/engine-is-node.js\");\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n  flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (error) {\n        if (head) notify();\n        else last = undefined;\n        throw error;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessage\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // strange IE + webpack dev server bug - use .bind(global)\n    macrotask = bind(macrotask, global);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n  var task = { fn: fn, next: undefined };\n  if (last) last.next = task;\n  if (!head) {\n    head = task;\n    notify();\n  } last = task;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/microtask.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/native-symbol-registry.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/native-symbol-registry.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\n\n/* eslint-disable es-x/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/native-symbol-registry.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/native-symbol.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/native-symbol.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol();\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/native-symbol.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/native-url.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/native-url.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n  var url = new URL('b?a=1&b=2&c=3', 'http://a');\n  var searchParams = url.searchParams;\n  var result = '';\n  url.pathname = 'c%20d';\n  searchParams.forEach(function (value, key) {\n    searchParams['delete']('b');\n    result += key + value;\n  });\n  return (IS_PURE && !url.toJSON)\n    || !searchParams.sort\n    || url.href !== 'http://a/c%20d?a=1&c=3'\n    || searchParams.get('c') !== '3'\n    || String(new URLSearchParams('?a=1')) !== 'a=1'\n    || !searchParams[ITERATOR]\n    // throws in Edge\n    || new URL('https://a@b').username !== 'a'\n    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n    // not punycoded in Edge\n    || new URL('http://тест').host !== 'xn--e1aybc'\n    // not escaped in Chrome 62-\n    || new URL('http://a#б').hash !== '#%D0%B1'\n    // fails in Chrome 66-\n    || result !== 'a1c3'\n    // throws in Safari\n    || new URL('http://x', undefined).host !== 'x';\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/native-url.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/native-weak-map.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/native-weak-map.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar inspectSource = __webpack_require__(/*! ../internals/inspect-source */ \"./node_modules/core-js/internals/inspect-source.js\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/native-weak-map.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/new-promise-capability.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/new-promise-capability.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/new-promise-capability.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/normalize-string-argument.js":
/*!*********************************************************************!*\
  !*** ./node_modules/core-js/internals/normalize-string-argument.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\n\nmodule.exports = function (argument, $default) {\n  return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/normalize-string-argument.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/not-a-regexp.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/not-a-regexp.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isRegExp = __webpack_require__(/*! ../internals/is-regexp */ \"./node_modules/core-js/internals/is-regexp.js\");\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/not-a-regexp.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/number-parse-float.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/number-parse-float.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;\nvar whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n  // MS Edge 18- broken with boxed symbols\n  || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n  var trimmedString = trim(toString(string));\n  var result = n$ParseFloat(trimmedString);\n  return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/number-parse-float.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-assign.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/object-assign.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line es-x/no-symbol -- safe\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-assign.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-create.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/object-create.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* global ActiveXObject -- old IE, WSH */\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ \"./node_modules/core-js/internals/object-define-properties.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\nvar html = __webpack_require__(/*! ../internals/html */ \"./node_modules/core-js/internals/html.js\");\nvar documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-create.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-define-properties.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/object-define-properties.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ \"./node_modules/core-js/internals/v8-prototype-define-bug.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-define-properties.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-define-property.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/object-define-property.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ \"./node_modules/core-js/internals/v8-prototype-define-bug.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ \"./node_modules/core-js/internals/to-property-key.js\");\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* 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\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-define-property.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js":
/*!******************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ \"./node_modules/core-js/internals/to-property-key.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-names-external.js":
/*!**********************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar $getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\").f;\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ \"./node_modules/core-js/internals/array-slice-simple.js\");\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return $getOwnPropertyNames(it);\n  } catch (error) {\n    return arraySlice(windowNames);\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && classof(it) == 'Window'\n    ? getWindowNames(it)\n    : $getOwnPropertyNames(toIndexedObject(it));\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-names.js":
/*!*************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-get-own-property-names.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js":
/*!***************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-prototype-of.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ \"./node_modules/core-js/internals/correct-prototype-getter.js\");\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n  var object = toObject(O);\n  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n  var constructor = object.constructor;\n  if (isCallable(constructor) && object instanceof constructor) {\n    return constructor.prototype;\n  } return object instanceof Object ? ObjectPrototype : null;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-get-prototype-of.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-is-extensible.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/object-is-extensible.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(/*! ../internals/array-buffer-non-extensible */ \"./node_modules/core-js/internals/array-buffer-non-extensible.js\");\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n  if (!isObject(it)) return false;\n  if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n  return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-is-extensible.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-is-prototype-of.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/object-is-prototype-of.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-is-prototype-of.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-keys-internal.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/object-keys-internal.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar indexOf = __webpack_require__(/*! ../internals/array-includes */ \"./node_modules/core-js/internals/array-includes.js\").indexOf;\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-keys-internal.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-keys.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/object-keys.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js":
/*!*************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-set-prototype-of.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable no-proto -- safe */\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ \"./node_modules/core-js/internals/a-possible-prototype.js\");\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n    setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    anObject(O);\n    aPossiblePrototype(proto);\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-set-prototype-of.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-to-array.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/object-to-array.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar $propertyIsEnumerable = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\").f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n  return function (it) {\n    var O = toIndexedObject(it);\n    var keys = objectKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n        push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.es/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.es/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-to-array.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-to-string.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/object-to-string.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ \"./node_modules/core-js/internals/to-string-tag-support.js\");\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/object-to-string.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/ordinary-to-primitive.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/internals/ordinary-to-primitive.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/own-keys.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/internals/own-keys.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/own-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/path.js":
/*!************************************************!*\
  !*** ./node_modules/core-js/internals/path.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nmodule.exports = global;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/path.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/perform.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/internals/perform.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/perform.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/promise-constructor-detection.js":
/*!*************************************************************************!*\
  !*** ./node_modules/core-js/internals/promise-constructor-detection.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar NativePromiseConstructor = __webpack_require__(/*! ../internals/promise-native-constructor */ \"./node_modules/core-js/internals/promise-native-constructor.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\nvar inspectSource = __webpack_require__(/*! ../internals/inspect-source */ \"./node_modules/core-js/internals/inspect-source.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar IS_BROWSER = __webpack_require__(/*! ../internals/engine-is-browser */ \"./node_modules/core-js/internals/engine-is-browser.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n  if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n  SUBCLASSING: SUBCLASSING\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/promise-constructor-detection.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/promise-native-constructor.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/internals/promise-native-constructor.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nmodule.exports = global.Promise;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/promise-native-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/promise-resolve.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/promise-resolve.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ \"./node_modules/core-js/internals/new-promise-capability.js\");\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/promise-resolve.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/promise-statics-incorrect-iteration.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/core-js/internals/promise-statics-incorrect-iteration.js ***!
  \*******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NativePromiseConstructor = __webpack_require__(/*! ../internals/promise-native-constructor */ \"./node_modules/core-js/internals/promise-native-constructor.js\");\nvar checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ \"./node_modules/core-js/internals/check-correctness-of-iteration.js\");\nvar FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(/*! ../internals/promise-constructor-detection */ \"./node_modules/core-js/internals/promise-constructor-detection.js\").CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/promise-statics-incorrect-iteration.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/proxy-accessor.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/proxy-accessor.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\n\nmodule.exports = function (Target, Source, key) {\n  key in Target || defineProperty(Target, key, {\n    configurable: true,\n    get: function () { return Source[key]; },\n    set: function (it) { Source[key] = it; }\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/proxy-accessor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/queue.js":
/*!*************************************************!*\
  !*** ./node_modules/core-js/internals/queue.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var Queue = function () {\n  this.head = null;\n  this.tail = null;\n};\n\nQueue.prototype = {\n  add: function (item) {\n    var entry = { item: item, next: null };\n    if (this.head) this.tail.next = entry;\n    else this.head = entry;\n    this.tail = entry;\n  },\n  get: function () {\n    var entry = this.head;\n    if (entry) {\n      this.head = entry.next;\n      if (this.tail === entry) this.tail = null;\n      return entry.item;\n    }\n  }\n};\n\nmodule.exports = Queue;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/queue.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (isCallable(exec)) {\n    var result = call(exec, R, S);\n    if (result !== null) anObject(result);\n    return result;\n  }\n  if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n  throw TypeError('RegExp#exec called on incompatible receiver');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-exec.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-exec.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar regexpFlags = __webpack_require__(/*! ../internals/regexp-flags */ \"./node_modules/core-js/internals/regexp-flags.js\");\nvar stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ \"./node_modules/core-js/internals/regexp-sticky-helpers.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar getInternalState = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\").get;\nvar UNSUPPORTED_DOT_ALL = __webpack_require__(/*! ../internals/regexp-unsupported-dot-all */ \"./node_modules/core-js/internals/regexp-unsupported-dot-all.js\");\nvar UNSUPPORTED_NCG = __webpack_require__(/*! ../internals/regexp-unsupported-ncg */ \"./node_modules/core-js/internals/regexp-unsupported-ncg.js\");\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/;\n  var re2 = /b*/g;\n  call(nativeExec, re1, 'a');\n  call(nativeExec, re2, 'a');\n  return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n  patchedExec = function exec(string) {\n    var re = this;\n    var state = getInternalState(re);\n    var str = toString(string);\n    var raw = state.raw;\n    var result, reCopy, lastIndex, match, i, object, group;\n\n    if (raw) {\n      raw.lastIndex = re.lastIndex;\n      result = call(patchedExec, raw, str);\n      re.lastIndex = raw.lastIndex;\n      return result;\n    }\n\n    var groups = state.groups;\n    var sticky = UNSUPPORTED_Y && re.sticky;\n    var flags = call(regexpFlags, re);\n    var source = re.source;\n    var charsAdded = 0;\n    var strCopy = str;\n\n    if (sticky) {\n      flags = replace(flags, 'y', '');\n      if (indexOf(flags, 'g') === -1) {\n        flags += 'g';\n      }\n\n      strCopy = stringSlice(str, re.lastIndex);\n      // Support anchored sticky behavior.\n      if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n        source = '(?: ' + source + ')';\n        strCopy = ' ' + strCopy;\n        charsAdded++;\n      }\n      // ^(? + rx + ) is needed, in combination with some str slicing, to\n      // simulate the 'y' flag.\n      reCopy = new RegExp('^(?:' + source + ')', flags);\n    }\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n    match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n    if (sticky) {\n      if (match) {\n        match.input = stringSlice(match.input, charsAdded);\n        match[0] = stringSlice(match[0], charsAdded);\n        match.index = re.lastIndex;\n        re.lastIndex += match[0].length;\n      } else re.lastIndex = 0;\n    } else if (UPDATES_LAST_INDEX_WRONG && match) {\n      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      call(nativeReplace, match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    if (match && groups) {\n      match.groups = object = create(null);\n      for (i = 0; i < groups.length; i++) {\n        group = groups[i];\n        object[group[0]] = match[group[1]];\n      }\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-exec.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-flags.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-flags.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.hasIndices) result += 'd';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-flags.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-get-flags.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-get-flags.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar regExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ \"./node_modules/core-js/internals/regexp-flags.js\");\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n  var flags = R.flags;\n  return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n    ? call(regExpFlags, R) : flags;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-get-flags.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n  var re = $RegExp('a', 'y');\n  re.lastIndex = 2;\n  return re.exec('abcd') != null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n  return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n  var re = $RegExp('^r', 'gy');\n  re.lastIndex = 2;\n  return re.exec('str') != null;\n});\n\nmodule.exports = {\n  BROKEN_CARET: BROKEN_CARET,\n  MISSED_STICKY: MISSED_STICKY,\n  UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-unsupported-dot-all.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-unsupported-dot-all.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('.', 's');\n  return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/regexp-unsupported-ncg.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/regexp-unsupported-ncg.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('(?<a>b)', 'g');\n  return re.exec('b').groups.a !== 'b' ||\n    'b'.replace(re, '$<a>c') !== 'bc';\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/require-object-coercible.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/require-object-coercible.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/require-object-coercible.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/same-value.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/same-value.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/same-value.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/set-global.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/set-global.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(global, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/set-global.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/set-species.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/set-species.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n  var defineProperty = definePropertyModule.f;\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineProperty(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/set-species.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/set-to-string-tag.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/set-to-string-tag.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n  if (target && !STATIC) target = target.prototype;\n  if (target && !hasOwn(target, TO_STRING_TAG)) {\n    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/set-to-string-tag.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/shared-key.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/shared-key.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/shared-key.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/shared-store.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/shared-store.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/shared-store.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/shared.js":
/*!**************************************************!*\
  !*** ./node_modules/core-js/internals/shared.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar store = __webpack_require__(/*! ../internals/shared-store */ \"./node_modules/core-js/internals/shared-store.js\");\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.22.5',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n  license: 'https://github.com/zloirock/core-js/blob/v3.22.5/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/shared.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/species-constructor.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/species-constructor.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar aConstructor = __webpack_require__(/*! ../internals/a-constructor */ \"./node_modules/core-js/internals/a-constructor.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/species-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/string-html-forced.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/string-html-forced.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    var test = ''[METHOD_NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/string-html-forced.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/string-multibyte.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/string-multibyte.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = charCodeAt(S, position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING\n          ? charAt(S, position)\n          : first\n        : CONVERT_TO_STRING\n          ? stringSlice(S, position, position + 2)\n          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/string-multibyte.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/string-punycode-to-ascii.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/string-punycode-to-ascii.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n  var output = [];\n  var counter = 0;\n  var length = string.length;\n  while (counter < length) {\n    var value = charCodeAt(string, counter++);\n    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n      // It's a high surrogate, and there is a next character.\n      var extra = charCodeAt(string, counter++);\n      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n        push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n      } else {\n        // It's an unmatched surrogate; only append this code unit, in case the\n        // next code unit is the high surrogate of a surrogate pair.\n        push(output, value);\n        counter--;\n      }\n    } else {\n      push(output, value);\n    }\n  }\n  return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n  //  0..25 map to ASCII a..z or A..Z\n  // 26..35 map to ASCII 0..9\n  return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n  var k = 0;\n  delta = firstTime ? floor(delta / damp) : delta >> 1;\n  delta += floor(delta / numPoints);\n  while (delta > baseMinusTMin * tMax >> 1) {\n    delta = floor(delta / baseMinusTMin);\n    k += base;\n  }\n  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n  var output = [];\n\n  // Convert the input in UCS-2 to an array of Unicode code points.\n  input = ucs2decode(input);\n\n  // Cache the length.\n  var inputLength = input.length;\n\n  // Initialize the state.\n  var n = initialN;\n  var delta = 0;\n  var bias = initialBias;\n  var i, currentValue;\n\n  // Handle the basic code points.\n  for (i = 0; i < input.length; i++) {\n    currentValue = input[i];\n    if (currentValue < 0x80) {\n      push(output, fromCharCode(currentValue));\n    }\n  }\n\n  var basicLength = output.length; // number of basic code points.\n  var handledCPCount = basicLength; // number of code points that have been handled;\n\n  // Finish the basic string with a delimiter unless it's empty.\n  if (basicLength) {\n    push(output, delimiter);\n  }\n\n  // Main encoding loop:\n  while (handledCPCount < inputLength) {\n    // All non-basic code points < n have been handled already. Find the next larger one:\n    var m = maxInt;\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue >= n && currentValue < m) {\n        m = currentValue;\n      }\n    }\n\n    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n    var handledCPCountPlusOne = handledCPCount + 1;\n    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n      throw RangeError(OVERFLOW_ERROR);\n    }\n\n    delta += (m - n) * handledCPCountPlusOne;\n    n = m;\n\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue < n && ++delta > maxInt) {\n        throw RangeError(OVERFLOW_ERROR);\n      }\n      if (currentValue == n) {\n        // Represent delta as a generalized variable-length integer.\n        var q = delta;\n        var k = base;\n        while (true) {\n          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n          if (q < t) break;\n          var qMinusT = q - t;\n          var baseMinusT = base - t;\n          push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n          q = floor(qMinusT / baseMinusT);\n          k += base;\n        }\n\n        push(output, fromCharCode(digitToBasic(q)));\n        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n        delta = 0;\n        handledCPCount++;\n      }\n    }\n\n    delta++;\n    n++;\n  }\n  return join(output, '');\n};\n\nmodule.exports = function (input) {\n  var encoded = [];\n  var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n  var i, label;\n  for (i = 0; i < labels.length; i++) {\n    label = labels[i];\n    push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n  }\n  return join(encoded, '.');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/string-repeat.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/string-repeat.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n  var str = toString(requireObjectCoercible(this));\n  var result = '';\n  var n = toIntegerOrInfinity(count);\n  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/string-repeat.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/string-trim-forced.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/internals/string-trim-forced.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var PROPER_FUNCTION_NAME = __webpack_require__(/*! ../internals/function-name */ \"./node_modules/core-js/internals/function-name.js\").PROPER;\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]()\n      || non[METHOD_NAME]() !== non\n      || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n  });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/string-trim-forced.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/string-trim.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/string-trim.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n  return function ($this) {\n    var string = toString(requireObjectCoercible($this));\n    if (TYPE & 1) string = replace(string, ltrim, '');\n    if (TYPE & 2) string = replace(string, rtrim, '');\n    return string;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.{ trimLeft, trimStart }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n  start: createMethod(1),\n  // `String.prototype.{ trimRight, trimEnd }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimend\n  end: createMethod(2),\n  // `String.prototype.trim` method\n  // https://tc39.es/ecma262/#sec-string.prototype.trim\n  trim: createMethod(3)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/string-trim.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/symbol-define-to-primitive.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/internals/symbol-define-to-primitive.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\n\nmodule.exports = function () {\n  var Symbol = getBuiltIn('Symbol');\n  var SymbolPrototype = Symbol && Symbol.prototype;\n  var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n  var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n  if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n    // `Symbol.prototype[@@toPrimitive]` method\n    // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n    // eslint-disable-next-line no-unused-vars -- required for .length\n    defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n      return call(valueOf, this);\n    }, { arity: 1 });\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/symbol-define-to-primitive.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/task.js":
/*!************************************************!*\
  !*** ./node_modules/core-js/internals/task.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar html = __webpack_require__(/*! ../internals/html */ \"./node_modules/core-js/internals/html.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice */ \"./node_modules/core-js/internals/array-slice.js\");\nvar createElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\nvar IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ \"./node_modules/core-js/internals/engine-is-ios.js\");\nvar IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ \"./node_modules/core-js/internals/engine-is-node.js\");\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar listener = function (event) {\n  run(event.data);\n};\n\nvar post = function (id) {\n  // old engines have not location.origin\n  global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(handler) {\n    validateArgumentsLength(arguments.length, 1);\n    var fn = isCallable(handler) ? handler : Function(handler);\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(fn, undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    global.addEventListener &&\n    isCallable(global.postMessage) &&\n    !global.importScripts &&\n    location && location.protocol !== 'file:' &&\n    !fails(post)\n  ) {\n    defer = post;\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/task.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/this-number-value.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/this-number-value.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/this-number-value.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-absolute-index.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/to-absolute-index.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-absolute-index.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-index.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/internals/to-index.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toIntegerOrInfinity(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length or index');\n  return length;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-index.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-indexed-object.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/to-indexed-object.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-indexed-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-integer-or-infinity.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/to-integer-or-infinity.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- safe\n  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-length.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/to-length.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-length.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-object.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/to-object.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-offset.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/to-offset.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar toPositiveInteger = __webpack_require__(/*! ../internals/to-positive-integer */ \"./node_modules/core-js/internals/to-positive-integer.js\");\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n  var offset = toPositiveInteger(it);\n  if (offset % BYTES) throw RangeError('Wrong offset');\n  return offset;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-offset.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-positive-integer.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/internals/to-positive-integer.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n  var result = toIntegerOrInfinity(it);\n  if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-positive-integer.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-primitive.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/to-primitive.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar isSymbol = __webpack_require__(/*! ../internals/is-symbol */ \"./node_modules/core-js/internals/is-symbol.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\nvar ordinaryToPrimitive = __webpack_require__(/*! ../internals/ordinary-to-primitive */ \"./node_modules/core-js/internals/ordinary-to-primitive.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-primitive.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-property-key.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/to-property-key.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar isSymbol = __webpack_require__(/*! ../internals/is-symbol */ \"./node_modules/core-js/internals/is-symbol.js\");\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-property-key.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-string-tag-support.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/internals/to-string-tag-support.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-string-tag-support.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-string.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/to-string.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n  return String(argument);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-string.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/try-to-string.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/try-to-string.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n  try {\n    return String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/try-to-string.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/typed-array-constructor.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/typed-array-constructor.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ \"./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js\");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ \"./node_modules/core-js/internals/array-buffer.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar isIntegralNumber = __webpack_require__(/*! ../internals/is-integral-number */ \"./node_modules/core-js/internals/is-integral-number.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toIndex = __webpack_require__(/*! ../internals/to-index */ \"./node_modules/core-js/internals/to-index.js\");\nvar toOffset = __webpack_require__(/*! ../internals/to-offset */ \"./node_modules/core-js/internals/to-offset.js\");\nvar toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ \"./node_modules/core-js/internals/to-property-key.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar isSymbol = __webpack_require__(/*! ../internals/is-symbol */ \"./node_modules/core-js/internals/is-symbol.js\");\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\").f;\nvar typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ \"./node_modules/core-js/internals/typed-array-from.js\");\nvar forEach = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").forEach;\nvar setSpecies = __webpack_require__(/*! ../internals/set-species */ \"./node_modules/core-js/internals/set-species.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ \"./node_modules/core-js/internals/inherit-if-required.js\");\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n  aTypedArrayConstructor(C);\n  var index = 0;\n  var length = list.length;\n  var result = new C(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n};\n\nvar addGetter = function (it, key) {\n  nativeDefineProperty(it, key, { get: function () {\n    return getInternalState(this)[key];\n  } });\n};\n\nvar isArrayBuffer = function (it) {\n  var klass;\n  return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n  return isTypedArray(target)\n    && !isSymbol(key)\n    && key in target\n    && isIntegralNumber(+key)\n    && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n  key = toPropertyKey(key);\n  return isTypedArrayIndex(target, key)\n    ? createPropertyDescriptor(2, target[key])\n    : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n  key = toPropertyKey(key);\n  if (isTypedArrayIndex(target, key)\n    && isObject(descriptor)\n    && hasOwn(descriptor, 'value')\n    && !hasOwn(descriptor, 'get')\n    && !hasOwn(descriptor, 'set')\n    // TODO: add validation descriptor w/o calling accessors\n    && !descriptor.configurable\n    && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n    && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n  ) {\n    target[key] = descriptor.value;\n    return target;\n  } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n  if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n    getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n    definePropertyModule.f = wrappedDefineProperty;\n    addGetter(TypedArrayPrototype, 'buffer');\n    addGetter(TypedArrayPrototype, 'byteOffset');\n    addGetter(TypedArrayPrototype, 'byteLength');\n    addGetter(TypedArrayPrototype, 'length');\n  }\n\n  $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n    getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n    defineProperty: wrappedDefineProperty\n  });\n\n  module.exports = function (TYPE, wrapper, CLAMPED) {\n    var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n    var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + TYPE;\n    var SETTER = 'set' + TYPE;\n    var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n    var TypedArrayConstructor = NativeTypedArrayConstructor;\n    var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n    var exported = {};\n\n    var getter = function (that, index) {\n      var data = getInternalState(that);\n      return data.view[GETTER](index * BYTES + data.byteOffset, true);\n    };\n\n    var setter = function (that, index, value) {\n      var data = getInternalState(that);\n      if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n      data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n    };\n\n    var addElement = function (that, index) {\n      nativeDefineProperty(that, index, {\n        get: function () {\n          return getter(this, index);\n        },\n        set: function (value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n\n    if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n      TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n        anInstance(that, TypedArrayConstructorPrototype);\n        var index = 0;\n        var byteOffset = 0;\n        var buffer, byteLength, length;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new ArrayBuffer(byteLength);\n        } else if (isArrayBuffer(data)) {\n          buffer = data;\n          byteOffset = toOffset(offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - byteOffset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (isTypedArray(data)) {\n          return fromList(TypedArrayConstructor, data);\n        } else {\n          return call(typedArrayFrom, TypedArrayConstructor, data);\n        }\n        setInternalState(that, {\n          buffer: buffer,\n          byteOffset: byteOffset,\n          byteLength: byteLength,\n          length: length,\n          view: new DataView(buffer)\n        });\n        while (index < length) addElement(that, index++);\n      });\n\n      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n      TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n    } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n      TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n        anInstance(dummy, TypedArrayConstructorPrototype);\n        return inheritIfRequired(function () {\n          if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n          if (isArrayBuffer(data)) return $length !== undefined\n            ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n            : typedArrayOffset !== undefined\n              ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n              : new NativeTypedArrayConstructor(data);\n          if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n          return call(typedArrayFrom, TypedArrayConstructor, data);\n        }(), dummy, TypedArrayConstructor);\n      });\n\n      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n      forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n        if (!(key in TypedArrayConstructor)) {\n          createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n        }\n      });\n      TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n    }\n\n    if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n    }\n\n    createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n    if (TYPED_ARRAY_TAG) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n    }\n\n    var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;\n\n    exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n    $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n      createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n    }\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n    }\n\n    setSpecies(CONSTRUCTOR_NAME);\n  };\n} else module.exports = function () { /* empty */ };\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/typed-array-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable no-new -- required for testing */\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ \"./node_modules/core-js/internals/check-correctness-of-iteration.js\");\nvar NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\").NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n  Int8Array(1);\n}) || !fails(function () {\n  new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n  new Int8Array();\n  new Int8Array(null);\n  new Int8Array(1.5);\n  new Int8Array(iterable);\n}, true) || fails(function () {\n  // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n  return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/typed-array-from-species-and-list.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/core-js/internals/typed-array-from-species-and-list.js ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var arrayFromConstructorAndList = __webpack_require__(/*! ../internals/array-from-constructor-and-list */ \"./node_modules/core-js/internals/array-from-constructor-and-list.js\");\nvar typedArraySpeciesConstructor = __webpack_require__(/*! ../internals/typed-array-species-constructor */ \"./node_modules/core-js/internals/typed-array-species-constructor.js\");\n\nmodule.exports = function (instance, list) {\n  return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/typed-array-from-species-and-list.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/typed-array-from.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/internals/typed-array-from.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar aConstructor = __webpack_require__(/*! ../internals/a-constructor */ \"./node_modules/core-js/internals/a-constructor.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar getIterator = __webpack_require__(/*! ../internals/get-iterator */ \"./node_modules/core-js/internals/get-iterator.js\");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ \"./node_modules/core-js/internals/get-iterator-method.js\");\nvar isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ \"./node_modules/core-js/internals/is-array-iterator-method.js\");\nvar aTypedArrayConstructor = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\").aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n  var C = aConstructor(this);\n  var O = toObject(source);\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  var iteratorMethod = getIteratorMethod(O);\n  var i, length, result, step, iterator, next;\n  if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n    iterator = getIterator(O, iteratorMethod);\n    next = iterator.next;\n    O = [];\n    while (!(step = call(next, iterator)).done) {\n      O.push(step.value);\n    }\n  }\n  if (mapping && argumentsLength > 2) {\n    mapfn = bind(mapfn, arguments[2]);\n  }\n  length = lengthOfArrayLike(O);\n  result = new (aTypedArrayConstructor(C))(length);\n  for (i = 0; length > i; i++) {\n    result[i] = mapping ? mapfn(O[i], i) : O[i];\n  }\n  return result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/typed-array-from.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/typed-array-species-constructor.js":
/*!***************************************************************************!*\
  !*** ./node_modules/core-js/internals/typed-array-species-constructor.js ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ \"./node_modules/core-js/internals/species-constructor.js\");\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n  return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/typed-array-species-constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/uid.js":
/*!***********************************************!*\
  !*** ./node_modules/core-js/internals/uid.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/uid.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\n\nmodule.exports = NATIVE_SYMBOL\n  && !Symbol.sham\n  && typeof Symbol.iterator == 'symbol';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/v8-prototype-define-bug.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/v8-prototype-define-bug.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype != 42;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/validate-arguments-length.js":
/*!*********************************************************************!*\
  !*** ./node_modules/core-js/internals/validate-arguments-length.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw TypeError('Not enough arguments');\n  return passed;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/validate-arguments-length.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js":
/*!*********************************************************************!*\
  !*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nexports.f = wellKnownSymbol;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/well-known-symbol.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/well-known-symbol.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\nvar USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ \"./node_modules/core-js/internals/use-symbol-as-uid.js\");\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n    var description = 'Symbol.' + name;\n    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n      WellKnownSymbolsStore[name] = Symbol[name];\n    } else if (USE_SYMBOL_AS_UID && symbolFor) {\n      WellKnownSymbolsStore[name] = symbolFor(description);\n    } else {\n      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n    }\n  } return WellKnownSymbolsStore[name];\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/well-known-symbol.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/whitespaces.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/whitespaces.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n  '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/whitespaces.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/wrap-error-constructor-with-cause.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/core-js/internals/wrap-error-constructor-with-cause.js ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ \"./node_modules/core-js/internals/copy-constructor-properties.js\");\nvar proxyAccessor = __webpack_require__(/*! ../internals/proxy-accessor */ \"./node_modules/core-js/internals/proxy-accessor.js\");\nvar inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ \"./node_modules/core-js/internals/inherit-if-required.js\");\nvar normalizeStringArgument = __webpack_require__(/*! ../internals/normalize-string-argument */ \"./node_modules/core-js/internals/normalize-string-argument.js\");\nvar installErrorCause = __webpack_require__(/*! ../internals/install-error-cause */ \"./node_modules/core-js/internals/install-error-cause.js\");\nvar clearErrorStack = __webpack_require__(/*! ../internals/clear-error-stack */ \"./node_modules/core-js/internals/clear-error-stack.js\");\nvar ERROR_STACK_INSTALLABLE = __webpack_require__(/*! ../internals/error-stack-installable */ \"./node_modules/core-js/internals/error-stack-installable.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n  var STACK_TRACE_LIMIT = 'stackTraceLimit';\n  var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n  var path = FULL_NAME.split('.');\n  var ERROR_NAME = path[path.length - 1];\n  var OriginalError = getBuiltIn.apply(null, path);\n\n  if (!OriginalError) return;\n\n  var OriginalErrorPrototype = OriginalError.prototype;\n\n  // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n  if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n  if (!FORCED) return OriginalError;\n\n  var BaseError = getBuiltIn('Error');\n\n  var WrappedError = wrapper(function (a, b) {\n    var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n    var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n    if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n    if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n    if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n    if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n    return result;\n  });\n\n  WrappedError.prototype = OriginalErrorPrototype;\n\n  if (ERROR_NAME !== 'Error') {\n    if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n    else copyConstructorProperties(WrappedError, BaseError, { name: true });\n  } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n    proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n    proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n  }\n\n  copyConstructorProperties(WrappedError, OriginalError);\n\n  if (!IS_PURE) try {\n    // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n    if (OriginalErrorPrototype.name !== ERROR_NAME) {\n      createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n    }\n    OriginalErrorPrototype.constructor = WrappedError;\n  } catch (error) { /* empty */ }\n\n  return WrappedError;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/wrap-error-constructor-with-cause.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array-buffer.slice.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.array-buffer.slice.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ \"./node_modules/core-js/internals/array-buffer.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ \"./node_modules/core-js/internals/species-constructor.js\");\n\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar DataViewPrototype = DataView.prototype;\nvar un$ArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice);\nvar getUint8 = uncurryThis(DataViewPrototype.getUint8);\nvar setUint8 = uncurryThis(DataViewPrototype.setUint8);\n\nvar INCORRECT_SLICE = fails(function () {\n  return !new ArrayBuffer(2).slice(1, undefined).byteLength;\n});\n\n// `ArrayBuffer.prototype.slice` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice\n$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {\n  slice: function slice(start, end) {\n    if (un$ArrayBufferSlice && end === undefined) {\n      return un$ArrayBufferSlice(anObject(this), start); // FF fix\n    }\n    var length = anObject(this).byteLength;\n    var first = toAbsoluteIndex(start, length);\n    var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n    var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));\n    var viewSource = new DataView(this);\n    var viewTarget = new DataView(result);\n    var index = 0;\n    while (first < fin) {\n      setUint8(viewTarget, index++, getUint8(viewSource, first++));\n    } return result;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array-buffer.slice.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.concat.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.concat.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isArray = __webpack_require__(/*! ../internals/is-array */ \"./node_modules/core-js/internals/is-array.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\nvar arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ \"./node_modules/core-js/internals/array-species-create.js\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ \"./node_modules/core-js/internals/array-method-has-species-support.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = lengthOfArrayLike(E);\n        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.concat.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.fill.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.fill.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar fill = __webpack_require__(/*! ../internals/array-fill */ \"./node_modules/core-js/internals/array-fill.js\");\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n  fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.fill.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.filter.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.filter.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $filter = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").filter;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ \"./node_modules/core-js/internals/array-method-has-species-support.js\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.filter.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.find.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.find.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $find = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").find;\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.find.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.from.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.from.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar from = __webpack_require__(/*! ../internals/array-from */ \"./node_modules/core-js/internals/array-from.js\");\nvar checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ \"./node_modules/core-js/internals/check-correctness-of-iteration.js\");\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n  // eslint-disable-next-line es-x/no-array-from -- required for testing\n  Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n  from: from\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.from.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.includes.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.includes.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $includes = __webpack_require__(/*! ../internals/array-includes */ \"./node_modules/core-js/internals/array-includes.js\").includes;\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n  return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.includes.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.iterator.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.iterator.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar defineIterator = __webpack_require__(/*! ../internals/define-iterator */ \"./node_modules/core-js/internals/define-iterator.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var kind = state.kind;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = undefined;\n    return { value: undefined, done: true };\n  }\n  if (kind == 'keys') return { value: index, done: false };\n  if (kind == 'values') return { value: target[index], done: false };\n  return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n  defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.join.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.join.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ \"./node_modules/core-js/internals/array-method-is-strict.js\");\n\nvar un$Join = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n  join: function join(separator) {\n    return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.join.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.map.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.map.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $map = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").map;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ \"./node_modules/core-js/internals/array-method-has-species-support.js\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.map.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.slice.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.slice.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isArray = __webpack_require__(/*! ../internals/is-array */ \"./node_modules/core-js/internals/is-array.js\");\nvar isConstructor = __webpack_require__(/*! ../internals/is-constructor */ \"./node_modules/core-js/internals/is-constructor.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ \"./node_modules/core-js/internals/array-method-has-species-support.js\");\nvar un$Slice = __webpack_require__(/*! ../internals/array-slice */ \"./node_modules/core-js/internals/array-slice.js\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  slice: function slice(start, end) {\n    var O = toIndexedObject(this);\n    var length = lengthOfArrayLike(O);\n    var k = toAbsoluteIndex(start, length);\n    var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n    var Constructor, result, n;\n    if (isArray(O)) {\n      Constructor = O.constructor;\n      // cross-realm fallback\n      if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n        Constructor = undefined;\n      } else if (isObject(Constructor)) {\n        Constructor = Constructor[SPECIES];\n        if (Constructor === null) Constructor = undefined;\n      }\n      if (Constructor === Array || Constructor === undefined) {\n        return un$Slice(O, k, fin);\n      }\n    }\n    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n    result.length = n;\n    return result;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.slice.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.sort.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.sort.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar internalSort = __webpack_require__(/*! ../internals/array-sort */ \"./node_modules/core-js/internals/array-sort.js\");\nvar arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ \"./node_modules/core-js/internals/array-method-is-strict.js\");\nvar FF = __webpack_require__(/*! ../internals/engine-ff-version */ \"./node_modules/core-js/internals/engine-ff-version.js\");\nvar IE_OR_EDGE = __webpack_require__(/*! ../internals/engine-is-ie-or-edge */ \"./node_modules/core-js/internals/engine-is-ie-or-edge.js\");\nvar V8 = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\nvar WEBKIT = __webpack_require__(/*! ../internals/engine-webkit-version */ \"./node_modules/core-js/internals/engine-webkit-version.js\");\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n  test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n  test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n  // feature detection can be too slow, so check engines versions\n  if (V8) return V8 < 70;\n  if (FF && FF > 3) return;\n  if (IE_OR_EDGE) return true;\n  if (WEBKIT) return WEBKIT < 603;\n\n  var result = '';\n  var code, chr, value, index;\n\n  // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n  for (code = 65; code < 76; code++) {\n    chr = String.fromCharCode(code);\n\n    switch (code) {\n      case 66: case 69: case 70: case 72: value = 3; break;\n      case 68: case 71: value = 4; break;\n      default: value = 2;\n    }\n\n    for (index = 0; index < 47; index++) {\n      test.push({ k: chr + index, v: value });\n    }\n  }\n\n  test.sort(function (a, b) { return b.v - a.v; });\n\n  for (index = 0; index < test.length; index++) {\n    chr = test[index].k.charAt(0);\n    if (result.charAt(result.length - 1) !== chr) result += chr;\n  }\n\n  return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n  return function (x, y) {\n    if (y === undefined) return -1;\n    if (x === undefined) return 1;\n    if (comparefn !== undefined) return +comparefn(x, y) || 0;\n    return toString(x) > toString(y) ? 1 : -1;\n  };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  sort: function sort(comparefn) {\n    if (comparefn !== undefined) aCallable(comparefn);\n\n    var array = toObject(this);\n\n    if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n    var items = [];\n    var arrayLength = lengthOfArrayLike(array);\n    var itemsLength, index;\n\n    for (index = 0; index < arrayLength; index++) {\n      if (index in array) push(items, array[index]);\n    }\n\n    internalSort(items, getSortCompare(comparefn));\n\n    itemsLength = items.length;\n    index = 0;\n\n    while (index < itemsLength) array[index] = items[index++];\n    while (index < arrayLength) delete array[index++];\n\n    return array;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.sort.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.array.splice.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.array.splice.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ \"./node_modules/core-js/internals/array-species-create.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ \"./node_modules/core-js/internals/array-method-has-species-support.js\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar TypeError = global.TypeError;\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  splice: function splice(start, deleteCount /* , ...items */) {\n    var O = toObject(this);\n    var len = lengthOfArrayLike(O);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var insertCount, actualDeleteCount, A, k, from, to;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n    }\n    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n    }\n    A = arraySpeciesCreate(O, actualDeleteCount);\n    for (k = 0; k < actualDeleteCount; k++) {\n      from = actualStart + k;\n      if (from in O) createProperty(A, k, O[from]);\n    }\n    A.length = actualDeleteCount;\n    if (insertCount < actualDeleteCount) {\n      for (k = actualStart; k < len - actualDeleteCount; k++) {\n        from = k + actualDeleteCount;\n        to = k + insertCount;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n    } else if (insertCount > actualDeleteCount) {\n      for (k = len - actualDeleteCount; k > actualStart; k--) {\n        from = k + actualDeleteCount - 1;\n        to = k + insertCount - 1;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n    }\n    for (k = 0; k < insertCount; k++) {\n      O[k + actualStart] = arguments[k + 2];\n    }\n    O.length = len - actualDeleteCount + insertCount;\n    return A;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.splice.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.error.cause.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.error.cause.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar wrapErrorConstructorWithCause = __webpack_require__(/*! ../internals/wrap-error-constructor-with-cause */ \"./node_modules/core-js/internals/wrap-error-constructor-with-cause.js\");\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n  var O = {};\n  O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n  $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n  if (WebAssembly && WebAssembly[ERROR_NAME]) {\n    var O = {};\n    O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n    $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n  }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n  return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n  return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n  return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n  return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n  return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n  return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n  return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n  return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n  return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n  return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.error.cause.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.function.name.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.function.name.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar FUNCTION_NAME_EXISTS = __webpack_require__(/*! ../internals/function-name */ \"./node_modules/core-js/internals/function-name.js\").EXISTS;\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n  defineProperty(FunctionPrototype, NAME, {\n    configurable: true,\n    get: function () {\n      try {\n        return regExpExec(nameRE, functionToString(this))[1];\n      } catch (error) {\n        return '';\n      }\n    }\n  });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.function.name.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.json.stringify.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.json.stringify.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isArray = __webpack_require__(/*! ../internals/is-array */ \"./node_modules/core-js/internals/is-array.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar isSymbol = __webpack_require__(/*! ../internals/is-symbol */ \"./node_modules/core-js/internals/is-symbol.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice */ \"./node_modules/core-js/internals/array-slice.js\");\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n  var symbol = getBuiltIn('Symbol')();\n  // MS Edge converts symbol values to JSON as {}\n  return $stringify([symbol]) != '[null]'\n    // WebKit converts symbol values to JSON as null\n    || $stringify({ a: symbol }) != '{}'\n    // V8 throws on boxed symbols\n    || $stringify(Object(symbol)) != '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n  return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n    || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n  var args = arraySlice(arguments);\n  var $replacer = replacer;\n  if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n  if (!isArray(replacer)) replacer = function (key, value) {\n    if (isCallable($replacer)) value = call($replacer, this, key, value);\n    if (!isSymbol(value)) return value;\n  };\n  args[1] = replacer;\n  return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n  var prev = charAt(string, offset - 1);\n  var next = charAt(string, offset + 1);\n  if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n    return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n  } return match;\n};\n\nif ($stringify) {\n  // `JSON.stringify` method\n  // https://tc39.es/ecma262/#sec-json.stringify\n  $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n    // eslint-disable-next-line no-unused-vars -- required for `.length`\n    stringify: function stringify(it, replacer, space) {\n      var args = arraySlice(arguments);\n      var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n      return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n    }\n  });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.json.stringify.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.json.to-string-tag.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.json.to-string-tag.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.json.to-string-tag.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.math.to-string-tag.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.math.to-string-tag.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.math.to-string-tag.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.number.constructor.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.number.constructor.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ \"./node_modules/core-js/internals/inherit-if-required.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar isSymbol = __webpack_require__(/*! ../internals/is-symbol */ \"./node_modules/core-js/internals/is-symbol.js\");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\").f;\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ \"./node_modules/core-js/internals/this-number-value.js\");\nvar trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n  var primValue = toPrimitive(value, 'number');\n  return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, 'number');\n  var first, third, radix, maxCode, digits, length, index, code;\n  if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n  if (typeof it == 'string' && it.length > 2) {\n    it = trim(it);\n    first = charCodeAt(it, 0);\n    if (first === 43 || first === 45) {\n      third = charCodeAt(it, 2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (charCodeAt(it, 1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n        default: return +it;\n      }\n      digits = arraySlice(it, 2);\n      length = digits.length;\n      for (index = 0; index < length; index++) {\n        code = charCodeAt(digits, index);\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\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n  var NumberWrapper = function Number(value) {\n    var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n    var dummy = this;\n    // check on 1..constructor(foo) case\n    return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n      ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n  };\n  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES2015 (in case, if modules with ES2015 Number statics required before):\n    'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n    // ESNext\n    'fromString,range'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n    }\n  }\n  NumberWrapper.prototype = NumberPrototype;\n  NumberPrototype.constructor = NumberWrapper;\n  defineBuiltIn(global, NUMBER, NumberWrapper, { constructor: true });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.number.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.number.is-nan.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.number.is-nan.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\n\n// `Number.isNaN` method\n// https://tc39.es/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare -- NaN check\n    return number != number;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.number.is-nan.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.number.parse-float.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.number.parse-float.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar parseFloat = __webpack_require__(/*! ../internals/number-parse-float */ \"./node_modules/core-js/internals/number-parse-float.js\");\n\n// `Number.parseFloat` method\n// https://tc39.es/ecma262/#sec-number.parseFloat\n// eslint-disable-next-line es-x/no-number-parsefloat -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {\n  parseFloat: parseFloat\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.number.parse-float.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.number.to-fixed.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.number.to-fixed.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ \"./node_modules/core-js/internals/this-number-value.js\");\nvar $repeat = __webpack_require__(/*! ../internals/string-repeat */ \"./node_modules/core-js/internals/string-repeat.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nvar RangeError = global.RangeError;\nvar String = global.String;\nvar floor = Math.floor;\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar un$ToFixed = uncurryThis(1.0.toFixed);\n\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\nvar multiply = function (data, n, c) {\n  var index = -1;\n  var c2 = c;\n  while (++index < 6) {\n    c2 += n * data[index];\n    data[index] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\n\nvar divide = function (data, n) {\n  var index = 6;\n  var c = 0;\n  while (--index >= 0) {\n    c += data[index];\n    data[index] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\n\nvar dataToString = function (data) {\n  var index = 6;\n  var s = '';\n  while (--index >= 0) {\n    if (s !== '' || index === 0 || data[index] !== 0) {\n      var t = String(data[index]);\n      s = s === '' ? t : s + repeat('0', 7 - t.length) + t;\n    }\n  } return s;\n};\n\nvar FORCED = fails(function () {\n  return un$ToFixed(0.00008, 3) !== '0.000' ||\n    un$ToFixed(0.9, 0) !== '1' ||\n    un$ToFixed(1.255, 2) !== '1.25' ||\n    un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';\n}) || !fails(function () {\n  // V8 ~ Android 4.3-\n  un$ToFixed({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n  toFixed: function toFixed(fractionDigits) {\n    var number = thisNumberValue(this);\n    var fractDigits = toIntegerOrInfinity(fractionDigits);\n    var data = [0, 0, 0, 0, 0, 0];\n    var sign = '';\n    var result = '0';\n    var e, z, j, k;\n\n    // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation\n    if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (number != number) return 'NaN';\n    if (number <= -1e21 || number >= 1e21) return String(number);\n    if (number < 0) {\n      sign = '-';\n      number = -number;\n    }\n    if (number > 1e-21) {\n      e = log(number * pow(2, 69, 1)) - 69;\n      z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(data, 0, z);\n        j = fractDigits;\n        while (j >= 7) {\n          multiply(data, 1e7, 0);\n          j -= 7;\n        }\n        multiply(data, pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(data, 1 << 23);\n          j -= 23;\n        }\n        divide(data, 1 << j);\n        multiply(data, 1, 1);\n        divide(data, 2);\n        result = dataToString(data);\n      } else {\n        multiply(data, 0, z);\n        multiply(data, 1 << -e, 0);\n        result = dataToString(data) + repeat('0', fractDigits);\n      }\n    }\n    if (fractDigits > 0) {\n      k = result.length;\n      result = sign + (k <= fractDigits\n        ? '0.' + repeat('0', fractDigits - k) + result\n        : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));\n    } else {\n      result = sign + result;\n    } return result;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.number.to-fixed.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.assign.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.assign.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar assign = __webpack_require__(/*! ../internals/object-assign */ \"./node_modules/core-js/internals/object-assign.js\");\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es-x/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n  assign: assign\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.assign.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.freeze.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.freeze.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar FREEZING = __webpack_require__(/*! ../internals/freezing */ \"./node_modules/core-js/internals/freezing.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ \"./node_modules/core-js/internals/internal-metadata.js\").onFreeze;\n\n// eslint-disable-next-line es-x/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n  freeze: function freeze(it) {\n    return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.freeze.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js ***!
  \*******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar nativeGetOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js":
/*!********************************************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js ***!
  \********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar ownKeys = __webpack_require__(/*! ../internals/own-keys */ \"./node_modules/core-js/internals/own-keys.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIndexedObject(object);\n    var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var index = 0;\n    var key, descriptor;\n    while (keys.length > index) {\n      descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n      if (descriptor !== undefined) createProperty(result, key, descriptor);\n    }\n    return result;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.get-own-property-symbols.js":
/*!****************************************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.get-own-property-symbols.js ***!
  \****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n    return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.get-own-property-symbols.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.get-prototype-of.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.get-prototype-of.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar nativeGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ \"./node_modules/core-js/internals/correct-prototype-getter.js\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n  getPrototypeOf: function getPrototypeOf(it) {\n    return nativeGetPrototypeOf(toObject(it));\n  }\n});\n\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.keys.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.keys.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar nativeKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  keys: function keys(it) {\n    return nativeKeys(toObject(it));\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.keys.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.to-string.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.to-string.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ \"./node_modules/core-js/internals/to-string-tag-support.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar toString = __webpack_require__(/*! ../internals/object-to-string */ \"./node_modules/core-js/internals/object-to-string.js\");\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.to-string.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.values.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.values.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $values = __webpack_require__(/*! ../internals/object-to-array */ \"./node_modules/core-js/internals/object-to-array.js\").values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n  values: function values(O) {\n    return $values(O);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.object.values.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.all.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.all.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ \"./node_modules/core-js/internals/new-promise-capability.js\");\nvar perform = __webpack_require__(/*! ../internals/perform */ \"./node_modules/core-js/internals/perform.js\");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ \"./node_modules/core-js/internals/iterate.js\");\nvar PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(/*! ../internals/promise-statics-incorrect-iteration */ \"./node_modules/core-js/internals/promise-statics-incorrect-iteration.js\");\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.all.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.catch.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.catch.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(/*! ../internals/promise-constructor-detection */ \"./node_modules/core-js/internals/promise-constructor-detection.js\").CONSTRUCTOR;\nvar NativePromiseConstructor = __webpack_require__(/*! ../internals/promise-native-constructor */ \"./node_modules/core-js/internals/promise-native-constructor.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n  'catch': function (onRejected) {\n    return this.then(undefined, onRejected);\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['catch'];\n  if (NativePromisePrototype['catch'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.catch.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.constructor.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.constructor.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ \"./node_modules/core-js/internals/engine-is-node.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar setSpecies = __webpack_require__(/*! ../internals/set-species */ \"./node_modules/core-js/internals/set-species.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ \"./node_modules/core-js/internals/species-constructor.js\");\nvar task = __webpack_require__(/*! ../internals/task */ \"./node_modules/core-js/internals/task.js\").set;\nvar microtask = __webpack_require__(/*! ../internals/microtask */ \"./node_modules/core-js/internals/microtask.js\");\nvar hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ \"./node_modules/core-js/internals/host-report-errors.js\");\nvar perform = __webpack_require__(/*! ../internals/perform */ \"./node_modules/core-js/internals/perform.js\");\nvar Queue = __webpack_require__(/*! ../internals/queue */ \"./node_modules/core-js/internals/queue.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar NativePromiseConstructor = __webpack_require__(/*! ../internals/promise-native-constructor */ \"./node_modules/core-js/internals/promise-native-constructor.js\");\nvar PromiseConstructorDetection = __webpack_require__(/*! ../internals/promise-constructor-detection */ \"./node_modules/core-js/internals/promise-constructor-detection.js\");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ \"./node_modules/core-js/internals/new-promise-capability.js\");\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n  var value = state.value;\n  var ok = state.state == FULFILLED;\n  var handler = ok ? reaction.ok : reaction.fail;\n  var resolve = reaction.resolve;\n  var reject = reaction.reject;\n  var domain = reaction.domain;\n  var result, then, exited;\n  try {\n    if (handler) {\n      if (!ok) {\n        if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n        state.rejection = HANDLED;\n      }\n      if (handler === true) result = value;\n      else {\n        if (domain) domain.enter();\n        result = handler(value); // can throw\n        if (domain) {\n          domain.exit();\n          exited = true;\n        }\n      }\n      if (result === reaction.promise) {\n        reject(TypeError('Promise-chain cycle'));\n      } else if (then = isThenable(result)) {\n        call(then, result, resolve, reject);\n      } else resolve(result);\n    } else reject(value);\n  } catch (error) {\n    if (domain && !exited) domain.exit();\n    reject(error);\n  }\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  microtask(function () {\n    var reactions = state.reactions;\n    var reaction;\n    while (reaction = reactions.get()) {\n      callReaction(reaction, state);\n    }\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    global.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, global, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, global, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalPromiseState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n\n  PromisePrototype = PromiseConstructor.prototype;\n\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: new Queue(),\n      rejection: false,\n      state: PENDING,\n      value: undefined\n    });\n  };\n\n  // `Promise.prototype.then` method\n  // https://tc39.es/ecma262/#sec-promise.prototype.then\n  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n    var state = getInternalPromiseState(this);\n    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n    state.parent = true;\n    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n    reaction.fail = isCallable(onRejected) && onRejected;\n    reaction.domain = IS_NODE ? process.domain : undefined;\n    if (state.state == PENDING) state.reactions.add(reaction);\n    else microtask(function () {\n      callReaction(reaction, state);\n    });\n    return reaction.promise;\n  });\n\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalPromiseState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!NATIVE_PROMISE_SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.finally.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.finally.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar NativePromiseConstructor = __webpack_require__(/*! ../internals/promise-native-constructor */ \"./node_modules/core-js/internals/promise-native-constructor.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ \"./node_modules/core-js/internals/species-constructor.js\");\nvar promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ \"./node_modules/core-js/internals/promise-resolve.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n  // eslint-disable-next-line unicorn/no-thenable -- required for testing\n  NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n  'finally': function (onFinally) {\n    var C = speciesConstructor(this, getBuiltIn('Promise'));\n    var isFunction = isCallable(onFinally);\n    return this.then(\n      isFunction ? function (x) {\n        return promiseResolve(C, onFinally()).then(function () { return x; });\n      } : onFinally,\n      isFunction ? function (e) {\n        return promiseResolve(C, onFinally()).then(function () { throw e; });\n      } : onFinally\n    );\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['finally'];\n  if (NativePromisePrototype['finally'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.finally.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// TODO: Remove this module from `core-js@4` since it's split to modules listed below\n__webpack_require__(/*! ../modules/es.promise.constructor */ \"./node_modules/core-js/modules/es.promise.constructor.js\");\n__webpack_require__(/*! ../modules/es.promise.all */ \"./node_modules/core-js/modules/es.promise.all.js\");\n__webpack_require__(/*! ../modules/es.promise.catch */ \"./node_modules/core-js/modules/es.promise.catch.js\");\n__webpack_require__(/*! ../modules/es.promise.race */ \"./node_modules/core-js/modules/es.promise.race.js\");\n__webpack_require__(/*! ../modules/es.promise.reject */ \"./node_modules/core-js/modules/es.promise.reject.js\");\n__webpack_require__(/*! ../modules/es.promise.resolve */ \"./node_modules/core-js/modules/es.promise.resolve.js\");\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.race.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.race.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ \"./node_modules/core-js/internals/new-promise-capability.js\");\nvar perform = __webpack_require__(/*! ../internals/perform */ \"./node_modules/core-js/internals/perform.js\");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ \"./node_modules/core-js/internals/iterate.js\");\nvar PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(/*! ../internals/promise-statics-incorrect-iteration */ \"./node_modules/core-js/internals/promise-statics-incorrect-iteration.js\");\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.race.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.reject.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.reject.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ \"./node_modules/core-js/internals/new-promise-capability.js\");\nvar FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(/*! ../internals/promise-constructor-detection */ \"./node_modules/core-js/internals/promise-constructor-detection.js\").CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  reject: function reject(r) {\n    var capability = newPromiseCapabilityModule.f(this);\n    call(capability.reject, undefined, r);\n    return capability.promise;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.reject.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.promise.resolve.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.promise.resolve.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar NativePromiseConstructor = __webpack_require__(/*! ../internals/promise-native-constructor */ \"./node_modules/core-js/internals/promise-native-constructor.js\");\nvar FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(/*! ../internals/promise-constructor-detection */ \"./node_modules/core-js/internals/promise-constructor-detection.js\").CONSTRUCTOR;\nvar promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ \"./node_modules/core-js/internals/promise-resolve.js\");\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n  resolve: function resolve(x) {\n    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.promise.resolve.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.regexp.constructor.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.regexp.constructor.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\nvar inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ \"./node_modules/core-js/internals/inherit-if-required.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\").f;\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar isRegExp = __webpack_require__(/*! ../internals/is-regexp */ \"./node_modules/core-js/internals/is-regexp.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar getRegExpFlags = __webpack_require__(/*! ../internals/regexp-get-flags */ \"./node_modules/core-js/internals/regexp-get-flags.js\");\nvar stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ \"./node_modules/core-js/internals/regexp-sticky-helpers.js\");\nvar proxyAccessor = __webpack_require__(/*! ../internals/proxy-accessor */ \"./node_modules/core-js/internals/proxy-accessor.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar enforceInternalState = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\").enforce;\nvar setSpecies = __webpack_require__(/*! ../internals/set-species */ \"./node_modules/core-js/internals/set-species.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar UNSUPPORTED_DOT_ALL = __webpack_require__(/*! ../internals/regexp-unsupported-dot-all */ \"./node_modules/core-js/internals/regexp-unsupported-dot-all.js\");\nvar UNSUPPORTED_NCG = __webpack_require__(/*! ../internals/regexp-unsupported-ncg */ \"./node_modules/core-js/internals/regexp-unsupported-ncg.js\");\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n  (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n    re2[MATCH] = false;\n    // RegExp constructor can alter flags and IsRegExp works correct with @@match\n    return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n  }));\n\nvar handleDotAll = function (string) {\n  var length = string.length;\n  var index = 0;\n  var result = '';\n  var brackets = false;\n  var chr;\n  for (; index <= length; index++) {\n    chr = charAt(string, index);\n    if (chr === '\\\\') {\n      result += chr + charAt(string, ++index);\n      continue;\n    }\n    if (!brackets && chr === '.') {\n      result += '[\\\\s\\\\S]';\n    } else {\n      if (chr === '[') {\n        brackets = true;\n      } else if (chr === ']') {\n        brackets = false;\n      } result += chr;\n    }\n  } return result;\n};\n\nvar handleNCG = function (string) {\n  var length = string.length;\n  var index = 0;\n  var result = '';\n  var named = [];\n  var names = {};\n  var brackets = false;\n  var ncg = false;\n  var groupid = 0;\n  var groupname = '';\n  var chr;\n  for (; index <= length; index++) {\n    chr = charAt(string, index);\n    if (chr === '\\\\') {\n      chr = chr + charAt(string, ++index);\n    } else if (chr === ']') {\n      brackets = false;\n    } else if (!brackets) switch (true) {\n      case chr === '[':\n        brackets = true;\n        break;\n      case chr === '(':\n        if (exec(IS_NCG, stringSlice(string, index + 1))) {\n          index += 2;\n          ncg = true;\n        }\n        result += chr;\n        groupid++;\n        continue;\n      case chr === '>' && ncg:\n        if (groupname === '' || hasOwn(names, groupname)) {\n          throw new SyntaxError('Invalid capture group name');\n        }\n        names[groupname] = true;\n        named[named.length] = [groupname, groupid];\n        ncg = false;\n        groupname = '';\n        continue;\n    }\n    if (ncg) groupname += chr;\n    else result += chr;\n  } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n  var RegExpWrapper = function RegExp(pattern, flags) {\n    var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n    var patternIsRegExp = isRegExp(pattern);\n    var flagsAreUndefined = flags === undefined;\n    var groups = [];\n    var rawPattern = pattern;\n    var rawFlags, dotAll, sticky, handled, result, state;\n\n    if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n      return pattern;\n    }\n\n    if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n      pattern = pattern.source;\n      if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n    }\n\n    pattern = pattern === undefined ? '' : toString(pattern);\n    flags = flags === undefined ? '' : toString(flags);\n    rawPattern = pattern;\n\n    if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n      dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n      if (dotAll) flags = replace(flags, /s/g, '');\n    }\n\n    rawFlags = flags;\n\n    if (MISSED_STICKY && 'sticky' in re1) {\n      sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n      if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n    }\n\n    if (UNSUPPORTED_NCG) {\n      handled = handleNCG(pattern);\n      pattern = handled[0];\n      groups = handled[1];\n    }\n\n    result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n    if (dotAll || sticky || groups.length) {\n      state = enforceInternalState(result);\n      if (dotAll) {\n        state.dotAll = true;\n        state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n      }\n      if (sticky) state.sticky = true;\n      if (groups.length) state.groups = groups;\n    }\n\n    if (pattern !== rawPattern) try {\n      // fails in old engines, but we have no alternatives for unsupported regex syntax\n      createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n    } catch (error) { /* empty */ }\n\n    return result;\n  };\n\n  for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n    proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n  }\n\n  RegExpPrototype.constructor = RegExpWrapper;\n  RegExpWrapper.prototype = RegExpPrototype;\n  defineBuiltIn(global, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.regexp.dot-all.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.regexp.dot-all.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar UNSUPPORTED_DOT_ALL = __webpack_require__(/*! ../internals/regexp-unsupported-dot-all */ \"./node_modules/core-js/internals/regexp-unsupported-dot-all.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar defineBuiltInAccessor = __webpack_require__(/*! ../internals/define-built-in-accessor */ \"./node_modules/core-js/internals/define-built-in-accessor.js\");\nvar getInternalState = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\").get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.dotAll` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall\nif (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {\n  defineBuiltInAccessor(RegExpPrototype, 'dotAll', {\n    configurable: true,\n    get: function dotAll() {\n      if (this === RegExpPrototype) return undefined;\n      // We can't use InternalStateModule.getterFor because\n      // we don't add metadata for regexps created by a literal.\n      if (classof(this) === 'RegExp') {\n        return !!getInternalState(this).dotAll;\n      }\n      throw TypeError('Incompatible receiver, RegExp required');\n    }\n  });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.dot-all.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.regexp.exec.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.regexp.exec.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar exec = __webpack_require__(/*! ../internals/regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n  exec: exec\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.exec.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.regexp.sticky.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.regexp.sticky.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar MISSED_STICKY = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ \"./node_modules/core-js/internals/regexp-sticky-helpers.js\").MISSED_STICKY;\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar defineBuiltInAccessor = __webpack_require__(/*! ../internals/define-built-in-accessor */ \"./node_modules/core-js/internals/define-built-in-accessor.js\");\nvar getInternalState = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\").get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n  defineBuiltInAccessor(RegExpPrototype, 'sticky', {\n    configurable: true,\n    get: function sticky() {\n      if (this === RegExpPrototype) return undefined;\n      // We can't use InternalStateModule.getterFor because\n      // we don't add metadata for regexps created by a literal.\n      if (classof(this) === 'RegExp') {\n        return !!getInternalState(this).sticky;\n      }\n      throw TypeError('Incompatible receiver, RegExp required');\n    }\n  });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.sticky.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.regexp.test.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.regexp.test.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// TODO: Remove from `core-js@4` since it's moved to entry points\n__webpack_require__(/*! ../modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar DELEGATES_TO_EXEC = function () {\n  var execCalled = false;\n  var re = /[ac]/;\n  re.exec = function () {\n    execCalled = true;\n    return /./.exec.apply(this, arguments);\n  };\n  return re.test('abc') === true && execCalled;\n}();\n\nvar Error = global.Error;\nvar un$Test = uncurryThis(/./.test);\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n  test: function (str) {\n    var exec = this.exec;\n    if (!isCallable(exec)) return un$Test(this, str);\n    var result = call(exec, this, str);\n    if (result !== null && !isObject(result)) {\n      throw new Error('RegExp exec method returned something other than an Object or null');\n    }\n    return !!result;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.test.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.regexp.to-string.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.regexp.to-string.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar PROPER_FUNCTION_NAME = __webpack_require__(/*! ../internals/function-name */ \"./node_modules/core-js/internals/function-name.js\").PROPER;\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar $toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar getRegExpFlags = __webpack_require__(/*! ../internals/regexp-get-flags */ \"./node_modules/core-js/internals/regexp-get-flags.js\");\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n  defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n    var R = anObject(this);\n    var pattern = $toString(R.source);\n    var flags = $toString(getRegExpFlags(R));\n    return '/' + pattern + '/' + flags;\n  }, { unsafe: true });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.to-string.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.fixed.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.fixed.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar createHTML = __webpack_require__(/*! ../internals/create-html */ \"./node_modules/core-js/internals/create-html.js\");\nvar forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ \"./node_modules/core-js/internals/string-html-forced.js\");\n\n// `String.prototype.fixed` method\n// https://tc39.es/ecma262/#sec-string.prototype.fixed\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {\n  fixed: function fixed() {\n    return createHTML(this, 'tt', '', '');\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.fixed.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.includes.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.includes.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ \"./node_modules/core-js/internals/not-a-regexp.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ \"./node_modules/core-js/internals/correct-is-regexp-logic.js\");\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~stringIndexOf(\n      toString(requireObjectCoercible(this)),\n      toString(notARegExp(searchString)),\n      arguments.length > 1 ? arguments[1] : undefined\n    );\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.includes.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.iterator.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.iterator.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar charAt = __webpack_require__(/*! ../internals/string-multibyte */ \"./node_modules/core-js/internals/string-multibyte.js\").charAt;\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar defineIterator = __webpack_require__(/*! ../internals/define-iterator */ \"./node_modules/core-js/internals/define-iterator.js\");\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: toString(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return { value: undefined, done: true };\n  point = charAt(string, index);\n  state.index += point.length;\n  return { value: point, done: false };\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.link.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.link.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar createHTML = __webpack_require__(/*! ../internals/create-html */ \"./node_modules/core-js/internals/create-html.js\");\nvar forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ \"./node_modules/core-js/internals/string-html-forced.js\");\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n  link: function link(url) {\n    return createHTML(this, 'a', 'href', url);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.link.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.match.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.match.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ \"./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\nvar advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ \"./node_modules/core-js/internals/advance-string-index.js\");\nvar regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ \"./node_modules/core-js/internals/regexp-exec-abstract.js\");\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.es/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = requireObjectCoercible(this);\n      var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n      return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n    function (string) {\n      var rx = anObject(this);\n      var S = toString(string);\n      var res = maybeCallNative(nativeMatch, rx, S);\n\n      if (res.done) return res.value;\n\n      if (!rx.global) return regExpExec(rx, S);\n\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 = toString(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\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.match.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.replace.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.replace.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ \"./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ \"./node_modules/core-js/internals/advance-string-index.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\nvar getSubstitution = __webpack_require__(/*! ../internals/get-substitution */ \"./node_modules/core-js/internals/get-substitution.js\");\nvar regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ \"./node_modules/core-js/internals/regexp-exec-abstract.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n  return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n  if (/./[REPLACE]) {\n    return /./[REPLACE]('a', '$0') === '';\n  }\n  return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n  return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.es/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = requireObjectCoercible(this);\n      var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n      return replacer\n        ? call(replacer, searchValue, O, replaceValue)\n        : call(nativeReplace, toString(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n    function (string, replaceValue) {\n      var rx = anObject(this);\n      var S = toString(string);\n\n      if (\n        typeof replaceValue == 'string' &&\n        stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n        stringIndexOf(replaceValue, '$<') === -1\n      ) {\n        var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n        if (res.done) return res.value;\n      }\n\n      var functionalReplace = isCallable(replaceValue);\n      if (!functionalReplace) replaceValue = toString(replaceValue);\n\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n\n        push(results, result);\n        if (!global) break;\n\n        var matchStr = toString(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n\n        var matched = toString(result[0]);\n        var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = concat([matched], captures, position, S);\n          if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n          var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + stringSlice(S, nextSourcePosition);\n    }\n  ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.replace.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.search.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.search.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ \"./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar sameValue = __webpack_require__(/*! ../internals/same-value */ \"./node_modules/core-js/internals/same-value.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\nvar regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ \"./node_modules/core-js/internals/regexp-exec-abstract.js\");\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n  return [\n    // `String.prototype.search` method\n    // https://tc39.es/ecma262/#sec-string.prototype.search\n    function search(regexp) {\n      var O = requireObjectCoercible(this);\n      var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n      return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n    },\n    // `RegExp.prototype[@@search]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n    function (string) {\n      var rx = anObject(this);\n      var S = toString(string);\n      var res = maybeCallNative(nativeSearch, rx, S);\n\n      if (res.done) return res.value;\n\n      var previousLastIndex = rx.lastIndex;\n      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n      var result = regExpExec(rx, S);\n      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n      return result === null ? -1 : result.index;\n    }\n  ];\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.search.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.small.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.small.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar createHTML = __webpack_require__(/*! ../internals/create-html */ \"./node_modules/core-js/internals/create-html.js\");\nvar forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ \"./node_modules/core-js/internals/string-html-forced.js\");\n\n// `String.prototype.small` method\n// https://tc39.es/ecma262/#sec-string.prototype.small\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, {\n  small: function small() {\n    return createHTML(this, 'small', '', '');\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.small.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.split.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.split.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ \"./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js\");\nvar isRegExp = __webpack_require__(/*! ../internals/is-regexp */ \"./node_modules/core-js/internals/is-regexp.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ \"./node_modules/core-js/internals/species-constructor.js\");\nvar advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ \"./node_modules/core-js/internals/advance-string-index.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar getMethod = __webpack_require__(/*! ../internals/get-method */ \"./node_modules/core-js/internals/get-method.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ \"./node_modules/core-js/internals/array-slice-simple.js\");\nvar callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ \"./node_modules/core-js/internals/regexp-exec-abstract.js\");\nvar regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\nvar stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ \"./node_modules/core-js/internals/regexp-sticky-helpers.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'.split(/(b)*/)[1] == 'c' ||\n    // eslint-disable-next-line regexp/no-empty-group -- required for testing\n    'test'.split(/(?:)/, -1).length != 4 ||\n    'ab'.split(/(?:ab)*/).length != 2 ||\n    '.'.split(/(.?)(.?)/).length != 4 ||\n    // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n    '.'.split(/()()/).length > 1 ||\n    ''.split(/.?/).length\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = toString(requireObjectCoercible(this));\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (separator === undefined) return [string];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) {\n        return call(nativeSplit, string, separator, lim);\n      }\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = call(regexpExec, separatorCopy, string)) {\n        lastIndex = separatorCopy.lastIndex;\n        if (lastIndex > lastLastIndex) {\n          push(output, stringSlice(string, lastLastIndex, match.index));\n          if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n          lastLength = match[0].length;\n          lastLastIndex = lastIndex;\n          if (output.length >= lim) break;\n        }\n        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string.length) {\n        if (lastLength || !exec(separatorCopy, '')) push(output, '');\n      } else push(output, stringSlice(string, lastLastIndex));\n      return output.length > lim ? arraySlice(output, 0, lim) : output;\n    };\n  // Chakra, V8\n  } else if ('0'.split(undefined, 0).length) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n    };\n  } else internalSplit = nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.es/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n      return splitter\n        ? call(splitter, separator, O, limit)\n        : call(internalSplit, toString(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (string, limit) {\n      var rx = anObject(this);\n      var S = toString(string);\n      var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n      if (res.done) return res.value;\n\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (UNSUPPORTED_Y ? 'g' : 'y');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n        var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          push(A, stringSlice(S, p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            push(A, z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      push(A, stringSlice(S, p));\n      return A;\n    }\n  ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.split.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.string.trim.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/modules/es.string.trim.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;\nvar forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ \"./node_modules/core-js/internals/string-trim-forced.js\");\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.trim.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.constructor.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.constructor.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ \"./node_modules/core-js/internals/to-property-key.js\");\nvar $toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\nvar getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\");\nvar getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ \"./node_modules/core-js/internals/object-get-own-property-names-external.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ \"./node_modules/core-js/internals/object-define-properties.js\");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ \"./node_modules/core-js/internals/well-known-symbol-wrapped.js\");\nvar defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ \"./node_modules/core-js/internals/define-well-known-symbol.js\");\nvar defineSymbolToPrimitive = __webpack_require__(/*! ../internals/symbol-define-to-primitive */ \"./node_modules/core-js/internals/symbol-define-to-primitive.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar $forEach = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n  return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (O, P, Attributes) {\n  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n  nativeDefineProperty(O, P, Attributes);\n  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n  }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n  setInternalState(symbol, {\n    type: SYMBOL,\n    tag: tag,\n    description: description\n  });\n  if (!DESCRIPTORS) symbol.description = description;\n  return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPropertyKey(P);\n  anObject(Attributes);\n  if (hasOwn(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n      O[HIDDEN][key] = true;\n    } else {\n      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n    } return setSymbolDescriptor(O, key, Attributes);\n  } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n  anObject(O);\n  var properties = toIndexedObject(Properties);\n  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n  $forEach(keys, function (key) {\n    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n  });\n  return O;\n};\n\nvar $create = function create(O, Properties) {\n  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n  var P = toPropertyKey(V);\n  var enumerable = call(nativePropertyIsEnumerable, this, P);\n  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n    ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPropertyKey(P);\n  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n    descriptor.enumerable = true;\n  }\n  return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n  var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n  });\n  return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n      push(result, AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n      if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n    };\n    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n    return wrap(tag, description);\n  };\n\n  SymbolPrototype = $Symbol[PROTOTYPE];\n\n  defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n    return getInternalState(this).tag;\n  });\n\n  defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n    return wrap(uid(description), description);\n  });\n\n  propertyIsEnumerableModule.f = $propertyIsEnumerable;\n  definePropertyModule.f = $defineProperty;\n  definePropertiesModule.f = $defineProperties;\n  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n  wrappedWellKnownSymbolModule.f = function (name) {\n    return wrap(wellKnownSymbol(name), name);\n  };\n\n  if (DESCRIPTORS) {\n    // https://github.com/tc39/proposal-Symbol-description\n    nativeDefineProperty(SymbolPrototype, 'description', {\n      configurable: true,\n      get: function description() {\n        return getInternalState(this).description;\n      }\n    });\n    if (!IS_PURE) {\n      defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n    }\n  }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n  Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n  defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n  useSetter: function () { USE_SETTER = true; },\n  useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n  // `Object.create` method\n  // https://tc39.es/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.es/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.es/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.description.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.description.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ \"./node_modules/core-js/internals/copy-constructor-properties.js\");\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n  // Safari 12 bug\n  NativeSymbol().description !== undefined\n)) {\n  var EmptyStringDescriptionStore = {};\n  // wrap Symbol constructor for correct work with undefined description\n  var SymbolWrapper = function Symbol() {\n    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n    var result = isPrototypeOf(SymbolPrototype, this)\n      ? new NativeSymbol(description)\n      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n      : description === undefined ? NativeSymbol() : NativeSymbol(description);\n    if (description === '') EmptyStringDescriptionStore[result] = true;\n    return result;\n  };\n\n  copyConstructorProperties(SymbolWrapper, NativeSymbol);\n  SymbolWrapper.prototype = SymbolPrototype;\n  SymbolPrototype.constructor = SymbolWrapper;\n\n  var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n  var symbolToString = uncurryThis(SymbolPrototype.toString);\n  var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n  var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n  var replace = uncurryThis(''.replace);\n  var stringSlice = uncurryThis(''.slice);\n\n  defineProperty(SymbolPrototype, 'description', {\n    configurable: true,\n    get: function description() {\n      var symbol = symbolValueOf(this);\n      var string = symbolToString(symbol);\n      if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n      var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n      return desc === '' ? undefined : desc;\n    }\n  });\n\n  $({ global: true, constructor: true, forced: true }, {\n    Symbol: SymbolWrapper\n  });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.description.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.for.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.for.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar NATIVE_SYMBOL_REGISTRY = __webpack_require__(/*! ../internals/native-symbol-registry */ \"./node_modules/core-js/internals/native-symbol-registry.js\");\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  'for': function (key) {\n    var string = toString(key);\n    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n    var symbol = getBuiltIn('Symbol')(string);\n    StringToSymbolRegistry[string] = symbol;\n    SymbolToStringRegistry[symbol] = string;\n    return symbol;\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.for.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.iterator.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.iterator.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ \"./node_modules/core-js/internals/define-well-known-symbol.js\");\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// TODO: Remove this module from `core-js@4` since it's split to modules listed below\n__webpack_require__(/*! ../modules/es.symbol.constructor */ \"./node_modules/core-js/modules/es.symbol.constructor.js\");\n__webpack_require__(/*! ../modules/es.symbol.for */ \"./node_modules/core-js/modules/es.symbol.for.js\");\n__webpack_require__(/*! ../modules/es.symbol.key-for */ \"./node_modules/core-js/modules/es.symbol.key-for.js\");\n__webpack_require__(/*! ../modules/es.json.stringify */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! ../modules/es.object.get-own-property-symbols */ \"./node_modules/core-js/modules/es.object.get-own-property-symbols.js\");\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.key-for.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.key-for.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar isSymbol = __webpack_require__(/*! ../internals/is-symbol */ \"./node_modules/core-js/internals/is-symbol.js\");\nvar tryToString = __webpack_require__(/*! ../internals/try-to-string */ \"./node_modules/core-js/internals/try-to-string.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar NATIVE_SYMBOL_REGISTRY = __webpack_require__(/*! ../internals/native-symbol-registry */ \"./node_modules/core-js/internals/native-symbol-registry.js\");\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.key-for.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.symbol.to-string-tag.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.symbol.to-string-tag.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ \"./node_modules/core-js/internals/define-well-known-symbol.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.symbol.to-string-tag.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.at.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.at.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ \"./node_modules/core-js/internals/to-integer-or-infinity.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n  var O = aTypedArray(this);\n  var len = lengthOfArrayLike(O);\n  var relativeIndex = toIntegerOrInfinity(index);\n  var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n  return (k < 0 || k >= len) ? undefined : O[k];\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.at.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.copy-within.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.copy-within.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $ArrayCopyWithin = __webpack_require__(/*! ../internals/array-copy-within */ \"./node_modules/core-js/internals/array-copy-within.js\");\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n  return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.every.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.every.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $every = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.every.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.fill.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.fill.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar $fill = __webpack_require__(/*! ../internals/array-fill */ \"./node_modules/core-js/internals/array-fill.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n  var length = arguments.length;\n  return call(\n    $fill,\n    aTypedArray(this),\n    value,\n    length > 1 ? arguments[1] : undefined,\n    length > 2 ? arguments[2] : undefined\n  );\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.fill.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.filter.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.filter.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $filter = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").filter;\nvar fromSpeciesAndList = __webpack_require__(/*! ../internals/typed-array-from-species-and-list */ \"./node_modules/core-js/internals/typed-array-from-species-and-list.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  return fromSpeciesAndList(this, list);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.filter.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.find-index.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.find-index.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $findIndex = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.find.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.find.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $find = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.find.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.for-each.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.for-each.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $forEach = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.includes.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.includes.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $includes = __webpack_require__(/*! ../internals/array-includes */ \"./node_modules/core-js/internals/array-includes.js\").includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.includes.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.index-of.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.index-of.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $indexOf = __webpack_require__(/*! ../internals/array-includes */ \"./node_modules/core-js/internals/array-includes.js\").indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.int8-array.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.int8-array.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ \"./node_modules/core-js/internals/typed-array-constructor.js\");\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n  return function Int8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.int8-array.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.iterator.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.iterator.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar ArrayIterators = __webpack_require__(/*! ../modules/es.array.iterator */ \"./node_modules/core-js/modules/es.array.iterator.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n  TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n  && TypedArrayPrototype.values\n  && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n  && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n  return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n  return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n  return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.join.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.join.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n  return $join(aTypedArray(this), separator);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.join.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.last-index-of.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.last-index-of.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar $lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ \"./node_modules/core-js/internals/array-last-index-of.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n  var length = arguments.length;\n  return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.map.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.map.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $map = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").map;\nvar typedArraySpeciesConstructor = __webpack_require__(/*! ../internals/typed-array-species-constructor */ \"./node_modules/core-js/internals/typed-array-species-constructor.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n    return new (typedArraySpeciesConstructor(O))(length);\n  });\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.map.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.reduce-right.js":
/*!*********************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.reduce-right.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ \"./node_modules/core-js/internals/array-reduce.js\").right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n  var length = arguments.length;\n  return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.reduce.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.reduce.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $reduce = __webpack_require__(/*! ../internals/array-reduce */ \"./node_modules/core-js/internals/array-reduce.js\").left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n  var length = arguments.length;\n  return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.reverse.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.reverse.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n  var that = this;\n  var length = aTypedArray(that).length;\n  var middle = floor(length / 2);\n  var index = 0;\n  var value;\n  while (index < middle) {\n    value = that[index];\n    that[index++] = that[--length];\n    that[length] = value;\n  } return that;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.set.js":
/*!************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.set.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar toOffset = __webpack_require__(/*! ../internals/to-offset */ \"./node_modules/core-js/internals/to-offset.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n  // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n  var array = new Uint8ClampedArray(2);\n  call($set, array, { length: 1, 0: 3 }, 1);\n  return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n  var array = new Int8Array(2);\n  array.set(1);\n  array.set('2', 1);\n  return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n  aTypedArray(this);\n  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n  var src = toIndexedObject(arrayLike);\n  if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n  var length = this.length;\n  var len = lengthOfArrayLike(src);\n  var index = 0;\n  if (len + offset > length) throw RangeError('Wrong length');\n  while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.set.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.slice.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.slice.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar typedArraySpeciesConstructor = __webpack_require__(/*! ../internals/typed-array-species-constructor */ \"./node_modules/core-js/internals/typed-array-species-constructor.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice */ \"./node_modules/core-js/internals/array-slice.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n  // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n  new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n  var list = arraySlice(aTypedArray(this), start, end);\n  var C = typedArraySpeciesConstructor(this);\n  var index = 0;\n  var length = list.length;\n  var result = new C(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n}, FORCED);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.slice.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.some.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.some.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar $some = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.some.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.sort.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.sort.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar aCallable = __webpack_require__(/*! ../internals/a-callable */ \"./node_modules/core-js/internals/a-callable.js\");\nvar internalSort = __webpack_require__(/*! ../internals/array-sort */ \"./node_modules/core-js/internals/array-sort.js\");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar FF = __webpack_require__(/*! ../internals/engine-ff-version */ \"./node_modules/core-js/internals/engine-ff-version.js\");\nvar IE_OR_EDGE = __webpack_require__(/*! ../internals/engine-is-ie-or-edge */ \"./node_modules/core-js/internals/engine-is-ie-or-edge.js\");\nvar V8 = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\nvar WEBKIT = __webpack_require__(/*! ../internals/engine-webkit-version */ \"./node_modules/core-js/internals/engine-webkit-version.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n  un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n  un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n  // feature detection can be too slow, so check engines versions\n  if (V8) return V8 < 74;\n  if (FF) return FF < 67;\n  if (IE_OR_EDGE) return true;\n  if (WEBKIT) return WEBKIT < 602;\n\n  var array = new Uint16Array(516);\n  var expected = Array(516);\n  var index, mod;\n\n  for (index = 0; index < 516; index++) {\n    mod = index % 4;\n    array[index] = 515 - index;\n    expected[index] = index - 2 * mod + 3;\n  }\n\n  un$Sort(array, function (a, b) {\n    return (a / 4 | 0) - (b / 4 | 0);\n  });\n\n  for (index = 0; index < 516; index++) {\n    if (array[index] !== expected[index]) return true;\n  }\n});\n\nvar getSortCompare = function (comparefn) {\n  return function (x, y) {\n    if (comparefn !== undefined) return +comparefn(x, y) || 0;\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (y !== y) return -1;\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (x !== x) return 1;\n    if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n    return x > y;\n  };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n  if (comparefn !== undefined) aCallable(comparefn);\n  if (STABLE_SORT) return un$Sort(this, comparefn);\n\n  return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.sort.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.subarray.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.subarray.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar typedArraySpeciesConstructor = __webpack_require__(/*! ../internals/typed-array-species-constructor */ \"./node_modules/core-js/internals/typed-array-species-constructor.js\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n  var O = aTypedArray(this);\n  var length = O.length;\n  var beginIndex = toAbsoluteIndex(begin, length);\n  var C = typedArraySpeciesConstructor(O);\n  return new C(\n    O.buffer,\n    O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n    toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n  );\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js":
/*!*************************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.to-locale-string.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar apply = __webpack_require__(/*! ../internals/function-apply */ \"./node_modules/core-js/internals/function-apply.js\");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice */ \"./node_modules/core-js/internals/array-slice.js\");\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n  $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n  return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n  Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n  return apply(\n    $toLocaleString,\n    TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n    arraySlice(arguments)\n  );\n}, FORCED);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.typed-array.to-string.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/modules/es.typed-array.to-string.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar exportTypedArrayMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ \"./node_modules/core-js/internals/array-buffer-view-core.js\").exportTypedArrayMethod;\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n  arrayToString = function toString() {\n    return join(this);\n  };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.weak-map.constructor.js":
/*!*****************************************************************!*\
  !*** ./node_modules/core-js/modules/es.weak-map.constructor.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineBuiltIns = __webpack_require__(/*! ../internals/define-built-ins */ \"./node_modules/core-js/internals/define-built-ins.js\");\nvar InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ \"./node_modules/core-js/internals/internal-metadata.js\");\nvar collection = __webpack_require__(/*! ../internals/collection */ \"./node_modules/core-js/internals/collection.js\");\nvar collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ \"./node_modules/core-js/internals/collection-weak.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar isExtensible = __webpack_require__(/*! ../internals/object-is-extensible */ \"./node_modules/core-js/internals/object-is-extensible.js\");\nvar enforceInternalState = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\").enforce;\nvar NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ \"./node_modules/core-js/internals/native-weak-map.js\");\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n  return function WeakMap() {\n    return init(this, arguments.length ? arguments[0] : undefined);\n  };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n  InternalMetadataModule.enable();\n  var WeakMapPrototype = $WeakMap.prototype;\n  var nativeDelete = uncurryThis(WeakMapPrototype['delete']);\n  var nativeHas = uncurryThis(WeakMapPrototype.has);\n  var nativeGet = uncurryThis(WeakMapPrototype.get);\n  var nativeSet = uncurryThis(WeakMapPrototype.set);\n  defineBuiltIns(WeakMapPrototype, {\n    'delete': function (key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeDelete(this, key) || state.frozen['delete'](key);\n      } return nativeDelete(this, key);\n    },\n    has: function has(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas(this, key) || state.frozen.has(key);\n      } return nativeHas(this, key);\n    },\n    get: function get(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);\n      } return nativeGet(this, key);\n    },\n    set: function set(key, value) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);\n      } else nativeSet(this, key, value);\n      return this;\n    }\n  });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.weak-map.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.weak-map.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/modules/es.weak-map.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// TODO: Remove this module from `core-js@4` since it's replaced to module below\n__webpack_require__(/*! ../modules/es.weak-map.constructor */ \"./node_modules/core-js/modules/es.weak-map.constructor.js\");\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.weak-map.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ \"./node_modules/core-js/internals/dom-iterables.js\");\nvar DOMTokenListPrototype = __webpack_require__(/*! ../internals/dom-token-list-prototype */ \"./node_modules/core-js/internals/dom-token-list-prototype.js\");\nvar forEach = __webpack_require__(/*! ../internals/array-for-each */ \"./node_modules/core-js/internals/array-for-each.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\n\nvar handlePrototype = function (CollectionPrototype) {\n  // some Chrome versions have non-configurable methods on DOMTokenList\n  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n  } catch (error) {\n    CollectionPrototype.forEach = forEach;\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  if (DOMIterables[COLLECTION_NAME]) {\n    handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n  }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/web.dom-collections.iterator.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ \"./node_modules/core-js/internals/dom-iterables.js\");\nvar DOMTokenListPrototype = __webpack_require__(/*! ../internals/dom-token-list-prototype */ \"./node_modules/core-js/internals/dom-token-list-prototype.js\");\nvar ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ \"./node_modules/core-js/modules/es.array.iterator.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n  if (CollectionPrototype) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype[ITERATOR] = ArrayValues;\n    }\n    if (!CollectionPrototype[TO_STRING_TAG]) {\n      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n    }\n    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n      }\n    }\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/web.url-search-params.constructor.js":
/*!***************************************************************************!*\
  !*** ./node_modules/core-js/modules/web.url-search-params.constructor.js ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\n__webpack_require__(/*! ../modules/es.array.iterator */ \"./node_modules/core-js/modules/es.array.iterator.js\");\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar call = __webpack_require__(/*! ../internals/function-call */ \"./node_modules/core-js/internals/function-call.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ \"./node_modules/core-js/internals/native-url.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar defineBuiltIns = __webpack_require__(/*! ../internals/define-built-ins */ \"./node_modules/core-js/internals/define-built-ins.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ \"./node_modules/core-js/internals/create-iterator-constructor.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar $toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar getIterator = __webpack_require__(/*! ../internals/get-iterator */ \"./node_modules/core-js/internals/get-iterator.js\");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ \"./node_modules/core-js/internals/get-iterator-method.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar arraySort = __webpack_require__(/*! ../internals/array-sort */ \"./node_modules/core-js/internals/array-sort.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n  if (!DESCRIPTORS) return global[name];\n  var descriptor = getOwnPropertyDescriptor(global, name);\n  return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n  try {\n    return decodeURIComponent(sequence);\n  } catch (error) {\n    return sequence;\n  }\n};\n\nvar deserialize = function (it) {\n  var result = replace(it, plus, ' ');\n  var bytes = 4;\n  try {\n    return decodeURIComponent(result);\n  } catch (error) {\n    while (bytes) {\n      result = replace(result, percentSequence(bytes--), percentDecode);\n    }\n    return result;\n  }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n  '!': '%21',\n  \"'\": '%27',\n  '(': '%28',\n  ')': '%29',\n  '~': '%7E',\n  '%20': '+'\n};\n\nvar replacer = function (match) {\n  return replacements[match];\n};\n\nvar serialize = function (it) {\n  return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n  setInternalState(this, {\n    type: URL_SEARCH_PARAMS_ITERATOR,\n    iterator: getIterator(getInternalParamsState(params).entries),\n    kind: kind\n  });\n}, 'Iterator', function next() {\n  var state = getInternalIteratorState(this);\n  var kind = state.kind;\n  var step = state.iterator.next();\n  var entry = step.value;\n  if (!step.done) {\n    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n  } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n  this.entries = [];\n  this.url = null;\n\n  if (init !== undefined) {\n    if (isObject(init)) this.parseObject(init);\n    else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n  }\n};\n\nURLSearchParamsState.prototype = {\n  type: URL_SEARCH_PARAMS,\n  bindURL: function (url) {\n    this.url = url;\n    this.update();\n  },\n  parseObject: function (object) {\n    var iteratorMethod = getIteratorMethod(object);\n    var iterator, next, step, entryIterator, entryNext, first, second;\n\n    if (iteratorMethod) {\n      iterator = getIterator(object, iteratorMethod);\n      next = iterator.next;\n      while (!(step = call(next, iterator)).done) {\n        entryIterator = getIterator(anObject(step.value));\n        entryNext = entryIterator.next;\n        if (\n          (first = call(entryNext, entryIterator)).done ||\n          (second = call(entryNext, entryIterator)).done ||\n          !call(entryNext, entryIterator).done\n        ) throw TypeError('Expected sequence with length 2');\n        push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n      }\n    } else for (var key in object) if (hasOwn(object, key)) {\n      push(this.entries, { key: key, value: $toString(object[key]) });\n    }\n  },\n  parseQuery: function (query) {\n    if (query) {\n      var attributes = split(query, '&');\n      var index = 0;\n      var attribute, entry;\n      while (index < attributes.length) {\n        attribute = attributes[index++];\n        if (attribute.length) {\n          entry = split(attribute, '=');\n          push(this.entries, {\n            key: deserialize(shift(entry)),\n            value: deserialize(join(entry, '='))\n          });\n        }\n      }\n    }\n  },\n  serialize: function () {\n    var entries = this.entries;\n    var result = [];\n    var index = 0;\n    var entry;\n    while (index < entries.length) {\n      entry = entries[index++];\n      push(result, serialize(entry.key) + '=' + serialize(entry.value));\n    } return join(result, '&');\n  },\n  update: function () {\n    this.entries.length = 0;\n    this.parseQuery(this.url.query);\n  },\n  updateURL: function () {\n    if (this.url) this.url.update();\n  }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n  anInstance(this, URLSearchParamsPrototype);\n  var init = arguments.length > 0 ? arguments[0] : undefined;\n  setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n  // `URLSearchParams.prototype.append` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n  append: function append(name, value) {\n    validateArgumentsLength(arguments.length, 2);\n    var state = getInternalParamsState(this);\n    push(state.entries, { key: $toString(name), value: $toString(value) });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.delete` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n  'delete': function (name) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var key = $toString(name);\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index].key === key) splice(entries, index, 1);\n      else index++;\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.get` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n  get: function get(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = $toString(name);\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) return entries[index].value;\n    }\n    return null;\n  },\n  // `URLSearchParams.prototype.getAll` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n  getAll: function getAll(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = $toString(name);\n    var result = [];\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) push(result, entries[index].value);\n    }\n    return result;\n  },\n  // `URLSearchParams.prototype.has` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n  has: function has(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = $toString(name);\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index++].key === key) return true;\n    }\n    return false;\n  },\n  // `URLSearchParams.prototype.set` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n  set: function set(name, value) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var found = false;\n    var key = $toString(name);\n    var val = $toString(value);\n    var index = 0;\n    var entry;\n    for (; index < entries.length; index++) {\n      entry = entries[index];\n      if (entry.key === key) {\n        if (found) splice(entries, index--, 1);\n        else {\n          found = true;\n          entry.value = val;\n        }\n      }\n    }\n    if (!found) push(entries, { key: key, value: val });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.sort` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n  sort: function sort() {\n    var state = getInternalParamsState(this);\n    arraySort(state.entries, function (a, b) {\n      return a.key > b.key ? 1 : -1;\n    });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.forEach` method\n  forEach: function forEach(callback /* , thisArg */) {\n    var entries = getInternalParamsState(this).entries;\n    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n    var index = 0;\n    var entry;\n    while (index < entries.length) {\n      entry = entries[index++];\n      boundFunction(entry.value, entry.key, this);\n    }\n  },\n  // `URLSearchParams.prototype.keys` method\n  keys: function keys() {\n    return new URLSearchParamsIterator(this, 'keys');\n  },\n  // `URLSearchParams.prototype.values` method\n  values: function values() {\n    return new URLSearchParamsIterator(this, 'values');\n  },\n  // `URLSearchParams.prototype.entries` method\n  entries: function entries() {\n    return new URLSearchParamsIterator(this, 'entries');\n  }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n  return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n  URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n  var headersHas = uncurryThis(HeadersPrototype.has);\n  var headersSet = uncurryThis(HeadersPrototype.set);\n\n  var wrapRequestOptions = function (init) {\n    if (isObject(init)) {\n      var body = init.body;\n      var headers;\n      if (classof(body) === URL_SEARCH_PARAMS) {\n        headers = init.headers ? new Headers(init.headers) : new Headers();\n        if (!headersHas(headers, 'content-type')) {\n          headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n        }\n        return create(init, {\n          body: createPropertyDescriptor(0, $toString(body)),\n          headers: createPropertyDescriptor(0, headers)\n        });\n      }\n    } return init;\n  };\n\n  if (isCallable(nativeFetch)) {\n    $({ global: true, enumerable: true, noTargetGet: true, forced: true }, {\n      fetch: function fetch(input /* , init */) {\n        return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n      }\n    });\n  }\n\n  if (isCallable(NativeRequest)) {\n    var RequestConstructor = function Request(input /* , init */) {\n      anInstance(this, RequestPrototype);\n      return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n    };\n\n    RequestPrototype.constructor = RequestConstructor;\n    RequestConstructor.prototype = RequestPrototype;\n\n    $({ global: true, constructor: true, noTargetGet: true, forced: true }, {\n      Request: RequestConstructor\n    });\n  }\n}\n\nmodule.exports = {\n  URLSearchParams: URLSearchParamsConstructor,\n  getState: getInternalParamsState\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url-search-params.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/web.url-search-params.js":
/*!***************************************************************!*\
  !*** ./node_modules/core-js/modules/web.url-search-params.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// TODO: Remove this module from `core-js@4` since it's replaced to module below\n__webpack_require__(/*! ../modules/web.url-search-params.constructor */ \"./node_modules/core-js/modules/web.url-search-params.constructor.js\");\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url-search-params.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/web.url.constructor.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/modules/web.url.constructor.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\n__webpack_require__(/*! ../modules/es.string.iterator */ \"./node_modules/core-js/modules/es.string.iterator.js\");\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ \"./node_modules/core-js/internals/native-url.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar defineBuiltInAccessor = __webpack_require__(/*! ../internals/define-built-in-accessor */ \"./node_modules/core-js/internals/define-built-in-accessor.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar assign = __webpack_require__(/*! ../internals/object-assign */ \"./node_modules/core-js/internals/object-assign.js\");\nvar arrayFrom = __webpack_require__(/*! ../internals/array-from */ \"./node_modules/core-js/internals/array-from.js\");\nvar arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ \"./node_modules/core-js/internals/array-slice-simple.js\");\nvar codeAt = __webpack_require__(/*! ../internals/string-multibyte */ \"./node_modules/core-js/internals/string-multibyte.js\").codeAt;\nvar toASCII = __webpack_require__(/*! ../internals/string-punycode-to-ascii */ \"./node_modules/core-js/internals/string-punycode-to-ascii.js\");\nvar $toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\nvar URLSearchParamsModule = __webpack_require__(/*! ../modules/web.url-search-params.constructor */ \"./node_modules/core-js/modules/web.url-search-params.constructor.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n  var parts = split(input, '.');\n  var partsLength, numbers, index, part, radix, number, ipv4;\n  if (parts.length && parts[parts.length - 1] == '') {\n    parts.length--;\n  }\n  partsLength = parts.length;\n  if (partsLength > 4) return input;\n  numbers = [];\n  for (index = 0; index < partsLength; index++) {\n    part = parts[index];\n    if (part == '') return input;\n    radix = 10;\n    if (part.length > 1 && charAt(part, 0) == '0') {\n      radix = exec(HEX_START, part) ? 16 : 8;\n      part = stringSlice(part, radix == 8 ? 1 : 2);\n    }\n    if (part === '') {\n      number = 0;\n    } else {\n      if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n      number = parseInt(part, radix);\n    }\n    push(numbers, number);\n  }\n  for (index = 0; index < partsLength; index++) {\n    number = numbers[index];\n    if (index == partsLength - 1) {\n      if (number >= pow(256, 5 - partsLength)) return null;\n    } else if (number > 255) return null;\n  }\n  ipv4 = pop(numbers);\n  for (index = 0; index < numbers.length; index++) {\n    ipv4 += numbers[index] * pow(256, 3 - index);\n  }\n  return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n  var address = [0, 0, 0, 0, 0, 0, 0, 0];\n  var pieceIndex = 0;\n  var compress = null;\n  var pointer = 0;\n  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n  var chr = function () {\n    return charAt(input, pointer);\n  };\n\n  if (chr() == ':') {\n    if (charAt(input, 1) != ':') return;\n    pointer += 2;\n    pieceIndex++;\n    compress = pieceIndex;\n  }\n  while (chr()) {\n    if (pieceIndex == 8) return;\n    if (chr() == ':') {\n      if (compress !== null) return;\n      pointer++;\n      pieceIndex++;\n      compress = pieceIndex;\n      continue;\n    }\n    value = length = 0;\n    while (length < 4 && exec(HEX, chr())) {\n      value = value * 16 + parseInt(chr(), 16);\n      pointer++;\n      length++;\n    }\n    if (chr() == '.') {\n      if (length == 0) return;\n      pointer -= length;\n      if (pieceIndex > 6) return;\n      numbersSeen = 0;\n      while (chr()) {\n        ipv4Piece = null;\n        if (numbersSeen > 0) {\n          if (chr() == '.' && numbersSeen < 4) pointer++;\n          else return;\n        }\n        if (!exec(DIGIT, chr())) return;\n        while (exec(DIGIT, chr())) {\n          number = parseInt(chr(), 10);\n          if (ipv4Piece === null) ipv4Piece = number;\n          else if (ipv4Piece == 0) return;\n          else ipv4Piece = ipv4Piece * 10 + number;\n          if (ipv4Piece > 255) return;\n          pointer++;\n        }\n        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n        numbersSeen++;\n        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n      }\n      if (numbersSeen != 4) return;\n      break;\n    } else if (chr() == ':') {\n      pointer++;\n      if (!chr()) return;\n    } else if (chr()) return;\n    address[pieceIndex++] = value;\n  }\n  if (compress !== null) {\n    swaps = pieceIndex - compress;\n    pieceIndex = 7;\n    while (pieceIndex != 0 && swaps > 0) {\n      swap = address[pieceIndex];\n      address[pieceIndex--] = address[compress + swaps - 1];\n      address[compress + --swaps] = swap;\n    }\n  } else if (pieceIndex != 8) return;\n  return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n  var maxIndex = null;\n  var maxLength = 1;\n  var currStart = null;\n  var currLength = 0;\n  var index = 0;\n  for (; index < 8; index++) {\n    if (ipv6[index] !== 0) {\n      if (currLength > maxLength) {\n        maxIndex = currStart;\n        maxLength = currLength;\n      }\n      currStart = null;\n      currLength = 0;\n    } else {\n      if (currStart === null) currStart = index;\n      ++currLength;\n    }\n  }\n  if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n  }\n  return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n  var result, index, compress, ignore0;\n  // ipv4\n  if (typeof host == 'number') {\n    result = [];\n    for (index = 0; index < 4; index++) {\n      unshift(result, host % 256);\n      host = floor(host / 256);\n    } return join(result, '.');\n  // ipv6\n  } else if (typeof host == 'object') {\n    result = '';\n    compress = findLongestZeroSequence(host);\n    for (index = 0; index < 8; index++) {\n      if (ignore0 && host[index] === 0) continue;\n      if (ignore0) ignore0 = false;\n      if (compress === index) {\n        result += index ? ':' : '::';\n        ignore0 = true;\n      } else {\n        result += numberToString(host[index], 16);\n        if (index < 7) result += ':';\n      }\n    }\n    return '[' + result + ']';\n  } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n  ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n  '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n  var code = codeAt(chr, 0);\n  return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n  ftp: 21,\n  file: null,\n  http: 80,\n  https: 443,\n  ws: 80,\n  wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n  var second;\n  return string.length == 2 && exec(ALPHA, charAt(string, 0))\n    && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n  var third;\n  return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n    string.length == 2 ||\n    ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n  );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n  return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n  segment = toLowerCase(segment);\n  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n  var urlString = $toString(url);\n  var baseState, failure, searchParams;\n  if (isBase) {\n    failure = this.parse(urlString);\n    if (failure) throw TypeError(failure);\n    this.searchParams = null;\n  } else {\n    if (base !== undefined) baseState = new URLState(base, true);\n    failure = this.parse(urlString, null, baseState);\n    if (failure) throw TypeError(failure);\n    searchParams = getInternalSearchParamsState(new URLSearchParams());\n    searchParams.bindURL(this);\n    this.searchParams = searchParams;\n  }\n};\n\nURLState.prototype = {\n  type: 'URL',\n  // https://url.spec.whatwg.org/#url-parsing\n  // eslint-disable-next-line max-statements -- TODO\n  parse: function (input, stateOverride, base) {\n    var url = this;\n    var state = stateOverride || SCHEME_START;\n    var pointer = 0;\n    var buffer = '';\n    var seenAt = false;\n    var seenBracket = false;\n    var seenPasswordToken = false;\n    var codePoints, chr, bufferCodePoints, failure;\n\n    input = $toString(input);\n\n    if (!stateOverride) {\n      url.scheme = '';\n      url.username = '';\n      url.password = '';\n      url.host = null;\n      url.port = null;\n      url.path = [];\n      url.query = null;\n      url.fragment = null;\n      url.cannotBeABaseURL = false;\n      input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n    }\n\n    input = replace(input, TAB_AND_NEW_LINE, '');\n\n    codePoints = arrayFrom(input);\n\n    while (pointer <= codePoints.length) {\n      chr = codePoints[pointer];\n      switch (state) {\n        case SCHEME_START:\n          if (chr && exec(ALPHA, chr)) {\n            buffer += toLowerCase(chr);\n            state = SCHEME;\n          } else if (!stateOverride) {\n            state = NO_SCHEME;\n            continue;\n          } else return INVALID_SCHEME;\n          break;\n\n        case SCHEME:\n          if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n            buffer += toLowerCase(chr);\n          } else if (chr == ':') {\n            if (stateOverride && (\n              (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n              (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n              (url.scheme == 'file' && !url.host)\n            )) return;\n            url.scheme = buffer;\n            if (stateOverride) {\n              if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n              return;\n            }\n            buffer = '';\n            if (url.scheme == 'file') {\n              state = FILE;\n            } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n              state = SPECIAL_RELATIVE_OR_AUTHORITY;\n            } else if (url.isSpecial()) {\n              state = SPECIAL_AUTHORITY_SLASHES;\n            } else if (codePoints[pointer + 1] == '/') {\n              state = PATH_OR_AUTHORITY;\n              pointer++;\n            } else {\n              url.cannotBeABaseURL = true;\n              push(url.path, '');\n              state = CANNOT_BE_A_BASE_URL_PATH;\n            }\n          } else if (!stateOverride) {\n            buffer = '';\n            state = NO_SCHEME;\n            pointer = 0;\n            continue;\n          } else return INVALID_SCHEME;\n          break;\n\n        case NO_SCHEME:\n          if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n          if (base.cannotBeABaseURL && chr == '#') {\n            url.scheme = base.scheme;\n            url.path = arraySlice(base.path);\n            url.query = base.query;\n            url.fragment = '';\n            url.cannotBeABaseURL = true;\n            state = FRAGMENT;\n            break;\n          }\n          state = base.scheme == 'file' ? FILE : RELATIVE;\n          continue;\n\n        case SPECIAL_RELATIVE_OR_AUTHORITY:\n          if (chr == '/' && codePoints[pointer + 1] == '/') {\n            state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n            pointer++;\n          } else {\n            state = RELATIVE;\n            continue;\n          } break;\n\n        case PATH_OR_AUTHORITY:\n          if (chr == '/') {\n            state = AUTHORITY;\n            break;\n          } else {\n            state = PATH;\n            continue;\n          }\n\n        case RELATIVE:\n          url.scheme = base.scheme;\n          if (chr == EOF) {\n            url.username = base.username;\n            url.password = base.password;\n            url.host = base.host;\n            url.port = base.port;\n            url.path = arraySlice(base.path);\n            url.query = base.query;\n          } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n            state = RELATIVE_SLASH;\n          } else if (chr == '?') {\n            url.username = base.username;\n            url.password = base.password;\n            url.host = base.host;\n            url.port = base.port;\n            url.path = arraySlice(base.path);\n            url.query = '';\n            state = QUERY;\n          } else if (chr == '#') {\n            url.username = base.username;\n            url.password = base.password;\n            url.host = base.host;\n            url.port = base.port;\n            url.path = arraySlice(base.path);\n            url.query = base.query;\n            url.fragment = '';\n            state = FRAGMENT;\n          } else {\n            url.username = base.username;\n            url.password = base.password;\n            url.host = base.host;\n            url.port = base.port;\n            url.path = arraySlice(base.path);\n            url.path.length--;\n            state = PATH;\n            continue;\n          } break;\n\n        case RELATIVE_SLASH:\n          if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n            state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n          } else if (chr == '/') {\n            state = AUTHORITY;\n          } else {\n            url.username = base.username;\n            url.password = base.password;\n            url.host = base.host;\n            url.port = base.port;\n            state = PATH;\n            continue;\n          } break;\n\n        case SPECIAL_AUTHORITY_SLASHES:\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n          if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n          pointer++;\n          break;\n\n        case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n          if (chr != '/' && chr != '\\\\') {\n            state = AUTHORITY;\n            continue;\n          } break;\n\n        case AUTHORITY:\n          if (chr == '@') {\n            if (seenAt) buffer = '%40' + buffer;\n            seenAt = true;\n            bufferCodePoints = arrayFrom(buffer);\n            for (var i = 0; i < bufferCodePoints.length; i++) {\n              var codePoint = bufferCodePoints[i];\n              if (codePoint == ':' && !seenPasswordToken) {\n                seenPasswordToken = true;\n                continue;\n              }\n              var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n              if (seenPasswordToken) url.password += encodedCodePoints;\n              else url.username += encodedCodePoints;\n            }\n            buffer = '';\n          } else if (\n            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n            (chr == '\\\\' && url.isSpecial())\n          ) {\n            if (seenAt && buffer == '') return INVALID_AUTHORITY;\n            pointer -= arrayFrom(buffer).length + 1;\n            buffer = '';\n            state = HOST;\n          } else buffer += chr;\n          break;\n\n        case HOST:\n        case HOSTNAME:\n          if (stateOverride && url.scheme == 'file') {\n            state = FILE_HOST;\n            continue;\n          } else if (chr == ':' && !seenBracket) {\n            if (buffer == '') return INVALID_HOST;\n            failure = url.parseHost(buffer);\n            if (failure) return failure;\n            buffer = '';\n            state = PORT;\n            if (stateOverride == HOSTNAME) return;\n          } else if (\n            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n            (chr == '\\\\' && url.isSpecial())\n          ) {\n            if (url.isSpecial() && buffer == '') return INVALID_HOST;\n            if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n            failure = url.parseHost(buffer);\n            if (failure) return failure;\n            buffer = '';\n            state = PATH_START;\n            if (stateOverride) return;\n            continue;\n          } else {\n            if (chr == '[') seenBracket = true;\n            else if (chr == ']') seenBracket = false;\n            buffer += chr;\n          } break;\n\n        case PORT:\n          if (exec(DIGIT, chr)) {\n            buffer += chr;\n          } else if (\n            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n            (chr == '\\\\' && url.isSpecial()) ||\n            stateOverride\n          ) {\n            if (buffer != '') {\n              var port = parseInt(buffer, 10);\n              if (port > 0xFFFF) return INVALID_PORT;\n              url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n              buffer = '';\n            }\n            if (stateOverride) return;\n            state = PATH_START;\n            continue;\n          } else return INVALID_PORT;\n          break;\n\n        case FILE:\n          url.scheme = 'file';\n          if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n          else if (base && base.scheme == 'file') {\n            if (chr == EOF) {\n              url.host = base.host;\n              url.path = arraySlice(base.path);\n              url.query = base.query;\n            } else if (chr == '?') {\n              url.host = base.host;\n              url.path = arraySlice(base.path);\n              url.query = '';\n              state = QUERY;\n            } else if (chr == '#') {\n              url.host = base.host;\n              url.path = arraySlice(base.path);\n              url.query = base.query;\n              url.fragment = '';\n              state = FRAGMENT;\n            } else {\n              if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n                url.host = base.host;\n                url.path = arraySlice(base.path);\n                url.shortenPath();\n              }\n              state = PATH;\n              continue;\n            }\n          } else {\n            state = PATH;\n            continue;\n          } break;\n\n        case FILE_SLASH:\n          if (chr == '/' || chr == '\\\\') {\n            state = FILE_HOST;\n            break;\n          }\n          if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n            if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n            else url.host = base.host;\n          }\n          state = PATH;\n          continue;\n\n        case FILE_HOST:\n          if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n            if (!stateOverride && isWindowsDriveLetter(buffer)) {\n              state = PATH;\n            } else if (buffer == '') {\n              url.host = '';\n              if (stateOverride) return;\n              state = PATH_START;\n            } else {\n              failure = url.parseHost(buffer);\n              if (failure) return failure;\n              if (url.host == 'localhost') url.host = '';\n              if (stateOverride) return;\n              buffer = '';\n              state = PATH_START;\n            } continue;\n          } else buffer += chr;\n          break;\n\n        case PATH_START:\n          if (url.isSpecial()) {\n            state = PATH;\n            if (chr != '/' && chr != '\\\\') continue;\n          } else if (!stateOverride && chr == '?') {\n            url.query = '';\n            state = QUERY;\n          } else if (!stateOverride && chr == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          } else if (chr != EOF) {\n            state = PATH;\n            if (chr != '/') continue;\n          } break;\n\n        case PATH:\n          if (\n            chr == EOF || chr == '/' ||\n            (chr == '\\\\' && url.isSpecial()) ||\n            (!stateOverride && (chr == '?' || chr == '#'))\n          ) {\n            if (isDoubleDot(buffer)) {\n              url.shortenPath();\n              if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n                push(url.path, '');\n              }\n            } else if (isSingleDot(buffer)) {\n              if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n                push(url.path, '');\n              }\n            } else {\n              if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n                if (url.host) url.host = '';\n                buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n              }\n              push(url.path, buffer);\n            }\n            buffer = '';\n            if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n              while (url.path.length > 1 && url.path[0] === '') {\n                shift(url.path);\n              }\n            }\n            if (chr == '?') {\n              url.query = '';\n              state = QUERY;\n            } else if (chr == '#') {\n              url.fragment = '';\n              state = FRAGMENT;\n            }\n          } else {\n            buffer += percentEncode(chr, pathPercentEncodeSet);\n          } break;\n\n        case CANNOT_BE_A_BASE_URL_PATH:\n          if (chr == '?') {\n            url.query = '';\n            state = QUERY;\n          } else if (chr == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          } else if (chr != EOF) {\n            url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n          } break;\n\n        case QUERY:\n          if (!stateOverride && chr == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          } else if (chr != EOF) {\n            if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n            else if (chr == '#') url.query += '%23';\n            else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n          } break;\n\n        case FRAGMENT:\n          if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n          break;\n      }\n\n      pointer++;\n    }\n  },\n  // https://url.spec.whatwg.org/#host-parsing\n  parseHost: function (input) {\n    var result, codePoints, index;\n    if (charAt(input, 0) == '[') {\n      if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n      result = parseIPv6(stringSlice(input, 1, -1));\n      if (!result) return INVALID_HOST;\n      this.host = result;\n    // opaque host\n    } else if (!this.isSpecial()) {\n      if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n      result = '';\n      codePoints = arrayFrom(input);\n      for (index = 0; index < codePoints.length; index++) {\n        result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n      }\n      this.host = result;\n    } else {\n      input = toASCII(input);\n      if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n      result = parseIPv4(input);\n      if (result === null) return INVALID_HOST;\n      this.host = result;\n    }\n  },\n  // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n  cannotHaveUsernamePasswordPort: function () {\n    return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n  },\n  // https://url.spec.whatwg.org/#include-credentials\n  includesCredentials: function () {\n    return this.username != '' || this.password != '';\n  },\n  // https://url.spec.whatwg.org/#is-special\n  isSpecial: function () {\n    return hasOwn(specialSchemes, this.scheme);\n  },\n  // https://url.spec.whatwg.org/#shorten-a-urls-path\n  shortenPath: function () {\n    var path = this.path;\n    var pathSize = path.length;\n    if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n      path.length--;\n    }\n  },\n  // https://url.spec.whatwg.org/#concept-url-serializer\n  serialize: function () {\n    var url = this;\n    var scheme = url.scheme;\n    var username = url.username;\n    var password = url.password;\n    var host = url.host;\n    var port = url.port;\n    var path = url.path;\n    var query = url.query;\n    var fragment = url.fragment;\n    var output = scheme + ':';\n    if (host !== null) {\n      output += '//';\n      if (url.includesCredentials()) {\n        output += username + (password ? ':' + password : '') + '@';\n      }\n      output += serializeHost(host);\n      if (port !== null) output += ':' + port;\n    } else if (scheme == 'file') output += '//';\n    output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n    if (query !== null) output += '?' + query;\n    if (fragment !== null) output += '#' + fragment;\n    return output;\n  },\n  // https://url.spec.whatwg.org/#dom-url-href\n  setHref: function (href) {\n    var failure = this.parse(href);\n    if (failure) throw TypeError(failure);\n    this.searchParams.update();\n  },\n  // https://url.spec.whatwg.org/#dom-url-origin\n  getOrigin: function () {\n    var scheme = this.scheme;\n    var port = this.port;\n    if (scheme == 'blob') try {\n      return new URLConstructor(scheme.path[0]).origin;\n    } catch (error) {\n      return 'null';\n    }\n    if (scheme == 'file' || !this.isSpecial()) return 'null';\n    return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n  },\n  // https://url.spec.whatwg.org/#dom-url-protocol\n  getProtocol: function () {\n    return this.scheme + ':';\n  },\n  setProtocol: function (protocol) {\n    this.parse($toString(protocol) + ':', SCHEME_START);\n  },\n  // https://url.spec.whatwg.org/#dom-url-username\n  getUsername: function () {\n    return this.username;\n  },\n  setUsername: function (username) {\n    var codePoints = arrayFrom($toString(username));\n    if (this.cannotHaveUsernamePasswordPort()) return;\n    this.username = '';\n    for (var i = 0; i < codePoints.length; i++) {\n      this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n    }\n  },\n  // https://url.spec.whatwg.org/#dom-url-password\n  getPassword: function () {\n    return this.password;\n  },\n  setPassword: function (password) {\n    var codePoints = arrayFrom($toString(password));\n    if (this.cannotHaveUsernamePasswordPort()) return;\n    this.password = '';\n    for (var i = 0; i < codePoints.length; i++) {\n      this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n    }\n  },\n  // https://url.spec.whatwg.org/#dom-url-host\n  getHost: function () {\n    var host = this.host;\n    var port = this.port;\n    return host === null ? ''\n      : port === null ? serializeHost(host)\n      : serializeHost(host) + ':' + port;\n  },\n  setHost: function (host) {\n    if (this.cannotBeABaseURL) return;\n    this.parse(host, HOST);\n  },\n  // https://url.spec.whatwg.org/#dom-url-hostname\n  getHostname: function () {\n    var host = this.host;\n    return host === null ? '' : serializeHost(host);\n  },\n  setHostname: function (hostname) {\n    if (this.cannotBeABaseURL) return;\n    this.parse(hostname, HOSTNAME);\n  },\n  // https://url.spec.whatwg.org/#dom-url-port\n  getPort: function () {\n    var port = this.port;\n    return port === null ? '' : $toString(port);\n  },\n  setPort: function (port) {\n    if (this.cannotHaveUsernamePasswordPort()) return;\n    port = $toString(port);\n    if (port == '') this.port = null;\n    else this.parse(port, PORT);\n  },\n  // https://url.spec.whatwg.org/#dom-url-pathname\n  getPathname: function () {\n    var path = this.path;\n    return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n  },\n  setPathname: function (pathname) {\n    if (this.cannotBeABaseURL) return;\n    this.path = [];\n    this.parse(pathname, PATH_START);\n  },\n  // https://url.spec.whatwg.org/#dom-url-search\n  getSearch: function () {\n    var query = this.query;\n    return query ? '?' + query : '';\n  },\n  setSearch: function (search) {\n    search = $toString(search);\n    if (search == '') {\n      this.query = null;\n    } else {\n      if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n      this.query = '';\n      this.parse(search, QUERY);\n    }\n    this.searchParams.update();\n  },\n  // https://url.spec.whatwg.org/#dom-url-searchparams\n  getSearchParams: function () {\n    return this.searchParams.facade;\n  },\n  // https://url.spec.whatwg.org/#dom-url-hash\n  getHash: function () {\n    var fragment = this.fragment;\n    return fragment ? '#' + fragment : '';\n  },\n  setHash: function (hash) {\n    hash = $toString(hash);\n    if (hash == '') {\n      this.fragment = null;\n      return;\n    }\n    if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n    this.fragment = '';\n    this.parse(hash, FRAGMENT);\n  },\n  update: function () {\n    this.query = this.searchParams.serialize() || null;\n  }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n  var that = anInstance(this, URLPrototype);\n  var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n  var state = setInternalState(that, new URLState(url, false, base));\n  if (!DESCRIPTORS) {\n    that.href = state.serialize();\n    that.origin = state.getOrigin();\n    that.protocol = state.getProtocol();\n    that.username = state.getUsername();\n    that.password = state.getPassword();\n    that.host = state.getHost();\n    that.hostname = state.getHostname();\n    that.port = state.getPort();\n    that.pathname = state.getPathname();\n    that.search = state.getSearch();\n    that.searchParams = state.getSearchParams();\n    that.hash = state.getHash();\n  }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n  return {\n    get: function () {\n      return getInternalURLState(this)[getter]();\n    },\n    set: setter && function (value) {\n      return getInternalURLState(this)[setter](value);\n    },\n    configurable: true,\n    enumerable: true\n  };\n};\n\nif (DESCRIPTORS) {\n  // `URL.prototype.href` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-href\n  defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n  // `URL.prototype.origin` getter\n  // https://url.spec.whatwg.org/#dom-url-origin\n  defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n  // `URL.prototype.protocol` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-protocol\n  defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n  // `URL.prototype.username` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-username\n  defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n  // `URL.prototype.password` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-password\n  defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n  // `URL.prototype.host` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-host\n  defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n  // `URL.prototype.hostname` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-hostname\n  defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n  // `URL.prototype.port` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-port\n  defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n  // `URL.prototype.pathname` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-pathname\n  defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n  // `URL.prototype.search` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-search\n  defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n  // `URL.prototype.searchParams` getter\n  // https://url.spec.whatwg.org/#dom-url-searchparams\n  defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n  // `URL.prototype.hash` accessors pair\n  // https://url.spec.whatwg.org/#dom-url-hash\n  defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n  return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n  return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n  var nativeCreateObjectURL = NativeURL.createObjectURL;\n  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n  // `URL.createObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n  if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n  // `URL.revokeObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n  if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n  URL: URLConstructor\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url.constructor.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/web.url.js":
/*!*************************************************!*\
  !*** ./node_modules/core-js/modules/web.url.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// TODO: Remove this module from `core-js@4` since it's replaced to module below\n__webpack_require__(/*! ../modules/web.url.constructor */ \"./node_modules/core-js/modules/web.url.constructor.js\");\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url.js?");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/element-ui/lib/theme-chalk/index.css":
/*!***********************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2!./node_modules/element-ui/lib/theme-chalk/index.css ***!
  \***********************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! ./fonts/element-icons.woff */ \"./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! ./fonts/element-icons.ttf */ \"./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";@font-face{font-family:element-icons;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"truetype\\\");font-weight:400;font-display:\\\"auto\\\";font-style:normal}[class*=\\\" el-icon-\\\"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:\\\"\\\\e6a0\\\"}.el-icon-ice-cream-square:before{content:\\\"\\\\e6a3\\\"}.el-icon-lollipop:before{content:\\\"\\\\e6a4\\\"}.el-icon-potato-strips:before{content:\\\"\\\\e6a5\\\"}.el-icon-milk-tea:before{content:\\\"\\\\e6a6\\\"}.el-icon-ice-drink:before{content:\\\"\\\\e6a7\\\"}.el-icon-ice-tea:before{content:\\\"\\\\e6a9\\\"}.el-icon-coffee:before{content:\\\"\\\\e6aa\\\"}.el-icon-orange:before{content:\\\"\\\\e6ab\\\"}.el-icon-pear:before{content:\\\"\\\\e6ac\\\"}.el-icon-apple:before{content:\\\"\\\\e6ad\\\"}.el-icon-cherry:before{content:\\\"\\\\e6ae\\\"}.el-icon-watermelon:before{content:\\\"\\\\e6af\\\"}.el-icon-grape:before{content:\\\"\\\\e6b0\\\"}.el-icon-refrigerator:before{content:\\\"\\\\e6b1\\\"}.el-icon-goblet-square-full:before{content:\\\"\\\\e6b2\\\"}.el-icon-goblet-square:before{content:\\\"\\\\e6b3\\\"}.el-icon-goblet-full:before{content:\\\"\\\\e6b4\\\"}.el-icon-goblet:before{content:\\\"\\\\e6b5\\\"}.el-icon-cold-drink:before{content:\\\"\\\\e6b6\\\"}.el-icon-coffee-cup:before{content:\\\"\\\\e6b8\\\"}.el-icon-water-cup:before{content:\\\"\\\\e6b9\\\"}.el-icon-hot-water:before{content:\\\"\\\\e6ba\\\"}.el-icon-ice-cream:before{content:\\\"\\\\e6bb\\\"}.el-icon-dessert:before{content:\\\"\\\\e6bc\\\"}.el-icon-sugar:before{content:\\\"\\\\e6bd\\\"}.el-icon-tableware:before{content:\\\"\\\\e6be\\\"}.el-icon-burger:before{content:\\\"\\\\e6bf\\\"}.el-icon-knife-fork:before{content:\\\"\\\\e6c1\\\"}.el-icon-fork-spoon:before{content:\\\"\\\\e6c2\\\"}.el-icon-chicken:before{content:\\\"\\\\e6c3\\\"}.el-icon-food:before{content:\\\"\\\\e6c4\\\"}.el-icon-dish-1:before{content:\\\"\\\\e6c5\\\"}.el-icon-dish:before{content:\\\"\\\\e6c6\\\"}.el-icon-moon-night:before{content:\\\"\\\\e6ee\\\"}.el-icon-moon:before{content:\\\"\\\\e6f0\\\"}.el-icon-cloudy-and-sunny:before{content:\\\"\\\\e6f1\\\"}.el-icon-partly-cloudy:before{content:\\\"\\\\e6f2\\\"}.el-icon-cloudy:before{content:\\\"\\\\e6f3\\\"}.el-icon-sunny:before{content:\\\"\\\\e6f6\\\"}.el-icon-sunset:before{content:\\\"\\\\e6f7\\\"}.el-icon-sunrise-1:before{content:\\\"\\\\e6f8\\\"}.el-icon-sunrise:before{content:\\\"\\\\e6f9\\\"}.el-icon-heavy-rain:before{content:\\\"\\\\e6fa\\\"}.el-icon-lightning:before{content:\\\"\\\\e6fb\\\"}.el-icon-light-rain:before{content:\\\"\\\\e6fc\\\"}.el-icon-wind-power:before{content:\\\"\\\\e6fd\\\"}.el-icon-baseball:before{content:\\\"\\\\e712\\\"}.el-icon-soccer:before{content:\\\"\\\\e713\\\"}.el-icon-football:before{content:\\\"\\\\e715\\\"}.el-icon-basketball:before{content:\\\"\\\\e716\\\"}.el-icon-ship:before{content:\\\"\\\\e73f\\\"}.el-icon-truck:before{content:\\\"\\\\e740\\\"}.el-icon-bicycle:before{content:\\\"\\\\e741\\\"}.el-icon-mobile-phone:before{content:\\\"\\\\e6d3\\\"}.el-icon-service:before{content:\\\"\\\\e6d4\\\"}.el-icon-key:before{content:\\\"\\\\e6e2\\\"}.el-icon-unlock:before{content:\\\"\\\\e6e4\\\"}.el-icon-lock:before{content:\\\"\\\\e6e5\\\"}.el-icon-watch:before{content:\\\"\\\\e6fe\\\"}.el-icon-watch-1:before{content:\\\"\\\\e6ff\\\"}.el-icon-timer:before{content:\\\"\\\\e702\\\"}.el-icon-alarm-clock:before{content:\\\"\\\\e703\\\"}.el-icon-map-location:before{content:\\\"\\\\e704\\\"}.el-icon-delete-location:before{content:\\\"\\\\e705\\\"}.el-icon-add-location:before{content:\\\"\\\\e706\\\"}.el-icon-location-information:before{content:\\\"\\\\e707\\\"}.el-icon-location-outline:before{content:\\\"\\\\e708\\\"}.el-icon-location:before{content:\\\"\\\\e79e\\\"}.el-icon-place:before{content:\\\"\\\\e709\\\"}.el-icon-discover:before{content:\\\"\\\\e70a\\\"}.el-icon-first-aid-kit:before{content:\\\"\\\\e70b\\\"}.el-icon-trophy-1:before{content:\\\"\\\\e70c\\\"}.el-icon-trophy:before{content:\\\"\\\\e70d\\\"}.el-icon-medal:before{content:\\\"\\\\e70e\\\"}.el-icon-medal-1:before{content:\\\"\\\\e70f\\\"}.el-icon-stopwatch:before{content:\\\"\\\\e710\\\"}.el-icon-mic:before{content:\\\"\\\\e711\\\"}.el-icon-copy-document:before{content:\\\"\\\\e718\\\"}.el-icon-full-screen:before{content:\\\"\\\\e719\\\"}.el-icon-switch-button:before{content:\\\"\\\\e71b\\\"}.el-icon-aim:before{content:\\\"\\\\e71c\\\"}.el-icon-crop:before{content:\\\"\\\\e71d\\\"}.el-icon-odometer:before{content:\\\"\\\\e71e\\\"}.el-icon-time:before{content:\\\"\\\\e71f\\\"}.el-icon-bangzhu:before{content:\\\"\\\\e724\\\"}.el-icon-close-notification:before{content:\\\"\\\\e726\\\"}.el-icon-microphone:before{content:\\\"\\\\e727\\\"}.el-icon-turn-off-microphone:before{content:\\\"\\\\e728\\\"}.el-icon-position:before{content:\\\"\\\\e729\\\"}.el-icon-postcard:before{content:\\\"\\\\e72a\\\"}.el-icon-message:before{content:\\\"\\\\e72b\\\"}.el-icon-chat-line-square:before{content:\\\"\\\\e72d\\\"}.el-icon-chat-dot-square:before{content:\\\"\\\\e72e\\\"}.el-icon-chat-dot-round:before{content:\\\"\\\\e72f\\\"}.el-icon-chat-square:before{content:\\\"\\\\e730\\\"}.el-icon-chat-line-round:before{content:\\\"\\\\e731\\\"}.el-icon-chat-round:before{content:\\\"\\\\e732\\\"}.el-icon-set-up:before{content:\\\"\\\\e733\\\"}.el-icon-turn-off:before{content:\\\"\\\\e734\\\"}.el-icon-open:before{content:\\\"\\\\e735\\\"}.el-icon-connection:before{content:\\\"\\\\e736\\\"}.el-icon-link:before{content:\\\"\\\\e737\\\"}.el-icon-cpu:before{content:\\\"\\\\e738\\\"}.el-icon-thumb:before{content:\\\"\\\\e739\\\"}.el-icon-female:before{content:\\\"\\\\e73a\\\"}.el-icon-male:before{content:\\\"\\\\e73b\\\"}.el-icon-guide:before{content:\\\"\\\\e73c\\\"}.el-icon-news:before{content:\\\"\\\\e73e\\\"}.el-icon-price-tag:before{content:\\\"\\\\e744\\\"}.el-icon-discount:before{content:\\\"\\\\e745\\\"}.el-icon-wallet:before{content:\\\"\\\\e747\\\"}.el-icon-coin:before{content:\\\"\\\\e748\\\"}.el-icon-money:before{content:\\\"\\\\e749\\\"}.el-icon-bank-card:before{content:\\\"\\\\e74a\\\"}.el-icon-box:before{content:\\\"\\\\e74b\\\"}.el-icon-present:before{content:\\\"\\\\e74c\\\"}.el-icon-sell:before{content:\\\"\\\\e6d5\\\"}.el-icon-sold-out:before{content:\\\"\\\\e6d6\\\"}.el-icon-shopping-bag-2:before{content:\\\"\\\\e74d\\\"}.el-icon-shopping-bag-1:before{content:\\\"\\\\e74e\\\"}.el-icon-shopping-cart-2:before{content:\\\"\\\\e74f\\\"}.el-icon-shopping-cart-1:before{content:\\\"\\\\e750\\\"}.el-icon-shopping-cart-full:before{content:\\\"\\\\e751\\\"}.el-icon-smoking:before{content:\\\"\\\\e752\\\"}.el-icon-no-smoking:before{content:\\\"\\\\e753\\\"}.el-icon-house:before{content:\\\"\\\\e754\\\"}.el-icon-table-lamp:before{content:\\\"\\\\e755\\\"}.el-icon-school:before{content:\\\"\\\\e756\\\"}.el-icon-office-building:before{content:\\\"\\\\e757\\\"}.el-icon-toilet-paper:before{content:\\\"\\\\e758\\\"}.el-icon-notebook-2:before{content:\\\"\\\\e759\\\"}.el-icon-notebook-1:before{content:\\\"\\\\e75a\\\"}.el-icon-files:before{content:\\\"\\\\e75b\\\"}.el-icon-collection:before{content:\\\"\\\\e75c\\\"}.el-icon-receiving:before{content:\\\"\\\\e75d\\\"}.el-icon-suitcase-1:before{content:\\\"\\\\e760\\\"}.el-icon-suitcase:before{content:\\\"\\\\e761\\\"}.el-icon-film:before{content:\\\"\\\\e763\\\"}.el-icon-collection-tag:before{content:\\\"\\\\e765\\\"}.el-icon-data-analysis:before{content:\\\"\\\\e766\\\"}.el-icon-pie-chart:before{content:\\\"\\\\e767\\\"}.el-icon-data-board:before{content:\\\"\\\\e768\\\"}.el-icon-data-line:before{content:\\\"\\\\e76d\\\"}.el-icon-reading:before{content:\\\"\\\\e769\\\"}.el-icon-magic-stick:before{content:\\\"\\\\e76a\\\"}.el-icon-coordinate:before{content:\\\"\\\\e76b\\\"}.el-icon-mouse:before{content:\\\"\\\\e76c\\\"}.el-icon-brush:before{content:\\\"\\\\e76e\\\"}.el-icon-headset:before{content:\\\"\\\\e76f\\\"}.el-icon-umbrella:before{content:\\\"\\\\e770\\\"}.el-icon-scissors:before{content:\\\"\\\\e771\\\"}.el-icon-mobile:before{content:\\\"\\\\e773\\\"}.el-icon-attract:before{content:\\\"\\\\e774\\\"}.el-icon-monitor:before{content:\\\"\\\\e775\\\"}.el-icon-search:before{content:\\\"\\\\e778\\\"}.el-icon-takeaway-box:before{content:\\\"\\\\e77a\\\"}.el-icon-paperclip:before{content:\\\"\\\\e77d\\\"}.el-icon-printer:before{content:\\\"\\\\e77e\\\"}.el-icon-document-add:before{content:\\\"\\\\e782\\\"}.el-icon-document:before{content:\\\"\\\\e785\\\"}.el-icon-document-checked:before{content:\\\"\\\\e786\\\"}.el-icon-document-copy:before{content:\\\"\\\\e787\\\"}.el-icon-document-delete:before{content:\\\"\\\\e788\\\"}.el-icon-document-remove:before{content:\\\"\\\\e789\\\"}.el-icon-tickets:before{content:\\\"\\\\e78b\\\"}.el-icon-folder-checked:before{content:\\\"\\\\e77f\\\"}.el-icon-folder-delete:before{content:\\\"\\\\e780\\\"}.el-icon-folder-remove:before{content:\\\"\\\\e781\\\"}.el-icon-folder-add:before{content:\\\"\\\\e783\\\"}.el-icon-folder-opened:before{content:\\\"\\\\e784\\\"}.el-icon-folder:before{content:\\\"\\\\e78a\\\"}.el-icon-edit-outline:before{content:\\\"\\\\e764\\\"}.el-icon-edit:before{content:\\\"\\\\e78c\\\"}.el-icon-date:before{content:\\\"\\\\e78e\\\"}.el-icon-c-scale-to-original:before{content:\\\"\\\\e7c6\\\"}.el-icon-view:before{content:\\\"\\\\e6ce\\\"}.el-icon-loading:before{content:\\\"\\\\e6cf\\\"}.el-icon-rank:before{content:\\\"\\\\e6d1\\\"}.el-icon-sort-down:before{content:\\\"\\\\e7c4\\\"}.el-icon-sort-up:before{content:\\\"\\\\e7c5\\\"}.el-icon-sort:before{content:\\\"\\\\e6d2\\\"}.el-icon-finished:before{content:\\\"\\\\e6cd\\\"}.el-icon-refresh-left:before{content:\\\"\\\\e6c7\\\"}.el-icon-refresh-right:before{content:\\\"\\\\e6c8\\\"}.el-icon-refresh:before{content:\\\"\\\\e6d0\\\"}.el-icon-video-play:before{content:\\\"\\\\e7c0\\\"}.el-icon-video-pause:before{content:\\\"\\\\e7c1\\\"}.el-icon-d-arrow-right:before{content:\\\"\\\\e6dc\\\"}.el-icon-d-arrow-left:before{content:\\\"\\\\e6dd\\\"}.el-icon-arrow-up:before{content:\\\"\\\\e6e1\\\"}.el-icon-arrow-down:before{content:\\\"\\\\e6df\\\"}.el-icon-arrow-right:before{content:\\\"\\\\e6e0\\\"}.el-icon-arrow-left:before{content:\\\"\\\\e6de\\\"}.el-icon-top-right:before{content:\\\"\\\\e6e7\\\"}.el-icon-top-left:before{content:\\\"\\\\e6e8\\\"}.el-icon-top:before{content:\\\"\\\\e6e6\\\"}.el-icon-bottom:before{content:\\\"\\\\e6eb\\\"}.el-icon-right:before{content:\\\"\\\\e6e9\\\"}.el-icon-back:before{content:\\\"\\\\e6ea\\\"}.el-icon-bottom-right:before{content:\\\"\\\\e6ec\\\"}.el-icon-bottom-left:before{content:\\\"\\\\e6ed\\\"}.el-icon-caret-top:before{content:\\\"\\\\e78f\\\"}.el-icon-caret-bottom:before{content:\\\"\\\\e790\\\"}.el-icon-caret-right:before{content:\\\"\\\\e791\\\"}.el-icon-caret-left:before{content:\\\"\\\\e792\\\"}.el-icon-d-caret:before{content:\\\"\\\\e79a\\\"}.el-icon-share:before{content:\\\"\\\\e793\\\"}.el-icon-menu:before{content:\\\"\\\\e798\\\"}.el-icon-s-grid:before{content:\\\"\\\\e7a6\\\"}.el-icon-s-check:before{content:\\\"\\\\e7a7\\\"}.el-icon-s-data:before{content:\\\"\\\\e7a8\\\"}.el-icon-s-opportunity:before{content:\\\"\\\\e7aa\\\"}.el-icon-s-custom:before{content:\\\"\\\\e7ab\\\"}.el-icon-s-claim:before{content:\\\"\\\\e7ad\\\"}.el-icon-s-finance:before{content:\\\"\\\\e7ae\\\"}.el-icon-s-comment:before{content:\\\"\\\\e7af\\\"}.el-icon-s-flag:before{content:\\\"\\\\e7b0\\\"}.el-icon-s-marketing:before{content:\\\"\\\\e7b1\\\"}.el-icon-s-shop:before{content:\\\"\\\\e7b4\\\"}.el-icon-s-open:before{content:\\\"\\\\e7b5\\\"}.el-icon-s-management:before{content:\\\"\\\\e7b6\\\"}.el-icon-s-ticket:before{content:\\\"\\\\e7b7\\\"}.el-icon-s-release:before{content:\\\"\\\\e7b8\\\"}.el-icon-s-home:before{content:\\\"\\\\e7b9\\\"}.el-icon-s-promotion:before{content:\\\"\\\\e7ba\\\"}.el-icon-s-operation:before{content:\\\"\\\\e7bb\\\"}.el-icon-s-unfold:before{content:\\\"\\\\e7bc\\\"}.el-icon-s-fold:before{content:\\\"\\\\e7a9\\\"}.el-icon-s-platform:before{content:\\\"\\\\e7bd\\\"}.el-icon-s-order:before{content:\\\"\\\\e7be\\\"}.el-icon-s-cooperation:before{content:\\\"\\\\e7bf\\\"}.el-icon-bell:before{content:\\\"\\\\e725\\\"}.el-icon-message-solid:before{content:\\\"\\\\e799\\\"}.el-icon-video-camera:before{content:\\\"\\\\e772\\\"}.el-icon-video-camera-solid:before{content:\\\"\\\\e796\\\"}.el-icon-camera:before{content:\\\"\\\\e779\\\"}.el-icon-camera-solid:before{content:\\\"\\\\e79b\\\"}.el-icon-download:before{content:\\\"\\\\e77c\\\"}.el-icon-upload2:before{content:\\\"\\\\e77b\\\"}.el-icon-upload:before{content:\\\"\\\\e7c3\\\"}.el-icon-picture-outline-round:before{content:\\\"\\\\e75f\\\"}.el-icon-picture-outline:before{content:\\\"\\\\e75e\\\"}.el-icon-picture:before{content:\\\"\\\\e79f\\\"}.el-icon-close:before{content:\\\"\\\\e6db\\\"}.el-icon-check:before{content:\\\"\\\\e6da\\\"}.el-icon-plus:before{content:\\\"\\\\e6d9\\\"}.el-icon-minus:before{content:\\\"\\\\e6d8\\\"}.el-icon-help:before{content:\\\"\\\\e73d\\\"}.el-icon-s-help:before{content:\\\"\\\\e7b3\\\"}.el-icon-circle-close:before{content:\\\"\\\\e78d\\\"}.el-icon-circle-check:before{content:\\\"\\\\e720\\\"}.el-icon-circle-plus-outline:before{content:\\\"\\\\e723\\\"}.el-icon-remove-outline:before{content:\\\"\\\\e722\\\"}.el-icon-zoom-out:before{content:\\\"\\\\e776\\\"}.el-icon-zoom-in:before{content:\\\"\\\\e777\\\"}.el-icon-error:before{content:\\\"\\\\e79d\\\"}.el-icon-success:before{content:\\\"\\\\e79c\\\"}.el-icon-circle-plus:before{content:\\\"\\\\e7a0\\\"}.el-icon-remove:before{content:\\\"\\\\e7a2\\\"}.el-icon-info:before{content:\\\"\\\\e7a1\\\"}.el-icon-question:before{content:\\\"\\\\e7a4\\\"}.el-icon-warning-outline:before{content:\\\"\\\\e6c9\\\"}.el-icon-warning:before{content:\\\"\\\\e7a3\\\"}.el-icon-goods:before{content:\\\"\\\\e7c2\\\"}.el-icon-s-goods:before{content:\\\"\\\\e7b2\\\"}.el-icon-star-off:before{content:\\\"\\\\e717\\\"}.el-icon-star-on:before{content:\\\"\\\\e797\\\"}.el-icon-more-outline:before{content:\\\"\\\\e6cc\\\"}.el-icon-more:before{content:\\\"\\\\e794\\\"}.el-icon-phone-outline:before{content:\\\"\\\\e6cb\\\"}.el-icon-phone:before{content:\\\"\\\\e795\\\"}.el-icon-user:before{content:\\\"\\\\e6e3\\\"}.el-icon-user-solid:before{content:\\\"\\\\e7a5\\\"}.el-icon-setting:before{content:\\\"\\\\e6ca\\\"}.el-icon-s-tools:before{content:\\\"\\\\e7ac\\\"}.el-icon-delete:before{content:\\\"\\\\e6d7\\\"}.el-icon-delete-solid:before{content:\\\"\\\\e7c9\\\"}.el-icon-eleme:before{content:\\\"\\\\e7c7\\\"}.el-icon-platform-eleme:before{content:\\\"\\\\e7ca\\\"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:\\\"\\\"}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pager li,.el-pagination__editor{-webkit-box-sizing:border-box;text-align:center}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-autocomplete-suggestion,.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:\\\"\\\";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu::after,.el-menu::before{display:table;content:\\\"\\\"}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{height:56px;line-height:56px;font-size:14px;color:#303133;padding:0 20px;list-style:none;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{height:56px;line-height:56px;font-size:14px;color:#303133;padding:0 20px;list-style:none;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{line-height:1;vertical-align:middle;display:inline-block}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{white-space:nowrap;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-switch,.el-switch__core{position:relative;vertical-align:middle}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-picker-panel,.el-popover,.el-select-dropdown,.el-table-filter,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;line-height:20px;height:20px}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;display:inline-block;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.el-switch__core:after{content:\\\"\\\";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:\\\"\\\\e6da\\\";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-range-editor.is-active,.el-range-editor.is-active:hover,.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:\\\"\\\";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-date-table td,.el-date-table td div,.el-table-filter{-webkit-box-sizing:border-box}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-moz-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-moz-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:\\\"\\\";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:\\\"\\\";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-form-item__label,.el-tabs__item,.el-tabs__nav-wrap.is-scrollable,.el-time-panel__footer,.el-time-range-picker__cell{-webkit-box-sizing:border-box}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover,.el-cascader__dropdown,.el-color-picker__panel,.el-message-box,.el-notification{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:\\\"\\\";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:\\\"\\\"}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:\\\"\\\"}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:\\\"\\\"}.el-form-item__content::after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1), -webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:\\\"\\\";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-col-offset-0,.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-cascader-menu:last-child .el-cascader-node,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-button-group>.el-button:not(:last-child),.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content:hover,.el-upload-list__item:hover{background-color:#F5F7FA}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert,.el-notification,.el-slider__button,.el-slider__stop{background-color:#FFF}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active,.el-upload iframe{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:\\\" \\\";border-width:5px}.el-button-group::after,.el-button-group::before,.el-color-dropdown__main-wrapper::after,.el-link.is-underline:hover:after,.el-page-header__left::after,.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-transfer-panel .el-transfer-panel__footer::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:\\\"\\\"}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{display:inline-block;vertical-align:middle}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;position:absolute;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-image-viewer__btn,.el-radio,.el-slider__button,.el-step__icon-inner{-moz-user-select:none;-ms-user-select:none}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{position:absolute;height:6px;width:6px;border-radius:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row,.el-upload-dragger,.el-upload-list__item{position:relative}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{width:0%}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-badge__content,.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__header,.el-message,.el-step__icon{-webkit-box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{height:100%}.el-progress-bar__innerText{color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body,.el-main{padding:20px}.el-rate{height:20px;line-height:1}.el-carousel__item,.el-carousel__mask{height:100%;position:absolute;width:100%}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{top:0;left:0;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out, -webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out, -webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{top:0;left:0;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__header.focusing:focus:not(:hover),.el-tag{color:#409EFF}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__search-input,.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-cascader,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:\\\" \\\";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-moz-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top, right top,color-stop(0, red),color-stop(17%, #ff0),color-stop(33%, #0f0),color-stop(50%, #0ff),color-stop(67%, #00f),color-stop(83%, #f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top, left bottom,color-stop(0, red),color-stop(17%, #ff0),color-stop(33%, #0f0),color-stop(50%, #0ff),color-stop(67%, #00f),color-stop(83%, #f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top, right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom, left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(255,255,255,0)),to(#fff));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top, left bottom,color-stop(0, rgba(255,255,255,0)),to(#fff));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color,.el-input__inner,.el-textarea__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-input__inner,.el-textarea__inner{background-image:none;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;position:absolute;width:100%;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center;font-size:12px}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-moz-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-moz-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;-webkit-transition:all .3s;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-timeline-item__node--primary,.el-transfer__button{background-color:#409EFF}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;font-size:0}.el-button-group>.el-button+.el-button,.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-timeline,.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-container,.el-header{-webkit-box-sizing:border-box}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-container.is-vertical{-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox;-webkit-box-pack:center}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:14px;font-weight:500}.el-link.is-underline:hover:after{position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;top:50%}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button,.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-backtop,.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC}.el-page-header{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:\\\"\\\";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-avatar,.el-cascader-panel,.el-radio,.el-radio--medium.is-bordered .el-radio__label,.el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:\\\"\\\";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in, -webkit-transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px}.el-drawer,.el-drawer__body>*{-webkit-box-sizing:border-box}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-popconfirm__main,.el-skeleton__image{display:-ms-flexbox;-webkit-box-align:center;display:-webkit-box}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top, right top,color-stop(25%, #f2f2f2),color-stop(37%, #e6e6e6),color-stop(63%, #f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/theme-chalk/index.css?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/mavon-editor/dist/css/index.css":
/*!******************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2!./node_modules/mavon-editor/dist/css/index.css ***!
  \******************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! ../font/fontello.eot */ \"./node_modules/mavon-editor/dist/font/fontello.eot\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! ../font/fontello.woff2 */ \"./node_modules/mavon-editor/dist/font/fontello.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(/*! ../font/fontello.woff */ \"./node_modules/mavon-editor/dist/font/fontello.woff\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(/*! ../font/fontello.ttf */ \"./node_modules/mavon-editor/dist/font/fontello.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(/*! ../font/fontello.svg */ \"./node_modules/mavon-editor/dist/font/fontello.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#fontello\" });\n// Module\nexports.push([module.i, \"@font-face{font-family:fontello;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\");font-weight:400;font-style:normal}[class*=\\\" fa-mavon-\\\"]:before,[class^=fa-mavon-]:before{font-family:fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-mavon-bold:before{content:\\\"\\\\E800\\\"}.fa-mavon-italic:before{content:\\\"\\\\E801\\\"}.fa-mavon-thumb-tack:before{content:\\\"\\\\E802\\\"}.fa-mavon-link:before{content:\\\"\\\\E803\\\"}.fa-mavon-picture-o:before{content:\\\"\\\\E804\\\"}.fa-mavon-repeat:before{content:\\\"\\\\E805\\\"}.fa-mavon-undo:before{content:\\\"\\\\E806\\\"}.fa-mavon-trash-o:before{content:\\\"\\\\E807\\\"}.fa-mavon-floppy-o:before{content:\\\"\\\\E808\\\"}.fa-mavon-compress:before{content:\\\"\\\\E809\\\"}.fa-mavon-eye:before{content:\\\"\\\\E80A\\\"}.fa-mavon-eye-slash:before{content:\\\"\\\\E80B\\\"}.fa-mavon-question-circle:before{content:\\\"\\\\E80C\\\"}.fa-mavon-times:before{content:\\\"\\\\E80D\\\"}.fa-mavon-align-left:before{content:\\\"\\\\E80F\\\"}.fa-mavon-align-center:before{content:\\\"\\\\E810\\\"}.fa-mavon-align-right:before{content:\\\"\\\\E811\\\"}.fa-mavon-arrows-alt:before{content:\\\"\\\\F0B2\\\"}.fa-mavon-bars:before{content:\\\"\\\\F0C9\\\"}.fa-mavon-list-ul:before{content:\\\"\\\\F0CA\\\"}.fa-mavon-list-ol:before{content:\\\"\\\\F0CB\\\"}.fa-mavon-strikethrough:before{content:\\\"\\\\F0CC\\\"}.fa-mavon-underline:before{content:\\\"\\\\F0CD\\\"}.fa-mavon-table:before{content:\\\"\\\\F0CE\\\"}.fa-mavon-columns:before{content:\\\"\\\\F0DB\\\"}.fa-mavon-quote-left:before{content:\\\"\\\\F10D\\\"}.fa-mavon-code:before{content:\\\"\\\\F121\\\"}.fa-mavon-superscript:before{content:\\\"\\\\F12B\\\"}.fa-mavon-subscript:before{content:\\\"\\\\F12C\\\"}.fa-mavon-header:before{content:\\\"\\\\F1DC\\\"}.fa-mavon-window-maximize:before{content:\\\"\\\\F2D0\\\"}.markdown-body strong{font-weight:bolder}.markdown-body .hljs-center{text-align:center}.markdown-body .hljs-right{text-align:right}.markdown-body .hljs-left{text-align:left}.markdown-body .hljs{overflow:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/css/index.css?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/nprogress/nprogress.css":
/*!**********************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2!./node_modules/nprogress/nprogress.css ***!
  \**********************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"/* Make clicks pass-through */\\n#nprogress {\\n  pointer-events: none;\\n}\\n\\n#nprogress .bar {\\n  background: #29d;\\n\\n  position: fixed;\\n  z-index: 1031;\\n  top: 0;\\n  left: 0;\\n\\n  width: 100%;\\n  height: 2px;\\n}\\n\\n/* Fancy blur effect */\\n#nprogress .peg {\\n  display: block;\\n  position: absolute;\\n  right: 0px;\\n  width: 100px;\\n  height: 100%;\\n  -webkit-box-shadow: 0 0 10px #29d, 0 0 5px #29d;\\n          box-shadow: 0 0 10px #29d, 0 0 5px #29d;\\n  opacity: 1.0;\\n\\n  -webkit-transform: rotate(3deg) translate(0px, -4px);\\n          transform: rotate(3deg) translate(0px, -4px);\\n}\\n\\n/* Remove these to get rid of the spinner */\\n#nprogress .spinner {\\n  display: block;\\n  position: fixed;\\n  z-index: 1031;\\n  top: 15px;\\n  right: 15px;\\n}\\n\\n#nprogress .spinner-icon {\\n  width: 18px;\\n  height: 18px;\\n  -webkit-box-sizing: border-box;\\n          box-sizing: border-box;\\n\\n  border: solid 2px transparent;\\n  border-top-color: #29d;\\n  border-left-color: #29d;\\n  border-radius: 50%;\\n\\n  -webkit-animation: nprogress-spinner 400ms linear infinite;\\n          animation: nprogress-spinner 400ms linear infinite;\\n}\\n\\n.nprogress-custom-parent {\\n  overflow: hidden;\\n  position: relative;\\n}\\n\\n.nprogress-custom-parent #nprogress .spinner,\\n.nprogress-custom-parent #nprogress .bar {\\n  position: absolute;\\n}\\n\\n@-webkit-keyframes nprogress-spinner {\\n  0%   { -webkit-transform: rotate(0deg); }\\n  100% { -webkit-transform: rotate(360deg); }\\n}\\n@keyframes nprogress-spinner {\\n  0%   { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\\n  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/nprogress/nprogress.css?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/remixicon/fonts/remixicon.css":
/*!****************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2!./node_modules/remixicon/fonts/remixicon.css ***!
  \****************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! ./remixicon.eot?t=1590207869815 */ \"./node_modules/remixicon/fonts/remixicon.eot?t=1590207869815\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! ./remixicon.woff2?t=1590207869815 */ \"./node_modules/remixicon/fonts/remixicon.woff2?t=1590207869815\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(/*! ./remixicon.woff?t=1590207869815 */ \"./node_modules/remixicon/fonts/remixicon.woff?t=1590207869815\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(/*! ./remixicon.ttf?t=1590207869815 */ \"./node_modules/remixicon/fonts/remixicon.ttf?t=1590207869815\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(/*! ./remixicon.svg?t=1590207869815 */ \"./node_modules/remixicon/fonts/remixicon.svg?t=1590207869815\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#remixicon\" });\n// Module\nexports.push([module.i, \"/*\\n* Remix Icon v2.5.0\\n* https://remixicon.com\\n* https://github.com/Remix-Design/RemixIcon\\n*\\n* Copyright RemixIcon.com\\n* Released under the Apache License Version 2.0\\n*\\n* Date: 2020-05-23\\n*/\\n@font-face {\\n  font-family: \\\"remixicon\\\";\\n  src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \"); /* IE9*/\\n  src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format('embedded-opentype'), \\n  url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),\\n  url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),\\n  url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format('truetype'), \\n  url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format('svg'); /* iOS 4.1- */\\n  font-display: swap;\\n}\\n\\n[class^=\\\"ri-\\\"], [class*=\\\" ri-\\\"] {\\n  font-family: 'remixicon' !important;\\n  font-style: normal;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.ri-lg { font-size: 1.3333em; line-height: 0.75em; vertical-align: -.0667em; }\\n.ri-xl { font-size: 1.5em; line-height: 0.6666em; vertical-align: -.075em; }\\n.ri-xxs { font-size: .5em; }\\n.ri-xs { font-size: .75em; }\\n.ri-sm { font-size: .875em }\\n.ri-1x { font-size: 1em; }\\n.ri-2x { font-size: 2em; }\\n.ri-3x { font-size: 3em; }\\n.ri-4x { font-size: 4em; }\\n.ri-5x { font-size: 5em; }\\n.ri-6x { font-size: 6em; }\\n.ri-7x { font-size: 7em; }\\n.ri-8x { font-size: 8em; }\\n.ri-9x { font-size: 9em; }\\n.ri-10x { font-size: 10em; }\\n.ri-fw { text-align: center; width: 1.25em; }\\n\\n.ri-24-hours-fill:before { content: \\\"\\\\ea01\\\"; }\\n.ri-24-hours-line:before { content: \\\"\\\\ea02\\\"; }\\n.ri-4k-fill:before { content: \\\"\\\\ea03\\\"; }\\n.ri-4k-line:before { content: \\\"\\\\ea04\\\"; }\\n.ri-a-b:before { content: \\\"\\\\ea05\\\"; }\\n.ri-account-box-fill:before { content: \\\"\\\\ea06\\\"; }\\n.ri-account-box-line:before { content: \\\"\\\\ea07\\\"; }\\n.ri-account-circle-fill:before { content: \\\"\\\\ea08\\\"; }\\n.ri-account-circle-line:before { content: \\\"\\\\ea09\\\"; }\\n.ri-account-pin-box-fill:before { content: \\\"\\\\ea0a\\\"; }\\n.ri-account-pin-box-line:before { content: \\\"\\\\ea0b\\\"; }\\n.ri-account-pin-circle-fill:before { content: \\\"\\\\ea0c\\\"; }\\n.ri-account-pin-circle-line:before { content: \\\"\\\\ea0d\\\"; }\\n.ri-add-box-fill:before { content: \\\"\\\\ea0e\\\"; }\\n.ri-add-box-line:before { content: \\\"\\\\ea0f\\\"; }\\n.ri-add-circle-fill:before { content: \\\"\\\\ea10\\\"; }\\n.ri-add-circle-line:before { content: \\\"\\\\ea11\\\"; }\\n.ri-add-fill:before { content: \\\"\\\\ea12\\\"; }\\n.ri-add-line:before { content: \\\"\\\\ea13\\\"; }\\n.ri-admin-fill:before { content: \\\"\\\\ea14\\\"; }\\n.ri-admin-line:before { content: \\\"\\\\ea15\\\"; }\\n.ri-advertisement-fill:before { content: \\\"\\\\ea16\\\"; }\\n.ri-advertisement-line:before { content: \\\"\\\\ea17\\\"; }\\n.ri-airplay-fill:before { content: \\\"\\\\ea18\\\"; }\\n.ri-airplay-line:before { content: \\\"\\\\ea19\\\"; }\\n.ri-alarm-fill:before { content: \\\"\\\\ea1a\\\"; }\\n.ri-alarm-line:before { content: \\\"\\\\ea1b\\\"; }\\n.ri-alarm-warning-fill:before { content: \\\"\\\\ea1c\\\"; }\\n.ri-alarm-warning-line:before { content: \\\"\\\\ea1d\\\"; }\\n.ri-album-fill:before { content: \\\"\\\\ea1e\\\"; }\\n.ri-album-line:before { content: \\\"\\\\ea1f\\\"; }\\n.ri-alert-fill:before { content: \\\"\\\\ea20\\\"; }\\n.ri-alert-line:before { content: \\\"\\\\ea21\\\"; }\\n.ri-aliens-fill:before { content: \\\"\\\\ea22\\\"; }\\n.ri-aliens-line:before { content: \\\"\\\\ea23\\\"; }\\n.ri-align-bottom:before { content: \\\"\\\\ea24\\\"; }\\n.ri-align-center:before { content: \\\"\\\\ea25\\\"; }\\n.ri-align-justify:before { content: \\\"\\\\ea26\\\"; }\\n.ri-align-left:before { content: \\\"\\\\ea27\\\"; }\\n.ri-align-right:before { content: \\\"\\\\ea28\\\"; }\\n.ri-align-top:before { content: \\\"\\\\ea29\\\"; }\\n.ri-align-vertically:before { content: \\\"\\\\ea2a\\\"; }\\n.ri-alipay-fill:before { content: \\\"\\\\ea2b\\\"; }\\n.ri-alipay-line:before { content: \\\"\\\\ea2c\\\"; }\\n.ri-amazon-fill:before { content: \\\"\\\\ea2d\\\"; }\\n.ri-amazon-line:before { content: \\\"\\\\ea2e\\\"; }\\n.ri-anchor-fill:before { content: \\\"\\\\ea2f\\\"; }\\n.ri-anchor-line:before { content: \\\"\\\\ea30\\\"; }\\n.ri-ancient-gate-fill:before { content: \\\"\\\\ea31\\\"; }\\n.ri-ancient-gate-line:before { content: \\\"\\\\ea32\\\"; }\\n.ri-ancient-pavilion-fill:before { content: \\\"\\\\ea33\\\"; }\\n.ri-ancient-pavilion-line:before { content: \\\"\\\\ea34\\\"; }\\n.ri-android-fill:before { content: \\\"\\\\ea35\\\"; }\\n.ri-android-line:before { content: \\\"\\\\ea36\\\"; }\\n.ri-angularjs-fill:before { content: \\\"\\\\ea37\\\"; }\\n.ri-angularjs-line:before { content: \\\"\\\\ea38\\\"; }\\n.ri-anticlockwise-2-fill:before { content: \\\"\\\\ea39\\\"; }\\n.ri-anticlockwise-2-line:before { content: \\\"\\\\ea3a\\\"; }\\n.ri-anticlockwise-fill:before { content: \\\"\\\\ea3b\\\"; }\\n.ri-anticlockwise-line:before { content: \\\"\\\\ea3c\\\"; }\\n.ri-app-store-fill:before { content: \\\"\\\\ea3d\\\"; }\\n.ri-app-store-line:before { content: \\\"\\\\ea3e\\\"; }\\n.ri-apple-fill:before { content: \\\"\\\\ea3f\\\"; }\\n.ri-apple-line:before { content: \\\"\\\\ea40\\\"; }\\n.ri-apps-2-fill:before { content: \\\"\\\\ea41\\\"; }\\n.ri-apps-2-line:before { content: \\\"\\\\ea42\\\"; }\\n.ri-apps-fill:before { content: \\\"\\\\ea43\\\"; }\\n.ri-apps-line:before { content: \\\"\\\\ea44\\\"; }\\n.ri-archive-drawer-fill:before { content: \\\"\\\\ea45\\\"; }\\n.ri-archive-drawer-line:before { content: \\\"\\\\ea46\\\"; }\\n.ri-archive-fill:before { content: \\\"\\\\ea47\\\"; }\\n.ri-archive-line:before { content: \\\"\\\\ea48\\\"; }\\n.ri-arrow-down-circle-fill:before { content: \\\"\\\\ea49\\\"; }\\n.ri-arrow-down-circle-line:before { content: \\\"\\\\ea4a\\\"; }\\n.ri-arrow-down-fill:before { content: \\\"\\\\ea4b\\\"; }\\n.ri-arrow-down-line:before { content: \\\"\\\\ea4c\\\"; }\\n.ri-arrow-down-s-fill:before { content: \\\"\\\\ea4d\\\"; }\\n.ri-arrow-down-s-line:before { content: \\\"\\\\ea4e\\\"; }\\n.ri-arrow-drop-down-fill:before { content: \\\"\\\\ea4f\\\"; }\\n.ri-arrow-drop-down-line:before { content: \\\"\\\\ea50\\\"; }\\n.ri-arrow-drop-left-fill:before { content: \\\"\\\\ea51\\\"; }\\n.ri-arrow-drop-left-line:before { content: \\\"\\\\ea52\\\"; }\\n.ri-arrow-drop-right-fill:before { content: \\\"\\\\ea53\\\"; }\\n.ri-arrow-drop-right-line:before { content: \\\"\\\\ea54\\\"; }\\n.ri-arrow-drop-up-fill:before { content: \\\"\\\\ea55\\\"; }\\n.ri-arrow-drop-up-line:before { content: \\\"\\\\ea56\\\"; }\\n.ri-arrow-go-back-fill:before { content: \\\"\\\\ea57\\\"; }\\n.ri-arrow-go-back-line:before { content: \\\"\\\\ea58\\\"; }\\n.ri-arrow-go-forward-fill:before { content: \\\"\\\\ea59\\\"; }\\n.ri-arrow-go-forward-line:before { content: \\\"\\\\ea5a\\\"; }\\n.ri-arrow-left-circle-fill:before { content: \\\"\\\\ea5b\\\"; }\\n.ri-arrow-left-circle-line:before { content: \\\"\\\\ea5c\\\"; }\\n.ri-arrow-left-down-fill:before { content: \\\"\\\\ea5d\\\"; }\\n.ri-arrow-left-down-line:before { content: \\\"\\\\ea5e\\\"; }\\n.ri-arrow-left-fill:before { content: \\\"\\\\ea5f\\\"; }\\n.ri-arrow-left-line:before { content: \\\"\\\\ea60\\\"; }\\n.ri-arrow-left-right-fill:before { content: \\\"\\\\ea61\\\"; }\\n.ri-arrow-left-right-line:before { content: \\\"\\\\ea62\\\"; }\\n.ri-arrow-left-s-fill:before { content: \\\"\\\\ea63\\\"; }\\n.ri-arrow-left-s-line:before { content: \\\"\\\\ea64\\\"; }\\n.ri-arrow-left-up-fill:before { content: \\\"\\\\ea65\\\"; }\\n.ri-arrow-left-up-line:before { content: \\\"\\\\ea66\\\"; }\\n.ri-arrow-right-circle-fill:before { content: \\\"\\\\ea67\\\"; }\\n.ri-arrow-right-circle-line:before { content: \\\"\\\\ea68\\\"; }\\n.ri-arrow-right-down-fill:before { content: \\\"\\\\ea69\\\"; }\\n.ri-arrow-right-down-line:before { content: \\\"\\\\ea6a\\\"; }\\n.ri-arrow-right-fill:before { content: \\\"\\\\ea6b\\\"; }\\n.ri-arrow-right-line:before { content: \\\"\\\\ea6c\\\"; }\\n.ri-arrow-right-s-fill:before { content: \\\"\\\\ea6d\\\"; }\\n.ri-arrow-right-s-line:before { content: \\\"\\\\ea6e\\\"; }\\n.ri-arrow-right-up-fill:before { content: \\\"\\\\ea6f\\\"; }\\n.ri-arrow-right-up-line:before { content: \\\"\\\\ea70\\\"; }\\n.ri-arrow-up-circle-fill:before { content: \\\"\\\\ea71\\\"; }\\n.ri-arrow-up-circle-line:before { content: \\\"\\\\ea72\\\"; }\\n.ri-arrow-up-down-fill:before { content: \\\"\\\\ea73\\\"; }\\n.ri-arrow-up-down-line:before { content: \\\"\\\\ea74\\\"; }\\n.ri-arrow-up-fill:before { content: \\\"\\\\ea75\\\"; }\\n.ri-arrow-up-line:before { content: \\\"\\\\ea76\\\"; }\\n.ri-arrow-up-s-fill:before { content: \\\"\\\\ea77\\\"; }\\n.ri-arrow-up-s-line:before { content: \\\"\\\\ea78\\\"; }\\n.ri-artboard-2-fill:before { content: \\\"\\\\ea79\\\"; }\\n.ri-artboard-2-line:before { content: \\\"\\\\ea7a\\\"; }\\n.ri-artboard-fill:before { content: \\\"\\\\ea7b\\\"; }\\n.ri-artboard-line:before { content: \\\"\\\\ea7c\\\"; }\\n.ri-article-fill:before { content: \\\"\\\\ea7d\\\"; }\\n.ri-article-line:before { content: \\\"\\\\ea7e\\\"; }\\n.ri-aspect-ratio-fill:before { content: \\\"\\\\ea7f\\\"; }\\n.ri-aspect-ratio-line:before { content: \\\"\\\\ea80\\\"; }\\n.ri-asterisk:before { content: \\\"\\\\ea81\\\"; }\\n.ri-at-fill:before { content: \\\"\\\\ea82\\\"; }\\n.ri-at-line:before { content: \\\"\\\\ea83\\\"; }\\n.ri-attachment-2:before { content: \\\"\\\\ea84\\\"; }\\n.ri-attachment-fill:before { content: \\\"\\\\ea85\\\"; }\\n.ri-attachment-line:before { content: \\\"\\\\ea86\\\"; }\\n.ri-auction-fill:before { content: \\\"\\\\ea87\\\"; }\\n.ri-auction-line:before { content: \\\"\\\\ea88\\\"; }\\n.ri-award-fill:before { content: \\\"\\\\ea89\\\"; }\\n.ri-award-line:before { content: \\\"\\\\ea8a\\\"; }\\n.ri-baidu-fill:before { content: \\\"\\\\ea8b\\\"; }\\n.ri-baidu-line:before { content: \\\"\\\\ea8c\\\"; }\\n.ri-ball-pen-fill:before { content: \\\"\\\\ea8d\\\"; }\\n.ri-ball-pen-line:before { content: \\\"\\\\ea8e\\\"; }\\n.ri-bank-card-2-fill:before { content: \\\"\\\\ea8f\\\"; }\\n.ri-bank-card-2-line:before { content: \\\"\\\\ea90\\\"; }\\n.ri-bank-card-fill:before { content: \\\"\\\\ea91\\\"; }\\n.ri-bank-card-line:before { content: \\\"\\\\ea92\\\"; }\\n.ri-bank-fill:before { content: \\\"\\\\ea93\\\"; }\\n.ri-bank-line:before { content: \\\"\\\\ea94\\\"; }\\n.ri-bar-chart-2-fill:before { content: \\\"\\\\ea95\\\"; }\\n.ri-bar-chart-2-line:before { content: \\\"\\\\ea96\\\"; }\\n.ri-bar-chart-box-fill:before { content: \\\"\\\\ea97\\\"; }\\n.ri-bar-chart-box-line:before { content: \\\"\\\\ea98\\\"; }\\n.ri-bar-chart-fill:before { content: \\\"\\\\ea99\\\"; }\\n.ri-bar-chart-grouped-fill:before { content: \\\"\\\\ea9a\\\"; }\\n.ri-bar-chart-grouped-line:before { content: \\\"\\\\ea9b\\\"; }\\n.ri-bar-chart-horizontal-fill:before { content: \\\"\\\\ea9c\\\"; }\\n.ri-bar-chart-horizontal-line:before { content: \\\"\\\\ea9d\\\"; }\\n.ri-bar-chart-line:before { content: \\\"\\\\ea9e\\\"; }\\n.ri-barcode-box-fill:before { content: \\\"\\\\ea9f\\\"; }\\n.ri-barcode-box-line:before { content: \\\"\\\\eaa0\\\"; }\\n.ri-barcode-fill:before { content: \\\"\\\\eaa1\\\"; }\\n.ri-barcode-line:before { content: \\\"\\\\eaa2\\\"; }\\n.ri-barricade-fill:before { content: \\\"\\\\eaa3\\\"; }\\n.ri-barricade-line:before { content: \\\"\\\\eaa4\\\"; }\\n.ri-base-station-fill:before { content: \\\"\\\\eaa5\\\"; }\\n.ri-base-station-line:before { content: \\\"\\\\eaa6\\\"; }\\n.ri-basketball-fill:before { content: \\\"\\\\eaa7\\\"; }\\n.ri-basketball-line:before { content: \\\"\\\\eaa8\\\"; }\\n.ri-battery-2-charge-fill:before { content: \\\"\\\\eaa9\\\"; }\\n.ri-battery-2-charge-line:before { content: \\\"\\\\eaaa\\\"; }\\n.ri-battery-2-fill:before { content: \\\"\\\\eaab\\\"; }\\n.ri-battery-2-line:before { content: \\\"\\\\eaac\\\"; }\\n.ri-battery-charge-fill:before { content: \\\"\\\\eaad\\\"; }\\n.ri-battery-charge-line:before { content: \\\"\\\\eaae\\\"; }\\n.ri-battery-fill:before { content: \\\"\\\\eaaf\\\"; }\\n.ri-battery-line:before { content: \\\"\\\\eab0\\\"; }\\n.ri-battery-low-fill:before { content: \\\"\\\\eab1\\\"; }\\n.ri-battery-low-line:before { content: \\\"\\\\eab2\\\"; }\\n.ri-battery-saver-fill:before { content: \\\"\\\\eab3\\\"; }\\n.ri-battery-saver-line:before { content: \\\"\\\\eab4\\\"; }\\n.ri-battery-share-fill:before { content: \\\"\\\\eab5\\\"; }\\n.ri-battery-share-line:before { content: \\\"\\\\eab6\\\"; }\\n.ri-bear-smile-fill:before { content: \\\"\\\\eab7\\\"; }\\n.ri-bear-smile-line:before { content: \\\"\\\\eab8\\\"; }\\n.ri-behance-fill:before { content: \\\"\\\\eab9\\\"; }\\n.ri-behance-line:before { content: \\\"\\\\eaba\\\"; }\\n.ri-bell-fill:before { content: \\\"\\\\eabb\\\"; }\\n.ri-bell-line:before { content: \\\"\\\\eabc\\\"; }\\n.ri-bike-fill:before { content: \\\"\\\\eabd\\\"; }\\n.ri-bike-line:before { content: \\\"\\\\eabe\\\"; }\\n.ri-bilibili-fill:before { content: \\\"\\\\eabf\\\"; }\\n.ri-bilibili-line:before { content: \\\"\\\\eac0\\\"; }\\n.ri-bill-fill:before { content: \\\"\\\\eac1\\\"; }\\n.ri-bill-line:before { content: \\\"\\\\eac2\\\"; }\\n.ri-billiards-fill:before { content: \\\"\\\\eac3\\\"; }\\n.ri-billiards-line:before { content: \\\"\\\\eac4\\\"; }\\n.ri-bit-coin-fill:before { content: \\\"\\\\eac5\\\"; }\\n.ri-bit-coin-line:before { content: \\\"\\\\eac6\\\"; }\\n.ri-blaze-fill:before { content: \\\"\\\\eac7\\\"; }\\n.ri-blaze-line:before { content: \\\"\\\\eac8\\\"; }\\n.ri-bluetooth-connect-fill:before { content: \\\"\\\\eac9\\\"; }\\n.ri-bluetooth-connect-line:before { content: \\\"\\\\eaca\\\"; }\\n.ri-bluetooth-fill:before { content: \\\"\\\\eacb\\\"; }\\n.ri-bluetooth-line:before { content: \\\"\\\\eacc\\\"; }\\n.ri-blur-off-fill:before { content: \\\"\\\\eacd\\\"; }\\n.ri-blur-off-line:before { content: \\\"\\\\eace\\\"; }\\n.ri-body-scan-fill:before { content: \\\"\\\\eacf\\\"; }\\n.ri-body-scan-line:before { content: \\\"\\\\ead0\\\"; }\\n.ri-bold:before { content: \\\"\\\\ead1\\\"; }\\n.ri-book-2-fill:before { content: \\\"\\\\ead2\\\"; }\\n.ri-book-2-line:before { content: \\\"\\\\ead3\\\"; }\\n.ri-book-3-fill:before { content: \\\"\\\\ead4\\\"; }\\n.ri-book-3-line:before { content: \\\"\\\\ead5\\\"; }\\n.ri-book-fill:before { content: \\\"\\\\ead6\\\"; }\\n.ri-book-line:before { content: \\\"\\\\ead7\\\"; }\\n.ri-book-mark-fill:before { content: \\\"\\\\ead8\\\"; }\\n.ri-book-mark-line:before { content: \\\"\\\\ead9\\\"; }\\n.ri-book-open-fill:before { content: \\\"\\\\eada\\\"; }\\n.ri-book-open-line:before { content: \\\"\\\\eadb\\\"; }\\n.ri-book-read-fill:before { content: \\\"\\\\eadc\\\"; }\\n.ri-book-read-line:before { content: \\\"\\\\eadd\\\"; }\\n.ri-booklet-fill:before { content: \\\"\\\\eade\\\"; }\\n.ri-booklet-line:before { content: \\\"\\\\eadf\\\"; }\\n.ri-bookmark-2-fill:before { content: \\\"\\\\eae0\\\"; }\\n.ri-bookmark-2-line:before { content: \\\"\\\\eae1\\\"; }\\n.ri-bookmark-3-fill:before { content: \\\"\\\\eae2\\\"; }\\n.ri-bookmark-3-line:before { content: \\\"\\\\eae3\\\"; }\\n.ri-bookmark-fill:before { content: \\\"\\\\eae4\\\"; }\\n.ri-bookmark-line:before { content: \\\"\\\\eae5\\\"; }\\n.ri-boxing-fill:before { content: \\\"\\\\eae6\\\"; }\\n.ri-boxing-line:before { content: \\\"\\\\eae7\\\"; }\\n.ri-braces-fill:before { content: \\\"\\\\eae8\\\"; }\\n.ri-braces-line:before { content: \\\"\\\\eae9\\\"; }\\n.ri-brackets-fill:before { content: \\\"\\\\eaea\\\"; }\\n.ri-brackets-line:before { content: \\\"\\\\eaeb\\\"; }\\n.ri-briefcase-2-fill:before { content: \\\"\\\\eaec\\\"; }\\n.ri-briefcase-2-line:before { content: \\\"\\\\eaed\\\"; }\\n.ri-briefcase-3-fill:before { content: \\\"\\\\eaee\\\"; }\\n.ri-briefcase-3-line:before { content: \\\"\\\\eaef\\\"; }\\n.ri-briefcase-4-fill:before { content: \\\"\\\\eaf0\\\"; }\\n.ri-briefcase-4-line:before { content: \\\"\\\\eaf1\\\"; }\\n.ri-briefcase-5-fill:before { content: \\\"\\\\eaf2\\\"; }\\n.ri-briefcase-5-line:before { content: \\\"\\\\eaf3\\\"; }\\n.ri-briefcase-fill:before { content: \\\"\\\\eaf4\\\"; }\\n.ri-briefcase-line:before { content: \\\"\\\\eaf5\\\"; }\\n.ri-bring-forward:before { content: \\\"\\\\eaf6\\\"; }\\n.ri-bring-to-front:before { content: \\\"\\\\eaf7\\\"; }\\n.ri-broadcast-fill:before { content: \\\"\\\\eaf8\\\"; }\\n.ri-broadcast-line:before { content: \\\"\\\\eaf9\\\"; }\\n.ri-brush-2-fill:before { content: \\\"\\\\eafa\\\"; }\\n.ri-brush-2-line:before { content: \\\"\\\\eafb\\\"; }\\n.ri-brush-3-fill:before { content: \\\"\\\\eafc\\\"; }\\n.ri-brush-3-line:before { content: \\\"\\\\eafd\\\"; }\\n.ri-brush-4-fill:before { content: \\\"\\\\eafe\\\"; }\\n.ri-brush-4-line:before { content: \\\"\\\\eaff\\\"; }\\n.ri-brush-fill:before { content: \\\"\\\\eb00\\\"; }\\n.ri-brush-line:before { content: \\\"\\\\eb01\\\"; }\\n.ri-bubble-chart-fill:before { content: \\\"\\\\eb02\\\"; }\\n.ri-bubble-chart-line:before { content: \\\"\\\\eb03\\\"; }\\n.ri-bug-2-fill:before { content: \\\"\\\\eb04\\\"; }\\n.ri-bug-2-line:before { content: \\\"\\\\eb05\\\"; }\\n.ri-bug-fill:before { content: \\\"\\\\eb06\\\"; }\\n.ri-bug-line:before { content: \\\"\\\\eb07\\\"; }\\n.ri-building-2-fill:before { content: \\\"\\\\eb08\\\"; }\\n.ri-building-2-line:before { content: \\\"\\\\eb09\\\"; }\\n.ri-building-3-fill:before { content: \\\"\\\\eb0a\\\"; }\\n.ri-building-3-line:before { content: \\\"\\\\eb0b\\\"; }\\n.ri-building-4-fill:before { content: \\\"\\\\eb0c\\\"; }\\n.ri-building-4-line:before { content: \\\"\\\\eb0d\\\"; }\\n.ri-building-fill:before { content: \\\"\\\\eb0e\\\"; }\\n.ri-building-line:before { content: \\\"\\\\eb0f\\\"; }\\n.ri-bus-2-fill:before { content: \\\"\\\\eb10\\\"; }\\n.ri-bus-2-line:before { content: \\\"\\\\eb11\\\"; }\\n.ri-bus-fill:before { content: \\\"\\\\eb12\\\"; }\\n.ri-bus-line:before { content: \\\"\\\\eb13\\\"; }\\n.ri-bus-wifi-fill:before { content: \\\"\\\\eb14\\\"; }\\n.ri-bus-wifi-line:before { content: \\\"\\\\eb15\\\"; }\\n.ri-cactus-fill:before { content: \\\"\\\\eb16\\\"; }\\n.ri-cactus-line:before { content: \\\"\\\\eb17\\\"; }\\n.ri-cake-2-fill:before { content: \\\"\\\\eb18\\\"; }\\n.ri-cake-2-line:before { content: \\\"\\\\eb19\\\"; }\\n.ri-cake-3-fill:before { content: \\\"\\\\eb1a\\\"; }\\n.ri-cake-3-line:before { content: \\\"\\\\eb1b\\\"; }\\n.ri-cake-fill:before { content: \\\"\\\\eb1c\\\"; }\\n.ri-cake-line:before { content: \\\"\\\\eb1d\\\"; }\\n.ri-calculator-fill:before { content: \\\"\\\\eb1e\\\"; }\\n.ri-calculator-line:before { content: \\\"\\\\eb1f\\\"; }\\n.ri-calendar-2-fill:before { content: \\\"\\\\eb20\\\"; }\\n.ri-calendar-2-line:before { content: \\\"\\\\eb21\\\"; }\\n.ri-calendar-check-fill:before { content: \\\"\\\\eb22\\\"; }\\n.ri-calendar-check-line:before { content: \\\"\\\\eb23\\\"; }\\n.ri-calendar-event-fill:before { content: \\\"\\\\eb24\\\"; }\\n.ri-calendar-event-line:before { content: \\\"\\\\eb25\\\"; }\\n.ri-calendar-fill:before { content: \\\"\\\\eb26\\\"; }\\n.ri-calendar-line:before { content: \\\"\\\\eb27\\\"; }\\n.ri-calendar-todo-fill:before { content: \\\"\\\\eb28\\\"; }\\n.ri-calendar-todo-line:before { content: \\\"\\\\eb29\\\"; }\\n.ri-camera-2-fill:before { content: \\\"\\\\eb2a\\\"; }\\n.ri-camera-2-line:before { content: \\\"\\\\eb2b\\\"; }\\n.ri-camera-3-fill:before { content: \\\"\\\\eb2c\\\"; }\\n.ri-camera-3-line:before { content: \\\"\\\\eb2d\\\"; }\\n.ri-camera-fill:before { content: \\\"\\\\eb2e\\\"; }\\n.ri-camera-lens-fill:before { content: \\\"\\\\eb2f\\\"; }\\n.ri-camera-lens-line:before { content: \\\"\\\\eb30\\\"; }\\n.ri-camera-line:before { content: \\\"\\\\eb31\\\"; }\\n.ri-camera-off-fill:before { content: \\\"\\\\eb32\\\"; }\\n.ri-camera-off-line:before { content: \\\"\\\\eb33\\\"; }\\n.ri-camera-switch-fill:before { content: \\\"\\\\eb34\\\"; }\\n.ri-camera-switch-line:before { content: \\\"\\\\eb35\\\"; }\\n.ri-capsule-fill:before { content: \\\"\\\\eb36\\\"; }\\n.ri-capsule-line:before { content: \\\"\\\\eb37\\\"; }\\n.ri-car-fill:before { content: \\\"\\\\eb38\\\"; }\\n.ri-car-line:before { content: \\\"\\\\eb39\\\"; }\\n.ri-car-washing-fill:before { content: \\\"\\\\eb3a\\\"; }\\n.ri-car-washing-line:before { content: \\\"\\\\eb3b\\\"; }\\n.ri-caravan-fill:before { content: \\\"\\\\eb3c\\\"; }\\n.ri-caravan-line:before { content: \\\"\\\\eb3d\\\"; }\\n.ri-cast-fill:before { content: \\\"\\\\eb3e\\\"; }\\n.ri-cast-line:before { content: \\\"\\\\eb3f\\\"; }\\n.ri-cellphone-fill:before { content: \\\"\\\\eb40\\\"; }\\n.ri-cellphone-line:before { content: \\\"\\\\eb41\\\"; }\\n.ri-celsius-fill:before { content: \\\"\\\\eb42\\\"; }\\n.ri-celsius-line:before { content: \\\"\\\\eb43\\\"; }\\n.ri-centos-fill:before { content: \\\"\\\\eb44\\\"; }\\n.ri-centos-line:before { content: \\\"\\\\eb45\\\"; }\\n.ri-character-recognition-fill:before { content: \\\"\\\\eb46\\\"; }\\n.ri-character-recognition-line:before { content: \\\"\\\\eb47\\\"; }\\n.ri-charging-pile-2-fill:before { content: \\\"\\\\eb48\\\"; }\\n.ri-charging-pile-2-line:before { content: \\\"\\\\eb49\\\"; }\\n.ri-charging-pile-fill:before { content: \\\"\\\\eb4a\\\"; }\\n.ri-charging-pile-line:before { content: \\\"\\\\eb4b\\\"; }\\n.ri-chat-1-fill:before { content: \\\"\\\\eb4c\\\"; }\\n.ri-chat-1-line:before { content: \\\"\\\\eb4d\\\"; }\\n.ri-chat-2-fill:before { content: \\\"\\\\eb4e\\\"; }\\n.ri-chat-2-line:before { content: \\\"\\\\eb4f\\\"; }\\n.ri-chat-3-fill:before { content: \\\"\\\\eb50\\\"; }\\n.ri-chat-3-line:before { content: \\\"\\\\eb51\\\"; }\\n.ri-chat-4-fill:before { content: \\\"\\\\eb52\\\"; }\\n.ri-chat-4-line:before { content: \\\"\\\\eb53\\\"; }\\n.ri-chat-check-fill:before { content: \\\"\\\\eb54\\\"; }\\n.ri-chat-check-line:before { content: \\\"\\\\eb55\\\"; }\\n.ri-chat-delete-fill:before { content: \\\"\\\\eb56\\\"; }\\n.ri-chat-delete-line:before { content: \\\"\\\\eb57\\\"; }\\n.ri-chat-download-fill:before { content: \\\"\\\\eb58\\\"; }\\n.ri-chat-download-line:before { content: \\\"\\\\eb59\\\"; }\\n.ri-chat-follow-up-fill:before { content: \\\"\\\\eb5a\\\"; }\\n.ri-chat-follow-up-line:before { content: \\\"\\\\eb5b\\\"; }\\n.ri-chat-forward-fill:before { content: \\\"\\\\eb5c\\\"; }\\n.ri-chat-forward-line:before { content: \\\"\\\\eb5d\\\"; }\\n.ri-chat-heart-fill:before { content: \\\"\\\\eb5e\\\"; }\\n.ri-chat-heart-line:before { content: \\\"\\\\eb5f\\\"; }\\n.ri-chat-history-fill:before { content: \\\"\\\\eb60\\\"; }\\n.ri-chat-history-line:before { content: \\\"\\\\eb61\\\"; }\\n.ri-chat-new-fill:before { content: \\\"\\\\eb62\\\"; }\\n.ri-chat-new-line:before { content: \\\"\\\\eb63\\\"; }\\n.ri-chat-off-fill:before { content: \\\"\\\\eb64\\\"; }\\n.ri-chat-off-line:before { content: \\\"\\\\eb65\\\"; }\\n.ri-chat-poll-fill:before { content: \\\"\\\\eb66\\\"; }\\n.ri-chat-poll-line:before { content: \\\"\\\\eb67\\\"; }\\n.ri-chat-private-fill:before { content: \\\"\\\\eb68\\\"; }\\n.ri-chat-private-line:before { content: \\\"\\\\eb69\\\"; }\\n.ri-chat-quote-fill:before { content: \\\"\\\\eb6a\\\"; }\\n.ri-chat-quote-line:before { content: \\\"\\\\eb6b\\\"; }\\n.ri-chat-settings-fill:before { content: \\\"\\\\eb6c\\\"; }\\n.ri-chat-settings-line:before { content: \\\"\\\\eb6d\\\"; }\\n.ri-chat-smile-2-fill:before { content: \\\"\\\\eb6e\\\"; }\\n.ri-chat-smile-2-line:before { content: \\\"\\\\eb6f\\\"; }\\n.ri-chat-smile-3-fill:before { content: \\\"\\\\eb70\\\"; }\\n.ri-chat-smile-3-line:before { content: \\\"\\\\eb71\\\"; }\\n.ri-chat-smile-fill:before { content: \\\"\\\\eb72\\\"; }\\n.ri-chat-smile-line:before { content: \\\"\\\\eb73\\\"; }\\n.ri-chat-upload-fill:before { content: \\\"\\\\eb74\\\"; }\\n.ri-chat-upload-line:before { content: \\\"\\\\eb75\\\"; }\\n.ri-chat-voice-fill:before { content: \\\"\\\\eb76\\\"; }\\n.ri-chat-voice-line:before { content: \\\"\\\\eb77\\\"; }\\n.ri-check-double-fill:before { content: \\\"\\\\eb78\\\"; }\\n.ri-check-double-line:before { content: \\\"\\\\eb79\\\"; }\\n.ri-check-fill:before { content: \\\"\\\\eb7a\\\"; }\\n.ri-check-line:before { content: \\\"\\\\eb7b\\\"; }\\n.ri-checkbox-blank-circle-fill:before { content: \\\"\\\\eb7c\\\"; }\\n.ri-checkbox-blank-circle-line:before { content: \\\"\\\\eb7d\\\"; }\\n.ri-checkbox-blank-fill:before { content: \\\"\\\\eb7e\\\"; }\\n.ri-checkbox-blank-line:before { content: \\\"\\\\eb7f\\\"; }\\n.ri-checkbox-circle-fill:before { content: \\\"\\\\eb80\\\"; }\\n.ri-checkbox-circle-line:before { content: \\\"\\\\eb81\\\"; }\\n.ri-checkbox-fill:before { content: \\\"\\\\eb82\\\"; }\\n.ri-checkbox-indeterminate-fill:before { content: \\\"\\\\eb83\\\"; }\\n.ri-checkbox-indeterminate-line:before { content: \\\"\\\\eb84\\\"; }\\n.ri-checkbox-line:before { content: \\\"\\\\eb85\\\"; }\\n.ri-checkbox-multiple-blank-fill:before { content: \\\"\\\\eb86\\\"; }\\n.ri-checkbox-multiple-blank-line:before { content: \\\"\\\\eb87\\\"; }\\n.ri-checkbox-multiple-fill:before { content: \\\"\\\\eb88\\\"; }\\n.ri-checkbox-multiple-line:before { content: \\\"\\\\eb89\\\"; }\\n.ri-china-railway-fill:before { content: \\\"\\\\eb8a\\\"; }\\n.ri-china-railway-line:before { content: \\\"\\\\eb8b\\\"; }\\n.ri-chrome-fill:before { content: \\\"\\\\eb8c\\\"; }\\n.ri-chrome-line:before { content: \\\"\\\\eb8d\\\"; }\\n.ri-clapperboard-fill:before { content: \\\"\\\\eb8e\\\"; }\\n.ri-clapperboard-line:before { content: \\\"\\\\eb8f\\\"; }\\n.ri-clipboard-fill:before { content: \\\"\\\\eb90\\\"; }\\n.ri-clipboard-line:before { content: \\\"\\\\eb91\\\"; }\\n.ri-clockwise-2-fill:before { content: \\\"\\\\eb92\\\"; }\\n.ri-clockwise-2-line:before { content: \\\"\\\\eb93\\\"; }\\n.ri-clockwise-fill:before { content: \\\"\\\\eb94\\\"; }\\n.ri-clockwise-line:before { content: \\\"\\\\eb95\\\"; }\\n.ri-close-circle-fill:before { content: \\\"\\\\eb96\\\"; }\\n.ri-close-circle-line:before { content: \\\"\\\\eb97\\\"; }\\n.ri-close-fill:before { content: \\\"\\\\eb98\\\"; }\\n.ri-close-line:before { content: \\\"\\\\eb99\\\"; }\\n.ri-closed-captioning-fill:before { content: \\\"\\\\eb9a\\\"; }\\n.ri-closed-captioning-line:before { content: \\\"\\\\eb9b\\\"; }\\n.ri-cloud-fill:before { content: \\\"\\\\eb9c\\\"; }\\n.ri-cloud-line:before { content: \\\"\\\\eb9d\\\"; }\\n.ri-cloud-off-fill:before { content: \\\"\\\\eb9e\\\"; }\\n.ri-cloud-off-line:before { content: \\\"\\\\eb9f\\\"; }\\n.ri-cloud-windy-fill:before { content: \\\"\\\\eba0\\\"; }\\n.ri-cloud-windy-line:before { content: \\\"\\\\eba1\\\"; }\\n.ri-cloudy-2-fill:before { content: \\\"\\\\eba2\\\"; }\\n.ri-cloudy-2-line:before { content: \\\"\\\\eba3\\\"; }\\n.ri-cloudy-fill:before { content: \\\"\\\\eba4\\\"; }\\n.ri-cloudy-line:before { content: \\\"\\\\eba5\\\"; }\\n.ri-code-box-fill:before { content: \\\"\\\\eba6\\\"; }\\n.ri-code-box-line:before { content: \\\"\\\\eba7\\\"; }\\n.ri-code-fill:before { content: \\\"\\\\eba8\\\"; }\\n.ri-code-line:before { content: \\\"\\\\eba9\\\"; }\\n.ri-code-s-fill:before { content: \\\"\\\\ebaa\\\"; }\\n.ri-code-s-line:before { content: \\\"\\\\ebab\\\"; }\\n.ri-code-s-slash-fill:before { content: \\\"\\\\ebac\\\"; }\\n.ri-code-s-slash-line:before { content: \\\"\\\\ebad\\\"; }\\n.ri-code-view:before { content: \\\"\\\\ebae\\\"; }\\n.ri-codepen-fill:before { content: \\\"\\\\ebaf\\\"; }\\n.ri-codepen-line:before { content: \\\"\\\\ebb0\\\"; }\\n.ri-coin-fill:before { content: \\\"\\\\ebb1\\\"; }\\n.ri-coin-line:before { content: \\\"\\\\ebb2\\\"; }\\n.ri-coins-fill:before { content: \\\"\\\\ebb3\\\"; }\\n.ri-coins-line:before { content: \\\"\\\\ebb4\\\"; }\\n.ri-collage-fill:before { content: \\\"\\\\ebb5\\\"; }\\n.ri-collage-line:before { content: \\\"\\\\ebb6\\\"; }\\n.ri-command-fill:before { content: \\\"\\\\ebb7\\\"; }\\n.ri-command-line:before { content: \\\"\\\\ebb8\\\"; }\\n.ri-community-fill:before { content: \\\"\\\\ebb9\\\"; }\\n.ri-community-line:before { content: \\\"\\\\ebba\\\"; }\\n.ri-compass-2-fill:before { content: \\\"\\\\ebbb\\\"; }\\n.ri-compass-2-line:before { content: \\\"\\\\ebbc\\\"; }\\n.ri-compass-3-fill:before { content: \\\"\\\\ebbd\\\"; }\\n.ri-compass-3-line:before { content: \\\"\\\\ebbe\\\"; }\\n.ri-compass-4-fill:before { content: \\\"\\\\ebbf\\\"; }\\n.ri-compass-4-line:before { content: \\\"\\\\ebc0\\\"; }\\n.ri-compass-discover-fill:before { content: \\\"\\\\ebc1\\\"; }\\n.ri-compass-discover-line:before { content: \\\"\\\\ebc2\\\"; }\\n.ri-compass-fill:before { content: \\\"\\\\ebc3\\\"; }\\n.ri-compass-line:before { content: \\\"\\\\ebc4\\\"; }\\n.ri-compasses-2-fill:before { content: \\\"\\\\ebc5\\\"; }\\n.ri-compasses-2-line:before { content: \\\"\\\\ebc6\\\"; }\\n.ri-compasses-fill:before { content: \\\"\\\\ebc7\\\"; }\\n.ri-compasses-line:before { content: \\\"\\\\ebc8\\\"; }\\n.ri-computer-fill:before { content: \\\"\\\\ebc9\\\"; }\\n.ri-computer-line:before { content: \\\"\\\\ebca\\\"; }\\n.ri-contacts-book-2-fill:before { content: \\\"\\\\ebcb\\\"; }\\n.ri-contacts-book-2-line:before { content: \\\"\\\\ebcc\\\"; }\\n.ri-contacts-book-fill:before { content: \\\"\\\\ebcd\\\"; }\\n.ri-contacts-book-line:before { content: \\\"\\\\ebce\\\"; }\\n.ri-contacts-book-upload-fill:before { content: \\\"\\\\ebcf\\\"; }\\n.ri-contacts-book-upload-line:before { content: \\\"\\\\ebd0\\\"; }\\n.ri-contacts-fill:before { content: \\\"\\\\ebd1\\\"; }\\n.ri-contacts-line:before { content: \\\"\\\\ebd2\\\"; }\\n.ri-contrast-2-fill:before { content: \\\"\\\\ebd3\\\"; }\\n.ri-contrast-2-line:before { content: \\\"\\\\ebd4\\\"; }\\n.ri-contrast-drop-2-fill:before { content: \\\"\\\\ebd5\\\"; }\\n.ri-contrast-drop-2-line:before { content: \\\"\\\\ebd6\\\"; }\\n.ri-contrast-drop-fill:before { content: \\\"\\\\ebd7\\\"; }\\n.ri-contrast-drop-line:before { content: \\\"\\\\ebd8\\\"; }\\n.ri-contrast-fill:before { content: \\\"\\\\ebd9\\\"; }\\n.ri-contrast-line:before { content: \\\"\\\\ebda\\\"; }\\n.ri-copper-coin-fill:before { content: \\\"\\\\ebdb\\\"; }\\n.ri-copper-coin-line:before { content: \\\"\\\\ebdc\\\"; }\\n.ri-copper-diamond-fill:before { content: \\\"\\\\ebdd\\\"; }\\n.ri-copper-diamond-line:before { content: \\\"\\\\ebde\\\"; }\\n.ri-copyleft-fill:before { content: \\\"\\\\ebdf\\\"; }\\n.ri-copyleft-line:before { content: \\\"\\\\ebe0\\\"; }\\n.ri-copyright-fill:before { content: \\\"\\\\ebe1\\\"; }\\n.ri-copyright-line:before { content: \\\"\\\\ebe2\\\"; }\\n.ri-coreos-fill:before { content: \\\"\\\\ebe3\\\"; }\\n.ri-coreos-line:before { content: \\\"\\\\ebe4\\\"; }\\n.ri-coupon-2-fill:before { content: \\\"\\\\ebe5\\\"; }\\n.ri-coupon-2-line:before { content: \\\"\\\\ebe6\\\"; }\\n.ri-coupon-3-fill:before { content: \\\"\\\\ebe7\\\"; }\\n.ri-coupon-3-line:before { content: \\\"\\\\ebe8\\\"; }\\n.ri-coupon-4-fill:before { content: \\\"\\\\ebe9\\\"; }\\n.ri-coupon-4-line:before { content: \\\"\\\\ebea\\\"; }\\n.ri-coupon-5-fill:before { content: \\\"\\\\ebeb\\\"; }\\n.ri-coupon-5-line:before { content: \\\"\\\\ebec\\\"; }\\n.ri-coupon-fill:before { content: \\\"\\\\ebed\\\"; }\\n.ri-coupon-line:before { content: \\\"\\\\ebee\\\"; }\\n.ri-cpu-fill:before { content: \\\"\\\\ebef\\\"; }\\n.ri-cpu-line:before { content: \\\"\\\\ebf0\\\"; }\\n.ri-creative-commons-by-fill:before { content: \\\"\\\\ebf1\\\"; }\\n.ri-creative-commons-by-line:before { content: \\\"\\\\ebf2\\\"; }\\n.ri-creative-commons-fill:before { content: \\\"\\\\ebf3\\\"; }\\n.ri-creative-commons-line:before { content: \\\"\\\\ebf4\\\"; }\\n.ri-creative-commons-nc-fill:before { content: \\\"\\\\ebf5\\\"; }\\n.ri-creative-commons-nc-line:before { content: \\\"\\\\ebf6\\\"; }\\n.ri-creative-commons-nd-fill:before { content: \\\"\\\\ebf7\\\"; }\\n.ri-creative-commons-nd-line:before { content: \\\"\\\\ebf8\\\"; }\\n.ri-creative-commons-sa-fill:before { content: \\\"\\\\ebf9\\\"; }\\n.ri-creative-commons-sa-line:before { content: \\\"\\\\ebfa\\\"; }\\n.ri-creative-commons-zero-fill:before { content: \\\"\\\\ebfb\\\"; }\\n.ri-creative-commons-zero-line:before { content: \\\"\\\\ebfc\\\"; }\\n.ri-criminal-fill:before { content: \\\"\\\\ebfd\\\"; }\\n.ri-criminal-line:before { content: \\\"\\\\ebfe\\\"; }\\n.ri-crop-2-fill:before { content: \\\"\\\\ebff\\\"; }\\n.ri-crop-2-line:before { content: \\\"\\\\ec00\\\"; }\\n.ri-crop-fill:before { content: \\\"\\\\ec01\\\"; }\\n.ri-crop-line:before { content: \\\"\\\\ec02\\\"; }\\n.ri-css3-fill:before { content: \\\"\\\\ec03\\\"; }\\n.ri-css3-line:before { content: \\\"\\\\ec04\\\"; }\\n.ri-cup-fill:before { content: \\\"\\\\ec05\\\"; }\\n.ri-cup-line:before { content: \\\"\\\\ec06\\\"; }\\n.ri-currency-fill:before { content: \\\"\\\\ec07\\\"; }\\n.ri-currency-line:before { content: \\\"\\\\ec08\\\"; }\\n.ri-cursor-fill:before { content: \\\"\\\\ec09\\\"; }\\n.ri-cursor-line:before { content: \\\"\\\\ec0a\\\"; }\\n.ri-customer-service-2-fill:before { content: \\\"\\\\ec0b\\\"; }\\n.ri-customer-service-2-line:before { content: \\\"\\\\ec0c\\\"; }\\n.ri-customer-service-fill:before { content: \\\"\\\\ec0d\\\"; }\\n.ri-customer-service-line:before { content: \\\"\\\\ec0e\\\"; }\\n.ri-dashboard-2-fill:before { content: \\\"\\\\ec0f\\\"; }\\n.ri-dashboard-2-line:before { content: \\\"\\\\ec10\\\"; }\\n.ri-dashboard-3-fill:before { content: \\\"\\\\ec11\\\"; }\\n.ri-dashboard-3-line:before { content: \\\"\\\\ec12\\\"; }\\n.ri-dashboard-fill:before { content: \\\"\\\\ec13\\\"; }\\n.ri-dashboard-line:before { content: \\\"\\\\ec14\\\"; }\\n.ri-database-2-fill:before { content: \\\"\\\\ec15\\\"; }\\n.ri-database-2-line:before { content: \\\"\\\\ec16\\\"; }\\n.ri-database-fill:before { content: \\\"\\\\ec17\\\"; }\\n.ri-database-line:before { content: \\\"\\\\ec18\\\"; }\\n.ri-delete-back-2-fill:before { content: \\\"\\\\ec19\\\"; }\\n.ri-delete-back-2-line:before { content: \\\"\\\\ec1a\\\"; }\\n.ri-delete-back-fill:before { content: \\\"\\\\ec1b\\\"; }\\n.ri-delete-back-line:before { content: \\\"\\\\ec1c\\\"; }\\n.ri-delete-bin-2-fill:before { content: \\\"\\\\ec1d\\\"; }\\n.ri-delete-bin-2-line:before { content: \\\"\\\\ec1e\\\"; }\\n.ri-delete-bin-3-fill:before { content: \\\"\\\\ec1f\\\"; }\\n.ri-delete-bin-3-line:before { content: \\\"\\\\ec20\\\"; }\\n.ri-delete-bin-4-fill:before { content: \\\"\\\\ec21\\\"; }\\n.ri-delete-bin-4-line:before { content: \\\"\\\\ec22\\\"; }\\n.ri-delete-bin-5-fill:before { content: \\\"\\\\ec23\\\"; }\\n.ri-delete-bin-5-line:before { content: \\\"\\\\ec24\\\"; }\\n.ri-delete-bin-6-fill:before { content: \\\"\\\\ec25\\\"; }\\n.ri-delete-bin-6-line:before { content: \\\"\\\\ec26\\\"; }\\n.ri-delete-bin-7-fill:before { content: \\\"\\\\ec27\\\"; }\\n.ri-delete-bin-7-line:before { content: \\\"\\\\ec28\\\"; }\\n.ri-delete-bin-fill:before { content: \\\"\\\\ec29\\\"; }\\n.ri-delete-bin-line:before { content: \\\"\\\\ec2a\\\"; }\\n.ri-delete-column:before { content: \\\"\\\\ec2b\\\"; }\\n.ri-delete-row:before { content: \\\"\\\\ec2c\\\"; }\\n.ri-device-fill:before { content: \\\"\\\\ec2d\\\"; }\\n.ri-device-line:before { content: \\\"\\\\ec2e\\\"; }\\n.ri-device-recover-fill:before { content: \\\"\\\\ec2f\\\"; }\\n.ri-device-recover-line:before { content: \\\"\\\\ec30\\\"; }\\n.ri-dingding-fill:before { content: \\\"\\\\ec31\\\"; }\\n.ri-dingding-line:before { content: \\\"\\\\ec32\\\"; }\\n.ri-direction-fill:before { content: \\\"\\\\ec33\\\"; }\\n.ri-direction-line:before { content: \\\"\\\\ec34\\\"; }\\n.ri-disc-fill:before { content: \\\"\\\\ec35\\\"; }\\n.ri-disc-line:before { content: \\\"\\\\ec36\\\"; }\\n.ri-discord-fill:before { content: \\\"\\\\ec37\\\"; }\\n.ri-discord-line:before { content: \\\"\\\\ec38\\\"; }\\n.ri-discuss-fill:before { content: \\\"\\\\ec39\\\"; }\\n.ri-discuss-line:before { content: \\\"\\\\ec3a\\\"; }\\n.ri-dislike-fill:before { content: \\\"\\\\ec3b\\\"; }\\n.ri-dislike-line:before { content: \\\"\\\\ec3c\\\"; }\\n.ri-disqus-fill:before { content: \\\"\\\\ec3d\\\"; }\\n.ri-disqus-line:before { content: \\\"\\\\ec3e\\\"; }\\n.ri-divide-fill:before { content: \\\"\\\\ec3f\\\"; }\\n.ri-divide-line:before { content: \\\"\\\\ec40\\\"; }\\n.ri-donut-chart-fill:before { content: \\\"\\\\ec41\\\"; }\\n.ri-donut-chart-line:before { content: \\\"\\\\ec42\\\"; }\\n.ri-door-closed-fill:before { content: \\\"\\\\ec43\\\"; }\\n.ri-door-closed-line:before { content: \\\"\\\\ec44\\\"; }\\n.ri-door-fill:before { content: \\\"\\\\ec45\\\"; }\\n.ri-door-line:before { content: \\\"\\\\ec46\\\"; }\\n.ri-door-lock-box-fill:before { content: \\\"\\\\ec47\\\"; }\\n.ri-door-lock-box-line:before { content: \\\"\\\\ec48\\\"; }\\n.ri-door-lock-fill:before { content: \\\"\\\\ec49\\\"; }\\n.ri-door-lock-line:before { content: \\\"\\\\ec4a\\\"; }\\n.ri-door-open-fill:before { content: \\\"\\\\ec4b\\\"; }\\n.ri-door-open-line:before { content: \\\"\\\\ec4c\\\"; }\\n.ri-dossier-fill:before { content: \\\"\\\\ec4d\\\"; }\\n.ri-dossier-line:before { content: \\\"\\\\ec4e\\\"; }\\n.ri-douban-fill:before { content: \\\"\\\\ec4f\\\"; }\\n.ri-douban-line:before { content: \\\"\\\\ec50\\\"; }\\n.ri-double-quotes-l:before { content: \\\"\\\\ec51\\\"; }\\n.ri-double-quotes-r:before { content: \\\"\\\\ec52\\\"; }\\n.ri-download-2-fill:before { content: \\\"\\\\ec53\\\"; }\\n.ri-download-2-line:before { content: \\\"\\\\ec54\\\"; }\\n.ri-download-cloud-2-fill:before { content: \\\"\\\\ec55\\\"; }\\n.ri-download-cloud-2-line:before { content: \\\"\\\\ec56\\\"; }\\n.ri-download-cloud-fill:before { content: \\\"\\\\ec57\\\"; }\\n.ri-download-cloud-line:before { content: \\\"\\\\ec58\\\"; }\\n.ri-download-fill:before { content: \\\"\\\\ec59\\\"; }\\n.ri-download-line:before { content: \\\"\\\\ec5a\\\"; }\\n.ri-draft-fill:before { content: \\\"\\\\ec5b\\\"; }\\n.ri-draft-line:before { content: \\\"\\\\ec5c\\\"; }\\n.ri-drag-drop-fill:before { content: \\\"\\\\ec5d\\\"; }\\n.ri-drag-drop-line:before { content: \\\"\\\\ec5e\\\"; }\\n.ri-drag-move-2-fill:before { content: \\\"\\\\ec5f\\\"; }\\n.ri-drag-move-2-line:before { content: \\\"\\\\ec60\\\"; }\\n.ri-drag-move-fill:before { content: \\\"\\\\ec61\\\"; }\\n.ri-drag-move-line:before { content: \\\"\\\\ec62\\\"; }\\n.ri-dribbble-fill:before { content: \\\"\\\\ec63\\\"; }\\n.ri-dribbble-line:before { content: \\\"\\\\ec64\\\"; }\\n.ri-drive-fill:before { content: \\\"\\\\ec65\\\"; }\\n.ri-drive-line:before { content: \\\"\\\\ec66\\\"; }\\n.ri-drizzle-fill:before { content: \\\"\\\\ec67\\\"; }\\n.ri-drizzle-line:before { content: \\\"\\\\ec68\\\"; }\\n.ri-drop-fill:before { content: \\\"\\\\ec69\\\"; }\\n.ri-drop-line:before { content: \\\"\\\\ec6a\\\"; }\\n.ri-dropbox-fill:before { content: \\\"\\\\ec6b\\\"; }\\n.ri-dropbox-line:before { content: \\\"\\\\ec6c\\\"; }\\n.ri-dual-sim-1-fill:before { content: \\\"\\\\ec6d\\\"; }\\n.ri-dual-sim-1-line:before { content: \\\"\\\\ec6e\\\"; }\\n.ri-dual-sim-2-fill:before { content: \\\"\\\\ec6f\\\"; }\\n.ri-dual-sim-2-line:before { content: \\\"\\\\ec70\\\"; }\\n.ri-dv-fill:before { content: \\\"\\\\ec71\\\"; }\\n.ri-dv-line:before { content: \\\"\\\\ec72\\\"; }\\n.ri-dvd-fill:before { content: \\\"\\\\ec73\\\"; }\\n.ri-dvd-line:before { content: \\\"\\\\ec74\\\"; }\\n.ri-e-bike-2-fill:before { content: \\\"\\\\ec75\\\"; }\\n.ri-e-bike-2-line:before { content: \\\"\\\\ec76\\\"; }\\n.ri-e-bike-fill:before { content: \\\"\\\\ec77\\\"; }\\n.ri-e-bike-line:before { content: \\\"\\\\ec78\\\"; }\\n.ri-earth-fill:before { content: \\\"\\\\ec79\\\"; }\\n.ri-earth-line:before { content: \\\"\\\\ec7a\\\"; }\\n.ri-earthquake-fill:before { content: \\\"\\\\ec7b\\\"; }\\n.ri-earthquake-line:before { content: \\\"\\\\ec7c\\\"; }\\n.ri-edge-fill:before { content: \\\"\\\\ec7d\\\"; }\\n.ri-edge-line:before { content: \\\"\\\\ec7e\\\"; }\\n.ri-edit-2-fill:before { content: \\\"\\\\ec7f\\\"; }\\n.ri-edit-2-line:before { content: \\\"\\\\ec80\\\"; }\\n.ri-edit-box-fill:before { content: \\\"\\\\ec81\\\"; }\\n.ri-edit-box-line:before { content: \\\"\\\\ec82\\\"; }\\n.ri-edit-circle-fill:before { content: \\\"\\\\ec83\\\"; }\\n.ri-edit-circle-line:before { content: \\\"\\\\ec84\\\"; }\\n.ri-edit-fill:before { content: \\\"\\\\ec85\\\"; }\\n.ri-edit-line:before { content: \\\"\\\\ec86\\\"; }\\n.ri-eject-fill:before { content: \\\"\\\\ec87\\\"; }\\n.ri-eject-line:before { content: \\\"\\\\ec88\\\"; }\\n.ri-emotion-2-fill:before { content: \\\"\\\\ec89\\\"; }\\n.ri-emotion-2-line:before { content: \\\"\\\\ec8a\\\"; }\\n.ri-emotion-fill:before { content: \\\"\\\\ec8b\\\"; }\\n.ri-emotion-happy-fill:before { content: \\\"\\\\ec8c\\\"; }\\n.ri-emotion-happy-line:before { content: \\\"\\\\ec8d\\\"; }\\n.ri-emotion-laugh-fill:before { content: \\\"\\\\ec8e\\\"; }\\n.ri-emotion-laugh-line:before { content: \\\"\\\\ec8f\\\"; }\\n.ri-emotion-line:before { content: \\\"\\\\ec90\\\"; }\\n.ri-emotion-normal-fill:before { content: \\\"\\\\ec91\\\"; }\\n.ri-emotion-normal-line:before { content: \\\"\\\\ec92\\\"; }\\n.ri-emotion-sad-fill:before { content: \\\"\\\\ec93\\\"; }\\n.ri-emotion-sad-line:before { content: \\\"\\\\ec94\\\"; }\\n.ri-emotion-unhappy-fill:before { content: \\\"\\\\ec95\\\"; }\\n.ri-emotion-unhappy-line:before { content: \\\"\\\\ec96\\\"; }\\n.ri-empathize-fill:before { content: \\\"\\\\ec97\\\"; }\\n.ri-empathize-line:before { content: \\\"\\\\ec98\\\"; }\\n.ri-emphasis-cn:before { content: \\\"\\\\ec99\\\"; }\\n.ri-emphasis:before { content: \\\"\\\\ec9a\\\"; }\\n.ri-english-input:before { content: \\\"\\\\ec9b\\\"; }\\n.ri-equalizer-fill:before { content: \\\"\\\\ec9c\\\"; }\\n.ri-equalizer-line:before { content: \\\"\\\\ec9d\\\"; }\\n.ri-eraser-fill:before { content: \\\"\\\\ec9e\\\"; }\\n.ri-eraser-line:before { content: \\\"\\\\ec9f\\\"; }\\n.ri-error-warning-fill:before { content: \\\"\\\\eca0\\\"; }\\n.ri-error-warning-line:before { content: \\\"\\\\eca1\\\"; }\\n.ri-evernote-fill:before { content: \\\"\\\\eca2\\\"; }\\n.ri-evernote-line:before { content: \\\"\\\\eca3\\\"; }\\n.ri-exchange-box-fill:before { content: \\\"\\\\eca4\\\"; }\\n.ri-exchange-box-line:before { content: \\\"\\\\eca5\\\"; }\\n.ri-exchange-cny-fill:before { content: \\\"\\\\eca6\\\"; }\\n.ri-exchange-cny-line:before { content: \\\"\\\\eca7\\\"; }\\n.ri-exchange-dollar-fill:before { content: \\\"\\\\eca8\\\"; }\\n.ri-exchange-dollar-line:before { content: \\\"\\\\eca9\\\"; }\\n.ri-exchange-fill:before { content: \\\"\\\\ecaa\\\"; }\\n.ri-exchange-funds-fill:before { content: \\\"\\\\ecab\\\"; }\\n.ri-exchange-funds-line:before { content: \\\"\\\\ecac\\\"; }\\n.ri-exchange-line:before { content: \\\"\\\\ecad\\\"; }\\n.ri-external-link-fill:before { content: \\\"\\\\ecae\\\"; }\\n.ri-external-link-line:before { content: \\\"\\\\ecaf\\\"; }\\n.ri-eye-2-fill:before { content: \\\"\\\\ecb0\\\"; }\\n.ri-eye-2-line:before { content: \\\"\\\\ecb1\\\"; }\\n.ri-eye-close-fill:before { content: \\\"\\\\ecb2\\\"; }\\n.ri-eye-close-line:before { content: \\\"\\\\ecb3\\\"; }\\n.ri-eye-fill:before { content: \\\"\\\\ecb4\\\"; }\\n.ri-eye-line:before { content: \\\"\\\\ecb5\\\"; }\\n.ri-eye-off-fill:before { content: \\\"\\\\ecb6\\\"; }\\n.ri-eye-off-line:before { content: \\\"\\\\ecb7\\\"; }\\n.ri-facebook-box-fill:before { content: \\\"\\\\ecb8\\\"; }\\n.ri-facebook-box-line:before { content: \\\"\\\\ecb9\\\"; }\\n.ri-facebook-circle-fill:before { content: \\\"\\\\ecba\\\"; }\\n.ri-facebook-circle-line:before { content: \\\"\\\\ecbb\\\"; }\\n.ri-facebook-fill:before { content: \\\"\\\\ecbc\\\"; }\\n.ri-facebook-line:before { content: \\\"\\\\ecbd\\\"; }\\n.ri-fahrenheit-fill:before { content: \\\"\\\\ecbe\\\"; }\\n.ri-fahrenheit-line:before { content: \\\"\\\\ecbf\\\"; }\\n.ri-feedback-fill:before { content: \\\"\\\\ecc0\\\"; }\\n.ri-feedback-line:before { content: \\\"\\\\ecc1\\\"; }\\n.ri-file-2-fill:before { content: \\\"\\\\ecc2\\\"; }\\n.ri-file-2-line:before { content: \\\"\\\\ecc3\\\"; }\\n.ri-file-3-fill:before { content: \\\"\\\\ecc4\\\"; }\\n.ri-file-3-line:before { content: \\\"\\\\ecc5\\\"; }\\n.ri-file-4-fill:before { content: \\\"\\\\ecc6\\\"; }\\n.ri-file-4-line:before { content: \\\"\\\\ecc7\\\"; }\\n.ri-file-add-fill:before { content: \\\"\\\\ecc8\\\"; }\\n.ri-file-add-line:before { content: \\\"\\\\ecc9\\\"; }\\n.ri-file-chart-2-fill:before { content: \\\"\\\\ecca\\\"; }\\n.ri-file-chart-2-line:before { content: \\\"\\\\eccb\\\"; }\\n.ri-file-chart-fill:before { content: \\\"\\\\eccc\\\"; }\\n.ri-file-chart-line:before { content: \\\"\\\\eccd\\\"; }\\n.ri-file-cloud-fill:before { content: \\\"\\\\ecce\\\"; }\\n.ri-file-cloud-line:before { content: \\\"\\\\eccf\\\"; }\\n.ri-file-code-fill:before { content: \\\"\\\\ecd0\\\"; }\\n.ri-file-code-line:before { content: \\\"\\\\ecd1\\\"; }\\n.ri-file-copy-2-fill:before { content: \\\"\\\\ecd2\\\"; }\\n.ri-file-copy-2-line:before { content: \\\"\\\\ecd3\\\"; }\\n.ri-file-copy-fill:before { content: \\\"\\\\ecd4\\\"; }\\n.ri-file-copy-line:before { content: \\\"\\\\ecd5\\\"; }\\n.ri-file-damage-fill:before { content: \\\"\\\\ecd6\\\"; }\\n.ri-file-damage-line:before { content: \\\"\\\\ecd7\\\"; }\\n.ri-file-download-fill:before { content: \\\"\\\\ecd8\\\"; }\\n.ri-file-download-line:before { content: \\\"\\\\ecd9\\\"; }\\n.ri-file-edit-fill:before { content: \\\"\\\\ecda\\\"; }\\n.ri-file-edit-line:before { content: \\\"\\\\ecdb\\\"; }\\n.ri-file-excel-2-fill:before { content: \\\"\\\\ecdc\\\"; }\\n.ri-file-excel-2-line:before { content: \\\"\\\\ecdd\\\"; }\\n.ri-file-excel-fill:before { content: \\\"\\\\ecde\\\"; }\\n.ri-file-excel-line:before { content: \\\"\\\\ecdf\\\"; }\\n.ri-file-fill:before { content: \\\"\\\\ece0\\\"; }\\n.ri-file-forbid-fill:before { content: \\\"\\\\ece1\\\"; }\\n.ri-file-forbid-line:before { content: \\\"\\\\ece2\\\"; }\\n.ri-file-gif-fill:before { content: \\\"\\\\ece3\\\"; }\\n.ri-file-gif-line:before { content: \\\"\\\\ece4\\\"; }\\n.ri-file-history-fill:before { content: \\\"\\\\ece5\\\"; }\\n.ri-file-history-line:before { content: \\\"\\\\ece6\\\"; }\\n.ri-file-hwp-fill:before { content: \\\"\\\\ece7\\\"; }\\n.ri-file-hwp-line:before { content: \\\"\\\\ece8\\\"; }\\n.ri-file-info-fill:before { content: \\\"\\\\ece9\\\"; }\\n.ri-file-info-line:before { content: \\\"\\\\ecea\\\"; }\\n.ri-file-line:before { content: \\\"\\\\eceb\\\"; }\\n.ri-file-list-2-fill:before { content: \\\"\\\\ecec\\\"; }\\n.ri-file-list-2-line:before { content: \\\"\\\\eced\\\"; }\\n.ri-file-list-3-fill:before { content: \\\"\\\\ecee\\\"; }\\n.ri-file-list-3-line:before { content: \\\"\\\\ecef\\\"; }\\n.ri-file-list-fill:before { content: \\\"\\\\ecf0\\\"; }\\n.ri-file-list-line:before { content: \\\"\\\\ecf1\\\"; }\\n.ri-file-lock-fill:before { content: \\\"\\\\ecf2\\\"; }\\n.ri-file-lock-line:before { content: \\\"\\\\ecf3\\\"; }\\n.ri-file-mark-fill:before { content: \\\"\\\\ecf4\\\"; }\\n.ri-file-mark-line:before { content: \\\"\\\\ecf5\\\"; }\\n.ri-file-music-fill:before { content: \\\"\\\\ecf6\\\"; }\\n.ri-file-music-line:before { content: \\\"\\\\ecf7\\\"; }\\n.ri-file-paper-2-fill:before { content: \\\"\\\\ecf8\\\"; }\\n.ri-file-paper-2-line:before { content: \\\"\\\\ecf9\\\"; }\\n.ri-file-paper-fill:before { content: \\\"\\\\ecfa\\\"; }\\n.ri-file-paper-line:before { content: \\\"\\\\ecfb\\\"; }\\n.ri-file-pdf-fill:before { content: \\\"\\\\ecfc\\\"; }\\n.ri-file-pdf-line:before { content: \\\"\\\\ecfd\\\"; }\\n.ri-file-ppt-2-fill:before { content: \\\"\\\\ecfe\\\"; }\\n.ri-file-ppt-2-line:before { content: \\\"\\\\ecff\\\"; }\\n.ri-file-ppt-fill:before { content: \\\"\\\\ed00\\\"; }\\n.ri-file-ppt-line:before { content: \\\"\\\\ed01\\\"; }\\n.ri-file-reduce-fill:before { content: \\\"\\\\ed02\\\"; }\\n.ri-file-reduce-line:before { content: \\\"\\\\ed03\\\"; }\\n.ri-file-search-fill:before { content: \\\"\\\\ed04\\\"; }\\n.ri-file-search-line:before { content: \\\"\\\\ed05\\\"; }\\n.ri-file-settings-fill:before { content: \\\"\\\\ed06\\\"; }\\n.ri-file-settings-line:before { content: \\\"\\\\ed07\\\"; }\\n.ri-file-shield-2-fill:before { content: \\\"\\\\ed08\\\"; }\\n.ri-file-shield-2-line:before { content: \\\"\\\\ed09\\\"; }\\n.ri-file-shield-fill:before { content: \\\"\\\\ed0a\\\"; }\\n.ri-file-shield-line:before { content: \\\"\\\\ed0b\\\"; }\\n.ri-file-shred-fill:before { content: \\\"\\\\ed0c\\\"; }\\n.ri-file-shred-line:before { content: \\\"\\\\ed0d\\\"; }\\n.ri-file-text-fill:before { content: \\\"\\\\ed0e\\\"; }\\n.ri-file-text-line:before { content: \\\"\\\\ed0f\\\"; }\\n.ri-file-transfer-fill:before { content: \\\"\\\\ed10\\\"; }\\n.ri-file-transfer-line:before { content: \\\"\\\\ed11\\\"; }\\n.ri-file-unknow-fill:before { content: \\\"\\\\ed12\\\"; }\\n.ri-file-unknow-line:before { content: \\\"\\\\ed13\\\"; }\\n.ri-file-upload-fill:before { content: \\\"\\\\ed14\\\"; }\\n.ri-file-upload-line:before { content: \\\"\\\\ed15\\\"; }\\n.ri-file-user-fill:before { content: \\\"\\\\ed16\\\"; }\\n.ri-file-user-line:before { content: \\\"\\\\ed17\\\"; }\\n.ri-file-warning-fill:before { content: \\\"\\\\ed18\\\"; }\\n.ri-file-warning-line:before { content: \\\"\\\\ed19\\\"; }\\n.ri-file-word-2-fill:before { content: \\\"\\\\ed1a\\\"; }\\n.ri-file-word-2-line:before { content: \\\"\\\\ed1b\\\"; }\\n.ri-file-word-fill:before { content: \\\"\\\\ed1c\\\"; }\\n.ri-file-word-line:before { content: \\\"\\\\ed1d\\\"; }\\n.ri-file-zip-fill:before { content: \\\"\\\\ed1e\\\"; }\\n.ri-file-zip-line:before { content: \\\"\\\\ed1f\\\"; }\\n.ri-film-fill:before { content: \\\"\\\\ed20\\\"; }\\n.ri-film-line:before { content: \\\"\\\\ed21\\\"; }\\n.ri-filter-2-fill:before { content: \\\"\\\\ed22\\\"; }\\n.ri-filter-2-line:before { content: \\\"\\\\ed23\\\"; }\\n.ri-filter-3-fill:before { content: \\\"\\\\ed24\\\"; }\\n.ri-filter-3-line:before { content: \\\"\\\\ed25\\\"; }\\n.ri-filter-fill:before { content: \\\"\\\\ed26\\\"; }\\n.ri-filter-line:before { content: \\\"\\\\ed27\\\"; }\\n.ri-filter-off-fill:before { content: \\\"\\\\ed28\\\"; }\\n.ri-filter-off-line:before { content: \\\"\\\\ed29\\\"; }\\n.ri-find-replace-fill:before { content: \\\"\\\\ed2a\\\"; }\\n.ri-find-replace-line:before { content: \\\"\\\\ed2b\\\"; }\\n.ri-finder-fill:before { content: \\\"\\\\ed2c\\\"; }\\n.ri-finder-line:before { content: \\\"\\\\ed2d\\\"; }\\n.ri-fingerprint-2-fill:before { content: \\\"\\\\ed2e\\\"; }\\n.ri-fingerprint-2-line:before { content: \\\"\\\\ed2f\\\"; }\\n.ri-fingerprint-fill:before { content: \\\"\\\\ed30\\\"; }\\n.ri-fingerprint-line:before { content: \\\"\\\\ed31\\\"; }\\n.ri-fire-fill:before { content: \\\"\\\\ed32\\\"; }\\n.ri-fire-line:before { content: \\\"\\\\ed33\\\"; }\\n.ri-firefox-fill:before { content: \\\"\\\\ed34\\\"; }\\n.ri-firefox-line:before { content: \\\"\\\\ed35\\\"; }\\n.ri-first-aid-kit-fill:before { content: \\\"\\\\ed36\\\"; }\\n.ri-first-aid-kit-line:before { content: \\\"\\\\ed37\\\"; }\\n.ri-flag-2-fill:before { content: \\\"\\\\ed38\\\"; }\\n.ri-flag-2-line:before { content: \\\"\\\\ed39\\\"; }\\n.ri-flag-fill:before { content: \\\"\\\\ed3a\\\"; }\\n.ri-flag-line:before { content: \\\"\\\\ed3b\\\"; }\\n.ri-flashlight-fill:before { content: \\\"\\\\ed3c\\\"; }\\n.ri-flashlight-line:before { content: \\\"\\\\ed3d\\\"; }\\n.ri-flask-fill:before { content: \\\"\\\\ed3e\\\"; }\\n.ri-flask-line:before { content: \\\"\\\\ed3f\\\"; }\\n.ri-flight-land-fill:before { content: \\\"\\\\ed40\\\"; }\\n.ri-flight-land-line:before { content: \\\"\\\\ed41\\\"; }\\n.ri-flight-takeoff-fill:before { content: \\\"\\\\ed42\\\"; }\\n.ri-flight-takeoff-line:before { content: \\\"\\\\ed43\\\"; }\\n.ri-flood-fill:before { content: \\\"\\\\ed44\\\"; }\\n.ri-flood-line:before { content: \\\"\\\\ed45\\\"; }\\n.ri-flow-chart:before { content: \\\"\\\\ed46\\\"; }\\n.ri-flutter-fill:before { content: \\\"\\\\ed47\\\"; }\\n.ri-flutter-line:before { content: \\\"\\\\ed48\\\"; }\\n.ri-focus-2-fill:before { content: \\\"\\\\ed49\\\"; }\\n.ri-focus-2-line:before { content: \\\"\\\\ed4a\\\"; }\\n.ri-focus-3-fill:before { content: \\\"\\\\ed4b\\\"; }\\n.ri-focus-3-line:before { content: \\\"\\\\ed4c\\\"; }\\n.ri-focus-fill:before { content: \\\"\\\\ed4d\\\"; }\\n.ri-focus-line:before { content: \\\"\\\\ed4e\\\"; }\\n.ri-foggy-fill:before { content: \\\"\\\\ed4f\\\"; }\\n.ri-foggy-line:before { content: \\\"\\\\ed50\\\"; }\\n.ri-folder-2-fill:before { content: \\\"\\\\ed51\\\"; }\\n.ri-folder-2-line:before { content: \\\"\\\\ed52\\\"; }\\n.ri-folder-3-fill:before { content: \\\"\\\\ed53\\\"; }\\n.ri-folder-3-line:before { content: \\\"\\\\ed54\\\"; }\\n.ri-folder-4-fill:before { content: \\\"\\\\ed55\\\"; }\\n.ri-folder-4-line:before { content: \\\"\\\\ed56\\\"; }\\n.ri-folder-5-fill:before { content: \\\"\\\\ed57\\\"; }\\n.ri-folder-5-line:before { content: \\\"\\\\ed58\\\"; }\\n.ri-folder-add-fill:before { content: \\\"\\\\ed59\\\"; }\\n.ri-folder-add-line:before { content: \\\"\\\\ed5a\\\"; }\\n.ri-folder-chart-2-fill:before { content: \\\"\\\\ed5b\\\"; }\\n.ri-folder-chart-2-line:before { content: \\\"\\\\ed5c\\\"; }\\n.ri-folder-chart-fill:before { content: \\\"\\\\ed5d\\\"; }\\n.ri-folder-chart-line:before { content: \\\"\\\\ed5e\\\"; }\\n.ri-folder-download-fill:before { content: \\\"\\\\ed5f\\\"; }\\n.ri-folder-download-line:before { content: \\\"\\\\ed60\\\"; }\\n.ri-folder-fill:before { content: \\\"\\\\ed61\\\"; }\\n.ri-folder-forbid-fill:before { content: \\\"\\\\ed62\\\"; }\\n.ri-folder-forbid-line:before { content: \\\"\\\\ed63\\\"; }\\n.ri-folder-history-fill:before { content: \\\"\\\\ed64\\\"; }\\n.ri-folder-history-line:before { content: \\\"\\\\ed65\\\"; }\\n.ri-folder-info-fill:before { content: \\\"\\\\ed66\\\"; }\\n.ri-folder-info-line:before { content: \\\"\\\\ed67\\\"; }\\n.ri-folder-keyhole-fill:before { content: \\\"\\\\ed68\\\"; }\\n.ri-folder-keyhole-line:before { content: \\\"\\\\ed69\\\"; }\\n.ri-folder-line:before { content: \\\"\\\\ed6a\\\"; }\\n.ri-folder-lock-fill:before { content: \\\"\\\\ed6b\\\"; }\\n.ri-folder-lock-line:before { content: \\\"\\\\ed6c\\\"; }\\n.ri-folder-music-fill:before { content: \\\"\\\\ed6d\\\"; }\\n.ri-folder-music-line:before { content: \\\"\\\\ed6e\\\"; }\\n.ri-folder-open-fill:before { content: \\\"\\\\ed6f\\\"; }\\n.ri-folder-open-line:before { content: \\\"\\\\ed70\\\"; }\\n.ri-folder-received-fill:before { content: \\\"\\\\ed71\\\"; }\\n.ri-folder-received-line:before { content: \\\"\\\\ed72\\\"; }\\n.ri-folder-reduce-fill:before { content: \\\"\\\\ed73\\\"; }\\n.ri-folder-reduce-line:before { content: \\\"\\\\ed74\\\"; }\\n.ri-folder-settings-fill:before { content: \\\"\\\\ed75\\\"; }\\n.ri-folder-settings-line:before { content: \\\"\\\\ed76\\\"; }\\n.ri-folder-shared-fill:before { content: \\\"\\\\ed77\\\"; }\\n.ri-folder-shared-line:before { content: \\\"\\\\ed78\\\"; }\\n.ri-folder-shield-2-fill:before { content: \\\"\\\\ed79\\\"; }\\n.ri-folder-shield-2-line:before { content: \\\"\\\\ed7a\\\"; }\\n.ri-folder-shield-fill:before { content: \\\"\\\\ed7b\\\"; }\\n.ri-folder-shield-line:before { content: \\\"\\\\ed7c\\\"; }\\n.ri-folder-transfer-fill:before { content: \\\"\\\\ed7d\\\"; }\\n.ri-folder-transfer-line:before { content: \\\"\\\\ed7e\\\"; }\\n.ri-folder-unknow-fill:before { content: \\\"\\\\ed7f\\\"; }\\n.ri-folder-unknow-line:before { content: \\\"\\\\ed80\\\"; }\\n.ri-folder-upload-fill:before { content: \\\"\\\\ed81\\\"; }\\n.ri-folder-upload-line:before { content: \\\"\\\\ed82\\\"; }\\n.ri-folder-user-fill:before { content: \\\"\\\\ed83\\\"; }\\n.ri-folder-user-line:before { content: \\\"\\\\ed84\\\"; }\\n.ri-folder-warning-fill:before { content: \\\"\\\\ed85\\\"; }\\n.ri-folder-warning-line:before { content: \\\"\\\\ed86\\\"; }\\n.ri-folder-zip-fill:before { content: \\\"\\\\ed87\\\"; }\\n.ri-folder-zip-line:before { content: \\\"\\\\ed88\\\"; }\\n.ri-folders-fill:before { content: \\\"\\\\ed89\\\"; }\\n.ri-folders-line:before { content: \\\"\\\\ed8a\\\"; }\\n.ri-font-color:before { content: \\\"\\\\ed8b\\\"; }\\n.ri-font-size-2:before { content: \\\"\\\\ed8c\\\"; }\\n.ri-font-size:before { content: \\\"\\\\ed8d\\\"; }\\n.ri-football-fill:before { content: \\\"\\\\ed8e\\\"; }\\n.ri-football-line:before { content: \\\"\\\\ed8f\\\"; }\\n.ri-footprint-fill:before { content: \\\"\\\\ed90\\\"; }\\n.ri-footprint-line:before { content: \\\"\\\\ed91\\\"; }\\n.ri-forbid-2-fill:before { content: \\\"\\\\ed92\\\"; }\\n.ri-forbid-2-line:before { content: \\\"\\\\ed93\\\"; }\\n.ri-forbid-fill:before { content: \\\"\\\\ed94\\\"; }\\n.ri-forbid-line:before { content: \\\"\\\\ed95\\\"; }\\n.ri-format-clear:before { content: \\\"\\\\ed96\\\"; }\\n.ri-fridge-fill:before { content: \\\"\\\\ed97\\\"; }\\n.ri-fridge-line:before { content: \\\"\\\\ed98\\\"; }\\n.ri-fullscreen-exit-fill:before { content: \\\"\\\\ed99\\\"; }\\n.ri-fullscreen-exit-line:before { content: \\\"\\\\ed9a\\\"; }\\n.ri-fullscreen-fill:before { content: \\\"\\\\ed9b\\\"; }\\n.ri-fullscreen-line:before { content: \\\"\\\\ed9c\\\"; }\\n.ri-function-fill:before { content: \\\"\\\\ed9d\\\"; }\\n.ri-function-line:before { content: \\\"\\\\ed9e\\\"; }\\n.ri-functions:before { content: \\\"\\\\ed9f\\\"; }\\n.ri-funds-box-fill:before { content: \\\"\\\\eda0\\\"; }\\n.ri-funds-box-line:before { content: \\\"\\\\eda1\\\"; }\\n.ri-funds-fill:before { content: \\\"\\\\eda2\\\"; }\\n.ri-funds-line:before { content: \\\"\\\\eda3\\\"; }\\n.ri-gallery-fill:before { content: \\\"\\\\eda4\\\"; }\\n.ri-gallery-line:before { content: \\\"\\\\eda5\\\"; }\\n.ri-gallery-upload-fill:before { content: \\\"\\\\eda6\\\"; }\\n.ri-gallery-upload-line:before { content: \\\"\\\\eda7\\\"; }\\n.ri-game-fill:before { content: \\\"\\\\eda8\\\"; }\\n.ri-game-line:before { content: \\\"\\\\eda9\\\"; }\\n.ri-gamepad-fill:before { content: \\\"\\\\edaa\\\"; }\\n.ri-gamepad-line:before { content: \\\"\\\\edab\\\"; }\\n.ri-gas-station-fill:before { content: \\\"\\\\edac\\\"; }\\n.ri-gas-station-line:before { content: \\\"\\\\edad\\\"; }\\n.ri-gatsby-fill:before { content: \\\"\\\\edae\\\"; }\\n.ri-gatsby-line:before { content: \\\"\\\\edaf\\\"; }\\n.ri-genderless-fill:before { content: \\\"\\\\edb0\\\"; }\\n.ri-genderless-line:before { content: \\\"\\\\edb1\\\"; }\\n.ri-ghost-2-fill:before { content: \\\"\\\\edb2\\\"; }\\n.ri-ghost-2-line:before { content: \\\"\\\\edb3\\\"; }\\n.ri-ghost-fill:before { content: \\\"\\\\edb4\\\"; }\\n.ri-ghost-line:before { content: \\\"\\\\edb5\\\"; }\\n.ri-ghost-smile-fill:before { content: \\\"\\\\edb6\\\"; }\\n.ri-ghost-smile-line:before { content: \\\"\\\\edb7\\\"; }\\n.ri-gift-2-fill:before { content: \\\"\\\\edb8\\\"; }\\n.ri-gift-2-line:before { content: \\\"\\\\edb9\\\"; }\\n.ri-gift-fill:before { content: \\\"\\\\edba\\\"; }\\n.ri-gift-line:before { content: \\\"\\\\edbb\\\"; }\\n.ri-git-branch-fill:before { content: \\\"\\\\edbc\\\"; }\\n.ri-git-branch-line:before { content: \\\"\\\\edbd\\\"; }\\n.ri-git-commit-fill:before { content: \\\"\\\\edbe\\\"; }\\n.ri-git-commit-line:before { content: \\\"\\\\edbf\\\"; }\\n.ri-git-merge-fill:before { content: \\\"\\\\edc0\\\"; }\\n.ri-git-merge-line:before { content: \\\"\\\\edc1\\\"; }\\n.ri-git-pull-request-fill:before { content: \\\"\\\\edc2\\\"; }\\n.ri-git-pull-request-line:before { content: \\\"\\\\edc3\\\"; }\\n.ri-git-repository-commits-fill:before { content: \\\"\\\\edc4\\\"; }\\n.ri-git-repository-commits-line:before { content: \\\"\\\\edc5\\\"; }\\n.ri-git-repository-fill:before { content: \\\"\\\\edc6\\\"; }\\n.ri-git-repository-line:before { content: \\\"\\\\edc7\\\"; }\\n.ri-git-repository-private-fill:before { content: \\\"\\\\edc8\\\"; }\\n.ri-git-repository-private-line:before { content: \\\"\\\\edc9\\\"; }\\n.ri-github-fill:before { content: \\\"\\\\edca\\\"; }\\n.ri-github-line:before { content: \\\"\\\\edcb\\\"; }\\n.ri-gitlab-fill:before { content: \\\"\\\\edcc\\\"; }\\n.ri-gitlab-line:before { content: \\\"\\\\edcd\\\"; }\\n.ri-global-fill:before { content: \\\"\\\\edce\\\"; }\\n.ri-global-line:before { content: \\\"\\\\edcf\\\"; }\\n.ri-globe-fill:before { content: \\\"\\\\edd0\\\"; }\\n.ri-globe-line:before { content: \\\"\\\\edd1\\\"; }\\n.ri-goblet-fill:before { content: \\\"\\\\edd2\\\"; }\\n.ri-goblet-line:before { content: \\\"\\\\edd3\\\"; }\\n.ri-google-fill:before { content: \\\"\\\\edd4\\\"; }\\n.ri-google-line:before { content: \\\"\\\\edd5\\\"; }\\n.ri-google-play-fill:before { content: \\\"\\\\edd6\\\"; }\\n.ri-google-play-line:before { content: \\\"\\\\edd7\\\"; }\\n.ri-government-fill:before { content: \\\"\\\\edd8\\\"; }\\n.ri-government-line:before { content: \\\"\\\\edd9\\\"; }\\n.ri-gps-fill:before { content: \\\"\\\\edda\\\"; }\\n.ri-gps-line:before { content: \\\"\\\\eddb\\\"; }\\n.ri-gradienter-fill:before { content: \\\"\\\\eddc\\\"; }\\n.ri-gradienter-line:before { content: \\\"\\\\eddd\\\"; }\\n.ri-grid-fill:before { content: \\\"\\\\edde\\\"; }\\n.ri-grid-line:before { content: \\\"\\\\eddf\\\"; }\\n.ri-group-2-fill:before { content: \\\"\\\\ede0\\\"; }\\n.ri-group-2-line:before { content: \\\"\\\\ede1\\\"; }\\n.ri-group-fill:before { content: \\\"\\\\ede2\\\"; }\\n.ri-group-line:before { content: \\\"\\\\ede3\\\"; }\\n.ri-guide-fill:before { content: \\\"\\\\ede4\\\"; }\\n.ri-guide-line:before { content: \\\"\\\\ede5\\\"; }\\n.ri-h-1:before { content: \\\"\\\\ede6\\\"; }\\n.ri-h-2:before { content: \\\"\\\\ede7\\\"; }\\n.ri-h-3:before { content: \\\"\\\\ede8\\\"; }\\n.ri-h-4:before { content: \\\"\\\\ede9\\\"; }\\n.ri-h-5:before { content: \\\"\\\\edea\\\"; }\\n.ri-h-6:before { content: \\\"\\\\edeb\\\"; }\\n.ri-hail-fill:before { content: \\\"\\\\edec\\\"; }\\n.ri-hail-line:before { content: \\\"\\\\eded\\\"; }\\n.ri-hammer-fill:before { content: \\\"\\\\edee\\\"; }\\n.ri-hammer-line:before { content: \\\"\\\\edef\\\"; }\\n.ri-hand-coin-fill:before { content: \\\"\\\\edf0\\\"; }\\n.ri-hand-coin-line:before { content: \\\"\\\\edf1\\\"; }\\n.ri-hand-heart-fill:before { content: \\\"\\\\edf2\\\"; }\\n.ri-hand-heart-line:before { content: \\\"\\\\edf3\\\"; }\\n.ri-hand-sanitizer-fill:before { content: \\\"\\\\edf4\\\"; }\\n.ri-hand-sanitizer-line:before { content: \\\"\\\\edf5\\\"; }\\n.ri-handbag-fill:before { content: \\\"\\\\edf6\\\"; }\\n.ri-handbag-line:before { content: \\\"\\\\edf7\\\"; }\\n.ri-hard-drive-2-fill:before { content: \\\"\\\\edf8\\\"; }\\n.ri-hard-drive-2-line:before { content: \\\"\\\\edf9\\\"; }\\n.ri-hard-drive-fill:before { content: \\\"\\\\edfa\\\"; }\\n.ri-hard-drive-line:before { content: \\\"\\\\edfb\\\"; }\\n.ri-hashtag:before { content: \\\"\\\\edfc\\\"; }\\n.ri-haze-2-fill:before { content: \\\"\\\\edfd\\\"; }\\n.ri-haze-2-line:before { content: \\\"\\\\edfe\\\"; }\\n.ri-haze-fill:before { content: \\\"\\\\edff\\\"; }\\n.ri-haze-line:before { content: \\\"\\\\ee00\\\"; }\\n.ri-hd-fill:before { content: \\\"\\\\ee01\\\"; }\\n.ri-hd-line:before { content: \\\"\\\\ee02\\\"; }\\n.ri-heading:before { content: \\\"\\\\ee03\\\"; }\\n.ri-headphone-fill:before { content: \\\"\\\\ee04\\\"; }\\n.ri-headphone-line:before { content: \\\"\\\\ee05\\\"; }\\n.ri-health-book-fill:before { content: \\\"\\\\ee06\\\"; }\\n.ri-health-book-line:before { content: \\\"\\\\ee07\\\"; }\\n.ri-heart-2-fill:before { content: \\\"\\\\ee08\\\"; }\\n.ri-heart-2-line:before { content: \\\"\\\\ee09\\\"; }\\n.ri-heart-3-fill:before { content: \\\"\\\\ee0a\\\"; }\\n.ri-heart-3-line:before { content: \\\"\\\\ee0b\\\"; }\\n.ri-heart-add-fill:before { content: \\\"\\\\ee0c\\\"; }\\n.ri-heart-add-line:before { content: \\\"\\\\ee0d\\\"; }\\n.ri-heart-fill:before { content: \\\"\\\\ee0e\\\"; }\\n.ri-heart-line:before { content: \\\"\\\\ee0f\\\"; }\\n.ri-heart-pulse-fill:before { content: \\\"\\\\ee10\\\"; }\\n.ri-heart-pulse-line:before { content: \\\"\\\\ee11\\\"; }\\n.ri-hearts-fill:before { content: \\\"\\\\ee12\\\"; }\\n.ri-hearts-line:before { content: \\\"\\\\ee13\\\"; }\\n.ri-heavy-showers-fill:before { content: \\\"\\\\ee14\\\"; }\\n.ri-heavy-showers-line:before { content: \\\"\\\\ee15\\\"; }\\n.ri-history-fill:before { content: \\\"\\\\ee16\\\"; }\\n.ri-history-line:before { content: \\\"\\\\ee17\\\"; }\\n.ri-home-2-fill:before { content: \\\"\\\\ee18\\\"; }\\n.ri-home-2-line:before { content: \\\"\\\\ee19\\\"; }\\n.ri-home-3-fill:before { content: \\\"\\\\ee1a\\\"; }\\n.ri-home-3-line:before { content: \\\"\\\\ee1b\\\"; }\\n.ri-home-4-fill:before { content: \\\"\\\\ee1c\\\"; }\\n.ri-home-4-line:before { content: \\\"\\\\ee1d\\\"; }\\n.ri-home-5-fill:before { content: \\\"\\\\ee1e\\\"; }\\n.ri-home-5-line:before { content: \\\"\\\\ee1f\\\"; }\\n.ri-home-6-fill:before { content: \\\"\\\\ee20\\\"; }\\n.ri-home-6-line:before { content: \\\"\\\\ee21\\\"; }\\n.ri-home-7-fill:before { content: \\\"\\\\ee22\\\"; }\\n.ri-home-7-line:before { content: \\\"\\\\ee23\\\"; }\\n.ri-home-8-fill:before { content: \\\"\\\\ee24\\\"; }\\n.ri-home-8-line:before { content: \\\"\\\\ee25\\\"; }\\n.ri-home-fill:before { content: \\\"\\\\ee26\\\"; }\\n.ri-home-gear-fill:before { content: \\\"\\\\ee27\\\"; }\\n.ri-home-gear-line:before { content: \\\"\\\\ee28\\\"; }\\n.ri-home-heart-fill:before { content: \\\"\\\\ee29\\\"; }\\n.ri-home-heart-line:before { content: \\\"\\\\ee2a\\\"; }\\n.ri-home-line:before { content: \\\"\\\\ee2b\\\"; }\\n.ri-home-smile-2-fill:before { content: \\\"\\\\ee2c\\\"; }\\n.ri-home-smile-2-line:before { content: \\\"\\\\ee2d\\\"; }\\n.ri-home-smile-fill:before { content: \\\"\\\\ee2e\\\"; }\\n.ri-home-smile-line:before { content: \\\"\\\\ee2f\\\"; }\\n.ri-home-wifi-fill:before { content: \\\"\\\\ee30\\\"; }\\n.ri-home-wifi-line:before { content: \\\"\\\\ee31\\\"; }\\n.ri-honor-of-kings-fill:before { content: \\\"\\\\ee32\\\"; }\\n.ri-honor-of-kings-line:before { content: \\\"\\\\ee33\\\"; }\\n.ri-honour-fill:before { content: \\\"\\\\ee34\\\"; }\\n.ri-honour-line:before { content: \\\"\\\\ee35\\\"; }\\n.ri-hospital-fill:before { content: \\\"\\\\ee36\\\"; }\\n.ri-hospital-line:before { content: \\\"\\\\ee37\\\"; }\\n.ri-hotel-bed-fill:before { content: \\\"\\\\ee38\\\"; }\\n.ri-hotel-bed-line:before { content: \\\"\\\\ee39\\\"; }\\n.ri-hotel-fill:before { content: \\\"\\\\ee3a\\\"; }\\n.ri-hotel-line:before { content: \\\"\\\\ee3b\\\"; }\\n.ri-hotspot-fill:before { content: \\\"\\\\ee3c\\\"; }\\n.ri-hotspot-line:before { content: \\\"\\\\ee3d\\\"; }\\n.ri-hq-fill:before { content: \\\"\\\\ee3e\\\"; }\\n.ri-hq-line:before { content: \\\"\\\\ee3f\\\"; }\\n.ri-html5-fill:before { content: \\\"\\\\ee40\\\"; }\\n.ri-html5-line:before { content: \\\"\\\\ee41\\\"; }\\n.ri-ie-fill:before { content: \\\"\\\\ee42\\\"; }\\n.ri-ie-line:before { content: \\\"\\\\ee43\\\"; }\\n.ri-image-2-fill:before { content: \\\"\\\\ee44\\\"; }\\n.ri-image-2-line:before { content: \\\"\\\\ee45\\\"; }\\n.ri-image-add-fill:before { content: \\\"\\\\ee46\\\"; }\\n.ri-image-add-line:before { content: \\\"\\\\ee47\\\"; }\\n.ri-image-edit-fill:before { content: \\\"\\\\ee48\\\"; }\\n.ri-image-edit-line:before { content: \\\"\\\\ee49\\\"; }\\n.ri-image-fill:before { content: \\\"\\\\ee4a\\\"; }\\n.ri-image-line:before { content: \\\"\\\\ee4b\\\"; }\\n.ri-inbox-archive-fill:before { content: \\\"\\\\ee4c\\\"; }\\n.ri-inbox-archive-line:before { content: \\\"\\\\ee4d\\\"; }\\n.ri-inbox-fill:before { content: \\\"\\\\ee4e\\\"; }\\n.ri-inbox-line:before { content: \\\"\\\\ee4f\\\"; }\\n.ri-inbox-unarchive-fill:before { content: \\\"\\\\ee50\\\"; }\\n.ri-inbox-unarchive-line:before { content: \\\"\\\\ee51\\\"; }\\n.ri-increase-decrease-fill:before { content: \\\"\\\\ee52\\\"; }\\n.ri-increase-decrease-line:before { content: \\\"\\\\ee53\\\"; }\\n.ri-indent-decrease:before { content: \\\"\\\\ee54\\\"; }\\n.ri-indent-increase:before { content: \\\"\\\\ee55\\\"; }\\n.ri-indeterminate-circle-fill:before { content: \\\"\\\\ee56\\\"; }\\n.ri-indeterminate-circle-line:before { content: \\\"\\\\ee57\\\"; }\\n.ri-information-fill:before { content: \\\"\\\\ee58\\\"; }\\n.ri-information-line:before { content: \\\"\\\\ee59\\\"; }\\n.ri-infrared-thermometer-fill:before { content: \\\"\\\\ee5a\\\"; }\\n.ri-infrared-thermometer-line:before { content: \\\"\\\\ee5b\\\"; }\\n.ri-ink-bottle-fill:before { content: \\\"\\\\ee5c\\\"; }\\n.ri-ink-bottle-line:before { content: \\\"\\\\ee5d\\\"; }\\n.ri-input-cursor-move:before { content: \\\"\\\\ee5e\\\"; }\\n.ri-input-method-fill:before { content: \\\"\\\\ee5f\\\"; }\\n.ri-input-method-line:before { content: \\\"\\\\ee60\\\"; }\\n.ri-insert-column-left:before { content: \\\"\\\\ee61\\\"; }\\n.ri-insert-column-right:before { content: \\\"\\\\ee62\\\"; }\\n.ri-insert-row-bottom:before { content: \\\"\\\\ee63\\\"; }\\n.ri-insert-row-top:before { content: \\\"\\\\ee64\\\"; }\\n.ri-instagram-fill:before { content: \\\"\\\\ee65\\\"; }\\n.ri-instagram-line:before { content: \\\"\\\\ee66\\\"; }\\n.ri-install-fill:before { content: \\\"\\\\ee67\\\"; }\\n.ri-install-line:before { content: \\\"\\\\ee68\\\"; }\\n.ri-invision-fill:before { content: \\\"\\\\ee69\\\"; }\\n.ri-invision-line:before { content: \\\"\\\\ee6a\\\"; }\\n.ri-italic:before { content: \\\"\\\\ee6b\\\"; }\\n.ri-kakao-talk-fill:before { content: \\\"\\\\ee6c\\\"; }\\n.ri-kakao-talk-line:before { content: \\\"\\\\ee6d\\\"; }\\n.ri-key-2-fill:before { content: \\\"\\\\ee6e\\\"; }\\n.ri-key-2-line:before { content: \\\"\\\\ee6f\\\"; }\\n.ri-key-fill:before { content: \\\"\\\\ee70\\\"; }\\n.ri-key-line:before { content: \\\"\\\\ee71\\\"; }\\n.ri-keyboard-box-fill:before { content: \\\"\\\\ee72\\\"; }\\n.ri-keyboard-box-line:before { content: \\\"\\\\ee73\\\"; }\\n.ri-keyboard-fill:before { content: \\\"\\\\ee74\\\"; }\\n.ri-keyboard-line:before { content: \\\"\\\\ee75\\\"; }\\n.ri-keynote-fill:before { content: \\\"\\\\ee76\\\"; }\\n.ri-keynote-line:before { content: \\\"\\\\ee77\\\"; }\\n.ri-knife-blood-fill:before { content: \\\"\\\\ee78\\\"; }\\n.ri-knife-blood-line:before { content: \\\"\\\\ee79\\\"; }\\n.ri-knife-fill:before { content: \\\"\\\\ee7a\\\"; }\\n.ri-knife-line:before { content: \\\"\\\\ee7b\\\"; }\\n.ri-landscape-fill:before { content: \\\"\\\\ee7c\\\"; }\\n.ri-landscape-line:before { content: \\\"\\\\ee7d\\\"; }\\n.ri-layout-2-fill:before { content: \\\"\\\\ee7e\\\"; }\\n.ri-layout-2-line:before { content: \\\"\\\\ee7f\\\"; }\\n.ri-layout-3-fill:before { content: \\\"\\\\ee80\\\"; }\\n.ri-layout-3-line:before { content: \\\"\\\\ee81\\\"; }\\n.ri-layout-4-fill:before { content: \\\"\\\\ee82\\\"; }\\n.ri-layout-4-line:before { content: \\\"\\\\ee83\\\"; }\\n.ri-layout-5-fill:before { content: \\\"\\\\ee84\\\"; }\\n.ri-layout-5-line:before { content: \\\"\\\\ee85\\\"; }\\n.ri-layout-6-fill:before { content: \\\"\\\\ee86\\\"; }\\n.ri-layout-6-line:before { content: \\\"\\\\ee87\\\"; }\\n.ri-layout-bottom-2-fill:before { content: \\\"\\\\ee88\\\"; }\\n.ri-layout-bottom-2-line:before { content: \\\"\\\\ee89\\\"; }\\n.ri-layout-bottom-fill:before { content: \\\"\\\\ee8a\\\"; }\\n.ri-layout-bottom-line:before { content: \\\"\\\\ee8b\\\"; }\\n.ri-layout-column-fill:before { content: \\\"\\\\ee8c\\\"; }\\n.ri-layout-column-line:before { content: \\\"\\\\ee8d\\\"; }\\n.ri-layout-fill:before { content: \\\"\\\\ee8e\\\"; }\\n.ri-layout-grid-fill:before { content: \\\"\\\\ee8f\\\"; }\\n.ri-layout-grid-line:before { content: \\\"\\\\ee90\\\"; }\\n.ri-layout-left-2-fill:before { content: \\\"\\\\ee91\\\"; }\\n.ri-layout-left-2-line:before { content: \\\"\\\\ee92\\\"; }\\n.ri-layout-left-fill:before { content: \\\"\\\\ee93\\\"; }\\n.ri-layout-left-line:before { content: \\\"\\\\ee94\\\"; }\\n.ri-layout-line:before { content: \\\"\\\\ee95\\\"; }\\n.ri-layout-masonry-fill:before { content: \\\"\\\\ee96\\\"; }\\n.ri-layout-masonry-line:before { content: \\\"\\\\ee97\\\"; }\\n.ri-layout-right-2-fill:before { content: \\\"\\\\ee98\\\"; }\\n.ri-layout-right-2-line:before { content: \\\"\\\\ee99\\\"; }\\n.ri-layout-right-fill:before { content: \\\"\\\\ee9a\\\"; }\\n.ri-layout-right-line:before { content: \\\"\\\\ee9b\\\"; }\\n.ri-layout-row-fill:before { content: \\\"\\\\ee9c\\\"; }\\n.ri-layout-row-line:before { content: \\\"\\\\ee9d\\\"; }\\n.ri-layout-top-2-fill:before { content: \\\"\\\\ee9e\\\"; }\\n.ri-layout-top-2-line:before { content: \\\"\\\\ee9f\\\"; }\\n.ri-layout-top-fill:before { content: \\\"\\\\eea0\\\"; }\\n.ri-layout-top-line:before { content: \\\"\\\\eea1\\\"; }\\n.ri-leaf-fill:before { content: \\\"\\\\eea2\\\"; }\\n.ri-leaf-line:before { content: \\\"\\\\eea3\\\"; }\\n.ri-lifebuoy-fill:before { content: \\\"\\\\eea4\\\"; }\\n.ri-lifebuoy-line:before { content: \\\"\\\\eea5\\\"; }\\n.ri-lightbulb-fill:before { content: \\\"\\\\eea6\\\"; }\\n.ri-lightbulb-flash-fill:before { content: \\\"\\\\eea7\\\"; }\\n.ri-lightbulb-flash-line:before { content: \\\"\\\\eea8\\\"; }\\n.ri-lightbulb-line:before { content: \\\"\\\\eea9\\\"; }\\n.ri-line-chart-fill:before { content: \\\"\\\\eeaa\\\"; }\\n.ri-line-chart-line:before { content: \\\"\\\\eeab\\\"; }\\n.ri-line-fill:before { content: \\\"\\\\eeac\\\"; }\\n.ri-line-height:before { content: \\\"\\\\eead\\\"; }\\n.ri-line-line:before { content: \\\"\\\\eeae\\\"; }\\n.ri-link-m:before { content: \\\"\\\\eeaf\\\"; }\\n.ri-link-unlink-m:before { content: \\\"\\\\eeb0\\\"; }\\n.ri-link-unlink:before { content: \\\"\\\\eeb1\\\"; }\\n.ri-link:before { content: \\\"\\\\eeb2\\\"; }\\n.ri-linkedin-box-fill:before { content: \\\"\\\\eeb3\\\"; }\\n.ri-linkedin-box-line:before { content: \\\"\\\\eeb4\\\"; }\\n.ri-linkedin-fill:before { content: \\\"\\\\eeb5\\\"; }\\n.ri-linkedin-line:before { content: \\\"\\\\eeb6\\\"; }\\n.ri-links-fill:before { content: \\\"\\\\eeb7\\\"; }\\n.ri-links-line:before { content: \\\"\\\\eeb8\\\"; }\\n.ri-list-check-2:before { content: \\\"\\\\eeb9\\\"; }\\n.ri-list-check:before { content: \\\"\\\\eeba\\\"; }\\n.ri-list-ordered:before { content: \\\"\\\\eebb\\\"; }\\n.ri-list-settings-fill:before { content: \\\"\\\\eebc\\\"; }\\n.ri-list-settings-line:before { content: \\\"\\\\eebd\\\"; }\\n.ri-list-unordered:before { content: \\\"\\\\eebe\\\"; }\\n.ri-live-fill:before { content: \\\"\\\\eebf\\\"; }\\n.ri-live-line:before { content: \\\"\\\\eec0\\\"; }\\n.ri-loader-2-fill:before { content: \\\"\\\\eec1\\\"; }\\n.ri-loader-2-line:before { content: \\\"\\\\eec2\\\"; }\\n.ri-loader-3-fill:before { content: \\\"\\\\eec3\\\"; }\\n.ri-loader-3-line:before { content: \\\"\\\\eec4\\\"; }\\n.ri-loader-4-fill:before { content: \\\"\\\\eec5\\\"; }\\n.ri-loader-4-line:before { content: \\\"\\\\eec6\\\"; }\\n.ri-loader-5-fill:before { content: \\\"\\\\eec7\\\"; }\\n.ri-loader-5-line:before { content: \\\"\\\\eec8\\\"; }\\n.ri-loader-fill:before { content: \\\"\\\\eec9\\\"; }\\n.ri-loader-line:before { content: \\\"\\\\eeca\\\"; }\\n.ri-lock-2-fill:before { content: \\\"\\\\eecb\\\"; }\\n.ri-lock-2-line:before { content: \\\"\\\\eecc\\\"; }\\n.ri-lock-fill:before { content: \\\"\\\\eecd\\\"; }\\n.ri-lock-line:before { content: \\\"\\\\eece\\\"; }\\n.ri-lock-password-fill:before { content: \\\"\\\\eecf\\\"; }\\n.ri-lock-password-line:before { content: \\\"\\\\eed0\\\"; }\\n.ri-lock-unlock-fill:before { content: \\\"\\\\eed1\\\"; }\\n.ri-lock-unlock-line:before { content: \\\"\\\\eed2\\\"; }\\n.ri-login-box-fill:before { content: \\\"\\\\eed3\\\"; }\\n.ri-login-box-line:before { content: \\\"\\\\eed4\\\"; }\\n.ri-login-circle-fill:before { content: \\\"\\\\eed5\\\"; }\\n.ri-login-circle-line:before { content: \\\"\\\\eed6\\\"; }\\n.ri-logout-box-fill:before { content: \\\"\\\\eed7\\\"; }\\n.ri-logout-box-line:before { content: \\\"\\\\eed8\\\"; }\\n.ri-logout-box-r-fill:before { content: \\\"\\\\eed9\\\"; }\\n.ri-logout-box-r-line:before { content: \\\"\\\\eeda\\\"; }\\n.ri-logout-circle-fill:before { content: \\\"\\\\eedb\\\"; }\\n.ri-logout-circle-line:before { content: \\\"\\\\eedc\\\"; }\\n.ri-logout-circle-r-fill:before { content: \\\"\\\\eedd\\\"; }\\n.ri-logout-circle-r-line:before { content: \\\"\\\\eede\\\"; }\\n.ri-luggage-cart-fill:before { content: \\\"\\\\eedf\\\"; }\\n.ri-luggage-cart-line:before { content: \\\"\\\\eee0\\\"; }\\n.ri-luggage-deposit-fill:before { content: \\\"\\\\eee1\\\"; }\\n.ri-luggage-deposit-line:before { content: \\\"\\\\eee2\\\"; }\\n.ri-lungs-fill:before { content: \\\"\\\\eee3\\\"; }\\n.ri-lungs-line:before { content: \\\"\\\\eee4\\\"; }\\n.ri-mac-fill:before { content: \\\"\\\\eee5\\\"; }\\n.ri-mac-line:before { content: \\\"\\\\eee6\\\"; }\\n.ri-macbook-fill:before { content: \\\"\\\\eee7\\\"; }\\n.ri-macbook-line:before { content: \\\"\\\\eee8\\\"; }\\n.ri-magic-fill:before { content: \\\"\\\\eee9\\\"; }\\n.ri-magic-line:before { content: \\\"\\\\eeea\\\"; }\\n.ri-mail-add-fill:before { content: \\\"\\\\eeeb\\\"; }\\n.ri-mail-add-line:before { content: \\\"\\\\eeec\\\"; }\\n.ri-mail-check-fill:before { content: \\\"\\\\eeed\\\"; }\\n.ri-mail-check-line:before { content: \\\"\\\\eeee\\\"; }\\n.ri-mail-close-fill:before { content: \\\"\\\\eeef\\\"; }\\n.ri-mail-close-line:before { content: \\\"\\\\eef0\\\"; }\\n.ri-mail-download-fill:before { content: \\\"\\\\eef1\\\"; }\\n.ri-mail-download-line:before { content: \\\"\\\\eef2\\\"; }\\n.ri-mail-fill:before { content: \\\"\\\\eef3\\\"; }\\n.ri-mail-forbid-fill:before { content: \\\"\\\\eef4\\\"; }\\n.ri-mail-forbid-line:before { content: \\\"\\\\eef5\\\"; }\\n.ri-mail-line:before { content: \\\"\\\\eef6\\\"; }\\n.ri-mail-lock-fill:before { content: \\\"\\\\eef7\\\"; }\\n.ri-mail-lock-line:before { content: \\\"\\\\eef8\\\"; }\\n.ri-mail-open-fill:before { content: \\\"\\\\eef9\\\"; }\\n.ri-mail-open-line:before { content: \\\"\\\\eefa\\\"; }\\n.ri-mail-send-fill:before { content: \\\"\\\\eefb\\\"; }\\n.ri-mail-send-line:before { content: \\\"\\\\eefc\\\"; }\\n.ri-mail-settings-fill:before { content: \\\"\\\\eefd\\\"; }\\n.ri-mail-settings-line:before { content: \\\"\\\\eefe\\\"; }\\n.ri-mail-star-fill:before { content: \\\"\\\\eeff\\\"; }\\n.ri-mail-star-line:before { content: \\\"\\\\ef00\\\"; }\\n.ri-mail-unread-fill:before { content: \\\"\\\\ef01\\\"; }\\n.ri-mail-unread-line:before { content: \\\"\\\\ef02\\\"; }\\n.ri-mail-volume-fill:before { content: \\\"\\\\ef03\\\"; }\\n.ri-mail-volume-line:before { content: \\\"\\\\ef04\\\"; }\\n.ri-map-2-fill:before { content: \\\"\\\\ef05\\\"; }\\n.ri-map-2-line:before { content: \\\"\\\\ef06\\\"; }\\n.ri-map-fill:before { content: \\\"\\\\ef07\\\"; }\\n.ri-map-line:before { content: \\\"\\\\ef08\\\"; }\\n.ri-map-pin-2-fill:before { content: \\\"\\\\ef09\\\"; }\\n.ri-map-pin-2-line:before { content: \\\"\\\\ef0a\\\"; }\\n.ri-map-pin-3-fill:before { content: \\\"\\\\ef0b\\\"; }\\n.ri-map-pin-3-line:before { content: \\\"\\\\ef0c\\\"; }\\n.ri-map-pin-4-fill:before { content: \\\"\\\\ef0d\\\"; }\\n.ri-map-pin-4-line:before { content: \\\"\\\\ef0e\\\"; }\\n.ri-map-pin-5-fill:before { content: \\\"\\\\ef0f\\\"; }\\n.ri-map-pin-5-line:before { content: \\\"\\\\ef10\\\"; }\\n.ri-map-pin-add-fill:before { content: \\\"\\\\ef11\\\"; }\\n.ri-map-pin-add-line:before { content: \\\"\\\\ef12\\\"; }\\n.ri-map-pin-fill:before { content: \\\"\\\\ef13\\\"; }\\n.ri-map-pin-line:before { content: \\\"\\\\ef14\\\"; }\\n.ri-map-pin-range-fill:before { content: \\\"\\\\ef15\\\"; }\\n.ri-map-pin-range-line:before { content: \\\"\\\\ef16\\\"; }\\n.ri-map-pin-time-fill:before { content: \\\"\\\\ef17\\\"; }\\n.ri-map-pin-time-line:before { content: \\\"\\\\ef18\\\"; }\\n.ri-map-pin-user-fill:before { content: \\\"\\\\ef19\\\"; }\\n.ri-map-pin-user-line:before { content: \\\"\\\\ef1a\\\"; }\\n.ri-mark-pen-fill:before { content: \\\"\\\\ef1b\\\"; }\\n.ri-mark-pen-line:before { content: \\\"\\\\ef1c\\\"; }\\n.ri-markdown-fill:before { content: \\\"\\\\ef1d\\\"; }\\n.ri-markdown-line:before { content: \\\"\\\\ef1e\\\"; }\\n.ri-markup-fill:before { content: \\\"\\\\ef1f\\\"; }\\n.ri-markup-line:before { content: \\\"\\\\ef20\\\"; }\\n.ri-mastercard-fill:before { content: \\\"\\\\ef21\\\"; }\\n.ri-mastercard-line:before { content: \\\"\\\\ef22\\\"; }\\n.ri-mastodon-fill:before { content: \\\"\\\\ef23\\\"; }\\n.ri-mastodon-line:before { content: \\\"\\\\ef24\\\"; }\\n.ri-medal-2-fill:before { content: \\\"\\\\ef25\\\"; }\\n.ri-medal-2-line:before { content: \\\"\\\\ef26\\\"; }\\n.ri-medal-fill:before { content: \\\"\\\\ef27\\\"; }\\n.ri-medal-line:before { content: \\\"\\\\ef28\\\"; }\\n.ri-medicine-bottle-fill:before { content: \\\"\\\\ef29\\\"; }\\n.ri-medicine-bottle-line:before { content: \\\"\\\\ef2a\\\"; }\\n.ri-medium-fill:before { content: \\\"\\\\ef2b\\\"; }\\n.ri-medium-line:before { content: \\\"\\\\ef2c\\\"; }\\n.ri-men-fill:before { content: \\\"\\\\ef2d\\\"; }\\n.ri-men-line:before { content: \\\"\\\\ef2e\\\"; }\\n.ri-mental-health-fill:before { content: \\\"\\\\ef2f\\\"; }\\n.ri-mental-health-line:before { content: \\\"\\\\ef30\\\"; }\\n.ri-menu-2-fill:before { content: \\\"\\\\ef31\\\"; }\\n.ri-menu-2-line:before { content: \\\"\\\\ef32\\\"; }\\n.ri-menu-3-fill:before { content: \\\"\\\\ef33\\\"; }\\n.ri-menu-3-line:before { content: \\\"\\\\ef34\\\"; }\\n.ri-menu-4-fill:before { content: \\\"\\\\ef35\\\"; }\\n.ri-menu-4-line:before { content: \\\"\\\\ef36\\\"; }\\n.ri-menu-5-fill:before { content: \\\"\\\\ef37\\\"; }\\n.ri-menu-5-line:before { content: \\\"\\\\ef38\\\"; }\\n.ri-menu-add-fill:before { content: \\\"\\\\ef39\\\"; }\\n.ri-menu-add-line:before { content: \\\"\\\\ef3a\\\"; }\\n.ri-menu-fill:before { content: \\\"\\\\ef3b\\\"; }\\n.ri-menu-fold-fill:before { content: \\\"\\\\ef3c\\\"; }\\n.ri-menu-fold-line:before { content: \\\"\\\\ef3d\\\"; }\\n.ri-menu-line:before { content: \\\"\\\\ef3e\\\"; }\\n.ri-menu-unfold-fill:before { content: \\\"\\\\ef3f\\\"; }\\n.ri-menu-unfold-line:before { content: \\\"\\\\ef40\\\"; }\\n.ri-merge-cells-horizontal:before { content: \\\"\\\\ef41\\\"; }\\n.ri-merge-cells-vertical:before { content: \\\"\\\\ef42\\\"; }\\n.ri-message-2-fill:before { content: \\\"\\\\ef43\\\"; }\\n.ri-message-2-line:before { content: \\\"\\\\ef44\\\"; }\\n.ri-message-3-fill:before { content: \\\"\\\\ef45\\\"; }\\n.ri-message-3-line:before { content: \\\"\\\\ef46\\\"; }\\n.ri-message-fill:before { content: \\\"\\\\ef47\\\"; }\\n.ri-message-line:before { content: \\\"\\\\ef48\\\"; }\\n.ri-messenger-fill:before { content: \\\"\\\\ef49\\\"; }\\n.ri-messenger-line:before { content: \\\"\\\\ef4a\\\"; }\\n.ri-meteor-fill:before { content: \\\"\\\\ef4b\\\"; }\\n.ri-meteor-line:before { content: \\\"\\\\ef4c\\\"; }\\n.ri-mic-2-fill:before { content: \\\"\\\\ef4d\\\"; }\\n.ri-mic-2-line:before { content: \\\"\\\\ef4e\\\"; }\\n.ri-mic-fill:before { content: \\\"\\\\ef4f\\\"; }\\n.ri-mic-line:before { content: \\\"\\\\ef50\\\"; }\\n.ri-mic-off-fill:before { content: \\\"\\\\ef51\\\"; }\\n.ri-mic-off-line:before { content: \\\"\\\\ef52\\\"; }\\n.ri-mickey-fill:before { content: \\\"\\\\ef53\\\"; }\\n.ri-mickey-line:before { content: \\\"\\\\ef54\\\"; }\\n.ri-microscope-fill:before { content: \\\"\\\\ef55\\\"; }\\n.ri-microscope-line:before { content: \\\"\\\\ef56\\\"; }\\n.ri-microsoft-fill:before { content: \\\"\\\\ef57\\\"; }\\n.ri-microsoft-line:before { content: \\\"\\\\ef58\\\"; }\\n.ri-mind-map:before { content: \\\"\\\\ef59\\\"; }\\n.ri-mini-program-fill:before { content: \\\"\\\\ef5a\\\"; }\\n.ri-mini-program-line:before { content: \\\"\\\\ef5b\\\"; }\\n.ri-mist-fill:before { content: \\\"\\\\ef5c\\\"; }\\n.ri-mist-line:before { content: \\\"\\\\ef5d\\\"; }\\n.ri-money-cny-box-fill:before { content: \\\"\\\\ef5e\\\"; }\\n.ri-money-cny-box-line:before { content: \\\"\\\\ef5f\\\"; }\\n.ri-money-cny-circle-fill:before { content: \\\"\\\\ef60\\\"; }\\n.ri-money-cny-circle-line:before { content: \\\"\\\\ef61\\\"; }\\n.ri-money-dollar-box-fill:before { content: \\\"\\\\ef62\\\"; }\\n.ri-money-dollar-box-line:before { content: \\\"\\\\ef63\\\"; }\\n.ri-money-dollar-circle-fill:before { content: \\\"\\\\ef64\\\"; }\\n.ri-money-dollar-circle-line:before { content: \\\"\\\\ef65\\\"; }\\n.ri-money-euro-box-fill:before { content: \\\"\\\\ef66\\\"; }\\n.ri-money-euro-box-line:before { content: \\\"\\\\ef67\\\"; }\\n.ri-money-euro-circle-fill:before { content: \\\"\\\\ef68\\\"; }\\n.ri-money-euro-circle-line:before { content: \\\"\\\\ef69\\\"; }\\n.ri-money-pound-box-fill:before { content: \\\"\\\\ef6a\\\"; }\\n.ri-money-pound-box-line:before { content: \\\"\\\\ef6b\\\"; }\\n.ri-money-pound-circle-fill:before { content: \\\"\\\\ef6c\\\"; }\\n.ri-money-pound-circle-line:before { content: \\\"\\\\ef6d\\\"; }\\n.ri-moon-clear-fill:before { content: \\\"\\\\ef6e\\\"; }\\n.ri-moon-clear-line:before { content: \\\"\\\\ef6f\\\"; }\\n.ri-moon-cloudy-fill:before { content: \\\"\\\\ef70\\\"; }\\n.ri-moon-cloudy-line:before { content: \\\"\\\\ef71\\\"; }\\n.ri-moon-fill:before { content: \\\"\\\\ef72\\\"; }\\n.ri-moon-foggy-fill:before { content: \\\"\\\\ef73\\\"; }\\n.ri-moon-foggy-line:before { content: \\\"\\\\ef74\\\"; }\\n.ri-moon-line:before { content: \\\"\\\\ef75\\\"; }\\n.ri-more-2-fill:before { content: \\\"\\\\ef76\\\"; }\\n.ri-more-2-line:before { content: \\\"\\\\ef77\\\"; }\\n.ri-more-fill:before { content: \\\"\\\\ef78\\\"; }\\n.ri-more-line:before { content: \\\"\\\\ef79\\\"; }\\n.ri-motorbike-fill:before { content: \\\"\\\\ef7a\\\"; }\\n.ri-motorbike-line:before { content: \\\"\\\\ef7b\\\"; }\\n.ri-mouse-fill:before { content: \\\"\\\\ef7c\\\"; }\\n.ri-mouse-line:before { content: \\\"\\\\ef7d\\\"; }\\n.ri-movie-2-fill:before { content: \\\"\\\\ef7e\\\"; }\\n.ri-movie-2-line:before { content: \\\"\\\\ef7f\\\"; }\\n.ri-movie-fill:before { content: \\\"\\\\ef80\\\"; }\\n.ri-movie-line:before { content: \\\"\\\\ef81\\\"; }\\n.ri-music-2-fill:before { content: \\\"\\\\ef82\\\"; }\\n.ri-music-2-line:before { content: \\\"\\\\ef83\\\"; }\\n.ri-music-fill:before { content: \\\"\\\\ef84\\\"; }\\n.ri-music-line:before { content: \\\"\\\\ef85\\\"; }\\n.ri-mv-fill:before { content: \\\"\\\\ef86\\\"; }\\n.ri-mv-line:before { content: \\\"\\\\ef87\\\"; }\\n.ri-navigation-fill:before { content: \\\"\\\\ef88\\\"; }\\n.ri-navigation-line:before { content: \\\"\\\\ef89\\\"; }\\n.ri-netease-cloud-music-fill:before { content: \\\"\\\\ef8a\\\"; }\\n.ri-netease-cloud-music-line:before { content: \\\"\\\\ef8b\\\"; }\\n.ri-netflix-fill:before { content: \\\"\\\\ef8c\\\"; }\\n.ri-netflix-line:before { content: \\\"\\\\ef8d\\\"; }\\n.ri-newspaper-fill:before { content: \\\"\\\\ef8e\\\"; }\\n.ri-newspaper-line:before { content: \\\"\\\\ef8f\\\"; }\\n.ri-node-tree:before { content: \\\"\\\\ef90\\\"; }\\n.ri-notification-2-fill:before { content: \\\"\\\\ef91\\\"; }\\n.ri-notification-2-line:before { content: \\\"\\\\ef92\\\"; }\\n.ri-notification-3-fill:before { content: \\\"\\\\ef93\\\"; }\\n.ri-notification-3-line:before { content: \\\"\\\\ef94\\\"; }\\n.ri-notification-4-fill:before { content: \\\"\\\\ef95\\\"; }\\n.ri-notification-4-line:before { content: \\\"\\\\ef96\\\"; }\\n.ri-notification-badge-fill:before { content: \\\"\\\\ef97\\\"; }\\n.ri-notification-badge-line:before { content: \\\"\\\\ef98\\\"; }\\n.ri-notification-fill:before { content: \\\"\\\\ef99\\\"; }\\n.ri-notification-line:before { content: \\\"\\\\ef9a\\\"; }\\n.ri-notification-off-fill:before { content: \\\"\\\\ef9b\\\"; }\\n.ri-notification-off-line:before { content: \\\"\\\\ef9c\\\"; }\\n.ri-npmjs-fill:before { content: \\\"\\\\ef9d\\\"; }\\n.ri-npmjs-line:before { content: \\\"\\\\ef9e\\\"; }\\n.ri-number-0:before { content: \\\"\\\\ef9f\\\"; }\\n.ri-number-1:before { content: \\\"\\\\efa0\\\"; }\\n.ri-number-2:before { content: \\\"\\\\efa1\\\"; }\\n.ri-number-3:before { content: \\\"\\\\efa2\\\"; }\\n.ri-number-4:before { content: \\\"\\\\efa3\\\"; }\\n.ri-number-5:before { content: \\\"\\\\efa4\\\"; }\\n.ri-number-6:before { content: \\\"\\\\efa5\\\"; }\\n.ri-number-7:before { content: \\\"\\\\efa6\\\"; }\\n.ri-number-8:before { content: \\\"\\\\efa7\\\"; }\\n.ri-number-9:before { content: \\\"\\\\efa8\\\"; }\\n.ri-numbers-fill:before { content: \\\"\\\\efa9\\\"; }\\n.ri-numbers-line:before { content: \\\"\\\\efaa\\\"; }\\n.ri-nurse-fill:before { content: \\\"\\\\efab\\\"; }\\n.ri-nurse-line:before { content: \\\"\\\\efac\\\"; }\\n.ri-oil-fill:before { content: \\\"\\\\efad\\\"; }\\n.ri-oil-line:before { content: \\\"\\\\efae\\\"; }\\n.ri-omega:before { content: \\\"\\\\efaf\\\"; }\\n.ri-open-arm-fill:before { content: \\\"\\\\efb0\\\"; }\\n.ri-open-arm-line:before { content: \\\"\\\\efb1\\\"; }\\n.ri-open-source-fill:before { content: \\\"\\\\efb2\\\"; }\\n.ri-open-source-line:before { content: \\\"\\\\efb3\\\"; }\\n.ri-opera-fill:before { content: \\\"\\\\efb4\\\"; }\\n.ri-opera-line:before { content: \\\"\\\\efb5\\\"; }\\n.ri-order-play-fill:before { content: \\\"\\\\efb6\\\"; }\\n.ri-order-play-line:before { content: \\\"\\\\efb7\\\"; }\\n.ri-organization-chart:before { content: \\\"\\\\efb8\\\"; }\\n.ri-outlet-2-fill:before { content: \\\"\\\\efb9\\\"; }\\n.ri-outlet-2-line:before { content: \\\"\\\\efba\\\"; }\\n.ri-outlet-fill:before { content: \\\"\\\\efbb\\\"; }\\n.ri-outlet-line:before { content: \\\"\\\\efbc\\\"; }\\n.ri-page-separator:before { content: \\\"\\\\efbd\\\"; }\\n.ri-pages-fill:before { content: \\\"\\\\efbe\\\"; }\\n.ri-pages-line:before { content: \\\"\\\\efbf\\\"; }\\n.ri-paint-brush-fill:before { content: \\\"\\\\efc0\\\"; }\\n.ri-paint-brush-line:before { content: \\\"\\\\efc1\\\"; }\\n.ri-paint-fill:before { content: \\\"\\\\efc2\\\"; }\\n.ri-paint-line:before { content: \\\"\\\\efc3\\\"; }\\n.ri-palette-fill:before { content: \\\"\\\\efc4\\\"; }\\n.ri-palette-line:before { content: \\\"\\\\efc5\\\"; }\\n.ri-pantone-fill:before { content: \\\"\\\\efc6\\\"; }\\n.ri-pantone-line:before { content: \\\"\\\\efc7\\\"; }\\n.ri-paragraph:before { content: \\\"\\\\efc8\\\"; }\\n.ri-parent-fill:before { content: \\\"\\\\efc9\\\"; }\\n.ri-parent-line:before { content: \\\"\\\\efca\\\"; }\\n.ri-parentheses-fill:before { content: \\\"\\\\efcb\\\"; }\\n.ri-parentheses-line:before { content: \\\"\\\\efcc\\\"; }\\n.ri-parking-box-fill:before { content: \\\"\\\\efcd\\\"; }\\n.ri-parking-box-line:before { content: \\\"\\\\efce\\\"; }\\n.ri-parking-fill:before { content: \\\"\\\\efcf\\\"; }\\n.ri-parking-line:before { content: \\\"\\\\efd0\\\"; }\\n.ri-passport-fill:before { content: \\\"\\\\efd1\\\"; }\\n.ri-passport-line:before { content: \\\"\\\\efd2\\\"; }\\n.ri-patreon-fill:before { content: \\\"\\\\efd3\\\"; }\\n.ri-patreon-line:before { content: \\\"\\\\efd4\\\"; }\\n.ri-pause-circle-fill:before { content: \\\"\\\\efd5\\\"; }\\n.ri-pause-circle-line:before { content: \\\"\\\\efd6\\\"; }\\n.ri-pause-fill:before { content: \\\"\\\\efd7\\\"; }\\n.ri-pause-line:before { content: \\\"\\\\efd8\\\"; }\\n.ri-pause-mini-fill:before { content: \\\"\\\\efd9\\\"; }\\n.ri-pause-mini-line:before { content: \\\"\\\\efda\\\"; }\\n.ri-paypal-fill:before { content: \\\"\\\\efdb\\\"; }\\n.ri-paypal-line:before { content: \\\"\\\\efdc\\\"; }\\n.ri-pen-nib-fill:before { content: \\\"\\\\efdd\\\"; }\\n.ri-pen-nib-line:before { content: \\\"\\\\efde\\\"; }\\n.ri-pencil-fill:before { content: \\\"\\\\efdf\\\"; }\\n.ri-pencil-line:before { content: \\\"\\\\efe0\\\"; }\\n.ri-pencil-ruler-2-fill:before { content: \\\"\\\\efe1\\\"; }\\n.ri-pencil-ruler-2-line:before { content: \\\"\\\\efe2\\\"; }\\n.ri-pencil-ruler-fill:before { content: \\\"\\\\efe3\\\"; }\\n.ri-pencil-ruler-line:before { content: \\\"\\\\efe4\\\"; }\\n.ri-percent-fill:before { content: \\\"\\\\efe5\\\"; }\\n.ri-percent-line:before { content: \\\"\\\\efe6\\\"; }\\n.ri-phone-camera-fill:before { content: \\\"\\\\efe7\\\"; }\\n.ri-phone-camera-line:before { content: \\\"\\\\efe8\\\"; }\\n.ri-phone-fill:before { content: \\\"\\\\efe9\\\"; }\\n.ri-phone-find-fill:before { content: \\\"\\\\efea\\\"; }\\n.ri-phone-find-line:before { content: \\\"\\\\efeb\\\"; }\\n.ri-phone-line:before { content: \\\"\\\\efec\\\"; }\\n.ri-phone-lock-fill:before { content: \\\"\\\\efed\\\"; }\\n.ri-phone-lock-line:before { content: \\\"\\\\efee\\\"; }\\n.ri-picture-in-picture-2-fill:before { content: \\\"\\\\efef\\\"; }\\n.ri-picture-in-picture-2-line:before { content: \\\"\\\\eff0\\\"; }\\n.ri-picture-in-picture-exit-fill:before { content: \\\"\\\\eff1\\\"; }\\n.ri-picture-in-picture-exit-line:before { content: \\\"\\\\eff2\\\"; }\\n.ri-picture-in-picture-fill:before { content: \\\"\\\\eff3\\\"; }\\n.ri-picture-in-picture-line:before { content: \\\"\\\\eff4\\\"; }\\n.ri-pie-chart-2-fill:before { content: \\\"\\\\eff5\\\"; }\\n.ri-pie-chart-2-line:before { content: \\\"\\\\eff6\\\"; }\\n.ri-pie-chart-box-fill:before { content: \\\"\\\\eff7\\\"; }\\n.ri-pie-chart-box-line:before { content: \\\"\\\\eff8\\\"; }\\n.ri-pie-chart-fill:before { content: \\\"\\\\eff9\\\"; }\\n.ri-pie-chart-line:before { content: \\\"\\\\effa\\\"; }\\n.ri-pin-distance-fill:before { content: \\\"\\\\effb\\\"; }\\n.ri-pin-distance-line:before { content: \\\"\\\\effc\\\"; }\\n.ri-ping-pong-fill:before { content: \\\"\\\\effd\\\"; }\\n.ri-ping-pong-line:before { content: \\\"\\\\effe\\\"; }\\n.ri-pinterest-fill:before { content: \\\"\\\\efff\\\"; }\\n.ri-pinterest-line:before { content: \\\"\\\\f000\\\"; }\\n.ri-pinyin-input:before { content: \\\"\\\\f001\\\"; }\\n.ri-pixelfed-fill:before { content: \\\"\\\\f002\\\"; }\\n.ri-pixelfed-line:before { content: \\\"\\\\f003\\\"; }\\n.ri-plane-fill:before { content: \\\"\\\\f004\\\"; }\\n.ri-plane-line:before { content: \\\"\\\\f005\\\"; }\\n.ri-plant-fill:before { content: \\\"\\\\f006\\\"; }\\n.ri-plant-line:before { content: \\\"\\\\f007\\\"; }\\n.ri-play-circle-fill:before { content: \\\"\\\\f008\\\"; }\\n.ri-play-circle-line:before { content: \\\"\\\\f009\\\"; }\\n.ri-play-fill:before { content: \\\"\\\\f00a\\\"; }\\n.ri-play-line:before { content: \\\"\\\\f00b\\\"; }\\n.ri-play-list-2-fill:before { content: \\\"\\\\f00c\\\"; }\\n.ri-play-list-2-line:before { content: \\\"\\\\f00d\\\"; }\\n.ri-play-list-add-fill:before { content: \\\"\\\\f00e\\\"; }\\n.ri-play-list-add-line:before { content: \\\"\\\\f00f\\\"; }\\n.ri-play-list-fill:before { content: \\\"\\\\f010\\\"; }\\n.ri-play-list-line:before { content: \\\"\\\\f011\\\"; }\\n.ri-play-mini-fill:before { content: \\\"\\\\f012\\\"; }\\n.ri-play-mini-line:before { content: \\\"\\\\f013\\\"; }\\n.ri-playstation-fill:before { content: \\\"\\\\f014\\\"; }\\n.ri-playstation-line:before { content: \\\"\\\\f015\\\"; }\\n.ri-plug-2-fill:before { content: \\\"\\\\f016\\\"; }\\n.ri-plug-2-line:before { content: \\\"\\\\f017\\\"; }\\n.ri-plug-fill:before { content: \\\"\\\\f018\\\"; }\\n.ri-plug-line:before { content: \\\"\\\\f019\\\"; }\\n.ri-polaroid-2-fill:before { content: \\\"\\\\f01a\\\"; }\\n.ri-polaroid-2-line:before { content: \\\"\\\\f01b\\\"; }\\n.ri-polaroid-fill:before { content: \\\"\\\\f01c\\\"; }\\n.ri-polaroid-line:before { content: \\\"\\\\f01d\\\"; }\\n.ri-police-car-fill:before { content: \\\"\\\\f01e\\\"; }\\n.ri-police-car-line:before { content: \\\"\\\\f01f\\\"; }\\n.ri-price-tag-2-fill:before { content: \\\"\\\\f020\\\"; }\\n.ri-price-tag-2-line:before { content: \\\"\\\\f021\\\"; }\\n.ri-price-tag-3-fill:before { content: \\\"\\\\f022\\\"; }\\n.ri-price-tag-3-line:before { content: \\\"\\\\f023\\\"; }\\n.ri-price-tag-fill:before { content: \\\"\\\\f024\\\"; }\\n.ri-price-tag-line:before { content: \\\"\\\\f025\\\"; }\\n.ri-printer-cloud-fill:before { content: \\\"\\\\f026\\\"; }\\n.ri-printer-cloud-line:before { content: \\\"\\\\f027\\\"; }\\n.ri-printer-fill:before { content: \\\"\\\\f028\\\"; }\\n.ri-printer-line:before { content: \\\"\\\\f029\\\"; }\\n.ri-product-hunt-fill:before { content: \\\"\\\\f02a\\\"; }\\n.ri-product-hunt-line:before { content: \\\"\\\\f02b\\\"; }\\n.ri-profile-fill:before { content: \\\"\\\\f02c\\\"; }\\n.ri-profile-line:before { content: \\\"\\\\f02d\\\"; }\\n.ri-projector-2-fill:before { content: \\\"\\\\f02e\\\"; }\\n.ri-projector-2-line:before { content: \\\"\\\\f02f\\\"; }\\n.ri-projector-fill:before { content: \\\"\\\\f030\\\"; }\\n.ri-projector-line:before { content: \\\"\\\\f031\\\"; }\\n.ri-psychotherapy-fill:before { content: \\\"\\\\f032\\\"; }\\n.ri-psychotherapy-line:before { content: \\\"\\\\f033\\\"; }\\n.ri-pulse-fill:before { content: \\\"\\\\f034\\\"; }\\n.ri-pulse-line:before { content: \\\"\\\\f035\\\"; }\\n.ri-pushpin-2-fill:before { content: \\\"\\\\f036\\\"; }\\n.ri-pushpin-2-line:before { content: \\\"\\\\f037\\\"; }\\n.ri-pushpin-fill:before { content: \\\"\\\\f038\\\"; }\\n.ri-pushpin-line:before { content: \\\"\\\\f039\\\"; }\\n.ri-qq-fill:before { content: \\\"\\\\f03a\\\"; }\\n.ri-qq-line:before { content: \\\"\\\\f03b\\\"; }\\n.ri-qr-code-fill:before { content: \\\"\\\\f03c\\\"; }\\n.ri-qr-code-line:before { content: \\\"\\\\f03d\\\"; }\\n.ri-qr-scan-2-fill:before { content: \\\"\\\\f03e\\\"; }\\n.ri-qr-scan-2-line:before { content: \\\"\\\\f03f\\\"; }\\n.ri-qr-scan-fill:before { content: \\\"\\\\f040\\\"; }\\n.ri-qr-scan-line:before { content: \\\"\\\\f041\\\"; }\\n.ri-question-answer-fill:before { content: \\\"\\\\f042\\\"; }\\n.ri-question-answer-line:before { content: \\\"\\\\f043\\\"; }\\n.ri-question-fill:before { content: \\\"\\\\f044\\\"; }\\n.ri-question-line:before { content: \\\"\\\\f045\\\"; }\\n.ri-question-mark:before { content: \\\"\\\\f046\\\"; }\\n.ri-questionnaire-fill:before { content: \\\"\\\\f047\\\"; }\\n.ri-questionnaire-line:before { content: \\\"\\\\f048\\\"; }\\n.ri-quill-pen-fill:before { content: \\\"\\\\f049\\\"; }\\n.ri-quill-pen-line:before { content: \\\"\\\\f04a\\\"; }\\n.ri-radar-fill:before { content: \\\"\\\\f04b\\\"; }\\n.ri-radar-line:before { content: \\\"\\\\f04c\\\"; }\\n.ri-radio-2-fill:before { content: \\\"\\\\f04d\\\"; }\\n.ri-radio-2-line:before { content: \\\"\\\\f04e\\\"; }\\n.ri-radio-button-fill:before { content: \\\"\\\\f04f\\\"; }\\n.ri-radio-button-line:before { content: \\\"\\\\f050\\\"; }\\n.ri-radio-fill:before { content: \\\"\\\\f051\\\"; }\\n.ri-radio-line:before { content: \\\"\\\\f052\\\"; }\\n.ri-rainbow-fill:before { content: \\\"\\\\f053\\\"; }\\n.ri-rainbow-line:before { content: \\\"\\\\f054\\\"; }\\n.ri-rainy-fill:before { content: \\\"\\\\f055\\\"; }\\n.ri-rainy-line:before { content: \\\"\\\\f056\\\"; }\\n.ri-reactjs-fill:before { content: \\\"\\\\f057\\\"; }\\n.ri-reactjs-line:before { content: \\\"\\\\f058\\\"; }\\n.ri-record-circle-fill:before { content: \\\"\\\\f059\\\"; }\\n.ri-record-circle-line:before { content: \\\"\\\\f05a\\\"; }\\n.ri-record-mail-fill:before { content: \\\"\\\\f05b\\\"; }\\n.ri-record-mail-line:before { content: \\\"\\\\f05c\\\"; }\\n.ri-recycle-fill:before { content: \\\"\\\\f05d\\\"; }\\n.ri-recycle-line:before { content: \\\"\\\\f05e\\\"; }\\n.ri-red-packet-fill:before { content: \\\"\\\\f05f\\\"; }\\n.ri-red-packet-line:before { content: \\\"\\\\f060\\\"; }\\n.ri-reddit-fill:before { content: \\\"\\\\f061\\\"; }\\n.ri-reddit-line:before { content: \\\"\\\\f062\\\"; }\\n.ri-refresh-fill:before { content: \\\"\\\\f063\\\"; }\\n.ri-refresh-line:before { content: \\\"\\\\f064\\\"; }\\n.ri-refund-2-fill:before { content: \\\"\\\\f065\\\"; }\\n.ri-refund-2-line:before { content: \\\"\\\\f066\\\"; }\\n.ri-refund-fill:before { content: \\\"\\\\f067\\\"; }\\n.ri-refund-line:before { content: \\\"\\\\f068\\\"; }\\n.ri-registered-fill:before { content: \\\"\\\\f069\\\"; }\\n.ri-registered-line:before { content: \\\"\\\\f06a\\\"; }\\n.ri-remixicon-fill:before { content: \\\"\\\\f06b\\\"; }\\n.ri-remixicon-line:before { content: \\\"\\\\f06c\\\"; }\\n.ri-remote-control-2-fill:before { content: \\\"\\\\f06d\\\"; }\\n.ri-remote-control-2-line:before { content: \\\"\\\\f06e\\\"; }\\n.ri-remote-control-fill:before { content: \\\"\\\\f06f\\\"; }\\n.ri-remote-control-line:before { content: \\\"\\\\f070\\\"; }\\n.ri-repeat-2-fill:before { content: \\\"\\\\f071\\\"; }\\n.ri-repeat-2-line:before { content: \\\"\\\\f072\\\"; }\\n.ri-repeat-fill:before { content: \\\"\\\\f073\\\"; }\\n.ri-repeat-line:before { content: \\\"\\\\f074\\\"; }\\n.ri-repeat-one-fill:before { content: \\\"\\\\f075\\\"; }\\n.ri-repeat-one-line:before { content: \\\"\\\\f076\\\"; }\\n.ri-reply-all-fill:before { content: \\\"\\\\f077\\\"; }\\n.ri-reply-all-line:before { content: \\\"\\\\f078\\\"; }\\n.ri-reply-fill:before { content: \\\"\\\\f079\\\"; }\\n.ri-reply-line:before { content: \\\"\\\\f07a\\\"; }\\n.ri-reserved-fill:before { content: \\\"\\\\f07b\\\"; }\\n.ri-reserved-line:before { content: \\\"\\\\f07c\\\"; }\\n.ri-rest-time-fill:before { content: \\\"\\\\f07d\\\"; }\\n.ri-rest-time-line:before { content: \\\"\\\\f07e\\\"; }\\n.ri-restart-fill:before { content: \\\"\\\\f07f\\\"; }\\n.ri-restart-line:before { content: \\\"\\\\f080\\\"; }\\n.ri-restaurant-2-fill:before { content: \\\"\\\\f081\\\"; }\\n.ri-restaurant-2-line:before { content: \\\"\\\\f082\\\"; }\\n.ri-restaurant-fill:before { content: \\\"\\\\f083\\\"; }\\n.ri-restaurant-line:before { content: \\\"\\\\f084\\\"; }\\n.ri-rewind-fill:before { content: \\\"\\\\f085\\\"; }\\n.ri-rewind-line:before { content: \\\"\\\\f086\\\"; }\\n.ri-rewind-mini-fill:before { content: \\\"\\\\f087\\\"; }\\n.ri-rewind-mini-line:before { content: \\\"\\\\f088\\\"; }\\n.ri-rhythm-fill:before { content: \\\"\\\\f089\\\"; }\\n.ri-rhythm-line:before { content: \\\"\\\\f08a\\\"; }\\n.ri-riding-fill:before { content: \\\"\\\\f08b\\\"; }\\n.ri-riding-line:before { content: \\\"\\\\f08c\\\"; }\\n.ri-road-map-fill:before { content: \\\"\\\\f08d\\\"; }\\n.ri-road-map-line:before { content: \\\"\\\\f08e\\\"; }\\n.ri-roadster-fill:before { content: \\\"\\\\f08f\\\"; }\\n.ri-roadster-line:before { content: \\\"\\\\f090\\\"; }\\n.ri-robot-fill:before { content: \\\"\\\\f091\\\"; }\\n.ri-robot-line:before { content: \\\"\\\\f092\\\"; }\\n.ri-rocket-2-fill:before { content: \\\"\\\\f093\\\"; }\\n.ri-rocket-2-line:before { content: \\\"\\\\f094\\\"; }\\n.ri-rocket-fill:before { content: \\\"\\\\f095\\\"; }\\n.ri-rocket-line:before { content: \\\"\\\\f096\\\"; }\\n.ri-rotate-lock-fill:before { content: \\\"\\\\f097\\\"; }\\n.ri-rotate-lock-line:before { content: \\\"\\\\f098\\\"; }\\n.ri-rounded-corner:before { content: \\\"\\\\f099\\\"; }\\n.ri-route-fill:before { content: \\\"\\\\f09a\\\"; }\\n.ri-route-line:before { content: \\\"\\\\f09b\\\"; }\\n.ri-router-fill:before { content: \\\"\\\\f09c\\\"; }\\n.ri-router-line:before { content: \\\"\\\\f09d\\\"; }\\n.ri-rss-fill:before { content: \\\"\\\\f09e\\\"; }\\n.ri-rss-line:before { content: \\\"\\\\f09f\\\"; }\\n.ri-ruler-2-fill:before { content: \\\"\\\\f0a0\\\"; }\\n.ri-ruler-2-line:before { content: \\\"\\\\f0a1\\\"; }\\n.ri-ruler-fill:before { content: \\\"\\\\f0a2\\\"; }\\n.ri-ruler-line:before { content: \\\"\\\\f0a3\\\"; }\\n.ri-run-fill:before { content: \\\"\\\\f0a4\\\"; }\\n.ri-run-line:before { content: \\\"\\\\f0a5\\\"; }\\n.ri-safari-fill:before { content: \\\"\\\\f0a6\\\"; }\\n.ri-safari-line:before { content: \\\"\\\\f0a7\\\"; }\\n.ri-safe-2-fill:before { content: \\\"\\\\f0a8\\\"; }\\n.ri-safe-2-line:before { content: \\\"\\\\f0a9\\\"; }\\n.ri-safe-fill:before { content: \\\"\\\\f0aa\\\"; }\\n.ri-safe-line:before { content: \\\"\\\\f0ab\\\"; }\\n.ri-sailboat-fill:before { content: \\\"\\\\f0ac\\\"; }\\n.ri-sailboat-line:before { content: \\\"\\\\f0ad\\\"; }\\n.ri-save-2-fill:before { content: \\\"\\\\f0ae\\\"; }\\n.ri-save-2-line:before { content: \\\"\\\\f0af\\\"; }\\n.ri-save-3-fill:before { content: \\\"\\\\f0b0\\\"; }\\n.ri-save-3-line:before { content: \\\"\\\\f0b1\\\"; }\\n.ri-save-fill:before { content: \\\"\\\\f0b2\\\"; }\\n.ri-save-line:before { content: \\\"\\\\f0b3\\\"; }\\n.ri-scales-2-fill:before { content: \\\"\\\\f0b4\\\"; }\\n.ri-scales-2-line:before { content: \\\"\\\\f0b5\\\"; }\\n.ri-scales-3-fill:before { content: \\\"\\\\f0b6\\\"; }\\n.ri-scales-3-line:before { content: \\\"\\\\f0b7\\\"; }\\n.ri-scales-fill:before { content: \\\"\\\\f0b8\\\"; }\\n.ri-scales-line:before { content: \\\"\\\\f0b9\\\"; }\\n.ri-scan-2-fill:before { content: \\\"\\\\f0ba\\\"; }\\n.ri-scan-2-line:before { content: \\\"\\\\f0bb\\\"; }\\n.ri-scan-fill:before { content: \\\"\\\\f0bc\\\"; }\\n.ri-scan-line:before { content: \\\"\\\\f0bd\\\"; }\\n.ri-scissors-2-fill:before { content: \\\"\\\\f0be\\\"; }\\n.ri-scissors-2-line:before { content: \\\"\\\\f0bf\\\"; }\\n.ri-scissors-cut-fill:before { content: \\\"\\\\f0c0\\\"; }\\n.ri-scissors-cut-line:before { content: \\\"\\\\f0c1\\\"; }\\n.ri-scissors-fill:before { content: \\\"\\\\f0c2\\\"; }\\n.ri-scissors-line:before { content: \\\"\\\\f0c3\\\"; }\\n.ri-screenshot-2-fill:before { content: \\\"\\\\f0c4\\\"; }\\n.ri-screenshot-2-line:before { content: \\\"\\\\f0c5\\\"; }\\n.ri-screenshot-fill:before { content: \\\"\\\\f0c6\\\"; }\\n.ri-screenshot-line:before { content: \\\"\\\\f0c7\\\"; }\\n.ri-sd-card-fill:before { content: \\\"\\\\f0c8\\\"; }\\n.ri-sd-card-line:before { content: \\\"\\\\f0c9\\\"; }\\n.ri-sd-card-mini-fill:before { content: \\\"\\\\f0ca\\\"; }\\n.ri-sd-card-mini-line:before { content: \\\"\\\\f0cb\\\"; }\\n.ri-search-2-fill:before { content: \\\"\\\\f0cc\\\"; }\\n.ri-search-2-line:before { content: \\\"\\\\f0cd\\\"; }\\n.ri-search-eye-fill:before { content: \\\"\\\\f0ce\\\"; }\\n.ri-search-eye-line:before { content: \\\"\\\\f0cf\\\"; }\\n.ri-search-fill:before { content: \\\"\\\\f0d0\\\"; }\\n.ri-search-line:before { content: \\\"\\\\f0d1\\\"; }\\n.ri-secure-payment-fill:before { content: \\\"\\\\f0d2\\\"; }\\n.ri-secure-payment-line:before { content: \\\"\\\\f0d3\\\"; }\\n.ri-seedling-fill:before { content: \\\"\\\\f0d4\\\"; }\\n.ri-seedling-line:before { content: \\\"\\\\f0d5\\\"; }\\n.ri-send-backward:before { content: \\\"\\\\f0d6\\\"; }\\n.ri-send-plane-2-fill:before { content: \\\"\\\\f0d7\\\"; }\\n.ri-send-plane-2-line:before { content: \\\"\\\\f0d8\\\"; }\\n.ri-send-plane-fill:before { content: \\\"\\\\f0d9\\\"; }\\n.ri-send-plane-line:before { content: \\\"\\\\f0da\\\"; }\\n.ri-send-to-back:before { content: \\\"\\\\f0db\\\"; }\\n.ri-sensor-fill:before { content: \\\"\\\\f0dc\\\"; }\\n.ri-sensor-line:before { content: \\\"\\\\f0dd\\\"; }\\n.ri-separator:before { content: \\\"\\\\f0de\\\"; }\\n.ri-server-fill:before { content: \\\"\\\\f0df\\\"; }\\n.ri-server-line:before { content: \\\"\\\\f0e0\\\"; }\\n.ri-service-fill:before { content: \\\"\\\\f0e1\\\"; }\\n.ri-service-line:before { content: \\\"\\\\f0e2\\\"; }\\n.ri-settings-2-fill:before { content: \\\"\\\\f0e3\\\"; }\\n.ri-settings-2-line:before { content: \\\"\\\\f0e4\\\"; }\\n.ri-settings-3-fill:before { content: \\\"\\\\f0e5\\\"; }\\n.ri-settings-3-line:before { content: \\\"\\\\f0e6\\\"; }\\n.ri-settings-4-fill:before { content: \\\"\\\\f0e7\\\"; }\\n.ri-settings-4-line:before { content: \\\"\\\\f0e8\\\"; }\\n.ri-settings-5-fill:before { content: \\\"\\\\f0e9\\\"; }\\n.ri-settings-5-line:before { content: \\\"\\\\f0ea\\\"; }\\n.ri-settings-6-fill:before { content: \\\"\\\\f0eb\\\"; }\\n.ri-settings-6-line:before { content: \\\"\\\\f0ec\\\"; }\\n.ri-settings-fill:before { content: \\\"\\\\f0ed\\\"; }\\n.ri-settings-line:before { content: \\\"\\\\f0ee\\\"; }\\n.ri-shape-2-fill:before { content: \\\"\\\\f0ef\\\"; }\\n.ri-shape-2-line:before { content: \\\"\\\\f0f0\\\"; }\\n.ri-shape-fill:before { content: \\\"\\\\f0f1\\\"; }\\n.ri-shape-line:before { content: \\\"\\\\f0f2\\\"; }\\n.ri-share-box-fill:before { content: \\\"\\\\f0f3\\\"; }\\n.ri-share-box-line:before { content: \\\"\\\\f0f4\\\"; }\\n.ri-share-circle-fill:before { content: \\\"\\\\f0f5\\\"; }\\n.ri-share-circle-line:before { content: \\\"\\\\f0f6\\\"; }\\n.ri-share-fill:before { content: \\\"\\\\f0f7\\\"; }\\n.ri-share-forward-2-fill:before { content: \\\"\\\\f0f8\\\"; }\\n.ri-share-forward-2-line:before { content: \\\"\\\\f0f9\\\"; }\\n.ri-share-forward-box-fill:before { content: \\\"\\\\f0fa\\\"; }\\n.ri-share-forward-box-line:before { content: \\\"\\\\f0fb\\\"; }\\n.ri-share-forward-fill:before { content: \\\"\\\\f0fc\\\"; }\\n.ri-share-forward-line:before { content: \\\"\\\\f0fd\\\"; }\\n.ri-share-line:before { content: \\\"\\\\f0fe\\\"; }\\n.ri-shield-check-fill:before { content: \\\"\\\\f0ff\\\"; }\\n.ri-shield-check-line:before { content: \\\"\\\\f100\\\"; }\\n.ri-shield-cross-fill:before { content: \\\"\\\\f101\\\"; }\\n.ri-shield-cross-line:before { content: \\\"\\\\f102\\\"; }\\n.ri-shield-fill:before { content: \\\"\\\\f103\\\"; }\\n.ri-shield-flash-fill:before { content: \\\"\\\\f104\\\"; }\\n.ri-shield-flash-line:before { content: \\\"\\\\f105\\\"; }\\n.ri-shield-keyhole-fill:before { content: \\\"\\\\f106\\\"; }\\n.ri-shield-keyhole-line:before { content: \\\"\\\\f107\\\"; }\\n.ri-shield-line:before { content: \\\"\\\\f108\\\"; }\\n.ri-shield-star-fill:before { content: \\\"\\\\f109\\\"; }\\n.ri-shield-star-line:before { content: \\\"\\\\f10a\\\"; }\\n.ri-shield-user-fill:before { content: \\\"\\\\f10b\\\"; }\\n.ri-shield-user-line:before { content: \\\"\\\\f10c\\\"; }\\n.ri-ship-2-fill:before { content: \\\"\\\\f10d\\\"; }\\n.ri-ship-2-line:before { content: \\\"\\\\f10e\\\"; }\\n.ri-ship-fill:before { content: \\\"\\\\f10f\\\"; }\\n.ri-ship-line:before { content: \\\"\\\\f110\\\"; }\\n.ri-shirt-fill:before { content: \\\"\\\\f111\\\"; }\\n.ri-shirt-line:before { content: \\\"\\\\f112\\\"; }\\n.ri-shopping-bag-2-fill:before { content: \\\"\\\\f113\\\"; }\\n.ri-shopping-bag-2-line:before { content: \\\"\\\\f114\\\"; }\\n.ri-shopping-bag-3-fill:before { content: \\\"\\\\f115\\\"; }\\n.ri-shopping-bag-3-line:before { content: \\\"\\\\f116\\\"; }\\n.ri-shopping-bag-fill:before { content: \\\"\\\\f117\\\"; }\\n.ri-shopping-bag-line:before { content: \\\"\\\\f118\\\"; }\\n.ri-shopping-basket-2-fill:before { content: \\\"\\\\f119\\\"; }\\n.ri-shopping-basket-2-line:before { content: \\\"\\\\f11a\\\"; }\\n.ri-shopping-basket-fill:before { content: \\\"\\\\f11b\\\"; }\\n.ri-shopping-basket-line:before { content: \\\"\\\\f11c\\\"; }\\n.ri-shopping-cart-2-fill:before { content: \\\"\\\\f11d\\\"; }\\n.ri-shopping-cart-2-line:before { content: \\\"\\\\f11e\\\"; }\\n.ri-shopping-cart-fill:before { content: \\\"\\\\f11f\\\"; }\\n.ri-shopping-cart-line:before { content: \\\"\\\\f120\\\"; }\\n.ri-showers-fill:before { content: \\\"\\\\f121\\\"; }\\n.ri-showers-line:before { content: \\\"\\\\f122\\\"; }\\n.ri-shuffle-fill:before { content: \\\"\\\\f123\\\"; }\\n.ri-shuffle-line:before { content: \\\"\\\\f124\\\"; }\\n.ri-shut-down-fill:before { content: \\\"\\\\f125\\\"; }\\n.ri-shut-down-line:before { content: \\\"\\\\f126\\\"; }\\n.ri-side-bar-fill:before { content: \\\"\\\\f127\\\"; }\\n.ri-side-bar-line:before { content: \\\"\\\\f128\\\"; }\\n.ri-signal-tower-fill:before { content: \\\"\\\\f129\\\"; }\\n.ri-signal-tower-line:before { content: \\\"\\\\f12a\\\"; }\\n.ri-signal-wifi-1-fill:before { content: \\\"\\\\f12b\\\"; }\\n.ri-signal-wifi-1-line:before { content: \\\"\\\\f12c\\\"; }\\n.ri-signal-wifi-2-fill:before { content: \\\"\\\\f12d\\\"; }\\n.ri-signal-wifi-2-line:before { content: \\\"\\\\f12e\\\"; }\\n.ri-signal-wifi-3-fill:before { content: \\\"\\\\f12f\\\"; }\\n.ri-signal-wifi-3-line:before { content: \\\"\\\\f130\\\"; }\\n.ri-signal-wifi-error-fill:before { content: \\\"\\\\f131\\\"; }\\n.ri-signal-wifi-error-line:before { content: \\\"\\\\f132\\\"; }\\n.ri-signal-wifi-fill:before { content: \\\"\\\\f133\\\"; }\\n.ri-signal-wifi-line:before { content: \\\"\\\\f134\\\"; }\\n.ri-signal-wifi-off-fill:before { content: \\\"\\\\f135\\\"; }\\n.ri-signal-wifi-off-line:before { content: \\\"\\\\f136\\\"; }\\n.ri-sim-card-2-fill:before { content: \\\"\\\\f137\\\"; }\\n.ri-sim-card-2-line:before { content: \\\"\\\\f138\\\"; }\\n.ri-sim-card-fill:before { content: \\\"\\\\f139\\\"; }\\n.ri-sim-card-line:before { content: \\\"\\\\f13a\\\"; }\\n.ri-single-quotes-l:before { content: \\\"\\\\f13b\\\"; }\\n.ri-single-quotes-r:before { content: \\\"\\\\f13c\\\"; }\\n.ri-sip-fill:before { content: \\\"\\\\f13d\\\"; }\\n.ri-sip-line:before { content: \\\"\\\\f13e\\\"; }\\n.ri-skip-back-fill:before { content: \\\"\\\\f13f\\\"; }\\n.ri-skip-back-line:before { content: \\\"\\\\f140\\\"; }\\n.ri-skip-back-mini-fill:before { content: \\\"\\\\f141\\\"; }\\n.ri-skip-back-mini-line:before { content: \\\"\\\\f142\\\"; }\\n.ri-skip-forward-fill:before { content: \\\"\\\\f143\\\"; }\\n.ri-skip-forward-line:before { content: \\\"\\\\f144\\\"; }\\n.ri-skip-forward-mini-fill:before { content: \\\"\\\\f145\\\"; }\\n.ri-skip-forward-mini-line:before { content: \\\"\\\\f146\\\"; }\\n.ri-skull-2-fill:before { content: \\\"\\\\f147\\\"; }\\n.ri-skull-2-line:before { content: \\\"\\\\f148\\\"; }\\n.ri-skull-fill:before { content: \\\"\\\\f149\\\"; }\\n.ri-skull-line:before { content: \\\"\\\\f14a\\\"; }\\n.ri-skype-fill:before { content: \\\"\\\\f14b\\\"; }\\n.ri-skype-line:before { content: \\\"\\\\f14c\\\"; }\\n.ri-slack-fill:before { content: \\\"\\\\f14d\\\"; }\\n.ri-slack-line:before { content: \\\"\\\\f14e\\\"; }\\n.ri-slice-fill:before { content: \\\"\\\\f14f\\\"; }\\n.ri-slice-line:before { content: \\\"\\\\f150\\\"; }\\n.ri-slideshow-2-fill:before { content: \\\"\\\\f151\\\"; }\\n.ri-slideshow-2-line:before { content: \\\"\\\\f152\\\"; }\\n.ri-slideshow-3-fill:before { content: \\\"\\\\f153\\\"; }\\n.ri-slideshow-3-line:before { content: \\\"\\\\f154\\\"; }\\n.ri-slideshow-4-fill:before { content: \\\"\\\\f155\\\"; }\\n.ri-slideshow-4-line:before { content: \\\"\\\\f156\\\"; }\\n.ri-slideshow-fill:before { content: \\\"\\\\f157\\\"; }\\n.ri-slideshow-line:before { content: \\\"\\\\f158\\\"; }\\n.ri-smartphone-fill:before { content: \\\"\\\\f159\\\"; }\\n.ri-smartphone-line:before { content: \\\"\\\\f15a\\\"; }\\n.ri-snapchat-fill:before { content: \\\"\\\\f15b\\\"; }\\n.ri-snapchat-line:before { content: \\\"\\\\f15c\\\"; }\\n.ri-snowy-fill:before { content: \\\"\\\\f15d\\\"; }\\n.ri-snowy-line:before { content: \\\"\\\\f15e\\\"; }\\n.ri-sort-asc:before { content: \\\"\\\\f15f\\\"; }\\n.ri-sort-desc:before { content: \\\"\\\\f160\\\"; }\\n.ri-sound-module-fill:before { content: \\\"\\\\f161\\\"; }\\n.ri-sound-module-line:before { content: \\\"\\\\f162\\\"; }\\n.ri-soundcloud-fill:before { content: \\\"\\\\f163\\\"; }\\n.ri-soundcloud-line:before { content: \\\"\\\\f164\\\"; }\\n.ri-space-ship-fill:before { content: \\\"\\\\f165\\\"; }\\n.ri-space-ship-line:before { content: \\\"\\\\f166\\\"; }\\n.ri-space:before { content: \\\"\\\\f167\\\"; }\\n.ri-spam-2-fill:before { content: \\\"\\\\f168\\\"; }\\n.ri-spam-2-line:before { content: \\\"\\\\f169\\\"; }\\n.ri-spam-3-fill:before { content: \\\"\\\\f16a\\\"; }\\n.ri-spam-3-line:before { content: \\\"\\\\f16b\\\"; }\\n.ri-spam-fill:before { content: \\\"\\\\f16c\\\"; }\\n.ri-spam-line:before { content: \\\"\\\\f16d\\\"; }\\n.ri-speaker-2-fill:before { content: \\\"\\\\f16e\\\"; }\\n.ri-speaker-2-line:before { content: \\\"\\\\f16f\\\"; }\\n.ri-speaker-3-fill:before { content: \\\"\\\\f170\\\"; }\\n.ri-speaker-3-line:before { content: \\\"\\\\f171\\\"; }\\n.ri-speaker-fill:before { content: \\\"\\\\f172\\\"; }\\n.ri-speaker-line:before { content: \\\"\\\\f173\\\"; }\\n.ri-spectrum-fill:before { content: \\\"\\\\f174\\\"; }\\n.ri-spectrum-line:before { content: \\\"\\\\f175\\\"; }\\n.ri-speed-fill:before { content: \\\"\\\\f176\\\"; }\\n.ri-speed-line:before { content: \\\"\\\\f177\\\"; }\\n.ri-speed-mini-fill:before { content: \\\"\\\\f178\\\"; }\\n.ri-speed-mini-line:before { content: \\\"\\\\f179\\\"; }\\n.ri-split-cells-horizontal:before { content: \\\"\\\\f17a\\\"; }\\n.ri-split-cells-vertical:before { content: \\\"\\\\f17b\\\"; }\\n.ri-spotify-fill:before { content: \\\"\\\\f17c\\\"; }\\n.ri-spotify-line:before { content: \\\"\\\\f17d\\\"; }\\n.ri-spy-fill:before { content: \\\"\\\\f17e\\\"; }\\n.ri-spy-line:before { content: \\\"\\\\f17f\\\"; }\\n.ri-stack-fill:before { content: \\\"\\\\f180\\\"; }\\n.ri-stack-line:before { content: \\\"\\\\f181\\\"; }\\n.ri-stack-overflow-fill:before { content: \\\"\\\\f182\\\"; }\\n.ri-stack-overflow-line:before { content: \\\"\\\\f183\\\"; }\\n.ri-stackshare-fill:before { content: \\\"\\\\f184\\\"; }\\n.ri-stackshare-line:before { content: \\\"\\\\f185\\\"; }\\n.ri-star-fill:before { content: \\\"\\\\f186\\\"; }\\n.ri-star-half-fill:before { content: \\\"\\\\f187\\\"; }\\n.ri-star-half-line:before { content: \\\"\\\\f188\\\"; }\\n.ri-star-half-s-fill:before { content: \\\"\\\\f189\\\"; }\\n.ri-star-half-s-line:before { content: \\\"\\\\f18a\\\"; }\\n.ri-star-line:before { content: \\\"\\\\f18b\\\"; }\\n.ri-star-s-fill:before { content: \\\"\\\\f18c\\\"; }\\n.ri-star-s-line:before { content: \\\"\\\\f18d\\\"; }\\n.ri-star-smile-fill:before { content: \\\"\\\\f18e\\\"; }\\n.ri-star-smile-line:before { content: \\\"\\\\f18f\\\"; }\\n.ri-steam-fill:before { content: \\\"\\\\f190\\\"; }\\n.ri-steam-line:before { content: \\\"\\\\f191\\\"; }\\n.ri-steering-2-fill:before { content: \\\"\\\\f192\\\"; }\\n.ri-steering-2-line:before { content: \\\"\\\\f193\\\"; }\\n.ri-steering-fill:before { content: \\\"\\\\f194\\\"; }\\n.ri-steering-line:before { content: \\\"\\\\f195\\\"; }\\n.ri-stethoscope-fill:before { content: \\\"\\\\f196\\\"; }\\n.ri-stethoscope-line:before { content: \\\"\\\\f197\\\"; }\\n.ri-sticky-note-2-fill:before { content: \\\"\\\\f198\\\"; }\\n.ri-sticky-note-2-line:before { content: \\\"\\\\f199\\\"; }\\n.ri-sticky-note-fill:before { content: \\\"\\\\f19a\\\"; }\\n.ri-sticky-note-line:before { content: \\\"\\\\f19b\\\"; }\\n.ri-stock-fill:before { content: \\\"\\\\f19c\\\"; }\\n.ri-stock-line:before { content: \\\"\\\\f19d\\\"; }\\n.ri-stop-circle-fill:before { content: \\\"\\\\f19e\\\"; }\\n.ri-stop-circle-line:before { content: \\\"\\\\f19f\\\"; }\\n.ri-stop-fill:before { content: \\\"\\\\f1a0\\\"; }\\n.ri-stop-line:before { content: \\\"\\\\f1a1\\\"; }\\n.ri-stop-mini-fill:before { content: \\\"\\\\f1a2\\\"; }\\n.ri-stop-mini-line:before { content: \\\"\\\\f1a3\\\"; }\\n.ri-store-2-fill:before { content: \\\"\\\\f1a4\\\"; }\\n.ri-store-2-line:before { content: \\\"\\\\f1a5\\\"; }\\n.ri-store-3-fill:before { content: \\\"\\\\f1a6\\\"; }\\n.ri-store-3-line:before { content: \\\"\\\\f1a7\\\"; }\\n.ri-store-fill:before { content: \\\"\\\\f1a8\\\"; }\\n.ri-store-line:before { content: \\\"\\\\f1a9\\\"; }\\n.ri-strikethrough-2:before { content: \\\"\\\\f1aa\\\"; }\\n.ri-strikethrough:before { content: \\\"\\\\f1ab\\\"; }\\n.ri-subscript-2:before { content: \\\"\\\\f1ac\\\"; }\\n.ri-subscript:before { content: \\\"\\\\f1ad\\\"; }\\n.ri-subtract-fill:before { content: \\\"\\\\f1ae\\\"; }\\n.ri-subtract-line:before { content: \\\"\\\\f1af\\\"; }\\n.ri-subway-fill:before { content: \\\"\\\\f1b0\\\"; }\\n.ri-subway-line:before { content: \\\"\\\\f1b1\\\"; }\\n.ri-subway-wifi-fill:before { content: \\\"\\\\f1b2\\\"; }\\n.ri-subway-wifi-line:before { content: \\\"\\\\f1b3\\\"; }\\n.ri-suitcase-2-fill:before { content: \\\"\\\\f1b4\\\"; }\\n.ri-suitcase-2-line:before { content: \\\"\\\\f1b5\\\"; }\\n.ri-suitcase-3-fill:before { content: \\\"\\\\f1b6\\\"; }\\n.ri-suitcase-3-line:before { content: \\\"\\\\f1b7\\\"; }\\n.ri-suitcase-fill:before { content: \\\"\\\\f1b8\\\"; }\\n.ri-suitcase-line:before { content: \\\"\\\\f1b9\\\"; }\\n.ri-sun-cloudy-fill:before { content: \\\"\\\\f1ba\\\"; }\\n.ri-sun-cloudy-line:before { content: \\\"\\\\f1bb\\\"; }\\n.ri-sun-fill:before { content: \\\"\\\\f1bc\\\"; }\\n.ri-sun-foggy-fill:before { content: \\\"\\\\f1bd\\\"; }\\n.ri-sun-foggy-line:before { content: \\\"\\\\f1be\\\"; }\\n.ri-sun-line:before { content: \\\"\\\\f1bf\\\"; }\\n.ri-superscript-2:before { content: \\\"\\\\f1c0\\\"; }\\n.ri-superscript:before { content: \\\"\\\\f1c1\\\"; }\\n.ri-surgical-mask-fill:before { content: \\\"\\\\f1c2\\\"; }\\n.ri-surgical-mask-line:before { content: \\\"\\\\f1c3\\\"; }\\n.ri-surround-sound-fill:before { content: \\\"\\\\f1c4\\\"; }\\n.ri-surround-sound-line:before { content: \\\"\\\\f1c5\\\"; }\\n.ri-survey-fill:before { content: \\\"\\\\f1c6\\\"; }\\n.ri-survey-line:before { content: \\\"\\\\f1c7\\\"; }\\n.ri-swap-box-fill:before { content: \\\"\\\\f1c8\\\"; }\\n.ri-swap-box-line:before { content: \\\"\\\\f1c9\\\"; }\\n.ri-swap-fill:before { content: \\\"\\\\f1ca\\\"; }\\n.ri-swap-line:before { content: \\\"\\\\f1cb\\\"; }\\n.ri-switch-fill:before { content: \\\"\\\\f1cc\\\"; }\\n.ri-switch-line:before { content: \\\"\\\\f1cd\\\"; }\\n.ri-sword-fill:before { content: \\\"\\\\f1ce\\\"; }\\n.ri-sword-line:before { content: \\\"\\\\f1cf\\\"; }\\n.ri-syringe-fill:before { content: \\\"\\\\f1d0\\\"; }\\n.ri-syringe-line:before { content: \\\"\\\\f1d1\\\"; }\\n.ri-t-box-fill:before { content: \\\"\\\\f1d2\\\"; }\\n.ri-t-box-line:before { content: \\\"\\\\f1d3\\\"; }\\n.ri-t-shirt-2-fill:before { content: \\\"\\\\f1d4\\\"; }\\n.ri-t-shirt-2-line:before { content: \\\"\\\\f1d5\\\"; }\\n.ri-t-shirt-air-fill:before { content: \\\"\\\\f1d6\\\"; }\\n.ri-t-shirt-air-line:before { content: \\\"\\\\f1d7\\\"; }\\n.ri-t-shirt-fill:before { content: \\\"\\\\f1d8\\\"; }\\n.ri-t-shirt-line:before { content: \\\"\\\\f1d9\\\"; }\\n.ri-table-2:before { content: \\\"\\\\f1da\\\"; }\\n.ri-table-alt-fill:before { content: \\\"\\\\f1db\\\"; }\\n.ri-table-alt-line:before { content: \\\"\\\\f1dc\\\"; }\\n.ri-table-fill:before { content: \\\"\\\\f1dd\\\"; }\\n.ri-table-line:before { content: \\\"\\\\f1de\\\"; }\\n.ri-tablet-fill:before { content: \\\"\\\\f1df\\\"; }\\n.ri-tablet-line:before { content: \\\"\\\\f1e0\\\"; }\\n.ri-takeaway-fill:before { content: \\\"\\\\f1e1\\\"; }\\n.ri-takeaway-line:before { content: \\\"\\\\f1e2\\\"; }\\n.ri-taobao-fill:before { content: \\\"\\\\f1e3\\\"; }\\n.ri-taobao-line:before { content: \\\"\\\\f1e4\\\"; }\\n.ri-tape-fill:before { content: \\\"\\\\f1e5\\\"; }\\n.ri-tape-line:before { content: \\\"\\\\f1e6\\\"; }\\n.ri-task-fill:before { content: \\\"\\\\f1e7\\\"; }\\n.ri-task-line:before { content: \\\"\\\\f1e8\\\"; }\\n.ri-taxi-fill:before { content: \\\"\\\\f1e9\\\"; }\\n.ri-taxi-line:before { content: \\\"\\\\f1ea\\\"; }\\n.ri-taxi-wifi-fill:before { content: \\\"\\\\f1eb\\\"; }\\n.ri-taxi-wifi-line:before { content: \\\"\\\\f1ec\\\"; }\\n.ri-team-fill:before { content: \\\"\\\\f1ed\\\"; }\\n.ri-team-line:before { content: \\\"\\\\f1ee\\\"; }\\n.ri-telegram-fill:before { content: \\\"\\\\f1ef\\\"; }\\n.ri-telegram-line:before { content: \\\"\\\\f1f0\\\"; }\\n.ri-temp-cold-fill:before { content: \\\"\\\\f1f1\\\"; }\\n.ri-temp-cold-line:before { content: \\\"\\\\f1f2\\\"; }\\n.ri-temp-hot-fill:before { content: \\\"\\\\f1f3\\\"; }\\n.ri-temp-hot-line:before { content: \\\"\\\\f1f4\\\"; }\\n.ri-terminal-box-fill:before { content: \\\"\\\\f1f5\\\"; }\\n.ri-terminal-box-line:before { content: \\\"\\\\f1f6\\\"; }\\n.ri-terminal-fill:before { content: \\\"\\\\f1f7\\\"; }\\n.ri-terminal-line:before { content: \\\"\\\\f1f8\\\"; }\\n.ri-terminal-window-fill:before { content: \\\"\\\\f1f9\\\"; }\\n.ri-terminal-window-line:before { content: \\\"\\\\f1fa\\\"; }\\n.ri-test-tube-fill:before { content: \\\"\\\\f1fb\\\"; }\\n.ri-test-tube-line:before { content: \\\"\\\\f1fc\\\"; }\\n.ri-text-direction-l:before { content: \\\"\\\\f1fd\\\"; }\\n.ri-text-direction-r:before { content: \\\"\\\\f1fe\\\"; }\\n.ri-text-spacing:before { content: \\\"\\\\f1ff\\\"; }\\n.ri-text-wrap:before { content: \\\"\\\\f200\\\"; }\\n.ri-text:before { content: \\\"\\\\f201\\\"; }\\n.ri-thermometer-fill:before { content: \\\"\\\\f202\\\"; }\\n.ri-thermometer-line:before { content: \\\"\\\\f203\\\"; }\\n.ri-thumb-down-fill:before { content: \\\"\\\\f204\\\"; }\\n.ri-thumb-down-line:before { content: \\\"\\\\f205\\\"; }\\n.ri-thumb-up-fill:before { content: \\\"\\\\f206\\\"; }\\n.ri-thumb-up-line:before { content: \\\"\\\\f207\\\"; }\\n.ri-thunderstorms-fill:before { content: \\\"\\\\f208\\\"; }\\n.ri-thunderstorms-line:before { content: \\\"\\\\f209\\\"; }\\n.ri-ticket-2-fill:before { content: \\\"\\\\f20a\\\"; }\\n.ri-ticket-2-line:before { content: \\\"\\\\f20b\\\"; }\\n.ri-ticket-fill:before { content: \\\"\\\\f20c\\\"; }\\n.ri-ticket-line:before { content: \\\"\\\\f20d\\\"; }\\n.ri-time-fill:before { content: \\\"\\\\f20e\\\"; }\\n.ri-time-line:before { content: \\\"\\\\f20f\\\"; }\\n.ri-timer-2-fill:before { content: \\\"\\\\f210\\\"; }\\n.ri-timer-2-line:before { content: \\\"\\\\f211\\\"; }\\n.ri-timer-fill:before { content: \\\"\\\\f212\\\"; }\\n.ri-timer-flash-fill:before { content: \\\"\\\\f213\\\"; }\\n.ri-timer-flash-line:before { content: \\\"\\\\f214\\\"; }\\n.ri-timer-line:before { content: \\\"\\\\f215\\\"; }\\n.ri-todo-fill:before { content: \\\"\\\\f216\\\"; }\\n.ri-todo-line:before { content: \\\"\\\\f217\\\"; }\\n.ri-toggle-fill:before { content: \\\"\\\\f218\\\"; }\\n.ri-toggle-line:before { content: \\\"\\\\f219\\\"; }\\n.ri-tools-fill:before { content: \\\"\\\\f21a\\\"; }\\n.ri-tools-line:before { content: \\\"\\\\f21b\\\"; }\\n.ri-tornado-fill:before { content: \\\"\\\\f21c\\\"; }\\n.ri-tornado-line:before { content: \\\"\\\\f21d\\\"; }\\n.ri-trademark-fill:before { content: \\\"\\\\f21e\\\"; }\\n.ri-trademark-line:before { content: \\\"\\\\f21f\\\"; }\\n.ri-traffic-light-fill:before { content: \\\"\\\\f220\\\"; }\\n.ri-traffic-light-line:before { content: \\\"\\\\f221\\\"; }\\n.ri-train-fill:before { content: \\\"\\\\f222\\\"; }\\n.ri-train-line:before { content: \\\"\\\\f223\\\"; }\\n.ri-train-wifi-fill:before { content: \\\"\\\\f224\\\"; }\\n.ri-train-wifi-line:before { content: \\\"\\\\f225\\\"; }\\n.ri-translate-2:before { content: \\\"\\\\f226\\\"; }\\n.ri-translate:before { content: \\\"\\\\f227\\\"; }\\n.ri-travesti-fill:before { content: \\\"\\\\f228\\\"; }\\n.ri-travesti-line:before { content: \\\"\\\\f229\\\"; }\\n.ri-treasure-map-fill:before { content: \\\"\\\\f22a\\\"; }\\n.ri-treasure-map-line:before { content: \\\"\\\\f22b\\\"; }\\n.ri-trello-fill:before { content: \\\"\\\\f22c\\\"; }\\n.ri-trello-line:before { content: \\\"\\\\f22d\\\"; }\\n.ri-trophy-fill:before { content: \\\"\\\\f22e\\\"; }\\n.ri-trophy-line:before { content: \\\"\\\\f22f\\\"; }\\n.ri-truck-fill:before { content: \\\"\\\\f230\\\"; }\\n.ri-truck-line:before { content: \\\"\\\\f231\\\"; }\\n.ri-tumblr-fill:before { content: \\\"\\\\f232\\\"; }\\n.ri-tumblr-line:before { content: \\\"\\\\f233\\\"; }\\n.ri-tv-2-fill:before { content: \\\"\\\\f234\\\"; }\\n.ri-tv-2-line:before { content: \\\"\\\\f235\\\"; }\\n.ri-tv-fill:before { content: \\\"\\\\f236\\\"; }\\n.ri-tv-line:before { content: \\\"\\\\f237\\\"; }\\n.ri-twitch-fill:before { content: \\\"\\\\f238\\\"; }\\n.ri-twitch-line:before { content: \\\"\\\\f239\\\"; }\\n.ri-twitter-fill:before { content: \\\"\\\\f23a\\\"; }\\n.ri-twitter-line:before { content: \\\"\\\\f23b\\\"; }\\n.ri-typhoon-fill:before { content: \\\"\\\\f23c\\\"; }\\n.ri-typhoon-line:before { content: \\\"\\\\f23d\\\"; }\\n.ri-u-disk-fill:before { content: \\\"\\\\f23e\\\"; }\\n.ri-u-disk-line:before { content: \\\"\\\\f23f\\\"; }\\n.ri-ubuntu-fill:before { content: \\\"\\\\f240\\\"; }\\n.ri-ubuntu-line:before { content: \\\"\\\\f241\\\"; }\\n.ri-umbrella-fill:before { content: \\\"\\\\f242\\\"; }\\n.ri-umbrella-line:before { content: \\\"\\\\f243\\\"; }\\n.ri-underline:before { content: \\\"\\\\f244\\\"; }\\n.ri-uninstall-fill:before { content: \\\"\\\\f245\\\"; }\\n.ri-uninstall-line:before { content: \\\"\\\\f246\\\"; }\\n.ri-unsplash-fill:before { content: \\\"\\\\f247\\\"; }\\n.ri-unsplash-line:before { content: \\\"\\\\f248\\\"; }\\n.ri-upload-2-fill:before { content: \\\"\\\\f249\\\"; }\\n.ri-upload-2-line:before { content: \\\"\\\\f24a\\\"; }\\n.ri-upload-cloud-2-fill:before { content: \\\"\\\\f24b\\\"; }\\n.ri-upload-cloud-2-line:before { content: \\\"\\\\f24c\\\"; }\\n.ri-upload-cloud-fill:before { content: \\\"\\\\f24d\\\"; }\\n.ri-upload-cloud-line:before { content: \\\"\\\\f24e\\\"; }\\n.ri-upload-fill:before { content: \\\"\\\\f24f\\\"; }\\n.ri-upload-line:before { content: \\\"\\\\f250\\\"; }\\n.ri-usb-fill:before { content: \\\"\\\\f251\\\"; }\\n.ri-usb-line:before { content: \\\"\\\\f252\\\"; }\\n.ri-user-2-fill:before { content: \\\"\\\\f253\\\"; }\\n.ri-user-2-line:before { content: \\\"\\\\f254\\\"; }\\n.ri-user-3-fill:before { content: \\\"\\\\f255\\\"; }\\n.ri-user-3-line:before { content: \\\"\\\\f256\\\"; }\\n.ri-user-4-fill:before { content: \\\"\\\\f257\\\"; }\\n.ri-user-4-line:before { content: \\\"\\\\f258\\\"; }\\n.ri-user-5-fill:before { content: \\\"\\\\f259\\\"; }\\n.ri-user-5-line:before { content: \\\"\\\\f25a\\\"; }\\n.ri-user-6-fill:before { content: \\\"\\\\f25b\\\"; }\\n.ri-user-6-line:before { content: \\\"\\\\f25c\\\"; }\\n.ri-user-add-fill:before { content: \\\"\\\\f25d\\\"; }\\n.ri-user-add-line:before { content: \\\"\\\\f25e\\\"; }\\n.ri-user-fill:before { content: \\\"\\\\f25f\\\"; }\\n.ri-user-follow-fill:before { content: \\\"\\\\f260\\\"; }\\n.ri-user-follow-line:before { content: \\\"\\\\f261\\\"; }\\n.ri-user-heart-fill:before { content: \\\"\\\\f262\\\"; }\\n.ri-user-heart-line:before { content: \\\"\\\\f263\\\"; }\\n.ri-user-line:before { content: \\\"\\\\f264\\\"; }\\n.ri-user-location-fill:before { content: \\\"\\\\f265\\\"; }\\n.ri-user-location-line:before { content: \\\"\\\\f266\\\"; }\\n.ri-user-received-2-fill:before { content: \\\"\\\\f267\\\"; }\\n.ri-user-received-2-line:before { content: \\\"\\\\f268\\\"; }\\n.ri-user-received-fill:before { content: \\\"\\\\f269\\\"; }\\n.ri-user-received-line:before { content: \\\"\\\\f26a\\\"; }\\n.ri-user-search-fill:before { content: \\\"\\\\f26b\\\"; }\\n.ri-user-search-line:before { content: \\\"\\\\f26c\\\"; }\\n.ri-user-settings-fill:before { content: \\\"\\\\f26d\\\"; }\\n.ri-user-settings-line:before { content: \\\"\\\\f26e\\\"; }\\n.ri-user-shared-2-fill:before { content: \\\"\\\\f26f\\\"; }\\n.ri-user-shared-2-line:before { content: \\\"\\\\f270\\\"; }\\n.ri-user-shared-fill:before { content: \\\"\\\\f271\\\"; }\\n.ri-user-shared-line:before { content: \\\"\\\\f272\\\"; }\\n.ri-user-smile-fill:before { content: \\\"\\\\f273\\\"; }\\n.ri-user-smile-line:before { content: \\\"\\\\f274\\\"; }\\n.ri-user-star-fill:before { content: \\\"\\\\f275\\\"; }\\n.ri-user-star-line:before { content: \\\"\\\\f276\\\"; }\\n.ri-user-unfollow-fill:before { content: \\\"\\\\f277\\\"; }\\n.ri-user-unfollow-line:before { content: \\\"\\\\f278\\\"; }\\n.ri-user-voice-fill:before { content: \\\"\\\\f279\\\"; }\\n.ri-user-voice-line:before { content: \\\"\\\\f27a\\\"; }\\n.ri-video-add-fill:before { content: \\\"\\\\f27b\\\"; }\\n.ri-video-add-line:before { content: \\\"\\\\f27c\\\"; }\\n.ri-video-chat-fill:before { content: \\\"\\\\f27d\\\"; }\\n.ri-video-chat-line:before { content: \\\"\\\\f27e\\\"; }\\n.ri-video-download-fill:before { content: \\\"\\\\f27f\\\"; }\\n.ri-video-download-line:before { content: \\\"\\\\f280\\\"; }\\n.ri-video-fill:before { content: \\\"\\\\f281\\\"; }\\n.ri-video-line:before { content: \\\"\\\\f282\\\"; }\\n.ri-video-upload-fill:before { content: \\\"\\\\f283\\\"; }\\n.ri-video-upload-line:before { content: \\\"\\\\f284\\\"; }\\n.ri-vidicon-2-fill:before { content: \\\"\\\\f285\\\"; }\\n.ri-vidicon-2-line:before { content: \\\"\\\\f286\\\"; }\\n.ri-vidicon-fill:before { content: \\\"\\\\f287\\\"; }\\n.ri-vidicon-line:before { content: \\\"\\\\f288\\\"; }\\n.ri-vimeo-fill:before { content: \\\"\\\\f289\\\"; }\\n.ri-vimeo-line:before { content: \\\"\\\\f28a\\\"; }\\n.ri-vip-crown-2-fill:before { content: \\\"\\\\f28b\\\"; }\\n.ri-vip-crown-2-line:before { content: \\\"\\\\f28c\\\"; }\\n.ri-vip-crown-fill:before { content: \\\"\\\\f28d\\\"; }\\n.ri-vip-crown-line:before { content: \\\"\\\\f28e\\\"; }\\n.ri-vip-diamond-fill:before { content: \\\"\\\\f28f\\\"; }\\n.ri-vip-diamond-line:before { content: \\\"\\\\f290\\\"; }\\n.ri-vip-fill:before { content: \\\"\\\\f291\\\"; }\\n.ri-vip-line:before { content: \\\"\\\\f292\\\"; }\\n.ri-virus-fill:before { content: \\\"\\\\f293\\\"; }\\n.ri-virus-line:before { content: \\\"\\\\f294\\\"; }\\n.ri-visa-fill:before { content: \\\"\\\\f295\\\"; }\\n.ri-visa-line:before { content: \\\"\\\\f296\\\"; }\\n.ri-voice-recognition-fill:before { content: \\\"\\\\f297\\\"; }\\n.ri-voice-recognition-line:before { content: \\\"\\\\f298\\\"; }\\n.ri-voiceprint-fill:before { content: \\\"\\\\f299\\\"; }\\n.ri-voiceprint-line:before { content: \\\"\\\\f29a\\\"; }\\n.ri-volume-down-fill:before { content: \\\"\\\\f29b\\\"; }\\n.ri-volume-down-line:before { content: \\\"\\\\f29c\\\"; }\\n.ri-volume-mute-fill:before { content: \\\"\\\\f29d\\\"; }\\n.ri-volume-mute-line:before { content: \\\"\\\\f29e\\\"; }\\n.ri-volume-off-vibrate-fill:before { content: \\\"\\\\f29f\\\"; }\\n.ri-volume-off-vibrate-line:before { content: \\\"\\\\f2a0\\\"; }\\n.ri-volume-up-fill:before { content: \\\"\\\\f2a1\\\"; }\\n.ri-volume-up-line:before { content: \\\"\\\\f2a2\\\"; }\\n.ri-volume-vibrate-fill:before { content: \\\"\\\\f2a3\\\"; }\\n.ri-volume-vibrate-line:before { content: \\\"\\\\f2a4\\\"; }\\n.ri-vuejs-fill:before { content: \\\"\\\\f2a5\\\"; }\\n.ri-vuejs-line:before { content: \\\"\\\\f2a6\\\"; }\\n.ri-walk-fill:before { content: \\\"\\\\f2a7\\\"; }\\n.ri-walk-line:before { content: \\\"\\\\f2a8\\\"; }\\n.ri-wallet-2-fill:before { content: \\\"\\\\f2a9\\\"; }\\n.ri-wallet-2-line:before { content: \\\"\\\\f2aa\\\"; }\\n.ri-wallet-3-fill:before { content: \\\"\\\\f2ab\\\"; }\\n.ri-wallet-3-line:before { content: \\\"\\\\f2ac\\\"; }\\n.ri-wallet-fill:before { content: \\\"\\\\f2ad\\\"; }\\n.ri-wallet-line:before { content: \\\"\\\\f2ae\\\"; }\\n.ri-water-flash-fill:before { content: \\\"\\\\f2af\\\"; }\\n.ri-water-flash-line:before { content: \\\"\\\\f2b0\\\"; }\\n.ri-webcam-fill:before { content: \\\"\\\\f2b1\\\"; }\\n.ri-webcam-line:before { content: \\\"\\\\f2b2\\\"; }\\n.ri-wechat-2-fill:before { content: \\\"\\\\f2b3\\\"; }\\n.ri-wechat-2-line:before { content: \\\"\\\\f2b4\\\"; }\\n.ri-wechat-fill:before { content: \\\"\\\\f2b5\\\"; }\\n.ri-wechat-line:before { content: \\\"\\\\f2b6\\\"; }\\n.ri-wechat-pay-fill:before { content: \\\"\\\\f2b7\\\"; }\\n.ri-wechat-pay-line:before { content: \\\"\\\\f2b8\\\"; }\\n.ri-weibo-fill:before { content: \\\"\\\\f2b9\\\"; }\\n.ri-weibo-line:before { content: \\\"\\\\f2ba\\\"; }\\n.ri-whatsapp-fill:before { content: \\\"\\\\f2bb\\\"; }\\n.ri-whatsapp-line:before { content: \\\"\\\\f2bc\\\"; }\\n.ri-wheelchair-fill:before { content: \\\"\\\\f2bd\\\"; }\\n.ri-wheelchair-line:before { content: \\\"\\\\f2be\\\"; }\\n.ri-wifi-fill:before { content: \\\"\\\\f2bf\\\"; }\\n.ri-wifi-line:before { content: \\\"\\\\f2c0\\\"; }\\n.ri-wifi-off-fill:before { content: \\\"\\\\f2c1\\\"; }\\n.ri-wifi-off-line:before { content: \\\"\\\\f2c2\\\"; }\\n.ri-window-2-fill:before { content: \\\"\\\\f2c3\\\"; }\\n.ri-window-2-line:before { content: \\\"\\\\f2c4\\\"; }\\n.ri-window-fill:before { content: \\\"\\\\f2c5\\\"; }\\n.ri-window-line:before { content: \\\"\\\\f2c6\\\"; }\\n.ri-windows-fill:before { content: \\\"\\\\f2c7\\\"; }\\n.ri-windows-line:before { content: \\\"\\\\f2c8\\\"; }\\n.ri-windy-fill:before { content: \\\"\\\\f2c9\\\"; }\\n.ri-windy-line:before { content: \\\"\\\\f2ca\\\"; }\\n.ri-wireless-charging-fill:before { content: \\\"\\\\f2cb\\\"; }\\n.ri-wireless-charging-line:before { content: \\\"\\\\f2cc\\\"; }\\n.ri-women-fill:before { content: \\\"\\\\f2cd\\\"; }\\n.ri-women-line:before { content: \\\"\\\\f2ce\\\"; }\\n.ri-wubi-input:before { content: \\\"\\\\f2cf\\\"; }\\n.ri-xbox-fill:before { content: \\\"\\\\f2d0\\\"; }\\n.ri-xbox-line:before { content: \\\"\\\\f2d1\\\"; }\\n.ri-xing-fill:before { content: \\\"\\\\f2d2\\\"; }\\n.ri-xing-line:before { content: \\\"\\\\f2d3\\\"; }\\n.ri-youtube-fill:before { content: \\\"\\\\f2d4\\\"; }\\n.ri-youtube-line:before { content: \\\"\\\\f2d5\\\"; }\\n.ri-zcool-fill:before { content: \\\"\\\\f2d6\\\"; }\\n.ri-zcool-line:before { content: \\\"\\\\f2d7\\\"; }\\n.ri-zhihu-fill:before { content: \\\"\\\\f2d8\\\"; }\\n.ri-zhihu-line:before { content: \\\"\\\\f2d9\\\"; }\\n.ri-zoom-in-fill:before { content: \\\"\\\\f2da\\\"; }\\n.ri-zoom-in-line:before { content: \\\"\\\\f2db\\\"; }\\n.ri-zoom-out-fill:before { content: \\\"\\\\f2dc\\\"; }\\n.ri-zoom-out-line:before { content: \\\"\\\\f2dd\\\"; }\\n.ri-zzz-fill:before { content: \\\"\\\\f2de\\\"; }\\n.ri-zzz-line:before { content: \\\"\\\\f2df\\\"; }\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.css?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./src/assets/styles/reset.scss":
/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-3-1!./node_modules/postcss-loader/src??ref--9-oneOf-3-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-3-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-3-4!./src/assets/styles/reset.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n::-webkit-scrollbar {\\n  width: 13px;\\n  height: 13px;\\n}\\n\\n::-webkit-scrollbar-thumb {\\n  background-color: rgba(0, 0, 0, 0.4);\\n  background-clip: padding-box;\\n  border: 3px solid transparent;\\n  border-radius: 7px;\\n}\\n\\n::-webkit-scrollbar-thumb:hover {\\n  background-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n::-webkit-scrollbar-track {\\n  background-color: transparent;\\n}\\n\\n::-webkit-scrollbar-track:hover {\\n  background-color: #f8fafc;\\n}\\n\\nhtml,\\nbody {\\n  height: 100%;\\n}\\n\\nbody {\\n  margin: 0;\\n  color: #333;\\n  background-color: #f8f8f8;\\n  -webkit-box-sizing: border-box;\\n          box-sizing: border-box;\\n  font-family: Lato, PingFang SC, Microsoft YaHei, sans-serif;\\n  -webkit-tap-highlight-color: transparent;\\n}\\nbody.hidden {\\n  overflow: hidden;\\n}\\n\\n* {\\n  -webkit-box-sizing: inherit;\\n          box-sizing: inherit;\\n}\\n\\n[data-fixed-calc-width] {\\n  position: fixed;\\n  left: 50%;\\n  right: 0;\\n}\\n\\n[data-layout=adaption] [data-fixed-calc-width] {\\n  width: calc(100% - 60px - 220px);\\n}\\n[data-layout=adaption][data-sidebar-no-collapse] [data-fixed-calc-width] {\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(110px);\\n          transform: translateX(-50%) translateX(30px) translateX(110px);\\n}\\n[data-layout=adaption][data-sidebar-no-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(100% - 220px);\\n  -webkit-transform: translateX(-50%) translateX(110px);\\n          transform: translateX(-50%) translateX(110px);\\n}\\n[data-layout=adaption][data-sidebar-collapse] [data-fixed-calc-width] {\\n  width: calc(100% - 60px - 64px);\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(32px);\\n          transform: translateX(-50%) translateX(30px) translateX(32px);\\n}\\n[data-layout=adaption][data-sidebar-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(100% - 64px);\\n  -webkit-transform: translateX(-50%) translateX(32px);\\n          transform: translateX(-50%) translateX(32px);\\n}\\n\\n[data-layout=adaption-min-width] [data-fixed-calc-width] {\\n  width: calc(100% - 60px - 220px);\\n}\\n[data-layout=adaption-min-width][data-sidebar-no-collapse] [data-fixed-calc-width] {\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(110px);\\n          transform: translateX(-50%) translateX(30px) translateX(110px);\\n}\\n[data-layout=adaption-min-width][data-sidebar-no-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(100% - 220px);\\n  -webkit-transform: translateX(-50%) translateX(110px);\\n          transform: translateX(-50%) translateX(110px);\\n}\\n[data-layout=adaption-min-width][data-sidebar-collapse] [data-fixed-calc-width] {\\n  width: calc(100% - 60px - 64px);\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(32px);\\n          transform: translateX(-50%) translateX(30px) translateX(32px);\\n}\\n[data-layout=adaption-min-width][data-sidebar-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(100% - 64px);\\n  -webkit-transform: translateX(-50%) translateX(32px);\\n          transform: translateX(-50%) translateX(32px);\\n}\\n\\n[data-layout=center] [data-fixed-calc-width] {\\n  width: calc(1400px - 60px - 220px);\\n}\\n[data-layout=center][data-sidebar-no-collapse] [data-fixed-calc-width] {\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(110px);\\n          transform: translateX(-50%) translateX(30px) translateX(110px);\\n}\\n[data-layout=center][data-sidebar-no-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(1400px - 220px);\\n  -webkit-transform: translateX(-50%) translateX(110px);\\n          transform: translateX(-50%) translateX(110px);\\n}\\n[data-layout=center][data-sidebar-collapse] [data-fixed-calc-width] {\\n  width: calc(1400px - 60px - 64px);\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(32px);\\n          transform: translateX(-50%) translateX(30px) translateX(32px);\\n}\\n[data-layout=center][data-sidebar-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(1400px - 64px);\\n  -webkit-transform: translateX(-50%) translateX(32px);\\n          transform: translateX(-50%) translateX(32px);\\n}\\n\\n[data-layout=center-max-width] [data-fixed-calc-width] {\\n  width: calc(1400px - 60px - 220px);\\n}\\n[data-layout=center-max-width][data-sidebar-no-collapse] [data-fixed-calc-width] {\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(110px);\\n          transform: translateX(-50%) translateX(30px) translateX(110px);\\n}\\n[data-layout=center-max-width][data-sidebar-no-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(1400px - 220px);\\n  -webkit-transform: translateX(-50%) translateX(110px);\\n          transform: translateX(-50%) translateX(110px);\\n}\\n[data-layout=center-max-width][data-sidebar-collapse] [data-fixed-calc-width] {\\n  width: calc(1400px - 60px - 64px);\\n  -webkit-transform: translateX(-50%) translateX(30px) translateX(32px);\\n          transform: translateX(-50%) translateX(30px) translateX(32px);\\n}\\n[data-layout=center-max-width][data-sidebar-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n  width: calc(1400px - 64px);\\n  -webkit-transform: translateX(-50%) translateX(32px);\\n          transform: translateX(-50%) translateX(32px);\\n}\\n\\n@media screen and (max-width: 1400px) {\\n  [data-layout=center] [data-fixed-calc-width],\\n[data-layout=center-max-width] [data-fixed-calc-width] {\\n    width: calc(100% - 60px - 220px);\\n  }\\n  [data-layout=center][data-sidebar-no-collapse] [data-fixed-calc-width],\\n[data-layout=center-max-width][data-sidebar-no-collapse] [data-fixed-calc-width] {\\n    -webkit-transform: translateX(-50%) translateX(30px) translateX(110px);\\n            transform: translateX(-50%) translateX(30px) translateX(110px);\\n  }\\n  [data-layout=center][data-sidebar-no-collapse][data-no-main-sidebar] [data-fixed-calc-width],\\n[data-layout=center-max-width][data-sidebar-no-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n    width: calc(100% - 220px);\\n    -webkit-transform: translateX(-50%) translateX(110px);\\n            transform: translateX(-50%) translateX(110px);\\n  }\\n  [data-layout=center][data-sidebar-collapse] [data-fixed-calc-width],\\n[data-layout=center-max-width][data-sidebar-collapse] [data-fixed-calc-width] {\\n    width: calc(100% - 60px - 64px);\\n  }\\n  [data-layout=center][data-sidebar-collapse][data-no-main-sidebar] [data-fixed-calc-width],\\n[data-layout=center-max-width][data-sidebar-collapse][data-no-main-sidebar] [data-fixed-calc-width] {\\n    width: calc(100% - 64px);\\n  }\\n}\\n\\n[data-mode=mobile] [data-fixed-calc-width] {\\n  width: 100% !important;\\n  -webkit-transform: translateX(-50%) !important;\\n          transform: translateX(-50%) !important;\\n}\\n\\n[class^=ri-],\\n[class*=\\\" ri-\\\"] {\\n  display: inline-block;\\n  vertical-align: bottom;\\n  font-weight: 400;\\n  font-variant: normal;\\n  text-transform: none;\\n  line-height: 1;\\n}\\n\\n.el-button [class*=ri-] + span {\\n  margin-left: 5px;\\n}\\n\\ntextarea {\\n  font-family: inherit;\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"g_main_sidebar_width\": \"60px\",\n\t\"g_sub_sidebar_width\": \"220px\"\n};\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/assets/styles/reset.scss?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-3-1!./node_modules/postcss-loader/src??ref--9-oneOf-3-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-3-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-3-4");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/spinkit/spinkit.min.css":
/*!**********************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2!./node_modules/spinkit/spinkit.min.css ***!
  \**********************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \":root{--sk-size:40px;--sk-color:#333}.sk-center{margin:auto}.sk-plane{width:var(--sk-size);height:var(--sk-size);background-color:var(--sk-color);-webkit-animation:sk-plane 1.2s infinite ease-in-out;animation:sk-plane 1.2s infinite ease-in-out}@-webkit-keyframes sk-plane{0%{-webkit-transform:perspective(120px) rotateX(0) rotateY(0);transform:perspective(120px) rotateX(0) rotateY(0)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0);transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}@keyframes sk-plane{0%{-webkit-transform:perspective(120px) rotateX(0) rotateY(0);transform:perspective(120px) rotateX(0) rotateY(0)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0);transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.sk-chase{width:var(--sk-size);height:var(--sk-size);position:relative;-webkit-animation:sk-chase 2.5s infinite linear both;animation:sk-chase 2.5s infinite linear both}.sk-chase-dot{width:100%;height:100%;position:absolute;left:0;top:0;-webkit-animation:sk-chase-dot 2.0s infinite ease-in-out both;animation:sk-chase-dot 2.0s infinite ease-in-out both}.sk-chase-dot:before{content:'';display:block;width:25%;height:25%;background-color:var(--sk-color);border-radius:100%;-webkit-animation:sk-chase-dot-before 2.0s infinite ease-in-out both;animation:sk-chase-dot-before 2.0s infinite ease-in-out both}.sk-chase-dot:nth-child(1){-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-chase-dot:nth-child(2){-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.sk-chase-dot:nth-child(3){-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.sk-chase-dot:nth-child(4){-webkit-animation-delay:-0.8s;animation-delay:-0.8s}.sk-chase-dot:nth-child(5){-webkit-animation-delay:-0.7s;animation-delay:-0.7s}.sk-chase-dot:nth-child(6){-webkit-animation-delay:-0.6s;animation-delay:-0.6s}.sk-chase-dot:nth-child(1):before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-chase-dot:nth-child(2):before{-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.sk-chase-dot:nth-child(3):before{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.sk-chase-dot:nth-child(4):before{-webkit-animation-delay:-0.8s;animation-delay:-0.8s}.sk-chase-dot:nth-child(5):before{-webkit-animation-delay:-0.7s;animation-delay:-0.7s}.sk-chase-dot:nth-child(6):before{-webkit-animation-delay:-0.6s;animation-delay:-0.6s}@-webkit-keyframes sk-chase{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes sk-chase{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes sk-chase-dot{80%,100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes sk-chase-dot{80%,100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes sk-chase-dot-before{50%{-webkit-transform:scale(0.4);transform:scale(0.4)}100%,0%{-webkit-transform:scale(1.0);transform:scale(1.0)}}@keyframes sk-chase-dot-before{50%{-webkit-transform:scale(0.4);transform:scale(0.4)}100%,0%{-webkit-transform:scale(1.0);transform:scale(1.0)}}.sk-bounce{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-bounce-dot{width:100%;height:100%;border-radius:50%;background-color:var(--sk-color);opacity:.6;position:absolute;top:0;left:0;-webkit-animation:sk-bounce 2s infinite cubic-bezier(0.455,0.03,0.515,0.955);animation:sk-bounce 2s infinite cubic-bezier(0.455,0.03,0.515,0.955)}.sk-bounce-dot:nth-child(2){-webkit-animation-delay:-1.0s;animation-delay:-1.0s}@-webkit-keyframes sk-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}45%,55%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}45%,55%{-webkit-transform:scale(1);transform:scale(1)}}.sk-wave{width:var(--sk-size);height:var(--sk-size);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.sk-wave-rect{background-color:var(--sk-color);height:100%;width:15%;-webkit-animation:sk-wave 1.2s infinite ease-in-out;animation:sk-wave 1.2s infinite ease-in-out}.sk-wave-rect:nth-child(1){-webkit-animation-delay:-1.2s;animation-delay:-1.2s}.sk-wave-rect:nth-child(2){-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-wave-rect:nth-child(3){-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.sk-wave-rect:nth-child(4){-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.sk-wave-rect:nth-child(5){-webkit-animation-delay:-0.8s;animation-delay:-0.8s}@-webkit-keyframes sk-wave{0%,40%,100%{-webkit-transform:scaleY(0.4);transform:scaleY(0.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes sk-wave{0%,40%,100%{-webkit-transform:scaleY(0.4);transform:scaleY(0.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}.sk-pulse{width:var(--sk-size);height:var(--sk-size);background-color:var(--sk-color);border-radius:100%;-webkit-animation:sk-pulse 1.2s infinite cubic-bezier(0.455,0.03,0.515,0.955);animation:sk-pulse 1.2s infinite cubic-bezier(0.455,0.03,0.515,0.955)}@-webkit-keyframes sk-pulse{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes sk-pulse{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.sk-flow{width:calc(var(--sk-size) * 1.3);height:calc(var(--sk-size) * 1.3);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.sk-flow-dot{width:25%;height:25%;background-color:var(--sk-color);border-radius:50%;-webkit-animation:sk-flow 1.4s cubic-bezier(0.455,0.03,0.515,0.955) 0s infinite both;animation:sk-flow 1.4s cubic-bezier(0.455,0.03,0.515,0.955) 0s infinite both}.sk-flow-dot:nth-child(1){-webkit-animation-delay:-0.30s;animation-delay:-0.30s}.sk-flow-dot:nth-child(2){-webkit-animation-delay:-0.15s;animation-delay:-0.15s}@-webkit-keyframes sk-flow{0%,80%,100%{-webkit-transform:scale(0.3);transform:scale(0.3)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-flow{0%,80%,100%{-webkit-transform:scale(0.3);transform:scale(0.3)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-swing{width:var(--sk-size);height:var(--sk-size);position:relative;-webkit-animation:sk-swing 1.8s infinite linear;animation:sk-swing 1.8s infinite linear}.sk-swing-dot{width:45%;height:45%;position:absolute;top:0;left:0;right:0;margin:auto;background-color:var(--sk-color);border-radius:100%;-webkit-animation:sk-swing-dot 2s infinite ease-in-out;animation:sk-swing-dot 2s infinite ease-in-out}.sk-swing-dot:nth-child(2){top:auto;bottom:0;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-swing{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes sk-swing{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes sk-swing-dot{0%,100%{-webkit-transform:scale(0.2);transform:scale(0.2)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-swing-dot{0%,100%{-webkit-transform:scale(0.2);transform:scale(0.2)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-circle{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-circle-dot{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle-dot:before{content:'';display:block;width:15%;height:15%;background-color:var(--sk-color);border-radius:100%;-webkit-animation:sk-circle 1.2s infinite ease-in-out both;animation:sk-circle 1.2s infinite ease-in-out both}.sk-circle-dot:nth-child(1){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-circle-dot:nth-child(2){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-circle-dot:nth-child(3){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-circle-dot:nth-child(4){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-circle-dot:nth-child(5){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-circle-dot:nth-child(6){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-circle-dot:nth-child(7){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-circle-dot:nth-child(8){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-circle-dot:nth-child(9){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-circle-dot:nth-child(10){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-circle-dot:nth-child(11){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-circle-dot:nth-child(1):before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-circle-dot:nth-child(2):before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-circle-dot:nth-child(3):before{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.sk-circle-dot:nth-child(4):before{-webkit-animation-delay:-0.8s;animation-delay:-0.8s}.sk-circle-dot:nth-child(5):before{-webkit-animation-delay:-0.7s;animation-delay:-0.7s}.sk-circle-dot:nth-child(6):before{-webkit-animation-delay:-0.6s;animation-delay:-0.6s}.sk-circle-dot:nth-child(7):before{-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.sk-circle-dot:nth-child(8):before{-webkit-animation-delay:-0.4s;animation-delay:-0.4s}.sk-circle-dot:nth-child(9):before{-webkit-animation-delay:-0.3s;animation-delay:-0.3s}.sk-circle-dot:nth-child(10):before{-webkit-animation-delay:-0.2s;animation-delay:-0.2s}.sk-circle-dot:nth-child(11):before{-webkit-animation-delay:-0.1s;animation-delay:-0.1s}@-webkit-keyframes sk-circle{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-circle{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-circle-fade{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-circle-fade-dot{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle-fade-dot:before{content:'';display:block;width:15%;height:15%;background-color:var(--sk-color);border-radius:100%;-webkit-animation:sk-circle-fade 1.2s infinite ease-in-out both;animation:sk-circle-fade 1.2s infinite ease-in-out both}.sk-circle-fade-dot:nth-child(1){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-circle-fade-dot:nth-child(2){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-circle-fade-dot:nth-child(3){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-circle-fade-dot:nth-child(4){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-circle-fade-dot:nth-child(5){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-circle-fade-dot:nth-child(6){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-circle-fade-dot:nth-child(7){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-circle-fade-dot:nth-child(8){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-circle-fade-dot:nth-child(9){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-circle-fade-dot:nth-child(10){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-circle-fade-dot:nth-child(11){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-circle-fade-dot:nth-child(1):before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-circle-fade-dot:nth-child(2):before{-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.sk-circle-fade-dot:nth-child(3):before{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.sk-circle-fade-dot:nth-child(4):before{-webkit-animation-delay:-0.8s;animation-delay:-0.8s}.sk-circle-fade-dot:nth-child(5):before{-webkit-animation-delay:-0.7s;animation-delay:-0.7s}.sk-circle-fade-dot:nth-child(6):before{-webkit-animation-delay:-0.6s;animation-delay:-0.6s}.sk-circle-fade-dot:nth-child(7):before{-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.sk-circle-fade-dot:nth-child(8):before{-webkit-animation-delay:-0.4s;animation-delay:-0.4s}.sk-circle-fade-dot:nth-child(9):before{-webkit-animation-delay:-0.3s;animation-delay:-0.3s}.sk-circle-fade-dot:nth-child(10):before{-webkit-animation-delay:-0.2s;animation-delay:-0.2s}.sk-circle-fade-dot:nth-child(11):before{-webkit-animation-delay:-0.1s;animation-delay:-0.1s}@-webkit-keyframes sk-circle-fade{0%,39%,100%{opacity:0;-webkit-transform:scale(0.6);transform:scale(0.6)}40%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-circle-fade{0%,39%,100%{opacity:0;-webkit-transform:scale(0.6);transform:scale(0.6)}40%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.sk-grid{width:var(--sk-size);height:var(--sk-size)}.sk-grid-cube{width:33.33%;height:33.33%;background-color:var(--sk-color);float:left;-webkit-animation:sk-grid 1.3s infinite ease-in-out;animation:sk-grid 1.3s infinite ease-in-out}.sk-grid-cube:nth-child(1){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-grid-cube:nth-child(2){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-grid-cube:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}.sk-grid-cube:nth-child(4){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-grid-cube:nth-child(5){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-grid-cube:nth-child(6){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-grid-cube:nth-child(7){-webkit-animation-delay:0s;animation-delay:0s}.sk-grid-cube:nth-child(8){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-grid-cube:nth-child(9){-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-grid{0%,70%,100%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-grid{0%,70%,100%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}.sk-fold{width:var(--sk-size);height:var(--sk-size);position:relative;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.sk-fold-cube{float:left;width:50%;height:50%;position:relative;-webkit-transform:scale(1.1);transform:scale(1.1)}.sk-fold-cube:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sk-color);-webkit-animation:sk-fold 2.4s infinite linear both;animation:sk-fold 2.4s infinite linear both;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.sk-fold-cube:nth-child(2){-webkit-transform:scale(1.1) rotateZ(90deg);transform:scale(1.1) rotateZ(90deg)}.sk-fold-cube:nth-child(4){-webkit-transform:scale(1.1) rotateZ(180deg);transform:scale(1.1) rotateZ(180deg)}.sk-fold-cube:nth-child(3){-webkit-transform:scale(1.1) rotateZ(270deg);transform:scale(1.1) rotateZ(270deg)}.sk-fold-cube:nth-child(2):before{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-fold-cube:nth-child(4):before{-webkit-animation-delay:.6s;animation-delay:.6s}.sk-fold-cube:nth-child(3):before{-webkit-animation-delay:.9s;animation-delay:.9s}@-webkit-keyframes sk-fold{0%,10%{-webkit-transform:perspective(140px) rotateX(-180deg);transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{-webkit-transform:perspective(140px) rotateX(0);transform:perspective(140px) rotateX(0);opacity:1}90%,100%{-webkit-transform:perspective(140px) rotateY(180deg);transform:perspective(140px) rotateY(180deg);opacity:0}}@keyframes sk-fold{0%,10%{-webkit-transform:perspective(140px) rotateX(-180deg);transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{-webkit-transform:perspective(140px) rotateX(0);transform:perspective(140px) rotateX(0);opacity:1}90%,100%{-webkit-transform:perspective(140px) rotateY(180deg);transform:perspective(140px) rotateY(180deg);opacity:0}}.sk-wander{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-wander-cube{background-color:var(--sk-color);width:20%;height:20%;position:absolute;top:0;left:0;--sk-wander-distance:calc(var(--sk-size) * 0.75);-webkit-animation:sk-wander 2.0s ease-in-out -2.0s infinite both;animation:sk-wander 2.0s ease-in-out -2.0s infinite both}.sk-wander-cube:nth-child(2){-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.sk-wander-cube:nth-child(3){-webkit-animation-delay:-1.0s;animation-delay:-1.0s}@-webkit-keyframes sk-wander{0%{-webkit-transform:rotate(0);transform:rotate(0)}25%{-webkit-transform:translateX(var(--sk-wander-distance)) rotate(-90deg) scale(0.6);transform:translateX(var(--sk-wander-distance)) rotate(-90deg) scale(0.6)}50%{-webkit-transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg);transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg)}50.1%{-webkit-transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg);transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(0.6);transform:translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(0.6)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes sk-wander{0%{-webkit-transform:rotate(0);transform:rotate(0)}25%{-webkit-transform:translateX(var(--sk-wander-distance)) rotate(-90deg) scale(0.6);transform:translateX(var(--sk-wander-distance)) rotate(-90deg) scale(0.6)}50%{-webkit-transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg);transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg)}50.1%{-webkit-transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg);transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(0.6);transform:translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(0.6)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/spinkit/spinkit.min.css?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-0-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-0-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.Contextmenu_menu_3EjfP,\\r\\n.Contextmenu_menu_item_1DJnI,\\r\\n.Contextmenu_menu_item__clickable_2JiMY,\\r\\n.Contextmenu_menu_item__unclickable_2JisN {\\r\\n  -webkit-box-sizing: border-box;\\r\\n          box-sizing: border-box;\\n}\\r\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"menu\": \"Contextmenu_menu_3EjfP\",\n\t\"menu_item\": \"Contextmenu_menu_item_1DJnI\",\n\t\"menu_item__clickable\": \"Contextmenu_menu_item__clickable_2JiMY\",\n\t\"menu_item__unclickable\": \"Contextmenu_menu_item__unclickable_2JisN\"\n};\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-0-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-0-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.menu[data-v-e3a2c392] {\\r\\n  position: fixed;\\r\\n  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\\r\\n          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\\r\\n  background: #fff;\\r\\n  border-radius: 4px;\\r\\n  padding: 8px 0;\\n}\\n.menu_body[data-v-e3a2c392] {\\r\\n  display: block;\\n}\\n.menu_item[data-v-e3a2c392] {\\r\\n  list-style: none;\\r\\n  line-height: 32px;\\r\\n  padding: 0 16px;\\r\\n  margin: 0;\\r\\n  font-size: 13px;\\r\\n  outline: 0;\\r\\n  display: -webkit-box;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: center;\\r\\n      -ms-flex-align: center;\\r\\n          align-items: center;\\r\\n  -webkit-transition: 0.2s;\\r\\n  transition: 0.2s;\\r\\n  border-bottom: 1px solid #00000000;\\n}\\n.menu_item__divided[data-v-e3a2c392] {\\r\\n  border-bottom-color: #ebeef5;\\n}\\n.menu_item .menu_item_icon[data-v-e3a2c392] {\\r\\n  margin-right: 8px;\\r\\n  width: 13px;\\n}\\n.menu_item .menu_item_label[data-v-e3a2c392] {\\r\\n  -webkit-box-flex: 1;\\r\\n      -ms-flex: 1;\\r\\n          flex: 1;\\n}\\n.menu_item .menu_item_expand_icon[data-v-e3a2c392] {\\r\\n  margin-left: 16px;\\r\\n  font-size: 6px;\\r\\n  width: 10px;\\n}\\n.menu_item__available[data-v-e3a2c392] {\\r\\n  color: #606266;\\r\\n  cursor: pointer;\\n}\\n.menu_item__available[data-v-e3a2c392]:hover {\\r\\n  background: #ecf5ff;\\r\\n  color: #409eff;\\n}\\n.menu_item__disabled[data-v-e3a2c392] {\\r\\n  color: #c0c4cc;\\r\\n  cursor: not-allowed;\\n}\\n.menu_item_expand[data-v-e3a2c392] {\\r\\n  background: #ecf5ff;\\r\\n  color: #409eff;\\n}\\r\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.contextmenu-submenu-fade-enter-active,\\r\\n.contextmenu-submenu-fade-leave-active {\\r\\n  -webkit-transition: opacity 0.1s;\\r\\n  transition: opacity 0.1s;\\n}\\n.contextmenu-submenu-fade-enter,\\r\\n.contextmenu-submenu-fade-leave-to {\\r\\n  opacity: 0;\\n}\\r\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n#app[data-v-7ba5bd90] {\\n    height: 100%;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.svg-icon[data-v-c8a70580] {\\r\\n    width: 1em;\\r\\n    height: 1em;\\r\\n    vertical-align: -0.15em;\\r\\n    fill: currentColor;\\r\\n    overflow: hidden;\\n}\\r\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.page-main[data-v-eff5f54e] {\\n    border-radius: 10px;\\n}\\n.fect[data-v-eff5f54e] {\\n    display: -webkit-box;\\n    display: -ms-flexbox;\\n    display: flex;\\n    margin-bottom: 20px;\\n}\\n.bx[data-v-eff5f54e] {\\n    display: -webkit-box;\\n    display: -ms-flexbox;\\n    display: flex;\\n    -webkit-box-align: center;\\n        -ms-flex-align: center;\\n            align-items: center;\\n    margin-right: 10px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.page-main[data-v-5954443c] {\\n    border-radius: 10px;\\n}\\n.tex[data-v-5954443c] {\\n    display: -webkit-box;\\n    -webkit-box-orient: vertical;\\n    -webkit-line-clamp: 3;\\n    overflow: hidden;\\n    text-overflow: ellipsis;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/home/index.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.page-main[data-v-fa2d4a4e] {\\n    border-radius: 10px;\\n}\\n.box[data-v-fa2d4a4e] {\\n    display: -webkit-box;\\n    display: -ms-flexbox;\\n    display: flex;\\n    -webkit-box-orient: vertical;\\n    -webkit-box-direction: normal;\\n        -ms-flex-direction: column;\\n            flex-direction: column;\\n    font-size: 18px;\\n    font-weight: bold;\\n    -webkit-box-align: center;\\n        -ms-flex-align: center;\\n            align-items: center;\\n}\\n.bx[data-v-fa2d4a4e] {\\n    display: -webkit-box;\\n    display: -ms-flexbox;\\n    display: flex;\\n    margin-bottom: 20px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/market/index.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-121c36cd]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.absolute-container[data-v-121c36cd] {\\n  position: absolute;\\n  width: 100%;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.main-container .topbar-container + .main .absolute-container[data-v-121c36cd] {\\n  height: calc(100% - 50px);\\n}\\n.main-container .tabbar-container + .topbar-container + .main .absolute-container[data-v-121c36cd] {\\n  height: calc(100% - 40px - 50px);\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true& ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-28fd3be8]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.search-name[data-v-28fd3be8] {\\n  padding-top: 10px;\\n  line-height: normal;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n.search-address[data-v-28fd3be8] {\\n  font-size: 12px;\\n  color: #b4b4b4;\\n  line-height: normal;\\n}\\n.map[data-v-28fd3be8] {\\n  position: relative;\\n}\\n.map .search[data-v-28fd3be8] {\\n  position: absolute;\\n  z-index: 1;\\n  left: 72px;\\n  top: 15px;\\n}\\n.map .search[data-v-28fd3be8]  .el-input input {\\n  -webkit-box-shadow: 0 0 5px #999;\\n          box-shadow: 0 0 5px #999;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-0c14e654]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.batch-action-bar[data-v-0c14e654] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  margin: 20px 0;\\n  padding: 0 10px;\\n}\\n.batch-action-bar[data-v-0c14e654]:first-child {\\n  margin-top: 0;\\n}\\n.batch-action-bar .el-checkbox[data-v-0c14e654] {\\n  margin-right: 20px;\\n}\\n.batch-action-bar .tips[data-v-0c14e654] {\\n  margin-right: 20px;\\n  color: #909399;\\n  font-size: 13px;\\n}\\n.batch-action-bar[data-v-0c14e654]  .el-form > .el-button {\\n  margin-right: 10px;\\n}\\n.batch-action-bar[data-v-0c14e654]  .el-form > .el-button-group {\\n  margin-right: 10px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-595dd2de]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.el-cascader[data-v-595dd2de] {\\n  width: 100%;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-2f201802]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.chip[data-v-2f201802] {\\n  display: inline-block;\\n  vertical-align: middle;\\n  padding: 0 10px;\\n  margin-right: 2px;\\n  border-radius: 20px;\\n  background-color: #f0f0f0;\\n}\\n.chip .content[data-v-2f201802] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  min-height: 28px;\\n  font-size: 12px;\\n}\\n.chip .content[data-v-2f201802]  .el-avatar {\\n  width: 24px;\\n  height: 24px;\\n  line-height: 24px;\\n  margin-left: -8px;\\n  margin-right: 5px;\\n}\\n.chip .content .closable[data-v-2f201802] {\\n  cursor: pointer;\\n  width: 20px;\\n  height: 20px;\\n  line-height: 20px;\\n  text-align: center;\\n  border-radius: 50%;\\n  margin-left: 5px;\\n  margin-right: -4px;\\n  font-size: 14px;\\n  background-color: #ccc;\\n  color: #fff;\\n}\\n.chip .content .closable[data-v-2f201802]:hover {\\n  opacity: 0.7;\\n}\\n.chip--primary[data-v-2f201802] {\\n  background-color: #409eff;\\n  color: #fff;\\n}\\n.chip--primary .content .closable[data-v-2f201802] {\\n  background-color: #0d84ff;\\n}\\n.chip--success[data-v-2f201802] {\\n  background-color: #67c23a;\\n  color: #fff;\\n}\\n.chip--success .content .closable[data-v-2f201802] {\\n  background-color: #0d84ff;\\n}\\n.chip--info[data-v-2f201802] {\\n  background-color: #909399;\\n  color: #fff;\\n}\\n.chip--info .content .closable[data-v-2f201802] {\\n  background-color: #767980;\\n}\\n.chip--warning[data-v-2f201802] {\\n  background-color: #e6a23c;\\n  color: #fff;\\n}\\n.chip--warning .content .closable[data-v-2f201802] {\\n  background-color: #d48a1b;\\n}\\n.chip--danger[data-v-2f201802] {\\n  background-color: #f56c6c;\\n  color: #fff;\\n}\\n.chip--danger .content .closable[data-v-2f201802] {\\n  background-color: #f23c3c;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-1503bb9d]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.mini-card[data-v-1503bb9d] {\\n  position: relative;\\n  color: #fff;\\n  text-shadow: 0 0 2px #000;\\n}\\n.mini-card[data-v-1503bb9d]  .el-card__header {\\n  position: relative;\\n  z-index: 1;\\n  border-bottom: 0;\\n  font-size: 18px;\\n}\\n.mini-card[data-v-1503bb9d]  .el-card__body {\\n  padding-top: 0;\\n}\\n.mini-card .num[data-v-1503bb9d] {\\n  position: relative;\\n  z-index: 1;\\n  font-size: 36px;\\n}\\n.mini-card .tip[data-v-1503bb9d] {\\n  margin-top: 10px;\\n  font-size: 14px;\\n  color: #eee;\\n}\\n.mini-card .svg-icon[data-v-1503bb9d] {\\n  font-size: 120px;\\n  position: absolute;\\n  right: -30px;\\n  top: -10px;\\n  -webkit-transform: rotate(15deg);\\n          transform: rotate(15deg);\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-faa3b4ec]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\nfooter[data-v-faa3b4ec] {\\n  margin: 40px 0 20px 0;\\n  line-height: 20px;\\n  text-align: center;\\n  color: #808695;\\n  font-size: 14px;\\n}\\nfooter a[data-v-faa3b4ec] {\\n  text-decoration: none;\\n  color: #808695;\\n}\\nfooter a[data-v-faa3b4ec]:hover {\\n  color: #3d4047;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-7480c5e0]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-v-7480c5e0] .tox-tinymce {\\n  border: 1px solid #dcdfe6;\\n  border-radius: 4px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true& ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-211f81e0]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-v-211f81e0] .el-upload-dragger {\\n  width: auto;\\n  height: auto;\\n  overflow: unset;\\n}\\n[data-v-211f81e0] .el-upload-dragger.is-dragover {\\n  border-width: 1px;\\n}\\n.slot[data-v-211f81e0] {\\n  width: 300px;\\n  height: 160px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-5f6be348]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.actionbar[data-v-5f6be348] {\\n  z-index: 4;\\n  bottom: 0;\\n  padding: 20px;\\n  text-align: center;\\n  background-color: #fff;\\n  -webkit-transition: all 0.3s, -webkit-box-shadow 0.5s;\\n  transition: all 0.3s, -webkit-box-shadow 0.5s;\\n  transition: all 0.3s, box-shadow 0.5s;\\n  transition: all 0.3s, box-shadow 0.5s, -webkit-box-shadow 0.5s;\\n  -webkit-box-shadow: 0 0 1px 0 #ccc;\\n          box-shadow: 0 0 1px 0 #ccc;\\n}\\n.actionbar.shadow[data-v-5f6be348] {\\n  -webkit-box-shadow: 0 -10px 10px -10px #ccc;\\n          box-shadow: 0 -10px 10px -10px #ccc;\\n}\\n[data-v-5f6be348] .el-form-item {\\n  margin-bottom: 0;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true& ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-98c64b4c]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.el-tabs[data-v-98c64b4c] {\\n  margin-top: -10px;\\n}\\n.el-tabs[data-v-98c64b4c]  .el-tabs__nav-scroll {\\n  text-align: center;\\n}\\n.el-tabs[data-v-98c64b4c]  .el-tabs__nav-scroll .el-tabs__nav {\\n  display: inline-block;\\n  margin: 0 auto;\\n  float: none;\\n}\\n.el-tabs[data-v-98c64b4c]  .el-tabs__nav-scroll .el-tabs__nav .el-tabs__item {\\n  padding: 0 12px;\\n}\\n.picker-container[data-v-98c64b4c] {\\n  width: 40px;\\n  height: 40px;\\n  line-height: 36px;\\n  text-align: center;\\n  border: 1px dashed #dcdfe6;\\n  border-radius: 5px;\\n  cursor: pointer;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.picker-container[data-v-98c64b4c]:hover {\\n  border-color: #909399;\\n  border-style: solid;\\n}\\n.picker-container i[data-v-98c64b4c] {\\n  font-size: 24px;\\n  vertical-align: middle;\\n  color: #606266;\\n}\\n.list-icon .list-icon-item[data-v-98c64b4c] {\\n  display: inline-block;\\n  margin-right: 3px;\\n  margin-bottom: 3px;\\n  padding: 2px 8px 6px;\\n  border: 1px solid #dcdfe6;\\n  font-size: 24px;\\n  cursor: pointer;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.list-icon .list-icon-item[data-v-98c64b4c]:nth-child(5n+5) {\\n  margin-right: 0;\\n}\\n.list-icon .list-icon-item[data-v-98c64b4c]:hover {\\n  border-color: #c5e1fe;\\n  background-color: #ecf5ff;\\n  color: #409eff;\\n}\\n.list-icon .list-icon-item i[data-v-98c64b4c] {\\n  vertical-align: middle;\\n}\\n.el-input[data-v-98c64b4c] {\\n  margin-bottom: 12px;\\n}\\n.style-choose[data-v-98c64b4c] {\\n  margin-top: 5px;\\n  text-align: center;\\n}\\n.el-pagination[data-v-98c64b4c] {\\n  margin-top: 5px;\\n  text-align: center;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-4b9dcf40]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.el-image[data-v-4b9dcf40] {\\n  border-radius: 5px;\\n  background-color: #ebeef5;\\n  -webkit-box-shadow: 0 0 5px 1px #ccc;\\n          box-shadow: 0 0 5px 1px #ccc;\\n}\\n.el-image[data-v-4b9dcf40]  .el-image__inner {\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n  cursor: pointer;\\n}\\n.el-image[data-v-4b9dcf40]  .el-image__inner:hover {\\n  -webkit-transform: scale(1.2);\\n          transform: scale(1.2);\\n}\\n.el-image[data-v-4b9dcf40]  .image-slot {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  width: 100%;\\n  height: 100%;\\n  color: #909399;\\n  font-size: 30px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-82a94682]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.upload-container[data-v-82a94682] {\\n  line-height: initial;\\n}\\n.image[data-v-82a94682] {\\n  position: relative;\\n}\\n.image .mask[data-v-82a94682] {\\n  opacity: 0;\\n  position: absolute;\\n  top: 0;\\n  width: 100%;\\n  height: 100%;\\n  font-size: 24px;\\n  background-color: rgba(0, 0, 0, 0.5);\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.image .mask .actions[data-v-82a94682] {\\n  width: 100px;\\n  height: 100px;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -ms-flex-wrap: wrap;\\n      flex-wrap: wrap;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n}\\n.image .mask .actions span[data-v-82a94682] {\\n  width: 50%;\\n  text-align: center;\\n  color: #fff;\\n  cursor: pointer;\\n  -webkit-transition: all 0.1s;\\n  transition: all 0.1s;\\n}\\n.image .mask .actions span.disabled[data-v-82a94682] {\\n  color: #999;\\n  cursor: not-allowed;\\n}\\n.image .mask .actions span[data-v-82a94682]:hover:not(.disabled) {\\n  -webkit-transform: scale(1.5);\\n          transform: scale(1.5);\\n}\\n.image:hover .mask[data-v-82a94682] {\\n  opacity: 1;\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger {\\n  width: auto;\\n  height: auto;\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger.is-dragover {\\n  border-width: 1px;\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger .el-image {\\n  display: block;\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger .el-image .image-slot {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  width: 100%;\\n  height: 100%;\\n  color: #909399;\\n  font-size: 30px;\\n  background-color: transparent;\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger .progress {\\n  position: absolute;\\n  top: 0;\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger .progress::after {\\n  content: \\\"\\\";\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  left: 0;\\n  top: 0;\\n  background-color: rgba(0, 0, 0, 0.2);\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger .progress .el-progress {\\n  z-index: 1;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n}\\n[data-v-82a94682] .el-upload .el-upload-dragger .progress .el-progress .el-progress__text {\\n  color: #fff;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-6e0b63e8]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.upload-container[data-v-6e0b63e8] {\\n  line-height: initial;\\n}\\n.images[data-v-6e0b63e8] {\\n  position: relative;\\n  display: inline-block;\\n  margin-right: 10px;\\n  border: 1px dashed #d9d9d9;\\n  border-radius: 6px;\\n  overflow: hidden;\\n}\\n.images .el-image[data-v-6e0b63e8] {\\n  display: block;\\n}\\n.images .mask[data-v-6e0b63e8] {\\n  opacity: 0;\\n  position: absolute;\\n  top: 0;\\n  width: 100%;\\n  height: 100%;\\n  font-size: 24px;\\n  background-color: rgba(0, 0, 0, 0.5);\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.images .mask .actions[data-v-6e0b63e8] {\\n  width: 100px;\\n  height: 100px;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -ms-flex-wrap: wrap;\\n      flex-wrap: wrap;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n}\\n.images .mask .actions span[data-v-6e0b63e8] {\\n  width: 50%;\\n  text-align: center;\\n  color: #fff;\\n  cursor: pointer;\\n  -webkit-transition: all 0.1s;\\n  transition: all 0.1s;\\n}\\n.images .mask .actions span.disabled[data-v-6e0b63e8] {\\n  color: #999;\\n  cursor: not-allowed;\\n}\\n.images .mask .actions span[data-v-6e0b63e8]:hover:not(.disabled) {\\n  -webkit-transform: scale(1.5);\\n          transform: scale(1.5);\\n}\\n.images:hover .mask[data-v-6e0b63e8] {\\n  opacity: 1;\\n}\\n.images-upload[data-v-6e0b63e8] {\\n  display: inline-block;\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger {\\n  width: auto;\\n  height: auto;\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger.is-dragover {\\n  border-width: 1px;\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger .image-slot {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  width: 100%;\\n  height: 100%;\\n  color: #909399;\\n  font-size: 30px;\\n  background-color: transparent;\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger .progress {\\n  position: absolute;\\n  top: 0;\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger .progress::after {\\n  content: \\\"\\\";\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  left: 0;\\n  top: 0;\\n  background-color: rgba(0, 0, 0, 0.2);\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger .progress .el-progress {\\n  z-index: 1;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n}\\n[data-v-6e0b63e8] .el-upload .el-upload-dragger .progress .el-progress .el-progress__text {\\n  color: #fff;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true& ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-944088a2]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.header[data-v-944088a2] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n  margin-bottom: 20px;\\n  padding: 16px 20px;\\n  background: #fff;\\n  border-bottom: 1px solid #e8eaec;\\n}\\n.header .title[data-v-944088a2] {\\n  font-size: 22px;\\n}\\n.header .content[data-v-944088a2] {\\n  color: #909399;\\n  font-size: 14px;\\n  margin-top: 10px;\\n}\\n.header .content[data-v-944088a2]:empty {\\n  display: none;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-4b45bd9b]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.page-main[data-v-4b45bd9b] {\\n  position: relative;\\n  margin: 20px;\\n  padding: 20px;\\n  background-color: #fff;\\n}\\n.page-main.is-collaspe[data-v-4b45bd9b] {\\n  overflow: hidden;\\n}\\n.page-main.is-collaspe .collaspe[data-v-4b45bd9b] {\\n  position: absolute;\\n  left: 0;\\n  bottom: 0;\\n  width: 100%;\\n  padding: 40px 0 10px;\\n  text-align: center;\\n  font-size: 24px;\\n  color: #ccc;\\n  text-shadow: 0 0 1px #000;\\n  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#fff));\\n  background: linear-gradient(to bottom, transparent, #fff);\\n  cursor: pointer;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.page-main.is-collaspe .collaspe[data-v-4b45bd9b]:hover {\\n  color: #333;\\n}\\n.page-main .title-container[data-v-4b45bd9b] {\\n  width: calc(100% + 40px);\\n  padding: 14px 20px;\\n  margin-left: -20px;\\n  margin-top: -20px;\\n  margin-bottom: 20px;\\n  border-bottom: 1px solid #eee;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-16a5d090]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.result[data-v-16a5d090] {\\n  width: 72%;\\n  margin: 20px auto 0;\\n  text-align: center;\\n}\\n.result .icon i[data-v-16a5d090] {\\n  font-size: 80px;\\n}\\n.result .icon-success i[data-v-16a5d090] {\\n  color: #67c23a;\\n}\\n.result .icon-warning i[data-v-16a5d090] {\\n  color: #e6a23c;\\n}\\n.result .icon-error i[data-v-16a5d090] {\\n  color: #f56c6c;\\n}\\n.result h1[data-v-16a5d090] {\\n  margin: 20px 0;\\n  font-size: 24px;\\n  font-weight: normal;\\n}\\n.result .desc[data-v-16a5d090] {\\n  color: #909399;\\n  margin-bottom: 20px;\\n}\\n.result .extra[data-v-16a5d090] {\\n  margin: 50px 0;\\n  padding: 24px 40px;\\n  text-align: left;\\n  color: #606266;\\n  background: #f8f8f9;\\n  border-radius: 4px;\\n}\\n.result .actions[data-v-16a5d090] {\\n  margin-bottom: 20px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-673b0be4]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.search-container[data-v-673b0be4] {\\n  position: relative;\\n  margin: 20px 0;\\n  padding: 20px;\\n  background-color: #f7f8fa;\\n}\\n.search-container[data-v-673b0be4]:first-child {\\n  margin-top: 0;\\n}\\n.search-container[data-v-673b0be4]  .el-form {\\n  margin-bottom: -18px;\\n}\\n.search-container[data-v-673b0be4]  .el-form .el-select {\\n  width: 100%;\\n}\\n.search-container[data-v-673b0be4]  .el-form .el-date-editor {\\n  width: 100%;\\n}\\n.search-container .more[data-v-673b0be4] {\\n  text-align: center;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-5bcdbe20]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.spinkit-container[data-v-5bcdbe20] {\\n  position: fixed;\\n  width: 100%;\\n  top: 0;\\n  left: 0;\\n  bottom: 0;\\n  z-index: 2001;\\n  background-color: rgba(0, 0, 0, 0.7);\\n}\\n.spinkit[data-v-5bcdbe20] {\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n}\\n.spinkit-transition-leave-active[data-v-5bcdbe20],\\n.spinkit-transition-enter-active[data-v-5bcdbe20] {\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.spinkit-transition-enter[data-v-5bcdbe20],\\n.spinkit-transition-leave-to[data-v-5bcdbe20] {\\n  opacity: 0;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-7925d3e0]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.trend[data-v-7925d3e0] {\\n  display: inline-block;\\n}\\n.trend.up[data-v-7925d3e0] {\\n  color: #67c23a;\\n}\\n.trend.down[data-v-7925d3e0] {\\n  color: #f56c6c;\\n}\\n.trend i[data-v-7925d3e0] {\\n  margin-left: 5px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-8cb22f4a]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.title[data-v-8cb22f4a] {\\n  position: fixed;\\n  z-index: 1000;\\n  top: 0;\\n  width: inherit;\\n  padding: 0 10px;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  height: 100px;\\n  text-align: center;\\n  overflow: hidden;\\n  text-decoration: none;\\n}\\n.title.is-link[data-v-8cb22f4a] {\\n  cursor: pointer;\\n}\\n.title .logo[data-v-8cb22f4a] {\\n  width: 128px;\\n  height: 44px;\\n}\\n.title span[data-v-8cb22f4a] {\\n  display: block;\\n  font-weight: bold;\\n  color: #fff;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n.imgbx[data-v-8cb22f4a] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  width: 44px;\\n  overflow: hidden;\\n}\\n.imgbx + span[data-v-8cb22f4a] {\\n  margin-left: 10px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-8cef2250]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n#search[data-v-8cef2250] {\\n  position: fixed;\\n  z-index: 2000;\\n  top: 0;\\n  left: 0;\\n  width: 100%;\\n  height: 100%;\\n  background-color: rgba(0, 0, 0, 0.5);\\n  -webkit-backdrop-filter: blur(10px);\\n          backdrop-filter: blur(10px);\\n  -webkit-transition: all 0.2s;\\n  transition: all 0.2s;\\n  -webkit-transform: translateZ(0);\\n          transform: translateZ(0);\\n  opacity: 0;\\n  visibility: hidden;\\n}\\n#search.searching[data-v-8cef2250] {\\n  opacity: 1;\\n  visibility: visible;\\n}\\n#search.searching .container[data-v-8cef2250] {\\n  -webkit-transform: initial;\\n          transform: initial;\\n  -webkit-filter: initial;\\n          filter: initial;\\n}\\n#search .container[data-v-8cef2250] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-orient: vertical;\\n  -webkit-box-direction: normal;\\n      -ms-flex-direction: column;\\n          flex-direction: column;\\n  max-width: 800px;\\n  height: 100%;\\n  margin: 0 auto;\\n  -webkit-transition: all 0.2s;\\n  transition: all 0.2s;\\n  -webkit-transform: scale(1.1);\\n          transform: scale(1.1);\\n  -webkit-filter: blur(10px);\\n          filter: blur(10px);\\n}\\n#search .container .search-box[data-v-8cef2250] {\\n  margin: 50px 20px 0;\\n}\\n#search .container .search-box[data-v-8cef2250]  .el-input__inner {\\n  height: 52px;\\n  line-height: 52px;\\n}\\n#search .container .search-box .tips[data-v-8cef2250] {\\n  margin: 20px 0 40px;\\n  line-height: 24px;\\n  font-size: 14px;\\n  text-align: center;\\n  color: #fff;\\n}\\n#search .container .search-box .tips span[data-v-8cef2250] {\\n  margin: 0 5px;\\n  padding: 1px 5px 2px;\\n  border-radius: 5px;\\n  font-weight: bold;\\n  background-color: rgba(0, 0, 0, 0.5);\\n}\\n#search .container .result[data-v-8cef2250] {\\n  margin: 0 20px;\\n  max-height: calc(100% - 250px);\\n  border-radius: 5px;\\n  overflow: auto;\\n  background-color: #fff;\\n}\\n#search .container .result .item[data-v-8cef2250] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  text-decoration: none;\\n  cursor: pointer;\\n}\\n#search .container .result .item[data-v-8cef2250]:hover {\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n  background-color: #f5f7fa;\\n}\\n#search .container .result .item:hover .icon [class^=el-icon-][data-v-8cef2250],\\n#search .container .result .item:hover .icon [class^=ri-][data-v-8cef2250],\\n#search .container .result .item:hover .icon .svg-icon[data-v-8cef2250] {\\n  color: #409eff;\\n  -webkit-transform: scale(1.2);\\n          transform: scale(1.2);\\n}\\n#search .container .result .item:hover .info .title[data-v-8cef2250] {\\n  color: #333;\\n}\\n#search .container .result .item:hover .info .breadcrumb[data-v-8cef2250],\\n#search .container .result .item:hover .info .path[data-v-8cef2250] {\\n  color: #606266;\\n}\\n#search .container .result .item .icon[data-v-8cef2250] {\\n  -webkit-box-flex: 0;\\n      -ms-flex: 0 0 66px;\\n          flex: 0 0 66px;\\n  text-align: center;\\n}\\n#search .container .result .item .icon [class^=el-icon-][data-v-8cef2250],\\n#search .container .result .item .icon [class^=ri-][data-v-8cef2250],\\n#search .container .result .item .icon .svg-icon[data-v-8cef2250] {\\n  color: #999;\\n  font-size: 20px;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n#search .container .result .item .info[data-v-8cef2250] {\\n  -webkit-box-flex: 1;\\n      -ms-flex: 1;\\n          flex: 1;\\n  height: 70px;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-orient: vertical;\\n  -webkit-box-direction: normal;\\n      -ms-flex-direction: column;\\n          flex-direction: column;\\n  -ms-flex-pack: distribute;\\n      justify-content: space-around;\\n  border-left: 1px solid #ebeef5;\\n  padding: 5px 10px 7px;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n#search .container .result .item .info .title[data-v-8cef2250] {\\n  font-size: 18px;\\n  font-weight: bold;\\n  color: #666;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n#search .container .result .item .info .title .svg-icon[data-v-8cef2250] {\\n  font-size: 14px;\\n}\\n#search .container .result .item .info .breadcrumb[data-v-8cef2250],\\n#search .container .result .item .info .path[data-v-8cef2250] {\\n  font-size: 12px;\\n  color: #c0c4cc;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n#search .container .result .item .info .breadcrumb span:last-child i[data-v-8cef2250] {\\n  display: none;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-0769ddf5]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-v-0769ddf5] .el-menu-item,[data-v-0769ddf5] .el-menu-item span,[data-v-0769ddf5] .el-submenu__title,[data-v-0769ddf5] .el-submenu__title span {\\n  vertical-align: inherit;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n[data-v-0769ddf5] .el-submenu .icon,[data-v-0769ddf5] .el-menu-item .icon {\\n  width: 20px;\\n  font-size: 20px;\\n  margin-right: 10px;\\n  vertical-align: -0.25em;\\n  -webkit-transition: -webkit-transform 0.3s;\\n  transition: -webkit-transform 0.3s;\\n  transition: transform 0.3s;\\n  transition: transform 0.3s, -webkit-transform 0.3s;\\n  color: unset;\\n}\\n[data-v-0769ddf5] .el-submenu .icon[class^=el-icon-],[data-v-0769ddf5] .el-menu-item .icon[class^=el-icon-] {\\n  vertical-align: middle;\\n}\\n[data-v-0769ddf5] .el-submenu:hover > .icon,[data-v-0769ddf5] .el-submenu .el-submenu__title:hover > .icon,[data-v-0769ddf5] .el-menu-item:hover > .icon,[data-v-0769ddf5] .el-menu-item .el-submenu__title:hover > .icon {\\n  -webkit-transform: scale(1.2);\\n          transform: scale(1.2);\\n}\\na[data-v-0769ddf5] {\\n  cursor: pointer;\\n  color: inherit;\\n  text-decoration: none;\\n}\\n.badge[data-v-0769ddf5] {\\n  position: absolute;\\n  z-index: 1;\\n  position: absolute;\\n  top: 50%;\\n  -webkit-transform: translateY(-50%);\\n          transform: translateY(-50%);\\n}\\n[data-theme=default] .badge[data-v-0769ddf5] {\\n  background-color: #f56c6c;\\n  -webkit-box-shadow: 0 0 0 1px #fff;\\n          box-shadow: 0 0 0 1px #fff;\\n}\\n[data-theme=vue-cli] .badge[data-v-0769ddf5] {\\n  background-color: #f56c6c;\\n  -webkit-box-shadow: 0 0 0 1px #fff;\\n          box-shadow: 0 0 0 1px #fff;\\n}\\n[data-theme=gitee] .badge[data-v-0769ddf5] {\\n  background-color: #f56c6c;\\n  -webkit-box-shadow: 0 0 0 1px #fff;\\n          box-shadow: 0 0 0 1px #fff;\\n}\\n[data-theme=freshness] .badge[data-v-0769ddf5] {\\n  background-color: #f56c6c;\\n  -webkit-box-shadow: 0 0 0 1px #fff;\\n          box-shadow: 0 0 0 1px #fff;\\n}\\n[data-theme=elegant] .badge[data-v-0769ddf5] {\\n  background-color: #f56c6c;\\n  -webkit-box-shadow: 0 0 0 1px #fff;\\n          box-shadow: 0 0 0 1px #fff;\\n}\\n[data-theme=pure-white] .badge[data-v-0769ddf5] {\\n  background-color: #f56c6c;\\n  -webkit-box-shadow: 0 0 0 1px #fff;\\n          box-shadow: 0 0 0 1px #fff;\\n}\\n.badge-dot[data-v-0769ddf5] {\\n  right: 15px;\\n  text-indent: -9999px;\\n  border-radius: 50%;\\n  width: 6px;\\n  height: 6px;\\n}\\n.badge-text[data-v-0769ddf5] {\\n  right: 15px;\\n  border-radius: 10px;\\n  font-size: 12px;\\n  height: 18px;\\n  line-height: 18px;\\n  padding: 0 6px;\\n  text-align: center;\\n  white-space: nowrap;\\n}\\n[data-theme=default] .badge-text[data-v-0769ddf5] {\\n  color: #fff;\\n}\\n[data-theme=vue-cli] .badge-text[data-v-0769ddf5] {\\n  color: #fff;\\n}\\n[data-theme=gitee] .badge-text[data-v-0769ddf5] {\\n  color: #fff;\\n}\\n[data-theme=freshness] .badge-text[data-v-0769ddf5] {\\n  color: #fff;\\n}\\n[data-theme=elegant] .badge-text[data-v-0769ddf5] {\\n  color: #fff;\\n}\\n[data-theme=pure-white] .badge-text[data-v-0769ddf5] {\\n  color: #fff;\\n}\\n.el-submenu__title > .badge-dot[data-v-0769ddf5] {\\n  right: 40px;\\n}\\n.el-submenu__title > .badge-text[data-v-0769ddf5] {\\n  right: 40px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-theme=default] .el-menu--inline {\\n  background-color: #FFFFFF !important;\\n}\\n[data-theme=vue-cli] .el-menu--inline {\\n  background-color: #1f2c39 !important;\\n}\\n[data-theme=gitee] .el-menu--inline {\\n  background-color: #e4e4e4 !important;\\n}\\n[data-theme=freshness] .el-menu--inline {\\n  background-color: #9be1c5 !important;\\n}\\n[data-theme=elegant] .el-menu--inline {\\n  background-color: #cfb8b8 !important;\\n}\\n[data-theme=pure-white] .el-menu--inline {\\n  background-color: white !important;\\n}\\n[data-theme=default] .el-menu--inline .el-menu-item,\\n[data-theme=default] .el-menu--inline .el-submenu > .el-submenu__title {\\n  color: #202020;\\n  background-color: #FFFFFF !important;\\n}\\n[data-theme=vue-cli] .el-menu--inline .el-menu-item,\\n[data-theme=vue-cli] .el-menu--inline .el-submenu > .el-submenu__title {\\n  color: #fff;\\n  background-color: #1f2c39 !important;\\n}\\n[data-theme=gitee] .el-menu--inline .el-menu-item,\\n[data-theme=gitee] .el-menu--inline .el-submenu > .el-submenu__title {\\n  color: #40485b;\\n  background-color: #e4e4e4 !important;\\n}\\n[data-theme=freshness] .el-menu--inline .el-menu-item,\\n[data-theme=freshness] .el-menu--inline .el-submenu > .el-submenu__title {\\n  color: #8b91ab;\\n  background-color: #9be1c5 !important;\\n}\\n[data-theme=elegant] .el-menu--inline .el-menu-item,\\n[data-theme=elegant] .el-menu--inline .el-submenu > .el-submenu__title {\\n  color: #89768f;\\n  background-color: #cfb8b8 !important;\\n}\\n[data-theme=pure-white] .el-menu--inline .el-menu-item,\\n[data-theme=pure-white] .el-menu--inline .el-submenu > .el-submenu__title {\\n  color: #595959;\\n  background-color: white !important;\\n}\\n[data-theme=default] .el-menu--inline .el-menu-item:hover,\\n[data-theme=default] .el-menu--inline .el-submenu > .el-submenu__title:hover {\\n  color: #37414b !important;\\n  background-color: #E6F2FF !important;\\n}\\n[data-theme=vue-cli] .el-menu--inline .el-menu-item:hover,\\n[data-theme=vue-cli] .el-menu--inline .el-submenu > .el-submenu__title:hover {\\n  color: #fff !important;\\n  background-color: #1a252f !important;\\n}\\n[data-theme=gitee] .el-menu--inline .el-menu-item:hover,\\n[data-theme=gitee] .el-menu--inline .el-submenu > .el-submenu__title:hover {\\n  color: #40485b !important;\\n  background-color: #dddddd !important;\\n}\\n[data-theme=freshness] .el-menu--inline .el-menu-item:hover,\\n[data-theme=freshness] .el-menu--inline .el-submenu > .el-submenu__title:hover {\\n  color: #8b91ab !important;\\n  background-color: #8fddbe !important;\\n}\\n[data-theme=elegant] .el-menu--inline .el-menu-item:hover,\\n[data-theme=elegant] .el-menu--inline .el-submenu > .el-submenu__title:hover {\\n  color: #89768f !important;\\n  background-color: #c8afaf !important;\\n}\\n[data-theme=pure-white] .el-menu--inline .el-menu-item:hover,\\n[data-theme=pure-white] .el-menu--inline .el-submenu > .el-submenu__title:hover {\\n  color: #1890ff !important;\\n  background-color: #fff !important;\\n}\\n[data-theme=default] .el-menu-item,\\n[data-theme=default] .el-submenu__title {\\n  color: #202020;\\n}\\n[data-theme=vue-cli] .el-menu-item,\\n[data-theme=vue-cli] .el-submenu__title {\\n  color: #fff;\\n}\\n[data-theme=gitee] .el-menu-item,\\n[data-theme=gitee] .el-submenu__title {\\n  color: #40485b;\\n}\\n[data-theme=freshness] .el-menu-item,\\n[data-theme=freshness] .el-submenu__title {\\n  color: #8b91ab;\\n}\\n[data-theme=elegant] .el-menu-item,\\n[data-theme=elegant] .el-submenu__title {\\n  color: #89768f;\\n}\\n[data-theme=pure-white] .el-menu-item,\\n[data-theme=pure-white] .el-submenu__title {\\n  color: #595959;\\n}\\n[data-theme=default] .el-menu-item:hover,\\n[data-theme=default] .el-submenu__title:hover {\\n  color: #37414b !important;\\n  background-color: #E6F2FF !important;\\n}\\n[data-theme=vue-cli] .el-menu-item:hover,\\n[data-theme=vue-cli] .el-submenu__title:hover {\\n  color: #fff !important;\\n  background-color: #1a252f !important;\\n}\\n[data-theme=gitee] .el-menu-item:hover,\\n[data-theme=gitee] .el-submenu__title:hover {\\n  color: #40485b !important;\\n  background-color: #dddddd !important;\\n}\\n[data-theme=freshness] .el-menu-item:hover,\\n[data-theme=freshness] .el-submenu__title:hover {\\n  color: #8b91ab !important;\\n  background-color: #8fddbe !important;\\n}\\n[data-theme=elegant] .el-menu-item:hover,\\n[data-theme=elegant] .el-submenu__title:hover {\\n  color: #89768f !important;\\n  background-color: #c8afaf !important;\\n}\\n[data-theme=pure-white] .el-menu-item:hover,\\n[data-theme=pure-white] .el-submenu__title:hover {\\n  color: #1890ff !important;\\n  background-color: #fff !important;\\n}\\n[data-theme=default] .el-menu--popup {\\n  background-color: #FFFFFF;\\n}\\n[data-theme=vue-cli] .el-menu--popup {\\n  background-color: #2c3e50;\\n}\\n[data-theme=gitee] .el-menu--popup {\\n  background-color: #f6f6f6;\\n}\\n[data-theme=freshness] .el-menu--popup {\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] .el-menu--popup {\\n  background-color: #ddcdcd;\\n}\\n[data-theme=pure-white] .el-menu--popup {\\n  background-color: #fff;\\n}\\n[data-theme=default] .el-menu-item.is-active,\\n[data-theme=default] .el-submenu .el-menu--inline .el-menu-item.is-active {\\n  color: #1885FF !important;\\n  background-color: #E6F2FF !important;\\n}\\n[data-theme=vue-cli] .el-menu-item.is-active,\\n[data-theme=vue-cli] .el-submenu .el-menu--inline .el-menu-item.is-active {\\n  color: #11c2e6 !important;\\n  background-color: #2e4854 !important;\\n}\\n[data-theme=gitee] .el-menu-item.is-active,\\n[data-theme=gitee] .el-submenu .el-menu--inline .el-menu-item.is-active {\\n  color: #f6f6f6 !important;\\n  background-color: #fe7300 !important;\\n}\\n[data-theme=freshness] .el-menu-item.is-active,\\n[data-theme=freshness] .el-submenu .el-menu--inline .el-menu-item.is-active {\\n  color: #5c6074 !important;\\n  background-color: #feefc6 !important;\\n}\\n[data-theme=elegant] .el-menu-item.is-active,\\n[data-theme=elegant] .el-submenu .el-menu--inline .el-menu-item.is-active {\\n  color: #39313b !important;\\n  background-color: #b5a5a5 !important;\\n}\\n[data-theme=pure-white] .el-menu-item.is-active,\\n[data-theme=pure-white] .el-submenu .el-menu--inline .el-menu-item.is-active {\\n  color: #1890ff !important;\\n  background-color: #e6f7ff !important;\\n}\\n[data-theme=default] .el-menu--collapse .el-submenu.is-active > .el-submenu__title {\\n  color: #1885FF !important;\\n  background-color: #E6F2FF !important;\\n}\\n[data-theme=vue-cli] .el-menu--collapse .el-submenu.is-active > .el-submenu__title {\\n  color: #11c2e6 !important;\\n  background-color: #2e4854 !important;\\n}\\n[data-theme=gitee] .el-menu--collapse .el-submenu.is-active > .el-submenu__title {\\n  color: #f6f6f6 !important;\\n  background-color: #fe7300 !important;\\n}\\n[data-theme=freshness] .el-menu--collapse .el-submenu.is-active > .el-submenu__title {\\n  color: #5c6074 !important;\\n  background-color: #feefc6 !important;\\n}\\n[data-theme=elegant] .el-menu--collapse .el-submenu.is-active > .el-submenu__title {\\n  color: #39313b !important;\\n  background-color: #b5a5a5 !important;\\n}\\n[data-theme=pure-white] .el-menu--collapse .el-submenu.is-active > .el-submenu__title {\\n  color: #1890ff !important;\\n  background-color: #e6f7ff !important;\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"g_main_sidebar_width\": \"60px\",\n\t\"g_sub_sidebar_width\": \"220px\"\n};\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-223493e4]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.tabbar-container[data-v-223493e4] {\\n  position: absolute;\\n  z-index: 999;\\n  top: 0;\\n  height: 40px;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n[data-theme=default] .tabbar-container[data-v-223493e4] {\\n  background-color: #f0f2f5;\\n}\\n[data-theme=vue-cli] .tabbar-container[data-v-223493e4] {\\n  background-color: #f0f2f5;\\n}\\n[data-theme=gitee] .tabbar-container[data-v-223493e4] {\\n  background-color: #f0f2f5;\\n}\\n[data-theme=freshness] .tabbar-container[data-v-223493e4] {\\n  background-color: #f0f2f5;\\n}\\n[data-theme=elegant] .tabbar-container[data-v-223493e4] {\\n  background-color: #f0f2f5;\\n}\\n[data-theme=pure-white] .tabbar-container[data-v-223493e4] {\\n  background-color: #f0f2f5;\\n}\\n.tabbar-container.fixed[data-v-223493e4] {\\n  position: fixed;\\n}\\n.tabbar-container .tabs[data-v-223493e4] {\\n  position: absolute;\\n  left: 0;\\n  right: 0;\\n  bottom: -1px;\\n  padding-right: 50px;\\n  overflow-y: hidden;\\n  white-space: nowrap;\\n  scrollbar-width: none;\\n}\\n.tabbar-container .tabs[data-v-223493e4]::-webkit-scrollbar {\\n  display: none;\\n}\\n.tabbar-container .more-action[data-v-223493e4] {\\n  position: absolute;\\n  z-index: 10;\\n  top: 0;\\n  right: 0;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  height: 100%;\\n  width: 50px;\\n  padding-left: 15px;\\n}\\n[data-theme=default] .tabbar-container .more-action[data-v-223493e4] {\\n  background: -webkit-gradient(linear, left top, right top, from(transparent), to(#f0f2f5));\\n  background: linear-gradient(to right, transparent, #f0f2f5);\\n}\\n[data-theme=vue-cli] .tabbar-container .more-action[data-v-223493e4] {\\n  background: -webkit-gradient(linear, left top, right top, from(transparent), to(#f0f2f5));\\n  background: linear-gradient(to right, transparent, #f0f2f5);\\n}\\n[data-theme=gitee] .tabbar-container .more-action[data-v-223493e4] {\\n  background: -webkit-gradient(linear, left top, right top, from(transparent), to(#f0f2f5));\\n  background: linear-gradient(to right, transparent, #f0f2f5);\\n}\\n[data-theme=freshness] .tabbar-container .more-action[data-v-223493e4] {\\n  background: -webkit-gradient(linear, left top, right top, from(transparent), to(#f0f2f5));\\n  background: linear-gradient(to right, transparent, #f0f2f5);\\n}\\n[data-theme=elegant] .tabbar-container .more-action[data-v-223493e4] {\\n  background: -webkit-gradient(linear, left top, right top, from(transparent), to(#f0f2f5));\\n  background: linear-gradient(to right, transparent, #f0f2f5);\\n}\\n[data-theme=pure-white] .tabbar-container .more-action[data-v-223493e4] {\\n  background: -webkit-gradient(linear, left top, right top, from(transparent), to(#f0f2f5));\\n  background: linear-gradient(to right, transparent, #f0f2f5);\\n}\\n.tabbar-container .more-action i[data-v-223493e4] {\\n  padding: 4px;\\n  border-radius: 5px;\\n  font-size: 16px;\\n  background-color: #fff;\\n  -webkit-box-shadow: 0 0 5px #ccc;\\n          box-shadow: 0 0 5px #ccc;\\n  cursor: pointer;\\n}\\n.tab-container[data-v-223493e4] {\\n  display: inline-block;\\n}\\n.tab[data-v-223493e4] {\\n  position: relative;\\n  display: inline-block;\\n  width: 150px;\\n  height: 34px;\\n  line-height: 32px;\\n  margin-right: -20px;\\n  vertical-align: bottom;\\n  font-size: 14px;\\n  cursor: pointer;\\n  pointer-events: none;\\n  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;\\n  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;\\n  transition: transform 0.2s ease, opacity 0.2s ease;\\n  transition: transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;\\n}\\n.tab *[data-v-223493e4] {\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n      -ms-user-select: none;\\n          user-select: none;\\n}\\n.tab[data-v-223493e4]:last-child {\\n  margin-right: 30px;\\n}\\n.tab:not(.actived) .tab-background[data-v-223493e4] {\\n  opacity: 0;\\n}\\n.tab:not(.actived) .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  -webkit-transition: fill 0.2s ease;\\n  transition: fill 0.2s ease;\\n}\\n.tab[data-v-223493e4]:not(.tab-dragging):not(.actived):hover::before, .tab[data-v-223493e4]:not(.tab-dragging):not(.actived):hover::after, .tab.actived[data-v-223493e4]::before, .tab.actived[data-v-223493e4]::after {\\n  content: none;\\n}\\n.tab:not(.tab-dragging):not(.actived):hover + .tab .tab-dividers[data-v-223493e4]::before, .tab.actived + .tab .tab-dividers[data-v-223493e4]::before {\\n  opacity: 0;\\n}\\n.tab:not(.tab-dragging):not(.actived):hover .tab-background[data-v-223493e4], .tab.actived .tab-background[data-v-223493e4] {\\n  opacity: 1;\\n}\\n.tab[data-v-223493e4]:not(.tab-dragging):not(.actived):hover {\\n  z-index: 3;\\n}\\n[data-theme=default] .tab:not(.tab-dragging):not(.actived):hover .tab-content .title[data-v-223493e4],\\n[data-theme=default] .tab:not(.tab-dragging):not(.actived):hover .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=vue-cli] .tab:not(.tab-dragging):not(.actived):hover .tab-content .title[data-v-223493e4],\\n[data-theme=vue-cli] .tab:not(.tab-dragging):not(.actived):hover .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=gitee] .tab:not(.tab-dragging):not(.actived):hover .tab-content .title[data-v-223493e4],\\n[data-theme=gitee] .tab:not(.tab-dragging):not(.actived):hover .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=freshness] .tab:not(.tab-dragging):not(.actived):hover .tab-content .title[data-v-223493e4],\\n[data-theme=freshness] .tab:not(.tab-dragging):not(.actived):hover .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=elegant] .tab:not(.tab-dragging):not(.actived):hover .tab-content .title[data-v-223493e4],\\n[data-theme=elegant] .tab:not(.tab-dragging):not(.actived):hover .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=pure-white] .tab:not(.tab-dragging):not(.actived):hover .tab-content .title[data-v-223493e4],\\n[data-theme=pure-white] .tab:not(.tab-dragging):not(.actived):hover .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n.tab.actived[data-v-223493e4] {\\n  z-index: 5;\\n}\\n[data-theme=default] .tab.actived .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  fill: #fff;\\n}\\n[data-theme=vue-cli] .tab.actived .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  fill: #fff;\\n}\\n[data-theme=gitee] .tab.actived .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  fill: #fff;\\n}\\n[data-theme=freshness] .tab.actived .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  fill: #fff;\\n}\\n[data-theme=elegant] .tab.actived .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  fill: #fff;\\n}\\n[data-theme=pure-white] .tab.actived .tab-background > svg .tab-geometry[data-v-223493e4] {\\n  fill: #fff;\\n}\\n[data-theme=default] .tab.actived .tab-content .title[data-v-223493e4],\\n[data-theme=default] .tab.actived .tab-content .action-icon[data-v-223493e4] {\\n  color: #97a8be;\\n}\\n[data-theme=vue-cli] .tab.actived .tab-content .title[data-v-223493e4],\\n[data-theme=vue-cli] .tab.actived .tab-content .action-icon[data-v-223493e4] {\\n  color: #97a8be;\\n}\\n[data-theme=gitee] .tab.actived .tab-content .title[data-v-223493e4],\\n[data-theme=gitee] .tab.actived .tab-content .action-icon[data-v-223493e4] {\\n  color: #97a8be;\\n}\\n[data-theme=freshness] .tab.actived .tab-content .title[data-v-223493e4],\\n[data-theme=freshness] .tab.actived .tab-content .action-icon[data-v-223493e4] {\\n  color: #97a8be;\\n}\\n[data-theme=elegant] .tab.actived .tab-content .title[data-v-223493e4],\\n[data-theme=elegant] .tab.actived .tab-content .action-icon[data-v-223493e4] {\\n  color: #97a8be;\\n}\\n[data-theme=pure-white] .tab.actived .tab-content .title[data-v-223493e4],\\n[data-theme=pure-white] .tab.actived .tab-content .action-icon[data-v-223493e4] {\\n  color: #97a8be;\\n}\\n.tab.tab-ghost[data-v-223493e4] {\\n  opacity: 0;\\n}\\n.tab .tab-dividers[data-v-223493e4] {\\n  position: absolute;\\n  z-index: 0;\\n  top: 10px;\\n  bottom: 10px;\\n  left: 9px;\\n  right: 9px;\\n}\\n.tab .tab-dividers[data-v-223493e4]::before {\\n  content: \\\"\\\";\\n  display: block;\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  width: 1px;\\n  opacity: 1;\\n  -webkit-transition: opacity 0.2s ease;\\n  transition: opacity 0.2s ease;\\n  left: 1px;\\n}\\n[data-theme=default] .tab .tab-dividers[data-v-223493e4]::before {\\n  background-color: #a9adb0;\\n}\\n[data-theme=vue-cli] .tab .tab-dividers[data-v-223493e4]::before {\\n  background-color: #a9adb0;\\n}\\n[data-theme=gitee] .tab .tab-dividers[data-v-223493e4]::before {\\n  background-color: #a9adb0;\\n}\\n[data-theme=freshness] .tab .tab-dividers[data-v-223493e4]::before {\\n  background-color: #a9adb0;\\n}\\n[data-theme=elegant] .tab .tab-dividers[data-v-223493e4]::before {\\n  background-color: #a9adb0;\\n}\\n[data-theme=pure-white] .tab .tab-dividers[data-v-223493e4]::before {\\n  background-color: #a9adb0;\\n}\\n.tab:first-child .tab-dividers[data-v-223493e4]::before {\\n  opacity: 0;\\n}\\n.tab .tab-background[data-v-223493e4] {\\n  position: absolute;\\n  z-index: 1;\\n  top: -1px;\\n  left: 0;\\n  width: 100%;\\n  height: 100%;\\n  overflow: hidden;\\n  pointer-events: none;\\n  -webkit-transition: opacity 0.2s ease;\\n  transition: opacity 0.2s ease;\\n}\\n.tab .tab-background svg[data-v-223493e4] {\\n  width: 100%;\\n  height: 100%;\\n}\\n[data-theme=default] .tab .tab-background svg .tab-geometry[data-v-223493e4] {\\n  fill: #dee1e6;\\n}\\n[data-theme=vue-cli] .tab .tab-background svg .tab-geometry[data-v-223493e4] {\\n  fill: #dee1e6;\\n}\\n[data-theme=gitee] .tab .tab-background svg .tab-geometry[data-v-223493e4] {\\n  fill: #dee1e6;\\n}\\n[data-theme=freshness] .tab .tab-background svg .tab-geometry[data-v-223493e4] {\\n  fill: #dee1e6;\\n}\\n[data-theme=elegant] .tab .tab-background svg .tab-geometry[data-v-223493e4] {\\n  fill: #dee1e6;\\n}\\n[data-theme=pure-white] .tab .tab-background svg .tab-geometry[data-v-223493e4] {\\n  fill: #dee1e6;\\n}\\n.tab .tab-content[data-v-223493e4] {\\n  position: absolute;\\n  z-index: 5;\\n  left: 0;\\n  right: 0;\\n  height: 100%;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  pointer-events: all;\\n}\\n.tab .tab-content .title[data-v-223493e4] {\\n  position: absolute;\\n  left: 20px;\\n  right: 35px;\\n  -webkit-box-flex: 1;\\n      -ms-flex: 1;\\n          flex: 1;\\n  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 24px), transparent);\\n          mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 24px), transparent);\\n  overflow: hidden;\\n  white-space: nowrap;\\n}\\n[data-theme=default] .tab .tab-content .title[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=vue-cli] .tab .tab-content .title[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=gitee] .tab .tab-content .title[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=freshness] .tab .tab-content .title[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=elegant] .tab .tab-content .title[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=pure-white] .tab .tab-content .title[data-v-223493e4] {\\n  color: #999;\\n}\\n.tab .tab-content .drag-handle[data-v-223493e4] {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 9px;\\n  right: 9px;\\n}\\n.tab .tab-content .action-icon[data-v-223493e4] {\\n  position: absolute;\\n  top: 8px;\\n  right: 18px;\\n  vertical-align: middle;\\n  padding: 2px;\\n  border-radius: 50%;\\n  font-size: 12px;\\n}\\n[data-theme=default] .tab .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=vue-cli] .tab .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=gitee] .tab .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=freshness] .tab .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=elegant] .tab .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n[data-theme=pure-white] .tab .tab-content .action-icon[data-v-223493e4] {\\n  color: #999;\\n}\\n.tab .tab-content .action-icon[data-v-223493e4]:hover {\\n  background-color: #e8eaed;\\n}\\n.tabbar-enter[data-v-223493e4],\\n.tabbar-leave-to[data-v-223493e4] {\\n  opacity: 0;\\n  -webkit-transform: translateY(30px);\\n          transform: translateY(30px);\\n}\\n.tabbar-leave-active[data-v-223493e4] {\\n  position: absolute;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-0fc836f7]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-v-0fc836f7] .el-drawer__wrapper,[data-v-0fc836f7] .el-drawer__wrapper * {\\n  outline: none !important;\\n}\\n[data-v-0fc836f7] .el-drawer__body {\\n  padding: 0 20px 20px;\\n  overflow: auto;\\n}\\n.el-form[data-v-0fc836f7] {\\n  margin-top: 20px;\\n}\\n.el-form .el-alert[data-v-0fc836f7] {\\n  margin-top: 10px;\\n  line-height: initial;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-33068c4e]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.topbar-container[data-v-33068c4e] {\\n  position: absolute;\\n  z-index: 999;\\n  top: 0;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n  height: 50px;\\n  background-color: #fff;\\n  -webkit-transition: 0.3s, -webkit-box-shadow 0.2s;\\n  transition: 0.3s, -webkit-box-shadow 0.2s;\\n  transition: 0.3s, box-shadow 0.2s;\\n  transition: 0.3s, box-shadow 0.2s, -webkit-box-shadow 0.2s;\\n  -webkit-box-shadow: 0 0 1px 0 #ccc;\\n          box-shadow: 0 0 1px 0 #ccc;\\n}\\n.topbar-container.fixed[data-v-33068c4e] {\\n  position: fixed;\\n}\\n.topbar-container.fixed.shadow[data-v-33068c4e] {\\n  -webkit-box-shadow: 0 10px 10px -10px #ccc;\\n          box-shadow: 0 10px 10px -10px #ccc;\\n}\\n.topbar-container .left-box[data-v-33068c4e] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  padding-right: 50px;\\n  overflow: hidden;\\n  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 50px), transparent);\\n          mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 50px), transparent);\\n}\\n.topbar-container .left-box .sidebar-collapse[data-v-33068c4e] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  padding: 0 20px;\\n  height: 50px;\\n  cursor: pointer;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.topbar-container .left-box .sidebar-collapse[data-v-33068c4e]:hover {\\n  background-image: -webkit-gradient(linear, left top, right top, from(#ddd), to(transparent));\\n  background-image: linear-gradient(to right, #ddd, transparent);\\n}\\n.topbar-container .left-box .sidebar-collapse .svg-icon[data-v-33068c4e] {\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.topbar-container .left-box .sidebar-collapse.is-collapse .svg-icon[data-v-33068c4e] {\\n  -webkit-transform: rotateZ(-180deg);\\n          transform: rotateZ(-180deg);\\n}\\n.topbar-container .left-box .sidebar-collapse + .el-breadcrumb[data-v-33068c4e] {\\n  margin-left: 0;\\n}\\n.topbar-container .left-box[data-v-33068c4e]  .el-breadcrumb {\\n  margin-left: 20px;\\n  white-space: nowrap;\\n}\\n.topbar-container .left-box[data-v-33068c4e]  .el-breadcrumb .el-breadcrumb__item {\\n  display: inline-block;\\n  float: none;\\n}\\n.topbar-container .left-box[data-v-33068c4e]  .el-breadcrumb .el-breadcrumb__item span {\\n  font-weight: normal;\\n}\\n.topbar-container .left-box[data-v-33068c4e]  .el-breadcrumb .el-breadcrumb__item:last-child span {\\n  color: #97a8be;\\n}\\n.breadcrumb-enter-active[data-v-33068c4e] {\\n  -webkit-transition: all 0.25s;\\n  transition: all 0.25s;\\n}\\n.breadcrumb-enter[data-v-33068c4e],\\n.breadcrumb-leave-active[data-v-33068c4e] {\\n  opacity: 0;\\n  -webkit-transform: translateX(30px) skewX(-50deg);\\n          transform: translateX(30px) skewX(-50deg);\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-46bd2d3a]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.user[data-v-46bd2d3a] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  padding: 0 20px;\\n  white-space: nowrap;\\n}\\n.tools[data-v-46bd2d3a] {\\n  margin-right: 20px;\\n}\\n.tools .item[data-v-46bd2d3a] {\\n  margin-left: 5px;\\n  padding: 6px 8px;\\n  border-radius: 5px;\\n  outline: none;\\n  cursor: pointer;\\n  vertical-align: middle;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.tools .item [class^=ri-][data-v-46bd2d3a] {\\n  vertical-align: -0.15em;\\n}\\n.tools .item .el-badge[data-v-46bd2d3a] {\\n  vertical-align: initial;\\n}\\n.language-container[data-v-46bd2d3a] {\\n  font-size: 16px;\\n}\\n.user-container[data-v-46bd2d3a] {\\n  display: inline-block;\\n  height: 50px;\\n  line-height: 50px;\\n  cursor: pointer;\\n}\\n.img[data-v-46bd2d3a] {\\n  vertical-align: middle;\\n  width: 40px;\\n  height: 40px;\\n  border-radius: 50%;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-13877386]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-layout=adaption] #app-main[data-v-13877386] {\\n  width: 100%;\\n}\\n[data-layout=adaption-min-width] #app-main[data-v-13877386] {\\n  min-width: 1400px;\\n}\\n[data-layout=center] #app-main[data-v-13877386] {\\n  width: 1400px;\\n}\\n[data-layout=center-max-width] #app-main[data-v-13877386] {\\n  width: 1400px;\\n  max-width: 100%;\\n}\\n[data-sidebar-no-collapse] .sidebar-container[data-v-13877386] {\\n  width: calc(60px + 220px);\\n}\\n[data-sidebar-no-collapse] .main-container[data-v-13877386] {\\n  margin-left: calc(60px + 220px);\\n}\\n[data-sidebar-no-collapse][data-no-main-sidebar] .sidebar-container[data-v-13877386] {\\n  width: 220px;\\n}\\n[data-sidebar-no-collapse][data-no-main-sidebar] .main-container[data-v-13877386] {\\n  margin-left: 220px;\\n}\\n[data-sidebar-collapse] .sidebar-container[data-v-13877386] {\\n  width: calc(60px + 64px);\\n}\\n[data-sidebar-collapse] .main-container[data-v-13877386] {\\n  margin-left: calc(60px + 64px);\\n}\\n[data-sidebar-collapse][data-no-main-sidebar] .sidebar-container[data-v-13877386] {\\n  width: 64px;\\n}\\n[data-sidebar-collapse][data-no-main-sidebar] .main-container[data-v-13877386] {\\n  margin-left: 64px;\\n}\\n[data-mode=mobile] #app-main[data-v-13877386] {\\n  width: 100%;\\n  min-width: unset;\\n  max-width: unset;\\n}\\n[data-mode=mobile] .sidebar-container[data-v-13877386] {\\n  width: calc(60px + 220px);\\n  -webkit-transform: translateX(-60px) translateX(-220px);\\n          transform: translateX(-60px) translateX(-220px);\\n}\\n[data-mode=mobile] .sidebar-container.show[data-v-13877386] {\\n  -webkit-transform: translateX(0);\\n          transform: translateX(0);\\n}\\n[data-mode=mobile] .main-container[data-v-13877386] {\\n  margin-left: 0;\\n}\\n[data-mode=mobile][data-no-main-sidebar] .sidebar-container[data-v-13877386] {\\n  width: calc(60px + 220px);\\n  -webkit-transform: translateX(-60px) translateX(-220px);\\n          transform: translateX(-60px) translateX(-220px);\\n}\\n[data-mode=mobile][data-no-main-sidebar] .sidebar-container.show[data-v-13877386] {\\n  -webkit-transform: translateX(0);\\n          transform: translateX(0);\\n}\\n[data-mode=mobile][data-no-main-sidebar] .main-container[data-v-13877386] {\\n  margin-left: 0;\\n}\\n.layout[data-v-13877386] {\\n  height: 100%;\\n}\\n#app-main[data-v-13877386] {\\n  height: 100%;\\n  margin: 0 auto;\\n  -webkit-transition: all 0.2s;\\n  transition: all 0.2s;\\n}\\nheader[data-v-13877386] {\\n  position: fixed;\\n  z-index: 1000;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  padding: 0 20px;\\n  height: 70px;\\n}\\n[data-theme=default] header[data-v-13877386] {\\n  color: #fff;\\n  background-color: #222b45;\\n}\\n[data-theme=vue-cli] header[data-v-13877386] {\\n  color: #fff;\\n  background-color: #1d2935;\\n}\\n[data-theme=gitee] header[data-v-13877386] {\\n  color: #fff;\\n  background-color: #303643;\\n}\\n[data-theme=freshness] header[data-v-13877386] {\\n  color: #fff;\\n  background-color: #81c1b2;\\n}\\n[data-theme=elegant] header[data-v-13877386] {\\n  color: #fff;\\n  background-color: #736477;\\n}\\n[data-theme=pure-white] header[data-v-13877386] {\\n  color: #595959;\\n  background-color: #fff;\\n}\\nheader .header-container[data-v-13877386] {\\n  width: 100%;\\n  margin: 0 auto;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n}\\nheader .header-container .main[data-v-13877386] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n}\\n@media screen and (max-width: 100%) {\\nheader .header-container[data-v-13877386] {\\n    width: 100%;\\n}\\n}\\nheader[data-v-13877386]  .title {\\n  position: relative;\\n  width: inherit;\\n  height: inherit;\\n  padding: inherit;\\n  background-color: inherit;\\n}\\nheader[data-v-13877386]  .title .logo {\\n  width: 50px;\\n  height: 50px;\\n}\\nheader[data-v-13877386]  .title span {\\n  font-size: 24px;\\n  letter-spacing: 1px;\\n}\\n[data-theme=default] header[data-v-13877386]  .title span {\\n  color: #fff;\\n}\\n[data-theme=vue-cli] header[data-v-13877386]  .title span {\\n  color: #fff;\\n}\\n[data-theme=gitee] header[data-v-13877386]  .title span {\\n  color: #fff;\\n}\\n[data-theme=freshness] header[data-v-13877386]  .title span {\\n  color: #fff;\\n}\\n[data-theme=elegant] header[data-v-13877386]  .title span {\\n  color: #fff;\\n}\\n[data-theme=pure-white] header[data-v-13877386]  .title span {\\n  color: #595959;\\n}\\nheader .nav[data-v-13877386] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  margin-left: 50px;\\n}\\nheader .nav .item[data-v-13877386] {\\n  margin: 0 10px;\\n  padding: 10px;\\n  border-radius: 4px;\\n  cursor: pointer;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n[data-theme=default] header .nav .item[data-v-13877386] {\\n  background-color: #222b45;\\n  color: #ccc;\\n}\\n[data-theme=vue-cli] header .nav .item[data-v-13877386] {\\n  background-color: #1d2935;\\n  color: #fff;\\n}\\n[data-theme=gitee] header .nav .item[data-v-13877386] {\\n  background-color: #303643;\\n  color: #d6d7d9;\\n}\\n[data-theme=freshness] header .nav .item[data-v-13877386] {\\n  background-color: #81c1b2;\\n  color: #f3f0f3;\\n}\\n[data-theme=elegant] header .nav .item[data-v-13877386] {\\n  background-color: #736477;\\n  color: #fff;\\n}\\n[data-theme=pure-white] header .nav .item[data-v-13877386] {\\n  background-color: #fff;\\n  color: #595959;\\n}\\n[data-theme=default] header .nav .item[data-v-13877386]:hover {\\n  color: #fff;\\n  background-color: #334067;\\n}\\n[data-theme=vue-cli] header .nav .item[data-v-13877386]:hover {\\n  color: #42b983;\\n  background-color: #1f3039;\\n}\\n[data-theme=gitee] header .nav .item[data-v-13877386]:hover {\\n  color: #fff;\\n  background-color: #40485b;\\n}\\n[data-theme=freshness] header .nav .item[data-v-13877386]:hover {\\n  color: #8f75a2;\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] header .nav .item[data-v-13877386]:hover {\\n  color: #fff;\\n  background-color: #8d7d91;\\n}\\n[data-theme=pure-white] header .nav .item[data-v-13877386]:hover {\\n  color: #1890ff;\\n  background-color: #e6f7ff;\\n}\\n[data-theme=default] header .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #334067;\\n}\\n[data-theme=vue-cli] header .nav .item.active[data-v-13877386] {\\n  color: #42b983;\\n  background-color: #1f3039;\\n}\\n[data-theme=gitee] header .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #40485b;\\n}\\n[data-theme=freshness] header .nav .item.active[data-v-13877386] {\\n  color: #8f75a2;\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] header .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #8d7d91;\\n}\\n[data-theme=pure-white] header .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #1890ff;\\n}\\nheader .nav .item .icon[data-v-13877386] {\\n  font-size: 20px;\\n  vertical-align: middle;\\n}\\nheader .nav .item .icon + span[data-v-13877386] {\\n  margin-left: 5px;\\n  vertical-align: middle;\\n}\\nheader[data-v-13877386]  .user {\\n  padding: 0;\\n}\\n[data-theme=default] header[data-v-13877386]  .user .tools [class^=ri-] {\\n  color: #fff;\\n}\\n[data-theme=vue-cli] header[data-v-13877386]  .user .tools [class^=ri-] {\\n  color: #fff;\\n}\\n[data-theme=gitee] header[data-v-13877386]  .user .tools [class^=ri-] {\\n  color: #fff;\\n}\\n[data-theme=freshness] header[data-v-13877386]  .user .tools [class^=ri-] {\\n  color: #fff;\\n}\\n[data-theme=elegant] header[data-v-13877386]  .user .tools [class^=ri-] {\\n  color: #fff;\\n}\\n[data-theme=pure-white] header[data-v-13877386]  .user .tools [class^=ri-] {\\n  color: #595959;\\n}\\nheader[data-v-13877386]  .user .user-container {\\n  font-size: 16px;\\n}\\n[data-theme=default] header[data-v-13877386]  .user .user-container {\\n  color: #fff;\\n}\\n[data-theme=vue-cli] header[data-v-13877386]  .user .user-container {\\n  color: #fff;\\n}\\n[data-theme=gitee] header[data-v-13877386]  .user .user-container {\\n  color: #fff;\\n}\\n[data-theme=freshness] header[data-v-13877386]  .user .user-container {\\n  color: #fff;\\n}\\n[data-theme=elegant] header[data-v-13877386]  .user .user-container {\\n  color: #fff;\\n}\\n[data-theme=pure-white] header[data-v-13877386]  .user .user-container {\\n  color: #595959;\\n}\\n.wrapper[data-v-13877386] {\\n  position: relative;\\n  width: 100%;\\n  height: 100%;\\n}\\n.wrapper .sidebar-container[data-v-13877386] {\\n  position: fixed;\\n  z-index: 1010;\\n  top: 0;\\n  bottom: 0;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-transition: -webkit-transform 0.3s;\\n  transition: -webkit-transform 0.3s;\\n  transition: transform 0.3s;\\n  transition: transform 0.3s, -webkit-transform 0.3s;\\n  -webkit-transform: transition3d(0, 0, 0);\\n          transform: transition3d(0, 0, 0);\\n}\\n[data-theme=default] .wrapper .sidebar-container[data-v-13877386] {\\n  -webkit-box-shadow: -1px 0 0 0 #d1d7e1;\\n          box-shadow: -1px 0 0 0 #d1d7e1;\\n}\\n[data-theme=vue-cli] .wrapper .sidebar-container[data-v-13877386] {\\n  -webkit-box-shadow: -1px 0 0 0 #d1d7e1;\\n          box-shadow: -1px 0 0 0 #d1d7e1;\\n}\\n[data-theme=gitee] .wrapper .sidebar-container[data-v-13877386] {\\n  -webkit-box-shadow: -1px 0 0 0 #d1d7e1;\\n          box-shadow: -1px 0 0 0 #d1d7e1;\\n}\\n[data-theme=freshness] .wrapper .sidebar-container[data-v-13877386] {\\n  -webkit-box-shadow: -1px 0 0 0 #dcd4dc;\\n          box-shadow: -1px 0 0 0 #dcd4dc;\\n}\\n[data-theme=elegant] .wrapper .sidebar-container[data-v-13877386] {\\n  -webkit-box-shadow: -1px 0 0 0 #d5dee6;\\n          box-shadow: -1px 0 0 0 #d5dee6;\\n}\\n[data-theme=pure-white] .wrapper .sidebar-container[data-v-13877386] {\\n  -webkit-box-shadow: -1px 0 0 0 #d5dee6;\\n          box-shadow: -1px 0 0 0 #d5dee6;\\n}\\n.wrapper .sidebar-mask[data-v-13877386] {\\n  position: fixed;\\n  z-index: 1000;\\n  top: 0;\\n  left: 0;\\n  width: 100%;\\n  height: 100%;\\n  background-color: rgba(0, 0, 0, 0.5);\\n  -webkit-backdrop-filter: blur(2px);\\n          backdrop-filter: blur(2px);\\n  -webkit-transition: all 0.2s;\\n  transition: all 0.2s;\\n  -webkit-transform: translateZ(0);\\n          transform: translateZ(0);\\n  opacity: 0;\\n  visibility: hidden;\\n}\\n.wrapper .sidebar-mask.show[data-v-13877386] {\\n  opacity: 1;\\n  visibility: visible;\\n}\\n.wrapper .main-sidebar-container[data-v-13877386],\\n.wrapper .sub-sidebar-container[data-v-13877386] {\\n  overflow-x: hidden;\\n  overflow-y: auto;\\n  -ms-scroll-chaining: none;\\n      overscroll-behavior: contain;\\n  scrollbar-width: none;\\n}\\n.wrapper .main-sidebar-container[data-v-13877386]::-webkit-scrollbar,\\n.wrapper .sub-sidebar-container[data-v-13877386]::-webkit-scrollbar {\\n  display: none;\\n}\\n.wrapper .main-sidebar-container[data-v-13877386] {\\n  position: relative;\\n  z-index: 1;\\n  width: 60px;\\n}\\n[data-theme=default] .wrapper .main-sidebar-container[data-v-13877386] {\\n  color: #ccc;\\n  background-color: #FFFFFF;\\n}\\n[data-theme=vue-cli] .wrapper .main-sidebar-container[data-v-13877386] {\\n  color: #fff;\\n  background-color: #1d2935;\\n}\\n[data-theme=gitee] .wrapper .main-sidebar-container[data-v-13877386] {\\n  color: #d6d7d9;\\n  background-color: #303643;\\n}\\n[data-theme=freshness] .wrapper .main-sidebar-container[data-v-13877386] {\\n  color: #f3f0f3;\\n  background-color: #81c1b2;\\n}\\n[data-theme=elegant] .wrapper .main-sidebar-container[data-v-13877386] {\\n  color: #fff;\\n  background-color: #736477;\\n}\\n[data-theme=pure-white] .wrapper .main-sidebar-container[data-v-13877386] {\\n  color: #595959;\\n  background-color: #e6f7ff;\\n}\\n.wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n[data-theme=default] .wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #FFFFFF;\\n}\\n[data-theme=vue-cli] .wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #1d2935;\\n}\\n[data-theme=gitee] .wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #303643;\\n}\\n[data-theme=freshness] .wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #81c1b2;\\n}\\n[data-theme=elegant] .wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #736477;\\n}\\n[data-theme=pure-white] .wrapper .main-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #e6f7ff;\\n}\\n.wrapper .main-sidebar-container .nav[data-v-13877386] {\\n  width: inherit;\\n  padding-top: 100px;\\n}\\n.wrapper .main-sidebar-container .nav .item[data-v-13877386] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-orient: vertical;\\n  -webkit-box-direction: normal;\\n      -ms-flex-direction: column;\\n          flex-direction: column;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  text-align: center;\\n  height: 60px;\\n  padding: 0 5px;\\n  cursor: pointer;\\n  -webkit-transition: color 0.3s, background-color 0.3s;\\n  transition: color 0.3s, background-color 0.3s;\\n}\\n[data-theme=default] .wrapper .main-sidebar-container .nav .item[data-v-13877386]:hover {\\n  color: #fff;\\n  background-color: #334067;\\n}\\n[data-theme=vue-cli] .wrapper .main-sidebar-container .nav .item[data-v-13877386]:hover {\\n  color: #42b983;\\n  background-color: #1f3039;\\n}\\n[data-theme=gitee] .wrapper .main-sidebar-container .nav .item[data-v-13877386]:hover {\\n  color: #fff;\\n  background-color: #40485b;\\n}\\n[data-theme=freshness] .wrapper .main-sidebar-container .nav .item[data-v-13877386]:hover {\\n  color: #8f75a2;\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] .wrapper .main-sidebar-container .nav .item[data-v-13877386]:hover {\\n  color: #fff;\\n  background-color: #8d7d91;\\n}\\n[data-theme=pure-white] .wrapper .main-sidebar-container .nav .item[data-v-13877386]:hover {\\n  color: #1890ff;\\n  background-color: #e6f7ff;\\n}\\n[data-theme=default] .wrapper .main-sidebar-container .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #E6F2FF;\\n}\\n[data-theme=vue-cli] .wrapper .main-sidebar-container .nav .item.active[data-v-13877386] {\\n  color: #42b983;\\n  background-color: #1f3039;\\n}\\n[data-theme=gitee] .wrapper .main-sidebar-container .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #40485b;\\n}\\n[data-theme=freshness] .wrapper .main-sidebar-container .nav .item.active[data-v-13877386] {\\n  color: #8f75a2;\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] .wrapper .main-sidebar-container .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #8d7d91;\\n}\\n[data-theme=pure-white] .wrapper .main-sidebar-container .nav .item.active[data-v-13877386] {\\n  color: #fff;\\n  background-color: #1890ff;\\n}\\n.wrapper .main-sidebar-container .nav .item .icon[data-v-13877386] {\\n  margin: 0 auto;\\n  font-size: 20px;\\n}\\n.wrapper .main-sidebar-container .nav .item span[data-v-13877386] {\\n  text-align: center;\\n  font-size: 14px;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n.wrapper .sub-sidebar-container[data-v-13877386] {\\n  width: 220px;\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  bottom: 0;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n[data-theme=default] .wrapper .sub-sidebar-container[data-v-13877386] {\\n  background-color: #FFFFFF;\\n  -webkit-box-shadow: 10px 0 10px -10px #cccccc;\\n          box-shadow: 10px 0 10px -10px #cccccc;\\n}\\n[data-theme=vue-cli] .wrapper .sub-sidebar-container[data-v-13877386] {\\n  background-color: #2c3e50;\\n  -webkit-box-shadow: 10px 0 10px -10px #080b0e;\\n          box-shadow: 10px 0 10px -10px #080b0e;\\n}\\n[data-theme=gitee] .wrapper .sub-sidebar-container[data-v-13877386] {\\n  background-color: #f6f6f6;\\n  -webkit-box-shadow: 10px 0 10px -10px #c3c3c3;\\n          box-shadow: 10px 0 10px -10px #c3c3c3;\\n}\\n[data-theme=freshness] .wrapper .sub-sidebar-container[data-v-13877386] {\\n  background-color: #b6e9d5;\\n  -webkit-box-shadow: 10px 0 10px -10px #68d1a8;\\n          box-shadow: 10px 0 10px -10px #68d1a8;\\n}\\n[data-theme=elegant] .wrapper .sub-sidebar-container[data-v-13877386] {\\n  background-color: #ddcdcd;\\n  -webkit-box-shadow: 10px 0 10px -10px #b49090;\\n          box-shadow: 10px 0 10px -10px #b49090;\\n}\\n[data-theme=pure-white] .wrapper .sub-sidebar-container[data-v-13877386] {\\n  background-color: #fff;\\n  -webkit-box-shadow: 10px 0 10px -10px #cccccc;\\n          box-shadow: 10px 0 10px -10px #cccccc;\\n}\\n.wrapper .sub-sidebar-container.is-collapse[data-v-13877386] {\\n  width: 64px;\\n}\\n.wrapper .sub-sidebar-container.is-collapse .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg) {\\n  display: none;\\n}\\n.wrapper .sub-sidebar-container.is-collapse .sidebar-logo[data-v-13877386]  span {\\n  display: none;\\n}\\n.wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  -webkit-transition: background-color 0.3s, color 0.3s, -webkit-box-shadow 0.2s;\\n  transition: background-color 0.3s, color 0.3s, -webkit-box-shadow 0.2s;\\n  transition: box-shadow 0.2s, background-color 0.3s, color 0.3s;\\n  transition: box-shadow 0.2s, background-color 0.3s, color 0.3s, -webkit-box-shadow 0.2s;\\n}\\n[data-theme=default] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #FFFFFF;\\n}\\n[data-theme=vue-cli] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #2c3e50;\\n}\\n[data-theme=gitee] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #f6f6f6;\\n}\\n[data-theme=freshness] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #ddcdcd;\\n}\\n[data-theme=pure-white] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386] {\\n  background-color: #fff;\\n}\\n[data-theme=default] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg)  span {\\n  color: #202020;\\n}\\n[data-theme=vue-cli] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg)  span {\\n  color: #fff;\\n}\\n[data-theme=gitee] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg)  span {\\n  color: #40485b;\\n}\\n[data-theme=freshness] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg)  span {\\n  color: #8b91ab;\\n}\\n[data-theme=elegant] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg)  span {\\n  color: #89768f;\\n}\\n[data-theme=pure-white] .wrapper .sub-sidebar-container .sidebar-logo[data-v-13877386]:not(.sidebar-logo-bg)  span {\\n  color: #595959;\\n}\\n[data-theme=default] .wrapper .sub-sidebar-container .sidebar-logo.sidebar-logo-bg[data-v-13877386] {\\n  background-color: #FFFFFF;\\n}\\n[data-theme=vue-cli] .wrapper .sub-sidebar-container .sidebar-logo.sidebar-logo-bg[data-v-13877386] {\\n  background-color: #1d2935;\\n}\\n[data-theme=gitee] .wrapper .sub-sidebar-container .sidebar-logo.sidebar-logo-bg[data-v-13877386] {\\n  background-color: #303643;\\n}\\n[data-theme=freshness] .wrapper .sub-sidebar-container .sidebar-logo.sidebar-logo-bg[data-v-13877386] {\\n  background-color: #81c1b2;\\n}\\n[data-theme=elegant] .wrapper .sub-sidebar-container .sidebar-logo.sidebar-logo-bg[data-v-13877386] {\\n  background-color: #736477;\\n}\\n[data-theme=pure-white] .wrapper .sub-sidebar-container .sidebar-logo.sidebar-logo-bg[data-v-13877386] {\\n  background-color: #e6f7ff;\\n}\\n[data-theme=default] .wrapper .sub-sidebar-container .sidebar-logo.shadow[data-v-13877386] {\\n  -webkit-box-shadow: 0 10px 10px -10px #cccccc;\\n          box-shadow: 0 10px 10px -10px #cccccc;\\n}\\n[data-theme=vue-cli] .wrapper .sub-sidebar-container .sidebar-logo.shadow[data-v-13877386] {\\n  -webkit-box-shadow: 0 10px 10px -10px #080b0e;\\n          box-shadow: 0 10px 10px -10px #080b0e;\\n}\\n[data-theme=gitee] .wrapper .sub-sidebar-container .sidebar-logo.shadow[data-v-13877386] {\\n  -webkit-box-shadow: 0 10px 10px -10px #c3c3c3;\\n          box-shadow: 0 10px 10px -10px #c3c3c3;\\n}\\n[data-theme=freshness] .wrapper .sub-sidebar-container .sidebar-logo.shadow[data-v-13877386] {\\n  -webkit-box-shadow: 0 10px 10px -10px #68d1a8;\\n          box-shadow: 0 10px 10px -10px #68d1a8;\\n}\\n[data-theme=elegant] .wrapper .sub-sidebar-container .sidebar-logo.shadow[data-v-13877386] {\\n  -webkit-box-shadow: 0 10px 10px -10px #b49090;\\n          box-shadow: 0 10px 10px -10px #b49090;\\n}\\n[data-theme=pure-white] .wrapper .sub-sidebar-container .sidebar-logo.shadow[data-v-13877386] {\\n  -webkit-box-shadow: 0 10px 10px -10px #cccccc;\\n          box-shadow: 0 10px 10px -10px #cccccc;\\n}\\n.wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  border-right: 0;\\n  padding-top: 100px;\\n  -webkit-transition: border-color 0.3s, background-color 0.3s, color 0.3s;\\n  transition: border-color 0.3s, background-color 0.3s, color 0.3s;\\n}\\n[data-theme=default] .wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  background-color: #FFFFFF;\\n}\\n[data-theme=vue-cli] .wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  background-color: #2c3e50;\\n}\\n[data-theme=gitee] .wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  background-color: #f6f6f6;\\n}\\n[data-theme=freshness] .wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  background-color: #b6e9d5;\\n}\\n[data-theme=elegant] .wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  background-color: #ddcdcd;\\n}\\n[data-theme=pure-white] .wrapper .sub-sidebar-container .el-menu[data-v-13877386] {\\n  background-color: #fff;\\n}\\n.wrapper .sub-sidebar-container .el-menu[data-v-13877386]:not(.el-menu--collapse) {\\n  width: inherit;\\n}\\n.wrapper .sub-sidebar-container .el-menu.is-collapse-without-logo[data-v-13877386] {\\n  padding-top: 0;\\n}\\n.wrapper .sub-sidebar-container .el-menu.el-menu--collapse[data-v-13877386]  .icon {\\n  margin-right: 0;\\n}\\n.wrapper .sub-sidebar-container .el-menu.el-menu--collapse[data-v-13877386]  .el-menu-item span,\\n.wrapper .sub-sidebar-container .el-menu.el-menu--collapse[data-v-13877386]  .el-submenu__title span {\\n  display: none;\\n}\\n.wrapper .sub-sidebar-container .el-menu.el-menu--collapse[data-v-13877386]  .el-menu-item i,\\n.wrapper .sub-sidebar-container .el-menu.el-menu--collapse[data-v-13877386]  .el-submenu__title i {\\n  right: 7px;\\n  margin-top: -5px;\\n}\\n.wrapper .main-sidebar-container + .sub-sidebar-container[data-v-13877386] {\\n  left: 60px;\\n}\\n.wrapper .main-container[data-v-13877386] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-orient: vertical;\\n  -webkit-box-direction: normal;\\n      -ms-flex-direction: column;\\n          flex-direction: column;\\n  min-height: 100%;\\n  -webkit-transition: margin-left 0.3s;\\n  transition: margin-left 0.3s;\\n}\\n[data-theme=default] .wrapper .main-container[data-v-13877386] {\\n  background-color: #f0f2f5;\\n  -webkit-box-shadow: 1px 0 0 0 #d1d7e1;\\n          box-shadow: 1px 0 0 0 #d1d7e1;\\n}\\n[data-theme=vue-cli] .wrapper .main-container[data-v-13877386] {\\n  background-color: #f0f2f5;\\n  -webkit-box-shadow: 1px 0 0 0 #d1d7e1;\\n          box-shadow: 1px 0 0 0 #d1d7e1;\\n}\\n[data-theme=gitee] .wrapper .main-container[data-v-13877386] {\\n  background-color: #f0f2f5;\\n  -webkit-box-shadow: 1px 0 0 0 #d1d7e1;\\n          box-shadow: 1px 0 0 0 #d1d7e1;\\n}\\n[data-theme=freshness] .wrapper .main-container[data-v-13877386] {\\n  background-color: #f3f0f3;\\n  -webkit-box-shadow: 1px 0 0 0 #dcd4dc;\\n          box-shadow: 1px 0 0 0 #dcd4dc;\\n}\\n[data-theme=elegant] .wrapper .main-container[data-v-13877386] {\\n  background-color: #f5f7f9;\\n  -webkit-box-shadow: 1px 0 0 0 #d5dee6;\\n          box-shadow: 1px 0 0 0 #d5dee6;\\n}\\n[data-theme=pure-white] .wrapper .main-container[data-v-13877386] {\\n  background-color: #f5f7f9;\\n  -webkit-box-shadow: 1px 0 0 0 #d5dee6;\\n          box-shadow: 1px 0 0 0 #d5dee6;\\n}\\n.wrapper .main-container .tabbar-container + .topbar-container[data-v-13877386] {\\n  top: 40px;\\n  z-index: 998;\\n}\\n.wrapper .main-container .main[data-v-13877386] {\\n  height: 100%;\\n  -webkit-box-flex: 1;\\n      -ms-flex: auto;\\n          flex: auto;\\n  position: relative;\\n  padding: 50px 0 0;\\n  overflow: hidden;\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.wrapper .main-container .topbar-container + .main[data-v-13877386] {\\n  padding: calc(50px) 0 0;\\n}\\n.wrapper .main-container .tabbar-container + .topbar-container + .main[data-v-13877386] {\\n  padding: calc(40px + 50px) 0 0;\\n}\\nheader + .wrapper[data-v-13877386] {\\n  padding-top: 70px;\\n}\\nheader + .wrapper .sidebar-container[data-v-13877386] {\\n  top: 70px;\\n}\\nheader + .wrapper .sidebar-container .sidebar-logo[data-v-13877386] {\\n  display: none;\\n}\\nheader + .wrapper .sidebar-container .el-menu[data-v-13877386] {\\n  padding-top: 0;\\n}\\nheader + .wrapper .main-container .tabbar-container[data-v-13877386] {\\n  top: 70px;\\n}\\nheader + .wrapper .main-container .topbar-container[data-v-13877386] {\\n  top: 70px;\\n}\\nheader + .wrapper .main-container .topbar-container[data-v-13877386]  .user {\\n  display: none;\\n}\\nheader + .wrapper .main-container .tabbar-container + .topbar-container[data-v-13877386] {\\n  top: calc(70px + 40px);\\n}\\n.header-enter-active[data-v-13877386] {\\n  -webkit-transition: 0.2s;\\n  transition: 0.2s;\\n}\\n.header-enter[data-v-13877386] {\\n  -webkit-transform: translateY(-70px);\\n          transform: translateY(-70px);\\n}\\n.main-sidebar-enter-active[data-v-13877386] {\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.main-sidebar-enter[data-v-13877386] {\\n  -webkit-transform: translateX(-60px);\\n          transform: translateX(-60px);\\n}\\n.sub-sidebar-enter-active[data-v-13877386] {\\n  -webkit-transition: 0.3s;\\n  transition: 0.3s;\\n}\\n.sub-sidebar-enter[data-v-13877386],\\n.sub-sidebar-leave-active[data-v-13877386] {\\n  opacity: 0;\\n  -webkit-transform: translateY(30px) skewY(10deg);\\n          transform: translateY(30px) skewY(10deg);\\n}\\n.sub-sidebar-leave-active[data-v-13877386] {\\n  position: absolute;\\n}\\n.main-enter-active[data-v-13877386] {\\n  -webkit-transition: 0.2s;\\n  transition: 0.2s;\\n}\\n.main-leave-active[data-v-13877386] {\\n  -webkit-transition: 0.15s;\\n  transition: 0.15s;\\n}\\n.main-enter[data-v-13877386] {\\n  opacity: 0;\\n  margin-left: -20px;\\n}\\n.main-leave-to[data-v-13877386] {\\n  opacity: 0;\\n  margin-left: 20px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/layout/index.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-6b3aeb0e]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.notfound[data-v-6b3aeb0e] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n  width: 700px;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n}\\n.notfound .svg-icon[data-v-6b3aeb0e] {\\n  width: 400px;\\n  height: 400px;\\n}\\n.notfound .content h1[data-v-6b3aeb0e] {\\n  margin: 0;\\n  font-size: 72px;\\n  color: #303133;\\n}\\n.notfound .content .desc[data-v-6b3aeb0e] {\\n  margin: 20px 0 30px;\\n  font-size: 20px;\\n  color: #606266;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/404.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! ../assets/images/ljxlogo.jpg */ \"./src/assets/images/ljxlogo.jpg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-7589b93f]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n.entitle[data-v-7589b93f] {\\n  font-size: 16px;\\n  margin-top: 5px;\\n}\\n[data-mode=mobile] #login-box[data-v-7589b93f] {\\n  max-width: 80%;\\n}\\n[data-mode=mobile] #login-box .login-banner[data-v-7589b93f] {\\n  display: none;\\n}\\n[data-v-7589b93f] input[type=password]::-ms-reveal {\\n  display: none;\\n}\\n.bg-banner[data-v-7589b93f] {\\n  position: absolute;\\n  z-index: 0;\\n  width: 100%;\\n  height: 100%;\\n  background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n  background-size: cover;\\n  background-position: center center;\\n}\\n#login-box[data-v-7589b93f] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\n          transform: translateX(-50%) translateY(-50%);\\n  background: rgba(255, 255, 255, 0.8);\\n  border-radius: 10px;\\n  overflow: hidden;\\n  -webkit-box-shadow: 0 0 5px #999;\\n          box-shadow: 0 0 5px #999;\\n}\\n#login-box .login-banner[data-v-7589b93f] {\\n  width: 300px;\\n  background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n  background-size: cover;\\n  background-position: center center;\\n}\\n#login-box .login-form[data-v-7589b93f] {\\n  width: 450px;\\n  padding: 50px 35px 30px;\\n  overflow: hidden;\\n}\\n#login-box .login-form .svg-icon[data-v-7589b93f] {\\n  vertical-align: -0.35em;\\n}\\n#login-box .login-form .title-container[data-v-7589b93f] {\\n  position: relative;\\n}\\n#login-box .login-form .title-container .title[data-v-7589b93f] {\\n  font-size: 22px;\\n  color: #666;\\n  margin: 0 auto 30px;\\n  text-align: center;\\n  font-weight: bold;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n#login-box[data-v-7589b93f]  .el-input {\\n  height: 48px;\\n  line-height: inherit;\\n  width: 100%;\\n}\\n#login-box[data-v-7589b93f]  .el-input input {\\n  height: 48px;\\n}\\n#login-box[data-v-7589b93f]  .el-input .el-input__prefix {\\n  left: 10px;\\n}\\n#login-box[data-v-7589b93f]  .el-input .el-input__suffix {\\n  right: 10px;\\n}\\n#login-box .flex-bar[data-v-7589b93f] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n}\\n#login-box .el-checkbox[data-v-7589b93f] {\\n  margin: 20px 0;\\n}\\n.copyright[data-v-7589b93f] {\\n  position: absolute;\\n  bottom: 30px;\\n  width: 100%;\\n  margin: 0;\\n  mix-blend-mode: difference;\\n}\\n.yzm[data-v-7589b93f] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: end;\\n      -ms-flex-pack: end;\\n          justify-content: end;\\n  font-size: 12px;\\n}\\n.yinput[data-v-7589b93f] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/login.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n[data-v-26a4251b]:export {\\n  g_main_sidebar_width: 60px;\\n  g_sub_sidebar_width: 220px;\\n}\\n\\n/* 文字尺寸 */\\n/* 水平间距 */\\n/* 垂直间距 */\\n/* 垂直间距 */\\n/* 文字颜色 */\\n/* 辅助文字 */\\n[data-v-26a4251b] .el-tabs .el-tabs__header .el-tabs__nav .el-tabs__active-bar {\\n  z-index: 0;\\n  width: 100%;\\n  background-color: #e1f0ff;\\n  border-right: 2px solid #409eff;\\n}\\n[data-v-26a4251b] .el-tabs .el-tabs__header .el-tabs__nav .el-tabs__item {\\n  text-align: left;\\n  padding-right: 100px;\\n}\\n[data-v-26a4251b] .el-tabs .el-tab-pane {\\n  padding: 0 20px 0 30px;\\n}\\nh2[data-v-26a4251b] {\\n  margin: 0;\\n  margin-bottom: 30px;\\n  font-weight: normal;\\n}\\n.basic[data-v-26a4251b]  .headimg-upload > div {\\n  text-align: center;\\n}\\n.basic[data-v-26a4251b]  .headimg-upload .el-upload-dragger {\\n  border-radius: 50%;\\n}\\n.security .setting-list .item[data-v-26a4251b] {\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: justify;\\n      -ms-flex-pack: justify;\\n          justify-content: space-between;\\n  padding: 10px 0;\\n  border-bottom: 1px solid #e8e8e8;\\n}\\n.security .setting-list .item .content .title[data-v-26a4251b] {\\n  margin-bottom: 5px;\\n  color: #666;\\n}\\n.security .setting-list .item .content .desc[data-v-26a4251b] {\\n  font-size: 14px;\\n  color: #999;\\n}\\n.security .setting-list .item[data-v-26a4251b]:last-child {\\n  border-bottom: 0;\\n}\\n.avatar-uploader .el-upload[data-v-26a4251b] {\\n  border: 1px dashed #d9d9d9;\\n  border-radius: 6px;\\n  cursor: pointer;\\n  position: relative;\\n  overflow: hidden;\\n}\\n.avatar-uploader .el-upload[data-v-26a4251b]:hover {\\n  border-color: #409eff;\\n}\\n.avatar-uploader-icon[data-v-26a4251b] {\\n  font-size: 28px;\\n  color: #8c939d;\\n  width: 178px;\\n  height: 178px;\\n  line-height: 178px;\\n  text-align: center;\\n}\\n[data-v-26a4251b] .avatar {\\n  width: 178px;\\n  height: 178px;\\n  border-radius: 50%;\\n  display: block;\\n}\\n[data-v-26a4251b] .avatar-uploader-icon[data-v-26a4251b] {\\n  border: dashed 1px;\\n  margin: 30px;\\n  border-radius: 50%;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/runtime/api.js":
/*!*****************************************************!*\
  !*** ./node_modules/css-loader/dist/runtime/api.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item, useSourceMap);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n  var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (useSourceMap && typeof btoa === 'function') {\n    var sourceMapping = toComment(cssMapping);\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n  // eslint-disable-next-line no-undef\n  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n  var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n  return \"/*# \".concat(data, \" */\");\n}\n\n//# sourceURL=webpack:///./node_modules/css-loader/dist/runtime/api.js?");

/***/ }),

/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
/*!********************************************************!*\
  !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = url && url.__esModule ? url.default : url;\n\n  if (typeof url !== 'string') {\n    return url;\n  } // If url is already wrapped in quotes, remove them\n\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    // eslint-disable-next-line no-param-reassign\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n  }\n\n  return url;\n};\n\n//# sourceURL=webpack:///./node_modules/css-loader/dist/runtime/getUrl.js?");

/***/ }),

/***/ "./node_modules/dayjs/dayjs.min.js":
/*!*****************************************!*\
  !*** ./node_modules/dayjs/dayjs.min.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("!function(t,e){ true?module.exports=e():undefined}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},v=\"en\",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g=\"set\"+(this.$u?\"UTC\":\"\");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+\"Hours\",0);case u:return l(g+\"Minutes\",1);case s:return l(g+\"Seconds\",2);case i:return l(g+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h=\"set\"+(this.$u?\"UTC\":\"\"),$=(n={},n[a]=h+\"Date\",n[d]=h+\"Date\",n[f]=h+\"Month\",n[c]=h+\"FullYear\",n[u]=h+\"Hours\",n[s]=h+\"Minutes\",n[i]=h+\"Seconds\",n[r]=h+\"Milliseconds\",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,\"0\")},d=n.meridiem||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,\"0\"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,\"0\"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,\"0\"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,\"0\"),s:String(this.$s),ss:O.s(this.$s,2,\"0\"),SSS:O.s(this.$ms,3,\"0\"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",f],[\"$y\",c],[\"$D\",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));\n\n//# sourceURL=webpack:///./node_modules/dayjs/dayjs.min.js?");

/***/ }),

/***/ "./node_modules/echarts/index.js":
/*!***************************************!*\
  !*** ./node_modules/echarts/index.js ***!
  \***************************************/
/*! exports provided: version, dependencies, PRIORITY, init, connect, disConnect, disconnect, dispose, getInstanceByDom, getInstanceById, registerTheme, registerPreprocessor, registerProcessor, registerPostInit, registerPostUpdate, registerUpdateLifecycle, registerAction, registerCoordinateSystem, getCoordinateSystemDimensions, registerLocale, registerLayout, registerVisual, registerLoading, setCanvasCreator, registerMap, getMap, registerTransform, dataTool, zrender, matrix, vector, zrUtil, color, throttle, helper, use, setPlatformAPI, parseGeoJSON, parseGeoJson, number, time, graphic, format, util, env, List, Model, Axis, ComponentModel, ComponentView, SeriesModel, ChartView, innerDrawElementOnCanvas, extendComponentModel, extendComponentView, extendSeriesModel, extendChartView */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/export/core.js */ \"./node_modules/echarts/lib/export/core.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dependencies\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"dependencies\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PRIORITY\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"PRIORITY\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"init\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"connect\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"connect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disConnect\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"disConnect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disconnect\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"disconnect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dispose\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"dispose\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getInstanceByDom\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"getInstanceByDom\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getInstanceById\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"getInstanceById\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerTheme\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerTheme\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerPreprocessor\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerPreprocessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerProcessor\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerPostInit\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerPostInit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerPostUpdate\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerPostUpdate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerUpdateLifecycle\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerUpdateLifecycle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerAction\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerCoordinateSystem\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerCoordinateSystem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getCoordinateSystemDimensions\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"getCoordinateSystemDimensions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLocale\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerLocale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLayout\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerLayout\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerVisual\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerVisual\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLoading\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerLoading\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCanvasCreator\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"setCanvasCreator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerMap\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getMap\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"getMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerTransform\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"registerTransform\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dataTool\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"dataTool\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zrender\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"zrender\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrix\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"matrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"vector\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"vector\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zrUtil\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"zrUtil\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"color\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"color\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"throttle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"helper\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"helper\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"use\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"use\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setPlatformAPI\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"setPlatformAPI\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseGeoJSON\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"parseGeoJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseGeoJson\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"parseGeoJson\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"number\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"number\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"time\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"time\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"graphic\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"graphic\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"format\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"util\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"env\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"env\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"List\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Model\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"Model\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Axis\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"Axis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentModel\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"ComponentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentView\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"ComponentView\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SeriesModel\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"SeriesModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChartView\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"ChartView\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"innerDrawElementOnCanvas\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"innerDrawElementOnCanvas\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendComponentModel\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"extendComponentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendComponentView\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"extendComponentView\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendSeriesModel\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"extendSeriesModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendChartView\", function() { return _lib_export_core_js__WEBPACK_IMPORTED_MODULE_1__[\"extendChartView\"]; });\n\n/* harmony import */ var _lib_export_renderers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/export/renderers.js */ \"./node_modules/echarts/lib/export/renderers.js\");\n/* harmony import */ var _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/export/charts.js */ \"./node_modules/echarts/lib/export/charts.js\");\n/* harmony import */ var _lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/export/components.js */ \"./node_modules/echarts/lib/export/components.js\");\n/* harmony import */ var _lib_export_features_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/export/features.js */ \"./node_modules/echarts/lib/export/features.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // ----------------------------------------------\n// All of the modules that are allowed to be\n// imported are listed below.\n//\n// Users MUST NOT import other modules that are\n// not included in this list.\n// ----------------------------------------------\n\n\n\n\n // -----------------\n// Render engines\n// -----------------\n// Render via Canvas.\n// echarts.init(dom, null, { renderer: 'canvas' })\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])([_lib_export_renderers_js__WEBPACK_IMPORTED_MODULE_2__[\"CanvasRenderer\"]]); // Render via SVG.\n// echarts.init(dom, null, { renderer: 'svg' })\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])([_lib_export_renderers_js__WEBPACK_IMPORTED_MODULE_2__[\"SVGRenderer\"]]); // ----------------\n// Charts (series)\n// ----------------\n// All of the series types, for example:\n// chart.setOption({\n//     series: [{\n//         type: 'line' // or 'bar', 'pie', ...\n//     }]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])([_lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"LineChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"BarChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"PieChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"ScatterChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"RadarChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"MapChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"TreeChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"TreemapChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"GraphChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"GaugeChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"FunnelChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"ParallelChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"SankeyChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"BoxplotChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"CandlestickChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"EffectScatterChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"LinesChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"HeatmapChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"PictorialBarChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"ThemeRiverChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"SunburstChart\"], _lib_export_charts_js__WEBPACK_IMPORTED_MODULE_3__[\"CustomChart\"]]); // -------------------\n// Coordinate systems\n// -------------------\n// All of the axis modules have been included in the\n// coordinate system module below, do not need to\n// make extra import.\n// `cartesian` coordinate system. For some historical\n// reasons, it is named as grid, for example:\n// chart.setOption({\n//     grid: {...},\n//     xAxis: {...},\n//     yAxis: {...},\n//     series: [{...}]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"GridComponent\"]); // `polar` coordinate system, for example:\n// chart.setOption({\n//     polar: {...},\n//     radiusAxis: {...},\n//     angleAxis: {...},\n//     series: [{\n//         coordinateSystem: 'polar'\n//     }]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"PolarComponent\"]); // `geo` coordinate system, for example:\n// chart.setOption({\n//     geo: {...},\n//     series: [{\n//         coordinateSystem: 'geo'\n//     }]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"GeoComponent\"]); // `singleAxis` coordinate system (notice, it is a coordinate system\n// with only one axis, work for chart like theme river), for example:\n// chart.setOption({\n//     singleAxis: {...}\n//     series: [{type: 'themeRiver', ...}]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"SingleAxisComponent\"]); // `parallel` coordinate system, only work for parallel series, for example:\n// chart.setOption({\n//     parallel: {...},\n//     parallelAxis: [{...}, ...],\n//     series: [{\n//         type: 'parallel'\n//     }]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"ParallelComponent\"]); // `calendar` coordinate system. for example,\n// chart.setOptionp({\n//     calendar: {...},\n//     series: [{\n//         coordinateSystem: 'calendar'\n//     }]\n// );\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"CalendarComponent\"]); // ------------------\n// Other components\n// ------------------\n// `graphic` component, for example:\n// chart.setOption({\n//     graphic: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"GraphicComponent\"]); // `toolbox` component, for example:\n// chart.setOption({\n//     toolbox: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"ToolboxComponent\"]); // `tooltip` component, for example:\n// chart.setOption({\n//     tooltip: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"TooltipComponent\"]); // `axisPointer` component, for example:\n// chart.setOption({\n//     tooltip: {axisPointer: {...}, ...}\n// });\n// Or\n// chart.setOption({\n//     axisPointer: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"AxisPointerComponent\"]); // `brush` component, for example:\n// chart.setOption({\n//     brush: {...}\n// });\n// Or\n// chart.setOption({\n//     tooltip: {feature: {brush: {...}}\n// })\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"BrushComponent\"]); // `title` component, for example:\n// chart.setOption({\n//     title: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"TitleComponent\"]); // `timeline` component, for example:\n// chart.setOption({\n//     timeline: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"TimelineComponent\"]); // `markPoint` component, for example:\n// chart.setOption({\n//     series: [{markPoint: {...}}]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"MarkPointComponent\"]); // `markLine` component, for example:\n// chart.setOption({\n//     series: [{markLine: {...}}]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"MarkLineComponent\"]); // `markArea` component, for example:\n// chart.setOption({\n//     series: [{markArea: {...}}]\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"MarkAreaComponent\"]); // `legend` component not scrollable. for example:\n// chart.setOption({\n//     legend: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"LegendComponent\"]); // `dataZoom` component including both `dataZoomInside` and `dataZoomSlider`.\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"DataZoomComponent\"]); // `dataZoom` component providing drag, pinch, wheel behaviors\n// inside coodinate system, for example:\n// chart.setOption({\n//     dataZoom: {type: 'inside'}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"DataZoomInsideComponent\"]); // `dataZoom` component providing a slider bar, for example:\n// chart.setOption({\n//     dataZoom: {type: 'slider'}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"DataZoomSliderComponent\"]); // `visualMap` component including both `visualMapContinuous` and `visualMapPiecewise`.\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"VisualMapComponent\"]); // `visualMap` component providing continuous bar, for example:\n// chart.setOption({\n//     visualMap: {type: 'continuous'}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"VisualMapContinuousComponent\"]); // `visualMap` component providing pieces bar, for example:\n// chart.setOption({\n//     visualMap: {type: 'piecewise'}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"VisualMapPiecewiseComponent\"]); // `aria` component providing aria, for example:\n// chart.setOption({\n//     aria: {...}\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"AriaComponent\"]); // dataset transform\n// chart.setOption({\n//     dataset: {\n//          transform: []\n//     }\n// });\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"TransformComponent\"]);\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_components_js__WEBPACK_IMPORTED_MODULE_4__[\"DatasetComponent\"]); // universal transition\n// chart.setOption({\n//     series: {\n//         universalTransition: { enabled: true }\n//     }\n// })\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_features_js__WEBPACK_IMPORTED_MODULE_5__[\"UniversalTransition\"]); // label layout\n// chart.setOption({\n//     series: {\n//         labelLayout: { hideOverlap: true }\n//     }\n// })\n\nObject(_lib_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_lib_export_features_js__WEBPACK_IMPORTED_MODULE_5__[\"LabelLayout\"]);\n\n//# sourceURL=webpack:///./node_modules/echarts/index.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/action/roamHelper.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/action/roamHelper.js ***!
  \*******************************************************/
/*! exports provided: updateCenterAndZoom */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateCenterAndZoom\", function() { return updateCenterAndZoom; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getCenterCoord(view, point) {\n  // Use projected coord as center because it's linear.\n  return view.pointToProjected ? view.pointToProjected(point) : view.pointToData(point);\n}\n\nfunction updateCenterAndZoom(view, payload, zoomLimit, api) {\n  var previousZoom = view.getZoom();\n  var center = view.getCenter();\n  var zoom = payload.zoom;\n  var point = view.projectedToPoint ? view.projectedToPoint(center) : view.dataToPoint(center);\n\n  if (payload.dx != null && payload.dy != null) {\n    point[0] -= payload.dx;\n    point[1] -= payload.dy;\n    view.setCenter(getCenterCoord(view, point), api);\n  }\n\n  if (zoom != null) {\n    if (zoomLimit) {\n      var zoomMin = zoomLimit.min || 0;\n      var zoomMax = zoomLimit.max || Infinity;\n      zoom = Math.max(Math.min(previousZoom * zoom, zoomMax), zoomMin) / previousZoom;\n    } // Zoom on given point(originX, originY)\n\n\n    view.scaleX *= zoom;\n    view.scaleY *= zoom;\n    var fixX = (payload.originX - view.x) * (zoom - 1);\n    var fixY = (payload.originY - view.y) * (zoom - 1);\n    view.x -= fixX;\n    view.y -= fixY;\n    view.updateTransform(); // Get the new center\n\n    view.setCenter(getCenterCoord(view, point), api);\n    view.setZoom(zoom * previousZoom);\n  }\n\n  return {\n    center: view.getCenter(),\n    zoom: view.getZoom()\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/action/roamHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/animation/basicTransition.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/animation/basicTransition.js ***!
  \***************************************************************/
/*! exports provided: transitionStore, getAnimationConfig, updateProps, initProps, isElementRemoved, removeElement, removeElementWithFadeOut, saveOldStyle, getOldStyle */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionStore\", function() { return transitionStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAnimationConfig\", function() { return getAnimationConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateProps\", function() { return updateProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initProps\", function() { return initProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isElementRemoved\", function() { return isElementRemoved; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeElement\", function() { return removeElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeElementWithFadeOut\", function() { return removeElementWithFadeOut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"saveOldStyle\", function() { return saveOldStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getOldStyle\", function() { return getOldStyle; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // Stored properties for further transition.\n\nvar transitionStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"makeInner\"])();\n/**\n * Return null if animation is disabled.\n */\n\nfunction getAnimationConfig(animationType, animatableModel, dataIndex, // Extra opts can override the option in animatable model.\nextraOpts, // TODO It's only for pictorial bar now.\nextraDelayParams) {\n  var animationPayload; // Check if there is global animation configuration from dataZoom/resize can override the config in option.\n  // If animation is enabled. Will use this animation config in payload.\n  // If animation is disabled. Just ignore it.\n\n  if (animatableModel && animatableModel.ecModel) {\n    var updatePayload = animatableModel.ecModel.getUpdatePayload();\n    animationPayload = updatePayload && updatePayload.animation;\n  }\n\n  var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();\n  var isUpdate = animationType === 'update';\n\n  if (animationEnabled) {\n    var duration = void 0;\n    var easing = void 0;\n    var delay = void 0;\n\n    if (extraOpts) {\n      duration = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(extraOpts.duration, 200);\n      easing = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(extraOpts.easing, 'cubicOut');\n      delay = 0;\n    } else {\n      duration = animatableModel.getShallow(isUpdate ? 'animationDurationUpdate' : 'animationDuration');\n      easing = animatableModel.getShallow(isUpdate ? 'animationEasingUpdate' : 'animationEasing');\n      delay = animatableModel.getShallow(isUpdate ? 'animationDelayUpdate' : 'animationDelay');\n    } // animation from payload has highest priority.\n\n\n    if (animationPayload) {\n      animationPayload.duration != null && (duration = animationPayload.duration);\n      animationPayload.easing != null && (easing = animationPayload.easing);\n      animationPayload.delay != null && (delay = animationPayload.delay);\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(delay)) {\n      delay = delay(dataIndex, extraDelayParams);\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(duration)) {\n      duration = duration(dataIndex);\n    }\n\n    var config = {\n      duration: duration || 0,\n      delay: delay,\n      easing: easing\n    };\n    return config;\n  } else {\n    return null;\n  }\n}\n\nfunction animateOrSetProps(animationType, el, props, animatableModel, dataIndex, cb, during) {\n  var isFrom = false;\n  var removeOpt;\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(dataIndex)) {\n    during = cb;\n    cb = dataIndex;\n    dataIndex = null;\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(dataIndex)) {\n    cb = dataIndex.cb;\n    during = dataIndex.during;\n    isFrom = dataIndex.isFrom;\n    removeOpt = dataIndex.removeOpt;\n    dataIndex = dataIndex.dataIndex;\n  }\n\n  var isRemove = animationType === 'leave';\n\n  if (!isRemove) {\n    // Must stop the remove animation.\n    el.stopAnimation('leave');\n  }\n\n  var animationConfig = getAnimationConfig(animationType, animatableModel, dataIndex, isRemove ? removeOpt || {} : null, animatableModel && animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);\n\n  if (animationConfig && animationConfig.duration > 0) {\n    var duration = animationConfig.duration;\n    var animationDelay = animationConfig.delay;\n    var animationEasing = animationConfig.easing;\n    var animateConfig = {\n      duration: duration,\n      delay: animationDelay || 0,\n      easing: animationEasing,\n      done: cb,\n      force: !!cb || !!during,\n      // Set to final state in update/init animation.\n      // So the post processing based on the path shape can be done correctly.\n      setToFinal: !isRemove,\n      scope: animationType,\n      during: during\n    };\n    isFrom ? el.animateFrom(props, animateConfig) : el.animateTo(props, animateConfig);\n  } else {\n    el.stopAnimation(); // If `isFrom`, the props is the \"from\" props.\n\n    !isFrom && el.attr(props); // Call during at least once.\n\n    during && during(1);\n    cb && cb();\n  }\n}\n/**\n * Update graphic element properties with or without animation according to the\n * configuration in series.\n *\n * Caution: this method will stop previous animation.\n * So do not use this method to one element twice before\n * animation starts, unless you know what you are doing.\n * @example\n *     graphic.updateProps(el, {\n *         position: [100, 100]\n *     }, seriesModel, dataIndex, function () { console.log('Animation done!'); });\n *     // Or\n *     graphic.updateProps(el, {\n *         position: [100, 100]\n *     }, seriesModel, function () { console.log('Animation done!'); });\n */\n\n\nfunction updateProps(el, props, // TODO: TYPE AnimatableModel\nanimatableModel, dataIndex, cb, during) {\n  animateOrSetProps('update', el, props, animatableModel, dataIndex, cb, during);\n}\n\n\n/**\n * Init graphic element properties with or without animation according to the\n * configuration in series.\n *\n * Caution: this method will stop previous animation.\n * So do not use this method to one element twice before\n * animation starts, unless you know what you are doing.\n */\n\nfunction initProps(el, props, animatableModel, dataIndex, cb, during) {\n  animateOrSetProps('enter', el, props, animatableModel, dataIndex, cb, during);\n}\n/**\n * If element is removed.\n * It can determine if element is having remove animation.\n */\n\nfunction isElementRemoved(el) {\n  if (!el.__zr) {\n    return true;\n  }\n\n  for (var i = 0; i < el.animators.length; i++) {\n    var animator = el.animators[i];\n\n    if (animator.scope === 'leave') {\n      return true;\n    }\n  }\n\n  return false;\n}\n/**\n * Remove graphic element\n */\n\nfunction removeElement(el, props, animatableModel, dataIndex, cb, during) {\n  // Don't do remove animation twice.\n  if (isElementRemoved(el)) {\n    return;\n  }\n\n  animateOrSetProps('leave', el, props, animatableModel, dataIndex, cb, during);\n}\n\nfunction fadeOutDisplayable(el, animatableModel, dataIndex, done) {\n  el.removeTextContent();\n  el.removeTextGuideLine();\n  removeElement(el, {\n    style: {\n      opacity: 0\n    }\n  }, animatableModel, dataIndex, done);\n}\n\nfunction removeElementWithFadeOut(el, animatableModel, dataIndex) {\n  function doRemove() {\n    el.parent && el.parent.remove(el);\n  } // Hide label and labelLine first\n  // TODO Also use fade out animation?\n\n\n  if (!el.isGroup) {\n    fadeOutDisplayable(el, animatableModel, dataIndex, doRemove);\n  } else {\n    el.traverse(function (disp) {\n      if (!disp.isGroup) {\n        // Can invoke doRemove multiple times.\n        fadeOutDisplayable(disp, animatableModel, dataIndex, doRemove);\n      }\n    });\n  }\n}\n/**\n * Save old style for style transition in universalTransition module.\n * It's used when element will be reused in each render.\n * For chart like map, heatmap, which will always create new element.\n * We don't need to save this because universalTransition can get old style from the old element\n */\n\nfunction saveOldStyle(el) {\n  transitionStore(el).oldStyle = el.style;\n}\nfunction getOldStyle(el) {\n  return transitionStore(el).oldStyle;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/animation/basicTransition.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js ***!
  \******************************************************************************/
/*! exports provided: stopPreviousKeyframeAnimationAndRestore, applyKeyframeAnimation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stopPreviousKeyframeAnimationAndRestore\", function() { return stopPreviousKeyframeAnimationAndRestore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyKeyframeAnimation\", function() { return applyKeyframeAnimation; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./customGraphicTransition.js */ \"./node_modules/echarts/lib/animation/customGraphicTransition.js\");\n/* harmony import */ var _basicTransition_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar getStateToRestore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"makeInner\"])();\nvar KEYFRAME_EXCLUDE_KEYS = ['percent', 'easing', 'shape', 'style', 'extra'];\n/**\n * Stop previous keyframe animation and restore the attributes.\n * Avoid new keyframe animation starts with wrong internal state when the percent: 0 is not set.\n */\n\nfunction stopPreviousKeyframeAnimationAndRestore(el) {\n  // Stop previous keyframe animation.\n  el.stopAnimation('keyframe'); // Restore\n\n  el.attr(getStateToRestore(el));\n}\nfunction applyKeyframeAnimation(el, animationOpts, animatableModel) {\n  if (!animatableModel.isAnimationEnabled() || !animationOpts) {\n    return;\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(animationOpts)) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(animationOpts, function (singleAnimationOpts) {\n      applyKeyframeAnimation(el, singleAnimationOpts, animatableModel);\n    });\n    return;\n  }\n\n  var keyframes = animationOpts.keyframes;\n  var duration = animationOpts.duration;\n\n  if (animatableModel && duration == null) {\n    // Default to use duration of config.\n    // NOTE: animation config from payload will be ignored because they are mainly for transitions.\n    var config = Object(_basicTransition_js__WEBPACK_IMPORTED_MODULE_2__[\"getAnimationConfig\"])('enter', animatableModel, 0);\n    duration = config && config.duration;\n  }\n\n  if (!keyframes || !duration) {\n    return;\n  }\n\n  var stateToRestore = getStateToRestore(el);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_1__[\"ELEMENT_ANIMATABLE_PROPS\"], function (targetPropName) {\n    if (targetPropName && !el[targetPropName]) {\n      return;\n    }\n\n    var animator;\n    var endFrameIsSet = false; // Sort keyframes by percent.\n\n    keyframes.sort(function (a, b) {\n      return a.percent - b.percent;\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(keyframes, function (kf) {\n      // Stop current animation.\n      var animators = el.animators;\n      var kfValues = targetPropName ? kf[targetPropName] : kf;\n\n      if (true) {\n        if (kf.percent >= 1) {\n          endFrameIsSet = true;\n        }\n      }\n\n      if (!kfValues) {\n        return;\n      }\n\n      var propKeys = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(kfValues);\n\n      if (!targetPropName) {\n        // PENDING performance?\n        propKeys = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"filter\"])(propKeys, function (key) {\n          return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(KEYFRAME_EXCLUDE_KEYS, key) < 0;\n        });\n      }\n\n      if (!propKeys.length) {\n        return;\n      }\n\n      if (!animator) {\n        animator = el.animate(targetPropName, animationOpts.loop, true);\n        animator.scope = 'keyframe';\n      }\n\n      for (var i = 0; i < animators.length; i++) {\n        // Stop all other animation that is not keyframe.\n        if (animators[i] !== animator && animators[i].targetName === animator.targetName) {\n          animators[i].stopTracks(propKeys);\n        }\n      }\n\n      targetPropName && (stateToRestore[targetPropName] = stateToRestore[targetPropName] || {});\n      var savedTarget = targetPropName ? stateToRestore[targetPropName] : stateToRestore;\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(propKeys, function (key) {\n        // Save original value.\n        savedTarget[key] = ((targetPropName ? el[targetPropName] : el) || {})[key];\n      });\n      animator.whenWithKeys(duration * kf.percent, kfValues, propKeys, kf.easing);\n    });\n\n    if (!animator) {\n      return;\n    }\n\n    if (true) {\n      if (!endFrameIsSet) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"warn\"])('End frame with percent: 1 is missing in the keyframeAnimation.', true);\n      }\n    }\n\n    animator.delay(animationOpts.delay || 0).duration(duration).start(animationOpts.easing);\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/animation/customGraphicTransition.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/animation/customGraphicTransition.js ***!
  \***********************************************************************/
/*! exports provided: ELEMENT_ANIMATABLE_PROPS, applyUpdateTransition, updateLeaveTo, applyLeaveTransition, isTransitionAll */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ELEMENT_ANIMATABLE_PROPS\", function() { return ELEMENT_ANIMATABLE_PROPS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyUpdateTransition\", function() { return applyUpdateTransition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateLeaveTo\", function() { return updateLeaveTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyLeaveTransition\", function() { return applyLeaveTransition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTransitionAll\", function() { return isTransitionAll; });\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_animation_Animator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/animation/Animator.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/Animator.js\");\n/* harmony import */ var zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _basicTransition_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar LEGACY_TRANSFORM_PROPS_MAP = {\n  position: ['x', 'y'],\n  scale: ['scaleX', 'scaleY'],\n  origin: ['originX', 'originY']\n};\nvar LEGACY_TRANSFORM_PROPS = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(LEGACY_TRANSFORM_PROPS_MAP);\nvar TRANSFORM_PROPS_MAP = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"reduce\"])(zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_7__[\"TRANSFORMABLE_PROPS\"], function (obj, key) {\n  obj[key] = 1;\n  return obj;\n}, {});\nvar transformPropNamesStr = zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_7__[\"TRANSFORMABLE_PROPS\"].join(', '); // '' means root\n\nvar ELEMENT_ANIMATABLE_PROPS = ['', 'style', 'shape', 'extra'];\n;\nvar transitionInnerStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\n;\n\nfunction getElementAnimationConfig(animationType, el, elOption, parentModel, dataIndex) {\n  var animationProp = animationType + \"Animation\";\n  var config = Object(_basicTransition_js__WEBPACK_IMPORTED_MODULE_4__[\"getAnimationConfig\"])(animationType, parentModel, dataIndex) || {};\n  var userDuring = transitionInnerStore(el).userDuring; // Only set when duration is > 0 and it's need to be animated.\n\n  if (config.duration > 0) {\n    // For simplicity, if during not specified, the previous during will not work any more.\n    config.during = userDuring ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(duringCall, {\n      el: el,\n      userDuring: userDuring\n    }) : null;\n    config.setToFinal = true;\n    config.scope = animationType;\n  }\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(config, elOption[animationProp]);\n  return config;\n}\n\nfunction applyUpdateTransition(el, elOption, animatableModel, opts) {\n  opts = opts || {};\n  var dataIndex = opts.dataIndex,\n      isInit = opts.isInit,\n      clearStyle = opts.clearStyle;\n  var hasAnimation = animatableModel.isAnimationEnabled(); // Save the meta info for further morphing. Like apply on the sub morphing elements.\n\n  var store = transitionInnerStore(el);\n  var styleOpt = elOption.style;\n  store.userDuring = elOption.during;\n  var transFromProps = {};\n  var propsToSet = {};\n  prepareTransformAllPropsFinal(el, elOption, propsToSet);\n  prepareShapeOrExtraAllPropsFinal('shape', elOption, propsToSet);\n  prepareShapeOrExtraAllPropsFinal('extra', elOption, propsToSet);\n\n  if (!isInit && hasAnimation) {\n    prepareTransformTransitionFrom(el, elOption, transFromProps);\n    prepareShapeOrExtraTransitionFrom('shape', el, elOption, transFromProps);\n    prepareShapeOrExtraTransitionFrom('extra', el, elOption, transFromProps);\n    prepareStyleTransitionFrom(el, elOption, styleOpt, transFromProps);\n  }\n\n  propsToSet.style = styleOpt;\n  applyPropsDirectly(el, propsToSet, clearStyle);\n  applyMiscProps(el, elOption);\n\n  if (hasAnimation) {\n    if (isInit) {\n      var enterFromProps_1 = {};\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(ELEMENT_ANIMATABLE_PROPS, function (propName) {\n        var prop = propName ? elOption[propName] : elOption;\n\n        if (prop && prop.enterFrom) {\n          if (propName) {\n            enterFromProps_1[propName] = enterFromProps_1[propName] || {};\n          }\n\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(propName ? enterFromProps_1[propName] : enterFromProps_1, prop.enterFrom);\n        }\n      });\n      var config = getElementAnimationConfig('enter', el, elOption, animatableModel, dataIndex);\n\n      if (config.duration > 0) {\n        el.animateFrom(enterFromProps_1, config);\n      }\n    } else {\n      applyPropsTransition(el, elOption, dataIndex || 0, animatableModel, transFromProps);\n    }\n  } // Store leave to be used in leave transition.\n\n\n  updateLeaveTo(el, elOption);\n  styleOpt ? el.dirty() : el.markRedraw();\n}\nfunction updateLeaveTo(el, elOption) {\n  // Try merge to previous set leaveTo\n  var leaveToProps = transitionInnerStore(el).leaveToProps;\n\n  for (var i = 0; i < ELEMENT_ANIMATABLE_PROPS.length; i++) {\n    var propName = ELEMENT_ANIMATABLE_PROPS[i];\n    var prop = propName ? elOption[propName] : elOption;\n\n    if (prop && prop.leaveTo) {\n      if (!leaveToProps) {\n        leaveToProps = transitionInnerStore(el).leaveToProps = {};\n      }\n\n      if (propName) {\n        leaveToProps[propName] = leaveToProps[propName] || {};\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(propName ? leaveToProps[propName] : leaveToProps, prop.leaveTo);\n    }\n  }\n}\nfunction applyLeaveTransition(el, elOption, animatableModel, onRemove) {\n  if (el) {\n    var parent_1 = el.parent;\n    var leaveToProps = transitionInnerStore(el).leaveToProps;\n\n    if (leaveToProps) {\n      // TODO TODO use leave after leaveAnimation in series is introduced\n      // TODO Data index?\n      var config = getElementAnimationConfig('update', el, elOption, animatableModel, 0);\n\n      config.done = function () {\n        parent_1.remove(el);\n        onRemove && onRemove();\n      };\n\n      el.animateTo(leaveToProps, config);\n    } else {\n      parent_1.remove(el);\n      onRemove && onRemove();\n    }\n  }\n}\nfunction isTransitionAll(transition) {\n  return transition === 'all';\n}\n\nfunction applyPropsDirectly(el, // Can be null/undefined\nallPropsFinal, clearStyle) {\n  var styleOpt = allPropsFinal.style;\n\n  if (!el.isGroup && styleOpt) {\n    if (clearStyle) {\n      el.useStyle({}); // When style object changed, how to trade the existing animation?\n      // It is probably complicated and not needed to cover all the cases.\n      // But still need consider the case:\n      // (1) When using init animation on `style.opacity`, and before the animation\n      //     ended users triggers an update by mousewhel. At that time the init\n      //     animation should better be continued rather than terminated.\n      //     So after `useStyle` called, we should change the animation target manually\n      //     to continue the effect of the init animation.\n      // (2) PENDING: If the previous animation targeted at a `val1`, and currently we need\n      //     to update the value to `val2` and no animation declared, should be terminate\n      //     the previous animation or just modify the target of the animation?\n      //     Therotically That will happen not only on `style` but also on `shape` and\n      //     `transfrom` props. But we haven't handle this case at present yet.\n      // (3) PENDING: Is it proper to visit `animators` and `targetName`?\n\n      var animators = el.animators;\n\n      for (var i = 0; i < animators.length; i++) {\n        var animator = animators[i]; // targetName is the \"topKey\".\n\n        if (animator.targetName === 'style') {\n          animator.changeTarget(el.style);\n        }\n      }\n    }\n\n    el.setStyle(styleOpt);\n  }\n\n  if (allPropsFinal) {\n    // Not set style here.\n    allPropsFinal.style = null; // Set el to the final state firstly.\n\n    allPropsFinal && el.attr(allPropsFinal);\n    allPropsFinal.style = styleOpt;\n  }\n}\n\nfunction applyPropsTransition(el, elOption, dataIndex, model, // Can be null/undefined\ntransFromProps) {\n  if (transFromProps) {\n    var config = getElementAnimationConfig('update', el, elOption, model, dataIndex);\n\n    if (config.duration > 0) {\n      el.animateFrom(transFromProps, config);\n    }\n  }\n}\n\nfunction applyMiscProps(el, elOption) {\n  // Merge by default.\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(elOption, 'silent') && (el.silent = elOption.silent);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(elOption, 'ignore') && (el.ignore = elOption.ignore);\n\n  if (el instanceof zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(elOption, 'invisible') && (el.invisible = elOption.invisible);\n  }\n\n  if (el instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Path\"]) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(elOption, 'autoBatch') && (el.autoBatch = elOption.autoBatch);\n  }\n} // Use it to avoid it be exposed to user.\n\n\nvar tmpDuringScope = {};\nvar transitionDuringAPI = {\n  // Usually other props do not need to be changed in animation during.\n  setTransform: function (key, val) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(TRANSFORM_PROPS_MAP, key), 'Only ' + transformPropNamesStr + ' available in `setTransform`.');\n    }\n\n    tmpDuringScope.el[key] = val;\n    return this;\n  },\n  getTransform: function (key) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(TRANSFORM_PROPS_MAP, key), 'Only ' + transformPropNamesStr + ' available in `getTransform`.');\n    }\n\n    return tmpDuringScope.el[key];\n  },\n  setShape: function (key, val) {\n    if (true) {\n      assertNotReserved(key);\n    }\n\n    var el = tmpDuringScope.el;\n    var shape = el.shape || (el.shape = {});\n    shape[key] = val;\n    el.dirtyShape && el.dirtyShape();\n    return this;\n  },\n  getShape: function (key) {\n    if (true) {\n      assertNotReserved(key);\n    }\n\n    var shape = tmpDuringScope.el.shape;\n\n    if (shape) {\n      return shape[key];\n    }\n  },\n  setStyle: function (key, val) {\n    if (true) {\n      assertNotReserved(key);\n    }\n\n    var el = tmpDuringScope.el;\n    var style = el.style;\n\n    if (style) {\n      if (true) {\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"eqNaN\"])(val)) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_6__[\"warn\"])('style.' + key + ' must not be assigned with NaN.');\n        }\n      }\n\n      style[key] = val;\n      el.dirtyStyle && el.dirtyStyle();\n    }\n\n    return this;\n  },\n  getStyle: function (key) {\n    if (true) {\n      assertNotReserved(key);\n    }\n\n    var style = tmpDuringScope.el.style;\n\n    if (style) {\n      return style[key];\n    }\n  },\n  setExtra: function (key, val) {\n    if (true) {\n      assertNotReserved(key);\n    }\n\n    var extra = tmpDuringScope.el.extra || (tmpDuringScope.el.extra = {});\n    extra[key] = val;\n    return this;\n  },\n  getExtra: function (key) {\n    if (true) {\n      assertNotReserved(key);\n    }\n\n    var extra = tmpDuringScope.el.extra;\n\n    if (extra) {\n      return extra[key];\n    }\n  }\n};\n\nfunction assertNotReserved(key) {\n  if (true) {\n    if (key === 'transition' || key === 'enterFrom' || key === 'leaveTo') {\n      throw new Error('key must not be \"' + key + '\"');\n    }\n  }\n}\n\nfunction duringCall() {\n  // Do not provide \"percent\" until some requirements come.\n  // Because consider thies case:\n  // enterFrom: {x: 100, y: 30}, transition: 'x'.\n  // And enter duration is different from update duration.\n  // Thus it might be confused about the meaning of \"percent\" in during callback.\n  var scope = this;\n  var el = scope.el;\n\n  if (!el) {\n    return;\n  } // If el is remove from zr by reason like legend, during still need to called,\n  // becuase el will be added back to zr and the prop value should not be incorrect.\n\n\n  var latestUserDuring = transitionInnerStore(el).userDuring;\n  var scopeUserDuring = scope.userDuring; // Ensured a during is only called once in each animation frame.\n  // If a during is called multiple times in one frame, maybe some users' calulation logic\n  // might be wrong (not sure whether this usage exists).\n  // The case of a during might be called twice can be: by default there is a animator for\n  // 'x', 'y' when init. Before the init animation finished, call `setOption` to start\n  // another animators for 'style'/'shape'/'extra'.\n\n  if (latestUserDuring !== scopeUserDuring) {\n    // release\n    scope.el = scope.userDuring = null;\n    return;\n  }\n\n  tmpDuringScope.el = el; // Give no `this` to user in \"during\" calling.\n\n  scopeUserDuring(transitionDuringAPI); // FIXME: if in future meet the case that some prop will be both modified in `during` and `state`,\n  // consider the issue that the prop might be incorrect when return to \"normal\" state.\n}\n\nfunction prepareShapeOrExtraTransitionFrom(mainAttr, fromEl, elOption, transFromProps) {\n  var attrOpt = elOption[mainAttr];\n\n  if (!attrOpt) {\n    return;\n  }\n\n  var elPropsInAttr = fromEl[mainAttr];\n  var transFromPropsInAttr;\n\n  if (elPropsInAttr) {\n    var transition = elOption.transition;\n    var attrTransition = attrOpt.transition;\n\n    if (attrTransition) {\n      !transFromPropsInAttr && (transFromPropsInAttr = transFromProps[mainAttr] = {});\n\n      if (isTransitionAll(attrTransition)) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(transFromPropsInAttr, elPropsInAttr);\n      } else {\n        var transitionKeys = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(attrTransition);\n\n        for (var i = 0; i < transitionKeys.length; i++) {\n          var key = transitionKeys[i];\n          var elVal = elPropsInAttr[key];\n          transFromPropsInAttr[key] = elVal;\n        }\n      }\n    } else if (isTransitionAll(transition) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(transition, mainAttr) >= 0) {\n      !transFromPropsInAttr && (transFromPropsInAttr = transFromProps[mainAttr] = {});\n      var elPropsInAttrKeys = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(elPropsInAttr);\n\n      for (var i = 0; i < elPropsInAttrKeys.length; i++) {\n        var key = elPropsInAttrKeys[i];\n        var elVal = elPropsInAttr[key];\n\n        if (isNonStyleTransitionEnabled(attrOpt[key], elVal)) {\n          transFromPropsInAttr[key] = elVal;\n        }\n      }\n    }\n  }\n}\n\nfunction prepareShapeOrExtraAllPropsFinal(mainAttr, elOption, allProps) {\n  var attrOpt = elOption[mainAttr];\n\n  if (!attrOpt) {\n    return;\n  }\n\n  var allPropsInAttr = allProps[mainAttr] = {};\n  var keysInAttr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(attrOpt);\n\n  for (var i = 0; i < keysInAttr.length; i++) {\n    var key = keysInAttr[i]; // To avoid share one object with different element, and\n    // to avoid user modify the object inexpectedly, have to clone.\n\n    allPropsInAttr[key] = Object(zrender_lib_animation_Animator_js__WEBPACK_IMPORTED_MODULE_2__[\"cloneValue\"])(attrOpt[key]);\n  }\n}\n\nfunction prepareTransformTransitionFrom(el, elOption, transFromProps) {\n  var transition = elOption.transition;\n  var transitionKeys = isTransitionAll(transition) ? zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_7__[\"TRANSFORMABLE_PROPS\"] : Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(transition || []);\n\n  for (var i = 0; i < transitionKeys.length; i++) {\n    var key = transitionKeys[i];\n\n    if (key === 'style' || key === 'shape' || key === 'extra') {\n      continue;\n    }\n\n    var elVal = el[key];\n\n    if (true) {\n      checkTransformPropRefer(key, 'el.transition');\n    } // Do not clone, animator will perform that clone.\n\n\n    transFromProps[key] = elVal;\n  }\n}\n\nfunction prepareTransformAllPropsFinal(el, elOption, allProps) {\n  for (var i = 0; i < LEGACY_TRANSFORM_PROPS.length; i++) {\n    var legacyName = LEGACY_TRANSFORM_PROPS[i];\n    var xyName = LEGACY_TRANSFORM_PROPS_MAP[legacyName];\n    var legacyArr = elOption[legacyName];\n\n    if (legacyArr) {\n      allProps[xyName[0]] = legacyArr[0];\n      allProps[xyName[1]] = legacyArr[1];\n    }\n  }\n\n  for (var i = 0; i < zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_7__[\"TRANSFORMABLE_PROPS\"].length; i++) {\n    var key = zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_7__[\"TRANSFORMABLE_PROPS\"][i];\n\n    if (elOption[key] != null) {\n      allProps[key] = elOption[key];\n    }\n  }\n}\n\nfunction prepareStyleTransitionFrom(fromEl, elOption, styleOpt, transFromProps) {\n  if (!styleOpt) {\n    return;\n  }\n\n  var fromElStyle = fromEl.style;\n  var transFromStyleProps;\n\n  if (fromElStyle) {\n    var styleTransition = styleOpt.transition;\n    var elTransition = elOption.transition;\n\n    if (styleTransition && !isTransitionAll(styleTransition)) {\n      var transitionKeys = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(styleTransition);\n      !transFromStyleProps && (transFromStyleProps = transFromProps.style = {});\n\n      for (var i = 0; i < transitionKeys.length; i++) {\n        var key = transitionKeys[i];\n        var elVal = fromElStyle[key]; // Do not clone, see `checkNonStyleTansitionRefer`.\n\n        transFromStyleProps[key] = elVal;\n      }\n    } else if (fromEl.getAnimationStyleProps && (isTransitionAll(elTransition) || isTransitionAll(styleTransition) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(elTransition, 'style') >= 0)) {\n      var animationProps = fromEl.getAnimationStyleProps();\n      var animationStyleProps = animationProps ? animationProps.style : null;\n\n      if (animationStyleProps) {\n        !transFromStyleProps && (transFromStyleProps = transFromProps.style = {});\n        var styleKeys = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(styleOpt);\n\n        for (var i = 0; i < styleKeys.length; i++) {\n          var key = styleKeys[i];\n\n          if (animationStyleProps[key]) {\n            var elVal = fromElStyle[key];\n            transFromStyleProps[key] = elVal;\n          }\n        }\n      }\n    }\n  }\n}\n\nfunction isNonStyleTransitionEnabled(optVal, elVal) {\n  // The same as `checkNonStyleTansitionRefer`.\n  return !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArrayLike\"])(optVal) ? optVal != null && isFinite(optVal) : optVal !== elVal;\n}\n\nvar checkTransformPropRefer;\n\nif (true) {\n  checkTransformPropRefer = function (key, usedIn) {\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(TRANSFORM_PROPS_MAP, key)) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_6__[\"warn\"])('Prop `' + key + '` is not a permitted in `' + usedIn + '`. ' + 'Only `' + Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(TRANSFORM_PROPS_MAP).join('`, `') + '` are permitted.');\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/animation/customGraphicTransition.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/animation/morphTransitionHelper.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/animation/morphTransitionHelper.js ***!
  \*********************************************************************/
/*! exports provided: applyMorphAnimation, getPathList */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyMorphAnimation\", function() { return applyMorphAnimation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPathList\", function() { return getPathList; });\n/* harmony import */ var zrender_lib_tool_morphPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/tool/morphPath.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/morphPath.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _basicTransition_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony import */ var zrender_lib_tool_path_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/tool/path.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/path.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nfunction isMultiple(elements) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"])(elements[0]);\n}\n\nfunction prepareMorphBatches(one, many) {\n  var batches = [];\n  var batchCount = one.length;\n\n  for (var i = 0; i < batchCount; i++) {\n    batches.push({\n      one: one[i],\n      many: []\n    });\n  }\n\n  for (var i = 0; i < many.length; i++) {\n    var len = many[i].length;\n    var k = void 0;\n\n    for (k = 0; k < len; k++) {\n      batches[k % batchCount].many.push(many[i][k]);\n    }\n  }\n\n  var off = 0; // If one has more paths than each one of many. average them.\n\n  for (var i = batchCount - 1; i >= 0; i--) {\n    if (!batches[i].many.length) {\n      var moveFrom = batches[off].many;\n\n      if (moveFrom.length <= 1) {\n        // Not enough\n        // Start from the first one.\n        if (off) {\n          off = 0;\n        } else {\n          return batches;\n        }\n      }\n\n      var len = moveFrom.length;\n      var mid = Math.ceil(len / 2);\n      batches[i].many = moveFrom.slice(mid, len);\n      batches[off].many = moveFrom.slice(0, mid);\n      off++;\n    }\n  }\n\n  return batches;\n}\n\nvar pathDividers = {\n  clone: function (params) {\n    var ret = []; // Fitting the alpha\n\n    var approxOpacity = 1 - Math.pow(1 - params.path.style.opacity, 1 / params.count);\n\n    for (var i = 0; i < params.count; i++) {\n      var cloned = Object(zrender_lib_tool_path_js__WEBPACK_IMPORTED_MODULE_4__[\"clonePath\"])(params.path);\n      cloned.setStyle('opacity', approxOpacity);\n      ret.push(cloned);\n    }\n\n    return ret;\n  },\n  // Use the default divider\n  split: null\n};\nfunction applyMorphAnimation(from, to, divideShape, seriesModel, dataIndex, animateOtherProps) {\n  if (!from.length || !to.length) {\n    return;\n  }\n\n  var updateAnimationCfg = Object(_basicTransition_js__WEBPACK_IMPORTED_MODULE_3__[\"getAnimationConfig\"])('update', seriesModel, dataIndex);\n\n  if (!(updateAnimationCfg && updateAnimationCfg.duration > 0)) {\n    return;\n  }\n\n  var animationDelay = seriesModel.getModel('universalTransition').get('delay');\n  var animationCfg = Object.assign({\n    // Need to setToFinal so the further calculation based on the style can be correct.\n    // Like emphasis color.\n    setToFinal: true\n  }, updateAnimationCfg);\n  var many;\n  var one;\n\n  if (isMultiple(from)) {\n    // manyToOne\n    many = from;\n    one = to;\n  }\n\n  if (isMultiple(to)) {\n    // oneToMany\n    many = to;\n    one = from;\n  }\n\n  function morphOneBatch(batch, fromIsMany, animateIndex, animateCount, forceManyOne) {\n    var batchMany = batch.many;\n    var batchOne = batch.one;\n\n    if (batchMany.length === 1 && !forceManyOne) {\n      // Is one to one\n      var batchFrom = fromIsMany ? batchMany[0] : batchOne;\n      var batchTo = fromIsMany ? batchOne : batchMany[0];\n\n      if (Object(zrender_lib_tool_morphPath_js__WEBPACK_IMPORTED_MODULE_0__[\"isCombineMorphing\"])(batchFrom)) {\n        // Keep doing combine animation.\n        morphOneBatch({\n          many: [batchFrom],\n          one: batchTo\n        }, true, animateIndex, animateCount, true);\n      } else {\n        var individualAnimationCfg = animationDelay ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n          delay: animationDelay(animateIndex, animateCount)\n        }, animationCfg) : animationCfg;\n        Object(zrender_lib_tool_morphPath_js__WEBPACK_IMPORTED_MODULE_0__[\"morphPath\"])(batchFrom, batchTo, individualAnimationCfg);\n        animateOtherProps(batchFrom, batchTo, batchFrom, batchTo, individualAnimationCfg);\n      }\n    } else {\n      var separateAnimationCfg = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n        dividePath: pathDividers[divideShape],\n        individualDelay: animationDelay && function (idx, count, fromPath, toPath) {\n          return animationDelay(idx + animateIndex, animateCount);\n        }\n      }, animationCfg);\n\n      var _a = fromIsMany ? Object(zrender_lib_tool_morphPath_js__WEBPACK_IMPORTED_MODULE_0__[\"combineMorph\"])(batchMany, batchOne, separateAnimationCfg) : Object(zrender_lib_tool_morphPath_js__WEBPACK_IMPORTED_MODULE_0__[\"separateMorph\"])(batchOne, batchMany, separateAnimationCfg),\n          fromIndividuals = _a.fromIndividuals,\n          toIndividuals = _a.toIndividuals;\n\n      var count = fromIndividuals.length;\n\n      for (var k = 0; k < count; k++) {\n        var individualAnimationCfg = animationDelay ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n          delay: animationDelay(k, count)\n        }, animationCfg) : animationCfg;\n        animateOtherProps(fromIndividuals[k], toIndividuals[k], fromIsMany ? batchMany[k] : batch.one, fromIsMany ? batch.one : batchMany[k], individualAnimationCfg);\n      }\n    }\n  }\n\n  var fromIsMany = many ? many === from // Is one to one. If the path number not match. also needs do merge and separate morphing.\n  : from.length > to.length;\n  var morphBatches = many ? prepareMorphBatches(one, many) : prepareMorphBatches(fromIsMany ? to : from, [fromIsMany ? from : to]);\n  var animateCount = 0;\n\n  for (var i = 0; i < morphBatches.length; i++) {\n    animateCount += morphBatches[i].many.length;\n  }\n\n  var animateIndex = 0;\n\n  for (var i = 0; i < morphBatches.length; i++) {\n    morphOneBatch(morphBatches[i], fromIsMany, animateIndex, animateCount);\n    animateIndex += morphBatches[i].many.length;\n  }\n}\nfunction getPathList(elements) {\n  if (!elements) {\n    return [];\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"])(elements)) {\n    var pathList_1 = [];\n\n    for (var i = 0; i < elements.length; i++) {\n      pathList_1.push(getPathList(elements[i]));\n    }\n\n    return pathList_1;\n  }\n\n  var pathList = [];\n  elements.traverse(function (el) {\n    if (el instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"] && !el.disableMorphing && !el.invisible && !el.ignore) {\n      pathList.push(el);\n    }\n  });\n  return pathList;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/animation/morphTransitionHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/animation/universalTransition.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/animation/universalTransition.js ***!
  \*******************************************************************/
/*! exports provided: installUniversalTransition */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installUniversalTransition\", function() { return installUniversalTransition; });\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./morphTransitionHelper.js */ \"./node_modules/echarts/lib/animation/morphTransitionHelper.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _basicTransition_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony import */ var zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zrender/lib/graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Universal transitions that can animate between any shapes(series) and any properties in any amounts.\n\n\n\n\n\n\n\n\n\n\nvar DATA_COUNT_THRESHOLD = 1e4;\n;\nvar getUniversalTransitionGlobalStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"makeInner\"])();\n\nfunction getGroupIdDimension(data) {\n  var dimensions = data.dimensions;\n\n  for (var i = 0; i < dimensions.length; i++) {\n    var dimInfo = data.getDimensionInfo(dimensions[i]);\n\n    if (dimInfo && dimInfo.otherDims.itemGroupId === 0) {\n      return dimensions[i];\n    }\n  }\n}\n\nfunction flattenDataDiffItems(list) {\n  var items = [];\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(list, function (seriesInfo) {\n    var data = seriesInfo.data;\n\n    if (data.count() > DATA_COUNT_THRESHOLD) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_7__[\"warn\"])('Universal transition is disabled on large data > 10k.');\n      }\n\n      return;\n    }\n\n    var indices = data.getIndices();\n    var groupDim = getGroupIdDimension(data);\n\n    for (var dataIndex = 0; dataIndex < indices.length; dataIndex++) {\n      items.push({\n        data: data,\n        dim: seriesInfo.dim || groupDim,\n        divide: seriesInfo.divide,\n        dataIndex: dataIndex\n      });\n    }\n  });\n  return items;\n}\n\nfunction fadeInElement(newEl, newSeries, newIndex) {\n  newEl.traverse(function (el) {\n    if (el instanceof zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n      // TODO use fade in animation for target element.\n      Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"initProps\"])(el, {\n        style: {\n          opacity: 0\n        }\n      }, newSeries, {\n        dataIndex: newIndex,\n        isFrom: true\n      });\n    }\n  });\n}\n\nfunction removeEl(el) {\n  if (el.parent) {\n    // Bake parent transform to element.\n    // So it can still have proper transform to transition after it's removed.\n    var computedTransform = el.getComputedTransform();\n    el.setLocalTransform(computedTransform);\n    el.parent.remove(el);\n  }\n}\n\nfunction stopAnimation(el) {\n  el.stopAnimation();\n\n  if (el.isGroup) {\n    el.traverse(function (child) {\n      child.stopAnimation();\n    });\n  }\n}\n\nfunction animateElementStyles(el, dataIndex, seriesModel) {\n  var animationConfig = Object(_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"getAnimationConfig\"])('update', seriesModel, dataIndex);\n  animationConfig && el.traverse(function (child) {\n    if (child instanceof zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n      var oldStyle = Object(_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"getOldStyle\"])(child);\n\n      if (oldStyle) {\n        child.animateFrom({\n          style: oldStyle\n        }, animationConfig);\n      }\n    }\n  });\n}\n\nfunction isAllIdSame(oldDiffItems, newDiffItems) {\n  var len = oldDiffItems.length;\n\n  if (len !== newDiffItems.length) {\n    return false;\n  }\n\n  for (var i = 0; i < len; i++) {\n    var oldItem = oldDiffItems[i];\n    var newItem = newDiffItems[i];\n\n    if (oldItem.data.getId(oldItem.dataIndex) !== newItem.data.getId(newItem.dataIndex)) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction transitionBetween(oldList, newList, api) {\n  var oldDiffItems = flattenDataDiffItems(oldList);\n  var newDiffItems = flattenDataDiffItems(newList);\n\n  function updateMorphingPathProps(from, to, rawFrom, rawTo, animationCfg) {\n    if (rawFrom || from) {\n      to.animateFrom({\n        style: rawFrom && rawFrom !== from ? // dividingMethod like clone may override the style(opacity)\n        // So extend it to raw style.\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, rawFrom.style), from.style) : from.style\n      }, animationCfg);\n    }\n  }\n\n  function findKeyDim(items) {\n    for (var i = 0; i < items.length; i++) {\n      if (items[i].dim) {\n        return items[i].dim;\n      }\n    }\n  }\n\n  var oldKeyDim = findKeyDim(oldDiffItems);\n  var newKeyDim = findKeyDim(newDiffItems);\n  var hasMorphAnimation = false;\n\n  function createKeyGetter(isOld, onlyGetId) {\n    return function (diffItem) {\n      var data = diffItem.data;\n      var dataIndex = diffItem.dataIndex; // TODO if specified dim\n\n      if (onlyGetId) {\n        return data.getId(dataIndex);\n      } // Use group id as transition key by default.\n      // So we can achieve multiple to multiple animation like drilldown / up naturally.\n      // If group id not exits. Use id instead. If so, only one to one transition will be applied.\n\n\n      var dataGroupId = data.hostModel && data.hostModel.get('dataGroupId'); // If specified key dimension(itemGroupId by default). Use this same dimension from other data.\n      // PENDING: If only use key dimension of newData.\n\n      var keyDim = isOld ? oldKeyDim || newKeyDim : newKeyDim || oldKeyDim;\n      var dimInfo = keyDim && data.getDimensionInfo(keyDim);\n      var dimOrdinalMeta = dimInfo && dimInfo.ordinalMeta;\n\n      if (dimInfo) {\n        // Get from encode.itemGroupId.\n        var key = data.get(dimInfo.name, dataIndex);\n\n        if (dimOrdinalMeta) {\n          return dimOrdinalMeta.categories[key] || key + '';\n        }\n\n        return key + '';\n      } // Get groupId from raw item. { groupId: '' }\n\n\n      var itemVal = data.getRawDataItem(dataIndex);\n\n      if (itemVal && itemVal.groupId) {\n        return itemVal.groupId + '';\n      }\n\n      return dataGroupId || data.getId(dataIndex);\n    };\n  } // Use id if it's very likely to be an one to one animation\n  // It's more robust than groupId\n  // TODO Check if key dimension is specified.\n\n\n  var useId = isAllIdSame(oldDiffItems, newDiffItems);\n  var isElementStillInChart = {};\n\n  if (!useId) {\n    // We may have different diff strategy with basicTransition if we use other dimension as key.\n    // If so, we can't simply check if oldEl is same with newEl. We need a map to check if oldEl is still being used in the new chart.\n    // We can't use the elements that already being morphed. Let it keep it's original basic transition.\n    for (var i = 0; i < newDiffItems.length; i++) {\n      var newItem = newDiffItems[i];\n      var el = newItem.data.getItemGraphicEl(newItem.dataIndex);\n\n      if (el) {\n        isElementStillInChart[el.id] = true;\n      }\n    }\n  }\n\n  function updateOneToOne(newIndex, oldIndex) {\n    var oldItem = oldDiffItems[oldIndex];\n    var newItem = newDiffItems[newIndex];\n    var newSeries = newItem.data.hostModel; // TODO Mark this elements is morphed and don't morph them anymore\n\n    var oldEl = oldItem.data.getItemGraphicEl(oldItem.dataIndex);\n    var newEl = newItem.data.getItemGraphicEl(newItem.dataIndex); // Can't handle same elements.\n\n    if (oldEl === newEl) {\n      newEl && animateElementStyles(newEl, newItem.dataIndex, newSeries);\n      return;\n    }\n\n    if ( // We can't use the elements that already being morphed\n    oldEl && isElementStillInChart[oldEl.id]) {\n      return;\n    }\n\n    if (newEl) {\n      // TODO: If keep animating the group in case\n      // some of the elements don't want to be morphed.\n      // TODO Label?\n      stopAnimation(newEl);\n\n      if (oldEl) {\n        stopAnimation(oldEl); // If old element is doing leaving animation. stop it and remove it immediately.\n\n        removeEl(oldEl);\n        hasMorphAnimation = true;\n        Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"applyMorphAnimation\"])(Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getPathList\"])(oldEl), Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getPathList\"])(newEl), newItem.divide, newSeries, newIndex, updateMorphingPathProps);\n      } else {\n        fadeInElement(newEl, newSeries, newIndex);\n      }\n    } // else keep oldEl leaving animation.\n\n  }\n\n  new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](oldDiffItems, newDiffItems, createKeyGetter(true, useId), createKeyGetter(false, useId), null, 'multiple').update(updateOneToOne).updateManyToOne(function (newIndex, oldIndices) {\n    var newItem = newDiffItems[newIndex];\n    var newData = newItem.data;\n    var newSeries = newData.hostModel;\n    var newEl = newData.getItemGraphicEl(newItem.dataIndex);\n    var oldElsList = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(oldIndices, function (idx) {\n      return oldDiffItems[idx].data.getItemGraphicEl(oldDiffItems[idx].dataIndex);\n    }), function (oldEl) {\n      return oldEl && oldEl !== newEl && !isElementStillInChart[oldEl.id];\n    });\n\n    if (newEl) {\n      stopAnimation(newEl);\n\n      if (oldElsList.length) {\n        // If old element is doing leaving animation. stop it and remove it immediately.\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(oldElsList, function (oldEl) {\n          stopAnimation(oldEl);\n          removeEl(oldEl);\n        });\n        hasMorphAnimation = true;\n        Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"applyMorphAnimation\"])(Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getPathList\"])(oldElsList), Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getPathList\"])(newEl), newItem.divide, newSeries, newIndex, updateMorphingPathProps);\n      } else {\n        fadeInElement(newEl, newSeries, newItem.dataIndex);\n      }\n    } // else keep oldEl leaving animation.\n\n  }).updateOneToMany(function (newIndices, oldIndex) {\n    var oldItem = oldDiffItems[oldIndex];\n    var oldEl = oldItem.data.getItemGraphicEl(oldItem.dataIndex); // We can't use the elements that already being morphed\n\n    if (oldEl && isElementStillInChart[oldEl.id]) {\n      return;\n    }\n\n    var newElsList = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(newIndices, function (idx) {\n      return newDiffItems[idx].data.getItemGraphicEl(newDiffItems[idx].dataIndex);\n    }), function (el) {\n      return el && el !== oldEl;\n    });\n    var newSeris = newDiffItems[newIndices[0]].data.hostModel;\n\n    if (newElsList.length) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(newElsList, function (newEl) {\n        return stopAnimation(newEl);\n      });\n\n      if (oldEl) {\n        stopAnimation(oldEl); // If old element is doing leaving animation. stop it and remove it immediately.\n\n        removeEl(oldEl);\n        hasMorphAnimation = true;\n        Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"applyMorphAnimation\"])(Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getPathList\"])(oldEl), Object(_morphTransitionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getPathList\"])(newElsList), oldItem.divide, // Use divide on old.\n        newSeris, newIndices[0], updateMorphingPathProps);\n      } else {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(newElsList, function (newEl) {\n          return fadeInElement(newEl, newSeris, newIndices[0]);\n        });\n      }\n    } // else keep oldEl leaving animation.\n\n  }).updateManyToMany(function (newIndices, oldIndices) {\n    // If two data are same and both have groupId.\n    // Normally they should be diff by id.\n    new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](oldIndices, newIndices, function (rawIdx) {\n      return oldDiffItems[rawIdx].data.getId(oldDiffItems[rawIdx].dataIndex);\n    }, function (rawIdx) {\n      return newDiffItems[rawIdx].data.getId(newDiffItems[rawIdx].dataIndex);\n    }).update(function (newIndex, oldIndex) {\n      // Use the original index\n      updateOneToOne(newIndices[newIndex], oldIndices[oldIndex]);\n    }).execute();\n  }).execute();\n\n  if (hasMorphAnimation) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(newList, function (_a) {\n      var data = _a.data;\n      var seriesModel = data.hostModel;\n      var view = seriesModel && api.getViewOfSeriesModel(seriesModel);\n      var animationCfg = Object(_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"getAnimationConfig\"])('update', seriesModel, 0); // use 0 index.\n\n      if (view && seriesModel.isAnimationEnabled() && animationCfg && animationCfg.duration > 0) {\n        view.group.traverse(function (el) {\n          if (el instanceof zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] && !el.animators.length) {\n            // We can't accept there still exists element that has no animation\n            // if universalTransition is enabled\n            el.animateFrom({\n              style: {\n                opacity: 0\n              }\n            }, animationCfg);\n          }\n        });\n      }\n    });\n  }\n}\n\nfunction getSeriesTransitionKey(series) {\n  var seriesKey = series.getModel('universalTransition').get('seriesKey');\n\n  if (!seriesKey) {\n    // Use series id by default.\n    return series.id;\n  }\n\n  return seriesKey;\n}\n\nfunction convertArraySeriesKeyToString(seriesKey) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(seriesKey)) {\n    // Order independent.\n    return seriesKey.sort().join(',');\n  }\n\n  return seriesKey;\n}\n\nfunction getDivideShapeFromData(data) {\n  if (data.hostModel) {\n    return data.hostModel.getModel('universalTransition').get('divideShape');\n  }\n}\n\nfunction findTransitionSeriesBatches(globalStore, params) {\n  var updateBatches = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n  var oldDataMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])(); // Map that only store key in array seriesKey.\n  // Which is used to query the old data when transition from one to multiple series.\n\n  var oldDataMapForSplit = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(globalStore.oldSeries, function (series, idx) {\n    var oldData = globalStore.oldData[idx];\n    var transitionKey = getSeriesTransitionKey(series);\n    var transitionKeyStr = convertArraySeriesKeyToString(transitionKey);\n    oldDataMap.set(transitionKeyStr, oldData);\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(transitionKey)) {\n      // Same key can't in different array seriesKey.\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(transitionKey, function (key) {\n        oldDataMapForSplit.set(key, {\n          data: oldData,\n          key: transitionKeyStr\n        });\n      });\n    }\n  });\n\n  function checkTransitionSeriesKeyDuplicated(transitionKeyStr) {\n    if (updateBatches.get(transitionKeyStr)) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_7__[\"warn\"])(\"Duplicated seriesKey in universalTransition \" + transitionKeyStr);\n    }\n  }\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(params.updatedSeries, function (series) {\n    if (series.isUniversalTransitionEnabled() && series.isAnimationEnabled()) {\n      var newData = series.getData();\n      var transitionKey = getSeriesTransitionKey(series);\n      var transitionKeyStr = convertArraySeriesKeyToString(transitionKey); // Only transition between series with same id.\n\n      var oldData = oldDataMap.get(transitionKeyStr); // string transition key is the best match.\n\n      if (oldData) {\n        if (true) {\n          checkTransitionSeriesKeyDuplicated(transitionKeyStr);\n        } // TODO check if data is same?\n\n\n        updateBatches.set(transitionKeyStr, {\n          oldSeries: [{\n            divide: getDivideShapeFromData(oldData),\n            data: oldData\n          }],\n          newSeries: [{\n            divide: getDivideShapeFromData(newData),\n            data: newData\n          }]\n        });\n      } else {\n        // Transition from multiple series.\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(transitionKey)) {\n          if (true) {\n            checkTransitionSeriesKeyDuplicated(transitionKeyStr);\n          }\n\n          var oldSeries_1 = [];\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(transitionKey, function (key) {\n            var oldData = oldDataMap.get(key);\n\n            if (oldData) {\n              oldSeries_1.push({\n                divide: getDivideShapeFromData(oldData),\n                data: oldData\n              });\n            }\n          });\n\n          if (oldSeries_1.length) {\n            updateBatches.set(transitionKeyStr, {\n              oldSeries: oldSeries_1,\n              newSeries: [{\n                data: newData,\n                divide: getDivideShapeFromData(newData)\n              }]\n            });\n          }\n        } else {\n          // Try transition to multiple series.\n          var oldData_1 = oldDataMapForSplit.get(transitionKey);\n\n          if (oldData_1) {\n            var batch = updateBatches.get(oldData_1.key);\n\n            if (!batch) {\n              batch = {\n                oldSeries: [{\n                  data: oldData_1.data,\n                  divide: getDivideShapeFromData(oldData_1.data)\n                }],\n                newSeries: []\n              };\n              updateBatches.set(oldData_1.key, batch);\n            }\n\n            batch.newSeries.push({\n              data: newData,\n              divide: getDivideShapeFromData(newData)\n            });\n          }\n        }\n      }\n    }\n  });\n  return updateBatches;\n}\n\nfunction querySeries(series, finder) {\n  for (var i = 0; i < series.length; i++) {\n    var found = finder.seriesIndex != null && finder.seriesIndex === series[i].seriesIndex || finder.seriesId != null && finder.seriesId === series[i].id;\n\n    if (found) {\n      return i;\n    }\n  }\n}\n\nfunction transitionSeriesFromOpt(transitionOpt, globalStore, params, api) {\n  var from = [];\n  var to = [];\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(transitionOpt.from), function (finder) {\n    var idx = querySeries(globalStore.oldSeries, finder);\n\n    if (idx >= 0) {\n      from.push({\n        data: globalStore.oldData[idx],\n        // TODO can specify divideShape in transition.\n        divide: getDivideShapeFromData(globalStore.oldData[idx]),\n        dim: finder.dimension\n      });\n    }\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(transitionOpt.to), function (finder) {\n    var idx = querySeries(params.updatedSeries, finder);\n\n    if (idx >= 0) {\n      var data = params.updatedSeries[idx].getData();\n      to.push({\n        data: data,\n        divide: getDivideShapeFromData(data),\n        dim: finder.dimension\n      });\n    }\n  });\n\n  if (from.length > 0 && to.length > 0) {\n    transitionBetween(from, to, api);\n  }\n}\n\nfunction installUniversalTransition(registers) {\n  registers.registerUpdateLifecycle('series:beforeupdate', function (ecMOdel, api, params) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(params.seriesTransition), function (transOpt) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(transOpt.to), function (finder) {\n        var series = params.updatedSeries;\n\n        for (var i = 0; i < series.length; i++) {\n          if (finder.seriesIndex != null && finder.seriesIndex === series[i].seriesIndex || finder.seriesId != null && finder.seriesId === series[i].id) {\n            series[i][_model_Series_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_UNIVERSAL_TRANSITION_PROP\"]] = true;\n          }\n        }\n      });\n    });\n  });\n  registers.registerUpdateLifecycle('series:transition', function (ecModel, api, params) {\n    // TODO api provide an namespace that can save stuff per instance\n    var globalStore = getUniversalTransitionGlobalStore(api); // TODO multiple to multiple series.\n\n    if (globalStore.oldSeries && params.updatedSeries && params.optionChanged) {\n      // Use give transition config if its' give;\n      var transitionOpt = params.seriesTransition;\n\n      if (transitionOpt) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(transitionOpt), function (opt) {\n          transitionSeriesFromOpt(opt, globalStore, params, api);\n        });\n      } else {\n        // Else guess from series based on transition series key.\n        var updateBatches_1 = findTransitionSeriesBatches(globalStore, params);\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(updateBatches_1.keys(), function (key) {\n          var batch = updateBatches_1.get(key);\n          transitionBetween(batch.oldSeries, batch.newSeries, api);\n        });\n      } // Reset\n\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(params.updatedSeries, function (series) {\n        // Reset;\n        if (series[_model_Series_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_UNIVERSAL_TRANSITION_PROP\"]]) {\n          series[_model_Series_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_UNIVERSAL_TRANSITION_PROP\"]] = false;\n        }\n      });\n    } // Save all series of current update. Not only the updated one.\n\n\n    var allSeries = ecModel.getSeries();\n    var savedSeries = globalStore.oldSeries = [];\n    var savedData = globalStore.oldData = [];\n\n    for (var i = 0; i < allSeries.length; i++) {\n      var data = allSeries[i].getData(); // Only save the data that can have transition.\n      // Avoid large data costing too much extra memory\n\n      if (data.count() < DATA_COUNT_THRESHOLD) {\n        savedSeries.push(allSeries[i]);\n        savedData.push(data);\n      }\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/animation/universalTransition.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/BarSeries.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/BarSeries.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _BaseBarSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseBarSeries.js */ \"./node_modules/echarts/lib/chart/bar/BaseBarSeries.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar BarSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BarSeriesModel, _super);\n\n  function BarSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = BarSeriesModel.type;\n    return _this;\n  }\n\n  BarSeriesModel.prototype.getInitialData = function () {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(null, this, {\n      useEncodeDefaulter: true,\n      createInvertedIndices: !!this.get('realtimeSort', true) || null\n    });\n  };\n  /**\n   * @override\n   */\n\n\n  BarSeriesModel.prototype.getProgressive = function () {\n    // Do not support progressive in normal mode.\n    return this.get('large') ? this.get('progressive') : false;\n  };\n  /**\n   * @override\n   */\n\n\n  BarSeriesModel.prototype.getProgressiveThreshold = function () {\n    // Do not support progressive in normal mode.\n    var progressiveThreshold = this.get('progressiveThreshold');\n    var largeThreshold = this.get('largeThreshold');\n\n    if (largeThreshold > progressiveThreshold) {\n      progressiveThreshold = largeThreshold;\n    }\n\n    return progressiveThreshold;\n  };\n\n  BarSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n    return selectors.rect(data.getItemLayout(dataIndex));\n  };\n\n  BarSeriesModel.type = 'series.bar';\n  BarSeriesModel.dependencies = ['grid', 'polar'];\n  BarSeriesModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_3__[\"inheritDefaultOption\"])(_BaseBarSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultOption, {\n    // If clipped\n    // Only available on cartesian2d\n    clip: true,\n    roundCap: false,\n    showBackground: false,\n    backgroundStyle: {\n      color: 'rgba(180, 180, 180, 0.2)',\n      borderColor: null,\n      borderWidth: 0,\n      borderType: 'solid',\n      borderRadius: 0,\n      shadowBlur: 0,\n      shadowColor: null,\n      shadowOffsetX: 0,\n      shadowOffsetY: 0,\n      opacity: 1\n    },\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    },\n    realtimeSort: false\n  });\n  return BarSeriesModel;\n}(_BaseBarSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BarSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/BarSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/BarView.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/BarView.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony import */ var _helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helper/createClipPathFromCoordSys.js */ \"./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js\");\n/* harmony import */ var _util_shape_sausage_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/shape/sausage.js */ \"./node_modules/echarts/lib/util/shape/sausage.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../coord/CoordinateSystem.js */ \"./node_modules/echarts/lib/coord/CoordinateSystem.js\");\n/* harmony import */ var _helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helper/labelHelper.js */ \"./node_modules/echarts/lib/chart/helper/labelHelper.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _label_sectorLabel_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../label/sectorLabel.js */ \"./node_modules/echarts/lib/label/sectorLabel.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar mathMax = Math.max;\nvar mathMin = Math.min;\n\nfunction getClipArea(coord, data) {\n  var coordSysClipArea = coord.getArea && coord.getArea();\n\n  if (Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_12__[\"isCoordinateSystemType\"])(coord, 'cartesian2d')) {\n    var baseAxis = coord.getBaseAxis(); // When boundaryGap is false or using time axis. bar may exceed the grid.\n    // We should not clip this part.\n    // See test/bar2.html\n\n    if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n      var expandWidth = data.getLayout('bandWidth');\n\n      if (baseAxis.isHorizontal()) {\n        coordSysClipArea.x -= expandWidth;\n        coordSysClipArea.width += expandWidth * 2;\n      } else {\n        coordSysClipArea.y -= expandWidth;\n        coordSysClipArea.height += expandWidth * 2;\n      }\n    }\n  }\n\n  return coordSysClipArea;\n}\n\nvar BarView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BarView, _super);\n\n  function BarView() {\n    var _this = _super.call(this) || this;\n\n    _this.type = BarView.type;\n    _this._isFirstFrame = true;\n    return _this;\n  }\n\n  BarView.prototype.render = function (seriesModel, ecModel, api, payload) {\n    this._model = seriesModel;\n\n    this._removeOnRenderedListener(api);\n\n    this._updateDrawMode(seriesModel);\n\n    var coordinateSystemType = seriesModel.get('coordinateSystem');\n\n    if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n      // Clear previously rendered progressive elements.\n      this._progressiveEls = null;\n      this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api, payload);\n    } else if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_14__[\"warn\"])('Only cartesian2d and polar supported for bar.');\n    }\n  };\n\n  BarView.prototype.incrementalPrepareRender = function (seriesModel) {\n    this._clear();\n\n    this._updateDrawMode(seriesModel); // incremental also need to clip, otherwise might be overlow.\n    // But must not set clip in each frame, otherwise all of the children will be marked redraw.\n\n\n    this._updateLargeClip(seriesModel);\n  };\n\n  BarView.prototype.incrementalRender = function (params, seriesModel) {\n    // Reset\n    this._progressiveEls = []; // Do not support progressive in normal mode.\n\n    this._incrementalRenderLarge(params, seriesModel);\n  };\n\n  BarView.prototype.eachRendered = function (cb) {\n    Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"traverseElements\"])(this._progressiveEls || this.group, cb);\n  };\n\n  BarView.prototype._updateDrawMode = function (seriesModel) {\n    var isLargeDraw = seriesModel.pipelineContext.large;\n\n    if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n      this._isLargeDraw = isLargeDraw;\n\n      this._clear();\n    }\n  };\n\n  BarView.prototype._renderNormal = function (seriesModel, ecModel, api, payload) {\n    var group = this.group;\n    var data = seriesModel.getData();\n    var oldData = this._data;\n    var coord = seriesModel.coordinateSystem;\n    var baseAxis = coord.getBaseAxis();\n    var isHorizontalOrRadial;\n\n    if (coord.type === 'cartesian2d') {\n      isHorizontalOrRadial = baseAxis.isHorizontal();\n    } else if (coord.type === 'polar') {\n      isHorizontalOrRadial = baseAxis.dim === 'angle';\n    }\n\n    var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n    var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);\n\n    if (realtimeSortCfg) {\n      this._enableRealtimeSort(realtimeSortCfg, data, api);\n    }\n\n    var needsClip = seriesModel.get('clip', true) || realtimeSortCfg;\n    var coordSysClipArea = getClipArea(coord, data); // If there is clipPath created in large mode. Remove it.\n\n    group.removeClipPath(); // We don't use clipPath in normal mode because we needs a perfect animation\n    // And don't want the label are clipped.\n\n    var roundCap = seriesModel.get('roundCap', true);\n    var drawBackground = seriesModel.get('showBackground', true);\n    var backgroundModel = seriesModel.getModel('backgroundStyle');\n    var barBorderRadius = backgroundModel.get('borderRadius') || 0;\n    var bgEls = [];\n    var oldBgEls = this._backgroundEls;\n    var isInitSort = payload && payload.isInitSort;\n    var isChangeOrder = payload && payload.type === 'changeAxisOrder';\n\n    function createBackground(dataIndex) {\n      var bgLayout = getLayout[coord.type](data, dataIndex);\n      var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n      bgEl.useStyle(backgroundModel.getItemStyle()); // Only cartesian2d support borderRadius.\n\n      if (coord.type === 'cartesian2d') {\n        bgEl.setShape('r', barBorderRadius);\n      }\n\n      bgEls[dataIndex] = bgEl;\n      return bgEl;\n    }\n\n    ;\n    data.diff(oldData).add(function (dataIndex) {\n      var itemModel = data.getItemModel(dataIndex);\n      var layout = getLayout[coord.type](data, dataIndex, itemModel);\n\n      if (drawBackground) {\n        createBackground(dataIndex);\n      } // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n\n\n      if (!data.hasValue(dataIndex) || !isValidLayout[coord.type](layout)) {\n        return;\n      }\n\n      var isClipped = false;\n\n      if (needsClip) {\n        // Clip will modify the layout params.\n        // And return a boolean to determine if the shape are fully clipped.\n        isClipped = clip[coord.type](coordSysClipArea, layout);\n      }\n\n      var el = elementCreator[coord.type](seriesModel, data, dataIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);\n\n      if (realtimeSortCfg) {\n        /**\n         * Force label animation because even if the element is\n         * ignored because it's clipped, it may not be clipped after\n         * changing order. Then, if not using forceLabelAnimation,\n         * the label animation was never started, in which case,\n         * the label will be the final value and doesn't have label\n         * animation.\n         */\n        el.forceLabelAnimation = true;\n      }\n\n      updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n\n      if (isInitSort) {\n        el.attr({\n          shape: layout\n        });\n      } else if (realtimeSortCfg) {\n        updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, dataIndex, isHorizontalOrRadial, false, false);\n      } else {\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"initProps\"])(el, {\n          shape: layout\n        }, seriesModel, dataIndex);\n      }\n\n      data.setItemGraphicEl(dataIndex, el);\n      group.add(el);\n      el.ignore = isClipped;\n    }).update(function (newIndex, oldIndex) {\n      var itemModel = data.getItemModel(newIndex);\n      var layout = getLayout[coord.type](data, newIndex, itemModel);\n\n      if (drawBackground) {\n        var bgEl = void 0;\n\n        if (oldBgEls.length === 0) {\n          bgEl = createBackground(oldIndex);\n        } else {\n          bgEl = oldBgEls[oldIndex];\n          bgEl.useStyle(backgroundModel.getItemStyle()); // Only cartesian2d support borderRadius.\n\n          if (coord.type === 'cartesian2d') {\n            bgEl.setShape('r', barBorderRadius);\n          }\n\n          bgEls[newIndex] = bgEl;\n        }\n\n        var bgLayout = getLayout[coord.type](data, newIndex);\n        var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"])(bgEl, {\n          shape: shape\n        }, animationModel, newIndex);\n      }\n\n      var el = oldData.getItemGraphicEl(oldIndex);\n\n      if (!data.hasValue(newIndex) || !isValidLayout[coord.type](layout)) {\n        group.remove(el);\n        return;\n      }\n\n      var isClipped = false;\n\n      if (needsClip) {\n        isClipped = clip[coord.type](coordSysClipArea, layout);\n\n        if (isClipped) {\n          group.remove(el);\n        }\n      }\n\n      if (!el) {\n        el = elementCreator[coord.type](seriesModel, data, newIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, !!el, roundCap);\n      } else {\n        Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_16__[\"saveOldStyle\"])(el);\n      }\n\n      if (realtimeSortCfg) {\n        el.forceLabelAnimation = true;\n      }\n\n      if (isChangeOrder) {\n        var textEl = el.getTextContent();\n\n        if (textEl) {\n          var labelInnerStore = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"labelInner\"])(textEl);\n\n          if (labelInnerStore.prevValue != null) {\n            /**\n             * Set preValue to be value so that no new label\n             * should be started, otherwise, it will take a full\n             * `animationDurationUpdate` time to finish the\n             * animation, which is not expected.\n             */\n            labelInnerStore.prevValue = labelInnerStore.value;\n          }\n        }\n      } // Not change anything if only order changed.\n      // Especially not change label.\n      else {\n          updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n        }\n\n      if (isInitSort) {\n        el.attr({\n          shape: layout\n        });\n      } else if (realtimeSortCfg) {\n        updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, newIndex, isHorizontalOrRadial, true, isChangeOrder);\n      } else {\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"])(el, {\n          shape: layout\n        }, seriesModel, newIndex, null);\n      }\n\n      data.setItemGraphicEl(newIndex, el);\n      el.ignore = isClipped;\n      group.add(el);\n    }).remove(function (dataIndex) {\n      var el = oldData.getItemGraphicEl(dataIndex);\n      el && Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"removeElementWithFadeOut\"])(el, seriesModel, dataIndex);\n    }).execute();\n    var bgGroup = this._backgroundGroup || (this._backgroundGroup = new zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]());\n    bgGroup.removeAll();\n\n    for (var i = 0; i < bgEls.length; ++i) {\n      bgGroup.add(bgEls[i]);\n    }\n\n    group.add(bgGroup);\n    this._backgroundEls = bgEls;\n    this._data = data;\n  };\n\n  BarView.prototype._renderLarge = function (seriesModel, ecModel, api) {\n    this._clear();\n\n    createLarge(seriesModel, this.group);\n\n    this._updateLargeClip(seriesModel);\n  };\n\n  BarView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n    this._removeBackground();\n\n    createLarge(seriesModel, this.group, this._progressiveEls, true);\n  };\n\n  BarView.prototype._updateLargeClip = function (seriesModel) {\n    // Use clipPath in large mode.\n    var clipPath = seriesModel.get('clip', true) && Object(_helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_9__[\"createClipPath\"])(seriesModel.coordinateSystem, false, seriesModel);\n    var group = this.group;\n\n    if (clipPath) {\n      group.setClipPath(clipPath);\n    } else {\n      group.removeClipPath();\n    }\n  };\n\n  BarView.prototype._enableRealtimeSort = function (realtimeSortCfg, data, api) {\n    var _this = this; // If no data in the first frame, wait for data to initSort\n\n\n    if (!data.count()) {\n      return;\n    }\n\n    var baseAxis = realtimeSortCfg.baseAxis;\n\n    if (this._isFirstFrame) {\n      this._dispatchInitSort(data, realtimeSortCfg, api);\n\n      this._isFirstFrame = false;\n    } else {\n      var orderMapping_1 = function (idx) {\n        var el = data.getItemGraphicEl(idx);\n        var shape = el && el.shape;\n        return shape && // The result should be consistent with the initial sort by data value.\n        // Do not support the case that both positive and negative exist.\n        Math.abs(baseAxis.isHorizontal() ? shape.height : shape.width) // If data is NaN, shape.xxx may be NaN, so use || 0 here in case\n        || 0;\n      };\n\n      this._onRendered = function () {\n        _this._updateSortWithinSameData(data, orderMapping_1, baseAxis, api);\n      };\n\n      api.getZr().on('rendered', this._onRendered);\n    }\n  };\n\n  BarView.prototype._dataSort = function (data, baseAxis, orderMapping) {\n    var info = [];\n    data.each(data.mapDimension(baseAxis.dim), function (ordinalNumber, dataIdx) {\n      var mappedValue = orderMapping(dataIdx);\n      mappedValue = mappedValue == null ? NaN : mappedValue;\n      info.push({\n        dataIndex: dataIdx,\n        mappedValue: mappedValue,\n        ordinalNumber: ordinalNumber\n      });\n    });\n    info.sort(function (a, b) {\n      // If NaN, it will be treated as min val.\n      return b.mappedValue - a.mappedValue;\n    });\n    return {\n      ordinalNumbers: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(info, function (item) {\n        return item.ordinalNumber;\n      })\n    };\n  };\n\n  BarView.prototype._isOrderChangedWithinSameData = function (data, orderMapping, baseAxis) {\n    var scale = baseAxis.scale;\n    var ordinalDataDim = data.mapDimension(baseAxis.dim);\n    var lastValue = Number.MAX_VALUE;\n\n    for (var tickNum = 0, len = scale.getOrdinalMeta().categories.length; tickNum < len; ++tickNum) {\n      var rawIdx = data.rawIndexOf(ordinalDataDim, scale.getRawOrdinalNumber(tickNum));\n      var value = rawIdx < 0 // If some tick have no bar, the tick will be treated as min.\n      ? Number.MIN_VALUE // PENDING: if dataZoom on baseAxis exits, is it a performance issue?\n      : orderMapping(data.indexOfRawIndex(rawIdx));\n\n      if (value > lastValue) {\n        return true;\n      }\n\n      lastValue = value;\n    }\n\n    return false;\n  };\n  /*\n   * Consider the case when A and B changed order, whose representing\n   * bars are both out of sight, we don't wish to trigger reorder action\n   * as long as the order in the view doesn't change.\n   */\n\n\n  BarView.prototype._isOrderDifferentInView = function (orderInfo, baseAxis) {\n    var scale = baseAxis.scale;\n    var extent = scale.getExtent();\n    var tickNum = Math.max(0, extent[0]);\n    var tickMax = Math.min(extent[1], scale.getOrdinalMeta().categories.length - 1);\n\n    for (; tickNum <= tickMax; ++tickNum) {\n      if (orderInfo.ordinalNumbers[tickNum] !== scale.getRawOrdinalNumber(tickNum)) {\n        return true;\n      }\n    }\n  };\n\n  BarView.prototype._updateSortWithinSameData = function (data, orderMapping, baseAxis, api) {\n    if (!this._isOrderChangedWithinSameData(data, orderMapping, baseAxis)) {\n      return;\n    }\n\n    var sortInfo = this._dataSort(data, baseAxis, orderMapping);\n\n    if (this._isOrderDifferentInView(sortInfo, baseAxis)) {\n      this._removeOnRenderedListener(api);\n\n      api.dispatchAction({\n        type: 'changeAxisOrder',\n        componentType: baseAxis.dim + 'Axis',\n        axisId: baseAxis.index,\n        sortInfo: sortInfo\n      });\n    }\n  };\n\n  BarView.prototype._dispatchInitSort = function (data, realtimeSortCfg, api) {\n    var baseAxis = realtimeSortCfg.baseAxis;\n\n    var sortResult = this._dataSort(data, baseAxis, function (dataIdx) {\n      return data.get(data.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);\n    });\n\n    api.dispatchAction({\n      type: 'changeAxisOrder',\n      componentType: baseAxis.dim + 'Axis',\n      isInitSort: true,\n      axisId: baseAxis.index,\n      sortInfo: sortResult\n    });\n  };\n\n  BarView.prototype.remove = function (ecModel, api) {\n    this._clear(this._model);\n\n    this._removeOnRenderedListener(api);\n  };\n\n  BarView.prototype.dispose = function (ecModel, api) {\n    this._removeOnRenderedListener(api);\n  };\n\n  BarView.prototype._removeOnRenderedListener = function (api) {\n    if (this._onRendered) {\n      api.getZr().off('rendered', this._onRendered);\n      this._onRendered = null;\n    }\n  };\n\n  BarView.prototype._clear = function (model) {\n    var group = this.group;\n    var data = this._data;\n\n    if (model && model.isAnimationEnabled() && data && !this._isLargeDraw) {\n      this._removeBackground();\n\n      this._backgroundEls = [];\n      data.eachItemGraphicEl(function (el) {\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"removeElementWithFadeOut\"])(el, model, Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(el).dataIndex);\n      });\n    } else {\n      group.removeAll();\n    }\n\n    this._data = null;\n    this._isFirstFrame = true;\n  };\n\n  BarView.prototype._removeBackground = function () {\n    this.group.remove(this._backgroundGroup);\n    this._backgroundGroup = null;\n  };\n\n  BarView.type = 'bar';\n  return BarView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n\nvar clip = {\n  cartesian2d: function (coordSysBoundingRect, layout) {\n    var signWidth = layout.width < 0 ? -1 : 1;\n    var signHeight = layout.height < 0 ? -1 : 1; // Needs positive width and height\n\n    if (signWidth < 0) {\n      layout.x += layout.width;\n      layout.width = -layout.width;\n    }\n\n    if (signHeight < 0) {\n      layout.y += layout.height;\n      layout.height = -layout.height;\n    }\n\n    var coordSysX2 = coordSysBoundingRect.x + coordSysBoundingRect.width;\n    var coordSysY2 = coordSysBoundingRect.y + coordSysBoundingRect.height;\n    var x = mathMax(layout.x, coordSysBoundingRect.x);\n    var x2 = mathMin(layout.x + layout.width, coordSysX2);\n    var y = mathMax(layout.y, coordSysBoundingRect.y);\n    var y2 = mathMin(layout.y + layout.height, coordSysY2);\n    var xClipped = x2 < x;\n    var yClipped = y2 < y; // When xClipped or yClipped, the element will be marked as `ignore`.\n    // But we should also place the element at the edge of the coord sys bounding rect.\n    // Beause if data changed and the bar show again, its transition animaiton\n    // will begin at this place.\n\n    layout.x = xClipped && x > coordSysX2 ? x2 : x;\n    layout.y = yClipped && y > coordSysY2 ? y2 : y;\n    layout.width = xClipped ? 0 : x2 - x;\n    layout.height = yClipped ? 0 : y2 - y; // Reverse back\n\n    if (signWidth < 0) {\n      layout.x += layout.width;\n      layout.width = -layout.width;\n    }\n\n    if (signHeight < 0) {\n      layout.y += layout.height;\n      layout.height = -layout.height;\n    }\n\n    return xClipped || yClipped;\n  },\n  polar: function (coordSysClipArea, layout) {\n    var signR = layout.r0 <= layout.r ? 1 : -1; // Make sure r is larger than r0\n\n    if (signR < 0) {\n      var tmp = layout.r;\n      layout.r = layout.r0;\n      layout.r0 = tmp;\n    }\n\n    var r = mathMin(layout.r, coordSysClipArea.r);\n    var r0 = mathMax(layout.r0, coordSysClipArea.r0);\n    layout.r = r;\n    layout.r0 = r0;\n    var clipped = r - r0 < 0; // Reverse back\n\n    if (signR < 0) {\n      var tmp = layout.r;\n      layout.r = layout.r0;\n      layout.r0 = tmp;\n    }\n\n    return clipped;\n  }\n};\nvar elementCreator = {\n  cartesian2d: function (seriesModel, data, newIndex, layout, isHorizontal, animationModel, axisModel, isUpdate, roundCap) {\n    var rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Rect\"]({\n      shape: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])({}, layout),\n      z2: 1\n    });\n    rect.__dataIndex = newIndex;\n    rect.name = 'item';\n\n    if (animationModel) {\n      var rectShape = rect.shape;\n      var animateProperty = isHorizontal ? 'height' : 'width';\n      rectShape[animateProperty] = 0;\n    }\n\n    return rect;\n  },\n  polar: function (seriesModel, data, newIndex, layout, isRadial, animationModel, axisModel, isUpdate, roundCap) {\n    var ShapeClass = !isRadial && roundCap ? _util_shape_sausage_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Sector\"];\n    var sector = new ShapeClass({\n      shape: layout,\n      z2: 1\n    });\n    sector.name = 'item';\n    var positionMap = createPolarPositionMapping(isRadial);\n    sector.calculateTextPosition = Object(_label_sectorLabel_js__WEBPACK_IMPORTED_MODULE_15__[\"createSectorCalculateTextPosition\"])(positionMap, {\n      isRoundCap: ShapeClass === _util_shape_sausage_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n    }); // Animation\n\n    if (animationModel) {\n      var sectorShape = sector.shape;\n      var animateProperty = isRadial ? 'r' : 'endAngle';\n      var animateTarget = {};\n      sectorShape[animateProperty] = isRadial ? 0 : layout.startAngle;\n      animateTarget[animateProperty] = layout[animateProperty];\n      (isUpdate ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"initProps\"])(sector, {\n        shape: animateTarget // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue\n\n      }, animationModel);\n    }\n\n    return sector;\n  }\n};\n\nfunction shouldRealtimeSort(seriesModel, coordSys) {\n  var realtimeSortOption = seriesModel.get('realtimeSort', true);\n  var baseAxis = coordSys.getBaseAxis();\n\n  if (true) {\n    if (realtimeSortOption) {\n      if (baseAxis.type !== 'category') {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_14__[\"warn\"])('`realtimeSort` will not work because this bar series is not based on a category axis.');\n      }\n\n      if (coordSys.type !== 'cartesian2d') {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_14__[\"warn\"])('`realtimeSort` will not work because this bar series is not on cartesian2d.');\n      }\n    }\n  }\n\n  if (realtimeSortOption && baseAxis.type === 'category' && coordSys.type === 'cartesian2d') {\n    return {\n      baseAxis: baseAxis,\n      otherAxis: coordSys.getOtherAxis(baseAxis)\n    };\n  }\n}\n\nfunction updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout, newIndex, isHorizontal, isUpdate, isChangeOrder) {\n  var seriesTarget;\n  var axisTarget;\n\n  if (isHorizontal) {\n    axisTarget = {\n      x: layout.x,\n      width: layout.width\n    };\n    seriesTarget = {\n      y: layout.y,\n      height: layout.height\n    };\n  } else {\n    axisTarget = {\n      y: layout.y,\n      height: layout.height\n    };\n    seriesTarget = {\n      x: layout.x,\n      width: layout.width\n    };\n  }\n\n  if (!isChangeOrder) {\n    // Keep the original growth animation if only axis order changed.\n    // Not start a new animation.\n    (isUpdate ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"initProps\"])(el, {\n      shape: seriesTarget\n    }, seriesAnimationModel, newIndex, null);\n  }\n\n  var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;\n  (isUpdate ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"initProps\"])(el, {\n    shape: axisTarget\n  }, axisAnimationModel, newIndex);\n}\n\nfunction checkPropertiesNotValid(obj, props) {\n  for (var i = 0; i < props.length; i++) {\n    if (!isFinite(obj[props[i]])) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nvar rectPropties = ['x', 'y', 'width', 'height'];\nvar polarPropties = ['cx', 'cy', 'r', 'startAngle', 'endAngle'];\nvar isValidLayout = {\n  cartesian2d: function (layout) {\n    return !checkPropertiesNotValid(layout, rectPropties);\n  },\n  polar: function (layout) {\n    return !checkPropertiesNotValid(layout, polarPropties);\n  }\n};\nvar getLayout = {\n  // itemModel is only used to get borderWidth, which is not needed\n  // when calculating bar background layout.\n  cartesian2d: function (data, dataIndex, itemModel) {\n    var layout = data.getItemLayout(dataIndex);\n    var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0; // fix layout with lineWidth\n\n    var signX = layout.width > 0 ? 1 : -1;\n    var signY = layout.height > 0 ? 1 : -1;\n    return {\n      x: layout.x + signX * fixedLineWidth / 2,\n      y: layout.y + signY * fixedLineWidth / 2,\n      width: layout.width - signX * fixedLineWidth,\n      height: layout.height - signY * fixedLineWidth\n    };\n  },\n  polar: function (data, dataIndex, itemModel) {\n    var layout = data.getItemLayout(dataIndex);\n    return {\n      cx: layout.cx,\n      cy: layout.cy,\n      r0: layout.r0,\n      r: layout.r,\n      startAngle: layout.startAngle,\n      endAngle: layout.endAngle,\n      clockwise: layout.clockwise\n    };\n  }\n};\n\nfunction isZeroOnPolar(layout) {\n  return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\n\nfunction createPolarPositionMapping(isRadial) {\n  return function (isRadial) {\n    var arcOrAngle = isRadial ? 'Arc' : 'Angle';\n    return function (position) {\n      switch (position) {\n        case 'start':\n        case 'insideStart':\n        case 'end':\n        case 'insideEnd':\n          return position + arcOrAngle;\n\n        default:\n          return position;\n      }\n    };\n  }(isRadial);\n}\n\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, isPolar) {\n  var style = data.getItemVisual(dataIndex, 'style');\n\n  if (!isPolar) {\n    el.setShape('r', itemModel.get(['itemStyle', 'borderRadius']) || 0);\n  }\n\n  el.useStyle(style);\n  var cursorStyle = itemModel.getShallow('cursor');\n  cursorStyle && el.attr('cursor', cursorStyle);\n  var labelPositionOutside = isPolar ? isHorizontalOrRadial ? layout.r >= layout.r0 ? 'endArc' : 'startArc' : layout.endAngle >= layout.startAngle ? 'endAngle' : 'startAngle' : isHorizontalOrRadial ? layout.height >= 0 ? 'bottom' : 'top' : layout.width >= 0 ? 'right' : 'left';\n  var labelStatesModels = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"getLabelStatesModels\"])(itemModel);\n  Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"setLabelStyle\"])(el, labelStatesModels, {\n    labelFetcher: seriesModel,\n    labelDataIndex: dataIndex,\n    defaultText: Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_13__[\"getDefaultLabel\"])(seriesModel.getData(), dataIndex),\n    inheritColor: style.fill,\n    defaultOpacity: style.opacity,\n    defaultOutsidePosition: labelPositionOutside\n  });\n  var label = el.getTextContent();\n\n  if (isPolar && label) {\n    var position = itemModel.get(['label', 'position']);\n    el.textConfig.inside = position === 'middle' ? true : null;\n    Object(_label_sectorLabel_js__WEBPACK_IMPORTED_MODULE_15__[\"setSectorTextRotation\"])(el, position === 'outside' ? labelPositionOutside : position, createPolarPositionMapping(isHorizontalOrRadial), itemModel.get(['label', 'rotate']));\n  }\n\n  Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"setLabelValueAnimation\"])(label, labelStatesModels, seriesModel.getRawValue(dataIndex), function (value) {\n    return Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_13__[\"getDefaultInterpolatedLabel\"])(data, value);\n  });\n  var emphasisModel = itemModel.getModel(['emphasis']);\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"toggleHoverEmphasis\"])(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"setStatesStylesFromModel\"])(el, itemModel);\n\n  if (isZeroOnPolar(layout)) {\n    el.style.fill = 'none';\n    el.style.stroke = 'none';\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(el.states, function (state) {\n      if (state.style) {\n        state.style.fill = state.style.stroke = 'none';\n      }\n    });\n  }\n} // In case width or height are too small.\n\n\nfunction getLineWidth(itemModel, rawLayout) {\n  // Has no border.\n  var borderColor = itemModel.get(['itemStyle', 'borderColor']);\n\n  if (!borderColor || borderColor === 'none') {\n    return 0;\n  }\n\n  var lineWidth = itemModel.get(['itemStyle', 'borderWidth']) || 0; // width or height may be NaN for empty data\n\n  var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n  var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n  return Math.min(lineWidth, width, height);\n}\n\nvar LagePathShape =\n/** @class */\nfunction () {\n  function LagePathShape() {}\n\n  return LagePathShape;\n}();\n\nvar LargePath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LargePath, _super);\n\n  function LargePath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'largeBar';\n    return _this;\n  }\n\n  LargePath.prototype.getDefaultShape = function () {\n    return new LagePathShape();\n  };\n\n  LargePath.prototype.buildPath = function (ctx, shape) {\n    // Drawing lines is more efficient than drawing\n    // a whole line or drawing rects.\n    var points = shape.points;\n    var baseDimIdx = this.baseDimIdx;\n    var valueDimIdx = 1 - this.baseDimIdx;\n    var startPoint = [];\n    var size = [];\n    var barWidth = this.barWidth;\n\n    for (var i = 0; i < points.length; i += 3) {\n      size[baseDimIdx] = barWidth;\n      size[valueDimIdx] = points[i + 2];\n      startPoint[baseDimIdx] = points[i + baseDimIdx];\n      startPoint[valueDimIdx] = points[i + valueDimIdx];\n      ctx.rect(startPoint[0], startPoint[1], size[0], size[1]);\n    }\n  };\n\n  return LargePath;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nfunction createLarge(seriesModel, group, progressiveEls, incremental) {\n  // TODO support polar\n  var data = seriesModel.getData();\n  var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n  var largeDataIndices = data.getLayout('largeDataIndices');\n  var barWidth = data.getLayout('size');\n  var backgroundModel = seriesModel.getModel('backgroundStyle');\n  var bgPoints = data.getLayout('largeBackgroundPoints');\n\n  if (bgPoints) {\n    var bgEl = new LargePath({\n      shape: {\n        points: bgPoints\n      },\n      incremental: !!incremental,\n      silent: true,\n      z2: 0\n    });\n    bgEl.baseDimIdx = baseDimIdx;\n    bgEl.largeDataIndices = largeDataIndices;\n    bgEl.barWidth = barWidth;\n    bgEl.useStyle(backgroundModel.getItemStyle());\n    group.add(bgEl);\n    progressiveEls && progressiveEls.push(bgEl);\n  }\n\n  var el = new LargePath({\n    shape: {\n      points: data.getLayout('largePoints')\n    },\n    incremental: !!incremental,\n    ignoreCoarsePointer: true,\n    z2: 1\n  });\n  el.baseDimIdx = baseDimIdx;\n  el.largeDataIndices = largeDataIndices;\n  el.barWidth = barWidth;\n  group.add(el);\n  el.useStyle(data.getVisual('style')); // Enable tooltip and user mouse/touch event handlers.\n\n  Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(el).seriesIndex = seriesModel.seriesIndex;\n\n  if (!seriesModel.get('silent')) {\n    el.on('mousedown', largePathUpdateDataIndex);\n    el.on('mousemove', largePathUpdateDataIndex);\n  }\n\n  progressiveEls && progressiveEls.push(el);\n} // Use throttle to avoid frequently traverse to find dataIndex.\n\n\nvar largePathUpdateDataIndex = Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_8__[\"throttle\"])(function (event) {\n  var largePath = this;\n  var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n  Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\n\nfunction largePathFindDataIndex(largePath, x, y) {\n  var baseDimIdx = largePath.baseDimIdx;\n  var valueDimIdx = 1 - baseDimIdx;\n  var points = largePath.shape.points;\n  var largeDataIndices = largePath.largeDataIndices;\n  var startPoint = [];\n  var size = [];\n  var barWidth = largePath.barWidth;\n\n  for (var i = 0, len = points.length / 3; i < len; i++) {\n    var ii = i * 3;\n    size[baseDimIdx] = barWidth;\n    size[valueDimIdx] = points[ii + 2];\n    startPoint[baseDimIdx] = points[ii + baseDimIdx];\n    startPoint[valueDimIdx] = points[ii + valueDimIdx];\n\n    if (size[valueDimIdx] < 0) {\n      startPoint[valueDimIdx] += size[valueDimIdx];\n      size[valueDimIdx] = -size[valueDimIdx];\n    }\n\n    if (x >= startPoint[0] && x <= startPoint[0] + size[0] && y >= startPoint[1] && y <= startPoint[1] + size[1]) {\n      return largeDataIndices[i];\n    }\n  }\n\n  return -1;\n}\n\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n  if (Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_12__[\"isCoordinateSystemType\"])(coord, 'cartesian2d')) {\n    var rectShape = layout;\n    var coordLayout = coord.getArea();\n    return {\n      x: isHorizontalOrRadial ? rectShape.x : coordLayout.x,\n      y: isHorizontalOrRadial ? coordLayout.y : rectShape.y,\n      width: isHorizontalOrRadial ? rectShape.width : coordLayout.width,\n      height: isHorizontalOrRadial ? coordLayout.height : rectShape.height\n    };\n  } else {\n    var coordLayout = coord.getArea();\n    var sectorShape = layout;\n    return {\n      cx: coordLayout.cx,\n      cy: coordLayout.cy,\n      r0: isHorizontalOrRadial ? coordLayout.r0 : sectorShape.r0,\n      r: isHorizontalOrRadial ? coordLayout.r : sectorShape.r,\n      startAngle: isHorizontalOrRadial ? sectorShape.startAngle : 0,\n      endAngle: isHorizontalOrRadial ? sectorShape.endAngle : Math.PI * 2\n    };\n  }\n}\n\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n  var ElementClz = coord.type === 'polar' ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Sector\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Rect\"];\n  return new ElementClz({\n    shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n    silent: true,\n    z2: 0\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BarView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/BarView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/BaseBarSeries.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/BaseBarSeries.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar BaseBarSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BaseBarSeriesModel, _super);\n\n  function BaseBarSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = BaseBarSeriesModel.type;\n    return _this;\n  }\n\n  BaseBarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(null, this, {\n      useEncodeDefaulter: true\n    });\n  };\n\n  BaseBarSeriesModel.prototype.getMarkerPosition = function (value) {\n    var coordSys = this.coordinateSystem;\n\n    if (coordSys && coordSys.clampData) {\n      // PENDING if clamp ?\n      var pt = coordSys.dataToPoint(coordSys.clampData(value));\n      var data = this.getData();\n      var offset = data.getLayout('offset');\n      var size = data.getLayout('size');\n      var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;\n      pt[offsetIndex] += offset + size / 2;\n      return pt;\n    }\n\n    return [NaN, NaN];\n  };\n\n  BaseBarSeriesModel.type = 'series.__base_bar__';\n  BaseBarSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'cartesian2d',\n    legendHoverLink: true,\n    // stack: null\n    // Cartesian coordinate system\n    // xAxisIndex: 0,\n    // yAxisIndex: 0,\n    barMinHeight: 0,\n    barMinAngle: 0,\n    // cursor: null,\n    large: false,\n    largeThreshold: 400,\n    progressive: 3e3,\n    progressiveChunkMode: 'mod'\n  };\n  return BaseBarSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].registerClass(BaseBarSeriesModel);\n/* harmony default export */ __webpack_exports__[\"default\"] = (BaseBarSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/BaseBarSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _BaseBarSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseBarSeries.js */ \"./node_modules/echarts/lib/chart/bar/BaseBarSeries.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar PictorialBarSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PictorialBarSeriesModel, _super);\n\n  function PictorialBarSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = PictorialBarSeriesModel.type;\n    _this.hasSymbolVisual = true;\n    _this.defaultSymbol = 'roundRect';\n    return _this;\n  }\n\n  PictorialBarSeriesModel.prototype.getInitialData = function (option) {\n    // Disable stack.\n    option.stack = null;\n    return _super.prototype.getInitialData.apply(this, arguments);\n  };\n\n  PictorialBarSeriesModel.type = 'series.pictorialBar';\n  PictorialBarSeriesModel.dependencies = ['grid'];\n  PictorialBarSeriesModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_2__[\"inheritDefaultOption\"])(_BaseBarSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultOption, {\n    symbol: 'circle',\n    symbolSize: null,\n    symbolRotate: null,\n    symbolPosition: null,\n    symbolOffset: null,\n    symbolMargin: null,\n    symbolRepeat: false,\n    symbolRepeatDirection: 'end',\n    symbolClip: false,\n    symbolBoundingData: null,\n    symbolPatternSize: 400,\n    barGap: '-100%',\n    // z can be set in data item, which is z2 actually.\n    // Disable progressive\n    progressive: 0,\n    emphasis: {\n      // By default pictorialBar do not hover scale. Hover scale is not suitable\n      // for the case that both has foreground and background.\n      scale: false\n    },\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    }\n  });\n  return PictorialBarSeriesModel;\n}(_BaseBarSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PictorialBarSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/PictorialBarView.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/PictorialBarView.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helper/labelHelper.js */ \"./node_modules/echarts/lib/chart/helper/labelHelper.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zrender/lib/graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nvar BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'borderWidth']; // index: +isHorizontal\n\nvar LAYOUT_ATTRS = [{\n  xy: 'x',\n  wh: 'width',\n  index: 0,\n  posDesc: ['left', 'right']\n}, {\n  xy: 'y',\n  wh: 'height',\n  index: 1,\n  posDesc: ['top', 'bottom']\n}];\nvar pathForLineWidth = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Circle\"]();\n\nvar PictorialBarView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PictorialBarView, _super);\n\n  function PictorialBarView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = PictorialBarView.type;\n    return _this;\n  }\n\n  PictorialBarView.prototype.render = function (seriesModel, ecModel, api) {\n    var group = this.group;\n    var data = seriesModel.getData();\n    var oldData = this._data;\n    var cartesian = seriesModel.coordinateSystem;\n    var baseAxis = cartesian.getBaseAxis();\n    var isHorizontal = baseAxis.isHorizontal();\n    var coordSysRect = cartesian.master.getRect();\n    var opt = {\n      ecSize: {\n        width: api.getWidth(),\n        height: api.getHeight()\n      },\n      seriesModel: seriesModel,\n      coordSys: cartesian,\n      coordSysExtent: [[coordSysRect.x, coordSysRect.x + coordSysRect.width], [coordSysRect.y, coordSysRect.y + coordSysRect.height]],\n      isHorizontal: isHorizontal,\n      valueDim: LAYOUT_ATTRS[+isHorizontal],\n      categoryDim: LAYOUT_ATTRS[1 - +isHorizontal]\n    };\n    data.diff(oldData).add(function (dataIndex) {\n      if (!data.hasValue(dataIndex)) {\n        return;\n      }\n\n      var itemModel = getItemModel(data, dataIndex);\n      var symbolMeta = getSymbolMeta(data, dataIndex, itemModel, opt);\n      var bar = createBar(data, opt, symbolMeta);\n      data.setItemGraphicEl(dataIndex, bar);\n      group.add(bar);\n      updateCommon(bar, opt, symbolMeta);\n    }).update(function (newIndex, oldIndex) {\n      var bar = oldData.getItemGraphicEl(oldIndex);\n\n      if (!data.hasValue(newIndex)) {\n        group.remove(bar);\n        return;\n      }\n\n      var itemModel = getItemModel(data, newIndex);\n      var symbolMeta = getSymbolMeta(data, newIndex, itemModel, opt);\n      var pictorialShapeStr = getShapeStr(data, symbolMeta);\n\n      if (bar && pictorialShapeStr !== bar.__pictorialShapeStr) {\n        group.remove(bar);\n        data.setItemGraphicEl(newIndex, null);\n        bar = null;\n      }\n\n      if (bar) {\n        updateBar(bar, opt, symbolMeta);\n      } else {\n        bar = createBar(data, opt, symbolMeta, true);\n      }\n\n      data.setItemGraphicEl(newIndex, bar);\n      bar.__pictorialSymbolMeta = symbolMeta; // Add back\n\n      group.add(bar);\n      updateCommon(bar, opt, symbolMeta);\n    }).remove(function (dataIndex) {\n      var bar = oldData.getItemGraphicEl(dataIndex);\n      bar && removeBar(oldData, dataIndex, bar.__pictorialSymbolMeta.animationModel, bar);\n    }).execute();\n    this._data = data;\n    return this.group;\n  };\n\n  PictorialBarView.prototype.remove = function (ecModel, api) {\n    var group = this.group;\n    var data = this._data;\n\n    if (ecModel.get('animation')) {\n      if (data) {\n        data.eachItemGraphicEl(function (bar) {\n          removeBar(data, Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_10__[\"getECData\"])(bar).dataIndex, ecModel, bar);\n        });\n      }\n    } else {\n      group.removeAll();\n    }\n  };\n\n  PictorialBarView.type = 'pictorialBar';\n  return PictorialBarView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]); // Set or calculate default value about symbol, and calculate layout info.\n\n\nfunction getSymbolMeta(data, dataIndex, itemModel, opt) {\n  var layout = data.getItemLayout(dataIndex);\n  var symbolRepeat = itemModel.get('symbolRepeat');\n  var symbolClip = itemModel.get('symbolClip');\n  var symbolPosition = itemModel.get('symbolPosition') || 'start';\n  var symbolRotate = itemModel.get('symbolRotate');\n  var rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n  var symbolPatternSize = itemModel.get('symbolPatternSize') || 2;\n  var isAnimationEnabled = itemModel.isAnimationEnabled();\n  var symbolMeta = {\n    dataIndex: dataIndex,\n    layout: layout,\n    itemModel: itemModel,\n    symbolType: data.getItemVisual(dataIndex, 'symbol') || 'circle',\n    style: data.getItemVisual(dataIndex, 'style'),\n    symbolClip: symbolClip,\n    symbolRepeat: symbolRepeat,\n    symbolRepeatDirection: itemModel.get('symbolRepeatDirection'),\n    symbolPatternSize: symbolPatternSize,\n    rotation: rotation,\n    animationModel: isAnimationEnabled ? itemModel : null,\n    hoverScale: isAnimationEnabled && itemModel.get(['emphasis', 'scale']),\n    z2: itemModel.getShallow('z', true) || 0\n  };\n  prepareBarLength(itemModel, symbolRepeat, layout, opt, symbolMeta);\n  prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, symbolMeta.boundingLength, symbolMeta.pxSign, symbolPatternSize, opt, symbolMeta);\n  prepareLineWidth(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);\n  var symbolSize = symbolMeta.symbolSize;\n  var symbolOffset = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"normalizeSymbolOffset\"])(itemModel.get('symbolOffset'), symbolSize);\n  prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, symbolMeta.valueLineWidth, symbolMeta.boundingLength, symbolMeta.repeatCutLength, opt, symbolMeta);\n  return symbolMeta;\n} // bar length can be negative.\n\n\nfunction prepareBarLength(itemModel, symbolRepeat, layout, opt, outputSymbolMeta) {\n  var valueDim = opt.valueDim;\n  var symbolBoundingData = itemModel.get('symbolBoundingData');\n  var valueAxis = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());\n  var zeroPx = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));\n  var pxSignIdx = 1 - +(layout[valueDim.wh] <= 0);\n  var boundingLength;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](symbolBoundingData)) {\n    var symbolBoundingExtent = [convertToCoordOnAxis(valueAxis, symbolBoundingData[0]) - zeroPx, convertToCoordOnAxis(valueAxis, symbolBoundingData[1]) - zeroPx];\n    symbolBoundingExtent[1] < symbolBoundingExtent[0] && symbolBoundingExtent.reverse();\n    boundingLength = symbolBoundingExtent[pxSignIdx];\n  } else if (symbolBoundingData != null) {\n    boundingLength = convertToCoordOnAxis(valueAxis, symbolBoundingData) - zeroPx;\n  } else if (symbolRepeat) {\n    boundingLength = opt.coordSysExtent[valueDim.index][pxSignIdx] - zeroPx;\n  } else {\n    boundingLength = layout[valueDim.wh];\n  }\n\n  outputSymbolMeta.boundingLength = boundingLength;\n\n  if (symbolRepeat) {\n    outputSymbolMeta.repeatCutLength = layout[valueDim.wh];\n  } // if 'pxSign' means sign of pixel,  it can't be zero, or symbolScale will be zero\n  // and when borderWidth be settled, the actual linewidth will be NaN\n\n\n  outputSymbolMeta.pxSign = boundingLength > 0 ? 1 : -1;\n}\n\nfunction convertToCoordOnAxis(axis, value) {\n  return axis.toGlobalCoord(axis.dataToCoord(axis.scale.parse(value)));\n} // Support ['100%', '100%']\n\n\nfunction prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, boundingLength, pxSign, symbolPatternSize, opt, outputSymbolMeta) {\n  var valueDim = opt.valueDim;\n  var categoryDim = opt.categoryDim;\n  var categorySize = Math.abs(layout[categoryDim.wh]);\n  var symbolSize = data.getItemVisual(dataIndex, 'symbolSize');\n  var parsedSymbolSize;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](symbolSize)) {\n    parsedSymbolSize = symbolSize.slice();\n  } else {\n    if (symbolSize == null) {\n      // will parse to number below\n      parsedSymbolSize = ['100%', '100%'];\n    } else {\n      parsedSymbolSize = [symbolSize, symbolSize];\n    }\n  } // Note: percentage symbolSize (like '100%') do not consider lineWidth, because it is\n  // to complicated to calculate real percent value if considering scaled lineWidth.\n  // So the actual size will bigger than layout size if lineWidth is bigger than zero,\n  // which can be tolerated in pictorial chart.\n\n\n  parsedSymbolSize[categoryDim.index] = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"parsePercent\"])(parsedSymbolSize[categoryDim.index], categorySize);\n  parsedSymbolSize[valueDim.index] = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"parsePercent\"])(parsedSymbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));\n  outputSymbolMeta.symbolSize = parsedSymbolSize; // If x or y is less than zero, show reversed shape.\n\n  var symbolScale = outputSymbolMeta.symbolScale = [parsedSymbolSize[0] / symbolPatternSize, parsedSymbolSize[1] / symbolPatternSize]; // Follow convention, 'right' and 'top' is the normal scale.\n\n  symbolScale[valueDim.index] *= (opt.isHorizontal ? -1 : 1) * pxSign;\n}\n\nfunction prepareLineWidth(itemModel, symbolScale, rotation, opt, outputSymbolMeta) {\n  // In symbols are drawn with scale, so do not need to care about the case that width\n  // or height are too small. But symbol use strokeNoScale, where acture lineWidth should\n  // be calculated.\n  var valueLineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;\n\n  if (valueLineWidth) {\n    pathForLineWidth.attr({\n      scaleX: symbolScale[0],\n      scaleY: symbolScale[1],\n      rotation: rotation\n    });\n    pathForLineWidth.updateTransform();\n    valueLineWidth /= pathForLineWidth.getLineScale();\n    valueLineWidth *= symbolScale[opt.valueDim.index];\n  }\n\n  outputSymbolMeta.valueLineWidth = valueLineWidth || 0;\n}\n\nfunction prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, outputSymbolMeta) {\n  var categoryDim = opt.categoryDim;\n  var valueDim = opt.valueDim;\n  var pxSign = outputSymbolMeta.pxSign;\n  var unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);\n  var pathLen = unitLength; // Note: rotation will not effect the layout of symbols, because user may\n  // want symbols to rotate on its center, which should not be translated\n  // when rotating.\n\n  if (symbolRepeat) {\n    var absBoundingLength = Math.abs(boundingLength);\n    var symbolMargin = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve\"](itemModel.get('symbolMargin'), '15%') + '';\n    var hasEndGap = false;\n\n    if (symbolMargin.lastIndexOf('!') === symbolMargin.length - 1) {\n      hasEndGap = true;\n      symbolMargin = symbolMargin.slice(0, symbolMargin.length - 1);\n    }\n\n    var symbolMarginNumeric = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"parsePercent\"])(symbolMargin, symbolSize[valueDim.index]);\n    var uLenWithMargin = Math.max(unitLength + symbolMarginNumeric * 2, 0); // When symbol margin is less than 0, margin at both ends will be subtracted\n    // to ensure that all of the symbols will not be overflow the given area.\n\n    var endFix = hasEndGap ? 0 : symbolMarginNumeric * 2; // Both final repeatTimes and final symbolMarginNumeric area calculated based on\n    // boundingLength.\n\n    var repeatSpecified = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"isNumeric\"])(symbolRepeat);\n    var repeatTimes = repeatSpecified ? symbolRepeat : toIntTimes((absBoundingLength + endFix) / uLenWithMargin); // Adjust calculate margin, to ensure each symbol is displayed\n    // entirely in the given layout area.\n\n    var mDiff = absBoundingLength - repeatTimes * unitLength;\n    symbolMarginNumeric = mDiff / 2 / (hasEndGap ? repeatTimes : Math.max(repeatTimes - 1, 1));\n    uLenWithMargin = unitLength + symbolMarginNumeric * 2;\n    endFix = hasEndGap ? 0 : symbolMarginNumeric * 2; // Update repeatTimes when not all symbol will be shown.\n\n    if (!repeatSpecified && symbolRepeat !== 'fixed') {\n      repeatTimes = repeatCutLength ? toIntTimes((Math.abs(repeatCutLength) + endFix) / uLenWithMargin) : 0;\n    }\n\n    pathLen = repeatTimes * uLenWithMargin - endFix;\n    outputSymbolMeta.repeatTimes = repeatTimes;\n    outputSymbolMeta.symbolMargin = symbolMarginNumeric;\n  }\n\n  var sizeFix = pxSign * (pathLen / 2);\n  var pathPosition = outputSymbolMeta.pathPosition = [];\n  pathPosition[categoryDim.index] = layout[categoryDim.wh] / 2;\n  pathPosition[valueDim.index] = symbolPosition === 'start' ? sizeFix : symbolPosition === 'end' ? boundingLength - sizeFix : boundingLength / 2; // 'center'\n\n  if (symbolOffset) {\n    pathPosition[0] += symbolOffset[0];\n    pathPosition[1] += symbolOffset[1];\n  }\n\n  var bundlePosition = outputSymbolMeta.bundlePosition = [];\n  bundlePosition[categoryDim.index] = layout[categoryDim.xy];\n  bundlePosition[valueDim.index] = layout[valueDim.xy];\n  var barRectShape = outputSymbolMeta.barRectShape = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, layout);\n  barRectShape[valueDim.wh] = pxSign * Math.max(Math.abs(layout[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix));\n  barRectShape[categoryDim.wh] = layout[categoryDim.wh];\n  var clipShape = outputSymbolMeta.clipShape = {}; // Consider that symbol may be overflow layout rect.\n\n  clipShape[categoryDim.xy] = -layout[categoryDim.xy];\n  clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];\n  clipShape[valueDim.xy] = 0;\n  clipShape[valueDim.wh] = layout[valueDim.wh];\n}\n\nfunction createPath(symbolMeta) {\n  var symbolPatternSize = symbolMeta.symbolPatternSize;\n  var path = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"createSymbol\"])( // Consider texture img, make a big size.\n  symbolMeta.symbolType, -symbolPatternSize / 2, -symbolPatternSize / 2, symbolPatternSize, symbolPatternSize);\n  path.attr({\n    culling: true\n  });\n  path.type !== 'image' && path.setStyle({\n    strokeNoScale: true\n  });\n  return path;\n}\n\nfunction createOrUpdateRepeatSymbols(bar, opt, symbolMeta, isUpdate) {\n  var bundle = bar.__pictorialBundle;\n  var symbolSize = symbolMeta.symbolSize;\n  var valueLineWidth = symbolMeta.valueLineWidth;\n  var pathPosition = symbolMeta.pathPosition;\n  var valueDim = opt.valueDim;\n  var repeatTimes = symbolMeta.repeatTimes || 0;\n  var index = 0;\n  var unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;\n  eachPath(bar, function (path) {\n    path.__pictorialAnimationIndex = index;\n    path.__pictorialRepeatTimes = repeatTimes;\n\n    if (index < repeatTimes) {\n      updateAttr(path, null, makeTarget(index), symbolMeta, isUpdate);\n    } else {\n      updateAttr(path, null, {\n        scaleX: 0,\n        scaleY: 0\n      }, symbolMeta, isUpdate, function () {\n        bundle.remove(path);\n      });\n    } // updateHoverAnimation(path, symbolMeta);\n\n\n    index++;\n  });\n\n  for (; index < repeatTimes; index++) {\n    var path = createPath(symbolMeta);\n    path.__pictorialAnimationIndex = index;\n    path.__pictorialRepeatTimes = repeatTimes;\n    bundle.add(path);\n    var target = makeTarget(index);\n    updateAttr(path, {\n      x: target.x,\n      y: target.y,\n      scaleX: 0,\n      scaleY: 0\n    }, {\n      scaleX: target.scaleX,\n      scaleY: target.scaleY,\n      rotation: target.rotation\n    }, symbolMeta, isUpdate);\n  }\n\n  function makeTarget(index) {\n    var position = pathPosition.slice(); // (start && pxSign > 0) || (end && pxSign < 0): i = repeatTimes - index\n    // Otherwise: i = index;\n\n    var pxSign = symbolMeta.pxSign;\n    var i = index;\n\n    if (symbolMeta.symbolRepeatDirection === 'start' ? pxSign > 0 : pxSign < 0) {\n      i = repeatTimes - 1 - index;\n    }\n\n    position[valueDim.index] = unit * (i - repeatTimes / 2 + 0.5) + pathPosition[valueDim.index];\n    return {\n      x: position[0],\n      y: position[1],\n      scaleX: symbolMeta.symbolScale[0],\n      scaleY: symbolMeta.symbolScale[1],\n      rotation: symbolMeta.rotation\n    };\n  }\n}\n\nfunction createOrUpdateSingleSymbol(bar, opt, symbolMeta, isUpdate) {\n  var bundle = bar.__pictorialBundle;\n  var mainPath = bar.__pictorialMainPath;\n\n  if (!mainPath) {\n    mainPath = bar.__pictorialMainPath = createPath(symbolMeta);\n    bundle.add(mainPath);\n    updateAttr(mainPath, {\n      x: symbolMeta.pathPosition[0],\n      y: symbolMeta.pathPosition[1],\n      scaleX: 0,\n      scaleY: 0,\n      rotation: symbolMeta.rotation\n    }, {\n      scaleX: symbolMeta.symbolScale[0],\n      scaleY: symbolMeta.symbolScale[1]\n    }, symbolMeta, isUpdate);\n  } else {\n    updateAttr(mainPath, null, {\n      x: symbolMeta.pathPosition[0],\n      y: symbolMeta.pathPosition[1],\n      scaleX: symbolMeta.symbolScale[0],\n      scaleY: symbolMeta.symbolScale[1],\n      rotation: symbolMeta.rotation\n    }, symbolMeta, isUpdate);\n  }\n} // bar rect is used for label.\n\n\nfunction createOrUpdateBarRect(bar, symbolMeta, isUpdate) {\n  var rectShape = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, symbolMeta.barRectShape);\n  var barRect = bar.__pictorialBarRect;\n\n  if (!barRect) {\n    barRect = bar.__pictorialBarRect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n      z2: 2,\n      shape: rectShape,\n      silent: true,\n      style: {\n        stroke: 'transparent',\n        fill: 'transparent',\n        lineWidth: 0\n      }\n    });\n    barRect.disableMorphing = true;\n    bar.add(barRect);\n  } else {\n    updateAttr(barRect, null, {\n      shape: rectShape\n    }, symbolMeta, isUpdate);\n  }\n}\n\nfunction createOrUpdateClip(bar, opt, symbolMeta, isUpdate) {\n  // If not clip, symbol will be remove and rebuilt.\n  if (symbolMeta.symbolClip) {\n    var clipPath = bar.__pictorialClipPath;\n    var clipShape = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, symbolMeta.clipShape);\n    var valueDim = opt.valueDim;\n    var animationModel = symbolMeta.animationModel;\n    var dataIndex = symbolMeta.dataIndex;\n\n    if (clipPath) {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](clipPath, {\n        shape: clipShape\n      }, animationModel, dataIndex);\n    } else {\n      clipShape[valueDim.wh] = 0;\n      clipPath = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n        shape: clipShape\n      });\n\n      bar.__pictorialBundle.setClipPath(clipPath);\n\n      bar.__pictorialClipPath = clipPath;\n      var target = {};\n      target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[isUpdate ? 'updateProps' : 'initProps'](clipPath, {\n        shape: target\n      }, animationModel, dataIndex);\n    }\n  }\n}\n\nfunction getItemModel(data, dataIndex) {\n  var itemModel = data.getItemModel(dataIndex);\n  itemModel.getAnimationDelayParams = getAnimationDelayParams;\n  itemModel.isAnimationEnabled = isAnimationEnabled;\n  return itemModel;\n}\n\nfunction getAnimationDelayParams(path) {\n  // The order is the same as the z-order, see `symbolRepeatDiretion`.\n  return {\n    index: path.__pictorialAnimationIndex,\n    count: path.__pictorialRepeatTimes\n  };\n}\n\nfunction isAnimationEnabled() {\n  // `animation` prop can be set on itemModel in pictorial bar chart.\n  return this.parentModel.isAnimationEnabled() && !!this.getShallow('animation');\n}\n\nfunction createBar(data, opt, symbolMeta, isUpdate) {\n  // bar is the main element for each data.\n  var bar = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"](); // bundle is used for location and clip.\n\n  var bundle = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n  bar.add(bundle);\n  bar.__pictorialBundle = bundle;\n  bundle.x = symbolMeta.bundlePosition[0];\n  bundle.y = symbolMeta.bundlePosition[1];\n\n  if (symbolMeta.symbolRepeat) {\n    createOrUpdateRepeatSymbols(bar, opt, symbolMeta);\n  } else {\n    createOrUpdateSingleSymbol(bar, opt, symbolMeta);\n  }\n\n  createOrUpdateBarRect(bar, symbolMeta, isUpdate);\n  createOrUpdateClip(bar, opt, symbolMeta, isUpdate);\n  bar.__pictorialShapeStr = getShapeStr(data, symbolMeta);\n  bar.__pictorialSymbolMeta = symbolMeta;\n  return bar;\n}\n\nfunction updateBar(bar, opt, symbolMeta) {\n  var animationModel = symbolMeta.animationModel;\n  var dataIndex = symbolMeta.dataIndex;\n  var bundle = bar.__pictorialBundle;\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](bundle, {\n    x: symbolMeta.bundlePosition[0],\n    y: symbolMeta.bundlePosition[1]\n  }, animationModel, dataIndex);\n\n  if (symbolMeta.symbolRepeat) {\n    createOrUpdateRepeatSymbols(bar, opt, symbolMeta, true);\n  } else {\n    createOrUpdateSingleSymbol(bar, opt, symbolMeta, true);\n  }\n\n  createOrUpdateBarRect(bar, symbolMeta, true);\n  createOrUpdateClip(bar, opt, symbolMeta, true);\n}\n\nfunction removeBar(data, dataIndex, animationModel, bar) {\n  // Not show text when animating\n  var labelRect = bar.__pictorialBarRect;\n  labelRect && labelRect.removeTextContent();\n  var paths = [];\n  eachPath(bar, function (path) {\n    paths.push(path);\n  });\n  bar.__pictorialMainPath && paths.push(bar.__pictorialMainPath); // I do not find proper remove animation for clip yet.\n\n  bar.__pictorialClipPath && (animationModel = null);\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](paths, function (path) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElement\"](path, {\n      scaleX: 0,\n      scaleY: 0\n    }, animationModel, dataIndex, function () {\n      bar.parent && bar.parent.remove(bar);\n    });\n  });\n  data.setItemGraphicEl(dataIndex, null);\n}\n\nfunction getShapeStr(data, symbolMeta) {\n  return [data.getItemVisual(symbolMeta.dataIndex, 'symbol') || 'none', !!symbolMeta.symbolRepeat, !!symbolMeta.symbolClip].join(':');\n}\n\nfunction eachPath(bar, cb, context) {\n  // Do not use Group#eachChild, because it do not support remove.\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](bar.__pictorialBundle.children(), function (el) {\n    el !== bar.__pictorialBarRect && cb.call(context, el);\n  });\n}\n\nfunction updateAttr(el, immediateAttrs, animationAttrs, symbolMeta, isUpdate, cb) {\n  immediateAttrs && el.attr(immediateAttrs); // when symbolCip used, only clip path has init animation, otherwise it would be weird effect.\n\n  if (symbolMeta.symbolClip && !isUpdate) {\n    animationAttrs && el.attr(animationAttrs);\n  } else {\n    animationAttrs && _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[isUpdate ? 'updateProps' : 'initProps'](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);\n  }\n}\n\nfunction updateCommon(bar, opt, symbolMeta) {\n  var dataIndex = symbolMeta.dataIndex;\n  var itemModel = symbolMeta.itemModel; // Color must be excluded.\n  // Because symbol provide setColor individually to set fill and stroke\n\n  var emphasisModel = itemModel.getModel('emphasis');\n  var emphasisStyle = emphasisModel.getModel('itemStyle').getItemStyle();\n  var blurStyle = itemModel.getModel(['blur', 'itemStyle']).getItemStyle();\n  var selectStyle = itemModel.getModel(['select', 'itemStyle']).getItemStyle();\n  var cursorStyle = itemModel.getShallow('cursor');\n  var focus = emphasisModel.get('focus');\n  var blurScope = emphasisModel.get('blurScope');\n  var hoverScale = emphasisModel.get('scale');\n  eachPath(bar, function (path) {\n    if (path instanceof zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n      var pathStyle = path.style;\n      path.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({\n        // TODO other properties like dx, dy ?\n        image: pathStyle.image,\n        x: pathStyle.x,\n        y: pathStyle.y,\n        width: pathStyle.width,\n        height: pathStyle.height\n      }, symbolMeta.style));\n    } else {\n      path.useStyle(symbolMeta.style);\n    }\n\n    var emphasisState = path.ensureState('emphasis');\n    emphasisState.style = emphasisStyle;\n\n    if (hoverScale) {\n      // NOTE: Must after scale is set after updateAttr\n      emphasisState.scaleX = path.scaleX * 1.1;\n      emphasisState.scaleY = path.scaleY * 1.1;\n    }\n\n    path.ensureState('blur').style = blurStyle;\n    path.ensureState('select').style = selectStyle;\n    cursorStyle && (path.cursor = cursorStyle);\n    path.z2 = symbolMeta.z2;\n  });\n  var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];\n  var barRect = bar.__pictorialBarRect;\n  Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"setLabelStyle\"])(barRect, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"getLabelStatesModels\"])(itemModel), {\n    labelFetcher: opt.seriesModel,\n    labelDataIndex: dataIndex,\n    defaultText: Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_7__[\"getDefaultLabel\"])(opt.seriesModel.getData(), dataIndex),\n    inheritColor: symbolMeta.style.fill,\n    defaultOpacity: symbolMeta.style.opacity,\n    defaultOutsidePosition: barPositionOutside\n  });\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(bar, focus, blurScope, emphasisModel.get('disabled'));\n}\n\nfunction toIntTimes(times) {\n  var roundedTimes = Math.round(times); // Escapse accurate error\n\n  return Math.abs(times - roundedTimes) < 1e-4 ? roundedTimes : Math.ceil(times);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PictorialBarView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/install.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/install.js ***!
  \*******************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _layout_barGrid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../layout/barGrid.js */ \"./node_modules/echarts/lib/layout/barGrid.js\");\n/* harmony import */ var _processor_dataSample_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../processor/dataSample.js */ \"./node_modules/echarts/lib/processor/dataSample.js\");\n/* harmony import */ var _BarSeries_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BarSeries.js */ \"./node_modules/echarts/lib/chart/bar/BarSeries.js\");\n/* harmony import */ var _BarView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BarView.js */ \"./node_modules/echarts/lib/chart/bar/BarView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_BarView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  registers.registerSeriesModel(_BarSeries_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_1__[\"layout\"], 'bar')); // Do layout after other overall layout, which can preapre some informations.\n\n  registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, Object(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_1__[\"createProgressiveLayout\"])('bar')); // Down sample after filter\n\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, Object(_processor_dataSample_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('bar'));\n  /**\n   * @payload\n   * @property {string} [componentType=series]\n   * @property {number} [dx]\n   * @property {number} [dy]\n   * @property {number} [zoom]\n   * @property {number} [originX]\n   * @property {number} [originY]\n   */\n\n  registers.registerAction({\n    type: 'changeAxisOrder',\n    event: 'changeAxisOrder',\n    update: 'update'\n  }, function (payload, ecModel) {\n    var componentType = payload.componentType || 'series';\n    ecModel.eachComponent({\n      mainType: componentType,\n      query: payload\n    }, function (componentModel) {\n      if (payload.sortInfo) {\n        componentModel.axis.setCategorySortInfo(payload.sortInfo);\n      }\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/bar/installPictorialBar.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/bar/installPictorialBar.js ***!
  \*******************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _PictorialBarView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PictorialBarView.js */ \"./node_modules/echarts/lib/chart/bar/PictorialBarView.js\");\n/* harmony import */ var _PictorialBarSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PictorialBarSeries.js */ \"./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js\");\n/* harmony import */ var _layout_barGrid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../layout/barGrid.js */ \"./node_modules/echarts/lib/layout/barGrid.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_PictorialBarView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_PictorialBarSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"curry\"])(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_2__[\"layout\"], 'pictorialBar')); // Do layout after other overall layout, which can preapre some informations.\n\n  registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, Object(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_2__[\"createProgressiveLayout\"])('pictorialBar'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/installPictorialBar.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_whiskerBoxCommon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/whiskerBoxCommon.js */ \"./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar BoxplotSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BoxplotSeriesModel, _super);\n\n  function BoxplotSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = BoxplotSeriesModel.type; // TODO\n    // box width represents group size, so dimension should have 'size'.\n\n    /**\n     * @see <https://en.wikipedia.org/wiki/Box_plot>\n     * The meanings of 'min' and 'max' depend on user,\n     * and echarts do not need to know it.\n     * @readOnly\n     */\n\n    _this.defaultValueDimensions = [{\n      name: 'min',\n      defaultTooltip: true\n    }, {\n      name: 'Q1',\n      defaultTooltip: true\n    }, {\n      name: 'median',\n      defaultTooltip: true\n    }, {\n      name: 'Q3',\n      defaultTooltip: true\n    }, {\n      name: 'max',\n      defaultTooltip: true\n    }];\n    _this.visualDrawType = 'stroke';\n    return _this;\n  }\n\n  BoxplotSeriesModel.type = 'series.boxplot';\n  BoxplotSeriesModel.dependencies = ['xAxis', 'yAxis', 'grid'];\n  BoxplotSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'cartesian2d',\n    legendHoverLink: true,\n    layout: null,\n    boxWidth: [7, 50],\n    itemStyle: {\n      color: '#fff',\n      borderWidth: 1\n    },\n    emphasis: {\n      scale: true,\n      itemStyle: {\n        borderWidth: 2,\n        shadowBlur: 5,\n        shadowOffsetX: 1,\n        shadowOffsetY: 1,\n        shadowColor: 'rgba(0,0,0,0.2)'\n      }\n    },\n    animationDuration: 800\n  };\n  return BoxplotSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"mixin\"])(BoxplotSeriesModel, _helper_whiskerBoxCommon_js__WEBPACK_IMPORTED_MODULE_2__[\"WhiskerBoxCommonMixin\"], true);\n/* harmony default export */ __webpack_exports__[\"default\"] = (BoxplotSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/BoxplotView.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/BoxplotView.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar BoxplotView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BoxplotView, _super);\n\n  function BoxplotView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = BoxplotView.type;\n    return _this;\n  }\n\n  BoxplotView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    var group = this.group;\n    var oldData = this._data; // There is no old data only when first rendering or switching from\n    // stream mode to normal mode, where previous elements should be removed.\n\n    if (!this._data) {\n      group.removeAll();\n    }\n\n    var constDim = seriesModel.get('layout') === 'horizontal' ? 1 : 0;\n    data.diff(oldData).add(function (newIdx) {\n      if (data.hasValue(newIdx)) {\n        var itemLayout = data.getItemLayout(newIdx);\n        var symbolEl = createNormalBox(itemLayout, data, newIdx, constDim, true);\n        data.setItemGraphicEl(newIdx, symbolEl);\n        group.add(symbolEl);\n      }\n    }).update(function (newIdx, oldIdx) {\n      var symbolEl = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n      if (!data.hasValue(newIdx)) {\n        group.remove(symbolEl);\n        return;\n      }\n\n      var itemLayout = data.getItemLayout(newIdx);\n\n      if (!symbolEl) {\n        symbolEl = createNormalBox(itemLayout, data, newIdx, constDim);\n      } else {\n        Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_6__[\"saveOldStyle\"])(symbolEl);\n        updateNormalBoxData(itemLayout, symbolEl, data, newIdx);\n      }\n\n      group.add(symbolEl);\n      data.setItemGraphicEl(newIdx, symbolEl);\n    }).remove(function (oldIdx) {\n      var el = oldData.getItemGraphicEl(oldIdx);\n      el && group.remove(el);\n    }).execute();\n    this._data = data;\n  };\n\n  BoxplotView.prototype.remove = function (ecModel) {\n    var group = this.group;\n    var data = this._data;\n    this._data = null;\n    data && data.eachItemGraphicEl(function (el) {\n      el && group.remove(el);\n    });\n  };\n\n  BoxplotView.type = 'boxplot';\n  return BoxplotView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nvar BoxPathShape =\n/** @class */\nfunction () {\n  function BoxPathShape() {}\n\n  return BoxPathShape;\n}();\n\nvar BoxPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BoxPath, _super);\n\n  function BoxPath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'boxplotBoxPath';\n    return _this;\n  }\n\n  BoxPath.prototype.getDefaultShape = function () {\n    return new BoxPathShape();\n  };\n\n  BoxPath.prototype.buildPath = function (ctx, shape) {\n    var ends = shape.points;\n    var i = 0;\n    ctx.moveTo(ends[i][0], ends[i][1]);\n    i++;\n\n    for (; i < 4; i++) {\n      ctx.lineTo(ends[i][0], ends[i][1]);\n    }\n\n    ctx.closePath();\n\n    for (; i < ends.length; i++) {\n      ctx.moveTo(ends[i][0], ends[i][1]);\n      i++;\n      ctx.lineTo(ends[i][0], ends[i][1]);\n    }\n  };\n\n  return BoxPath;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nfunction createNormalBox(itemLayout, data, dataIndex, constDim, isInit) {\n  var ends = itemLayout.ends;\n  var el = new BoxPath({\n    shape: {\n      points: isInit ? transInit(ends, constDim, itemLayout) : ends\n    }\n  });\n  updateNormalBoxData(itemLayout, el, data, dataIndex, isInit);\n  return el;\n}\n\nfunction updateNormalBoxData(itemLayout, el, data, dataIndex, isInit) {\n  var seriesModel = data.hostModel;\n  var updateMethod = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[isInit ? 'initProps' : 'updateProps'];\n  updateMethod(el, {\n    shape: {\n      points: itemLayout.ends\n    }\n  }, seriesModel, dataIndex);\n  el.useStyle(data.getItemVisual(dataIndex, 'style'));\n  el.style.strokeNoScale = true;\n  el.z2 = 100;\n  var itemModel = data.getItemModel(dataIndex);\n  var emphasisModel = itemModel.getModel('emphasis');\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setStatesStylesFromModel\"])(el, itemModel);\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"toggleHoverEmphasis\"])(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n}\n\nfunction transInit(points, dim, itemLayout) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](points, function (point) {\n    point = point.slice();\n    point[dim] = itemLayout.initBaseline;\n    return point;\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BoxplotView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return boxplotLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nfunction boxplotLayout(ecModel) {\n  var groupResult = groupSeriesByAxis(ecModel);\n  each(groupResult, function (groupItem) {\n    var seriesModels = groupItem.seriesModels;\n\n    if (!seriesModels.length) {\n      return;\n    }\n\n    calculateBase(groupItem);\n    each(seriesModels, function (seriesModel, idx) {\n      layoutSingleSeries(seriesModel, groupItem.boxOffsetList[idx], groupItem.boxWidthList[idx]);\n    });\n  });\n}\n/**\n * Group series by axis.\n */\n\nfunction groupSeriesByAxis(ecModel) {\n  var result = [];\n  var axisList = [];\n  ecModel.eachSeriesByType('boxplot', function (seriesModel) {\n    var baseAxis = seriesModel.getBaseAxis();\n    var idx = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](axisList, baseAxis);\n\n    if (idx < 0) {\n      idx = axisList.length;\n      axisList[idx] = baseAxis;\n      result[idx] = {\n        axis: baseAxis,\n        seriesModels: []\n      };\n    }\n\n    result[idx].seriesModels.push(seriesModel);\n  });\n  return result;\n}\n/**\n * Calculate offset and box width for each series.\n */\n\n\nfunction calculateBase(groupItem) {\n  var baseAxis = groupItem.axis;\n  var seriesModels = groupItem.seriesModels;\n  var seriesCount = seriesModels.length;\n  var boxWidthList = groupItem.boxWidthList = [];\n  var boxOffsetList = groupItem.boxOffsetList = [];\n  var boundList = [];\n  var bandWidth;\n\n  if (baseAxis.type === 'category') {\n    bandWidth = baseAxis.getBandWidth();\n  } else {\n    var maxDataCount_1 = 0;\n    each(seriesModels, function (seriesModel) {\n      maxDataCount_1 = Math.max(maxDataCount_1, seriesModel.getData().count());\n    });\n    var extent = baseAxis.getExtent();\n    bandWidth = Math.abs(extent[1] - extent[0]) / maxDataCount_1;\n  }\n\n  each(seriesModels, function (seriesModel) {\n    var boxWidthBound = seriesModel.get('boxWidth');\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](boxWidthBound)) {\n      boxWidthBound = [boxWidthBound, boxWidthBound];\n    }\n\n    boundList.push([Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(boxWidthBound[0], bandWidth) || 0, Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(boxWidthBound[1], bandWidth) || 0]);\n  });\n  var availableWidth = bandWidth * 0.8 - 2;\n  var boxGap = availableWidth / seriesCount * 0.3;\n  var boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;\n  var base = boxWidth / 2 - availableWidth / 2;\n  each(seriesModels, function (seriesModel, idx) {\n    boxOffsetList.push(base);\n    base += boxGap + boxWidth;\n    boxWidthList.push(Math.min(Math.max(boxWidth, boundList[idx][0]), boundList[idx][1]));\n  });\n}\n/**\n * Calculate points location for each series.\n */\n\n\nfunction layoutSingleSeries(seriesModel, offset, boxWidth) {\n  var coordSys = seriesModel.coordinateSystem;\n  var data = seriesModel.getData();\n  var halfWidth = boxWidth / 2;\n  var cDimIdx = seriesModel.get('layout') === 'horizontal' ? 0 : 1;\n  var vDimIdx = 1 - cDimIdx;\n  var coordDims = ['x', 'y'];\n  var cDim = data.mapDimension(coordDims[cDimIdx]);\n  var vDims = data.mapDimensionsAll(coordDims[vDimIdx]);\n\n  if (cDim == null || vDims.length < 5) {\n    return;\n  }\n\n  for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n    var axisDimVal = data.get(cDim, dataIndex);\n    var median = getPoint(axisDimVal, vDims[2], dataIndex);\n    var end1 = getPoint(axisDimVal, vDims[0], dataIndex);\n    var end2 = getPoint(axisDimVal, vDims[1], dataIndex);\n    var end4 = getPoint(axisDimVal, vDims[3], dataIndex);\n    var end5 = getPoint(axisDimVal, vDims[4], dataIndex);\n    var ends = [];\n    addBodyEnd(ends, end2, false);\n    addBodyEnd(ends, end4, true);\n    ends.push(end1, end2, end5, end4);\n    layEndLine(ends, end1);\n    layEndLine(ends, end5);\n    layEndLine(ends, median);\n    data.setItemLayout(dataIndex, {\n      initBaseline: median[vDimIdx],\n      ends: ends\n    });\n  }\n\n  function getPoint(axisDimVal, dim, dataIndex) {\n    var val = data.get(dim, dataIndex);\n    var p = [];\n    p[cDimIdx] = axisDimVal;\n    p[vDimIdx] = val;\n    var point;\n\n    if (isNaN(axisDimVal) || isNaN(val)) {\n      point = [NaN, NaN];\n    } else {\n      point = coordSys.dataToPoint(p);\n      point[cDimIdx] += offset;\n    }\n\n    return point;\n  }\n\n  function addBodyEnd(ends, point, start) {\n    var point1 = point.slice();\n    var point2 = point.slice();\n    point1[cDimIdx] += halfWidth;\n    point2[cDimIdx] -= halfWidth;\n    start ? ends.push(point1, point2) : ends.push(point2, point1);\n  }\n\n  function layEndLine(ends, endCenter) {\n    var from = endCenter.slice();\n    var to = endCenter.slice();\n    from[cDimIdx] -= halfWidth;\n    to[cDimIdx] += halfWidth;\n    ends.push(from, to);\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/boxplotTransform.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/boxplotTransform.js ***!
  \********************************************************************/
/*! exports provided: boxplotTransform */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"boxplotTransform\", function() { return boxplotTransform; });\n/* harmony import */ var _prepareBoxplotData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prepareBoxplotData.js */ \"./node_modules/echarts/lib/chart/boxplot/prepareBoxplotData.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar boxplotTransform = {\n  type: 'echarts:boxplot',\n  transform: function transform(params) {\n    var upstream = params.upstream;\n\n    if (upstream.sourceFormat !== _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_ARRAY_ROWS\"]) {\n      var errMsg = '';\n\n      if (true) {\n        errMsg = Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('source data is not applicable for this boxplot transform. Expect number[][].');\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n    }\n\n    var result = Object(_prepareBoxplotData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(upstream.getRawData(), params.config);\n    return [{\n      dimensions: ['ItemName', 'Low', 'Q1', 'Q2', 'Q3', 'High'],\n      data: result.boxData\n    }, {\n      data: result.outliers\n    }];\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotTransform.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return boxplotVisual; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction boxplotVisual(ecModel, api) {}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/install.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/install.js ***!
  \***********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _BoxplotSeries_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BoxplotSeries.js */ \"./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js\");\n/* harmony import */ var _BoxplotView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BoxplotView.js */ \"./node_modules/echarts/lib/chart/boxplot/BoxplotView.js\");\n/* harmony import */ var _boxplotVisual_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./boxplotVisual.js */ \"./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js\");\n/* harmony import */ var _boxplotLayout_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./boxplotLayout.js */ \"./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js\");\n/* harmony import */ var _boxplotTransform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./boxplotTransform.js */ \"./node_modules/echarts/lib/chart/boxplot/boxplotTransform.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  registers.registerSeriesModel(_BoxplotSeries_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerChartView(_BoxplotView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerVisual(_boxplotVisual_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerLayout(_boxplotLayout_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerTransform(_boxplotTransform_js__WEBPACK_IMPORTED_MODULE_4__[\"boxplotTransform\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/boxplot/prepareBoxplotData.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/boxplot/prepareBoxplotData.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return prepareBoxplotData; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * See:\n *  <https://en.wikipedia.org/wiki/Box_plot#cite_note-frigge_hoaglin_iglewicz-2>\n *  <http://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/boxplot.stats.html>\n *\n * Helper method for preparing data.\n *\n * @param rawData like\n *        [\n *            [12,232,443], (raw data set for the first box)\n *            [3843,5545,1232], (raw data set for the second box)\n *            ...\n *        ]\n * @param opt.boundIQR=1.5 Data less than min bound is outlier.\n *      default 1.5, means Q1 - 1.5 * (Q3 - Q1).\n *      If 'none'/0 passed, min bound will not be used.\n */\n\nfunction prepareBoxplotData(rawData, opt) {\n  opt = opt || {};\n  var boxData = [];\n  var outliers = [];\n  var boundIQR = opt.boundIQR;\n  var useExtreme = boundIQR === 'none' || boundIQR === 0;\n\n  for (var i = 0; i < rawData.length; i++) {\n    var ascList = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"asc\"])(rawData[i].slice());\n    var Q1 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantile\"])(ascList, 0.25);\n    var Q2 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantile\"])(ascList, 0.5);\n    var Q3 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantile\"])(ascList, 0.75);\n    var min = ascList[0];\n    var max = ascList[ascList.length - 1];\n    var bound = (boundIQR == null ? 1.5 : boundIQR) * (Q3 - Q1);\n    var low = useExtreme ? min : Math.max(min, Q1 - bound);\n    var high = useExtreme ? max : Math.min(max, Q3 + bound);\n    var itemNameFormatter = opt.itemNameFormatter;\n    var itemName = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(itemNameFormatter) ? itemNameFormatter({\n      value: i\n    }) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(itemNameFormatter) ? itemNameFormatter.replace('{value}', i + '') : i + '';\n    boxData.push([itemName, low, Q1, Q2, Q3, high]);\n\n    for (var j = 0; j < ascList.length; j++) {\n      var dataItem = ascList[j];\n\n      if (dataItem < low || dataItem > high) {\n        var outlier = [itemName, dataItem];\n        outliers.push(outlier);\n      }\n    }\n  }\n\n  return {\n    boxData: boxData,\n    outliers: outliers\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/prepareBoxplotData.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_whiskerBoxCommon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/whiskerBoxCommon.js */ \"./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar CandlestickSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CandlestickSeriesModel, _super);\n\n  function CandlestickSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CandlestickSeriesModel.type;\n    _this.defaultValueDimensions = [{\n      name: 'open',\n      defaultTooltip: true\n    }, {\n      name: 'close',\n      defaultTooltip: true\n    }, {\n      name: 'lowest',\n      defaultTooltip: true\n    }, {\n      name: 'highest',\n      defaultTooltip: true\n    }];\n    return _this;\n  }\n  /**\n   * Get dimension for shadow in dataZoom\n   * @return dimension name\n   */\n\n\n  CandlestickSeriesModel.prototype.getShadowDim = function () {\n    return 'open';\n  };\n\n  CandlestickSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n    var itemLayout = data.getItemLayout(dataIndex);\n    return itemLayout && selectors.rect(itemLayout.brushRect);\n  };\n\n  CandlestickSeriesModel.type = 'series.candlestick';\n  CandlestickSeriesModel.dependencies = ['xAxis', 'yAxis', 'grid'];\n  CandlestickSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'cartesian2d',\n    legendHoverLink: true,\n    // xAxisIndex: 0,\n    // yAxisIndex: 0,\n    layout: null,\n    clip: true,\n    itemStyle: {\n      color: '#eb5454',\n      color0: '#47b262',\n      borderColor: '#eb5454',\n      borderColor0: '#47b262',\n      // borderColor: '#d24040',\n      // borderColor0: '#398f4f',\n      borderWidth: 1\n    },\n    emphasis: {\n      scale: true,\n      itemStyle: {\n        borderWidth: 2\n      }\n    },\n    barMaxWidth: null,\n    barMinWidth: null,\n    barWidth: null,\n    large: true,\n    largeThreshold: 600,\n    progressive: 3e3,\n    progressiveThreshold: 1e4,\n    progressiveChunkMode: 'mod',\n    animationEasing: 'linear',\n    animationDuration: 300\n  };\n  return CandlestickSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"mixin\"])(CandlestickSeriesModel, _helper_whiskerBoxCommon_js__WEBPACK_IMPORTED_MODULE_2__[\"WhiskerBoxCommonMixin\"], true);\n/* harmony default export */ __webpack_exports__[\"default\"] = (CandlestickSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/candlestick/CandlestickView.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/candlestick/CandlestickView.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/createClipPathFromCoordSys.js */ \"./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar SKIP_PROPS = ['color', 'borderColor'];\n\nvar CandlestickView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CandlestickView, _super);\n\n  function CandlestickView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CandlestickView.type;\n    return _this;\n  }\n\n  CandlestickView.prototype.render = function (seriesModel, ecModel, api) {\n    // If there is clipPath created in large mode. Remove it.\n    this.group.removeClipPath(); // Clear previously rendered progressive elements.\n\n    this._progressiveEls = null;\n\n    this._updateDrawMode(seriesModel);\n\n    this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);\n  };\n\n  CandlestickView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\n    this._clear();\n\n    this._updateDrawMode(seriesModel);\n  };\n\n  CandlestickView.prototype.incrementalRender = function (params, seriesModel, ecModel, api) {\n    this._progressiveEls = [];\n    this._isLargeDraw ? this._incrementalRenderLarge(params, seriesModel) : this._incrementalRenderNormal(params, seriesModel);\n  };\n\n  CandlestickView.prototype.eachRendered = function (cb) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"traverseElements\"](this._progressiveEls || this.group, cb);\n  };\n\n  CandlestickView.prototype._updateDrawMode = function (seriesModel) {\n    var isLargeDraw = seriesModel.pipelineContext.large;\n\n    if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n      this._isLargeDraw = isLargeDraw;\n\n      this._clear();\n    }\n  };\n\n  CandlestickView.prototype._renderNormal = function (seriesModel) {\n    var data = seriesModel.getData();\n    var oldData = this._data;\n    var group = this.group;\n    var isSimpleBox = data.getLayout('isSimpleBox');\n    var needsClip = seriesModel.get('clip', true);\n    var coord = seriesModel.coordinateSystem;\n    var clipArea = coord.getArea && coord.getArea(); // There is no old data only when first rendering or switching from\n    // stream mode to normal mode, where previous elements should be removed.\n\n    if (!this._data) {\n      group.removeAll();\n    }\n\n    data.diff(oldData).add(function (newIdx) {\n      if (data.hasValue(newIdx)) {\n        var itemLayout = data.getItemLayout(newIdx);\n\n        if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n          return;\n        }\n\n        var el = createNormalBox(itemLayout, newIdx, true);\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"initProps\"](el, {\n          shape: {\n            points: itemLayout.ends\n          }\n        }, seriesModel, newIdx);\n        setBoxCommon(el, data, newIdx, isSimpleBox);\n        group.add(el);\n        data.setItemGraphicEl(newIdx, el);\n      }\n    }).update(function (newIdx, oldIdx) {\n      var el = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n      if (!data.hasValue(newIdx)) {\n        group.remove(el);\n        return;\n      }\n\n      var itemLayout = data.getItemLayout(newIdx);\n\n      if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n        group.remove(el);\n        return;\n      }\n\n      if (!el) {\n        el = createNormalBox(itemLayout, newIdx);\n      } else {\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"updateProps\"](el, {\n          shape: {\n            points: itemLayout.ends\n          }\n        }, seriesModel, newIdx);\n        Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_7__[\"saveOldStyle\"])(el);\n      }\n\n      setBoxCommon(el, data, newIdx, isSimpleBox);\n      group.add(el);\n      data.setItemGraphicEl(newIdx, el);\n    }).remove(function (oldIdx) {\n      var el = oldData.getItemGraphicEl(oldIdx);\n      el && group.remove(el);\n    }).execute();\n    this._data = data;\n  };\n\n  CandlestickView.prototype._renderLarge = function (seriesModel) {\n    this._clear();\n\n    createLarge(seriesModel, this.group);\n    var clipPath = seriesModel.get('clip', true) ? Object(_helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_6__[\"createClipPath\"])(seriesModel.coordinateSystem, false, seriesModel) : null;\n\n    if (clipPath) {\n      this.group.setClipPath(clipPath);\n    } else {\n      this.group.removeClipPath();\n    }\n  };\n\n  CandlestickView.prototype._incrementalRenderNormal = function (params, seriesModel) {\n    var data = seriesModel.getData();\n    var isSimpleBox = data.getLayout('isSimpleBox');\n    var dataIndex;\n\n    while ((dataIndex = params.next()) != null) {\n      var itemLayout = data.getItemLayout(dataIndex);\n      var el = createNormalBox(itemLayout, dataIndex);\n      setBoxCommon(el, data, dataIndex, isSimpleBox);\n      el.incremental = true;\n      this.group.add(el);\n\n      this._progressiveEls.push(el);\n    }\n  };\n\n  CandlestickView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n    createLarge(seriesModel, this.group, this._progressiveEls, true);\n  };\n\n  CandlestickView.prototype.remove = function (ecModel) {\n    this._clear();\n  };\n\n  CandlestickView.prototype._clear = function () {\n    this.group.removeAll();\n    this._data = null;\n  };\n\n  CandlestickView.type = 'candlestick';\n  return CandlestickView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nvar NormalBoxPathShape =\n/** @class */\nfunction () {\n  function NormalBoxPathShape() {}\n\n  return NormalBoxPathShape;\n}();\n\nvar NormalBoxPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NormalBoxPath, _super);\n\n  function NormalBoxPath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'normalCandlestickBox';\n    return _this;\n  }\n\n  NormalBoxPath.prototype.getDefaultShape = function () {\n    return new NormalBoxPathShape();\n  };\n\n  NormalBoxPath.prototype.buildPath = function (ctx, shape) {\n    var ends = shape.points;\n\n    if (this.__simpleBox) {\n      ctx.moveTo(ends[4][0], ends[4][1]);\n      ctx.lineTo(ends[6][0], ends[6][1]);\n    } else {\n      ctx.moveTo(ends[0][0], ends[0][1]);\n      ctx.lineTo(ends[1][0], ends[1][1]);\n      ctx.lineTo(ends[2][0], ends[2][1]);\n      ctx.lineTo(ends[3][0], ends[3][1]);\n      ctx.closePath();\n      ctx.moveTo(ends[4][0], ends[4][1]);\n      ctx.lineTo(ends[5][0], ends[5][1]);\n      ctx.moveTo(ends[6][0], ends[6][1]);\n      ctx.lineTo(ends[7][0], ends[7][1]);\n    }\n  };\n\n  return NormalBoxPath;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nfunction createNormalBox(itemLayout, dataIndex, isInit) {\n  var ends = itemLayout.ends;\n  return new NormalBoxPath({\n    shape: {\n      points: isInit ? transInit(ends, itemLayout) : ends\n    },\n    z2: 100\n  });\n}\n\nfunction isNormalBoxClipped(clipArea, itemLayout) {\n  var clipped = true;\n\n  for (var i = 0; i < itemLayout.ends.length; i++) {\n    // If any point are in the region.\n    if (clipArea.contain(itemLayout.ends[i][0], itemLayout.ends[i][1])) {\n      clipped = false;\n      break;\n    }\n  }\n\n  return clipped;\n}\n\nfunction setBoxCommon(el, data, dataIndex, isSimpleBox) {\n  var itemModel = data.getItemModel(dataIndex);\n  el.useStyle(data.getItemVisual(dataIndex, 'style'));\n  el.style.strokeNoScale = true;\n  el.__simpleBox = isSimpleBox;\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setStatesStylesFromModel\"])(el, itemModel);\n}\n\nfunction transInit(points, itemLayout) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](points, function (point) {\n    point = point.slice();\n    point[1] = itemLayout.initBaseline;\n    return point;\n  });\n}\n\nvar LargeBoxPathShape =\n/** @class */\nfunction () {\n  function LargeBoxPathShape() {}\n\n  return LargeBoxPathShape;\n}();\n\nvar LargeBoxPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LargeBoxPath, _super);\n\n  function LargeBoxPath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'largeCandlestickBox';\n    return _this;\n  }\n\n  LargeBoxPath.prototype.getDefaultShape = function () {\n    return new LargeBoxPathShape();\n  };\n\n  LargeBoxPath.prototype.buildPath = function (ctx, shape) {\n    // Drawing lines is more efficient than drawing\n    // a whole line or drawing rects.\n    var points = shape.points;\n\n    for (var i = 0; i < points.length;) {\n      if (this.__sign === points[i++]) {\n        var x = points[i++];\n        ctx.moveTo(x, points[i++]);\n        ctx.lineTo(x, points[i++]);\n      } else {\n        i += 3;\n      }\n    }\n  };\n\n  return LargeBoxPath;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nfunction createLarge(seriesModel, group, progressiveEls, incremental) {\n  var data = seriesModel.getData();\n  var largePoints = data.getLayout('largePoints');\n  var elP = new LargeBoxPath({\n    shape: {\n      points: largePoints\n    },\n    __sign: 1,\n    ignoreCoarsePointer: true\n  });\n  group.add(elP);\n  var elN = new LargeBoxPath({\n    shape: {\n      points: largePoints\n    },\n    __sign: -1,\n    ignoreCoarsePointer: true\n  });\n  group.add(elN);\n  setLargeStyle(1, elP, seriesModel, data);\n  setLargeStyle(-1, elN, seriesModel, data);\n\n  if (incremental) {\n    elP.incremental = true;\n    elN.incremental = true;\n  }\n\n  if (progressiveEls) {\n    progressiveEls.push(elP, elN);\n  }\n}\n\nfunction setLargeStyle(sign, el, seriesModel, data) {\n  // TODO put in visual?\n  var borderColor = seriesModel.get(['itemStyle', sign > 0 ? 'borderColor' : 'borderColor0']) || seriesModel.get(['itemStyle', sign > 0 ? 'color' : 'color0']); // Color must be excluded.\n  // Because symbol provide setColor individually to set fill and stroke\n\n  var itemStyle = seriesModel.getModel('itemStyle').getItemStyle(SKIP_PROPS);\n  el.useStyle(itemStyle);\n  el.style.fill = null;\n  el.style.stroke = borderColor;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CandlestickView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createRenderPlanner.js */ \"./node_modules/echarts/lib/chart/helper/createRenderPlanner.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_vendor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/vendor.js */ \"./node_modules/echarts/lib/util/vendor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar candlestickLayout = {\n  seriesType: 'candlestick',\n  plan: Object(_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n  reset: function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n    var data = seriesModel.getData();\n    var candleWidth = calculateCandleWidth(seriesModel, data);\n    var cDimIdx = 0;\n    var vDimIdx = 1;\n    var coordDims = ['x', 'y'];\n    var cDimI = data.getDimensionIndex(data.mapDimension(coordDims[cDimIdx]));\n    var vDimsI = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(data.mapDimensionsAll(coordDims[vDimIdx]), data.getDimensionIndex, data);\n    var openDimI = vDimsI[0];\n    var closeDimI = vDimsI[1];\n    var lowestDimI = vDimsI[2];\n    var highestDimI = vDimsI[3];\n    data.setLayout({\n      candleWidth: candleWidth,\n      // The value is experimented visually.\n      isSimpleBox: candleWidth <= 1.3\n    });\n\n    if (cDimI < 0 || vDimsI.length < 4) {\n      return;\n    }\n\n    return {\n      progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress\n    };\n\n    function normalProgress(params, data) {\n      var dataIndex;\n      var store = data.getStore();\n\n      while ((dataIndex = params.next()) != null) {\n        var axisDimVal = store.get(cDimI, dataIndex);\n        var openVal = store.get(openDimI, dataIndex);\n        var closeVal = store.get(closeDimI, dataIndex);\n        var lowestVal = store.get(lowestDimI, dataIndex);\n        var highestVal = store.get(highestDimI, dataIndex);\n        var ocLow = Math.min(openVal, closeVal);\n        var ocHigh = Math.max(openVal, closeVal);\n        var ocLowPoint = getPoint(ocLow, axisDimVal);\n        var ocHighPoint = getPoint(ocHigh, axisDimVal);\n        var lowestPoint = getPoint(lowestVal, axisDimVal);\n        var highestPoint = getPoint(highestVal, axisDimVal);\n        var ends = [];\n        addBodyEnd(ends, ocHighPoint, 0);\n        addBodyEnd(ends, ocLowPoint, 1);\n        ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));\n        data.setItemLayout(dataIndex, {\n          sign: getSign(store, dataIndex, openVal, closeVal, closeDimI),\n          initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\n          ends: ends,\n          brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)\n        });\n      }\n\n      function getPoint(val, axisDimVal) {\n        var p = [];\n        p[cDimIdx] = axisDimVal;\n        p[vDimIdx] = val;\n        return isNaN(axisDimVal) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p);\n      }\n\n      function addBodyEnd(ends, point, start) {\n        var point1 = point.slice();\n        var point2 = point.slice();\n        point1[cDimIdx] = Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"subPixelOptimize\"])(point1[cDimIdx] + candleWidth / 2, 1, false);\n        point2[cDimIdx] = Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"subPixelOptimize\"])(point2[cDimIdx] - candleWidth / 2, 1, true);\n        start ? ends.push(point1, point2) : ends.push(point2, point1);\n      }\n\n      function makeBrushRect(lowestVal, highestVal, axisDimVal) {\n        var pmin = getPoint(lowestVal, axisDimVal);\n        var pmax = getPoint(highestVal, axisDimVal);\n        pmin[cDimIdx] -= candleWidth / 2;\n        pmax[cDimIdx] -= candleWidth / 2;\n        return {\n          x: pmin[0],\n          y: pmin[1],\n          width: vDimIdx ? candleWidth : pmax[0] - pmin[0],\n          height: vDimIdx ? pmax[1] - pmin[1] : candleWidth\n        };\n      }\n\n      function subPixelOptimizePoint(point) {\n        point[cDimIdx] = Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"subPixelOptimize\"])(point[cDimIdx], 1);\n        return point;\n      }\n    }\n\n    function largeProgress(params, data) {\n      // Structure: [sign, x, yhigh, ylow, sign, x, yhigh, ylow, ...]\n      var points = Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_4__[\"createFloat32Array\"])(params.count * 4);\n      var offset = 0;\n      var point;\n      var tmpIn = [];\n      var tmpOut = [];\n      var dataIndex;\n      var store = data.getStore();\n\n      while ((dataIndex = params.next()) != null) {\n        var axisDimVal = store.get(cDimI, dataIndex);\n        var openVal = store.get(openDimI, dataIndex);\n        var closeVal = store.get(closeDimI, dataIndex);\n        var lowestVal = store.get(lowestDimI, dataIndex);\n        var highestVal = store.get(highestDimI, dataIndex);\n\n        if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {\n          points[offset++] = NaN;\n          offset += 3;\n          continue;\n        }\n\n        points[offset++] = getSign(store, dataIndex, openVal, closeVal, closeDimI);\n        tmpIn[cDimIdx] = axisDimVal;\n        tmpIn[vDimIdx] = lowestVal;\n        point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n        points[offset++] = point ? point[0] : NaN;\n        points[offset++] = point ? point[1] : NaN;\n        tmpIn[vDimIdx] = highestVal;\n        point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n        points[offset++] = point ? point[1] : NaN;\n      }\n\n      data.setLayout('largePoints', points);\n    }\n  }\n};\n\nfunction getSign(store, dataIndex, openVal, closeVal, closeDimI) {\n  var sign;\n\n  if (openVal > closeVal) {\n    sign = -1;\n  } else if (openVal < closeVal) {\n    sign = 1;\n  } else {\n    sign = dataIndex > 0 // If close === open, compare with close of last record\n    ? store.get(closeDimI, dataIndex - 1) <= closeVal ? 1 : -1 : // No record of previous, set to be positive\n    1;\n  }\n\n  return sign;\n}\n\nfunction calculateCandleWidth(seriesModel, data) {\n  var baseAxis = seriesModel.getBaseAxis();\n  var extent;\n  var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : (extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / data.count());\n  var barMaxWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(seriesModel.get('barMaxWidth'), bandWidth), bandWidth);\n  var barMinWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(seriesModel.get('barMinWidth'), 1), bandWidth);\n  var barWidth = seriesModel.get('barWidth');\n  return barWidth != null ? Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(barWidth, bandWidth) // Put max outer to ensure bar visible in spite of overlap.\n  : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (candlestickLayout);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helper/createRenderPlanner.js */ \"./node_modules/echarts/lib/chart/helper/createRenderPlanner.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar positiveBorderColorQuery = ['itemStyle', 'borderColor'];\nvar negativeBorderColorQuery = ['itemStyle', 'borderColor0'];\nvar positiveColorQuery = ['itemStyle', 'color'];\nvar negativeColorQuery = ['itemStyle', 'color0'];\nvar candlestickVisual = {\n  seriesType: 'candlestick',\n  plan: Object(_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n  // For legend.\n  performRawSeries: true,\n  reset: function (seriesModel, ecModel) {\n    function getColor(sign, model) {\n      return model.get(sign > 0 ? positiveColorQuery : negativeColorQuery);\n    }\n\n    function getBorderColor(sign, model) {\n      return model.get(sign > 0 ? positiveBorderColorQuery : negativeBorderColorQuery);\n    } // Only visible series has each data be visual encoded\n\n\n    if (ecModel.isSeriesFiltered(seriesModel)) {\n      return;\n    }\n\n    var isLargeRender = seriesModel.pipelineContext.large;\n    return !isLargeRender && {\n      progress: function (params, data) {\n        var dataIndex;\n\n        while ((dataIndex = params.next()) != null) {\n          var itemModel = data.getItemModel(dataIndex);\n          var sign = data.getItemLayout(dataIndex).sign;\n          var style = itemModel.getItemStyle();\n          style.fill = getColor(sign, itemModel);\n          style.stroke = getBorderColor(sign, itemModel) || style.fill;\n          var existsStyle = data.ensureUniqueItemVisual(dataIndex, 'style');\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(existsStyle, style);\n        }\n      }\n    };\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (candlestickVisual);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/candlestick/install.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/candlestick/install.js ***!
  \***************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _CandlestickView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CandlestickView.js */ \"./node_modules/echarts/lib/chart/candlestick/CandlestickView.js\");\n/* harmony import */ var _CandlestickSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CandlestickSeries.js */ \"./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js\");\n/* harmony import */ var _preprocessor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./preprocessor.js */ \"./node_modules/echarts/lib/chart/candlestick/preprocessor.js\");\n/* harmony import */ var _candlestickVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./candlestickVisual.js */ \"./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js\");\n/* harmony import */ var _candlestickLayout_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./candlestickLayout.js */ \"./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_CandlestickView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_CandlestickSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerPreprocessor(_preprocessor_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerVisual(_candlestickVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerLayout(_candlestickLayout_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/candlestick/preprocessor.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/candlestick/preprocessor.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return candlestickPreprocessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction candlestickPreprocessor(option) {\n  if (!option || !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](option.series)) {\n    return;\n  } // Translate 'k' to 'candlestick'.\n\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](option.series, function (seriesItem) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](seriesItem) && seriesItem.type === 'k') {\n      seriesItem.type = 'candlestick';\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/preprocessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/custom/CustomSeries.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/custom/CustomSeries.js ***!
  \***************************************************************/
/*! exports provided: STYLE_VISUAL_TYPE, NON_STYLE_VISUAL_PROPS, customInnerStore, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"STYLE_VISUAL_TYPE\", function() { return STYLE_VISUAL_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NON_STYLE_VISUAL_PROPS\", function() { return NON_STYLE_VISUAL_PROPS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"customInnerStore\", function() { return customInnerStore; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n // Also compat with ec4, where\n// `visual('color') visual('borderColor')` is supported.\n\nvar STYLE_VISUAL_TYPE = {\n  color: 'fill',\n  borderColor: 'stroke'\n};\nvar NON_STYLE_VISUAL_PROPS = {\n  symbol: 1,\n  symbolSize: 1,\n  symbolKeepAspect: 1,\n  legendIcon: 1,\n  visualMeta: 1,\n  liftZ: 1,\n  decal: 1\n};\n;\nvar customInnerStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"makeInner\"])();\n\nvar CustomSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CustomSeriesModel, _super);\n\n  function CustomSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CustomSeriesModel.type;\n    return _this;\n  }\n\n  CustomSeriesModel.prototype.optionUpdated = function () {\n    this.currentZLevel = this.get('zlevel', true);\n    this.currentZ = this.get('z', true);\n  };\n\n  CustomSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(null, this);\n  };\n\n  CustomSeriesModel.prototype.getDataParams = function (dataIndex, dataType, el) {\n    var params = _super.prototype.getDataParams.call(this, dataIndex, dataType);\n\n    el && (params.info = customInnerStore(el).info);\n    return params;\n  };\n\n  CustomSeriesModel.type = 'series.custom';\n  CustomSeriesModel.dependencies = ['grid', 'polar', 'geo', 'singleAxis', 'calendar'];\n  CustomSeriesModel.defaultOption = {\n    coordinateSystem: 'cartesian2d',\n    // zlevel: 0,\n    z: 2,\n    legendHoverLink: true,\n    // Custom series will not clip by default.\n    // Some case will use custom series to draw label\n    // For example https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight\n    clip: false // Cartesian coordinate system\n    // xAxisIndex: 0,\n    // yAxisIndex: 0,\n    // Polar coordinate system\n    // polarIndex: 0,\n    // Geo coordinate system\n    // geoIndex: 0,\n\n  };\n  return CustomSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/custom/CustomSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/custom/CustomView.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/custom/CustomView.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helper/labelHelper.js */ \"./node_modules/echarts/lib/chart/helper/labelHelper.js\");\n/* harmony import */ var _layout_barGrid_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../layout/barGrid.js */ \"./node_modules/echarts/lib/layout/barGrid.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helper/createClipPathFromCoordSys.js */ \"./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js\");\n/* harmony import */ var _coord_cartesian_prepareCustom_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../coord/cartesian/prepareCustom.js */ \"./node_modules/echarts/lib/coord/cartesian/prepareCustom.js\");\n/* harmony import */ var _coord_geo_prepareCustom_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../coord/geo/prepareCustom.js */ \"./node_modules/echarts/lib/coord/geo/prepareCustom.js\");\n/* harmony import */ var _coord_single_prepareCustom_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../coord/single/prepareCustom.js */ \"./node_modules/echarts/lib/coord/single/prepareCustom.js\");\n/* harmony import */ var _coord_polar_prepareCustom_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../coord/polar/prepareCustom.js */ \"./node_modules/echarts/lib/coord/polar/prepareCustom.js\");\n/* harmony import */ var _coord_calendar_prepareCustom_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../coord/calendar/prepareCustom.js */ \"./node_modules/echarts/lib/coord/calendar/prepareCustom.js\");\n/* harmony import */ var zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! zrender/lib/graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/styleCompat.js */ \"./node_modules/echarts/lib/util/styleCompat.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _util_decal_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../util/decal.js */ \"./node_modules/echarts/lib/util/decal.js\");\n/* harmony import */ var _CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./CustomSeries.js */ \"./node_modules/echarts/lib/chart/custom/CustomSeries.js\");\n/* harmony import */ var _animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../animation/customGraphicTransition.js */ \"./node_modules/echarts/lib/animation/customGraphicTransition.js\");\n/* harmony import */ var _animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../animation/customGraphicKeyframeAnimation.js */ \"./node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar EMPHASIS = 'emphasis';\nvar NORMAL = 'normal';\nvar BLUR = 'blur';\nvar SELECT = 'select';\nvar STATES = [NORMAL, EMPHASIS, BLUR, SELECT];\nvar PATH_ITEM_STYLE = {\n  normal: ['itemStyle'],\n  emphasis: [EMPHASIS, 'itemStyle'],\n  blur: [BLUR, 'itemStyle'],\n  select: [SELECT, 'itemStyle']\n};\nvar PATH_LABEL = {\n  normal: ['label'],\n  emphasis: [EMPHASIS, 'label'],\n  blur: [BLUR, 'label'],\n  select: [SELECT, 'label']\n};\nvar DEFAULT_TRANSITION = ['x', 'y']; // Use prefix to avoid index to be the same as el.name,\n// which will cause weird update animation.\n\nvar GROUP_DIFF_PREFIX = 'e\\0\\0';\nvar attachedTxInfoTmp = {\n  normal: {},\n  emphasis: {},\n  blur: {},\n  select: {}\n};\n/**\n * To reduce total package size of each coordinate systems, the modules `prepareCustom`\n * of each coordinate systems are not required by each coordinate systems directly, but\n * required by the module `custom`.\n *\n * prepareInfoForCustomSeries {Function}: optional\n *     @return {Object} {coordSys: {...}, api: {\n *         coord: function (data, clamp) {}, // return point in global.\n *         size: function (dataSize, dataItem) {} // return size of each axis in coordSys.\n *     }}\n */\n\nvar prepareCustoms = {\n  cartesian2d: _coord_cartesian_prepareCustom_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n  geo: _coord_geo_prepareCustom_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n  single: _coord_single_prepareCustom_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n  polar: _coord_polar_prepareCustom_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n  calendar: _coord_calendar_prepareCustom_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n};\n\nfunction isPath(el) {\n  return el instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Path\"];\n}\n\nfunction isDisplayable(el) {\n  return el instanceof zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n}\n\nfunction copyElement(sourceEl, targetEl) {\n  targetEl.copyTransform(sourceEl);\n\n  if (isDisplayable(targetEl) && isDisplayable(sourceEl)) {\n    targetEl.setStyle(sourceEl.style);\n    targetEl.z = sourceEl.z;\n    targetEl.z2 = sourceEl.z2;\n    targetEl.zlevel = sourceEl.zlevel;\n    targetEl.invisible = sourceEl.invisible;\n    targetEl.ignore = sourceEl.ignore;\n\n    if (isPath(targetEl) && isPath(sourceEl)) {\n      targetEl.setShape(sourceEl.shape);\n    }\n  }\n}\n\nvar CustomChartView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CustomChartView, _super);\n\n  function CustomChartView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CustomChartView.type;\n    return _this;\n  }\n\n  CustomChartView.prototype.render = function (customSeries, ecModel, api, payload) {\n    // Clear previously rendered progressive elements.\n    this._progressiveEls = null;\n    var oldData = this._data;\n    var data = customSeries.getData();\n    var group = this.group;\n    var renderItem = makeRenderItem(customSeries, data, ecModel, api);\n\n    if (!oldData) {\n      // Previous render is incremental render or first render.\n      // Needs remove the incremental rendered elements.\n      group.removeAll();\n    }\n\n    data.diff(oldData).add(function (newIdx) {\n      createOrUpdateItem(api, null, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n    }).remove(function (oldIdx) {\n      var el = oldData.getItemGraphicEl(oldIdx);\n      el && Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_20__[\"applyLeaveTransition\"])(el, Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(el).option, customSeries);\n    }).update(function (newIdx, oldIdx) {\n      var oldEl = oldData.getItemGraphicEl(oldIdx);\n      createOrUpdateItem(api, oldEl, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n    }).execute(); // Do clipping\n\n    var clipPath = customSeries.get('clip', true) ? Object(_helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_9__[\"createClipPath\"])(customSeries.coordinateSystem, false, customSeries) : null;\n\n    if (clipPath) {\n      group.setClipPath(clipPath);\n    } else {\n      group.removeClipPath();\n    }\n\n    this._data = data;\n  };\n\n  CustomChartView.prototype.incrementalPrepareRender = function (customSeries, ecModel, api) {\n    this.group.removeAll();\n    this._data = null;\n  };\n\n  CustomChartView.prototype.incrementalRender = function (params, customSeries, ecModel, api, payload) {\n    var data = customSeries.getData();\n    var renderItem = makeRenderItem(customSeries, data, ecModel, api);\n    var progressiveEls = this._progressiveEls = [];\n\n    function setIncrementalAndHoverLayer(el) {\n      if (!el.isGroup) {\n        el.incremental = true;\n        el.ensureState('emphasis').hoverLayer = true;\n      }\n    }\n\n    for (var idx = params.start; idx < params.end; idx++) {\n      var el = createOrUpdateItem(null, null, idx, renderItem(idx, payload), customSeries, this.group, data);\n\n      if (el) {\n        el.traverse(setIncrementalAndHoverLayer);\n        progressiveEls.push(el);\n      }\n    }\n  };\n\n  CustomChartView.prototype.eachRendered = function (cb) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"traverseElements\"](this._progressiveEls || this.group, cb);\n  };\n\n  CustomChartView.prototype.filterForExposedEvent = function (eventType, query, targetEl, packedEvent) {\n    var elementName = query.element;\n\n    if (elementName == null || targetEl.name === elementName) {\n      return true;\n    } // Enable to give a name on a group made by `renderItem`, and listen\n    // events that triggerd by its descendents.\n\n\n    while ((targetEl = targetEl.__hostTarget || targetEl.parent) && targetEl !== this.group) {\n      if (targetEl.name === elementName) {\n        return true;\n      }\n    }\n\n    return false;\n  };\n\n  CustomChartView.type = 'custom';\n  return CustomChartView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomChartView);\n\nfunction createEl(elOption) {\n  var graphicType = elOption.type;\n  var el; // Those graphic elements are not shapes. They should not be\n  // overwritten by users, so do them first.\n\n  if (graphicType === 'path') {\n    var shape = elOption.shape; // Using pathRect brings convenience to users sacle svg path.\n\n    var pathRect = shape.width != null && shape.height != null ? {\n      x: shape.x || 0,\n      y: shape.y || 0,\n      width: shape.width,\n      height: shape.height\n    } : null;\n    var pathData = getPathData(shape); // Path is also used for icon, so layout 'center' by default.\n\n    el = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"makePath\"](pathData, null, pathRect, shape.layout || 'center');\n    Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(el).customPathData = pathData;\n  } else if (graphicType === 'image') {\n    el = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Image\"]({});\n    Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(el).customImagePath = elOption.style.image;\n  } else if (graphicType === 'text') {\n    el = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({}); // customInnerStore(el).customText = (elOption.style as TextStyleProps).text;\n  } else if (graphicType === 'group') {\n    el = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n  } else if (graphicType === 'compoundPath') {\n    throw new Error('\"compoundPath\" is not supported yet.');\n  } else {\n    var Clz = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"getShapeClass\"](graphicType);\n\n    if (!Clz) {\n      var errMsg = '';\n\n      if (true) {\n        errMsg = 'graphic type \"' + graphicType + '\" can not be found.';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_17__[\"throwError\"])(errMsg);\n    }\n\n    el = new Clz();\n  }\n\n  Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(el).customGraphicType = graphicType;\n  el.name = elOption.name; // Compat ec4: the default z2 lift is 1. If changing the number,\n  // some cases probably be broken: hierarchy layout along z, like circle packing,\n  // where emphasis only intending to modify color/border rather than lift z2.\n\n  el.z2EmphasisLift = 1;\n  el.z2SelectLift = 1;\n  return el;\n}\n\nfunction updateElNormal( // Can be null/undefined\napi, el, dataIndex, elOption, attachedTxInfo, seriesModel, isInit) {\n  // Stop and restore before update any other attributes.\n  Object(_animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_21__[\"stopPreviousKeyframeAnimationAndRestore\"])(el);\n  var txCfgOpt = attachedTxInfo && attachedTxInfo.normal.cfg;\n\n  if (txCfgOpt) {\n    // PENDING: whether use user object directly rather than clone?\n    // TODO:5.0 textConfig transition animation?\n    el.setTextConfig(txCfgOpt);\n  } // Default transition ['x', 'y']\n\n\n  if (elOption && elOption.transition == null) {\n    elOption.transition = DEFAULT_TRANSITION;\n  } // Do some normalization on style.\n\n\n  var styleOpt = elOption && elOption.style;\n\n  if (styleOpt) {\n    if (el.type === 'text') {\n      var textOptionStyle = styleOpt; // Compatible with ec4: if `textFill` or `textStroke` exists use them.\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(textOptionStyle, 'textFill') && (textOptionStyle.fill = textOptionStyle.textFill);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(textOptionStyle, 'textStroke') && (textOptionStyle.stroke = textOptionStyle.textStroke);\n    }\n\n    var decalPattern = void 0;\n    var decalObj = isPath(el) ? styleOpt.decal : null;\n\n    if (api && decalObj) {\n      decalObj.dirty = true;\n      decalPattern = Object(_util_decal_js__WEBPACK_IMPORTED_MODULE_18__[\"createOrUpdatePatternFromDecal\"])(decalObj, api);\n    } // Always overwrite in case user specify this prop.\n\n\n    styleOpt.__decalPattern = decalPattern;\n  }\n\n  if (isDisplayable(el)) {\n    if (styleOpt) {\n      var decalPattern = styleOpt.__decalPattern;\n\n      if (decalPattern) {\n        styleOpt.decal = decalPattern;\n      }\n    }\n  }\n\n  Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_20__[\"applyUpdateTransition\"])(el, elOption, seriesModel, {\n    dataIndex: dataIndex,\n    isInit: isInit,\n    clearStyle: true\n  });\n  Object(_animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_21__[\"applyKeyframeAnimation\"])(el, elOption.keyframeAnimation, seriesModel);\n}\n\nfunction updateElOnState(state, el, elStateOpt, styleOpt, attachedTxInfo) {\n  var elDisplayable = el.isGroup ? null : el;\n  var txCfgOpt = attachedTxInfo && attachedTxInfo[state].cfg; // PENDING:5.0 support customize scale change and transition animation?\n\n  if (elDisplayable) {\n    // By default support auto lift color when hover whether `emphasis` specified.\n    var stateObj = elDisplayable.ensureState(state);\n\n    if (styleOpt === false) {\n      var existingEmphasisState = elDisplayable.getState(state);\n\n      if (existingEmphasisState) {\n        existingEmphasisState.style = null;\n      }\n    } else {\n      // style is needed to enable defaut emphasis.\n      stateObj.style = styleOpt || null;\n    } // If `elOption.styleEmphasis` or `elOption.emphasis.style` is `false`,\n    // remove hover style.\n    // If `elOption.textConfig` or `elOption.emphasis.textConfig` is null/undefined, it does not\n    // make sense. So for simplicity, we do not ditinguish `hasOwnProperty` and null/undefined.\n\n\n    if (txCfgOpt) {\n      stateObj.textConfig = txCfgOpt;\n    }\n\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"setDefaultStateProxy\"])(elDisplayable);\n  }\n}\n\nfunction updateZ(el, elOption, seriesModel) {\n  // Group not support textContent and not support z yet.\n  if (el.isGroup) {\n    return;\n  }\n\n  var elDisplayable = el;\n  var currentZ = seriesModel.currentZ;\n  var currentZLevel = seriesModel.currentZLevel; // Always erase.\n\n  elDisplayable.z = currentZ;\n  elDisplayable.zlevel = currentZLevel; // z2 must not be null/undefined, otherwise sort error may occur.\n\n  var optZ2 = elOption.z2;\n  optZ2 != null && (elDisplayable.z2 = optZ2 || 0);\n\n  for (var i = 0; i < STATES.length; i++) {\n    updateZForEachState(elDisplayable, elOption, STATES[i]);\n  }\n}\n\nfunction updateZForEachState(elDisplayable, elOption, state) {\n  var isNormal = state === NORMAL;\n  var elStateOpt = isNormal ? elOption : retrieveStateOption(elOption, state);\n  var optZ2 = elStateOpt ? elStateOpt.z2 : null;\n  var stateObj;\n\n  if (optZ2 != null) {\n    // Do not `ensureState` until required.\n    stateObj = isNormal ? elDisplayable : elDisplayable.ensureState(state);\n    stateObj.z2 = optZ2 || 0;\n  }\n}\n\nfunction makeRenderItem(customSeries, data, ecModel, api) {\n  var renderItem = customSeries.get('renderItem');\n  var coordSys = customSeries.coordinateSystem;\n  var prepareResult = {};\n\n  if (coordSys) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(renderItem, 'series.render is required.');\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(coordSys.prepareCustoms || prepareCustoms[coordSys.type], 'This coordSys does not support custom series.');\n    } // `coordSys.prepareCustoms` is used for external coord sys like bmap.\n\n\n    prepareResult = coordSys.prepareCustoms ? coordSys.prepareCustoms(coordSys) : prepareCustoms[coordSys.type](coordSys);\n  }\n\n  var userAPI = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"])({\n    getWidth: api.getWidth,\n    getHeight: api.getHeight,\n    getZr: api.getZr,\n    getDevicePixelRatio: api.getDevicePixelRatio,\n    value: value,\n    style: style,\n    ordinalRawValue: ordinalRawValue,\n    styleEmphasis: styleEmphasis,\n    visual: visual,\n    barLayout: barLayout,\n    currentSeriesIndices: currentSeriesIndices,\n    font: font\n  }, prepareResult.api || {});\n  var userParams = {\n    // The life cycle of context: current round of rendering.\n    // The global life cycle is probably not necessary, because\n    // user can store global status by themselves.\n    context: {},\n    seriesId: customSeries.id,\n    seriesName: customSeries.name,\n    seriesIndex: customSeries.seriesIndex,\n    coordSys: prepareResult.coordSys,\n    dataInsideLength: data.count(),\n    encode: wrapEncodeDef(customSeries.getData())\n  }; // If someday intending to refactor them to a class, should consider do not\n  // break change: currently these attribute member are encapsulated in a closure\n  // so that do not need to force user to call these method with a scope.\n  // Do not support call `api` asynchronously without dataIndexInside input.\n\n  var currDataIndexInside;\n  var currItemModel;\n  var currItemStyleModels = {};\n  var currLabelModels = {};\n  var seriesItemStyleModels = {};\n  var seriesLabelModels = {};\n\n  for (var i = 0; i < STATES.length; i++) {\n    var stateName = STATES[i];\n    seriesItemStyleModels[stateName] = customSeries.getModel(PATH_ITEM_STYLE[stateName]);\n    seriesLabelModels[stateName] = customSeries.getModel(PATH_LABEL[stateName]);\n  }\n\n  function getItemModel(dataIndexInside) {\n    return dataIndexInside === currDataIndexInside ? currItemModel || (currItemModel = data.getItemModel(dataIndexInside)) : data.getItemModel(dataIndexInside);\n  }\n\n  function getItemStyleModel(dataIndexInside, state) {\n    return !data.hasItemOption ? seriesItemStyleModels[state] : dataIndexInside === currDataIndexInside ? currItemStyleModels[state] || (currItemStyleModels[state] = getItemModel(dataIndexInside).getModel(PATH_ITEM_STYLE[state])) : getItemModel(dataIndexInside).getModel(PATH_ITEM_STYLE[state]);\n  }\n\n  function getLabelModel(dataIndexInside, state) {\n    return !data.hasItemOption ? seriesLabelModels[state] : dataIndexInside === currDataIndexInside ? currLabelModels[state] || (currLabelModels[state] = getItemModel(dataIndexInside).getModel(PATH_LABEL[state])) : getItemModel(dataIndexInside).getModel(PATH_LABEL[state]);\n  }\n\n  return function (dataIndexInside, payload) {\n    currDataIndexInside = dataIndexInside;\n    currItemModel = null;\n    currItemStyleModels = {};\n    currLabelModels = {};\n    return renderItem && renderItem(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"])({\n      dataIndexInside: dataIndexInside,\n      dataIndex: data.getRawIndex(dataIndexInside),\n      // Can be used for optimization when zoom or roam.\n      actionType: payload ? payload.type : null\n    }, userParams), userAPI);\n  };\n  /**\n   * @public\n   * @param dim by default 0.\n   * @param dataIndexInside by default `currDataIndexInside`.\n   */\n\n  function value(dim, dataIndexInside) {\n    dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n    return data.getStore().get(data.getDimensionIndex(dim || 0), dataIndexInside);\n  }\n  /**\n   * @public\n   * @param dim by default 0.\n   * @param dataIndexInside by default `currDataIndexInside`.\n   */\n\n\n  function ordinalRawValue(dim, dataIndexInside) {\n    dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n    dim = dim || 0;\n    var dimInfo = data.getDimensionInfo(dim);\n\n    if (!dimInfo) {\n      var dimIndex = data.getDimensionIndex(dim);\n      return dimIndex >= 0 ? data.getStore().get(dimIndex, dataIndexInside) : undefined;\n    }\n\n    var val = data.get(dimInfo.name, dataIndexInside);\n    var ordinalMeta = dimInfo && dimInfo.ordinalMeta;\n    return ordinalMeta ? ordinalMeta.categories[val] : val;\n  }\n  /**\n   * @deprecated The orgininal intention of `api.style` is enable to set itemStyle\n   * like other series. But it not necessary and not easy to give a strict definition\n   * of what it return. And since echarts5 it needs to be make compat work. So\n   * deprecates it since echarts5.\n   *\n   * By default, `visual` is applied to style (to support visualMap).\n   * `visual.color` is applied at `fill`. If user want apply visual.color on `stroke`,\n   * it can be implemented as:\n   * `api.style({stroke: api.visual('color'), fill: null})`;\n   *\n   * [Compat]: since ec5, RectText has been separated from its hosts el.\n   * so `api.style()` will only return the style from `itemStyle` but not handle `label`\n   * any more. But `series.label` config is never published in doc.\n   * We still compat it in `api.style()`. But not encourage to use it and will still not\n   * to pulish it to doc.\n   * @public\n   * @param dataIndexInside by default `currDataIndexInside`.\n   */\n\n\n  function style(userProps, dataIndexInside) {\n    if (true) {\n      Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__[\"warnDeprecated\"])('api.style', 'Please write literal style directly instead.');\n    }\n\n    dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n    var style = data.getItemVisual(dataIndexInside, 'style');\n    var visualColor = style && style.fill;\n    var opacity = style && style.opacity;\n    var itemStyle = getItemStyleModel(dataIndexInside, NORMAL).getItemStyle();\n    visualColor != null && (itemStyle.fill = visualColor);\n    opacity != null && (itemStyle.opacity = opacity);\n    var opt = {\n      inheritColor: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(visualColor) ? visualColor : '#000'\n    };\n    var labelModel = getLabelModel(dataIndexInside, NORMAL); // Now that the feture of \"auto adjust text fill/stroke\" has been migrated to zrender\n    // since ec5, we should set `isAttached` as `false` here and make compat in\n    // `convertToEC4StyleForCustomSerise`.\n\n    var textStyle = _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"](labelModel, null, opt, false, true);\n    textStyle.text = labelModel.getShallow('show') ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(customSeries.getFormattedLabel(dataIndexInside, NORMAL), Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"getDefaultLabel\"])(data, dataIndexInside)) : null;\n    var textConfig = _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextConfig\"](labelModel, opt, false);\n    preFetchFromExtra(userProps, itemStyle);\n    itemStyle = Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__[\"convertToEC4StyleForCustomSerise\"])(itemStyle, textStyle, textConfig);\n    userProps && applyUserPropsAfter(itemStyle, userProps);\n    itemStyle.legacy = true;\n    return itemStyle;\n  }\n  /**\n   * @deprecated The reason see `api.style()`\n   * @public\n   * @param dataIndexInside by default `currDataIndexInside`.\n   */\n\n\n  function styleEmphasis(userProps, dataIndexInside) {\n    if (true) {\n      Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__[\"warnDeprecated\"])('api.styleEmphasis', 'Please write literal style directly instead.');\n    }\n\n    dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n    var itemStyle = getItemStyleModel(dataIndexInside, EMPHASIS).getItemStyle();\n    var labelModel = getLabelModel(dataIndexInside, EMPHASIS);\n    var textStyle = _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"](labelModel, null, null, true, true);\n    textStyle.text = labelModel.getShallow('show') ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve3\"])(customSeries.getFormattedLabel(dataIndexInside, EMPHASIS), customSeries.getFormattedLabel(dataIndexInside, NORMAL), Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"getDefaultLabel\"])(data, dataIndexInside)) : null;\n    var textConfig = _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextConfig\"](labelModel, null, true);\n    preFetchFromExtra(userProps, itemStyle);\n    itemStyle = Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__[\"convertToEC4StyleForCustomSerise\"])(itemStyle, textStyle, textConfig);\n    userProps && applyUserPropsAfter(itemStyle, userProps);\n    itemStyle.legacy = true;\n    return itemStyle;\n  }\n\n  function applyUserPropsAfter(itemStyle, extra) {\n    for (var key in extra) {\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(extra, key)) {\n        itemStyle[key] = extra[key];\n      }\n    }\n  }\n\n  function preFetchFromExtra(extra, itemStyle) {\n    // A trick to retrieve those props firstly, which are used to\n    // apply auto inside fill/stroke in `convertToEC4StyleForCustomSerise`.\n    // (It's not reasonable but only for a degree of compat)\n    if (extra) {\n      extra.textFill && (itemStyle.textFill = extra.textFill);\n      extra.textPosition && (itemStyle.textPosition = extra.textPosition);\n    }\n  }\n  /**\n   * @public\n   * @param dataIndexInside by default `currDataIndexInside`.\n   */\n\n\n  function visual(visualType, dataIndexInside) {\n    dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"STYLE_VISUAL_TYPE\"], visualType)) {\n      var style_1 = data.getItemVisual(dataIndexInside, 'style');\n      return style_1 ? style_1[_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"STYLE_VISUAL_TYPE\"][visualType]] : null;\n    } // Only support these visuals. Other visual might be inner tricky\n    // for performance (like `style`), do not expose to users.\n\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"NON_STYLE_VISUAL_PROPS\"], visualType)) {\n      return data.getItemVisual(dataIndexInside, visualType);\n    }\n  }\n  /**\n   * @public\n   * @return If not support, return undefined.\n   */\n\n\n  function barLayout(opt) {\n    if (coordSys.type === 'cartesian2d') {\n      var baseAxis = coordSys.getBaseAxis();\n      return Object(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_6__[\"getLayoutOnAxis\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"])({\n        axis: baseAxis\n      }, opt));\n    }\n  }\n  /**\n   * @public\n   */\n\n\n  function currentSeriesIndices() {\n    return ecModel.getCurrentSeriesIndices();\n  }\n  /**\n   * @public\n   * @return font string\n   */\n\n\n  function font(opt) {\n    return _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"getFont\"](opt, ecModel);\n  }\n}\n\nfunction wrapEncodeDef(data) {\n  var encodeDef = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(data.dimensions, function (dimName) {\n    var dimInfo = data.getDimensionInfo(dimName);\n\n    if (!dimInfo.isExtraCoord) {\n      var coordDim = dimInfo.coordDim;\n      var dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];\n      dataDims[dimInfo.coordDimIndex] = data.getDimensionIndex(dimName);\n    }\n  });\n  return encodeDef;\n}\n\nfunction createOrUpdateItem(api, existsEl, dataIndex, elOption, seriesModel, group, data) {\n  // [Rule]\n  // If `renderItem` returns `null`/`undefined`/`false`, remove the previous el if existing.\n  //     (It seems that violate the \"merge\" principle, but most of users probably intuitively\n  //     regard \"return;\" as \"show nothing element whatever\", so make a exception to meet the\n  //     most cases.)\n  // The rule or \"merge\" see [STRATEGY_MERGE].\n  // If `elOption` is `null`/`undefined`/`false` (when `renderItem` returns nothing).\n  if (!elOption) {\n    group.remove(existsEl);\n    return;\n  }\n\n  var el = doCreateOrUpdateEl(api, existsEl, dataIndex, elOption, seriesModel, group);\n  el && data.setItemGraphicEl(dataIndex, el);\n  el && Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(el, elOption.focus, elOption.blurScope, elOption.emphasisDisabled);\n  return el;\n}\n\nfunction doCreateOrUpdateEl(api, existsEl, dataIndex, elOption, seriesModel, group) {\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(elOption, 'should not have an null/undefined element setting');\n  }\n\n  var toBeReplacedIdx = -1;\n  var oldEl = existsEl;\n\n  if (existsEl && doesElNeedRecreate(existsEl, elOption, seriesModel) // || (\n  //     // PENDING: even in one-to-one mapping case, if el is marked as morph,\n  //     // do not sure whether the el will be mapped to another el with different\n  //     // hierarchy in Group tree. So always recreate el rather than reuse the el.\n  //     morphHelper && morphHelper.isOneToOneFrom(el)\n  // )\n  ) {\n    // Should keep at the original index, otherwise \"merge by index\" will be incorrect.\n    toBeReplacedIdx = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(group.childrenRef(), existsEl);\n    existsEl = null;\n  }\n\n  var isInit = !existsEl;\n  var el = existsEl;\n\n  if (!el) {\n    el = createEl(elOption);\n\n    if (oldEl) {\n      copyElement(oldEl, el);\n    }\n  } else {\n    // FIMXE:NEXT unified clearState?\n    // If in some case the performance issue arised, consider\n    // do not clearState but update cached normal state directly.\n    el.clearStates();\n  } // Need to set morph: false explictly to disable automatically morphing.\n\n\n  if (elOption.morph === false) {\n    el.disableMorphing = true;\n  } else if (el.disableMorphing) {\n    el.disableMorphing = false;\n  }\n\n  attachedTxInfoTmp.normal.cfg = attachedTxInfoTmp.normal.conOpt = attachedTxInfoTmp.emphasis.cfg = attachedTxInfoTmp.emphasis.conOpt = attachedTxInfoTmp.blur.cfg = attachedTxInfoTmp.blur.conOpt = attachedTxInfoTmp.select.cfg = attachedTxInfoTmp.select.conOpt = null;\n  attachedTxInfoTmp.isLegacy = false;\n  doCreateOrUpdateAttachedTx(el, dataIndex, elOption, seriesModel, isInit, attachedTxInfoTmp);\n  doCreateOrUpdateClipPath(el, dataIndex, elOption, seriesModel, isInit);\n  updateElNormal(api, el, dataIndex, elOption, attachedTxInfoTmp, seriesModel, isInit); // `elOption.info` enables user to mount some info on\n  // elements and use them in event handlers.\n  // Update them only when user specified, otherwise, remain.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(elOption, 'info') && (Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(el).info = elOption.info);\n\n  for (var i = 0; i < STATES.length; i++) {\n    var stateName = STATES[i];\n\n    if (stateName !== NORMAL) {\n      var otherStateOpt = retrieveStateOption(elOption, stateName);\n      var otherStyleOpt = retrieveStyleOptionOnState(elOption, otherStateOpt, stateName);\n      updateElOnState(stateName, el, otherStateOpt, otherStyleOpt, attachedTxInfoTmp);\n    }\n  }\n\n  updateZ(el, elOption, seriesModel);\n\n  if (elOption.type === 'group') {\n    mergeChildren(api, el, dataIndex, elOption, seriesModel);\n  }\n\n  if (toBeReplacedIdx >= 0) {\n    group.replaceAt(el, toBeReplacedIdx);\n  } else {\n    group.add(el);\n  }\n\n  return el;\n} // `el` must not be null/undefined.\n\n\nfunction doesElNeedRecreate(el, elOption, seriesModel) {\n  var elInner = Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(el);\n  var elOptionType = elOption.type;\n  var elOptionShape = elOption.shape;\n  var elOptionStyle = elOption.style;\n  return (// Always create new if universal transition is enabled.\n    // Because we do transition after render. It needs to know what old element is. Replacement will loose it.\n    seriesModel.isUniversalTransitionEnabled() // If `elOptionType` is `null`, follow the merge principle.\n    || elOptionType != null && elOptionType !== elInner.customGraphicType || elOptionType === 'path' && hasOwnPathData(elOptionShape) && getPathData(elOptionShape) !== elInner.customPathData || elOptionType === 'image' && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(elOptionStyle, 'image') && elOptionStyle.image !== elInner.customImagePath // // FIXME test and remove this restriction?\n    // || (elOptionType === 'text'\n    //     && hasOwn(elOptionStyle, 'text')\n    //     && (elOptionStyle as TextStyleProps).text !== elInner.customText\n    // )\n\n  );\n}\n\nfunction doCreateOrUpdateClipPath(el, dataIndex, elOption, seriesModel, isInit) {\n  // Based on the \"merge\" principle, if no clipPath provided,\n  // do nothing. The exists clip will be totally removed only if\n  // `el.clipPath` is `false`. Otherwise it will be merged/replaced.\n  var clipPathOpt = elOption.clipPath;\n\n  if (clipPathOpt === false) {\n    if (el && el.getClipPath()) {\n      el.removeClipPath();\n    }\n  } else if (clipPathOpt) {\n    var clipPath = el.getClipPath();\n\n    if (clipPath && doesElNeedRecreate(clipPath, clipPathOpt, seriesModel)) {\n      clipPath = null;\n    }\n\n    if (!clipPath) {\n      clipPath = createEl(clipPathOpt);\n\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(isPath(clipPath), 'Only any type of `path` can be used in `clipPath`, rather than ' + clipPath.type + '.');\n      }\n\n      el.setClipPath(clipPath);\n    }\n\n    updateElNormal(null, clipPath, dataIndex, clipPathOpt, null, seriesModel, isInit);\n  } // If not define `clipPath` in option, do nothing unnecessary.\n\n}\n\nfunction doCreateOrUpdateAttachedTx(el, dataIndex, elOption, seriesModel, isInit, attachedTxInfo) {\n  // group do not support textContent temporarily untill necessary.\n  if (el.isGroup) {\n    return;\n  } // Normal must be called before emphasis, for `isLegacy` detection.\n\n\n  processTxInfo(elOption, null, attachedTxInfo);\n  processTxInfo(elOption, EMPHASIS, attachedTxInfo); // If `elOption.textConfig` or `elOption.textContent` is null/undefined, it does not make sence.\n  // So for simplicity, if \"elOption hasOwnProperty of them but be null/undefined\", we do not\n  // trade them as set to null to el.\n  // Especially:\n  // `elOption.textContent: false` means remove textContent.\n  // `elOption.textContent.emphasis.style: false` means remove the style from emphasis state.\n\n  var txConOptNormal = attachedTxInfo.normal.conOpt;\n  var txConOptEmphasis = attachedTxInfo.emphasis.conOpt;\n  var txConOptBlur = attachedTxInfo.blur.conOpt;\n  var txConOptSelect = attachedTxInfo.select.conOpt;\n\n  if (txConOptNormal != null || txConOptEmphasis != null || txConOptSelect != null || txConOptBlur != null) {\n    var textContent = el.getTextContent();\n\n    if (txConOptNormal === false) {\n      textContent && el.removeTextContent();\n    } else {\n      txConOptNormal = attachedTxInfo.normal.conOpt = txConOptNormal || {\n        type: 'text'\n      };\n\n      if (!textContent) {\n        textContent = createEl(txConOptNormal);\n        el.setTextContent(textContent);\n      } else {\n        // If in some case the performance issue arised, consider\n        // do not clearState but update cached normal state directly.\n        textContent.clearStates();\n      }\n\n      updateElNormal(null, textContent, dataIndex, txConOptNormal, null, seriesModel, isInit);\n      var txConStlOptNormal = txConOptNormal && txConOptNormal.style;\n\n      for (var i = 0; i < STATES.length; i++) {\n        var stateName = STATES[i];\n\n        if (stateName !== NORMAL) {\n          var txConOptOtherState = attachedTxInfo[stateName].conOpt;\n          updateElOnState(stateName, textContent, txConOptOtherState, retrieveStyleOptionOnState(txConOptNormal, txConOptOtherState, stateName), null);\n        }\n      }\n\n      txConStlOptNormal ? textContent.dirty() : textContent.markRedraw();\n    }\n  }\n}\n\nfunction processTxInfo(elOption, state, attachedTxInfo) {\n  var stateOpt = !state ? elOption : retrieveStateOption(elOption, state);\n  var styleOpt = !state ? elOption.style : retrieveStyleOptionOnState(elOption, stateOpt, EMPHASIS);\n  var elType = elOption.type;\n  var txCfg = stateOpt ? stateOpt.textConfig : null;\n  var txConOptNormal = elOption.textContent;\n  var txConOpt = !txConOptNormal ? null : !state ? txConOptNormal : retrieveStateOption(txConOptNormal, state);\n\n  if (styleOpt && ( // Because emphasis style has little info to detect legacy,\n  // if normal is legacy, emphasis is trade as legacy.\n  attachedTxInfo.isLegacy || Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__[\"isEC4CompatibleStyle\"])(styleOpt, elType, !!txCfg, !!txConOpt))) {\n    attachedTxInfo.isLegacy = true;\n    var convertResult = Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_16__[\"convertFromEC4CompatibleStyle\"])(styleOpt, elType, !state); // Explicitly specified `textConfig` and `textContent` has higher priority than\n    // the ones generated by legacy style. Otherwise if users use them and `api.style`\n    // at the same time, they not both work and hardly to known why.\n\n    if (!txCfg && convertResult.textConfig) {\n      txCfg = convertResult.textConfig;\n    }\n\n    if (!txConOpt && convertResult.textContent) {\n      txConOpt = convertResult.textContent;\n    }\n  }\n\n  if (!state && txConOpt) {\n    var txConOptNormal_1 = txConOpt; // `textContent: {type: 'text'}`, the \"type\" is easy to be missing. So we tolerate it.\n\n    !txConOptNormal_1.type && (txConOptNormal_1.type = 'text');\n\n    if (true) {\n      // Do not tolerate incorret type for forward compat.\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(txConOptNormal_1.type === 'text', 'textContent.type must be \"text\"');\n    }\n  }\n\n  var info = !state ? attachedTxInfo.normal : attachedTxInfo[state];\n  info.cfg = txCfg;\n  info.conOpt = txConOpt;\n}\n\nfunction retrieveStateOption(elOption, state) {\n  return !state ? elOption : elOption ? elOption[state] : null;\n}\n\nfunction retrieveStyleOptionOnState(stateOptionNormal, stateOption, state) {\n  var style = stateOption && stateOption.style;\n\n  if (style == null && state === EMPHASIS && stateOptionNormal) {\n    style = stateOptionNormal.styleEmphasis;\n  }\n\n  return style;\n} // Usage:\n// (1) By default, `elOption.$mergeChildren` is `'byIndex'`, which indicates\n//     that the existing children will not be removed, and enables the feature\n//     that update some of the props of some of the children simply by construct\n//     the returned children of `renderItem` like:\n//     `var children = group.children = []; children[3] = {opacity: 0.5};`\n// (2) If `elOption.$mergeChildren` is `'byName'`, add/update/remove children\n//     by child.name. But that might be lower performance.\n// (3) If `elOption.$mergeChildren` is `false`, the existing children will be\n//     replaced totally.\n// (4) If `!elOption.children`, following the \"merge\" principle, nothing will\n//     happen.\n// (5) If `elOption.$mergeChildren` is not `false` neither `'byName'` and the\n//     `el` is a group, and if any of the new child is null, it means to remove\n//     the element at the same index, if exists. On the other hand, if the new\n//     child is and empty object `{}`, it means to keep the element not changed.\n//\n// For implementation simpleness, do not provide a direct way to remove sinlge\n// child (otherwise the total indicies of the children array have to be modified).\n// User can remove a single child by set its `ignore` as `true`.\n\n\nfunction mergeChildren(api, el, dataIndex, elOption, seriesModel) {\n  var newChildren = elOption.children;\n  var newLen = newChildren ? newChildren.length : 0;\n  var mergeChildren = elOption.$mergeChildren; // `diffChildrenByName` has been deprecated.\n\n  var byName = mergeChildren === 'byName' || elOption.diffChildrenByName;\n  var notMerge = mergeChildren === false; // For better performance on roam update, only enter if necessary.\n\n  if (!newLen && !byName && !notMerge) {\n    return;\n  }\n\n  if (byName) {\n    diffGroupChildren({\n      api: api,\n      oldChildren: el.children() || [],\n      newChildren: newChildren || [],\n      dataIndex: dataIndex,\n      seriesModel: seriesModel,\n      group: el\n    });\n    return;\n  }\n\n  notMerge && el.removeAll(); // Mapping children of a group simply by index, which\n  // might be better performance.\n\n  var index = 0;\n\n  for (; index < newLen; index++) {\n    var newChild = newChildren[index];\n    var oldChild = el.childAt(index);\n\n    if (newChild) {\n      if (newChild.ignore == null) {\n        // The old child is set to be ignored if null (see comments\n        // below). So we need to set ignore to be false back.\n        newChild.ignore = false;\n      }\n\n      doCreateOrUpdateEl(api, oldChild, dataIndex, newChild, seriesModel, el);\n    } else {\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(oldChild, 'renderItem should not return a group containing elements' + ' as null/undefined/{} if they do not exist before.');\n      } // If the new element option is null, it means to remove the old\n      // element. But we cannot really remove the element from the group\n      // directly, because the element order may not be stable when this\n      // element is added back. So we set the element to be ignored.\n\n\n      oldChild.ignore = true;\n    }\n  }\n\n  for (var i = el.childCount() - 1; i >= index; i--) {\n    var child = el.childAt(i);\n    removeChildFromGroup(el, child, seriesModel);\n  }\n}\n\nfunction removeChildFromGroup(group, child, seriesModel) {\n  // Do not support leave elements that are not mentioned in the latest\n  // `renderItem` return. Otherwise users may not have a clear and simple\n  // concept that how to control all of the elements.\n  child && Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_20__[\"applyLeaveTransition\"])(child, Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(group).option, seriesModel);\n}\n\nfunction diffGroupChildren(context) {\n  new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](context.oldChildren, context.newChildren, getKey, getKey, context).add(processAddUpdate).update(processAddUpdate).remove(processRemove).execute();\n}\n\nfunction getKey(item, idx) {\n  var name = item && item.name;\n  return name != null ? name : GROUP_DIFF_PREFIX + idx;\n}\n\nfunction processAddUpdate(newIndex, oldIndex) {\n  var context = this.context;\n  var childOption = newIndex != null ? context.newChildren[newIndex] : null;\n  var child = oldIndex != null ? context.oldChildren[oldIndex] : null;\n  doCreateOrUpdateEl(context.api, child, context.dataIndex, childOption, context.seriesModel, context.group);\n}\n\nfunction processRemove(oldIndex) {\n  var context = this.context;\n  var child = context.oldChildren[oldIndex];\n  child && Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_20__[\"applyLeaveTransition\"])(child, Object(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_19__[\"customInnerStore\"])(child).option, context.seriesModel);\n}\n/**\n * @return SVG Path data.\n */\n\n\nfunction getPathData(shape) {\n  // \"d\" follows the SVG convention.\n  return shape && (shape.pathData || shape.d);\n}\n\nfunction hasOwnPathData(shape) {\n  return shape && (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(shape, 'pathData') || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(shape, 'd'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/custom/CustomView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/custom/install.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/custom/install.js ***!
  \**********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _CustomSeries_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CustomSeries.js */ \"./node_modules/echarts/lib/chart/custom/CustomSeries.js\");\n/* harmony import */ var _CustomView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CustomView.js */ \"./node_modules/echarts/lib/chart/custom/CustomView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction install(registers) {\n  registers.registerChartView(_CustomView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerSeriesModel(_CustomSeries_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/custom/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js ***!
  \*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar EffectScatterSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EffectScatterSeriesModel, _super);\n\n  function EffectScatterSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = EffectScatterSeriesModel.type;\n    _this.hasSymbolVisual = true;\n    return _this;\n  }\n\n  EffectScatterSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(null, this, {\n      useEncodeDefaulter: true\n    });\n  };\n\n  EffectScatterSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n    return selectors.point(data.getItemLayout(dataIndex));\n  };\n\n  EffectScatterSeriesModel.type = 'series.effectScatter';\n  EffectScatterSeriesModel.dependencies = ['grid', 'polar'];\n  EffectScatterSeriesModel.defaultOption = {\n    coordinateSystem: 'cartesian2d',\n    // zlevel: 0,\n    z: 2,\n    legendHoverLink: true,\n    effectType: 'ripple',\n    progressive: 0,\n    // When to show the effect, option: 'render'|'emphasis'\n    showEffectOn: 'render',\n    clip: true,\n    // Ripple effect config\n    rippleEffect: {\n      period: 4,\n      // Scale of ripple\n      scale: 2.5,\n      // Brush type can be fill or stroke\n      brushType: 'fill',\n      // Ripple number\n      number: 3\n    },\n    universalTransition: {\n      divideShape: 'clone'\n    },\n    // Cartesian coordinate system\n    // xAxisIndex: 0,\n    // yAxisIndex: 0,\n    // Polar coordinate system\n    // polarIndex: 0,\n    // Geo coordinate system\n    // geoIndex: 0,\n    // symbol: null,        // 图形类型\n    symbolSize: 10 // 图形大小，半宽（半径）参数，当图形为方向或菱形则总宽度为symbolSize * 2\n    // symbolRotate: null,  // 图形旋转控制\n    // itemStyle: {\n    //     opacity: 1\n    // }\n\n  };\n  return EffectScatterSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EffectScatterSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/SymbolDraw.js */ \"./node_modules/echarts/lib/chart/helper/SymbolDraw.js\");\n/* harmony import */ var _helper_EffectSymbol_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/EffectSymbol.js */ \"./node_modules/echarts/lib/chart/helper/EffectSymbol.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _layout_points_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../layout/points.js */ \"./node_modules/echarts/lib/layout/points.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar EffectScatterView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EffectScatterView, _super);\n\n  function EffectScatterView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = EffectScatterView.type;\n    return _this;\n  }\n\n  EffectScatterView.prototype.init = function () {\n    this._symbolDraw = new _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](_helper_EffectSymbol_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  };\n\n  EffectScatterView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    var effectSymbolDraw = this._symbolDraw;\n    effectSymbolDraw.updateData(data, {\n      clipShape: this._getClipShape(seriesModel)\n    });\n    this.group.add(effectSymbolDraw.group);\n  };\n\n  EffectScatterView.prototype._getClipShape = function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n    var clipArea = coordSys && coordSys.getArea && coordSys.getArea();\n    return seriesModel.get('clip', true) ? clipArea : null;\n  };\n\n  EffectScatterView.prototype.updateTransform = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    this.group.dirty();\n    var res = Object(_layout_points_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('').reset(seriesModel, ecModel, api);\n\n    if (res.progress) {\n      res.progress({\n        start: 0,\n        end: data.count(),\n        count: data.count()\n      }, data);\n    }\n\n    this._symbolDraw.updateLayout();\n  };\n\n  EffectScatterView.prototype._updateGroupTransform = function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys && coordSys.getRoamTransform) {\n      this.group.transform = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_3__[\"clone\"](coordSys.getRoamTransform());\n      this.group.decomposeTransform();\n    }\n  };\n\n  EffectScatterView.prototype.remove = function (ecModel, api) {\n    this._symbolDraw && this._symbolDraw.remove(true);\n  };\n\n  EffectScatterView.type = 'effectScatter';\n  return EffectScatterView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EffectScatterView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/effectScatter/install.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/effectScatter/install.js ***!
  \*****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _EffectScatterView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EffectScatterView.js */ \"./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js\");\n/* harmony import */ var _EffectScatterSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EffectScatterSeries.js */ \"./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js\");\n/* harmony import */ var _layout_points_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../layout/points.js */ \"./node_modules/echarts/lib/layout/points.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_EffectScatterView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_EffectScatterSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(Object(_layout_points_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('effectScatter'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/effectScatter/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/funnel/FunnelSeries.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/funnel/FunnelSeries.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createSeriesDataSimply.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../data/helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../visual/LegendVisualProvider.js */ \"./node_modules/echarts/lib/visual/LegendVisualProvider.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar FunnelSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FunnelSeriesModel, _super);\n\n  function FunnelSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = FunnelSeriesModel.type;\n    return _this;\n  }\n\n  FunnelSeriesModel.prototype.init = function (option) {\n    _super.prototype.init.apply(this, arguments); // Enable legend selection for each data item\n    // Use a function instead of direct access because data reference may changed\n\n\n    this.legendVisualProvider = new _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this.getData, this), zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this.getRawData, this)); // Extend labelLine emphasis\n\n    this._defaultLabelLine(option);\n  };\n\n  FunnelSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, {\n      coordDimensions: ['value'],\n      encodeDefaulter: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"](_data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"makeSeriesEncodeForNameBased\"], this)\n    });\n  };\n\n  FunnelSeriesModel.prototype._defaultLabelLine = function (option) {\n    // Extend labelLine emphasis\n    Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"defaultEmphasis\"])(option, 'labelLine', ['show']);\n    var labelLineNormalOpt = option.labelLine;\n    var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n    labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n    labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n  }; // Overwrite\n\n\n  FunnelSeriesModel.prototype.getDataParams = function (dataIndex) {\n    var data = this.getData();\n\n    var params = _super.prototype.getDataParams.call(this, dataIndex);\n\n    var valueDim = data.mapDimension('value');\n    var sum = data.getSum(valueDim); // Percent is 0 if sum is 0\n\n    params.percent = !sum ? 0 : +(data.get(valueDim, dataIndex) / sum * 100).toFixed(2);\n    params.$vars.push('percent');\n    return params;\n  };\n\n  FunnelSeriesModel.type = 'series.funnel';\n  FunnelSeriesModel.defaultOption = {\n    // zlevel: 0,                  // 一级层叠\n    z: 2,\n    legendHoverLink: true,\n    colorBy: 'data',\n    left: 80,\n    top: 60,\n    right: 80,\n    bottom: 60,\n    // width: {totalWidth} - left - right,\n    // height: {totalHeight} - top - bottom,\n    // 默认取数据最小最大值\n    // min: 0,\n    // max: 100,\n    minSize: '0%',\n    maxSize: '100%',\n    sort: 'descending',\n    orient: 'vertical',\n    gap: 0,\n    funnelAlign: 'center',\n    label: {\n      show: true,\n      position: 'outer' // formatter: 标签文本格式器，同Tooltip.formatter，不支持异步回调\n\n    },\n    labelLine: {\n      show: true,\n      length: 20,\n      lineStyle: {\n        // color: 各异,\n        width: 1\n      }\n    },\n    itemStyle: {\n      // color: 各异,\n      borderColor: '#fff',\n      borderWidth: 1\n    },\n    emphasis: {\n      label: {\n        show: true\n      }\n    },\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    }\n  };\n  return FunnelSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (FunnelSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/funnel/FunnelSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/funnel/FunnelView.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/funnel/FunnelView.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelGuideHelper.js */ \"./node_modules/echarts/lib/label/labelGuideHelper.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar opacityAccessPath = ['itemStyle', 'opacity'];\n/**\n * Piece of pie including Sector, Label, LabelLine\n */\n\nvar FunnelPiece =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FunnelPiece, _super);\n\n  function FunnelPiece(data, idx) {\n    var _this = _super.call(this) || this;\n\n    var polygon = _this;\n    var labelLine = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Polyline\"]();\n    var text = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Text\"]();\n    polygon.setTextContent(text);\n\n    _this.setTextGuideLine(labelLine);\n\n    _this.updateData(data, idx, true);\n\n    return _this;\n  }\n\n  FunnelPiece.prototype.updateData = function (data, idx, firstCreate) {\n    var polygon = this;\n    var seriesModel = data.hostModel;\n    var itemModel = data.getItemModel(idx);\n    var layout = data.getItemLayout(idx);\n    var emphasisModel = itemModel.getModel('emphasis');\n    var opacity = itemModel.get(opacityAccessPath);\n    opacity = opacity == null ? 1 : opacity;\n\n    if (!firstCreate) {\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_6__[\"saveOldStyle\"])(polygon);\n    } // Update common style\n\n\n    polygon.useStyle(data.getItemVisual(idx, 'style'));\n    polygon.style.lineJoin = 'round';\n\n    if (firstCreate) {\n      polygon.setShape({\n        points: layout.points\n      });\n      polygon.style.opacity = 0;\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"initProps\"](polygon, {\n        style: {\n          opacity: opacity\n        }\n      }, seriesModel, idx);\n    } else {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](polygon, {\n        style: {\n          opacity: opacity\n        },\n        shape: {\n          points: layout.points\n        }\n      }, seriesModel, idx);\n    }\n\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"setStatesStylesFromModel\"])(polygon, itemModel);\n\n    this._updateLabel(data, idx);\n\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n  };\n\n  FunnelPiece.prototype._updateLabel = function (data, idx) {\n    var polygon = this;\n    var labelLine = this.getTextGuideLine();\n    var labelText = polygon.getTextContent();\n    var seriesModel = data.hostModel;\n    var itemModel = data.getItemModel(idx);\n    var layout = data.getItemLayout(idx);\n    var labelLayout = layout.label;\n    var style = data.getItemVisual(idx, 'style');\n    var visualColor = style.fill;\n    Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_5__[\"setLabelStyle\"])( // position will not be used in setLabelStyle\n    labelText, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_5__[\"getLabelStatesModels\"])(itemModel), {\n      labelFetcher: data.hostModel,\n      labelDataIndex: idx,\n      defaultOpacity: style.opacity,\n      defaultText: data.getName(idx)\n    }, {\n      normal: {\n        align: labelLayout.textAlign,\n        verticalAlign: labelLayout.verticalAlign\n      }\n    });\n    polygon.setTextConfig({\n      local: true,\n      inside: !!labelLayout.inside,\n      insideStroke: visualColor,\n      // insideFill: 'auto',\n      outsideFill: visualColor\n    });\n    var linePoints = labelLayout.linePoints;\n    labelLine.setShape({\n      points: linePoints\n    });\n    polygon.textGuideLineConfig = {\n      anchor: linePoints ? new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Point\"](linePoints[0][0], linePoints[0][1]) : null\n    }; // Make sure update style on labelText after setLabelStyle.\n    // Because setLabelStyle will replace a new style on it.\n\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](labelText, {\n      style: {\n        x: labelLayout.x,\n        y: labelLayout.y\n      }\n    }, seriesModel, idx);\n    labelText.attr({\n      rotation: labelLayout.rotation,\n      originX: labelLayout.x,\n      originY: labelLayout.y,\n      z2: 10\n    });\n    Object(_label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"setLabelLineStyle\"])(polygon, Object(_label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"getLabelLineStatesModels\"])(itemModel), {\n      // Default use item visual color\n      stroke: visualColor\n    });\n  };\n\n  return FunnelPiece;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Polygon\"]);\n\nvar FunnelView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FunnelView, _super);\n\n  function FunnelView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = FunnelView.type;\n    _this.ignoreLabelLineUpdate = true;\n    return _this;\n  }\n\n  FunnelView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    var oldData = this._data;\n    var group = this.group;\n    data.diff(oldData).add(function (idx) {\n      var funnelPiece = new FunnelPiece(data, idx);\n      data.setItemGraphicEl(idx, funnelPiece);\n      group.add(funnelPiece);\n    }).update(function (newIdx, oldIdx) {\n      var piece = oldData.getItemGraphicEl(oldIdx);\n      piece.updateData(data, newIdx);\n      group.add(piece);\n      data.setItemGraphicEl(newIdx, piece);\n    }).remove(function (idx) {\n      var piece = oldData.getItemGraphicEl(idx);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"removeElementWithFadeOut\"](piece, seriesModel, idx);\n    }).execute();\n    this._data = data;\n  };\n\n  FunnelView.prototype.remove = function () {\n    this.group.removeAll();\n    this._data = null;\n  };\n\n  FunnelView.prototype.dispose = function () {};\n\n  FunnelView.type = 'funnel';\n  return FunnelView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (FunnelView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/funnel/FunnelView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/funnel/funnelLayout.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/funnel/funnelLayout.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return funnelLayout; });\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction getViewRect(seriesModel, api) {\n  return _util_layout_js__WEBPACK_IMPORTED_MODULE_0__[\"getLayoutRect\"](seriesModel.getBoxLayoutParams(), {\n    width: api.getWidth(),\n    height: api.getHeight()\n  });\n}\n\nfunction getSortedIndices(data, sort) {\n  var valueDim = data.mapDimension('value');\n  var valueArr = data.mapArray(valueDim, function (val) {\n    return val;\n  });\n  var indices = [];\n  var isAscending = sort === 'ascending';\n\n  for (var i = 0, len = data.count(); i < len; i++) {\n    indices[i] = i;\n  } // Add custom sortable function & none sortable opetion by \"options.sort\"\n\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"])(sort)) {\n    indices.sort(sort);\n  } else if (sort !== 'none') {\n    indices.sort(function (a, b) {\n      return isAscending ? valueArr[a] - valueArr[b] : valueArr[b] - valueArr[a];\n    });\n  }\n\n  return indices;\n}\n\nfunction labelLayout(data) {\n  var seriesModel = data.hostModel;\n  var orient = seriesModel.get('orient');\n  data.each(function (idx) {\n    var itemModel = data.getItemModel(idx);\n    var labelModel = itemModel.getModel('label');\n    var labelPosition = labelModel.get('position');\n    var labelLineModel = itemModel.getModel('labelLine');\n    var layout = data.getItemLayout(idx);\n    var points = layout.points;\n    var isLabelInside = labelPosition === 'inner' || labelPosition === 'inside' || labelPosition === 'center' || labelPosition === 'insideLeft' || labelPosition === 'insideRight';\n    var textAlign;\n    var textX;\n    var textY;\n    var linePoints;\n\n    if (isLabelInside) {\n      if (labelPosition === 'insideLeft') {\n        textX = (points[0][0] + points[3][0]) / 2 + 5;\n        textY = (points[0][1] + points[3][1]) / 2;\n        textAlign = 'left';\n      } else if (labelPosition === 'insideRight') {\n        textX = (points[1][0] + points[2][0]) / 2 - 5;\n        textY = (points[1][1] + points[2][1]) / 2;\n        textAlign = 'right';\n      } else {\n        textX = (points[0][0] + points[1][0] + points[2][0] + points[3][0]) / 4;\n        textY = (points[0][1] + points[1][1] + points[2][1] + points[3][1]) / 4;\n        textAlign = 'center';\n      }\n\n      linePoints = [[textX, textY], [textX, textY]];\n    } else {\n      var x1 = void 0;\n      var y1 = void 0;\n      var x2 = void 0;\n      var y2 = void 0;\n      var labelLineLen = labelLineModel.get('length');\n\n      if (true) {\n        if (orient === 'vertical' && ['top', 'bottom'].indexOf(labelPosition) > -1) {\n          labelPosition = 'left';\n          console.warn('Position error: Funnel chart on vertical orient dose not support top and bottom.');\n        }\n\n        if (orient === 'horizontal' && ['left', 'right'].indexOf(labelPosition) > -1) {\n          labelPosition = 'bottom';\n          console.warn('Position error: Funnel chart on horizontal orient dose not support left and right.');\n        }\n      }\n\n      if (labelPosition === 'left') {\n        // Left side\n        x1 = (points[3][0] + points[0][0]) / 2;\n        y1 = (points[3][1] + points[0][1]) / 2;\n        x2 = x1 - labelLineLen;\n        textX = x2 - 5;\n        textAlign = 'right';\n      } else if (labelPosition === 'right') {\n        // Right side\n        x1 = (points[1][0] + points[2][0]) / 2;\n        y1 = (points[1][1] + points[2][1]) / 2;\n        x2 = x1 + labelLineLen;\n        textX = x2 + 5;\n        textAlign = 'left';\n      } else if (labelPosition === 'top') {\n        // Top side\n        x1 = (points[3][0] + points[0][0]) / 2;\n        y1 = (points[3][1] + points[0][1]) / 2;\n        y2 = y1 - labelLineLen;\n        textY = y2 - 5;\n        textAlign = 'center';\n      } else if (labelPosition === 'bottom') {\n        // Bottom side\n        x1 = (points[1][0] + points[2][0]) / 2;\n        y1 = (points[1][1] + points[2][1]) / 2;\n        y2 = y1 + labelLineLen;\n        textY = y2 + 5;\n        textAlign = 'center';\n      } else if (labelPosition === 'rightTop') {\n        // RightTop side\n        x1 = orient === 'horizontal' ? points[3][0] : points[1][0];\n        y1 = orient === 'horizontal' ? points[3][1] : points[1][1];\n\n        if (orient === 'horizontal') {\n          y2 = y1 - labelLineLen;\n          textY = y2 - 5;\n          textAlign = 'center';\n        } else {\n          x2 = x1 + labelLineLen;\n          textX = x2 + 5;\n          textAlign = 'top';\n        }\n      } else if (labelPosition === 'rightBottom') {\n        // RightBottom side\n        x1 = points[2][0];\n        y1 = points[2][1];\n\n        if (orient === 'horizontal') {\n          y2 = y1 + labelLineLen;\n          textY = y2 + 5;\n          textAlign = 'center';\n        } else {\n          x2 = x1 + labelLineLen;\n          textX = x2 + 5;\n          textAlign = 'bottom';\n        }\n      } else if (labelPosition === 'leftTop') {\n        // LeftTop side\n        x1 = points[0][0];\n        y1 = orient === 'horizontal' ? points[0][1] : points[1][1];\n\n        if (orient === 'horizontal') {\n          y2 = y1 - labelLineLen;\n          textY = y2 - 5;\n          textAlign = 'center';\n        } else {\n          x2 = x1 - labelLineLen;\n          textX = x2 - 5;\n          textAlign = 'right';\n        }\n      } else if (labelPosition === 'leftBottom') {\n        // LeftBottom side\n        x1 = orient === 'horizontal' ? points[1][0] : points[3][0];\n        y1 = orient === 'horizontal' ? points[1][1] : points[2][1];\n\n        if (orient === 'horizontal') {\n          y2 = y1 + labelLineLen;\n          textY = y2 + 5;\n          textAlign = 'center';\n        } else {\n          x2 = x1 - labelLineLen;\n          textX = x2 - 5;\n          textAlign = 'right';\n        }\n      } else {\n        // Right side or Bottom side\n        x1 = (points[1][0] + points[2][0]) / 2;\n        y1 = (points[1][1] + points[2][1]) / 2;\n\n        if (orient === 'horizontal') {\n          y2 = y1 + labelLineLen;\n          textY = y2 + 5;\n          textAlign = 'center';\n        } else {\n          x2 = x1 + labelLineLen;\n          textX = x2 + 5;\n          textAlign = 'left';\n        }\n      }\n\n      if (orient === 'horizontal') {\n        x2 = x1;\n        textX = x2;\n      } else {\n        y2 = y1;\n        textY = y2;\n      }\n\n      linePoints = [[x1, y1], [x2, y2]];\n    }\n\n    layout.label = {\n      linePoints: linePoints,\n      x: textX,\n      y: textY,\n      verticalAlign: 'middle',\n      textAlign: textAlign,\n      inside: isLabelInside\n    };\n  });\n}\n\nfunction funnelLayout(ecModel, api) {\n  ecModel.eachSeriesByType('funnel', function (seriesModel) {\n    var data = seriesModel.getData();\n    var valueDim = data.mapDimension('value');\n    var sort = seriesModel.get('sort');\n    var viewRect = getViewRect(seriesModel, api);\n    var orient = seriesModel.get('orient');\n    var viewWidth = viewRect.width;\n    var viewHeight = viewRect.height;\n    var indices = getSortedIndices(data, sort);\n    var x = viewRect.x;\n    var y = viewRect.y;\n    var sizeExtent = orient === 'horizontal' ? [Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('minSize'), viewHeight), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('maxSize'), viewHeight)] : [Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('minSize'), viewWidth), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('maxSize'), viewWidth)];\n    var dataExtent = data.getDataExtent(valueDim);\n    var min = seriesModel.get('min');\n    var max = seriesModel.get('max');\n\n    if (min == null) {\n      min = Math.min(dataExtent[0], 0);\n    }\n\n    if (max == null) {\n      max = dataExtent[1];\n    }\n\n    var funnelAlign = seriesModel.get('funnelAlign');\n    var gap = seriesModel.get('gap');\n    var viewSize = orient === 'horizontal' ? viewWidth : viewHeight;\n    var itemSize = (viewSize - gap * (data.count() - 1)) / data.count();\n\n    var getLinePoints = function (idx, offset) {\n      // End point index is data.count() and we assign it 0\n      if (orient === 'horizontal') {\n        var val_1 = data.get(valueDim, idx) || 0;\n        var itemHeight = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"])(val_1, [min, max], sizeExtent, true);\n        var y0 = void 0;\n\n        switch (funnelAlign) {\n          case 'top':\n            y0 = y;\n            break;\n\n          case 'center':\n            y0 = y + (viewHeight - itemHeight) / 2;\n            break;\n\n          case 'bottom':\n            y0 = y + (viewHeight - itemHeight);\n            break;\n        }\n\n        return [[offset, y0], [offset, y0 + itemHeight]];\n      }\n\n      var val = data.get(valueDim, idx) || 0;\n      var itemWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"])(val, [min, max], sizeExtent, true);\n      var x0;\n\n      switch (funnelAlign) {\n        case 'left':\n          x0 = x;\n          break;\n\n        case 'center':\n          x0 = x + (viewWidth - itemWidth) / 2;\n          break;\n\n        case 'right':\n          x0 = x + viewWidth - itemWidth;\n          break;\n      }\n\n      return [[x0, offset], [x0 + itemWidth, offset]];\n    };\n\n    if (sort === 'ascending') {\n      // From bottom to top\n      itemSize = -itemSize;\n      gap = -gap;\n\n      if (orient === 'horizontal') {\n        x += viewWidth;\n      } else {\n        y += viewHeight;\n      }\n\n      indices = indices.reverse();\n    }\n\n    for (var i = 0; i < indices.length; i++) {\n      var idx = indices[i];\n      var nextIdx = indices[i + 1];\n      var itemModel = data.getItemModel(idx);\n\n      if (orient === 'horizontal') {\n        var width = itemModel.get(['itemStyle', 'width']);\n\n        if (width == null) {\n          width = itemSize;\n        } else {\n          width = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(width, viewWidth);\n\n          if (sort === 'ascending') {\n            width = -width;\n          }\n        }\n\n        var start = getLinePoints(idx, x);\n        var end = getLinePoints(nextIdx, x + width);\n        x += width + gap;\n        data.setItemLayout(idx, {\n          points: start.concat(end.slice().reverse())\n        });\n      } else {\n        var height = itemModel.get(['itemStyle', 'height']);\n\n        if (height == null) {\n          height = itemSize;\n        } else {\n          height = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(height, viewHeight);\n\n          if (sort === 'ascending') {\n            height = -height;\n          }\n        }\n\n        var start = getLinePoints(idx, y);\n        var end = getLinePoints(nextIdx, y + height);\n        y += height + gap;\n        data.setItemLayout(idx, {\n          points: start.concat(end.slice().reverse())\n        });\n      }\n    }\n\n    labelLayout(data);\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/funnel/funnelLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/funnel/install.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/funnel/install.js ***!
  \**********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _FunnelView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FunnelView.js */ \"./node_modules/echarts/lib/chart/funnel/FunnelView.js\");\n/* harmony import */ var _FunnelSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FunnelSeries.js */ \"./node_modules/echarts/lib/chart/funnel/FunnelSeries.js\");\n/* harmony import */ var _funnelLayout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./funnelLayout.js */ \"./node_modules/echarts/lib/chart/funnel/funnelLayout.js\");\n/* harmony import */ var _processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../processor/dataFilter.js */ \"./node_modules/echarts/lib/processor/dataFilter.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_FunnelView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_FunnelSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(_funnelLayout_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerProcessor(Object(_processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('funnel'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/funnel/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/gauge/GaugeSeries.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/gauge/GaugeSeries.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createSeriesDataSimply.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar GaugeSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GaugeSeriesModel, _super);\n\n  function GaugeSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GaugeSeriesModel.type;\n    _this.visualStyleAccessPath = 'itemStyle';\n    return _this;\n  }\n\n  GaugeSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, ['value']);\n  };\n\n  GaugeSeriesModel.type = 'series.gauge';\n  GaugeSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    colorBy: 'data',\n    // 默认全局居中\n    center: ['50%', '50%'],\n    legendHoverLink: true,\n    radius: '75%',\n    startAngle: 225,\n    endAngle: -45,\n    clockwise: true,\n    // 最小值\n    min: 0,\n    // 最大值\n    max: 100,\n    // 分割段数，默认为10\n    splitNumber: 10,\n    // 坐标轴线\n    axisLine: {\n      // 默认显示，属性show控制显示与否\n      show: true,\n      roundCap: false,\n      lineStyle: {\n        color: [[1, '#E6EBF8']],\n        width: 10\n      }\n    },\n    // 坐标轴线\n    progress: {\n      // 默认显示，属性show控制显示与否\n      show: false,\n      overlap: true,\n      width: 10,\n      roundCap: false,\n      clip: true\n    },\n    // 分隔线\n    splitLine: {\n      // 默认显示，属性show控制显示与否\n      show: true,\n      // 属性length控制线长\n      length: 10,\n      distance: 10,\n      // 属性lineStyle（详见lineStyle）控制线条样式\n      lineStyle: {\n        color: '#63677A',\n        width: 3,\n        type: 'solid'\n      }\n    },\n    // 坐标轴小标记\n    axisTick: {\n      // 属性show控制显示与否，默认不显示\n      show: true,\n      // 每份split细分多少段\n      splitNumber: 5,\n      // 属性length控制线长\n      length: 6,\n      distance: 10,\n      // 属性lineStyle控制线条样式\n      lineStyle: {\n        color: '#63677A',\n        width: 1,\n        type: 'solid'\n      }\n    },\n    axisLabel: {\n      show: true,\n      distance: 15,\n      // formatter: null,\n      color: '#464646',\n      fontSize: 12,\n      rotate: 0\n    },\n    pointer: {\n      icon: null,\n      offsetCenter: [0, 0],\n      show: true,\n      showAbove: true,\n      length: '60%',\n      width: 6,\n      keepAspect: false\n    },\n    anchor: {\n      show: false,\n      showAbove: false,\n      size: 6,\n      icon: 'circle',\n      offsetCenter: [0, 0],\n      keepAspect: false,\n      itemStyle: {\n        color: '#fff',\n        borderWidth: 0,\n        borderColor: '#5470c6'\n      }\n    },\n    title: {\n      show: true,\n      // x, y，单位px\n      offsetCenter: [0, '20%'],\n      // 其余属性默认使用全局文本样式，详见TEXTSTYLE\n      color: '#464646',\n      fontSize: 16,\n      valueAnimation: false\n    },\n    detail: {\n      show: true,\n      backgroundColor: 'rgba(0,0,0,0)',\n      borderWidth: 0,\n      borderColor: '#ccc',\n      width: 100,\n      height: null,\n      padding: [5, 10],\n      // x, y，单位px\n      offsetCenter: [0, '40%'],\n      // formatter: null,\n      // 其余属性默认使用全局文本样式，详见TEXTSTYLE\n      color: '#464646',\n      fontSize: 30,\n      fontWeight: 'bold',\n      lineHeight: 30,\n      valueAnimation: false\n    }\n  };\n  return GaugeSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GaugeSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/gauge/GaugeSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/gauge/GaugeView.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/gauge/GaugeView.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PointerPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PointerPath.js */ \"./node_modules/echarts/lib/chart/gauge/PointerPath.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_shape_sausage_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/shape/sausage.js */ \"./node_modules/echarts/lib/util/shape/sausage.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zrender/lib/graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var zrender_lib_core_PathProxy_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! zrender/lib/core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction parsePosition(seriesModel, api) {\n  var center = seriesModel.get('center');\n  var width = api.getWidth();\n  var height = api.getHeight();\n  var size = Math.min(width, height);\n  var cx = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(center[0], api.getWidth());\n  var cy = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(center[1], api.getHeight());\n  var r = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(seriesModel.get('radius'), size / 2);\n  return {\n    cx: cx,\n    cy: cy,\n    r: r\n  };\n}\n\nfunction formatLabel(value, labelFormatter) {\n  var label = value == null ? '' : value + '';\n\n  if (labelFormatter) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isString\"])(labelFormatter)) {\n      label = labelFormatter.replace('{value}', label);\n    } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isFunction\"])(labelFormatter)) {\n      label = labelFormatter(value);\n    }\n  }\n\n  return label;\n}\n\nvar GaugeView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GaugeView, _super);\n\n  function GaugeView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GaugeView.type;\n    return _this;\n  }\n\n  GaugeView.prototype.render = function (seriesModel, ecModel, api) {\n    this.group.removeAll();\n    var colorList = seriesModel.get(['axisLine', 'lineStyle', 'color']);\n    var posInfo = parsePosition(seriesModel, api);\n\n    this._renderMain(seriesModel, ecModel, api, colorList, posInfo);\n\n    this._data = seriesModel.getData();\n  };\n\n  GaugeView.prototype.dispose = function () {};\n\n  GaugeView.prototype._renderMain = function (seriesModel, ecModel, api, colorList, posInfo) {\n    var group = this.group;\n    var clockwise = seriesModel.get('clockwise');\n    var startAngle = -seriesModel.get('startAngle') / 180 * Math.PI;\n    var endAngle = -seriesModel.get('endAngle') / 180 * Math.PI;\n    var axisLineModel = seriesModel.getModel('axisLine');\n    var roundCap = axisLineModel.get('roundCap');\n    var MainPath = roundCap ? _util_shape_sausage_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"];\n    var showAxis = axisLineModel.get('show');\n    var lineStyleModel = axisLineModel.getModel('lineStyle');\n    var axisLineWidth = lineStyleModel.get('width');\n    var angles = [startAngle, endAngle];\n    Object(zrender_lib_core_PathProxy_js__WEBPACK_IMPORTED_MODULE_12__[\"normalizeArcAngles\"])(angles, !clockwise);\n    startAngle = angles[0];\n    endAngle = angles[1];\n    var angleRangeSpan = endAngle - startAngle;\n    var prevEndAngle = startAngle;\n\n    for (var i = 0; showAxis && i < colorList.length; i++) {\n      // Clamp\n      var percent = Math.min(Math.max(colorList[i][0], 0), 1);\n      endAngle = startAngle + angleRangeSpan * percent;\n      var sector = new MainPath({\n        shape: {\n          startAngle: prevEndAngle,\n          endAngle: endAngle,\n          cx: posInfo.cx,\n          cy: posInfo.cy,\n          clockwise: clockwise,\n          r0: posInfo.r - axisLineWidth,\n          r: posInfo.r\n        },\n        silent: true\n      });\n      sector.setStyle({\n        fill: colorList[i][1]\n      });\n      sector.setStyle(lineStyleModel.getLineStyle( // Because we use sector to simulate arc\n      // so the properties for stroking are useless\n      ['color', 'width']));\n      group.add(sector);\n      prevEndAngle = endAngle;\n    }\n\n    var getColor = function (percent) {\n      // Less than 0\n      if (percent <= 0) {\n        return colorList[0][1];\n      }\n\n      var i;\n\n      for (i = 0; i < colorList.length; i++) {\n        if (colorList[i][0] >= percent && (i === 0 ? 0 : colorList[i - 1][0]) < percent) {\n          return colorList[i][1];\n        }\n      } // More than 1\n\n\n      return colorList[i - 1][1];\n    };\n\n    this._renderTicks(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);\n\n    this._renderTitleAndDetail(seriesModel, ecModel, api, getColor, posInfo);\n\n    this._renderAnchor(seriesModel, posInfo);\n\n    this._renderPointer(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);\n  };\n\n  GaugeView.prototype._renderTicks = function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {\n    var group = this.group;\n    var cx = posInfo.cx;\n    var cy = posInfo.cy;\n    var r = posInfo.r;\n    var minVal = +seriesModel.get('min');\n    var maxVal = +seriesModel.get('max');\n    var splitLineModel = seriesModel.getModel('splitLine');\n    var tickModel = seriesModel.getModel('axisTick');\n    var labelModel = seriesModel.getModel('axisLabel');\n    var splitNumber = seriesModel.get('splitNumber');\n    var subSplitNumber = tickModel.get('splitNumber');\n    var splitLineLen = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(splitLineModel.get('length'), r);\n    var tickLen = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(tickModel.get('length'), r);\n    var angle = startAngle;\n    var step = (endAngle - startAngle) / splitNumber;\n    var subStep = step / subSplitNumber;\n    var splitLineStyle = splitLineModel.getModel('lineStyle').getLineStyle();\n    var tickLineStyle = tickModel.getModel('lineStyle').getLineStyle();\n    var splitLineDistance = splitLineModel.get('distance');\n    var unitX;\n    var unitY;\n\n    for (var i = 0; i <= splitNumber; i++) {\n      unitX = Math.cos(angle);\n      unitY = Math.sin(angle); // Split line\n\n      if (splitLineModel.get('show')) {\n        var distance = splitLineDistance ? splitLineDistance + axisLineWidth : axisLineWidth;\n        var splitLine = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n          shape: {\n            x1: unitX * (r - distance) + cx,\n            y1: unitY * (r - distance) + cy,\n            x2: unitX * (r - splitLineLen - distance) + cx,\n            y2: unitY * (r - splitLineLen - distance) + cy\n          },\n          style: splitLineStyle,\n          silent: true\n        });\n\n        if (splitLineStyle.stroke === 'auto') {\n          splitLine.setStyle({\n            stroke: getColor(i / splitNumber)\n          });\n        }\n\n        group.add(splitLine);\n      } // Label\n\n\n      if (labelModel.get('show')) {\n        var distance = labelModel.get('distance') + splitLineDistance;\n        var label = formatLabel(Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"round\"])(i / splitNumber * (maxVal - minVal) + minVal), labelModel.get('formatter'));\n        var autoColor = getColor(i / splitNumber);\n        var textStyleX = unitX * (r - splitLineLen - distance) + cx;\n        var textStyleY = unitY * (r - splitLineLen - distance) + cy;\n        var rotateType = labelModel.get('rotate');\n        var rotate = 0;\n\n        if (rotateType === 'radial') {\n          rotate = -angle + 2 * Math.PI;\n\n          if (rotate > Math.PI / 2) {\n            rotate += Math.PI;\n          }\n        } else if (rotateType === 'tangential') {\n          rotate = -angle - Math.PI / 2;\n        } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isNumber\"])(rotateType)) {\n          rotate = rotateType * Math.PI / 180;\n        }\n\n        if (rotate === 0) {\n          group.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n            style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(labelModel, {\n              text: label,\n              x: textStyleX,\n              y: textStyleY,\n              verticalAlign: unitY < -0.8 ? 'top' : unitY > 0.8 ? 'bottom' : 'middle',\n              align: unitX < -0.4 ? 'left' : unitX > 0.4 ? 'right' : 'center'\n            }, {\n              inheritColor: autoColor\n            }),\n            silent: true\n          }));\n        } else {\n          group.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n            style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(labelModel, {\n              text: label,\n              x: textStyleX,\n              y: textStyleY,\n              verticalAlign: 'middle',\n              align: 'center'\n            }, {\n              inheritColor: autoColor\n            }),\n            silent: true,\n            originX: textStyleX,\n            originY: textStyleY,\n            rotation: rotate\n          }));\n        }\n      } // Axis tick\n\n\n      if (tickModel.get('show') && i !== splitNumber) {\n        var distance = tickModel.get('distance');\n        distance = distance ? distance + axisLineWidth : axisLineWidth;\n\n        for (var j = 0; j <= subSplitNumber; j++) {\n          unitX = Math.cos(angle);\n          unitY = Math.sin(angle);\n          var tickLine = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n            shape: {\n              x1: unitX * (r - distance) + cx,\n              y1: unitY * (r - distance) + cy,\n              x2: unitX * (r - tickLen - distance) + cx,\n              y2: unitY * (r - tickLen - distance) + cy\n            },\n            silent: true,\n            style: tickLineStyle\n          });\n\n          if (tickLineStyle.stroke === 'auto') {\n            tickLine.setStyle({\n              stroke: getColor((i + j / subSplitNumber) / splitNumber)\n            });\n          }\n\n          group.add(tickLine);\n          angle += subStep;\n        }\n\n        angle -= subStep;\n      } else {\n        angle += step;\n      }\n    }\n  };\n\n  GaugeView.prototype._renderPointer = function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {\n    var group = this.group;\n    var oldData = this._data;\n    var oldProgressData = this._progressEls;\n    var progressList = [];\n    var showPointer = seriesModel.get(['pointer', 'show']);\n    var progressModel = seriesModel.getModel('progress');\n    var showProgress = progressModel.get('show');\n    var data = seriesModel.getData();\n    var valueDim = data.mapDimension('value');\n    var minVal = +seriesModel.get('min');\n    var maxVal = +seriesModel.get('max');\n    var valueExtent = [minVal, maxVal];\n    var angleExtent = [startAngle, endAngle];\n\n    function createPointer(idx, angle) {\n      var itemModel = data.getItemModel(idx);\n      var pointerModel = itemModel.getModel('pointer');\n      var pointerWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(pointerModel.get('width'), posInfo.r);\n      var pointerLength = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(pointerModel.get('length'), posInfo.r);\n      var pointerStr = seriesModel.get(['pointer', 'icon']);\n      var pointerOffset = pointerModel.get('offsetCenter');\n      var pointerOffsetX = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(pointerOffset[0], posInfo.r);\n      var pointerOffsetY = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(pointerOffset[1], posInfo.r);\n      var pointerKeepAspect = pointerModel.get('keepAspect');\n      var pointer; // not exist icon type will be set 'rect'\n\n      if (pointerStr) {\n        pointer = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_8__[\"createSymbol\"])(pointerStr, pointerOffsetX - pointerWidth / 2, pointerOffsetY - pointerLength, pointerWidth, pointerLength, null, pointerKeepAspect);\n      } else {\n        pointer = new _PointerPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]({\n          shape: {\n            angle: -Math.PI / 2,\n            width: pointerWidth,\n            r: pointerLength,\n            x: pointerOffsetX,\n            y: pointerOffsetY\n          }\n        });\n      }\n\n      pointer.rotation = -(angle + Math.PI / 2);\n      pointer.x = posInfo.cx;\n      pointer.y = posInfo.cy;\n      return pointer;\n    }\n\n    function createProgress(idx, endAngle) {\n      var roundCap = progressModel.get('roundCap');\n      var ProgressPath = roundCap ? _util_shape_sausage_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"];\n      var isOverlap = progressModel.get('overlap');\n      var progressWidth = isOverlap ? progressModel.get('width') : axisLineWidth / data.count();\n      var r0 = isOverlap ? posInfo.r - progressWidth : posInfo.r - (idx + 1) * progressWidth;\n      var r = isOverlap ? posInfo.r : posInfo.r - idx * progressWidth;\n      var progress = new ProgressPath({\n        shape: {\n          startAngle: startAngle,\n          endAngle: endAngle,\n          cx: posInfo.cx,\n          cy: posInfo.cy,\n          clockwise: clockwise,\n          r0: r0,\n          r: r\n        }\n      });\n      isOverlap && (progress.z2 = maxVal - data.get(valueDim, idx) % maxVal);\n      return progress;\n    }\n\n    if (showProgress || showPointer) {\n      data.diff(oldData).add(function (idx) {\n        var val = data.get(valueDim, idx);\n\n        if (showPointer) {\n          var pointer = createPointer(idx, startAngle); // TODO hide pointer on NaN value?\n\n          _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](pointer, {\n            rotation: -((isNaN(+val) ? angleExtent[0] : Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(val, valueExtent, angleExtent, true)) + Math.PI / 2)\n          }, seriesModel);\n          group.add(pointer);\n          data.setItemGraphicEl(idx, pointer);\n        }\n\n        if (showProgress) {\n          var progress = createProgress(idx, startAngle);\n          var isClip = progressModel.get('clip');\n          _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](progress, {\n            shape: {\n              endAngle: Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(val, valueExtent, angleExtent, isClip)\n            }\n          }, seriesModel);\n          group.add(progress); // Add data index and series index for indexing the data by element\n          // Useful in tooltip\n\n          Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_11__[\"setCommonECData\"])(seriesModel.seriesIndex, data.dataType, idx, progress);\n          progressList[idx] = progress;\n        }\n      }).update(function (newIdx, oldIdx) {\n        var val = data.get(valueDim, newIdx);\n\n        if (showPointer) {\n          var previousPointer = oldData.getItemGraphicEl(oldIdx);\n          var previousRotate = previousPointer ? previousPointer.rotation : startAngle;\n          var pointer = createPointer(newIdx, previousRotate);\n          pointer.rotation = previousRotate;\n          _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](pointer, {\n            rotation: -((isNaN(+val) ? angleExtent[0] : Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(val, valueExtent, angleExtent, true)) + Math.PI / 2)\n          }, seriesModel);\n          group.add(pointer);\n          data.setItemGraphicEl(newIdx, pointer);\n        }\n\n        if (showProgress) {\n          var previousProgress = oldProgressData[oldIdx];\n          var previousEndAngle = previousProgress ? previousProgress.shape.endAngle : startAngle;\n          var progress = createProgress(newIdx, previousEndAngle);\n          var isClip = progressModel.get('clip');\n          _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](progress, {\n            shape: {\n              endAngle: Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(val, valueExtent, angleExtent, isClip)\n            }\n          }, seriesModel);\n          group.add(progress); // Add data index and series index for indexing the data by element\n          // Useful in tooltip\n\n          Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_11__[\"setCommonECData\"])(seriesModel.seriesIndex, data.dataType, newIdx, progress);\n          progressList[newIdx] = progress;\n        }\n      }).execute();\n      data.each(function (idx) {\n        var itemModel = data.getItemModel(idx);\n        var emphasisModel = itemModel.getModel('emphasis');\n        var focus = emphasisModel.get('focus');\n        var blurScope = emphasisModel.get('blurScope');\n        var emphasisDisabled = emphasisModel.get('disabled');\n\n        if (showPointer) {\n          var pointer = data.getItemGraphicEl(idx);\n          var symbolStyle = data.getItemVisual(idx, 'style');\n          var visualColor = symbolStyle.fill;\n\n          if (pointer instanceof zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n            var pathStyle = pointer.style;\n            pointer.useStyle(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"extend\"])({\n              image: pathStyle.image,\n              x: pathStyle.x,\n              y: pathStyle.y,\n              width: pathStyle.width,\n              height: pathStyle.height\n            }, symbolStyle));\n          } else {\n            pointer.useStyle(symbolStyle);\n            pointer.type !== 'pointer' && pointer.setColor(visualColor);\n          }\n\n          pointer.setStyle(itemModel.getModel(['pointer', 'itemStyle']).getItemStyle());\n\n          if (pointer.style.fill === 'auto') {\n            pointer.setStyle('fill', getColor(Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(data.get(valueDim, idx), valueExtent, [0, 1], true)));\n          }\n\n          pointer.z2EmphasisLift = 0;\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"setStatesStylesFromModel\"])(pointer, itemModel);\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(pointer, focus, blurScope, emphasisDisabled);\n        }\n\n        if (showProgress) {\n          var progress = progressList[idx];\n          progress.useStyle(data.getItemVisual(idx, 'style'));\n          progress.setStyle(itemModel.getModel(['progress', 'itemStyle']).getItemStyle());\n          progress.z2EmphasisLift = 0;\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"setStatesStylesFromModel\"])(progress, itemModel);\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(progress, focus, blurScope, emphasisDisabled);\n        }\n      });\n      this._progressEls = progressList;\n    }\n  };\n\n  GaugeView.prototype._renderAnchor = function (seriesModel, posInfo) {\n    var anchorModel = seriesModel.getModel('anchor');\n    var showAnchor = anchorModel.get('show');\n\n    if (showAnchor) {\n      var anchorSize = anchorModel.get('size');\n      var anchorType = anchorModel.get('icon');\n      var offsetCenter = anchorModel.get('offsetCenter');\n      var anchorKeepAspect = anchorModel.get('keepAspect');\n      var anchor = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_8__[\"createSymbol\"])(anchorType, posInfo.cx - anchorSize / 2 + Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(offsetCenter[0], posInfo.r), posInfo.cy - anchorSize / 2 + Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(offsetCenter[1], posInfo.r), anchorSize, anchorSize, null, anchorKeepAspect);\n      anchor.z2 = anchorModel.get('showAbove') ? 1 : 0;\n      anchor.setStyle(anchorModel.getModel('itemStyle').getItemStyle());\n      this.group.add(anchor);\n    }\n  };\n\n  GaugeView.prototype._renderTitleAndDetail = function (seriesModel, ecModel, api, getColor, posInfo) {\n    var _this = this;\n\n    var data = seriesModel.getData();\n    var valueDim = data.mapDimension('value');\n    var minVal = +seriesModel.get('min');\n    var maxVal = +seriesModel.get('max');\n    var contentGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n    var newTitleEls = [];\n    var newDetailEls = [];\n    var hasAnimation = seriesModel.isAnimationEnabled();\n    var showPointerAbove = seriesModel.get(['pointer', 'showAbove']);\n    data.diff(this._data).add(function (idx) {\n      newTitleEls[idx] = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n        silent: true\n      });\n      newDetailEls[idx] = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n        silent: true\n      });\n    }).update(function (idx, oldIdx) {\n      newTitleEls[idx] = _this._titleEls[oldIdx];\n      newDetailEls[idx] = _this._detailEls[oldIdx];\n    }).execute();\n    data.each(function (idx) {\n      var itemModel = data.getItemModel(idx);\n      var value = data.get(valueDim, idx);\n      var itemGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n      var autoColor = getColor(Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(value, [minVal, maxVal], [0, 1], true));\n      var itemTitleModel = itemModel.getModel('title');\n\n      if (itemTitleModel.get('show')) {\n        var titleOffsetCenter = itemTitleModel.get('offsetCenter');\n        var titleX = posInfo.cx + Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(titleOffsetCenter[0], posInfo.r);\n        var titleY = posInfo.cy + Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(titleOffsetCenter[1], posInfo.r);\n        var labelEl = newTitleEls[idx];\n        labelEl.attr({\n          z2: showPointerAbove ? 0 : 2,\n          style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(itemTitleModel, {\n            x: titleX,\n            y: titleY,\n            text: data.getName(idx),\n            align: 'center',\n            verticalAlign: 'middle'\n          }, {\n            inheritColor: autoColor\n          })\n        });\n        itemGroup.add(labelEl);\n      }\n\n      var itemDetailModel = itemModel.getModel('detail');\n\n      if (itemDetailModel.get('show')) {\n        var detailOffsetCenter = itemDetailModel.get('offsetCenter');\n        var detailX = posInfo.cx + Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(detailOffsetCenter[0], posInfo.r);\n        var detailY = posInfo.cy + Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(detailOffsetCenter[1], posInfo.r);\n        var width = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(itemDetailModel.get('width'), posInfo.r);\n        var height = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(itemDetailModel.get('height'), posInfo.r);\n        var detailColor = seriesModel.get(['progress', 'show']) ? data.getItemVisual(idx, 'style').fill : autoColor;\n        var labelEl = newDetailEls[idx];\n        var formatter_1 = itemDetailModel.get('formatter');\n        labelEl.attr({\n          z2: showPointerAbove ? 0 : 2,\n          style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(itemDetailModel, {\n            x: detailX,\n            y: detailY,\n            text: formatLabel(value, formatter_1),\n            width: isNaN(width) ? null : width,\n            height: isNaN(height) ? null : height,\n            align: 'center',\n            verticalAlign: 'middle'\n          }, {\n            inheritColor: detailColor\n          })\n        });\n        Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"setLabelValueAnimation\"])(labelEl, {\n          normal: itemDetailModel\n        }, value, function (value) {\n          return formatLabel(value, formatter_1);\n        });\n        hasAnimation && Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"animateLabelValue\"])(labelEl, idx, data, seriesModel, {\n          getFormattedLabel: function (labelDataIndex, status, dataType, labelDimIndex, fmt, extendParams) {\n            return formatLabel(extendParams ? extendParams.interpolatedValue : value, formatter_1);\n          }\n        });\n        itemGroup.add(labelEl);\n      }\n\n      contentGroup.add(itemGroup);\n    });\n    this.group.add(contentGroup);\n    this._titleEls = newTitleEls;\n    this._detailEls = newDetailEls;\n  };\n\n  GaugeView.type = 'gauge';\n  return GaugeView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GaugeView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/gauge/GaugeView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/gauge/PointerPath.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/gauge/PointerPath.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar PointerShape =\n/** @class */\nfunction () {\n  function PointerShape() {\n    this.angle = 0;\n    this.width = 10;\n    this.r = 10;\n    this.x = 0;\n    this.y = 0;\n  }\n\n  return PointerShape;\n}();\n\nvar PointerPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PointerPath, _super);\n\n  function PointerPath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'pointer';\n    return _this;\n  }\n\n  PointerPath.prototype.getDefaultShape = function () {\n    return new PointerShape();\n  };\n\n  PointerPath.prototype.buildPath = function (ctx, shape) {\n    var mathCos = Math.cos;\n    var mathSin = Math.sin;\n    var r = shape.r;\n    var width = shape.width;\n    var angle = shape.angle;\n    var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);\n    var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);\n    angle = shape.angle - Math.PI / 2;\n    ctx.moveTo(x, y);\n    ctx.lineTo(shape.x + mathCos(angle) * width, shape.y + mathSin(angle) * width);\n    ctx.lineTo(shape.x + mathCos(shape.angle) * r, shape.y + mathSin(shape.angle) * r);\n    ctx.lineTo(shape.x - mathCos(angle) * width, shape.y - mathSin(angle) * width);\n    ctx.lineTo(x, y);\n  };\n\n  return PointerPath;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PointerPath);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/gauge/PointerPath.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/gauge/install.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/gauge/install.js ***!
  \*********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _GaugeView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GaugeView.js */ \"./node_modules/echarts/lib/chart/gauge/GaugeView.js\");\n/* harmony import */ var _GaugeSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GaugeSeries.js */ \"./node_modules/echarts/lib/chart/gauge/GaugeSeries.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction install(registers) {\n  registers.registerChartView(_GaugeView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_GaugeSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/gauge/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/GraphSeries.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/GraphSeries.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _helper_createGraphFromNodeEdge_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helper/createGraphFromNodeEdge.js */ \"./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js\");\n/* harmony import */ var _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../visual/LegendVisualProvider.js */ \"./node_modules/echarts/lib/visual/LegendVisualProvider.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _component_tooltip_seriesFormatTooltip_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../component/tooltip/seriesFormatTooltip.js */ \"./node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js\");\n/* harmony import */ var _helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helper/multipleGraphEdgeHelper.js */ \"./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\nvar GraphSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GraphSeriesModel, _super);\n\n  function GraphSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GraphSeriesModel.type;\n    _this.hasSymbolVisual = true;\n    return _this;\n  }\n\n  GraphSeriesModel.prototype.init = function (option) {\n    _super.prototype.init.apply(this, arguments);\n\n    var self = this;\n\n    function getCategoriesData() {\n      return self._categoriesData;\n    } // Provide data for legend select\n\n\n    this.legendVisualProvider = new _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](getCategoriesData, getCategoriesData);\n    this.fillDataTextStyle(option.edges || option.links);\n\n    this._updateCategoriesData();\n  };\n\n  GraphSeriesModel.prototype.mergeOption = function (option) {\n    _super.prototype.mergeOption.apply(this, arguments);\n\n    this.fillDataTextStyle(option.edges || option.links);\n\n    this._updateCategoriesData();\n  };\n\n  GraphSeriesModel.prototype.mergeDefaultAndTheme = function (option) {\n    _super.prototype.mergeDefaultAndTheme.apply(this, arguments);\n\n    Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"defaultEmphasis\"])(option, 'edgeLabel', ['show']);\n  };\n\n  GraphSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    var edges = option.edges || option.links || [];\n    var nodes = option.data || option.nodes || [];\n    var self = this;\n\n    if (nodes && edges) {\n      // auto curveness\n      Object(_helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_10__[\"initCurvenessList\"])(this);\n      var graph = Object(_helper_createGraphFromNodeEdge_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(nodes, edges, this, true, beforeLink);\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](graph.edges, function (edge) {\n        Object(_helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_10__[\"createEdgeMapForCurveness\"])(edge.node1, edge.node2, this, edge.dataIndex);\n      }, this);\n      return graph.data;\n    }\n\n    function beforeLink(nodeData, edgeData) {\n      // Overwrite nodeData.getItemModel to\n      nodeData.wrapMethod('getItemModel', function (model) {\n        var categoriesModels = self._categoriesModels;\n        var categoryIdx = model.getShallow('category');\n        var categoryModel = categoriesModels[categoryIdx];\n\n        if (categoryModel) {\n          categoryModel.parentModel = model.parentModel;\n          model.parentModel = categoryModel;\n        }\n\n        return model;\n      }); // TODO Inherit resolveParentPath by default in Model#getModel?\n\n      var oldGetModel = _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].prototype.getModel;\n\n      function newGetModel(path, parentModel) {\n        var model = oldGetModel.call(this, path, parentModel);\n        model.resolveParentPath = resolveParentPath;\n        return model;\n      }\n\n      edgeData.wrapMethod('getItemModel', function (model) {\n        model.resolveParentPath = resolveParentPath;\n        model.getModel = newGetModel;\n        return model;\n      });\n\n      function resolveParentPath(pathArr) {\n        if (pathArr && (pathArr[0] === 'label' || pathArr[1] === 'label')) {\n          var newPathArr = pathArr.slice();\n\n          if (pathArr[0] === 'label') {\n            newPathArr[0] = 'edgeLabel';\n          } else if (pathArr[1] === 'label') {\n            newPathArr[1] = 'edgeLabel';\n          }\n\n          return newPathArr;\n        }\n\n        return pathArr;\n      }\n    }\n  };\n\n  GraphSeriesModel.prototype.getGraph = function () {\n    return this.getData().graph;\n  };\n\n  GraphSeriesModel.prototype.getEdgeData = function () {\n    return this.getGraph().edgeData;\n  };\n\n  GraphSeriesModel.prototype.getCategoriesData = function () {\n    return this._categoriesData;\n  };\n\n  GraphSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    if (dataType === 'edge') {\n      var nodeData = this.getData();\n      var params = this.getDataParams(dataIndex, dataType);\n      var edge = nodeData.graph.getEdgeByIndex(dataIndex);\n      var sourceName = nodeData.getName(edge.node1.dataIndex);\n      var targetName = nodeData.getName(edge.node2.dataIndex);\n      var nameArr = [];\n      sourceName != null && nameArr.push(sourceName);\n      targetName != null && nameArr.push(targetName);\n      return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_8__[\"createTooltipMarkup\"])('nameValue', {\n        name: nameArr.join(' > '),\n        value: params.value,\n        noValue: params.value == null\n      });\n    } // dataType === 'node' or empty\n\n\n    var nodeMarkup = Object(_component_tooltip_seriesFormatTooltip_js__WEBPACK_IMPORTED_MODULE_9__[\"defaultSeriesFormatTooltip\"])({\n      series: this,\n      dataIndex: dataIndex,\n      multipleSeries: multipleSeries\n    });\n    return nodeMarkup;\n  };\n\n  GraphSeriesModel.prototype._updateCategoriesData = function () {\n    var categories = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"](this.option.categories || [], function (category) {\n      // Data must has value\n      return category.value != null ? category : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"]({\n        value: 0\n      }, category);\n    });\n    var categoriesData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](['value'], this);\n    categoriesData.initData(categories);\n    this._categoriesData = categoriesData;\n    this._categoriesModels = categoriesData.mapArray(function (idx) {\n      return categoriesData.getItemModel(idx);\n    });\n  };\n\n  GraphSeriesModel.prototype.setZoom = function (zoom) {\n    this.option.zoom = zoom;\n  };\n\n  GraphSeriesModel.prototype.setCenter = function (center) {\n    this.option.center = center;\n  };\n\n  GraphSeriesModel.prototype.isAnimationEnabled = function () {\n    return _super.prototype.isAnimationEnabled.call(this) // Not enable animation when do force layout\n    && !(this.get('layout') === 'force' && this.get(['force', 'layoutAnimation']));\n  };\n\n  GraphSeriesModel.type = 'series.graph';\n  GraphSeriesModel.dependencies = ['grid', 'polar', 'geo', 'singleAxis', 'calendar'];\n  GraphSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'view',\n    // Default option for all coordinate systems\n    // xAxisIndex: 0,\n    // yAxisIndex: 0,\n    // polarIndex: 0,\n    // geoIndex: 0,\n    legendHoverLink: true,\n    layout: null,\n    // Configuration of circular layout\n    circular: {\n      rotateLabel: false\n    },\n    // Configuration of force directed layout\n    force: {\n      initLayout: null,\n      // Node repulsion. Can be an array to represent range.\n      repulsion: [0, 50],\n      gravity: 0.1,\n      // Initial friction\n      friction: 0.6,\n      // Edge length. Can be an array to represent range.\n      edgeLength: 30,\n      layoutAnimation: true\n    },\n    left: 'center',\n    top: 'center',\n    // right: null,\n    // bottom: null,\n    // width: '80%',\n    // height: '80%',\n    symbol: 'circle',\n    symbolSize: 10,\n    edgeSymbol: ['none', 'none'],\n    edgeSymbolSize: 10,\n    edgeLabel: {\n      position: 'middle',\n      distance: 5\n    },\n    draggable: false,\n    roam: false,\n    // Default on center of graph\n    center: null,\n    zoom: 1,\n    // Symbol size scale ratio in roam\n    nodeScaleRatio: 0.6,\n    // cursor: null,\n    // categories: [],\n    // data: []\n    // Or\n    // nodes: []\n    //\n    // links: []\n    // Or\n    // edges: []\n    label: {\n      show: false,\n      formatter: '{b}'\n    },\n    itemStyle: {},\n    lineStyle: {\n      color: '#aaa',\n      width: 1,\n      opacity: 0.5\n    },\n    emphasis: {\n      scale: true,\n      label: {\n        show: true\n      }\n    },\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    }\n  };\n  return GraphSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GraphSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/GraphSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/GraphView.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/GraphView.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/SymbolDraw.js */ \"./node_modules/echarts/lib/chart/helper/SymbolDraw.js\");\n/* harmony import */ var _helper_LineDraw_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/LineDraw.js */ \"./node_modules/echarts/lib/chart/helper/LineDraw.js\");\n/* harmony import */ var _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../component/helper/RoamController.js */ \"./node_modules/echarts/lib/component/helper/RoamController.js\");\n/* harmony import */ var _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/helper/roamHelper.js */ \"./node_modules/echarts/lib/component/helper/roamHelper.js\");\n/* harmony import */ var _component_helper_cursorHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../component/helper/cursorHelper.js */ \"./node_modules/echarts/lib/component/helper/cursorHelper.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _adjustEdge_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./adjustEdge.js */ \"./node_modules/echarts/lib/chart/graph/adjustEdge.js\");\n/* harmony import */ var _graphHelper_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./graphHelper.js */ \"./node_modules/echarts/lib/chart/graph/graphHelper.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./simpleLayoutHelper.js */ \"./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js\");\n/* harmony import */ var _circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./circularLayoutHelper.js */ \"./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isViewCoordSys(coordSys) {\n  return coordSys.type === 'view';\n}\n\nvar GraphView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GraphView, _super);\n\n  function GraphView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GraphView.type;\n    return _this;\n  }\n\n  GraphView.prototype.init = function (ecModel, api) {\n    var symbolDraw = new _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    var lineDraw = new _helper_LineDraw_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    var group = this.group;\n    this._controller = new _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](api.getZr());\n    this._controllerHost = {\n      target: group\n    };\n    group.add(symbolDraw.group);\n    group.add(lineDraw.group);\n    this._symbolDraw = symbolDraw;\n    this._lineDraw = lineDraw;\n    this._firstRender = true;\n  };\n\n  GraphView.prototype.render = function (seriesModel, ecModel, api) {\n    var _this = this;\n\n    var coordSys = seriesModel.coordinateSystem;\n    this._model = seriesModel;\n    var symbolDraw = this._symbolDraw;\n    var lineDraw = this._lineDraw;\n    var group = this.group;\n\n    if (isViewCoordSys(coordSys)) {\n      var groupNewProp = {\n        x: coordSys.x,\n        y: coordSys.y,\n        scaleX: coordSys.scaleX,\n        scaleY: coordSys.scaleY\n      };\n\n      if (this._firstRender) {\n        group.attr(groupNewProp);\n      } else {\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_6__[\"updateProps\"](group, groupNewProp, seriesModel);\n      }\n    } // Fix edge contact point with node\n\n\n    Object(_adjustEdge_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(seriesModel.getGraph(), Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getNodeGlobalScale\"])(seriesModel));\n    var data = seriesModel.getData();\n    symbolDraw.updateData(data);\n    var edgeData = seriesModel.getEdgeData(); // TODO: TYPE\n\n    lineDraw.updateData(edgeData);\n\n    this._updateNodeAndLinkScale();\n\n    this._updateController(seriesModel, ecModel, api);\n\n    clearTimeout(this._layoutTimeout);\n    var forceLayout = seriesModel.forceLayout;\n    var layoutAnimation = seriesModel.get(['force', 'layoutAnimation']);\n\n    if (forceLayout) {\n      this._startForceLayoutIteration(forceLayout, layoutAnimation);\n    }\n\n    var layout = seriesModel.get('layout');\n    data.graph.eachNode(function (node) {\n      var idx = node.dataIndex;\n      var el = node.getGraphicEl();\n      var itemModel = node.getModel();\n\n      if (!el) {\n        return;\n      } // Update draggable\n\n\n      el.off('drag').off('dragend');\n      var draggable = itemModel.get('draggable');\n\n      if (draggable) {\n        el.on('drag', function (e) {\n          switch (layout) {\n            case 'force':\n              forceLayout.warmUp();\n              !_this._layouting && _this._startForceLayoutIteration(forceLayout, layoutAnimation);\n              forceLayout.setFixed(idx); // Write position back to layout\n\n              data.setItemLayout(idx, [el.x, el.y]);\n              break;\n\n            case 'circular':\n              data.setItemLayout(idx, [el.x, el.y]); // mark node fixed\n\n              node.setLayout({\n                fixed: true\n              }, true); // recalculate circular layout\n\n              Object(_circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_12__[\"circularLayout\"])(seriesModel, 'symbolSize', node, [e.offsetX, e.offsetY]);\n\n              _this.updateLayout(seriesModel);\n\n              break;\n\n            case 'none':\n            default:\n              data.setItemLayout(idx, [el.x, el.y]); // update edge\n\n              Object(_simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_11__[\"simpleLayoutEdge\"])(seriesModel.getGraph(), seriesModel);\n\n              _this.updateLayout(seriesModel);\n\n              break;\n          }\n        }).on('dragend', function () {\n          if (forceLayout) {\n            forceLayout.setUnfixed(idx);\n          }\n        });\n      }\n\n      el.setDraggable(draggable && !!forceLayout, !!itemModel.get('cursor'));\n      var focus = itemModel.get(['emphasis', 'focus']);\n\n      if (focus === 'adjacency') {\n        Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_10__[\"getECData\"])(el).focus = node.getAdjacentDataIndices();\n      }\n    });\n    data.graph.eachEdge(function (edge) {\n      var el = edge.getGraphicEl();\n      var focus = edge.getModel().get(['emphasis', 'focus']);\n\n      if (!el) {\n        return;\n      }\n\n      if (focus === 'adjacency') {\n        Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_10__[\"getECData\"])(el).focus = {\n          edge: [edge.dataIndex],\n          node: [edge.node1.dataIndex, edge.node2.dataIndex]\n        };\n      }\n    });\n    var circularRotateLabel = seriesModel.get('layout') === 'circular' && seriesModel.get(['circular', 'rotateLabel']);\n    var cx = data.getLayout('cx');\n    var cy = data.getLayout('cy');\n    data.graph.eachNode(function (node) {\n      Object(_circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_12__[\"rotateNodeLabel\"])(node, circularRotateLabel, cx, cy);\n    });\n    this._firstRender = false;\n  };\n\n  GraphView.prototype.dispose = function () {\n    this._controller && this._controller.dispose();\n    this._controllerHost = null;\n  };\n\n  GraphView.prototype._startForceLayoutIteration = function (forceLayout, layoutAnimation) {\n    var self = this;\n\n    (function step() {\n      forceLayout.step(function (stopped) {\n        self.updateLayout(self._model);\n        (self._layouting = !stopped) && (layoutAnimation ? self._layoutTimeout = setTimeout(step, 16) : step());\n      });\n    })();\n  };\n\n  GraphView.prototype._updateController = function (seriesModel, ecModel, api) {\n    var _this = this;\n\n    var controller = this._controller;\n    var controllerHost = this._controllerHost;\n    var group = this.group;\n    controller.setPointerChecker(function (e, x, y) {\n      var rect = group.getBoundingRect();\n      rect.applyTransform(group.transform);\n      return rect.contain(x, y) && !Object(_component_helper_cursorHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"onIrrelevantElement\"])(e, api, seriesModel);\n    });\n\n    if (!isViewCoordSys(seriesModel.coordinateSystem)) {\n      controller.disable();\n      return;\n    }\n\n    controller.enable(seriesModel.get('roam'));\n    controllerHost.zoomLimit = seriesModel.get('scaleLimit');\n    controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\n    controller.off('pan').off('zoom').on('pan', function (e) {\n      _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"updateViewOnPan\"](controllerHost, e.dx, e.dy);\n      api.dispatchAction({\n        seriesId: seriesModel.id,\n        type: 'graphRoam',\n        dx: e.dx,\n        dy: e.dy\n      });\n    }).on('zoom', function (e) {\n      _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"updateViewOnZoom\"](controllerHost, e.scale, e.originX, e.originY);\n      api.dispatchAction({\n        seriesId: seriesModel.id,\n        type: 'graphRoam',\n        zoom: e.scale,\n        originX: e.originX,\n        originY: e.originY\n      });\n\n      _this._updateNodeAndLinkScale();\n\n      Object(_adjustEdge_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(seriesModel.getGraph(), Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getNodeGlobalScale\"])(seriesModel));\n\n      _this._lineDraw.updateLayout(); // Only update label layout on zoom\n\n\n      api.updateLabelLayout();\n    });\n  };\n\n  GraphView.prototype._updateNodeAndLinkScale = function () {\n    var seriesModel = this._model;\n    var data = seriesModel.getData();\n    var nodeScale = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getNodeGlobalScale\"])(seriesModel);\n    data.eachItemGraphicEl(function (el, idx) {\n      el && el.setSymbolScale(nodeScale);\n    });\n  };\n\n  GraphView.prototype.updateLayout = function (seriesModel) {\n    Object(_adjustEdge_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(seriesModel.getGraph(), Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getNodeGlobalScale\"])(seriesModel));\n\n    this._symbolDraw.updateLayout();\n\n    this._lineDraw.updateLayout();\n  };\n\n  GraphView.prototype.remove = function (ecModel, api) {\n    this._symbolDraw && this._symbolDraw.remove();\n    this._lineDraw && this._lineDraw.remove();\n  };\n\n  GraphView.type = 'graph';\n  return GraphView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GraphView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/GraphView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/adjustEdge.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/adjustEdge.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return adjustEdge; });\n/* harmony import */ var zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _graphHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./graphHelper.js */ \"./node_modules/echarts/lib/chart/graph/graphHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar v1 = [];\nvar v2 = [];\nvar v3 = [];\nvar quadraticAt = zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"quadraticAt\"];\nvar v2DistSquare = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"distSquare\"];\nvar mathAbs = Math.abs;\n\nfunction intersectCurveCircle(curvePoints, center, radius) {\n  var p0 = curvePoints[0];\n  var p1 = curvePoints[1];\n  var p2 = curvePoints[2];\n  var d = Infinity;\n  var t;\n  var radiusSquare = radius * radius;\n  var interval = 0.1;\n\n  for (var _t = 0.1; _t <= 0.9; _t += 0.1) {\n    v1[0] = quadraticAt(p0[0], p1[0], p2[0], _t);\n    v1[1] = quadraticAt(p0[1], p1[1], p2[1], _t);\n    var diff = mathAbs(v2DistSquare(v1, center) - radiusSquare);\n\n    if (diff < d) {\n      d = diff;\n      t = _t;\n    }\n  } // Assume the segment is monotone，Find root through Bisection method\n  // At most 32 iteration\n\n\n  for (var i = 0; i < 32; i++) {\n    // let prev = t - interval;\n    var next = t + interval; // v1[0] = quadraticAt(p0[0], p1[0], p2[0], prev);\n    // v1[1] = quadraticAt(p0[1], p1[1], p2[1], prev);\n\n    v2[0] = quadraticAt(p0[0], p1[0], p2[0], t);\n    v2[1] = quadraticAt(p0[1], p1[1], p2[1], t);\n    v3[0] = quadraticAt(p0[0], p1[0], p2[0], next);\n    v3[1] = quadraticAt(p0[1], p1[1], p2[1], next);\n    var diff = v2DistSquare(v2, center) - radiusSquare;\n\n    if (mathAbs(diff) < 1e-2) {\n      break;\n    } // let prevDiff = v2DistSquare(v1, center) - radiusSquare;\n\n\n    var nextDiff = v2DistSquare(v3, center) - radiusSquare;\n    interval /= 2;\n\n    if (diff < 0) {\n      if (nextDiff >= 0) {\n        t = t + interval;\n      } else {\n        t = t - interval;\n      }\n    } else {\n      if (nextDiff >= 0) {\n        t = t - interval;\n      } else {\n        t = t + interval;\n      }\n    }\n  }\n\n  return t;\n} // Adjust edge to avoid\n\n\nfunction adjustEdge(graph, scale) {\n  var tmp0 = [];\n  var quadraticSubdivide = zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"quadraticSubdivide\"];\n  var pts = [[], [], []];\n  var pts2 = [[], []];\n  var v = [];\n  scale /= 2;\n  graph.eachEdge(function (edge, idx) {\n    var linePoints = edge.getLayout();\n    var fromSymbol = edge.getVisual('fromSymbol');\n    var toSymbol = edge.getVisual('toSymbol');\n\n    if (!linePoints.__original) {\n      linePoints.__original = [zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](linePoints[0]), zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](linePoints[1])];\n\n      if (linePoints[2]) {\n        linePoints.__original.push(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](linePoints[2]));\n      }\n    }\n\n    var originalPoints = linePoints.__original; // Quadratic curve\n\n    if (linePoints[2] != null) {\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](pts[0], originalPoints[0]);\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](pts[1], originalPoints[2]);\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](pts[2], originalPoints[1]);\n\n      if (fromSymbol && fromSymbol !== 'none') {\n        var symbolSize = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getSymbolSize\"])(edge.node1);\n        var t = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale); // Subdivide and get the second\n\n        quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);\n        pts[0][0] = tmp0[3];\n        pts[1][0] = tmp0[4];\n        quadraticSubdivide(pts[0][1], pts[1][1], pts[2][1], t, tmp0);\n        pts[0][1] = tmp0[3];\n        pts[1][1] = tmp0[4];\n      }\n\n      if (toSymbol && toSymbol !== 'none') {\n        var symbolSize = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getSymbolSize\"])(edge.node2);\n        var t = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale); // Subdivide and get the first\n\n        quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);\n        pts[1][0] = tmp0[1];\n        pts[2][0] = tmp0[2];\n        quadraticSubdivide(pts[0][1], pts[1][1], pts[2][1], t, tmp0);\n        pts[1][1] = tmp0[1];\n        pts[2][1] = tmp0[2];\n      } // Copy back to layout\n\n\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](linePoints[0], pts[0]);\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](linePoints[1], pts[2]);\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](linePoints[2], pts[1]);\n    } // Line\n    else {\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](pts2[0], originalPoints[0]);\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](pts2[1], originalPoints[1]);\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"sub\"](v, pts2[1], pts2[0]);\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"normalize\"](v, v);\n\n        if (fromSymbol && fromSymbol !== 'none') {\n          var symbolSize = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getSymbolSize\"])(edge.node1);\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"scaleAndAdd\"](pts2[0], pts2[0], v, symbolSize * scale);\n        }\n\n        if (toSymbol && toSymbol !== 'none') {\n          var symbolSize = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getSymbolSize\"])(edge.node2);\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"scaleAndAdd\"](pts2[1], pts2[1], v, -symbolSize * scale);\n        }\n\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](linePoints[0], pts2[0]);\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](linePoints[1], pts2[1]);\n      }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/adjustEdge.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/categoryFilter.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/categoryFilter.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return categoryFilter; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction categoryFilter(ecModel) {\n  var legendModels = ecModel.findComponents({\n    mainType: 'legend'\n  });\n\n  if (!legendModels || !legendModels.length) {\n    return;\n  }\n\n  ecModel.eachSeriesByType('graph', function (graphSeries) {\n    var categoriesData = graphSeries.getCategoriesData();\n    var graph = graphSeries.getGraph();\n    var data = graph.data;\n    var categoryNames = categoriesData.mapArray(categoriesData.getName);\n    data.filterSelf(function (idx) {\n      var model = data.getItemModel(idx);\n      var category = model.getShallow('category');\n\n      if (category != null) {\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(category)) {\n          category = categoryNames[category];\n        } // If in any legend component the status is not selected.\n\n\n        for (var i = 0; i < legendModels.length; i++) {\n          if (!legendModels[i].isSelected(category)) {\n            return false;\n          }\n        }\n      }\n\n      return true;\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/categoryFilter.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/categoryVisual.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/categoryVisual.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return categoryVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction categoryVisual(ecModel) {\n  var paletteScope = {};\n  ecModel.eachSeriesByType('graph', function (seriesModel) {\n    var categoriesData = seriesModel.getCategoriesData();\n    var data = seriesModel.getData();\n    var categoryNameIdxMap = {};\n    categoriesData.each(function (idx) {\n      var name = categoriesData.getName(idx); // Add prefix to avoid conflict with Object.prototype.\n\n      categoryNameIdxMap['ec-' + name] = idx;\n      var itemModel = categoriesData.getItemModel(idx);\n      var style = itemModel.getModel('itemStyle').getItemStyle();\n\n      if (!style.fill) {\n        // Get color from palette.\n        style.fill = seriesModel.getColorFromPalette(name, paletteScope);\n      }\n\n      categoriesData.setItemVisual(idx, 'style', style);\n      var symbolVisualList = ['symbol', 'symbolSize', 'symbolKeepAspect'];\n\n      for (var i = 0; i < symbolVisualList.length; i++) {\n        var symbolVisual = itemModel.getShallow(symbolVisualList[i], true);\n\n        if (symbolVisual != null) {\n          categoriesData.setItemVisual(idx, symbolVisualList[i], symbolVisual);\n        }\n      }\n    }); // Assign category color to visual\n\n    if (categoriesData.count()) {\n      data.each(function (idx) {\n        var model = data.getItemModel(idx);\n        var categoryIdx = model.getShallow('category');\n\n        if (categoryIdx != null) {\n          if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(categoryIdx)) {\n            categoryIdx = categoryNameIdxMap['ec-' + categoryIdx];\n          }\n\n          var categoryStyle = categoriesData.getItemVisual(categoryIdx, 'style');\n          var style = data.ensureUniqueItemVisual(idx, 'style');\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(style, categoryStyle);\n          var visualList = ['symbol', 'symbolSize', 'symbolKeepAspect'];\n\n          for (var i = 0; i < visualList.length; i++) {\n            data.setItemVisual(idx, visualList[i], categoriesData.getItemVisual(categoryIdx, visualList[i]));\n          }\n        }\n      });\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/categoryVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/circularLayout.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/circularLayout.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return graphCircularLayout; });\n/* harmony import */ var _circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./circularLayoutHelper.js */ \"./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction graphCircularLayout(ecModel) {\n  ecModel.eachSeriesByType('graph', function (seriesModel) {\n    if (seriesModel.get('layout') === 'circular') {\n      Object(_circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"circularLayout\"])(seriesModel, 'symbolSize');\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/circularLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js ***!
  \**********************************************************************/
/*! exports provided: circularLayout, rotateNodeLabel */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"circularLayout\", function() { return circularLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateNodeLabel\", function() { return rotateNodeLabel; });\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _graphHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./graphHelper.js */ \"./node_modules/echarts/lib/chart/graph/graphHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/multipleGraphEdgeHelper.js */ \"./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar PI = Math.PI;\nvar _symbolRadiansHalf = [];\n/**\n * `basedOn` can be:\n * 'value':\n *     This layout is not accurate and have same bad case. For example,\n *     if the min value is very smaller than the max value, the nodes\n *     with the min value probably overlap even though there is enough\n *     space to layout them. So we only use this approach in the as the\n *     init layout of the force layout.\n *     FIXME\n *     Probably we do not need this method any more but use\n *     `basedOn: 'symbolSize'` in force layout if\n *     delay its init operations to GraphView.\n * 'symbolSize':\n *     This approach work only if all of the symbol size calculated.\n *     That is, the progressive rendering is not applied to graph.\n *     FIXME\n *     If progressive rendering is applied to graph some day,\n *     probably we have to use `basedOn: 'value'`.\n */\n\nfunction circularLayout(seriesModel, basedOn, draggingNode, pointer) {\n  var coordSys = seriesModel.coordinateSystem;\n\n  if (coordSys && coordSys.type !== 'view') {\n    return;\n  }\n\n  var rect = coordSys.getBoundingRect();\n  var nodeData = seriesModel.getData();\n  var graph = nodeData.graph;\n  var cx = rect.width / 2 + rect.x;\n  var cy = rect.height / 2 + rect.y;\n  var r = Math.min(rect.width, rect.height) / 2;\n  var count = nodeData.count();\n  nodeData.setLayout({\n    cx: cx,\n    cy: cy\n  });\n\n  if (!count) {\n    return;\n  }\n\n  if (draggingNode) {\n    var _a = coordSys.pointToData(pointer),\n        tempX = _a[0],\n        tempY = _a[1];\n\n    var v = [tempX - cx, tempY - cy];\n    zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"normalize\"](v, v);\n    zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"scale\"](v, v, r);\n    draggingNode.setLayout([cx + v[0], cy + v[1]], true);\n    var circularRotateLabel = seriesModel.get(['circular', 'rotateLabel']);\n    rotateNodeLabel(draggingNode, circularRotateLabel, cx, cy);\n  }\n\n  _layoutNodesBasedOn[basedOn](seriesModel, graph, nodeData, r, cx, cy, count);\n\n  graph.eachEdge(function (edge, index) {\n    var curveness = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieve3\"](edge.getModel().get(['lineStyle', 'curveness']), Object(_helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getCurvenessForEdge\"])(edge, seriesModel, index), 0);\n    var p1 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](edge.node1.getLayout());\n    var p2 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](edge.node2.getLayout());\n    var cp1;\n    var x12 = (p1[0] + p2[0]) / 2;\n    var y12 = (p1[1] + p2[1]) / 2;\n\n    if (+curveness) {\n      curveness *= 3;\n      cp1 = [cx * curveness + x12 * (1 - curveness), cy * curveness + y12 * (1 - curveness)];\n    }\n\n    edge.setLayout([p1, p2, cp1]);\n  });\n}\nvar _layoutNodesBasedOn = {\n  value: function (seriesModel, graph, nodeData, r, cx, cy, count) {\n    var angle = 0;\n    var sum = nodeData.getSum('value');\n    var unitAngle = Math.PI * 2 / (sum || count);\n    graph.eachNode(function (node) {\n      var value = node.getValue('value');\n      var radianHalf = unitAngle * (sum ? value : 1) / 2;\n      angle += radianHalf;\n      node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n      angle += radianHalf;\n    });\n  },\n  symbolSize: function (seriesModel, graph, nodeData, r, cx, cy, count) {\n    var sumRadian = 0;\n    _symbolRadiansHalf.length = count;\n    var nodeScale = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"getNodeGlobalScale\"])(seriesModel);\n    graph.eachNode(function (node) {\n      var symbolSize = Object(_graphHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"getSymbolSize\"])(node); // Normally this case will not happen, but we still add\n      // some the defensive code (2px is an arbitrary value).\n\n      isNaN(symbolSize) && (symbolSize = 2);\n      symbolSize < 0 && (symbolSize = 0);\n      symbolSize *= nodeScale;\n      var symbolRadianHalf = Math.asin(symbolSize / 2 / r); // when `symbolSize / 2` is bigger than `r`.\n\n      isNaN(symbolRadianHalf) && (symbolRadianHalf = PI / 2);\n      _symbolRadiansHalf[node.dataIndex] = symbolRadianHalf;\n      sumRadian += symbolRadianHalf * 2;\n    });\n    var halfRemainRadian = (2 * PI - sumRadian) / count / 2;\n    var angle = 0;\n    graph.eachNode(function (node) {\n      var radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];\n      angle += radianHalf; // init circular layout for\n      // 1. layout undefined node\n      // 2. not fixed node\n\n      (!node.getLayout() || !node.getLayout().fixed) && node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n      angle += radianHalf;\n    });\n  }\n};\nfunction rotateNodeLabel(node, circularRotateLabel, cx, cy) {\n  var el = node.getGraphicEl(); // need to check if el exists. '-' value may not create node element.\n\n  if (!el) {\n    return;\n  }\n\n  var nodeModel = node.getModel();\n  var labelRotate = nodeModel.get(['label', 'rotate']) || 0;\n  var symbolPath = el.getSymbolPath();\n\n  if (circularRotateLabel) {\n    var pos = node.getLayout();\n    var rad = Math.atan2(pos[1] - cy, pos[0] - cx);\n\n    if (rad < 0) {\n      rad = Math.PI * 2 + rad;\n    }\n\n    var isLeft = pos[0] < cx;\n\n    if (isLeft) {\n      rad = rad - Math.PI;\n    }\n\n    var textPosition = isLeft ? 'left' : 'right';\n    symbolPath.setTextConfig({\n      rotation: -rad,\n      position: textPosition,\n      origin: 'center'\n    });\n    var emphasisState = symbolPath.ensureState('emphasis');\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"](emphasisState.textConfig || (emphasisState.textConfig = {}), {\n      position: textPosition\n    });\n  } else {\n    symbolPath.setTextConfig({\n      rotation: labelRotate *= Math.PI / 180\n    });\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/createView.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/createView.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createViewCoordSys; });\n/* harmony import */ var _coord_View_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../coord/View.js */ \"./node_modules/echarts/lib/coord/View.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var zrender_lib_core_bbox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/bbox.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/bbox.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME Where to create the simple view coordinate system\n\n\n\n\n\nfunction getViewRect(seriesModel, api, aspect) {\n  var option = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])(seriesModel.getBoxLayoutParams(), {\n    aspect: aspect\n  });\n  return Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_1__[\"getLayoutRect\"])(option, {\n    width: api.getWidth(),\n    height: api.getHeight()\n  });\n}\n\nfunction createViewCoordSys(ecModel, api) {\n  var viewList = [];\n  ecModel.eachSeriesByType('graph', function (seriesModel) {\n    var coordSysType = seriesModel.get('coordinateSystem');\n\n    if (!coordSysType || coordSysType === 'view') {\n      var data_1 = seriesModel.getData();\n      var positions = data_1.mapArray(function (idx) {\n        var itemModel = data_1.getItemModel(idx);\n        return [+itemModel.get('x'), +itemModel.get('y')];\n      });\n      var min = [];\n      var max = [];\n      zrender_lib_core_bbox_js__WEBPACK_IMPORTED_MODULE_2__[\"fromPoints\"](positions, min, max); // If width or height is 0\n\n      if (max[0] - min[0] === 0) {\n        max[0] += 1;\n        min[0] -= 1;\n      }\n\n      if (max[1] - min[1] === 0) {\n        max[1] += 1;\n        min[1] -= 1;\n      }\n\n      var aspect = (max[0] - min[0]) / (max[1] - min[1]); // FIXME If get view rect after data processed?\n\n      var viewRect = getViewRect(seriesModel, api, aspect); // Position may be NaN, use view rect instead\n\n      if (isNaN(aspect)) {\n        min = [viewRect.x, viewRect.y];\n        max = [viewRect.x + viewRect.width, viewRect.y + viewRect.height];\n      }\n\n      var bbWidth = max[0] - min[0];\n      var bbHeight = max[1] - min[1];\n      var viewWidth = viewRect.width;\n      var viewHeight = viewRect.height;\n      var viewCoordSys = seriesModel.coordinateSystem = new _coord_View_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n      viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n      viewCoordSys.setBoundingRect(min[0], min[1], bbWidth, bbHeight);\n      viewCoordSys.setViewRect(viewRect.x, viewRect.y, viewWidth, viewHeight); // Update roam info\n\n      viewCoordSys.setCenter(seriesModel.get('center'), api);\n      viewCoordSys.setZoom(seriesModel.get('zoom'));\n      viewList.push(viewCoordSys);\n    }\n  });\n  return viewList;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/createView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/edgeVisual.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/edgeVisual.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return graphEdgeVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction normalize(a) {\n  if (!(a instanceof Array)) {\n    a = [a, a];\n  }\n\n  return a;\n}\n\nfunction graphEdgeVisual(ecModel) {\n  ecModel.eachSeriesByType('graph', function (seriesModel) {\n    var graph = seriesModel.getGraph();\n    var edgeData = seriesModel.getEdgeData();\n    var symbolType = normalize(seriesModel.get('edgeSymbol'));\n    var symbolSize = normalize(seriesModel.get('edgeSymbolSize')); // const colorQuery = ['lineStyle', 'color'] as const;\n    // const opacityQuery = ['lineStyle', 'opacity'] as const;\n\n    edgeData.setVisual('fromSymbol', symbolType && symbolType[0]);\n    edgeData.setVisual('toSymbol', symbolType && symbolType[1]);\n    edgeData.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n    edgeData.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n    edgeData.setVisual('style', seriesModel.getModel('lineStyle').getLineStyle());\n    edgeData.each(function (idx) {\n      var itemModel = edgeData.getItemModel(idx);\n      var edge = graph.getEdgeByIndex(idx);\n      var symbolType = normalize(itemModel.getShallow('symbol', true));\n      var symbolSize = normalize(itemModel.getShallow('symbolSize', true)); // Edge visual must after node visual\n\n      var style = itemModel.getModel('lineStyle').getLineStyle();\n      var existsStyle = edgeData.ensureUniqueItemVisual(idx, 'style');\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(existsStyle, style);\n\n      switch (existsStyle.stroke) {\n        case 'source':\n          {\n            var nodeStyle = edge.node1.getVisual('style');\n            existsStyle.stroke = nodeStyle && nodeStyle.fill;\n            break;\n          }\n\n        case 'target':\n          {\n            var nodeStyle = edge.node2.getVisual('style');\n            existsStyle.stroke = nodeStyle && nodeStyle.fill;\n            break;\n          }\n      }\n\n      symbolType[0] && edge.setVisual('fromSymbol', symbolType[0]);\n      symbolType[1] && edge.setVisual('toSymbol', symbolType[1]);\n      symbolSize[0] && edge.setVisual('fromSymbolSize', symbolSize[0]);\n      symbolSize[1] && edge.setVisual('toSymbolSize', symbolSize[1]);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/edgeVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/forceHelper.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/forceHelper.js ***!
  \*************************************************************/
/*! exports provided: forceLayout */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forceLayout\", function() { return forceLayout; });\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* Some formulas were originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment of the method \"step\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* </licenses/LICENSE-d3>).\n*/\n\nvar scaleAndAdd = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"scaleAndAdd\"]; // function adjacentNode(n, e) {\n//     return e.n1 === n ? e.n2 : e.n1;\n// }\n\nfunction forceLayout(inNodes, inEdges, opts) {\n  var nodes = inNodes;\n  var edges = inEdges;\n  var rect = opts.rect;\n  var width = rect.width;\n  var height = rect.height;\n  var center = [rect.x + width / 2, rect.y + height / 2]; // let scale = opts.scale || 1;\n\n  var gravity = opts.gravity == null ? 0.1 : opts.gravity; // for (let i = 0; i < edges.length; i++) {\n  //     let e = edges[i];\n  //     let n1 = e.n1;\n  //     let n2 = e.n2;\n  //     n1.edges = n1.edges || [];\n  //     n2.edges = n2.edges || [];\n  //     n1.edges.push(e);\n  //     n2.edges.push(e);\n  // }\n  // Init position\n\n  for (var i = 0; i < nodes.length; i++) {\n    var n = nodes[i];\n\n    if (!n.p) {\n      n.p = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"](width * (Math.random() - 0.5) + center[0], height * (Math.random() - 0.5) + center[1]);\n    }\n\n    n.pp = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](n.p);\n    n.edges = null;\n  } // Formula in 'Graph Drawing by Force-directed Placement'\n  // let k = scale * Math.sqrt(width * height / nodes.length);\n  // let k2 = k * k;\n\n\n  var initialFriction = opts.friction == null ? 0.6 : opts.friction;\n  var friction = initialFriction;\n  var beforeStepCallback;\n  var afterStepCallback;\n  return {\n    warmUp: function () {\n      friction = initialFriction * 0.8;\n    },\n    setFixed: function (idx) {\n      nodes[idx].fixed = true;\n    },\n    setUnfixed: function (idx) {\n      nodes[idx].fixed = false;\n    },\n\n    /**\n     * Before step hook\n     */\n    beforeStep: function (cb) {\n      beforeStepCallback = cb;\n    },\n\n    /**\n     * After step hook\n     */\n    afterStep: function (cb) {\n      afterStepCallback = cb;\n    },\n\n    /**\n     * Some formulas were originally copied from \"d3.js\"\n     * https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/layout/force.js\n     * with some modifications made for this project.\n     * See the license statement at the head of this file.\n     */\n    step: function (cb) {\n      beforeStepCallback && beforeStepCallback(nodes, edges);\n      var v12 = [];\n      var nLen = nodes.length;\n\n      for (var i = 0; i < edges.length; i++) {\n        var e = edges[i];\n\n        if (e.ignoreForceLayout) {\n          continue;\n        }\n\n        var n1 = e.n1;\n        var n2 = e.n2;\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"sub\"](v12, n2.p, n1.p);\n        var d = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"len\"](v12) - e.d;\n        var w = n2.w / (n1.w + n2.w);\n\n        if (isNaN(w)) {\n          w = 0;\n        }\n\n        zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"normalize\"](v12, v12);\n        !n1.fixed && scaleAndAdd(n1.p, n1.p, v12, w * d * friction);\n        !n2.fixed && scaleAndAdd(n2.p, n2.p, v12, -(1 - w) * d * friction);\n      } // Gravity\n\n\n      for (var i = 0; i < nLen; i++) {\n        var n = nodes[i];\n\n        if (!n.fixed) {\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"sub\"](v12, center, n.p); // let d = vec2.len(v12);\n          // vec2.scale(v12, v12, 1 / d);\n          // let gravityFactor = gravity;\n\n          scaleAndAdd(n.p, n.p, v12, gravity * friction);\n        }\n      } // Repulsive\n      // PENDING\n\n\n      for (var i = 0; i < nLen; i++) {\n        var n1 = nodes[i];\n\n        for (var j = i + 1; j < nLen; j++) {\n          var n2 = nodes[j];\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"sub\"](v12, n2.p, n1.p);\n          var d = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"len\"](v12);\n\n          if (d === 0) {\n            // Random repulse\n            zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"set\"](v12, Math.random() - 0.5, Math.random() - 0.5);\n            d = 1;\n          }\n\n          var repFact = (n1.rep + n2.rep) / d / d;\n          !n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);\n          !n2.fixed && scaleAndAdd(n2.pp, n2.pp, v12, -repFact);\n        }\n      }\n\n      var v = [];\n\n      for (var i = 0; i < nLen; i++) {\n        var n = nodes[i];\n\n        if (!n.fixed) {\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"sub\"](v, n.p, n.pp);\n          scaleAndAdd(n.p, n.p, v, friction);\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"copy\"](n.pp, n.p);\n        }\n      }\n\n      friction = friction * 0.992;\n      var finished = friction < 0.01;\n      afterStepCallback && afterStepCallback(nodes, edges, finished);\n      cb && cb(finished);\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/forceHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/forceLayout.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/forceLayout.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return graphForceLayout; });\n/* harmony import */ var _forceHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./forceHelper.js */ \"./node_modules/echarts/lib/chart/graph/forceHelper.js\");\n/* harmony import */ var _simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./simpleLayoutHelper.js */ \"./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js\");\n/* harmony import */ var _circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./circularLayoutHelper.js */ \"./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/multipleGraphEdgeHelper.js */ \"./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction graphForceLayout(ecModel) {\n  ecModel.eachSeriesByType('graph', function (graphSeries) {\n    var coordSys = graphSeries.coordinateSystem;\n\n    if (coordSys && coordSys.type !== 'view') {\n      return;\n    }\n\n    if (graphSeries.get('layout') === 'force') {\n      var preservedPoints_1 = graphSeries.preservedPoints || {};\n      var graph_1 = graphSeries.getGraph();\n      var nodeData_1 = graph_1.data;\n      var edgeData = graph_1.edgeData;\n      var forceModel = graphSeries.getModel('force');\n      var initLayout = forceModel.get('initLayout');\n\n      if (graphSeries.preservedPoints) {\n        nodeData_1.each(function (idx) {\n          var id = nodeData_1.getId(idx);\n          nodeData_1.setItemLayout(idx, preservedPoints_1[id] || [NaN, NaN]);\n        });\n      } else if (!initLayout || initLayout === 'none') {\n        Object(_simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"simpleLayout\"])(graphSeries);\n      } else if (initLayout === 'circular') {\n        Object(_circularLayoutHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"circularLayout\"])(graphSeries, 'value');\n      }\n\n      var nodeDataExtent_1 = nodeData_1.getDataExtent('value');\n      var edgeDataExtent_1 = edgeData.getDataExtent('value'); // let edgeDataExtent = edgeData.getDataExtent('value');\n\n      var repulsion = forceModel.get('repulsion');\n      var edgeLength = forceModel.get('edgeLength');\n      var repulsionArr_1 = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArray\"](repulsion) ? repulsion : [repulsion, repulsion];\n      var edgeLengthArr_1 = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArray\"](edgeLength) ? edgeLength : [edgeLength, edgeLength]; // Larger value has smaller length\n\n      edgeLengthArr_1 = [edgeLengthArr_1[1], edgeLengthArr_1[0]];\n      var nodes_1 = nodeData_1.mapArray('value', function (value, idx) {\n        var point = nodeData_1.getItemLayout(idx);\n        var rep = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"linearMap\"])(value, nodeDataExtent_1, repulsionArr_1);\n\n        if (isNaN(rep)) {\n          rep = (repulsionArr_1[0] + repulsionArr_1[1]) / 2;\n        }\n\n        return {\n          w: rep,\n          rep: rep,\n          fixed: nodeData_1.getItemModel(idx).get('fixed'),\n          p: !point || isNaN(point[0]) || isNaN(point[1]) ? null : point\n        };\n      });\n      var edges = edgeData.mapArray('value', function (value, idx) {\n        var edge = graph_1.getEdgeByIndex(idx);\n        var d = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"linearMap\"])(value, edgeDataExtent_1, edgeLengthArr_1);\n\n        if (isNaN(d)) {\n          d = (edgeLengthArr_1[0] + edgeLengthArr_1[1]) / 2;\n        }\n\n        var edgeModel = edge.getModel();\n        var curveness = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"retrieve3\"](edge.getModel().get(['lineStyle', 'curveness']), -Object(_helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getCurvenessForEdge\"])(edge, graphSeries, idx, true), 0);\n        return {\n          n1: nodes_1[edge.node1.dataIndex],\n          n2: nodes_1[edge.node2.dataIndex],\n          d: d,\n          curveness: curveness,\n          ignoreForceLayout: edgeModel.get('ignoreForceLayout')\n        };\n      }); // let coordSys = graphSeries.coordinateSystem;\n\n      var rect = coordSys.getBoundingRect();\n      var forceInstance = Object(_forceHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"forceLayout\"])(nodes_1, edges, {\n        rect: rect,\n        gravity: forceModel.get('gravity'),\n        friction: forceModel.get('friction')\n      });\n      forceInstance.beforeStep(function (nodes, edges) {\n        for (var i = 0, l = nodes.length; i < l; i++) {\n          if (nodes[i].fixed) {\n            // Write back to layout instance\n            zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__[\"copy\"](nodes[i].p, graph_1.getNodeByIndex(i).getLayout());\n          }\n        }\n      });\n      forceInstance.afterStep(function (nodes, edges, stopped) {\n        for (var i = 0, l = nodes.length; i < l; i++) {\n          if (!nodes[i].fixed) {\n            graph_1.getNodeByIndex(i).setLayout(nodes[i].p);\n          }\n\n          preservedPoints_1[nodeData_1.getId(i)] = nodes[i].p;\n        }\n\n        for (var i = 0, l = edges.length; i < l; i++) {\n          var e = edges[i];\n          var edge = graph_1.getEdgeByIndex(i);\n          var p1 = e.n1.p;\n          var p2 = e.n2.p;\n          var points = edge.getLayout();\n          points = points ? points.slice() : [];\n          points[0] = points[0] || [];\n          points[1] = points[1] || [];\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__[\"copy\"](points[0], p1);\n          zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__[\"copy\"](points[1], p2);\n\n          if (+e.curveness) {\n            points[2] = [(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * e.curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * e.curveness];\n          }\n\n          edge.setLayout(points);\n        }\n      });\n      graphSeries.forceLayout = forceInstance;\n      graphSeries.preservedPoints = preservedPoints_1; // Step to get the layout\n\n      forceInstance.step();\n    } else {\n      // Remove prev injected forceLayout instance\n      graphSeries.forceLayout = null;\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/forceLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/graphHelper.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/graphHelper.js ***!
  \*************************************************************/
/*! exports provided: getNodeGlobalScale, getSymbolSize */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeGlobalScale\", function() { return getNodeGlobalScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSymbolSize\", function() { return getSymbolSize; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getNodeGlobalScale(seriesModel) {\n  var coordSys = seriesModel.coordinateSystem;\n\n  if (coordSys.type !== 'view') {\n    return 1;\n  }\n\n  var nodeScaleRatio = seriesModel.option.nodeScaleRatio;\n  var groupZoom = coordSys.scaleX; // Scale node when zoom changes\n\n  var roamZoom = coordSys.getZoom();\n  var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;\n  return nodeScale / groupZoom;\n}\nfunction getSymbolSize(node) {\n  var symbolSize = node.getVisual('symbolSize');\n\n  if (symbolSize instanceof Array) {\n    symbolSize = (symbolSize[0] + symbolSize[1]) / 2;\n  }\n\n  return +symbolSize;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/graphHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/install.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/install.js ***!
  \*********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _categoryFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./categoryFilter.js */ \"./node_modules/echarts/lib/chart/graph/categoryFilter.js\");\n/* harmony import */ var _categoryVisual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./categoryVisual.js */ \"./node_modules/echarts/lib/chart/graph/categoryVisual.js\");\n/* harmony import */ var _edgeVisual_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edgeVisual.js */ \"./node_modules/echarts/lib/chart/graph/edgeVisual.js\");\n/* harmony import */ var _simpleLayout_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./simpleLayout.js */ \"./node_modules/echarts/lib/chart/graph/simpleLayout.js\");\n/* harmony import */ var _circularLayout_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./circularLayout.js */ \"./node_modules/echarts/lib/chart/graph/circularLayout.js\");\n/* harmony import */ var _forceLayout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./forceLayout.js */ \"./node_modules/echarts/lib/chart/graph/forceLayout.js\");\n/* harmony import */ var _createView_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createView.js */ \"./node_modules/echarts/lib/chart/graph/createView.js\");\n/* harmony import */ var _coord_View_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../coord/View.js */ \"./node_modules/echarts/lib/coord/View.js\");\n/* harmony import */ var _GraphView_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./GraphView.js */ \"./node_modules/echarts/lib/chart/graph/GraphView.js\");\n/* harmony import */ var _GraphSeries_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./GraphSeries.js */ \"./node_modules/echarts/lib/chart/graph/GraphSeries.js\");\n/* harmony import */ var _action_roamHelper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../action/roamHelper.js */ \"./node_modules/echarts/lib/action/roamHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\nvar actionInfo = {\n  type: 'graphRoam',\n  event: 'graphRoam',\n  update: 'none'\n};\nfunction install(registers) {\n  registers.registerChartView(_GraphView_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n  registers.registerSeriesModel(_GraphSeries_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n  registers.registerProcessor(_categoryFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerVisual(_categoryVisual_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerVisual(_edgeVisual_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerLayout(_simpleLayout_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerLayout(registers.PRIORITY.VISUAL.POST_CHART_LAYOUT, _circularLayout_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  registers.registerLayout(_forceLayout_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  registers.registerCoordinateSystem('graphView', {\n    dimensions: _coord_View_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].dimensions,\n    create: _createView_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n  }); // Register legacy focus actions\n\n  registers.registerAction({\n    type: 'focusNodeAdjacency',\n    event: 'focusNodeAdjacency',\n    update: 'series:focusNodeAdjacency'\n  }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_11__[\"noop\"]);\n  registers.registerAction({\n    type: 'unfocusNodeAdjacency',\n    event: 'unfocusNodeAdjacency',\n    update: 'series:unfocusNodeAdjacency'\n  }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_11__[\"noop\"]); // Register roam action.\n\n  registers.registerAction(actionInfo, function (payload, ecModel, api) {\n    ecModel.eachComponent({\n      mainType: 'series',\n      query: payload\n    }, function (seriesModel) {\n      var coordSys = seriesModel.coordinateSystem;\n      var res = Object(_action_roamHelper_js__WEBPACK_IMPORTED_MODULE_10__[\"updateCenterAndZoom\"])(coordSys, payload, undefined, api);\n      seriesModel.setCenter && seriesModel.setCenter(res.center);\n      seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/simpleLayout.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/simpleLayout.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return graphSimpleLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./simpleLayoutHelper.js */ \"./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction graphSimpleLayout(ecModel, api) {\n  ecModel.eachSeriesByType('graph', function (seriesModel) {\n    var layout = seriesModel.get('layout');\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys && coordSys.type !== 'view') {\n      var data_1 = seriesModel.getData();\n      var dimensions_1 = [];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(coordSys.dimensions, function (coordDim) {\n        dimensions_1 = dimensions_1.concat(data_1.mapDimensionsAll(coordDim));\n      });\n\n      for (var dataIndex = 0; dataIndex < data_1.count(); dataIndex++) {\n        var value = [];\n        var hasValue = false;\n\n        for (var i = 0; i < dimensions_1.length; i++) {\n          var val = data_1.get(dimensions_1[i], dataIndex);\n\n          if (!isNaN(val)) {\n            hasValue = true;\n          }\n\n          value.push(val);\n        }\n\n        if (hasValue) {\n          data_1.setItemLayout(dataIndex, coordSys.dataToPoint(value));\n        } else {\n          // Also {Array.<number>}, not undefined to avoid if...else... statement\n          data_1.setItemLayout(dataIndex, [NaN, NaN]);\n        }\n      }\n\n      Object(_simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"simpleLayoutEdge\"])(data_1.graph, seriesModel);\n    } else if (!layout || layout === 'none') {\n      Object(_simpleLayoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"simpleLayout\"])(seriesModel);\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/simpleLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js ***!
  \********************************************************************/
/*! exports provided: simpleLayout, simpleLayoutEdge */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"simpleLayout\", function() { return simpleLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"simpleLayoutEdge\", function() { return simpleLayoutEdge; });\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/multipleGraphEdgeHelper.js */ \"./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction simpleLayout(seriesModel) {\n  var coordSys = seriesModel.coordinateSystem;\n\n  if (coordSys && coordSys.type !== 'view') {\n    return;\n  }\n\n  var graph = seriesModel.getGraph();\n  graph.eachNode(function (node) {\n    var model = node.getModel();\n    node.setLayout([+model.get('x'), +model.get('y')]);\n  });\n  simpleLayoutEdge(graph, seriesModel);\n}\nfunction simpleLayoutEdge(graph, seriesModel) {\n  graph.eachEdge(function (edge, index) {\n    var curveness = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve3\"](edge.getModel().get(['lineStyle', 'curveness']), -Object(_helper_multipleGraphEdgeHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getCurvenessForEdge\"])(edge, seriesModel, index, true), 0);\n    var p1 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](edge.node1.getLayout());\n    var p2 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](edge.node2.getLayout());\n    var points = [p1, p2];\n\n    if (+curveness) {\n      points.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);\n    }\n\n    edge.setLayout(points);\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Uint8ClampedArray */\n\nvar GRADIENT_LEVELS = 256;\n\nvar HeatmapLayer =\n/** @class */\nfunction () {\n  function HeatmapLayer() {\n    this.blurSize = 30;\n    this.pointSize = 20;\n    this.maxOpacity = 1;\n    this.minOpacity = 0;\n    this._gradientPixels = {\n      inRange: null,\n      outOfRange: null\n    };\n    var canvas = zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_0__[\"platformApi\"].createCanvas();\n    this.canvas = canvas;\n  }\n  /**\n   * Renders Heatmap and returns the rendered canvas\n   * @param data array of data, each has x, y, value\n   * @param width canvas width\n   * @param height canvas height\n   */\n\n\n  HeatmapLayer.prototype.update = function (data, width, height, normalize, colorFunc, isInRange) {\n    var brush = this._getBrush();\n\n    var gradientInRange = this._getGradient(colorFunc, 'inRange');\n\n    var gradientOutOfRange = this._getGradient(colorFunc, 'outOfRange');\n\n    var r = this.pointSize + this.blurSize;\n    var canvas = this.canvas;\n    var ctx = canvas.getContext('2d');\n    var len = data.length;\n    canvas.width = width;\n    canvas.height = height;\n\n    for (var i = 0; i < len; ++i) {\n      var p = data[i];\n      var x = p[0];\n      var y = p[1];\n      var value = p[2]; // calculate alpha using value\n\n      var alpha = normalize(value); // draw with the circle brush with alpha\n\n      ctx.globalAlpha = alpha;\n      ctx.drawImage(brush, x - r, y - r);\n    }\n\n    if (!canvas.width || !canvas.height) {\n      // Avoid \"Uncaught DOMException: Failed to execute 'getImageData' on\n      // 'CanvasRenderingContext2D': The source height is 0.\"\n      return canvas;\n    } // colorize the canvas using alpha value and set with gradient\n\n\n    var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n    var pixels = imageData.data;\n    var offset = 0;\n    var pixelLen = pixels.length;\n    var minOpacity = this.minOpacity;\n    var maxOpacity = this.maxOpacity;\n    var diffOpacity = maxOpacity - minOpacity;\n\n    while (offset < pixelLen) {\n      var alpha = pixels[offset + 3] / 256;\n      var gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS - 1)) * 4; // Simple optimize to ignore the empty data\n\n      if (alpha > 0) {\n        var gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange; // Any alpha > 0 will be mapped to [minOpacity, maxOpacity]\n\n        alpha > 0 && (alpha = alpha * diffOpacity + minOpacity);\n        pixels[offset++] = gradient[gradientOffset];\n        pixels[offset++] = gradient[gradientOffset + 1];\n        pixels[offset++] = gradient[gradientOffset + 2];\n        pixels[offset++] = gradient[gradientOffset + 3] * alpha * 256;\n      } else {\n        offset += 4;\n      }\n    }\n\n    ctx.putImageData(imageData, 0, 0);\n    return canvas;\n  };\n  /**\n   * get canvas of a black circle brush used for canvas to draw later\n   */\n\n\n  HeatmapLayer.prototype._getBrush = function () {\n    var brushCanvas = this._brushCanvas || (this._brushCanvas = zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_0__[\"platformApi\"].createCanvas()); // set brush size\n\n    var r = this.pointSize + this.blurSize;\n    var d = r * 2;\n    brushCanvas.width = d;\n    brushCanvas.height = d;\n    var ctx = brushCanvas.getContext('2d');\n    ctx.clearRect(0, 0, d, d); // in order to render shadow without the distinct circle,\n    // draw the distinct circle in an invisible place,\n    // and use shadowOffset to draw shadow in the center of the canvas\n\n    ctx.shadowOffsetX = d;\n    ctx.shadowBlur = this.blurSize; // draw the shadow in black, and use alpha and shadow blur to generate\n    // color in color map\n\n    ctx.shadowColor = '#000'; // draw circle in the left to the canvas\n\n    ctx.beginPath();\n    ctx.arc(-r, r, this.pointSize, 0, Math.PI * 2, true);\n    ctx.closePath();\n    ctx.fill();\n    return brushCanvas;\n  };\n  /**\n   * get gradient color map\n   * @private\n   */\n\n\n  HeatmapLayer.prototype._getGradient = function (colorFunc, state) {\n    var gradientPixels = this._gradientPixels;\n    var pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));\n    var color = [0, 0, 0, 0];\n    var off = 0;\n\n    for (var i = 0; i < 256; i++) {\n      colorFunc[state](i / 255, true, color);\n      pixelsSingleState[off++] = color[0];\n      pixelsSingleState[off++] = color[1];\n      pixelsSingleState[off++] = color[2];\n      pixelsSingleState[off++] = color[3];\n    }\n\n    return pixelsSingleState;\n  };\n\n  return HeatmapLayer;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (HeatmapLayer);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../core/CoordinateSystem.js */ \"./node_modules/echarts/lib/core/CoordinateSystem.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar HeatmapSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(HeatmapSeriesModel, _super);\n\n  function HeatmapSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = HeatmapSeriesModel.type;\n    return _this;\n  }\n\n  HeatmapSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(null, this, {\n      generateCoord: 'value'\n    });\n  };\n\n  HeatmapSeriesModel.prototype.preventIncremental = function () {\n    var coordSysCreator = _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get(this.get('coordinateSystem'));\n\n    if (coordSysCreator && coordSysCreator.dimensions) {\n      return coordSysCreator.dimensions[0] === 'lng' && coordSysCreator.dimensions[1] === 'lat';\n    }\n  };\n\n  HeatmapSeriesModel.type = 'series.heatmap';\n  HeatmapSeriesModel.dependencies = ['grid', 'geo', 'calendar'];\n  HeatmapSeriesModel.defaultOption = {\n    coordinateSystem: 'cartesian2d',\n    // zlevel: 0,\n    z: 2,\n    // Cartesian coordinate system\n    // xAxisIndex: 0,\n    // yAxisIndex: 0,\n    // Geo coordinate system\n    geoIndex: 0,\n    blurSize: 30,\n    pointSize: 20,\n    maxOpacity: 1,\n    minOpacity: 0,\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    }\n  };\n  return HeatmapSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (HeatmapSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/heatmap/HeatmapView.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/heatmap/HeatmapView.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _HeatmapLayer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HeatmapLayer.js */ \"./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../coord/CoordinateSystem.js */ \"./node_modules/echarts/lib/coord/CoordinateSystem.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nfunction getIsInPiecewiseRange(dataExtent, pieceList, selected) {\n  var dataSpan = dataExtent[1] - dataExtent[0];\n  pieceList = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"](pieceList, function (piece) {\n    return {\n      interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]\n    };\n  });\n  var len = pieceList.length;\n  var lastIndex = 0;\n  return function (val) {\n    var i; // Try to find in the location of the last found\n\n    for (i = lastIndex; i < len; i++) {\n      var interval = pieceList[i].interval;\n\n      if (interval[0] <= val && val <= interval[1]) {\n        lastIndex = i;\n        break;\n      }\n    }\n\n    if (i === len) {\n      // Not found, back interation\n      for (i = lastIndex - 1; i >= 0; i--) {\n        var interval = pieceList[i].interval;\n\n        if (interval[0] <= val && val <= interval[1]) {\n          lastIndex = i;\n          break;\n        }\n      }\n    }\n\n    return i >= 0 && i < len && selected[i];\n  };\n}\n\nfunction getIsInContinuousRange(dataExtent, range) {\n  var dataSpan = dataExtent[1] - dataExtent[0];\n  range = [(range[0] - dataExtent[0]) / dataSpan, (range[1] - dataExtent[0]) / dataSpan];\n  return function (val) {\n    return val >= range[0] && val <= range[1];\n  };\n}\n\nfunction isGeoCoordSys(coordSys) {\n  var dimensions = coordSys.dimensions; // Not use coorSys.type === 'geo' because coordSys maybe extended\n\n  return dimensions[0] === 'lng' && dimensions[1] === 'lat';\n}\n\nvar HeatmapView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(HeatmapView, _super);\n\n  function HeatmapView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = HeatmapView.type;\n    return _this;\n  }\n\n  HeatmapView.prototype.render = function (seriesModel, ecModel, api) {\n    var visualMapOfThisSeries;\n    ecModel.eachComponent('visualMap', function (visualMap) {\n      visualMap.eachTargetSeries(function (targetSeries) {\n        if (targetSeries === seriesModel) {\n          visualMapOfThisSeries = visualMap;\n        }\n      });\n    });\n\n    if (true) {\n      if (!visualMapOfThisSeries) {\n        throw new Error('Heatmap must use with visualMap');\n      }\n    } // Clear previously rendered progressive elements.\n\n\n    this._progressiveEls = null;\n    this.group.removeAll();\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {\n      this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());\n    } else if (isGeoCoordSys(coordSys)) {\n      this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api);\n    }\n  };\n\n  HeatmapView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\n    this.group.removeAll();\n  };\n\n  HeatmapView.prototype.incrementalRender = function (params, seriesModel, ecModel, api) {\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys) {\n      // geo does not support incremental rendering?\n      if (isGeoCoordSys(coordSys)) {\n        this.render(seriesModel, ecModel, api);\n      } else {\n        this._progressiveEls = [];\n\n        this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);\n      }\n    }\n  };\n\n  HeatmapView.prototype.eachRendered = function (cb) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"traverseElements\"](this._progressiveEls || this.group, cb);\n  };\n\n  HeatmapView.prototype._renderOnCartesianAndCalendar = function (seriesModel, api, start, end, incremental) {\n    var coordSys = seriesModel.coordinateSystem;\n    var isCartesian2d = Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_6__[\"isCoordinateSystemType\"])(coordSys, 'cartesian2d');\n    var width;\n    var height;\n    var xAxisExtent;\n    var yAxisExtent;\n\n    if (isCartesian2d) {\n      var xAxis = coordSys.getAxis('x');\n      var yAxis = coordSys.getAxis('y');\n\n      if (true) {\n        if (!(xAxis.type === 'category' && yAxis.type === 'category')) {\n          throw new Error('Heatmap on cartesian must have two category axes');\n        }\n\n        if (!(xAxis.onBand && yAxis.onBand)) {\n          throw new Error('Heatmap on cartesian must have two axes with boundaryGap true');\n        }\n      } // add 0.5px to avoid the gaps\n\n\n      width = xAxis.getBandWidth() + .5;\n      height = yAxis.getBandWidth() + .5;\n      xAxisExtent = xAxis.scale.getExtent();\n      yAxisExtent = yAxis.scale.getExtent();\n    }\n\n    var group = this.group;\n    var data = seriesModel.getData();\n    var emphasisStyle = seriesModel.getModel(['emphasis', 'itemStyle']).getItemStyle();\n    var blurStyle = seriesModel.getModel(['blur', 'itemStyle']).getItemStyle();\n    var selectStyle = seriesModel.getModel(['select', 'itemStyle']).getItemStyle();\n    var borderRadius = seriesModel.get(['itemStyle', 'borderRadius']);\n    var labelStatesModels = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"getLabelStatesModels\"])(seriesModel);\n    var emphasisModel = seriesModel.getModel('emphasis');\n    var focus = emphasisModel.get('focus');\n    var blurScope = emphasisModel.get('blurScope');\n    var emphasisDisabled = emphasisModel.get('disabled');\n    var dataDims = isCartesian2d ? [data.mapDimension('x'), data.mapDimension('y'), data.mapDimension('value')] : [data.mapDimension('time'), data.mapDimension('value')];\n\n    for (var idx = start; idx < end; idx++) {\n      var rect = void 0;\n      var style = data.getItemVisual(idx, 'style');\n\n      if (isCartesian2d) {\n        var dataDimX = data.get(dataDims[0], idx);\n        var dataDimY = data.get(dataDims[1], idx); // Ignore empty data and out of extent data\n\n        if (isNaN(data.get(dataDims[2], idx)) || dataDimX < xAxisExtent[0] || dataDimX > xAxisExtent[1] || dataDimY < yAxisExtent[0] || dataDimY > yAxisExtent[1]) {\n          continue;\n        }\n\n        var point = coordSys.dataToPoint([dataDimX, dataDimY]);\n        rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n          shape: {\n            x: point[0] - width / 2,\n            y: point[1] - height / 2,\n            width: width,\n            height: height\n          },\n          style: style\n        });\n      } else {\n        // Ignore empty data\n        if (isNaN(data.get(dataDims[1], idx))) {\n          continue;\n        }\n\n        rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n          z2: 1,\n          shape: coordSys.dataToRect([data.get(dataDims[0], idx)]).contentShape,\n          style: style\n        });\n      } // Optimization for large datset\n\n\n      if (data.hasItemOption) {\n        var itemModel = data.getItemModel(idx);\n        var emphasisModel_1 = itemModel.getModel('emphasis');\n        emphasisStyle = emphasisModel_1.getModel('itemStyle').getItemStyle();\n        blurStyle = itemModel.getModel(['blur', 'itemStyle']).getItemStyle();\n        selectStyle = itemModel.getModel(['select', 'itemStyle']).getItemStyle(); // Each item value struct in the data would be firstly\n        // {\n        //     itemStyle: { borderRadius: [30, 30] },\n        //     value: [2022, 02, 22]\n        // }\n\n        borderRadius = itemModel.get(['itemStyle', 'borderRadius']);\n        focus = emphasisModel_1.get('focus');\n        blurScope = emphasisModel_1.get('blurScope');\n        emphasisDisabled = emphasisModel_1.get('disabled');\n        labelStatesModels = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"getLabelStatesModels\"])(itemModel);\n      }\n\n      rect.shape.r = borderRadius;\n      var rawValue = seriesModel.getRawValue(idx);\n      var defaultText = '-';\n\n      if (rawValue && rawValue[2] != null) {\n        defaultText = rawValue[2] + '';\n      }\n\n      Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"setLabelStyle\"])(rect, labelStatesModels, {\n        labelFetcher: seriesModel,\n        labelDataIndex: idx,\n        defaultOpacity: style.opacity,\n        defaultText: defaultText\n      });\n      rect.ensureState('emphasis').style = emphasisStyle;\n      rect.ensureState('blur').style = blurStyle;\n      rect.ensureState('select').style = selectStyle;\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(rect, focus, blurScope, emphasisDisabled);\n      rect.incremental = incremental; // PENDING\n\n      if (incremental) {\n        // Rect must use hover layer if it's incremental.\n        rect.states.emphasis.hoverLayer = true;\n      }\n\n      group.add(rect);\n      data.setItemGraphicEl(idx, rect);\n\n      if (this._progressiveEls) {\n        this._progressiveEls.push(rect);\n      }\n    }\n  };\n\n  HeatmapView.prototype._renderOnGeo = function (geo, seriesModel, visualMapModel, api) {\n    var inRangeVisuals = visualMapModel.targetVisuals.inRange;\n    var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange; // if (!visualMapping) {\n    //     throw new Error('Data range must have color visuals');\n    // }\n\n    var data = seriesModel.getData();\n    var hmLayer = this._hmLayer || this._hmLayer || new _HeatmapLayer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n    hmLayer.blurSize = seriesModel.get('blurSize');\n    hmLayer.pointSize = seriesModel.get('pointSize');\n    hmLayer.minOpacity = seriesModel.get('minOpacity');\n    hmLayer.maxOpacity = seriesModel.get('maxOpacity');\n    var rect = geo.getViewRect().clone();\n    var roamTransform = geo.getRoamTransform();\n    rect.applyTransform(roamTransform); // Clamp on viewport\n\n    var x = Math.max(rect.x, 0);\n    var y = Math.max(rect.y, 0);\n    var x2 = Math.min(rect.width + rect.x, api.getWidth());\n    var y2 = Math.min(rect.height + rect.y, api.getHeight());\n    var width = x2 - x;\n    var height = y2 - y;\n    var dims = [data.mapDimension('lng'), data.mapDimension('lat'), data.mapDimension('value')];\n    var points = data.mapArray(dims, function (lng, lat, value) {\n      var pt = geo.dataToPoint([lng, lat]);\n      pt[0] -= x;\n      pt[1] -= y;\n      pt.push(value);\n      return pt;\n    });\n    var dataExtent = visualMapModel.getExtent();\n    var isInRange = visualMapModel.type === 'visualMap.continuous' ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);\n    hmLayer.update(points, width, height, inRangeVisuals.color.getNormalizer(), {\n      inRange: inRangeVisuals.color.getColorMapper(),\n      outOfRange: outOfRangeVisuals.color.getColorMapper()\n    }, isInRange);\n    var img = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Image\"]({\n      style: {\n        width: width,\n        height: height,\n        x: x,\n        y: y,\n        image: hmLayer.canvas\n      },\n      silent: true\n    });\n    this.group.add(img);\n  };\n\n  HeatmapView.type = 'heatmap';\n  return HeatmapView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (HeatmapView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/heatmap/install.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/heatmap/install.js ***!
  \***********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _HeatmapView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HeatmapView.js */ \"./node_modules/echarts/lib/chart/heatmap/HeatmapView.js\");\n/* harmony import */ var _HeatmapSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HeatmapSeries.js */ \"./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction install(registers) {\n  registers.registerChartView(_HeatmapView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_HeatmapSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/heatmap/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/EffectLine.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/EffectLine.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _Line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Line.js */ \"./node_modules/echarts/lib/chart/helper/Line.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Provide effect for line\n */\n\n\n\n\n\n\n\n\nvar EffectLine =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EffectLine, _super);\n\n  function EffectLine(lineData, idx, seriesScope) {\n    var _this = _super.call(this) || this;\n\n    _this.add(_this.createLine(lineData, idx, seriesScope));\n\n    _this._updateEffectSymbol(lineData, idx);\n\n    return _this;\n  }\n\n  EffectLine.prototype.createLine = function (lineData, idx, seriesScope) {\n    return new _Line_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](lineData, idx, seriesScope);\n  };\n\n  EffectLine.prototype._updateEffectSymbol = function (lineData, idx) {\n    var itemModel = lineData.getItemModel(idx);\n    var effectModel = itemModel.getModel('effect');\n    var size = effectModel.get('symbolSize');\n    var symbolType = effectModel.get('symbol');\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isArray\"](size)) {\n      size = [size, size];\n    }\n\n    var lineStyle = lineData.getItemVisual(idx, 'style');\n    var color = effectModel.get('color') || lineStyle && lineStyle.stroke;\n    var symbol = this.childAt(1);\n\n    if (this._symbolType !== symbolType) {\n      // Remove previous\n      this.remove(symbol);\n      symbol = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"createSymbol\"])(symbolType, -0.5, -0.5, 1, 1, color);\n      symbol.z2 = 100;\n      symbol.culling = true;\n      this.add(symbol);\n    } // Symbol may be removed if loop is false\n\n\n    if (!symbol) {\n      return;\n    } // Shadow color is same with color in default\n\n\n    symbol.setStyle('shadowColor', color);\n    symbol.setStyle(effectModel.getItemStyle(['color']));\n    symbol.scaleX = size[0];\n    symbol.scaleY = size[1];\n    symbol.setColor(color);\n    this._symbolType = symbolType;\n    this._symbolScale = size;\n\n    this._updateEffectAnimation(lineData, effectModel, idx);\n  };\n\n  EffectLine.prototype._updateEffectAnimation = function (lineData, effectModel, idx) {\n    var symbol = this.childAt(1);\n\n    if (!symbol) {\n      return;\n    }\n\n    var points = lineData.getItemLayout(idx);\n    var period = effectModel.get('period') * 1000;\n    var loop = effectModel.get('loop');\n    var roundTrip = effectModel.get('roundTrip');\n    var constantSpeed = effectModel.get('constantSpeed');\n    var delayExpr = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve\"](effectModel.get('delay'), function (idx) {\n      return idx / lineData.count() * period / 3;\n    }); // Ignore when updating\n\n    symbol.ignore = true;\n\n    this._updateAnimationPoints(symbol, points);\n\n    if (constantSpeed > 0) {\n      period = this._getLineLength(symbol) / constantSpeed * 1000;\n    }\n\n    if (period !== this._period || loop !== this._loop || roundTrip !== this._roundTrip) {\n      symbol.stopAnimation();\n      var delayNum = void 0;\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isFunction\"](delayExpr)) {\n        delayNum = delayExpr(idx);\n      } else {\n        delayNum = delayExpr;\n      }\n\n      if (symbol.__t > 0) {\n        delayNum = -period * symbol.__t;\n      }\n\n      this._animateSymbol(symbol, period, delayNum, loop, roundTrip);\n    }\n\n    this._period = period;\n    this._loop = loop;\n    this._roundTrip = roundTrip;\n  };\n\n  EffectLine.prototype._animateSymbol = function (symbol, period, delayNum, loop, roundTrip) {\n    if (period > 0) {\n      symbol.__t = 0;\n      var self_1 = this;\n      var animator = symbol.animate('', loop).when(roundTrip ? period * 2 : period, {\n        __t: roundTrip ? 2 : 1\n      }).delay(delayNum).during(function () {\n        self_1._updateSymbolPosition(symbol);\n      });\n\n      if (!loop) {\n        animator.done(function () {\n          self_1.remove(symbol);\n        });\n      }\n\n      animator.start();\n    }\n  };\n\n  EffectLine.prototype._getLineLength = function (symbol) {\n    // Not so accurate\n    return zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__[\"dist\"](symbol.__p1, symbol.__cp1) + zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__[\"dist\"](symbol.__cp1, symbol.__p2);\n  };\n\n  EffectLine.prototype._updateAnimationPoints = function (symbol, points) {\n    symbol.__p1 = points[0];\n    symbol.__p2 = points[1];\n    symbol.__cp1 = points[2] || [(points[0][0] + points[1][0]) / 2, (points[0][1] + points[1][1]) / 2];\n  };\n\n  EffectLine.prototype.updateData = function (lineData, idx, seriesScope) {\n    this.childAt(0).updateData(lineData, idx, seriesScope);\n\n    this._updateEffectSymbol(lineData, idx);\n  };\n\n  EffectLine.prototype._updateSymbolPosition = function (symbol) {\n    var p1 = symbol.__p1;\n    var p2 = symbol.__p2;\n    var cp1 = symbol.__cp1;\n    var t = symbol.__t < 1 ? symbol.__t : 2 - symbol.__t;\n    var pos = [symbol.x, symbol.y];\n    var lastPos = pos.slice();\n    var quadraticAt = zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_6__[\"quadraticAt\"];\n    var quadraticDerivativeAt = zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_6__[\"quadraticDerivativeAt\"];\n    pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);\n    pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t); // Tangent\n\n    var tx = symbol.__t < 1 ? quadraticDerivativeAt(p1[0], cp1[0], p2[0], t) : quadraticDerivativeAt(p2[0], cp1[0], p1[0], 1 - t);\n    var ty = symbol.__t < 1 ? quadraticDerivativeAt(p1[1], cp1[1], p2[1], t) : quadraticDerivativeAt(p2[1], cp1[1], p1[1], 1 - t);\n    symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2; // enable continuity trail for 'line', 'rect', 'roundRect' symbolType\n\n    if (this._symbolType === 'line' || this._symbolType === 'rect' || this._symbolType === 'roundRect') {\n      if (symbol.__lastT !== undefined && symbol.__lastT < symbol.__t) {\n        symbol.scaleY = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__[\"dist\"](lastPos, pos) * 1.05; // make sure the last segment render within endPoint\n\n        if (t === 1) {\n          pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;\n          pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;\n        }\n      } else if (symbol.__lastT === 1) {\n        // After first loop, symbol.__t does NOT start with 0, so connect p1 to pos directly.\n        symbol.scaleY = 2 * zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__[\"dist\"](p1, pos);\n      } else {\n        symbol.scaleY = this._symbolScale[1];\n      }\n    }\n\n    symbol.__lastT = symbol.__t;\n    symbol.ignore = false;\n    symbol.x = pos[0];\n    symbol.y = pos[1];\n  };\n\n  EffectLine.prototype.updateLayout = function (lineData, idx) {\n    this.childAt(0).updateLayout(lineData, idx);\n    var effectModel = lineData.getItemModel(idx).getModel('effect');\n\n    this._updateEffectAnimation(lineData, effectModel, idx);\n  };\n\n  return EffectLine;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EffectLine);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/EffectLine.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/EffectPolyline.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/EffectPolyline.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Polyline_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Polyline.js */ \"./node_modules/echarts/lib/chart/helper/Polyline.js\");\n/* harmony import */ var _EffectLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EffectLine.js */ \"./node_modules/echarts/lib/chart/helper/EffectLine.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar EffectPolyline =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EffectPolyline, _super);\n\n  function EffectPolyline() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this._lastFrame = 0;\n    _this._lastFramePercent = 0;\n    return _this;\n  } // Override\n\n\n  EffectPolyline.prototype.createLine = function (lineData, idx, seriesScope) {\n    return new _Polyline_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](lineData, idx, seriesScope);\n  };\n\n  ; // Override\n\n  EffectPolyline.prototype._updateAnimationPoints = function (symbol, points) {\n    this._points = points;\n    var accLenArr = [0];\n    var len = 0;\n\n    for (var i = 1; i < points.length; i++) {\n      var p1 = points[i - 1];\n      var p2 = points[i];\n      len += zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_3__[\"dist\"](p1, p2);\n      accLenArr.push(len);\n    }\n\n    if (len === 0) {\n      this._length = 0;\n      return;\n    }\n\n    for (var i = 0; i < accLenArr.length; i++) {\n      accLenArr[i] /= len;\n    }\n\n    this._offsets = accLenArr;\n    this._length = len;\n  };\n\n  ; // Override\n\n  EffectPolyline.prototype._getLineLength = function () {\n    return this._length;\n  };\n\n  ; // Override\n\n  EffectPolyline.prototype._updateSymbolPosition = function (symbol) {\n    var t = symbol.__t < 1 ? symbol.__t : 2 - symbol.__t;\n    var points = this._points;\n    var offsets = this._offsets;\n    var len = points.length;\n\n    if (!offsets) {\n      // Has length 0\n      return;\n    }\n\n    var lastFrame = this._lastFrame;\n    var frame;\n\n    if (t < this._lastFramePercent) {\n      // Start from the next frame\n      // PENDING start from lastFrame ?\n      var start = Math.min(lastFrame + 1, len - 1);\n\n      for (frame = start; frame >= 0; frame--) {\n        if (offsets[frame] <= t) {\n          break;\n        }\n      } // PENDING really need to do this ?\n\n\n      frame = Math.min(frame, len - 2);\n    } else {\n      for (frame = lastFrame; frame < len; frame++) {\n        if (offsets[frame] > t) {\n          break;\n        }\n      }\n\n      frame = Math.min(frame - 1, len - 2);\n    }\n\n    var p = (t - offsets[frame]) / (offsets[frame + 1] - offsets[frame]);\n    var p0 = points[frame];\n    var p1 = points[frame + 1];\n    symbol.x = p0[0] * (1 - p) + p * p1[0];\n    symbol.y = p0[1] * (1 - p) + p * p1[1];\n    var tx = symbol.__t < 1 ? p1[0] - p0[0] : p0[0] - p1[0];\n    var ty = symbol.__t < 1 ? p1[1] - p0[1] : p0[1] - p1[1];\n    symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2;\n    this._lastFrame = frame;\n    this._lastFramePercent = t;\n    symbol.ignore = false;\n  };\n\n  ;\n  return EffectPolyline;\n}(_EffectLine_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EffectPolyline);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/EffectPolyline.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/EffectSymbol.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/EffectSymbol.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Symbol.js */ \"./node_modules/echarts/lib/chart/helper/Symbol.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nfunction updateRipplePath(rippleGroup, effectCfg) {\n  var color = effectCfg.rippleEffectColor || effectCfg.color;\n  rippleGroup.eachChild(function (ripplePath) {\n    ripplePath.attr({\n      z: effectCfg.z,\n      zlevel: effectCfg.zlevel,\n      style: {\n        stroke: effectCfg.brushType === 'stroke' ? color : null,\n        fill: effectCfg.brushType === 'fill' ? color : null\n      }\n    });\n  });\n}\n\nvar EffectSymbol =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EffectSymbol, _super);\n\n  function EffectSymbol(data, idx) {\n    var _this = _super.call(this) || this;\n\n    var symbol = new _Symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](data, idx);\n    var rippleGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n\n    _this.add(symbol);\n\n    _this.add(rippleGroup);\n\n    _this.updateData(data, idx);\n\n    return _this;\n  }\n\n  EffectSymbol.prototype.stopEffectAnimation = function () {\n    this.childAt(1).removeAll();\n  };\n\n  EffectSymbol.prototype.startEffectAnimation = function (effectCfg) {\n    var symbolType = effectCfg.symbolType;\n    var color = effectCfg.color;\n    var rippleNumber = effectCfg.rippleNumber;\n    var rippleGroup = this.childAt(1);\n\n    for (var i = 0; i < rippleNumber; i++) {\n      // If width/height are set too small (e.g., set to 1) on ios10\n      // and macOS Sierra, a circle stroke become a rect, no matter what\n      // the scale is set. So we set width/height as 2. See #4136.\n      var ripplePath = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"createSymbol\"])(symbolType, -1, -1, 2, 2, color);\n      ripplePath.attr({\n        style: {\n          strokeNoScale: true\n        },\n        z2: 99,\n        silent: true,\n        scaleX: 0.5,\n        scaleY: 0.5\n      });\n      var delay = -i / rippleNumber * effectCfg.period + effectCfg.effectOffset;\n      ripplePath.animate('', true).when(effectCfg.period, {\n        scaleX: effectCfg.rippleScale / 2,\n        scaleY: effectCfg.rippleScale / 2\n      }).delay(delay).start();\n      ripplePath.animateStyle(true).when(effectCfg.period, {\n        opacity: 0\n      }).delay(delay).start();\n      rippleGroup.add(ripplePath);\n    }\n\n    updateRipplePath(rippleGroup, effectCfg);\n  };\n  /**\n   * Update effect symbol\n   */\n\n\n  EffectSymbol.prototype.updateEffectAnimation = function (effectCfg) {\n    var oldEffectCfg = this._effectCfg;\n    var rippleGroup = this.childAt(1); // Must reinitialize effect if following configuration changed\n\n    var DIFFICULT_PROPS = ['symbolType', 'period', 'rippleScale', 'rippleNumber'];\n\n    for (var i = 0; i < DIFFICULT_PROPS.length; i++) {\n      var propName = DIFFICULT_PROPS[i];\n\n      if (oldEffectCfg[propName] !== effectCfg[propName]) {\n        this.stopEffectAnimation();\n        this.startEffectAnimation(effectCfg);\n        return;\n      }\n    }\n\n    updateRipplePath(rippleGroup, effectCfg);\n  };\n  /**\n   * Highlight symbol\n   */\n\n\n  EffectSymbol.prototype.highlight = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"enterEmphasis\"])(this);\n  };\n  /**\n   * Downplay symbol\n   */\n\n\n  EffectSymbol.prototype.downplay = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"leaveEmphasis\"])(this);\n  };\n\n  EffectSymbol.prototype.getSymbolType = function () {\n    var symbol = this.childAt(0);\n    return symbol && symbol.getSymbolType();\n  };\n  /**\n   * Update symbol properties\n   */\n\n\n  EffectSymbol.prototype.updateData = function (data, idx) {\n    var _this = this;\n\n    var seriesModel = data.hostModel;\n    this.childAt(0).updateData(data, idx);\n    var rippleGroup = this.childAt(1);\n    var itemModel = data.getItemModel(idx);\n    var symbolType = data.getItemVisual(idx, 'symbol');\n    var symbolSize = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeSymbolSize\"])(data.getItemVisual(idx, 'symbolSize'));\n    var symbolStyle = data.getItemVisual(idx, 'style');\n    var color = symbolStyle && symbolStyle.fill;\n    var emphasisModel = itemModel.getModel('emphasis');\n    rippleGroup.setScale(symbolSize);\n    rippleGroup.traverse(function (ripplePath) {\n      ripplePath.setStyle('fill', color);\n    });\n    var symbolOffset = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeSymbolOffset\"])(data.getItemVisual(idx, 'symbolOffset'), symbolSize);\n\n    if (symbolOffset) {\n      rippleGroup.x = symbolOffset[0];\n      rippleGroup.y = symbolOffset[1];\n    }\n\n    var symbolRotate = data.getItemVisual(idx, 'symbolRotate');\n    rippleGroup.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n    var effectCfg = {};\n    effectCfg.showEffectOn = seriesModel.get('showEffectOn');\n    effectCfg.rippleScale = itemModel.get(['rippleEffect', 'scale']);\n    effectCfg.brushType = itemModel.get(['rippleEffect', 'brushType']);\n    effectCfg.period = itemModel.get(['rippleEffect', 'period']) * 1000;\n    effectCfg.effectOffset = idx / data.count();\n    effectCfg.z = seriesModel.getShallow('z') || 0;\n    effectCfg.zlevel = seriesModel.getShallow('zlevel') || 0;\n    effectCfg.symbolType = symbolType;\n    effectCfg.color = color;\n    effectCfg.rippleEffectColor = itemModel.get(['rippleEffect', 'color']);\n    effectCfg.rippleNumber = itemModel.get(['rippleEffect', 'number']);\n\n    if (effectCfg.showEffectOn === 'render') {\n      this._effectCfg ? this.updateEffectAnimation(effectCfg) : this.startEffectAnimation(effectCfg);\n      this._effectCfg = effectCfg;\n    } else {\n      // Not keep old effect config\n      this._effectCfg = null;\n      this.stopEffectAnimation();\n\n      this.onHoverStateChange = function (toState) {\n        if (toState === 'emphasis') {\n          if (effectCfg.showEffectOn !== 'render') {\n            _this.startEffectAnimation(effectCfg);\n          }\n        } else if (toState === 'normal') {\n          if (effectCfg.showEffectOn !== 'render') {\n            _this.stopEffectAnimation();\n          }\n        }\n      };\n    }\n\n    this._effectCfg = effectCfg;\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n  };\n\n  ;\n\n  EffectSymbol.prototype.fadeOut = function (cb) {\n    cb && cb();\n  };\n\n  ;\n  return EffectSymbol;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EffectSymbol);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/EffectSymbol.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/LargeLineDraw.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/LargeLineDraw.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_contain_line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/contain/line.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/line.js\");\n/* harmony import */ var zrender_lib_contain_quadratic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/contain/quadratic.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/quadratic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // TODO Batch by color\n\n\n\n\n\n\nvar LargeLinesPathShape =\n/** @class */\nfunction () {\n  function LargeLinesPathShape() {\n    this.polyline = false;\n    this.curveness = 0;\n    this.segs = [];\n  }\n\n  return LargeLinesPathShape;\n}();\n\nvar LargeLinesPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LargeLinesPath, _super);\n\n  function LargeLinesPath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this._off = 0;\n    _this.hoverDataIdx = -1;\n    return _this;\n  }\n\n  LargeLinesPath.prototype.reset = function () {\n    this.notClear = false;\n    this._off = 0;\n  };\n\n  LargeLinesPath.prototype.getDefaultStyle = function () {\n    return {\n      stroke: '#000',\n      fill: null\n    };\n  };\n\n  LargeLinesPath.prototype.getDefaultShape = function () {\n    return new LargeLinesPathShape();\n  };\n\n  LargeLinesPath.prototype.buildPath = function (ctx, shape) {\n    var segs = shape.segs;\n    var curveness = shape.curveness;\n    var i;\n\n    if (shape.polyline) {\n      for (i = this._off; i < segs.length;) {\n        var count = segs[i++];\n\n        if (count > 0) {\n          ctx.moveTo(segs[i++], segs[i++]);\n\n          for (var k = 1; k < count; k++) {\n            ctx.lineTo(segs[i++], segs[i++]);\n          }\n        }\n      }\n    } else {\n      for (i = this._off; i < segs.length;) {\n        var x0 = segs[i++];\n        var y0 = segs[i++];\n        var x1 = segs[i++];\n        var y1 = segs[i++];\n        ctx.moveTo(x0, y0);\n\n        if (curveness > 0) {\n          var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;\n          var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;\n          ctx.quadraticCurveTo(x2, y2, x1, y1);\n        } else {\n          ctx.lineTo(x1, y1);\n        }\n      }\n    }\n\n    if (this.incremental) {\n      this._off = i;\n      this.notClear = true;\n    }\n  };\n\n  LargeLinesPath.prototype.findDataIndex = function (x, y) {\n    var shape = this.shape;\n    var segs = shape.segs;\n    var curveness = shape.curveness;\n    var lineWidth = this.style.lineWidth;\n\n    if (shape.polyline) {\n      var dataIndex = 0;\n\n      for (var i = 0; i < segs.length;) {\n        var count = segs[i++];\n\n        if (count > 0) {\n          var x0 = segs[i++];\n          var y0 = segs[i++];\n\n          for (var k = 1; k < count; k++) {\n            var x1 = segs[i++];\n            var y1 = segs[i++];\n\n            if (zrender_lib_contain_line_js__WEBPACK_IMPORTED_MODULE_2__[\"containStroke\"](x0, y0, x1, y1, lineWidth, x, y)) {\n              return dataIndex;\n            }\n          }\n        }\n\n        dataIndex++;\n      }\n    } else {\n      var dataIndex = 0;\n\n      for (var i = 0; i < segs.length;) {\n        var x0 = segs[i++];\n        var y0 = segs[i++];\n        var x1 = segs[i++];\n        var y1 = segs[i++];\n\n        if (curveness > 0) {\n          var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;\n          var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;\n\n          if (zrender_lib_contain_quadratic_js__WEBPACK_IMPORTED_MODULE_3__[\"containStroke\"](x0, y0, x2, y2, x1, y1, lineWidth, x, y)) {\n            return dataIndex;\n          }\n        } else {\n          if (zrender_lib_contain_line_js__WEBPACK_IMPORTED_MODULE_2__[\"containStroke\"](x0, y0, x1, y1, lineWidth, x, y)) {\n            return dataIndex;\n          }\n        }\n\n        dataIndex++;\n      }\n    }\n\n    return -1;\n  };\n\n  LargeLinesPath.prototype.contain = function (x, y) {\n    var localPos = this.transformCoordToLocal(x, y);\n    var rect = this.getBoundingRect();\n    x = localPos[0];\n    y = localPos[1];\n\n    if (rect.contain(x, y)) {\n      // Cache found data index.\n      var dataIdx = this.hoverDataIdx = this.findDataIndex(x, y);\n      return dataIdx >= 0;\n    }\n\n    this.hoverDataIdx = -1;\n    return false;\n  };\n\n  LargeLinesPath.prototype.getBoundingRect = function () {\n    // Ignore stroke for large symbol draw.\n    var rect = this._rect;\n\n    if (!rect) {\n      var shape = this.shape;\n      var points = shape.segs;\n      var minX = Infinity;\n      var minY = Infinity;\n      var maxX = -Infinity;\n      var maxY = -Infinity;\n\n      for (var i = 0; i < points.length;) {\n        var x = points[i++];\n        var y = points[i++];\n        minX = Math.min(x, minX);\n        maxX = Math.max(x, maxX);\n        minY = Math.min(y, minY);\n        maxY = Math.max(y, maxY);\n      }\n\n      rect = this._rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"BoundingRect\"](minX, minY, maxX, maxY);\n    }\n\n    return rect;\n  };\n\n  return LargeLinesPath;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]);\n\nvar LargeLineDraw =\n/** @class */\nfunction () {\n  function LargeLineDraw() {\n    this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n  }\n  /**\n   * Update symbols draw by new data\n   */\n\n\n  LargeLineDraw.prototype.updateData = function (data) {\n    this._clear();\n\n    var lineEl = this._create();\n\n    lineEl.setShape({\n      segs: data.getLayout('linesPoints')\n    });\n\n    this._setCommon(lineEl, data);\n  };\n\n  ;\n  /**\n   * @override\n   */\n\n  LargeLineDraw.prototype.incrementalPrepareUpdate = function (data) {\n    this.group.removeAll();\n\n    this._clear();\n  };\n\n  ;\n  /**\n   * @override\n   */\n\n  LargeLineDraw.prototype.incrementalUpdate = function (taskParams, data) {\n    var lastAdded = this._newAdded[0];\n    var linePoints = data.getLayout('linesPoints');\n    var oldSegs = lastAdded && lastAdded.shape.segs; // Merging the exists. Each element has 1e4 points.\n    // Consider the performance balance between too much elements and too much points in one shape(may affect hover optimization)\n\n    if (oldSegs && oldSegs.length < 2e4) {\n      var oldLen = oldSegs.length;\n      var newSegs = new Float32Array(oldLen + linePoints.length); // Concat two array\n\n      newSegs.set(oldSegs);\n      newSegs.set(linePoints, oldLen);\n      lastAdded.setShape({\n        segs: newSegs\n      });\n    } else {\n      // Clear\n      this._newAdded = [];\n\n      var lineEl = this._create();\n\n      lineEl.incremental = true;\n      lineEl.setShape({\n        segs: linePoints\n      });\n\n      this._setCommon(lineEl, data);\n\n      lineEl.__startIndex = taskParams.start;\n    }\n  };\n  /**\n   * @override\n   */\n\n\n  LargeLineDraw.prototype.remove = function () {\n    this._clear();\n  };\n\n  LargeLineDraw.prototype.eachRendered = function (cb) {\n    this._newAdded[0] && cb(this._newAdded[0]);\n  };\n\n  LargeLineDraw.prototype._create = function () {\n    var lineEl = new LargeLinesPath({\n      cursor: 'default',\n      ignoreCoarsePointer: true\n    });\n\n    this._newAdded.push(lineEl);\n\n    this.group.add(lineEl);\n    return lineEl;\n  };\n\n  LargeLineDraw.prototype._setCommon = function (lineEl, data, isIncremental) {\n    var hostModel = data.hostModel;\n    lineEl.setShape({\n      polyline: hostModel.get('polyline'),\n      curveness: hostModel.get(['lineStyle', 'curveness'])\n    });\n    lineEl.useStyle(hostModel.getModel('lineStyle').getLineStyle());\n    lineEl.style.strokeNoScale = true;\n    var style = data.getVisual('style');\n\n    if (style && style.stroke) {\n      lineEl.setStyle('stroke', style.stroke);\n    }\n\n    lineEl.setStyle('fill', null);\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_4__[\"getECData\"])(lineEl); // Enable tooltip\n    // PENDING May have performance issue when path is extremely large\n\n    ecData.seriesIndex = hostModel.seriesIndex;\n    lineEl.on('mousemove', function (e) {\n      ecData.dataIndex = null;\n      var dataIndex = lineEl.hoverDataIdx;\n\n      if (dataIndex > 0) {\n        // Provide dataIndex for tooltip\n        ecData.dataIndex = dataIndex + lineEl.__startIndex;\n      }\n    });\n  };\n\n  ;\n\n  LargeLineDraw.prototype._clear = function () {\n    this._newAdded = [];\n    this.group.removeAll();\n  };\n\n  ;\n  return LargeLineDraw;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LargeLineDraw);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/LargeLineDraw.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\n// TODO Batch by color\n\n\n\n\nvar BOOST_SIZE_THRESHOLD = 4;\n\nvar LargeSymbolPathShape =\n/** @class */\nfunction () {\n  function LargeSymbolPathShape() {}\n\n  return LargeSymbolPathShape;\n}();\n\nvar LargeSymbolPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LargeSymbolPath, _super);\n\n  function LargeSymbolPath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this._off = 0;\n    _this.hoverDataIdx = -1;\n    return _this;\n  }\n\n  LargeSymbolPath.prototype.getDefaultShape = function () {\n    return new LargeSymbolPathShape();\n  };\n\n  LargeSymbolPath.prototype.reset = function () {\n    this.notClear = false;\n    this._off = 0;\n  };\n\n  LargeSymbolPath.prototype.buildPath = function (path, shape) {\n    var points = shape.points;\n    var size = shape.size;\n    var symbolProxy = this.symbolProxy;\n    var symbolProxyShape = symbolProxy.shape;\n    var ctx = path.getContext ? path.getContext() : path;\n    var canBoost = ctx && size[0] < BOOST_SIZE_THRESHOLD;\n    var softClipShape = this.softClipShape;\n    var i; // Do draw in afterBrush.\n\n    if (canBoost) {\n      this._ctx = ctx;\n      return;\n    }\n\n    this._ctx = null;\n\n    for (i = this._off; i < points.length;) {\n      var x = points[i++];\n      var y = points[i++];\n\n      if (isNaN(x) || isNaN(y)) {\n        continue;\n      }\n\n      if (softClipShape && !softClipShape.contain(x, y)) {\n        continue;\n      }\n\n      symbolProxyShape.x = x - size[0] / 2;\n      symbolProxyShape.y = y - size[1] / 2;\n      symbolProxyShape.width = size[0];\n      symbolProxyShape.height = size[1];\n      symbolProxy.buildPath(path, symbolProxyShape, true);\n    }\n\n    if (this.incremental) {\n      this._off = i;\n      this.notClear = true;\n    }\n  };\n\n  LargeSymbolPath.prototype.afterBrush = function () {\n    var shape = this.shape;\n    var points = shape.points;\n    var size = shape.size;\n    var ctx = this._ctx;\n    var softClipShape = this.softClipShape;\n    var i;\n\n    if (!ctx) {\n      return;\n    } // PENDING If style or other canvas status changed?\n\n\n    for (i = this._off; i < points.length;) {\n      var x = points[i++];\n      var y = points[i++];\n\n      if (isNaN(x) || isNaN(y)) {\n        continue;\n      }\n\n      if (softClipShape && !softClipShape.contain(x, y)) {\n        continue;\n      } // fillRect is faster than building a rect path and draw.\n      // And it support light globalCompositeOperation.\n\n\n      ctx.fillRect(x - size[0] / 2, y - size[1] / 2, size[0], size[1]);\n    }\n\n    if (this.incremental) {\n      this._off = i;\n      this.notClear = true;\n    }\n  };\n\n  LargeSymbolPath.prototype.findDataIndex = function (x, y) {\n    // TODO ???\n    // Consider transform\n    var shape = this.shape;\n    var points = shape.points;\n    var size = shape.size;\n    var w = Math.max(size[0], 4);\n    var h = Math.max(size[1], 4); // Not consider transform\n    // Treat each element as a rect\n    // top down traverse\n\n    for (var idx = points.length / 2 - 1; idx >= 0; idx--) {\n      var i = idx * 2;\n      var x0 = points[i] - w / 2;\n      var y0 = points[i + 1] - h / 2;\n\n      if (x >= x0 && y >= y0 && x <= x0 + w && y <= y0 + h) {\n        return idx;\n      }\n    }\n\n    return -1;\n  };\n\n  LargeSymbolPath.prototype.contain = function (x, y) {\n    var localPos = this.transformCoordToLocal(x, y);\n    var rect = this.getBoundingRect();\n    x = localPos[0];\n    y = localPos[1];\n\n    if (rect.contain(x, y)) {\n      // Cache found data index.\n      var dataIdx = this.hoverDataIdx = this.findDataIndex(x, y);\n      return dataIdx >= 0;\n    }\n\n    this.hoverDataIdx = -1;\n    return false;\n  };\n\n  LargeSymbolPath.prototype.getBoundingRect = function () {\n    // Ignore stroke for large symbol draw.\n    var rect = this._rect;\n\n    if (!rect) {\n      var shape = this.shape;\n      var points = shape.points;\n      var size = shape.size;\n      var w = size[0];\n      var h = size[1];\n      var minX = Infinity;\n      var minY = Infinity;\n      var maxX = -Infinity;\n      var maxY = -Infinity;\n\n      for (var i = 0; i < points.length;) {\n        var x = points[i++];\n        var y = points[i++];\n        minX = Math.min(x, minX);\n        maxX = Math.max(x, maxX);\n        minY = Math.min(y, minY);\n        maxY = Math.max(y, maxY);\n      }\n\n      rect = this._rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"BoundingRect\"](minX - w / 2, minY - h / 2, maxX - minX + w, maxY - minY + h);\n    }\n\n    return rect;\n  };\n\n  return LargeSymbolPath;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]);\n\nvar LargeSymbolDraw =\n/** @class */\nfunction () {\n  function LargeSymbolDraw() {\n    this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n  }\n  /**\n   * Update symbols draw by new data\n   */\n\n\n  LargeSymbolDraw.prototype.updateData = function (data, opt) {\n    this._clear();\n\n    var symbolEl = this._create();\n\n    symbolEl.setShape({\n      points: data.getLayout('points')\n    });\n\n    this._setCommon(symbolEl, data, opt);\n  };\n\n  LargeSymbolDraw.prototype.updateLayout = function (data) {\n    var points = data.getLayout('points');\n    this.group.eachChild(function (child) {\n      if (child.startIndex != null) {\n        var len = (child.endIndex - child.startIndex) * 2;\n        var byteOffset = child.startIndex * 4 * 2;\n        points = new Float32Array(points.buffer, byteOffset, len);\n      }\n\n      child.setShape('points', points); // Reset draw cursor.\n\n      child.reset();\n    });\n  };\n\n  LargeSymbolDraw.prototype.incrementalPrepareUpdate = function (data) {\n    this._clear();\n  };\n\n  LargeSymbolDraw.prototype.incrementalUpdate = function (taskParams, data, opt) {\n    var lastAdded = this._newAdded[0];\n    var points = data.getLayout('points');\n    var oldPoints = lastAdded && lastAdded.shape.points; // Merging the exists. Each element has 1e4 points.\n    // Consider the performance balance between too much elements and too much points in one shape(may affect hover optimization)\n\n    if (oldPoints && oldPoints.length < 2e4) {\n      var oldLen = oldPoints.length;\n      var newPoints = new Float32Array(oldLen + points.length); // Concat two array\n\n      newPoints.set(oldPoints);\n      newPoints.set(points, oldLen); // Update endIndex\n\n      lastAdded.endIndex = taskParams.end;\n      lastAdded.setShape({\n        points: newPoints\n      });\n    } else {\n      // Clear\n      this._newAdded = [];\n\n      var symbolEl = this._create();\n\n      symbolEl.startIndex = taskParams.start;\n      symbolEl.endIndex = taskParams.end;\n      symbolEl.incremental = true;\n      symbolEl.setShape({\n        points: points\n      });\n\n      this._setCommon(symbolEl, data, opt);\n    }\n  };\n\n  LargeSymbolDraw.prototype.eachRendered = function (cb) {\n    this._newAdded[0] && cb(this._newAdded[0]);\n  };\n\n  LargeSymbolDraw.prototype._create = function () {\n    var symbolEl = new LargeSymbolPath({\n      cursor: 'default'\n    });\n    symbolEl.ignoreCoarsePointer = true;\n    this.group.add(symbolEl);\n\n    this._newAdded.push(symbolEl);\n\n    return symbolEl;\n  };\n\n  LargeSymbolDraw.prototype._setCommon = function (symbolEl, data, opt) {\n    var hostModel = data.hostModel;\n    opt = opt || {};\n    var size = data.getVisual('symbolSize');\n    symbolEl.setShape('size', size instanceof Array ? size : [size, size]);\n    symbolEl.softClipShape = opt.clipShape || null; // Create symbolProxy to build path for each data\n\n    symbolEl.symbolProxy = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_2__[\"createSymbol\"])(data.getVisual('symbol'), 0, 0, 0, 0); // Use symbolProxy setColor method\n\n    symbolEl.setColor = symbolEl.symbolProxy.setColor;\n    var extrudeShadow = symbolEl.shape.size[0] < BOOST_SIZE_THRESHOLD;\n    symbolEl.useStyle( // Draw shadow when doing fillRect is extremely slow.\n    hostModel.getModel('itemStyle').getItemStyle(extrudeShadow ? ['color', 'shadowBlur', 'shadowColor'] : ['color']));\n    var globalStyle = data.getVisual('style');\n    var visualColor = globalStyle && globalStyle.fill;\n\n    if (visualColor) {\n      symbolEl.setColor(visualColor);\n    }\n\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(symbolEl); // Enable tooltip\n    // PENDING May have performance issue when path is extremely large\n\n    ecData.seriesIndex = hostModel.seriesIndex;\n    symbolEl.on('mousemove', function (e) {\n      ecData.dataIndex = null;\n      var dataIndex = symbolEl.hoverDataIdx;\n\n      if (dataIndex >= 0) {\n        // Provide dataIndex for tooltip\n        ecData.dataIndex = dataIndex + (symbolEl.startIndex || 0);\n      }\n    });\n  };\n\n  LargeSymbolDraw.prototype.remove = function () {\n    this._clear();\n  };\n\n  LargeSymbolDraw.prototype._clear = function () {\n    this._newAdded = [];\n    this.group.removeAll();\n  };\n\n  return LargeSymbolDraw;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LargeSymbolDraw);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/Line.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/Line.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _LinePath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LinePath.js */ \"./node_modules/echarts/lib/chart/helper/LinePath.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar SYMBOL_CATEGORIES = ['fromSymbol', 'toSymbol'];\n\nfunction makeSymbolTypeKey(symbolCategory) {\n  return '_' + symbolCategory + 'Type';\n}\n/**\n * @inner\n */\n\n\nfunction createSymbol(name, lineData, idx) {\n  var symbolType = lineData.getItemVisual(idx, name);\n\n  if (!symbolType || symbolType === 'none') {\n    return;\n  }\n\n  var symbolSize = lineData.getItemVisual(idx, name + 'Size');\n  var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');\n  var symbolOffset = lineData.getItemVisual(idx, name + 'Offset');\n  var symbolKeepAspect = lineData.getItemVisual(idx, name + 'KeepAspect');\n  var symbolSizeArr = _util_symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeSymbolSize\"](symbolSize);\n  var symbolOffsetArr = _util_symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeSymbolOffset\"](symbolOffset || 0, symbolSizeArr);\n  var symbolPath = _util_symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"createSymbol\"](symbolType, -symbolSizeArr[0] / 2 + symbolOffsetArr[0], -symbolSizeArr[1] / 2 + symbolOffsetArr[1], symbolSizeArr[0], symbolSizeArr[1], null, symbolKeepAspect);\n  symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;\n  symbolPath.name = name;\n  return symbolPath;\n}\n\nfunction createLine(points) {\n  var line = new _LinePath_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n    name: 'line',\n    subPixelOptimize: true\n  });\n  setLinePoints(line.shape, points);\n  return line;\n}\n\nfunction setLinePoints(targetShape, points) {\n  targetShape.x1 = points[0][0];\n  targetShape.y1 = points[0][1];\n  targetShape.x2 = points[1][0];\n  targetShape.y2 = points[1][1];\n  targetShape.percent = 1;\n  var cp1 = points[2];\n\n  if (cp1) {\n    targetShape.cpx1 = cp1[0];\n    targetShape.cpy1 = cp1[1];\n  } else {\n    targetShape.cpx1 = NaN;\n    targetShape.cpy1 = NaN;\n  }\n}\n\nvar Line =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Line, _super);\n\n  function Line(lineData, idx, seriesScope) {\n    var _this = _super.call(this) || this;\n\n    _this._createLine(lineData, idx, seriesScope);\n\n    return _this;\n  }\n\n  Line.prototype._createLine = function (lineData, idx, seriesScope) {\n    var seriesModel = lineData.hostModel;\n    var linePoints = lineData.getItemLayout(idx);\n    var line = createLine(linePoints);\n    line.shape.percent = 0;\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"initProps\"](line, {\n      shape: {\n        percent: 1\n      }\n    }, seriesModel, idx);\n    this.add(line);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(SYMBOL_CATEGORIES, function (symbolCategory) {\n      var symbol = createSymbol(symbolCategory, lineData, idx); // symbols must added after line to make sure\n      // it will be updated after line#update.\n      // Or symbol position and rotation update in line#beforeUpdate will be one frame slow\n\n      this.add(symbol);\n      this[makeSymbolTypeKey(symbolCategory)] = lineData.getItemVisual(idx, symbolCategory);\n    }, this);\n\n    this._updateCommonStl(lineData, idx, seriesScope);\n  }; // TODO More strict on the List type in parameters?\n\n\n  Line.prototype.updateData = function (lineData, idx, seriesScope) {\n    var seriesModel = lineData.hostModel;\n    var line = this.childOfName('line');\n    var linePoints = lineData.getItemLayout(idx);\n    var target = {\n      shape: {}\n    };\n    setLinePoints(target.shape, linePoints);\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"updateProps\"](line, target, seriesModel, idx);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(SYMBOL_CATEGORIES, function (symbolCategory) {\n      var symbolType = lineData.getItemVisual(idx, symbolCategory);\n      var key = makeSymbolTypeKey(symbolCategory); // Symbol changed\n\n      if (this[key] !== symbolType) {\n        this.remove(this.childOfName(symbolCategory));\n        var symbol = createSymbol(symbolCategory, lineData, idx);\n        this.add(symbol);\n      }\n\n      this[key] = symbolType;\n    }, this);\n\n    this._updateCommonStl(lineData, idx, seriesScope);\n  };\n\n  ;\n\n  Line.prototype.getLinePath = function () {\n    return this.childAt(0);\n  };\n\n  Line.prototype._updateCommonStl = function (lineData, idx, seriesScope) {\n    var seriesModel = lineData.hostModel;\n    var line = this.childOfName('line');\n    var emphasisLineStyle = seriesScope && seriesScope.emphasisLineStyle;\n    var blurLineStyle = seriesScope && seriesScope.blurLineStyle;\n    var selectLineStyle = seriesScope && seriesScope.selectLineStyle;\n    var labelStatesModels = seriesScope && seriesScope.labelStatesModels;\n    var emphasisDisabled = seriesScope && seriesScope.emphasisDisabled;\n    var focus = seriesScope && seriesScope.focus;\n    var blurScope = seriesScope && seriesScope.blurScope; // Optimization for large dataset\n\n    if (!seriesScope || lineData.hasItemOption) {\n      var itemModel = lineData.getItemModel(idx);\n      var emphasisModel = itemModel.getModel('emphasis');\n      emphasisLineStyle = emphasisModel.getModel('lineStyle').getLineStyle();\n      blurLineStyle = itemModel.getModel(['blur', 'lineStyle']).getLineStyle();\n      selectLineStyle = itemModel.getModel(['select', 'lineStyle']).getLineStyle();\n      emphasisDisabled = emphasisModel.get('disabled');\n      focus = emphasisModel.get('focus');\n      blurScope = emphasisModel.get('blurScope');\n      labelStatesModels = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"getLabelStatesModels\"])(itemModel);\n    }\n\n    var lineStyle = lineData.getItemVisual(idx, 'style');\n    var visualColor = lineStyle.stroke;\n    line.useStyle(lineStyle);\n    line.style.fill = null;\n    line.style.strokeNoScale = true;\n    line.ensureState('emphasis').style = emphasisLineStyle;\n    line.ensureState('blur').style = blurLineStyle;\n    line.ensureState('select').style = selectLineStyle; // Update symbol\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(SYMBOL_CATEGORIES, function (symbolCategory) {\n      var symbol = this.childOfName(symbolCategory);\n\n      if (symbol) {\n        // Share opacity and color with line.\n        symbol.setColor(visualColor);\n        symbol.style.opacity = lineStyle.opacity;\n\n        for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"SPECIAL_STATES\"].length; i++) {\n          var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"SPECIAL_STATES\"][i];\n          var lineState = line.getState(stateName);\n\n          if (lineState) {\n            var lineStateStyle = lineState.style || {};\n            var state = symbol.ensureState(stateName);\n            var stateStyle = state.style || (state.style = {});\n\n            if (lineStateStyle.stroke != null) {\n              stateStyle[symbol.__isEmptyBrush ? 'stroke' : 'fill'] = lineStateStyle.stroke;\n            }\n\n            if (lineStateStyle.opacity != null) {\n              stateStyle.opacity = lineStateStyle.opacity;\n            }\n          }\n        }\n\n        symbol.markRedraw();\n      }\n    }, this);\n    var rawVal = seriesModel.getRawValue(idx);\n    Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"setLabelStyle\"])(this, labelStatesModels, {\n      labelDataIndex: idx,\n      labelFetcher: {\n        getFormattedLabel: function (dataIndex, stateName) {\n          return seriesModel.getFormattedLabel(dataIndex, stateName, lineData.dataType);\n        }\n      },\n      inheritColor: visualColor || '#000',\n      defaultOpacity: lineStyle.opacity,\n      defaultText: (rawVal == null ? lineData.getName(idx) : isFinite(rawVal) ? Object(_util_number_js__WEBPACK_IMPORTED_MODULE_8__[\"round\"])(rawVal) : rawVal) + ''\n    });\n    var label = this.getTextContent(); // Always set `textStyle` even if `normalStyle.text` is null, because default\n    // values have to be set on `normalStyle`.\n\n    if (label) {\n      var labelNormalModel = labelStatesModels.normal;\n      label.__align = label.style.align;\n      label.__verticalAlign = label.style.verticalAlign; // 'start', 'middle', 'end'\n\n      label.__position = labelNormalModel.get('position') || 'middle';\n      var distance = labelNormalModel.get('distance');\n\n      if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(distance)) {\n        distance = [distance, distance];\n      }\n\n      label.__labelDistance = distance;\n    }\n\n    this.setTextConfig({\n      position: null,\n      local: true,\n      inside: false // Can't be inside for stroke element.\n\n    });\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"toggleHoverEmphasis\"])(this, focus, blurScope, emphasisDisabled);\n  };\n\n  Line.prototype.highlight = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"enterEmphasis\"])(this);\n  };\n\n  Line.prototype.downplay = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"leaveEmphasis\"])(this);\n  };\n\n  Line.prototype.updateLayout = function (lineData, idx) {\n    this.setLinePoints(lineData.getItemLayout(idx));\n  };\n\n  Line.prototype.setLinePoints = function (points) {\n    var linePath = this.childOfName('line');\n    setLinePoints(linePath.shape, points);\n    linePath.dirty();\n  };\n\n  Line.prototype.beforeUpdate = function () {\n    var lineGroup = this;\n    var symbolFrom = lineGroup.childOfName('fromSymbol');\n    var symbolTo = lineGroup.childOfName('toSymbol');\n    var label = lineGroup.getTextContent(); // Quick reject\n\n    if (!symbolFrom && !symbolTo && (!label || label.ignore)) {\n      return;\n    }\n\n    var invScale = 1;\n    var parentNode = this.parent;\n\n    while (parentNode) {\n      if (parentNode.scaleX) {\n        invScale /= parentNode.scaleX;\n      }\n\n      parentNode = parentNode.parent;\n    }\n\n    var line = lineGroup.childOfName('line'); // If line not changed\n    // FIXME Parent scale changed\n\n    if (!this.__dirty && !line.__dirty) {\n      return;\n    }\n\n    var percent = line.shape.percent;\n    var fromPos = line.pointAt(0);\n    var toPos = line.pointAt(percent);\n    var d = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"sub\"]([], toPos, fromPos);\n    zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"normalize\"](d, d);\n\n    function setSymbolRotation(symbol, percent) {\n      // Fix #12388\n      // when symbol is set to be 'arrow' in markLine,\n      // symbolRotate value will be ignored, and compulsively use tangent angle.\n      // rotate by default if symbol rotation is not specified\n      var specifiedRotation = symbol.__specifiedRotation;\n\n      if (specifiedRotation == null) {\n        var tangent = line.tangentAt(percent);\n        symbol.attr('rotation', (percent === 1 ? -1 : 1) * Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));\n      } else {\n        symbol.attr('rotation', specifiedRotation);\n      }\n    }\n\n    if (symbolFrom) {\n      symbolFrom.setPosition(fromPos);\n      setSymbolRotation(symbolFrom, 0);\n      symbolFrom.scaleX = symbolFrom.scaleY = invScale * percent;\n      symbolFrom.markRedraw();\n    }\n\n    if (symbolTo) {\n      symbolTo.setPosition(toPos);\n      setSymbolRotation(symbolTo, 1);\n      symbolTo.scaleX = symbolTo.scaleY = invScale * percent;\n      symbolTo.markRedraw();\n    }\n\n    if (label && !label.ignore) {\n      label.x = label.y = 0;\n      label.originX = label.originY = 0;\n      var textAlign = void 0;\n      var textVerticalAlign = void 0;\n      var distance = label.__labelDistance;\n      var distanceX = distance[0] * invScale;\n      var distanceY = distance[1] * invScale;\n      var halfPercent = percent / 2;\n      var tangent = line.tangentAt(halfPercent);\n      var n = [tangent[1], -tangent[0]];\n      var cp = line.pointAt(halfPercent);\n\n      if (n[1] > 0) {\n        n[0] = -n[0];\n        n[1] = -n[1];\n      }\n\n      var dir = tangent[0] < 0 ? -1 : 1;\n\n      if (label.__position !== 'start' && label.__position !== 'end') {\n        var rotation = -Math.atan2(tangent[1], tangent[0]);\n\n        if (toPos[0] < fromPos[0]) {\n          rotation = Math.PI + rotation;\n        }\n\n        label.rotation = rotation;\n      }\n\n      var dy = void 0;\n\n      switch (label.__position) {\n        case 'insideStartTop':\n        case 'insideMiddleTop':\n        case 'insideEndTop':\n        case 'middle':\n          dy = -distanceY;\n          textVerticalAlign = 'bottom';\n          break;\n\n        case 'insideStartBottom':\n        case 'insideMiddleBottom':\n        case 'insideEndBottom':\n          dy = distanceY;\n          textVerticalAlign = 'top';\n          break;\n\n        default:\n          dy = 0;\n          textVerticalAlign = 'middle';\n      }\n\n      switch (label.__position) {\n        case 'end':\n          label.x = d[0] * distanceX + toPos[0];\n          label.y = d[1] * distanceY + toPos[1];\n          textAlign = d[0] > 0.8 ? 'left' : d[0] < -0.8 ? 'right' : 'center';\n          textVerticalAlign = d[1] > 0.8 ? 'top' : d[1] < -0.8 ? 'bottom' : 'middle';\n          break;\n\n        case 'start':\n          label.x = -d[0] * distanceX + fromPos[0];\n          label.y = -d[1] * distanceY + fromPos[1];\n          textAlign = d[0] > 0.8 ? 'right' : d[0] < -0.8 ? 'left' : 'center';\n          textVerticalAlign = d[1] > 0.8 ? 'bottom' : d[1] < -0.8 ? 'top' : 'middle';\n          break;\n\n        case 'insideStartTop':\n        case 'insideStart':\n        case 'insideStartBottom':\n          label.x = distanceX * dir + fromPos[0];\n          label.y = fromPos[1] + dy;\n          textAlign = tangent[0] < 0 ? 'right' : 'left';\n          label.originX = -distanceX * dir;\n          label.originY = -dy;\n          break;\n\n        case 'insideMiddleTop':\n        case 'insideMiddle':\n        case 'insideMiddleBottom':\n        case 'middle':\n          label.x = cp[0];\n          label.y = cp[1] + dy;\n          textAlign = 'center';\n          label.originY = -dy;\n          break;\n\n        case 'insideEndTop':\n        case 'insideEnd':\n        case 'insideEndBottom':\n          label.x = -distanceX * dir + toPos[0];\n          label.y = toPos[1] + dy;\n          textAlign = tangent[0] >= 0 ? 'right' : 'left';\n          label.originX = distanceX * dir;\n          label.originY = -dy;\n          break;\n      }\n\n      label.scaleX = label.scaleY = invScale;\n      label.setStyle({\n        // Use the user specified text align and baseline first\n        verticalAlign: label.__verticalAlign || textVerticalAlign,\n        align: label.__align || textAlign\n      });\n    }\n  };\n\n  return Line;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Group\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Line);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/Line.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/LineDraw.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/LineDraw.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _Line_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Line.js */ \"./node_modules/echarts/lib/chart/helper/Line.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar LineDraw =\n/** @class */\nfunction () {\n  function LineDraw(LineCtor) {\n    this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Group\"]();\n    this._LineCtor = LineCtor || _Line_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n  }\n\n  LineDraw.prototype.updateData = function (lineData) {\n    var _this = this; // Remove progressive els.\n\n\n    this._progressiveEls = null;\n    var lineDraw = this;\n    var group = lineDraw.group;\n    var oldLineData = lineDraw._lineData;\n    lineDraw._lineData = lineData; // There is no oldLineData only when first rendering or switching from\n    // stream mode to normal mode, where previous elements should be removed.\n\n    if (!oldLineData) {\n      group.removeAll();\n    }\n\n    var seriesScope = makeSeriesScope(lineData);\n    lineData.diff(oldLineData).add(function (idx) {\n      _this._doAdd(lineData, idx, seriesScope);\n    }).update(function (newIdx, oldIdx) {\n      _this._doUpdate(oldLineData, lineData, oldIdx, newIdx, seriesScope);\n    }).remove(function (idx) {\n      group.remove(oldLineData.getItemGraphicEl(idx));\n    }).execute();\n  };\n\n  ;\n\n  LineDraw.prototype.updateLayout = function () {\n    var lineData = this._lineData; // Do not support update layout in incremental mode.\n\n    if (!lineData) {\n      return;\n    }\n\n    lineData.eachItemGraphicEl(function (el, idx) {\n      el.updateLayout(lineData, idx);\n    }, this);\n  };\n\n  ;\n\n  LineDraw.prototype.incrementalPrepareUpdate = function (lineData) {\n    this._seriesScope = makeSeriesScope(lineData);\n    this._lineData = null;\n    this.group.removeAll();\n  };\n\n  ;\n\n  LineDraw.prototype.incrementalUpdate = function (taskParams, lineData) {\n    this._progressiveEls = [];\n\n    function updateIncrementalAndHover(el) {\n      if (!el.isGroup && !isEffectObject(el)) {\n        el.incremental = true;\n        el.ensureState('emphasis').hoverLayer = true;\n      }\n    }\n\n    for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n      var itemLayout = lineData.getItemLayout(idx);\n\n      if (lineNeedsDraw(itemLayout)) {\n        var el = new this._LineCtor(lineData, idx, this._seriesScope);\n        el.traverse(updateIncrementalAndHover);\n        this.group.add(el);\n        lineData.setItemGraphicEl(idx, el);\n\n        this._progressiveEls.push(el);\n      }\n    }\n  };\n\n  ;\n\n  LineDraw.prototype.remove = function () {\n    this.group.removeAll();\n  };\n\n  ;\n\n  LineDraw.prototype.eachRendered = function (cb) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"traverseElements\"](this._progressiveEls || this.group, cb);\n  };\n\n  LineDraw.prototype._doAdd = function (lineData, idx, seriesScope) {\n    var itemLayout = lineData.getItemLayout(idx);\n\n    if (!lineNeedsDraw(itemLayout)) {\n      return;\n    }\n\n    var el = new this._LineCtor(lineData, idx, seriesScope);\n    lineData.setItemGraphicEl(idx, el);\n    this.group.add(el);\n  };\n\n  LineDraw.prototype._doUpdate = function (oldLineData, newLineData, oldIdx, newIdx, seriesScope) {\n    var itemEl = oldLineData.getItemGraphicEl(oldIdx);\n\n    if (!lineNeedsDraw(newLineData.getItemLayout(newIdx))) {\n      this.group.remove(itemEl);\n      return;\n    }\n\n    if (!itemEl) {\n      itemEl = new this._LineCtor(newLineData, newIdx, seriesScope);\n    } else {\n      itemEl.updateData(newLineData, newIdx, seriesScope);\n    }\n\n    newLineData.setItemGraphicEl(newIdx, itemEl);\n    this.group.add(itemEl);\n  };\n\n  return LineDraw;\n}();\n\nfunction isEffectObject(el) {\n  return el.animators && el.animators.length > 0;\n}\n\nfunction makeSeriesScope(lineData) {\n  var hostModel = lineData.hostModel;\n  var emphasisModel = hostModel.getModel('emphasis');\n  return {\n    lineStyle: hostModel.getModel('lineStyle').getLineStyle(),\n    emphasisLineStyle: emphasisModel.getModel(['lineStyle']).getLineStyle(),\n    blurLineStyle: hostModel.getModel(['blur', 'lineStyle']).getLineStyle(),\n    selectLineStyle: hostModel.getModel(['select', 'lineStyle']).getLineStyle(),\n    emphasisDisabled: emphasisModel.get('disabled'),\n    blurScope: emphasisModel.get('blurScope'),\n    focus: emphasisModel.get('focus'),\n    labelStatesModels: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"getLabelStatesModels\"])(hostModel)\n  };\n}\n\nfunction isPointNaN(pt) {\n  return isNaN(pt[0]) || isNaN(pt[1]);\n}\n\nfunction lineNeedsDraw(pts) {\n  return pts && !isPointNaN(pts[0]) && !isPointNaN(pts[1]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LineDraw);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/LineDraw.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/LinePath.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/LinePath.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Line path for bezier and straight line draw\n */\n\n\n\nvar straightLineProto = _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Line\"].prototype;\nvar bezierCurveProto = _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"BezierCurve\"].prototype;\n\nvar StraightLineShape =\n/** @class */\nfunction () {\n  function StraightLineShape() {\n    // Start point\n    this.x1 = 0;\n    this.y1 = 0; // End point\n\n    this.x2 = 0;\n    this.y2 = 0;\n    this.percent = 1;\n  }\n\n  return StraightLineShape;\n}();\n\nvar CurveShape =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CurveShape, _super);\n\n  function CurveShape() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  return CurveShape;\n}(StraightLineShape);\n\nfunction isStraightLine(shape) {\n  return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);\n}\n\nvar ECLinePath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ECLinePath, _super);\n\n  function ECLinePath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'ec-line';\n    return _this;\n  }\n\n  ECLinePath.prototype.getDefaultStyle = function () {\n    return {\n      stroke: '#000',\n      fill: null\n    };\n  };\n\n  ECLinePath.prototype.getDefaultShape = function () {\n    return new StraightLineShape();\n  };\n\n  ECLinePath.prototype.buildPath = function (ctx, shape) {\n    if (isStraightLine(shape)) {\n      straightLineProto.buildPath.call(this, ctx, shape);\n    } else {\n      bezierCurveProto.buildPath.call(this, ctx, shape);\n    }\n  };\n\n  ECLinePath.prototype.pointAt = function (t) {\n    if (isStraightLine(this.shape)) {\n      return straightLineProto.pointAt.call(this, t);\n    } else {\n      return bezierCurveProto.pointAt.call(this, t);\n    }\n  };\n\n  ECLinePath.prototype.tangentAt = function (t) {\n    var shape = this.shape;\n    var p = isStraightLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : bezierCurveProto.tangentAt.call(this, t);\n    return zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"normalize\"](p, p);\n  };\n\n  return ECLinePath;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ECLinePath);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/LinePath.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/Polyline.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/Polyline.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar Polyline =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Polyline, _super);\n\n  function Polyline(lineData, idx, seriesScope) {\n    var _this = _super.call(this) || this;\n\n    _this._createPolyline(lineData, idx, seriesScope);\n\n    return _this;\n  }\n\n  Polyline.prototype._createPolyline = function (lineData, idx, seriesScope) {\n    // let seriesModel = lineData.hostModel;\n    var points = lineData.getItemLayout(idx);\n    var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Polyline\"]({\n      shape: {\n        points: points\n      }\n    });\n    this.add(line);\n\n    this._updateCommonStl(lineData, idx, seriesScope);\n  };\n\n  ;\n\n  Polyline.prototype.updateData = function (lineData, idx, seriesScope) {\n    var seriesModel = lineData.hostModel;\n    var line = this.childAt(0);\n    var target = {\n      shape: {\n        points: lineData.getItemLayout(idx)\n      }\n    };\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](line, target, seriesModel, idx);\n\n    this._updateCommonStl(lineData, idx, seriesScope);\n  };\n\n  ;\n\n  Polyline.prototype._updateCommonStl = function (lineData, idx, seriesScope) {\n    var line = this.childAt(0);\n    var itemModel = lineData.getItemModel(idx);\n    var emphasisLineStyle = seriesScope && seriesScope.emphasisLineStyle;\n    var focus = seriesScope && seriesScope.focus;\n    var blurScope = seriesScope && seriesScope.blurScope;\n    var emphasisDisabled = seriesScope && seriesScope.emphasisDisabled;\n\n    if (!seriesScope || lineData.hasItemOption) {\n      var emphasisModel = itemModel.getModel('emphasis');\n      emphasisLineStyle = emphasisModel.getModel('lineStyle').getLineStyle();\n      emphasisDisabled = emphasisModel.get('disabled');\n      focus = emphasisModel.get('focus');\n      blurScope = emphasisModel.get('blurScope');\n    }\n\n    line.useStyle(lineData.getItemVisual(idx, 'style'));\n    line.style.fill = null;\n    line.style.strokeNoScale = true;\n    var lineEmphasisState = line.ensureState('emphasis');\n    lineEmphasisState.style = emphasisLineStyle;\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(this, focus, blurScope, emphasisDisabled);\n  };\n\n  ;\n\n  Polyline.prototype.updateLayout = function (lineData, idx) {\n    var polyline = this.childAt(0);\n    polyline.setShape('points', lineData.getItemLayout(idx));\n  };\n\n  ;\n  return Polyline;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Polyline);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/Polyline.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/Symbol.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/Symbol.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _labelHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./labelHelper.js */ \"./node_modules/echarts/lib/chart/helper/labelHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! zrender/lib/graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nvar Symbol =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Symbol, _super);\n\n  function Symbol(data, idx, seriesScope, opts) {\n    var _this = _super.call(this) || this;\n\n    _this.updateData(data, idx, seriesScope, opts);\n\n    return _this;\n  }\n\n  Symbol.prototype._createSymbol = function (symbolType, data, idx, symbolSize, keepAspect) {\n    // Remove paths created before\n    this.removeAll(); // let symbolPath = createSymbol(\n    //     symbolType, -0.5, -0.5, 1, 1, color\n    // );\n    // If width/height are set too small (e.g., set to 1) on ios10\n    // and macOS Sierra, a circle stroke become a rect, no matter what\n    // the scale is set. So we set width/height as 2. See #4150.\n\n    var symbolPath = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"createSymbol\"])(symbolType, -1, -1, 2, 2, null, keepAspect);\n    symbolPath.attr({\n      z2: 100,\n      culling: true,\n      scaleX: symbolSize[0] / 2,\n      scaleY: symbolSize[1] / 2\n    }); // Rewrite drift method\n\n    symbolPath.drift = driftSymbol;\n    this._symbolType = symbolType;\n    this.add(symbolPath);\n  };\n  /**\n   * Stop animation\n   * @param {boolean} toLastFrame\n   */\n\n\n  Symbol.prototype.stopSymbolAnimation = function (toLastFrame) {\n    this.childAt(0).stopAnimation(null, toLastFrame);\n  };\n\n  Symbol.prototype.getSymbolType = function () {\n    return this._symbolType;\n  };\n  /**\n   * FIXME:\n   * Caution: This method breaks the encapsulation of this module,\n   * but it indeed brings convenience. So do not use the method\n   * unless you detailedly know all the implements of `Symbol`,\n   * especially animation.\n   *\n   * Get symbol path element.\n   */\n\n\n  Symbol.prototype.getSymbolPath = function () {\n    return this.childAt(0);\n  };\n  /**\n   * Highlight symbol\n   */\n\n\n  Symbol.prototype.highlight = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enterEmphasis\"])(this.childAt(0));\n  };\n  /**\n   * Downplay symbol\n   */\n\n\n  Symbol.prototype.downplay = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"leaveEmphasis\"])(this.childAt(0));\n  };\n  /**\n   * @param {number} zlevel\n   * @param {number} z\n   */\n\n\n  Symbol.prototype.setZ = function (zlevel, z) {\n    var symbolPath = this.childAt(0);\n    symbolPath.zlevel = zlevel;\n    symbolPath.z = z;\n  };\n\n  Symbol.prototype.setDraggable = function (draggable, hasCursorOption) {\n    var symbolPath = this.childAt(0);\n    symbolPath.draggable = draggable;\n    symbolPath.cursor = !hasCursorOption && draggable ? 'move' : symbolPath.cursor;\n  };\n  /**\n   * Update symbol properties\n   */\n\n\n  Symbol.prototype.updateData = function (data, idx, seriesScope, opts) {\n    this.silent = false;\n    var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n    var seriesModel = data.hostModel;\n    var symbolSize = Symbol.getSymbolSize(data, idx);\n    var isInit = symbolType !== this._symbolType;\n    var disableAnimation = opts && opts.disableAnimation;\n\n    if (isInit) {\n      var keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');\n\n      this._createSymbol(symbolType, data, idx, symbolSize, keepAspect);\n    } else {\n      var symbolPath = this.childAt(0);\n      symbolPath.silent = false;\n      var target = {\n        scaleX: symbolSize[0] / 2,\n        scaleY: symbolSize[1] / 2\n      };\n      disableAnimation ? symbolPath.attr(target) : _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](symbolPath, target, seriesModel, idx);\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_9__[\"saveOldStyle\"])(symbolPath);\n    }\n\n    this._updateCommon(data, idx, symbolSize, seriesScope, opts);\n\n    if (isInit) {\n      var symbolPath = this.childAt(0);\n\n      if (!disableAnimation) {\n        var target = {\n          scaleX: this._sizeX,\n          scaleY: this._sizeY,\n          style: {\n            // Always fadeIn. Because it has fadeOut animation when symbol is removed..\n            opacity: symbolPath.style.opacity\n          }\n        };\n        symbolPath.scaleX = symbolPath.scaleY = 0;\n        symbolPath.style.opacity = 0;\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](symbolPath, target, seriesModel, idx);\n      }\n    }\n\n    if (disableAnimation) {\n      // Must stop leave transition manually if don't call initProps or updateProps.\n      this.childAt(0).stopAnimation('leave');\n    }\n  };\n\n  Symbol.prototype._updateCommon = function (data, idx, symbolSize, seriesScope, opts) {\n    var symbolPath = this.childAt(0);\n    var seriesModel = data.hostModel;\n    var emphasisItemStyle;\n    var blurItemStyle;\n    var selectItemStyle;\n    var focus;\n    var blurScope;\n    var emphasisDisabled;\n    var labelStatesModels;\n    var hoverScale;\n    var cursorStyle;\n\n    if (seriesScope) {\n      emphasisItemStyle = seriesScope.emphasisItemStyle;\n      blurItemStyle = seriesScope.blurItemStyle;\n      selectItemStyle = seriesScope.selectItemStyle;\n      focus = seriesScope.focus;\n      blurScope = seriesScope.blurScope;\n      labelStatesModels = seriesScope.labelStatesModels;\n      hoverScale = seriesScope.hoverScale;\n      cursorStyle = seriesScope.cursorStyle;\n      emphasisDisabled = seriesScope.emphasisDisabled;\n    }\n\n    if (!seriesScope || data.hasItemOption) {\n      var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data.getItemModel(idx);\n      var emphasisModel = itemModel.getModel('emphasis');\n      emphasisItemStyle = emphasisModel.getModel('itemStyle').getItemStyle();\n      selectItemStyle = itemModel.getModel(['select', 'itemStyle']).getItemStyle();\n      blurItemStyle = itemModel.getModel(['blur', 'itemStyle']).getItemStyle();\n      focus = emphasisModel.get('focus');\n      blurScope = emphasisModel.get('blurScope');\n      emphasisDisabled = emphasisModel.get('disabled');\n      labelStatesModels = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"getLabelStatesModels\"])(itemModel);\n      hoverScale = emphasisModel.getShallow('scale');\n      cursorStyle = itemModel.getShallow('cursor');\n    }\n\n    var symbolRotate = data.getItemVisual(idx, 'symbolRotate');\n    symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);\n    var symbolOffset = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeSymbolOffset\"])(data.getItemVisual(idx, 'symbolOffset'), symbolSize);\n\n    if (symbolOffset) {\n      symbolPath.x = symbolOffset[0];\n      symbolPath.y = symbolOffset[1];\n    }\n\n    cursorStyle && symbolPath.attr('cursor', cursorStyle);\n    var symbolStyle = data.getItemVisual(idx, 'style');\n    var visualColor = symbolStyle.fill;\n\n    if (symbolPath instanceof zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n      var pathStyle = symbolPath.style;\n      symbolPath.useStyle(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"extend\"])({\n        // TODO other properties like x, y ?\n        image: pathStyle.image,\n        x: pathStyle.x,\n        y: pathStyle.y,\n        width: pathStyle.width,\n        height: pathStyle.height\n      }, symbolStyle));\n    } else {\n      if (symbolPath.__isEmptyBrush) {\n        // fill and stroke will be swapped if it's empty.\n        // So we cloned a new style to avoid it affecting the original style in visual storage.\n        // TODO Better implementation. No empty logic!\n        symbolPath.useStyle(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"extend\"])({}, symbolStyle));\n      } else {\n        symbolPath.useStyle(symbolStyle);\n      } // Disable decal because symbol scale will been applied on the decal.\n\n\n      symbolPath.style.decal = null;\n      symbolPath.setColor(visualColor, opts && opts.symbolInnerColor);\n      symbolPath.style.strokeNoScale = true;\n    }\n\n    var liftZ = data.getItemVisual(idx, 'liftZ');\n    var z2Origin = this._z2;\n\n    if (liftZ != null) {\n      if (z2Origin == null) {\n        this._z2 = symbolPath.z2;\n        symbolPath.z2 += liftZ;\n      }\n    } else if (z2Origin != null) {\n      symbolPath.z2 = z2Origin;\n      this._z2 = null;\n    }\n\n    var useNameLabel = opts && opts.useNameLabel;\n    Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"setLabelStyle\"])(symbolPath, labelStatesModels, {\n      labelFetcher: seriesModel,\n      labelDataIndex: idx,\n      defaultText: getLabelDefaultText,\n      inheritColor: visualColor,\n      defaultOpacity: symbolStyle.opacity\n    }); // Do not execute util needed.\n\n    function getLabelDefaultText(idx) {\n      return useNameLabel ? data.getName(idx) : Object(_labelHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"getDefaultLabel\"])(data, idx);\n    }\n\n    this._sizeX = symbolSize[0] / 2;\n    this._sizeY = symbolSize[1] / 2;\n    var emphasisState = symbolPath.ensureState('emphasis');\n    emphasisState.style = emphasisItemStyle;\n    symbolPath.ensureState('select').style = selectItemStyle;\n    symbolPath.ensureState('blur').style = blurItemStyle; // null / undefined / true means to use default strategy.\n    // 0 / false / negative number / NaN / Infinity means no scale.\n\n    var scaleRatio = hoverScale == null || hoverScale === true ? Math.max(1.1, 3 / this._sizeY) // PENDING: restrict hoverScale > 1? It seems unreasonable to scale down\n    : isFinite(hoverScale) && hoverScale > 0 ? +hoverScale : 1; // always set scale to allow resetting\n\n    emphasisState.scaleX = this._sizeX * scaleRatio;\n    emphasisState.scaleY = this._sizeY * scaleRatio;\n    this.setSymbolScale(1);\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"toggleHoverEmphasis\"])(this, focus, blurScope, emphasisDisabled);\n  };\n\n  Symbol.prototype.setSymbolScale = function (scale) {\n    this.scaleX = this.scaleY = scale;\n  };\n\n  Symbol.prototype.fadeOut = function (cb, seriesModel, opt) {\n    var symbolPath = this.childAt(0);\n    var dataIndex = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(this).dataIndex;\n    var animationOpt = opt && opt.animation; // Avoid mistaken hover when fading out\n\n    this.silent = symbolPath.silent = true; // Not show text when animating\n\n    if (opt && opt.fadeLabel) {\n      var textContent = symbolPath.getTextContent();\n\n      if (textContent) {\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElement\"](textContent, {\n          style: {\n            opacity: 0\n          }\n        }, seriesModel, {\n          dataIndex: dataIndex,\n          removeOpt: animationOpt,\n          cb: function () {\n            symbolPath.removeTextContent();\n          }\n        });\n      }\n    } else {\n      symbolPath.removeTextContent();\n    }\n\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElement\"](symbolPath, {\n      style: {\n        opacity: 0\n      },\n      scaleX: 0,\n      scaleY: 0\n    }, seriesModel, {\n      dataIndex: dataIndex,\n      cb: cb,\n      removeOpt: animationOpt\n    });\n  };\n\n  Symbol.getSymbolSize = function (data, idx) {\n    return Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeSymbolSize\"])(data.getItemVisual(idx, 'symbolSize'));\n  };\n\n  return Symbol;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]);\n\nfunction driftSymbol(dx, dy) {\n  this.parent.drift(dx, dy);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Symbol);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/Symbol.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/SymbolDraw.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/SymbolDraw.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Symbol.js */ \"./node_modules/echarts/lib/chart/helper/Symbol.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction symbolNeedsDraw(data, point, idx, opt) {\n  return point && !isNaN(point[0]) && !isNaN(point[1]) && !(opt.isIgnore && opt.isIgnore(idx)) // We do not set clipShape on group, because it will cut part of\n  // the symbol element shape. We use the same clip shape here as\n  // the line clip.\n  && !(opt.clipShape && !opt.clipShape.contain(point[0], point[1])) && data.getItemVisual(idx, 'symbol') !== 'none';\n}\n\nfunction normalizeUpdateOpt(opt) {\n  if (opt != null && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(opt)) {\n    opt = {\n      isIgnore: opt\n    };\n  }\n\n  return opt || {};\n}\n\nfunction makeSeriesScope(data) {\n  var seriesModel = data.hostModel;\n  var emphasisModel = seriesModel.getModel('emphasis');\n  return {\n    emphasisItemStyle: emphasisModel.getModel('itemStyle').getItemStyle(),\n    blurItemStyle: seriesModel.getModel(['blur', 'itemStyle']).getItemStyle(),\n    selectItemStyle: seriesModel.getModel(['select', 'itemStyle']).getItemStyle(),\n    focus: emphasisModel.get('focus'),\n    blurScope: emphasisModel.get('blurScope'),\n    emphasisDisabled: emphasisModel.get('disabled'),\n    hoverScale: emphasisModel.get('scale'),\n    labelStatesModels: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"getLabelStatesModels\"])(seriesModel),\n    cursorStyle: seriesModel.get('cursor')\n  };\n}\n\nvar SymbolDraw =\n/** @class */\nfunction () {\n  function SymbolDraw(SymbolCtor) {\n    this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Group\"]();\n    this._SymbolCtor = SymbolCtor || _Symbol_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n  }\n  /**\n   * Update symbols draw by new data\n   */\n\n\n  SymbolDraw.prototype.updateData = function (data, opt) {\n    // Remove progressive els.\n    this._progressiveEls = null;\n    opt = normalizeUpdateOpt(opt);\n    var group = this.group;\n    var seriesModel = data.hostModel;\n    var oldData = this._data;\n    var SymbolCtor = this._SymbolCtor;\n    var disableAnimation = opt.disableAnimation;\n    var seriesScope = makeSeriesScope(data);\n    var symbolUpdateOpt = {\n      disableAnimation: disableAnimation\n    };\n\n    var getSymbolPoint = opt.getSymbolPoint || function (idx) {\n      return data.getItemLayout(idx);\n    }; // There is no oldLineData only when first rendering or switching from\n    // stream mode to normal mode, where previous elements should be removed.\n\n\n    if (!oldData) {\n      group.removeAll();\n    }\n\n    data.diff(oldData).add(function (newIdx) {\n      var point = getSymbolPoint(newIdx);\n\n      if (symbolNeedsDraw(data, point, newIdx, opt)) {\n        var symbolEl = new SymbolCtor(data, newIdx, seriesScope, symbolUpdateOpt);\n        symbolEl.setPosition(point);\n        data.setItemGraphicEl(newIdx, symbolEl);\n        group.add(symbolEl);\n      }\n    }).update(function (newIdx, oldIdx) {\n      var symbolEl = oldData.getItemGraphicEl(oldIdx);\n      var point = getSymbolPoint(newIdx);\n\n      if (!symbolNeedsDraw(data, point, newIdx, opt)) {\n        group.remove(symbolEl);\n        return;\n      }\n\n      var newSymbolType = data.getItemVisual(newIdx, 'symbol') || 'circle';\n      var oldSymbolType = symbolEl && symbolEl.getSymbolType && symbolEl.getSymbolType();\n\n      if (!symbolEl // Create a new if symbol type changed.\n      || oldSymbolType && oldSymbolType !== newSymbolType) {\n        group.remove(symbolEl);\n        symbolEl = new SymbolCtor(data, newIdx, seriesScope, symbolUpdateOpt);\n        symbolEl.setPosition(point);\n      } else {\n        symbolEl.updateData(data, newIdx, seriesScope, symbolUpdateOpt);\n        var target = {\n          x: point[0],\n          y: point[1]\n        };\n        disableAnimation ? symbolEl.attr(target) : _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"updateProps\"](symbolEl, target, seriesModel);\n      } // Add back\n\n\n      group.add(symbolEl);\n      data.setItemGraphicEl(newIdx, symbolEl);\n    }).remove(function (oldIdx) {\n      var el = oldData.getItemGraphicEl(oldIdx);\n      el && el.fadeOut(function () {\n        group.remove(el);\n      }, seriesModel);\n    }).execute();\n    this._getSymbolPoint = getSymbolPoint;\n    this._data = data;\n  };\n\n  ;\n\n  SymbolDraw.prototype.updateLayout = function () {\n    var _this = this;\n\n    var data = this._data;\n\n    if (data) {\n      // Not use animation\n      data.eachItemGraphicEl(function (el, idx) {\n        var point = _this._getSymbolPoint(idx);\n\n        el.setPosition(point);\n        el.markRedraw();\n      });\n    }\n  };\n\n  ;\n\n  SymbolDraw.prototype.incrementalPrepareUpdate = function (data) {\n    this._seriesScope = makeSeriesScope(data);\n    this._data = null;\n    this.group.removeAll();\n  };\n\n  ;\n  /**\n   * Update symbols draw by new data\n   */\n\n  SymbolDraw.prototype.incrementalUpdate = function (taskParams, data, opt) {\n    // Clear\n    this._progressiveEls = [];\n    opt = normalizeUpdateOpt(opt);\n\n    function updateIncrementalAndHover(el) {\n      if (!el.isGroup) {\n        el.incremental = true;\n        el.ensureState('emphasis').hoverLayer = true;\n      }\n    }\n\n    for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n      var point = data.getItemLayout(idx);\n\n      if (symbolNeedsDraw(data, point, idx, opt)) {\n        var el = new this._SymbolCtor(data, idx, this._seriesScope);\n        el.traverse(updateIncrementalAndHover);\n        el.setPosition(point);\n        this.group.add(el);\n        data.setItemGraphicEl(idx, el);\n\n        this._progressiveEls.push(el);\n      }\n    }\n  };\n\n  ;\n\n  SymbolDraw.prototype.eachRendered = function (cb) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"traverseElements\"](this._progressiveEls || this.group, cb);\n  };\n\n  SymbolDraw.prototype.remove = function (enableAnimation) {\n    var group = this.group;\n    var data = this._data; // Incremental model do not have this._data.\n\n    if (data && enableAnimation) {\n      data.eachItemGraphicEl(function (el) {\n        el.fadeOut(function () {\n          group.remove(el);\n        }, data.hostModel);\n      });\n    } else {\n      group.removeAll();\n    }\n  };\n\n  ;\n  return SymbolDraw;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SymbolDraw);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/SymbolDraw.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js ***!
  \*****************************************************************************/
/*! exports provided: createGridClipPath, createPolarClipPath, createClipPath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createGridClipPath\", function() { return createGridClipPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPolarClipPath\", function() { return createPolarClipPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createClipPath\", function() { return createClipPath; });\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction createGridClipPath(cartesian, hasAnimation, seriesModel, done, during) {\n  var rect = cartesian.getArea();\n  var x = rect.x;\n  var y = rect.y;\n  var width = rect.width;\n  var height = rect.height;\n  var lineWidth = seriesModel.get(['lineStyle', 'width']) || 2; // Expand the clip path a bit to avoid the border is clipped and looks thinner\n\n  x -= lineWidth / 2;\n  y -= lineWidth / 2;\n  width += lineWidth;\n  height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369\n\n  x = Math.floor(x);\n  width = Math.round(width);\n  var clipPath = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Rect\"]({\n    shape: {\n      x: x,\n      y: y,\n      width: width,\n      height: height\n    }\n  });\n\n  if (hasAnimation) {\n    var baseAxis = cartesian.getBaseAxis();\n    var isHorizontal = baseAxis.isHorizontal();\n    var isAxisInversed = baseAxis.inverse;\n\n    if (isHorizontal) {\n      if (isAxisInversed) {\n        clipPath.shape.x += width;\n      }\n\n      clipPath.shape.width = 0;\n    } else {\n      if (!isAxisInversed) {\n        clipPath.shape.y += height;\n      }\n\n      clipPath.shape.height = 0;\n    }\n\n    var duringCb = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"])(during) ? function (percent) {\n      during(percent, clipPath);\n    } : null;\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"initProps\"](clipPath, {\n      shape: {\n        width: width,\n        height: height,\n        x: x,\n        y: y\n      }\n    }, seriesModel, null, done, duringCb);\n  }\n\n  return clipPath;\n}\n\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n  var sectorArea = polar.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n\n  var r0 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(sectorArea.r0, 1);\n  var r = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(sectorArea.r, 1);\n  var clipPath = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Sector\"]({\n    shape: {\n      cx: Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(polar.cx, 1),\n      cy: Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(polar.cy, 1),\n      r0: r0,\n      r: r,\n      startAngle: sectorArea.startAngle,\n      endAngle: sectorArea.endAngle,\n      clockwise: sectorArea.clockwise\n    }\n  });\n\n  if (hasAnimation) {\n    var isRadial = polar.getBaseAxis().dim === 'angle';\n\n    if (isRadial) {\n      clipPath.shape.endAngle = sectorArea.startAngle;\n    } else {\n      clipPath.shape.r = r0;\n    }\n\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"initProps\"](clipPath, {\n      shape: {\n        endAngle: sectorArea.endAngle,\n        r: r\n      }\n    }, seriesModel);\n  }\n\n  return clipPath;\n}\n\nfunction createClipPath(coordSys, hasAnimation, seriesModel, done, during) {\n  if (!coordSys) {\n    return null;\n  } else if (coordSys.type === 'polar') {\n    return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n  } else if (coordSys.type === 'cartesian2d') {\n    return createGridClipPath(coordSys, hasAnimation, seriesModel, done, during);\n  }\n\n  return null;\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createGraphFromNodeEdge; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var _data_Graph_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/Graph.js */ \"./node_modules/echarts/lib/data/Graph.js\");\n/* harmony import */ var _data_helper_linkSeriesData_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/helper/linkSeriesData.js */ \"./node_modules/echarts/lib/data/helper/linkSeriesData.js\");\n/* harmony import */ var _data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../data/helper/createDimensions.js */ \"./node_modules/echarts/lib/data/helper/createDimensions.js\");\n/* harmony import */ var _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../core/CoordinateSystem.js */ \"./node_modules/echarts/lib/core/CoordinateSystem.js\");\n/* harmony import */ var _createSeriesData_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nfunction createGraphFromNodeEdge(nodes, edges, seriesModel, directed, beforeLink) {\n  // ??? TODO\n  // support dataset?\n  var graph = new _data_Graph_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](directed);\n\n  for (var i = 0; i < nodes.length; i++) {\n    graph.addNode(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"]( // Id, name, dataIndex\n    nodes[i].id, nodes[i].name, i), i);\n  }\n\n  var linkNameList = [];\n  var validEdges = [];\n  var linkCount = 0;\n\n  for (var i = 0; i < edges.length; i++) {\n    var link = edges[i];\n    var source = link.source;\n    var target = link.target; // addEdge may fail when source or target not exists\n\n    if (graph.addEdge(source, target, linkCount)) {\n      validEdges.push(link);\n      linkNameList.push(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"](Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"convertOptionIdName\"])(link.id, null), source + ' > ' + target));\n      linkCount++;\n    }\n  }\n\n  var coordSys = seriesModel.get('coordinateSystem');\n  var nodeData;\n\n  if (coordSys === 'cartesian2d' || coordSys === 'polar') {\n    nodeData = Object(_createSeriesData_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(nodes, seriesModel);\n  } else {\n    var coordSysCtor = _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].get(coordSys);\n    var coordDimensions = coordSysCtor ? coordSysCtor.dimensions || [] : []; // FIXME: Some geo do not need `value` dimenson, whereas `calendar` needs\n    // `value` dimension, but graph need `value` dimension. It's better to\n    // uniform this behavior.\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](coordDimensions, 'value') < 0) {\n      coordDimensions.concat(['value']);\n    }\n\n    var dimensions = Object(_data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(nodes, {\n      coordDimensions: coordDimensions,\n      encodeDefine: seriesModel.getEncode()\n    }).dimensions;\n    nodeData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](dimensions, seriesModel);\n    nodeData.initData(nodes);\n  }\n\n  var edgeData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](['value'], seriesModel);\n  edgeData.initData(validEdges, linkNameList);\n  beforeLink && beforeLink(nodeData, edgeData);\n  Object(_data_helper_linkSeriesData_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n    mainData: nodeData,\n    struct: graph,\n    structAttr: 'graph',\n    datas: {\n      node: nodeData,\n      edge: edgeData\n    },\n    datasAttr: {\n      node: 'data',\n      edge: 'edgeData'\n    }\n  }); // Update dataIndex of nodes and edges because invalid edge may be removed\n\n  graph.update();\n  return graph;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/createRenderPlanner.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/createRenderPlanner.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createRenderPlanner; });\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @return {string} If large mode changed, return string 'reset';\n */\n\nfunction createRenderPlanner() {\n  var inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\n  return function (seriesModel) {\n    var fields = inner(seriesModel);\n    var pipelineContext = seriesModel.pipelineContext;\n    var originalLarge = !!fields.large;\n    var originalProgressive = !!fields.progressiveRender; // FIXME: if the planner works on a filtered series, `pipelineContext` does not\n    // exists. See #11611 . Probably we need to modify this structure, see the comment\n    // on `performRawSeries` in `Schedular.js`.\n\n    var large = fields.large = !!(pipelineContext && pipelineContext.large);\n    var progressive = fields.progressiveRender = !!(pipelineContext && pipelineContext.progressiveRender);\n    return !!(originalLarge !== large || originalProgressive !== progressive) && 'reset';\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createRenderPlanner.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/createSeriesData.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/createSeriesData.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var _data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/helper/createDimensions.js */ \"./node_modules/echarts/lib/data/helper/createDimensions.js\");\n/* harmony import */ var _data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/helper/dimensionHelper.js */ \"./node_modules/echarts/lib/data/helper/dimensionHelper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../core/CoordinateSystem.js */ \"./node_modules/echarts/lib/core/CoordinateSystem.js\");\n/* harmony import */ var _model_referHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../model/referHelper.js */ \"./node_modules/echarts/lib/model/referHelper.js\");\n/* harmony import */ var _data_Source_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../data/Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var _data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../data/helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getCoordSysDimDefs(seriesModel, coordSysInfo) {\n  var coordSysName = seriesModel.get('coordinateSystem');\n  var registeredCoordSys = _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].get(coordSysName);\n  var coordSysDimDefs;\n\n  if (coordSysInfo && coordSysInfo.coordSysDims) {\n    coordSysDimDefs = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](coordSysInfo.coordSysDims, function (dim) {\n      var dimInfo = {\n        name: dim\n      };\n      var axisModel = coordSysInfo.axisMap.get(dim);\n\n      if (axisModel) {\n        var axisType = axisModel.get('type');\n        dimInfo.type = Object(_data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getDimensionTypeByAxis\"])(axisType);\n      }\n\n      return dimInfo;\n    });\n  }\n\n  if (!coordSysDimDefs) {\n    // Get dimensions from registered coordinate system\n    coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n  }\n\n  return coordSysDimDefs;\n}\n\nfunction injectOrdinalMeta(dimInfoList, createInvertedIndices, coordSysInfo) {\n  var firstCategoryDimIndex;\n  var hasNameEncode;\n  coordSysInfo && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](dimInfoList, function (dimInfo, dimIndex) {\n    var coordDim = dimInfo.coordDim;\n    var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);\n\n    if (categoryAxisModel) {\n      if (firstCategoryDimIndex == null) {\n        firstCategoryDimIndex = dimIndex;\n      }\n\n      dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n\n      if (createInvertedIndices) {\n        dimInfo.createInvertedIndices = true;\n      }\n    }\n\n    if (dimInfo.otherDims.itemName != null) {\n      hasNameEncode = true;\n    }\n  });\n\n  if (!hasNameEncode && firstCategoryDimIndex != null) {\n    dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n  }\n\n  return firstCategoryDimIndex;\n}\n/**\n * Caution: there are side effects to `sourceManager` in this method.\n * Should better only be called in `Series['getInitialData']`.\n */\n\n\nfunction createSeriesData(sourceRaw, seriesModel, opt) {\n  opt = opt || {};\n  var sourceManager = seriesModel.getSourceManager();\n  var source;\n  var isOriginalSource = false;\n\n  if (sourceRaw) {\n    isOriginalSource = true;\n    source = Object(_data_Source_js__WEBPACK_IMPORTED_MODULE_7__[\"createSourceFromSeriesDataOption\"])(sourceRaw);\n  } else {\n    source = sourceManager.getSource(); // Is series.data. not dataset.\n\n    isOriginalSource = source.sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_10__[\"SOURCE_FORMAT_ORIGINAL\"];\n  }\n\n  var coordSysInfo = Object(_model_referHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getCoordSysInfoBySeries\"])(seriesModel);\n  var coordSysDimDefs = getCoordSysDimDefs(seriesModel, coordSysInfo);\n  var useEncodeDefaulter = opt.useEncodeDefaulter;\n  var encodeDefaulter = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](useEncodeDefaulter) ? useEncodeDefaulter : useEncodeDefaulter ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](_data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_9__[\"makeSeriesEncodeForAxisCoordSys\"], coordSysDimDefs, seriesModel) : null;\n  var createDimensionOptions = {\n    coordDimensions: coordSysDimDefs,\n    generateCoord: opt.generateCoord,\n    encodeDefine: seriesModel.getEncode(),\n    encodeDefaulter: encodeDefaulter,\n    canOmitUnusedDimensions: !isOriginalSource\n  };\n  var schema = Object(_data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source, createDimensionOptions);\n  var firstCategoryDimIndex = injectOrdinalMeta(schema.dimensions, opt.createInvertedIndices, coordSysInfo);\n  var store = !isOriginalSource ? sourceManager.getSharedDataStore(schema) : null;\n  var stackCalculationInfo = Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"enableDataStack\"])(seriesModel, {\n    schema: schema,\n    store: store\n  });\n  var data = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](schema, seriesModel);\n  data.setCalculationInfo(stackCalculationInfo);\n  var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n    // Use dataIndex as ordinal value in categoryAxis\n    return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n  } : null;\n  data.hasItemOption = false;\n  data.initData( // Try to reuse the data store in sourceManager if using dataset.\n  isOriginalSource ? source : store, null, dimValueGetter);\n  return data;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n  if (source.sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_10__[\"SOURCE_FORMAT_ORIGINAL\"]) {\n    var sampleItem = firstDataNotNull(source.data || []);\n    return !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"getDataItemValue\"])(sampleItem));\n  }\n}\n\nfunction firstDataNotNull(arr) {\n  var i = 0;\n\n  while (i < arr.length && arr[i] == null) {\n    i++;\n  }\n\n  return arr[i];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createSeriesData);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createSeriesData.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createSeriesDataSimply; });\n/* harmony import */ var _data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/helper/createDimensions.js */ \"./node_modules/echarts/lib/data/helper/createDimensions.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n/**\n * [Usage]:\n * (1)\n * createListSimply(seriesModel, ['value']);\n * (2)\n * createListSimply(seriesModel, {\n *     coordDimensions: ['value'],\n *     dimensionsCount: 5\n * });\n */\n\nfunction createSeriesDataSimply(seriesModel, opt, nameList) {\n  opt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"])(opt) && {\n    coordDimensions: opt\n  } || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({\n    encodeDefine: seriesModel.getEncode()\n  }, opt);\n  var source = seriesModel.getSource();\n  var dimensions = Object(_data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, opt).dimensions;\n  var list = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](dimensions, seriesModel);\n  list.initData(source, nameList);\n  return list;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return enableAriaDecalForTree; });\n/* harmony import */ var _model_mixin_palette_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../model/mixin/palette.js */ \"./node_modules/echarts/lib/model/mixin/palette.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction enableAriaDecalForTree(seriesModel) {\n  var data = seriesModel.getData();\n  var tree = data.tree;\n  var decalPaletteScope = {};\n  tree.eachNode(function (node) {\n    // Use decal of level 1 node\n    var current = node;\n\n    while (current && current.depth > 1) {\n      current = current.parentNode;\n    }\n\n    var decal = Object(_model_mixin_palette_js__WEBPACK_IMPORTED_MODULE_0__[\"getDecalFromPalette\"])(seriesModel.ecModel, current.name || current.dataIndex + '', decalPaletteScope);\n    node.setVisual('decal', decal);\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/labelHelper.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/labelHelper.js ***!
  \**************************************************************/
/*! exports provided: getDefaultLabel, getDefaultInterpolatedLabel */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultLabel\", function() { return getDefaultLabel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultInterpolatedLabel\", function() { return getDefaultInterpolatedLabel; });\n/* harmony import */ var _data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/helper/dataProvider.js */ \"./node_modules/echarts/lib/data/helper/dataProvider.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * @return label string. Not null/undefined\n */\n\nfunction getDefaultLabel(data, dataIndex) {\n  var labelDims = data.mapDimensionsAll('defaultedLabel');\n  var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n  if (len === 1) {\n    var rawVal = Object(_data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieveRawValue\"])(data, dataIndex, labelDims[0]);\n    return rawVal != null ? rawVal + '' : null;\n  } else if (len) {\n    var vals = [];\n\n    for (var i = 0; i < labelDims.length; i++) {\n      vals.push(Object(_data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieveRawValue\"])(data, dataIndex, labelDims[i]));\n    }\n\n    return vals.join(' ');\n  }\n}\nfunction getDefaultInterpolatedLabel(data, interpolatedValue) {\n  var labelDims = data.mapDimensionsAll('defaultedLabel');\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(interpolatedValue)) {\n    return interpolatedValue + '';\n  }\n\n  var vals = [];\n\n  for (var i = 0; i < labelDims.length; i++) {\n    var dimIndex = data.getDimensionIndex(labelDims[i]);\n\n    if (dimIndex >= 0) {\n      vals.push(interpolatedValue[dimIndex]);\n    }\n  }\n\n  return vals.join(' ');\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/labelHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js ***!
  \**************************************************************************/
/*! exports provided: initCurvenessList, createEdgeMapForCurveness, getCurvenessForEdge */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initCurvenessList\", function() { return initCurvenessList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createEdgeMapForCurveness\", function() { return createEdgeMapForCurveness; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCurvenessForEdge\", function() { return getCurvenessForEdge; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n\nvar KEY_DELIMITER = '-->';\n/**\n * params handler\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @returns {*}\n */\n\nvar getAutoCurvenessParams = function (seriesModel) {\n  return seriesModel.get('autoCurveness') || null;\n};\n/**\n * Generate a list of edge curvatures, 20 is the default\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param {number} appendLength\n * @return  20 => [0, -0.2, 0.2, -0.4, 0.4, -0.6, 0.6, -0.8, 0.8, -1, 1, -1.2, 1.2, -1.4, 1.4, -1.6, 1.6, -1.8, 1.8, -2]\n */\n\n\nvar createCurveness = function (seriesModel, appendLength) {\n  var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);\n  var length = 20;\n  var curvenessList = []; // handler the function set\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](autoCurvenessParmas)) {\n    length = autoCurvenessParmas;\n  } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](autoCurvenessParmas)) {\n    seriesModel.__curvenessList = autoCurvenessParmas;\n    return;\n  } // append length\n\n\n  if (appendLength > length) {\n    length = appendLength;\n  } // make sure the length is even\n\n\n  var len = length % 2 ? length + 2 : length + 3;\n  curvenessList = [];\n\n  for (var i = 0; i < len; i++) {\n    curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));\n  }\n\n  seriesModel.__curvenessList = curvenessList;\n};\n/**\n * Create different cache key data in the positive and negative directions, in order to set the curvature later\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @returns {string} key\n */\n\n\nvar getKeyOfEdges = function (n1, n2, seriesModel) {\n  var source = [n1.id, n1.dataIndex].join('.');\n  var target = [n2.id, n2.dataIndex].join('.');\n  return [seriesModel.uid, source, target].join(KEY_DELIMITER);\n};\n/**\n * get opposite key\n * @param {string} key\n * @returns {string}\n */\n\n\nvar getOppositeKey = function (key) {\n  var keys = key.split(KEY_DELIMITER);\n  return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);\n};\n/**\n * get edgeMap with key\n * @param edge\n * @param {module:echarts/model/SeriesModel} seriesModel\n */\n\n\nvar getEdgeFromMap = function (edge, seriesModel) {\n  var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n  return seriesModel.__edgeMap[key];\n};\n/**\n * calculate all cases total length\n * @param edge\n * @param seriesModel\n * @returns {number}\n */\n\n\nvar getTotalLengthBetweenNodes = function (edge, seriesModel) {\n  var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);\n  var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);\n  return len + lenV;\n};\n/**\n *\n * @param key\n */\n\n\nvar getEdgeMapLengthWithKey = function (key, seriesModel) {\n  var edgeMap = seriesModel.__edgeMap;\n  return edgeMap[key] ? edgeMap[key].length : 0;\n};\n/**\n * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge\n * @see /graph/GraphSeries.js@getInitialData\n * @param {module:echarts/model/SeriesModel} seriesModel\n */\n\n\nfunction initCurvenessList(seriesModel) {\n  if (!getAutoCurvenessParams(seriesModel)) {\n    return;\n  }\n\n  seriesModel.__curvenessList = [];\n  seriesModel.__edgeMap = {}; // calc the array of curveness List\n\n  createCurveness(seriesModel);\n}\n/**\n * set edgeMap with key\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param {number} index\n */\n\nfunction createEdgeMapForCurveness(n1, n2, seriesModel, index) {\n  if (!getAutoCurvenessParams(seriesModel)) {\n    return;\n  }\n\n  var key = getKeyOfEdges(n1, n2, seriesModel);\n  var edgeMap = seriesModel.__edgeMap;\n  var oppositeEdges = edgeMap[getOppositeKey(key)]; // set direction\n\n  if (edgeMap[key] && !oppositeEdges) {\n    edgeMap[key].isForward = true;\n  } else if (oppositeEdges && edgeMap[key]) {\n    oppositeEdges.isForward = true;\n    edgeMap[key].isForward = false;\n  }\n\n  edgeMap[key] = edgeMap[key] || [];\n  edgeMap[key].push(index);\n}\n/**\n * get curvature for edge\n * @param edge\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param index\n */\n\nfunction getCurvenessForEdge(edge, seriesModel, index, needReverse) {\n  var autoCurvenessParams = getAutoCurvenessParams(seriesModel);\n  var isArrayParam = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](autoCurvenessParams);\n\n  if (!autoCurvenessParams) {\n    return null;\n  }\n\n  var edgeArray = getEdgeFromMap(edge, seriesModel);\n\n  if (!edgeArray) {\n    return null;\n  }\n\n  var edgeIndex = -1;\n\n  for (var i = 0; i < edgeArray.length; i++) {\n    if (edgeArray[i] === index) {\n      edgeIndex = i;\n      break;\n    }\n  } // if totalLen is Longer createCurveness\n\n\n  var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);\n  createCurveness(seriesModel, totalLen);\n  edge.lineStyle = edge.lineStyle || {}; // if is opposite edge, must set curvenss to opposite number\n\n  var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n  var curvenessList = seriesModel.__curvenessList; // if pass array no need parity\n\n  var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;\n\n  if (!edgeArray.isForward) {\n    // the opposite edge show outside\n    var oppositeKey = getOppositeKey(curKey);\n    var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);\n    var resValue = curvenessList[edgeIndex + len + parityCorrection]; // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite\n\n    if (needReverse) {\n      // set as array may make the parity handle with the len of opposite\n      if (isArrayParam) {\n        if (autoCurvenessParams && autoCurvenessParams[0] === 0) {\n          return (len + parityCorrection) % 2 ? resValue : -resValue;\n        } else {\n          return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;\n        }\n      } else {\n        return (len + parityCorrection) % 2 ? resValue : -resValue;\n      }\n    } else {\n      return curvenessList[edgeIndex + len + parityCorrection];\n    }\n  } else {\n    return curvenessList[parityCorrection + edgeIndex];\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/pieHelper.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/pieHelper.js ***!
  \************************************************************/
/*! exports provided: getSectorCornerRadius */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSectorCornerRadius\", function() { return getSectorCornerRadius; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction getSectorCornerRadius(model, shape, zeroIfNull) {\n  var cornerRadius = model.get('borderRadius');\n\n  if (cornerRadius == null) {\n    return zeroIfNull ? {\n      cornerRadius: 0\n    } : null;\n  }\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(cornerRadius)) {\n    cornerRadius = [cornerRadius, cornerRadius, cornerRadius, cornerRadius];\n  }\n\n  var dr = Math.abs(shape.r || 0 - shape.r0 || 0);\n  return {\n    cornerRadius: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(cornerRadius, function (cr) {\n      return Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(cr, dr);\n    })\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/pieHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/treeHelper.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/treeHelper.js ***!
  \*************************************************************/
/*! exports provided: retrieveTargetInfo, getPathToRoot, aboveViewRoot, wrapTreePathInfo */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieveTargetInfo\", function() { return retrieveTargetInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPathToRoot\", function() { return getPathToRoot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aboveViewRoot\", function() { return aboveViewRoot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wrapTreePathInfo\", function() { return wrapTreePathInfo; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction retrieveTargetInfo(payload, validPayloadTypes, seriesModel) {\n  if (payload && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](validPayloadTypes, payload.type) >= 0) {\n    var root = seriesModel.getData().tree.root;\n    var targetNode = payload.targetNode;\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](targetNode)) {\n      targetNode = root.getNodeById(targetNode);\n    }\n\n    if (targetNode && root.contains(targetNode)) {\n      return {\n        node: targetNode\n      };\n    }\n\n    var targetNodeId = payload.targetNodeId;\n\n    if (targetNodeId != null && (targetNode = root.getNodeById(targetNodeId))) {\n      return {\n        node: targetNode\n      };\n    }\n  }\n} // Not includes the given node at the last item.\n\nfunction getPathToRoot(node) {\n  var path = [];\n\n  while (node) {\n    node = node.parentNode;\n    node && path.push(node);\n  }\n\n  return path.reverse();\n}\nfunction aboveViewRoot(viewRoot, node) {\n  var viewPath = getPathToRoot(viewRoot);\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](viewPath, node) >= 0;\n} // From root to the input node (the input node will be included).\n\nfunction wrapTreePathInfo(node, seriesModel) {\n  var treePathInfo = [];\n\n  while (node) {\n    var nodeDataIndex = node.dataIndex;\n    treePathInfo.push({\n      name: node.name,\n      dataIndex: nodeDataIndex,\n      value: seriesModel.getRawValue(nodeDataIndex)\n    });\n    node = node.parentNode;\n  }\n\n  treePathInfo.reverse();\n  return treePathInfo;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/treeHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js ***!
  \*******************************************************************/
/*! exports provided: WhiskerBoxCommonMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WhiskerBoxCommonMixin\", function() { return WhiskerBoxCommonMixin; });\n/* harmony import */ var _createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createSeriesDataSimply.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/helper/dimensionHelper.js */ \"./node_modules/echarts/lib/data/helper/dimensionHelper.js\");\n/* harmony import */ var _data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar WhiskerBoxCommonMixin =\n/** @class */\nfunction () {\n  function WhiskerBoxCommonMixin() {}\n  /**\n   * @override\n   */\n\n\n  WhiskerBoxCommonMixin.prototype.getInitialData = function (option, ecModel) {\n    // When both types of xAxis and yAxis are 'value', layout is\n    // needed to be specified by user. Otherwise, layout can be\n    // judged by which axis is category.\n    var ordinalMeta;\n    var xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex'));\n    var yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex'));\n    var xAxisType = xAxisModel.get('type');\n    var yAxisType = yAxisModel.get('type');\n    var addOrdinal; // FIXME\n    // Consider time axis.\n\n    if (xAxisType === 'category') {\n      option.layout = 'horizontal';\n      ordinalMeta = xAxisModel.getOrdinalMeta();\n      addOrdinal = true;\n    } else if (yAxisType === 'category') {\n      option.layout = 'vertical';\n      ordinalMeta = yAxisModel.getOrdinalMeta();\n      addOrdinal = true;\n    } else {\n      option.layout = option.layout || 'horizontal';\n    }\n\n    var coordDims = ['x', 'y'];\n    var baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;\n    var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];\n    var otherAxisDim = coordDims[1 - baseAxisDimIndex];\n    var axisModels = [xAxisModel, yAxisModel];\n    var baseAxisType = axisModels[baseAxisDimIndex].get('type');\n    var otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');\n    var data = option.data; // Clone a new data for next setOption({}) usage.\n    // Avoid modifying current data will affect further update.\n\n    if (data && addOrdinal) {\n      var newOptionData_1 = [];\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](data, function (item, index) {\n        var newItem;\n\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](item)) {\n          newItem = item.slice(); // Modify current using data.\n\n          item.unshift(index);\n        } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](item.value)) {\n          newItem = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, item);\n          newItem.value = newItem.value.slice(); // Modify current using data.\n\n          item.value.unshift(index);\n        } else {\n          newItem = item;\n        }\n\n        newOptionData_1.push(newItem);\n      });\n      option.data = newOptionData_1;\n    }\n\n    var defaultValueDimensions = this.defaultValueDimensions;\n    var coordDimensions = [{\n      name: baseAxisDim,\n      type: Object(_data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getDimensionTypeByAxis\"])(baseAxisType),\n      ordinalMeta: ordinalMeta,\n      otherDims: {\n        tooltip: false,\n        itemName: 0\n      },\n      dimsDef: ['base']\n    }, {\n      name: otherAxisDim,\n      type: Object(_data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getDimensionTypeByAxis\"])(otherAxisType),\n      dimsDef: defaultValueDimensions.slice()\n    }];\n    return Object(_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, {\n      coordDimensions: coordDimensions,\n      dimensionsCount: defaultValueDimensions.length + 1,\n      encodeDefaulter: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"](_data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeSeriesEncodeForAxisCoordSys\"], coordDimensions, this)\n    });\n  };\n  /**\n   * If horizontal, base axis is x, otherwise y.\n   * @override\n   */\n\n\n  WhiskerBoxCommonMixin.prototype.getBaseAxis = function () {\n    var dim = this._baseAxisDim;\n    return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;\n  };\n\n  return WhiskerBoxCommonMixin;\n}();\n\n;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/line/LineSeries.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/line/LineSeries.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar LineSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LineSeriesModel, _super);\n\n  function LineSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = LineSeriesModel.type;\n    _this.hasSymbolVisual = true;\n    return _this;\n  }\n\n  LineSeriesModel.prototype.getInitialData = function (option) {\n    if (true) {\n      var coordSys = option.coordinateSystem;\n\n      if (coordSys !== 'polar' && coordSys !== 'cartesian2d') {\n        throw new Error('Line not support coordinateSystem besides cartesian and polar');\n      }\n    }\n\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(null, this, {\n      useEncodeDefaulter: true\n    });\n  };\n\n  LineSeriesModel.prototype.getLegendIcon = function (opt) {\n    var group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"]();\n    var line = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"createSymbol\"])('line', 0, opt.itemHeight / 2, opt.itemWidth, 0, opt.lineStyle.stroke, false);\n    group.add(line);\n    line.setStyle(opt.lineStyle);\n    var visualType = this.getData().getVisual('symbol');\n    var visualRotate = this.getData().getVisual('symbolRotate');\n    var symbolType = visualType === 'none' ? 'circle' : visualType; // Symbol size is 80% when there is a line\n\n    var size = opt.itemHeight * 0.8;\n    var symbol = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"createSymbol\"])(symbolType, (opt.itemWidth - size) / 2, (opt.itemHeight - size) / 2, size, size, opt.itemStyle.fill);\n    group.add(symbol);\n    symbol.setStyle(opt.itemStyle);\n    var symbolRotate = opt.iconRotate === 'inherit' ? visualRotate : opt.iconRotate || 0;\n    symbol.rotation = symbolRotate * Math.PI / 180;\n    symbol.setOrigin([opt.itemWidth / 2, opt.itemHeight / 2]);\n\n    if (symbolType.indexOf('empty') > -1) {\n      symbol.style.stroke = symbol.style.fill;\n      symbol.style.fill = '#fff';\n      symbol.style.lineWidth = 2;\n    }\n\n    return group;\n  };\n\n  LineSeriesModel.type = 'series.line';\n  LineSeriesModel.dependencies = ['grid', 'polar'];\n  LineSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 3,\n    coordinateSystem: 'cartesian2d',\n    legendHoverLink: true,\n    clip: true,\n    label: {\n      position: 'top'\n    },\n    // itemStyle: {\n    // },\n    endLabel: {\n      show: false,\n      valueAnimation: true,\n      distance: 8\n    },\n    lineStyle: {\n      width: 2,\n      type: 'solid'\n    },\n    emphasis: {\n      scale: true\n    },\n    // areaStyle: {\n    // origin of areaStyle. Valid values:\n    // `'auto'/null/undefined`: from axisLine to data\n    // `'start'`: from min to data\n    // `'end'`: from data to max\n    // origin: 'auto'\n    // },\n    // false, 'start', 'end', 'middle'\n    step: false,\n    // Disabled if step is true\n    smooth: false,\n    smoothMonotone: null,\n    symbol: 'emptyCircle',\n    symbolSize: 4,\n    symbolRotate: null,\n    showSymbol: true,\n    // `false`: follow the label interval strategy.\n    // `true`: show all symbols.\n    // `'auto'`: If possible, show all symbols, otherwise\n    //           follow the label interval strategy.\n    showAllSymbol: 'auto',\n    // Whether to connect break point.\n    connectNulls: false,\n    // Sampling for large data. Can be: 'average', 'max', 'min', 'sum', 'lttb'.\n    sampling: 'none',\n    animationEasing: 'linear',\n    // Disable progressive\n    progressive: 0,\n    hoverLayerThreshold: Infinity,\n    universalTransition: {\n      divideShape: 'clone'\n    },\n    triggerLineEvent: false\n  };\n  return LineSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LineSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/LineSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/line/LineView.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/line/LineView.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/SymbolDraw.js */ \"./node_modules/echarts/lib/chart/helper/SymbolDraw.js\");\n/* harmony import */ var _helper_Symbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/Symbol.js */ \"./node_modules/echarts/lib/chart/helper/Symbol.js\");\n/* harmony import */ var _lineAnimationDiff_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lineAnimationDiff.js */ \"./node_modules/echarts/lib/chart/line/lineAnimationDiff.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _poly_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./poly.js */ \"./node_modules/echarts/lib/chart/line/poly.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/chart/line/helper.js\");\n/* harmony import */ var _helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helper/createClipPathFromCoordSys.js */ \"./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js\");\n/* harmony import */ var _coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../coord/CoordinateSystem.js */ \"./node_modules/echarts/lib/coord/CoordinateSystem.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../helper/labelHelper.js */ \"./node_modules/echarts/lib/chart/helper/labelHelper.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_vendor_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/vendor.js */ \"./node_modules/echarts/lib/util/vendor.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // FIXME step not support polar\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isPointsSame(points1, points2) {\n  if (points1.length !== points2.length) {\n    return;\n  }\n\n  for (var i = 0; i < points1.length; i++) {\n    if (points1[i] !== points2[i]) {\n      return;\n    }\n  }\n\n  return true;\n}\n\nfunction bboxFromPoints(points) {\n  var minX = Infinity;\n  var minY = Infinity;\n  var maxX = -Infinity;\n  var maxY = -Infinity;\n\n  for (var i = 0; i < points.length;) {\n    var x = points[i++];\n    var y = points[i++];\n\n    if (!isNaN(x)) {\n      minX = Math.min(x, minX);\n      maxX = Math.max(x, maxX);\n    }\n\n    if (!isNaN(y)) {\n      minY = Math.min(y, minY);\n      maxY = Math.max(y, maxY);\n    }\n  }\n\n  return [[minX, minY], [maxX, maxY]];\n}\n\nfunction getBoundingDiff(points1, points2) {\n  var _a = bboxFromPoints(points1),\n      min1 = _a[0],\n      max1 = _a[1];\n\n  var _b = bboxFromPoints(points2),\n      min2 = _b[0],\n      max2 = _b[1]; // Get a max value from each corner of two boundings.\n\n\n  return Math.max(Math.abs(min1[0] - min2[0]), Math.abs(min1[1] - min2[1]), Math.abs(max1[0] - max2[0]), Math.abs(max1[1] - max2[1]));\n}\n\nfunction getSmooth(smooth) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"](smooth) ? smooth : smooth ? 0.5 : 0;\n}\n\nfunction getStackedOnPoints(coordSys, data, dataCoordInfo) {\n  if (!dataCoordInfo.valueDim) {\n    return [];\n  }\n\n  var len = data.count();\n  var points = Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_16__[\"createFloat32Array\"])(len * 2);\n\n  for (var idx = 0; idx < len; idx++) {\n    var pt = Object(_helper_js__WEBPACK_IMPORTED_MODULE_9__[\"getStackedOnPoint\"])(dataCoordInfo, coordSys, data, idx);\n    points[idx * 2] = pt[0];\n    points[idx * 2 + 1] = pt[1];\n  }\n\n  return points;\n}\n\nfunction turnPointsIntoStep(points, coordSys, stepTurnAt, connectNulls) {\n  var baseAxis = coordSys.getBaseAxis();\n  var baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;\n  var stepPoints = [];\n  var i = 0;\n  var stepPt = [];\n  var pt = [];\n  var nextPt = [];\n  var filteredPoints = [];\n\n  if (connectNulls) {\n    for (i = 0; i < points.length; i += 2) {\n      if (!isNaN(points[i]) && !isNaN(points[i + 1])) {\n        filteredPoints.push(points[i], points[i + 1]);\n      }\n    }\n\n    points = filteredPoints;\n  }\n\n  for (i = 0; i < points.length - 2; i += 2) {\n    nextPt[0] = points[i + 2];\n    nextPt[1] = points[i + 3];\n    pt[0] = points[i];\n    pt[1] = points[i + 1];\n    stepPoints.push(pt[0], pt[1]);\n\n    switch (stepTurnAt) {\n      case 'end':\n        stepPt[baseIndex] = nextPt[baseIndex];\n        stepPt[1 - baseIndex] = pt[1 - baseIndex];\n        stepPoints.push(stepPt[0], stepPt[1]);\n        break;\n\n      case 'middle':\n        var middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;\n        var stepPt2 = [];\n        stepPt[baseIndex] = stepPt2[baseIndex] = middle;\n        stepPt[1 - baseIndex] = pt[1 - baseIndex];\n        stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];\n        stepPoints.push(stepPt[0], stepPt[1]);\n        stepPoints.push(stepPt2[0], stepPt2[1]);\n        break;\n\n      default:\n        // default is start\n        stepPt[baseIndex] = pt[baseIndex];\n        stepPt[1 - baseIndex] = nextPt[1 - baseIndex];\n        stepPoints.push(stepPt[0], stepPt[1]);\n    }\n  } // Last points\n\n\n  stepPoints.push(points[i++], points[i++]);\n  return stepPoints;\n}\n/**\n * Clip color stops to edge. Avoid creating too large gradients.\n * Which may lead to blurry when GPU acceleration is enabled. See #15680\n *\n * The stops has been sorted from small to large.\n */\n\n\nfunction clipColorStops(colorStops, maxSize) {\n  var newColorStops = [];\n  var len = colorStops.length; // coord will always < 0 in prevOutOfRangeColorStop.\n\n  var prevOutOfRangeColorStop;\n  var prevInRangeColorStop;\n\n  function lerpStop(stop0, stop1, clippedCoord) {\n    var coord0 = stop0.coord;\n    var p = (clippedCoord - coord0) / (stop1.coord - coord0);\n    var color = Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_18__[\"lerp\"])(p, [stop0.color, stop1.color]);\n    return {\n      coord: clippedCoord,\n      color: color\n    };\n  }\n\n  for (var i = 0; i < len; i++) {\n    var stop_1 = colorStops[i];\n    var coord = stop_1.coord;\n\n    if (coord < 0) {\n      prevOutOfRangeColorStop = stop_1;\n    } else if (coord > maxSize) {\n      if (prevInRangeColorStop) {\n        newColorStops.push(lerpStop(prevInRangeColorStop, stop_1, maxSize));\n      } else if (prevOutOfRangeColorStop) {\n        // If there are two stops and coord range is between these two stops\n        newColorStops.push(lerpStop(prevOutOfRangeColorStop, stop_1, 0), lerpStop(prevOutOfRangeColorStop, stop_1, maxSize));\n      } // All following stop will be out of range. So just ignore them.\n\n\n      break;\n    } else {\n      if (prevOutOfRangeColorStop) {\n        newColorStops.push(lerpStop(prevOutOfRangeColorStop, stop_1, 0)); // Reset\n\n        prevOutOfRangeColorStop = null;\n      }\n\n      newColorStops.push(stop_1);\n      prevInRangeColorStop = stop_1;\n    }\n  }\n\n  return newColorStops;\n}\n\nfunction getVisualGradient(data, coordSys, api) {\n  var visualMetaList = data.getVisual('visualMeta');\n\n  if (!visualMetaList || !visualMetaList.length || !data.count()) {\n    // When data.count() is 0, gradient range can not be calculated.\n    return;\n  }\n\n  if (coordSys.type !== 'cartesian2d') {\n    if (true) {\n      console.warn('Visual map on line style is only supported on cartesian2d.');\n    }\n\n    return;\n  }\n\n  var coordDim;\n  var visualMeta;\n\n  for (var i = visualMetaList.length - 1; i >= 0; i--) {\n    var dimInfo = data.getDimensionInfo(visualMetaList[i].dimension);\n    coordDim = dimInfo && dimInfo.coordDim; // Can only be x or y\n\n    if (coordDim === 'x' || coordDim === 'y') {\n      visualMeta = visualMetaList[i];\n      break;\n    }\n  }\n\n  if (!visualMeta) {\n    if (true) {\n      console.warn('Visual map on line style only support x or y dimension.');\n    }\n\n    return;\n  } // If the area to be rendered is bigger than area defined by LinearGradient,\n  // the canvas spec prescribes that the color of the first stop and the last\n  // stop should be used. But if two stops are added at offset 0, in effect\n  // browsers use the color of the second stop to render area outside\n  // LinearGradient. So we can only infinitesimally extend area defined in\n  // LinearGradient to render `outerColors`.\n\n\n  var axis = coordSys.getAxis(coordDim); // dataToCoord mapping may not be linear, but must be monotonic.\n\n  var colorStops = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](visualMeta.stops, function (stop) {\n    // offset will be calculated later.\n    return {\n      coord: axis.toGlobalCoord(axis.dataToCoord(stop.value)),\n      color: stop.color\n    };\n  });\n  var stopLen = colorStops.length;\n  var outerColors = visualMeta.outerColors.slice();\n\n  if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {\n    colorStops.reverse();\n    outerColors.reverse();\n  }\n\n  var colorStopsInRange = clipColorStops(colorStops, coordDim === 'x' ? api.getWidth() : api.getHeight());\n  var inRangeStopLen = colorStopsInRange.length;\n\n  if (!inRangeStopLen && stopLen) {\n    // All stops are out of range. All will be the same color.\n    return colorStops[0].coord < 0 ? outerColors[1] ? outerColors[1] : colorStops[stopLen - 1].color : outerColors[0] ? outerColors[0] : colorStops[0].color;\n  }\n\n  var tinyExtent = 10; // Arbitrary value: 10px\n\n  var minCoord = colorStopsInRange[0].coord - tinyExtent;\n  var maxCoord = colorStopsInRange[inRangeStopLen - 1].coord + tinyExtent;\n  var coordSpan = maxCoord - minCoord;\n\n  if (coordSpan < 1e-3) {\n    return 'transparent';\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](colorStopsInRange, function (stop) {\n    stop.offset = (stop.coord - minCoord) / coordSpan;\n  });\n  colorStopsInRange.push({\n    // NOTE: inRangeStopLen may still be 0 if stoplen is zero.\n    offset: inRangeStopLen ? colorStopsInRange[inRangeStopLen - 1].offset : 0.5,\n    color: outerColors[1] || 'transparent'\n  });\n  colorStopsInRange.unshift({\n    offset: inRangeStopLen ? colorStopsInRange[0].offset : 0.5,\n    color: outerColors[0] || 'transparent'\n  });\n  var gradient = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"LinearGradient\"](0, 0, 0, 0, colorStopsInRange, true);\n  gradient[coordDim] = minCoord;\n  gradient[coordDim + '2'] = maxCoord;\n  return gradient;\n}\n\nfunction getIsIgnoreFunc(seriesModel, data, coordSys) {\n  var showAllSymbol = seriesModel.get('showAllSymbol');\n  var isAuto = showAllSymbol === 'auto';\n\n  if (showAllSymbol && !isAuto) {\n    return;\n  }\n\n  var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n  if (!categoryAxis) {\n    return;\n  } // Note that category label interval strategy might bring some weird effect\n  // in some scenario: users may wonder why some of the symbols are not\n  // displayed. So we show all symbols as possible as we can.\n\n\n  if (isAuto // Simplify the logic, do not determine label overlap here.\n  && canShowAllSymbolForCategory(categoryAxis, data)) {\n    return;\n  } // Otherwise follow the label interval strategy on category axis.\n\n\n  var categoryDataDim = data.mapDimension(categoryAxis.dim);\n  var labelMap = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](categoryAxis.getViewLabels(), function (labelItem) {\n    var ordinalNumber = categoryAxis.scale.getRawOrdinalNumber(labelItem.tickValue);\n    labelMap[ordinalNumber] = 1;\n  });\n  return function (dataIndex) {\n    return !labelMap.hasOwnProperty(data.get(categoryDataDim, dataIndex));\n  };\n}\n\nfunction canShowAllSymbolForCategory(categoryAxis, data) {\n  // In mose cases, line is monotonous on category axis, and the label size\n  // is close with each other. So we check the symbol size and some of the\n  // label size alone with the category axis to estimate whether all symbol\n  // can be shown without overlap.\n  var axisExtent = categoryAxis.getExtent();\n  var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis.scale.count();\n  isNaN(availSize) && (availSize = 0); // 0/0 is NaN.\n  // Sampling some points, max 5.\n\n  var dataLen = data.count();\n  var step = Math.max(1, Math.round(dataLen / 5));\n\n  for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step) {\n    if (_helper_Symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getSymbolSize(data, dataIndex // Only for cartesian, where `isHorizontal` exists.\n    )[categoryAxis.isHorizontal() ? 1 : 0] // Empirical number\n    * 1.5 > availSize) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction isPointNull(x, y) {\n  return isNaN(x) || isNaN(y);\n}\n\nfunction getLastIndexNotNull(points) {\n  var len = points.length / 2;\n\n  for (; len > 0; len--) {\n    if (!isPointNull(points[len * 2 - 2], points[len * 2 - 1])) {\n      break;\n    }\n  }\n\n  return len - 1;\n}\n\nfunction getPointAtIndex(points, idx) {\n  return [points[idx * 2], points[idx * 2 + 1]];\n}\n\nfunction getIndexRange(points, xOrY, dim) {\n  var len = points.length / 2;\n  var dimIdx = dim === 'x' ? 0 : 1;\n  var a;\n  var b;\n  var prevIndex = 0;\n  var nextIndex = -1;\n\n  for (var i = 0; i < len; i++) {\n    b = points[i * 2 + dimIdx];\n\n    if (isNaN(b) || isNaN(points[i * 2 + 1 - dimIdx])) {\n      continue;\n    }\n\n    if (i === 0) {\n      a = b;\n      continue;\n    }\n\n    if (a <= xOrY && b >= xOrY || a >= xOrY && b <= xOrY) {\n      nextIndex = i;\n      break;\n    }\n\n    prevIndex = i;\n    a = b;\n  }\n\n  return {\n    range: [prevIndex, nextIndex],\n    t: (xOrY - a) / (b - a)\n  };\n}\n\nfunction anyStateShowEndLabel(seriesModel) {\n  if (seriesModel.get(['endLabel', 'show'])) {\n    return true;\n  }\n\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"SPECIAL_STATES\"].length; i++) {\n    if (seriesModel.get([_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"SPECIAL_STATES\"][i], 'endLabel', 'show'])) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction createLineClipPath(lineView, coordSys, hasAnimation, seriesModel) {\n  if (Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_11__[\"isCoordinateSystemType\"])(coordSys, 'cartesian2d')) {\n    var endLabelModel_1 = seriesModel.getModel('endLabel');\n    var valueAnimation_1 = endLabelModel_1.get('valueAnimation');\n    var data_1 = seriesModel.getData();\n    var labelAnimationRecord_1 = {\n      lastFrameIndex: 0\n    };\n    var during = anyStateShowEndLabel(seriesModel) ? function (percent, clipRect) {\n      lineView._endLabelOnDuring(percent, clipRect, data_1, labelAnimationRecord_1, valueAnimation_1, endLabelModel_1, coordSys);\n    } : null;\n    var isHorizontal = coordSys.getBaseAxis().isHorizontal();\n    var clipPath = Object(_helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_10__[\"createGridClipPath\"])(coordSys, hasAnimation, seriesModel, function () {\n      var endLabel = lineView._endLabel;\n\n      if (endLabel && hasAnimation) {\n        if (labelAnimationRecord_1.originalX != null) {\n          endLabel.attr({\n            x: labelAnimationRecord_1.originalX,\n            y: labelAnimationRecord_1.originalY\n          });\n        }\n      }\n    }, during); // Expand clip shape to avoid clipping when line value exceeds axis\n\n    if (!seriesModel.get('clip', true)) {\n      var rectShape = clipPath.shape;\n      var expandSize = Math.max(rectShape.width, rectShape.height);\n\n      if (isHorizontal) {\n        rectShape.y -= expandSize;\n        rectShape.height += expandSize * 2;\n      } else {\n        rectShape.x -= expandSize;\n        rectShape.width += expandSize * 2;\n      }\n    } // Set to the final frame. To make sure label layout is right.\n\n\n    if (during) {\n      during(1, clipPath);\n    }\n\n    return clipPath;\n  } else {\n    if (true) {\n      if (seriesModel.get(['endLabel', 'show'])) {\n        console.warn('endLabel is not supported for lines in polar systems.');\n      }\n    }\n\n    return Object(_helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_10__[\"createPolarClipPath\"])(coordSys, hasAnimation, seriesModel);\n  }\n}\n\nfunction getEndLabelStateSpecified(endLabelModel, coordSys) {\n  var baseAxis = coordSys.getBaseAxis();\n  var isHorizontal = baseAxis.isHorizontal();\n  var isBaseInversed = baseAxis.inverse;\n  var align = isHorizontal ? isBaseInversed ? 'right' : 'left' : 'center';\n  var verticalAlign = isHorizontal ? 'middle' : isBaseInversed ? 'top' : 'bottom';\n  return {\n    normal: {\n      align: endLabelModel.get('align') || align,\n      verticalAlign: endLabelModel.get('verticalAlign') || verticalAlign\n    }\n  };\n}\n\nvar LineView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LineView, _super);\n\n  function LineView() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  LineView.prototype.init = function () {\n    var lineGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Group\"]();\n    var symbolDraw = new _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    this.group.add(symbolDraw.group);\n    this._symbolDraw = symbolDraw;\n    this._lineGroup = lineGroup;\n  };\n\n  LineView.prototype.render = function (seriesModel, ecModel, api) {\n    var _this = this;\n\n    var coordSys = seriesModel.coordinateSystem;\n    var group = this.group;\n    var data = seriesModel.getData();\n    var lineStyleModel = seriesModel.getModel('lineStyle');\n    var areaStyleModel = seriesModel.getModel('areaStyle');\n    var points = data.getLayout('points') || [];\n    var isCoordSysPolar = coordSys.type === 'polar';\n    var prevCoordSys = this._coordSys;\n    var symbolDraw = this._symbolDraw;\n    var polyline = this._polyline;\n    var polygon = this._polygon;\n    var lineGroup = this._lineGroup;\n    var hasAnimation = seriesModel.get('animation');\n    var isAreaChart = !areaStyleModel.isEmpty();\n    var valueOrigin = areaStyleModel.get('origin');\n    var dataCoordInfo = Object(_helper_js__WEBPACK_IMPORTED_MODULE_9__[\"prepareDataCoordInfo\"])(coordSys, data, valueOrigin);\n    var stackedOnPoints = isAreaChart && getStackedOnPoints(coordSys, data, dataCoordInfo);\n    var showSymbol = seriesModel.get('showSymbol');\n    var connectNulls = seriesModel.get('connectNulls');\n    var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc(seriesModel, data, coordSys); // Remove temporary symbols\n\n    var oldData = this._data;\n    oldData && oldData.eachItemGraphicEl(function (el, idx) {\n      if (el.__temp) {\n        group.remove(el);\n        oldData.setItemGraphicEl(idx, null);\n      }\n    }); // Remove previous created symbols if showSymbol changed to false\n\n    if (!showSymbol) {\n      symbolDraw.remove();\n    }\n\n    group.add(lineGroup); // FIXME step not support polar\n\n    var step = !isCoordSysPolar ? seriesModel.get('step') : false;\n    var clipShapeForSymbol;\n\n    if (coordSys && coordSys.getArea && seriesModel.get('clip', true)) {\n      clipShapeForSymbol = coordSys.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n      // See #7913 and `test/dataZoom-clip.html`.\n\n      if (clipShapeForSymbol.width != null) {\n        clipShapeForSymbol.x -= 0.1;\n        clipShapeForSymbol.y -= 0.1;\n        clipShapeForSymbol.width += 0.2;\n        clipShapeForSymbol.height += 0.2;\n      } else if (clipShapeForSymbol.r0) {\n        clipShapeForSymbol.r0 -= 0.5;\n        clipShapeForSymbol.r += 0.5;\n      }\n    }\n\n    this._clipShapeForSymbol = clipShapeForSymbol;\n    var visualColor = getVisualGradient(data, coordSys, api) || data.getVisual('style')[data.getVisual('drawType')]; // Initialization animation or coordinate system changed\n\n    if (!(polyline && prevCoordSys.type === coordSys.type && step === this._step)) {\n      showSymbol && symbolDraw.updateData(data, {\n        isIgnore: isIgnoreFunc,\n        clipShape: clipShapeForSymbol,\n        disableAnimation: true,\n        getSymbolPoint: function (idx) {\n          return [points[idx * 2], points[idx * 2 + 1]];\n        }\n      });\n      hasAnimation && this._initSymbolLabelAnimation(data, coordSys, clipShapeForSymbol);\n\n      if (step) {\n        // TODO If stacked series is not step\n        points = turnPointsIntoStep(points, coordSys, step, connectNulls);\n\n        if (stackedOnPoints) {\n          stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step, connectNulls);\n        }\n      }\n\n      polyline = this._newPolyline(points);\n\n      if (isAreaChart) {\n        polygon = this._newPolygon(points, stackedOnPoints);\n      } // If areaStyle is removed\n      else if (polygon) {\n          lineGroup.remove(polygon);\n          polygon = this._polygon = null;\n        } // NOTE: Must update _endLabel before setClipPath.\n\n\n      if (!isCoordSysPolar) {\n        this._initOrUpdateEndLabel(seriesModel, coordSys, Object(_util_format_js__WEBPACK_IMPORTED_MODULE_17__[\"convertToColorString\"])(visualColor));\n      }\n\n      lineGroup.setClipPath(createLineClipPath(this, coordSys, true, seriesModel));\n    } else {\n      if (isAreaChart && !polygon) {\n        // If areaStyle is added\n        polygon = this._newPolygon(points, stackedOnPoints);\n      } else if (polygon && !isAreaChart) {\n        // If areaStyle is removed\n        lineGroup.remove(polygon);\n        polygon = this._polygon = null;\n      } // NOTE: Must update _endLabel before setClipPath.\n\n\n      if (!isCoordSysPolar) {\n        this._initOrUpdateEndLabel(seriesModel, coordSys, Object(_util_format_js__WEBPACK_IMPORTED_MODULE_17__[\"convertToColorString\"])(visualColor));\n      } // Update clipPath\n\n\n      var oldClipPath = lineGroup.getClipPath();\n\n      if (oldClipPath) {\n        var newClipPath = createLineClipPath(this, coordSys, false, seriesModel);\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"initProps\"](oldClipPath, {\n          shape: newClipPath.shape\n        }, seriesModel);\n      } else {\n        lineGroup.setClipPath(createLineClipPath(this, coordSys, true, seriesModel));\n      } // Always update, or it is wrong in the case turning on legend\n      // because points are not changed\n\n\n      showSymbol && symbolDraw.updateData(data, {\n        isIgnore: isIgnoreFunc,\n        clipShape: clipShapeForSymbol,\n        disableAnimation: true,\n        getSymbolPoint: function (idx) {\n          return [points[idx * 2], points[idx * 2 + 1]];\n        }\n      }); // In the case data zoom triggerred refreshing frequently\n      // Data may not change if line has a category axis. So it should animate nothing\n\n      if (!isPointsSame(this._stackedOnPoints, stackedOnPoints) || !isPointsSame(this._points, points)) {\n        if (hasAnimation) {\n          this._doUpdateAnimation(data, stackedOnPoints, coordSys, api, step, valueOrigin, connectNulls);\n        } else {\n          // Not do it in update with animation\n          if (step) {\n            // TODO If stacked series is not step\n            points = turnPointsIntoStep(points, coordSys, step, connectNulls);\n\n            if (stackedOnPoints) {\n              stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step, connectNulls);\n            }\n          }\n\n          polyline.setShape({\n            points: points\n          });\n          polygon && polygon.setShape({\n            points: points,\n            stackedOnPoints: stackedOnPoints\n          });\n        }\n      }\n    }\n\n    var emphasisModel = seriesModel.getModel('emphasis');\n    var focus = emphasisModel.get('focus');\n    var blurScope = emphasisModel.get('blurScope');\n    var emphasisDisabled = emphasisModel.get('disabled');\n    polyline.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]( // Use color in lineStyle first\n    lineStyleModel.getLineStyle(), {\n      fill: 'none',\n      stroke: visualColor,\n      lineJoin: 'bevel'\n    }));\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"setStatesStylesFromModel\"])(polyline, seriesModel, 'lineStyle');\n\n    if (polyline.style.lineWidth > 0 && seriesModel.get(['emphasis', 'lineStyle', 'width']) === 'bolder') {\n      var emphasisLineStyle = polyline.getState('emphasis').style;\n      emphasisLineStyle.lineWidth = +polyline.style.lineWidth + 1;\n    } // Needs seriesIndex for focus\n\n\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_15__[\"getECData\"])(polyline).seriesIndex = seriesModel.seriesIndex;\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"toggleHoverEmphasis\"])(polyline, focus, blurScope, emphasisDisabled);\n    var smooth = getSmooth(seriesModel.get('smooth'));\n    var smoothMonotone = seriesModel.get('smoothMonotone');\n    polyline.setShape({\n      smooth: smooth,\n      smoothMonotone: smoothMonotone,\n      connectNulls: connectNulls\n    });\n\n    if (polygon) {\n      var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');\n      var stackedOnSmooth = 0;\n      polygon.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"](areaStyleModel.getAreaStyle(), {\n        fill: visualColor,\n        opacity: 0.7,\n        lineJoin: 'bevel',\n        decal: data.getVisual('style').decal\n      }));\n\n      if (stackedOnSeries) {\n        stackedOnSmooth = getSmooth(stackedOnSeries.get('smooth'));\n      }\n\n      polygon.setShape({\n        smooth: smooth,\n        stackedOnSmooth: stackedOnSmooth,\n        smoothMonotone: smoothMonotone,\n        connectNulls: connectNulls\n      });\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"setStatesStylesFromModel\"])(polygon, seriesModel, 'areaStyle'); // Needs seriesIndex for focus\n\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_15__[\"getECData\"])(polygon).seriesIndex = seriesModel.seriesIndex;\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"toggleHoverEmphasis\"])(polygon, focus, blurScope, emphasisDisabled);\n    }\n\n    var changePolyState = function (toState) {\n      _this._changePolyState(toState);\n    };\n\n    data.eachItemGraphicEl(function (el) {\n      // Switch polyline / polygon state if element changed its state.\n      el && (el.onHoverStateChange = changePolyState);\n    });\n    this._polyline.onHoverStateChange = changePolyState;\n    this._data = data; // Save the coordinate system for transition animation when data changed\n\n    this._coordSys = coordSys;\n    this._stackedOnPoints = stackedOnPoints;\n    this._points = points;\n    this._step = step;\n    this._valueOrigin = valueOrigin;\n\n    if (seriesModel.get('triggerLineEvent')) {\n      this.packEventData(seriesModel, polyline);\n      polygon && this.packEventData(seriesModel, polygon);\n    }\n  };\n\n  LineView.prototype.packEventData = function (seriesModel, el) {\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_15__[\"getECData\"])(el).eventData = {\n      componentType: 'series',\n      componentSubType: 'line',\n      componentIndex: seriesModel.componentIndex,\n      seriesIndex: seriesModel.seriesIndex,\n      seriesName: seriesModel.name,\n      seriesType: 'line'\n    };\n  };\n\n  LineView.prototype.highlight = function (seriesModel, ecModel, api, payload) {\n    var data = seriesModel.getData();\n    var dataIndex = _util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"queryDataIndex\"](data, payload);\n\n    this._changePolyState('emphasis');\n\n    if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {\n      var points = data.getLayout('points');\n      var symbol = data.getItemGraphicEl(dataIndex);\n\n      if (!symbol) {\n        // Create a temporary symbol if it is not exists\n        var x = points[dataIndex * 2];\n        var y = points[dataIndex * 2 + 1];\n\n        if (isNaN(x) || isNaN(y)) {\n          // Null data\n          return;\n        } // fix #11360: should't draw symbol outside clipShapeForSymbol\n\n\n        if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(x, y)) {\n          return;\n        }\n\n        var zlevel = seriesModel.get('zlevel') || 0;\n        var z = seriesModel.get('z') || 0;\n        symbol = new _helper_Symbol_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](data, dataIndex);\n        symbol.x = x;\n        symbol.y = y;\n        symbol.setZ(zlevel, z); // ensure label text of the temporary symbol is in front of line and area polygon\n\n        var symbolLabel = symbol.getSymbolPath().getTextContent();\n\n        if (symbolLabel) {\n          symbolLabel.zlevel = zlevel;\n          symbolLabel.z = z;\n          symbolLabel.z2 = this._polyline.z2 + 1;\n        }\n\n        symbol.__temp = true;\n        data.setItemGraphicEl(dataIndex, symbol); // Stop scale animation\n\n        symbol.stopSymbolAnimation(true);\n        this.group.add(symbol);\n      }\n\n      symbol.highlight();\n    } else {\n      // Highlight whole series\n      _view_Chart_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.highlight.call(this, seriesModel, ecModel, api, payload);\n    }\n  };\n\n  LineView.prototype.downplay = function (seriesModel, ecModel, api, payload) {\n    var data = seriesModel.getData();\n    var dataIndex = _util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"queryDataIndex\"](data, payload);\n\n    this._changePolyState('normal');\n\n    if (dataIndex != null && dataIndex >= 0) {\n      var symbol = data.getItemGraphicEl(dataIndex);\n\n      if (symbol) {\n        if (symbol.__temp) {\n          data.setItemGraphicEl(dataIndex, null);\n          this.group.remove(symbol);\n        } else {\n          symbol.downplay();\n        }\n      }\n    } else {\n      // FIXME\n      // can not downplay completely.\n      // Downplay whole series\n      _view_Chart_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.downplay.call(this, seriesModel, ecModel, api, payload);\n    }\n  };\n\n  LineView.prototype._changePolyState = function (toState) {\n    var polygon = this._polygon;\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"setStatesFlag\"])(this._polyline, toState);\n    polygon && Object(_util_states_js__WEBPACK_IMPORTED_MODULE_12__[\"setStatesFlag\"])(polygon, toState);\n  };\n\n  LineView.prototype._newPolyline = function (points) {\n    var polyline = this._polyline; // Remove previous created polyline\n\n    if (polyline) {\n      this._lineGroup.remove(polyline);\n    }\n\n    polyline = new _poly_js__WEBPACK_IMPORTED_MODULE_7__[\"ECPolyline\"]({\n      shape: {\n        points: points\n      },\n      segmentIgnoreThreshold: 2,\n      z2: 10\n    });\n\n    this._lineGroup.add(polyline);\n\n    this._polyline = polyline;\n    return polyline;\n  };\n\n  LineView.prototype._newPolygon = function (points, stackedOnPoints) {\n    var polygon = this._polygon; // Remove previous created polygon\n\n    if (polygon) {\n      this._lineGroup.remove(polygon);\n    }\n\n    polygon = new _poly_js__WEBPACK_IMPORTED_MODULE_7__[\"ECPolygon\"]({\n      shape: {\n        points: points,\n        stackedOnPoints: stackedOnPoints\n      },\n      segmentIgnoreThreshold: 2\n    });\n\n    this._lineGroup.add(polygon);\n\n    this._polygon = polygon;\n    return polygon;\n  };\n\n  LineView.prototype._initSymbolLabelAnimation = function (data, coordSys, clipShape) {\n    var isHorizontalOrRadial;\n    var isCoordSysPolar;\n    var baseAxis = coordSys.getBaseAxis();\n    var isAxisInverse = baseAxis.inverse;\n\n    if (coordSys.type === 'cartesian2d') {\n      isHorizontalOrRadial = baseAxis.isHorizontal();\n      isCoordSysPolar = false;\n    } else if (coordSys.type === 'polar') {\n      isHorizontalOrRadial = baseAxis.dim === 'angle';\n      isCoordSysPolar = true;\n    }\n\n    var seriesModel = data.hostModel;\n    var seriesDuration = seriesModel.get('animationDuration');\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](seriesDuration)) {\n      seriesDuration = seriesDuration(null);\n    }\n\n    var seriesDalay = seriesModel.get('animationDelay') || 0;\n    var seriesDalayValue = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](seriesDalay) ? seriesDalay(null) : seriesDalay;\n    data.eachItemGraphicEl(function (symbol, idx) {\n      var el = symbol;\n\n      if (el) {\n        var point = [symbol.x, symbol.y];\n        var start = void 0;\n        var end = void 0;\n        var current = void 0;\n\n        if (clipShape) {\n          if (isCoordSysPolar) {\n            var polarClip = clipShape;\n            var coord = coordSys.pointToCoord(point);\n\n            if (isHorizontalOrRadial) {\n              start = polarClip.startAngle;\n              end = polarClip.endAngle;\n              current = -coord[1] / 180 * Math.PI;\n            } else {\n              start = polarClip.r0;\n              end = polarClip.r;\n              current = coord[0];\n            }\n          } else {\n            var gridClip = clipShape;\n\n            if (isHorizontalOrRadial) {\n              start = gridClip.x;\n              end = gridClip.x + gridClip.width;\n              current = symbol.x;\n            } else {\n              start = gridClip.y + gridClip.height;\n              end = gridClip.y;\n              current = symbol.y;\n            }\n          }\n        }\n\n        var ratio = end === start ? 0 : (current - start) / (end - start);\n\n        if (isAxisInverse) {\n          ratio = 1 - ratio;\n        }\n\n        var delay = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](seriesDalay) ? seriesDalay(idx) : seriesDuration * ratio + seriesDalayValue;\n        var symbolPath = el.getSymbolPath();\n        var text = symbolPath.getTextContent();\n        el.attr({\n          scaleX: 0,\n          scaleY: 0\n        });\n        el.animateTo({\n          scaleX: 1,\n          scaleY: 1\n        }, {\n          duration: 200,\n          setToFinal: true,\n          delay: delay\n        });\n\n        if (text) {\n          text.animateFrom({\n            style: {\n              opacity: 0\n            }\n          }, {\n            duration: 300,\n            delay: delay\n          });\n        }\n\n        symbolPath.disableLabelAnimation = true;\n      }\n    });\n  };\n\n  LineView.prototype._initOrUpdateEndLabel = function (seriesModel, coordSys, inheritColor) {\n    var endLabelModel = seriesModel.getModel('endLabel');\n\n    if (anyStateShowEndLabel(seriesModel)) {\n      var data_2 = seriesModel.getData();\n      var polyline = this._polyline; // series may be filtered.\n\n      var points = data_2.getLayout('points');\n\n      if (!points) {\n        polyline.removeTextContent();\n        this._endLabel = null;\n        return;\n      }\n\n      var endLabel = this._endLabel;\n\n      if (!endLabel) {\n        endLabel = this._endLabel = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Text\"]({\n          z2: 200 // should be higher than item symbol\n\n        });\n        endLabel.ignoreClip = true;\n        polyline.setTextContent(this._endLabel);\n        polyline.disableLabelAnimation = true;\n      } // Find last non-NaN data to display data\n\n\n      var dataIndex = getLastIndexNotNull(points);\n\n      if (dataIndex >= 0) {\n        Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__[\"setLabelStyle\"])(polyline, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__[\"getLabelStatesModels\"])(seriesModel, 'endLabel'), {\n          inheritColor: inheritColor,\n          labelFetcher: seriesModel,\n          labelDataIndex: dataIndex,\n          defaultText: function (dataIndex, opt, interpolatedValue) {\n            return interpolatedValue != null ? Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_14__[\"getDefaultInterpolatedLabel\"])(data_2, interpolatedValue) : Object(_helper_labelHelper_js__WEBPACK_IMPORTED_MODULE_14__[\"getDefaultLabel\"])(data_2, dataIndex);\n          },\n          enableTextSetter: true\n        }, getEndLabelStateSpecified(endLabelModel, coordSys));\n        polyline.textConfig.position = null;\n      }\n    } else if (this._endLabel) {\n      this._polyline.removeTextContent();\n\n      this._endLabel = null;\n    }\n  };\n\n  LineView.prototype._endLabelOnDuring = function (percent, clipRect, data, animationRecord, valueAnimation, endLabelModel, coordSys) {\n    var endLabel = this._endLabel;\n    var polyline = this._polyline;\n\n    if (endLabel) {\n      // NOTE: Don't remove percent < 1. percent === 1 means the first frame during render.\n      // The label is not prepared at this time.\n      if (percent < 1 && animationRecord.originalX == null) {\n        animationRecord.originalX = endLabel.x;\n        animationRecord.originalY = endLabel.y;\n      }\n\n      var points = data.getLayout('points');\n      var seriesModel = data.hostModel;\n      var connectNulls = seriesModel.get('connectNulls');\n      var precision = endLabelModel.get('precision');\n      var distance = endLabelModel.get('distance') || 0;\n      var baseAxis = coordSys.getBaseAxis();\n      var isHorizontal = baseAxis.isHorizontal();\n      var isBaseInversed = baseAxis.inverse;\n      var clipShape = clipRect.shape;\n      var xOrY = isBaseInversed ? isHorizontal ? clipShape.x : clipShape.y + clipShape.height : isHorizontal ? clipShape.x + clipShape.width : clipShape.y;\n      var distanceX = (isHorizontal ? distance : 0) * (isBaseInversed ? -1 : 1);\n      var distanceY = (isHorizontal ? 0 : -distance) * (isBaseInversed ? -1 : 1);\n      var dim = isHorizontal ? 'x' : 'y';\n      var dataIndexRange = getIndexRange(points, xOrY, dim);\n      var indices = dataIndexRange.range;\n      var diff = indices[1] - indices[0];\n      var value = void 0;\n\n      if (diff >= 1) {\n        // diff > 1 && connectNulls, which is on the null data.\n        if (diff > 1 && !connectNulls) {\n          var pt = getPointAtIndex(points, indices[0]);\n          endLabel.attr({\n            x: pt[0] + distanceX,\n            y: pt[1] + distanceY\n          });\n          valueAnimation && (value = seriesModel.getRawValue(indices[0]));\n        } else {\n          var pt = polyline.getPointOn(xOrY, dim);\n          pt && endLabel.attr({\n            x: pt[0] + distanceX,\n            y: pt[1] + distanceY\n          });\n          var startValue = seriesModel.getRawValue(indices[0]);\n          var endValue = seriesModel.getRawValue(indices[1]);\n          valueAnimation && (value = _util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"interpolateRawValues\"](data, precision, startValue, endValue, dataIndexRange.t));\n        }\n\n        animationRecord.lastFrameIndex = indices[0];\n      } else {\n        // If diff <= 0, which is the range is not found(Include NaN)\n        // Choose the first point or last point.\n        var idx = percent === 1 || animationRecord.lastFrameIndex > 0 ? indices[0] : 0;\n        var pt = getPointAtIndex(points, idx);\n        valueAnimation && (value = seriesModel.getRawValue(idx));\n        endLabel.attr({\n          x: pt[0] + distanceX,\n          y: pt[1] + distanceY\n        });\n      }\n\n      if (valueAnimation) {\n        Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__[\"labelInner\"])(endLabel).setLabelText(value);\n      }\n    }\n  };\n  /**\n   * @private\n   */\n  // FIXME Two value axis\n\n\n  LineView.prototype._doUpdateAnimation = function (data, stackedOnPoints, coordSys, api, step, valueOrigin, connectNulls) {\n    var polyline = this._polyline;\n    var polygon = this._polygon;\n    var seriesModel = data.hostModel;\n    var diff = Object(_lineAnimationDiff_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this._data, data, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin, valueOrigin);\n    var current = diff.current;\n    var stackedOnCurrent = diff.stackedOnCurrent;\n    var next = diff.next;\n    var stackedOnNext = diff.stackedOnNext;\n\n    if (step) {\n      // TODO If stacked series is not step\n      current = turnPointsIntoStep(diff.current, coordSys, step, connectNulls);\n      stackedOnCurrent = turnPointsIntoStep(diff.stackedOnCurrent, coordSys, step, connectNulls);\n      next = turnPointsIntoStep(diff.next, coordSys, step, connectNulls);\n      stackedOnNext = turnPointsIntoStep(diff.stackedOnNext, coordSys, step, connectNulls);\n    } // Don't apply animation if diff is large.\n    // For better result and avoid memory explosion problems like\n    // https://github.com/apache/incubator-echarts/issues/12229\n\n\n    if (getBoundingDiff(current, next) > 3000 || polygon && getBoundingDiff(stackedOnCurrent, stackedOnNext) > 3000) {\n      polyline.stopAnimation();\n      polyline.setShape({\n        points: next\n      });\n\n      if (polygon) {\n        polygon.stopAnimation();\n        polygon.setShape({\n          points: next,\n          stackedOnPoints: stackedOnNext\n        });\n      }\n\n      return;\n    }\n\n    polyline.shape.__points = diff.current;\n    polyline.shape.points = current;\n    var target = {\n      shape: {\n        points: next\n      }\n    }; // Also animate the original points.\n    // If points reference is changed when turning into step line.\n\n    if (diff.current !== current) {\n      target.shape.__points = diff.next;\n    } // Stop previous animation.\n\n\n    polyline.stopAnimation();\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"updateProps\"](polyline, target, seriesModel);\n\n    if (polygon) {\n      polygon.setShape({\n        // Reuse the points with polyline.\n        points: current,\n        stackedOnPoints: stackedOnCurrent\n      });\n      polygon.stopAnimation();\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"updateProps\"](polygon, {\n        shape: {\n          stackedOnPoints: stackedOnNext\n        }\n      }, seriesModel); // If use attr directly in updateProps.\n\n      if (polyline.shape.points !== polygon.shape.points) {\n        polygon.shape.points = polyline.shape.points;\n      }\n    }\n\n    var updatedDataInfo = [];\n    var diffStatus = diff.status;\n\n    for (var i = 0; i < diffStatus.length; i++) {\n      var cmd = diffStatus[i].cmd;\n\n      if (cmd === '=') {\n        var el = data.getItemGraphicEl(diffStatus[i].idx1);\n\n        if (el) {\n          updatedDataInfo.push({\n            el: el,\n            ptIdx: i // Index of points\n\n          });\n        }\n      }\n    }\n\n    if (polyline.animators && polyline.animators.length) {\n      polyline.animators[0].during(function () {\n        polygon && polygon.dirtyShape();\n        var points = polyline.shape.__points;\n\n        for (var i = 0; i < updatedDataInfo.length; i++) {\n          var el = updatedDataInfo[i].el;\n          var offset = updatedDataInfo[i].ptIdx * 2;\n          el.x = points[offset];\n          el.y = points[offset + 1];\n          el.markRedraw();\n        }\n      });\n    }\n  };\n\n  LineView.prototype.remove = function (ecModel) {\n    var group = this.group;\n    var oldData = this._data;\n\n    this._lineGroup.removeAll();\n\n    this._symbolDraw.remove(true); // Remove temporary created elements when highlighting\n\n\n    oldData && oldData.eachItemGraphicEl(function (el, idx) {\n      if (el.__temp) {\n        group.remove(el);\n        oldData.setItemGraphicEl(idx, null);\n      }\n    });\n    this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._endLabel = this._data = null;\n  };\n\n  LineView.type = 'line';\n  return LineView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LineView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/LineView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/line/helper.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/line/helper.js ***!
  \*******************************************************/
/*! exports provided: prepareDataCoordInfo, getStackedOnPoint */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepareDataCoordInfo\", function() { return prepareDataCoordInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStackedOnPoint\", function() { return getStackedOnPoint; });\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction prepareDataCoordInfo(coordSys, data, valueOrigin) {\n  var baseAxis = coordSys.getBaseAxis();\n  var valueAxis = coordSys.getOtherAxis(baseAxis);\n  var valueStart = getValueStart(valueAxis, valueOrigin);\n  var baseAxisDim = baseAxis.dim;\n  var valueAxisDim = valueAxis.dim;\n  var valueDim = data.mapDimension(valueAxisDim);\n  var baseDim = data.mapDimension(baseAxisDim);\n  var baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;\n  var dims = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(coordSys.dimensions, function (coordDim) {\n    return data.mapDimension(coordDim);\n  });\n  var stacked = false;\n  var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n  if (Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"isDimensionStacked\"])(data, dims[0]\n  /*, dims[1]*/\n  )) {\n    // jshint ignore:line\n    stacked = true;\n    dims[0] = stackResultDim;\n  }\n\n  if (Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"isDimensionStacked\"])(data, dims[1]\n  /*, dims[0]*/\n  )) {\n    // jshint ignore:line\n    stacked = true;\n    dims[1] = stackResultDim;\n  }\n\n  return {\n    dataDimsForPoint: dims,\n    valueStart: valueStart,\n    valueAxisDim: valueAxisDim,\n    baseAxisDim: baseAxisDim,\n    stacked: !!stacked,\n    valueDim: valueDim,\n    baseDim: baseDim,\n    baseDataOffset: baseDataOffset,\n    stackedOverDimension: data.getCalculationInfo('stackedOverDimension')\n  };\n}\n\nfunction getValueStart(valueAxis, valueOrigin) {\n  var valueStart = 0;\n  var extent = valueAxis.scale.getExtent();\n\n  if (valueOrigin === 'start') {\n    valueStart = extent[0];\n  } else if (valueOrigin === 'end') {\n    valueStart = extent[1];\n  } // If origin is specified as a number, use it as\n  // valueStart directly\n  else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(valueOrigin) && !isNaN(valueOrigin)) {\n      valueStart = valueOrigin;\n    } // auto\n    else {\n        // Both positive\n        if (extent[0] > 0) {\n          valueStart = extent[0];\n        } // Both negative\n        else if (extent[1] < 0) {\n            valueStart = extent[1];\n          } // If is one positive, and one negative, onZero shall be true\n\n      }\n\n  return valueStart;\n}\n\nfunction getStackedOnPoint(dataCoordInfo, coordSys, data, idx) {\n  var value = NaN;\n\n  if (dataCoordInfo.stacked) {\n    value = data.get(data.getCalculationInfo('stackedOverDimension'), idx);\n  }\n\n  if (isNaN(value)) {\n    value = dataCoordInfo.valueStart;\n  }\n\n  var baseDataOffset = dataCoordInfo.baseDataOffset;\n  var stackedData = [];\n  stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);\n  stackedData[1 - baseDataOffset] = value;\n  return coordSys.dataToPoint(stackedData);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/line/install.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/line/install.js ***!
  \********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _LineSeries_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LineSeries.js */ \"./node_modules/echarts/lib/chart/line/LineSeries.js\");\n/* harmony import */ var _LineView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LineView.js */ \"./node_modules/echarts/lib/chart/line/LineView.js\");\n/* harmony import */ var _layout_points_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../layout/points.js */ \"./node_modules/echarts/lib/layout/points.js\");\n/* harmony import */ var _processor_dataSample_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../processor/dataSample.js */ \"./node_modules/echarts/lib/processor/dataSample.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // In case developer forget to include grid component\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_LineView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerSeriesModel(_LineSeries_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerLayout(Object(_layout_points_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('line', true));\n  registers.registerVisual({\n    seriesType: 'line',\n    reset: function (seriesModel) {\n      var data = seriesModel.getData(); // Visual coding for legend\n\n      var lineStyle = seriesModel.getModel('lineStyle').getLineStyle();\n\n      if (lineStyle && !lineStyle.stroke) {\n        // Fill in visual should be palette color if\n        // has color callback\n        lineStyle.stroke = data.getVisual('style').fill;\n      }\n\n      data.setVisual('legendLineStyle', lineStyle);\n    }\n  }); // Down sample after filter\n\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, Object(_processor_dataSample_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('line'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/line/lineAnimationDiff.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/line/lineAnimationDiff.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lineAnimationDiff; });\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/chart/line/helper.js\");\n/* harmony import */ var _util_vendor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/vendor.js */ \"./node_modules/echarts/lib/util/vendor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction diffData(oldData, newData) {\n  var diffResult = [];\n  newData.diff(oldData).add(function (idx) {\n    diffResult.push({\n      cmd: '+',\n      idx: idx\n    });\n  }).update(function (newIdx, oldIdx) {\n    diffResult.push({\n      cmd: '=',\n      idx: oldIdx,\n      idx1: newIdx\n    });\n  }).remove(function (idx) {\n    diffResult.push({\n      cmd: '-',\n      idx: idx\n    });\n  }).execute();\n  return diffResult;\n}\n\nfunction lineAnimationDiff(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {\n  var diff = diffData(oldData, newData); // let newIdList = newData.mapArray(newData.getId);\n  // let oldIdList = oldData.mapArray(oldData.getId);\n  // convertToIntId(newIdList, oldIdList);\n  // // FIXME One data ?\n  // diff = arrayDiff(oldIdList, newIdList);\n\n  var currPoints = [];\n  var nextPoints = []; // Points for stacking base line\n\n  var currStackedPoints = [];\n  var nextStackedPoints = [];\n  var status = [];\n  var sortedIndices = [];\n  var rawIndices = [];\n  var newDataOldCoordInfo = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"prepareDataCoordInfo\"])(oldCoordSys, newData, oldValueOrigin); // const oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);\n\n  var oldPoints = oldData.getLayout('points') || [];\n  var newPoints = newData.getLayout('points') || [];\n\n  for (var i = 0; i < diff.length; i++) {\n    var diffItem = diff[i];\n    var pointAdded = true;\n    var oldIdx2 = void 0;\n    var newIdx2 = void 0; // FIXME, animation is not so perfect when dataZoom window moves fast\n    // Which is in case remvoing or add more than one data in the tail or head\n\n    switch (diffItem.cmd) {\n      case '=':\n        oldIdx2 = diffItem.idx * 2;\n        newIdx2 = diffItem.idx1 * 2;\n        var currentX = oldPoints[oldIdx2];\n        var currentY = oldPoints[oldIdx2 + 1];\n        var nextX = newPoints[newIdx2];\n        var nextY = newPoints[newIdx2 + 1]; // If previous data is NaN, use next point directly\n\n        if (isNaN(currentX) || isNaN(currentY)) {\n          currentX = nextX;\n          currentY = nextY;\n        }\n\n        currPoints.push(currentX, currentY);\n        nextPoints.push(nextX, nextY);\n        currStackedPoints.push(oldStackedOnPoints[oldIdx2], oldStackedOnPoints[oldIdx2 + 1]);\n        nextStackedPoints.push(newStackedOnPoints[newIdx2], newStackedOnPoints[newIdx2 + 1]);\n        rawIndices.push(newData.getRawIndex(diffItem.idx1));\n        break;\n\n      case '+':\n        var newIdx = diffItem.idx;\n        var newDataDimsForPoint = newDataOldCoordInfo.dataDimsForPoint;\n        var oldPt = oldCoordSys.dataToPoint([newData.get(newDataDimsForPoint[0], newIdx), newData.get(newDataDimsForPoint[1], newIdx)]);\n        newIdx2 = newIdx * 2;\n        currPoints.push(oldPt[0], oldPt[1]);\n        nextPoints.push(newPoints[newIdx2], newPoints[newIdx2 + 1]);\n        var stackedOnPoint = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getStackedOnPoint\"])(newDataOldCoordInfo, oldCoordSys, newData, newIdx);\n        currStackedPoints.push(stackedOnPoint[0], stackedOnPoint[1]);\n        nextStackedPoints.push(newStackedOnPoints[newIdx2], newStackedOnPoints[newIdx2 + 1]);\n        rawIndices.push(newData.getRawIndex(newIdx));\n        break;\n\n      case '-':\n        pointAdded = false;\n    } // Original indices\n\n\n    if (pointAdded) {\n      status.push(diffItem);\n      sortedIndices.push(sortedIndices.length);\n    }\n  } // Diff result may be crossed if all items are changed\n  // Sort by data index\n\n\n  sortedIndices.sort(function (a, b) {\n    return rawIndices[a] - rawIndices[b];\n  });\n  var len = currPoints.length;\n  var sortedCurrPoints = Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_1__[\"createFloat32Array\"])(len);\n  var sortedNextPoints = Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_1__[\"createFloat32Array\"])(len);\n  var sortedCurrStackedPoints = Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_1__[\"createFloat32Array\"])(len);\n  var sortedNextStackedPoints = Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_1__[\"createFloat32Array\"])(len);\n  var sortedStatus = [];\n\n  for (var i = 0; i < sortedIndices.length; i++) {\n    var idx = sortedIndices[i];\n    var i2 = i * 2;\n    var idx2 = idx * 2;\n    sortedCurrPoints[i2] = currPoints[idx2];\n    sortedCurrPoints[i2 + 1] = currPoints[idx2 + 1];\n    sortedNextPoints[i2] = nextPoints[idx2];\n    sortedNextPoints[i2 + 1] = nextPoints[idx2 + 1];\n    sortedCurrStackedPoints[i2] = currStackedPoints[idx2];\n    sortedCurrStackedPoints[i2 + 1] = currStackedPoints[idx2 + 1];\n    sortedNextStackedPoints[i2] = nextStackedPoints[idx2];\n    sortedNextStackedPoints[i2 + 1] = nextStackedPoints[idx2 + 1];\n    sortedStatus[i] = status[idx];\n  }\n\n  return {\n    current: sortedCurrPoints,\n    next: sortedNextPoints,\n    stackedOnCurrent: sortedCurrStackedPoints,\n    stackedOnNext: sortedNextStackedPoints,\n    status: sortedStatus\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/lineAnimationDiff.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/line/poly.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/chart/line/poly.js ***!
  \*****************************************************/
/*! exports provided: ECPolyline, ECPolygon */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ECPolyline\", function() { return ECPolyline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ECPolygon\", function() { return ECPolygon; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var zrender_lib_core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // Poly path support NaN point\n\n\n\n\nvar mathMin = Math.min;\nvar mathMax = Math.max;\n\nfunction isPointNull(x, y) {\n  return isNaN(x) || isNaN(y);\n}\n/**\n * Draw smoothed line in non-monotone, in may cause undesired curve in extreme\n * situations. This should be used when points are non-monotone neither in x or\n * y dimension.\n */\n\n\nfunction drawSegment(ctx, points, start, segLen, allLen, dir, smooth, smoothMonotone, connectNulls) {\n  var prevX;\n  var prevY;\n  var cpx0;\n  var cpy0;\n  var cpx1;\n  var cpy1;\n  var idx = start;\n  var k = 0;\n\n  for (; k < segLen; k++) {\n    var x = points[idx * 2];\n    var y = points[idx * 2 + 1];\n\n    if (idx >= allLen || idx < 0) {\n      break;\n    }\n\n    if (isPointNull(x, y)) {\n      if (connectNulls) {\n        idx += dir;\n        continue;\n      }\n\n      break;\n    }\n\n    if (idx === start) {\n      ctx[dir > 0 ? 'moveTo' : 'lineTo'](x, y);\n      cpx0 = x;\n      cpy0 = y;\n    } else {\n      var dx = x - prevX;\n      var dy = y - prevY; // Ignore tiny segment.\n\n      if (dx * dx + dy * dy < 0.5) {\n        idx += dir;\n        continue;\n      }\n\n      if (smooth > 0) {\n        var nextIdx = idx + dir;\n        var nextX = points[nextIdx * 2];\n        var nextY = points[nextIdx * 2 + 1]; // Ignore duplicate point\n\n        while (nextX === x && nextY === y && k < segLen) {\n          k++;\n          nextIdx += dir;\n          idx += dir;\n          nextX = points[nextIdx * 2];\n          nextY = points[nextIdx * 2 + 1];\n          x = points[idx * 2];\n          y = points[idx * 2 + 1];\n          dx = x - prevX;\n          dy = y - prevY;\n        }\n\n        var tmpK = k + 1;\n\n        if (connectNulls) {\n          // Find next point not null\n          while (isPointNull(nextX, nextY) && tmpK < segLen) {\n            tmpK++;\n            nextIdx += dir;\n            nextX = points[nextIdx * 2];\n            nextY = points[nextIdx * 2 + 1];\n          }\n        }\n\n        var ratioNextSeg = 0.5;\n        var vx = 0;\n        var vy = 0;\n        var nextCpx0 = void 0;\n        var nextCpy0 = void 0; // Is last point\n\n        if (tmpK >= segLen || isPointNull(nextX, nextY)) {\n          cpx1 = x;\n          cpy1 = y;\n        } else {\n          vx = nextX - prevX;\n          vy = nextY - prevY;\n          var dx0 = x - prevX;\n          var dx1 = nextX - x;\n          var dy0 = y - prevY;\n          var dy1 = nextY - y;\n          var lenPrevSeg = void 0;\n          var lenNextSeg = void 0;\n\n          if (smoothMonotone === 'x') {\n            lenPrevSeg = Math.abs(dx0);\n            lenNextSeg = Math.abs(dx1);\n            var dir_1 = vx > 0 ? 1 : -1;\n            cpx1 = x - dir_1 * lenPrevSeg * smooth;\n            cpy1 = y;\n            nextCpx0 = x + dir_1 * lenNextSeg * smooth;\n            nextCpy0 = y;\n          } else if (smoothMonotone === 'y') {\n            lenPrevSeg = Math.abs(dy0);\n            lenNextSeg = Math.abs(dy1);\n            var dir_2 = vy > 0 ? 1 : -1;\n            cpx1 = x;\n            cpy1 = y - dir_2 * lenPrevSeg * smooth;\n            nextCpx0 = x;\n            nextCpy0 = y + dir_2 * lenNextSeg * smooth;\n          } else {\n            lenPrevSeg = Math.sqrt(dx0 * dx0 + dy0 * dy0);\n            lenNextSeg = Math.sqrt(dx1 * dx1 + dy1 * dy1); // Use ratio of seg length\n\n            ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);\n            cpx1 = x - vx * smooth * (1 - ratioNextSeg);\n            cpy1 = y - vy * smooth * (1 - ratioNextSeg); // cp0 of next segment\n\n            nextCpx0 = x + vx * smooth * ratioNextSeg;\n            nextCpy0 = y + vy * smooth * ratioNextSeg; // Smooth constraint between point and next point.\n            // Avoid exceeding extreme after smoothing.\n\n            nextCpx0 = mathMin(nextCpx0, mathMax(nextX, x));\n            nextCpy0 = mathMin(nextCpy0, mathMax(nextY, y));\n            nextCpx0 = mathMax(nextCpx0, mathMin(nextX, x));\n            nextCpy0 = mathMax(nextCpy0, mathMin(nextY, y)); // Reclaculate cp1 based on the adjusted cp0 of next seg.\n\n            vx = nextCpx0 - x;\n            vy = nextCpy0 - y;\n            cpx1 = x - vx * lenPrevSeg / lenNextSeg;\n            cpy1 = y - vy * lenPrevSeg / lenNextSeg; // Smooth constraint between point and prev point.\n            // Avoid exceeding extreme after smoothing.\n\n            cpx1 = mathMin(cpx1, mathMax(prevX, x));\n            cpy1 = mathMin(cpy1, mathMax(prevY, y));\n            cpx1 = mathMax(cpx1, mathMin(prevX, x));\n            cpy1 = mathMax(cpy1, mathMin(prevY, y)); // Adjust next cp0 again.\n\n            vx = x - cpx1;\n            vy = y - cpy1;\n            nextCpx0 = x + vx * lenNextSeg / lenPrevSeg;\n            nextCpy0 = y + vy * lenNextSeg / lenPrevSeg;\n          }\n        }\n\n        ctx.bezierCurveTo(cpx0, cpy0, cpx1, cpy1, x, y);\n        cpx0 = nextCpx0;\n        cpy0 = nextCpy0;\n      } else {\n        ctx.lineTo(x, y);\n      }\n    }\n\n    prevX = x;\n    prevY = y;\n    idx += dir;\n  }\n\n  return k;\n}\n\nvar ECPolylineShape =\n/** @class */\nfunction () {\n  function ECPolylineShape() {\n    this.smooth = 0;\n    this.smoothConstraint = true;\n  }\n\n  return ECPolylineShape;\n}();\n\nvar ECPolyline =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ECPolyline, _super);\n\n  function ECPolyline(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'ec-polyline';\n    return _this;\n  }\n\n  ECPolyline.prototype.getDefaultStyle = function () {\n    return {\n      stroke: '#000',\n      fill: null\n    };\n  };\n\n  ECPolyline.prototype.getDefaultShape = function () {\n    return new ECPolylineShape();\n  };\n\n  ECPolyline.prototype.buildPath = function (ctx, shape) {\n    var points = shape.points;\n    var i = 0;\n    var len = points.length / 2; // const result = getBoundingBox(points, shape.smoothConstraint);\n\n    if (shape.connectNulls) {\n      // Must remove first and last null values avoid draw error in polygon\n      for (; len > 0; len--) {\n        if (!isPointNull(points[len * 2 - 2], points[len * 2 - 1])) {\n          break;\n        }\n      }\n\n      for (; i < len; i++) {\n        if (!isPointNull(points[i * 2], points[i * 2 + 1])) {\n          break;\n        }\n      }\n    }\n\n    while (i < len) {\n      i += drawSegment(ctx, points, i, len, len, 1, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;\n    }\n  };\n\n  ECPolyline.prototype.getPointOn = function (xOrY, dim) {\n    if (!this.path) {\n      this.createPathProxy();\n      this.buildPath(this.path, this.shape);\n    }\n\n    var path = this.path;\n    var data = path.data;\n    var CMD = zrender_lib_core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].CMD;\n    var x0;\n    var y0;\n    var isDimX = dim === 'x';\n    var roots = [];\n\n    for (var i = 0; i < data.length;) {\n      var cmd = data[i++];\n      var x = void 0;\n      var y = void 0;\n      var x2 = void 0;\n      var y2 = void 0;\n      var x3 = void 0;\n      var y3 = void 0;\n      var t = void 0;\n\n      switch (cmd) {\n        case CMD.M:\n          x0 = data[i++];\n          y0 = data[i++];\n          break;\n\n        case CMD.L:\n          x = data[i++];\n          y = data[i++];\n          t = isDimX ? (xOrY - x0) / (x - x0) : (xOrY - y0) / (y - y0);\n\n          if (t <= 1 && t >= 0) {\n            var val = isDimX ? (y - y0) * t + y0 : (x - x0) * t + x0;\n            return isDimX ? [xOrY, val] : [val, xOrY];\n          }\n\n          x0 = x;\n          y0 = y;\n          break;\n\n        case CMD.C:\n          x = data[i++];\n          y = data[i++];\n          x2 = data[i++];\n          y2 = data[i++];\n          x3 = data[i++];\n          y3 = data[i++];\n          var nRoot = isDimX ? Object(zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicRootAt\"])(x0, x, x2, x3, xOrY, roots) : Object(zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicRootAt\"])(y0, y, y2, y3, xOrY, roots);\n\n          if (nRoot > 0) {\n            for (var i_1 = 0; i_1 < nRoot; i_1++) {\n              var t_1 = roots[i_1];\n\n              if (t_1 <= 1 && t_1 >= 0) {\n                var val = isDimX ? Object(zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicAt\"])(y0, y, y2, y3, t_1) : Object(zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicAt\"])(x0, x, x2, x3, t_1);\n                return isDimX ? [xOrY, val] : [val, xOrY];\n              }\n            }\n          }\n\n          x0 = x3;\n          y0 = y3;\n          break;\n      }\n    }\n  };\n\n  return ECPolyline;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n\n\nvar ECPolygonShape =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ECPolygonShape, _super);\n\n  function ECPolygonShape() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  return ECPolygonShape;\n}(ECPolylineShape);\n\nvar ECPolygon =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ECPolygon, _super);\n\n  function ECPolygon(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'ec-polygon';\n    return _this;\n  }\n\n  ECPolygon.prototype.getDefaultShape = function () {\n    return new ECPolygonShape();\n  };\n\n  ECPolygon.prototype.buildPath = function (ctx, shape) {\n    var points = shape.points;\n    var stackedOnPoints = shape.stackedOnPoints;\n    var i = 0;\n    var len = points.length / 2;\n    var smoothMonotone = shape.smoothMonotone;\n\n    if (shape.connectNulls) {\n      // Must remove first and last null values avoid draw error in polygon\n      for (; len > 0; len--) {\n        if (!isPointNull(points[len * 2 - 2], points[len * 2 - 1])) {\n          break;\n        }\n      }\n\n      for (; i < len; i++) {\n        if (!isPointNull(points[i * 2], points[i * 2 + 1])) {\n          break;\n        }\n      }\n    }\n\n    while (i < len) {\n      var k = drawSegment(ctx, points, i, len, len, 1, shape.smooth, smoothMonotone, shape.connectNulls);\n      drawSegment(ctx, stackedOnPoints, i + k - 1, k, len, -1, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);\n      i += k + 1;\n      ctx.closePath();\n    }\n  };\n\n  return ECPolygon;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/poly.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/lines/LinesSeries.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/lines/LinesSeries.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../core/CoordinateSystem.js */ \"./node_modules/echarts/lib/core/CoordinateSystem.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Uint32Array, Float64Array, Float32Array */\n\n\n\n\n\n\nvar Uint32Arr = typeof Uint32Array === 'undefined' ? Array : Uint32Array;\nvar Float64Arr = typeof Float64Array === 'undefined' ? Array : Float64Array;\n\nfunction compatEc2(seriesOpt) {\n  var data = seriesOpt.data;\n\n  if (data && data[0] && data[0][0] && data[0][0].coord) {\n    if (true) {\n      console.warn('Lines data configuration has been changed to' + ' { coords:[[1,2],[2,3]] }');\n    }\n\n    seriesOpt.data = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(data, function (itemOpt) {\n      var coords = [itemOpt[0].coord, itemOpt[1].coord];\n      var target = {\n        coords: coords\n      };\n\n      if (itemOpt[0].name) {\n        target.fromName = itemOpt[0].name;\n      }\n\n      if (itemOpt[1].name) {\n        target.toName = itemOpt[1].name;\n      }\n\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"mergeAll\"])([target, itemOpt[0], itemOpt[1]]);\n    });\n  }\n}\n\nvar LinesSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LinesSeriesModel, _super);\n\n  function LinesSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = LinesSeriesModel.type;\n    _this.visualStyleAccessPath = 'lineStyle';\n    _this.visualDrawType = 'stroke';\n    return _this;\n  }\n\n  LinesSeriesModel.prototype.init = function (option) {\n    // The input data may be null/undefined.\n    option.data = option.data || []; // Not using preprocessor because mergeOption may not have series.type\n\n    compatEc2(option);\n\n    var result = this._processFlatCoordsArray(option.data);\n\n    this._flatCoords = result.flatCoords;\n    this._flatCoordsOffset = result.flatCoordsOffset;\n\n    if (result.flatCoords) {\n      option.data = new Float32Array(result.count);\n    }\n\n    _super.prototype.init.apply(this, arguments);\n  };\n\n  LinesSeriesModel.prototype.mergeOption = function (option) {\n    compatEc2(option);\n\n    if (option.data) {\n      // Only update when have option data to merge.\n      var result = this._processFlatCoordsArray(option.data);\n\n      this._flatCoords = result.flatCoords;\n      this._flatCoordsOffset = result.flatCoordsOffset;\n\n      if (result.flatCoords) {\n        option.data = new Float32Array(result.count);\n      }\n    }\n\n    _super.prototype.mergeOption.apply(this, arguments);\n  };\n\n  LinesSeriesModel.prototype.appendData = function (params) {\n    var result = this._processFlatCoordsArray(params.data);\n\n    if (result.flatCoords) {\n      if (!this._flatCoords) {\n        this._flatCoords = result.flatCoords;\n        this._flatCoordsOffset = result.flatCoordsOffset;\n      } else {\n        this._flatCoords = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"concatArray\"])(this._flatCoords, result.flatCoords);\n        this._flatCoordsOffset = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"concatArray\"])(this._flatCoordsOffset, result.flatCoordsOffset);\n      }\n\n      params.data = new Float32Array(result.count);\n    }\n\n    this.getRawData().appendData(params.data);\n  };\n\n  LinesSeriesModel.prototype._getCoordsFromItemModel = function (idx) {\n    var itemModel = this.getData().getItemModel(idx);\n    var coords = itemModel.option instanceof Array ? itemModel.option : itemModel.getShallow('coords');\n\n    if (true) {\n      if (!(coords instanceof Array && coords.length > 0 && coords[0] instanceof Array)) {\n        throw new Error('Invalid coords ' + JSON.stringify(coords) + '. Lines must have 2d coords array in data item.');\n      }\n    }\n\n    return coords;\n  };\n\n  LinesSeriesModel.prototype.getLineCoordsCount = function (idx) {\n    if (this._flatCoordsOffset) {\n      return this._flatCoordsOffset[idx * 2 + 1];\n    } else {\n      return this._getCoordsFromItemModel(idx).length;\n    }\n  };\n\n  LinesSeriesModel.prototype.getLineCoords = function (idx, out) {\n    if (this._flatCoordsOffset) {\n      var offset = this._flatCoordsOffset[idx * 2];\n      var len = this._flatCoordsOffset[idx * 2 + 1];\n\n      for (var i = 0; i < len; i++) {\n        out[i] = out[i] || [];\n        out[i][0] = this._flatCoords[offset + i * 2];\n        out[i][1] = this._flatCoords[offset + i * 2 + 1];\n      }\n\n      return len;\n    } else {\n      var coords = this._getCoordsFromItemModel(idx);\n\n      for (var i = 0; i < coords.length; i++) {\n        out[i] = out[i] || [];\n        out[i][0] = coords[i][0];\n        out[i][1] = coords[i][1];\n      }\n\n      return coords.length;\n    }\n  };\n\n  LinesSeriesModel.prototype._processFlatCoordsArray = function (data) {\n    var startOffset = 0;\n\n    if (this._flatCoords) {\n      startOffset = this._flatCoords.length;\n    } // Stored as a typed array. In format\n    // Points Count(2) | x | y | x | y | Points Count(3) | x |  y | x | y | x | y |\n\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isNumber\"])(data[0])) {\n      var len = data.length; // Store offset and len of each segment\n\n      var coordsOffsetAndLenStorage = new Uint32Arr(len);\n      var coordsStorage = new Float64Arr(len);\n      var coordsCursor = 0;\n      var offsetCursor = 0;\n      var dataCount = 0;\n\n      for (var i = 0; i < len;) {\n        dataCount++;\n        var count = data[i++]; // Offset\n\n        coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset; // Len\n\n        coordsOffsetAndLenStorage[offsetCursor++] = count;\n\n        for (var k = 0; k < count; k++) {\n          var x = data[i++];\n          var y = data[i++];\n          coordsStorage[coordsCursor++] = x;\n          coordsStorage[coordsCursor++] = y;\n\n          if (i > len) {\n            if (true) {\n              throw new Error('Invalid data format.');\n            }\n          }\n        }\n      }\n\n      return {\n        flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),\n        flatCoords: coordsStorage,\n        count: dataCount\n      };\n    }\n\n    return {\n      flatCoordsOffset: null,\n      flatCoords: null,\n      count: data.length\n    };\n  };\n\n  LinesSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    if (true) {\n      var CoordSys = _core_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].get(option.coordinateSystem);\n\n      if (!CoordSys) {\n        throw new Error('Unkown coordinate system ' + option.coordinateSystem);\n      }\n    }\n\n    var lineData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](['value'], this);\n    lineData.hasItemOption = false;\n    lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {\n      // dataItem is simply coords\n      if (dataItem instanceof Array) {\n        return NaN;\n      } else {\n        lineData.hasItemOption = true;\n        var value = dataItem.value;\n\n        if (value != null) {\n          return value instanceof Array ? value[dimIndex] : value;\n        }\n      }\n    });\n    return lineData;\n  };\n\n  LinesSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    var data = this.getData();\n    var itemModel = data.getItemModel(dataIndex);\n    var name = itemModel.get('name');\n\n    if (name) {\n      return name;\n    }\n\n    var fromName = itemModel.get('fromName');\n    var toName = itemModel.get('toName');\n    var nameArr = [];\n    fromName != null && nameArr.push(fromName);\n    toName != null && nameArr.push(toName);\n    return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_5__[\"createTooltipMarkup\"])('nameValue', {\n      name: nameArr.join(' > ')\n    });\n  };\n\n  LinesSeriesModel.prototype.preventIncremental = function () {\n    return !!this.get(['effect', 'show']);\n  };\n\n  LinesSeriesModel.prototype.getProgressive = function () {\n    var progressive = this.option.progressive;\n\n    if (progressive == null) {\n      return this.option.large ? 1e4 : this.get('progressive');\n    }\n\n    return progressive;\n  };\n\n  LinesSeriesModel.prototype.getProgressiveThreshold = function () {\n    var progressiveThreshold = this.option.progressiveThreshold;\n\n    if (progressiveThreshold == null) {\n      return this.option.large ? 2e4 : this.get('progressiveThreshold');\n    }\n\n    return progressiveThreshold;\n  };\n\n  LinesSeriesModel.prototype.getZLevelKey = function () {\n    var effectModel = this.getModel('effect');\n    var trailLength = effectModel.get('trailLength');\n    return this.getData().count() > this.getProgressiveThreshold() // Each progressive series has individual key.\n    ? this.id : effectModel.get('show') && trailLength > 0 ? trailLength + '' : '';\n  };\n\n  LinesSeriesModel.type = 'series.lines';\n  LinesSeriesModel.dependencies = ['grid', 'polar', 'geo', 'calendar'];\n  LinesSeriesModel.defaultOption = {\n    coordinateSystem: 'geo',\n    // zlevel: 0,\n    z: 2,\n    legendHoverLink: true,\n    // Cartesian coordinate system\n    xAxisIndex: 0,\n    yAxisIndex: 0,\n    symbol: ['none', 'none'],\n    symbolSize: [10, 10],\n    // Geo coordinate system\n    geoIndex: 0,\n    effect: {\n      show: false,\n      period: 4,\n      constantSpeed: 0,\n      symbol: 'circle',\n      symbolSize: 3,\n      loop: true,\n      trailLength: 0.2\n    },\n    large: false,\n    // Available when large is true\n    largeThreshold: 2000,\n    polyline: false,\n    clip: true,\n    label: {\n      show: false,\n      position: 'end' // distance: 5,\n      // formatter: 标签文本格式器，同Tooltip.formatter，不支持异步回调\n\n    },\n    lineStyle: {\n      opacity: 0.5\n    }\n  };\n  return LinesSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LinesSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/lines/LinesSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/lines/LinesView.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/lines/LinesView.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_LineDraw_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/LineDraw.js */ \"./node_modules/echarts/lib/chart/helper/LineDraw.js\");\n/* harmony import */ var _helper_EffectLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/EffectLine.js */ \"./node_modules/echarts/lib/chart/helper/EffectLine.js\");\n/* harmony import */ var _helper_Line_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/Line.js */ \"./node_modules/echarts/lib/chart/helper/Line.js\");\n/* harmony import */ var _helper_Polyline_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helper/Polyline.js */ \"./node_modules/echarts/lib/chart/helper/Polyline.js\");\n/* harmony import */ var _helper_EffectPolyline_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helper/EffectPolyline.js */ \"./node_modules/echarts/lib/chart/helper/EffectPolyline.js\");\n/* harmony import */ var _helper_LargeLineDraw_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/LargeLineDraw.js */ \"./node_modules/echarts/lib/chart/helper/LargeLineDraw.js\");\n/* harmony import */ var _linesLayout_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./linesLayout.js */ \"./node_modules/echarts/lib/chart/lines/linesLayout.js\");\n/* harmony import */ var _helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helper/createClipPathFromCoordSys.js */ \"./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nvar LinesView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LinesView, _super);\n\n  function LinesView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = LinesView.type;\n    return _this;\n  }\n\n  LinesView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n\n    var lineDraw = this._updateLineDraw(data, seriesModel);\n\n    var zlevel = seriesModel.get('zlevel');\n    var trailLength = seriesModel.get(['effect', 'trailLength']);\n    var zr = api.getZr(); // Avoid the drag cause ghost shadow\n    // FIXME Better way ?\n    // SVG doesn't support\n\n    var isSvg = zr.painter.getType() === 'svg';\n\n    if (!isSvg) {\n      zr.painter.getLayer(zlevel).clear(true);\n    } // Config layer with motion blur\n\n\n    if (this._lastZlevel != null && !isSvg) {\n      zr.configLayer(this._lastZlevel, {\n        motionBlur: false\n      });\n    }\n\n    if (this._showEffect(seriesModel) && trailLength > 0) {\n      if (!isSvg) {\n        zr.configLayer(zlevel, {\n          motionBlur: true,\n          lastFrameAlpha: Math.max(Math.min(trailLength / 10 + 0.9, 1), 0)\n        });\n      } else if (true) {\n        console.warn('SVG render mode doesn\\'t support lines with trail effect');\n      }\n    }\n\n    lineDraw.updateData(data);\n    var clipPath = seriesModel.get('clip', true) && Object(_helper_createClipPathFromCoordSys_js__WEBPACK_IMPORTED_MODULE_8__[\"createClipPath\"])(seriesModel.coordinateSystem, false, seriesModel);\n\n    if (clipPath) {\n      this.group.setClipPath(clipPath);\n    } else {\n      this.group.removeClipPath();\n    }\n\n    this._lastZlevel = zlevel;\n    this._finished = true;\n  };\n\n  LinesView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n\n    var lineDraw = this._updateLineDraw(data, seriesModel);\n\n    lineDraw.incrementalPrepareUpdate(data);\n\n    this._clearLayer(api);\n\n    this._finished = false;\n  };\n\n  LinesView.prototype.incrementalRender = function (taskParams, seriesModel, ecModel) {\n    this._lineDraw.incrementalUpdate(taskParams, seriesModel.getData());\n\n    this._finished = taskParams.end === seriesModel.getData().count();\n  };\n\n  LinesView.prototype.eachRendered = function (cb) {\n    this._lineDraw && this._lineDraw.eachRendered(cb);\n  };\n\n  LinesView.prototype.updateTransform = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    var pipelineContext = seriesModel.pipelineContext;\n\n    if (!this._finished || pipelineContext.large || pipelineContext.progressiveRender) {\n      // TODO Don't have to do update in large mode. Only do it when there are millions of data.\n      return {\n        update: true\n      };\n    } else {\n      // TODO Use same logic with ScatterView.\n      // Manually update layout\n      var res = _linesLayout_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].reset(seriesModel, ecModel, api);\n\n      if (res.progress) {\n        res.progress({\n          start: 0,\n          end: data.count(),\n          count: data.count()\n        }, data);\n      } // Not in large mode\n\n\n      this._lineDraw.updateLayout();\n\n      this._clearLayer(api);\n    }\n  };\n\n  LinesView.prototype._updateLineDraw = function (data, seriesModel) {\n    var lineDraw = this._lineDraw;\n\n    var hasEffect = this._showEffect(seriesModel);\n\n    var isPolyline = !!seriesModel.get('polyline');\n    var pipelineContext = seriesModel.pipelineContext;\n    var isLargeDraw = pipelineContext.large;\n\n    if (true) {\n      if (hasEffect && isLargeDraw) {\n        console.warn('Large lines not support effect');\n      }\n    }\n\n    if (!lineDraw || hasEffect !== this._hasEffet || isPolyline !== this._isPolyline || isLargeDraw !== this._isLargeDraw) {\n      if (lineDraw) {\n        lineDraw.remove();\n      }\n\n      lineDraw = this._lineDraw = isLargeDraw ? new _helper_LargeLineDraw_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]() : new _helper_LineDraw_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](isPolyline ? hasEffect ? _helper_EffectPolyline_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"] : _helper_Polyline_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] : hasEffect ? _helper_EffectLine_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _helper_Line_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n      this._hasEffet = hasEffect;\n      this._isPolyline = isPolyline;\n      this._isLargeDraw = isLargeDraw;\n    }\n\n    this.group.add(lineDraw.group);\n    return lineDraw;\n  };\n\n  LinesView.prototype._showEffect = function (seriesModel) {\n    return !!seriesModel.get(['effect', 'show']);\n  };\n\n  LinesView.prototype._clearLayer = function (api) {\n    // Not use motion when dragging or zooming\n    var zr = api.getZr();\n    var isSvg = zr.painter.getType() === 'svg';\n\n    if (!isSvg && this._lastZlevel != null) {\n      zr.painter.getLayer(this._lastZlevel).clear(true);\n    }\n  };\n\n  LinesView.prototype.remove = function (ecModel, api) {\n    this._lineDraw && this._lineDraw.remove();\n    this._lineDraw = null; // Clear motion when lineDraw is removed\n\n    this._clearLayer(api);\n  };\n\n  LinesView.prototype.dispose = function (ecModel, api) {\n    this.remove(ecModel, api);\n  };\n\n  LinesView.type = 'lines';\n  return LinesView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LinesView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/lines/LinesView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/lines/install.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/lines/install.js ***!
  \*********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _LinesView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LinesView.js */ \"./node_modules/echarts/lib/chart/lines/LinesView.js\");\n/* harmony import */ var _LinesSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LinesSeries.js */ \"./node_modules/echarts/lib/chart/lines/LinesSeries.js\");\n/* harmony import */ var _linesLayout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./linesLayout.js */ \"./node_modules/echarts/lib/chart/lines/linesLayout.js\");\n/* harmony import */ var _linesVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./linesVisual.js */ \"./node_modules/echarts/lib/chart/lines/linesVisual.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_LinesView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_LinesSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(_linesLayout_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerVisual(_linesVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/lines/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/lines/linesLayout.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/lines/linesLayout.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helper/createRenderPlanner.js */ \"./node_modules/echarts/lib/chart/helper/createRenderPlanner.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\n\n\nvar linesLayout = {\n  seriesType: 'lines',\n  plan: Object(_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n  reset: function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (!coordSys) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"error\"])('The lines series must have a coordinate system.');\n      }\n\n      return;\n    }\n\n    var isPolyline = seriesModel.get('polyline');\n    var isLarge = seriesModel.pipelineContext.large;\n    return {\n      progress: function (params, lineData) {\n        var lineCoords = [];\n\n        if (isLarge) {\n          var points = void 0;\n          var segCount = params.end - params.start;\n\n          if (isPolyline) {\n            var totalCoordsCount = 0;\n\n            for (var i = params.start; i < params.end; i++) {\n              totalCoordsCount += seriesModel.getLineCoordsCount(i);\n            }\n\n            points = new Float32Array(segCount + totalCoordsCount * 2);\n          } else {\n            points = new Float32Array(segCount * 4);\n          }\n\n          var offset = 0;\n          var pt = [];\n\n          for (var i = params.start; i < params.end; i++) {\n            var len = seriesModel.getLineCoords(i, lineCoords);\n\n            if (isPolyline) {\n              points[offset++] = len;\n            }\n\n            for (var k = 0; k < len; k++) {\n              pt = coordSys.dataToPoint(lineCoords[k], false, pt);\n              points[offset++] = pt[0];\n              points[offset++] = pt[1];\n            }\n          }\n\n          lineData.setLayout('linesPoints', points);\n        } else {\n          for (var i = params.start; i < params.end; i++) {\n            var itemModel = lineData.getItemModel(i);\n            var len = seriesModel.getLineCoords(i, lineCoords);\n            var pts = [];\n\n            if (isPolyline) {\n              for (var j = 0; j < len; j++) {\n                pts.push(coordSys.dataToPoint(lineCoords[j]));\n              }\n            } else {\n              pts[0] = coordSys.dataToPoint(lineCoords[0]);\n              pts[1] = coordSys.dataToPoint(lineCoords[1]);\n              var curveness = itemModel.get(['lineStyle', 'curveness']);\n\n              if (+curveness) {\n                pts[2] = [(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness, (pts[0][1] + pts[1][1]) / 2 - (pts[1][0] - pts[0][0]) * curveness];\n              }\n            }\n\n            lineData.setItemLayout(i, pts);\n          }\n        }\n      }\n    };\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (linesLayout);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/lines/linesLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/lines/linesVisual.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/lines/linesVisual.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction normalize(a) {\n  if (!(a instanceof Array)) {\n    a = [a, a];\n  }\n\n  return a;\n}\n\nvar linesVisual = {\n  seriesType: 'lines',\n  reset: function (seriesModel) {\n    var symbolType = normalize(seriesModel.get('symbol'));\n    var symbolSize = normalize(seriesModel.get('symbolSize'));\n    var data = seriesModel.getData();\n    data.setVisual('fromSymbol', symbolType && symbolType[0]);\n    data.setVisual('toSymbol', symbolType && symbolType[1]);\n    data.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n    data.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n\n    function dataEach(data, idx) {\n      var itemModel = data.getItemModel(idx);\n      var symbolType = normalize(itemModel.getShallow('symbol', true));\n      var symbolSize = normalize(itemModel.getShallow('symbolSize', true));\n      symbolType[0] && data.setItemVisual(idx, 'fromSymbol', symbolType[0]);\n      symbolType[1] && data.setItemVisual(idx, 'toSymbol', symbolType[1]);\n      symbolSize[0] && data.setItemVisual(idx, 'fromSymbolSize', symbolSize[0]);\n      symbolSize[1] && data.setItemVisual(idx, 'toSymbolSize', symbolSize[1]);\n    }\n\n    return {\n      dataEach: data.hasItemOption ? dataEach : null\n    };\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (linesVisual);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/lines/linesVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/map/MapSeries.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/map/MapSeries.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createSeriesDataSimply.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../coord/geo/geoSourceManager.js */ \"./node_modules/echarts/lib/coord/geo/geoSourceManager.js\");\n/* harmony import */ var _data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../data/helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar MapSeries =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MapSeries, _super);\n\n  function MapSeries() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MapSeries.type; // Only first map series of same mapType will drawMap.\n\n    _this.needsDrawMap = false; // Group of all map series with same mapType\n\n    _this.seriesGroup = [];\n\n    _this.getTooltipPosition = function (dataIndex) {\n      if (dataIndex != null) {\n        var name_1 = this.getData().getName(dataIndex);\n        var geo = this.coordinateSystem;\n        var region = geo.getRegion(name_1);\n        return region && geo.dataToPoint(region.getCenter());\n      }\n    };\n\n    return _this;\n  }\n\n  MapSeries.prototype.getInitialData = function (option) {\n    var data = Object(_helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, {\n      coordDimensions: ['value'],\n      encodeDefaulter: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"](_data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"makeSeriesEncodeForNameBased\"], this)\n    });\n    var dataNameMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]();\n    var toAppendNames = [];\n\n    for (var i = 0, len = data.count(); i < len; i++) {\n      var name_2 = data.getName(i);\n      dataNameMap.set(name_2, true);\n    }\n\n    var geoSource = _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].load(this.getMapType(), this.option.nameMap, this.option.nameProperty);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](geoSource.regions, function (region) {\n      var name = region.name;\n\n      if (!dataNameMap.get(name)) {\n        toAppendNames.push(name);\n      }\n    }); // Complete data with missing regions. The consequent processes (like visual\n    // map and render) can not be performed without a \"full data\". For example,\n    // find `dataIndex` by name.\n\n    data.appendValues([], toAppendNames);\n    return data;\n  };\n  /**\n   * If no host geo model, return null, which means using a\n   * inner exclusive geo model.\n   */\n\n\n  MapSeries.prototype.getHostGeoModel = function () {\n    var geoIndex = this.option.geoIndex;\n    return geoIndex != null ? this.ecModel.getComponent('geo', geoIndex) : null;\n  };\n\n  MapSeries.prototype.getMapType = function () {\n    return (this.getHostGeoModel() || this).option.map;\n  }; // _fillOption(option, mapName) {\n  // Shallow clone\n  // option = zrUtil.extend({}, option);\n  // option.data = geoCreator.getFilledRegions(option.data, mapName, option.nameMap);\n  // return option;\n  // }\n\n\n  MapSeries.prototype.getRawValue = function (dataIndex) {\n    // Use value stored in data instead because it is calculated from multiple series\n    // FIXME Provide all value of multiple series ?\n    var data = this.getData();\n    return data.get(data.mapDimension('value'), dataIndex);\n  };\n  /**\n   * Get model of region\n   */\n\n\n  MapSeries.prototype.getRegionModel = function (regionName) {\n    var data = this.getData();\n    return data.getItemModel(data.indexOfName(regionName));\n  };\n  /**\n   * Map tooltip formatter\n   */\n\n\n  MapSeries.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    // FIXME orignalData and data is a bit confusing\n    var data = this.getData();\n    var value = this.getRawValue(dataIndex);\n    var name = data.getName(dataIndex);\n    var seriesGroup = this.seriesGroup;\n    var seriesNames = [];\n\n    for (var i = 0; i < seriesGroup.length; i++) {\n      var otherIndex = seriesGroup[i].originalData.indexOfName(name);\n      var valueDim = data.mapDimension('value');\n\n      if (!isNaN(seriesGroup[i].originalData.get(valueDim, otherIndex))) {\n        seriesNames.push(seriesGroup[i].name);\n      }\n    }\n\n    return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__[\"createTooltipMarkup\"])('section', {\n      header: seriesNames.join(', '),\n      noHeader: !seriesNames.length,\n      blocks: [Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__[\"createTooltipMarkup\"])('nameValue', {\n        name: name,\n        value: value\n      })]\n    });\n  };\n\n  MapSeries.prototype.setZoom = function (zoom) {\n    this.option.zoom = zoom;\n  };\n\n  MapSeries.prototype.setCenter = function (center) {\n    this.option.center = center;\n  };\n\n  MapSeries.prototype.getLegendIcon = function (opt) {\n    var iconType = opt.icon || 'roundRect';\n    var icon = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_7__[\"createSymbol\"])(iconType, 0, 0, opt.itemWidth, opt.itemHeight, opt.itemStyle.fill);\n    icon.setStyle(opt.itemStyle); // Map do not use itemStyle.borderWidth as border width\n\n    icon.style.stroke = 'none'; // No rotation because no series visual symbol for map\n\n    if (iconType.indexOf('empty') > -1) {\n      icon.style.stroke = icon.style.fill;\n      icon.style.fill = '#fff';\n      icon.style.lineWidth = 2;\n    }\n\n    return icon;\n  };\n\n  MapSeries.type = 'series.map';\n  MapSeries.dependencies = ['geo'];\n  MapSeries.layoutMode = 'box';\n  MapSeries.defaultOption = {\n    // 一级层叠\n    // zlevel: 0,\n    // 二级层叠\n    z: 2,\n    coordinateSystem: 'geo',\n    // map should be explicitly specified since ec3.\n    map: '',\n    // If `geoIndex` is not specified, a exclusive geo will be\n    // created. Otherwise use the specified geo component, and\n    // `map` and `mapType` are ignored.\n    // geoIndex: 0,\n    // 'center' | 'left' | 'right' | 'x%' | {number}\n    left: 'center',\n    // 'center' | 'top' | 'bottom' | 'x%' | {number}\n    top: 'center',\n    // right\n    // bottom\n    // width:\n    // height\n    // Aspect is width / height. Inited to be geoJson bbox aspect\n    // This parameter is used for scale this aspect\n    // Default value:\n    // for geoSVG source: 1,\n    // for geoJSON source: 0.75.\n    aspectScale: null,\n    ///// Layout with center and size\n    // If you wan't to put map in a fixed size box with right aspect ratio\n    // This two properties may more conveninet\n    // layoutCenter: [50%, 50%]\n    // layoutSize: 100\n    showLegendSymbol: true,\n    // Define left-top, right-bottom coords to control view\n    // For example, [ [180, 90], [-180, -90] ],\n    // higher priority than center and zoom\n    boundingCoords: null,\n    // Default on center of map\n    center: null,\n    zoom: 1,\n    scaleLimit: null,\n    selectedMode: true,\n    label: {\n      show: false,\n      color: '#000'\n    },\n    // scaleLimit: null,\n    itemStyle: {\n      borderWidth: 0.5,\n      borderColor: '#444',\n      areaColor: '#eee'\n    },\n    emphasis: {\n      label: {\n        show: true,\n        color: 'rgb(100,0,0)'\n      },\n      itemStyle: {\n        areaColor: 'rgba(255,215,0,0.8)'\n      }\n    },\n    select: {\n      label: {\n        show: true,\n        color: 'rgb(100,0,0)'\n      },\n      itemStyle: {\n        color: 'rgba(255,215,0,0.8)'\n      }\n    },\n    nameProperty: 'name'\n  };\n  return MapSeries;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MapSeries);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/map/MapSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/map/MapView.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/map/MapView.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _component_helper_MapDraw_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../component/helper/MapDraw.js */ \"./node_modules/echarts/lib/component/helper/MapDraw.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar MapView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MapView, _super);\n\n  function MapView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MapView.type;\n    return _this;\n  }\n\n  MapView.prototype.render = function (mapModel, ecModel, api, payload) {\n    // Not render if it is an toggleSelect action from self\n    if (payload && payload.type === 'mapToggleSelect' && payload.from === this.uid) {\n      return;\n    }\n\n    var group = this.group;\n    group.removeAll();\n\n    if (mapModel.getHostGeoModel()) {\n      return;\n    }\n\n    if (this._mapDraw && payload && payload.type === 'geoRoam') {\n      this._mapDraw.resetForLabelLayout();\n    } // Not update map if it is an roam action from self\n\n\n    if (!(payload && payload.type === 'geoRoam' && payload.componentType === 'series' && payload.seriesId === mapModel.id)) {\n      if (mapModel.needsDrawMap) {\n        var mapDraw = this._mapDraw || new _component_helper_MapDraw_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](api);\n        group.add(mapDraw.group);\n        mapDraw.draw(mapModel, ecModel, api, this, payload);\n        this._mapDraw = mapDraw;\n      } else {\n        // Remove drawed map\n        this._mapDraw && this._mapDraw.remove();\n        this._mapDraw = null;\n      }\n    } else {\n      var mapDraw = this._mapDraw;\n      mapDraw && group.add(mapDraw.group);\n    }\n\n    mapModel.get('showLegendSymbol') && ecModel.getComponent('legend') && this._renderSymbols(mapModel, ecModel, api);\n  };\n\n  MapView.prototype.remove = function () {\n    this._mapDraw && this._mapDraw.remove();\n    this._mapDraw = null;\n    this.group.removeAll();\n  };\n\n  MapView.prototype.dispose = function () {\n    this._mapDraw && this._mapDraw.remove();\n    this._mapDraw = null;\n  };\n\n  MapView.prototype._renderSymbols = function (mapModel, ecModel, api) {\n    var originalData = mapModel.originalData;\n    var group = this.group;\n    originalData.each(originalData.mapDimension('value'), function (value, originalDataIndex) {\n      if (isNaN(value)) {\n        return;\n      }\n\n      var layout = originalData.getItemLayout(originalDataIndex);\n\n      if (!layout || !layout.point) {\n        // Not exists in map\n        return;\n      }\n\n      var point = layout.point;\n      var offset = layout.offset;\n      var circle = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Circle\"]({\n        style: {\n          // Because the special of map draw.\n          // Which needs statistic of multiple series and draw on one map.\n          // And each series also need a symbol with legend color\n          //\n          // Layout and visual are put one the different data\n          // TODO\n          fill: mapModel.getData().getVisual('style').fill\n        },\n        shape: {\n          cx: point[0] + offset * 9,\n          cy: point[1],\n          r: 3\n        },\n        silent: true,\n        // Do not overlap the first series, on which labels are displayed.\n        z2: 8 + (!offset ? _util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"Z2_EMPHASIS_LIFT\"] + 1 : 0)\n      }); // Only the series that has the first value on the same region is in charge of rendering the label.\n      // But consider the case:\n      // series: [\n      //     {id: 'X', type: 'map', map: 'm', {data: [{name: 'A', value: 11}, {name: 'B', {value: 22}]},\n      //     {id: 'Y', type: 'map', map: 'm', {data: [{name: 'A', value: 21}, {name: 'C', {value: 33}]}\n      // ]\n      // The offset `0` of item `A` is at series `X`, but of item `C` is at series `Y`.\n      // For backward compatibility, we follow the rule that render label `A` by the\n      // settings on series `X` but render label `C` by the settings on series `Y`.\n\n      if (!offset) {\n        var fullData = mapModel.mainSeries.getData();\n        var name_1 = originalData.getName(originalDataIndex);\n        var fullIndex_1 = fullData.indexOfName(name_1);\n        var itemModel = originalData.getItemModel(originalDataIndex);\n        var labelModel = itemModel.getModel('label');\n        var regionGroup = fullData.getItemGraphicEl(fullIndex_1); // `getFormattedLabel` needs to use `getData` inside. Here\n        // `mapModel.getData()` is shallow cloned from `mainSeries.getData()`.\n        // FIXME\n        // If this is not the `mainSeries`, the item model (like label formatter)\n        // set on original data item will never get. But it has been working\n        // like that from the begining, and this scenario is rarely encountered.\n        // So it won't be fixed until have to.\n\n        Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"setLabelStyle\"])(circle, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"getLabelStatesModels\"])(itemModel), {\n          labelFetcher: {\n            getFormattedLabel: function (idx, state) {\n              return mapModel.getFormattedLabel(fullIndex_1, state);\n            }\n          },\n          defaultText: name_1\n        });\n        circle.disableLabelAnimation = true;\n\n        if (!labelModel.get('position')) {\n          circle.setTextConfig({\n            position: 'bottom'\n          });\n        }\n\n        regionGroup.onHoverStateChange = function (toState) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"setStatesFlag\"])(circle, toState);\n        };\n      }\n\n      group.add(circle);\n    });\n  };\n\n  MapView.type = 'map';\n  return MapView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MapView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/map/MapView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/map/install.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/map/install.js ***!
  \*******************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _MapView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MapView.js */ \"./node_modules/echarts/lib/chart/map/MapView.js\");\n/* harmony import */ var _MapSeries_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MapSeries.js */ \"./node_modules/echarts/lib/chart/map/MapSeries.js\");\n/* harmony import */ var _mapDataStatistic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mapDataStatistic.js */ \"./node_modules/echarts/lib/chart/map/mapDataStatistic.js\");\n/* harmony import */ var _mapSymbolLayout_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mapSymbolLayout.js */ \"./node_modules/echarts/lib/chart/map/mapSymbolLayout.js\");\n/* harmony import */ var _legacy_dataSelectAction_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../legacy/dataSelectAction.js */ \"./node_modules/echarts/lib/legacy/dataSelectAction.js\");\n/* harmony import */ var _component_geo_install_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../component/geo/install.js */ \"./node_modules/echarts/lib/component/geo/install.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_component_geo_install_js__WEBPACK_IMPORTED_MODULE_6__[\"install\"]);\n  registers.registerChartView(_MapView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerSeriesModel(_MapSeries_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerLayout(_mapSymbolLayout_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, _mapDataStatistic_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  Object(_legacy_dataSelectAction_js__WEBPACK_IMPORTED_MODULE_5__[\"createLegacyDataSelectAction\"])('map', registers.registerAction);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/map/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/map/mapDataStatistic.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/map/mapDataStatistic.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mapDataStatistic; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // FIXME 公用？\n\nfunction dataStatistics(datas, statisticType) {\n  var dataNameMap = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](datas, function (data) {\n    data.each(data.mapDimension('value'), function (value, idx) {\n      // Add prefix to avoid conflict with Object.prototype.\n      var mapKey = 'ec-' + data.getName(idx);\n      dataNameMap[mapKey] = dataNameMap[mapKey] || [];\n\n      if (!isNaN(value)) {\n        dataNameMap[mapKey].push(value);\n      }\n    });\n  });\n  return datas[0].map(datas[0].mapDimension('value'), function (value, idx) {\n    var mapKey = 'ec-' + datas[0].getName(idx);\n    var sum = 0;\n    var min = Infinity;\n    var max = -Infinity;\n    var len = dataNameMap[mapKey].length;\n\n    for (var i = 0; i < len; i++) {\n      min = Math.min(min, dataNameMap[mapKey][i]);\n      max = Math.max(max, dataNameMap[mapKey][i]);\n      sum += dataNameMap[mapKey][i];\n    }\n\n    var result;\n\n    if (statisticType === 'min') {\n      result = min;\n    } else if (statisticType === 'max') {\n      result = max;\n    } else if (statisticType === 'average') {\n      result = sum / len;\n    } else {\n      result = sum;\n    }\n\n    return len === 0 ? NaN : result;\n  });\n}\n\nfunction mapDataStatistic(ecModel) {\n  var seriesGroups = {};\n  ecModel.eachSeriesByType('map', function (seriesModel) {\n    var hostGeoModel = seriesModel.getHostGeoModel();\n    var key = hostGeoModel ? 'o' + hostGeoModel.id : 'i' + seriesModel.getMapType();\n    (seriesGroups[key] = seriesGroups[key] || []).push(seriesModel);\n  });\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](seriesGroups, function (seriesList, key) {\n    var data = dataStatistics(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](seriesList, function (seriesModel) {\n      return seriesModel.getData();\n    }), seriesList[0].get('mapValueCalculation'));\n\n    for (var i = 0; i < seriesList.length; i++) {\n      seriesList[i].originalData = seriesList[i].getData();\n    } // FIXME Put where?\n\n\n    for (var i = 0; i < seriesList.length; i++) {\n      seriesList[i].seriesGroup = seriesList;\n      seriesList[i].needsDrawMap = i === 0 && !seriesList[i].getHostGeoModel();\n      seriesList[i].setData(data.cloneShallow());\n      seriesList[i].mainSeries = seriesList[0];\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/map/mapDataStatistic.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/map/mapSymbolLayout.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/map/mapSymbolLayout.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mapSymbolLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction mapSymbolLayout(ecModel) {\n  var processedMapType = {};\n  ecModel.eachSeriesByType('map', function (mapSeries) {\n    var mapType = mapSeries.getMapType();\n\n    if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {\n      return;\n    }\n\n    var mapSymbolOffsets = {};\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](mapSeries.seriesGroup, function (subMapSeries) {\n      var geo = subMapSeries.coordinateSystem;\n      var data = subMapSeries.originalData;\n\n      if (subMapSeries.get('showLegendSymbol') && ecModel.getComponent('legend')) {\n        data.each(data.mapDimension('value'), function (value, idx) {\n          var name = data.getName(idx);\n          var region = geo.getRegion(name); // If input series.data is [11, 22, '-'/null/undefined, 44],\n          // it will be filled with NaN: [11, 22, NaN, 44] and NaN will\n          // not be drawn. So here must validate if value is NaN.\n\n          if (!region || isNaN(value)) {\n            return;\n          }\n\n          var offset = mapSymbolOffsets[name] || 0;\n          var point = geo.dataToPoint(region.getCenter());\n          mapSymbolOffsets[name] = offset + 1;\n          data.setItemLayout(idx, {\n            point: point,\n            offset: offset\n          });\n        });\n      }\n    }); // Show label of those region not has legendIcon (which is offset 0)\n\n    var data = mapSeries.getData();\n    data.each(function (idx) {\n      var name = data.getName(idx);\n      var layout = data.getItemLayout(idx) || {};\n      layout.showLabel = !mapSymbolOffsets[name];\n      data.setItemLayout(idx, layout);\n    });\n    processedMapType[mapType] = true;\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/map/mapSymbolLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/parallel/ParallelSeries.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/parallel/ParallelSeries.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar ParallelSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelSeriesModel, _super);\n\n  function ParallelSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ParallelSeriesModel.type;\n    _this.visualStyleAccessPath = 'lineStyle';\n    _this.visualDrawType = 'stroke';\n    return _this;\n  }\n\n  ParallelSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(null, this, {\n      useEncodeDefaulter: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(makeDefaultEncode, null, this)\n    });\n  };\n  /**\n   * User can get data raw indices on 'axisAreaSelected' event received.\n   *\n   * @return Raw indices\n   */\n\n\n  ParallelSeriesModel.prototype.getRawIndicesByActiveState = function (activeState) {\n    var coordSys = this.coordinateSystem;\n    var data = this.getData();\n    var indices = [];\n    coordSys.eachActiveState(data, function (theActiveState, dataIndex) {\n      if (activeState === theActiveState) {\n        indices.push(data.getRawIndex(dataIndex));\n      }\n    });\n    return indices;\n  };\n\n  ParallelSeriesModel.type = 'series.parallel';\n  ParallelSeriesModel.dependencies = ['parallel'];\n  ParallelSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'parallel',\n    parallelIndex: 0,\n    label: {\n      show: false\n    },\n    inactiveOpacity: 0.05,\n    activeOpacity: 1,\n    lineStyle: {\n      width: 1,\n      opacity: 0.45,\n      type: 'solid'\n    },\n    emphasis: {\n      label: {\n        show: false\n      }\n    },\n    progressive: 500,\n    smooth: false,\n    animationEasing: 'linear'\n  };\n  return ParallelSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction makeDefaultEncode(seriesModel) {\n  // The mapping of parallelAxis dimension to data dimension can\n  // be specified in parallelAxis.option.dim. For example, if\n  // parallelAxis.option.dim is 'dim3', it mapping to the third\n  // dimension of data. But `data.encode` has higher priority.\n  // Moreover, parallelModel.dimension should not be regarded as data\n  // dimensions. Consider dimensions = ['dim4', 'dim2', 'dim6'];\n  var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n  if (!parallelModel) {\n    return;\n  }\n\n  var encodeDefine = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(parallelModel.dimensions, function (axisDim) {\n    var dataDimIndex = convertDimNameToNumber(axisDim);\n    encodeDefine[axisDim] = dataDimIndex;\n  });\n  return encodeDefine;\n}\n\nfunction convertDimNameToNumber(dimName) {\n  return +dimName.replace('dim', '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/parallel/ParallelSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/parallel/ParallelView.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/parallel/ParallelView.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar DEFAULT_SMOOTH = 0.3;\n\nvar ParallelView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelView, _super);\n\n  function ParallelView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ParallelView.type;\n    _this._dataGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n    _this._initialized = false;\n    return _this;\n  }\n\n  ParallelView.prototype.init = function () {\n    this.group.add(this._dataGroup);\n  };\n  /**\n   * @override\n   */\n\n\n  ParallelView.prototype.render = function (seriesModel, ecModel, api, payload) {\n    // Clear previously rendered progressive elements.\n    this._progressiveEls = null;\n    var dataGroup = this._dataGroup;\n    var data = seriesModel.getData();\n    var oldData = this._data;\n    var coordSys = seriesModel.coordinateSystem;\n    var dimensions = coordSys.dimensions;\n    var seriesScope = makeSeriesScope(seriesModel);\n    data.diff(oldData).add(add).update(update).remove(remove).execute();\n\n    function add(newDataIndex) {\n      var line = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);\n      updateElCommon(line, data, newDataIndex, seriesScope);\n    }\n\n    function update(newDataIndex, oldDataIndex) {\n      var line = oldData.getItemGraphicEl(oldDataIndex);\n      var points = createLinePoints(data, newDataIndex, dimensions, coordSys);\n      data.setItemGraphicEl(newDataIndex, line);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](line, {\n        shape: {\n          points: points\n        }\n      }, seriesModel, newDataIndex);\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_6__[\"saveOldStyle\"])(line);\n      updateElCommon(line, data, newDataIndex, seriesScope);\n    }\n\n    function remove(oldDataIndex) {\n      var line = oldData.getItemGraphicEl(oldDataIndex);\n      dataGroup.remove(line);\n    } // First create\n\n\n    if (!this._initialized) {\n      this._initialized = true;\n      var clipPath = createGridClipShape(coordSys, seriesModel, function () {\n        // Callback will be invoked immediately if there is no animation\n        setTimeout(function () {\n          dataGroup.removeClipPath();\n        });\n      });\n      dataGroup.setClipPath(clipPath);\n    }\n\n    this._data = data;\n  };\n\n  ParallelView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\n    this._initialized = true;\n    this._data = null;\n\n    this._dataGroup.removeAll();\n  };\n\n  ParallelView.prototype.incrementalRender = function (taskParams, seriesModel, ecModel) {\n    var data = seriesModel.getData();\n    var coordSys = seriesModel.coordinateSystem;\n    var dimensions = coordSys.dimensions;\n    var seriesScope = makeSeriesScope(seriesModel);\n    var progressiveEls = this._progressiveEls = [];\n\n    for (var dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {\n      var line = addEl(data, this._dataGroup, dataIndex, dimensions, coordSys);\n      line.incremental = true;\n      updateElCommon(line, data, dataIndex, seriesScope);\n      progressiveEls.push(line);\n    }\n  };\n\n  ParallelView.prototype.remove = function () {\n    this._dataGroup && this._dataGroup.removeAll();\n    this._data = null;\n  };\n\n  ParallelView.type = 'parallel';\n  return ParallelView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\nfunction createGridClipShape(coordSys, seriesModel, cb) {\n  var parallelModel = coordSys.model;\n  var rect = coordSys.getRect();\n  var rectEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n    shape: {\n      x: rect.x,\n      y: rect.y,\n      width: rect.width,\n      height: rect.height\n    }\n  });\n  var dim = parallelModel.get('layout') === 'horizontal' ? 'width' : 'height';\n  rectEl.setShape(dim, 0);\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"initProps\"](rectEl, {\n    shape: {\n      width: rect.width,\n      height: rect.height\n    }\n  }, seriesModel, cb);\n  return rectEl;\n}\n\nfunction createLinePoints(data, dataIndex, dimensions, coordSys) {\n  var points = [];\n\n  for (var i = 0; i < dimensions.length; i++) {\n    var dimName = dimensions[i];\n    var value = data.get(data.mapDimension(dimName), dataIndex);\n\n    if (!isEmptyValue(value, coordSys.getAxis(dimName).type)) {\n      points.push(coordSys.dataToPoint(value, dimName));\n    }\n  }\n\n  return points;\n}\n\nfunction addEl(data, dataGroup, dataIndex, dimensions, coordSys) {\n  var points = createLinePoints(data, dataIndex, dimensions, coordSys);\n  var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Polyline\"]({\n    shape: {\n      points: points\n    },\n    // silent: true,\n    z2: 10\n  });\n  dataGroup.add(line);\n  data.setItemGraphicEl(dataIndex, line);\n  return line;\n}\n\nfunction makeSeriesScope(seriesModel) {\n  var smooth = seriesModel.get('smooth', true);\n  smooth === true && (smooth = DEFAULT_SMOOTH);\n  smooth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_4__[\"numericToNumber\"])(smooth);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"eqNaN\"])(smooth) && (smooth = 0);\n  return {\n    smooth: smooth\n  };\n}\n\nfunction updateElCommon(el, data, dataIndex, seriesScope) {\n  el.useStyle(data.getItemVisual(dataIndex, 'style'));\n  el.style.fill = null;\n  el.setShape('smooth', seriesScope.smooth);\n  var itemModel = data.getItemModel(dataIndex);\n  var emphasisModel = itemModel.getModel('emphasis');\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"setStatesStylesFromModel\"])(el, itemModel, 'lineStyle');\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n} // function simpleDiff(oldData, newData, dimensions) {\n//     let oldLen;\n//     if (!oldData\n//         || !oldData.__plProgressive\n//         || (oldLen = oldData.count()) !== newData.count()\n//     ) {\n//         return true;\n//     }\n//     let dimLen = dimensions.length;\n//     for (let i = 0; i < oldLen; i++) {\n//         for (let j = 0; j < dimLen; j++) {\n//             if (oldData.get(dimensions[j], i) !== newData.get(dimensions[j], i)) {\n//                 return true;\n//             }\n//         }\n//     }\n//     return false;\n// }\n// FIXME put in common util?\n\n\nfunction isEmptyValue(val, axisType) {\n  return axisType === 'category' ? val == null : val == null || isNaN(val); // axisType === 'value'\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/parallel/ParallelView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/parallel/install.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/parallel/install.js ***!
  \************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _ParallelView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ParallelView.js */ \"./node_modules/echarts/lib/chart/parallel/ParallelView.js\");\n/* harmony import */ var _ParallelSeries_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ParallelSeries.js */ \"./node_modules/echarts/lib/chart/parallel/ParallelSeries.js\");\n/* harmony import */ var _parallelVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parallelVisual.js */ \"./node_modules/echarts/lib/chart/parallel/parallelVisual.js\");\n/* harmony import */ var _component_parallel_install_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/parallel/install.js */ \"./node_modules/echarts/lib/component/parallel/install.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_component_parallel_install_js__WEBPACK_IMPORTED_MODULE_4__[\"install\"]);\n  registers.registerChartView(_ParallelView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerSeriesModel(_ParallelSeries_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerVisual(registers.PRIORITY.VISUAL.BRUSH, _parallelVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/parallel/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/parallel/parallelVisual.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/parallel/parallelVisual.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar opacityAccessPath = ['lineStyle', 'opacity'];\nvar parallelVisual = {\n  seriesType: 'parallel',\n  reset: function (seriesModel, ecModel) {\n    var coordSys = seriesModel.coordinateSystem;\n    var opacityMap = {\n      normal: seriesModel.get(['lineStyle', 'opacity']),\n      active: seriesModel.get('activeOpacity'),\n      inactive: seriesModel.get('inactiveOpacity')\n    };\n    return {\n      progress: function (params, data) {\n        coordSys.eachActiveState(data, function (activeState, dataIndex) {\n          var opacity = opacityMap[activeState];\n\n          if (activeState === 'normal' && data.hasItemOption) {\n            var itemOpacity = data.getItemModel(dataIndex).get(opacityAccessPath, true);\n            itemOpacity != null && (opacity = itemOpacity);\n          }\n\n          var existsStyle = data.ensureUniqueItemVisual(dataIndex, 'style');\n          existsStyle.opacity = opacity;\n        }, params.start, params.end);\n      }\n    };\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (parallelVisual);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/parallel/parallelVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/pie/PieSeries.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/pie/PieSeries.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createSeriesDataSimply.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../data/helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../visual/LegendVisualProvider.js */ \"./node_modules/echarts/lib/visual/LegendVisualProvider.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar PieSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PieSeriesModel, _super);\n\n  function PieSeriesModel() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n  /**\n   * @overwrite\n   */\n\n\n  PieSeriesModel.prototype.init = function (option) {\n    _super.prototype.init.apply(this, arguments); // Enable legend selection for each data item\n    // Use a function instead of direct access because data reference may changed\n\n\n    this.legendVisualProvider = new _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"](this.getData, this), zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"](this.getRawData, this));\n\n    this._defaultLabelLine(option);\n  };\n  /**\n   * @overwrite\n   */\n\n\n  PieSeriesModel.prototype.mergeOption = function () {\n    _super.prototype.mergeOption.apply(this, arguments);\n  };\n  /**\n   * @overwrite\n   */\n\n\n  PieSeriesModel.prototype.getInitialData = function () {\n    var data = Object(_helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, {\n      coordDimensions: ['value'],\n      encodeDefaulter: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"curry\"](_data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"makeSeriesEncodeForNameBased\"], this)\n    });\n    var valueList = [];\n    data.each(data.mapDimension('value'), function (value) {\n      valueList.push(value);\n    });\n    this.seats = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_4__[\"getPercentSeats\"])(valueList, data.hostModel.get('percentPrecision'));\n    return data;\n  };\n  /**\n   * @overwrite\n   */\n\n\n  PieSeriesModel.prototype.getDataParams = function (dataIndex) {\n    var params = _super.prototype.getDataParams.call(this, dataIndex);\n\n    params.percent = this.seats[dataIndex];\n    params.$vars.push('percent');\n    return params;\n  };\n\n  PieSeriesModel.prototype._defaultLabelLine = function (option) {\n    // Extend labelLine emphasis\n    _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"defaultEmphasis\"](option, 'labelLine', ['show']);\n    var labelLineNormalOpt = option.labelLine;\n    var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n    labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n    labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n  };\n\n  PieSeriesModel.type = 'series.pie';\n  PieSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    legendHoverLink: true,\n    colorBy: 'data',\n    // 默认全局居中\n    center: ['50%', '50%'],\n    radius: [0, '75%'],\n    // 默认顺时针\n    clockwise: true,\n    startAngle: 90,\n    // 最小角度改为0\n    minAngle: 0,\n    // If the angle of a sector less than `minShowLabelAngle`,\n    // the label will not be displayed.\n    minShowLabelAngle: 0,\n    // 选中时扇区偏移量\n    selectedOffset: 10,\n    // 选择模式，默认关闭，可选single，multiple\n    // selectedMode: false,\n    // 南丁格尔玫瑰图模式，'radius'（半径） | 'area'（面积）\n    // roseType: null,\n    percentPrecision: 2,\n    // If still show when all data zero.\n    stillShowZeroSum: true,\n    // cursor: null,\n    left: 0,\n    top: 0,\n    right: 0,\n    bottom: 0,\n    width: null,\n    height: null,\n    label: {\n      // color: 'inherit',\n      // If rotate around circle\n      rotate: 0,\n      show: true,\n      overflow: 'truncate',\n      // 'outer', 'inside', 'center'\n      position: 'outer',\n      // 'none', 'labelLine', 'edge'. Works only when position is 'outer'\n      alignTo: 'none',\n      // Closest distance between label and chart edge.\n      // Works only position is 'outer' and alignTo is 'edge'.\n      edgeDistance: '25%',\n      // Works only position is 'outer' and alignTo is not 'edge'.\n      bleedMargin: 10,\n      // Distance between text and label line.\n      distanceToLabelLine: 5 // formatter: 标签文本格式器，同Tooltip.formatter，不支持异步回调\n      // 默认使用全局文本样式，详见TEXTSTYLE\n      // distance: 当position为inner时有效，为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数\n\n    },\n    // Enabled when label.normal.position is 'outer'\n    labelLine: {\n      show: true,\n      // 引导线两段中的第一段长度\n      length: 15,\n      // 引导线两段中的第二段长度\n      length2: 15,\n      smooth: false,\n      minTurnAngle: 90,\n      maxSurfaceAngle: 90,\n      lineStyle: {\n        // color: 各异,\n        width: 1,\n        type: 'solid'\n      }\n    },\n    itemStyle: {\n      borderWidth: 1,\n      borderJoin: 'round'\n    },\n    showEmptyCircle: true,\n    emptyCircleStyle: {\n      color: 'lightgray',\n      opacity: 1\n    },\n    labelLayout: {\n      // Hide the overlapped label.\n      hideOverlap: true\n    },\n    emphasis: {\n      scale: true,\n      scaleSize: 5\n    },\n    // If use strategy to avoid label overlapping\n    avoidLabelOverlap: true,\n    // Animation type. Valid values: expansion, scale\n    animationType: 'expansion',\n    animationDuration: 1000,\n    // Animation type when update. Valid values: transition, expansion\n    animationTypeUpdate: 'transition',\n    animationEasingUpdate: 'cubicInOut',\n    animationDurationUpdate: 500,\n    animationEasing: 'cubicInOut'\n  };\n  return PieSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PieSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/PieSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/pie/PieView.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/pie/PieView.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _labelLayout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./labelLayout.js */ \"./node_modules/echarts/lib/chart/pie/labelLayout.js\");\n/* harmony import */ var _label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../label/labelGuideHelper.js */ \"./node_modules/echarts/lib/label/labelGuideHelper.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helper/pieHelper.js */ \"./node_modules/echarts/lib/chart/helper/pieHelper.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony import */ var _pieLayout_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./pieLayout.js */ \"./node_modules/echarts/lib/chart/pie/pieLayout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Piece of pie including Sector, Label, LabelLine\n */\n\nvar PiePiece =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PiePiece, _super);\n\n  function PiePiece(data, idx, startAngle) {\n    var _this = _super.call(this) || this;\n\n    _this.z2 = 2;\n    var text = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]();\n\n    _this.setTextContent(text);\n\n    _this.updateData(data, idx, startAngle, true);\n\n    return _this;\n  }\n\n  PiePiece.prototype.updateData = function (data, idx, startAngle, firstCreate) {\n    var sector = this;\n    var seriesModel = data.hostModel;\n    var itemModel = data.getItemModel(idx);\n    var emphasisModel = itemModel.getModel('emphasis');\n    var layout = data.getItemLayout(idx); // cornerRadius & innerCornerRadius doesn't exist in the item layout. Use `0` if null value is specified.\n    // see `setItemLayout` in `pieLayout.ts`.\n\n    var sectorShape = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(Object(_helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getSectorCornerRadius\"])(itemModel.getModel('itemStyle'), layout, true), layout); // Ignore NaN data.\n\n    if (isNaN(sectorShape.startAngle)) {\n      // Use NaN shape to avoid drawing shape.\n      sector.setShape(sectorShape);\n      return;\n    }\n\n    if (firstCreate) {\n      sector.setShape(sectorShape);\n      var animationType = seriesModel.getShallow('animationType');\n\n      if (seriesModel.ecModel.ssr) {\n        // Use scale animation in SSR mode(opacity?)\n        // Because CSS SVG animation doesn't support very customized shape animation.\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](sector, {\n          scaleX: 0,\n          scaleY: 0\n        }, seriesModel, {\n          dataIndex: idx,\n          isFrom: true\n        });\n        sector.originX = sectorShape.cx;\n        sector.originY = sectorShape.cy;\n      } else if (animationType === 'scale') {\n        sector.shape.r = layout.r0;\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](sector, {\n          shape: {\n            r: layout.r\n          }\n        }, seriesModel, idx);\n      } // Expansion\n      else {\n          if (startAngle != null) {\n            sector.setShape({\n              startAngle: startAngle,\n              endAngle: startAngle\n            });\n            _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](sector, {\n              shape: {\n                startAngle: layout.startAngle,\n                endAngle: layout.endAngle\n              }\n            }, seriesModel, idx);\n          } else {\n            sector.shape.endAngle = layout.startAngle;\n            _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](sector, {\n              shape: {\n                endAngle: layout.endAngle\n              }\n            }, seriesModel, idx);\n          }\n        }\n    } else {\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_9__[\"saveOldStyle\"])(sector); // Transition animation from the old shape\n\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](sector, {\n        shape: sectorShape\n      }, seriesModel, idx);\n    }\n\n    sector.useStyle(data.getItemVisual(idx, 'style'));\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"setStatesStylesFromModel\"])(sector, itemModel);\n    var midAngle = (layout.startAngle + layout.endAngle) / 2;\n    var offset = seriesModel.get('selectedOffset');\n    var dx = Math.cos(midAngle) * offset;\n    var dy = Math.sin(midAngle) * offset;\n    var cursorStyle = itemModel.getShallow('cursor');\n    cursorStyle && sector.attr('cursor', cursorStyle);\n\n    this._updateLabel(seriesModel, data, idx);\n\n    sector.ensureState('emphasis').shape = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({\n      r: layout.r + (emphasisModel.get('scale') ? emphasisModel.get('scaleSize') || 0 : 0)\n    }, Object(_helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getSectorCornerRadius\"])(emphasisModel.getModel('itemStyle'), layout));\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(sector.ensureState('select'), {\n      x: dx,\n      y: dy,\n      shape: Object(_helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getSectorCornerRadius\"])(itemModel.getModel(['select', 'itemStyle']), layout)\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(sector.ensureState('blur'), {\n      shape: Object(_helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getSectorCornerRadius\"])(itemModel.getModel(['blur', 'itemStyle']), layout)\n    });\n    var labelLine = sector.getTextGuideLine();\n    var labelText = sector.getTextContent();\n    labelLine && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(labelLine.ensureState('select'), {\n      x: dx,\n      y: dy\n    }); // TODO: needs dx, dy in zrender?\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(labelText.ensureState('select'), {\n      x: dx,\n      y: dy\n    });\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n  };\n\n  PiePiece.prototype._updateLabel = function (seriesModel, data, idx) {\n    var sector = this;\n    var itemModel = data.getItemModel(idx);\n    var labelLineModel = itemModel.getModel('labelLine');\n    var style = data.getItemVisual(idx, 'style');\n    var visualColor = style && style.fill;\n    var visualOpacity = style && style.opacity;\n    Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"setLabelStyle\"])(sector, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"getLabelStatesModels\"])(itemModel), {\n      labelFetcher: data.hostModel,\n      labelDataIndex: idx,\n      inheritColor: visualColor,\n      defaultOpacity: visualOpacity,\n      defaultText: seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx)\n    });\n    var labelText = sector.getTextContent(); // Set textConfig on sector.\n\n    sector.setTextConfig({\n      // reset position, rotation\n      position: null,\n      rotation: null\n    }); // Make sure update style on labelText after setLabelStyle.\n    // Because setLabelStyle will replace a new style on it.\n\n    labelText.attr({\n      z2: 10\n    });\n    var labelPosition = seriesModel.get(['label', 'position']);\n\n    if (labelPosition !== 'outside' && labelPosition !== 'outer') {\n      sector.removeTextGuideLine();\n    } else {\n      var polyline = this.getTextGuideLine();\n\n      if (!polyline) {\n        polyline = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Polyline\"]();\n        this.setTextGuideLine(polyline);\n      } // Default use item visual color\n\n\n      Object(_label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"setLabelLineStyle\"])(this, Object(_label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getLabelLineStatesModels\"])(itemModel), {\n        stroke: visualColor,\n        opacity: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve3\"])(labelLineModel.get(['lineStyle', 'opacity']), visualOpacity, 1)\n      });\n    }\n  };\n\n  return PiePiece;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"]); // Pie view\n\n\nvar PieView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PieView, _super);\n\n  function PieView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.ignoreLabelLineUpdate = true;\n    return _this;\n  }\n\n  PieView.prototype.render = function (seriesModel, ecModel, api, payload) {\n    var data = seriesModel.getData();\n    var oldData = this._data;\n    var group = this.group;\n    var startAngle; // First render\n\n    if (!oldData && data.count() > 0) {\n      var shape = data.getItemLayout(0);\n\n      for (var s = 1; isNaN(shape && shape.startAngle) && s < data.count(); ++s) {\n        shape = data.getItemLayout(s);\n      }\n\n      if (shape) {\n        startAngle = shape.startAngle;\n      }\n    } // remove empty-circle if it exists\n\n\n    if (this._emptyCircleSector) {\n      group.remove(this._emptyCircleSector);\n    } // when all data are filtered, show lightgray empty circle\n\n\n    if (data.count() === 0 && seriesModel.get('showEmptyCircle')) {\n      var sector = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"]({\n        shape: Object(_pieLayout_js__WEBPACK_IMPORTED_MODULE_10__[\"getBasicPieLayout\"])(seriesModel, api)\n      });\n      sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle());\n      this._emptyCircleSector = sector;\n      group.add(sector);\n    }\n\n    data.diff(oldData).add(function (idx) {\n      var piePiece = new PiePiece(data, idx, startAngle);\n      data.setItemGraphicEl(idx, piePiece);\n      group.add(piePiece);\n    }).update(function (newIdx, oldIdx) {\n      var piePiece = oldData.getItemGraphicEl(oldIdx);\n      piePiece.updateData(data, newIdx, startAngle);\n      piePiece.off('click');\n      group.add(piePiece);\n      data.setItemGraphicEl(newIdx, piePiece);\n    }).remove(function (idx) {\n      var piePiece = oldData.getItemGraphicEl(idx);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElementWithFadeOut\"](piePiece, seriesModel, idx);\n    }).execute();\n    Object(_labelLayout_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(seriesModel); // Always use initial animation.\n\n    if (seriesModel.get('animationTypeUpdate') !== 'expansion') {\n      this._data = data;\n    }\n  };\n\n  PieView.prototype.dispose = function () {};\n\n  PieView.prototype.containPoint = function (point, seriesModel) {\n    var data = seriesModel.getData();\n    var itemLayout = data.getItemLayout(0);\n\n    if (itemLayout) {\n      var dx = point[0] - itemLayout.cx;\n      var dy = point[1] - itemLayout.cy;\n      var radius = Math.sqrt(dx * dx + dy * dy);\n      return radius <= itemLayout.r && radius >= itemLayout.r0;\n    }\n  };\n\n  PieView.type = 'pie';\n  return PieView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PieView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/PieView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/pie/install.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/chart/pie/install.js ***!
  \*******************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _legacy_dataSelectAction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../legacy/dataSelectAction.js */ \"./node_modules/echarts/lib/legacy/dataSelectAction.js\");\n/* harmony import */ var _pie_pieLayout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../pie/pieLayout.js */ \"./node_modules/echarts/lib/chart/pie/pieLayout.js\");\n/* harmony import */ var _processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../processor/dataFilter.js */ \"./node_modules/echarts/lib/processor/dataFilter.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _PieView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PieView.js */ \"./node_modules/echarts/lib/chart/pie/PieView.js\");\n/* harmony import */ var _PieSeries_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PieSeries.js */ \"./node_modules/echarts/lib/chart/pie/PieSeries.js\");\n/* harmony import */ var _processor_negativeDataFilter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../processor/negativeDataFilter.js */ \"./node_modules/echarts/lib/processor/negativeDataFilter.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_PieView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  registers.registerSeriesModel(_PieSeries_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  Object(_legacy_dataSelectAction_js__WEBPACK_IMPORTED_MODULE_0__[\"createLegacyDataSelectAction\"])('pie', registers.registerAction);\n  registers.registerLayout(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"curry\"])(_pie_pieLayout_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'pie'));\n  registers.registerProcessor(Object(_processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('pie'));\n  registers.registerProcessor(Object(_processor_negativeDataFilter_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])('pie'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/pie/labelLayout.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/pie/labelLayout.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pieLabelLayout; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../label/labelGuideHelper.js */ \"./node_modules/echarts/lib/label/labelGuideHelper.js\");\n/* harmony import */ var _label_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelLayoutHelper.js */ \"./node_modules/echarts/lib/label/labelLayoutHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME emphasis label position is not same with normal label position\n\n\n\n\n\nvar RADIAN = Math.PI / 180;\n\nfunction adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {\n  if (list.length < 2) {\n    return;\n  }\n\n  ;\n\n  function recalculateXOnSemiToAlignOnEllipseCurve(semi) {\n    var rB = semi.rB;\n    var rB2 = rB * rB;\n\n    for (var i = 0; i < semi.list.length; i++) {\n      var item = semi.list[i];\n      var dy = Math.abs(item.label.y - cy); // horizontal r is always same with original r because x is not changed.\n\n      var rA = r + item.len;\n      var rA2 = rA * rA; // Use ellipse implicit function to calculate x\n\n      var dx = Math.sqrt((1 - Math.abs(dy * dy / rB2)) * rA2);\n      var newX = cx + (dx + item.len2) * dir;\n      var deltaX = newX - item.label.x;\n      var newTargetWidth = item.targetTextWidth - deltaX * dir; // text x is changed, so need to recalculate width.\n\n      constrainTextWidth(item, newTargetWidth, true);\n      item.label.x = newX;\n    }\n  } // Adjust X based on the shifted y. Make tight labels aligned on an ellipse curve.\n\n\n  function recalculateX(items) {\n    // Extremes of\n    var topSemi = {\n      list: [],\n      maxY: 0\n    };\n    var bottomSemi = {\n      list: [],\n      maxY: 0\n    };\n\n    for (var i = 0; i < items.length; i++) {\n      if (items[i].labelAlignTo !== 'none') {\n        continue;\n      }\n\n      var item = items[i];\n      var semi = item.label.y > cy ? bottomSemi : topSemi;\n      var dy = Math.abs(item.label.y - cy);\n\n      if (dy >= semi.maxY) {\n        var dx = item.label.x - cx - item.len2 * dir; // horizontal r is always same with original r because x is not changed.\n\n        var rA = r + item.len; // Canculate rB based on the topest / bottemest label.\n\n        var rB = Math.abs(dx) < rA ? Math.sqrt(dy * dy / (1 - dx * dx / rA / rA)) : rA;\n        semi.rB = rB;\n        semi.maxY = dy;\n      }\n\n      semi.list.push(item);\n    }\n\n    recalculateXOnSemiToAlignOnEllipseCurve(topSemi);\n    recalculateXOnSemiToAlignOnEllipseCurve(bottomSemi);\n  }\n\n  var len = list.length;\n\n  for (var i = 0; i < len; i++) {\n    if (list[i].position === 'outer' && list[i].labelAlignTo === 'labelLine') {\n      var dx = list[i].label.x - farthestX;\n      list[i].linePoints[1][0] += dx;\n      list[i].label.x = farthestX;\n    }\n  }\n\n  if (Object(_label_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"shiftLayoutOnY\"])(list, viewTop, viewTop + viewHeight)) {\n    recalculateX(list);\n  }\n}\n\nfunction avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop) {\n  var leftList = [];\n  var rightList = [];\n  var leftmostX = Number.MAX_VALUE;\n  var rightmostX = -Number.MAX_VALUE;\n\n  for (var i = 0; i < labelLayoutList.length; i++) {\n    var label = labelLayoutList[i].label;\n\n    if (isPositionCenter(labelLayoutList[i])) {\n      continue;\n    }\n\n    if (label.x < cx) {\n      leftmostX = Math.min(leftmostX, label.x);\n      leftList.push(labelLayoutList[i]);\n    } else {\n      rightmostX = Math.max(rightmostX, label.x);\n      rightList.push(labelLayoutList[i]);\n    }\n  }\n\n  for (var i = 0; i < labelLayoutList.length; i++) {\n    var layout = labelLayoutList[i];\n\n    if (!isPositionCenter(layout) && layout.linePoints) {\n      if (layout.labelStyleWidth != null) {\n        continue;\n      }\n\n      var label = layout.label;\n      var linePoints = layout.linePoints;\n      var targetTextWidth = void 0;\n\n      if (layout.labelAlignTo === 'edge') {\n        if (label.x < cx) {\n          targetTextWidth = linePoints[2][0] - layout.labelDistance - viewLeft - layout.edgeDistance;\n        } else {\n          targetTextWidth = viewLeft + viewWidth - layout.edgeDistance - linePoints[2][0] - layout.labelDistance;\n        }\n      } else if (layout.labelAlignTo === 'labelLine') {\n        if (label.x < cx) {\n          targetTextWidth = leftmostX - viewLeft - layout.bleedMargin;\n        } else {\n          targetTextWidth = viewLeft + viewWidth - rightmostX - layout.bleedMargin;\n        }\n      } else {\n        if (label.x < cx) {\n          targetTextWidth = label.x - viewLeft - layout.bleedMargin;\n        } else {\n          targetTextWidth = viewLeft + viewWidth - label.x - layout.bleedMargin;\n        }\n      }\n\n      layout.targetTextWidth = targetTextWidth;\n      constrainTextWidth(layout, targetTextWidth);\n    }\n  }\n\n  adjustSingleSide(rightList, cx, cy, r, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);\n  adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);\n\n  for (var i = 0; i < labelLayoutList.length; i++) {\n    var layout = labelLayoutList[i];\n\n    if (!isPositionCenter(layout) && layout.linePoints) {\n      var label = layout.label;\n      var linePoints = layout.linePoints;\n      var isAlignToEdge = layout.labelAlignTo === 'edge';\n      var padding = label.style.padding;\n      var paddingH = padding ? padding[1] + padding[3] : 0; // textRect.width already contains paddingH if bgColor is set\n\n      var extraPaddingH = label.style.backgroundColor ? 0 : paddingH;\n      var realTextWidth = layout.rect.width + extraPaddingH;\n      var dist = linePoints[1][0] - linePoints[2][0];\n\n      if (isAlignToEdge) {\n        if (label.x < cx) {\n          linePoints[2][0] = viewLeft + layout.edgeDistance + realTextWidth + layout.labelDistance;\n        } else {\n          linePoints[2][0] = viewLeft + viewWidth - layout.edgeDistance - realTextWidth - layout.labelDistance;\n        }\n      } else {\n        if (label.x < cx) {\n          linePoints[2][0] = label.x + layout.labelDistance;\n        } else {\n          linePoints[2][0] = label.x - layout.labelDistance;\n        }\n\n        linePoints[1][0] = linePoints[2][0] + dist;\n      }\n\n      linePoints[1][1] = linePoints[2][1] = label.y;\n    }\n  }\n}\n/**\n * Set max width of each label, and then wrap each label to the max width.\n *\n * @param layout label layout\n * @param availableWidth max width for the label to display\n * @param forceRecalculate recaculate the text layout even if the current width\n * is smaller than `availableWidth`. This is useful when the text was previously\n * wrapped by calling `constrainTextWidth` but now `availableWidth` changed, in\n * which case, previous wrapping should be redo.\n */\n\n\nfunction constrainTextWidth(layout, availableWidth, forceRecalculate) {\n  if (forceRecalculate === void 0) {\n    forceRecalculate = false;\n  }\n\n  if (layout.labelStyleWidth != null) {\n    // User-defined style.width has the highest priority.\n    return;\n  }\n\n  var label = layout.label;\n  var style = label.style;\n  var textRect = layout.rect;\n  var bgColor = style.backgroundColor;\n  var padding = style.padding;\n  var paddingH = padding ? padding[1] + padding[3] : 0;\n  var overflow = style.overflow; // textRect.width already contains paddingH if bgColor is set\n\n  var oldOuterWidth = textRect.width + (bgColor ? 0 : paddingH);\n\n  if (availableWidth < oldOuterWidth || forceRecalculate) {\n    var oldHeight = textRect.height;\n\n    if (overflow && overflow.match('break')) {\n      // Temporarily set background to be null to calculate\n      // the bounding box without backgroud.\n      label.setStyle('backgroundColor', null); // Set constraining width\n\n      label.setStyle('width', availableWidth - paddingH); // This is the real bounding box of the text without padding\n\n      var innerRect = label.getBoundingRect();\n      label.setStyle('width', Math.ceil(innerRect.width));\n      label.setStyle('backgroundColor', bgColor);\n    } else {\n      var availableInnerWidth = availableWidth - paddingH;\n      var newWidth = availableWidth < oldOuterWidth // Current text is too wide, use `availableWidth` as max width.\n      ? availableInnerWidth : // Current available width is enough, but the text may have\n      // already been wrapped with a smaller available width.\n      forceRecalculate ? availableInnerWidth > layout.unconstrainedWidth // Current available is larger than text width,\n      // so don't constrain width (otherwise it may have\n      // empty space in the background).\n      ? null // Current available is smaller than text width, so\n      // use the current available width as constraining\n      // width.\n      : availableInnerWidth : // Current available width is enough, so no need to\n      // constrain.\n      null;\n      label.setStyle('width', newWidth);\n    }\n\n    var newRect = label.getBoundingRect();\n    textRect.width = newRect.width;\n    var margin = (label.style.margin || 0) + 2.1;\n    textRect.height = newRect.height + margin;\n    textRect.y -= (textRect.height - oldHeight) / 2;\n  }\n}\n\nfunction isPositionCenter(sectorShape) {\n  // Not change x for center label\n  return sectorShape.position === 'center';\n}\n\nfunction pieLabelLayout(seriesModel) {\n  var data = seriesModel.getData();\n  var labelLayoutList = [];\n  var cx;\n  var cy;\n  var hasLabelRotate = false;\n  var minShowLabelRadian = (seriesModel.get('minShowLabelAngle') || 0) * RADIAN;\n  var viewRect = data.getLayout('viewRect');\n  var r = data.getLayout('r');\n  var viewWidth = viewRect.width;\n  var viewLeft = viewRect.x;\n  var viewTop = viewRect.y;\n  var viewHeight = viewRect.height;\n\n  function setNotShow(el) {\n    el.ignore = true;\n  }\n\n  function isLabelShown(label) {\n    if (!label.ignore) {\n      return true;\n    }\n\n    for (var key in label.states) {\n      if (label.states[key].ignore === false) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  data.each(function (idx) {\n    var sector = data.getItemGraphicEl(idx);\n    var sectorShape = sector.shape;\n    var label = sector.getTextContent();\n    var labelLine = sector.getTextGuideLine();\n    var itemModel = data.getItemModel(idx);\n    var labelModel = itemModel.getModel('label'); // Use position in normal or emphasis\n\n    var labelPosition = labelModel.get('position') || itemModel.get(['emphasis', 'label', 'position']);\n    var labelDistance = labelModel.get('distanceToLabelLine');\n    var labelAlignTo = labelModel.get('alignTo');\n    var edgeDistance = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(labelModel.get('edgeDistance'), viewWidth);\n    var bleedMargin = labelModel.get('bleedMargin');\n    var labelLineModel = itemModel.getModel('labelLine');\n    var labelLineLen = labelLineModel.get('length');\n    labelLineLen = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(labelLineLen, viewWidth);\n    var labelLineLen2 = labelLineModel.get('length2');\n    labelLineLen2 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(labelLineLen2, viewWidth);\n\n    if (Math.abs(sectorShape.endAngle - sectorShape.startAngle) < minShowLabelRadian) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(label.states, setNotShow);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(labelLine.states, setNotShow);\n      label.ignore = labelLine.ignore = true;\n      return;\n    }\n\n    if (!isLabelShown(label)) {\n      return;\n    }\n\n    var midAngle = (sectorShape.startAngle + sectorShape.endAngle) / 2;\n    var nx = Math.cos(midAngle);\n    var ny = Math.sin(midAngle);\n    var textX;\n    var textY;\n    var linePoints;\n    var textAlign;\n    cx = sectorShape.cx;\n    cy = sectorShape.cy;\n    var isLabelInside = labelPosition === 'inside' || labelPosition === 'inner';\n\n    if (labelPosition === 'center') {\n      textX = sectorShape.cx;\n      textY = sectorShape.cy;\n      textAlign = 'center';\n    } else {\n      var x1 = (isLabelInside ? (sectorShape.r + sectorShape.r0) / 2 * nx : sectorShape.r * nx) + cx;\n      var y1 = (isLabelInside ? (sectorShape.r + sectorShape.r0) / 2 * ny : sectorShape.r * ny) + cy;\n      textX = x1 + nx * 3;\n      textY = y1 + ny * 3;\n\n      if (!isLabelInside) {\n        // For roseType\n        var x2 = x1 + nx * (labelLineLen + r - sectorShape.r);\n        var y2 = y1 + ny * (labelLineLen + r - sectorShape.r);\n        var x3 = x2 + (nx < 0 ? -1 : 1) * labelLineLen2;\n        var y3 = y2;\n\n        if (labelAlignTo === 'edge') {\n          // Adjust textX because text align of edge is opposite\n          textX = nx < 0 ? viewLeft + edgeDistance : viewLeft + viewWidth - edgeDistance;\n        } else {\n          textX = x3 + (nx < 0 ? -labelDistance : labelDistance);\n        }\n\n        textY = y3;\n        linePoints = [[x1, y1], [x2, y2], [x3, y3]];\n      }\n\n      textAlign = isLabelInside ? 'center' : labelAlignTo === 'edge' ? nx > 0 ? 'right' : 'left' : nx > 0 ? 'left' : 'right';\n    }\n\n    var PI = Math.PI;\n    var labelRotate = 0;\n    var rotate = labelModel.get('rotate');\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(rotate)) {\n      labelRotate = rotate * (PI / 180);\n    } else if (labelPosition === 'center') {\n      labelRotate = 0;\n    } else if (rotate === 'radial' || rotate === true) {\n      var radialAngle = nx < 0 ? -midAngle + PI : -midAngle;\n      labelRotate = radialAngle;\n    } else if (rotate === 'tangential' && labelPosition !== 'outside' && labelPosition !== 'outer') {\n      var rad = Math.atan2(nx, ny);\n\n      if (rad < 0) {\n        rad = PI * 2 + rad;\n      }\n\n      var isDown = ny > 0;\n\n      if (isDown) {\n        rad = PI + rad;\n      }\n\n      labelRotate = rad - PI;\n    }\n\n    hasLabelRotate = !!labelRotate;\n    label.x = textX;\n    label.y = textY;\n    label.rotation = labelRotate;\n    label.setStyle({\n      verticalAlign: 'middle'\n    }); // Not sectorShape the inside label\n\n    if (!isLabelInside) {\n      var textRect = label.getBoundingRect().clone();\n      textRect.applyTransform(label.getComputedTransform()); // Text has a default 1px stroke. Exclude this.\n\n      var margin = (label.style.margin || 0) + 2.1;\n      textRect.y -= margin / 2;\n      textRect.height += margin;\n      labelLayoutList.push({\n        label: label,\n        labelLine: labelLine,\n        position: labelPosition,\n        len: labelLineLen,\n        len2: labelLineLen2,\n        minTurnAngle: labelLineModel.get('minTurnAngle'),\n        maxSurfaceAngle: labelLineModel.get('maxSurfaceAngle'),\n        surfaceNormal: new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Point\"](nx, ny),\n        linePoints: linePoints,\n        textAlign: textAlign,\n        labelDistance: labelDistance,\n        labelAlignTo: labelAlignTo,\n        edgeDistance: edgeDistance,\n        bleedMargin: bleedMargin,\n        rect: textRect,\n        unconstrainedWidth: textRect.width,\n        labelStyleWidth: label.style.width\n      });\n    } else {\n      label.setStyle({\n        align: textAlign\n      });\n      var selectState = label.states.select;\n\n      if (selectState) {\n        selectState.x += label.x;\n        selectState.y += label.y;\n      }\n    }\n\n    sector.setTextConfig({\n      inside: isLabelInside\n    });\n  });\n\n  if (!hasLabelRotate && seriesModel.get('avoidLabelOverlap')) {\n    avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop);\n  }\n\n  for (var i = 0; i < labelLayoutList.length; i++) {\n    var layout = labelLayoutList[i];\n    var label = layout.label;\n    var labelLine = layout.labelLine;\n    var notShowLabel = isNaN(label.x) || isNaN(label.y);\n\n    if (label) {\n      label.setStyle({\n        align: layout.textAlign\n      });\n\n      if (notShowLabel) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(label.states, setNotShow);\n        label.ignore = true;\n      }\n\n      var selectState = label.states.select;\n\n      if (selectState) {\n        selectState.x += label.x;\n        selectState.y += label.y;\n      }\n    }\n\n    if (labelLine) {\n      var linePoints = layout.linePoints;\n\n      if (notShowLabel || !linePoints) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(labelLine.states, setNotShow);\n        labelLine.ignore = true;\n      } else {\n        Object(_label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"limitTurnAngle\"])(linePoints, layout.minTurnAngle);\n        Object(_label_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"limitSurfaceAngle\"])(linePoints, layout.surfaceNormal, layout.maxSurfaceAngle);\n        labelLine.setShape({\n          points: linePoints\n        }); // Set the anchor to the midpoint of sector\n\n        label.__hostTarget.textGuideLineConfig = {\n          anchor: new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Point\"](linePoints[0][0], linePoints[0][1])\n        };\n      }\n    }\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/labelLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/pie/pieLayout.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/pie/pieLayout.js ***!
  \*********************************************************/
/*! exports provided: getBasicPieLayout, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBasicPieLayout\", function() { return getBasicPieLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pieLayout; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar PI2 = Math.PI * 2;\nvar RADIAN = Math.PI / 180;\n\nfunction getViewRect(seriesModel, api) {\n  return _util_layout_js__WEBPACK_IMPORTED_MODULE_1__[\"getLayoutRect\"](seriesModel.getBoxLayoutParams(), {\n    width: api.getWidth(),\n    height: api.getHeight()\n  });\n}\n\nfunction getBasicPieLayout(seriesModel, api) {\n  var viewRect = getViewRect(seriesModel, api);\n  var center = seriesModel.get('center');\n  var radius = seriesModel.get('radius');\n\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"](radius)) {\n    radius = [0, radius];\n  }\n\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"](center)) {\n    center = [center, center];\n  }\n\n  var width = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(viewRect.width, api.getWidth());\n  var height = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(viewRect.height, api.getHeight());\n  var size = Math.min(width, height);\n  var r0 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(radius[0], size / 2);\n  var r = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(radius[1], size / 2);\n  var cx;\n  var cy;\n  var coordSys = seriesModel.coordinateSystem;\n\n  if (coordSys) {\n    // percentage is not allowed when coordinate system is specified\n    var point = coordSys.dataToPoint(center);\n    cx = point[0] || 0;\n    cy = point[1] || 0;\n  } else {\n    cx = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(center[0], width) + viewRect.x;\n    cy = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(center[1], height) + viewRect.y;\n  }\n\n  return {\n    cx: cx,\n    cy: cy,\n    r0: r0,\n    r: r\n  };\n}\nfunction pieLayout(seriesType, ecModel, api) {\n  ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n    var data = seriesModel.getData();\n    var valueDim = data.mapDimension('value');\n    var viewRect = getViewRect(seriesModel, api);\n\n    var _a = getBasicPieLayout(seriesModel, api),\n        cx = _a.cx,\n        cy = _a.cy,\n        r = _a.r,\n        r0 = _a.r0;\n\n    var startAngle = -seriesModel.get('startAngle') * RADIAN;\n    var minAngle = seriesModel.get('minAngle') * RADIAN;\n    var validDataCount = 0;\n    data.each(valueDim, function (value) {\n      !isNaN(value) && validDataCount++;\n    });\n    var sum = data.getSum(valueDim); // Sum may be 0\n\n    var unitRadian = Math.PI / (sum || validDataCount) * 2;\n    var clockwise = seriesModel.get('clockwise');\n    var roseType = seriesModel.get('roseType');\n    var stillShowZeroSum = seriesModel.get('stillShowZeroSum'); // [0...max]\n\n    var extent = data.getDataExtent(valueDim);\n    extent[0] = 0; // In the case some sector angle is smaller than minAngle\n\n    var restAngle = PI2;\n    var valueSumLargerThanMinAngle = 0;\n    var currentAngle = startAngle;\n    var dir = clockwise ? 1 : -1;\n    data.setLayout({\n      viewRect: viewRect,\n      r: r\n    });\n    data.each(valueDim, function (value, idx) {\n      var angle;\n\n      if (isNaN(value)) {\n        data.setItemLayout(idx, {\n          angle: NaN,\n          startAngle: NaN,\n          endAngle: NaN,\n          clockwise: clockwise,\n          cx: cx,\n          cy: cy,\n          r0: r0,\n          r: roseType ? NaN : r\n        });\n        return;\n      } // FIXME 兼容 2.0 但是 roseType 是 area 的时候才是这样？\n\n\n      if (roseType !== 'area') {\n        angle = sum === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;\n      } else {\n        angle = PI2 / validDataCount;\n      }\n\n      if (angle < minAngle) {\n        angle = minAngle;\n        restAngle -= minAngle;\n      } else {\n        valueSumLargerThanMinAngle += value;\n      }\n\n      var endAngle = currentAngle + dir * angle;\n      data.setItemLayout(idx, {\n        angle: angle,\n        startAngle: currentAngle,\n        endAngle: endAngle,\n        clockwise: clockwise,\n        cx: cx,\n        cy: cy,\n        r0: r0,\n        r: roseType ? Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"linearMap\"])(value, extent, [r0, r]) : r\n      });\n      currentAngle = endAngle;\n    }); // Some sector is constrained by minAngle\n    // Rest sectors needs recalculate angle\n\n    if (restAngle < PI2 && validDataCount) {\n      // Average the angle if rest angle is not enough after all angles is\n      // Constrained by minAngle\n      if (restAngle <= 1e-3) {\n        var angle_1 = PI2 / validDataCount;\n        data.each(valueDim, function (value, idx) {\n          if (!isNaN(value)) {\n            var layout_1 = data.getItemLayout(idx);\n            layout_1.angle = angle_1;\n            layout_1.startAngle = startAngle + dir * idx * angle_1;\n            layout_1.endAngle = startAngle + dir * (idx + 1) * angle_1;\n          }\n        });\n      } else {\n        unitRadian = restAngle / valueSumLargerThanMinAngle;\n        currentAngle = startAngle;\n        data.each(valueDim, function (value, idx) {\n          if (!isNaN(value)) {\n            var layout_2 = data.getItemLayout(idx);\n            var angle = layout_2.angle === minAngle ? minAngle : value * unitRadian;\n            layout_2.startAngle = currentAngle;\n            layout_2.endAngle = currentAngle + dir * angle;\n            currentAngle += dir * angle;\n          }\n        });\n      }\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/pieLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/radar/RadarSeries.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/radar/RadarSeries.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createSeriesDataSimply.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../visual/LegendVisualProvider.js */ \"./node_modules/echarts/lib/visual/LegendVisualProvider.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar RadarSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadarSeriesModel, _super);\n\n  function RadarSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = RadarSeriesModel.type;\n    _this.hasSymbolVisual = true;\n    return _this;\n  } // Overwrite\n\n\n  RadarSeriesModel.prototype.init = function (option) {\n    _super.prototype.init.apply(this, arguments); // Enable legend selection for each data item\n    // Use a function instead of direct access because data reference may changed\n\n\n    this.legendVisualProvider = new _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"bind\"](this.getData, this), zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"bind\"](this.getRawData, this));\n  };\n\n  RadarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesDataSimply_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, {\n      generateCoord: 'indicator_',\n      generateCoordCount: Infinity\n    });\n  };\n\n  RadarSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    var data = this.getData();\n    var coordSys = this.coordinateSystem;\n    var indicatorAxes = coordSys.getIndicatorAxes();\n    var name = this.getData().getName(dataIndex);\n    var nameToDisplay = name === '' ? this.name : name;\n    var markerColor = Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_5__[\"retrieveVisualColorForTooltipMarker\"])(this, dataIndex);\n    return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_5__[\"createTooltipMarkup\"])('section', {\n      header: nameToDisplay,\n      sortBlocks: true,\n      blocks: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"](indicatorAxes, function (axis) {\n        var val = data.get(data.mapDimension(axis.dim), dataIndex);\n        return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_5__[\"createTooltipMarkup\"])('nameValue', {\n          markerType: 'subItem',\n          markerColor: markerColor,\n          name: axis.name,\n          value: val,\n          sortParam: val\n        });\n      })\n    });\n  };\n\n  RadarSeriesModel.prototype.getTooltipPosition = function (dataIndex) {\n    if (dataIndex != null) {\n      var data_1 = this.getData();\n      var coordSys = this.coordinateSystem;\n      var values = data_1.getValues(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"](coordSys.dimensions, function (dim) {\n        return data_1.mapDimension(dim);\n      }), dataIndex);\n\n      for (var i = 0, len = values.length; i < len; i++) {\n        if (!isNaN(values[i])) {\n          var indicatorAxes = coordSys.getIndicatorAxes();\n          return coordSys.coordToPoint(indicatorAxes[i].dataToCoord(values[i]), i);\n        }\n      }\n    }\n  };\n\n  RadarSeriesModel.type = 'series.radar';\n  RadarSeriesModel.dependencies = ['radar'];\n  RadarSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    colorBy: 'data',\n    coordinateSystem: 'radar',\n    legendHoverLink: true,\n    radarIndex: 0,\n    lineStyle: {\n      width: 2,\n      type: 'solid',\n      join: 'round'\n    },\n    label: {\n      position: 'top'\n    },\n    // areaStyle: {\n    // },\n    // itemStyle: {}\n    symbolSize: 8 // symbolRotate: null\n\n  };\n  return RadarSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadarSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/radar/RadarSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/radar/RadarView.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/radar/RadarView.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\nvar RadarView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadarView, _super);\n\n  function RadarView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = RadarView.type;\n    return _this;\n  }\n\n  RadarView.prototype.render = function (seriesModel, ecModel, api) {\n    var polar = seriesModel.coordinateSystem;\n    var group = this.group;\n    var data = seriesModel.getData();\n    var oldData = this._data;\n\n    function createSymbol(data, idx) {\n      var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n\n      if (symbolType === 'none') {\n        return;\n      }\n\n      var symbolSize = _util_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"normalizeSymbolSize\"](data.getItemVisual(idx, 'symbolSize'));\n      var symbolPath = _util_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"createSymbol\"](symbolType, -1, -1, 2, 2);\n      var symbolRotate = data.getItemVisual(idx, 'symbolRotate') || 0;\n      symbolPath.attr({\n        style: {\n          strokeNoScale: true\n        },\n        z2: 100,\n        scaleX: symbolSize[0] / 2,\n        scaleY: symbolSize[1] / 2,\n        rotation: symbolRotate * Math.PI / 180 || 0\n      });\n      return symbolPath;\n    }\n\n    function updateSymbols(oldPoints, newPoints, symbolGroup, data, idx, isInit) {\n      // Simply rerender all\n      symbolGroup.removeAll();\n\n      for (var i = 0; i < newPoints.length - 1; i++) {\n        var symbolPath = createSymbol(data, idx);\n\n        if (symbolPath) {\n          symbolPath.__dimIdx = i;\n\n          if (oldPoints[i]) {\n            symbolPath.setPosition(oldPoints[i]);\n            _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[isInit ? 'initProps' : 'updateProps'](symbolPath, {\n              x: newPoints[i][0],\n              y: newPoints[i][1]\n            }, seriesModel, idx);\n          } else {\n            symbolPath.setPosition(newPoints[i]);\n          }\n\n          symbolGroup.add(symbolPath);\n        }\n      }\n    }\n\n    function getInitialPoints(points) {\n      return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"](points, function (pt) {\n        return [polar.cx, polar.cy];\n      });\n    }\n\n    data.diff(oldData).add(function (idx) {\n      var points = data.getItemLayout(idx);\n\n      if (!points) {\n        return;\n      }\n\n      var polygon = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Polygon\"]();\n      var polyline = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Polyline\"]();\n      var target = {\n        shape: {\n          points: points\n        }\n      };\n      polygon.shape.points = getInitialPoints(points);\n      polyline.shape.points = getInitialPoints(points);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"initProps\"](polygon, target, seriesModel, idx);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"initProps\"](polyline, target, seriesModel, idx);\n      var itemGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n      var symbolGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n      itemGroup.add(polyline);\n      itemGroup.add(polygon);\n      itemGroup.add(symbolGroup);\n      updateSymbols(polyline.shape.points, points, symbolGroup, data, idx, true);\n      data.setItemGraphicEl(idx, itemGroup);\n    }).update(function (newIdx, oldIdx) {\n      var itemGroup = oldData.getItemGraphicEl(oldIdx);\n      var polyline = itemGroup.childAt(0);\n      var polygon = itemGroup.childAt(1);\n      var symbolGroup = itemGroup.childAt(2);\n      var target = {\n        shape: {\n          points: data.getItemLayout(newIdx)\n        }\n      };\n\n      if (!target.shape.points) {\n        return;\n      }\n\n      updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data, newIdx, false);\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"saveOldStyle\"])(polygon);\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"saveOldStyle\"])(polyline);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](polyline, target, seriesModel);\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](polygon, target, seriesModel);\n      data.setItemGraphicEl(newIdx, itemGroup);\n    }).remove(function (idx) {\n      group.remove(oldData.getItemGraphicEl(idx));\n    }).execute();\n    data.eachItemGraphicEl(function (itemGroup, idx) {\n      var itemModel = data.getItemModel(idx);\n      var polyline = itemGroup.childAt(0);\n      var polygon = itemGroup.childAt(1);\n      var symbolGroup = itemGroup.childAt(2); // Radar uses the visual encoded from itemStyle.\n\n      var itemStyle = data.getItemVisual(idx, 'style');\n      var color = itemStyle.fill;\n      group.add(itemGroup);\n      polyline.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"defaults\"](itemModel.getModel('lineStyle').getLineStyle(), {\n        fill: 'none',\n        stroke: color\n      }));\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"setStatesStylesFromModel\"])(polyline, itemModel, 'lineStyle');\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"setStatesStylesFromModel\"])(polygon, itemModel, 'areaStyle');\n      var areaStyleModel = itemModel.getModel('areaStyle');\n      var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();\n      polygon.ignore = polygonIgnore;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"](['emphasis', 'select', 'blur'], function (stateName) {\n        var stateModel = itemModel.getModel([stateName, 'areaStyle']);\n        var stateIgnore = stateModel.isEmpty() && stateModel.parentModel.isEmpty(); // Won't be ignore if normal state is not ignore.\n\n        polygon.ensureState(stateName).ignore = stateIgnore && polygonIgnore;\n      });\n      polygon.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"defaults\"](areaStyleModel.getAreaStyle(), {\n        fill: color,\n        opacity: 0.7,\n        decal: itemStyle.decal\n      }));\n      var emphasisModel = itemModel.getModel('emphasis');\n      var itemHoverStyle = emphasisModel.getModel('itemStyle').getItemStyle();\n      symbolGroup.eachChild(function (symbolPath) {\n        if (symbolPath instanceof zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]) {\n          var pathStyle = symbolPath.style;\n          symbolPath.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"]({\n            // TODO other properties like x, y ?\n            image: pathStyle.image,\n            x: pathStyle.x,\n            y: pathStyle.y,\n            width: pathStyle.width,\n            height: pathStyle.height\n          }, itemStyle));\n        } else {\n          symbolPath.useStyle(itemStyle);\n          symbolPath.setColor(color);\n          symbolPath.style.strokeNoScale = true;\n        }\n\n        var pathEmphasisState = symbolPath.ensureState('emphasis');\n        pathEmphasisState.style = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"clone\"](itemHoverStyle);\n        var defaultText = data.getStore().get(data.getDimensionIndex(symbolPath.__dimIdx), idx);\n        (defaultText == null || isNaN(defaultText)) && (defaultText = '');\n        Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_6__[\"setLabelStyle\"])(symbolPath, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_6__[\"getLabelStatesModels\"])(itemModel), {\n          labelFetcher: data.hostModel,\n          labelDataIndex: idx,\n          labelDimIndex: symbolPath.__dimIdx,\n          defaultText: defaultText,\n          inheritColor: color,\n          defaultOpacity: itemStyle.opacity\n        });\n      });\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(itemGroup, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n    });\n    this._data = data;\n  };\n\n  RadarView.prototype.remove = function () {\n    this.group.removeAll();\n    this._data = null;\n  };\n\n  RadarView.type = 'radar';\n  return RadarView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadarView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/radar/RadarView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/radar/backwardCompat.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/radar/backwardCompat.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return radarBackwardCompat; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n// Backward compat for radar chart in 2\n\nfunction radarBackwardCompat(option) {\n  var polarOptArr = option.polar;\n\n  if (polarOptArr) {\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](polarOptArr)) {\n      polarOptArr = [polarOptArr];\n    }\n\n    var polarNotRadar_1 = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](polarOptArr, function (polarOpt, idx) {\n      if (polarOpt.indicator) {\n        if (polarOpt.type && !polarOpt.shape) {\n          polarOpt.shape = polarOpt.type;\n        }\n\n        option.radar = option.radar || [];\n\n        if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](option.radar)) {\n          option.radar = [option.radar];\n        }\n\n        option.radar.push(polarOpt);\n      } else {\n        polarNotRadar_1.push(polarOpt);\n      }\n    });\n    option.polar = polarNotRadar_1;\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](option.series, function (seriesOpt) {\n    if (seriesOpt && seriesOpt.type === 'radar' && seriesOpt.polarIndex) {\n      seriesOpt.radarIndex = seriesOpt.polarIndex;\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/radar/backwardCompat.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/radar/install.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/radar/install.js ***!
  \*********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _radar_radarLayout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../radar/radarLayout.js */ \"./node_modules/echarts/lib/chart/radar/radarLayout.js\");\n/* harmony import */ var _processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../processor/dataFilter.js */ \"./node_modules/echarts/lib/processor/dataFilter.js\");\n/* harmony import */ var _radar_backwardCompat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../radar/backwardCompat.js */ \"./node_modules/echarts/lib/chart/radar/backwardCompat.js\");\n/* harmony import */ var _RadarView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RadarView.js */ \"./node_modules/echarts/lib/chart/radar/RadarView.js\");\n/* harmony import */ var _RadarSeries_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RadarSeries.js */ \"./node_modules/echarts/lib/chart/radar/RadarSeries.js\");\n/* harmony import */ var _component_radar_install_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../component/radar/install.js */ \"./node_modules/echarts/lib/component/radar/install.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_component_radar_install_js__WEBPACK_IMPORTED_MODULE_6__[\"install\"]);\n  registers.registerChartView(_RadarView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  registers.registerSeriesModel(_RadarSeries_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  registers.registerLayout(_radar_radarLayout_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerProcessor(Object(_processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('radar'));\n  registers.registerPreprocessor(_radar_backwardCompat_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/radar/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/radar/radarLayout.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/radar/radarLayout.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return radarLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction radarLayout(ecModel) {\n  ecModel.eachSeriesByType('radar', function (seriesModel) {\n    var data = seriesModel.getData();\n    var points = [];\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (!coordSys) {\n      return;\n    }\n\n    var axes = coordSys.getIndicatorAxes();\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](axes, function (axis, axisIndex) {\n      data.each(data.mapDimension(axes[axisIndex].dim), function (val, dataIndex) {\n        points[dataIndex] = points[dataIndex] || [];\n        var point = coordSys.dataToPoint(val, axisIndex);\n        points[dataIndex][axisIndex] = isValidPoint(point) ? point : getValueMissingPoint(coordSys);\n      });\n    }); // Close polygon\n\n    data.each(function (idx) {\n      // TODO\n      // Is it appropriate to connect to the next data when some data is missing?\n      // Or, should trade it like `connectNull` in line chart?\n      var firstPoint = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"find\"](points[idx], function (point) {\n        return isValidPoint(point);\n      }) || getValueMissingPoint(coordSys); // Copy the first actual point to the end of the array\n\n      points[idx].push(firstPoint.slice());\n      data.setItemLayout(idx, points[idx]);\n    });\n  });\n}\n\nfunction isValidPoint(point) {\n  return !isNaN(point[0]) && !isNaN(point[1]);\n}\n\nfunction getValueMissingPoint(coordSys) {\n  // It is error-prone to input [NaN, NaN] into polygon, polygon.\n  // (probably cause problem when refreshing or animating)\n  return [coordSys.cx, coordSys.cy];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/radar/radarLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sankey/SankeySeries.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sankey/SankeySeries.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _helper_createGraphFromNodeEdge_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/createGraphFromNodeEdge.js */ \"./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar SankeySeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SankeySeriesModel, _super);\n\n  function SankeySeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SankeySeriesModel.type;\n    return _this;\n  }\n  /**\n   * Init a graph data structure from data in option series\n   */\n\n\n  SankeySeriesModel.prototype.getInitialData = function (option, ecModel) {\n    var links = option.edges || option.links;\n    var nodes = option.data || option.nodes;\n    var levels = option.levels;\n    this.levelModels = [];\n    var levelModels = this.levelModels;\n\n    for (var i = 0; i < levels.length; i++) {\n      if (levels[i].depth != null && levels[i].depth >= 0) {\n        levelModels[levels[i].depth] = new _model_Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](levels[i], this, ecModel);\n      } else {\n        if (true) {\n          throw new Error('levels[i].depth is mandatory and should be natural number');\n        }\n      }\n    }\n\n    if (nodes && links) {\n      var graph = Object(_helper_createGraphFromNodeEdge_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(nodes, links, this, true, beforeLink);\n      return graph.data;\n    }\n\n    function beforeLink(nodeData, edgeData) {\n      nodeData.wrapMethod('getItemModel', function (model, idx) {\n        var seriesModel = model.parentModel;\n        var layout = seriesModel.getData().getItemLayout(idx);\n\n        if (layout) {\n          var nodeDepth = layout.depth;\n          var levelModel = seriesModel.levelModels[nodeDepth];\n\n          if (levelModel) {\n            model.parentModel = levelModel;\n          }\n        }\n\n        return model;\n      });\n      edgeData.wrapMethod('getItemModel', function (model, idx) {\n        var seriesModel = model.parentModel;\n        var edge = seriesModel.getGraph().getEdgeByIndex(idx);\n        var layout = edge.node1.getLayout();\n\n        if (layout) {\n          var depth = layout.depth;\n          var levelModel = seriesModel.levelModels[depth];\n\n          if (levelModel) {\n            model.parentModel = levelModel;\n          }\n        }\n\n        return model;\n      });\n    }\n  };\n\n  SankeySeriesModel.prototype.setNodePosition = function (dataIndex, localPosition) {\n    var nodes = this.option.data || this.option.nodes;\n    var dataItem = nodes[dataIndex];\n    dataItem.localX = localPosition[0];\n    dataItem.localY = localPosition[1];\n  };\n  /**\n   * Return the graphic data structure\n   *\n   * @return graphic data structure\n   */\n\n\n  SankeySeriesModel.prototype.getGraph = function () {\n    return this.getData().graph;\n  };\n  /**\n   * Get edge data of graphic data structure\n   *\n   * @return data structure of list\n   */\n\n\n  SankeySeriesModel.prototype.getEdgeData = function () {\n    return this.getGraph().edgeData;\n  };\n\n  SankeySeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    function noValue(val) {\n      return isNaN(val) || val == null;\n    } // dataType === 'node' or empty do not show tooltip by default\n\n\n    if (dataType === 'edge') {\n      var params = this.getDataParams(dataIndex, dataType);\n      var rawDataOpt = params.data;\n      var edgeValue = params.value;\n      var edgeName = rawDataOpt.source + ' -- ' + rawDataOpt.target;\n      return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_4__[\"createTooltipMarkup\"])('nameValue', {\n        name: edgeName,\n        value: edgeValue,\n        noValue: noValue(edgeValue)\n      });\n    } // dataType === 'node'\n    else {\n        var node = this.getGraph().getNodeByIndex(dataIndex);\n        var value = node.getLayout().value;\n        var name_1 = this.getDataParams(dataIndex, dataType).data.name;\n        return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_4__[\"createTooltipMarkup\"])('nameValue', {\n          name: name_1 != null ? name_1 + '' : null,\n          value: value,\n          noValue: noValue(value)\n        });\n      }\n  };\n\n  SankeySeriesModel.prototype.optionUpdated = function () {}; // Override Series.getDataParams()\n\n\n  SankeySeriesModel.prototype.getDataParams = function (dataIndex, dataType) {\n    var params = _super.prototype.getDataParams.call(this, dataIndex, dataType);\n\n    if (params.value == null && dataType === 'node') {\n      var node = this.getGraph().getNodeByIndex(dataIndex);\n      var nodeValue = node.getLayout().value;\n      params.value = nodeValue;\n    }\n\n    return params;\n  };\n\n  SankeySeriesModel.type = 'series.sankey';\n  SankeySeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'view',\n    left: '5%',\n    top: '5%',\n    right: '20%',\n    bottom: '5%',\n    orient: 'horizontal',\n    nodeWidth: 20,\n    nodeGap: 8,\n    draggable: true,\n    layoutIterations: 32,\n    label: {\n      show: true,\n      position: 'right',\n      fontSize: 12\n    },\n    levels: [],\n    nodeAlign: 'justify',\n    lineStyle: {\n      color: '#314656',\n      opacity: 0.2,\n      curveness: 0.5\n    },\n    emphasis: {\n      label: {\n        show: true\n      },\n      lineStyle: {\n        opacity: 0.5\n      }\n    },\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    },\n    animationEasing: 'linear',\n    animationDuration: 1000\n  };\n  return SankeySeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SankeySeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/SankeySeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sankey/SankeyView.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sankey/SankeyView.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar SankeyPathShape =\n/** @class */\nfunction () {\n  function SankeyPathShape() {\n    this.x1 = 0;\n    this.y1 = 0;\n    this.x2 = 0;\n    this.y2 = 0;\n    this.cpx1 = 0;\n    this.cpy1 = 0;\n    this.cpx2 = 0;\n    this.cpy2 = 0;\n    this.extent = 0;\n  }\n\n  return SankeyPathShape;\n}();\n\nvar SankeyPath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SankeyPath, _super);\n\n  function SankeyPath(opts) {\n    return _super.call(this, opts) || this;\n  }\n\n  SankeyPath.prototype.getDefaultShape = function () {\n    return new SankeyPathShape();\n  };\n\n  SankeyPath.prototype.buildPath = function (ctx, shape) {\n    var extent = shape.extent;\n    ctx.moveTo(shape.x1, shape.y1);\n    ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);\n\n    if (shape.orient === 'vertical') {\n      ctx.lineTo(shape.x2 + extent, shape.y2);\n      ctx.bezierCurveTo(shape.cpx2 + extent, shape.cpy2, shape.cpx1 + extent, shape.cpy1, shape.x1 + extent, shape.y1);\n    } else {\n      ctx.lineTo(shape.x2, shape.y2 + extent);\n      ctx.bezierCurveTo(shape.cpx2, shape.cpy2 + extent, shape.cpx1, shape.cpy1 + extent, shape.x1, shape.y1 + extent);\n    }\n\n    ctx.closePath();\n  };\n\n  SankeyPath.prototype.highlight = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"enterEmphasis\"])(this);\n  };\n\n  SankeyPath.prototype.downplay = function () {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"leaveEmphasis\"])(this);\n  };\n\n  return SankeyPath;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]);\n\nvar SankeyView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SankeyView, _super);\n\n  function SankeyView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SankeyView.type;\n    _this._focusAdjacencyDisabled = false;\n    return _this;\n  }\n\n  SankeyView.prototype.render = function (seriesModel, ecModel, api) {\n    var sankeyView = this;\n    var graph = seriesModel.getGraph();\n    var group = this.group;\n    var layoutInfo = seriesModel.layoutInfo; // view width\n\n    var width = layoutInfo.width; // view height\n\n    var height = layoutInfo.height;\n    var nodeData = seriesModel.getData();\n    var edgeData = seriesModel.getData('edge');\n    var orient = seriesModel.get('orient');\n    this._model = seriesModel;\n    group.removeAll();\n    group.x = layoutInfo.x;\n    group.y = layoutInfo.y; // generate a bezire Curve for each edge\n\n    graph.eachEdge(function (edge) {\n      var curve = new SankeyPath();\n      var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(curve);\n      ecData.dataIndex = edge.dataIndex;\n      ecData.seriesIndex = seriesModel.seriesIndex;\n      ecData.dataType = 'edge';\n      var edgeModel = edge.getModel();\n      var lineStyleModel = edgeModel.getModel('lineStyle');\n      var curvature = lineStyleModel.get('curveness');\n      var n1Layout = edge.node1.getLayout();\n      var node1Model = edge.node1.getModel();\n      var dragX1 = node1Model.get('localX');\n      var dragY1 = node1Model.get('localY');\n      var n2Layout = edge.node2.getLayout();\n      var node2Model = edge.node2.getModel();\n      var dragX2 = node2Model.get('localX');\n      var dragY2 = node2Model.get('localY');\n      var edgeLayout = edge.getLayout();\n      var x1;\n      var y1;\n      var x2;\n      var y2;\n      var cpx1;\n      var cpy1;\n      var cpx2;\n      var cpy2;\n      curve.shape.extent = Math.max(1, edgeLayout.dy);\n      curve.shape.orient = orient;\n\n      if (orient === 'vertical') {\n        x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + edgeLayout.sy;\n        y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + n1Layout.dy;\n        x2 = (dragX2 != null ? dragX2 * width : n2Layout.x) + edgeLayout.ty;\n        y2 = dragY2 != null ? dragY2 * height : n2Layout.y;\n        cpx1 = x1;\n        cpy1 = y1 * (1 - curvature) + y2 * curvature;\n        cpx2 = x2;\n        cpy2 = y1 * curvature + y2 * (1 - curvature);\n      } else {\n        x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + n1Layout.dx;\n        y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + edgeLayout.sy;\n        x2 = dragX2 != null ? dragX2 * width : n2Layout.x;\n        y2 = (dragY2 != null ? dragY2 * height : n2Layout.y) + edgeLayout.ty;\n        cpx1 = x1 * (1 - curvature) + x2 * curvature;\n        cpy1 = y1;\n        cpx2 = x1 * curvature + x2 * (1 - curvature);\n        cpy2 = y2;\n      }\n\n      curve.setShape({\n        x1: x1,\n        y1: y1,\n        x2: x2,\n        y2: y2,\n        cpx1: cpx1,\n        cpy1: cpy1,\n        cpx2: cpx2,\n        cpy2: cpy2\n      });\n      curve.useStyle(lineStyleModel.getItemStyle()); // Special color, use source node color or target node color\n\n      switch (curve.style.fill) {\n        case 'source':\n          curve.style.fill = edge.node1.getVisual('color');\n          curve.style.decal = edge.node1.getVisual('style').decal;\n          break;\n\n        case 'target':\n          curve.style.fill = edge.node2.getVisual('color');\n          curve.style.decal = edge.node2.getVisual('style').decal;\n          break;\n\n        case 'gradient':\n          var sourceColor = edge.node1.getVisual('color');\n          var targetColor = edge.node2.getVisual('color');\n\n          if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"isString\"])(sourceColor) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"isString\"])(targetColor)) {\n            curve.style.fill = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"LinearGradient\"](0, 0, +(orient === 'horizontal'), +(orient === 'vertical'), [{\n              color: sourceColor,\n              offset: 0\n            }, {\n              color: targetColor,\n              offset: 1\n            }]);\n          }\n\n      }\n\n      var emphasisModel = edgeModel.getModel('emphasis');\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"setStatesStylesFromModel\"])(curve, edgeModel, 'lineStyle', function (model) {\n        return model.getItemStyle();\n      });\n      group.add(curve);\n      edgeData.setItemGraphicEl(edge.dataIndex, curve);\n      var focus = emphasisModel.get('focus');\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(curve, focus === 'adjacency' ? edge.getAdjacentDataIndices() : focus, emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(curve).dataType = 'edge';\n    }); // Generate a rect for each node\n\n    graph.eachNode(function (node) {\n      var layout = node.getLayout();\n      var itemModel = node.getModel();\n      var dragX = itemModel.get('localX');\n      var dragY = itemModel.get('localY');\n      var emphasisModel = itemModel.getModel('emphasis');\n      var rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n        shape: {\n          x: dragX != null ? dragX * width : layout.x,\n          y: dragY != null ? dragY * height : layout.y,\n          width: layout.dx,\n          height: layout.dy\n        },\n        style: itemModel.getModel('itemStyle').getItemStyle(),\n        z2: 10\n      });\n      Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"setLabelStyle\"])(rect, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"getLabelStatesModels\"])(itemModel), {\n        labelFetcher: seriesModel,\n        labelDataIndex: node.dataIndex,\n        defaultText: node.id\n      });\n      rect.disableLabelAnimation = true;\n      rect.setStyle('fill', node.getVisual('color'));\n      rect.setStyle('decal', node.getVisual('style').decal);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"setStatesStylesFromModel\"])(rect, itemModel);\n      group.add(rect);\n      nodeData.setItemGraphicEl(node.dataIndex, rect);\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(rect).dataType = 'node';\n      var focus = emphasisModel.get('focus');\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"toggleHoverEmphasis\"])(rect, focus === 'adjacency' ? node.getAdjacentDataIndices() : focus, emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n    });\n    nodeData.eachItemGraphicEl(function (el, dataIndex) {\n      var itemModel = nodeData.getItemModel(dataIndex);\n\n      if (itemModel.get('draggable')) {\n        el.drift = function (dx, dy) {\n          sankeyView._focusAdjacencyDisabled = true;\n          this.shape.x += dx;\n          this.shape.y += dy;\n          this.dirty();\n          api.dispatchAction({\n            type: 'dragNode',\n            seriesId: seriesModel.id,\n            dataIndex: nodeData.getRawIndex(dataIndex),\n            localX: this.shape.x / width,\n            localY: this.shape.y / height\n          });\n        };\n\n        el.ondragend = function () {\n          sankeyView._focusAdjacencyDisabled = false;\n        };\n\n        el.draggable = true;\n        el.cursor = 'move';\n      }\n    });\n\n    if (!this._data && seriesModel.isAnimationEnabled()) {\n      group.setClipPath(createGridClipShape(group.getBoundingRect(), seriesModel, function () {\n        group.removeClipPath();\n      }));\n    }\n\n    this._data = seriesModel.getData();\n  };\n\n  SankeyView.prototype.dispose = function () {};\n\n  SankeyView.type = 'sankey';\n  return SankeyView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]); // Add animation to the view\n\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n  var rectEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n    shape: {\n      x: rect.x - 10,\n      y: rect.y - 10,\n      width: 0,\n      height: rect.height + 20\n    }\n  });\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"initProps\"](rectEl, {\n    shape: {\n      width: rect.width + 20\n    }\n  }, seriesModel, cb);\n  return rectEl;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SankeyView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/SankeyView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sankey/install.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sankey/install.js ***!
  \**********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _SankeyView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SankeyView.js */ \"./node_modules/echarts/lib/chart/sankey/SankeyView.js\");\n/* harmony import */ var _SankeySeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SankeySeries.js */ \"./node_modules/echarts/lib/chart/sankey/SankeySeries.js\");\n/* harmony import */ var _sankeyLayout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sankeyLayout.js */ \"./node_modules/echarts/lib/chart/sankey/sankeyLayout.js\");\n/* harmony import */ var _sankeyVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sankeyVisual.js */ \"./node_modules/echarts/lib/chart/sankey/sankeyVisual.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_SankeyView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_SankeySeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(_sankeyLayout_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerVisual(_sankeyVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerAction({\n    type: 'dragNode',\n    event: 'dragnode',\n    // here can only use 'update' now, other value is not support in echarts.\n    update: 'update'\n  }, function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'sankey',\n      query: payload\n    }, function (seriesModel) {\n      seriesModel.setNodePosition(payload.dataIndex, [payload.localX, payload.localY]);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sankey/sankeyLayout.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sankey/sankeyLayout.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sankeyLayout; });\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction sankeyLayout(ecModel, api) {\n  ecModel.eachSeriesByType('sankey', function (seriesModel) {\n    var nodeWidth = seriesModel.get('nodeWidth');\n    var nodeGap = seriesModel.get('nodeGap');\n    var layoutInfo = getViewRect(seriesModel, api);\n    seriesModel.layoutInfo = layoutInfo;\n    var width = layoutInfo.width;\n    var height = layoutInfo.height;\n    var graph = seriesModel.getGraph();\n    var nodes = graph.nodes;\n    var edges = graph.edges;\n    computeNodeValues(nodes);\n    var filteredNodes = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"](nodes, function (node) {\n      return node.getLayout().value === 0;\n    });\n    var iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get('layoutIterations');\n    var orient = seriesModel.get('orient');\n    var nodeAlign = seriesModel.get('nodeAlign');\n    layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign);\n  });\n}\n/**\n * Get the layout position of the whole view\n */\n\nfunction getViewRect(seriesModel, api) {\n  return _util_layout_js__WEBPACK_IMPORTED_MODULE_0__[\"getLayoutRect\"](seriesModel.getBoxLayoutParams(), {\n    width: api.getWidth(),\n    height: api.getHeight()\n  });\n}\n\nfunction layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign) {\n  computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign);\n  computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient);\n  computeEdgeDepths(nodes, orient);\n}\n/**\n * Compute the value of each node by summing the associated edge's value\n */\n\n\nfunction computeNodeValues(nodes) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n    var value1 = sum(node.outEdges, getEdgeValue);\n    var value2 = sum(node.inEdges, getEdgeValue);\n    var nodeRawValue = node.getValue() || 0;\n    var value = Math.max(value1, value2, nodeRawValue);\n    node.setLayout({\n      value: value\n    }, true);\n  });\n}\n/**\n * Compute the x-position for each node.\n *\n * Here we use Kahn algorithm to detect cycle when we traverse\n * the node to computer the initial x position.\n */\n\n\nfunction computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign) {\n  // Used to mark whether the edge is deleted. if it is deleted,\n  // the value is 0, otherwise it is 1.\n  var remainEdges = []; // Storage each node's indegree.\n\n  var indegreeArr = []; //Used to storage the node with indegree is equal to 0.\n\n  var zeroIndegrees = [];\n  var nextTargetNode = [];\n  var x = 0; // let kx = 0;\n\n  for (var i = 0; i < edges.length; i++) {\n    remainEdges[i] = 1;\n  }\n\n  for (var i = 0; i < nodes.length; i++) {\n    indegreeArr[i] = nodes[i].inEdges.length;\n\n    if (indegreeArr[i] === 0) {\n      zeroIndegrees.push(nodes[i]);\n    }\n  }\n\n  var maxNodeDepth = -1; // Traversing nodes using topological sorting to calculate the\n  // horizontal(if orient === 'horizontal') or vertical(if orient === 'vertical')\n  // position of the nodes.\n\n  while (zeroIndegrees.length) {\n    for (var idx = 0; idx < zeroIndegrees.length; idx++) {\n      var node = zeroIndegrees[idx];\n      var item = node.hostGraph.data.getRawDataItem(node.dataIndex);\n      var isItemDepth = item.depth != null && item.depth >= 0;\n\n      if (isItemDepth && item.depth > maxNodeDepth) {\n        maxNodeDepth = item.depth;\n      }\n\n      node.setLayout({\n        depth: isItemDepth ? item.depth : x\n      }, true);\n      orient === 'vertical' ? node.setLayout({\n        dy: nodeWidth\n      }, true) : node.setLayout({\n        dx: nodeWidth\n      }, true);\n\n      for (var edgeIdx = 0; edgeIdx < node.outEdges.length; edgeIdx++) {\n        var edge = node.outEdges[edgeIdx];\n        var indexEdge = edges.indexOf(edge);\n        remainEdges[indexEdge] = 0;\n        var targetNode = edge.node2;\n        var nodeIndex = nodes.indexOf(targetNode);\n\n        if (--indegreeArr[nodeIndex] === 0 && nextTargetNode.indexOf(targetNode) < 0) {\n          nextTargetNode.push(targetNode);\n        }\n      }\n    }\n\n    ++x;\n    zeroIndegrees = nextTargetNode;\n    nextTargetNode = [];\n  }\n\n  for (var i = 0; i < remainEdges.length; i++) {\n    if (remainEdges[i] === 1) {\n      throw new Error('Sankey is a DAG, the original data has cycle!');\n    }\n  }\n\n  var maxDepth = maxNodeDepth > x - 1 ? maxNodeDepth : x - 1;\n\n  if (nodeAlign && nodeAlign !== 'left') {\n    adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth);\n  }\n\n  var kx = orient === 'vertical' ? (height - nodeWidth) / maxDepth : (width - nodeWidth) / maxDepth;\n  scaleNodeBreadths(nodes, kx, orient);\n}\n\nfunction isNodeDepth(node) {\n  var item = node.hostGraph.data.getRawDataItem(node.dataIndex);\n  return item.depth != null && item.depth >= 0;\n}\n\nfunction adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth) {\n  if (nodeAlign === 'right') {\n    var nextSourceNode = [];\n    var remainNodes = nodes;\n    var nodeHeight = 0;\n\n    while (remainNodes.length) {\n      for (var i = 0; i < remainNodes.length; i++) {\n        var node = remainNodes[i];\n        node.setLayout({\n          skNodeHeight: nodeHeight\n        }, true);\n\n        for (var j = 0; j < node.inEdges.length; j++) {\n          var edge = node.inEdges[j];\n\n          if (nextSourceNode.indexOf(edge.node1) < 0) {\n            nextSourceNode.push(edge.node1);\n          }\n        }\n      }\n\n      remainNodes = nextSourceNode;\n      nextSourceNode = [];\n      ++nodeHeight;\n    }\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n      if (!isNodeDepth(node)) {\n        node.setLayout({\n          depth: Math.max(0, maxDepth - node.getLayout().skNodeHeight)\n        }, true);\n      }\n    });\n  } else if (nodeAlign === 'justify') {\n    moveSinksRight(nodes, maxDepth);\n  }\n}\n/**\n * All the node without outEgdes are assigned maximum x-position and\n *     be aligned in the last column.\n *\n * @param nodes.  node of sankey view.\n * @param maxDepth.  use to assign to node without outEdges as x-position.\n */\n\n\nfunction moveSinksRight(nodes, maxDepth) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n    if (!isNodeDepth(node) && !node.outEdges.length) {\n      node.setLayout({\n        depth: maxDepth\n      }, true);\n    }\n  });\n}\n/**\n * Scale node x-position to the width\n *\n * @param nodes  node of sankey view\n * @param kx   multiple used to scale nodes\n */\n\n\nfunction scaleNodeBreadths(nodes, kx, orient) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n    var nodeDepth = node.getLayout().depth * kx;\n    orient === 'vertical' ? node.setLayout({\n      y: nodeDepth\n    }, true) : node.setLayout({\n      x: nodeDepth\n    }, true);\n  });\n}\n/**\n * Using Gauss-Seidel iterations method to compute the node depth(y-position)\n *\n * @param nodes  node of sankey view\n * @param edges  edge of sankey view\n * @param height  the whole height of the area to draw the view\n * @param nodeGap  the vertical distance between two nodes\n *     in the same column.\n * @param iterations  the number of iterations for the algorithm\n */\n\n\nfunction computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient) {\n  var nodesByBreadth = prepareNodesByBreadth(nodes, orient);\n  initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient);\n  resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n\n  for (var alpha = 1; iterations > 0; iterations--) {\n    // 0.99 is a experience parameter, ensure that each iterations of\n    // changes as small as possible.\n    alpha *= 0.99;\n    relaxRightToLeft(nodesByBreadth, alpha, orient);\n    resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n    relaxLeftToRight(nodesByBreadth, alpha, orient);\n    resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n  }\n}\n\nfunction prepareNodesByBreadth(nodes, orient) {\n  var nodesByBreadth = [];\n  var keyAttr = orient === 'vertical' ? 'y' : 'x';\n  var groupResult = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"groupData\"])(nodes, function (node) {\n    return node.getLayout()[keyAttr];\n  });\n  groupResult.keys.sort(function (a, b) {\n    return a - b;\n  });\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](groupResult.keys, function (key) {\n    nodesByBreadth.push(groupResult.buckets.get(key));\n  });\n  return nodesByBreadth;\n}\n/**\n * Compute the original y-position for each node\n */\n\n\nfunction initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient) {\n  var minKy = Infinity;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodesByBreadth, function (nodes) {\n    var n = nodes.length;\n    var sum = 0;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n      sum += node.getLayout().value;\n    });\n    var ky = orient === 'vertical' ? (width - (n - 1) * nodeGap) / sum : (height - (n - 1) * nodeGap) / sum;\n\n    if (ky < minKy) {\n      minKy = ky;\n    }\n  });\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodesByBreadth, function (nodes) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node, i) {\n      var nodeDy = node.getLayout().value * minKy;\n\n      if (orient === 'vertical') {\n        node.setLayout({\n          x: i\n        }, true);\n        node.setLayout({\n          dx: nodeDy\n        }, true);\n      } else {\n        node.setLayout({\n          y: i\n        }, true);\n        node.setLayout({\n          dy: nodeDy\n        }, true);\n      }\n    });\n  });\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](edges, function (edge) {\n    var edgeDy = +edge.getValue() * minKy;\n    edge.setLayout({\n      dy: edgeDy\n    }, true);\n  });\n}\n/**\n * Resolve the collision of initialized depth (y-position)\n */\n\n\nfunction resolveCollisions(nodesByBreadth, nodeGap, height, width, orient) {\n  var keyAttr = orient === 'vertical' ? 'x' : 'y';\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodesByBreadth, function (nodes) {\n    nodes.sort(function (a, b) {\n      return a.getLayout()[keyAttr] - b.getLayout()[keyAttr];\n    });\n    var nodeX;\n    var node;\n    var dy;\n    var y0 = 0;\n    var n = nodes.length;\n    var nodeDyAttr = orient === 'vertical' ? 'dx' : 'dy';\n\n    for (var i = 0; i < n; i++) {\n      node = nodes[i];\n      dy = y0 - node.getLayout()[keyAttr];\n\n      if (dy > 0) {\n        nodeX = node.getLayout()[keyAttr] + dy;\n        orient === 'vertical' ? node.setLayout({\n          x: nodeX\n        }, true) : node.setLayout({\n          y: nodeX\n        }, true);\n      }\n\n      y0 = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap;\n    }\n\n    var viewWidth = orient === 'vertical' ? width : height; // If the bottommost node goes outside the bounds, push it back up\n\n    dy = y0 - nodeGap - viewWidth;\n\n    if (dy > 0) {\n      nodeX = node.getLayout()[keyAttr] - dy;\n      orient === 'vertical' ? node.setLayout({\n        x: nodeX\n      }, true) : node.setLayout({\n        y: nodeX\n      }, true);\n      y0 = nodeX;\n\n      for (var i = n - 2; i >= 0; --i) {\n        node = nodes[i];\n        dy = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap - y0;\n\n        if (dy > 0) {\n          nodeX = node.getLayout()[keyAttr] - dy;\n          orient === 'vertical' ? node.setLayout({\n            x: nodeX\n          }, true) : node.setLayout({\n            y: nodeX\n          }, true);\n        }\n\n        y0 = node.getLayout()[keyAttr];\n      }\n    }\n  });\n}\n/**\n * Change the y-position of the nodes, except most the right side nodes\n * @param nodesByBreadth\n * @param alpha  parameter used to adjust the nodes y-position\n */\n\n\nfunction relaxRightToLeft(nodesByBreadth, alpha, orient) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodesByBreadth.slice().reverse(), function (nodes) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n      if (node.outEdges.length) {\n        var y = sum(node.outEdges, weightedTarget, orient) / sum(node.outEdges, getEdgeValue);\n\n        if (isNaN(y)) {\n          var len = node.outEdges.length;\n          y = len ? sum(node.outEdges, centerTarget, orient) / len : 0;\n        }\n\n        if (orient === 'vertical') {\n          var nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;\n          node.setLayout({\n            x: nodeX\n          }, true);\n        } else {\n          var nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;\n          node.setLayout({\n            y: nodeY\n          }, true);\n        }\n      }\n    });\n  });\n}\n\nfunction weightedTarget(edge, orient) {\n  return center(edge.node2, orient) * edge.getValue();\n}\n\nfunction centerTarget(edge, orient) {\n  return center(edge.node2, orient);\n}\n\nfunction weightedSource(edge, orient) {\n  return center(edge.node1, orient) * edge.getValue();\n}\n\nfunction centerSource(edge, orient) {\n  return center(edge.node1, orient);\n}\n\nfunction center(node, orient) {\n  return orient === 'vertical' ? node.getLayout().x + node.getLayout().dx / 2 : node.getLayout().y + node.getLayout().dy / 2;\n}\n\nfunction getEdgeValue(edge) {\n  return edge.getValue();\n}\n\nfunction sum(array, cb, orient) {\n  var sum = 0;\n  var len = array.length;\n  var i = -1;\n\n  while (++i < len) {\n    var value = +cb(array[i], orient);\n\n    if (!isNaN(value)) {\n      sum += value;\n    }\n  }\n\n  return sum;\n}\n/**\n * Change the y-position of the nodes, except most the left side nodes\n */\n\n\nfunction relaxLeftToRight(nodesByBreadth, alpha, orient) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodesByBreadth, function (nodes) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n      if (node.inEdges.length) {\n        var y = sum(node.inEdges, weightedSource, orient) / sum(node.inEdges, getEdgeValue);\n\n        if (isNaN(y)) {\n          var len = node.inEdges.length;\n          y = len ? sum(node.inEdges, centerSource, orient) / len : 0;\n        }\n\n        if (orient === 'vertical') {\n          var nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;\n          node.setLayout({\n            x: nodeX\n          }, true);\n        } else {\n          var nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;\n          node.setLayout({\n            y: nodeY\n          }, true);\n        }\n      }\n    });\n  });\n}\n/**\n * Compute the depth(y-position) of each edge\n */\n\n\nfunction computeEdgeDepths(nodes, orient) {\n  var keyAttr = orient === 'vertical' ? 'x' : 'y';\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n    node.outEdges.sort(function (a, b) {\n      return a.node2.getLayout()[keyAttr] - b.node2.getLayout()[keyAttr];\n    });\n    node.inEdges.sort(function (a, b) {\n      return a.node1.getLayout()[keyAttr] - b.node1.getLayout()[keyAttr];\n    });\n  });\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](nodes, function (node) {\n    var sy = 0;\n    var ty = 0;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](node.outEdges, function (edge) {\n      edge.setLayout({\n        sy: sy\n      }, true);\n      sy += edge.getLayout().dy;\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](node.inEdges, function (edge) {\n      edge.setLayout({\n        ty: ty\n      }, true);\n      ty += edge.getLayout().dy;\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/sankeyLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sankey/sankeyVisual.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sankey/sankeyVisual.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sankeyVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../visual/VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction sankeyVisual(ecModel) {\n  ecModel.eachSeriesByType('sankey', function (seriesModel) {\n    var graph = seriesModel.getGraph();\n    var nodes = graph.nodes;\n\n    if (nodes.length) {\n      var minValue_1 = Infinity;\n      var maxValue_1 = -Infinity;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](nodes, function (node) {\n        var nodeValue = node.getLayout().value;\n\n        if (nodeValue < minValue_1) {\n          minValue_1 = nodeValue;\n        }\n\n        if (nodeValue > maxValue_1) {\n          maxValue_1 = nodeValue;\n        }\n      });\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](nodes, function (node) {\n        var mapping = new _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]({\n          type: 'color',\n          mappingMethod: 'linear',\n          dataExtent: [minValue_1, maxValue_1],\n          visual: seriesModel.get('color')\n        });\n        var mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);\n        var customColor = node.getModel().get(['itemStyle', 'color']);\n\n        if (customColor != null) {\n          node.setVisual('color', customColor);\n          node.setVisual('style', {\n            fill: customColor\n          });\n        } else {\n          node.setVisual('color', mapValueToColor);\n          node.setVisual('style', {\n            fill: mapValueToColor\n          });\n        }\n      });\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/sankeyVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/scatter/ScatterSeries.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/scatter/ScatterSeries.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar ScatterSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ScatterSeriesModel, _super);\n\n  function ScatterSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ScatterSeriesModel.type;\n    _this.hasSymbolVisual = true;\n    return _this;\n  }\n\n  ScatterSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return Object(_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(null, this, {\n      useEncodeDefaulter: true\n    });\n  };\n\n  ScatterSeriesModel.prototype.getProgressive = function () {\n    var progressive = this.option.progressive;\n\n    if (progressive == null) {\n      // PENDING\n      return this.option.large ? 5e3 : this.get('progressive');\n    }\n\n    return progressive;\n  };\n\n  ScatterSeriesModel.prototype.getProgressiveThreshold = function () {\n    var progressiveThreshold = this.option.progressiveThreshold;\n\n    if (progressiveThreshold == null) {\n      // PENDING\n      return this.option.large ? 1e4 : this.get('progressiveThreshold');\n    }\n\n    return progressiveThreshold;\n  };\n\n  ScatterSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n    return selectors.point(data.getItemLayout(dataIndex));\n  };\n\n  ScatterSeriesModel.prototype.getZLevelKey = function () {\n    // Each progressive series has individual key.\n    return this.getData().count() > this.getProgressiveThreshold() ? this.id : '';\n  };\n\n  ScatterSeriesModel.type = 'series.scatter';\n  ScatterSeriesModel.dependencies = ['grid', 'polar', 'geo', 'singleAxis', 'calendar'];\n  ScatterSeriesModel.defaultOption = {\n    coordinateSystem: 'cartesian2d',\n    // zlevel: 0,\n    z: 2,\n    legendHoverLink: true,\n    symbolSize: 10,\n    // symbolRotate: null,  // 图形旋转控制\n    large: false,\n    // Available when large is true\n    largeThreshold: 2000,\n    // cursor: null,\n    itemStyle: {\n      opacity: 0.8 // color: 各异\n\n    },\n    emphasis: {\n      scale: true\n    },\n    // If clip the overflow graphics\n    // Works on cartesian / polar series\n    clip: true,\n    select: {\n      itemStyle: {\n        borderColor: '#212121'\n      }\n    },\n    universalTransition: {\n      divideShape: 'clone'\n    } // progressive: null\n\n  };\n  return ScatterSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ScatterSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/scatter/ScatterSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/scatter/ScatterView.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/scatter/ScatterView.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/SymbolDraw.js */ \"./node_modules/echarts/lib/chart/helper/SymbolDraw.js\");\n/* harmony import */ var _helper_LargeSymbolDraw_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/LargeSymbolDraw.js */ \"./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js\");\n/* harmony import */ var _layout_points_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../layout/points.js */ \"./node_modules/echarts/lib/layout/points.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar ScatterView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ScatterView, _super);\n\n  function ScatterView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ScatterView.type;\n    return _this;\n  }\n\n  ScatterView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n\n    var symbolDraw = this._updateSymbolDraw(data, seriesModel);\n\n    symbolDraw.updateData(data, {\n      // TODO\n      // If this parameter should be a shape or a bounding volume\n      // shape will be more general.\n      // But bounding volume like bounding rect will be much faster in the contain calculation\n      clipShape: this._getClipShape(seriesModel)\n    });\n    this._finished = true;\n  };\n\n  ScatterView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n\n    var symbolDraw = this._updateSymbolDraw(data, seriesModel);\n\n    symbolDraw.incrementalPrepareUpdate(data);\n    this._finished = false;\n  };\n\n  ScatterView.prototype.incrementalRender = function (taskParams, seriesModel, ecModel) {\n    this._symbolDraw.incrementalUpdate(taskParams, seriesModel.getData(), {\n      clipShape: this._getClipShape(seriesModel)\n    });\n\n    this._finished = taskParams.end === seriesModel.getData().count();\n  };\n\n  ScatterView.prototype.updateTransform = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData(); // Must mark group dirty and make sure the incremental layer will be cleared\n    // PENDING\n\n    this.group.dirty();\n\n    if (!this._finished || data.count() > 1e4) {\n      return {\n        update: true\n      };\n    } else {\n      var res = Object(_layout_points_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('').reset(seriesModel, ecModel, api);\n\n      if (res.progress) {\n        res.progress({\n          start: 0,\n          end: data.count(),\n          count: data.count()\n        }, data);\n      }\n\n      this._symbolDraw.updateLayout(data);\n    }\n  };\n\n  ScatterView.prototype.eachRendered = function (cb) {\n    this._symbolDraw && this._symbolDraw.eachRendered(cb);\n  };\n\n  ScatterView.prototype._getClipShape = function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n    var clipArea = coordSys && coordSys.getArea && coordSys.getArea();\n    return seriesModel.get('clip', true) ? clipArea : null;\n  };\n\n  ScatterView.prototype._updateSymbolDraw = function (data, seriesModel) {\n    var symbolDraw = this._symbolDraw;\n    var pipelineContext = seriesModel.pipelineContext;\n    var isLargeDraw = pipelineContext.large;\n\n    if (!symbolDraw || isLargeDraw !== this._isLargeDraw) {\n      symbolDraw && symbolDraw.remove();\n      symbolDraw = this._symbolDraw = isLargeDraw ? new _helper_LargeSymbolDraw_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]() : new _helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n      this._isLargeDraw = isLargeDraw;\n      this.group.removeAll();\n    }\n\n    this.group.add(symbolDraw.group);\n    return symbolDraw;\n  };\n\n  ScatterView.prototype.remove = function (ecModel, api) {\n    this._symbolDraw && this._symbolDraw.remove(true);\n    this._symbolDraw = null;\n  };\n\n  ScatterView.prototype.dispose = function () {};\n\n  ScatterView.type = 'scatter';\n  return ScatterView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ScatterView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/scatter/ScatterView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/scatter/install.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/scatter/install.js ***!
  \***********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _ScatterSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ScatterSeries.js */ \"./node_modules/echarts/lib/chart/scatter/ScatterSeries.js\");\n/* harmony import */ var _ScatterView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ScatterView.js */ \"./node_modules/echarts/lib/chart/scatter/ScatterView.js\");\n/* harmony import */ var _component_grid_installSimple_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../component/grid/installSimple.js */ \"./node_modules/echarts/lib/component/grid/installSimple.js\");\n/* harmony import */ var _layout_points_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../layout/points.js */ \"./node_modules/echarts/lib/layout/points.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  // In case developer forget to include grid component\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_component_grid_installSimple_js__WEBPACK_IMPORTED_MODULE_3__[\"install\"]);\n  registers.registerSeriesModel(_ScatterSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerChartView(_ScatterView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerLayout(Object(_layout_points_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('scatter'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/scatter/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/pieHelper.js */ \"./node_modules/echarts/lib/chart/helper/pieHelper.js\");\n/* harmony import */ var _util_decal_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/decal.js */ \"./node_modules/echarts/lib/util/decal.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar DEFAULT_SECTOR_Z = 2;\nvar DEFAULT_TEXT_Z = 4;\n/**\n * Sunburstce of Sunburst including Sector, Label, LabelLine\n */\n\nvar SunburstPiece =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SunburstPiece, _super);\n\n  function SunburstPiece(node, seriesModel, ecModel, api) {\n    var _this = _super.call(this) || this;\n\n    _this.z2 = DEFAULT_SECTOR_Z;\n    _this.textConfig = {\n      inside: true\n    };\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(_this).seriesIndex = seriesModel.seriesIndex;\n    var text = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n      z2: DEFAULT_TEXT_Z,\n      silent: node.getModel().get(['label', 'silent'])\n    });\n\n    _this.setTextContent(text);\n\n    _this.updateData(true, node, seriesModel, ecModel, api);\n\n    return _this;\n  }\n\n  SunburstPiece.prototype.updateData = function (firstCreate, node, // state: 'emphasis' | 'normal' | 'highlight' | 'downplay',\n  seriesModel, ecModel, api) {\n    this.node = node;\n    node.piece = this;\n    seriesModel = seriesModel || this._seriesModel;\n    ecModel = ecModel || this._ecModel;\n    var sector = this;\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_5__[\"getECData\"])(sector).dataIndex = node.dataIndex;\n    var itemModel = node.getModel();\n    var emphasisModel = itemModel.getModel('emphasis');\n    var layout = node.getLayout();\n    var sectorShape = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, layout);\n    sectorShape.label = null;\n    var normalStyle = node.getVisual('style');\n    normalStyle.lineJoin = 'bevel';\n    var decal = node.getVisual('decal');\n\n    if (decal) {\n      normalStyle.decal = Object(_util_decal_js__WEBPACK_IMPORTED_MODULE_7__[\"createOrUpdatePatternFromDecal\"])(decal, api);\n    }\n\n    var cornerRadius = Object(_helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getSectorCornerRadius\"])(itemModel.getModel('itemStyle'), sectorShape, true);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"](sectorShape, cornerRadius);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"SPECIAL_STATES\"], function (stateName) {\n      var state = sector.ensureState(stateName);\n      var itemStyleModel = itemModel.getModel([stateName, 'itemStyle']);\n      state.style = itemStyleModel.getItemStyle(); // border radius\n\n      var cornerRadius = Object(_helper_pieHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getSectorCornerRadius\"])(itemStyleModel, sectorShape);\n\n      if (cornerRadius) {\n        state.shape = cornerRadius;\n      }\n    });\n\n    if (firstCreate) {\n      sector.setShape(sectorShape);\n      sector.shape.r = layout.r0;\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](sector, {\n        shape: {\n          r: layout.r\n        }\n      }, seriesModel, node.dataIndex);\n    } else {\n      // Disable animation for gradient since no interpolation method\n      // is supported for gradient\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](sector, {\n        shape: sectorShape\n      }, seriesModel);\n      Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"saveOldStyle\"])(sector);\n    }\n\n    sector.useStyle(normalStyle);\n\n    this._updateLabel(seriesModel);\n\n    var cursorStyle = itemModel.getShallow('cursor');\n    cursorStyle && sector.attr('cursor', cursorStyle);\n    this._seriesModel = seriesModel || this._seriesModel;\n    this._ecModel = ecModel || this._ecModel;\n    var focus = emphasisModel.get('focus');\n    var focusOrIndices = focus === 'ancestor' ? node.getAncestorsIndices() : focus === 'descendant' ? node.getDescendantIndices() : focus;\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(this, focusOrIndices, emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n  };\n\n  SunburstPiece.prototype._updateLabel = function (seriesModel) {\n    var _this = this;\n\n    var itemModel = this.node.getModel();\n    var normalLabelModel = itemModel.getModel('label');\n    var layout = this.node.getLayout();\n    var angle = layout.endAngle - layout.startAngle;\n    var midAngle = (layout.startAngle + layout.endAngle) / 2;\n    var dx = Math.cos(midAngle);\n    var dy = Math.sin(midAngle);\n    var sector = this;\n    var label = sector.getTextContent();\n    var dataIndex = this.node.dataIndex;\n    var labelMinAngle = normalLabelModel.get('minAngle') / 180 * Math.PI;\n    var isNormalShown = normalLabelModel.get('show') && !(labelMinAngle != null && Math.abs(angle) < labelMinAngle);\n    label.ignore = !isNormalShown; // TODO use setLabelStyle\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"DISPLAY_STATES\"], function (stateName) {\n      var labelStateModel = stateName === 'normal' ? itemModel.getModel('label') : itemModel.getModel([stateName, 'label']);\n      var isNormal = stateName === 'normal';\n      var state = isNormal ? label : label.ensureState(stateName);\n      var text = seriesModel.getFormattedLabel(dataIndex, stateName);\n\n      if (isNormal) {\n        text = text || _this.node.name;\n      }\n\n      state.style = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(labelStateModel, {}, null, stateName !== 'normal', true);\n\n      if (text) {\n        state.style.text = text;\n      } // Not displaying text when angle is too small\n\n\n      var isShown = labelStateModel.get('show');\n\n      if (isShown != null && !isNormal) {\n        state.ignore = !isShown;\n      }\n\n      var labelPosition = getLabelAttr(labelStateModel, 'position');\n      var sectorState = isNormal ? sector : sector.states[stateName];\n      var labelColor = sectorState.style.fill;\n      sectorState.textConfig = {\n        outsideFill: labelStateModel.get('color') === 'inherit' ? labelColor : null,\n        inside: labelPosition !== 'outside'\n      };\n      var r;\n      var labelPadding = getLabelAttr(labelStateModel, 'distance') || 0;\n      var textAlign = getLabelAttr(labelStateModel, 'align');\n\n      if (labelPosition === 'outside') {\n        r = layout.r + labelPadding;\n        textAlign = midAngle > Math.PI / 2 ? 'right' : 'left';\n      } else {\n        if (!textAlign || textAlign === 'center') {\n          // Put label in the center if it's a circle\n          if (angle === 2 * Math.PI && layout.r0 === 0) {\n            r = 0;\n          } else {\n            r = (layout.r + layout.r0) / 2;\n          }\n\n          textAlign = 'center';\n        } else if (textAlign === 'left') {\n          r = layout.r0 + labelPadding;\n\n          if (midAngle > Math.PI / 2) {\n            textAlign = 'right';\n          }\n        } else if (textAlign === 'right') {\n          r = layout.r - labelPadding;\n\n          if (midAngle > Math.PI / 2) {\n            textAlign = 'left';\n          }\n        }\n      }\n\n      state.style.align = textAlign;\n      state.style.verticalAlign = getLabelAttr(labelStateModel, 'verticalAlign') || 'middle';\n      state.x = r * dx + layout.cx;\n      state.y = r * dy + layout.cy;\n      var rotateType = getLabelAttr(labelStateModel, 'rotate');\n      var rotate = 0;\n\n      if (rotateType === 'radial') {\n        rotate = -midAngle;\n\n        if (rotate < -Math.PI / 2) {\n          rotate += Math.PI;\n        }\n      } else if (rotateType === 'tangential') {\n        rotate = Math.PI / 2 - midAngle;\n\n        if (rotate > Math.PI / 2) {\n          rotate -= Math.PI;\n        } else if (rotate < -Math.PI / 2) {\n          rotate += Math.PI;\n        }\n      } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"](rotateType)) {\n        rotate = rotateType * Math.PI / 180;\n      }\n\n      state.rotation = rotate;\n    });\n\n    function getLabelAttr(model, name) {\n      var stateAttr = model.get(name);\n\n      if (stateAttr == null) {\n        return normalLabelModel.get(name);\n      }\n\n      return stateAttr;\n    }\n\n    label.dirtyStyle();\n  };\n\n  return SunburstPiece;\n}(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SunburstPiece);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _data_Tree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/Tree.js */ \"./node_modules/echarts/lib/data/Tree.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _helper_enableAriaDecalForTree_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/enableAriaDecalForTree.js */ \"./node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar SunburstSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SunburstSeriesModel, _super);\n\n  function SunburstSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SunburstSeriesModel.type;\n    _this.ignoreStyleOnData = true;\n    return _this;\n  }\n\n  SunburstSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    // Create a virtual root.\n    var root = {\n      name: option.name,\n      children: option.data\n    };\n    completeTreeValue(root);\n    var levelModels = this._levelModels = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](option.levels || [], function (levelDefine) {\n      return new _model_Model_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](levelDefine, this, ecModel);\n    }, this); // Make sure always a new tree is created when setOption,\n    // in TreemapView, we check whether oldTree === newTree\n    // to choose mappings approach among old shapes and new shapes.\n\n    var tree = _data_Tree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].createTree(root, this, beforeLink);\n\n    function beforeLink(nodeData) {\n      nodeData.wrapMethod('getItemModel', function (model, idx) {\n        var node = tree.getNodeByDataIndex(idx);\n        var levelModel = levelModels[node.depth];\n        levelModel && (model.parentModel = levelModel);\n        return model;\n      });\n    }\n\n    return tree.data;\n  };\n\n  SunburstSeriesModel.prototype.optionUpdated = function () {\n    this.resetViewRoot();\n  };\n  /*\n   * @override\n   */\n\n\n  SunburstSeriesModel.prototype.getDataParams = function (dataIndex) {\n    var params = _super.prototype.getDataParams.apply(this, arguments);\n\n    var node = this.getData().tree.getNodeByDataIndex(dataIndex);\n    params.treePathInfo = Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"wrapTreePathInfo\"])(node, this);\n    return params;\n  };\n\n  SunburstSeriesModel.prototype.getLevelModel = function (node) {\n    return this._levelModels && this._levelModels[node.depth];\n  };\n\n  SunburstSeriesModel.prototype.getViewRoot = function () {\n    return this._viewRoot;\n  };\n\n  SunburstSeriesModel.prototype.resetViewRoot = function (viewRoot) {\n    viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;\n    var root = this.getRawData().tree.root;\n\n    if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {\n      this._viewRoot = root;\n    }\n  };\n\n  SunburstSeriesModel.prototype.enableAriaDecal = function () {\n    Object(_helper_enableAriaDecalForTree_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this);\n  };\n\n  SunburstSeriesModel.type = 'series.sunburst';\n  SunburstSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    // 默认全局居中\n    center: ['50%', '50%'],\n    radius: [0, '75%'],\n    // 默认顺时针\n    clockwise: true,\n    startAngle: 90,\n    // 最小角度改为0\n    minAngle: 0,\n    // If still show when all data zero.\n    stillShowZeroSum: true,\n    // 'rootToNode', 'link', or false\n    nodeClick: 'rootToNode',\n    renderLabelForZeroData: false,\n    label: {\n      // could be: 'radial', 'tangential', or 'none'\n      rotate: 'radial',\n      show: true,\n      opacity: 1,\n      // 'left' is for inner side of inside, and 'right' is for outter\n      // side for inside\n      align: 'center',\n      position: 'inside',\n      distance: 5,\n      silent: true\n    },\n    itemStyle: {\n      borderWidth: 1,\n      borderColor: 'white',\n      borderType: 'solid',\n      shadowBlur: 0,\n      shadowColor: 'rgba(0, 0, 0, 0.2)',\n      shadowOffsetX: 0,\n      shadowOffsetY: 0,\n      opacity: 1\n    },\n    emphasis: {\n      focus: 'descendant'\n    },\n    blur: {\n      itemStyle: {\n        opacity: 0.2\n      },\n      label: {\n        opacity: 0.1\n      }\n    },\n    // Animation type canbe expansion, scale\n    animationType: 'expansion',\n    animationDuration: 1000,\n    animationDurationUpdate: 500,\n    data: [],\n\n    /**\n     * Sort order.\n     *\n     * Valid values: 'desc', 'asc', null, or callback function.\n     * 'desc' and 'asc' for descend and ascendant order;\n     * null for not sorting;\n     * example of callback function:\n     * function(nodeA, nodeB) {\n     *     return nodeA.getValue() - nodeB.getValue();\n     * }\n     */\n    sort: 'desc'\n  };\n  return SunburstSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction completeTreeValue(dataNode) {\n  // Postorder travel tree.\n  // If value of none-leaf node is not set,\n  // calculate it by suming up the value of all children.\n  var sum = 0;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](dataNode.children, function (child) {\n    completeTreeValue(child);\n    var childValue = child.value; // TODO First value of array must be a number\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](childValue) && (childValue = childValue[0]);\n    sum += childValue;\n  });\n  var thisValue = dataNode.value;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](thisValue)) {\n    thisValue = thisValue[0];\n  }\n\n  if (thisValue == null || isNaN(thisValue)) {\n    thisValue = sum;\n  } // Value should not less than 0.\n\n\n  if (thisValue < 0) {\n    thisValue = 0;\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SunburstSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/SunburstView.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/SunburstView.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _SunburstPiece_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SunburstPiece.js */ \"./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _sunburstAction_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sunburstAction.js */ \"./node_modules/echarts/lib/chart/sunburst/sunburstAction.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar SunburstView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SunburstView, _super);\n\n  function SunburstView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SunburstView.type;\n    return _this;\n  }\n\n  SunburstView.prototype.render = function (seriesModel, ecModel, api, // @ts-ignore\n  payload) {\n    var self = this;\n    this.seriesModel = seriesModel;\n    this.api = api;\n    this.ecModel = ecModel;\n    var data = seriesModel.getData();\n    var virtualRoot = data.tree.root;\n    var newRoot = seriesModel.getViewRoot();\n    var group = this.group;\n    var renderLabelForZeroData = seriesModel.get('renderLabelForZeroData');\n    var newChildren = [];\n    newRoot.eachNode(function (node) {\n      newChildren.push(node);\n    });\n    var oldChildren = this._oldChildren || [];\n    dualTravel(newChildren, oldChildren);\n    renderRollUp(virtualRoot, newRoot);\n\n    this._initEvents();\n\n    this._oldChildren = newChildren;\n\n    function dualTravel(newChildren, oldChildren) {\n      if (newChildren.length === 0 && oldChildren.length === 0) {\n        return;\n      }\n\n      new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](oldChildren, newChildren, getKey, getKey).add(processNode).update(processNode).remove(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"](processNode, null)).execute();\n\n      function getKey(node) {\n        return node.getId();\n      }\n\n      function processNode(newIdx, oldIdx) {\n        var newNode = newIdx == null ? null : newChildren[newIdx];\n        var oldNode = oldIdx == null ? null : oldChildren[oldIdx];\n        doRenderNode(newNode, oldNode);\n      }\n    }\n\n    function doRenderNode(newNode, oldNode) {\n      if (!renderLabelForZeroData && newNode && !newNode.getValue()) {\n        // Not render data with value 0\n        newNode = null;\n      }\n\n      if (newNode !== virtualRoot && oldNode !== virtualRoot) {\n        if (oldNode && oldNode.piece) {\n          if (newNode) {\n            // Update\n            oldNode.piece.updateData(false, newNode, seriesModel, ecModel, api); // For tooltip\n\n            data.setItemGraphicEl(newNode.dataIndex, oldNode.piece);\n          } else {\n            // Remove\n            removeNode(oldNode);\n          }\n        } else if (newNode) {\n          // Add\n          var piece = new _SunburstPiece_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](newNode, seriesModel, ecModel, api);\n          group.add(piece); // For tooltip\n\n          data.setItemGraphicEl(newNode.dataIndex, piece);\n        }\n      }\n    }\n\n    function removeNode(node) {\n      if (!node) {\n        return;\n      }\n\n      if (node.piece) {\n        group.remove(node.piece);\n        node.piece = null;\n      }\n    }\n\n    function renderRollUp(virtualRoot, viewRoot) {\n      if (viewRoot.depth > 0) {\n        // Render\n        if (self.virtualPiece) {\n          // Update\n          self.virtualPiece.updateData(false, virtualRoot, seriesModel, ecModel, api);\n        } else {\n          // Add\n          self.virtualPiece = new _SunburstPiece_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](virtualRoot, seriesModel, ecModel, api);\n          group.add(self.virtualPiece);\n        } // TODO event scope\n\n\n        viewRoot.piece.off('click');\n        self.virtualPiece.on('click', function (e) {\n          self._rootToNode(viewRoot.parentNode);\n        });\n      } else if (self.virtualPiece) {\n        // Remove\n        group.remove(self.virtualPiece);\n        self.virtualPiece = null;\n      }\n    }\n  };\n  /**\n   * @private\n   */\n\n\n  SunburstView.prototype._initEvents = function () {\n    var _this = this;\n\n    this.group.off('click');\n    this.group.on('click', function (e) {\n      var targetFound = false;\n\n      var viewRoot = _this.seriesModel.getViewRoot();\n\n      viewRoot.eachNode(function (node) {\n        if (!targetFound && node.piece && node.piece === e.target) {\n          var nodeClick = node.getModel().get('nodeClick');\n\n          if (nodeClick === 'rootToNode') {\n            _this._rootToNode(node);\n          } else if (nodeClick === 'link') {\n            var itemModel = node.getModel();\n            var link = itemModel.get('link');\n\n            if (link) {\n              var linkTarget = itemModel.get('target', true) || '_blank';\n              Object(_util_format_js__WEBPACK_IMPORTED_MODULE_6__[\"windowOpen\"])(link, linkTarget);\n            }\n          }\n\n          targetFound = true;\n        }\n      });\n    });\n  };\n  /**\n   * @private\n   */\n\n\n  SunburstView.prototype._rootToNode = function (node) {\n    if (node !== this.seriesModel.getViewRoot()) {\n      this.api.dispatchAction({\n        type: _sunburstAction_js__WEBPACK_IMPORTED_MODULE_5__[\"ROOT_TO_NODE_ACTION\"],\n        from: this.uid,\n        seriesId: this.seriesModel.id,\n        targetNode: node\n      });\n    }\n  };\n  /**\n   * @implement\n   */\n\n\n  SunburstView.prototype.containPoint = function (point, seriesModel) {\n    var treeRoot = seriesModel.getData();\n    var itemLayout = treeRoot.getItemLayout(0);\n\n    if (itemLayout) {\n      var dx = point[0] - itemLayout.cx;\n      var dy = point[1] - itemLayout.cy;\n      var radius = Math.sqrt(dx * dx + dy * dy);\n      return radius <= itemLayout.r && radius >= itemLayout.r0;\n    }\n  };\n\n  SunburstView.type = 'sunburst';\n  return SunburstView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SunburstView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/install.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/install.js ***!
  \************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _SunburstView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SunburstView.js */ \"./node_modules/echarts/lib/chart/sunburst/SunburstView.js\");\n/* harmony import */ var _SunburstSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SunburstSeries.js */ \"./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js\");\n/* harmony import */ var _sunburstLayout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sunburstLayout.js */ \"./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js\");\n/* harmony import */ var _sunburstVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sunburstVisual.js */ \"./node_modules/echarts/lib/chart/sunburst/sunburstVisual.js\");\n/* harmony import */ var _processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../processor/dataFilter.js */ \"./node_modules/echarts/lib/processor/dataFilter.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _sunburstAction_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sunburstAction.js */ \"./node_modules/echarts/lib/chart/sunburst/sunburstAction.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_SunburstView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_SunburstSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"curry\"])(_sunburstLayout_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'sunburst'));\n  registers.registerProcessor(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"curry\"])(_processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 'sunburst'));\n  registers.registerVisual(_sunburstVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  Object(_sunburstAction_js__WEBPACK_IMPORTED_MODULE_6__[\"installSunburstAction\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/sunburstAction.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/sunburstAction.js ***!
  \*******************************************************************/
/*! exports provided: ROOT_TO_NODE_ACTION, installSunburstAction */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ROOT_TO_NODE_ACTION\", function() { return ROOT_TO_NODE_ACTION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installSunburstAction\", function() { return installSunburstAction; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\nvar HIGHLIGHT_ACTION = 'sunburstHighlight';\nvar UNHIGHLIGHT_ACTION = 'sunburstUnhighlight';\nfunction installSunburstAction(registers) {\n  registers.registerAction({\n    type: ROOT_TO_NODE_ACTION,\n    update: 'updateView'\n  }, function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'sunburst',\n      query: payload\n    }, handleRootToNode);\n\n    function handleRootToNode(model, index) {\n      var targetInfo = Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieveTargetInfo\"])(payload, [ROOT_TO_NODE_ACTION], model);\n\n      if (targetInfo) {\n        var originViewRoot = model.getViewRoot();\n\n        if (originViewRoot) {\n          payload.direction = Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"aboveViewRoot\"])(originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';\n        }\n\n        model.resetViewRoot(targetInfo.node);\n      }\n    }\n  });\n  registers.registerAction({\n    type: HIGHLIGHT_ACTION,\n    update: 'none'\n  }, function (payload, ecModel, api) {\n    // Clone\n    payload = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({}, payload);\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'sunburst',\n      query: payload\n    }, handleHighlight);\n\n    function handleHighlight(model) {\n      var targetInfo = Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieveTargetInfo\"])(payload, [HIGHLIGHT_ACTION], model);\n\n      if (targetInfo) {\n        payload.dataIndex = targetInfo.node.dataIndex;\n      }\n    }\n\n    if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"deprecateReplaceLog\"])('sunburstHighlight', 'highlight');\n    } // Fast forward action\n\n\n    api.dispatchAction(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(payload, {\n      type: 'highlight'\n    }));\n  });\n  registers.registerAction({\n    type: UNHIGHLIGHT_ACTION,\n    update: 'updateView'\n  }, function (payload, ecModel, api) {\n    payload = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({}, payload);\n\n    if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"deprecateReplaceLog\"])('sunburstUnhighlight', 'downplay');\n    }\n\n    api.dispatchAction(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(payload, {\n      type: 'downplay'\n    }));\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sunburstLayout; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // let PI2 = Math.PI * 2;\n\nvar RADIAN = Math.PI / 180;\nfunction sunburstLayout(seriesType, ecModel, api) {\n  ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n    var center = seriesModel.get('center');\n    var radius = seriesModel.get('radius');\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](radius)) {\n      radius = [0, radius];\n    }\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](center)) {\n      center = [center, center];\n    }\n\n    var width = api.getWidth();\n    var height = api.getHeight();\n    var size = Math.min(width, height);\n    var cx = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(center[0], width);\n    var cy = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(center[1], height);\n    var r0 = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(radius[0], size / 2);\n    var r = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(radius[1], size / 2);\n    var startAngle = -seriesModel.get('startAngle') * RADIAN;\n    var minAngle = seriesModel.get('minAngle') * RADIAN;\n    var virtualRoot = seriesModel.getData().tree.root;\n    var treeRoot = seriesModel.getViewRoot();\n    var rootDepth = treeRoot.depth;\n    var sort = seriesModel.get('sort');\n\n    if (sort != null) {\n      initChildren(treeRoot, sort);\n    }\n\n    var validDataCount = 0;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](treeRoot.children, function (child) {\n      !isNaN(child.getValue()) && validDataCount++;\n    });\n    var sum = treeRoot.getValue(); // Sum may be 0\n\n    var unitRadian = Math.PI / (sum || validDataCount) * 2;\n    var renderRollupNode = treeRoot.depth > 0;\n    var levels = treeRoot.height - (renderRollupNode ? -1 : 1);\n    var rPerLevel = (r - r0) / (levels || 1);\n    var clockwise = seriesModel.get('clockwise');\n    var stillShowZeroSum = seriesModel.get('stillShowZeroSum'); // In the case some sector angle is smaller than minAngle\n    // let restAngle = PI2;\n    // let valueSumLargerThanMinAngle = 0;\n\n    var dir = clockwise ? 1 : -1;\n    /**\n     * Render a tree\n     * @return increased angle\n     */\n\n    var renderNode = function (node, startAngle) {\n      if (!node) {\n        return;\n      }\n\n      var endAngle = startAngle; // Render self\n\n      if (node !== virtualRoot) {\n        // Tree node is virtual, so it doesn't need to be drawn\n        var value = node.getValue();\n        var angle = sum === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;\n\n        if (angle < minAngle) {\n          angle = minAngle; // restAngle -= minAngle;\n        } // else {\n        //     valueSumLargerThanMinAngle += value;\n        // }\n\n\n        endAngle = startAngle + dir * angle;\n        var depth = node.depth - rootDepth - (renderRollupNode ? -1 : 1);\n        var rStart = r0 + rPerLevel * depth;\n        var rEnd = r0 + rPerLevel * (depth + 1);\n        var levelModel = seriesModel.getLevelModel(node);\n\n        if (levelModel) {\n          var r0_1 = levelModel.get('r0', true);\n          var r_1 = levelModel.get('r', true);\n          var radius_1 = levelModel.get('radius', true);\n\n          if (radius_1 != null) {\n            r0_1 = radius_1[0];\n            r_1 = radius_1[1];\n          }\n\n          r0_1 != null && (rStart = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(r0_1, size / 2));\n          r_1 != null && (rEnd = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parsePercent\"])(r_1, size / 2));\n        }\n\n        node.setLayout({\n          angle: angle,\n          startAngle: startAngle,\n          endAngle: endAngle,\n          clockwise: clockwise,\n          cx: cx,\n          cy: cy,\n          r0: rStart,\n          r: rEnd\n        });\n      } // Render children\n\n\n      if (node.children && node.children.length) {\n        // currentAngle = startAngle;\n        var siblingAngle_1 = 0;\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](node.children, function (node) {\n          siblingAngle_1 += renderNode(node, startAngle + siblingAngle_1);\n        });\n      }\n\n      return endAngle - startAngle;\n    }; // Virtual root node for roll up\n\n\n    if (renderRollupNode) {\n      var rStart = r0;\n      var rEnd = r0 + rPerLevel;\n      var angle = Math.PI * 2;\n      virtualRoot.setLayout({\n        angle: angle,\n        startAngle: startAngle,\n        endAngle: startAngle + angle,\n        clockwise: clockwise,\n        cx: cx,\n        cy: cy,\n        r0: rStart,\n        r: rEnd\n      });\n    }\n\n    renderNode(treeRoot, startAngle);\n  });\n}\n/**\n * Init node children by order and update visual\n */\n\nfunction initChildren(node, sortOrder) {\n  var children = node.children || [];\n  node.children = sort(children, sortOrder); // Init children recursively\n\n  if (children.length) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](node.children, function (child) {\n      initChildren(child, sortOrder);\n    });\n  }\n}\n/**\n * Sort children nodes\n *\n * @param {TreeNode[]}               children children of node to be sorted\n * @param {string | function | null} sort sort method\n *                                   See SunburstSeries.js for details.\n */\n\n\nfunction sort(children, sortOrder) {\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](sortOrder)) {\n    var sortTargets = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](children, function (child, idx) {\n      var value = child.getValue();\n      return {\n        params: {\n          depth: child.depth,\n          height: child.height,\n          dataIndex: child.dataIndex,\n          getValue: function () {\n            return value;\n          }\n        },\n        index: idx\n      };\n    });\n    sortTargets.sort(function (a, b) {\n      return sortOrder(a.params, b.params);\n    });\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](sortTargets, function (target) {\n      return children[target.index];\n    });\n  } else {\n    var isAsc_1 = sortOrder === 'asc';\n    return children.sort(function (a, b) {\n      var diff = (a.getValue() - b.getValue()) * (isAsc_1 ? 1 : -1);\n      return diff === 0 ? (a.dataIndex - b.dataIndex) * (isAsc_1 ? -1 : 1) : diff;\n    });\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/sunburst/sunburstVisual.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/sunburst/sunburstVisual.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sunburstVisual; });\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction sunburstVisual(ecModel) {\n  var paletteScope = {}; // Default color strategy\n\n  function pickColor(node, seriesModel, treeHeight) {\n    // Choose color from palette based on the first level.\n    var current = node;\n\n    while (current && current.depth > 1) {\n      current = current.parentNode;\n    }\n\n    var color = seriesModel.getColorFromPalette(current.name || current.dataIndex + '', paletteScope);\n\n    if (node.depth > 1 && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(color)) {\n      // Lighter on the deeper level.\n      color = Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_0__[\"lift\"])(color, (node.depth - 1) / (treeHeight - 1) * 0.5);\n    }\n\n    return color;\n  }\n\n  ecModel.eachSeriesByType('sunburst', function (seriesModel) {\n    var data = seriesModel.getData();\n    var tree = data.tree;\n    tree.eachNode(function (node) {\n      var model = node.getModel();\n      var style = model.getModel('itemStyle').getItemStyle();\n\n      if (!style.fill) {\n        style.fill = pickColor(node, seriesModel, tree.root.height);\n      }\n\n      var existsStyle = data.ensureUniqueItemVisual(node.dataIndex, 'style');\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(existsStyle, style);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/helper/createDimensions.js */ \"./node_modules/echarts/lib/data/helper/createDimensions.js\");\n/* harmony import */ var _data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/helper/dimensionHelper.js */ \"./node_modules/echarts/lib/data/helper/dimensionHelper.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../visual/LegendVisualProvider.js */ \"./node_modules/echarts/lib/visual/LegendVisualProvider.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar DATA_NAME_INDEX = 2;\n\nvar ThemeRiverSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ThemeRiverSeriesModel, _super);\n\n  function ThemeRiverSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ThemeRiverSeriesModel.type;\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  ThemeRiverSeriesModel.prototype.init = function (option) {\n    // eslint-disable-next-line\n    _super.prototype.init.apply(this, arguments); // Put this function here is for the sake of consistency of code style.\n    // Enable legend selection for each data item\n    // Use a function instead of direct access because data reference may changed\n\n\n    this.legendVisualProvider = new _visual_LegendVisualProvider_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"bind\"](this.getData, this), zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"bind\"](this.getRawData, this));\n  };\n  /**\n   * If there is no value of a certain point in the time for some event,set it value to 0.\n   *\n   * @param {Array} data  initial data in the option\n   * @return {Array}\n   */\n\n\n  ThemeRiverSeriesModel.prototype.fixData = function (data) {\n    var rawDataLength = data.length;\n    /**\n     * Make sure every layer data get the same keys.\n     * The value index tells which layer has visited.\n     * {\n     *  2014/01/01: -1\n     * }\n     */\n\n    var timeValueKeys = {}; // grouped data by name\n\n    var groupResult = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"groupData\"])(data, function (item) {\n      if (!timeValueKeys.hasOwnProperty(item[0] + '')) {\n        timeValueKeys[item[0] + ''] = -1;\n      }\n\n      return item[2];\n    });\n    var layerData = [];\n    groupResult.buckets.each(function (items, key) {\n      layerData.push({\n        name: key,\n        dataList: items\n      });\n    });\n    var layerNum = layerData.length;\n\n    for (var k = 0; k < layerNum; ++k) {\n      var name_1 = layerData[k].name;\n\n      for (var j = 0; j < layerData[k].dataList.length; ++j) {\n        var timeValue = layerData[k].dataList[j][0] + '';\n        timeValueKeys[timeValue] = k;\n      }\n\n      for (var timeValue in timeValueKeys) {\n        if (timeValueKeys.hasOwnProperty(timeValue) && timeValueKeys[timeValue] !== k) {\n          timeValueKeys[timeValue] = k;\n          data[rawDataLength] = [timeValue, 0, name_1];\n          rawDataLength++;\n        }\n      }\n    }\n\n    return data;\n  };\n  /**\n   * @override\n   * @param  option  the initial option that user gived\n   * @param  ecModel  the model object for themeRiver option\n   */\n\n\n  ThemeRiverSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    var singleAxisModel = this.getReferringComponents('singleAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"SINGLE_REFERRING\"]).models[0];\n    var axisType = singleAxisModel.get('type'); // filter the data item with the value of label is undefined\n\n    var filterData = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"filter\"](option.data, function (dataItem) {\n      return dataItem[2] !== undefined;\n    }); // ??? TODO design a stage to transfer data for themeRiver and lines?\n\n    var data = this.fixData(filterData || []);\n    var nameList = [];\n    var nameMap = this.nameMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"createHashMap\"]();\n    var count = 0;\n\n    for (var i = 0; i < data.length; ++i) {\n      nameList.push(data[i][DATA_NAME_INDEX]);\n\n      if (!nameMap.get(data[i][DATA_NAME_INDEX])) {\n        nameMap.set(data[i][DATA_NAME_INDEX], count);\n        count++;\n      }\n    }\n\n    var dimensions = Object(_data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(data, {\n      coordDimensions: ['single'],\n      dimensionsDefine: [{\n        name: 'time',\n        type: Object(_data_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getDimensionTypeByAxis\"])(axisType)\n      }, {\n        name: 'value',\n        type: 'float'\n      }, {\n        name: 'name',\n        type: 'ordinal'\n      }],\n      encodeDefine: {\n        single: 0,\n        value: 1,\n        itemName: 2\n      }\n    }).dimensions;\n    var list = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](dimensions, this);\n    list.initData(data);\n    return list;\n  };\n  /**\n   * The raw data is divided into multiple layers and each layer\n   *     has same name.\n   */\n\n\n  ThemeRiverSeriesModel.prototype.getLayerSeries = function () {\n    var data = this.getData();\n    var lenCount = data.count();\n    var indexArr = [];\n\n    for (var i = 0; i < lenCount; ++i) {\n      indexArr[i] = i;\n    }\n\n    var timeDim = data.mapDimension('single'); // data group by name\n\n    var groupResult = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"groupData\"])(indexArr, function (index) {\n      return data.get('name', index);\n    });\n    var layerSeries = [];\n    groupResult.buckets.each(function (items, key) {\n      items.sort(function (index1, index2) {\n        return data.get(timeDim, index1) - data.get(timeDim, index2);\n      });\n      layerSeries.push({\n        name: key,\n        indices: items\n      });\n    });\n    return layerSeries;\n  };\n  /**\n   * Get data indices for show tooltip content\n   */\n\n\n  ThemeRiverSeriesModel.prototype.getAxisTooltipData = function (dim, value, baseAxis) {\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArray\"](dim)) {\n      dim = dim ? [dim] : [];\n    }\n\n    var data = this.getData();\n    var layerSeries = this.getLayerSeries();\n    var indices = [];\n    var layerNum = layerSeries.length;\n    var nestestValue;\n\n    for (var i = 0; i < layerNum; ++i) {\n      var minDist = Number.MAX_VALUE;\n      var nearestIdx = -1;\n      var pointNum = layerSeries[i].indices.length;\n\n      for (var j = 0; j < pointNum; ++j) {\n        var theValue = data.get(dim[0], layerSeries[i].indices[j]);\n        var dist = Math.abs(theValue - value);\n\n        if (dist <= minDist) {\n          nestestValue = theValue;\n          minDist = dist;\n          nearestIdx = layerSeries[i].indices[j];\n        }\n      }\n\n      indices.push(nearestIdx);\n    }\n\n    return {\n      dataIndices: indices,\n      nestestValue: nestestValue\n    };\n  };\n\n  ThemeRiverSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    var data = this.getData();\n    var name = data.getName(dataIndex);\n    var value = data.get(data.mapDimension('value'), dataIndex);\n    return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_8__[\"createTooltipMarkup\"])('nameValue', {\n      name: name,\n      value: value\n    });\n  };\n\n  ThemeRiverSeriesModel.type = 'series.themeRiver';\n  ThemeRiverSeriesModel.dependencies = ['singleAxis'];\n  ThemeRiverSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    colorBy: 'data',\n    coordinateSystem: 'singleAxis',\n    // gap in axis's orthogonal orientation\n    boundaryGap: ['10%', '10%'],\n    // legendHoverLink: true,\n    singleAxisIndex: 0,\n    animationEasing: 'linear',\n    label: {\n      margin: 4,\n      show: true,\n      position: 'left',\n      fontSize: 11\n    },\n    emphasis: {\n      label: {\n        show: true\n      }\n    }\n  };\n  return ThemeRiverSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemeRiverSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _line_poly_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/poly.js */ \"./node_modules/echarts/lib/chart/line/poly.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\nvar ThemeRiverView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ThemeRiverView, _super);\n\n  function ThemeRiverView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ThemeRiverView.type;\n    _this._layers = [];\n    return _this;\n  }\n\n  ThemeRiverView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    var self = this;\n    var group = this.group;\n    var layersSeries = seriesModel.getLayerSeries();\n    var layoutInfo = data.getLayout('layoutInfo');\n    var rect = layoutInfo.rect;\n    var boundaryGap = layoutInfo.boundaryGap;\n    group.x = 0;\n    group.y = rect.y + boundaryGap[0];\n\n    function keyGetter(item) {\n      return item.name;\n    }\n\n    var dataDiffer = new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this._layersSeries || [], layersSeries, keyGetter, keyGetter);\n    var newLayersGroups = [];\n    dataDiffer.add(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"bind\"])(process, this, 'add')).update(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"bind\"])(process, this, 'update')).remove(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"bind\"])(process, this, 'remove')).execute();\n\n    function process(status, idx, oldIdx) {\n      var oldLayersGroups = self._layers;\n\n      if (status === 'remove') {\n        group.remove(oldLayersGroups[idx]);\n        return;\n      }\n\n      var points0 = [];\n      var points1 = [];\n      var style;\n      var indices = layersSeries[idx].indices;\n      var j = 0;\n\n      for (; j < indices.length; j++) {\n        var layout = data.getItemLayout(indices[j]);\n        var x = layout.x;\n        var y0 = layout.y0;\n        var y = layout.y;\n        points0.push(x, y0);\n        points1.push(x, y0 + y);\n        style = data.getItemVisual(indices[j], 'style');\n      }\n\n      var polygon;\n      var textLayout = data.getItemLayout(indices[0]);\n      var labelModel = seriesModel.getModel('label');\n      var margin = labelModel.get('margin');\n      var emphasisModel = seriesModel.getModel('emphasis');\n\n      if (status === 'add') {\n        var layerGroup = newLayersGroups[idx] = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n        polygon = new _line_poly_js__WEBPACK_IMPORTED_MODULE_1__[\"ECPolygon\"]({\n          shape: {\n            points: points0,\n            stackedOnPoints: points1,\n            smooth: 0.4,\n            stackedOnSmooth: 0.4,\n            smoothConstraint: false\n          },\n          z2: 0\n        });\n        layerGroup.add(polygon);\n        group.add(layerGroup);\n\n        if (seriesModel.isAnimationEnabled()) {\n          polygon.setClipPath(createGridClipShape(polygon.getBoundingRect(), seriesModel, function () {\n            polygon.removeClipPath();\n          }));\n        }\n      } else {\n        var layerGroup = oldLayersGroups[oldIdx];\n        polygon = layerGroup.childAt(0);\n        group.add(layerGroup);\n        newLayersGroups[idx] = layerGroup;\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](polygon, {\n          shape: {\n            points: points0,\n            stackedOnPoints: points1\n          }\n        }, seriesModel);\n        Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_8__[\"saveOldStyle\"])(polygon);\n      }\n\n      Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"setLabelStyle\"])(polygon, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"getLabelStatesModels\"])(seriesModel), {\n        labelDataIndex: indices[j - 1],\n        defaultText: data.getName(indices[j - 1]),\n        inheritColor: style.fill\n      }, {\n        normal: {\n          verticalAlign: 'middle' // align: 'right'\n\n        }\n      });\n      polygon.setTextConfig({\n        position: null,\n        local: true\n      });\n      var labelEl = polygon.getTextContent(); // TODO More label position options.\n\n      if (labelEl) {\n        labelEl.x = textLayout.x - margin;\n        labelEl.y = textLayout.y0 + textLayout.y / 2;\n      }\n\n      polygon.useStyle(style);\n      data.setItemGraphicEl(idx, polygon);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"setStatesStylesFromModel\"])(polygon, seriesModel);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_3__[\"toggleHoverEmphasis\"])(polygon, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n    }\n\n    this._layersSeries = layersSeries;\n    this._layers = newLayersGroups;\n  };\n\n  ThemeRiverView.type = 'themeRiver';\n  return ThemeRiverView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n; // add animation to the view\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n  var rectEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n    shape: {\n      x: rect.x - 10,\n      y: rect.y - 10,\n      width: 0,\n      height: rect.height + 20\n    }\n  });\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"initProps\"](rectEl, {\n    shape: {\n      x: rect.x - 50,\n      width: rect.width + 100,\n      height: rect.height + 20\n    }\n  }, seriesModel, cb);\n  return rectEl;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemeRiverView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/themeRiver/install.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/themeRiver/install.js ***!
  \**************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _ThemeRiverView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ThemeRiverView.js */ \"./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js\");\n/* harmony import */ var _ThemeRiverSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ThemeRiverSeries.js */ \"./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js\");\n/* harmony import */ var _themeRiverLayout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./themeRiverLayout.js */ \"./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js\");\n/* harmony import */ var _processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../processor/dataFilter.js */ \"./node_modules/echarts/lib/processor/dataFilter.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_ThemeRiverView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_ThemeRiverSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(_themeRiverLayout_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerProcessor(Object(_processor_dataFilter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('themeRiver'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/themeRiver/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return themeRiverLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction themeRiverLayout(ecModel, api) {\n  ecModel.eachSeriesByType('themeRiver', function (seriesModel) {\n    var data = seriesModel.getData();\n    var single = seriesModel.coordinateSystem;\n    var layoutInfo = {}; // use the axis boundingRect for view\n\n    var rect = single.getRect();\n    layoutInfo.rect = rect;\n    var boundaryGap = seriesModel.get('boundaryGap');\n    var axis = single.getAxis();\n    layoutInfo.boundaryGap = boundaryGap;\n\n    if (axis.orient === 'horizontal') {\n      boundaryGap[0] = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"](boundaryGap[0], rect.height);\n      boundaryGap[1] = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"](boundaryGap[1], rect.height);\n      var height = rect.height - boundaryGap[0] - boundaryGap[1];\n      doThemeRiverLayout(data, seriesModel, height);\n    } else {\n      boundaryGap[0] = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"](boundaryGap[0], rect.width);\n      boundaryGap[1] = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"](boundaryGap[1], rect.width);\n      var width = rect.width - boundaryGap[0] - boundaryGap[1];\n      doThemeRiverLayout(data, seriesModel, width);\n    }\n\n    data.setLayout('layoutInfo', layoutInfo);\n  });\n}\n/**\n * The layout information about themeriver\n *\n * @param data  data in the series\n * @param seriesModel  the model object of themeRiver series\n * @param height  value used to compute every series height\n */\n\nfunction doThemeRiverLayout(data, seriesModel, height) {\n  if (!data.count()) {\n    return;\n  }\n\n  var coordSys = seriesModel.coordinateSystem; // the data in each layer are organized into a series.\n\n  var layerSeries = seriesModel.getLayerSeries(); // the points in each layer.\n\n  var timeDim = data.mapDimension('single');\n  var valueDim = data.mapDimension('value');\n  var layerPoints = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](layerSeries, function (singleLayer) {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](singleLayer.indices, function (idx) {\n      var pt = coordSys.dataToPoint(data.get(timeDim, idx));\n      pt[1] = data.get(valueDim, idx);\n      return pt;\n    });\n  });\n  var base = computeBaseline(layerPoints);\n  var baseLine = base.y0;\n  var ky = height / base.max; // set layout information for each item.\n\n  var n = layerSeries.length;\n  var m = layerSeries[0].indices.length;\n  var baseY0;\n\n  for (var j = 0; j < m; ++j) {\n    baseY0 = baseLine[j] * ky;\n    data.setItemLayout(layerSeries[0].indices[j], {\n      layerIndex: 0,\n      x: layerPoints[0][j][0],\n      y0: baseY0,\n      y: layerPoints[0][j][1] * ky\n    });\n\n    for (var i = 1; i < n; ++i) {\n      baseY0 += layerPoints[i - 1][j][1] * ky;\n      data.setItemLayout(layerSeries[i].indices[j], {\n        layerIndex: i,\n        x: layerPoints[i][j][0],\n        y0: baseY0,\n        y: layerPoints[i][j][1] * ky\n      });\n    }\n  }\n}\n/**\n * Compute the baseLine of the rawdata\n * Inspired by Lee Byron's paper Stacked Graphs - Geometry & Aesthetics\n *\n * @param  data  the points in each layer\n */\n\n\nfunction computeBaseline(data) {\n  var layerNum = data.length;\n  var pointNum = data[0].length;\n  var sums = [];\n  var y0 = [];\n  var max = 0;\n\n  for (var i = 0; i < pointNum; ++i) {\n    var temp = 0;\n\n    for (var j = 0; j < layerNum; ++j) {\n      temp += data[j][i][1];\n    }\n\n    if (temp > max) {\n      max = temp;\n    }\n\n    sums.push(temp);\n  }\n\n  for (var k = 0; k < pointNum; ++k) {\n    y0[k] = (max - sums[k]) / 2;\n  }\n\n  max = 0;\n\n  for (var l = 0; l < pointNum; ++l) {\n    var sum = sums[l] + y0[l];\n\n    if (sum > max) {\n      max = sum;\n    }\n  }\n\n  return {\n    y0: y0,\n    max: max\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/TreeSeries.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/TreeSeries.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _data_Tree_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/Tree.js */ \"./node_modules/echarts/lib/data/Tree.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar TreeSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TreeSeriesModel, _super);\n\n  function TreeSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.hasSymbolVisual = true; // Do it self.\n\n    _this.ignoreStyleOnData = true;\n    return _this;\n  }\n  /**\n   * Init a tree data structure from data in option series\n   */\n\n\n  TreeSeriesModel.prototype.getInitialData = function (option) {\n    //create an virtual root\n    var root = {\n      name: option.name,\n      children: option.data\n    };\n    var leaves = option.leaves || {};\n    var leavesModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](leaves, this, this.ecModel);\n    var tree = _data_Tree_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].createTree(root, this, beforeLink);\n\n    function beforeLink(nodeData) {\n      nodeData.wrapMethod('getItemModel', function (model, idx) {\n        var node = tree.getNodeByDataIndex(idx);\n\n        if (!(node && node.children.length && node.isExpand)) {\n          model.parentModel = leavesModel;\n        }\n\n        return model;\n      });\n    }\n\n    var treeDepth = 0;\n    tree.eachNode('preorder', function (node) {\n      if (node.depth > treeDepth) {\n        treeDepth = node.depth;\n      }\n    });\n    var expandAndCollapse = option.expandAndCollapse;\n    var expandTreeDepth = expandAndCollapse && option.initialTreeDepth >= 0 ? option.initialTreeDepth : treeDepth;\n    tree.root.eachNode('preorder', function (node) {\n      var item = node.hostTree.data.getRawDataItem(node.dataIndex); // Add item.collapsed != null, because users can collapse node original in the series.data.\n\n      node.isExpand = item && item.collapsed != null ? !item.collapsed : node.depth <= expandTreeDepth;\n    });\n    return tree.data;\n  };\n  /**\n   * Make the configuration 'orient' backward compatibly, with 'horizontal = LR', 'vertical = TB'.\n   * @returns {string} orient\n   */\n\n\n  TreeSeriesModel.prototype.getOrient = function () {\n    var orient = this.get('orient');\n\n    if (orient === 'horizontal') {\n      orient = 'LR';\n    } else if (orient === 'vertical') {\n      orient = 'TB';\n    }\n\n    return orient;\n  };\n\n  TreeSeriesModel.prototype.setZoom = function (zoom) {\n    this.option.zoom = zoom;\n  };\n\n  TreeSeriesModel.prototype.setCenter = function (center) {\n    this.option.center = center;\n  };\n\n  TreeSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    var tree = this.getData().tree;\n    var realRoot = tree.root.children[0];\n    var node = tree.getNodeByDataIndex(dataIndex);\n    var value = node.getValue();\n    var name = node.name;\n\n    while (node && node !== realRoot) {\n      name = node.parentNode.name + '.' + name;\n      node = node.parentNode;\n    }\n\n    return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_4__[\"createTooltipMarkup\"])('nameValue', {\n      name: name,\n      value: value,\n      noValue: isNaN(value) || value == null\n    });\n  }; // Add tree path to tooltip param\n\n\n  TreeSeriesModel.prototype.getDataParams = function (dataIndex) {\n    var params = _super.prototype.getDataParams.apply(this, arguments);\n\n    var node = this.getData().tree.getNodeByDataIndex(dataIndex);\n    params.treeAncestors = Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"wrapTreePathInfo\"])(node, this);\n    params.collapsed = !node.isExpand;\n    return params;\n  };\n\n  TreeSeriesModel.type = 'series.tree'; // can support the position parameters 'left', 'top','right','bottom', 'width',\n  // 'height' in the setOption() with 'merge' mode normal.\n\n  TreeSeriesModel.layoutMode = 'box';\n  TreeSeriesModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    coordinateSystem: 'view',\n    // the position of the whole view\n    left: '12%',\n    top: '12%',\n    right: '12%',\n    bottom: '12%',\n    // the layout of the tree, two value can be selected, 'orthogonal' or 'radial'\n    layout: 'orthogonal',\n    // value can be 'polyline'\n    edgeShape: 'curve',\n    edgeForkPosition: '50%',\n    // true | false | 'move' | 'scale', see module:component/helper/RoamController.\n    roam: false,\n    // Symbol size scale ratio in roam\n    nodeScaleRatio: 0.4,\n    // Default on center of graph\n    center: null,\n    zoom: 1,\n    orient: 'LR',\n    symbol: 'emptyCircle',\n    symbolSize: 7,\n    expandAndCollapse: true,\n    initialTreeDepth: 2,\n    lineStyle: {\n      color: '#ccc',\n      width: 1.5,\n      curveness: 0.5\n    },\n    itemStyle: {\n      color: 'lightsteelblue',\n      // borderColor: '#c23531',\n      borderWidth: 1.5\n    },\n    label: {\n      show: true\n    },\n    animationEasing: 'linear',\n    animationDuration: 700,\n    animationDurationUpdate: 500\n  };\n  return TreeSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TreeSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/TreeSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/TreeView.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/TreeView.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _helper_Symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helper/Symbol.js */ \"./node_modules/echarts/lib/chart/helper/Symbol.js\");\n/* harmony import */ var _layoutHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./layoutHelper.js */ \"./node_modules/echarts/lib/chart/tree/layoutHelper.js\");\n/* harmony import */ var zrender_lib_core_bbox_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/bbox.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/bbox.js\");\n/* harmony import */ var _coord_View_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../coord/View.js */ \"./node_modules/echarts/lib/coord/View.js\");\n/* harmony import */ var _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../component/helper/roamHelper.js */ \"./node_modules/echarts/lib/component/helper/roamHelper.js\");\n/* harmony import */ var _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../component/helper/RoamController.js */ \"./node_modules/echarts/lib/component/helper/RoamController.js\");\n/* harmony import */ var _component_helper_cursorHelper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../component/helper/cursorHelper.js */ \"./node_modules/echarts/lib/component/helper/cursorHelper.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar TreeEdgeShape =\n/** @class */\nfunction () {\n  function TreeEdgeShape() {\n    this.parentPoint = [];\n    this.childPoints = [];\n  }\n\n  return TreeEdgeShape;\n}();\n\nvar TreePath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TreePath, _super);\n\n  function TreePath(opts) {\n    return _super.call(this, opts) || this;\n  }\n\n  TreePath.prototype.getDefaultStyle = function () {\n    return {\n      stroke: '#000',\n      fill: null\n    };\n  };\n\n  TreePath.prototype.getDefaultShape = function () {\n    return new TreeEdgeShape();\n  };\n\n  TreePath.prototype.buildPath = function (ctx, shape) {\n    var childPoints = shape.childPoints;\n    var childLen = childPoints.length;\n    var parentPoint = shape.parentPoint;\n    var firstChildPos = childPoints[0];\n    var lastChildPos = childPoints[childLen - 1];\n\n    if (childLen === 1) {\n      ctx.moveTo(parentPoint[0], parentPoint[1]);\n      ctx.lineTo(firstChildPos[0], firstChildPos[1]);\n      return;\n    }\n\n    var orient = shape.orient;\n    var forkDim = orient === 'TB' || orient === 'BT' ? 0 : 1;\n    var otherDim = 1 - forkDim;\n    var forkPosition = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_11__[\"parsePercent\"])(shape.forkPosition, 1);\n    var tmpPoint = [];\n    tmpPoint[forkDim] = parentPoint[forkDim];\n    tmpPoint[otherDim] = parentPoint[otherDim] + (lastChildPos[otherDim] - parentPoint[otherDim]) * forkPosition;\n    ctx.moveTo(parentPoint[0], parentPoint[1]);\n    ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n    ctx.moveTo(firstChildPos[0], firstChildPos[1]);\n    tmpPoint[forkDim] = firstChildPos[forkDim];\n    ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n    tmpPoint[forkDim] = lastChildPos[forkDim];\n    ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n    ctx.lineTo(lastChildPos[0], lastChildPos[1]);\n\n    for (var i = 1; i < childLen - 1; i++) {\n      var point = childPoints[i];\n      ctx.moveTo(point[0], point[1]);\n      tmpPoint[forkDim] = point[forkDim];\n      ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n    }\n  };\n\n  return TreePath;\n}(zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]);\n\nvar TreeView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TreeView, _super);\n\n  function TreeView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TreeView.type;\n    _this._mainGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n    return _this;\n  }\n\n  TreeView.prototype.init = function (ecModel, api) {\n    this._controller = new _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"](api.getZr());\n    this._controllerHost = {\n      target: this.group\n    };\n    this.group.add(this._mainGroup);\n  };\n\n  TreeView.prototype.render = function (seriesModel, ecModel, api) {\n    var data = seriesModel.getData();\n    var layoutInfo = seriesModel.layoutInfo;\n    var group = this._mainGroup;\n    var layout = seriesModel.get('layout');\n\n    if (layout === 'radial') {\n      group.x = layoutInfo.x + layoutInfo.width / 2;\n      group.y = layoutInfo.y + layoutInfo.height / 2;\n    } else {\n      group.x = layoutInfo.x;\n      group.y = layoutInfo.y;\n    }\n\n    this._updateViewCoordSys(seriesModel, api);\n\n    this._updateController(seriesModel, ecModel, api);\n\n    var oldData = this._data;\n    data.diff(oldData).add(function (newIdx) {\n      if (symbolNeedsDraw(data, newIdx)) {\n        // Create node and edge\n        updateNode(data, newIdx, null, group, seriesModel);\n      }\n    }).update(function (newIdx, oldIdx) {\n      var symbolEl = oldData.getItemGraphicEl(oldIdx);\n\n      if (!symbolNeedsDraw(data, newIdx)) {\n        symbolEl && removeNode(oldData, oldIdx, symbolEl, group, seriesModel);\n        return;\n      } // Update node and edge\n\n\n      updateNode(data, newIdx, symbolEl, group, seriesModel);\n    }).remove(function (oldIdx) {\n      var symbolEl = oldData.getItemGraphicEl(oldIdx); // When remove a collapsed node of subtree, since the collapsed\n      // node haven't been initialized with a symbol element,\n      // you can't found it's symbol element through index.\n      // so if we want to remove the symbol element we should insure\n      // that the symbol element is not null.\n\n      if (symbolEl) {\n        removeNode(oldData, oldIdx, symbolEl, group, seriesModel);\n      }\n    }).execute();\n    this._nodeScaleRatio = seriesModel.get('nodeScaleRatio');\n\n    this._updateNodeAndLinkScale(seriesModel);\n\n    if (seriesModel.get('expandAndCollapse') === true) {\n      data.eachItemGraphicEl(function (el, dataIndex) {\n        el.off('click').on('click', function () {\n          api.dispatchAction({\n            type: 'treeExpandAndCollapse',\n            seriesId: seriesModel.id,\n            dataIndex: dataIndex\n          });\n        });\n      });\n    }\n\n    this._data = data;\n  };\n\n  TreeView.prototype._updateViewCoordSys = function (seriesModel, api) {\n    var data = seriesModel.getData();\n    var points = [];\n    data.each(function (idx) {\n      var layout = data.getItemLayout(idx);\n\n      if (layout && !isNaN(layout.x) && !isNaN(layout.y)) {\n        points.push([+layout.x, +layout.y]);\n      }\n    });\n    var min = [];\n    var max = [];\n    zrender_lib_core_bbox_js__WEBPACK_IMPORTED_MODULE_6__[\"fromPoints\"](points, min, max); // If don't Store min max when collapse the root node after roam,\n    // the root node will disappear.\n\n    var oldMin = this._min;\n    var oldMax = this._max; // If width or height is 0\n\n    if (max[0] - min[0] === 0) {\n      min[0] = oldMin ? oldMin[0] : min[0] - 1;\n      max[0] = oldMax ? oldMax[0] : max[0] + 1;\n    }\n\n    if (max[1] - min[1] === 0) {\n      min[1] = oldMin ? oldMin[1] : min[1] - 1;\n      max[1] = oldMax ? oldMax[1] : max[1] + 1;\n    }\n\n    var viewCoordSys = seriesModel.coordinateSystem = new _coord_View_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n    viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n    viewCoordSys.setBoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n    viewCoordSys.setCenter(seriesModel.get('center'), api);\n    viewCoordSys.setZoom(seriesModel.get('zoom')); // Here we use viewCoordSys just for computing the 'position' and 'scale' of the group\n\n    this.group.attr({\n      x: viewCoordSys.x,\n      y: viewCoordSys.y,\n      scaleX: viewCoordSys.scaleX,\n      scaleY: viewCoordSys.scaleY\n    });\n    this._min = min;\n    this._max = max;\n  };\n\n  TreeView.prototype._updateController = function (seriesModel, ecModel, api) {\n    var _this = this;\n\n    var controller = this._controller;\n    var controllerHost = this._controllerHost;\n    var group = this.group;\n    controller.setPointerChecker(function (e, x, y) {\n      var rect = group.getBoundingRect();\n      rect.applyTransform(group.transform);\n      return rect.contain(x, y) && !Object(_component_helper_cursorHelper_js__WEBPACK_IMPORTED_MODULE_10__[\"onIrrelevantElement\"])(e, api, seriesModel);\n    });\n    controller.enable(seriesModel.get('roam'));\n    controllerHost.zoomLimit = seriesModel.get('scaleLimit');\n    controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\n    controller.off('pan').off('zoom').on('pan', function (e) {\n      _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"updateViewOnPan\"](controllerHost, e.dx, e.dy);\n      api.dispatchAction({\n        seriesId: seriesModel.id,\n        type: 'treeRoam',\n        dx: e.dx,\n        dy: e.dy\n      });\n    }).on('zoom', function (e) {\n      _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"updateViewOnZoom\"](controllerHost, e.scale, e.originX, e.originY);\n      api.dispatchAction({\n        seriesId: seriesModel.id,\n        type: 'treeRoam',\n        zoom: e.scale,\n        originX: e.originX,\n        originY: e.originY\n      });\n\n      _this._updateNodeAndLinkScale(seriesModel); // Only update label layout on zoom\n\n\n      api.updateLabelLayout();\n    });\n  };\n\n  TreeView.prototype._updateNodeAndLinkScale = function (seriesModel) {\n    var data = seriesModel.getData();\n\n    var nodeScale = this._getNodeGlobalScale(seriesModel);\n\n    data.eachItemGraphicEl(function (el, idx) {\n      el.setSymbolScale(nodeScale);\n    });\n  };\n\n  TreeView.prototype._getNodeGlobalScale = function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys.type !== 'view') {\n      return 1;\n    }\n\n    var nodeScaleRatio = this._nodeScaleRatio;\n    var groupZoom = coordSys.scaleX || 1; // Scale node when zoom changes\n\n    var roamZoom = coordSys.getZoom();\n    var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;\n    return nodeScale / groupZoom;\n  };\n\n  TreeView.prototype.dispose = function () {\n    this._controller && this._controller.dispose();\n    this._controllerHost = null;\n  };\n\n  TreeView.prototype.remove = function () {\n    this._mainGroup.removeAll();\n\n    this._data = null;\n  };\n\n  TreeView.type = 'tree';\n  return TreeView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\n\nfunction symbolNeedsDraw(data, dataIndex) {\n  var layout = data.getItemLayout(dataIndex);\n  return layout && !isNaN(layout.x) && !isNaN(layout.y);\n}\n\nfunction updateNode(data, dataIndex, symbolEl, group, seriesModel) {\n  var isInit = !symbolEl;\n  var node = data.tree.getNodeByDataIndex(dataIndex);\n  var itemModel = node.getModel();\n  var visualColor = node.getVisual('style').fill;\n  var symbolInnerColor = node.isExpand === false && node.children.length !== 0 ? visualColor : '#fff';\n  var virtualRoot = data.tree.root;\n  var source = node.parentNode === virtualRoot ? node : node.parentNode || node;\n  var sourceSymbolEl = data.getItemGraphicEl(source.dataIndex);\n  var sourceLayout = source.getLayout();\n  var sourceOldLayout = sourceSymbolEl ? {\n    x: sourceSymbolEl.__oldX,\n    y: sourceSymbolEl.__oldY,\n    rawX: sourceSymbolEl.__radialOldRawX,\n    rawY: sourceSymbolEl.__radialOldRawY\n  } : sourceLayout;\n  var targetLayout = node.getLayout();\n\n  if (isInit) {\n    symbolEl = new _helper_Symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](data, dataIndex, null, {\n      symbolInnerColor: symbolInnerColor,\n      useNameLabel: true\n    });\n    symbolEl.x = sourceOldLayout.x;\n    symbolEl.y = sourceOldLayout.y;\n  } else {\n    symbolEl.updateData(data, dataIndex, null, {\n      symbolInnerColor: symbolInnerColor,\n      useNameLabel: true\n    });\n  }\n\n  symbolEl.__radialOldRawX = symbolEl.__radialRawX;\n  symbolEl.__radialOldRawY = symbolEl.__radialRawY;\n  symbolEl.__radialRawX = targetLayout.rawX;\n  symbolEl.__radialRawY = targetLayout.rawY;\n  group.add(symbolEl);\n  data.setItemGraphicEl(dataIndex, symbolEl);\n  symbolEl.__oldX = symbolEl.x;\n  symbolEl.__oldY = symbolEl.y;\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](symbolEl, {\n    x: targetLayout.x,\n    y: targetLayout.y\n  }, seriesModel);\n  var symbolPath = symbolEl.getSymbolPath();\n\n  if (seriesModel.get('layout') === 'radial') {\n    var realRoot = virtualRoot.children[0];\n    var rootLayout = realRoot.getLayout();\n    var length_1 = realRoot.children.length;\n    var rad = void 0;\n    var isLeft = void 0;\n\n    if (targetLayout.x === rootLayout.x && node.isExpand === true && realRoot.children.length) {\n      var center = {\n        x: (realRoot.children[0].getLayout().x + realRoot.children[length_1 - 1].getLayout().x) / 2,\n        y: (realRoot.children[0].getLayout().y + realRoot.children[length_1 - 1].getLayout().y) / 2\n      };\n      rad = Math.atan2(center.y - rootLayout.y, center.x - rootLayout.x);\n\n      if (rad < 0) {\n        rad = Math.PI * 2 + rad;\n      }\n\n      isLeft = center.x < rootLayout.x;\n\n      if (isLeft) {\n        rad = rad - Math.PI;\n      }\n    } else {\n      rad = Math.atan2(targetLayout.y - rootLayout.y, targetLayout.x - rootLayout.x);\n\n      if (rad < 0) {\n        rad = Math.PI * 2 + rad;\n      }\n\n      if (node.children.length === 0 || node.children.length !== 0 && node.isExpand === false) {\n        isLeft = targetLayout.x < rootLayout.x;\n\n        if (isLeft) {\n          rad = rad - Math.PI;\n        }\n      } else {\n        isLeft = targetLayout.x > rootLayout.x;\n\n        if (!isLeft) {\n          rad = rad - Math.PI;\n        }\n      }\n    }\n\n    var textPosition = isLeft ? 'left' : 'right';\n    var normalLabelModel = itemModel.getModel('label');\n    var rotate = normalLabelModel.get('rotate');\n    var labelRotateRadian = rotate * (Math.PI / 180);\n    var textContent = symbolPath.getTextContent();\n\n    if (textContent) {\n      symbolPath.setTextConfig({\n        position: normalLabelModel.get('position') || textPosition,\n        rotation: rotate == null ? -rad : labelRotateRadian,\n        origin: 'center'\n      });\n      textContent.setStyle('verticalAlign', 'middle');\n    }\n  } // Handle status\n\n\n  var focus = itemModel.get(['emphasis', 'focus']);\n  var focusDataIndices = focus === 'relative' ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"concatArray\"](node.getAncestorsIndices(), node.getDescendantIndices()) : focus === 'ancestor' ? node.getAncestorsIndices() : focus === 'descendant' ? node.getDescendantIndices() : null;\n\n  if (focusDataIndices) {\n    // Modify the focus to data indices.\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(symbolEl).focus = focusDataIndices;\n  }\n\n  drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group);\n\n  if (symbolEl.__edge) {\n    symbolEl.onHoverStateChange = function (toState) {\n      if (toState !== 'blur') {\n        // NOTE: Ensure the parent elements will been blurred firstly.\n        // According to the return of getAncestorsIndices and getDescendantIndices\n        // TODO: A bit tricky.\n        var parentEl = node.parentNode && data.getItemGraphicEl(node.parentNode.dataIndex);\n\n        if (!(parentEl && parentEl.hoverState === _util_states_js__WEBPACK_IMPORTED_MODULE_14__[\"HOVER_STATE_BLUR\"])) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_14__[\"setStatesFlag\"])(symbolEl.__edge, toState);\n        }\n      }\n    };\n  }\n}\n\nfunction drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group) {\n  var itemModel = node.getModel();\n  var edgeShape = seriesModel.get('edgeShape');\n  var layout = seriesModel.get('layout');\n  var orient = seriesModel.getOrient();\n  var curvature = seriesModel.get(['lineStyle', 'curveness']);\n  var edgeForkPosition = seriesModel.get('edgeForkPosition');\n  var lineStyle = itemModel.getModel('lineStyle').getLineStyle();\n  var edge = symbolEl.__edge; // curve edge from node -> parent\n  // polyline edge from node -> children\n\n  if (edgeShape === 'curve') {\n    if (node.parentNode && node.parentNode !== virtualRoot) {\n      if (!edge) {\n        edge = symbolEl.__edge = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"BezierCurve\"]({\n          shape: getEdgeShape(layout, orient, curvature, sourceOldLayout, sourceOldLayout)\n        });\n      }\n\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](edge, {\n        shape: getEdgeShape(layout, orient, curvature, sourceLayout, targetLayout)\n      }, seriesModel);\n    }\n  } else if (edgeShape === 'polyline') {\n    if (layout === 'orthogonal') {\n      if (node !== virtualRoot && node.children && node.children.length !== 0 && node.isExpand === true) {\n        var children = node.children;\n        var childPoints = [];\n\n        for (var i = 0; i < children.length; i++) {\n          var childLayout = children[i].getLayout();\n          childPoints.push([childLayout.x, childLayout.y]);\n        }\n\n        if (!edge) {\n          edge = symbolEl.__edge = new TreePath({\n            shape: {\n              parentPoint: [targetLayout.x, targetLayout.y],\n              childPoints: [[targetLayout.x, targetLayout.y]],\n              orient: orient,\n              forkPosition: edgeForkPosition\n            }\n          });\n        }\n\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](edge, {\n          shape: {\n            parentPoint: [targetLayout.x, targetLayout.y],\n            childPoints: childPoints\n          }\n        }, seriesModel);\n      }\n    } else {\n      if (true) {\n        throw new Error('The polyline edgeShape can only be used in orthogonal layout');\n      }\n    }\n  } // show all edge when edgeShape is 'curve', filter node `isExpand` is false when edgeShape is 'polyline'\n\n\n  if (edge && !(edgeShape === 'polyline' && !node.isExpand)) {\n    edge.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n      strokeNoScale: true,\n      fill: null\n    }, lineStyle));\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_14__[\"setStatesStylesFromModel\"])(edge, itemModel, 'lineStyle');\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_14__[\"setDefaultStateProxy\"])(edge);\n    group.add(edge);\n  }\n}\n\nfunction removeNodeEdge(node, data, group, seriesModel, removeAnimationOpt) {\n  var virtualRoot = data.tree.root;\n\n  var _a = getSourceNode(virtualRoot, node),\n      source = _a.source,\n      sourceLayout = _a.sourceLayout;\n\n  var symbolEl = data.getItemGraphicEl(node.dataIndex);\n\n  if (!symbolEl) {\n    return;\n  }\n\n  var sourceSymbolEl = data.getItemGraphicEl(source.dataIndex);\n  var sourceEdge = sourceSymbolEl.__edge; // 1. when expand the sub tree, delete the children node should delete the edge of\n  // the source at the same time. because the polyline edge shape is only owned by the source.\n  // 2.when the node is the only children of the source, delete the node should delete the edge of\n  // the source at the same time. the same reason as above.\n\n  var edge = symbolEl.__edge || (source.isExpand === false || source.children.length === 1 ? sourceEdge : undefined);\n  var edgeShape = seriesModel.get('edgeShape');\n  var layoutOpt = seriesModel.get('layout');\n  var orient = seriesModel.get('orient');\n  var curvature = seriesModel.get(['lineStyle', 'curveness']);\n\n  if (edge) {\n    if (edgeShape === 'curve') {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElement\"](edge, {\n        shape: getEdgeShape(layoutOpt, orient, curvature, sourceLayout, sourceLayout),\n        style: {\n          opacity: 0\n        }\n      }, seriesModel, {\n        cb: function () {\n          group.remove(edge);\n        },\n        removeOpt: removeAnimationOpt\n      });\n    } else if (edgeShape === 'polyline' && seriesModel.get('layout') === 'orthogonal') {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElement\"](edge, {\n        shape: {\n          parentPoint: [sourceLayout.x, sourceLayout.y],\n          childPoints: [[sourceLayout.x, sourceLayout.y]]\n        },\n        style: {\n          opacity: 0\n        }\n      }, seriesModel, {\n        cb: function () {\n          group.remove(edge);\n        },\n        removeOpt: removeAnimationOpt\n      });\n    }\n  }\n}\n\nfunction getSourceNode(virtualRoot, node) {\n  var source = node.parentNode === virtualRoot ? node : node.parentNode || node;\n  var sourceLayout;\n\n  while (sourceLayout = source.getLayout(), sourceLayout == null) {\n    source = source.parentNode === virtualRoot ? source : source.parentNode || source;\n  }\n\n  return {\n    source: source,\n    sourceLayout: sourceLayout\n  };\n}\n\nfunction removeNode(data, dataIndex, symbolEl, group, seriesModel) {\n  var node = data.tree.getNodeByDataIndex(dataIndex);\n  var virtualRoot = data.tree.root;\n  var sourceLayout = getSourceNode(virtualRoot, node).sourceLayout; // Use same duration and easing with update to have more consistent animation.\n\n  var removeAnimationOpt = {\n    duration: seriesModel.get('animationDurationUpdate'),\n    easing: seriesModel.get('animationEasingUpdate')\n  };\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"removeElement\"](symbolEl, {\n    x: sourceLayout.x + 1,\n    y: sourceLayout.y + 1\n  }, seriesModel, {\n    cb: function () {\n      group.remove(symbolEl);\n      data.setItemGraphicEl(dataIndex, null);\n    },\n    removeOpt: removeAnimationOpt\n  });\n  symbolEl.fadeOut(null, data.hostModel, {\n    fadeLabel: true,\n    animation: removeAnimationOpt\n  }); // remove edge as parent node\n\n  node.children.forEach(function (childNode) {\n    removeNodeEdge(childNode, data, group, seriesModel, removeAnimationOpt);\n  }); // remove edge as child node\n\n  removeNodeEdge(node, data, group, seriesModel, removeAnimationOpt);\n}\n\nfunction getEdgeShape(layoutOpt, orient, curvature, sourceLayout, targetLayout) {\n  var cpx1;\n  var cpy1;\n  var cpx2;\n  var cpy2;\n  var x1;\n  var x2;\n  var y1;\n  var y2;\n\n  if (layoutOpt === 'radial') {\n    x1 = sourceLayout.rawX;\n    y1 = sourceLayout.rawY;\n    x2 = targetLayout.rawX;\n    y2 = targetLayout.rawY;\n    var radialCoor1 = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"radialCoordinate\"])(x1, y1);\n    var radialCoor2 = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"radialCoordinate\"])(x1, y1 + (y2 - y1) * curvature);\n    var radialCoor3 = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"radialCoordinate\"])(x2, y2 + (y1 - y2) * curvature);\n    var radialCoor4 = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"radialCoordinate\"])(x2, y2);\n    return {\n      x1: radialCoor1.x || 0,\n      y1: radialCoor1.y || 0,\n      x2: radialCoor4.x || 0,\n      y2: radialCoor4.y || 0,\n      cpx1: radialCoor2.x || 0,\n      cpy1: radialCoor2.y || 0,\n      cpx2: radialCoor3.x || 0,\n      cpy2: radialCoor3.y || 0\n    };\n  } else {\n    x1 = sourceLayout.x;\n    y1 = sourceLayout.y;\n    x2 = targetLayout.x;\n    y2 = targetLayout.y;\n\n    if (orient === 'LR' || orient === 'RL') {\n      cpx1 = x1 + (x2 - x1) * curvature;\n      cpy1 = y1;\n      cpx2 = x2 + (x1 - x2) * curvature;\n      cpy2 = y2;\n    }\n\n    if (orient === 'TB' || orient === 'BT') {\n      cpx1 = x1;\n      cpy1 = y1 + (y2 - y1) * curvature;\n      cpx2 = x2;\n      cpy2 = y2 + (y1 - y2) * curvature;\n    }\n  }\n\n  return {\n    x1: x1,\n    y1: y1,\n    x2: x2,\n    y2: y2,\n    cpx1: cpx1,\n    cpy1: cpy1,\n    cpx2: cpx2,\n    cpy2: cpy2\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TreeView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/TreeView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/install.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/install.js ***!
  \********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _TreeView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TreeView.js */ \"./node_modules/echarts/lib/chart/tree/TreeView.js\");\n/* harmony import */ var _TreeSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TreeSeries.js */ \"./node_modules/echarts/lib/chart/tree/TreeSeries.js\");\n/* harmony import */ var _treeLayout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./treeLayout.js */ \"./node_modules/echarts/lib/chart/tree/treeLayout.js\");\n/* harmony import */ var _treeVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./treeVisual.js */ \"./node_modules/echarts/lib/chart/tree/treeVisual.js\");\n/* harmony import */ var _treeAction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./treeAction.js */ \"./node_modules/echarts/lib/chart/tree/treeAction.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  registers.registerChartView(_TreeView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerSeriesModel(_TreeSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerLayout(_treeLayout_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerVisual(_treeVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  Object(_treeAction_js__WEBPACK_IMPORTED_MODULE_4__[\"installTreeAction\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/layoutHelper.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/layoutHelper.js ***!
  \*************************************************************/
/*! exports provided: init, firstWalk, secondWalk, separation, radialCoordinate, getViewRect */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"firstWalk\", function() { return firstWalk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"secondWalk\", function() { return secondWalk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"separation\", function() { return separation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"radialCoordinate\", function() { return radialCoordinate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getViewRect\", function() { return getViewRect; });\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The tree layoutHelper implementation was originally copied from\n* \"d3.js\"(https://github.com/d3/d3-hierarchy) with\n* some modifications made for this project.\n* (see more details in the comment of the specific method below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the licence of \"d3.js\" (BSD-3Clause, see\n* </licenses/LICENSE-d3>).\n*/\n\n/**\n * @file The layout algorithm of node-link tree diagrams. Here we using Reingold-Tilford algorithm to drawing\n *       the tree.\n */\n\n/**\n * Initialize all computational message for following algorithm.\n */\n\nfunction init(inRoot) {\n  var root = inRoot;\n  root.hierNode = {\n    defaultAncestor: null,\n    ancestor: root,\n    prelim: 0,\n    modifier: 0,\n    change: 0,\n    shift: 0,\n    i: 0,\n    thread: null\n  };\n  var nodes = [root];\n  var node;\n  var children;\n\n  while (node = nodes.pop()) {\n    // jshint ignore:line\n    children = node.children;\n\n    if (node.isExpand && children.length) {\n      var n = children.length;\n\n      for (var i = n - 1; i >= 0; i--) {\n        var child = children[i];\n        child.hierNode = {\n          defaultAncestor: null,\n          ancestor: child,\n          prelim: 0,\n          modifier: 0,\n          change: 0,\n          shift: 0,\n          i: i,\n          thread: null\n        };\n        nodes.push(child);\n      }\n    }\n  }\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * <https://github.com/d3/d3-hierarchy/blob/4c1f038f2725d6eae2e49b61d01456400694bac4/src/tree.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * Computes a preliminary x coordinate for node. Before that, this function is\n * applied recursively to the children of node, as well as the function\n * apportion(). After spacing out the children by calling executeShifts(), the\n * node is placed to the midpoint of its outermost children.\n */\n\nfunction firstWalk(node, separation) {\n  var children = node.isExpand ? node.children : [];\n  var siblings = node.parentNode.children;\n  var subtreeW = node.hierNode.i ? siblings[node.hierNode.i - 1] : null;\n\n  if (children.length) {\n    executeShifts(node);\n    var midPoint = (children[0].hierNode.prelim + children[children.length - 1].hierNode.prelim) / 2;\n\n    if (subtreeW) {\n      node.hierNode.prelim = subtreeW.hierNode.prelim + separation(node, subtreeW);\n      node.hierNode.modifier = node.hierNode.prelim - midPoint;\n    } else {\n      node.hierNode.prelim = midPoint;\n    }\n  } else if (subtreeW) {\n    node.hierNode.prelim = subtreeW.hierNode.prelim + separation(node, subtreeW);\n  }\n\n  node.parentNode.hierNode.defaultAncestor = apportion(node, subtreeW, node.parentNode.hierNode.defaultAncestor || siblings[0], separation);\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * <https://github.com/d3/d3-hierarchy/blob/4c1f038f2725d6eae2e49b61d01456400694bac4/src/tree.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * Computes all real x-coordinates by summing up the modifiers recursively.\n */\n\nfunction secondWalk(node) {\n  var nodeX = node.hierNode.prelim + node.parentNode.hierNode.modifier;\n  node.setLayout({\n    x: nodeX\n  }, true);\n  node.hierNode.modifier += node.parentNode.hierNode.modifier;\n}\nfunction separation(cb) {\n  return arguments.length ? cb : defaultSeparation;\n}\n/**\n * Transform the common coordinate to radial coordinate.\n */\n\nfunction radialCoordinate(rad, r) {\n  rad -= Math.PI / 2;\n  return {\n    x: r * Math.cos(rad),\n    y: r * Math.sin(rad)\n  };\n}\n/**\n * Get the layout position of the whole view.\n */\n\nfunction getViewRect(seriesModel, api) {\n  return _util_layout_js__WEBPACK_IMPORTED_MODULE_0__[\"getLayoutRect\"](seriesModel.getBoxLayoutParams(), {\n    width: api.getWidth(),\n    height: api.getHeight()\n  });\n}\n/**\n * All other shifts, applied to the smaller subtrees between w- and w+, are\n * performed by this function.\n *\n * The implementation of this function was originally copied from \"d3.js\"\n * <https://github.com/d3/d3-hierarchy/blob/4c1f038f2725d6eae2e49b61d01456400694bac4/src/tree.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\nfunction executeShifts(node) {\n  var children = node.children;\n  var n = children.length;\n  var shift = 0;\n  var change = 0;\n\n  while (--n >= 0) {\n    var child = children[n];\n    child.hierNode.prelim += shift;\n    child.hierNode.modifier += shift;\n    change += child.hierNode.change;\n    shift += child.hierNode.shift + change;\n  }\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * <https://github.com/d3/d3-hierarchy/blob/4c1f038f2725d6eae2e49b61d01456400694bac4/src/tree.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * The core of the algorithm. Here, a new subtree is combined with the\n * previous subtrees. Threads are used to traverse the inside and outside\n * contours of the left and right subtree up to the highest common level.\n * Whenever two nodes of the inside contours conflict, we compute the left\n * one of the greatest uncommon ancestors using the function nextAncestor()\n * and call moveSubtree() to shift the subtree and prepare the shifts of\n * smaller subtrees. Finally, we add a new thread (if necessary).\n */\n\n\nfunction apportion(subtreeV, subtreeW, ancestor, separation) {\n  if (subtreeW) {\n    var nodeOutRight = subtreeV;\n    var nodeInRight = subtreeV;\n    var nodeOutLeft = nodeInRight.parentNode.children[0];\n    var nodeInLeft = subtreeW;\n    var sumOutRight = nodeOutRight.hierNode.modifier;\n    var sumInRight = nodeInRight.hierNode.modifier;\n    var sumOutLeft = nodeOutLeft.hierNode.modifier;\n    var sumInLeft = nodeInLeft.hierNode.modifier;\n\n    while (nodeInLeft = nextRight(nodeInLeft), nodeInRight = nextLeft(nodeInRight), nodeInLeft && nodeInRight) {\n      nodeOutRight = nextRight(nodeOutRight);\n      nodeOutLeft = nextLeft(nodeOutLeft);\n      nodeOutRight.hierNode.ancestor = subtreeV;\n      var shift = nodeInLeft.hierNode.prelim + sumInLeft - nodeInRight.hierNode.prelim - sumInRight + separation(nodeInLeft, nodeInRight);\n\n      if (shift > 0) {\n        moveSubtree(nextAncestor(nodeInLeft, subtreeV, ancestor), subtreeV, shift);\n        sumInRight += shift;\n        sumOutRight += shift;\n      }\n\n      sumInLeft += nodeInLeft.hierNode.modifier;\n      sumInRight += nodeInRight.hierNode.modifier;\n      sumOutRight += nodeOutRight.hierNode.modifier;\n      sumOutLeft += nodeOutLeft.hierNode.modifier;\n    }\n\n    if (nodeInLeft && !nextRight(nodeOutRight)) {\n      nodeOutRight.hierNode.thread = nodeInLeft;\n      nodeOutRight.hierNode.modifier += sumInLeft - sumOutRight;\n    }\n\n    if (nodeInRight && !nextLeft(nodeOutLeft)) {\n      nodeOutLeft.hierNode.thread = nodeInRight;\n      nodeOutLeft.hierNode.modifier += sumInRight - sumOutLeft;\n      ancestor = subtreeV;\n    }\n  }\n\n  return ancestor;\n}\n/**\n * This function is used to traverse the right contour of a subtree.\n * It returns the rightmost child of node or the thread of node. The function\n * returns null if and only if node is on the highest depth of its subtree.\n */\n\n\nfunction nextRight(node) {\n  var children = node.children;\n  return children.length && node.isExpand ? children[children.length - 1] : node.hierNode.thread;\n}\n/**\n * This function is used to traverse the left contour of a subtree (or a subforest).\n * It returns the leftmost child of node or the thread of node. The function\n * returns null if and only if node is on the highest depth of its subtree.\n */\n\n\nfunction nextLeft(node) {\n  var children = node.children;\n  return children.length && node.isExpand ? children[0] : node.hierNode.thread;\n}\n/**\n * If nodeInLeft’s ancestor is a sibling of node, returns nodeInLeft’s ancestor.\n * Otherwise, returns the specified ancestor.\n */\n\n\nfunction nextAncestor(nodeInLeft, node, ancestor) {\n  return nodeInLeft.hierNode.ancestor.parentNode === node.parentNode ? nodeInLeft.hierNode.ancestor : ancestor;\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * <https://github.com/d3/d3-hierarchy/blob/4c1f038f2725d6eae2e49b61d01456400694bac4/src/tree.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * Shifts the current subtree rooted at wr.\n * This is done by increasing prelim(w+) and modifier(w+) by shift.\n */\n\n\nfunction moveSubtree(wl, wr, shift) {\n  var change = shift / (wr.hierNode.i - wl.hierNode.i);\n  wr.hierNode.change -= change;\n  wr.hierNode.shift += shift;\n  wr.hierNode.modifier += shift;\n  wr.hierNode.prelim += shift;\n  wl.hierNode.change += change;\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * <https://github.com/d3/d3-hierarchy/blob/4c1f038f2725d6eae2e49b61d01456400694bac4/src/tree.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\n\nfunction defaultSeparation(node1, node2) {\n  return node1.parentNode === node2.parentNode ? 1 : 2;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/layoutHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/traversalHelper.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/traversalHelper.js ***!
  \****************************************************************/
/*! exports provided: eachAfter, eachBefore */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eachAfter\", function() { return eachAfter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eachBefore\", function() { return eachBefore; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Traverse the tree from bottom to top and do something\n */\nfunction eachAfter(root, callback, separation) {\n  var nodes = [root];\n  var next = [];\n  var node;\n\n  while (node = nodes.pop()) {\n    // jshint ignore:line\n    next.push(node);\n\n    if (node.isExpand) {\n      var children = node.children;\n\n      if (children.length) {\n        for (var i = 0; i < children.length; i++) {\n          nodes.push(children[i]);\n        }\n      }\n    }\n  }\n\n  while (node = next.pop()) {\n    // jshint ignore:line\n    callback(node, separation);\n  }\n}\n/**\n * Traverse the tree from top to bottom and do something\n */\n\n\nfunction eachBefore(root, callback) {\n  var nodes = [root];\n  var node;\n\n  while (node = nodes.pop()) {\n    // jshint ignore:line\n    callback(node);\n\n    if (node.isExpand) {\n      var children = node.children;\n\n      if (children.length) {\n        for (var i = children.length - 1; i >= 0; i--) {\n          nodes.push(children[i]);\n        }\n      }\n    }\n  }\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/traversalHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/treeAction.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/treeAction.js ***!
  \***********************************************************/
/*! exports provided: installTreeAction */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installTreeAction\", function() { return installTreeAction; });\n/* harmony import */ var _action_roamHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../action/roamHelper.js */ \"./node_modules/echarts/lib/action/roamHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction installTreeAction(registers) {\n  registers.registerAction({\n    type: 'treeExpandAndCollapse',\n    event: 'treeExpandAndCollapse',\n    update: 'update'\n  }, function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'tree',\n      query: payload\n    }, function (seriesModel) {\n      var dataIndex = payload.dataIndex;\n      var tree = seriesModel.getData().tree;\n      var node = tree.getNodeByDataIndex(dataIndex);\n      node.isExpand = !node.isExpand;\n    });\n  });\n  registers.registerAction({\n    type: 'treeRoam',\n    event: 'treeRoam',\n    // Here we set 'none' instead of 'update', because roam action\n    // just need to update the transform matrix without having to recalculate\n    // the layout. So don't need to go through the whole update process, such\n    // as 'dataPrcocess', 'coordSystemUpdate', 'layout' and so on.\n    update: 'none'\n  }, function (payload, ecModel, api) {\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'tree',\n      query: payload\n    }, function (seriesModel) {\n      var coordSys = seriesModel.coordinateSystem;\n      var res = Object(_action_roamHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"updateCenterAndZoom\"])(coordSys, payload, undefined, api);\n      seriesModel.setCenter && seriesModel.setCenter(res.center);\n      seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/treeAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/treeLayout.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/treeLayout.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return treeLayout; });\n/* harmony import */ var _traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./traversalHelper.js */ \"./node_modules/echarts/lib/chart/tree/traversalHelper.js\");\n/* harmony import */ var _layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layoutHelper.js */ \"./node_modules/echarts/lib/chart/tree/layoutHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction treeLayout(ecModel, api) {\n  ecModel.eachSeriesByType('tree', function (seriesModel) {\n    commonLayout(seriesModel, api);\n  });\n}\n\nfunction commonLayout(seriesModel, api) {\n  var layoutInfo = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"getViewRect\"])(seriesModel, api);\n  seriesModel.layoutInfo = layoutInfo;\n  var layout = seriesModel.get('layout');\n  var width = 0;\n  var height = 0;\n  var separation = null;\n\n  if (layout === 'radial') {\n    width = 2 * Math.PI;\n    height = Math.min(layoutInfo.height, layoutInfo.width) / 2;\n    separation = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"separation\"])(function (node1, node2) {\n      return (node1.parentNode === node2.parentNode ? 1 : 2) / node1.depth;\n    });\n  } else {\n    width = layoutInfo.width;\n    height = layoutInfo.height;\n    separation = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"separation\"])();\n  }\n\n  var virtualRoot = seriesModel.getData().tree.root;\n  var realRoot = virtualRoot.children[0];\n\n  if (realRoot) {\n    Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"init\"])(virtualRoot);\n    Object(_traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"eachAfter\"])(realRoot, _layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"firstWalk\"], separation);\n    virtualRoot.hierNode.modifier = -realRoot.hierNode.prelim;\n    Object(_traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"eachBefore\"])(realRoot, _layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"secondWalk\"]);\n    var left_1 = realRoot;\n    var right_1 = realRoot;\n    var bottom_1 = realRoot;\n    Object(_traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"eachBefore\"])(realRoot, function (node) {\n      var x = node.getLayout().x;\n\n      if (x < left_1.getLayout().x) {\n        left_1 = node;\n      }\n\n      if (x > right_1.getLayout().x) {\n        right_1 = node;\n      }\n\n      if (node.depth > bottom_1.depth) {\n        bottom_1 = node;\n      }\n    });\n    var delta = left_1 === right_1 ? 1 : separation(left_1, right_1) / 2;\n    var tx_1 = delta - left_1.getLayout().x;\n    var kx_1 = 0;\n    var ky_1 = 0;\n    var coorX_1 = 0;\n    var coorY_1 = 0;\n\n    if (layout === 'radial') {\n      kx_1 = width / (right_1.getLayout().x + delta + tx_1); // here we use (node.depth - 1), bucause the real root's depth is 1\n\n      ky_1 = height / (bottom_1.depth - 1 || 1);\n      Object(_traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"eachBefore\"])(realRoot, function (node) {\n        coorX_1 = (node.getLayout().x + tx_1) * kx_1;\n        coorY_1 = (node.depth - 1) * ky_1;\n        var finalCoor = Object(_layoutHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"radialCoordinate\"])(coorX_1, coorY_1);\n        node.setLayout({\n          x: finalCoor.x,\n          y: finalCoor.y,\n          rawX: coorX_1,\n          rawY: coorY_1\n        }, true);\n      });\n    } else {\n      var orient_1 = seriesModel.getOrient();\n\n      if (orient_1 === 'RL' || orient_1 === 'LR') {\n        ky_1 = height / (right_1.getLayout().x + delta + tx_1);\n        kx_1 = width / (bottom_1.depth - 1 || 1);\n        Object(_traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"eachBefore\"])(realRoot, function (node) {\n          coorY_1 = (node.getLayout().x + tx_1) * ky_1;\n          coorX_1 = orient_1 === 'LR' ? (node.depth - 1) * kx_1 : width - (node.depth - 1) * kx_1;\n          node.setLayout({\n            x: coorX_1,\n            y: coorY_1\n          }, true);\n        });\n      } else if (orient_1 === 'TB' || orient_1 === 'BT') {\n        kx_1 = width / (right_1.getLayout().x + delta + tx_1);\n        ky_1 = height / (bottom_1.depth - 1 || 1);\n        Object(_traversalHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"eachBefore\"])(realRoot, function (node) {\n          coorX_1 = (node.getLayout().x + tx_1) * kx_1;\n          coorY_1 = orient_1 === 'TB' ? (node.depth - 1) * ky_1 : height - (node.depth - 1) * ky_1;\n          node.setLayout({\n            x: coorX_1,\n            y: coorY_1\n          }, true);\n        });\n      }\n    }\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/treeLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/tree/treeVisual.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/tree/treeVisual.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return treeVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction treeVisual(ecModel) {\n  ecModel.eachSeriesByType('tree', function (seriesModel) {\n    var data = seriesModel.getData();\n    var tree = data.tree;\n    tree.eachNode(function (node) {\n      var model = node.getModel(); // TODO Optimize\n\n      var style = model.getModel('itemStyle').getItemStyle();\n      var existsStyle = data.ensureUniqueItemVisual(node.dataIndex, 'style');\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(existsStyle, style);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/treeVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/Breadcrumb.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/Breadcrumb.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar TEXT_PADDING = 8;\nvar ITEM_GAP = 8;\nvar ARRAY_LENGTH = 5;\n\nvar Breadcrumb =\n/** @class */\nfunction () {\n  function Breadcrumb(containerGroup) {\n    this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Group\"]();\n    containerGroup.add(this.group);\n  }\n\n  Breadcrumb.prototype.render = function (seriesModel, api, targetNode, onSelect) {\n    var model = seriesModel.getModel('breadcrumb');\n    var thisGroup = this.group;\n    thisGroup.removeAll();\n\n    if (!model.get('show') || !targetNode) {\n      return;\n    }\n\n    var normalStyleModel = model.getModel('itemStyle');\n    var emphasisModel = model.getModel('emphasis');\n    var textStyleModel = normalStyleModel.getModel('textStyle');\n    var emphasisTextStyleModel = emphasisModel.getModel(['itemStyle', 'textStyle']);\n    var layoutParam = {\n      pos: {\n        left: model.get('left'),\n        right: model.get('right'),\n        top: model.get('top'),\n        bottom: model.get('bottom')\n      },\n      box: {\n        width: api.getWidth(),\n        height: api.getHeight()\n      },\n      emptyItemWidth: model.get('emptyItemWidth'),\n      totalWidth: 0,\n      renderList: []\n    };\n\n    this._prepare(targetNode, layoutParam, textStyleModel);\n\n    this._renderContent(seriesModel, layoutParam, normalStyleModel, emphasisModel, textStyleModel, emphasisTextStyleModel, onSelect);\n\n    _util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"positionElement\"](thisGroup, layoutParam.pos, layoutParam.box);\n  };\n  /**\n   * Prepare render list and total width\n   * @private\n   */\n\n\n  Breadcrumb.prototype._prepare = function (targetNode, layoutParam, textStyleModel) {\n    for (var node = targetNode; node; node = node.parentNode) {\n      var text = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"convertOptionIdName\"])(node.getModel().get('name'), '');\n      var textRect = textStyleModel.getTextRect(text);\n      var itemWidth = Math.max(textRect.width + TEXT_PADDING * 2, layoutParam.emptyItemWidth);\n      layoutParam.totalWidth += itemWidth + ITEM_GAP;\n      layoutParam.renderList.push({\n        node: node,\n        text: text,\n        width: itemWidth\n      });\n    }\n  };\n  /**\n   * @private\n   */\n\n\n  Breadcrumb.prototype._renderContent = function (seriesModel, layoutParam, normalStyleModel, emphasisModel, textStyleModel, emphasisTextStyleModel, onSelect) {\n    // Start rendering.\n    var lastX = 0;\n    var emptyItemWidth = layoutParam.emptyItemWidth;\n    var height = seriesModel.get(['breadcrumb', 'height']);\n    var availableSize = _util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"getAvailableSize\"](layoutParam.pos, layoutParam.box);\n    var totalWidth = layoutParam.totalWidth;\n    var renderList = layoutParam.renderList;\n    var emphasisItemStyle = emphasisModel.getModel('itemStyle').getItemStyle();\n\n    for (var i = renderList.length - 1; i >= 0; i--) {\n      var item = renderList[i];\n      var itemNode = item.node;\n      var itemWidth = item.width;\n      var text = item.text; // Hdie text and shorten width if necessary.\n\n      if (totalWidth > availableSize.width) {\n        totalWidth -= itemWidth - emptyItemWidth;\n        itemWidth = emptyItemWidth;\n        text = null;\n      }\n\n      var el = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Polygon\"]({\n        shape: {\n          points: makeItemPoints(lastX, 0, itemWidth, height, i === renderList.length - 1, i === 0)\n        },\n        style: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])(normalStyleModel.getItemStyle(), {\n          lineJoin: 'bevel'\n        }),\n        textContent: new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]({\n          style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"createTextStyle\"])(textStyleModel, {\n            text: text\n          })\n        }),\n        textConfig: {\n          position: 'inside'\n        },\n        z2: _util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"Z2_EMPHASIS_LIFT\"] * 1e4,\n        onclick: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"curry\"])(onSelect, itemNode)\n      });\n      el.disableLabelAnimation = true;\n      el.getTextContent().ensureState('emphasis').style = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"createTextStyle\"])(emphasisTextStyleModel, {\n        text: text\n      });\n      el.ensureState('emphasis').style = emphasisItemStyle;\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_6__[\"toggleHoverEmphasis\"])(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n      this.group.add(el);\n      packEventData(el, seriesModel, itemNode);\n      lastX += itemWidth + ITEM_GAP;\n    }\n  };\n\n  Breadcrumb.prototype.remove = function () {\n    this.group.removeAll();\n  };\n\n  return Breadcrumb;\n}();\n\nfunction makeItemPoints(x, y, itemWidth, itemHeight, head, tail) {\n  var points = [[head ? x : x - ARRAY_LENGTH, y], [x + itemWidth, y], [x + itemWidth, y + itemHeight], [head ? x : x - ARRAY_LENGTH, y + itemHeight]];\n  !tail && points.splice(2, 0, [x + itemWidth + ARRAY_LENGTH, y + itemHeight / 2]);\n  !head && points.push([x, y + itemHeight / 2]);\n  return points;\n} // Package custom mouse event.\n\n\nfunction packEventData(el, seriesModel, itemNode) {\n  Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_1__[\"getECData\"])(el).eventData = {\n    componentType: 'series',\n    componentSubType: 'treemap',\n    componentIndex: seriesModel.componentIndex,\n    seriesIndex: seriesModel.seriesIndex,\n    seriesName: seriesModel.name,\n    seriesType: 'treemap',\n    selfType: 'breadcrumb',\n    nodeData: {\n      dataIndex: itemNode && itemNode.dataIndex,\n      name: itemNode && itemNode.name\n    },\n    treePathInfo: itemNode && Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"wrapTreePathInfo\"])(itemNode, seriesModel)\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Breadcrumb);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/Breadcrumb.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/TreemapSeries.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/TreemapSeries.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _data_Tree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/Tree.js */ \"./node_modules/echarts/lib/data/Tree.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../component/tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _helper_enableAriaDecalForTree_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helper/enableAriaDecalForTree.js */ \"./node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\nvar TreemapSeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TreemapSeriesModel, _super);\n\n  function TreemapSeriesModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TreemapSeriesModel.type;\n    _this.preventUsingHoverLayer = true;\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  TreemapSeriesModel.prototype.getInitialData = function (option, ecModel) {\n    // Create a virtual root.\n    var root = {\n      name: option.name,\n      children: option.data\n    };\n    completeTreeValue(root);\n    var levels = option.levels || []; // Used in \"visual priority\" in `treemapVisual.js`.\n    // This way is a little tricky, must satisfy the precondition:\n    //   1. There is no `treeNode.getModel('itemStyle.xxx')` used.\n    //   2. The `Model.prototype.getModel()` will not use any clone-like way.\n\n    var designatedVisualItemStyle = this.designatedVisualItemStyle = {};\n    var designatedVisualModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n      itemStyle: designatedVisualItemStyle\n    }, this, ecModel);\n    levels = option.levels = setDefault(levels, ecModel);\n    var levelModels = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](levels || [], function (levelDefine) {\n      return new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](levelDefine, designatedVisualModel, ecModel);\n    }, this); // Make sure always a new tree is created when setOption,\n    // in TreemapView, we check whether oldTree === newTree\n    // to choose mappings approach among old shapes and new shapes.\n\n    var tree = _data_Tree_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].createTree(root, this, beforeLink);\n\n    function beforeLink(nodeData) {\n      nodeData.wrapMethod('getItemModel', function (model, idx) {\n        var node = tree.getNodeByDataIndex(idx);\n        var levelModel = node ? levelModels[node.depth] : null; // If no levelModel, we also need `designatedVisualModel`.\n\n        model.parentModel = levelModel || designatedVisualModel;\n        return model;\n      });\n    }\n\n    return tree.data;\n  };\n\n  TreemapSeriesModel.prototype.optionUpdated = function () {\n    this.resetViewRoot();\n  };\n  /**\n   * @override\n   * @param {number} dataIndex\n   * @param {boolean} [mutipleSeries=false]\n   */\n\n\n  TreemapSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    var data = this.getData();\n    var value = this.getRawValue(dataIndex);\n    var name = data.getName(dataIndex);\n    return Object(_component_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_7__[\"createTooltipMarkup\"])('nameValue', {\n      name: name,\n      value: value\n    });\n  };\n  /**\n   * Add tree path to tooltip param\n   *\n   * @override\n   * @param {number} dataIndex\n   * @return {Object}\n   */\n\n\n  TreemapSeriesModel.prototype.getDataParams = function (dataIndex) {\n    var params = _super.prototype.getDataParams.apply(this, arguments);\n\n    var node = this.getData().tree.getNodeByDataIndex(dataIndex);\n    params.treeAncestors = Object(_helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"wrapTreePathInfo\"])(node, this); // compatitable the previous code.\n\n    params.treePathInfo = params.treeAncestors;\n    return params;\n  };\n  /**\n   * @public\n   * @param {Object} layoutInfo {\n   *                                x: containerGroup x\n   *                                y: containerGroup y\n   *                                width: containerGroup width\n   *                                height: containerGroup height\n   *                            }\n   */\n\n\n  TreemapSeriesModel.prototype.setLayoutInfo = function (layoutInfo) {\n    /**\n     * @readOnly\n     * @type {Object}\n     */\n    this.layoutInfo = this.layoutInfo || {};\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"](this.layoutInfo, layoutInfo);\n  };\n  /**\n   * @param  {string} id\n   * @return {number} index\n   */\n\n\n  TreemapSeriesModel.prototype.mapIdToIndex = function (id) {\n    // A feature is implemented:\n    // index is monotone increasing with the sequence of\n    // input id at the first time.\n    // This feature can make sure that each data item and its\n    // mapped color have the same index between data list and\n    // color list at the beginning, which is useful for user\n    // to adjust data-color mapping.\n\n    /**\n     * @private\n     * @type {Object}\n     */\n    var idIndexMap = this._idIndexMap;\n\n    if (!idIndexMap) {\n      idIndexMap = this._idIndexMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]();\n      /**\n       * @private\n       * @type {number}\n       */\n\n      this._idIndexMapCount = 0;\n    }\n\n    var index = idIndexMap.get(id);\n\n    if (index == null) {\n      idIndexMap.set(id, index = this._idIndexMapCount++);\n    }\n\n    return index;\n  };\n\n  TreemapSeriesModel.prototype.getViewRoot = function () {\n    return this._viewRoot;\n  };\n\n  TreemapSeriesModel.prototype.resetViewRoot = function (viewRoot) {\n    viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;\n    var root = this.getRawData().tree.root;\n\n    if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {\n      this._viewRoot = root;\n    }\n  };\n\n  TreemapSeriesModel.prototype.enableAriaDecal = function () {\n    Object(_helper_enableAriaDecalForTree_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(this);\n  };\n\n  TreemapSeriesModel.type = 'series.treemap';\n  TreemapSeriesModel.layoutMode = 'box';\n  TreemapSeriesModel.defaultOption = {\n    // Disable progressive rendering\n    progressive: 0,\n    // size: ['80%', '80%'],            // deprecated, compatible with ec2.\n    left: 'center',\n    top: 'middle',\n    width: '80%',\n    height: '80%',\n    sort: true,\n    clipWindow: 'origin',\n    squareRatio: 0.5 * (1 + Math.sqrt(5)),\n    leafDepth: null,\n    drillDownIcon: '▶',\n    // to align specialized icon. ▷▶❒❐▼✚\n    zoomToNodeRatio: 0.32 * 0.32,\n    roam: true,\n    nodeClick: 'zoomToNode',\n    animation: true,\n    animationDurationUpdate: 900,\n    animationEasing: 'quinticInOut',\n    breadcrumb: {\n      show: true,\n      height: 22,\n      left: 'center',\n      top: 'bottom',\n      // right\n      // bottom\n      emptyItemWidth: 25,\n      itemStyle: {\n        color: 'rgba(0,0,0,0.7)',\n        textStyle: {\n          color: '#fff'\n        }\n      },\n      emphasis: {\n        itemStyle: {\n          color: 'rgba(0,0,0,0.9)' //'#5793f3',\n\n        }\n      }\n    },\n    label: {\n      show: true,\n      // Do not use textDistance, for ellipsis rect just the same as treemap node rect.\n      distance: 0,\n      padding: 5,\n      position: 'inside',\n      // formatter: null,\n      color: '#fff',\n      overflow: 'truncate' // align\n      // verticalAlign\n\n    },\n    upperLabel: {\n      show: false,\n      position: [0, '50%'],\n      height: 20,\n      // formatter: null,\n      // color: '#fff',\n      overflow: 'truncate',\n      // align: null,\n      verticalAlign: 'middle'\n    },\n    itemStyle: {\n      color: null,\n      colorAlpha: null,\n      colorSaturation: null,\n      borderWidth: 0,\n      gapWidth: 0,\n      borderColor: '#fff',\n      borderColorSaturation: null // If specified, borderColor will be ineffective, and the\n      // border color is evaluated by color of current node and\n      // borderColorSaturation.\n\n    },\n    emphasis: {\n      upperLabel: {\n        show: true,\n        position: [0, '50%'],\n        overflow: 'truncate',\n        verticalAlign: 'middle'\n      }\n    },\n    visualDimension: 0,\n    visualMin: null,\n    visualMax: null,\n    color: [],\n    // level[n].color (if necessary).\n    // + Specify color list of each level. level[0].color would be global\n    // color list if not specified. (see method `setDefault`).\n    // + But set as a empty array to forbid fetch color from global palette\n    // when using nodeModel.get('color'), otherwise nodes on deep level\n    // will always has color palette set and are not able to inherit color\n    // from parent node.\n    // + TreemapSeries.color can not be set as 'none', otherwise effect\n    // legend color fetching (see seriesColor.js).\n    colorAlpha: null,\n    colorSaturation: null,\n    colorMappingBy: 'index',\n    visibleMin: 10,\n    // be rendered. Only works when sort is 'asc' or 'desc'.\n    childrenVisibleMin: null,\n    // grandchildren will not show.\n    // Why grandchildren? If not grandchildren but children,\n    // some siblings show children and some not,\n    // the appearance may be mess and not consistent,\n    levels: [] // Each item: {\n    //     visibleMin, itemStyle, visualDimension, label\n    // }\n\n  };\n  return TreemapSeriesModel;\n}(_model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n/**\n * @param {Object} dataNode\n */\n\n\nfunction completeTreeValue(dataNode) {\n  // Postorder travel tree.\n  // If value of none-leaf node is not set,\n  // calculate it by suming up the value of all children.\n  var sum = 0;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](dataNode.children, function (child) {\n    completeTreeValue(child);\n    var childValue = child.value;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](childValue) && (childValue = childValue[0]);\n    sum += childValue;\n  });\n  var thisValue = dataNode.value;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](thisValue)) {\n    thisValue = thisValue[0];\n  }\n\n  if (thisValue == null || isNaN(thisValue)) {\n    thisValue = sum;\n  } // Value should not less than 0.\n\n\n  if (thisValue < 0) {\n    thisValue = 0;\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;\n}\n/**\n * set default to level configuration\n */\n\n\nfunction setDefault(levels, ecModel) {\n  var globalColorList = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(ecModel.get('color'));\n  var globalDecalList = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeToArray\"])(ecModel.get(['aria', 'decal', 'decals']));\n\n  if (!globalColorList) {\n    return;\n  }\n\n  levels = levels || [];\n  var hasColorDefine;\n  var hasDecalDefine;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](levels, function (levelDefine) {\n    var model = new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](levelDefine);\n    var modelColor = model.get('color');\n    var modelDecal = model.get('decal');\n\n    if (model.get(['itemStyle', 'color']) || modelColor && modelColor !== 'none') {\n      hasColorDefine = true;\n    }\n\n    if (model.get(['itemStyle', 'decal']) || modelDecal && modelDecal !== 'none') {\n      hasDecalDefine = true;\n    }\n  });\n  var level0 = levels[0] || (levels[0] = {});\n\n  if (!hasColorDefine) {\n    level0.color = globalColorList.slice();\n  }\n\n  if (!hasDecalDefine && globalDecalList) {\n    level0.decal = globalDecalList.slice();\n  }\n\n  return levels;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TreemapSeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/TreemapSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/TreemapView.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/TreemapView.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n/* harmony import */ var _Breadcrumb_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Breadcrumb.js */ \"./node_modules/echarts/lib/chart/treemap/Breadcrumb.js\");\n/* harmony import */ var _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../component/helper/RoamController.js */ \"./node_modules/echarts/lib/component/helper/RoamController.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _util_animation_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/animation.js */ \"./node_modules/echarts/lib/util/animation.js\");\n/* harmony import */ var _model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../model/mixin/makeStyleMapper.js */ \"./node_modules/echarts/lib/model/mixin/makeStyleMapper.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! zrender/lib/graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Group = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"];\nvar Rect = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"];\nvar DRAG_THRESHOLD = 3;\nvar PATH_LABEL_NOAMAL = 'label';\nvar PATH_UPPERLABEL_NORMAL = 'upperLabel'; // Should larger than emphasis states lift z\n\nvar Z2_BASE = _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"Z2_EMPHASIS_LIFT\"] * 10; // Should bigger than every z2.\n\nvar Z2_BG = _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"Z2_EMPHASIS_LIFT\"] * 2;\nvar Z2_CONTENT = _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"Z2_EMPHASIS_LIFT\"] * 3;\nvar getStateItemStyle = Object(_model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])([['fill', 'color'], // `borderColor` and `borderWidth` has been occupied,\n// so use `stroke` to indicate the stroke of the rect.\n['stroke', 'strokeColor'], ['lineWidth', 'strokeWidth'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n]);\n\nvar getItemStyleNormal = function (model) {\n  // Normal style props should include emphasis style props.\n  var itemStyle = getStateItemStyle(model); // Clear styles set by emphasis.\n\n  itemStyle.stroke = itemStyle.fill = itemStyle.lineWidth = null;\n  return itemStyle;\n};\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_15__[\"makeInner\"])();\n\nvar TreemapView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TreemapView, _super);\n\n  function TreemapView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TreemapView.type;\n    _this._state = 'ready';\n    _this._storage = createStorage();\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  TreemapView.prototype.render = function (seriesModel, ecModel, api, payload) {\n    var models = ecModel.findComponents({\n      mainType: 'series',\n      subType: 'treemap',\n      query: payload\n    });\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(models, seriesModel) < 0) {\n      return;\n    }\n\n    this.seriesModel = seriesModel;\n    this.api = api;\n    this.ecModel = ecModel;\n    var types = ['treemapZoomToNode', 'treemapRootToNode'];\n    var targetInfo = _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"retrieveTargetInfo\"](payload, types, seriesModel);\n    var payloadType = payload && payload.type;\n    var layoutInfo = seriesModel.layoutInfo;\n    var isInit = !this._oldTree;\n    var thisStorage = this._storage; // Mark new root when action is treemapRootToNode.\n\n    var reRoot = payloadType === 'treemapRootToNode' && targetInfo && thisStorage ? {\n      rootNodeGroup: thisStorage.nodeGroup[targetInfo.node.getRawIndex()],\n      direction: payload.direction\n    } : null;\n\n    var containerGroup = this._giveContainerGroup(layoutInfo);\n\n    var hasAnimation = seriesModel.get('animation');\n\n    var renderResult = this._doRender(containerGroup, seriesModel, reRoot);\n\n    hasAnimation && !isInit && (!payloadType || payloadType === 'treemapZoomToNode' || payloadType === 'treemapRootToNode') ? this._doAnimation(containerGroup, renderResult, seriesModel, reRoot) : renderResult.renderFinally();\n\n    this._resetController(api);\n\n    this._renderBreadcrumb(seriesModel, api, targetInfo);\n  };\n\n  TreemapView.prototype._giveContainerGroup = function (layoutInfo) {\n    var containerGroup = this._containerGroup;\n\n    if (!containerGroup) {\n      // FIXME\n      // 加一层containerGroup是为了clip，但是现在clip功能并没有实现。\n      containerGroup = this._containerGroup = new Group();\n\n      this._initEvents(containerGroup);\n\n      this.group.add(containerGroup);\n    }\n\n    containerGroup.x = layoutInfo.x;\n    containerGroup.y = layoutInfo.y;\n    return containerGroup;\n  };\n\n  TreemapView.prototype._doRender = function (containerGroup, seriesModel, reRoot) {\n    var thisTree = seriesModel.getData().tree;\n    var oldTree = this._oldTree; // Clear last shape records.\n\n    var lastsForAnimation = createStorage();\n    var thisStorage = createStorage();\n    var oldStorage = this._storage;\n    var willInvisibleEls = [];\n\n    function doRenderNode(thisNode, oldNode, parentGroup, depth) {\n      return renderNode(seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls, thisNode, oldNode, parentGroup, depth);\n    } // Notice: when thisTree and oldTree are the same tree (see list.cloneShallow),\n    // the oldTree is actually losted, so we can not find all of the old graphic\n    // elements from tree. So we use this stragegy: make element storage, move\n    // from old storage to new storage, clear old storage.\n\n\n    dualTravel(thisTree.root ? [thisTree.root] : [], oldTree && oldTree.root ? [oldTree.root] : [], containerGroup, thisTree === oldTree || !oldTree, 0); // Process all removing.\n\n    var willDeleteEls = clearStorage(oldStorage);\n    this._oldTree = thisTree;\n    this._storage = thisStorage;\n    return {\n      lastsForAnimation: lastsForAnimation,\n      willDeleteEls: willDeleteEls,\n      renderFinally: renderFinally\n    };\n\n    function dualTravel(thisViewChildren, oldViewChildren, parentGroup, sameTree, depth) {\n      // When 'render' is triggered by action,\n      // 'this' and 'old' may be the same tree,\n      // we use rawIndex in that case.\n      if (sameTree) {\n        oldViewChildren = thisViewChildren;\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(thisViewChildren, function (child, index) {\n          !child.isRemoved() && processNode(index, index);\n        });\n      } // Diff hierarchically (diff only in each subtree, but not whole).\n      // because, consistency of view is important.\n      else {\n          new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](oldViewChildren, thisViewChildren, getKey, getKey).add(processNode).update(processNode).remove(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(processNode, null)).execute();\n        }\n\n      function getKey(node) {\n        // Identify by name or raw index.\n        return node.getId();\n      }\n\n      function processNode(newIndex, oldIndex) {\n        var thisNode = newIndex != null ? thisViewChildren[newIndex] : null;\n        var oldNode = oldIndex != null ? oldViewChildren[oldIndex] : null;\n        var group = doRenderNode(thisNode, oldNode, parentGroup, depth);\n        group && dualTravel(thisNode && thisNode.viewChildren || [], oldNode && oldNode.viewChildren || [], group, sameTree, depth + 1);\n      }\n    }\n\n    function clearStorage(storage) {\n      var willDeleteEls = createStorage();\n      storage && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(storage, function (store, storageName) {\n        var delEls = willDeleteEls[storageName];\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(store, function (el) {\n          el && (delEls.push(el), inner(el).willDelete = true);\n        });\n      });\n      return willDeleteEls;\n    }\n\n    function renderFinally() {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(willDeleteEls, function (els) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(els, function (el) {\n          el.parent && el.parent.remove(el);\n        });\n      });\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(willInvisibleEls, function (el) {\n        el.invisible = true; // Setting invisible is for optimizing, so no need to set dirty,\n        // just mark as invisible.\n\n        el.dirty();\n      });\n    }\n  };\n\n  TreemapView.prototype._doAnimation = function (containerGroup, renderResult, seriesModel, reRoot) {\n    var durationOption = seriesModel.get('animationDurationUpdate');\n    var easingOption = seriesModel.get('animationEasing'); // TODO: do not support function until necessary.\n\n    var duration = (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(durationOption) ? 0 : durationOption) || 0;\n    var easing = (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(easingOption) ? null : easingOption) || 'cubicOut';\n    var animationWrap = _util_animation_js__WEBPACK_IMPORTED_MODULE_11__[\"createWrap\"](); // Make delete animations.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(renderResult.willDeleteEls, function (store, storageName) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(store, function (el, rawIndex) {\n        if (el.invisible) {\n          return;\n        }\n\n        var parent = el.parent; // Always has parent, and parent is nodeGroup.\n\n        var target;\n        var innerStore = inner(parent);\n\n        if (reRoot && reRoot.direction === 'drillDown') {\n          target = parent === reRoot.rootNodeGroup // This is the content element of view root.\n          // Only `content` will enter this branch, because\n          // `background` and `nodeGroup` will not be deleted.\n          ? {\n            shape: {\n              x: 0,\n              y: 0,\n              width: innerStore.nodeWidth,\n              height: innerStore.nodeHeight\n            },\n            style: {\n              opacity: 0\n            }\n          } // Others.\n          : {\n            style: {\n              opacity: 0\n            }\n          };\n        } else {\n          var targetX = 0;\n          var targetY = 0;\n\n          if (!innerStore.willDelete) {\n            // Let node animate to right-bottom corner, cooperating with fadeout,\n            // which is appropriate for user understanding.\n            // Divided by 2 for reRoot rolling up effect.\n            targetX = innerStore.nodeWidth / 2;\n            targetY = innerStore.nodeHeight / 2;\n          }\n\n          target = storageName === 'nodeGroup' ? {\n            x: targetX,\n            y: targetY,\n            style: {\n              opacity: 0\n            }\n          } : {\n            shape: {\n              x: targetX,\n              y: targetY,\n              width: 0,\n              height: 0\n            },\n            style: {\n              opacity: 0\n            }\n          };\n        } // TODO: do not support delay until necessary.\n\n\n        target && animationWrap.add(el, target, duration, 0, easing);\n      });\n    }); // Make other animations\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._storage, function (store, storageName) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(store, function (el, rawIndex) {\n        var last = renderResult.lastsForAnimation[storageName][rawIndex];\n        var target = {};\n\n        if (!last) {\n          return;\n        }\n\n        if (el instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]) {\n          if (last.oldX != null) {\n            target.x = el.x;\n            target.y = el.y;\n            el.x = last.oldX;\n            el.y = last.oldY;\n          }\n        } else {\n          if (last.oldShape) {\n            target.shape = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, el.shape);\n            el.setShape(last.oldShape);\n          }\n\n          if (last.fadein) {\n            el.setStyle('opacity', 0);\n            target.style = {\n              opacity: 1\n            };\n          } // When animation is stopped for succedent animation starting,\n          // el.style.opacity might not be 1\n          else if (el.style.opacity !== 1) {\n              target.style = {\n                opacity: 1\n              };\n            }\n        }\n\n        animationWrap.add(el, target, duration, 0, easing);\n      });\n    }, this);\n    this._state = 'animating';\n    animationWrap.finished(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(function () {\n      this._state = 'ready';\n      renderResult.renderFinally();\n    }, this)).start();\n  };\n\n  TreemapView.prototype._resetController = function (api) {\n    var controller = this._controller; // Init controller.\n\n    if (!controller) {\n      controller = this._controller = new _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](api.getZr());\n      controller.enable(this.seriesModel.get('roam'));\n      controller.on('pan', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onPan, this));\n      controller.on('zoom', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onZoom, this));\n    }\n\n    var rect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"](0, 0, api.getWidth(), api.getHeight());\n    controller.setPointerChecker(function (e, x, y) {\n      return rect.contain(x, y);\n    });\n  };\n\n  TreemapView.prototype._clearController = function () {\n    var controller = this._controller;\n\n    if (controller) {\n      controller.dispose();\n      controller = null;\n    }\n  };\n\n  TreemapView.prototype._onPan = function (e) {\n    if (this._state !== 'animating' && (Math.abs(e.dx) > DRAG_THRESHOLD || Math.abs(e.dy) > DRAG_THRESHOLD)) {\n      // These param must not be cached.\n      var root = this.seriesModel.getData().tree.root;\n\n      if (!root) {\n        return;\n      }\n\n      var rootLayout = root.getLayout();\n\n      if (!rootLayout) {\n        return;\n      }\n\n      this.api.dispatchAction({\n        type: 'treemapMove',\n        from: this.uid,\n        seriesId: this.seriesModel.id,\n        rootRect: {\n          x: rootLayout.x + e.dx,\n          y: rootLayout.y + e.dy,\n          width: rootLayout.width,\n          height: rootLayout.height\n        }\n      });\n    }\n  };\n\n  TreemapView.prototype._onZoom = function (e) {\n    var mouseX = e.originX;\n    var mouseY = e.originY;\n\n    if (this._state !== 'animating') {\n      // These param must not be cached.\n      var root = this.seriesModel.getData().tree.root;\n\n      if (!root) {\n        return;\n      }\n\n      var rootLayout = root.getLayout();\n\n      if (!rootLayout) {\n        return;\n      }\n\n      var rect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"](rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height);\n      var layoutInfo = this.seriesModel.layoutInfo; // Transform mouse coord from global to containerGroup.\n\n      mouseX -= layoutInfo.x;\n      mouseY -= layoutInfo.y; // Scale root bounding rect.\n\n      var m = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_10__[\"create\"]();\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_10__[\"translate\"](m, m, [-mouseX, -mouseY]);\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_10__[\"scale\"](m, m, [e.scale, e.scale]);\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_10__[\"translate\"](m, m, [mouseX, mouseY]);\n      rect.applyTransform(m);\n      this.api.dispatchAction({\n        type: 'treemapRender',\n        from: this.uid,\n        seriesId: this.seriesModel.id,\n        rootRect: {\n          x: rect.x,\n          y: rect.y,\n          width: rect.width,\n          height: rect.height\n        }\n      });\n    }\n  };\n\n  TreemapView.prototype._initEvents = function (containerGroup) {\n    var _this = this;\n\n    containerGroup.on('click', function (e) {\n      if (_this._state !== 'ready') {\n        return;\n      }\n\n      var nodeClick = _this.seriesModel.get('nodeClick', true);\n\n      if (!nodeClick) {\n        return;\n      }\n\n      var targetInfo = _this.findTarget(e.offsetX, e.offsetY);\n\n      if (!targetInfo) {\n        return;\n      }\n\n      var node = targetInfo.node;\n\n      if (node.getLayout().isLeafRoot) {\n        _this._rootToNode(targetInfo);\n      } else {\n        if (nodeClick === 'zoomToNode') {\n          _this._zoomToNode(targetInfo);\n        } else if (nodeClick === 'link') {\n          var itemModel = node.hostTree.data.getItemModel(node.dataIndex);\n          var link = itemModel.get('link', true);\n          var linkTarget = itemModel.get('target', true) || 'blank';\n          link && Object(_util_format_js__WEBPACK_IMPORTED_MODULE_16__[\"windowOpen\"])(link, linkTarget);\n        }\n      }\n    }, this);\n  };\n\n  TreemapView.prototype._renderBreadcrumb = function (seriesModel, api, targetInfo) {\n    var _this = this;\n\n    if (!targetInfo) {\n      targetInfo = seriesModel.get('leafDepth', true) != null ? {\n        node: seriesModel.getViewRoot()\n      } // FIXME\n      // better way?\n      // Find breadcrumb tail on center of containerGroup.\n      : this.findTarget(api.getWidth() / 2, api.getHeight() / 2);\n\n      if (!targetInfo) {\n        targetInfo = {\n          node: seriesModel.getData().tree.root\n        };\n      }\n    }\n\n    (this._breadcrumb || (this._breadcrumb = new _Breadcrumb_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](this.group))).render(seriesModel, api, targetInfo.node, function (node) {\n      if (_this._state !== 'animating') {\n        _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"aboveViewRoot\"](seriesModel.getViewRoot(), node) ? _this._rootToNode({\n          node: node\n        }) : _this._zoomToNode({\n          node: node\n        });\n      }\n    });\n  };\n  /**\n   * @override\n   */\n\n\n  TreemapView.prototype.remove = function () {\n    this._clearController();\n\n    this._containerGroup && this._containerGroup.removeAll();\n    this._storage = createStorage();\n    this._state = 'ready';\n    this._breadcrumb && this._breadcrumb.remove();\n  };\n\n  TreemapView.prototype.dispose = function () {\n    this._clearController();\n  };\n\n  TreemapView.prototype._zoomToNode = function (targetInfo) {\n    this.api.dispatchAction({\n      type: 'treemapZoomToNode',\n      from: this.uid,\n      seriesId: this.seriesModel.id,\n      targetNode: targetInfo.node\n    });\n  };\n\n  TreemapView.prototype._rootToNode = function (targetInfo) {\n    this.api.dispatchAction({\n      type: 'treemapRootToNode',\n      from: this.uid,\n      seriesId: this.seriesModel.id,\n      targetNode: targetInfo.node\n    });\n  };\n  /**\n   * @public\n   * @param {number} x Global coord x.\n   * @param {number} y Global coord y.\n   * @return {Object} info If not found, return undefined;\n   * @return {number} info.node Target node.\n   * @return {number} info.offsetX x refer to target node.\n   * @return {number} info.offsetY y refer to target node.\n   */\n\n\n  TreemapView.prototype.findTarget = function (x, y) {\n    var targetInfo;\n    var viewRoot = this.seriesModel.getViewRoot();\n    viewRoot.eachNode({\n      attr: 'viewChildren',\n      order: 'preorder'\n    }, function (node) {\n      var bgEl = this._storage.background[node.getRawIndex()]; // If invisible, there might be no element.\n\n\n      if (bgEl) {\n        var point = bgEl.transformCoordToLocal(x, y);\n        var shape = bgEl.shape; // For performance consideration, dont use 'getBoundingRect'.\n\n        if (shape.x <= point[0] && point[0] <= shape.x + shape.width && shape.y <= point[1] && point[1] <= shape.y + shape.height) {\n          targetInfo = {\n            node: node,\n            offsetX: point[0],\n            offsetY: point[1]\n          };\n        } else {\n          return false; // Suppress visit subtree.\n        }\n      }\n    }, this);\n    return targetInfo;\n  };\n\n  TreemapView.type = 'treemap';\n  return TreemapView;\n}(_view_Chart_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]);\n/**\n * @inner\n */\n\n\nfunction createStorage() {\n  return {\n    nodeGroup: [],\n    background: [],\n    content: []\n  };\n}\n/**\n * @inner\n * @return Return undefined means do not travel further.\n */\n\n\nfunction renderNode(seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls, thisNode, oldNode, parentGroup, depth) {\n  // Whether under viewRoot.\n  if (!thisNode) {\n    // Deleting nodes will be performed finally. This method just find\n    // element from old storage, or create new element, set them to new\n    // storage, and set styles.\n    return;\n  } // -------------------------------------------------------------------\n  // Start of closure variables available in \"Procedures in renderNode\".\n\n\n  var thisLayout = thisNode.getLayout();\n  var data = seriesModel.getData();\n  var nodeModel = thisNode.getModel(); // Only for enabling highlight/downplay. Clear firstly.\n  // Because some node will not be rendered.\n\n  data.setItemGraphicEl(thisNode.dataIndex, null);\n\n  if (!thisLayout || !thisLayout.isInView) {\n    return;\n  }\n\n  var thisWidth = thisLayout.width;\n  var thisHeight = thisLayout.height;\n  var borderWidth = thisLayout.borderWidth;\n  var thisInvisible = thisLayout.invisible;\n  var thisRawIndex = thisNode.getRawIndex();\n  var oldRawIndex = oldNode && oldNode.getRawIndex();\n  var thisViewChildren = thisNode.viewChildren;\n  var upperHeight = thisLayout.upperHeight;\n  var isParent = thisViewChildren && thisViewChildren.length;\n  var itemStyleNormalModel = nodeModel.getModel('itemStyle');\n  var itemStyleEmphasisModel = nodeModel.getModel(['emphasis', 'itemStyle']);\n  var itemStyleBlurModel = nodeModel.getModel(['blur', 'itemStyle']);\n  var itemStyleSelectModel = nodeModel.getModel(['select', 'itemStyle']);\n  var borderRadius = itemStyleNormalModel.get('borderRadius') || 0; // End of closure ariables available in \"Procedures in renderNode\".\n  // -----------------------------------------------------------------\n  // Node group\n\n  var group = giveGraphic('nodeGroup', Group);\n\n  if (!group) {\n    return;\n  }\n\n  parentGroup.add(group); // x,y are not set when el is above view root.\n\n  group.x = thisLayout.x || 0;\n  group.y = thisLayout.y || 0;\n  group.markRedraw();\n  inner(group).nodeWidth = thisWidth;\n  inner(group).nodeHeight = thisHeight;\n\n  if (thisLayout.isAboveViewRoot) {\n    return group;\n  } // Background\n\n\n  var bg = giveGraphic('background', Rect, depth, Z2_BG);\n  bg && renderBackground(group, bg, isParent && thisLayout.upperLabelHeight);\n  var emphasisModel = nodeModel.getModel('emphasis');\n  var focus = emphasisModel.get('focus');\n  var blurScope = emphasisModel.get('blurScope');\n  var isDisabled = emphasisModel.get('disabled');\n  var focusOrIndices = focus === 'ancestor' ? thisNode.getAncestorsIndices() : focus === 'descendant' ? thisNode.getDescendantIndices() : focus; // No children, render content.\n\n  if (isParent) {\n    // Because of the implementation about \"traverse\" in graphic hover style, we\n    // can not set hover listener on the \"group\" of non-leaf node. Otherwise the\n    // hover event from the descendents will be listenered.\n    if (Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"isHighDownDispatcher\"])(group)) {\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setAsHighDownDispatcher\"])(group, false);\n    }\n\n    if (bg) {\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setAsHighDownDispatcher\"])(bg, !isDisabled); // Only for enabling highlight/downplay.\n\n      data.setItemGraphicEl(thisNode.dataIndex, bg);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enableHoverFocus\"])(bg, focusOrIndices, blurScope);\n    }\n  } else {\n    var content = giveGraphic('content', Rect, depth, Z2_CONTENT);\n    content && renderContent(group, content);\n    bg.disableMorphing = true;\n\n    if (bg && Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"isHighDownDispatcher\"])(bg)) {\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setAsHighDownDispatcher\"])(bg, false);\n    }\n\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setAsHighDownDispatcher\"])(group, !isDisabled); // Only for enabling highlight/downplay.\n\n    data.setItemGraphicEl(thisNode.dataIndex, group);\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enableHoverFocus\"])(group, focusOrIndices, blurScope);\n  }\n\n  return group; // ----------------------------\n  // | Procedures in renderNode |\n  // ----------------------------\n\n  function renderBackground(group, bg, useUpperLabel) {\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(bg); // For tooltip.\n\n    ecData.dataIndex = thisNode.dataIndex;\n    ecData.seriesIndex = seriesModel.seriesIndex;\n    bg.setShape({\n      x: 0,\n      y: 0,\n      width: thisWidth,\n      height: thisHeight,\n      r: borderRadius\n    });\n\n    if (thisInvisible) {\n      // If invisible, do not set visual, otherwise the element will\n      // change immediately before animation. We think it is OK to\n      // remain its origin color when moving out of the view window.\n      processInvisible(bg);\n    } else {\n      bg.invisible = false;\n      var style = thisNode.getVisual('style');\n      var visualBorderColor = style.stroke;\n      var normalStyle = getItemStyleNormal(itemStyleNormalModel);\n      normalStyle.fill = visualBorderColor;\n      var emphasisStyle = getStateItemStyle(itemStyleEmphasisModel);\n      emphasisStyle.fill = itemStyleEmphasisModel.get('borderColor');\n      var blurStyle = getStateItemStyle(itemStyleBlurModel);\n      blurStyle.fill = itemStyleBlurModel.get('borderColor');\n      var selectStyle = getStateItemStyle(itemStyleSelectModel);\n      selectStyle.fill = itemStyleSelectModel.get('borderColor');\n\n      if (useUpperLabel) {\n        var upperLabelWidth = thisWidth - 2 * borderWidth;\n        prepareText( // PENDING: convert ZRColor to ColorString for text.\n        bg, visualBorderColor, style.opacity, {\n          x: borderWidth,\n          y: 0,\n          width: upperLabelWidth,\n          height: upperHeight\n        });\n      } // For old bg.\n      else {\n          bg.removeTextContent();\n        }\n\n      bg.setStyle(normalStyle);\n      bg.ensureState('emphasis').style = emphasisStyle;\n      bg.ensureState('blur').style = blurStyle;\n      bg.ensureState('select').style = selectStyle;\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setDefaultStateProxy\"])(bg);\n    }\n\n    group.add(bg);\n  }\n\n  function renderContent(group, content) {\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(content); // For tooltip.\n\n    ecData.dataIndex = thisNode.dataIndex;\n    ecData.seriesIndex = seriesModel.seriesIndex;\n    var contentWidth = Math.max(thisWidth - 2 * borderWidth, 0);\n    var contentHeight = Math.max(thisHeight - 2 * borderWidth, 0);\n    content.culling = true;\n    content.setShape({\n      x: borderWidth,\n      y: borderWidth,\n      width: contentWidth,\n      height: contentHeight,\n      r: borderRadius\n    });\n\n    if (thisInvisible) {\n      // If invisible, do not set visual, otherwise the element will\n      // change immediately before animation. We think it is OK to\n      // remain its origin color when moving out of the view window.\n      processInvisible(content);\n    } else {\n      content.invisible = false;\n      var nodeStyle = thisNode.getVisual('style');\n      var visualColor = nodeStyle.fill;\n      var normalStyle = getItemStyleNormal(itemStyleNormalModel);\n      normalStyle.fill = visualColor;\n      normalStyle.decal = nodeStyle.decal;\n      var emphasisStyle = getStateItemStyle(itemStyleEmphasisModel);\n      var blurStyle = getStateItemStyle(itemStyleBlurModel);\n      var selectStyle = getStateItemStyle(itemStyleSelectModel); // PENDING: convert ZRColor to ColorString for text.\n\n      prepareText(content, visualColor, nodeStyle.opacity, null);\n      content.setStyle(normalStyle);\n      content.ensureState('emphasis').style = emphasisStyle;\n      content.ensureState('blur').style = blurStyle;\n      content.ensureState('select').style = selectStyle;\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"setDefaultStateProxy\"])(content);\n    }\n\n    group.add(content);\n  }\n\n  function processInvisible(element) {\n    // Delay invisible setting utill animation finished,\n    // avoid element vanish suddenly before animation.\n    !element.invisible && willInvisibleEls.push(element);\n  }\n\n  function prepareText(rectEl, visualColor, visualOpacity, // Can be null/undefined\n  upperLabelRect) {\n    var normalLabelModel = nodeModel.getModel(upperLabelRect ? PATH_UPPERLABEL_NORMAL : PATH_LABEL_NOAMAL);\n    var defaultText = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_15__[\"convertOptionIdName\"])(nodeModel.get('name'), null);\n    var isShow = normalLabelModel.getShallow('show');\n    Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_17__[\"setLabelStyle\"])(rectEl, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_17__[\"getLabelStatesModels\"])(nodeModel, upperLabelRect ? PATH_UPPERLABEL_NORMAL : PATH_LABEL_NOAMAL), {\n      defaultText: isShow ? defaultText : null,\n      inheritColor: visualColor,\n      defaultOpacity: visualOpacity,\n      labelFetcher: seriesModel,\n      labelDataIndex: thisNode.dataIndex\n    });\n    var textEl = rectEl.getTextContent();\n\n    if (!textEl) {\n      return;\n    }\n\n    var textStyle = textEl.style;\n    var textPadding = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeCssArray\"])(textStyle.padding || 0);\n\n    if (upperLabelRect) {\n      rectEl.setTextConfig({\n        layoutRect: upperLabelRect\n      });\n      textEl.disableLabelLayout = true;\n    }\n\n    textEl.beforeUpdate = function () {\n      var width = Math.max((upperLabelRect ? upperLabelRect.width : rectEl.shape.width) - textPadding[1] - textPadding[3], 0);\n      var height = Math.max((upperLabelRect ? upperLabelRect.height : rectEl.shape.height) - textPadding[0] - textPadding[2], 0);\n\n      if (textStyle.width !== width || textStyle.height !== height) {\n        textEl.setStyle({\n          width: width,\n          height: height\n        });\n      }\n    };\n\n    textStyle.truncateMinChar = 2;\n    textStyle.lineOverflow = 'truncate';\n    addDrillDownIcon(textStyle, upperLabelRect, thisLayout);\n    var textEmphasisState = textEl.getState('emphasis');\n    addDrillDownIcon(textEmphasisState ? textEmphasisState.style : null, upperLabelRect, thisLayout);\n  }\n\n  function addDrillDownIcon(style, upperLabelRect, thisLayout) {\n    var text = style ? style.text : null;\n\n    if (!upperLabelRect && thisLayout.isLeafRoot && text != null) {\n      var iconChar = seriesModel.get('drillDownIcon', true);\n      style.text = iconChar ? iconChar + ' ' + text : text;\n    }\n  }\n\n  function giveGraphic(storageName, Ctor, depth, z) {\n    var element = oldRawIndex != null && oldStorage[storageName][oldRawIndex];\n    var lasts = lastsForAnimation[storageName];\n\n    if (element) {\n      // Remove from oldStorage\n      oldStorage[storageName][oldRawIndex] = null;\n      prepareAnimationWhenHasOld(lasts, element);\n    } // If invisible and no old element, do not create new element (for optimizing).\n    else if (!thisInvisible) {\n        element = new Ctor();\n\n        if (element instanceof zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]) {\n          element.z2 = calculateZ2(depth, z);\n        }\n\n        prepareAnimationWhenNoOld(lasts, element);\n      } // Set to thisStorage\n\n\n    return thisStorage[storageName][thisRawIndex] = element;\n  }\n\n  function prepareAnimationWhenHasOld(lasts, element) {\n    var lastCfg = lasts[thisRawIndex] = {};\n\n    if (element instanceof Group) {\n      lastCfg.oldX = element.x;\n      lastCfg.oldY = element.y;\n    } else {\n      lastCfg.oldShape = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, element.shape);\n    }\n  } // If a element is new, we need to find the animation start point carefully,\n  // otherwise it will looks strange when 'zoomToNode'.\n\n\n  function prepareAnimationWhenNoOld(lasts, element) {\n    var lastCfg = lasts[thisRawIndex] = {};\n    var parentNode = thisNode.parentNode;\n    var isGroup = element instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"];\n\n    if (parentNode && (!reRoot || reRoot.direction === 'drillDown')) {\n      var parentOldX = 0;\n      var parentOldY = 0; // New nodes appear from right-bottom corner in 'zoomToNode' animation.\n      // For convenience, get old bounding rect from background.\n\n      var parentOldBg = lastsForAnimation.background[parentNode.getRawIndex()];\n\n      if (!reRoot && parentOldBg && parentOldBg.oldShape) {\n        parentOldX = parentOldBg.oldShape.width;\n        parentOldY = parentOldBg.oldShape.height;\n      } // When no parent old shape found, its parent is new too,\n      // so we can just use {x:0, y:0}.\n\n\n      if (isGroup) {\n        lastCfg.oldX = 0;\n        lastCfg.oldY = parentOldY;\n      } else {\n        lastCfg.oldShape = {\n          x: parentOldX,\n          y: parentOldY,\n          width: 0,\n          height: 0\n        };\n      }\n    } // Fade in, user can be aware that these nodes are new.\n\n\n    lastCfg.fadein = !isGroup;\n  }\n} // We can not set all backgroud with the same z, Because the behaviour of\n// drill down and roll up differ background creation sequence from tree\n// hierarchy sequence, which cause that lowser background element overlap\n// upper ones. So we calculate z based on depth.\n// Moreover, we try to shrink down z interval to [0, 1] to avoid that\n// treemap with large z overlaps other components.\n\n\nfunction calculateZ2(depth, z2InLevel) {\n  return depth * Z2_BASE + z2InLevel;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TreemapView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/TreemapView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/install.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/install.js ***!
  \***********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _treemapAction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./treemapAction.js */ \"./node_modules/echarts/lib/chart/treemap/treemapAction.js\");\n/* harmony import */ var _TreemapSeries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TreemapSeries.js */ \"./node_modules/echarts/lib/chart/treemap/TreemapSeries.js\");\n/* harmony import */ var _TreemapView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TreemapView.js */ \"./node_modules/echarts/lib/chart/treemap/TreemapView.js\");\n/* harmony import */ var _treemapVisual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./treemapVisual.js */ \"./node_modules/echarts/lib/chart/treemap/treemapVisual.js\");\n/* harmony import */ var _treemapLayout_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./treemapLayout.js */ \"./node_modules/echarts/lib/chart/treemap/treemapLayout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  registers.registerSeriesModel(_TreemapSeries_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerChartView(_TreemapView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerVisual(_treemapVisual_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerLayout(_treemapLayout_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  Object(_treemapAction_js__WEBPACK_IMPORTED_MODULE_0__[\"installTreemapAction\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/treemapAction.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/treemapAction.js ***!
  \*****************************************************************/
/*! exports provided: installTreemapAction */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installTreemapAction\", function() { return installTreemapAction; });\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar actionTypes = ['treemapZoomToNode', 'treemapRender', 'treemapMove'];\nfunction installTreemapAction(registers) {\n  for (var i = 0; i < actionTypes.length; i++) {\n    registers.registerAction({\n      type: actionTypes[i],\n      update: 'updateView'\n    }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"noop\"]);\n  }\n\n  registers.registerAction({\n    type: 'treemapRootToNode',\n    update: 'updateView'\n  }, function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'treemap',\n      query: payload\n    }, handleRootToNode);\n\n    function handleRootToNode(model, index) {\n      var types = ['treemapZoomToNode', 'treemapRootToNode'];\n      var targetInfo = _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieveTargetInfo\"](payload, types, model);\n\n      if (targetInfo) {\n        var originViewRoot = model.getViewRoot();\n\n        if (originViewRoot) {\n          payload.direction = _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"aboveViewRoot\"](originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';\n        }\n\n        model.resetViewRoot(targetInfo.node);\n      }\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/treemapAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/treemapLayout.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/treemapLayout.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helper/treeHelper.js */ \"./node_modules/echarts/lib/chart/helper/treeHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The treemap layout implementation was originally copied from\n* \"d3.js\" with some modifications made for this project.\n* (See more details in the comment of the method \"squarify\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* </licenses/LICENSE-d3>).\n*/\n\n\n\n\n\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar retrieveValue = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"];\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nvar PATH_BORDER_WIDTH = ['itemStyle', 'borderWidth'];\nvar PATH_GAP_WIDTH = ['itemStyle', 'gapWidth'];\nvar PATH_UPPER_LABEL_SHOW = ['upperLabel', 'show'];\nvar PATH_UPPER_LABEL_HEIGHT = ['upperLabel', 'height'];\n;\n/**\n * @public\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  seriesType: 'treemap',\n  reset: function (seriesModel, ecModel, api, payload) {\n    // Layout result in each node:\n    // {x, y, width, height, area, borderWidth}\n    var ecWidth = api.getWidth();\n    var ecHeight = api.getHeight();\n    var seriesOption = seriesModel.option;\n    var layoutInfo = _util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"getLayoutRect\"](seriesModel.getBoxLayoutParams(), {\n      width: api.getWidth(),\n      height: api.getHeight()\n    });\n    var size = seriesOption.size || []; // Compatible with ec2.\n\n    var containerWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(retrieveValue(layoutInfo.width, size[0]), ecWidth);\n    var containerHeight = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(retrieveValue(layoutInfo.height, size[1]), ecHeight); // Fetch payload info.\n\n    var payloadType = payload && payload.type;\n    var types = ['treemapZoomToNode', 'treemapRootToNode'];\n    var targetInfo = _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"retrieveTargetInfo\"](payload, types, seriesModel);\n    var rootRect = payloadType === 'treemapRender' || payloadType === 'treemapMove' ? payload.rootRect : null;\n    var viewRoot = seriesModel.getViewRoot();\n    var viewAbovePath = _helper_treeHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"getPathToRoot\"](viewRoot);\n\n    if (payloadType !== 'treemapMove') {\n      var rootSize = payloadType === 'treemapZoomToNode' ? estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) : rootRect ? [rootRect.width, rootRect.height] : [containerWidth, containerHeight];\n      var sort_1 = seriesOption.sort;\n\n      if (sort_1 && sort_1 !== 'asc' && sort_1 !== 'desc') {\n        // Default to be desc order.\n        sort_1 = 'desc';\n      }\n\n      var options = {\n        squareRatio: seriesOption.squareRatio,\n        sort: sort_1,\n        leafDepth: seriesOption.leafDepth\n      }; // layout should be cleared because using updateView but not update.\n\n      viewRoot.hostTree.clearLayouts(); // TODO\n      // optimize: if out of view clip, do not layout.\n      // But take care that if do not render node out of view clip,\n      // how to calculate start po\n\n      var viewRootLayout_1 = {\n        x: 0,\n        y: 0,\n        width: rootSize[0],\n        height: rootSize[1],\n        area: rootSize[0] * rootSize[1]\n      };\n      viewRoot.setLayout(viewRootLayout_1);\n      squarify(viewRoot, options, false, 0); // Supplement layout.\n\n      viewRootLayout_1 = viewRoot.getLayout();\n      each(viewAbovePath, function (node, index) {\n        var childValue = (viewAbovePath[index + 1] || viewRoot).getValue();\n        node.setLayout(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({\n          dataExtent: [childValue, childValue],\n          borderWidth: 0,\n          upperHeight: 0\n        }, viewRootLayout_1));\n      });\n    }\n\n    var treeRoot = seriesModel.getData().tree.root;\n    treeRoot.setLayout(calculateRootPosition(layoutInfo, rootRect, targetInfo), true);\n    seriesModel.setLayoutInfo(layoutInfo); // FIXME\n    // 现在没有clip功能，暂时取ec高宽。\n\n    prunning(treeRoot, // Transform to base element coordinate system.\n    new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](-layoutInfo.x, -layoutInfo.y, ecWidth, ecHeight), viewAbovePath, viewRoot, 0);\n  }\n});\n/**\n * Layout treemap with squarify algorithm.\n * The original presentation of this algorithm\n * was made by Mark Bruls, Kees Huizing, and Jarke J. van Wijk\n * <https://graphics.ethz.ch/teaching/scivis_common/Literature/squarifiedTreeMaps.pdf>.\n * The implementation of this algorithm was originally copied from \"d3.js\"\n * <https://github.com/d3/d3/blob/9cc9a875e636a1dcf36cc1e07bdf77e1ad6e2c74/src/layout/treemap.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * @protected\n * @param {module:echarts/data/Tree~TreeNode} node\n * @param {Object} options\n * @param {string} options.sort 'asc' or 'desc'\n * @param {number} options.squareRatio\n * @param {boolean} hideChildren\n * @param {number} depth\n */\n\nfunction squarify(node, options, hideChildren, depth) {\n  var width;\n  var height;\n\n  if (node.isRemoved()) {\n    return;\n  }\n\n  var thisLayout = node.getLayout();\n  width = thisLayout.width;\n  height = thisLayout.height; // Considering border and gap\n\n  var nodeModel = node.getModel();\n  var borderWidth = nodeModel.get(PATH_BORDER_WIDTH);\n  var halfGapWidth = nodeModel.get(PATH_GAP_WIDTH) / 2;\n  var upperLabelHeight = getUpperLabelHeight(nodeModel);\n  var upperHeight = Math.max(borderWidth, upperLabelHeight);\n  var layoutOffset = borderWidth - halfGapWidth;\n  var layoutOffsetUpper = upperHeight - halfGapWidth;\n  node.setLayout({\n    borderWidth: borderWidth,\n    upperHeight: upperHeight,\n    upperLabelHeight: upperLabelHeight\n  }, true);\n  width = mathMax(width - 2 * layoutOffset, 0);\n  height = mathMax(height - layoutOffset - layoutOffsetUpper, 0);\n  var totalArea = width * height;\n  var viewChildren = initChildren(node, nodeModel, totalArea, options, hideChildren, depth);\n\n  if (!viewChildren.length) {\n    return;\n  }\n\n  var rect = {\n    x: layoutOffset,\n    y: layoutOffsetUpper,\n    width: width,\n    height: height\n  };\n  var rowFixedLength = mathMin(width, height);\n  var best = Infinity; // the best row score so far\n\n  var row = [];\n  row.area = 0;\n\n  for (var i = 0, len = viewChildren.length; i < len;) {\n    var child = viewChildren[i];\n    row.push(child);\n    row.area += child.getLayout().area;\n    var score = worst(row, rowFixedLength, options.squareRatio); // continue with this orientation\n\n    if (score <= best) {\n      i++;\n      best = score;\n    } // abort, and try a different orientation\n    else {\n        row.area -= row.pop().getLayout().area;\n        position(row, rowFixedLength, rect, halfGapWidth, false);\n        rowFixedLength = mathMin(rect.width, rect.height);\n        row.length = row.area = 0;\n        best = Infinity;\n      }\n  }\n\n  if (row.length) {\n    position(row, rowFixedLength, rect, halfGapWidth, true);\n  }\n\n  if (!hideChildren) {\n    var childrenVisibleMin = nodeModel.get('childrenVisibleMin');\n\n    if (childrenVisibleMin != null && totalArea < childrenVisibleMin) {\n      hideChildren = true;\n    }\n  }\n\n  for (var i = 0, len = viewChildren.length; i < len; i++) {\n    squarify(viewChildren[i], options, hideChildren, depth + 1);\n  }\n}\n/**\n * Set area to each child, and calculate data extent for visual coding.\n */\n\n\nfunction initChildren(node, nodeModel, totalArea, options, hideChildren, depth) {\n  var viewChildren = node.children || [];\n  var orderBy = options.sort;\n  orderBy !== 'asc' && orderBy !== 'desc' && (orderBy = null);\n  var overLeafDepth = options.leafDepth != null && options.leafDepth <= depth; // leafDepth has higher priority.\n\n  if (hideChildren && !overLeafDepth) {\n    return node.viewChildren = [];\n  } // Sort children, order by desc.\n\n\n  viewChildren = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"filter\"](viewChildren, function (child) {\n    return !child.isRemoved();\n  });\n  sort(viewChildren, orderBy);\n  var info = statistic(nodeModel, viewChildren, orderBy);\n\n  if (info.sum === 0) {\n    return node.viewChildren = [];\n  }\n\n  info.sum = filterByThreshold(nodeModel, totalArea, info.sum, orderBy, viewChildren);\n\n  if (info.sum === 0) {\n    return node.viewChildren = [];\n  } // Set area to each child.\n\n\n  for (var i = 0, len = viewChildren.length; i < len; i++) {\n    var area = viewChildren[i].getValue() / info.sum * totalArea; // Do not use setLayout({...}, true), because it is needed to clear last layout.\n\n    viewChildren[i].setLayout({\n      area: area\n    });\n  }\n\n  if (overLeafDepth) {\n    viewChildren.length && node.setLayout({\n      isLeafRoot: true\n    }, true);\n    viewChildren.length = 0;\n  }\n\n  node.viewChildren = viewChildren;\n  node.setLayout({\n    dataExtent: info.dataExtent\n  }, true);\n  return viewChildren;\n}\n/**\n * Consider 'visibleMin'. Modify viewChildren and get new sum.\n */\n\n\nfunction filterByThreshold(nodeModel, totalArea, sum, orderBy, orderedChildren) {\n  // visibleMin is not supported yet when no option.sort.\n  if (!orderBy) {\n    return sum;\n  }\n\n  var visibleMin = nodeModel.get('visibleMin');\n  var len = orderedChildren.length;\n  var deletePoint = len; // Always travel from little value to big value.\n\n  for (var i = len - 1; i >= 0; i--) {\n    var value = orderedChildren[orderBy === 'asc' ? len - i - 1 : i].getValue();\n\n    if (value / sum * totalArea < visibleMin) {\n      deletePoint = i;\n      sum -= value;\n    }\n  }\n\n  orderBy === 'asc' ? orderedChildren.splice(0, len - deletePoint) : orderedChildren.splice(deletePoint, len - deletePoint);\n  return sum;\n}\n/**\n * Sort\n */\n\n\nfunction sort(viewChildren, orderBy) {\n  if (orderBy) {\n    viewChildren.sort(function (a, b) {\n      var diff = orderBy === 'asc' ? a.getValue() - b.getValue() : b.getValue() - a.getValue();\n      return diff === 0 ? orderBy === 'asc' ? a.dataIndex - b.dataIndex : b.dataIndex - a.dataIndex : diff;\n    });\n  }\n\n  return viewChildren;\n}\n/**\n * Statistic\n */\n\n\nfunction statistic(nodeModel, children, orderBy) {\n  // Calculate sum.\n  var sum = 0;\n\n  for (var i = 0, len = children.length; i < len; i++) {\n    sum += children[i].getValue();\n  } // Statistic data extent for latter visual coding.\n  // Notice: data extent should be calculate based on raw children\n  // but not filtered view children, otherwise visual mapping will not\n  // be stable when zoom (where children is filtered by visibleMin).\n\n\n  var dimension = nodeModel.get('visualDimension');\n  var dataExtent; // The same as area dimension.\n\n  if (!children || !children.length) {\n    dataExtent = [NaN, NaN];\n  } else if (dimension === 'value' && orderBy) {\n    dataExtent = [children[children.length - 1].getValue(), children[0].getValue()];\n    orderBy === 'asc' && dataExtent.reverse();\n  } // Other dimension.\n  else {\n      dataExtent = [Infinity, -Infinity];\n      each(children, function (child) {\n        var value = child.getValue(dimension);\n        value < dataExtent[0] && (dataExtent[0] = value);\n        value > dataExtent[1] && (dataExtent[1] = value);\n      });\n    }\n\n  return {\n    sum: sum,\n    dataExtent: dataExtent\n  };\n}\n/**\n * Computes the score for the specified row,\n * as the worst aspect ratio.\n */\n\n\nfunction worst(row, rowFixedLength, ratio) {\n  var areaMax = 0;\n  var areaMin = Infinity;\n\n  for (var i = 0, area = void 0, len = row.length; i < len; i++) {\n    area = row[i].getLayout().area;\n\n    if (area) {\n      area < areaMin && (areaMin = area);\n      area > areaMax && (areaMax = area);\n    }\n  }\n\n  var squareArea = row.area * row.area;\n  var f = rowFixedLength * rowFixedLength * ratio;\n  return squareArea ? mathMax(f * areaMax / squareArea, squareArea / (f * areaMin)) : Infinity;\n}\n/**\n * Positions the specified row of nodes. Modifies `rect`.\n */\n\n\nfunction position(row, rowFixedLength, rect, halfGapWidth, flush) {\n  // When rowFixedLength === rect.width,\n  // it is horizontal subdivision,\n  // rowFixedLength is the width of the subdivision,\n  // rowOtherLength is the height of the subdivision,\n  // and nodes will be positioned from left to right.\n  // wh[idx0WhenH] means: when horizontal,\n  //      wh[idx0WhenH] => wh[0] => 'width'.\n  //      xy[idx1WhenH] => xy[1] => 'y'.\n  var idx0WhenH = rowFixedLength === rect.width ? 0 : 1;\n  var idx1WhenH = 1 - idx0WhenH;\n  var xy = ['x', 'y'];\n  var wh = ['width', 'height'];\n  var last = rect[xy[idx0WhenH]];\n  var rowOtherLength = rowFixedLength ? row.area / rowFixedLength : 0;\n\n  if (flush || rowOtherLength > rect[wh[idx1WhenH]]) {\n    rowOtherLength = rect[wh[idx1WhenH]]; // over+underflow\n  }\n\n  for (var i = 0, rowLen = row.length; i < rowLen; i++) {\n    var node = row[i];\n    var nodeLayout = {};\n    var step = rowOtherLength ? node.getLayout().area / rowOtherLength : 0;\n    var wh1 = nodeLayout[wh[idx1WhenH]] = mathMax(rowOtherLength - 2 * halfGapWidth, 0); // We use Math.max/min to avoid negative width/height when considering gap width.\n\n    var remain = rect[xy[idx0WhenH]] + rect[wh[idx0WhenH]] - last;\n    var modWH = i === rowLen - 1 || remain < step ? remain : step;\n    var wh0 = nodeLayout[wh[idx0WhenH]] = mathMax(modWH - 2 * halfGapWidth, 0);\n    nodeLayout[xy[idx1WhenH]] = rect[xy[idx1WhenH]] + mathMin(halfGapWidth, wh1 / 2);\n    nodeLayout[xy[idx0WhenH]] = last + mathMin(halfGapWidth, wh0 / 2);\n    last += modWH;\n    node.setLayout(nodeLayout, true);\n  }\n\n  rect[xy[idx1WhenH]] += rowOtherLength;\n  rect[wh[idx1WhenH]] -= rowOtherLength;\n} // Return [containerWidth, containerHeight] as default.\n\n\nfunction estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) {\n  // If targetInfo.node exists, we zoom to the node,\n  // so estimate whold width and heigth by target node.\n  var currNode = (targetInfo || {}).node;\n  var defaultSize = [containerWidth, containerHeight];\n\n  if (!currNode || currNode === viewRoot) {\n    return defaultSize;\n  }\n\n  var parent;\n  var viewArea = containerWidth * containerHeight;\n  var area = viewArea * seriesModel.option.zoomToNodeRatio;\n\n  while (parent = currNode.parentNode) {\n    // jshint ignore:line\n    var sum = 0;\n    var siblings = parent.children;\n\n    for (var i = 0, len = siblings.length; i < len; i++) {\n      sum += siblings[i].getValue();\n    }\n\n    var currNodeValue = currNode.getValue();\n\n    if (currNodeValue === 0) {\n      return defaultSize;\n    }\n\n    area *= sum / currNodeValue; // Considering border, suppose aspect ratio is 1.\n\n    var parentModel = parent.getModel();\n    var borderWidth = parentModel.get(PATH_BORDER_WIDTH);\n    var upperHeight = Math.max(borderWidth, getUpperLabelHeight(parentModel));\n    area += 4 * borderWidth * borderWidth + (3 * borderWidth + upperHeight) * Math.pow(area, 0.5);\n    area > _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"MAX_SAFE_INTEGER\"] && (area = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"MAX_SAFE_INTEGER\"]);\n    currNode = parent;\n  }\n\n  area < viewArea && (area = viewArea);\n  var scale = Math.pow(area / viewArea, 0.5);\n  return [containerWidth * scale, containerHeight * scale];\n} // Root postion base on coord of containerGroup\n\n\nfunction calculateRootPosition(layoutInfo, rootRect, targetInfo) {\n  if (rootRect) {\n    return {\n      x: rootRect.x,\n      y: rootRect.y\n    };\n  }\n\n  var defaultPosition = {\n    x: 0,\n    y: 0\n  };\n\n  if (!targetInfo) {\n    return defaultPosition;\n  } // If targetInfo is fetched by 'retrieveTargetInfo',\n  // old tree and new tree are the same tree,\n  // so the node still exists and we can visit it.\n\n\n  var targetNode = targetInfo.node;\n  var layout = targetNode.getLayout();\n\n  if (!layout) {\n    return defaultPosition;\n  } // Transform coord from local to container.\n\n\n  var targetCenter = [layout.width / 2, layout.height / 2];\n  var node = targetNode;\n\n  while (node) {\n    var nodeLayout = node.getLayout();\n    targetCenter[0] += nodeLayout.x;\n    targetCenter[1] += nodeLayout.y;\n    node = node.parentNode;\n  }\n\n  return {\n    x: layoutInfo.width / 2 - targetCenter[0],\n    y: layoutInfo.height / 2 - targetCenter[1]\n  };\n} // Mark nodes visible for prunning when visual coding and rendering.\n// Prunning depends on layout and root position, so we have to do it after layout.\n\n\nfunction prunning(node, clipRect, viewAbovePath, viewRoot, depth) {\n  var nodeLayout = node.getLayout();\n  var nodeInViewAbovePath = viewAbovePath[depth];\n  var isAboveViewRoot = nodeInViewAbovePath && nodeInViewAbovePath === node;\n\n  if (nodeInViewAbovePath && !isAboveViewRoot || depth === viewAbovePath.length && node !== viewRoot) {\n    return;\n  }\n\n  node.setLayout({\n    // isInView means: viewRoot sub tree + viewAbovePath\n    isInView: true,\n    // invisible only means: outside view clip so that the node can not\n    // see but still layout for animation preparation but not render.\n    invisible: !isAboveViewRoot && !clipRect.intersect(nodeLayout),\n    isAboveViewRoot: isAboveViewRoot\n  }, true); // Transform to child coordinate.\n\n  var childClipRect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](clipRect.x - nodeLayout.x, clipRect.y - nodeLayout.y, clipRect.width, clipRect.height);\n  each(node.viewChildren || [], function (child) {\n    prunning(child, childClipRect, viewAbovePath, viewRoot, depth + 1);\n  });\n}\n\nfunction getUpperLabelHeight(model) {\n  return model.get(PATH_UPPER_LABEL_SHOW) ? model.get(PATH_UPPER_LABEL_HEIGHT) : 0;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/treemapLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/chart/treemap/treemapVisual.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/chart/treemap/treemapVisual.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../visual/VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar ITEM_STYLE_NORMAL = 'itemStyle';\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"makeInner\"])();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  seriesType: 'treemap',\n  reset: function (seriesModel) {\n    var tree = seriesModel.getData().tree;\n    var root = tree.root;\n\n    if (root.isRemoved()) {\n      return;\n    }\n\n    travelTree(root, // Visual should calculate from tree root but not view root.\n    {}, seriesModel.getViewRoot().getAncestors(), seriesModel);\n  }\n});\n\nfunction travelTree(node, designatedVisual, viewRootAncestors, seriesModel) {\n  var nodeModel = node.getModel();\n  var nodeLayout = node.getLayout();\n  var data = node.hostTree.data; // Optimize\n\n  if (!nodeLayout || nodeLayout.invisible || !nodeLayout.isInView) {\n    return;\n  }\n\n  var nodeItemStyleModel = nodeModel.getModel(ITEM_STYLE_NORMAL);\n  var visuals = buildVisuals(nodeItemStyleModel, designatedVisual, seriesModel);\n  var existsStyle = data.ensureUniqueItemVisual(node.dataIndex, 'style'); // calculate border color\n\n  var borderColor = nodeItemStyleModel.get('borderColor');\n  var borderColorSaturation = nodeItemStyleModel.get('borderColorSaturation');\n  var thisNodeColor;\n\n  if (borderColorSaturation != null) {\n    // For performance, do not always execute 'calculateColor'.\n    thisNodeColor = calculateColor(visuals);\n    borderColor = calculateBorderColor(borderColorSaturation, thisNodeColor);\n  }\n\n  existsStyle.stroke = borderColor;\n  var viewChildren = node.viewChildren;\n\n  if (!viewChildren || !viewChildren.length) {\n    thisNodeColor = calculateColor(visuals); // Apply visual to this node.\n\n    existsStyle.fill = thisNodeColor;\n  } else {\n    var mapping_1 = buildVisualMapping(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren); // Designate visual to children.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(viewChildren, function (child, index) {\n      // If higher than viewRoot, only ancestors of viewRoot is needed to visit.\n      if (child.depth >= viewRootAncestors.length || child === viewRootAncestors[child.depth]) {\n        var childVisual = mapVisual(nodeModel, visuals, child, index, mapping_1, seriesModel);\n        travelTree(child, childVisual, viewRootAncestors, seriesModel);\n      }\n    });\n  }\n}\n\nfunction buildVisuals(nodeItemStyleModel, designatedVisual, seriesModel) {\n  var visuals = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, designatedVisual);\n  var designatedVisualItemStyle = seriesModel.designatedVisualItemStyle;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(['color', 'colorAlpha', 'colorSaturation'], function (visualName) {\n    // Priority: thisNode > thisLevel > parentNodeDesignated > seriesModel\n    designatedVisualItemStyle[visualName] = designatedVisual[visualName];\n    var val = nodeItemStyleModel.get(visualName);\n    designatedVisualItemStyle[visualName] = null;\n    val != null && (visuals[visualName] = val);\n  });\n  return visuals;\n}\n\nfunction calculateColor(visuals) {\n  var color = getValueVisualDefine(visuals, 'color');\n\n  if (color) {\n    var colorAlpha = getValueVisualDefine(visuals, 'colorAlpha');\n    var colorSaturation = getValueVisualDefine(visuals, 'colorSaturation');\n\n    if (colorSaturation) {\n      color = Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__[\"modifyHSL\"])(color, null, null, colorSaturation);\n    }\n\n    if (colorAlpha) {\n      color = Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__[\"modifyAlpha\"])(color, colorAlpha);\n    }\n\n    return color;\n  }\n}\n\nfunction calculateBorderColor(borderColorSaturation, thisNodeColor) {\n  return thisNodeColor != null // Can only be string\n  ? Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__[\"modifyHSL\"])(thisNodeColor, null, null, borderColorSaturation) : null;\n}\n\nfunction getValueVisualDefine(visuals, name) {\n  var value = visuals[name];\n\n  if (value != null && value !== 'none') {\n    return value;\n  }\n}\n\nfunction buildVisualMapping(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren) {\n  if (!viewChildren || !viewChildren.length) {\n    return;\n  }\n\n  var rangeVisual = getRangeVisual(nodeModel, 'color') || visuals.color != null && visuals.color !== 'none' && (getRangeVisual(nodeModel, 'colorAlpha') || getRangeVisual(nodeModel, 'colorSaturation'));\n\n  if (!rangeVisual) {\n    return;\n  }\n\n  var visualMin = nodeModel.get('visualMin');\n  var visualMax = nodeModel.get('visualMax');\n  var dataExtent = nodeLayout.dataExtent.slice();\n  visualMin != null && visualMin < dataExtent[0] && (dataExtent[0] = visualMin);\n  visualMax != null && visualMax > dataExtent[1] && (dataExtent[1] = visualMax);\n  var colorMappingBy = nodeModel.get('colorMappingBy');\n  var opt = {\n    type: rangeVisual.name,\n    dataExtent: dataExtent,\n    visual: rangeVisual.range\n  };\n\n  if (opt.type === 'color' && (colorMappingBy === 'index' || colorMappingBy === 'id')) {\n    opt.mappingMethod = 'category';\n    opt.loop = true; // categories is ordinal, so do not set opt.categories.\n  } else {\n    opt.mappingMethod = 'linear';\n  }\n\n  var mapping = new _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](opt);\n  inner(mapping).drColorMappingBy = colorMappingBy;\n  return mapping;\n} // Notice: If we dont have the attribute 'colorRange', but only use\n// attribute 'color' to represent both concepts of 'colorRange' and 'color',\n// (It means 'colorRange' when 'color' is Array, means 'color' when not array),\n// this problem will be encountered:\n// If a level-1 node dont have children, and its siblings has children,\n// and colorRange is set on level-1, then the node can not be colored.\n// So we separate 'colorRange' and 'color' to different attributes.\n\n\nfunction getRangeVisual(nodeModel, name) {\n  // 'colorRange', 'colorARange', 'colorSRange'.\n  // If not exsits on this node, fetch from levels and series.\n  var range = nodeModel.get(name);\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(range) && range.length ? {\n    name: name,\n    range: range\n  } : null;\n}\n\nfunction mapVisual(nodeModel, visuals, child, index, mapping, seriesModel) {\n  var childVisuals = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, visuals);\n\n  if (mapping) {\n    // Only support color, colorAlpha, colorSaturation.\n    var mappingType = mapping.type;\n    var colorMappingBy = mappingType === 'color' && inner(mapping).drColorMappingBy;\n    var value = colorMappingBy === 'index' ? index : colorMappingBy === 'id' ? seriesModel.mapIdToIndex(child.getId()) : child.getValue(nodeModel.get('visualDimension'));\n    childVisuals[mappingType] = mapping.mapValueToVisual(value);\n  }\n\n  return childVisuals;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/treemapVisual.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/aria/install.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/component/aria/install.js ***!
  \************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _visual_aria_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../visual/aria.js */ \"./node_modules/echarts/lib/visual/aria.js\");\n/* harmony import */ var _preprocessor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preprocessor.js */ \"./node_modules/echarts/lib/component/aria/preprocessor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction install(registers) {\n  registers.registerPreprocessor(_preprocessor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerVisual(registers.PRIORITY.VISUAL.ARIA, _visual_aria_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/aria/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/aria/preprocessor.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/aria/preprocessor.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ariaPreprocessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction ariaPreprocessor(option) {\n  if (!option || !option.aria) {\n    return;\n  }\n\n  var aria = option.aria; // aria.show is deprecated and should use aria.enabled instead\n\n  if (aria.show != null) {\n    aria.enabled = aria.show;\n  }\n\n  aria.label = aria.label || {}; // move description, general, series, data to be under aria.label\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](['description', 'general', 'series', 'data'], function (name) {\n    if (aria[name] != null) {\n      aria.label[name] = aria[name];\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/aria/preprocessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/AngleAxisView.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/AngleAxisView.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _AxisView_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n/* harmony import */ var _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar elementList = ['axisLine', 'axisLabel', 'axisTick', 'minorTick', 'splitLine', 'minorSplitLine', 'splitArea'];\n\nfunction getAxisLineShape(polar, rExtent, angle) {\n  rExtent[1] > rExtent[0] && (rExtent = rExtent.slice().reverse());\n  var start = polar.coordToPoint([rExtent[0], angle]);\n  var end = polar.coordToPoint([rExtent[1], angle]);\n  return {\n    x1: start[0],\n    y1: start[1],\n    x2: end[0],\n    y2: end[1]\n  };\n}\n\nfunction getRadiusIdx(polar) {\n  var radiusAxis = polar.getRadiusAxis();\n  return radiusAxis.inverse ? 0 : 1;\n} // Remove the last tick which will overlap the first tick\n\n\nfunction fixAngleOverlap(list) {\n  var firstItem = list[0];\n  var lastItem = list[list.length - 1];\n\n  if (firstItem && lastItem && Math.abs(Math.abs(firstItem.coord - lastItem.coord) - 360) < 1e-4) {\n    list.pop();\n  }\n}\n\nvar AngleAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AngleAxisView, _super);\n\n  function AngleAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = AngleAxisView.type;\n    _this.axisPointerClass = 'PolarAxisPointer';\n    return _this;\n  }\n\n  AngleAxisView.prototype.render = function (angleAxisModel, ecModel) {\n    this.group.removeAll();\n\n    if (!angleAxisModel.get('show')) {\n      return;\n    }\n\n    var angleAxis = angleAxisModel.axis;\n    var polar = angleAxis.polar;\n    var radiusExtent = polar.getRadiusAxis().getExtent();\n    var ticksAngles = angleAxis.getTicksCoords();\n    var minorTickAngles = angleAxis.getMinorTicksCoords();\n    var labels = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](angleAxis.getViewLabels(), function (labelItem) {\n      labelItem = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](labelItem);\n      var scale = angleAxis.scale;\n      var tickValue = scale.type === 'ordinal' ? scale.getRawOrdinalNumber(labelItem.tickValue) : labelItem.tickValue;\n      labelItem.coord = angleAxis.dataToCoord(tickValue);\n      return labelItem;\n    });\n    fixAngleOverlap(labels);\n    fixAngleOverlap(ticksAngles);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](elementList, function (name) {\n      if (angleAxisModel.get([name, 'show']) && (!angleAxis.scale.isBlank() || name === 'axisLine')) {\n        angelAxisElementsBuilders[name](this.group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent, labels);\n      }\n    }, this);\n  };\n\n  AngleAxisView.type = 'angleAxis';\n  return AngleAxisView;\n}(_AxisView_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nvar angelAxisElementsBuilders = {\n  axisLine: function (group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n    var lineStyleModel = angleAxisModel.getModel(['axisLine', 'lineStyle']); // extent id of the axis radius (r0 and r)\n\n    var rId = getRadiusIdx(polar);\n    var r0Id = rId ? 0 : 1;\n    var shape;\n\n    if (radiusExtent[r0Id] === 0) {\n      shape = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Circle\"]({\n        shape: {\n          cx: polar.cx,\n          cy: polar.cy,\n          r: radiusExtent[rId]\n        },\n        style: lineStyleModel.getLineStyle(),\n        z2: 1,\n        silent: true\n      });\n    } else {\n      shape = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Ring\"]({\n        shape: {\n          cx: polar.cx,\n          cy: polar.cy,\n          r: radiusExtent[rId],\n          r0: radiusExtent[r0Id]\n        },\n        style: lineStyleModel.getLineStyle(),\n        z2: 1,\n        silent: true\n      });\n    }\n\n    shape.style.fill = null;\n    group.add(shape);\n  },\n  axisTick: function (group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n    var tickModel = angleAxisModel.getModel('axisTick');\n    var tickLen = (tickModel.get('inside') ? -1 : 1) * tickModel.get('length');\n    var radius = radiusExtent[getRadiusIdx(polar)];\n    var lines = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](ticksAngles, function (tickAngleItem) {\n      return new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n        shape: getAxisLineShape(polar, [radius, radius + tickLen], tickAngleItem.coord)\n      });\n    });\n    group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](lines, {\n      style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"](tickModel.getModel('lineStyle').getLineStyle(), {\n        stroke: angleAxisModel.get(['axisLine', 'lineStyle', 'color'])\n      })\n    }));\n  },\n  minorTick: function (group, angleAxisModel, polar, tickAngles, minorTickAngles, radiusExtent) {\n    if (!minorTickAngles.length) {\n      return;\n    }\n\n    var tickModel = angleAxisModel.getModel('axisTick');\n    var minorTickModel = angleAxisModel.getModel('minorTick');\n    var tickLen = (tickModel.get('inside') ? -1 : 1) * minorTickModel.get('length');\n    var radius = radiusExtent[getRadiusIdx(polar)];\n    var lines = [];\n\n    for (var i = 0; i < minorTickAngles.length; i++) {\n      for (var k = 0; k < minorTickAngles[i].length; k++) {\n        lines.push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n          shape: getAxisLineShape(polar, [radius, radius + tickLen], minorTickAngles[i][k].coord)\n        }));\n      }\n    }\n\n    group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](lines, {\n      style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"](minorTickModel.getModel('lineStyle').getLineStyle(), zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"](tickModel.getLineStyle(), {\n        stroke: angleAxisModel.get(['axisLine', 'lineStyle', 'color'])\n      }))\n    }));\n  },\n  axisLabel: function (group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent, labels) {\n    var rawCategoryData = angleAxisModel.getCategories(true);\n    var commonLabelModel = angleAxisModel.getModel('axisLabel');\n    var labelMargin = commonLabelModel.get('margin');\n    var triggerEvent = angleAxisModel.get('triggerEvent'); // Use length of ticksAngles because it may remove the last tick to avoid overlapping\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](labels, function (labelItem, idx) {\n      var labelModel = commonLabelModel;\n      var tickValue = labelItem.tickValue;\n      var r = radiusExtent[getRadiusIdx(polar)];\n      var p = polar.coordToPoint([r + labelMargin, labelItem.coord]);\n      var cx = polar.cx;\n      var cy = polar.cy;\n      var labelTextAlign = Math.abs(p[0] - cx) / r < 0.3 ? 'center' : p[0] > cx ? 'left' : 'right';\n      var labelTextVerticalAlign = Math.abs(p[1] - cy) / r < 0.3 ? 'middle' : p[1] > cy ? 'top' : 'bottom';\n\n      if (rawCategoryData && rawCategoryData[tickValue]) {\n        var rawCategoryItem = rawCategoryData[tickValue];\n\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"](rawCategoryItem) && rawCategoryItem.textStyle) {\n          labelModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](rawCategoryItem.textStyle, commonLabelModel, commonLabelModel.ecModel);\n        }\n      }\n\n      var textEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n        silent: _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].isLabelSilent(angleAxisModel),\n        style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"createTextStyle\"])(labelModel, {\n          x: p[0],\n          y: p[1],\n          fill: labelModel.getTextColor() || angleAxisModel.get(['axisLine', 'lineStyle', 'color']),\n          text: labelItem.formattedLabel,\n          align: labelTextAlign,\n          verticalAlign: labelTextVerticalAlign\n        })\n      });\n      group.add(textEl); // Pack data for mouse event\n\n      if (triggerEvent) {\n        var eventData = _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].makeAxisEventDataBase(angleAxisModel);\n        eventData.targetType = 'axisLabel';\n        eventData.value = labelItem.rawLabel;\n        Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_7__[\"getECData\"])(textEl).eventData = eventData;\n      }\n    }, this);\n  },\n  splitLine: function (group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n    var splitLineModel = angleAxisModel.getModel('splitLine');\n    var lineStyleModel = splitLineModel.getModel('lineStyle');\n    var lineColors = lineStyleModel.get('color');\n    var lineCount = 0;\n    lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n    var splitLines = [];\n\n    for (var i = 0; i < ticksAngles.length; i++) {\n      var colorIndex = lineCount++ % lineColors.length;\n      splitLines[colorIndex] = splitLines[colorIndex] || [];\n      splitLines[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n        shape: getAxisLineShape(polar, radiusExtent, ticksAngles[i].coord)\n      }));\n    } // Simple optimization\n    // Batching the lines if color are the same\n\n\n    for (var i = 0; i < splitLines.length; i++) {\n      group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](splitLines[i], {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          stroke: lineColors[i % lineColors.length]\n        }, lineStyleModel.getLineStyle()),\n        silent: true,\n        z: angleAxisModel.get('z')\n      }));\n    }\n  },\n  minorSplitLine: function (group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n    if (!minorTickAngles.length) {\n      return;\n    }\n\n    var minorSplitLineModel = angleAxisModel.getModel('minorSplitLine');\n    var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n    var lines = [];\n\n    for (var i = 0; i < minorTickAngles.length; i++) {\n      for (var k = 0; k < minorTickAngles[i].length; k++) {\n        lines.push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n          shape: getAxisLineShape(polar, radiusExtent, minorTickAngles[i][k].coord)\n        }));\n      }\n    }\n\n    group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](lines, {\n      style: lineStyleModel.getLineStyle(),\n      silent: true,\n      z: angleAxisModel.get('z')\n    }));\n  },\n  splitArea: function (group, angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n    if (!ticksAngles.length) {\n      return;\n    }\n\n    var splitAreaModel = angleAxisModel.getModel('splitArea');\n    var areaStyleModel = splitAreaModel.getModel('areaStyle');\n    var areaColors = areaStyleModel.get('color');\n    var lineCount = 0;\n    areaColors = areaColors instanceof Array ? areaColors : [areaColors];\n    var splitAreas = [];\n    var RADIAN = Math.PI / 180;\n    var prevAngle = -ticksAngles[0].coord * RADIAN;\n    var r0 = Math.min(radiusExtent[0], radiusExtent[1]);\n    var r1 = Math.max(radiusExtent[0], radiusExtent[1]);\n    var clockwise = angleAxisModel.get('clockwise');\n\n    for (var i = 1, len = ticksAngles.length; i <= len; i++) {\n      var coord = i === len ? ticksAngles[0].coord : ticksAngles[i].coord;\n      var colorIndex = lineCount++ % areaColors.length;\n      splitAreas[colorIndex] = splitAreas[colorIndex] || [];\n      splitAreas[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"]({\n        shape: {\n          cx: polar.cx,\n          cy: polar.cy,\n          r0: r0,\n          r: r1,\n          startAngle: prevAngle,\n          endAngle: -coord * RADIAN,\n          clockwise: clockwise\n        },\n        silent: true\n      }));\n      prevAngle = -coord * RADIAN;\n    } // Simple optimization\n    // Batching the lines if color are the same\n\n\n    for (var i = 0; i < splitAreas.length; i++) {\n      group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](splitAreas[i], {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          fill: areaColors[i % areaColors.length]\n        }, areaStyleModel.getAreaStyle()),\n        silent: true\n      }));\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (AngleAxisView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/AngleAxisView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/AxisBuilder.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/AxisBuilder.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _label_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../label/labelLayoutHelper.js */ \"./node_modules/echarts/lib/label/labelLayoutHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nvar PI = Math.PI;\n/**\n * A final axis is translated and rotated from a \"standard axis\".\n * So opt.position and opt.rotation is required.\n *\n * A standard axis is and axis from [0, 0] to [0, axisExtent[1]],\n * for example: (0, 0) ------------> (0, 50)\n *\n * nameDirection or tickDirection or labelDirection is 1 means tick\n * or label is below the standard axis, whereas is -1 means above\n * the standard axis. labelOffset means offset between label and axis,\n * which is useful when 'onZero', where axisLabel is in the grid and\n * label in outside grid.\n *\n * Tips: like always,\n * positive rotation represents anticlockwise, and negative rotation\n * represents clockwise.\n * The direction of position coordinate is the same as the direction\n * of screen coordinate.\n *\n * Do not need to consider axis 'inverse', which is auto processed by\n * axis extent.\n */\n\nvar AxisBuilder =\n/** @class */\nfunction () {\n  function AxisBuilder(axisModel, opt) {\n    this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n    this.opt = opt;\n    this.axisModel = axisModel; // Default value\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])(opt, {\n      labelOffset: 0,\n      nameDirection: 1,\n      tickDirection: 1,\n      labelDirection: 1,\n      silent: true,\n      handleAutoShown: function () {\n        return true;\n      }\n    }); // FIXME Not use a seperate text group?\n\n    var transformGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]({\n      x: opt.position[0],\n      y: opt.position[1],\n      rotation: opt.rotation\n    }); // this.group.add(transformGroup);\n    // this._transformGroup = transformGroup;\n\n    transformGroup.updateTransform();\n    this._transformGroup = transformGroup;\n  }\n\n  AxisBuilder.prototype.hasBuilder = function (name) {\n    return !!builders[name];\n  };\n\n  AxisBuilder.prototype.add = function (name) {\n    builders[name](this.opt, this.axisModel, this.group, this._transformGroup);\n  };\n\n  AxisBuilder.prototype.getGroup = function () {\n    return this.group;\n  };\n\n  AxisBuilder.innerTextLayout = function (axisRotation, textRotation, direction) {\n    var rotationDiff = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"remRadian\"])(textRotation - axisRotation);\n    var textAlign;\n    var textVerticalAlign;\n\n    if (Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"isRadianAroundZero\"])(rotationDiff)) {\n      // Label is parallel with axis line.\n      textVerticalAlign = direction > 0 ? 'top' : 'bottom';\n      textAlign = 'center';\n    } else if (Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"isRadianAroundZero\"])(rotationDiff - PI)) {\n      // Label is inverse parallel with axis line.\n      textVerticalAlign = direction > 0 ? 'bottom' : 'top';\n      textAlign = 'center';\n    } else {\n      textVerticalAlign = 'middle';\n\n      if (rotationDiff > 0 && rotationDiff < PI) {\n        textAlign = direction > 0 ? 'right' : 'left';\n      } else {\n        textAlign = direction > 0 ? 'left' : 'right';\n      }\n    }\n\n    return {\n      rotation: rotationDiff,\n      textAlign: textAlign,\n      textVerticalAlign: textVerticalAlign\n    };\n  };\n\n  AxisBuilder.makeAxisEventDataBase = function (axisModel) {\n    var eventData = {\n      componentType: axisModel.mainType,\n      componentIndex: axisModel.componentIndex\n    };\n    eventData[axisModel.mainType + 'Index'] = axisModel.componentIndex;\n    return eventData;\n  };\n\n  AxisBuilder.isLabelSilent = function (axisModel) {\n    var tooltipOpt = axisModel.get('tooltip');\n    return axisModel.get('silent') // Consider mouse cursor, add these restrictions.\n    || !(axisModel.get('triggerEvent') || tooltipOpt && tooltipOpt.show);\n  };\n\n  return AxisBuilder;\n}();\n\n;\nvar builders = {\n  axisLine: function (opt, axisModel, group, transformGroup) {\n    var shown = axisModel.get(['axisLine', 'show']);\n\n    if (shown === 'auto' && opt.handleAutoShown) {\n      shown = opt.handleAutoShown('axisLine');\n    }\n\n    if (!shown) {\n      return;\n    }\n\n    var extent = axisModel.axis.getExtent();\n    var matrix = transformGroup.transform;\n    var pt1 = [extent[0], 0];\n    var pt2 = [extent[1], 0];\n    var inverse = pt1[0] > pt2[0];\n\n    if (matrix) {\n      Object(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_8__[\"applyTransform\"])(pt1, pt1, matrix);\n      Object(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_8__[\"applyTransform\"])(pt2, pt2, matrix);\n    }\n\n    var lineStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({\n      lineCap: 'round'\n    }, axisModel.getModel(['axisLine', 'lineStyle']).getLineStyle());\n    var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Line\"]({\n      shape: {\n        x1: pt1[0],\n        y1: pt1[1],\n        x2: pt2[0],\n        y2: pt2[1]\n      },\n      style: lineStyle,\n      strokeContainThreshold: opt.strokeContainThreshold || 5,\n      silent: true,\n      z2: 1\n    });\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"subPixelOptimizeLine\"](line.shape, line.style.lineWidth);\n    line.anid = 'line';\n    group.add(line);\n    var arrows = axisModel.get(['axisLine', 'symbol']);\n\n    if (arrows != null) {\n      var arrowSize = axisModel.get(['axisLine', 'symbolSize']);\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(arrows)) {\n        // Use the same arrow for start and end point\n        arrows = [arrows, arrows];\n      }\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(arrowSize) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(arrowSize)) {\n        // Use the same size for width and height\n        arrowSize = [arrowSize, arrowSize];\n      }\n\n      var arrowOffset = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_6__[\"normalizeSymbolOffset\"])(axisModel.get(['axisLine', 'symbolOffset']) || 0, arrowSize);\n      var symbolWidth_1 = arrowSize[0];\n      var symbolHeight_1 = arrowSize[1];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])([{\n        rotate: opt.rotation + Math.PI / 2,\n        offset: arrowOffset[0],\n        r: 0\n      }, {\n        rotate: opt.rotation - Math.PI / 2,\n        offset: arrowOffset[1],\n        r: Math.sqrt((pt1[0] - pt2[0]) * (pt1[0] - pt2[0]) + (pt1[1] - pt2[1]) * (pt1[1] - pt2[1]))\n      }], function (point, index) {\n        if (arrows[index] !== 'none' && arrows[index] != null) {\n          var symbol = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_6__[\"createSymbol\"])(arrows[index], -symbolWidth_1 / 2, -symbolHeight_1 / 2, symbolWidth_1, symbolHeight_1, lineStyle.stroke, true); // Calculate arrow position with offset\n\n          var r = point.r + point.offset;\n          var pt = inverse ? pt2 : pt1;\n          symbol.attr({\n            rotation: point.rotate,\n            x: pt[0] + r * Math.cos(opt.rotation),\n            y: pt[1] - r * Math.sin(opt.rotation),\n            silent: true,\n            z2: 11\n          });\n          group.add(symbol);\n        }\n      });\n    }\n  },\n  axisTickLabel: function (opt, axisModel, group, transformGroup) {\n    var ticksEls = buildAxisMajorTicks(group, transformGroup, axisModel, opt);\n    var labelEls = buildAxisLabel(group, transformGroup, axisModel, opt);\n    fixMinMaxLabelShow(axisModel, labelEls, ticksEls);\n    buildAxisMinorTicks(group, transformGroup, axisModel, opt.tickDirection); // This bit fixes the label overlap issue for the time chart.\n    // See https://github.com/apache/echarts/issues/14266 for more.\n\n    if (axisModel.get(['axisLabel', 'hideOverlap'])) {\n      var labelList = Object(_label_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_10__[\"prepareLayoutList\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(labelEls, function (label) {\n        return {\n          label: label,\n          priority: label.z2,\n          defaultAttr: {\n            ignore: label.ignore\n          }\n        };\n      }));\n      Object(_label_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_10__[\"hideOverlap\"])(labelList);\n    }\n  },\n  axisName: function (opt, axisModel, group, transformGroup) {\n    var name = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"])(opt.axisName, axisModel.get('name'));\n\n    if (!name) {\n      return;\n    }\n\n    var nameLocation = axisModel.get('nameLocation');\n    var nameDirection = opt.nameDirection;\n    var textStyleModel = axisModel.getModel('nameTextStyle');\n    var gap = axisModel.get('nameGap') || 0;\n    var extent = axisModel.axis.getExtent();\n    var gapSignal = extent[0] > extent[1] ? -1 : 1;\n    var pos = [nameLocation === 'start' ? extent[0] - gapSignal * gap : nameLocation === 'end' ? extent[1] + gapSignal * gap : (extent[0] + extent[1]) / 2, // Reuse labelOffset.\n    isNameLocationCenter(nameLocation) ? opt.labelOffset + nameDirection * gap : 0];\n    var labelLayout;\n    var nameRotation = axisModel.get('nameRotate');\n\n    if (nameRotation != null) {\n      nameRotation = nameRotation * PI / 180; // To radian.\n    }\n\n    var axisNameAvailableWidth;\n\n    if (isNameLocationCenter(nameLocation)) {\n      labelLayout = AxisBuilder.innerTextLayout(opt.rotation, nameRotation != null ? nameRotation : opt.rotation, // Adapt to axis.\n      nameDirection);\n    } else {\n      labelLayout = endTextLayout(opt.rotation, nameLocation, nameRotation || 0, extent);\n      axisNameAvailableWidth = opt.axisNameAvailableWidth;\n\n      if (axisNameAvailableWidth != null) {\n        axisNameAvailableWidth = Math.abs(axisNameAvailableWidth / Math.sin(labelLayout.rotation));\n        !isFinite(axisNameAvailableWidth) && (axisNameAvailableWidth = null);\n      }\n    }\n\n    var textFont = textStyleModel.getFont();\n    var truncateOpt = axisModel.get('nameTruncate', true) || {};\n    var ellipsis = truncateOpt.ellipsis;\n    var maxWidth = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"])(opt.nameTruncateMaxWidth, truncateOpt.maxWidth, axisNameAvailableWidth);\n    var textEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Text\"]({\n      x: pos[0],\n      y: pos[1],\n      rotation: labelLayout.rotation,\n      silent: AxisBuilder.isLabelSilent(axisModel),\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"createTextStyle\"])(textStyleModel, {\n        text: name,\n        font: textFont,\n        overflow: 'truncate',\n        width: maxWidth,\n        ellipsis: ellipsis,\n        fill: textStyleModel.getTextColor() || axisModel.get(['axisLine', 'lineStyle', 'color']),\n        align: textStyleModel.get('align') || labelLayout.textAlign,\n        verticalAlign: textStyleModel.get('verticalAlign') || labelLayout.textVerticalAlign\n      }),\n      z2: 1\n    });\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"setTooltipConfig\"]({\n      el: textEl,\n      componentModel: axisModel,\n      itemName: name\n    });\n    textEl.__fullText = name; // Id for animation\n\n    textEl.anid = 'name';\n\n    if (axisModel.get('triggerEvent')) {\n      var eventData = AxisBuilder.makeAxisEventDataBase(axisModel);\n      eventData.targetType = 'axisName';\n      eventData.name = name;\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(textEl).eventData = eventData;\n    } // FIXME\n\n\n    transformGroup.add(textEl);\n    textEl.updateTransform();\n    group.add(textEl);\n    textEl.decomposeTransform();\n  }\n};\n\nfunction endTextLayout(rotation, textPosition, textRotate, extent) {\n  var rotationDiff = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"remRadian\"])(textRotate - rotation);\n  var textAlign;\n  var textVerticalAlign;\n  var inverse = extent[0] > extent[1];\n  var onLeft = textPosition === 'start' && !inverse || textPosition !== 'start' && inverse;\n\n  if (Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"isRadianAroundZero\"])(rotationDiff - PI / 2)) {\n    textVerticalAlign = onLeft ? 'bottom' : 'top';\n    textAlign = 'center';\n  } else if (Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"isRadianAroundZero\"])(rotationDiff - PI * 1.5)) {\n    textVerticalAlign = onLeft ? 'top' : 'bottom';\n    textAlign = 'center';\n  } else {\n    textVerticalAlign = 'middle';\n\n    if (rotationDiff < PI * 1.5 && rotationDiff > PI / 2) {\n      textAlign = onLeft ? 'left' : 'right';\n    } else {\n      textAlign = onLeft ? 'right' : 'left';\n    }\n  }\n\n  return {\n    rotation: rotationDiff,\n    textAlign: textAlign,\n    textVerticalAlign: textVerticalAlign\n  };\n}\n\nfunction fixMinMaxLabelShow(axisModel, labelEls, tickEls) {\n  if (Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_9__[\"shouldShowAllLabels\"])(axisModel.axis)) {\n    return;\n  } // If min or max are user set, we need to check\n  // If the tick on min(max) are overlap on their neighbour tick\n  // If they are overlapped, we need to hide the min(max) tick label\n\n\n  var showMinLabel = axisModel.get(['axisLabel', 'showMinLabel']);\n  var showMaxLabel = axisModel.get(['axisLabel', 'showMaxLabel']); // FIXME\n  // Have not consider onBand yet, where tick els is more than label els.\n\n  labelEls = labelEls || [];\n  tickEls = tickEls || [];\n  var firstLabel = labelEls[0];\n  var nextLabel = labelEls[1];\n  var lastLabel = labelEls[labelEls.length - 1];\n  var prevLabel = labelEls[labelEls.length - 2];\n  var firstTick = tickEls[0];\n  var nextTick = tickEls[1];\n  var lastTick = tickEls[tickEls.length - 1];\n  var prevTick = tickEls[tickEls.length - 2];\n\n  if (showMinLabel === false) {\n    ignoreEl(firstLabel);\n    ignoreEl(firstTick);\n  } else if (isTwoLabelOverlapped(firstLabel, nextLabel)) {\n    if (showMinLabel) {\n      ignoreEl(nextLabel);\n      ignoreEl(nextTick);\n    } else {\n      ignoreEl(firstLabel);\n      ignoreEl(firstTick);\n    }\n  }\n\n  if (showMaxLabel === false) {\n    ignoreEl(lastLabel);\n    ignoreEl(lastTick);\n  } else if (isTwoLabelOverlapped(prevLabel, lastLabel)) {\n    if (showMaxLabel) {\n      ignoreEl(prevLabel);\n      ignoreEl(prevTick);\n    } else {\n      ignoreEl(lastLabel);\n      ignoreEl(lastTick);\n    }\n  }\n}\n\nfunction ignoreEl(el) {\n  el && (el.ignore = true);\n}\n\nfunction isTwoLabelOverlapped(current, next) {\n  // current and next has the same rotation.\n  var firstRect = current && current.getBoundingRect().clone();\n  var nextRect = next && next.getBoundingRect().clone();\n\n  if (!firstRect || !nextRect) {\n    return;\n  } // When checking intersect of two rotated labels, we use mRotationBack\n  // to avoid that boundingRect is enlarge when using `boundingRect.applyTransform`.\n\n\n  var mRotationBack = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_7__[\"identity\"]([]);\n  zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_7__[\"rotate\"](mRotationBack, mRotationBack, -current.rotation);\n  firstRect.applyTransform(zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_7__[\"mul\"]([], mRotationBack, current.getLocalTransform()));\n  nextRect.applyTransform(zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_7__[\"mul\"]([], mRotationBack, next.getLocalTransform()));\n  return firstRect.intersect(nextRect);\n}\n\nfunction isNameLocationCenter(nameLocation) {\n  return nameLocation === 'middle' || nameLocation === 'center';\n}\n\nfunction createTicks(ticksCoords, tickTransform, tickEndCoord, tickLineStyle, anidPrefix) {\n  var tickEls = [];\n  var pt1 = [];\n  var pt2 = [];\n\n  for (var i = 0; i < ticksCoords.length; i++) {\n    var tickCoord = ticksCoords[i].coord;\n    pt1[0] = tickCoord;\n    pt1[1] = 0;\n    pt2[0] = tickCoord;\n    pt2[1] = tickEndCoord;\n\n    if (tickTransform) {\n      Object(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_8__[\"applyTransform\"])(pt1, pt1, tickTransform);\n      Object(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_8__[\"applyTransform\"])(pt2, pt2, tickTransform);\n    } // Tick line, Not use group transform to have better line draw\n\n\n    var tickEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Line\"]({\n      shape: {\n        x1: pt1[0],\n        y1: pt1[1],\n        x2: pt2[0],\n        y2: pt2[1]\n      },\n      style: tickLineStyle,\n      z2: 2,\n      autoBatch: true,\n      silent: true\n    });\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"subPixelOptimizeLine\"](tickEl.shape, tickEl.style.lineWidth);\n    tickEl.anid = anidPrefix + '_' + ticksCoords[i].tickValue;\n    tickEls.push(tickEl);\n  }\n\n  return tickEls;\n}\n\nfunction buildAxisMajorTicks(group, transformGroup, axisModel, opt) {\n  var axis = axisModel.axis;\n  var tickModel = axisModel.getModel('axisTick');\n  var shown = tickModel.get('show');\n\n  if (shown === 'auto' && opt.handleAutoShown) {\n    shown = opt.handleAutoShown('axisTick');\n  }\n\n  if (!shown || axis.scale.isBlank()) {\n    return;\n  }\n\n  var lineStyleModel = tickModel.getModel('lineStyle');\n  var tickEndCoord = opt.tickDirection * tickModel.get('length');\n  var ticksCoords = axis.getTicksCoords();\n  var ticksEls = createTicks(ticksCoords, transformGroup.transform, tickEndCoord, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])(lineStyleModel.getLineStyle(), {\n    stroke: axisModel.get(['axisLine', 'lineStyle', 'color'])\n  }), 'ticks');\n\n  for (var i = 0; i < ticksEls.length; i++) {\n    group.add(ticksEls[i]);\n  }\n\n  return ticksEls;\n}\n\nfunction buildAxisMinorTicks(group, transformGroup, axisModel, tickDirection) {\n  var axis = axisModel.axis;\n  var minorTickModel = axisModel.getModel('minorTick');\n\n  if (!minorTickModel.get('show') || axis.scale.isBlank()) {\n    return;\n  }\n\n  var minorTicksCoords = axis.getMinorTicksCoords();\n\n  if (!minorTicksCoords.length) {\n    return;\n  }\n\n  var lineStyleModel = minorTickModel.getModel('lineStyle');\n  var tickEndCoord = tickDirection * minorTickModel.get('length');\n  var minorTickLineStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])(lineStyleModel.getLineStyle(), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])(axisModel.getModel('axisTick').getLineStyle(), {\n    stroke: axisModel.get(['axisLine', 'lineStyle', 'color'])\n  }));\n\n  for (var i = 0; i < minorTicksCoords.length; i++) {\n    var minorTicksEls = createTicks(minorTicksCoords[i], transformGroup.transform, tickEndCoord, minorTickLineStyle, 'minorticks_' + i);\n\n    for (var k = 0; k < minorTicksEls.length; k++) {\n      group.add(minorTicksEls[k]);\n    }\n  }\n}\n\nfunction buildAxisLabel(group, transformGroup, axisModel, opt) {\n  var axis = axisModel.axis;\n  var show = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"])(opt.axisLabelShow, axisModel.get(['axisLabel', 'show']));\n\n  if (!show || axis.scale.isBlank()) {\n    return;\n  }\n\n  var labelModel = axisModel.getModel('axisLabel');\n  var labelMargin = labelModel.get('margin');\n  var labels = axis.getViewLabels(); // Special label rotate.\n\n  var labelRotation = (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"])(opt.labelRotate, labelModel.get('rotate')) || 0) * PI / 180;\n  var labelLayout = AxisBuilder.innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);\n  var rawCategoryData = axisModel.getCategories && axisModel.getCategories(true);\n  var labelEls = [];\n  var silent = AxisBuilder.isLabelSilent(axisModel);\n  var triggerEvent = axisModel.get('triggerEvent');\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(labels, function (labelItem, index) {\n    var tickValue = axis.scale.type === 'ordinal' ? axis.scale.getRawOrdinalNumber(labelItem.tickValue) : labelItem.tickValue;\n    var formattedLabel = labelItem.formattedLabel;\n    var rawLabel = labelItem.rawLabel;\n    var itemLabelModel = labelModel;\n\n    if (rawCategoryData && rawCategoryData[tickValue]) {\n      var rawCategoryItem = rawCategoryData[tickValue];\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(rawCategoryItem) && rawCategoryItem.textStyle) {\n        itemLabelModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](rawCategoryItem.textStyle, labelModel, axisModel.ecModel);\n      }\n    }\n\n    var textColor = itemLabelModel.getTextColor() || axisModel.get(['axisLine', 'lineStyle', 'color']);\n    var tickCoord = axis.dataToCoord(tickValue);\n    var textEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Text\"]({\n      x: tickCoord,\n      y: opt.labelOffset + opt.labelDirection * labelMargin,\n      rotation: labelLayout.rotation,\n      silent: silent,\n      z2: 10 + (labelItem.level || 0),\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"createTextStyle\"])(itemLabelModel, {\n        text: formattedLabel,\n        align: itemLabelModel.getShallow('align', true) || labelLayout.textAlign,\n        verticalAlign: itemLabelModel.getShallow('verticalAlign', true) || itemLabelModel.getShallow('baseline', true) || labelLayout.textVerticalAlign,\n        fill: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(textColor) ? textColor( // (1) In category axis with data zoom, tick is not the original\n        // index of axis.data. So tick should not be exposed to user\n        // in category axis.\n        // (2) Compatible with previous version, which always use formatted label as\n        // input. But in interval scale the formatted label is like '223,445', which\n        // maked user repalce ','. So we modify it to return original val but remain\n        // it as 'string' to avoid error in replacing.\n        axis.type === 'category' ? rawLabel : axis.type === 'value' ? tickValue + '' : tickValue, index) : textColor\n      })\n    });\n    textEl.anid = 'label_' + tickValue; // Pack data for mouse event\n\n    if (triggerEvent) {\n      var eventData = AxisBuilder.makeAxisEventDataBase(axisModel);\n      eventData.targetType = 'axisLabel';\n      eventData.value = rawLabel;\n      eventData.tickIndex = index;\n\n      if (axis.type === 'category') {\n        eventData.dataIndex = tickValue;\n      }\n\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(textEl).eventData = eventData;\n    } // FIXME\n\n\n    transformGroup.add(textEl);\n    textEl.updateTransform();\n    labelEls.push(textEl);\n    group.add(textEl);\n    textEl.decomposeTransform();\n  });\n  return labelEls;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AxisBuilder);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/AxisBuilder.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/AxisView.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/AxisView.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _axisPointer_modelHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../axisPointer/modelHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/modelHelper.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar axisPointerClazz = {};\n/**\n * Base class of AxisView.\n */\n\nvar AxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AxisView, _super);\n\n  function AxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = AxisView.type;\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  AxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n    // FIXME\n    // This process should proformed after coordinate systems updated\n    // (axis scale updated), and should be performed each time update.\n    // So put it here temporarily, although it is not appropriate to\n    // put a model-writing procedure in `view`.\n    this.axisPointerClass && _axisPointer_modelHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"fixValue\"](axisModel);\n\n    _super.prototype.render.apply(this, arguments);\n\n    this._doUpdateAxisPointerClass(axisModel, api, true);\n  };\n  /**\n   * Action handler.\n   */\n\n\n  AxisView.prototype.updateAxisPointer = function (axisModel, ecModel, api, payload) {\n    this._doUpdateAxisPointerClass(axisModel, api, false);\n  };\n  /**\n   * @override\n   */\n\n\n  AxisView.prototype.remove = function (ecModel, api) {\n    var axisPointer = this._axisPointer;\n    axisPointer && axisPointer.remove(api);\n  };\n  /**\n   * @override\n   */\n\n\n  AxisView.prototype.dispose = function (ecModel, api) {\n    this._disposeAxisPointer(api);\n\n    _super.prototype.dispose.apply(this, arguments);\n  };\n\n  AxisView.prototype._doUpdateAxisPointerClass = function (axisModel, api, forceRender) {\n    var Clazz = AxisView.getAxisPointerClass(this.axisPointerClass);\n\n    if (!Clazz) {\n      return;\n    }\n\n    var axisPointerModel = _axisPointer_modelHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"getAxisPointerModel\"](axisModel);\n    axisPointerModel ? (this._axisPointer || (this._axisPointer = new Clazz())).render(axisModel, axisPointerModel, api, forceRender) : this._disposeAxisPointer(api);\n  };\n\n  AxisView.prototype._disposeAxisPointer = function (api) {\n    this._axisPointer && this._axisPointer.dispose(api);\n    this._axisPointer = null;\n  };\n\n  AxisView.registerAxisPointerClass = function (type, clazz) {\n    if (true) {\n      if (axisPointerClazz[type]) {\n        throw new Error('axisPointer ' + type + ' exists');\n      }\n    }\n\n    axisPointerClazz[type] = clazz;\n  };\n\n  ;\n\n  AxisView.getAxisPointerClass = function (type) {\n    return type && axisPointerClazz[type];\n  };\n\n  ;\n  AxisView.type = 'axis';\n  return AxisView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AxisView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/AxisView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/CartesianAxisView.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/CartesianAxisView.js ***!
  \**********************************************************************/
/*! exports provided: CartesianXAxisView, CartesianYAxisView, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CartesianXAxisView\", function() { return CartesianXAxisView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CartesianYAxisView\", function() { return CartesianYAxisView; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _AxisView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n/* harmony import */ var _coord_cartesian_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/cartesian/cartesianAxisHelper.js */ \"./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js\");\n/* harmony import */ var _axisSplitHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./axisSplitHelper.js */ \"./node_modules/echarts/lib/component/axis/axisSplitHelper.js\");\n/* harmony import */ var _scale_helper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../scale/helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\n\nvar CartesianAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CartesianAxisView, _super);\n\n  function CartesianAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CartesianAxisView.type;\n    _this.axisPointerClass = 'CartesianAxisPointer';\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  CartesianAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n    this.group.removeAll();\n    var oldAxisGroup = this._axisGroup;\n    this._axisGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n    this.group.add(this._axisGroup);\n\n    if (!axisModel.get('show')) {\n      return;\n    }\n\n    var gridModel = axisModel.getCoordSysModel();\n    var layout = _coord_cartesian_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"layout\"](gridModel, axisModel);\n    var axisBuilder = new _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](axisModel, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({\n      handleAutoShown: function (elementType) {\n        var cartesians = gridModel.coordinateSystem.getCartesians();\n\n        for (var i = 0; i < cartesians.length; i++) {\n          if (Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"isIntervalOrLogScale\"])(cartesians[i].getOtherAxis(axisModel.axis).scale)) {\n            // Still show axis tick or axisLine if other axis is value / log\n            return true;\n          }\n        } // Not show axisTick or axisLine if other axis is category / time\n\n\n        return false;\n      }\n    }, layout));\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n    this._axisGroup.add(axisBuilder.getGroup());\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](selfBuilderAttrs, function (name) {\n      if (axisModel.get([name, 'show'])) {\n        axisElementBuilders[name](this, this._axisGroup, axisModel, gridModel);\n      }\n    }, this); // THIS is a special case for bar racing chart.\n    // Update the axis label from the natural initial layout to\n    // sorted layout should has no animation.\n\n    var isInitialSortFromBarRacing = payload && payload.type === 'changeAxisOrder' && payload.isInitSort;\n\n    if (!isInitialSortFromBarRacing) {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"groupTransition\"](oldAxisGroup, this._axisGroup, axisModel);\n    }\n\n    _super.prototype.render.call(this, axisModel, ecModel, api, payload);\n  };\n\n  CartesianAxisView.prototype.remove = function () {\n    Object(_axisSplitHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"rectCoordAxisHandleRemove\"])(this);\n  };\n\n  CartesianAxisView.type = 'cartesianAxis';\n  return CartesianAxisView;\n}(_AxisView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nvar axisElementBuilders = {\n  splitLine: function (axisView, axisGroup, axisModel, gridModel) {\n    var axis = axisModel.axis;\n\n    if (axis.scale.isBlank()) {\n      return;\n    }\n\n    var splitLineModel = axisModel.getModel('splitLine');\n    var lineStyleModel = splitLineModel.getModel('lineStyle');\n    var lineColors = lineStyleModel.get('color');\n    lineColors = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](lineColors) ? lineColors : [lineColors];\n    var gridRect = gridModel.coordinateSystem.getRect();\n    var isHorizontal = axis.isHorizontal();\n    var lineCount = 0;\n    var ticksCoords = axis.getTicksCoords({\n      tickModel: splitLineModel\n    });\n    var p1 = [];\n    var p2 = [];\n    var lineStyle = lineStyleModel.getLineStyle();\n\n    for (var i = 0; i < ticksCoords.length; i++) {\n      var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n      if (isHorizontal) {\n        p1[0] = tickCoord;\n        p1[1] = gridRect.y;\n        p2[0] = tickCoord;\n        p2[1] = gridRect.y + gridRect.height;\n      } else {\n        p1[0] = gridRect.x;\n        p1[1] = tickCoord;\n        p2[0] = gridRect.x + gridRect.width;\n        p2[1] = tickCoord;\n      }\n\n      var colorIndex = lineCount++ % lineColors.length;\n      var tickValue = ticksCoords[i].tickValue;\n      var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n        anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n        autoBatch: true,\n        shape: {\n          x1: p1[0],\n          y1: p1[1],\n          x2: p2[0],\n          y2: p2[1]\n        },\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          stroke: lineColors[colorIndex]\n        }, lineStyle),\n        silent: true\n      });\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"subPixelOptimizeLine\"](line.shape, lineStyle.lineWidth);\n      axisGroup.add(line);\n    }\n  },\n  minorSplitLine: function (axisView, axisGroup, axisModel, gridModel) {\n    var axis = axisModel.axis;\n    var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n    var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n    var gridRect = gridModel.coordinateSystem.getRect();\n    var isHorizontal = axis.isHorizontal();\n    var minorTicksCoords = axis.getMinorTicksCoords();\n\n    if (!minorTicksCoords.length) {\n      return;\n    }\n\n    var p1 = [];\n    var p2 = [];\n    var lineStyle = lineStyleModel.getLineStyle();\n\n    for (var i = 0; i < minorTicksCoords.length; i++) {\n      for (var k = 0; k < minorTicksCoords[i].length; k++) {\n        var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n        if (isHorizontal) {\n          p1[0] = tickCoord;\n          p1[1] = gridRect.y;\n          p2[0] = tickCoord;\n          p2[1] = gridRect.y + gridRect.height;\n        } else {\n          p1[0] = gridRect.x;\n          p1[1] = tickCoord;\n          p2[0] = gridRect.x + gridRect.width;\n          p2[1] = tickCoord;\n        }\n\n        var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Line\"]({\n          anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n          autoBatch: true,\n          shape: {\n            x1: p1[0],\n            y1: p1[1],\n            x2: p2[0],\n            y2: p2[1]\n          },\n          style: lineStyle,\n          silent: true\n        });\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"subPixelOptimizeLine\"](line.shape, lineStyle.lineWidth);\n        axisGroup.add(line);\n      }\n    }\n  },\n  splitArea: function (axisView, axisGroup, axisModel, gridModel) {\n    Object(_axisSplitHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"rectCoordAxisBuildSplitArea\"])(axisView, axisGroup, axisModel, gridModel);\n  }\n};\n\nvar CartesianXAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CartesianXAxisView, _super);\n\n  function CartesianXAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CartesianXAxisView.type;\n    return _this;\n  }\n\n  CartesianXAxisView.type = 'xAxis';\n  return CartesianXAxisView;\n}(CartesianAxisView);\n\n\n\nvar CartesianYAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CartesianYAxisView, _super);\n\n  function CartesianYAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CartesianXAxisView.type;\n    return _this;\n  }\n\n  CartesianYAxisView.type = 'yAxis';\n  return CartesianYAxisView;\n}(CartesianAxisView);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CartesianAxisView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/CartesianAxisView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/ParallelAxisView.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/ParallelAxisView.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _helper_BrushController_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/BrushController.js */ \"./node_modules/echarts/lib/component/helper/BrushController.js\");\n/* harmony import */ var _helper_brushHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helper/brushHelper.js */ \"./node_modules/echarts/lib/component/helper/brushHelper.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar elementList = ['axisLine', 'axisTickLabel', 'axisName'];\n\nvar ParallelAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelAxisView, _super);\n\n  function ParallelAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ParallelAxisView.type;\n    return _this;\n  }\n\n  ParallelAxisView.prototype.init = function (ecModel, api) {\n    _super.prototype.init.apply(this, arguments);\n\n    (this._brushController = new _helper_BrushController_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](api.getZr())).on('brush', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._onBrush, this));\n  };\n\n  ParallelAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n    if (fromAxisAreaSelect(axisModel, ecModel, payload)) {\n      return;\n    }\n\n    this.axisModel = axisModel;\n    this.api = api;\n    this.group.removeAll();\n    var oldAxisGroup = this._axisGroup;\n    this._axisGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Group\"]();\n    this.group.add(this._axisGroup);\n\n    if (!axisModel.get('show')) {\n      return;\n    }\n\n    var coordSysModel = getCoordSysModel(axisModel, ecModel);\n    var coordSys = coordSysModel.coordinateSystem;\n    var areaSelectStyle = axisModel.getAreaSelectStyle();\n    var areaWidth = areaSelectStyle.width;\n    var dim = axisModel.axis.dim;\n    var axisLayout = coordSys.getAxisLayout(dim);\n    var builderOpt = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({\n      strokeContainThreshold: areaWidth\n    }, axisLayout);\n    var axisBuilder = new _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](axisModel, builderOpt);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](elementList, axisBuilder.add, axisBuilder);\n\n    this._axisGroup.add(axisBuilder.getGroup());\n\n    this._refreshBrushController(builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api);\n\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"groupTransition\"](oldAxisGroup, this._axisGroup, axisModel);\n  }; // /**\n  //  * @override\n  //  */\n  // updateVisual(axisModel, ecModel, api, payload) {\n  //     this._brushController && this._brushController\n  //         .updateCovers(getCoverInfoList(axisModel));\n  // }\n\n\n  ParallelAxisView.prototype._refreshBrushController = function (builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api) {\n    // After filtering, axis may change, select area needs to be update.\n    var extent = axisModel.axis.getExtent();\n    var extentLen = extent[1] - extent[0];\n    var extra = Math.min(30, Math.abs(extentLen) * 0.1); // Arbitrary value.\n    // width/height might be negative, which will be\n    // normalized in BoundingRect.\n\n    var rect = _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"BoundingRect\"].create({\n      x: extent[0],\n      y: -areaWidth / 2,\n      width: extentLen,\n      height: areaWidth\n    });\n    rect.x -= extra;\n    rect.width += 2 * extra;\n\n    this._brushController.mount({\n      enableGlobalPan: true,\n      rotation: builderOpt.rotation,\n      x: builderOpt.position[0],\n      y: builderOpt.position[1]\n    }).setPanels([{\n      panelId: 'pl',\n      clipPath: _helper_brushHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"makeRectPanelClipPath\"](rect),\n      isTargetByCursor: _helper_brushHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"makeRectIsTargetByCursor\"](rect, api, coordSysModel),\n      getLinearBrushOtherExtent: _helper_brushHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"makeLinearBrushOtherExtent\"](rect, 0)\n    }]).enableBrush({\n      brushType: 'lineX',\n      brushStyle: areaSelectStyle,\n      removeOnClick: true\n    }).updateCovers(getCoverInfoList(axisModel));\n  };\n\n  ParallelAxisView.prototype._onBrush = function (eventParam) {\n    var coverInfoList = eventParam.areas; // Do not cache these object, because the mey be changed.\n\n    var axisModel = this.axisModel;\n    var axis = axisModel.axis;\n    var intervals = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](coverInfoList, function (coverInfo) {\n      return [axis.coordToData(coverInfo.range[0], true), axis.coordToData(coverInfo.range[1], true)];\n    }); // If realtime is true, action is not dispatched on drag end, because\n    // the drag end emits the same params with the last drag move event,\n    // and may have some delay when using touch pad.\n\n    if (!axisModel.option.realtime === eventParam.isEnd || eventParam.removeOnClick) {\n      // jshint ignore:line\n      this.api.dispatchAction({\n        type: 'axisAreaSelect',\n        parallelAxisId: axisModel.id,\n        intervals: intervals\n      });\n    }\n  };\n\n  ParallelAxisView.prototype.dispose = function () {\n    this._brushController.dispose();\n  };\n\n  ParallelAxisView.type = 'parallelAxis';\n  return ParallelAxisView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\nfunction fromAxisAreaSelect(axisModel, ecModel, payload) {\n  return payload && payload.type === 'axisAreaSelect' && ecModel.findComponents({\n    mainType: 'parallelAxis',\n    query: payload\n  })[0] === axisModel;\n}\n\nfunction getCoverInfoList(axisModel) {\n  var axis = axisModel.axis;\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](axisModel.activeIntervals, function (interval) {\n    return {\n      brushType: 'lineX',\n      panelId: 'pl',\n      range: [axis.dataToCoord(interval[0], true), axis.dataToCoord(interval[1], true)]\n    };\n  });\n}\n\nfunction getCoordSysModel(axisModel, ecModel) {\n  return ecModel.getComponent('parallel', axisModel.get('parallelIndex'));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelAxisView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/ParallelAxisView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/RadiusAxisView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/RadiusAxisView.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _AxisView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitLine', 'splitArea', 'minorSplitLine'];\n\nvar RadiusAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadiusAxisView, _super);\n\n  function RadiusAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = RadiusAxisView.type;\n    _this.axisPointerClass = 'PolarAxisPointer';\n    return _this;\n  }\n\n  RadiusAxisView.prototype.render = function (radiusAxisModel, ecModel) {\n    this.group.removeAll();\n\n    if (!radiusAxisModel.get('show')) {\n      return;\n    }\n\n    var oldAxisGroup = this._axisGroup;\n    var newAxisGroup = this._axisGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"]();\n    this.group.add(newAxisGroup);\n    var radiusAxis = radiusAxisModel.axis;\n    var polar = radiusAxis.polar;\n    var angleAxis = polar.getAngleAxis();\n    var ticksCoords = radiusAxis.getTicksCoords();\n    var minorTicksCoords = radiusAxis.getMinorTicksCoords();\n    var axisAngle = angleAxis.getExtent()[0];\n    var radiusExtent = radiusAxis.getExtent();\n    var layout = layoutAxis(polar, radiusAxisModel, axisAngle);\n    var axisBuilder = new _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](radiusAxisModel, layout);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](axisBuilderAttrs, axisBuilder.add, axisBuilder);\n    newAxisGroup.add(axisBuilder.getGroup());\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"groupTransition\"](oldAxisGroup, newAxisGroup, radiusAxisModel);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](selfBuilderAttrs, function (name) {\n      if (radiusAxisModel.get([name, 'show']) && !radiusAxis.scale.isBlank()) {\n        axisElementBuilders[name](this.group, radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);\n      }\n    }, this);\n  };\n\n  RadiusAxisView.type = 'radiusAxis';\n  return RadiusAxisView;\n}(_AxisView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nvar axisElementBuilders = {\n  splitLine: function (group, radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n    var splitLineModel = radiusAxisModel.getModel('splitLine');\n    var lineStyleModel = splitLineModel.getModel('lineStyle');\n    var lineColors = lineStyleModel.get('color');\n    var lineCount = 0;\n    lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n    var splitLines = [];\n\n    for (var i = 0; i < ticksCoords.length; i++) {\n      var colorIndex = lineCount++ % lineColors.length;\n      splitLines[colorIndex] = splitLines[colorIndex] || [];\n      splitLines[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Circle\"]({\n        shape: {\n          cx: polar.cx,\n          cy: polar.cy,\n          // ensure circle radius >= 0\n          r: Math.max(ticksCoords[i].coord, 0)\n        }\n      }));\n    } // Simple optimization\n    // Batching the lines if color are the same\n\n\n    for (var i = 0; i < splitLines.length; i++) {\n      group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](splitLines[i], {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          stroke: lineColors[i % lineColors.length],\n          fill: null\n        }, lineStyleModel.getLineStyle()),\n        silent: true\n      }));\n    }\n  },\n  minorSplitLine: function (group, radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords) {\n    if (!minorTicksCoords.length) {\n      return;\n    }\n\n    var minorSplitLineModel = radiusAxisModel.getModel('minorSplitLine');\n    var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n    var lines = [];\n\n    for (var i = 0; i < minorTicksCoords.length; i++) {\n      for (var k = 0; k < minorTicksCoords[i].length; k++) {\n        lines.push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Circle\"]({\n          shape: {\n            cx: polar.cx,\n            cy: polar.cy,\n            r: minorTicksCoords[i][k].coord\n          }\n        }));\n      }\n    }\n\n    group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](lines, {\n      style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n        fill: null\n      }, lineStyleModel.getLineStyle()),\n      silent: true\n    }));\n  },\n  splitArea: function (group, radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n    if (!ticksCoords.length) {\n      return;\n    }\n\n    var splitAreaModel = radiusAxisModel.getModel('splitArea');\n    var areaStyleModel = splitAreaModel.getModel('areaStyle');\n    var areaColors = areaStyleModel.get('color');\n    var lineCount = 0;\n    areaColors = areaColors instanceof Array ? areaColors : [areaColors];\n    var splitAreas = [];\n    var prevRadius = ticksCoords[0].coord;\n\n    for (var i = 1; i < ticksCoords.length; i++) {\n      var colorIndex = lineCount++ % areaColors.length;\n      splitAreas[colorIndex] = splitAreas[colorIndex] || [];\n      splitAreas[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Sector\"]({\n        shape: {\n          cx: polar.cx,\n          cy: polar.cy,\n          r0: prevRadius,\n          r: ticksCoords[i].coord,\n          startAngle: 0,\n          endAngle: Math.PI * 2\n        },\n        silent: true\n      }));\n      prevRadius = ticksCoords[i].coord;\n    } // Simple optimization\n    // Batching the lines if color are the same\n\n\n    for (var i = 0; i < splitAreas.length; i++) {\n      group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"mergePath\"](splitAreas[i], {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          fill: areaColors[i % areaColors.length]\n        }, areaStyleModel.getAreaStyle()),\n        silent: true\n      }));\n    }\n  }\n};\n/**\n * @inner\n */\n\nfunction layoutAxis(polar, radiusAxisModel, axisAngle) {\n  return {\n    position: [polar.cx, polar.cy],\n    rotation: axisAngle / 180 * Math.PI,\n    labelDirection: -1,\n    tickDirection: -1,\n    nameDirection: 1,\n    labelRotate: radiusAxisModel.getModel('axisLabel').get('rotate'),\n    // Over splitLine and splitArea\n    z2: 1\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadiusAxisView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/RadiusAxisView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/SingleAxisView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/SingleAxisView.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _coord_single_singleAxisHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../coord/single/singleAxisHelper.js */ \"./node_modules/echarts/lib/coord/single/singleAxisHelper.js\");\n/* harmony import */ var _AxisView_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n/* harmony import */ var _axisSplitHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./axisSplitHelper.js */ \"./node_modules/echarts/lib/component/axis/axisSplitHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine'];\n\nvar SingleAxisView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SingleAxisView, _super);\n\n  function SingleAxisView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SingleAxisView.type;\n    _this.axisPointerClass = 'SingleAxisPointer';\n    return _this;\n  }\n\n  SingleAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n    var group = this.group;\n    group.removeAll();\n    var oldAxisGroup = this._axisGroup;\n    this._axisGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n    var layout = _coord_single_singleAxisHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"layout\"](axisModel);\n    var axisBuilder = new _AxisBuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](axisModel, layout);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](axisBuilderAttrs, axisBuilder.add, axisBuilder);\n    group.add(this._axisGroup);\n    group.add(axisBuilder.getGroup());\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](selfBuilderAttrs, function (name) {\n      if (axisModel.get([name, 'show'])) {\n        axisElementBuilders[name](this, this.group, this._axisGroup, axisModel);\n      }\n    }, this);\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"groupTransition\"](oldAxisGroup, this._axisGroup, axisModel);\n\n    _super.prototype.render.call(this, axisModel, ecModel, api, payload);\n  };\n\n  SingleAxisView.prototype.remove = function () {\n    Object(_axisSplitHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"rectCoordAxisHandleRemove\"])(this);\n  };\n\n  SingleAxisView.type = 'singleAxis';\n  return SingleAxisView;\n}(_AxisView_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nvar axisElementBuilders = {\n  splitLine: function (axisView, group, axisGroup, axisModel) {\n    var axis = axisModel.axis;\n\n    if (axis.scale.isBlank()) {\n      return;\n    }\n\n    var splitLineModel = axisModel.getModel('splitLine');\n    var lineStyleModel = splitLineModel.getModel('lineStyle');\n    var lineColors = lineStyleModel.get('color');\n    lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n    var lineWidth = lineStyleModel.get('width');\n    var gridRect = axisModel.coordinateSystem.getRect();\n    var isHorizontal = axis.isHorizontal();\n    var splitLines = [];\n    var lineCount = 0;\n    var ticksCoords = axis.getTicksCoords({\n      tickModel: splitLineModel\n    });\n    var p1 = [];\n    var p2 = [];\n\n    for (var i = 0; i < ticksCoords.length; ++i) {\n      var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n      if (isHorizontal) {\n        p1[0] = tickCoord;\n        p1[1] = gridRect.y;\n        p2[0] = tickCoord;\n        p2[1] = gridRect.y + gridRect.height;\n      } else {\n        p1[0] = gridRect.x;\n        p1[1] = tickCoord;\n        p2[0] = gridRect.x + gridRect.width;\n        p2[1] = tickCoord;\n      }\n\n      var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Line\"]({\n        shape: {\n          x1: p1[0],\n          y1: p1[1],\n          x2: p2[0],\n          y2: p2[1]\n        },\n        silent: true\n      });\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"subPixelOptimizeLine\"](line.shape, lineWidth);\n      var colorIndex = lineCount++ % lineColors.length;\n      splitLines[colorIndex] = splitLines[colorIndex] || [];\n      splitLines[colorIndex].push(line);\n    }\n\n    var lineStyle = lineStyleModel.getLineStyle(['color']);\n\n    for (var i = 0; i < splitLines.length; ++i) {\n      group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"mergePath\"](splitLines[i], {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          stroke: lineColors[i % lineColors.length]\n        }, lineStyle),\n        silent: true\n      }));\n    }\n  },\n  splitArea: function (axisView, group, axisGroup, axisModel) {\n    Object(_axisSplitHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"rectCoordAxisBuildSplitArea\"])(axisView, axisGroup, axisModel, axisModel);\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SingleAxisView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/SingleAxisView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/axisSplitHelper.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/axisSplitHelper.js ***!
  \********************************************************************/
/*! exports provided: rectCoordAxisBuildSplitArea, rectCoordAxisHandleRemove */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rectCoordAxisBuildSplitArea\", function() { return rectCoordAxisBuildSplitArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rectCoordAxisHandleRemove\", function() { return rectCoordAxisHandleRemove; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"makeInner\"])();\nfunction rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {\n  var axis = axisModel.axis;\n\n  if (axis.scale.isBlank()) {\n    return;\n  } // TODO: TYPE\n\n\n  var splitAreaModel = axisModel.getModel('splitArea');\n  var areaStyleModel = splitAreaModel.getModel('areaStyle');\n  var areaColors = areaStyleModel.get('color');\n  var gridRect = gridModel.coordinateSystem.getRect();\n  var ticksCoords = axis.getTicksCoords({\n    tickModel: splitAreaModel,\n    clamp: true\n  });\n\n  if (!ticksCoords.length) {\n    return;\n  } // For Making appropriate splitArea animation, the color and anid\n  // should be corresponding to previous one if possible.\n\n\n  var areaColorsLen = areaColors.length;\n  var lastSplitAreaColors = inner(axisView).splitAreaColors;\n  var newSplitAreaColors = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n  var colorIndex = 0;\n\n  if (lastSplitAreaColors) {\n    for (var i = 0; i < ticksCoords.length; i++) {\n      var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);\n\n      if (cIndex != null) {\n        colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;\n        break;\n      }\n    }\n  }\n\n  var prev = axis.toGlobalCoord(ticksCoords[0].coord);\n  var areaStyle = areaStyleModel.getAreaStyle();\n  areaColors = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](areaColors) ? areaColors : [areaColors];\n\n  for (var i = 1; i < ticksCoords.length; i++) {\n    var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n    var x = void 0;\n    var y = void 0;\n    var width = void 0;\n    var height = void 0;\n\n    if (axis.isHorizontal()) {\n      x = prev;\n      y = gridRect.y;\n      width = tickCoord - x;\n      height = gridRect.height;\n      prev = x + width;\n    } else {\n      x = gridRect.x;\n      y = prev;\n      width = gridRect.width;\n      height = tickCoord - y;\n      prev = y + height;\n    }\n\n    var tickValue = ticksCoords[i - 1].tickValue;\n    tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);\n    axisGroup.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n      anid: tickValue != null ? 'area_' + tickValue : null,\n      shape: {\n        x: x,\n        y: y,\n        width: width,\n        height: height\n      },\n      style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"]({\n        fill: areaColors[colorIndex]\n      }, areaStyle),\n      autoBatch: true,\n      silent: true\n    }));\n    colorIndex = (colorIndex + 1) % areaColorsLen;\n  }\n\n  inner(axisView).splitAreaColors = newSplitAreaColors;\n}\nfunction rectCoordAxisHandleRemove(axisView) {\n  inner(axisView).splitAreaColors = null;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/axisSplitHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axis/parallelAxisAction.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axis/parallelAxisAction.js ***!
  \***********************************************************************/
/*! exports provided: installParallelActions */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installParallelActions\", function() { return installParallelActions; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar actionInfo = {\n  type: 'axisAreaSelect',\n  event: 'axisAreaSelected' // update: 'updateVisual'\n\n};\nfunction installParallelActions(registers) {\n  registers.registerAction(actionInfo, function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'parallelAxis',\n      query: payload\n    }, function (parallelAxisModel) {\n      parallelAxisModel.axis.model.setActiveIntervals(payload.intervals);\n    });\n  });\n  /**\n   * @payload\n   */\n\n  registers.registerAction('parallelAxisExpand', function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'parallel',\n      query: payload\n    }, function (parallelModel) {\n      parallelModel.setAxisExpand(payload);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/parallelAxisAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js ***!
  \****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar AxisPointerModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AxisPointerModel, _super);\n\n  function AxisPointerModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = AxisPointerModel.type;\n    return _this;\n  }\n\n  AxisPointerModel.type = 'axisPointer';\n  AxisPointerModel.defaultOption = {\n    // 'auto' means that show when triggered by tooltip or handle.\n    show: 'auto',\n    // zlevel: 0,\n    z: 50,\n    type: 'line',\n    // axispointer triggered by tootip determine snap automatically,\n    // see `modelHelper`.\n    snap: false,\n    triggerTooltip: true,\n    value: null,\n    status: null,\n    link: [],\n    // Do not set 'auto' here, otherwise global animation: false\n    // will not effect at this axispointer.\n    animation: null,\n    animationDurationUpdate: 200,\n    lineStyle: {\n      color: '#B9BEC9',\n      width: 1,\n      type: 'dashed'\n    },\n    shadowStyle: {\n      color: 'rgba(210,219,238,0.2)'\n    },\n    label: {\n      show: true,\n      formatter: null,\n      precision: 'auto',\n      margin: 3,\n      color: '#fff',\n      padding: [5, 7, 5, 7],\n      backgroundColor: 'auto',\n      borderColor: null,\n      borderWidth: 0,\n      borderRadius: 3\n    },\n    handle: {\n      show: false,\n      // eslint-disable-next-line\n      icon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z',\n      size: 45,\n      // handle margin is from symbol center to axis, which is stable when circular move.\n      margin: 50,\n      // color: '#1b8bbd'\n      // color: '#2f4554'\n      color: '#333',\n      shadowBlur: 3,\n      shadowColor: '#aaa',\n      shadowOffsetX: 0,\n      shadowOffsetY: 2,\n      // For mobile performance\n      throttle: 40\n    }\n  };\n  return AxisPointerModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AxisPointerModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _globalListener_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globalListener.js */ \"./node_modules/echarts/lib/component/axisPointer/globalListener.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar AxisPointerView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AxisPointerView, _super);\n\n  function AxisPointerView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = AxisPointerView.type;\n    return _this;\n  }\n\n  AxisPointerView.prototype.render = function (globalAxisPointerModel, ecModel, api) {\n    var globalTooltipModel = ecModel.getComponent('tooltip');\n    var triggerOn = globalAxisPointerModel.get('triggerOn') || globalTooltipModel && globalTooltipModel.get('triggerOn') || 'mousemove|click'; // Register global listener in AxisPointerView to enable\n    // AxisPointerView to be independent to Tooltip.\n\n    _globalListener_js__WEBPACK_IMPORTED_MODULE_1__[\"register\"]('axisPointer', api, function (currTrigger, e, dispatchAction) {\n      // If 'none', it is not controlled by mouse totally.\n      if (triggerOn !== 'none' && (currTrigger === 'leave' || triggerOn.indexOf(currTrigger) >= 0)) {\n        dispatchAction({\n          type: 'updateAxisPointer',\n          currTrigger: currTrigger,\n          x: e && e.offsetX,\n          y: e && e.offsetY\n        });\n      }\n    });\n  };\n\n  AxisPointerView.prototype.remove = function (ecModel, api) {\n    _globalListener_js__WEBPACK_IMPORTED_MODULE_1__[\"unregister\"]('axisPointer', api);\n  };\n\n  AxisPointerView.prototype.dispose = function (ecModel, api) {\n    _globalListener_js__WEBPACK_IMPORTED_MODULE_1__[\"unregister\"]('axisPointer', api);\n  };\n\n  AxisPointerView.type = 'axisPointer';\n  return AxisPointerView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AxisPointerView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _modelHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modelHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/modelHelper.js\");\n/* harmony import */ var zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"makeInner\"])();\nvar clone = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"];\nvar bind = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"];\n/**\n * Base axis pointer class in 2D.\n */\n\nvar BaseAxisPointer =\n/** @class */\nfunction () {\n  function BaseAxisPointer() {\n    this._dragging = false;\n    /**\n     * In px, arbitrary value. Do not set too small,\n     * no animation is ok for most cases.\n     */\n\n    this.animationThreshold = 15;\n  }\n  /**\n   * @implement\n   */\n\n\n  BaseAxisPointer.prototype.render = function (axisModel, axisPointerModel, api, forceRender) {\n    var value = axisPointerModel.get('value');\n    var status = axisPointerModel.get('status'); // Bind them to `this`, not in closure, otherwise they will not\n    // be replaced when user calling setOption in not merge mode.\n\n    this._axisModel = axisModel;\n    this._axisPointerModel = axisPointerModel;\n    this._api = api; // Optimize: `render` will be called repeatly during mouse move.\n    // So it is power consuming if performing `render` each time,\n    // especially on mobile device.\n\n    if (!forceRender && this._lastValue === value && this._lastStatus === status) {\n      return;\n    }\n\n    this._lastValue = value;\n    this._lastStatus = status;\n    var group = this._group;\n    var handle = this._handle;\n\n    if (!status || status === 'hide') {\n      // Do not clear here, for animation better.\n      group && group.hide();\n      handle && handle.hide();\n      return;\n    }\n\n    group && group.show();\n    handle && handle.show(); // Otherwise status is 'show'\n\n    var elOption = {};\n    this.makeElOption(elOption, value, axisModel, axisPointerModel, api); // Enable change axis pointer type.\n\n    var graphicKey = elOption.graphicKey;\n\n    if (graphicKey !== this._lastGraphicKey) {\n      this.clear(api);\n    }\n\n    this._lastGraphicKey = graphicKey;\n    var moveAnimation = this._moveAnimation = this.determineAnimation(axisModel, axisPointerModel);\n\n    if (!group) {\n      group = this._group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n      this.createPointerEl(group, elOption, axisModel, axisPointerModel);\n      this.createLabelEl(group, elOption, axisModel, axisPointerModel);\n      api.getZr().add(group);\n    } else {\n      var doUpdateProps = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](updateProps, axisPointerModel, moveAnimation);\n      this.updatePointerEl(group, elOption, doUpdateProps);\n      this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);\n    }\n\n    updateMandatoryProps(group, axisPointerModel, true);\n\n    this._renderHandle(value);\n  };\n  /**\n   * @implement\n   */\n\n\n  BaseAxisPointer.prototype.remove = function (api) {\n    this.clear(api);\n  };\n  /**\n   * @implement\n   */\n\n\n  BaseAxisPointer.prototype.dispose = function (api) {\n    this.clear(api);\n  };\n  /**\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.determineAnimation = function (axisModel, axisPointerModel) {\n    var animation = axisPointerModel.get('animation');\n    var axis = axisModel.axis;\n    var isCategoryAxis = axis.type === 'category';\n    var useSnap = axisPointerModel.get('snap'); // Value axis without snap always do not snap.\n\n    if (!useSnap && !isCategoryAxis) {\n      return false;\n    }\n\n    if (animation === 'auto' || animation == null) {\n      var animationThreshold = this.animationThreshold;\n\n      if (isCategoryAxis && axis.getBandWidth() > animationThreshold) {\n        return true;\n      } // It is important to auto animation when snap used. Consider if there is\n      // a dataZoom, animation will be disabled when too many points exist, while\n      // it will be enabled for better visual effect when little points exist.\n\n\n      if (useSnap) {\n        var seriesDataCount = _modelHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getAxisInfo\"](axisModel).seriesDataCount;\n        var axisExtent = axis.getExtent(); // Approximate band width\n\n        return Math.abs(axisExtent[0] - axisExtent[1]) / seriesDataCount > animationThreshold;\n      }\n\n      return false;\n    }\n\n    return animation === true;\n  };\n  /**\n   * add {pointer, label, graphicKey} to elOption\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) {// Shoule be implemenented by sub-class.\n  };\n  /**\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.createPointerEl = function (group, elOption, axisModel, axisPointerModel) {\n    var pointerOption = elOption.pointer;\n\n    if (pointerOption) {\n      var pointerEl = inner(group).pointerEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[pointerOption.type](clone(elOption.pointer));\n      group.add(pointerEl);\n    }\n  };\n  /**\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.createLabelEl = function (group, elOption, axisModel, axisPointerModel) {\n    if (elOption.label) {\n      var labelEl = inner(group).labelEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Text\"](clone(elOption.label));\n      group.add(labelEl);\n      updateLabelShowHide(labelEl, axisPointerModel);\n    }\n  };\n  /**\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.updatePointerEl = function (group, elOption, updateProps) {\n    var pointerEl = inner(group).pointerEl;\n\n    if (pointerEl && elOption.pointer) {\n      pointerEl.setStyle(elOption.pointer.style);\n      updateProps(pointerEl, {\n        shape: elOption.pointer.shape\n      });\n    }\n  };\n  /**\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.updateLabelEl = function (group, elOption, updateProps, axisPointerModel) {\n    var labelEl = inner(group).labelEl;\n\n    if (labelEl) {\n      labelEl.setStyle(elOption.label.style);\n      updateProps(labelEl, {\n        // Consider text length change in vertical axis, animation should\n        // be used on shape, otherwise the effect will be weird.\n        // TODOTODO\n        // shape: elOption.label.shape,\n        x: elOption.label.x,\n        y: elOption.label.y\n      });\n      updateLabelShowHide(labelEl, axisPointerModel);\n    }\n  };\n  /**\n   * @private\n   */\n\n\n  BaseAxisPointer.prototype._renderHandle = function (value) {\n    if (this._dragging || !this.updateHandleTransform) {\n      return;\n    }\n\n    var axisPointerModel = this._axisPointerModel;\n\n    var zr = this._api.getZr();\n\n    var handle = this._handle;\n    var handleModel = axisPointerModel.getModel('handle');\n    var status = axisPointerModel.get('status');\n\n    if (!handleModel.get('show') || !status || status === 'hide') {\n      handle && zr.remove(handle);\n      this._handle = null;\n      return;\n    }\n\n    var isInit;\n\n    if (!this._handle) {\n      isInit = true;\n      handle = this._handle = _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"createIcon\"](handleModel.get('icon'), {\n        cursor: 'move',\n        draggable: true,\n        onmousemove: function (e) {\n          // Fot mobile devicem, prevent screen slider on the button.\n          zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_3__[\"stop\"](e.event);\n        },\n        onmousedown: bind(this._onHandleDragMove, this, 0, 0),\n        drift: bind(this._onHandleDragMove, this),\n        ondragend: bind(this._onHandleDragEnd, this)\n      });\n      zr.add(handle);\n    }\n\n    updateMandatoryProps(handle, axisPointerModel, false); // update style\n\n    handle.setStyle(handleModel.getItemStyle(null, ['color', 'borderColor', 'borderWidth', 'opacity', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'])); // update position\n\n    var handleSize = handleModel.get('size');\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](handleSize)) {\n      handleSize = [handleSize, handleSize];\n    }\n\n    handle.scaleX = handleSize[0] / 2;\n    handle.scaleY = handleSize[1] / 2;\n    _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__[\"createOrUpdate\"](this, '_doDispatchAxisPointer', handleModel.get('throttle') || 0, 'fixRate');\n\n    this._moveHandleToValue(value, isInit);\n  };\n\n  BaseAxisPointer.prototype._moveHandleToValue = function (value, isInit) {\n    updateProps(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));\n  };\n\n  BaseAxisPointer.prototype._onHandleDragMove = function (dx, dy) {\n    var handle = this._handle;\n\n    if (!handle) {\n      return;\n    }\n\n    this._dragging = true; // Persistent for throttle.\n\n    var trans = this.updateHandleTransform(getHandleTransProps(handle), [dx, dy], this._axisModel, this._axisPointerModel);\n    this._payloadInfo = trans;\n    handle.stopAnimation();\n    handle.attr(getHandleTransProps(trans));\n    inner(handle).lastProp = null;\n\n    this._doDispatchAxisPointer();\n  };\n  /**\n   * Throttled method.\n   */\n\n\n  BaseAxisPointer.prototype._doDispatchAxisPointer = function () {\n    var handle = this._handle;\n\n    if (!handle) {\n      return;\n    }\n\n    var payloadInfo = this._payloadInfo;\n    var axisModel = this._axisModel;\n\n    this._api.dispatchAction({\n      type: 'updateAxisPointer',\n      x: payloadInfo.cursorPoint[0],\n      y: payloadInfo.cursorPoint[1],\n      tooltipOption: payloadInfo.tooltipOption,\n      axesInfo: [{\n        axisDim: axisModel.axis.dim,\n        axisIndex: axisModel.componentIndex\n      }]\n    });\n  };\n\n  BaseAxisPointer.prototype._onHandleDragEnd = function () {\n    this._dragging = false;\n    var handle = this._handle;\n\n    if (!handle) {\n      return;\n    }\n\n    var value = this._axisPointerModel.get('value'); // Consider snap or categroy axis, handle may be not consistent with\n    // axisPointer. So move handle to align the exact value position when\n    // drag ended.\n\n\n    this._moveHandleToValue(value); // For the effect: tooltip will be shown when finger holding on handle\n    // button, and will be hidden after finger left handle button.\n\n\n    this._api.dispatchAction({\n      type: 'hideTip'\n    });\n  };\n  /**\n   * @private\n   */\n\n\n  BaseAxisPointer.prototype.clear = function (api) {\n    this._lastValue = null;\n    this._lastStatus = null;\n    var zr = api.getZr();\n    var group = this._group;\n    var handle = this._handle;\n\n    if (zr && group) {\n      this._lastGraphicKey = null;\n      group && zr.remove(group);\n      handle && zr.remove(handle);\n      this._group = null;\n      this._handle = null;\n      this._payloadInfo = null;\n    }\n\n    _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__[\"clear\"](this, '_doDispatchAxisPointer');\n  };\n  /**\n   * @protected\n   */\n\n\n  BaseAxisPointer.prototype.doClear = function () {// Implemented by sub-class if necessary.\n  };\n\n  BaseAxisPointer.prototype.buildLabel = function (xy, wh, xDimIndex) {\n    xDimIndex = xDimIndex || 0;\n    return {\n      x: xy[xDimIndex],\n      y: xy[1 - xDimIndex],\n      width: wh[xDimIndex],\n      height: wh[1 - xDimIndex]\n    };\n  };\n\n  return BaseAxisPointer;\n}();\n\nfunction updateProps(animationModel, moveAnimation, el, props) {\n  // Animation optimize.\n  if (!propsEqual(inner(el).lastProp, props)) {\n    inner(el).lastProp = props;\n    moveAnimation ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"updateProps\"](el, props, animationModel) : (el.stopAnimation(), el.attr(props));\n  }\n}\n\nfunction propsEqual(lastProps, newProps) {\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](lastProps) && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](newProps)) {\n    var equals_1 = true;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](newProps, function (item, key) {\n      equals_1 = equals_1 && propsEqual(lastProps[key], item);\n    });\n    return !!equals_1;\n  } else {\n    return lastProps === newProps;\n  }\n}\n\nfunction updateLabelShowHide(labelEl, axisPointerModel) {\n  labelEl[axisPointerModel.get(['label', 'show']) ? 'show' : 'hide']();\n}\n\nfunction getHandleTransProps(trans) {\n  return {\n    x: trans.x || 0,\n    y: trans.y || 0,\n    rotation: trans.rotation || 0\n  };\n}\n\nfunction updateMandatoryProps(group, axisPointerModel, silent) {\n  var z = axisPointerModel.get('z');\n  var zlevel = axisPointerModel.get('zlevel');\n  group && group.traverse(function (el) {\n    if (el.type !== 'group') {\n      z != null && (el.z = z);\n      zlevel != null && (el.zlevel = zlevel);\n      el.silent = silent;\n    }\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BaseAxisPointer);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js":
/*!********************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js ***!
  \********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _BaseAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseAxisPointer.js */ \"./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js\");\n/* harmony import */ var _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./viewHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/viewHelper.js\");\n/* harmony import */ var _coord_cartesian_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/cartesian/cartesianAxisHelper.js */ \"./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar CartesianAxisPointer =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CartesianAxisPointer, _super);\n\n  function CartesianAxisPointer() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n  /**\n   * @override\n   */\n\n\n  CartesianAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) {\n    var axis = axisModel.axis;\n    var grid = axis.grid;\n    var axisPointerType = axisPointerModel.get('type');\n    var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n    var pixelValue = axis.toGlobalCoord(axis.dataToCoord(value, true));\n\n    if (axisPointerType && axisPointerType !== 'none') {\n      var elStyle = _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"buildElStyle\"](axisPointerModel);\n      var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent);\n      pointerOption.style = elStyle;\n      elOption.graphicKey = pointerOption.type;\n      elOption.pointer = pointerOption;\n    }\n\n    var layoutInfo = _coord_cartesian_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"layout\"](grid.model, axisModel);\n    _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"buildCartesianSingleLabelElOption\"]( // @ts-ignore\n    value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n  };\n  /**\n   * @override\n   */\n\n\n  CartesianAxisPointer.prototype.getHandleTransform = function (value, axisModel, axisPointerModel) {\n    var layoutInfo = _coord_cartesian_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"layout\"](axisModel.axis.grid.model, axisModel, {\n      labelInside: false\n    }); // @ts-ignore\n\n    layoutInfo.labelMargin = axisPointerModel.get(['handle', 'margin']);\n    var pos = _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getTransformedPosition\"](axisModel.axis, value, layoutInfo);\n    return {\n      x: pos[0],\n      y: pos[1],\n      rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n    };\n  };\n  /**\n   * @override\n   */\n\n\n  CartesianAxisPointer.prototype.updateHandleTransform = function (transform, delta, axisModel, axisPointerModel) {\n    var axis = axisModel.axis;\n    var grid = axis.grid;\n    var axisExtent = axis.getGlobalExtent(true);\n    var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n    var dimIndex = axis.dim === 'x' ? 0 : 1;\n    var currPosition = [transform.x, transform.y];\n    currPosition[dimIndex] += delta[dimIndex];\n    currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);\n    currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);\n    var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n    var cursorPoint = [cursorOtherValue, cursorOtherValue];\n    cursorPoint[dimIndex] = currPosition[dimIndex]; // Make tooltip do not overlap axisPointer and in the middle of the grid.\n\n    var tooltipOptions = [{\n      verticalAlign: 'middle'\n    }, {\n      align: 'center'\n    }];\n    return {\n      x: currPosition[0],\n      y: currPosition[1],\n      rotation: transform.rotation,\n      cursorPoint: cursorPoint,\n      tooltipOption: tooltipOptions[dimIndex]\n    };\n  };\n\n  return CartesianAxisPointer;\n}(_BaseAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nfunction getCartesian(grid, axis) {\n  var opt = {};\n  opt[axis.dim + 'AxisIndex'] = axis.index;\n  return grid.getCartesian(opt);\n}\n\nvar pointerShapeBuilder = {\n  line: function (axis, pixelValue, otherExtent) {\n    var targetShape = _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeLineShape\"]([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex(axis));\n    return {\n      type: 'Line',\n      subPixelOptimize: true,\n      shape: targetShape\n    };\n  },\n  shadow: function (axis, pixelValue, otherExtent) {\n    var bandWidth = Math.max(1, axis.getBandWidth());\n    var span = otherExtent[1] - otherExtent[0];\n    return {\n      type: 'Rect',\n      shape: _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeRectShape\"]([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getAxisDimIndex(axis))\n    };\n  }\n};\n\nfunction getAxisDimIndex(axis) {\n  return axis.dim === 'x' ? 0 : 1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CartesianAxisPointer);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js ***!
  \****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _BaseAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseAxisPointer.js */ \"./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _viewHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./viewHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/viewHelper.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _axis_AxisBuilder_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../axis/AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar PolarAxisPointer =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PolarAxisPointer, _super);\n\n  function PolarAxisPointer() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n  /**\n   * @override\n   */\n\n\n  PolarAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) {\n    var axis = axisModel.axis;\n\n    if (axis.dim === 'angle') {\n      this.animationThreshold = Math.PI / 18;\n    }\n\n    var polar = axis.polar;\n    var otherAxis = polar.getOtherAxis(axis);\n    var otherExtent = otherAxis.getExtent();\n    var coordValue = axis.dataToCoord(value);\n    var axisPointerType = axisPointerModel.get('type');\n\n    if (axisPointerType && axisPointerType !== 'none') {\n      var elStyle = _viewHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"buildElStyle\"](axisPointerModel);\n      var pointerOption = pointerShapeBuilder[axisPointerType](axis, polar, coordValue, otherExtent);\n      pointerOption.style = elStyle;\n      elOption.graphicKey = pointerOption.type;\n      elOption.pointer = pointerOption;\n    }\n\n    var labelMargin = axisPointerModel.get(['label', 'margin']);\n    var labelPos = getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin);\n    _viewHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"buildLabelElOption\"](elOption, axisModel, axisPointerModel, api, labelPos);\n  };\n\n  return PolarAxisPointer;\n}(_BaseAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n;\n\nfunction getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin) {\n  var axis = axisModel.axis;\n  var coord = axis.dataToCoord(value);\n  var axisAngle = polar.getAngleAxis().getExtent()[0];\n  axisAngle = axisAngle / 180 * Math.PI;\n  var radiusExtent = polar.getRadiusAxis().getExtent();\n  var position;\n  var align;\n  var verticalAlign;\n\n  if (axis.dim === 'radius') {\n    var transform = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"create\"]();\n    zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"rotate\"](transform, transform, axisAngle);\n    zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"translate\"](transform, transform, [polar.cx, polar.cy]);\n    position = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"applyTransform\"]([coord, -labelMargin], transform);\n    var labelRotation = axisModel.getModel('axisLabel').get('rotate') || 0; // @ts-ignore\n\n    var labelLayout = _axis_AxisBuilder_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].innerTextLayout(axisAngle, labelRotation * Math.PI / 180, -1);\n    align = labelLayout.textAlign;\n    verticalAlign = labelLayout.textVerticalAlign;\n  } else {\n    // angle axis\n    var r = radiusExtent[1];\n    position = polar.coordToPoint([r + labelMargin, coord]);\n    var cx = polar.cx;\n    var cy = polar.cy;\n    align = Math.abs(position[0] - cx) / r < 0.3 ? 'center' : position[0] > cx ? 'left' : 'right';\n    verticalAlign = Math.abs(position[1] - cy) / r < 0.3 ? 'middle' : position[1] > cy ? 'top' : 'bottom';\n  }\n\n  return {\n    position: position,\n    align: align,\n    verticalAlign: verticalAlign\n  };\n}\n\nvar pointerShapeBuilder = {\n  line: function (axis, polar, coordValue, otherExtent) {\n    return axis.dim === 'angle' ? {\n      type: 'Line',\n      shape: _viewHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeLineShape\"](polar.coordToPoint([otherExtent[0], coordValue]), polar.coordToPoint([otherExtent[1], coordValue]))\n    } : {\n      type: 'Circle',\n      shape: {\n        cx: polar.cx,\n        cy: polar.cy,\n        r: coordValue\n      }\n    };\n  },\n  shadow: function (axis, polar, coordValue, otherExtent) {\n    var bandWidth = Math.max(1, axis.getBandWidth());\n    var radian = Math.PI / 180;\n    return axis.dim === 'angle' ? {\n      type: 'Sector',\n      shape: _viewHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeSectorShape\"](polar.cx, polar.cy, otherExtent[0], otherExtent[1], // In ECharts y is negative if angle is positive\n      (-coordValue - bandWidth / 2) * radian, (-coordValue + bandWidth / 2) * radian)\n    } : {\n      type: 'Sector',\n      shape: _viewHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeSectorShape\"](polar.cx, polar.cy, coordValue - bandWidth / 2, coordValue + bandWidth / 2, 0, Math.PI * 2)\n    };\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PolarAxisPointer);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js ***!
  \*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _BaseAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseAxisPointer.js */ \"./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js\");\n/* harmony import */ var _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./viewHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/viewHelper.js\");\n/* harmony import */ var _coord_single_singleAxisHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/single/singleAxisHelper.js */ \"./node_modules/echarts/lib/coord/single/singleAxisHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar XY = ['x', 'y'];\nvar WH = ['width', 'height'];\n\nvar SingleAxisPointer =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SingleAxisPointer, _super);\n\n  function SingleAxisPointer() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n  /**\n   * @override\n   */\n\n\n  SingleAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) {\n    var axis = axisModel.axis;\n    var coordSys = axis.coordinateSystem;\n    var otherExtent = getGlobalExtent(coordSys, 1 - getPointDimIndex(axis));\n    var pixelValue = coordSys.dataToPoint(value)[0];\n    var axisPointerType = axisPointerModel.get('type');\n\n    if (axisPointerType && axisPointerType !== 'none') {\n      var elStyle = _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"buildElStyle\"](axisPointerModel);\n      var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent);\n      pointerOption.style = elStyle;\n      elOption.graphicKey = pointerOption.type;\n      elOption.pointer = pointerOption;\n    }\n\n    var layoutInfo = _coord_single_singleAxisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"layout\"](axisModel);\n    _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"buildCartesianSingleLabelElOption\"]( // @ts-ignore\n    value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n  };\n  /**\n   * @override\n   */\n\n\n  SingleAxisPointer.prototype.getHandleTransform = function (value, axisModel, axisPointerModel) {\n    var layoutInfo = _coord_single_singleAxisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"layout\"](axisModel, {\n      labelInside: false\n    }); // @ts-ignore\n\n    layoutInfo.labelMargin = axisPointerModel.get(['handle', 'margin']);\n    var position = _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getTransformedPosition\"](axisModel.axis, value, layoutInfo);\n    return {\n      x: position[0],\n      y: position[1],\n      rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n    };\n  };\n  /**\n   * @override\n   */\n\n\n  SingleAxisPointer.prototype.updateHandleTransform = function (transform, delta, axisModel, axisPointerModel) {\n    var axis = axisModel.axis;\n    var coordSys = axis.coordinateSystem;\n    var dimIndex = getPointDimIndex(axis);\n    var axisExtent = getGlobalExtent(coordSys, dimIndex);\n    var currPosition = [transform.x, transform.y];\n    currPosition[dimIndex] += delta[dimIndex];\n    currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);\n    currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);\n    var otherExtent = getGlobalExtent(coordSys, 1 - dimIndex);\n    var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n    var cursorPoint = [cursorOtherValue, cursorOtherValue];\n    cursorPoint[dimIndex] = currPosition[dimIndex];\n    return {\n      x: currPosition[0],\n      y: currPosition[1],\n      rotation: transform.rotation,\n      cursorPoint: cursorPoint,\n      tooltipOption: {\n        verticalAlign: 'middle'\n      }\n    };\n  };\n\n  return SingleAxisPointer;\n}(_BaseAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nvar pointerShapeBuilder = {\n  line: function (axis, pixelValue, otherExtent) {\n    var targetShape = _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeLineShape\"]([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex(axis));\n    return {\n      type: 'Line',\n      subPixelOptimize: true,\n      shape: targetShape\n    };\n  },\n  shadow: function (axis, pixelValue, otherExtent) {\n    var bandWidth = axis.getBandWidth();\n    var span = otherExtent[1] - otherExtent[0];\n    return {\n      type: 'Rect',\n      shape: _viewHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeRectShape\"]([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getPointDimIndex(axis))\n    };\n  }\n};\n\nfunction getPointDimIndex(axis) {\n  return axis.isHorizontal() ? 0 : 1;\n}\n\nfunction getGlobalExtent(coordSys, dimIndex) {\n  var rect = coordSys.getRect();\n  return [rect[XY[dimIndex]], rect[XY[dimIndex]] + rect[WH[dimIndex]]];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SingleAxisPointer);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/axisTrigger.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/axisTrigger.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return axisTrigger; });\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _modelHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modelHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/modelHelper.js\");\n/* harmony import */ var _findPointFromSeries_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./findPointFromSeries.js */ \"./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\n/**\n * Basic logic: check all axis, if they do not demand show/highlight,\n * then hide/downplay them.\n *\n * @return content of event obj for echarts.connect.\n */\n\nfunction axisTrigger(payload, ecModel, api) {\n  var currTrigger = payload.currTrigger;\n  var point = [payload.x, payload.y];\n  var finder = payload;\n  var dispatchAction = payload.dispatchAction || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"bind\"])(api.dispatchAction, api);\n  var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo; // Pending\n  // See #6121. But we are not able to reproduce it yet.\n\n  if (!coordSysAxesInfo) {\n    return;\n  }\n\n  if (illegalPoint(point)) {\n    // Used in the default behavior of `connection`: use the sample seriesIndex\n    // and dataIndex. And also used in the tooltipView trigger.\n    point = Object(_findPointFromSeries_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n      seriesIndex: finder.seriesIndex,\n      // Do not use dataIndexInside from other ec instance.\n      // FIXME: auto detect it?\n      dataIndex: finder.dataIndex\n    }, ecModel).point;\n  }\n\n  var isIllegalPoint = illegalPoint(point); // Axis and value can be specified when calling dispatchAction({type: 'updateAxisPointer'}).\n  // Notice: In this case, it is difficult to get the `point` (which is necessary to show\n  // tooltip, so if point is not given, we just use the point found by sample seriesIndex\n  // and dataIndex.\n\n  var inputAxesInfo = finder.axesInfo;\n  var axesInfo = coordSysAxesInfo.axesInfo;\n  var shouldHide = currTrigger === 'leave' || illegalPoint(point);\n  var outputPayload = {};\n  var showValueMap = {};\n  var dataByCoordSys = {\n    list: [],\n    map: {}\n  };\n  var updaters = {\n    showPointer: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"curry\"])(showPointer, showValueMap),\n    showTooltip: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"curry\"])(showTooltip, dataByCoordSys)\n  }; // Process for triggered axes.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(coordSysAxesInfo.coordSysMap, function (coordSys, coordSysKey) {\n    // If a point given, it must be contained by the coordinate system.\n    var coordSysContainsPoint = isIllegalPoint || coordSys.containPoint(point);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(coordSysAxesInfo.coordSysAxesInfo[coordSysKey], function (axisInfo, key) {\n      var axis = axisInfo.axis;\n      var inputAxisInfo = findInputAxisInfo(inputAxesInfo, axisInfo); // If no inputAxesInfo, no axis is restricted.\n\n      if (!shouldHide && coordSysContainsPoint && (!inputAxesInfo || inputAxisInfo)) {\n        var val = inputAxisInfo && inputAxisInfo.value;\n\n        if (val == null && !isIllegalPoint) {\n          val = axis.pointToData(point);\n        }\n\n        val != null && processOnAxis(axisInfo, val, updaters, false, outputPayload);\n      }\n    });\n  }); // Process for linked axes.\n\n  var linkTriggers = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(axesInfo, function (tarAxisInfo, tarKey) {\n    var linkGroup = tarAxisInfo.linkGroup; // If axis has been triggered in the previous stage, it should not be triggered by link.\n\n    if (linkGroup && !showValueMap[tarKey]) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(linkGroup.axesInfo, function (srcAxisInfo, srcKey) {\n        var srcValItem = showValueMap[srcKey]; // If srcValItem exist, source axis is triggered, so link to target axis.\n\n        if (srcAxisInfo !== tarAxisInfo && srcValItem) {\n          var val = srcValItem.value;\n          linkGroup.mapper && (val = tarAxisInfo.axis.scale.parse(linkGroup.mapper(val, makeMapperParam(srcAxisInfo), makeMapperParam(tarAxisInfo))));\n          linkTriggers[tarAxisInfo.key] = val;\n        }\n      });\n    }\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(linkTriggers, function (val, tarKey) {\n    processOnAxis(axesInfo[tarKey], val, updaters, true, outputPayload);\n  });\n  updateModelActually(showValueMap, axesInfo, outputPayload);\n  dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction);\n  dispatchHighDownActually(axesInfo, dispatchAction, api);\n  return outputPayload;\n}\n\nfunction processOnAxis(axisInfo, newValue, updaters, noSnap, outputFinder) {\n  var axis = axisInfo.axis;\n\n  if (axis.scale.isBlank() || !axis.containData(newValue)) {\n    return;\n  }\n\n  if (!axisInfo.involveSeries) {\n    updaters.showPointer(axisInfo, newValue);\n    return;\n  } // Heavy calculation. So put it after axis.containData checking.\n\n\n  var payloadInfo = buildPayloadsBySeries(newValue, axisInfo);\n  var payloadBatch = payloadInfo.payloadBatch;\n  var snapToValue = payloadInfo.snapToValue; // Fill content of event obj for echarts.connect.\n  // By default use the first involved series data as a sample to connect.\n\n  if (payloadBatch[0] && outputFinder.seriesIndex == null) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])(outputFinder, payloadBatch[0]);\n  } // If no linkSource input, this process is for collecting link\n  // target, where snap should not be accepted.\n\n\n  if (!noSnap && axisInfo.snap) {\n    if (axis.containData(snapToValue) && snapToValue != null) {\n      newValue = snapToValue;\n    }\n  }\n\n  updaters.showPointer(axisInfo, newValue, payloadBatch); // Tooltip should always be snapToValue, otherwise there will be\n  // incorrect \"axis value ~ series value\" mapping displayed in tooltip.\n\n  updaters.showTooltip(axisInfo, payloadInfo, snapToValue);\n}\n\nfunction buildPayloadsBySeries(value, axisInfo) {\n  var axis = axisInfo.axis;\n  var dim = axis.dim;\n  var snapToValue = value;\n  var payloadBatch = [];\n  var minDist = Number.MAX_VALUE;\n  var minDiff = -1;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(axisInfo.seriesModels, function (series, idx) {\n    var dataDim = series.getData().mapDimensionsAll(dim);\n    var seriesNestestValue;\n    var dataIndices;\n\n    if (series.getAxisTooltipData) {\n      var result = series.getAxisTooltipData(dataDim, value, axis);\n      dataIndices = result.dataIndices;\n      seriesNestestValue = result.nestestValue;\n    } else {\n      dataIndices = series.getData().indicesOfNearest(dataDim[0], value, // Add a threshold to avoid find the wrong dataIndex\n      // when data length is not same.\n      // false,\n      axis.type === 'category' ? 0.5 : null);\n\n      if (!dataIndices.length) {\n        return;\n      }\n\n      seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);\n    }\n\n    if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {\n      return;\n    }\n\n    var diff = value - seriesNestestValue;\n    var dist = Math.abs(diff); // Consider category case\n\n    if (dist <= minDist) {\n      if (dist < minDist || diff >= 0 && minDiff < 0) {\n        minDist = dist;\n        minDiff = diff;\n        snapToValue = seriesNestestValue;\n        payloadBatch.length = 0;\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(dataIndices, function (dataIndex) {\n        payloadBatch.push({\n          seriesIndex: series.seriesIndex,\n          dataIndexInside: dataIndex,\n          dataIndex: series.getData().getRawIndex(dataIndex)\n        });\n      });\n    }\n  });\n  return {\n    payloadBatch: payloadBatch,\n    snapToValue: snapToValue\n  };\n}\n\nfunction showPointer(showValueMap, axisInfo, value, payloadBatch) {\n  showValueMap[axisInfo.key] = {\n    value: value,\n    payloadBatch: payloadBatch\n  };\n}\n\nfunction showTooltip(dataByCoordSys, axisInfo, payloadInfo, value) {\n  var payloadBatch = payloadInfo.payloadBatch;\n  var axis = axisInfo.axis;\n  var axisModel = axis.model;\n  var axisPointerModel = axisInfo.axisPointerModel; // If no data, do not create anything in dataByCoordSys,\n  // whose length will be used to judge whether dispatch action.\n\n  if (!axisInfo.triggerTooltip || !payloadBatch.length) {\n    return;\n  }\n\n  var coordSysModel = axisInfo.coordSys.model;\n  var coordSysKey = _modelHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"makeKey\"](coordSysModel);\n  var coordSysItem = dataByCoordSys.map[coordSysKey];\n\n  if (!coordSysItem) {\n    coordSysItem = dataByCoordSys.map[coordSysKey] = {\n      coordSysId: coordSysModel.id,\n      coordSysIndex: coordSysModel.componentIndex,\n      coordSysType: coordSysModel.type,\n      coordSysMainType: coordSysModel.mainType,\n      dataByAxis: []\n    };\n    dataByCoordSys.list.push(coordSysItem);\n  }\n\n  coordSysItem.dataByAxis.push({\n    axisDim: axis.dim,\n    axisIndex: axisModel.componentIndex,\n    axisType: axisModel.type,\n    axisId: axisModel.id,\n    value: value,\n    // Caustion: viewHelper.getValueLabel is actually on \"view stage\", which\n    // depends that all models have been updated. So it should not be performed\n    // here. Considering axisPointerModel used here is volatile, which is hard\n    // to be retrieve in TooltipView, we prepare parameters here.\n    valueLabelOpt: {\n      precision: axisPointerModel.get(['label', 'precision']),\n      formatter: axisPointerModel.get(['label', 'formatter'])\n    },\n    seriesDataIndices: payloadBatch.slice()\n  });\n}\n\nfunction updateModelActually(showValueMap, axesInfo, outputPayload) {\n  var outputAxesInfo = outputPayload.axesInfo = []; // Basic logic: If no 'show' required, 'hide' this axisPointer.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(axesInfo, function (axisInfo, key) {\n    var option = axisInfo.axisPointerModel.option;\n    var valItem = showValueMap[key];\n\n    if (valItem) {\n      !axisInfo.useHandle && (option.status = 'show');\n      option.value = valItem.value; // For label formatter param and highlight.\n\n      option.seriesDataIndices = (valItem.payloadBatch || []).slice();\n    } // When always show (e.g., handle used), remain\n    // original value and status.\n    else {\n        // If hide, value still need to be set, consider\n        // click legend to toggle axis blank.\n        !axisInfo.useHandle && (option.status = 'hide');\n      } // If status is 'hide', should be no info in payload.\n\n\n    option.status === 'show' && outputAxesInfo.push({\n      axisDim: axisInfo.axis.dim,\n      axisIndex: axisInfo.axis.model.componentIndex,\n      value: option.value\n    });\n  });\n}\n\nfunction dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction) {\n  // Basic logic: If no showTip required, hideTip will be dispatched.\n  if (illegalPoint(point) || !dataByCoordSys.list.length) {\n    dispatchAction({\n      type: 'hideTip'\n    });\n    return;\n  } // In most case only one axis (or event one series is used). It is\n  // convinient to fetch payload.seriesIndex and payload.dataIndex\n  // dirtectly. So put the first seriesIndex and dataIndex of the first\n  // axis on the payload.\n\n\n  var sampleItem = ((dataByCoordSys.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};\n  dispatchAction({\n    type: 'showTip',\n    escapeConnect: true,\n    x: point[0],\n    y: point[1],\n    tooltipOption: payload.tooltipOption,\n    position: payload.position,\n    dataIndexInside: sampleItem.dataIndexInside,\n    dataIndex: sampleItem.dataIndex,\n    seriesIndex: sampleItem.seriesIndex,\n    dataByCoordSys: dataByCoordSys.list\n  });\n}\n\nfunction dispatchHighDownActually(axesInfo, dispatchAction, api) {\n  // FIXME\n  // highlight status modification shoule be a stage of main process?\n  // (Consider confilct (e.g., legend and axisPointer) and setOption)\n  var zr = api.getZr();\n  var highDownKey = 'axisPointerLastHighlights';\n  var lastHighlights = inner(zr)[highDownKey] || {};\n  var newHighlights = inner(zr)[highDownKey] = {}; // Update highlight/downplay status according to axisPointer model.\n  // Build hash map and remove duplicate incidentally.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(axesInfo, function (axisInfo, key) {\n    var option = axisInfo.axisPointerModel.option;\n    option.status === 'show' && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(option.seriesDataIndices, function (batchItem) {\n      var key = batchItem.seriesIndex + ' | ' + batchItem.dataIndex;\n      newHighlights[key] = batchItem;\n    });\n  }); // Diff.\n\n  var toHighlight = [];\n  var toDownplay = [];\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(lastHighlights, function (batchItem, key) {\n    !newHighlights[key] && toDownplay.push(batchItem);\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(newHighlights, function (batchItem, key) {\n    !lastHighlights[key] && toHighlight.push(batchItem);\n  });\n  toDownplay.length && api.dispatchAction({\n    type: 'downplay',\n    escapeConnect: true,\n    // Not blur others when highlight in axisPointer.\n    notBlur: true,\n    batch: toDownplay\n  });\n  toHighlight.length && api.dispatchAction({\n    type: 'highlight',\n    escapeConnect: true,\n    // Not blur others when highlight in axisPointer.\n    notBlur: true,\n    batch: toHighlight\n  });\n}\n\nfunction findInputAxisInfo(inputAxesInfo, axisInfo) {\n  for (var i = 0; i < (inputAxesInfo || []).length; i++) {\n    var inputAxisInfo = inputAxesInfo[i];\n\n    if (axisInfo.axis.dim === inputAxisInfo.axisDim && axisInfo.axis.model.componentIndex === inputAxisInfo.axisIndex) {\n      return inputAxisInfo;\n    }\n  }\n}\n\nfunction makeMapperParam(axisInfo) {\n  var axisModel = axisInfo.axis.model;\n  var item = {};\n  var dim = item.axisDim = axisInfo.axis.dim;\n  item.axisIndex = item[dim + 'AxisIndex'] = axisModel.componentIndex;\n  item.axisName = item[dim + 'AxisName'] = axisModel.name;\n  item.axisId = item[dim + 'AxisId'] = axisModel.id;\n  return item;\n}\n\nfunction illegalPoint(point) {\n  return !point || point[0] == null || isNaN(point[0]) || point[1] == null || isNaN(point[1]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/axisTrigger.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js ***!
  \*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return findPointFromSeries; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * @param finder contains {seriesIndex, dataIndex, dataIndexInside}\n * @param ecModel\n * @return  {point: [x, y], el: ...} point Will not be null.\n */\n\nfunction findPointFromSeries(finder, ecModel) {\n  var point = [];\n  var seriesIndex = finder.seriesIndex;\n  var seriesModel;\n\n  if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {\n    return {\n      point: []\n    };\n  }\n\n  var data = seriesModel.getData();\n  var dataIndex = _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"queryDataIndex\"](data, finder);\n\n  if (dataIndex == null || dataIndex < 0 || zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](dataIndex)) {\n    return {\n      point: []\n    };\n  }\n\n  var el = data.getItemGraphicEl(dataIndex);\n  var coordSys = seriesModel.coordinateSystem;\n\n  if (seriesModel.getTooltipPosition) {\n    point = seriesModel.getTooltipPosition(dataIndex) || [];\n  } else if (coordSys && coordSys.dataToPoint) {\n    if (finder.isStacked) {\n      var baseAxis = coordSys.getBaseAxis();\n      var valueAxis = coordSys.getOtherAxis(baseAxis);\n      var valueAxisDim = valueAxis.dim;\n      var baseAxisDim = baseAxis.dim;\n      var baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;\n      var baseDim = data.mapDimension(baseAxisDim);\n      var stackedData = [];\n      stackedData[baseDataOffset] = data.get(baseDim, dataIndex);\n      stackedData[1 - baseDataOffset] = data.get(data.getCalculationInfo('stackResultDimension'), dataIndex);\n      point = coordSys.dataToPoint(stackedData) || [];\n    } else {\n      point = coordSys.dataToPoint(data.getValues(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](coordSys.dimensions, function (dim) {\n        return data.mapDimension(dim);\n      }), dataIndex)) || [];\n    }\n  } else if (el) {\n    // Use graphic bounding rect\n    var rect = el.getBoundingRect().clone();\n    rect.applyTransform(el.transform);\n    point = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n  }\n\n  return {\n    point: point,\n    el: el\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/globalListener.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/globalListener.js ***!
  \**************************************************************************/
/*! exports provided: register, unregister */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"register\", function() { return register; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unregister\", function() { return unregister; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"makeInner\"])();\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\n/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n * @param {Function} handler\n *      param: {string} currTrigger\n *      param: {Array.<number>} point\n */\n\nfunction register(key, api, handler) {\n  if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].node) {\n    return;\n  }\n\n  var zr = api.getZr();\n  inner(zr).records || (inner(zr).records = {});\n  initGlobalListeners(zr, api);\n  var record = inner(zr).records[key] || (inner(zr).records[key] = {});\n  record.handler = handler;\n}\n\nfunction initGlobalListeners(zr, api) {\n  if (inner(zr).initialized) {\n    return;\n  }\n\n  inner(zr).initialized = true;\n  useHandler('click', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](doEnter, 'click'));\n  useHandler('mousemove', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](doEnter, 'mousemove')); // useHandler('mouseout', onLeave);\n\n  useHandler('globalout', onLeave);\n\n  function useHandler(eventType, cb) {\n    zr.on(eventType, function (e) {\n      var dis = makeDispatchAction(api);\n      each(inner(zr).records, function (record) {\n        record && cb(record, e, dis.dispatchAction);\n      });\n      dispatchTooltipFinally(dis.pendings, api);\n    });\n  }\n}\n\nfunction dispatchTooltipFinally(pendings, api) {\n  var showLen = pendings.showTip.length;\n  var hideLen = pendings.hideTip.length;\n  var actuallyPayload;\n\n  if (showLen) {\n    actuallyPayload = pendings.showTip[showLen - 1];\n  } else if (hideLen) {\n    actuallyPayload = pendings.hideTip[hideLen - 1];\n  }\n\n  if (actuallyPayload) {\n    actuallyPayload.dispatchAction = null;\n    api.dispatchAction(actuallyPayload);\n  }\n}\n\nfunction onLeave(record, e, dispatchAction) {\n  record.handler('leave', null, dispatchAction);\n}\n\nfunction doEnter(currTrigger, record, e, dispatchAction) {\n  record.handler(currTrigger, e, dispatchAction);\n}\n\nfunction makeDispatchAction(api) {\n  var pendings = {\n    showTip: [],\n    hideTip: []\n  }; // FIXME\n  // better approach?\n  // 'showTip' and 'hideTip' can be triggered by axisPointer and tooltip,\n  // which may be conflict, (axisPointer call showTip but tooltip call hideTip);\n  // So we have to add \"final stage\" to merge those dispatched actions.\n\n  var dispatchAction = function (payload) {\n    var pendingList = pendings[payload.type];\n\n    if (pendingList) {\n      pendingList.push(payload);\n    } else {\n      payload.dispatchAction = dispatchAction;\n      api.dispatchAction(payload);\n    }\n  };\n\n  return {\n    dispatchAction: dispatchAction,\n    pendings: pendings\n  };\n}\n\nfunction unregister(key, api) {\n  if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].node) {\n    return;\n  }\n\n  var zr = api.getZr();\n  var record = (inner(zr).records || {})[key];\n\n  if (record) {\n    inner(zr).records[key] = null;\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/globalListener.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/install.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/install.js ***!
  \*******************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _axis_AxisView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../axis/AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n/* harmony import */ var _CartesianAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CartesianAxisPointer.js */ \"./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js\");\n/* harmony import */ var _AxisPointerModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AxisPointerModel.js */ \"./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js\");\n/* harmony import */ var _AxisPointerView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AxisPointerView.js */ \"./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _modelHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modelHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/modelHelper.js\");\n/* harmony import */ var _axisTrigger_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./axisTrigger.js */ \"./node_modules/echarts/lib/component/axisPointer/axisTrigger.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction install(registers) {\n  // CartesianAxisPointer is not supposed to be required here. But consider\n  // echarts.simple.js and online build tooltip, which only require gridSimple,\n  // CartesianAxisPointer should be able to required somewhere.\n  _axis_AxisView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].registerAxisPointerClass('CartesianAxisPointer', _CartesianAxisPointer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentModel(_AxisPointerModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerComponentView(_AxisPointerView_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerPreprocessor(function (option) {\n    // Always has a global axisPointerModel for default setting.\n    if (option) {\n      (!option.axisPointer || option.axisPointer.length === 0) && (option.axisPointer = {});\n      var link = option.axisPointer.link; // Normalize to array to avoid object mergin. But if link\n      // is not set, remain null/undefined, otherwise it will\n      // override existent link setting.\n\n      if (link && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isArray\"])(link)) {\n        option.axisPointer.link = [link];\n      }\n    }\n  }); // This process should proformed after coordinate systems created\n  // and series data processed. So put it on statistic processing stage.\n\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, function (ecModel, api) {\n    // Build axisPointerModel, mergin tooltip.axisPointer model for each axis.\n    // allAxesInfo should be updated when setOption performed.\n    ecModel.getComponent('axisPointer').coordSysAxesInfo = Object(_modelHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(ecModel, api);\n  }); // Broadcast to all views.\n\n  registers.registerAction({\n    type: 'updateAxisPointer',\n    event: 'updateAxisPointer',\n    update: ':updateAxisPointer'\n  }, _axisTrigger_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/modelHelper.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/modelHelper.js ***!
  \***********************************************************************/
/*! exports provided: collect, fixValue, getAxisInfo, getAxisPointerModel, makeKey */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collect\", function() { return collect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fixValue\", function() { return fixValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisInfo\", function() { return getAxisInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisPointerModel\", function() { return getAxisPointerModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeKey\", function() { return makeKey; });\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // Build axisPointerModel, mergin tooltip.axisPointer model for each axis.\n// allAxesInfo should be updated when setOption performed.\n\nfunction collect(ecModel, api) {\n  var result = {\n    /**\n     * key: makeKey(axis.model)\n     * value: {\n     *      axis,\n     *      coordSys,\n     *      axisPointerModel,\n     *      triggerTooltip,\n     *      involveSeries,\n     *      snap,\n     *      seriesModels,\n     *      seriesDataCount\n     * }\n     */\n    axesInfo: {},\n    seriesInvolved: false,\n\n    /**\n     * key: makeKey(coordSys.model)\n     * value: Object: key makeKey(axis.model), value: axisInfo\n     */\n    coordSysAxesInfo: {},\n    coordSysMap: {}\n  };\n  collectAxesInfo(result, ecModel, api); // Check seriesInvolved for performance, in case too many series in some chart.\n\n  result.seriesInvolved && collectSeriesInfo(result, ecModel);\n  return result;\n}\n\nfunction collectAxesInfo(result, ecModel, api) {\n  var globalTooltipModel = ecModel.getComponent('tooltip');\n  var globalAxisPointerModel = ecModel.getComponent('axisPointer'); // links can only be set on global.\n\n  var linksOption = globalAxisPointerModel.get('link', true) || [];\n  var linkGroups = []; // Collect axes info.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(api.getCoordinateSystems(), function (coordSys) {\n    // Some coordinate system do not support axes, like geo.\n    if (!coordSys.axisPointerEnabled) {\n      return;\n    }\n\n    var coordSysKey = makeKey(coordSys.model);\n    var axesInfoInCoordSys = result.coordSysAxesInfo[coordSysKey] = {};\n    result.coordSysMap[coordSysKey] = coordSys; // Set tooltip (like 'cross') is a convienent way to show axisPointer\n    // for user. So we enable seting tooltip on coordSys model.\n\n    var coordSysModel = coordSys.model;\n    var baseTooltipModel = coordSysModel.getModel('tooltip', globalTooltipModel);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(coordSys.getAxes(), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(saveTooltipAxisInfo, false, null)); // If axis tooltip used, choose tooltip axis for each coordSys.\n    // Notice this case: coordSys is `grid` but not `cartesian2D` here.\n\n    if (coordSys.getTooltipAxes && globalTooltipModel // If tooltip.showContent is set as false, tooltip will not\n    // show but axisPointer will show as normal.\n    && baseTooltipModel.get('show')) {\n      // Compatible with previous logic. But series.tooltip.trigger: 'axis'\n      // or series.data[n].tooltip.trigger: 'axis' are not support any more.\n      var triggerAxis = baseTooltipModel.get('trigger') === 'axis';\n      var cross = baseTooltipModel.get(['axisPointer', 'type']) === 'cross';\n      var tooltipAxes = coordSys.getTooltipAxes(baseTooltipModel.get(['axisPointer', 'axis']));\n\n      if (triggerAxis || cross) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(tooltipAxes.baseAxes, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(saveTooltipAxisInfo, cross ? 'cross' : true, triggerAxis));\n      }\n\n      if (cross) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(tooltipAxes.otherAxes, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(saveTooltipAxisInfo, 'cross', false));\n      }\n    } // fromTooltip: true | false | 'cross'\n    // triggerTooltip: true | false | null\n\n\n    function saveTooltipAxisInfo(fromTooltip, triggerTooltip, axis) {\n      var axisPointerModel = axis.model.getModel('axisPointer', globalAxisPointerModel);\n      var axisPointerShow = axisPointerModel.get('show');\n\n      if (!axisPointerShow || axisPointerShow === 'auto' && !fromTooltip && !isHandleTrigger(axisPointerModel)) {\n        return;\n      }\n\n      if (triggerTooltip == null) {\n        triggerTooltip = axisPointerModel.get('triggerTooltip');\n      }\n\n      axisPointerModel = fromTooltip ? makeAxisPointerModel(axis, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) : axisPointerModel;\n      var snap = axisPointerModel.get('snap');\n      var axisKey = makeKey(axis.model);\n      var involveSeries = triggerTooltip || snap || axis.type === 'category'; // If result.axesInfo[key] exist, override it (tooltip has higher priority).\n\n      var axisInfo = result.axesInfo[axisKey] = {\n        key: axisKey,\n        axis: axis,\n        coordSys: coordSys,\n        axisPointerModel: axisPointerModel,\n        triggerTooltip: triggerTooltip,\n        involveSeries: involveSeries,\n        snap: snap,\n        useHandle: isHandleTrigger(axisPointerModel),\n        seriesModels: [],\n        linkGroup: null\n      };\n      axesInfoInCoordSys[axisKey] = axisInfo;\n      result.seriesInvolved = result.seriesInvolved || involveSeries;\n      var groupIndex = getLinkGroupIndex(linksOption, axis);\n\n      if (groupIndex != null) {\n        var linkGroup = linkGroups[groupIndex] || (linkGroups[groupIndex] = {\n          axesInfo: {}\n        });\n        linkGroup.axesInfo[axisKey] = axisInfo;\n        linkGroup.mapper = linksOption[groupIndex].mapper;\n        axisInfo.linkGroup = linkGroup;\n      }\n    }\n  });\n}\n\nfunction makeAxisPointerModel(axis, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) {\n  var tooltipAxisPointerModel = baseTooltipModel.getModel('axisPointer');\n  var fields = ['type', 'snap', 'lineStyle', 'shadowStyle', 'label', 'animation', 'animationDurationUpdate', 'animationEasingUpdate', 'z'];\n  var volatileOption = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(fields, function (field) {\n    volatileOption[field] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(tooltipAxisPointerModel.get(field));\n  }); // category axis do not auto snap, otherwise some tick that do not\n  // has value can not be hovered. value/time/log axis default snap if\n  // triggered from tooltip and trigger tooltip.\n\n  volatileOption.snap = axis.type !== 'category' && !!triggerTooltip; // Compatibel with previous behavior, tooltip axis do not show label by default.\n  // Only these properties can be overrided from tooltip to axisPointer.\n\n  if (tooltipAxisPointerModel.get('type') === 'cross') {\n    volatileOption.type = 'line';\n  }\n\n  var labelOption = volatileOption.label || (volatileOption.label = {}); // Follow the convention, do not show label when triggered by tooltip by default.\n\n  labelOption.show == null && (labelOption.show = false);\n\n  if (fromTooltip === 'cross') {\n    // When 'cross', both axes show labels.\n    var tooltipAxisPointerLabelShow = tooltipAxisPointerModel.get(['label', 'show']);\n    labelOption.show = tooltipAxisPointerLabelShow != null ? tooltipAxisPointerLabelShow : true; // If triggerTooltip, this is a base axis, which should better not use cross style\n    // (cross style is dashed by default)\n\n    if (!triggerTooltip) {\n      var crossStyle = volatileOption.lineStyle = tooltipAxisPointerModel.get('crossStyle');\n      crossStyle && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"])(labelOption, crossStyle.textStyle);\n    }\n  }\n\n  return axis.model.getModel('axisPointer', new _model_Model_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](volatileOption, globalAxisPointerModel, ecModel));\n}\n\nfunction collectSeriesInfo(result, ecModel) {\n  // Prepare data for axis trigger\n  ecModel.eachSeries(function (seriesModel) {\n    // Notice this case: this coordSys is `cartesian2D` but not `grid`.\n    var coordSys = seriesModel.coordinateSystem;\n    var seriesTooltipTrigger = seriesModel.get(['tooltip', 'trigger'], true);\n    var seriesTooltipShow = seriesModel.get(['tooltip', 'show'], true);\n\n    if (!coordSys || seriesTooltipTrigger === 'none' || seriesTooltipTrigger === false || seriesTooltipTrigger === 'item' || seriesTooltipShow === false || seriesModel.get(['axisPointer', 'show'], true) === false) {\n      return;\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(result.coordSysAxesInfo[makeKey(coordSys.model)], function (axisInfo) {\n      var axis = axisInfo.axis;\n\n      if (coordSys.getAxis(axis.dim) === axis) {\n        axisInfo.seriesModels.push(seriesModel);\n        axisInfo.seriesDataCount == null && (axisInfo.seriesDataCount = 0);\n        axisInfo.seriesDataCount += seriesModel.getData().count();\n      }\n    });\n  });\n}\n/**\n * For example:\n * {\n *     axisPointer: {\n *         links: [{\n *             xAxisIndex: [2, 4],\n *             yAxisIndex: 'all'\n *         }, {\n *             xAxisId: ['a5', 'a7'],\n *             xAxisName: 'xxx'\n *         }]\n *     }\n * }\n */\n\n\nfunction getLinkGroupIndex(linksOption, axis) {\n  var axisModel = axis.model;\n  var dim = axis.dim;\n\n  for (var i = 0; i < linksOption.length; i++) {\n    var linkOption = linksOption[i] || {};\n\n    if (checkPropInLink(linkOption[dim + 'AxisId'], axisModel.id) || checkPropInLink(linkOption[dim + 'AxisIndex'], axisModel.componentIndex) || checkPropInLink(linkOption[dim + 'AxisName'], axisModel.name)) {\n      return i;\n    }\n  }\n}\n\nfunction checkPropInLink(linkPropValue, axisPropValue) {\n  return linkPropValue === 'all' || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(linkPropValue) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(linkPropValue, axisPropValue) >= 0 || linkPropValue === axisPropValue;\n}\n\nfunction fixValue(axisModel) {\n  var axisInfo = getAxisInfo(axisModel);\n\n  if (!axisInfo) {\n    return;\n  }\n\n  var axisPointerModel = axisInfo.axisPointerModel;\n  var scale = axisInfo.axis.scale;\n  var option = axisPointerModel.option;\n  var status = axisPointerModel.get('status');\n  var value = axisPointerModel.get('value'); // Parse init value for category and time axis.\n\n  if (value != null) {\n    value = scale.parse(value);\n  }\n\n  var useHandle = isHandleTrigger(axisPointerModel); // If `handle` used, `axisPointer` will always be displayed, so value\n  // and status should be initialized.\n\n  if (status == null) {\n    option.status = useHandle ? 'show' : 'hide';\n  }\n\n  var extent = scale.getExtent().slice();\n  extent[0] > extent[1] && extent.reverse();\n\n  if ( // Pick a value on axis when initializing.\n  value == null // If both `handle` and `dataZoom` are used, value may be out of axis extent,\n  // where we should re-pick a value to keep `handle` displaying normally.\n  || value > extent[1]) {\n    // Make handle displayed on the end of the axis when init, which looks better.\n    value = extent[1];\n  }\n\n  if (value < extent[0]) {\n    value = extent[0];\n  }\n\n  option.value = value;\n\n  if (useHandle) {\n    option.status = axisInfo.axis.scale.isBlank() ? 'hide' : 'show';\n  }\n}\nfunction getAxisInfo(axisModel) {\n  var coordSysAxesInfo = (axisModel.ecModel.getComponent('axisPointer') || {}).coordSysAxesInfo;\n  return coordSysAxesInfo && coordSysAxesInfo.axesInfo[makeKey(axisModel)];\n}\nfunction getAxisPointerModel(axisModel) {\n  var axisInfo = getAxisInfo(axisModel);\n  return axisInfo && axisInfo.axisPointerModel;\n}\n\nfunction isHandleTrigger(axisPointerModel) {\n  return !!axisPointerModel.get(['handle', 'show']);\n}\n/**\n * @param {module:echarts/model/Model} model\n * @return {string} unique key\n */\n\n\nfunction makeKey(model) {\n  return model.type + '||' + model.id;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/modelHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/axisPointer/viewHelper.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/axisPointer/viewHelper.js ***!
  \**********************************************************************/
/*! exports provided: buildElStyle, buildLabelElOption, getValueLabel, getTransformedPosition, buildCartesianSingleLabelElOption, makeLineShape, makeRectShape, makeSectorShape */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildElStyle\", function() { return buildElStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildLabelElOption\", function() { return buildLabelElOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getValueLabel\", function() { return getValueLabel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTransformedPosition\", function() { return getTransformedPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildCartesianSingleLabelElOption\", function() { return buildCartesianSingleLabelElOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeLineShape\", function() { return makeLineShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeRectShape\", function() { return makeRectShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeSectorShape\", function() { return makeSectorShape; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _axis_AxisBuilder_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../axis/AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nfunction buildElStyle(axisPointerModel) {\n  var axisPointerType = axisPointerModel.get('type');\n  var styleModel = axisPointerModel.getModel(axisPointerType + 'Style');\n  var style;\n\n  if (axisPointerType === 'line') {\n    style = styleModel.getLineStyle();\n    style.fill = null;\n  } else if (axisPointerType === 'shadow') {\n    style = styleModel.getAreaStyle();\n    style.stroke = null;\n  }\n\n  return style;\n}\n/**\n * @param {Function} labelPos {align, verticalAlign, position}\n */\n\nfunction buildLabelElOption(elOption, axisModel, axisPointerModel, api, labelPos) {\n  var value = axisPointerModel.get('value');\n  var text = getValueLabel(value, axisModel.axis, axisModel.ecModel, axisPointerModel.get('seriesDataIndices'), {\n    precision: axisPointerModel.get(['label', 'precision']),\n    formatter: axisPointerModel.get(['label', 'formatter'])\n  });\n  var labelModel = axisPointerModel.getModel('label');\n  var paddings = _util_format_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeCssArray\"](labelModel.get('padding') || 0);\n  var font = labelModel.getFont();\n  var textRect = zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getBoundingRect\"](text, font);\n  var position = labelPos.position;\n  var width = textRect.width + paddings[1] + paddings[3];\n  var height = textRect.height + paddings[0] + paddings[2]; // Adjust by align.\n\n  var align = labelPos.align;\n  align === 'right' && (position[0] -= width);\n  align === 'center' && (position[0] -= width / 2);\n  var verticalAlign = labelPos.verticalAlign;\n  verticalAlign === 'bottom' && (position[1] -= height);\n  verticalAlign === 'middle' && (position[1] -= height / 2); // Not overflow ec container\n\n  confineInContainer(position, width, height, api);\n  var bgColor = labelModel.get('backgroundColor');\n\n  if (!bgColor || bgColor === 'auto') {\n    bgColor = axisModel.get(['axisLine', 'lineStyle', 'color']);\n  }\n\n  elOption.label = {\n    // shape: {x: 0, y: 0, width: width, height: height, r: labelModel.get('borderRadius')},\n    x: position[0],\n    y: position[1],\n    style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"createTextStyle\"])(labelModel, {\n      text: text,\n      font: font,\n      fill: labelModel.getTextColor(),\n      padding: paddings,\n      backgroundColor: bgColor\n    }),\n    // Lable should be over axisPointer.\n    z2: 10\n  };\n} // Do not overflow ec container\n\nfunction confineInContainer(position, width, height, api) {\n  var viewWidth = api.getWidth();\n  var viewHeight = api.getHeight();\n  position[0] = Math.min(position[0] + width, viewWidth) - width;\n  position[1] = Math.min(position[1] + height, viewHeight) - height;\n  position[0] = Math.max(position[0], 0);\n  position[1] = Math.max(position[1], 0);\n}\n\nfunction getValueLabel(value, axis, ecModel, seriesDataIndices, opt) {\n  value = axis.scale.parse(value);\n  var text = axis.scale.getLabel({\n    value: value\n  }, {\n    // If `precision` is set, width can be fixed (like '12.00500'), which\n    // helps to debounce when when moving label.\n    precision: opt.precision\n  });\n  var formatter = opt.formatter;\n\n  if (formatter) {\n    var params_1 = {\n      value: _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_5__[\"getAxisRawValue\"](axis, {\n        value: value\n      }),\n      axisDimension: axis.dim,\n      axisIndex: axis.index,\n      seriesData: []\n    };\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](seriesDataIndices, function (idxItem) {\n      var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n      var dataIndex = idxItem.dataIndexInside;\n      var dataParams = series && series.getDataParams(dataIndex);\n      dataParams && params_1.seriesData.push(dataParams);\n    });\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](formatter)) {\n      text = formatter.replace('{value}', text);\n    } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](formatter)) {\n      text = formatter(params_1);\n    }\n  }\n\n  return text;\n}\nfunction getTransformedPosition(axis, value, layoutInfo) {\n  var transform = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"create\"]();\n  zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"rotate\"](transform, transform, layoutInfo.rotation);\n  zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"translate\"](transform, transform, layoutInfo.position);\n  return _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"]([axis.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform);\n}\nfunction buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api) {\n  // @ts-ignore\n  var textLayout = _axis_AxisBuilder_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].innerTextLayout(layoutInfo.rotation, 0, layoutInfo.labelDirection);\n  layoutInfo.labelMargin = axisPointerModel.get(['label', 'margin']);\n  buildLabelElOption(elOption, axisModel, axisPointerModel, api, {\n    position: getTransformedPosition(axisModel.axis, value, layoutInfo),\n    align: textLayout.textAlign,\n    verticalAlign: textLayout.textVerticalAlign\n  });\n}\nfunction makeLineShape(p1, p2, xDimIndex) {\n  xDimIndex = xDimIndex || 0;\n  return {\n    x1: p1[xDimIndex],\n    y1: p1[1 - xDimIndex],\n    x2: p2[xDimIndex],\n    y2: p2[1 - xDimIndex]\n  };\n}\nfunction makeRectShape(xy, wh, xDimIndex) {\n  xDimIndex = xDimIndex || 0;\n  return {\n    x: xy[xDimIndex],\n    y: xy[1 - xDimIndex],\n    width: wh[xDimIndex],\n    height: wh[1 - xDimIndex]\n  };\n}\nfunction makeSectorShape(cx, cy, r0, r, startAngle, endAngle) {\n  return {\n    cx: cx,\n    cy: cy,\n    r0: r0,\n    r: r,\n    startAngle: startAngle,\n    endAngle: endAngle,\n    clockwise: true\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/viewHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/brush/BrushModel.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/brush/BrushModel.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../visual/visualSolution.js */ \"./node_modules/echarts/lib/visual/visualSolution.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar DEFAULT_OUT_OF_BRUSH_COLOR = '#ddd';\n\nvar BrushModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BrushModel, _super);\n\n  function BrushModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = BrushModel.type;\n    /**\n     * @readOnly\n     */\n\n    _this.areas = [];\n    /**\n     * Current brush painting area settings.\n     * @readOnly\n     */\n\n    _this.brushOption = {};\n    return _this;\n  }\n\n  BrushModel.prototype.optionUpdated = function (newOption, isInit) {\n    var thisOption = this.option;\n    !isInit && _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_2__[\"replaceVisualOption\"](thisOption, newOption, ['inBrush', 'outOfBrush']);\n    var inBrush = thisOption.inBrush = thisOption.inBrush || {}; // Always give default visual, consider setOption at the second time.\n\n    thisOption.outOfBrush = thisOption.outOfBrush || {\n      color: DEFAULT_OUT_OF_BRUSH_COLOR\n    };\n\n    if (!inBrush.hasOwnProperty('liftZ')) {\n      // Bigger than the highlight z lift, otherwise it will\n      // be effected by the highlight z when brush.\n      inBrush.liftZ = 5;\n    }\n  };\n  /**\n   * If `areas` is null/undefined, range state remain.\n   */\n\n\n  BrushModel.prototype.setAreas = function (areas) {\n    if (true) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](areas));\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](areas, function (area) {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](area.brushType, 'Illegal areas');\n      });\n    } // If areas is null/undefined, range state remain.\n    // This helps user to dispatchAction({type: 'brush'}) with no areas\n    // set but just want to get the current brush select info from a `brush` event.\n\n\n    if (!areas) {\n      return;\n    }\n\n    this.areas = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](areas, function (area) {\n      return generateBrushOption(this.option, area);\n    }, this);\n  };\n  /**\n   * Set the current painting brush option.\n   */\n\n\n  BrushModel.prototype.setBrushOption = function (brushOption) {\n    this.brushOption = generateBrushOption(this.option, brushOption);\n    this.brushType = this.brushOption.brushType;\n  };\n\n  BrushModel.type = 'brush';\n  BrushModel.dependencies = ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'];\n  BrushModel.defaultOption = {\n    seriesIndex: 'all',\n    brushType: 'rect',\n    brushMode: 'single',\n    transformable: true,\n    brushStyle: {\n      borderWidth: 1,\n      color: 'rgba(210,219,238,0.3)',\n      borderColor: '#D2DBEE'\n    },\n    throttleType: 'fixRate',\n    throttleDelay: 0,\n    removeOnClick: true,\n    z: 10000\n  };\n  return BrushModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nfunction generateBrushOption(option, brushOption) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"]({\n    brushType: option.brushType,\n    brushMode: option.brushMode,\n    transformable: option.transformable,\n    brushStyle: new _model_Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](option.brushStyle).getItemStyle(),\n    removeOnClick: option.removeOnClick,\n    z: option.z\n  }, brushOption, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BrushModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/BrushModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/brush/BrushView.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/brush/BrushView.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_BrushController_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/BrushController.js */ \"./node_modules/echarts/lib/component/helper/BrushController.js\");\n/* harmony import */ var _visualEncoding_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./visualEncoding.js */ \"./node_modules/echarts/lib/component/brush/visualEncoding.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar BrushView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BrushView, _super);\n\n  function BrushView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = BrushView.type;\n    return _this;\n  }\n\n  BrushView.prototype.init = function (ecModel, api) {\n    this.ecModel = ecModel;\n    this.api = api;\n    this.model;\n    (this._brushController = new _helper_BrushController_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](api.getZr())).on('brush', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._onBrush, this)).mount();\n  };\n\n  BrushView.prototype.render = function (brushModel, ecModel, api, payload) {\n    this.model = brushModel;\n\n    this._updateController(brushModel, ecModel, api, payload);\n  };\n\n  BrushView.prototype.updateTransform = function (brushModel, ecModel, api, payload) {\n    // PENDING: `updateTransform` is a little tricky, whose layout need\n    // to be calculate mandatorily and other stages will not be performed.\n    // Take care the correctness of the logic. See #11754 .\n    Object(_visualEncoding_js__WEBPACK_IMPORTED_MODULE_3__[\"layoutCovers\"])(ecModel);\n\n    this._updateController(brushModel, ecModel, api, payload);\n  };\n\n  BrushView.prototype.updateVisual = function (brushModel, ecModel, api, payload) {\n    this.updateTransform(brushModel, ecModel, api, payload);\n  };\n\n  BrushView.prototype.updateView = function (brushModel, ecModel, api, payload) {\n    this._updateController(brushModel, ecModel, api, payload);\n  };\n\n  BrushView.prototype._updateController = function (brushModel, ecModel, api, payload) {\n    // Do not update controller when drawing.\n    (!payload || payload.$from !== brushModel.id) && this._brushController.setPanels(brushModel.brushTargetManager.makePanelOpts(api)).enableBrush(brushModel.brushOption).updateCovers(brushModel.areas.slice());\n  }; // updateLayout: updateController,\n  // updateVisual: updateController,\n\n\n  BrushView.prototype.dispose = function () {\n    this._brushController.dispose();\n  };\n\n  BrushView.prototype._onBrush = function (eventParam) {\n    var modelId = this.model.id;\n    var areas = this.model.brushTargetManager.setOutputRanges(eventParam.areas, this.ecModel); // Action is not dispatched on drag end, because the drag end\n    // emits the same params with the last drag move event, and\n    // may have some delay when using touch pad, which makes\n    // animation not smooth (when using debounce).\n\n    (!eventParam.isEnd || eventParam.removeOnClick) && this.api.dispatchAction({\n      type: 'brush',\n      brushId: modelId,\n      areas: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](areas),\n      $from: modelId\n    });\n    eventParam.isEnd && this.api.dispatchAction({\n      type: 'brushEnd',\n      brushId: modelId,\n      areas: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](areas),\n      $from: modelId\n    });\n  };\n\n  BrushView.type = 'brush';\n  return BrushView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BrushView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/BrushView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/brush/install.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/component/brush/install.js ***!
  \*************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _preprocessor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./preprocessor.js */ \"./node_modules/echarts/lib/component/brush/preprocessor.js\");\n/* harmony import */ var _BrushView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BrushView.js */ \"./node_modules/echarts/lib/component/brush/BrushView.js\");\n/* harmony import */ var _BrushModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BrushModel.js */ \"./node_modules/echarts/lib/component/brush/BrushModel.js\");\n/* harmony import */ var _visualEncoding_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./visualEncoding.js */ \"./node_modules/echarts/lib/component/brush/visualEncoding.js\");\n/* harmony import */ var _toolbox_feature_Brush_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../toolbox/feature/Brush.js */ \"./node_modules/echarts/lib/component/toolbox/feature/Brush.js\");\n/* harmony import */ var _toolbox_featureManager_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../toolbox/featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n // TODO\n\n\n\n\nfunction install(registers) {\n  registers.registerComponentView(_BrushView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentModel(_BrushModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerPreprocessor(_preprocessor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerVisual(registers.PRIORITY.VISUAL.BRUSH, _visualEncoding_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerAction({\n    type: 'brush',\n    event: 'brush',\n    update: 'updateVisual'\n  }, function (payload, ecModel) {\n    ecModel.eachComponent({\n      mainType: 'brush',\n      query: payload\n    }, function (brushModel) {\n      brushModel.setAreas(payload.areas);\n    });\n  });\n  /**\n   * payload: {\n   *      brushComponents: [\n   *          {\n   *              brushId,\n   *              brushIndex,\n   *              brushName,\n   *              series: [\n   *                  {\n   *                      seriesId,\n   *                      seriesIndex,\n   *                      seriesName,\n   *                      rawIndices: [21, 34, ...]\n   *                  },\n   *                  ...\n   *              ]\n   *          },\n   *          ...\n   *      ]\n   * }\n   */\n\n  registers.registerAction({\n    type: 'brushSelect',\n    event: 'brushSelected',\n    update: 'none'\n  }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"noop\"]);\n  registers.registerAction({\n    type: 'brushEnd',\n    event: 'brushEnd',\n    update: 'none'\n  }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"noop\"]);\n  Object(_toolbox_featureManager_js__WEBPACK_IMPORTED_MODULE_5__[\"registerFeature\"])('brush', _toolbox_feature_Brush_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/brush/preprocessor.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/brush/preprocessor.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return brushPreprocessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar DEFAULT_TOOLBOX_BTNS = ['rect', 'polygon', 'keep', 'clear'];\nfunction brushPreprocessor(option, isNew) {\n  var brushComponents = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeToArray\"])(option ? option.brush : []);\n\n  if (!brushComponents.length) {\n    return;\n  }\n\n  var brushComponentSpecifiedBtns = [];\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](brushComponents, function (brushOpt) {\n    var tbs = brushOpt.hasOwnProperty('toolbox') ? brushOpt.toolbox : [];\n\n    if (tbs instanceof Array) {\n      brushComponentSpecifiedBtns = brushComponentSpecifiedBtns.concat(tbs);\n    }\n  });\n  var toolbox = option && option.toolbox;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](toolbox)) {\n    toolbox = toolbox[0];\n  }\n\n  if (!toolbox) {\n    toolbox = {\n      feature: {}\n    };\n    option.toolbox = [toolbox];\n  }\n\n  var toolboxFeature = toolbox.feature || (toolbox.feature = {});\n  var toolboxBrush = toolboxFeature.brush || (toolboxFeature.brush = {});\n  var brushTypes = toolboxBrush.type || (toolboxBrush.type = []);\n  brushTypes.push.apply(brushTypes, brushComponentSpecifiedBtns);\n  removeDuplicate(brushTypes);\n\n  if (isNew && !brushTypes.length) {\n    brushTypes.push.apply(brushTypes, DEFAULT_TOOLBOX_BTNS);\n  }\n}\n\nfunction removeDuplicate(arr) {\n  var map = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](arr, function (val) {\n    map[val] = 1;\n  });\n  arr.length = 0;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](map, function (flag, val) {\n    arr.push(val);\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/preprocessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/brush/selector.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/component/brush/selector.js ***!
  \**************************************************************/
/*! exports provided: makeBrushCommonSelectorForSeries, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeBrushCommonSelectorForSeries\", function() { return makeBrushCommonSelectorForSeries; });\n/* harmony import */ var zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/contain/polygon.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/polygon.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction makeBrushCommonSelectorForSeries(area) {\n  var brushType = area.brushType; // Do not use function binding or curry for performance.\n\n  var selectors = {\n    point: function (itemLayout) {\n      return selector[brushType].point(itemLayout, selectors, area);\n    },\n    rect: function (itemLayout) {\n      return selector[brushType].rect(itemLayout, selectors, area);\n    }\n  };\n  return selectors;\n}\nvar selector = {\n  lineX: getLineSelectors(0),\n  lineY: getLineSelectors(1),\n  rect: {\n    point: function (itemLayout, selectors, area) {\n      return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]);\n    },\n    rect: function (itemLayout, selectors, area) {\n      return itemLayout && area.boundingRect.intersect(itemLayout);\n    }\n  },\n  polygon: {\n    point: function (itemLayout, selectors, area) {\n      return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]) && zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_0__[\"contain\"](area.range, itemLayout[0], itemLayout[1]);\n    },\n    rect: function (itemLayout, selectors, area) {\n      var points = area.range;\n\n      if (!itemLayout || points.length <= 1) {\n        return false;\n      }\n\n      var x = itemLayout.x;\n      var y = itemLayout.y;\n      var width = itemLayout.width;\n      var height = itemLayout.height;\n      var p = points[0];\n\n      if (zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_0__[\"contain\"](points, x, y) || zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_0__[\"contain\"](points, x + width, y) || zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_0__[\"contain\"](points, x, y + height) || zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_0__[\"contain\"](points, x + width, y + height) || zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create(itemLayout).contain(p[0], p[1]) || Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"linePolygonIntersect\"])(x, y, x + width, y, points) || Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"linePolygonIntersect\"])(x, y, x, y + height, points) || Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"linePolygonIntersect\"])(x + width, y, x + width, y + height, points) || Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"linePolygonIntersect\"])(x, y + height, x + width, y + height, points)) {\n        return true;\n      }\n    }\n  }\n};\n\nfunction getLineSelectors(xyIndex) {\n  var xy = ['x', 'y'];\n  var wh = ['width', 'height'];\n  return {\n    point: function (itemLayout, selectors, area) {\n      if (itemLayout) {\n        var range = area.range;\n        var p = itemLayout[xyIndex];\n        return inLineRange(p, range);\n      }\n    },\n    rect: function (itemLayout, selectors, area) {\n      if (itemLayout) {\n        var range = area.range;\n        var layoutRange = [itemLayout[xy[xyIndex]], itemLayout[xy[xyIndex]] + itemLayout[wh[xyIndex]]];\n        layoutRange[1] < layoutRange[0] && layoutRange.reverse();\n        return inLineRange(layoutRange[0], range) || inLineRange(layoutRange[1], range) || inLineRange(range[0], layoutRange) || inLineRange(range[1], layoutRange);\n      }\n    }\n  };\n}\n\nfunction inLineRange(p, range) {\n  return range[0] <= p && p <= range[1];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (selector);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/selector.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/brush/visualEncoding.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/brush/visualEncoding.js ***!
  \********************************************************************/
/*! exports provided: layoutCovers, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutCovers\", function() { return layoutCovers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return brushVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../visual/visualSolution.js */ \"./node_modules/echarts/lib/visual/visualSolution.js\");\n/* harmony import */ var _selector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./selector.js */ \"./node_modules/echarts/lib/component/brush/selector.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony import */ var _helper_BrushTargetManager_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helper/BrushTargetManager.js */ \"./node_modules/echarts/lib/component/helper/BrushTargetManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\n;\nfunction layoutCovers(ecModel) {\n  ecModel.eachComponent({\n    mainType: 'brush'\n  }, function (brushModel) {\n    var brushTargetManager = brushModel.brushTargetManager = new _helper_BrushTargetManager_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](brushModel.option, ecModel);\n    brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n  });\n}\n/**\n * Register the visual encoding if this modules required.\n */\n\nfunction brushVisual(ecModel, api, payload) {\n  var brushSelected = [];\n  var throttleType;\n  var throttleDelay;\n  ecModel.eachComponent({\n    mainType: 'brush'\n  }, function (brushModel) {\n    payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {\n      brushType: false\n    });\n  });\n  layoutCovers(ecModel);\n  ecModel.eachComponent({\n    mainType: 'brush'\n  }, function (brushModel, brushIndex) {\n    var thisBrushSelected = {\n      brushId: brushModel.id,\n      brushIndex: brushIndex,\n      brushName: brushModel.name,\n      areas: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](brushModel.areas),\n      selected: []\n    }; // Every brush component exists in event params, convenient\n    // for user to find by index.\n\n    brushSelected.push(thisBrushSelected);\n    var brushOption = brushModel.option;\n    var brushLink = brushOption.brushLink;\n    var linkedSeriesMap = [];\n    var selectedDataIndexForLink = [];\n    var rangeInfoBySeries = [];\n    var hasBrushExists = false;\n\n    if (!brushIndex) {\n      // Only the first throttle setting works.\n      throttleType = brushOption.throttleType;\n      throttleDelay = brushOption.throttleDelay;\n    } // Add boundingRect and selectors to range.\n\n\n    var areas = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](brushModel.areas, function (area) {\n      var builder = boundingRectBuilders[area.brushType];\n      var selectableArea = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"]({\n        boundingRect: builder ? builder(area) : void 0\n      }, area);\n      selectableArea.selectors = Object(_selector_js__WEBPACK_IMPORTED_MODULE_3__[\"makeBrushCommonSelectorForSeries\"])(selectableArea);\n      return selectableArea;\n    });\n    var visualMappings = _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_2__[\"createVisualMappings\"](brushModel.option, STATE_LIST, function (mappingOption) {\n      mappingOption.mappingMethod = 'fixed';\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](brushLink) && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](brushLink, function (seriesIndex) {\n      linkedSeriesMap[seriesIndex] = 1;\n    });\n\n    function linkOthers(seriesIndex) {\n      return brushLink === 'all' || !!linkedSeriesMap[seriesIndex];\n    } // If no supported brush or no brush on the series,\n    // all visuals should be in original state.\n\n\n    function brushed(rangeInfoList) {\n      return !!rangeInfoList.length;\n    }\n    /**\n     * Logic for each series: (If the logic has to be modified one day, do it carefully!)\n     *\n     * ( brushed ┬ && ┬hasBrushExist ┬ && linkOthers  ) => StepA: ┬record, ┬ StepB: ┬visualByRecord.\n     *   !brushed┘    ├hasBrushExist ┤                            └nothing,┘        ├visualByRecord.\n     *                └!hasBrushExist┘                                              └nothing.\n     * ( !brushed  && ┬hasBrushExist ┬ && linkOthers  ) => StepA:  nothing,  StepB: ┬visualByRecord.\n     *                └!hasBrushExist┘                                              └nothing.\n     * ( brushed ┬ &&                     !linkOthers ) => StepA:  nothing,  StepB: ┬visualByCheck.\n     *   !brushed┘                                                                  └nothing.\n     * ( !brushed  &&                     !linkOthers ) => StepA:  nothing,  StepB:  nothing.\n     */\n    // Step A\n\n\n    ecModel.eachSeries(function (seriesModel, seriesIndex) {\n      var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];\n      seriesModel.subType === 'parallel' ? stepAParallel(seriesModel, seriesIndex) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n    });\n\n    function stepAParallel(seriesModel, seriesIndex) {\n      var coordSys = seriesModel.coordinateSystem;\n      hasBrushExists = hasBrushExists || coordSys.hasAxisBrushed();\n      linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function (activeState, dataIndex) {\n        activeState === 'active' && (selectedDataIndexForLink[dataIndex] = 1);\n      });\n    }\n\n    function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {\n      if (!seriesModel.brushSelector || brushModelNotControll(brushModel, seriesIndex)) {\n        return;\n      }\n\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](areas, function (area) {\n        if (brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel)) {\n          rangeInfoList.push(area);\n        }\n\n        hasBrushExists = hasBrushExists || brushed(rangeInfoList);\n      });\n\n      if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n        var data_1 = seriesModel.getData();\n        data_1.each(function (dataIndex) {\n          if (checkInRange(seriesModel, rangeInfoList, data_1, dataIndex)) {\n            selectedDataIndexForLink[dataIndex] = 1;\n          }\n        });\n      }\n    } // Step B\n\n\n    ecModel.eachSeries(function (seriesModel, seriesIndex) {\n      var seriesBrushSelected = {\n        seriesId: seriesModel.id,\n        seriesIndex: seriesIndex,\n        seriesName: seriesModel.name,\n        dataIndex: []\n      }; // Every series exists in event params, convenient\n      // for user to find series by seriesIndex.\n\n      thisBrushSelected.selected.push(seriesBrushSelected);\n      var rangeInfoList = rangeInfoBySeries[seriesIndex];\n      var data = seriesModel.getData();\n      var getValueState = linkOthers(seriesIndex) ? function (dataIndex) {\n        return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n      } : function (dataIndex) {\n        return checkInRange(seriesModel, rangeInfoList, data, dataIndex) ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n      }; // If no supported brush or no brush, all visuals are in original state.\n\n      (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_2__[\"applyVisual\"](STATE_LIST, visualMappings, data, getValueState);\n    });\n  });\n  dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\n}\n;\n\nfunction dispatchAction(api, throttleType, throttleDelay, brushSelected, payload) {\n  // This event will not be triggered when `setOpion`, otherwise dead lock may\n  // triggered when do `setOption` in event listener, which we do not find\n  // satisfactory way to solve yet. Some considered resolutions:\n  // (a) Diff with prevoius selected data ant only trigger event when changed.\n  // But store previous data and diff precisely (i.e., not only by dataIndex, but\n  // also detect value changes in selected data) might bring complexity or fragility.\n  // (b) Use spectial param like `silent` to suppress event triggering.\n  // But such kind of volatile param may be weird in `setOption`.\n  if (!payload) {\n    return;\n  }\n\n  var zr = api.getZr();\n\n  if (zr[DISPATCH_FLAG]) {\n    return;\n  }\n\n  if (!zr[DISPATCH_METHOD]) {\n    zr[DISPATCH_METHOD] = doDispatch;\n  }\n\n  var fn = _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__[\"createOrUpdate\"](zr, DISPATCH_METHOD, throttleDelay, throttleType);\n  fn(api, brushSelected);\n}\n\nfunction doDispatch(api, brushSelected) {\n  if (!api.isDisposed()) {\n    var zr = api.getZr();\n    zr[DISPATCH_FLAG] = true;\n    api.dispatchAction({\n      type: 'brushSelect',\n      batch: brushSelected\n    });\n    zr[DISPATCH_FLAG] = false;\n  }\n}\n\nfunction checkInRange(seriesModel, rangeInfoList, data, dataIndex) {\n  for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n    var area = rangeInfoList[i];\n\n    if (seriesModel.brushSelector(dataIndex, data, area.selectors, area)) {\n      return true;\n    }\n  }\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n  var seriesIndices = brushModel.option.seriesIndex;\n  return seriesIndices != null && seriesIndices !== 'all' && (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](seriesIndices) ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nvar boundingRectBuilders = {\n  rect: function (area) {\n    return getBoundingRectFromMinMax(area.range);\n  },\n  polygon: function (area) {\n    var minMax;\n    var range = area.range;\n\n    for (var i = 0, len = range.length; i < len; i++) {\n      minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];\n      var rg = range[i];\n      rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);\n      rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);\n      rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);\n      rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);\n    }\n\n    return minMax && getBoundingRectFromMinMax(minMax);\n  }\n};\n\nfunction getBoundingRectFromMinMax(minMax) {\n  return new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/visualEncoding.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/calendar/CalendarView.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/calendar/CalendarView.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _core_locale_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core/locale.js */ \"./node_modules/echarts/lib/core/locale.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar CalendarView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CalendarView, _super);\n\n  function CalendarView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CalendarView.type;\n    return _this;\n  }\n\n  CalendarView.prototype.render = function (calendarModel, ecModel, api) {\n    var group = this.group;\n    group.removeAll();\n    var coordSys = calendarModel.coordinateSystem; // range info\n\n    var rangeData = coordSys.getRangeInfo();\n    var orient = coordSys.getOrient(); // locale\n\n    var localeModel = ecModel.getLocaleModel();\n\n    this._renderDayRect(calendarModel, rangeData, group); // _renderLines must be called prior to following function\n\n\n    this._renderLines(calendarModel, rangeData, orient, group);\n\n    this._renderYearText(calendarModel, rangeData, orient, group);\n\n    this._renderMonthText(calendarModel, localeModel, orient, group);\n\n    this._renderWeekText(calendarModel, localeModel, rangeData, orient, group);\n  }; // render day rect\n\n\n  CalendarView.prototype._renderDayRect = function (calendarModel, rangeData, group) {\n    var coordSys = calendarModel.coordinateSystem;\n    var itemRectStyleModel = calendarModel.getModel('itemStyle').getItemStyle();\n    var sw = coordSys.getCellWidth();\n    var sh = coordSys.getCellHeight();\n\n    for (var i = rangeData.start.time; i <= rangeData.end.time; i = coordSys.getNextNDay(i, 1).time) {\n      var point = coordSys.dataToRect([i], false).tl; // every rect\n\n      var rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n        shape: {\n          x: point[0],\n          y: point[1],\n          width: sw,\n          height: sh\n        },\n        cursor: 'default',\n        style: itemRectStyleModel\n      });\n      group.add(rect);\n    }\n  }; // render separate line\n\n\n  CalendarView.prototype._renderLines = function (calendarModel, rangeData, orient, group) {\n    var self = this;\n    var coordSys = calendarModel.coordinateSystem;\n    var lineStyleModel = calendarModel.getModel(['splitLine', 'lineStyle']).getLineStyle();\n    var show = calendarModel.get(['splitLine', 'show']);\n    var lineWidth = lineStyleModel.lineWidth;\n    this._tlpoints = [];\n    this._blpoints = [];\n    this._firstDayOfMonth = [];\n    this._firstDayPoints = [];\n    var firstDay = rangeData.start;\n\n    for (var i = 0; firstDay.time <= rangeData.end.time; i++) {\n      addPoints(firstDay.formatedDate);\n\n      if (i === 0) {\n        firstDay = coordSys.getDateInfo(rangeData.start.y + '-' + rangeData.start.m);\n      }\n\n      var date = firstDay.date;\n      date.setMonth(date.getMonth() + 1);\n      firstDay = coordSys.getDateInfo(date);\n    }\n\n    addPoints(coordSys.getNextNDay(rangeData.end.time, 1).formatedDate);\n\n    function addPoints(date) {\n      self._firstDayOfMonth.push(coordSys.getDateInfo(date));\n\n      self._firstDayPoints.push(coordSys.dataToRect([date], false).tl);\n\n      var points = self._getLinePointsOfOneWeek(calendarModel, date, orient);\n\n      self._tlpoints.push(points[0]);\n\n      self._blpoints.push(points[points.length - 1]);\n\n      show && self._drawSplitline(points, lineStyleModel, group);\n    } // render top/left line\n\n\n    show && this._drawSplitline(self._getEdgesPoints(self._tlpoints, lineWidth, orient), lineStyleModel, group); // render bottom/right line\n\n    show && this._drawSplitline(self._getEdgesPoints(self._blpoints, lineWidth, orient), lineStyleModel, group);\n  }; // get points at both ends\n\n\n  CalendarView.prototype._getEdgesPoints = function (points, lineWidth, orient) {\n    var rs = [points[0].slice(), points[points.length - 1].slice()];\n    var idx = orient === 'horizontal' ? 0 : 1; // both ends of the line are extend half lineWidth\n\n    rs[0][idx] = rs[0][idx] - lineWidth / 2;\n    rs[1][idx] = rs[1][idx] + lineWidth / 2;\n    return rs;\n  }; // render split line\n\n\n  CalendarView.prototype._drawSplitline = function (points, lineStyle, group) {\n    var poyline = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Polyline\"]({\n      z2: 20,\n      shape: {\n        points: points\n      },\n      style: lineStyle\n    });\n    group.add(poyline);\n  }; // render month line of one week points\n\n\n  CalendarView.prototype._getLinePointsOfOneWeek = function (calendarModel, date, orient) {\n    var coordSys = calendarModel.coordinateSystem;\n    var parsedDate = coordSys.getDateInfo(date);\n    var points = [];\n\n    for (var i = 0; i < 7; i++) {\n      var tmpD = coordSys.getNextNDay(parsedDate.time, i);\n      var point = coordSys.dataToRect([tmpD.time], false);\n      points[2 * tmpD.day] = point.tl;\n      points[2 * tmpD.day + 1] = point[orient === 'horizontal' ? 'bl' : 'tr'];\n    }\n\n    return points;\n  };\n\n  CalendarView.prototype._formatterLabel = function (formatter, params) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(formatter) && formatter) {\n      return Object(_util_format_js__WEBPACK_IMPORTED_MODULE_4__[\"formatTplSimple\"])(formatter, params);\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(formatter)) {\n      return formatter(params);\n    }\n\n    return params.nameMap;\n  };\n\n  CalendarView.prototype._yearTextPositionControl = function (textEl, point, orient, position, margin) {\n    var x = point[0];\n    var y = point[1];\n    var aligns = ['center', 'bottom'];\n\n    if (position === 'bottom') {\n      y += margin;\n      aligns = ['center', 'top'];\n    } else if (position === 'left') {\n      x -= margin;\n    } else if (position === 'right') {\n      x += margin;\n      aligns = ['center', 'top'];\n    } else {\n      // top\n      y -= margin;\n    }\n\n    var rotate = 0;\n\n    if (position === 'left' || position === 'right') {\n      rotate = Math.PI / 2;\n    }\n\n    return {\n      rotation: rotate,\n      x: x,\n      y: y,\n      style: {\n        align: aligns[0],\n        verticalAlign: aligns[1]\n      }\n    };\n  }; // render year\n\n\n  CalendarView.prototype._renderYearText = function (calendarModel, rangeData, orient, group) {\n    var yearLabel = calendarModel.getModel('yearLabel');\n\n    if (!yearLabel.get('show')) {\n      return;\n    }\n\n    var margin = yearLabel.get('margin');\n    var pos = yearLabel.get('position');\n\n    if (!pos) {\n      pos = orient !== 'horizontal' ? 'top' : 'left';\n    }\n\n    var points = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]];\n    var xc = (points[0][0] + points[1][0]) / 2;\n    var yc = (points[0][1] + points[1][1]) / 2;\n    var idx = orient === 'horizontal' ? 0 : 1;\n    var posPoints = {\n      top: [xc, points[idx][1]],\n      bottom: [xc, points[1 - idx][1]],\n      left: [points[1 - idx][0], yc],\n      right: [points[idx][0], yc]\n    };\n    var name = rangeData.start.y;\n\n    if (+rangeData.end.y > +rangeData.start.y) {\n      name = name + '-' + rangeData.end.y;\n    }\n\n    var formatter = yearLabel.get('formatter');\n    var params = {\n      start: rangeData.start.y,\n      end: rangeData.end.y,\n      nameMap: name\n    };\n\n    var content = this._formatterLabel(formatter, params);\n\n    var yearText = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n      z2: 30,\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"createTextStyle\"])(yearLabel, {\n        text: content\n      })\n    });\n    yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));\n    group.add(yearText);\n  };\n\n  CalendarView.prototype._monthTextPositionControl = function (point, isCenter, orient, position, margin) {\n    var align = 'left';\n    var vAlign = 'top';\n    var x = point[0];\n    var y = point[1];\n\n    if (orient === 'horizontal') {\n      y = y + margin;\n\n      if (isCenter) {\n        align = 'center';\n      }\n\n      if (position === 'start') {\n        vAlign = 'bottom';\n      }\n    } else {\n      x = x + margin;\n\n      if (isCenter) {\n        vAlign = 'middle';\n      }\n\n      if (position === 'start') {\n        align = 'right';\n      }\n    }\n\n    return {\n      x: x,\n      y: y,\n      align: align,\n      verticalAlign: vAlign\n    };\n  }; // render month and year text\n\n\n  CalendarView.prototype._renderMonthText = function (calendarModel, localeModel, orient, group) {\n    var monthLabel = calendarModel.getModel('monthLabel');\n\n    if (!monthLabel.get('show')) {\n      return;\n    }\n\n    var nameMap = monthLabel.get('nameMap');\n    var margin = monthLabel.get('margin');\n    var pos = monthLabel.get('position');\n    var align = monthLabel.get('align');\n    var termPoints = [this._tlpoints, this._blpoints];\n\n    if (!nameMap || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(nameMap)) {\n      if (nameMap) {\n        // case-sensitive\n        localeModel = Object(_core_locale_js__WEBPACK_IMPORTED_MODULE_7__[\"getLocaleModel\"])(nameMap) || localeModel;\n      } // PENDING\n      // for ZH locale, original form is `一月` but current form is `1月`\n\n\n      nameMap = localeModel.get(['time', 'monthAbbr']) || [];\n    }\n\n    var idx = pos === 'start' ? 0 : 1;\n    var axis = orient === 'horizontal' ? 0 : 1;\n    margin = pos === 'start' ? -margin : margin;\n    var isCenter = align === 'center';\n\n    for (var i = 0; i < termPoints[idx].length - 1; i++) {\n      var tmp = termPoints[idx][i].slice();\n      var firstDay = this._firstDayOfMonth[i];\n\n      if (isCenter) {\n        var firstDayPoints = this._firstDayPoints[i];\n        tmp[axis] = (firstDayPoints[axis] + termPoints[0][i + 1][axis]) / 2;\n      }\n\n      var formatter = monthLabel.get('formatter');\n      var name_1 = nameMap[+firstDay.m - 1];\n      var params = {\n        yyyy: firstDay.y,\n        yy: (firstDay.y + '').slice(2),\n        MM: firstDay.m,\n        M: +firstDay.m,\n        nameMap: name_1\n      };\n\n      var content = this._formatterLabel(formatter, params);\n\n      var monthText = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n        z2: 30,\n        style: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"createTextStyle\"])(monthLabel, {\n          text: content\n        }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin))\n      });\n      group.add(monthText);\n    }\n  };\n\n  CalendarView.prototype._weekTextPositionControl = function (point, orient, position, margin, cellSize) {\n    var align = 'center';\n    var vAlign = 'middle';\n    var x = point[0];\n    var y = point[1];\n    var isStart = position === 'start';\n\n    if (orient === 'horizontal') {\n      x = x + margin + (isStart ? 1 : -1) * cellSize[0] / 2;\n      align = isStart ? 'right' : 'left';\n    } else {\n      y = y + margin + (isStart ? 1 : -1) * cellSize[1] / 2;\n      vAlign = isStart ? 'bottom' : 'top';\n    }\n\n    return {\n      x: x,\n      y: y,\n      align: align,\n      verticalAlign: vAlign\n    };\n  }; // render weeks\n\n\n  CalendarView.prototype._renderWeekText = function (calendarModel, localeModel, rangeData, orient, group) {\n    var dayLabel = calendarModel.getModel('dayLabel');\n\n    if (!dayLabel.get('show')) {\n      return;\n    }\n\n    var coordSys = calendarModel.coordinateSystem;\n    var pos = dayLabel.get('position');\n    var nameMap = dayLabel.get('nameMap');\n    var margin = dayLabel.get('margin');\n    var firstDayOfWeek = coordSys.getFirstDayOfWeek();\n\n    if (!nameMap || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(nameMap)) {\n      if (nameMap) {\n        // case-sensitive\n        localeModel = Object(_core_locale_js__WEBPACK_IMPORTED_MODULE_7__[\"getLocaleModel\"])(nameMap) || localeModel;\n      } // Use the first letter of `dayOfWeekAbbr` if `dayOfWeekShort` doesn't exist in the locale file\n\n\n      var dayOfWeekShort = localeModel.get(['time', 'dayOfWeekShort']);\n      nameMap = dayOfWeekShort || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(localeModel.get(['time', 'dayOfWeekAbbr']), function (val) {\n        return val[0];\n      });\n    }\n\n    var start = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;\n    var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];\n    margin = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"parsePercent\"])(margin, Math.min(cellSize[1], cellSize[0]));\n\n    if (pos === 'start') {\n      start = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;\n      margin = -margin;\n    }\n\n    for (var i = 0; i < 7; i++) {\n      var tmpD = coordSys.getNextNDay(start, i);\n      var point = coordSys.dataToRect([tmpD.time], false).center;\n      var day = i;\n      day = Math.abs((i + firstDayOfWeek) % 7);\n      var weekText = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n        z2: 30,\n        style: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"createTextStyle\"])(dayLabel, {\n          text: nameMap[day]\n        }), this._weekTextPositionControl(point, orient, pos, margin, cellSize))\n      });\n      group.add(weekText);\n    }\n  };\n\n  CalendarView.type = 'calendar';\n  return CalendarView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CalendarView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/calendar/CalendarView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/calendar/install.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/calendar/install.js ***!
  \****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _coord_calendar_CalendarModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../coord/calendar/CalendarModel.js */ \"./node_modules/echarts/lib/coord/calendar/CalendarModel.js\");\n/* harmony import */ var _CalendarView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CalendarView.js */ \"./node_modules/echarts/lib/component/calendar/CalendarView.js\");\n/* harmony import */ var _coord_calendar_Calendar_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../coord/calendar/Calendar.js */ \"./node_modules/echarts/lib/coord/calendar/Calendar.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_coord_calendar_CalendarModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_CalendarView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerCoordinateSystem('calendar', _coord_calendar_Calendar_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/calendar/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/AxisProxy.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/AxisProxy.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/sliderMove.js */ \"./node_modules/echarts/lib/component/helper/sliderMove.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _coord_scaleRawExtentInfo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../coord/scaleRawExtentInfo.js */ \"./node_modules/echarts/lib/coord/scaleRawExtentInfo.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/dataZoom/helper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nvar asc = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"asc\"];\n/**\n * Operate single axis.\n * One axis can only operated by one axis operator.\n * Different dataZoomModels may be defined to operate the same axis.\n * (i.e. 'inside' data zoom and 'slider' data zoom components)\n * So dataZoomModels share one axisProxy in that case.\n */\n\nvar AxisProxy =\n/** @class */\nfunction () {\n  function AxisProxy(dimName, axisIndex, dataZoomModel, ecModel) {\n    this._dimName = dimName;\n    this._axisIndex = axisIndex;\n    this.ecModel = ecModel;\n    this._dataZoomModel = dataZoomModel; // /**\n    //  * @readOnly\n    //  * @private\n    //  */\n    // this.hasSeriesStacked;\n  }\n  /**\n   * Whether the axisProxy is hosted by dataZoomModel.\n   */\n\n\n  AxisProxy.prototype.hostedBy = function (dataZoomModel) {\n    return this._dataZoomModel === dataZoomModel;\n  };\n  /**\n   * @return Value can only be NaN or finite value.\n   */\n\n\n  AxisProxy.prototype.getDataValueWindow = function () {\n    return this._valueWindow.slice();\n  };\n  /**\n   * @return {Array.<number>}\n   */\n\n\n  AxisProxy.prototype.getDataPercentWindow = function () {\n    return this._percentWindow.slice();\n  };\n\n  AxisProxy.prototype.getTargetSeriesModels = function () {\n    var seriesModels = [];\n    this.ecModel.eachSeries(function (seriesModel) {\n      if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"isCoordSupported\"])(seriesModel)) {\n        var axisMainType = Object(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"getAxisMainType\"])(this._dimName);\n        var axisModel = seriesModel.getReferringComponents(axisMainType, _util_model_js__WEBPACK_IMPORTED_MODULE_6__[\"SINGLE_REFERRING\"]).models[0];\n\n        if (axisModel && this._axisIndex === axisModel.componentIndex) {\n          seriesModels.push(seriesModel);\n        }\n      }\n    }, this);\n    return seriesModels;\n  };\n\n  AxisProxy.prototype.getAxisModel = function () {\n    return this.ecModel.getComponent(this._dimName + 'Axis', this._axisIndex);\n  };\n\n  AxisProxy.prototype.getMinMaxSpan = function () {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](this._minMaxSpan);\n  };\n  /**\n   * Only calculate by given range and this._dataExtent, do not change anything.\n   */\n\n\n  AxisProxy.prototype.calculateDataWindow = function (opt) {\n    var dataExtent = this._dataExtent;\n    var axisModel = this.getAxisModel();\n    var scale = axisModel.axis.scale;\n\n    var rangePropMode = this._dataZoomModel.getRangePropMode();\n\n    var percentExtent = [0, 100];\n    var percentWindow = [];\n    var valueWindow = [];\n    var hasPropModeValue;\n    each(['start', 'end'], function (prop, idx) {\n      var boundPercent = opt[prop];\n      var boundValue = opt[prop + 'Value']; // Notice: dataZoom is based either on `percentProp` ('start', 'end') or\n      // on `valueProp` ('startValue', 'endValue'). (They are based on the data extent\n      // but not min/max of axis, which will be calculated by data window then).\n      // The former one is suitable for cases that a dataZoom component controls multiple\n      // axes with different unit or extent, and the latter one is suitable for accurate\n      // zoom by pixel (e.g., in dataZoomSelect).\n      // we use `getRangePropMode()` to mark which prop is used. `rangePropMode` is updated\n      // only when setOption or dispatchAction, otherwise it remains its original value.\n      // (Why not only record `percentProp` and always map to `valueProp`? Because\n      // the map `valueProp` -> `percentProp` -> `valueProp` probably not the original\n      // `valueProp`. consider two axes constrolled by one dataZoom. They have different\n      // data extent. All of values that are overflow the `dataExtent` will be calculated\n      // to percent '100%').\n\n      if (rangePropMode[idx] === 'percent') {\n        boundPercent == null && (boundPercent = percentExtent[idx]); // Use scale.parse to math round for category or time axis.\n\n        boundValue = scale.parse(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"](boundPercent, percentExtent, dataExtent));\n      } else {\n        hasPropModeValue = true;\n        boundValue = boundValue == null ? dataExtent[idx] : scale.parse(boundValue); // Calculating `percent` from `value` may be not accurate, because\n        // This calculation can not be inversed, because all of values that\n        // are overflow the `dataExtent` will be calculated to percent '100%'\n\n        boundPercent = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"](boundValue, dataExtent, percentExtent);\n      } // valueWindow[idx] = round(boundValue);\n      // percentWindow[idx] = round(boundPercent);\n\n\n      valueWindow[idx] = boundValue;\n      percentWindow[idx] = boundPercent;\n    });\n    asc(valueWindow);\n    asc(percentWindow); // The windows from user calling of `dispatchAction` might be out of the extent,\n    // or do not obey the `min/maxSpan`, `min/maxValueSpan`. But we dont restrict window\n    // by `zoomLock` here, because we see `zoomLock` just as a interaction constraint,\n    // where API is able to initialize/modify the window size even though `zoomLock`\n    // specified.\n\n    var spans = this._minMaxSpan;\n    hasPropModeValue ? restrictSet(valueWindow, percentWindow, dataExtent, percentExtent, false) : restrictSet(percentWindow, valueWindow, percentExtent, dataExtent, true);\n\n    function restrictSet(fromWindow, toWindow, fromExtent, toExtent, toValue) {\n      var suffix = toValue ? 'Span' : 'ValueSpan';\n      Object(_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(0, fromWindow, fromExtent, 'all', spans['min' + suffix], spans['max' + suffix]);\n\n      for (var i = 0; i < 2; i++) {\n        toWindow[i] = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"](fromWindow[i], fromExtent, toExtent, true);\n        toValue && (toWindow[i] = scale.parse(toWindow[i]));\n      }\n    }\n\n    return {\n      valueWindow: valueWindow,\n      percentWindow: percentWindow\n    };\n  };\n  /**\n   * Notice: reset should not be called before series.restoreData() called,\n   * so it is recommanded to be called in \"process stage\" but not \"model init\n   * stage\".\n   */\n\n\n  AxisProxy.prototype.reset = function (dataZoomModel) {\n    if (dataZoomModel !== this._dataZoomModel) {\n      return;\n    }\n\n    var targetSeries = this.getTargetSeriesModels(); // Culculate data window and data extent, and record them.\n\n    this._dataExtent = calculateDataExtent(this, this._dimName, targetSeries); // `calculateDataWindow` uses min/maxSpan.\n\n    this._updateMinMaxSpan();\n\n    var dataWindow = this.calculateDataWindow(dataZoomModel.settledOption);\n    this._valueWindow = dataWindow.valueWindow;\n    this._percentWindow = dataWindow.percentWindow; // Update axis setting then.\n\n    this._setAxisModel();\n  };\n\n  AxisProxy.prototype.filterData = function (dataZoomModel, api) {\n    if (dataZoomModel !== this._dataZoomModel) {\n      return;\n    }\n\n    var axisDim = this._dimName;\n    var seriesModels = this.getTargetSeriesModels();\n    var filterMode = dataZoomModel.get('filterMode');\n    var valueWindow = this._valueWindow;\n\n    if (filterMode === 'none') {\n      return;\n    } // FIXME\n    // Toolbox may has dataZoom injected. And if there are stacked bar chart\n    // with NaN data, NaN will be filtered and stack will be wrong.\n    // So we need to force the mode to be set empty.\n    // In fect, it is not a big deal that do not support filterMode-'filter'\n    // when using toolbox#dataZoom, utill tooltip#dataZoom support \"single axis\n    // selection\" some day, which might need \"adapt to data extent on the\n    // otherAxis\", which is disabled by filterMode-'empty'.\n    // But currently, stack has been fixed to based on value but not index,\n    // so this is not an issue any more.\n    // let otherAxisModel = this.getOtherAxisModel();\n    // if (dataZoomModel.get('$fromToolbox')\n    //     && otherAxisModel\n    //     && otherAxisModel.hasSeriesStacked\n    // ) {\n    //     filterMode = 'empty';\n    // }\n    // TODO\n    // filterMode 'weakFilter' and 'empty' is not optimized for huge data yet.\n\n\n    each(seriesModels, function (seriesModel) {\n      var seriesData = seriesModel.getData();\n      var dataDims = seriesData.mapDimensionsAll(axisDim);\n\n      if (!dataDims.length) {\n        return;\n      }\n\n      if (filterMode === 'weakFilter') {\n        var store_1 = seriesData.getStore();\n        var dataDimIndices_1 = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](dataDims, function (dim) {\n          return seriesData.getDimensionIndex(dim);\n        }, seriesData);\n        seriesData.filterSelf(function (dataIndex) {\n          var leftOut;\n          var rightOut;\n          var hasValue;\n\n          for (var i = 0; i < dataDims.length; i++) {\n            var value = store_1.get(dataDimIndices_1[i], dataIndex);\n            var thisHasValue = !isNaN(value);\n            var thisLeftOut = value < valueWindow[0];\n            var thisRightOut = value > valueWindow[1];\n\n            if (thisHasValue && !thisLeftOut && !thisRightOut) {\n              return true;\n            }\n\n            thisHasValue && (hasValue = true);\n            thisLeftOut && (leftOut = true);\n            thisRightOut && (rightOut = true);\n          } // If both left out and right out, do not filter.\n\n\n          return hasValue && leftOut && rightOut;\n        });\n      } else {\n        each(dataDims, function (dim) {\n          if (filterMode === 'empty') {\n            seriesModel.setData(seriesData = seriesData.map(dim, function (value) {\n              return !isInWindow(value) ? NaN : value;\n            }));\n          } else {\n            var range = {};\n            range[dim] = valueWindow; // console.time('select');\n\n            seriesData.selectRange(range); // console.timeEnd('select');\n          }\n        });\n      }\n\n      each(dataDims, function (dim) {\n        seriesData.setApproximateExtent(valueWindow, dim);\n      });\n    });\n\n    function isInWindow(value) {\n      return value >= valueWindow[0] && value <= valueWindow[1];\n    }\n  };\n\n  AxisProxy.prototype._updateMinMaxSpan = function () {\n    var minMaxSpan = this._minMaxSpan = {};\n    var dataZoomModel = this._dataZoomModel;\n    var dataExtent = this._dataExtent;\n    each(['min', 'max'], function (minMax) {\n      var percentSpan = dataZoomModel.get(minMax + 'Span');\n      var valueSpan = dataZoomModel.get(minMax + 'ValueSpan');\n      valueSpan != null && (valueSpan = this.getAxisModel().axis.scale.parse(valueSpan)); // minValueSpan and maxValueSpan has higher priority than minSpan and maxSpan\n\n      if (valueSpan != null) {\n        percentSpan = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"](dataExtent[0] + valueSpan, dataExtent, [0, 100], true);\n      } else if (percentSpan != null) {\n        valueSpan = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"](percentSpan, [0, 100], dataExtent, true) - dataExtent[0];\n      }\n\n      minMaxSpan[minMax + 'Span'] = percentSpan;\n      minMaxSpan[minMax + 'ValueSpan'] = valueSpan;\n    }, this);\n  };\n\n  AxisProxy.prototype._setAxisModel = function () {\n    var axisModel = this.getAxisModel();\n    var percentWindow = this._percentWindow;\n    var valueWindow = this._valueWindow;\n\n    if (!percentWindow) {\n      return;\n    } // [0, 500]: arbitrary value, guess axis extent.\n\n\n    var precision = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"getPixelPrecision\"](valueWindow, [0, 500]);\n    precision = Math.min(precision, 20); // For value axis, if min/max/scale are not set, we just use the extent obtained\n    // by series data, which may be a little different from the extent calculated by\n    // `axisHelper.getScaleExtent`. But the different just affects the experience a\n    // little when zooming. So it will not be fixed until some users require it strongly.\n\n    var rawExtentInfo = axisModel.axis.scale.rawExtentInfo;\n\n    if (percentWindow[0] !== 0) {\n      rawExtentInfo.setDeterminedMinMax('min', +valueWindow[0].toFixed(precision));\n    }\n\n    if (percentWindow[1] !== 100) {\n      rawExtentInfo.setDeterminedMinMax('max', +valueWindow[1].toFixed(precision));\n    }\n\n    rawExtentInfo.freeze();\n  };\n\n  return AxisProxy;\n}();\n\nfunction calculateDataExtent(axisProxy, axisDim, seriesModels) {\n  var dataExtent = [Infinity, -Infinity];\n  each(seriesModels, function (seriesModel) {\n    Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"unionAxisExtentFromData\"])(dataExtent, seriesModel.getData(), axisDim);\n  }); // It is important to get \"consistent\" extent when more then one axes is\n  // controlled by a `dataZoom`, otherwise those axes will not be synchronized\n  // when zooming. But it is difficult to know what is \"consistent\", considering\n  // axes have different type or even different meanings (For example, two\n  // time axes are used to compare data of the same date in different years).\n  // So basically dataZoom just obtains extent by series.data (in category axis\n  // extent can be obtained from axis.data).\n  // Nevertheless, user can set min/max/scale on axes to make extent of axes\n  // consistent.\n\n  var axisModel = axisProxy.getAxisModel();\n  var rawExtentResult = Object(_coord_scaleRawExtentInfo_js__WEBPACK_IMPORTED_MODULE_4__[\"ensureScaleRawExtentInfo\"])(axisModel.axis.scale, axisModel, dataExtent).calculate();\n  return [rawExtentResult.min, rawExtentResult.max];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AxisProxy);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/AxisProxy.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/dataZoom/helper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar DataZoomAxisInfo =\n/** @class */\nfunction () {\n  function DataZoomAxisInfo() {\n    this.indexList = [];\n    this.indexMap = [];\n  }\n\n  DataZoomAxisInfo.prototype.add = function (axisCmptIdx) {\n    // Remove duplication.\n    if (!this.indexMap[axisCmptIdx]) {\n      this.indexList.push(axisCmptIdx);\n      this.indexMap[axisCmptIdx] = true;\n    }\n  };\n\n  return DataZoomAxisInfo;\n}();\n\nvar DataZoomModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(DataZoomModel, _super);\n\n  function DataZoomModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = DataZoomModel.type;\n    _this._autoThrottle = true;\n    _this._noTarget = true;\n    /**\n     * It is `[rangeModeForMin, rangeModeForMax]`.\n     * The optional values for `rangeMode`:\n     * + `'value'` mode: the axis extent will always be determined by\n     *     `dataZoom.startValue` and `dataZoom.endValue`, despite\n     *     how data like and how `axis.min` and `axis.max` are.\n     * + `'percent'` mode: `100` represents 100% of the `[dMin, dMax]`,\n     *     where `dMin` is `axis.min` if `axis.min` specified, otherwise `data.extent[0]`,\n     *     and `dMax` is `axis.max` if `axis.max` specified, otherwise `data.extent[1]`.\n     *     Axis extent will be determined by the result of the percent of `[dMin, dMax]`.\n     *\n     * For example, when users are using dynamic data (update data periodically via `setOption`),\n     * if in `'value`' mode, the window will be kept in a fixed value range despite how\n     * data are appended, while if in `'percent'` mode, whe window range will be changed alone with\n     * the appended data (suppose `axis.min` and `axis.max` are not specified).\n     */\n\n    _this._rangePropMode = ['percent', 'percent'];\n    return _this;\n  }\n\n  DataZoomModel.prototype.init = function (option, parentModel, ecModel) {\n    var inputRawOption = retrieveRawOption(option);\n    /**\n     * Suppose a \"main process\" start at the point that model prepared (that is,\n     * model initialized or merged or method called in `action`).\n     * We should keep the `main process` idempotent, that is, given a set of values\n     * on `option`, we get the same result.\n     *\n     * But sometimes, values on `option` will be updated for providing users\n     * a \"final calculated value\" (`dataZoomProcessor` will do that). Those value\n     * should not be the base/input of the `main process`.\n     *\n     * So in that case we should save and keep the input of the `main process`\n     * separately, called `settledOption`.\n     *\n     * For example, consider the case:\n     * (Step_1) brush zoom the grid by `toolbox.dataZoom`,\n     *     where the original input `option.startValue`, `option.endValue` are earsed by\n     *     calculated value.\n     * (Step)2) click the legend to hide and show a series,\n     *     where the new range is calculated by the earsed `startValue` and `endValue`,\n     *     which brings incorrect result.\n     */\n\n    this.settledOption = inputRawOption;\n    this.mergeDefaultAndTheme(option, ecModel);\n\n    this._doInit(inputRawOption);\n  };\n\n  DataZoomModel.prototype.mergeOption = function (newOption) {\n    var inputRawOption = retrieveRawOption(newOption); //FIX #2591\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(this.option, newOption, true);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(this.settledOption, inputRawOption, true);\n\n    this._doInit(inputRawOption);\n  };\n\n  DataZoomModel.prototype._doInit = function (inputRawOption) {\n    var thisOption = this.option;\n\n    this._setDefaultThrottle(inputRawOption);\n\n    this._updateRangeUse(inputRawOption);\n\n    var settledOption = this.settledOption;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])([['start', 'startValue'], ['end', 'endValue']], function (names, index) {\n      // start/end has higher priority over startValue/endValue if they\n      // both set, but we should make chart.setOption({endValue: 1000})\n      // effective, rather than chart.setOption({endValue: 1000, end: null}).\n      if (this._rangePropMode[index] === 'value') {\n        thisOption[names[0]] = settledOption[names[0]] = null;\n      } // Otherwise do nothing and use the merge result.\n\n    }, this);\n\n    this._resetTarget();\n  };\n\n  DataZoomModel.prototype._resetTarget = function () {\n    var optionOrient = this.get('orient', true);\n    var targetAxisIndexMap = this._targetAxisInfoMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n\n    var hasAxisSpecified = this._fillSpecifiedTargetAxis(targetAxisIndexMap);\n\n    if (hasAxisSpecified) {\n      this._orient = optionOrient || this._makeAutoOrientByTargetAxis();\n    } else {\n      this._orient = optionOrient || 'horizontal';\n\n      this._fillAutoTargetAxisByOrient(targetAxisIndexMap, this._orient);\n    }\n\n    this._noTarget = true;\n    targetAxisIndexMap.each(function (axisInfo) {\n      if (axisInfo.indexList.length) {\n        this._noTarget = false;\n      }\n    }, this);\n  };\n\n  DataZoomModel.prototype._fillSpecifiedTargetAxis = function (targetAxisIndexMap) {\n    var hasAxisSpecified = false;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"DATA_ZOOM_AXIS_DIMENSIONS\"], function (axisDim) {\n      var refering = this.getReferringComponents(Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getAxisMainType\"])(axisDim), _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"MULTIPLE_REFERRING\"]); // When user set axisIndex as a empty array, we think that user specify axisIndex\n      // but do not want use auto mode. Because empty array may be encountered when\n      // some error occured.\n\n      if (!refering.specified) {\n        return;\n      }\n\n      hasAxisSpecified = true;\n      var axisInfo = new DataZoomAxisInfo();\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(refering.models, function (axisModel) {\n        axisInfo.add(axisModel.componentIndex);\n      });\n      targetAxisIndexMap.set(axisDim, axisInfo);\n    }, this);\n    return hasAxisSpecified;\n  };\n\n  DataZoomModel.prototype._fillAutoTargetAxisByOrient = function (targetAxisIndexMap, orient) {\n    var ecModel = this.ecModel;\n    var needAuto = true; // Find axis that parallel to dataZoom as default.\n\n    if (needAuto) {\n      var axisDim = orient === 'vertical' ? 'y' : 'x';\n      var axisModels = ecModel.findComponents({\n        mainType: axisDim + 'Axis'\n      });\n      setParallelAxis(axisModels, axisDim);\n    } // Find axis that parallel to dataZoom as default.\n\n\n    if (needAuto) {\n      var axisModels = ecModel.findComponents({\n        mainType: 'singleAxis',\n        filter: function (axisModel) {\n          return axisModel.get('orient', true) === orient;\n        }\n      });\n      setParallelAxis(axisModels, 'single');\n    }\n\n    function setParallelAxis(axisModels, axisDim) {\n      // At least use the first parallel axis as the target axis.\n      var axisModel = axisModels[0];\n\n      if (!axisModel) {\n        return;\n      }\n\n      var axisInfo = new DataZoomAxisInfo();\n      axisInfo.add(axisModel.componentIndex);\n      targetAxisIndexMap.set(axisDim, axisInfo);\n      needAuto = false; // Find parallel axes in the same grid.\n\n      if (axisDim === 'x' || axisDim === 'y') {\n        var gridModel_1 = axisModel.getReferringComponents('grid', _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"SINGLE_REFERRING\"]).models[0];\n        gridModel_1 && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(axisModels, function (axModel) {\n          if (axisModel.componentIndex !== axModel.componentIndex && gridModel_1 === axModel.getReferringComponents('grid', _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"SINGLE_REFERRING\"]).models[0]) {\n            axisInfo.add(axModel.componentIndex);\n          }\n        });\n      }\n    }\n\n    if (needAuto) {\n      // If no parallel axis, find the first category axis as default. (Also consider polar).\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"DATA_ZOOM_AXIS_DIMENSIONS\"], function (axisDim) {\n        if (!needAuto) {\n          return;\n        }\n\n        var axisModels = ecModel.findComponents({\n          mainType: Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getAxisMainType\"])(axisDim),\n          filter: function (axisModel) {\n            return axisModel.get('type', true) === 'category';\n          }\n        });\n\n        if (axisModels[0]) {\n          var axisInfo = new DataZoomAxisInfo();\n          axisInfo.add(axisModels[0].componentIndex);\n          targetAxisIndexMap.set(axisDim, axisInfo);\n          needAuto = false;\n        }\n      }, this);\n    }\n  };\n\n  DataZoomModel.prototype._makeAutoOrientByTargetAxis = function () {\n    var dim; // Find the first axis\n\n    this.eachTargetAxis(function (axisDim) {\n      !dim && (dim = axisDim);\n    }, this);\n    return dim === 'y' ? 'vertical' : 'horizontal';\n  };\n\n  DataZoomModel.prototype._setDefaultThrottle = function (inputRawOption) {\n    // When first time user set throttle, auto throttle ends.\n    if (inputRawOption.hasOwnProperty('throttle')) {\n      this._autoThrottle = false;\n    }\n\n    if (this._autoThrottle) {\n      var globalOption = this.ecModel.option;\n      this.option.throttle = globalOption.animation && globalOption.animationDurationUpdate > 0 ? 100 : 20;\n    }\n  };\n\n  DataZoomModel.prototype._updateRangeUse = function (inputRawOption) {\n    var rangePropMode = this._rangePropMode;\n    var rangeModeInOption = this.get('rangeMode');\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])([['start', 'startValue'], ['end', 'endValue']], function (names, index) {\n      var percentSpecified = inputRawOption[names[0]] != null;\n      var valueSpecified = inputRawOption[names[1]] != null;\n\n      if (percentSpecified && !valueSpecified) {\n        rangePropMode[index] = 'percent';\n      } else if (!percentSpecified && valueSpecified) {\n        rangePropMode[index] = 'value';\n      } else if (rangeModeInOption) {\n        rangePropMode[index] = rangeModeInOption[index];\n      } else if (percentSpecified) {\n        // percentSpecified && valueSpecified\n        rangePropMode[index] = 'percent';\n      } // else remain its original setting.\n\n    });\n  };\n\n  DataZoomModel.prototype.noTarget = function () {\n    return this._noTarget;\n  };\n\n  DataZoomModel.prototype.getFirstTargetAxisModel = function () {\n    var firstAxisModel;\n    this.eachTargetAxis(function (axisDim, axisIndex) {\n      if (firstAxisModel == null) {\n        firstAxisModel = this.ecModel.getComponent(Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getAxisMainType\"])(axisDim), axisIndex);\n      }\n    }, this);\n    return firstAxisModel;\n  };\n  /**\n   * @param {Function} callback param: axisModel, dimNames, axisIndex, dataZoomModel, ecModel\n   */\n\n\n  DataZoomModel.prototype.eachTargetAxis = function (callback, context) {\n    this._targetAxisInfoMap.each(function (axisInfo, axisDim) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(axisInfo.indexList, function (axisIndex) {\n        callback.call(context, axisDim, axisIndex);\n      });\n    });\n  };\n  /**\n   * @return If not found, return null/undefined.\n   */\n\n\n  DataZoomModel.prototype.getAxisProxy = function (axisDim, axisIndex) {\n    var axisModel = this.getAxisModel(axisDim, axisIndex);\n\n    if (axisModel) {\n      return axisModel.__dzAxisProxy;\n    }\n  };\n  /**\n   * @return If not found, return null/undefined.\n   */\n\n\n  DataZoomModel.prototype.getAxisModel = function (axisDim, axisIndex) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(axisDim && axisIndex != null);\n    }\n\n    var axisInfo = this._targetAxisInfoMap.get(axisDim);\n\n    if (axisInfo && axisInfo.indexMap[axisIndex]) {\n      return this.ecModel.getComponent(Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getAxisMainType\"])(axisDim), axisIndex);\n    }\n  };\n  /**\n   * If not specified, set to undefined.\n   */\n\n\n  DataZoomModel.prototype.setRawRange = function (opt) {\n    var thisOption = this.option;\n    var settledOption = this.settledOption;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])([['start', 'startValue'], ['end', 'endValue']], function (names) {\n      // Consider the pair <start, startValue>:\n      // If one has value and the other one is `null/undefined`, we both set them\n      // to `settledOption`. This strategy enables the feature to clear the original\n      // value in `settledOption` to `null/undefined`.\n      // But if both of them are `null/undefined`, we do not set them to `settledOption`\n      // and keep `settledOption` with the original value. This strategy enables users to\n      // only set <end or endValue> but not set <start or startValue> when calling\n      // `dispatchAction`.\n      // The pair <end, endValue> is treated in the same way.\n      if (opt[names[0]] != null || opt[names[1]] != null) {\n        thisOption[names[0]] = settledOption[names[0]] = opt[names[0]];\n        thisOption[names[1]] = settledOption[names[1]] = opt[names[1]];\n      }\n    }, this);\n\n    this._updateRangeUse(opt);\n  };\n\n  DataZoomModel.prototype.setCalculatedRange = function (opt) {\n    var option = this.option;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(['start', 'startValue', 'end', 'endValue'], function (name) {\n      option[name] = opt[name];\n    });\n  };\n\n  DataZoomModel.prototype.getPercentRange = function () {\n    var axisProxy = this.findRepresentativeAxisProxy();\n\n    if (axisProxy) {\n      return axisProxy.getDataPercentWindow();\n    }\n  };\n  /**\n   * For example, chart.getModel().getComponent('dataZoom').getValueRange('y', 0);\n   *\n   * @return [startValue, endValue] value can only be '-' or finite number.\n   */\n\n\n  DataZoomModel.prototype.getValueRange = function (axisDim, axisIndex) {\n    if (axisDim == null && axisIndex == null) {\n      var axisProxy = this.findRepresentativeAxisProxy();\n\n      if (axisProxy) {\n        return axisProxy.getDataValueWindow();\n      }\n    } else {\n      return this.getAxisProxy(axisDim, axisIndex).getDataValueWindow();\n    }\n  };\n  /**\n   * @param axisModel If axisModel given, find axisProxy\n   *      corresponding to the axisModel\n   */\n\n\n  DataZoomModel.prototype.findRepresentativeAxisProxy = function (axisModel) {\n    if (axisModel) {\n      return axisModel.__dzAxisProxy;\n    } // Find the first hosted axisProxy\n\n\n    var firstProxy;\n\n    var axisDimList = this._targetAxisInfoMap.keys();\n\n    for (var i = 0; i < axisDimList.length; i++) {\n      var axisDim = axisDimList[i];\n\n      var axisInfo = this._targetAxisInfoMap.get(axisDim);\n\n      for (var j = 0; j < axisInfo.indexList.length; j++) {\n        var proxy = this.getAxisProxy(axisDim, axisInfo.indexList[j]);\n\n        if (proxy.hostedBy(this)) {\n          return proxy;\n        }\n\n        if (!firstProxy) {\n          firstProxy = proxy;\n        }\n      }\n    } // If no hosted proxy found, still need to return a proxy.\n    // This case always happens in toolbox dataZoom, where axes are all hosted by\n    // other dataZooms.\n\n\n    return firstProxy;\n  };\n\n  DataZoomModel.prototype.getRangePropMode = function () {\n    return this._rangePropMode.slice();\n  };\n\n  DataZoomModel.prototype.getOrient = function () {\n    if (true) {\n      // Should not be called before initialized.\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(this._orient);\n    }\n\n    return this._orient;\n  };\n\n  DataZoomModel.type = 'dataZoom';\n  DataZoomModel.dependencies = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'series', 'toolbox'];\n  DataZoomModel.defaultOption = {\n    // zlevel: 0,\n    z: 4,\n    filterMode: 'filter',\n    start: 0,\n    end: 100\n  };\n  return DataZoomModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n/**\n * Retrieve the those raw params from option, which will be cached separately.\n * becasue they will be overwritten by normalized/calculated values in the main\n * process.\n */\n\n\nfunction retrieveRawOption(option) {\n  var ret = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(['start', 'end', 'startValue', 'endValue', 'throttle'], function (name) {\n    option.hasOwnProperty(name) && (ret[name] = option[name]);\n  });\n  return ret;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataZoomModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/DataZoomView.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/DataZoomView.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar DataZoomView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(DataZoomView, _super);\n\n  function DataZoomView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = DataZoomView.type;\n    return _this;\n  }\n\n  DataZoomView.prototype.render = function (dataZoomModel, ecModel, api, payload) {\n    this.dataZoomModel = dataZoomModel;\n    this.ecModel = ecModel;\n    this.api = api;\n  };\n\n  DataZoomView.type = 'dataZoom';\n  return DataZoomView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataZoomView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataZoomModel.js */ \"./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar InsideZoomModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InsideZoomModel, _super);\n\n  function InsideZoomModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = InsideZoomModel.type;\n    return _this;\n  }\n\n  InsideZoomModel.type = 'dataZoom.inside';\n  InsideZoomModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_2__[\"inheritDefaultOption\"])(_DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultOption, {\n    disabled: false,\n    zoomLock: false,\n    zoomOnMouseWheel: true,\n    moveOnMouseMove: true,\n    moveOnMouseWheel: false,\n    preventDefaultMouseMove: true\n  });\n  return InsideZoomModel;\n}(_DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (InsideZoomModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DataZoomView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataZoomView.js */ \"./node_modules/echarts/lib/component/dataZoom/DataZoomView.js\");\n/* harmony import */ var _helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/sliderMove.js */ \"./node_modules/echarts/lib/component/helper/sliderMove.js\");\n/* harmony import */ var _roams_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./roams.js */ \"./node_modules/echarts/lib/component/dataZoom/roams.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar InsideZoomView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InsideZoomView, _super);\n\n  function InsideZoomView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'dataZoom.inside';\n    return _this;\n  }\n\n  InsideZoomView.prototype.render = function (dataZoomModel, ecModel, api) {\n    _super.prototype.render.apply(this, arguments);\n\n    if (dataZoomModel.noTarget()) {\n      this._clear();\n\n      return;\n    } // Hence the `throttle` util ensures to preserve command order,\n    // here simply updating range all the time will not cause missing\n    // any of the the roam change.\n\n\n    this.range = dataZoomModel.getPercentRange(); // Reset controllers.\n\n    _roams_js__WEBPACK_IMPORTED_MODULE_3__[\"setViewInfoToCoordSysRecord\"](api, dataZoomModel, {\n      pan: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(getRangeHandlers.pan, this),\n      zoom: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(getRangeHandlers.zoom, this),\n      scrollMove: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(getRangeHandlers.scrollMove, this)\n    });\n  };\n\n  InsideZoomView.prototype.dispose = function () {\n    this._clear();\n\n    _super.prototype.dispose.apply(this, arguments);\n  };\n\n  InsideZoomView.prototype._clear = function () {\n    _roams_js__WEBPACK_IMPORTED_MODULE_3__[\"disposeCoordSysRecordIfNeeded\"](this.api, this.dataZoomModel);\n    this.range = null;\n  };\n\n  InsideZoomView.type = 'dataZoom.inside';\n  return InsideZoomView;\n}(_DataZoomView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nvar getRangeHandlers = {\n  zoom: function (coordSysInfo, coordSysMainType, controller, e) {\n    var lastRange = this.range;\n    var range = lastRange.slice(); // Calculate transform by the first axis.\n\n    var axisModel = coordSysInfo.axisModels[0];\n\n    if (!axisModel) {\n      return;\n    }\n\n    var directionInfo = getDirectionInfo[coordSysMainType](null, [e.originX, e.originY], axisModel, controller, coordSysInfo);\n    var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range[1] - range[0]) + range[0];\n    var scale = Math.max(1 / e.scale, 0);\n    range[0] = (range[0] - percentPoint) * scale + percentPoint;\n    range[1] = (range[1] - percentPoint) * scale + percentPoint; // Restrict range.\n\n    var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n    Object(_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(0, range, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);\n    this.range = range;\n\n    if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n      return range;\n    }\n  },\n  pan: makeMover(function (range, axisModel, coordSysInfo, coordSysMainType, controller, e) {\n    var directionInfo = getDirectionInfo[coordSysMainType]([e.oldX, e.oldY], [e.newX, e.newY], axisModel, controller, coordSysInfo);\n    return directionInfo.signal * (range[1] - range[0]) * directionInfo.pixel / directionInfo.pixelLength;\n  }),\n  scrollMove: makeMover(function (range, axisModel, coordSysInfo, coordSysMainType, controller, e) {\n    var directionInfo = getDirectionInfo[coordSysMainType]([0, 0], [e.scrollDelta, e.scrollDelta], axisModel, controller, coordSysInfo);\n    return directionInfo.signal * (range[1] - range[0]) * e.scrollDelta;\n  })\n};\n\nfunction makeMover(getPercentDelta) {\n  return function (coordSysInfo, coordSysMainType, controller, e) {\n    var lastRange = this.range;\n    var range = lastRange.slice(); // Calculate transform by the first axis.\n\n    var axisModel = coordSysInfo.axisModels[0];\n\n    if (!axisModel) {\n      return;\n    }\n\n    var percentDelta = getPercentDelta(range, axisModel, coordSysInfo, coordSysMainType, controller, e);\n    Object(_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(percentDelta, range, [0, 100], 'all');\n    this.range = range;\n\n    if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n      return range;\n    }\n  };\n}\n\nvar getDirectionInfo = {\n  grid: function (oldPoint, newPoint, axisModel, controller, coordSysInfo) {\n    var axis = axisModel.axis;\n    var ret = {};\n    var rect = coordSysInfo.model.coordinateSystem.getRect();\n    oldPoint = oldPoint || [0, 0];\n\n    if (axis.dim === 'x') {\n      ret.pixel = newPoint[0] - oldPoint[0];\n      ret.pixelLength = rect.width;\n      ret.pixelStart = rect.x;\n      ret.signal = axis.inverse ? 1 : -1;\n    } else {\n      // axis.dim === 'y'\n      ret.pixel = newPoint[1] - oldPoint[1];\n      ret.pixelLength = rect.height;\n      ret.pixelStart = rect.y;\n      ret.signal = axis.inverse ? -1 : 1;\n    }\n\n    return ret;\n  },\n  polar: function (oldPoint, newPoint, axisModel, controller, coordSysInfo) {\n    var axis = axisModel.axis;\n    var ret = {};\n    var polar = coordSysInfo.model.coordinateSystem;\n    var radiusExtent = polar.getRadiusAxis().getExtent();\n    var angleExtent = polar.getAngleAxis().getExtent();\n    oldPoint = oldPoint ? polar.pointToCoord(oldPoint) : [0, 0];\n    newPoint = polar.pointToCoord(newPoint);\n\n    if (axisModel.mainType === 'radiusAxis') {\n      ret.pixel = newPoint[0] - oldPoint[0]; // ret.pixelLength = Math.abs(radiusExtent[1] - radiusExtent[0]);\n      // ret.pixelStart = Math.min(radiusExtent[0], radiusExtent[1]);\n\n      ret.pixelLength = radiusExtent[1] - radiusExtent[0];\n      ret.pixelStart = radiusExtent[0];\n      ret.signal = axis.inverse ? 1 : -1;\n    } else {\n      // 'angleAxis'\n      ret.pixel = newPoint[1] - oldPoint[1]; // ret.pixelLength = Math.abs(angleExtent[1] - angleExtent[0]);\n      // ret.pixelStart = Math.min(angleExtent[0], angleExtent[1]);\n\n      ret.pixelLength = angleExtent[1] - angleExtent[0];\n      ret.pixelStart = angleExtent[0];\n      ret.signal = axis.inverse ? -1 : 1;\n    }\n\n    return ret;\n  },\n  singleAxis: function (oldPoint, newPoint, axisModel, controller, coordSysInfo) {\n    var axis = axisModel.axis;\n    var rect = coordSysInfo.model.coordinateSystem.getRect();\n    var ret = {};\n    oldPoint = oldPoint || [0, 0];\n\n    if (axis.orient === 'horizontal') {\n      ret.pixel = newPoint[0] - oldPoint[0];\n      ret.pixelLength = rect.width;\n      ret.pixelStart = rect.x;\n      ret.signal = axis.inverse ? 1 : -1;\n    } else {\n      // 'vertical'\n      ret.pixel = newPoint[1] - oldPoint[1];\n      ret.pixelLength = rect.height;\n      ret.pixelStart = rect.y;\n      ret.signal = axis.inverse ? -1 : 1;\n    }\n\n    return ret;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (InsideZoomView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataZoomModel.js */ \"./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar SelectDataZoomModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SelectDataZoomModel, _super);\n\n  function SelectDataZoomModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SelectDataZoomModel.type;\n    return _this;\n  }\n\n  SelectDataZoomModel.type = 'dataZoom.select';\n  return SelectDataZoomModel;\n}(_DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SelectDataZoomModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DataZoomView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataZoomView.js */ \"./node_modules/echarts/lib/component/dataZoom/DataZoomView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar SelectDataZoomView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SelectDataZoomView, _super);\n\n  function SelectDataZoomView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SelectDataZoomView.type;\n    return _this;\n  }\n\n  SelectDataZoomView.type = 'dataZoom.select';\n  return SelectDataZoomView;\n}(_DataZoomView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SelectDataZoomView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataZoomModel.js */ \"./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar SliderZoomModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SliderZoomModel, _super);\n\n  function SliderZoomModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SliderZoomModel.type;\n    return _this;\n  }\n\n  SliderZoomModel.type = 'dataZoom.slider';\n  SliderZoomModel.layoutMode = 'box';\n  SliderZoomModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_2__[\"inheritDefaultOption\"])(_DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultOption, {\n    show: true,\n    // deault value can only be drived in view stage.\n    right: 'ph',\n    top: 'ph',\n    width: 'ph',\n    height: 'ph',\n    left: null,\n    bottom: null,\n    borderColor: '#d2dbee',\n    borderRadius: 3,\n    backgroundColor: 'rgba(47,69,84,0)',\n    // dataBackgroundColor: '#ddd',\n    dataBackground: {\n      lineStyle: {\n        color: '#d2dbee',\n        width: 0.5\n      },\n      areaStyle: {\n        color: '#d2dbee',\n        opacity: 0.2\n      }\n    },\n    selectedDataBackground: {\n      lineStyle: {\n        color: '#8fb0f7',\n        width: 0.5\n      },\n      areaStyle: {\n        color: '#8fb0f7',\n        opacity: 0.2\n      }\n    },\n    // Color of selected window.\n    fillerColor: 'rgba(135,175,274,0.2)',\n    handleIcon: 'path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z',\n    // Percent of the slider height\n    handleSize: '100%',\n    handleStyle: {\n      color: '#fff',\n      borderColor: '#ACB8D1'\n    },\n    moveHandleSize: 7,\n    moveHandleIcon: 'path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z',\n    moveHandleStyle: {\n      color: '#D2DBEE',\n      opacity: 0.7\n    },\n    showDetail: true,\n    showDataShadow: 'auto',\n    realtime: true,\n    zoomLock: false,\n    textStyle: {\n      color: '#6E7079'\n    },\n    brushSelect: true,\n    brushStyle: {\n      color: 'rgba(135,175,274,0.15)'\n    },\n    emphasis: {\n      handleStyle: {\n        borderColor: '#8FB0F7'\n      },\n      moveHandleStyle: {\n        color: '#8FB0F7'\n      }\n    }\n  });\n  return SliderZoomModel;\n}(_DataZoomModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SliderZoomModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony import */ var _DataZoomView_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DataZoomView.js */ \"./node_modules/echarts/lib/component/dataZoom/DataZoomView.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helper/sliderMove.js */ \"./node_modules/echarts/lib/component/helper/sliderMove.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/dataZoom/helper.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Rect = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]; // Constants\n\nvar DEFAULT_LOCATION_EDGE_GAP = 7;\nvar DEFAULT_FRAME_BORDER_WIDTH = 1;\nvar DEFAULT_FILLER_SIZE = 30;\nvar DEFAULT_MOVE_HANDLE_SIZE = 7;\nvar HORIZONTAL = 'horizontal';\nvar VERTICAL = 'vertical';\nvar LABEL_GAP = 5;\nvar SHOW_DATA_SHADOW_SERIES_TYPE = ['line', 'bar', 'candlestick', 'scatter'];\nvar REALTIME_ANIMATION_CONFIG = {\n  easing: 'cubicOut',\n  duration: 100,\n  delay: 0\n};\n\nvar SliderZoomView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SliderZoomView, _super);\n\n  function SliderZoomView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SliderZoomView.type;\n    _this._displayables = {};\n    return _this;\n  }\n\n  SliderZoomView.prototype.init = function (ecModel, api) {\n    this.api = api; // A unique handler for each dataZoom component\n\n    this._onBrush = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onBrush, this);\n    this._onBrushEnd = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onBrushEnd, this);\n  };\n\n  SliderZoomView.prototype.render = function (dataZoomModel, ecModel, api, payload) {\n    _super.prototype.render.apply(this, arguments);\n\n    _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__[\"createOrUpdate\"](this, '_dispatchZoomAction', dataZoomModel.get('throttle'), 'fixRate');\n    this._orient = dataZoomModel.getOrient();\n\n    if (dataZoomModel.get('show') === false) {\n      this.group.removeAll();\n      return;\n    }\n\n    if (dataZoomModel.noTarget()) {\n      this._clear();\n\n      this.group.removeAll();\n      return;\n    } // Notice: this._resetInterval() should not be executed when payload.type\n    // is 'dataZoom', origin this._range should be maintained, otherwise 'pan'\n    // or 'zoom' info will be missed because of 'throttle' of this.dispatchAction,\n\n\n    if (!payload || payload.type !== 'dataZoom' || payload.from !== this.uid) {\n      this._buildView();\n    }\n\n    this._updateView();\n  };\n\n  SliderZoomView.prototype.dispose = function () {\n    this._clear();\n\n    _super.prototype.dispose.apply(this, arguments);\n  };\n\n  SliderZoomView.prototype._clear = function () {\n    _util_throttle_js__WEBPACK_IMPORTED_MODULE_4__[\"clear\"](this, '_dispatchZoomAction');\n    var zr = this.api.getZr();\n    zr.off('mousemove', this._onBrush);\n    zr.off('mouseup', this._onBrushEnd);\n  };\n\n  SliderZoomView.prototype._buildView = function () {\n    var thisGroup = this.group;\n    thisGroup.removeAll();\n    this._brushing = false;\n    this._displayables.brushRect = null;\n\n    this._resetLocation();\n\n    this._resetInterval();\n\n    var barGroup = this._displayables.sliderGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n\n    this._renderBackground();\n\n    this._renderHandle();\n\n    this._renderDataShadow();\n\n    thisGroup.add(barGroup);\n\n    this._positionGroup();\n  };\n\n  SliderZoomView.prototype._resetLocation = function () {\n    var dataZoomModel = this.dataZoomModel;\n    var api = this.api;\n    var showMoveHandle = dataZoomModel.get('brushSelect');\n    var moveHandleSize = showMoveHandle ? DEFAULT_MOVE_HANDLE_SIZE : 0; // If some of x/y/width/height are not specified,\n    // auto-adapt according to target grid.\n\n    var coordRect = this._findCoordRect();\n\n    var ecSize = {\n      width: api.getWidth(),\n      height: api.getHeight()\n    }; // Default align by coordinate system rect.\n\n    var positionInfo = this._orient === HORIZONTAL ? {\n      // Why using 'right', because right should be used in vertical,\n      // and it is better to be consistent for dealing with position param merge.\n      right: ecSize.width - coordRect.x - coordRect.width,\n      top: ecSize.height - DEFAULT_FILLER_SIZE - DEFAULT_LOCATION_EDGE_GAP - moveHandleSize,\n      width: coordRect.width,\n      height: DEFAULT_FILLER_SIZE\n    } : {\n      right: DEFAULT_LOCATION_EDGE_GAP,\n      top: coordRect.y,\n      width: DEFAULT_FILLER_SIZE,\n      height: coordRect.height\n    }; // Do not write back to option and replace value 'ph', because\n    // the 'ph' value should be recalculated when resize.\n\n    var layoutParams = _util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"getLayoutParams\"](dataZoomModel.option); // Replace the placeholder value.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(['right', 'top', 'width', 'height'], function (name) {\n      if (layoutParams[name] === 'ph') {\n        layoutParams[name] = positionInfo[name];\n      }\n    });\n    var layoutRect = _util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"getLayoutRect\"](layoutParams, ecSize);\n    this._location = {\n      x: layoutRect.x,\n      y: layoutRect.y\n    };\n    this._size = [layoutRect.width, layoutRect.height];\n    this._orient === VERTICAL && this._size.reverse();\n  };\n\n  SliderZoomView.prototype._positionGroup = function () {\n    var thisGroup = this.group;\n    var location = this._location;\n    var orient = this._orient; // Just use the first axis to determine mapping.\n\n    var targetAxisModel = this.dataZoomModel.getFirstTargetAxisModel();\n    var inverse = targetAxisModel && targetAxisModel.get('inverse');\n    var sliderGroup = this._displayables.sliderGroup;\n    var otherAxisInverse = (this._dataShadowInfo || {}).otherAxisInverse; // Transform barGroup.\n\n    sliderGroup.attr(orient === HORIZONTAL && !inverse ? {\n      scaleY: otherAxisInverse ? 1 : -1,\n      scaleX: 1\n    } : orient === HORIZONTAL && inverse ? {\n      scaleY: otherAxisInverse ? 1 : -1,\n      scaleX: -1\n    } : orient === VERTICAL && !inverse ? {\n      scaleY: otherAxisInverse ? -1 : 1,\n      scaleX: 1,\n      rotation: Math.PI / 2\n    } // Dont use Math.PI, considering shadow direction.\n    : {\n      scaleY: otherAxisInverse ? -1 : 1,\n      scaleX: -1,\n      rotation: Math.PI / 2\n    }); // Position barGroup\n\n    var rect = thisGroup.getBoundingRect([sliderGroup]);\n    thisGroup.x = location.x - rect.x;\n    thisGroup.y = location.y - rect.y;\n    thisGroup.markRedraw();\n  };\n\n  SliderZoomView.prototype._getViewExtent = function () {\n    return [0, this._size[0]];\n  };\n\n  SliderZoomView.prototype._renderBackground = function () {\n    var dataZoomModel = this.dataZoomModel;\n    var size = this._size;\n    var barGroup = this._displayables.sliderGroup;\n    var brushSelect = dataZoomModel.get('brushSelect');\n    barGroup.add(new Rect({\n      silent: true,\n      shape: {\n        x: 0,\n        y: 0,\n        width: size[0],\n        height: size[1]\n      },\n      style: {\n        fill: dataZoomModel.get('backgroundColor')\n      },\n      z2: -40\n    })); // Click panel, over shadow, below handles.\n\n    var clickPanel = new Rect({\n      shape: {\n        x: 0,\n        y: 0,\n        width: size[0],\n        height: size[1]\n      },\n      style: {\n        fill: 'transparent'\n      },\n      z2: 0,\n      onclick: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onClickPanel, this)\n    });\n    var zr = this.api.getZr();\n\n    if (brushSelect) {\n      clickPanel.on('mousedown', this._onBrushStart, this);\n      clickPanel.cursor = 'crosshair';\n      zr.on('mousemove', this._onBrush);\n      zr.on('mouseup', this._onBrushEnd);\n    } else {\n      zr.off('mousemove', this._onBrush);\n      zr.off('mouseup', this._onBrushEnd);\n    }\n\n    barGroup.add(clickPanel);\n  };\n\n  SliderZoomView.prototype._renderDataShadow = function () {\n    var info = this._dataShadowInfo = this._prepareDataShadowInfo();\n\n    this._displayables.dataShadowSegs = [];\n\n    if (!info) {\n      return;\n    }\n\n    var size = this._size;\n    var oldSize = this._shadowSize || [];\n    var seriesModel = info.series;\n    var data = seriesModel.getRawData();\n    var candlestickDim = seriesModel.getShadowDim && seriesModel.getShadowDim();\n    var otherDim = candlestickDim && data.getDimensionInfo(candlestickDim) ? seriesModel.getShadowDim() // @see candlestick\n    : info.otherDim;\n\n    if (otherDim == null) {\n      return;\n    }\n\n    var polygonPts = this._shadowPolygonPts;\n    var polylinePts = this._shadowPolylinePts; // Not re-render if data doesn't change.\n\n    if (data !== this._shadowData || otherDim !== this._shadowDim || size[0] !== oldSize[0] || size[1] !== oldSize[1]) {\n      var otherDataExtent_1 = data.getDataExtent(otherDim); // Nice extent.\n\n      var otherOffset = (otherDataExtent_1[1] - otherDataExtent_1[0]) * 0.3;\n      otherDataExtent_1 = [otherDataExtent_1[0] - otherOffset, otherDataExtent_1[1] + otherOffset];\n      var otherShadowExtent_1 = [0, size[1]];\n      var thisShadowExtent = [0, size[0]];\n      var areaPoints_1 = [[size[0], 0], [0, 0]];\n      var linePoints_1 = [];\n      var step_1 = thisShadowExtent[1] / (data.count() - 1);\n      var thisCoord_1 = 0; // Optimize for large data shadow\n\n      var stride_1 = Math.round(data.count() / size[0]);\n      var lastIsEmpty_1;\n      data.each([otherDim], function (value, index) {\n        if (stride_1 > 0 && index % stride_1) {\n          thisCoord_1 += step_1;\n          return;\n        } // FIXME\n        // Should consider axis.min/axis.max when drawing dataShadow.\n        // FIXME\n        // 应该使用统一的空判断？还是在list里进行空判断？\n\n\n        var isEmpty = value == null || isNaN(value) || value === ''; // See #4235.\n\n        var otherCoord = isEmpty ? 0 : Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(value, otherDataExtent_1, otherShadowExtent_1, true); // Attempt to draw data shadow precisely when there are empty value.\n\n        if (isEmpty && !lastIsEmpty_1 && index) {\n          areaPoints_1.push([areaPoints_1[areaPoints_1.length - 1][0], 0]);\n          linePoints_1.push([linePoints_1[linePoints_1.length - 1][0], 0]);\n        } else if (!isEmpty && lastIsEmpty_1) {\n          areaPoints_1.push([thisCoord_1, 0]);\n          linePoints_1.push([thisCoord_1, 0]);\n        }\n\n        areaPoints_1.push([thisCoord_1, otherCoord]);\n        linePoints_1.push([thisCoord_1, otherCoord]);\n        thisCoord_1 += step_1;\n        lastIsEmpty_1 = isEmpty;\n      });\n      polygonPts = this._shadowPolygonPts = areaPoints_1;\n      polylinePts = this._shadowPolylinePts = linePoints_1;\n    }\n\n    this._shadowData = data;\n    this._shadowDim = otherDim;\n    this._shadowSize = [size[0], size[1]];\n    var dataZoomModel = this.dataZoomModel;\n\n    function createDataShadowGroup(isSelectedArea) {\n      var model = dataZoomModel.getModel(isSelectedArea ? 'selectedDataBackground' : 'dataBackground');\n      var group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n      var polygon = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Polygon\"]({\n        shape: {\n          points: polygonPts\n        },\n        segmentIgnoreThreshold: 1,\n        style: model.getModel('areaStyle').getAreaStyle(),\n        silent: true,\n        z2: -20\n      });\n      var polyline = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Polyline\"]({\n        shape: {\n          points: polylinePts\n        },\n        segmentIgnoreThreshold: 1,\n        style: model.getModel('lineStyle').getLineStyle(),\n        silent: true,\n        z2: -19\n      });\n      group.add(polygon);\n      group.add(polyline);\n      return group;\n    } // let dataBackgroundModel = dataZoomModel.getModel('dataBackground');\n\n\n    for (var i = 0; i < 3; i++) {\n      var group = createDataShadowGroup(i === 1);\n\n      this._displayables.sliderGroup.add(group);\n\n      this._displayables.dataShadowSegs.push(group);\n    }\n  };\n\n  SliderZoomView.prototype._prepareDataShadowInfo = function () {\n    var dataZoomModel = this.dataZoomModel;\n    var showDataShadow = dataZoomModel.get('showDataShadow');\n\n    if (showDataShadow === false) {\n      return;\n    } // Find a representative series.\n\n\n    var result;\n    var ecModel = this.ecModel;\n    dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n      var seriesModels = dataZoomModel.getAxisProxy(axisDim, axisIndex).getTargetSeriesModels();\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(seriesModels, function (seriesModel) {\n        if (result) {\n          return;\n        }\n\n        if (showDataShadow !== true && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(SHOW_DATA_SHADOW_SERIES_TYPE, seriesModel.get('type')) < 0) {\n          return;\n        }\n\n        var thisAxis = ecModel.getComponent(Object(_helper_js__WEBPACK_IMPORTED_MODULE_9__[\"getAxisMainType\"])(axisDim), axisIndex).axis;\n        var otherDim = getOtherDim(axisDim);\n        var otherAxisInverse;\n        var coordSys = seriesModel.coordinateSystem;\n\n        if (otherDim != null && coordSys.getOtherAxis) {\n          otherAxisInverse = coordSys.getOtherAxis(thisAxis).inverse;\n        }\n\n        otherDim = seriesModel.getData().mapDimension(otherDim);\n        result = {\n          thisAxis: thisAxis,\n          series: seriesModel,\n          thisDim: axisDim,\n          otherDim: otherDim,\n          otherAxisInverse: otherAxisInverse\n        };\n      }, this);\n    }, this);\n    return result;\n  };\n\n  SliderZoomView.prototype._renderHandle = function () {\n    var thisGroup = this.group;\n    var displayables = this._displayables;\n    var handles = displayables.handles = [null, null];\n    var handleLabels = displayables.handleLabels = [null, null];\n    var sliderGroup = this._displayables.sliderGroup;\n    var size = this._size;\n    var dataZoomModel = this.dataZoomModel;\n    var api = this.api;\n    var borderRadius = dataZoomModel.get('borderRadius') || 0;\n    var brushSelect = dataZoomModel.get('brushSelect');\n    var filler = displayables.filler = new Rect({\n      silent: brushSelect,\n      style: {\n        fill: dataZoomModel.get('fillerColor')\n      },\n      textConfig: {\n        position: 'inside'\n      }\n    });\n    sliderGroup.add(filler); // Frame border.\n\n    sliderGroup.add(new Rect({\n      silent: true,\n      subPixelOptimize: true,\n      shape: {\n        x: 0,\n        y: 0,\n        width: size[0],\n        height: size[1],\n        r: borderRadius\n      },\n      style: {\n        // deprecated option\n        stroke: dataZoomModel.get('dataBackgroundColor') || dataZoomModel.get('borderColor'),\n        lineWidth: DEFAULT_FRAME_BORDER_WIDTH,\n        fill: 'rgba(0,0,0,0)'\n      }\n    })); // Left and right handle to resize\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])([0, 1], function (handleIndex) {\n      var iconStr = dataZoomModel.get('handleIcon');\n\n      if (!_util_symbol_js__WEBPACK_IMPORTED_MODULE_11__[\"symbolBuildProxies\"][iconStr] && iconStr.indexOf('path://') < 0 && iconStr.indexOf('image://') < 0) {\n        // Compatitable with the old icon parsers. Which can use a path string without path://\n        iconStr = 'path://' + iconStr;\n\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_12__[\"deprecateLog\"])('handleIcon now needs \\'path://\\' prefix when using a path string');\n        }\n      }\n\n      var path = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_11__[\"createSymbol\"])(iconStr, -1, 0, 2, 2, null, true);\n      path.attr({\n        cursor: getCursor(this._orient),\n        draggable: true,\n        drift: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onDragMove, this, handleIndex),\n        ondragend: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onDragEnd, this),\n        onmouseover: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._showDataInfo, this, true),\n        onmouseout: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._showDataInfo, this, false),\n        z2: 5\n      });\n      var bRect = path.getBoundingRect();\n      var handleSize = dataZoomModel.get('handleSize');\n      this._handleHeight = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(handleSize, this._size[1]);\n      this._handleWidth = bRect.width / bRect.height * this._handleHeight;\n      path.setStyle(dataZoomModel.getModel('handleStyle').getItemStyle());\n      path.style.strokeNoScale = true;\n      path.rectHover = true;\n      path.ensureState('emphasis').style = dataZoomModel.getModel(['emphasis', 'handleStyle']).getItemStyle();\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_10__[\"enableHoverEmphasis\"])(path);\n      var handleColor = dataZoomModel.get('handleColor'); // deprecated option\n      // Compatitable with previous version\n\n      if (handleColor != null) {\n        path.style.fill = handleColor;\n      }\n\n      sliderGroup.add(handles[handleIndex] = path);\n      var textStyleModel = dataZoomModel.getModel('textStyle');\n      thisGroup.add(handleLabels[handleIndex] = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Text\"]({\n        silent: true,\n        invisible: true,\n        style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__[\"createTextStyle\"])(textStyleModel, {\n          x: 0,\n          y: 0,\n          text: '',\n          verticalAlign: 'middle',\n          align: 'center',\n          fill: textStyleModel.getTextColor(),\n          font: textStyleModel.getFont()\n        }),\n        z2: 10\n      }));\n    }, this); // Handle to move. Only visible when brushSelect is set true.\n\n    var actualMoveZone = filler;\n\n    if (brushSelect) {\n      var moveHandleHeight = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(dataZoomModel.get('moveHandleSize'), size[1]);\n      var moveHandle_1 = displayables.moveHandle = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]({\n        style: dataZoomModel.getModel('moveHandleStyle').getItemStyle(),\n        silent: true,\n        shape: {\n          r: [0, 0, 2, 2],\n          y: size[1] - 0.5,\n          height: moveHandleHeight\n        }\n      });\n      var iconSize = moveHandleHeight * 0.8;\n      var moveHandleIcon = displayables.moveHandleIcon = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_11__[\"createSymbol\"])(dataZoomModel.get('moveHandleIcon'), -iconSize / 2, -iconSize / 2, iconSize, iconSize, '#fff', true);\n      moveHandleIcon.silent = true;\n      moveHandleIcon.y = size[1] + moveHandleHeight / 2 - 0.5;\n      moveHandle_1.ensureState('emphasis').style = dataZoomModel.getModel(['emphasis', 'moveHandleStyle']).getItemStyle();\n      var moveZoneExpandSize = Math.min(size[1] / 2, Math.max(moveHandleHeight, 10));\n      actualMoveZone = displayables.moveZone = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]({\n        invisible: true,\n        shape: {\n          y: size[1] - moveZoneExpandSize,\n          height: moveHandleHeight + moveZoneExpandSize\n        }\n      });\n      actualMoveZone.on('mouseover', function () {\n        api.enterEmphasis(moveHandle_1);\n      }).on('mouseout', function () {\n        api.leaveEmphasis(moveHandle_1);\n      });\n      sliderGroup.add(moveHandle_1);\n      sliderGroup.add(moveHandleIcon);\n      sliderGroup.add(actualMoveZone);\n    }\n\n    actualMoveZone.attr({\n      draggable: true,\n      cursor: getCursor(this._orient),\n      drift: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onDragMove, this, 'all'),\n      ondragstart: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._showDataInfo, this, true),\n      ondragend: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._onDragEnd, this),\n      onmouseover: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._showDataInfo, this, true),\n      onmouseout: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(this._showDataInfo, this, false)\n    });\n  };\n\n  SliderZoomView.prototype._resetInterval = function () {\n    var range = this._range = this.dataZoomModel.getPercentRange();\n\n    var viewExtent = this._getViewExtent();\n\n    this._handleEnds = [Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(range[0], [0, 100], viewExtent, true), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(range[1], [0, 100], viewExtent, true)];\n  };\n\n  SliderZoomView.prototype._updateInterval = function (handleIndex, delta) {\n    var dataZoomModel = this.dataZoomModel;\n    var handleEnds = this._handleEnds;\n\n    var viewExtend = this._getViewExtent();\n\n    var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n    var percentExtent = [0, 100];\n    Object(_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(delta, handleEnds, viewExtend, dataZoomModel.get('zoomLock') ? 'all' : handleIndex, minMaxSpan.minSpan != null ? Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null, minMaxSpan.maxSpan != null ? Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null);\n    var lastRange = this._range;\n    var range = this._range = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"asc\"])([Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(handleEnds[0], viewExtend, percentExtent, true), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(handleEnds[1], viewExtend, percentExtent, true)]);\n    return !lastRange || lastRange[0] !== range[0] || lastRange[1] !== range[1];\n  };\n\n  SliderZoomView.prototype._updateView = function (nonRealtime) {\n    var displaybles = this._displayables;\n    var handleEnds = this._handleEnds;\n    var handleInterval = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"asc\"])(handleEnds.slice());\n    var size = this._size;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])([0, 1], function (handleIndex) {\n      // Handles\n      var handle = displaybles.handles[handleIndex];\n      var handleHeight = this._handleHeight;\n      handle.attr({\n        scaleX: handleHeight / 2,\n        scaleY: handleHeight / 2,\n        // This is a trick, by adding an extra tiny offset to let the default handle's end point align to the drag window.\n        // NOTE: It may affect some custom shapes a bit. But we prefer to have better result by default.\n        x: handleEnds[handleIndex] + (handleIndex ? -1 : 1),\n        y: size[1] / 2 - handleHeight / 2\n      });\n    }, this); // Filler\n\n    displaybles.filler.setShape({\n      x: handleInterval[0],\n      y: 0,\n      width: handleInterval[1] - handleInterval[0],\n      height: size[1]\n    });\n    var viewExtent = {\n      x: handleInterval[0],\n      width: handleInterval[1] - handleInterval[0]\n    }; // Move handle\n\n    if (displaybles.moveHandle) {\n      displaybles.moveHandle.setShape(viewExtent);\n      displaybles.moveZone.setShape(viewExtent); // Force update path on the invisible object\n\n      displaybles.moveZone.getBoundingRect();\n      displaybles.moveHandleIcon && displaybles.moveHandleIcon.attr('x', viewExtent.x + viewExtent.width / 2);\n    } // update clip path of shadow.\n\n\n    var dataShadowSegs = displaybles.dataShadowSegs;\n    var segIntervals = [0, handleInterval[0], handleInterval[1], size[0]];\n\n    for (var i = 0; i < dataShadowSegs.length; i++) {\n      var segGroup = dataShadowSegs[i];\n      var clipPath = segGroup.getClipPath();\n\n      if (!clipPath) {\n        clipPath = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]();\n        segGroup.setClipPath(clipPath);\n      }\n\n      clipPath.setShape({\n        x: segIntervals[i],\n        y: 0,\n        width: segIntervals[i + 1] - segIntervals[i],\n        height: size[1]\n      });\n    }\n\n    this._updateDataInfo(nonRealtime);\n  };\n\n  SliderZoomView.prototype._updateDataInfo = function (nonRealtime) {\n    var dataZoomModel = this.dataZoomModel;\n    var displaybles = this._displayables;\n    var handleLabels = displaybles.handleLabels;\n    var orient = this._orient;\n    var labelTexts = ['', '']; // FIXME\n    // date型，支持formatter，autoformatter（ec2 date.getAutoFormatter）\n\n    if (dataZoomModel.get('showDetail')) {\n      var axisProxy = dataZoomModel.findRepresentativeAxisProxy();\n\n      if (axisProxy) {\n        var axis = axisProxy.getAxisModel().axis;\n        var range = this._range;\n        var dataInterval = nonRealtime // See #4434, data and axis are not processed and reset yet in non-realtime mode.\n        ? axisProxy.calculateDataWindow({\n          start: range[0],\n          end: range[1]\n        }).valueWindow : axisProxy.getDataValueWindow();\n        labelTexts = [this._formatLabel(dataInterval[0], axis), this._formatLabel(dataInterval[1], axis)];\n      }\n    }\n\n    var orderedHandleEnds = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"asc\"])(this._handleEnds.slice());\n    setLabel.call(this, 0);\n    setLabel.call(this, 1);\n\n    function setLabel(handleIndex) {\n      // Label\n      // Text should not transform by barGroup.\n      // Ignore handlers transform\n      var barTransform = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"getTransform\"](displaybles.handles[handleIndex].parent, this.group);\n      var direction = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"transformDirection\"](handleIndex === 0 ? 'right' : 'left', barTransform);\n      var offset = this._handleWidth / 2 + LABEL_GAP;\n      var textPoint = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"applyTransform\"]([orderedHandleEnds[handleIndex] + (handleIndex === 0 ? -offset : offset), this._size[1] / 2], barTransform);\n      handleLabels[handleIndex].setStyle({\n        x: textPoint[0],\n        y: textPoint[1],\n        verticalAlign: orient === HORIZONTAL ? 'middle' : direction,\n        align: orient === HORIZONTAL ? direction : 'center',\n        text: labelTexts[handleIndex]\n      });\n    }\n  };\n\n  SliderZoomView.prototype._formatLabel = function (value, axis) {\n    var dataZoomModel = this.dataZoomModel;\n    var labelFormatter = dataZoomModel.get('labelFormatter');\n    var labelPrecision = dataZoomModel.get('labelPrecision');\n\n    if (labelPrecision == null || labelPrecision === 'auto') {\n      labelPrecision = axis.getPixelPrecision();\n    }\n\n    var valueStr = value == null || isNaN(value) ? '' // FIXME Glue code\n    : axis.type === 'category' || axis.type === 'time' ? axis.scale.getLabel({\n      value: Math.round(value)\n    }) // param of toFixed should less then 20.\n    : value.toFixed(Math.min(labelPrecision, 20));\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(labelFormatter) ? labelFormatter(value, valueStr) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(labelFormatter) ? labelFormatter.replace('{value}', valueStr) : valueStr;\n  };\n  /**\n   * @param showOrHide true: show, false: hide\n   */\n\n\n  SliderZoomView.prototype._showDataInfo = function (showOrHide) {\n    // Always show when drgging.\n    showOrHide = this._dragging || showOrHide;\n    var displayables = this._displayables;\n    var handleLabels = displayables.handleLabels;\n    handleLabels[0].attr('invisible', !showOrHide);\n    handleLabels[1].attr('invisible', !showOrHide); // Highlight move handle\n\n    displayables.moveHandle && this.api[showOrHide ? 'enterEmphasis' : 'leaveEmphasis'](displayables.moveHandle, 1);\n  };\n\n  SliderZoomView.prototype._onDragMove = function (handleIndex, dx, dy, event) {\n    this._dragging = true; // For mobile device, prevent screen slider on the button.\n\n    zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__[\"stop\"](event.event); // Transform dx, dy to bar coordination.\n\n    var barTransform = this._displayables.sliderGroup.getLocalTransform();\n\n    var vertex = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"applyTransform\"]([dx, dy], barTransform, true);\n\n    var changed = this._updateInterval(handleIndex, vertex[0]);\n\n    var realtime = this.dataZoomModel.get('realtime');\n\n    this._updateView(!realtime); // Avoid dispatch dataZoom repeatly but range not changed,\n    // which cause bad visual effect when progressive enabled.\n\n\n    changed && realtime && this._dispatchZoomAction(true);\n  };\n\n  SliderZoomView.prototype._onDragEnd = function () {\n    this._dragging = false;\n\n    this._showDataInfo(false); // While in realtime mode and stream mode, dispatch action when\n    // drag end will cause the whole view rerender, which is unnecessary.\n\n\n    var realtime = this.dataZoomModel.get('realtime');\n    !realtime && this._dispatchZoomAction(false);\n  };\n\n  SliderZoomView.prototype._onClickPanel = function (e) {\n    var size = this._size;\n\n    var localPoint = this._displayables.sliderGroup.transformCoordToLocal(e.offsetX, e.offsetY);\n\n    if (localPoint[0] < 0 || localPoint[0] > size[0] || localPoint[1] < 0 || localPoint[1] > size[1]) {\n      return;\n    }\n\n    var handleEnds = this._handleEnds;\n    var center = (handleEnds[0] + handleEnds[1]) / 2;\n\n    var changed = this._updateInterval('all', localPoint[0] - center);\n\n    this._updateView();\n\n    changed && this._dispatchZoomAction(false);\n  };\n\n  SliderZoomView.prototype._onBrushStart = function (e) {\n    var x = e.offsetX;\n    var y = e.offsetY;\n    this._brushStart = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Point\"](x, y);\n    this._brushing = true;\n    this._brushStartTime = +new Date(); // this._updateBrushRect(x, y);\n  };\n\n  SliderZoomView.prototype._onBrushEnd = function (e) {\n    if (!this._brushing) {\n      return;\n    }\n\n    var brushRect = this._displayables.brushRect;\n    this._brushing = false;\n\n    if (!brushRect) {\n      return;\n    }\n\n    brushRect.attr('ignore', true);\n    var brushShape = brushRect.shape;\n    var brushEndTime = +new Date(); // console.log(brushEndTime - this._brushStartTime);\n\n    if (brushEndTime - this._brushStartTime < 200 && Math.abs(brushShape.width) < 5) {\n      // Will treat it as a click\n      return;\n    }\n\n    var viewExtend = this._getViewExtent();\n\n    var percentExtent = [0, 100];\n    this._range = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"asc\"])([Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(brushShape.x, viewExtend, percentExtent, true), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"])(brushShape.x + brushShape.width, viewExtend, percentExtent, true)]);\n    this._handleEnds = [brushShape.x, brushShape.x + brushShape.width];\n\n    this._updateView();\n\n    this._dispatchZoomAction(false);\n  };\n\n  SliderZoomView.prototype._onBrush = function (e) {\n    if (this._brushing) {\n      // For mobile device, prevent screen slider on the button.\n      zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__[\"stop\"](e.event);\n\n      this._updateBrushRect(e.offsetX, e.offsetY);\n    }\n  };\n\n  SliderZoomView.prototype._updateBrushRect = function (mouseX, mouseY) {\n    var displayables = this._displayables;\n    var dataZoomModel = this.dataZoomModel;\n    var brushRect = displayables.brushRect;\n\n    if (!brushRect) {\n      brushRect = displayables.brushRect = new Rect({\n        silent: true,\n        style: dataZoomModel.getModel('brushStyle').getItemStyle()\n      });\n      displayables.sliderGroup.add(brushRect);\n    }\n\n    brushRect.attr('ignore', false);\n    var brushStart = this._brushStart;\n    var sliderGroup = this._displayables.sliderGroup;\n    var endPoint = sliderGroup.transformCoordToLocal(mouseX, mouseY);\n    var startPoint = sliderGroup.transformCoordToLocal(brushStart.x, brushStart.y);\n    var size = this._size;\n    endPoint[0] = Math.max(Math.min(size[0], endPoint[0]), 0);\n    brushRect.setShape({\n      x: startPoint[0],\n      y: 0,\n      width: endPoint[0] - startPoint[0],\n      height: size[1]\n    });\n  };\n  /**\n   * This action will be throttled.\n   */\n\n\n  SliderZoomView.prototype._dispatchZoomAction = function (realtime) {\n    var range = this._range;\n    this.api.dispatchAction({\n      type: 'dataZoom',\n      from: this.uid,\n      dataZoomId: this.dataZoomModel.id,\n      animation: realtime ? REALTIME_ANIMATION_CONFIG : null,\n      start: range[0],\n      end: range[1]\n    });\n  };\n\n  SliderZoomView.prototype._findCoordRect = function () {\n    // Find the grid coresponding to the first axis referred by dataZoom.\n    var rect;\n    var coordSysInfoList = Object(_helper_js__WEBPACK_IMPORTED_MODULE_9__[\"collectReferCoordSysModelInfo\"])(this.dataZoomModel).infoList;\n\n    if (!rect && coordSysInfoList.length) {\n      var coordSys = coordSysInfoList[0].model.coordinateSystem;\n      rect = coordSys.getRect && coordSys.getRect();\n    }\n\n    if (!rect) {\n      var width = this.api.getWidth();\n      var height = this.api.getHeight();\n      rect = {\n        x: width * 0.2,\n        y: height * 0.2,\n        width: width * 0.6,\n        height: height * 0.6\n      };\n    }\n\n    return rect;\n  };\n\n  SliderZoomView.type = 'dataZoom.slider';\n  return SliderZoomView;\n}(_DataZoomView_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nfunction getOtherDim(thisDim) {\n  // FIXME\n  // 这个逻辑和getOtherAxis里一致，但是写在这里是否不好\n  var map = {\n    x: 'y',\n    y: 'x',\n    radius: 'angle',\n    angle: 'radius'\n  };\n  return map[thisDim];\n}\n\nfunction getCursor(orient) {\n  return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SliderZoomView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return installDataZoomAction; });\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/dataZoom/helper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction installDataZoomAction(registers) {\n  registers.registerAction('dataZoom', function (payload, ecModel) {\n    var effectedModels = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"findEffectedDataZooms\"])(ecModel, payload);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(effectedModels, function (dataZoomModel) {\n      dataZoomModel.setRawRange({\n        start: payload.start,\n        end: payload.end,\n        startValue: payload.startValue,\n        endValue: payload.endValue\n      });\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/dataZoom/helper.js\");\n/* harmony import */ var _AxisProxy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AxisProxy.js */ \"./node_modules/echarts/lib/component/dataZoom/AxisProxy.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar dataZoomProcessor = {\n  // `dataZoomProcessor` will only be performed in needed series. Consider if\n  // there is a line series and a pie series, it is better not to update the\n  // line series if only pie series is needed to be updated.\n  getTargetSeries: function (ecModel) {\n    function eachAxisModel(cb) {\n      ecModel.eachComponent('dataZoom', function (dataZoomModel) {\n        dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n          var axisModel = ecModel.getComponent(Object(_helper_js__WEBPACK_IMPORTED_MODULE_1__[\"getAxisMainType\"])(axisDim), axisIndex);\n          cb(axisDim, axisIndex, axisModel, dataZoomModel);\n        });\n      });\n    } // FIXME: it brings side-effect to `getTargetSeries`.\n    // Prepare axis proxies.\n\n\n    eachAxisModel(function (axisDim, axisIndex, axisModel, dataZoomModel) {\n      // dispose all last axis proxy, in case that some axis are deleted.\n      axisModel.__dzAxisProxy = null;\n    });\n    var proxyList = [];\n    eachAxisModel(function (axisDim, axisIndex, axisModel, dataZoomModel) {\n      // Different dataZooms may constrol the same axis. In that case,\n      // an axisProxy serves both of them.\n      if (!axisModel.__dzAxisProxy) {\n        // Use the first dataZoomModel as the main model of axisProxy.\n        axisModel.__dzAxisProxy = new _AxisProxy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](axisDim, axisIndex, dataZoomModel, ecModel);\n        proxyList.push(axisModel.__dzAxisProxy);\n      }\n    });\n    var seriesModelMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(proxyList, function (axisProxy) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axisProxy.getTargetSeriesModels(), function (seriesModel) {\n        seriesModelMap.set(seriesModel.uid, seriesModel);\n      });\n    });\n    return seriesModelMap;\n  },\n  // Consider appendData, where filter should be performed. Because data process is\n  // in block mode currently, it is not need to worry about that the overallProgress\n  // execute every frame.\n  overallReset: function (ecModel, api) {\n    ecModel.eachComponent('dataZoom', function (dataZoomModel) {\n      // We calculate window and reset axis here but not in model\n      // init stage and not after action dispatch handler, because\n      // reset should be called after seriesData.restoreData.\n      dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n        dataZoomModel.getAxisProxy(axisDim, axisIndex).reset(dataZoomModel);\n      }); // Caution: data zoom filtering is order sensitive when using\n      // percent range and no min/max/scale set on axis.\n      // For example, we have dataZoom definition:\n      // [\n      //      {xAxisIndex: 0, start: 30, end: 70},\n      //      {yAxisIndex: 0, start: 20, end: 80}\n      // ]\n      // In this case, [20, 80] of y-dataZoom should be based on data\n      // that have filtered by x-dataZoom using range of [30, 70],\n      // but should not be based on full raw data. Thus sliding\n      // x-dataZoom will change both ranges of xAxis and yAxis,\n      // while sliding y-dataZoom will only change the range of yAxis.\n      // So we should filter x-axis after reset x-axis immediately,\n      // and then reset y-axis and filter y-axis.\n\n      dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n        dataZoomModel.getAxisProxy(axisDim, axisIndex).filterData(dataZoomModel, api);\n      });\n    });\n    ecModel.eachComponent('dataZoom', function (dataZoomModel) {\n      // Fullfill all of the range props so that user\n      // is able to get them from chart.getOption().\n      var axisProxy = dataZoomModel.findRepresentativeAxisProxy();\n\n      if (axisProxy) {\n        var percentRange = axisProxy.getDataPercentWindow();\n        var valueRange = axisProxy.getDataValueWindow();\n        dataZoomModel.setCalculatedRange({\n          start: percentRange[0],\n          end: percentRange[1],\n          startValue: valueRange[0],\n          endValue: valueRange[1]\n        });\n      }\n    });\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (dataZoomProcessor);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/helper.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/helper.js ***!
  \***************************************************************/
/*! exports provided: DATA_ZOOM_AXIS_DIMENSIONS, isCoordSupported, getAxisMainType, getAxisIndexPropName, getAxisIdPropName, findEffectedDataZooms, collectReferCoordSysModelInfo */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DATA_ZOOM_AXIS_DIMENSIONS\", function() { return DATA_ZOOM_AXIS_DIMENSIONS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCoordSupported\", function() { return isCoordSupported; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisMainType\", function() { return getAxisMainType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisIndexPropName\", function() { return getAxisIndexPropName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisIdPropName\", function() { return getAxisIdPropName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findEffectedDataZooms\", function() { return findEffectedDataZooms; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collectReferCoordSysModelInfo\", function() { return collectReferCoordSysModelInfo; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DATA_ZOOM_AXIS_DIMENSIONS = ['x', 'y', 'radius', 'angle', 'single']; // Supported coords.\n// FIXME: polar has been broken (but rarely used).\n\nvar SERIES_COORDS = ['cartesian2d', 'polar', 'singleAxis'];\nfunction isCoordSupported(seriesModel) {\n  var coordType = seriesModel.get('coordinateSystem');\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(SERIES_COORDS, coordType) >= 0;\n}\nfunction getAxisMainType(axisDim) {\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(axisDim);\n  }\n\n  return axisDim + 'Axis';\n}\nfunction getAxisIndexPropName(axisDim) {\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(axisDim);\n  }\n\n  return axisDim + 'AxisIndex';\n}\nfunction getAxisIdPropName(axisDim) {\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(axisDim);\n  }\n\n  return axisDim + 'AxisId';\n}\n/**\n * If two dataZoomModels has the same axis controlled, we say that they are 'linked'.\n * This function finds all linked dataZoomModels start from the given payload.\n */\n\nfunction findEffectedDataZooms(ecModel, payload) {\n  // Key: `DataZoomAxisDimension`\n  var axisRecords = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  var effectedModels = []; // Key: uid of dataZoomModel\n\n  var effectedModelMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])(); // Find the dataZooms specified by payload.\n\n  ecModel.eachComponent({\n    mainType: 'dataZoom',\n    query: payload\n  }, function (dataZoomModel) {\n    if (!effectedModelMap.get(dataZoomModel.uid)) {\n      addToEffected(dataZoomModel);\n    }\n  }); // Start from the given dataZoomModels, travel the graph to find\n  // all of the linked dataZoom models.\n\n  var foundNewLink;\n\n  do {\n    foundNewLink = false;\n    ecModel.eachComponent('dataZoom', processSingle);\n  } while (foundNewLink);\n\n  function processSingle(dataZoomModel) {\n    if (!effectedModelMap.get(dataZoomModel.uid) && isLinked(dataZoomModel)) {\n      addToEffected(dataZoomModel);\n      foundNewLink = true;\n    }\n  }\n\n  function addToEffected(dataZoom) {\n    effectedModelMap.set(dataZoom.uid, true);\n    effectedModels.push(dataZoom);\n    markAxisControlled(dataZoom);\n  }\n\n  function isLinked(dataZoomModel) {\n    var isLink = false;\n    dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n      var axisIdxArr = axisRecords.get(axisDim);\n\n      if (axisIdxArr && axisIdxArr[axisIndex]) {\n        isLink = true;\n      }\n    });\n    return isLink;\n  }\n\n  function markAxisControlled(dataZoomModel) {\n    dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n      (axisRecords.get(axisDim) || axisRecords.set(axisDim, []))[axisIndex] = true;\n    });\n  }\n\n  return effectedModels;\n}\n/**\n * Find the first target coordinate system.\n * Available after model built.\n *\n * @return Like {\n *                  grid: [\n *                      {model: coord0, axisModels: [axis1, axis3], coordIndex: 1},\n *                      {model: coord1, axisModels: [axis0, axis2], coordIndex: 0},\n *                      ...\n *                  ],  // cartesians must not be null/undefined.\n *                  polar: [\n *                      {model: coord0, axisModels: [axis4], coordIndex: 0},\n *                      ...\n *                  ],  // polars must not be null/undefined.\n *                  singleAxis: [\n *                      {model: coord0, axisModels: [], coordIndex: 0}\n *                  ]\n *              }\n */\n\nfunction collectReferCoordSysModelInfo(dataZoomModel) {\n  var ecModel = dataZoomModel.ecModel;\n  var coordSysInfoWrap = {\n    infoList: [],\n    infoMap: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])()\n  };\n  dataZoomModel.eachTargetAxis(function (axisDim, axisIndex) {\n    var axisModel = ecModel.getComponent(getAxisMainType(axisDim), axisIndex);\n\n    if (!axisModel) {\n      return;\n    }\n\n    var coordSysModel = axisModel.getCoordSysModel();\n\n    if (!coordSysModel) {\n      return;\n    }\n\n    var coordSysUid = coordSysModel.uid;\n    var coordSysInfo = coordSysInfoWrap.infoMap.get(coordSysUid);\n\n    if (!coordSysInfo) {\n      coordSysInfo = {\n        model: coordSysModel,\n        axisModels: []\n      };\n      coordSysInfoWrap.infoList.push(coordSysInfo);\n      coordSysInfoWrap.infoMap.set(coordSysUid, coordSysInfo);\n    }\n\n    coordSysInfo.axisModels.push(axisModel);\n  });\n  return coordSysInfoWrap;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/history.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/history.js ***!
  \****************************************************************/
/*! exports provided: push, pop, clear, count */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"push\", function() { return push; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pop\", function() { return pop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clear\", function() { return clear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"count\", function() { return count; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"makeInner\"])();\n/**\n * @param ecModel\n * @param newSnapshot key is dataZoomId\n */\n\nfunction push(ecModel, newSnapshot) {\n  var storedSnapshots = getStoreSnapshots(ecModel); // If previous dataZoom can not be found,\n  // complete an range with current range.\n\n  each(newSnapshot, function (batchItem, dataZoomId) {\n    var i = storedSnapshots.length - 1;\n\n    for (; i >= 0; i--) {\n      var snapshot = storedSnapshots[i];\n\n      if (snapshot[dataZoomId]) {\n        break;\n      }\n    }\n\n    if (i < 0) {\n      // No origin range set, create one by current range.\n      var dataZoomModel = ecModel.queryComponents({\n        mainType: 'dataZoom',\n        subType: 'select',\n        id: dataZoomId\n      })[0];\n\n      if (dataZoomModel) {\n        var percentRange = dataZoomModel.getPercentRange();\n        storedSnapshots[0][dataZoomId] = {\n          dataZoomId: dataZoomId,\n          start: percentRange[0],\n          end: percentRange[1]\n        };\n      }\n    }\n  });\n  storedSnapshots.push(newSnapshot);\n}\nfunction pop(ecModel) {\n  var storedSnapshots = getStoreSnapshots(ecModel);\n  var head = storedSnapshots[storedSnapshots.length - 1];\n  storedSnapshots.length > 1 && storedSnapshots.pop(); // Find top for all dataZoom.\n\n  var snapshot = {};\n  each(head, function (batchItem, dataZoomId) {\n    for (var i = storedSnapshots.length - 1; i >= 0; i--) {\n      batchItem = storedSnapshots[i][dataZoomId];\n\n      if (batchItem) {\n        snapshot[dataZoomId] = batchItem;\n        break;\n      }\n    }\n  });\n  return snapshot;\n}\nfunction clear(ecModel) {\n  inner(ecModel).snapshots = null;\n}\nfunction count(ecModel) {\n  return getStoreSnapshots(ecModel).length;\n}\n/**\n * History length of each dataZoom may be different.\n * this._history[0] is used to store origin range.\n */\n\nfunction getStoreSnapshots(ecModel) {\n  var store = inner(ecModel);\n\n  if (!store.snapshots) {\n    store.snapshots = [{}];\n  }\n\n  return store.snapshots;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/history.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/install.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/install.js ***!
  \****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _installDataZoomInside_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./installDataZoomInside.js */ \"./node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js\");\n/* harmony import */ var _installDataZoomSlider_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installDataZoomSlider.js */ \"./node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installDataZoomInside_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]);\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installDataZoomSlider_js__WEBPACK_IMPORTED_MODULE_2__[\"install\"]); // Do not install './dataZoomSelect',\n  // since it only work for toolbox dataZoom.\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/installCommon.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/installCommon.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return installCommon; });\n/* harmony import */ var _dataZoomProcessor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dataZoomProcessor.js */ \"./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js\");\n/* harmony import */ var _dataZoomAction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataZoomAction.js */ \"./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar installed = false;\nfunction installCommon(registers) {\n  if (installed) {\n    return;\n  }\n\n  installed = true;\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.FILTER, _dataZoomProcessor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  Object(_dataZoomAction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(registers);\n  registers.registerSubTypeDefaulter('dataZoom', function () {\n    // Default 'slider' when no type specified.\n    return 'slider';\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/installCommon.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js ***!
  \******************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _InsideZoomModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InsideZoomModel.js */ \"./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js\");\n/* harmony import */ var _InsideZoomView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InsideZoomView.js */ \"./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js\");\n/* harmony import */ var _roams_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./roams.js */ \"./node_modules/echarts/lib/component/dataZoom/roams.js\");\n/* harmony import */ var _installCommon_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./installCommon.js */ \"./node_modules/echarts/lib/component/dataZoom/installCommon.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction install(registers) {\n  Object(_installCommon_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(registers);\n  registers.registerComponentModel(_InsideZoomModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_InsideZoomView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  Object(_roams_js__WEBPACK_IMPORTED_MODULE_2__[\"installDataZoomRoamProcessor\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/installDataZoomSelect.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/installDataZoomSelect.js ***!
  \******************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _SelectZoomModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SelectZoomModel.js */ \"./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js\");\n/* harmony import */ var _SelectZoomView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SelectZoomView.js */ \"./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js\");\n/* harmony import */ var _installCommon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installCommon.js */ \"./node_modules/echarts/lib/component/dataZoom/installCommon.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_SelectZoomModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_SelectZoomView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  Object(_installCommon_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/installDataZoomSelect.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js ***!
  \******************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _SliderZoomModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SliderZoomModel.js */ \"./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js\");\n/* harmony import */ var _SliderZoomView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SliderZoomView.js */ \"./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js\");\n/* harmony import */ var _installCommon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installCommon.js */ \"./node_modules/echarts/lib/component/dataZoom/installCommon.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_SliderZoomModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_SliderZoomView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  Object(_installCommon_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataZoom/roams.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataZoom/roams.js ***!
  \**************************************************************/
/*! exports provided: setViewInfoToCoordSysRecord, disposeCoordSysRecordIfNeeded, installDataZoomRoamProcessor */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setViewInfoToCoordSysRecord\", function() { return setViewInfoToCoordSysRecord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disposeCoordSysRecordIfNeeded\", function() { return disposeCoordSysRecordIfNeeded; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installDataZoomRoamProcessor\", function() { return installDataZoomRoamProcessor; });\n/* harmony import */ var _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../component/helper/RoamController.js */ \"./node_modules/echarts/lib/component/helper/RoamController.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/dataZoom/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Only create one roam controller for each coordinate system.\n// one roam controller might be refered by two inside data zoom\n// components (for example, one for x and one for y). When user\n// pan or zoom, only dispatch one action for those data zoom\n// components.\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"makeInner\"])();\nfunction setViewInfoToCoordSysRecord(api, dataZoomModel, getRange) {\n  inner(api).coordSysRecordMap.each(function (coordSysRecord) {\n    var dzInfo = coordSysRecord.dataZoomInfoMap.get(dataZoomModel.uid);\n\n    if (dzInfo) {\n      dzInfo.getRange = getRange;\n    }\n  });\n}\nfunction disposeCoordSysRecordIfNeeded(api, dataZoomModel) {\n  var coordSysRecordMap = inner(api).coordSysRecordMap;\n  var coordSysKeyArr = coordSysRecordMap.keys();\n\n  for (var i = 0; i < coordSysKeyArr.length; i++) {\n    var coordSysKey = coordSysKeyArr[i];\n    var coordSysRecord = coordSysRecordMap.get(coordSysKey);\n    var dataZoomInfoMap = coordSysRecord.dataZoomInfoMap;\n\n    if (dataZoomInfoMap) {\n      var dzUid = dataZoomModel.uid;\n      var dzInfo = dataZoomInfoMap.get(dzUid);\n\n      if (dzInfo) {\n        dataZoomInfoMap.removeKey(dzUid);\n\n        if (!dataZoomInfoMap.keys().length) {\n          disposeCoordSysRecord(coordSysRecordMap, coordSysRecord);\n        }\n      }\n    }\n  }\n}\n\nfunction disposeCoordSysRecord(coordSysRecordMap, coordSysRecord) {\n  if (coordSysRecord) {\n    coordSysRecordMap.removeKey(coordSysRecord.model.uid);\n    var controller = coordSysRecord.controller;\n    controller && controller.dispose();\n  }\n}\n\nfunction createCoordSysRecord(api, coordSysModel) {\n  // These init props will never change after record created.\n  var coordSysRecord = {\n    model: coordSysModel,\n    containsPoint: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"curry\"])(containsPoint, coordSysModel),\n    dispatchAction: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"curry\"])(dispatchAction, api),\n    dataZoomInfoMap: null,\n    controller: null\n  }; // Must not do anything depends on coordSysRecord outside the event handler here,\n  // because coordSysRecord not completed yet.\n\n  var controller = coordSysRecord.controller = new _component_helper_RoamController_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](api.getZr());\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(['pan', 'zoom', 'scrollMove'], function (eventName) {\n    controller.on(eventName, function (event) {\n      var batch = [];\n      coordSysRecord.dataZoomInfoMap.each(function (dzInfo) {\n        // Check whether the behaviors (zoomOnMouseWheel, moveOnMouseMove,\n        // moveOnMouseWheel, ...) enabled.\n        if (!event.isAvailableBehavior(dzInfo.model.option)) {\n          return;\n        }\n\n        var method = (dzInfo.getRange || {})[eventName];\n        var range = method && method(dzInfo.dzReferCoordSysInfo, coordSysRecord.model.mainType, coordSysRecord.controller, event);\n        !dzInfo.model.get('disabled', true) && range && batch.push({\n          dataZoomId: dzInfo.model.id,\n          start: range[0],\n          end: range[1]\n        });\n      });\n      batch.length && coordSysRecord.dispatchAction(batch);\n    });\n  });\n  return coordSysRecord;\n}\n/**\n * This action will be throttled.\n */\n\n\nfunction dispatchAction(api, batch) {\n  if (!api.isDisposed()) {\n    api.dispatchAction({\n      type: 'dataZoom',\n      animation: {\n        easing: 'cubicOut',\n        duration: 100\n      },\n      batch: batch\n    });\n  }\n}\n\nfunction containsPoint(coordSysModel, e, x, y) {\n  return coordSysModel.coordinateSystem.containPoint([x, y]);\n}\n/**\n * Merge roamController settings when multiple dataZooms share one roamController.\n */\n\n\nfunction mergeControllerParams(dataZoomInfoMap) {\n  var controlType; // DO NOT use reserved word (true, false, undefined) as key literally. Even if encapsulated\n  // as string, it is probably revert to reserved word by compress tool. See #7411.\n\n  var prefix = 'type_';\n  var typePriority = {\n    'type_true': 2,\n    'type_move': 1,\n    'type_false': 0,\n    'type_undefined': -1\n  };\n  var preventDefaultMouseMove = true;\n  dataZoomInfoMap.each(function (dataZoomInfo) {\n    var dataZoomModel = dataZoomInfo.model;\n    var oneType = dataZoomModel.get('disabled', true) ? false : dataZoomModel.get('zoomLock', true) ? 'move' : true;\n\n    if (typePriority[prefix + oneType] > typePriority[prefix + controlType]) {\n      controlType = oneType;\n    } // Prevent default move event by default. If one false, do not prevent. Otherwise\n    // users may be confused why it does not work when multiple insideZooms exist.\n\n\n    preventDefaultMouseMove = preventDefaultMouseMove && dataZoomModel.get('preventDefaultMouseMove', true);\n  });\n  return {\n    controlType: controlType,\n    opt: {\n      // RoamController will enable all of these functionalities,\n      // and the final behavior is determined by its event listener\n      // provided by each inside zoom.\n      zoomOnMouseWheel: true,\n      moveOnMouseMove: true,\n      moveOnMouseWheel: true,\n      preventDefaultMouseMove: !!preventDefaultMouseMove\n    }\n  };\n}\n\nfunction installDataZoomRoamProcessor(registers) {\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.FILTER, function (ecModel, api) {\n    var apiInner = inner(api);\n    var coordSysRecordMap = apiInner.coordSysRecordMap || (apiInner.coordSysRecordMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createHashMap\"])());\n    coordSysRecordMap.each(function (coordSysRecord) {\n      // `coordSysRecordMap` always exists (becuase it hold the `roam controller`, which should\n      // better not re-create each time), but clear `dataZoomInfoMap` each round of the workflow.\n      coordSysRecord.dataZoomInfoMap = null;\n    });\n    ecModel.eachComponent({\n      mainType: 'dataZoom',\n      subType: 'inside'\n    }, function (dataZoomModel) {\n      var dzReferCoordSysWrap = Object(_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"collectReferCoordSysModelInfo\"])(dataZoomModel);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(dzReferCoordSysWrap.infoList, function (dzCoordSysInfo) {\n        var coordSysUid = dzCoordSysInfo.model.uid;\n        var coordSysRecord = coordSysRecordMap.get(coordSysUid) || coordSysRecordMap.set(coordSysUid, createCoordSysRecord(api, dzCoordSysInfo.model));\n        var dataZoomInfoMap = coordSysRecord.dataZoomInfoMap || (coordSysRecord.dataZoomInfoMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createHashMap\"])()); // Notice these props might be changed each time for a single dataZoomModel.\n\n        dataZoomInfoMap.set(dataZoomModel.uid, {\n          dzReferCoordSysInfo: dzCoordSysInfo,\n          model: dataZoomModel,\n          getRange: null\n        });\n      });\n    }); // (1) Merge dataZoom settings for each coord sys and set to the roam controller.\n    // (2) Clear coord sys if not refered by any dataZoom.\n\n    coordSysRecordMap.each(function (coordSysRecord) {\n      var controller = coordSysRecord.controller;\n      var firstDzInfo;\n      var dataZoomInfoMap = coordSysRecord.dataZoomInfoMap;\n\n      if (dataZoomInfoMap) {\n        var firstDzKey = dataZoomInfoMap.keys()[0];\n\n        if (firstDzKey != null) {\n          firstDzInfo = dataZoomInfoMap.get(firstDzKey);\n        }\n      }\n\n      if (!firstDzInfo) {\n        disposeCoordSysRecord(coordSysRecordMap, coordSysRecord);\n        return;\n      }\n\n      var controllerParams = mergeControllerParams(dataZoomInfoMap);\n      controller.enable(controllerParams.controlType, controllerParams.opt);\n      controller.setPointerChecker(coordSysRecord.containsPoint);\n      _util_throttle_js__WEBPACK_IMPORTED_MODULE_1__[\"createOrUpdate\"](coordSysRecord, 'dispatchAction', firstDzInfo.model.get('throttle', true), 'fixRate');\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/roams.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/dataset/install.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/dataset/install.js ***!
  \***************************************************************/
/*! exports provided: DatasetModel, install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DatasetModel\", function() { return DatasetModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _data_helper_sourceManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../data/helper/sourceManager.js */ \"./node_modules/echarts/lib/data/helper/sourceManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * This module is imported by echarts directly.\n *\n * Notice:\n * Always keep this file exists for backward compatibility.\n * Because before 4.1.0, dataset is an optional component,\n * some users may import this module manually.\n */\n\n\n\n\n\n\nvar DatasetModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(DatasetModel, _super);\n\n  function DatasetModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'dataset';\n    return _this;\n  }\n\n  DatasetModel.prototype.init = function (option, parentModel, ecModel) {\n    _super.prototype.init.call(this, option, parentModel, ecModel);\n\n    this._sourceManager = new _data_helper_sourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"SourceManager\"](this);\n    Object(_data_helper_sourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"disableTransformOptionMerge\"])(this);\n  };\n\n  DatasetModel.prototype.mergeOption = function (newOption, ecModel) {\n    _super.prototype.mergeOption.call(this, newOption, ecModel);\n\n    Object(_data_helper_sourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"disableTransformOptionMerge\"])(this);\n  };\n\n  DatasetModel.prototype.optionUpdated = function () {\n    this._sourceManager.dirty();\n  };\n\n  DatasetModel.prototype.getSourceManager = function () {\n    return this._sourceManager;\n  };\n\n  DatasetModel.type = 'dataset';\n  DatasetModel.defaultOption = {\n    seriesLayoutBy: _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_COLUMN\"]\n  };\n  return DatasetModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n\n\nvar DatasetView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(DatasetView, _super);\n\n  function DatasetView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'dataset';\n    return _this;\n  }\n\n  DatasetView.type = 'dataset';\n  return DatasetView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction install(registers) {\n  registers.registerComponentModel(DatasetModel);\n  registers.registerComponentView(DatasetView);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataset/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/geo/GeoView.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/component/geo/GeoView.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_MapDraw_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helper/MapDraw.js */ \"./node_modules/echarts/lib/component/helper/MapDraw.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/event.js */ \"./node_modules/echarts/lib/util/event.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar GeoView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GeoView, _super);\n\n  function GeoView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GeoView.type;\n    _this.focusBlurEnabled = true;\n    return _this;\n  }\n\n  GeoView.prototype.init = function (ecModel, api) {\n    this._api = api;\n  };\n\n  GeoView.prototype.render = function (geoModel, ecModel, api, payload) {\n    this._model = geoModel;\n\n    if (!geoModel.get('show')) {\n      this._mapDraw && this._mapDraw.remove();\n      this._mapDraw = null;\n      return;\n    }\n\n    if (!this._mapDraw) {\n      this._mapDraw = new _helper_MapDraw_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](api);\n    }\n\n    var mapDraw = this._mapDraw;\n    mapDraw.draw(geoModel, ecModel, api, this, payload);\n    mapDraw.group.on('click', this._handleRegionClick, this);\n    mapDraw.group.silent = geoModel.get('silent');\n    this.group.add(mapDraw.group);\n    this.updateSelectStatus(geoModel, ecModel, api);\n  };\n\n  GeoView.prototype._handleRegionClick = function (e) {\n    var eventData;\n    Object(_util_event_js__WEBPACK_IMPORTED_MODULE_4__[\"findEventDispatcher\"])(e.target, function (current) {\n      return (eventData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(current).eventData) != null;\n    }, true);\n\n    if (eventData) {\n      this._api.dispatchAction({\n        type: 'geoToggleSelect',\n        geoId: this._model.id,\n        name: eventData.name\n      });\n    }\n  };\n\n  GeoView.prototype.updateSelectStatus = function (model, ecModel, api) {\n    var _this = this;\n\n    this._mapDraw.group.traverse(function (node) {\n      var eventData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(node).eventData;\n\n      if (eventData) {\n        _this._model.isSelected(eventData.name) ? api.enterSelect(node) : api.leaveSelect(node); // No need to traverse children.\n\n        return true;\n      }\n    });\n  };\n\n  GeoView.prototype.findHighDownDispatchers = function (name) {\n    return this._mapDraw && this._mapDraw.findHighDownDispatchers(name, this._model);\n  };\n\n  GeoView.prototype.dispose = function () {\n    this._mapDraw && this._mapDraw.remove();\n  };\n\n  GeoView.type = 'geo';\n  return GeoView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GeoView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/geo/GeoView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/geo/install.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/component/geo/install.js ***!
  \***********************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _coord_geo_GeoModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../coord/geo/GeoModel.js */ \"./node_modules/echarts/lib/coord/geo/GeoModel.js\");\n/* harmony import */ var _coord_geo_geoCreator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../coord/geo/geoCreator.js */ \"./node_modules/echarts/lib/coord/geo/geoCreator.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _action_roamHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../action/roamHelper.js */ \"./node_modules/echarts/lib/action/roamHelper.js\");\n/* harmony import */ var _GeoView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GeoView.js */ \"./node_modules/echarts/lib/component/geo/GeoView.js\");\n/* harmony import */ var _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/geo/geoSourceManager.js */ \"./node_modules/echarts/lib/coord/geo/geoSourceManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nfunction registerMap(mapName, geoJson, specialAreas) {\n  _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].registerMap(mapName, geoJson, specialAreas);\n}\n\nfunction install(registers) {\n  registers.registerCoordinateSystem('geo', _coord_geo_geoCreator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentModel(_coord_geo_GeoModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_GeoView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  registers.registerImpl('registerMap', registerMap);\n  registers.registerImpl('getMap', function (mapName) {\n    return _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getMapForUser(mapName);\n  });\n\n  function makeAction(method, actionInfo) {\n    actionInfo.update = 'geo:updateSelectStatus';\n    registers.registerAction(actionInfo, function (payload, ecModel) {\n      var selected = {};\n      var allSelected = [];\n      ecModel.eachComponent({\n        mainType: 'geo',\n        query: payload\n      }, function (geoModel) {\n        geoModel[method](payload.name);\n        var geo = geoModel.coordinateSystem;\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(geo.regions, function (region) {\n          selected[region.name] = geoModel.isSelected(region.name) || false;\n        }); // Notice: there might be duplicated name in different regions.\n\n        var names = [];\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(selected, function (v, name) {\n          selected[name] && names.push(name);\n        });\n        allSelected.push({\n          geoIndex: geoModel.componentIndex,\n          // Use singular, the same naming convention as the event `selectchanged`.\n          name: names\n        });\n      });\n      return {\n        selected: selected,\n        allSelected: allSelected,\n        name: payload.name\n      };\n    });\n  }\n\n  makeAction('toggleSelected', {\n    type: 'geoToggleSelect',\n    event: 'geoselectchanged'\n  });\n  makeAction('select', {\n    type: 'geoSelect',\n    event: 'geoselected'\n  });\n  makeAction('unSelect', {\n    type: 'geoUnSelect',\n    event: 'geounselected'\n  });\n  /**\n   * @payload\n   * @property {string} [componentType=series]\n   * @property {number} [dx]\n   * @property {number} [dy]\n   * @property {number} [zoom]\n   * @property {number} [originX]\n   * @property {number} [originY]\n   */\n\n  registers.registerAction({\n    type: 'geoRoam',\n    event: 'geoRoam',\n    update: 'updateTransform'\n  }, function (payload, ecModel, api) {\n    var componentType = payload.componentType || 'series';\n    ecModel.eachComponent({\n      mainType: componentType,\n      query: payload\n    }, function (componentModel) {\n      var geo = componentModel.coordinateSystem;\n\n      if (geo.type !== 'geo') {\n        return;\n      }\n\n      var res = Object(_action_roamHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"updateCenterAndZoom\"])(geo, payload, componentModel.get('scaleLimit'), api);\n      componentModel.setCenter && componentModel.setCenter(res.center);\n      componentModel.setZoom && componentModel.setZoom(res.zoom); // All map series with same `map` use the same geo coordinate system\n      // So the center and zoom must be in sync. Include the series not selected by legend\n\n      if (componentType === 'series') {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(componentModel.seriesGroup, function (seriesModel) {\n          seriesModel.setCenter(res.center);\n          seriesModel.setZoom(res.zoom);\n        });\n      }\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/geo/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/graphic/GraphicModel.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/graphic/GraphicModel.js ***!
  \********************************************************************/
/*! exports provided: setKeyInfoToNewElOption, GraphicComponentModel */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setKeyInfoToNewElOption\", function() { return setKeyInfoToNewElOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GraphicComponentModel\", function() { return GraphicComponentModel; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n;\n;\n;\nfunction setKeyInfoToNewElOption(resultItem, newElOption) {\n  var existElOption = resultItem.existing; // Set id and type after id assigned.\n\n  newElOption.id = resultItem.keyInfo.id;\n  !newElOption.type && existElOption && (newElOption.type = existElOption.type); // Set parent id if not specified\n\n  if (newElOption.parentId == null) {\n    var newElParentOption = newElOption.parentOption;\n\n    if (newElParentOption) {\n      newElOption.parentId = newElParentOption.id;\n    } else if (existElOption) {\n      newElOption.parentId = existElOption.parentId;\n    }\n  } // Clear\n\n\n  newElOption.parentOption = null;\n}\n\nfunction isSetLoc(obj, props) {\n  var isSet;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](props, function (prop) {\n    obj[prop] != null && obj[prop] !== 'auto' && (isSet = true);\n  });\n  return isSet;\n}\n\nfunction mergeNewElOptionToExist(existList, index, newElOption) {\n  // Update existing options, for `getOption` feature.\n  var newElOptCopy = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, newElOption);\n  var existElOption = existList[index];\n  var $action = newElOption.$action || 'merge';\n\n  if ($action === 'merge') {\n    if (existElOption) {\n      if (true) {\n        var newType = newElOption.type;\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](!newType || existElOption.type === newType, 'Please set $action: \"replace\" to change `type`');\n      } // We can ensure that newElOptCopy and existElOption are not\n      // the same object, so `merge` will not change newElOptCopy.\n\n\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](existElOption, newElOptCopy, true); // Rigid body, use ignoreSize.\n\n      Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_4__[\"mergeLayoutParam\"])(existElOption, newElOptCopy, {\n        ignoreSize: true\n      }); // Will be used in render.\n\n      Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_4__[\"copyLayoutParams\"])(newElOption, existElOption); // Copy transition info to new option so it can be used in the transition.\n      // DO IT AFTER merge\n\n      copyTransitionInfo(newElOption, existElOption);\n      copyTransitionInfo(newElOption, existElOption, 'shape');\n      copyTransitionInfo(newElOption, existElOption, 'style');\n      copyTransitionInfo(newElOption, existElOption, 'extra'); // Copy clipPath\n\n      newElOption.clipPath = existElOption.clipPath;\n    } else {\n      existList[index] = newElOptCopy;\n    }\n  } else if ($action === 'replace') {\n    existList[index] = newElOptCopy;\n  } else if ($action === 'remove') {\n    // null will be cleaned later.\n    existElOption && (existList[index] = null);\n  }\n}\n\nvar TRANSITION_PROPS_TO_COPY = ['transition', 'enterFrom', 'leaveTo'];\nvar ROOT_TRANSITION_PROPS_TO_COPY = TRANSITION_PROPS_TO_COPY.concat(['enterAnimation', 'updateAnimation', 'leaveAnimation']);\n\nfunction copyTransitionInfo(target, source, targetProp) {\n  if (targetProp) {\n    if (!target[targetProp] && source[targetProp]) {\n      // TODO avoid creating this empty object when there is no transition configuration.\n      target[targetProp] = {};\n    }\n\n    target = target[targetProp];\n    source = source[targetProp];\n  }\n\n  if (!target || !source) {\n    return;\n  }\n\n  var props = targetProp ? TRANSITION_PROPS_TO_COPY : ROOT_TRANSITION_PROPS_TO_COPY;\n\n  for (var i = 0; i < props.length; i++) {\n    var prop = props[i];\n\n    if (target[prop] == null && source[prop] != null) {\n      target[prop] = source[prop];\n    }\n  }\n}\n\nfunction setLayoutInfoToExist(existItem, newElOption) {\n  if (!existItem) {\n    return;\n  }\n\n  existItem.hv = newElOption.hv = [// Rigid body, dont care `width`.\n  isSetLoc(newElOption, ['left', 'right']), // Rigid body, dont care `height`.\n  isSetLoc(newElOption, ['top', 'bottom'])]; // Give default group size. Otherwise layout error may occur.\n\n  if (existItem.type === 'group') {\n    var existingGroupOpt = existItem;\n    var newGroupOpt = newElOption;\n    existingGroupOpt.width == null && (existingGroupOpt.width = newGroupOpt.width = 0);\n    existingGroupOpt.height == null && (existingGroupOpt.height = newGroupOpt.height = 0);\n  }\n}\n\nvar GraphicComponentModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GraphicComponentModel, _super);\n\n  function GraphicComponentModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GraphicComponentModel.type;\n    _this.preventAutoZ = true;\n    return _this;\n  }\n\n  GraphicComponentModel.prototype.mergeOption = function (option, ecModel) {\n    // Prevent default merge to elements\n    var elements = this.option.elements;\n    this.option.elements = null;\n\n    _super.prototype.mergeOption.call(this, option, ecModel);\n\n    this.option.elements = elements;\n  };\n\n  GraphicComponentModel.prototype.optionUpdated = function (newOption, isInit) {\n    var thisOption = this.option;\n    var newList = (isInit ? thisOption : newOption).elements;\n    var existList = thisOption.elements = isInit ? [] : thisOption.elements;\n    var flattenedList = [];\n\n    this._flatten(newList, flattenedList, null);\n\n    var mappingResult = _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"mappingToExists\"](existList, flattenedList, 'normalMerge'); // Clear elOptionsToUpdate\n\n    var elOptionsToUpdate = this._elOptionsToUpdate = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](mappingResult, function (resultItem, index) {\n      var newElOption = resultItem.newOption;\n\n      if (true) {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"](newElOption) || resultItem.existing, 'Empty graphic option definition');\n      }\n\n      if (!newElOption) {\n        return;\n      }\n\n      elOptionsToUpdate.push(newElOption);\n      setKeyInfoToNewElOption(resultItem, newElOption);\n      mergeNewElOptionToExist(existList, index, newElOption);\n      setLayoutInfoToExist(existList[index], newElOption);\n    }, this); // Clean\n\n    thisOption.elements = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"](existList, function (item) {\n      // $action should be volatile, otherwise option gotten from\n      // `getOption` will contain unexpected $action.\n      item && delete item.$action;\n      return item != null;\n    });\n  };\n  /**\n   * Convert\n   * [{\n   *  type: 'group',\n   *  id: 'xx',\n   *  children: [{type: 'circle'}, {type: 'polygon'}]\n   * }]\n   * to\n   * [\n   *  {type: 'group', id: 'xx'},\n   *  {type: 'circle', parentId: 'xx'},\n   *  {type: 'polygon', parentId: 'xx'}\n   * ]\n   */\n\n\n  GraphicComponentModel.prototype._flatten = function (optionList, result, parentOption) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](optionList, function (option) {\n      if (!option) {\n        return;\n      }\n\n      if (parentOption) {\n        option.parentOption = parentOption;\n      }\n\n      result.push(option);\n      var children = option.children; // here we don't judge if option.type is `group`\n      // when new option doesn't provide `type`, it will cause that the children can't be updated.\n\n      if (children && children.length) {\n        this._flatten(children, result, option);\n      } // Deleting for JSON output, and for not affecting group creation.\n\n\n      delete option.children;\n    }, this);\n  }; // FIXME\n  // Pass to view using payload? setOption has a payload?\n\n\n  GraphicComponentModel.prototype.useElOptionsToUpdate = function () {\n    var els = this._elOptionsToUpdate; // Clear to avoid render duplicately when zooming.\n\n    this._elOptionsToUpdate = null;\n    return els;\n  };\n\n  GraphicComponentModel.type = 'graphic';\n  GraphicComponentModel.defaultOption = {\n    elements: [] // parentId: null\n\n  };\n  return GraphicComponentModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/graphic/GraphicModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/graphic/GraphicView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/graphic/GraphicView.js ***!
  \*******************************************************************/
/*! exports provided: inner, GraphicComponentView */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inner\", function() { return inner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GraphicComponentView\", function() { return GraphicComponentView; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_styleCompat_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/styleCompat.js */ \"./node_modules/echarts/lib/util/styleCompat.js\");\n/* harmony import */ var _animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../animation/customGraphicTransition.js */ \"./node_modules/echarts/lib/animation/customGraphicTransition.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony import */ var _animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../animation/customGraphicKeyframeAnimation.js */ \"./node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar nonShapeGraphicElements = {\n  // Reserved but not supported in graphic component.\n  path: null,\n  compoundPath: null,\n  // Supported in graphic component.\n  group: _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"],\n  image: _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Image\"],\n  text: _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Text\"]\n};\nvar inner = _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"makeInner\"](); // ------------------------\n// View\n// ------------------------\n\nvar GraphicComponentView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GraphicComponentView, _super);\n\n  function GraphicComponentView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GraphicComponentView.type;\n    return _this;\n  }\n\n  GraphicComponentView.prototype.init = function () {\n    this._elMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]();\n  };\n\n  GraphicComponentView.prototype.render = function (graphicModel, ecModel, api) {\n    // Having leveraged between use cases and algorithm complexity, a very\n    // simple layout mechanism is used:\n    // The size(width/height) can be determined by itself or its parent (not\n    // implemented yet), but can not by its children. (Top-down travel)\n    // The location(x/y) can be determined by the bounding rect of itself\n    // (can including its descendants or not) and the size of its parent.\n    // (Bottom-up travel)\n    // When `chart.clear()` or `chart.setOption({...}, true)` with the same id,\n    // view will be reused.\n    if (graphicModel !== this._lastGraphicModel) {\n      this._clear();\n    }\n\n    this._lastGraphicModel = graphicModel;\n\n    this._updateElements(graphicModel);\n\n    this._relocate(graphicModel, api);\n  };\n  /**\n   * Update graphic elements.\n   */\n\n\n  GraphicComponentView.prototype._updateElements = function (graphicModel) {\n    var elOptionsToUpdate = graphicModel.useElOptionsToUpdate();\n\n    if (!elOptionsToUpdate) {\n      return;\n    }\n\n    var elMap = this._elMap;\n    var rootGroup = this.group;\n    var globalZ = graphicModel.get('z');\n    var globalZLevel = graphicModel.get('zlevel'); // Top-down tranverse to assign graphic settings to each elements.\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](elOptionsToUpdate, function (elOption) {\n      var id = _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"convertOptionIdName\"](elOption.id, null);\n      var elExisting = id != null ? elMap.get(id) : null;\n      var parentId = _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"convertOptionIdName\"](elOption.parentId, null);\n      var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;\n      var elType = elOption.type;\n      var elOptionStyle = elOption.style;\n\n      if (elType === 'text' && elOptionStyle) {\n        // In top/bottom mode, textVerticalAlign should not be used, which cause\n        // inaccurately locating.\n        if (elOption.hv && elOption.hv[1]) {\n          elOptionStyle.textVerticalAlign = elOptionStyle.textBaseline = elOptionStyle.verticalAlign = elOptionStyle.align = null;\n        }\n      }\n\n      var textContentOption = elOption.textContent;\n      var textConfig = elOption.textConfig;\n\n      if (elOptionStyle && Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_9__[\"isEC4CompatibleStyle\"])(elOptionStyle, elType, !!textConfig, !!textContentOption)) {\n        var convertResult = Object(_util_styleCompat_js__WEBPACK_IMPORTED_MODULE_9__[\"convertFromEC4CompatibleStyle\"])(elOptionStyle, elType, true);\n\n        if (!textConfig && convertResult.textConfig) {\n          textConfig = elOption.textConfig = convertResult.textConfig;\n        }\n\n        if (!textContentOption && convertResult.textContent) {\n          textContentOption = convertResult.textContent;\n        }\n      } // Remove unnecessary props to avoid potential problems.\n\n\n      var elOptionCleaned = getCleanedElOption(elOption); // For simple, do not support parent change, otherwise reorder is needed.\n\n      if (true) {\n        elExisting && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](targetElParent === elExisting.parent, 'Changing parent is not supported.');\n      }\n\n      var $action = elOption.$action || 'merge';\n      var isMerge = $action === 'merge';\n      var isReplace = $action === 'replace';\n\n      if (isMerge) {\n        var isInit = !elExisting;\n        var el_1 = elExisting;\n\n        if (isInit) {\n          el_1 = createEl(id, targetElParent, elOption.type, elMap);\n        } else {\n          el_1 && (inner(el_1).isNew = false); // Stop and restore before update any other attributes.\n\n          Object(_animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_12__[\"stopPreviousKeyframeAnimationAndRestore\"])(el_1);\n        }\n\n        if (el_1) {\n          Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__[\"applyUpdateTransition\"])(el_1, elOptionCleaned, graphicModel, {\n            isInit: isInit\n          });\n          updateCommonAttrs(el_1, elOption, globalZ, globalZLevel);\n        }\n      } else if (isReplace) {\n        removeEl(elExisting, elOption, elMap, graphicModel);\n        var el_2 = createEl(id, targetElParent, elOption.type, elMap);\n\n        if (el_2) {\n          Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__[\"applyUpdateTransition\"])(el_2, elOptionCleaned, graphicModel, {\n            isInit: true\n          });\n          updateCommonAttrs(el_2, elOption, globalZ, globalZLevel);\n        }\n      } else if ($action === 'remove') {\n        Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__[\"updateLeaveTo\"])(elExisting, elOption);\n        removeEl(elExisting, elOption, elMap, graphicModel);\n      }\n\n      var el = elMap.get(id);\n\n      if (el && textContentOption) {\n        if (isMerge) {\n          var textContentExisting = el.getTextContent();\n          textContentExisting ? textContentExisting.attr(textContentOption) : el.setTextContent(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Text\"](textContentOption));\n        } else if (isReplace) {\n          el.setTextContent(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Text\"](textContentOption));\n        }\n      }\n\n      if (el) {\n        var clipPathOption = elOption.clipPath;\n\n        if (clipPathOption) {\n          var clipPathType = clipPathOption.type;\n          var clipPath = void 0;\n          var isInit = false;\n\n          if (isMerge) {\n            var oldClipPath = el.getClipPath();\n            isInit = !oldClipPath || inner(oldClipPath).type !== clipPathType;\n            clipPath = isInit ? newEl(clipPathType) : oldClipPath;\n          } else if (isReplace) {\n            isInit = true;\n            clipPath = newEl(clipPathType);\n          }\n\n          el.setClipPath(clipPath);\n          Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__[\"applyUpdateTransition\"])(clipPath, clipPathOption, graphicModel, {\n            isInit: isInit\n          });\n          Object(_animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_12__[\"applyKeyframeAnimation\"])(clipPath, clipPathOption.keyframeAnimation, graphicModel);\n        }\n\n        var elInner = inner(el);\n        el.setTextConfig(textConfig);\n        elInner.option = elOption;\n        setEventData(el, graphicModel, elOption);\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"setTooltipConfig\"]({\n          el: el,\n          componentModel: graphicModel,\n          itemName: el.name,\n          itemTooltipOption: elOption.tooltip\n        });\n        Object(_animation_customGraphicKeyframeAnimation_js__WEBPACK_IMPORTED_MODULE_12__[\"applyKeyframeAnimation\"])(el, elOption.keyframeAnimation, graphicModel);\n      }\n    });\n  };\n  /**\n   * Locate graphic elements.\n   */\n\n\n  GraphicComponentView.prototype._relocate = function (graphicModel, api) {\n    var elOptions = graphicModel.option.elements;\n    var rootGroup = this.group;\n    var elMap = this._elMap;\n    var apiWidth = api.getWidth();\n    var apiHeight = api.getHeight();\n    var xy = ['x', 'y']; // Top-down to calculate percentage width/height of group\n\n    for (var i = 0; i < elOptions.length; i++) {\n      var elOption = elOptions[i];\n      var id = _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"convertOptionIdName\"](elOption.id, null);\n      var el = id != null ? elMap.get(id) : null;\n\n      if (!el || !el.isGroup) {\n        continue;\n      }\n\n      var parentEl = el.parent;\n      var isParentRoot = parentEl === rootGroup; // Like 'position:absolut' in css, default 0.\n\n      var elInner = inner(el);\n      var parentElInner = inner(parentEl);\n      elInner.width = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(elInner.option.width, isParentRoot ? apiWidth : parentElInner.width) || 0;\n      elInner.height = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(elInner.option.height, isParentRoot ? apiHeight : parentElInner.height) || 0;\n    } // Bottom-up tranvese all elements (consider ec resize) to locate elements.\n\n\n    for (var i = elOptions.length - 1; i >= 0; i--) {\n      var elOption = elOptions[i];\n      var id = _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"convertOptionIdName\"](elOption.id, null);\n      var el = id != null ? elMap.get(id) : null;\n\n      if (!el) {\n        continue;\n      }\n\n      var parentEl = el.parent;\n      var parentElInner = inner(parentEl);\n      var containerInfo = parentEl === rootGroup ? {\n        width: apiWidth,\n        height: apiHeight\n      } : {\n        width: parentElInner.width,\n        height: parentElInner.height\n      }; // PENDING\n      // Currently, when `bounding: 'all'`, the union bounding rect of the group\n      // does not include the rect of [0, 0, group.width, group.height], which\n      // is probably weird for users. Should we make a break change for it?\n\n      var layoutPos = {};\n      var layouted = _util_layout_js__WEBPACK_IMPORTED_MODULE_5__[\"positionElement\"](el, elOption, containerInfo, null, {\n        hv: elOption.hv,\n        boundingMode: elOption.bounding\n      }, layoutPos);\n\n      if (!inner(el).isNew && layouted) {\n        var transition = elOption.transition;\n        var animatePos = {};\n\n        for (var k = 0; k < xy.length; k++) {\n          var key = xy[k];\n          var val = layoutPos[key];\n\n          if (transition && (Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__[\"isTransitionAll\"])(transition) || zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"](transition, key) >= 0)) {\n            animatePos[key] = val;\n          } else {\n            el[key] = val;\n          }\n        }\n\n        Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_11__[\"updateProps\"])(el, animatePos, graphicModel, 0);\n      } else {\n        el.attr(layoutPos);\n      }\n    }\n  };\n  /**\n   * Clear all elements.\n   */\n\n\n  GraphicComponentView.prototype._clear = function () {\n    var _this = this;\n\n    var elMap = this._elMap;\n    elMap.each(function (el) {\n      removeEl(el, inner(el).option, elMap, _this._lastGraphicModel);\n    });\n    this._elMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]();\n  };\n\n  GraphicComponentView.prototype.dispose = function () {\n    this._clear();\n  };\n\n  GraphicComponentView.type = 'graphic';\n  return GraphicComponentView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n\n\nfunction newEl(graphicType) {\n  if (true) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](graphicType, 'graphic type MUST be set');\n  }\n\n  var Clz = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"](nonShapeGraphicElements, graphicType) // Those graphic elements are not shapes. They should not be\n  // overwritten by users, so do them first.\n  ? nonShapeGraphicElements[graphicType] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"getShapeClass\"](graphicType);\n\n  if (true) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](Clz, \"graphic type \" + graphicType + \" can not be found\");\n  }\n\n  var el = new Clz({});\n  inner(el).type = graphicType;\n  return el;\n}\n\nfunction createEl(id, targetElParent, graphicType, elMap) {\n  var el = newEl(graphicType);\n  targetElParent.add(el);\n  elMap.set(id, el);\n  inner(el).id = id;\n  inner(el).isNew = true;\n  return el;\n}\n\nfunction removeEl(elExisting, elOption, elMap, graphicModel) {\n  var existElParent = elExisting && elExisting.parent;\n\n  if (existElParent) {\n    elExisting.type === 'group' && elExisting.traverse(function (el) {\n      removeEl(el, elOption, elMap, graphicModel);\n    });\n    Object(_animation_customGraphicTransition_js__WEBPACK_IMPORTED_MODULE_10__[\"applyLeaveTransition\"])(elExisting, elOption, graphicModel);\n    elMap.removeKey(inner(elExisting).id);\n  }\n}\n\nfunction updateCommonAttrs(el, elOption, defaultZ, defaultZlevel) {\n  if (!el.isGroup) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"]([['cursor', zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prototype.cursor], // We should not support configure z and zlevel in the element level.\n    // But seems we didn't limit it previously. So here still use it to avoid breaking.\n    ['zlevel', defaultZlevel || 0], ['z', defaultZ || 0], // z2 must not be null/undefined, otherwise sort error may occur.\n    ['z2', 0]], function (item) {\n      var prop = item[0];\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"](elOption, prop)) {\n        el[prop] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"](elOption[prop], item[1]);\n      } else if (el[prop] == null) {\n        el[prop] = item[1];\n      }\n    });\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"](elOption), function (key) {\n    // Assign event handlers.\n    // PENDING: should enumerate all event names or use pattern matching?\n    if (key.indexOf('on') === 0) {\n      var val = elOption[key];\n      el[key] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](val) ? val : null;\n    }\n  });\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"](elOption, 'draggable')) {\n    el.draggable = elOption.draggable;\n  } // Other attributes\n\n\n  elOption.name != null && (el.name = elOption.name);\n  elOption.id != null && (el.id = elOption.id);\n} // Remove unnecessary props to avoid potential problems.\n\n\nfunction getCleanedElOption(elOption) {\n  elOption = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, elOption);\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](['id', 'parentId', '$action', 'hv', 'bounding', 'textContent', 'clipPath'].concat(_util_layout_js__WEBPACK_IMPORTED_MODULE_5__[\"LOCATION_PARAMS\"]), function (name) {\n    delete elOption[name];\n  });\n  return elOption;\n}\n\nfunction setEventData(el, graphicModel, elOption) {\n  var eventData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__[\"getECData\"])(el).eventData; // Simple optimize for large amount of elements that no need event.\n\n  if (!el.silent && !el.ignore && !eventData) {\n    eventData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__[\"getECData\"])(el).eventData = {\n      componentType: 'graphic',\n      componentIndex: graphicModel.componentIndex,\n      name: el.name\n    };\n  } // `elOption.info` enables user to mount some info on\n  // elements and use them in event handlers.\n\n\n  if (eventData) {\n    eventData.info = elOption.info;\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/graphic/GraphicView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/graphic/install.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/graphic/install.js ***!
  \***************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _GraphicModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GraphicModel.js */ \"./node_modules/echarts/lib/component/graphic/GraphicModel.js\");\n/* harmony import */ var _GraphicView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GraphicView.js */ \"./node_modules/echarts/lib/component/graphic/GraphicView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_GraphicModel_js__WEBPACK_IMPORTED_MODULE_1__[\"GraphicComponentModel\"]);\n  registers.registerComponentView(_GraphicView_js__WEBPACK_IMPORTED_MODULE_2__[\"GraphicComponentView\"]);\n  registers.registerPreprocessor(function (option) {\n    var graphicOption = option.graphic; // Convert\n    // {graphic: [{left: 10, type: 'circle'}, ...]}\n    // or\n    // {graphic: {left: 10, type: 'circle'}}\n    // to\n    // {graphic: [{elements: [{left: 10, type: 'circle'}, ...]}]}\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(graphicOption)) {\n      if (!graphicOption[0] || !graphicOption[0].elements) {\n        option.graphic = [{\n          elements: graphicOption\n        }];\n      } else {\n        // Only one graphic instance can be instantiated. (We dont\n        // want that too many views are created in echarts._viewMap)\n        option.graphic = [option.graphic[0]];\n      }\n    } else if (graphicOption && !graphicOption.elements) {\n      option.graphic = [{\n        elements: [graphicOption]\n      }];\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/graphic/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/grid/install.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/component/grid/install.js ***!
  \************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _installSimple_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./installSimple.js */ \"./node_modules/echarts/lib/component/grid/installSimple.js\");\n/* harmony import */ var _axisPointer_install_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../axisPointer/install.js */ \"./node_modules/echarts/lib/component/axisPointer/install.js\");\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_2__[\"use\"])(_installSimple_js__WEBPACK_IMPORTED_MODULE_0__[\"install\"]);\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_2__[\"use\"])(_axisPointer_install_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/grid/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/grid/installSimple.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/grid/installSimple.js ***!
  \******************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _coord_cartesian_GridModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../coord/cartesian/GridModel.js */ \"./node_modules/echarts/lib/coord/cartesian/GridModel.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _coord_cartesian_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/cartesian/AxisModel.js */ \"./node_modules/echarts/lib/coord/cartesian/AxisModel.js\");\n/* harmony import */ var _coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../coord/axisModelCreator.js */ \"./node_modules/echarts/lib/coord/axisModelCreator.js\");\n/* harmony import */ var _coord_cartesian_Grid_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../coord/cartesian/Grid.js */ \"./node_modules/echarts/lib/coord/cartesian/Grid.js\");\n/* harmony import */ var _axis_CartesianAxisView_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../axis/CartesianAxisView.js */ \"./node_modules/echarts/lib/component/axis/CartesianAxisView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n // Grid view\n\nvar GridView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GridView, _super);\n\n  function GridView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'grid';\n    return _this;\n  }\n\n  GridView.prototype.render = function (gridModel, ecModel) {\n    this.group.removeAll();\n\n    if (gridModel.get('show')) {\n      this.group.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]({\n        shape: gridModel.coordinateSystem.getRect(),\n        style: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])({\n          fill: gridModel.get('backgroundColor')\n        }, gridModel.getItemStyle()),\n        silent: true,\n        z2: -1\n      }));\n    }\n  };\n\n  GridView.type = 'grid';\n  return GridView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nvar extraOption = {\n  // gridIndex: 0,\n  // gridId: '',\n  offset: 0\n};\nfunction install(registers) {\n  registers.registerComponentView(GridView);\n  registers.registerComponentModel(_coord_cartesian_GridModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerCoordinateSystem('cartesian2d', _coord_cartesian_Grid_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n  Object(_coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(registers, 'x', _coord_cartesian_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"CartesianAxisModel\"], extraOption);\n  Object(_coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(registers, 'y', _coord_cartesian_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"CartesianAxisModel\"], extraOption);\n  registers.registerComponentView(_axis_CartesianAxisView_js__WEBPACK_IMPORTED_MODULE_8__[\"CartesianXAxisView\"]);\n  registers.registerComponentView(_axis_CartesianAxisView_js__WEBPACK_IMPORTED_MODULE_8__[\"CartesianYAxisView\"]);\n  registers.registerPreprocessor(function (option) {\n    // Only create grid when need\n    if (option.xAxis && option.yAxis && !option.grid) {\n      option.grid = {};\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/grid/installSimple.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/BrushController.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/BrushController.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _interactionMutex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./interactionMutex.js */ \"./node_modules/echarts/lib/component/helper/interactionMutex.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar BRUSH_PANEL_GLOBAL = true;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathPow = Math.pow;\nvar COVER_Z = 10000;\nvar UNSELECT_THRESHOLD = 6;\nvar MIN_RESIZE_LINE_WIDTH = 6;\nvar MUTEX_RESOURCE_KEY = 'globalPan';\nvar DIRECTION_MAP = {\n  w: [0, 0],\n  e: [0, 1],\n  n: [1, 0],\n  s: [1, 1]\n};\nvar CURSOR_MAP = {\n  w: 'ew',\n  e: 'ew',\n  n: 'ns',\n  s: 'ns',\n  ne: 'nesw',\n  sw: 'nesw',\n  nw: 'nwse',\n  se: 'nwse'\n};\nvar DEFAULT_BRUSH_OPT = {\n  brushStyle: {\n    lineWidth: 2,\n    stroke: 'rgba(210,219,238,0.3)',\n    fill: '#D2DBEE'\n  },\n  transformable: true,\n  brushMode: 'single',\n  removeOnClick: false\n};\nvar baseUID = 0;\n/**\n * params:\n *     areas: Array.<Array>, coord relates to container group,\n *                             If no container specified, to global.\n *     opt {\n *         isEnd: boolean,\n *         removeOnClick: boolean\n *     }\n */\n\nvar BrushController =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BrushController, _super);\n\n  function BrushController(zr) {\n    var _this = _super.call(this) || this;\n    /**\n     * @internal\n     */\n\n\n    _this._track = [];\n    /**\n     * @internal\n     */\n\n    _this._covers = [];\n    _this._handlers = {};\n\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(zr);\n    }\n\n    _this._zr = zr;\n    _this.group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n    _this._uid = 'brushController_' + baseUID++;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(pointerHandlers, function (handler, eventName) {\n      this._handlers[eventName] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(handler, this);\n    }, _this);\n    return _this;\n  }\n  /**\n   * If set to `false`, select disabled.\n   */\n\n\n  BrushController.prototype.enableBrush = function (brushOption) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(this._mounted);\n    }\n\n    this._brushType && this._doDisableBrush();\n    brushOption.brushType && this._doEnableBrush(brushOption);\n    return this;\n  };\n\n  BrushController.prototype._doEnableBrush = function (brushOption) {\n    var zr = this._zr; // Consider roam, which takes globalPan too.\n\n    if (!this._enableGlobalPan) {\n      _interactionMutex_js__WEBPACK_IMPORTED_MODULE_4__[\"take\"](zr, MUTEX_RESOURCE_KEY, this._uid);\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._handlers, function (handler, eventName) {\n      zr.on(eventName, handler);\n    });\n    this._brushType = brushOption.brushType;\n    this._brushOption = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(DEFAULT_BRUSH_OPT), brushOption, true);\n  };\n\n  BrushController.prototype._doDisableBrush = function () {\n    var zr = this._zr;\n    _interactionMutex_js__WEBPACK_IMPORTED_MODULE_4__[\"release\"](zr, MUTEX_RESOURCE_KEY, this._uid);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._handlers, function (handler, eventName) {\n      zr.off(eventName, handler);\n    });\n    this._brushType = this._brushOption = null;\n  };\n  /**\n   * @param panelOpts If not pass, it is global brush.\n   */\n\n\n  BrushController.prototype.setPanels = function (panelOpts) {\n    if (panelOpts && panelOpts.length) {\n      var panels_1 = this._panels = {};\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(panelOpts, function (panelOpts) {\n        panels_1[panelOpts.panelId] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(panelOpts);\n      });\n    } else {\n      this._panels = null;\n    }\n\n    return this;\n  };\n\n  BrushController.prototype.mount = function (opt) {\n    opt = opt || {};\n\n    if (true) {\n      this._mounted = true; // should be at first.\n    }\n\n    this._enableGlobalPan = opt.enableGlobalPan;\n    var thisGroup = this.group;\n\n    this._zr.add(thisGroup);\n\n    thisGroup.attr({\n      x: opt.x || 0,\n      y: opt.y || 0,\n      rotation: opt.rotation || 0,\n      scaleX: opt.scaleX || 1,\n      scaleY: opt.scaleY || 1\n    });\n    this._transform = thisGroup.getLocalTransform();\n    return this;\n  }; // eachCover(cb, context): void {\n  //     each(this._covers, cb, context);\n  // }\n\n  /**\n   * Update covers.\n   * @param coverConfigList\n   *        If coverConfigList is null/undefined, all covers removed.\n   */\n\n\n  BrushController.prototype.updateCovers = function (coverConfigList) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(this._mounted);\n    }\n\n    coverConfigList = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(coverConfigList, function (coverConfig) {\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(DEFAULT_BRUSH_OPT), coverConfig, true);\n    });\n    var tmpIdPrefix = '\\0-brush-index-';\n    var oldCovers = this._covers;\n    var newCovers = this._covers = [];\n    var controller = this;\n    var creatingCover = this._creatingCover;\n    new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](oldCovers, coverConfigList, oldGetKey, getKey).add(addOrUpdate).update(addOrUpdate).remove(remove).execute();\n    return this;\n\n    function getKey(brushOption, index) {\n      return (brushOption.id != null ? brushOption.id : tmpIdPrefix + index) + '-' + brushOption.brushType;\n    }\n\n    function oldGetKey(cover, index) {\n      return getKey(cover.__brushOption, index);\n    }\n\n    function addOrUpdate(newIndex, oldIndex) {\n      var newBrushInternal = coverConfigList[newIndex]; // Consider setOption in event listener of brushSelect,\n      // where updating cover when creating should be forbiden.\n\n      if (oldIndex != null && oldCovers[oldIndex] === creatingCover) {\n        newCovers[newIndex] = oldCovers[oldIndex];\n      } else {\n        var cover = newCovers[newIndex] = oldIndex != null ? (oldCovers[oldIndex].__brushOption = newBrushInternal, oldCovers[oldIndex]) : endCreating(controller, createCover(controller, newBrushInternal));\n        updateCoverAfterCreation(controller, cover);\n      }\n    }\n\n    function remove(oldIndex) {\n      if (oldCovers[oldIndex] !== creatingCover) {\n        controller.group.remove(oldCovers[oldIndex]);\n      }\n    }\n  };\n\n  BrushController.prototype.unmount = function () {\n    if (true) {\n      if (!this._mounted) {\n        return;\n      }\n    }\n\n    this.enableBrush(false); // container may 'removeAll' outside.\n\n    clearCovers(this);\n\n    this._zr.remove(this.group);\n\n    if (true) {\n      this._mounted = false; // should be at last.\n    }\n\n    return this;\n  };\n\n  BrushController.prototype.dispose = function () {\n    this.unmount();\n    this.off();\n  };\n\n  return BrushController;\n}(zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction createCover(controller, brushOption) {\n  var cover = coverRenderers[brushOption.brushType].createCover(controller, brushOption);\n  cover.__brushOption = brushOption;\n  updateZ(cover, brushOption);\n  controller.group.add(cover);\n  return cover;\n}\n\nfunction endCreating(controller, creatingCover) {\n  var coverRenderer = getCoverRenderer(creatingCover);\n\n  if (coverRenderer.endCreating) {\n    coverRenderer.endCreating(controller, creatingCover);\n    updateZ(creatingCover, creatingCover.__brushOption);\n  }\n\n  return creatingCover;\n}\n\nfunction updateCoverShape(controller, cover) {\n  var brushOption = cover.__brushOption;\n  getCoverRenderer(cover).updateCoverShape(controller, cover, brushOption.range, brushOption);\n}\n\nfunction updateZ(cover, brushOption) {\n  var z = brushOption.z;\n  z == null && (z = COVER_Z);\n  cover.traverse(function (el) {\n    el.z = z;\n    el.z2 = z; // Consider in given container.\n  });\n}\n\nfunction updateCoverAfterCreation(controller, cover) {\n  getCoverRenderer(cover).updateCommon(controller, cover);\n  updateCoverShape(controller, cover);\n}\n\nfunction getCoverRenderer(cover) {\n  return coverRenderers[cover.__brushOption.brushType];\n} // return target panel or `true` (means global panel)\n\n\nfunction getPanelByPoint(controller, e, localCursorPoint) {\n  var panels = controller._panels;\n\n  if (!panels) {\n    return BRUSH_PANEL_GLOBAL; // Global panel\n  }\n\n  var panel;\n  var transform = controller._transform;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(panels, function (pn) {\n    pn.isTargetByCursor(e, localCursorPoint, transform) && (panel = pn);\n  });\n  return panel;\n} // Return a panel or true\n\n\nfunction getPanelByCover(controller, cover) {\n  var panels = controller._panels;\n\n  if (!panels) {\n    return BRUSH_PANEL_GLOBAL; // Global panel\n  }\n\n  var panelId = cover.__brushOption.panelId; // User may give cover without coord sys info,\n  // which is then treated as global panel.\n\n  return panelId != null ? panels[panelId] : BRUSH_PANEL_GLOBAL;\n}\n\nfunction clearCovers(controller) {\n  var covers = controller._covers;\n  var originalLength = covers.length;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(covers, function (cover) {\n    controller.group.remove(cover);\n  }, controller);\n  covers.length = 0;\n  return !!originalLength;\n}\n\nfunction trigger(controller, opt) {\n  var areas = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(controller._covers, function (cover) {\n    var brushOption = cover.__brushOption;\n    var range = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(brushOption.range);\n    return {\n      brushType: brushOption.brushType,\n      panelId: brushOption.panelId,\n      range: range\n    };\n  });\n  controller.trigger('brush', {\n    areas: areas,\n    isEnd: !!opt.isEnd,\n    removeOnClick: !!opt.removeOnClick\n  });\n}\n\nfunction shouldShowCover(controller) {\n  var track = controller._track;\n\n  if (!track.length) {\n    return false;\n  }\n\n  var p2 = track[track.length - 1];\n  var p1 = track[0];\n  var dx = p2[0] - p1[0];\n  var dy = p2[1] - p1[1];\n  var dist = mathPow(dx * dx + dy * dy, 0.5);\n  return dist > UNSELECT_THRESHOLD;\n}\n\nfunction getTrackEnds(track) {\n  var tail = track.length - 1;\n  tail < 0 && (tail = 0);\n  return [track[0], track[tail]];\n}\n\n;\n\nfunction createBaseRectCover(rectRangeConverter, controller, brushOption, edgeNameSequences) {\n  var cover = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n  cover.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]({\n    name: 'main',\n    style: makeStyle(brushOption),\n    silent: true,\n    draggable: true,\n    cursor: 'move',\n    drift: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(driftRect, rectRangeConverter, controller, cover, ['n', 's', 'w', 'e']),\n    ondragend: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(trigger, controller, {\n      isEnd: true\n    })\n  }));\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(edgeNameSequences, function (nameSequence) {\n    cover.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]({\n      name: nameSequence.join(''),\n      style: {\n        opacity: 0\n      },\n      draggable: true,\n      silent: true,\n      invisible: true,\n      drift: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(driftRect, rectRangeConverter, controller, cover, nameSequence),\n      ondragend: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(trigger, controller, {\n        isEnd: true\n      })\n    }));\n  });\n  return cover;\n}\n\nfunction updateBaseRect(controller, cover, localRange, brushOption) {\n  var lineWidth = brushOption.brushStyle.lineWidth || 0;\n  var handleSize = mathMax(lineWidth, MIN_RESIZE_LINE_WIDTH);\n  var x = localRange[0][0];\n  var y = localRange[1][0];\n  var xa = x - lineWidth / 2;\n  var ya = y - lineWidth / 2;\n  var x2 = localRange[0][1];\n  var y2 = localRange[1][1];\n  var x2a = x2 - handleSize + lineWidth / 2;\n  var y2a = y2 - handleSize + lineWidth / 2;\n  var width = x2 - x;\n  var height = y2 - y;\n  var widtha = width + lineWidth;\n  var heighta = height + lineWidth;\n  updateRectShape(controller, cover, 'main', x, y, width, height);\n\n  if (brushOption.transformable) {\n    updateRectShape(controller, cover, 'w', xa, ya, handleSize, heighta);\n    updateRectShape(controller, cover, 'e', x2a, ya, handleSize, heighta);\n    updateRectShape(controller, cover, 'n', xa, ya, widtha, handleSize);\n    updateRectShape(controller, cover, 's', xa, y2a, widtha, handleSize);\n    updateRectShape(controller, cover, 'nw', xa, ya, handleSize, handleSize);\n    updateRectShape(controller, cover, 'ne', x2a, ya, handleSize, handleSize);\n    updateRectShape(controller, cover, 'sw', xa, y2a, handleSize, handleSize);\n    updateRectShape(controller, cover, 'se', x2a, y2a, handleSize, handleSize);\n  }\n}\n\nfunction updateCommon(controller, cover) {\n  var brushOption = cover.__brushOption;\n  var transformable = brushOption.transformable;\n  var mainEl = cover.childAt(0);\n  mainEl.useStyle(makeStyle(brushOption));\n  mainEl.attr({\n    silent: !transformable,\n    cursor: transformable ? 'move' : 'default'\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])([['w'], ['e'], ['n'], ['s'], ['s', 'e'], ['s', 'w'], ['n', 'e'], ['n', 'w']], function (nameSequence) {\n    var el = cover.childOfName(nameSequence.join(''));\n    var globalDir = nameSequence.length === 1 ? getGlobalDirection1(controller, nameSequence[0]) : getGlobalDirection2(controller, nameSequence);\n    el && el.attr({\n      silent: !transformable,\n      invisible: !transformable,\n      cursor: transformable ? CURSOR_MAP[globalDir] + '-resize' : null\n    });\n  });\n}\n\nfunction updateRectShape(controller, cover, name, x, y, w, h) {\n  var el = cover.childOfName(name);\n  el && el.setShape(pointsToRect(clipByPanel(controller, cover, [[x, y], [x + w, y + h]])));\n}\n\nfunction makeStyle(brushOption) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"])({\n    strokeNoScale: true\n  }, brushOption.brushStyle);\n}\n\nfunction formatRectRange(x, y, x2, y2) {\n  var min = [mathMin(x, x2), mathMin(y, y2)];\n  var max = [mathMax(x, x2), mathMax(y, y2)];\n  return [[min[0], max[0]], [min[1], max[1]] // y range\n  ];\n}\n\nfunction getTransform(controller) {\n  return _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"getTransform\"](controller.group);\n}\n\nfunction getGlobalDirection1(controller, localDirName) {\n  var map = {\n    w: 'left',\n    e: 'right',\n    n: 'top',\n    s: 'bottom'\n  };\n  var inverseMap = {\n    left: 'w',\n    right: 'e',\n    top: 'n',\n    bottom: 's'\n  };\n  var dir = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"transformDirection\"](map[localDirName], getTransform(controller));\n  return inverseMap[dir];\n}\n\nfunction getGlobalDirection2(controller, localDirNameSeq) {\n  var globalDir = [getGlobalDirection1(controller, localDirNameSeq[0]), getGlobalDirection1(controller, localDirNameSeq[1])];\n  (globalDir[0] === 'e' || globalDir[0] === 'w') && globalDir.reverse();\n  return globalDir.join('');\n}\n\nfunction driftRect(rectRangeConverter, controller, cover, dirNameSequence, dx, dy) {\n  var brushOption = cover.__brushOption;\n  var rectRange = rectRangeConverter.toRectRange(brushOption.range);\n  var localDelta = toLocalDelta(controller, dx, dy);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(dirNameSequence, function (dirName) {\n    var ind = DIRECTION_MAP[dirName];\n    rectRange[ind[0]][ind[1]] += localDelta[ind[0]];\n  });\n  brushOption.range = rectRangeConverter.fromRectRange(formatRectRange(rectRange[0][0], rectRange[1][0], rectRange[0][1], rectRange[1][1]));\n  updateCoverAfterCreation(controller, cover);\n  trigger(controller, {\n    isEnd: false\n  });\n}\n\nfunction driftPolygon(controller, cover, dx, dy) {\n  var range = cover.__brushOption.range;\n  var localDelta = toLocalDelta(controller, dx, dy);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(range, function (point) {\n    point[0] += localDelta[0];\n    point[1] += localDelta[1];\n  });\n  updateCoverAfterCreation(controller, cover);\n  trigger(controller, {\n    isEnd: false\n  });\n}\n\nfunction toLocalDelta(controller, dx, dy) {\n  var thisGroup = controller.group;\n  var localD = thisGroup.transformCoordToLocal(dx, dy);\n  var localZero = thisGroup.transformCoordToLocal(0, 0);\n  return [localD[0] - localZero[0], localD[1] - localZero[1]];\n}\n\nfunction clipByPanel(controller, cover, data) {\n  var panel = getPanelByCover(controller, cover);\n  return panel && panel !== BRUSH_PANEL_GLOBAL ? panel.clipPath(data, controller._transform) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(data);\n}\n\nfunction pointsToRect(points) {\n  var xmin = mathMin(points[0][0], points[1][0]);\n  var ymin = mathMin(points[0][1], points[1][1]);\n  var xmax = mathMax(points[0][0], points[1][0]);\n  var ymax = mathMax(points[0][1], points[1][1]);\n  return {\n    x: xmin,\n    y: ymin,\n    width: xmax - xmin,\n    height: ymax - ymin\n  };\n}\n\nfunction resetCursor(controller, e, localCursorPoint) {\n  if ( // Check active\n  !controller._brushType // resetCursor should be always called when mouse is in zr area,\n  // but not called when mouse is out of zr area to avoid bad influence\n  // if `mousemove`, `mouseup` are triggered from `document` event.\n  || isOutsideZrArea(controller, e.offsetX, e.offsetY)) {\n    return;\n  }\n\n  var zr = controller._zr;\n  var covers = controller._covers;\n  var currPanel = getPanelByPoint(controller, e, localCursorPoint); // Check whether in covers.\n\n  if (!controller._dragging) {\n    for (var i = 0; i < covers.length; i++) {\n      var brushOption = covers[i].__brushOption;\n\n      if (currPanel && (currPanel === BRUSH_PANEL_GLOBAL || brushOption.panelId === currPanel.panelId) && coverRenderers[brushOption.brushType].contain(covers[i], localCursorPoint[0], localCursorPoint[1])) {\n        // Use cursor style set on cover.\n        return;\n      }\n    }\n  }\n\n  currPanel && zr.setCursorStyle('crosshair');\n}\n\nfunction preventDefault(e) {\n  var rawE = e.event;\n  rawE.preventDefault && rawE.preventDefault();\n}\n\nfunction mainShapeContain(cover, x, y) {\n  return cover.childOfName('main').contain(x, y);\n}\n\nfunction updateCoverByMouse(controller, e, localCursorPoint, isEnd) {\n  var creatingCover = controller._creatingCover;\n  var panel = controller._creatingPanel;\n  var thisBrushOption = controller._brushOption;\n  var eventParams;\n\n  controller._track.push(localCursorPoint.slice());\n\n  if (shouldShowCover(controller) || creatingCover) {\n    if (panel && !creatingCover) {\n      thisBrushOption.brushMode === 'single' && clearCovers(controller);\n      var brushOption = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(thisBrushOption);\n      brushOption.brushType = determineBrushType(brushOption.brushType, panel);\n      brushOption.panelId = panel === BRUSH_PANEL_GLOBAL ? null : panel.panelId;\n      creatingCover = controller._creatingCover = createCover(controller, brushOption);\n\n      controller._covers.push(creatingCover);\n    }\n\n    if (creatingCover) {\n      var coverRenderer = coverRenderers[determineBrushType(controller._brushType, panel)];\n      var coverBrushOption = creatingCover.__brushOption;\n      coverBrushOption.range = coverRenderer.getCreatingRange(clipByPanel(controller, creatingCover, controller._track));\n\n      if (isEnd) {\n        endCreating(controller, creatingCover);\n        coverRenderer.updateCommon(controller, creatingCover);\n      }\n\n      updateCoverShape(controller, creatingCover);\n      eventParams = {\n        isEnd: isEnd\n      };\n    }\n  } else if (isEnd && thisBrushOption.brushMode === 'single' && thisBrushOption.removeOnClick) {\n    // Help user to remove covers easily, only by a tiny drag, in 'single' mode.\n    // But a single click do not clear covers, because user may have casual\n    // clicks (for example, click on other component and do not expect covers\n    // disappear).\n    // Only some cover removed, trigger action, but not every click trigger action.\n    if (getPanelByPoint(controller, e, localCursorPoint) && clearCovers(controller)) {\n      eventParams = {\n        isEnd: isEnd,\n        removeOnClick: true\n      };\n    }\n  }\n\n  return eventParams;\n}\n\nfunction determineBrushType(brushType, panel) {\n  if (brushType === 'auto') {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(panel && panel.defaultBrushType, 'MUST have defaultBrushType when brushType is \"atuo\"');\n    }\n\n    return panel.defaultBrushType;\n  }\n\n  return brushType;\n}\n\nvar pointerHandlers = {\n  mousedown: function (e) {\n    if (this._dragging) {\n      // In case some browser do not support globalOut,\n      // and release mouse out side the browser.\n      handleDragEnd(this, e);\n    } else if (!e.target || !e.target.draggable) {\n      preventDefault(e);\n      var localCursorPoint = this.group.transformCoordToLocal(e.offsetX, e.offsetY);\n      this._creatingCover = null;\n      var panel = this._creatingPanel = getPanelByPoint(this, e, localCursorPoint);\n\n      if (panel) {\n        this._dragging = true;\n        this._track = [localCursorPoint.slice()];\n      }\n    }\n  },\n  mousemove: function (e) {\n    var x = e.offsetX;\n    var y = e.offsetY;\n    var localCursorPoint = this.group.transformCoordToLocal(x, y);\n    resetCursor(this, e, localCursorPoint);\n\n    if (this._dragging) {\n      preventDefault(e);\n      var eventParams = updateCoverByMouse(this, e, localCursorPoint, false);\n      eventParams && trigger(this, eventParams);\n    }\n  },\n  mouseup: function (e) {\n    handleDragEnd(this, e);\n  }\n};\n\nfunction handleDragEnd(controller, e) {\n  if (controller._dragging) {\n    preventDefault(e);\n    var x = e.offsetX;\n    var y = e.offsetY;\n    var localCursorPoint = controller.group.transformCoordToLocal(x, y);\n    var eventParams = updateCoverByMouse(controller, e, localCursorPoint, true);\n    controller._dragging = false;\n    controller._track = [];\n    controller._creatingCover = null; // trigger event shoule be at final, after procedure will be nested.\n\n    eventParams && trigger(controller, eventParams);\n  }\n}\n\nfunction isOutsideZrArea(controller, x, y) {\n  var zr = controller._zr;\n  return x < 0 || x > zr.getWidth() || y < 0 || y > zr.getHeight();\n}\n/**\n * key: brushType\n */\n\n\nvar coverRenderers = {\n  lineX: getLineRenderer(0),\n  lineY: getLineRenderer(1),\n  rect: {\n    createCover: function (controller, brushOption) {\n      function returnInput(range) {\n        return range;\n      }\n\n      return createBaseRectCover({\n        toRectRange: returnInput,\n        fromRectRange: returnInput\n      }, controller, brushOption, [['w'], ['e'], ['n'], ['s'], ['s', 'e'], ['s', 'w'], ['n', 'e'], ['n', 'w']]);\n    },\n    getCreatingRange: function (localTrack) {\n      var ends = getTrackEnds(localTrack);\n      return formatRectRange(ends[1][0], ends[1][1], ends[0][0], ends[0][1]);\n    },\n    updateCoverShape: function (controller, cover, localRange, brushOption) {\n      updateBaseRect(controller, cover, localRange, brushOption);\n    },\n    updateCommon: updateCommon,\n    contain: mainShapeContain\n  },\n  polygon: {\n    createCover: function (controller, brushOption) {\n      var cover = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"](); // Do not use graphic.Polygon because graphic.Polyline do not close the\n      // border of the shape when drawing, which is a better experience for user.\n\n      cover.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Polyline\"]({\n        name: 'main',\n        style: makeStyle(brushOption),\n        silent: true\n      }));\n      return cover;\n    },\n    getCreatingRange: function (localTrack) {\n      return localTrack;\n    },\n    endCreating: function (controller, cover) {\n      cover.remove(cover.childAt(0)); // Use graphic.Polygon close the shape.\n\n      cover.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Polygon\"]({\n        name: 'main',\n        draggable: true,\n        drift: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(driftPolygon, controller, cover),\n        ondragend: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"])(trigger, controller, {\n          isEnd: true\n        })\n      }));\n    },\n    updateCoverShape: function (controller, cover, localRange, brushOption) {\n      cover.childAt(0).setShape({\n        points: clipByPanel(controller, cover, localRange)\n      });\n    },\n    updateCommon: updateCommon,\n    contain: mainShapeContain\n  }\n};\n\nfunction getLineRenderer(xyIndex) {\n  return {\n    createCover: function (controller, brushOption) {\n      return createBaseRectCover({\n        toRectRange: function (range) {\n          var rectRange = [range, [0, 100]];\n          xyIndex && rectRange.reverse();\n          return rectRange;\n        },\n        fromRectRange: function (rectRange) {\n          return rectRange[xyIndex];\n        }\n      }, controller, brushOption, [[['w'], ['e']], [['n'], ['s']]][xyIndex]);\n    },\n    getCreatingRange: function (localTrack) {\n      var ends = getTrackEnds(localTrack);\n      var min = mathMin(ends[0][xyIndex], ends[1][xyIndex]);\n      var max = mathMax(ends[0][xyIndex], ends[1][xyIndex]);\n      return [min, max];\n    },\n    updateCoverShape: function (controller, cover, localRange, brushOption) {\n      var otherExtent; // If brushWidth not specified, fit the panel.\n\n      var panel = getPanelByCover(controller, cover);\n\n      if (panel !== BRUSH_PANEL_GLOBAL && panel.getLinearBrushOtherExtent) {\n        otherExtent = panel.getLinearBrushOtherExtent(xyIndex);\n      } else {\n        var zr = controller._zr;\n        otherExtent = [0, [zr.getWidth(), zr.getHeight()][1 - xyIndex]];\n      }\n\n      var rectRange = [localRange, otherExtent];\n      xyIndex && rectRange.reverse();\n      updateBaseRect(controller, cover, rectRange, brushOption);\n    },\n    updateCommon: updateCommon,\n    contain: mainShapeContain\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BrushController);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/BrushController.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/BrushTargetManager.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/BrushTargetManager.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _brushHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./brushHelper.js */ \"./node_modules/echarts/lib/component/helper/brushHelper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n // FIXME\n// how to genarialize to more coordinate systems.\n\nvar INCLUDE_FINDER_MAIN_TYPES = ['grid', 'xAxis', 'yAxis', 'geo', 'graph', 'polar', 'radiusAxis', 'angleAxis', 'bmap'];\n\nvar BrushTargetManager =\n/** @class */\nfunction () {\n  /**\n   * @param finder contains Index/Id/Name of xAxis/yAxis/geo/grid\n   *        Each can be {number|Array.<number>}. like: {xAxisIndex: [3, 4]}\n   * @param opt.include include coordinate system types.\n   */\n  function BrushTargetManager(finder, ecModel, opt) {\n    var _this = this;\n\n    this._targetInfoList = [];\n    var foundCpts = parseFinder(ecModel, finder);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(targetInfoBuilders, function (builder, type) {\n      if (!opt || !opt.include || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(opt.include, type) >= 0) {\n        builder(foundCpts, _this._targetInfoList);\n      }\n    });\n  }\n\n  BrushTargetManager.prototype.setOutputRanges = function (areas, ecModel) {\n    this.matchOutputRanges(areas, ecModel, function (area, coordRange, coordSys) {\n      (area.coordRanges || (area.coordRanges = [])).push(coordRange); // area.coordRange is the first of area.coordRanges\n\n      if (!area.coordRange) {\n        area.coordRange = coordRange; // In 'category' axis, coord to pixel is not reversible, so we can not\n        // rebuild range by coordRange accrately, which may bring trouble when\n        // brushing only one item. So we use __rangeOffset to rebuilding range\n        // by coordRange. And this it only used in brush component so it is no\n        // need to be adapted to coordRanges.\n\n        var result = coordConvert[area.brushType](0, coordSys, coordRange);\n        area.__rangeOffset = {\n          offset: diffProcessor[area.brushType](result.values, area.range, [1, 1]),\n          xyMinMax: result.xyMinMax\n        };\n      }\n    });\n    return areas;\n  };\n\n  BrushTargetManager.prototype.matchOutputRanges = function (areas, ecModel, cb) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(areas, function (area) {\n      var targetInfo = this.findTargetInfo(area, ecModel);\n\n      if (targetInfo && targetInfo !== true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(targetInfo.coordSyses, function (coordSys) {\n          var result = coordConvert[area.brushType](1, coordSys, area.range, true);\n          cb(area, result.values, coordSys, ecModel);\n        });\n      }\n    }, this);\n  };\n  /**\n   * the `areas` is `BrushModel.areas`.\n   * Called in layout stage.\n   * convert `area.coordRange` to global range and set panelId to `area.range`.\n   */\n\n\n  BrushTargetManager.prototype.setInputRanges = function (areas, ecModel) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(areas, function (area) {\n      var targetInfo = this.findTargetInfo(area, ecModel);\n\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!targetInfo || targetInfo === true || area.coordRange, 'coordRange must be specified when coord index specified.');\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!targetInfo || targetInfo !== true || area.range, 'range must be specified in global brush.');\n      }\n\n      area.range = area.range || []; // convert coordRange to global range and set panelId.\n\n      if (targetInfo && targetInfo !== true) {\n        area.panelId = targetInfo.panelId; // (1) area.range shoule always be calculate from coordRange but does\n        // not keep its original value, for the sake of the dataZoom scenario,\n        // where area.coordRange remains unchanged but area.range may be changed.\n        // (2) Only support converting one coordRange to pixel range in brush\n        // component. So do not consider `coordRanges`.\n        // (3) About __rangeOffset, see comment above.\n\n        var result = coordConvert[area.brushType](0, targetInfo.coordSys, area.coordRange);\n        var rangeOffset = area.__rangeOffset;\n        area.range = rangeOffset ? diffProcessor[area.brushType](result.values, rangeOffset.offset, getScales(result.xyMinMax, rangeOffset.xyMinMax)) : result.values;\n      }\n    }, this);\n  };\n\n  BrushTargetManager.prototype.makePanelOpts = function (api, getDefaultBrushType) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(this._targetInfoList, function (targetInfo) {\n      var rect = targetInfo.getPanelRect();\n      return {\n        panelId: targetInfo.panelId,\n        defaultBrushType: getDefaultBrushType ? getDefaultBrushType(targetInfo) : null,\n        clipPath: _brushHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeRectPanelClipPath\"](rect),\n        isTargetByCursor: _brushHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeRectIsTargetByCursor\"](rect, api, targetInfo.coordSysModel),\n        getLinearBrushOtherExtent: _brushHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"makeLinearBrushOtherExtent\"](rect)\n      };\n    });\n  };\n\n  BrushTargetManager.prototype.controlSeries = function (area, seriesModel, ecModel) {\n    // Check whether area is bound in coord, and series do not belong to that coord.\n    // If do not do this check, some brush (like lineX) will controll all axes.\n    var targetInfo = this.findTargetInfo(area, ecModel);\n    return targetInfo === true || targetInfo && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(targetInfo.coordSyses, seriesModel.coordinateSystem) >= 0;\n  };\n  /**\n   * If return Object, a coord found.\n   * If reutrn true, global found.\n   * Otherwise nothing found.\n   */\n\n\n  BrushTargetManager.prototype.findTargetInfo = function (area, ecModel) {\n    var targetInfoList = this._targetInfoList;\n    var foundCpts = parseFinder(ecModel, area);\n\n    for (var i = 0; i < targetInfoList.length; i++) {\n      var targetInfo = targetInfoList[i];\n      var areaPanelId = area.panelId;\n\n      if (areaPanelId) {\n        if (targetInfo.panelId === areaPanelId) {\n          return targetInfo;\n        }\n      } else {\n        for (var j = 0; j < targetInfoMatchers.length; j++) {\n          if (targetInfoMatchers[j](foundCpts, targetInfo)) {\n            return targetInfo;\n          }\n        }\n      }\n    }\n\n    return true;\n  };\n\n  return BrushTargetManager;\n}();\n\nfunction formatMinMax(minMax) {\n  minMax[0] > minMax[1] && minMax.reverse();\n  return minMax;\n}\n\nfunction parseFinder(ecModel, finder) {\n  return Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"parseFinder\"])(ecModel, finder, {\n    includeMainTypes: INCLUDE_FINDER_MAIN_TYPES\n  });\n}\n\nvar targetInfoBuilders = {\n  grid: function (foundCpts, targetInfoList) {\n    var xAxisModels = foundCpts.xAxisModels;\n    var yAxisModels = foundCpts.yAxisModels;\n    var gridModels = foundCpts.gridModels; // Remove duplicated.\n\n    var gridModelMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    var xAxesHas = {};\n    var yAxesHas = {};\n\n    if (!xAxisModels && !yAxisModels && !gridModels) {\n      return;\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(xAxisModels, function (axisModel) {\n      var gridModel = axisModel.axis.grid.model;\n      gridModelMap.set(gridModel.id, gridModel);\n      xAxesHas[gridModel.id] = true;\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(yAxisModels, function (axisModel) {\n      var gridModel = axisModel.axis.grid.model;\n      gridModelMap.set(gridModel.id, gridModel);\n      yAxesHas[gridModel.id] = true;\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(gridModels, function (gridModel) {\n      gridModelMap.set(gridModel.id, gridModel);\n      xAxesHas[gridModel.id] = true;\n      yAxesHas[gridModel.id] = true;\n    });\n    gridModelMap.each(function (gridModel) {\n      var grid = gridModel.coordinateSystem;\n      var cartesians = [];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(grid.getCartesians(), function (cartesian, index) {\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(xAxisModels, cartesian.getAxis('x').model) >= 0 || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(yAxisModels, cartesian.getAxis('y').model) >= 0) {\n          cartesians.push(cartesian);\n        }\n      });\n      targetInfoList.push({\n        panelId: 'grid--' + gridModel.id,\n        gridModel: gridModel,\n        coordSysModel: gridModel,\n        // Use the first one as the representitive coordSys.\n        coordSys: cartesians[0],\n        coordSyses: cartesians,\n        getPanelRect: panelRectBuilders.grid,\n        xAxisDeclared: xAxesHas[gridModel.id],\n        yAxisDeclared: yAxesHas[gridModel.id]\n      });\n    });\n  },\n  geo: function (foundCpts, targetInfoList) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(foundCpts.geoModels, function (geoModel) {\n      var coordSys = geoModel.coordinateSystem;\n      targetInfoList.push({\n        panelId: 'geo--' + geoModel.id,\n        geoModel: geoModel,\n        coordSysModel: geoModel,\n        coordSys: coordSys,\n        coordSyses: [coordSys],\n        getPanelRect: panelRectBuilders.geo\n      });\n    });\n  }\n};\nvar targetInfoMatchers = [// grid\nfunction (foundCpts, targetInfo) {\n  var xAxisModel = foundCpts.xAxisModel;\n  var yAxisModel = foundCpts.yAxisModel;\n  var gridModel = foundCpts.gridModel;\n  !gridModel && xAxisModel && (gridModel = xAxisModel.axis.grid.model);\n  !gridModel && yAxisModel && (gridModel = yAxisModel.axis.grid.model);\n  return gridModel && gridModel === targetInfo.gridModel;\n}, // geo\nfunction (foundCpts, targetInfo) {\n  var geoModel = foundCpts.geoModel;\n  return geoModel && geoModel === targetInfo.geoModel;\n}];\nvar panelRectBuilders = {\n  grid: function () {\n    // grid is not Transformable.\n    return this.coordSys.master.getRect().clone();\n  },\n  geo: function () {\n    var coordSys = this.coordSys;\n    var rect = coordSys.getBoundingRect().clone(); // geo roam and zoom transform\n\n    rect.applyTransform(_util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"getTransform\"](coordSys));\n    return rect;\n  }\n};\nvar coordConvert = {\n  lineX: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(axisConvert, 0),\n  lineY: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(axisConvert, 1),\n  rect: function (to, coordSys, rangeOrCoordRange, clamp) {\n    var xminymin = to ? coordSys.pointToData([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]], clamp) : coordSys.dataToPoint([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]], clamp);\n    var xmaxymax = to ? coordSys.pointToData([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]], clamp) : coordSys.dataToPoint([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]], clamp);\n    var values = [formatMinMax([xminymin[0], xmaxymax[0]]), formatMinMax([xminymin[1], xmaxymax[1]])];\n    return {\n      values: values,\n      xyMinMax: values\n    };\n  },\n  polygon: function (to, coordSys, rangeOrCoordRange, clamp) {\n    var xyMinMax = [[Infinity, -Infinity], [Infinity, -Infinity]];\n    var values = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(rangeOrCoordRange, function (item) {\n      var p = to ? coordSys.pointToData(item, clamp) : coordSys.dataToPoint(item, clamp);\n      xyMinMax[0][0] = Math.min(xyMinMax[0][0], p[0]);\n      xyMinMax[1][0] = Math.min(xyMinMax[1][0], p[1]);\n      xyMinMax[0][1] = Math.max(xyMinMax[0][1], p[0]);\n      xyMinMax[1][1] = Math.max(xyMinMax[1][1], p[1]);\n      return p;\n    });\n    return {\n      values: values,\n      xyMinMax: xyMinMax\n    };\n  }\n};\n\nfunction axisConvert(axisNameIndex, to, coordSys, rangeOrCoordRange) {\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(coordSys.type === 'cartesian2d', 'lineX/lineY brush is available only in cartesian2d.');\n  }\n\n  var axis = coordSys.getAxis(['x', 'y'][axisNameIndex]);\n  var values = formatMinMax(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])([0, 1], function (i) {\n    return to ? axis.coordToData(axis.toLocalCoord(rangeOrCoordRange[i]), true) : axis.toGlobalCoord(axis.dataToCoord(rangeOrCoordRange[i]));\n  }));\n  var xyMinMax = [];\n  xyMinMax[axisNameIndex] = values;\n  xyMinMax[1 - axisNameIndex] = [NaN, NaN];\n  return {\n    values: values,\n    xyMinMax: xyMinMax\n  };\n}\n\nvar diffProcessor = {\n  lineX: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(axisDiffProcessor, 0),\n  lineY: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(axisDiffProcessor, 1),\n  rect: function (values, refer, scales) {\n    return [[values[0][0] - scales[0] * refer[0][0], values[0][1] - scales[0] * refer[0][1]], [values[1][0] - scales[1] * refer[1][0], values[1][1] - scales[1] * refer[1][1]]];\n  },\n  polygon: function (values, refer, scales) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(values, function (item, idx) {\n      return [item[0] - scales[0] * refer[idx][0], item[1] - scales[1] * refer[idx][1]];\n    });\n  }\n};\n\nfunction axisDiffProcessor(axisNameIndex, values, refer, scales) {\n  return [values[0] - scales[axisNameIndex] * refer[0], values[1] - scales[axisNameIndex] * refer[1]];\n} // We have to process scale caused by dataZoom manually,\n// although it might be not accurate.\n// Return [0~1, 0~1]\n\n\nfunction getScales(xyMinMaxCurr, xyMinMaxOrigin) {\n  var sizeCurr = getSize(xyMinMaxCurr);\n  var sizeOrigin = getSize(xyMinMaxOrigin);\n  var scales = [sizeCurr[0] / sizeOrigin[0], sizeCurr[1] / sizeOrigin[1]];\n  isNaN(scales[0]) && (scales[0] = 1);\n  isNaN(scales[1]) && (scales[1] = 1);\n  return scales;\n}\n\nfunction getSize(xyMinMax) {\n  return xyMinMax ? [xyMinMax[0][1] - xyMinMax[0][0], xyMinMax[1][1] - xyMinMax[1][0]] : [NaN, NaN];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BrushTargetManager);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/BrushTargetManager.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/MapDraw.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/MapDraw.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _RoamController_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RoamController.js */ \"./node_modules/echarts/lib/component/helper/RoamController.js\");\n/* harmony import */ var _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../component/helper/roamHelper.js */ \"./node_modules/echarts/lib/component/helper/roamHelper.js\");\n/* harmony import */ var _component_helper_cursorHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../component/helper/cursorHelper.js */ \"./node_modules/echarts/lib/component/helper/cursorHelper.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../coord/geo/geoSourceManager.js */ \"./node_modules/echarts/lib/coord/geo/geoSourceManager.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_decal_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/decal.js */ \"./node_modules/echarts/lib/util/decal.js\");\n/* harmony import */ var zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! zrender/lib/graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Only these tags enable use `itemStyle` if they are named in SVG.\n * Other tags like <text> <tspan> <image> might not suitable for `itemStyle`.\n * They will not be considered to be styled until some requirements come.\n */\n\nvar OPTION_STYLE_ENABLED_TAGS = ['rect', 'circle', 'line', 'ellipse', 'polygon', 'polyline', 'path'];\nvar OPTION_STYLE_ENABLED_TAG_MAP = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"](OPTION_STYLE_ENABLED_TAGS);\nvar STATE_TRIGGER_TAG_MAP = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"](OPTION_STYLE_ENABLED_TAGS.concat(['g']));\nvar LABEL_HOST_MAP = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"](OPTION_STYLE_ENABLED_TAGS.concat(['g']));\nvar mapLabelRaw = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_12__[\"makeInner\"])();\n\nfunction getFixedItemStyle(model) {\n  var itemStyle = model.getItemStyle();\n  var areaColor = model.get('areaColor'); // If user want the color not to be changed when hover,\n  // they should both set areaColor and color to be null.\n\n  if (areaColor != null) {\n    itemStyle.fill = areaColor;\n  }\n\n  return itemStyle;\n} // Only stroke can be used for line.\n// Using fill in style if stroke not exits.\n// TODO Not sure yet. Perhaps a separate `lineStyle`?\n\n\nfunction fixLineStyle(styleHost) {\n  var style = styleHost.style;\n\n  if (style) {\n    style.stroke = style.stroke || style.fill;\n    style.fill = null;\n  }\n}\n\nvar MapDraw =\n/** @class */\nfunction () {\n  function MapDraw(api) {\n    var group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"]();\n    this.uid = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_7__[\"getUID\"])('ec_map_draw');\n    this._controller = new _RoamController_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](api.getZr());\n    this._controllerHost = {\n      target: group\n    };\n    this.group = group;\n    group.add(this._regionsGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"]());\n    group.add(this._svgGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"]());\n  }\n\n  MapDraw.prototype.draw = function (mapOrGeoModel, ecModel, api, fromView, payload) {\n    var isGeo = mapOrGeoModel.mainType === 'geo'; // Map series has data. GEO model that controlled by map series\n    // will be assigned with map data. Other GEO model has no data.\n\n    var data = mapOrGeoModel.getData && mapOrGeoModel.getData();\n    isGeo && ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'map'\n    }, function (mapSeries) {\n      if (!data && mapSeries.getHostGeoModel() === mapOrGeoModel) {\n        data = mapSeries.getData();\n      }\n    });\n    var geo = mapOrGeoModel.coordinateSystem;\n    var regionsGroup = this._regionsGroup;\n    var group = this.group;\n    var transformInfo = geo.getTransformInfo();\n    var transformInfoRaw = transformInfo.raw;\n    var transformInfoRoam = transformInfo.roam; // No animation when first draw or in action\n\n    var isFirstDraw = !regionsGroup.childAt(0) || payload;\n\n    if (isFirstDraw) {\n      group.x = transformInfoRoam.x;\n      group.y = transformInfoRoam.y;\n      group.scaleX = transformInfoRoam.scaleX;\n      group.scaleY = transformInfoRoam.scaleY;\n      group.dirty();\n    } else {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"](group, transformInfoRoam, mapOrGeoModel);\n    }\n\n    var isVisualEncodedByVisualMap = data && data.getVisual('visualMeta') && data.getVisual('visualMeta').length > 0;\n    var viewBuildCtx = {\n      api: api,\n      geo: geo,\n      mapOrGeoModel: mapOrGeoModel,\n      data: data,\n      isVisualEncodedByVisualMap: isVisualEncodedByVisualMap,\n      isGeo: isGeo,\n      transformInfoRaw: transformInfoRaw\n    };\n\n    if (geo.resourceType === 'geoJSON') {\n      this._buildGeoJSON(viewBuildCtx);\n    } else if (geo.resourceType === 'geoSVG') {\n      this._buildSVG(viewBuildCtx);\n    }\n\n    this._updateController(mapOrGeoModel, ecModel, api);\n\n    this._updateMapSelectHandler(mapOrGeoModel, regionsGroup, api, fromView);\n  };\n\n  MapDraw.prototype._buildGeoJSON = function (viewBuildCtx) {\n    var regionsGroupByName = this._regionsGroupByName = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n    var regionsInfoByName = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n    var regionsGroup = this._regionsGroup;\n    var transformInfoRaw = viewBuildCtx.transformInfoRaw;\n    var mapOrGeoModel = viewBuildCtx.mapOrGeoModel;\n    var data = viewBuildCtx.data;\n    var projection = viewBuildCtx.geo.projection;\n    var projectionStream = projection && projection.stream;\n\n    function transformPoint(point, project) {\n      if (project) {\n        // projection may return null point.\n        point = project(point);\n      }\n\n      return point && [point[0] * transformInfoRaw.scaleX + transformInfoRaw.x, point[1] * transformInfoRaw.scaleY + transformInfoRaw.y];\n    }\n\n    ;\n\n    function transformPolygonPoints(inPoints) {\n      var outPoints = []; // If projectionStream is provided. Use it instead of single point project.\n\n      var project = !projectionStream && projection && projection.project;\n\n      for (var i = 0; i < inPoints.length; ++i) {\n        var newPt = transformPoint(inPoints[i], project);\n        newPt && outPoints.push(newPt);\n      }\n\n      return outPoints;\n    }\n\n    function getPolyShape(points) {\n      return {\n        shape: {\n          points: transformPolygonPoints(points)\n        }\n      };\n    }\n\n    regionsGroup.removeAll(); // Only when the resource is GeoJSON, there is `geo.regions`.\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](viewBuildCtx.geo.regions, function (region) {\n      var regionName = region.name; // Consider in GeoJson properties.name may be duplicated, for example,\n      // there is multiple region named \"United Kindom\" or \"France\" (so many\n      // colonies). And it is not appropriate to merge them in geo, which\n      // will make them share the same label and bring trouble in label\n      // location calculation.\n\n      var regionGroup = regionsGroupByName.get(regionName);\n\n      var _a = regionsInfoByName.get(regionName) || {},\n          dataIdx = _a.dataIdx,\n          regionModel = _a.regionModel;\n\n      if (!regionGroup) {\n        regionGroup = regionsGroupByName.set(regionName, new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"]());\n        regionsGroup.add(regionGroup);\n        dataIdx = data ? data.indexOfName(regionName) : null;\n        regionModel = viewBuildCtx.isGeo ? mapOrGeoModel.getRegionModel(regionName) : data ? data.getItemModel(dataIdx) : null;\n        regionsInfoByName.set(regionName, {\n          dataIdx: dataIdx,\n          regionModel: regionModel\n        });\n      }\n\n      var polygonSubpaths = [];\n      var polylineSubpaths = [];\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](region.geometries, function (geometry) {\n        // Polygon and MultiPolygon\n        if (geometry.type === 'polygon') {\n          var polys = [geometry.exterior].concat(geometry.interiors || []);\n\n          if (projectionStream) {\n            polys = projectPolys(polys, projectionStream);\n          }\n\n          zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](polys, function (poly) {\n            polygonSubpaths.push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Polygon\"](getPolyShape(poly)));\n          });\n        } // LineString and MultiLineString\n        else {\n            var points = geometry.points;\n\n            if (projectionStream) {\n              points = projectPolys(points, projectionStream, true);\n            }\n\n            zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](points, function (points) {\n              polylineSubpaths.push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Polyline\"](getPolyShape(points)));\n            });\n          }\n      });\n      var centerPt = transformPoint(region.getCenter(), projection && projection.project);\n\n      function createCompoundPath(subpaths, isLine) {\n        if (!subpaths.length) {\n          return;\n        }\n\n        var compoundPath = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"CompoundPath\"]({\n          culling: true,\n          segmentIgnoreThreshold: 1,\n          shape: {\n            paths: subpaths\n          }\n        });\n        regionGroup.add(compoundPath);\n        applyOptionStyleForRegion(viewBuildCtx, compoundPath, dataIdx, regionModel);\n        resetLabelForRegion(viewBuildCtx, compoundPath, regionName, regionModel, mapOrGeoModel, dataIdx, centerPt);\n\n        if (isLine) {\n          fixLineStyle(compoundPath);\n          zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](compoundPath.states, fixLineStyle);\n        }\n      }\n\n      createCompoundPath(polygonSubpaths);\n      createCompoundPath(polylineSubpaths, true);\n    }); // Ensure children have been added to `regionGroup` before calling them.\n\n    regionsGroupByName.each(function (regionGroup, regionName) {\n      var _a = regionsInfoByName.get(regionName),\n          dataIdx = _a.dataIdx,\n          regionModel = _a.regionModel;\n\n      resetEventTriggerForRegion(viewBuildCtx, regionGroup, regionName, regionModel, mapOrGeoModel, dataIdx);\n      resetTooltipForRegion(viewBuildCtx, regionGroup, regionName, regionModel, mapOrGeoModel);\n      resetStateTriggerForRegion(viewBuildCtx, regionGroup, regionName, regionModel, mapOrGeoModel);\n    }, this);\n  };\n\n  MapDraw.prototype._buildSVG = function (viewBuildCtx) {\n    var mapName = viewBuildCtx.geo.map;\n    var transformInfoRaw = viewBuildCtx.transformInfoRaw;\n    this._svgGroup.x = transformInfoRaw.x;\n    this._svgGroup.y = transformInfoRaw.y;\n    this._svgGroup.scaleX = transformInfoRaw.scaleX;\n    this._svgGroup.scaleY = transformInfoRaw.scaleY;\n\n    if (this._svgResourceChanged(mapName)) {\n      this._freeSVG();\n\n      this._useSVG(mapName);\n    }\n\n    var svgDispatcherMap = this._svgDispatcherMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n    var focusSelf = false;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](this._svgGraphicRecord.named, function (namedItem) {\n      // Note that we also allow different elements have the same name.\n      // For example, a glyph of a city and the label of the city have\n      // the same name and their tooltip info can be defined in a single\n      // region option.\n      var regionName = namedItem.name;\n      var mapOrGeoModel = viewBuildCtx.mapOrGeoModel;\n      var data = viewBuildCtx.data;\n      var svgNodeTagLower = namedItem.svgNodeTagLower;\n      var el = namedItem.el;\n      var dataIdx = data ? data.indexOfName(regionName) : null;\n      var regionModel = mapOrGeoModel.getRegionModel(regionName);\n\n      if (OPTION_STYLE_ENABLED_TAG_MAP.get(svgNodeTagLower) != null && el instanceof zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]) {\n        applyOptionStyleForRegion(viewBuildCtx, el, dataIdx, regionModel);\n      }\n\n      if (el instanceof zrender_lib_graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]) {\n        el.culling = true;\n      } // We do not know how the SVG like so we'd better not to change z2.\n      // Otherwise it might bring some unexpected result. For example,\n      // an area hovered that make some inner city can not be clicked.\n\n\n      el.z2EmphasisLift = 0; // If self named:\n\n      if (!namedItem.namedFrom) {\n        // label should batter to be displayed based on the center of <g>\n        // if it is named rather than displayed on each child.\n        if (LABEL_HOST_MAP.get(svgNodeTagLower) != null) {\n          resetLabelForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel, dataIdx, null);\n        }\n\n        resetEventTriggerForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel, dataIdx);\n        resetTooltipForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel);\n\n        if (STATE_TRIGGER_TAG_MAP.get(svgNodeTagLower) != null) {\n          var focus_1 = resetStateTriggerForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel);\n\n          if (focus_1 === 'self') {\n            focusSelf = true;\n          }\n\n          var els = svgDispatcherMap.get(regionName) || svgDispatcherMap.set(regionName, []);\n          els.push(el);\n        }\n      }\n    }, this);\n\n    this._enableBlurEntireSVG(focusSelf, viewBuildCtx);\n  };\n\n  MapDraw.prototype._enableBlurEntireSVG = function (focusSelf, viewBuildCtx) {\n    // It's a little complicated to support blurring the entire geoSVG in series-map.\n    // So do not suport it until some requirements come.\n    // At present, in series-map, only regions can be blurred.\n    if (focusSelf && viewBuildCtx.isGeo) {\n      var blurStyle = viewBuildCtx.mapOrGeoModel.getModel(['blur', 'itemStyle']).getItemStyle(); // Only suport `opacity` here. Because not sure that other props are suitable for\n      // all of the elements generated by SVG (especially for Text/TSpan/Image/... ).\n\n      var opacity_1 = blurStyle.opacity;\n\n      this._svgGraphicRecord.root.traverse(function (el) {\n        if (!el.isGroup) {\n          // PENDING: clear those settings to SVG elements when `_freeSVG`.\n          // (Currently it happen not to be needed.)\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"setDefaultStateProxy\"])(el);\n          var style = el.ensureState('blur').style || {}; // Do not overwrite the region style that already set from region option.\n\n          if (style.opacity == null && opacity_1 != null) {\n            style.opacity = opacity_1;\n          } // If `ensureState('blur').style = {}`, there will be default opacity.\n          // Enable `stateTransition` (animation).\n\n\n          el.ensureState('emphasis');\n        }\n      });\n    }\n  };\n\n  MapDraw.prototype.remove = function () {\n    this._regionsGroup.removeAll();\n\n    this._regionsGroupByName = null;\n\n    this._svgGroup.removeAll();\n\n    this._freeSVG();\n\n    this._controller.dispose();\n\n    this._controllerHost = null;\n  };\n\n  MapDraw.prototype.findHighDownDispatchers = function (name, geoModel) {\n    if (name == null) {\n      return [];\n    }\n\n    var geo = geoModel.coordinateSystem;\n\n    if (geo.resourceType === 'geoJSON') {\n      var regionsGroupByName = this._regionsGroupByName;\n\n      if (regionsGroupByName) {\n        var regionGroup = regionsGroupByName.get(name);\n        return regionGroup ? [regionGroup] : [];\n      }\n    } else if (geo.resourceType === 'geoSVG') {\n      return this._svgDispatcherMap && this._svgDispatcherMap.get(name) || [];\n    }\n  };\n\n  MapDraw.prototype._svgResourceChanged = function (mapName) {\n    return this._svgMapName !== mapName;\n  };\n\n  MapDraw.prototype._useSVG = function (mapName) {\n    var resource = _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].getGeoResource(mapName);\n\n    if (resource && resource.type === 'geoSVG') {\n      var svgGraphic = resource.useGraphic(this.uid);\n\n      this._svgGroup.add(svgGraphic.root);\n\n      this._svgGraphicRecord = svgGraphic;\n      this._svgMapName = mapName;\n    }\n  };\n\n  MapDraw.prototype._freeSVG = function () {\n    var mapName = this._svgMapName;\n\n    if (mapName == null) {\n      return;\n    }\n\n    var resource = _coord_geo_geoSourceManager_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].getGeoResource(mapName);\n\n    if (resource && resource.type === 'geoSVG') {\n      resource.freeGraphic(this.uid);\n    }\n\n    this._svgGraphicRecord = null;\n    this._svgDispatcherMap = null;\n\n    this._svgGroup.removeAll();\n\n    this._svgMapName = null;\n  };\n\n  MapDraw.prototype._updateController = function (mapOrGeoModel, ecModel, api) {\n    var geo = mapOrGeoModel.coordinateSystem;\n    var controller = this._controller;\n    var controllerHost = this._controllerHost; // @ts-ignore FIXME:TS\n\n    controllerHost.zoomLimit = mapOrGeoModel.get('scaleLimit');\n    controllerHost.zoom = geo.getZoom(); // roamType is will be set default true if it is null\n    // @ts-ignore FIXME:TS\n\n    controller.enable(mapOrGeoModel.get('roam') || false);\n    var mainType = mapOrGeoModel.mainType;\n\n    function makeActionBase() {\n      var action = {\n        type: 'geoRoam',\n        componentType: mainType\n      };\n      action[mainType + 'Id'] = mapOrGeoModel.id;\n      return action;\n    }\n\n    controller.off('pan').on('pan', function (e) {\n      this._mouseDownFlag = false;\n      _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"updateViewOnPan\"](controllerHost, e.dx, e.dy);\n      api.dispatchAction(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](makeActionBase(), {\n        dx: e.dx,\n        dy: e.dy,\n        animation: {\n          duration: 0\n        }\n      }));\n    }, this);\n    controller.off('zoom').on('zoom', function (e) {\n      this._mouseDownFlag = false;\n      _component_helper_roamHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"updateViewOnZoom\"](controllerHost, e.scale, e.originX, e.originY);\n      api.dispatchAction(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](makeActionBase(), {\n        zoom: e.scale,\n        originX: e.originX,\n        originY: e.originY,\n        animation: {\n          duration: 0\n        }\n      }));\n    }, this);\n    controller.setPointerChecker(function (e, x, y) {\n      return geo.containPoint([x, y]) && !Object(_component_helper_cursorHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"onIrrelevantElement\"])(e, api, mapOrGeoModel);\n    });\n  };\n  /**\n   * FIXME: this is a temporarily workaround.\n   * When `geoRoam` the elements need to be reset in `MapView['render']`, because the props like\n   * `ignore` might have been modified by `LabelManager`, and `LabelManager#addLabelsOfSeries`\n   * will subsequently cache `defaultAttr` like `ignore`. If do not do this reset, the modified\n   * props will have no chance to be restored.\n   * Note: this reset should be after `clearStates` in `renderSeries` becuase `useStates` in\n   * `renderSeries` will cache the modified `ignore` to `el._normalState`.\n   * TODO:\n   * Use clone/immutable in `LabelManager`?\n   */\n\n\n  MapDraw.prototype.resetForLabelLayout = function () {\n    this.group.traverse(function (el) {\n      var label = el.getTextContent();\n\n      if (label) {\n        label.ignore = mapLabelRaw(label).ignore;\n      }\n    });\n  };\n\n  MapDraw.prototype._updateMapSelectHandler = function (mapOrGeoModel, regionsGroup, api, fromView) {\n    var mapDraw = this;\n    regionsGroup.off('mousedown');\n    regionsGroup.off('click'); // @ts-ignore FIXME:TS resolve type conflict\n\n    if (mapOrGeoModel.get('selectedMode')) {\n      regionsGroup.on('mousedown', function () {\n        mapDraw._mouseDownFlag = true;\n      });\n      regionsGroup.on('click', function (e) {\n        if (!mapDraw._mouseDownFlag) {\n          return;\n        }\n\n        mapDraw._mouseDownFlag = false;\n      });\n    }\n  };\n\n  return MapDraw;\n}();\n\n;\n\nfunction applyOptionStyleForRegion(viewBuildCtx, el, dataIndex, regionModel) {\n  // All of the path are using `itemStyle`, becuase\n  // (1) Some SVG also use fill on polyline (The different between\n  // polyline and polygon is \"open\" or \"close\" but not fill or not).\n  // (2) For the common props like opacity, if some use itemStyle\n  // and some use `lineStyle`, it might confuse users.\n  // (3) Most SVG use <path>, where can not detect wether draw a \"line\"\n  // or a filled shape, so use `itemStyle` for <path>.\n  var normalStyleModel = regionModel.getModel('itemStyle');\n  var emphasisStyleModel = regionModel.getModel(['emphasis', 'itemStyle']);\n  var blurStyleModel = regionModel.getModel(['blur', 'itemStyle']);\n  var selectStyleModel = regionModel.getModel(['select', 'itemStyle']); // NOTE: DONT use 'style' in visual when drawing map.\n  // This component is used for drawing underlying map for both geo component and map series.\n\n  var normalStyle = getFixedItemStyle(normalStyleModel);\n  var emphasisStyle = getFixedItemStyle(emphasisStyleModel);\n  var selectStyle = getFixedItemStyle(selectStyleModel);\n  var blurStyle = getFixedItemStyle(blurStyleModel); // Update the itemStyle if has data visual\n\n  var data = viewBuildCtx.data;\n\n  if (data) {\n    // Only visual color of each item will be used. It can be encoded by visualMap\n    // But visual color of series is used in symbol drawing\n    // Visual color for each series is for the symbol draw\n    var style = data.getItemVisual(dataIndex, 'style');\n    var decal = data.getItemVisual(dataIndex, 'decal');\n\n    if (viewBuildCtx.isVisualEncodedByVisualMap && style.fill) {\n      normalStyle.fill = style.fill;\n    }\n\n    if (decal) {\n      normalStyle.decal = Object(_util_decal_js__WEBPACK_IMPORTED_MODULE_10__[\"createOrUpdatePatternFromDecal\"])(decal, viewBuildCtx.api);\n    }\n  } // SVG text, tspan and image can be named but not supporeted\n  // to be styled by region option yet.\n\n\n  el.setStyle(normalStyle);\n  el.style.strokeNoScale = true;\n  el.ensureState('emphasis').style = emphasisStyle;\n  el.ensureState('select').style = selectStyle;\n  el.ensureState('blur').style = blurStyle; // Enable blur\n\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"setDefaultStateProxy\"])(el);\n}\n\nfunction resetLabelForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel, // Exist only if `viewBuildCtx.data` exists.\ndataIdx, // If labelXY not provided, use `textConfig.position: 'inside'`\nlabelXY) {\n  var data = viewBuildCtx.data;\n  var isGeo = viewBuildCtx.isGeo;\n  var isDataNaN = data && isNaN(data.get(data.mapDimension('value'), dataIdx));\n  var itemLayout = data && data.getItemLayout(dataIdx); // In the following cases label will be drawn\n  // 1. In map series and data value is NaN\n  // 2. In geo component\n  // 3. Region has no series legendIcon, which will be add a showLabel flag in mapSymbolLayout\n\n  if (isGeo || isDataNaN || itemLayout && itemLayout.showLabel) {\n    var query = !isGeo ? dataIdx : regionName;\n    var labelFetcher = void 0; // Consider dataIdx not found.\n\n    if (!data || dataIdx >= 0) {\n      labelFetcher = mapOrGeoModel;\n    }\n\n    var specifiedTextOpt = labelXY ? {\n      normal: {\n        align: 'center',\n        verticalAlign: 'middle'\n      }\n    } : null; // Caveat: must be called after `setDefaultStateProxy(el);` called.\n    // because textContent will be assign with `el.stateProxy` inside.\n\n    Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"setLabelStyle\"])(el, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"getLabelStatesModels\"])(regionModel), {\n      labelFetcher: labelFetcher,\n      labelDataIndex: query,\n      defaultText: regionName\n    }, specifiedTextOpt);\n    var textEl = el.getTextContent();\n\n    if (textEl) {\n      mapLabelRaw(textEl).ignore = textEl.ignore;\n\n      if (el.textConfig && labelXY) {\n        // Compute a relative offset based on the el bounding rect.\n        var rect = el.getBoundingRect().clone(); // Need to make sure the percent position base on the same rect in normal and\n        // emphasis state. Otherwise if using boundingRect of el, but the emphasis state\n        // has borderWidth (even 0.5px), the text position will be changed obviously\n        // if the position is very big like ['1234%', '1345%'].\n\n        el.textConfig.layoutRect = rect;\n        el.textConfig.position = [(labelXY[0] - rect.x) / rect.width * 100 + '%', (labelXY[1] - rect.y) / rect.height * 100 + '%'];\n      }\n    } // PENDING:\n    // If labelLayout is enabled (test/label-layout.html), el.dataIndex should be specified.\n    // But el.dataIndex is also used to determine whether user event should be triggered,\n    // where el.seriesIndex or el.dataModel must be specified. At present for a single el\n    // there is not case that \"only label layout enabled but user event disabled\", so here\n    // we depends `resetEventTriggerForRegion` to do the job of setting `el.dataIndex`.\n\n\n    el.disableLabelAnimation = true;\n  } else {\n    el.removeTextContent();\n    el.removeTextConfig();\n    el.disableLabelAnimation = null;\n  }\n}\n\nfunction resetEventTriggerForRegion(viewBuildCtx, eventTrigger, regionName, regionModel, mapOrGeoModel, // Exist only if `viewBuildCtx.data` exists.\ndataIdx) {\n  // setItemGraphicEl, setHoverStyle after all polygons and labels\n  // are added to the regionGroup\n  if (viewBuildCtx.data) {\n    // FIXME: when series-map use a SVG map, and there are duplicated name specified\n    // on different SVG elements, after `data.setItemGraphicEl(...)`:\n    // (1) all of them will be mounted with `dataIndex`, `seriesIndex`, so that tooltip\n    // can be triggered only mouse hover. That's correct.\n    // (2) only the last element will be kept in `data`, so that if trigger tooltip\n    // by `dispatchAction`, only the last one can be found and triggered. That might be\n    // not correct. We will fix it in future if anyone demanding that.\n    viewBuildCtx.data.setItemGraphicEl(dataIdx, eventTrigger);\n  } // series-map will not trigger \"geoselectchange\" no matter it is\n  // based on a declared geo component. Because series-map will\n  // trigger \"selectchange\". If it trigger both the two events,\n  // If users call `chart.dispatchAction({type: 'toggleSelect'})`,\n  // it not easy to also fire event \"geoselectchanged\".\n  else {\n      // Package custom mouse event for geo component\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_9__[\"getECData\"])(eventTrigger).eventData = {\n        componentType: 'geo',\n        componentIndex: mapOrGeoModel.componentIndex,\n        geoIndex: mapOrGeoModel.componentIndex,\n        name: regionName,\n        region: regionModel && regionModel.option || {}\n      };\n    }\n}\n\nfunction resetTooltipForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel) {\n  if (!viewBuildCtx.data) {\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"setTooltipConfig\"]({\n      el: el,\n      componentModel: mapOrGeoModel,\n      itemName: regionName,\n      // @ts-ignore FIXME:TS fix the \"compatible with each other\"?\n      itemTooltipOption: regionModel.get('tooltip')\n    });\n  }\n}\n\nfunction resetStateTriggerForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel) {\n  // @ts-ignore FIXME:TS fix the \"compatible with each other\"?\n  el.highDownSilentOnTouch = !!mapOrGeoModel.get('selectedMode'); // @ts-ignore FIXME:TS fix the \"compatible with each other\"?\n\n  var emphasisModel = regionModel.getModel('emphasis');\n  var focus = emphasisModel.get('focus');\n  Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"toggleHoverEmphasis\"])(el, focus, emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n\n  if (viewBuildCtx.isGeo) {\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"enableComponentHighDownFeatures\"])(el, mapOrGeoModel, regionName);\n  }\n\n  return focus;\n}\n\nfunction projectPolys(rings, // Polygons include exterior and interiors. Or polylines.\ncreateStream, isLine) {\n  var polygons = [];\n  var curPoly;\n\n  function startPolygon() {\n    curPoly = [];\n  }\n\n  function endPolygon() {\n    if (curPoly.length) {\n      polygons.push(curPoly);\n      curPoly = [];\n    }\n  }\n\n  var stream = createStream({\n    polygonStart: startPolygon,\n    polygonEnd: endPolygon,\n    lineStart: startPolygon,\n    lineEnd: endPolygon,\n    point: function (x, y) {\n      // May have NaN values from stream.\n      if (isFinite(x) && isFinite(y)) {\n        curPoly.push([x, y]);\n      }\n    },\n    sphere: function () {}\n  });\n  !isLine && stream.polygonStart();\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](rings, function (ring) {\n    stream.lineStart();\n\n    for (var i = 0; i < ring.length; i++) {\n      stream.point(ring[i][0], ring[i][1]);\n    }\n\n    stream.lineEnd();\n  });\n  !isLine && stream.polygonEnd();\n  return polygons;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MapDraw); // @ts-ignore FIXME:TS fix the \"compatible with each other\"?\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/MapDraw.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/RoamController.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/RoamController.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _interactionMutex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./interactionMutex.js */ \"./node_modules/echarts/lib/component/helper/interactionMutex.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n;\n\nvar RoamController =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RoamController, _super);\n\n  function RoamController(zr) {\n    var _this = _super.call(this) || this;\n\n    _this._zr = zr; // Avoid two roamController bind the same handler\n\n    var mousedownHandler = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(_this._mousedownHandler, _this);\n    var mousemoveHandler = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(_this._mousemoveHandler, _this);\n    var mouseupHandler = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(_this._mouseupHandler, _this);\n    var mousewheelHandler = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(_this._mousewheelHandler, _this);\n    var pinchHandler = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(_this._pinchHandler, _this);\n    /**\n     * Notice: only enable needed types. For example, if 'zoom'\n     * is not needed, 'zoom' should not be enabled, otherwise\n     * default mousewheel behaviour (scroll page) will be disabled.\n     */\n\n    _this.enable = function (controlType, opt) {\n      // Disable previous first\n      this.disable();\n      this._opt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(opt) || {}, {\n        zoomOnMouseWheel: true,\n        moveOnMouseMove: true,\n        // By default, wheel do not trigger move.\n        moveOnMouseWheel: false,\n        preventDefaultMouseMove: true\n      });\n\n      if (controlType == null) {\n        controlType = true;\n      }\n\n      if (controlType === true || controlType === 'move' || controlType === 'pan') {\n        zr.on('mousedown', mousedownHandler);\n        zr.on('mousemove', mousemoveHandler);\n        zr.on('mouseup', mouseupHandler);\n      }\n\n      if (controlType === true || controlType === 'scale' || controlType === 'zoom') {\n        zr.on('mousewheel', mousewheelHandler);\n        zr.on('pinch', pinchHandler);\n      }\n    };\n\n    _this.disable = function () {\n      zr.off('mousedown', mousedownHandler);\n      zr.off('mousemove', mousemoveHandler);\n      zr.off('mouseup', mouseupHandler);\n      zr.off('mousewheel', mousewheelHandler);\n      zr.off('pinch', pinchHandler);\n    };\n\n    return _this;\n  }\n\n  RoamController.prototype.isDragging = function () {\n    return this._dragging;\n  };\n\n  RoamController.prototype.isPinching = function () {\n    return this._pinching;\n  };\n\n  RoamController.prototype.setPointerChecker = function (pointerChecker) {\n    this.pointerChecker = pointerChecker;\n  };\n\n  RoamController.prototype.dispose = function () {\n    this.disable();\n  };\n\n  RoamController.prototype._mousedownHandler = function (e) {\n    if (zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__[\"isMiddleOrRightButtonOnMouseUpDown\"](e)) {\n      return;\n    }\n\n    var el = e.target;\n\n    while (el) {\n      if (el.draggable) {\n        return;\n      } // check if host is draggable\n\n\n      el = el.__hostTarget || el.parent;\n    }\n\n    var x = e.offsetX;\n    var y = e.offsetY; // Only check on mosedown, but not mousemove.\n    // Mouse can be out of target when mouse moving.\n\n    if (this.pointerChecker && this.pointerChecker(e, x, y)) {\n      this._x = x;\n      this._y = y;\n      this._dragging = true;\n    }\n  };\n\n  RoamController.prototype._mousemoveHandler = function (e) {\n    if (!this._dragging || !isAvailableBehavior('moveOnMouseMove', e, this._opt) || e.gestureEvent === 'pinch' || _interactionMutex_js__WEBPACK_IMPORTED_MODULE_3__[\"isTaken\"](this._zr, 'globalPan')) {\n      return;\n    }\n\n    var x = e.offsetX;\n    var y = e.offsetY;\n    var oldX = this._x;\n    var oldY = this._y;\n    var dx = x - oldX;\n    var dy = y - oldY;\n    this._x = x;\n    this._y = y;\n    this._opt.preventDefaultMouseMove && zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__[\"stop\"](e.event);\n    trigger(this, 'pan', 'moveOnMouseMove', e, {\n      dx: dx,\n      dy: dy,\n      oldX: oldX,\n      oldY: oldY,\n      newX: x,\n      newY: y,\n      isAvailableBehavior: null\n    });\n  };\n\n  RoamController.prototype._mouseupHandler = function (e) {\n    if (!zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__[\"isMiddleOrRightButtonOnMouseUpDown\"](e)) {\n      this._dragging = false;\n    }\n  };\n\n  RoamController.prototype._mousewheelHandler = function (e) {\n    var shouldZoom = isAvailableBehavior('zoomOnMouseWheel', e, this._opt);\n    var shouldMove = isAvailableBehavior('moveOnMouseWheel', e, this._opt);\n    var wheelDelta = e.wheelDelta;\n    var absWheelDeltaDelta = Math.abs(wheelDelta);\n    var originX = e.offsetX;\n    var originY = e.offsetY; // wheelDelta maybe -0 in chrome mac.\n\n    if (wheelDelta === 0 || !shouldZoom && !shouldMove) {\n      return;\n    } // If both `shouldZoom` and `shouldMove` is true, trigger\n    // their event both, and the final behavior is determined\n    // by event listener themselves.\n\n\n    if (shouldZoom) {\n      // Convenience:\n      // Mac and VM Windows on Mac: scroll up: zoom out.\n      // Windows: scroll up: zoom in.\n      // FIXME: Should do more test in different environment.\n      // wheelDelta is too complicated in difference nvironment\n      // (https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel),\n      // although it has been normallized by zrender.\n      // wheelDelta of mouse wheel is bigger than touch pad.\n      var factor = absWheelDeltaDelta > 3 ? 1.4 : absWheelDeltaDelta > 1 ? 1.2 : 1.1;\n      var scale = wheelDelta > 0 ? factor : 1 / factor;\n      checkPointerAndTrigger(this, 'zoom', 'zoomOnMouseWheel', e, {\n        scale: scale,\n        originX: originX,\n        originY: originY,\n        isAvailableBehavior: null\n      });\n    }\n\n    if (shouldMove) {\n      // FIXME: Should do more test in different environment.\n      var absDelta = Math.abs(wheelDelta); // wheelDelta of mouse wheel is bigger than touch pad.\n\n      var scrollDelta = (wheelDelta > 0 ? 1 : -1) * (absDelta > 3 ? 0.4 : absDelta > 1 ? 0.15 : 0.05);\n      checkPointerAndTrigger(this, 'scrollMove', 'moveOnMouseWheel', e, {\n        scrollDelta: scrollDelta,\n        originX: originX,\n        originY: originY,\n        isAvailableBehavior: null\n      });\n    }\n  };\n\n  RoamController.prototype._pinchHandler = function (e) {\n    if (_interactionMutex_js__WEBPACK_IMPORTED_MODULE_3__[\"isTaken\"](this._zr, 'globalPan')) {\n      return;\n    }\n\n    var scale = e.pinchScale > 1 ? 1.1 : 1 / 1.1;\n    checkPointerAndTrigger(this, 'zoom', null, e, {\n      scale: scale,\n      originX: e.pinchX,\n      originY: e.pinchY,\n      isAvailableBehavior: null\n    });\n  };\n\n  return RoamController;\n}(zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nfunction checkPointerAndTrigger(controller, eventName, behaviorToCheck, e, contollerEvent) {\n  if (controller.pointerChecker && controller.pointerChecker(e, contollerEvent.originX, contollerEvent.originY)) {\n    // When mouse is out of roamController rect,\n    // default befavoius should not be be disabled, otherwise\n    // page sliding is disabled, contrary to expectation.\n    zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_2__[\"stop\"](e.event);\n    trigger(controller, eventName, behaviorToCheck, e, contollerEvent);\n  }\n}\n\nfunction trigger(controller, eventName, behaviorToCheck, e, contollerEvent) {\n  // Also provide behavior checker for event listener, for some case that\n  // multiple components share one listener.\n  contollerEvent.isAvailableBehavior = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"bind\"])(isAvailableBehavior, null, behaviorToCheck, e); // TODO should not have type issue.\n\n  controller.trigger(eventName, contollerEvent);\n} // settings: {\n//     zoomOnMouseWheel\n//     moveOnMouseMove\n//     moveOnMouseWheel\n// }\n// The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n\n\nfunction isAvailableBehavior(behaviorToCheck, e, settings) {\n  var setting = settings[behaviorToCheck];\n  return !behaviorToCheck || setting && (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isString\"])(setting) || e.event[setting + 'Key']);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RoamController);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/RoamController.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/brushHelper.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/brushHelper.js ***!
  \******************************************************************/
/*! exports provided: makeRectPanelClipPath, makeLinearBrushOtherExtent, makeRectIsTargetByCursor */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeRectPanelClipPath\", function() { return makeRectPanelClipPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeLinearBrushOtherExtent\", function() { return makeLinearBrushOtherExtent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeRectIsTargetByCursor\", function() { return makeRectIsTargetByCursor; });\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _cursorHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cursorHelper.js */ \"./node_modules/echarts/lib/component/helper/cursorHelper.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction makeRectPanelClipPath(rect) {\n  rect = normalizeRect(rect);\n  return function (localPoints) {\n    return _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"clipPointsByRect\"](localPoints, rect);\n  };\n}\nfunction makeLinearBrushOtherExtent(rect, specifiedXYIndex) {\n  rect = normalizeRect(rect);\n  return function (xyIndex) {\n    var idx = specifiedXYIndex != null ? specifiedXYIndex : xyIndex;\n    var brushWidth = idx ? rect.width : rect.height;\n    var base = idx ? rect.x : rect.y;\n    return [base, base + (brushWidth || 0)];\n  };\n}\nfunction makeRectIsTargetByCursor(rect, api, targetModel) {\n  var boundingRect = normalizeRect(rect);\n  return function (e, localCursorPoint) {\n    return boundingRect.contain(localCursorPoint[0], localCursorPoint[1]) && !Object(_cursorHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"onIrrelevantElement\"])(e, api, targetModel);\n  };\n} // Consider width/height is negative.\n\nfunction normalizeRect(rect) {\n  return zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create(rect);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/brushHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/cursorHelper.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/cursorHelper.js ***!
  \*******************************************************************/
/*! exports provided: onIrrelevantElement */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onIrrelevantElement\", function() { return onIrrelevantElement; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar IRRELEVANT_EXCLUDES = {\n  'axisPointer': 1,\n  'tooltip': 1,\n  'brush': 1\n};\n/**\n * Avoid that: mouse click on a elements that is over geo or graph,\n * but roam is triggered.\n */\n\nfunction onIrrelevantElement(e, api, targetCoordSysModel) {\n  var model = api.getComponentByElement(e.topTarget); // If model is axisModel, it works only if it is injected with coordinateSystem.\n\n  var coordSys = model && model.coordinateSystem;\n  return model && model !== targetCoordSysModel && !IRRELEVANT_EXCLUDES.hasOwnProperty(model.mainType) && coordSys && coordSys.model !== targetCoordSysModel;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/cursorHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/interactionMutex.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/interactionMutex.js ***!
  \***********************************************************************/
/*! exports provided: take, release, isTaken */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return take; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"release\", function() { return release; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTaken\", function() { return isTaken; });\n/* harmony import */ var _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/echarts.js */ \"./node_modules/echarts/lib/core/echarts.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n\n\nvar ATTR = '\\0_ec_interaction_mutex';\nfunction take(zr, resourceKey, userKey) {\n  var store = getStore(zr);\n  store[resourceKey] = userKey;\n}\nfunction release(zr, resourceKey, userKey) {\n  var store = getStore(zr);\n  var uKey = store[resourceKey];\n\n  if (uKey === userKey) {\n    store[resourceKey] = null;\n  }\n}\nfunction isTaken(zr, resourceKey) {\n  return !!getStore(zr)[resourceKey];\n}\n\nfunction getStore(zr) {\n  return zr[ATTR] || (zr[ATTR] = {});\n}\n/**\n * payload: {\n *     type: 'takeGlobalCursor',\n *     key: 'dataZoomSelect', or 'brush', or ...,\n *         If no userKey, release global cursor.\n * }\n */\n// TODO: SELF REGISTERED.\n\n\n_core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerAction\"]({\n  type: 'takeGlobalCursor',\n  event: 'globalCursorTaken',\n  update: 'update'\n}, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"noop\"]);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/interactionMutex.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/listComponent.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/listComponent.js ***!
  \********************************************************************/
/*! exports provided: layout, makeBackground */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layout\", function() { return layout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeBackground\", function() { return makeBackground; });\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n\n\n\n/**\n * Layout list like component.\n * It will box layout each items in group of component and then position the whole group in the viewport\n * @param {module:zrender/group/Group} group\n * @param {module:echarts/model/Component} componentModel\n * @param {module:echarts/ExtensionAPI}\n */\n\nfunction layout(group, componentModel, api) {\n  var boxLayoutParams = componentModel.getBoxLayoutParams();\n  var padding = componentModel.get('padding');\n  var viewportSize = {\n    width: api.getWidth(),\n    height: api.getHeight()\n  };\n  var rect = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_0__[\"getLayoutRect\"])(boxLayoutParams, viewportSize, padding);\n  Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_0__[\"box\"])(componentModel.get('orient'), group, componentModel.get('itemGap'), rect.width, rect.height);\n  Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_0__[\"positionElement\"])(group, boxLayoutParams, viewportSize, padding);\n}\nfunction makeBackground(rect, componentModel) {\n  var padding = _util_format_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeCssArray\"](componentModel.get('padding'));\n  var style = componentModel.getItemStyle(['color', 'opacity']);\n  style.fill = componentModel.get('backgroundColor');\n  rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n    shape: {\n      x: rect.x - padding[3],\n      y: rect.y - padding[0],\n      width: rect.width + padding[1] + padding[3],\n      height: rect.height + padding[0] + padding[2],\n      r: componentModel.get('borderRadius')\n    },\n    style: style,\n    silent: true,\n    z2: -1\n  }); // FIXME\n  // `subPixelOptimizeRect` may bring some gap between edge of viewpart\n  // and background rect when setting like `left: 0`, `top: 0`.\n  // graphic.subPixelOptimizeRect(rect);\n\n  return rect;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/listComponent.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/roamHelper.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/roamHelper.js ***!
  \*****************************************************************/
/*! exports provided: updateViewOnPan, updateViewOnZoom */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateViewOnPan\", function() { return updateViewOnPan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateViewOnZoom\", function() { return updateViewOnZoom; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * For geo and graph.\n */\nfunction updateViewOnPan(controllerHost, dx, dy) {\n  var target = controllerHost.target;\n  target.x += dx;\n  target.y += dy;\n  target.dirty();\n}\n/**\n * For geo and graph.\n */\n\nfunction updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {\n  var target = controllerHost.target;\n  var zoomLimit = controllerHost.zoomLimit;\n  var newZoom = controllerHost.zoom = controllerHost.zoom || 1;\n  newZoom *= zoomDelta;\n\n  if (zoomLimit) {\n    var zoomMin = zoomLimit.min || 0;\n    var zoomMax = zoomLimit.max || Infinity;\n    newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);\n  }\n\n  var zoomScale = newZoom / controllerHost.zoom;\n  controllerHost.zoom = newZoom; // Keep the mouse center when scaling\n\n  target.x -= (zoomX - target.x) * (zoomScale - 1);\n  target.y -= (zoomY - target.y) * (zoomScale - 1);\n  target.scaleX *= zoomScale;\n  target.scaleY *= zoomScale;\n  target.dirty();\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/roamHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/helper/sliderMove.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/helper/sliderMove.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sliderMove; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Calculate slider move result.\n * Usage:\n * (1) If both handle0 and handle1 are needed to be moved, set minSpan the same as\n * maxSpan and the same as `Math.abs(handleEnd[1] - handleEnds[0])`.\n * (2) If handle0 is forbidden to cross handle1, set minSpan as `0`.\n *\n * @param delta Move length.\n * @param handleEnds handleEnds[0] can be bigger then handleEnds[1].\n *              handleEnds will be modified in this method.\n * @param extent handleEnds is restricted by extent.\n *              extent[0] should less or equals than extent[1].\n * @param handleIndex Can be 'all', means that both move the two handleEnds.\n * @param minSpan The range of dataZoom can not be smaller than that.\n *              If not set, handle0 and cross handle1. If set as a non-negative\n *              number (including `0`), handles will push each other when reaching\n *              the minSpan.\n * @param maxSpan The range of dataZoom can not be larger than that.\n * @return The input handleEnds.\n */\nfunction sliderMove(delta, handleEnds, extent, handleIndex, minSpan, maxSpan) {\n  delta = delta || 0;\n  var extentSpan = extent[1] - extent[0]; // Notice maxSpan and minSpan can be null/undefined.\n\n  if (minSpan != null) {\n    minSpan = restrict(minSpan, [0, extentSpan]);\n  }\n\n  if (maxSpan != null) {\n    maxSpan = Math.max(maxSpan, minSpan != null ? minSpan : 0);\n  }\n\n  if (handleIndex === 'all') {\n    var handleSpan = Math.abs(handleEnds[1] - handleEnds[0]);\n    handleSpan = restrict(handleSpan, [0, extentSpan]);\n    minSpan = maxSpan = restrict(handleSpan, [minSpan, maxSpan]);\n    handleIndex = 0;\n  }\n\n  handleEnds[0] = restrict(handleEnds[0], extent);\n  handleEnds[1] = restrict(handleEnds[1], extent);\n  var originalDistSign = getSpanSign(handleEnds, handleIndex);\n  handleEnds[handleIndex] += delta; // Restrict in extent.\n\n  var extentMinSpan = minSpan || 0;\n  var realExtent = extent.slice();\n  originalDistSign.sign < 0 ? realExtent[0] += extentMinSpan : realExtent[1] -= extentMinSpan;\n  handleEnds[handleIndex] = restrict(handleEnds[handleIndex], realExtent); // Expand span.\n\n  var currDistSign;\n  currDistSign = getSpanSign(handleEnds, handleIndex);\n\n  if (minSpan != null && (currDistSign.sign !== originalDistSign.sign || currDistSign.span < minSpan)) {\n    // If minSpan exists, 'cross' is forbidden.\n    handleEnds[1 - handleIndex] = handleEnds[handleIndex] + originalDistSign.sign * minSpan;\n  } // Shrink span.\n\n\n  currDistSign = getSpanSign(handleEnds, handleIndex);\n\n  if (maxSpan != null && currDistSign.span > maxSpan) {\n    handleEnds[1 - handleIndex] = handleEnds[handleIndex] + currDistSign.sign * maxSpan;\n  }\n\n  return handleEnds;\n}\n\nfunction getSpanSign(handleEnds, handleIndex) {\n  var dist = handleEnds[handleIndex] - handleEnds[1 - handleIndex]; // If `handleEnds[0] === handleEnds[1]`, always believe that handleEnd[0]\n  // is at left of handleEnds[1] for non-cross case.\n\n  return {\n    span: Math.abs(dist),\n    sign: dist > 0 ? -1 : dist < 0 ? 1 : handleIndex ? -1 : 1\n  };\n}\n\nfunction restrict(value, extend) {\n  return Math.min(extend[1] != null ? extend[1] : Infinity, Math.max(extend[0] != null ? extend[0] : -Infinity, value));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/sliderMove.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/LegendModel.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/LegendModel.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar getDefaultSelectorOptions = function (ecModel, type) {\n  if (type === 'all') {\n    return {\n      type: 'all',\n      title: ecModel.getLocaleModel().get(['legend', 'selector', 'all'])\n    };\n  } else if (type === 'inverse') {\n    return {\n      type: 'inverse',\n      title: ecModel.getLocaleModel().get(['legend', 'selector', 'inverse'])\n    };\n  }\n};\n\nvar LegendModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LegendModel, _super);\n\n  function LegendModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = LegendModel.type;\n    _this.layoutMode = {\n      type: 'box',\n      // legend.width/height are maxWidth/maxHeight actually,\n      // whereas realy width/height is calculated by its content.\n      // (Setting {left: 10, right: 10} does not make sense).\n      // So consider the case:\n      // `setOption({legend: {left: 10});`\n      // then `setOption({legend: {right: 10});`\n      // The previous `left` should be cleared by setting `ignoreSize`.\n      ignoreSize: true\n    };\n    return _this;\n  }\n\n  LegendModel.prototype.init = function (option, parentModel, ecModel) {\n    this.mergeDefaultAndTheme(option, ecModel);\n    option.selected = option.selected || {};\n\n    this._updateSelector(option);\n  };\n\n  LegendModel.prototype.mergeOption = function (option, ecModel) {\n    _super.prototype.mergeOption.call(this, option, ecModel);\n\n    this._updateSelector(option);\n  };\n\n  LegendModel.prototype._updateSelector = function (option) {\n    var selector = option.selector;\n    var ecModel = this.ecModel;\n\n    if (selector === true) {\n      selector = option.selector = ['all', 'inverse'];\n    }\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](selector)) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](selector, function (item, index) {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](item) && (item = {\n          type: item\n        });\n        selector[index] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](item, getDefaultSelectorOptions(ecModel, item.type));\n      });\n    }\n  };\n\n  LegendModel.prototype.optionUpdated = function () {\n    this._updateData(this.ecModel);\n\n    var legendData = this._data; // If selectedMode is single, try to select one\n\n    if (legendData[0] && this.get('selectedMode') === 'single') {\n      var hasSelected = false; // If has any selected in option.selected\n\n      for (var i = 0; i < legendData.length; i++) {\n        var name_1 = legendData[i].get('name');\n\n        if (this.isSelected(name_1)) {\n          // Force to unselect others\n          this.select(name_1);\n          hasSelected = true;\n          break;\n        }\n      } // Try select the first if selectedMode is single\n\n\n      !hasSelected && this.select(legendData[0].get('name'));\n    }\n  };\n\n  LegendModel.prototype._updateData = function (ecModel) {\n    var potentialData = [];\n    var availableNames = [];\n    ecModel.eachRawSeries(function (seriesModel) {\n      var seriesName = seriesModel.name;\n      availableNames.push(seriesName);\n      var isPotential;\n\n      if (seriesModel.legendVisualProvider) {\n        var provider = seriesModel.legendVisualProvider;\n        var names = provider.getAllNames();\n\n        if (!ecModel.isSeriesFiltered(seriesModel)) {\n          availableNames = availableNames.concat(names);\n        }\n\n        if (names.length) {\n          potentialData = potentialData.concat(names);\n        } else {\n          isPotential = true;\n        }\n      } else {\n        isPotential = true;\n      }\n\n      if (isPotential && Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"isNameSpecified\"])(seriesModel)) {\n        potentialData.push(seriesModel.name);\n      }\n    });\n    /**\n     * @type {Array.<string>}\n     * @private\n     */\n\n    this._availableNames = availableNames; // If legend.data not specified in option, use availableNames as data,\n    // which is convinient for user preparing option.\n\n    var rawData = this.get('data') || potentialData;\n    var legendData = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](rawData, function (dataItem) {\n      // Can be string or number\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](dataItem) || zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"](dataItem)) {\n        dataItem = {\n          name: dataItem\n        };\n      }\n\n      return new _model_Model_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](dataItem, this, this.ecModel);\n    }, this);\n    /**\n     * @type {Array.<module:echarts/model/Model>}\n     * @private\n     */\n\n    this._data = legendData;\n  };\n\n  LegendModel.prototype.getData = function () {\n    return this._data;\n  };\n\n  LegendModel.prototype.select = function (name) {\n    var selected = this.option.selected;\n    var selectedMode = this.get('selectedMode');\n\n    if (selectedMode === 'single') {\n      var data = this._data;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](data, function (dataItem) {\n        selected[dataItem.get('name')] = false;\n      });\n    }\n\n    selected[name] = true;\n  };\n\n  LegendModel.prototype.unSelect = function (name) {\n    if (this.get('selectedMode') !== 'single') {\n      this.option.selected[name] = false;\n    }\n  };\n\n  LegendModel.prototype.toggleSelected = function (name) {\n    var selected = this.option.selected; // Default is true\n\n    if (!selected.hasOwnProperty(name)) {\n      selected[name] = true;\n    }\n\n    this[selected[name] ? 'unSelect' : 'select'](name);\n  };\n\n  LegendModel.prototype.allSelect = function () {\n    var data = this._data;\n    var selected = this.option.selected;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](data, function (dataItem) {\n      selected[dataItem.get('name', true)] = true;\n    });\n  };\n\n  LegendModel.prototype.inverseSelect = function () {\n    var data = this._data;\n    var selected = this.option.selected;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](data, function (dataItem) {\n      var name = dataItem.get('name', true); // Initially, default value is true\n\n      if (!selected.hasOwnProperty(name)) {\n        selected[name] = true;\n      }\n\n      selected[name] = !selected[name];\n    });\n  };\n\n  LegendModel.prototype.isSelected = function (name) {\n    var selected = this.option.selected;\n    return !(selected.hasOwnProperty(name) && !selected[name]) && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"](this._availableNames, name) >= 0;\n  };\n\n  LegendModel.prototype.getOrient = function () {\n    return this.get('orient') === 'vertical' ? {\n      index: 1,\n      name: 'vertical'\n    } : {\n      index: 0,\n      name: 'horizontal'\n    };\n  };\n\n  LegendModel.type = 'legend.plain';\n  LegendModel.dependencies = ['series'];\n  LegendModel.defaultOption = {\n    // zlevel: 0,\n    z: 4,\n    show: true,\n    orient: 'horizontal',\n    left: 'center',\n    // right: 'center',\n    top: 0,\n    // bottom: null,\n    align: 'auto',\n    backgroundColor: 'rgba(0,0,0,0)',\n    borderColor: '#ccc',\n    borderRadius: 0,\n    borderWidth: 0,\n    padding: 5,\n    itemGap: 10,\n    itemWidth: 25,\n    itemHeight: 14,\n    symbolRotate: 'inherit',\n    symbolKeepAspect: true,\n    inactiveColor: '#ccc',\n    inactiveBorderColor: '#ccc',\n    inactiveBorderWidth: 'auto',\n    itemStyle: {\n      color: 'inherit',\n      opacity: 'inherit',\n      borderColor: 'inherit',\n      borderWidth: 'auto',\n      borderCap: 'inherit',\n      borderJoin: 'inherit',\n      borderDashOffset: 'inherit',\n      borderMiterLimit: 'inherit'\n    },\n    lineStyle: {\n      width: 'auto',\n      color: 'inherit',\n      inactiveColor: '#ccc',\n      inactiveWidth: 2,\n      opacity: 'inherit',\n      type: 'inherit',\n      cap: 'inherit',\n      join: 'inherit',\n      dashOffset: 'inherit',\n      miterLimit: 'inherit'\n    },\n    textStyle: {\n      color: '#333'\n    },\n    selectedMode: true,\n    selector: false,\n    selectorLabel: {\n      show: true,\n      borderRadius: 10,\n      padding: [3, 5, 3, 5],\n      fontSize: 12,\n      fontFamily: 'sans-serif',\n      color: '#666',\n      borderWidth: 1,\n      borderColor: '#666'\n    },\n    emphasis: {\n      selectorLabel: {\n        show: true,\n        color: '#eee',\n        backgroundColor: '#666'\n      }\n    },\n    selectorPosition: 'auto',\n    selectorItemGap: 7,\n    selectorButtonGap: 10,\n    tooltip: {\n      show: false\n    }\n  };\n  return LegendModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LegendModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/LegendModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/LegendView.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/LegendView.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _helper_listComponent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helper/listComponent.js */ \"./node_modules/echarts/lib/component/helper/listComponent.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_decal_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/decal.js */ \"./node_modules/echarts/lib/util/decal.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nvar curry = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"];\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"];\nvar Group = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"];\n\nvar LegendView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LegendView, _super);\n\n  function LegendView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = LegendView.type;\n    _this.newlineDisabled = false;\n    return _this;\n  }\n\n  LegendView.prototype.init = function () {\n    this.group.add(this._contentGroup = new Group());\n    this.group.add(this._selectorGroup = new Group());\n    this._isFirstRender = true;\n  };\n  /**\n   * @protected\n   */\n\n\n  LegendView.prototype.getContentGroup = function () {\n    return this._contentGroup;\n  };\n  /**\n   * @protected\n   */\n\n\n  LegendView.prototype.getSelectorGroup = function () {\n    return this._selectorGroup;\n  };\n  /**\n   * @override\n   */\n\n\n  LegendView.prototype.render = function (legendModel, ecModel, api) {\n    var isFirstRender = this._isFirstRender;\n    this._isFirstRender = false;\n    this.resetInner();\n\n    if (!legendModel.get('show', true)) {\n      return;\n    }\n\n    var itemAlign = legendModel.get('align');\n    var orient = legendModel.get('orient');\n\n    if (!itemAlign || itemAlign === 'auto') {\n      itemAlign = legendModel.get('left') === 'right' && orient === 'vertical' ? 'right' : 'left';\n    } // selector has been normalized to an array in model\n\n\n    var selector = legendModel.get('selector', true);\n    var selectorPosition = legendModel.get('selectorPosition', true);\n\n    if (selector && (!selectorPosition || selectorPosition === 'auto')) {\n      selectorPosition = orient === 'horizontal' ? 'end' : 'start';\n    }\n\n    this.renderInner(itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition); // Perform layout.\n\n    var positionInfo = legendModel.getBoxLayoutParams();\n    var viewportSize = {\n      width: api.getWidth(),\n      height: api.getHeight()\n    };\n    var padding = legendModel.get('padding');\n    var maxSize = _util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"getLayoutRect\"](positionInfo, viewportSize, padding);\n    var mainRect = this.layoutInner(legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition); // Place mainGroup, based on the calculated `mainRect`.\n\n    var layoutRect = _util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"getLayoutRect\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n      width: mainRect.width,\n      height: mainRect.height\n    }, positionInfo), viewportSize, padding);\n    this.group.x = layoutRect.x - mainRect.x;\n    this.group.y = layoutRect.y - mainRect.y;\n    this.group.markRedraw(); // Render background after group is layout.\n\n    this.group.add(this._backgroundEl = Object(_helper_listComponent_js__WEBPACK_IMPORTED_MODULE_6__[\"makeBackground\"])(mainRect, legendModel));\n  };\n\n  LegendView.prototype.resetInner = function () {\n    this.getContentGroup().removeAll();\n    this._backgroundEl && this.group.remove(this._backgroundEl);\n    this.getSelectorGroup().removeAll();\n  };\n\n  LegendView.prototype.renderInner = function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n    var contentGroup = this.getContentGroup();\n    var legendDrawnMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]();\n    var selectMode = legendModel.get('selectedMode');\n    var excludeSeriesId = [];\n    ecModel.eachRawSeries(function (seriesModel) {\n      !seriesModel.get('legendHoverLink') && excludeSeriesId.push(seriesModel.id);\n    });\n    each(legendModel.getData(), function (legendItemModel, dataIndex) {\n      var name = legendItemModel.get('name'); // Use empty string or \\n as a newline string\n\n      if (!this.newlineDisabled && (name === '' || name === '\\n')) {\n        var g = new Group(); // @ts-ignore\n\n        g.newline = true;\n        contentGroup.add(g);\n        return;\n      } // Representitive series.\n\n\n      var seriesModel = ecModel.getSeriesByName(name)[0];\n\n      if (legendDrawnMap.get(name)) {\n        // Have been drawed\n        return;\n      } // Legend to control series.\n\n\n      if (seriesModel) {\n        var data = seriesModel.getData();\n        var lineVisualStyle = data.getVisual('legendLineStyle') || {};\n        var legendIcon = data.getVisual('legendIcon');\n        /**\n         * `data.getVisual('style')` may be the color from the register\n         * in series. For example, for line series,\n         */\n\n        var style = data.getVisual('style');\n\n        var itemGroup = this._createItem(seriesModel, name, dataIndex, legendItemModel, legendModel, itemAlign, lineVisualStyle, style, legendIcon, selectMode, api);\n\n        itemGroup.on('click', curry(dispatchSelectAction, name, null, api, excludeSeriesId)).on('mouseover', curry(dispatchHighlightAction, seriesModel.name, null, api, excludeSeriesId)).on('mouseout', curry(dispatchDownplayAction, seriesModel.name, null, api, excludeSeriesId));\n        legendDrawnMap.set(name, true);\n      } else {\n        // Legend to control data. In pie and funnel.\n        ecModel.eachRawSeries(function (seriesModel) {\n          // In case multiple series has same data name\n          if (legendDrawnMap.get(name)) {\n            return;\n          }\n\n          if (seriesModel.legendVisualProvider) {\n            var provider = seriesModel.legendVisualProvider;\n\n            if (!provider.containName(name)) {\n              return;\n            }\n\n            var idx = provider.indexOfName(name);\n            var style = provider.getItemVisual(idx, 'style');\n            var legendIcon = provider.getItemVisual(idx, 'legendIcon');\n            var colorArr = Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__[\"parse\"])(style.fill); // Color may be set to transparent in visualMap when data is out of range.\n            // Do not show nothing.\n\n            if (colorArr && colorArr[3] === 0) {\n              colorArr[3] = 0.2; // TODO color is set to 0, 0, 0, 0. Should show correct RGBA\n\n              style = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, style), {\n                fill: Object(zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_2__[\"stringify\"])(colorArr, 'rgba')\n              });\n            }\n\n            var itemGroup = this._createItem(seriesModel, name, dataIndex, legendItemModel, legendModel, itemAlign, {}, style, legendIcon, selectMode, api); // FIXME: consider different series has items with the same name.\n\n\n            itemGroup.on('click', curry(dispatchSelectAction, null, name, api, excludeSeriesId)) // Should not specify the series name, consider legend controls\n            // more than one pie series.\n            .on('mouseover', curry(dispatchHighlightAction, null, name, api, excludeSeriesId)).on('mouseout', curry(dispatchDownplayAction, null, name, api, excludeSeriesId));\n            legendDrawnMap.set(name, true);\n          }\n        }, this);\n      }\n\n      if (true) {\n        if (!legendDrawnMap.get(name)) {\n          console.warn(name + ' series not exists. Legend data should be same with series name or data name.');\n        }\n      }\n    }, this);\n\n    if (selector) {\n      this._createSelector(selector, legendModel, api, orient, selectorPosition);\n    }\n  };\n\n  LegendView.prototype._createSelector = function (selector, legendModel, api, orient, selectorPosition) {\n    var selectorGroup = this.getSelectorGroup();\n    each(selector, function createSelectorButton(selectorItem) {\n      var type = selectorItem.type;\n      var labelText = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Text\"]({\n        style: {\n          x: 0,\n          y: 0,\n          align: 'center',\n          verticalAlign: 'middle'\n        },\n        onclick: function () {\n          api.dispatchAction({\n            type: type === 'all' ? 'legendAllSelect' : 'legendInverseSelect'\n          });\n        }\n      });\n      selectorGroup.add(labelText);\n      var labelModel = legendModel.getModel('selectorLabel');\n      var emphasisLabelModel = legendModel.getModel(['emphasis', 'selectorLabel']);\n      Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_5__[\"setLabelStyle\"])(labelText, {\n        normal: labelModel,\n        emphasis: emphasisLabelModel\n      }, {\n        defaultText: selectorItem.title\n      });\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enableHoverEmphasis\"])(labelText);\n    });\n  };\n\n  LegendView.prototype._createItem = function (seriesModel, name, dataIndex, legendItemModel, legendModel, itemAlign, lineVisualStyle, itemVisualStyle, legendIcon, selectMode, api) {\n    var drawType = seriesModel.visualDrawType;\n    var itemWidth = legendModel.get('itemWidth');\n    var itemHeight = legendModel.get('itemHeight');\n    var isSelected = legendModel.isSelected(name);\n    var iconRotate = legendItemModel.get('symbolRotate');\n    var symbolKeepAspect = legendItemModel.get('symbolKeepAspect');\n    var legendIconType = legendItemModel.get('icon');\n    legendIcon = legendIconType || legendIcon || 'roundRect';\n    var style = getLegendStyle(legendIcon, legendItemModel, lineVisualStyle, itemVisualStyle, drawType, isSelected, api);\n    var itemGroup = new Group();\n    var textStyleModel = legendItemModel.getModel('textStyle');\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](seriesModel.getLegendIcon) && (!legendIconType || legendIconType === 'inherit')) {\n      // Series has specific way to define legend icon\n      itemGroup.add(seriesModel.getLegendIcon({\n        itemWidth: itemWidth,\n        itemHeight: itemHeight,\n        icon: legendIcon,\n        iconRotate: iconRotate,\n        itemStyle: style.itemStyle,\n        lineStyle: style.lineStyle,\n        symbolKeepAspect: symbolKeepAspect\n      }));\n    } else {\n      // Use default legend icon policy for most series\n      var rotate = legendIconType === 'inherit' && seriesModel.getData().getVisual('symbol') ? iconRotate === 'inherit' ? seriesModel.getData().getVisual('symbolRotate') : iconRotate : 0; // No rotation for no icon\n\n      itemGroup.add(getDefaultLegendIcon({\n        itemWidth: itemWidth,\n        itemHeight: itemHeight,\n        icon: legendIcon,\n        iconRotate: rotate,\n        itemStyle: style.itemStyle,\n        lineStyle: style.lineStyle,\n        symbolKeepAspect: symbolKeepAspect\n      }));\n    }\n\n    var textX = itemAlign === 'left' ? itemWidth + 5 : -5;\n    var textAlign = itemAlign;\n    var formatter = legendModel.get('formatter');\n    var content = name;\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](formatter) && formatter) {\n      content = formatter.replace('{name}', name != null ? name : '');\n    } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](formatter)) {\n      content = formatter(name);\n    }\n\n    var inactiveColor = legendItemModel.get('inactiveColor');\n    itemGroup.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Text\"]({\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_5__[\"createTextStyle\"])(textStyleModel, {\n        text: content,\n        x: textX,\n        y: itemHeight / 2,\n        fill: isSelected ? textStyleModel.getTextColor() : inactiveColor,\n        align: textAlign,\n        verticalAlign: 'middle'\n      })\n    })); // Add a invisible rect to increase the area of mouse hover\n\n    var hitRect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Rect\"]({\n      shape: itemGroup.getBoundingRect(),\n      invisible: true\n    });\n    var tooltipModel = legendItemModel.getModel('tooltip');\n\n    if (tooltipModel.get('show')) {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"setTooltipConfig\"]({\n        el: hitRect,\n        componentModel: legendModel,\n        itemName: name,\n        itemTooltipOption: tooltipModel.option\n      });\n    }\n\n    itemGroup.add(hitRect);\n    itemGroup.eachChild(function (child) {\n      child.silent = true;\n    });\n    hitRect.silent = !selectMode;\n    this.getContentGroup().add(itemGroup);\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enableHoverEmphasis\"])(itemGroup); // @ts-ignore\n\n    itemGroup.__legendDataIndex = dataIndex;\n    return itemGroup;\n  };\n\n  LegendView.prototype.layoutInner = function (legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition) {\n    var contentGroup = this.getContentGroup();\n    var selectorGroup = this.getSelectorGroup(); // Place items in contentGroup.\n\n    _util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"box\"](legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), maxSize.width, maxSize.height);\n    var contentRect = contentGroup.getBoundingRect();\n    var contentPos = [-contentRect.x, -contentRect.y];\n    selectorGroup.markRedraw();\n    contentGroup.markRedraw();\n\n    if (selector) {\n      // Place buttons in selectorGroup\n      _util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"box\"]( // Buttons in selectorGroup always layout horizontally\n      'horizontal', selectorGroup, legendModel.get('selectorItemGap', true));\n      var selectorRect = selectorGroup.getBoundingRect();\n      var selectorPos = [-selectorRect.x, -selectorRect.y];\n      var selectorButtonGap = legendModel.get('selectorButtonGap', true);\n      var orientIdx = legendModel.getOrient().index;\n      var wh = orientIdx === 0 ? 'width' : 'height';\n      var hw = orientIdx === 0 ? 'height' : 'width';\n      var yx = orientIdx === 0 ? 'y' : 'x';\n\n      if (selectorPosition === 'end') {\n        selectorPos[orientIdx] += contentRect[wh] + selectorButtonGap;\n      } else {\n        contentPos[orientIdx] += selectorRect[wh] + selectorButtonGap;\n      } //Always align selector to content as 'middle'\n\n\n      selectorPos[1 - orientIdx] += contentRect[hw] / 2 - selectorRect[hw] / 2;\n      selectorGroup.x = selectorPos[0];\n      selectorGroup.y = selectorPos[1];\n      contentGroup.x = contentPos[0];\n      contentGroup.y = contentPos[1];\n      var mainRect = {\n        x: 0,\n        y: 0\n      };\n      mainRect[wh] = contentRect[wh] + selectorButtonGap + selectorRect[wh];\n      mainRect[hw] = Math.max(contentRect[hw], selectorRect[hw]);\n      mainRect[yx] = Math.min(0, selectorRect[yx] + selectorPos[1 - orientIdx]);\n      return mainRect;\n    } else {\n      contentGroup.x = contentPos[0];\n      contentGroup.y = contentPos[1];\n      return this.group.getBoundingRect();\n    }\n  };\n  /**\n   * @protected\n   */\n\n\n  LegendView.prototype.remove = function () {\n    this.getContentGroup().removeAll();\n    this._isFirstRender = true;\n  };\n\n  LegendView.type = 'legend.plain';\n  return LegendView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n\nfunction getLegendStyle(iconType, legendItemModel, lineVisualStyle, itemVisualStyle, drawType, isSelected, api) {\n  /**\n   * Use series style if is inherit;\n   * elsewise, use legend style\n   */\n  function handleCommonProps(style, visualStyle) {\n    // If lineStyle.width is 'auto', it is set to be 2 if series has border\n    if (style.lineWidth === 'auto') {\n      style.lineWidth = visualStyle.lineWidth > 0 ? 2 : 0;\n    }\n\n    each(style, function (propVal, propName) {\n      style[propName] === 'inherit' && (style[propName] = visualStyle[propName]);\n    });\n  } // itemStyle\n\n\n  var itemStyleModel = legendItemModel.getModel('itemStyle');\n  var itemStyle = itemStyleModel.getItemStyle();\n  var iconBrushType = iconType.lastIndexOf('empty', 0) === 0 ? 'fill' : 'stroke';\n  var decalStyle = itemStyleModel.getShallow('decal');\n  itemStyle.decal = !decalStyle || decalStyle === 'inherit' ? itemVisualStyle.decal : Object(_util_decal_js__WEBPACK_IMPORTED_MODULE_10__[\"createOrUpdatePatternFromDecal\"])(decalStyle, api);\n\n  if (itemStyle.fill === 'inherit') {\n    /**\n     * Series with visualDrawType as 'stroke' should have\n     * series stroke as legend fill\n     */\n    itemStyle.fill = itemVisualStyle[drawType];\n  }\n\n  if (itemStyle.stroke === 'inherit') {\n    /**\n     * icon type with \"emptyXXX\" should use fill color\n     * in visual style\n     */\n    itemStyle.stroke = itemVisualStyle[iconBrushType];\n  }\n\n  if (itemStyle.opacity === 'inherit') {\n    /**\n     * Use lineStyle.opacity if drawType is stroke\n     */\n    itemStyle.opacity = (drawType === 'fill' ? itemVisualStyle : lineVisualStyle).opacity;\n  }\n\n  handleCommonProps(itemStyle, itemVisualStyle); // lineStyle\n\n  var legendLineModel = legendItemModel.getModel('lineStyle');\n  var lineStyle = legendLineModel.getLineStyle();\n  handleCommonProps(lineStyle, lineVisualStyle); // Fix auto color to real color\n\n  itemStyle.fill === 'auto' && (itemStyle.fill = itemVisualStyle.fill);\n  itemStyle.stroke === 'auto' && (itemStyle.stroke = itemVisualStyle.fill);\n  lineStyle.stroke === 'auto' && (lineStyle.stroke = itemVisualStyle.fill);\n\n  if (!isSelected) {\n    var borderWidth = legendItemModel.get('inactiveBorderWidth');\n    /**\n     * Since stroke is set to be inactiveBorderColor, it may occur that\n     * there is no border in series but border in legend, so we need to\n     * use border only when series has border if is set to be auto\n     */\n\n    var visualHasBorder = itemStyle[iconBrushType];\n    itemStyle.lineWidth = borderWidth === 'auto' ? itemVisualStyle.lineWidth > 0 && visualHasBorder ? 2 : 0 : itemStyle.lineWidth;\n    itemStyle.fill = legendItemModel.get('inactiveColor');\n    itemStyle.stroke = legendItemModel.get('inactiveBorderColor');\n    lineStyle.stroke = legendLineModel.get('inactiveColor');\n    lineStyle.lineWidth = legendLineModel.get('inactiveWidth');\n  }\n\n  return {\n    itemStyle: itemStyle,\n    lineStyle: lineStyle\n  };\n}\n\nfunction getDefaultLegendIcon(opt) {\n  var symboType = opt.icon || 'roundRect';\n  var icon = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_9__[\"createSymbol\"])(symboType, 0, 0, opt.itemWidth, opt.itemHeight, opt.itemStyle.fill, opt.symbolKeepAspect);\n  icon.setStyle(opt.itemStyle);\n  icon.rotation = (opt.iconRotate || 0) * Math.PI / 180;\n  icon.setOrigin([opt.itemWidth / 2, opt.itemHeight / 2]);\n\n  if (symboType.indexOf('empty') > -1) {\n    icon.style.stroke = icon.style.fill;\n    icon.style.fill = '#fff';\n    icon.style.lineWidth = 2;\n  }\n\n  return icon;\n}\n\nfunction dispatchSelectAction(seriesName, dataName, api, excludeSeriesId) {\n  // downplay before unselect\n  dispatchDownplayAction(seriesName, dataName, api, excludeSeriesId);\n  api.dispatchAction({\n    type: 'legendToggleSelect',\n    name: seriesName != null ? seriesName : dataName\n  }); // highlight after select\n  // TODO higlight immediately may cause animation loss.\n\n  dispatchHighlightAction(seriesName, dataName, api, excludeSeriesId);\n}\n\nfunction isUseHoverLayer(api) {\n  var list = api.getZr().storage.getDisplayList();\n  var emphasisState;\n  var i = 0;\n  var len = list.length;\n\n  while (i < len && !(emphasisState = list[i].states.emphasis)) {\n    i++;\n  }\n\n  return emphasisState && emphasisState.hoverLayer;\n}\n\nfunction dispatchHighlightAction(seriesName, dataName, api, excludeSeriesId) {\n  // If element hover will move to a hoverLayer.\n  if (!isUseHoverLayer(api)) {\n    api.dispatchAction({\n      type: 'highlight',\n      seriesName: seriesName,\n      name: dataName,\n      excludeSeriesId: excludeSeriesId\n    });\n  }\n}\n\nfunction dispatchDownplayAction(seriesName, dataName, api, excludeSeriesId) {\n  // If element hover will move to a hoverLayer.\n  if (!isUseHoverLayer(api)) {\n    api.dispatchAction({\n      type: 'downplay',\n      seriesName: seriesName,\n      name: dataName,\n      excludeSeriesId: excludeSeriesId\n    });\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LegendView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/LegendView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js ***!
  \****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _LegendModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LegendModel.js */ \"./node_modules/echarts/lib/component/legend/LegendModel.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar ScrollableLegendModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ScrollableLegendModel, _super);\n\n  function ScrollableLegendModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ScrollableLegendModel.type;\n    return _this;\n  }\n  /**\n   * @param {number} scrollDataIndex\n   */\n\n\n  ScrollableLegendModel.prototype.setScrollDataIndex = function (scrollDataIndex) {\n    this.option.scrollDataIndex = scrollDataIndex;\n  };\n\n  ScrollableLegendModel.prototype.init = function (option, parentModel, ecModel) {\n    var inputPositionParams = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"getLayoutParams\"])(option);\n\n    _super.prototype.init.call(this, option, parentModel, ecModel);\n\n    mergeAndNormalizeLayoutParams(this, option, inputPositionParams);\n  };\n  /**\n   * @override\n   */\n\n\n  ScrollableLegendModel.prototype.mergeOption = function (option, ecModel) {\n    _super.prototype.mergeOption.call(this, option, ecModel);\n\n    mergeAndNormalizeLayoutParams(this, this.option, option);\n  };\n\n  ScrollableLegendModel.type = 'legend.scroll';\n  ScrollableLegendModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_3__[\"inheritDefaultOption\"])(_LegendModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultOption, {\n    scrollDataIndex: 0,\n    pageButtonItemGap: 5,\n    pageButtonGap: null,\n    pageButtonPosition: 'end',\n    pageFormatter: '{current}/{total}',\n    pageIcons: {\n      horizontal: ['M0,0L12,-10L12,10z', 'M0,0L-12,-10L-12,10z'],\n      vertical: ['M0,0L20,0L10,-20z', 'M0,0L20,0L10,20z']\n    },\n    pageIconColor: '#2f4554',\n    pageIconInactiveColor: '#aaa',\n    pageIconSize: 15,\n    pageTextStyle: {\n      color: '#333'\n    },\n    animationDurationUpdate: 800\n  });\n  return ScrollableLegendModel;\n}(_LegendModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n; // Do not `ignoreSize` to enable setting {left: 10, right: 10}.\n\nfunction mergeAndNormalizeLayoutParams(legendModel, target, raw) {\n  var orient = legendModel.getOrient();\n  var ignoreSize = [1, 1];\n  ignoreSize[orient.index] = 0;\n  Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"mergeLayoutParam\"])(target, raw, {\n    type: 'box',\n    ignoreSize: !!ignoreSize\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ScrollableLegendModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/ScrollableLegendView.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/ScrollableLegendView.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _LegendView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LegendView.js */ \"./node_modules/echarts/lib/component/legend/LegendView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Separate legend and scrollable legend to reduce package size.\n */\n\n\n\n\n\nvar Group = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Group\"];\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\n\nvar ScrollableLegendView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ScrollableLegendView, _super);\n\n  function ScrollableLegendView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ScrollableLegendView.type;\n    _this.newlineDisabled = true;\n    _this._currentIndex = 0;\n    return _this;\n  }\n\n  ScrollableLegendView.prototype.init = function () {\n    _super.prototype.init.call(this);\n\n    this.group.add(this._containerGroup = new Group());\n\n    this._containerGroup.add(this.getContentGroup());\n\n    this.group.add(this._controllerGroup = new Group());\n  };\n  /**\n   * @override\n   */\n\n\n  ScrollableLegendView.prototype.resetInner = function () {\n    _super.prototype.resetInner.call(this);\n\n    this._controllerGroup.removeAll();\n\n    this._containerGroup.removeClipPath();\n\n    this._containerGroup.__rectSize = null;\n  };\n  /**\n   * @override\n   */\n\n\n  ScrollableLegendView.prototype.renderInner = function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n    var self = this; // Render content items.\n\n    _super.prototype.renderInner.call(this, itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition);\n\n    var controllerGroup = this._controllerGroup; // FIXME: support be 'auto' adapt to size number text length,\n    // e.g., '3/12345' should not overlap with the control arrow button.\n\n    var pageIconSize = legendModel.get('pageIconSize', true);\n    var pageIconSizeArr = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](pageIconSize) ? pageIconSize : [pageIconSize, pageIconSize];\n    createPageButton('pagePrev', 0);\n    var pageTextStyleModel = legendModel.getModel('pageTextStyle');\n    controllerGroup.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n      name: 'pageText',\n      style: {\n        // Placeholder to calculate a proper layout.\n        text: 'xx/xx',\n        fill: pageTextStyleModel.getTextColor(),\n        font: pageTextStyleModel.getFont(),\n        verticalAlign: 'middle',\n        align: 'center'\n      },\n      silent: true\n    }));\n    createPageButton('pageNext', 1);\n\n    function createPageButton(name, iconIdx) {\n      var pageDataIndexName = name + 'DataIndex';\n      var icon = _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"createIcon\"](legendModel.get('pageIcons', true)[legendModel.getOrient().name][iconIdx], {\n        // Buttons will be created in each render, so we do not need\n        // to worry about avoiding using legendModel kept in scope.\n        onclick: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](self._pageGo, self, pageDataIndexName, legendModel, api)\n      }, {\n        x: -pageIconSizeArr[0] / 2,\n        y: -pageIconSizeArr[1] / 2,\n        width: pageIconSizeArr[0],\n        height: pageIconSizeArr[1]\n      });\n      icon.name = name;\n      controllerGroup.add(icon);\n    }\n  };\n  /**\n   * @override\n   */\n\n\n  ScrollableLegendView.prototype.layoutInner = function (legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition) {\n    var selectorGroup = this.getSelectorGroup();\n    var orientIdx = legendModel.getOrient().index;\n    var wh = WH[orientIdx];\n    var xy = XY[orientIdx];\n    var hw = WH[1 - orientIdx];\n    var yx = XY[1 - orientIdx];\n    selector && _util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"box\"]( // Buttons in selectorGroup always layout horizontally\n    'horizontal', selectorGroup, legendModel.get('selectorItemGap', true));\n    var selectorButtonGap = legendModel.get('selectorButtonGap', true);\n    var selectorRect = selectorGroup.getBoundingRect();\n    var selectorPos = [-selectorRect.x, -selectorRect.y];\n    var processMaxSize = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](maxSize);\n    selector && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);\n\n    var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx, xy);\n\n    if (selector) {\n      if (selectorPosition === 'end') {\n        selectorPos[orientIdx] += mainRect[wh] + selectorButtonGap;\n      } else {\n        var offset = selectorRect[wh] + selectorButtonGap;\n        selectorPos[orientIdx] -= offset;\n        mainRect[xy] -= offset;\n      }\n\n      mainRect[wh] += selectorRect[wh] + selectorButtonGap;\n      selectorPos[1 - orientIdx] += mainRect[yx] + mainRect[hw] / 2 - selectorRect[hw] / 2;\n      mainRect[hw] = Math.max(mainRect[hw], selectorRect[hw]);\n      mainRect[yx] = Math.min(mainRect[yx], selectorRect[yx] + selectorPos[1 - orientIdx]);\n      selectorGroup.x = selectorPos[0];\n      selectorGroup.y = selectorPos[1];\n      selectorGroup.markRedraw();\n    }\n\n    return mainRect;\n  };\n\n  ScrollableLegendView.prototype._layoutContentAndController = function (legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx, xy) {\n    var contentGroup = this.getContentGroup();\n    var containerGroup = this._containerGroup;\n    var controllerGroup = this._controllerGroup; // Place items in contentGroup.\n\n    _util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"box\"](legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);\n    _util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"box\"]( // Buttons in controller are layout always horizontally.\n    'horizontal', controllerGroup, legendModel.get('pageButtonItemGap', true));\n    var contentRect = contentGroup.getBoundingRect();\n    var controllerRect = controllerGroup.getBoundingRect();\n    var showController = this._showController = contentRect[wh] > maxSize[wh]; // In case that the inner elements of contentGroup layout do not based on [0, 0]\n\n    var contentPos = [-contentRect.x, -contentRect.y]; // Remain contentPos when scroll animation perfroming.\n    // If first rendering, `contentGroup.position` is [0, 0], which\n    // does not make sense and may cause unexepcted animation if adopted.\n\n    if (!isFirstRender) {\n      contentPos[orientIdx] = contentGroup[xy];\n    } // Layout container group based on 0.\n\n\n    var containerPos = [0, 0];\n    var controllerPos = [-controllerRect.x, -controllerRect.y];\n    var pageButtonGap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"](legendModel.get('pageButtonGap', true), legendModel.get('itemGap', true)); // Place containerGroup and controllerGroup and contentGroup.\n\n    if (showController) {\n      var pageButtonPosition = legendModel.get('pageButtonPosition', true); // controller is on the right / bottom.\n\n      if (pageButtonPosition === 'end') {\n        controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];\n      } // controller is on the left / top.\n      else {\n          containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;\n        }\n    } // Always align controller to content as 'middle'.\n\n\n    controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;\n    contentGroup.setPosition(contentPos);\n    containerGroup.setPosition(containerPos);\n    controllerGroup.setPosition(controllerPos); // Calculate `mainRect` and set `clipPath`.\n    // mainRect should not be calculated by `this.group.getBoundingRect()`\n    // for sake of the overflow.\n\n    var mainRect = {\n      x: 0,\n      y: 0\n    }; // Consider content may be overflow (should be clipped).\n\n    mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];\n    mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]); // `containerRect[yx] + containerPos[1 - orientIdx]` is 0.\n\n    mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);\n    containerGroup.__rectSize = maxSize[wh];\n\n    if (showController) {\n      var clipShape = {\n        x: 0,\n        y: 0\n      };\n      clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);\n      clipShape[hw] = mainRect[hw];\n      containerGroup.setClipPath(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n        shape: clipShape\n      })); // Consider content may be larger than container, container rect\n      // can not be obtained from `containerGroup.getBoundingRect()`.\n\n      containerGroup.__rectSize = clipShape[wh];\n    } else {\n      // Do not remove or ignore controller. Keep them set as placeholders.\n      controllerGroup.eachChild(function (child) {\n        child.attr({\n          invisible: true,\n          silent: true\n        });\n      });\n    } // Content translate animation.\n\n\n    var pageInfo = this._getPageInfo(legendModel);\n\n    pageInfo.pageIndex != null && _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"updateProps\"](contentGroup, {\n      x: pageInfo.contentPosition[0],\n      y: pageInfo.contentPosition[1]\n    }, // When switch from \"show controller\" to \"not show controller\", view should be\n    // updated immediately without animation, otherwise causes weird effect.\n    showController ? legendModel : null);\n\n    this._updatePageInfoView(legendModel, pageInfo);\n\n    return mainRect;\n  };\n\n  ScrollableLegendView.prototype._pageGo = function (to, legendModel, api) {\n    var scrollDataIndex = this._getPageInfo(legendModel)[to];\n\n    scrollDataIndex != null && api.dispatchAction({\n      type: 'legendScroll',\n      scrollDataIndex: scrollDataIndex,\n      legendId: legendModel.id\n    });\n  };\n\n  ScrollableLegendView.prototype._updatePageInfoView = function (legendModel, pageInfo) {\n    var controllerGroup = this._controllerGroup;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](['pagePrev', 'pageNext'], function (name) {\n      var key = name + 'DataIndex';\n      var canJump = pageInfo[key] != null;\n      var icon = controllerGroup.childOfName(name);\n\n      if (icon) {\n        icon.setStyle('fill', canJump ? legendModel.get('pageIconColor', true) : legendModel.get('pageIconInactiveColor', true));\n        icon.cursor = canJump ? 'pointer' : 'default';\n      }\n    });\n    var pageText = controllerGroup.childOfName('pageText');\n    var pageFormatter = legendModel.get('pageFormatter');\n    var pageIndex = pageInfo.pageIndex;\n    var current = pageIndex != null ? pageIndex + 1 : 0;\n    var total = pageInfo.pageCount;\n    pageText && pageFormatter && pageText.setStyle('text', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](pageFormatter) ? pageFormatter.replace('{current}', current == null ? '' : current + '').replace('{total}', total == null ? '' : total + '') : pageFormatter({\n      current: current,\n      total: total\n    }));\n  };\n  /**\n   *  contentPosition: Array.<number>, null when data item not found.\n   *  pageIndex: number, null when data item not found.\n   *  pageCount: number, always be a number, can be 0.\n   *  pagePrevDataIndex: number, null when no previous page.\n   *  pageNextDataIndex: number, null when no next page.\n   * }\n   */\n\n\n  ScrollableLegendView.prototype._getPageInfo = function (legendModel) {\n    var scrollDataIndex = legendModel.get('scrollDataIndex', true);\n    var contentGroup = this.getContentGroup();\n    var containerRectSize = this._containerGroup.__rectSize;\n    var orientIdx = legendModel.getOrient().index;\n    var wh = WH[orientIdx];\n    var xy = XY[orientIdx];\n\n    var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);\n\n    var children = contentGroup.children();\n    var targetItem = children[targetItemIndex];\n    var itemCount = children.length;\n    var pCount = !itemCount ? 0 : 1;\n    var result = {\n      contentPosition: [contentGroup.x, contentGroup.y],\n      pageCount: pCount,\n      pageIndex: pCount - 1,\n      pagePrevDataIndex: null,\n      pageNextDataIndex: null\n    };\n\n    if (!targetItem) {\n      return result;\n    }\n\n    var targetItemInfo = getItemInfo(targetItem);\n    result.contentPosition[orientIdx] = -targetItemInfo.s; // Strategy:\n    // (1) Always align based on the left/top most item.\n    // (2) It is user-friendly that the last item shown in the\n    // current window is shown at the begining of next window.\n    // Otherwise if half of the last item is cut by the window,\n    // it will have no chance to display entirely.\n    // (3) Consider that item size probably be different, we\n    // have calculate pageIndex by size rather than item index,\n    // and we can not get page index directly by division.\n    // (4) The window is to narrow to contain more than\n    // one item, we should make sure that the page can be fliped.\n\n    for (var i = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i <= itemCount; ++i) {\n      currItemInfo = getItemInfo(children[i]);\n\n      if ( // Half of the last item is out of the window.\n      !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page\n      // can be started at the current item or the last item.\n      currItemInfo && !intersect(currItemInfo, winStartItemInfo.s)) {\n        if (winEndItemInfo.i > winStartItemInfo.i) {\n          winStartItemInfo = winEndItemInfo;\n        } else {\n          // e.g., when page size is smaller than item size.\n          winStartItemInfo = currItemInfo;\n        }\n\n        if (winStartItemInfo) {\n          if (result.pageNextDataIndex == null) {\n            result.pageNextDataIndex = winStartItemInfo.i;\n          }\n\n          ++result.pageCount;\n        }\n      }\n\n      winEndItemInfo = currItemInfo;\n    }\n\n    for (var i = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i >= -1; --i) {\n      currItemInfo = getItemInfo(children[i]);\n\n      if ( // If the the end item does not intersect with the window started\n      // from the current item, a page can be settled.\n      (!currItemInfo || !intersect(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.\n      winStartItemInfo.i < winEndItemInfo.i) {\n        winEndItemInfo = winStartItemInfo;\n\n        if (result.pagePrevDataIndex == null) {\n          result.pagePrevDataIndex = winStartItemInfo.i;\n        }\n\n        ++result.pageCount;\n        ++result.pageIndex;\n      }\n\n      winStartItemInfo = currItemInfo;\n    }\n\n    return result;\n\n    function getItemInfo(el) {\n      if (el) {\n        var itemRect = el.getBoundingRect();\n        var start = itemRect[xy] + el[xy];\n        return {\n          s: start,\n          e: start + itemRect[wh],\n          i: el.__legendDataIndex\n        };\n      }\n    }\n\n    function intersect(itemInfo, winStart) {\n      return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;\n    }\n  };\n\n  ScrollableLegendView.prototype._findTargetItemIndex = function (targetDataIndex) {\n    if (!this._showController) {\n      return 0;\n    }\n\n    var index;\n    var contentGroup = this.getContentGroup();\n    var defaultIndex;\n    contentGroup.eachChild(function (child, idx) {\n      var legendDataIdx = child.__legendDataIndex; // FIXME\n      // If the given targetDataIndex (from model) is illegal,\n      // we use defaultIndex. But the index on the legend model and\n      // action payload is still illegal. That case will not be\n      // changed until some scenario requires.\n\n      if (defaultIndex == null && legendDataIdx != null) {\n        defaultIndex = idx;\n      }\n\n      if (legendDataIdx === targetDataIndex) {\n        index = idx;\n      }\n    });\n    return index != null ? index : defaultIndex;\n  };\n\n  ScrollableLegendView.type = 'legend.scroll';\n  return ScrollableLegendView;\n}(_LegendView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ScrollableLegendView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/install.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/install.js ***!
  \**************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _installLegendPlain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./installLegendPlain.js */ \"./node_modules/echarts/lib/component/legend/installLegendPlain.js\");\n/* harmony import */ var _installLegendScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installLegendScroll.js */ \"./node_modules/echarts/lib/component/legend/installLegendScroll.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installLegendPlain_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]);\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installLegendScroll_js__WEBPACK_IMPORTED_MODULE_2__[\"install\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/installLegendPlain.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/installLegendPlain.js ***!
  \*************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _LegendModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LegendModel.js */ \"./node_modules/echarts/lib/component/legend/LegendModel.js\");\n/* harmony import */ var _LegendView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LegendView.js */ \"./node_modules/echarts/lib/component/legend/LegendView.js\");\n/* harmony import */ var _legendFilter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./legendFilter.js */ \"./node_modules/echarts/lib/component/legend/legendFilter.js\");\n/* harmony import */ var _legendAction_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./legendAction.js */ \"./node_modules/echarts/lib/component/legend/legendAction.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_LegendModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_LegendView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerProcessor(registers.PRIORITY.PROCESSOR.SERIES_FILTER, _legendFilter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerSubTypeDefaulter('legend', function () {\n    return 'plain';\n  });\n  Object(_legendAction_js__WEBPACK_IMPORTED_MODULE_3__[\"installLegendAction\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/installLegendPlain.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/installLegendScroll.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/installLegendScroll.js ***!
  \**************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _installLegendPlain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./installLegendPlain.js */ \"./node_modules/echarts/lib/component/legend/installLegendPlain.js\");\n/* harmony import */ var _ScrollableLegendModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ScrollableLegendModel.js */ \"./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js\");\n/* harmony import */ var _ScrollableLegendView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ScrollableLegendView.js */ \"./node_modules/echarts/lib/component/legend/ScrollableLegendView.js\");\n/* harmony import */ var _scrollableLegendAction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scrollableLegendAction.js */ \"./node_modules/echarts/lib/component/legend/scrollableLegendAction.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installLegendPlain_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]);\n  registers.registerComponentModel(_ScrollableLegendModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerComponentView(_ScrollableLegendView_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  Object(_scrollableLegendAction_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/installLegendScroll.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/legendAction.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/legendAction.js ***!
  \*******************************************************************/
/*! exports provided: installLegendAction */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installLegendAction\", function() { return installLegendAction; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n\n\nfunction legendSelectActionHandler(methodName, payload, ecModel) {\n  var selectedMap = {};\n  var isToggleSelect = methodName === 'toggleSelected';\n  var isSelected; // Update all legend components\n\n  ecModel.eachComponent('legend', function (legendModel) {\n    if (isToggleSelect && isSelected != null) {\n      // Force other legend has same selected status\n      // Or the first is toggled to true and other are toggled to false\n      // In the case one legend has some item unSelected in option. And if other legend\n      // doesn't has the item, they will assume it is selected.\n      legendModel[isSelected ? 'select' : 'unSelect'](payload.name);\n    } else if (methodName === 'allSelect' || methodName === 'inverseSelect') {\n      legendModel[methodName]();\n    } else {\n      legendModel[methodName](payload.name);\n      isSelected = legendModel.isSelected(payload.name);\n    }\n\n    var legendData = legendModel.getData();\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(legendData, function (model) {\n      var name = model.get('name'); // Wrap element\n\n      if (name === '\\n' || name === '') {\n        return;\n      }\n\n      var isItemSelected = legendModel.isSelected(name);\n\n      if (selectedMap.hasOwnProperty(name)) {\n        // Unselected if any legend is unselected\n        selectedMap[name] = selectedMap[name] && isItemSelected;\n      } else {\n        selectedMap[name] = isItemSelected;\n      }\n    });\n  }); // Return the event explicitly\n\n  return methodName === 'allSelect' || methodName === 'inverseSelect' ? {\n    selected: selectedMap\n  } : {\n    name: payload.name,\n    selected: selectedMap\n  };\n}\n\nfunction installLegendAction(registers) {\n  /**\n   * @event legendToggleSelect\n   * @type {Object}\n   * @property {string} type 'legendToggleSelect'\n   * @property {string} [from]\n   * @property {string} name Series name or data item name\n   */\n  registers.registerAction('legendToggleSelect', 'legendselectchanged', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(legendSelectActionHandler, 'toggleSelected'));\n  registers.registerAction('legendAllSelect', 'legendselectall', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(legendSelectActionHandler, 'allSelect'));\n  registers.registerAction('legendInverseSelect', 'legendinverseselect', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(legendSelectActionHandler, 'inverseSelect'));\n  /**\n   * @event legendSelect\n   * @type {Object}\n   * @property {string} type 'legendSelect'\n   * @property {string} name Series name or data item name\n   */\n\n  registers.registerAction('legendSelect', 'legendselected', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(legendSelectActionHandler, 'select'));\n  /**\n   * @event legendUnSelect\n   * @type {Object}\n   * @property {string} type 'legendUnSelect'\n   * @property {string} name Series name or data item name\n   */\n\n  registers.registerAction('legendUnSelect', 'legendunselected', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(legendSelectActionHandler, 'unSelect'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/legendAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/legendFilter.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/legendFilter.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return legendFilter; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction legendFilter(ecModel) {\n  var legendModels = ecModel.findComponents({\n    mainType: 'legend'\n  });\n\n  if (legendModels && legendModels.length) {\n    ecModel.filterSeries(function (series) {\n      // If in any legend component the status is not selected.\n      // Because in legend series is assumed selected when it is not in the legend data.\n      for (var i = 0; i < legendModels.length; i++) {\n        if (!legendModels[i].isSelected(series.name)) {\n          return false;\n        }\n      }\n\n      return true;\n    });\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/legendFilter.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/legend/scrollableLegendAction.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/legend/scrollableLegendAction.js ***!
  \*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return installScrollableLegendAction; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction installScrollableLegendAction(registers) {\n  /**\n   * @event legendScroll\n   * @type {Object}\n   * @property {string} type 'legendScroll'\n   * @property {string} scrollDataIndex\n   */\n  registers.registerAction('legendScroll', 'legendscroll', function (payload, ecModel) {\n    var scrollDataIndex = payload.scrollDataIndex;\n    scrollDataIndex != null && ecModel.eachComponent({\n      mainType: 'legend',\n      subType: 'scroll',\n      query: payload\n    }, function (legendModel) {\n      legendModel.setScrollDataIndex(scrollDataIndex);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/scrollableLegendAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkAreaModel.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkAreaModel.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar MarkAreaModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkAreaModel, _super);\n\n  function MarkAreaModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkAreaModel.type;\n    return _this;\n  }\n\n  MarkAreaModel.prototype.createMarkerModelFromSeries = function (markerOpt, masterMarkerModel, ecModel) {\n    return new MarkAreaModel(markerOpt, masterMarkerModel, ecModel);\n  };\n\n  MarkAreaModel.type = 'markArea';\n  MarkAreaModel.defaultOption = {\n    // zlevel: 0,\n    // PENDING\n    z: 1,\n    tooltip: {\n      trigger: 'item'\n    },\n    // markArea should fixed on the coordinate system\n    animation: false,\n    label: {\n      show: true,\n      position: 'top'\n    },\n    itemStyle: {\n      // color and borderColor default to use color from series\n      // color: 'auto'\n      // borderColor: 'auto'\n      borderWidth: 0\n    },\n    emphasis: {\n      label: {\n        show: true,\n        position: 'top'\n      }\n    }\n  };\n  return MarkAreaModel;\n}(_MarkerModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkAreaModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkAreaModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkAreaView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkAreaView.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _markerHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./markerHelper.js */ \"./node_modules/echarts/lib/component/marker/markerHelper.js\");\n/* harmony import */ var _MarkerView_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MarkerView.js */ \"./node_modules/echarts/lib/component/marker/MarkerView.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../coord/CoordinateSystem.js */ \"./node_modules/echarts/lib/coord/CoordinateSystem.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _visual_helper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../visual/helper.js */ \"./node_modules/echarts/lib/visual/helper.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../data/helper/dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // TODO Optimize on polar\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_11__[\"makeInner\"])();\n\nvar markAreaTransform = function (seriesModel, coordSys, maModel, item) {\n  var lt = _markerHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"dataTransform\"](seriesModel, item[0]);\n  var rb = _markerHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"dataTransform\"](seriesModel, item[1]); // FIXME make sure lt is less than rb\n\n  var ltCoord = lt.coord;\n  var rbCoord = rb.coord;\n  ltCoord[0] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve\"])(ltCoord[0], -Infinity);\n  ltCoord[1] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve\"])(ltCoord[1], -Infinity);\n  rbCoord[0] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve\"])(rbCoord[0], Infinity);\n  rbCoord[1] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve\"])(rbCoord[1], Infinity); // Merge option into one\n\n  var result = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"mergeAll\"])([{}, lt, rb]);\n  result.coord = [lt.coord, rb.coord];\n  result.x0 = lt.x;\n  result.y0 = lt.y;\n  result.x1 = rb.x;\n  result.y1 = rb.y;\n  return result;\n};\n\nfunction isInfinity(val) {\n  return !isNaN(val) && !isFinite(val);\n} // If a markArea has one dim\n\n\nfunction ifMarkAreaHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n  var otherDimIndex = 1 - dimIndex;\n  return isInfinity(fromCoord[otherDimIndex]) && isInfinity(toCoord[otherDimIndex]);\n}\n\nfunction markAreaFilter(coordSys, item) {\n  var fromCoord = item.coord[0];\n  var toCoord = item.coord[1];\n  var item0 = {\n    coord: fromCoord,\n    x: item.x0,\n    y: item.y0\n  };\n  var item1 = {\n    coord: toCoord,\n    x: item.x1,\n    y: item.y1\n  };\n\n  if (Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_9__[\"isCoordinateSystemType\"])(coordSys, 'cartesian2d')) {\n    // In case\n    // {\n    //  markArea: {\n    //    data: [{ yAxis: 2 }]\n    //  }\n    // }\n    if (fromCoord && toCoord && (ifMarkAreaHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkAreaHasOnlyDim(0, fromCoord, toCoord, coordSys))) {\n      return true;\n    } //Directly returning true may also do the work,\n    //because markArea will not be shown automatically\n    //when it's not included in coordinate system.\n    //But filtering ahead can avoid keeping rendering markArea\n    //when there are too many of them.\n\n\n    return _markerHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"zoneFilter\"](coordSys, item0, item1);\n  }\n\n  return _markerHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"dataFilter\"](coordSys, item0) || _markerHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"dataFilter\"](coordSys, item1);\n} // dims can be ['x0', 'y0'], ['x1', 'y1'], ['x0', 'y1'], ['x1', 'y0']\n\n\nfunction getSingleMarkerEndPoint(data, idx, dims, seriesModel, api) {\n  var coordSys = seriesModel.coordinateSystem;\n  var itemModel = data.getItemModel(idx);\n  var point;\n  var xPx = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"parsePercent\"](itemModel.get(dims[0]), api.getWidth());\n  var yPx = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"parsePercent\"](itemModel.get(dims[1]), api.getHeight());\n\n  if (!isNaN(xPx) && !isNaN(yPx)) {\n    point = [xPx, yPx];\n  } else {\n    // Chart like bar may have there own marker positioning logic\n    if (seriesModel.getMarkerPosition) {\n      // Use the getMarkerPosition\n      point = seriesModel.getMarkerPosition(data.getValues(dims, idx));\n    } else {\n      var x = data.get(dims[0], idx);\n      var y = data.get(dims[1], idx);\n      var pt = [x, y];\n      coordSys.clampData && coordSys.clampData(pt, pt);\n      point = coordSys.dataToPoint(pt, true);\n    }\n\n    if (Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_9__[\"isCoordinateSystemType\"])(coordSys, 'cartesian2d')) {\n      // TODO: TYPE ts@4.1 may still infer it as Axis instead of Axis2D. Not sure if it's a bug\n      var xAxis = coordSys.getAxis('x');\n      var yAxis = coordSys.getAxis('y');\n      var x = data.get(dims[0], idx);\n      var y = data.get(dims[1], idx);\n\n      if (isInfinity(x)) {\n        point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[dims[0] === 'x0' ? 0 : 1]);\n      } else if (isInfinity(y)) {\n        point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[dims[1] === 'y0' ? 0 : 1]);\n      }\n    } // Use x, y if has any\n\n\n    if (!isNaN(xPx)) {\n      point[0] = xPx;\n    }\n\n    if (!isNaN(yPx)) {\n      point[1] = yPx;\n    }\n  }\n\n  return point;\n}\n\nvar dimPermutations = [['x0', 'y0'], ['x1', 'y0'], ['x1', 'y1'], ['x0', 'y1']];\n\nvar MarkAreaView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkAreaView, _super);\n\n  function MarkAreaView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkAreaView.type;\n    return _this;\n  }\n\n  MarkAreaView.prototype.updateTransform = function (markAreaModel, ecModel, api) {\n    ecModel.eachSeries(function (seriesModel) {\n      var maModel = _MarkerModel_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].getMarkerModelFromSeries(seriesModel, 'markArea');\n\n      if (maModel) {\n        var areaData_1 = maModel.getData();\n        areaData_1.each(function (idx) {\n          var points = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(dimPermutations, function (dim) {\n            return getSingleMarkerEndPoint(areaData_1, idx, dim, seriesModel, api);\n          }); // Layout\n\n          areaData_1.setItemLayout(idx, points);\n          var el = areaData_1.getItemGraphicEl(idx);\n          el.setShape('points', points);\n        });\n      }\n    }, this);\n  };\n\n  MarkAreaView.prototype.renderSeries = function (seriesModel, maModel, ecModel, api) {\n    var coordSys = seriesModel.coordinateSystem;\n    var seriesId = seriesModel.id;\n    var seriesData = seriesModel.getData();\n    var areaGroupMap = this.markerGroupMap;\n    var polygonGroup = areaGroupMap.get(seriesId) || areaGroupMap.set(seriesId, {\n      group: new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Group\"]()\n    });\n    this.group.add(polygonGroup.group);\n    this.markKeep(polygonGroup);\n    var areaData = createList(coordSys, seriesModel, maModel); // Line data for tooltip and formatter\n\n    maModel.setData(areaData); // Update visual and layout of line\n\n    areaData.each(function (idx) {\n      // Layout\n      var points = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(dimPermutations, function (dim) {\n        return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api);\n      });\n      var xAxisScale = coordSys.getAxis('x').scale;\n      var yAxisScale = coordSys.getAxis('y').scale;\n      var xAxisExtent = xAxisScale.getExtent();\n      var yAxisExtent = yAxisScale.getExtent();\n      var xPointExtent = [xAxisScale.parse(areaData.get('x0', idx)), xAxisScale.parse(areaData.get('x1', idx))];\n      var yPointExtent = [yAxisScale.parse(areaData.get('y0', idx)), yAxisScale.parse(areaData.get('y1', idx))];\n      _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"asc\"](xPointExtent);\n      _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"asc\"](yPointExtent);\n      var overlapped = !(xAxisExtent[0] > xPointExtent[1] || xAxisExtent[1] < xPointExtent[0] || yAxisExtent[0] > yPointExtent[1] || yAxisExtent[1] < yPointExtent[0]); // If none of the area is inside coordSys, allClipped is set to be true\n      // in layout so that label will not be displayed. See #12591\n\n      var allClipped = !overlapped;\n      areaData.setItemLayout(idx, {\n        points: points,\n        allClipped: allClipped\n      });\n      var style = areaData.getItemModel(idx).getModel('itemStyle').getItemStyle();\n      var color = Object(_visual_helper_js__WEBPACK_IMPORTED_MODULE_12__[\"getVisualFromData\"])(seriesData, 'color');\n\n      if (!style.fill) {\n        style.fill = color;\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"isString\"])(style.fill)) {\n          style.fill = zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"modifyAlpha\"](style.fill, 0.4);\n        }\n      }\n\n      if (!style.stroke) {\n        style.stroke = color;\n      } // Visual\n\n\n      areaData.setItemVisual(idx, 'style', style);\n    });\n    areaData.diff(inner(polygonGroup).data).add(function (idx) {\n      var layout = areaData.getItemLayout(idx);\n\n      if (!layout.allClipped) {\n        var polygon = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Polygon\"]({\n          shape: {\n            points: layout.points\n          }\n        });\n        areaData.setItemGraphicEl(idx, polygon);\n        polygonGroup.group.add(polygon);\n      }\n    }).update(function (newIdx, oldIdx) {\n      var polygon = inner(polygonGroup).data.getItemGraphicEl(oldIdx);\n      var layout = areaData.getItemLayout(newIdx);\n\n      if (!layout.allClipped) {\n        if (polygon) {\n          _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"updateProps\"](polygon, {\n            shape: {\n              points: layout.points\n            }\n          }, maModel, newIdx);\n        } else {\n          polygon = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_4__[\"Polygon\"]({\n            shape: {\n              points: layout.points\n            }\n          });\n        }\n\n        areaData.setItemGraphicEl(newIdx, polygon);\n        polygonGroup.group.add(polygon);\n      } else if (polygon) {\n        polygonGroup.group.remove(polygon);\n      }\n    }).remove(function (idx) {\n      var polygon = inner(polygonGroup).data.getItemGraphicEl(idx);\n      polygonGroup.group.remove(polygon);\n    }).execute();\n    areaData.eachItemGraphicEl(function (polygon, idx) {\n      var itemModel = areaData.getItemModel(idx);\n      var style = areaData.getItemVisual(idx, 'style');\n      polygon.useStyle(areaData.getItemVisual(idx, 'style'));\n      Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__[\"setLabelStyle\"])(polygon, Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_13__[\"getLabelStatesModels\"])(itemModel), {\n        labelFetcher: maModel,\n        labelDataIndex: idx,\n        defaultText: areaData.getName(idx) || '',\n        inheritColor: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"isString\"])(style.fill) ? zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"modifyAlpha\"](style.fill, 1) : '#000'\n      });\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"setStatesStylesFromModel\"])(polygon, itemModel);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"toggleHoverEmphasis\"])(polygon, null, null, itemModel.get(['emphasis', 'disabled']));\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_14__[\"getECData\"])(polygon).dataModel = maModel;\n    });\n    inner(polygonGroup).data = areaData;\n    polygonGroup.group.silent = maModel.get('silent') || seriesModel.get('silent');\n  };\n\n  MarkAreaView.type = 'markArea';\n  return MarkAreaView;\n}(_MarkerView_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\nfunction createList(coordSys, seriesModel, maModel) {\n  var areaData;\n  var dataDims;\n  var dims = ['x0', 'y0', 'x1', 'y1'];\n\n  if (coordSys) {\n    var coordDimsInfos_1 = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(coordSys && coordSys.dimensions, function (coordDim) {\n      var data = seriesModel.getData();\n      var info = data.getDimensionInfo(data.mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"extend\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"extend\"])({}, info), {\n        name: coordDim,\n        // DON'T use ordinalMeta to parse and collect ordinal.\n        ordinalMeta: null\n      });\n    });\n    dataDims = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(dims, function (dim, idx) {\n      return {\n        name: dim,\n        type: coordDimsInfos_1[idx % 2].type\n      };\n    });\n    areaData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](dataDims, maModel);\n  } else {\n    dataDims = [{\n      name: 'value',\n      type: 'float'\n    }];\n    areaData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](dataDims, maModel);\n  }\n\n  var optData = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(maModel.get('data'), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"curry\"])(markAreaTransform, seriesModel, coordSys, maModel));\n\n  if (coordSys) {\n    optData = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"filter\"])(optData, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"curry\"])(markAreaFilter, coordSys));\n  }\n\n  var dimValueGetter = coordSys ? function (item, dimName, dataIndex, dimIndex) {\n    // TODO should convert to ParsedValue?\n    var rawVal = item.coord[Math.floor(dimIndex / 2)][dimIndex % 2];\n    return Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_15__[\"parseDataValue\"])(rawVal, dataDims[dimIndex]);\n  } : function (item, dimName, dataIndex, dimIndex) {\n    return Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_15__[\"parseDataValue\"])(item.value, dataDims[dimIndex]);\n  };\n  areaData.initData(optData, null, dimValueGetter);\n  areaData.hasItemOption = true;\n  return areaData;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkAreaView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkAreaView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkLineModel.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkLineModel.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar MarkLineModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkLineModel, _super);\n\n  function MarkLineModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkLineModel.type;\n    return _this;\n  }\n\n  MarkLineModel.prototype.createMarkerModelFromSeries = function (markerOpt, masterMarkerModel, ecModel) {\n    return new MarkLineModel(markerOpt, masterMarkerModel, ecModel);\n  };\n\n  MarkLineModel.type = 'markLine';\n  MarkLineModel.defaultOption = {\n    // zlevel: 0,\n    z: 5,\n    symbol: ['circle', 'arrow'],\n    symbolSize: [8, 16],\n    //symbolRotate: 0,\n    symbolOffset: 0,\n    precision: 2,\n    tooltip: {\n      trigger: 'item'\n    },\n    label: {\n      show: true,\n      position: 'end',\n      distance: 5\n    },\n    lineStyle: {\n      type: 'dashed'\n    },\n    emphasis: {\n      label: {\n        show: true\n      },\n      lineStyle: {\n        width: 3\n      }\n    },\n    animationEasing: 'linear'\n  };\n  return MarkLineModel;\n}(_MarkerModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkLineModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkLineModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkLineView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkLineView.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./markerHelper.js */ \"./node_modules/echarts/lib/component/marker/markerHelper.js\");\n/* harmony import */ var _chart_helper_LineDraw_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../chart/helper/LineDraw.js */ \"./node_modules/echarts/lib/chart/helper/LineDraw.js\");\n/* harmony import */ var _MarkerView_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MarkerView.js */ \"./node_modules/echarts/lib/component/marker/MarkerView.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var _coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../coord/CoordinateSystem.js */ \"./node_modules/echarts/lib/coord/CoordinateSystem.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _visual_helper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../visual/helper.js */ \"./node_modules/echarts/lib/visual/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_11__[\"makeInner\"])();\n\nvar markLineTransform = function (seriesModel, coordSys, mlModel, item) {\n  var data = seriesModel.getData();\n  var itemArray;\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isArray\"])(item)) {\n    // Special type markLine like 'min', 'max', 'average', 'median'\n    var mlType = item.type;\n\n    if (mlType === 'min' || mlType === 'max' || mlType === 'average' || mlType === 'median' // In case\n    // data: [{\n    //   yAxis: 10\n    // }]\n    || item.xAxis != null || item.yAxis != null) {\n      var valueAxis = void 0;\n      var value = void 0;\n\n      if (item.yAxis != null || item.xAxis != null) {\n        valueAxis = coordSys.getAxis(item.yAxis != null ? 'y' : 'x');\n        value = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"retrieve\"])(item.yAxis, item.xAxis);\n      } else {\n        var axisInfo = _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getAxisInfo\"](item, data, coordSys, seriesModel);\n        valueAxis = axisInfo.valueAxis;\n        var valueDataDim = Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getStackedDimension\"])(data, axisInfo.valueDataDim);\n        value = _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"numCalculate\"](data, valueDataDim, mlType);\n      }\n\n      var valueIndex = valueAxis.dim === 'x' ? 0 : 1;\n      var baseIndex = 1 - valueIndex; // Normized to 2d data with start and end point\n\n      var mlFrom = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"clone\"])(item);\n      var mlTo = {\n        coord: []\n      };\n      mlFrom.type = null;\n      mlFrom.coord = [];\n      mlFrom.coord[baseIndex] = -Infinity;\n      mlTo.coord[baseIndex] = Infinity;\n      var precision = mlModel.get('precision');\n\n      if (precision >= 0 && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isNumber\"])(value)) {\n        value = +value.toFixed(Math.min(precision, 20));\n      }\n\n      mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;\n      itemArray = [mlFrom, mlTo, {\n        type: mlType,\n        valueIndex: item.valueIndex,\n        // Force to use the value of calculated value.\n        value: value\n      }];\n    } else {\n      // Invalid data\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"logError\"])('Invalid markLine data.');\n      }\n\n      itemArray = [];\n    }\n  } else {\n    itemArray = item;\n  }\n\n  var normalizedItem = [_markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"dataTransform\"](seriesModel, itemArray[0]), _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"dataTransform\"](seriesModel, itemArray[1]), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"extend\"])({}, itemArray[2])]; // Avoid line data type is extended by from(to) data type\n\n  normalizedItem[2].type = normalizedItem[2].type || null; // Merge from option and to option into line option\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"merge\"])(normalizedItem[2], normalizedItem[0]);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"merge\"])(normalizedItem[2], normalizedItem[1]);\n  return normalizedItem;\n};\n\nfunction isInfinity(val) {\n  return !isNaN(val) && !isFinite(val);\n} // If a markLine has one dim\n\n\nfunction ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n  var otherDimIndex = 1 - dimIndex;\n  var dimName = coordSys.dimensions[dimIndex];\n  return isInfinity(fromCoord[otherDimIndex]) && isInfinity(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);\n}\n\nfunction markLineFilter(coordSys, item) {\n  if (coordSys.type === 'cartesian2d') {\n    var fromCoord = item[0].coord;\n    var toCoord = item[1].coord; // In case\n    // {\n    //  markLine: {\n    //    data: [{ yAxis: 2 }]\n    //  }\n    // }\n\n    if (fromCoord && toCoord && (ifMarkLineHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim(0, fromCoord, toCoord, coordSys))) {\n      return true;\n    }\n  }\n\n  return _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"dataFilter\"](coordSys, item[0]) && _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"dataFilter\"](coordSys, item[1]);\n}\n\nfunction updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api) {\n  var coordSys = seriesModel.coordinateSystem;\n  var itemModel = data.getItemModel(idx);\n  var point;\n  var xPx = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](itemModel.get('x'), api.getWidth());\n  var yPx = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](itemModel.get('y'), api.getHeight());\n\n  if (!isNaN(xPx) && !isNaN(yPx)) {\n    point = [xPx, yPx];\n  } else {\n    // Chart like bar may have there own marker positioning logic\n    if (seriesModel.getMarkerPosition) {\n      // Use the getMarkerPosition\n      point = seriesModel.getMarkerPosition(data.getValues(data.dimensions, idx));\n    } else {\n      var dims = coordSys.dimensions;\n      var x = data.get(dims[0], idx);\n      var y = data.get(dims[1], idx);\n      point = coordSys.dataToPoint([x, y]);\n    } // Expand line to the edge of grid if value on one axis is Inifnity\n    // In case\n    //  markLine: {\n    //    data: [{\n    //      yAxis: 2\n    //      // or\n    //      type: 'average'\n    //    }]\n    //  }\n\n\n    if (Object(_coord_CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_7__[\"isCoordinateSystemType\"])(coordSys, 'cartesian2d')) {\n      // TODO: TYPE ts@4.1 may still infer it as Axis instead of Axis2D. Not sure if it's a bug\n      var xAxis = coordSys.getAxis('x');\n      var yAxis = coordSys.getAxis('y');\n      var dims = coordSys.dimensions;\n\n      if (isInfinity(data.get(dims[0], idx))) {\n        point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);\n      } else if (isInfinity(data.get(dims[1], idx))) {\n        point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 0 : 1]);\n      }\n    } // Use x, y if has any\n\n\n    if (!isNaN(xPx)) {\n      point[0] = xPx;\n    }\n\n    if (!isNaN(yPx)) {\n      point[1] = yPx;\n    }\n  }\n\n  data.setItemLayout(idx, point);\n}\n\nvar MarkLineView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkLineView, _super);\n\n  function MarkLineView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkLineView.type;\n    return _this;\n  }\n\n  MarkLineView.prototype.updateTransform = function (markLineModel, ecModel, api) {\n    ecModel.eachSeries(function (seriesModel) {\n      var mlModel = _MarkerModel_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getMarkerModelFromSeries(seriesModel, 'markLine');\n\n      if (mlModel) {\n        var mlData_1 = mlModel.getData();\n        var fromData_1 = inner(mlModel).from;\n        var toData_1 = inner(mlModel).to; // Update visual and layout of from symbol and to symbol\n\n        fromData_1.each(function (idx) {\n          updateSingleMarkerEndLayout(fromData_1, idx, true, seriesModel, api);\n          updateSingleMarkerEndLayout(toData_1, idx, false, seriesModel, api);\n        }); // Update layout of line\n\n        mlData_1.each(function (idx) {\n          mlData_1.setItemLayout(idx, [fromData_1.getItemLayout(idx), toData_1.getItemLayout(idx)]);\n        });\n        this.markerGroupMap.get(seriesModel.id).updateLayout();\n      }\n    }, this);\n  };\n\n  MarkLineView.prototype.renderSeries = function (seriesModel, mlModel, ecModel, api) {\n    var coordSys = seriesModel.coordinateSystem;\n    var seriesId = seriesModel.id;\n    var seriesData = seriesModel.getData();\n    var lineDrawMap = this.markerGroupMap;\n    var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new _chart_helper_LineDraw_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]());\n    this.group.add(lineDraw.group);\n    var mlData = createList(coordSys, seriesModel, mlModel);\n    var fromData = mlData.from;\n    var toData = mlData.to;\n    var lineData = mlData.line;\n    inner(mlModel).from = fromData;\n    inner(mlModel).to = toData; // Line data for tooltip and formatter\n\n    mlModel.setData(lineData); // TODO\n    // Functionally, `symbolSize` & `symbolOffset` can also be 2D array now.\n    // But the related logic and type definition are not finished yet.\n    // Finish it if required\n\n    var symbolType = mlModel.get('symbol');\n    var symbolSize = mlModel.get('symbolSize');\n    var symbolRotate = mlModel.get('symbolRotate');\n    var symbolOffset = mlModel.get('symbolOffset'); // TODO: support callback function like markPoint\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isArray\"])(symbolType)) {\n      symbolType = [symbolType, symbolType];\n    }\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isArray\"])(symbolSize)) {\n      symbolSize = [symbolSize, symbolSize];\n    }\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isArray\"])(symbolRotate)) {\n      symbolRotate = [symbolRotate, symbolRotate];\n    }\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isArray\"])(symbolOffset)) {\n      symbolOffset = [symbolOffset, symbolOffset];\n    } // Update visual and layout of from symbol and to symbol\n\n\n    mlData.from.each(function (idx) {\n      updateDataVisualAndLayout(fromData, idx, true);\n      updateDataVisualAndLayout(toData, idx, false);\n    }); // Update visual and layout of line\n\n    lineData.each(function (idx) {\n      var lineStyle = lineData.getItemModel(idx).getModel('lineStyle').getLineStyle(); // lineData.setItemVisual(idx, {\n      //     color: lineColor || fromData.getItemVisual(idx, 'color')\n      // });\n\n      lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n\n      if (lineStyle.stroke == null) {\n        lineStyle.stroke = fromData.getItemVisual(idx, 'style').fill;\n      }\n\n      lineData.setItemVisual(idx, {\n        fromSymbolKeepAspect: fromData.getItemVisual(idx, 'symbolKeepAspect'),\n        fromSymbolOffset: fromData.getItemVisual(idx, 'symbolOffset'),\n        fromSymbolRotate: fromData.getItemVisual(idx, 'symbolRotate'),\n        fromSymbolSize: fromData.getItemVisual(idx, 'symbolSize'),\n        fromSymbol: fromData.getItemVisual(idx, 'symbol'),\n        toSymbolKeepAspect: toData.getItemVisual(idx, 'symbolKeepAspect'),\n        toSymbolOffset: toData.getItemVisual(idx, 'symbolOffset'),\n        toSymbolRotate: toData.getItemVisual(idx, 'symbolRotate'),\n        toSymbolSize: toData.getItemVisual(idx, 'symbolSize'),\n        toSymbol: toData.getItemVisual(idx, 'symbol'),\n        style: lineStyle\n      });\n    });\n    lineDraw.updateData(lineData); // Set host model for tooltip\n    // FIXME\n\n    mlData.line.eachItemGraphicEl(function (el) {\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__[\"getECData\"])(el).dataModel = mlModel;\n      el.traverse(function (child) {\n        Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__[\"getECData\"])(child).dataModel = mlModel;\n      });\n    });\n\n    function updateDataVisualAndLayout(data, idx, isFrom) {\n      var itemModel = data.getItemModel(idx);\n      updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api);\n      var style = itemModel.getModel('itemStyle').getItemStyle();\n\n      if (style.fill == null) {\n        style.fill = Object(_visual_helper_js__WEBPACK_IMPORTED_MODULE_12__[\"getVisualFromData\"])(seriesData, 'color');\n      }\n\n      data.setItemVisual(idx, {\n        symbolKeepAspect: itemModel.get('symbolKeepAspect'),\n        // `0` should be considered as a valid value, so use `retrieve2` instead of `||`\n        symbolOffset: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"retrieve2\"])(itemModel.get('symbolOffset', true), symbolOffset[isFrom ? 0 : 1]),\n        symbolRotate: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"retrieve2\"])(itemModel.get('symbolRotate', true), symbolRotate[isFrom ? 0 : 1]),\n        // TODO: when 2d array is supported, it should ignore parent\n        symbolSize: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"retrieve2\"])(itemModel.get('symbolSize'), symbolSize[isFrom ? 0 : 1]),\n        symbol: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"retrieve2\"])(itemModel.get('symbol', true), symbolType[isFrom ? 0 : 1]),\n        style: style\n      });\n    }\n\n    this.markKeep(lineDraw);\n    lineDraw.group.silent = mlModel.get('silent') || seriesModel.get('silent');\n  };\n\n  MarkLineView.type = 'markLine';\n  return MarkLineView;\n}(_MarkerView_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nfunction createList(coordSys, seriesModel, mlModel) {\n  var coordDimsInfos;\n\n  if (coordSys) {\n    coordDimsInfos = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"map\"])(coordSys && coordSys.dimensions, function (coordDim) {\n      var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"extend\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"extend\"])({}, info), {\n        name: coordDim,\n        // DON'T use ordinalMeta to parse and collect ordinal.\n        ordinalMeta: null\n      });\n    });\n  } else {\n    coordDimsInfos = [{\n      name: 'value',\n      type: 'float'\n    }];\n  }\n\n  var fromData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](coordDimsInfos, mlModel);\n  var toData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](coordDimsInfos, mlModel); // No dimensions\n\n  var lineData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]([], mlModel);\n  var optData = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"map\"])(mlModel.get('data'), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"curry\"])(markLineTransform, seriesModel, coordSys, mlModel));\n\n  if (coordSys) {\n    optData = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"filter\"])(optData, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"curry\"])(markLineFilter, coordSys));\n  }\n\n  var dimValueGetter = _markerHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"createMarkerDimValueGetter\"](!!coordSys, coordDimsInfos);\n  fromData.initData(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"map\"])(optData, function (item) {\n    return item[0];\n  }), null, dimValueGetter);\n  toData.initData(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"map\"])(optData, function (item) {\n    return item[1];\n  }), null, dimValueGetter);\n  lineData.initData(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"map\"])(optData, function (item) {\n    return item[2];\n  }));\n  lineData.hasItemOption = true;\n  return {\n    from: fromData,\n    to: toData,\n    line: lineData\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkLineView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkLineView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkPointModel.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkPointModel.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar MarkPointModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkPointModel, _super);\n\n  function MarkPointModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkPointModel.type;\n    return _this;\n  }\n\n  MarkPointModel.prototype.createMarkerModelFromSeries = function (markerOpt, masterMarkerModel, ecModel) {\n    return new MarkPointModel(markerOpt, masterMarkerModel, ecModel);\n  };\n\n  MarkPointModel.type = 'markPoint';\n  MarkPointModel.defaultOption = {\n    // zlevel: 0,\n    z: 5,\n    symbol: 'pin',\n    symbolSize: 50,\n    //symbolRotate: 0,\n    //symbolOffset: [0, 0]\n    tooltip: {\n      trigger: 'item'\n    },\n    label: {\n      show: true,\n      position: 'inside'\n    },\n    itemStyle: {\n      borderWidth: 2\n    },\n    emphasis: {\n      label: {\n        show: true\n      }\n    }\n  };\n  return MarkPointModel;\n}(_MarkerModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkPointModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkPointModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkPointView.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkPointView.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _chart_helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../chart/helper/SymbolDraw.js */ \"./node_modules/echarts/lib/chart/helper/SymbolDraw.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var _markerHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./markerHelper.js */ \"./node_modules/echarts/lib/component/marker/markerHelper.js\");\n/* harmony import */ var _MarkerView_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MarkerView.js */ \"./node_modules/echarts/lib/component/marker/MarkerView.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _visual_helper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../visual/helper.js */ \"./node_modules/echarts/lib/visual/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nfunction updateMarkerLayout(mpData, seriesModel, api) {\n  var coordSys = seriesModel.coordinateSystem;\n  mpData.each(function (idx) {\n    var itemModel = mpData.getItemModel(idx);\n    var point;\n    var xPx = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](itemModel.get('x'), api.getWidth());\n    var yPx = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](itemModel.get('y'), api.getHeight());\n\n    if (!isNaN(xPx) && !isNaN(yPx)) {\n      point = [xPx, yPx];\n    } // Chart like bar may have there own marker positioning logic\n    else if (seriesModel.getMarkerPosition) {\n        // Use the getMarkerPosition\n        point = seriesModel.getMarkerPosition(mpData.getValues(mpData.dimensions, idx));\n      } else if (coordSys) {\n        var x = mpData.get(coordSys.dimensions[0], idx);\n        var y = mpData.get(coordSys.dimensions[1], idx);\n        point = coordSys.dataToPoint([x, y]);\n      } // Use x, y if has any\n\n\n    if (!isNaN(xPx)) {\n      point[0] = xPx;\n    }\n\n    if (!isNaN(yPx)) {\n      point[1] = yPx;\n    }\n\n    mpData.setItemLayout(idx, point);\n  });\n}\n\nvar MarkPointView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkPointView, _super);\n\n  function MarkPointView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkPointView.type;\n    return _this;\n  }\n\n  MarkPointView.prototype.updateTransform = function (markPointModel, ecModel, api) {\n    ecModel.eachSeries(function (seriesModel) {\n      var mpModel = _MarkerModel_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].getMarkerModelFromSeries(seriesModel, 'markPoint');\n\n      if (mpModel) {\n        updateMarkerLayout(mpModel.getData(), seriesModel, api);\n        this.markerGroupMap.get(seriesModel.id).updateLayout();\n      }\n    }, this);\n  };\n\n  MarkPointView.prototype.renderSeries = function (seriesModel, mpModel, ecModel, api) {\n    var coordSys = seriesModel.coordinateSystem;\n    var seriesId = seriesModel.id;\n    var seriesData = seriesModel.getData();\n    var symbolDrawMap = this.markerGroupMap;\n    var symbolDraw = symbolDrawMap.get(seriesId) || symbolDrawMap.set(seriesId, new _chart_helper_SymbolDraw_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]());\n    var mpData = createData(coordSys, seriesModel, mpModel); // FIXME\n\n    mpModel.setData(mpData);\n    updateMarkerLayout(mpModel.getData(), seriesModel, api);\n    mpData.each(function (idx) {\n      var itemModel = mpData.getItemModel(idx);\n      var symbol = itemModel.getShallow('symbol');\n      var symbolSize = itemModel.getShallow('symbolSize');\n      var symbolRotate = itemModel.getShallow('symbolRotate');\n      var symbolOffset = itemModel.getShallow('symbolOffset');\n      var symbolKeepAspect = itemModel.getShallow('symbolKeepAspect'); // TODO: refactor needed: single data item should not support callback function\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbol) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbolSize) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbolRotate) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbolOffset)) {\n        var rawIdx = mpModel.getRawValue(idx);\n        var dataParams = mpModel.getDataParams(idx);\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbol)) {\n          symbol = symbol(rawIdx, dataParams);\n        }\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbolSize)) {\n          // FIXME 这里不兼容 ECharts 2.x，2.x 貌似参数是整个数据？\n          symbolSize = symbolSize(rawIdx, dataParams);\n        }\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbolRotate)) {\n          symbolRotate = symbolRotate(rawIdx, dataParams);\n        }\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isFunction\"])(symbolOffset)) {\n          symbolOffset = symbolOffset(rawIdx, dataParams);\n        }\n      }\n\n      var style = itemModel.getModel('itemStyle').getItemStyle();\n      var color = Object(_visual_helper_js__WEBPACK_IMPORTED_MODULE_9__[\"getVisualFromData\"])(seriesData, 'color');\n\n      if (!style.fill) {\n        style.fill = color;\n      }\n\n      mpData.setItemVisual(idx, {\n        symbol: symbol,\n        symbolSize: symbolSize,\n        symbolRotate: symbolRotate,\n        symbolOffset: symbolOffset,\n        symbolKeepAspect: symbolKeepAspect,\n        style: style\n      });\n    }); // TODO Text are wrong\n\n    symbolDraw.updateData(mpData);\n    this.group.add(symbolDraw.group); // Set host model for tooltip\n    // FIXME\n\n    mpData.eachItemGraphicEl(function (el) {\n      el.traverse(function (child) {\n        Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__[\"getECData\"])(child).dataModel = mpModel;\n      });\n    });\n    this.markKeep(symbolDraw);\n    symbolDraw.group.silent = mpModel.get('silent') || seriesModel.get('silent');\n  };\n\n  MarkPointView.type = 'markPoint';\n  return MarkPointView;\n}(_MarkerView_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nfunction createData(coordSys, seriesModel, mpModel) {\n  var coordDimsInfos;\n\n  if (coordSys) {\n    coordDimsInfos = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"map\"])(coordSys && coordSys.dimensions, function (coordDim) {\n      var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"extend\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"extend\"])({}, info), {\n        name: coordDim,\n        // DON'T use ordinalMeta to parse and collect ordinal.\n        ordinalMeta: null\n      });\n    });\n  } else {\n    coordDimsInfos = [{\n      name: 'value',\n      type: 'float'\n    }];\n  }\n\n  var mpData = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](coordDimsInfos, mpModel);\n  var dataOpt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"map\"])(mpModel.get('data'), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(_markerHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"dataTransform\"], seriesModel));\n\n  if (coordSys) {\n    dataOpt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"filter\"])(dataOpt, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(_markerHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"dataFilter\"], coordSys));\n  }\n\n  var dimValueGetter = _markerHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"createMarkerDimValueGetter\"](!!coordSys, coordDimsInfos);\n  mpData.initData(dataOpt, null, dimValueGetter);\n  return mpData;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkPointView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkPointView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkerModel.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkerModel.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/mixin/dataFormat.js */ \"./node_modules/echarts/lib/model/mixin/dataFormat.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nfunction fillLabel(opt) {\n  Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"defaultEmphasis\"])(opt, 'label', ['show']);\n} // { [componentType]: MarkerModel }\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"makeInner\"])();\n\nvar MarkerModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkerModel, _super);\n\n  function MarkerModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkerModel.type;\n    /**\n     * If marker model is created by self from series\n     */\n\n    _this.createdBySelf = false;\n    return _this;\n  }\n  /**\n   * @overrite\n   */\n\n\n  MarkerModel.prototype.init = function (option, parentModel, ecModel) {\n    if (true) {\n      if (this.type === 'marker') {\n        throw new Error('Marker component is abstract component. Use markLine, markPoint, markArea instead.');\n      }\n    }\n\n    this.mergeDefaultAndTheme(option, ecModel);\n\n    this._mergeOption(option, ecModel, false, true);\n  };\n\n  MarkerModel.prototype.isAnimationEnabled = function () {\n    if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].node) {\n      return false;\n    }\n\n    var hostSeries = this.__hostSeries;\n    return this.getShallow('animation') && hostSeries && hostSeries.isAnimationEnabled();\n  };\n  /**\n   * @overrite\n   */\n\n\n  MarkerModel.prototype.mergeOption = function (newOpt, ecModel) {\n    this._mergeOption(newOpt, ecModel, false, false);\n  };\n\n  MarkerModel.prototype._mergeOption = function (newOpt, ecModel, createdBySelf, isInit) {\n    var componentType = this.mainType;\n\n    if (!createdBySelf) {\n      ecModel.eachSeries(function (seriesModel) {\n        // mainType can be markPoint, markLine, markArea\n        var markerOpt = seriesModel.get(this.mainType, true);\n        var markerModel = inner(seriesModel)[componentType];\n\n        if (!markerOpt || !markerOpt.data) {\n          inner(seriesModel)[componentType] = null;\n          return;\n        }\n\n        if (!markerModel) {\n          if (isInit) {\n            // Default label emphasis `position` and `show`\n            fillLabel(markerOpt);\n          }\n\n          zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](markerOpt.data, function (item) {\n            // FIXME Overwrite fillLabel method ?\n            if (item instanceof Array) {\n              fillLabel(item[0]);\n              fillLabel(item[1]);\n            } else {\n              fillLabel(item);\n            }\n          });\n          markerModel = this.createMarkerModelFromSeries(markerOpt, this, ecModel); // markerModel = new ImplementedMarkerModel(\n          //     markerOpt, this, ecModel\n          // );\n\n          zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"](markerModel, {\n            mainType: this.mainType,\n            // Use the same series index and name\n            seriesIndex: seriesModel.seriesIndex,\n            name: seriesModel.name,\n            createdBySelf: true\n          });\n          markerModel.__hostSeries = seriesModel;\n        } else {\n          markerModel._mergeOption(markerOpt, ecModel, true);\n        }\n\n        inner(seriesModel)[componentType] = markerModel;\n      }, this);\n    }\n  };\n\n  MarkerModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    var data = this.getData();\n    var value = this.getRawValue(dataIndex);\n    var itemName = data.getName(dataIndex);\n    return Object(_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__[\"createTooltipMarkup\"])('section', {\n      header: this.name,\n      blocks: [Object(_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__[\"createTooltipMarkup\"])('nameValue', {\n        name: itemName,\n        value: value,\n        noName: !itemName,\n        noValue: value == null\n      })]\n    });\n  };\n\n  MarkerModel.prototype.getData = function () {\n    return this._data;\n  };\n\n  MarkerModel.prototype.setData = function (data) {\n    this._data = data;\n  };\n\n  MarkerModel.getMarkerModelFromSeries = function (seriesModel, // Support three types of markers. Strict check.\n  componentType) {\n    return inner(seriesModel)[componentType];\n  };\n\n  MarkerModel.type = 'marker';\n  MarkerModel.dependencies = ['series', 'grid', 'polar', 'geo'];\n  return MarkerModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](MarkerModel, _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_3__[\"DataFormatMixin\"].prototype);\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkerModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkerModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/MarkerView.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/MarkerView.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _MarkerModel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MarkerModel.js */ \"./node_modules/echarts/lib/component/marker/MarkerModel.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"makeInner\"])();\n\nvar MarkerView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MarkerView, _super);\n\n  function MarkerView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = MarkerView.type;\n    return _this;\n  }\n\n  MarkerView.prototype.init = function () {\n    this.markerGroupMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])();\n  };\n\n  MarkerView.prototype.render = function (markerModel, ecModel, api) {\n    var _this = this;\n\n    var markerGroupMap = this.markerGroupMap;\n    markerGroupMap.each(function (item) {\n      inner(item).keep = false;\n    });\n    ecModel.eachSeries(function (seriesModel) {\n      var markerModel = _MarkerModel_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getMarkerModelFromSeries(seriesModel, _this.type);\n      markerModel && _this.renderSeries(seriesModel, markerModel, ecModel, api);\n    });\n    markerGroupMap.each(function (item) {\n      !inner(item).keep && _this.group.remove(item.group);\n    });\n  };\n\n  MarkerView.prototype.markKeep = function (drawGroup) {\n    inner(drawGroup).keep = true;\n  };\n\n  MarkerView.prototype.toggleBlurSeries = function (seriesModelList, isBlur) {\n    var _this = this;\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(seriesModelList, function (seriesModel) {\n      var markerModel = _MarkerModel_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getMarkerModelFromSeries(seriesModel, _this.type);\n\n      if (markerModel) {\n        var data = markerModel.getData();\n        data.eachItemGraphicEl(function (el) {\n          if (el) {\n            isBlur ? Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"enterBlur\"])(el) : Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"leaveBlur\"])(el);\n          }\n        });\n      }\n    });\n  };\n\n  MarkerView.type = 'marker';\n  return MarkerView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MarkerView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkerView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/checkMarkerInSeries.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/checkMarkerInSeries.js ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return checkMarkerInSeries; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction checkMarkerInSeries(seriesOpts, markerType) {\n  if (!seriesOpts) {\n    return false;\n  }\n\n  var seriesOptArr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(seriesOpts) ? seriesOpts : [seriesOpts];\n\n  for (var idx = 0; idx < seriesOptArr.length; idx++) {\n    if (seriesOptArr[idx] && seriesOptArr[idx][markerType]) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/checkMarkerInSeries.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/installMarkArea.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/installMarkArea.js ***!
  \**********************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _checkMarkerInSeries_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkMarkerInSeries.js */ \"./node_modules/echarts/lib/component/marker/checkMarkerInSeries.js\");\n/* harmony import */ var _MarkAreaModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkAreaModel.js */ \"./node_modules/echarts/lib/component/marker/MarkAreaModel.js\");\n/* harmony import */ var _MarkAreaView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MarkAreaView.js */ \"./node_modules/echarts/lib/component/marker/MarkAreaView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_MarkAreaModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentView(_MarkAreaView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerPreprocessor(function (opt) {\n    if (Object(_checkMarkerInSeries_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(opt.series, 'markArea')) {\n      // Make sure markArea component is enabled\n      opt.markArea = opt.markArea || {};\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/installMarkArea.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/installMarkLine.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/installMarkLine.js ***!
  \**********************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _checkMarkerInSeries_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkMarkerInSeries.js */ \"./node_modules/echarts/lib/component/marker/checkMarkerInSeries.js\");\n/* harmony import */ var _MarkLineModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkLineModel.js */ \"./node_modules/echarts/lib/component/marker/MarkLineModel.js\");\n/* harmony import */ var _MarkLineView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MarkLineView.js */ \"./node_modules/echarts/lib/component/marker/MarkLineView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_MarkLineModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentView(_MarkLineView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerPreprocessor(function (opt) {\n    if (Object(_checkMarkerInSeries_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(opt.series, 'markLine')) {\n      // Make sure markLine component is enabled\n      opt.markLine = opt.markLine || {};\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/installMarkLine.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/installMarkPoint.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/installMarkPoint.js ***!
  \***********************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _checkMarkerInSeries_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkMarkerInSeries.js */ \"./node_modules/echarts/lib/component/marker/checkMarkerInSeries.js\");\n/* harmony import */ var _MarkPointModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkPointModel.js */ \"./node_modules/echarts/lib/component/marker/MarkPointModel.js\");\n/* harmony import */ var _MarkPointView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MarkPointView.js */ \"./node_modules/echarts/lib/component/marker/MarkPointView.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_MarkPointModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentView(_MarkPointView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerPreprocessor(function (opt) {\n    if (Object(_checkMarkerInSeries_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(opt.series, 'markPoint')) {\n      // Make sure markPoint component is enabled\n      opt.markPoint = opt.markPoint || {};\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/installMarkPoint.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/marker/markerHelper.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/marker/markerHelper.js ***!
  \*******************************************************************/
/*! exports provided: dataTransform, getAxisInfo, dataFilter, zoneFilter, createMarkerDimValueGetter, numCalculate */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataTransform\", function() { return dataTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisInfo\", function() { return getAxisInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataFilter\", function() { return dataFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zoneFilter\", function() { return zoneFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createMarkerDimValueGetter\", function() { return createMarkerDimValueGetter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numCalculate\", function() { return numCalculate; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/helper/dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction hasXOrY(item) {\n  return !(isNaN(parseFloat(item.x)) && isNaN(parseFloat(item.y)));\n}\n\nfunction hasXAndY(item) {\n  return !isNaN(parseFloat(item.x)) && !isNaN(parseFloat(item.y));\n}\n\nfunction markerTypeCalculatorWithExtent(markerType, data, otherDataDim, targetDataDim, otherCoordIndex, targetCoordIndex) {\n  var coordArr = [];\n  var stacked = Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"isDimensionStacked\"])(data, targetDataDim\n  /*, otherDataDim*/\n  );\n  var calcDataDim = stacked ? data.getCalculationInfo('stackResultDimension') : targetDataDim;\n  var value = numCalculate(data, calcDataDim, markerType);\n  var dataIndex = data.indicesOfNearest(calcDataDim, value)[0];\n  coordArr[otherCoordIndex] = data.get(otherDataDim, dataIndex);\n  coordArr[targetCoordIndex] = data.get(calcDataDim, dataIndex);\n  var coordArrValue = data.get(targetDataDim, dataIndex); // Make it simple, do not visit all stacked value to count precision.\n\n  var precision = _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPrecision\"](data.get(targetDataDim, dataIndex));\n  precision = Math.min(precision, 20);\n\n  if (precision >= 0) {\n    coordArr[targetCoordIndex] = +coordArr[targetCoordIndex].toFixed(precision);\n  }\n\n  return [coordArr, coordArrValue];\n} // TODO Specified percent\n\n\nvar markerTypeCalculator = {\n  min: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"curry\"])(markerTypeCalculatorWithExtent, 'min'),\n  max: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"curry\"])(markerTypeCalculatorWithExtent, 'max'),\n  average: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"curry\"])(markerTypeCalculatorWithExtent, 'average'),\n  median: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"curry\"])(markerTypeCalculatorWithExtent, 'median')\n};\n/**\n * Transform markPoint data item to format used in List by do the following\n * 1. Calculate statistic like `max`, `min`, `average`\n * 2. Convert `item.xAxis`, `item.yAxis` to `item.coord` array\n */\n\nfunction dataTransform(seriesModel, item) {\n  var data = seriesModel.getData();\n  var coordSys = seriesModel.coordinateSystem; // 1. If not specify the position with pixel directly\n  // 2. If `coord` is not a data array. Which uses `xAxis`,\n  // `yAxis` to specify the coord on each dimension\n  // parseFloat first because item.x and item.y can be percent string like '20%'\n\n  if (item && !hasXAndY(item) && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"])(item.coord) && coordSys) {\n    var dims = coordSys.dimensions;\n    var axisInfo = getAxisInfo(item, data, coordSys, seriesModel); // Clone the option\n    // Transform the properties xAxis, yAxis, radiusAxis, angleAxis, geoCoord to value\n\n    item = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"clone\"])(item);\n\n    if (item.type && markerTypeCalculator[item.type] && axisInfo.baseAxis && axisInfo.valueAxis) {\n      var otherCoordIndex = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"indexOf\"])(dims, axisInfo.baseAxis.dim);\n      var targetCoordIndex = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"indexOf\"])(dims, axisInfo.valueAxis.dim);\n      var coordInfo = markerTypeCalculator[item.type](data, axisInfo.baseDataDim, axisInfo.valueDataDim, otherCoordIndex, targetCoordIndex);\n      item.coord = coordInfo[0]; // Force to use the value of calculated value.\n      // let item use the value without stack.\n\n      item.value = coordInfo[1];\n    } else {\n      // FIXME Only has one of xAxis and yAxis.\n      var coord = [item.xAxis != null ? item.xAxis : item.radiusAxis, item.yAxis != null ? item.yAxis : item.angleAxis]; // Each coord support max, min, average\n\n      for (var i = 0; i < 2; i++) {\n        if (markerTypeCalculator[coord[i]]) {\n          coord[i] = numCalculate(data, data.mapDimension(dims[i]), coord[i]);\n        }\n      }\n\n      item.coord = coord;\n    }\n  }\n\n  return item;\n}\nfunction getAxisInfo(item, data, coordSys, seriesModel) {\n  var ret = {};\n\n  if (item.valueIndex != null || item.valueDim != null) {\n    ret.valueDataDim = item.valueIndex != null ? data.getDimension(item.valueIndex) : item.valueDim;\n    ret.valueAxis = coordSys.getAxis(dataDimToCoordDim(seriesModel, ret.valueDataDim));\n    ret.baseAxis = coordSys.getOtherAxis(ret.valueAxis);\n    ret.baseDataDim = data.mapDimension(ret.baseAxis.dim);\n  } else {\n    ret.baseAxis = seriesModel.getBaseAxis();\n    ret.valueAxis = coordSys.getOtherAxis(ret.baseAxis);\n    ret.baseDataDim = data.mapDimension(ret.baseAxis.dim);\n    ret.valueDataDim = data.mapDimension(ret.valueAxis.dim);\n  }\n\n  return ret;\n}\n\nfunction dataDimToCoordDim(seriesModel, dataDim) {\n  var dimItem = seriesModel.getData().getDimensionInfo(dataDim);\n  return dimItem && dimItem.coordDim;\n}\n/**\n * Filter data which is out of coordinateSystem range\n * [dataFilter description]\n */\n\n\nfunction dataFilter( // Currently only polar and cartesian has containData.\ncoordSys, item) {\n  // Always return true if there is no coordSys\n  return coordSys && coordSys.containData && item.coord && !hasXOrY(item) ? coordSys.containData(item.coord) : true;\n}\nfunction zoneFilter( // Currently only polar and cartesian has containData.\ncoordSys, item1, item2) {\n  // Always return true if there is no coordSys\n  return coordSys && coordSys.containZone && item1.coord && item2.coord && !hasXOrY(item1) && !hasXOrY(item2) ? coordSys.containZone(item1.coord, item2.coord) : true;\n}\nfunction createMarkerDimValueGetter(inCoordSys, dims) {\n  return inCoordSys ? function (item, dimName, dataIndex, dimIndex) {\n    var rawVal = dimIndex < 2 // x, y, radius, angle\n    ? item.coord && item.coord[dimIndex] : item.value;\n    return Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"parseDataValue\"])(rawVal, dims[dimIndex]);\n  } : function (item, dimName, dataIndex, dimIndex) {\n    return Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"parseDataValue\"])(item.value, dims[dimIndex]);\n  };\n}\nfunction numCalculate(data, valueDataDim, type) {\n  if (type === 'average') {\n    var sum_1 = 0;\n    var count_1 = 0;\n    data.each(valueDataDim, function (val, idx) {\n      if (!isNaN(val)) {\n        sum_1 += val;\n        count_1++;\n      }\n    });\n    return sum_1 / count_1;\n  } else if (type === 'median') {\n    return data.getMedian(valueDataDim);\n  } else {\n    // max & min\n    return data.getDataExtent(valueDataDim)[type === 'max' ? 1 : 0];\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/markerHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/parallel/ParallelView.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/parallel/ParallelView.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar CLICK_THRESHOLD = 5; // > 4\n\nvar ParallelView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelView, _super);\n\n  function ParallelView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ParallelView.type;\n    return _this;\n  }\n\n  ParallelView.prototype.render = function (parallelModel, ecModel, api) {\n    this._model = parallelModel;\n    this._api = api;\n\n    if (!this._handlers) {\n      this._handlers = {};\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(handlers, function (handler, eventName) {\n        api.getZr().on(eventName, this._handlers[eventName] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(handler, this));\n      }, this);\n    }\n\n    Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_3__[\"createOrUpdate\"])(this, '_throttledDispatchExpand', parallelModel.get('axisExpandRate'), 'fixRate');\n  };\n\n  ParallelView.prototype.dispose = function (ecModel, api) {\n    Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_3__[\"clear\"])(this, '_throttledDispatchExpand');\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(this._handlers, function (handler, eventName) {\n      api.getZr().off(eventName, handler);\n    });\n    this._handlers = null;\n  };\n  /**\n   * @internal\n   * @param {Object} [opt] If null, cancle the last action triggering for debounce.\n   */\n\n\n  ParallelView.prototype._throttledDispatchExpand = function (opt) {\n    this._dispatchExpand(opt);\n  };\n  /**\n   * @internal\n   */\n\n\n  ParallelView.prototype._dispatchExpand = function (opt) {\n    opt && this._api.dispatchAction(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({\n      type: 'parallelAxisExpand'\n    }, opt));\n  };\n\n  ParallelView.type = 'parallel';\n  return ParallelView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nvar handlers = {\n  mousedown: function (e) {\n    if (checkTrigger(this, 'click')) {\n      this._mouseDownPoint = [e.offsetX, e.offsetY];\n    }\n  },\n  mouseup: function (e) {\n    var mouseDownPoint = this._mouseDownPoint;\n\n    if (checkTrigger(this, 'click') && mouseDownPoint) {\n      var point = [e.offsetX, e.offsetY];\n      var dist = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2);\n\n      if (dist > CLICK_THRESHOLD) {\n        return;\n      }\n\n      var result = this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n\n      result.behavior !== 'none' && this._dispatchExpand({\n        axisExpandWindow: result.axisExpandWindow\n      });\n    }\n\n    this._mouseDownPoint = null;\n  },\n  mousemove: function (e) {\n    // Should do nothing when brushing.\n    if (this._mouseDownPoint || !checkTrigger(this, 'mousemove')) {\n      return;\n    }\n\n    var model = this._model;\n    var result = model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n    var behavior = result.behavior;\n    behavior === 'jump' && this._throttledDispatchExpand.debounceNextCall(model.get('axisExpandDebounce'));\n\n    this._throttledDispatchExpand(behavior === 'none' ? null // Cancle the last trigger, in case that mouse slide out of the area quickly.\n    : {\n      axisExpandWindow: result.axisExpandWindow,\n      // Jumping uses animation, and sliding suppresses animation.\n      animation: behavior === 'jump' ? null : {\n        duration: 0 // Disable animation.\n\n      }\n    });\n  }\n};\n\nfunction checkTrigger(view, triggerOn) {\n  var model = view._model;\n  return model.get('axisExpandable') && model.get('axisExpandTriggerOn') === triggerOn;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/parallel/ParallelView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/parallel/install.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/parallel/install.js ***!
  \****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _coord_parallel_parallelPreprocessor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../coord/parallel/parallelPreprocessor.js */ \"./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js\");\n/* harmony import */ var _ParallelView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ParallelView.js */ \"./node_modules/echarts/lib/component/parallel/ParallelView.js\");\n/* harmony import */ var _coord_parallel_ParallelModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../coord/parallel/ParallelModel.js */ \"./node_modules/echarts/lib/coord/parallel/ParallelModel.js\");\n/* harmony import */ var _coord_parallel_parallelCreator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/parallel/parallelCreator.js */ \"./node_modules/echarts/lib/coord/parallel/parallelCreator.js\");\n/* harmony import */ var _coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../coord/axisModelCreator.js */ \"./node_modules/echarts/lib/coord/axisModelCreator.js\");\n/* harmony import */ var _coord_parallel_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/parallel/AxisModel.js */ \"./node_modules/echarts/lib/coord/parallel/AxisModel.js\");\n/* harmony import */ var _axis_ParallelAxisView_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../axis/ParallelAxisView.js */ \"./node_modules/echarts/lib/component/axis/ParallelAxisView.js\");\n/* harmony import */ var _axis_parallelAxisAction_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../axis/parallelAxisAction.js */ \"./node_modules/echarts/lib/component/axis/parallelAxisAction.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar defaultAxisOption = {\n  type: 'value',\n  areaSelectStyle: {\n    width: 20,\n    borderWidth: 1,\n    borderColor: 'rgba(160,197,232)',\n    color: 'rgba(160,197,232)',\n    opacity: 0.3\n  },\n  realtime: true,\n  z: 10\n};\nfunction install(registers) {\n  registers.registerComponentView(_ParallelView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerComponentModel(_coord_parallel_ParallelModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerCoordinateSystem('parallel', _coord_parallel_parallelCreator_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerPreprocessor(_coord_parallel_parallelPreprocessor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentModel(_coord_parallel_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  registers.registerComponentView(_axis_ParallelAxisView_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n  Object(_coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(registers, 'parallel', _coord_parallel_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], defaultAxisOption);\n  Object(_axis_parallelAxisAction_js__WEBPACK_IMPORTED_MODULE_7__[\"installParallelActions\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/parallel/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/polar/install.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/component/polar/install.js ***!
  \*************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _axis_AxisView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../axis/AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n/* harmony import */ var _axisPointer_PolarAxisPointer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../axisPointer/PolarAxisPointer.js */ \"./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js\");\n/* harmony import */ var _axisPointer_install_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../axisPointer/install.js */ \"./node_modules/echarts/lib/component/axisPointer/install.js\");\n/* harmony import */ var _coord_polar_PolarModel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/polar/PolarModel.js */ \"./node_modules/echarts/lib/coord/polar/PolarModel.js\");\n/* harmony import */ var _coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../coord/axisModelCreator.js */ \"./node_modules/echarts/lib/coord/axisModelCreator.js\");\n/* harmony import */ var _coord_polar_AxisModel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../coord/polar/AxisModel.js */ \"./node_modules/echarts/lib/coord/polar/AxisModel.js\");\n/* harmony import */ var _coord_polar_polarCreator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../coord/polar/polarCreator.js */ \"./node_modules/echarts/lib/coord/polar/polarCreator.js\");\n/* harmony import */ var _axis_AngleAxisView_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../axis/AngleAxisView.js */ \"./node_modules/echarts/lib/component/axis/AngleAxisView.js\");\n/* harmony import */ var _axis_RadiusAxisView_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../axis/RadiusAxisView.js */ \"./node_modules/echarts/lib/component/axis/RadiusAxisView.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _layout_barPolar_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../layout/barPolar.js */ \"./node_modules/echarts/lib/layout/barPolar.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar angleAxisExtraOption = {\n  startAngle: 90,\n  clockwise: true,\n  splitNumber: 12,\n  axisLabel: {\n    rotate: 0\n  }\n};\nvar radiusAxisExtraOption = {\n  splitNumber: 5\n};\n\nvar PolarView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PolarView, _super);\n\n  function PolarView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = PolarView.type;\n    return _this;\n  }\n\n  PolarView.type = 'polar';\n  return PolarView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_1__[\"use\"])(_axisPointer_install_js__WEBPACK_IMPORTED_MODULE_4__[\"install\"]);\n  _axis_AxisView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].registerAxisPointerClass('PolarAxisPointer', _axisPointer_PolarAxisPointer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerCoordinateSystem('polar', _coord_polar_polarCreator_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n  registers.registerComponentModel(_coord_polar_PolarModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  registers.registerComponentView(PolarView); // Model and view for angleAxis and radiusAxis\n\n  Object(_coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(registers, 'angle', _coord_polar_AxisModel_js__WEBPACK_IMPORTED_MODULE_7__[\"AngleAxisModel\"], angleAxisExtraOption);\n  Object(_coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(registers, 'radius', _coord_polar_AxisModel_js__WEBPACK_IMPORTED_MODULE_7__[\"RadiusAxisModel\"], radiusAxisExtraOption);\n  registers.registerComponentView(_axis_AngleAxisView_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n  registers.registerComponentView(_axis_RadiusAxisView_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n  registers.registerLayout(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_12__[\"curry\"])(_layout_barPolar_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], 'bar'));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/polar/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/radar/RadarView.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/radar/RadarView.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _axis_AxisBuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../axis/AxisBuilder.js */ \"./node_modules/echarts/lib/component/axis/AxisBuilder.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\n\nvar RadarView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadarView, _super);\n\n  function RadarView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = RadarView.type;\n    return _this;\n  }\n\n  RadarView.prototype.render = function (radarModel, ecModel, api) {\n    var group = this.group;\n    group.removeAll();\n\n    this._buildAxes(radarModel);\n\n    this._buildSplitLineAndArea(radarModel);\n  };\n\n  RadarView.prototype._buildAxes = function (radarModel) {\n    var radar = radarModel.coordinateSystem;\n    var indicatorAxes = radar.getIndicatorAxes();\n    var axisBuilders = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](indicatorAxes, function (indicatorAxis) {\n      var axisName = indicatorAxis.model.get('showName') ? indicatorAxis.name : ''; // hide name\n\n      var axisBuilder = new _axis_AxisBuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](indicatorAxis.model, {\n        axisName: axisName,\n        position: [radar.cx, radar.cy],\n        rotation: indicatorAxis.angle,\n        labelDirection: -1,\n        tickDirection: -1,\n        nameDirection: 1\n      });\n      return axisBuilder;\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](axisBuilders, function (axisBuilder) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](axisBuilderAttrs, axisBuilder.add, axisBuilder);\n      this.group.add(axisBuilder.getGroup());\n    }, this);\n  };\n\n  RadarView.prototype._buildSplitLineAndArea = function (radarModel) {\n    var radar = radarModel.coordinateSystem;\n    var indicatorAxes = radar.getIndicatorAxes();\n\n    if (!indicatorAxes.length) {\n      return;\n    }\n\n    var shape = radarModel.get('shape');\n    var splitLineModel = radarModel.getModel('splitLine');\n    var splitAreaModel = radarModel.getModel('splitArea');\n    var lineStyleModel = splitLineModel.getModel('lineStyle');\n    var areaStyleModel = splitAreaModel.getModel('areaStyle');\n    var showSplitLine = splitLineModel.get('show');\n    var showSplitArea = splitAreaModel.get('show');\n    var splitLineColors = lineStyleModel.get('color');\n    var splitAreaColors = areaStyleModel.get('color');\n    var splitLineColorsArr = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](splitLineColors) ? splitLineColors : [splitLineColors];\n    var splitAreaColorsArr = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](splitAreaColors) ? splitAreaColors : [splitAreaColors];\n    var splitLines = [];\n    var splitAreas = [];\n\n    function getColorIndex(areaOrLine, areaOrLineColorList, idx) {\n      var colorIndex = idx % areaOrLineColorList.length;\n      areaOrLine[colorIndex] = areaOrLine[colorIndex] || [];\n      return colorIndex;\n    }\n\n    if (shape === 'circle') {\n      var ticksRadius = indicatorAxes[0].getTicksCoords();\n      var cx = radar.cx;\n      var cy = radar.cy;\n\n      for (var i = 0; i < ticksRadius.length; i++) {\n        if (showSplitLine) {\n          var colorIndex = getColorIndex(splitLines, splitLineColorsArr, i);\n          splitLines[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Circle\"]({\n            shape: {\n              cx: cx,\n              cy: cy,\n              r: ticksRadius[i].coord\n            }\n          }));\n        }\n\n        if (showSplitArea && i < ticksRadius.length - 1) {\n          var colorIndex = getColorIndex(splitAreas, splitAreaColorsArr, i);\n          splitAreas[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Ring\"]({\n            shape: {\n              cx: cx,\n              cy: cy,\n              r0: ticksRadius[i].coord,\n              r: ticksRadius[i + 1].coord\n            }\n          }));\n        }\n      }\n    } // Polyyon\n    else {\n        var realSplitNumber_1;\n        var axesTicksPoints = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](indicatorAxes, function (indicatorAxis, idx) {\n          var ticksCoords = indicatorAxis.getTicksCoords();\n          realSplitNumber_1 = realSplitNumber_1 == null ? ticksCoords.length - 1 : Math.min(ticksCoords.length - 1, realSplitNumber_1);\n          return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](ticksCoords, function (tickCoord) {\n            return radar.coordToPoint(tickCoord.coord, idx);\n          });\n        });\n        var prevPoints = [];\n\n        for (var i = 0; i <= realSplitNumber_1; i++) {\n          var points = [];\n\n          for (var j = 0; j < indicatorAxes.length; j++) {\n            points.push(axesTicksPoints[j][i]);\n          } // Close\n\n\n          if (points[0]) {\n            points.push(points[0].slice());\n          } else {\n            if (true) {\n              console.error('Can\\'t draw value axis ' + i);\n            }\n          }\n\n          if (showSplitLine) {\n            var colorIndex = getColorIndex(splitLines, splitLineColorsArr, i);\n            splitLines[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Polyline\"]({\n              shape: {\n                points: points\n              }\n            }));\n          }\n\n          if (showSplitArea && prevPoints) {\n            var colorIndex = getColorIndex(splitAreas, splitAreaColorsArr, i - 1);\n            splitAreas[colorIndex].push(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Polygon\"]({\n              shape: {\n                points: points.concat(prevPoints)\n              }\n            }));\n          }\n\n          prevPoints = points.slice().reverse();\n        }\n      }\n\n    var lineStyle = lineStyleModel.getLineStyle();\n    var areaStyle = areaStyleModel.getAreaStyle(); // Add splitArea before splitLine\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](splitAreas, function (splitAreas, idx) {\n      this.group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"mergePath\"](splitAreas, {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          stroke: 'none',\n          fill: splitAreaColorsArr[idx % splitAreaColorsArr.length]\n        }, areaStyle),\n        silent: true\n      }));\n    }, this);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](splitLines, function (splitLines, idx) {\n      this.group.add(_util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"mergePath\"](splitLines, {\n        style: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          fill: 'none',\n          stroke: splitLineColorsArr[idx % splitLineColorsArr.length]\n        }, lineStyle),\n        silent: true\n      }));\n    }, this);\n  };\n\n  RadarView.type = 'radar';\n  return RadarView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadarView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/radar/RadarView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/radar/install.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/component/radar/install.js ***!
  \*************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _coord_radar_RadarModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../coord/radar/RadarModel.js */ \"./node_modules/echarts/lib/coord/radar/RadarModel.js\");\n/* harmony import */ var _RadarView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RadarView.js */ \"./node_modules/echarts/lib/component/radar/RadarView.js\");\n/* harmony import */ var _coord_radar_Radar_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../coord/radar/Radar.js */ \"./node_modules/echarts/lib/coord/radar/Radar.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerCoordinateSystem('radar', _coord_radar_Radar_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerComponentModel(_coord_radar_RadarModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_RadarView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerVisual({\n    seriesType: 'radar',\n    reset: function (seriesModel) {\n      var data = seriesModel.getData(); // itemVisual symbol is for selected data\n\n      data.each(function (idx) {\n        data.setItemVisual(idx, 'legendIcon', 'roundRect');\n      }); // visual is for unselected data\n\n      data.setVisual('legendIcon', 'roundRect');\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/radar/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/singleAxis/install.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/singleAxis/install.js ***!
  \******************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _axis_SingleAxisView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../axis/SingleAxisView.js */ \"./node_modules/echarts/lib/component/axis/SingleAxisView.js\");\n/* harmony import */ var _coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../coord/axisModelCreator.js */ \"./node_modules/echarts/lib/coord/axisModelCreator.js\");\n/* harmony import */ var _coord_single_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../coord/single/AxisModel.js */ \"./node_modules/echarts/lib/coord/single/AxisModel.js\");\n/* harmony import */ var _coord_single_singleCreator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../coord/single/singleCreator.js */ \"./node_modules/echarts/lib/coord/single/singleCreator.js\");\n/* harmony import */ var _axisPointer_install_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../axisPointer/install.js */ \"./node_modules/echarts/lib/component/axisPointer/install.js\");\n/* harmony import */ var _axis_AxisView_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../axis/AxisView.js */ \"./node_modules/echarts/lib/component/axis/AxisView.js\");\n/* harmony import */ var _axisPointer_SingleAxisPointer_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../axisPointer/SingleAxisPointer.js */ \"./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\nvar SingleView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SingleView, _super);\n\n  function SingleView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SingleView.type;\n    return _this;\n  }\n\n  SingleView.type = 'single';\n  return SingleView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_1__[\"use\"])(_axisPointer_install_js__WEBPACK_IMPORTED_MODULE_7__[\"install\"]);\n  _axis_AxisView_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].registerAxisPointerClass('SingleAxisPointer', _axisPointer_SingleAxisPointer_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n  registers.registerComponentView(SingleView); // Axis\n\n  registers.registerComponentView(_axis_SingleAxisView_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  registers.registerComponentModel(_coord_single_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  Object(_coord_axisModelCreator_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(registers, 'single', _coord_single_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _coord_single_AxisModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].defaultOption);\n  registers.registerCoordinateSystem('single', _coord_single_singleCreator_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/singleAxis/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js ***!
  \****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _TimelineModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TimelineModel.js */ \"./node_modules/echarts/lib/component/timeline/TimelineModel.js\");\n/* harmony import */ var _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/mixin/dataFormat.js */ \"./node_modules/echarts/lib/model/mixin/dataFormat.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar SliderTimelineModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SliderTimelineModel, _super);\n\n  function SliderTimelineModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SliderTimelineModel.type;\n    return _this;\n  }\n\n  SliderTimelineModel.type = 'timeline.slider';\n  /**\n   * @protected\n   */\n\n  SliderTimelineModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_4__[\"inheritDefaultOption\"])(_TimelineModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultOption, {\n    backgroundColor: 'rgba(0,0,0,0)',\n    borderColor: '#ccc',\n    borderWidth: 0,\n    orient: 'horizontal',\n    inverse: false,\n    tooltip: {\n      trigger: 'item' // data item may also have tootip attr.\n\n    },\n    symbol: 'circle',\n    symbolSize: 12,\n    lineStyle: {\n      show: true,\n      width: 2,\n      color: '#DAE1F5'\n    },\n    label: {\n      position: 'auto',\n      // When using number, label position is not\n      // restricted by viewRect.\n      // positive: right/bottom, negative: left/top\n      show: true,\n      interval: 'auto',\n      rotate: 0,\n      // formatter: null,\n      // 其余属性默认使用全局文本样式，详见TEXTSTYLE\n      color: '#A4B1D7'\n    },\n    itemStyle: {\n      color: '#A4B1D7',\n      borderWidth: 1\n    },\n    checkpointStyle: {\n      symbol: 'circle',\n      symbolSize: 15,\n      color: '#316bf3',\n      borderColor: '#fff',\n      borderWidth: 2,\n      shadowBlur: 2,\n      shadowOffsetX: 1,\n      shadowOffsetY: 1,\n      shadowColor: 'rgba(0, 0, 0, 0.3)',\n      // borderColor: 'rgba(194,53,49, 0.5)',\n      animation: true,\n      animationDuration: 300,\n      animationEasing: 'quinticInOut'\n    },\n    controlStyle: {\n      show: true,\n      showPlayBtn: true,\n      showPrevBtn: true,\n      showNextBtn: true,\n      itemSize: 24,\n      itemGap: 12,\n      position: 'left',\n      playIcon: 'path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z',\n      stopIcon: 'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z',\n      // eslint-disable-next-line max-len\n      nextIcon: 'M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z',\n      // eslint-disable-next-line max-len\n      prevIcon: 'M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z',\n      prevBtnSize: 18,\n      nextBtnSize: 18,\n      color: '#A4B1D7',\n      borderColor: '#A4B1D7',\n      borderWidth: 1\n    },\n    emphasis: {\n      label: {\n        show: true,\n        // 其余属性默认使用全局文本样式，详见TEXTSTYLE\n        color: '#6f778d'\n      },\n      itemStyle: {\n        color: '#316BF3'\n      },\n      controlStyle: {\n        color: '#316BF3',\n        borderColor: '#316BF3',\n        borderWidth: 2\n      }\n    },\n    progress: {\n      lineStyle: {\n        color: '#316BF3'\n      },\n      itemStyle: {\n        color: '#316BF3'\n      },\n      label: {\n        color: '#6f778d'\n      }\n    },\n    data: []\n  });\n  return SliderTimelineModel;\n}(_TimelineModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"mixin\"])(SliderTimelineModel, _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_2__[\"DataFormatMixin\"].prototype);\n/* harmony default export */ __webpack_exports__[\"default\"] = (SliderTimelineModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/SliderTimelineView.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/SliderTimelineView.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _TimelineView_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TimelineView.js */ \"./node_modules/echarts/lib/component/timeline/TimelineView.js\");\n/* harmony import */ var _TimelineAxis_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./TimelineAxis.js */ \"./node_modules/echarts/lib/component/timeline/TimelineAxis.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _scale_Ordinal_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../scale/Ordinal.js */ \"./node_modules/echarts/lib/scale/Ordinal.js\");\n/* harmony import */ var _scale_Time_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../scale/Time.js */ \"./node_modules/echarts/lib/scale/Time.js\");\n/* harmony import */ var _scale_Interval_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../scale/Interval.js */ \"./node_modules/echarts/lib/scale/Interval.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../tooltip/tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar PI = Math.PI;\nvar labelDataIndexStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_15__[\"makeInner\"])();\n\nvar SliderTimelineView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SliderTimelineView, _super);\n\n  function SliderTimelineView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SliderTimelineView.type;\n    return _this;\n  }\n\n  SliderTimelineView.prototype.init = function (ecModel, api) {\n    this.api = api;\n  };\n  /**\n   * @override\n   */\n\n\n  SliderTimelineView.prototype.render = function (timelineModel, ecModel, api) {\n    this.model = timelineModel;\n    this.api = api;\n    this.ecModel = ecModel;\n    this.group.removeAll();\n\n    if (timelineModel.get('show', true)) {\n      var layoutInfo_1 = this._layout(timelineModel, api);\n\n      var mainGroup_1 = this._createGroup('_mainGroup');\n\n      var labelGroup = this._createGroup('_labelGroup');\n\n      var axis_1 = this._axis = this._createAxis(layoutInfo_1, timelineModel);\n\n      timelineModel.formatTooltip = function (dataIndex) {\n        var name = axis_1.scale.getLabel({\n          value: dataIndex\n        });\n        return Object(_tooltip_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_18__[\"createTooltipMarkup\"])('nameValue', {\n          noName: true,\n          value: name\n        });\n      };\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"each\"])(['AxisLine', 'AxisTick', 'Control', 'CurrentPointer'], function (name) {\n        this['_render' + name](layoutInfo_1, mainGroup_1, axis_1, timelineModel);\n      }, this);\n\n      this._renderAxisLabel(layoutInfo_1, labelGroup, axis_1, timelineModel);\n\n      this._position(layoutInfo_1, timelineModel);\n    }\n\n    this._doPlayStop();\n\n    this._updateTicksStatus();\n  };\n  /**\n   * @override\n   */\n\n\n  SliderTimelineView.prototype.remove = function () {\n    this._clearTimer();\n\n    this.group.removeAll();\n  };\n  /**\n   * @override\n   */\n\n\n  SliderTimelineView.prototype.dispose = function () {\n    this._clearTimer();\n  };\n\n  SliderTimelineView.prototype._layout = function (timelineModel, api) {\n    var labelPosOpt = timelineModel.get(['label', 'position']);\n    var orient = timelineModel.get('orient');\n    var viewRect = getViewRect(timelineModel, api);\n    var parsedLabelPos; // Auto label offset.\n\n    if (labelPosOpt == null || labelPosOpt === 'auto') {\n      parsedLabelPos = orient === 'horizontal' ? viewRect.y + viewRect.height / 2 < api.getHeight() / 2 ? '-' : '+' : viewRect.x + viewRect.width / 2 < api.getWidth() / 2 ? '+' : '-';\n    } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isString\"])(labelPosOpt)) {\n      parsedLabelPos = {\n        horizontal: {\n          top: '-',\n          bottom: '+'\n        },\n        vertical: {\n          left: '-',\n          right: '+'\n        }\n      }[orient][labelPosOpt];\n    } else {\n      // is number\n      parsedLabelPos = labelPosOpt;\n    }\n\n    var labelAlignMap = {\n      horizontal: 'center',\n      vertical: parsedLabelPos >= 0 || parsedLabelPos === '+' ? 'left' : 'right'\n    };\n    var labelBaselineMap = {\n      horizontal: parsedLabelPos >= 0 || parsedLabelPos === '+' ? 'top' : 'bottom',\n      vertical: 'middle'\n    };\n    var rotationMap = {\n      horizontal: 0,\n      vertical: PI / 2\n    }; // Position\n\n    var mainLength = orient === 'vertical' ? viewRect.height : viewRect.width;\n    var controlModel = timelineModel.getModel('controlStyle');\n    var showControl = controlModel.get('show', true);\n    var controlSize = showControl ? controlModel.get('itemSize') : 0;\n    var controlGap = showControl ? controlModel.get('itemGap') : 0;\n    var sizePlusGap = controlSize + controlGap; // Special label rotate.\n\n    var labelRotation = timelineModel.get(['label', 'rotate']) || 0;\n    labelRotation = labelRotation * PI / 180; // To radian.\n\n    var playPosition;\n    var prevBtnPosition;\n    var nextBtnPosition;\n    var controlPosition = controlModel.get('position', true);\n    var showPlayBtn = showControl && controlModel.get('showPlayBtn', true);\n    var showPrevBtn = showControl && controlModel.get('showPrevBtn', true);\n    var showNextBtn = showControl && controlModel.get('showNextBtn', true);\n    var xLeft = 0;\n    var xRight = mainLength; // position[0] means left, position[1] means middle.\n\n    if (controlPosition === 'left' || controlPosition === 'bottom') {\n      showPlayBtn && (playPosition = [0, 0], xLeft += sizePlusGap);\n      showPrevBtn && (prevBtnPosition = [xLeft, 0], xLeft += sizePlusGap);\n      showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n    } else {\n      // 'top' 'right'\n      showPlayBtn && (playPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n      showPrevBtn && (prevBtnPosition = [0, 0], xLeft += sizePlusGap);\n      showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n    }\n\n    var axisExtent = [xLeft, xRight];\n\n    if (timelineModel.get('inverse')) {\n      axisExtent.reverse();\n    }\n\n    return {\n      viewRect: viewRect,\n      mainLength: mainLength,\n      orient: orient,\n      rotation: rotationMap[orient],\n      labelRotation: labelRotation,\n      labelPosOpt: parsedLabelPos,\n      labelAlign: timelineModel.get(['label', 'align']) || labelAlignMap[orient],\n      labelBaseline: timelineModel.get(['label', 'verticalAlign']) || timelineModel.get(['label', 'baseline']) || labelBaselineMap[orient],\n      // Based on mainGroup.\n      playPosition: playPosition,\n      prevBtnPosition: prevBtnPosition,\n      nextBtnPosition: nextBtnPosition,\n      axisExtent: axisExtent,\n      controlSize: controlSize,\n      controlGap: controlGap\n    };\n  };\n\n  SliderTimelineView.prototype._position = function (layoutInfo, timelineModel) {\n    // Position is be called finally, because bounding rect is needed for\n    // adapt content to fill viewRect (auto adapt offset).\n    // Timeline may be not all in the viewRect when 'offset' is specified\n    // as a number, because it is more appropriate that label aligns at\n    // 'offset' but not the other edge defined by viewRect.\n    var mainGroup = this._mainGroup;\n    var labelGroup = this._labelGroup;\n    var viewRect = layoutInfo.viewRect;\n\n    if (layoutInfo.orient === 'vertical') {\n      // transform to horizontal, inverse rotate by left-top point.\n      var m = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"create\"]();\n      var rotateOriginX = viewRect.x;\n      var rotateOriginY = viewRect.y + viewRect.height;\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"translate\"](m, m, [-rotateOriginX, -rotateOriginY]);\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"rotate\"](m, m, -PI / 2);\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"translate\"](m, m, [rotateOriginX, rotateOriginY]);\n      viewRect = viewRect.clone();\n      viewRect.applyTransform(m);\n    }\n\n    var viewBound = getBound(viewRect);\n    var mainBound = getBound(mainGroup.getBoundingRect());\n    var labelBound = getBound(labelGroup.getBoundingRect());\n    var mainPosition = [mainGroup.x, mainGroup.y];\n    var labelsPosition = [labelGroup.x, labelGroup.y];\n    labelsPosition[0] = mainPosition[0] = viewBound[0][0];\n    var labelPosOpt = layoutInfo.labelPosOpt;\n\n    if (labelPosOpt == null || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"isString\"])(labelPosOpt)) {\n      // '+' or '-'\n      var mainBoundIdx = labelPosOpt === '+' ? 0 : 1;\n      toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n      toBound(labelsPosition, labelBound, viewBound, 1, 1 - mainBoundIdx);\n    } else {\n      var mainBoundIdx = labelPosOpt >= 0 ? 0 : 1;\n      toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n      labelsPosition[1] = mainPosition[1] + labelPosOpt;\n    }\n\n    mainGroup.setPosition(mainPosition);\n    labelGroup.setPosition(labelsPosition);\n    mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;\n    setOrigin(mainGroup);\n    setOrigin(labelGroup);\n\n    function setOrigin(targetGroup) {\n      targetGroup.originX = viewBound[0][0] - targetGroup.x;\n      targetGroup.originY = viewBound[1][0] - targetGroup.y;\n    }\n\n    function getBound(rect) {\n      // [[xmin, xmax], [ymin, ymax]]\n      return [[rect.x, rect.x + rect.width], [rect.y, rect.y + rect.height]];\n    }\n\n    function toBound(fromPos, from, to, dimIdx, boundIdx) {\n      fromPos[dimIdx] += to[dimIdx][boundIdx] - from[dimIdx][boundIdx];\n    }\n  };\n\n  SliderTimelineView.prototype._createAxis = function (layoutInfo, timelineModel) {\n    var data = timelineModel.getData();\n    var axisType = timelineModel.get('axisType');\n    var scale = createScaleByModel(timelineModel, axisType); // Customize scale. The `tickValue` is `dataIndex`.\n\n    scale.getTicks = function () {\n      return data.mapArray(['value'], function (value) {\n        return {\n          value: value\n        };\n      });\n    };\n\n    var dataExtent = data.getDataExtent('value');\n    scale.setExtent(dataExtent[0], dataExtent[1]);\n    scale.calcNiceTicks();\n    var axis = new _TimelineAxis_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]('value', scale, layoutInfo.axisExtent, axisType);\n    axis.model = timelineModel;\n    return axis;\n  };\n\n  SliderTimelineView.prototype._createGroup = function (key) {\n    var newGroup = this[key] = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n    this.group.add(newGroup);\n    return newGroup;\n  };\n\n  SliderTimelineView.prototype._renderAxisLine = function (layoutInfo, group, axis, timelineModel) {\n    var axisExtent = axis.getExtent();\n\n    if (!timelineModel.get(['lineStyle', 'show'])) {\n      return;\n    }\n\n    var line = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Line\"]({\n      shape: {\n        x1: axisExtent[0],\n        y1: 0,\n        x2: axisExtent[1],\n        y2: 0\n      },\n      style: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"extend\"])({\n        lineCap: 'round'\n      }, timelineModel.getModel('lineStyle').getLineStyle()),\n      silent: true,\n      z2: 1\n    });\n    group.add(line);\n    var progressLine = this._progressLine = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Line\"]({\n      shape: {\n        x1: axisExtent[0],\n        x2: this._currentPointer ? this._currentPointer.x : axisExtent[0],\n        y1: 0,\n        y2: 0\n      },\n      style: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"defaults\"])({\n        lineCap: 'round',\n        lineWidth: line.style.lineWidth\n      }, timelineModel.getModel(['progress', 'lineStyle']).getLineStyle()),\n      silent: true,\n      z2: 1\n    });\n    group.add(progressLine);\n  };\n\n  SliderTimelineView.prototype._renderAxisTick = function (layoutInfo, group, axis, timelineModel) {\n    var _this = this;\n\n    var data = timelineModel.getData(); // Show all ticks, despite ignoring strategy.\n\n    var ticks = axis.scale.getTicks();\n    this._tickSymbols = []; // The value is dataIndex, see the costomized scale.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"each\"])(ticks, function (tick) {\n      var tickCoord = axis.dataToCoord(tick.value);\n      var itemModel = data.getItemModel(tick.value);\n      var itemStyleModel = itemModel.getModel('itemStyle');\n      var hoverStyleModel = itemModel.getModel(['emphasis', 'itemStyle']);\n      var progressStyleModel = itemModel.getModel(['progress', 'itemStyle']);\n      var symbolOpt = {\n        x: tickCoord,\n        y: 0,\n        onclick: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(_this._changeTimeline, _this, tick.value)\n      };\n      var el = giveSymbol(itemModel, itemStyleModel, group, symbolOpt);\n      el.ensureState('emphasis').style = hoverStyleModel.getItemStyle();\n      el.ensureState('progress').style = progressStyleModel.getItemStyle();\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enableHoverEmphasis\"])(el);\n      var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_16__[\"getECData\"])(el);\n\n      if (itemModel.get('tooltip')) {\n        ecData.dataIndex = tick.value;\n        ecData.dataModel = timelineModel;\n      } else {\n        ecData.dataIndex = ecData.dataModel = null;\n      }\n\n      _this._tickSymbols.push(el);\n    });\n  };\n\n  SliderTimelineView.prototype._renderAxisLabel = function (layoutInfo, group, axis, timelineModel) {\n    var _this = this;\n\n    var labelModel = axis.getLabelModel();\n\n    if (!labelModel.get('show')) {\n      return;\n    }\n\n    var data = timelineModel.getData();\n    var labels = axis.getViewLabels();\n    this._tickLabels = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"each\"])(labels, function (labelItem) {\n      // The tickValue is dataIndex, see the costomized scale.\n      var dataIndex = labelItem.tickValue;\n      var itemModel = data.getItemModel(dataIndex);\n      var normalLabelModel = itemModel.getModel('label');\n      var hoverLabelModel = itemModel.getModel(['emphasis', 'label']);\n      var progressLabelModel = itemModel.getModel(['progress', 'label']);\n      var tickCoord = axis.dataToCoord(labelItem.tickValue);\n      var textEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Text\"]({\n        x: tickCoord,\n        y: 0,\n        rotation: layoutInfo.labelRotation - layoutInfo.rotation,\n        onclick: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(_this._changeTimeline, _this, dataIndex),\n        silent: false,\n        style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(normalLabelModel, {\n          text: labelItem.formattedLabel,\n          align: layoutInfo.labelAlign,\n          verticalAlign: layoutInfo.labelBaseline\n        })\n      });\n      textEl.ensureState('emphasis').style = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(hoverLabelModel);\n      textEl.ensureState('progress').style = Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(progressLabelModel);\n      group.add(textEl);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enableHoverEmphasis\"])(textEl);\n      labelDataIndexStore(textEl).dataIndex = dataIndex;\n\n      _this._tickLabels.push(textEl);\n    });\n  };\n\n  SliderTimelineView.prototype._renderControl = function (layoutInfo, group, axis, timelineModel) {\n    var controlSize = layoutInfo.controlSize;\n    var rotation = layoutInfo.rotation;\n    var itemStyle = timelineModel.getModel('controlStyle').getItemStyle();\n    var hoverStyle = timelineModel.getModel(['emphasis', 'controlStyle']).getItemStyle();\n    var playState = timelineModel.getPlayState();\n    var inverse = timelineModel.get('inverse', true);\n    makeBtn(layoutInfo.nextBtnPosition, 'next', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(this._changeTimeline, this, inverse ? '-' : '+'));\n    makeBtn(layoutInfo.prevBtnPosition, 'prev', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(this._changeTimeline, this, inverse ? '+' : '-'));\n    makeBtn(layoutInfo.playPosition, playState ? 'stop' : 'play', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(this._handlePlayClick, this, !playState), true);\n\n    function makeBtn(position, iconName, onclick, willRotate) {\n      if (!position) {\n        return;\n      }\n\n      var iconSize = Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_14__[\"parsePercent\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"retrieve2\"])(timelineModel.get(['controlStyle', iconName + 'BtnSize']), controlSize), controlSize);\n      var rect = [0, -iconSize / 2, iconSize, iconSize];\n      var btn = makeControlIcon(timelineModel, iconName + 'Icon', rect, {\n        x: position[0],\n        y: position[1],\n        originX: controlSize / 2,\n        originY: 0,\n        rotation: willRotate ? -rotation : 0,\n        rectHover: true,\n        style: itemStyle,\n        onclick: onclick\n      });\n      btn.ensureState('emphasis').style = hoverStyle;\n      group.add(btn);\n      Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enableHoverEmphasis\"])(btn);\n    }\n  };\n\n  SliderTimelineView.prototype._renderCurrentPointer = function (layoutInfo, group, axis, timelineModel) {\n    var data = timelineModel.getData();\n    var currentIndex = timelineModel.getCurrentIndex();\n    var pointerModel = data.getItemModel(currentIndex).getModel('checkpointStyle');\n    var me = this;\n    var callback = {\n      onCreate: function (pointer) {\n        pointer.draggable = true;\n        pointer.drift = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(me._handlePointerDrag, me);\n        pointer.ondragend = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"bind\"])(me._handlePointerDragend, me);\n        pointerMoveTo(pointer, me._progressLine, currentIndex, axis, timelineModel, true);\n      },\n      onUpdate: function (pointer) {\n        pointerMoveTo(pointer, me._progressLine, currentIndex, axis, timelineModel);\n      }\n    }; // Reuse when exists, for animation and drag.\n\n    this._currentPointer = giveSymbol(pointerModel, pointerModel, this._mainGroup, {}, this._currentPointer, callback);\n  };\n\n  SliderTimelineView.prototype._handlePlayClick = function (nextState) {\n    this._clearTimer();\n\n    this.api.dispatchAction({\n      type: 'timelinePlayChange',\n      playState: nextState,\n      from: this.uid\n    });\n  };\n\n  SliderTimelineView.prototype._handlePointerDrag = function (dx, dy, e) {\n    this._clearTimer();\n\n    this._pointerChangeTimeline([e.offsetX, e.offsetY]);\n  };\n\n  SliderTimelineView.prototype._handlePointerDragend = function (e) {\n    this._pointerChangeTimeline([e.offsetX, e.offsetY], true);\n  };\n\n  SliderTimelineView.prototype._pointerChangeTimeline = function (mousePos, trigger) {\n    var toCoord = this._toAxisCoord(mousePos)[0];\n\n    var axis = this._axis;\n    var axisExtent = _util_number_js__WEBPACK_IMPORTED_MODULE_9__[\"asc\"](axis.getExtent().slice());\n    toCoord > axisExtent[1] && (toCoord = axisExtent[1]);\n    toCoord < axisExtent[0] && (toCoord = axisExtent[0]);\n    this._currentPointer.x = toCoord;\n\n    this._currentPointer.markRedraw();\n\n    this._progressLine.shape.x2 = toCoord;\n\n    this._progressLine.dirty();\n\n    var targetDataIndex = this._findNearestTick(toCoord);\n\n    var timelineModel = this.model;\n\n    if (trigger || targetDataIndex !== timelineModel.getCurrentIndex() && timelineModel.get('realtime')) {\n      this._changeTimeline(targetDataIndex);\n    }\n  };\n\n  SliderTimelineView.prototype._doPlayStop = function () {\n    var _this = this;\n\n    this._clearTimer();\n\n    if (this.model.getPlayState()) {\n      this._timer = setTimeout(function () {\n        // Do not cache\n        var timelineModel = _this.model;\n\n        _this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get('rewind', true) ? -1 : 1));\n      }, this.model.get('playInterval'));\n    }\n  };\n\n  SliderTimelineView.prototype._toAxisCoord = function (vertex) {\n    var trans = this._mainGroup.getLocalTransform();\n\n    return _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"applyTransform\"](vertex, trans, true);\n  };\n\n  SliderTimelineView.prototype._findNearestTick = function (axisCoord) {\n    var data = this.model.getData();\n    var dist = Infinity;\n    var targetDataIndex;\n    var axis = this._axis;\n    data.each(['value'], function (value, dataIndex) {\n      var coord = axis.dataToCoord(value);\n      var d = Math.abs(coord - axisCoord);\n\n      if (d < dist) {\n        dist = d;\n        targetDataIndex = dataIndex;\n      }\n    });\n    return targetDataIndex;\n  };\n\n  SliderTimelineView.prototype._clearTimer = function () {\n    if (this._timer) {\n      clearTimeout(this._timer);\n      this._timer = null;\n    }\n  };\n\n  SliderTimelineView.prototype._changeTimeline = function (nextIndex) {\n    var currentIndex = this.model.getCurrentIndex();\n\n    if (nextIndex === '+') {\n      nextIndex = currentIndex + 1;\n    } else if (nextIndex === '-') {\n      nextIndex = currentIndex - 1;\n    }\n\n    this.api.dispatchAction({\n      type: 'timelineChange',\n      currentIndex: nextIndex,\n      from: this.uid\n    });\n  };\n\n  SliderTimelineView.prototype._updateTicksStatus = function () {\n    var currentIndex = this.model.getCurrentIndex();\n    var tickSymbols = this._tickSymbols;\n    var tickLabels = this._tickLabels;\n\n    if (tickSymbols) {\n      for (var i = 0; i < tickSymbols.length; i++) {\n        tickSymbols && tickSymbols[i] && tickSymbols[i].toggleState('progress', i < currentIndex);\n      }\n    }\n\n    if (tickLabels) {\n      for (var i = 0; i < tickLabels.length; i++) {\n        tickLabels && tickLabels[i] && tickLabels[i].toggleState('progress', labelDataIndexStore(tickLabels[i]).dataIndex <= currentIndex);\n      }\n    }\n  };\n\n  SliderTimelineView.type = 'timeline.slider';\n  return SliderTimelineView;\n}(_TimelineView_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\nfunction createScaleByModel(model, axisType) {\n  axisType = axisType || model.get('type');\n\n  if (axisType) {\n    switch (axisType) {\n      // Buildin scale\n      case 'category':\n        return new _scale_Ordinal_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n          ordinalMeta: model.getCategories(),\n          extent: [Infinity, -Infinity]\n        });\n\n      case 'time':\n        return new _scale_Time_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]({\n          locale: model.ecModel.getLocaleModel(),\n          useUTC: model.ecModel.get('useUTC')\n        });\n\n      default:\n        // default to be value\n        return new _scale_Interval_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]();\n    }\n  }\n}\n\nfunction getViewRect(model, api) {\n  return _util_layout_js__WEBPACK_IMPORTED_MODULE_5__[\"getLayoutRect\"](model.getBoxLayoutParams(), {\n    width: api.getWidth(),\n    height: api.getHeight()\n  }, model.get('padding'));\n}\n\nfunction makeControlIcon(timelineModel, objPath, rect, opts) {\n  var style = opts.style;\n  var icon = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"createIcon\"](timelineModel.get(['controlStyle', objPath]), opts || {}, new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](rect[0], rect[1], rect[2], rect[3])); // TODO createIcon won't use style in opt.\n\n  if (style) {\n    icon.setStyle(style);\n  }\n\n  return icon;\n}\n/**\n * Create symbol or update symbol\n * opt: basic position and event handlers\n */\n\n\nfunction giveSymbol(hostModel, itemStyleModel, group, opt, symbol, callback) {\n  var color = itemStyleModel.get('color');\n\n  if (!symbol) {\n    var symbolType = hostModel.get('symbol');\n    symbol = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_8__[\"createSymbol\"])(symbolType, -1, -1, 2, 2, color);\n    symbol.setStyle('strokeNoScale', true);\n    group.add(symbol);\n    callback && callback.onCreate(symbol);\n  } else {\n    symbol.setColor(color);\n    group.add(symbol); // Group may be new, also need to add.\n\n    callback && callback.onUpdate(symbol);\n  } // Style\n\n\n  var itemStyle = itemStyleModel.getItemStyle(['color']);\n  symbol.setStyle(itemStyle); // Transform and events.\n\n  opt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"merge\"])({\n    rectHover: true,\n    z2: 100\n  }, opt, true);\n  var symbolSize = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_8__[\"normalizeSymbolSize\"])(hostModel.get('symbolSize'));\n  opt.scaleX = symbolSize[0] / 2;\n  opt.scaleY = symbolSize[1] / 2;\n  var symbolOffset = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_8__[\"normalizeSymbolOffset\"])(hostModel.get('symbolOffset'), symbolSize);\n\n  if (symbolOffset) {\n    opt.x = (opt.x || 0) + symbolOffset[0];\n    opt.y = (opt.y || 0) + symbolOffset[1];\n  }\n\n  var symbolRotate = hostModel.get('symbolRotate');\n  opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n  symbol.attr(opt); // FIXME\n  // (1) When symbol.style.strokeNoScale is true and updateTransform is not performed,\n  // getBoundingRect will return wrong result.\n  // (This is supposed to be resolved in zrender, but it is a little difficult to\n  // leverage performance and auto updateTransform)\n  // (2) All of ancesters of symbol do not scale, so we can just updateTransform symbol.\n\n  symbol.updateTransform();\n  return symbol;\n}\n\nfunction pointerMoveTo(pointer, progressLine, dataIndex, axis, timelineModel, noAnimation) {\n  if (pointer.dragging) {\n    return;\n  }\n\n  var pointerModel = timelineModel.getModel('checkpointStyle');\n  var toCoord = axis.dataToCoord(timelineModel.getData().get('value', dataIndex));\n\n  if (noAnimation || !pointerModel.get('animation', true)) {\n    pointer.attr({\n      x: toCoord,\n      y: 0\n    });\n    progressLine && progressLine.attr({\n      shape: {\n        x2: toCoord\n      }\n    });\n  } else {\n    var animationCfg = {\n      duration: pointerModel.get('animationDuration', true),\n      easing: pointerModel.get('animationEasing', true)\n    };\n    pointer.stopAnimation(null, true);\n    pointer.animateTo({\n      x: toCoord,\n      y: 0\n    }, animationCfg);\n    progressLine && progressLine.animateTo({\n      shape: {\n        x2: toCoord\n      }\n    }, animationCfg);\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SliderTimelineView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/TimelineAxis.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/TimelineAxis.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _coord_Axis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../coord/Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * Extend axis 2d\n */\n\nvar TimelineAxis =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TimelineAxis, _super);\n\n  function TimelineAxis(dim, scale, coordExtent, axisType) {\n    var _this = _super.call(this, dim, scale, coordExtent) || this;\n\n    _this.type = axisType || 'value';\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  TimelineAxis.prototype.getLabelModel = function () {\n    // Force override\n    return this.model.getModel('label');\n  };\n  /**\n   * @override\n   */\n\n\n  TimelineAxis.prototype.isHorizontal = function () {\n    return this.model.get('orient') === 'horizontal';\n  };\n\n  return TimelineAxis;\n}(_coord_Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TimelineAxis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/TimelineAxis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/TimelineModel.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/TimelineModel.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar TimelineModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TimelineModel, _super);\n\n  function TimelineModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TimelineModel.type;\n    _this.layoutMode = 'box';\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  TimelineModel.prototype.init = function (option, parentModel, ecModel) {\n    this.mergeDefaultAndTheme(option, ecModel);\n\n    this._initData();\n  };\n  /**\n   * @override\n   */\n\n\n  TimelineModel.prototype.mergeOption = function (option) {\n    _super.prototype.mergeOption.apply(this, arguments);\n\n    this._initData();\n  };\n\n  TimelineModel.prototype.setCurrentIndex = function (currentIndex) {\n    if (currentIndex == null) {\n      currentIndex = this.option.currentIndex;\n    }\n\n    var count = this._data.count();\n\n    if (this.option.loop) {\n      currentIndex = (currentIndex % count + count) % count;\n    } else {\n      currentIndex >= count && (currentIndex = count - 1);\n      currentIndex < 0 && (currentIndex = 0);\n    }\n\n    this.option.currentIndex = currentIndex;\n  };\n  /**\n   * @return {number} currentIndex\n   */\n\n\n  TimelineModel.prototype.getCurrentIndex = function () {\n    return this.option.currentIndex;\n  };\n  /**\n   * @return {boolean}\n   */\n\n\n  TimelineModel.prototype.isIndexMax = function () {\n    return this.getCurrentIndex() >= this._data.count() - 1;\n  };\n  /**\n   * @param {boolean} state true: play, false: stop\n   */\n\n\n  TimelineModel.prototype.setPlayState = function (state) {\n    this.option.autoPlay = !!state;\n  };\n  /**\n   * @return {boolean} true: play, false: stop\n   */\n\n\n  TimelineModel.prototype.getPlayState = function () {\n    return !!this.option.autoPlay;\n  };\n  /**\n   * @private\n   */\n\n\n  TimelineModel.prototype._initData = function () {\n    var thisOption = this.option;\n    var dataArr = thisOption.data || [];\n    var axisType = thisOption.axisType;\n    var names = this._names = [];\n    var processedDataArr;\n\n    if (axisType === 'category') {\n      processedDataArr = [];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(dataArr, function (item, index) {\n        var value = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"convertOptionIdName\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"getDataItemValue\"])(item), '');\n        var newItem;\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isObject\"])(item)) {\n          newItem = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"clone\"])(item);\n          newItem.value = index;\n        } else {\n          newItem = index;\n        }\n\n        processedDataArr.push(newItem);\n        names.push(value);\n      });\n    } else {\n      processedDataArr = dataArr;\n    }\n\n    var dimType = {\n      category: 'ordinal',\n      time: 'time',\n      value: 'number'\n    }[axisType] || 'number';\n    var data = this._data = new _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]([{\n      name: 'value',\n      type: dimType\n    }], this);\n    data.initData(processedDataArr, names);\n  };\n\n  TimelineModel.prototype.getData = function () {\n    return this._data;\n  };\n  /**\n   * @public\n   * @return {Array.<string>} categoreis\n   */\n\n\n  TimelineModel.prototype.getCategories = function () {\n    if (this.get('axisType') === 'category') {\n      return this._names.slice();\n    }\n  };\n\n  TimelineModel.type = 'timeline';\n  /**\n   * @protected\n   */\n\n  TimelineModel.defaultOption = {\n    // zlevel: 0,                  // 一级层叠\n    z: 4,\n    show: true,\n    axisType: 'time',\n    realtime: true,\n    left: '20%',\n    top: null,\n    right: '20%',\n    bottom: 0,\n    width: null,\n    height: 40,\n    padding: 5,\n    controlPosition: 'left',\n    autoPlay: false,\n    rewind: false,\n    loop: true,\n    playInterval: 2000,\n    currentIndex: 0,\n    itemStyle: {},\n    label: {\n      color: '#000'\n    },\n    data: []\n  };\n  return TimelineModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TimelineModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/TimelineModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/TimelineView.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/TimelineView.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar TimelineView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TimelineView, _super);\n\n  function TimelineView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TimelineView.type;\n    return _this;\n  }\n\n  TimelineView.type = 'timeline';\n  return TimelineView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TimelineView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/TimelineView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/install.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/install.js ***!
  \****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _SliderTimelineModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SliderTimelineModel.js */ \"./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js\");\n/* harmony import */ var _SliderTimelineView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SliderTimelineView.js */ \"./node_modules/echarts/lib/component/timeline/SliderTimelineView.js\");\n/* harmony import */ var _timelineAction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./timelineAction.js */ \"./node_modules/echarts/lib/component/timeline/timelineAction.js\");\n/* harmony import */ var _preprocessor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./preprocessor.js */ \"./node_modules/echarts/lib/component/timeline/preprocessor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_SliderTimelineModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_SliderTimelineView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  registers.registerSubTypeDefaulter('timeline', function () {\n    // Only slider now.\n    return 'slider';\n  });\n  Object(_timelineAction_js__WEBPACK_IMPORTED_MODULE_2__[\"installTimelineAction\"])(registers);\n  registers.registerPreprocessor(_preprocessor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/preprocessor.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/preprocessor.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return timelinePreprocessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n\nfunction timelinePreprocessor(option) {\n  var timelineOpt = option && option.timeline;\n\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](timelineOpt)) {\n    timelineOpt = timelineOpt ? [timelineOpt] : [];\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](timelineOpt, function (opt) {\n    if (!opt) {\n      return;\n    }\n\n    compatibleEC2(opt);\n  });\n}\n\nfunction compatibleEC2(opt) {\n  var type = opt.type;\n  var ec2Types = {\n    'number': 'value',\n    'time': 'time'\n  }; // Compatible with ec2\n\n  if (ec2Types[type]) {\n    opt.axisType = ec2Types[type];\n    delete opt.type;\n  }\n\n  transferItem(opt);\n\n  if (has(opt, 'controlPosition')) {\n    var controlStyle = opt.controlStyle || (opt.controlStyle = {});\n\n    if (!has(controlStyle, 'position')) {\n      controlStyle.position = opt.controlPosition;\n    }\n\n    if (controlStyle.position === 'none' && !has(controlStyle, 'show')) {\n      controlStyle.show = false;\n      delete controlStyle.position;\n    }\n\n    delete opt.controlPosition;\n  }\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](opt.data || [], function (dataItem) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](dataItem) && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](dataItem)) {\n      if (!has(dataItem, 'value') && has(dataItem, 'name')) {\n        // In ec2, using name as value.\n        dataItem.value = dataItem.name;\n      }\n\n      transferItem(dataItem);\n    }\n  });\n}\n\nfunction transferItem(opt) {\n  var itemStyle = opt.itemStyle || (opt.itemStyle = {});\n  var itemStyleEmphasis = itemStyle.emphasis || (itemStyle.emphasis = {}); // Transfer label out\n\n  var label = opt.label || opt.label || {};\n  var labelNormal = label.normal || (label.normal = {});\n  var excludeLabelAttr = {\n    normal: 1,\n    emphasis: 1\n  };\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](label, function (value, name) {\n    if (!excludeLabelAttr[name] && !has(labelNormal, name)) {\n      labelNormal[name] = value;\n    }\n  });\n\n  if (itemStyleEmphasis.label && !has(label, 'emphasis')) {\n    label.emphasis = itemStyleEmphasis.label;\n    delete itemStyleEmphasis.label;\n  }\n}\n\nfunction has(obj, attr) {\n  return obj.hasOwnProperty(attr);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/preprocessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/timeline/timelineAction.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/timeline/timelineAction.js ***!
  \***********************************************************************/
/*! exports provided: installTimelineAction */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installTimelineAction\", function() { return installTimelineAction; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction installTimelineAction(registers) {\n  registers.registerAction({\n    type: 'timelineChange',\n    event: 'timelineChanged',\n    update: 'prepareAndUpdate'\n  }, function (payload, ecModel, api) {\n    var timelineModel = ecModel.getComponent('timeline');\n\n    if (timelineModel && payload.currentIndex != null) {\n      timelineModel.setCurrentIndex(payload.currentIndex);\n\n      if (!timelineModel.get('loop', true) && timelineModel.isIndexMax() && timelineModel.getPlayState()) {\n        timelineModel.setPlayState(false); // The timeline has played to the end, trigger event\n\n        api.dispatchAction({\n          type: 'timelinePlayChange',\n          playState: false,\n          from: payload.from\n        });\n      }\n    } // Set normalized currentIndex to payload.\n\n\n    ecModel.resetOption('timeline', {\n      replaceMerge: timelineModel.get('replaceMerge', true)\n    });\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])({\n      currentIndex: timelineModel.option.currentIndex\n    }, payload);\n  });\n  registers.registerAction({\n    type: 'timelinePlayChange',\n    event: 'timelinePlayChanged',\n    update: 'update'\n  }, function (payload, ecModel) {\n    var timelineModel = ecModel.getComponent('timeline');\n\n    if (timelineModel && payload.playState != null) {\n      timelineModel.setPlayState(payload.playState);\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/timelineAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/title/install.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/component/title/install.js ***!
  \*************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\nvar TitleModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TitleModel, _super);\n\n  function TitleModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TitleModel.type;\n    _this.layoutMode = {\n      type: 'box',\n      ignoreSize: true\n    };\n    return _this;\n  }\n\n  TitleModel.type = 'title';\n  TitleModel.defaultOption = {\n    // zlevel: 0,\n    z: 6,\n    show: true,\n    text: '',\n    target: 'blank',\n    subtext: '',\n    subtarget: 'blank',\n    left: 0,\n    top: 0,\n    backgroundColor: 'rgba(0,0,0,0)',\n    borderColor: '#ccc',\n    borderWidth: 0,\n    padding: 5,\n    itemGap: 10,\n    textStyle: {\n      fontSize: 18,\n      fontWeight: 'bold',\n      color: '#464646'\n    },\n    subtextStyle: {\n      fontSize: 12,\n      color: '#6E7079'\n    }\n  };\n  return TitleModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]); // View\n\n\nvar TitleView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TitleView, _super);\n\n  function TitleView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TitleView.type;\n    return _this;\n  }\n\n  TitleView.prototype.render = function (titleModel, ecModel, api) {\n    this.group.removeAll();\n\n    if (!titleModel.get('show')) {\n      return;\n    }\n\n    var group = this.group;\n    var textStyleModel = titleModel.getModel('textStyle');\n    var subtextStyleModel = titleModel.getModel('subtextStyle');\n    var textAlign = titleModel.get('textAlign');\n    var textVerticalAlign = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"](titleModel.get('textBaseline'), titleModel.get('textVerticalAlign'));\n    var textEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(textStyleModel, {\n        text: titleModel.get('text'),\n        fill: textStyleModel.getTextColor()\n      }, {\n        disableBox: true\n      }),\n      z2: 10\n    });\n    var textRect = textEl.getBoundingRect();\n    var subText = titleModel.get('subtext');\n    var subTextEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Text\"]({\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"createTextStyle\"])(subtextStyleModel, {\n        text: subText,\n        fill: subtextStyleModel.getTextColor(),\n        y: textRect.height + titleModel.get('itemGap'),\n        verticalAlign: 'top'\n      }, {\n        disableBox: true\n      }),\n      z2: 10\n    });\n    var link = titleModel.get('link');\n    var sublink = titleModel.get('sublink');\n    var triggerEvent = titleModel.get('triggerEvent', true);\n    textEl.silent = !link && !triggerEvent;\n    subTextEl.silent = !sublink && !triggerEvent;\n\n    if (link) {\n      textEl.on('click', function () {\n        Object(_util_format_js__WEBPACK_IMPORTED_MODULE_8__[\"windowOpen\"])(link, '_' + titleModel.get('target'));\n      });\n    }\n\n    if (sublink) {\n      subTextEl.on('click', function () {\n        Object(_util_format_js__WEBPACK_IMPORTED_MODULE_8__[\"windowOpen\"])(sublink, '_' + titleModel.get('subtarget'));\n      });\n    }\n\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(textEl).eventData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_3__[\"getECData\"])(subTextEl).eventData = triggerEvent ? {\n      componentType: 'title',\n      componentIndex: titleModel.componentIndex\n    } : null;\n    group.add(textEl);\n    subText && group.add(subTextEl); // If no subText, but add subTextEl, there will be an empty line.\n\n    var groupRect = group.getBoundingRect();\n    var layoutOption = titleModel.getBoxLayoutParams();\n    layoutOption.width = groupRect.width;\n    layoutOption.height = groupRect.height;\n    var layoutRect = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_5__[\"getLayoutRect\"])(layoutOption, {\n      width: api.getWidth(),\n      height: api.getHeight()\n    }, titleModel.get('padding')); // Adjust text align based on position\n\n    if (!textAlign) {\n      // Align left if title is on the left. center and right is same\n      textAlign = titleModel.get('left') || titleModel.get('right'); // @ts-ignore\n\n      if (textAlign === 'middle') {\n        textAlign = 'center';\n      } // Adjust layout by text align\n\n\n      if (textAlign === 'right') {\n        layoutRect.x += layoutRect.width;\n      } else if (textAlign === 'center') {\n        layoutRect.x += layoutRect.width / 2;\n      }\n    }\n\n    if (!textVerticalAlign) {\n      textVerticalAlign = titleModel.get('top') || titleModel.get('bottom'); // @ts-ignore\n\n      if (textVerticalAlign === 'center') {\n        textVerticalAlign = 'middle';\n      }\n\n      if (textVerticalAlign === 'bottom') {\n        layoutRect.y += layoutRect.height;\n      } else if (textVerticalAlign === 'middle') {\n        layoutRect.y += layoutRect.height / 2;\n      }\n\n      textVerticalAlign = textVerticalAlign || 'top';\n    }\n\n    group.x = layoutRect.x;\n    group.y = layoutRect.y;\n    group.markRedraw();\n    var alignStyle = {\n      align: textAlign,\n      verticalAlign: textVerticalAlign\n    };\n    textEl.setStyle(alignStyle);\n    subTextEl.setStyle(alignStyle); // Render background\n    // Get groupRect again because textAlign has been changed\n\n    groupRect = group.getBoundingRect();\n    var padding = layoutRect.margin;\n    var style = titleModel.getItemStyle(['color', 'opacity']);\n    style.fill = titleModel.get('backgroundColor');\n    var rect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n      shape: {\n        x: groupRect.x - padding[3],\n        y: groupRect.y - padding[0],\n        width: groupRect.width + padding[1] + padding[3],\n        height: groupRect.height + padding[0] + padding[2],\n        r: titleModel.get('borderRadius')\n      },\n      style: style,\n      subPixelOptimize: true,\n      silent: true\n    });\n    group.add(rect);\n  };\n\n  TitleView.type = 'title';\n  return TitleView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\nfunction install(registers) {\n  registers.registerComponentModel(TitleModel);\n  registers.registerComponentView(TitleView);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/title/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/ToolboxModel.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/ToolboxModel.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar ToolboxModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ToolboxModel, _super);\n\n  function ToolboxModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ToolboxModel.type;\n    return _this;\n  }\n\n  ToolboxModel.prototype.optionUpdated = function () {\n    _super.prototype.optionUpdated.apply(this, arguments);\n\n    var ecModel = this.ecModel;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this.option.feature, function (featureOpt, featureName) {\n      var Feature = _featureManager_js__WEBPACK_IMPORTED_MODULE_2__[\"getFeature\"](featureName);\n\n      if (Feature) {\n        if (Feature.getDefaultOption) {\n          Feature.defaultOption = Feature.getDefaultOption(ecModel);\n        }\n\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](featureOpt, Feature.defaultOption);\n      }\n    });\n  };\n\n  ToolboxModel.type = 'toolbox';\n  ToolboxModel.layoutMode = {\n    type: 'box',\n    ignoreSize: true\n  };\n  ToolboxModel.defaultOption = {\n    show: true,\n    z: 6,\n    // zlevel: 0,\n    orient: 'horizontal',\n    left: 'right',\n    top: 'top',\n    // right\n    // bottom\n    backgroundColor: 'transparent',\n    borderColor: '#ccc',\n    borderRadius: 0,\n    borderWidth: 0,\n    padding: 5,\n    itemSize: 15,\n    itemGap: 8,\n    showTitle: true,\n    iconStyle: {\n      borderColor: '#666',\n      color: 'none'\n    },\n    emphasis: {\n      iconStyle: {\n        borderColor: '#3E98C5'\n      }\n    },\n    // textStyle: {},\n    // feature\n    tooltip: {\n      show: false,\n      position: 'bottom'\n    }\n  };\n  return ToolboxModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ToolboxModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/ToolboxView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/ToolboxView.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../data/DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _helper_listComponent_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helper/listComponent.js */ \"./node_modules/echarts/lib/component/helper/listComponent.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n/* harmony import */ var zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! zrender/lib/graphic/Text.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ToolboxView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ToolboxView, _super);\n\n  function ToolboxView() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  ToolboxView.prototype.render = function (toolboxModel, ecModel, api, payload) {\n    var group = this.group;\n    group.removeAll();\n\n    if (!toolboxModel.get('show')) {\n      return;\n    }\n\n    var itemSize = +toolboxModel.get('itemSize');\n    var isVertical = toolboxModel.get('orient') === 'vertical';\n    var featureOpts = toolboxModel.get('feature') || {};\n    var features = this._features || (this._features = {});\n    var featureNames = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](featureOpts, function (opt, name) {\n      featureNames.push(name);\n    });\n    new _data_DataDiffer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"](processFeature, null)).execute(); // Keep for diff.\n\n    this._featureNames = featureNames;\n\n    function processFeature(newIndex, oldIndex) {\n      var featureName = featureNames[newIndex];\n      var oldName = featureNames[oldIndex];\n      var featureOpt = featureOpts[featureName];\n      var featureModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](featureOpt, toolboxModel, toolboxModel.ecModel);\n      var feature; // FIX#11236, merge feature title from MagicType newOption. TODO: consider seriesIndex ?\n\n      if (payload && payload.newTitle != null && payload.featureName === featureName) {\n        featureOpt.title = payload.newTitle;\n      }\n\n      if (featureName && !oldName) {\n        // Create\n        if (isUserFeatureName(featureName)) {\n          feature = {\n            onclick: featureModel.option.onclick,\n            featureName: featureName\n          };\n        } else {\n          var Feature = Object(_featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"getFeature\"])(featureName);\n\n          if (!Feature) {\n            return;\n          }\n\n          feature = new Feature();\n        }\n\n        features[featureName] = feature;\n      } else {\n        feature = features[oldName]; // If feature does not exsit.\n\n        if (!feature) {\n          return;\n        }\n      }\n\n      feature.uid = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_10__[\"getUID\"])('toolbox-feature');\n      feature.model = featureModel;\n      feature.ecModel = ecModel;\n      feature.api = api;\n      var isToolboxFeature = feature instanceof _featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"ToolboxFeature\"];\n\n      if (!featureName && oldName) {\n        isToolboxFeature && feature.dispose && feature.dispose(ecModel, api);\n        return;\n      }\n\n      if (!featureModel.get('show') || isToolboxFeature && feature.unusable) {\n        isToolboxFeature && feature.remove && feature.remove(ecModel, api);\n        return;\n      }\n\n      createIconPaths(featureModel, feature, featureName);\n\n      featureModel.setIconStatus = function (iconName, status) {\n        var option = this.option;\n        var iconPaths = this.iconPaths;\n        option.iconStatus = option.iconStatus || {};\n        option.iconStatus[iconName] = status;\n\n        if (iconPaths[iconName]) {\n          (status === 'emphasis' ? _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enterEmphasis\"] : _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"leaveEmphasis\"])(iconPaths[iconName]);\n        }\n      };\n\n      if (feature instanceof _featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"ToolboxFeature\"]) {\n        if (feature.render) {\n          feature.render(featureModel, ecModel, api, payload);\n        }\n      }\n    }\n\n    function createIconPaths(featureModel, feature, featureName) {\n      var iconStyleModel = featureModel.getModel('iconStyle');\n      var iconStyleEmphasisModel = featureModel.getModel(['emphasis', 'iconStyle']); // If one feature has mutiple icon. they are orginaized as\n      // {\n      //     icon: {\n      //         foo: '',\n      //         bar: ''\n      //     },\n      //     title: {\n      //         foo: '',\n      //         bar: ''\n      //     }\n      // }\n\n      var icons = feature instanceof _featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"ToolboxFeature\"] && feature.getIcons ? feature.getIcons() : featureModel.get('icon');\n      var titles = featureModel.get('title') || {};\n      var iconsMap;\n      var titlesMap;\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](icons)) {\n        iconsMap = {};\n        iconsMap[featureName] = icons;\n      } else {\n        iconsMap = icons;\n      }\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](titles)) {\n        titlesMap = {};\n        titlesMap[featureName] = titles;\n      } else {\n        titlesMap = titles;\n      }\n\n      var iconPaths = featureModel.iconPaths = {};\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](iconsMap, function (iconStr, iconName) {\n        var path = _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"createIcon\"](iconStr, {}, {\n          x: -itemSize / 2,\n          y: -itemSize / 2,\n          width: itemSize,\n          height: itemSize\n        }); // TODO handling image\n\n        path.setStyle(iconStyleModel.getItemStyle());\n        var pathEmphasisState = path.ensureState('emphasis');\n        pathEmphasisState.style = iconStyleEmphasisModel.getItemStyle(); // Text position calculation\n\n        var textContent = new zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n          style: {\n            text: titlesMap[iconName],\n            align: iconStyleEmphasisModel.get('textAlign'),\n            borderRadius: iconStyleEmphasisModel.get('textBorderRadius'),\n            padding: iconStyleEmphasisModel.get('textPadding'),\n            fill: null\n          },\n          ignore: true\n        });\n        path.setTextContent(textContent);\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"setTooltipConfig\"]({\n          el: path,\n          componentModel: toolboxModel,\n          itemName: iconName,\n          formatterParamsExtra: {\n            title: titlesMap[iconName]\n          }\n        });\n        path.__title = titlesMap[iconName];\n        path.on('mouseover', function () {\n          // Should not reuse above hoverStyle, which might be modified.\n          var hoverStyle = iconStyleEmphasisModel.getItemStyle();\n          var defaultTextPosition = isVertical ? toolboxModel.get('right') == null && toolboxModel.get('left') !== 'right' ? 'right' : 'left' : toolboxModel.get('bottom') == null && toolboxModel.get('top') !== 'bottom' ? 'bottom' : 'top';\n          textContent.setStyle({\n            fill: iconStyleEmphasisModel.get('textFill') || hoverStyle.fill || hoverStyle.stroke || '#000',\n            backgroundColor: iconStyleEmphasisModel.get('textBackgroundColor')\n          });\n          path.setTextConfig({\n            position: iconStyleEmphasisModel.get('textPosition') || defaultTextPosition\n          });\n          textContent.ignore = !toolboxModel.get('showTitle'); // Use enterEmphasis and leaveEmphasis provide by ec.\n          // There are flags managed by the echarts.\n\n          api.enterEmphasis(this);\n        }).on('mouseout', function () {\n          if (featureModel.get(['iconStatus', iconName]) !== 'emphasis') {\n            api.leaveEmphasis(this);\n          }\n\n          textContent.hide();\n        });\n        (featureModel.get(['iconStatus', iconName]) === 'emphasis' ? _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"enterEmphasis\"] : _util_states_js__WEBPACK_IMPORTED_MODULE_4__[\"leaveEmphasis\"])(path);\n        group.add(path);\n        path.on('click', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](feature.onclick, feature, ecModel, api, iconName));\n        iconPaths[iconName] = path;\n      });\n    }\n\n    _helper_listComponent_js__WEBPACK_IMPORTED_MODULE_7__[\"layout\"](group, toolboxModel, api); // Render background after group is layout\n    // FIXME\n\n    group.add(_helper_listComponent_js__WEBPACK_IMPORTED_MODULE_7__[\"makeBackground\"](group.getBoundingRect(), toolboxModel)); // Adjust icon title positions to avoid them out of screen\n\n    isVertical || group.eachChild(function (icon) {\n      var titleText = icon.__title; // const hoverStyle = icon.hoverStyle;\n      // TODO simplify code?\n\n      var emphasisState = icon.ensureState('emphasis');\n      var emphasisTextConfig = emphasisState.textConfig || (emphasisState.textConfig = {});\n      var textContent = icon.getTextContent();\n      var emphasisTextState = textContent && textContent.ensureState('emphasis'); // May be background element\n\n      if (emphasisTextState && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](emphasisTextState) && titleText) {\n        var emphasisTextStyle = emphasisTextState.style || (emphasisTextState.style = {});\n        var rect = zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getBoundingRect\"](titleText, zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].makeFont(emphasisTextStyle));\n        var offsetX = icon.x + group.x;\n        var offsetY = icon.y + group.y + itemSize;\n        var needPutOnTop = false;\n\n        if (offsetY + rect.height > api.getHeight()) {\n          emphasisTextConfig.position = 'top';\n          needPutOnTop = true;\n        }\n\n        var topOffset = needPutOnTop ? -5 - rect.height : itemSize + 10;\n\n        if (offsetX + rect.width / 2 > api.getWidth()) {\n          emphasisTextConfig.position = ['100%', topOffset];\n          emphasisTextStyle.align = 'right';\n        } else if (offsetX - rect.width / 2 < 0) {\n          emphasisTextConfig.position = [0, topOffset];\n          emphasisTextStyle.align = 'left';\n        }\n      }\n    });\n  };\n\n  ToolboxView.prototype.updateView = function (toolboxModel, ecModel, api, payload) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this._features, function (feature) {\n      feature instanceof _featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"ToolboxFeature\"] && feature.updateView && feature.updateView(feature.model, ecModel, api, payload);\n    });\n  }; // updateLayout(toolboxModel, ecModel, api, payload) {\n  //     zrUtil.each(this._features, function (feature) {\n  //         feature.updateLayout && feature.updateLayout(feature.model, ecModel, api, payload);\n  //     });\n  // },\n\n\n  ToolboxView.prototype.remove = function (ecModel, api) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this._features, function (feature) {\n      feature instanceof _featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"ToolboxFeature\"] && feature.remove && feature.remove(ecModel, api);\n    });\n    this.group.removeAll();\n  };\n\n  ToolboxView.prototype.dispose = function (ecModel, api) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this._features, function (feature) {\n      feature instanceof _featureManager_js__WEBPACK_IMPORTED_MODULE_9__[\"ToolboxFeature\"] && feature.dispose && feature.dispose(ecModel, api);\n    });\n  };\n\n  ToolboxView.type = 'toolbox';\n  return ToolboxView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n\nfunction isUserFeatureName(featureName) {\n  return featureName.indexOf('my') === 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ToolboxView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/feature/Brush.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/feature/Brush.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar ICON_TYPES = ['rect', 'polygon', 'lineX', 'lineY', 'keep', 'clear'];\n\nvar BrushFeature =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BrushFeature, _super);\n\n  function BrushFeature() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  BrushFeature.prototype.render = function (featureModel, ecModel, api) {\n    var brushType;\n    var brushMode;\n    var isBrushed;\n    ecModel.eachComponent({\n      mainType: 'brush'\n    }, function (brushModel) {\n      brushType = brushModel.brushType;\n      brushMode = brushModel.brushOption.brushMode || 'single';\n      isBrushed = isBrushed || !!brushModel.areas.length;\n    });\n    this._brushType = brushType;\n    this._brushMode = brushMode;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](featureModel.get('type', true), function (type) {\n      featureModel.setIconStatus(type, (type === 'keep' ? brushMode === 'multiple' : type === 'clear' ? isBrushed : type === brushType) ? 'emphasis' : 'normal');\n    });\n  };\n\n  BrushFeature.prototype.updateView = function (featureModel, ecModel, api) {\n    this.render(featureModel, ecModel, api);\n  };\n\n  BrushFeature.prototype.getIcons = function () {\n    var model = this.model;\n    var availableIcons = model.get('icon', true);\n    var icons = {};\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](model.get('type', true), function (type) {\n      if (availableIcons[type]) {\n        icons[type] = availableIcons[type];\n      }\n    });\n    return icons;\n  };\n\n  ;\n\n  BrushFeature.prototype.onclick = function (ecModel, api, type) {\n    var brushType = this._brushType;\n    var brushMode = this._brushMode;\n\n    if (type === 'clear') {\n      // Trigger parallel action firstly\n      api.dispatchAction({\n        type: 'axisAreaSelect',\n        intervals: []\n      });\n      api.dispatchAction({\n        type: 'brush',\n        command: 'clear',\n        // Clear all areas of all brush components.\n        areas: []\n      });\n    } else {\n      api.dispatchAction({\n        type: 'takeGlobalCursor',\n        key: 'brush',\n        brushOption: {\n          brushType: type === 'keep' ? brushType : brushType === type ? false : type,\n          brushMode: type === 'keep' ? brushMode === 'multiple' ? 'single' : 'multiple' : brushMode\n        }\n      });\n    }\n  };\n\n  ;\n\n  BrushFeature.getDefaultOption = function (ecModel) {\n    var defaultOption = {\n      show: true,\n      type: ICON_TYPES.slice(),\n      icon: {\n        /* eslint-disable */\n        rect: 'M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13',\n        polygon: 'M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2',\n        lineX: 'M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4',\n        lineY: 'M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4',\n        keep: 'M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z',\n        clear: 'M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2' // jshint ignore:line\n\n        /* eslint-enable */\n\n      },\n      // `rect`, `polygon`, `lineX`, `lineY`, `keep`, `clear`\n      title: ecModel.getLocaleModel().get(['toolbox', 'brush', 'title'])\n    };\n    return defaultOption;\n  };\n\n  return BrushFeature;\n}(_featureManager_js__WEBPACK_IMPORTED_MODULE_2__[\"ToolboxFeature\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BrushFeature);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/Brush.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/feature/DataView.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/feature/DataView.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_echarts_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../core/echarts.js */ \"./node_modules/echarts/lib/core/echarts.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global document */\n\n\n\n\n\n\n/* global document */\n\nvar BLOCK_SPLITER = new Array(60).join('-');\nvar ITEM_SPLITER = '\\t';\n/**\n * Group series into two types\n *  1. on category axis, like line, bar\n *  2. others, like scatter, pie\n */\n\nfunction groupSeries(ecModel) {\n  var seriesGroupByCategoryAxis = {};\n  var otherSeries = [];\n  var meta = [];\n  ecModel.eachRawSeries(function (seriesModel) {\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys && (coordSys.type === 'cartesian2d' || coordSys.type === 'polar')) {\n      // TODO: TYPE Consider polar? Include polar may increase unecessary bundle size.\n      var baseAxis = coordSys.getBaseAxis();\n\n      if (baseAxis.type === 'category') {\n        var key = baseAxis.dim + '_' + baseAxis.index;\n\n        if (!seriesGroupByCategoryAxis[key]) {\n          seriesGroupByCategoryAxis[key] = {\n            categoryAxis: baseAxis,\n            valueAxis: coordSys.getOtherAxis(baseAxis),\n            series: []\n          };\n          meta.push({\n            axisDim: baseAxis.dim,\n            axisIndex: baseAxis.index\n          });\n        }\n\n        seriesGroupByCategoryAxis[key].series.push(seriesModel);\n      } else {\n        otherSeries.push(seriesModel);\n      }\n    } else {\n      otherSeries.push(seriesModel);\n    }\n  });\n  return {\n    seriesGroupByCategoryAxis: seriesGroupByCategoryAxis,\n    other: otherSeries,\n    meta: meta\n  };\n}\n/**\n * Assemble content of series on cateogory axis\n * @inner\n */\n\n\nfunction assembleSeriesWithCategoryAxis(groups) {\n  var tables = [];\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](groups, function (group, key) {\n    var categoryAxis = group.categoryAxis;\n    var valueAxis = group.valueAxis;\n    var valueAxisDim = valueAxis.dim;\n    var headers = [' '].concat(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"](group.series, function (series) {\n      return series.name;\n    })); // @ts-ignore TODO Polar\n\n    var columns = [categoryAxis.model.getCategories()];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](group.series, function (series) {\n      var rawData = series.getRawData();\n      columns.push(series.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function (val) {\n        return val;\n      }));\n    }); // Assemble table content\n\n    var lines = [headers.join(ITEM_SPLITER)];\n\n    for (var i = 0; i < columns[0].length; i++) {\n      var items = [];\n\n      for (var j = 0; j < columns.length; j++) {\n        items.push(columns[j][i]);\n      }\n\n      lines.push(items.join(ITEM_SPLITER));\n    }\n\n    tables.push(lines.join('\\n'));\n  });\n  return tables.join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * Assemble content of other series\n */\n\n\nfunction assembleOtherSeries(series) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"](series, function (series) {\n    var data = series.getRawData();\n    var lines = [series.name];\n    var vals = [];\n    data.each(data.dimensions, function () {\n      var argLen = arguments.length;\n      var dataIndex = arguments[argLen - 1];\n      var name = data.getName(dataIndex);\n\n      for (var i = 0; i < argLen - 1; i++) {\n        vals[i] = arguments[i];\n      }\n\n      lines.push((name ? name + ITEM_SPLITER : '') + vals.join(ITEM_SPLITER));\n    });\n    return lines.join('\\n');\n  }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n\nfunction getContentFromModel(ecModel) {\n  var result = groupSeries(ecModel);\n  return {\n    value: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"filter\"]([assembleSeriesWithCategoryAxis(result.seriesGroupByCategoryAxis), assembleOtherSeries(result.other)], function (str) {\n      return !!str.replace(/[\\n\\t\\s]/g, '');\n    }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n'),\n    meta: result.meta\n  };\n}\n\nfunction trim(str) {\n  return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n}\n/**\n * If a block is tsv format\n */\n\n\nfunction isTSVFormat(block) {\n  // Simple method to find out if a block is tsv format\n  var firstLine = block.slice(0, block.indexOf('\\n'));\n\n  if (firstLine.indexOf(ITEM_SPLITER) >= 0) {\n    return true;\n  }\n}\n\nvar itemSplitRegex = new RegExp('[' + ITEM_SPLITER + ']+', 'g');\n/**\n * @param {string} tsv\n * @return {Object}\n */\n\nfunction parseTSVContents(tsv) {\n  var tsvLines = tsv.split(/\\n+/g);\n  var headers = trim(tsvLines.shift()).split(itemSplitRegex);\n  var categories = [];\n  var series = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"](headers, function (header) {\n    return {\n      name: header,\n      data: []\n    };\n  });\n\n  for (var i = 0; i < tsvLines.length; i++) {\n    var items = trim(tsvLines[i]).split(itemSplitRegex);\n    categories.push(items.shift());\n\n    for (var j = 0; j < items.length; j++) {\n      series[j] && (series[j].data[i] = items[j]);\n    }\n  }\n\n  return {\n    series: series,\n    categories: categories\n  };\n}\n\nfunction parseListContents(str) {\n  var lines = str.split(/\\n+/g);\n  var seriesName = trim(lines.shift());\n  var data = [];\n\n  for (var i = 0; i < lines.length; i++) {\n    // if line is empty, ignore it.\n    // there is a case that a user forgot to delete `\\n`.\n    var line = trim(lines[i]);\n\n    if (!line) {\n      continue;\n    }\n\n    var items = line.split(itemSplitRegex);\n    var name_1 = '';\n    var value = void 0;\n    var hasName = false;\n\n    if (isNaN(items[0])) {\n      // First item is name\n      hasName = true;\n      name_1 = items[0];\n      items = items.slice(1);\n      data[i] = {\n        name: name_1,\n        value: []\n      };\n      value = data[i].value;\n    } else {\n      value = data[i] = [];\n    }\n\n    for (var j = 0; j < items.length; j++) {\n      value.push(+items[j]);\n    }\n\n    if (value.length === 1) {\n      hasName ? data[i].value = value[0] : data[i] = value[0];\n    }\n  }\n\n  return {\n    name: seriesName,\n    data: data\n  };\n}\n\nfunction parseContents(str, blockMetaList) {\n  var blocks = str.split(new RegExp('\\n*' + BLOCK_SPLITER + '\\n*', 'g'));\n  var newOption = {\n    series: []\n  };\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](blocks, function (block, idx) {\n    if (isTSVFormat(block)) {\n      var result = parseTSVContents(block);\n      var blockMeta = blockMetaList[idx];\n      var axisKey = blockMeta.axisDim + 'Axis';\n\n      if (blockMeta) {\n        newOption[axisKey] = newOption[axisKey] || [];\n        newOption[axisKey][blockMeta.axisIndex] = {\n          data: result.categories\n        };\n        newOption.series = newOption.series.concat(result.series);\n      }\n    } else {\n      var result = parseListContents(block);\n      newOption.series.push(result);\n    }\n  });\n  return newOption;\n}\n\nvar DataView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(DataView, _super);\n\n  function DataView() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  DataView.prototype.onclick = function (ecModel, api) {\n    // FIXME: better way?\n    setTimeout(function () {\n      api.dispatchAction({\n        type: 'hideTip'\n      });\n    });\n    var container = api.getDom();\n    var model = this.model;\n\n    if (this._dom) {\n      container.removeChild(this._dom);\n    }\n\n    var root = document.createElement('div'); // use padding to avoid 5px whitespace\n\n    root.style.cssText = 'position:absolute;top:0;bottom:0;left:0;right:0;padding:5px';\n    root.style.backgroundColor = model.get('backgroundColor') || '#fff'; // Create elements\n\n    var header = document.createElement('h4');\n    var lang = model.get('lang') || [];\n    header.innerHTML = lang[0] || model.get('title');\n    header.style.cssText = 'margin:10px 20px';\n    header.style.color = model.get('textColor');\n    var viewMain = document.createElement('div');\n    var textarea = document.createElement('textarea');\n    viewMain.style.cssText = 'overflow:auto';\n    var optionToContent = model.get('optionToContent');\n    var contentToOption = model.get('contentToOption');\n    var result = getContentFromModel(ecModel);\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"](optionToContent)) {\n      var htmlOrDom = optionToContent(api.getOption());\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"](htmlOrDom)) {\n        viewMain.innerHTML = htmlOrDom;\n      } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isDom\"](htmlOrDom)) {\n        viewMain.appendChild(htmlOrDom);\n      }\n    } else {\n      // Use default textarea\n      textarea.readOnly = model.get('readOnly');\n      var style = textarea.style; // eslint-disable-next-line max-len\n\n      style.cssText = 'display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none';\n      style.color = model.get('textColor');\n      style.borderColor = model.get('textareaBorderColor');\n      style.backgroundColor = model.get('textareaColor');\n      textarea.value = result.value;\n      viewMain.appendChild(textarea);\n    }\n\n    var blockMetaList = result.meta;\n    var buttonContainer = document.createElement('div');\n    buttonContainer.style.cssText = 'position:absolute;bottom:5px;left:0;right:0'; // eslint-disable-next-line max-len\n\n    var buttonStyle = 'float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px';\n    var closeButton = document.createElement('div');\n    var refreshButton = document.createElement('div');\n    buttonStyle += ';background-color:' + model.get('buttonColor');\n    buttonStyle += ';color:' + model.get('buttonTextColor');\n    var self = this;\n\n    function close() {\n      container.removeChild(root);\n      self._dom = null;\n    }\n\n    Object(zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_4__[\"addEventListener\"])(closeButton, 'click', close);\n    Object(zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_4__[\"addEventListener\"])(refreshButton, 'click', function () {\n      if (contentToOption == null && optionToContent != null || contentToOption != null && optionToContent == null) {\n        if (true) {\n          // eslint-disable-next-line\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"warn\"])('It seems you have just provided one of `contentToOption` and `optionToContent` functions but missed the other one. Data change is ignored.');\n        }\n\n        close();\n        return;\n      }\n\n      var newOption;\n\n      try {\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"](contentToOption)) {\n          newOption = contentToOption(viewMain, api.getOption());\n        } else {\n          newOption = parseContents(textarea.value, blockMetaList);\n        }\n      } catch (e) {\n        close();\n        throw new Error('Data view format error ' + e);\n      }\n\n      if (newOption) {\n        api.dispatchAction({\n          type: 'changeDataView',\n          newOption: newOption\n        });\n      }\n\n      close();\n    });\n    closeButton.innerHTML = lang[1];\n    refreshButton.innerHTML = lang[2];\n    refreshButton.style.cssText = closeButton.style.cssText = buttonStyle;\n    !model.get('readOnly') && buttonContainer.appendChild(refreshButton);\n    buttonContainer.appendChild(closeButton);\n    root.appendChild(header);\n    root.appendChild(viewMain);\n    root.appendChild(buttonContainer);\n    viewMain.style.height = container.clientHeight - 80 + 'px';\n    container.appendChild(root);\n    this._dom = root;\n  };\n\n  DataView.prototype.remove = function (ecModel, api) {\n    this._dom && api.getDom().removeChild(this._dom);\n  };\n\n  DataView.prototype.dispose = function (ecModel, api) {\n    this.remove(ecModel, api);\n  };\n\n  DataView.getDefaultOption = function (ecModel) {\n    var defaultOption = {\n      show: true,\n      readOnly: false,\n      optionToContent: null,\n      contentToOption: null,\n      // eslint-disable-next-line\n      icon: 'M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28',\n      title: ecModel.getLocaleModel().get(['toolbox', 'dataView', 'title']),\n      lang: ecModel.getLocaleModel().get(['toolbox', 'dataView', 'lang']),\n      backgroundColor: '#fff',\n      textColor: '#000',\n      textareaColor: '#fff',\n      textareaBorderColor: '#333',\n      buttonColor: '#c23531',\n      buttonTextColor: '#fff'\n    };\n    return defaultOption;\n  };\n\n  return DataView;\n}(_featureManager_js__WEBPACK_IMPORTED_MODULE_3__[\"ToolboxFeature\"]);\n/**\n * @inner\n */\n\n\nfunction tryMergeDataOption(newData, originalData) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"](newData, function (newVal, idx) {\n    var original = originalData && originalData[idx];\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"](original) && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"](original)) {\n      var newValIsObject = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"](newVal) && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"](newVal);\n\n      if (!newValIsObject) {\n        newVal = {\n          value: newVal\n        };\n      } // original data has name but new data has no name\n\n\n      var shouldDeleteName = original.name != null && newVal.name == null; // Original data has option\n\n      newVal = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"](newVal, original);\n      shouldDeleteName && delete newVal.name;\n      return newVal;\n    } else {\n      return newVal;\n    }\n  });\n} // TODO: SELF REGISTERED.\n\n\n_core_echarts_js__WEBPACK_IMPORTED_MODULE_1__[\"registerAction\"]({\n  type: 'changeDataView',\n  event: 'dataViewChanged',\n  update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n  var newSeriesOptList = [];\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](payload.newOption.series, function (seriesOpt) {\n    var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];\n\n    if (!seriesModel) {\n      // New created series\n      // Geuss the series type\n      newSeriesOptList.push(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"]({\n        // Default is scatter\n        type: 'scatter'\n      }, seriesOpt));\n    } else {\n      var originalData = seriesModel.get('data');\n      newSeriesOptList.push({\n        name: seriesOpt.name,\n        data: tryMergeDataOption(seriesOpt.data, originalData)\n      });\n    }\n  });\n  ecModel.mergeOption(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"]({\n    series: newSeriesOptList\n  }, payload.newOption));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_BrushController_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../helper/BrushController.js */ \"./node_modules/echarts/lib/component/helper/BrushController.js\");\n/* harmony import */ var _helper_BrushTargetManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../helper/BrushTargetManager.js */ \"./node_modules/echarts/lib/component/helper/BrushTargetManager.js\");\n/* harmony import */ var _dataZoom_history_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../dataZoom/history.js */ \"./node_modules/echarts/lib/component/dataZoom/history.js\");\n/* harmony import */ var _helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../helper/sliderMove.js */ \"./node_modules/echarts/lib/component/helper/sliderMove.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_internalComponentCreator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../model/internalComponentCreator.js */ \"./node_modules/echarts/lib/model/internalComponentCreator.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // TODO depends on DataZoom and Brush\n\n\n\n\n\n\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"];\nvar DATA_ZOOM_ID_BASE = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"makeInternalComponentId\"])('toolbox-dataZoom_');\nvar ICON_TYPES = ['zoom', 'back'];\n\nvar DataZoomFeature =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(DataZoomFeature, _super);\n\n  function DataZoomFeature() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  DataZoomFeature.prototype.render = function (featureModel, ecModel, api, payload) {\n    if (!this._brushController) {\n      this._brushController = new _helper_BrushController_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](api.getZr());\n\n      this._brushController.on('brush', zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._onBrush, this)).mount();\n    }\n\n    updateZoomBtnStatus(featureModel, ecModel, this, payload, api);\n    updateBackBtnStatus(featureModel, ecModel);\n  };\n\n  DataZoomFeature.prototype.onclick = function (ecModel, api, type) {\n    handlers[type].call(this);\n  };\n\n  DataZoomFeature.prototype.remove = function (ecModel, api) {\n    this._brushController && this._brushController.unmount();\n  };\n\n  DataZoomFeature.prototype.dispose = function (ecModel, api) {\n    this._brushController && this._brushController.dispose();\n  };\n\n  DataZoomFeature.prototype._onBrush = function (eventParam) {\n    var areas = eventParam.areas;\n\n    if (!eventParam.isEnd || !areas.length) {\n      return;\n    }\n\n    var snapshot = {};\n    var ecModel = this.ecModel;\n\n    this._brushController.updateCovers([]); // remove cover\n\n\n    var brushTargetManager = new _helper_BrushTargetManager_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](makeAxisFinder(this.model), ecModel, {\n      include: ['grid']\n    });\n    brushTargetManager.matchOutputRanges(areas, ecModel, function (area, coordRange, coordSys) {\n      if (coordSys.type !== 'cartesian2d') {\n        return;\n      }\n\n      var brushType = area.brushType;\n\n      if (brushType === 'rect') {\n        setBatch('x', coordSys, coordRange[0]);\n        setBatch('y', coordSys, coordRange[1]);\n      } else {\n        setBatch({\n          lineX: 'x',\n          lineY: 'y'\n        }[brushType], coordSys, coordRange);\n      }\n    });\n    _dataZoom_history_js__WEBPACK_IMPORTED_MODULE_4__[\"push\"](ecModel, snapshot);\n\n    this._dispatchZoomAction(snapshot);\n\n    function setBatch(dimName, coordSys, minMax) {\n      var axis = coordSys.getAxis(dimName);\n      var axisModel = axis.model;\n      var dataZoomModel = findDataZoom(dimName, axisModel, ecModel); // Restrict range.\n\n      var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy(axisModel).getMinMaxSpan();\n\n      if (minMaxSpan.minValueSpan != null || minMaxSpan.maxValueSpan != null) {\n        minMax = Object(_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(0, minMax.slice(), axis.scale.getExtent(), 0, minMaxSpan.minValueSpan, minMaxSpan.maxValueSpan);\n      }\n\n      dataZoomModel && (snapshot[dataZoomModel.id] = {\n        dataZoomId: dataZoomModel.id,\n        startValue: minMax[0],\n        endValue: minMax[1]\n      });\n    }\n\n    function findDataZoom(dimName, axisModel, ecModel) {\n      var found;\n      ecModel.eachComponent({\n        mainType: 'dataZoom',\n        subType: 'select'\n      }, function (dzModel) {\n        var has = dzModel.getAxisModel(dimName, axisModel.componentIndex);\n        has && (found = dzModel);\n      });\n      return found;\n    }\n  };\n\n  ;\n\n  DataZoomFeature.prototype._dispatchZoomAction = function (snapshot) {\n    var batch = []; // Convert from hash map to array.\n\n    each(snapshot, function (batchItem, dataZoomId) {\n      batch.push(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](batchItem));\n    });\n    batch.length && this.api.dispatchAction({\n      type: 'dataZoom',\n      from: this.uid,\n      batch: batch\n    });\n  };\n\n  DataZoomFeature.getDefaultOption = function (ecModel) {\n    var defaultOption = {\n      show: true,\n      filterMode: 'filter',\n      // Icon group\n      icon: {\n        zoom: 'M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1',\n        back: 'M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26'\n      },\n      // `zoom`, `back`\n      title: ecModel.getLocaleModel().get(['toolbox', 'dataZoom', 'title']),\n      brushStyle: {\n        borderWidth: 0,\n        color: 'rgba(210,219,238,0.2)'\n      }\n    };\n    return defaultOption;\n  };\n\n  return DataZoomFeature;\n}(_featureManager_js__WEBPACK_IMPORTED_MODULE_6__[\"ToolboxFeature\"]);\n\nvar handlers = {\n  zoom: function () {\n    var nextActive = !this._isZoomActive;\n    this.api.dispatchAction({\n      type: 'takeGlobalCursor',\n      key: 'dataZoomSelect',\n      dataZoomSelectActive: nextActive\n    });\n  },\n  back: function () {\n    this._dispatchZoomAction(_dataZoom_history_js__WEBPACK_IMPORTED_MODULE_4__[\"pop\"](this.ecModel));\n  }\n};\n\nfunction makeAxisFinder(dzFeatureModel) {\n  var setting = {\n    xAxisIndex: dzFeatureModel.get('xAxisIndex', true),\n    yAxisIndex: dzFeatureModel.get('yAxisIndex', true),\n    xAxisId: dzFeatureModel.get('xAxisId', true),\n    yAxisId: dzFeatureModel.get('yAxisId', true)\n  }; // If both `xAxisIndex` `xAxisId` not set, it means 'all'.\n  // If both `yAxisIndex` `yAxisId` not set, it means 'all'.\n  // Some old cases set like this below to close yAxis control but leave xAxis control:\n  // `{ feature: { dataZoom: { yAxisIndex: false } }`.\n\n  if (setting.xAxisIndex == null && setting.xAxisId == null) {\n    setting.xAxisIndex = 'all';\n  }\n\n  if (setting.yAxisIndex == null && setting.yAxisId == null) {\n    setting.yAxisIndex = 'all';\n  }\n\n  return setting;\n}\n\nfunction updateBackBtnStatus(featureModel, ecModel) {\n  featureModel.setIconStatus('back', _dataZoom_history_js__WEBPACK_IMPORTED_MODULE_4__[\"count\"](ecModel) > 1 ? 'emphasis' : 'normal');\n}\n\nfunction updateZoomBtnStatus(featureModel, ecModel, view, payload, api) {\n  var zoomActive = view._isZoomActive;\n\n  if (payload && payload.type === 'takeGlobalCursor') {\n    zoomActive = payload.key === 'dataZoomSelect' ? payload.dataZoomSelectActive : false;\n  }\n\n  view._isZoomActive = zoomActive;\n  featureModel.setIconStatus('zoom', zoomActive ? 'emphasis' : 'normal');\n  var brushTargetManager = new _helper_BrushTargetManager_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](makeAxisFinder(featureModel), ecModel, {\n    include: ['grid']\n  });\n  var panels = brushTargetManager.makePanelOpts(api, function (targetInfo) {\n    return targetInfo.xAxisDeclared && !targetInfo.yAxisDeclared ? 'lineX' : !targetInfo.xAxisDeclared && targetInfo.yAxisDeclared ? 'lineY' : 'rect';\n  });\n\n  view._brushController.setPanels(panels).enableBrush(zoomActive && panels.length ? {\n    brushType: 'auto',\n    brushStyle: featureModel.getModel('brushStyle').getItemStyle()\n  } : false);\n}\n\nObject(_model_internalComponentCreator_js__WEBPACK_IMPORTED_MODULE_8__[\"registerInternalOptionCreator\"])('dataZoom', function (ecModel) {\n  var toolboxModel = ecModel.getComponent('toolbox', 0);\n  var featureDataZoomPath = ['feature', 'dataZoom'];\n\n  if (!toolboxModel || toolboxModel.get(featureDataZoomPath) == null) {\n    return;\n  }\n\n  var dzFeatureModel = toolboxModel.getModel(featureDataZoomPath);\n  var dzOptions = [];\n  var finder = makeAxisFinder(dzFeatureModel);\n  var finderResult = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"parseFinder\"])(ecModel, finder);\n  each(finderResult.xAxisModels, function (axisModel) {\n    return buildInternalOptions(axisModel, 'xAxis', 'xAxisIndex');\n  });\n  each(finderResult.yAxisModels, function (axisModel) {\n    return buildInternalOptions(axisModel, 'yAxis', 'yAxisIndex');\n  });\n\n  function buildInternalOptions(axisModel, axisMainType, axisIndexPropName) {\n    var axisIndex = axisModel.componentIndex;\n    var newOpt = {\n      type: 'select',\n      $fromToolbox: true,\n      // Default to be filter\n      filterMode: dzFeatureModel.get('filterMode', true) || 'filter',\n      // Id for merge mapping.\n      id: DATA_ZOOM_ID_BASE + axisMainType + axisIndex\n    };\n    newOpt[axisIndexPropName] = axisIndex;\n    dzOptions.push(newOpt);\n  }\n\n  return dzOptions;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataZoomFeature);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/feature/MagicType.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/feature/MagicType.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_echarts_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../core/echarts.js */ \"./node_modules/echarts/lib/core/echarts.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar INNER_STACK_KEYWORD = '__ec_magicType_stack__';\nvar ICON_TYPES = ['line', 'bar', 'stack']; // stack and tiled appears in pair for the title\n\nvar TITLE_TYPES = ['line', 'bar', 'stack', 'tiled'];\nvar radioTypes = [['line', 'bar'], ['stack']];\n\nvar MagicType =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MagicType, _super);\n\n  function MagicType() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  MagicType.prototype.getIcons = function () {\n    var model = this.model;\n    var availableIcons = model.get('icon');\n    var icons = {};\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](model.get('type'), function (type) {\n      if (availableIcons[type]) {\n        icons[type] = availableIcons[type];\n      }\n    });\n    return icons;\n  };\n\n  MagicType.getDefaultOption = function (ecModel) {\n    var defaultOption = {\n      show: true,\n      type: [],\n      // Icon group\n      icon: {\n        line: 'M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4',\n        bar: 'M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7',\n        // eslint-disable-next-line\n        stack: 'M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z' // jshint ignore:line\n\n      },\n      // `line`, `bar`, `stack`, `tiled`\n      title: ecModel.getLocaleModel().get(['toolbox', 'magicType', 'title']),\n      option: {},\n      seriesIndex: {}\n    };\n    return defaultOption;\n  };\n\n  MagicType.prototype.onclick = function (ecModel, api, type) {\n    var model = this.model;\n    var seriesIndex = model.get(['seriesIndex', type]); // Not supported magicType\n\n    if (!seriesOptGenreator[type]) {\n      return;\n    }\n\n    var newOption = {\n      series: []\n    };\n\n    var generateNewSeriesTypes = function (seriesModel) {\n      var seriesType = seriesModel.subType;\n      var seriesId = seriesModel.id;\n      var newSeriesOpt = seriesOptGenreator[type](seriesType, seriesId, seriesModel, model);\n\n      if (newSeriesOpt) {\n        // PENDING If merge original option?\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"](newSeriesOpt, seriesModel.option);\n        newOption.series.push(newSeriesOpt);\n      } // Modify boundaryGap\n\n\n      var coordSys = seriesModel.coordinateSystem;\n\n      if (coordSys && coordSys.type === 'cartesian2d' && (type === 'line' || type === 'bar')) {\n        var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n        if (categoryAxis) {\n          var axisDim = categoryAxis.dim;\n          var axisType = axisDim + 'Axis';\n          var axisModel = seriesModel.getReferringComponents(axisType, _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"SINGLE_REFERRING\"]).models[0];\n          var axisIndex = axisModel.componentIndex;\n          newOption[axisType] = newOption[axisType] || [];\n\n          for (var i = 0; i <= axisIndex; i++) {\n            newOption[axisType][axisIndex] = newOption[axisType][axisIndex] || {};\n          }\n\n          newOption[axisType][axisIndex].boundaryGap = type === 'bar';\n        }\n      }\n    };\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](radioTypes, function (radio) {\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"indexOf\"](radio, type) >= 0) {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](radio, function (item) {\n          model.setIconStatus(item, 'normal');\n        });\n      }\n    });\n    model.setIconStatus(type, 'emphasis');\n    ecModel.eachComponent({\n      mainType: 'series',\n      query: seriesIndex == null ? null : {\n        seriesIndex: seriesIndex\n      }\n    }, generateNewSeriesTypes);\n    var newTitle;\n    var currentType = type; // Change title of stack\n\n    if (type === 'stack') {\n      // use titles in model instead of ecModel\n      // as stack and tiled appears in pair, just flip them\n      // no need of checking stack state\n      newTitle = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"merge\"]({\n        stack: model.option.title.tiled,\n        tiled: model.option.title.stack\n      }, model.option.title);\n\n      if (model.get(['iconStatus', type]) !== 'emphasis') {\n        currentType = 'tiled';\n      }\n    }\n\n    api.dispatchAction({\n      type: 'changeMagicType',\n      currentType: currentType,\n      newOption: newOption,\n      newTitle: newTitle,\n      featureName: 'magicType'\n    });\n  };\n\n  return MagicType;\n}(_featureManager_js__WEBPACK_IMPORTED_MODULE_3__[\"ToolboxFeature\"]);\n\nvar seriesOptGenreator = {\n  'line': function (seriesType, seriesId, seriesModel, model) {\n    if (seriesType === 'bar') {\n      return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"merge\"]({\n        id: seriesId,\n        type: 'line',\n        // Preserve data related option\n        data: seriesModel.get('data'),\n        stack: seriesModel.get('stack'),\n        markPoint: seriesModel.get('markPoint'),\n        markLine: seriesModel.get('markLine')\n      }, model.get(['option', 'line']) || {}, true);\n    }\n  },\n  'bar': function (seriesType, seriesId, seriesModel, model) {\n    if (seriesType === 'line') {\n      return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"merge\"]({\n        id: seriesId,\n        type: 'bar',\n        // Preserve data related option\n        data: seriesModel.get('data'),\n        stack: seriesModel.get('stack'),\n        markPoint: seriesModel.get('markPoint'),\n        markLine: seriesModel.get('markLine')\n      }, model.get(['option', 'bar']) || {}, true);\n    }\n  },\n  'stack': function (seriesType, seriesId, seriesModel, model) {\n    var isStack = seriesModel.get('stack') === INNER_STACK_KEYWORD;\n\n    if (seriesType === 'line' || seriesType === 'bar') {\n      model.setIconStatus('stack', isStack ? 'normal' : 'emphasis');\n      return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"merge\"]({\n        id: seriesId,\n        stack: isStack ? '' : INNER_STACK_KEYWORD\n      }, model.get(['option', 'stack']) || {}, true);\n    }\n  }\n}; // TODO: SELF REGISTERED.\n\n_core_echarts_js__WEBPACK_IMPORTED_MODULE_1__[\"registerAction\"]({\n  type: 'changeMagicType',\n  event: 'magicTypeChanged',\n  update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n  ecModel.mergeOption(payload.newOption);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (MagicType);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/MagicType.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/feature/Restore.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/feature/Restore.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_echarts_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../core/echarts.js */ \"./node_modules/echarts/lib/core/echarts.js\");\n/* harmony import */ var _dataZoom_history_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dataZoom/history.js */ \"./node_modules/echarts/lib/component/dataZoom/history.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar RestoreOption =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RestoreOption, _super);\n\n  function RestoreOption() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  RestoreOption.prototype.onclick = function (ecModel, api) {\n    _dataZoom_history_js__WEBPACK_IMPORTED_MODULE_2__[\"clear\"](ecModel);\n    api.dispatchAction({\n      type: 'restore',\n      from: this.uid\n    });\n  };\n\n  RestoreOption.getDefaultOption = function (ecModel) {\n    var defaultOption = {\n      show: true,\n      // eslint-disable-next-line\n      icon: 'M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5',\n      title: ecModel.getLocaleModel().get(['toolbox', 'restore', 'title'])\n    };\n    return defaultOption;\n  };\n\n  return RestoreOption;\n}(_featureManager_js__WEBPACK_IMPORTED_MODULE_3__[\"ToolboxFeature\"]); // TODO: SELF REGISTERED.\n\n\n_core_echarts_js__WEBPACK_IMPORTED_MODULE_1__[\"registerAction\"]({\n  type: 'restore',\n  event: 'restore',\n  update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n  ecModel.resetOption('recreate');\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (RestoreOption);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/Restore.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Uint8Array, document */\n\n\n\n\n/* global window, document */\n\nvar SaveAsImage =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SaveAsImage, _super);\n\n  function SaveAsImage() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  SaveAsImage.prototype.onclick = function (ecModel, api) {\n    var model = this.model;\n    var title = model.get('name') || ecModel.get('title.0.text') || 'echarts';\n    var isSvg = api.getZr().painter.getType() === 'svg';\n    var type = isSvg ? 'svg' : model.get('type', true) || 'png';\n    var url = api.getConnectedDataURL({\n      type: type,\n      backgroundColor: model.get('backgroundColor', true) || ecModel.get('backgroundColor') || '#fff',\n      connectedBackgroundColor: model.get('connectedBackgroundColor'),\n      excludeComponents: model.get('excludeComponents'),\n      pixelRatio: model.get('pixelRatio')\n    });\n    var browser = zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].browser; // Chrome, Firefox, New Edge\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isFunction\"])(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) {\n      var $a = document.createElement('a');\n      $a.download = title + '.' + type;\n      $a.target = '_blank';\n      $a.href = url;\n      var evt = new MouseEvent('click', {\n        // some micro front-end framework， window maybe is a Proxy\n        view: document.defaultView,\n        bubbles: true,\n        cancelable: false\n      });\n      $a.dispatchEvent(evt);\n    } // IE or old Edge\n    else {\n        // @ts-ignore\n        if (window.navigator.msSaveOrOpenBlob || isSvg) {\n          var parts = url.split(','); // data:[<mime type>][;charset=<charset>][;base64],<encoded data>\n\n          var base64Encoded = parts[0].indexOf('base64') > -1;\n          var bstr = isSvg // should decode the svg data uri first\n          ? decodeURIComponent(parts[1]) : parts[1]; // only `atob` when the data uri is encoded with base64\n          // otherwise, like `svg` data uri exported by zrender,\n          // there will be an error, for it's not encoded with base64.\n          // (just a url-encoded string through `encodeURIComponent`)\n\n          base64Encoded && (bstr = window.atob(bstr));\n          var filename = title + '.' + type; // @ts-ignore\n\n          if (window.navigator.msSaveOrOpenBlob) {\n            var n = bstr.length;\n            var u8arr = new Uint8Array(n);\n\n            while (n--) {\n              u8arr[n] = bstr.charCodeAt(n);\n            }\n\n            var blob = new Blob([u8arr]); // @ts-ignore\n\n            window.navigator.msSaveOrOpenBlob(blob, filename);\n          } else {\n            var frame = document.createElement('iframe');\n            document.body.appendChild(frame);\n            var cw = frame.contentWindow;\n            var doc = cw.document;\n            doc.open('image/svg+xml', 'replace');\n            doc.write(bstr);\n            doc.close();\n            cw.focus();\n            doc.execCommand('SaveAs', true, filename);\n            document.body.removeChild(frame);\n          }\n        } else {\n          var lang = model.get('lang');\n          var html = '' + '<body style=\"margin:0;\">' + '<img src=\"' + url + '\" style=\"max-width:100%;\" title=\"' + (lang && lang[0] || '') + '\" />' + '</body>';\n          var tab = window.open();\n          tab.document.write(html);\n          tab.document.title = title;\n        }\n      }\n  };\n\n  SaveAsImage.getDefaultOption = function (ecModel) {\n    var defaultOption = {\n      show: true,\n      icon: 'M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0',\n      title: ecModel.getLocaleModel().get(['toolbox', 'saveAsImage', 'title']),\n      type: 'png',\n      // Default use option.backgroundColor\n      // backgroundColor: '#fff',\n      connectedBackgroundColor: '#fff',\n      name: '',\n      excludeComponents: ['toolbox'],\n      // use current pixel ratio of device by default\n      // pixelRatio: 1,\n      lang: ecModel.getLocaleModel().get(['toolbox', 'saveAsImage', 'lang'])\n    };\n    return defaultOption;\n  };\n\n  return SaveAsImage;\n}(_featureManager_js__WEBPACK_IMPORTED_MODULE_2__[\"ToolboxFeature\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SaveAsImage);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/featureManager.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/featureManager.js ***!
  \**********************************************************************/
/*! exports provided: ToolboxFeature, registerFeature, getFeature */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ToolboxFeature\", function() { return ToolboxFeature; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerFeature\", function() { return registerFeature; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFeature\", function() { return getFeature; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\nvar ToolboxFeature =\n/** @class */\nfunction () {\n  function ToolboxFeature() {}\n\n  return ToolboxFeature;\n}();\n\n\nvar features = {};\nfunction registerFeature(name, ctor) {\n  features[name] = ctor;\n}\nfunction getFeature(name) {\n  return features[name];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/featureManager.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/toolbox/install.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/toolbox/install.js ***!
  \***************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _component_dataZoom_installDataZoomSelect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../component/dataZoom/installDataZoomSelect.js */ \"./node_modules/echarts/lib/component/dataZoom/installDataZoomSelect.js\");\n/* harmony import */ var _ToolboxModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ToolboxModel.js */ \"./node_modules/echarts/lib/component/toolbox/ToolboxModel.js\");\n/* harmony import */ var _ToolboxView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ToolboxView.js */ \"./node_modules/echarts/lib/component/toolbox/ToolboxView.js\");\n/* harmony import */ var _featureManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./featureManager.js */ \"./node_modules/echarts/lib/component/toolbox/featureManager.js\");\n/* harmony import */ var _feature_SaveAsImage_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./feature/SaveAsImage.js */ \"./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js\");\n/* harmony import */ var _feature_MagicType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./feature/MagicType.js */ \"./node_modules/echarts/lib/component/toolbox/feature/MagicType.js\");\n/* harmony import */ var _feature_DataView_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./feature/DataView.js */ \"./node_modules/echarts/lib/component/toolbox/feature/DataView.js\");\n/* harmony import */ var _feature_Restore_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./feature/Restore.js */ \"./node_modules/echarts/lib/component/toolbox/feature/Restore.js\");\n/* harmony import */ var _feature_DataZoom_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./feature/DataZoom.js */ \"./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n // TODOD: REGISTER IN INSTALL\n\n\n\n\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_ToolboxModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerComponentView(_ToolboxView_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  Object(_featureManager_js__WEBPACK_IMPORTED_MODULE_4__[\"registerFeature\"])('saveAsImage', _feature_SaveAsImage_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  Object(_featureManager_js__WEBPACK_IMPORTED_MODULE_4__[\"registerFeature\"])('magicType', _feature_MagicType_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n  Object(_featureManager_js__WEBPACK_IMPORTED_MODULE_4__[\"registerFeature\"])('dataView', _feature_DataView_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n  Object(_featureManager_js__WEBPACK_IMPORTED_MODULE_4__[\"registerFeature\"])('dataZoom', _feature_DataZoom_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n  Object(_featureManager_js__WEBPACK_IMPORTED_MODULE_4__[\"registerFeature\"])('restore', _feature_Restore_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_component_dataZoom_installDataZoomSelect_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/dom.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/dom.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/tooltip/helper.js\");\n/* harmony import */ var _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n/* global document, window */\n\nvar CSS_TRANSITION_VENDOR = Object(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"toCSSVendorPrefix\"])(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"TRANSITION_VENDOR\"], 'transition');\nvar CSS_TRANSFORM_VENDOR = Object(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"toCSSVendorPrefix\"])(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"TRANSFORM_VENDOR\"], 'transform'); // eslint-disable-next-line\n\nvar gCssText = \"position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;\" + (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transform3dSupported ? 'will-change:transform;' : '');\n\nfunction mirrorPos(pos) {\n  pos = pos === 'left' ? 'right' : pos === 'right' ? 'left' : pos === 'top' ? 'bottom' : 'top';\n  return pos;\n}\n\nfunction assembleArrow(tooltipModel, borderColor, arrowPosition) {\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(arrowPosition) || arrowPosition === 'inside') {\n    return '';\n  }\n\n  var backgroundColor = tooltipModel.get('backgroundColor');\n  var borderWidth = tooltipModel.get('borderWidth');\n  borderColor = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_4__[\"convertToColorString\"])(borderColor);\n  var arrowPos = mirrorPos(arrowPosition);\n  var arrowSize = Math.max(Math.round(borderWidth) * 1.5, 6);\n  var positionStyle = '';\n  var transformStyle = CSS_TRANSFORM_VENDOR + ':';\n  var rotateDeg;\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(['left', 'right'], arrowPos) > -1) {\n    positionStyle += 'top:50%';\n    transformStyle += \"translateY(-50%) rotate(\" + (rotateDeg = arrowPos === 'left' ? -225 : -45) + \"deg)\";\n  } else {\n    positionStyle += 'left:50%';\n    transformStyle += \"translateX(-50%) rotate(\" + (rotateDeg = arrowPos === 'top' ? 225 : 45) + \"deg)\";\n  }\n\n  var rotateRadian = rotateDeg * Math.PI / 180;\n  var arrowWH = arrowSize + borderWidth;\n  var rotatedWH = arrowWH * Math.abs(Math.cos(rotateRadian)) + arrowWH * Math.abs(Math.sin(rotateRadian));\n  var arrowOffset = Math.round(((rotatedWH - Math.SQRT2 * borderWidth) / 2 + Math.SQRT2 * borderWidth - (rotatedWH - arrowWH) / 2) * 100) / 100;\n  positionStyle += \";\" + arrowPos + \":-\" + arrowOffset + \"px\";\n  var borderStyle = borderColor + \" solid \" + borderWidth + \"px;\";\n  var styleCss = [\"position:absolute;width:\" + arrowSize + \"px;height:\" + arrowSize + \"px;\", positionStyle + \";\" + transformStyle + \";\", \"border-bottom:\" + borderStyle, \"border-right:\" + borderStyle, \"background-color:\" + backgroundColor + \";\"];\n  return \"<div style=\\\"\" + styleCss.join('') + \"\\\"></div>\";\n}\n\nfunction assembleTransition(duration, onlyFade) {\n  var transitionCurve = 'cubic-bezier(0.23,1,0.32,1)';\n  var transitionOption = \" \" + duration / 2 + \"s \" + transitionCurve;\n  var transitionText = \"opacity\" + transitionOption + \",visibility\" + transitionOption;\n\n  if (!onlyFade) {\n    transitionOption = \" \" + duration + \"s \" + transitionCurve;\n    transitionText += zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transformSupported ? \",\" + CSS_TRANSFORM_VENDOR + transitionOption : \",left\" + transitionOption + \",top\" + transitionOption;\n  }\n\n  return CSS_TRANSITION_VENDOR + ':' + transitionText;\n}\n\nfunction assembleTransform(x, y, toString) {\n  // If using float on style, the final width of the dom might\n  // keep changing slightly while mouse move. So `toFixed(0)` them.\n  var x0 = x.toFixed(0) + 'px';\n  var y0 = y.toFixed(0) + 'px'; // not support transform, use `left` and `top` instead.\n\n  if (!zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transformSupported) {\n    return toString ? \"top:\" + y0 + \";left:\" + x0 + \";\" : [['top', y0], ['left', x0]];\n  } // support transform\n\n\n  var is3d = zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transform3dSupported;\n  var translate = \"translate\" + (is3d ? '3d' : '') + \"(\" + x0 + \",\" + y0 + (is3d ? ',0' : '') + \")\";\n  return toString ? 'top:0;left:0;' + CSS_TRANSFORM_VENDOR + ':' + translate + ';' : [['top', 0], ['left', 0], [_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"TRANSFORM_VENDOR\"], translate]];\n}\n/**\n * @param {Object} textStyle\n * @return {string}\n * @inner\n */\n\n\nfunction assembleFont(textStyleModel) {\n  var cssText = [];\n  var fontSize = textStyleModel.get('fontSize');\n  var color = textStyleModel.getTextColor();\n  color && cssText.push('color:' + color);\n  cssText.push('font:' + textStyleModel.getFont());\n  fontSize // @ts-ignore, leave it to the tooltip refactor.\n  && cssText.push('line-height:' + Math.round(fontSize * 3 / 2) + 'px');\n  var shadowColor = textStyleModel.get('textShadowColor');\n  var shadowBlur = textStyleModel.get('textShadowBlur') || 0;\n  var shadowOffsetX = textStyleModel.get('textShadowOffsetX') || 0;\n  var shadowOffsetY = textStyleModel.get('textShadowOffsetY') || 0;\n  shadowColor && shadowBlur && cssText.push('text-shadow:' + shadowOffsetX + 'px ' + shadowOffsetY + 'px ' + shadowBlur + 'px ' + shadowColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(['decoration', 'align'], function (name) {\n    var val = textStyleModel.get(name);\n    val && cssText.push('text-' + name + ':' + val);\n  });\n  return cssText.join(';');\n}\n\nfunction assembleCssText(tooltipModel, enableTransition, onlyFade) {\n  var cssText = [];\n  var transitionDuration = tooltipModel.get('transitionDuration');\n  var backgroundColor = tooltipModel.get('backgroundColor');\n  var shadowBlur = tooltipModel.get('shadowBlur');\n  var shadowColor = tooltipModel.get('shadowColor');\n  var shadowOffsetX = tooltipModel.get('shadowOffsetX');\n  var shadowOffsetY = tooltipModel.get('shadowOffsetY');\n  var textStyleModel = tooltipModel.getModel('textStyle');\n  var padding = Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_6__[\"getPaddingFromTooltipModel\"])(tooltipModel, 'html');\n  var boxShadow = shadowOffsetX + \"px \" + shadowOffsetY + \"px \" + shadowBlur + \"px \" + shadowColor;\n  cssText.push('box-shadow:' + boxShadow); // Animation transition. Do not animate when transitionDuration is 0.\n\n  enableTransition && transitionDuration && cssText.push(assembleTransition(transitionDuration, onlyFade));\n\n  if (backgroundColor) {\n    cssText.push('background-color:' + backgroundColor);\n  } // Border style\n\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(['width', 'color', 'radius'], function (name) {\n    var borderName = 'border-' + name;\n    var camelCase = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_4__[\"toCamelCase\"])(borderName);\n    var val = tooltipModel.get(camelCase);\n    val != null && cssText.push(borderName + ':' + val + (name === 'color' ? '' : 'px'));\n  }); // Text style\n\n  cssText.push(assembleFont(textStyleModel)); // Padding\n\n  if (padding != null) {\n    cssText.push('padding:' + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_4__[\"normalizeCssArray\"])(padding).join('px ') + 'px');\n  }\n\n  return cssText.join(';') + ';';\n} // If not able to make, do not modify the input `out`.\n\n\nfunction makeStyleCoord(out, zr, appendToBody, zrX, zrY) {\n  var zrPainter = zr && zr.painter;\n\n  if (appendToBody) {\n    var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();\n\n    if (zrViewportRoot) {\n      // Some APPs might use scale on body, so we support CSS transform here.\n      Object(zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"transformLocalCoord\"])(out, zrViewportRoot, document.body, zrX, zrY);\n    }\n  } else {\n    out[0] = zrX;\n    out[1] = zrY; // xy should be based on canvas root. But tooltipContent is\n    // the sibling of canvas root. So padding of ec container\n    // should be considered here.\n\n    var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();\n\n    if (viewportRootOffset) {\n      out[0] += viewportRootOffset.offsetLeft;\n      out[1] += viewportRootOffset.offsetTop;\n    }\n  }\n\n  out[2] = out[0] / zr.getWidth();\n  out[3] = out[1] / zr.getHeight();\n}\n\nvar TooltipHTMLContent =\n/** @class */\nfunction () {\n  function TooltipHTMLContent(container, api, opt) {\n    this._show = false;\n    this._styleCoord = [0, 0, 0, 0];\n    this._enterable = true;\n    this._firstShow = true;\n    this._longHide = true;\n\n    if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].wxa) {\n      return null;\n    }\n\n    var el = document.createElement('div'); // TODO: TYPE\n\n    el.domBelongToZr = true;\n    this.el = el;\n    var zr = this._zr = api.getZr();\n    var appendToBody = this._appendToBody = opt && opt.appendToBody;\n    makeStyleCoord(this._styleCoord, zr, appendToBody, api.getWidth() / 2, api.getHeight() / 2);\n\n    if (appendToBody) {\n      document.body.appendChild(el);\n    } else {\n      container.appendChild(el);\n    }\n\n    this._container = container; // FIXME\n    // Is it needed to trigger zr event manually if\n    // the browser do not support `pointer-events: none`.\n\n    var self = this;\n\n    el.onmouseenter = function () {\n      // clear the timeout in hideLater and keep showing tooltip\n      if (self._enterable) {\n        clearTimeout(self._hideTimeout);\n        self._show = true;\n      }\n\n      self._inContent = true;\n    };\n\n    el.onmousemove = function (e) {\n      e = e || window.event;\n\n      if (!self._enterable) {\n        // `pointer-events: none` is set to tooltip content div\n        // if `enterable` is set as `false`, and `el.onmousemove`\n        // can not be triggered. But in browser that do not\n        // support `pointer-events`, we need to do this:\n        // Try trigger zrender event to avoid mouse\n        // in and out shape too frequently\n        var handler = zr.handler;\n        var zrViewportRoot = zr.painter.getViewportRoot();\n        Object(zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(zrViewportRoot, e, true);\n        handler.dispatch('mousemove', e);\n      }\n    };\n\n    el.onmouseleave = function () {\n      // set `_inContent` to `false` before `hideLater`\n      self._inContent = false;\n\n      if (self._enterable) {\n        if (self._show) {\n          self.hideLater(self._hideDelay);\n        }\n      }\n    };\n  }\n  /**\n   * Update when tooltip is rendered\n   */\n\n\n  TooltipHTMLContent.prototype.update = function (tooltipModel) {\n    // FIXME\n    // Move this logic to ec main?\n    var container = this._container;\n    var position = Object(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"getComputedStyle\"])(container, 'position');\n    var domStyle = container.style;\n\n    if (domStyle.position !== 'absolute' && position !== 'absolute') {\n      domStyle.position = 'relative';\n    } // move tooltip if chart resized\n\n\n    var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n    alwaysShowContent && this._moveIfResized(); // update className\n\n    this.el.className = tooltipModel.get('className') || ''; // Hide the tooltip\n    // PENDING\n    // this.hide();\n  };\n\n  TooltipHTMLContent.prototype.show = function (tooltipModel, nearPointColor) {\n    clearTimeout(this._hideTimeout);\n    clearTimeout(this._longHideTimeout);\n    var el = this.el;\n    var style = el.style;\n    var styleCoord = this._styleCoord;\n\n    if (!el.innerHTML) {\n      style.display = 'none';\n    } else {\n      style.cssText = gCssText + assembleCssText(tooltipModel, !this._firstShow, this._longHide) // initial transform\n      + assembleTransform(styleCoord[0], styleCoord[1], true) + (\"border-color:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_4__[\"convertToColorString\"])(nearPointColor) + \";\") + (tooltipModel.get('extraCssText') || '') // If mouse occasionally move over the tooltip, a mouseout event will be\n      // triggered by canvas, and cause some unexpectable result like dragging\n      // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n      // it. Although it is not supported by IE8~IE10, fortunately it is a rare\n      // scenario.\n      + (\";pointer-events:\" + (this._enterable ? 'auto' : 'none'));\n    }\n\n    this._show = true;\n    this._firstShow = false;\n    this._longHide = false;\n  };\n\n  TooltipHTMLContent.prototype.setContent = function (content, markers, tooltipModel, borderColor, arrowPosition) {\n    var el = this.el;\n\n    if (content == null) {\n      el.innerHTML = '';\n      return;\n    }\n\n    var arrow = '';\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(arrowPosition) && tooltipModel.get('trigger') === 'item' && !Object(_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"shouldTooltipConfine\"])(tooltipModel)) {\n      arrow = assembleArrow(tooltipModel, borderColor, arrowPosition);\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(content)) {\n      el.innerHTML = content + arrow;\n    } else if (content) {\n      // Clear previous\n      el.innerHTML = '';\n\n      if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(content)) {\n        content = [content];\n      }\n\n      for (var i = 0; i < content.length; i++) {\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isDom\"])(content[i]) && content[i].parentNode !== el) {\n          el.appendChild(content[i]);\n        }\n      } // no arrow if empty\n\n\n      if (arrow && el.childNodes.length) {\n        // no need to create a new parent element, but it's not supported by IE 10 and older.\n        // const arrowEl = document.createRange().createContextualFragment(arrow);\n        var arrowEl = document.createElement('div');\n        arrowEl.innerHTML = arrow;\n        el.appendChild(arrowEl);\n      }\n    }\n  };\n\n  TooltipHTMLContent.prototype.setEnterable = function (enterable) {\n    this._enterable = enterable;\n  };\n\n  TooltipHTMLContent.prototype.getSize = function () {\n    var el = this.el;\n    return [el.offsetWidth, el.offsetHeight];\n  };\n\n  TooltipHTMLContent.prototype.moveTo = function (zrX, zrY) {\n    var styleCoord = this._styleCoord;\n    makeStyleCoord(styleCoord, this._zr, this._appendToBody, zrX, zrY);\n\n    if (styleCoord[0] != null && styleCoord[1] != null) {\n      var style_1 = this.el.style;\n      var transforms = assembleTransform(styleCoord[0], styleCoord[1]);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(transforms, function (transform) {\n        style_1[transform[0]] = transform[1];\n      });\n    }\n  };\n  /**\n   * when `alwaysShowContent` is true,\n   * move the tooltip after chart resized\n   */\n\n\n  TooltipHTMLContent.prototype._moveIfResized = function () {\n    // The ratio of left to width\n    var ratioX = this._styleCoord[2]; // The ratio of top to height\n\n    var ratioY = this._styleCoord[3];\n    this.moveTo(ratioX * this._zr.getWidth(), ratioY * this._zr.getHeight());\n  };\n\n  TooltipHTMLContent.prototype.hide = function () {\n    var _this = this;\n\n    var style = this.el.style;\n    style.visibility = 'hidden';\n    style.opacity = '0';\n    zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transform3dSupported && (style.willChange = '');\n    this._show = false;\n    this._longHideTimeout = setTimeout(function () {\n      return _this._longHide = true;\n    }, 500);\n  };\n\n  TooltipHTMLContent.prototype.hideLater = function (time) {\n    if (this._show && !(this._inContent && this._enterable)) {\n      if (time) {\n        this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n        this._show = false;\n        this._hideTimeout = setTimeout(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"])(this.hide, this), time);\n      } else {\n        this.hide();\n      }\n    }\n  };\n\n  TooltipHTMLContent.prototype.isShow = function () {\n    return this._show;\n  };\n\n  TooltipHTMLContent.prototype.dispose = function () {\n    this.el.parentNode.removeChild(this.el);\n  };\n\n  return TooltipHTMLContent;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TooltipHTMLContent);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/TooltipModel.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/TooltipModel.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar TooltipModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TooltipModel, _super);\n\n  function TooltipModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TooltipModel.type;\n    return _this;\n  }\n\n  TooltipModel.type = 'tooltip';\n  TooltipModel.dependencies = ['axisPointer'];\n  TooltipModel.defaultOption = {\n    // zlevel: 0,\n    z: 60,\n    show: true,\n    // tooltip main content\n    showContent: true,\n    // 'trigger' only works on coordinate system.\n    // 'item' | 'axis' | 'none'\n    trigger: 'item',\n    // 'click' | 'mousemove' | 'none'\n    triggerOn: 'mousemove|click',\n    alwaysShowContent: false,\n    displayMode: 'single',\n    renderMode: 'auto',\n    // whether restraint content inside viewRect.\n    // If renderMode: 'richText', default true.\n    // If renderMode: 'html', defaut false (for backward compat).\n    confine: null,\n    showDelay: 0,\n    hideDelay: 100,\n    // Animation transition time, unit is second\n    transitionDuration: 0.4,\n    enterable: false,\n    backgroundColor: '#fff',\n    // box shadow\n    shadowBlur: 10,\n    shadowColor: 'rgba(0, 0, 0, .2)',\n    shadowOffsetX: 1,\n    shadowOffsetY: 2,\n    // tooltip border radius, unit is px, default is 4\n    borderRadius: 4,\n    // tooltip border width, unit is px, default is 0 (no border)\n    borderWidth: 1,\n    // Tooltip inside padding, default is 5 for all direction\n    // Array is allowed to set up, right, bottom, left, same with css\n    // The default value: See `tooltip/tooltipMarkup.ts#getPaddingFromTooltipModel`.\n    padding: null,\n    // Extra css text\n    extraCssText: '',\n    // axis indicator, trigger by axis\n    axisPointer: {\n      // default is line\n      // legal values: 'line' | 'shadow' | 'cross'\n      type: 'line',\n      // Valid when type is line, appoint tooltip line locate on which line. Optional\n      // legal values: 'x' | 'y' | 'angle' | 'radius' | 'auto'\n      // default is 'auto', chose the axis which type is category.\n      // for multiply y axis, cartesian coord chose x axis, polar chose angle axis\n      axis: 'auto',\n      animation: 'auto',\n      animationDurationUpdate: 200,\n      animationEasingUpdate: 'exponentialOut',\n      crossStyle: {\n        color: '#999',\n        width: 1,\n        type: 'dashed',\n        // TODO formatter\n        textStyle: {}\n      } // lineStyle and shadowStyle should not be specified here,\n      // otherwise it will always override those styles on option.axisPointer.\n\n    },\n    textStyle: {\n      color: '#666',\n      fontSize: 14\n    }\n  };\n  return TooltipModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TooltipModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/TooltipModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Text.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js\");\n/* harmony import */ var _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar TooltipRichContent =\n/** @class */\nfunction () {\n  function TooltipRichContent(api) {\n    this._show = false;\n    this._styleCoord = [0, 0, 0, 0];\n    this._enterable = true;\n    this._zr = api.getZr();\n    makeStyleCoord(this._styleCoord, this._zr, api.getWidth() / 2, api.getHeight() / 2);\n  }\n  /**\n   * Update when tooltip is rendered\n   */\n\n\n  TooltipRichContent.prototype.update = function (tooltipModel) {\n    var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n    alwaysShowContent && this._moveIfResized();\n  };\n\n  TooltipRichContent.prototype.show = function () {\n    if (this._hideTimeout) {\n      clearTimeout(this._hideTimeout);\n    }\n\n    this.el.show();\n    this._show = true;\n  };\n  /**\n   * Set tooltip content\n   */\n\n\n  TooltipRichContent.prototype.setContent = function (content, markupStyleCreator, tooltipModel, borderColor, arrowPosition) {\n    var _this = this;\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](content)) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"throwError\"])( true ? 'Passing DOM nodes as content is not supported in richText tooltip!' : undefined);\n    }\n\n    if (this.el) {\n      this._zr.remove(this.el);\n    }\n\n    var textStyleModel = tooltipModel.getModel('textStyle');\n    this.el = new zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]({\n      style: {\n        rich: markupStyleCreator.richTextStyles,\n        text: content,\n        lineHeight: 22,\n        borderWidth: 1,\n        borderColor: borderColor,\n        textShadowColor: textStyleModel.get('textShadowColor'),\n        fill: tooltipModel.get(['textStyle', 'color']),\n        padding: Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_2__[\"getPaddingFromTooltipModel\"])(tooltipModel, 'richText'),\n        verticalAlign: 'top',\n        align: 'left'\n      },\n      z: tooltipModel.get('z')\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](['backgroundColor', 'borderRadius', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'], function (propName) {\n      _this.el.style[propName] = tooltipModel.get(propName);\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](['textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY'], function (propName) {\n      _this.el.style[propName] = textStyleModel.get(propName) || 0;\n    });\n\n    this._zr.add(this.el);\n\n    var self = this;\n    this.el.on('mouseover', function () {\n      // clear the timeout in hideLater and keep showing tooltip\n      if (self._enterable) {\n        clearTimeout(self._hideTimeout);\n        self._show = true;\n      }\n\n      self._inContent = true;\n    });\n    this.el.on('mouseout', function () {\n      if (self._enterable) {\n        if (self._show) {\n          self.hideLater(self._hideDelay);\n        }\n      }\n\n      self._inContent = false;\n    });\n  };\n\n  TooltipRichContent.prototype.setEnterable = function (enterable) {\n    this._enterable = enterable;\n  };\n\n  TooltipRichContent.prototype.getSize = function () {\n    var el = this.el;\n    var bounding = this.el.getBoundingRect(); // bounding rect does not include shadow. For renderMode richText,\n    // if overflow, it will be cut. So calculate them accurately.\n\n    var shadowOuterSize = calcShadowOuterSize(el.style);\n    return [bounding.width + shadowOuterSize.left + shadowOuterSize.right, bounding.height + shadowOuterSize.top + shadowOuterSize.bottom];\n  };\n\n  TooltipRichContent.prototype.moveTo = function (x, y) {\n    var el = this.el;\n\n    if (el) {\n      var styleCoord = this._styleCoord;\n      makeStyleCoord(styleCoord, this._zr, x, y);\n      x = styleCoord[0];\n      y = styleCoord[1];\n      var style = el.style;\n      var borderWidth = mathMaxWith0(style.borderWidth || 0);\n      var shadowOuterSize = calcShadowOuterSize(style); // rich text x, y do not include border.\n\n      el.x = x + borderWidth + shadowOuterSize.left;\n      el.y = y + borderWidth + shadowOuterSize.top;\n      el.markRedraw();\n    }\n  };\n  /**\n   * when `alwaysShowContent` is true,\n   * move the tooltip after chart resized\n   */\n\n\n  TooltipRichContent.prototype._moveIfResized = function () {\n    // The ratio of left to width\n    var ratioX = this._styleCoord[2]; // The ratio of top to height\n\n    var ratioY = this._styleCoord[3];\n    this.moveTo(ratioX * this._zr.getWidth(), ratioY * this._zr.getHeight());\n  };\n\n  TooltipRichContent.prototype.hide = function () {\n    if (this.el) {\n      this.el.hide();\n    }\n\n    this._show = false;\n  };\n\n  TooltipRichContent.prototype.hideLater = function (time) {\n    if (this._show && !(this._inContent && this._enterable)) {\n      if (time) {\n        this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n        this._show = false;\n        this._hideTimeout = setTimeout(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.hide, this), time);\n      } else {\n        this.hide();\n      }\n    }\n  };\n\n  TooltipRichContent.prototype.isShow = function () {\n    return this._show;\n  };\n\n  TooltipRichContent.prototype.dispose = function () {\n    this._zr.remove(this.el);\n  };\n\n  return TooltipRichContent;\n}();\n\nfunction mathMaxWith0(val) {\n  return Math.max(0, val);\n}\n\nfunction calcShadowOuterSize(style) {\n  var shadowBlur = mathMaxWith0(style.shadowBlur || 0);\n  var shadowOffsetX = mathMaxWith0(style.shadowOffsetX || 0);\n  var shadowOffsetY = mathMaxWith0(style.shadowOffsetY || 0);\n  return {\n    left: mathMaxWith0(shadowBlur - shadowOffsetX),\n    right: mathMaxWith0(shadowBlur + shadowOffsetX),\n    top: mathMaxWith0(shadowBlur - shadowOffsetY),\n    bottom: mathMaxWith0(shadowBlur + shadowOffsetY)\n  };\n}\n\nfunction makeStyleCoord(out, zr, zrX, zrY) {\n  out[0] = zrX;\n  out[1] = zrY;\n  out[2] = out[0] / zr.getWidth();\n  out[3] = out[1] / zr.getHeight();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TooltipRichContent);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/TooltipView.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/TooltipView.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _TooltipHTMLContent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TooltipHTMLContent.js */ \"./node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js\");\n/* harmony import */ var _TooltipRichContent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TooltipRichContent.js */ \"./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _axisPointer_findPointFromSeries_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../axisPointer/findPointFromSeries.js */ \"./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _axisPointer_globalListener_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../axisPointer/globalListener.js */ \"./node_modules/echarts/lib/component/axisPointer/globalListener.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _axisPointer_viewHelper_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../axisPointer/viewHelper.js */ \"./node_modules/echarts/lib/component/axisPointer/viewHelper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _util_time_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/time.js */ \"./node_modules/echarts/lib/util/time.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/tooltip/helper.js\");\n/* harmony import */ var _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../model/mixin/dataFormat.js */ \"./node_modules/echarts/lib/model/mixin/dataFormat.js\");\n/* harmony import */ var _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../util/event.js */ \"./node_modules/echarts/lib/util/event.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar proxyRect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_7__[\"Rect\"]({\n  shape: {\n    x: -1,\n    y: -1,\n    width: 2,\n    height: 2\n  }\n});\n\nvar TooltipView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TooltipView, _super);\n\n  function TooltipView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = TooltipView.type;\n    return _this;\n  }\n\n  TooltipView.prototype.init = function (ecModel, api) {\n    if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].node || !api.getDom()) {\n      return;\n    }\n\n    var tooltipModel = ecModel.getComponent('tooltip');\n    var renderMode = this._renderMode = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_14__[\"getTooltipRenderMode\"])(tooltipModel.get('renderMode'));\n    this._tooltipContent = renderMode === 'richText' ? new _TooltipRichContent_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](api) : new _TooltipHTMLContent_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](api.getDom(), api, {\n      appendToBody: tooltipModel.get('appendToBody', true)\n    });\n  };\n\n  TooltipView.prototype.render = function (tooltipModel, ecModel, api) {\n    if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].node || !api.getDom()) {\n      return;\n    } // Reset\n\n\n    this.group.removeAll();\n    this._tooltipModel = tooltipModel;\n    this._ecModel = ecModel;\n    this._api = api;\n    /**\n     * @private\n     * @type {boolean}\n     */\n\n    this._alwaysShowContent = tooltipModel.get('alwaysShowContent');\n    var tooltipContent = this._tooltipContent;\n    tooltipContent.update(tooltipModel);\n    tooltipContent.setEnterable(tooltipModel.get('enterable'));\n\n    this._initGlobalListener();\n\n    this._keepShow(); // PENDING\n    // `mousemove` event will be triggered very frequently when the mouse moves fast,\n    // which causes that the `updatePosition` function was also called frequently.\n    // In Chrome with devtools open and Firefox, tooltip looks laggy and shakes. See #14695 #16101\n    // To avoid frequent triggering,\n    // consider throttling it in 50ms when transition is enabled\n\n\n    if (this._renderMode !== 'richText' && tooltipModel.get('transitionDuration')) {\n      Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_22__[\"createOrUpdate\"])(this, '_updatePosition', 50, 'fixRate');\n    } else {\n      Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_22__[\"clear\"])(this, '_updatePosition');\n    }\n  };\n\n  TooltipView.prototype._initGlobalListener = function () {\n    var tooltipModel = this._tooltipModel;\n    var triggerOn = tooltipModel.get('triggerOn');\n    _axisPointer_globalListener_js__WEBPACK_IMPORTED_MODULE_11__[\"register\"]('itemTooltip', this._api, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(function (currTrigger, e, dispatchAction) {\n      // If 'none', it is not controlled by mouse totally.\n      if (triggerOn !== 'none') {\n        if (triggerOn.indexOf(currTrigger) >= 0) {\n          this._tryShow(e, dispatchAction);\n        } else if (currTrigger === 'leave') {\n          this._hide(dispatchAction);\n        }\n      }\n    }, this));\n  };\n\n  TooltipView.prototype._keepShow = function () {\n    var tooltipModel = this._tooltipModel;\n    var ecModel = this._ecModel;\n    var api = this._api;\n    var triggerOn = tooltipModel.get('triggerOn'); // Try to keep the tooltip show when refreshing\n\n    if (this._lastX != null && this._lastY != null // When user is willing to control tooltip totally using API,\n    // self.manuallyShowTip({x, y}) might cause tooltip hide,\n    // which is not expected.\n    && triggerOn !== 'none' && triggerOn !== 'click') {\n      var self_1 = this;\n      clearTimeout(this._refreshUpdateTimeout);\n      this._refreshUpdateTimeout = setTimeout(function () {\n        // Show tip next tick after other charts are rendered\n        // In case highlight action has wrong result\n        // FIXME\n        !api.isDisposed() && self_1.manuallyShowTip(tooltipModel, ecModel, api, {\n          x: self_1._lastX,\n          y: self_1._lastY,\n          dataByCoordSys: self_1._lastDataByCoordSys\n        });\n      });\n    }\n  };\n  /**\n   * Show tip manually by\n   * dispatchAction({\n   *     type: 'showTip',\n   *     x: 10,\n   *     y: 10\n   * });\n   * Or\n   * dispatchAction({\n   *      type: 'showTip',\n   *      seriesIndex: 0,\n   *      dataIndex or dataIndexInside or name\n   * });\n   *\n   *  TODO Batch\n   */\n\n\n  TooltipView.prototype.manuallyShowTip = function (tooltipModel, ecModel, api, payload) {\n    if (payload.from === this.uid || zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].node || !api.getDom()) {\n      return;\n    }\n\n    var dispatchAction = makeDispatchAction(payload, api); // Reset ticket\n\n    this._ticket = ''; // When triggered from axisPointer.\n\n    var dataByCoordSys = payload.dataByCoordSys;\n    var cmptRef = findComponentReference(payload, ecModel, api);\n\n    if (cmptRef) {\n      var rect = cmptRef.el.getBoundingRect().clone();\n      rect.applyTransform(cmptRef.el.transform);\n\n      this._tryShow({\n        offsetX: rect.x + rect.width / 2,\n        offsetY: rect.y + rect.height / 2,\n        target: cmptRef.el,\n        position: payload.position,\n        // When manully trigger, the mouse is not on the el, so we'd better to\n        // position tooltip on the bottom of the el and display arrow is possible.\n        positionDefault: 'bottom'\n      }, dispatchAction);\n    } else if (payload.tooltip && payload.x != null && payload.y != null) {\n      var el = proxyRect;\n      el.x = payload.x;\n      el.y = payload.y;\n      el.update();\n      Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__[\"getECData\"])(el).tooltipConfig = {\n        name: null,\n        option: payload.tooltip\n      }; // Manually show tooltip while view is not using zrender elements.\n\n      this._tryShow({\n        offsetX: payload.x,\n        offsetY: payload.y,\n        target: el\n      }, dispatchAction);\n    } else if (dataByCoordSys) {\n      this._tryShow({\n        offsetX: payload.x,\n        offsetY: payload.y,\n        position: payload.position,\n        dataByCoordSys: dataByCoordSys,\n        tooltipOption: payload.tooltipOption\n      }, dispatchAction);\n    } else if (payload.seriesIndex != null) {\n      if (this._manuallyAxisShowTip(tooltipModel, ecModel, api, payload)) {\n        return;\n      }\n\n      var pointInfo = Object(_axisPointer_findPointFromSeries_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(payload, ecModel);\n      var cx = pointInfo.point[0];\n      var cy = pointInfo.point[1];\n\n      if (cx != null && cy != null) {\n        this._tryShow({\n          offsetX: cx,\n          offsetY: cy,\n          target: pointInfo.el,\n          position: payload.position,\n          // When manully trigger, the mouse is not on the el, so we'd better to\n          // position tooltip on the bottom of the el and display arrow is possible.\n          positionDefault: 'bottom'\n        }, dispatchAction);\n      }\n    } else if (payload.x != null && payload.y != null) {\n      // FIXME\n      // should wrap dispatchAction like `axisPointer/globalListener` ?\n      api.dispatchAction({\n        type: 'updateAxisPointer',\n        x: payload.x,\n        y: payload.y\n      });\n\n      this._tryShow({\n        offsetX: payload.x,\n        offsetY: payload.y,\n        position: payload.position,\n        target: api.getZr().findHover(payload.x, payload.y).target\n      }, dispatchAction);\n    }\n  };\n\n  TooltipView.prototype.manuallyHideTip = function (tooltipModel, ecModel, api, payload) {\n    var tooltipContent = this._tooltipContent;\n\n    if (!this._alwaysShowContent && this._tooltipModel) {\n      tooltipContent.hideLater(this._tooltipModel.get('hideDelay'));\n    }\n\n    this._lastX = this._lastY = this._lastDataByCoordSys = null;\n\n    if (payload.from !== this.uid) {\n      this._hide(makeDispatchAction(payload, api));\n    }\n  }; // Be compatible with previous design, that is, when tooltip.type is 'axis' and\n  // dispatchAction 'showTip' with seriesIndex and dataIndex will trigger axis pointer\n  // and tooltip.\n\n\n  TooltipView.prototype._manuallyAxisShowTip = function (tooltipModel, ecModel, api, payload) {\n    var seriesIndex = payload.seriesIndex;\n    var dataIndex = payload.dataIndex; // @ts-ignore\n\n    var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo;\n\n    if (seriesIndex == null || dataIndex == null || coordSysAxesInfo == null) {\n      return;\n    }\n\n    var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n\n    if (!seriesModel) {\n      return;\n    }\n\n    var data = seriesModel.getData();\n    var tooltipCascadedModel = buildTooltipModel([data.getItemModel(dataIndex), seriesModel, (seriesModel.coordinateSystem || {}).model], this._tooltipModel);\n\n    if (tooltipCascadedModel.get('trigger') !== 'axis') {\n      return;\n    }\n\n    api.dispatchAction({\n      type: 'updateAxisPointer',\n      seriesIndex: seriesIndex,\n      dataIndex: dataIndex,\n      position: payload.position\n    });\n    return true;\n  };\n\n  TooltipView.prototype._tryShow = function (e, dispatchAction) {\n    var el = e.target;\n    var tooltipModel = this._tooltipModel;\n\n    if (!tooltipModel) {\n      return;\n    } // Save mouse x, mouse y. So we can try to keep showing the tip if chart is refreshed\n\n\n    this._lastX = e.offsetX;\n    this._lastY = e.offsetY;\n    var dataByCoordSys = e.dataByCoordSys;\n\n    if (dataByCoordSys && dataByCoordSys.length) {\n      this._showAxisTooltip(dataByCoordSys, e);\n    } else if (el) {\n      this._lastDataByCoordSys = null;\n      var seriesDispatcher_1;\n      var cmptDispatcher_1;\n      Object(_util_event_js__WEBPACK_IMPORTED_MODULE_21__[\"findEventDispatcher\"])(el, function (target) {\n        // Always show item tooltip if mouse is on the element with dataIndex\n        if (Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__[\"getECData\"])(target).dataIndex != null) {\n          seriesDispatcher_1 = target;\n          return true;\n        } // Tooltip provided directly. Like legend.\n\n\n        if (Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__[\"getECData\"])(target).tooltipConfig != null) {\n          cmptDispatcher_1 = target;\n          return true;\n        }\n      }, true);\n\n      if (seriesDispatcher_1) {\n        this._showSeriesItemTooltip(e, seriesDispatcher_1, dispatchAction);\n      } else if (cmptDispatcher_1) {\n        this._showComponentItemTooltip(e, cmptDispatcher_1, dispatchAction);\n      } else {\n        this._hide(dispatchAction);\n      }\n    } else {\n      this._lastDataByCoordSys = null;\n\n      this._hide(dispatchAction);\n    }\n  };\n\n  TooltipView.prototype._showOrMove = function (tooltipModel, cb) {\n    // showDelay is used in this case: tooltip.enterable is set\n    // as true. User intent to move mouse into tooltip and click\n    // something. `showDelay` makes it easier to enter the content\n    // but tooltip do not move immediately.\n    var delay = tooltipModel.get('showDelay');\n    cb = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(cb, this);\n    clearTimeout(this._showTimout);\n    delay > 0 ? this._showTimout = setTimeout(cb, delay) : cb();\n  };\n\n  TooltipView.prototype._showAxisTooltip = function (dataByCoordSys, e) {\n    var ecModel = this._ecModel;\n    var globalTooltipModel = this._tooltipModel;\n    var point = [e.offsetX, e.offsetY];\n    var singleTooltipModel = buildTooltipModel([e.tooltipOption], globalTooltipModel);\n    var renderMode = this._renderMode;\n    var cbParamsList = [];\n    var articleMarkup = Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"createTooltipMarkup\"])('section', {\n      blocks: [],\n      noHeader: true\n    }); // Only for legacy: `Serise['formatTooltip']` returns a string.\n\n    var markupTextArrLegacy = [];\n    var markupStyleCreator = new _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"TooltipMarkupStyleCreator\"]();\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(dataByCoordSys, function (itemCoordSys) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(itemCoordSys.dataByAxis, function (axisItem) {\n        var axisModel = ecModel.getComponent(axisItem.axisDim + 'Axis', axisItem.axisIndex);\n        var axisValue = axisItem.value;\n\n        if (!axisModel || axisValue == null) {\n          return;\n        }\n\n        var axisValueLabel = _axisPointer_viewHelper_js__WEBPACK_IMPORTED_MODULE_13__[\"getValueLabel\"](axisValue, axisModel.axis, ecModel, axisItem.seriesDataIndices, axisItem.valueLabelOpt);\n        var axisSectionMarkup = Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"createTooltipMarkup\"])('section', {\n          header: axisValueLabel,\n          noHeader: !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])(axisValueLabel),\n          sortBlocks: true,\n          blocks: []\n        });\n        articleMarkup.blocks.push(axisSectionMarkup);\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(axisItem.seriesDataIndices, function (idxItem) {\n          var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n          var dataIndex = idxItem.dataIndexInside;\n          var cbParams = series.getDataParams(dataIndex); // Can't find data.\n\n          if (cbParams.dataIndex < 0) {\n            return;\n          }\n\n          cbParams.axisDim = axisItem.axisDim;\n          cbParams.axisIndex = axisItem.axisIndex;\n          cbParams.axisType = axisItem.axisType;\n          cbParams.axisId = axisItem.axisId;\n          cbParams.axisValue = _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_12__[\"getAxisRawValue\"](axisModel.axis, {\n            value: axisValue\n          });\n          cbParams.axisValueLabel = axisValueLabel; // Pre-create marker style for makers. Users can assemble richText\n          // text in `formatter` callback and use those markers style.\n\n          cbParams.marker = markupStyleCreator.makeTooltipMarker('item', Object(_util_format_js__WEBPACK_IMPORTED_MODULE_5__[\"convertToColorString\"])(cbParams.color), renderMode);\n          var seriesTooltipResult = Object(_model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_19__[\"normalizeTooltipFormatResult\"])(series.formatTooltip(dataIndex, true, null));\n          var frag = seriesTooltipResult.frag;\n\n          if (frag) {\n            var valueFormatter = buildTooltipModel([series], globalTooltipModel).get('valueFormatter');\n            axisSectionMarkup.blocks.push(valueFormatter ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({\n              valueFormatter: valueFormatter\n            }, frag) : frag);\n          }\n\n          if (seriesTooltipResult.text) {\n            markupTextArrLegacy.push(seriesTooltipResult.text);\n          }\n\n          cbParamsList.push(cbParams);\n        });\n      });\n    }); // In most cases, the second axis is displays upper on the first one.\n    // So we reverse it to look better.\n\n    articleMarkup.blocks.reverse();\n    markupTextArrLegacy.reverse();\n    var positionExpr = e.position;\n    var orderMode = singleTooltipModel.get('order');\n    var builtMarkupText = Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"buildTooltipMarkup\"])(articleMarkup, markupStyleCreator, renderMode, orderMode, ecModel.get('useUTC'), singleTooltipModel.get('textStyle'));\n    builtMarkupText && markupTextArrLegacy.unshift(builtMarkupText);\n    var blockBreak = renderMode === 'richText' ? '\\n\\n' : '<br/>';\n    var allMarkupText = markupTextArrLegacy.join(blockBreak);\n\n    this._showOrMove(singleTooltipModel, function () {\n      if (this._updateContentNotChangedOnAxis(dataByCoordSys, cbParamsList)) {\n        this._updatePosition(singleTooltipModel, positionExpr, point[0], point[1], this._tooltipContent, cbParamsList);\n      } else {\n        this._showTooltipContent(singleTooltipModel, allMarkupText, cbParamsList, Math.random() + '', point[0], point[1], positionExpr, null, markupStyleCreator);\n      }\n    }); // Do not trigger events here, because this branch only be entered\n    // from dispatchAction.\n\n  };\n\n  TooltipView.prototype._showSeriesItemTooltip = function (e, dispatcher, dispatchAction) {\n    var ecModel = this._ecModel;\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__[\"getECData\"])(dispatcher); // Use dataModel in element if possible\n    // Used when mouseover on a element like markPoint or edge\n    // In which case, the data is not main data in series.\n\n    var seriesIndex = ecData.seriesIndex;\n    var seriesModel = ecModel.getSeriesByIndex(seriesIndex); // For example, graph link.\n\n    var dataModel = ecData.dataModel || seriesModel;\n    var dataIndex = ecData.dataIndex;\n    var dataType = ecData.dataType;\n    var data = dataModel.getData(dataType);\n    var renderMode = this._renderMode;\n    var positionDefault = e.positionDefault;\n    var tooltipModel = buildTooltipModel([data.getItemModel(dataIndex), dataModel, seriesModel && (seriesModel.coordinateSystem || {}).model], this._tooltipModel, positionDefault ? {\n      position: positionDefault\n    } : null);\n    var tooltipTrigger = tooltipModel.get('trigger');\n\n    if (tooltipTrigger != null && tooltipTrigger !== 'item') {\n      return;\n    }\n\n    var params = dataModel.getDataParams(dataIndex, dataType);\n    var markupStyleCreator = new _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"TooltipMarkupStyleCreator\"](); // Pre-create marker style for makers. Users can assemble richText\n    // text in `formatter` callback and use those markers style.\n\n    params.marker = markupStyleCreator.makeTooltipMarker('item', Object(_util_format_js__WEBPACK_IMPORTED_MODULE_5__[\"convertToColorString\"])(params.color), renderMode);\n    var seriesTooltipResult = Object(_model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_19__[\"normalizeTooltipFormatResult\"])(dataModel.formatTooltip(dataIndex, false, dataType));\n    var orderMode = tooltipModel.get('order');\n    var valueFormatter = tooltipModel.get('valueFormatter');\n    var frag = seriesTooltipResult.frag;\n    var markupText = frag ? Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"buildTooltipMarkup\"])(valueFormatter ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({\n      valueFormatter: valueFormatter\n    }, frag) : frag, markupStyleCreator, renderMode, orderMode, ecModel.get('useUTC'), tooltipModel.get('textStyle')) : seriesTooltipResult.text;\n    var asyncTicket = 'item_' + dataModel.name + '_' + dataIndex;\n\n    this._showOrMove(tooltipModel, function () {\n      this._showTooltipContent(tooltipModel, markupText, params, asyncTicket, e.offsetX, e.offsetY, e.position, e.target, markupStyleCreator);\n    }); // FIXME\n    // duplicated showtip if manuallyShowTip is called from dispatchAction.\n\n\n    dispatchAction({\n      type: 'showTip',\n      dataIndexInside: dataIndex,\n      dataIndex: data.getRawIndex(dataIndex),\n      seriesIndex: seriesIndex,\n      from: this.uid\n    });\n  };\n\n  TooltipView.prototype._showComponentItemTooltip = function (e, el, dispatchAction) {\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__[\"getECData\"])(el);\n    var tooltipConfig = ecData.tooltipConfig;\n    var tooltipOpt = tooltipConfig.option || {};\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(tooltipOpt)) {\n      var content = tooltipOpt;\n      tooltipOpt = {\n        content: content,\n        // Fixed formatter\n        formatter: content\n      };\n    }\n\n    var tooltipModelCascade = [tooltipOpt];\n\n    var cmpt = this._ecModel.getComponent(ecData.componentMainType, ecData.componentIndex);\n\n    if (cmpt) {\n      tooltipModelCascade.push(cmpt);\n    } // In most cases, component tooltip formatter has different params with series tooltip formatter,\n    // so that they can not share the same formatter. Since the global tooltip formatter is used for series\n    // by convension, we do not use it as the default formatter for component.\n\n\n    tooltipModelCascade.push({\n      formatter: tooltipOpt.content\n    });\n    var positionDefault = e.positionDefault;\n    var subTooltipModel = buildTooltipModel(tooltipModelCascade, this._tooltipModel, positionDefault ? {\n      position: positionDefault\n    } : null);\n    var defaultHtml = subTooltipModel.get('content');\n    var asyncTicket = Math.random() + ''; // PENDING: this case do not support richText style yet.\n\n    var markupStyleCreator = new _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_20__[\"TooltipMarkupStyleCreator\"](); // Do not check whether `trigger` is 'none' here, because `trigger`\n    // only works on coordinate system. In fact, we have not found case\n    // that requires setting `trigger` nothing on component yet.\n\n    this._showOrMove(subTooltipModel, function () {\n      // Use formatterParams from element defined in component\n      // Avoid users modify it.\n      var formatterParams = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(subTooltipModel.get('formatterParams') || {});\n\n      this._showTooltipContent(subTooltipModel, defaultHtml, formatterParams, asyncTicket, e.offsetX, e.offsetY, e.position, el, markupStyleCreator);\n    }); // If not dispatch showTip, tip may be hide triggered by axis.\n\n\n    dispatchAction({\n      type: 'showTip',\n      from: this.uid\n    });\n  };\n\n  TooltipView.prototype._showTooltipContent = function ( // Use Model<TooltipOption> insteadof TooltipModel because this model may be from series or other options.\n  // Instead of top level tooltip.\n  tooltipModel, defaultHtml, params, asyncTicket, x, y, positionExpr, el, markupStyleCreator) {\n    // Reset ticket\n    this._ticket = '';\n\n    if (!tooltipModel.get('showContent') || !tooltipModel.get('show')) {\n      return;\n    }\n\n    var tooltipContent = this._tooltipContent;\n    tooltipContent.setEnterable(tooltipModel.get('enterable'));\n    var formatter = tooltipModel.get('formatter');\n    positionExpr = positionExpr || tooltipModel.get('position');\n    var html = defaultHtml;\n\n    var nearPoint = this._getNearestPoint([x, y], params, tooltipModel.get('trigger'), tooltipModel.get('borderColor'));\n\n    var nearPointColor = nearPoint.color;\n\n    if (formatter) {\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(formatter)) {\n        var useUTC = tooltipModel.ecModel.get('useUTC');\n        var params0 = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(params) ? params[0] : params;\n        var isTimeAxis = params0 && params0.axisType && params0.axisType.indexOf('time') >= 0;\n        html = formatter;\n\n        if (isTimeAxis) {\n          html = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_16__[\"format\"])(params0.axisValue, html, useUTC);\n        }\n\n        html = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_5__[\"formatTpl\"])(html, params, true);\n      } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(formatter)) {\n        var callback = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(function (cbTicket, html) {\n          if (cbTicket === this._ticket) {\n            tooltipContent.setContent(html, markupStyleCreator, tooltipModel, nearPointColor, positionExpr);\n\n            this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n          }\n        }, this);\n        this._ticket = asyncTicket;\n        html = formatter(params, asyncTicket, callback);\n      } else {\n        html = formatter;\n      }\n    }\n\n    tooltipContent.setContent(html, markupStyleCreator, tooltipModel, nearPointColor, positionExpr);\n    tooltipContent.show(tooltipModel, nearPointColor);\n\n    this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n  };\n\n  TooltipView.prototype._getNearestPoint = function (point, tooltipDataParams, trigger, borderColor) {\n    if (trigger === 'axis' || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(tooltipDataParams)) {\n      return {\n        color: borderColor || (this._renderMode === 'html' ? '#fff' : 'none')\n      };\n    }\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(tooltipDataParams)) {\n      return {\n        color: borderColor || tooltipDataParams.color || tooltipDataParams.borderColor\n      };\n    }\n  };\n\n  TooltipView.prototype._updatePosition = function (tooltipModel, positionExpr, x, // Mouse x\n  y, // Mouse y\n  content, params, el) {\n    var viewWidth = this._api.getWidth();\n\n    var viewHeight = this._api.getHeight();\n\n    positionExpr = positionExpr || tooltipModel.get('position');\n    var contentSize = content.getSize();\n    var align = tooltipModel.get('align');\n    var vAlign = tooltipModel.get('verticalAlign');\n    var rect = el && el.getBoundingRect().clone();\n    el && rect.applyTransform(el.transform);\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(positionExpr)) {\n      // Callback of position can be an array or a string specify the position\n      positionExpr = positionExpr([x, y], params, content.el, rect, {\n        viewSize: [viewWidth, viewHeight],\n        contentSize: contentSize.slice()\n      });\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(positionExpr)) {\n      x = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(positionExpr[0], viewWidth);\n      y = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"parsePercent\"])(positionExpr[1], viewHeight);\n    } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(positionExpr)) {\n      var boxLayoutPosition = positionExpr;\n      boxLayoutPosition.width = contentSize[0];\n      boxLayoutPosition.height = contentSize[1];\n      var layoutRect = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_9__[\"getLayoutRect\"])(boxLayoutPosition, {\n        width: viewWidth,\n        height: viewHeight\n      });\n      x = layoutRect.x;\n      y = layoutRect.y;\n      align = null; // When positionExpr is left/top/right/bottom,\n      // align and verticalAlign will not work.\n\n      vAlign = null;\n    } // Specify tooltip position by string 'top' 'bottom' 'left' 'right' around graphic element\n    else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(positionExpr) && el) {\n        var pos = calcTooltipPosition(positionExpr, rect, contentSize, tooltipModel.get('borderWidth'));\n        x = pos[0];\n        y = pos[1];\n      } else {\n        var pos = refixTooltipPosition(x, y, content, viewWidth, viewHeight, align ? null : 20, vAlign ? null : 20);\n        x = pos[0];\n        y = pos[1];\n      }\n\n    align && (x -= isCenterAlign(align) ? contentSize[0] / 2 : align === 'right' ? contentSize[0] : 0);\n    vAlign && (y -= isCenterAlign(vAlign) ? contentSize[1] / 2 : vAlign === 'bottom' ? contentSize[1] : 0);\n\n    if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_18__[\"shouldTooltipConfine\"])(tooltipModel)) {\n      var pos = confineTooltipPosition(x, y, content, viewWidth, viewHeight);\n      x = pos[0];\n      y = pos[1];\n    }\n\n    content.moveTo(x, y);\n  }; // FIXME\n  // Should we remove this but leave this to user?\n\n\n  TooltipView.prototype._updateContentNotChangedOnAxis = function (dataByCoordSys, cbParamsList) {\n    var lastCoordSys = this._lastDataByCoordSys;\n    var lastCbParamsList = this._cbParamsList;\n    var contentNotChanged = !!lastCoordSys && lastCoordSys.length === dataByCoordSys.length;\n    contentNotChanged && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(lastCoordSys, function (lastItemCoordSys, indexCoordSys) {\n      var lastDataByAxis = lastItemCoordSys.dataByAxis || [];\n      var thisItemCoordSys = dataByCoordSys[indexCoordSys] || {};\n      var thisDataByAxis = thisItemCoordSys.dataByAxis || [];\n      contentNotChanged = contentNotChanged && lastDataByAxis.length === thisDataByAxis.length;\n      contentNotChanged && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(lastDataByAxis, function (lastItem, indexAxis) {\n        var thisItem = thisDataByAxis[indexAxis] || {};\n        var lastIndices = lastItem.seriesDataIndices || [];\n        var newIndices = thisItem.seriesDataIndices || [];\n        contentNotChanged = contentNotChanged && lastItem.value === thisItem.value && lastItem.axisType === thisItem.axisType && lastItem.axisId === thisItem.axisId && lastIndices.length === newIndices.length;\n        contentNotChanged && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(lastIndices, function (lastIdxItem, j) {\n          var newIdxItem = newIndices[j];\n          contentNotChanged = contentNotChanged && lastIdxItem.seriesIndex === newIdxItem.seriesIndex && lastIdxItem.dataIndex === newIdxItem.dataIndex;\n        }); // check is cbParams data value changed\n\n        lastCbParamsList && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(lastItem.seriesDataIndices, function (idxItem) {\n          var seriesIdx = idxItem.seriesIndex;\n          var cbParams = cbParamsList[seriesIdx];\n          var lastCbParams = lastCbParamsList[seriesIdx];\n\n          if (cbParams && lastCbParams && lastCbParams.data !== cbParams.data) {\n            contentNotChanged = false;\n          }\n        });\n      });\n    });\n    this._lastDataByCoordSys = dataByCoordSys;\n    this._cbParamsList = cbParamsList;\n    return !!contentNotChanged;\n  };\n\n  TooltipView.prototype._hide = function (dispatchAction) {\n    // Do not directly hideLater here, because this behavior may be prevented\n    // in dispatchAction when showTip is dispatched.\n    // FIXME\n    // duplicated hideTip if manuallyHideTip is called from dispatchAction.\n    this._lastDataByCoordSys = null;\n    dispatchAction({\n      type: 'hideTip',\n      from: this.uid\n    });\n  };\n\n  TooltipView.prototype.dispose = function (ecModel, api) {\n    if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].node || !api.getDom()) {\n      return;\n    }\n\n    Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_22__[\"clear\"])(this, '_updatePosition');\n\n    this._tooltipContent.dispose();\n\n    _axisPointer_globalListener_js__WEBPACK_IMPORTED_MODULE_11__[\"unregister\"]('itemTooltip', api);\n  };\n\n  TooltipView.type = 'tooltip';\n  return TooltipView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\n/**\n * From top to bottom. (the last one should be globalTooltipModel);\n */\n\n\nfunction buildTooltipModel(modelCascade, globalTooltipModel, defaultTooltipOption) {\n  // Last is always tooltip model.\n  var ecModel = globalTooltipModel.ecModel;\n  var resultModel;\n\n  if (defaultTooltipOption) {\n    resultModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"](defaultTooltipOption, ecModel, ecModel);\n    resultModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"](globalTooltipModel.option, resultModel, ecModel);\n  } else {\n    resultModel = globalTooltipModel;\n  }\n\n  for (var i = modelCascade.length - 1; i >= 0; i--) {\n    var tooltipOpt = modelCascade[i];\n\n    if (tooltipOpt) {\n      if (tooltipOpt instanceof _model_Model_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]) {\n        tooltipOpt = tooltipOpt.get('tooltip', true);\n      } // In each data item tooltip can be simply write:\n      // {\n      //  value: 10,\n      //  tooltip: 'Something you need to know'\n      // }\n\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(tooltipOpt)) {\n        tooltipOpt = {\n          formatter: tooltipOpt\n        };\n      }\n\n      if (tooltipOpt) {\n        resultModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"](tooltipOpt, resultModel, ecModel);\n      }\n    }\n  }\n\n  return resultModel;\n}\n\nfunction makeDispatchAction(payload, api) {\n  return payload.dispatchAction || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"])(api.dispatchAction, api);\n}\n\nfunction refixTooltipPosition(x, y, content, viewWidth, viewHeight, gapH, gapV) {\n  var size = content.getSize();\n  var width = size[0];\n  var height = size[1];\n\n  if (gapH != null) {\n    // Add extra 2 pixels for this case:\n    // At present the \"values\" in defaut tooltip are using CSS `float: right`.\n    // When the right edge of the tooltip box is on the right side of the\n    // viewport, the `float` layout might push the \"values\" to the second line.\n    if (x + width + gapH + 2 > viewWidth) {\n      x -= width + gapH;\n    } else {\n      x += gapH;\n    }\n  }\n\n  if (gapV != null) {\n    if (y + height + gapV > viewHeight) {\n      y -= height + gapV;\n    } else {\n      y += gapV;\n    }\n  }\n\n  return [x, y];\n}\n\nfunction confineTooltipPosition(x, y, content, viewWidth, viewHeight) {\n  var size = content.getSize();\n  var width = size[0];\n  var height = size[1];\n  x = Math.min(x + width, viewWidth) - width;\n  y = Math.min(y + height, viewHeight) - height;\n  x = Math.max(x, 0);\n  y = Math.max(y, 0);\n  return [x, y];\n}\n\nfunction calcTooltipPosition(position, rect, contentSize, borderWidth) {\n  var domWidth = contentSize[0];\n  var domHeight = contentSize[1];\n  var offset = Math.ceil(Math.SQRT2 * borderWidth) + 8;\n  var x = 0;\n  var y = 0;\n  var rectWidth = rect.width;\n  var rectHeight = rect.height;\n\n  switch (position) {\n    case 'inside':\n      x = rect.x + rectWidth / 2 - domWidth / 2;\n      y = rect.y + rectHeight / 2 - domHeight / 2;\n      break;\n\n    case 'top':\n      x = rect.x + rectWidth / 2 - domWidth / 2;\n      y = rect.y - domHeight - offset;\n      break;\n\n    case 'bottom':\n      x = rect.x + rectWidth / 2 - domWidth / 2;\n      y = rect.y + rectHeight + offset;\n      break;\n\n    case 'left':\n      x = rect.x - domWidth - offset;\n      y = rect.y + rectHeight / 2 - domHeight / 2;\n      break;\n\n    case 'right':\n      x = rect.x + rectWidth + offset;\n      y = rect.y + rectHeight / 2 - domHeight / 2;\n  }\n\n  return [x, y];\n}\n\nfunction isCenterAlign(align) {\n  return align === 'center' || align === 'middle';\n}\n/**\n * Find target component by payload like:\n * ```js\n * { legendId: 'some_id', name: 'xxx' }\n * { toolboxIndex: 1, name: 'xxx' }\n * { geoName: 'some_name', name: 'xxx' }\n * ```\n * PENDING: at present only\n *\n * If not found, return null/undefined.\n */\n\n\nfunction findComponentReference(payload, ecModel, api) {\n  var queryOptionMap = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_14__[\"preParseFinder\"])(payload).queryOptionMap;\n  var componentMainType = queryOptionMap.keys()[0];\n\n  if (!componentMainType || componentMainType === 'series') {\n    return;\n  }\n\n  var queryResult = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_14__[\"queryReferringComponents\"])(ecModel, componentMainType, queryOptionMap.get(componentMainType), {\n    useDefault: false,\n    enableAll: false,\n    enableNone: false\n  });\n  var model = queryResult.models[0];\n\n  if (!model) {\n    return;\n  }\n\n  var view = api.getViewOfComponentModel(model);\n  var el;\n  view.group.traverse(function (subEl) {\n    var tooltipConfig = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_17__[\"getECData\"])(subEl).tooltipConfig;\n\n    if (tooltipConfig && tooltipConfig.name === payload.name) {\n      el = subEl;\n      return true; // stop\n    }\n  });\n\n  if (el) {\n    return {\n      componentMainType: componentMainType,\n      componentIndex: model.componentIndex,\n      el: el\n    };\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TooltipView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/TooltipView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/helper.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/helper.js ***!
  \**************************************************************/
/*! exports provided: shouldTooltipConfine, TRANSFORM_VENDOR, TRANSITION_VENDOR, toCSSVendorPrefix, getComputedStyle */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shouldTooltipConfine\", function() { return shouldTooltipConfine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRANSFORM_VENDOR\", function() { return TRANSFORM_VENDOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRANSITION_VENDOR\", function() { return TRANSITION_VENDOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCSSVendorPrefix\", function() { return toCSSVendorPrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getComputedStyle\", function() { return getComputedStyle; });\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/* global document */\n\nfunction shouldTooltipConfine(tooltipModel) {\n  var confineOption = tooltipModel.get('confine');\n  return confineOption != null ? !!confineOption // In richText mode, the outside part can not be visible.\n  : tooltipModel.get('renderMode') === 'richText';\n}\n\nfunction testStyle(styleProps) {\n  if (!zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].domSupported) {\n    return;\n  }\n\n  var style = document.documentElement.style;\n\n  for (var i = 0, len = styleProps.length; i < len; i++) {\n    if (styleProps[i] in style) {\n      return styleProps[i];\n    }\n  }\n}\n\nvar TRANSFORM_VENDOR = testStyle(['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform']);\nvar TRANSITION_VENDOR = testStyle(['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']);\nfunction toCSSVendorPrefix(styleVendor, styleProp) {\n  if (!styleVendor) {\n    return styleProp;\n  }\n\n  styleProp = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"toCamelCase\"])(styleProp, true);\n  var idx = styleVendor.indexOf(styleProp);\n  styleVendor = idx === -1 ? styleProp : \"-\" + styleVendor.slice(0, idx) + \"-\" + styleProp;\n  return styleVendor.toLowerCase();\n}\nfunction getComputedStyle(el, style) {\n  var stl = el.currentStyle || document.defaultView && document.defaultView.getComputedStyle(el);\n  return stl ? style ? stl[style] : stl : null;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/install.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/install.js ***!
  \***************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _axisPointer_install_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../axisPointer/install.js */ \"./node_modules/echarts/lib/component/axisPointer/install.js\");\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _TooltipModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TooltipModel.js */ \"./node_modules/echarts/lib/component/tooltip/TooltipModel.js\");\n/* harmony import */ var _TooltipView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TooltipView.js */ \"./node_modules/echarts/lib/component/tooltip/TooltipView.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_1__[\"use\"])(_axisPointer_install_js__WEBPACK_IMPORTED_MODULE_0__[\"install\"]);\n  registers.registerComponentModel(_TooltipModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  registers.registerComponentView(_TooltipView_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  /**\n   * @action\n   * @property {string} type\n   * @property {number} seriesIndex\n   * @property {number} dataIndex\n   * @property {number} [x]\n   * @property {number} [y]\n   */\n\n  registers.registerAction({\n    type: 'showTip',\n    event: 'showTip',\n    update: 'tooltip:manuallyShowTip'\n  }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"noop\"]);\n  registers.registerAction({\n    type: 'hideTip',\n    event: 'hideTip',\n    update: 'tooltip:manuallyHideTip'\n  }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"noop\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js ***!
  \***************************************************************************/
/*! exports provided: defaultSeriesFormatTooltip */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultSeriesFormatTooltip\", function() { return defaultSeriesFormatTooltip; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tooltipMarkup.js */ \"./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js\");\n/* harmony import */ var _data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/helper/dataProvider.js */ \"./node_modules/echarts/lib/data/helper/dataProvider.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction defaultSeriesFormatTooltip(opt) {\n  var series = opt.series;\n  var dataIndex = opt.dataIndex;\n  var multipleSeries = opt.multipleSeries;\n  var data = series.getData();\n  var tooltipDims = data.mapDimensionsAll('defaultedTooltip');\n  var tooltipDimLen = tooltipDims.length;\n  var value = series.getRawValue(dataIndex);\n  var isValueArr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(value);\n  var markerColor = Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieveVisualColorForTooltipMarker\"])(series, dataIndex); // Complicated rule for pretty tooltip.\n\n  var inlineValue;\n  var inlineValueType;\n  var subBlocks;\n  var sortParam;\n\n  if (tooltipDimLen > 1 || isValueArr && !tooltipDimLen) {\n    var formatArrResult = formatTooltipArrayValue(value, series, dataIndex, tooltipDims, markerColor);\n    inlineValue = formatArrResult.inlineValues;\n    inlineValueType = formatArrResult.inlineValueTypes;\n    subBlocks = formatArrResult.blocks; // Only support tooltip sort by the first inline value. It's enough in most cases.\n\n    sortParam = formatArrResult.inlineValues[0];\n  } else if (tooltipDimLen) {\n    var dimInfo = data.getDimensionInfo(tooltipDims[0]);\n    sortParam = inlineValue = Object(_data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieveRawValue\"])(data, dataIndex, tooltipDims[0]);\n    inlineValueType = dimInfo.type;\n  } else {\n    sortParam = inlineValue = isValueArr ? value[0] : value;\n  } // Do not show generated series name. It might not be readable.\n\n\n  var seriesNameSpecified = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"isNameSpecified\"])(series);\n  var seriesName = seriesNameSpecified && series.name || '';\n  var itemName = data.getName(dataIndex);\n  var inlineName = multipleSeries ? seriesName : itemName;\n  return Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_1__[\"createTooltipMarkup\"])('section', {\n    header: seriesName,\n    // When series name not specified, do not show a header line with only '-'.\n    // This case alway happen in tooltip.trigger: 'item'.\n    noHeader: multipleSeries || !seriesNameSpecified,\n    sortParam: sortParam,\n    blocks: [Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_1__[\"createTooltipMarkup\"])('nameValue', {\n      markerType: 'item',\n      markerColor: markerColor,\n      // Do not mix display seriesName and itemName in one tooltip,\n      // which might confuses users.\n      name: inlineName,\n      // name dimension might be auto assigned, where the name might\n      // be not readable. So we check trim here.\n      noName: !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"trim\"])(inlineName),\n      value: inlineValue,\n      valueType: inlineValueType\n    })].concat(subBlocks || [])\n  });\n}\n\nfunction formatTooltipArrayValue(value, series, dataIndex, tooltipDims, colorStr) {\n  // check: category-no-encode-has-axis-data in dataset.html\n  var data = series.getData();\n  var isValueMultipleLine = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"])(value, function (isValueMultipleLine, val, idx) {\n    var dimItem = data.getDimensionInfo(idx);\n    return isValueMultipleLine = isValueMultipleLine || dimItem && dimItem.tooltip !== false && dimItem.displayName != null;\n  }, false);\n  var inlineValues = [];\n  var inlineValueTypes = [];\n  var blocks = [];\n  tooltipDims.length ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(tooltipDims, function (dim) {\n    setEachItem(Object(_data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieveRawValue\"])(data, dataIndex, dim), dim);\n  }) // By default, all dims is used on tooltip.\n  : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(value, setEachItem);\n\n  function setEachItem(val, dim) {\n    var dimInfo = data.getDimensionInfo(dim); // If `dimInfo.tooltip` is not set, show tooltip.\n\n    if (!dimInfo || dimInfo.otherDims.tooltip === false) {\n      return;\n    }\n\n    if (isValueMultipleLine) {\n      blocks.push(Object(_tooltipMarkup_js__WEBPACK_IMPORTED_MODULE_1__[\"createTooltipMarkup\"])('nameValue', {\n        markerType: 'subItem',\n        markerColor: colorStr,\n        name: dimInfo.displayName,\n        value: val,\n        valueType: dimInfo.type\n      }));\n    } else {\n      inlineValues.push(val);\n      inlineValueTypes.push(dimInfo.type);\n    }\n  }\n\n  return {\n    inlineValues: inlineValues,\n    inlineValueTypes: inlineValueTypes,\n    blocks: blocks\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js ***!
  \*********************************************************************/
/*! exports provided: createTooltipMarkup, buildTooltipMarkup, retrieveVisualColorForTooltipMarker, getPaddingFromTooltipModel, TooltipMarkupStyleCreator */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTooltipMarkup\", function() { return createTooltipMarkup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildTooltipMarkup\", function() { return buildTooltipMarkup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieveVisualColorForTooltipMarker\", function() { return retrieveVisualColorForTooltipMarker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPaddingFromTooltipModel\", function() { return getPaddingFromTooltipModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TooltipMarkupStyleCreator\", function() { return TooltipMarkupStyleCreator; });\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/helper/dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar TOOLTIP_LINE_HEIGHT_CSS = 'line-height:1'; // TODO: more textStyle option\n\nfunction getTooltipTextStyle(textStyle, renderMode) {\n  var nameFontColor = textStyle.color || '#6e7079';\n  var nameFontSize = textStyle.fontSize || 12;\n  var nameFontWeight = textStyle.fontWeight || '400';\n  var valueFontColor = textStyle.color || '#464646';\n  var valueFontSize = textStyle.fontSize || 14;\n  var valueFontWeight = textStyle.fontWeight || '900';\n\n  if (renderMode === 'html') {\n    // `textStyle` is probably from user input, should be encoded to reduce security risk.\n    return {\n      // eslint-disable-next-line max-len\n      nameStyle: \"font-size:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(nameFontSize + '') + \"px;color:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(nameFontColor) + \";font-weight:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(nameFontWeight + ''),\n      // eslint-disable-next-line max-len\n      valueStyle: \"font-size:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(valueFontSize + '') + \"px;color:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(valueFontColor) + \";font-weight:\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(valueFontWeight + '')\n    };\n  } else {\n    return {\n      nameStyle: {\n        fontSize: nameFontSize,\n        fill: nameFontColor,\n        fontWeight: nameFontWeight\n      },\n      valueStyle: {\n        fontSize: valueFontSize,\n        fill: valueFontColor,\n        fontWeight: valueFontWeight\n      }\n    };\n  }\n} // See `TooltipMarkupLayoutIntent['innerGapLevel']`.\n// (value from UI design)\n\n\nvar HTML_GAPS = [0, 10, 20, 30];\nvar RICH_TEXT_GAPS = ['', '\\n', '\\n\\n', '\\n\\n\\n']; // eslint-disable-next-line max-len\n\nfunction createTooltipMarkup(type, option) {\n  option.type = type;\n  return option;\n}\n\nfunction isSectionFragment(frag) {\n  return frag.type === 'section';\n}\n\nfunction getBuilder(frag) {\n  return isSectionFragment(frag) ? buildSection : buildNameValue;\n}\n\nfunction getBlockGapLevel(frag) {\n  if (isSectionFragment(frag)) {\n    var gapLevel_1 = 0;\n    var subBlockLen = frag.blocks.length;\n    var hasInnerGap_1 = subBlockLen > 1 || subBlockLen > 0 && !frag.noHeader;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(frag.blocks, function (subBlock) {\n      var subGapLevel = getBlockGapLevel(subBlock); // If the some of the sub-blocks have some gaps (like 10px) inside, this block\n      // should use a larger gap (like 20px) to distinguish those sub-blocks.\n\n      if (subGapLevel >= gapLevel_1) {\n        gapLevel_1 = subGapLevel + +(hasInnerGap_1 && ( // 0 always can not be readable gap level.\n        !subGapLevel // If no header, always keep the sub gap level. Otherwise\n        // look weird in case `multipleSeries`.\n        || isSectionFragment(subBlock) && !subBlock.noHeader));\n      }\n    });\n    return gapLevel_1;\n  }\n\n  return 0;\n}\n\nfunction buildSection(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {\n  var noHeader = fragment.noHeader;\n  var gaps = getGap(getBlockGapLevel(fragment));\n  var subMarkupTextList = [];\n  var subBlocks = fragment.blocks || [];\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(!subBlocks || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(subBlocks));\n  subBlocks = subBlocks || [];\n  var orderMode = ctx.orderMode;\n\n  if (fragment.sortBlocks && orderMode) {\n    subBlocks = subBlocks.slice();\n    var orderMap = {\n      valueAsc: 'asc',\n      valueDesc: 'desc'\n    };\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(orderMap, orderMode)) {\n      var comparator_1 = new _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"SortOrderComparator\"](orderMap[orderMode], null);\n      subBlocks.sort(function (a, b) {\n        return comparator_1.evaluate(a.sortParam, b.sortParam);\n      });\n    } // FIXME 'seriesDesc' necessary?\n    else if (orderMode === 'seriesDesc') {\n        subBlocks.reverse();\n      }\n  }\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(subBlocks, function (subBlock, idx) {\n    var valueFormatter = fragment.valueFormatter;\n    var subMarkupText = getBuilder(subBlock)( // Inherit valueFormatter\n    valueFormatter ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, ctx), {\n      valueFormatter: valueFormatter\n    }) : ctx, subBlock, idx > 0 ? gaps.html : 0, toolTipTextStyle);\n    subMarkupText != null && subMarkupTextList.push(subMarkupText);\n  });\n  var subMarkupText = ctx.renderMode === 'richText' ? subMarkupTextList.join(gaps.richText) : wrapBlockHTML(subMarkupTextList.join(''), noHeader ? topMarginForOuterGap : gaps.html);\n\n  if (noHeader) {\n    return subMarkupText;\n  }\n\n  var displayableHeader = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"makeValueReadable\"])(fragment.header, 'ordinal', ctx.useUTC);\n  var nameStyle = getTooltipTextStyle(toolTipTextStyle, ctx.renderMode).nameStyle;\n\n  if (ctx.renderMode === 'richText') {\n    return wrapInlineNameRichText(ctx, displayableHeader, nameStyle) + gaps.richText + subMarkupText;\n  } else {\n    return wrapBlockHTML(\"<div style=\\\"\" + nameStyle + \";\" + TOOLTIP_LINE_HEIGHT_CSS + \";\\\">\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(displayableHeader) + '</div>' + subMarkupText, topMarginForOuterGap);\n  }\n}\n\nfunction buildNameValue(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {\n  var renderMode = ctx.renderMode;\n  var noName = fragment.noName;\n  var noValue = fragment.noValue;\n  var noMarker = !fragment.markerType;\n  var name = fragment.name;\n  var useUTC = ctx.useUTC;\n\n  var valueFormatter = fragment.valueFormatter || ctx.valueFormatter || function (value) {\n    value = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(value) ? value : [value];\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(value, function (val, idx) {\n      return Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"makeValueReadable\"])(val, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(valueTypeOption) ? valueTypeOption[idx] : valueTypeOption, useUTC);\n    });\n  };\n\n  if (noName && noValue) {\n    return;\n  }\n\n  var markerStr = noMarker ? '' : ctx.markupStyleCreator.makeTooltipMarker(fragment.markerType, fragment.markerColor || '#333', renderMode);\n  var readableName = noName ? '' : Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"makeValueReadable\"])(name, 'ordinal', useUTC);\n  var valueTypeOption = fragment.valueType;\n  var readableValueList = noValue ? [] : valueFormatter(fragment.value);\n  var valueAlignRight = !noMarker || !noName; // It little weird if only value next to marker but far from marker.\n\n  var valueCloseToMarker = !noMarker && noName;\n\n  var _a = getTooltipTextStyle(toolTipTextStyle, renderMode),\n      nameStyle = _a.nameStyle,\n      valueStyle = _a.valueStyle;\n\n  return renderMode === 'richText' ? (noMarker ? '' : markerStr) + (noName ? '' : wrapInlineNameRichText(ctx, readableName, nameStyle)) // Value has commas inside, so use ' ' as delimiter for multiple values.\n  + (noValue ? '' : wrapInlineValueRichText(ctx, readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)) : wrapBlockHTML((noMarker ? '' : markerStr) + (noName ? '' : wrapInlineNameHTML(readableName, !noMarker, nameStyle)) + (noValue ? '' : wrapInlineValueHTML(readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)), topMarginForOuterGap);\n}\n/**\n * @return markupText. null/undefined means no content.\n */\n\n\nfunction buildTooltipMarkup(fragment, markupStyleCreator, renderMode, orderMode, useUTC, toolTipTextStyle) {\n  if (!fragment) {\n    return;\n  }\n\n  var builder = getBuilder(fragment);\n  var ctx = {\n    useUTC: useUTC,\n    renderMode: renderMode,\n    orderMode: orderMode,\n    markupStyleCreator: markupStyleCreator,\n    valueFormatter: fragment.valueFormatter\n  };\n  return builder(ctx, fragment, 0, toolTipTextStyle);\n}\n\nfunction getGap(gapLevel) {\n  return {\n    html: HTML_GAPS[gapLevel],\n    richText: RICH_TEXT_GAPS[gapLevel]\n  };\n}\n\nfunction wrapBlockHTML(encodedContent, topGap) {\n  var clearfix = '<div style=\"clear:both\"></div>';\n  var marginCSS = \"margin: \" + topGap + \"px 0 0\";\n  return \"<div style=\\\"\" + marginCSS + \";\" + TOOLTIP_LINE_HEIGHT_CSS + \";\\\">\" + encodedContent + clearfix + '</div>';\n}\n\nfunction wrapInlineNameHTML(name, leftHasMarker, style) {\n  var marginCss = leftHasMarker ? 'margin-left:2px' : '';\n  return \"<span style=\\\"\" + style + \";\" + marginCss + \"\\\">\" + Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(name) + '</span>';\n}\n\nfunction wrapInlineValueHTML(valueList, alignRight, valueCloseToMarker, style) {\n  // Do not too close to marker, considering there are multiple values separated by spaces.\n  var paddingStr = valueCloseToMarker ? '10px' : '20px';\n  var alignCSS = alignRight ? \"float:right;margin-left:\" + paddingStr : '';\n  valueList = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(valueList) ? valueList : [valueList];\n  return \"<span style=\\\"\" + alignCSS + \";\" + style + \"\\\">\" // Value has commas inside, so use '  ' as delimiter for multiple values.\n  + Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(valueList, function (value) {\n    return Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"])(value);\n  }).join('&nbsp;&nbsp;') + '</span>';\n}\n\nfunction wrapInlineNameRichText(ctx, name, style) {\n  return ctx.markupStyleCreator.wrapRichTextStyle(name, style);\n}\n\nfunction wrapInlineValueRichText(ctx, values, alignRight, valueCloseToMarker, style) {\n  var styles = [style];\n  var paddingLeft = valueCloseToMarker ? 10 : 20;\n  alignRight && styles.push({\n    padding: [0, 0, 0, paddingLeft],\n    align: 'right'\n  }); // Value has commas inside, so use '  ' as delimiter for multiple values.\n\n  return ctx.markupStyleCreator.wrapRichTextStyle(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(values) ? values.join('  ') : values, styles);\n}\n\nfunction retrieveVisualColorForTooltipMarker(series, dataIndex) {\n  var style = series.getData().getItemVisual(dataIndex, 'style');\n  var color = style[series.visualDrawType];\n  return Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"convertToColorString\"])(color);\n}\nfunction getPaddingFromTooltipModel(model, renderMode) {\n  var padding = model.get('padding');\n  return padding != null ? padding // We give slightly different to look pretty.\n  : renderMode === 'richText' ? [8, 10] : 10;\n}\n/**\n * The major feature is generate styles for `renderMode: 'richText'`.\n * But it also serves `renderMode: 'html'` to provide\n * \"renderMode-independent\" API.\n */\n\nvar TooltipMarkupStyleCreator =\n/** @class */\nfunction () {\n  function TooltipMarkupStyleCreator() {\n    this.richTextStyles = {}; // Notice that \"generate a style name\" usuall happens repeatly when mouse moving and\n    // displaying a tooltip. So we put the `_nextStyleNameId` as a member of each creator\n    // rather than static shared by all creators (which will cause it increase to fast).\n\n    this._nextStyleNameId = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"getRandomIdBase\"])();\n  }\n\n  TooltipMarkupStyleCreator.prototype._generateStyleName = function () {\n    return '__EC_aUTo_' + this._nextStyleNameId++;\n  };\n\n  TooltipMarkupStyleCreator.prototype.makeTooltipMarker = function (markerType, colorStr, renderMode) {\n    var markerId = renderMode === 'richText' ? this._generateStyleName() : null;\n    var marker = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"getTooltipMarker\"])({\n      color: colorStr,\n      type: markerType,\n      renderMode: renderMode,\n      markerId: markerId\n    });\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(marker)) {\n      return marker;\n    } else {\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(markerId);\n      }\n\n      this.richTextStyles[markerId] = marker.style;\n      return marker.content;\n    }\n  };\n  /**\n   * @usage\n   * ```ts\n   * const styledText = markupStyleCreator.wrapRichTextStyle([\n   *     // The styles will be auto merged.\n   *     {\n   *         fontSize: 12,\n   *         color: 'blue'\n   *     },\n   *     {\n   *         padding: 20\n   *     }\n   * ]);\n   * ```\n   */\n\n\n  TooltipMarkupStyleCreator.prototype.wrapRichTextStyle = function (text, styles) {\n    var finalStl = {};\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(styles)) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(styles, function (stl) {\n        return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(finalStl, stl);\n      });\n    } else {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(finalStl, styles);\n    }\n\n    var styleName = this._generateStyleName();\n\n    this.richTextStyles[styleName] = finalStl;\n    return \"{\" + styleName + \"|\" + text + \"}\";\n  };\n\n  return TooltipMarkupStyleCreator;\n}();\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/tooltipMarkup.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/transform/filterTransform.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/transform/filterTransform.js ***!
  \*************************************************************************/
/*! exports provided: filterTransform */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filterTransform\", function() { return filterTransform; });\n/* harmony import */ var _util_conditionalExpression_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/conditionalExpression.js */ \"./node_modules/echarts/lib/util/conditionalExpression.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar filterTransform = {\n  type: 'echarts:filter',\n  // PEDING: enhance to filter by index rather than create new data\n  transform: function (params) {\n    // [Caveat] Fail-Fast:\n    // Do not return the whole dataset unless user config indicate it explicitly.\n    // For example, if no condition specified by mistake, return an empty result\n    // is better than return the entire raw soruce for user to find the mistake.\n    var upstream = params.upstream;\n    var rawItem;\n    var condition = Object(_util_conditionalExpression_js__WEBPACK_IMPORTED_MODULE_0__[\"parseConditionalExpression\"])(params.config, {\n      valueGetterAttrMap: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])({\n        dimension: true\n      }),\n      prepareGetValue: function (exprOption) {\n        var errMsg = '';\n        var dimLoose = exprOption.dimension;\n\n        if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(exprOption, 'dimension')) {\n          if (true) {\n            errMsg = Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"makePrintable\"])('Relation condition must has prop \"dimension\" specified.', 'Illegal condition:', exprOption);\n          }\n\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"throwError\"])(errMsg);\n        }\n\n        var dimInfo = upstream.getDimensionInfo(dimLoose);\n\n        if (!dimInfo) {\n          if (true) {\n            errMsg = Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"makePrintable\"])('Can not find dimension info via: ' + dimLoose + '.\\n', 'Existing dimensions: ', upstream.cloneAllDimensionInfo(), '.\\n', 'Illegal condition:', exprOption, '.\\n');\n          }\n\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"throwError\"])(errMsg);\n        }\n\n        return {\n          dimIdx: dimInfo.index\n        };\n      },\n      getValue: function (param) {\n        return upstream.retrieveValueFromItem(rawItem, param.dimIdx);\n      }\n    });\n    var resultData = [];\n\n    for (var i = 0, len = upstream.count(); i < len; i++) {\n      rawItem = upstream.getRawDataItem(i);\n\n      if (condition.evaluate()) {\n        resultData.push(rawItem);\n      }\n    }\n\n    return {\n      data: resultData\n    };\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/transform/filterTransform.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/transform/install.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/transform/install.js ***!
  \*****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _filterTransform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filterTransform.js */ \"./node_modules/echarts/lib/component/transform/filterTransform.js\");\n/* harmony import */ var _sortTransform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sortTransform.js */ \"./node_modules/echarts/lib/component/transform/sortTransform.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction install(registers) {\n  registers.registerTransform(_filterTransform_js__WEBPACK_IMPORTED_MODULE_0__[\"filterTransform\"]);\n  registers.registerTransform(_sortTransform_js__WEBPACK_IMPORTED_MODULE_1__[\"sortTransform\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/transform/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/transform/sortTransform.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/transform/sortTransform.js ***!
  \***********************************************************************/
/*! exports provided: sortTransform */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortTransform\", function() { return sortTransform; });\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../data/helper/dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar sampleLog = '';\n\nif (true) {\n  sampleLog = ['Valid config is like:', '{ dimension: \"age\", order: \"asc\" }', 'or [{ dimension: \"age\", order: \"asc\"], { dimension: \"date\", order: \"desc\" }]'].join(' ');\n}\n\nvar sortTransform = {\n  type: 'echarts:sort',\n  transform: function (params) {\n    var upstream = params.upstream;\n    var config = params.config;\n    var errMsg = ''; // Normalize\n    // const orderExprList: OrderExpression[] = isArray(config[0])\n    //     ? config as OrderExpression[]\n    //     : [config as OrderExpression];\n\n    var orderExprList = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeToArray\"])(config);\n\n    if (!orderExprList.length) {\n      if (true) {\n        errMsg = 'Empty `config` in sort transform.';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n    }\n\n    var orderDefList = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(orderExprList, function (orderExpr) {\n      var dimLoose = orderExpr.dimension;\n      var order = orderExpr.order;\n      var parserName = orderExpr.parser;\n      var incomparable = orderExpr.incomparable;\n\n      if (dimLoose == null) {\n        if (true) {\n          errMsg = 'Sort transform config must has \"dimension\" specified.' + sampleLog;\n        }\n\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n      }\n\n      if (order !== 'asc' && order !== 'desc') {\n        if (true) {\n          errMsg = 'Sort transform config must has \"order\" specified.' + sampleLog;\n        }\n\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n      }\n\n      if (incomparable && incomparable !== 'min' && incomparable !== 'max') {\n        var errMsg_1 = '';\n\n        if (true) {\n          errMsg_1 = 'incomparable must be \"min\" or \"max\" rather than \"' + incomparable + '\".';\n        }\n\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg_1);\n      }\n\n      if (order !== 'asc' && order !== 'desc') {\n        var errMsg_2 = '';\n\n        if (true) {\n          errMsg_2 = 'order must be \"asc\" or \"desc\" rather than \"' + order + '\".';\n        }\n\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg_2);\n      }\n\n      var dimInfo = upstream.getDimensionInfo(dimLoose);\n\n      if (!dimInfo) {\n        if (true) {\n          errMsg = Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('Can not find dimension info via: ' + dimLoose + '.\\n', 'Existing dimensions: ', upstream.cloneAllDimensionInfo(), '.\\n', 'Illegal config:', orderExpr, '.\\n');\n        }\n\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n      }\n\n      var parser = parserName ? Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"getRawValueParser\"])(parserName) : null;\n\n      if (parserName && !parser) {\n        if (true) {\n          errMsg = Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('Invalid parser name ' + parserName + '.\\n', 'Illegal config:', orderExpr, '.\\n');\n        }\n\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n      }\n\n      orderDefList.push({\n        dimIdx: dimInfo.index,\n        parser: parser,\n        comparator: new _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"SortOrderComparator\"](order, incomparable)\n      });\n    }); // TODO: support it?\n\n    var sourceFormat = upstream.sourceFormat;\n\n    if (sourceFormat !== _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SOURCE_FORMAT_ARRAY_ROWS\"] && sourceFormat !== _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SOURCE_FORMAT_OBJECT_ROWS\"]) {\n      if (true) {\n        errMsg = 'sourceFormat \"' + sourceFormat + '\" is not supported yet';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n    } // Other upstream format are all array.\n\n\n    var resultData = [];\n\n    for (var i = 0, len = upstream.count(); i < len; i++) {\n      resultData.push(upstream.getRawDataItem(i));\n    }\n\n    resultData.sort(function (item0, item1) {\n      for (var i = 0; i < orderDefList.length; i++) {\n        var orderDef = orderDefList[i];\n        var val0 = upstream.retrieveValueFromItem(item0, orderDef.dimIdx);\n        var val1 = upstream.retrieveValueFromItem(item1, orderDef.dimIdx);\n\n        if (orderDef.parser) {\n          val0 = orderDef.parser(val0);\n          val1 = orderDef.parser(val1);\n        }\n\n        var result = orderDef.comparator.evaluate(val0, val1);\n\n        if (result !== 0) {\n          return result;\n        }\n      }\n\n      return 0;\n    });\n    return {\n      data: resultData\n    };\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/transform/sortTransform.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/ContinuousModel.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/ContinuousModel.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _VisualMapModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VisualMapModel.js */ \"./node_modules/echarts/lib/component/visualMap/VisualMapModel.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n // Constant\n\nvar DEFAULT_BAR_BOUND = [20, 140];\n\nvar ContinuousModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ContinuousModel, _super);\n\n  function ContinuousModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ContinuousModel.type;\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  ContinuousModel.prototype.optionUpdated = function (newOption, isInit) {\n    _super.prototype.optionUpdated.apply(this, arguments);\n\n    this.resetExtent();\n    this.resetVisual(function (mappingOption) {\n      mappingOption.mappingMethod = 'linear';\n      mappingOption.dataExtent = this.getExtent();\n    });\n\n    this._resetRange();\n  };\n  /**\n   * @protected\n   * @override\n   */\n\n\n  ContinuousModel.prototype.resetItemSize = function () {\n    _super.prototype.resetItemSize.apply(this, arguments);\n\n    var itemSize = this.itemSize;\n    (itemSize[0] == null || isNaN(itemSize[0])) && (itemSize[0] = DEFAULT_BAR_BOUND[0]);\n    (itemSize[1] == null || isNaN(itemSize[1])) && (itemSize[1] = DEFAULT_BAR_BOUND[1]);\n  };\n  /**\n   * @private\n   */\n\n\n  ContinuousModel.prototype._resetRange = function () {\n    var dataExtent = this.getExtent();\n    var range = this.option.range;\n\n    if (!range || range.auto) {\n      // `range` should always be array (so we dont use other\n      // value like 'auto') for user-friend. (consider getOption).\n      dataExtent.auto = 1;\n      this.option.range = dataExtent;\n    } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](range)) {\n      if (range[0] > range[1]) {\n        range.reverse();\n      }\n\n      range[0] = Math.max(range[0], dataExtent[0]);\n      range[1] = Math.min(range[1], dataExtent[1]);\n    }\n  };\n  /**\n   * @protected\n   * @override\n   */\n\n\n  ContinuousModel.prototype.completeVisualOption = function () {\n    _super.prototype.completeVisualOption.apply(this, arguments);\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this.stateList, function (state) {\n      var symbolSize = this.option.controller[state].symbolSize;\n\n      if (symbolSize && symbolSize[0] !== symbolSize[1]) {\n        symbolSize[0] = symbolSize[1] / 3; // For good looking.\n      }\n    }, this);\n  };\n  /**\n   * @override\n   */\n\n\n  ContinuousModel.prototype.setSelected = function (selected) {\n    this.option.range = selected.slice();\n\n    this._resetRange();\n  };\n  /**\n   * @public\n   */\n\n\n  ContinuousModel.prototype.getSelected = function () {\n    var dataExtent = this.getExtent();\n    var dataInterval = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"asc\"]((this.get('range') || []).slice()); // Clamp\n\n    dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);\n    dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);\n    dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);\n    dataInterval[1] < dataExtent[0] && (dataInterval[1] = dataExtent[0]);\n    return dataInterval;\n  };\n  /**\n   * @override\n   */\n\n\n  ContinuousModel.prototype.getValueState = function (value) {\n    var range = this.option.range;\n    var dataExtent = this.getExtent(); // When range[0] === dataExtent[0], any value larger than dataExtent[0] maps to 'inRange'.\n    // range[1] is processed likewise.\n\n    return (range[0] <= dataExtent[0] || range[0] <= value) && (range[1] >= dataExtent[1] || value <= range[1]) ? 'inRange' : 'outOfRange';\n  };\n\n  ContinuousModel.prototype.findTargetDataIndices = function (range) {\n    var result = [];\n    this.eachTargetSeries(function (seriesModel) {\n      var dataIndices = [];\n      var data = seriesModel.getData();\n      data.each(this.getDataDimensionIndex(data), function (value, dataIndex) {\n        range[0] <= value && value <= range[1] && dataIndices.push(dataIndex);\n      }, this);\n      result.push({\n        seriesId: seriesModel.id,\n        dataIndex: dataIndices\n      });\n    }, this);\n    return result;\n  };\n  /**\n   * @implement\n   */\n\n\n  ContinuousModel.prototype.getVisualMeta = function (getColorVisual) {\n    var oVals = getColorStopValues(this, 'outOfRange', this.getExtent());\n    var iVals = getColorStopValues(this, 'inRange', this.option.range.slice());\n    var stops = [];\n\n    function setStop(value, valueState) {\n      stops.push({\n        value: value,\n        color: getColorVisual(value, valueState)\n      });\n    } // Format to: outOfRange -- inRange -- outOfRange.\n\n\n    var iIdx = 0;\n    var oIdx = 0;\n    var iLen = iVals.length;\n    var oLen = oVals.length;\n\n    for (; oIdx < oLen && (!iVals.length || oVals[oIdx] <= iVals[0]); oIdx++) {\n      // If oVal[oIdx] === iVals[iIdx], oVal[oIdx] should be ignored.\n      if (oVals[oIdx] < iVals[iIdx]) {\n        setStop(oVals[oIdx], 'outOfRange');\n      }\n    }\n\n    for (var first = 1; iIdx < iLen; iIdx++, first = 0) {\n      // If range is full, value beyond min, max will be clamped.\n      // make a singularity\n      first && stops.length && setStop(iVals[iIdx], 'outOfRange');\n      setStop(iVals[iIdx], 'inRange');\n    }\n\n    for (var first = 1; oIdx < oLen; oIdx++) {\n      if (!iVals.length || iVals[iVals.length - 1] < oVals[oIdx]) {\n        // make a singularity\n        if (first) {\n          stops.length && setStop(stops[stops.length - 1].value, 'outOfRange');\n          first = 0;\n        }\n\n        setStop(oVals[oIdx], 'outOfRange');\n      }\n    }\n\n    var stopsLen = stops.length;\n    return {\n      stops: stops,\n      outerColors: [stopsLen ? stops[0].color : 'transparent', stopsLen ? stops[stopsLen - 1].color : 'transparent']\n    };\n  };\n\n  ContinuousModel.type = 'visualMap.continuous';\n  ContinuousModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_4__[\"inheritDefaultOption\"])(_VisualMapModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultOption, {\n    align: 'auto',\n    calculable: false,\n    hoverLink: true,\n    realtime: true,\n    handleIcon: 'path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z',\n    handleSize: '120%',\n    handleStyle: {\n      borderColor: '#fff',\n      borderWidth: 1\n    },\n    indicatorIcon: 'circle',\n    indicatorSize: '50%',\n    indicatorStyle: {\n      borderColor: '#fff',\n      borderWidth: 2,\n      shadowBlur: 2,\n      shadowOffsetX: 1,\n      shadowOffsetY: 1,\n      shadowColor: 'rgba(0,0,0,0.2)'\n    } // emphasis: {\n    //     handleStyle: {\n    //         shadowBlur: 3,\n    //         shadowOffsetX: 1,\n    //         shadowOffsetY: 1,\n    //         shadowColor: 'rgba(0,0,0,0.2)'\n    //     }\n    // }\n\n  });\n  return ContinuousModel;\n}(_VisualMapModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction getColorStopValues(visualMapModel, valueState, dataExtent) {\n  if (dataExtent[0] === dataExtent[1]) {\n    return dataExtent.slice();\n  } // When using colorHue mapping, it is not linear color any more.\n  // Moreover, canvas gradient seems not to be accurate linear.\n  // FIXME\n  // Should be arbitrary value 100? or based on pixel size?\n\n\n  var count = 200;\n  var step = (dataExtent[1] - dataExtent[0]) / count;\n  var value = dataExtent[0];\n  var stopValues = [];\n\n  for (var i = 0; i <= count && value < dataExtent[1]; i++) {\n    stopValues.push(value);\n    value += step;\n  }\n\n  stopValues.push(dataExtent[1]);\n  return stopValues;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ContinuousModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/ContinuousView.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/ContinuousView.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_graphic_LinearGradient_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/graphic/LinearGradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/LinearGradient.js\");\n/* harmony import */ var zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _VisualMapView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./VisualMapView.js */ \"./node_modules/echarts/lib/component/visualMap/VisualMapView.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helper/sliderMove.js */ \"./node_modules/echarts/lib/component/helper/sliderMove.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/visualMap/helper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! zrender/lib/graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/event.js */ \"./node_modules/echarts/lib/util/event.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar linearMap = _util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"];\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"];\nvar mathMin = Math.min;\nvar mathMax = Math.max; // Arbitrary value\n\nvar HOVER_LINK_SIZE = 12;\nvar HOVER_LINK_OUT = 6; // Notice:\n// Any \"interval\" should be by the order of [low, high].\n// \"handle0\" (handleIndex === 0) maps to\n// low data value: this._dataInterval[0] and has low coord.\n// \"handle1\" (handleIndex === 1) maps to\n// high data value: this._dataInterval[1] and has high coord.\n// The logic of transform is implemented in this._createBarGroup.\n\nvar ContinuousView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ContinuousView, _super);\n\n  function ContinuousView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ContinuousView.type;\n    _this._shapes = {};\n    _this._dataInterval = [];\n    _this._handleEnds = [];\n    _this._hoverLinkDataIndices = [];\n    return _this;\n  }\n\n  ContinuousView.prototype.doRender = function (visualMapModel, ecModel, api, payload) {\n    this._api = api;\n\n    if (!payload || payload.type !== 'selectDataRange' || payload.from !== this.uid) {\n      this._buildView();\n    }\n  };\n\n  ContinuousView.prototype._buildView = function () {\n    this.group.removeAll();\n    var visualMapModel = this.visualMapModel;\n    var thisGroup = this.group;\n    this._orient = visualMapModel.get('orient');\n    this._useHandle = visualMapModel.get('calculable');\n\n    this._resetInterval();\n\n    this._renderBar(thisGroup);\n\n    var dataRangeText = visualMapModel.get('text');\n\n    this._renderEndsText(thisGroup, dataRangeText, 0);\n\n    this._renderEndsText(thisGroup, dataRangeText, 1); // Do this for background size calculation.\n\n\n    this._updateView(true); // After updating view, inner shapes is built completely,\n    // and then background can be rendered.\n\n\n    this.renderBackground(thisGroup); // Real update view\n\n    this._updateView();\n\n    this._enableHoverLinkToSeries();\n\n    this._enableHoverLinkFromSeries();\n\n    this.positionGroup(thisGroup);\n  };\n\n  ContinuousView.prototype._renderEndsText = function (group, dataRangeText, endsIndex) {\n    if (!dataRangeText) {\n      return;\n    } // Compatible with ec2, text[0] map to high value, text[1] map low value.\n\n\n    var text = dataRangeText[1 - endsIndex];\n    text = text != null ? text + '' : '';\n    var visualMapModel = this.visualMapModel;\n    var textGap = visualMapModel.get('textGap');\n    var itemSize = visualMapModel.itemSize;\n    var barGroup = this._shapes.mainGroup;\n\n    var position = this._applyTransform([itemSize[0] / 2, endsIndex === 0 ? -textGap : itemSize[1] + textGap], barGroup);\n\n    var align = this._applyTransform(endsIndex === 0 ? 'bottom' : 'top', barGroup);\n\n    var orient = this._orient;\n    var textStyleModel = this.visualMapModel.textStyleModel;\n    this.group.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Text\"]({\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_15__[\"createTextStyle\"])(textStyleModel, {\n        x: position[0],\n        y: position[1],\n        verticalAlign: orient === 'horizontal' ? 'middle' : align,\n        align: orient === 'horizontal' ? align : 'center',\n        text: text\n      })\n    }));\n  };\n\n  ContinuousView.prototype._renderBar = function (targetGroup) {\n    var visualMapModel = this.visualMapModel;\n    var shapes = this._shapes;\n    var itemSize = visualMapModel.itemSize;\n    var orient = this._orient;\n    var useHandle = this._useHandle;\n    var itemAlign = _helper_js__WEBPACK_IMPORTED_MODULE_8__[\"getItemAlign\"](visualMapModel, this.api, itemSize);\n\n    var mainGroup = shapes.mainGroup = this._createBarGroup(itemAlign);\n\n    var gradientBarGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Group\"]();\n    mainGroup.add(gradientBarGroup); // Bar\n\n    gradientBarGroup.add(shapes.outOfRange = createPolygon());\n    gradientBarGroup.add(shapes.inRange = createPolygon(null, useHandle ? getCursor(this._orient) : null, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._dragHandle, this, 'all', false), zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._dragHandle, this, 'all', true))); // A border radius clip.\n\n    gradientBarGroup.setClipPath(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Rect\"]({\n      shape: {\n        x: 0,\n        y: 0,\n        width: itemSize[0],\n        height: itemSize[1],\n        r: 3\n      }\n    }));\n    var textRect = visualMapModel.textStyleModel.getTextRect('国');\n    var textSize = mathMax(textRect.width, textRect.height); // Handle\n\n    if (useHandle) {\n      shapes.handleThumbs = [];\n      shapes.handleLabels = [];\n      shapes.handleLabelPoints = [];\n\n      this._createHandle(visualMapModel, mainGroup, 0, itemSize, textSize, orient);\n\n      this._createHandle(visualMapModel, mainGroup, 1, itemSize, textSize, orient);\n    }\n\n    this._createIndicator(visualMapModel, mainGroup, itemSize, textSize, orient);\n\n    targetGroup.add(mainGroup);\n  };\n\n  ContinuousView.prototype._createHandle = function (visualMapModel, mainGroup, handleIndex, itemSize, textSize, orient) {\n    var onDrift = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._dragHandle, this, handleIndex, false);\n    var onDragEnd = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._dragHandle, this, handleIndex, true);\n    var handleSize = Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_10__[\"parsePercent\"])(visualMapModel.get('handleSize'), itemSize[0]);\n    var handleThumb = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_12__[\"createSymbol\"])(visualMapModel.get('handleIcon'), -handleSize / 2, -handleSize / 2, handleSize, handleSize, null, true);\n    var cursor = getCursor(this._orient);\n    handleThumb.attr({\n      cursor: cursor,\n      draggable: true,\n      drift: onDrift,\n      ondragend: onDragEnd,\n      onmousemove: function (e) {\n        zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_3__[\"stop\"](e.event);\n      }\n    });\n    handleThumb.x = itemSize[0] / 2;\n    handleThumb.useStyle(visualMapModel.getModel('handleStyle').getItemStyle());\n    handleThumb.setStyle({\n      strokeNoScale: true,\n      strokeFirst: true\n    });\n    handleThumb.style.lineWidth *= 2;\n    handleThumb.ensureState('emphasis').style = visualMapModel.getModel(['emphasis', 'handleStyle']).getItemStyle();\n    Object(_util_states_js__WEBPACK_IMPORTED_MODULE_11__[\"setAsHighDownDispatcher\"])(handleThumb, true);\n    mainGroup.add(handleThumb); // Text is always horizontal layout but should not be effected by\n    // transform (orient/inverse). So label is built separately but not\n    // use zrender/graphic/helper/RectText, and is located based on view\n    // group (according to handleLabelPoint) but not barGroup.\n\n    var textStyleModel = this.visualMapModel.textStyleModel;\n    var handleLabel = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Text\"]({\n      cursor: cursor,\n      draggable: true,\n      drift: onDrift,\n      onmousemove: function (e) {\n        // Fot mobile devicem, prevent screen slider on the button.\n        zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_3__[\"stop\"](e.event);\n      },\n      ondragend: onDragEnd,\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_15__[\"createTextStyle\"])(textStyleModel, {\n        x: 0,\n        y: 0,\n        text: ''\n      })\n    });\n    handleLabel.ensureState('blur').style = {\n      opacity: 0.1\n    };\n    handleLabel.stateTransition = {\n      duration: 200\n    };\n    this.group.add(handleLabel);\n    var handleLabelPoint = [handleSize, 0];\n    var shapes = this._shapes;\n    shapes.handleThumbs[handleIndex] = handleThumb;\n    shapes.handleLabelPoints[handleIndex] = handleLabelPoint;\n    shapes.handleLabels[handleIndex] = handleLabel;\n  };\n\n  ContinuousView.prototype._createIndicator = function (visualMapModel, mainGroup, itemSize, textSize, orient) {\n    var scale = Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_10__[\"parsePercent\"])(visualMapModel.get('indicatorSize'), itemSize[0]);\n    var indicator = Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_12__[\"createSymbol\"])(visualMapModel.get('indicatorIcon'), -scale / 2, -scale / 2, scale, scale, null, true);\n    indicator.attr({\n      cursor: 'move',\n      invisible: true,\n      silent: true,\n      x: itemSize[0] / 2\n    });\n    var indicatorStyle = visualMapModel.getModel('indicatorStyle').getItemStyle();\n\n    if (indicator instanceof zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]) {\n      var pathStyle = indicator.style;\n      indicator.useStyle(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({\n        // TODO other properties like x, y ?\n        image: pathStyle.image,\n        x: pathStyle.x,\n        y: pathStyle.y,\n        width: pathStyle.width,\n        height: pathStyle.height\n      }, indicatorStyle));\n    } else {\n      indicator.useStyle(indicatorStyle);\n    }\n\n    mainGroup.add(indicator);\n    var textStyleModel = this.visualMapModel.textStyleModel;\n    var indicatorLabel = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Text\"]({\n      silent: true,\n      invisible: true,\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_15__[\"createTextStyle\"])(textStyleModel, {\n        x: 0,\n        y: 0,\n        text: ''\n      })\n    });\n    this.group.add(indicatorLabel);\n    var indicatorLabelPoint = [(orient === 'horizontal' ? textSize / 2 : HOVER_LINK_OUT) + itemSize[0] / 2, 0];\n    var shapes = this._shapes;\n    shapes.indicator = indicator;\n    shapes.indicatorLabel = indicatorLabel;\n    shapes.indicatorLabelPoint = indicatorLabelPoint;\n    this._firstShowIndicator = true;\n  };\n\n  ContinuousView.prototype._dragHandle = function (handleIndex, isEnd, // dx is event from ondragend if isEnd is true. It's not used\n  dx, dy) {\n    if (!this._useHandle) {\n      return;\n    }\n\n    this._dragging = !isEnd;\n\n    if (!isEnd) {\n      // Transform dx, dy to bar coordination.\n      var vertex = this._applyTransform([dx, dy], this._shapes.mainGroup, true);\n\n      this._updateInterval(handleIndex, vertex[1]);\n\n      this._hideIndicator(); // Considering realtime, update view should be executed\n      // before dispatch action.\n\n\n      this._updateView();\n    } // dragEnd do not dispatch action when realtime.\n\n\n    if (isEnd === !this.visualMapModel.get('realtime')) {\n      // jshint ignore:line\n      this.api.dispatchAction({\n        type: 'selectDataRange',\n        from: this.uid,\n        visualMapId: this.visualMapModel.id,\n        selected: this._dataInterval.slice()\n      });\n    }\n\n    if (isEnd) {\n      !this._hovering && this._clearHoverLinkToSeries();\n    } else if (useHoverLinkOnHandle(this.visualMapModel)) {\n      this._doHoverLinkToSeries(this._handleEnds[handleIndex], false);\n    }\n  };\n\n  ContinuousView.prototype._resetInterval = function () {\n    var visualMapModel = this.visualMapModel;\n    var dataInterval = this._dataInterval = visualMapModel.getSelected();\n    var dataExtent = visualMapModel.getExtent();\n    var sizeExtent = [0, visualMapModel.itemSize[1]];\n    this._handleEnds = [linearMap(dataInterval[0], dataExtent, sizeExtent, true), linearMap(dataInterval[1], dataExtent, sizeExtent, true)];\n  };\n  /**\n   * @private\n   * @param {(number|string)} handleIndex 0 or 1 or 'all'\n   * @param {number} dx\n   * @param {number} dy\n   */\n\n\n  ContinuousView.prototype._updateInterval = function (handleIndex, delta) {\n    delta = delta || 0;\n    var visualMapModel = this.visualMapModel;\n    var handleEnds = this._handleEnds;\n    var sizeExtent = [0, visualMapModel.itemSize[1]];\n    Object(_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(delta, handleEnds, sizeExtent, handleIndex, // cross is forbiden\n    0);\n    var dataExtent = visualMapModel.getExtent(); // Update data interval.\n\n    this._dataInterval = [linearMap(handleEnds[0], sizeExtent, dataExtent, true), linearMap(handleEnds[1], sizeExtent, dataExtent, true)];\n  };\n\n  ContinuousView.prototype._updateView = function (forSketch) {\n    var visualMapModel = this.visualMapModel;\n    var dataExtent = visualMapModel.getExtent();\n    var shapes = this._shapes;\n    var outOfRangeHandleEnds = [0, visualMapModel.itemSize[1]];\n    var inRangeHandleEnds = forSketch ? outOfRangeHandleEnds : this._handleEnds;\n\n    var visualInRange = this._createBarVisual(this._dataInterval, dataExtent, inRangeHandleEnds, 'inRange');\n\n    var visualOutOfRange = this._createBarVisual(dataExtent, dataExtent, outOfRangeHandleEnds, 'outOfRange');\n\n    shapes.inRange.setStyle({\n      fill: visualInRange.barColor // opacity: visualInRange.opacity\n\n    }).setShape('points', visualInRange.barPoints);\n    shapes.outOfRange.setStyle({\n      fill: visualOutOfRange.barColor // opacity: visualOutOfRange.opacity\n\n    }).setShape('points', visualOutOfRange.barPoints);\n\n    this._updateHandle(inRangeHandleEnds, visualInRange);\n  };\n\n  ContinuousView.prototype._createBarVisual = function (dataInterval, dataExtent, handleEnds, forceState) {\n    var opts = {\n      forceState: forceState,\n      convertOpacityToAlpha: true\n    };\n\n    var colorStops = this._makeColorGradient(dataInterval, opts);\n\n    var symbolSizes = [this.getControllerVisual(dataInterval[0], 'symbolSize', opts), this.getControllerVisual(dataInterval[1], 'symbolSize', opts)];\n\n    var barPoints = this._createBarPoints(handleEnds, symbolSizes);\n\n    return {\n      barColor: new zrender_lib_graphic_LinearGradient_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](0, 0, 0, 1, colorStops),\n      barPoints: barPoints,\n      handlesColor: [colorStops[0].color, colorStops[colorStops.length - 1].color]\n    };\n  };\n\n  ContinuousView.prototype._makeColorGradient = function (dataInterval, opts) {\n    // Considering colorHue, which is not linear, so we have to sample\n    // to calculate gradient color stops, but not only caculate head\n    // and tail.\n    var sampleNumber = 100; // Arbitrary value.\n\n    var colorStops = [];\n    var step = (dataInterval[1] - dataInterval[0]) / sampleNumber;\n    colorStops.push({\n      color: this.getControllerVisual(dataInterval[0], 'color', opts),\n      offset: 0\n    });\n\n    for (var i = 1; i < sampleNumber; i++) {\n      var currValue = dataInterval[0] + step * i;\n\n      if (currValue > dataInterval[1]) {\n        break;\n      }\n\n      colorStops.push({\n        color: this.getControllerVisual(currValue, 'color', opts),\n        offset: i / sampleNumber\n      });\n    }\n\n    colorStops.push({\n      color: this.getControllerVisual(dataInterval[1], 'color', opts),\n      offset: 1\n    });\n    return colorStops;\n  };\n\n  ContinuousView.prototype._createBarPoints = function (handleEnds, symbolSizes) {\n    var itemSize = this.visualMapModel.itemSize;\n    return [[itemSize[0] - symbolSizes[0], handleEnds[0]], [itemSize[0], handleEnds[0]], [itemSize[0], handleEnds[1]], [itemSize[0] - symbolSizes[1], handleEnds[1]]];\n  };\n\n  ContinuousView.prototype._createBarGroup = function (itemAlign) {\n    var orient = this._orient;\n    var inverse = this.visualMapModel.get('inverse');\n    return new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Group\"](orient === 'horizontal' && !inverse ? {\n      scaleX: itemAlign === 'bottom' ? 1 : -1,\n      rotation: Math.PI / 2\n    } : orient === 'horizontal' && inverse ? {\n      scaleX: itemAlign === 'bottom' ? -1 : 1,\n      rotation: -Math.PI / 2\n    } : orient === 'vertical' && !inverse ? {\n      scaleX: itemAlign === 'left' ? 1 : -1,\n      scaleY: -1\n    } : {\n      scaleX: itemAlign === 'left' ? 1 : -1\n    });\n  };\n\n  ContinuousView.prototype._updateHandle = function (handleEnds, visualInRange) {\n    if (!this._useHandle) {\n      return;\n    }\n\n    var shapes = this._shapes;\n    var visualMapModel = this.visualMapModel;\n    var handleThumbs = shapes.handleThumbs;\n    var handleLabels = shapes.handleLabels;\n    var itemSize = visualMapModel.itemSize;\n    var dataExtent = visualMapModel.getExtent();\n    each([0, 1], function (handleIndex) {\n      var handleThumb = handleThumbs[handleIndex];\n      handleThumb.setStyle('fill', visualInRange.handlesColor[handleIndex]);\n      handleThumb.y = handleEnds[handleIndex];\n      var val = linearMap(handleEnds[handleIndex], [0, itemSize[1]], dataExtent, true);\n      var symbolSize = this.getControllerVisual(val, 'symbolSize');\n      handleThumb.scaleX = handleThumb.scaleY = symbolSize / itemSize[0];\n      handleThumb.x = itemSize[0] - symbolSize / 2; // Update handle label position.\n\n      var textPoint = _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"applyTransform\"](shapes.handleLabelPoints[handleIndex], _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"getTransform\"](handleThumb, this.group));\n      handleLabels[handleIndex].setStyle({\n        x: textPoint[0],\n        y: textPoint[1],\n        text: visualMapModel.formatValueText(this._dataInterval[handleIndex]),\n        verticalAlign: 'middle',\n        align: this._orient === 'vertical' ? this._applyTransform('left', shapes.mainGroup) : 'center'\n      });\n    }, this);\n  };\n\n  ContinuousView.prototype._showIndicator = function (cursorValue, textValue, rangeSymbol, halfHoverLinkSize) {\n    var visualMapModel = this.visualMapModel;\n    var dataExtent = visualMapModel.getExtent();\n    var itemSize = visualMapModel.itemSize;\n    var sizeExtent = [0, itemSize[1]];\n    var shapes = this._shapes;\n    var indicator = shapes.indicator;\n\n    if (!indicator) {\n      return;\n    }\n\n    indicator.attr('invisible', false);\n    var opts = {\n      convertOpacityToAlpha: true\n    };\n    var color = this.getControllerVisual(cursorValue, 'color', opts);\n    var symbolSize = this.getControllerVisual(cursorValue, 'symbolSize');\n    var y = linearMap(cursorValue, dataExtent, sizeExtent, true);\n    var x = itemSize[0] - symbolSize / 2;\n    var oldIndicatorPos = {\n      x: indicator.x,\n      y: indicator.y\n    }; // Update handle label position.\n\n    indicator.y = y;\n    indicator.x = x;\n    var textPoint = _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"applyTransform\"](shapes.indicatorLabelPoint, _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"getTransform\"](indicator, this.group));\n    var indicatorLabel = shapes.indicatorLabel;\n    indicatorLabel.attr('invisible', false);\n\n    var align = this._applyTransform('left', shapes.mainGroup);\n\n    var orient = this._orient;\n    var isHorizontal = orient === 'horizontal';\n    indicatorLabel.setStyle({\n      text: (rangeSymbol ? rangeSymbol : '') + visualMapModel.formatValueText(textValue),\n      verticalAlign: isHorizontal ? align : 'middle',\n      align: isHorizontal ? 'center' : align\n    });\n    var indicatorNewProps = {\n      x: x,\n      y: y,\n      style: {\n        fill: color\n      }\n    };\n    var labelNewProps = {\n      style: {\n        x: textPoint[0],\n        y: textPoint[1]\n      }\n    };\n\n    if (visualMapModel.ecModel.isAnimationEnabled() && !this._firstShowIndicator) {\n      var animationCfg = {\n        duration: 100,\n        easing: 'cubicInOut',\n        additive: true\n      };\n      indicator.x = oldIndicatorPos.x;\n      indicator.y = oldIndicatorPos.y;\n      indicator.animateTo(indicatorNewProps, animationCfg);\n      indicatorLabel.animateTo(labelNewProps, animationCfg);\n    } else {\n      indicator.attr(indicatorNewProps);\n      indicatorLabel.attr(labelNewProps);\n    }\n\n    this._firstShowIndicator = false;\n    var handleLabels = this._shapes.handleLabels;\n\n    if (handleLabels) {\n      for (var i = 0; i < handleLabels.length; i++) {\n        // Fade out handle labels.\n        // NOTE: Must use api enter/leave on emphasis/blur/select state. Or the global states manager will change it.\n        this._api.enterBlur(handleLabels[i]);\n      }\n    }\n  };\n\n  ContinuousView.prototype._enableHoverLinkToSeries = function () {\n    var self = this;\n\n    this._shapes.mainGroup.on('mousemove', function (e) {\n      self._hovering = true;\n\n      if (!self._dragging) {\n        var itemSize = self.visualMapModel.itemSize;\n\n        var pos = self._applyTransform([e.offsetX, e.offsetY], self._shapes.mainGroup, true, true); // For hover link show when hover handle, which might be\n        // below or upper than sizeExtent.\n\n\n        pos[1] = mathMin(mathMax(0, pos[1]), itemSize[1]);\n\n        self._doHoverLinkToSeries(pos[1], 0 <= pos[0] && pos[0] <= itemSize[0]);\n      }\n    }).on('mouseout', function () {\n      // When mouse is out of handle, hoverLink still need\n      // to be displayed when realtime is set as false.\n      self._hovering = false;\n      !self._dragging && self._clearHoverLinkToSeries();\n    });\n  };\n\n  ContinuousView.prototype._enableHoverLinkFromSeries = function () {\n    var zr = this.api.getZr();\n\n    if (this.visualMapModel.option.hoverLink) {\n      zr.on('mouseover', this._hoverLinkFromSeriesMouseOver, this);\n      zr.on('mouseout', this._hideIndicator, this);\n    } else {\n      this._clearHoverLinkFromSeries();\n    }\n  };\n\n  ContinuousView.prototype._doHoverLinkToSeries = function (cursorPos, hoverOnBar) {\n    var visualMapModel = this.visualMapModel;\n    var itemSize = visualMapModel.itemSize;\n\n    if (!visualMapModel.option.hoverLink) {\n      return;\n    }\n\n    var sizeExtent = [0, itemSize[1]];\n    var dataExtent = visualMapModel.getExtent(); // For hover link show when hover handle, which might be below or upper than sizeExtent.\n\n    cursorPos = mathMin(mathMax(sizeExtent[0], cursorPos), sizeExtent[1]);\n    var halfHoverLinkSize = getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent);\n    var hoverRange = [cursorPos - halfHoverLinkSize, cursorPos + halfHoverLinkSize];\n    var cursorValue = linearMap(cursorPos, sizeExtent, dataExtent, true);\n    var valueRange = [linearMap(hoverRange[0], sizeExtent, dataExtent, true), linearMap(hoverRange[1], sizeExtent, dataExtent, true)]; // Consider data range is out of visualMap range, see test/visualMap-continuous.html,\n    // where china and india has very large population.\n\n    hoverRange[0] < sizeExtent[0] && (valueRange[0] = -Infinity);\n    hoverRange[1] > sizeExtent[1] && (valueRange[1] = Infinity); // Do not show indicator when mouse is over handle,\n    // otherwise labels overlap, especially when dragging.\n\n    if (hoverOnBar) {\n      if (valueRange[0] === -Infinity) {\n        this._showIndicator(cursorValue, valueRange[1], '< ', halfHoverLinkSize);\n      } else if (valueRange[1] === Infinity) {\n        this._showIndicator(cursorValue, valueRange[0], '> ', halfHoverLinkSize);\n      } else {\n        this._showIndicator(cursorValue, cursorValue, '≈ ', halfHoverLinkSize);\n      }\n    } // When realtime is set as false, handles, which are in barGroup,\n    // also trigger hoverLink, which help user to realize where they\n    // focus on when dragging. (see test/heatmap-large.html)\n    // When realtime is set as true, highlight will not show when hover\n    // handle, because the label on handle, which displays a exact value\n    // but not range, might mislead users.\n\n\n    var oldBatch = this._hoverLinkDataIndices;\n    var newBatch = [];\n\n    if (hoverOnBar || useHoverLinkOnHandle(visualMapModel)) {\n      newBatch = this._hoverLinkDataIndices = visualMapModel.findTargetDataIndices(valueRange);\n    }\n\n    var resultBatches = _util_model_js__WEBPACK_IMPORTED_MODULE_9__[\"compressBatches\"](oldBatch, newBatch);\n\n    this._dispatchHighDown('downplay', _helper_js__WEBPACK_IMPORTED_MODULE_8__[\"makeHighDownBatch\"](resultBatches[0], visualMapModel));\n\n    this._dispatchHighDown('highlight', _helper_js__WEBPACK_IMPORTED_MODULE_8__[\"makeHighDownBatch\"](resultBatches[1], visualMapModel));\n  };\n\n  ContinuousView.prototype._hoverLinkFromSeriesMouseOver = function (e) {\n    var ecData;\n    Object(_util_event_js__WEBPACK_IMPORTED_MODULE_16__[\"findEventDispatcher\"])(e.target, function (target) {\n      var currECData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_14__[\"getECData\"])(target);\n\n      if (currECData.dataIndex != null) {\n        ecData = currECData;\n        return true;\n      }\n    }, true);\n\n    if (!ecData) {\n      return;\n    }\n\n    var dataModel = this.ecModel.getSeriesByIndex(ecData.seriesIndex);\n    var visualMapModel = this.visualMapModel;\n\n    if (!visualMapModel.isTargetSeries(dataModel)) {\n      return;\n    }\n\n    var data = dataModel.getData(ecData.dataType);\n    var value = data.getStore().get(visualMapModel.getDataDimensionIndex(data), ecData.dataIndex);\n\n    if (!isNaN(value)) {\n      this._showIndicator(value, value);\n    }\n  };\n\n  ContinuousView.prototype._hideIndicator = function () {\n    var shapes = this._shapes;\n    shapes.indicator && shapes.indicator.attr('invisible', true);\n    shapes.indicatorLabel && shapes.indicatorLabel.attr('invisible', true);\n    var handleLabels = this._shapes.handleLabels;\n\n    if (handleLabels) {\n      for (var i = 0; i < handleLabels.length; i++) {\n        // Fade out handle labels.\n        // NOTE: Must use api enter/leave on emphasis/blur/select state. Or the global states manager will change it.\n        this._api.leaveBlur(handleLabels[i]);\n      }\n    }\n  };\n\n  ContinuousView.prototype._clearHoverLinkToSeries = function () {\n    this._hideIndicator();\n\n    var indices = this._hoverLinkDataIndices;\n\n    this._dispatchHighDown('downplay', _helper_js__WEBPACK_IMPORTED_MODULE_8__[\"makeHighDownBatch\"](indices, this.visualMapModel));\n\n    indices.length = 0;\n  };\n\n  ContinuousView.prototype._clearHoverLinkFromSeries = function () {\n    this._hideIndicator();\n\n    var zr = this.api.getZr();\n    zr.off('mouseover', this._hoverLinkFromSeriesMouseOver);\n    zr.off('mouseout', this._hideIndicator);\n  };\n\n  ContinuousView.prototype._applyTransform = function (vertex, element, inverse, global) {\n    var transform = _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"getTransform\"](element, global ? null : this.group);\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](vertex) ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"applyTransform\"](vertex, transform, inverse) : _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"transformDirection\"](vertex, transform, inverse);\n  }; // TODO: TYPE more specified payload types.\n\n\n  ContinuousView.prototype._dispatchHighDown = function (type, batch) {\n    batch && batch.length && this.api.dispatchAction({\n      type: type,\n      batch: batch\n    });\n  };\n  /**\n   * @override\n   */\n\n\n  ContinuousView.prototype.dispose = function () {\n    this._clearHoverLinkFromSeries();\n\n    this._clearHoverLinkToSeries();\n  };\n  /**\n   * @override\n   */\n\n\n  ContinuousView.prototype.remove = function () {\n    this._clearHoverLinkFromSeries();\n\n    this._clearHoverLinkToSeries();\n  };\n\n  ContinuousView.type = 'visualMap.continuous';\n  return ContinuousView;\n}(_VisualMapView_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nfunction createPolygon(points, cursor, onDrift, onDragEnd) {\n  return new _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"Polygon\"]({\n    shape: {\n      points: points\n    },\n    draggable: !!onDrift,\n    cursor: cursor,\n    drift: onDrift,\n    onmousemove: function (e) {\n      // Fot mobile devicem, prevent screen slider on the button.\n      zrender_lib_core_event_js__WEBPACK_IMPORTED_MODULE_3__[\"stop\"](e.event);\n    },\n    ondragend: onDragEnd\n  });\n}\n\nfunction getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent) {\n  var halfHoverLinkSize = HOVER_LINK_SIZE / 2;\n  var hoverLinkDataSize = visualMapModel.get('hoverLinkDataSize');\n\n  if (hoverLinkDataSize) {\n    halfHoverLinkSize = linearMap(hoverLinkDataSize, dataExtent, sizeExtent, true) / 2;\n  }\n\n  return halfHoverLinkSize;\n}\n\nfunction useHoverLinkOnHandle(visualMapModel) {\n  var hoverLinkOnHandle = visualMapModel.get('hoverLinkOnHandle');\n  return !!(hoverLinkOnHandle == null ? visualMapModel.get('realtime') : hoverLinkOnHandle);\n}\n\nfunction getCursor(orient) {\n  return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ContinuousView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _VisualMapModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VisualMapModel.js */ \"./node_modules/echarts/lib/component/visualMap/VisualMapModel.js\");\n/* harmony import */ var _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../visual/VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n/* harmony import */ var _visual_visualDefault_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../visual/visualDefault.js */ \"./node_modules/echarts/lib/visual/visualDefault.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar PiecewiseModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PiecewiseModel, _super);\n\n  function PiecewiseModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = PiecewiseModel.type;\n    /**\n     * The order is always [low, ..., high].\n     * [{text: string, interval: Array.<number>}, ...]\n     */\n\n    _this._pieceList = [];\n    return _this;\n  }\n\n  PiecewiseModel.prototype.optionUpdated = function (newOption, isInit) {\n    _super.prototype.optionUpdated.apply(this, arguments);\n\n    this.resetExtent();\n\n    var mode = this._mode = this._determineMode();\n\n    this._pieceList = [];\n\n    resetMethods[this._mode].call(this, this._pieceList);\n\n    this._resetSelected(newOption, isInit);\n\n    var categories = this.option.categories;\n    this.resetVisual(function (mappingOption, state) {\n      if (mode === 'categories') {\n        mappingOption.mappingMethod = 'category';\n        mappingOption.categories = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](categories);\n      } else {\n        mappingOption.dataExtent = this.getExtent();\n        mappingOption.mappingMethod = 'piecewise';\n        mappingOption.pieceList = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](this._pieceList, function (piece) {\n          piece = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](piece);\n\n          if (state !== 'inRange') {\n            // FIXME\n            // outOfRange do not support special visual in pieces.\n            piece.visual = null;\n          }\n\n          return piece;\n        });\n      }\n    });\n  };\n  /**\n   * @protected\n   * @override\n   */\n\n\n  PiecewiseModel.prototype.completeVisualOption = function () {\n    // Consider this case:\n    // visualMap: {\n    //      pieces: [{symbol: 'circle', lt: 0}, {symbol: 'rect', gte: 0}]\n    // }\n    // where no inRange/outOfRange set but only pieces. So we should make\n    // default inRange/outOfRange for this case, otherwise visuals that only\n    // appear in `pieces` will not be taken into account in visual encoding.\n    var option = this.option;\n    var visualTypesInPieces = {};\n    var visualTypes = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].listVisualTypes();\n    var isCategory = this.isCategory();\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](option.pieces, function (piece) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](visualTypes, function (visualType) {\n        if (piece.hasOwnProperty(visualType)) {\n          visualTypesInPieces[visualType] = 1;\n        }\n      });\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](visualTypesInPieces, function (v, visualType) {\n      var exists = false;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this.stateList, function (state) {\n        exists = exists || has(option, state, visualType) || has(option.target, state, visualType);\n      }, this);\n      !exists && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this.stateList, function (state) {\n        (option[state] || (option[state] = {}))[visualType] = _visual_visualDefault_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].get(visualType, state === 'inRange' ? 'active' : 'inactive', isCategory);\n      });\n    }, this);\n\n    function has(obj, state, visualType) {\n      return obj && obj[state] && obj[state].hasOwnProperty(visualType);\n    }\n\n    _super.prototype.completeVisualOption.apply(this, arguments);\n  };\n\n  PiecewiseModel.prototype._resetSelected = function (newOption, isInit) {\n    var thisOption = this.option;\n    var pieceList = this._pieceList; // Selected do not merge but all override.\n\n    var selected = (isInit ? thisOption : newOption).selected || {};\n    thisOption.selected = selected; // Consider 'not specified' means true.\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](pieceList, function (piece, index) {\n      var key = this.getSelectedMapKey(piece);\n\n      if (!selected.hasOwnProperty(key)) {\n        selected[key] = true;\n      }\n    }, this);\n\n    if (thisOption.selectedMode === 'single') {\n      // Ensure there is only one selected.\n      var hasSel_1 = false;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](pieceList, function (piece, index) {\n        var key = this.getSelectedMapKey(piece);\n\n        if (selected[key]) {\n          hasSel_1 ? selected[key] = false : hasSel_1 = true;\n        }\n      }, this);\n    } // thisOption.selectedMode === 'multiple', default: all selected.\n\n  };\n  /**\n   * @public\n   */\n\n\n  PiecewiseModel.prototype.getItemSymbol = function () {\n    return this.get('itemSymbol');\n  };\n  /**\n   * @public\n   */\n\n\n  PiecewiseModel.prototype.getSelectedMapKey = function (piece) {\n    return this._mode === 'categories' ? piece.value + '' : piece.index + '';\n  };\n  /**\n   * @public\n   */\n\n\n  PiecewiseModel.prototype.getPieceList = function () {\n    return this._pieceList;\n  };\n  /**\n   * @return {string}\n   */\n\n\n  PiecewiseModel.prototype._determineMode = function () {\n    var option = this.option;\n    return option.pieces && option.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber';\n  };\n  /**\n   * @override\n   */\n\n\n  PiecewiseModel.prototype.setSelected = function (selected) {\n    this.option.selected = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](selected);\n  };\n  /**\n   * @override\n   */\n\n\n  PiecewiseModel.prototype.getValueState = function (value) {\n    var index = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].findPieceIndex(value, this._pieceList);\n    return index != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index])] ? 'inRange' : 'outOfRange' : 'outOfRange';\n  };\n  /**\n   * @public\n   * @param pieceIndex piece index in visualMapModel.getPieceList()\n   */\n\n\n  PiecewiseModel.prototype.findTargetDataIndices = function (pieceIndex) {\n    var result = [];\n    var pieceList = this._pieceList;\n    this.eachTargetSeries(function (seriesModel) {\n      var dataIndices = [];\n      var data = seriesModel.getData();\n      data.each(this.getDataDimensionIndex(data), function (value, dataIndex) {\n        // Should always base on model pieceList, because it is order sensitive.\n        var pIdx = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].findPieceIndex(value, pieceList);\n        pIdx === pieceIndex && dataIndices.push(dataIndex);\n      }, this);\n      result.push({\n        seriesId: seriesModel.id,\n        dataIndex: dataIndices\n      });\n    }, this);\n    return result;\n  };\n  /**\n   * @private\n   * @param piece piece.value or piece.interval is required.\n   * @return  Can be Infinity or -Infinity\n   */\n\n\n  PiecewiseModel.prototype.getRepresentValue = function (piece) {\n    var representValue;\n\n    if (this.isCategory()) {\n      representValue = piece.value;\n    } else {\n      if (piece.value != null) {\n        representValue = piece.value;\n      } else {\n        var pieceInterval = piece.interval || [];\n        representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;\n      }\n    }\n\n    return representValue;\n  };\n\n  PiecewiseModel.prototype.getVisualMeta = function (getColorVisual) {\n    // Do not support category. (category axis is ordinal, numerical)\n    if (this.isCategory()) {\n      return;\n    }\n\n    var stops = [];\n    var outerColors = ['', ''];\n    var visualMapModel = this;\n\n    function setStop(interval, valueState) {\n      var representValue = visualMapModel.getRepresentValue({\n        interval: interval\n      }); // Not category\n\n      if (!valueState) {\n        valueState = visualMapModel.getValueState(representValue);\n      }\n\n      var color = getColorVisual(representValue, valueState);\n\n      if (interval[0] === -Infinity) {\n        outerColors[0] = color;\n      } else if (interval[1] === Infinity) {\n        outerColors[1] = color;\n      } else {\n        stops.push({\n          value: interval[0],\n          color: color\n        }, {\n          value: interval[1],\n          color: color\n        });\n      }\n    } // Suplement\n\n\n    var pieceList = this._pieceList.slice();\n\n    if (!pieceList.length) {\n      pieceList.push({\n        interval: [-Infinity, Infinity]\n      });\n    } else {\n      var edge = pieceList[0].interval[0];\n      edge !== -Infinity && pieceList.unshift({\n        interval: [-Infinity, edge]\n      });\n      edge = pieceList[pieceList.length - 1].interval[1];\n      edge !== Infinity && pieceList.push({\n        interval: [edge, Infinity]\n      });\n    }\n\n    var curr = -Infinity;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](pieceList, function (piece) {\n      var interval = piece.interval;\n\n      if (interval) {\n        // Fulfill gap.\n        interval[0] > curr && setStop([curr, interval[0]], 'outOfRange');\n        setStop(interval.slice());\n        curr = interval[1];\n      }\n    }, this);\n    return {\n      stops: stops,\n      outerColors: outerColors\n    };\n  };\n\n  PiecewiseModel.type = 'visualMap.piecewise';\n  PiecewiseModel.defaultOption = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_6__[\"inheritDefaultOption\"])(_VisualMapModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultOption, {\n    selected: null,\n    minOpen: false,\n    maxOpen: false,\n    align: 'auto',\n    itemWidth: 20,\n    itemHeight: 14,\n    itemSymbol: 'roundRect',\n    pieces: null,\n    categories: null,\n    splitNumber: 5,\n    selectedMode: 'multiple',\n    itemGap: 10,\n    hoverLink: true // Enable hover highlight.\n\n  });\n  return PiecewiseModel;\n}(_VisualMapModel_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n;\n/**\n * Key is this._mode\n * @type {Object}\n * @this {module:echarts/component/viusalMap/PiecewiseMode}\n */\n\nvar resetMethods = {\n  splitNumber: function (outPieceList) {\n    var thisOption = this.option;\n    var precision = Math.min(thisOption.precision, 20);\n    var dataExtent = this.getExtent();\n    var splitNumber = thisOption.splitNumber;\n    splitNumber = Math.max(parseInt(splitNumber, 10), 1);\n    thisOption.splitNumber = splitNumber;\n    var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; // Precision auto-adaption\n\n    while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {\n      precision++;\n    }\n\n    thisOption.precision = precision;\n    splitStep = +splitStep.toFixed(precision);\n\n    if (thisOption.minOpen) {\n      outPieceList.push({\n        interval: [-Infinity, dataExtent[0]],\n        close: [0, 0]\n      });\n    }\n\n    for (var index = 0, curr = dataExtent[0]; index < splitNumber; curr += splitStep, index++) {\n      var max = index === splitNumber - 1 ? dataExtent[1] : curr + splitStep;\n      outPieceList.push({\n        interval: [curr, max],\n        close: [1, 1]\n      });\n    }\n\n    if (thisOption.maxOpen) {\n      outPieceList.push({\n        interval: [dataExtent[1], Infinity],\n        close: [0, 0]\n      });\n    }\n\n    Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"reformIntervals\"])(outPieceList);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](outPieceList, function (piece, index) {\n      piece.index = index;\n      piece.text = this.formatValueText(piece.interval);\n    }, this);\n  },\n  categories: function (outPieceList) {\n    var thisOption = this.option;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](thisOption.categories, function (cate) {\n      // FIXME category模式也使用pieceList，但在visualMapping中不是使用pieceList。\n      // 是否改一致。\n      outPieceList.push({\n        text: this.formatValueText(cate, true),\n        value: cate\n      });\n    }, this); // See \"Order Rule\".\n\n    normalizeReverse(thisOption, outPieceList);\n  },\n  pieces: function (outPieceList) {\n    var thisOption = this.option;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](thisOption.pieces, function (pieceListItem, index) {\n      if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"](pieceListItem)) {\n        pieceListItem = {\n          value: pieceListItem\n        };\n      }\n\n      var item = {\n        text: '',\n        index: index\n      };\n\n      if (pieceListItem.label != null) {\n        item.text = pieceListItem.label;\n      }\n\n      if (pieceListItem.hasOwnProperty('value')) {\n        var value = item.value = pieceListItem.value;\n        item.interval = [value, value];\n        item.close = [1, 1];\n      } else {\n        // `min` `max` is legacy option.\n        // `lt` `gt` `lte` `gte` is recommanded.\n        var interval = item.interval = [];\n        var close_1 = item.close = [0, 0];\n        var closeList = [1, 0, 1];\n        var infinityList = [-Infinity, Infinity];\n        var useMinMax = [];\n\n        for (var lg = 0; lg < 2; lg++) {\n          var names = [['gte', 'gt', 'min'], ['lte', 'lt', 'max']][lg];\n\n          for (var i = 0; i < 3 && interval[lg] == null; i++) {\n            interval[lg] = pieceListItem[names[i]];\n            close_1[lg] = closeList[i];\n            useMinMax[lg] = i === 2;\n          }\n\n          interval[lg] == null && (interval[lg] = infinityList[lg]);\n        }\n\n        useMinMax[0] && interval[1] === Infinity && (close_1[0] = 0);\n        useMinMax[1] && interval[0] === -Infinity && (close_1[1] = 0);\n\n        if (true) {\n          if (interval[0] > interval[1]) {\n            console.warn('Piece ' + index + 'is illegal: ' + interval + ' lower bound should not greater then uppper bound.');\n          }\n        }\n\n        if (interval[0] === interval[1] && close_1[0] && close_1[1]) {\n          // Consider: [{min: 5, max: 5, visual: {...}}, {min: 0, max: 5}],\n          // we use value to lift the priority when min === max\n          item.value = interval[0];\n        }\n      }\n\n      item.visual = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].retrieveVisuals(pieceListItem);\n      outPieceList.push(item);\n    }, this); // See \"Order Rule\".\n\n    normalizeReverse(thisOption, outPieceList); // Only pieces\n\n    Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"reformIntervals\"])(outPieceList);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](outPieceList, function (piece) {\n      var close = piece.close;\n      var edgeSymbols = [['<', '≤'][close[1]], ['>', '≥'][close[0]]];\n      piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);\n    }, this);\n  }\n};\n\nfunction normalizeReverse(thisOption, pieceList) {\n  var inverse = thisOption.inverse;\n\n  if (thisOption.orient === 'vertical' ? !inverse : inverse) {\n    pieceList.reverse();\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PiecewiseModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/PiecewiseView.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/PiecewiseView.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _VisualMapView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VisualMapView.js */ \"./node_modules/echarts/lib/component/visualMap/VisualMapView.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/component/visualMap/helper.js\");\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\nvar PiecewiseVisualMapView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PiecewiseVisualMapView, _super);\n\n  function PiecewiseVisualMapView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = PiecewiseVisualMapView.type;\n    return _this;\n  }\n\n  PiecewiseVisualMapView.prototype.doRender = function () {\n    var thisGroup = this.group;\n    thisGroup.removeAll();\n    var visualMapModel = this.visualMapModel;\n    var textGap = visualMapModel.get('textGap');\n    var textStyleModel = visualMapModel.textStyleModel;\n    var textFont = textStyleModel.getFont();\n    var textFill = textStyleModel.getTextColor();\n\n    var itemAlign = this._getItemAlign();\n\n    var itemSize = visualMapModel.itemSize;\n\n    var viewData = this._getViewData();\n\n    var endsText = viewData.endsText;\n    var showLabel = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve\"](visualMapModel.get('showLabel', true), !endsText);\n    endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](viewData.viewPieceList, function (item) {\n      var piece = item.piece;\n      var itemGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n      itemGroup.onclick = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](this._onItemClick, this, piece);\n\n      this._enableHoverLink(itemGroup, item.indexInModelPieceList); // TODO Category\n\n\n      var representValue = visualMapModel.getRepresentValue(piece);\n\n      this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);\n\n      if (showLabel) {\n        var visualState = this.visualMapModel.getValueState(representValue);\n        itemGroup.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Text\"]({\n          style: {\n            x: itemAlign === 'right' ? -textGap : itemSize[0] + textGap,\n            y: itemSize[1] / 2,\n            text: piece.text,\n            verticalAlign: 'middle',\n            align: itemAlign,\n            font: textFont,\n            fill: textFill,\n            opacity: visualState === 'outOfRange' ? 0.5 : 1\n          }\n        }));\n      }\n\n      thisGroup.add(itemGroup);\n    }, this);\n    endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);\n    _util_layout_js__WEBPACK_IMPORTED_MODULE_5__[\"box\"](visualMapModel.get('orient'), thisGroup, visualMapModel.get('itemGap'));\n    this.renderBackground(thisGroup);\n    this.positionGroup(thisGroup);\n  };\n\n  PiecewiseVisualMapView.prototype._enableHoverLink = function (itemGroup, pieceIndex) {\n    var _this = this;\n\n    itemGroup.on('mouseover', function () {\n      return onHoverLink('highlight');\n    }).on('mouseout', function () {\n      return onHoverLink('downplay');\n    });\n\n    var onHoverLink = function (method) {\n      var visualMapModel = _this.visualMapModel; // TODO: TYPE More detailed action types\n\n      visualMapModel.option.hoverLink && _this.api.dispatchAction({\n        type: method,\n        batch: _helper_js__WEBPACK_IMPORTED_MODULE_6__[\"makeHighDownBatch\"](visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)\n      });\n    };\n  };\n\n  PiecewiseVisualMapView.prototype._getItemAlign = function () {\n    var visualMapModel = this.visualMapModel;\n    var modelOption = visualMapModel.option;\n\n    if (modelOption.orient === 'vertical') {\n      return _helper_js__WEBPACK_IMPORTED_MODULE_6__[\"getItemAlign\"](visualMapModel, this.api, visualMapModel.itemSize);\n    } else {\n      // horizontal, most case left unless specifying right.\n      var align = modelOption.align;\n\n      if (!align || align === 'auto') {\n        align = 'left';\n      }\n\n      return align;\n    }\n  };\n\n  PiecewiseVisualMapView.prototype._renderEndsText = function (group, text, itemSize, showLabel, itemAlign) {\n    if (!text) {\n      return;\n    }\n\n    var itemGroup = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Group\"]();\n    var textStyleModel = this.visualMapModel.textStyleModel;\n    itemGroup.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_3__[\"Text\"]({\n      style: Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_7__[\"createTextStyle\"])(textStyleModel, {\n        x: showLabel ? itemAlign === 'right' ? itemSize[0] : 0 : itemSize[0] / 2,\n        y: itemSize[1] / 2,\n        verticalAlign: 'middle',\n        align: showLabel ? itemAlign : 'center',\n        text: text\n      })\n    }));\n    group.add(itemGroup);\n  };\n  /**\n   * @private\n   * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.\n   */\n\n\n  PiecewiseVisualMapView.prototype._getViewData = function () {\n    var visualMapModel = this.visualMapModel;\n    var viewPieceList = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](visualMapModel.getPieceList(), function (piece, index) {\n      return {\n        piece: piece,\n        indexInModelPieceList: index\n      };\n    });\n    var endsText = visualMapModel.get('text'); // Consider orient and inverse.\n\n    var orient = visualMapModel.get('orient');\n    var inverse = visualMapModel.get('inverse'); // Order of model pieceList is always [low, ..., high]\n\n    if (orient === 'horizontal' ? inverse : !inverse) {\n      viewPieceList.reverse();\n    } // Origin order of endsText is [high, low]\n    else if (endsText) {\n        endsText = endsText.slice().reverse();\n      }\n\n    return {\n      viewPieceList: viewPieceList,\n      endsText: endsText\n    };\n  };\n\n  PiecewiseVisualMapView.prototype._createItemSymbol = function (group, representValue, shapeParam) {\n    group.add(Object(_util_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"createSymbol\"])( // symbol will be string\n    this.getControllerVisual(representValue, 'symbol'), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], // color will be string\n    this.getControllerVisual(representValue, 'color')));\n  };\n\n  PiecewiseVisualMapView.prototype._onItemClick = function (piece) {\n    var visualMapModel = this.visualMapModel;\n    var option = visualMapModel.option;\n    var selectedMode = option.selectedMode;\n\n    if (!selectedMode) {\n      return;\n    }\n\n    var selected = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](option.selected);\n    var newKey = visualMapModel.getSelectedMapKey(piece);\n\n    if (selectedMode === 'single' || selectedMode === true) {\n      selected[newKey] = true;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](selected, function (o, key) {\n        selected[key] = key === newKey;\n      });\n    } else {\n      selected[newKey] = !selected[newKey];\n    }\n\n    this.api.dispatchAction({\n      type: 'selectDataRange',\n      from: this.uid,\n      visualMapId: this.visualMapModel.id,\n      selected: selected\n    });\n  };\n\n  PiecewiseVisualMapView.type = 'visualMap.piecewise';\n  return PiecewiseVisualMapView;\n}(_VisualMapView_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PiecewiseVisualMapView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/VisualMapModel.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/VisualMapModel.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _visual_visualDefault_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../visual/visualDefault.js */ \"./node_modules/echarts/lib/visual/visualDefault.js\");\n/* harmony import */ var _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../visual/VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n/* harmony import */ var _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../visual/visualSolution.js */ \"./node_modules/echarts/lib/visual/visualSolution.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar mapVisual = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].mapVisual;\nvar eachVisual = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].eachVisual;\nvar isArray = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"];\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"];\nvar asc = _util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"asc\"];\nvar linearMap = _util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"linearMap\"];\n\nvar VisualMapModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(VisualMapModel, _super);\n\n  function VisualMapModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = VisualMapModel.type;\n    _this.stateList = ['inRange', 'outOfRange'];\n    _this.replacableOptionKeys = ['inRange', 'outOfRange', 'target', 'controller', 'color'];\n    _this.layoutMode = {\n      type: 'box',\n      ignoreSize: true\n    };\n    /**\n     * [lowerBound, upperBound]\n     */\n\n    _this.dataBound = [-Infinity, Infinity];\n    _this.targetVisuals = {};\n    _this.controllerVisuals = {};\n    return _this;\n  }\n\n  VisualMapModel.prototype.init = function (option, parentModel, ecModel) {\n    this.mergeDefaultAndTheme(option, ecModel);\n  };\n  /**\n   * @protected\n   */\n\n\n  VisualMapModel.prototype.optionUpdated = function (newOption, isInit) {\n    var thisOption = this.option;\n    !isInit && _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_4__[\"replaceVisualOption\"](thisOption, newOption, this.replacableOptionKeys);\n    this.textStyleModel = this.getModel('textStyle');\n    this.resetItemSize();\n    this.completeVisualOption();\n  };\n  /**\n   * @protected\n   */\n\n\n  VisualMapModel.prototype.resetVisual = function (supplementVisualOption) {\n    var stateList = this.stateList;\n    supplementVisualOption = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"bind\"](supplementVisualOption, this);\n    this.controllerVisuals = _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_4__[\"createVisualMappings\"](this.option.controller, stateList, supplementVisualOption);\n    this.targetVisuals = _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_4__[\"createVisualMappings\"](this.option.target, stateList, supplementVisualOption);\n  };\n  /**\n   * @public\n   */\n\n\n  VisualMapModel.prototype.getItemSymbol = function () {\n    return null;\n  };\n  /**\n   * @protected\n   * @return {Array.<number>} An array of series indices.\n   */\n\n\n  VisualMapModel.prototype.getTargetSeriesIndices = function () {\n    var optionSeriesIndex = this.option.seriesIndex;\n    var seriesIndices = [];\n\n    if (optionSeriesIndex == null || optionSeriesIndex === 'all') {\n      this.ecModel.eachSeries(function (seriesModel, index) {\n        seriesIndices.push(index);\n      });\n    } else {\n      seriesIndices = _util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"normalizeToArray\"](optionSeriesIndex);\n    }\n\n    return seriesIndices;\n  };\n  /**\n   * @public\n   */\n\n\n  VisualMapModel.prototype.eachTargetSeries = function (callback, context) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this.getTargetSeriesIndices(), function (seriesIndex) {\n      var seriesModel = this.ecModel.getSeriesByIndex(seriesIndex);\n\n      if (seriesModel) {\n        callback.call(context, seriesModel);\n      }\n    }, this);\n  };\n  /**\n   * @pubilc\n   */\n\n\n  VisualMapModel.prototype.isTargetSeries = function (seriesModel) {\n    var is = false;\n    this.eachTargetSeries(function (model) {\n      model === seriesModel && (is = true);\n    });\n    return is;\n  };\n  /**\n   * @example\n   * this.formatValueText(someVal); // format single numeric value to text.\n   * this.formatValueText(someVal, true); // format single category value to text.\n   * this.formatValueText([min, max]); // format numeric min-max to text.\n   * this.formatValueText([this.dataBound[0], max]); // using data lower bound.\n   * this.formatValueText([min, this.dataBound[1]]); // using data upper bound.\n   *\n   * @param value Real value, or this.dataBound[0 or 1].\n   * @param isCategory Only available when value is number.\n   * @param edgeSymbols Open-close symbol when value is interval.\n   * @protected\n   */\n\n\n  VisualMapModel.prototype.formatValueText = function (value, isCategory, edgeSymbols) {\n    var option = this.option;\n    var precision = option.precision;\n    var dataBound = this.dataBound;\n    var formatter = option.formatter;\n    var isMinMax;\n    edgeSymbols = edgeSymbols || ['<', '>'];\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](value)) {\n      value = value.slice();\n      isMinMax = true;\n    }\n\n    var textValue = isCategory ? value // Value is string when isCategory\n    : isMinMax ? [toFixed(value[0]), toFixed(value[1])] : toFixed(value);\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](formatter)) {\n      return formatter.replace('{value}', isMinMax ? textValue[0] : textValue).replace('{value2}', isMinMax ? textValue[1] : textValue);\n    } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](formatter)) {\n      return isMinMax ? formatter(value[0], value[1]) : formatter(value);\n    }\n\n    if (isMinMax) {\n      if (value[0] === dataBound[0]) {\n        return edgeSymbols[0] + ' ' + textValue[1];\n      } else if (value[1] === dataBound[1]) {\n        return edgeSymbols[1] + ' ' + textValue[0];\n      } else {\n        return textValue[0] + ' - ' + textValue[1];\n      }\n    } else {\n      // Format single value (includes category case).\n      return textValue;\n    }\n\n    function toFixed(val) {\n      return val === dataBound[0] ? 'min' : val === dataBound[1] ? 'max' : (+val).toFixed(Math.min(precision, 20));\n    }\n  };\n  /**\n   * @protected\n   */\n\n\n  VisualMapModel.prototype.resetExtent = function () {\n    var thisOption = this.option; // Can not calculate data extent by data here.\n    // Because series and data may be modified in processing stage.\n    // So we do not support the feature \"auto min/max\".\n\n    var extent = asc([thisOption.min, thisOption.max]);\n    this._dataExtent = extent;\n  };\n  /**\n   * PENDING:\n   * delete this method if no outer usage.\n   *\n   * Return  Concrete dimention. If return null/undefined, no dimension used.\n   */\n  // getDataDimension(data: SeriesData) {\n  //     const optDim = this.option.dimension;\n  //     if (optDim != null) {\n  //         return data.getDimension(optDim);\n  //     }\n  //     const dimNames = data.dimensions;\n  //     for (let i = dimNames.length - 1; i >= 0; i--) {\n  //         const dimName = dimNames[i];\n  //         const dimInfo = data.getDimensionInfo(dimName);\n  //         if (!dimInfo.isCalculationCoord) {\n  //             return dimName;\n  //         }\n  //     }\n  // }\n\n\n  VisualMapModel.prototype.getDataDimensionIndex = function (data) {\n    var optDim = this.option.dimension;\n\n    if (optDim != null) {\n      return data.getDimensionIndex(optDim);\n    }\n\n    var dimNames = data.dimensions;\n\n    for (var i = dimNames.length - 1; i >= 0; i--) {\n      var dimName = dimNames[i];\n      var dimInfo = data.getDimensionInfo(dimName);\n\n      if (!dimInfo.isCalculationCoord) {\n        return dimInfo.storeDimIndex;\n      }\n    }\n  };\n\n  VisualMapModel.prototype.getExtent = function () {\n    return this._dataExtent.slice();\n  };\n\n  VisualMapModel.prototype.completeVisualOption = function () {\n    var ecModel = this.ecModel;\n    var thisOption = this.option;\n    var base = {\n      inRange: thisOption.inRange,\n      outOfRange: thisOption.outOfRange\n    };\n    var target = thisOption.target || (thisOption.target = {});\n    var controller = thisOption.controller || (thisOption.controller = {});\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](target, base); // Do not override\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](controller, base); // Do not override\n\n    var isCategory = this.isCategory();\n    completeSingle.call(this, target);\n    completeSingle.call(this, controller);\n    completeInactive.call(this, target, 'inRange', 'outOfRange'); // completeInactive.call(this, target, 'outOfRange', 'inRange');\n\n    completeController.call(this, controller);\n\n    function completeSingle(base) {\n      // Compatible with ec2 dataRange.color.\n      // The mapping order of dataRange.color is: [high value, ..., low value]\n      // whereas inRange.color and outOfRange.color is [low value, ..., high value]\n      // Notice: ec2 has no inverse.\n      if (isArray(thisOption.color) // If there has been inRange: {symbol: ...}, adding color is a mistake.\n      // So adding color only when no inRange defined.\n      && !base.inRange) {\n        base.inRange = {\n          color: thisOption.color.slice().reverse()\n        };\n      } // Compatible with previous logic, always give a defautl color, otherwise\n      // simple config with no inRange and outOfRange will not work.\n      // Originally we use visualMap.color as the default color, but setOption at\n      // the second time the default color will be erased. So we change to use\n      // constant DEFAULT_COLOR.\n      // If user do not want the default color, set inRange: {color: null}.\n\n\n      base.inRange = base.inRange || {\n        color: ecModel.get('gradientColor')\n      };\n    }\n\n    function completeInactive(base, stateExist, stateAbsent) {\n      var optExist = base[stateExist];\n      var optAbsent = base[stateAbsent];\n\n      if (optExist && !optAbsent) {\n        optAbsent = base[stateAbsent] = {};\n        each(optExist, function (visualData, visualType) {\n          if (!_visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isValidType(visualType)) {\n            return;\n          }\n\n          var defa = _visual_visualDefault_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].get(visualType, 'inactive', isCategory);\n\n          if (defa != null) {\n            optAbsent[visualType] = defa; // Compatibable with ec2:\n            // Only inactive color to rgba(0,0,0,0) can not\n            // make label transparent, so use opacity also.\n\n            if (visualType === 'color' && !optAbsent.hasOwnProperty('opacity') && !optAbsent.hasOwnProperty('colorAlpha')) {\n              optAbsent.opacity = [0, 0];\n            }\n          }\n        });\n      }\n    }\n\n    function completeController(controller) {\n      var symbolExists = (controller.inRange || {}).symbol || (controller.outOfRange || {}).symbol;\n      var symbolSizeExists = (controller.inRange || {}).symbolSize || (controller.outOfRange || {}).symbolSize;\n      var inactiveColor = this.get('inactiveColor');\n      var itemSymbol = this.getItemSymbol();\n      var defaultSymbol = itemSymbol || 'roundRect';\n      each(this.stateList, function (state) {\n        var itemSize = this.itemSize;\n        var visuals = controller[state]; // Set inactive color for controller if no other color\n        // attr (like colorAlpha) specified.\n\n        if (!visuals) {\n          visuals = controller[state] = {\n            color: isCategory ? inactiveColor : [inactiveColor]\n          };\n        } // Consistent symbol and symbolSize if not specified.\n\n\n        if (visuals.symbol == null) {\n          visuals.symbol = symbolExists && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](symbolExists) || (isCategory ? defaultSymbol : [defaultSymbol]);\n        }\n\n        if (visuals.symbolSize == null) {\n          visuals.symbolSize = symbolSizeExists && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](symbolSizeExists) || (isCategory ? itemSize[0] : [itemSize[0], itemSize[0]]);\n        } // Filter none\n\n\n        visuals.symbol = mapVisual(visuals.symbol, function (symbol) {\n          return symbol === 'none' ? defaultSymbol : symbol;\n        }); // Normalize symbolSize\n\n        var symbolSize = visuals.symbolSize;\n\n        if (symbolSize != null) {\n          var max_1 = -Infinity; // symbolSize can be object when categories defined.\n\n          eachVisual(symbolSize, function (value) {\n            value > max_1 && (max_1 = value);\n          });\n          visuals.symbolSize = mapVisual(symbolSize, function (value) {\n            return linearMap(value, [0, max_1], [0, itemSize[0]], true);\n          });\n        }\n      }, this);\n    }\n  };\n\n  VisualMapModel.prototype.resetItemSize = function () {\n    this.itemSize = [parseFloat(this.get('itemWidth')), parseFloat(this.get('itemHeight'))];\n  };\n\n  VisualMapModel.prototype.isCategory = function () {\n    return !!this.option.categories;\n  };\n  /**\n   * @public\n   * @abstract\n   */\n\n\n  VisualMapModel.prototype.setSelected = function (selected) {};\n\n  VisualMapModel.prototype.getSelected = function () {\n    return null;\n  };\n  /**\n   * @public\n   * @abstract\n   */\n\n\n  VisualMapModel.prototype.getValueState = function (value) {\n    return null;\n  };\n  /**\n   * FIXME\n   * Do not publish to thirt-part-dev temporarily\n   * util the interface is stable. (Should it return\n   * a function but not visual meta?)\n   *\n   * @pubilc\n   * @abstract\n   * @param getColorVisual\n   *        params: value, valueState\n   *        return: color\n   * @return {Object} visualMeta\n   *        should includes {stops, outerColors}\n   *        outerColor means [colorBeyondMinValue, colorBeyondMaxValue]\n   */\n\n\n  VisualMapModel.prototype.getVisualMeta = function (getColorVisual) {\n    return null;\n  };\n\n  VisualMapModel.type = 'visualMap';\n  VisualMapModel.dependencies = ['series'];\n  VisualMapModel.defaultOption = {\n    show: true,\n    // zlevel: 0,\n    z: 4,\n    seriesIndex: 'all',\n    min: 0,\n    max: 200,\n    left: 0,\n    right: null,\n    top: null,\n    bottom: 0,\n    itemWidth: null,\n    itemHeight: null,\n    inverse: false,\n    orient: 'vertical',\n    backgroundColor: 'rgba(0,0,0,0)',\n    borderColor: '#ccc',\n    contentColor: '#5793f3',\n    inactiveColor: '#aaa',\n    borderWidth: 0,\n    padding: 5,\n    // 接受数组分别设定上右下左边距，同css\n    textGap: 10,\n    precision: 0,\n    textStyle: {\n      color: '#333' // 值域文字颜色\n\n    }\n  };\n  return VisualMapModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VisualMapModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/VisualMapView.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/VisualMapView.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../visual/VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar VisualMapView =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(VisualMapView, _super);\n\n  function VisualMapView() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = VisualMapView.type;\n    _this.autoPositionValues = {\n      left: 1,\n      right: 1,\n      top: 1,\n      bottom: 1\n    };\n    return _this;\n  }\n\n  VisualMapView.prototype.init = function (ecModel, api) {\n    this.ecModel = ecModel;\n    this.api = api;\n  };\n  /**\n   * @protected\n   */\n\n\n  VisualMapView.prototype.render = function (visualMapModel, ecModel, api, payload // TODO: TYPE\n  ) {\n    this.visualMapModel = visualMapModel;\n\n    if (visualMapModel.get('show') === false) {\n      this.group.removeAll();\n      return;\n    }\n\n    this.doRender(visualMapModel, ecModel, api, payload);\n  };\n  /**\n   * @protected\n   */\n\n\n  VisualMapView.prototype.renderBackground = function (group) {\n    var visualMapModel = this.visualMapModel;\n    var padding = _util_format_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeCssArray\"](visualMapModel.get('padding') || 0);\n    var rect = group.getBoundingRect();\n    group.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_2__[\"Rect\"]({\n      z2: -1,\n      silent: true,\n      shape: {\n        x: rect.x - padding[3],\n        y: rect.y - padding[0],\n        width: rect.width + padding[3] + padding[1],\n        height: rect.height + padding[0] + padding[2]\n      },\n      style: {\n        fill: visualMapModel.get('backgroundColor'),\n        stroke: visualMapModel.get('borderColor'),\n        lineWidth: visualMapModel.get('borderWidth')\n      }\n    }));\n  };\n  /**\n   * @protected\n   * @param targetValue can be Infinity or -Infinity\n   * @param visualCluster Only can be 'color' 'opacity' 'symbol' 'symbolSize'\n   * @param opts\n   * @param opts.forceState Specify state, instead of using getValueState method.\n   * @param opts.convertOpacityToAlpha For color gradient in controller widget.\n   * @return {*} Visual value.\n   */\n\n\n  VisualMapView.prototype.getControllerVisual = function (targetValue, visualCluster, opts) {\n    opts = opts || {};\n    var forceState = opts.forceState;\n    var visualMapModel = this.visualMapModel;\n    var visualObj = {}; // Default values.\n\n    if (visualCluster === 'color') {\n      var defaultColor = visualMapModel.get('contentColor');\n      visualObj.color = defaultColor;\n    }\n\n    function getter(key) {\n      return visualObj[key];\n    }\n\n    function setter(key, value) {\n      visualObj[key] = value;\n    }\n\n    var mappings = visualMapModel.controllerVisuals[forceState || visualMapModel.getValueState(targetValue)];\n    var visualTypes = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].prepareVisualTypes(mappings);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](visualTypes, function (type) {\n      var visualMapping = mappings[type];\n\n      if (opts.convertOpacityToAlpha && type === 'opacity') {\n        type = 'colorAlpha';\n        visualMapping = mappings.__alphaForOpacity;\n      }\n\n      if (_visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].dependsOn(type, visualCluster)) {\n        visualMapping && visualMapping.applyVisual(targetValue, getter, setter);\n      }\n    });\n    return visualObj[visualCluster];\n  };\n\n  VisualMapView.prototype.positionGroup = function (group) {\n    var model = this.visualMapModel;\n    var api = this.api;\n    _util_layout_js__WEBPACK_IMPORTED_MODULE_4__[\"positionElement\"](group, model.getBoxLayoutParams(), {\n      width: api.getWidth(),\n      height: api.getHeight()\n    });\n  };\n\n  VisualMapView.prototype.doRender = function (visualMapModel, ecModel, api, payload) {};\n\n  VisualMapView.type = 'visualMap';\n  return VisualMapView;\n}(_view_Component_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VisualMapView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapView.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/helper.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/helper.js ***!
  \****************************************************************/
/*! exports provided: getItemAlign, makeHighDownBatch */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getItemAlign\", function() { return getItemAlign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeHighDownBatch\", function() { return makeHighDownBatch; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar paramsSet = [['left', 'right', 'width'], ['top', 'bottom', 'height']];\n/**\n * @param visualMapModel\n * @param api\n * @param itemSize always [short, long]\n * @return {string} 'left' or 'right' or 'top' or 'bottom'\n */\n\nfunction getItemAlign(visualMapModel, api, itemSize) {\n  var modelOption = visualMapModel.option;\n  var itemAlign = modelOption.align;\n\n  if (itemAlign != null && itemAlign !== 'auto') {\n    return itemAlign;\n  } // Auto decision align.\n\n\n  var ecSize = {\n    width: api.getWidth(),\n    height: api.getHeight()\n  };\n  var realIndex = modelOption.orient === 'horizontal' ? 1 : 0;\n  var reals = paramsSet[realIndex];\n  var fakeValue = [0, null, 10];\n  var layoutInput = {};\n\n  for (var i = 0; i < 3; i++) {\n    layoutInput[paramsSet[1 - realIndex][i]] = fakeValue[i];\n    layoutInput[reals[i]] = i === 2 ? itemSize[0] : modelOption[reals[i]];\n  }\n\n  var rParam = [['x', 'width', 3], ['y', 'height', 0]][realIndex];\n  var rect = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_1__[\"getLayoutRect\"])(layoutInput, ecSize, modelOption.padding);\n  return reals[(rect.margin[rParam[2]] || 0) + rect[rParam[0]] + rect[rParam[1]] * 0.5 < ecSize[rParam[1]] * 0.5 ? 0 : 1];\n}\n/**\n * Prepare dataIndex for outside usage, where dataIndex means rawIndex, and\n * dataIndexInside means filtered index.\n */\n// TODO: TYPE more specified payload types.\n\nfunction makeHighDownBatch(batch, visualMapModel) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](batch || [], function (batchItem) {\n    if (batchItem.dataIndex != null) {\n      batchItem.dataIndexInside = batchItem.dataIndex;\n      batchItem.dataIndex = null;\n    }\n\n    batchItem.highlightKey = 'visualMap' + (visualMapModel ? visualMapModel.componentIndex : '');\n  });\n  return batch;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/install.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/install.js ***!
  \*****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _installVisualMapContinuous_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./installVisualMapContinuous.js */ \"./node_modules/echarts/lib/component/visualMap/installVisualMapContinuous.js\");\n/* harmony import */ var _installVisualMapPiecewise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installVisualMapPiecewise.js */ \"./node_modules/echarts/lib/component/visualMap/installVisualMapPiecewise.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installVisualMapContinuous_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]);\n  Object(_extension_js__WEBPACK_IMPORTED_MODULE_0__[\"use\"])(_installVisualMapPiecewise_js__WEBPACK_IMPORTED_MODULE_2__[\"install\"]); // Do not install './dataZoomSelect',\n  // since it only work for toolbox dataZoom.\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/install.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/installCommon.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/installCommon.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return installCommon; });\n/* harmony import */ var _visualMapAction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./visualMapAction.js */ \"./node_modules/echarts/lib/component/visualMap/visualMapAction.js\");\n/* harmony import */ var _visualEncoding_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./visualEncoding.js */ \"./node_modules/echarts/lib/component/visualMap/visualEncoding.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _preprocessor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./preprocessor.js */ \"./node_modules/echarts/lib/component/visualMap/preprocessor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar installed = false;\nfunction installCommon(registers) {\n  if (installed) {\n    return;\n  }\n\n  installed = true;\n  registers.registerSubTypeDefaulter('visualMap', function (option) {\n    // Compatible with ec2, when splitNumber === 0, continuous visualMap will be used.\n    return !option.categories && (!(option.pieces ? option.pieces.length > 0 : option.splitNumber > 0) || option.calculable) ? 'continuous' : 'piecewise';\n  });\n  registers.registerAction(_visualMapAction_js__WEBPACK_IMPORTED_MODULE_0__[\"visualMapActionInfo\"], _visualMapAction_js__WEBPACK_IMPORTED_MODULE_0__[\"visualMapActionHander\"]);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(_visualEncoding_js__WEBPACK_IMPORTED_MODULE_1__[\"visualMapEncodingHandlers\"], function (handler) {\n    registers.registerVisual(registers.PRIORITY.VISUAL.COMPONENT, handler);\n  });\n  registers.registerPreprocessor(_preprocessor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/installCommon.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/installVisualMapContinuous.js":
/*!************************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/installVisualMapContinuous.js ***!
  \************************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _ContinuousModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ContinuousModel.js */ \"./node_modules/echarts/lib/component/visualMap/ContinuousModel.js\");\n/* harmony import */ var _ContinuousView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ContinuousView.js */ \"./node_modules/echarts/lib/component/visualMap/ContinuousView.js\");\n/* harmony import */ var _installCommon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installCommon.js */ \"./node_modules/echarts/lib/component/visualMap/installCommon.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_ContinuousModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_ContinuousView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  Object(_installCommon_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/installVisualMapContinuous.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/installVisualMapPiecewise.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/installVisualMapPiecewise.js ***!
  \***********************************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var _PiecewiseModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PiecewiseModel.js */ \"./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js\");\n/* harmony import */ var _PiecewiseView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PiecewiseView.js */ \"./node_modules/echarts/lib/component/visualMap/PiecewiseView.js\");\n/* harmony import */ var _installCommon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./installCommon.js */ \"./node_modules/echarts/lib/component/visualMap/installCommon.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nfunction install(registers) {\n  registers.registerComponentModel(_PiecewiseModel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n  registers.registerComponentView(_PiecewiseView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  Object(_installCommon_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(registers);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/installVisualMapPiecewise.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/preprocessor.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/preprocessor.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return visualMapPreprocessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nfunction visualMapPreprocessor(option) {\n  var visualMap = option && option.visualMap;\n\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](visualMap)) {\n    visualMap = visualMap ? [visualMap] : [];\n  }\n\n  each(visualMap, function (opt) {\n    if (!opt) {\n      return;\n    } // rename splitList to pieces\n\n\n    if (has(opt, 'splitList') && !has(opt, 'pieces')) {\n      opt.pieces = opt.splitList;\n      delete opt.splitList;\n    }\n\n    var pieces = opt.pieces;\n\n    if (pieces && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](pieces)) {\n      each(pieces, function (piece) {\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](piece)) {\n          if (has(piece, 'start') && !has(piece, 'min')) {\n            piece.min = piece.start;\n          }\n\n          if (has(piece, 'end') && !has(piece, 'max')) {\n            piece.max = piece.end;\n          }\n        }\n      });\n    }\n  });\n}\n\nfunction has(obj, name) {\n  return obj && obj.hasOwnProperty && obj.hasOwnProperty(name);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/preprocessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/visualEncoding.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/visualEncoding.js ***!
  \************************************************************************/
/*! exports provided: visualMapEncodingHandlers */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualMapEncodingHandlers\", function() { return visualMapEncodingHandlers; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../visual/visualSolution.js */ \"./node_modules/echarts/lib/visual/visualSolution.js\");\n/* harmony import */ var _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../visual/VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n/* harmony import */ var _visual_helper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../visual/helper.js */ \"./node_modules/echarts/lib/visual/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar visualMapEncodingHandlers = [{\n  createOnAllSeries: true,\n  reset: function (seriesModel, ecModel) {\n    var resetDefines = [];\n    ecModel.eachComponent('visualMap', function (visualMapModel) {\n      var pipelineContext = seriesModel.pipelineContext;\n\n      if (!visualMapModel.isTargetSeries(seriesModel) || pipelineContext && pipelineContext.large) {\n        return;\n      }\n\n      resetDefines.push(_visual_visualSolution_js__WEBPACK_IMPORTED_MODULE_1__[\"incrementalApplyVisual\"](visualMapModel.stateList, visualMapModel.targetVisuals, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](visualMapModel.getValueState, visualMapModel), visualMapModel.getDataDimensionIndex(seriesModel.getData())));\n    });\n    return resetDefines;\n  }\n}, // Only support color.\n{\n  createOnAllSeries: true,\n  reset: function (seriesModel, ecModel) {\n    var data = seriesModel.getData();\n    var visualMetaList = [];\n    ecModel.eachComponent('visualMap', function (visualMapModel) {\n      if (visualMapModel.isTargetSeries(seriesModel)) {\n        var visualMeta = visualMapModel.getVisualMeta(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](getColorVisual, null, seriesModel, visualMapModel)) || {\n          stops: [],\n          outerColors: []\n        };\n        var dimIdx = visualMapModel.getDataDimensionIndex(data);\n\n        if (dimIdx >= 0) {\n          // visualMeta.dimension should be dimension index, but not concrete dimension.\n          visualMeta.dimension = dimIdx;\n          visualMetaList.push(visualMeta);\n        }\n      }\n    }); // console.log(JSON.stringify(visualMetaList.map(a => a.stops)));\n\n    seriesModel.getData().setVisual('visualMeta', visualMetaList);\n  }\n}]; // FIXME\n// performance and export for heatmap?\n// value can be Infinity or -Infinity\n\nfunction getColorVisual(seriesModel, visualMapModel, value, valueState) {\n  var mappings = visualMapModel.targetVisuals[valueState];\n  var visualTypes = _visual_VisualMapping_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prepareVisualTypes(mappings);\n  var resultVisual = {\n    color: Object(_visual_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getVisualFromData\"])(seriesModel.getData(), 'color') // default color.\n\n  };\n\n  for (var i = 0, len = visualTypes.length; i < len; i++) {\n    var type = visualTypes[i];\n    var mapping = mappings[type === 'opacity' ? '__alphaForOpacity' : type];\n    mapping && mapping.applyVisual(value, getVisual, setVisual);\n  }\n\n  return resultVisual.color;\n\n  function getVisual(key) {\n    return resultVisual[key];\n  }\n\n  function setVisual(key, value) {\n    resultVisual[key] = value;\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/visualEncoding.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/component/visualMap/visualMapAction.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/component/visualMap/visualMapAction.js ***!
  \*************************************************************************/
/*! exports provided: visualMapActionInfo, visualMapActionHander */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualMapActionInfo\", function() { return visualMapActionInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualMapActionHander\", function() { return visualMapActionHander; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar visualMapActionInfo = {\n  type: 'selectDataRange',\n  event: 'dataRangeSelected',\n  // FIXME use updateView appears wrong\n  update: 'update'\n};\nvar visualMapActionHander = function (payload, ecModel) {\n  ecModel.eachComponent({\n    mainType: 'visualMap',\n    query: payload\n  }, function (model) {\n    model.setSelected(payload.selected);\n  });\n};\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/visualMapAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/Axis.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/coord/Axis.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _axisTickLabelBuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./axisTickLabelBuilder.js */ \"./node_modules/echarts/lib/coord/axisTickLabelBuilder.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar NORMALIZED_EXTENT = [0, 1];\n/**\n * Base class of Axis.\n */\n\nvar Axis =\n/** @class */\nfunction () {\n  function Axis(dim, scale, extent) {\n    this.onBand = false;\n    this.inverse = false;\n    this.dim = dim;\n    this.scale = scale;\n    this._extent = extent || [0, 0];\n  }\n  /**\n   * If axis extent contain given coord\n   */\n\n\n  Axis.prototype.contain = function (coord) {\n    var extent = this._extent;\n    var min = Math.min(extent[0], extent[1]);\n    var max = Math.max(extent[0], extent[1]);\n    return coord >= min && coord <= max;\n  };\n  /**\n   * If axis extent contain given data\n   */\n\n\n  Axis.prototype.containData = function (data) {\n    return this.scale.contain(data);\n  };\n  /**\n   * Get coord extent.\n   */\n\n\n  Axis.prototype.getExtent = function () {\n    return this._extent.slice();\n  };\n  /**\n   * Get precision used for formatting\n   */\n\n\n  Axis.prototype.getPixelPrecision = function (dataExtent) {\n    return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"getPixelPrecision\"])(dataExtent || this.scale.getExtent(), this._extent);\n  };\n  /**\n   * Set coord extent\n   */\n\n\n  Axis.prototype.setExtent = function (start, end) {\n    var extent = this._extent;\n    extent[0] = start;\n    extent[1] = end;\n  };\n  /**\n   * Convert data to coord. Data is the rank if it has an ordinal scale\n   */\n\n\n  Axis.prototype.dataToCoord = function (data, clamp) {\n    var extent = this._extent;\n    var scale = this.scale;\n    data = scale.normalize(data);\n\n    if (this.onBand && scale.type === 'ordinal') {\n      extent = extent.slice();\n      fixExtentWithBands(extent, scale.count());\n    }\n\n    return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"])(data, NORMALIZED_EXTENT, extent, clamp);\n  };\n  /**\n   * Convert coord to data. Data is the rank if it has an ordinal scale\n   */\n\n\n  Axis.prototype.coordToData = function (coord, clamp) {\n    var extent = this._extent;\n    var scale = this.scale;\n\n    if (this.onBand && scale.type === 'ordinal') {\n      extent = extent.slice();\n      fixExtentWithBands(extent, scale.count());\n    }\n\n    var t = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"linearMap\"])(coord, extent, NORMALIZED_EXTENT, clamp);\n    return this.scale.scale(t);\n  };\n  /**\n   * Convert pixel point to data in axis\n   */\n\n\n  Axis.prototype.pointToData = function (point, clamp) {\n    // Should be implemented in derived class if necessary.\n    return;\n  };\n  /**\n   * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,\n   * `axis.getTicksCoords` considers `onBand`, which is used by\n   * `boundaryGap:true` of category axis and splitLine and splitArea.\n   * @param opt.tickModel default: axis.model.getModel('axisTick')\n   * @param opt.clamp If `true`, the first and the last\n   *        tick must be at the axis end points. Otherwise, clip ticks\n   *        that outside the axis extent.\n   */\n\n\n  Axis.prototype.getTicksCoords = function (opt) {\n    opt = opt || {};\n    var tickModel = opt.tickModel || this.getTickModel();\n    var result = Object(_axisTickLabelBuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"createAxisTicks\"])(this, tickModel);\n    var ticks = result.ticks;\n    var ticksCoords = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(ticks, function (tickVal) {\n      return {\n        coord: this.dataToCoord(this.scale.type === 'ordinal' ? this.scale.getRawOrdinalNumber(tickVal) : tickVal),\n        tickValue: tickVal\n      };\n    }, this);\n    var alignWithLabel = tickModel.get('alignWithLabel');\n    fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);\n    return ticksCoords;\n  };\n\n  Axis.prototype.getMinorTicksCoords = function () {\n    if (this.scale.type === 'ordinal') {\n      // Category axis doesn't support minor ticks\n      return [];\n    }\n\n    var minorTickModel = this.model.getModel('minorTick');\n    var splitNumber = minorTickModel.get('splitNumber'); // Protection.\n\n    if (!(splitNumber > 0 && splitNumber < 100)) {\n      splitNumber = 5;\n    }\n\n    var minorTicks = this.scale.getMinorTicks(splitNumber);\n    var minorTicksCoords = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(minorTicks, function (minorTicksGroup) {\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(minorTicksGroup, function (minorTick) {\n        return {\n          coord: this.dataToCoord(minorTick),\n          tickValue: minorTick\n        };\n      }, this);\n    }, this);\n    return minorTicksCoords;\n  };\n\n  Axis.prototype.getViewLabels = function () {\n    return Object(_axisTickLabelBuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"createAxisLabels\"])(this).labels;\n  };\n\n  Axis.prototype.getLabelModel = function () {\n    return this.model.getModel('axisLabel');\n  };\n  /**\n   * Notice here we only get the default tick model. For splitLine\n   * or splitArea, we should pass the splitLineModel or splitAreaModel\n   * manually when calling `getTicksCoords`.\n   * In GL, this method may be overrided to:\n   * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`\n   */\n\n\n  Axis.prototype.getTickModel = function () {\n    return this.model.getModel('axisTick');\n  };\n  /**\n   * Get width of band\n   */\n\n\n  Axis.prototype.getBandWidth = function () {\n    var axisExtent = this._extent;\n    var dataExtent = this.scale.getExtent();\n    var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0); // Fix #2728, avoid NaN when only one data.\n\n    len === 0 && (len = 1);\n    var size = Math.abs(axisExtent[1] - axisExtent[0]);\n    return Math.abs(size) / len;\n  };\n  /**\n   * Only be called in category axis.\n   * Can be overrided, consider other axes like in 3D.\n   * @return Auto interval for cateogry axis tick and label\n   */\n\n\n  Axis.prototype.calculateCategoryInterval = function () {\n    return Object(_axisTickLabelBuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"calculateCategoryInterval\"])(this);\n  };\n\n  return Axis;\n}();\n\nfunction fixExtentWithBands(extent, nTick) {\n  var size = extent[1] - extent[0];\n  var len = nTick;\n  var margin = size / len / 2;\n  extent[0] += margin;\n  extent[1] -= margin;\n} // If axis has labels [1, 2, 3, 4]. Bands on the axis are\n// |---1---|---2---|---3---|---4---|.\n// So the displayed ticks and splitLine/splitArea should between\n// each data item, otherwise cause misleading (e.g., split tow bars\n// of a single data item when there are two bar series).\n// Also consider if tickCategoryInterval > 0 and onBand, ticks and\n// splitLine/spliteArea should layout appropriately corresponding\n// to displayed labels. (So we should not use `getBandWidth` in this\n// case).\n\n\nfunction fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp) {\n  var ticksLen = ticksCoords.length;\n\n  if (!axis.onBand || alignWithLabel || !ticksLen) {\n    return;\n  }\n\n  var axisExtent = axis.getExtent();\n  var last;\n  var diffSize;\n\n  if (ticksLen === 1) {\n    ticksCoords[0].coord = axisExtent[0];\n    last = ticksCoords[1] = {\n      coord: axisExtent[0]\n    };\n  } else {\n    var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;\n    var shift_1 = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(ticksCoords, function (ticksItem) {\n      ticksItem.coord -= shift_1 / 2;\n    });\n    var dataExtent = axis.scale.getExtent();\n    diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;\n    last = {\n      coord: ticksCoords[ticksLen - 1].coord + shift_1 * diffSize\n    };\n    ticksCoords.push(last);\n  }\n\n  var inverse = axisExtent[0] > axisExtent[1]; // Handling clamp.\n\n  if (littleThan(ticksCoords[0].coord, axisExtent[0])) {\n    clamp ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();\n  }\n\n  if (clamp && littleThan(axisExtent[0], ticksCoords[0].coord)) {\n    ticksCoords.unshift({\n      coord: axisExtent[0]\n    });\n  }\n\n  if (littleThan(axisExtent[1], last.coord)) {\n    clamp ? last.coord = axisExtent[1] : ticksCoords.pop();\n  }\n\n  if (clamp && littleThan(last.coord, axisExtent[1])) {\n    ticksCoords.push({\n      coord: axisExtent[1]\n    });\n  }\n\n  function littleThan(a, b) {\n    // Avoid rounding error cause calculated tick coord different with extent.\n    // It may cause an extra unecessary tick added.\n    a = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(a);\n    b = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(b);\n    return inverse ? a > b : a < b;\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Axis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/Axis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/CoordinateSystem.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/CoordinateSystem.js ***!
  \************************************************************/
/*! exports provided: isCoordinateSystemType */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCoordinateSystemType\", function() { return isCoordinateSystemType; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction isCoordinateSystemType(coordSys, type) {\n  return coordSys.type === type;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/CoordinateSystem.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/View.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/coord/View.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Simple view coordinate system\n * Mapping given x, y to transformd view x, y\n */\n\n\n\n\n\n\nvar v2ApplyTransform = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"];\n\nvar View =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(View, _super);\n\n  function View(name) {\n    var _this = _super.call(this) || this;\n\n    _this.type = 'view';\n    _this.dimensions = ['x', 'y'];\n    /**\n     * Represents the transform brought by roam/zoom.\n     * If `View['_viewRect']` applies roam transform,\n     * we can get the final displayed rect.\n     */\n\n    _this._roamTransformable = new zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n    /**\n     * Represents the transform from `View['_rect']` to `View['_viewRect']`.\n     */\n\n    _this._rawTransformable = new zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n    _this.name = name;\n    return _this;\n  }\n\n  View.prototype.setBoundingRect = function (x, y, width, height) {\n    this._rect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](x, y, width, height);\n    return this._rect;\n  };\n  /**\n   * @return {module:zrender/core/BoundingRect}\n   */\n\n\n  View.prototype.getBoundingRect = function () {\n    return this._rect;\n  };\n\n  View.prototype.setViewRect = function (x, y, width, height) {\n    this._transformTo(x, y, width, height);\n\n    this._viewRect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](x, y, width, height);\n  };\n  /**\n   * Transformed to particular position and size\n   */\n\n\n  View.prototype._transformTo = function (x, y, width, height) {\n    var rect = this.getBoundingRect();\n    var rawTransform = this._rawTransformable;\n    rawTransform.transform = rect.calculateTransform(new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](x, y, width, height));\n    var rawParent = rawTransform.parent;\n    rawTransform.parent = null;\n    rawTransform.decomposeTransform();\n    rawTransform.parent = rawParent;\n\n    this._updateTransform();\n  };\n  /**\n   * Set center of view\n   */\n\n\n  View.prototype.setCenter = function (centerCoord, api) {\n    if (!centerCoord) {\n      return;\n    }\n\n    this._center = [Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"parsePercent\"])(centerCoord[0], api.getWidth()), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_5__[\"parsePercent\"])(centerCoord[1], api.getHeight())];\n\n    this._updateCenterAndZoom();\n  };\n\n  View.prototype.setZoom = function (zoom) {\n    zoom = zoom || 1;\n    var zoomLimit = this.zoomLimit;\n\n    if (zoomLimit) {\n      if (zoomLimit.max != null) {\n        zoom = Math.min(zoomLimit.max, zoom);\n      }\n\n      if (zoomLimit.min != null) {\n        zoom = Math.max(zoomLimit.min, zoom);\n      }\n    }\n\n    this._zoom = zoom;\n\n    this._updateCenterAndZoom();\n  };\n  /**\n   * Get default center without roam\n   */\n\n\n  View.prototype.getDefaultCenter = function () {\n    // Rect before any transform\n    var rawRect = this.getBoundingRect();\n    var cx = rawRect.x + rawRect.width / 2;\n    var cy = rawRect.y + rawRect.height / 2;\n    return [cx, cy];\n  };\n\n  View.prototype.getCenter = function () {\n    return this._center || this.getDefaultCenter();\n  };\n\n  View.prototype.getZoom = function () {\n    return this._zoom || 1;\n  };\n\n  View.prototype.getRoamTransform = function () {\n    return this._roamTransformable.getLocalTransform();\n  };\n  /**\n   * Remove roam\n   */\n\n\n  View.prototype._updateCenterAndZoom = function () {\n    // Must update after view transform updated\n    var rawTransformMatrix = this._rawTransformable.getLocalTransform();\n\n    var roamTransform = this._roamTransformable;\n    var defaultCenter = this.getDefaultCenter();\n    var center = this.getCenter();\n    var zoom = this.getZoom();\n    center = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"]([], center, rawTransformMatrix);\n    defaultCenter = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"]([], defaultCenter, rawTransformMatrix);\n    roamTransform.originX = center[0];\n    roamTransform.originY = center[1];\n    roamTransform.x = defaultCenter[0] - center[0];\n    roamTransform.y = defaultCenter[1] - center[1];\n    roamTransform.scaleX = roamTransform.scaleY = zoom;\n\n    this._updateTransform();\n  };\n  /**\n   * Update transform props on `this` based on the current\n   * `this._roamTransformable` and `this._rawTransformable`.\n   */\n\n\n  View.prototype._updateTransform = function () {\n    var roamTransformable = this._roamTransformable;\n    var rawTransformable = this._rawTransformable;\n    rawTransformable.parent = roamTransformable;\n    roamTransformable.updateTransform();\n    rawTransformable.updateTransform();\n    zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"copy\"](this.transform || (this.transform = []), rawTransformable.transform || zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"create\"]());\n    this._rawTransform = rawTransformable.getLocalTransform();\n    this.invTransform = this.invTransform || [];\n    zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_2__[\"invert\"](this.invTransform, this.transform);\n    this.decomposeTransform();\n  };\n\n  View.prototype.getTransformInfo = function () {\n    var rawTransformable = this._rawTransformable;\n    var roamTransformable = this._roamTransformable; // Becuase roamTransformabel has `originX/originY` modified,\n    // but the caller of `getTransformInfo` can not handle `originX/originY`,\n    // so need to recalcualte them.\n\n    var dummyTransformable = new zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n    dummyTransformable.transform = roamTransformable.transform;\n    dummyTransformable.decomposeTransform();\n    return {\n      roam: {\n        x: dummyTransformable.x,\n        y: dummyTransformable.y,\n        scaleX: dummyTransformable.scaleX,\n        scaleY: dummyTransformable.scaleY\n      },\n      raw: {\n        x: rawTransformable.x,\n        y: rawTransformable.y,\n        scaleX: rawTransformable.scaleX,\n        scaleY: rawTransformable.scaleY\n      }\n    };\n  };\n\n  View.prototype.getViewRect = function () {\n    return this._viewRect;\n  };\n  /**\n   * Get view rect after roam transform\n   */\n\n\n  View.prototype.getViewRectAfterRoam = function () {\n    var rect = this.getBoundingRect().clone();\n    rect.applyTransform(this.transform);\n    return rect;\n  };\n  /**\n   * Convert a single (lon, lat) data item to (x, y) point.\n   */\n\n\n  View.prototype.dataToPoint = function (data, noRoam, out) {\n    var transform = noRoam ? this._rawTransform : this.transform;\n    out = out || [];\n    return transform ? v2ApplyTransform(out, data, transform) : zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"copy\"](out, data);\n  };\n  /**\n   * Convert a (x, y) point to (lon, lat) data\n   */\n\n\n  View.prototype.pointToData = function (point) {\n    var invTransform = this.invTransform;\n    return invTransform ? v2ApplyTransform([], point, invTransform) : [point[0], point[1]];\n  };\n\n  View.prototype.convertToPixel = function (ecModel, finder, value) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? coordSys.dataToPoint(value) : null;\n  };\n\n  View.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? coordSys.pointToData(pixel) : null;\n  };\n  /**\n   * @implements\n   */\n\n\n  View.prototype.containPoint = function (point) {\n    return this.getViewRectAfterRoam().contain(point[0], point[1]);\n  };\n\n  View.dimensions = ['x', 'y'];\n  return View;\n}(zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nfunction getCoordSys(finder) {\n  var seriesModel = finder.seriesModel;\n  return seriesModel ? seriesModel.coordinateSystem : null; // e.g., graph.\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (View);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/View.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisAlignTicks.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisAlignTicks.js ***!
  \**********************************************************/
/*! exports provided: alignScaleTicks */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignScaleTicks\", function() { return alignScaleTicks; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _scale_Interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scale/Interval.js */ \"./node_modules/echarts/lib/scale/Interval.js\");\n/* harmony import */ var _axisHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _scale_helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scale/helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar mathLog = Math.log;\nfunction alignScaleTicks(scale, axisModel, alignToScale) {\n  var intervalScaleProto = _scale_Interval_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype; // NOTE: There is a precondition for log scale  here:\n  // In log scale we store _interval and _extent of exponent value.\n  // So if we use the method of InternalScale to set/get these data.\n  // It process the exponent value, which is linear and what we want here.\n\n  var alignToTicks = intervalScaleProto.getTicks.call(alignToScale);\n  var alignToNicedTicks = intervalScaleProto.getTicks.call(alignToScale, true);\n  var alignToSplitNumber = alignToTicks.length - 1;\n  var alignToInterval = intervalScaleProto.getInterval.call(alignToScale);\n  var scaleExtent = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getScaleExtent\"])(scale, axisModel);\n  var rawExtent = scaleExtent.extent;\n  var isMinFixed = scaleExtent.fixMin;\n  var isMaxFixed = scaleExtent.fixMax;\n\n  if (scale.type === 'log') {\n    var logBase = mathLog(scale.base);\n    rawExtent = [mathLog(rawExtent[0]) / logBase, mathLog(rawExtent[1]) / logBase];\n  }\n\n  scale.setExtent(rawExtent[0], rawExtent[1]);\n  scale.calcNiceExtent({\n    splitNumber: alignToSplitNumber,\n    fixMin: isMinFixed,\n    fixMax: isMaxFixed\n  });\n  var extent = intervalScaleProto.getExtent.call(scale); // Need to update the rawExtent.\n  // Because value in rawExtent may be not parsed. e.g. 'dataMin', 'dataMax'\n\n  if (isMinFixed) {\n    rawExtent[0] = extent[0];\n  }\n\n  if (isMaxFixed) {\n    rawExtent[1] = extent[1];\n  }\n\n  var interval = intervalScaleProto.getInterval.call(scale);\n  var min = rawExtent[0];\n  var max = rawExtent[1];\n\n  if (isMinFixed && isMaxFixed) {\n    // User set min, max, divide to get new interval\n    interval = (max - min) / alignToSplitNumber;\n  } else if (isMinFixed) {\n    max = rawExtent[0] + interval * alignToSplitNumber; // User set min, expand extent on the other side\n\n    while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1])) {\n      interval = Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"increaseInterval\"])(interval);\n      max = rawExtent[0] + interval * alignToSplitNumber;\n    }\n  } else if (isMaxFixed) {\n    // User set max, expand extent on the other side\n    min = rawExtent[1] - interval * alignToSplitNumber;\n\n    while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0])) {\n      interval = Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"increaseInterval\"])(interval);\n      min = rawExtent[1] - interval * alignToSplitNumber;\n    }\n  } else {\n    var nicedSplitNumber = scale.getTicks().length - 1;\n\n    if (nicedSplitNumber > alignToSplitNumber) {\n      interval = Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"increaseInterval\"])(interval);\n    }\n\n    var range = interval * alignToSplitNumber;\n    max = Math.ceil(rawExtent[1] / interval) * interval;\n    min = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"])(max - range); // Not change the result that crossing zero.\n\n    if (min < 0 && rawExtent[0] >= 0) {\n      min = 0;\n      max = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"])(range);\n    } else if (max > 0 && rawExtent[1] <= 0) {\n      max = 0;\n      min = -Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"])(range);\n    }\n  } // Adjust min, max based on the extent of alignTo. When min or max is set in alignTo scale\n\n\n  var t0 = (alignToTicks[0].value - alignToNicedTicks[0].value) / alignToInterval;\n  var t1 = (alignToTicks[alignToSplitNumber].value - alignToNicedTicks[alignToSplitNumber].value) / alignToInterval; // NOTE: Must in setExtent -> setInterval -> setNiceExtent order.\n\n  intervalScaleProto.setExtent.call(scale, min + interval * t0, max + interval * t1);\n  intervalScaleProto.setInterval.call(scale, interval);\n\n  if (t0 || t1) {\n    intervalScaleProto.setNiceExtent.call(scale, min + interval, max - interval);\n  }\n\n  if (true) {\n    var ticks = intervalScaleProto.getTicks.call(scale);\n\n    if (ticks[1] && (!Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"isValueNice\"])(interval) || Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPrecisionSafe\"])(ticks[1].value) > Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPrecisionSafe\"])(interval))) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"warn\"])( // eslint-disable-next-line\n      \"The ticks may be not readable when set min: \" + axisModel.get('min') + \", max: \" + axisModel.get('max') + \" and alignTicks: true\");\n    }\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisAlignTicks.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisCommonTypes.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisCommonTypes.js ***!
  \***********************************************************/
/*! exports provided: AXIS_TYPES */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AXIS_TYPES\", function() { return AXIS_TYPES; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AXIS_TYPES = {\n  value: 1,\n  category: 1,\n  time: 1,\n  log: 1\n};\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisCommonTypes.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisDefault.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisDefault.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar defaultOption = {\n  show: true,\n  // zlevel: 0,\n  z: 0,\n  // Inverse the axis.\n  inverse: false,\n  // Axis name displayed.\n  name: '',\n  // 'start' | 'middle' | 'end'\n  nameLocation: 'end',\n  // By degree. By default auto rotate by nameLocation.\n  nameRotate: null,\n  nameTruncate: {\n    maxWidth: null,\n    ellipsis: '...',\n    placeholder: '.'\n  },\n  // Use global text style by default.\n  nameTextStyle: {},\n  // The gap between axisName and axisLine.\n  nameGap: 15,\n  // Default `false` to support tooltip.\n  silent: false,\n  // Default `false` to avoid legacy user event listener fail.\n  triggerEvent: false,\n  tooltip: {\n    show: false\n  },\n  axisPointer: {},\n  axisLine: {\n    show: true,\n    onZero: true,\n    onZeroAxisIndex: null,\n    lineStyle: {\n      color: '#6E7079',\n      width: 1,\n      type: 'solid'\n    },\n    // The arrow at both ends the the axis.\n    symbol: ['none', 'none'],\n    symbolSize: [10, 15]\n  },\n  axisTick: {\n    show: true,\n    // Whether axisTick is inside the grid or outside the grid.\n    inside: false,\n    // The length of axisTick.\n    length: 5,\n    lineStyle: {\n      width: 1\n    }\n  },\n  axisLabel: {\n    show: true,\n    // Whether axisLabel is inside the grid or outside the grid.\n    inside: false,\n    rotate: 0,\n    // true | false | null/undefined (auto)\n    showMinLabel: null,\n    // true | false | null/undefined (auto)\n    showMaxLabel: null,\n    margin: 8,\n    // formatter: null,\n    fontSize: 12\n  },\n  splitLine: {\n    show: true,\n    lineStyle: {\n      color: ['#E0E6F1'],\n      width: 1,\n      type: 'solid'\n    }\n  },\n  splitArea: {\n    show: false,\n    areaStyle: {\n      color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)']\n    }\n  }\n};\nvar categoryAxis = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"]({\n  // The gap at both ends of the axis. For categoryAxis, boolean.\n  boundaryGap: true,\n  // Set false to faster category collection.\n  deduplication: null,\n  // splitArea: {\n  // show: false\n  // },\n  splitLine: {\n    show: false\n  },\n  axisTick: {\n    // If tick is align with label when boundaryGap is true\n    alignWithLabel: false,\n    interval: 'auto'\n  },\n  axisLabel: {\n    interval: 'auto'\n  }\n}, defaultOption);\nvar valueAxis = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"]({\n  boundaryGap: [0, 0],\n  axisLine: {\n    // Not shown when other axis is categoryAxis in cartesian\n    show: 'auto'\n  },\n  axisTick: {\n    // Not shown when other axis is categoryAxis in cartesian\n    show: 'auto'\n  },\n  // TODO\n  // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n  splitNumber: 5,\n  minorTick: {\n    // Minor tick, not available for cateogry axis.\n    show: false,\n    // Split number of minor ticks. The value should be in range of (0, 100)\n    splitNumber: 5,\n    // Lenght of minor tick\n    length: 3,\n    // Line style\n    lineStyle: {// Default to be same with axisTick\n    }\n  },\n  minorSplitLine: {\n    show: false,\n    lineStyle: {\n      color: '#F4F7FD',\n      width: 1\n    }\n  }\n}, defaultOption);\nvar timeAxis = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"]({\n  splitNumber: 6,\n  axisLabel: {\n    // To eliminate labels that are not nice\n    showMinLabel: false,\n    showMaxLabel: false,\n    rich: {\n      primary: {\n        fontWeight: 'bold'\n      }\n    }\n  },\n  splitLine: {\n    show: false\n  }\n}, valueAxis);\nvar logAxis = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"]({\n  logBase: 10\n}, valueAxis);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  category: categoryAxis,\n  value: valueAxis,\n  time: timeAxis,\n  log: logAxis\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisDefault.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisHelper.js":
/*!******************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisHelper.js ***!
  \******************************************************/
/*! exports provided: getScaleExtent, niceScaleExtent, createScaleByModel, ifAxisCrossZero, makeLabelFormatter, getAxisRawValue, estimateLabelUnionRect, getOptionCategoryInterval, shouldShowAllLabels, getDataDimensionsOnAxis, unionAxisExtentFromData */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getScaleExtent\", function() { return getScaleExtent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"niceScaleExtent\", function() { return niceScaleExtent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createScaleByModel\", function() { return createScaleByModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ifAxisCrossZero\", function() { return ifAxisCrossZero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeLabelFormatter\", function() { return makeLabelFormatter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAxisRawValue\", function() { return getAxisRawValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"estimateLabelUnionRect\", function() { return estimateLabelUnionRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getOptionCategoryInterval\", function() { return getOptionCategoryInterval; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shouldShowAllLabels\", function() { return shouldShowAllLabels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDataDimensionsOnAxis\", function() { return getDataDimensionsOnAxis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unionAxisExtentFromData\", function() { return unionAxisExtentFromData; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _scale_Ordinal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scale/Ordinal.js */ \"./node_modules/echarts/lib/scale/Ordinal.js\");\n/* harmony import */ var _scale_Interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scale/Interval.js */ \"./node_modules/echarts/lib/scale/Interval.js\");\n/* harmony import */ var _scale_Scale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../scale/Scale.js */ \"./node_modules/echarts/lib/scale/Scale.js\");\n/* harmony import */ var _layout_barGrid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../layout/barGrid.js */ \"./node_modules/echarts/lib/layout/barGrid.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _scale_Time_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../scale/Time.js */ \"./node_modules/echarts/lib/scale/Time.js\");\n/* harmony import */ var _scale_Log_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../scale/Log.js */ \"./node_modules/echarts/lib/scale/Log.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var _scaleRawExtentInfo_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./scaleRawExtentInfo.js */ \"./node_modules/echarts/lib/coord/scaleRawExtentInfo.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n/**\n * Get axis scale extent before niced.\n * Item of returned array can only be number (including Infinity and NaN).\n *\n * Caution:\n * Precondition of calling this method:\n * The scale extent has been initialized using series data extent via\n * `scale.setExtent` or `scale.unionExtentFromData`;\n */\n\nfunction getScaleExtent(scale, model) {\n  var scaleType = scale.type;\n  var rawExtentResult = Object(_scaleRawExtentInfo_js__WEBPACK_IMPORTED_MODULE_9__[\"ensureScaleRawExtentInfo\"])(scale, model, scale.getExtent()).calculate();\n  scale.setBlank(rawExtentResult.isBlank);\n  var min = rawExtentResult.min;\n  var max = rawExtentResult.max; // If bars are placed on a base axis of type time or interval account for axis boundary overflow and current axis\n  // is base axis\n  // FIXME\n  // (1) Consider support value axis, where below zero and axis `onZero` should be handled properly.\n  // (2) Refactor the logic with `barGrid`. Is it not need to `makeBarWidthAndOffsetInfo` twice with different extent?\n  //     Should not depend on series type `bar`?\n  // (3) Fix that might overlap when using dataZoom.\n  // (4) Consider other chart types using `barGrid`?\n  // See #6728, #4862, `test/bar-overflow-time-plot.html`\n\n  var ecModel = model.ecModel;\n\n  if (ecModel && scaleType === 'time'\n  /*|| scaleType === 'interval' */\n  ) {\n    var barSeriesModels = Object(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_4__[\"prepareLayoutBarSeries\"])('bar', ecModel);\n    var isBaseAxisAndHasBarSeries_1 = false;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](barSeriesModels, function (seriesModel) {\n      isBaseAxisAndHasBarSeries_1 = isBaseAxisAndHasBarSeries_1 || seriesModel.getBaseAxis() === model.axis;\n    });\n\n    if (isBaseAxisAndHasBarSeries_1) {\n      // Calculate placement of bars on axis. TODO should be decoupled\n      // with barLayout\n      var barWidthAndOffset = Object(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_4__[\"makeColumnLayout\"])(barSeriesModels); // Adjust axis min and max to account for overflow\n\n      var adjustedScale = adjustScaleForOverflow(min, max, model, barWidthAndOffset);\n      min = adjustedScale.min;\n      max = adjustedScale.max;\n    }\n  }\n\n  return {\n    extent: [min, max],\n    // \"fix\" means \"fixed\", the value should not be\n    // changed in the subsequent steps.\n    fixMin: rawExtentResult.minFixed,\n    fixMax: rawExtentResult.maxFixed\n  };\n}\n\nfunction adjustScaleForOverflow(min, max, model, // Only support cartesian coord yet.\nbarWidthAndOffset) {\n  // Get Axis Length\n  var axisExtent = model.axis.getExtent();\n  var axisLength = axisExtent[1] - axisExtent[0]; // Get bars on current base axis and calculate min and max overflow\n\n  var barsOnCurrentAxis = Object(_layout_barGrid_js__WEBPACK_IMPORTED_MODULE_4__[\"retrieveColumnLayout\"])(barWidthAndOffset, model.axis);\n\n  if (barsOnCurrentAxis === undefined) {\n    return {\n      min: min,\n      max: max\n    };\n  }\n\n  var minOverflow = Infinity;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](barsOnCurrentAxis, function (item) {\n    minOverflow = Math.min(item.offset, minOverflow);\n  });\n  var maxOverflow = -Infinity;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](barsOnCurrentAxis, function (item) {\n    maxOverflow = Math.max(item.offset + item.width, maxOverflow);\n  });\n  minOverflow = Math.abs(minOverflow);\n  maxOverflow = Math.abs(maxOverflow);\n  var totalOverFlow = minOverflow + maxOverflow; // Calculate required buffer based on old range and overflow\n\n  var oldRange = max - min;\n  var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;\n  var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;\n  max += overflowBuffer * (maxOverflow / totalOverFlow);\n  min -= overflowBuffer * (minOverflow / totalOverFlow);\n  return {\n    min: min,\n    max: max\n  };\n} // Precondition of calling this method:\n// The scale extent has been initailized using series data extent via\n// `scale.setExtent` or `scale.unionExtentFromData`;\n\n\nfunction niceScaleExtent(scale, inModel) {\n  var model = inModel;\n  var extentInfo = getScaleExtent(scale, model);\n  var extent = extentInfo.extent;\n  var splitNumber = model.get('splitNumber');\n\n  if (scale instanceof _scale_Log_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]) {\n    scale.base = model.get('logBase');\n  }\n\n  var scaleType = scale.type;\n  var interval = model.get('interval');\n  var isIntervalOrTime = scaleType === 'interval' || scaleType === 'time';\n  scale.setExtent(extent[0], extent[1]);\n  scale.calcNiceExtent({\n    splitNumber: splitNumber,\n    fixMin: extentInfo.fixMin,\n    fixMax: extentInfo.fixMax,\n    minInterval: isIntervalOrTime ? model.get('minInterval') : null,\n    maxInterval: isIntervalOrTime ? model.get('maxInterval') : null\n  }); // If some one specified the min, max. And the default calculated interval\n  // is not good enough. He can specify the interval. It is often appeared\n  // in angle axis with angle 0 - 360. Interval calculated in interval scale is hard\n  // to be 60.\n  // FIXME\n\n  if (interval != null) {\n    scale.setInterval && scale.setInterval(interval);\n  }\n}\n/**\n * @param axisType Default retrieve from model.type\n */\n\nfunction createScaleByModel(model, axisType) {\n  axisType = axisType || model.get('type');\n\n  if (axisType) {\n    switch (axisType) {\n      // Buildin scale\n      case 'category':\n        return new _scale_Ordinal_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]({\n          ordinalMeta: model.getOrdinalMeta ? model.getOrdinalMeta() : model.getCategories(),\n          extent: [Infinity, -Infinity]\n        });\n\n      case 'time':\n        return new _scale_Time_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n          locale: model.ecModel.getLocaleModel(),\n          useUTC: model.ecModel.get('useUTC')\n        });\n\n      default:\n        // case 'value'/'interval', 'log', or others.\n        return new (_scale_Scale_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getClass(axisType) || _scale_Interval_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n    }\n  }\n}\n/**\n * Check if the axis cross 0\n */\n\nfunction ifAxisCrossZero(axis) {\n  var dataExtent = axis.scale.getExtent();\n  var min = dataExtent[0];\n  var max = dataExtent[1];\n  return !(min > 0 && max > 0 || min < 0 && max < 0);\n}\n/**\n * @param axis\n * @return Label formatter function.\n *         param: {number} tickValue,\n *         param: {number} idx, the index in all ticks.\n *                         If category axis, this param is not required.\n *         return: {string} label string.\n */\n\nfunction makeLabelFormatter(axis) {\n  var labelFormatter = axis.getLabelModel().get('formatter');\n  var categoryTickStart = axis.type === 'category' ? axis.scale.getExtent()[0] : null;\n\n  if (axis.scale.type === 'time') {\n    return function (tpl) {\n      return function (tick, idx) {\n        return axis.scale.getFormattedLabel(tick, idx, tpl);\n      };\n    }(labelFormatter);\n  } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](labelFormatter)) {\n    return function (tpl) {\n      return function (tick) {\n        // For category axis, get raw value; for numeric axis,\n        // get formatted label like '1,333,444'.\n        var label = axis.scale.getLabel(tick);\n        var text = tpl.replace('{value}', label != null ? label : '');\n        return text;\n      };\n    }(labelFormatter);\n  } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](labelFormatter)) {\n    return function (cb) {\n      return function (tick, idx) {\n        // The original intention of `idx` is \"the index of the tick in all ticks\".\n        // But the previous implementation of category axis do not consider the\n        // `axisLabel.interval`, which cause that, for example, the `interval` is\n        // `1`, then the ticks \"name5\", \"name7\", \"name9\" are displayed, where the\n        // corresponding `idx` are `0`, `2`, `4`, but not `0`, `1`, `2`. So we keep\n        // the definition here for back compatibility.\n        if (categoryTickStart != null) {\n          idx = tick.value - categoryTickStart;\n        }\n\n        return cb(getAxisRawValue(axis, tick), idx, tick.level != null ? {\n          level: tick.level\n        } : null);\n      };\n    }(labelFormatter);\n  } else {\n    return function (tick) {\n      return axis.scale.getLabel(tick);\n    };\n  }\n}\nfunction getAxisRawValue(axis, tick) {\n  // In category axis with data zoom, tick is not the original\n  // index of axis.data. So tick should not be exposed to user\n  // in category axis.\n  return axis.type === 'category' ? axis.scale.getLabel(tick) : tick.value;\n}\n/**\n * @param axis\n * @return Be null/undefined if no labels.\n */\n\nfunction estimateLabelUnionRect(axis) {\n  var axisModel = axis.model;\n  var scale = axis.scale;\n\n  if (!axisModel.get(['axisLabel', 'show']) || scale.isBlank()) {\n    return;\n  }\n\n  var realNumberScaleTicks;\n  var tickCount;\n  var categoryScaleExtent = scale.getExtent(); // Optimize for large category data, avoid call `getTicks()`.\n\n  if (scale instanceof _scale_Ordinal_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n    tickCount = scale.count();\n  } else {\n    realNumberScaleTicks = scale.getTicks();\n    tickCount = realNumberScaleTicks.length;\n  }\n\n  var axisLabelModel = axis.getLabelModel();\n  var labelFormatter = makeLabelFormatter(axis);\n  var rect;\n  var step = 1; // Simple optimization for large amount of labels\n\n  if (tickCount > 40) {\n    step = Math.ceil(tickCount / 40);\n  }\n\n  for (var i = 0; i < tickCount; i += step) {\n    var tick = realNumberScaleTicks ? realNumberScaleTicks[i] : {\n      value: categoryScaleExtent[0] + i\n    };\n    var label = labelFormatter(tick, i);\n    var unrotatedSingleRect = axisLabelModel.getTextRect(label);\n    var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get('rotate') || 0);\n    rect ? rect.union(singleRect) : rect = singleRect;\n  }\n\n  return rect;\n}\n\nfunction rotateTextRect(textRect, rotate) {\n  var rotateRadians = rotate * Math.PI / 180;\n  var beforeWidth = textRect.width;\n  var beforeHeight = textRect.height;\n  var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));\n  var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));\n  var rotatedRect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](textRect.x, textRect.y, afterWidth, afterHeight);\n  return rotatedRect;\n}\n/**\n * @param model axisLabelModel or axisTickModel\n * @return {number|String} Can be null|'auto'|number|function\n */\n\n\nfunction getOptionCategoryInterval(model) {\n  var interval = model.get('interval');\n  return interval == null ? 'auto' : interval;\n}\n/**\n * Set `categoryInterval` as 0 implicitly indicates that\n * show all labels reguardless of overlap.\n * @param {Object} axis axisModel.axis\n */\n\nfunction shouldShowAllLabels(axis) {\n  return axis.type === 'category' && getOptionCategoryInterval(axis.getLabelModel()) === 0;\n}\nfunction getDataDimensionsOnAxis(data, axisDim) {\n  // Remove duplicated dat dimensions caused by `getStackedDimension`.\n  var dataDimMap = {}; // Currently `mapDimensionsAll` will contain stack result dimension ('__\\0ecstackresult').\n  // PENDING: is it reasonable? Do we need to remove the original dim from \"coord dim\" since\n  // there has been stacked result dim?\n\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](data.mapDimensionsAll(axisDim), function (dataDim) {\n    // For example, the extent of the original dimension\n    // is [0.1, 0.5], the extent of the `stackResultDimension`\n    // is [7, 9], the final extent should NOT include [0.1, 0.5],\n    // because there is no graphic corresponding to [0.1, 0.5].\n    // See the case in `test/area-stack.html` `main1`, where area line\n    // stack needs `yAxis` not start from 0.\n    dataDimMap[Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_8__[\"getStackedDimension\"])(data, dataDim)] = true;\n  });\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"](dataDimMap);\n}\nfunction unionAxisExtentFromData(dataExtent, data, axisDim) {\n  if (data) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](getDataDimensionsOnAxis(data, axisDim), function (dim) {\n      var seriesExtent = data.getApproximateExtent(dim);\n      seriesExtent[0] < dataExtent[0] && (dataExtent[0] = seriesExtent[0]);\n      seriesExtent[1] > dataExtent[1] && (dataExtent[1] = seriesExtent[1]);\n    });\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisModelCommonMixin.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisModelCommonMixin.js ***!
  \****************************************************************/
/*! exports provided: AxisModelCommonMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AxisModelCommonMixin\", function() { return AxisModelCommonMixin; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar AxisModelCommonMixin =\n/** @class */\nfunction () {\n  function AxisModelCommonMixin() {}\n\n  AxisModelCommonMixin.prototype.getNeedCrossZero = function () {\n    var option = this.option;\n    return !option.scale;\n  };\n  /**\n   * Should be implemented by each axis model if necessary.\n   * @return coordinate system model\n   */\n\n\n  AxisModelCommonMixin.prototype.getCoordSysModel = function () {\n    return;\n  };\n\n  return AxisModelCommonMixin;\n}();\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisModelCommonMixin.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisModelCreator.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisModelCreator.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return axisModelCreator; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _axisDefault_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./axisDefault.js */ \"./node_modules/echarts/lib/coord/axisDefault.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _data_OrdinalMeta_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/OrdinalMeta.js */ \"./node_modules/echarts/lib/data/OrdinalMeta.js\");\n/* harmony import */ var _axisCommonTypes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./axisCommonTypes.js */ \"./node_modules/echarts/lib/coord/axisCommonTypes.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n/**\n * Generate sub axis model class\n * @param axisName 'x' 'y' 'radius' 'angle' 'parallel' ...\n */\n\nfunction axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) {\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(_axisCommonTypes_js__WEBPACK_IMPORTED_MODULE_4__[\"AXIS_TYPES\"], function (v, axisType) {\n    var defaultOption = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"merge\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"merge\"])({}, _axisDefault_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"][axisType], true), extraDefaultOption, true);\n\n    var AxisModel =\n    /** @class */\n    function (_super) {\n      Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AxisModel, _super);\n\n      function AxisModel() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n\n        _this.type = axisName + 'Axis.' + axisType;\n        return _this;\n      }\n\n      AxisModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n        var layoutMode = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"fetchLayoutMode\"])(this);\n        var inputPositionParams = layoutMode ? Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"getLayoutParams\"])(option) : {};\n        var themeModel = ecModel.getTheme();\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"merge\"])(option, themeModel.get(axisType + 'Axis'));\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"merge\"])(option, this.getDefaultOption());\n        option.type = getAxisType(option);\n\n        if (layoutMode) {\n          Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"mergeLayoutParam\"])(option, inputPositionParams, layoutMode);\n        }\n      };\n\n      AxisModel.prototype.optionUpdated = function () {\n        var thisOption = this.option;\n\n        if (thisOption.type === 'category') {\n          this.__ordinalMeta = _data_OrdinalMeta_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].createByAxisModel(this);\n        }\n      };\n      /**\n       * Should not be called before all of 'getInitailData' finished.\n       * Because categories are collected during initializing data.\n       */\n\n\n      AxisModel.prototype.getCategories = function (rawData) {\n        var option = this.option; // FIXME\n        // warning if called before all of 'getInitailData' finished.\n\n        if (option.type === 'category') {\n          if (rawData) {\n            return option.data;\n          }\n\n          return this.__ordinalMeta.categories;\n        }\n      };\n\n      AxisModel.prototype.getOrdinalMeta = function () {\n        return this.__ordinalMeta;\n      };\n\n      AxisModel.type = axisName + 'Axis.' + axisType;\n      AxisModel.defaultOption = defaultOption;\n      return AxisModel;\n    }(BaseAxisModelClass);\n\n    registers.registerComponentModel(AxisModel);\n  });\n  registers.registerSubTypeDefaulter(axisName + 'Axis', getAxisType);\n}\n\nfunction getAxisType(option) {\n  // Default axis with data is category axis\n  return option.type || (option.data ? 'category' : 'value');\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisModelCreator.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/axisTickLabelBuilder.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/axisTickLabelBuilder.js ***!
  \****************************************************************/
/*! exports provided: createAxisLabels, createAxisTicks, calculateCategoryInterval */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createAxisLabels\", function() { return createAxisLabels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createAxisTicks\", function() { return createAxisTicks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calculateCategoryInterval\", function() { return calculateCategoryInterval; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _axisHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"makeInner\"])();\nfunction createAxisLabels(axis) {\n  // Only ordinal scale support tick interval\n  return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\n * @param {module:echats/coord/Axis} axis\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\n * @return {Object} {\n *     ticks: Array.<number>\n *     tickCategoryInterval: number\n * }\n */\n\nfunction createAxisTicks(axis, tickModel) {\n  // Only ordinal scale support tick interval\n  return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n    ticks: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](axis.scale.getTicks(), function (tick) {\n      return tick.value;\n    })\n  };\n}\n\nfunction makeCategoryLabels(axis) {\n  var labelModel = axis.getLabelModel();\n  var result = makeCategoryLabelsActually(axis, labelModel);\n  return !labelModel.get('show') || axis.scale.isBlank() ? {\n    labels: [],\n    labelCategoryInterval: result.labelCategoryInterval\n  } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n  var labelsCache = getListCache(axis, 'labels');\n  var optionLabelInterval = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getOptionCategoryInterval\"])(labelModel);\n  var result = listCacheGet(labelsCache, optionLabelInterval);\n\n  if (result) {\n    return result;\n  }\n\n  var labels;\n  var numericLabelInterval;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](optionLabelInterval)) {\n    labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n  } else {\n    numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n    labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n  } // Cache to avoid calling interval function repeatly.\n\n\n  return listCacheSet(labelsCache, optionLabelInterval, {\n    labels: labels,\n    labelCategoryInterval: numericLabelInterval\n  });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n  var ticksCache = getListCache(axis, 'ticks');\n  var optionTickInterval = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getOptionCategoryInterval\"])(tickModel);\n  var result = listCacheGet(ticksCache, optionTickInterval);\n\n  if (result) {\n    return result;\n  }\n\n  var ticks;\n  var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n  // we should not return all ticks.\n\n  if (!tickModel.get('show') || axis.scale.isBlank()) {\n    ticks = [];\n  }\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](optionTickInterval)) {\n    ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n  } // Always use label interval by default despite label show. Consider this\n  // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n  // labels. `splitLine` and `axisTick` should be consistent in this case.\n  else if (optionTickInterval === 'auto') {\n      var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n      tickCategoryInterval = labelsResult.labelCategoryInterval;\n      ticks = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](labelsResult.labels, function (labelItem) {\n        return labelItem.tickValue;\n      });\n    } else {\n      tickCategoryInterval = optionTickInterval;\n      ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n    } // Cache to avoid calling interval function repeatly.\n\n\n  return listCacheSet(ticksCache, optionTickInterval, {\n    ticks: ticks,\n    tickCategoryInterval: tickCategoryInterval\n  });\n}\n\nfunction makeRealNumberLabels(axis) {\n  var ticks = axis.scale.getTicks();\n  var labelFormatter = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeLabelFormatter\"])(axis);\n  return {\n    labels: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](ticks, function (tick, idx) {\n      return {\n        level: tick.level,\n        formattedLabel: labelFormatter(tick, idx),\n        rawLabel: axis.scale.getLabel(tick),\n        tickValue: tick.value\n      };\n    })\n  };\n}\n\nfunction getListCache(axis, prop) {\n  // Because key can be funciton, and cache size always be small, we use array cache.\n  return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n  for (var i = 0; i < cache.length; i++) {\n    if (cache[i].key === key) {\n      return cache[i].value;\n    }\n  }\n}\n\nfunction listCacheSet(cache, key, value) {\n  cache.push({\n    key: key,\n    value: value\n  });\n  return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n  var result = inner(axis).autoInterval;\n  return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\n * Calculate interval for category axis ticks and labels.\n * To get precise result, at least one of `getRotate` and `isHorizontal`\n * should be implemented in axis.\n */\n\n\nfunction calculateCategoryInterval(axis) {\n  var params = fetchAutoCategoryIntervalCalculationParams(axis);\n  var labelFormatter = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeLabelFormatter\"])(axis);\n  var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n  var ordinalScale = axis.scale;\n  var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n  // avoid generating a long array by `getTicks`\n  // in large category data case.\n\n  var tickCount = ordinalScale.count();\n\n  if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n    return 0;\n  }\n\n  var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n  if (tickCount > 40) {\n    step = Math.max(1, Math.floor(tickCount / 40));\n  }\n\n  var tickValue = ordinalExtent[0];\n  var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n  var unitW = Math.abs(unitSpan * Math.cos(rotation));\n  var unitH = Math.abs(unitSpan * Math.sin(rotation));\n  var maxW = 0;\n  var maxH = 0; // Caution: Performance sensitive for large category data.\n  // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n  for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n    var width = 0;\n    var height = 0; // Not precise, do not consider align and vertical align\n    // and each distance from axis line yet.\n\n    var rect = zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__[\"getBoundingRect\"](labelFormatter({\n      value: tickValue\n    }), params.font, 'center', 'top'); // Magic number\n\n    width = rect.width * 1.3;\n    height = rect.height * 1.3; // Min size, void long loop.\n\n    maxW = Math.max(maxW, width, 7);\n    maxH = Math.max(maxH, height, 7);\n  }\n\n  var dw = maxW / unitW;\n  var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n  isNaN(dw) && (dw = Infinity);\n  isNaN(dh) && (dh = Infinity);\n  var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n  var cache = inner(axis.model);\n  var axisExtent = axis.getExtent();\n  var lastAutoInterval = cache.lastAutoInterval;\n  var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n  // otherwise the calculated interval might jitter when the zoom\n  // window size is close to the interval-changing size.\n  // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n  // The jitter will cause that sometimes the displayed labels are\n  // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n  if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n  // point is not the same when zooming in or zooming out.\n  && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n  // be used. Otherwise some hiden labels might not be shown again.\n  && cache.axisExtent0 === axisExtent[0] && cache.axisExtent1 === axisExtent[1]) {\n    interval = lastAutoInterval;\n  } // Only update cache if cache not used, otherwise the\n  // changing of interval is too insensitive.\n  else {\n      cache.lastTickCount = tickCount;\n      cache.lastAutoInterval = interval;\n      cache.axisExtent0 = axisExtent[0];\n      cache.axisExtent1 = axisExtent[1];\n    }\n\n  return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n  var labelModel = axis.getLabelModel();\n  return {\n    axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n    labelRotate: labelModel.get('rotate') || 0,\n    font: labelModel.getFont()\n  };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n  var labelFormatter = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeLabelFormatter\"])(axis);\n  var ordinalScale = axis.scale;\n  var ordinalExtent = ordinalScale.getExtent();\n  var labelModel = axis.getLabelModel();\n  var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n  var step = Math.max((categoryInterval || 0) + 1, 1);\n  var startTick = ordinalExtent[0];\n  var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n  // while zooming and moving while interval > 0. Otherwise the selection\n  // of displayable ticks and symbols probably keep changing.\n  // 3 is empirical value.\n\n  if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n    startTick = Math.round(Math.ceil(startTick / step) * step);\n  } // (1) Only add min max label here but leave overlap checking\n  // to render stage, which also ensure the returned list\n  // suitable for splitLine and splitArea rendering.\n  // (2) Scales except category always contain min max label so\n  // do not need to perform this process.\n\n\n  var showAllLabel = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"shouldShowAllLabels\"])(axis);\n  var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n  var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n  if (includeMinLabel && startTick !== ordinalExtent[0]) {\n    addItem(ordinalExtent[0]);\n  } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n  var tickValue = startTick;\n\n  for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n    addItem(tickValue);\n  }\n\n  if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n    addItem(ordinalExtent[1]);\n  }\n\n  function addItem(tickValue) {\n    var tickObj = {\n      value: tickValue\n    };\n    result.push(onlyTick ? tickValue : {\n      formattedLabel: labelFormatter(tickObj),\n      rawLabel: ordinalScale.getLabel(tickObj),\n      tickValue: tickValue\n    });\n  }\n\n  return result;\n}\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n  var ordinalScale = axis.scale;\n  var labelFormatter = Object(_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"makeLabelFormatter\"])(axis);\n  var result = [];\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](ordinalScale.getTicks(), function (tick) {\n    var rawLabel = ordinalScale.getLabel(tick);\n    var tickValue = tick.value;\n\n    if (categoryInterval(tick.value, rawLabel)) {\n      result.push(onlyTick ? tickValue : {\n        formattedLabel: labelFormatter(tick),\n        rawLabel: rawLabel,\n        tickValue: tickValue\n      });\n    }\n  });\n  return result;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisTickLabelBuilder.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/calendar/Calendar.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/calendar/Calendar.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n // (24*60*60*1000)\n\nvar PROXIMATE_ONE_DAY = 86400000;\n\nvar Calendar =\n/** @class */\nfunction () {\n  function Calendar(calendarModel, ecModel, api) {\n    this.type = 'calendar';\n    this.dimensions = Calendar.dimensions; // Required in createListFromData\n\n    this.getDimensionsInfo = Calendar.getDimensionsInfo;\n    this._model = calendarModel;\n  }\n\n  Calendar.getDimensionsInfo = function () {\n    return [{\n      name: 'time',\n      type: 'time'\n    }, 'value'];\n  };\n\n  Calendar.prototype.getRangeInfo = function () {\n    return this._rangeInfo;\n  };\n\n  Calendar.prototype.getModel = function () {\n    return this._model;\n  };\n\n  Calendar.prototype.getRect = function () {\n    return this._rect;\n  };\n\n  Calendar.prototype.getCellWidth = function () {\n    return this._sw;\n  };\n\n  Calendar.prototype.getCellHeight = function () {\n    return this._sh;\n  };\n\n  Calendar.prototype.getOrient = function () {\n    return this._orient;\n  };\n  /**\n   * getFirstDayOfWeek\n   *\n   * @example\n   *     0 : start at Sunday\n   *     1 : start at Monday\n   *\n   * @return {number}\n   */\n\n\n  Calendar.prototype.getFirstDayOfWeek = function () {\n    return this._firstDayOfWeek;\n  };\n  /**\n   * get date info\n   * }\n   */\n\n\n  Calendar.prototype.getDateInfo = function (date) {\n    date = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parseDate\"](date);\n    var y = date.getFullYear();\n    var m = date.getMonth() + 1;\n    var mStr = m < 10 ? '0' + m : '' + m;\n    var d = date.getDate();\n    var dStr = d < 10 ? '0' + d : '' + d;\n    var day = date.getDay();\n    day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);\n    return {\n      y: y + '',\n      m: mStr,\n      d: dStr,\n      day: day,\n      time: date.getTime(),\n      formatedDate: y + '-' + mStr + '-' + dStr,\n      date: date\n    };\n  };\n\n  Calendar.prototype.getNextNDay = function (date, n) {\n    n = n || 0;\n\n    if (n === 0) {\n      return this.getDateInfo(date);\n    }\n\n    date = new Date(this.getDateInfo(date).time);\n    date.setDate(date.getDate() + n);\n    return this.getDateInfo(date);\n  };\n\n  Calendar.prototype.update = function (ecModel, api) {\n    this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay');\n    this._orient = this._model.get('orient');\n    this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0;\n    this._rangeInfo = this._getRangeInfo(this._initRangeOption());\n    var weeks = this._rangeInfo.weeks || 1;\n    var whNames = ['width', 'height'];\n\n    var cellSize = this._model.getCellSize().slice();\n\n    var layoutParams = this._model.getBoxLayoutParams();\n\n    var cellNumbers = this._orient === 'horizontal' ? [weeks, 7] : [7, weeks];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"]([0, 1], function (idx) {\n      if (cellSizeSpecified(cellSize, idx)) {\n        layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];\n      }\n    });\n    var whGlobal = {\n      width: api.getWidth(),\n      height: api.getHeight()\n    };\n    var calendarRect = this._rect = _util_layout_js__WEBPACK_IMPORTED_MODULE_1__[\"getLayoutRect\"](layoutParams, whGlobal);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"]([0, 1], function (idx) {\n      if (!cellSizeSpecified(cellSize, idx)) {\n        cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];\n      }\n    });\n\n    function cellSizeSpecified(cellSize, idx) {\n      return cellSize[idx] != null && cellSize[idx] !== 'auto';\n    } // Has been calculated out number.\n\n\n    this._sw = cellSize[0];\n    this._sh = cellSize[1];\n  };\n  /**\n   * Convert a time data(time, value) item to (x, y) point.\n   */\n  // TODO Clamp of calendar is not same with cartesian coordinate systems.\n  // It will return NaN if data exceeds.\n\n\n  Calendar.prototype.dataToPoint = function (data, clamp) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](data) && (data = data[0]);\n    clamp == null && (clamp = true);\n    var dayInfo = this.getDateInfo(data);\n    var range = this._rangeInfo;\n    var date = dayInfo.formatedDate; // if not in range return [NaN, NaN]\n\n    if (clamp && !(dayInfo.time >= range.start.time && dayInfo.time < range.end.time + PROXIMATE_ONE_DAY)) {\n      return [NaN, NaN];\n    }\n\n    var week = dayInfo.day;\n\n    var nthWeek = this._getRangeInfo([range.start.time, date]).nthWeek;\n\n    if (this._orient === 'vertical') {\n      return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];\n    }\n\n    return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];\n  };\n  /**\n   * Convert a (x, y) point to time data\n   */\n\n\n  Calendar.prototype.pointToData = function (point) {\n    var date = this.pointToDate(point);\n    return date && date.time;\n  };\n  /**\n   * Convert a time date item to (x, y) four point.\n   */\n\n\n  Calendar.prototype.dataToRect = function (data, clamp) {\n    var point = this.dataToPoint(data, clamp);\n    return {\n      contentShape: {\n        x: point[0] - (this._sw - this._lineWidth) / 2,\n        y: point[1] - (this._sh - this._lineWidth) / 2,\n        width: this._sw - this._lineWidth,\n        height: this._sh - this._lineWidth\n      },\n      center: point,\n      tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],\n      tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],\n      br: [point[0] + this._sw / 2, point[1] + this._sh / 2],\n      bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]\n    };\n  };\n  /**\n   * Convert a (x, y) point to time date\n   *\n   * @param  {Array} point point\n   * @return {Object}       date\n   */\n\n\n  Calendar.prototype.pointToDate = function (point) {\n    var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;\n    var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;\n    var range = this._rangeInfo.range;\n\n    if (this._orient === 'vertical') {\n      return this._getDateByWeeksAndDay(nthY, nthX - 1, range);\n    }\n\n    return this._getDateByWeeksAndDay(nthX, nthY - 1, range);\n  };\n\n  Calendar.prototype.convertToPixel = function (ecModel, finder, value) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? coordSys.dataToPoint(value) : null;\n  };\n\n  Calendar.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? coordSys.pointToData(pixel) : null;\n  };\n\n  Calendar.prototype.containPoint = function (point) {\n    console.warn('Not implemented.');\n    return false;\n  };\n  /**\n   * initRange\n   * Normalize to an [start, end] array\n   */\n\n\n  Calendar.prototype._initRangeOption = function () {\n    var range = this._model.get('range');\n\n    var normalizedRange; // Convert [1990] to 1990\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](range) && range.length === 1) {\n      range = range[0];\n    }\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](range)) {\n      var rangeStr = range.toString(); // One year.\n\n      if (/^\\d{4}$/.test(rangeStr)) {\n        normalizedRange = [rangeStr + '-01-01', rangeStr + '-12-31'];\n      } // One month\n\n\n      if (/^\\d{4}[\\/|-]\\d{1,2}$/.test(rangeStr)) {\n        var start = this.getDateInfo(rangeStr);\n        var firstDay = start.date;\n        firstDay.setMonth(firstDay.getMonth() + 1);\n        var end = this.getNextNDay(firstDay, -1);\n        normalizedRange = [start.formatedDate, end.formatedDate];\n      } // One day\n\n\n      if (/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(rangeStr)) {\n        normalizedRange = [rangeStr, rangeStr];\n      }\n    } else {\n      normalizedRange = range;\n    }\n\n    if (!normalizedRange) {\n      if (true) {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"logError\"]('Invalid date range.');\n      } // Not handling it.\n\n\n      return range;\n    }\n\n    var tmp = this._getRangeInfo(normalizedRange);\n\n    if (tmp.start.time > tmp.end.time) {\n      normalizedRange.reverse();\n    }\n\n    return normalizedRange;\n  };\n  /**\n   * range info\n   *\n   * @private\n   * @param  {Array} range range ['2017-01-01', '2017-07-08']\n   *  If range[0] > range[1], they will not be reversed.\n   * @return {Object}       obj\n   */\n\n\n  Calendar.prototype._getRangeInfo = function (range) {\n    var parsedRange = [this.getDateInfo(range[0]), this.getDateInfo(range[1])];\n    var reversed;\n\n    if (parsedRange[0].time > parsedRange[1].time) {\n      reversed = true;\n      parsedRange.reverse();\n    }\n\n    var allDay = Math.floor(parsedRange[1].time / PROXIMATE_ONE_DAY) - Math.floor(parsedRange[0].time / PROXIMATE_ONE_DAY) + 1; // Consider case1 (#11677 #10430):\n    // Set the system timezone as \"UK\", set the range to `['2016-07-01', '2016-12-31']`\n    // Consider case2:\n    // Firstly set system timezone as \"Time Zone: America/Toronto\",\n    // ```\n    // let first = new Date(1478412000000 - 3600 * 1000 * 2.5);\n    // let second = new Date(1478412000000);\n    // let allDays = Math.floor(second / ONE_DAY) - Math.floor(first / ONE_DAY) + 1;\n    // ```\n    // will get wrong result because of DST. So we should fix it.\n\n    var date = new Date(parsedRange[0].time);\n    var startDateNum = date.getDate();\n    var endDateNum = parsedRange[1].date.getDate();\n    date.setDate(startDateNum + allDay - 1); // The bias can not over a month, so just compare date.\n\n    var dateNum = date.getDate();\n\n    if (dateNum !== endDateNum) {\n      var sign = date.getTime() - parsedRange[1].time > 0 ? 1 : -1;\n\n      while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - parsedRange[1].time) * sign > 0) {\n        allDay -= sign;\n        date.setDate(dateNum - sign);\n      }\n    }\n\n    var weeks = Math.floor((allDay + parsedRange[0].day + 6) / 7);\n    var nthWeek = reversed ? -weeks + 1 : weeks - 1;\n    reversed && parsedRange.reverse();\n    return {\n      range: [parsedRange[0].formatedDate, parsedRange[1].formatedDate],\n      start: parsedRange[0],\n      end: parsedRange[1],\n      allDay: allDay,\n      weeks: weeks,\n      // From 0.\n      nthWeek: nthWeek,\n      fweek: parsedRange[0].day,\n      lweek: parsedRange[1].day\n    };\n  };\n  /**\n   * get date by nthWeeks and week day in range\n   *\n   * @private\n   * @param  {number} nthWeek the week\n   * @param  {number} day   the week day\n   * @param  {Array} range [d1, d2]\n   * @return {Object}\n   */\n\n\n  Calendar.prototype._getDateByWeeksAndDay = function (nthWeek, day, range) {\n    var rangeInfo = this._getRangeInfo(range);\n\n    if (nthWeek > rangeInfo.weeks || nthWeek === 0 && day < rangeInfo.fweek || nthWeek === rangeInfo.weeks && day > rangeInfo.lweek) {\n      return null;\n    }\n\n    var nthDay = (nthWeek - 1) * 7 - rangeInfo.fweek + day;\n    var date = new Date(rangeInfo.start.time);\n    date.setDate(+rangeInfo.start.d + nthDay);\n    return this.getDateInfo(date);\n  };\n\n  Calendar.create = function (ecModel, api) {\n    var calendarList = [];\n    ecModel.eachComponent('calendar', function (calendarModel) {\n      var calendar = new Calendar(calendarModel, ecModel, api);\n      calendarList.push(calendar);\n      calendarModel.coordinateSystem = calendar;\n    });\n    ecModel.eachSeries(function (calendarSeries) {\n      if (calendarSeries.get('coordinateSystem') === 'calendar') {\n        // Inject coordinate system\n        calendarSeries.coordinateSystem = calendarList[calendarSeries.get('calendarIndex') || 0];\n      }\n    });\n    return calendarList;\n  };\n\n  Calendar.dimensions = ['time', 'value'];\n  return Calendar;\n}();\n\nfunction getCoordSys(finder) {\n  var calendarModel = finder.calendarModel;\n  var seriesModel = finder.seriesModel;\n  var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;\n  return coordSys;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Calendar);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/calendar/Calendar.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/calendar/CalendarModel.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/calendar/CalendarModel.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar CalendarModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CalendarModel, _super);\n\n  function CalendarModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = CalendarModel.type;\n    return _this;\n  }\n  /**\n   * @override\n   */\n\n\n  CalendarModel.prototype.init = function (option, parentModel, ecModel) {\n    var inputPositionParams = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"getLayoutParams\"])(option);\n\n    _super.prototype.init.apply(this, arguments);\n\n    mergeAndNormalizeLayoutParams(option, inputPositionParams);\n  };\n  /**\n   * @override\n   */\n\n\n  CalendarModel.prototype.mergeOption = function (option) {\n    _super.prototype.mergeOption.apply(this, arguments);\n\n    mergeAndNormalizeLayoutParams(this.option, option);\n  };\n\n  CalendarModel.prototype.getCellSize = function () {\n    // Has been normalized\n    return this.option.cellSize;\n  };\n\n  CalendarModel.type = 'calendar';\n  CalendarModel.defaultOption = {\n    // zlevel: 0,\n    z: 2,\n    left: 80,\n    top: 60,\n    cellSize: 20,\n    // horizontal vertical\n    orient: 'horizontal',\n    // month separate line style\n    splitLine: {\n      show: true,\n      lineStyle: {\n        color: '#000',\n        width: 1,\n        type: 'solid'\n      }\n    },\n    // rect style  temporarily unused emphasis\n    itemStyle: {\n      color: '#fff',\n      borderWidth: 1,\n      borderColor: '#ccc'\n    },\n    // week text style\n    dayLabel: {\n      show: true,\n      firstDay: 0,\n      // start end\n      position: 'start',\n      margin: '50%',\n      color: '#000'\n    },\n    // month text style\n    monthLabel: {\n      show: true,\n      // start end\n      position: 'start',\n      margin: 5,\n      // center or left\n      align: 'center',\n      formatter: null,\n      color: '#000'\n    },\n    // year text style\n    yearLabel: {\n      show: true,\n      // top bottom left right\n      position: null,\n      margin: 30,\n      formatter: null,\n      color: '#ccc',\n      fontFamily: 'sans-serif',\n      fontWeight: 'bolder',\n      fontSize: 20\n    }\n  };\n  return CalendarModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction mergeAndNormalizeLayoutParams(target, raw) {\n  // Normalize cellSize\n  var cellSize = target.cellSize;\n  var cellSizeArr;\n\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"](cellSize)) {\n    cellSizeArr = target.cellSize = [cellSize, cellSize];\n  } else {\n    cellSizeArr = cellSize;\n  }\n\n  if (cellSizeArr.length === 1) {\n    cellSizeArr[1] = cellSizeArr[0];\n  }\n\n  var ignoreSize = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"]([0, 1], function (hvIdx) {\n    // If user have set `width` or both `left` and `right`, cellSizeArr\n    // will be automatically set to 'auto', otherwise the default\n    // setting of cellSizeArr will make `width` setting not work.\n    if (Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"sizeCalculable\"])(raw, hvIdx)) {\n      cellSizeArr[hvIdx] = 'auto';\n    }\n\n    return cellSizeArr[hvIdx] != null && cellSizeArr[hvIdx] !== 'auto';\n  });\n  Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_3__[\"mergeLayoutParam\"])(target, raw, {\n    type: 'box',\n    ignoreSize: ignoreSize\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CalendarModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/calendar/CalendarModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/calendar/prepareCustom.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/calendar/prepareCustom.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return calendarPrepareCustom; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction calendarPrepareCustom(coordSys) {\n  var rect = coordSys.getRect();\n  var rangeInfo = coordSys.getRangeInfo();\n  return {\n    coordSys: {\n      type: 'calendar',\n      x: rect.x,\n      y: rect.y,\n      width: rect.width,\n      height: rect.height,\n      cellWidth: coordSys.getCellWidth(),\n      cellHeight: coordSys.getCellHeight(),\n      rangeInfo: {\n        start: rangeInfo.start,\n        end: rangeInfo.end,\n        weeks: rangeInfo.weeks,\n        dayCount: rangeInfo.allDay\n      }\n    },\n    api: {\n      coord: function (data, clamp) {\n        return coordSys.dataToPoint(data, clamp);\n      }\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/calendar/prepareCustom.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/Axis2D.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/Axis2D.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Axis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar Axis2D =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Axis2D, _super);\n\n  function Axis2D(dim, scale, coordExtent, axisType, position) {\n    var _this = _super.call(this, dim, scale, coordExtent) || this;\n    /**\n     * Index of axis, can be used as key\n     * Injected outside.\n     */\n\n\n    _this.index = 0;\n    _this.type = axisType || 'value';\n    _this.position = position || 'bottom';\n    return _this;\n  }\n\n  Axis2D.prototype.isHorizontal = function () {\n    var position = this.position;\n    return position === 'top' || position === 'bottom';\n  };\n  /**\n   * Each item cooresponds to this.getExtent(), which\n   * means globalExtent[0] may greater than globalExtent[1],\n   * unless `asc` is input.\n   *\n   * @param {boolean} [asc]\n   * @return {Array.<number>}\n   */\n\n\n  Axis2D.prototype.getGlobalExtent = function (asc) {\n    var ret = this.getExtent();\n    ret[0] = this.toGlobalCoord(ret[0]);\n    ret[1] = this.toGlobalCoord(ret[1]);\n    asc && ret[0] > ret[1] && ret.reverse();\n    return ret;\n  };\n\n  Axis2D.prototype.pointToData = function (point, clamp) {\n    return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n  };\n  /**\n   * Set ordinalSortInfo\n   * @param info new OrdinalSortInfo\n   */\n\n\n  Axis2D.prototype.setCategorySortInfo = function (info) {\n    if (this.type !== 'category') {\n      return false;\n    }\n\n    this.model.option.categorySortInfo = info;\n    this.scale.setSortInfo(info);\n  };\n\n  return Axis2D;\n}(_Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Axis2D);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/Axis2D.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/AxisModel.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/AxisModel.js ***!
  \***************************************************************/
/*! exports provided: CartesianAxisModel, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CartesianAxisModel\", function() { return CartesianAxisModel; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../axisModelCommonMixin.js */ \"./node_modules/echarts/lib/coord/axisModelCommonMixin.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar CartesianAxisModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CartesianAxisModel, _super);\n\n  function CartesianAxisModel() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  CartesianAxisModel.prototype.getCoordSysModel = function () {\n    return this.getReferringComponents('grid', _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"SINGLE_REFERRING\"]).models[0];\n  };\n\n  CartesianAxisModel.type = 'cartesian2dAxis';\n  return CartesianAxisModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](CartesianAxisModel, _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_3__[\"AxisModelCommonMixin\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (CartesianAxisModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/AxisModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/Cartesian.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/Cartesian.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar Cartesian =\n/** @class */\nfunction () {\n  function Cartesian(name) {\n    this.type = 'cartesian';\n    this._dimList = [];\n    this._axes = {};\n    this.name = name || '';\n  }\n\n  Cartesian.prototype.getAxis = function (dim) {\n    return this._axes[dim];\n  };\n\n  Cartesian.prototype.getAxes = function () {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](this._dimList, function (dim) {\n      return this._axes[dim];\n    }, this);\n  };\n\n  Cartesian.prototype.getAxesByScale = function (scaleType) {\n    scaleType = scaleType.toLowerCase();\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"filter\"](this.getAxes(), function (axis) {\n      return axis.scale.type === scaleType;\n    });\n  };\n\n  Cartesian.prototype.addAxis = function (axis) {\n    var dim = axis.dim;\n    this._axes[dim] = axis;\n\n    this._dimList.push(dim);\n  };\n\n  return Cartesian;\n}();\n\n;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Cartesian);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js ***!
  \*****************************************************************/
/*! exports provided: cartesian2DDimensions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesian2DDimensions\", function() { return cartesian2DDimensions; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _Cartesian_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Cartesian.js */ \"./node_modules/echarts/lib/coord/cartesian/Cartesian.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar cartesian2DDimensions = ['x', 'y'];\n\nfunction canCalculateAffineTransform(scale) {\n  return scale.type === 'interval' || scale.type === 'time';\n}\n\nvar Cartesian2D =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Cartesian2D, _super);\n\n  function Cartesian2D() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'cartesian2d';\n    _this.dimensions = cartesian2DDimensions;\n    return _this;\n  }\n  /**\n   * Calculate an affine transform matrix if two axes are time or value.\n   * It's mainly for accelartion on the large time series data.\n   */\n\n\n  Cartesian2D.prototype.calcAffineTransform = function () {\n    this._transform = this._invTransform = null;\n    var xAxisScale = this.getAxis('x').scale;\n    var yAxisScale = this.getAxis('y').scale;\n\n    if (!canCalculateAffineTransform(xAxisScale) || !canCalculateAffineTransform(yAxisScale)) {\n      return;\n    }\n\n    var xScaleExtent = xAxisScale.getExtent();\n    var yScaleExtent = yAxisScale.getExtent();\n    var start = this.dataToPoint([xScaleExtent[0], yScaleExtent[0]]);\n    var end = this.dataToPoint([xScaleExtent[1], yScaleExtent[1]]);\n    var xScaleSpan = xScaleExtent[1] - xScaleExtent[0];\n    var yScaleSpan = yScaleExtent[1] - yScaleExtent[0];\n\n    if (!xScaleSpan || !yScaleSpan) {\n      return;\n    } // Accelerate data to point calculation on the special large time series data.\n\n\n    var scaleX = (end[0] - start[0]) / xScaleSpan;\n    var scaleY = (end[1] - start[1]) / yScaleSpan;\n    var translateX = start[0] - xScaleExtent[0] * scaleX;\n    var translateY = start[1] - yScaleExtent[0] * scaleY;\n    var m = this._transform = [scaleX, 0, 0, scaleY, translateX, translateY];\n    this._invTransform = Object(zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_3__[\"invert\"])([], m);\n  };\n  /**\n   * Base axis will be used on stacking.\n   */\n\n\n  Cartesian2D.prototype.getBaseAxis = function () {\n    return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n  };\n\n  Cartesian2D.prototype.containPoint = function (point) {\n    var axisX = this.getAxis('x');\n    var axisY = this.getAxis('y');\n    return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n  };\n\n  Cartesian2D.prototype.containData = function (data) {\n    return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n  };\n\n  Cartesian2D.prototype.containZone = function (data1, data2) {\n    var zoneDiag1 = this.dataToPoint(data1);\n    var zoneDiag2 = this.dataToPoint(data2);\n    var area = this.getArea();\n    var zone = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](zoneDiag1[0], zoneDiag1[1], zoneDiag2[0] - zoneDiag1[0], zoneDiag2[1] - zoneDiag1[1]);\n    return area.intersect(zone);\n  };\n\n  Cartesian2D.prototype.dataToPoint = function (data, clamp, out) {\n    out = out || [];\n    var xVal = data[0];\n    var yVal = data[1]; // Fast path\n\n    if (this._transform // It's supported that if data is like `[Inifity, 123]`, where only Y pixel calculated.\n    && xVal != null && isFinite(xVal) && yVal != null && isFinite(yVal)) {\n      return Object(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__[\"applyTransform\"])(out, data, this._transform);\n    }\n\n    var xAxis = this.getAxis('x');\n    var yAxis = this.getAxis('y');\n    out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp));\n    out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp));\n    return out;\n  };\n\n  Cartesian2D.prototype.clampData = function (data, out) {\n    var xScale = this.getAxis('x').scale;\n    var yScale = this.getAxis('y').scale;\n    var xAxisExtent = xScale.getExtent();\n    var yAxisExtent = yScale.getExtent();\n    var x = xScale.parse(data[0]);\n    var y = yScale.parse(data[1]);\n    out = out || [];\n    out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n    out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n    return out;\n  };\n\n  Cartesian2D.prototype.pointToData = function (point, clamp) {\n    var out = [];\n\n    if (this._invTransform) {\n      return Object(zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_4__[\"applyTransform\"])(out, point, this._invTransform);\n    }\n\n    var xAxis = this.getAxis('x');\n    var yAxis = this.getAxis('y');\n    out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]), clamp);\n    out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]), clamp);\n    return out;\n  };\n\n  Cartesian2D.prototype.getOtherAxis = function (axis) {\n    return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n  };\n  /**\n   * Get rect area of cartesian.\n   * Area will have a contain function to determine if a point is in the coordinate system.\n   */\n\n\n  Cartesian2D.prototype.getArea = function () {\n    var xExtent = this.getAxis('x').getGlobalExtent();\n    var yExtent = this.getAxis('y').getGlobalExtent();\n    var x = Math.min(xExtent[0], xExtent[1]);\n    var y = Math.min(yExtent[0], yExtent[1]);\n    var width = Math.max(xExtent[0], xExtent[1]) - x;\n    var height = Math.max(yExtent[0], yExtent[1]) - y;\n    return new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](x, y, width, height);\n  };\n\n  return Cartesian2D;\n}(_Cartesian_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Cartesian2D);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/Grid.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/Grid.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _Cartesian2D_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Cartesian2D.js */ \"./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js\");\n/* harmony import */ var _Axis2D_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Axis2D.js */ \"./node_modules/echarts/lib/coord/cartesian/Axis2D.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cartesianAxisHelper.js */ \"./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js\");\n/* harmony import */ var _scale_helper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../scale/helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n/* harmony import */ var _axisAlignTicks_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../axisAlignTicks.js */ \"./node_modules/echarts/lib/coord/axisAlignTicks.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Grid is a region which contains at most 4 cartesian systems\n *\n * TODO Default cartesian\n */\n\n\n\n\n\n\n\n\n\n\nvar Grid =\n/** @class */\nfunction () {\n  function Grid(gridModel, ecModel, api) {\n    // FIXME:TS where used (different from registered type 'cartesian2d')?\n    this.type = 'grid';\n    this._coordsMap = {};\n    this._coordsList = [];\n    this._axesMap = {};\n    this._axesList = [];\n    this.axisPointerEnabled = true;\n    this.dimensions = _Cartesian2D_js__WEBPACK_IMPORTED_MODULE_3__[\"cartesian2DDimensions\"];\n\n    this._initCartesian(gridModel, ecModel, api);\n\n    this.model = gridModel;\n  }\n\n  Grid.prototype.getRect = function () {\n    return this._rect;\n  };\n\n  Grid.prototype.update = function (ecModel, api) {\n    var axesMap = this._axesMap;\n\n    this._updateScale(ecModel, this.model);\n\n    function updateAxisTicks(axes) {\n      var alignTo; // Axis is added in order of axisIndex.\n\n      var axesIndices = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(axes);\n      var len = axesIndices.length;\n\n      if (!len) {\n        return;\n      }\n\n      var axisNeedsAlign = []; // Process once and calculate the ticks for those don't use alignTicks.\n\n      for (var i = len - 1; i >= 0; i--) {\n        var idx = +axesIndices[i]; // Convert to number.\n\n        var axis = axes[idx];\n        var model = axis.model;\n        var scale = axis.scale;\n\n        if ( // Only value and log axis without interval support alignTicks.\n        Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"isIntervalOrLogScale\"])(scale) && model.get('alignTicks') && model.get('interval') == null) {\n          axisNeedsAlign.push(axis);\n        } else {\n          Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"niceScaleExtent\"])(scale, model);\n\n          if (Object(_scale_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"isIntervalOrLogScale\"])(scale)) {\n            // Can only align to interval or log axis.\n            alignTo = axis;\n          }\n        }\n      }\n\n      ; // All axes has set alignTicks. Pick the first one.\n      // PENDING. Should we find the axis that both set interval, min, max and align to this one?\n\n      if (axisNeedsAlign.length) {\n        if (!alignTo) {\n          alignTo = axisNeedsAlign.pop();\n          Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"niceScaleExtent\"])(alignTo.scale, alignTo.model);\n        }\n\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axisNeedsAlign, function (axis) {\n          Object(_axisAlignTicks_js__WEBPACK_IMPORTED_MODULE_8__[\"alignScaleTicks\"])(axis.scale, axis.model, alignTo.scale);\n        });\n      }\n    }\n\n    updateAxisTicks(axesMap.x);\n    updateAxisTicks(axesMap.y); // Key: axisDim_axisIndex, value: boolean, whether onZero target.\n\n    var onZeroRecords = {};\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axesMap.x, function (xAxis) {\n      fixAxisOnZero(axesMap, 'y', xAxis, onZeroRecords);\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axesMap.y, function (yAxis) {\n      fixAxisOnZero(axesMap, 'x', yAxis, onZeroRecords);\n    }); // Resize again if containLabel is enabled\n    // FIXME It may cause getting wrong grid size in data processing stage\n\n    this.resize(this.model, api);\n  };\n  /**\n   * Resize the grid\n   */\n\n\n  Grid.prototype.resize = function (gridModel, api, ignoreContainLabel) {\n    var boxLayoutParams = gridModel.getBoxLayoutParams();\n    var isContainLabel = !ignoreContainLabel && gridModel.get('containLabel');\n    var gridRect = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_1__[\"getLayoutRect\"])(boxLayoutParams, {\n      width: api.getWidth(),\n      height: api.getHeight()\n    });\n    this._rect = gridRect;\n    var axesList = this._axesList;\n    adjustAxes(); // Minus label size\n\n    if (isContainLabel) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axesList, function (axis) {\n        if (!axis.model.get(['axisLabel', 'inside'])) {\n          var labelUnionRect = Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"estimateLabelUnionRect\"])(axis);\n\n          if (labelUnionRect) {\n            var dim = axis.isHorizontal() ? 'height' : 'width';\n            var margin = axis.model.get(['axisLabel', 'margin']);\n            gridRect[dim] -= labelUnionRect[dim] + margin;\n\n            if (axis.position === 'top') {\n              gridRect.y += labelUnionRect.height + margin;\n            } else if (axis.position === 'left') {\n              gridRect.x += labelUnionRect.width + margin;\n            }\n          }\n        }\n      });\n      adjustAxes();\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(this._coordsList, function (coord) {\n      // Calculate affine matrix to accelerate the data to point transform.\n      // If all the axes scales are time or value.\n      coord.calcAffineTransform();\n    });\n\n    function adjustAxes() {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axesList, function (axis) {\n        var isHorizontal = axis.isHorizontal();\n        var extent = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];\n        var idx = axis.inverse ? 1 : 0;\n        axis.setExtent(extent[idx], extent[1 - idx]);\n        updateAxisTransform(axis, isHorizontal ? gridRect.x : gridRect.y);\n      });\n    }\n  };\n\n  Grid.prototype.getAxis = function (dim, axisIndex) {\n    var axesMapOnDim = this._axesMap[dim];\n\n    if (axesMapOnDim != null) {\n      return axesMapOnDim[axisIndex || 0];\n    }\n  };\n\n  Grid.prototype.getAxes = function () {\n    return this._axesList.slice();\n  };\n\n  Grid.prototype.getCartesian = function (xAxisIndex, yAxisIndex) {\n    if (xAxisIndex != null && yAxisIndex != null) {\n      var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n      return this._coordsMap[key];\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(xAxisIndex)) {\n      yAxisIndex = xAxisIndex.yAxisIndex;\n      xAxisIndex = xAxisIndex.xAxisIndex;\n    }\n\n    for (var i = 0, coordList = this._coordsList; i < coordList.length; i++) {\n      if (coordList[i].getAxis('x').index === xAxisIndex || coordList[i].getAxis('y').index === yAxisIndex) {\n        return coordList[i];\n      }\n    }\n  };\n\n  Grid.prototype.getCartesians = function () {\n    return this._coordsList.slice();\n  };\n  /**\n   * @implements\n   */\n\n\n  Grid.prototype.convertToPixel = function (ecModel, finder, value) {\n    var target = this._findConvertTarget(finder);\n\n    return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;\n  };\n  /**\n   * @implements\n   */\n\n\n  Grid.prototype.convertFromPixel = function (ecModel, finder, value) {\n    var target = this._findConvertTarget(finder);\n\n    return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n  };\n\n  Grid.prototype._findConvertTarget = function (finder) {\n    var seriesModel = finder.seriesModel;\n    var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"SINGLE_REFERRING\"]).models[0];\n    var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"SINGLE_REFERRING\"]).models[0];\n    var gridModel = finder.gridModel;\n    var coordsList = this._coordsList;\n    var cartesian;\n    var axis;\n\n    if (seriesModel) {\n      cartesian = seriesModel.coordinateSystem;\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(coordsList, cartesian) < 0 && (cartesian = null);\n    } else if (xAxisModel && yAxisModel) {\n      cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n    } else if (xAxisModel) {\n      axis = this.getAxis('x', xAxisModel.componentIndex);\n    } else if (yAxisModel) {\n      axis = this.getAxis('y', yAxisModel.componentIndex);\n    } // Lowest priority.\n    else if (gridModel) {\n        var grid = gridModel.coordinateSystem;\n\n        if (grid === this) {\n          cartesian = this._coordsList[0];\n        }\n      }\n\n    return {\n      cartesian: cartesian,\n      axis: axis\n    };\n  };\n  /**\n   * @implements\n   */\n\n\n  Grid.prototype.containPoint = function (point) {\n    var coord = this._coordsList[0];\n\n    if (coord) {\n      return coord.containPoint(point);\n    }\n  };\n  /**\n   * Initialize cartesian coordinate systems\n   */\n\n\n  Grid.prototype._initCartesian = function (gridModel, ecModel, api) {\n    var _this = this;\n\n    var grid = this;\n    var axisPositionUsed = {\n      left: false,\n      right: false,\n      top: false,\n      bottom: false\n    };\n    var axesMap = {\n      x: {},\n      y: {}\n    };\n    var axesCount = {\n      x: 0,\n      y: 0\n    }; /// Create axis\n\n    ecModel.eachComponent('xAxis', createAxisCreator('x'), this);\n    ecModel.eachComponent('yAxis', createAxisCreator('y'), this);\n\n    if (!axesCount.x || !axesCount.y) {\n      // Roll back when there no either x or y axis\n      this._axesMap = {};\n      this._axesList = [];\n      return;\n    }\n\n    this._axesMap = axesMap; /// Create cartesian2d\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axesMap.x, function (xAxis, xAxisIndex) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(axesMap.y, function (yAxis, yAxisIndex) {\n        var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n        var cartesian = new _Cartesian2D_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](key);\n        cartesian.master = _this;\n        cartesian.model = gridModel;\n        _this._coordsMap[key] = cartesian;\n\n        _this._coordsList.push(cartesian);\n\n        cartesian.addAxis(xAxis);\n        cartesian.addAxis(yAxis);\n      });\n    });\n\n    function createAxisCreator(dimName) {\n      return function (axisModel, idx) {\n        if (!isAxisUsedInTheGrid(axisModel, gridModel)) {\n          return;\n        }\n\n        var axisPosition = axisModel.get('position');\n\n        if (dimName === 'x') {\n          // Fix position\n          if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n            // Default bottom of X\n            axisPosition = axisPositionUsed.bottom ? 'top' : 'bottom';\n          }\n        } else {\n          // Fix position\n          if (axisPosition !== 'left' && axisPosition !== 'right') {\n            // Default left of Y\n            axisPosition = axisPositionUsed.left ? 'right' : 'left';\n          }\n        }\n\n        axisPositionUsed[axisPosition] = true;\n        var axis = new _Axis2D_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](dimName, Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"createScaleByModel\"])(axisModel), [0, 0], axisModel.get('type'), axisPosition);\n        var isCategory = axis.type === 'category';\n        axis.onBand = isCategory && axisModel.get('boundaryGap');\n        axis.inverse = axisModel.get('inverse'); // Inject axis into axisModel\n\n        axisModel.axis = axis; // Inject axisModel into axis\n\n        axis.model = axisModel; // Inject grid info axis\n\n        axis.grid = grid; // Index of axis, can be used as key\n\n        axis.index = idx;\n\n        grid._axesList.push(axis);\n\n        axesMap[dimName][idx] = axis;\n        axesCount[dimName]++;\n      };\n    }\n  };\n  /**\n   * Update cartesian properties from series.\n   */\n\n\n  Grid.prototype._updateScale = function (ecModel, gridModel) {\n    // Reset scale\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(this._axesList, function (axis) {\n      axis.scale.setExtent(Infinity, -Infinity);\n\n      if (axis.type === 'category') {\n        var categorySortInfo = axis.model.get('categorySortInfo');\n        axis.scale.setSortInfo(categorySortInfo);\n      }\n    });\n    ecModel.eachSeries(function (seriesModel) {\n      if (Object(_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"isCartesian2DSeries\"])(seriesModel)) {\n        var axesModelMap = Object(_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"findAxisModels\"])(seriesModel);\n        var xAxisModel = axesModelMap.xAxisModel;\n        var yAxisModel = axesModelMap.yAxisModel;\n\n        if (!isAxisUsedInTheGrid(xAxisModel, gridModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel)) {\n          return;\n        }\n\n        var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n        var data = seriesModel.getData();\n        var xAxis = cartesian.getAxis('x');\n        var yAxis = cartesian.getAxis('y');\n        unionExtent(data, xAxis);\n        unionExtent(data, yAxis);\n      }\n    }, this);\n\n    function unionExtent(data, axis) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getDataDimensionsOnAxis\"])(data, axis.dim), function (dim) {\n        axis.scale.unionExtentFromData(data, dim);\n      });\n    }\n  };\n  /**\n   * @param dim 'x' or 'y' or 'auto' or null/undefined\n   */\n\n\n  Grid.prototype.getTooltipAxes = function (dim) {\n    var baseAxes = [];\n    var otherAxes = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(this.getCartesians(), function (cartesian) {\n      var baseAxis = dim != null && dim !== 'auto' ? cartesian.getAxis(dim) : cartesian.getBaseAxis();\n      var otherAxis = cartesian.getOtherAxis(baseAxis);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);\n    });\n    return {\n      baseAxes: baseAxes,\n      otherAxes: otherAxes\n    };\n  };\n\n  Grid.create = function (ecModel, api) {\n    var grids = [];\n    ecModel.eachComponent('grid', function (gridModel, idx) {\n      var grid = new Grid(gridModel, ecModel, api);\n      grid.name = 'grid_' + idx; // dataSampling requires axis extent, so resize\n      // should be performed in create stage.\n\n      grid.resize(gridModel, api, true);\n      gridModel.coordinateSystem = grid;\n      grids.push(grid);\n    }); // Inject the coordinateSystems into seriesModel\n\n    ecModel.eachSeries(function (seriesModel) {\n      if (!Object(_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"isCartesian2DSeries\"])(seriesModel)) {\n        return;\n      }\n\n      var axesModelMap = Object(_cartesianAxisHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"findAxisModels\"])(seriesModel);\n      var xAxisModel = axesModelMap.xAxisModel;\n      var yAxisModel = axesModelMap.yAxisModel;\n      var gridModel = xAxisModel.getCoordSysModel();\n\n      if (true) {\n        if (!gridModel) {\n          throw new Error('Grid \"' + Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve3\"])(xAxisModel.get('gridIndex'), xAxisModel.get('gridId'), 0) + '\" not found');\n        }\n\n        if (xAxisModel.getCoordSysModel() !== yAxisModel.getCoordSysModel()) {\n          throw new Error('xAxis and yAxis must use the same grid');\n        }\n      }\n\n      var grid = gridModel.coordinateSystem;\n      seriesModel.coordinateSystem = grid.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n    });\n    return grids;\n  }; // For deciding which dimensions to use when creating list data\n\n\n  Grid.dimensions = _Cartesian2D_js__WEBPACK_IMPORTED_MODULE_3__[\"cartesian2DDimensions\"];\n  return Grid;\n}();\n/**\n * Check if the axis is used in the specified grid.\n */\n\n\nfunction isAxisUsedInTheGrid(axisModel, gridModel) {\n  return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, // Key: see `getOnZeroRecordKey`\nonZeroRecords) {\n  axis.getAxesOnZeroOf = function () {\n    // TODO: onZero of multiple axes.\n    return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];\n  }; // onZero can not be enabled in these two situations:\n  // 1. When any other axis is a category axis.\n  // 2. When no axis is cross 0 point.\n\n\n  var otherAxes = axesMap[otherAxisDim];\n  var otherAxisOnZeroOf;\n  var axisModel = axis.model;\n  var onZero = axisModel.get(['axisLine', 'onZero']);\n  var onZeroAxisIndex = axisModel.get(['axisLine', 'onZeroAxisIndex']);\n\n  if (!onZero) {\n    return;\n  } // If target axis is specified.\n\n\n  if (onZeroAxisIndex != null) {\n    if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {\n      otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];\n    }\n  } else {\n    // Find the first available other axis.\n    for (var idx in otherAxes) {\n      if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) // Consider that two Y axes on one value axis,\n      // if both onZero, the two Y axes overlap.\n      && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {\n        otherAxisOnZeroOf = otherAxes[idx];\n        break;\n      }\n    }\n  }\n\n  if (otherAxisOnZeroOf) {\n    onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;\n  }\n\n  function getOnZeroRecordKey(axis) {\n    return axis.dim + '_' + axis.index;\n  }\n}\n\nfunction canOnZeroToAxis(axis) {\n  return axis && axis.type !== 'category' && axis.type !== 'time' && Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"ifAxisCrossZero\"])(axis);\n}\n\nfunction updateAxisTransform(axis, coordBase) {\n  var axisExtent = axis.getExtent();\n  var axisExtentSum = axisExtent[0] + axisExtent[1]; // Fast transform\n\n  axis.toGlobalCoord = axis.dim === 'x' ? function (coord) {\n    return coord + coordBase;\n  } : function (coord) {\n    return axisExtentSum - coord + coordBase;\n  };\n  axis.toLocalCoord = axis.dim === 'x' ? function (coord) {\n    return coord - coordBase;\n  } : function (coord) {\n    return axisExtentSum - coord + coordBase;\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Grid);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/Grid.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/GridModel.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/GridModel.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar GridModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GridModel, _super);\n\n  function GridModel() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  GridModel.type = 'grid';\n  GridModel.dependencies = ['xAxis', 'yAxis'];\n  GridModel.layoutMode = 'box';\n  GridModel.defaultOption = {\n    show: false,\n    // zlevel: 0,\n    z: 0,\n    left: '10%',\n    top: 60,\n    right: '10%',\n    bottom: 70,\n    // If grid size contain label\n    containLabel: false,\n    // width: {totalWidth} - left - right,\n    // height: {totalHeight} - top - bottom,\n    backgroundColor: 'rgba(0,0,0,0)',\n    borderWidth: 1,\n    borderColor: '#ccc'\n  };\n  return GridModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GridModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/GridModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js ***!
  \*************************************************************************/
/*! exports provided: layout, isCartesian2DSeries, findAxisModels */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layout\", function() { return layout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCartesian2DSeries\", function() { return isCartesian2DSeries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findAxisModels\", function() { return findAxisModels; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n */\n\nfunction layout(gridModel, axisModel, opt) {\n  opt = opt || {};\n  var grid = gridModel.coordinateSystem;\n  var axis = axisModel.axis;\n  var layout = {};\n  var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n  var rawAxisPosition = axis.position;\n  var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n  var axisDim = axis.dim;\n  var rect = grid.getRect();\n  var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n  var idx = {\n    left: 0,\n    right: 1,\n    top: 0,\n    bottom: 1,\n    onZero: 2\n  };\n  var axisOffset = axisModel.get('offset') || 0;\n  var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n  if (otherAxisOnZeroOf) {\n    var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n    posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n  } // Axis position\n\n\n  layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n  layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n  var dirMap = {\n    top: -1,\n    bottom: 1,\n    left: -1,\n    right: 1\n  };\n  layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n  layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n  if (axisModel.get(['axisTick', 'inside'])) {\n    layout.tickDirection = -layout.tickDirection;\n  }\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"](opt.labelInside, axisModel.get(['axisLabel', 'inside']))) {\n    layout.labelDirection = -layout.labelDirection;\n  } // Special label rotation\n\n\n  var labelRotate = axisModel.get(['axisLabel', 'rotate']);\n  layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n  layout.z2 = 1;\n  return layout;\n}\nfunction isCartesian2DSeries(seriesModel) {\n  return seriesModel.get('coordinateSystem') === 'cartesian2d';\n}\nfunction findAxisModels(seriesModel) {\n  var axisModelMap = {\n    xAxisModel: null,\n    yAxisModel: null\n  };\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](axisModelMap, function (v, key) {\n    var axisType = key.replace(/Model$/, '');\n    var axisModel = seriesModel.getReferringComponents(axisType, _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n\n    if (true) {\n      if (!axisModel) {\n        throw new Error(axisType + ' \"' + zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve3\"](seriesModel.get(axisType + 'Index'), seriesModel.get(axisType + 'Id'), 0) + '\" not found');\n      }\n    }\n\n    axisModelMap[key] = axisModel;\n  });\n  return axisModelMap;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/cartesian/prepareCustom.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/cartesian/prepareCustom.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return cartesianPrepareCustom; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction dataToCoordSize(dataSize, dataItem) {\n  // dataItem is necessary in log axis.\n  dataItem = dataItem || [0, 0];\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](['x', 'y'], function (dim, dimIdx) {\n    var axis = this.getAxis(dim);\n    var val = dataItem[dimIdx];\n    var halfSize = dataSize[dimIdx] / 2;\n    return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n  }, this);\n}\n\nfunction cartesianPrepareCustom(coordSys) {\n  var rect = coordSys.master.getRect();\n  return {\n    coordSys: {\n      // The name exposed to user is always 'cartesian2d' but not 'grid'.\n      type: 'cartesian2d',\n      x: rect.x,\n      y: rect.y,\n      width: rect.width,\n      height: rect.height\n    },\n    api: {\n      coord: function (data) {\n        // do not provide \"out\" param\n        return coordSys.dataToPoint(data);\n      },\n      size: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](dataToCoordSize, coordSys)\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/prepareCustom.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/Geo.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/Geo.js ***!
  \***************************************************/
/*! exports provided: geo2DDimensions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"geo2DDimensions\", function() { return geo2DDimensions; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _View_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../View.js */ \"./node_modules/echarts/lib/coord/View.js\");\n/* harmony import */ var _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./geoSourceManager.js */ \"./node_modules/echarts/lib/coord/geo/geoSourceManager.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar GEO_DEFAULT_PARAMS = {\n  'geoJSON': {\n    aspectScale: 0.75,\n    invertLongitute: true\n  },\n  'geoSVG': {\n    aspectScale: 1,\n    invertLongitute: false\n  }\n};\nvar geo2DDimensions = ['lng', 'lat'];\n\nvar Geo =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Geo, _super);\n\n  function Geo(name, map, opt) {\n    var _this = _super.call(this, name) || this;\n\n    _this.dimensions = geo2DDimensions;\n    _this.type = 'geo'; // Only store specified name coord via `addGeoCoord`.\n\n    _this._nameCoordMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]();\n    _this.map = map;\n    var projection = opt.projection;\n    var source = _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].load(map, opt.nameMap, opt.nameProperty);\n    var resource = _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getGeoResource(map);\n    var resourceType = _this.resourceType = resource ? resource.type : null;\n    var regions = _this.regions = source.regions;\n    var defaultParams = GEO_DEFAULT_PARAMS[resource.type];\n    _this._regionsMap = source.regionsMap;\n    _this.regions = source.regions;\n\n    if ( true && projection) {\n      // Do some check\n      if (resourceType === 'geoSVG') {\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_6__[\"warn\"])(\"Map \" + map + \" with SVG source can't use projection. Only GeoJSON source supports projection.\");\n        }\n\n        projection = null;\n      }\n\n      if (!(projection.project && projection.unproject)) {\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_6__[\"warn\"])('project and unproject must be both provided in the projeciton.');\n        }\n\n        projection = null;\n      }\n    }\n\n    _this.projection = projection;\n    var boundingRect;\n\n    if (projection) {\n      // Can't reuse the raw bounding rect\n      for (var i = 0; i < regions.length; i++) {\n        var regionRect = regions[i].getBoundingRect(projection);\n        boundingRect = boundingRect || regionRect.clone();\n        boundingRect.union(regionRect);\n      }\n    } else {\n      boundingRect = source.boundingRect;\n    }\n\n    _this.setBoundingRect(boundingRect.x, boundingRect.y, boundingRect.width, boundingRect.height); // aspectScale and invertLongitute actually is the parameters default raw projection.\n    // So we ignore them if projection is given.\n    // Ignore default aspect scale if projection exits.\n\n\n    _this.aspectScale = projection ? 1 : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"](opt.aspectScale, defaultParams.aspectScale); // Not invert longitute if projection exits.\n\n    _this._invertLongitute = projection ? false : defaultParams.invertLongitute;\n    return _this;\n  }\n\n  Geo.prototype._transformTo = function (x, y, width, height) {\n    var rect = this.getBoundingRect();\n    var invertLongitute = this._invertLongitute;\n    rect = rect.clone();\n\n    if (invertLongitute) {\n      // Longitute is inverted\n      rect.y = -rect.y - rect.height;\n    }\n\n    var rawTransformable = this._rawTransformable;\n    rawTransformable.transform = rect.calculateTransform(new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](x, y, width, height));\n    var rawParent = rawTransformable.parent;\n    rawTransformable.parent = null;\n    rawTransformable.decomposeTransform();\n    rawTransformable.parent = rawParent;\n\n    if (invertLongitute) {\n      rawTransformable.scaleY = -rawTransformable.scaleY;\n    }\n\n    this._updateTransform();\n  };\n\n  Geo.prototype.getRegion = function (name) {\n    return this._regionsMap.get(name);\n  };\n\n  Geo.prototype.getRegionByCoord = function (coord) {\n    var regions = this.regions;\n\n    for (var i = 0; i < regions.length; i++) {\n      var region = regions[i];\n\n      if (region.type === 'geoJSON' && region.contain(coord)) {\n        return regions[i];\n      }\n    }\n  };\n  /**\n   * Add geoCoord for indexing by name\n   */\n\n\n  Geo.prototype.addGeoCoord = function (name, geoCoord) {\n    this._nameCoordMap.set(name, geoCoord);\n  };\n  /**\n   * Get geoCoord by name\n   */\n\n\n  Geo.prototype.getGeoCoord = function (name) {\n    var region = this._regionsMap.get(name); // calcualte center only on demand.\n\n\n    return this._nameCoordMap.get(name) || region && region.getCenter();\n  };\n\n  Geo.prototype.dataToPoint = function (data, noRoam, out) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](data)) {\n      // Map area name to geoCoord\n      data = this.getGeoCoord(data);\n    }\n\n    if (data) {\n      var projection = this.projection;\n\n      if (projection) {\n        // projection may return null point.\n        data = projection.project(data);\n      }\n\n      return data && this.projectedToPoint(data, noRoam, out);\n    }\n  };\n\n  Geo.prototype.pointToData = function (point) {\n    var projection = this.projection;\n\n    if (projection) {\n      // projection may return null point.\n      point = projection.unproject(point);\n    }\n\n    return point && this.pointToProjected(point);\n  };\n  /**\n   * Point to projected data. Same with pointToData when projection is used.\n   */\n\n\n  Geo.prototype.pointToProjected = function (point) {\n    return _super.prototype.pointToData.call(this, point);\n  };\n\n  Geo.prototype.projectedToPoint = function (projected, noRoam, out) {\n    return _super.prototype.dataToPoint.call(this, projected, noRoam, out);\n  };\n\n  Geo.prototype.convertToPixel = function (ecModel, finder, value) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? coordSys.dataToPoint(value) : null;\n  };\n\n  Geo.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? coordSys.pointToData(pixel) : null;\n  };\n\n  return Geo;\n}(_View_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n;\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](Geo, _View_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\nfunction getCoordSys(finder) {\n  var geoModel = finder.geoModel;\n  var seriesModel = finder.seriesModel;\n  return geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map series.\n  || (seriesModel.getReferringComponents('geo', _util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"SINGLE_REFERRING\"]).models[0] || {}).coordinateSystem : null;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Geo);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/Geo.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/GeoJSONResource.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/GeoJSONResource.js ***!
  \***************************************************************/
/*! exports provided: GeoJSONResource */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeoJSONResource\", function() { return GeoJSONResource; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _parseGeoJson_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parseGeoJson.js */ \"./node_modules/echarts/lib/coord/geo/parseGeoJson.js\");\n/* harmony import */ var _fix_nanhai_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fix/nanhai.js */ \"./node_modules/echarts/lib/coord/geo/fix/nanhai.js\");\n/* harmony import */ var _fix_textCoord_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fix/textCoord.js */ \"./node_modules/echarts/lib/coord/geo/fix/textCoord.js\");\n/* harmony import */ var _fix_diaoyuIsland_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fix/diaoyuIsland.js */ \"./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // Built-in GEO fixer.\n\n\n\n\n\nvar DEFAULT_NAME_PROPERTY = 'name';\n\nvar GeoJSONResource =\n/** @class */\nfunction () {\n  function GeoJSONResource(mapName, geoJSON, specialAreas) {\n    this.type = 'geoJSON';\n    this._parsedMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    this._mapName = mapName;\n    this._specialAreas = specialAreas; // PENDING: delay the parse to the first usage to rapid up the FMP?\n\n    this._geoJSON = parseInput(geoJSON);\n  }\n  /**\n   * @param nameMap can be null/undefined\n   * @param nameProperty can be null/undefined\n   */\n\n\n  GeoJSONResource.prototype.load = function (nameMap, nameProperty) {\n    nameProperty = nameProperty || DEFAULT_NAME_PROPERTY;\n\n    var parsed = this._parsedMap.get(nameProperty);\n\n    if (!parsed) {\n      var rawRegions = this._parseToRegions(nameProperty);\n\n      parsed = this._parsedMap.set(nameProperty, {\n        regions: rawRegions,\n        boundingRect: calculateBoundingRect(rawRegions)\n      });\n    }\n\n    var regionsMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    var finalRegions = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(parsed.regions, function (region) {\n      var regionName = region.name; // Try use the alias in geoNameMap\n\n      if (nameMap && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(nameMap, regionName)) {\n        region = region.cloneShallow(regionName = nameMap[regionName]);\n      }\n\n      finalRegions.push(region);\n      regionsMap.set(regionName, region);\n    });\n    return {\n      regions: finalRegions,\n      boundingRect: parsed.boundingRect || new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](0, 0, 0, 0),\n      regionsMap: regionsMap\n    };\n  };\n\n  GeoJSONResource.prototype._parseToRegions = function (nameProperty) {\n    var mapName = this._mapName;\n    var geoJSON = this._geoJSON;\n    var rawRegions; // https://jsperf.com/try-catch-performance-overhead\n\n    try {\n      rawRegions = geoJSON ? Object(_parseGeoJson_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(geoJSON, nameProperty) : [];\n    } catch (e) {\n      throw new Error('Invalid geoJson format\\n' + e.message);\n    }\n\n    Object(_fix_nanhai_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(mapName, rawRegions);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(rawRegions, function (region) {\n      var regionName = region.name;\n      Object(_fix_textCoord_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(mapName, region);\n      Object(_fix_diaoyuIsland_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(mapName, region); // Some area like Alaska in USA map needs to be tansformed\n      // to look better\n\n      var specialArea = this._specialAreas && this._specialAreas[regionName];\n\n      if (specialArea) {\n        region.transformTo(specialArea.left, specialArea.top, specialArea.width, specialArea.height);\n      }\n    }, this);\n    return rawRegions;\n  };\n  /**\n   * Only for exporting to users.\n   * **MUST NOT** used internally.\n   */\n\n\n  GeoJSONResource.prototype.getMapForUser = function () {\n    return {\n      // For backward compatibility, use geoJson\n      // PENDING: it has been returning them without clone.\n      // do we need to avoid outsite modification?\n      geoJson: this._geoJSON,\n      geoJSON: this._geoJSON,\n      specialAreas: this._specialAreas\n    };\n  };\n\n  return GeoJSONResource;\n}();\n\n\n\nfunction calculateBoundingRect(regions) {\n  var rect;\n\n  for (var i = 0; i < regions.length; i++) {\n    var regionRect = regions[i].getBoundingRect();\n    rect = rect || regionRect.clone();\n    rect.union(regionRect);\n  }\n\n  return rect;\n}\n\nfunction parseInput(source) {\n  return !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(source) ? source : typeof JSON !== 'undefined' && JSON.parse ? JSON.parse(source) : new Function('return (' + source + ');')();\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/GeoJSONResource.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/GeoModel.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/GeoModel.js ***!
  \********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _geoCreator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./geoCreator.js */ \"./node_modules/echarts/lib/coord/geo/geoCreator.js\");\n/* harmony import */ var _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./geoSourceManager.js */ \"./node_modules/echarts/lib/coord/geo/geoSourceManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n;\n\nvar GeoModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GeoModel, _super);\n\n  function GeoModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = GeoModel.type;\n    return _this;\n  }\n\n  GeoModel.prototype.init = function (option, parentModel, ecModel) {\n    var source = _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].getGeoResource(option.map);\n\n    if (source && source.type === 'geoJSON') {\n      var itemStyle = option.itemStyle = option.itemStyle || {};\n\n      if (!('color' in itemStyle)) {\n        itemStyle.color = '#eee';\n      }\n    }\n\n    this.mergeDefaultAndTheme(option, ecModel); // Default label emphasis `show`\n\n    _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"defaultEmphasis\"](option, 'label', ['show']);\n  };\n\n  GeoModel.prototype.optionUpdated = function () {\n    var _this = this;\n\n    var option = this.option;\n    option.regions = _geoCreator_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getFilledRegions(option.regions, option.map, option.nameMap, option.nameProperty);\n    var selectedMap = {};\n    this._optionModelMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"reduce\"](option.regions || [], function (optionModelMap, regionOpt) {\n      var regionName = regionOpt.name;\n\n      if (regionName) {\n        optionModelMap.set(regionName, new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](regionOpt, _this, _this.ecModel));\n\n        if (regionOpt.selected) {\n          selectedMap[regionName] = true;\n        }\n      }\n\n      return optionModelMap;\n    }, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"]());\n\n    if (!option.selectedMap) {\n      option.selectedMap = selectedMap;\n    }\n  };\n  /**\n   * Get model of region.\n   */\n\n\n  GeoModel.prototype.getRegionModel = function (name) {\n    return this._optionModelMap.get(name) || new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](null, this, this.ecModel);\n  };\n  /**\n   * Format label\n   * @param name Region name\n   */\n\n\n  GeoModel.prototype.getFormattedLabel = function (name, status) {\n    var regionModel = this.getRegionModel(name);\n    var formatter = status === 'normal' ? regionModel.get(['label', 'formatter']) : regionModel.get(['emphasis', 'label', 'formatter']);\n    var params = {\n      name: name\n    };\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](formatter)) {\n      params.status = status;\n      return formatter(params);\n    } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](formatter)) {\n      return formatter.replace('{a}', name != null ? name : '');\n    }\n  };\n\n  GeoModel.prototype.setZoom = function (zoom) {\n    this.option.zoom = zoom;\n  };\n\n  GeoModel.prototype.setCenter = function (center) {\n    this.option.center = center;\n  }; // PENGING If selectedMode is null ?\n\n\n  GeoModel.prototype.select = function (name) {\n    var option = this.option;\n    var selectedMode = option.selectedMode;\n\n    if (!selectedMode) {\n      return;\n    }\n\n    if (selectedMode !== 'multiple') {\n      option.selectedMap = null;\n    }\n\n    var selectedMap = option.selectedMap || (option.selectedMap = {});\n    selectedMap[name] = true;\n  };\n\n  GeoModel.prototype.unSelect = function (name) {\n    var selectedMap = this.option.selectedMap;\n\n    if (selectedMap) {\n      selectedMap[name] = false;\n    }\n  };\n\n  GeoModel.prototype.toggleSelected = function (name) {\n    this[this.isSelected(name) ? 'unSelect' : 'select'](name);\n  };\n\n  GeoModel.prototype.isSelected = function (name) {\n    var selectedMap = this.option.selectedMap;\n    return !!(selectedMap && selectedMap[name]);\n  };\n\n  GeoModel.type = 'geo';\n  GeoModel.layoutMode = 'box';\n  GeoModel.defaultOption = {\n    // zlevel: 0,\n    z: 0,\n    show: true,\n    left: 'center',\n    top: 'center',\n    // Default value:\n    // for geoSVG source: 1,\n    // for geoJSON source: 0.75.\n    aspectScale: null,\n    ///// Layout with center and size\n    // If you wan't to put map in a fixed size box with right aspect ratio\n    // This two properties may more conveninet\n    // layoutCenter: [50%, 50%]\n    // layoutSize: 100\n    silent: false,\n    // Map type\n    map: '',\n    // Define left-top, right-bottom coords to control view\n    // For example, [ [180, 90], [-180, -90] ]\n    boundingCoords: null,\n    // Default on center of map\n    center: null,\n    zoom: 1,\n    scaleLimit: null,\n    // selectedMode: false\n    label: {\n      show: false,\n      color: '#000'\n    },\n    itemStyle: {\n      borderWidth: 0.5,\n      borderColor: '#444' // Default color:\n      // + geoJSON: #eee\n      // + geoSVG: null (use SVG original `fill`)\n      // color: '#eee'\n\n    },\n    emphasis: {\n      label: {\n        show: true,\n        color: 'rgb(100,0,0)'\n      },\n      itemStyle: {\n        color: 'rgba(255,215,0,0.8)'\n      }\n    },\n    select: {\n      label: {\n        show: true,\n        color: 'rgb(100,0,0)'\n      },\n      itemStyle: {\n        color: 'rgba(255,215,0,0.8)'\n      }\n    },\n    regions: [] // tooltip: {\n    //     show: false\n    // }\n\n  };\n  return GeoModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GeoModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/GeoModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/GeoSVGResource.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/GeoSVGResource.js ***!
  \**************************************************************/
/*! exports provided: GeoSVGResource */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeoSVGResource\", function() { return GeoSVGResource; });\n/* harmony import */ var zrender_lib_tool_parseSVG_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/tool/parseSVG.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/parseSVG.js\");\n/* harmony import */ var zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/* harmony import */ var zrender_lib_graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/graphic/shape/Rect.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var zrender_lib_tool_parseXML_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/tool/parseXML.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/parseXML.js\");\n/* harmony import */ var _Region_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Region.js */ \"./node_modules/echarts/lib/coord/geo/Region.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n/**\n * \"region available\" means that: enable users to set attribute `name=\"xxx\"` on those tags\n * to make it be a region.\n * 1. region styles and its label styles can be defined in echarts opton:\n * ```js\n * geo: {\n *     regions: [{\n *         name: 'xxx',\n *         itemStyle: { ... },\n *         label: { ... }\n *     }, {\n *         ...\n *     },\n *     ...]\n * };\n * ```\n * 2. name can be duplicated in different SVG tag. All of the tags with the same name share\n * a region option. For exampel if there are two <path> representing two lung lobes. They have\n * no common parents but both of them need to display label \"lung\" inside.\n */\n\nvar REGION_AVAILABLE_SVG_TAG_MAP = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createHashMap\"])(['rect', 'circle', 'line', 'ellipse', 'polygon', 'polyline', 'path', // <text> <tspan> are also enabled becuase some SVG might paint text itself,\n// but still need to trigger events or tooltip.\n'text', 'tspan', // <g> is also enabled because this case: if multiple tags share one name\n// and need label displayed, every tags will display the name, which is not\n// expected. So we can put them into a <g name=\"xxx\">. Thereby only one label\n// displayed and located based on the bounding rect of the <g>.\n'g']);\n\nvar GeoSVGResource =\n/** @class */\nfunction () {\n  function GeoSVGResource(mapName, svg) {\n    this.type = 'geoSVG'; // All used graphics. key: hostKey, value: root\n\n    this._usedGraphicMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createHashMap\"])(); // All unused graphics.\n\n    this._freedGraphics = [];\n    this._mapName = mapName; // Only perform parse to XML object here, which might be time\n    // consiming for large SVG.\n    // Although convert XML to zrender element is also time consiming,\n    // if we do it here, the clone of zrender elements has to be\n    // required. So we do it once for each geo instance, util real\n    // performance issues call for optimizing it.\n\n    this._parsedXML = Object(zrender_lib_tool_parseXML_js__WEBPACK_IMPORTED_MODULE_5__[\"parseXML\"])(svg);\n  }\n\n  GeoSVGResource.prototype.load = function ()\n  /* nameMap: NameMap */\n  {\n    // In the \"load\" stage, graphic need to be built to\n    // get boundingRect for geo coordinate system.\n    var firstGraphic = this._firstGraphic; // Create the return data structure only when first graphic created.\n    // Because they will be used in geo coordinate system update stage,\n    // and `regions` will be mounted at `geo` coordinate system,\n    // in which there is no \"view\" info, so that it should better not to\n    // make references to graphic elements.\n\n    if (!firstGraphic) {\n      firstGraphic = this._firstGraphic = this._buildGraphic(this._parsedXML);\n\n      this._freedGraphics.push(firstGraphic);\n\n      this._boundingRect = this._firstGraphic.boundingRect.clone(); // PENDING: `nameMap` will not be supported until some real requirement come.\n      // if (nameMap) {\n      //     named = applyNameMap(named, nameMap);\n      // }\n\n      var _a = createRegions(firstGraphic.named),\n          regions = _a.regions,\n          regionsMap = _a.regionsMap;\n\n      this._regions = regions;\n      this._regionsMap = regionsMap;\n    }\n\n    return {\n      boundingRect: this._boundingRect,\n      regions: this._regions,\n      regionsMap: this._regionsMap\n    };\n  };\n\n  GeoSVGResource.prototype._buildGraphic = function (svgXML) {\n    var result;\n    var rootFromParse;\n\n    try {\n      result = svgXML && Object(zrender_lib_tool_parseSVG_js__WEBPACK_IMPORTED_MODULE_0__[\"parseSVG\"])(svgXML, {\n        ignoreViewBox: true,\n        ignoreRootClip: true\n      }) || {};\n      rootFromParse = result.root;\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"assert\"])(rootFromParse != null);\n    } catch (e) {\n      throw new Error('Invalid svg format\\n' + e.message);\n    } // Note: we keep the covenant that the root has no transform. So always add an extra root.\n\n\n    var root = new zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    root.add(rootFromParse);\n    root.isGeoSVGGraphicRoot = true; // [THE_RULE_OF_VIEWPORT_AND_VIEWBOX]\n    //\n    // Consider: `<svg width=\"...\" height=\"...\" viewBox=\"...\">`\n    // - the `width/height` we call it `svgWidth/svgHeight` for short.\n    // - `(0, 0, svgWidth, svgHeight)` defines the viewport of the SVG, or say,\n    //   \"viewport boundingRect\", or `boundingRect` for short.\n    // - `viewBox` defines the transform from the real content ot the viewport.\n    //   `viewBox` has the same unit as the content of SVG.\n    //   If `viewBox` exists, a transform is defined, so the unit of `svgWidth/svgHeight` become\n    //   different from the content of SVG. Otherwise, they are the same.\n    //\n    // If both `svgWidth/svgHeight/viewBox` are specified in a SVG file, the transform rule will be:\n    // 0. `boundingRect` is `(0, 0, svgWidth, svgHeight)`. Set it to Geo['_rect'] (View['_rect']).\n    // 1. Make a transform from `viewBox` to `boundingRect`.\n    //    Note: only suport `preserveAspectRatio 'xMidYMid'` here. That is, this transform will preserve\n    //    the aspect ratio.\n    // 2. Make a transform from boundingRect to Geo['_viewRect'] (View['_viewRect'])\n    //    (`Geo`/`View` will do this job).\n    //    Note: this transform might not preserve aspect radio, which depending on how users specify\n    //    viewRect in echarts option (e.g., `geo.left/top/width/height` will not preserve aspect ratio,\n    //    but `geo.layoutCenter/layoutSize` will preserve aspect ratio).\n    //\n    // If `svgWidth/svgHeight` not specified, we use `viewBox` as the `boundingRect` to make the SVG\n    // layout look good.\n    //\n    // If neither `svgWidth/svgHeight` nor `viewBox` are not specified, we calculate the boundingRect\n    // of the SVG content and use them to make SVG layout look good.\n\n    var svgWidth = result.width;\n    var svgHeight = result.height;\n    var viewBoxRect = result.viewBoxRect;\n    var boundingRect = this._boundingRect;\n\n    if (!boundingRect) {\n      var bRectX = void 0;\n      var bRectY = void 0;\n      var bRectWidth = void 0;\n      var bRectHeight = void 0;\n\n      if (svgWidth != null) {\n        bRectX = 0;\n        bRectWidth = svgWidth;\n      } else if (viewBoxRect) {\n        bRectX = viewBoxRect.x;\n        bRectWidth = viewBoxRect.width;\n      }\n\n      if (svgHeight != null) {\n        bRectY = 0;\n        bRectHeight = svgHeight;\n      } else if (viewBoxRect) {\n        bRectY = viewBoxRect.y;\n        bRectHeight = viewBoxRect.height;\n      } // If both viewBox and svgWidth/svgHeight not specified,\n      // we have to determine how to layout those element to make them look good.\n\n\n      if (bRectX == null || bRectY == null) {\n        var calculatedBoundingRect = rootFromParse.getBoundingRect();\n\n        if (bRectX == null) {\n          bRectX = calculatedBoundingRect.x;\n          bRectWidth = calculatedBoundingRect.width;\n        }\n\n        if (bRectY == null) {\n          bRectY = calculatedBoundingRect.y;\n          bRectHeight = calculatedBoundingRect.height;\n        }\n      }\n\n      boundingRect = this._boundingRect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](bRectX, bRectY, bRectWidth, bRectHeight);\n    }\n\n    if (viewBoxRect) {\n      var viewBoxTransform = Object(zrender_lib_tool_parseSVG_js__WEBPACK_IMPORTED_MODULE_0__[\"makeViewBoxTransform\"])(viewBoxRect, boundingRect); // Only support `preserveAspectRatio 'xMidYMid'`\n\n      rootFromParse.scaleX = rootFromParse.scaleY = viewBoxTransform.scale;\n      rootFromParse.x = viewBoxTransform.x;\n      rootFromParse.y = viewBoxTransform.y;\n    } // SVG needs to clip based on `viewBox`. And some SVG files really rely on this feature.\n    // They do not strictly confine all of the content inside a display rect, but deliberately\n    // use a `viewBox` to define a displayable rect.\n    // PENDING:\n    // The drawback of the `setClipPath` here is: the region label (genereted by echarts) near the\n    // edge might also be clipped, because region labels are put as `textContent` of the SVG path.\n\n\n    root.setClipPath(new zrender_lib_graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n      shape: boundingRect.plain()\n    }));\n    var named = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(result.named, function (namedItem) {\n      if (REGION_AVAILABLE_SVG_TAG_MAP.get(namedItem.svgNodeTagLower) != null) {\n        named.push(namedItem);\n        setSilent(namedItem.el);\n      }\n    });\n    return {\n      root: root,\n      boundingRect: boundingRect,\n      named: named\n    };\n  };\n  /**\n   * Consider:\n   * (1) One graphic element can not be shared by different `geoView` running simultaneously.\n   *     Notice, also need to consider multiple echarts instances share a `mapRecord`.\n   * (2) Converting SVG to graphic elements is time consuming.\n   * (3) In the current architecture, `load` should be called frequently to get boundingRect,\n   *     and it is called without view info.\n   * So we maintain graphic elements in this module, and enables `view` to use/return these\n   * graphics from/to the pool with it's uid.\n   */\n\n\n  GeoSVGResource.prototype.useGraphic = function (hostKey\n  /*, nameMap: NameMap */\n  ) {\n    var usedRootMap = this._usedGraphicMap;\n    var svgGraphic = usedRootMap.get(hostKey);\n\n    if (svgGraphic) {\n      return svgGraphic;\n    }\n\n    svgGraphic = this._freedGraphics.pop() // use the first boundingRect to avoid duplicated boundingRect calculation.\n    || this._buildGraphic(this._parsedXML);\n    usedRootMap.set(hostKey, svgGraphic); // PENDING: `nameMap` will not be supported until some real requirement come.\n    // `nameMap` can only be obtained from echarts option.\n    // The original `named` must not be modified.\n    // if (nameMap) {\n    //     svgGraphic = extend({}, svgGraphic);\n    //     svgGraphic.named = applyNameMap(svgGraphic.named, nameMap);\n    // }\n\n    return svgGraphic;\n  };\n\n  GeoSVGResource.prototype.freeGraphic = function (hostKey) {\n    var usedRootMap = this._usedGraphicMap;\n    var svgGraphic = usedRootMap.get(hostKey);\n\n    if (svgGraphic) {\n      usedRootMap.removeKey(hostKey);\n\n      this._freedGraphics.push(svgGraphic);\n    }\n  };\n\n  return GeoSVGResource;\n}();\n\n\n\nfunction setSilent(el) {\n  // Only named element has silent: false, other elements should\n  // act as background and has no user interaction.\n  el.silent = false; // text|tspan will be converted to group.\n\n  if (el.isGroup) {\n    el.traverse(function (child) {\n      child.silent = false;\n    });\n  }\n}\n\nfunction createRegions(named) {\n  var regions = [];\n  var regionsMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createHashMap\"])(); // Create resions only for the first graphic.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(named, function (namedItem) {\n    // Region has feature to calculate center for tooltip or other features.\n    // If there is a <g name=\"xxx\">, the center should be the center of the\n    // bounding rect of the g.\n    if (namedItem.namedFrom != null) {\n      return;\n    }\n\n    var region = new _Region_js__WEBPACK_IMPORTED_MODULE_6__[\"GeoSVGRegion\"](namedItem.name, namedItem.el); // PENDING: if `nameMap` supported, this region can not be mounted on\n    // `this`, but can only be created each time `load()` called.\n\n    regions.push(region); // PENDING: if multiple tag named with the same name, only one will be\n    // found by `_regionsMap`. `_regionsMap` is used to find a coordinate\n    // by name. We use `region.getCenter()` as the coordinate.\n\n    regionsMap.set(namedItem.name, region);\n  });\n  return {\n    regions: regions,\n    regionsMap: regionsMap\n  };\n} // PENDING: `nameMap` will not be supported until some real requirement come.\n// /**\n//  * Use the alias in geoNameMap.\n//  * The input `named` must not be modified.\n//  */\n// function applyNameMap(\n//     named: GeoSVGGraphicRecord['named'],\n//     nameMap: NameMap\n// ): GeoSVGGraphicRecord['named'] {\n//     const result = [] as GeoSVGGraphicRecord['named'];\n//     for (let i = 0; i < named.length; i++) {\n//         let regionGraphic = named[i];\n//         const name = regionGraphic.name;\n//         if (nameMap && nameMap.hasOwnProperty(name)) {\n//             regionGraphic = extend({}, regionGraphic);\n//             regionGraphic.name = name;\n//         }\n//         result.push(regionGraphic);\n//     }\n//     return result;\n// }\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/GeoSVGResource.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/Region.js":
/*!******************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/Region.js ***!
  \******************************************************/
/*! exports provided: Region, GeoJSONPolygonGeometry, GeoJSONLineStringGeometry, GeoJSONRegion, GeoSVGRegion */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Region\", function() { return Region; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeoJSONPolygonGeometry\", function() { return GeoJSONPolygonGeometry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeoJSONLineStringGeometry\", function() { return GeoJSONLineStringGeometry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeoJSONRegion\", function() { return GeoJSONRegion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeoSVGRegion\", function() { return GeoSVGRegion; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/contain/polygon.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/polygon.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar TMP_TRANSFORM = [];\n\nfunction transformPoints(points, transform) {\n  for (var p = 0; p < points.length; p++) {\n    zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"applyTransform\"](points[p], points[p], transform);\n  }\n}\n\nfunction updateBBoxFromPoints(points, min, max, projection) {\n  for (var i = 0; i < points.length; i++) {\n    var p = points[i];\n\n    if (projection) {\n      // projection may return null point.\n      p = projection.project(p);\n    }\n\n    if (p && isFinite(p[0]) && isFinite(p[1])) {\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"min\"](min, min, p);\n      zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"max\"](max, max, p);\n    }\n  }\n}\n\nfunction centroid(points) {\n  var signedArea = 0;\n  var cx = 0;\n  var cy = 0;\n  var len = points.length;\n  var x0 = points[len - 1][0];\n  var y0 = points[len - 1][1]; // Polygon should been closed.\n\n  for (var i = 0; i < len; i++) {\n    var x1 = points[i][0];\n    var y1 = points[i][1];\n    var a = x0 * y1 - x1 * y0;\n    signedArea += a;\n    cx += (x0 + x1) * a;\n    cy += (y0 + y1) * a;\n    x0 = x1;\n    y0 = y1;\n  }\n\n  return signedArea ? [cx / signedArea / 3, cy / signedArea / 3, signedArea] : [points[0][0] || 0, points[0][1] || 0];\n}\n\nvar Region =\n/** @class */\nfunction () {\n  function Region(name) {\n    this.name = name;\n  }\n\n  Region.prototype.setCenter = function (center) {\n    this._center = center;\n  };\n  /**\n   * Get center point in data unit. That is,\n   * for GeoJSONRegion, the unit is lat/lng,\n   * for GeoSVGRegion, the unit is SVG local coord.\n   */\n\n\n  Region.prototype.getCenter = function () {\n    var center = this._center;\n\n    if (!center) {\n      // In most cases there are no need to calculate this center.\n      // So calculate only when called.\n      center = this._center = this.calcCenter();\n    }\n\n    return center;\n  };\n\n  return Region;\n}();\n\n\n\nvar GeoJSONPolygonGeometry =\n/** @class */\nfunction () {\n  function GeoJSONPolygonGeometry(exterior, interiors) {\n    this.type = 'polygon';\n    this.exterior = exterior;\n    this.interiors = interiors;\n  }\n\n  return GeoJSONPolygonGeometry;\n}();\n\n\n\nvar GeoJSONLineStringGeometry =\n/** @class */\nfunction () {\n  function GeoJSONLineStringGeometry(points) {\n    this.type = 'linestring';\n    this.points = points;\n  }\n\n  return GeoJSONLineStringGeometry;\n}();\n\n\n\nvar GeoJSONRegion =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GeoJSONRegion, _super);\n\n  function GeoJSONRegion(name, geometries, cp) {\n    var _this = _super.call(this, name) || this;\n\n    _this.type = 'geoJSON';\n    _this.geometries = geometries;\n    _this._center = cp && [cp[0], cp[1]];\n    return _this;\n  }\n\n  GeoJSONRegion.prototype.calcCenter = function () {\n    var geometries = this.geometries;\n    var largestGeo;\n    var largestGeoSize = 0;\n\n    for (var i = 0; i < geometries.length; i++) {\n      var geo = geometries[i];\n      var exterior = geo.exterior; // Simple trick to use points count instead of polygon area as region size.\n      // Ignore linestring\n\n      var size = exterior && exterior.length;\n\n      if (size > largestGeoSize) {\n        largestGeo = geo;\n        largestGeoSize = size;\n      }\n    }\n\n    if (largestGeo) {\n      return centroid(largestGeo.exterior);\n    } // from bounding rect by default.\n\n\n    var rect = this.getBoundingRect();\n    return [rect.x + rect.width / 2, rect.y + rect.height / 2];\n  };\n\n  GeoJSONRegion.prototype.getBoundingRect = function (projection) {\n    var rect = this._rect; // Always recalculate if using projection.\n\n    if (rect && !projection) {\n      return rect;\n    }\n\n    var min = [Infinity, Infinity];\n    var max = [-Infinity, -Infinity];\n    var geometries = this.geometries;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(geometries, function (geo) {\n      if (geo.type === 'polygon') {\n        // Doesn't consider hole\n        updateBBoxFromPoints(geo.exterior, min, max, projection);\n      } else {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(geo.points, function (points) {\n          updateBBoxFromPoints(points, min, max, projection);\n        });\n      }\n    }); // Normalie invalid bounding.\n\n    if (!(isFinite(min[0]) && isFinite(min[1]) && isFinite(max[0]) && isFinite(max[1]))) {\n      min[0] = min[1] = max[0] = max[1] = 0;\n    }\n\n    rect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](min[0], min[1], max[0] - min[0], max[1] - min[1]);\n\n    if (!projection) {\n      this._rect = rect;\n    }\n\n    return rect;\n  };\n\n  GeoJSONRegion.prototype.contain = function (coord) {\n    var rect = this.getBoundingRect();\n    var geometries = this.geometries;\n\n    if (!rect.contain(coord[0], coord[1])) {\n      return false;\n    }\n\n    loopGeo: for (var i = 0, len = geometries.length; i < len; i++) {\n      var geo = geometries[i]; // Only support polygon.\n\n      if (geo.type !== 'polygon') {\n        continue;\n      }\n\n      var exterior = geo.exterior;\n      var interiors = geo.interiors;\n\n      if (zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_3__[\"contain\"](exterior, coord[0], coord[1])) {\n        // Not in the region if point is in the hole.\n        for (var k = 0; k < (interiors ? interiors.length : 0); k++) {\n          if (zrender_lib_contain_polygon_js__WEBPACK_IMPORTED_MODULE_3__[\"contain\"](interiors[k], coord[0], coord[1])) {\n            continue loopGeo;\n          }\n        }\n\n        return true;\n      }\n    }\n\n    return false;\n  };\n  /**\n   * Transform the raw coords to target bounding.\n   * @param x\n   * @param y\n   * @param width\n   * @param height\n   */\n\n\n  GeoJSONRegion.prototype.transformTo = function (x, y, width, height) {\n    var rect = this.getBoundingRect();\n    var aspect = rect.width / rect.height;\n\n    if (!width) {\n      width = aspect * height;\n    } else if (!height) {\n      height = width / aspect;\n    }\n\n    var target = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](x, y, width, height);\n    var transform = rect.calculateTransform(target);\n    var geometries = this.geometries;\n\n    for (var i = 0; i < geometries.length; i++) {\n      var geo = geometries[i];\n\n      if (geo.type === 'polygon') {\n        transformPoints(geo.exterior, transform);\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(geo.interiors, function (interior) {\n          transformPoints(interior, transform);\n        });\n      } else {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(geo.points, function (points) {\n          transformPoints(points, transform);\n        });\n      }\n    }\n\n    rect = this._rect;\n    rect.copy(target); // Update center\n\n    this._center = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n  };\n\n  GeoJSONRegion.prototype.cloneShallow = function (name) {\n    name == null && (name = this.name);\n    var newRegion = new GeoJSONRegion(name, this.geometries, this._center);\n    newRegion._rect = this._rect;\n    newRegion.transformTo = null; // Simply avoid to be called.\n\n    return newRegion;\n  };\n\n  return GeoJSONRegion;\n}(Region);\n\n\n\nvar GeoSVGRegion =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GeoSVGRegion, _super);\n\n  function GeoSVGRegion(name, elOnlyForCalculate) {\n    var _this = _super.call(this, name) || this;\n\n    _this.type = 'geoSVG';\n    _this._elOnlyForCalculate = elOnlyForCalculate;\n    return _this;\n  }\n\n  GeoSVGRegion.prototype.calcCenter = function () {\n    var el = this._elOnlyForCalculate;\n    var rect = el.getBoundingRect();\n    var center = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n    var mat = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"identity\"](TMP_TRANSFORM);\n    var target = el;\n\n    while (target && !target.isGeoSVGGraphicRoot) {\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"mul\"](mat, target.getLocalTransform(), mat);\n      target = target.parent;\n    }\n\n    zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_4__[\"invert\"](mat, mat);\n    zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"applyTransform\"](center, center, mat);\n    return center;\n  };\n\n  return GeoSVGRegion;\n}(Region);\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/Region.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return fixDiaoyuIsland; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Fix for 钓鱼岛\n// let Region = require('../Region');\n// let zrUtil = require('zrender/lib/core/util');\n// let geoCoord = [126, 25];\nvar points = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]];\nfunction fixDiaoyuIsland(mapType, region) {\n  if (mapType === 'china' && region.name === '台湾') {\n    region.geometries.push({\n      type: 'polygon',\n      exterior: points[0]\n    });\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/fix/nanhai.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/fix/nanhai.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return fixNanhai; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Region_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Region.js */ \"./node_modules/echarts/lib/coord/geo/Region.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Fix for 南海诸岛\n\n\nvar geoCoord = [126, 25];\nvar nanhaiName = '南海诸岛';\nvar points = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]];\n\nfor (var i = 0; i < points.length; i++) {\n  for (var k = 0; k < points[i].length; k++) {\n    points[i][k][0] /= 10.5;\n    points[i][k][1] /= -10.5 / 0.75;\n    points[i][k][0] += geoCoord[0];\n    points[i][k][1] += geoCoord[1];\n  }\n}\n\nfunction fixNanhai(mapType, regions) {\n  if (mapType === 'china') {\n    for (var i = 0; i < regions.length; i++) {\n      // Already exists.\n      if (regions[i].name === nanhaiName) {\n        return;\n      }\n    }\n\n    regions.push(new _Region_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoJSONRegion\"](nanhaiName, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](points, function (exterior) {\n      return {\n        type: 'polygon',\n        exterior: exterior\n      };\n    }), geoCoord));\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/fix/nanhai.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/fix/textCoord.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/fix/textCoord.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return fixTextCoords; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar coordsOffsetMap = {\n  '南海诸岛': [32, 80],\n  // 全国\n  '广东': [0, -10],\n  '香港': [10, 5],\n  '澳门': [-10, 10],\n  //'北京': [-10, 0],\n  '天津': [5, 5]\n};\nfunction fixTextCoords(mapType, region) {\n  if (mapType === 'china') {\n    var coordFix = coordsOffsetMap[region.name];\n\n    if (coordFix) {\n      var cp = region.getCenter();\n      cp[0] += coordFix[0] / 10.5;\n      cp[1] += -coordFix[1] / (10.5 / 0.75);\n      region.setCenter(cp);\n    }\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/fix/textCoord.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/geoCreator.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/geoCreator.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Geo_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Geo.js */ \"./node_modules/echarts/lib/coord/geo/Geo.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./geoSourceManager.js */ \"./node_modules/echarts/lib/coord/geo/geoSourceManager.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n/**\n * Resize method bound to the geo\n */\n\nfunction resizeGeo(geoModel, api) {\n  var boundingCoords = geoModel.get('boundingCoords');\n\n  if (boundingCoords != null) {\n    var leftTop_1 = boundingCoords[0];\n    var rightBottom_1 = boundingCoords[1];\n\n    if (!(isFinite(leftTop_1[0]) && isFinite(leftTop_1[1]) && isFinite(rightBottom_1[0]) && isFinite(rightBottom_1[1]))) {\n      if (true) {\n        console.error('Invalid boundingCoords');\n      }\n    } else {\n      // Sample around the lng/lat rect and use projection to calculate actual bounding rect.\n      var projection_1 = this.projection;\n\n      if (projection_1) {\n        var xMin = leftTop_1[0];\n        var yMin = leftTop_1[1];\n        var xMax = rightBottom_1[0];\n        var yMax = rightBottom_1[1];\n        leftTop_1 = [Infinity, Infinity];\n        rightBottom_1 = [-Infinity, -Infinity]; // TODO better way?\n\n        var sampleLine = function (x0, y0, x1, y1) {\n          var dx = x1 - x0;\n          var dy = y1 - y0;\n\n          for (var i = 0; i <= 100; i++) {\n            var p = i / 100;\n            var pt = projection_1.project([x0 + dx * p, y0 + dy * p]);\n            zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__[\"min\"](leftTop_1, leftTop_1, pt);\n            zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_5__[\"max\"](rightBottom_1, rightBottom_1, pt);\n          }\n        }; // Top\n\n\n        sampleLine(xMin, yMin, xMax, yMin); // Right\n\n        sampleLine(xMax, yMin, xMax, yMax); // Bottom\n\n        sampleLine(xMax, yMax, xMin, yMax); // Left\n\n        sampleLine(xMin, yMax, xMax, yMin);\n      }\n\n      this.setBoundingRect(leftTop_1[0], leftTop_1[1], rightBottom_1[0] - leftTop_1[0], rightBottom_1[1] - leftTop_1[1]);\n    }\n  }\n\n  var rect = this.getBoundingRect();\n  var centerOption = geoModel.get('layoutCenter');\n  var sizeOption = geoModel.get('layoutSize');\n  var viewWidth = api.getWidth();\n  var viewHeight = api.getHeight();\n  var aspect = rect.width / rect.height * this.aspectScale;\n  var useCenterAndSize = false;\n  var center;\n  var size;\n\n  if (centerOption && sizeOption) {\n    center = [_util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"parsePercent\"](centerOption[0], viewWidth), _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"parsePercent\"](centerOption[1], viewHeight)];\n    size = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"parsePercent\"](sizeOption, Math.min(viewWidth, viewHeight));\n\n    if (!isNaN(center[0]) && !isNaN(center[1]) && !isNaN(size)) {\n      useCenterAndSize = true;\n    } else {\n      if (true) {\n        console.warn('Given layoutCenter or layoutSize data are invalid. Use left/top/width/height instead.');\n      }\n    }\n  }\n\n  var viewRect;\n\n  if (useCenterAndSize) {\n    viewRect = {};\n\n    if (aspect > 1) {\n      // Width is same with size\n      viewRect.width = size;\n      viewRect.height = size / aspect;\n    } else {\n      viewRect.height = size;\n      viewRect.width = size * aspect;\n    }\n\n    viewRect.y = center[1] - viewRect.height / 2;\n    viewRect.x = center[0] - viewRect.width / 2;\n  } else {\n    // Use left/top/width/height\n    var boxLayoutOption = geoModel.getBoxLayoutParams();\n    boxLayoutOption.aspect = aspect;\n    viewRect = _util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"getLayoutRect\"](boxLayoutOption, {\n      width: viewWidth,\n      height: viewHeight\n    });\n  }\n\n  this.setViewRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);\n  this.setCenter(geoModel.get('center'), api);\n  this.setZoom(geoModel.get('zoom'));\n} // Back compat for ECharts2, where the coord map is set on map series:\n// {type: 'map', geoCoord: {'cityA': [116.46,39.92], 'cityA': [119.12,24.61]}},\n\n\nfunction setGeoCoords(geo, model) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](model.get('geoCoord'), function (geoCoord, name) {\n    geo.addGeoCoord(name, geoCoord);\n  });\n}\n\nvar GeoCreator =\n/** @class */\nfunction () {\n  function GeoCreator() {\n    // For deciding which dimensions to use when creating list data\n    this.dimensions = _Geo_js__WEBPACK_IMPORTED_MODULE_1__[\"geo2DDimensions\"];\n  }\n\n  GeoCreator.prototype.create = function (ecModel, api) {\n    var geoList = [];\n\n    function getCommonGeoProperties(model) {\n      return {\n        nameProperty: model.get('nameProperty'),\n        aspectScale: model.get('aspectScale'),\n        projection: model.get('projection')\n      };\n    } // FIXME Create each time may be slow\n\n\n    ecModel.eachComponent('geo', function (geoModel, idx) {\n      var mapName = geoModel.get('map');\n      var geo = new _Geo_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](mapName + idx, mapName, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({\n        nameMap: geoModel.get('nameMap')\n      }, getCommonGeoProperties(geoModel)));\n      geo.zoomLimit = geoModel.get('scaleLimit');\n      geoList.push(geo); // setGeoCoords(geo, geoModel);\n\n      geoModel.coordinateSystem = geo;\n      geo.model = geoModel; // Inject resize method\n\n      geo.resize = resizeGeo;\n      geo.resize(geoModel, api);\n    });\n    ecModel.eachSeries(function (seriesModel) {\n      var coordSys = seriesModel.get('coordinateSystem');\n\n      if (coordSys === 'geo') {\n        var geoIndex = seriesModel.get('geoIndex') || 0;\n        seriesModel.coordinateSystem = geoList[geoIndex];\n      }\n    }); // If has map series\n\n    var mapModelGroupBySeries = {};\n    ecModel.eachSeriesByType('map', function (seriesModel) {\n      if (!seriesModel.getHostGeoModel()) {\n        var mapType = seriesModel.getMapType();\n        mapModelGroupBySeries[mapType] = mapModelGroupBySeries[mapType] || [];\n        mapModelGroupBySeries[mapType].push(seriesModel);\n      }\n    });\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](mapModelGroupBySeries, function (mapSeries, mapType) {\n      var nameMapList = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](mapSeries, function (singleMapSeries) {\n        return singleMapSeries.get('nameMap');\n      });\n      var geo = new _Geo_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](mapType, mapType, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({\n        nameMap: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"mergeAll\"](nameMapList)\n      }, getCommonGeoProperties(mapSeries[0])));\n      geo.zoomLimit = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"].apply(null, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](mapSeries, function (singleMapSeries) {\n        return singleMapSeries.get('scaleLimit');\n      }));\n      geoList.push(geo); // Inject resize method\n\n      geo.resize = resizeGeo;\n      geo.resize(mapSeries[0], api);\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](mapSeries, function (singleMapSeries) {\n        singleMapSeries.coordinateSystem = geo;\n        setGeoCoords(geo, singleMapSeries);\n      });\n    });\n    return geoList;\n  };\n  /**\n   * Fill given regions array\n   */\n\n\n  GeoCreator.prototype.getFilledRegions = function (originRegionArr, mapName, nameMap, nameProperty) {\n    // Not use the original\n    var regionsArr = (originRegionArr || []).slice();\n    var dataNameMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n\n    for (var i = 0; i < regionsArr.length; i++) {\n      dataNameMap.set(regionsArr[i].name, regionsArr[i]);\n    }\n\n    var source = _geoSourceManager_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].load(mapName, nameMap, nameProperty);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](source.regions, function (region) {\n      var name = region.name;\n      !dataNameMap.get(name) && regionsArr.push({\n        name: name\n      });\n    });\n    return regionsArr;\n  };\n\n  return GeoCreator;\n}();\n\nvar geoCreator = new GeoCreator();\n/* harmony default export */ __webpack_exports__[\"default\"] = (geoCreator);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/geoCreator.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/geoSourceManager.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/geoSourceManager.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _GeoSVGResource_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GeoSVGResource.js */ \"./node_modules/echarts/lib/coord/geo/GeoSVGResource.js\");\n/* harmony import */ var _GeoJSONResource_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GeoJSONResource.js */ \"./node_modules/echarts/lib/coord/geo/GeoJSONResource.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar storage = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  /**\n   * Compatible with previous `echarts.registerMap`.\n   *\n   * @usage\n   * ```js\n   *\n   * echarts.registerMap('USA', geoJson, specialAreas);\n   *\n   * echarts.registerMap('USA', {\n   *     geoJson: geoJson,\n   *     specialAreas: {...}\n   * });\n   * echarts.registerMap('USA', {\n   *     geoJSON: geoJson,\n   *     specialAreas: {...}\n   * });\n   *\n   * echarts.registerMap('airport', {\n   *     svg: svg\n   * }\n   * ```\n   *\n   * Note:\n   * Do not support that register multiple geoJSON or SVG\n   * one map name. Because different geoJSON and SVG have\n   * different unit. It's not easy to make sure how those\n   * units are mapping/normalize.\n   * If intending to use multiple geoJSON or SVG, we can\n   * use multiple geo coordinate system.\n   */\n  registerMap: function (mapName, rawDef, rawSpecialAreas) {\n    if (rawDef.svg) {\n      var resource = new _GeoSVGResource_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoSVGResource\"](mapName, rawDef.svg);\n      storage.set(mapName, resource);\n    } else {\n      // Recommend:\n      //     echarts.registerMap('eu', { geoJSON: xxx, specialAreas: xxx });\n      // Backward compatibility:\n      //     echarts.registerMap('eu', geoJSON, specialAreas);\n      //     echarts.registerMap('eu', { geoJson: xxx, specialAreas: xxx });\n      var geoJSON = rawDef.geoJson || rawDef.geoJSON;\n\n      if (geoJSON && !rawDef.features) {\n        rawSpecialAreas = rawDef.specialAreas;\n      } else {\n        geoJSON = rawDef;\n      }\n\n      var resource = new _GeoJSONResource_js__WEBPACK_IMPORTED_MODULE_2__[\"GeoJSONResource\"](mapName, geoJSON, rawSpecialAreas);\n      storage.set(mapName, resource);\n    }\n  },\n  getGeoResource: function (mapName) {\n    return storage.get(mapName);\n  },\n\n  /**\n   * Only for exporting to users.\n   * **MUST NOT** used internally.\n   */\n  getMapForUser: function (mapName) {\n    var resource = storage.get(mapName); // Do not support return SVG until some real requirement come.\n\n    return resource && resource.type === 'geoJSON' && resource.getMapForUser();\n  },\n  load: function (mapName, nameMap, nameProperty) {\n    var resource = storage.get(mapName);\n\n    if (!resource) {\n      if (true) {\n        console.error('Map ' + mapName + ' not exists. The GeoJSON of the map must be provided.');\n      }\n\n      return;\n    }\n\n    return resource.load(nameMap, nameProperty);\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/geoSourceManager.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/parseGeoJson.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/parseGeoJson.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return parseGeoJSON; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Region_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Region.js */ \"./node_modules/echarts/lib/coord/geo/Region.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parse and decode geo json\n */\n\n\n\nfunction decode(json) {\n  if (!json.UTF8Encoding) {\n    return json;\n  }\n\n  var jsonCompressed = json;\n  var encodeScale = jsonCompressed.UTF8Scale;\n\n  if (encodeScale == null) {\n    encodeScale = 1024;\n  }\n\n  var features = jsonCompressed.features;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](features, function (feature) {\n    var geometry = feature.geometry;\n    var encodeOffsets = geometry.encodeOffsets;\n    var coordinates = geometry.coordinates; // Geometry may be appeded manually in the script after json loaded.\n    // In this case this geometry is usually not encoded.\n\n    if (!encodeOffsets) {\n      return;\n    }\n\n    switch (geometry.type) {\n      case 'LineString':\n        geometry.coordinates = decodeRing(coordinates, encodeOffsets, encodeScale);\n        break;\n\n      case 'Polygon':\n        decodeRings(coordinates, encodeOffsets, encodeScale);\n        break;\n\n      case 'MultiLineString':\n        decodeRings(coordinates, encodeOffsets, encodeScale);\n        break;\n\n      case 'MultiPolygon':\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](coordinates, function (rings, idx) {\n          return decodeRings(rings, encodeOffsets[idx], encodeScale);\n        });\n    }\n  }); // Has been decoded\n\n  jsonCompressed.UTF8Encoding = false;\n  return jsonCompressed;\n}\n\nfunction decodeRings(rings, encodeOffsets, encodeScale) {\n  for (var c = 0; c < rings.length; c++) {\n    rings[c] = decodeRing(rings[c], encodeOffsets[c], encodeScale);\n  }\n}\n\nfunction decodeRing(coordinate, encodeOffsets, encodeScale) {\n  var result = [];\n  var prevX = encodeOffsets[0];\n  var prevY = encodeOffsets[1];\n\n  for (var i = 0; i < coordinate.length; i += 2) {\n    var x = coordinate.charCodeAt(i) - 64;\n    var y = coordinate.charCodeAt(i + 1) - 64; // ZigZag decoding\n\n    x = x >> 1 ^ -(x & 1);\n    y = y >> 1 ^ -(y & 1); // Delta deocding\n\n    x += prevX;\n    y += prevY;\n    prevX = x;\n    prevY = y; // Dequantize\n\n    result.push([x / encodeScale, y / encodeScale]);\n  }\n\n  return result;\n}\n\nfunction parseGeoJSON(geoJson, nameProperty) {\n  geoJson = decode(geoJson);\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"filter\"](geoJson.features, function (featureObj) {\n    // Output of mapshaper may have geometry null\n    return featureObj.geometry && featureObj.properties && featureObj.geometry.coordinates.length > 0;\n  }), function (featureObj) {\n    var properties = featureObj.properties;\n    var geo = featureObj.geometry;\n    var geometries = [];\n\n    switch (geo.type) {\n      case 'Polygon':\n        var coordinates = geo.coordinates; // According to the GeoJSON specification.\n        // First must be exterior, and the rest are all interior(holes).\n\n        geometries.push(new _Region_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoJSONPolygonGeometry\"](coordinates[0], coordinates.slice(1)));\n        break;\n\n      case 'MultiPolygon':\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](geo.coordinates, function (item) {\n          if (item[0]) {\n            geometries.push(new _Region_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoJSONPolygonGeometry\"](item[0], item.slice(1)));\n          }\n        });\n        break;\n\n      case 'LineString':\n        geometries.push(new _Region_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoJSONLineStringGeometry\"]([geo.coordinates]));\n        break;\n\n      case 'MultiLineString':\n        geometries.push(new _Region_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoJSONLineStringGeometry\"](geo.coordinates));\n    }\n\n    var region = new _Region_js__WEBPACK_IMPORTED_MODULE_1__[\"GeoJSONRegion\"](properties[nameProperty || 'name'], geometries, properties.cp);\n    region.properties = properties;\n    return region;\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/parseGeoJson.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/geo/prepareCustom.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/geo/prepareCustom.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return geoPrepareCustom; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction dataToCoordSize(dataSize, dataItem) {\n  dataItem = dataItem || [0, 0];\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"]([0, 1], function (dimIdx) {\n    var val = dataItem[dimIdx];\n    var halfSize = dataSize[dimIdx] / 2;\n    var p1 = [];\n    var p2 = [];\n    p1[dimIdx] = val - halfSize;\n    p2[dimIdx] = val + halfSize;\n    p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n    return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n  }, this);\n}\n\nfunction geoPrepareCustom(coordSys) {\n  var rect = coordSys.getBoundingRect();\n  return {\n    coordSys: {\n      type: 'geo',\n      x: rect.x,\n      y: rect.y,\n      width: rect.width,\n      height: rect.height,\n      zoom: coordSys.getZoom()\n    },\n    api: {\n      coord: function (data) {\n        // do not provide \"out\" and noRoam param,\n        // Compatible with this usage:\n        // echarts.util.map(item.points, api.coord)\n        return coordSys.dataToPoint(data);\n      },\n      size: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](dataToCoordSize, coordSys)\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/prepareCustom.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/parallel/AxisModel.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/parallel/AxisModel.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/mixin/makeStyleMapper.js */ \"./node_modules/echarts/lib/model/mixin/makeStyleMapper.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../axisModelCommonMixin.js */ \"./node_modules/echarts/lib/coord/axisModelCommonMixin.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar ParallelAxisModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelAxisModel, _super);\n\n  function ParallelAxisModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ParallelAxisModel.type;\n    /**\n     * @readOnly\n     */\n\n    _this.activeIntervals = [];\n    return _this;\n  }\n\n  ParallelAxisModel.prototype.getAreaSelectStyle = function () {\n    return Object(_model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])([['fill', 'color'], ['lineWidth', 'borderWidth'], ['stroke', 'borderColor'], ['width', 'width'], ['opacity', 'opacity'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n    // So do not transfer decal directly.\n    ])(this.getModel('areaSelectStyle'));\n  };\n  /**\n   * The code of this feature is put on AxisModel but not ParallelAxis,\n   * because axisModel can be alive after echarts updating but instance of\n   * ParallelAxis having been disposed. this._activeInterval should be kept\n   * when action dispatched (i.e. legend click).\n   *\n   * @param intervals `interval.length === 0` means set all active.\n   */\n\n\n  ParallelAxisModel.prototype.setActiveIntervals = function (intervals) {\n    var activeIntervals = this.activeIntervals = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](intervals); // Normalize\n\n    if (activeIntervals) {\n      for (var i = activeIntervals.length - 1; i >= 0; i--) {\n        _util_number_js__WEBPACK_IMPORTED_MODULE_4__[\"asc\"](activeIntervals[i]);\n      }\n    }\n  };\n  /**\n   * @param value When only attempting detect whether 'no activeIntervals set',\n   *        `value` is not needed to be input.\n   */\n\n\n  ParallelAxisModel.prototype.getActiveState = function (value) {\n    var activeIntervals = this.activeIntervals;\n\n    if (!activeIntervals.length) {\n      return 'normal';\n    }\n\n    if (value == null || isNaN(+value)) {\n      return 'inactive';\n    } // Simple optimization\n\n\n    if (activeIntervals.length === 1) {\n      var interval = activeIntervals[0];\n\n      if (interval[0] <= value && value <= interval[1]) {\n        return 'active';\n      }\n    } else {\n      for (var i = 0, len = activeIntervals.length; i < len; i++) {\n        if (activeIntervals[i][0] <= value && value <= activeIntervals[i][1]) {\n          return 'active';\n        }\n      }\n    }\n\n    return 'inactive';\n  };\n\n  return ParallelAxisModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](ParallelAxisModel, _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_5__[\"AxisModelCommonMixin\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelAxisModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/AxisModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/parallel/Parallel.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/parallel/Parallel.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _ParallelAxis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ParallelAxis.js */ \"./node_modules/echarts/lib/coord/parallel/ParallelAxis.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _component_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../component/helper/sliderMove.js */ \"./node_modules/echarts/lib/component/helper/sliderMove.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel Coordinates\n * <https://en.wikipedia.org/wiki/Parallel_coordinates>\n */\n\n\n\n\n\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar round = _util_number_js__WEBPACK_IMPORTED_MODULE_6__[\"round\"];\nvar PI = Math.PI;\n\nvar Parallel =\n/** @class */\nfunction () {\n  function Parallel(parallelModel, ecModel, api) {\n    this.type = 'parallel';\n    /**\n     * key: dimension\n     */\n\n    this._axesMap = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n    /**\n     * key: dimension\n     * value: {position: [], rotation, }\n     */\n\n    this._axesLayout = {};\n    this.dimensions = parallelModel.dimensions;\n    this._model = parallelModel;\n\n    this._init(parallelModel, ecModel, api);\n  }\n\n  Parallel.prototype._init = function (parallelModel, ecModel, api) {\n    var dimensions = parallelModel.dimensions;\n    var parallelAxisIndex = parallelModel.parallelAxisIndex;\n    each(dimensions, function (dim, idx) {\n      var axisIndex = parallelAxisIndex[idx];\n      var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n\n      var axis = this._axesMap.set(dim, new _ParallelAxis_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](dim, _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"createScaleByModel\"](axisModel), [0, 0], axisModel.get('type'), axisIndex));\n\n      var isCategory = axis.type === 'category';\n      axis.onBand = isCategory && axisModel.get('boundaryGap');\n      axis.inverse = axisModel.get('inverse'); // Injection\n\n      axisModel.axis = axis;\n      axis.model = axisModel;\n      axis.coordinateSystem = axisModel.coordinateSystem = this;\n    }, this);\n  };\n  /**\n   * Update axis scale after data processed\n   */\n\n\n  Parallel.prototype.update = function (ecModel, api) {\n    this._updateAxesFromSeries(this._model, ecModel);\n  };\n\n  Parallel.prototype.containPoint = function (point) {\n    var layoutInfo = this._makeLayoutInfo();\n\n    var axisBase = layoutInfo.axisBase;\n    var layoutBase = layoutInfo.layoutBase;\n    var pixelDimIndex = layoutInfo.pixelDimIndex;\n    var pAxis = point[1 - pixelDimIndex];\n    var pLayout = point[pixelDimIndex];\n    return pAxis >= axisBase && pAxis <= axisBase + layoutInfo.axisLength && pLayout >= layoutBase && pLayout <= layoutBase + layoutInfo.layoutLength;\n  };\n\n  Parallel.prototype.getModel = function () {\n    return this._model;\n  };\n  /**\n   * Update properties from series\n   */\n\n\n  Parallel.prototype._updateAxesFromSeries = function (parallelModel, ecModel) {\n    ecModel.eachSeries(function (seriesModel) {\n      if (!parallelModel.contains(seriesModel, ecModel)) {\n        return;\n      }\n\n      var data = seriesModel.getData();\n      each(this.dimensions, function (dim) {\n        var axis = this._axesMap.get(dim);\n\n        axis.scale.unionExtentFromData(data, data.mapDimension(dim));\n        _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"niceScaleExtent\"](axis.scale, axis.model);\n      }, this);\n    }, this);\n  };\n  /**\n   * Resize the parallel coordinate system.\n   */\n\n\n  Parallel.prototype.resize = function (parallelModel, api) {\n    this._rect = _util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"getLayoutRect\"](parallelModel.getBoxLayoutParams(), {\n      width: api.getWidth(),\n      height: api.getHeight()\n    });\n\n    this._layoutAxes();\n  };\n\n  Parallel.prototype.getRect = function () {\n    return this._rect;\n  };\n\n  Parallel.prototype._makeLayoutInfo = function () {\n    var parallelModel = this._model;\n    var rect = this._rect;\n    var xy = ['x', 'y'];\n    var wh = ['width', 'height'];\n    var layout = parallelModel.get('layout');\n    var pixelDimIndex = layout === 'horizontal' ? 0 : 1;\n    var layoutLength = rect[wh[pixelDimIndex]];\n    var layoutExtent = [0, layoutLength];\n    var axisCount = this.dimensions.length;\n    var axisExpandWidth = restrict(parallelModel.get('axisExpandWidth'), layoutExtent);\n    var axisExpandCount = restrict(parallelModel.get('axisExpandCount') || 0, [0, axisCount]);\n    var axisExpandable = parallelModel.get('axisExpandable') && axisCount > 3 && axisCount > axisExpandCount && axisExpandCount > 1 && axisExpandWidth > 0 && layoutLength > 0; // `axisExpandWindow` is According to the coordinates of [0, axisExpandLength],\n    // for sake of consider the case that axisCollapseWidth is 0 (when screen is narrow),\n    // where collapsed axes should be overlapped.\n\n    var axisExpandWindow = parallelModel.get('axisExpandWindow');\n    var winSize;\n\n    if (!axisExpandWindow) {\n      winSize = restrict(axisExpandWidth * (axisExpandCount - 1), layoutExtent);\n      var axisExpandCenter = parallelModel.get('axisExpandCenter') || mathFloor(axisCount / 2);\n      axisExpandWindow = [axisExpandWidth * axisExpandCenter - winSize / 2];\n      axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n    } else {\n      winSize = restrict(axisExpandWindow[1] - axisExpandWindow[0], layoutExtent);\n      axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n    }\n\n    var axisCollapseWidth = (layoutLength - winSize) / (axisCount - axisExpandCount); // Avoid axisCollapseWidth is too small.\n\n    axisCollapseWidth < 3 && (axisCollapseWidth = 0); // Find the first and last indices > ewin[0] and < ewin[1].\n\n    var winInnerIndices = [mathFloor(round(axisExpandWindow[0] / axisExpandWidth, 1)) + 1, mathCeil(round(axisExpandWindow[1] / axisExpandWidth, 1)) - 1]; // Pos in ec coordinates.\n\n    var axisExpandWindow0Pos = axisCollapseWidth / axisExpandWidth * axisExpandWindow[0];\n    return {\n      layout: layout,\n      pixelDimIndex: pixelDimIndex,\n      layoutBase: rect[xy[pixelDimIndex]],\n      layoutLength: layoutLength,\n      axisBase: rect[xy[1 - pixelDimIndex]],\n      axisLength: rect[wh[1 - pixelDimIndex]],\n      axisExpandable: axisExpandable,\n      axisExpandWidth: axisExpandWidth,\n      axisCollapseWidth: axisCollapseWidth,\n      axisExpandWindow: axisExpandWindow,\n      axisCount: axisCount,\n      winInnerIndices: winInnerIndices,\n      axisExpandWindow0Pos: axisExpandWindow0Pos\n    };\n  };\n\n  Parallel.prototype._layoutAxes = function () {\n    var rect = this._rect;\n    var axes = this._axesMap;\n    var dimensions = this.dimensions;\n\n    var layoutInfo = this._makeLayoutInfo();\n\n    var layout = layoutInfo.layout;\n    axes.each(function (axis) {\n      var axisExtent = [0, layoutInfo.axisLength];\n      var idx = axis.inverse ? 1 : 0;\n      axis.setExtent(axisExtent[idx], axisExtent[1 - idx]);\n    });\n    each(dimensions, function (dim, idx) {\n      var posInfo = (layoutInfo.axisExpandable ? layoutAxisWithExpand : layoutAxisWithoutExpand)(idx, layoutInfo);\n      var positionTable = {\n        horizontal: {\n          x: posInfo.position,\n          y: layoutInfo.axisLength\n        },\n        vertical: {\n          x: 0,\n          y: posInfo.position\n        }\n      };\n      var rotationTable = {\n        horizontal: PI / 2,\n        vertical: 0\n      };\n      var position = [positionTable[layout].x + rect.x, positionTable[layout].y + rect.y];\n      var rotation = rotationTable[layout];\n      var transform = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__[\"create\"]();\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__[\"rotate\"](transform, transform, rotation);\n      zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__[\"translate\"](transform, transform, position); // TODO\n      // tick layout info\n      // TODO\n      // update dimensions info based on axis order.\n\n      this._axesLayout[dim] = {\n        position: position,\n        rotation: rotation,\n        transform: transform,\n        axisNameAvailableWidth: posInfo.axisNameAvailableWidth,\n        axisLabelShow: posInfo.axisLabelShow,\n        nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,\n        tickDirection: 1,\n        labelDirection: 1\n      };\n    }, this);\n  };\n  /**\n   * Get axis by dim.\n   */\n\n\n  Parallel.prototype.getAxis = function (dim) {\n    return this._axesMap.get(dim);\n  };\n  /**\n   * Convert a dim value of a single item of series data to Point.\n   */\n\n\n  Parallel.prototype.dataToPoint = function (value, dim) {\n    return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);\n  };\n  /**\n   * Travel data for one time, get activeState of each data item.\n   * @param start the start dataIndex that travel from.\n   * @param end the next dataIndex of the last dataIndex will be travel.\n   */\n\n\n  Parallel.prototype.eachActiveState = function (data, callback, start, end) {\n    start == null && (start = 0);\n    end == null && (end = data.count());\n    var axesMap = this._axesMap;\n    var dimensions = this.dimensions;\n    var dataDimensions = [];\n    var axisModels = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](dimensions, function (axisDim) {\n      dataDimensions.push(data.mapDimension(axisDim));\n      axisModels.push(axesMap.get(axisDim).model);\n    });\n    var hasActiveSet = this.hasAxisBrushed();\n\n    for (var dataIndex = start; dataIndex < end; dataIndex++) {\n      var activeState = void 0;\n\n      if (!hasActiveSet) {\n        activeState = 'normal';\n      } else {\n        activeState = 'active';\n        var values = data.getValues(dataDimensions, dataIndex);\n\n        for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n          var state = axisModels[j].getActiveState(values[j]);\n\n          if (state === 'inactive') {\n            activeState = 'inactive';\n            break;\n          }\n        }\n      }\n\n      callback(activeState, dataIndex);\n    }\n  };\n  /**\n   * Whether has any activeSet.\n   */\n\n\n  Parallel.prototype.hasAxisBrushed = function () {\n    var dimensions = this.dimensions;\n    var axesMap = this._axesMap;\n    var hasActiveSet = false;\n\n    for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n      if (axesMap.get(dimensions[j]).model.getActiveState() !== 'normal') {\n        hasActiveSet = true;\n      }\n    }\n\n    return hasActiveSet;\n  };\n  /**\n   * Convert coords of each axis to Point.\n   *  Return point. For example: [10, 20]\n   */\n\n\n  Parallel.prototype.axisCoordToPoint = function (coord, dim) {\n    var axisLayout = this._axesLayout[dim];\n    return _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"applyTransform\"]([coord, 0], axisLayout.transform);\n  };\n  /**\n   * Get axis layout.\n   */\n\n\n  Parallel.prototype.getAxisLayout = function (dim) {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](this._axesLayout[dim]);\n  };\n  /**\n   * @return {Object} {axisExpandWindow, delta, behavior: 'jump' | 'slide' | 'none'}.\n   */\n\n\n  Parallel.prototype.getSlidedAxisExpandWindow = function (point) {\n    var layoutInfo = this._makeLayoutInfo();\n\n    var pixelDimIndex = layoutInfo.pixelDimIndex;\n    var axisExpandWindow = layoutInfo.axisExpandWindow.slice();\n    var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n    var extent = [0, layoutInfo.axisExpandWidth * (layoutInfo.axisCount - 1)]; // Out of the area of coordinate system.\n\n    if (!this.containPoint(point)) {\n      return {\n        behavior: 'none',\n        axisExpandWindow: axisExpandWindow\n      };\n    } // Conver the point from global to expand coordinates.\n\n\n    var pointCoord = point[pixelDimIndex] - layoutInfo.layoutBase - layoutInfo.axisExpandWindow0Pos; // For dragging operation convenience, the window should not be\n    // slided when mouse is the center area of the window.\n\n    var delta;\n    var behavior = 'slide';\n    var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n\n    var triggerArea = this._model.get('axisExpandSlideTriggerArea'); // But consider touch device, jump is necessary.\n\n\n    var useJump = triggerArea[0] != null;\n\n    if (axisCollapseWidth) {\n      if (useJump && axisCollapseWidth && pointCoord < winSize * triggerArea[0]) {\n        behavior = 'jump';\n        delta = pointCoord - winSize * triggerArea[2];\n      } else if (useJump && axisCollapseWidth && pointCoord > winSize * (1 - triggerArea[0])) {\n        behavior = 'jump';\n        delta = pointCoord - winSize * (1 - triggerArea[2]);\n      } else {\n        (delta = pointCoord - winSize * triggerArea[1]) >= 0 && (delta = pointCoord - winSize * (1 - triggerArea[1])) <= 0 && (delta = 0);\n      }\n\n      delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;\n      delta ? Object(_component_helper_sliderMove_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(delta, axisExpandWindow, extent, 'all') // Avoid nonsense triger on mousemove.\n      : behavior = 'none';\n    } // When screen is too narrow, make it visible and slidable, although it is hard to interact.\n    else {\n        var winSize2 = axisExpandWindow[1] - axisExpandWindow[0];\n        var pos = extent[1] * pointCoord / winSize2;\n        axisExpandWindow = [mathMax(0, pos - winSize2 / 2)];\n        axisExpandWindow[1] = mathMin(extent[1], axisExpandWindow[0] + winSize2);\n        axisExpandWindow[0] = axisExpandWindow[1] - winSize2;\n      }\n\n    return {\n      axisExpandWindow: axisExpandWindow,\n      behavior: behavior\n    };\n  };\n\n  return Parallel;\n}();\n\nfunction restrict(len, extent) {\n  return mathMin(mathMax(len, extent[0]), extent[1]);\n}\n\nfunction layoutAxisWithoutExpand(axisIndex, layoutInfo) {\n  var step = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);\n  return {\n    position: step * axisIndex,\n    axisNameAvailableWidth: step,\n    axisLabelShow: true\n  };\n}\n\nfunction layoutAxisWithExpand(axisIndex, layoutInfo) {\n  var layoutLength = layoutInfo.layoutLength;\n  var axisExpandWidth = layoutInfo.axisExpandWidth;\n  var axisCount = layoutInfo.axisCount;\n  var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n  var winInnerIndices = layoutInfo.winInnerIndices;\n  var position;\n  var axisNameAvailableWidth = axisCollapseWidth;\n  var axisLabelShow = false;\n  var nameTruncateMaxWidth;\n\n  if (axisIndex < winInnerIndices[0]) {\n    position = axisIndex * axisCollapseWidth;\n    nameTruncateMaxWidth = axisCollapseWidth;\n  } else if (axisIndex <= winInnerIndices[1]) {\n    position = layoutInfo.axisExpandWindow0Pos + axisIndex * axisExpandWidth - layoutInfo.axisExpandWindow[0];\n    axisNameAvailableWidth = axisExpandWidth;\n    axisLabelShow = true;\n  } else {\n    position = layoutLength - (axisCount - 1 - axisIndex) * axisCollapseWidth;\n    nameTruncateMaxWidth = axisCollapseWidth;\n  }\n\n  return {\n    position: position,\n    axisNameAvailableWidth: axisNameAvailableWidth,\n    axisLabelShow: axisLabelShow,\n    nameTruncateMaxWidth: nameTruncateMaxWidth\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Parallel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/Parallel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/parallel/ParallelAxis.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/parallel/ParallelAxis.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Axis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar ParallelAxis =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelAxis, _super);\n\n  function ParallelAxis(dim, scale, coordExtent, axisType, axisIndex) {\n    var _this = _super.call(this, dim, scale, coordExtent) || this;\n\n    _this.type = axisType || 'value';\n    _this.axisIndex = axisIndex;\n    return _this;\n  }\n\n  ParallelAxis.prototype.isHorizontal = function () {\n    return this.coordinateSystem.getModel().get('layout') !== 'horizontal';\n  };\n\n  return ParallelAxis;\n}(_Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelAxis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/ParallelAxis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/parallel/ParallelModel.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/parallel/ParallelModel.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar ParallelModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ParallelModel, _super);\n\n  function ParallelModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = ParallelModel.type;\n    return _this;\n  }\n\n  ParallelModel.prototype.init = function () {\n    _super.prototype.init.apply(this, arguments);\n\n    this.mergeOption({});\n  };\n\n  ParallelModel.prototype.mergeOption = function (newOption) {\n    var thisOption = this.option;\n    newOption && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](thisOption, newOption, true);\n\n    this._initDimensions();\n  };\n  /**\n   * Whether series or axis is in this coordinate system.\n   */\n\n\n  ParallelModel.prototype.contains = function (model, ecModel) {\n    var parallelIndex = model.get('parallelIndex');\n    return parallelIndex != null && ecModel.getComponent('parallel', parallelIndex) === this;\n  };\n\n  ParallelModel.prototype.setAxisExpand = function (opt) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](['axisExpandable', 'axisExpandCenter', 'axisExpandCount', 'axisExpandWidth', 'axisExpandWindow'], function (name) {\n      if (opt.hasOwnProperty(name)) {\n        // @ts-ignore FIXME: why \"never\" inferred in this.option[name]?\n        this.option[name] = opt[name];\n      }\n    }, this);\n  };\n\n  ParallelModel.prototype._initDimensions = function () {\n    var dimensions = this.dimensions = [];\n    var parallelAxisIndex = this.parallelAxisIndex = [];\n    var axisModels = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"](this.ecModel.queryComponents({\n      mainType: 'parallelAxis'\n    }), function (axisModel) {\n      // Can not use this.contains here, because\n      // initialization has not been completed yet.\n      return (axisModel.get('parallelIndex') || 0) === this.componentIndex;\n    }, this);\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](axisModels, function (axisModel) {\n      dimensions.push('dim' + axisModel.get('dim'));\n      parallelAxisIndex.push(axisModel.componentIndex);\n    });\n  };\n\n  ParallelModel.type = 'parallel';\n  ParallelModel.dependencies = ['parallelAxis'];\n  ParallelModel.layoutMode = 'box';\n  ParallelModel.defaultOption = {\n    // zlevel: 0,\n    z: 0,\n    left: 80,\n    top: 60,\n    right: 80,\n    bottom: 60,\n    // width: {totalWidth} - left - right,\n    // height: {totalHeight} - top - bottom,\n    layout: 'horizontal',\n    // FIXME\n    // naming?\n    axisExpandable: false,\n    axisExpandCenter: null,\n    axisExpandCount: 0,\n    axisExpandWidth: 50,\n    axisExpandRate: 17,\n    axisExpandDebounce: 50,\n    // [out, in, jumpTarget]. In percentage. If use [null, 0.05], null means full.\n    // Do not doc to user until necessary.\n    axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4],\n    axisExpandTriggerOn: 'click',\n    parallelAxisDefault: null\n  };\n  return ParallelModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParallelModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/ParallelModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/parallel/parallelCreator.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/parallel/parallelCreator.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Parallel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Parallel.js */ \"./node_modules/echarts/lib/coord/parallel/Parallel.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel coordinate system creater.\n */\n\n\n\nfunction createParallelCoordSys(ecModel, api) {\n  var coordSysList = [];\n  ecModel.eachComponent('parallel', function (parallelModel, idx) {\n    var coordSys = new _Parallel_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](parallelModel, ecModel, api);\n    coordSys.name = 'parallel_' + idx;\n    coordSys.resize(parallelModel, api);\n    parallelModel.coordinateSystem = coordSys;\n    coordSys.model = parallelModel;\n    coordSysList.push(coordSys);\n  }); // Inject the coordinateSystems into seriesModel\n\n  ecModel.eachSeries(function (seriesModel) {\n    if (seriesModel.get('coordinateSystem') === 'parallel') {\n      var parallelModel = seriesModel.getReferringComponents('parallel', _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n      seriesModel.coordinateSystem = parallelModel.coordinateSystem;\n    }\n  });\n  return coordSysList;\n}\n\nvar parallelCoordSysCreator = {\n  create: createParallelCoordSys\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (parallelCoordSysCreator);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/parallelCreator.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return parallelPreprocessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction parallelPreprocessor(option) {\n  createParallelIfNeeded(option);\n  mergeAxisOptionFromParallel(option);\n}\n/**\n * Create a parallel coordinate if not exists.\n * @inner\n */\n\nfunction createParallelIfNeeded(option) {\n  if (option.parallel) {\n    return;\n  }\n\n  var hasParallelSeries = false;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](option.series, function (seriesOpt) {\n    if (seriesOpt && seriesOpt.type === 'parallel') {\n      hasParallelSeries = true;\n    }\n  });\n\n  if (hasParallelSeries) {\n    option.parallel = [{}];\n  }\n}\n/**\n * Merge aixs definition from parallel option (if exists) to axis option.\n * @inner\n */\n\n\nfunction mergeAxisOptionFromParallel(option) {\n  var axes = _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeToArray\"](option.parallelAxis);\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](axes, function (axisOption) {\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](axisOption)) {\n      return;\n    }\n\n    var parallelIndex = axisOption.parallelIndex || 0;\n    var parallelOption = _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeToArray\"](option.parallel)[parallelIndex];\n\n    if (parallelOption && parallelOption.parallelAxisDefault) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"](axisOption, parallelOption.parallelAxisDefault, false);\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/AngleAxis.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/AngleAxis.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _Axis_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"makeInner\"])();\n\nvar AngleAxis =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AngleAxis, _super);\n\n  function AngleAxis(scale, angleExtent) {\n    return _super.call(this, 'angle', scale, angleExtent || [0, 360]) || this;\n  }\n\n  AngleAxis.prototype.pointToData = function (point, clamp) {\n    return this.polar.pointToData(point, clamp)[this.dim === 'radius' ? 0 : 1];\n  };\n  /**\n   * Only be called in category axis.\n   * Angle axis uses text height to decide interval\n   *\n   * @override\n   * @return {number} Auto interval for cateogry axis tick and label\n   */\n\n\n  AngleAxis.prototype.calculateCategoryInterval = function () {\n    var axis = this;\n    var labelModel = axis.getLabelModel();\n    var ordinalScale = axis.scale;\n    var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n    // avoid generating a long array by `getTicks`\n    // in large category data case.\n\n    var tickCount = ordinalScale.count();\n\n    if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n      return 0;\n    }\n\n    var tickValue = ordinalExtent[0];\n    var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n    var unitH = Math.abs(unitSpan); // Not precise, just use height as text width\n    // and each distance from axis line yet.\n\n    var rect = zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__[\"getBoundingRect\"](tickValue == null ? '' : tickValue + '', labelModel.getFont(), 'center', 'top');\n    var maxH = Math.max(rect.height, 7);\n    var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n    isNaN(dh) && (dh = Infinity);\n    var interval = Math.max(0, Math.floor(dh));\n    var cache = inner(axis.model);\n    var lastAutoInterval = cache.lastAutoInterval;\n    var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n    // otherwise the calculated interval might jitter when the zoom\n    // window size is close to the interval-changing size.\n\n    if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n    // point is not the same when zooming in or zooming out.\n    && lastAutoInterval > interval) {\n      interval = lastAutoInterval;\n    } // Only update cache if cache not used, otherwise the\n    // changing of interval is too insensitive.\n    else {\n        cache.lastTickCount = tickCount;\n        cache.lastAutoInterval = interval;\n      }\n\n    return interval;\n  };\n\n  return AngleAxis;\n}(_Axis_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nAngleAxis.prototype.dataToAngle = _Axis_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prototype.dataToCoord;\nAngleAxis.prototype.angleToData = _Axis_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prototype.coordToData;\n/* harmony default export */ __webpack_exports__[\"default\"] = (AngleAxis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/AngleAxis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/AxisModel.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/AxisModel.js ***!
  \***********************************************************/
/*! exports provided: PolarAxisModel, AngleAxisModel, RadiusAxisModel */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PolarAxisModel\", function() { return PolarAxisModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AngleAxisModel\", function() { return AngleAxisModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RadiusAxisModel\", function() { return RadiusAxisModel; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../axisModelCommonMixin.js */ \"./node_modules/echarts/lib/coord/axisModelCommonMixin.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar PolarAxisModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PolarAxisModel, _super);\n\n  function PolarAxisModel() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  PolarAxisModel.prototype.getCoordSysModel = function () {\n    return this.getReferringComponents('polar', _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"SINGLE_REFERRING\"]).models[0];\n  };\n\n  PolarAxisModel.type = 'polarAxis';\n  return PolarAxisModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](PolarAxisModel, _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_3__[\"AxisModelCommonMixin\"]);\n\n\nvar AngleAxisModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AngleAxisModel, _super);\n\n  function AngleAxisModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = AngleAxisModel.type;\n    return _this;\n  }\n\n  AngleAxisModel.type = 'angleAxis';\n  return AngleAxisModel;\n}(PolarAxisModel);\n\n\n\nvar RadiusAxisModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadiusAxisModel, _super);\n\n  function RadiusAxisModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = RadiusAxisModel.type;\n    return _this;\n  }\n\n  RadiusAxisModel.type = 'radiusAxis';\n  return RadiusAxisModel;\n}(PolarAxisModel);\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/AxisModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/Polar.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/Polar.js ***!
  \*******************************************************/
/*! exports provided: polarDimensions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"polarDimensions\", function() { return polarDimensions; });\n/* harmony import */ var _RadiusAxis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RadiusAxis.js */ \"./node_modules/echarts/lib/coord/polar/RadiusAxis.js\");\n/* harmony import */ var _AngleAxis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AngleAxis.js */ \"./node_modules/echarts/lib/coord/polar/AngleAxis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar polarDimensions = ['radius', 'angle'];\n\nvar Polar =\n/** @class */\nfunction () {\n  function Polar(name) {\n    this.dimensions = polarDimensions;\n    this.type = 'polar';\n    /**\n     * x of polar center\n     */\n\n    this.cx = 0;\n    /**\n     * y of polar center\n     */\n\n    this.cy = 0;\n    this._radiusAxis = new _RadiusAxis_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n    this._angleAxis = new _AngleAxis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    this.axisPointerEnabled = true;\n    this.name = name || '';\n    this._radiusAxis.polar = this._angleAxis.polar = this;\n  }\n  /**\n   * If contain coord\n   */\n\n\n  Polar.prototype.containPoint = function (point) {\n    var coord = this.pointToCoord(point);\n    return this._radiusAxis.contain(coord[0]) && this._angleAxis.contain(coord[1]);\n  };\n  /**\n   * If contain data\n   */\n\n\n  Polar.prototype.containData = function (data) {\n    return this._radiusAxis.containData(data[0]) && this._angleAxis.containData(data[1]);\n  };\n\n  Polar.prototype.getAxis = function (dim) {\n    var key = '_' + dim + 'Axis';\n    return this[key];\n  };\n\n  Polar.prototype.getAxes = function () {\n    return [this._radiusAxis, this._angleAxis];\n  };\n  /**\n   * Get axes by type of scale\n   */\n\n\n  Polar.prototype.getAxesByScale = function (scaleType) {\n    var axes = [];\n    var angleAxis = this._angleAxis;\n    var radiusAxis = this._radiusAxis;\n    angleAxis.scale.type === scaleType && axes.push(angleAxis);\n    radiusAxis.scale.type === scaleType && axes.push(radiusAxis);\n    return axes;\n  };\n\n  Polar.prototype.getAngleAxis = function () {\n    return this._angleAxis;\n  };\n\n  Polar.prototype.getRadiusAxis = function () {\n    return this._radiusAxis;\n  };\n\n  Polar.prototype.getOtherAxis = function (axis) {\n    var angleAxis = this._angleAxis;\n    return axis === angleAxis ? this._radiusAxis : angleAxis;\n  };\n  /**\n   * Base axis will be used on stacking.\n   *\n   */\n\n\n  Polar.prototype.getBaseAxis = function () {\n    return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAngleAxis();\n  };\n\n  Polar.prototype.getTooltipAxes = function (dim) {\n    var baseAxis = dim != null && dim !== 'auto' ? this.getAxis(dim) : this.getBaseAxis();\n    return {\n      baseAxes: [baseAxis],\n      otherAxes: [this.getOtherAxis(baseAxis)]\n    };\n  };\n  /**\n   * Convert a single data item to (x, y) point.\n   * Parameter data is an array which the first element is radius and the second is angle\n   */\n\n\n  Polar.prototype.dataToPoint = function (data, clamp) {\n    return this.coordToPoint([this._radiusAxis.dataToRadius(data[0], clamp), this._angleAxis.dataToAngle(data[1], clamp)]);\n  };\n  /**\n   * Convert a (x, y) point to data\n   */\n\n\n  Polar.prototype.pointToData = function (point, clamp) {\n    var coord = this.pointToCoord(point);\n    return [this._radiusAxis.radiusToData(coord[0], clamp), this._angleAxis.angleToData(coord[1], clamp)];\n  };\n  /**\n   * Convert a (x, y) point to (radius, angle) coord\n   */\n\n\n  Polar.prototype.pointToCoord = function (point) {\n    var dx = point[0] - this.cx;\n    var dy = point[1] - this.cy;\n    var angleAxis = this.getAngleAxis();\n    var extent = angleAxis.getExtent();\n    var minAngle = Math.min(extent[0], extent[1]);\n    var maxAngle = Math.max(extent[0], extent[1]); // Fix fixed extent in polarCreator\n    // FIXME\n\n    angleAxis.inverse ? minAngle = maxAngle - 360 : maxAngle = minAngle + 360;\n    var radius = Math.sqrt(dx * dx + dy * dy);\n    dx /= radius;\n    dy /= radius;\n    var radian = Math.atan2(-dy, dx) / Math.PI * 180; // move to angleExtent\n\n    var dir = radian < minAngle ? 1 : -1;\n\n    while (radian < minAngle || radian > maxAngle) {\n      radian += dir * 360;\n    }\n\n    return [radius, radian];\n  };\n  /**\n   * Convert a (radius, angle) coord to (x, y) point\n   */\n\n\n  Polar.prototype.coordToPoint = function (coord) {\n    var radius = coord[0];\n    var radian = coord[1] / 180 * Math.PI;\n    var x = Math.cos(radian) * radius + this.cx; // Inverse the y\n\n    var y = -Math.sin(radian) * radius + this.cy;\n    return [x, y];\n  };\n  /**\n   * Get ring area of cartesian.\n   * Area will have a contain function to determine if a point is in the coordinate system.\n   */\n\n\n  Polar.prototype.getArea = function () {\n    var angleAxis = this.getAngleAxis();\n    var radiusAxis = this.getRadiusAxis();\n    var radiusExtent = radiusAxis.getExtent().slice();\n    radiusExtent[0] > radiusExtent[1] && radiusExtent.reverse();\n    var angleExtent = angleAxis.getExtent();\n    var RADIAN = Math.PI / 180;\n    return {\n      cx: this.cx,\n      cy: this.cy,\n      r0: radiusExtent[0],\n      r: radiusExtent[1],\n      startAngle: -angleExtent[0] * RADIAN,\n      endAngle: -angleExtent[1] * RADIAN,\n      clockwise: angleAxis.inverse,\n      contain: function (x, y) {\n        // It's a ring shape.\n        // Start angle and end angle don't matter\n        var dx = x - this.cx;\n        var dy = y - this.cy; // minus a tiny value 1e-4 to avoid being clipped unexpectedly\n\n        var d2 = dx * dx + dy * dy - 1e-4;\n        var r = this.r;\n        var r0 = this.r0;\n        return d2 <= r * r && d2 >= r0 * r0;\n      }\n    };\n  };\n\n  Polar.prototype.convertToPixel = function (ecModel, finder, value) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? this.dataToPoint(value) : null;\n  };\n\n  Polar.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? this.pointToData(pixel) : null;\n  };\n\n  return Polar;\n}();\n\nfunction getCoordSys(finder) {\n  var seriesModel = finder.seriesModel;\n  var polarModel = finder.polarModel;\n  return polarModel && polarModel.coordinateSystem || seriesModel && seriesModel.coordinateSystem;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Polar);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/Polar.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/PolarModel.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/PolarModel.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar PolarModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PolarModel, _super);\n\n  function PolarModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = PolarModel.type;\n    return _this;\n  }\n\n  PolarModel.prototype.findAxisModel = function (axisType) {\n    var foundAxisModel;\n    var ecModel = this.ecModel;\n    ecModel.eachComponent(axisType, function (axisModel) {\n      if (axisModel.getCoordSysModel() === this) {\n        foundAxisModel = axisModel;\n      }\n    }, this);\n    return foundAxisModel;\n  };\n\n  PolarModel.type = 'polar';\n  PolarModel.dependencies = ['radiusAxis', 'angleAxis'];\n  PolarModel.defaultOption = {\n    // zlevel: 0,\n    z: 0,\n    center: ['50%', '50%'],\n    radius: '80%'\n  };\n  return PolarModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PolarModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/PolarModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/RadiusAxis.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/RadiusAxis.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Axis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar RadiusAxis =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadiusAxis, _super);\n\n  function RadiusAxis(scale, radiusExtent) {\n    return _super.call(this, 'radius', scale, radiusExtent) || this;\n  }\n\n  RadiusAxis.prototype.pointToData = function (point, clamp) {\n    return this.polar.pointToData(point, clamp)[this.dim === 'radius' ? 0 : 1];\n  };\n\n  return RadiusAxis;\n}(_Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nRadiusAxis.prototype.dataToRadius = _Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype.dataToCoord;\nRadiusAxis.prototype.radiusToData = _Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype.coordToData;\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadiusAxis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/RadiusAxis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/polarCreator.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/polarCreator.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Polar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Polar.js */ \"./node_modules/echarts/lib/coord/polar/Polar.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Axis scale\n\n\n\n\n\n/**\n * Resize method bound to the polar\n */\n\nfunction resizePolar(polar, polarModel, api) {\n  var center = polarModel.get('center');\n  var width = api.getWidth();\n  var height = api.getHeight();\n  polar.cx = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(center[0], width);\n  polar.cy = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(center[1], height);\n  var radiusAxis = polar.getRadiusAxis();\n  var size = Math.min(width, height) / 2;\n  var radius = polarModel.get('radius');\n\n  if (radius == null) {\n    radius = [0, '100%'];\n  } else if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](radius)) {\n    // r0 = 0\n    radius = [0, radius];\n  }\n\n  var parsedRadius = [Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(radius[0], size), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(radius[1], size)];\n  radiusAxis.inverse ? radiusAxis.setExtent(parsedRadius[1], parsedRadius[0]) : radiusAxis.setExtent(parsedRadius[0], parsedRadius[1]);\n}\n/**\n * Update polar\n */\n\n\nfunction updatePolarScale(ecModel, api) {\n  var polar = this;\n  var angleAxis = polar.getAngleAxis();\n  var radiusAxis = polar.getRadiusAxis(); // Reset scale\n\n  angleAxis.scale.setExtent(Infinity, -Infinity);\n  radiusAxis.scale.setExtent(Infinity, -Infinity);\n  ecModel.eachSeries(function (seriesModel) {\n    if (seriesModel.coordinateSystem === polar) {\n      var data_1 = seriesModel.getData();\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getDataDimensionsOnAxis\"])(data_1, 'radius'), function (dim) {\n        radiusAxis.scale.unionExtentFromData(data_1, dim);\n      });\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"getDataDimensionsOnAxis\"])(data_1, 'angle'), function (dim) {\n        angleAxis.scale.unionExtentFromData(data_1, dim);\n      });\n    }\n  });\n  Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"niceScaleExtent\"])(angleAxis.scale, angleAxis.model);\n  Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"niceScaleExtent\"])(radiusAxis.scale, radiusAxis.model); // Fix extent of category angle axis\n\n  if (angleAxis.type === 'category' && !angleAxis.onBand) {\n    var extent = angleAxis.getExtent();\n    var diff = 360 / angleAxis.scale.count();\n    angleAxis.inverse ? extent[1] += diff : extent[1] -= diff;\n    angleAxis.setExtent(extent[0], extent[1]);\n  }\n}\n\nfunction isAngleAxisModel(axisModel) {\n  return axisModel.mainType === 'angleAxis';\n}\n/**\n * Set common axis properties\n */\n\n\nfunction setAxis(axis, axisModel) {\n  axis.type = axisModel.get('type');\n  axis.scale = Object(_coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"createScaleByModel\"])(axisModel);\n  axis.onBand = axisModel.get('boundaryGap') && axis.type === 'category';\n  axis.inverse = axisModel.get('inverse');\n\n  if (isAngleAxisModel(axisModel)) {\n    axis.inverse = axis.inverse !== axisModel.get('clockwise');\n    var startAngle = axisModel.get('startAngle');\n    axis.setExtent(startAngle, startAngle + (axis.inverse ? -360 : 360));\n  } // Inject axis instance\n\n\n  axisModel.axis = axis;\n  axis.model = axisModel;\n}\n\nvar polarCreator = {\n  dimensions: _Polar_js__WEBPACK_IMPORTED_MODULE_1__[\"polarDimensions\"],\n  create: function (ecModel, api) {\n    var polarList = [];\n    ecModel.eachComponent('polar', function (polarModel, idx) {\n      var polar = new _Polar_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](idx + ''); // Inject resize and update method\n\n      polar.update = updatePolarScale;\n      var radiusAxis = polar.getRadiusAxis();\n      var angleAxis = polar.getAngleAxis();\n      var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n      var angleAxisModel = polarModel.findAxisModel('angleAxis');\n      setAxis(radiusAxis, radiusAxisModel);\n      setAxis(angleAxis, angleAxisModel);\n      resizePolar(polar, polarModel, api);\n      polarList.push(polar);\n      polarModel.coordinateSystem = polar;\n      polar.model = polarModel;\n    }); // Inject coordinateSystem to series\n\n    ecModel.eachSeries(function (seriesModel) {\n      if (seriesModel.get('coordinateSystem') === 'polar') {\n        var polarModel = seriesModel.getReferringComponents('polar', _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"SINGLE_REFERRING\"]).models[0];\n\n        if (true) {\n          if (!polarModel) {\n            throw new Error('Polar \"' + zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"](seriesModel.get('polarIndex'), seriesModel.get('polarId'), 0) + '\" not found');\n          }\n        }\n\n        seriesModel.coordinateSystem = polarModel.coordinateSystem;\n      }\n    });\n    return polarList;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (polarCreator);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/polarCreator.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/polar/prepareCustom.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/polar/prepareCustom.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return polarPrepareCustom; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // import AngleAxis from './AngleAxis.js';\n\nfunction dataToCoordSize(dataSize, dataItem) {\n  // dataItem is necessary in log axis.\n  dataItem = dataItem || [0, 0];\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](['Radius', 'Angle'], function (dim, dimIdx) {\n    var getterName = 'get' + dim + 'Axis'; // TODO: TYPE Check Angle Axis\n\n    var axis = this[getterName]();\n    var val = dataItem[dimIdx];\n    var halfSize = dataSize[dimIdx] / 2;\n    var result = axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n\n    if (dim === 'Angle') {\n      result = result * Math.PI / 180;\n    }\n\n    return result;\n  }, this);\n}\n\nfunction polarPrepareCustom(coordSys) {\n  var radiusAxis = coordSys.getRadiusAxis();\n  var angleAxis = coordSys.getAngleAxis();\n  var radius = radiusAxis.getExtent();\n  radius[0] > radius[1] && radius.reverse();\n  return {\n    coordSys: {\n      type: 'polar',\n      cx: coordSys.cx,\n      cy: coordSys.cy,\n      r: radius[1],\n      r0: radius[0]\n    },\n    api: {\n      coord: function (data) {\n        var radius = radiusAxis.dataToRadius(data[0]);\n        var angle = angleAxis.dataToAngle(data[1]);\n        var coord = coordSys.coordToPoint([radius, angle]);\n        coord.push(radius, angle * Math.PI / 180);\n        return coord;\n      },\n      size: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](dataToCoordSize, coordSys)\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/prepareCustom.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/radar/IndicatorAxis.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/radar/IndicatorAxis.js ***!
  \***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Axis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar IndicatorAxis =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(IndicatorAxis, _super);\n\n  function IndicatorAxis(dim, scale, radiusExtent) {\n    var _this = _super.call(this, dim, scale, radiusExtent) || this;\n\n    _this.type = 'value';\n    _this.angle = 0;\n    _this.name = '';\n    return _this;\n  }\n\n  return IndicatorAxis;\n}(_Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (IndicatorAxis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/radar/IndicatorAxis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/radar/Radar.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/coord/radar/Radar.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _IndicatorAxis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndicatorAxis.js */ \"./node_modules/echarts/lib/coord/radar/IndicatorAxis.js\");\n/* harmony import */ var _scale_Interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../scale/Interval.js */ \"./node_modules/echarts/lib/scale/Interval.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _axisAlignTicks_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../axisAlignTicks.js */ \"./node_modules/echarts/lib/coord/axisAlignTicks.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO clockwise\n\n\n\n\n\n\nvar Radar =\n/** @class */\nfunction () {\n  function Radar(radarModel, ecModel, api) {\n    /**\n     *\n     * Radar dimensions\n     */\n    this.dimensions = [];\n    this._model = radarModel;\n    this._indicatorAxes = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(radarModel.getIndicatorModels(), function (indicatorModel, idx) {\n      var dim = 'indicator_' + idx;\n      var indicatorAxis = new _IndicatorAxis_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](dim, new _scale_Interval_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]() // (indicatorModel.get('axisType') === 'log') ? new LogScale() : new IntervalScale()\n      );\n      indicatorAxis.name = indicatorModel.get('name'); // Inject model and axis\n\n      indicatorAxis.model = indicatorModel;\n      indicatorModel.axis = indicatorAxis;\n      this.dimensions.push(dim);\n      return indicatorAxis;\n    }, this);\n    this.resize(radarModel, api);\n  }\n\n  Radar.prototype.getIndicatorAxes = function () {\n    return this._indicatorAxes;\n  };\n\n  Radar.prototype.dataToPoint = function (value, indicatorIndex) {\n    var indicatorAxis = this._indicatorAxes[indicatorIndex];\n    return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);\n  }; // TODO: API should be coordToPoint([coord, indicatorIndex])\n\n\n  Radar.prototype.coordToPoint = function (coord, indicatorIndex) {\n    var indicatorAxis = this._indicatorAxes[indicatorIndex];\n    var angle = indicatorAxis.angle;\n    var x = this.cx + coord * Math.cos(angle);\n    var y = this.cy - coord * Math.sin(angle);\n    return [x, y];\n  };\n\n  Radar.prototype.pointToData = function (pt) {\n    var dx = pt[0] - this.cx;\n    var dy = pt[1] - this.cy;\n    var radius = Math.sqrt(dx * dx + dy * dy);\n    dx /= radius;\n    dy /= radius;\n    var radian = Math.atan2(-dy, dx); // Find the closest angle\n    // FIXME index can calculated directly\n\n    var minRadianDiff = Infinity;\n    var closestAxis;\n    var closestAxisIdx = -1;\n\n    for (var i = 0; i < this._indicatorAxes.length; i++) {\n      var indicatorAxis = this._indicatorAxes[i];\n      var diff = Math.abs(radian - indicatorAxis.angle);\n\n      if (diff < minRadianDiff) {\n        closestAxis = indicatorAxis;\n        closestAxisIdx = i;\n        minRadianDiff = diff;\n      }\n    }\n\n    return [closestAxisIdx, +(closestAxis && closestAxis.coordToData(radius))];\n  };\n\n  Radar.prototype.resize = function (radarModel, api) {\n    var center = radarModel.get('center');\n    var viewWidth = api.getWidth();\n    var viewHeight = api.getHeight();\n    var viewSize = Math.min(viewWidth, viewHeight) / 2;\n    this.cx = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](center[0], viewWidth);\n    this.cy = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](center[1], viewHeight);\n    this.startAngle = radarModel.get('startAngle') * Math.PI / 180; // radius may be single value like `20`, `'80%'`, or array like `[10, '80%']`\n\n    var radius = radarModel.get('radius');\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isString\"])(radius) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"isNumber\"])(radius)) {\n      radius = [0, radius];\n    }\n\n    this.r0 = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](radius[0], viewSize);\n    this.r = _util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"](radius[1], viewSize);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(this._indicatorAxes, function (indicatorAxis, idx) {\n      indicatorAxis.setExtent(this.r0, this.r);\n      var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length; // Normalize to [-PI, PI]\n\n      angle = Math.atan2(Math.sin(angle), Math.cos(angle));\n      indicatorAxis.angle = angle;\n    }, this);\n  };\n\n  Radar.prototype.update = function (ecModel, api) {\n    var indicatorAxes = this._indicatorAxes;\n    var radarModel = this._model;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(indicatorAxes, function (indicatorAxis) {\n      indicatorAxis.scale.setExtent(Infinity, -Infinity);\n    });\n    ecModel.eachSeriesByType('radar', function (radarSeries, idx) {\n      if (radarSeries.get('coordinateSystem') !== 'radar' // @ts-ignore\n      || ecModel.getComponent('radar', radarSeries.get('radarIndex')) !== radarModel) {\n        return;\n      }\n\n      var data = radarSeries.getData();\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(indicatorAxes, function (indicatorAxis) {\n        indicatorAxis.scale.unionExtentFromData(data, data.mapDimension(indicatorAxis.dim));\n      });\n    }, this);\n    var splitNumber = radarModel.get('splitNumber');\n    var dummyScale = new _scale_Interval_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    dummyScale.setExtent(0, splitNumber);\n    dummyScale.setInterval(1); // Force all the axis fixing the maxSplitNumber.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(indicatorAxes, function (indicatorAxis, idx) {\n      Object(_axisAlignTicks_js__WEBPACK_IMPORTED_MODULE_4__[\"alignScaleTicks\"])(indicatorAxis.scale, indicatorAxis.model, dummyScale);\n    });\n  };\n\n  Radar.prototype.convertToPixel = function (ecModel, finder, value) {\n    console.warn('Not implemented.');\n    return null;\n  };\n\n  Radar.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n    console.warn('Not implemented.');\n    return null;\n  };\n\n  Radar.prototype.containPoint = function (point) {\n    console.warn('Not implemented.');\n    return false;\n  };\n\n  Radar.create = function (ecModel, api) {\n    var radarList = [];\n    ecModel.eachComponent('radar', function (radarModel) {\n      var radar = new Radar(radarModel, ecModel, api);\n      radarList.push(radar);\n      radarModel.coordinateSystem = radar;\n    });\n    ecModel.eachSeriesByType('radar', function (radarSeries) {\n      if (radarSeries.get('coordinateSystem') === 'radar') {\n        // Inject coordinate system\n        // @ts-ignore\n        radarSeries.coordinateSystem = radarList[radarSeries.get('radarIndex') || 0];\n      }\n    });\n    return radarList;\n  };\n  /**\n   * Radar dimensions is based on the data\n   */\n\n\n  Radar.dimensions = [];\n  return Radar;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Radar);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/radar/Radar.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/radar/RadarModel.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/radar/RadarModel.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _axisDefault_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../axisDefault.js */ \"./node_modules/echarts/lib/coord/axisDefault.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../axisModelCommonMixin.js */ \"./node_modules/echarts/lib/coord/axisModelCommonMixin.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar valueAxisDefault = _axisDefault_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].value;\n\nfunction defaultsShow(opt, show) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n    show: show\n  }, opt);\n}\n\nvar RadarModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadarModel, _super);\n\n  function RadarModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = RadarModel.type;\n    return _this;\n  }\n\n  RadarModel.prototype.optionUpdated = function () {\n    var boundaryGap = this.get('boundaryGap');\n    var splitNumber = this.get('splitNumber');\n    var scale = this.get('scale');\n    var axisLine = this.get('axisLine');\n    var axisTick = this.get('axisTick'); // let axisType = this.get('axisType');\n\n    var axisLabel = this.get('axisLabel');\n    var nameTextStyle = this.get('axisName');\n    var showName = this.get(['axisName', 'show']);\n    var nameFormatter = this.get(['axisName', 'formatter']);\n    var nameGap = this.get('axisNameGap');\n    var triggerEvent = this.get('triggerEvent');\n    var indicatorModels = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](this.get('indicator') || [], function (indicatorOpt) {\n      // PENDING\n      if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {\n        indicatorOpt.min = 0;\n      } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {\n        indicatorOpt.max = 0;\n      }\n\n      var iNameTextStyle = nameTextStyle;\n\n      if (indicatorOpt.color != null) {\n        iNameTextStyle = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"defaults\"]({\n          color: indicatorOpt.color\n        }, nameTextStyle);\n      } // Use same configuration\n\n\n      var innerIndicatorOpt = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"](indicatorOpt), {\n        boundaryGap: boundaryGap,\n        splitNumber: splitNumber,\n        scale: scale,\n        axisLine: axisLine,\n        axisTick: axisTick,\n        // axisType: axisType,\n        axisLabel: axisLabel,\n        // Compatible with 2 and use text\n        name: indicatorOpt.text,\n        showName: showName,\n        nameLocation: 'end',\n        nameGap: nameGap,\n        // min: 0,\n        nameTextStyle: iNameTextStyle,\n        triggerEvent: triggerEvent\n      }, false);\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"](nameFormatter)) {\n        var indName = innerIndicatorOpt.name;\n        innerIndicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');\n      } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](nameFormatter)) {\n        innerIndicatorOpt.name = nameFormatter(innerIndicatorOpt.name, innerIndicatorOpt);\n      }\n\n      var model = new _model_Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](innerIndicatorOpt, null, this.ecModel);\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](model, _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_4__[\"AxisModelCommonMixin\"].prototype); // For triggerEvent.\n\n      model.mainType = 'radar';\n      model.componentIndex = this.componentIndex;\n      return model;\n    }, this);\n    this._indicatorModels = indicatorModels;\n  };\n\n  RadarModel.prototype.getIndicatorModels = function () {\n    return this._indicatorModels;\n  };\n\n  RadarModel.type = 'radar';\n  RadarModel.defaultOption = {\n    // zlevel: 0,\n    z: 0,\n    center: ['50%', '50%'],\n    radius: '75%',\n    startAngle: 90,\n    axisName: {\n      show: true // formatter: null\n      // textStyle: {}\n\n    },\n    boundaryGap: [0, 0],\n    splitNumber: 5,\n    axisNameGap: 15,\n    scale: false,\n    // Polygon or circle\n    shape: 'polygon',\n    axisLine: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"]({\n      lineStyle: {\n        color: '#bbb'\n      }\n    }, valueAxisDefault.axisLine),\n    axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),\n    axisTick: defaultsShow(valueAxisDefault.axisTick, false),\n    // axisType: 'value',\n    splitLine: defaultsShow(valueAxisDefault.splitLine, true),\n    splitArea: defaultsShow(valueAxisDefault.splitArea, true),\n    // {text, min, max}\n    indicator: []\n  };\n  return RadarModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadarModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/radar/RadarModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/scaleRawExtentInfo.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/scaleRawExtentInfo.js ***!
  \**************************************************************/
/*! exports provided: ScaleRawExtentInfo, ensureScaleRawExtentInfo, parseAxisModelMinMax */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScaleRawExtentInfo\", function() { return ScaleRawExtentInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureScaleRawExtentInfo\", function() { return ensureScaleRawExtentInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseAxisModelMinMax\", function() { return parseAxisModelMinMax; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar ScaleRawExtentInfo =\n/** @class */\nfunction () {\n  function ScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\n  originalExtent) {\n    this._prepareParams(scale, model, originalExtent);\n  }\n  /**\n   * Parameters depending on ouside (like model, user callback)\n   * are prepared and fixed here.\n   */\n\n\n  ScaleRawExtentInfo.prototype._prepareParams = function (scale, model, // Usually: data extent from all series on this axis.\n  dataExtent) {\n    if (dataExtent[1] < dataExtent[0]) {\n      dataExtent = [NaN, NaN];\n    }\n\n    this._dataMin = dataExtent[0];\n    this._dataMax = dataExtent[1];\n    var isOrdinal = this._isOrdinal = scale.type === 'ordinal';\n    this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero();\n    var modelMinRaw = this._modelMinRaw = model.get('min', true);\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(modelMinRaw)) {\n      // This callback alway provide users the full data extent (before data filtered).\n      this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({\n        min: dataExtent[0],\n        max: dataExtent[1]\n      }));\n    } else if (modelMinRaw !== 'dataMin') {\n      this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw);\n    }\n\n    var modelMaxRaw = this._modelMaxRaw = model.get('max', true);\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(modelMaxRaw)) {\n      // This callback alway provide users the full data extent (before data filtered).\n      this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw({\n        min: dataExtent[0],\n        max: dataExtent[1]\n      }));\n    } else if (modelMaxRaw !== 'dataMax') {\n      this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw);\n    }\n\n    if (isOrdinal) {\n      // FIXME: there is a flaw here: if there is no \"block\" data processor like `dataZoom`,\n      // and progressive rendering is using, here the category result might just only contain\n      // the processed chunk rather than the entire result.\n      this._axisDataLen = model.getCategories().length;\n    } else {\n      var boundaryGap = model.get('boundaryGap');\n      var boundaryGapArr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(boundaryGap) ? boundaryGap : [boundaryGap || 0, boundaryGap || 0];\n\n      if (typeof boundaryGapArr[0] === 'boolean' || typeof boundaryGapArr[1] === 'boolean') {\n        if (true) {\n          console.warn('Boolean type for boundaryGap is only ' + 'allowed for ordinal axis. Please use string in ' + 'percentage instead, e.g., \"20%\". Currently, ' + 'boundaryGap is set to be 0.');\n        }\n\n        this._boundaryGapInner = [0, 0];\n      } else {\n        this._boundaryGapInner = [Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(boundaryGapArr[0], 1), Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(boundaryGapArr[1], 1)];\n      }\n    }\n  };\n  /**\n   * Calculate extent by prepared parameters.\n   * This method has no external dependency and can be called duplicatedly,\n   * getting the same result.\n   * If parameters changed, should call this method to recalcuate.\n   */\n\n\n  ScaleRawExtentInfo.prototype.calculate = function () {\n    // Notice: When min/max is not set (that is, when there are null/undefined,\n    // which is the most common case), these cases should be ensured:\n    // (1) For 'ordinal', show all axis.data.\n    // (2) For others:\n    //      + `boundaryGap` is applied (if min/max set, boundaryGap is\n    //      disabled).\n    //      + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n    //      be the result that originalExtent enlarged by boundaryGap.\n    // (3) If no data, it should be ensured that `scale.setBlank` is set.\n    var isOrdinal = this._isOrdinal;\n    var dataMin = this._dataMin;\n    var dataMax = this._dataMax;\n    var axisDataLen = this._axisDataLen;\n    var boundaryGapInner = this._boundaryGapInner;\n    var span = !isOrdinal ? dataMax - dataMin || Math.abs(dataMin) : null; // Currently if a `'value'` axis model min is specified as 'dataMin'/'dataMax',\n    // `boundaryGap` will not be used. It's the different from specifying as `null`/`undefined`.\n\n    var min = this._modelMinRaw === 'dataMin' ? dataMin : this._modelMinNum;\n    var max = this._modelMaxRaw === 'dataMax' ? dataMax : this._modelMaxNum; // If `_modelMinNum`/`_modelMaxNum` is `null`/`undefined`, should not be fixed.\n\n    var minFixed = min != null;\n    var maxFixed = max != null;\n\n    if (min == null) {\n      min = isOrdinal ? axisDataLen ? 0 : NaN : dataMin - boundaryGapInner[0] * span;\n    }\n\n    if (max == null) {\n      max = isOrdinal ? axisDataLen ? axisDataLen - 1 : NaN : dataMax + boundaryGapInner[1] * span;\n    }\n\n    (min == null || !isFinite(min)) && (min = NaN);\n    (max == null || !isFinite(max)) && (max = NaN);\n    var isBlank = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"eqNaN\"])(min) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"eqNaN\"])(max) || isOrdinal && !axisDataLen; // If data extent modified, need to recalculated to ensure cross zero.\n\n    if (this._needCrossZero) {\n      // Axis is over zero and min is not set\n      if (min > 0 && max > 0 && !minFixed) {\n        min = 0; // minFixed = true;\n      } // Axis is under zero and max is not set\n\n\n      if (min < 0 && max < 0 && !maxFixed) {\n        max = 0; // maxFixed = true;\n      } // PENDING:\n      // When `needCrossZero` and all data is positive/negative, should it be ensured\n      // that the results processed by boundaryGap are positive/negative?\n      // If so, here `minFixed`/`maxFixed` need to be set.\n\n    }\n\n    var determinedMin = this._determinedMin;\n    var determinedMax = this._determinedMax;\n\n    if (determinedMin != null) {\n      min = determinedMin;\n      minFixed = true;\n    }\n\n    if (determinedMax != null) {\n      max = determinedMax;\n      maxFixed = true;\n    } // Ensure min/max be finite number or NaN here. (not to be null/undefined)\n    // `NaN` means min/max axis is blank.\n\n\n    return {\n      min: min,\n      max: max,\n      minFixed: minFixed,\n      maxFixed: maxFixed,\n      isBlank: isBlank\n    };\n  };\n\n  ScaleRawExtentInfo.prototype.modifyDataMinMax = function (minMaxName, val) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!this.frozen);\n    }\n\n    this[DATA_MIN_MAX_ATTR[minMaxName]] = val;\n  };\n\n  ScaleRawExtentInfo.prototype.setDeterminedMinMax = function (minMaxName, val) {\n    var attr = DETERMINED_MIN_MAX_ATTR[minMaxName];\n\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!this.frozen // Earse them usually means logic flaw.\n      && this[attr] == null);\n    }\n\n    this[attr] = val;\n  };\n\n  ScaleRawExtentInfo.prototype.freeze = function () {\n    // @ts-ignore\n    this.frozen = true;\n  };\n\n  return ScaleRawExtentInfo;\n}();\n\n\nvar DETERMINED_MIN_MAX_ATTR = {\n  min: '_determinedMin',\n  max: '_determinedMax'\n};\nvar DATA_MIN_MAX_ATTR = {\n  min: '_dataMin',\n  max: '_dataMax'\n};\n/**\n * Get scale min max and related info only depends on model settings.\n * This method can be called after coordinate system created.\n * For example, in data processing stage.\n *\n * Scale extent info probably be required multiple times during a workflow.\n * For example:\n * (1) `dataZoom` depends it to get the axis extent in \"100%\" state.\n * (2) `processor/extentCalculator` depends it to make sure whether axis extent is specified.\n * (3) `coordSys.update` use it to finally decide the scale extent.\n * But the callback of `min`/`max` should not be called multiple times.\n * The code below should not be implemented repeatedly either.\n * So we cache the result in the scale instance, which will be recreated at the begining\n * of the workflow (because `scale` instance will be recreated each round of the workflow).\n */\n\nfunction ensureScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\noriginalExtent) {\n  // Do not permit to recreate.\n  var rawExtentInfo = scale.rawExtentInfo;\n\n  if (rawExtentInfo) {\n    return rawExtentInfo;\n  }\n\n  rawExtentInfo = new ScaleRawExtentInfo(scale, model, originalExtent); // @ts-ignore\n\n  scale.rawExtentInfo = rawExtentInfo;\n  return rawExtentInfo;\n}\nfunction parseAxisModelMinMax(scale, minMax) {\n  return minMax == null ? null : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"eqNaN\"])(minMax) ? NaN : scale.parse(minMax);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/scaleRawExtentInfo.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/single/AxisModel.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/single/AxisModel.js ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../axisModelCommonMixin.js */ \"./node_modules/echarts/lib/coord/axisModelCommonMixin.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar SingleAxisModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SingleAxisModel, _super);\n\n  function SingleAxisModel() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = SingleAxisModel.type;\n    return _this;\n  }\n\n  SingleAxisModel.prototype.getCoordSysModel = function () {\n    return this;\n  };\n\n  SingleAxisModel.type = 'singleAxis';\n  SingleAxisModel.layoutMode = 'box';\n  SingleAxisModel.defaultOption = {\n    left: '5%',\n    top: '5%',\n    right: '5%',\n    bottom: '5%',\n    type: 'value',\n    position: 'bottom',\n    orient: 'horizontal',\n    axisLine: {\n      show: true,\n      lineStyle: {\n        width: 1,\n        type: 'solid'\n      }\n    },\n    // Single coordinate system and single axis is the,\n    // which is used as the parent tooltip model.\n    // same model, so we set default tooltip show as true.\n    tooltip: {\n      show: true\n    },\n    axisTick: {\n      show: true,\n      length: 6,\n      lineStyle: {\n        width: 1\n      }\n    },\n    axisLabel: {\n      show: true,\n      interval: 'auto'\n    },\n    splitLine: {\n      show: true,\n      lineStyle: {\n        type: 'dashed',\n        opacity: 0.2\n      }\n    }\n  };\n  return SingleAxisModel;\n}(_model_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"mixin\"])(SingleAxisModel, _axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_2__[\"AxisModelCommonMixin\"].prototype);\n/* harmony default export */ __webpack_exports__[\"default\"] = (SingleAxisModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/AxisModel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/single/Single.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/coord/single/Single.js ***!
  \*********************************************************/
/*! exports provided: singleDimensions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleDimensions\", function() { return singleDimensions; });\n/* harmony import */ var _SingleAxis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SingleAxis.js */ \"./node_modules/echarts/lib/coord/single/SingleAxis.js\");\n/* harmony import */ var _axisHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Single coordinates system.\n */\n\n\n\n\nvar singleDimensions = ['single'];\n/**\n * Create a single coordinates system.\n */\n\nvar Single =\n/** @class */\nfunction () {\n  function Single(axisModel, ecModel, api) {\n    this.type = 'single';\n    this.dimension = 'single';\n    /**\n     * Add it just for draw tooltip.\n     */\n\n    this.dimensions = singleDimensions;\n    this.axisPointerEnabled = true;\n    this.model = axisModel;\n\n    this._init(axisModel, ecModel, api);\n  }\n  /**\n   * Initialize single coordinate system.\n   */\n\n\n  Single.prototype._init = function (axisModel, ecModel, api) {\n    var dim = this.dimension;\n    var axis = new _SingleAxis_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](dim, _axisHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"createScaleByModel\"](axisModel), [0, 0], axisModel.get('type'), axisModel.get('position'));\n    var isCategory = axis.type === 'category';\n    axis.onBand = isCategory && axisModel.get('boundaryGap');\n    axis.inverse = axisModel.get('inverse');\n    axis.orient = axisModel.get('orient');\n    axisModel.axis = axis;\n    axis.model = axisModel;\n    axis.coordinateSystem = this;\n    this._axis = axis;\n  };\n  /**\n   * Update axis scale after data processed\n   */\n\n\n  Single.prototype.update = function (ecModel, api) {\n    ecModel.eachSeries(function (seriesModel) {\n      if (seriesModel.coordinateSystem === this) {\n        var data_1 = seriesModel.getData();\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(data_1.mapDimensionsAll(this.dimension), function (dim) {\n          this._axis.scale.unionExtentFromData(data_1, dim);\n        }, this);\n        _axisHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"niceScaleExtent\"](this._axis.scale, this._axis.model);\n      }\n    }, this);\n  };\n  /**\n   * Resize the single coordinate system.\n   */\n\n\n  Single.prototype.resize = function (axisModel, api) {\n    this._rect = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_2__[\"getLayoutRect\"])({\n      left: axisModel.get('left'),\n      top: axisModel.get('top'),\n      right: axisModel.get('right'),\n      bottom: axisModel.get('bottom'),\n      width: axisModel.get('width'),\n      height: axisModel.get('height')\n    }, {\n      width: api.getWidth(),\n      height: api.getHeight()\n    });\n\n    this._adjustAxis();\n  };\n\n  Single.prototype.getRect = function () {\n    return this._rect;\n  };\n\n  Single.prototype._adjustAxis = function () {\n    var rect = this._rect;\n    var axis = this._axis;\n    var isHorizontal = axis.isHorizontal();\n    var extent = isHorizontal ? [0, rect.width] : [0, rect.height];\n    var idx = axis.inverse ? 1 : 0;\n    axis.setExtent(extent[idx], extent[1 - idx]);\n\n    this._updateAxisTransform(axis, isHorizontal ? rect.x : rect.y);\n  };\n\n  Single.prototype._updateAxisTransform = function (axis, coordBase) {\n    var axisExtent = axis.getExtent();\n    var extentSum = axisExtent[0] + axisExtent[1];\n    var isHorizontal = axis.isHorizontal();\n    axis.toGlobalCoord = isHorizontal ? function (coord) {\n      return coord + coordBase;\n    } : function (coord) {\n      return extentSum - coord + coordBase;\n    };\n    axis.toLocalCoord = isHorizontal ? function (coord) {\n      return coord - coordBase;\n    } : function (coord) {\n      return extentSum - coord + coordBase;\n    };\n  };\n  /**\n   * Get axis.\n   */\n\n\n  Single.prototype.getAxis = function () {\n    return this._axis;\n  };\n  /**\n   * Get axis, add it just for draw tooltip.\n   */\n\n\n  Single.prototype.getBaseAxis = function () {\n    return this._axis;\n  };\n\n  Single.prototype.getAxes = function () {\n    return [this._axis];\n  };\n\n  Single.prototype.getTooltipAxes = function () {\n    return {\n      baseAxes: [this.getAxis()],\n      // Empty otherAxes\n      otherAxes: []\n    };\n  };\n  /**\n   * If contain point.\n   */\n\n\n  Single.prototype.containPoint = function (point) {\n    var rect = this.getRect();\n    var axis = this.getAxis();\n    var orient = axis.orient;\n\n    if (orient === 'horizontal') {\n      return axis.contain(axis.toLocalCoord(point[0])) && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n    } else {\n      return axis.contain(axis.toLocalCoord(point[1])) && point[0] >= rect.y && point[0] <= rect.y + rect.height;\n    }\n  };\n\n  Single.prototype.pointToData = function (point) {\n    var axis = this.getAxis();\n    return [axis.coordToData(axis.toLocalCoord(point[axis.orient === 'horizontal' ? 0 : 1]))];\n  };\n  /**\n   * Convert the series data to concrete point.\n   * Can be [val] | val\n   */\n\n\n  Single.prototype.dataToPoint = function (val) {\n    var axis = this.getAxis();\n    var rect = this.getRect();\n    var pt = [];\n    var idx = axis.orient === 'horizontal' ? 0 : 1;\n\n    if (val instanceof Array) {\n      val = val[0];\n    }\n\n    pt[idx] = axis.toGlobalCoord(axis.dataToCoord(+val));\n    pt[1 - idx] = idx === 0 ? rect.y + rect.height / 2 : rect.x + rect.width / 2;\n    return pt;\n  };\n\n  Single.prototype.convertToPixel = function (ecModel, finder, value) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? this.dataToPoint(value) : null;\n  };\n\n  Single.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n    var coordSys = getCoordSys(finder);\n    return coordSys === this ? this.pointToData(pixel) : null;\n  };\n\n  return Single;\n}();\n\nfunction getCoordSys(finder) {\n  var seriesModel = finder.seriesModel;\n  var singleModel = finder.singleAxisModel;\n  return singleModel && singleModel.coordinateSystem || seriesModel && seriesModel.coordinateSystem;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Single);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/Single.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/single/SingleAxis.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/single/SingleAxis.js ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Axis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar SingleAxis =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SingleAxis, _super);\n\n  function SingleAxis(dim, scale, coordExtent, axisType, position) {\n    var _this = _super.call(this, dim, scale, coordExtent) || this;\n\n    _this.type = axisType || 'value';\n    _this.position = position || 'bottom';\n    return _this;\n  }\n  /**\n   * Judge the orient of the axis.\n   */\n\n\n  SingleAxis.prototype.isHorizontal = function () {\n    var position = this.position;\n    return position === 'top' || position === 'bottom';\n  };\n\n  SingleAxis.prototype.pointToData = function (point, clamp) {\n    return this.coordinateSystem.pointToData(point)[0];\n  };\n\n  return SingleAxis;\n}(_Axis_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SingleAxis);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/SingleAxis.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/single/prepareCustom.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/single/prepareCustom.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return singlePrepareCustom; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction dataToCoordSize(dataSize, dataItem) {\n  // dataItem is necessary in log axis.\n  var axis = this.getAxis();\n  var val = dataItem instanceof Array ? dataItem[0] : dataItem;\n  var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;\n  return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n}\n\nfunction singlePrepareCustom(coordSys) {\n  var rect = coordSys.getRect();\n  return {\n    coordSys: {\n      type: 'singleAxis',\n      x: rect.x,\n      y: rect.y,\n      width: rect.width,\n      height: rect.height\n    },\n    api: {\n      coord: function (val) {\n        // do not provide \"out\" param\n        return coordSys.dataToPoint(val);\n      },\n      size: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"])(dataToCoordSize, coordSys)\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/prepareCustom.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/single/singleAxisHelper.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/single/singleAxisHelper.js ***!
  \*******************************************************************/
/*! exports provided: layout */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layout\", function() { return layout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction layout(axisModel, opt) {\n  opt = opt || {};\n  var single = axisModel.coordinateSystem;\n  var axis = axisModel.axis;\n  var layout = {};\n  var axisPosition = axis.position;\n  var orient = axis.orient;\n  var rect = single.getRect();\n  var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n  var positionMap = {\n    horizontal: {\n      top: rectBound[2],\n      bottom: rectBound[3]\n    },\n    vertical: {\n      left: rectBound[0],\n      right: rectBound[1]\n    }\n  };\n  layout.position = [orient === 'vertical' ? positionMap.vertical[axisPosition] : rectBound[0], orient === 'horizontal' ? positionMap.horizontal[axisPosition] : rectBound[3]];\n  var r = {\n    horizontal: 0,\n    vertical: 1\n  };\n  layout.rotation = Math.PI / 2 * r[orient];\n  var directionMap = {\n    top: -1,\n    bottom: 1,\n    right: 1,\n    left: -1\n  };\n  layout.labelDirection = layout.tickDirection = layout.nameDirection = directionMap[axisPosition];\n\n  if (axisModel.get(['axisTick', 'inside'])) {\n    layout.tickDirection = -layout.tickDirection;\n  }\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"](opt.labelInside, axisModel.get(['axisLabel', 'inside']))) {\n    layout.labelDirection = -layout.labelDirection;\n  }\n\n  var labelRotation = opt.rotate;\n  labelRotation == null && (labelRotation = axisModel.get(['axisLabel', 'rotate']));\n  layout.labelRotation = axisPosition === 'top' ? -labelRotation : labelRotation;\n  layout.z2 = 1;\n  return layout;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/singleAxisHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/coord/single/singleCreator.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/coord/single/singleCreator.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Single_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Single.js */ \"./node_modules/echarts/lib/coord/single/Single.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Single coordinate system creator.\n */\n\n\n/**\n * Create single coordinate system and inject it into seriesModel.\n */\n\nfunction create(ecModel, api) {\n  var singles = [];\n  ecModel.eachComponent('singleAxis', function (axisModel, idx) {\n    var single = new _Single_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](axisModel, ecModel, api);\n    single.name = 'single_' + idx;\n    single.resize(axisModel, api);\n    axisModel.coordinateSystem = single;\n    singles.push(single);\n  });\n  ecModel.eachSeries(function (seriesModel) {\n    if (seriesModel.get('coordinateSystem') === 'singleAxis') {\n      var singleAxisModel = seriesModel.getReferringComponents('singleAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n      seriesModel.coordinateSystem = singleAxisModel && singleAxisModel.coordinateSystem;\n    }\n  });\n  return singles;\n}\n\nvar singleCreator = {\n  create: create,\n  dimensions: _Single_js__WEBPACK_IMPORTED_MODULE_0__[\"singleDimensions\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (singleCreator);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/singleCreator.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/CoordinateSystem.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/core/CoordinateSystem.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar coordinateSystemCreators = {};\n\nvar CoordinateSystemManager =\n/** @class */\nfunction () {\n  function CoordinateSystemManager() {\n    this._coordinateSystems = [];\n  }\n\n  CoordinateSystemManager.prototype.create = function (ecModel, api) {\n    var coordinateSystems = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](coordinateSystemCreators, function (creater, type) {\n      var list = creater.create(ecModel, api);\n      coordinateSystems = coordinateSystems.concat(list || []);\n    });\n    this._coordinateSystems = coordinateSystems;\n  };\n\n  CoordinateSystemManager.prototype.update = function (ecModel, api) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](this._coordinateSystems, function (coordSys) {\n      coordSys.update && coordSys.update(ecModel, api);\n    });\n  };\n\n  CoordinateSystemManager.prototype.getCoordinateSystems = function () {\n    return this._coordinateSystems.slice();\n  };\n\n  CoordinateSystemManager.register = function (type, creator) {\n    coordinateSystemCreators[type] = creator;\n  };\n\n  CoordinateSystemManager.get = function (type) {\n    return coordinateSystemCreators[type];\n  };\n\n  return CoordinateSystemManager;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CoordinateSystemManager);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/CoordinateSystem.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/ExtensionAPI.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/core/ExtensionAPI.js ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar availableMethods = ['getDom', 'getZr', 'getWidth', 'getHeight', 'getDevicePixelRatio', 'dispatchAction', 'isSSR', 'isDisposed', 'on', 'off', 'getDataURL', 'getConnectedDataURL', // 'getModel',\n'getOption', // 'getViewOfComponentModel',\n// 'getViewOfSeriesModel',\n'getId', 'updateLabelLayout'];\n\nvar ExtensionAPI =\n/** @class */\nfunction () {\n  function ExtensionAPI(ecInstance) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](availableMethods, function (methodName) {\n      this[methodName] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](ecInstance[methodName], ecInstance);\n    }, this);\n  }\n\n  return ExtensionAPI;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ExtensionAPI);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/ExtensionAPI.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/Scheduler.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/core/Scheduler.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _task_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./task.js */ \"./node_modules/echarts/lib/core/task.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n/* harmony import */ var _model_Global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../model/Global.js */ \"./node_modules/echarts/lib/model/Global.js\");\n/* harmony import */ var _ExtensionAPI_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ExtensionAPI.js */ \"./node_modules/echarts/lib/core/ExtensionAPI.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n;\n\nvar Scheduler =\n/** @class */\nfunction () {\n  function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {\n    // key: handlerUID\n    this._stageTaskMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    this.ecInstance = ecInstance;\n    this.api = api; // Fix current processors in case that in some rear cases that\n    // processors might be registered after echarts instance created.\n    // Register processors incrementally for a echarts instance is\n    // not supported by this stream architecture.\n\n    dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();\n    visualHandlers = this._visualHandlers = visualHandlers.slice();\n    this._allHandlers = dataProcessorHandlers.concat(visualHandlers);\n  }\n\n  Scheduler.prototype.restoreData = function (ecModel, payload) {\n    // TODO: Only restore needed series and components, but not all components.\n    // Currently `restoreData` of all of the series and component will be called.\n    // But some independent components like `title`, `legend`, `graphic`, `toolbox`,\n    // `tooltip`, `axisPointer`, etc, do not need series refresh when `setOption`,\n    // and some components like coordinate system, axes, dataZoom, visualMap only\n    // need their target series refresh.\n    // (1) If we are implementing this feature some day, we should consider these cases:\n    // if a data processor depends on a component (e.g., dataZoomProcessor depends\n    // on the settings of `dataZoom`), it should be re-performed if the component\n    // is modified by `setOption`.\n    // (2) If a processor depends on sevral series, speicified by its `getTargetSeries`,\n    // it should be re-performed when the result array of `getTargetSeries` changed.\n    // We use `dependencies` to cover these issues.\n    // (3) How to update target series when coordinate system related components modified.\n    // TODO: simply the dirty mechanism? Check whether only the case here can set tasks dirty,\n    // and this case all of the tasks will be set as dirty.\n    ecModel.restoreData(payload); // Theoretically an overall task not only depends on each of its target series, but also\n    // depends on all of the series.\n    // The overall task is not in pipeline, and `ecModel.restoreData` only set pipeline tasks\n    // dirty. If `getTargetSeries` of an overall task returns nothing, we should also ensure\n    // that the overall task is set as dirty and to be performed, otherwise it probably cause\n    // state chaos. So we have to set dirty of all of the overall tasks manually, otherwise it\n    // probably cause state chaos (consider `dataZoomProcessor`).\n\n    this._stageTaskMap.each(function (taskRecord) {\n      var overallTask = taskRecord.overallTask;\n      overallTask && overallTask.dirty();\n    });\n  }; // If seriesModel provided, incremental threshold is check by series data.\n\n\n  Scheduler.prototype.getPerformArgs = function (task, isBlock) {\n    // For overall task\n    if (!task.__pipeline) {\n      return;\n    }\n\n    var pipeline = this._pipelineMap.get(task.__pipeline.id);\n\n    var pCtx = pipeline.context;\n    var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task.__idxInPipeline > pipeline.blockIndex;\n    var step = incremental ? pipeline.step : null;\n    var modDataCount = pCtx && pCtx.modDataCount;\n    var modBy = modDataCount != null ? Math.ceil(modDataCount / step) : null;\n    return {\n      step: step,\n      modBy: modBy,\n      modDataCount: modDataCount\n    };\n  };\n\n  Scheduler.prototype.getPipeline = function (pipelineId) {\n    return this._pipelineMap.get(pipelineId);\n  };\n  /**\n   * Current, progressive rendering starts from visual and layout.\n   * Always detect render mode in the same stage, avoiding that incorrect\n   * detection caused by data filtering.\n   * Caution:\n   * `updateStreamModes` use `seriesModel.getData()`.\n   */\n\n\n  Scheduler.prototype.updateStreamModes = function (seriesModel, view) {\n    var pipeline = this._pipelineMap.get(seriesModel.uid);\n\n    var data = seriesModel.getData();\n    var dataLen = data.count(); // `progressiveRender` means that can render progressively in each\n    // animation frame. Note that some types of series do not provide\n    // `view.incrementalPrepareRender` but support `chart.appendData`. We\n    // use the term `incremental` but not `progressive` to describe the\n    // case that `chart.appendData`.\n\n    var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;\n    var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold'); // TODO: modDataCount should not updated if `appendData`, otherwise cause whole repaint.\n    // see `test/candlestick-large3.html`\n\n    var modDataCount = seriesModel.get('progressiveChunkMode') === 'mod' ? dataLen : null;\n    seriesModel.pipelineContext = pipeline.context = {\n      progressiveRender: progressiveRender,\n      modDataCount: modDataCount,\n      large: large\n    };\n  };\n\n  Scheduler.prototype.restorePipelines = function (ecModel) {\n    var scheduler = this;\n    var pipelineMap = scheduler._pipelineMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    ecModel.eachSeries(function (seriesModel) {\n      var progressive = seriesModel.getProgressive();\n      var pipelineId = seriesModel.uid;\n      pipelineMap.set(pipelineId, {\n        id: pipelineId,\n        head: null,\n        tail: null,\n        threshold: seriesModel.getProgressiveThreshold(),\n        progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),\n        blockIndex: -1,\n        step: Math.round(progressive || 700),\n        count: 0\n      });\n\n      scheduler._pipe(seriesModel, seriesModel.dataTask);\n    });\n  };\n\n  Scheduler.prototype.prepareStageTasks = function () {\n    var stageTaskMap = this._stageTaskMap;\n    var ecModel = this.api.getModel();\n    var api = this.api;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(this._allHandlers, function (handler) {\n      var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, {});\n      var errMsg = '';\n\n      if (true) {\n        // Currently do not need to support to sepecify them both.\n        errMsg = '\"reset\" and \"overallReset\" must not be both specified.';\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!(handler.reset && handler.overallReset), errMsg);\n      handler.reset && this._createSeriesStageTask(handler, record, ecModel, api);\n      handler.overallReset && this._createOverallStageTask(handler, record, ecModel, api);\n    }, this);\n  };\n\n  Scheduler.prototype.prepareView = function (view, model, ecModel, api) {\n    var renderTask = view.renderTask;\n    var context = renderTask.context;\n    context.model = model;\n    context.ecModel = ecModel;\n    context.api = api;\n    renderTask.__block = !view.incrementalPrepareRender;\n\n    this._pipe(model, renderTask);\n  };\n\n  Scheduler.prototype.performDataProcessorTasks = function (ecModel, payload) {\n    // If we do not use `block` here, it should be considered when to update modes.\n    this._performStageTasks(this._dataProcessorHandlers, ecModel, payload, {\n      block: true\n    });\n  };\n\n  Scheduler.prototype.performVisualTasks = function (ecModel, payload, opt) {\n    this._performStageTasks(this._visualHandlers, ecModel, payload, opt);\n  };\n\n  Scheduler.prototype._performStageTasks = function (stageHandlers, ecModel, payload, opt) {\n    opt = opt || {};\n    var unfinished = false;\n    var scheduler = this;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(stageHandlers, function (stageHandler, idx) {\n      if (opt.visualType && opt.visualType !== stageHandler.visualType) {\n        return;\n      }\n\n      var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);\n\n      var seriesTaskMap = stageHandlerRecord.seriesTaskMap;\n      var overallTask = stageHandlerRecord.overallTask;\n\n      if (overallTask) {\n        var overallNeedDirty_1;\n        var agentStubMap = overallTask.agentStubMap;\n        agentStubMap.each(function (stub) {\n          if (needSetDirty(opt, stub)) {\n            stub.dirty();\n            overallNeedDirty_1 = true;\n          }\n        });\n        overallNeedDirty_1 && overallTask.dirty();\n        scheduler.updatePayload(overallTask, payload);\n        var performArgs_1 = scheduler.getPerformArgs(overallTask, opt.block); // Execute stubs firstly, which may set the overall task dirty,\n        // then execute the overall task. And stub will call seriesModel.setData,\n        // which ensures that in the overallTask seriesModel.getData() will not\n        // return incorrect data.\n\n        agentStubMap.each(function (stub) {\n          stub.perform(performArgs_1);\n        });\n\n        if (overallTask.perform(performArgs_1)) {\n          unfinished = true;\n        }\n      } else if (seriesTaskMap) {\n        seriesTaskMap.each(function (task, pipelineId) {\n          if (needSetDirty(opt, task)) {\n            task.dirty();\n          }\n\n          var performArgs = scheduler.getPerformArgs(task, opt.block); // FIXME\n          // if intending to decalare `performRawSeries` in handlers, only\n          // stream-independent (specifically, data item independent) operations can be\n          // performed. Because is a series is filtered, most of the tasks will not\n          // be performed. A stream-dependent operation probably cause wrong biz logic.\n          // Perhaps we should not provide a separate callback for this case instead\n          // of providing the config `performRawSeries`. The stream-dependent operaions\n          // and stream-independent operations should better not be mixed.\n\n          performArgs.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task.context.model);\n          scheduler.updatePayload(task, payload);\n\n          if (task.perform(performArgs)) {\n            unfinished = true;\n          }\n        });\n      }\n    });\n\n    function needSetDirty(opt, task) {\n      return opt.setDirty && (!opt.dirtyMap || opt.dirtyMap.get(task.__pipeline.id));\n    }\n\n    this.unfinished = unfinished || this.unfinished;\n  };\n\n  Scheduler.prototype.performSeriesTasks = function (ecModel) {\n    var unfinished;\n    ecModel.eachSeries(function (seriesModel) {\n      // Progress to the end for dataInit and dataRestore.\n      unfinished = seriesModel.dataTask.perform() || unfinished;\n    });\n    this.unfinished = unfinished || this.unfinished;\n  };\n\n  Scheduler.prototype.plan = function () {\n    // Travel pipelines, check block.\n    this._pipelineMap.each(function (pipeline) {\n      var task = pipeline.tail;\n\n      do {\n        if (task.__block) {\n          pipeline.blockIndex = task.__idxInPipeline;\n          break;\n        }\n\n        task = task.getUpstream();\n      } while (task);\n    });\n  };\n\n  Scheduler.prototype.updatePayload = function (task, payload) {\n    payload !== 'remain' && (task.context.payload = payload);\n  };\n\n  Scheduler.prototype._createSeriesStageTask = function (stageHandler, stageHandlerRecord, ecModel, api) {\n    var scheduler = this;\n    var oldSeriesTaskMap = stageHandlerRecord.seriesTaskMap; // The count of stages are totally about only several dozen, so\n    // do not need to reuse the map.\n\n    var newSeriesTaskMap = stageHandlerRecord.seriesTaskMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    var seriesType = stageHandler.seriesType;\n    var getTargetSeries = stageHandler.getTargetSeries; // If a stageHandler should cover all series, `createOnAllSeries` should be declared mandatorily,\n    // to avoid some typo or abuse. Otherwise if an extension do not specify a `seriesType`,\n    // it works but it may cause other irrelevant charts blocked.\n\n    if (stageHandler.createOnAllSeries) {\n      ecModel.eachRawSeries(create);\n    } else if (seriesType) {\n      ecModel.eachRawSeriesByType(seriesType, create);\n    } else if (getTargetSeries) {\n      getTargetSeries(ecModel, api).each(create);\n    }\n\n    function create(seriesModel) {\n      var pipelineId = seriesModel.uid; // Init tasks for each seriesModel only once.\n      // Reuse original task instance.\n\n      var task = newSeriesTaskMap.set(pipelineId, oldSeriesTaskMap && oldSeriesTaskMap.get(pipelineId) || Object(_task_js__WEBPACK_IMPORTED_MODULE_1__[\"createTask\"])({\n        plan: seriesTaskPlan,\n        reset: seriesTaskReset,\n        count: seriesTaskCount\n      }));\n      task.context = {\n        model: seriesModel,\n        ecModel: ecModel,\n        api: api,\n        // PENDING: `useClearVisual` not used?\n        useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,\n        plan: stageHandler.plan,\n        reset: stageHandler.reset,\n        scheduler: scheduler\n      };\n\n      scheduler._pipe(seriesModel, task);\n    }\n  };\n\n  Scheduler.prototype._createOverallStageTask = function (stageHandler, stageHandlerRecord, ecModel, api) {\n    var scheduler = this;\n    var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask // For overall task, the function only be called on reset stage.\n    || Object(_task_js__WEBPACK_IMPORTED_MODULE_1__[\"createTask\"])({\n      reset: overallTaskReset\n    });\n    overallTask.context = {\n      ecModel: ecModel,\n      api: api,\n      overallReset: stageHandler.overallReset,\n      scheduler: scheduler\n    };\n    var oldAgentStubMap = overallTask.agentStubMap; // The count of stages are totally about only several dozen, so\n    // do not need to reuse the map.\n\n    var newAgentStubMap = overallTask.agentStubMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    var seriesType = stageHandler.seriesType;\n    var getTargetSeries = stageHandler.getTargetSeries;\n    var overallProgress = true;\n    var shouldOverallTaskDirty = false; // FIXME:TS never used, so comment it\n    // let modifyOutputEnd = stageHandler.modifyOutputEnd;\n    // An overall task with seriesType detected or has `getTargetSeries`, we add\n    // stub in each pipelines, it will set the overall task dirty when the pipeline\n    // progress. Moreover, to avoid call the overall task each frame (too frequent),\n    // we set the pipeline block.\n\n    var errMsg = '';\n\n    if (true) {\n      errMsg = '\"createOnAllSeries\" do not supported for \"overallReset\", ' + 'becuase it will block all streams.';\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!stageHandler.createOnAllSeries, errMsg);\n\n    if (seriesType) {\n      ecModel.eachRawSeriesByType(seriesType, createStub);\n    } else if (getTargetSeries) {\n      getTargetSeries(ecModel, api).each(createStub);\n    } // Otherwise, (usually it is legancy case), the overall task will only be\n    // executed when upstream dirty. Otherwise the progressive rendering of all\n    // pipelines will be disabled unexpectedly. But it still needs stubs to receive\n    // dirty info from upsteam.\n    else {\n        overallProgress = false;\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(ecModel.getSeries(), createStub);\n      }\n\n    function createStub(seriesModel) {\n      var pipelineId = seriesModel.uid;\n      var stub = newAgentStubMap.set(pipelineId, oldAgentStubMap && oldAgentStubMap.get(pipelineId) || ( // When the result of `getTargetSeries` changed, the overallTask\n      // should be set as dirty and re-performed.\n      shouldOverallTaskDirty = true, Object(_task_js__WEBPACK_IMPORTED_MODULE_1__[\"createTask\"])({\n        reset: stubReset,\n        onDirty: stubOnDirty\n      })));\n      stub.context = {\n        model: seriesModel,\n        overallProgress: overallProgress // FIXME:TS never used, so comment it\n        // modifyOutputEnd: modifyOutputEnd\n\n      };\n      stub.agent = overallTask;\n      stub.__block = overallProgress;\n\n      scheduler._pipe(seriesModel, stub);\n    }\n\n    if (shouldOverallTaskDirty) {\n      overallTask.dirty();\n    }\n  };\n\n  Scheduler.prototype._pipe = function (seriesModel, task) {\n    var pipelineId = seriesModel.uid;\n\n    var pipeline = this._pipelineMap.get(pipelineId);\n\n    !pipeline.head && (pipeline.head = task);\n    pipeline.tail && pipeline.tail.pipe(task);\n    pipeline.tail = task;\n    task.__idxInPipeline = pipeline.count++;\n    task.__pipeline = pipeline;\n  };\n\n  Scheduler.wrapStageHandler = function (stageHandler, visualType) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(stageHandler)) {\n      stageHandler = {\n        overallReset: stageHandler,\n        seriesType: detectSeriseType(stageHandler)\n      };\n    }\n\n    stageHandler.uid = Object(_util_component_js__WEBPACK_IMPORTED_MODULE_2__[\"getUID\"])('stageHandler');\n    visualType && (stageHandler.visualType = visualType);\n    return stageHandler;\n  };\n\n  ;\n  return Scheduler;\n}();\n\nfunction overallTaskReset(context) {\n  context.overallReset(context.ecModel, context.api, context.payload);\n}\n\nfunction stubReset(context) {\n  return context.overallProgress && stubProgress;\n}\n\nfunction stubProgress() {\n  this.agent.dirty();\n  this.getDownstream().dirty();\n}\n\nfunction stubOnDirty() {\n  this.agent && this.agent.dirty();\n}\n\nfunction seriesTaskPlan(context) {\n  return context.plan ? context.plan(context.model, context.ecModel, context.api, context.payload) : null;\n}\n\nfunction seriesTaskReset(context) {\n  if (context.useClearVisual) {\n    context.data.clearAllVisual();\n  }\n\n  var resetDefines = context.resetDefines = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"normalizeToArray\"])(context.reset(context.model, context.ecModel, context.api, context.payload));\n  return resetDefines.length > 1 ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(resetDefines, function (v, idx) {\n    return makeSeriesTaskProgress(idx);\n  }) : singleSeriesTaskProgress;\n}\n\nvar singleSeriesTaskProgress = makeSeriesTaskProgress(0);\n\nfunction makeSeriesTaskProgress(resetDefineIdx) {\n  return function (params, context) {\n    var data = context.data;\n    var resetDefine = context.resetDefines[resetDefineIdx];\n\n    if (resetDefine && resetDefine.dataEach) {\n      for (var i = params.start; i < params.end; i++) {\n        resetDefine.dataEach(data, i);\n      }\n    } else if (resetDefine && resetDefine.progress) {\n      resetDefine.progress(params, data);\n    }\n  };\n}\n\nfunction seriesTaskCount(context) {\n  return context.data.count();\n}\n/**\n * Only some legacy stage handlers (usually in echarts extensions) are pure function.\n * To ensure that they can work normally, they should work in block mode, that is,\n * they should not be started util the previous tasks finished. So they cause the\n * progressive rendering disabled. We try to detect the series type, to narrow down\n * the block range to only the series type they concern, but not all series.\n */\n\n\nfunction detectSeriseType(legacyFunc) {\n  seriesType = null;\n\n  try {\n    // Assume there is no async when calling `eachSeriesByType`.\n    legacyFunc(ecModelMock, apiMock);\n  } catch (e) {}\n\n  return seriesType;\n}\n\nvar ecModelMock = {};\nvar apiMock = {};\nvar seriesType;\nmockMethods(ecModelMock, _model_Global_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nmockMethods(apiMock, _ExtensionAPI_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\necModelMock.eachSeriesByType = ecModelMock.eachRawSeriesByType = function (type) {\n  seriesType = type;\n};\n\necModelMock.eachComponent = function (cond) {\n  if (cond.mainType === 'series' && cond.subType) {\n    seriesType = cond.subType;\n  }\n};\n\nfunction mockMethods(target, Clz) {\n  /* eslint-disable */\n  for (var name_1 in Clz.prototype) {\n    // Do not use hasOwnProperty\n    target[name_1] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"noop\"];\n  }\n  /* eslint-enable */\n\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scheduler);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/Scheduler.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/echarts.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/core/echarts.js ***!
  \**************************************************/
/*! exports provided: version, dependencies, PRIORITY, init, connect, disConnect, disconnect, dispose, getInstanceByDom, getInstanceById, registerTheme, registerPreprocessor, registerProcessor, registerPostInit, registerPostUpdate, registerUpdateLifecycle, registerAction, registerCoordinateSystem, getCoordinateSystemDimensions, registerLocale, registerLayout, registerVisual, registerLoading, setCanvasCreator, registerMap, getMap, registerTransform, dataTool */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return version; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dependencies\", function() { return dependencies; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PRIORITY\", function() { return PRIORITY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"connect\", function() { return connect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disConnect\", function() { return disConnect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disconnect\", function() { return disconnect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dispose\", function() { return dispose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getInstanceByDom\", function() { return getInstanceByDom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getInstanceById\", function() { return getInstanceById; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerTheme\", function() { return registerTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerPreprocessor\", function() { return registerPreprocessor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerProcessor\", function() { return registerProcessor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerPostInit\", function() { return registerPostInit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerPostUpdate\", function() { return registerPostUpdate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerUpdateLifecycle\", function() { return registerUpdateLifecycle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerAction\", function() { return registerAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerCoordinateSystem\", function() { return registerCoordinateSystem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCoordinateSystemDimensions\", function() { return getCoordinateSystemDimensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerLayout\", function() { return registerLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerVisual\", function() { return registerVisual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerLoading\", function() { return registerLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setCanvasCreator\", function() { return setCanvasCreator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerMap\", function() { return registerMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMap\", function() { return getMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerTransform\", function() { return registerTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataTool\", function() { return dataTool; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/zrender.js */ \"./node_modules/echarts/node_modules/zrender/lib/zrender.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var zrender_lib_core_timsort_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/timsort.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/timsort.js\");\n/* harmony import */ var zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _model_Global_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../model/Global.js */ \"./node_modules/echarts/lib/model/Global.js\");\n/* harmony import */ var _ExtensionAPI_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ExtensionAPI.js */ \"./node_modules/echarts/lib/core/ExtensionAPI.js\");\n/* harmony import */ var _CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CoordinateSystem.js */ \"./node_modules/echarts/lib/core/CoordinateSystem.js\");\n/* harmony import */ var _model_OptionManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../model/OptionManager.js */ \"./node_modules/echarts/lib/model/OptionManager.js\");\n/* harmony import */ var _preprocessor_backwardCompat_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../preprocessor/backwardCompat.js */ \"./node_modules/echarts/lib/preprocessor/backwardCompat.js\");\n/* harmony import */ var _processor_dataStack_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../processor/dataStack.js */ \"./node_modules/echarts/lib/processor/dataStack.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony import */ var _visual_style_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../visual/style.js */ \"./node_modules/echarts/lib/visual/style.js\");\n/* harmony import */ var _loading_default_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../loading/default.js */ \"./node_modules/echarts/lib/loading/default.js\");\n/* harmony import */ var _Scheduler_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Scheduler.js */ \"./node_modules/echarts/lib/core/Scheduler.js\");\n/* harmony import */ var _theme_light_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../theme/light.js */ \"./node_modules/echarts/lib/theme/light.js\");\n/* harmony import */ var _theme_dark_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../theme/dark.js */ \"./node_modules/echarts/lib/theme/dark.js\");\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n/* harmony import */ var _util_ECEventProcessor_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../util/ECEventProcessor.js */ \"./node_modules/echarts/lib/util/ECEventProcessor.js\");\n/* harmony import */ var _visual_symbol_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../visual/symbol.js */ \"./node_modules/echarts/lib/visual/symbol.js\");\n/* harmony import */ var _visual_helper_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../visual/helper.js */ \"./node_modules/echarts/lib/visual/helper.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _legacy_dataSelectAction_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../legacy/dataSelectAction.js */ \"./node_modules/echarts/lib/legacy/dataSelectAction.js\");\n/* harmony import */ var _data_helper_transform_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../data/helper/transform.js */ \"./node_modules/echarts/lib/data/helper/transform.js\");\n/* harmony import */ var _locale_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./locale.js */ \"./node_modules/echarts/lib/core/locale.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/echarts/lib/util/event.js\");\n/* harmony import */ var _visual_decal_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../visual/decal.js */ \"./node_modules/echarts/lib/visual/decal.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/echarts/lib/core/lifecycle.js\");\n/* harmony import */ var zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! zrender/lib/core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n/* harmony import */ var _impl_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./impl.js */ \"./node_modules/echarts/lib/core/impl.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLocale\", function() { return _locale_js__WEBPACK_IMPORTED_MODULE_32__[\"registerLocale\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar hasWindow = typeof window !== 'undefined';\nvar version = '5.4.0';\nvar dependencies = {\n  zrender: '5.4.0'\n};\nvar TEST_FRAME_REMAIN_TIME = 1;\nvar PRIORITY_PROCESSOR_SERIES_FILTER = 800; // Some data processors depends on the stack result dimension (to calculate data extent).\n// So data stack stage should be in front of data processing stage.\n\nvar PRIORITY_PROCESSOR_DATASTACK = 900; // \"Data filter\" will block the stream, so it should be\n// put at the begining of data processing.\n\nvar PRIORITY_PROCESSOR_FILTER = 1000;\nvar PRIORITY_PROCESSOR_DEFAULT = 2000;\nvar PRIORITY_PROCESSOR_STATISTIC = 5000;\nvar PRIORITY_VISUAL_LAYOUT = 1000;\nvar PRIORITY_VISUAL_PROGRESSIVE_LAYOUT = 1100;\nvar PRIORITY_VISUAL_GLOBAL = 2000;\nvar PRIORITY_VISUAL_CHART = 3000;\nvar PRIORITY_VISUAL_COMPONENT = 4000; // Visual property in data. Greater than `PRIORITY_VISUAL_COMPONENT` to enable to\n// overwrite the viusal result of component (like `visualMap`)\n// using data item specific setting (like itemStyle.xxx on data item)\n\nvar PRIORITY_VISUAL_CHART_DATA_CUSTOM = 4500; // Greater than `PRIORITY_VISUAL_CHART_DATA_CUSTOM` to enable to layout based on\n// visual result like `symbolSize`.\n\nvar PRIORITY_VISUAL_POST_CHART_LAYOUT = 4600;\nvar PRIORITY_VISUAL_BRUSH = 5000;\nvar PRIORITY_VISUAL_ARIA = 6000;\nvar PRIORITY_VISUAL_DECAL = 7000;\nvar PRIORITY = {\n  PROCESSOR: {\n    FILTER: PRIORITY_PROCESSOR_FILTER,\n    SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER,\n    STATISTIC: PRIORITY_PROCESSOR_STATISTIC\n  },\n  VISUAL: {\n    LAYOUT: PRIORITY_VISUAL_LAYOUT,\n    PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,\n    GLOBAL: PRIORITY_VISUAL_GLOBAL,\n    CHART: PRIORITY_VISUAL_CHART,\n    POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT,\n    COMPONENT: PRIORITY_VISUAL_COMPONENT,\n    BRUSH: PRIORITY_VISUAL_BRUSH,\n    CHART_ITEM: PRIORITY_VISUAL_CHART_DATA_CUSTOM,\n    ARIA: PRIORITY_VISUAL_ARIA,\n    DECAL: PRIORITY_VISUAL_DECAL\n  }\n}; // Main process have three entries: `setOption`, `dispatchAction` and `resize`,\n// where they must not be invoked nestedly, except the only case: invoke\n// dispatchAction with updateMethod \"none\" in main process.\n// This flag is used to carry out this rule.\n// All events will be triggered out side main process (i.e. when !this[IN_MAIN_PROCESS]).\n\nvar IN_MAIN_PROCESS_KEY = '__flagInMainProcess';\nvar PENDING_UPDATE = '__pendingUpdate';\nvar STATUS_NEEDS_UPDATE_KEY = '__needsUpdateStatus';\nvar ACTION_REG = /^[a-zA-Z0-9_]+$/;\nvar CONNECT_STATUS_KEY = '__connectUpdateStatus';\nvar CONNECT_STATUS_PENDING = 0;\nvar CONNECT_STATUS_UPDATING = 1;\nvar CONNECT_STATUS_UPDATED = 2;\n;\n;\n\nfunction createRegisterEventWithLowercaseECharts(method) {\n  return function () {\n    var args = [];\n\n    for (var _i = 0; _i < arguments.length; _i++) {\n      args[_i] = arguments[_i];\n    }\n\n    if (this.isDisposed()) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    return toLowercaseNameAndCallEventful(this, method, args);\n  };\n}\n\nfunction createRegisterEventWithLowercaseMessageCenter(method) {\n  return function () {\n    var args = [];\n\n    for (var _i = 0; _i < arguments.length; _i++) {\n      args[_i] = arguments[_i];\n    }\n\n    return toLowercaseNameAndCallEventful(this, method, args);\n  };\n}\n\nfunction toLowercaseNameAndCallEventful(host, method, args) {\n  // `args[0]` is event name. Event name is all lowercase.\n  args[0] = args[0] && args[0].toLowerCase();\n  return zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].prototype[method].apply(host, args);\n}\n\nvar MessageCenter =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MessageCenter, _super);\n\n  function MessageCenter() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  return MessageCenter;\n}(zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nvar messageCenterProto = MessageCenter.prototype;\nmessageCenterProto.on = createRegisterEventWithLowercaseMessageCenter('on');\nmessageCenterProto.off = createRegisterEventWithLowercaseMessageCenter('off'); // ---------------------------------------\n// Internal method names for class ECharts\n// ---------------------------------------\n\nvar prepare;\nvar prepareView;\nvar updateDirectly;\nvar updateMethods;\nvar doConvertPixel;\nvar updateStreamModes;\nvar doDispatchAction;\nvar flushPendingActions;\nvar triggerUpdatedEvent;\nvar bindRenderedEvent;\nvar bindMouseEvent;\nvar render;\nvar renderComponents;\nvar renderSeries;\nvar createExtensionAPI;\nvar enableConnect;\nvar markStatusToUpdate;\nvar applyChangedStates;\n\nvar ECharts =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ECharts, _super);\n\n  function ECharts(dom, // Theme name or themeOption.\n  theme, opts) {\n    var _this = _super.call(this, new _util_ECEventProcessor_js__WEBPACK_IMPORTED_MODULE_26__[\"ECEventProcessor\"]()) || this;\n\n    _this._chartsViews = [];\n    _this._chartsMap = {};\n    _this._componentsViews = [];\n    _this._componentsMap = {}; // Can't dispatch action during rendering procedure\n\n    _this._pendingActions = [];\n    opts = opts || {}; // Get theme by name\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(theme)) {\n      theme = themeStorage[theme];\n    }\n\n    _this._dom = dom;\n    var defaultRenderer = 'canvas';\n    var defaultCoarsePointer = 'auto';\n    var defaultUseDirtyRect = false;\n\n    if (true) {\n      var root =\n      /* eslint-disable-next-line */\n      hasWindow ? window : global;\n      defaultRenderer = root.__ECHARTS__DEFAULT__RENDERER__ || defaultRenderer;\n      defaultCoarsePointer = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieve2\"])(root.__ECHARTS__DEFAULT__COARSE_POINTER, defaultCoarsePointer);\n      var devUseDirtyRect = root.__ECHARTS__DEFAULT__USE_DIRTY_RECT__;\n      defaultUseDirtyRect = devUseDirtyRect == null ? defaultUseDirtyRect : devUseDirtyRect;\n    }\n\n    var zr = _this._zr = zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_1__[\"init\"](dom, {\n      renderer: opts.renderer || defaultRenderer,\n      devicePixelRatio: opts.devicePixelRatio,\n      width: opts.width,\n      height: opts.height,\n      ssr: opts.ssr,\n      useDirtyRect: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieve2\"])(opts.useDirtyRect, defaultUseDirtyRect),\n      useCoarsePointer: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"retrieve2\"])(opts.useCoarsePointer, defaultCoarsePointer),\n      pointerSize: opts.pointerSize\n    });\n    _this._ssr = opts.ssr; // Expect 60 fps.\n\n    _this._throttledZrFlush = Object(_util_throttle_js__WEBPACK_IMPORTED_MODULE_19__[\"throttle\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(zr.flush, zr), 17);\n    theme = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"clone\"])(theme);\n    theme && Object(_preprocessor_backwardCompat_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(theme, true);\n    _this._theme = theme;\n    _this._locale = Object(_locale_js__WEBPACK_IMPORTED_MODULE_32__[\"createLocaleObject\"])(opts.locale || _locale_js__WEBPACK_IMPORTED_MODULE_32__[\"SYSTEM_LANG\"]);\n    _this._coordSysMgr = new _CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]();\n    var api = _this._api = createExtensionAPI(_this); // Sort on demand\n\n    function prioritySortFunc(a, b) {\n      return a.__prio - b.__prio;\n    }\n\n    Object(zrender_lib_core_timsort_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(visualFuncs, prioritySortFunc);\n    Object(zrender_lib_core_timsort_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dataProcessorFuncs, prioritySortFunc);\n    _this._scheduler = new _Scheduler_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"](_this, api, dataProcessorFuncs, visualFuncs);\n    _this._messageCenter = new MessageCenter(); // Init mouse events\n\n    _this._initEvents(); // In case some people write `window.onresize = chart.resize`\n\n\n    _this.resize = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(_this.resize, _this);\n    zr.animation.on('frame', _this._onframe, _this);\n    bindRenderedEvent(zr, _this);\n    bindMouseEvent(zr, _this); // ECharts instance can be used as value.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"setAsPrimitive\"])(_this);\n    return _this;\n  }\n\n  ECharts.prototype._onframe = function () {\n    if (this._disposed) {\n      return;\n    }\n\n    applyChangedStates(this);\n    var scheduler = this._scheduler; // Lazy update\n\n    if (this[PENDING_UPDATE]) {\n      var silent = this[PENDING_UPDATE].silent;\n      this[IN_MAIN_PROCESS_KEY] = true;\n\n      try {\n        prepare(this);\n        updateMethods.update.call(this, null, this[PENDING_UPDATE].updateParams);\n      } catch (e) {\n        this[IN_MAIN_PROCESS_KEY] = false;\n        this[PENDING_UPDATE] = null;\n        throw e;\n      } // At present, in each frame, zrender performs:\n      //   (1) animation step forward.\n      //   (2) trigger('frame') (where this `_onframe` is called)\n      //   (3) zrender flush (render).\n      // If we do nothing here, since we use `setToFinal: true`, the step (3) above\n      // will render the final state of the elements before the real animation started.\n\n\n      this._zr.flush();\n\n      this[IN_MAIN_PROCESS_KEY] = false;\n      this[PENDING_UPDATE] = null;\n      flushPendingActions.call(this, silent);\n      triggerUpdatedEvent.call(this, silent);\n    } // Avoid do both lazy update and progress in one frame.\n    else if (scheduler.unfinished) {\n        // Stream progress.\n        var remainTime = TEST_FRAME_REMAIN_TIME;\n        var ecModel = this._model;\n        var api = this._api;\n        scheduler.unfinished = false;\n\n        do {\n          var startTime = +new Date();\n          scheduler.performSeriesTasks(ecModel); // Currently dataProcessorFuncs do not check threshold.\n\n          scheduler.performDataProcessorTasks(ecModel);\n          updateStreamModes(this, ecModel); // Do not update coordinate system here. Because that coord system update in\n          // each frame is not a good user experience. So we follow the rule that\n          // the extent of the coordinate system is determin in the first frame (the\n          // frame is executed immedietely after task reset.\n          // this._coordSysMgr.update(ecModel, api);\n          // console.log('--- ec frame visual ---', remainTime);\n\n          scheduler.performVisualTasks(ecModel);\n          renderSeries(this, this._model, api, 'remain', {});\n          remainTime -= +new Date() - startTime;\n        } while (remainTime > 0 && scheduler.unfinished); // Call flush explicitly for trigger finished event.\n\n\n        if (!scheduler.unfinished) {\n          this._zr.flush();\n        } // Else, zr flushing be ensue within the same frame,\n        // because zr flushing is after onframe event.\n\n      }\n  };\n\n  ECharts.prototype.getDom = function () {\n    return this._dom;\n  };\n\n  ECharts.prototype.getId = function () {\n    return this.id;\n  };\n\n  ECharts.prototype.getZr = function () {\n    return this._zr;\n  };\n\n  ECharts.prototype.isSSR = function () {\n    return this._ssr;\n  };\n  /* eslint-disable-next-line */\n\n\n  ECharts.prototype.setOption = function (option, notMerge, lazyUpdate) {\n    if (this[IN_MAIN_PROCESS_KEY]) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_29__[\"error\"])('`setOption` should not be called during main process.');\n      }\n\n      return;\n    }\n\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    var silent;\n    var replaceMerge;\n    var transitionOpt;\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(notMerge)) {\n      lazyUpdate = notMerge.lazyUpdate;\n      silent = notMerge.silent;\n      replaceMerge = notMerge.replaceMerge;\n      transitionOpt = notMerge.transition;\n      notMerge = notMerge.notMerge;\n    }\n\n    this[IN_MAIN_PROCESS_KEY] = true;\n\n    if (!this._model || notMerge) {\n      var optionManager = new _model_OptionManager_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"](this._api);\n      var theme = this._theme;\n      var ecModel = this._model = new _model_Global_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n      ecModel.scheduler = this._scheduler;\n      ecModel.ssr = this._ssr;\n      ecModel.init(null, null, null, theme, this._locale, optionManager);\n    }\n\n    this._model.setOption(option, {\n      replaceMerge: replaceMerge\n    }, optionPreprocessorFuncs);\n\n    var updateParams = {\n      seriesTransition: transitionOpt,\n      optionChanged: true\n    };\n\n    if (lazyUpdate) {\n      this[PENDING_UPDATE] = {\n        silent: silent,\n        updateParams: updateParams\n      };\n      this[IN_MAIN_PROCESS_KEY] = false; // `setOption(option, {lazyMode: true})` may be called when zrender has been slept.\n      // It should wake it up to make sure zrender start to render at the next frame.\n\n      this.getZr().wakeUp();\n    } else {\n      try {\n        prepare(this);\n        updateMethods.update.call(this, null, updateParams);\n      } catch (e) {\n        this[PENDING_UPDATE] = null;\n        this[IN_MAIN_PROCESS_KEY] = false;\n        throw e;\n      } // Ensure zr refresh sychronously, and then pixel in canvas can be\n      // fetched after `setOption`.\n\n\n      if (!this._ssr) {\n        // not use flush when using ssr mode.\n        this._zr.flush();\n      }\n\n      this[PENDING_UPDATE] = null;\n      this[IN_MAIN_PROCESS_KEY] = false;\n      flushPendingActions.call(this, silent);\n      triggerUpdatedEvent.call(this, silent);\n    }\n  };\n  /**\n   * @deprecated\n   */\n\n\n  ECharts.prototype.setTheme = function () {\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_29__[\"deprecateLog\"])('ECharts#setTheme() is DEPRECATED in ECharts 3.0');\n  }; // We don't want developers to use getModel directly.\n\n\n  ECharts.prototype.getModel = function () {\n    return this._model;\n  };\n\n  ECharts.prototype.getOption = function () {\n    return this._model && this._model.getOption();\n  };\n\n  ECharts.prototype.getWidth = function () {\n    return this._zr.getWidth();\n  };\n\n  ECharts.prototype.getHeight = function () {\n    return this._zr.getHeight();\n  };\n\n  ECharts.prototype.getDevicePixelRatio = function () {\n    return this._zr.painter.dpr\n    /* eslint-disable-next-line */\n    || hasWindow && window.devicePixelRatio || 1;\n  };\n  /**\n   * Get canvas which has all thing rendered\n   * @deprecated Use renderToCanvas instead.\n   */\n\n\n  ECharts.prototype.getRenderedCanvas = function (opts) {\n    if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_29__[\"deprecateReplaceLog\"])('getRenderedCanvas', 'renderToCanvas');\n    }\n\n    return this.renderToCanvas(opts);\n  };\n\n  ECharts.prototype.renderToCanvas = function (opts) {\n    opts = opts || {};\n    var painter = this._zr.painter;\n\n    if (true) {\n      if (painter.type !== 'canvas') {\n        throw new Error('renderToCanvas can only be used in the canvas renderer.');\n      }\n    }\n\n    return painter.getRenderedCanvas({\n      backgroundColor: opts.backgroundColor || this._model.get('backgroundColor'),\n      pixelRatio: opts.pixelRatio || this.getDevicePixelRatio()\n    });\n  };\n\n  ECharts.prototype.renderToSVGString = function (opts) {\n    opts = opts || {};\n    var painter = this._zr.painter;\n\n    if (true) {\n      if (painter.type !== 'svg') {\n        throw new Error('renderToSVGString can only be used in the svg renderer.');\n      }\n    }\n\n    return painter.renderToString({\n      useViewBox: opts.useViewBox\n    });\n  };\n  /**\n   * Get svg data url\n   */\n\n\n  ECharts.prototype.getSvgDataURL = function () {\n    if (!zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].svgSupported) {\n      return;\n    }\n\n    var zr = this._zr;\n    var list = zr.storage.getDisplayList(); // Stop animations\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(list, function (el) {\n      el.stopAnimation(null, true);\n    });\n    return zr.painter.toDataURL();\n  };\n\n  ECharts.prototype.getDataURL = function (opts) {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    opts = opts || {};\n    var excludeComponents = opts.excludeComponents;\n    var ecModel = this._model;\n    var excludesComponentViews = [];\n    var self = this;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(excludeComponents, function (componentType) {\n      ecModel.eachComponent({\n        mainType: componentType\n      }, function (component) {\n        var view = self._componentsMap[component.__viewId];\n\n        if (!view.group.ignore) {\n          excludesComponentViews.push(view);\n          view.group.ignore = true;\n        }\n      });\n    });\n    var url = this._zr.painter.getType() === 'svg' ? this.getSvgDataURL() : this.renderToCanvas(opts).toDataURL('image/' + (opts && opts.type || 'png'));\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(excludesComponentViews, function (view) {\n      view.group.ignore = false;\n    });\n    return url;\n  };\n\n  ECharts.prototype.getConnectedDataURL = function (opts) {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    var isSvg = opts.type === 'svg';\n    var groupId = this.group;\n    var mathMin = Math.min;\n    var mathMax = Math.max;\n    var MAX_NUMBER = Infinity;\n\n    if (connectedGroups[groupId]) {\n      var left_1 = MAX_NUMBER;\n      var top_1 = MAX_NUMBER;\n      var right_1 = -MAX_NUMBER;\n      var bottom_1 = -MAX_NUMBER;\n      var canvasList_1 = [];\n      var dpr_1 = opts && opts.pixelRatio || this.getDevicePixelRatio();\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(instances, function (chart, id) {\n        if (chart.group === groupId) {\n          var canvas = isSvg ? chart.getZr().painter.getSvgDom().innerHTML : chart.renderToCanvas(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"clone\"])(opts));\n          var boundingRect = chart.getDom().getBoundingClientRect();\n          left_1 = mathMin(boundingRect.left, left_1);\n          top_1 = mathMin(boundingRect.top, top_1);\n          right_1 = mathMax(boundingRect.right, right_1);\n          bottom_1 = mathMax(boundingRect.bottom, bottom_1);\n          canvasList_1.push({\n            dom: canvas,\n            left: boundingRect.left,\n            top: boundingRect.top\n          });\n        }\n      });\n      left_1 *= dpr_1;\n      top_1 *= dpr_1;\n      right_1 *= dpr_1;\n      bottom_1 *= dpr_1;\n      var width = right_1 - left_1;\n      var height = bottom_1 - top_1;\n      var targetCanvas = zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_36__[\"platformApi\"].createCanvas();\n      var zr_1 = zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_1__[\"init\"](targetCanvas, {\n        renderer: isSvg ? 'svg' : 'canvas'\n      });\n      zr_1.resize({\n        width: width,\n        height: height\n      });\n\n      if (isSvg) {\n        var content_1 = '';\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(canvasList_1, function (item) {\n          var x = item.left - left_1;\n          var y = item.top - top_1;\n          content_1 += '<g transform=\"translate(' + x + ',' + y + ')\">' + item.dom + '</g>';\n        });\n        zr_1.painter.getSvgRoot().innerHTML = content_1;\n\n        if (opts.connectedBackgroundColor) {\n          zr_1.painter.setBackgroundColor(opts.connectedBackgroundColor);\n        }\n\n        zr_1.refreshImmediately();\n        return zr_1.painter.toDataURL();\n      } else {\n        // Background between the charts\n        if (opts.connectedBackgroundColor) {\n          zr_1.add(new _util_graphic_js__WEBPACK_IMPORTED_MODULE_15__[\"Rect\"]({\n            shape: {\n              x: 0,\n              y: 0,\n              width: width,\n              height: height\n            },\n            style: {\n              fill: opts.connectedBackgroundColor\n            }\n          }));\n        }\n\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(canvasList_1, function (item) {\n          var img = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_15__[\"Image\"]({\n            style: {\n              x: item.left * dpr_1 - left_1,\n              y: item.top * dpr_1 - top_1,\n              image: item.dom\n            }\n          });\n          zr_1.add(img);\n        });\n        zr_1.refreshImmediately();\n        return targetCanvas.toDataURL('image/' + (opts && opts.type || 'png'));\n      }\n    } else {\n      return this.getDataURL(opts);\n    }\n  };\n\n  ECharts.prototype.convertToPixel = function (finder, value) {\n    return doConvertPixel(this, 'convertToPixel', finder, value);\n  };\n\n  ECharts.prototype.convertFromPixel = function (finder, value) {\n    return doConvertPixel(this, 'convertFromPixel', finder, value);\n  };\n  /**\n   * Is the specified coordinate systems or components contain the given pixel point.\n   * @param {Array|number} value\n   * @return {boolean} result\n   */\n\n\n  ECharts.prototype.containPixel = function (finder, value) {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    var ecModel = this._model;\n    var result;\n    var findResult = _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"parseFinder\"](ecModel, finder);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(findResult, function (models, key) {\n      key.indexOf('Models') >= 0 && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(models, function (model) {\n        var coordSys = model.coordinateSystem;\n\n        if (coordSys && coordSys.containPoint) {\n          result = result || !!coordSys.containPoint(value);\n        } else if (key === 'seriesModels') {\n          var view = this._chartsMap[model.__viewId];\n\n          if (view && view.containPoint) {\n            result = result || view.containPoint(value, model);\n          } else {\n            if (true) {\n              console.warn(key + ': ' + (view ? 'The found component do not support containPoint.' : 'No view mapping to the found component.'));\n            }\n          }\n        } else {\n          if (true) {\n            console.warn(key + ': containPoint is not supported');\n          }\n        }\n      }, this);\n    }, this);\n    return !!result;\n  };\n  /**\n   * Get visual from series or data.\n   * @param finder\n   *        If string, e.g., 'series', means {seriesIndex: 0}.\n   *        If Object, could contain some of these properties below:\n   *        {\n   *            seriesIndex / seriesId / seriesName,\n   *            dataIndex / dataIndexInside\n   *        }\n   *        If dataIndex is not specified, series visual will be fetched,\n   *        but not data item visual.\n   *        If all of seriesIndex, seriesId, seriesName are not specified,\n   *        visual will be fetched from first series.\n   * @param visualType 'color', 'symbol', 'symbolSize'\n   */\n\n\n  ECharts.prototype.getVisual = function (finder, visualType) {\n    var ecModel = this._model;\n    var parsedFinder = _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"parseFinder\"](ecModel, finder, {\n      defaultMainType: 'series'\n    });\n    var seriesModel = parsedFinder.seriesModel;\n\n    if (true) {\n      if (!seriesModel) {\n        console.warn('There is no specified seires model');\n      }\n    }\n\n    var data = seriesModel.getData();\n    var dataIndexInside = parsedFinder.hasOwnProperty('dataIndexInside') ? parsedFinder.dataIndexInside : parsedFinder.hasOwnProperty('dataIndex') ? data.indexOfRawIndex(parsedFinder.dataIndex) : null;\n    return dataIndexInside != null ? Object(_visual_helper_js__WEBPACK_IMPORTED_MODULE_28__[\"getItemVisualFromData\"])(data, dataIndexInside, visualType) : Object(_visual_helper_js__WEBPACK_IMPORTED_MODULE_28__[\"getVisualFromData\"])(data, visualType);\n  };\n  /**\n   * Get view of corresponding component model\n   */\n\n\n  ECharts.prototype.getViewOfComponentModel = function (componentModel) {\n    return this._componentsMap[componentModel.__viewId];\n  };\n  /**\n   * Get view of corresponding series model\n   */\n\n\n  ECharts.prototype.getViewOfSeriesModel = function (seriesModel) {\n    return this._chartsMap[seriesModel.__viewId];\n  };\n\n  ECharts.prototype._initEvents = function () {\n    var _this = this;\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(MOUSE_EVENT_NAMES, function (eveName) {\n      var handler = function (e) {\n        var ecModel = _this.getModel();\n\n        var el = e.target;\n        var params;\n        var isGlobalOut = eveName === 'globalout'; // no e.target when 'globalout'.\n\n        if (isGlobalOut) {\n          params = {};\n        } else {\n          el && Object(_util_event_js__WEBPACK_IMPORTED_MODULE_33__[\"findEventDispatcher\"])(el, function (parent) {\n            var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_16__[\"getECData\"])(parent);\n\n            if (ecData && ecData.dataIndex != null) {\n              var dataModel = ecData.dataModel || ecModel.getSeriesByIndex(ecData.seriesIndex);\n              params = dataModel && dataModel.getDataParams(ecData.dataIndex, ecData.dataType) || {};\n              return true;\n            } // If element has custom eventData of components\n            else if (ecData.eventData) {\n                params = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, ecData.eventData);\n                return true;\n              }\n          }, true);\n        } // Contract: if params prepared in mouse event,\n        // these properties must be specified:\n        // {\n        //    componentType: string (component main type)\n        //    componentIndex: number\n        // }\n        // Otherwise event query can not work.\n\n\n        if (params) {\n          var componentType = params.componentType;\n          var componentIndex = params.componentIndex; // Special handling for historic reason: when trigger by\n          // markLine/markPoint/markArea, the componentType is\n          // 'markLine'/'markPoint'/'markArea', but we should better\n          // enable them to be queried by seriesIndex, since their\n          // option is set in each series.\n\n          if (componentType === 'markLine' || componentType === 'markPoint' || componentType === 'markArea') {\n            componentType = 'series';\n            componentIndex = params.seriesIndex;\n          }\n\n          var model = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);\n          var view = model && _this[model.mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId];\n\n          if (true) {\n            // `event.componentType` and `event[componentTpype + 'Index']` must not\n            // be missed, otherwise there is no way to distinguish source component.\n            // See `dataFormat.getDataParams`.\n            if (!isGlobalOut && !(model && view)) {\n              console.warn('model or view can not be found by params');\n            }\n          }\n\n          params.event = e;\n          params.type = eveName;\n          _this._$eventProcessor.eventInfo = {\n            targetEl: el,\n            packedEvent: params,\n            model: model,\n            view: view\n          };\n\n          _this.trigger(eveName, params);\n        }\n      }; // Consider that some component (like tooltip, brush, ...)\n      // register zr event handler, but user event handler might\n      // do anything, such as call `setOption` or `dispatchAction`,\n      // which probably update any of the content and probably\n      // cause problem if it is called previous other inner handlers.\n\n\n      handler.zrEventfulCallAtLast = true;\n\n      _this._zr.on(eveName, handler, _this);\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(eventActionMap, function (actionType, eventType) {\n      _this._messageCenter.on(eventType, function (event) {\n        this.trigger(eventType, event);\n      }, _this);\n    }); // Extra events\n    // TODO register?\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(['selectchanged'], function (eventType) {\n      _this._messageCenter.on(eventType, function (event) {\n        this.trigger(eventType, event);\n      }, _this);\n    });\n    Object(_legacy_dataSelectAction_js__WEBPACK_IMPORTED_MODULE_30__[\"handleLegacySelectEvents\"])(this._messageCenter, this, this._api);\n  };\n\n  ECharts.prototype.isDisposed = function () {\n    return this._disposed;\n  };\n\n  ECharts.prototype.clear = function () {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    this.setOption({\n      series: []\n    }, true);\n  };\n\n  ECharts.prototype.dispose = function () {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    this._disposed = true;\n    var dom = this.getDom();\n\n    if (dom) {\n      _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"setAttribute\"](this.getDom(), DOM_ATTRIBUTE_KEY, '');\n    }\n\n    var chart = this;\n    var api = chart._api;\n    var ecModel = chart._model;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(chart._componentsViews, function (component) {\n      component.dispose(ecModel, api);\n    });\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(chart._chartsViews, function (chart) {\n      chart.dispose(ecModel, api);\n    }); // Dispose after all views disposed\n\n    chart._zr.dispose(); // Set properties to null.\n    // To reduce the memory cost in case the top code still holds this instance unexpectedly.\n\n\n    chart._dom = chart._model = chart._chartsMap = chart._componentsMap = chart._chartsViews = chart._componentsViews = chart._scheduler = chart._api = chart._zr = chart._throttledZrFlush = chart._theme = chart._coordSysMgr = chart._messageCenter = null;\n    delete instances[chart.id];\n  };\n  /**\n   * Resize the chart\n   */\n\n\n  ECharts.prototype.resize = function (opts) {\n    if (this[IN_MAIN_PROCESS_KEY]) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_29__[\"error\"])('`resize` should not be called during main process.');\n      }\n\n      return;\n    }\n\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    this._zr.resize(opts);\n\n    var ecModel = this._model; // Resize loading effect\n\n    this._loadingFX && this._loadingFX.resize();\n\n    if (!ecModel) {\n      return;\n    }\n\n    var needPrepare = ecModel.resetOption('media');\n    var silent = opts && opts.silent; // There is some real cases that:\n    // chart.setOption(option, { lazyUpdate: true });\n    // chart.resize();\n\n    if (this[PENDING_UPDATE]) {\n      if (silent == null) {\n        silent = this[PENDING_UPDATE].silent;\n      }\n\n      needPrepare = true;\n      this[PENDING_UPDATE] = null;\n    }\n\n    this[IN_MAIN_PROCESS_KEY] = true;\n\n    try {\n      needPrepare && prepare(this);\n      updateMethods.update.call(this, {\n        type: 'resize',\n        animation: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({\n          // Disable animation\n          duration: 0\n        }, opts && opts.animation)\n      });\n    } catch (e) {\n      this[IN_MAIN_PROCESS_KEY] = false;\n      throw e;\n    }\n\n    this[IN_MAIN_PROCESS_KEY] = false;\n    flushPendingActions.call(this, silent);\n    triggerUpdatedEvent.call(this, silent);\n  };\n\n  ECharts.prototype.showLoading = function (name, cfg) {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(name)) {\n      cfg = name;\n      name = '';\n    }\n\n    name = name || 'default';\n    this.hideLoading();\n\n    if (!loadingEffects[name]) {\n      if (true) {\n        console.warn('Loading effects ' + name + ' not exists.');\n      }\n\n      return;\n    }\n\n    var el = loadingEffects[name](this._api, cfg);\n    var zr = this._zr;\n    this._loadingFX = el;\n    zr.add(el);\n  };\n  /**\n   * Hide loading effect\n   */\n\n\n  ECharts.prototype.hideLoading = function () {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    this._loadingFX && this._zr.remove(this._loadingFX);\n    this._loadingFX = null;\n  };\n\n  ECharts.prototype.makeActionFromEvent = function (eventObj) {\n    var payload = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, eventObj);\n    payload.type = eventActionMap[eventObj.type];\n    return payload;\n  };\n  /**\n   * @param opt If pass boolean, means opt.silent\n   * @param opt.silent Default `false`. Whether trigger events.\n   * @param opt.flush Default `undefined`.\n   *        true: Flush immediately, and then pixel in canvas can be fetched\n   *            immediately. Caution: it might affect performance.\n   *        false: Not flush.\n   *        undefined: Auto decide whether perform flush.\n   */\n\n\n  ECharts.prototype.dispatchAction = function (payload, opt) {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(opt)) {\n      opt = {\n        silent: !!opt\n      };\n    }\n\n    if (!actions[payload.type]) {\n      return;\n    } // Avoid dispatch action before setOption. Especially in `connect`.\n\n\n    if (!this._model) {\n      return;\n    } // May dispatchAction in rendering procedure\n\n\n    if (this[IN_MAIN_PROCESS_KEY]) {\n      this._pendingActions.push(payload);\n\n      return;\n    }\n\n    var silent = opt.silent;\n    doDispatchAction.call(this, payload, silent);\n    var flush = opt.flush;\n\n    if (flush) {\n      this._zr.flush();\n    } else if (flush !== false && zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].browser.weChat) {\n      // In WeChat embeded browser, `requestAnimationFrame` and `setInterval`\n      // hang when sliding page (on touch event), which cause that zr does not\n      // refresh util user interaction finished, which is not expected.\n      // But `dispatchAction` may be called too frequently when pan on touch\n      // screen, which impacts performance if do not throttle them.\n      this._throttledZrFlush();\n    }\n\n    flushPendingActions.call(this, silent);\n    triggerUpdatedEvent.call(this, silent);\n  };\n\n  ECharts.prototype.updateLabelLayout = function () {\n    _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('series:layoutlabels', this._model, this._api, {\n      // Not adding series labels.\n      // TODO\n      updatedSeries: []\n    });\n  };\n\n  ECharts.prototype.appendData = function (params) {\n    if (this._disposed) {\n      disposedWarning(this.id);\n      return;\n    }\n\n    var seriesIndex = params.seriesIndex;\n    var ecModel = this.getModel();\n    var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"assert\"])(params.data && seriesModel);\n    }\n\n    seriesModel.appendData(params); // Note: `appendData` does not support that update extent of coordinate\n    // system, util some scenario require that. In the expected usage of\n    // `appendData`, the initial extent of coordinate system should better\n    // be fixed by axis `min`/`max` setting or initial data, otherwise if\n    // the extent changed while `appendData`, the location of the painted\n    // graphic elements have to be changed, which make the usage of\n    // `appendData` meaningless.\n\n    this._scheduler.unfinished = true;\n    this.getZr().wakeUp();\n  }; // A work around for no `internal` modifier in ts yet but\n  // need to strictly hide private methods to JS users.\n\n\n  ECharts.internalField = function () {\n    prepare = function (ecIns) {\n      var scheduler = ecIns._scheduler;\n      scheduler.restorePipelines(ecIns._model);\n      scheduler.prepareStageTasks();\n      prepareView(ecIns, true);\n      prepareView(ecIns, false);\n      scheduler.plan();\n    };\n    /**\n     * Prepare view instances of charts and components\n     */\n\n\n    prepareView = function (ecIns, isComponent) {\n      var ecModel = ecIns._model;\n      var scheduler = ecIns._scheduler;\n      var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;\n      var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;\n      var zr = ecIns._zr;\n      var api = ecIns._api;\n\n      for (var i = 0; i < viewList.length; i++) {\n        viewList[i].__alive = false;\n      }\n\n      isComponent ? ecModel.eachComponent(function (componentType, model) {\n        componentType !== 'series' && doPrepare(model);\n      }) : ecModel.eachSeries(doPrepare);\n\n      function doPrepare(model) {\n        // By defaut view will be reused if possible for the case that `setOption` with \"notMerge\"\n        // mode and need to enable transition animation. (Usually, when they have the same id, or\n        // especially no id but have the same type & name & index. See the `model.id` generation\n        // rule in `makeIdAndName` and `viewId` generation rule here).\n        // But in `replaceMerge` mode, this feature should be able to disabled when it is clear that\n        // the new model has nothing to do with the old model.\n        var requireNewView = model.__requireNewView; // This command should not work twice.\n\n        model.__requireNewView = false; // Consider: id same and type changed.\n\n        var viewId = '_ec_' + model.id + '_' + model.type;\n        var view = !requireNewView && viewMap[viewId];\n\n        if (!view) {\n          var classType = Object(_util_clazz_js__WEBPACK_IMPORTED_MODULE_25__[\"parseClassType\"])(model.type);\n          var Clazz = isComponent ? _view_Component_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"].getClass(classType.main, classType.sub) : // FIXME:TS\n          // (ChartView as ChartViewConstructor).getClass('series', classType.sub)\n          // For backward compat, still support a chart type declared as only subType\n          // like \"liquidfill\", but recommend \"series.liquidfill\"\n          // But need a base class to make a type series.\n          _view_Chart_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"].getClass(classType.sub);\n\n          if (true) {\n            Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"assert\"])(Clazz, classType.sub + ' does not exist.');\n          }\n\n          view = new Clazz();\n          view.init(ecModel, api);\n          viewMap[viewId] = view;\n          viewList.push(view);\n          zr.add(view.group);\n        }\n\n        model.__viewId = view.__id = viewId;\n        view.__alive = true;\n        view.__model = model;\n        view.group.__ecComponentInfo = {\n          mainType: model.mainType,\n          index: model.componentIndex\n        };\n        !isComponent && scheduler.prepareView(view, model, ecModel, api);\n      }\n\n      for (var i = 0; i < viewList.length;) {\n        var view = viewList[i];\n\n        if (!view.__alive) {\n          !isComponent && view.renderTask.dispose();\n          zr.remove(view.group);\n          view.dispose(ecModel, api);\n          viewList.splice(i, 1);\n\n          if (viewMap[view.__id] === view) {\n            delete viewMap[view.__id];\n          }\n\n          view.__id = view.group.__ecComponentInfo = null;\n        } else {\n          i++;\n        }\n      }\n    };\n\n    updateDirectly = function (ecIns, method, payload, mainType, subType) {\n      var ecModel = ecIns._model;\n      ecModel.setUpdatePayload(payload); // broadcast\n\n      if (!mainType) {\n        // FIXME\n        // Chart will not be update directly here, except set dirty.\n        // But there is no such scenario now.\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])([].concat(ecIns._componentsViews).concat(ecIns._chartsViews), callView);\n        return;\n      }\n\n      var query = {};\n      query[mainType + 'Id'] = payload[mainType + 'Id'];\n      query[mainType + 'Index'] = payload[mainType + 'Index'];\n      query[mainType + 'Name'] = payload[mainType + 'Name'];\n      var condition = {\n        mainType: mainType,\n        query: query\n      };\n      subType && (condition.subType = subType); // subType may be '' by parseClassType;\n\n      var excludeSeriesId = payload.excludeSeriesId;\n      var excludeSeriesIdMap;\n\n      if (excludeSeriesId != null) {\n        excludeSeriesIdMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])();\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(_util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"normalizeToArray\"](excludeSeriesId), function (id) {\n          var modelId = _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"convertOptionIdName\"](id, null);\n\n          if (modelId != null) {\n            excludeSeriesIdMap.set(modelId, true);\n          }\n        });\n      } // If dispatchAction before setOption, do nothing.\n\n\n      ecModel && ecModel.eachComponent(condition, function (model) {\n        var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model.id) !== null;\n\n        if (isExcluded) {\n          return;\n        }\n\n        ;\n\n        if (Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"isHighDownPayload\"])(payload)) {\n          if (model instanceof _model_Series_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]) {\n            if (payload.type === _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HIGHLIGHT_ACTION_TYPE\"] && !payload.notBlur && !model.get(['emphasis', 'disabled'])) {\n              Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"blurSeriesFromHighlightPayload\"])(model, payload, ecIns._api);\n            }\n          } else {\n            var _a = Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"findComponentHighDownDispatchers\"])(model.mainType, model.componentIndex, payload.name, ecIns._api),\n                focusSelf = _a.focusSelf,\n                dispatchers = _a.dispatchers;\n\n            if (payload.type === _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HIGHLIGHT_ACTION_TYPE\"] && focusSelf && !payload.notBlur) {\n              Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"blurComponent\"])(model.mainType, model.componentIndex, ecIns._api);\n            } // PENDING:\n            // Whether to put this \"enter emphasis\" code in `ComponentView`,\n            // which will be the same as `ChartView` but might be not necessary\n            // and will be far from this logic.\n\n\n            if (dispatchers) {\n              Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(dispatchers, function (dispatcher) {\n                payload.type === _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HIGHLIGHT_ACTION_TYPE\"] ? Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enterEmphasis\"])(dispatcher) : Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"leaveEmphasis\"])(dispatcher);\n              });\n            }\n          }\n        } else if (Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"isSelectChangePayload\"])(payload)) {\n          // TODO geo\n          if (model instanceof _model_Series_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]) {\n            Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"toggleSelectionFromPayload\"])(model, payload, ecIns._api);\n            Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"updateSeriesElementSelection\"])(model);\n            markStatusToUpdate(ecIns);\n          }\n        }\n      }, ecIns);\n      ecModel && ecModel.eachComponent(condition, function (model) {\n        var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model.id) !== null;\n\n        if (isExcluded) {\n          return;\n        }\n\n        ;\n        callView(ecIns[mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId]);\n      }, ecIns);\n\n      function callView(view) {\n        view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);\n      }\n    };\n\n    updateMethods = {\n      prepareAndUpdate: function (payload) {\n        prepare(this);\n        updateMethods.update.call(this, payload, {\n          // Needs to mark option changed if newOption is given.\n          // It's from MagicType.\n          // TODO If use a separate flag optionChanged in payload?\n          optionChanged: payload.newOption != null\n        });\n      },\n      update: function (payload, updateParams) {\n        var ecModel = this._model;\n        var api = this._api;\n        var zr = this._zr;\n        var coordSysMgr = this._coordSysMgr;\n        var scheduler = this._scheduler; // update before setOption\n\n        if (!ecModel) {\n          return;\n        }\n\n        ecModel.setUpdatePayload(payload);\n        scheduler.restoreData(ecModel, payload);\n        scheduler.performSeriesTasks(ecModel); // TODO\n        // Save total ecModel here for undo/redo (after restoring data and before processing data).\n        // Undo (restoration of total ecModel) can be carried out in 'action' or outside API call.\n        // Create new coordinate system each update\n        // In LineView may save the old coordinate system and use it to get the orignal point\n\n        coordSysMgr.create(ecModel, api);\n        scheduler.performDataProcessorTasks(ecModel, payload); // Current stream render is not supported in data process. So we can update\n        // stream modes after data processing, where the filtered data is used to\n        // deteming whether use progressive rendering.\n\n        updateStreamModes(this, ecModel); // We update stream modes before coordinate system updated, then the modes info\n        // can be fetched when coord sys updating (consider the barGrid extent fix). But\n        // the drawback is the full coord info can not be fetched. Fortunately this full\n        // coord is not requied in stream mode updater currently.\n\n        coordSysMgr.update(ecModel, api);\n        clearColorPalette(ecModel);\n        scheduler.performVisualTasks(ecModel, payload);\n        render(this, ecModel, api, payload, updateParams); // Set background\n\n        var backgroundColor = ecModel.get('backgroundColor') || 'transparent';\n        var darkMode = ecModel.get('darkMode');\n        zr.setBackgroundColor(backgroundColor); // Force set dark mode.\n\n        if (darkMode != null && darkMode !== 'auto') {\n          zr.setDarkMode(darkMode);\n        }\n\n        _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('afterupdate', ecModel, api);\n      },\n      updateTransform: function (payload) {\n        var _this = this;\n\n        var ecModel = this._model;\n        var api = this._api; // update before setOption\n\n        if (!ecModel) {\n          return;\n        }\n\n        ecModel.setUpdatePayload(payload); // ChartView.markUpdateMethod(payload, 'updateTransform');\n\n        var componentDirtyList = [];\n        ecModel.eachComponent(function (componentType, componentModel) {\n          if (componentType === 'series') {\n            return;\n          }\n\n          var componentView = _this.getViewOfComponentModel(componentModel);\n\n          if (componentView && componentView.__alive) {\n            if (componentView.updateTransform) {\n              var result = componentView.updateTransform(componentModel, ecModel, api, payload);\n              result && result.update && componentDirtyList.push(componentView);\n            } else {\n              componentDirtyList.push(componentView);\n            }\n          }\n        });\n        var seriesDirtyMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])();\n        ecModel.eachSeries(function (seriesModel) {\n          var chartView = _this._chartsMap[seriesModel.__viewId];\n\n          if (chartView.updateTransform) {\n            var result = chartView.updateTransform(seriesModel, ecModel, api, payload);\n            result && result.update && seriesDirtyMap.set(seriesModel.uid, 1);\n          } else {\n            seriesDirtyMap.set(seriesModel.uid, 1);\n          }\n        });\n        clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n        // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n\n        this._scheduler.performVisualTasks(ecModel, payload, {\n          setDirty: true,\n          dirtyMap: seriesDirtyMap\n        }); // Currently, not call render of components. Geo render cost a lot.\n        // renderComponents(ecIns, ecModel, api, payload, componentDirtyList);\n\n\n        renderSeries(this, ecModel, api, payload, {}, seriesDirtyMap);\n        _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('afterupdate', ecModel, api);\n      },\n      updateView: function (payload) {\n        var ecModel = this._model; // update before setOption\n\n        if (!ecModel) {\n          return;\n        }\n\n        ecModel.setUpdatePayload(payload);\n        _view_Chart_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"].markUpdateMethod(payload, 'updateView');\n        clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n        this._scheduler.performVisualTasks(ecModel, payload, {\n          setDirty: true\n        });\n\n        render(this, ecModel, this._api, payload, {});\n        _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('afterupdate', ecModel, this._api);\n      },\n      updateVisual: function (payload) {\n        // updateMethods.update.call(this, payload);\n        var _this = this;\n\n        var ecModel = this._model; // update before setOption\n\n        if (!ecModel) {\n          return;\n        }\n\n        ecModel.setUpdatePayload(payload); // clear all visual\n\n        ecModel.eachSeries(function (seriesModel) {\n          seriesModel.getData().clearAllVisual();\n        }); // Perform visual\n\n        _view_Chart_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"].markUpdateMethod(payload, 'updateVisual');\n        clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n        this._scheduler.performVisualTasks(ecModel, payload, {\n          visualType: 'visual',\n          setDirty: true\n        });\n\n        ecModel.eachComponent(function (componentType, componentModel) {\n          if (componentType !== 'series') {\n            var componentView = _this.getViewOfComponentModel(componentModel);\n\n            componentView && componentView.__alive && componentView.updateVisual(componentModel, ecModel, _this._api, payload);\n          }\n        });\n        ecModel.eachSeries(function (seriesModel) {\n          var chartView = _this._chartsMap[seriesModel.__viewId];\n          chartView.updateVisual(seriesModel, ecModel, _this._api, payload);\n        });\n        _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('afterupdate', ecModel, this._api);\n      },\n      updateLayout: function (payload) {\n        updateMethods.update.call(this, payload);\n      }\n    };\n\n    doConvertPixel = function (ecIns, methodName, finder, value) {\n      if (ecIns._disposed) {\n        disposedWarning(ecIns.id);\n        return;\n      }\n\n      var ecModel = ecIns._model;\n\n      var coordSysList = ecIns._coordSysMgr.getCoordinateSystems();\n\n      var result;\n      var parsedFinder = _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"parseFinder\"](ecModel, finder);\n\n      for (var i = 0; i < coordSysList.length; i++) {\n        var coordSys = coordSysList[i];\n\n        if (coordSys[methodName] && (result = coordSys[methodName](ecModel, parsedFinder, value)) != null) {\n          return result;\n        }\n      }\n\n      if (true) {\n        console.warn('No coordinate system that supports ' + methodName + ' found by the given finder.');\n      }\n    };\n\n    updateStreamModes = function (ecIns, ecModel) {\n      var chartsMap = ecIns._chartsMap;\n      var scheduler = ecIns._scheduler;\n      ecModel.eachSeries(function (seriesModel) {\n        scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);\n      });\n    };\n\n    doDispatchAction = function (payload, silent) {\n      var _this = this;\n\n      var ecModel = this.getModel();\n      var payloadType = payload.type;\n      var escapeConnect = payload.escapeConnect;\n      var actionWrap = actions[payloadType];\n      var actionInfo = actionWrap.actionInfo;\n      var cptTypeTmp = (actionInfo.update || 'update').split(':');\n      var updateMethod = cptTypeTmp.pop();\n      var cptType = cptTypeTmp[0] != null && Object(_util_clazz_js__WEBPACK_IMPORTED_MODULE_25__[\"parseClassType\"])(cptTypeTmp[0]);\n      this[IN_MAIN_PROCESS_KEY] = true;\n      var payloads = [payload];\n      var batched = false; // Batch action\n\n      if (payload.batch) {\n        batched = true;\n        payloads = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(payload.batch, function (item) {\n          item = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, item), payload);\n          item.batch = null;\n          return item;\n        });\n      }\n\n      var eventObjBatch = [];\n      var eventObj;\n      var isSelectChange = Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"isSelectChangePayload\"])(payload);\n      var isHighDown = Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"isHighDownPayload\"])(payload); // Only leave blur once if there are multiple batches.\n\n      if (isHighDown) {\n        Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"allLeaveBlur\"])(this._api);\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(payloads, function (batchItem) {\n        // Action can specify the event by return it.\n        eventObj = actionWrap.action(batchItem, _this._model, _this._api); // Emit event outside\n\n        eventObj = eventObj || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, batchItem); // Convert type to eventType\n\n        eventObj.type = actionInfo.event || eventObj.type;\n        eventObjBatch.push(eventObj); // light update does not perform data process, layout and visual.\n\n        if (isHighDown) {\n          var _a = _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"preParseFinder\"](payload),\n              queryOptionMap = _a.queryOptionMap,\n              mainTypeSpecified = _a.mainTypeSpecified;\n\n          var componentMainType = mainTypeSpecified ? queryOptionMap.keys()[0] : 'series';\n          updateDirectly(_this, updateMethod, batchItem, componentMainType);\n          markStatusToUpdate(_this);\n        } else if (isSelectChange) {\n          // At present `dispatchAction({ type: 'select', ... })` is not supported on components.\n          // geo still use 'geoselect'.\n          updateDirectly(_this, updateMethod, batchItem, 'series');\n          markStatusToUpdate(_this);\n        } else if (cptType) {\n          updateDirectly(_this, updateMethod, batchItem, cptType.main, cptType.sub);\n        }\n      });\n\n      if (updateMethod !== 'none' && !isHighDown && !isSelectChange && !cptType) {\n        try {\n          // Still dirty\n          if (this[PENDING_UPDATE]) {\n            prepare(this);\n            updateMethods.update.call(this, payload);\n            this[PENDING_UPDATE] = null;\n          } else {\n            updateMethods[updateMethod].call(this, payload);\n          }\n        } catch (e) {\n          this[IN_MAIN_PROCESS_KEY] = false;\n          throw e;\n        }\n      } // Follow the rule of action batch\n\n\n      if (batched) {\n        eventObj = {\n          type: actionInfo.event || payloadType,\n          escapeConnect: escapeConnect,\n          batch: eventObjBatch\n        };\n      } else {\n        eventObj = eventObjBatch[0];\n      }\n\n      this[IN_MAIN_PROCESS_KEY] = false;\n\n      if (!silent) {\n        var messageCenter = this._messageCenter;\n        messageCenter.trigger(eventObj.type, eventObj); // Extra triggered 'selectchanged' event\n\n        if (isSelectChange) {\n          var newObj = {\n            type: 'selectchanged',\n            escapeConnect: escapeConnect,\n            selected: Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"getAllSelectedIndices\"])(ecModel),\n            isFromClick: payload.isFromClick || false,\n            fromAction: payload.type,\n            fromActionPayload: payload\n          };\n          messageCenter.trigger(newObj.type, newObj);\n        }\n      }\n    };\n\n    flushPendingActions = function (silent) {\n      var pendingActions = this._pendingActions;\n\n      while (pendingActions.length) {\n        var payload = pendingActions.shift();\n        doDispatchAction.call(this, payload, silent);\n      }\n    };\n\n    triggerUpdatedEvent = function (silent) {\n      !silent && this.trigger('updated');\n    };\n    /**\n     * Event `rendered` is triggered when zr\n     * rendered. It is useful for realtime\n     * snapshot (reflect animation).\n     *\n     * Event `finished` is triggered when:\n     * (1) zrender rendering finished.\n     * (2) initial animation finished.\n     * (3) progressive rendering finished.\n     * (4) no pending action.\n     * (5) no delayed setOption needs to be processed.\n     */\n\n\n    bindRenderedEvent = function (zr, ecIns) {\n      zr.on('rendered', function (params) {\n        ecIns.trigger('rendered', params); // The `finished` event should not be triggered repeatly,\n        // so it should only be triggered when rendering indeed happend\n        // in zrender. (Consider the case that dipatchAction is keep\n        // triggering when mouse move).\n\n        if ( // Although zr is dirty if initial animation is not finished\n        // and this checking is called on frame, we also check\n        // animation finished for robustness.\n        zr.animation.isFinished() && !ecIns[PENDING_UPDATE] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length) {\n          ecIns.trigger('finished');\n        }\n      });\n    };\n\n    bindMouseEvent = function (zr, ecIns) {\n      zr.on('mouseover', function (e) {\n        var el = e.target;\n        var dispatcher = Object(_util_event_js__WEBPACK_IMPORTED_MODULE_33__[\"findEventDispatcher\"])(el, _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"isHighDownDispatcher\"]);\n\n        if (dispatcher) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"handleGlobalMouseOverForHighDown\"])(dispatcher, e, ecIns._api);\n          markStatusToUpdate(ecIns);\n        }\n      }).on('mouseout', function (e) {\n        var el = e.target;\n        var dispatcher = Object(_util_event_js__WEBPACK_IMPORTED_MODULE_33__[\"findEventDispatcher\"])(el, _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"isHighDownDispatcher\"]);\n\n        if (dispatcher) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"handleGlobalMouseOutForHighDown\"])(dispatcher, e, ecIns._api);\n          markStatusToUpdate(ecIns);\n        }\n      }).on('click', function (e) {\n        var el = e.target;\n        var dispatcher = Object(_util_event_js__WEBPACK_IMPORTED_MODULE_33__[\"findEventDispatcher\"])(el, function (target) {\n          return Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_16__[\"getECData\"])(target).dataIndex != null;\n        }, true);\n\n        if (dispatcher) {\n          var actionType = dispatcher.selected ? 'unselect' : 'select';\n          var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_16__[\"getECData\"])(dispatcher);\n\n          ecIns._api.dispatchAction({\n            type: actionType,\n            dataType: ecData.dataType,\n            dataIndexInside: ecData.dataIndex,\n            seriesIndex: ecData.seriesIndex,\n            isFromClick: true\n          });\n        }\n      });\n    };\n\n    function clearColorPalette(ecModel) {\n      ecModel.clearColorPalette();\n      ecModel.eachSeries(function (seriesModel) {\n        seriesModel.clearColorPalette();\n      });\n    }\n\n    ; // Allocate zlevels for series and components\n\n    function allocateZlevels(ecModel) {\n      ;\n      var componentZLevels = [];\n      var seriesZLevels = [];\n      var hasSeperateZLevel = false;\n      ecModel.eachComponent(function (componentType, componentModel) {\n        var zlevel = componentModel.get('zlevel') || 0;\n        var z = componentModel.get('z') || 0;\n        var zlevelKey = componentModel.getZLevelKey();\n        hasSeperateZLevel = hasSeperateZLevel || !!zlevelKey;\n        (componentType === 'series' ? seriesZLevels : componentZLevels).push({\n          zlevel: zlevel,\n          z: z,\n          idx: componentModel.componentIndex,\n          type: componentType,\n          key: zlevelKey\n        });\n      });\n\n      if (hasSeperateZLevel) {\n        // Series after component\n        var zLevels = componentZLevels.concat(seriesZLevels);\n        var lastSeriesZLevel_1;\n        var lastSeriesKey_1;\n        Object(zrender_lib_core_timsort_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(zLevels, function (a, b) {\n          if (a.zlevel === b.zlevel) {\n            return a.z - b.z;\n          }\n\n          return a.zlevel - b.zlevel;\n        });\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(zLevels, function (item) {\n          var componentModel = ecModel.getComponent(item.type, item.idx);\n          var zlevel = item.zlevel;\n          var key = item.key;\n\n          if (lastSeriesZLevel_1 != null) {\n            zlevel = Math.max(lastSeriesZLevel_1, zlevel);\n          }\n\n          if (key) {\n            if (zlevel === lastSeriesZLevel_1 && key !== lastSeriesKey_1) {\n              zlevel++;\n            }\n\n            lastSeriesKey_1 = key;\n          } else if (lastSeriesKey_1) {\n            if (zlevel === lastSeriesZLevel_1) {\n              zlevel++;\n            }\n\n            lastSeriesKey_1 = '';\n          }\n\n          lastSeriesZLevel_1 = zlevel;\n          componentModel.setZLevel(zlevel);\n        });\n      }\n    }\n\n    render = function (ecIns, ecModel, api, payload, updateParams) {\n      allocateZlevels(ecModel);\n      renderComponents(ecIns, ecModel, api, payload, updateParams);\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(ecIns._chartsViews, function (chart) {\n        chart.__alive = false;\n      });\n      renderSeries(ecIns, ecModel, api, payload, updateParams); // Remove groups of unrendered charts\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(ecIns._chartsViews, function (chart) {\n        if (!chart.__alive) {\n          chart.remove(ecModel, api);\n        }\n      });\n    };\n\n    renderComponents = function (ecIns, ecModel, api, payload, updateParams, dirtyList) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(dirtyList || ecIns._componentsViews, function (componentView) {\n        var componentModel = componentView.__model;\n        clearStates(componentModel, componentView);\n        componentView.render(componentModel, ecModel, api, payload);\n        updateZ(componentModel, componentView);\n        updateStates(componentModel, componentView);\n      });\n    };\n    /**\n     * Render each chart and component\n     */\n\n\n    renderSeries = function (ecIns, ecModel, api, payload, updateParams, dirtyMap) {\n      // Render all charts\n      var scheduler = ecIns._scheduler;\n      updateParams = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])(updateParams || {}, {\n        updatedSeries: ecModel.getSeries()\n      }); // TODO progressive?\n\n      _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('series:beforeupdate', ecModel, api, updateParams);\n      var unfinished = false;\n      ecModel.eachSeries(function (seriesModel) {\n        var chartView = ecIns._chartsMap[seriesModel.__viewId];\n        chartView.__alive = true;\n        var renderTask = chartView.renderTask;\n        scheduler.updatePayload(renderTask, payload); // TODO states on marker.\n\n        clearStates(seriesModel, chartView);\n\n        if (dirtyMap && dirtyMap.get(seriesModel.uid)) {\n          renderTask.dirty();\n        }\n\n        if (renderTask.perform(scheduler.getPerformArgs(renderTask))) {\n          unfinished = true;\n        }\n\n        chartView.group.silent = !!seriesModel.get('silent'); // Should not call markRedraw on group, because it will disable zrender\n        // increamental render (alway render from the __startIndex each frame)\n        // chartView.group.markRedraw();\n\n        updateBlend(seriesModel, chartView);\n        Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"updateSeriesElementSelection\"])(seriesModel);\n      });\n      scheduler.unfinished = unfinished || scheduler.unfinished;\n      _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('series:layoutlabels', ecModel, api, updateParams); // transition after label is layouted.\n\n      _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('series:transition', ecModel, api, updateParams);\n      ecModel.eachSeries(function (seriesModel) {\n        var chartView = ecIns._chartsMap[seriesModel.__viewId]; // Update Z after labels updated. Before applying states.\n\n        updateZ(seriesModel, chartView); // NOTE: Update states after label is updated.\n        // label should be in normal status when layouting.\n\n        updateStates(seriesModel, chartView);\n      }); // If use hover layer\n\n      updateHoverLayerStatus(ecIns, ecModel);\n      _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('series:afterupdate', ecModel, api, updateParams);\n    };\n\n    markStatusToUpdate = function (ecIns) {\n      ecIns[STATUS_NEEDS_UPDATE_KEY] = true; // Wake up zrender if it's sleep. Let it update states in the next frame.\n\n      ecIns.getZr().wakeUp();\n    };\n\n    applyChangedStates = function (ecIns) {\n      if (!ecIns[STATUS_NEEDS_UPDATE_KEY]) {\n        return;\n      }\n\n      ecIns.getZr().storage.traverse(function (el) {\n        // Not applied on removed elements, it may still in fading.\n        if (_util_graphic_js__WEBPACK_IMPORTED_MODULE_15__[\"isElementRemoved\"](el)) {\n          return;\n        }\n\n        applyElementStates(el);\n      });\n      ecIns[STATUS_NEEDS_UPDATE_KEY] = false;\n    };\n\n    function applyElementStates(el) {\n      var newStates = [];\n      var oldStates = el.currentStates; // Keep other states.\n\n      for (var i = 0; i < oldStates.length; i++) {\n        var stateName = oldStates[i];\n\n        if (!(stateName === 'emphasis' || stateName === 'blur' || stateName === 'select')) {\n          newStates.push(stateName);\n        }\n      } // Only use states when it's exists.\n\n\n      if (el.selected && el.states.select) {\n        newStates.push('select');\n      }\n\n      if (el.hoverState === _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HOVER_STATE_EMPHASIS\"] && el.states.emphasis) {\n        newStates.push('emphasis');\n      } else if (el.hoverState === _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HOVER_STATE_BLUR\"] && el.states.blur) {\n        newStates.push('blur');\n      }\n\n      el.useStates(newStates);\n    }\n\n    function updateHoverLayerStatus(ecIns, ecModel) {\n      var zr = ecIns._zr;\n      var storage = zr.storage;\n      var elCount = 0;\n      storage.traverse(function (el) {\n        if (!el.isGroup) {\n          elCount++;\n        }\n      });\n\n      if (elCount > ecModel.get('hoverLayerThreshold') && !zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].node && !zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].worker) {\n        ecModel.eachSeries(function (seriesModel) {\n          if (seriesModel.preventUsingHoverLayer) {\n            return;\n          }\n\n          var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n          if (chartView.__alive) {\n            chartView.eachRendered(function (el) {\n              if (el.states.emphasis) {\n                el.states.emphasis.hoverLayer = true;\n              }\n            });\n          }\n        });\n      }\n    }\n\n    ;\n    /**\n     * Update chart and blend.\n     */\n\n    function updateBlend(seriesModel, chartView) {\n      var blendMode = seriesModel.get('blendMode') || null;\n      chartView.eachRendered(function (el) {\n        // FIXME marker and other components\n        if (!el.isGroup) {\n          // DONT mark the element dirty. In case element is incremental and don't wan't to rerender.\n          el.style.blend = blendMode;\n        }\n      });\n    }\n\n    ;\n\n    function updateZ(model, view) {\n      if (model.preventAutoZ) {\n        return;\n      }\n\n      var z = model.get('z') || 0;\n      var zlevel = model.get('zlevel') || 0; // Set z and zlevel\n\n      view.eachRendered(function (el) {\n        doUpdateZ(el, z, zlevel, -Infinity); // Don't traverse the children because it has been traversed in _updateZ.\n\n        return true;\n      });\n    }\n\n    ;\n\n    function doUpdateZ(el, z, zlevel, maxZ2) {\n      // Group may also have textContent\n      var label = el.getTextContent();\n      var labelLine = el.getTextGuideLine();\n      var isGroup = el.isGroup;\n\n      if (isGroup) {\n        // set z & zlevel of children elements of Group\n        var children = el.childrenRef();\n\n        for (var i = 0; i < children.length; i++) {\n          maxZ2 = Math.max(doUpdateZ(children[i], z, zlevel, maxZ2), maxZ2);\n        }\n      } else {\n        // not Group\n        el.z = z;\n        el.zlevel = zlevel;\n        maxZ2 = Math.max(el.z2, maxZ2);\n      } // always set z and zlevel if label/labelLine exists\n\n\n      if (label) {\n        label.z = z;\n        label.zlevel = zlevel; // lift z2 of text content\n        // TODO if el.emphasis.z2 is spcefied, what about textContent.\n\n        isFinite(maxZ2) && (label.z2 = maxZ2 + 2);\n      }\n\n      if (labelLine) {\n        var textGuideLineConfig = el.textGuideLineConfig;\n        labelLine.z = z;\n        labelLine.zlevel = zlevel;\n        isFinite(maxZ2) && (labelLine.z2 = maxZ2 + (textGuideLineConfig && textGuideLineConfig.showAbove ? 1 : -1));\n      }\n\n      return maxZ2;\n    } // Clear states without animation.\n    // TODO States on component.\n\n\n    function clearStates(model, view) {\n      view.eachRendered(function (el) {\n        // Not applied on removed elements, it may still in fading.\n        if (_util_graphic_js__WEBPACK_IMPORTED_MODULE_15__[\"isElementRemoved\"](el)) {\n          return;\n        }\n\n        var textContent = el.getTextContent();\n        var textGuide = el.getTextGuideLine();\n\n        if (el.stateTransition) {\n          el.stateTransition = null;\n        }\n\n        if (textContent && textContent.stateTransition) {\n          textContent.stateTransition = null;\n        }\n\n        if (textGuide && textGuide.stateTransition) {\n          textGuide.stateTransition = null;\n        } // TODO If el is incremental.\n\n\n        if (el.hasState()) {\n          el.prevStates = el.currentStates;\n          el.clearStates();\n        } else if (el.prevStates) {\n          el.prevStates = null;\n        }\n      });\n    }\n\n    function updateStates(model, view) {\n      var stateAnimationModel = model.getModel('stateAnimation');\n      var enableAnimation = model.isAnimationEnabled();\n      var duration = stateAnimationModel.get('duration');\n      var stateTransition = duration > 0 ? {\n        duration: duration,\n        delay: stateAnimationModel.get('delay'),\n        easing: stateAnimationModel.get('easing') // additive: stateAnimationModel.get('additive')\n\n      } : null;\n      view.eachRendered(function (el) {\n        if (el.states && el.states.emphasis) {\n          // Not applied on removed elements, it may still in fading.\n          if (_util_graphic_js__WEBPACK_IMPORTED_MODULE_15__[\"isElementRemoved\"](el)) {\n            return;\n          }\n\n          if (el instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_15__[\"Path\"]) {\n            Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"savePathStates\"])(el);\n          } // Only updated on changed element. In case element is incremental and don't wan't to rerender.\n          // TODO, a more proper way?\n\n\n          if (el.__dirty) {\n            var prevStates = el.prevStates; // Restore states without animation\n\n            if (prevStates) {\n              el.useStates(prevStates);\n            }\n          } // Update state transition and enable animation again.\n\n\n          if (enableAnimation) {\n            el.stateTransition = stateTransition;\n            var textContent = el.getTextContent();\n            var textGuide = el.getTextGuideLine(); // TODO Is it necessary to animate label?\n\n            if (textContent) {\n              textContent.stateTransition = stateTransition;\n            }\n\n            if (textGuide) {\n              textGuide.stateTransition = stateTransition;\n            }\n          } // The use higlighted and selected flag to toggle states.\n\n\n          if (el.__dirty) {\n            applyElementStates(el);\n          }\n        }\n      });\n    }\n\n    ;\n\n    createExtensionAPI = function (ecIns) {\n      return new (\n      /** @class */\n      function (_super) {\n        Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(class_1, _super);\n\n        function class_1() {\n          return _super !== null && _super.apply(this, arguments) || this;\n        }\n\n        class_1.prototype.getCoordinateSystems = function () {\n          return ecIns._coordSysMgr.getCoordinateSystems();\n        };\n\n        class_1.prototype.getComponentByElement = function (el) {\n          while (el) {\n            var modelInfo = el.__ecComponentInfo;\n\n            if (modelInfo != null) {\n              return ecIns._model.getComponent(modelInfo.mainType, modelInfo.index);\n            }\n\n            el = el.parent;\n          }\n        };\n\n        class_1.prototype.enterEmphasis = function (el, highlightDigit) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enterEmphasis\"])(el, highlightDigit);\n          markStatusToUpdate(ecIns);\n        };\n\n        class_1.prototype.leaveEmphasis = function (el, highlightDigit) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"leaveEmphasis\"])(el, highlightDigit);\n          markStatusToUpdate(ecIns);\n        };\n\n        class_1.prototype.enterBlur = function (el) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enterBlur\"])(el);\n          markStatusToUpdate(ecIns);\n        };\n\n        class_1.prototype.leaveBlur = function (el) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"leaveBlur\"])(el);\n          markStatusToUpdate(ecIns);\n        };\n\n        class_1.prototype.enterSelect = function (el) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"enterSelect\"])(el);\n          markStatusToUpdate(ecIns);\n        };\n\n        class_1.prototype.leaveSelect = function (el) {\n          Object(_util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"leaveSelect\"])(el);\n          markStatusToUpdate(ecIns);\n        };\n\n        class_1.prototype.getModel = function () {\n          return ecIns.getModel();\n        };\n\n        class_1.prototype.getViewOfComponentModel = function (componentModel) {\n          return ecIns.getViewOfComponentModel(componentModel);\n        };\n\n        class_1.prototype.getViewOfSeriesModel = function (seriesModel) {\n          return ecIns.getViewOfSeriesModel(seriesModel);\n        };\n\n        return class_1;\n      }(_ExtensionAPI_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]))(ecIns);\n    };\n\n    enableConnect = function (chart) {\n      function updateConnectedChartsStatus(charts, status) {\n        for (var i = 0; i < charts.length; i++) {\n          var otherChart = charts[i];\n          otherChart[CONNECT_STATUS_KEY] = status;\n        }\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(eventActionMap, function (actionType, eventType) {\n        chart._messageCenter.on(eventType, function (event) {\n          if (connectedGroups[chart.group] && chart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_PENDING) {\n            if (event && event.escapeConnect) {\n              return;\n            }\n\n            var action_1 = chart.makeActionFromEvent(event);\n            var otherCharts_1 = [];\n            Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(instances, function (otherChart) {\n              if (otherChart !== chart && otherChart.group === chart.group) {\n                otherCharts_1.push(otherChart);\n              }\n            });\n            updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_PENDING);\n            Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(otherCharts_1, function (otherChart) {\n              if (otherChart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_UPDATING) {\n                otherChart.dispatchAction(action_1);\n              }\n            });\n            updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_UPDATED);\n          }\n        });\n      });\n    };\n  }();\n\n  return ECharts;\n}(zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nvar echartsProto = ECharts.prototype;\nechartsProto.on = createRegisterEventWithLowercaseECharts('on');\nechartsProto.off = createRegisterEventWithLowercaseECharts('off');\n/**\n * @deprecated\n */\n// @ts-ignore\n\nechartsProto.one = function (eventName, cb, ctx) {\n  var self = this;\n  Object(_util_log_js__WEBPACK_IMPORTED_MODULE_29__[\"deprecateLog\"])('ECharts#one is deprecated.');\n\n  function wrapped() {\n    var args2 = [];\n\n    for (var _i = 0; _i < arguments.length; _i++) {\n      args2[_i] = arguments[_i];\n    }\n\n    cb && cb.apply && cb.apply(this, args2); // @ts-ignore\n\n    self.off(eventName, wrapped);\n  }\n\n  ; // @ts-ignore\n\n  this.on.call(this, eventName, wrapped, ctx);\n};\n\nvar MOUSE_EVENT_NAMES = ['click', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'globalout', 'contextmenu'];\n\nfunction disposedWarning(id) {\n  if (true) {\n    console.warn('Instance ' + id + ' has been disposed');\n  }\n}\n\nvar actions = {};\n/**\n * Map eventType to actionType\n */\n\nvar eventActionMap = {};\nvar dataProcessorFuncs = [];\nvar optionPreprocessorFuncs = [];\nvar visualFuncs = [];\nvar themeStorage = {};\nvar loadingEffects = {};\nvar instances = {};\nvar connectedGroups = {};\nvar idBase = +new Date() - 0;\nvar groupIdBase = +new Date() - 0;\nvar DOM_ATTRIBUTE_KEY = '_echarts_instance_';\n/**\n * @param opts.devicePixelRatio Use window.devicePixelRatio by default\n * @param opts.renderer Can choose 'canvas' or 'svg' to render the chart.\n * @param opts.width Use clientWidth of the input `dom` by default.\n *        Can be 'auto' (the same as null/undefined)\n * @param opts.height Use clientHeight of the input `dom` by default.\n *        Can be 'auto' (the same as null/undefined)\n * @param opts.locale Specify the locale.\n * @param opts.useDirtyRect Enable dirty rectangle rendering or not.\n */\n\nfunction init(dom, theme, opts) {\n  var isClient = !(opts && opts.ssr);\n\n  if (isClient) {\n    if (true) {\n      if (!dom) {\n        throw new Error('Initialize failed: invalid dom.');\n      }\n    }\n\n    var existInstance = getInstanceByDom(dom);\n\n    if (existInstance) {\n      if (true) {\n        console.warn('There is a chart instance already initialized on the dom.');\n      }\n\n      return existInstance;\n    }\n\n    if (true) {\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isDom\"])(dom) && dom.nodeName.toUpperCase() !== 'CANVAS' && (!dom.clientWidth && (!opts || opts.width == null) || !dom.clientHeight && (!opts || opts.height == null))) {\n        console.warn('Can\\'t get DOM width or height. Please check ' + 'dom.clientWidth and dom.clientHeight. They should not be 0.' + 'For example, you may need to call this in the callback ' + 'of window.onload.');\n      }\n    }\n  }\n\n  var chart = new ECharts(dom, theme, opts);\n  chart.id = 'ec_' + idBase++;\n  instances[chart.id] = chart;\n  isClient && _util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"setAttribute\"](dom, DOM_ATTRIBUTE_KEY, chart.id);\n  enableConnect(chart);\n  _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trigger('afterinit', chart);\n  return chart;\n}\n/**\n * @usage\n * (A)\n * ```js\n * let chart1 = echarts.init(dom1);\n * let chart2 = echarts.init(dom2);\n * chart1.group = 'xxx';\n * chart2.group = 'xxx';\n * echarts.connect('xxx');\n * ```\n * (B)\n * ```js\n * let chart1 = echarts.init(dom1);\n * let chart2 = echarts.init(dom2);\n * echarts.connect('xxx', [chart1, chart2]);\n * ```\n */\n\nfunction connect(groupId) {\n  // Is array of charts\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"])(groupId)) {\n    var charts = groupId;\n    groupId = null; // If any chart has group\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(charts, function (chart) {\n      if (chart.group != null) {\n        groupId = chart.group;\n      }\n    });\n    groupId = groupId || 'g_' + groupIdBase++;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(charts, function (chart) {\n      chart.group = groupId;\n    });\n  }\n\n  connectedGroups[groupId] = true;\n  return groupId;\n}\n/**\n * @deprecated\n */\n\nfunction disConnect(groupId) {\n  connectedGroups[groupId] = false;\n}\n/**\n * Alias and backword compat\n */\n\nvar disconnect = disConnect;\n/**\n * Dispose a chart instance\n */\n\nfunction dispose(chart) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(chart)) {\n    chart = instances[chart];\n  } else if (!(chart instanceof ECharts)) {\n    // Try to treat as dom\n    chart = getInstanceByDom(chart);\n  }\n\n  if (chart instanceof ECharts && !chart.isDisposed()) {\n    chart.dispose();\n  }\n}\nfunction getInstanceByDom(dom) {\n  return instances[_util_model_js__WEBPACK_IMPORTED_MODULE_18__[\"getAttribute\"](dom, DOM_ATTRIBUTE_KEY)];\n}\nfunction getInstanceById(key) {\n  return instances[key];\n}\n/**\n * Register theme\n */\n\nfunction registerTheme(name, theme) {\n  themeStorage[name] = theme;\n}\n/**\n * Register option preprocessor\n */\n\nfunction registerPreprocessor(preprocessorFunc) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"indexOf\"])(optionPreprocessorFuncs, preprocessorFunc) < 0) {\n    optionPreprocessorFuncs.push(preprocessorFunc);\n  }\n}\nfunction registerProcessor(priority, processor) {\n  normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_DEFAULT);\n}\n/**\n * Register postIniter\n * @param {Function} postInitFunc\n */\n\nfunction registerPostInit(postInitFunc) {\n  registerUpdateLifecycle('afterinit', postInitFunc);\n}\n/**\n * Register postUpdater\n * @param {Function} postUpdateFunc\n */\n\nfunction registerPostUpdate(postUpdateFunc) {\n  registerUpdateLifecycle('afterupdate', postUpdateFunc);\n}\nfunction registerUpdateLifecycle(name, cb) {\n  _lifecycle_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].on(name, cb);\n}\nfunction registerAction(actionInfo, eventName, action) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"])(eventName)) {\n    action = eventName;\n    eventName = '';\n  }\n\n  var actionType = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(actionInfo) ? actionInfo.type : [actionInfo, actionInfo = {\n    event: eventName\n  }][0]; // Event name is all lowercase\n\n  actionInfo.event = (actionInfo.event || actionType).toLowerCase();\n  eventName = actionInfo.event;\n\n  if (eventActionMap[eventName]) {\n    // Already registered.\n    return;\n  } // Validate action type and event name.\n\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"assert\"])(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));\n\n  if (!actions[actionType]) {\n    actions[actionType] = {\n      action: action,\n      actionInfo: actionInfo\n    };\n  }\n\n  eventActionMap[eventName] = actionType;\n}\nfunction registerCoordinateSystem(type, coordSysCreator) {\n  _CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].register(type, coordSysCreator);\n}\n/**\n * Get dimensions of specified coordinate system.\n * @param {string} type\n * @return {Array.<string|Object>}\n */\n\nfunction getCoordinateSystemDimensions(type) {\n  var coordSysCreator = _CoordinateSystem_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].get(type);\n\n  if (coordSysCreator) {\n    return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();\n  }\n}\n\n\nfunction registerLayout(priority, layoutTask) {\n  normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, 'layout');\n}\n\nfunction registerVisual(priority, visualTask) {\n  normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, 'visual');\n}\n\n\nvar registeredTasks = [];\n\nfunction normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"])(priority) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(priority)) {\n    fn = priority;\n    priority = defaultPriority;\n  }\n\n  if (true) {\n    if (isNaN(priority) || priority == null) {\n      throw new Error('Illegal priority');\n    } // Check duplicate\n\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(targetList, function (wrap) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"assert\"])(wrap.__raw !== fn);\n    });\n  } // Already registered\n\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"indexOf\"])(registeredTasks, fn) >= 0) {\n    return;\n  }\n\n  registeredTasks.push(fn);\n  var stageHandler = _Scheduler_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"].wrapStageHandler(fn, visualType);\n  stageHandler.__prio = priority;\n  stageHandler.__raw = fn;\n  targetList.push(stageHandler);\n}\n\nfunction registerLoading(name, loadingFx) {\n  loadingEffects[name] = loadingFx;\n}\n/**\n * ZRender need a canvas context to do measureText.\n * But in node environment canvas may be created by node-canvas.\n * So we need to specify how to create a canvas instead of using document.createElement('canvas')\n *\n *\n * @deprecated use setPlatformAPI({ createCanvas }) instead.\n *\n * @example\n *     let Canvas = require('canvas');\n *     let echarts = require('echarts');\n *     echarts.setCanvasCreator(function () {\n *         // Small size is enough.\n *         return new Canvas(32, 32);\n *     });\n */\n\nfunction setCanvasCreator(creator) {\n  if (true) {\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_29__[\"deprecateLog\"])('setCanvasCreator is deprecated. Use setPlatformAPI({ createCanvas }) instead.');\n  }\n\n  Object(zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_36__[\"setPlatformAPI\"])({\n    createCanvas: creator\n  });\n}\n/**\n * The parameters and usage: see `geoSourceManager.registerMap`.\n * Compatible with previous `echarts.registerMap`.\n */\n\nfunction registerMap(mapName, geoJson, specialAreas) {\n  var registerMap = Object(_impl_js__WEBPACK_IMPORTED_MODULE_37__[\"getImpl\"])('registerMap');\n  registerMap && registerMap(mapName, geoJson, specialAreas);\n}\nfunction getMap(mapName) {\n  var getMap = Object(_impl_js__WEBPACK_IMPORTED_MODULE_37__[\"getImpl\"])('getMap');\n  return getMap && getMap(mapName);\n}\nvar registerTransform = _data_helper_transform_js__WEBPACK_IMPORTED_MODULE_31__[\"registerExternalTransform\"];\n/**\n * Globa dispatchAction to a specified chart instance.\n */\n// export function dispatchAction(payload: { chartId: string } & Payload, opt?: Parameters<ECharts['dispatchAction']>[1]) {\n//     if (!payload || !payload.chartId) {\n//         // Must have chartId to find chart\n//         return;\n//     }\n//     const chart = instances[payload.chartId];\n//     if (chart) {\n//         chart.dispatchAction(payload, opt);\n//     }\n// }\n// Buitlin global visual\n\nregisterVisual(PRIORITY_VISUAL_GLOBAL, _visual_style_js__WEBPACK_IMPORTED_MODULE_20__[\"seriesStyleTask\"]);\nregisterVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, _visual_style_js__WEBPACK_IMPORTED_MODULE_20__[\"dataStyleTask\"]);\nregisterVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, _visual_style_js__WEBPACK_IMPORTED_MODULE_20__[\"dataColorPaletteTask\"]);\nregisterVisual(PRIORITY_VISUAL_GLOBAL, _visual_symbol_js__WEBPACK_IMPORTED_MODULE_27__[\"seriesSymbolTask\"]);\nregisterVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, _visual_symbol_js__WEBPACK_IMPORTED_MODULE_27__[\"dataSymbolTask\"]);\nregisterVisual(PRIORITY_VISUAL_DECAL, _visual_decal_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]);\nregisterPreprocessor(_preprocessor_backwardCompat_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\nregisterProcessor(PRIORITY_PROCESSOR_DATASTACK, _processor_dataStack_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\nregisterLoading('default', _loading_default_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]); // Default actions\n\nregisterAction({\n  type: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HIGHLIGHT_ACTION_TYPE\"],\n  event: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HIGHLIGHT_ACTION_TYPE\"],\n  update: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"HIGHLIGHT_ACTION_TYPE\"]\n}, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"]);\nregisterAction({\n  type: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"DOWNPLAY_ACTION_TYPE\"],\n  event: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"DOWNPLAY_ACTION_TYPE\"],\n  update: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"DOWNPLAY_ACTION_TYPE\"]\n}, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"]);\nregisterAction({\n  type: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"SELECT_ACTION_TYPE\"],\n  event: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"SELECT_ACTION_TYPE\"],\n  update: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"SELECT_ACTION_TYPE\"]\n}, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"]);\nregisterAction({\n  type: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"UNSELECT_ACTION_TYPE\"],\n  event: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"UNSELECT_ACTION_TYPE\"],\n  update: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"UNSELECT_ACTION_TYPE\"]\n}, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"]);\nregisterAction({\n  type: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"TOGGLE_SELECT_ACTION_TYPE\"],\n  event: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"TOGGLE_SELECT_ACTION_TYPE\"],\n  update: _util_states_js__WEBPACK_IMPORTED_MODULE_17__[\"TOGGLE_SELECT_ACTION_TYPE\"]\n}, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"]); // Default theme\n\nregisterTheme('light', _theme_light_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]);\nregisterTheme('dark', _theme_dark_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]); // For backward compatibility, where the namespace `dataTool` will\n// be mounted on `echarts` is the extension `dataTool` is imported.\n\nvar dataTool = {};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/echarts.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/impl.js":
/*!***********************************************!*\
  !*** ./node_modules/echarts/lib/core/impl.js ***!
  \***********************************************/
/*! exports provided: registerImpl, getImpl */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerImpl\", function() { return registerImpl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getImpl\", function() { return getImpl; });\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // Implementation of exported APIs. For example registerMap, getMap.\n// The implentations will be registered when installing the component.\n// Avoid these code being bundled to the core module.\n\nvar implsStore = {}; // TODO Type\n\nfunction registerImpl(name, impl) {\n  if (true) {\n    if (implsStore[name]) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_0__[\"error\"])(\"Already has an implementation of \" + name + \".\");\n    }\n  }\n\n  implsStore[name] = impl;\n}\nfunction getImpl(name) {\n  if (true) {\n    if (!implsStore[name]) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_0__[\"error\"])(\"Implementation of \" + name + \" doesn't exists.\");\n    }\n  }\n\n  return implsStore[name];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/impl.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/lifecycle.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/core/lifecycle.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n;\nvar lifecycle = new zrender_lib_core_Eventful_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n/* harmony default export */ __webpack_exports__[\"default\"] = (lifecycle);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/lifecycle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/locale.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/core/locale.js ***!
  \*************************************************/
/*! exports provided: SYSTEM_LANG, registerLocale, createLocaleObject, getLocaleModel, getDefaultLocaleModel */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SYSTEM_LANG\", function() { return SYSTEM_LANG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerLocale\", function() { return registerLocale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createLocaleObject\", function() { return createLocaleObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLocaleModel\", function() { return getLocaleModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultLocaleModel\", function() { return getDefaultLocaleModel; });\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _i18n_langEN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../i18n/langEN.js */ \"./node_modules/echarts/lib/i18n/langEN.js\");\n/* harmony import */ var _i18n_langZH_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../i18n/langZH.js */ \"./node_modules/echarts/lib/i18n/langZH.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // default import ZH and EN lang\n\n\n\n\nvar LOCALE_ZH = 'ZH';\nvar LOCALE_EN = 'EN';\nvar DEFAULT_LOCALE = LOCALE_EN;\nvar localeStorage = {};\nvar localeModels = {};\nvar SYSTEM_LANG = !zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].domSupported ? DEFAULT_LOCALE : function () {\n  var langStr = (\n  /* eslint-disable-next-line */\n  document.documentElement.lang || navigator.language || navigator.browserLanguage).toUpperCase();\n  return langStr.indexOf(LOCALE_ZH) > -1 ? LOCALE_ZH : DEFAULT_LOCALE;\n}();\nfunction registerLocale(locale, localeObj) {\n  locale = locale.toUpperCase();\n  localeModels[locale] = new _model_Model_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](localeObj);\n  localeStorage[locale] = localeObj;\n} // export function getLocale(locale: string) {\n//     return localeStorage[locale];\n// }\n\nfunction createLocaleObject(locale) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isString\"])(locale)) {\n    var localeObj = localeStorage[locale.toUpperCase()] || {};\n\n    if (locale === LOCALE_ZH || locale === LOCALE_EN) {\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(localeObj);\n    } else {\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"merge\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(localeObj), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(localeStorage[DEFAULT_LOCALE]), false);\n    }\n  } else {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"merge\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(locale), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(localeStorage[DEFAULT_LOCALE]), false);\n  }\n}\nfunction getLocaleModel(lang) {\n  return localeModels[lang];\n}\nfunction getDefaultLocaleModel() {\n  return localeModels[DEFAULT_LOCALE];\n} // Default locale\n\nregisterLocale(LOCALE_EN, _i18n_langEN_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nregisterLocale(LOCALE_ZH, _i18n_langZH_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/locale.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/core/task.js":
/*!***********************************************!*\
  !*** ./node_modules/echarts/lib/core/task.js ***!
  \***********************************************/
/*! exports provided: createTask, Task */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTask\", function() { return createTask; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Task\", function() { return Task; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n;\n/**\n * @param {Object} define\n * @return See the return of `createTask`.\n */\n\nfunction createTask(define) {\n  return new Task(define);\n}\n\nvar Task =\n/** @class */\nfunction () {\n  function Task(define) {\n    define = define || {};\n    this._reset = define.reset;\n    this._plan = define.plan;\n    this._count = define.count;\n    this._onDirty = define.onDirty;\n    this._dirty = true;\n  }\n  /**\n   * @param step Specified step.\n   * @param skip Skip customer perform call.\n   * @param modBy Sampling window size.\n   * @param modDataCount Sampling count.\n   * @return whether unfinished.\n   */\n\n\n  Task.prototype.perform = function (performArgs) {\n    var upTask = this._upstream;\n    var skip = performArgs && performArgs.skip; // TODO some refactor.\n    // Pull data. Must pull data each time, because context.data\n    // may be updated by Series.setData.\n\n    if (this._dirty && upTask) {\n      var context = this.context;\n      context.data = context.outputData = upTask.context.outputData;\n    }\n\n    if (this.__pipeline) {\n      this.__pipeline.currentTask = this;\n    }\n\n    var planResult;\n\n    if (this._plan && !skip) {\n      planResult = this._plan(this.context);\n    } // Support sharding by mod, which changes the render sequence and makes the rendered graphic\n    // elements uniformed distributed when progress, especially when moving or zooming.\n\n\n    var lastModBy = normalizeModBy(this._modBy);\n    var lastModDataCount = this._modDataCount || 0;\n    var modBy = normalizeModBy(performArgs && performArgs.modBy);\n    var modDataCount = performArgs && performArgs.modDataCount || 0;\n\n    if (lastModBy !== modBy || lastModDataCount !== modDataCount) {\n      planResult = 'reset';\n    }\n\n    function normalizeModBy(val) {\n      !(val >= 1) && (val = 1); // jshint ignore:line\n\n      return val;\n    }\n\n    var forceFirstProgress;\n\n    if (this._dirty || planResult === 'reset') {\n      this._dirty = false;\n      forceFirstProgress = this._doReset(skip);\n    }\n\n    this._modBy = modBy;\n    this._modDataCount = modDataCount;\n    var step = performArgs && performArgs.step;\n\n    if (upTask) {\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(upTask._outputDueEnd != null);\n      }\n\n      this._dueEnd = upTask._outputDueEnd;\n    } // DataTask or overallTask\n    else {\n        if (true) {\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!this._progress || this._count);\n        }\n\n        this._dueEnd = this._count ? this._count(this.context) : Infinity;\n      } // Note: Stubs, that its host overall task let it has progress, has progress.\n    // If no progress, pass index from upstream to downstream each time plan called.\n\n\n    if (this._progress) {\n      var start = this._dueIndex;\n      var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd);\n\n      if (!skip && (forceFirstProgress || start < end)) {\n        var progress = this._progress;\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(progress)) {\n          for (var i = 0; i < progress.length; i++) {\n            this._doProgress(progress[i], start, end, modBy, modDataCount);\n          }\n        } else {\n          this._doProgress(progress, start, end, modBy, modDataCount);\n        }\n      }\n\n      this._dueIndex = end; // If no `outputDueEnd`, assume that output data and\n      // input data is the same, so use `dueIndex` as `outputDueEnd`.\n\n      var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end;\n\n      if (true) {\n        // ??? Can not rollback.\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(outputDueEnd >= this._outputDueEnd);\n      }\n\n      this._outputDueEnd = outputDueEnd;\n    } else {\n      // (1) Some overall task has no progress.\n      // (2) Stubs, that its host overall task do not let it has progress, has no progress.\n      // This should always be performed so it can be passed to downstream.\n      this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;\n    }\n\n    return this.unfinished();\n  };\n\n  Task.prototype.dirty = function () {\n    this._dirty = true;\n    this._onDirty && this._onDirty(this.context);\n  };\n\n  Task.prototype._doProgress = function (progress, start, end, modBy, modDataCount) {\n    iterator.reset(start, end, modBy, modDataCount);\n    this._callingProgress = progress;\n\n    this._callingProgress({\n      start: start,\n      end: end,\n      count: end - start,\n      next: iterator.next\n    }, this.context);\n  };\n\n  Task.prototype._doReset = function (skip) {\n    this._dueIndex = this._outputDueEnd = this._dueEnd = 0;\n    this._settedOutputEnd = null;\n    var progress;\n    var forceFirstProgress;\n\n    if (!skip && this._reset) {\n      progress = this._reset(this.context);\n\n      if (progress && progress.progress) {\n        forceFirstProgress = progress.forceFirstProgress;\n        progress = progress.progress;\n      } // To simplify no progress checking, array must has item.\n\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(progress) && !progress.length) {\n        progress = null;\n      }\n    }\n\n    this._progress = progress;\n    this._modBy = this._modDataCount = null;\n    var downstream = this._downstream;\n    downstream && downstream.dirty();\n    return forceFirstProgress;\n  };\n\n  Task.prototype.unfinished = function () {\n    return this._progress && this._dueIndex < this._dueEnd;\n  };\n  /**\n   * @param downTask The downstream task.\n   * @return The downstream task.\n   */\n\n\n  Task.prototype.pipe = function (downTask) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(downTask && !downTask._disposed && downTask !== this);\n    } // If already downstream, do not dirty downTask.\n\n\n    if (this._downstream !== downTask || this._dirty) {\n      this._downstream = downTask;\n      downTask._upstream = this;\n      downTask.dirty();\n    }\n  };\n\n  Task.prototype.dispose = function () {\n    if (this._disposed) {\n      return;\n    }\n\n    this._upstream && (this._upstream._downstream = null);\n    this._downstream && (this._downstream._upstream = null);\n    this._dirty = false;\n    this._disposed = true;\n  };\n\n  Task.prototype.getUpstream = function () {\n    return this._upstream;\n  };\n\n  Task.prototype.getDownstream = function () {\n    return this._downstream;\n  };\n\n  Task.prototype.setOutputEnd = function (end) {\n    // This only happend in dataTask, dataZoom, map, currently.\n    // where dataZoom do not set end each time, but only set\n    // when reset. So we should record the setted end, in case\n    // that the stub of dataZoom perform again and earse the\n    // setted end by upstream.\n    this._outputDueEnd = this._settedOutputEnd = end;\n  };\n\n  return Task;\n}();\n\n\n\nvar iterator = function () {\n  var end;\n  var current;\n  var modBy;\n  var modDataCount;\n  var winCount;\n  var it = {\n    reset: function (s, e, sStep, sCount) {\n      current = s;\n      end = e;\n      modBy = sStep;\n      modDataCount = sCount;\n      winCount = Math.ceil(modDataCount / modBy);\n      it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;\n    }\n  };\n  return it;\n\n  function sequentialNext() {\n    return current < end ? current++ : null;\n  }\n\n  function modNext() {\n    var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);\n    var result = current >= end ? null : dataIndex < modDataCount ? dataIndex // If modDataCount is smaller than data.count() (consider `appendData` case),\n    // Use normal linear rendering mode.\n    : current;\n    current++;\n    return result;\n  }\n}(); ///////////////////////////////////////////////////////////\n// For stream debug (Should be commented out after used!)\n// @usage: printTask(this, 'begin');\n// @usage: printTask(this, null, {someExtraProp});\n// @usage: Use `__idxInPipeline` as conditional breakpiont.\n//\n// window.printTask = function (task: any, prefix: string, extra: { [key: string]: unknown }): void {\n//     window.ecTaskUID == null && (window.ecTaskUID = 0);\n//     task.uidDebug == null && (task.uidDebug = `task_${window.ecTaskUID++}`);\n//     task.agent && task.agent.uidDebug == null && (task.agent.uidDebug = `task_${window.ecTaskUID++}`);\n//     let props = [];\n//     if (task.__pipeline) {\n//         let val = `${task.__idxInPipeline}/${task.__pipeline.tail.__idxInPipeline} ${task.agent ? '(stub)' : ''}`;\n//         props.push({text: '__idxInPipeline/total', value: val});\n//     } else {\n//         let stubCount = 0;\n//         task.agentStubMap.each(() => stubCount++);\n//         props.push({text: 'idx', value: `overall (stubs: ${stubCount})`});\n//     }\n//     props.push({text: 'uid', value: task.uidDebug});\n//     if (task.__pipeline) {\n//         props.push({text: 'pipelineId', value: task.__pipeline.id});\n//         task.agent && props.push(\n//             {text: 'stubFor', value: task.agent.uidDebug}\n//         );\n//     }\n//     props.push(\n//         {text: 'dirty', value: task._dirty},\n//         {text: 'dueIndex', value: task._dueIndex},\n//         {text: 'dueEnd', value: task._dueEnd},\n//         {text: 'outputDueEnd', value: task._outputDueEnd}\n//     );\n//     if (extra) {\n//         Object.keys(extra).forEach(key => {\n//             props.push({text: key, value: extra[key]});\n//         });\n//     }\n//     let args = ['color: blue'];\n//     let msg = `%c[${prefix || 'T'}] %c` + props.map(item => (\n//         args.push('color: green', 'color: red'),\n//         `${item.text}: %c${item.value}`\n//     )).join('%c, ');\n//     console.log.apply(console, [msg].concat(args));\n//     // console.log(this);\n// };\n// window.printPipeline = function (task: any, prefix: string) {\n//     const pipeline = task.__pipeline;\n//     let currTask = pipeline.head;\n//     while (currTask) {\n//         window.printTask(currTask, prefix);\n//         currTask = currTask._downstream;\n//     }\n// };\n// window.showChain = function (chainHeadTask) {\n//     var chain = [];\n//     var task = chainHeadTask;\n//     while (task) {\n//         chain.push({\n//             task: task,\n//             up: task._upstream,\n//             down: task._downstream,\n//             idxInPipeline: task.__idxInPipeline\n//         });\n//         task = task._downstream;\n//     }\n//     return chain;\n// };\n// window.findTaskInChain = function (task, chainHeadTask) {\n//     let chain = window.showChain(chainHeadTask);\n//     let result = [];\n//     for (let i = 0; i < chain.length; i++) {\n//         let chainItem = chain[i];\n//         if (chainItem.task === task) {\n//             result.push(i);\n//         }\n//     }\n//     return result;\n// };\n// window.printChainAEachInChainB = function (chainHeadTaskA, chainHeadTaskB) {\n//     let chainA = window.showChain(chainHeadTaskA);\n//     for (let i = 0; i < chainA.length; i++) {\n//         console.log('chainAIdx:', i, 'inChainB:', window.findTaskInChain(chainA[i].task, chainHeadTaskB));\n//     }\n// };\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/core/task.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/DataDiffer.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/data/DataDiffer.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataIndexMapValueLength(valNumOrArrLengthMoreThan2) {\n  return valNumOrArrLengthMoreThan2 == null ? 0 : valNumOrArrLengthMoreThan2.length || 1;\n}\n\nfunction defaultKeyGetter(item) {\n  return item;\n}\n\nvar DataDiffer =\n/** @class */\nfunction () {\n  /**\n   * @param context Can be visited by this.context in callback.\n   */\n  function DataDiffer(oldArr, newArr, oldKeyGetter, newKeyGetter, context, // By default: 'oneToOne'.\n  diffMode) {\n    this._old = oldArr;\n    this._new = newArr;\n    this._oldKeyGetter = oldKeyGetter || defaultKeyGetter;\n    this._newKeyGetter = newKeyGetter || defaultKeyGetter; // Visible in callback via `this.context`;\n\n    this.context = context;\n    this._diffModeMultiple = diffMode === 'multiple';\n  }\n  /**\n   * Callback function when add a data\n   */\n\n\n  DataDiffer.prototype.add = function (func) {\n    this._add = func;\n    return this;\n  };\n  /**\n   * Callback function when update a data\n   */\n\n\n  DataDiffer.prototype.update = function (func) {\n    this._update = func;\n    return this;\n  };\n  /**\n   * Callback function when update a data and only work in `cbMode: 'byKey'`.\n   */\n\n\n  DataDiffer.prototype.updateManyToOne = function (func) {\n    this._updateManyToOne = func;\n    return this;\n  };\n  /**\n   * Callback function when update a data and only work in `cbMode: 'byKey'`.\n   */\n\n\n  DataDiffer.prototype.updateOneToMany = function (func) {\n    this._updateOneToMany = func;\n    return this;\n  };\n  /**\n   * Callback function when update a data and only work in `cbMode: 'byKey'`.\n   */\n\n\n  DataDiffer.prototype.updateManyToMany = function (func) {\n    this._updateManyToMany = func;\n    return this;\n  };\n  /**\n   * Callback function when remove a data\n   */\n\n\n  DataDiffer.prototype.remove = function (func) {\n    this._remove = func;\n    return this;\n  };\n\n  DataDiffer.prototype.execute = function () {\n    this[this._diffModeMultiple ? '_executeMultiple' : '_executeOneToOne']();\n  };\n\n  DataDiffer.prototype._executeOneToOne = function () {\n    var oldArr = this._old;\n    var newArr = this._new;\n    var newDataIndexMap = {};\n    var oldDataKeyArr = new Array(oldArr.length);\n    var newDataKeyArr = new Array(newArr.length);\n\n    this._initIndexMap(oldArr, null, oldDataKeyArr, '_oldKeyGetter');\n\n    this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, '_newKeyGetter');\n\n    for (var i = 0; i < oldArr.length; i++) {\n      var oldKey = oldDataKeyArr[i];\n      var newIdxMapVal = newDataIndexMap[oldKey];\n      var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal); // idx can never be empty array here. see 'set null' logic below.\n\n      if (newIdxMapValLen > 1) {\n        // Consider there is duplicate key (for example, use dataItem.name as key).\n        // We should make sure every item in newArr and oldArr can be visited.\n        var newIdx = newIdxMapVal.shift();\n\n        if (newIdxMapVal.length === 1) {\n          newDataIndexMap[oldKey] = newIdxMapVal[0];\n        }\n\n        this._update && this._update(newIdx, i);\n      } else if (newIdxMapValLen === 1) {\n        newDataIndexMap[oldKey] = null;\n        this._update && this._update(newIdxMapVal, i);\n      } else {\n        this._remove && this._remove(i);\n      }\n    }\n\n    this._performRestAdd(newDataKeyArr, newDataIndexMap);\n  };\n  /**\n   * For example, consider the case:\n   * oldData: [o0, o1, o2, o3, o4, o5, o6, o7],\n   * newData: [n0, n1, n2, n3, n4, n5, n6, n7, n8],\n   * Where:\n   *     o0, o1, n0 has key 'a' (many to one)\n   *     o5, n4, n5, n6 has key 'b' (one to many)\n   *     o2, n1 has key 'c' (one to one)\n   *     n2, n3 has key 'd' (add)\n   *     o3, o4 has key 'e' (remove)\n   *     o6, o7, n7, n8 has key 'f' (many to many, treated as add and remove)\n   * Then:\n   *     (The order of the following directives are not ensured.)\n   *     this._updateManyToOne(n0, [o0, o1]);\n   *     this._updateOneToMany([n4, n5, n6], o5);\n   *     this._update(n1, o2);\n   *     this._remove(o3);\n   *     this._remove(o4);\n   *     this._remove(o6);\n   *     this._remove(o7);\n   *     this._add(n2);\n   *     this._add(n3);\n   *     this._add(n7);\n   *     this._add(n8);\n   */\n\n\n  DataDiffer.prototype._executeMultiple = function () {\n    var oldArr = this._old;\n    var newArr = this._new;\n    var oldDataIndexMap = {};\n    var newDataIndexMap = {};\n    var oldDataKeyArr = [];\n    var newDataKeyArr = [];\n\n    this._initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, '_oldKeyGetter');\n\n    this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, '_newKeyGetter');\n\n    for (var i = 0; i < oldDataKeyArr.length; i++) {\n      var oldKey = oldDataKeyArr[i];\n      var oldIdxMapVal = oldDataIndexMap[oldKey];\n      var newIdxMapVal = newDataIndexMap[oldKey];\n      var oldIdxMapValLen = dataIndexMapValueLength(oldIdxMapVal);\n      var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal);\n\n      if (oldIdxMapValLen > 1 && newIdxMapValLen === 1) {\n        this._updateManyToOne && this._updateManyToOne(newIdxMapVal, oldIdxMapVal);\n        newDataIndexMap[oldKey] = null;\n      } else if (oldIdxMapValLen === 1 && newIdxMapValLen > 1) {\n        this._updateOneToMany && this._updateOneToMany(newIdxMapVal, oldIdxMapVal);\n        newDataIndexMap[oldKey] = null;\n      } else if (oldIdxMapValLen === 1 && newIdxMapValLen === 1) {\n        this._update && this._update(newIdxMapVal, oldIdxMapVal);\n        newDataIndexMap[oldKey] = null;\n      } else if (oldIdxMapValLen > 1 && newIdxMapValLen > 1) {\n        this._updateManyToMany && this._updateManyToMany(newIdxMapVal, oldIdxMapVal);\n        newDataIndexMap[oldKey] = null;\n      } else if (oldIdxMapValLen > 1) {\n        for (var i_1 = 0; i_1 < oldIdxMapValLen; i_1++) {\n          this._remove && this._remove(oldIdxMapVal[i_1]);\n        }\n      } else {\n        this._remove && this._remove(oldIdxMapVal);\n      }\n    }\n\n    this._performRestAdd(newDataKeyArr, newDataIndexMap);\n  };\n\n  DataDiffer.prototype._performRestAdd = function (newDataKeyArr, newDataIndexMap) {\n    for (var i = 0; i < newDataKeyArr.length; i++) {\n      var newKey = newDataKeyArr[i];\n      var newIdxMapVal = newDataIndexMap[newKey];\n      var idxMapValLen = dataIndexMapValueLength(newIdxMapVal);\n\n      if (idxMapValLen > 1) {\n        for (var j = 0; j < idxMapValLen; j++) {\n          this._add && this._add(newIdxMapVal[j]);\n        }\n      } else if (idxMapValLen === 1) {\n        this._add && this._add(newIdxMapVal);\n      } // Support both `newDataKeyArr` are duplication removed or not removed.\n\n\n      newDataIndexMap[newKey] = null;\n    }\n  };\n\n  DataDiffer.prototype._initIndexMap = function (arr, // Can be null.\n  map, // In 'byKey', the output `keyArr` is duplication removed.\n  // In 'byIndex', the output `keyArr` is not duplication removed and\n  //     its indices are accurately corresponding to `arr`.\n  keyArr, keyGetterName) {\n    var cbModeMultiple = this._diffModeMultiple;\n\n    for (var i = 0; i < arr.length; i++) {\n      // Add prefix to avoid conflict with Object.prototype.\n      var key = '_ec_' + this[keyGetterName](arr[i], i);\n\n      if (!cbModeMultiple) {\n        keyArr[i] = key;\n      }\n\n      if (!map) {\n        continue;\n      }\n\n      var idxMapVal = map[key];\n      var idxMapValLen = dataIndexMapValueLength(idxMapVal);\n\n      if (idxMapValLen === 0) {\n        // Simple optimize: in most cases, one index has one key,\n        // do not need array.\n        map[key] = i;\n\n        if (cbModeMultiple) {\n          keyArr.push(key);\n        }\n      } else if (idxMapValLen === 1) {\n        map[key] = [idxMapVal, i];\n      } else {\n        idxMapVal.push(i);\n      }\n    }\n  };\n\n  return DataDiffer;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataDiffer);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/DataDiffer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/DataStore.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/data/DataStore.js ***!
  \****************************************************/
/*! exports provided: CtorUint32Array, CtorUint16Array, CtorInt32Array, CtorFloat64Array, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CtorUint32Array\", function() { return CtorUint32Array; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CtorUint16Array\", function() { return CtorUint16Array; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CtorInt32Array\", function() { return CtorInt32Array; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CtorFloat64Array\", function() { return CtorFloat64Array; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper/dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar UNDEFINED = 'undefined';\n/* global Float64Array, Int32Array, Uint32Array, Uint16Array */\n// Caution: MUST not use `new CtorUint32Array(arr, 0, len)`, because the Ctor of array is\n// different from the Ctor of typed array.\n\nvar CtorUint32Array = typeof Uint32Array === UNDEFINED ? Array : Uint32Array;\nvar CtorUint16Array = typeof Uint16Array === UNDEFINED ? Array : Uint16Array;\nvar CtorInt32Array = typeof Int32Array === UNDEFINED ? Array : Int32Array;\nvar CtorFloat64Array = typeof Float64Array === UNDEFINED ? Array : Float64Array;\n/**\n * Multi dimensional data store\n */\n\nvar dataCtors = {\n  'float': CtorFloat64Array,\n  'int': CtorInt32Array,\n  // Ordinal data type can be string or int\n  'ordinal': Array,\n  'number': Array,\n  'time': CtorFloat64Array\n};\nvar defaultDimValueGetters;\n\nfunction getIndicesCtor(rawCount) {\n  // The possible max value in this._indicies is always this._rawCount despite of filtering.\n  return rawCount > 65535 ? CtorUint32Array : CtorUint16Array;\n}\n\n;\n\nfunction getInitialExtent() {\n  return [Infinity, -Infinity];\n}\n\n;\n\nfunction cloneChunk(originalChunk) {\n  var Ctor = originalChunk.constructor; // Only shallow clone is enough when Array.\n\n  return Ctor === Array ? originalChunk.slice() : new Ctor(originalChunk);\n}\n\nfunction prepareStore(store, dimIdx, dimType, end, append) {\n  var DataCtor = dataCtors[dimType || 'float'];\n\n  if (append) {\n    var oldStore = store[dimIdx];\n    var oldLen = oldStore && oldStore.length;\n\n    if (!(oldLen === end)) {\n      var newStore = new DataCtor(end); // The cost of the copy is probably inconsiderable\n      // within the initial chunkSize.\n\n      for (var j = 0; j < oldLen; j++) {\n        newStore[j] = oldStore[j];\n      }\n\n      store[dimIdx] = newStore;\n    }\n  } else {\n    store[dimIdx] = new DataCtor(end);\n  }\n}\n\n;\n/**\n * Basically, DataStore API keep immutable.\n */\n\nvar DataStore =\n/** @class */\nfunction () {\n  function DataStore() {\n    this._chunks = []; // It will not be calculated util needed.\n\n    this._rawExtent = [];\n    this._extent = [];\n    this._count = 0;\n    this._rawCount = 0;\n    this._calcDimNameToIdx = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  }\n  /**\n   * Initialize from data\n   */\n\n\n  DataStore.prototype.initData = function (provider, inputDimensions, dimValueGetter) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(provider.getItem) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(provider.count), 'Invalid data provider.');\n    }\n\n    this._provider = provider; // Clear\n\n    this._chunks = [];\n    this._indices = null;\n    this.getRawIndex = this._getRawIdxIdentity;\n    var source = provider.getSource();\n    var defaultGetter = this.defaultDimValueGetter = defaultDimValueGetters[source.sourceFormat]; // Default dim value getter\n\n    this._dimValueGetter = dimValueGetter || defaultGetter; // Reset raw extent.\n\n    this._rawExtent = [];\n    var willRetrieveDataByName = Object(_Source_js__WEBPACK_IMPORTED_MODULE_2__[\"shouldRetrieveDataByName\"])(source);\n    this._dimensions = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(inputDimensions, function (dim) {\n      if (true) {\n        if (willRetrieveDataByName) {\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(dim.property != null);\n        }\n      }\n\n      return {\n        // Only pick these two props. Not leak other properties like orderMeta.\n        type: dim.type,\n        property: dim.property\n      };\n    });\n\n    this._initDataFromProvider(0, provider.count());\n  };\n\n  DataStore.prototype.getProvider = function () {\n    return this._provider;\n  };\n  /**\n   * Caution: even when a `source` instance owned by a series, the created data store\n   * may still be shared by different sereis (the source hash does not use all `source`\n   * props, see `sourceManager`). In this case, the `source` props that are not used in\n   * hash (like `source.dimensionDefine`) probably only belongs to a certain series and\n   * thus should not be fetch here.\n   */\n\n\n  DataStore.prototype.getSource = function () {\n    return this._provider.getSource();\n  };\n  /**\n   * @caution Only used in dataStack.\n   */\n\n\n  DataStore.prototype.ensureCalculationDimension = function (dimName, type) {\n    var calcDimNameToIdx = this._calcDimNameToIdx;\n    var dimensions = this._dimensions;\n    var calcDimIdx = calcDimNameToIdx.get(dimName);\n\n    if (calcDimIdx != null) {\n      if (dimensions[calcDimIdx].type === type) {\n        return calcDimIdx;\n      }\n    } else {\n      calcDimIdx = dimensions.length;\n    }\n\n    dimensions[calcDimIdx] = {\n      type: type\n    };\n    calcDimNameToIdx.set(dimName, calcDimIdx);\n    this._chunks[calcDimIdx] = new dataCtors[type || 'float'](this._rawCount);\n    this._rawExtent[calcDimIdx] = getInitialExtent();\n    return calcDimIdx;\n  };\n\n  DataStore.prototype.collectOrdinalMeta = function (dimIdx, ordinalMeta) {\n    var chunk = this._chunks[dimIdx];\n    var dim = this._dimensions[dimIdx];\n    var rawExtents = this._rawExtent;\n    var offset = dim.ordinalOffset || 0;\n    var len = chunk.length;\n\n    if (offset === 0) {\n      // We need to reset the rawExtent if collect is from start.\n      // Because this dimension may be guessed as number and calcuating a wrong extent.\n      rawExtents[dimIdx] = getInitialExtent();\n    }\n\n    var dimRawExtent = rawExtents[dimIdx]; // Parse from previous data offset. len may be changed after appendData\n\n    for (var i = offset; i < len; i++) {\n      var val = chunk[i] = ordinalMeta.parseAndCollect(chunk[i]);\n\n      if (!isNaN(val)) {\n        dimRawExtent[0] = Math.min(val, dimRawExtent[0]);\n        dimRawExtent[1] = Math.max(val, dimRawExtent[1]);\n      }\n    }\n\n    dim.ordinalMeta = ordinalMeta;\n    dim.ordinalOffset = len;\n    dim.type = 'ordinal'; // Force to be ordinal\n  };\n\n  DataStore.prototype.getOrdinalMeta = function (dimIdx) {\n    var dimInfo = this._dimensions[dimIdx];\n    var ordinalMeta = dimInfo.ordinalMeta;\n    return ordinalMeta;\n  };\n\n  DataStore.prototype.getDimensionProperty = function (dimIndex) {\n    var item = this._dimensions[dimIndex];\n    return item && item.property;\n  };\n  /**\n   * Caution: Can be only called on raw data (before `this._indices` created).\n   */\n\n\n  DataStore.prototype.appendData = function (data) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!this._indices, 'appendData can only be called on raw data.');\n    }\n\n    var provider = this._provider;\n    var start = this.count();\n    provider.appendData(data);\n    var end = provider.count();\n\n    if (!provider.persistent) {\n      end += start;\n    }\n\n    if (start < end) {\n      this._initDataFromProvider(start, end, true);\n    }\n\n    return [start, end];\n  };\n\n  DataStore.prototype.appendValues = function (values, minFillLen) {\n    var chunks = this._chunks;\n    var dimensions = this._dimensions;\n    var dimLen = dimensions.length;\n    var rawExtent = this._rawExtent;\n    var start = this.count();\n    var end = start + Math.max(values.length, minFillLen || 0);\n\n    for (var i = 0; i < dimLen; i++) {\n      var dim = dimensions[i];\n      prepareStore(chunks, i, dim.type, end, true);\n    }\n\n    var emptyDataItem = [];\n\n    for (var idx = start; idx < end; idx++) {\n      var sourceIdx = idx - start; // Store the data by dimensions\n\n      for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {\n        var dim = dimensions[dimIdx];\n        var val = defaultDimValueGetters.arrayRows.call(this, values[sourceIdx] || emptyDataItem, dim.property, sourceIdx, dimIdx);\n        chunks[dimIdx][idx] = val;\n        var dimRawExtent = rawExtent[dimIdx];\n        val < dimRawExtent[0] && (dimRawExtent[0] = val);\n        val > dimRawExtent[1] && (dimRawExtent[1] = val);\n      }\n    }\n\n    this._rawCount = this._count = end;\n    return {\n      start: start,\n      end: end\n    };\n  };\n\n  DataStore.prototype._initDataFromProvider = function (start, end, append) {\n    var provider = this._provider;\n    var chunks = this._chunks;\n    var dimensions = this._dimensions;\n    var dimLen = dimensions.length;\n    var rawExtent = this._rawExtent;\n    var dimNames = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(dimensions, function (dim) {\n      return dim.property;\n    });\n\n    for (var i = 0; i < dimLen; i++) {\n      var dim = dimensions[i];\n\n      if (!rawExtent[i]) {\n        rawExtent[i] = getInitialExtent();\n      }\n\n      prepareStore(chunks, i, dim.type, end, append);\n    }\n\n    if (provider.fillStorage) {\n      provider.fillStorage(start, end, chunks, rawExtent);\n    } else {\n      var dataItem = [];\n\n      for (var idx = start; idx < end; idx++) {\n        // NOTICE: Try not to write things into dataItem\n        dataItem = provider.getItem(idx, dataItem); // Each data item is value\n        // [1, 2]\n        // 2\n        // Bar chart, line chart which uses category axis\n        // only gives the 'y' value. 'x' value is the indices of category\n        // Use a tempValue to normalize the value to be a (x, y) value\n        // Store the data by dimensions\n\n        for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {\n          var dimStorage = chunks[dimIdx]; // PENDING NULL is empty or zero\n\n          var val = this._dimValueGetter(dataItem, dimNames[dimIdx], idx, dimIdx);\n\n          dimStorage[idx] = val;\n          var dimRawExtent = rawExtent[dimIdx];\n          val < dimRawExtent[0] && (dimRawExtent[0] = val);\n          val > dimRawExtent[1] && (dimRawExtent[1] = val);\n        }\n      }\n    }\n\n    if (!provider.persistent && provider.clean) {\n      // Clean unused data if data source is typed array.\n      provider.clean();\n    }\n\n    this._rawCount = this._count = end; // Reset data extent\n\n    this._extent = [];\n  };\n\n  DataStore.prototype.count = function () {\n    return this._count;\n  };\n  /**\n   * Get value. Return NaN if idx is out of range.\n   */\n\n\n  DataStore.prototype.get = function (dim, idx) {\n    if (!(idx >= 0 && idx < this._count)) {\n      return NaN;\n    }\n\n    var dimStore = this._chunks[dim];\n    return dimStore ? dimStore[this.getRawIndex(idx)] : NaN;\n  };\n\n  DataStore.prototype.getValues = function (dimensions, idx) {\n    var values = [];\n    var dimArr = [];\n\n    if (idx == null) {\n      idx = dimensions; // TODO get all from store?\n\n      dimensions = []; // All dimensions\n\n      for (var i = 0; i < this._dimensions.length; i++) {\n        dimArr.push(i);\n      }\n    } else {\n      dimArr = dimensions;\n    }\n\n    for (var i = 0, len = dimArr.length; i < len; i++) {\n      values.push(this.get(dimArr[i], idx));\n    }\n\n    return values;\n  };\n  /**\n   * @param dim concrete dim\n   */\n\n\n  DataStore.prototype.getByRawIndex = function (dim, rawIdx) {\n    if (!(rawIdx >= 0 && rawIdx < this._rawCount)) {\n      return NaN;\n    }\n\n    var dimStore = this._chunks[dim];\n    return dimStore ? dimStore[rawIdx] : NaN;\n  };\n  /**\n   * Get sum of data in one dimension\n   */\n\n\n  DataStore.prototype.getSum = function (dim) {\n    var dimData = this._chunks[dim];\n    var sum = 0;\n\n    if (dimData) {\n      for (var i = 0, len = this.count(); i < len; i++) {\n        var value = this.get(dim, i);\n\n        if (!isNaN(value)) {\n          sum += value;\n        }\n      }\n    }\n\n    return sum;\n  };\n  /**\n   * Get median of data in one dimension\n   */\n\n\n  DataStore.prototype.getMedian = function (dim) {\n    var dimDataArray = []; // map all data of one dimension\n\n    this.each([dim], function (val) {\n      if (!isNaN(val)) {\n        dimDataArray.push(val);\n      }\n    }); // TODO\n    // Use quick select?\n\n    var sortedDimDataArray = dimDataArray.sort(function (a, b) {\n      return a - b;\n    });\n    var len = this.count(); // calculate median\n\n    return len === 0 ? 0 : len % 2 === 1 ? sortedDimDataArray[(len - 1) / 2] : (sortedDimDataArray[len / 2] + sortedDimDataArray[len / 2 - 1]) / 2;\n  };\n  /**\n   * Retreive the index with given raw data index\n   */\n\n\n  DataStore.prototype.indexOfRawIndex = function (rawIndex) {\n    if (rawIndex >= this._rawCount || rawIndex < 0) {\n      return -1;\n    }\n\n    if (!this._indices) {\n      return rawIndex;\n    } // Indices are ascending\n\n\n    var indices = this._indices; // If rawIndex === dataIndex\n\n    var rawDataIndex = indices[rawIndex];\n\n    if (rawDataIndex != null && rawDataIndex < this._count && rawDataIndex === rawIndex) {\n      return rawIndex;\n    }\n\n    var left = 0;\n    var right = this._count - 1;\n\n    while (left <= right) {\n      var mid = (left + right) / 2 | 0;\n\n      if (indices[mid] < rawIndex) {\n        left = mid + 1;\n      } else if (indices[mid] > rawIndex) {\n        right = mid - 1;\n      } else {\n        return mid;\n      }\n    }\n\n    return -1;\n  };\n  /**\n   * Retreive the index of nearest value\n   * @param dim\n   * @param value\n   * @param [maxDistance=Infinity]\n   * @return If and only if multiple indices has\n   *         the same value, they are put to the result.\n   */\n\n\n  DataStore.prototype.indicesOfNearest = function (dim, value, maxDistance) {\n    var chunks = this._chunks;\n    var dimData = chunks[dim];\n    var nearestIndices = [];\n\n    if (!dimData) {\n      return nearestIndices;\n    }\n\n    if (maxDistance == null) {\n      maxDistance = Infinity;\n    }\n\n    var minDist = Infinity;\n    var minDiff = -1;\n    var nearestIndicesLen = 0; // Check the test case of `test/ut/spec/data/SeriesData.js`.\n\n    for (var i = 0, len = this.count(); i < len; i++) {\n      var dataIndex = this.getRawIndex(i);\n      var diff = value - dimData[dataIndex];\n      var dist = Math.abs(diff);\n\n      if (dist <= maxDistance) {\n        // When the `value` is at the middle of `this.get(dim, i)` and `this.get(dim, i+1)`,\n        // we'd better not push both of them to `nearestIndices`, otherwise it is easy to\n        // get more than one item in `nearestIndices` (more specifically, in `tooltip`).\n        // So we chose the one that `diff >= 0` in this csae.\n        // But if `this.get(dim, i)` and `this.get(dim, j)` get the same value, both of them\n        // should be push to `nearestIndices`.\n        if (dist < minDist || dist === minDist && diff >= 0 && minDiff < 0) {\n          minDist = dist;\n          minDiff = diff;\n          nearestIndicesLen = 0;\n        }\n\n        if (diff === minDiff) {\n          nearestIndices[nearestIndicesLen++] = i;\n        }\n      }\n    }\n\n    nearestIndices.length = nearestIndicesLen;\n    return nearestIndices;\n  };\n\n  DataStore.prototype.getIndices = function () {\n    var newIndices;\n    var indices = this._indices;\n\n    if (indices) {\n      var Ctor = indices.constructor;\n      var thisCount = this._count; // `new Array(a, b, c)` is different from `new Uint32Array(a, b, c)`.\n\n      if (Ctor === Array) {\n        newIndices = new Ctor(thisCount);\n\n        for (var i = 0; i < thisCount; i++) {\n          newIndices[i] = indices[i];\n        }\n      } else {\n        newIndices = new Ctor(indices.buffer, 0, thisCount);\n      }\n    } else {\n      var Ctor = getIndicesCtor(this._rawCount);\n      newIndices = new Ctor(this.count());\n\n      for (var i = 0; i < newIndices.length; i++) {\n        newIndices[i] = i;\n      }\n    }\n\n    return newIndices;\n  };\n  /**\n   * Data filter.\n   */\n\n\n  DataStore.prototype.filter = function (dims, cb) {\n    if (!this._count) {\n      return this;\n    }\n\n    var newStore = this.clone();\n    var count = newStore.count();\n    var Ctor = getIndicesCtor(newStore._rawCount);\n    var newIndices = new Ctor(count);\n    var value = [];\n    var dimSize = dims.length;\n    var offset = 0;\n    var dim0 = dims[0];\n    var chunks = newStore._chunks;\n\n    for (var i = 0; i < count; i++) {\n      var keep = void 0;\n      var rawIdx = newStore.getRawIndex(i); // Simple optimization\n\n      if (dimSize === 0) {\n        keep = cb(i);\n      } else if (dimSize === 1) {\n        var val = chunks[dim0][rawIdx];\n        keep = cb(val, i);\n      } else {\n        var k = 0;\n\n        for (; k < dimSize; k++) {\n          value[k] = chunks[dims[k]][rawIdx];\n        }\n\n        value[k] = i;\n        keep = cb.apply(null, value);\n      }\n\n      if (keep) {\n        newIndices[offset++] = rawIdx;\n      }\n    } // Set indices after filtered.\n\n\n    if (offset < count) {\n      newStore._indices = newIndices;\n    }\n\n    newStore._count = offset; // Reset data extent\n\n    newStore._extent = [];\n\n    newStore._updateGetRawIdx();\n\n    return newStore;\n  };\n  /**\n   * Select data in range. (For optimization of filter)\n   * (Manually inline code, support 5 million data filtering in data zoom.)\n   */\n\n\n  DataStore.prototype.selectRange = function (range) {\n    var newStore = this.clone();\n    var len = newStore._count;\n\n    if (!len) {\n      return this;\n    }\n\n    var dims = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(range);\n    var dimSize = dims.length;\n\n    if (!dimSize) {\n      return this;\n    }\n\n    var originalCount = newStore.count();\n    var Ctor = getIndicesCtor(newStore._rawCount);\n    var newIndices = new Ctor(originalCount);\n    var offset = 0;\n    var dim0 = dims[0];\n    var min = range[dim0][0];\n    var max = range[dim0][1];\n    var storeArr = newStore._chunks;\n    var quickFinished = false;\n\n    if (!newStore._indices) {\n      // Extreme optimization for common case. About 2x faster in chrome.\n      var idx = 0;\n\n      if (dimSize === 1) {\n        var dimStorage = storeArr[dims[0]];\n\n        for (var i = 0; i < len; i++) {\n          var val = dimStorage[i]; // NaN will not be filtered. Consider the case, in line chart, empty\n          // value indicates the line should be broken. But for the case like\n          // scatter plot, a data item with empty value will not be rendered,\n          // but the axis extent may be effected if some other dim of the data\n          // item has value. Fortunately it is not a significant negative effect.\n\n          if (val >= min && val <= max || isNaN(val)) {\n            newIndices[offset++] = idx;\n          }\n\n          idx++;\n        }\n\n        quickFinished = true;\n      } else if (dimSize === 2) {\n        var dimStorage = storeArr[dims[0]];\n        var dimStorage2 = storeArr[dims[1]];\n        var min2 = range[dims[1]][0];\n        var max2 = range[dims[1]][1];\n\n        for (var i = 0; i < len; i++) {\n          var val = dimStorage[i];\n          var val2 = dimStorage2[i]; // Do not filter NaN, see comment above.\n\n          if ((val >= min && val <= max || isNaN(val)) && (val2 >= min2 && val2 <= max2 || isNaN(val2))) {\n            newIndices[offset++] = idx;\n          }\n\n          idx++;\n        }\n\n        quickFinished = true;\n      }\n    }\n\n    if (!quickFinished) {\n      if (dimSize === 1) {\n        for (var i = 0; i < originalCount; i++) {\n          var rawIndex = newStore.getRawIndex(i);\n          var val = storeArr[dims[0]][rawIndex]; // Do not filter NaN, see comment above.\n\n          if (val >= min && val <= max || isNaN(val)) {\n            newIndices[offset++] = rawIndex;\n          }\n        }\n      } else {\n        for (var i = 0; i < originalCount; i++) {\n          var keep = true;\n          var rawIndex = newStore.getRawIndex(i);\n\n          for (var k = 0; k < dimSize; k++) {\n            var dimk = dims[k];\n            var val = storeArr[dimk][rawIndex]; // Do not filter NaN, see comment above.\n\n            if (val < range[dimk][0] || val > range[dimk][1]) {\n              keep = false;\n            }\n          }\n\n          if (keep) {\n            newIndices[offset++] = newStore.getRawIndex(i);\n          }\n        }\n      }\n    } // Set indices after filtered.\n\n\n    if (offset < originalCount) {\n      newStore._indices = newIndices;\n    }\n\n    newStore._count = offset; // Reset data extent\n\n    newStore._extent = [];\n\n    newStore._updateGetRawIdx();\n\n    return newStore;\n  }; // /**\n  //  * Data mapping to a plain array\n  //  */\n  // mapArray(dims: DimensionIndex[], cb: MapArrayCb): any[] {\n  //     const result: any[] = [];\n  //     this.each(dims, function () {\n  //         result.push(cb && (cb as MapArrayCb).apply(null, arguments));\n  //     });\n  //     return result;\n  // }\n\n  /**\n   * Data mapping to a new List with given dimensions\n   */\n\n\n  DataStore.prototype.map = function (dims, cb) {\n    // TODO only clone picked chunks.\n    var target = this.clone(dims);\n\n    this._updateDims(target, dims, cb);\n\n    return target;\n  };\n  /**\n   * @caution Danger!! Only used in dataStack.\n   */\n\n\n  DataStore.prototype.modify = function (dims, cb) {\n    this._updateDims(this, dims, cb);\n  };\n\n  DataStore.prototype._updateDims = function (target, dims, cb) {\n    var targetChunks = target._chunks;\n    var tmpRetValue = [];\n    var dimSize = dims.length;\n    var dataCount = target.count();\n    var values = [];\n    var rawExtent = target._rawExtent;\n\n    for (var i = 0; i < dims.length; i++) {\n      rawExtent[dims[i]] = getInitialExtent();\n    }\n\n    for (var dataIndex = 0; dataIndex < dataCount; dataIndex++) {\n      var rawIndex = target.getRawIndex(dataIndex);\n\n      for (var k = 0; k < dimSize; k++) {\n        values[k] = targetChunks[dims[k]][rawIndex];\n      }\n\n      values[dimSize] = dataIndex;\n      var retValue = cb && cb.apply(null, values);\n\n      if (retValue != null) {\n        // a number or string (in oridinal dimension)?\n        if (typeof retValue !== 'object') {\n          tmpRetValue[0] = retValue;\n          retValue = tmpRetValue;\n        }\n\n        for (var i = 0; i < retValue.length; i++) {\n          var dim = dims[i];\n          var val = retValue[i];\n          var rawExtentOnDim = rawExtent[dim];\n          var dimStore = targetChunks[dim];\n\n          if (dimStore) {\n            dimStore[rawIndex] = val;\n          }\n\n          if (val < rawExtentOnDim[0]) {\n            rawExtentOnDim[0] = val;\n          }\n\n          if (val > rawExtentOnDim[1]) {\n            rawExtentOnDim[1] = val;\n          }\n        }\n      }\n    }\n  };\n  /**\n   * Large data down sampling using largest-triangle-three-buckets\n   * @param {string} valueDimension\n   * @param {number} targetCount\n   */\n\n\n  DataStore.prototype.lttbDownSample = function (valueDimension, rate) {\n    var target = this.clone([valueDimension], true);\n    var targetStorage = target._chunks;\n    var dimStore = targetStorage[valueDimension];\n    var len = this.count();\n    var sampledIndex = 0;\n    var frameSize = Math.floor(1 / rate);\n    var currentRawIndex = this.getRawIndex(0);\n    var maxArea;\n    var area;\n    var nextRawIndex;\n    var newIndices = new (getIndicesCtor(this._rawCount))(Math.min((Math.ceil(len / frameSize) + 2) * 2, len)); // First frame use the first data.\n\n    newIndices[sampledIndex++] = currentRawIndex;\n\n    for (var i = 1; i < len - 1; i += frameSize) {\n      var nextFrameStart = Math.min(i + frameSize, len - 1);\n      var nextFrameEnd = Math.min(i + frameSize * 2, len);\n      var avgX = (nextFrameEnd + nextFrameStart) / 2;\n      var avgY = 0;\n\n      for (var idx = nextFrameStart; idx < nextFrameEnd; idx++) {\n        var rawIndex = this.getRawIndex(idx);\n        var y = dimStore[rawIndex];\n\n        if (isNaN(y)) {\n          continue;\n        }\n\n        avgY += y;\n      }\n\n      avgY /= nextFrameEnd - nextFrameStart;\n      var frameStart = i;\n      var frameEnd = Math.min(i + frameSize, len);\n      var pointAX = i - 1;\n      var pointAY = dimStore[currentRawIndex];\n      maxArea = -1;\n      nextRawIndex = frameStart;\n      var firstNaNIndex = -1;\n      var countNaN = 0; // Find a point from current frame that construct a triangel with largest area with previous selected point\n      // And the average of next frame.\n\n      for (var idx = frameStart; idx < frameEnd; idx++) {\n        var rawIndex = this.getRawIndex(idx);\n        var y = dimStore[rawIndex];\n\n        if (isNaN(y)) {\n          countNaN++;\n\n          if (firstNaNIndex < 0) {\n            firstNaNIndex = rawIndex;\n          }\n\n          continue;\n        } // Calculate triangle area over three buckets\n\n\n        area = Math.abs((pointAX - avgX) * (y - pointAY) - (pointAX - idx) * (avgY - pointAY));\n\n        if (area > maxArea) {\n          maxArea = area;\n          nextRawIndex = rawIndex; // Next a is this b\n        }\n      }\n\n      if (countNaN > 0 && countNaN < frameEnd - frameStart) {\n        // Append first NaN point in every bucket.\n        // It is necessary to ensure the correct order of indices.\n        newIndices[sampledIndex++] = Math.min(firstNaNIndex, nextRawIndex);\n        nextRawIndex = Math.max(firstNaNIndex, nextRawIndex);\n      }\n\n      newIndices[sampledIndex++] = nextRawIndex;\n      currentRawIndex = nextRawIndex; // This a is the next a (chosen b)\n    } // First frame use the last data.\n\n\n    newIndices[sampledIndex++] = this.getRawIndex(len - 1);\n    target._count = sampledIndex;\n    target._indices = newIndices;\n    target.getRawIndex = this._getRawIdx;\n    return target;\n  };\n  /**\n   * Large data down sampling on given dimension\n   * @param sampleIndex Sample index for name and id\n   */\n\n\n  DataStore.prototype.downSample = function (dimension, rate, sampleValue, sampleIndex) {\n    var target = this.clone([dimension], true);\n    var targetStorage = target._chunks;\n    var frameValues = [];\n    var frameSize = Math.floor(1 / rate);\n    var dimStore = targetStorage[dimension];\n    var len = this.count();\n    var rawExtentOnDim = target._rawExtent[dimension] = getInitialExtent();\n    var newIndices = new (getIndicesCtor(this._rawCount))(Math.ceil(len / frameSize));\n    var offset = 0;\n\n    for (var i = 0; i < len; i += frameSize) {\n      // Last frame\n      if (frameSize > len - i) {\n        frameSize = len - i;\n        frameValues.length = frameSize;\n      }\n\n      for (var k = 0; k < frameSize; k++) {\n        var dataIdx = this.getRawIndex(i + k);\n        frameValues[k] = dimStore[dataIdx];\n      }\n\n      var value = sampleValue(frameValues);\n      var sampleFrameIdx = this.getRawIndex(Math.min(i + sampleIndex(frameValues, value) || 0, len - 1)); // Only write value on the filtered data\n\n      dimStore[sampleFrameIdx] = value;\n\n      if (value < rawExtentOnDim[0]) {\n        rawExtentOnDim[0] = value;\n      }\n\n      if (value > rawExtentOnDim[1]) {\n        rawExtentOnDim[1] = value;\n      }\n\n      newIndices[offset++] = sampleFrameIdx;\n    }\n\n    target._count = offset;\n    target._indices = newIndices;\n\n    target._updateGetRawIdx();\n\n    return target;\n  };\n  /**\n   * Data iteration\n   * @param ctx default this\n   * @example\n   *  list.each('x', function (x, idx) {});\n   *  list.each(['x', 'y'], function (x, y, idx) {});\n   *  list.each(function (idx) {})\n   */\n\n\n  DataStore.prototype.each = function (dims, cb) {\n    if (!this._count) {\n      return;\n    }\n\n    var dimSize = dims.length;\n    var chunks = this._chunks;\n\n    for (var i = 0, len = this.count(); i < len; i++) {\n      var rawIdx = this.getRawIndex(i); // Simple optimization\n\n      switch (dimSize) {\n        case 0:\n          cb(i);\n          break;\n\n        case 1:\n          cb(chunks[dims[0]][rawIdx], i);\n          break;\n\n        case 2:\n          cb(chunks[dims[0]][rawIdx], chunks[dims[1]][rawIdx], i);\n          break;\n\n        default:\n          var k = 0;\n          var value = [];\n\n          for (; k < dimSize; k++) {\n            value[k] = chunks[dims[k]][rawIdx];\n          } // Index\n\n\n          value[k] = i;\n          cb.apply(null, value);\n      }\n    }\n  };\n  /**\n   * Get extent of data in one dimension\n   */\n\n\n  DataStore.prototype.getDataExtent = function (dim) {\n    // Make sure use concrete dim as cache name.\n    var dimData = this._chunks[dim];\n    var initialExtent = getInitialExtent();\n\n    if (!dimData) {\n      return initialExtent;\n    } // Make more strict checkings to ensure hitting cache.\n\n\n    var currEnd = this.count(); // Consider the most cases when using data zoom, `getDataExtent`\n    // happened before filtering. We cache raw extent, which is not\n    // necessary to be cleared and recalculated when restore data.\n\n    var useRaw = !this._indices;\n    var dimExtent;\n\n    if (useRaw) {\n      return this._rawExtent[dim].slice();\n    }\n\n    dimExtent = this._extent[dim];\n\n    if (dimExtent) {\n      return dimExtent.slice();\n    }\n\n    dimExtent = initialExtent;\n    var min = dimExtent[0];\n    var max = dimExtent[1];\n\n    for (var i = 0; i < currEnd; i++) {\n      var rawIdx = this.getRawIndex(i);\n      var value = dimData[rawIdx];\n      value < min && (min = value);\n      value > max && (max = value);\n    }\n\n    dimExtent = [min, max];\n    this._extent[dim] = dimExtent;\n    return dimExtent;\n  };\n  /**\n   * Get raw data item\n   */\n\n\n  DataStore.prototype.getRawDataItem = function (idx) {\n    var rawIdx = this.getRawIndex(idx);\n\n    if (!this._provider.persistent) {\n      var val = [];\n      var chunks = this._chunks;\n\n      for (var i = 0; i < chunks.length; i++) {\n        val.push(chunks[i][rawIdx]);\n      }\n\n      return val;\n    } else {\n      return this._provider.getItem(rawIdx);\n    }\n  };\n  /**\n   * Clone shallow.\n   *\n   * @param clonedDims Determine which dims to clone. Will share the data if not specified.\n   */\n\n\n  DataStore.prototype.clone = function (clonedDims, ignoreIndices) {\n    var target = new DataStore();\n    var chunks = this._chunks;\n    var clonedDimsMap = clonedDims && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"])(clonedDims, function (obj, dimIdx) {\n      obj[dimIdx] = true;\n      return obj;\n    }, {});\n\n    if (clonedDimsMap) {\n      for (var i = 0; i < chunks.length; i++) {\n        // Not clone if dim is not picked.\n        target._chunks[i] = !clonedDimsMap[i] ? chunks[i] : cloneChunk(chunks[i]);\n      }\n    } else {\n      target._chunks = chunks;\n    }\n\n    this._copyCommonProps(target);\n\n    if (!ignoreIndices) {\n      target._indices = this._cloneIndices();\n    }\n\n    target._updateGetRawIdx();\n\n    return target;\n  };\n\n  DataStore.prototype._copyCommonProps = function (target) {\n    target._count = this._count;\n    target._rawCount = this._rawCount;\n    target._provider = this._provider;\n    target._dimensions = this._dimensions;\n    target._extent = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"])(this._extent);\n    target._rawExtent = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"])(this._rawExtent);\n  };\n\n  DataStore.prototype._cloneIndices = function () {\n    if (this._indices) {\n      var Ctor = this._indices.constructor;\n      var indices = void 0;\n\n      if (Ctor === Array) {\n        var thisCount = this._indices.length;\n        indices = new Ctor(thisCount);\n\n        for (var i = 0; i < thisCount; i++) {\n          indices[i] = this._indices[i];\n        }\n      } else {\n        indices = new Ctor(this._indices);\n      }\n\n      return indices;\n    }\n\n    return null;\n  };\n\n  DataStore.prototype._getRawIdxIdentity = function (idx) {\n    return idx;\n  };\n\n  DataStore.prototype._getRawIdx = function (idx) {\n    if (idx < this._count && idx >= 0) {\n      return this._indices[idx];\n    }\n\n    return -1;\n  };\n\n  DataStore.prototype._updateGetRawIdx = function () {\n    this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity;\n  };\n\n  DataStore.internalField = function () {\n    function getDimValueSimply(dataItem, property, dataIndex, dimIndex) {\n      return Object(_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDataValue\"])(dataItem[dimIndex], this._dimensions[dimIndex]);\n    }\n\n    defaultDimValueGetters = {\n      arrayRows: getDimValueSimply,\n      objectRows: function (dataItem, property, dataIndex, dimIndex) {\n        return Object(_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDataValue\"])(dataItem[property], this._dimensions[dimIndex]);\n      },\n      keyedColumns: getDimValueSimply,\n      original: function (dataItem, property, dataIndex, dimIndex) {\n        // Performance sensitive, do not use modelUtil.getDataItemValue.\n        // If dataItem is an plain object with no value field, the let `value`\n        // will be assigned with the object, but it will be tread correctly\n        // in the `convertValue`.\n        var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value);\n        return Object(_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDataValue\"])(value instanceof Array ? value[dimIndex] // If value is a single number or something else not array.\n        : value, this._dimensions[dimIndex]);\n      },\n      typedArray: function (dataItem, property, dataIndex, dimIndex) {\n        return dataItem[dimIndex];\n      }\n    };\n  }();\n\n  return DataStore;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataStore);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/DataStore.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/Graph.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/data/Graph.js ***!
  \************************************************/
/*! exports provided: default, GraphNode, GraphEdge */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GraphNode\", function() { return GraphNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GraphEdge\", function() { return GraphEdge; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n // id may be function name of Object, add a prefix to avoid this problem.\n\nfunction generateNodeKey(id) {\n  return '_EC_' + id;\n}\n\nvar Graph =\n/** @class */\nfunction () {\n  function Graph(directed) {\n    this.type = 'graph';\n    this.nodes = [];\n    this.edges = [];\n    this._nodesMap = {};\n    /**\n     * @type {Object.<string, module:echarts/data/Graph.Edge>}\n     * @private\n     */\n\n    this._edgesMap = {};\n    this._directed = directed || false;\n  }\n  /**\n   * If is directed graph\n   */\n\n\n  Graph.prototype.isDirected = function () {\n    return this._directed;\n  };\n\n  ;\n  /**\n   * Add a new node\n   */\n\n  Graph.prototype.addNode = function (id, dataIndex) {\n    id = id == null ? '' + dataIndex : '' + id;\n    var nodesMap = this._nodesMap;\n\n    if (nodesMap[generateNodeKey(id)]) {\n      if (true) {\n        console.error('Graph nodes have duplicate name or id');\n      }\n\n      return;\n    }\n\n    var node = new GraphNode(id, dataIndex);\n    node.hostGraph = this;\n    this.nodes.push(node);\n    nodesMap[generateNodeKey(id)] = node;\n    return node;\n  };\n\n  ;\n  /**\n   * Get node by data index\n   */\n\n  Graph.prototype.getNodeByIndex = function (dataIndex) {\n    var rawIdx = this.data.getRawIndex(dataIndex);\n    return this.nodes[rawIdx];\n  };\n\n  ;\n  /**\n   * Get node by id\n   */\n\n  Graph.prototype.getNodeById = function (id) {\n    return this._nodesMap[generateNodeKey(id)];\n  };\n\n  ;\n  /**\n   * Add a new edge\n   */\n\n  Graph.prototype.addEdge = function (n1, n2, dataIndex) {\n    var nodesMap = this._nodesMap;\n    var edgesMap = this._edgesMap; // PNEDING\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](n1)) {\n      n1 = this.nodes[n1];\n    }\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](n2)) {\n      n2 = this.nodes[n2];\n    }\n\n    if (!(n1 instanceof GraphNode)) {\n      n1 = nodesMap[generateNodeKey(n1)];\n    }\n\n    if (!(n2 instanceof GraphNode)) {\n      n2 = nodesMap[generateNodeKey(n2)];\n    }\n\n    if (!n1 || !n2) {\n      return;\n    }\n\n    var key = n1.id + '-' + n2.id;\n    var edge = new GraphEdge(n1, n2, dataIndex);\n    edge.hostGraph = this;\n\n    if (this._directed) {\n      n1.outEdges.push(edge);\n      n2.inEdges.push(edge);\n    }\n\n    n1.edges.push(edge);\n\n    if (n1 !== n2) {\n      n2.edges.push(edge);\n    }\n\n    this.edges.push(edge);\n    edgesMap[key] = edge;\n    return edge;\n  };\n\n  ;\n  /**\n   * Get edge by data index\n   */\n\n  Graph.prototype.getEdgeByIndex = function (dataIndex) {\n    var rawIdx = this.edgeData.getRawIndex(dataIndex);\n    return this.edges[rawIdx];\n  };\n\n  ;\n  /**\n   * Get edge by two linked nodes\n   */\n\n  Graph.prototype.getEdge = function (n1, n2) {\n    if (n1 instanceof GraphNode) {\n      n1 = n1.id;\n    }\n\n    if (n2 instanceof GraphNode) {\n      n2 = n2.id;\n    }\n\n    var edgesMap = this._edgesMap;\n\n    if (this._directed) {\n      return edgesMap[n1 + '-' + n2];\n    } else {\n      return edgesMap[n1 + '-' + n2] || edgesMap[n2 + '-' + n1];\n    }\n  };\n\n  ;\n  /**\n   * Iterate all nodes\n   */\n\n  Graph.prototype.eachNode = function (cb, context) {\n    var nodes = this.nodes;\n    var len = nodes.length;\n\n    for (var i = 0; i < len; i++) {\n      if (nodes[i].dataIndex >= 0) {\n        cb.call(context, nodes[i], i);\n      }\n    }\n  };\n\n  ;\n  /**\n   * Iterate all edges\n   */\n\n  Graph.prototype.eachEdge = function (cb, context) {\n    var edges = this.edges;\n    var len = edges.length;\n\n    for (var i = 0; i < len; i++) {\n      if (edges[i].dataIndex >= 0 && edges[i].node1.dataIndex >= 0 && edges[i].node2.dataIndex >= 0) {\n        cb.call(context, edges[i], i);\n      }\n    }\n  };\n\n  ;\n  /**\n   * Breadth first traverse\n   * Return true to stop traversing\n   */\n\n  Graph.prototype.breadthFirstTraverse = function (cb, startNode, direction, context) {\n    if (!(startNode instanceof GraphNode)) {\n      startNode = this._nodesMap[generateNodeKey(startNode)];\n    }\n\n    if (!startNode) {\n      return;\n    }\n\n    var edgeType = direction === 'out' ? 'outEdges' : direction === 'in' ? 'inEdges' : 'edges';\n\n    for (var i = 0; i < this.nodes.length; i++) {\n      this.nodes[i].__visited = false;\n    }\n\n    if (cb.call(context, startNode, null)) {\n      return;\n    }\n\n    var queue = [startNode];\n\n    while (queue.length) {\n      var currentNode = queue.shift();\n      var edges = currentNode[edgeType];\n\n      for (var i = 0; i < edges.length; i++) {\n        var e = edges[i];\n        var otherNode = e.node1 === currentNode ? e.node2 : e.node1;\n\n        if (!otherNode.__visited) {\n          if (cb.call(context, otherNode, currentNode)) {\n            // Stop traversing\n            return;\n          }\n\n          queue.push(otherNode);\n          otherNode.__visited = true;\n        }\n      }\n    }\n  };\n\n  ; // TODO\n  // depthFirstTraverse(\n  //     cb, startNode, direction, context\n  // ) {\n  // };\n  // Filter update\n\n  Graph.prototype.update = function () {\n    var data = this.data;\n    var edgeData = this.edgeData;\n    var nodes = this.nodes;\n    var edges = this.edges;\n\n    for (var i = 0, len = nodes.length; i < len; i++) {\n      nodes[i].dataIndex = -1;\n    }\n\n    for (var i = 0, len = data.count(); i < len; i++) {\n      nodes[data.getRawIndex(i)].dataIndex = i;\n    }\n\n    edgeData.filterSelf(function (idx) {\n      var edge = edges[edgeData.getRawIndex(idx)];\n      return edge.node1.dataIndex >= 0 && edge.node2.dataIndex >= 0;\n    }); // Update edge\n\n    for (var i = 0, len = edges.length; i < len; i++) {\n      edges[i].dataIndex = -1;\n    }\n\n    for (var i = 0, len = edgeData.count(); i < len; i++) {\n      edges[edgeData.getRawIndex(i)].dataIndex = i;\n    }\n  };\n\n  ;\n  /**\n   * @return {module:echarts/data/Graph}\n   */\n\n  Graph.prototype.clone = function () {\n    var graph = new Graph(this._directed);\n    var nodes = this.nodes;\n    var edges = this.edges;\n\n    for (var i = 0; i < nodes.length; i++) {\n      graph.addNode(nodes[i].id, nodes[i].dataIndex);\n    }\n\n    for (var i = 0; i < edges.length; i++) {\n      var e = edges[i];\n      graph.addEdge(e.node1.id, e.node2.id, e.dataIndex);\n    }\n\n    return graph;\n  };\n\n  ;\n  return Graph;\n}();\n\nvar GraphNode =\n/** @class */\nfunction () {\n  function GraphNode(id, dataIndex) {\n    this.inEdges = [];\n    this.outEdges = [];\n    this.edges = [];\n    this.dataIndex = -1;\n    this.id = id == null ? '' : id;\n    this.dataIndex = dataIndex == null ? -1 : dataIndex;\n  }\n  /**\n   * @return {number}\n   */\n\n\n  GraphNode.prototype.degree = function () {\n    return this.edges.length;\n  };\n  /**\n   * @return {number}\n   */\n\n\n  GraphNode.prototype.inDegree = function () {\n    return this.inEdges.length;\n  };\n  /**\n  * @return {number}\n  */\n\n\n  GraphNode.prototype.outDegree = function () {\n    return this.outEdges.length;\n  };\n\n  GraphNode.prototype.getModel = function (path) {\n    if (this.dataIndex < 0) {\n      return;\n    }\n\n    var graph = this.hostGraph;\n    var itemModel = graph.data.getItemModel(this.dataIndex);\n    return itemModel.getModel(path);\n  };\n\n  GraphNode.prototype.getAdjacentDataIndices = function () {\n    var dataIndices = {\n      edge: [],\n      node: []\n    };\n\n    for (var i = 0; i < this.edges.length; i++) {\n      var adjacentEdge = this.edges[i];\n\n      if (adjacentEdge.dataIndex < 0) {\n        continue;\n      }\n\n      dataIndices.edge.push(adjacentEdge.dataIndex);\n      dataIndices.node.push(adjacentEdge.node1.dataIndex, adjacentEdge.node2.dataIndex);\n    }\n\n    return dataIndices;\n  };\n\n  return GraphNode;\n}();\n\nvar GraphEdge =\n/** @class */\nfunction () {\n  function GraphEdge(n1, n2, dataIndex) {\n    this.dataIndex = -1;\n    this.node1 = n1;\n    this.node2 = n2;\n    this.dataIndex = dataIndex == null ? -1 : dataIndex;\n  } // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n  GraphEdge.prototype.getModel = function (path) {\n    if (this.dataIndex < 0) {\n      return;\n    }\n\n    var graph = this.hostGraph;\n    var itemModel = graph.edgeData.getItemModel(this.dataIndex);\n    return itemModel.getModel(path);\n  };\n\n  GraphEdge.prototype.getAdjacentDataIndices = function () {\n    return {\n      edge: [this.dataIndex],\n      node: [this.node1.dataIndex, this.node2.dataIndex]\n    };\n  };\n\n  return GraphEdge;\n}();\n\nfunction createGraphDataProxyMixin(hostName, dataName) {\n  return {\n    /**\n     * @param Default 'value'. can be 'a', 'b', 'c', 'd', 'e'.\n     */\n    getValue: function (dimension) {\n      var data = this[hostName][dataName];\n      return data.getStore().get(data.getDimensionIndex(dimension || 'value'), this.dataIndex);\n    },\n    // TODO: TYPE stricter type.\n    setVisual: function (key, value) {\n      this.dataIndex >= 0 && this[hostName][dataName].setItemVisual(this.dataIndex, key, value);\n    },\n    getVisual: function (key) {\n      return this[hostName][dataName].getItemVisual(this.dataIndex, key);\n    },\n    setLayout: function (layout, merge) {\n      this.dataIndex >= 0 && this[hostName][dataName].setItemLayout(this.dataIndex, layout, merge);\n    },\n    getLayout: function () {\n      return this[hostName][dataName].getItemLayout(this.dataIndex);\n    },\n    getGraphicEl: function () {\n      return this[hostName][dataName].getItemGraphicEl(this.dataIndex);\n    },\n    getRawIndex: function () {\n      return this[hostName][dataName].getRawIndex(this.dataIndex);\n    }\n  };\n}\n\n;\n;\n;\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"mixin\"](GraphNode, createGraphDataProxyMixin('hostGraph', 'data'));\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"mixin\"](GraphEdge, createGraphDataProxyMixin('hostGraph', 'edgeData'));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Graph);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/Graph.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/OrdinalMeta.js":
/*!******************************************************!*\
  !*** ./node_modules/echarts/lib/data/OrdinalMeta.js ***!
  \******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar uidBase = 0;\n\nvar OrdinalMeta =\n/** @class */\nfunction () {\n  function OrdinalMeta(opt) {\n    this.categories = opt.categories || [];\n    this._needCollect = opt.needCollect;\n    this._deduplication = opt.deduplication;\n    this.uid = ++uidBase;\n  }\n\n  OrdinalMeta.createByAxisModel = function (axisModel) {\n    var option = axisModel.option;\n    var data = option.data;\n    var categories = data && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(data, getName);\n    return new OrdinalMeta({\n      categories: categories,\n      needCollect: !categories,\n      // deduplication is default in axis.\n      deduplication: option.dedplication !== false\n    });\n  };\n\n  ;\n\n  OrdinalMeta.prototype.getOrdinal = function (category) {\n    // @ts-ignore\n    return this._getOrCreateMap().get(category);\n  };\n  /**\n   * @return The ordinal. If not found, return NaN.\n   */\n\n\n  OrdinalMeta.prototype.parseAndCollect = function (category) {\n    var index;\n    var needCollect = this._needCollect; // The value of category dim can be the index of the given category set.\n    // This feature is only supported when !needCollect, because we should\n    // consider a common case: a value is 2017, which is a number but is\n    // expected to be tread as a category. This case usually happen in dataset,\n    // where it happent to be no need of the index feature.\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(category) && !needCollect) {\n      return category;\n    } // Optimize for the scenario:\n    // category is ['2012-01-01', '2012-01-02', ...], where the input\n    // data has been ensured not duplicate and is large data.\n    // Notice, if a dataset dimension provide categroies, usually echarts\n    // should remove duplication except user tell echarts dont do that\n    // (set axis.deduplication = false), because echarts do not know whether\n    // the values in the category dimension has duplication (consider the\n    // parallel-aqi example)\n\n\n    if (needCollect && !this._deduplication) {\n      index = this.categories.length;\n      this.categories[index] = category;\n      return index;\n    }\n\n    var map = this._getOrCreateMap(); // @ts-ignore\n\n\n    index = map.get(category);\n\n    if (index == null) {\n      if (needCollect) {\n        index = this.categories.length;\n        this.categories[index] = category; // @ts-ignore\n\n        map.set(category, index);\n      } else {\n        index = NaN;\n      }\n    }\n\n    return index;\n  }; // Consider big data, do not create map until needed.\n\n\n  OrdinalMeta.prototype._getOrCreateMap = function () {\n    return this._map || (this._map = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])(this.categories));\n  };\n\n  return OrdinalMeta;\n}();\n\nfunction getName(obj) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(obj) && obj.value != null) {\n    return obj.value;\n  } else {\n    return obj + '';\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (OrdinalMeta);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/OrdinalMeta.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/SeriesData.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/data/SeriesData.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _DataDiffer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DataDiffer.js */ \"./node_modules/echarts/lib/data/DataDiffer.js\");\n/* harmony import */ var _helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper/dataProvider.js */ \"./node_modules/echarts/lib/data/helper/dataProvider.js\");\n/* harmony import */ var _helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper/dimensionHelper.js */ \"./node_modules/echarts/lib/data/helper/dimensionHelper.js\");\n/* harmony import */ var _SeriesDimensionDefine_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SeriesDimensionDefine.js */ \"./node_modules/echarts/lib/data/SeriesDimensionDefine.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n/* harmony import */ var _DataStore_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DataStore.js */ \"./node_modules/echarts/lib/data/DataStore.js\");\n/* harmony import */ var _helper_SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helper/SeriesDataSchema.js */ \"./node_modules/echarts/lib/data/helper/SeriesDataSchema.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Int32Array */\n\n\n\n\n\n\n\n\n\n\n\n\nvar isObject = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"];\nvar map = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"];\nvar CtorInt32Array = typeof Int32Array === 'undefined' ? Array : Int32Array; // Use prefix to avoid index to be the same as otherIdList[idx],\n// which will cause weird udpate animation.\n\nvar ID_PREFIX = 'e\\0\\0';\nvar INDEX_NOT_FOUND = -1; // type SeriesDimensionIndex = DimensionIndex;\n\nvar TRANSFERABLE_PROPERTIES = ['hasItemOption', '_nameList', '_idList', '_invertedIndicesMap', '_dimSummary', 'userOutput', '_rawData', '_dimValueGetter', '_nameDimIdx', '_idDimIdx', '_nameRepeatCount'];\nvar CLONE_PROPERTIES = ['_approximateExtent']; // -----------------------------\n// Internal method declarations:\n// -----------------------------\n\nvar prepareInvertedIndex;\nvar getId;\nvar getIdNameFromStore;\nvar normalizeDimensions;\nvar transferProperties;\nvar cloneListForMapAndSample;\nvar makeIdFromName;\n\nvar SeriesData =\n/** @class */\nfunction () {\n  /**\n   * @param dimensionsInput.dimensions\n   *        For example, ['someDimName', {name: 'someDimName', type: 'someDimType'}, ...].\n   *        Dimensions should be concrete names like x, y, z, lng, lat, angle, radius\n   */\n  function SeriesData(dimensionsInput, hostModel) {\n    this.type = 'list';\n    this._dimOmitted = false;\n    this._nameList = [];\n    this._idList = []; // Models of data option is stored sparse for optimizing memory cost\n    // Never used yet (not used yet).\n    // private _optionModels: Model[] = [];\n    // Global visual properties after visual coding\n\n    this._visual = {}; // Globel layout properties.\n\n    this._layout = {}; // Item visual properties after visual coding\n\n    this._itemVisuals = []; // Item layout properties after layout\n\n    this._itemLayouts = []; // Graphic elemnents\n\n    this._graphicEls = []; // key: dim, value: extent\n\n    this._approximateExtent = {};\n    this._calculationInfo = {}; // Having detected that there is data item is non primitive type\n    // (in type `OptionDataItemObject`).\n    // Like `data: [ { value: xx, itemStyle: {...} }, ...]`\n    // At present it only happen in `SOURCE_FORMAT_ORIGINAL`.\n\n    this.hasItemOption = false; // Methods that create a new list based on this list should be listed here.\n    // Notice that those method should `RETURN` the new list.\n\n    this.TRANSFERABLE_METHODS = ['cloneShallow', 'downSample', 'lttbDownSample', 'map']; // Methods that change indices of this list should be listed here.\n\n    this.CHANGABLE_METHODS = ['filterSelf', 'selectRange'];\n    this.DOWNSAMPLE_METHODS = ['downSample', 'lttbDownSample'];\n    var dimensions;\n    var assignStoreDimIdx = false;\n\n    if (Object(_helper_SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_11__[\"isSeriesDataSchema\"])(dimensionsInput)) {\n      dimensions = dimensionsInput.dimensions;\n      this._dimOmitted = dimensionsInput.isDimensionOmitted();\n      this._schema = dimensionsInput;\n    } else {\n      assignStoreDimIdx = true;\n      dimensions = dimensionsInput;\n    }\n\n    dimensions = dimensions || ['x', 'y'];\n    var dimensionInfos = {};\n    var dimensionNames = [];\n    var invertedIndicesMap = {};\n    var needsHasOwn = false;\n    var emptyObj = {};\n\n    for (var i = 0; i < dimensions.length; i++) {\n      // Use the original dimensions[i], where other flag props may exists.\n      var dimInfoInput = dimensions[i];\n      var dimensionInfo = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](dimInfoInput) ? new _SeriesDimensionDefine_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]({\n        name: dimInfoInput\n      }) : !(dimInfoInput instanceof _SeriesDimensionDefine_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) ? new _SeriesDimensionDefine_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](dimInfoInput) : dimInfoInput;\n      var dimensionName = dimensionInfo.name;\n      dimensionInfo.type = dimensionInfo.type || 'float';\n\n      if (!dimensionInfo.coordDim) {\n        dimensionInfo.coordDim = dimensionName;\n        dimensionInfo.coordDimIndex = 0;\n      }\n\n      var otherDims = dimensionInfo.otherDims = dimensionInfo.otherDims || {};\n      dimensionNames.push(dimensionName);\n      dimensionInfos[dimensionName] = dimensionInfo;\n\n      if (emptyObj[dimensionName] != null) {\n        needsHasOwn = true;\n      }\n\n      if (dimensionInfo.createInvertedIndices) {\n        invertedIndicesMap[dimensionName] = [];\n      }\n\n      if (otherDims.itemName === 0) {\n        this._nameDimIdx = i;\n      }\n\n      if (otherDims.itemId === 0) {\n        this._idDimIdx = i;\n      }\n\n      if (true) {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"](assignStoreDimIdx || dimensionInfo.storeDimIndex >= 0);\n      }\n\n      if (assignStoreDimIdx) {\n        dimensionInfo.storeDimIndex = i;\n      }\n    }\n\n    this.dimensions = dimensionNames;\n    this._dimInfos = dimensionInfos;\n\n    this._initGetDimensionInfo(needsHasOwn);\n\n    this.hostModel = hostModel;\n    this._invertedIndicesMap = invertedIndicesMap;\n\n    if (this._dimOmitted) {\n      var dimIdxToName_1 = this._dimIdxToName = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](dimensionNames, function (dimName) {\n        dimIdxToName_1.set(dimensionInfos[dimName].storeDimIndex, dimName);\n      });\n    }\n  }\n  /**\n   *\n   * Get concrete dimension name by dimension name or dimension index.\n   * If input a dimension name, do not validate whether the dimension name exits.\n   *\n   * @caution\n   * @param dim Must make sure the dimension is `SeriesDimensionLoose`.\n   * Because only those dimensions will have auto-generated dimension names if not\n   * have a user-specified name, and other dimensions will get a return of null/undefined.\n   *\n   * @notice Becuause of this reason, should better use `getDimensionIndex` instead, for examples:\n   * ```js\n   * const val = data.getStore().get(data.getDimensionIndex(dim), dataIdx);\n   * ```\n   *\n   * @return Concrete dim name.\n   */\n\n\n  SeriesData.prototype.getDimension = function (dim) {\n    var dimIdx = this._recognizeDimIndex(dim);\n\n    if (dimIdx == null) {\n      return dim;\n    }\n\n    dimIdx = dim;\n\n    if (!this._dimOmitted) {\n      return this.dimensions[dimIdx];\n    } // Retrieve from series dimension definition becuase it probably contains\n    // generated dimension name (like 'x', 'y').\n\n\n    var dimName = this._dimIdxToName.get(dimIdx);\n\n    if (dimName != null) {\n      return dimName;\n    }\n\n    var sourceDimDef = this._schema.getSourceDimension(dimIdx);\n\n    if (sourceDimDef) {\n      return sourceDimDef.name;\n    }\n  };\n  /**\n   * Get dimension index in data store. Return -1 if not found.\n   * Can be used to index value from getRawValue.\n   */\n\n\n  SeriesData.prototype.getDimensionIndex = function (dim) {\n    var dimIdx = this._recognizeDimIndex(dim);\n\n    if (dimIdx != null) {\n      return dimIdx;\n    }\n\n    if (dim == null) {\n      return -1;\n    }\n\n    var dimInfo = this._getDimInfo(dim);\n\n    return dimInfo ? dimInfo.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(dim) : -1;\n  };\n  /**\n   * The meanings of the input parameter `dim`:\n   *\n   * + If dim is a number (e.g., `1`), it means the index of the dimension.\n   *   For example, `getDimension(0)` will return 'x' or 'lng' or 'radius'.\n   * + If dim is a number-like string (e.g., `\"1\"`):\n   *     + If there is the same concrete dim name defined in `series.dimensions` or `dataset.dimensions`,\n   *        it means that concrete name.\n   *     + If not, it will be converted to a number, which means the index of the dimension.\n   *        (why? because of the backward compatbility. We have been tolerating number-like string in\n   *        dimension setting, although now it seems that it is not a good idea.)\n   *     For example, `visualMap[i].dimension: \"1\"` is the same meaning as `visualMap[i].dimension: 1`,\n   *     if no dimension name is defined as `\"1\"`.\n   * + If dim is a not-number-like string, it means the concrete dim name.\n   *   For example, it can be be default name `\"x\"`, `\"y\"`, `\"z\"`, `\"lng\"`, `\"lat\"`, `\"angle\"`, `\"radius\"`,\n   *   or customized in `dimensions` property of option like `\"age\"`.\n   *\n   * @return recogonized `DimensionIndex`. Otherwise return null/undefined (means that dim is `DimensionName`).\n   */\n\n\n  SeriesData.prototype._recognizeDimIndex = function (dim) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](dim) // If being a number-like string but not being defined as a dimension name.\n    || dim != null && !isNaN(dim) && !this._getDimInfo(dim) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(dim) < 0)) {\n      return +dim;\n    }\n  };\n\n  SeriesData.prototype._getStoreDimIndex = function (dim) {\n    var dimIdx = this.getDimensionIndex(dim);\n\n    if (true) {\n      if (dimIdx == null) {\n        throw new Error('Unkown dimension ' + dim);\n      }\n    }\n\n    return dimIdx;\n  };\n  /**\n   * Get type and calculation info of particular dimension\n   * @param dim\n   *        Dimension can be concrete names like x, y, z, lng, lat, angle, radius\n   *        Or a ordinal number. For example getDimensionInfo(0) will return 'x' or 'lng' or 'radius'\n   */\n\n\n  SeriesData.prototype.getDimensionInfo = function (dim) {\n    // Do not clone, because there may be categories in dimInfo.\n    return this._getDimInfo(this.getDimension(dim));\n  };\n\n  SeriesData.prototype._initGetDimensionInfo = function (needsHasOwn) {\n    var dimensionInfos = this._dimInfos;\n    this._getDimInfo = needsHasOwn ? function (dimName) {\n      return dimensionInfos.hasOwnProperty(dimName) ? dimensionInfos[dimName] : undefined;\n    } : function (dimName) {\n      return dimensionInfos[dimName];\n    };\n  };\n  /**\n   * concrete dimension name list on coord.\n   */\n\n\n  SeriesData.prototype.getDimensionsOnCoord = function () {\n    return this._dimSummary.dataDimsOnCoord.slice();\n  };\n\n  SeriesData.prototype.mapDimension = function (coordDim, idx) {\n    var dimensionsSummary = this._dimSummary;\n\n    if (idx == null) {\n      return dimensionsSummary.encodeFirstDimNotExtra[coordDim];\n    }\n\n    var dims = dimensionsSummary.encode[coordDim];\n    return dims ? dims[idx] : null;\n  };\n\n  SeriesData.prototype.mapDimensionsAll = function (coordDim) {\n    var dimensionsSummary = this._dimSummary;\n    var dims = dimensionsSummary.encode[coordDim];\n    return (dims || []).slice();\n  };\n\n  SeriesData.prototype.getStore = function () {\n    return this._store;\n  };\n  /**\n   * Initialize from data\n   * @param data source or data or data store.\n   * @param nameList The name of a datum is used on data diff and\n   *        default label/tooltip.\n   *        A name can be specified in encode.itemName,\n   *        or dataItem.name (only for series option data),\n   *        or provided in nameList from outside.\n   */\n\n\n  SeriesData.prototype.initData = function (data, nameList, dimValueGetter) {\n    var _this = this;\n\n    var store;\n\n    if (data instanceof _DataStore_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]) {\n      store = data;\n    }\n\n    if (!store) {\n      var dimensions = this.dimensions;\n      var provider = Object(_Source_js__WEBPACK_IMPORTED_MODULE_9__[\"isSourceInstance\"])(data) || zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArrayLike\"](data) ? new _helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_3__[\"DefaultDataProvider\"](data, dimensions.length) : data;\n      store = new _DataStore_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]();\n      var dimensionInfos = map(dimensions, function (dimName) {\n        return {\n          type: _this._dimInfos[dimName].type,\n          property: dimName\n        };\n      });\n      store.initData(provider, dimensionInfos, dimValueGetter);\n    }\n\n    this._store = store; // Reset\n\n    this._nameList = (nameList || []).slice();\n    this._idList = [];\n    this._nameRepeatCount = {};\n\n    this._doInit(0, store.count()); // Cache summary info for fast visit. See \"dimensionHelper\".\n    // Needs to be initialized after store is prepared.\n\n\n    this._dimSummary = Object(_helper_dimensionHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"summarizeDimensions\"])(this, this._schema);\n    this.userOutput = this._dimSummary.userOutput;\n  };\n  /**\n   * Caution: Can be only called on raw data (before `this._indices` created).\n   */\n\n\n  SeriesData.prototype.appendData = function (data) {\n    var range = this._store.appendData(data);\n\n    this._doInit(range[0], range[1]);\n  };\n  /**\n   * Caution: Can be only called on raw data (before `this._indices` created).\n   * This method does not modify `rawData` (`dataProvider`), but only\n   * add values to store.\n   *\n   * The final count will be increased by `Math.max(values.length, names.length)`.\n   *\n   * @param values That is the SourceType: 'arrayRows', like\n   *        [\n   *            [12, 33, 44],\n   *            [NaN, 43, 1],\n   *            ['-', 'asdf', 0]\n   *        ]\n   *        Each item is exaclty cooresponding to a dimension.\n   */\n\n\n  SeriesData.prototype.appendValues = function (values, names) {\n    var _a = this._store.appendValues(values, names.length),\n        start = _a.start,\n        end = _a.end;\n\n    var shouldMakeIdFromName = this._shouldMakeIdFromName();\n\n    this._updateOrdinalMeta();\n\n    if (names) {\n      for (var idx = start; idx < end; idx++) {\n        var sourceIdx = idx - start;\n        this._nameList[idx] = names[sourceIdx];\n\n        if (shouldMakeIdFromName) {\n          makeIdFromName(this, idx);\n        }\n      }\n    }\n  };\n\n  SeriesData.prototype._updateOrdinalMeta = function () {\n    var store = this._store;\n    var dimensions = this.dimensions;\n\n    for (var i = 0; i < dimensions.length; i++) {\n      var dimInfo = this._dimInfos[dimensions[i]];\n\n      if (dimInfo.ordinalMeta) {\n        store.collectOrdinalMeta(dimInfo.storeDimIndex, dimInfo.ordinalMeta);\n      }\n    }\n  };\n\n  SeriesData.prototype._shouldMakeIdFromName = function () {\n    var provider = this._store.getProvider();\n\n    return this._idDimIdx == null && provider.getSource().sourceFormat !== _util_types_js__WEBPACK_IMPORTED_MODULE_6__[\"SOURCE_FORMAT_TYPED_ARRAY\"] && !provider.fillStorage;\n  };\n\n  SeriesData.prototype._doInit = function (start, end) {\n    if (start >= end) {\n      return;\n    }\n\n    var store = this._store;\n    var provider = store.getProvider();\n\n    this._updateOrdinalMeta();\n\n    var nameList = this._nameList;\n    var idList = this._idList;\n    var sourceFormat = provider.getSource().sourceFormat;\n    var isFormatOriginal = sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_6__[\"SOURCE_FORMAT_ORIGINAL\"]; // Each data item is value\n    // [1, 2]\n    // 2\n    // Bar chart, line chart which uses category axis\n    // only gives the 'y' value. 'x' value is the indices of category\n    // Use a tempValue to normalize the value to be a (x, y) value\n    // If dataItem is {name: ...} or {id: ...}, it has highest priority.\n    // This kind of ids and names are always stored `_nameList` and `_idList`.\n\n    if (isFormatOriginal && !provider.pure) {\n      var sharedDataItem = [];\n\n      for (var idx = start; idx < end; idx++) {\n        // NOTICE: Try not to write things into dataItem\n        var dataItem = provider.getItem(idx, sharedDataItem);\n\n        if (!this.hasItemOption && Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"isDataItemOption\"])(dataItem)) {\n          this.hasItemOption = true;\n        }\n\n        if (dataItem) {\n          var itemName = dataItem.name;\n\n          if (nameList[idx] == null && itemName != null) {\n            nameList[idx] = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"convertOptionIdName\"])(itemName, null);\n          }\n\n          var itemId = dataItem.id;\n\n          if (idList[idx] == null && itemId != null) {\n            idList[idx] = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"convertOptionIdName\"])(itemId, null);\n          }\n        }\n      }\n    }\n\n    if (this._shouldMakeIdFromName()) {\n      for (var idx = start; idx < end; idx++) {\n        makeIdFromName(this, idx);\n      }\n    }\n\n    prepareInvertedIndex(this);\n  };\n  /**\n   * PENDING: In fact currently this function is only used to short-circuit\n   * the calling of `scale.unionExtentFromData` when data have been filtered by modules\n   * like \"dataZoom\". `scale.unionExtentFromData` is used to calculate data extent for series on\n   * an axis, but if a \"axis related data filter module\" is used, the extent of the axis have\n   * been fixed and no need to calling `scale.unionExtentFromData` actually.\n   * But if we add \"custom data filter\" in future, which is not \"axis related\", this method may\n   * be still needed.\n   *\n   * Optimize for the scenario that data is filtered by a given extent.\n   * Consider that if data amount is more than hundreds of thousand,\n   * extent calculation will cost more than 10ms and the cache will\n   * be erased because of the filtering.\n   */\n\n\n  SeriesData.prototype.getApproximateExtent = function (dim) {\n    return this._approximateExtent[dim] || this._store.getDataExtent(this._getStoreDimIndex(dim));\n  };\n  /**\n   * Calculate extent on a filtered data might be time consuming.\n   * Approximate extent is only used for: calculte extent of filtered data outside.\n   */\n\n\n  SeriesData.prototype.setApproximateExtent = function (extent, dim) {\n    dim = this.getDimension(dim);\n    this._approximateExtent[dim] = extent.slice();\n  };\n\n  SeriesData.prototype.getCalculationInfo = function (key) {\n    return this._calculationInfo[key];\n  };\n\n  SeriesData.prototype.setCalculationInfo = function (key, value) {\n    isObject(key) ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](this._calculationInfo, key) : this._calculationInfo[key] = value;\n  };\n  /**\n   * @return Never be null/undefined. `number` will be converted to string. Becuase:\n   * In most cases, name is used in display, where returning a string is more convenient.\n   * In other cases, name is used in query (see `indexOfName`), where we can keep the\n   * rule that name `2` equals to name `'2'`.\n   */\n\n\n  SeriesData.prototype.getName = function (idx) {\n    var rawIndex = this.getRawIndex(idx);\n    var name = this._nameList[rawIndex];\n\n    if (name == null && this._nameDimIdx != null) {\n      name = getIdNameFromStore(this, this._nameDimIdx, rawIndex);\n    }\n\n    if (name == null) {\n      name = '';\n    }\n\n    return name;\n  };\n\n  SeriesData.prototype._getCategory = function (dimIdx, idx) {\n    var ordinal = this._store.get(dimIdx, idx);\n\n    var ordinalMeta = this._store.getOrdinalMeta(dimIdx);\n\n    if (ordinalMeta) {\n      return ordinalMeta.categories[ordinal];\n    }\n\n    return ordinal;\n  };\n  /**\n   * @return Never null/undefined. `number` will be converted to string. Becuase:\n   * In all cases having encountered at present, id is used in making diff comparison, which\n   * are usually based on hash map. We can keep the rule that the internal id are always string\n   * (treat `2` is the same as `'2'`) to make the related logic simple.\n   */\n\n\n  SeriesData.prototype.getId = function (idx) {\n    return getId(this, this.getRawIndex(idx));\n  };\n\n  SeriesData.prototype.count = function () {\n    return this._store.count();\n  };\n  /**\n   * Get value. Return NaN if idx is out of range.\n   *\n   * @notice Should better to use `data.getStore().get(dimIndex, dataIdx)` instead.\n   */\n\n\n  SeriesData.prototype.get = function (dim, idx) {\n    var store = this._store;\n    var dimInfo = this._dimInfos[dim];\n\n    if (dimInfo) {\n      return store.get(dimInfo.storeDimIndex, idx);\n    }\n  };\n  /**\n   * @notice Should better to use `data.getStore().getByRawIndex(dimIndex, dataIdx)` instead.\n   */\n\n\n  SeriesData.prototype.getByRawIndex = function (dim, rawIdx) {\n    var store = this._store;\n    var dimInfo = this._dimInfos[dim];\n\n    if (dimInfo) {\n      return store.getByRawIndex(dimInfo.storeDimIndex, rawIdx);\n    }\n  };\n\n  SeriesData.prototype.getIndices = function () {\n    return this._store.getIndices();\n  };\n\n  SeriesData.prototype.getDataExtent = function (dim) {\n    return this._store.getDataExtent(this._getStoreDimIndex(dim));\n  };\n\n  SeriesData.prototype.getSum = function (dim) {\n    return this._store.getSum(this._getStoreDimIndex(dim));\n  };\n\n  SeriesData.prototype.getMedian = function (dim) {\n    return this._store.getMedian(this._getStoreDimIndex(dim));\n  };\n\n  SeriesData.prototype.getValues = function (dimensions, idx) {\n    var _this = this;\n\n    var store = this._store;\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](dimensions) ? store.getValues(map(dimensions, function (dim) {\n      return _this._getStoreDimIndex(dim);\n    }), idx) : store.getValues(dimensions);\n  };\n  /**\n   * If value is NaN. Inlcuding '-'\n   * Only check the coord dimensions.\n   */\n\n\n  SeriesData.prototype.hasValue = function (idx) {\n    var dataDimIndicesOnCoord = this._dimSummary.dataDimIndicesOnCoord;\n\n    for (var i = 0, len = dataDimIndicesOnCoord.length; i < len; i++) {\n      // Ordinal type originally can be string or number.\n      // But when an ordinal type is used on coord, it can\n      // not be string but only number. So we can also use isNaN.\n      if (isNaN(this._store.get(dataDimIndicesOnCoord[i], idx))) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n  /**\n   * Retreive the index with given name\n   */\n\n\n  SeriesData.prototype.indexOfName = function (name) {\n    for (var i = 0, len = this._store.count(); i < len; i++) {\n      if (this.getName(i) === name) {\n        return i;\n      }\n    }\n\n    return -1;\n  };\n\n  SeriesData.prototype.getRawIndex = function (idx) {\n    return this._store.getRawIndex(idx);\n  };\n\n  SeriesData.prototype.indexOfRawIndex = function (rawIndex) {\n    return this._store.indexOfRawIndex(rawIndex);\n  };\n  /**\n   * Only support the dimension which inverted index created.\n   * Do not support other cases until required.\n   * @param dim concrete dim\n   * @param value ordinal index\n   * @return rawIndex\n   */\n\n\n  SeriesData.prototype.rawIndexOf = function (dim, value) {\n    var invertedIndices = dim && this._invertedIndicesMap[dim];\n\n    if (true) {\n      if (!invertedIndices) {\n        throw new Error('Do not supported yet');\n      }\n    }\n\n    var rawIndex = invertedIndices[value];\n\n    if (rawIndex == null || isNaN(rawIndex)) {\n      return INDEX_NOT_FOUND;\n    }\n\n    return rawIndex;\n  };\n  /**\n   * Retreive the index of nearest value\n   * @param dim\n   * @param value\n   * @param [maxDistance=Infinity]\n   * @return If and only if multiple indices has\n   *         the same value, they are put to the result.\n   */\n\n\n  SeriesData.prototype.indicesOfNearest = function (dim, value, maxDistance) {\n    return this._store.indicesOfNearest(this._getStoreDimIndex(dim), value, maxDistance);\n  };\n\n  SeriesData.prototype.each = function (dims, cb, ctx) {\n    'use strict';\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](dims)) {\n      ctx = cb;\n      cb = dims;\n      dims = [];\n    } // ctxCompat just for compat echarts3\n\n\n    var fCtx = ctx || this;\n    var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);\n\n    this._store.each(dimIndices, fCtx ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](cb, fCtx) : cb);\n  };\n\n  SeriesData.prototype.filterSelf = function (dims, cb, ctx) {\n    'use strict';\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](dims)) {\n      ctx = cb;\n      cb = dims;\n      dims = [];\n    } // ctxCompat just for compat echarts3\n\n\n    var fCtx = ctx || this;\n    var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);\n    this._store = this._store.filter(dimIndices, fCtx ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](cb, fCtx) : cb);\n    return this;\n  };\n  /**\n   * Select data in range. (For optimization of filter)\n   * (Manually inline code, support 5 million data filtering in data zoom.)\n   */\n\n\n  SeriesData.prototype.selectRange = function (range) {\n    'use strict';\n\n    var _this = this;\n\n    var innerRange = {};\n    var dims = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"](range);\n    var dimIndices = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](dims, function (dim) {\n      var dimIdx = _this._getStoreDimIndex(dim);\n\n      innerRange[dimIdx] = range[dim];\n      dimIndices.push(dimIdx);\n    });\n    this._store = this._store.selectRange(innerRange);\n    return this;\n  };\n  /* eslint-enable max-len */\n\n\n  SeriesData.prototype.mapArray = function (dims, cb, ctx) {\n    'use strict';\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](dims)) {\n      ctx = cb;\n      cb = dims;\n      dims = [];\n    } // ctxCompat just for compat echarts3\n\n\n    ctx = ctx || this;\n    var result = [];\n    this.each(dims, function () {\n      result.push(cb && cb.apply(this, arguments));\n    }, ctx);\n    return result;\n  };\n\n  SeriesData.prototype.map = function (dims, cb, ctx, ctxCompat) {\n    'use strict'; // ctxCompat just for compat echarts3\n\n    var fCtx = ctx || ctxCompat || this;\n    var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);\n    var list = cloneListForMapAndSample(this);\n    list._store = this._store.map(dimIndices, fCtx ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](cb, fCtx) : cb);\n    return list;\n  };\n\n  SeriesData.prototype.modify = function (dims, cb, ctx, ctxCompat) {\n    var _this = this; // ctxCompat just for compat echarts3\n\n\n    var fCtx = ctx || ctxCompat || this;\n\n    if (true) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](normalizeDimensions(dims), function (dim) {\n        var dimInfo = _this.getDimensionInfo(dim);\n\n        if (!dimInfo.isCalculationCoord) {\n          console.error('Danger: only stack dimension can be modified');\n        }\n      });\n    }\n\n    var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this); // If do shallow clone here, if there are too many stacked series,\n    // it still cost lots of memory, becuase `_store.dimensions` are not shared.\n    // We should consider there probably be shallow clone happen in each sereis\n    // in consequent filter/map.\n\n    this._store.modify(dimIndices, fCtx ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](cb, fCtx) : cb);\n  };\n  /**\n   * Large data down sampling on given dimension\n   * @param sampleIndex Sample index for name and id\n   */\n\n\n  SeriesData.prototype.downSample = function (dimension, rate, sampleValue, sampleIndex) {\n    var list = cloneListForMapAndSample(this);\n    list._store = this._store.downSample(this._getStoreDimIndex(dimension), rate, sampleValue, sampleIndex);\n    return list;\n  };\n  /**\n   * Large data down sampling using largest-triangle-three-buckets\n   * @param {string} valueDimension\n   * @param {number} targetCount\n   */\n\n\n  SeriesData.prototype.lttbDownSample = function (valueDimension, rate) {\n    var list = cloneListForMapAndSample(this);\n    list._store = this._store.lttbDownSample(this._getStoreDimIndex(valueDimension), rate);\n    return list;\n  };\n\n  SeriesData.prototype.getRawDataItem = function (idx) {\n    return this._store.getRawDataItem(idx);\n  };\n  /**\n   * Get model of one data item.\n   */\n  // TODO: Type of data item\n\n\n  SeriesData.prototype.getItemModel = function (idx) {\n    var hostModel = this.hostModel;\n    var dataItem = this.getRawDataItem(idx);\n    return new _model_Model_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](dataItem, hostModel, hostModel && hostModel.ecModel);\n  };\n  /**\n   * Create a data differ\n   */\n\n\n  SeriesData.prototype.diff = function (otherList) {\n    var thisList = this;\n    return new _DataDiffer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](otherList ? otherList.getStore().getIndices() : [], this.getStore().getIndices(), function (idx) {\n      return getId(otherList, idx);\n    }, function (idx) {\n      return getId(thisList, idx);\n    });\n  };\n  /**\n   * Get visual property.\n   */\n\n\n  SeriesData.prototype.getVisual = function (key) {\n    var visual = this._visual;\n    return visual && visual[key];\n  };\n\n  SeriesData.prototype.setVisual = function (kvObj, val) {\n    this._visual = this._visual || {};\n\n    if (isObject(kvObj)) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](this._visual, kvObj);\n    } else {\n      this._visual[kvObj] = val;\n    }\n  };\n  /**\n   * Get visual property of single data item\n   */\n  // eslint-disable-next-line\n\n\n  SeriesData.prototype.getItemVisual = function (idx, key) {\n    var itemVisual = this._itemVisuals[idx];\n    var val = itemVisual && itemVisual[key];\n\n    if (val == null) {\n      // Use global visual property\n      return this.getVisual(key);\n    }\n\n    return val;\n  };\n  /**\n   * If exists visual property of single data item\n   */\n\n\n  SeriesData.prototype.hasItemVisual = function () {\n    return this._itemVisuals.length > 0;\n  };\n  /**\n   * Make sure itemVisual property is unique\n   */\n  // TODO: use key to save visual to reduce memory.\n\n\n  SeriesData.prototype.ensureUniqueItemVisual = function (idx, key) {\n    var itemVisuals = this._itemVisuals;\n    var itemVisual = itemVisuals[idx];\n\n    if (!itemVisual) {\n      itemVisual = itemVisuals[idx] = {};\n    }\n\n    var val = itemVisual[key];\n\n    if (val == null) {\n      val = this.getVisual(key); // TODO Performance?\n\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](val)) {\n        val = val.slice();\n      } else if (isObject(val)) {\n        val = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({}, val);\n      }\n\n      itemVisual[key] = val;\n    }\n\n    return val;\n  }; // eslint-disable-next-line\n\n\n  SeriesData.prototype.setItemVisual = function (idx, key, value) {\n    var itemVisual = this._itemVisuals[idx] || {};\n    this._itemVisuals[idx] = itemVisual;\n\n    if (isObject(key)) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](itemVisual, key);\n    } else {\n      itemVisual[key] = value;\n    }\n  };\n  /**\n   * Clear itemVisuals and list visual.\n   */\n\n\n  SeriesData.prototype.clearAllVisual = function () {\n    this._visual = {};\n    this._itemVisuals = [];\n  };\n\n  SeriesData.prototype.setLayout = function (key, val) {\n    isObject(key) ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](this._layout, key) : this._layout[key] = val;\n  };\n  /**\n   * Get layout property.\n   */\n\n\n  SeriesData.prototype.getLayout = function (key) {\n    return this._layout[key];\n  };\n  /**\n   * Get layout of single data item\n   */\n\n\n  SeriesData.prototype.getItemLayout = function (idx) {\n    return this._itemLayouts[idx];\n  };\n  /**\n   * Set layout of single data item\n   */\n\n\n  SeriesData.prototype.setItemLayout = function (idx, layout, merge) {\n    this._itemLayouts[idx] = merge ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](this._itemLayouts[idx] || {}, layout) : layout;\n  };\n  /**\n   * Clear all layout of single data item\n   */\n\n\n  SeriesData.prototype.clearItemLayouts = function () {\n    this._itemLayouts.length = 0;\n  };\n  /**\n   * Set graphic element relative to data. It can be set as null\n   */\n\n\n  SeriesData.prototype.setItemGraphicEl = function (idx, el) {\n    var seriesIndex = this.hostModel && this.hostModel.seriesIndex;\n    Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_8__[\"setCommonECData\"])(seriesIndex, this.dataType, idx, el);\n    this._graphicEls[idx] = el;\n  };\n\n  SeriesData.prototype.getItemGraphicEl = function (idx) {\n    return this._graphicEls[idx];\n  };\n\n  SeriesData.prototype.eachItemGraphicEl = function (cb, context) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](this._graphicEls, function (el, idx) {\n      if (el) {\n        cb && cb.call(context, el, idx);\n      }\n    });\n  };\n  /**\n   * Shallow clone a new list except visual and layout properties, and graph elements.\n   * New list only change the indices.\n   */\n\n\n  SeriesData.prototype.cloneShallow = function (list) {\n    if (!list) {\n      list = new SeriesData(this._schema ? this._schema : map(this.dimensions, this._getDimInfo, this), this.hostModel);\n    }\n\n    transferProperties(list, this);\n    list._store = this._store;\n    return list;\n  };\n  /**\n   * Wrap some method to add more feature\n   */\n\n\n  SeriesData.prototype.wrapMethod = function (methodName, injectFunction) {\n    var originalMethod = this[methodName];\n\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](originalMethod)) {\n      return;\n    }\n\n    this.__wrappedMethods = this.__wrappedMethods || [];\n\n    this.__wrappedMethods.push(methodName);\n\n    this[methodName] = function () {\n      var res = originalMethod.apply(this, arguments);\n      return injectFunction.apply(this, [res].concat(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"slice\"](arguments)));\n    };\n  }; // ----------------------------------------------------------\n  // A work around for internal method visiting private member.\n  // ----------------------------------------------------------\n\n\n  SeriesData.internalField = function () {\n    prepareInvertedIndex = function (data) {\n      var invertedIndicesMap = data._invertedIndicesMap;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](invertedIndicesMap, function (invertedIndices, dim) {\n        var dimInfo = data._dimInfos[dim]; // Currently, only dimensions that has ordinalMeta can create inverted indices.\n\n        var ordinalMeta = dimInfo.ordinalMeta;\n        var store = data._store;\n\n        if (ordinalMeta) {\n          invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array(ordinalMeta.categories.length); // The default value of TypedArray is 0. To avoid miss\n          // mapping to 0, we should set it as INDEX_NOT_FOUND.\n\n          for (var i = 0; i < invertedIndices.length; i++) {\n            invertedIndices[i] = INDEX_NOT_FOUND;\n          }\n\n          for (var i = 0; i < store.count(); i++) {\n            // Only support the case that all values are distinct.\n            invertedIndices[store.get(dimInfo.storeDimIndex, i)] = i;\n          }\n        }\n      });\n    };\n\n    getIdNameFromStore = function (data, dimIdx, idx) {\n      return Object(_util_model_js__WEBPACK_IMPORTED_MODULE_7__[\"convertOptionIdName\"])(data._getCategory(dimIdx, idx), null);\n    };\n    /**\n     * @see the comment of `List['getId']`.\n     */\n\n\n    getId = function (data, rawIndex) {\n      var id = data._idList[rawIndex];\n\n      if (id == null && data._idDimIdx != null) {\n        id = getIdNameFromStore(data, data._idDimIdx, rawIndex);\n      }\n\n      if (id == null) {\n        id = ID_PREFIX + rawIndex;\n      }\n\n      return id;\n    };\n\n    normalizeDimensions = function (dimensions) {\n      if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](dimensions)) {\n        dimensions = dimensions != null ? [dimensions] : [];\n      }\n\n      return dimensions;\n    };\n    /**\n     * Data in excludeDimensions is copied, otherwise transfered.\n     */\n\n\n    cloneListForMapAndSample = function (original) {\n      var list = new SeriesData(original._schema ? original._schema : map(original.dimensions, original._getDimInfo, original), original.hostModel); // FIXME If needs stackedOn, value may already been stacked\n\n      transferProperties(list, original);\n      return list;\n    };\n\n    transferProperties = function (target, source) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](TRANSFERABLE_PROPERTIES.concat(source.__wrappedMethods || []), function (propName) {\n        if (source.hasOwnProperty(propName)) {\n          target[propName] = source[propName];\n        }\n      });\n      target.__wrappedMethods = source.__wrappedMethods;\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](CLONE_PROPERTIES, function (propName) {\n        target[propName] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](source[propName]);\n      });\n      target._calculationInfo = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({}, source._calculationInfo);\n    };\n\n    makeIdFromName = function (data, idx) {\n      var nameList = data._nameList;\n      var idList = data._idList;\n      var nameDimIdx = data._nameDimIdx;\n      var idDimIdx = data._idDimIdx;\n      var name = nameList[idx];\n      var id = idList[idx];\n\n      if (name == null && nameDimIdx != null) {\n        nameList[idx] = name = getIdNameFromStore(data, nameDimIdx, idx);\n      }\n\n      if (id == null && idDimIdx != null) {\n        idList[idx] = id = getIdNameFromStore(data, idDimIdx, idx);\n      }\n\n      if (id == null && name != null) {\n        var nameRepeatCount = data._nameRepeatCount;\n        var nmCnt = nameRepeatCount[name] = (nameRepeatCount[name] || 0) + 1;\n        id = name;\n\n        if (nmCnt > 1) {\n          id += '__ec__' + nmCnt;\n        }\n\n        idList[idx] = id;\n      }\n    };\n  }();\n\n  return SeriesData;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SeriesData);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/SeriesData.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/SeriesDimensionDefine.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/data/SeriesDimensionDefine.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar SeriesDimensionDefine =\n/** @class */\nfunction () {\n  /**\n   * @param opt All of the fields will be shallow copied.\n   */\n  function SeriesDimensionDefine(opt) {\n    /**\n     * The format of `otherDims` is:\n     * ```js\n     * {\n     *     tooltip?: number\n     *     label?: number\n     *     itemName?: number\n     *     seriesName?: number\n     * }\n     * ```\n     *\n     * A `series.encode` can specified these fields:\n     * ```js\n     * encode: {\n     *     // \"3, 1, 5\" is the index of data dimension.\n     *     tooltip: [3, 1, 5],\n     *     label: [0, 3],\n     *     ...\n     * }\n     * ```\n     * `otherDims` is the parse result of the `series.encode` above, like:\n     * ```js\n     * // Suppose the index of this data dimension is `3`.\n     * this.otherDims = {\n     *     // `3` is at the index `0` of the `encode.tooltip`\n     *     tooltip: 0,\n     *     // `3` is at the index `1` of the `encode.label`\n     *     label: 1\n     * };\n     * ```\n     *\n     * This prop should never be `null`/`undefined` after initialized.\n     */\n    this.otherDims = {};\n\n    if (opt != null) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](this, opt);\n    }\n  }\n\n  return SeriesDimensionDefine;\n}();\n\n;\n/* harmony default export */ __webpack_exports__[\"default\"] = (SeriesDimensionDefine);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/SeriesDimensionDefine.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/Source.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/data/Source.js ***!
  \*************************************************/
/*! exports provided: isSourceInstance, createSource, createSourceFromSeriesDataOption, cloneSourceShallow, detectSourceFormat, shouldRetrieveDataByName */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSourceInstance\", function() { return isSourceInstance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSource\", function() { return createSource; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSourceFromSeriesDataOption\", function() { return createSourceFromSeriesDataOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cloneSourceShallow\", function() { return cloneSourceShallow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"detectSourceFormat\", function() { return detectSourceFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shouldRetrieveDataByName\", function() { return shouldRetrieveDataByName; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n; // @inner\n\nvar SourceImpl =\n/** @class */\nfunction () {\n  function SourceImpl(fields) {\n    this.data = fields.data || (fields.sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_KEYED_COLUMNS\"] ? {} : []);\n    this.sourceFormat = fields.sourceFormat || _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_UNKNOWN\"]; // Visit config\n\n    this.seriesLayoutBy = fields.seriesLayoutBy || _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SERIES_LAYOUT_BY_COLUMN\"];\n    this.startIndex = fields.startIndex || 0;\n    this.dimensionsDetectedCount = fields.dimensionsDetectedCount;\n    this.metaRawOption = fields.metaRawOption;\n    var dimensionsDefine = this.dimensionsDefine = fields.dimensionsDefine;\n\n    if (dimensionsDefine) {\n      for (var i = 0; i < dimensionsDefine.length; i++) {\n        var dim = dimensionsDefine[i];\n\n        if (dim.type == null) {\n          if (Object(_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"guessOrdinal\"])(this, i) === _helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"BE_ORDINAL\"].Must) {\n            dim.type = 'ordinal';\n          }\n        }\n      }\n    }\n  }\n\n  return SourceImpl;\n}();\n\nfunction isSourceInstance(val) {\n  return val instanceof SourceImpl;\n}\n/**\n * Create a source from option.\n * NOTE: Created source is immutable. Don't change any properties in it.\n */\n\nfunction createSource(sourceData, thisMetaRawOption, // can be null. If not provided, auto detect it from `sourceData`.\nsourceFormat) {\n  sourceFormat = sourceFormat || detectSourceFormat(sourceData);\n  var seriesLayoutBy = thisMetaRawOption.seriesLayoutBy;\n  var determined = determineSourceDimensions(sourceData, sourceFormat, seriesLayoutBy, thisMetaRawOption.sourceHeader, thisMetaRawOption.dimensions);\n  var source = new SourceImpl({\n    data: sourceData,\n    sourceFormat: sourceFormat,\n    seriesLayoutBy: seriesLayoutBy,\n    dimensionsDefine: determined.dimensionsDefine,\n    startIndex: determined.startIndex,\n    dimensionsDetectedCount: determined.dimensionsDetectedCount,\n    metaRawOption: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"])(thisMetaRawOption)\n  });\n  return source;\n}\n/**\n * Wrap original series data for some compatibility cases.\n */\n\nfunction createSourceFromSeriesDataOption(data) {\n  return new SourceImpl({\n    data: data,\n    sourceFormat: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"])(data) ? _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_TYPED_ARRAY\"] : _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_ORIGINAL\"]\n  });\n}\n/**\n * Clone source but excludes source data.\n */\n\nfunction cloneSourceShallow(source) {\n  return new SourceImpl({\n    data: source.data,\n    sourceFormat: source.sourceFormat,\n    seriesLayoutBy: source.seriesLayoutBy,\n    dimensionsDefine: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"])(source.dimensionsDefine),\n    startIndex: source.startIndex,\n    dimensionsDetectedCount: source.dimensionsDetectedCount\n  });\n}\n/**\n * Note: An empty array will be detected as `SOURCE_FORMAT_ARRAY_ROWS`.\n */\n\nfunction detectSourceFormat(data) {\n  var sourceFormat = _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_UNKNOWN\"];\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"])(data)) {\n    sourceFormat = _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_TYPED_ARRAY\"];\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(data)) {\n    // FIXME Whether tolerate null in top level array?\n    if (data.length === 0) {\n      sourceFormat = _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_ARRAY_ROWS\"];\n    }\n\n    for (var i = 0, len = data.length; i < len; i++) {\n      var item = data[i];\n\n      if (item == null) {\n        continue;\n      } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(item)) {\n        sourceFormat = _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_ARRAY_ROWS\"];\n        break;\n      } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(item)) {\n        sourceFormat = _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_OBJECT_ROWS\"];\n        break;\n      }\n    }\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(data)) {\n    for (var key in data) {\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(data, key) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArrayLike\"])(data[key])) {\n        sourceFormat = _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_KEYED_COLUMNS\"];\n        break;\n      }\n    }\n  }\n\n  return sourceFormat;\n}\n/**\n * Determine the source definitions from data standalone dimensions definitions\n * are not specified.\n */\n\nfunction determineSourceDimensions(data, sourceFormat, seriesLayoutBy, sourceHeader, // standalone raw dimensions definition, like:\n// {\n//     dimensions: ['aa', 'bb', { name: 'cc', type: 'time' }]\n// }\n// in `dataset` or `series`\ndimensionsDefine) {\n  var dimensionsDetectedCount;\n  var startIndex; // PEDING: could data be null/undefined here?\n  // currently, if `dataset.source` not specified, error thrown.\n  // if `series.data` not specified, nothing rendered without error thrown.\n  // Should test these cases.\n\n  if (!data) {\n    return {\n      dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),\n      startIndex: startIndex,\n      dimensionsDetectedCount: dimensionsDetectedCount\n    };\n  }\n\n  if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_ARRAY_ROWS\"]) {\n    var dataArrayRows = data; // Rule: Most of the first line are string: it is header.\n    // Caution: consider a line with 5 string and 1 number,\n    // it still can not be sure it is a head, because the\n    // 5 string may be 5 values of category columns.\n\n    if (sourceHeader === 'auto' || sourceHeader == null) {\n      arrayRowsTravelFirst(function (val) {\n        // '-' is regarded as null/undefined.\n        if (val != null && val !== '-') {\n          if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(val)) {\n            startIndex == null && (startIndex = 1);\n          } else {\n            startIndex = 0;\n          }\n        } // 10 is an experience number, avoid long loop.\n\n      }, seriesLayoutBy, dataArrayRows, 10);\n    } else {\n      startIndex = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(sourceHeader) ? sourceHeader : sourceHeader ? 1 : 0;\n    }\n\n    if (!dimensionsDefine && startIndex === 1) {\n      dimensionsDefine = [];\n      arrayRowsTravelFirst(function (val, index) {\n        dimensionsDefine[index] = val != null ? val + '' : '';\n      }, seriesLayoutBy, dataArrayRows, Infinity);\n    }\n\n    dimensionsDetectedCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SERIES_LAYOUT_BY_ROW\"] ? dataArrayRows.length : dataArrayRows[0] ? dataArrayRows[0].length : null;\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_OBJECT_ROWS\"]) {\n    if (!dimensionsDefine) {\n      dimensionsDefine = objectRowsCollectDimensions(data);\n    }\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]) {\n    if (!dimensionsDefine) {\n      dimensionsDefine = [];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(data, function (colArr, key) {\n        dimensionsDefine.push(key);\n      });\n    }\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_ORIGINAL\"]) {\n    var value0 = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"getDataItemValue\"])(data[0]);\n    dimensionsDetectedCount = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(value0) && value0.length || 1;\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_TYPED_ARRAY\"]) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!!dimensionsDefine, 'dimensions must be given if data is TypedArray.');\n    }\n  }\n\n  return {\n    startIndex: startIndex,\n    dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),\n    dimensionsDetectedCount: dimensionsDetectedCount\n  };\n}\n\nfunction objectRowsCollectDimensions(data) {\n  var firstIndex = 0;\n  var obj;\n\n  while (firstIndex < data.length && !(obj = data[firstIndex++])) {} // jshint ignore: line\n\n\n  if (obj) {\n    var dimensions_1 = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(obj, function (value, key) {\n      dimensions_1.push(key);\n    });\n    return dimensions_1;\n  }\n} // Consider dimensions defined like ['A', 'price', 'B', 'price', 'C', 'price'],\n// which is reasonable. But dimension name is duplicated.\n// Returns undefined or an array contains only object without null/undefiend or string.\n\n\nfunction normalizeDimensionsOption(dimensionsDefine) {\n  if (!dimensionsDefine) {\n    // The meaning of null/undefined is different from empty array.\n    return;\n  }\n\n  var nameMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(dimensionsDefine, function (rawItem, index) {\n    rawItem = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(rawItem) ? rawItem : {\n      name: rawItem\n    }; // Other fields will be discarded.\n\n    var item = {\n      name: rawItem.name,\n      displayName: rawItem.displayName,\n      type: rawItem.type\n    }; // User can set null in dimensions.\n    // We dont auto specify name, othewise a given name may\n    // cause it be refered unexpectedly.\n\n    if (item.name == null) {\n      return item;\n    } // Also consider number form like 2012.\n\n\n    item.name += ''; // User may also specify displayName.\n    // displayName will always exists except user not\n    // specified or dim name is not specified or detected.\n    // (A auto generated dim name will not be used as\n    // displayName).\n\n    if (item.displayName == null) {\n      item.displayName = item.name;\n    }\n\n    var exist = nameMap.get(item.name);\n\n    if (!exist) {\n      nameMap.set(item.name, {\n        count: 1\n      });\n    } else {\n      item.name += '-' + exist.count++;\n    }\n\n    return item;\n  });\n}\n\nfunction arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {\n  if (seriesLayoutBy === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SERIES_LAYOUT_BY_ROW\"]) {\n    for (var i = 0; i < data.length && i < maxLoop; i++) {\n      cb(data[i] ? data[i][0] : null, i);\n    }\n  } else {\n    var value0 = data[0] || [];\n\n    for (var i = 0; i < value0.length && i < maxLoop; i++) {\n      cb(value0[i], i);\n    }\n  }\n}\n\nfunction shouldRetrieveDataByName(source) {\n  var sourceFormat = source.sourceFormat;\n  return sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_OBJECT_ROWS\"] || sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"SOURCE_FORMAT_KEYED_COLUMNS\"];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/Source.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/Tree.js":
/*!***********************************************!*\
  !*** ./node_modules/echarts/lib/data/Tree.js ***!
  \***********************************************/
/*! exports provided: TreeNode, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TreeNode\", function() { return TreeNode; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_linkSeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper/linkSeriesData.js */ \"./node_modules/echarts/lib/data/helper/linkSeriesData.js\");\n/* harmony import */ var _SeriesData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony import */ var _helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper/createDimensions.js */ \"./node_modules/echarts/lib/data/helper/createDimensions.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Tree data structure\n */\n\n\n\n\n\n\nvar TreeNode =\n/** @class */\nfunction () {\n  function TreeNode(name, hostTree) {\n    this.depth = 0;\n    this.height = 0;\n    /**\n     * Reference to list item.\n     * Do not persistent dataIndex outside,\n     * besause it may be changed by list.\n     * If dataIndex -1,\n     * this node is logical deleted (filtered) in list.\n     */\n\n    this.dataIndex = -1;\n    this.children = [];\n    this.viewChildren = [];\n    this.isExpand = false;\n    this.name = name || '';\n    this.hostTree = hostTree;\n  }\n  /**\n   * The node is removed.\n   */\n\n\n  TreeNode.prototype.isRemoved = function () {\n    return this.dataIndex < 0;\n  };\n\n  TreeNode.prototype.eachNode = function (options, cb, context) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](options)) {\n      context = cb;\n      cb = options;\n      options = null;\n    }\n\n    options = options || {};\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](options)) {\n      options = {\n        order: options\n      };\n    }\n\n    var order = options.order || 'preorder';\n    var children = this[options.attr || 'children'];\n    var suppressVisitSub;\n    order === 'preorder' && (suppressVisitSub = cb.call(context, this));\n\n    for (var i = 0; !suppressVisitSub && i < children.length; i++) {\n      children[i].eachNode(options, cb, context);\n    }\n\n    order === 'postorder' && cb.call(context, this);\n  };\n  /**\n   * Update depth and height of this subtree.\n   */\n\n\n  TreeNode.prototype.updateDepthAndHeight = function (depth) {\n    var height = 0;\n    this.depth = depth;\n\n    for (var i = 0; i < this.children.length; i++) {\n      var child = this.children[i];\n      child.updateDepthAndHeight(depth + 1);\n\n      if (child.height > height) {\n        height = child.height;\n      }\n    }\n\n    this.height = height + 1;\n  };\n\n  TreeNode.prototype.getNodeById = function (id) {\n    if (this.getId() === id) {\n      return this;\n    }\n\n    for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n      var res = children[i].getNodeById(id);\n\n      if (res) {\n        return res;\n      }\n    }\n  };\n\n  TreeNode.prototype.contains = function (node) {\n    if (node === this) {\n      return true;\n    }\n\n    for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n      var res = children[i].contains(node);\n\n      if (res) {\n        return res;\n      }\n    }\n  };\n  /**\n   * @param includeSelf Default false.\n   * @return order: [root, child, grandchild, ...]\n   */\n\n\n  TreeNode.prototype.getAncestors = function (includeSelf) {\n    var ancestors = [];\n    var node = includeSelf ? this : this.parentNode;\n\n    while (node) {\n      ancestors.push(node);\n      node = node.parentNode;\n    }\n\n    ancestors.reverse();\n    return ancestors;\n  };\n\n  TreeNode.prototype.getAncestorsIndices = function () {\n    var indices = [];\n    var currNode = this;\n\n    while (currNode) {\n      indices.push(currNode.dataIndex);\n      currNode = currNode.parentNode;\n    }\n\n    indices.reverse();\n    return indices;\n  };\n\n  TreeNode.prototype.getDescendantIndices = function () {\n    var indices = [];\n    this.eachNode(function (childNode) {\n      indices.push(childNode.dataIndex);\n    });\n    return indices;\n  };\n\n  TreeNode.prototype.getValue = function (dimension) {\n    var data = this.hostTree.data;\n    return data.getStore().get(data.getDimensionIndex(dimension || 'value'), this.dataIndex);\n  };\n\n  TreeNode.prototype.setLayout = function (layout, merge) {\n    this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout, merge);\n  };\n  /**\n   * @return {Object} layout\n   */\n\n\n  TreeNode.prototype.getLayout = function () {\n    return this.hostTree.data.getItemLayout(this.dataIndex);\n  }; // @depcrecated\n  // getModel<T = unknown, S extends keyof T = keyof T>(path: S): Model<T[S]>\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n  TreeNode.prototype.getModel = function (path) {\n    if (this.dataIndex < 0) {\n      return;\n    }\n\n    var hostTree = this.hostTree;\n    var itemModel = hostTree.data.getItemModel(this.dataIndex);\n    return itemModel.getModel(path);\n  }; // TODO: TYPE More specific model\n\n\n  TreeNode.prototype.getLevelModel = function () {\n    return (this.hostTree.levelModels || [])[this.depth];\n  };\n\n  TreeNode.prototype.setVisual = function (key, value) {\n    this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key, value);\n  };\n  /**\n   * Get item visual\n   * FIXME: make return type better\n   */\n\n\n  TreeNode.prototype.getVisual = function (key) {\n    return this.hostTree.data.getItemVisual(this.dataIndex, key);\n  };\n\n  TreeNode.prototype.getRawIndex = function () {\n    return this.hostTree.data.getRawIndex(this.dataIndex);\n  };\n\n  TreeNode.prototype.getId = function () {\n    return this.hostTree.data.getId(this.dataIndex);\n  };\n  /**\n   * index in parent's children\n   */\n\n\n  TreeNode.prototype.getChildIndex = function () {\n    if (this.parentNode) {\n      var children = this.parentNode.children;\n\n      for (var i = 0; i < children.length; ++i) {\n        if (children[i] === this) {\n          return i;\n        }\n      }\n\n      return -1;\n    }\n\n    return -1;\n  };\n  /**\n   * if this is an ancestor of another node\n   *\n   * @param node another node\n   * @return if is ancestor\n   */\n\n\n  TreeNode.prototype.isAncestorOf = function (node) {\n    var parent = node.parentNode;\n\n    while (parent) {\n      if (parent === this) {\n        return true;\n      }\n\n      parent = parent.parentNode;\n    }\n\n    return false;\n  };\n  /**\n   * if this is an descendant of another node\n   *\n   * @param node another node\n   * @return if is descendant\n   */\n\n\n  TreeNode.prototype.isDescendantOf = function (node) {\n    return node !== this && node.isAncestorOf(this);\n  };\n\n  return TreeNode;\n}();\n\n\n;\n\nvar Tree =\n/** @class */\nfunction () {\n  function Tree(hostModel) {\n    this.type = 'tree';\n    this._nodes = [];\n    this.hostModel = hostModel;\n  }\n\n  Tree.prototype.eachNode = function (options, cb, context) {\n    this.root.eachNode(options, cb, context);\n  };\n\n  Tree.prototype.getNodeByDataIndex = function (dataIndex) {\n    var rawIndex = this.data.getRawIndex(dataIndex);\n    return this._nodes[rawIndex];\n  };\n\n  Tree.prototype.getNodeById = function (name) {\n    return this.root.getNodeById(name);\n  };\n  /**\n   * Update item available by list,\n   * when list has been performed options like 'filterSelf' or 'map'.\n   */\n\n\n  Tree.prototype.update = function () {\n    var data = this.data;\n    var nodes = this._nodes;\n\n    for (var i = 0, len = nodes.length; i < len; i++) {\n      nodes[i].dataIndex = -1;\n    }\n\n    for (var i = 0, len = data.count(); i < len; i++) {\n      nodes[data.getRawIndex(i)].dataIndex = i;\n    }\n  };\n  /**\n   * Clear all layouts\n   */\n\n\n  Tree.prototype.clearLayouts = function () {\n    this.data.clearItemLayouts();\n  };\n  /**\n   * data node format:\n   * {\n   *     name: ...\n   *     value: ...\n   *     children: [\n   *         {\n   *             name: ...\n   *             value: ...\n   *             children: ...\n   *         },\n   *         ...\n   *     ]\n   * }\n   */\n\n\n  Tree.createTree = function (dataRoot, hostModel, beforeLink) {\n    var tree = new Tree(hostModel);\n    var listData = [];\n    var dimMax = 1;\n    buildHierarchy(dataRoot);\n\n    function buildHierarchy(dataNode, parentNode) {\n      var value = dataNode.value;\n      dimMax = Math.max(dimMax, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](value) ? value.length : 1);\n      listData.push(dataNode);\n      var node = new TreeNode(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"convertOptionIdName\"])(dataNode.name, ''), tree);\n      parentNode ? addChild(node, parentNode) : tree.root = node;\n\n      tree._nodes.push(node);\n\n      var children = dataNode.children;\n\n      if (children) {\n        for (var i = 0; i < children.length; i++) {\n          buildHierarchy(children[i], node);\n        }\n      }\n    }\n\n    tree.root.updateDepthAndHeight(0);\n    var dimensions = Object(_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(listData, {\n      coordDimensions: ['value'],\n      dimensionsCount: dimMax\n    }).dimensions;\n    var list = new _SeriesData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](dimensions, hostModel);\n    list.initData(listData);\n    beforeLink && beforeLink(list);\n    Object(_helper_linkSeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n      mainData: list,\n      struct: tree,\n      structAttr: 'tree'\n    });\n    tree.update();\n    return tree;\n  };\n\n  return Tree;\n}();\n/**\n * It is needed to consider the mess of 'list', 'hostModel' when creating a TreeNote,\n * so this function is not ready and not necessary to be public.\n */\n\n\nfunction addChild(child, node) {\n  var children = node.children;\n\n  if (child.parentNode === node) {\n    return;\n  }\n\n  children.push(child);\n  child.parentNode = node;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Tree);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/Tree.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/SeriesDataSchema.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/SeriesDataSchema.js ***!
  \******************************************************************/
/*! exports provided: SeriesDataSchema, isSeriesDataSchema, createDimNameMap, ensureSourceDimNameMap, shouldOmitUnusedDimensions */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SeriesDataSchema\", function() { return SeriesDataSchema; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSeriesDataSchema\", function() { return isSeriesDataSchema; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDimNameMap\", function() { return createDimNameMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureSourceDimNameMap\", function() { return ensureSourceDimNameMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shouldOmitUnusedDimensions\", function() { return shouldOmitUnusedDimensions; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"makeInner\"])();\nvar dimTypeShort = {\n  float: 'f',\n  int: 'i',\n  ordinal: 'o',\n  number: 'n',\n  time: 't'\n};\n/**\n * Represents the dimension requirement of a series.\n *\n * NOTICE:\n * When there are too many dimensions in dataset and many series, only the used dimensions\n * (i.e., used by coord sys and declared in `series.encode`) are add to `dimensionDefineList`.\n * But users may query data by other unused dimension names.\n * In this case, users can only query data if and only if they have defined dimension names\n * via ec option, so we provide `getDimensionIndexFromSource`, which only query them from\n * `source` dimensions.\n */\n\nvar SeriesDataSchema =\n/** @class */\nfunction () {\n  function SeriesDataSchema(opt) {\n    this.dimensions = opt.dimensions;\n    this._dimOmitted = opt.dimensionOmitted;\n    this.source = opt.source;\n    this._fullDimCount = opt.fullDimensionCount;\n\n    this._updateDimOmitted(opt.dimensionOmitted);\n  }\n\n  SeriesDataSchema.prototype.isDimensionOmitted = function () {\n    return this._dimOmitted;\n  };\n\n  SeriesDataSchema.prototype._updateDimOmitted = function (dimensionOmitted) {\n    this._dimOmitted = dimensionOmitted;\n\n    if (!dimensionOmitted) {\n      return;\n    }\n\n    if (!this._dimNameMap) {\n      this._dimNameMap = ensureSourceDimNameMap(this.source);\n    }\n  };\n  /**\n   * @caution Can only be used when `dimensionOmitted: true`.\n   *\n   * Get index by user defined dimension name (i.e., not internal generate name).\n   * That is, get index from `dimensionsDefine`.\n   * If no `dimensionsDefine`, or no name get, return -1.\n   */\n\n\n  SeriesDataSchema.prototype.getSourceDimensionIndex = function (dimName) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(this._dimNameMap.get(dimName), -1);\n  };\n  /**\n   * @caution Can only be used when `dimensionOmitted: true`.\n   *\n   * Notice: may return `null`/`undefined` if user not specify dimension names.\n   */\n\n\n  SeriesDataSchema.prototype.getSourceDimension = function (dimIndex) {\n    var dimensionsDefine = this.source.dimensionsDefine;\n\n    if (dimensionsDefine) {\n      return dimensionsDefine[dimIndex];\n    }\n  };\n\n  SeriesDataSchema.prototype.makeStoreSchema = function () {\n    var dimCount = this._fullDimCount;\n    var willRetrieveDataByName = Object(_Source_js__WEBPACK_IMPORTED_MODULE_2__[\"shouldRetrieveDataByName\"])(this.source);\n    var makeHashStrict = !shouldOmitUnusedDimensions(dimCount); // If source don't have dimensions or series don't omit unsed dimensions.\n    // Generate from seriesDimList directly\n\n    var dimHash = '';\n    var dims = [];\n\n    for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < dimCount; fullDimIdx++) {\n      var property = void 0;\n      var type = void 0;\n      var ordinalMeta = void 0;\n      var seriesDimDef = this.dimensions[seriesDimIdx]; // The list has been sorted by `storeDimIndex` asc.\n\n      if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {\n        property = willRetrieveDataByName ? seriesDimDef.name : null;\n        type = seriesDimDef.type;\n        ordinalMeta = seriesDimDef.ordinalMeta;\n        seriesDimIdx++;\n      } else {\n        var sourceDimDef = this.getSourceDimension(fullDimIdx);\n\n        if (sourceDimDef) {\n          property = willRetrieveDataByName ? sourceDimDef.name : null;\n          type = sourceDimDef.type;\n        }\n      }\n\n      dims.push({\n        property: property,\n        type: type,\n        ordinalMeta: ordinalMeta\n      }); // If retrieving data by index,\n      //   use <index, type, ordinalMeta> to determine whether data can be shared.\n      //   (Becuase in this case there might be no dimension name defined in dataset, but indices always exists).\n      //   (indices are always 0, 1, 2, ..., so we can ignore them to shorten the hash).\n      // Otherwise if retrieving data by property name (like `data: [{aa: 123, bb: 765}, ...]`),\n      //   use <property, type, ordinalMeta> in hash.\n\n      if (willRetrieveDataByName && property != null // For data stack, we have make sure each series has its own dim on this store.\n      // So we do not add property to hash to make sure they can share this store.\n      && (!seriesDimDef || !seriesDimDef.isCalculationCoord)) {\n        dimHash += makeHashStrict // Use escape character '`' in case that property name contains '$'.\n        ? property.replace(/\\`/g, '`1').replace(/\\$/g, '`2') // For better performance, when there are large dimensions, tolerant this defects that hardly meet.\n        : property;\n      }\n\n      dimHash += '$';\n      dimHash += dimTypeShort[type] || 'f';\n\n      if (ordinalMeta) {\n        dimHash += ordinalMeta.uid;\n      }\n\n      dimHash += '$';\n    } // Source from endpoint(usually series) will be read differently\n    // when seriesLayoutBy or startIndex(which is affected by sourceHeader) are different.\n    // So we use this three props as key.\n\n\n    var source = this.source;\n    var hash = [source.seriesLayoutBy, source.startIndex, dimHash].join('$$');\n    return {\n      dimensions: dims,\n      hash: hash\n    };\n  };\n\n  SeriesDataSchema.prototype.makeOutputDimensionNames = function () {\n    var result = [];\n\n    for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < this._fullDimCount; fullDimIdx++) {\n      var name_1 = void 0;\n      var seriesDimDef = this.dimensions[seriesDimIdx]; // The list has been sorted by `storeDimIndex` asc.\n\n      if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {\n        if (!seriesDimDef.isCalculationCoord) {\n          name_1 = seriesDimDef.name;\n        }\n\n        seriesDimIdx++;\n      } else {\n        var sourceDimDef = this.getSourceDimension(fullDimIdx);\n\n        if (sourceDimDef) {\n          name_1 = sourceDimDef.name;\n        }\n      }\n\n      result.push(name_1);\n    }\n\n    return result;\n  };\n\n  SeriesDataSchema.prototype.appendCalculationDimension = function (dimDef) {\n    this.dimensions.push(dimDef);\n    dimDef.isCalculationCoord = true;\n    this._fullDimCount++; // If append dimension on a data store, consider the store\n    // might be shared by different series, series dimensions not\n    // really map to store dimensions.\n\n    this._updateDimOmitted(true);\n  };\n\n  return SeriesDataSchema;\n}();\n\n\nfunction isSeriesDataSchema(schema) {\n  return schema instanceof SeriesDataSchema;\n}\nfunction createDimNameMap(dimsDef) {\n  var dataDimNameMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n\n  for (var i = 0; i < (dimsDef || []).length; i++) {\n    var dimDefItemRaw = dimsDef[i];\n    var userDimName = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(dimDefItemRaw) ? dimDefItemRaw.name : dimDefItemRaw;\n\n    if (userDimName != null && dataDimNameMap.get(userDimName) == null) {\n      dataDimNameMap.set(userDimName, i);\n    }\n  }\n\n  return dataDimNameMap;\n}\nfunction ensureSourceDimNameMap(source) {\n  var innerSource = inner(source);\n  return innerSource.dimNameMap || (innerSource.dimNameMap = createDimNameMap(source.dimensionsDefine));\n}\nfunction shouldOmitUnusedDimensions(dimCount) {\n  return dimCount > 30;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/SeriesDataSchema.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/createDimensions.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/createDimensions.js ***!
  \******************************************************************/
/*! exports provided: createDimensions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDimensions\", function() { return createDimensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return prepareSeriesDataSchema; });\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _SeriesDimensionDefine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SeriesDimensionDefine.js */ \"./node_modules/echarts/lib/data/SeriesDimensionDefine.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n/* harmony import */ var _DataStore_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../DataStore.js */ \"./node_modules/echarts/lib/data/DataStore.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _sourceHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./SeriesDataSchema.js */ \"./node_modules/echarts/lib/data/helper/SeriesDataSchema.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n/**\n * For outside usage compat (like echarts-gl are using it).\n */\n\nfunction createDimensions(source, opt) {\n  return prepareSeriesDataSchema(source, opt).dimensions;\n}\n/**\n * This method builds the relationship between:\n * + \"what the coord sys or series requires (see `coordDimensions`)\",\n * + \"what the user defines (in `encode` and `dimensions`, see `opt.dimensionsDefine` and `opt.encodeDefine`)\"\n * + \"what the data source provids (see `source`)\".\n *\n * Some guess strategy will be adapted if user does not define something.\n * If no 'value' dimension specified, the first no-named dimension will be\n * named as 'value'.\n *\n * @return The results are always sorted by `storeDimIndex` asc.\n */\n\nfunction prepareSeriesDataSchema( // TODO: TYPE completeDimensions type\nsource, opt) {\n  if (!Object(_Source_js__WEBPACK_IMPORTED_MODULE_3__[\"isSourceInstance\"])(source)) {\n    source = Object(_Source_js__WEBPACK_IMPORTED_MODULE_3__[\"createSourceFromSeriesDataOption\"])(source);\n  }\n\n  opt = opt || {};\n  var sysDims = opt.coordDimensions || [];\n  var dimsDef = opt.dimensionsDefine || source.dimensionsDefine || [];\n  var coordDimNameMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])();\n  var resultList = [];\n  var dimCount = getDimCount(source, sysDims, dimsDef, opt.dimensionsCount); // Try to ignore unsed dimensions if sharing a high dimension datastore\n  // 30 is an experience value.\n\n  var omitUnusedDimensions = opt.canOmitUnusedDimensions && Object(_SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_7__[\"shouldOmitUnusedDimensions\"])(dimCount);\n  var isUsingSourceDimensionsDef = dimsDef === source.dimensionsDefine;\n  var dataDimNameMap = isUsingSourceDimensionsDef ? Object(_SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_7__[\"ensureSourceDimNameMap\"])(source) : Object(_SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_7__[\"createDimNameMap\"])(dimsDef);\n  var encodeDef = opt.encodeDefine;\n\n  if (!encodeDef && opt.encodeDefaulter) {\n    encodeDef = opt.encodeDefaulter(source, dimCount);\n  }\n\n  var encodeDefMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])(encodeDef);\n  var indicesMap = new _DataStore_js__WEBPACK_IMPORTED_MODULE_4__[\"CtorInt32Array\"](dimCount);\n\n  for (var i = 0; i < indicesMap.length; i++) {\n    indicesMap[i] = -1;\n  }\n\n  function getResultItem(dimIdx) {\n    var idx = indicesMap[dimIdx];\n\n    if (idx < 0) {\n      var dimDefItemRaw = dimsDef[dimIdx];\n      var dimDefItem = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(dimDefItemRaw) ? dimDefItemRaw : {\n        name: dimDefItemRaw\n      };\n      var resultItem = new _SeriesDimensionDefine_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n      var userDimName = dimDefItem.name;\n\n      if (userDimName != null && dataDimNameMap.get(userDimName) != null) {\n        // Only if `series.dimensions` is defined in option\n        // displayName, will be set, and dimension will be diplayed vertically in\n        // tooltip by default.\n        resultItem.name = resultItem.displayName = userDimName;\n      }\n\n      dimDefItem.type != null && (resultItem.type = dimDefItem.type);\n      dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);\n      var newIdx = resultList.length;\n      indicesMap[dimIdx] = newIdx;\n      resultItem.storeDimIndex = dimIdx;\n      resultList.push(resultItem);\n      return resultItem;\n    }\n\n    return resultList[idx];\n  }\n\n  if (!omitUnusedDimensions) {\n    for (var i = 0; i < dimCount; i++) {\n      getResultItem(i);\n    }\n  } // Set `coordDim` and `coordDimIndex` by `encodeDefMap` and normalize `encodeDefMap`.\n\n\n  encodeDefMap.each(function (dataDimsRaw, coordDim) {\n    var dataDims = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"normalizeToArray\"])(dataDimsRaw).slice(); // Note: It is allowed that `dataDims.length` is `0`, e.g., options is\n    // `{encode: {x: -1, y: 1}}`. Should not filter anything in\n    // this case.\n\n    if (dataDims.length === 1 && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(dataDims[0]) && dataDims[0] < 0) {\n      encodeDefMap.set(coordDim, false);\n      return;\n    }\n\n    var validDataDims = encodeDefMap.set(coordDim, []);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(dataDims, function (resultDimIdxOrName, idx) {\n      // The input resultDimIdx can be dim name or index.\n      var resultDimIdx = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(resultDimIdxOrName) ? dataDimNameMap.get(resultDimIdxOrName) : resultDimIdxOrName;\n\n      if (resultDimIdx != null && resultDimIdx < dimCount) {\n        validDataDims[idx] = resultDimIdx;\n        applyDim(getResultItem(resultDimIdx), coordDim, idx);\n      }\n    });\n  }); // Apply templetes and default order from `sysDims`.\n\n  var availDimIdx = 0;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(sysDims, function (sysDimItemRaw) {\n    var coordDim;\n    var sysDimItemDimsDef;\n    var sysDimItemOtherDims;\n    var sysDimItem;\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(sysDimItemRaw)) {\n      coordDim = sysDimItemRaw;\n      sysDimItem = {};\n    } else {\n      sysDimItem = sysDimItemRaw;\n      coordDim = sysDimItem.name;\n      var ordinalMeta = sysDimItem.ordinalMeta;\n      sysDimItem.ordinalMeta = null;\n      sysDimItem = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, sysDimItem);\n      sysDimItem.ordinalMeta = ordinalMeta; // `coordDimIndex` should not be set directly.\n\n      sysDimItemDimsDef = sysDimItem.dimsDef;\n      sysDimItemOtherDims = sysDimItem.otherDims;\n      sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;\n    }\n\n    var dataDims = encodeDefMap.get(coordDim); // negative resultDimIdx means no need to mapping.\n\n    if (dataDims === false) {\n      return;\n    }\n\n    dataDims = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"normalizeToArray\"])(dataDims); // dimensions provides default dim sequences.\n\n    if (!dataDims.length) {\n      for (var i = 0; i < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i++) {\n        while (availDimIdx < dimCount && getResultItem(availDimIdx).coordDim != null) {\n          availDimIdx++;\n        }\n\n        availDimIdx < dimCount && dataDims.push(availDimIdx++);\n      }\n    } // Apply templates.\n\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(dataDims, function (resultDimIdx, coordDimIndex) {\n      var resultItem = getResultItem(resultDimIdx); // Coordinate system has a higher priority on dim type than source.\n\n      if (isUsingSourceDimensionsDef && sysDimItem.type != null) {\n        resultItem.type = sysDimItem.type;\n      }\n\n      applyDim(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])(resultItem, sysDimItem), coordDim, coordDimIndex);\n\n      if (resultItem.name == null && sysDimItemDimsDef) {\n        var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];\n        !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {\n          name: sysDimItemDimsDefItem\n        });\n        resultItem.name = resultItem.displayName = sysDimItemDimsDefItem.name;\n        resultItem.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;\n      } // FIXME refactor, currently only used in case: {otherDims: {tooltip: false}}\n\n\n      sysDimItemOtherDims && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])(resultItem.otherDims, sysDimItemOtherDims);\n    });\n  });\n\n  function applyDim(resultItem, coordDim, coordDimIndex) {\n    if (_util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"VISUAL_DIMENSIONS\"].get(coordDim) != null) {\n      resultItem.otherDims[coordDim] = coordDimIndex;\n    } else {\n      resultItem.coordDim = coordDim;\n      resultItem.coordDimIndex = coordDimIndex;\n      coordDimNameMap.set(coordDim, true);\n    }\n  } // Make sure the first extra dim is 'value'.\n\n\n  var generateCoord = opt.generateCoord;\n  var generateCoordCount = opt.generateCoordCount;\n  var fromZero = generateCoordCount != null;\n  generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;\n  var extra = generateCoord || 'value';\n\n  function ifNoNameFillWithCoordName(resultItem) {\n    if (resultItem.name == null) {\n      // Duplication will be removed in the next step.\n      resultItem.name = resultItem.coordDim;\n    }\n  } // Set dim `name` and other `coordDim` and other props.\n\n\n  if (!omitUnusedDimensions) {\n    for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {\n      var resultItem = getResultItem(resultDimIdx);\n      var coordDim = resultItem.coordDim;\n\n      if (coordDim == null) {\n        // TODO no need to generate coordDim for isExtraCoord?\n        resultItem.coordDim = genCoordDimName(extra, coordDimNameMap, fromZero);\n        resultItem.coordDimIndex = 0; // Series specified generateCoord is using out.\n\n        if (!generateCoord || generateCoordCount <= 0) {\n          resultItem.isExtraCoord = true;\n        }\n\n        generateCoordCount--;\n      }\n\n      ifNoNameFillWithCoordName(resultItem);\n\n      if (resultItem.type == null && (Object(_sourceHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"guessOrdinal\"])(source, resultDimIdx) === _sourceHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"BE_ORDINAL\"].Must // Consider the case:\n      // {\n      //    dataset: {source: [\n      //        ['2001', 123],\n      //        ['2002', 456],\n      //        ...\n      //        ['The others', 987],\n      //    ]},\n      //    series: {type: 'pie'}\n      // }\n      // The first colum should better be treated as a \"ordinal\" although it\n      // might not able to be detected as an \"ordinal\" by `guessOrdinal`.\n      || resultItem.isExtraCoord && (resultItem.otherDims.itemName != null || resultItem.otherDims.seriesName != null))) {\n        resultItem.type = 'ordinal';\n      }\n    }\n  } else {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(resultList, function (resultItem) {\n      // PENDING: guessOrdinal or let user specify type: 'ordinal' manually?\n      ifNoNameFillWithCoordName(resultItem);\n    }); // Sort dimensions: there are some rule that use the last dim as label,\n    // and for some latter travel process easier.\n\n    resultList.sort(function (item0, item1) {\n      return item0.storeDimIndex - item1.storeDimIndex;\n    });\n  }\n\n  removeDuplication(resultList);\n  return new _SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_7__[\"SeriesDataSchema\"]({\n    source: source,\n    dimensions: resultList,\n    fullDimensionCount: dimCount,\n    dimensionOmitted: omitUnusedDimensions\n  });\n}\n\nfunction removeDuplication(result) {\n  var duplicationMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])();\n\n  for (var i = 0; i < result.length; i++) {\n    var dim = result[i];\n    var dimOriginalName = dim.name;\n    var count = duplicationMap.get(dimOriginalName) || 0;\n\n    if (count > 0) {\n      // Starts from 0.\n      dim.name = dimOriginalName + (count - 1);\n    }\n\n    count++;\n    duplicationMap.set(dimOriginalName, count);\n  }\n} // ??? TODO\n// Originally detect dimCount by data[0]. Should we\n// optimize it to only by sysDims and dimensions and encode.\n// So only necessary dims will be initialized.\n// But\n// (1) custom series should be considered. where other dims\n// may be visited.\n// (2) sometimes user need to calcualte bubble size or use visualMap\n// on other dimensions besides coordSys needed.\n// So, dims that is not used by system, should be shared in data store?\n\n\nfunction getDimCount(source, sysDims, dimsDef, optDimCount) {\n  // Note that the result dimCount should not small than columns count\n  // of data, otherwise `dataDimNameMap` checking will be incorrect.\n  var dimCount = Math.max(source.dimensionsDetectedCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(sysDims, function (sysDimItem) {\n    var sysDimItemDimsDef;\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(sysDimItem) && (sysDimItemDimsDef = sysDimItem.dimsDef)) {\n      dimCount = Math.max(dimCount, sysDimItemDimsDef.length);\n    }\n  });\n  return dimCount;\n}\n\nfunction genCoordDimName(name, map, fromZero) {\n  var mapData = map.data;\n\n  if (fromZero || mapData.hasOwnProperty(name)) {\n    var i = 0;\n\n    while (mapData.hasOwnProperty(name + i)) {\n      i++;\n    }\n\n    name += i;\n  }\n\n  map.set(name, true);\n  return name;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/createDimensions.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/dataProvider.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/dataProvider.js ***!
  \**************************************************************/
/*! exports provided: DefaultDataProvider, getRawSourceItemGetter, getRawSourceDataCounter, getRawSourceValueGetter, retrieveRawValue, retrieveRawAttr */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultDataProvider\", function() { return DefaultDataProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRawSourceItemGetter\", function() { return getRawSourceItemGetter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRawSourceDataCounter\", function() { return getRawSourceDataCounter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRawSourceValueGetter\", function() { return getRawSourceValueGetter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieveRawValue\", function() { return retrieveRawValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieveRawAttr\", function() { return retrieveRawAttr; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _a, _b, _c; // TODO\n// ??? refactor? check the outer usage of data provider.\n// merge with defaultDimValueGetter?\n\n\n\n\n\n\nvar providerMethods;\nvar mountMethods;\n/**\n * If normal array used, mutable chunk size is supported.\n * If typed array used, chunk size must be fixed.\n */\n\nvar DefaultDataProvider =\n/** @class */\nfunction () {\n  function DefaultDataProvider(sourceParam, dimSize) {\n    // let source: Source;\n    var source = !Object(_Source_js__WEBPACK_IMPORTED_MODULE_2__[\"isSourceInstance\"])(sourceParam) ? Object(_Source_js__WEBPACK_IMPORTED_MODULE_2__[\"createSourceFromSeriesDataOption\"])(sourceParam) : sourceParam; // declare source is Source;\n\n    this._source = source;\n    var data = this._data = source.data; // Typed array. TODO IE10+?\n\n    if (source.sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_TYPED_ARRAY\"]) {\n      if (true) {\n        if (dimSize == null) {\n          throw new Error('Typed array data must specify dimension size');\n        }\n      }\n\n      this._offset = 0;\n      this._dimSize = dimSize;\n      this._data = data;\n    }\n\n    mountMethods(this, data, source);\n  }\n\n  DefaultDataProvider.prototype.getSource = function () {\n    return this._source;\n  };\n\n  DefaultDataProvider.prototype.count = function () {\n    return 0;\n  };\n\n  DefaultDataProvider.prototype.getItem = function (idx, out) {\n    return;\n  };\n\n  DefaultDataProvider.prototype.appendData = function (newData) {};\n\n  DefaultDataProvider.prototype.clean = function () {};\n\n  DefaultDataProvider.protoInitialize = function () {\n    // PENDING: To avoid potential incompat (e.g., prototype\n    // is visited somewhere), still init them on prototype.\n    var proto = DefaultDataProvider.prototype;\n    proto.pure = false;\n    proto.persistent = true;\n  }();\n\n  DefaultDataProvider.internalField = function () {\n    var _a;\n\n    mountMethods = function (provider, data, source) {\n      var sourceFormat = source.sourceFormat;\n      var seriesLayoutBy = source.seriesLayoutBy;\n      var startIndex = source.startIndex;\n      var dimsDef = source.dimensionsDefine;\n      var methods = providerMethods[getMethodMapKey(sourceFormat, seriesLayoutBy)];\n\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(methods, 'Invalide sourceFormat: ' + sourceFormat);\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(provider, methods);\n\n      if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_TYPED_ARRAY\"]) {\n        provider.getItem = getItemForTypedArray;\n        provider.count = countForTypedArray;\n        provider.fillStorage = fillStorageForTypedArray;\n      } else {\n        var rawItemGetter = getRawSourceItemGetter(sourceFormat, seriesLayoutBy);\n        provider.getItem = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"])(rawItemGetter, null, data, startIndex, dimsDef);\n        var rawCounter = getRawSourceDataCounter(sourceFormat, seriesLayoutBy);\n        provider.count = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"])(rawCounter, null, data, startIndex, dimsDef);\n      }\n    };\n\n    var getItemForTypedArray = function (idx, out) {\n      idx = idx - this._offset;\n      out = out || [];\n      var data = this._data;\n      var dimSize = this._dimSize;\n      var offset = dimSize * idx;\n\n      for (var i = 0; i < dimSize; i++) {\n        out[i] = data[offset + i];\n      }\n\n      return out;\n    };\n\n    var fillStorageForTypedArray = function (start, end, storage, extent) {\n      var data = this._data;\n      var dimSize = this._dimSize;\n\n      for (var dim = 0; dim < dimSize; dim++) {\n        var dimExtent = extent[dim];\n        var min = dimExtent[0] == null ? Infinity : dimExtent[0];\n        var max = dimExtent[1] == null ? -Infinity : dimExtent[1];\n        var count = end - start;\n        var arr = storage[dim];\n\n        for (var i = 0; i < count; i++) {\n          // appendData with TypedArray will always do replace in provider.\n          var val = data[i * dimSize + dim];\n          arr[start + i] = val;\n          val < min && (min = val);\n          val > max && (max = val);\n        }\n\n        dimExtent[0] = min;\n        dimExtent[1] = max;\n      }\n    };\n\n    var countForTypedArray = function () {\n      return this._data ? this._data.length / this._dimSize : 0;\n    };\n\n    providerMethods = (_a = {}, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] + '_' + _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_COLUMN\"]] = {\n      pure: true,\n      appendData: appendDataSimply\n    }, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] + '_' + _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_ROW\"]] = {\n      pure: true,\n      appendData: function () {\n        throw new Error('Do not support appendData when set seriesLayoutBy: \"row\".');\n      }\n    }, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_OBJECT_ROWS\"]] = {\n      pure: true,\n      appendData: appendDataSimply\n    }, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]] = {\n      pure: true,\n      appendData: function (newData) {\n        var data = this._data;\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(newData, function (newCol, key) {\n          var oldCol = data[key] || (data[key] = []);\n\n          for (var i = 0; i < (newCol || []).length; i++) {\n            oldCol.push(newCol[i]);\n          }\n        });\n      }\n    }, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"]] = {\n      appendData: appendDataSimply\n    }, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_TYPED_ARRAY\"]] = {\n      persistent: false,\n      pure: true,\n      appendData: function (newData) {\n        if (true) {\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"])(newData), 'Added data must be TypedArray if data in initialization is TypedArray');\n        }\n\n        this._data = newData;\n      },\n      // Clean self if data is already used.\n      clean: function () {\n        // PENDING\n        this._offset += this.count();\n        this._data = null;\n      }\n    }, _a);\n\n    function appendDataSimply(newData) {\n      for (var i = 0; i < newData.length; i++) {\n        this._data.push(newData[i]);\n      }\n    }\n  }();\n\n  return DefaultDataProvider;\n}();\n\n\n\nvar getItemSimply = function (rawData, startIndex, dimsDef, idx) {\n  return rawData[idx];\n};\n\nvar rawSourceItemGetterMap = (_a = {}, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] + '_' + _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_COLUMN\"]] = function (rawData, startIndex, dimsDef, idx) {\n  return rawData[idx + startIndex];\n}, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] + '_' + _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_ROW\"]] = function (rawData, startIndex, dimsDef, idx, out) {\n  idx += startIndex;\n  var item = out || [];\n  var data = rawData;\n\n  for (var i = 0; i < data.length; i++) {\n    var row = data[i];\n    item[i] = row ? row[idx] : null;\n  }\n\n  return item;\n}, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_OBJECT_ROWS\"]] = getItemSimply, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]] = function (rawData, startIndex, dimsDef, idx, out) {\n  var item = out || [];\n\n  for (var i = 0; i < dimsDef.length; i++) {\n    var dimName = dimsDef[i].name;\n\n    if (true) {\n      if (dimName == null) {\n        throw new Error();\n      }\n    }\n\n    var col = rawData[dimName];\n    item[i] = col ? col[idx] : null;\n  }\n\n  return item;\n}, _a[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"]] = getItemSimply, _a);\nfunction getRawSourceItemGetter(sourceFormat, seriesLayoutBy) {\n  var method = rawSourceItemGetterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];\n\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(method, 'Do not support get item on \"' + sourceFormat + '\", \"' + seriesLayoutBy + '\".');\n  }\n\n  return method;\n}\n\nvar countSimply = function (rawData, startIndex, dimsDef) {\n  return rawData.length;\n};\n\nvar rawSourceDataCounterMap = (_b = {}, _b[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] + '_' + _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_COLUMN\"]] = function (rawData, startIndex, dimsDef) {\n  return Math.max(0, rawData.length - startIndex);\n}, _b[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] + '_' + _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SERIES_LAYOUT_BY_ROW\"]] = function (rawData, startIndex, dimsDef) {\n  var row = rawData[0];\n  return row ? Math.max(0, row.length - startIndex) : 0;\n}, _b[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_OBJECT_ROWS\"]] = countSimply, _b[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]] = function (rawData, startIndex, dimsDef) {\n  var dimName = dimsDef[0].name;\n\n  if (true) {\n    if (dimName == null) {\n      throw new Error();\n    }\n  }\n\n  var col = rawData[dimName];\n  return col ? col.length : 0;\n}, _b[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"]] = countSimply, _b);\nfunction getRawSourceDataCounter(sourceFormat, seriesLayoutBy) {\n  var method = rawSourceDataCounterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];\n\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(method, 'Do not suppport count on \"' + sourceFormat + '\", \"' + seriesLayoutBy + '\".');\n  }\n\n  return method;\n}\n\nvar getRawValueSimply = function (dataItem, dimIndex, property) {\n  return dataItem[dimIndex];\n};\n\nvar rawSourceValueGetterMap = (_c = {}, _c[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"]] = getRawValueSimply, _c[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_OBJECT_ROWS\"]] = function (dataItem, dimIndex, property) {\n  return dataItem[property];\n}, _c[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]] = getRawValueSimply, _c[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"]] = function (dataItem, dimIndex, property) {\n  // FIXME: In some case (markpoint in geo (geo-map.html)),\n  // dataItem is {coord: [...]}\n  var value = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"getDataItemValue\"])(dataItem);\n  return !(value instanceof Array) ? value : value[dimIndex];\n}, _c[_util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_TYPED_ARRAY\"]] = getRawValueSimply, _c);\nfunction getRawSourceValueGetter(sourceFormat) {\n  var method = rawSourceValueGetterMap[sourceFormat];\n\n  if (true) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(method, 'Do not suppport get value on \"' + sourceFormat + '\".');\n  }\n\n  return method;\n}\n\nfunction getMethodMapKey(sourceFormat, seriesLayoutBy) {\n  return sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ARRAY_ROWS\"] ? sourceFormat + '_' + seriesLayoutBy : sourceFormat;\n} // ??? FIXME can these logic be more neat: getRawValue, getRawDataItem,\n// Consider persistent.\n// Caution: why use raw value to display on label or tooltip?\n// A reason is to avoid format. For example time value we do not know\n// how to format is expected. More over, if stack is used, calculated\n// value may be 0.91000000001, which have brings trouble to display.\n// TODO: consider how to treat null/undefined/NaN when display?\n\n\nfunction retrieveRawValue(data, dataIndex, // If dimIndex is null/undefined, return OptionDataItem.\n// Otherwise, return OptionDataValue.\ndim) {\n  if (!data) {\n    return;\n  } // Consider data may be not persistent.\n\n\n  var dataItem = data.getRawDataItem(dataIndex);\n\n  if (dataItem == null) {\n    return;\n  }\n\n  var store = data.getStore();\n  var sourceFormat = store.getSource().sourceFormat;\n\n  if (dim != null) {\n    var dimIndex = data.getDimensionIndex(dim);\n    var property = store.getDimensionProperty(dimIndex);\n    return getRawSourceValueGetter(sourceFormat)(dataItem, dimIndex, property);\n  } else {\n    var result = dataItem;\n\n    if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"]) {\n      result = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"getDataItemValue\"])(dataItem);\n    }\n\n    return result;\n  }\n}\n/**\n * Compatible with some cases (in pie, map) like:\n * data: [{name: 'xx', value: 5, selected: true}, ...]\n * where only sourceFormat is 'original' and 'objectRows' supported.\n *\n * // TODO\n * Supported detail options in data item when using 'arrayRows'.\n *\n * @param data\n * @param dataIndex\n * @param attr like 'selected'\n */\n\nfunction retrieveRawAttr(data, dataIndex, attr) {\n  if (!data) {\n    return;\n  }\n\n  var sourceFormat = data.getStore().getSource().sourceFormat;\n\n  if (sourceFormat !== _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"] && sourceFormat !== _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_OBJECT_ROWS\"]) {\n    return;\n  }\n\n  var dataItem = data.getRawDataItem(dataIndex);\n\n  if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_3__[\"SOURCE_FORMAT_ORIGINAL\"] && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(dataItem)) {\n    dataItem = null;\n  }\n\n  if (dataItem) {\n    return dataItem[attr];\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dataProvider.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/dataStackHelper.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/dataStackHelper.js ***!
  \*****************************************************************/
/*! exports provided: enableDataStack, isDimensionStacked, getStackedDimension */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableDataStack\", function() { return enableDataStack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDimensionStacked\", function() { return isDimensionStacked; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStackedDimension\", function() { return getStackedDimension; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SeriesDataSchema.js */ \"./node_modules/echarts/lib/data/helper/SeriesDataSchema.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * Note that it is too complicated to support 3d stack by value\n * (have to create two-dimension inverted index), so in 3d case\n * we just support that stacked by index.\n *\n * @param seriesModel\n * @param dimensionsInput The same as the input of <module:echarts/data/SeriesData>.\n *        The input will be modified.\n * @param opt\n * @param opt.stackedCoordDimension Specify a coord dimension if needed.\n * @param opt.byIndex=false\n * @return calculationInfo\n * {\n *     stackedDimension: string\n *     stackedByDimension: string\n *     isStackedByIndex: boolean\n *     stackedOverDimension: string\n *     stackResultDimension: string\n * }\n */\n\nfunction enableDataStack(seriesModel, dimensionsInput, opt) {\n  opt = opt || {};\n  var byIndex = opt.byIndex;\n  var stackedCoordDimension = opt.stackedCoordDimension;\n  var dimensionDefineList;\n  var schema;\n  var store;\n\n  if (isLegacyDimensionsInput(dimensionsInput)) {\n    dimensionDefineList = dimensionsInput;\n  } else {\n    schema = dimensionsInput.schema;\n    dimensionDefineList = schema.dimensions;\n    store = dimensionsInput.store;\n  } // Compatibal: when `stack` is set as '', do not stack.\n\n\n  var mayStack = !!(seriesModel && seriesModel.get('stack'));\n  var stackedByDimInfo;\n  var stackedDimInfo;\n  var stackResultDimension;\n  var stackedOverDimension;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(dimensionDefineList, function (dimensionInfo, index) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(dimensionInfo)) {\n      dimensionDefineList[index] = dimensionInfo = {\n        name: dimensionInfo\n      };\n    }\n\n    if (mayStack && !dimensionInfo.isExtraCoord) {\n      // Find the first ordinal dimension as the stackedByDimInfo.\n      if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {\n        stackedByDimInfo = dimensionInfo;\n      } // Find the first stackable dimension as the stackedDimInfo.\n\n\n      if (!stackedDimInfo && dimensionInfo.type !== 'ordinal' && dimensionInfo.type !== 'time' && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {\n        stackedDimInfo = dimensionInfo;\n      }\n    }\n  });\n\n  if (stackedDimInfo && !byIndex && !stackedByDimInfo) {\n    // Compatible with previous design, value axis (time axis) only stack by index.\n    // It may make sense if the user provides elaborately constructed data.\n    byIndex = true;\n  } // Add stack dimension, they can be both calculated by coordinate system in `unionExtent`.\n  // That put stack logic in List is for using conveniently in echarts extensions, but it\n  // might not be a good way.\n\n\n  if (stackedDimInfo) {\n    // Use a weird name that not duplicated with other names.\n    // Also need to use seriesModel.id as postfix because different\n    // series may share same data store. The stack dimension needs to be distinguished.\n    stackResultDimension = '__\\0ecstackresult_' + seriesModel.id;\n    stackedOverDimension = '__\\0ecstackedover_' + seriesModel.id; // Create inverted index to fast query index by value.\n\n    if (stackedByDimInfo) {\n      stackedByDimInfo.createInvertedIndices = true;\n    }\n\n    var stackedDimCoordDim_1 = stackedDimInfo.coordDim;\n    var stackedDimType = stackedDimInfo.type;\n    var stackedDimCoordIndex_1 = 0;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(dimensionDefineList, function (dimensionInfo) {\n      if (dimensionInfo.coordDim === stackedDimCoordDim_1) {\n        stackedDimCoordIndex_1++;\n      }\n    });\n    var stackedOverDimensionDefine = {\n      name: stackResultDimension,\n      coordDim: stackedDimCoordDim_1,\n      coordDimIndex: stackedDimCoordIndex_1,\n      type: stackedDimType,\n      isExtraCoord: true,\n      isCalculationCoord: true,\n      storeDimIndex: dimensionDefineList.length\n    };\n    var stackResultDimensionDefine = {\n      name: stackedOverDimension,\n      // This dimension contains stack base (generally, 0), so do not set it as\n      // `stackedDimCoordDim` to avoid extent calculation, consider log scale.\n      coordDim: stackedOverDimension,\n      coordDimIndex: stackedDimCoordIndex_1 + 1,\n      type: stackedDimType,\n      isExtraCoord: true,\n      isCalculationCoord: true,\n      storeDimIndex: dimensionDefineList.length + 1\n    };\n\n    if (schema) {\n      if (store) {\n        stackedOverDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackedOverDimension, stackedDimType);\n        stackResultDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackResultDimension, stackedDimType);\n      }\n\n      schema.appendCalculationDimension(stackedOverDimensionDefine);\n      schema.appendCalculationDimension(stackResultDimensionDefine);\n    } else {\n      dimensionDefineList.push(stackedOverDimensionDefine);\n      dimensionDefineList.push(stackResultDimensionDefine);\n    }\n  }\n\n  return {\n    stackedDimension: stackedDimInfo && stackedDimInfo.name,\n    stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,\n    isStackedByIndex: byIndex,\n    stackedOverDimension: stackedOverDimension,\n    stackResultDimension: stackResultDimension\n  };\n}\n\nfunction isLegacyDimensionsInput(dimensionsInput) {\n  return !Object(_SeriesDataSchema_js__WEBPACK_IMPORTED_MODULE_1__[\"isSeriesDataSchema\"])(dimensionsInput.schema);\n}\n\nfunction isDimensionStacked(data, stackedDim) {\n  // Each single series only maps to one pair of axis. So we do not need to\n  // check stackByDim, whatever stacked by a dimension or stacked by index.\n  return !!stackedDim && stackedDim === data.getCalculationInfo('stackedDimension');\n}\nfunction getStackedDimension(data, targetDim) {\n  return isDimensionStacked(data, targetDim) ? data.getCalculationInfo('stackResultDimension') : targetDim;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dataStackHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/dataValueHelper.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/dataValueHelper.js ***!
  \*****************************************************************/
/*! exports provided: parseDataValue, getRawValueParser, SortOrderComparator, createFilterComparator */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDataValue\", function() { return parseDataValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRawValueParser\", function() { return getRawValueParser; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SortOrderComparator\", function() { return SortOrderComparator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFilterComparator\", function() { return createFilterComparator; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n/**\n * Convert raw the value in to inner value in List.\n *\n * [Performance sensitive]\n *\n * [Caution]: this is the key logic of user value parser.\n * For backward compatibiliy, do not modify it until have to!\n */\n\nfunction parseDataValue(value, // For high performance, do not omit the second param.\nopt) {\n  // Performance sensitive.\n  var dimType = opt && opt.type;\n\n  if (dimType === 'ordinal') {\n    // If given value is a category string\n    return value;\n  }\n\n  if (dimType === 'time' // spead up when using timestamp\n  && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(value) && value != null && value !== '-') {\n    value = +Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parseDate\"])(value);\n  } // dimType defaults 'number'.\n  // If dimType is not ordinal and value is null or undefined or NaN or '-',\n  // parse to NaN.\n  // number-like string (like ' 123 ') can be converted to a number.\n  // where null/undefined or other string will be converted to NaN.\n\n\n  return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN\n  // If object, also parse to NaN\n  : +value;\n}\n;\nvar valueParserMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])({\n  'number': function (val) {\n    // Do not use `numericToNumber` here. We have by defualt `numericToNumber`.\n    // Here the number parser can have loose rule:\n    // enable to cut suffix: \"120px\" => 120, \"14%\" => 14.\n    return parseFloat(val);\n  },\n  'time': function (val) {\n    // return timestamp.\n    return +Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parseDate\"])(val);\n  },\n  'trim': function (val) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(val) ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])(val) : val;\n  }\n});\nfunction getRawValueParser(type) {\n  return valueParserMap.get(type);\n}\nvar ORDER_COMPARISON_OP_MAP = {\n  lt: function (lval, rval) {\n    return lval < rval;\n  },\n  lte: function (lval, rval) {\n    return lval <= rval;\n  },\n  gt: function (lval, rval) {\n    return lval > rval;\n  },\n  gte: function (lval, rval) {\n    return lval >= rval;\n  }\n};\n\nvar FilterOrderComparator =\n/** @class */\nfunction () {\n  function FilterOrderComparator(op, rval) {\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(rval)) {\n      var errMsg = '';\n\n      if (true) {\n        errMsg = 'rvalue of \"<\", \">\", \"<=\", \">=\" can only be number in filter.';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"throwError\"])(errMsg);\n    }\n\n    this._opFn = ORDER_COMPARISON_OP_MAP[op];\n    this._rvalFloat = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"])(rval);\n  } // Performance sensitive.\n\n\n  FilterOrderComparator.prototype.evaluate = function (lval) {\n    // Most cases is 'number', and typeof maybe 10 times faseter than parseFloat.\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(lval) ? this._opFn(lval, this._rvalFloat) : this._opFn(Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"])(lval), this._rvalFloat);\n  };\n\n  return FilterOrderComparator;\n}();\n\nvar SortOrderComparator =\n/** @class */\nfunction () {\n  /**\n   * @param order by defualt: 'asc'\n   * @param incomparable by defualt: Always on the tail.\n   *        That is, if 'asc' => 'max', if 'desc' => 'min'\n   *        See the definition of \"incomparable\" in [SORT_COMPARISON_RULE]\n   */\n  function SortOrderComparator(order, incomparable) {\n    var isDesc = order === 'desc';\n    this._resultLT = isDesc ? 1 : -1;\n\n    if (incomparable == null) {\n      incomparable = isDesc ? 'min' : 'max';\n    }\n\n    this._incomparable = incomparable === 'min' ? -Infinity : Infinity;\n  } // See [SORT_COMPARISON_RULE].\n  // Performance sensitive.\n\n\n  SortOrderComparator.prototype.evaluate = function (lval, rval) {\n    // Most cases is 'number', and typeof maybe 10 times faseter than parseFloat.\n    var lvalFloat = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(lval) ? lval : Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"])(lval);\n    var rvalFloat = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(rval) ? rval : Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"])(rval);\n    var lvalNotNumeric = isNaN(lvalFloat);\n    var rvalNotNumeric = isNaN(rvalFloat);\n\n    if (lvalNotNumeric) {\n      lvalFloat = this._incomparable;\n    }\n\n    if (rvalNotNumeric) {\n      rvalFloat = this._incomparable;\n    }\n\n    if (lvalNotNumeric && rvalNotNumeric) {\n      var lvalIsStr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(lval);\n      var rvalIsStr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(rval);\n\n      if (lvalIsStr) {\n        lvalFloat = rvalIsStr ? lval : 0;\n      }\n\n      if (rvalIsStr) {\n        rvalFloat = lvalIsStr ? rval : 0;\n      }\n    }\n\n    return lvalFloat < rvalFloat ? this._resultLT : lvalFloat > rvalFloat ? -this._resultLT : 0;\n  };\n\n  return SortOrderComparator;\n}();\n\n\n\nvar FilterEqualityComparator =\n/** @class */\nfunction () {\n  function FilterEqualityComparator(isEq, rval) {\n    this._rval = rval;\n    this._isEQ = isEq;\n    this._rvalTypeof = typeof rval;\n    this._rvalFloat = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"])(rval);\n  } // Performance sensitive.\n\n\n  FilterEqualityComparator.prototype.evaluate = function (lval) {\n    var eqResult = lval === this._rval;\n\n    if (!eqResult) {\n      var lvalTypeof = typeof lval;\n\n      if (lvalTypeof !== this._rvalTypeof && (lvalTypeof === 'number' || this._rvalTypeof === 'number')) {\n        eqResult = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"])(lval) === this._rvalFloat;\n      }\n    }\n\n    return this._isEQ ? eqResult : !eqResult;\n  };\n\n  return FilterEqualityComparator;\n}();\n/**\n * [FILTER_COMPARISON_RULE]\n * `lt`|`lte`|`gt`|`gte`:\n * + rval must be a number. And lval will be converted to number (`numericToNumber`) to compare.\n * `eq`:\n * + If same type, compare with `===`.\n * + If there is one number, convert to number (`numericToNumber`) to compare.\n * + Else return `false`.\n * `ne`:\n * + Not `eq`.\n *\n *\n * [SORT_COMPARISON_RULE]\n * All the values are grouped into three categories:\n * + \"numeric\" (number and numeric string)\n * + \"non-numeric-string\" (string that excluding numeric string)\n * + \"others\"\n * \"numeric\" vs \"numeric\": values are ordered by number order.\n * \"non-numeric-string\" vs \"non-numeric-string\": values are ordered by ES spec (#sec-abstract-relational-comparison).\n * \"others\" vs \"others\": do not change order (always return 0).\n * \"numeric\" vs \"non-numeric-string\": \"non-numeric-string\" is treated as \"incomparable\".\n * \"number\" vs \"others\": \"others\" is treated as \"incomparable\".\n * \"non-numeric-string\" vs \"others\": \"others\" is treated as \"incomparable\".\n * \"incomparable\" will be seen as -Infinity or Infinity (depends on the settings).\n * MEMO:\n *   non-numeric string sort make sence when need to put the items with the same tag together.\n *   But if we support string sort, we still need to avoid the misleading like `'2' > '12'`,\n *   So we treat \"numeric-string\" sorted by number order rather than string comparison.\n *\n *\n * [CHECK_LIST_OF_THE_RULE_DESIGN]\n * + Do not support string comparison until required. And also need to\n *   void the misleading of \"2\" > \"12\".\n * + Should avoid the misleading case:\n *   `\" 22 \" gte \"22\"` is `true` but `\" 22 \" eq \"22\"` is `false`.\n * + JS bad case should be avoided: null <= 0, [] <= 0, ' ' <= 0, ...\n * + Only \"numeric\" can be converted to comparable number, otherwise converted to NaN.\n *   See `util/number.ts#numericToNumber`.\n *\n * @return If `op` is not `RelationalOperator`, return null;\n */\n\n\nfunction createFilterComparator(op, rval) {\n  return op === 'eq' || op === 'ne' ? new FilterEqualityComparator(op === 'eq', rval) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"hasOwn\"])(ORDER_COMPARISON_OP_MAP, op) ? new FilterOrderComparator(op, rval) : null;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dataValueHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/dimensionHelper.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/dimensionHelper.js ***!
  \*****************************************************************/
/*! exports provided: summarizeDimensions, getDimensionTypeByAxis */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"summarizeDimensions\", function() { return summarizeDimensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDimensionTypeByAxis\", function() { return getDimensionTypeByAxis; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar DimensionUserOuput =\n/** @class */\nfunction () {\n  function DimensionUserOuput(encode, dimRequest) {\n    this._encode = encode;\n    this._schema = dimRequest;\n  }\n\n  DimensionUserOuput.prototype.get = function () {\n    return {\n      // Do not generate full dimension name until fist used.\n      fullDimensions: this._getFullDimensionNames(),\n      encode: this._encode\n    };\n  };\n  /**\n   * Get all data store dimension names.\n   * Theoretically a series data store is defined both by series and used dataset (if any).\n   * If some dimensions are omitted for performance reason in `this.dimensions`,\n   * the dimension name may not be auto-generated if user does not specify a dimension name.\n   * In this case, the dimension name is `null`/`undefined`.\n   */\n\n\n  DimensionUserOuput.prototype._getFullDimensionNames = function () {\n    if (!this._cachedDimNames) {\n      this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : [];\n    }\n\n    return this._cachedDimNames;\n  };\n\n  return DimensionUserOuput;\n}();\n\n;\nfunction summarizeDimensions(data, schema) {\n  var summary = {};\n  var encode = summary.encode = {};\n  var notExtraCoordDimMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  var defaultedLabel = [];\n  var defaultedTooltip = [];\n  var userOutputEncode = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(data.dimensions, function (dimName) {\n    var dimItem = data.getDimensionInfo(dimName);\n    var coordDim = dimItem.coordDim;\n\n    if (coordDim) {\n      if (true) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(_util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"VISUAL_DIMENSIONS\"].get(coordDim) == null);\n      }\n\n      var coordDimIndex = dimItem.coordDimIndex;\n      getOrCreateEncodeArr(encode, coordDim)[coordDimIndex] = dimName;\n\n      if (!dimItem.isExtraCoord) {\n        notExtraCoordDimMap.set(coordDim, 1); // Use the last coord dim (and label friendly) as default label,\n        // because when dataset is used, it is hard to guess which dimension\n        // can be value dimension. If both show x, y on label is not look good,\n        // and conventionally y axis is focused more.\n\n        if (mayLabelDimType(dimItem.type)) {\n          defaultedLabel[0] = dimName;\n        } // User output encode do not contain generated coords.\n        // And it only has index. User can use index to retrieve value from the raw item array.\n\n\n        getOrCreateEncodeArr(userOutputEncode, coordDim)[coordDimIndex] = data.getDimensionIndex(dimItem.name);\n      }\n\n      if (dimItem.defaultTooltip) {\n        defaultedTooltip.push(dimName);\n      }\n    }\n\n    _util_types_js__WEBPACK_IMPORTED_MODULE_1__[\"VISUAL_DIMENSIONS\"].each(function (v, otherDim) {\n      var encodeArr = getOrCreateEncodeArr(encode, otherDim);\n      var dimIndex = dimItem.otherDims[otherDim];\n\n      if (dimIndex != null && dimIndex !== false) {\n        encodeArr[dimIndex] = dimItem.name;\n      }\n    });\n  });\n  var dataDimsOnCoord = [];\n  var encodeFirstDimNotExtra = {};\n  notExtraCoordDimMap.each(function (v, coordDim) {\n    var dimArr = encode[coordDim];\n    encodeFirstDimNotExtra[coordDim] = dimArr[0]; // Not necessary to remove duplicate, because a data\n    // dim canot on more than one coordDim.\n\n    dataDimsOnCoord = dataDimsOnCoord.concat(dimArr);\n  });\n  summary.dataDimsOnCoord = dataDimsOnCoord;\n  summary.dataDimIndicesOnCoord = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(dataDimsOnCoord, function (dimName) {\n    return data.getDimensionInfo(dimName).storeDimIndex;\n  });\n  summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra;\n  var encodeLabel = encode.label; // FIXME `encode.label` is not recommanded, because formatter can not be set\n  // in this way. Use label.formatter instead. May be remove this approach someday.\n\n  if (encodeLabel && encodeLabel.length) {\n    defaultedLabel = encodeLabel.slice();\n  }\n\n  var encodeTooltip = encode.tooltip;\n\n  if (encodeTooltip && encodeTooltip.length) {\n    defaultedTooltip = encodeTooltip.slice();\n  } else if (!defaultedTooltip.length) {\n    defaultedTooltip = defaultedLabel.slice();\n  }\n\n  encode.defaultedLabel = defaultedLabel;\n  encode.defaultedTooltip = defaultedTooltip;\n  summary.userOutput = new DimensionUserOuput(userOutputEncode, schema);\n  return summary;\n}\n\nfunction getOrCreateEncodeArr(encode, dim) {\n  if (!encode.hasOwnProperty(dim)) {\n    encode[dim] = [];\n  }\n\n  return encode[dim];\n} // FIXME:TS should be type `AxisType`\n\n\nfunction getDimensionTypeByAxis(axisType) {\n  return axisType === 'category' ? 'ordinal' : axisType === 'time' ? 'time' : 'float';\n}\n\nfunction mayLabelDimType(dimType) {\n  // In most cases, ordinal and time do not suitable for label.\n  // Ordinal info can be displayed on axis. Time is too long.\n  return !(dimType === 'ordinal' || dimType === 'time');\n} // function findTheLastDimMayLabel(data) {\n//     // Get last value dim\n//     let dimensions = data.dimensions.slice();\n//     let valueType;\n//     let valueDim;\n//     while (dimensions.length && (\n//         valueDim = dimensions.pop(),\n//         valueType = data.getDimensionInfo(valueDim).type,\n//         valueType === 'ordinal' || valueType === 'time'\n//     )) {} // jshint ignore:line\n//     return valueDim;\n// }\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dimensionHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/linkSeriesData.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/linkSeriesData.js ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Link lists and struct (graph or tree)\n */\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"makeInner\"])();\n\nfunction linkSeriesData(opt) {\n  var mainData = opt.mainData;\n  var datas = opt.datas;\n\n  if (!datas) {\n    datas = {\n      main: mainData\n    };\n    opt.datasAttr = {\n      main: 'data'\n    };\n  }\n\n  opt.datas = opt.mainData = null;\n  linkAll(mainData, datas, opt); // Porxy data original methods.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(datas, function (data) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(mainData.TRANSFERABLE_METHODS, function (methodName) {\n      data.wrapMethod(methodName, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(transferInjection, opt));\n    });\n  }); // Beyond transfer, additional features should be added to `cloneShallow`.\n\n  mainData.wrapMethod('cloneShallow', Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(cloneShallowInjection, opt)); // Only mainData trigger change, because struct.update may trigger\n  // another changable methods, which may bring about dead lock.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(mainData.CHANGABLE_METHODS, function (methodName) {\n    mainData.wrapMethod(methodName, Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"])(changeInjection, opt));\n  }); // Make sure datas contains mainData.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(datas[mainData.dataType] === mainData);\n}\n\nfunction transferInjection(opt, res) {\n  if (isMainData(this)) {\n    // Transfer datas to new main data.\n    var datas = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({}, inner(this).datas);\n    datas[this.dataType] = res;\n    linkAll(res, datas, opt);\n  } else {\n    // Modify the reference in main data to point newData.\n    linkSingle(res, this.dataType, inner(this).mainData, opt);\n  }\n\n  return res;\n}\n\nfunction changeInjection(opt, res) {\n  opt.struct && opt.struct.update();\n  return res;\n}\n\nfunction cloneShallowInjection(opt, res) {\n  // cloneShallow, which brings about some fragilities, may be inappropriate\n  // to be exposed as an API. So for implementation simplicity we can make\n  // the restriction that cloneShallow of not-mainData should not be invoked\n  // outside, but only be invoked here.\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(inner(res).datas, function (data, dataType) {\n    data !== res && linkSingle(data.cloneShallow(), dataType, res, opt);\n  });\n  return res;\n}\n/**\n * Supplement method to List.\n *\n * @public\n * @param [dataType] If not specified, return mainData.\n */\n\n\nfunction getLinkedData(dataType) {\n  var mainData = inner(this).mainData;\n  return dataType == null || mainData == null ? mainData : inner(mainData).datas[dataType];\n}\n/**\n * Get list of all linked data\n */\n\n\nfunction getLinkedDataAll() {\n  var mainData = inner(this).mainData;\n  return mainData == null ? [{\n    data: mainData\n  }] : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(inner(mainData).datas), function (type) {\n    return {\n      type: type,\n      data: inner(mainData).datas[type]\n    };\n  });\n}\n\nfunction isMainData(data) {\n  return inner(data).mainData === data;\n}\n\nfunction linkAll(mainData, datas, opt) {\n  inner(mainData).datas = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(datas, function (data, dataType) {\n    linkSingle(data, dataType, mainData, opt);\n  });\n}\n\nfunction linkSingle(data, dataType, mainData, opt) {\n  inner(mainData).datas[dataType] = data;\n  inner(data).mainData = mainData;\n  data.dataType = dataType;\n\n  if (opt.struct) {\n    data[opt.structAttr] = opt.struct;\n    opt.struct[opt.datasAttr[dataType]] = data;\n  } // Supplement method.\n\n\n  data.getLinkedData = getLinkedData;\n  data.getLinkedDataAll = getLinkedDataAll;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (linkSeriesData);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/linkSeriesData.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/sourceHelper.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/sourceHelper.js ***!
  \**************************************************************/
/*! exports provided: BE_ORDINAL, resetSourceDefaulter, makeSeriesEncodeForAxisCoordSys, makeSeriesEncodeForNameBased, querySeriesUpstreamDatasetModel, queryDatasetUpstreamDatasetModels, guessOrdinal */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BE_ORDINAL\", function() { return BE_ORDINAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetSourceDefaulter\", function() { return resetSourceDefaulter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeSeriesEncodeForAxisCoordSys\", function() { return makeSeriesEncodeForAxisCoordSys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeSeriesEncodeForNameBased\", function() { return makeSeriesEncodeForNameBased; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"querySeriesUpstreamDatasetModel\", function() { return querySeriesUpstreamDatasetModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"queryDatasetUpstreamDatasetModels\", function() { return queryDatasetUpstreamDatasetModels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"guessOrdinal\", function() { return guessOrdinal; });\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n // The result of `guessOrdinal`.\n\nvar BE_ORDINAL = {\n  Must: 1,\n  Might: 2,\n  Not: 3 // Other cases\n\n};\nvar innerGlobalModel = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\n/**\n * MUST be called before mergeOption of all series.\n */\n\nfunction resetSourceDefaulter(ecModel) {\n  // `datasetMap` is used to make default encode.\n  innerGlobalModel(ecModel).datasetMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n}\n/**\n * [The strategy of the arrengment of data dimensions for dataset]:\n * \"value way\": all axes are non-category axes. So series one by one take\n *     several (the number is coordSysDims.length) dimensions from dataset.\n *     The result of data arrengment of data dimensions like:\n *     | ser0_x | ser0_y | ser1_x | ser1_y | ser2_x | ser2_y |\n * \"category way\": at least one axis is category axis. So the the first data\n *     dimension is always mapped to the first category axis and shared by\n *     all of the series. The other data dimensions are taken by series like\n *     \"value way\" does.\n *     The result of data arrengment of data dimensions like:\n *     | ser_shared_x | ser0_y | ser1_y | ser2_y |\n *\n * @return encode Never be `null/undefined`.\n */\n\nfunction makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {\n  var encode = {};\n  var datasetModel = querySeriesUpstreamDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n  if (!datasetModel || !coordDimensions) {\n    return encode;\n  }\n\n  var encodeItemName = [];\n  var encodeSeriesName = [];\n  var ecModel = seriesModel.ecModel;\n  var datasetMap = innerGlobalModel(ecModel).datasetMap;\n  var key = datasetModel.uid + '_' + source.seriesLayoutBy;\n  var baseCategoryDimIndex;\n  var categoryWayValueDimStart;\n  coordDimensions = coordDimensions.slice();\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(coordDimensions, function (coordDimInfoLoose, coordDimIdx) {\n    var coordDimInfo = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(coordDimInfoLoose) ? coordDimInfoLoose : coordDimensions[coordDimIdx] = {\n      name: coordDimInfoLoose\n    };\n\n    if (coordDimInfo.type === 'ordinal' && baseCategoryDimIndex == null) {\n      baseCategoryDimIndex = coordDimIdx;\n      categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimInfo);\n    }\n\n    encode[coordDimInfo.name] = [];\n  });\n  var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {\n    categoryWayDim: categoryWayValueDimStart,\n    valueWayDim: 0\n  }); // TODO\n  // Auto detect first time axis and do arrangement.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(coordDimensions, function (coordDimInfo, coordDimIdx) {\n    var coordDimName = coordDimInfo.name;\n    var count = getDataDimCountOnCoordDim(coordDimInfo); // In value way.\n\n    if (baseCategoryDimIndex == null) {\n      var start = datasetRecord.valueWayDim;\n      pushDim(encode[coordDimName], start, count);\n      pushDim(encodeSeriesName, start, count);\n      datasetRecord.valueWayDim += count; // ??? TODO give a better default series name rule?\n      // especially when encode x y specified.\n      // consider: when mutiple series share one dimension\n      // category axis, series name should better use\n      // the other dimsion name. On the other hand, use\n      // both dimensions name.\n    } // In category way, the first category axis.\n    else if (baseCategoryDimIndex === coordDimIdx) {\n        pushDim(encode[coordDimName], 0, count);\n        pushDim(encodeItemName, 0, count);\n      } // In category way, the other axis.\n      else {\n          var start = datasetRecord.categoryWayDim;\n          pushDim(encode[coordDimName], start, count);\n          pushDim(encodeSeriesName, start, count);\n          datasetRecord.categoryWayDim += count;\n        }\n  });\n\n  function pushDim(dimIdxArr, idxFrom, idxCount) {\n    for (var i = 0; i < idxCount; i++) {\n      dimIdxArr.push(idxFrom + i);\n    }\n  }\n\n  function getDataDimCountOnCoordDim(coordDimInfo) {\n    var dimsDef = coordDimInfo.dimsDef;\n    return dimsDef ? dimsDef.length : 1;\n  }\n\n  encodeItemName.length && (encode.itemName = encodeItemName);\n  encodeSeriesName.length && (encode.seriesName = encodeSeriesName);\n  return encode;\n}\n/**\n * Work for data like [{name: ..., value: ...}, ...].\n *\n * @return encode Never be `null/undefined`.\n */\n\nfunction makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {\n  var encode = {};\n  var datasetModel = querySeriesUpstreamDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n  if (!datasetModel) {\n    return encode;\n  }\n\n  var sourceFormat = source.sourceFormat;\n  var dimensionsDefine = source.dimensionsDefine;\n  var potentialNameDimIndex;\n\n  if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_OBJECT_ROWS\"] || sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(dimensionsDefine, function (dim, idx) {\n      if ((Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(dim) ? dim.name : dim) === 'name') {\n        potentialNameDimIndex = idx;\n      }\n    });\n  }\n\n  var idxResult = function () {\n    var idxRes0 = {};\n    var idxRes1 = {};\n    var guessRecords = []; // 5 is an experience value.\n\n    for (var i = 0, len = Math.min(5, dimCount); i < len; i++) {\n      var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i);\n      guessRecords.push(guessResult);\n      var isPureNumber = guessResult === BE_ORDINAL.Not; // [Strategy of idxRes0]: find the first BE_ORDINAL.Not as the value dim,\n      // and then find a name dim with the priority:\n      // \"BE_ORDINAL.Might|BE_ORDINAL.Must\" > \"other dim\" > \"the value dim itself\".\n\n      if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) {\n        idxRes0.v = i;\n      }\n\n      if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {\n        idxRes0.n = i;\n      }\n\n      if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {\n        return idxRes0;\n      } // [Strategy of idxRes1]: if idxRes0 not satisfied (that is, no BE_ORDINAL.Not),\n      // find the first BE_ORDINAL.Might as the value dim,\n      // and then find a name dim with the priority:\n      // \"other dim\" > \"the value dim itself\".\n      // That is for backward compat: number-like (e.g., `'3'`, `'55'`) can be\n      // treated as number.\n\n\n      if (!isPureNumber) {\n        if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) {\n          idxRes1.v = i;\n        }\n\n        if (idxRes1.n == null || idxRes1.n === idxRes1.v) {\n          idxRes1.n = i;\n        }\n      }\n    }\n\n    function fulfilled(idxResult) {\n      return idxResult.v != null && idxResult.n != null;\n    }\n\n    return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;\n  }();\n\n  if (idxResult) {\n    encode.value = [idxResult.v]; // `potentialNameDimIndex` has highest priority.\n\n    var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n; // By default, label use itemName in charts.\n    // So we dont set encodeLabel here.\n\n    encode.itemName = [nameDimIndex];\n    encode.seriesName = [nameDimIndex];\n  }\n\n  return encode;\n}\n/**\n * @return If return null/undefined, indicate that should not use datasetModel.\n */\n\nfunction querySeriesUpstreamDatasetModel(seriesModel) {\n  // Caution: consider the scenario:\n  // A dataset is declared and a series is not expected to use the dataset,\n  // and at the beginning `setOption({series: { noData })` (just prepare other\n  // option but no data), then `setOption({series: {data: [...]}); In this case,\n  // the user should set an empty array to avoid that dataset is used by default.\n  var thisData = seriesModel.get('data', true);\n\n  if (!thisData) {\n    return Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"queryReferringComponents\"])(seriesModel.ecModel, 'dataset', {\n      index: seriesModel.get('datasetIndex', true),\n      id: seriesModel.get('datasetId', true)\n    }, _util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"SINGLE_REFERRING\"]).models[0];\n  }\n}\n/**\n * @return Always return an array event empty.\n */\n\nfunction queryDatasetUpstreamDatasetModels(datasetModel) {\n  // Only these attributes declared, we by defualt reference to `datasetIndex: 0`.\n  // Otherwise, no reference.\n  if (!datasetModel.get('transform', true) && !datasetModel.get('fromTransformResult', true)) {\n    return [];\n  }\n\n  return Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"queryReferringComponents\"])(datasetModel.ecModel, 'dataset', {\n    index: datasetModel.get('fromDatasetIndex', true),\n    id: datasetModel.get('fromDatasetId', true)\n  }, _util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"SINGLE_REFERRING\"]).models;\n}\n/**\n * The rule should not be complex, otherwise user might not\n * be able to known where the data is wrong.\n * The code is ugly, but how to make it neat?\n */\n\nfunction guessOrdinal(source, dimIndex) {\n  return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);\n} // dimIndex may be overflow source data.\n// return {BE_ORDINAL}\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n  var result; // Experience value.\n\n  var maxLoop = 5;\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isTypedArray\"])(data)) {\n    return BE_ORDINAL.Not;\n  } // When sourceType is 'objectRows' or 'keyedColumns', dimensionsDefine\n  // always exists in source.\n\n\n  var dimName;\n  var dimType;\n\n  if (dimensionsDefine) {\n    var dimDefItem = dimensionsDefine[dimIndex];\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(dimDefItem)) {\n      dimName = dimDefItem.name;\n      dimType = dimDefItem.type;\n    } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(dimDefItem)) {\n      dimName = dimDefItem;\n    }\n  }\n\n  if (dimType != null) {\n    return dimType === 'ordinal' ? BE_ORDINAL.Must : BE_ORDINAL.Not;\n  }\n\n  if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_ARRAY_ROWS\"]) {\n    var dataArrayRows = data;\n\n    if (seriesLayoutBy === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SERIES_LAYOUT_BY_ROW\"]) {\n      var sample = dataArrayRows[dimIndex];\n\n      for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {\n        if ((result = detectValue(sample[startIndex + i])) != null) {\n          return result;\n        }\n      }\n    } else {\n      for (var i = 0; i < dataArrayRows.length && i < maxLoop; i++) {\n        var row = dataArrayRows[startIndex + i];\n\n        if (row && (result = detectValue(row[dimIndex])) != null) {\n          return result;\n        }\n      }\n    }\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_OBJECT_ROWS\"]) {\n    var dataObjectRows = data;\n\n    if (!dimName) {\n      return BE_ORDINAL.Not;\n    }\n\n    for (var i = 0; i < dataObjectRows.length && i < maxLoop; i++) {\n      var item = dataObjectRows[i];\n\n      if (item && (result = detectValue(item[dimName])) != null) {\n        return result;\n      }\n    }\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_KEYED_COLUMNS\"]) {\n    var dataKeyedColumns = data;\n\n    if (!dimName) {\n      return BE_ORDINAL.Not;\n    }\n\n    var sample = dataKeyedColumns[dimName];\n\n    if (!sample || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isTypedArray\"])(sample)) {\n      return BE_ORDINAL.Not;\n    }\n\n    for (var i = 0; i < sample.length && i < maxLoop; i++) {\n      if ((result = detectValue(sample[i])) != null) {\n        return result;\n      }\n    }\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_ORIGINAL\"]) {\n    var dataOriginal = data;\n\n    for (var i = 0; i < dataOriginal.length && i < maxLoop; i++) {\n      var item = dataOriginal[i];\n      var val = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"getDataItemValue\"])(item);\n\n      if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(val)) {\n        return BE_ORDINAL.Not;\n      }\n\n      if ((result = detectValue(val[dimIndex])) != null) {\n        return result;\n      }\n    }\n  }\n\n  function detectValue(val) {\n    var beStr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(val); // Consider usage convenience, '1', '2' will be treated as \"number\".\n    // `isFinit('')` get `true`.\n\n    if (val != null && isFinite(val) && val !== '') {\n      return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;\n    } else if (beStr && val !== '-') {\n      return BE_ORDINAL.Must;\n    }\n  }\n\n  return BE_ORDINAL.Not;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/sourceHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/sourceManager.js":
/*!***************************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/sourceManager.js ***!
  \***************************************************************/
/*! exports provided: SourceManager, disableTransformOptionMerge */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SourceManager\", function() { return SourceManager; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disableTransformOptionMerge\", function() { return disableTransformOptionMerge; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./transform.js */ \"./node_modules/echarts/lib/data/helper/transform.js\");\n/* harmony import */ var _DataStore_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../DataStore.js */ \"./node_modules/echarts/lib/data/DataStore.js\");\n/* harmony import */ var _dataProvider_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dataProvider.js */ \"./node_modules/echarts/lib/data/helper/dataProvider.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n/**\n * [REQUIREMENT_MEMO]:\n * (0) `metaRawOption` means `dimensions`/`sourceHeader`/`seriesLayoutBy` in raw option.\n * (1) Keep support the feature: `metaRawOption` can be specified both on `series` and\n * `root-dataset`. Them on `series` has higher priority.\n * (2) Do not support to set `metaRawOption` on a `non-root-dataset`, because it might\n * confuse users: whether those props indicate how to visit the upstream source or visit\n * the transform result source, and some transforms has nothing to do with these props,\n * and some transforms might have multiple upstream.\n * (3) Transforms should specify `metaRawOption` in each output, just like they can be\n * declared in `root-dataset`.\n * (4) At present only support visit source in `SERIES_LAYOUT_BY_COLUMN` in transforms.\n * That is for reducing complexity in transfroms.\n * PENDING: Whether to provide transposition transform?\n *\n * [IMPLEMENTAION_MEMO]:\n * \"sourceVisitConfig\" are calculated from `metaRawOption` and `data`.\n * They will not be calculated until `source` is about to be visited (to prevent from\n * duplicate calcuation). `source` is visited only in series and input to transforms.\n *\n * [DIMENSION_INHERIT_RULE]:\n * By default the dimensions are inherited from ancestors, unless a transform return\n * a new dimensions definition.\n * Consider the case:\n * ```js\n * dataset: [{\n *     source: [ ['Product', 'Sales', 'Prise'], ['Cookies', 321, 44.21], ...]\n * }, {\n *     transform: { type: 'filter', ... }\n * }]\n * dataset: [{\n *     dimension: ['Product', 'Sales', 'Prise'],\n *     source: [ ['Cookies', 321, 44.21], ...]\n * }, {\n *     transform: { type: 'filter', ... }\n * }]\n * ```\n * The two types of option should have the same behavior after transform.\n *\n *\n * [SCENARIO]:\n * (1) Provide source data directly:\n * ```js\n * series: {\n *     encode: {...},\n *     dimensions: [...]\n *     seriesLayoutBy: 'row',\n *     data: [[...]]\n * }\n * ```\n * (2) Series refer to dataset.\n * ```js\n * series: [{\n *     encode: {...}\n *     // Ignore datasetIndex means `datasetIndex: 0`\n *     // and the dimensions defination in dataset is used\n * }, {\n *     encode: {...},\n *     seriesLayoutBy: 'column',\n *     datasetIndex: 1\n * }]\n * ```\n * (3) dataset transform\n * ```js\n * dataset: [{\n *     source: [...]\n * }, {\n *     source: [...]\n * }, {\n *     // By default from 0.\n *     transform: { type: 'filter', config: {...} }\n * }, {\n *     // Piped.\n *     transform: [\n *         { type: 'filter', config: {...} },\n *         { type: 'sort', config: {...} }\n *     ]\n * }, {\n *     id: 'regressionData',\n *     fromDatasetIndex: 1,\n *     // Third-party transform\n *     transform: { type: 'ecStat:regression', config: {...} }\n * }, {\n *     // retrieve the extra result.\n *     id: 'regressionFormula',\n *     fromDatasetId: 'regressionData',\n *     fromTransformResult: 1\n * }]\n * ```\n */\n\nvar SourceManager =\n/** @class */\nfunction () {\n  function SourceManager(sourceHost) {\n    // Cached source. Do not repeat calculating if not dirty.\n    this._sourceList = [];\n    this._storeList = []; // version sign of each upstream source manager.\n\n    this._upstreamSignList = [];\n    this._versionSignBase = 0;\n    this._dirty = true;\n    this._sourceHost = sourceHost;\n  }\n  /**\n   * Mark dirty.\n   */\n\n\n  SourceManager.prototype.dirty = function () {\n    this._setLocalSource([], []);\n\n    this._storeList = [];\n    this._dirty = true;\n  };\n\n  SourceManager.prototype._setLocalSource = function (sourceList, upstreamSignList) {\n    this._sourceList = sourceList;\n    this._upstreamSignList = upstreamSignList;\n    this._versionSignBase++;\n\n    if (this._versionSignBase > 9e10) {\n      this._versionSignBase = 0;\n    }\n  };\n  /**\n   * For detecting whether the upstream source is dirty, so that\n   * the local cached source (in `_sourceList`) should be discarded.\n   */\n\n\n  SourceManager.prototype._getVersionSign = function () {\n    return this._sourceHost.uid + '_' + this._versionSignBase;\n  };\n  /**\n   * Always return a source instance. Otherwise throw error.\n   */\n\n\n  SourceManager.prototype.prepareSource = function () {\n    // For the case that call `setOption` multiple time but no data changed,\n    // cache the result source to prevent from repeating transform.\n    if (this._isDirty()) {\n      this._createSource();\n\n      this._dirty = false;\n    }\n  };\n\n  SourceManager.prototype._createSource = function () {\n    this._setLocalSource([], []);\n\n    var sourceHost = this._sourceHost;\n\n    var upSourceMgrList = this._getUpstreamSourceManagers();\n\n    var hasUpstream = !!upSourceMgrList.length;\n    var resultSourceList;\n    var upstreamSignList;\n\n    if (isSeries(sourceHost)) {\n      var seriesModel = sourceHost;\n      var data = void 0;\n      var sourceFormat = void 0;\n      var upSource = void 0; // Has upstream dataset\n\n      if (hasUpstream) {\n        var upSourceMgr = upSourceMgrList[0];\n        upSourceMgr.prepareSource();\n        upSource = upSourceMgr.getSource();\n        data = upSource.data;\n        sourceFormat = upSource.sourceFormat;\n        upstreamSignList = [upSourceMgr._getVersionSign()];\n      } // Series data is from own.\n      else {\n          data = seriesModel.get('data', true);\n          sourceFormat = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"])(data) ? _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_TYPED_ARRAY\"] : _util_types_js__WEBPACK_IMPORTED_MODULE_2__[\"SOURCE_FORMAT_ORIGINAL\"];\n          upstreamSignList = [];\n        } // See [REQUIREMENT_MEMO], merge settings on series and parent dataset if it is root.\n\n\n      var newMetaRawOption = this._getSourceMetaRawOption() || {};\n      var upMetaRawOption = upSource && upSource.metaRawOption || {};\n      var seriesLayoutBy = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(newMetaRawOption.seriesLayoutBy, upMetaRawOption.seriesLayoutBy) || null;\n      var sourceHeader = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(newMetaRawOption.sourceHeader, upMetaRawOption.sourceHeader); // Note here we should not use `upSource.dimensionsDefine`. Consider the case:\n      // `upSource.dimensionsDefine` is detected by `seriesLayoutBy: 'column'`,\n      // but series need `seriesLayoutBy: 'row'`.\n\n      var dimensions = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(newMetaRawOption.dimensions, upMetaRawOption.dimensions); // We share source with dataset as much as possible\n      // to avoid extra memroy cost of high dimensional data.\n\n      var needsCreateSource = seriesLayoutBy !== upMetaRawOption.seriesLayoutBy || !!sourceHeader !== !!upMetaRawOption.sourceHeader || dimensions;\n      resultSourceList = needsCreateSource ? [Object(_Source_js__WEBPACK_IMPORTED_MODULE_1__[\"createSource\"])(data, {\n        seriesLayoutBy: seriesLayoutBy,\n        sourceHeader: sourceHeader,\n        dimensions: dimensions\n      }, sourceFormat)] : [];\n    } else {\n      var datasetModel = sourceHost; // Has upstream dataset.\n\n      if (hasUpstream) {\n        var result = this._applyTransform(upSourceMgrList);\n\n        resultSourceList = result.sourceList;\n        upstreamSignList = result.upstreamSignList;\n      } // Is root dataset.\n      else {\n          var sourceData = datasetModel.get('source', true);\n          resultSourceList = [Object(_Source_js__WEBPACK_IMPORTED_MODULE_1__[\"createSource\"])(sourceData, this._getSourceMetaRawOption(), null)];\n          upstreamSignList = [];\n        }\n    }\n\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(resultSourceList && upstreamSignList);\n    }\n\n    this._setLocalSource(resultSourceList, upstreamSignList);\n  };\n\n  SourceManager.prototype._applyTransform = function (upMgrList) {\n    var datasetModel = this._sourceHost;\n    var transformOption = datasetModel.get('transform', true);\n    var fromTransformResult = datasetModel.get('fromTransformResult', true);\n\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(fromTransformResult != null || transformOption != null);\n    }\n\n    if (fromTransformResult != null) {\n      var errMsg = '';\n\n      if (upMgrList.length !== 1) {\n        if (true) {\n          errMsg = 'When using `fromTransformResult`, there should be only one upstream dataset';\n        }\n\n        doThrow(errMsg);\n      }\n    }\n\n    var sourceList;\n    var upSourceList = [];\n    var upstreamSignList = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(upMgrList, function (upMgr) {\n      upMgr.prepareSource();\n      var upSource = upMgr.getSource(fromTransformResult || 0);\n      var errMsg = '';\n\n      if (fromTransformResult != null && !upSource) {\n        if (true) {\n          errMsg = 'Can not retrieve result by `fromTransformResult`: ' + fromTransformResult;\n        }\n\n        doThrow(errMsg);\n      }\n\n      upSourceList.push(upSource);\n      upstreamSignList.push(upMgr._getVersionSign());\n    });\n\n    if (transformOption) {\n      sourceList = Object(_transform_js__WEBPACK_IMPORTED_MODULE_4__[\"applyDataTransform\"])(transformOption, upSourceList, {\n        datasetIndex: datasetModel.componentIndex\n      });\n    } else if (fromTransformResult != null) {\n      sourceList = [Object(_Source_js__WEBPACK_IMPORTED_MODULE_1__[\"cloneSourceShallow\"])(upSourceList[0])];\n    }\n\n    return {\n      sourceList: sourceList,\n      upstreamSignList: upstreamSignList\n    };\n  };\n\n  SourceManager.prototype._isDirty = function () {\n    if (this._dirty) {\n      return true;\n    } // All sourceList is from the some upsteam.\n\n\n    var upSourceMgrList = this._getUpstreamSourceManagers();\n\n    for (var i = 0; i < upSourceMgrList.length; i++) {\n      var upSrcMgr = upSourceMgrList[i];\n\n      if ( // Consider the case that there is ancestor diry, call it recursively.\n      // The performance is probably not an issue because usually the chain is not long.\n      upSrcMgr._isDirty() || this._upstreamSignList[i] !== upSrcMgr._getVersionSign()) {\n        return true;\n      }\n    }\n  };\n  /**\n   * @param sourceIndex By defualt 0, means \"main source\".\n   *                    Most cases there is only one source.\n   */\n\n\n  SourceManager.prototype.getSource = function (sourceIndex) {\n    sourceIndex = sourceIndex || 0;\n    var source = this._sourceList[sourceIndex];\n\n    if (!source) {\n      // Series may share source instance with dataset.\n      var upSourceMgrList = this._getUpstreamSourceManagers();\n\n      return upSourceMgrList[0] && upSourceMgrList[0].getSource(sourceIndex);\n    }\n\n    return source;\n  };\n  /**\n   *\n   * Get a data store which can be shared across series.\n   * Only available for series.\n   *\n   * @param seriesDimRequest Dimensions that are generated in series.\n   *        Should have been sorted by `storeDimIndex` asc.\n   */\n\n\n  SourceManager.prototype.getSharedDataStore = function (seriesDimRequest) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(isSeries(this._sourceHost), 'Can only call getDataStore on series source manager.');\n    }\n\n    var schema = seriesDimRequest.makeStoreSchema();\n    return this._innerGetDataStore(schema.dimensions, seriesDimRequest.source, schema.hash);\n  };\n\n  SourceManager.prototype._innerGetDataStore = function (storeDims, seriesSource, sourceReadKey) {\n    // TODO Can use other sourceIndex?\n    var sourceIndex = 0;\n    var storeList = this._storeList;\n    var cachedStoreMap = storeList[sourceIndex];\n\n    if (!cachedStoreMap) {\n      cachedStoreMap = storeList[sourceIndex] = {};\n    }\n\n    var cachedStore = cachedStoreMap[sourceReadKey];\n\n    if (!cachedStore) {\n      var upSourceMgr = this._getUpstreamSourceManagers()[0];\n\n      if (isSeries(this._sourceHost) && upSourceMgr) {\n        cachedStore = upSourceMgr._innerGetDataStore(storeDims, seriesSource, sourceReadKey);\n      } else {\n        cachedStore = new _DataStore_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](); // Always create store from source of series.\n\n        cachedStore.initData(new _dataProvider_js__WEBPACK_IMPORTED_MODULE_6__[\"DefaultDataProvider\"](seriesSource, storeDims.length), storeDims);\n      }\n\n      cachedStoreMap[sourceReadKey] = cachedStore;\n    }\n\n    return cachedStore;\n  };\n  /**\n   * PEDING: Is it fast enough?\n   * If no upstream, return empty array.\n   */\n\n\n  SourceManager.prototype._getUpstreamSourceManagers = function () {\n    // Always get the relationship from the raw option.\n    // Do not cache the link of the dependency graph, so that\n    // no need to update them when change happen.\n    var sourceHost = this._sourceHost;\n\n    if (isSeries(sourceHost)) {\n      var datasetModel = Object(_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"querySeriesUpstreamDatasetModel\"])(sourceHost);\n      return !datasetModel ? [] : [datasetModel.getSourceManager()];\n    } else {\n      return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(_sourceHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"queryDatasetUpstreamDatasetModels\"])(sourceHost), function (datasetModel) {\n        return datasetModel.getSourceManager();\n      });\n    }\n  };\n\n  SourceManager.prototype._getSourceMetaRawOption = function () {\n    var sourceHost = this._sourceHost;\n    var seriesLayoutBy;\n    var sourceHeader;\n    var dimensions;\n\n    if (isSeries(sourceHost)) {\n      seriesLayoutBy = sourceHost.get('seriesLayoutBy', true);\n      sourceHeader = sourceHost.get('sourceHeader', true);\n      dimensions = sourceHost.get('dimensions', true);\n    } // See [REQUIREMENT_MEMO], `non-root-dataset` do not support them.\n    else if (!this._getUpstreamSourceManagers().length) {\n        var model = sourceHost;\n        seriesLayoutBy = model.get('seriesLayoutBy', true);\n        sourceHeader = model.get('sourceHeader', true);\n        dimensions = model.get('dimensions', true);\n      }\n\n    return {\n      seriesLayoutBy: seriesLayoutBy,\n      sourceHeader: sourceHeader,\n      dimensions: dimensions\n    };\n  };\n\n  return SourceManager;\n}();\n\n // Call this method after `super.init` and `super.mergeOption` to\n// disable the transform merge, but do not disable transfrom clone from rawOption.\n\nfunction disableTransformOptionMerge(datasetModel) {\n  var transformOption = datasetModel.option.transform;\n  transformOption && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"setAsPrimitive\"])(datasetModel.option.transform);\n}\n\nfunction isSeries(sourceHost) {\n  // Avoid circular dependency with Series.ts\n  return sourceHost.mainType === 'series';\n}\n\nfunction doThrow(errMsg) {\n  throw new Error(errMsg);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/sourceManager.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/data/helper/transform.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/data/helper/transform.js ***!
  \***********************************************************/
/*! exports provided: ExternalSource, registerExternalTransform, applyDataTransform */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExternalSource\", function() { return ExternalSource; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerExternalTransform\", function() { return registerExternalTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyDataTransform\", function() { return applyDataTransform; });\n/* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/types.js */ \"./node_modules/echarts/lib/util/types.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _dataProvider_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataProvider.js */ \"./node_modules/echarts/lib/data/helper/dataProvider.js\");\n/* harmony import */ var _dataValueHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _Source_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Source.js */ \"./node_modules/echarts/lib/data/Source.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n/**\n * TODO: disable writable.\n * This structure will be exposed to users.\n */\n\nvar ExternalSource =\n/** @class */\nfunction () {\n  function ExternalSource() {}\n\n  ExternalSource.prototype.getRawData = function () {\n    // Only built-in transform available.\n    throw new Error('not supported');\n  };\n\n  ExternalSource.prototype.getRawDataItem = function (dataIndex) {\n    // Only built-in transform available.\n    throw new Error('not supported');\n  };\n\n  ExternalSource.prototype.cloneRawData = function () {\n    return;\n  };\n  /**\n   * @return If dimension not found, return null/undefined.\n   */\n\n\n  ExternalSource.prototype.getDimensionInfo = function (dim) {\n    return;\n  };\n  /**\n   * dimensions defined if and only if either:\n   * (a) dataset.dimensions are declared.\n   * (b) dataset data include dimensions definitions in data (detected or via specified `sourceHeader`).\n   * If dimensions are defined, `dimensionInfoAll` is corresponding to\n   * the defined dimensions.\n   * Otherwise, `dimensionInfoAll` is determined by data columns.\n   * @return Always return an array (even empty array).\n   */\n\n\n  ExternalSource.prototype.cloneAllDimensionInfo = function () {\n    return;\n  };\n\n  ExternalSource.prototype.count = function () {\n    return;\n  };\n  /**\n   * Only support by dimension index.\n   * No need to support by dimension name in transform function,\n   * becuase transform function is not case-specific, no need to use name literally.\n   */\n\n\n  ExternalSource.prototype.retrieveValue = function (dataIndex, dimIndex) {\n    return;\n  };\n\n  ExternalSource.prototype.retrieveValueFromItem = function (dataItem, dimIndex) {\n    return;\n  };\n\n  ExternalSource.prototype.convertValue = function (rawVal, dimInfo) {\n    return Object(_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"parseDataValue\"])(rawVal, dimInfo);\n  };\n\n  return ExternalSource;\n}();\n\n\n\nfunction createExternalSource(internalSource, externalTransform) {\n  var extSource = new ExternalSource();\n  var data = internalSource.data;\n  var sourceFormat = extSource.sourceFormat = internalSource.sourceFormat;\n  var sourceHeaderCount = internalSource.startIndex;\n  var errMsg = '';\n\n  if (internalSource.seriesLayoutBy !== _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_LAYOUT_BY_COLUMN\"]) {\n    // For the logic simplicity in transformer, only 'culumn' is\n    // supported in data transform. Otherwise, the `dimensionsDefine`\n    // might be detected by 'row', which probably confuses users.\n    if (true) {\n      errMsg = '`seriesLayoutBy` of upstream dataset can only be \"column\" in data transform.';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  } // [MEMO]\n  // Create a new dimensions structure for exposing.\n  // Do not expose all dimension info to users directly.\n  // Becuase the dimension is probably auto detected from data and not might reliable.\n  // Should not lead the transformers to think that is relialbe and return it.\n  // See [DIMENSION_INHERIT_RULE] in `sourceManager.ts`.\n\n\n  var dimensions = [];\n  var dimsByName = {};\n  var dimsDef = internalSource.dimensionsDefine;\n\n  if (dimsDef) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"])(dimsDef, function (dimDef, idx) {\n      var name = dimDef.name;\n      var dimDefExt = {\n        index: idx,\n        name: name,\n        displayName: dimDef.displayName\n      };\n      dimensions.push(dimDefExt); // Users probably not sepcify dimension name. For simplicity, data transform\n      // do not generate dimension name.\n\n      if (name != null) {\n        // Dimension name should not be duplicated.\n        // For simplicity, data transform forbid name duplication, do not generate\n        // new name like module `completeDimensions.ts` did, but just tell users.\n        var errMsg_1 = '';\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"hasOwn\"])(dimsByName, name)) {\n          if (true) {\n            errMsg_1 = 'dimension name \"' + name + '\" duplicated.';\n          }\n\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg_1);\n        }\n\n        dimsByName[name] = dimDefExt;\n      }\n    });\n  } // If dimension definitions are not defined and can not be detected.\n  // e.g., pure data `[[11, 22], ...]`.\n  else {\n      for (var i = 0; i < internalSource.dimensionsDetectedCount || 0; i++) {\n        // Do not generete name or anything others. The consequence process in\n        // `transform` or `series` probably have there own name generation strategry.\n        dimensions.push({\n          index: i\n        });\n      }\n    } // Implement public methods:\n\n\n  var rawItemGetter = Object(_dataProvider_js__WEBPACK_IMPORTED_MODULE_3__[\"getRawSourceItemGetter\"])(sourceFormat, _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_LAYOUT_BY_COLUMN\"]);\n\n  if (externalTransform.__isBuiltIn) {\n    extSource.getRawDataItem = function (dataIndex) {\n      return rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex);\n    };\n\n    extSource.getRawData = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(getRawData, null, internalSource);\n  }\n\n  extSource.cloneRawData = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(cloneRawData, null, internalSource);\n  var rawCounter = Object(_dataProvider_js__WEBPACK_IMPORTED_MODULE_3__[\"getRawSourceDataCounter\"])(sourceFormat, _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_LAYOUT_BY_COLUMN\"]);\n  extSource.count = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(rawCounter, null, data, sourceHeaderCount, dimensions);\n  var rawValueGetter = Object(_dataProvider_js__WEBPACK_IMPORTED_MODULE_3__[\"getRawSourceValueGetter\"])(sourceFormat);\n\n  extSource.retrieveValue = function (dataIndex, dimIndex) {\n    var rawItem = rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex);\n    return retrieveValueFromItem(rawItem, dimIndex);\n  };\n\n  var retrieveValueFromItem = extSource.retrieveValueFromItem = function (dataItem, dimIndex) {\n    if (dataItem == null) {\n      return;\n    }\n\n    var dimDef = dimensions[dimIndex]; // When `dimIndex` is `null`, `rawValueGetter` return the whole item.\n\n    if (dimDef) {\n      return rawValueGetter(dataItem, dimIndex, dimDef.name);\n    }\n  };\n\n  extSource.getDimensionInfo = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(getDimensionInfo, null, dimensions, dimsByName);\n  extSource.cloneAllDimensionInfo = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(cloneAllDimensionInfo, null, dimensions);\n  return extSource;\n}\n\nfunction getRawData(upstream) {\n  var sourceFormat = upstream.sourceFormat;\n\n  if (!isSupportedSourceFormat(sourceFormat)) {\n    var errMsg = '';\n\n    if (true) {\n      errMsg = '`getRawData` is not supported in source format ' + sourceFormat;\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  }\n\n  return upstream.data;\n}\n\nfunction cloneRawData(upstream) {\n  var sourceFormat = upstream.sourceFormat;\n  var data = upstream.data;\n\n  if (!isSupportedSourceFormat(sourceFormat)) {\n    var errMsg = '';\n\n    if (true) {\n      errMsg = '`cloneRawData` is not supported in source format ' + sourceFormat;\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  }\n\n  if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SOURCE_FORMAT_ARRAY_ROWS\"]) {\n    var result = [];\n\n    for (var i = 0, len = data.length; i < len; i++) {\n      // Not strictly clone for performance\n      result.push(data[i].slice());\n    }\n\n    return result;\n  } else if (sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SOURCE_FORMAT_OBJECT_ROWS\"]) {\n    var result = [];\n\n    for (var i = 0, len = data.length; i < len; i++) {\n      // Not strictly clone for performance\n      result.push(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, data[i]));\n    }\n\n    return result;\n  }\n}\n\nfunction getDimensionInfo(dimensions, dimsByName, dim) {\n  if (dim == null) {\n    return;\n  } // Keep the same logic as `List::getDimension` did.\n\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(dim) // If being a number-like string but not being defined a dimension name.\n  || !isNaN(dim) && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"hasOwn\"])(dimsByName, dim)) {\n    return dimensions[dim];\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"hasOwn\"])(dimsByName, dim)) {\n    return dimsByName[dim];\n  }\n}\n\nfunction cloneAllDimensionInfo(dimensions) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"clone\"])(dimensions);\n}\n\nvar externalTransformMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"createHashMap\"])();\nfunction registerExternalTransform(externalTransform) {\n  externalTransform = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"clone\"])(externalTransform);\n  var type = externalTransform.type;\n  var errMsg = '';\n\n  if (!type) {\n    if (true) {\n      errMsg = 'Must have a `type` when `registerTransform`.';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  }\n\n  var typeParsed = type.split(':');\n\n  if (typeParsed.length !== 2) {\n    if (true) {\n      errMsg = 'Name must include namespace like \"ns:regression\".';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  } // Namespace 'echarts:xxx' is official namespace, where the transforms should\n  // be called directly via 'xxx' rather than 'echarts:xxx'.\n\n\n  var isBuiltIn = false;\n\n  if (typeParsed[0] === 'echarts') {\n    type = typeParsed[1];\n    isBuiltIn = true;\n  }\n\n  externalTransform.__isBuiltIn = isBuiltIn;\n  externalTransformMap.set(type, externalTransform);\n}\nfunction applyDataTransform(rawTransOption, sourceList, infoForPrint) {\n  var pipedTransOption = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeToArray\"])(rawTransOption);\n  var pipeLen = pipedTransOption.length;\n  var errMsg = '';\n\n  if (!pipeLen) {\n    if (true) {\n      errMsg = 'If `transform` declared, it should at least contain one transform.';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  }\n\n  for (var i = 0, len = pipeLen; i < len; i++) {\n    var transOption = pipedTransOption[i];\n    sourceList = applySingleDataTransform(transOption, sourceList, infoForPrint, pipeLen === 1 ? null : i); // piped transform only support single input, except the fist one.\n    // piped transform only support single output, except the last one.\n\n    if (i !== len - 1) {\n      sourceList.length = Math.max(sourceList.length, 1);\n    }\n  }\n\n  return sourceList;\n}\n\nfunction applySingleDataTransform(transOption, upSourceList, infoForPrint, // If `pipeIndex` is null/undefined, no piped transform.\npipeIndex) {\n  var errMsg = '';\n\n  if (!upSourceList.length) {\n    if (true) {\n      errMsg = 'Must have at least one upstream dataset.';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  }\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(transOption)) {\n    if (true) {\n      errMsg = 'transform declaration must be an object rather than ' + typeof transOption + '.';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  }\n\n  var transType = transOption.type;\n  var externalTransform = externalTransformMap.get(transType);\n\n  if (!externalTransform) {\n    if (true) {\n      errMsg = 'Can not find transform on type \"' + transType + '\".';\n    }\n\n    Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n  } // Prepare source\n\n\n  var extUpSourceList = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(upSourceList, function (upSource) {\n    return createExternalSource(upSource, externalTransform);\n  });\n  var resultList = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeToArray\"])(externalTransform.transform({\n    upstream: extUpSourceList[0],\n    upstreamList: extUpSourceList,\n    config: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"clone\"])(transOption.config)\n  }));\n\n  if (true) {\n    if (transOption.print) {\n      var printStrArr = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(resultList, function (extSource) {\n        var pipeIndexStr = pipeIndex != null ? ' === pipe index: ' + pipeIndex : '';\n        return ['=== dataset index: ' + infoForPrint.datasetIndex + pipeIndexStr + ' ===', '- transform result data:', Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"makePrintable\"])(extSource.data), '- transform result dimensions:', Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"makePrintable\"])(extSource.dimensions)].join('\\n');\n      }).join('\\n');\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"log\"])(printStrArr);\n    }\n  }\n\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(resultList, function (result, resultIndex) {\n    var errMsg = '';\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isObject\"])(result)) {\n      if (true) {\n        errMsg = 'A transform should not return some empty results.';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n    }\n\n    if (!result.data) {\n      if (true) {\n        errMsg = 'Transform result data should be not be null or undefined';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n    }\n\n    var sourceFormat = Object(_Source_js__WEBPACK_IMPORTED_MODULE_6__[\"detectSourceFormat\"])(result.data);\n\n    if (!isSupportedSourceFormat(sourceFormat)) {\n      if (true) {\n        errMsg = 'Transform result data should be array rows or object rows.';\n      }\n\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_5__[\"throwError\"])(errMsg);\n    }\n\n    var resultMetaRawOption;\n    var firstUpSource = upSourceList[0];\n    /**\n     * Intuitively, the end users known the content of the original `dataset.source`,\n     * calucating the transform result in mind.\n     * Suppose the original `dataset.source` is:\n     * ```js\n     * [\n     *     ['product', '2012', '2013', '2014', '2015'],\n     *     ['AAA', 41.1, 30.4, 65.1, 53.3],\n     *     ['BBB', 86.5, 92.1, 85.7, 83.1],\n     *     ['CCC', 24.1, 67.2, 79.5, 86.4]\n     * ]\n     * ```\n     * The dimension info have to be detected from the source data.\n     * Some of the transformers (like filter, sort) will follow the dimension info\n     * of upstream, while others use new dimensions (like aggregate).\n     * Transformer can output a field `dimensions` to define the its own output dimensions.\n     * We also allow transformers to ignore the output `dimensions` field, and\n     * inherit the upstream dimensions definition. It can reduce the burden of handling\n     * dimensions in transformers.\n     *\n     * See also [DIMENSION_INHERIT_RULE] in `sourceManager.ts`.\n     */\n\n    if (firstUpSource && resultIndex === 0 // If transformer returns `dimensions`, it means that the transformer has different\n    // dimensions definitions. We do not inherit anything from upstream.\n    && !result.dimensions) {\n      var startIndex = firstUpSource.startIndex; // We copy the header of upstream to the result becuase:\n      // (1) The returned data always does not contain header line and can not be used\n      // as dimension-detection. In this case we can not use \"detected dimensions\" of\n      // upstream directly, because it might be detected based on different `seriesLayoutBy`.\n      // (2) We should support that the series read the upstream source in `seriesLayoutBy: 'row'`.\n      // So the original detected header should be add to the result, otherwise they can not be read.\n\n      if (startIndex) {\n        result.data = firstUpSource.data.slice(0, startIndex).concat(result.data);\n      }\n\n      resultMetaRawOption = {\n        seriesLayoutBy: _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_LAYOUT_BY_COLUMN\"],\n        sourceHeader: startIndex,\n        dimensions: firstUpSource.metaRawOption.dimensions\n      };\n    } else {\n      resultMetaRawOption = {\n        seriesLayoutBy: _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SERIES_LAYOUT_BY_COLUMN\"],\n        sourceHeader: 0,\n        dimensions: result.dimensions\n      };\n    }\n\n    return Object(_Source_js__WEBPACK_IMPORTED_MODULE_6__[\"createSource\"])(result.data, resultMetaRawOption, null);\n  });\n}\n\nfunction isSupportedSourceFormat(sourceFormat) {\n  return sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SOURCE_FORMAT_ARRAY_ROWS\"] || sourceFormat === _util_types_js__WEBPACK_IMPORTED_MODULE_0__[\"SOURCE_FORMAT_OBJECT_ROWS\"];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/transform.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/export/api.js ***!
  \************************************************/
/*! exports provided: zrender, matrix, vector, zrUtil, color, throttle, helper, use, setPlatformAPI, parseGeoJSON, parseGeoJson, number, time, graphic, format, util, env, List, Model, Axis, ComponentModel, ComponentView, SeriesModel, ChartView, innerDrawElementOnCanvas, extendComponentModel, extendComponentView, extendSeriesModel, extendChartView */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendComponentModel\", function() { return extendComponentModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendComponentView\", function() { return extendComponentView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendSeriesModel\", function() { return extendSeriesModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendChartView\", function() { return extendChartView; });\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentModel\", function() { return _model_Component_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentView\", function() { return _view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SeriesModel\", function() { return _model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChartView\", function() { return _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/SeriesData.js */ \"./node_modules/echarts/lib/data/SeriesData.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"List\", function() { return _data_SeriesData_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/zrender.js */ \"./node_modules/echarts/node_modules/zrender/lib/zrender.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"zrender\", function() { return zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_5__; });\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"matrix\", function() { return zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_6__; });\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"vector\", function() { return zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_7__; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"zrUtil\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_8__; });\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"color\", function() { return zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_9__; });\n/* harmony import */ var _util_throttle_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../util/throttle.js */ \"./node_modules/echarts/lib/util/throttle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _util_throttle_js__WEBPACK_IMPORTED_MODULE_10__[\"throttle\"]; });\n\n/* harmony import */ var _api_helper_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./api/helper.js */ \"./node_modules/echarts/lib/export/api/helper.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"helper\", function() { return _api_helper_js__WEBPACK_IMPORTED_MODULE_11__; });\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"use\", function() { return _extension_js__WEBPACK_IMPORTED_MODULE_12__[\"use\"]; });\n\n/* harmony import */ var zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! zrender/lib/core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setPlatformAPI\", function() { return zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_13__[\"setPlatformAPI\"]; });\n\n/* harmony import */ var _coord_geo_parseGeoJson_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../coord/geo/parseGeoJson.js */ \"./node_modules/echarts/lib/coord/geo/parseGeoJson.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseGeoJSON\", function() { return _coord_geo_parseGeoJson_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseGeoJson\", function() { return _coord_geo_parseGeoJson_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _api_number_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./api/number.js */ \"./node_modules/echarts/lib/export/api/number.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"number\", function() { return _api_number_js__WEBPACK_IMPORTED_MODULE_15__; });\n/* harmony import */ var _api_time_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./api/time.js */ \"./node_modules/echarts/lib/export/api/time.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"time\", function() { return _api_time_js__WEBPACK_IMPORTED_MODULE_16__; });\n/* harmony import */ var _api_graphic_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./api/graphic.js */ \"./node_modules/echarts/lib/export/api/graphic.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"graphic\", function() { return _api_graphic_js__WEBPACK_IMPORTED_MODULE_17__; });\n/* harmony import */ var _api_format_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./api/format.js */ \"./node_modules/echarts/lib/export/api/format.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return _api_format_js__WEBPACK_IMPORTED_MODULE_18__; });\n/* harmony import */ var _api_util_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./api/util.js */ \"./node_modules/echarts/lib/export/api/util.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return _api_util_js__WEBPACK_IMPORTED_MODULE_19__; });\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"env\", function() { return zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Model\", function() { return _model_Model_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _coord_Axis_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../coord/Axis.js */ \"./node_modules/echarts/lib/coord/Axis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Axis\", function() { return _coord_Axis_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_canvas_graphic_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! zrender/lib/canvas/graphic.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"innerDrawElementOnCanvas\", function() { return zrender_lib_canvas_graphic_js__WEBPACK_IMPORTED_MODULE_23__[\"brushSingle\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// These APIs are for more advanced usages\n// For example extend charts and components, creating graphic elements, formatting.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //////////////// Helper Methods /////////////////////\n\n\n\n\n\n\n\n\n\n\n\n\n\n //////////////// Export for Exension Usage ////////////////\n// export {SeriesData};\n\n // TODO: Compatitable with exists echarts-gl code\n\n\n\n // Only for GL\n\n //////////////// Deprecated Extension Methods ////////////////\n// Should use `ComponentModel.extend` or `class XXXX extend ComponentModel` to create class.\n// Then use `registerComponentModel` in `install` parameter when `use` this extension. For example:\n// class Bar3DModel extends ComponentModel {}\n// export function install(registers) { regsiters.registerComponentModel(Bar3DModel); }\n// echarts.use(install);\n\nfunction extendComponentModel(proto) {\n  var Model = _model_Component_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(proto);\n  _model_Component_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].registerClass(Model);\n  return Model;\n}\nfunction extendComponentView(proto) {\n  var View = _view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(proto);\n  _view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].registerClass(View);\n  return View;\n}\nfunction extendSeriesModel(proto) {\n  var Model = _model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(proto);\n  _model_Series_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].registerClass(Model);\n  return Model;\n}\nfunction extendChartView(proto) {\n  var View = _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(proto);\n  _view_Chart_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].registerClass(View);\n  return View;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api/format.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/export/api/format.js ***!
  \*******************************************************/
/*! exports provided: addCommas, toCamelCase, normalizeCssArray, encodeHTML, formatTpl, getTooltipMarker, formatTime, capitalFirst, truncateText, getTextRect */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addCommas\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"addCommas\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"toCamelCase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeCssArray\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeCssArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"encodeHTML\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"encodeHTML\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatTpl\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"formatTpl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTooltipMarker\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"getTooltipMarker\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatTime\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"formatTime\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"capitalFirst\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"capitalFirst\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"truncateText\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"truncateText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTextRect\", function() { return _util_format_js__WEBPACK_IMPORTED_MODULE_0__[\"getTextRect\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api/format.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api/graphic.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/export/api/graphic.js ***!
  \********************************************************/
/*! exports provided: extendShape, extendPath, makePath, makeImage, mergePath, resizePath, createIcon, updateProps, initProps, getTransform, clipPointsByRect, clipRectByRect, registerShape, getShapeClass, Group, Image, Text, Circle, Ellipse, Sector, Ring, Polygon, Polyline, Rect, Line, BezierCurve, Arc, IncrementalDisplayable, CompoundPath, LinearGradient, RadialGradient, BoundingRect */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendShape\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"extendShape\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendPath\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"extendPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makePath\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"makePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeImage\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"makeImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergePath\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"mergePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resizePath\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"resizePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createIcon\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"createIcon\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateProps\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"updateProps\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initProps\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"initProps\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTransform\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"getTransform\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clipPointsByRect\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"clipPointsByRect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clipRectByRect\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"clipRectByRect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerShape\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"registerShape\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getShapeClass\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"getShapeClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Group\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Group\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Image\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Image\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Text\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Circle\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Circle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ellipse\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Ellipse\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Sector\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Sector\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ring\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Ring\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Polygon\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Polygon\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Polyline\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Polyline\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Rect\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Rect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Line\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Line\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BezierCurve\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"BezierCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Arc\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Arc\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IncrementalDisplayable\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"IncrementalDisplayable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CompoundPath\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"CompoundPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LinearGradient\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"LinearGradient\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadialGradient\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"RadialGradient\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BoundingRect\", function() { return _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"BoundingRect\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api/graphic.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api/helper.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/export/api/helper.js ***!
  \*******************************************************/
/*! exports provided: createList, getLayoutRect, createDimensions, dataStack, createSymbol, createScale, mixinAxisModelCommonMethods, getECData, enableHoverEmphasis, createTextStyle */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createList\", function() { return createList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataStack\", function() { return dataStack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createScale\", function() { return createScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mixinAxisModelCommonMethods\", function() { return mixinAxisModelCommonMethods; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTextStyle\", function() { return createTextStyle; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _chart_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../chart/helper/createSeriesData.js */ \"./node_modules/echarts/lib/chart/helper/createSeriesData.js\");\n/* harmony import */ var _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../coord/axisHelper.js */ \"./node_modules/echarts/lib/coord/axisHelper.js\");\n/* harmony import */ var _coord_axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../coord/axisModelCommonMixin.js */ \"./node_modules/echarts/lib/coord/axisModelCommonMixin.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getLayoutRect\", function() { return _util_layout_js__WEBPACK_IMPORTED_MODULE_5__[\"getLayoutRect\"]; });\n\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getECData\", function() { return _util_innerStore_js__WEBPACK_IMPORTED_MODULE_7__[\"getECData\"]; });\n\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var _data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../data/helper/createDimensions.js */ \"./node_modules/echarts/lib/data/helper/createDimensions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDimensions\", function() { return _data_helper_createDimensions_js__WEBPACK_IMPORTED_MODULE_9__[\"createDimensions\"]; });\n\n/* harmony import */ var _util_symbol_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSymbol\", function() { return _util_symbol_js__WEBPACK_IMPORTED_MODULE_10__[\"createSymbol\"]; });\n\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"enableHoverEmphasis\", function() { return _util_states_js__WEBPACK_IMPORTED_MODULE_11__[\"enableHoverEmphasis\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * This module exposes helper functions for developing extensions.\n */\n\n // import createGraphFromNodeEdge from './chart/helper/createGraphFromNodeEdge.js';\n\n\n\n\n\n\n\n\n/**\n * Create a muti dimension List structure from seriesModel.\n */\n\nfunction createList(seriesModel) {\n  return Object(_chart_helper_createSeriesData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(null, seriesModel);\n} // export function createGraph(seriesModel) {\n//     let nodes = seriesModel.get('data');\n//     let links = seriesModel.get('links');\n//     return createGraphFromNodeEdge(nodes, links, seriesModel);\n// }\n\n\n\nvar dataStack = {\n  isDimensionStacked: _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"isDimensionStacked\"],\n  enableDataStack: _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"enableDataStack\"],\n  getStackedDimension: _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"getStackedDimension\"]\n};\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n * @param {string} symbolDesc\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {string} color\n */\n\n\n/**\n * Create scale\n * @param {Array.<number>} dataExtent\n * @param {Object|module:echarts/Model} option If `optoin.type`\n *        is secified, it can only be `'value'` currently.\n */\n\nfunction createScale(dataExtent, option) {\n  var axisModel = option;\n\n  if (!(option instanceof _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])) {\n    axisModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](option); // FIXME\n    // Currently AxisModelCommonMixin has nothing to do with the\n    // the requirements of `axisHelper.createScaleByModel`. For\n    // example the method `getCategories` and `getOrdinalMeta`\n    // are required for `'category'` axis, and ecModel are required\n    // for `'time'` axis. But occationally echarts-gl happened\n    // to only use `'value'` axis.\n    // zrUtil.mixin(axisModel, AxisModelCommonMixin);\n  }\n\n  var scale = _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"createScaleByModel\"](axisModel);\n  scale.setExtent(dataExtent[0], dataExtent[1]);\n  _coord_axisHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"niceScaleExtent\"](scale, axisModel);\n  return scale;\n}\n/**\n * Mixin common methods to axis model,\n *\n * Inlcude methods\n * `getFormattedLabels() => Array.<string>`\n * `getCategories() => Array.<string>`\n * `getMin(origin: boolean) => number`\n * `getMax(origin: boolean) => number`\n * `getNeedCrossZero() => boolean`\n */\n\nfunction mixinAxisModelCommonMethods(Model) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"mixin\"](Model, _coord_axisModelCommonMixin_js__WEBPACK_IMPORTED_MODULE_3__[\"AxisModelCommonMixin\"]);\n}\n\n\nfunction createTextStyle(textStyleModel, opts) {\n  opts = opts || {};\n  return Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"createTextStyle\"])(textStyleModel, null, null, opts.state !== 'normal');\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api/number.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/export/api/number.js ***!
  \*******************************************************/
/*! exports provided: linearMap, round, asc, getPrecision, getPrecisionSafe, getPixelPrecision, getPercentWithPrecision, MAX_SAFE_INTEGER, remRadian, isRadianAroundZero, parseDate, quantity, quantityExponent, nice, quantile, reformIntervals, isNumeric, numericToNumber */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"linearMap\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"linearMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asc\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"asc\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getPrecision\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPrecision\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getPrecisionSafe\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPrecisionSafe\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getPixelPrecision\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPixelPrecision\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getPercentWithPrecision\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPercentWithPrecision\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MAX_SAFE_INTEGER\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"MAX_SAFE_INTEGER\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remRadian\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"remRadian\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRadianAroundZero\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"isRadianAroundZero\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantity\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantity\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantityExponent\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantityExponent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nice\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"nice\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantile\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reformIntervals\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"reformIntervals\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNumeric\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumeric\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numericToNumber\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"numericToNumber\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api/number.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api/time.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/export/api/time.js ***!
  \*****************************************************/
/*! exports provided: parse, format */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return _util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"parseDate\"]; });\n\n/* harmony import */ var _util_time_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/time.js */ \"./node_modules/echarts/lib/util/time.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return _util_time_js__WEBPACK_IMPORTED_MODULE_1__[\"format\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api/time.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/api/util.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/export/api/util.js ***!
  \*****************************************************/
/*! exports provided: map, each, indexOf, inherits, reduce, filter, bind, curry, isArray, isString, isObject, isFunction, extend, defaults, clone, merge */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inherits\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"inherits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"filter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/api/util.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/charts.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/export/charts.js ***!
  \***************************************************/
/*! exports provided: LineChart, BarChart, PieChart, ScatterChart, RadarChart, MapChart, TreeChart, TreemapChart, GraphChart, GaugeChart, FunnelChart, ParallelChart, SankeyChart, BoxplotChart, CandlestickChart, EffectScatterChart, LinesChart, HeatmapChart, PictorialBarChart, ThemeRiverChart, SunburstChart, CustomChart */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chart_line_install_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../chart/line/install.js */ \"./node_modules/echarts/lib/chart/line/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineChart\", function() { return _chart_line_install_js__WEBPACK_IMPORTED_MODULE_0__[\"install\"]; });\n\n/* harmony import */ var _chart_bar_install_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../chart/bar/install.js */ \"./node_modules/echarts/lib/chart/bar/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BarChart\", function() { return _chart_bar_install_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]; });\n\n/* harmony import */ var _chart_pie_install_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../chart/pie/install.js */ \"./node_modules/echarts/lib/chart/pie/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PieChart\", function() { return _chart_pie_install_js__WEBPACK_IMPORTED_MODULE_2__[\"install\"]; });\n\n/* harmony import */ var _chart_scatter_install_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../chart/scatter/install.js */ \"./node_modules/echarts/lib/chart/scatter/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ScatterChart\", function() { return _chart_scatter_install_js__WEBPACK_IMPORTED_MODULE_3__[\"install\"]; });\n\n/* harmony import */ var _chart_radar_install_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../chart/radar/install.js */ \"./node_modules/echarts/lib/chart/radar/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadarChart\", function() { return _chart_radar_install_js__WEBPACK_IMPORTED_MODULE_4__[\"install\"]; });\n\n/* harmony import */ var _chart_map_install_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../chart/map/install.js */ \"./node_modules/echarts/lib/chart/map/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MapChart\", function() { return _chart_map_install_js__WEBPACK_IMPORTED_MODULE_5__[\"install\"]; });\n\n/* harmony import */ var _chart_tree_install_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../chart/tree/install.js */ \"./node_modules/echarts/lib/chart/tree/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TreeChart\", function() { return _chart_tree_install_js__WEBPACK_IMPORTED_MODULE_6__[\"install\"]; });\n\n/* harmony import */ var _chart_treemap_install_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../chart/treemap/install.js */ \"./node_modules/echarts/lib/chart/treemap/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TreemapChart\", function() { return _chart_treemap_install_js__WEBPACK_IMPORTED_MODULE_7__[\"install\"]; });\n\n/* harmony import */ var _chart_graph_install_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../chart/graph/install.js */ \"./node_modules/echarts/lib/chart/graph/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GraphChart\", function() { return _chart_graph_install_js__WEBPACK_IMPORTED_MODULE_8__[\"install\"]; });\n\n/* harmony import */ var _chart_gauge_install_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../chart/gauge/install.js */ \"./node_modules/echarts/lib/chart/gauge/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GaugeChart\", function() { return _chart_gauge_install_js__WEBPACK_IMPORTED_MODULE_9__[\"install\"]; });\n\n/* harmony import */ var _chart_funnel_install_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../chart/funnel/install.js */ \"./node_modules/echarts/lib/chart/funnel/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunnelChart\", function() { return _chart_funnel_install_js__WEBPACK_IMPORTED_MODULE_10__[\"install\"]; });\n\n/* harmony import */ var _chart_parallel_install_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../chart/parallel/install.js */ \"./node_modules/echarts/lib/chart/parallel/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ParallelChart\", function() { return _chart_parallel_install_js__WEBPACK_IMPORTED_MODULE_11__[\"install\"]; });\n\n/* harmony import */ var _chart_sankey_install_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../chart/sankey/install.js */ \"./node_modules/echarts/lib/chart/sankey/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SankeyChart\", function() { return _chart_sankey_install_js__WEBPACK_IMPORTED_MODULE_12__[\"install\"]; });\n\n/* harmony import */ var _chart_boxplot_install_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../chart/boxplot/install.js */ \"./node_modules/echarts/lib/chart/boxplot/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BoxplotChart\", function() { return _chart_boxplot_install_js__WEBPACK_IMPORTED_MODULE_13__[\"install\"]; });\n\n/* harmony import */ var _chart_candlestick_install_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../chart/candlestick/install.js */ \"./node_modules/echarts/lib/chart/candlestick/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CandlestickChart\", function() { return _chart_candlestick_install_js__WEBPACK_IMPORTED_MODULE_14__[\"install\"]; });\n\n/* harmony import */ var _chart_effectScatter_install_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../chart/effectScatter/install.js */ \"./node_modules/echarts/lib/chart/effectScatter/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EffectScatterChart\", function() { return _chart_effectScatter_install_js__WEBPACK_IMPORTED_MODULE_15__[\"install\"]; });\n\n/* harmony import */ var _chart_lines_install_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../chart/lines/install.js */ \"./node_modules/echarts/lib/chart/lines/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LinesChart\", function() { return _chart_lines_install_js__WEBPACK_IMPORTED_MODULE_16__[\"install\"]; });\n\n/* harmony import */ var _chart_heatmap_install_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../chart/heatmap/install.js */ \"./node_modules/echarts/lib/chart/heatmap/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HeatmapChart\", function() { return _chart_heatmap_install_js__WEBPACK_IMPORTED_MODULE_17__[\"install\"]; });\n\n/* harmony import */ var _chart_bar_installPictorialBar_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../chart/bar/installPictorialBar.js */ \"./node_modules/echarts/lib/chart/bar/installPictorialBar.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PictorialBarChart\", function() { return _chart_bar_installPictorialBar_js__WEBPACK_IMPORTED_MODULE_18__[\"install\"]; });\n\n/* harmony import */ var _chart_themeRiver_install_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../chart/themeRiver/install.js */ \"./node_modules/echarts/lib/chart/themeRiver/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ThemeRiverChart\", function() { return _chart_themeRiver_install_js__WEBPACK_IMPORTED_MODULE_19__[\"install\"]; });\n\n/* harmony import */ var _chart_sunburst_install_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../chart/sunburst/install.js */ \"./node_modules/echarts/lib/chart/sunburst/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SunburstChart\", function() { return _chart_sunburst_install_js__WEBPACK_IMPORTED_MODULE_20__[\"install\"]; });\n\n/* harmony import */ var _chart_custom_install_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../chart/custom/install.js */ \"./node_modules/echarts/lib/chart/custom/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomChart\", function() { return _chart_custom_install_js__WEBPACK_IMPORTED_MODULE_21__[\"install\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In somehow. If we export like\n// export * as LineChart './chart/line/install'\n// The exported code will be transformed to\n// import * as LineChart_1 './chart/line/install'; export {LineChart_1 as LineChart};\n// Treeshaking in webpack will not work even if we configured sideEffects to false in package.json\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/charts.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/components.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/export/components.js ***!
  \*******************************************************/
/*! exports provided: GridSimpleComponent, GridComponent, PolarComponent, RadarComponent, GeoComponent, SingleAxisComponent, ParallelComponent, CalendarComponent, GraphicComponent, ToolboxComponent, TooltipComponent, AxisPointerComponent, BrushComponent, TitleComponent, TimelineComponent, MarkPointComponent, MarkLineComponent, MarkAreaComponent, LegendComponent, LegendScrollComponent, LegendPlainComponent, DataZoomComponent, DataZoomInsideComponent, DataZoomSliderComponent, VisualMapComponent, VisualMapContinuousComponent, VisualMapPiecewiseComponent, AriaComponent, TransformComponent, DatasetComponent */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _component_grid_installSimple_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../component/grid/installSimple.js */ \"./node_modules/echarts/lib/component/grid/installSimple.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GridSimpleComponent\", function() { return _component_grid_installSimple_js__WEBPACK_IMPORTED_MODULE_0__[\"install\"]; });\n\n/* harmony import */ var _component_grid_install_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../component/grid/install.js */ \"./node_modules/echarts/lib/component/grid/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GridComponent\", function() { return _component_grid_install_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]; });\n\n/* harmony import */ var _component_polar_install_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../component/polar/install.js */ \"./node_modules/echarts/lib/component/polar/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PolarComponent\", function() { return _component_polar_install_js__WEBPACK_IMPORTED_MODULE_2__[\"install\"]; });\n\n/* harmony import */ var _component_radar_install_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../component/radar/install.js */ \"./node_modules/echarts/lib/component/radar/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadarComponent\", function() { return _component_radar_install_js__WEBPACK_IMPORTED_MODULE_3__[\"install\"]; });\n\n/* harmony import */ var _component_geo_install_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../component/geo/install.js */ \"./node_modules/echarts/lib/component/geo/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GeoComponent\", function() { return _component_geo_install_js__WEBPACK_IMPORTED_MODULE_4__[\"install\"]; });\n\n/* harmony import */ var _component_singleAxis_install_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../component/singleAxis/install.js */ \"./node_modules/echarts/lib/component/singleAxis/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SingleAxisComponent\", function() { return _component_singleAxis_install_js__WEBPACK_IMPORTED_MODULE_5__[\"install\"]; });\n\n/* harmony import */ var _component_parallel_install_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../component/parallel/install.js */ \"./node_modules/echarts/lib/component/parallel/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ParallelComponent\", function() { return _component_parallel_install_js__WEBPACK_IMPORTED_MODULE_6__[\"install\"]; });\n\n/* harmony import */ var _component_calendar_install_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../component/calendar/install.js */ \"./node_modules/echarts/lib/component/calendar/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalendarComponent\", function() { return _component_calendar_install_js__WEBPACK_IMPORTED_MODULE_7__[\"install\"]; });\n\n/* harmony import */ var _component_graphic_install_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../component/graphic/install.js */ \"./node_modules/echarts/lib/component/graphic/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GraphicComponent\", function() { return _component_graphic_install_js__WEBPACK_IMPORTED_MODULE_8__[\"install\"]; });\n\n/* harmony import */ var _component_toolbox_install_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../component/toolbox/install.js */ \"./node_modules/echarts/lib/component/toolbox/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ToolboxComponent\", function() { return _component_toolbox_install_js__WEBPACK_IMPORTED_MODULE_9__[\"install\"]; });\n\n/* harmony import */ var _component_tooltip_install_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../component/tooltip/install.js */ \"./node_modules/echarts/lib/component/tooltip/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TooltipComponent\", function() { return _component_tooltip_install_js__WEBPACK_IMPORTED_MODULE_10__[\"install\"]; });\n\n/* harmony import */ var _component_axisPointer_install_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../component/axisPointer/install.js */ \"./node_modules/echarts/lib/component/axisPointer/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AxisPointerComponent\", function() { return _component_axisPointer_install_js__WEBPACK_IMPORTED_MODULE_11__[\"install\"]; });\n\n/* harmony import */ var _component_brush_install_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../component/brush/install.js */ \"./node_modules/echarts/lib/component/brush/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BrushComponent\", function() { return _component_brush_install_js__WEBPACK_IMPORTED_MODULE_12__[\"install\"]; });\n\n/* harmony import */ var _component_title_install_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../component/title/install.js */ \"./node_modules/echarts/lib/component/title/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TitleComponent\", function() { return _component_title_install_js__WEBPACK_IMPORTED_MODULE_13__[\"install\"]; });\n\n/* harmony import */ var _component_timeline_install_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../component/timeline/install.js */ \"./node_modules/echarts/lib/component/timeline/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TimelineComponent\", function() { return _component_timeline_install_js__WEBPACK_IMPORTED_MODULE_14__[\"install\"]; });\n\n/* harmony import */ var _component_marker_installMarkPoint_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../component/marker/installMarkPoint.js */ \"./node_modules/echarts/lib/component/marker/installMarkPoint.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MarkPointComponent\", function() { return _component_marker_installMarkPoint_js__WEBPACK_IMPORTED_MODULE_15__[\"install\"]; });\n\n/* harmony import */ var _component_marker_installMarkLine_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../component/marker/installMarkLine.js */ \"./node_modules/echarts/lib/component/marker/installMarkLine.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MarkLineComponent\", function() { return _component_marker_installMarkLine_js__WEBPACK_IMPORTED_MODULE_16__[\"install\"]; });\n\n/* harmony import */ var _component_marker_installMarkArea_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../component/marker/installMarkArea.js */ \"./node_modules/echarts/lib/component/marker/installMarkArea.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MarkAreaComponent\", function() { return _component_marker_installMarkArea_js__WEBPACK_IMPORTED_MODULE_17__[\"install\"]; });\n\n/* harmony import */ var _component_legend_install_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../component/legend/install.js */ \"./node_modules/echarts/lib/component/legend/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LegendComponent\", function() { return _component_legend_install_js__WEBPACK_IMPORTED_MODULE_18__[\"install\"]; });\n\n/* harmony import */ var _component_legend_installLegendScroll_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../component/legend/installLegendScroll.js */ \"./node_modules/echarts/lib/component/legend/installLegendScroll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LegendScrollComponent\", function() { return _component_legend_installLegendScroll_js__WEBPACK_IMPORTED_MODULE_19__[\"install\"]; });\n\n/* harmony import */ var _component_legend_installLegendPlain_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../component/legend/installLegendPlain.js */ \"./node_modules/echarts/lib/component/legend/installLegendPlain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LegendPlainComponent\", function() { return _component_legend_installLegendPlain_js__WEBPACK_IMPORTED_MODULE_20__[\"install\"]; });\n\n/* harmony import */ var _component_dataZoom_install_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../component/dataZoom/install.js */ \"./node_modules/echarts/lib/component/dataZoom/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DataZoomComponent\", function() { return _component_dataZoom_install_js__WEBPACK_IMPORTED_MODULE_21__[\"install\"]; });\n\n/* harmony import */ var _component_dataZoom_installDataZoomInside_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../component/dataZoom/installDataZoomInside.js */ \"./node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DataZoomInsideComponent\", function() { return _component_dataZoom_installDataZoomInside_js__WEBPACK_IMPORTED_MODULE_22__[\"install\"]; });\n\n/* harmony import */ var _component_dataZoom_installDataZoomSlider_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../component/dataZoom/installDataZoomSlider.js */ \"./node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DataZoomSliderComponent\", function() { return _component_dataZoom_installDataZoomSlider_js__WEBPACK_IMPORTED_MODULE_23__[\"install\"]; });\n\n/* harmony import */ var _component_visualMap_install_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../component/visualMap/install.js */ \"./node_modules/echarts/lib/component/visualMap/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VisualMapComponent\", function() { return _component_visualMap_install_js__WEBPACK_IMPORTED_MODULE_24__[\"install\"]; });\n\n/* harmony import */ var _component_visualMap_installVisualMapContinuous_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../component/visualMap/installVisualMapContinuous.js */ \"./node_modules/echarts/lib/component/visualMap/installVisualMapContinuous.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VisualMapContinuousComponent\", function() { return _component_visualMap_installVisualMapContinuous_js__WEBPACK_IMPORTED_MODULE_25__[\"install\"]; });\n\n/* harmony import */ var _component_visualMap_installVisualMapPiecewise_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../component/visualMap/installVisualMapPiecewise.js */ \"./node_modules/echarts/lib/component/visualMap/installVisualMapPiecewise.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VisualMapPiecewiseComponent\", function() { return _component_visualMap_installVisualMapPiecewise_js__WEBPACK_IMPORTED_MODULE_26__[\"install\"]; });\n\n/* harmony import */ var _component_aria_install_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../component/aria/install.js */ \"./node_modules/echarts/lib/component/aria/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AriaComponent\", function() { return _component_aria_install_js__WEBPACK_IMPORTED_MODULE_27__[\"install\"]; });\n\n/* harmony import */ var _component_transform_install_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../component/transform/install.js */ \"./node_modules/echarts/lib/component/transform/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TransformComponent\", function() { return _component_transform_install_js__WEBPACK_IMPORTED_MODULE_28__[\"install\"]; });\n\n/* harmony import */ var _component_dataset_install_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../component/dataset/install.js */ \"./node_modules/echarts/lib/component/dataset/install.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DatasetComponent\", function() { return _component_dataset_install_js__WEBPACK_IMPORTED_MODULE_29__[\"install\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/components.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/core.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/export/core.js ***!
  \*************************************************/
/*! exports provided: version, dependencies, PRIORITY, init, connect, disConnect, disconnect, dispose, getInstanceByDom, getInstanceById, registerTheme, registerPreprocessor, registerProcessor, registerPostInit, registerPostUpdate, registerUpdateLifecycle, registerAction, registerCoordinateSystem, getCoordinateSystemDimensions, registerLocale, registerLayout, registerVisual, registerLoading, setCanvasCreator, registerMap, getMap, registerTransform, dataTool, zrender, matrix, vector, zrUtil, color, throttle, helper, use, setPlatformAPI, parseGeoJSON, parseGeoJson, number, time, graphic, format, util, env, List, Model, Axis, ComponentModel, ComponentView, SeriesModel, ChartView, innerDrawElementOnCanvas, extendComponentModel, extendComponentView, extendSeriesModel, extendChartView */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/echarts.js */ \"./node_modules/echarts/lib/core/echarts.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dependencies\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"dependencies\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PRIORITY\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"PRIORITY\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"init\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"connect\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"connect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disConnect\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"disConnect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disconnect\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"disconnect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dispose\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"dispose\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getInstanceByDom\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"getInstanceByDom\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getInstanceById\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"getInstanceById\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerTheme\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerTheme\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerPreprocessor\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerPreprocessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerProcessor\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerPostInit\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerPostInit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerPostUpdate\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerPostUpdate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerUpdateLifecycle\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerUpdateLifecycle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerAction\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerCoordinateSystem\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerCoordinateSystem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getCoordinateSystemDimensions\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"getCoordinateSystemDimensions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLocale\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerLocale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLayout\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerLayout\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerVisual\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerVisual\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerLoading\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerLoading\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCanvasCreator\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"setCanvasCreator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerMap\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getMap\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"getMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerTransform\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerTransform\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dataTool\", function() { return _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"dataTool\"]; });\n\n/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./api.js */ \"./node_modules/echarts/lib/export/api.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zrender\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"zrender\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrix\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"matrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"vector\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"vector\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zrUtil\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"zrUtil\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"color\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"color\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"throttle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"helper\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"helper\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"use\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"use\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setPlatformAPI\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"setPlatformAPI\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseGeoJSON\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"parseGeoJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseGeoJson\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"parseGeoJson\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"number\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"number\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"time\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"time\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"graphic\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"graphic\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"format\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"util\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"env\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"env\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"List\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Model\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"Model\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Axis\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"Axis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentModel\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"ComponentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentView\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"ComponentView\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SeriesModel\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"SeriesModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChartView\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"ChartView\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"innerDrawElementOnCanvas\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"innerDrawElementOnCanvas\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendComponentModel\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"extendComponentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendComponentView\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"extendComponentView\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendSeriesModel\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"extendSeriesModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendChartView\", function() { return _api_js__WEBPACK_IMPORTED_MODULE_1__[\"extendChartView\"]; });\n\n/* harmony import */ var _extension_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../extension.js */ \"./node_modules/echarts/lib/extension.js\");\n/* harmony import */ var _label_installLabelLayout_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../label/installLabelLayout.js */ \"./node_modules/echarts/lib/label/installLabelLayout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Core API from echarts/src/echarts\n\n\n // Import label layout by default.\n// TODO will be treeshaked.\n\n\nObject(_extension_js__WEBPACK_IMPORTED_MODULE_2__[\"use\"])(_label_installLabelLayout_js__WEBPACK_IMPORTED_MODULE_3__[\"installLabelLayout\"]);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/core.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/features.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/export/features.js ***!
  \*****************************************************/
/*! exports provided: UniversalTransition, LabelLayout */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _animation_universalTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../animation/universalTransition.js */ \"./node_modules/echarts/lib/animation/universalTransition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UniversalTransition\", function() { return _animation_universalTransition_js__WEBPACK_IMPORTED_MODULE_0__[\"installUniversalTransition\"]; });\n\n/* harmony import */ var _label_installLabelLayout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../label/installLabelLayout.js */ \"./node_modules/echarts/lib/label/installLabelLayout.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LabelLayout\", function() { return _label_installLabelLayout_js__WEBPACK_IMPORTED_MODULE_1__[\"installLabelLayout\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Module that exports complex but fancy features.\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/features.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/export/renderers.js":
/*!******************************************************!*\
  !*** ./node_modules/echarts/lib/export/renderers.js ***!
  \******************************************************/
/*! exports provided: SVGRenderer, CanvasRenderer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _renderer_installSVGRenderer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../renderer/installSVGRenderer.js */ \"./node_modules/echarts/lib/renderer/installSVGRenderer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SVGRenderer\", function() { return _renderer_installSVGRenderer_js__WEBPACK_IMPORTED_MODULE_0__[\"install\"]; });\n\n/* harmony import */ var _renderer_installCanvasRenderer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../renderer/installCanvasRenderer.js */ \"./node_modules/echarts/lib/renderer/installCanvasRenderer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CanvasRenderer\", function() { return _renderer_installCanvasRenderer_js__WEBPACK_IMPORTED_MODULE_1__[\"install\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/export/renderers.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/extension.js":
/*!***********************************************!*\
  !*** ./node_modules/echarts/lib/extension.js ***!
  \***********************************************/
/*! exports provided: use */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"use\", function() { return use; });\n/* harmony import */ var _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/echarts.js */ \"./node_modules/echarts/lib/core/echarts.js\");\n/* harmony import */ var _view_Component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./view/Component.js */ \"./node_modules/echarts/lib/view/Component.js\");\n/* harmony import */ var _view_Chart_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./view/Chart.js */ \"./node_modules/echarts/lib/view/Chart.js\");\n/* harmony import */ var _model_Component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./model/Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _model_Series_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./model/Series.js */ \"./node_modules/echarts/lib/model/Series.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_impl_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/impl.js */ \"./node_modules/echarts/lib/core/impl.js\");\n/* harmony import */ var zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/zrender.js */ \"./node_modules/echarts/node_modules/zrender/lib/zrender.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar extensions = [];\nvar extensionRegisters = {\n  registerPreprocessor: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerPreprocessor\"],\n  registerProcessor: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerProcessor\"],\n  registerPostInit: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerPostInit\"],\n  registerPostUpdate: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerPostUpdate\"],\n  registerUpdateLifecycle: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerUpdateLifecycle\"],\n  registerAction: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerAction\"],\n  registerCoordinateSystem: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerCoordinateSystem\"],\n  registerLayout: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerLayout\"],\n  registerVisual: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerVisual\"],\n  registerTransform: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerTransform\"],\n  registerLoading: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerLoading\"],\n  registerMap: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"registerMap\"],\n  registerImpl: _core_impl_js__WEBPACK_IMPORTED_MODULE_6__[\"registerImpl\"],\n  PRIORITY: _core_echarts_js__WEBPACK_IMPORTED_MODULE_0__[\"PRIORITY\"],\n  ComponentModel: _model_Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  ComponentView: _view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  SeriesModel: _model_Series_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n  ChartView: _view_Chart_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  // TODO Use ComponentModel and SeriesModel instead of Constructor\n  registerComponentModel: function (ComponentModelClass) {\n    _model_Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].registerClass(ComponentModelClass);\n  },\n  registerComponentView: function (ComponentViewClass) {\n    _view_Component_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].registerClass(ComponentViewClass);\n  },\n  registerSeriesModel: function (SeriesModelClass) {\n    _model_Series_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].registerClass(SeriesModelClass);\n  },\n  registerChartView: function (ChartViewClass) {\n    _view_Chart_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].registerClass(ChartViewClass);\n  },\n  registerSubTypeDefaulter: function (componentType, defaulter) {\n    _model_Component_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].registerSubTypeDefaulter(componentType, defaulter);\n  },\n  registerPainter: function (painterType, PainterCtor) {\n    Object(zrender_lib_zrender_js__WEBPACK_IMPORTED_MODULE_7__[\"registerPainter\"])(painterType, PainterCtor);\n  }\n};\nfunction use(ext) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArray\"])(ext)) {\n    // use([ChartLine, ChartBar]);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(ext, function (singleExt) {\n      use(singleExt);\n    });\n    return;\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(extensions, ext) >= 0) {\n    return;\n  }\n\n  extensions.push(ext);\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isFunction\"])(ext)) {\n    ext = {\n      install: ext\n    };\n  }\n\n  ext.install(extensionRegisters);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/extension.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/i18n/langEN.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/i18n/langEN.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Language: English.\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  time: {\n    month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n    monthAbbr: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n    dayOfWeek: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n    dayOfWeekAbbr: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n  },\n  legend: {\n    selector: {\n      all: 'All',\n      inverse: 'Inv'\n    }\n  },\n  toolbox: {\n    brush: {\n      title: {\n        rect: 'Box Select',\n        polygon: 'Lasso Select',\n        lineX: 'Horizontally Select',\n        lineY: 'Vertically Select',\n        keep: 'Keep Selections',\n        clear: 'Clear Selections'\n      }\n    },\n    dataView: {\n      title: 'Data View',\n      lang: ['Data View', 'Close', 'Refresh']\n    },\n    dataZoom: {\n      title: {\n        zoom: 'Zoom',\n        back: 'Zoom Reset'\n      }\n    },\n    magicType: {\n      title: {\n        line: 'Switch to Line Chart',\n        bar: 'Switch to Bar Chart',\n        stack: 'Stack',\n        tiled: 'Tile'\n      }\n    },\n    restore: {\n      title: 'Restore'\n    },\n    saveAsImage: {\n      title: 'Save as Image',\n      lang: ['Right Click to Save Image']\n    }\n  },\n  series: {\n    typeNames: {\n      pie: 'Pie chart',\n      bar: 'Bar chart',\n      line: 'Line chart',\n      scatter: 'Scatter plot',\n      effectScatter: 'Ripple scatter plot',\n      radar: 'Radar chart',\n      tree: 'Tree',\n      treemap: 'Treemap',\n      boxplot: 'Boxplot',\n      candlestick: 'Candlestick',\n      k: 'K line chart',\n      heatmap: 'Heat map',\n      map: 'Map',\n      parallel: 'Parallel coordinate map',\n      lines: 'Line graph',\n      graph: 'Relationship graph',\n      sankey: 'Sankey diagram',\n      funnel: 'Funnel chart',\n      gauge: 'Gauge',\n      pictorialBar: 'Pictorial bar',\n      themeRiver: 'Theme River Map',\n      sunburst: 'Sunburst'\n    }\n  },\n  aria: {\n    general: {\n      withTitle: 'This is a chart about \"{title}\"',\n      withoutTitle: 'This is a chart'\n    },\n    series: {\n      single: {\n        prefix: '',\n        withName: ' with type {seriesType} named {seriesName}.',\n        withoutName: ' with type {seriesType}.'\n      },\n      multiple: {\n        prefix: '. It consists of {seriesCount} series count.',\n        withName: ' The {seriesId} series is a {seriesType} representing {seriesName}.',\n        withoutName: ' The {seriesId} series is a {seriesType}.',\n        separator: {\n          middle: '',\n          end: ''\n        }\n      }\n    },\n    data: {\n      allData: 'The data is as follows: ',\n      partialData: 'The first {displayCnt} items are: ',\n      withName: 'the data for {name} is {value}',\n      withoutName: '{value}',\n      separator: {\n        middle: ', ',\n        end: '. '\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/i18n/langEN.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/i18n/langZH.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/i18n/langZH.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership.  The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License.  You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  time: {\n    month: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],\n    monthAbbr: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n    dayOfWeek: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],\n    dayOfWeekAbbr: ['日', '一', '二', '三', '四', '五', '六']\n  },\n  legend: {\n    selector: {\n      all: '全选',\n      inverse: '反选'\n    }\n  },\n  toolbox: {\n    brush: {\n      title: {\n        rect: '矩形选择',\n        polygon: '圈选',\n        lineX: '横向选择',\n        lineY: '纵向选择',\n        keep: '保持选择',\n        clear: '清除选择'\n      }\n    },\n    dataView: {\n      title: '数据视图',\n      lang: ['数据视图', '关闭', '刷新']\n    },\n    dataZoom: {\n      title: {\n        zoom: '区域缩放',\n        back: '区域缩放还原'\n      }\n    },\n    magicType: {\n      title: {\n        line: '切换为折线图',\n        bar: '切换为柱状图',\n        stack: '切换为堆叠',\n        tiled: '切换为平铺'\n      }\n    },\n    restore: {\n      title: '还原'\n    },\n    saveAsImage: {\n      title: '保存为图片',\n      lang: ['右键另存为图片']\n    }\n  },\n  series: {\n    typeNames: {\n      pie: '饼图',\n      bar: '柱状图',\n      line: '折线图',\n      scatter: '散点图',\n      effectScatter: '涟漪散点图',\n      radar: '雷达图',\n      tree: '树图',\n      treemap: '矩形树图',\n      boxplot: '箱型图',\n      candlestick: 'K线图',\n      k: 'K线图',\n      heatmap: '热力图',\n      map: '地图',\n      parallel: '平行坐标图',\n      lines: '线图',\n      graph: '关系图',\n      sankey: '桑基图',\n      funnel: '漏斗图',\n      gauge: '仪表盘图',\n      pictorialBar: '象形柱图',\n      themeRiver: '主题河流图',\n      sunburst: '旭日图'\n    }\n  },\n  aria: {\n    general: {\n      withTitle: '这是一个关于“{title}”的图表。',\n      withoutTitle: '这是一个图表，'\n    },\n    series: {\n      single: {\n        prefix: '',\n        withName: '图表类型是{seriesType}，表示{seriesName}。',\n        withoutName: '图表类型是{seriesType}。'\n      },\n      multiple: {\n        prefix: '它由{seriesCount}个图表系列组成。',\n        withName: '第{seriesId}个系列是一个表示{seriesName}的{seriesType}，',\n        withoutName: '第{seriesId}个系列是一个{seriesType}，',\n        separator: {\n          middle: '；',\n          end: '。'\n        }\n      }\n    },\n    data: {\n      allData: '其数据是——',\n      partialData: '其中，前{displayCnt}项是——',\n      withName: '{name}的数据是{value}',\n      withoutName: '{value}',\n      separator: {\n        middle: '，',\n        end: ''\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/i18n/langZH.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/label/LabelManager.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/label/LabelManager.js ***!
  \********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_innerStore_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n/* harmony import */ var _labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./labelGuideHelper.js */ \"./node_modules/echarts/lib/label/labelGuideHelper.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./labelLayoutHelper.js */ \"./node_modules/echarts/lib/label/labelLayoutHelper.js\");\n/* harmony import */ var _labelStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO: move labels out of viewport.\n\n\n\n\n\n\n\n\n\n\nfunction cloneArr(points) {\n  if (points) {\n    var newPoints = [];\n\n    for (var i = 0; i < points.length; i++) {\n      newPoints.push(points[i].slice());\n    }\n\n    return newPoints;\n  }\n}\n\nfunction prepareLayoutCallbackParams(labelItem, hostEl) {\n  var label = labelItem.label;\n  var labelLine = hostEl && hostEl.getTextGuideLine();\n  return {\n    dataIndex: labelItem.dataIndex,\n    dataType: labelItem.dataType,\n    seriesIndex: labelItem.seriesModel.seriesIndex,\n    text: labelItem.label.style.text,\n    rect: labelItem.hostRect,\n    labelRect: labelItem.rect,\n    // x: labelAttr.x,\n    // y: labelAttr.y,\n    align: label.style.align,\n    verticalAlign: label.style.verticalAlign,\n    labelLinePoints: cloneArr(labelLine && labelLine.shape.points)\n  };\n}\n\nvar LABEL_OPTION_TO_STYLE_KEYS = ['align', 'verticalAlign', 'width', 'height', 'fontSize'];\nvar dummyTransformable = new zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\nvar labelLayoutInnerStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"makeInner\"])();\nvar labelLineAnimationStore = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"makeInner\"])();\n\nfunction extendWithKeys(target, source, keys) {\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n\n    if (source[key] != null) {\n      target[key] = source[key];\n    }\n  }\n}\n\nvar LABEL_LAYOUT_PROPS = ['x', 'y', 'rotation'];\n\nvar LabelManager =\n/** @class */\nfunction () {\n  function LabelManager() {\n    this._labelList = [];\n    this._chartViewList = [];\n  }\n\n  LabelManager.prototype.clearLabels = function () {\n    this._labelList = [];\n    this._chartViewList = [];\n  };\n  /**\n   * Add label to manager\n   */\n\n\n  LabelManager.prototype._addLabel = function (dataIndex, dataType, seriesModel, label, layoutOption) {\n    var labelStyle = label.style;\n    var hostEl = label.__hostTarget;\n    var textConfig = hostEl.textConfig || {}; // TODO: If label is in other state.\n\n    var labelTransform = label.getComputedTransform();\n    var labelRect = label.getBoundingRect().plain();\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"BoundingRect\"].applyTransform(labelRect, labelRect, labelTransform);\n\n    if (labelTransform) {\n      dummyTransformable.setLocalTransform(labelTransform);\n    } else {\n      // Identity transform.\n      dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;\n      dummyTransformable.scaleX = dummyTransformable.scaleY = 1;\n    }\n\n    var host = label.__hostTarget;\n    var hostRect;\n\n    if (host) {\n      hostRect = host.getBoundingRect().plain();\n      var transform = host.getComputedTransform();\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"BoundingRect\"].applyTransform(hostRect, hostRect, transform);\n    }\n\n    var labelGuide = hostRect && host.getTextGuideLine();\n\n    this._labelList.push({\n      label: label,\n      labelLine: labelGuide,\n      seriesModel: seriesModel,\n      dataIndex: dataIndex,\n      dataType: dataType,\n      layoutOption: layoutOption,\n      computedLayoutOption: null,\n      rect: labelRect,\n      hostRect: hostRect,\n      // Label with lower priority will be hidden when overlapped\n      // Use rect size as default priority\n      priority: hostRect ? hostRect.width * hostRect.height : 0,\n      // Save default label attributes.\n      // For restore if developers want get back to default value in callback.\n      defaultAttr: {\n        ignore: label.ignore,\n        labelGuideIgnore: labelGuide && labelGuide.ignore,\n        x: dummyTransformable.x,\n        y: dummyTransformable.y,\n        scaleX: dummyTransformable.scaleX,\n        scaleY: dummyTransformable.scaleY,\n        rotation: dummyTransformable.rotation,\n        style: {\n          x: labelStyle.x,\n          y: labelStyle.y,\n          align: labelStyle.align,\n          verticalAlign: labelStyle.verticalAlign,\n          width: labelStyle.width,\n          height: labelStyle.height,\n          fontSize: labelStyle.fontSize\n        },\n        cursor: label.cursor,\n        attachedPos: textConfig.position,\n        attachedRot: textConfig.rotation\n      }\n    });\n  };\n\n  LabelManager.prototype.addLabelsOfSeries = function (chartView) {\n    var _this = this;\n\n    this._chartViewList.push(chartView);\n\n    var seriesModel = chartView.__model;\n    var layoutOption = seriesModel.get('labelLayout');\n    /**\n     * Ignore layouting if it's not specified anything.\n     */\n\n    if (!(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"isFunction\"])(layoutOption) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"keys\"])(layoutOption).length)) {\n      return;\n    }\n\n    chartView.group.traverse(function (child) {\n      if (child.ignore) {\n        return true; // Stop traverse descendants.\n      } // Only support label being hosted on graphic elements.\n\n\n      var textEl = child.getTextContent();\n      var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_1__[\"getECData\"])(child); // Can only attach the text on the element with dataIndex\n\n      if (textEl && !textEl.disableLabelLayout) {\n        _this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);\n      }\n    });\n  };\n\n  LabelManager.prototype.updateLayoutConfig = function (api) {\n    var width = api.getWidth();\n    var height = api.getHeight();\n\n    function createDragHandler(el, labelLineModel) {\n      return function () {\n        Object(_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"updateLabelLinePoints\"])(el, labelLineModel);\n      };\n    }\n\n    for (var i = 0; i < this._labelList.length; i++) {\n      var labelItem = this._labelList[i];\n      var label = labelItem.label;\n      var hostEl = label.__hostTarget;\n      var defaultLabelAttr = labelItem.defaultAttr;\n      var layoutOption = void 0; // TODO A global layout option?\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"isFunction\"])(labelItem.layoutOption)) {\n        layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));\n      } else {\n        layoutOption = labelItem.layoutOption;\n      }\n\n      layoutOption = layoutOption || {};\n      labelItem.computedLayoutOption = layoutOption;\n      var degreeToRadian = Math.PI / 180; // TODO hostEl should always exists.\n      // Or label should not have parent because the x, y is all in global space.\n\n      if (hostEl) {\n        hostEl.setTextConfig({\n          // Force to set local false.\n          local: false,\n          // Ignore position and rotation config on the host el if x or y is changed.\n          position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,\n          // Ignore rotation config on the host el if rotation is changed.\n          rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,\n          offset: [layoutOption.dx || 0, layoutOption.dy || 0]\n        });\n      }\n\n      var needsUpdateLabelLine = false;\n\n      if (layoutOption.x != null) {\n        // TODO width of chart view.\n        label.x = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(layoutOption.x, width);\n        label.setStyle('x', 0); // Ignore movement in style. TODO: origin.\n\n        needsUpdateLabelLine = true;\n      } else {\n        label.x = defaultLabelAttr.x;\n        label.setStyle('x', defaultLabelAttr.style.x);\n      }\n\n      if (layoutOption.y != null) {\n        // TODO height of chart view.\n        label.y = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(layoutOption.y, height);\n        label.setStyle('y', 0); // Ignore movement in style.\n\n        needsUpdateLabelLine = true;\n      } else {\n        label.y = defaultLabelAttr.y;\n        label.setStyle('y', defaultLabelAttr.style.y);\n      }\n\n      if (layoutOption.labelLinePoints) {\n        var guideLine = hostEl.getTextGuideLine();\n\n        if (guideLine) {\n          guideLine.setShape({\n            points: layoutOption.labelLinePoints\n          }); // Not update\n\n          needsUpdateLabelLine = false;\n        }\n      }\n\n      var labelLayoutStore = labelLayoutInnerStore(label);\n      labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;\n      label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;\n      label.scaleX = defaultLabelAttr.scaleX;\n      label.scaleY = defaultLabelAttr.scaleY;\n\n      for (var k = 0; k < LABEL_OPTION_TO_STYLE_KEYS.length; k++) {\n        var key = LABEL_OPTION_TO_STYLE_KEYS[k];\n        label.setStyle(key, layoutOption[key] != null ? layoutOption[key] : defaultLabelAttr.style[key]);\n      }\n\n      if (layoutOption.draggable) {\n        label.draggable = true;\n        label.cursor = 'move';\n\n        if (hostEl) {\n          var hostModel = labelItem.seriesModel;\n\n          if (labelItem.dataIndex != null) {\n            var data = labelItem.seriesModel.getData(labelItem.dataType);\n            hostModel = data.getItemModel(labelItem.dataIndex);\n          }\n\n          label.on('drag', createDragHandler(hostEl, hostModel.getModel('labelLine')));\n        }\n      } else {\n        // TODO Other drag functions?\n        label.off('drag');\n        label.cursor = defaultLabelAttr.cursor;\n      }\n    }\n  };\n\n  LabelManager.prototype.layout = function (api) {\n    var width = api.getWidth();\n    var height = api.getHeight();\n    var labelList = Object(_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_7__[\"prepareLayoutList\"])(this._labelList);\n    var labelsNeedsAdjustOnX = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"filter\"])(labelList, function (item) {\n      return item.layoutOption.moveOverlap === 'shiftX';\n    });\n    var labelsNeedsAdjustOnY = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"filter\"])(labelList, function (item) {\n      return item.layoutOption.moveOverlap === 'shiftY';\n    });\n    Object(_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_7__[\"shiftLayoutOnX\"])(labelsNeedsAdjustOnX, 0, width);\n    Object(_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_7__[\"shiftLayoutOnY\"])(labelsNeedsAdjustOnY, 0, height);\n    var labelsNeedsHideOverlap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"filter\"])(labelList, function (item) {\n      return item.layoutOption.hideOverlap;\n    });\n    Object(_labelLayoutHelper_js__WEBPACK_IMPORTED_MODULE_7__[\"hideOverlap\"])(labelsNeedsHideOverlap);\n  };\n  /**\n   * Process all labels. Not only labels with layoutOption.\n   */\n\n\n  LabelManager.prototype.processLabelsOverall = function () {\n    var _this = this;\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"each\"])(this._chartViewList, function (chartView) {\n      var seriesModel = chartView.__model;\n      var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;\n      var animationEnabled = seriesModel.isAnimationEnabled();\n      chartView.group.traverse(function (child) {\n        if (child.ignore && !child.forceLabelAnimation) {\n          return true; // Stop traverse descendants.\n        }\n\n        var needsUpdateLabelLine = !ignoreLabelLineUpdate;\n        var label = child.getTextContent();\n\n        if (!needsUpdateLabelLine && label) {\n          needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;\n        }\n\n        if (needsUpdateLabelLine) {\n          _this._updateLabelLine(child, seriesModel);\n        }\n\n        if (animationEnabled) {\n          _this._animateLabels(child, seriesModel);\n        }\n      });\n    });\n  };\n\n  LabelManager.prototype._updateLabelLine = function (el, seriesModel) {\n    // Only support label being hosted on graphic elements.\n    var textEl = el.getTextContent(); // Update label line style.\n\n    var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_1__[\"getECData\"])(el);\n    var dataIndex = ecData.dataIndex; // Only support labelLine on the labels represent data.\n\n    if (textEl && dataIndex != null) {\n      var data = seriesModel.getData(ecData.dataType);\n      var itemModel = data.getItemModel(dataIndex);\n      var defaultStyle = {};\n      var visualStyle = data.getItemVisual(dataIndex, 'style');\n      var visualType = data.getVisual('drawType'); // Default to be same with main color\n\n      defaultStyle.stroke = visualStyle[visualType];\n      var labelLineModel = itemModel.getModel('labelLine');\n      Object(_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"setLabelLineStyle\"])(el, Object(_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"getLabelLineStatesModels\"])(itemModel), defaultStyle);\n      Object(_labelGuideHelper_js__WEBPACK_IMPORTED_MODULE_4__[\"updateLabelLinePoints\"])(el, labelLineModel);\n    }\n  };\n\n  LabelManager.prototype._animateLabels = function (el, seriesModel) {\n    var textEl = el.getTextContent();\n    var guideLine = el.getTextGuideLine(); // Animate\n\n    if (textEl // `forceLabelAnimation` has the highest priority\n    && (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"isElementRemoved\"])(el))) {\n      var layoutStore = labelLayoutInnerStore(textEl);\n      var oldLayout = layoutStore.oldLayout;\n      var ecData = Object(_util_innerStore_js__WEBPACK_IMPORTED_MODULE_1__[\"getECData\"])(el);\n      var dataIndex = ecData.dataIndex;\n      var newProps = {\n        x: textEl.x,\n        y: textEl.y,\n        rotation: textEl.rotation\n      };\n      var data = seriesModel.getData(ecData.dataType);\n\n      if (!oldLayout) {\n        textEl.attr(newProps); // Disable fade in animation if value animation is enabled.\n\n        if (!Object(_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"labelInner\"])(textEl).valueAnimation) {\n          var oldOpacity = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"retrieve2\"])(textEl.style.opacity, 1); // Fade in animation\n\n          textEl.style.opacity = 0;\n          Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"initProps\"])(textEl, {\n            style: {\n              opacity: oldOpacity\n            }\n          }, seriesModel, dataIndex);\n        }\n      } else {\n        textEl.attr(oldLayout); // Make sure the animation from is in the right status.\n\n        var prevStates = el.prevStates;\n\n        if (prevStates) {\n          if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"indexOf\"])(prevStates, 'select') >= 0) {\n            textEl.attr(layoutStore.oldLayoutSelect);\n          }\n\n          if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"indexOf\"])(prevStates, 'emphasis') >= 0) {\n            textEl.attr(layoutStore.oldLayoutEmphasis);\n          }\n        }\n\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"updateProps\"])(textEl, newProps, seriesModel, dataIndex);\n      }\n\n      layoutStore.oldLayout = newProps;\n\n      if (textEl.states.select) {\n        var layoutSelect = layoutStore.oldLayoutSelect = {};\n        extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);\n        extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);\n      }\n\n      if (textEl.states.emphasis) {\n        var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};\n        extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);\n        extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);\n      }\n\n      Object(_labelStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"animateLabelValue\"])(textEl, dataIndex, data, seriesModel, seriesModel);\n    }\n\n    if (guideLine && !guideLine.ignore && !guideLine.invisible) {\n      var layoutStore = labelLineAnimationStore(guideLine);\n      var oldLayout = layoutStore.oldLayout;\n      var newLayout = {\n        points: guideLine.shape.points\n      };\n\n      if (!oldLayout) {\n        guideLine.setShape(newLayout);\n        guideLine.style.strokePercent = 0;\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"initProps\"])(guideLine, {\n          style: {\n            strokePercent: 1\n          }\n        }, seriesModel);\n      } else {\n        guideLine.attr({\n          shape: oldLayout\n        });\n        Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"updateProps\"])(guideLine, {\n          shape: newLayout\n        }, seriesModel);\n      }\n\n      layoutStore.oldLayout = newLayout;\n    }\n  };\n\n  return LabelManager;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LabelManager);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/label/LabelManager.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/label/installLabelLayout.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/lib/label/installLabelLayout.js ***!
  \**************************************************************/
/*! exports provided: installLabelLayout */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"installLabelLayout\", function() { return installLabelLayout; });\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _LabelManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LabelManager.js */ \"./node_modules/echarts/lib/label/LabelManager.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar getLabelManager = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\nfunction installLabelLayout(registers) {\n  registers.registerUpdateLifecycle('series:beforeupdate', function (ecModel, api, params) {\n    // TODO api provide an namespace that can save stuff per instance\n    var labelManager = getLabelManager(api).labelManager;\n\n    if (!labelManager) {\n      labelManager = getLabelManager(api).labelManager = new _LabelManager_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    }\n\n    labelManager.clearLabels();\n  });\n  registers.registerUpdateLifecycle('series:layoutlabels', function (ecModel, api, params) {\n    var labelManager = getLabelManager(api).labelManager;\n    params.updatedSeries.forEach(function (series) {\n      labelManager.addLabelsOfSeries(api.getViewOfSeriesModel(series));\n    });\n    labelManager.updateLayoutConfig(api);\n    labelManager.layout(api);\n    labelManager.processLabelsOverall();\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/label/installLabelLayout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/label/labelGuideHelper.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/label/labelGuideHelper.js ***!
  \************************************************************/
/*! exports provided: updateLabelLinePoints, limitTurnAngle, limitSurfaceAngle, setLabelLineStyle, getLabelLineStatesModels */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateLabelLinePoints\", function() { return updateLabelLinePoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"limitTurnAngle\", function() { return limitTurnAngle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"limitSurfaceAngle\", function() { return limitSurfaceAngle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLabelLineStyle\", function() { return setLabelLineStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLabelLineStatesModels\", function() { return getLabelLineStatesModels; });\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_core_PathProxy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var zrender_lib_contain_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/contain/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/util.js\");\n/* harmony import */ var zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar PI2 = Math.PI * 2;\nvar CMD = zrender_lib_core_PathProxy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CMD;\nvar DEFAULT_SEARCH_SPACE = ['top', 'right', 'bottom', 'left'];\n\nfunction getCandidateAnchor(pos, distance, rect, outPt, outDir) {\n  var width = rect.width;\n  var height = rect.height;\n\n  switch (pos) {\n    case 'top':\n      outPt.set(rect.x + width / 2, rect.y - distance);\n      outDir.set(0, -1);\n      break;\n\n    case 'bottom':\n      outPt.set(rect.x + width / 2, rect.y + height + distance);\n      outDir.set(0, 1);\n      break;\n\n    case 'left':\n      outPt.set(rect.x - distance, rect.y + height / 2);\n      outDir.set(-1, 0);\n      break;\n\n    case 'right':\n      outPt.set(rect.x + width + distance, rect.y + height / 2);\n      outDir.set(1, 0);\n      break;\n  }\n}\n\nfunction projectPointToArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y, out) {\n  x -= cx;\n  y -= cy;\n  var d = Math.sqrt(x * x + y * y);\n  x /= d;\n  y /= d; // Intersect point.\n\n  var ox = x * r + cx;\n  var oy = y * r + cy;\n\n  if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {\n    // Is a circle\n    out[0] = ox;\n    out[1] = oy;\n    return d - r;\n  }\n\n  if (anticlockwise) {\n    var tmp = startAngle;\n    startAngle = Object(zrender_lib_contain_util_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeRadian\"])(endAngle);\n    endAngle = Object(zrender_lib_contain_util_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeRadian\"])(tmp);\n  } else {\n    startAngle = Object(zrender_lib_contain_util_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeRadian\"])(startAngle);\n    endAngle = Object(zrender_lib_contain_util_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeRadian\"])(endAngle);\n  }\n\n  if (startAngle > endAngle) {\n    endAngle += PI2;\n  }\n\n  var angle = Math.atan2(y, x);\n\n  if (angle < 0) {\n    angle += PI2;\n  }\n\n  if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {\n    // Project point is on the arc.\n    out[0] = ox;\n    out[1] = oy;\n    return d - r;\n  }\n\n  var x1 = r * Math.cos(startAngle) + cx;\n  var y1 = r * Math.sin(startAngle) + cy;\n  var x2 = r * Math.cos(endAngle) + cx;\n  var y2 = r * Math.sin(endAngle) + cy;\n  var d1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);\n  var d2 = (x2 - x) * (x2 - x) + (y2 - y) * (y2 - y);\n\n  if (d1 < d2) {\n    out[0] = x1;\n    out[1] = y1;\n    return Math.sqrt(d1);\n  } else {\n    out[0] = x2;\n    out[1] = y2;\n    return Math.sqrt(d2);\n  }\n}\n\nfunction projectPointToLine(x1, y1, x2, y2, x, y, out, limitToEnds) {\n  var dx = x - x1;\n  var dy = y - y1;\n  var dx1 = x2 - x1;\n  var dy1 = y2 - y1;\n  var lineLen = Math.sqrt(dx1 * dx1 + dy1 * dy1);\n  dx1 /= lineLen;\n  dy1 /= lineLen; // dot product\n\n  var projectedLen = dx * dx1 + dy * dy1;\n  var t = projectedLen / lineLen;\n\n  if (limitToEnds) {\n    t = Math.min(Math.max(t, 0), 1);\n  }\n\n  t *= lineLen;\n  var ox = out[0] = x1 + t * dx1;\n  var oy = out[1] = y1 + t * dy1;\n  return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));\n}\n\nfunction projectPointToRect(x1, y1, width, height, x, y, out) {\n  if (width < 0) {\n    x1 = x1 + width;\n    width = -width;\n  }\n\n  if (height < 0) {\n    y1 = y1 + height;\n    height = -height;\n  }\n\n  var x2 = x1 + width;\n  var y2 = y1 + height;\n  var ox = out[0] = Math.min(Math.max(x, x1), x2);\n  var oy = out[1] = Math.min(Math.max(y, y1), y2);\n  return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));\n}\n\nvar tmpPt = [];\n\nfunction nearestPointOnRect(pt, rect, out) {\n  var dist = projectPointToRect(rect.x, rect.y, rect.width, rect.height, pt.x, pt.y, tmpPt);\n  out.set(tmpPt[0], tmpPt[1]);\n  return dist;\n}\n/**\n * Calculate min distance corresponding point.\n * This method won't evaluate if point is in the path.\n */\n\n\nfunction nearestPointOnPath(pt, path, out) {\n  var xi = 0;\n  var yi = 0;\n  var x0 = 0;\n  var y0 = 0;\n  var x1;\n  var y1;\n  var minDist = Infinity;\n  var data = path.data;\n  var x = pt.x;\n  var y = pt.y;\n\n  for (var i = 0; i < data.length;) {\n    var cmd = data[i++];\n\n    if (i === 1) {\n      xi = data[i];\n      yi = data[i + 1];\n      x0 = xi;\n      y0 = yi;\n    }\n\n    var d = minDist;\n\n    switch (cmd) {\n      case CMD.M:\n        // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n        // 在 closePath 的时候使用\n        x0 = data[i++];\n        y0 = data[i++];\n        xi = x0;\n        yi = y0;\n        break;\n\n      case CMD.L:\n        d = projectPointToLine(xi, yi, data[i], data[i + 1], x, y, tmpPt, true);\n        xi = data[i++];\n        yi = data[i++];\n        break;\n\n      case CMD.C:\n        d = Object(zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicProjectPoint\"])(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);\n        xi = data[i++];\n        yi = data[i++];\n        break;\n\n      case CMD.Q:\n        d = Object(zrender_lib_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticProjectPoint\"])(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);\n        xi = data[i++];\n        yi = data[i++];\n        break;\n\n      case CMD.A:\n        // TODO Arc 判断的开销比较大\n        var cx = data[i++];\n        var cy = data[i++];\n        var rx = data[i++];\n        var ry = data[i++];\n        var theta = data[i++];\n        var dTheta = data[i++]; // TODO Arc 旋转\n\n        i += 1;\n        var anticlockwise = !!(1 - data[i++]);\n        x1 = Math.cos(theta) * rx + cx;\n        y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令\n\n        if (i <= 1) {\n          // 第一个命令起点还未定义\n          x0 = x1;\n          y0 = y1;\n        } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放\n\n\n        var _x = (x - cx) * ry / rx + cx;\n\n        d = projectPointToArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y, tmpPt);\n        xi = Math.cos(theta + dTheta) * rx + cx;\n        yi = Math.sin(theta + dTheta) * ry + cy;\n        break;\n\n      case CMD.R:\n        x0 = xi = data[i++];\n        y0 = yi = data[i++];\n        var width = data[i++];\n        var height = data[i++];\n        d = projectPointToRect(x0, y0, width, height, x, y, tmpPt);\n        break;\n\n      case CMD.Z:\n        d = projectPointToLine(xi, yi, x0, y0, x, y, tmpPt, true);\n        xi = x0;\n        yi = y0;\n        break;\n    }\n\n    if (d < minDist) {\n      minDist = d;\n      out.set(tmpPt[0], tmpPt[1]);\n    }\n  }\n\n  return minDist;\n} // Temporal varible for intermediate usage.\n\n\nvar pt0 = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"]();\nvar pt1 = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"]();\nvar pt2 = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"]();\nvar dir = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"]();\nvar dir2 = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"]();\n/**\n * Calculate a proper guide line based on the label position and graphic element definition\n * @param label\n * @param labelRect\n * @param target\n * @param targetRect\n */\n\nfunction updateLabelLinePoints(target, labelLineModel) {\n  if (!target) {\n    return;\n  }\n\n  var labelLine = target.getTextGuideLine();\n  var label = target.getTextContent(); // Needs to create text guide in each charts.\n\n  if (!(label && labelLine)) {\n    return;\n  }\n\n  var labelGuideConfig = target.textGuideLineConfig || {};\n  var points = [[0, 0], [0, 0], [0, 0]];\n  var searchSpace = labelGuideConfig.candidates || DEFAULT_SEARCH_SPACE;\n  var labelRect = label.getBoundingRect().clone();\n  labelRect.applyTransform(label.getComputedTransform());\n  var minDist = Infinity;\n  var anchorPoint = labelGuideConfig.anchor;\n  var targetTransform = target.getComputedTransform();\n  var targetInversedTransform = targetTransform && Object(zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_5__[\"invert\"])([], targetTransform);\n  var len = labelLineModel.get('length2') || 0;\n\n  if (anchorPoint) {\n    pt2.copy(anchorPoint);\n  }\n\n  for (var i = 0; i < searchSpace.length; i++) {\n    var candidate = searchSpace[i];\n    getCandidateAnchor(candidate, 0, labelRect, pt0, dir);\n    _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].scaleAndAdd(pt1, pt0, dir, len); // Transform to target coord space.\n\n    pt1.transform(targetInversedTransform); // Note: getBoundingRect will ensure the `path` being created.\n\n    var boundingRect = target.getBoundingRect();\n    var dist = anchorPoint ? anchorPoint.distance(pt1) : target instanceof _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Path\"] ? nearestPointOnPath(pt1, target.path, pt2) : nearestPointOnRect(pt1, boundingRect, pt2); // TODO pt2 is in the path\n\n    if (dist < minDist) {\n      minDist = dist; // Transform back to global space.\n\n      pt1.transform(targetTransform);\n      pt2.transform(targetTransform);\n      pt2.toArray(points[0]);\n      pt1.toArray(points[1]);\n      pt0.toArray(points[2]);\n    }\n  }\n\n  limitTurnAngle(points, labelLineModel.get('minTurnAngle'));\n  labelLine.setShape({\n    points: points\n  });\n} // Temporal variable for the limitTurnAngle function\n\nvar tmpArr = [];\nvar tmpProjPoint = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"]();\n/**\n * Reduce the line segment attached to the label to limit the turn angle between two segments.\n * @param linePoints\n * @param minTurnAngle Radian of minimum turn angle. 0 - 180\n */\n\nfunction limitTurnAngle(linePoints, minTurnAngle) {\n  if (!(minTurnAngle <= 180 && minTurnAngle > 0)) {\n    return;\n  }\n\n  minTurnAngle = minTurnAngle / 180 * Math.PI; // The line points can be\n  //      /pt1----pt2 (label)\n  //     /\n  // pt0/\n\n  pt0.fromArray(linePoints[0]);\n  pt1.fromArray(linePoints[1]);\n  pt2.fromArray(linePoints[2]);\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].sub(dir, pt0, pt1);\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].sub(dir2, pt2, pt1);\n  var len1 = dir.len();\n  var len2 = dir2.len();\n\n  if (len1 < 1e-3 || len2 < 1e-3) {\n    return;\n  }\n\n  dir.scale(1 / len1);\n  dir2.scale(1 / len2);\n  var angleCos = dir.dot(dir2);\n  var minTurnAngleCos = Math.cos(minTurnAngle);\n\n  if (minTurnAngleCos < angleCos) {\n    // Smaller than minTurnAngle\n    // Calculate project point of pt0 on pt1-pt2\n    var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);\n    tmpProjPoint.fromArray(tmpArr); // Calculate new projected length with limited minTurnAngle and get the new connect point\n\n    tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI - minTurnAngle)); // Limit the new calculated connect point between pt1 and pt2.\n\n    var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);\n\n    if (isNaN(t)) {\n      return;\n    }\n\n    if (t < 0) {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].copy(tmpProjPoint, pt1);\n    } else if (t > 1) {\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].copy(tmpProjPoint, pt2);\n    }\n\n    tmpProjPoint.toArray(linePoints[1]);\n  }\n}\n/**\n * Limit the angle of line and the surface\n * @param maxSurfaceAngle Radian of minimum turn angle. 0 - 180. 0 is same direction to normal. 180 is opposite\n */\n\nfunction limitSurfaceAngle(linePoints, surfaceNormal, maxSurfaceAngle) {\n  if (!(maxSurfaceAngle <= 180 && maxSurfaceAngle > 0)) {\n    return;\n  }\n\n  maxSurfaceAngle = maxSurfaceAngle / 180 * Math.PI;\n  pt0.fromArray(linePoints[0]);\n  pt1.fromArray(linePoints[1]);\n  pt2.fromArray(linePoints[2]);\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].sub(dir, pt1, pt0);\n  _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].sub(dir2, pt2, pt1);\n  var len1 = dir.len();\n  var len2 = dir2.len();\n\n  if (len1 < 1e-3 || len2 < 1e-3) {\n    return;\n  }\n\n  dir.scale(1 / len1);\n  dir2.scale(1 / len2);\n  var angleCos = dir.dot(surfaceNormal);\n  var maxSurfaceAngleCos = Math.cos(maxSurfaceAngle);\n\n  if (angleCos < maxSurfaceAngleCos) {\n    // Calculate project point of pt0 on pt1-pt2\n    var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);\n    tmpProjPoint.fromArray(tmpArr);\n    var HALF_PI = Math.PI / 2;\n    var angle2 = Math.acos(dir2.dot(surfaceNormal));\n    var newAngle = HALF_PI + angle2 - maxSurfaceAngle;\n\n    if (newAngle >= HALF_PI) {\n      // parallel\n      _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].copy(tmpProjPoint, pt2);\n    } else {\n      // Calculate new projected length with limited minTurnAngle and get the new connect point\n      tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI / 2 - newAngle)); // Limit the new calculated connect point between pt1 and pt2.\n\n      var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);\n\n      if (isNaN(t)) {\n        return;\n      }\n\n      if (t < 0) {\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].copy(tmpProjPoint, pt1);\n      } else if (t > 1) {\n        _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Point\"].copy(tmpProjPoint, pt2);\n      }\n    }\n\n    tmpProjPoint.toArray(linePoints[1]);\n  }\n}\n\nfunction setLabelLineState(labelLine, ignore, stateName, stateModel) {\n  var isNormal = stateName === 'normal';\n  var stateObj = isNormal ? labelLine : labelLine.ensureState(stateName); // Make sure display.\n\n  stateObj.ignore = ignore; // Set smooth\n\n  var smooth = stateModel.get('smooth');\n\n  if (smooth && smooth === true) {\n    smooth = 0.3;\n  }\n\n  stateObj.shape = stateObj.shape || {};\n\n  if (smooth > 0) {\n    stateObj.shape.smooth = smooth;\n  }\n\n  var styleObj = stateModel.getModel('lineStyle').getLineStyle();\n  isNormal ? labelLine.useStyle(styleObj) : stateObj.style = styleObj;\n}\n\nfunction buildLabelLinePath(path, shape) {\n  var smooth = shape.smooth;\n  var points = shape.points;\n\n  if (!points) {\n    return;\n  }\n\n  path.moveTo(points[0][0], points[0][1]);\n\n  if (smooth > 0 && points.length >= 3) {\n    var len1 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_6__[\"dist\"](points[0], points[1]);\n    var len2 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_6__[\"dist\"](points[1], points[2]);\n\n    if (!len1 || !len2) {\n      path.lineTo(points[1][0], points[1][1]);\n      path.lineTo(points[2][0], points[2][1]);\n      return;\n    }\n\n    var moveLen = Math.min(len1, len2) * smooth;\n    var midPoint0 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_6__[\"lerp\"]([], points[1], points[0], moveLen / len1);\n    var midPoint2 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_6__[\"lerp\"]([], points[1], points[2], moveLen / len2);\n    var midPoint1 = zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_6__[\"lerp\"]([], midPoint0, midPoint2, 0.5);\n    path.bezierCurveTo(midPoint0[0], midPoint0[1], midPoint0[0], midPoint0[1], midPoint1[0], midPoint1[1]);\n    path.bezierCurveTo(midPoint2[0], midPoint2[1], midPoint2[0], midPoint2[1], points[2][0], points[2][1]);\n  } else {\n    for (var i = 1; i < points.length; i++) {\n      path.lineTo(points[i][0], points[i][1]);\n    }\n  }\n}\n/**\n * Create a label line if necessary and set it's style.\n */\n\n\nfunction setLabelLineStyle(targetEl, statesModels, defaultStyle) {\n  var labelLine = targetEl.getTextGuideLine();\n  var label = targetEl.getTextContent();\n\n  if (!label) {\n    // Not show label line if there is no label.\n    if (labelLine) {\n      targetEl.removeTextGuideLine();\n    }\n\n    return;\n  }\n\n  var normalModel = statesModels.normal;\n  var showNormal = normalModel.get('show');\n  var labelIgnoreNormal = label.ignore;\n\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_7__[\"DISPLAY_STATES\"].length; i++) {\n    var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_7__[\"DISPLAY_STATES\"][i];\n    var stateModel = statesModels[stateName];\n    var isNormal = stateName === 'normal';\n\n    if (stateModel) {\n      var stateShow = stateModel.get('show');\n      var isLabelIgnored = isNormal ? labelIgnoreNormal : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"retrieve2\"])(label.states[stateName] && label.states[stateName].ignore, labelIgnoreNormal);\n\n      if (isLabelIgnored // Not show when label is not shown in this state.\n      || !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"retrieve2\"])(stateShow, showNormal) // Use normal state by default if not set.\n      ) {\n          var stateObj = isNormal ? labelLine : labelLine && labelLine.states[stateName];\n\n          if (stateObj) {\n            stateObj.ignore = true;\n          }\n\n          continue;\n        } // Create labelLine if not exists\n\n\n      if (!labelLine) {\n        labelLine = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Polyline\"]();\n        targetEl.setTextGuideLine(labelLine); // Reset state of normal because it's new created.\n        // NOTE: NORMAL should always been the first!\n\n        if (!isNormal && (labelIgnoreNormal || !showNormal)) {\n          setLabelLineState(labelLine, true, 'normal', statesModels.normal);\n        } // Use same state proxy.\n\n\n        if (targetEl.stateProxy) {\n          labelLine.stateProxy = targetEl.stateProxy;\n        }\n      }\n\n      setLabelLineState(labelLine, false, stateName, stateModel);\n    }\n  }\n\n  if (labelLine) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])(labelLine.style, defaultStyle); // Not fill.\n\n    labelLine.style.fill = null;\n    var showAbove = normalModel.get('showAbove');\n    var labelLineConfig = targetEl.textGuideLineConfig = targetEl.textGuideLineConfig || {};\n    labelLineConfig.showAbove = showAbove || false; // Custom the buildPath.\n\n    labelLine.buildPath = buildLabelLinePath;\n  }\n}\nfunction getLabelLineStatesModels(itemModel, labelLineName) {\n  labelLineName = labelLineName || 'labelLine';\n  var statesModels = {\n    normal: itemModel.getModel(labelLineName)\n  };\n\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_7__[\"SPECIAL_STATES\"].length; i++) {\n    var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_7__[\"SPECIAL_STATES\"][i];\n    statesModels[stateName] = itemModel.getModel([stateName, labelLineName]);\n  }\n\n  return statesModels;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/label/labelGuideHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/label/labelLayoutHelper.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/label/labelLayoutHelper.js ***!
  \*************************************************************/
/*! exports provided: prepareLayoutList, shiftLayoutOnX, shiftLayoutOnY, hideOverlap */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepareLayoutList\", function() { return prepareLayoutList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shiftLayoutOnX\", function() { return shiftLayoutOnX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shiftLayoutOnY\", function() { return shiftLayoutOnY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideOverlap\", function() { return hideOverlap; });\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction prepareLayoutList(input) {\n  var list = [];\n\n  for (var i = 0; i < input.length; i++) {\n    var rawItem = input[i];\n\n    if (rawItem.defaultAttr.ignore) {\n      continue;\n    }\n\n    var label = rawItem.label;\n    var transform = label.getComputedTransform(); // NOTE: Get bounding rect after getComputedTransform, or label may not been updated by the host el.\n\n    var localRect = label.getBoundingRect();\n    var isAxisAligned = !transform || transform[1] < 1e-5 && transform[2] < 1e-5;\n    var minMargin = label.style.margin || 0;\n    var globalRect = localRect.clone();\n    globalRect.applyTransform(transform);\n    globalRect.x -= minMargin / 2;\n    globalRect.y -= minMargin / 2;\n    globalRect.width += minMargin;\n    globalRect.height += minMargin;\n    var obb = isAxisAligned ? new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"OrientedBoundingRect\"](localRect, transform) : null;\n    list.push({\n      label: label,\n      labelLine: rawItem.labelLine,\n      rect: globalRect,\n      localRect: localRect,\n      obb: obb,\n      priority: rawItem.priority,\n      defaultAttr: rawItem.defaultAttr,\n      layoutOption: rawItem.computedLayoutOption,\n      axisAligned: isAxisAligned,\n      transform: transform\n    });\n  }\n\n  return list;\n}\n\nfunction shiftLayout(list, xyDim, sizeDim, minBound, maxBound, balanceShift) {\n  var len = list.length;\n\n  if (len < 2) {\n    return;\n  }\n\n  list.sort(function (a, b) {\n    return a.rect[xyDim] - b.rect[xyDim];\n  });\n  var lastPos = 0;\n  var delta;\n  var adjusted = false;\n  var shifts = [];\n  var totalShifts = 0;\n\n  for (var i = 0; i < len; i++) {\n    var item = list[i];\n    var rect = item.rect;\n    delta = rect[xyDim] - lastPos;\n\n    if (delta < 0) {\n      // shiftForward(i, len, -delta);\n      rect[xyDim] -= delta;\n      item.label[xyDim] -= delta;\n      adjusted = true;\n    }\n\n    var shift = Math.max(-delta, 0);\n    shifts.push(shift);\n    totalShifts += shift;\n    lastPos = rect[xyDim] + rect[sizeDim];\n  }\n\n  if (totalShifts > 0 && balanceShift) {\n    // Shift back to make the distribution more equally.\n    shiftList(-totalShifts / len, 0, len);\n  } // TODO bleedMargin?\n\n\n  var first = list[0];\n  var last = list[len - 1];\n  var minGap;\n  var maxGap;\n  updateMinMaxGap(); // If ends exceed two bounds, squeeze at most 80%, then take the gap of two bounds.\n\n  minGap < 0 && squeezeGaps(-minGap, 0.8);\n  maxGap < 0 && squeezeGaps(maxGap, 0.8);\n  updateMinMaxGap();\n  takeBoundsGap(minGap, maxGap, 1);\n  takeBoundsGap(maxGap, minGap, -1); // Handle bailout when there is not enough space.\n\n  updateMinMaxGap();\n\n  if (minGap < 0) {\n    squeezeWhenBailout(-minGap);\n  }\n\n  if (maxGap < 0) {\n    squeezeWhenBailout(maxGap);\n  }\n\n  function updateMinMaxGap() {\n    minGap = first.rect[xyDim] - minBound;\n    maxGap = maxBound - last.rect[xyDim] - last.rect[sizeDim];\n  }\n\n  function takeBoundsGap(gapThisBound, gapOtherBound, moveDir) {\n    if (gapThisBound < 0) {\n      // Move from other gap if can.\n      var moveFromMaxGap = Math.min(gapOtherBound, -gapThisBound);\n\n      if (moveFromMaxGap > 0) {\n        shiftList(moveFromMaxGap * moveDir, 0, len);\n        var remained = moveFromMaxGap + gapThisBound;\n\n        if (remained < 0) {\n          squeezeGaps(-remained * moveDir, 1);\n        }\n      } else {\n        squeezeGaps(-gapThisBound * moveDir, 1);\n      }\n    }\n  }\n\n  function shiftList(delta, start, end) {\n    if (delta !== 0) {\n      adjusted = true;\n    }\n\n    for (var i = start; i < end; i++) {\n      var item = list[i];\n      var rect = item.rect;\n      rect[xyDim] += delta;\n      item.label[xyDim] += delta;\n    }\n  } // Squeeze gaps if the labels exceed margin.\n\n\n  function squeezeGaps(delta, maxSqeezePercent) {\n    var gaps = [];\n    var totalGaps = 0;\n\n    for (var i = 1; i < len; i++) {\n      var prevItemRect = list[i - 1].rect;\n      var gap = Math.max(list[i].rect[xyDim] - prevItemRect[xyDim] - prevItemRect[sizeDim], 0);\n      gaps.push(gap);\n      totalGaps += gap;\n    }\n\n    if (!totalGaps) {\n      return;\n    }\n\n    var squeezePercent = Math.min(Math.abs(delta) / totalGaps, maxSqeezePercent);\n\n    if (delta > 0) {\n      for (var i = 0; i < len - 1; i++) {\n        // Distribute the shift delta to all gaps.\n        var movement = gaps[i] * squeezePercent; // Forward\n\n        shiftList(movement, 0, i + 1);\n      }\n    } else {\n      // Backward\n      for (var i = len - 1; i > 0; i--) {\n        // Distribute the shift delta to all gaps.\n        var movement = gaps[i - 1] * squeezePercent;\n        shiftList(-movement, i, len);\n      }\n    }\n  }\n  /**\n   * Squeeze to allow overlap if there is no more space available.\n   * Let other overlapping strategy like hideOverlap do the job instead of keep exceeding the bounds.\n   */\n\n\n  function squeezeWhenBailout(delta) {\n    var dir = delta < 0 ? -1 : 1;\n    delta = Math.abs(delta);\n    var moveForEachLabel = Math.ceil(delta / (len - 1));\n\n    for (var i = 0; i < len - 1; i++) {\n      if (dir > 0) {\n        // Forward\n        shiftList(moveForEachLabel, 0, i + 1);\n      } else {\n        // Backward\n        shiftList(-moveForEachLabel, len - i - 1, len);\n      }\n\n      delta -= moveForEachLabel;\n\n      if (delta <= 0) {\n        return;\n      }\n    }\n  }\n\n  return adjusted;\n}\n/**\n * Adjust labels on x direction to avoid overlap.\n */\n\n\nfunction shiftLayoutOnX(list, leftBound, rightBound, // If average the shifts on all labels and add them to 0\n// TODO: Not sure if should enable it.\n// Pros: The angle of lines will distribute more equally\n// Cons: In some layout. It may not what user wanted. like in pie. the label of last sector is usually changed unexpectedly.\nbalanceShift) {\n  return shiftLayout(list, 'x', 'width', leftBound, rightBound, balanceShift);\n}\n/**\n * Adjust labels on y direction to avoid overlap.\n */\n\nfunction shiftLayoutOnY(list, topBound, bottomBound, // If average the shifts on all labels and add them to 0\nbalanceShift) {\n  return shiftLayout(list, 'y', 'height', topBound, bottomBound, balanceShift);\n}\nfunction hideOverlap(labelList) {\n  var displayedLabels = []; // TODO, render overflow visible first, put in the displayedLabels.\n\n  labelList.sort(function (a, b) {\n    return b.priority - a.priority;\n  });\n  var globalRect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"BoundingRect\"](0, 0, 0, 0);\n\n  function hideEl(el) {\n    if (!el.ignore) {\n      // Show on emphasis.\n      var emphasisState = el.ensureState('emphasis');\n\n      if (emphasisState.ignore == null) {\n        emphasisState.ignore = false;\n      }\n    }\n\n    el.ignore = true;\n  }\n\n  for (var i = 0; i < labelList.length; i++) {\n    var labelItem = labelList[i];\n    var isAxisAligned = labelItem.axisAligned;\n    var localRect = labelItem.localRect;\n    var transform = labelItem.transform;\n    var label = labelItem.label;\n    var labelLine = labelItem.labelLine;\n    globalRect.copy(labelItem.rect); // Add a threshold because layout may be aligned precisely.\n\n    globalRect.width -= 0.1;\n    globalRect.height -= 0.1;\n    globalRect.x += 0.05;\n    globalRect.y += 0.05;\n    var obb = labelItem.obb;\n    var overlapped = false;\n\n    for (var j = 0; j < displayedLabels.length; j++) {\n      var existsTextCfg = displayedLabels[j]; // Fast rejection.\n\n      if (!globalRect.intersect(existsTextCfg.rect)) {\n        continue;\n      }\n\n      if (isAxisAligned && existsTextCfg.axisAligned) {\n        // Is overlapped\n        overlapped = true;\n        break;\n      }\n\n      if (!existsTextCfg.obb) {\n        // If self is not axis aligned. But other is.\n        existsTextCfg.obb = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"OrientedBoundingRect\"](existsTextCfg.localRect, existsTextCfg.transform);\n      }\n\n      if (!obb) {\n        // If self is axis aligned. But other is not.\n        obb = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"OrientedBoundingRect\"](localRect, transform);\n      }\n\n      if (obb.intersect(existsTextCfg.obb)) {\n        overlapped = true;\n        break;\n      }\n    } // TODO Callback to determine if this overlap should be handled?\n\n\n    if (overlapped) {\n      hideEl(label);\n      labelLine && hideEl(labelLine);\n    } else {\n      label.attr('ignore', labelItem.defaultAttr.ignore);\n      labelLine && labelLine.attr('ignore', labelItem.defaultAttr.labelGuideIgnore);\n      displayedLabels.push(labelItem);\n    }\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/label/labelLayoutHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/label/labelStyle.js":
/*!******************************************************!*\
  !*** ./node_modules/echarts/lib/label/labelStyle.js ***!
  \******************************************************/
/*! exports provided: setLabelText, setLabelStyle, getLabelStatesModels, createTextStyle, createTextConfig, getFont, labelInner, setLabelValueAnimation, animateLabelValue */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLabelText\", function() { return setLabelText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLabelStyle\", function() { return setLabelStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLabelStatesModels\", function() { return getLabelStatesModels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTextStyle\", function() { return createTextStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTextConfig\", function() { return createTextConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFont\", function() { return getFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelInner\", function() { return labelInner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLabelValueAnimation\", function() { return setLabelValueAnimation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"animateLabelValue\", function() { return animateLabelValue; });\n/* harmony import */ var zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/graphic/Text.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar EMPTY_OBJ = {};\nfunction setLabelText(label, labelTexts) {\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"].length; i++) {\n    var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"][i];\n    var text = labelTexts[stateName];\n    var state = label.ensureState(stateName);\n    state.style = state.style || {};\n    state.style.text = text;\n  }\n\n  var oldStates = label.currentStates.slice();\n  label.clearStates(true);\n  label.setStyle({\n    text: labelTexts.normal\n  });\n  label.useStates(oldStates, true);\n}\n\nfunction getLabelText(opt, stateModels, interpolatedValue) {\n  var labelFetcher = opt.labelFetcher;\n  var labelDataIndex = opt.labelDataIndex;\n  var labelDimIndex = opt.labelDimIndex;\n  var normalModel = stateModels.normal;\n  var baseText;\n\n  if (labelFetcher) {\n    baseText = labelFetcher.getFormattedLabel(labelDataIndex, 'normal', null, labelDimIndex, normalModel && normalModel.get('formatter'), interpolatedValue != null ? {\n      interpolatedValue: interpolatedValue\n    } : null);\n  }\n\n  if (baseText == null) {\n    baseText = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(opt.defaultText) ? opt.defaultText(labelDataIndex, opt, interpolatedValue) : opt.defaultText;\n  }\n\n  var statesText = {\n    normal: baseText\n  };\n\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"].length; i++) {\n    var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"][i];\n    var stateModel = stateModels[stateName];\n    statesText[stateName] = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, stateName, null, labelDimIndex, stateModel && stateModel.get('formatter')) : null, baseText);\n  }\n\n  return statesText;\n}\n\nfunction setLabelStyle(targetEl, labelStatesModels, opt, stateSpecified // TODO specified position?\n) {\n  opt = opt || EMPTY_OBJ;\n  var isSetOnText = targetEl instanceof zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n  var needsCreateText = false;\n\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"DISPLAY_STATES\"].length; i++) {\n    var stateModel = labelStatesModels[_util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"DISPLAY_STATES\"][i]];\n\n    if (stateModel && stateModel.getShallow('show')) {\n      needsCreateText = true;\n      break;\n    }\n  }\n\n  var textContent = isSetOnText ? targetEl : targetEl.getTextContent();\n\n  if (needsCreateText) {\n    if (!isSetOnText) {\n      // Reuse the previous\n      if (!textContent) {\n        textContent = new zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n        targetEl.setTextContent(textContent);\n      } // Use same state proxy\n\n\n      if (targetEl.stateProxy) {\n        textContent.stateProxy = targetEl.stateProxy;\n      }\n    }\n\n    var labelStatesTexts = getLabelText(opt, labelStatesModels);\n    var normalModel = labelStatesModels.normal;\n    var showNormal = !!normalModel.getShallow('show');\n    var normalStyle = createTextStyle(normalModel, stateSpecified && stateSpecified.normal, opt, false, !isSetOnText);\n    normalStyle.text = labelStatesTexts.normal;\n\n    if (!isSetOnText) {\n      // Always create new\n      targetEl.setTextConfig(createTextConfig(normalModel, opt, false));\n    }\n\n    for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"].length; i++) {\n      var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"][i];\n      var stateModel = labelStatesModels[stateName];\n\n      if (stateModel) {\n        var stateObj = textContent.ensureState(stateName);\n        var stateShow = !!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(stateModel.getShallow('show'), showNormal);\n\n        if (stateShow !== showNormal) {\n          stateObj.ignore = !stateShow;\n        }\n\n        stateObj.style = createTextStyle(stateModel, stateSpecified && stateSpecified[stateName], opt, true, !isSetOnText);\n        stateObj.style.text = labelStatesTexts[stateName];\n\n        if (!isSetOnText) {\n          var targetElEmphasisState = targetEl.ensureState(stateName);\n          targetElEmphasisState.textConfig = createTextConfig(stateModel, opt, true);\n        }\n      }\n    } // PENDING: if there is many requirements that emphasis position\n    // need to be different from normal position, we might consider\n    // auto slient is those cases.\n\n\n    textContent.silent = !!normalModel.getShallow('silent'); // Keep x and y\n\n    if (textContent.style.x != null) {\n      normalStyle.x = textContent.style.x;\n    }\n\n    if (textContent.style.y != null) {\n      normalStyle.y = textContent.style.y;\n    }\n\n    textContent.ignore = !showNormal; // Always create new style.\n\n    textContent.useStyle(normalStyle);\n    textContent.dirty();\n\n    if (opt.enableTextSetter) {\n      labelInner(textContent).setLabelText = function (interpolatedValue) {\n        var labelStatesTexts = getLabelText(opt, labelStatesModels, interpolatedValue);\n        setLabelText(textContent, labelStatesTexts);\n      };\n    }\n  } else if (textContent) {\n    // Not display rich text.\n    textContent.ignore = true;\n  }\n\n  targetEl.dirty();\n}\n\n\nfunction getLabelStatesModels(itemModel, labelName) {\n  labelName = labelName || 'label';\n  var statesModels = {\n    normal: itemModel.getModel(labelName)\n  };\n\n  for (var i = 0; i < _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"].length; i++) {\n    var stateName = _util_states_js__WEBPACK_IMPORTED_MODULE_2__[\"SPECIAL_STATES\"][i];\n    statesModels[stateName] = itemModel.getModel([stateName, labelName]);\n  }\n\n  return statesModels;\n}\n/**\n * Set basic textStyle properties.\n */\n\nfunction createTextStyle(textStyleModel, specifiedTextStyle, // Fixed style in the code. Can't be set by model.\nopt, isNotNormal, isAttached // If text is attached on an element. If so, auto color will handling in zrender.\n) {\n  var textStyle = {};\n  setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached);\n  specifiedTextStyle && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(textStyle, specifiedTextStyle); // textStyle.host && textStyle.host.dirty && textStyle.host.dirty(false);\n\n  return textStyle;\n}\nfunction createTextConfig(textStyleModel, opt, isNotNormal) {\n  opt = opt || {};\n  var textConfig = {};\n  var labelPosition;\n  var labelRotate = textStyleModel.getShallow('rotate');\n  var labelDistance = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(textStyleModel.getShallow('distance'), isNotNormal ? null : 5);\n  var labelOffset = textStyleModel.getShallow('offset');\n  labelPosition = textStyleModel.getShallow('position') || (isNotNormal ? null : 'inside'); // 'outside' is not a valid zr textPostion value, but used\n  // in bar series, and magric type should be considered.\n\n  labelPosition === 'outside' && (labelPosition = opt.defaultOutsidePosition || 'top');\n\n  if (labelPosition != null) {\n    textConfig.position = labelPosition;\n  }\n\n  if (labelOffset != null) {\n    textConfig.offset = labelOffset;\n  }\n\n  if (labelRotate != null) {\n    labelRotate *= Math.PI / 180;\n    textConfig.rotation = labelRotate;\n  }\n\n  if (labelDistance != null) {\n    textConfig.distance = labelDistance;\n  } // fill and auto is determined by the color of path fill if it's not specified by developers.\n\n\n  textConfig.outsideFill = textStyleModel.get('color') === 'inherit' ? opt.inheritColor || null : 'auto';\n  return textConfig;\n}\n/**\n * The uniform entry of set text style, that is, retrieve style definitions\n * from `model` and set to `textStyle` object.\n *\n * Never in merge mode, but in overwrite mode, that is, all of the text style\n * properties will be set. (Consider the states of normal and emphasis and\n * default value can be adopted, merge would make the logic too complicated\n * to manage.)\n */\n\nfunction setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached) {\n  // Consider there will be abnormal when merge hover style to normal style if given default value.\n  opt = opt || EMPTY_OBJ;\n  var ecModel = textStyleModel.ecModel;\n  var globalTextStyle = ecModel && ecModel.option.textStyle; // Consider case:\n  // {\n  //     data: [{\n  //         value: 12,\n  //         label: {\n  //             rich: {\n  //                 // no 'a' here but using parent 'a'.\n  //             }\n  //         }\n  //     }],\n  //     rich: {\n  //         a: { ... }\n  //     }\n  // }\n\n  var richItemNames = getRichItemNames(textStyleModel);\n  var richResult;\n\n  if (richItemNames) {\n    richResult = {};\n\n    for (var name_1 in richItemNames) {\n      if (richItemNames.hasOwnProperty(name_1)) {\n        // Cascade is supported in rich.\n        var richTextStyle = textStyleModel.getModel(['rich', name_1]); // In rich, never `disableBox`.\n        // FIXME: consider `label: {formatter: '{a|xx}', color: 'blue', rich: {a: {}}}`,\n        // the default color `'blue'` will not be adopted if no color declared in `rich`.\n        // That might confuses users. So probably we should put `textStyleModel` as the\n        // root ancestor of the `richTextStyle`. But that would be a break change.\n\n        setTokenTextStyle(richResult[name_1] = {}, richTextStyle, globalTextStyle, opt, isNotNormal, isAttached, false, true);\n      }\n    }\n  }\n\n  if (richResult) {\n    textStyle.rich = richResult;\n  }\n\n  var overflow = textStyleModel.get('overflow');\n\n  if (overflow) {\n    textStyle.overflow = overflow;\n  }\n\n  var margin = textStyleModel.get('minMargin');\n\n  if (margin != null) {\n    textStyle.margin = margin;\n  }\n\n  setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, true, false);\n} // Consider case:\n// {\n//     data: [{\n//         value: 12,\n//         label: {\n//             rich: {\n//                 // no 'a' here but using parent 'a'.\n//             }\n//         }\n//     }],\n//     rich: {\n//         a: { ... }\n//     }\n// }\n// TODO TextStyleModel\n\n\nfunction getRichItemNames(textStyleModel) {\n  // Use object to remove duplicated names.\n  var richItemNameMap;\n\n  while (textStyleModel && textStyleModel !== textStyleModel.ecModel) {\n    var rich = (textStyleModel.option || EMPTY_OBJ).rich;\n\n    if (rich) {\n      richItemNameMap = richItemNameMap || {};\n      var richKeys = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(rich);\n\n      for (var i = 0; i < richKeys.length; i++) {\n        var richKey = richKeys[i];\n        richItemNameMap[richKey] = 1;\n      }\n    }\n\n    textStyleModel = textStyleModel.parentModel;\n  }\n\n  return richItemNameMap;\n}\n\nvar TEXT_PROPS_WITH_GLOBAL = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'textShadowColor', 'textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY'];\nvar TEXT_PROPS_SELF = ['align', 'lineHeight', 'width', 'height', 'tag', 'verticalAlign'];\nvar TEXT_PROPS_BOX = ['padding', 'borderWidth', 'borderRadius', 'borderDashOffset', 'backgroundColor', 'borderColor', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n\nfunction setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, isBlock, inRich) {\n  // In merge mode, default value should not be given.\n  globalTextStyle = !isNotNormal && globalTextStyle || EMPTY_OBJ;\n  var inheritColor = opt && opt.inheritColor;\n  var fillColor = textStyleModel.getShallow('color');\n  var strokeColor = textStyleModel.getShallow('textBorderColor');\n  var opacity = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(textStyleModel.getShallow('opacity'), globalTextStyle.opacity);\n\n  if (fillColor === 'inherit' || fillColor === 'auto') {\n    if (true) {\n      if (fillColor === 'auto') {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('color: \\'auto\\'', 'color: \\'inherit\\'');\n      }\n    }\n\n    if (inheritColor) {\n      fillColor = inheritColor;\n    } else {\n      fillColor = null;\n    }\n  }\n\n  if (strokeColor === 'inherit' || strokeColor === 'auto') {\n    if (true) {\n      if (strokeColor === 'auto') {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('color: \\'auto\\'', 'color: \\'inherit\\'');\n      }\n    }\n\n    if (inheritColor) {\n      strokeColor = inheritColor;\n    } else {\n      strokeColor = null;\n    }\n  }\n\n  if (!isAttached) {\n    // Only use default global textStyle.color if text is individual.\n    // Otherwise it will use the strategy of attached text color because text may be on a path.\n    fillColor = fillColor || globalTextStyle.color;\n    strokeColor = strokeColor || globalTextStyle.textBorderColor;\n  }\n\n  if (fillColor != null) {\n    textStyle.fill = fillColor;\n  }\n\n  if (strokeColor != null) {\n    textStyle.stroke = strokeColor;\n  }\n\n  var textBorderWidth = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(textStyleModel.getShallow('textBorderWidth'), globalTextStyle.textBorderWidth);\n\n  if (textBorderWidth != null) {\n    textStyle.lineWidth = textBorderWidth;\n  }\n\n  var textBorderType = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(textStyleModel.getShallow('textBorderType'), globalTextStyle.textBorderType);\n\n  if (textBorderType != null) {\n    textStyle.lineDash = textBorderType;\n  }\n\n  var textBorderDashOffset = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(textStyleModel.getShallow('textBorderDashOffset'), globalTextStyle.textBorderDashOffset);\n\n  if (textBorderDashOffset != null) {\n    textStyle.lineDashOffset = textBorderDashOffset;\n  }\n\n  if (!isNotNormal && opacity == null && !inRich) {\n    opacity = opt && opt.defaultOpacity;\n  }\n\n  if (opacity != null) {\n    textStyle.opacity = opacity;\n  } // TODO\n\n\n  if (!isNotNormal && !isAttached) {\n    // Set default finally.\n    if (textStyle.fill == null && opt.inheritColor) {\n      textStyle.fill = opt.inheritColor;\n    }\n  } // Do not use `getFont` here, because merge should be supported, where\n  // part of these properties may be changed in emphasis style, and the\n  // others should remain their original value got from normal style.\n\n\n  for (var i = 0; i < TEXT_PROPS_WITH_GLOBAL.length; i++) {\n    var key = TEXT_PROPS_WITH_GLOBAL[i];\n    var val = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(textStyleModel.getShallow(key), globalTextStyle[key]);\n\n    if (val != null) {\n      textStyle[key] = val;\n    }\n  }\n\n  for (var i = 0; i < TEXT_PROPS_SELF.length; i++) {\n    var key = TEXT_PROPS_SELF[i];\n    var val = textStyleModel.getShallow(key);\n\n    if (val != null) {\n      textStyle[key] = val;\n    }\n  }\n\n  if (textStyle.verticalAlign == null) {\n    var baseline = textStyleModel.getShallow('baseline');\n\n    if (baseline != null) {\n      textStyle.verticalAlign = baseline;\n    }\n  }\n\n  if (!isBlock || !opt.disableBox) {\n    for (var i = 0; i < TEXT_PROPS_BOX.length; i++) {\n      var key = TEXT_PROPS_BOX[i];\n      var val = textStyleModel.getShallow(key);\n\n      if (val != null) {\n        textStyle[key] = val;\n      }\n    }\n\n    var borderType = textStyleModel.getShallow('borderType');\n\n    if (borderType != null) {\n      textStyle.borderDash = borderType;\n    }\n\n    if ((textStyle.backgroundColor === 'auto' || textStyle.backgroundColor === 'inherit') && inheritColor) {\n      if (true) {\n        if (textStyle.backgroundColor === 'auto') {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('backgroundColor: \\'auto\\'', 'backgroundColor: \\'inherit\\'');\n        }\n      }\n\n      textStyle.backgroundColor = inheritColor;\n    }\n\n    if ((textStyle.borderColor === 'auto' || textStyle.borderColor === 'inherit') && inheritColor) {\n      if (true) {\n        if (textStyle.borderColor === 'auto') {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('borderColor: \\'auto\\'', 'borderColor: \\'inherit\\'');\n        }\n      }\n\n      textStyle.borderColor = inheritColor;\n    }\n  }\n}\n\nfunction getFont(opt, ecModel) {\n  var gTextStyleModel = ecModel && ecModel.getModel('textStyle');\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])([// FIXME in node-canvas fontWeight is before fontStyle\n  opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow('fontStyle') || '', opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow('fontWeight') || '', (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow('fontSize') || 12) + 'px', opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow('fontFamily') || 'sans-serif'].join(' '));\n}\nvar labelInner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"makeInner\"])();\nfunction setLabelValueAnimation(label, labelStatesModels, value, getDefaultText) {\n  if (!label) {\n    return;\n  }\n\n  var obj = labelInner(label);\n  obj.prevValue = obj.value;\n  obj.value = value;\n  var normalLabelModel = labelStatesModels.normal;\n  obj.valueAnimation = normalLabelModel.get('valueAnimation');\n\n  if (obj.valueAnimation) {\n    obj.precision = normalLabelModel.get('precision');\n    obj.defaultInterpolatedText = getDefaultText;\n    obj.statesModels = labelStatesModels;\n  }\n}\nfunction animateLabelValue(textEl, dataIndex, data, animatableModel, labelFetcher) {\n  var labelInnerStore = labelInner(textEl);\n\n  if (!labelInnerStore.valueAnimation || labelInnerStore.prevValue === labelInnerStore.value) {\n    // Value not changed, no new label animation\n    return;\n  }\n\n  var defaultInterpolatedText = labelInnerStore.defaultInterpolatedText; // Consider the case that being animating, do not use the `obj.value`,\n  // Otherwise it will jump to the `obj.value` when this new animation started.\n\n  var currValue = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(labelInnerStore.interpolatedValue, labelInnerStore.prevValue);\n  var targetValue = labelInnerStore.value;\n\n  function during(percent) {\n    var interpolated = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"interpolateRawValues\"])(data, labelInnerStore.precision, currValue, targetValue, percent);\n    labelInnerStore.interpolatedValue = percent === 1 ? null : interpolated;\n    var labelText = getLabelText({\n      labelDataIndex: dataIndex,\n      labelFetcher: labelFetcher,\n      defaultText: defaultInterpolatedText ? defaultInterpolatedText(interpolated) : interpolated + ''\n    }, labelInnerStore.statesModels, interpolated);\n    setLabelText(textEl, labelText);\n  }\n\n  textEl.percent = 0;\n  (labelInnerStore.prevValue == null ? _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"initProps\"] : _util_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"updateProps\"])(textEl, {\n    // percent is used to prevent animation from being aborted #15916\n    percent: 1\n  }, animatableModel, dataIndex, null, during);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/label/labelStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/label/sectorLabel.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/label/sectorLabel.js ***!
  \*******************************************************/
/*! exports provided: createSectorCalculateTextPosition, setSectorTextRotation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSectorCalculateTextPosition\", function() { return createSectorCalculateTextPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setSectorTextRotation\", function() { return setSectorTextRotation; });\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nfunction createSectorCalculateTextPosition(positionMapping, opts) {\n  opts = opts || {};\n  var isRoundCap = opts.isRoundCap;\n  return function (out, opts, boundingRect) {\n    var textPosition = opts.position;\n\n    if (!textPosition || textPosition instanceof Array) {\n      return Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_0__[\"calculateTextPosition\"])(out, opts, boundingRect);\n    }\n\n    var mappedSectorPosition = positionMapping(textPosition);\n    var distance = opts.distance != null ? opts.distance : 5;\n    var sector = this.shape;\n    var cx = sector.cx;\n    var cy = sector.cy;\n    var r = sector.r;\n    var r0 = sector.r0;\n    var middleR = (r + r0) / 2;\n    var startAngle = sector.startAngle;\n    var endAngle = sector.endAngle;\n    var middleAngle = (startAngle + endAngle) / 2;\n    var extraDist = isRoundCap ? Math.abs(r - r0) / 2 : 0;\n    var mathCos = Math.cos;\n    var mathSin = Math.sin; // base position: top-left\n\n    var x = cx + r * mathCos(startAngle);\n    var y = cy + r * mathSin(startAngle);\n    var textAlign = 'left';\n    var textVerticalAlign = 'top';\n\n    switch (mappedSectorPosition) {\n      case 'startArc':\n        x = cx + (r0 - distance) * mathCos(middleAngle);\n        y = cy + (r0 - distance) * mathSin(middleAngle);\n        textAlign = 'center';\n        textVerticalAlign = 'top';\n        break;\n\n      case 'insideStartArc':\n        x = cx + (r0 + distance) * mathCos(middleAngle);\n        y = cy + (r0 + distance) * mathSin(middleAngle);\n        textAlign = 'center';\n        textVerticalAlign = 'bottom';\n        break;\n\n      case 'startAngle':\n        x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, distance + extraDist, false);\n        y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, distance + extraDist, false);\n        textAlign = 'right';\n        textVerticalAlign = 'middle';\n        break;\n\n      case 'insideStartAngle':\n        x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, -distance + extraDist, false);\n        y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, -distance + extraDist, false);\n        textAlign = 'left';\n        textVerticalAlign = 'middle';\n        break;\n\n      case 'middle':\n        x = cx + middleR * mathCos(middleAngle);\n        y = cy + middleR * mathSin(middleAngle);\n        textAlign = 'center';\n        textVerticalAlign = 'middle';\n        break;\n\n      case 'endArc':\n        x = cx + (r + distance) * mathCos(middleAngle);\n        y = cy + (r + distance) * mathSin(middleAngle);\n        textAlign = 'center';\n        textVerticalAlign = 'bottom';\n        break;\n\n      case 'insideEndArc':\n        x = cx + (r - distance) * mathCos(middleAngle);\n        y = cy + (r - distance) * mathSin(middleAngle);\n        textAlign = 'center';\n        textVerticalAlign = 'top';\n        break;\n\n      case 'endAngle':\n        x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, distance + extraDist, true);\n        y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, distance + extraDist, true);\n        textAlign = 'left';\n        textVerticalAlign = 'middle';\n        break;\n\n      case 'insideEndAngle':\n        x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, -distance + extraDist, true);\n        y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, -distance + extraDist, true);\n        textAlign = 'right';\n        textVerticalAlign = 'middle';\n        break;\n\n      default:\n        return Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_0__[\"calculateTextPosition\"])(out, opts, boundingRect);\n    }\n\n    out = out || {};\n    out.x = x;\n    out.y = y;\n    out.align = textAlign;\n    out.verticalAlign = textVerticalAlign;\n    return out;\n  };\n}\nfunction setSectorTextRotation(sector, textPosition, positionMapping, rotateType) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isNumber\"])(rotateType)) {\n    // user-set rotation\n    sector.setTextConfig({\n      rotation: rotateType\n    });\n    return;\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(textPosition)) {\n    // user-set position, use 0 as auto rotation\n    sector.setTextConfig({\n      rotation: 0\n    });\n    return;\n  }\n\n  var shape = sector.shape;\n  var startAngle = shape.clockwise ? shape.startAngle : shape.endAngle;\n  var endAngle = shape.clockwise ? shape.endAngle : shape.startAngle;\n  var middleAngle = (startAngle + endAngle) / 2;\n  var anchorAngle;\n  var mappedSectorPosition = positionMapping(textPosition);\n\n  switch (mappedSectorPosition) {\n    case 'startArc':\n    case 'insideStartArc':\n    case 'middle':\n    case 'insideEndArc':\n    case 'endArc':\n      anchorAngle = middleAngle;\n      break;\n\n    case 'startAngle':\n    case 'insideStartAngle':\n      anchorAngle = startAngle;\n      break;\n\n    case 'endAngle':\n    case 'insideEndAngle':\n      anchorAngle = endAngle;\n      break;\n\n    default:\n      sector.setTextConfig({\n        rotation: 0\n      });\n      return;\n  }\n\n  var rotate = Math.PI * 1.5 - anchorAngle;\n  /**\n   * TODO: labels with rotate > Math.PI / 2 should be rotate another\n   * half round flipped to increase readability. However, only middle\n   * position supports this for now, because in other positions, the\n   * anchor point is not at the center of the text, so the positions\n   * after rotating is not as expected.\n   */\n\n  if (mappedSectorPosition === 'middle' && rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n    rotate -= Math.PI;\n  }\n\n  sector.setTextConfig({\n    rotation: rotate\n  });\n}\n\nfunction adjustAngleDistanceX(angle, distance, isEnd) {\n  return distance * Math.sin(angle) * (isEnd ? -1 : 1);\n}\n\nfunction adjustAngleDistanceY(angle, distance, isEnd) {\n  return distance * Math.cos(angle) * (isEnd ? 1 : -1);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/label/sectorLabel.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/layout/barGrid.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/layout/barGrid.js ***!
  \****************************************************/
/*! exports provided: getLayoutOnAxis, prepareLayoutBarSeries, makeColumnLayout, retrieveColumnLayout, layout, createProgressiveLayout */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLayoutOnAxis\", function() { return getLayoutOnAxis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepareLayoutBarSeries\", function() { return prepareLayoutBarSeries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeColumnLayout\", function() { return makeColumnLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieveColumnLayout\", function() { return retrieveColumnLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layout\", function() { return layout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createProgressiveLayout\", function() { return createProgressiveLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var _chart_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../chart/helper/createRenderPlanner.js */ \"./node_modules/echarts/lib/chart/helper/createRenderPlanner.js\");\n/* harmony import */ var _util_vendor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/vendor.js */ \"./node_modules/echarts/lib/util/vendor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar STACK_PREFIX = '__ec_stack_';\n\nfunction getSeriesStackId(seriesModel) {\n  return seriesModel.get('stack') || STACK_PREFIX + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(axis) {\n  return axis.dim + axis.index;\n}\n/**\n * @return {Object} {width, offset, offsetCenter} If axis.type is not 'category', return undefined.\n */\n\n\nfunction getLayoutOnAxis(opt) {\n  var params = [];\n  var baseAxis = opt.axis;\n  var axisKey = 'axis0';\n\n  if (baseAxis.type !== 'category') {\n    return;\n  }\n\n  var bandWidth = baseAxis.getBandWidth();\n\n  for (var i = 0; i < opt.count || 0; i++) {\n    params.push(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])({\n      bandWidth: bandWidth,\n      axisKey: axisKey,\n      stackId: STACK_PREFIX + i\n    }, opt));\n  }\n\n  var widthAndOffsets = doCalBarWidthAndOffset(params);\n  var result = [];\n\n  for (var i = 0; i < opt.count; i++) {\n    var item = widthAndOffsets[axisKey][STACK_PREFIX + i];\n    item.offsetCenter = item.offset + item.width / 2;\n    result.push(item);\n  }\n\n  return result;\n}\nfunction prepareLayoutBarSeries(seriesType, ecModel) {\n  var seriesModels = [];\n  ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n    // Check series coordinate, do layout for cartesian2d only\n    if (isOnCartesian(seriesModel)) {\n      seriesModels.push(seriesModel);\n    }\n  });\n  return seriesModels;\n}\n/**\n * Map from (baseAxis.dim + '_' + baseAxis.index) to min gap of two adjacent\n * values.\n * This works for time axes, value axes, and log axes.\n * For a single time axis, return value is in the form like\n * {'x_0': [1000000]}.\n * The value of 1000000 is in milliseconds.\n */\n\nfunction getValueAxesMinGaps(barSeries) {\n  /**\n   * Map from axis.index to values.\n   * For a single time axis, axisValues is in the form like\n   * {'x_0': [1495555200000, 1495641600000, 1495728000000]}.\n   * Items in axisValues[x], e.g. 1495555200000, are time values of all\n   * series.\n   */\n  var axisValues = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(barSeries, function (seriesModel) {\n    var cartesian = seriesModel.coordinateSystem;\n    var baseAxis = cartesian.getBaseAxis();\n\n    if (baseAxis.type !== 'time' && baseAxis.type !== 'value') {\n      return;\n    }\n\n    var data = seriesModel.getData();\n    var key = baseAxis.dim + '_' + baseAxis.index;\n    var dimIdx = data.getDimensionIndex(data.mapDimension(baseAxis.dim));\n    var store = data.getStore();\n\n    for (var i = 0, cnt = store.count(); i < cnt; ++i) {\n      var value = store.get(dimIdx, i);\n\n      if (!axisValues[key]) {\n        // No previous data for the axis\n        axisValues[key] = [value];\n      } else {\n        // No value in previous series\n        axisValues[key].push(value);\n      } // Ignore duplicated time values in the same axis\n\n    }\n  });\n  var axisMinGaps = {};\n\n  for (var key in axisValues) {\n    if (axisValues.hasOwnProperty(key)) {\n      var valuesInAxis = axisValues[key];\n\n      if (valuesInAxis) {\n        // Sort axis values into ascending order to calculate gaps\n        valuesInAxis.sort(function (a, b) {\n          return a - b;\n        });\n        var min = null;\n\n        for (var j = 1; j < valuesInAxis.length; ++j) {\n          var delta = valuesInAxis[j] - valuesInAxis[j - 1];\n\n          if (delta > 0) {\n            // Ignore 0 delta because they are of the same axis value\n            min = min === null ? delta : Math.min(min, delta);\n          }\n        } // Set to null if only have one data\n\n\n        axisMinGaps[key] = min;\n      }\n    }\n  }\n\n  return axisMinGaps;\n}\n\nfunction makeColumnLayout(barSeries) {\n  var axisMinGaps = getValueAxesMinGaps(barSeries);\n  var seriesInfoList = [];\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(barSeries, function (seriesModel) {\n    var cartesian = seriesModel.coordinateSystem;\n    var baseAxis = cartesian.getBaseAxis();\n    var axisExtent = baseAxis.getExtent();\n    var bandWidth;\n\n    if (baseAxis.type === 'category') {\n      bandWidth = baseAxis.getBandWidth();\n    } else if (baseAxis.type === 'value' || baseAxis.type === 'time') {\n      var key = baseAxis.dim + '_' + baseAxis.index;\n      var minGap = axisMinGaps[key];\n      var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);\n      var scale = baseAxis.scale.getExtent();\n      var scaleSpan = Math.abs(scale[1] - scale[0]);\n      bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan; // When there is only one data value\n    } else {\n      var data = seriesModel.getData();\n      bandWidth = Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\n    }\n\n    var barWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('barWidth'), bandWidth);\n    var barMaxWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('barMaxWidth'), bandWidth);\n    var barMinWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])( // barMinWidth by default is 0.5 / 1 in cartesian. Because in value axis,\n    // the auto-calculated bar width might be less than 0.5 / 1.\n    seriesModel.get('barMinWidth') || (isInLargeMode(seriesModel) ? 0.5 : 1), bandWidth);\n    var barGap = seriesModel.get('barGap');\n    var barCategoryGap = seriesModel.get('barCategoryGap');\n    seriesInfoList.push({\n      bandWidth: bandWidth,\n      barWidth: barWidth,\n      barMaxWidth: barMaxWidth,\n      barMinWidth: barMinWidth,\n      barGap: barGap,\n      barCategoryGap: barCategoryGap,\n      axisKey: getAxisKey(baseAxis),\n      stackId: getSeriesStackId(seriesModel)\n    });\n  });\n  return doCalBarWidthAndOffset(seriesInfoList);\n}\n\nfunction doCalBarWidthAndOffset(seriesInfoList) {\n  // Columns info on each category axis. Key is cartesian name\n  var columnsMap = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(seriesInfoList, function (seriesInfo, idx) {\n    var axisKey = seriesInfo.axisKey;\n    var bandWidth = seriesInfo.bandWidth;\n    var columnsOnAxis = columnsMap[axisKey] || {\n      bandWidth: bandWidth,\n      remainedWidth: bandWidth,\n      autoWidthCount: 0,\n      categoryGap: null,\n      gap: '20%',\n      stacks: {}\n    };\n    var stacks = columnsOnAxis.stacks;\n    columnsMap[axisKey] = columnsOnAxis;\n    var stackId = seriesInfo.stackId;\n\n    if (!stacks[stackId]) {\n      columnsOnAxis.autoWidthCount++;\n    }\n\n    stacks[stackId] = stacks[stackId] || {\n      width: 0,\n      maxWidth: 0\n    }; // Caution: In a single coordinate system, these barGrid attributes\n    // will be shared by series. Consider that they have default values,\n    // only the attributes set on the last series will work.\n    // Do not change this fact unless there will be a break change.\n\n    var barWidth = seriesInfo.barWidth;\n\n    if (barWidth && !stacks[stackId].width) {\n      // See #6312, do not restrict width.\n      stacks[stackId].width = barWidth;\n      barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n      columnsOnAxis.remainedWidth -= barWidth;\n    }\n\n    var barMaxWidth = seriesInfo.barMaxWidth;\n    barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n    var barMinWidth = seriesInfo.barMinWidth;\n    barMinWidth && (stacks[stackId].minWidth = barMinWidth);\n    var barGap = seriesInfo.barGap;\n    barGap != null && (columnsOnAxis.gap = barGap);\n    var barCategoryGap = seriesInfo.barCategoryGap;\n    barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n  });\n  var result = {};\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(columnsMap, function (columnsOnAxis, coordSysName) {\n    result[coordSysName] = {};\n    var stacks = columnsOnAxis.stacks;\n    var bandWidth = columnsOnAxis.bandWidth;\n    var categoryGapPercent = columnsOnAxis.categoryGap;\n\n    if (categoryGapPercent == null) {\n      var columnCount = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(stacks).length; // More columns in one group\n      // the spaces between group is smaller. Or the column will be too thin.\n\n      categoryGapPercent = Math.max(35 - columnCount * 4, 15) + '%';\n    }\n\n    var categoryGap = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(categoryGapPercent, bandWidth);\n    var barGapPercent = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(columnsOnAxis.gap, 1);\n    var remainedWidth = columnsOnAxis.remainedWidth;\n    var autoWidthCount = columnsOnAxis.autoWidthCount;\n    var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n    autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(stacks, function (column) {\n      var maxWidth = column.maxWidth;\n      var minWidth = column.minWidth;\n\n      if (!column.width) {\n        var finalWidth = autoWidth;\n\n        if (maxWidth && maxWidth < finalWidth) {\n          finalWidth = Math.min(maxWidth, remainedWidth);\n        } // `minWidth` has higher priority. `minWidth` decide that wheter the\n        // bar is able to be visible. So `minWidth` should not be restricted\n        // by `maxWidth` or `remainedWidth` (which is from `bandWidth`). In\n        // the extreme cases for `value` axis, bars are allowed to overlap\n        // with each other if `minWidth` specified.\n\n\n        if (minWidth && minWidth > finalWidth) {\n          finalWidth = minWidth;\n        }\n\n        if (finalWidth !== autoWidth) {\n          column.width = finalWidth;\n          remainedWidth -= finalWidth + barGapPercent * finalWidth;\n          autoWidthCount--;\n        }\n      } else {\n        // `barMinWidth/barMaxWidth` has higher priority than `barWidth`, as\n        // CSS does. Becuase barWidth can be a percent value, where\n        // `barMaxWidth` can be used to restrict the final width.\n        var finalWidth = column.width;\n\n        if (maxWidth) {\n          finalWidth = Math.min(finalWidth, maxWidth);\n        } // `minWidth` has higher priority, as described above\n\n\n        if (minWidth) {\n          finalWidth = Math.max(finalWidth, minWidth);\n        }\n\n        column.width = finalWidth;\n        remainedWidth -= finalWidth + barGapPercent * finalWidth;\n        autoWidthCount--;\n      }\n    }); // Recalculate width again\n\n    autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n    autoWidth = Math.max(autoWidth, 0);\n    var widthSum = 0;\n    var lastColumn;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(stacks, function (column, idx) {\n      if (!column.width) {\n        column.width = autoWidth;\n      }\n\n      lastColumn = column;\n      widthSum += column.width * (1 + barGapPercent);\n    });\n\n    if (lastColumn) {\n      widthSum -= lastColumn.width * barGapPercent;\n    }\n\n    var offset = -widthSum / 2;\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(stacks, function (column, stackId) {\n      result[coordSysName][stackId] = result[coordSysName][stackId] || {\n        bandWidth: bandWidth,\n        offset: offset,\n        width: column.width\n      };\n      offset += column.width * (1 + barGapPercent);\n    });\n  });\n  return result;\n}\n\nfunction retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {\n  if (barWidthAndOffset && axis) {\n    var result = barWidthAndOffset[getAxisKey(axis)];\n\n    if (result != null && seriesModel != null) {\n      return result[getSeriesStackId(seriesModel)];\n    }\n\n    return result;\n  }\n}\n\n\nfunction layout(seriesType, ecModel) {\n  var seriesModels = prepareLayoutBarSeries(seriesType, ecModel);\n  var barWidthAndOffset = makeColumnLayout(seriesModels);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(seriesModels, function (seriesModel) {\n    var data = seriesModel.getData();\n    var cartesian = seriesModel.coordinateSystem;\n    var baseAxis = cartesian.getBaseAxis();\n    var stackId = getSeriesStackId(seriesModel);\n    var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];\n    var columnOffset = columnLayoutInfo.offset;\n    var columnWidth = columnLayoutInfo.width;\n    data.setLayout({\n      bandWidth: columnLayoutInfo.bandWidth,\n      offset: columnOffset,\n      size: columnWidth\n    });\n  });\n} // TODO: Do not support stack in large mode yet.\n\nfunction createProgressiveLayout(seriesType) {\n  return {\n    seriesType: seriesType,\n    plan: Object(_chart_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(),\n    reset: function (seriesModel) {\n      if (!isOnCartesian(seriesModel)) {\n        return;\n      }\n\n      var data = seriesModel.getData();\n      var cartesian = seriesModel.coordinateSystem;\n      var baseAxis = cartesian.getBaseAxis();\n      var valueAxis = cartesian.getOtherAxis(baseAxis);\n      var valueDimIdx = data.getDimensionIndex(data.mapDimension(valueAxis.dim));\n      var baseDimIdx = data.getDimensionIndex(data.mapDimension(baseAxis.dim));\n      var drawBackground = seriesModel.get('showBackground', true);\n      var valueDim = data.mapDimension(valueAxis.dim);\n      var stackResultDim = data.getCalculationInfo('stackResultDimension');\n      var stacked = Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"isDimensionStacked\"])(data, valueDim) && !!data.getCalculationInfo('stackedOnSeries');\n      var isValueAxisH = valueAxis.isHorizontal();\n      var valueAxisStart = getValueAxisStart(baseAxis, valueAxis);\n      var isLarge = isInLargeMode(seriesModel);\n      var barMinHeight = seriesModel.get('barMinHeight') || 0;\n      var stackedDimIdx = stackResultDim && data.getDimensionIndex(stackResultDim); // Layout info.\n\n      var columnWidth = data.getLayout('size');\n      var columnOffset = data.getLayout('offset');\n      return {\n        progress: function (params, data) {\n          var count = params.count;\n          var largePoints = isLarge && Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_4__[\"createFloat32Array\"])(count * 3);\n          var largeBackgroundPoints = isLarge && drawBackground && Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_4__[\"createFloat32Array\"])(count * 3);\n          var largeDataIndices = isLarge && Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_4__[\"createFloat32Array\"])(count);\n          var coordLayout = cartesian.master.getRect();\n          var bgSize = isValueAxisH ? coordLayout.width : coordLayout.height;\n          var dataIndex;\n          var store = data.getStore();\n          var idxOffset = 0;\n\n          while ((dataIndex = params.next()) != null) {\n            var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex);\n            var baseValue = store.get(baseDimIdx, dataIndex);\n            var baseCoord = valueAxisStart;\n            var startValue = void 0; // Because of the barMinHeight, we can not use the value in\n            // stackResultDimension directly.\n\n            if (stacked) {\n              startValue = +value - store.get(valueDimIdx, dataIndex);\n            }\n\n            var x = void 0;\n            var y = void 0;\n            var width = void 0;\n            var height = void 0;\n\n            if (isValueAxisH) {\n              var coord = cartesian.dataToPoint([value, baseValue]);\n\n              if (stacked) {\n                var startCoord = cartesian.dataToPoint([startValue, baseValue]);\n                baseCoord = startCoord[0];\n              }\n\n              x = baseCoord;\n              y = coord[1] + columnOffset;\n              width = coord[0] - baseCoord;\n              height = columnWidth;\n\n              if (Math.abs(width) < barMinHeight) {\n                width = (width < 0 ? -1 : 1) * barMinHeight;\n              }\n            } else {\n              var coord = cartesian.dataToPoint([baseValue, value]);\n\n              if (stacked) {\n                var startCoord = cartesian.dataToPoint([baseValue, startValue]);\n                baseCoord = startCoord[1];\n              }\n\n              x = coord[0] + columnOffset;\n              y = baseCoord;\n              width = columnWidth;\n              height = coord[1] - baseCoord;\n\n              if (Math.abs(height) < barMinHeight) {\n                // Include zero to has a positive bar\n                height = (height <= 0 ? -1 : 1) * barMinHeight;\n              }\n            }\n\n            if (!isLarge) {\n              data.setItemLayout(dataIndex, {\n                x: x,\n                y: y,\n                width: width,\n                height: height\n              });\n            } else {\n              largePoints[idxOffset] = x;\n              largePoints[idxOffset + 1] = y;\n              largePoints[idxOffset + 2] = isValueAxisH ? width : height;\n\n              if (largeBackgroundPoints) {\n                largeBackgroundPoints[idxOffset] = isValueAxisH ? coordLayout.x : x;\n                largeBackgroundPoints[idxOffset + 1] = isValueAxisH ? y : coordLayout.y;\n                largeBackgroundPoints[idxOffset + 2] = bgSize;\n              }\n\n              largeDataIndices[dataIndex] = dataIndex;\n            }\n\n            idxOffset += 3;\n          }\n\n          if (isLarge) {\n            data.setLayout({\n              largePoints: largePoints,\n              largeDataIndices: largeDataIndices,\n              largeBackgroundPoints: largeBackgroundPoints,\n              valueAxisHorizontal: isValueAxisH\n            });\n          }\n        }\n      };\n    }\n  };\n}\n\nfunction isOnCartesian(seriesModel) {\n  return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'cartesian2d';\n}\n\nfunction isInLargeMode(seriesModel) {\n  return seriesModel.pipelineContext && seriesModel.pipelineContext.large;\n} // See cases in `test/bar-start.html` and `#7412`, `#8747`.\n\n\nfunction getValueAxisStart(baseAxis, valueAxis) {\n  return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0));\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/layout/barGrid.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/layout/barPolar.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/layout/barPolar.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction getSeriesStackId(seriesModel) {\n  return seriesModel.get('stack') || '__ec_stack_' + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(polar, axis) {\n  return axis.dim + polar.model.componentIndex;\n}\n\nfunction barLayoutPolar(seriesType, ecModel, api) {\n  var lastStackCoords = {};\n  var barWidthAndOffset = calRadialBar(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"filter\"](ecModel.getSeriesByType(seriesType), function (seriesModel) {\n    return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'polar';\n  }));\n  ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n    // Check series coordinate, do layout for polar only\n    if (seriesModel.coordinateSystem.type !== 'polar') {\n      return;\n    }\n\n    var data = seriesModel.getData();\n    var polar = seriesModel.coordinateSystem;\n    var baseAxis = polar.getBaseAxis();\n    var axisKey = getAxisKey(polar, baseAxis);\n    var stackId = getSeriesStackId(seriesModel);\n    var columnLayoutInfo = barWidthAndOffset[axisKey][stackId];\n    var columnOffset = columnLayoutInfo.offset;\n    var columnWidth = columnLayoutInfo.width;\n    var valueAxis = polar.getOtherAxis(baseAxis);\n    var cx = seriesModel.coordinateSystem.cx;\n    var cy = seriesModel.coordinateSystem.cy;\n    var barMinHeight = seriesModel.get('barMinHeight') || 0;\n    var barMinAngle = seriesModel.get('barMinAngle') || 0;\n    lastStackCoords[stackId] = lastStackCoords[stackId] || [];\n    var valueDim = data.mapDimension(valueAxis.dim);\n    var baseDim = data.mapDimension(baseAxis.dim);\n    var stacked = Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"isDimensionStacked\"])(data, valueDim\n    /*, baseDim*/\n    );\n    var clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true);\n    var valueAxisStart = valueAxis.dataToCoord(0);\n\n    for (var idx = 0, len = data.count(); idx < len; idx++) {\n      var value = data.get(valueDim, idx);\n      var baseValue = data.get(baseDim, idx);\n      var sign = value >= 0 ? 'p' : 'n';\n      var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in\n      // stackResultDimension directly.\n      // Only ordinal axis can be stacked.\n\n      if (stacked) {\n        if (!lastStackCoords[stackId][baseValue]) {\n          lastStackCoords[stackId][baseValue] = {\n            p: valueAxisStart,\n            n: valueAxisStart // Negative stack\n\n          };\n        } // Should also consider #4243\n\n\n        baseCoord = lastStackCoords[stackId][baseValue][sign];\n      }\n\n      var r0 = void 0;\n      var r = void 0;\n      var startAngle = void 0;\n      var endAngle = void 0; // radial sector\n\n      if (valueAxis.dim === 'radius') {\n        var radiusSpan = valueAxis.dataToCoord(value) - valueAxisStart;\n        var angle = baseAxis.dataToCoord(baseValue);\n\n        if (Math.abs(radiusSpan) < barMinHeight) {\n          radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;\n        }\n\n        r0 = baseCoord;\n        r = baseCoord + radiusSpan;\n        startAngle = angle - columnOffset;\n        endAngle = startAngle - columnWidth;\n        stacked && (lastStackCoords[stackId][baseValue][sign] = r);\n      } // tangential sector\n      else {\n          var angleSpan = valueAxis.dataToCoord(value, clampLayout) - valueAxisStart;\n          var radius = baseAxis.dataToCoord(baseValue);\n\n          if (Math.abs(angleSpan) < barMinAngle) {\n            angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;\n          }\n\n          r0 = radius + columnOffset;\n          r = r0 + columnWidth;\n          startAngle = baseCoord;\n          endAngle = baseCoord + angleSpan; // if the previous stack is at the end of the ring,\n          // add a round to differentiate it from origin\n          // let extent = angleAxis.getExtent();\n          // let stackCoord = angle;\n          // if (stackCoord === extent[0] && value > 0) {\n          //     stackCoord = extent[1];\n          // }\n          // else if (stackCoord === extent[1] && value < 0) {\n          //     stackCoord = extent[0];\n          // }\n\n          stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);\n        }\n\n      data.setItemLayout(idx, {\n        cx: cx,\n        cy: cy,\n        r0: r0,\n        r: r,\n        // Consider that positive angle is anti-clockwise,\n        // while positive radian of sector is clockwise\n        startAngle: -startAngle * Math.PI / 180,\n        endAngle: -endAngle * Math.PI / 180,\n\n        /**\n         * Keep the same logic with bar in catesion: use end value to\n         * control direction. Notice that if clockwise is true (by\n         * default), the sector will always draw clockwisely, no matter\n         * whether endAngle is greater or less than startAngle.\n         */\n        clockwise: startAngle >= endAngle\n      });\n    }\n  });\n}\n/**\n * Calculate bar width and offset for radial bar charts\n */\n\n\nfunction calRadialBar(barSeries) {\n  // Columns info on each category axis. Key is polar name\n  var columnsMap = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](barSeries, function (seriesModel, idx) {\n    var data = seriesModel.getData();\n    var polar = seriesModel.coordinateSystem;\n    var baseAxis = polar.getBaseAxis();\n    var axisKey = getAxisKey(polar, baseAxis);\n    var axisExtent = baseAxis.getExtent();\n    var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\n    var columnsOnAxis = columnsMap[axisKey] || {\n      bandWidth: bandWidth,\n      remainedWidth: bandWidth,\n      autoWidthCount: 0,\n      categoryGap: '20%',\n      gap: '30%',\n      stacks: {}\n    };\n    var stacks = columnsOnAxis.stacks;\n    columnsMap[axisKey] = columnsOnAxis;\n    var stackId = getSeriesStackId(seriesModel);\n\n    if (!stacks[stackId]) {\n      columnsOnAxis.autoWidthCount++;\n    }\n\n    stacks[stackId] = stacks[stackId] || {\n      width: 0,\n      maxWidth: 0\n    };\n    var barWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('barWidth'), bandWidth);\n    var barMaxWidth = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(seriesModel.get('barMaxWidth'), bandWidth);\n    var barGap = seriesModel.get('barGap');\n    var barCategoryGap = seriesModel.get('barCategoryGap');\n\n    if (barWidth && !stacks[stackId].width) {\n      barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n      stacks[stackId].width = barWidth;\n      columnsOnAxis.remainedWidth -= barWidth;\n    }\n\n    barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n    barGap != null && (columnsOnAxis.gap = barGap);\n    barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n  });\n  var result = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](columnsMap, function (columnsOnAxis, coordSysName) {\n    result[coordSysName] = {};\n    var stacks = columnsOnAxis.stacks;\n    var bandWidth = columnsOnAxis.bandWidth;\n    var categoryGap = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(columnsOnAxis.categoryGap, bandWidth);\n    var barGapPercent = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePercent\"])(columnsOnAxis.gap, 1);\n    var remainedWidth = columnsOnAxis.remainedWidth;\n    var autoWidthCount = columnsOnAxis.autoWidthCount;\n    var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n    autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](stacks, function (column, stack) {\n      var maxWidth = column.maxWidth;\n\n      if (maxWidth && maxWidth < autoWidth) {\n        maxWidth = Math.min(maxWidth, remainedWidth);\n\n        if (column.width) {\n          maxWidth = Math.min(maxWidth, column.width);\n        }\n\n        remainedWidth -= maxWidth;\n        column.width = maxWidth;\n        autoWidthCount--;\n      }\n    }); // Recalculate width again\n\n    autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n    autoWidth = Math.max(autoWidth, 0);\n    var widthSum = 0;\n    var lastColumn;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](stacks, function (column, idx) {\n      if (!column.width) {\n        column.width = autoWidth;\n      }\n\n      lastColumn = column;\n      widthSum += column.width * (1 + barGapPercent);\n    });\n\n    if (lastColumn) {\n      widthSum -= lastColumn.width * barGapPercent;\n    }\n\n    var offset = -widthSum / 2;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](stacks, function (column, stackId) {\n      result[coordSysName][stackId] = result[coordSysName][stackId] || {\n        offset: offset,\n        width: column.width\n      };\n      offset += column.width * (1 + barGapPercent);\n    });\n  });\n  return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (barLayoutPolar);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/layout/barPolar.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/layout/points.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/layout/points.js ***!
  \***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pointsLayout; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _chart_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../chart/helper/createRenderPlanner.js */ \"./node_modules/echarts/lib/chart/helper/createRenderPlanner.js\");\n/* harmony import */ var _data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/helper/dataStackHelper.js */ \"./node_modules/echarts/lib/data/helper/dataStackHelper.js\");\n/* harmony import */ var _util_vendor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/vendor.js */ \"./node_modules/echarts/lib/util/vendor.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nfunction pointsLayout(seriesType, forceStoreInTypedArray) {\n  return {\n    seriesType: seriesType,\n    plan: Object(_chart_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n    reset: function (seriesModel) {\n      var data = seriesModel.getData();\n      var coordSys = seriesModel.coordinateSystem;\n      var pipelineContext = seriesModel.pipelineContext;\n      var useTypedArray = forceStoreInTypedArray || pipelineContext.large;\n\n      if (!coordSys) {\n        return;\n      }\n\n      var dims = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(coordSys.dimensions, function (dim) {\n        return data.mapDimension(dim);\n      }).slice(0, 2);\n      var dimLen = dims.length;\n      var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n      if (Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"isDimensionStacked\"])(data, dims[0])) {\n        dims[0] = stackResultDim;\n      }\n\n      if (Object(_data_helper_dataStackHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"isDimensionStacked\"])(data, dims[1])) {\n        dims[1] = stackResultDim;\n      }\n\n      var store = data.getStore();\n      var dimIdx0 = data.getDimensionIndex(dims[0]);\n      var dimIdx1 = data.getDimensionIndex(dims[1]);\n      return dimLen && {\n        progress: function (params, data) {\n          var segCount = params.end - params.start;\n          var points = useTypedArray && Object(_util_vendor_js__WEBPACK_IMPORTED_MODULE_3__[\"createFloat32Array\"])(segCount * dimLen);\n          var tmpIn = [];\n          var tmpOut = [];\n\n          for (var i = params.start, offset = 0; i < params.end; i++) {\n            var point = void 0;\n\n            if (dimLen === 1) {\n              var x = store.get(dimIdx0, i); // NOTE: Make sure the second parameter is null to use default strategy.\n\n              point = coordSys.dataToPoint(x, null, tmpOut);\n            } else {\n              tmpIn[0] = store.get(dimIdx0, i);\n              tmpIn[1] = store.get(dimIdx1, i); // Let coordinate system to handle the NaN data.\n\n              point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n            }\n\n            if (useTypedArray) {\n              points[offset++] = point[0];\n              points[offset++] = point[1];\n            } else {\n              data.setItemLayout(i, point.slice());\n            }\n          }\n\n          useTypedArray && data.setLayout('points', points);\n        }\n      };\n    }\n  };\n}\n;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/layout/points.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/legacy/dataSelectAction.js":
/*!*************************************************************!*\
  !*** ./node_modules/echarts/lib/legacy/dataSelectAction.js ***!
  \*************************************************************/
/*! exports provided: createLegacyDataSelectAction, handleLegacySelectEvents */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createLegacyDataSelectAction\", function() { return createLegacyDataSelectAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleLegacySelectEvents\", function() { return handleLegacySelectEvents; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n // Legacy data selection action.\n// Inlucdes: pieSelect, pieUnSelect, pieToggleSelect, mapSelect, mapUnSelect, mapToggleSelect\n\nfunction createLegacyDataSelectAction(seriesType, ecRegisterAction) {\n  function getSeriesIndices(ecModel, payload) {\n    var seriesIndices = [];\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: seriesType,\n      query: payload\n    }, function (seriesModel) {\n      seriesIndices.push(seriesModel.seriesIndex);\n    });\n    return seriesIndices;\n  }\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])([[seriesType + 'ToggleSelect', 'toggleSelect'], [seriesType + 'Select', 'select'], [seriesType + 'UnSelect', 'unselect']], function (eventsMap) {\n    ecRegisterAction(eventsMap[0], function (payload, ecModel, api) {\n      payload = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({}, payload);\n\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"deprecateReplaceLog\"])(payload.type, eventsMap[1]);\n      }\n\n      api.dispatchAction(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(payload, {\n        type: eventsMap[1],\n        seriesIndex: getSeriesIndices(ecModel, payload)\n      }));\n    });\n  });\n}\n\nfunction handleSeriesLegacySelectEvents(type, eventPostfix, ecIns, ecModel, payload) {\n  var legacyEventName = type + eventPostfix;\n\n  if (!ecIns.isSilent(legacyEventName)) {\n    if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_1__[\"deprecateLog\"])(\"event \" + legacyEventName + \" is deprecated.\");\n    }\n\n    ecModel.eachComponent({\n      mainType: 'series',\n      subType: 'pie'\n    }, function (seriesModel) {\n      var seriesIndex = seriesModel.seriesIndex;\n      var selectedMap = seriesModel.option.selectedMap;\n      var selected = payload.selected;\n\n      for (var i = 0; i < selected.length; i++) {\n        if (selected[i].seriesIndex === seriesIndex) {\n          var data = seriesModel.getData();\n          var dataIndex = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"queryDataIndex\"])(data, payload.fromActionPayload);\n          ecIns.trigger(legacyEventName, {\n            type: legacyEventName,\n            seriesId: seriesModel.id,\n            name: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(dataIndex) ? data.getName(dataIndex[0]) : data.getName(dataIndex),\n            selected: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(selectedMap) ? selectedMap : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({}, selectedMap)\n          });\n        }\n      }\n    });\n  }\n}\n\nfunction handleLegacySelectEvents(messageCenter, ecIns, api) {\n  messageCenter.on('selectchanged', function (params) {\n    var ecModel = api.getModel();\n\n    if (params.isFromClick) {\n      handleSeriesLegacySelectEvents('map', 'selectchanged', ecIns, ecModel, params);\n      handleSeriesLegacySelectEvents('pie', 'selectchanged', ecIns, ecModel, params);\n    } else if (params.fromAction === 'select') {\n      handleSeriesLegacySelectEvents('map', 'selected', ecIns, ecModel, params);\n      handleSeriesLegacySelectEvents('pie', 'selected', ecIns, ecModel, params);\n    } else if (params.fromAction === 'unselect') {\n      handleSeriesLegacySelectEvents('map', 'unselected', ecIns, ecModel, params);\n      handleSeriesLegacySelectEvents('pie', 'unselected', ecIns, ecModel, params);\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/legacy/dataSelectAction.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/legacy/getTextRect.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/legacy/getTextRect.js ***!
  \********************************************************/
/*! exports provided: getTextRect */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTextRect\", function() { return getTextRect; });\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction getTextRect(text, font, align, verticalAlign, padding, rich, truncate, lineHeight) {\n  var textEl = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]({\n    style: {\n      text: text,\n      font: font,\n      align: align,\n      verticalAlign: verticalAlign,\n      padding: padding,\n      rich: rich,\n      overflow: truncate ? 'truncate' : null,\n      lineHeight: lineHeight\n    }\n  });\n  return textEl.getBoundingRect();\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/legacy/getTextRect.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/loading/default.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/loading/default.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return defaultLoading; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar PI = Math.PI;\n/**\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} [opts]\n * @param {string} [opts.text]\n * @param {string} [opts.color]\n * @param {string} [opts.textColor]\n * @return {module:zrender/Element}\n */\n\nfunction defaultLoading(api, opts) {\n  opts = opts || {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"](opts, {\n    text: 'loading',\n    textColor: '#000',\n    fontSize: 12,\n    fontWeight: 'normal',\n    fontStyle: 'normal',\n    fontFamily: 'sans-serif',\n    maskColor: 'rgba(255, 255, 255, 0.8)',\n    showSpinner: true,\n    color: '#5470c6',\n    spinnerRadius: 10,\n    lineWidth: 5,\n    zlevel: 0\n  });\n  var group = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Group\"]();\n  var mask = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n    style: {\n      fill: opts.maskColor\n    },\n    zlevel: opts.zlevel,\n    z: 10000\n  });\n  group.add(mask);\n  var textContent = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Text\"]({\n    style: {\n      text: opts.text,\n      fill: opts.textColor,\n      fontSize: opts.fontSize,\n      fontWeight: opts.fontWeight,\n      fontStyle: opts.fontStyle,\n      fontFamily: opts.fontFamily\n    },\n    zlevel: opts.zlevel,\n    z: 10001\n  });\n  var labelRect = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"]({\n    style: {\n      fill: 'none'\n    },\n    textContent: textContent,\n    textConfig: {\n      position: 'right',\n      distance: 10\n    },\n    zlevel: opts.zlevel,\n    z: 10001\n  });\n  group.add(labelRect);\n  var arc;\n\n  if (opts.showSpinner) {\n    arc = new _util_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Arc\"]({\n      shape: {\n        startAngle: -PI / 2,\n        endAngle: -PI / 2 + 0.1,\n        r: opts.spinnerRadius\n      },\n      style: {\n        stroke: opts.color,\n        lineCap: 'round',\n        lineWidth: opts.lineWidth\n      },\n      zlevel: opts.zlevel,\n      z: 10001\n    });\n    arc.animateShape(true).when(1000, {\n      endAngle: PI * 3 / 2\n    }).start('circularInOut');\n    arc.animateShape(true).when(1000, {\n      startAngle: PI * 3 / 2\n    }).delay(300).start('circularInOut');\n    group.add(arc);\n  } // Inject resize\n\n\n  group.resize = function () {\n    var textWidth = textContent.getBoundingRect().width;\n    var r = opts.showSpinner ? opts.spinnerRadius : 0; // cx = (containerWidth - arcDiameter - textDistance - textWidth) / 2\n    // textDistance needs to be calculated when both animation and text exist\n\n    var cx = (api.getWidth() - r * 2 - (opts.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 - (opts.showSpinner && textWidth ? 0 : 5 + textWidth / 2) // only show the text\n    + (opts.showSpinner ? 0 : textWidth / 2) // only show the spinner\n    + (textWidth ? 0 : r);\n    var cy = api.getHeight() / 2;\n    opts.showSpinner && arc.setShape({\n      cx: cx,\n      cy: cy\n    });\n    labelRect.setShape({\n      x: cx - r,\n      y: cy - r,\n      width: r * 2,\n      height: r * 2\n    });\n    mask.setShape({\n      x: 0,\n      y: 0,\n      width: api.getWidth(),\n      height: api.getHeight()\n    });\n  };\n\n  group.resize();\n  return group;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/loading/default.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/Component.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/model/Component.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"makeInner\"])();\n\nvar ComponentModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ComponentModel, _super);\n\n  function ComponentModel(option, parentModel, ecModel) {\n    var _this = _super.call(this, option, parentModel, ecModel) || this;\n\n    _this.uid = _util_component_js__WEBPACK_IMPORTED_MODULE_3__[\"getUID\"]('ec_cpt_model');\n    return _this;\n  }\n\n  ComponentModel.prototype.init = function (option, parentModel, ecModel) {\n    this.mergeDefaultAndTheme(option, ecModel);\n  };\n\n  ComponentModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n    var layoutMode = _util_layout_js__WEBPACK_IMPORTED_MODULE_6__[\"fetchLayoutMode\"](this);\n    var inputPositionParams = layoutMode ? _util_layout_js__WEBPACK_IMPORTED_MODULE_6__[\"getLayoutParams\"](option) : {};\n    var themeModel = ecModel.getTheme();\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](option, themeModel.get(this.mainType));\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](option, this.getDefaultOption());\n\n    if (layoutMode) {\n      _util_layout_js__WEBPACK_IMPORTED_MODULE_6__[\"mergeLayoutParam\"](option, inputPositionParams, layoutMode);\n    }\n  };\n\n  ComponentModel.prototype.mergeOption = function (option, ecModel) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](this.option, option, true);\n    var layoutMode = _util_layout_js__WEBPACK_IMPORTED_MODULE_6__[\"fetchLayoutMode\"](this);\n\n    if (layoutMode) {\n      _util_layout_js__WEBPACK_IMPORTED_MODULE_6__[\"mergeLayoutParam\"](this.option, option, layoutMode);\n    }\n  };\n  /**\n   * Called immediately after `init` or `mergeOption` of this instance called.\n   */\n\n\n  ComponentModel.prototype.optionUpdated = function (newCptOption, isInit) {};\n  /**\n   * [How to declare defaultOption]:\n   *\n   * (A) If using class declaration in typescript (since echarts 5):\n   * ```ts\n   * import {ComponentOption} from '../model/option.js';\n   * export interface XxxOption extends ComponentOption {\n   *     aaa: number\n   * }\n   * export class XxxModel extends Component {\n   *     static type = 'xxx';\n   *     static defaultOption: XxxOption = {\n   *         aaa: 123\n   *     }\n   * }\n   * Component.registerClass(XxxModel);\n   * ```\n   * ```ts\n   * import {inheritDefaultOption} from '../util/component.js';\n   * import {XxxModel, XxxOption} from './XxxModel.js';\n   * export interface XxxSubOption extends XxxOption {\n   *     bbb: number\n   * }\n   * class XxxSubModel extends XxxModel {\n   *     static defaultOption: XxxSubOption = inheritDefaultOption(XxxModel.defaultOption, {\n   *         bbb: 456\n   *     })\n   *     fn() {\n   *         let opt = this.getDefaultOption();\n   *         // opt is {aaa: 123, bbb: 456}\n   *     }\n   * }\n   * ```\n   *\n   * (B) If using class extend (previous approach in echarts 3 & 4):\n   * ```js\n   * let XxxComponent = Component.extend({\n   *     defaultOption: {\n   *         xx: 123\n   *     }\n   * })\n   * ```\n   * ```js\n   * let XxxSubComponent = XxxComponent.extend({\n   *     defaultOption: {\n   *         yy: 456\n   *     },\n   *     fn: function () {\n   *         let opt = this.getDefaultOption();\n   *         // opt is {xx: 123, yy: 456}\n   *     }\n   * })\n   * ```\n   */\n\n\n  ComponentModel.prototype.getDefaultOption = function () {\n    var ctor = this.constructor; // If using class declaration, it is different to travel super class\n    // in legacy env and auto merge defaultOption. So if using class\n    // declaration, defaultOption should be merged manually.\n\n    if (!Object(_util_clazz_js__WEBPACK_IMPORTED_MODULE_4__[\"isExtendedClass\"])(ctor)) {\n      // When using ts class, defaultOption must be declared as static.\n      return ctor.defaultOption;\n    } // FIXME: remove this approach?\n\n\n    var fields = inner(this);\n\n    if (!fields.defaultOption) {\n      var optList = [];\n      var clz = ctor;\n\n      while (clz) {\n        var opt = clz.prototype.defaultOption;\n        opt && optList.push(opt);\n        clz = clz.superClass;\n      }\n\n      var defaultOption = {};\n\n      for (var i = optList.length - 1; i >= 0; i--) {\n        defaultOption = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](defaultOption, optList[i], true);\n      }\n\n      fields.defaultOption = defaultOption;\n    }\n\n    return fields.defaultOption;\n  };\n  /**\n   * Notice: always force to input param `useDefault` in case that forget to consider it.\n   * The same behavior as `modelUtil.parseFinder`.\n   *\n   * @param useDefault In many cases like series refer axis and axis refer grid,\n   *        If axis index / axis id not specified, use the first target as default.\n   *        In other cases like dataZoom refer axis, if not specified, measn no refer.\n   */\n\n\n  ComponentModel.prototype.getReferringComponents = function (mainType, opt) {\n    var indexKey = mainType + 'Index';\n    var idKey = mainType + 'Id';\n    return Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"queryReferringComponents\"])(this.ecModel, mainType, {\n      index: this.get(indexKey, true),\n      id: this.get(idKey, true)\n    }, opt);\n  };\n\n  ComponentModel.prototype.getBoxLayoutParams = function () {\n    // Consider itself having box layout configs.\n    var boxLayoutModel = this;\n    return {\n      left: boxLayoutModel.get('left'),\n      top: boxLayoutModel.get('top'),\n      right: boxLayoutModel.get('right'),\n      bottom: boxLayoutModel.get('bottom'),\n      width: boxLayoutModel.get('width'),\n      height: boxLayoutModel.get('height')\n    };\n  };\n  /**\n   * Get key for zlevel.\n   * If developers don't configure zlevel. We will assign zlevel to series based on the key.\n   * For example, lines with trail effect and progressive series will in an individual zlevel.\n   */\n\n\n  ComponentModel.prototype.getZLevelKey = function () {\n    return '';\n  };\n\n  ComponentModel.prototype.setZLevel = function (zlevel) {\n    this.option.zlevel = zlevel;\n  };\n\n  ComponentModel.protoInitialize = function () {\n    var proto = ComponentModel.prototype;\n    proto.type = 'component';\n    proto.id = '';\n    proto.name = '';\n    proto.mainType = '';\n    proto.subType = '';\n    proto.componentIndex = 0;\n  }();\n\n  return ComponentModel;\n}(_Model_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nObject(_util_clazz_js__WEBPACK_IMPORTED_MODULE_4__[\"mountExtend\"])(ComponentModel, _Model_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nObject(_util_clazz_js__WEBPACK_IMPORTED_MODULE_4__[\"enableClassManagement\"])(ComponentModel);\n_util_component_js__WEBPACK_IMPORTED_MODULE_3__[\"enableSubTypeDefaulter\"](ComponentModel);\n_util_component_js__WEBPACK_IMPORTED_MODULE_3__[\"enableTopologicalTravel\"](ComponentModel, getDependencies);\n\nfunction getDependencies(componentType) {\n  var deps = [];\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](ComponentModel.getClassesByMainType(componentType), function (clz) {\n    deps = deps.concat(clz.dependencies || clz.prototype.dependencies || []);\n  }); // Ensure main type.\n\n  deps = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](deps, function (type) {\n    return Object(_util_clazz_js__WEBPACK_IMPORTED_MODULE_4__[\"parseClassType\"])(type).main;\n  }); // Hack dataset for convenience.\n\n  if (componentType !== 'dataset' && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"](deps, 'dataset') <= 0) {\n    deps.unshift('dataset');\n  }\n\n  return deps;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ComponentModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/Component.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/Global.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/model/Global.js ***!
  \**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _Model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _globalDefault_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./globalDefault.js */ \"./node_modules/echarts/lib/model/globalDefault.js\");\n/* harmony import */ var _data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/helper/sourceHelper.js */ \"./node_modules/echarts/lib/data/helper/sourceHelper.js\");\n/* harmony import */ var _internalComponentCreator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./internalComponentCreator.js */ \"./node_modules/echarts/lib/model/internalComponentCreator.js\");\n/* harmony import */ var _mixin_palette_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mixin/palette.js */ \"./node_modules/echarts/lib/model/mixin/palette.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Caution: If the mechanism should be changed some day, these cases\n * should be considered:\n *\n * (1) In `merge option` mode, if using the same option to call `setOption`\n * many times, the result should be the same (try our best to ensure that).\n * (2) In `merge option` mode, if a component has no id/name specified, it\n * will be merged by index, and the result sequence of the components is\n * consistent to the original sequence.\n * (3) In `replaceMerge` mode, keep the result sequence of the components is\n * consistent to the original sequence, even though there might result in \"hole\".\n * (4) `reset` feature (in toolbox). Find detailed info in comments about\n * `mergeOption` in module:echarts/model/OptionManager.\n */\n\n\n\n\n\n\n\n\n\n // -----------------------\n// Internal method names:\n// -----------------------\n\nvar reCreateSeriesIndices;\nvar assertSeriesInitialized;\nvar initBase;\nvar OPTION_INNER_KEY = '\\0_ec_inner';\nvar OPTION_INNER_VALUE = 1;\nvar BUITIN_COMPONENTS_MAP = {\n  grid: 'GridComponent',\n  polar: 'PolarComponent',\n  geo: 'GeoComponent',\n  singleAxis: 'SingleAxisComponent',\n  parallel: 'ParallelComponent',\n  calendar: 'CalendarComponent',\n  graphic: 'GraphicComponent',\n  toolbox: 'ToolboxComponent',\n  tooltip: 'TooltipComponent',\n  axisPointer: 'AxisPointerComponent',\n  brush: 'BrushComponent',\n  title: 'TitleComponent',\n  timeline: 'TimelineComponent',\n  markPoint: 'MarkPointComponent',\n  markLine: 'MarkLineComponent',\n  markArea: 'MarkAreaComponent',\n  legend: 'LegendComponent',\n  dataZoom: 'DataZoomComponent',\n  visualMap: 'VisualMapComponent',\n  // aria: 'AriaComponent',\n  // dataset: 'DatasetComponent',\n  // Dependencies\n  xAxis: 'GridComponent',\n  yAxis: 'GridComponent',\n  angleAxis: 'PolarComponent',\n  radiusAxis: 'PolarComponent'\n};\nvar BUILTIN_CHARTS_MAP = {\n  line: 'LineChart',\n  bar: 'BarChart',\n  pie: 'PieChart',\n  scatter: 'ScatterChart',\n  radar: 'RadarChart',\n  map: 'MapChart',\n  tree: 'TreeChart',\n  treemap: 'TreemapChart',\n  graph: 'GraphChart',\n  gauge: 'GaugeChart',\n  funnel: 'FunnelChart',\n  parallel: 'ParallelChart',\n  sankey: 'SankeyChart',\n  boxplot: 'BoxplotChart',\n  candlestick: 'CandlestickChart',\n  effectScatter: 'EffectScatterChart',\n  lines: 'LinesChart',\n  heatmap: 'HeatmapChart',\n  pictorialBar: 'PictorialBarChart',\n  themeRiver: 'ThemeRiverChart',\n  sunburst: 'SunburstChart',\n  custom: 'CustomChart'\n};\nvar componetsMissingLogPrinted = {};\n\nfunction checkMissingComponents(option) {\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(option, function (componentOption, mainType) {\n    if (!_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(mainType)) {\n      var componentImportName = BUITIN_COMPONENTS_MAP[mainType];\n\n      if (componentImportName && !componetsMissingLogPrinted[componentImportName]) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_9__[\"error\"])(\"Component \" + mainType + \" is used but not imported.\\nimport { \" + componentImportName + \" } from 'echarts/components';\\necharts.use([\" + componentImportName + \"]);\");\n        componetsMissingLogPrinted[componentImportName] = true;\n      }\n    }\n  });\n}\n\nvar GlobalModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(GlobalModel, _super);\n\n  function GlobalModel() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  GlobalModel.prototype.init = function (option, parentModel, ecModel, theme, locale, optionManager) {\n    theme = theme || {};\n    this.option = null; // Mark as not initialized.\n\n    this._theme = new _Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](theme);\n    this._locale = new _Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](locale);\n    this._optionManager = optionManager;\n  };\n\n  GlobalModel.prototype.setOption = function (option, opts, optionPreprocessorFuncs) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(option != null, 'option is null/undefined');\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(option[OPTION_INNER_KEY] !== OPTION_INNER_VALUE, 'please use chart.getOption()');\n    }\n\n    var innerOpt = normalizeSetOptionInput(opts);\n\n    this._optionManager.setOption(option, optionPreprocessorFuncs, innerOpt);\n\n    this._resetOption(null, innerOpt);\n  };\n  /**\n   * @param type null/undefined: reset all.\n   *        'recreate': force recreate all.\n   *        'timeline': only reset timeline option\n   *        'media': only reset media query option\n   * @return Whether option changed.\n   */\n\n\n  GlobalModel.prototype.resetOption = function (type, opt) {\n    return this._resetOption(type, normalizeSetOptionInput(opt));\n  };\n\n  GlobalModel.prototype._resetOption = function (type, opt) {\n    var optionChanged = false;\n    var optionManager = this._optionManager;\n\n    if (!type || type === 'recreate') {\n      var baseOption = optionManager.mountOption(type === 'recreate');\n\n      if (true) {\n        checkMissingComponents(baseOption);\n      }\n\n      if (!this.option || type === 'recreate') {\n        initBase(this, baseOption);\n      } else {\n        this.restoreData();\n\n        this._mergeOption(baseOption, opt);\n      }\n\n      optionChanged = true;\n    }\n\n    if (type === 'timeline' || type === 'media') {\n      this.restoreData();\n    } // By design, if `setOption(option2)` at the second time, and `option2` is a `ECUnitOption`,\n    // it should better not have the same props with `MediaUnit['option']`.\n    // Becuase either `option2` or `MediaUnit['option']` will be always merged to \"current option\"\n    // rather than original \"baseOption\". If they both override a prop, the result might be\n    // unexpected when media state changed after `setOption` called.\n    // If we really need to modify a props in each `MediaUnit['option']`, use the full version\n    // (`{baseOption, media}`) in `setOption`.\n    // For `timeline`, the case is the same.\n\n\n    if (!type || type === 'recreate' || type === 'timeline') {\n      var timelineOption = optionManager.getTimelineOption(this);\n\n      if (timelineOption) {\n        optionChanged = true;\n\n        this._mergeOption(timelineOption, opt);\n      }\n    }\n\n    if (!type || type === 'recreate' || type === 'media') {\n      var mediaOptions = optionManager.getMediaOption(this);\n\n      if (mediaOptions.length) {\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(mediaOptions, function (mediaOption) {\n          optionChanged = true;\n\n          this._mergeOption(mediaOption, opt);\n        }, this);\n      }\n    }\n\n    return optionChanged;\n  };\n\n  GlobalModel.prototype.mergeOption = function (option) {\n    this._mergeOption(option, null);\n  };\n\n  GlobalModel.prototype._mergeOption = function (newOption, opt) {\n    var option = this.option;\n    var componentsMap = this._componentsMap;\n    var componentsCount = this._componentsCount;\n    var newCmptTypes = [];\n    var newCmptTypeMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n    var replaceMergeMainTypeMap = opt && opt.replaceMergeMainTypeMap;\n    Object(_data_helper_sourceHelper_js__WEBPACK_IMPORTED_MODULE_6__[\"resetSourceDefaulter\"])(this); // If no component class, merge directly.\n    // For example: color, animaiton options, etc.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(newOption, function (componentOption, mainType) {\n      if (componentOption == null) {\n        return;\n      }\n\n      if (!_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(mainType)) {\n        // globalSettingTask.dirty();\n        option[mainType] = option[mainType] == null ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(componentOption) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(option[mainType], componentOption, true);\n      } else if (mainType) {\n        newCmptTypes.push(mainType);\n        newCmptTypeMap.set(mainType, true);\n      }\n    });\n\n    if (replaceMergeMainTypeMap) {\n      // If there is a mainType `xxx` in `replaceMerge` but not declared in option,\n      // we trade it as it is declared in option as `{xxx: []}`. Because:\n      // (1) for normal merge, `{xxx: null/undefined}` are the same meaning as `{xxx: []}`.\n      // (2) some preprocessor may convert some of `{xxx: null/undefined}` to `{xxx: []}`.\n      replaceMergeMainTypeMap.each(function (val, mainTypeInReplaceMerge) {\n        if (_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(mainTypeInReplaceMerge) && !newCmptTypeMap.get(mainTypeInReplaceMerge)) {\n          newCmptTypes.push(mainTypeInReplaceMerge);\n          newCmptTypeMap.set(mainTypeInReplaceMerge, true);\n        }\n      });\n    }\n\n    _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].topologicalTravel(newCmptTypes, _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getAllClassMainTypes(), visitComponent, this);\n\n    function visitComponent(mainType) {\n      var newCmptOptionList = Object(_internalComponentCreator_js__WEBPACK_IMPORTED_MODULE_7__[\"concatInternalOptions\"])(this, mainType, _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeToArray\"](newOption[mainType]));\n      var oldCmptList = componentsMap.get(mainType);\n      var mergeMode = // `!oldCmptList` means init. See the comment in `mappingToExists`\n      !oldCmptList ? 'replaceAll' : replaceMergeMainTypeMap && replaceMergeMainTypeMap.get(mainType) ? 'replaceMerge' : 'normalMerge';\n      var mappingResult = _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"mappingToExists\"](oldCmptList, newCmptOptionList, mergeMode); // Set mainType and complete subType.\n\n      _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"setComponentTypeToKeyInfo\"](mappingResult, mainType, _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]); // Empty it before the travel, in order to prevent `this._componentsMap`\n      // from being used in the `init`/`mergeOption`/`optionUpdated` of some\n      // components, which is probably incorrect logic.\n\n      option[mainType] = null;\n      componentsMap.set(mainType, null);\n      componentsCount.set(mainType, 0);\n      var optionsByMainType = [];\n      var cmptsByMainType = [];\n      var cmptsCountByMainType = 0;\n      var tooltipExists;\n      var tooltipWarningLogged;\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(mappingResult, function (resultItem, index) {\n        var componentModel = resultItem.existing;\n        var newCmptOption = resultItem.newOption;\n\n        if (!newCmptOption) {\n          if (componentModel) {\n            // Consider where is no new option and should be merged using {},\n            // see removeEdgeAndAdd in topologicalTravel and\n            // ComponentModel.getAllClassMainTypes.\n            componentModel.mergeOption({}, this);\n            componentModel.optionUpdated({}, false);\n          } // If no both `resultItem.exist` and `resultItem.option`,\n          // either it is in `replaceMerge` and not matched by any id,\n          // or it has been removed in previous `replaceMerge` and left a \"hole\" in this component index.\n\n        } else {\n          var isSeriesType = mainType === 'series';\n          var ComponentModelClass = _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getClass(mainType, resultItem.keyInfo.subType, !isSeriesType // Give a more detailed warn later if series don't exists\n          );\n\n          if (!ComponentModelClass) {\n            if (true) {\n              var subType = resultItem.keyInfo.subType;\n              var seriesImportName = BUILTIN_CHARTS_MAP[subType];\n\n              if (!componetsMissingLogPrinted[subType]) {\n                componetsMissingLogPrinted[subType] = true;\n\n                if (seriesImportName) {\n                  Object(_util_log_js__WEBPACK_IMPORTED_MODULE_9__[\"error\"])(\"Series \" + subType + \" is used but not imported.\\nimport { \" + seriesImportName + \" } from 'echarts/charts';\\necharts.use([\" + seriesImportName + \"]);\");\n                } else {\n                  Object(_util_log_js__WEBPACK_IMPORTED_MODULE_9__[\"error\"])(\"Unkown series \" + subType);\n                }\n              }\n            }\n\n            return;\n          } // TODO Before multiple tooltips get supported, we do this check to avoid unexpected exception.\n\n\n          if (mainType === 'tooltip') {\n            if (tooltipExists) {\n              if (true) {\n                if (!tooltipWarningLogged) {\n                  Object(_util_log_js__WEBPACK_IMPORTED_MODULE_9__[\"warn\"])('Currently only one tooltip component is allowed.');\n                  tooltipWarningLogged = true;\n                }\n              }\n\n              return;\n            }\n\n            tooltipExists = true;\n          }\n\n          if (componentModel && componentModel.constructor === ComponentModelClass) {\n            componentModel.name = resultItem.keyInfo.name; // componentModel.settingTask && componentModel.settingTask.dirty();\n\n            componentModel.mergeOption(newCmptOption, this);\n            componentModel.optionUpdated(newCmptOption, false);\n          } else {\n            // PENDING Global as parent ?\n            var extraOpt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({\n              componentIndex: index\n            }, resultItem.keyInfo);\n            componentModel = new ComponentModelClass(newCmptOption, this, this, extraOpt); // Assign `keyInfo`\n\n            Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])(componentModel, extraOpt);\n\n            if (resultItem.brandNew) {\n              componentModel.__requireNewView = true;\n            }\n\n            componentModel.init(newCmptOption, this, this); // Call optionUpdated after init.\n            // newCmptOption has been used as componentModel.option\n            // and may be merged with theme and default, so pass null\n            // to avoid confusion.\n\n            componentModel.optionUpdated(null, true);\n          }\n        }\n\n        if (componentModel) {\n          optionsByMainType.push(componentModel.option);\n          cmptsByMainType.push(componentModel);\n          cmptsCountByMainType++;\n        } else {\n          // Always do assign to avoid elided item in array.\n          optionsByMainType.push(void 0);\n          cmptsByMainType.push(void 0);\n        }\n      }, this);\n      option[mainType] = optionsByMainType;\n      componentsMap.set(mainType, cmptsByMainType);\n      componentsCount.set(mainType, cmptsCountByMainType); // Backup series for filtering.\n\n      if (mainType === 'series') {\n        reCreateSeriesIndices(this);\n      }\n    } // If no series declared, ensure `_seriesIndices` initialized.\n\n\n    if (!this._seriesIndices) {\n      reCreateSeriesIndices(this);\n    }\n  };\n  /**\n   * Get option for output (cloned option and inner info removed)\n   */\n\n\n  GlobalModel.prototype.getOption = function () {\n    var option = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(this.option);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(option, function (optInMainType, mainType) {\n      if (_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(mainType)) {\n        var opts = _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeToArray\"](optInMainType); // Inner cmpts need to be removed.\n        // Inner cmpts might not be at last since ec5.0, but still\n        // compatible for users: if inner cmpt at last, splice the returned array.\n\n        var realLen = opts.length;\n        var metNonInner = false;\n\n        for (var i = realLen - 1; i >= 0; i--) {\n          // Remove options with inner id.\n          if (opts[i] && !_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"isComponentIdInternal\"](opts[i])) {\n            metNonInner = true;\n          } else {\n            opts[i] = null;\n            !metNonInner && realLen--;\n          }\n        }\n\n        opts.length = realLen;\n        option[mainType] = opts;\n      }\n    });\n    delete option[OPTION_INNER_KEY];\n    return option;\n  };\n\n  GlobalModel.prototype.getTheme = function () {\n    return this._theme;\n  };\n\n  GlobalModel.prototype.getLocaleModel = function () {\n    return this._locale;\n  };\n\n  GlobalModel.prototype.setUpdatePayload = function (payload) {\n    this._payload = payload;\n  };\n\n  GlobalModel.prototype.getUpdatePayload = function () {\n    return this._payload;\n  };\n  /**\n   * @param idx If not specified, return the first one.\n   */\n\n\n  GlobalModel.prototype.getComponent = function (mainType, idx) {\n    var list = this._componentsMap.get(mainType);\n\n    if (list) {\n      var cmpt = list[idx || 0];\n\n      if (cmpt) {\n        return cmpt;\n      } else if (idx == null) {\n        for (var i = 0; i < list.length; i++) {\n          if (list[i]) {\n            return list[i];\n          }\n        }\n      }\n    }\n  };\n  /**\n   * @return Never be null/undefined.\n   */\n\n\n  GlobalModel.prototype.queryComponents = function (condition) {\n    var mainType = condition.mainType;\n\n    if (!mainType) {\n      return [];\n    }\n\n    var index = condition.index;\n    var id = condition.id;\n    var name = condition.name;\n\n    var cmpts = this._componentsMap.get(mainType);\n\n    if (!cmpts || !cmpts.length) {\n      return [];\n    }\n\n    var result;\n\n    if (index != null) {\n      result = [];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeToArray\"](index), function (idx) {\n        cmpts[idx] && result.push(cmpts[idx]);\n      });\n    } else if (id != null) {\n      result = queryByIdOrName('id', id, cmpts);\n    } else if (name != null) {\n      result = queryByIdOrName('name', name, cmpts);\n    } else {\n      // Return all non-empty components in that mainType\n      result = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(cmpts, function (cmpt) {\n        return !!cmpt;\n      });\n    }\n\n    return filterBySubType(result, condition);\n  };\n  /**\n   * The interface is different from queryComponents,\n   * which is convenient for inner usage.\n   *\n   * @usage\n   * let result = findComponents(\n   *     {mainType: 'dataZoom', query: {dataZoomId: 'abc'}}\n   * );\n   * let result = findComponents(\n   *     {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}}\n   * );\n   * let result = findComponents(\n   *     {mainType: 'series',\n   *     filter: function (model, index) {...}}\n   * );\n   * // result like [component0, componnet1, ...]\n   */\n\n\n  GlobalModel.prototype.findComponents = function (condition) {\n    var query = condition.query;\n    var mainType = condition.mainType;\n    var queryCond = getQueryCond(query);\n    var result = queryCond ? this.queryComponents(queryCond) // Retrieve all non-empty components.\n    : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(this._componentsMap.get(mainType), function (cmpt) {\n      return !!cmpt;\n    });\n    return doFilter(filterBySubType(result, condition));\n\n    function getQueryCond(q) {\n      var indexAttr = mainType + 'Index';\n      var idAttr = mainType + 'Id';\n      var nameAttr = mainType + 'Name';\n      return q && (q[indexAttr] != null || q[idAttr] != null || q[nameAttr] != null) ? {\n        mainType: mainType,\n        // subType will be filtered finally.\n        index: q[indexAttr],\n        id: q[idAttr],\n        name: q[nameAttr]\n      } : null;\n    }\n\n    function doFilter(res) {\n      return condition.filter ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(res, condition.filter) : res;\n    }\n  };\n\n  GlobalModel.prototype.eachComponent = function (mainType, cb, context) {\n    var componentsMap = this._componentsMap;\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(mainType)) {\n      var ctxForAll_1 = cb;\n      var cbForAll_1 = mainType;\n      componentsMap.each(function (cmpts, componentType) {\n        for (var i = 0; cmpts && i < cmpts.length; i++) {\n          var cmpt = cmpts[i];\n          cmpt && cbForAll_1.call(ctxForAll_1, componentType, cmpt, cmpt.componentIndex);\n        }\n      });\n    } else {\n      var cmpts = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(mainType) ? componentsMap.get(mainType) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(mainType) ? this.findComponents(mainType) : null;\n\n      for (var i = 0; cmpts && i < cmpts.length; i++) {\n        var cmpt = cmpts[i];\n        cmpt && cb.call(context, cmpt, cmpt.componentIndex);\n      }\n    }\n  };\n  /**\n   * Get series list before filtered by name.\n   */\n\n\n  GlobalModel.prototype.getSeriesByName = function (name) {\n    var nameStr = _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"convertOptionIdName\"](name, null);\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(this._componentsMap.get('series'), function (oneSeries) {\n      return !!oneSeries && nameStr != null && oneSeries.name === nameStr;\n    });\n  };\n  /**\n   * Get series list before filtered by index.\n   */\n\n\n  GlobalModel.prototype.getSeriesByIndex = function (seriesIndex) {\n    return this._componentsMap.get('series')[seriesIndex];\n  };\n  /**\n   * Get series list before filtered by type.\n   * FIXME: rename to getRawSeriesByType?\n   */\n\n\n  GlobalModel.prototype.getSeriesByType = function (subType) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(this._componentsMap.get('series'), function (oneSeries) {\n      return !!oneSeries && oneSeries.subType === subType;\n    });\n  };\n  /**\n   * Get all series before filtered.\n   */\n\n\n  GlobalModel.prototype.getSeries = function () {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(this._componentsMap.get('series'), function (oneSeries) {\n      return !!oneSeries;\n    });\n  };\n  /**\n   * Count series before filtered.\n   */\n\n\n  GlobalModel.prototype.getSeriesCount = function () {\n    return this._componentsCount.get('series');\n  };\n  /**\n   * After filtering, series may be different\n   * frome raw series.\n   */\n\n\n  GlobalModel.prototype.eachSeries = function (cb, context) {\n    assertSeriesInitialized(this);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._seriesIndices, function (rawSeriesIndex) {\n      var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n      cb.call(context, series, rawSeriesIndex);\n    }, this);\n  };\n  /**\n   * Iterate raw series before filtered.\n   *\n   * @param {Function} cb\n   * @param {*} context\n   */\n\n\n  GlobalModel.prototype.eachRawSeries = function (cb, context) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._componentsMap.get('series'), function (series) {\n      series && cb.call(context, series, series.componentIndex);\n    });\n  };\n  /**\n   * After filtering, series may be different.\n   * frome raw series.\n   */\n\n\n  GlobalModel.prototype.eachSeriesByType = function (subType, cb, context) {\n    assertSeriesInitialized(this);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._seriesIndices, function (rawSeriesIndex) {\n      var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n      if (series.subType === subType) {\n        cb.call(context, series, rawSeriesIndex);\n      }\n    }, this);\n  };\n  /**\n   * Iterate raw series before filtered of given type.\n   */\n\n\n  GlobalModel.prototype.eachRawSeriesByType = function (subType, cb, context) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this.getSeriesByType(subType), cb, context);\n  };\n\n  GlobalModel.prototype.isSeriesFiltered = function (seriesModel) {\n    assertSeriesInitialized(this);\n    return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;\n  };\n\n  GlobalModel.prototype.getCurrentSeriesIndices = function () {\n    return (this._seriesIndices || []).slice();\n  };\n\n  GlobalModel.prototype.filterSeries = function (cb, context) {\n    assertSeriesInitialized(this);\n    var newSeriesIndices = [];\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(this._seriesIndices, function (seriesRawIdx) {\n      var series = this._componentsMap.get('series')[seriesRawIdx];\n\n      cb.call(context, series, seriesRawIdx) && newSeriesIndices.push(seriesRawIdx);\n    }, this);\n    this._seriesIndices = newSeriesIndices;\n    this._seriesIndicesMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])(newSeriesIndices);\n  };\n\n  GlobalModel.prototype.restoreData = function (payload) {\n    reCreateSeriesIndices(this);\n    var componentsMap = this._componentsMap;\n    var componentTypes = [];\n    componentsMap.each(function (components, componentType) {\n      if (_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(componentType)) {\n        componentTypes.push(componentType);\n      }\n    });\n    _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].topologicalTravel(componentTypes, _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getAllClassMainTypes(), function (componentType) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(componentsMap.get(componentType), function (component) {\n        if (component && (componentType !== 'series' || !isNotTargetSeries(component, payload))) {\n          component.restoreData();\n        }\n      });\n    });\n  };\n\n  GlobalModel.internalField = function () {\n    reCreateSeriesIndices = function (ecModel) {\n      var seriesIndices = ecModel._seriesIndices = [];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(ecModel._componentsMap.get('series'), function (series) {\n        // series may have been removed by `replaceMerge`.\n        series && seriesIndices.push(series.componentIndex);\n      });\n      ecModel._seriesIndicesMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])(seriesIndices);\n    };\n\n    assertSeriesInitialized = function (ecModel) {\n      // Components that use _seriesIndices should depends on series component,\n      // which make sure that their initialization is after series.\n      if (true) {\n        if (!ecModel._seriesIndices) {\n          throw new Error('Option should contains series.');\n        }\n      }\n    };\n\n    initBase = function (ecModel, baseOption) {\n      // Using OPTION_INNER_KEY to mark that this option can not be used outside,\n      // i.e. `chart.setOption(chart.getModel().option);` is forbiden.\n      ecModel.option = {};\n      ecModel.option[OPTION_INNER_KEY] = OPTION_INNER_VALUE; // Init with series: [], in case of calling findSeries method\n      // before series initialized.\n\n      ecModel._componentsMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])({\n        series: []\n      });\n      ecModel._componentsCount = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])(); // If user spefied `option.aria`, aria will be enable. This detection should be\n      // performed before theme and globalDefault merge.\n\n      var airaOption = baseOption.aria;\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(airaOption) && airaOption.enabled == null) {\n        airaOption.enabled = true;\n      }\n\n      mergeTheme(baseOption, ecModel._theme.option); // TODO Needs clone when merging to the unexisted property\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(baseOption, _globalDefault_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], false);\n\n      ecModel._mergeOption(baseOption, null);\n    };\n  }();\n\n  return GlobalModel;\n}(_Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\nfunction isNotTargetSeries(seriesModel, payload) {\n  if (payload) {\n    var index = payload.seriesIndex;\n    var id = payload.seriesId;\n    var name_1 = payload.seriesName;\n    return index != null && seriesModel.componentIndex !== index || id != null && seriesModel.id !== id || name_1 != null && seriesModel.name !== name_1;\n  }\n}\n\nfunction mergeTheme(option, theme) {\n  // PENDING\n  // NOT use `colorLayer` in theme if option has `color`\n  var notMergeColorLayer = option.color && !option.colorLayer;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(theme, function (themeItem, name) {\n    if (name === 'colorLayer' && notMergeColorLayer) {\n      return;\n    } // If it is component model mainType, the model handles that merge later.\n    // otherwise, merge them here.\n\n\n    if (!_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(name)) {\n      if (typeof themeItem === 'object') {\n        option[name] = !option[name] ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(themeItem) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"])(option[name], themeItem, false);\n      } else {\n        if (option[name] == null) {\n          option[name] = themeItem;\n        }\n      }\n    }\n  });\n}\n\nfunction queryByIdOrName(attr, idOrName, cmpts) {\n  // Here is a break from echarts4: string and number are\n  // treated as equal.\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(idOrName)) {\n    var keyMap_1 = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(idOrName, function (idOrNameItem) {\n      if (idOrNameItem != null) {\n        var idName = _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"convertOptionIdName\"](idOrNameItem, null);\n        idName != null && keyMap_1.set(idOrNameItem, true);\n      }\n    });\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(cmpts, function (cmpt) {\n      return cmpt && keyMap_1.get(cmpt[attr]);\n    });\n  } else {\n    var idName_1 = _util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"convertOptionIdName\"](idOrName, null);\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(cmpts, function (cmpt) {\n      return cmpt && idName_1 != null && cmpt[attr] === idName_1;\n    });\n  }\n}\n\nfunction filterBySubType(components, condition) {\n  // Using hasOwnProperty for restrict. Consider\n  // subType is undefined in user payload.\n  return condition.hasOwnProperty('subType') ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(components, function (cmpt) {\n    return cmpt && cmpt.subType === condition.subType;\n  }) : components;\n}\n\nfunction normalizeSetOptionInput(opts) {\n  var replaceMergeMainTypeMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"])();\n  opts && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeToArray\"](opts.replaceMerge), function (mainType) {\n    if (true) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"])(_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(mainType), '\"' + mainType + '\" is not valid component main type in \"replaceMerge\"');\n    }\n\n    replaceMergeMainTypeMap.set(mainType, true);\n  });\n  return {\n    replaceMergeMainTypeMap: replaceMergeMainTypeMap\n  };\n}\n\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"])(GlobalModel, _mixin_palette_js__WEBPACK_IMPORTED_MODULE_8__[\"PaletteMixin\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (GlobalModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/Global.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/Model.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/model/Model.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n/* harmony import */ var _mixin_areaStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mixin/areaStyle.js */ \"./node_modules/echarts/lib/model/mixin/areaStyle.js\");\n/* harmony import */ var _mixin_textStyle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mixin/textStyle.js */ \"./node_modules/echarts/lib/model/mixin/textStyle.js\");\n/* harmony import */ var _mixin_lineStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mixin/lineStyle.js */ \"./node_modules/echarts/lib/model/mixin/lineStyle.js\");\n/* harmony import */ var _mixin_itemStyle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mixin/itemStyle.js */ \"./node_modules/echarts/lib/model/mixin/itemStyle.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\nvar Model =\n/** @class */\nfunction () {\n  function Model(option, parentModel, ecModel) {\n    this.parentModel = parentModel;\n    this.ecModel = ecModel;\n    this.option = option; // Simple optimization\n    // if (this.init) {\n    //     if (arguments.length <= 4) {\n    //         this.init(option, parentModel, ecModel, extraOpt);\n    //     }\n    //     else {\n    //         this.init.apply(this, arguments);\n    //     }\n    // }\n  }\n\n  Model.prototype.init = function (option, parentModel, ecModel) {\n    var rest = [];\n\n    for (var _i = 3; _i < arguments.length; _i++) {\n      rest[_i - 3] = arguments[_i];\n    }\n  };\n  /**\n   * Merge the input option to me.\n   */\n\n\n  Model.prototype.mergeOption = function (option, ecModel) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"merge\"])(this.option, option, true);\n  }; // `path` can be 'a.b.c', so the return value type have to be `ModelOption`\n  // TODO: TYPE strict key check?\n  // get(path: string | string[], ignoreParent?: boolean): ModelOption;\n\n\n  Model.prototype.get = function (path, ignoreParent) {\n    if (path == null) {\n      return this.option;\n    }\n\n    return this._doGet(this.parsePath(path), !ignoreParent && this.parentModel);\n  };\n\n  Model.prototype.getShallow = function (key, ignoreParent) {\n    var option = this.option;\n    var val = option == null ? option : option[key];\n\n    if (val == null && !ignoreParent) {\n      var parentModel = this.parentModel;\n\n      if (parentModel) {\n        // FIXME:TS do not know how to make it works\n        val = parentModel.getShallow(key);\n      }\n    }\n\n    return val;\n  }; // `path` can be 'a.b.c', so the return value type have to be `Model<ModelOption>`\n  // getModel(path: string | string[], parentModel?: Model): Model;\n  // TODO 'a.b.c' is deprecated\n\n\n  Model.prototype.getModel = function (path, parentModel) {\n    var hasPath = path != null;\n    var pathFinal = hasPath ? this.parsePath(path) : null;\n    var obj = hasPath ? this._doGet(pathFinal) : this.option;\n    parentModel = parentModel || this.parentModel && this.parentModel.getModel(this.resolveParentPath(pathFinal));\n    return new Model(obj, parentModel, this.ecModel);\n  };\n  /**\n   * If model has option\n   */\n\n\n  Model.prototype.isEmpty = function () {\n    return this.option == null;\n  };\n\n  Model.prototype.restoreData = function () {}; // Pending\n\n\n  Model.prototype.clone = function () {\n    var Ctor = this.constructor;\n    return new Ctor(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"clone\"])(this.option));\n  }; // setReadOnly(properties): void {\n  // clazzUtil.setReadOnly(this, properties);\n  // }\n  // If path is null/undefined, return null/undefined.\n\n\n  Model.prototype.parsePath = function (path) {\n    if (typeof path === 'string') {\n      return path.split('.');\n    }\n\n    return path;\n  }; // Resolve path for parent. Perhaps useful when parent use a different property.\n  // Default to be a identity resolver.\n  // Can be modified to a different resolver.\n\n\n  Model.prototype.resolveParentPath = function (path) {\n    return path;\n  }; // FIXME:TS check whether put this method here\n\n\n  Model.prototype.isAnimationEnabled = function () {\n    if (!zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].node && this.option) {\n      if (this.option.animation != null) {\n        return !!this.option.animation;\n      } else if (this.parentModel) {\n        return this.parentModel.isAnimationEnabled();\n      }\n    }\n  };\n\n  Model.prototype._doGet = function (pathArr, parentModel) {\n    var obj = this.option;\n\n    if (!pathArr) {\n      return obj;\n    }\n\n    for (var i = 0; i < pathArr.length; i++) {\n      // Ignore empty\n      if (!pathArr[i]) {\n        continue;\n      } // obj could be number/string/... (like 0)\n\n\n      obj = obj && typeof obj === 'object' ? obj[pathArr[i]] : null;\n\n      if (obj == null) {\n        break;\n      }\n    }\n\n    if (obj == null && parentModel) {\n      obj = parentModel._doGet(this.resolveParentPath(pathArr), parentModel.parentModel);\n    }\n\n    return obj;\n  };\n\n  return Model;\n}();\n\n; // Enable Model.extend.\n\nObject(_util_clazz_js__WEBPACK_IMPORTED_MODULE_1__[\"enableClassExtend\"])(Model);\nObject(_util_clazz_js__WEBPACK_IMPORTED_MODULE_1__[\"enableClassCheck\"])(Model);\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"mixin\"])(Model, _mixin_lineStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"LineStyleMixin\"]);\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"mixin\"])(Model, _mixin_itemStyle_js__WEBPACK_IMPORTED_MODULE_5__[\"ItemStyleMixin\"]);\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"mixin\"])(Model, _mixin_areaStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"AreaStyleMixin\"]);\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_6__[\"mixin\"])(Model, _mixin_textStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Model);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/Model.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/OptionManager.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/model/OptionManager.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar QUERY_REG = /^(min|max)?(.+)$/; // Key: mainType\n// type FakeComponentsMap = HashMap<(MappingExistingItem & { subType: string })[]>;\n\n/**\n * TERM EXPLANATIONS:\n * See `ECOption` and `ECUnitOption` in `src/util/types.ts`.\n */\n\nvar OptionManager =\n/** @class */\nfunction () {\n  // timeline.notMerge is not supported in ec3. Firstly there is rearly\n  // case that notMerge is needed. Secondly supporting 'notMerge' requires\n  // rawOption cloned and backuped when timeline changed, which does no\n  // good to performance. What's more, that both timeline and setOption\n  // method supply 'notMerge' brings complex and some problems.\n  // Consider this case:\n  // (step1) chart.setOption({timeline: {notMerge: false}, ...}, false);\n  // (step2) chart.setOption({timeline: {notMerge: true}, ...}, false);\n  function OptionManager(api) {\n    this._timelineOptions = [];\n    this._mediaList = [];\n    /**\n     * -1, means default.\n     * empty means no media.\n     */\n\n    this._currentMediaIndices = [];\n    this._api = api;\n  }\n\n  OptionManager.prototype.setOption = function (rawOption, optionPreprocessorFuncs, opt) {\n    if (rawOption) {\n      // That set dat primitive is dangerous if user reuse the data when setOption again.\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(rawOption.series), function (series) {\n        series && series.data && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isTypedArray\"])(series.data) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"setAsPrimitive\"])(series.data);\n      });\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(rawOption.dataset), function (dataset) {\n        dataset && dataset.source && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isTypedArray\"])(dataset.source) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"setAsPrimitive\"])(dataset.source);\n      });\n    } // Caution: some series modify option data, if do not clone,\n    // it should ensure that the repeat modify correctly\n    // (create a new object when modify itself).\n\n\n    rawOption = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(rawOption); // FIXME\n    // If some property is set in timeline options or media option but\n    // not set in baseOption, a warning should be given.\n\n    var optionBackup = this._optionBackup;\n    var newParsedOption = parseRawOption(rawOption, optionPreprocessorFuncs, !optionBackup);\n    this._newBaseOption = newParsedOption.baseOption; // For setOption at second time (using merge mode);\n\n    if (optionBackup) {\n      // FIXME\n      // the restore merge solution is essentially incorrect.\n      // the mapping can not be 100% consistent with ecModel, which probably brings\n      // potential bug!\n      // The first merge is delayed, becuase in most cases, users do not call `setOption` twice.\n      // let fakeCmptsMap = this._fakeCmptsMap;\n      // if (!fakeCmptsMap) {\n      //     fakeCmptsMap = this._fakeCmptsMap = createHashMap();\n      //     mergeToBackupOption(fakeCmptsMap, null, optionBackup.baseOption, null);\n      // }\n      // mergeToBackupOption(\n      //     fakeCmptsMap, optionBackup.baseOption, newParsedOption.baseOption, opt\n      // );\n      // For simplicity, timeline options and media options do not support merge,\n      // that is, if you `setOption` twice and both has timeline options, the latter\n      // timeline opitons will not be merged to the formers, but just substitude them.\n      if (newParsedOption.timelineOptions.length) {\n        optionBackup.timelineOptions = newParsedOption.timelineOptions;\n      }\n\n      if (newParsedOption.mediaList.length) {\n        optionBackup.mediaList = newParsedOption.mediaList;\n      }\n\n      if (newParsedOption.mediaDefault) {\n        optionBackup.mediaDefault = newParsedOption.mediaDefault;\n      }\n    } else {\n      this._optionBackup = newParsedOption;\n    }\n  };\n\n  OptionManager.prototype.mountOption = function (isRecreate) {\n    var optionBackup = this._optionBackup;\n    this._timelineOptions = optionBackup.timelineOptions;\n    this._mediaList = optionBackup.mediaList;\n    this._mediaDefault = optionBackup.mediaDefault;\n    this._currentMediaIndices = [];\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(isRecreate // this._optionBackup.baseOption, which is created at the first `setOption`\n    // called, and is merged into every new option by inner method `mergeToBackupOption`\n    // each time `setOption` called, can be only used in `isRecreate`, because\n    // its reliability is under suspicion. In other cases option merge is\n    // performed by `model.mergeOption`.\n    ? optionBackup.baseOption : this._newBaseOption);\n  };\n\n  OptionManager.prototype.getTimelineOption = function (ecModel) {\n    var option;\n    var timelineOptions = this._timelineOptions;\n\n    if (timelineOptions.length) {\n      // getTimelineOption can only be called after ecModel inited,\n      // so we can get currentIndex from timelineModel.\n      var timelineModel = ecModel.getComponent('timeline');\n\n      if (timelineModel) {\n        option = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])( // FIXME:TS as TimelineModel or quivlant interface\n        timelineOptions[timelineModel.getCurrentIndex()]);\n      }\n    }\n\n    return option;\n  };\n\n  OptionManager.prototype.getMediaOption = function (ecModel) {\n    var ecWidth = this._api.getWidth();\n\n    var ecHeight = this._api.getHeight();\n\n    var mediaList = this._mediaList;\n    var mediaDefault = this._mediaDefault;\n    var indices = [];\n    var result = []; // No media defined.\n\n    if (!mediaList.length && !mediaDefault) {\n      return result;\n    } // Multi media may be applied, the latter defined media has higher priority.\n\n\n    for (var i = 0, len = mediaList.length; i < len; i++) {\n      if (applyMediaQuery(mediaList[i].query, ecWidth, ecHeight)) {\n        indices.push(i);\n      }\n    } // FIXME\n    // Whether mediaDefault should force users to provide? Otherwise\n    // the change by media query can not be recorvered.\n\n\n    if (!indices.length && mediaDefault) {\n      indices = [-1];\n    }\n\n    if (indices.length && !indicesEquals(indices, this._currentMediaIndices)) {\n      result = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(indices, function (index) {\n        return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"clone\"])(index === -1 ? mediaDefault.option : mediaList[index].option);\n      });\n    } // Otherwise return nothing.\n\n\n    this._currentMediaIndices = indices;\n    return result;\n  };\n\n  return OptionManager;\n}();\n/**\n * [RAW_OPTION_PATTERNS]\n * (Note: \"series: []\" represents all other props in `ECUnitOption`)\n *\n * (1) No prop \"baseOption\" declared:\n * Root option is used as \"baseOption\" (except prop \"options\" and \"media\").\n * ```js\n * option = {\n *     series: [],\n *     timeline: {},\n *     options: [],\n * };\n * option = {\n *     series: [],\n *     media: {},\n * };\n * option = {\n *     series: [],\n *     timeline: {},\n *     options: [],\n *     media: {},\n * }\n * ```\n *\n * (2) Prop \"baseOption\" declared:\n * If \"baseOption\" declared, `ECUnitOption` props can only be declared\n * inside \"baseOption\" except prop \"timeline\" (compat ec2).\n * ```js\n * option = {\n *     baseOption: {\n *         timeline: {},\n *         series: [],\n *     },\n *     options: []\n * };\n * option = {\n *     baseOption: {\n *         series: [],\n *     },\n *     media: []\n * };\n * option = {\n *     baseOption: {\n *         timeline: {},\n *         series: [],\n *     },\n *     options: []\n *     media: []\n * };\n * option = {\n *     // ec3 compat ec2: allow (only) `timeline` declared\n *     // outside baseOption. Keep this setting for compat.\n *     timeline: {},\n *     baseOption: {\n *         series: [],\n *     },\n *     options: [],\n *     media: []\n * };\n * ```\n */\n\n\nfunction parseRawOption( // `rawOption` May be modified\nrawOption, optionPreprocessorFuncs, isNew) {\n  var mediaList = [];\n  var mediaDefault;\n  var baseOption;\n  var declaredBaseOption = rawOption.baseOption; // Compatible with ec2, [RAW_OPTION_PATTERNS] above.\n\n  var timelineOnRoot = rawOption.timeline;\n  var timelineOptionsOnRoot = rawOption.options;\n  var mediaOnRoot = rawOption.media;\n  var hasMedia = !!rawOption.media;\n  var hasTimeline = !!(timelineOptionsOnRoot || timelineOnRoot || declaredBaseOption && declaredBaseOption.timeline);\n\n  if (declaredBaseOption) {\n    baseOption = declaredBaseOption; // For merge option.\n\n    if (!baseOption.timeline) {\n      baseOption.timeline = timelineOnRoot;\n    }\n  } // For convenience, enable to use the root option as the `baseOption`:\n  // `{ ...normalOptionProps, media: [{ ... }, { ... }] }`\n  else {\n      if (hasTimeline || hasMedia) {\n        rawOption.options = rawOption.media = null;\n      }\n\n      baseOption = rawOption;\n    }\n\n  if (hasMedia) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(mediaOnRoot)) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(mediaOnRoot, function (singleMedia) {\n        if (true) {\n          // Real case of wrong config.\n          if (singleMedia && !singleMedia.option && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(singleMedia.query) && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(singleMedia.query.option)) {\n            Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"error\"])('Illegal media option. Must be like { media: [ { query: {}, option: {} } ] }');\n          }\n        }\n\n        if (singleMedia && singleMedia.option) {\n          if (singleMedia.query) {\n            mediaList.push(singleMedia);\n          } else if (!mediaDefault) {\n            // Use the first media default.\n            mediaDefault = singleMedia;\n          }\n        }\n      });\n    } else {\n      if (true) {\n        // Real case of wrong config.\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"error\"])('Illegal media option. Must be an array. Like { media: [ {...}, {...} ] }');\n      }\n    }\n  }\n\n  doPreprocess(baseOption);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(timelineOptionsOnRoot, function (option) {\n    return doPreprocess(option);\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(mediaList, function (media) {\n    return doPreprocess(media.option);\n  });\n\n  function doPreprocess(option) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(optionPreprocessorFuncs, function (preProcess) {\n      preProcess(option, isNew);\n    });\n  }\n\n  return {\n    baseOption: baseOption,\n    timelineOptions: timelineOptionsOnRoot || [],\n    mediaDefault: mediaDefault,\n    mediaList: mediaList\n  };\n}\n/**\n * @see <http://www.w3.org/TR/css3-mediaqueries/#media1>\n * Support: width, height, aspectRatio\n * Can use max or min as prefix.\n */\n\n\nfunction applyMediaQuery(query, ecWidth, ecHeight) {\n  var realMap = {\n    width: ecWidth,\n    height: ecHeight,\n    aspectratio: ecWidth / ecHeight // lowser case for convenientce.\n\n  };\n  var applicatable = true;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(query, function (value, attr) {\n    var matched = attr.match(QUERY_REG);\n\n    if (!matched || !matched[1] || !matched[2]) {\n      return;\n    }\n\n    var operator = matched[1];\n    var realAttr = matched[2].toLowerCase();\n\n    if (!compare(realMap[realAttr], value, operator)) {\n      applicatable = false;\n    }\n  });\n  return applicatable;\n}\n\nfunction compare(real, expect, operator) {\n  if (operator === 'min') {\n    return real >= expect;\n  } else if (operator === 'max') {\n    return real <= expect;\n  } else {\n    // Equals\n    return real === expect;\n  }\n}\n\nfunction indicesEquals(indices1, indices2) {\n  // indices is always order by asc and has only finite number.\n  return indices1.join(',') === indices2.join(',');\n}\n/**\n * Consider case:\n * `chart.setOption(opt1);`\n * Then user do some interaction like dataZoom, dataView changing.\n * `chart.setOption(opt2);`\n * Then user press 'reset button' in toolbox.\n *\n * After doing that all of the interaction effects should be reset, the\n * chart should be the same as the result of invoke\n * `chart.setOption(opt1); chart.setOption(opt2);`.\n *\n * Although it is not able ensure that\n * `chart.setOption(opt1); chart.setOption(opt2);` is equivalents to\n * `chart.setOption(merge(opt1, opt2));` exactly,\n * this might be the only simple way to implement that feature.\n *\n * MEMO: We've considered some other approaches:\n * 1. Each model handle its self restoration but not uniform treatment.\n *     (Too complex in logic and error-prone)\n * 2. Use a shadow ecModel. (Performace expensive)\n *\n * FIXME: A possible solution:\n * Add a extra level of model for each component model. The inheritance chain would be:\n * ecModel <- componentModel <- componentActionModel <- dataItemModel\n * And all of the actions can only modify the `componentActionModel` rather than\n * `componentModel`. `setOption` will only modify the `ecModel` and `componentModel`.\n * When \"resotre\" action triggered, model from `componentActionModel` will be discarded\n * instead of recreating the \"ecModel\" from the \"_optionBackup\".\n */\n// function mergeToBackupOption(\n//     fakeCmptsMap: FakeComponentsMap,\n//     // `tarOption` Can be null/undefined, means init\n//     tarOption: ECUnitOption,\n//     newOption: ECUnitOption,\n//     // Can be null/undefined\n//     opt: InnerSetOptionOpts\n// ): void {\n//     newOption = newOption || {} as ECUnitOption;\n//     const notInit = !!tarOption;\n//     each(newOption, function (newOptsInMainType, mainType) {\n//         if (newOptsInMainType == null) {\n//             return;\n//         }\n//         if (!ComponentModel.hasClass(mainType)) {\n//             if (tarOption) {\n//                 tarOption[mainType] = merge(tarOption[mainType], newOptsInMainType, true);\n//             }\n//         }\n//         else {\n//             const oldTarOptsInMainType = notInit ? normalizeToArray(tarOption[mainType]) : null;\n//             const oldFakeCmptsInMainType = fakeCmptsMap.get(mainType) || [];\n//             const resultTarOptsInMainType = notInit ? (tarOption[mainType] = [] as ComponentOption[]) : null;\n//             const resultFakeCmptsInMainType = fakeCmptsMap.set(mainType, []);\n//             const mappingResult = mappingToExists(\n//                 oldFakeCmptsInMainType,\n//                 normalizeToArray(newOptsInMainType),\n//                 (opt && opt.replaceMergeMainTypeMap.get(mainType)) ? 'replaceMerge' : 'normalMerge'\n//             );\n//             setComponentTypeToKeyInfo(mappingResult, mainType, ComponentModel as ComponentModelConstructor);\n//             each(mappingResult, function (resultItem, index) {\n//                 // The same logic as `Global.ts#_mergeOption`.\n//                 let fakeCmpt = resultItem.existing;\n//                 const newOption = resultItem.newOption;\n//                 const keyInfo = resultItem.keyInfo;\n//                 let fakeCmptOpt;\n//                 if (!newOption) {\n//                     fakeCmptOpt = oldTarOptsInMainType[index];\n//                 }\n//                 else {\n//                     if (fakeCmpt && fakeCmpt.subType === keyInfo.subType) {\n//                         fakeCmpt.name = keyInfo.name;\n//                         if (notInit) {\n//                             fakeCmptOpt = merge(oldTarOptsInMainType[index], newOption, true);\n//                         }\n//                     }\n//                     else {\n//                         fakeCmpt = extend({}, keyInfo);\n//                         if (notInit) {\n//                             fakeCmptOpt = clone(newOption);\n//                         }\n//                     }\n//                 }\n//                 if (fakeCmpt) {\n//                     notInit && resultTarOptsInMainType.push(fakeCmptOpt);\n//                     resultFakeCmptsInMainType.push(fakeCmpt);\n//                 }\n//                 else {\n//                     notInit && resultTarOptsInMainType.push(void 0);\n//                     resultFakeCmptsInMainType.push(void 0);\n//                 }\n//             });\n//         }\n//     });\n// }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (OptionManager);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/OptionManager.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/Series.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/model/Series.js ***!
  \**************************************************/
/*! exports provided: SERIES_UNIVERSAL_TRANSITION_PROP, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SERIES_UNIVERSAL_TRANSITION_PROP\", function() { return SERIES_UNIVERSAL_TRANSITION_PROP; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _Component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Component.js */ \"./node_modules/echarts/lib/model/Component.js\");\n/* harmony import */ var _mixin_palette_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mixin/palette.js */ \"./node_modules/echarts/lib/model/mixin/palette.js\");\n/* harmony import */ var _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../model/mixin/dataFormat.js */ \"./node_modules/echarts/lib/model/mixin/dataFormat.js\");\n/* harmony import */ var _util_layout_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/layout.js */ \"./node_modules/echarts/lib/util/layout.js\");\n/* harmony import */ var _core_task_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/task.js */ \"./node_modules/echarts/lib/core/task.js\");\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n/* harmony import */ var _data_helper_sourceManager_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../data/helper/sourceManager.js */ \"./node_modules/echarts/lib/data/helper/sourceManager.js\");\n/* harmony import */ var _component_tooltip_seriesFormatTooltip_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../component/tooltip/seriesFormatTooltip.js */ \"./node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\nvar inner = _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"makeInner\"]();\n\nfunction getSelectionKey(data, dataIndex) {\n  return data.getName(dataIndex) || data.getId(dataIndex);\n}\n\nvar SERIES_UNIVERSAL_TRANSITION_PROP = '__universalTransitionEnabled';\n\nvar SeriesModel =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SeriesModel, _super);\n\n  function SeriesModel() {\n    // [Caution]: Becuase this class or desecendants can be used as `XXX.extend(subProto)`,\n    // the class members must not be initialized in constructor or declaration place.\n    // Otherwise there is bad case:\n    //   class A {xxx = 1;}\n    //   enableClassExtend(A);\n    //   class B extends A {}\n    //   var C = B.extend({xxx: 5});\n    //   var c = new C();\n    //   console.log(c.xxx); // expect 5 but always 1.\n    var _this = _super !== null && _super.apply(this, arguments) || this; // ---------------------------------------\n    // Props about data selection\n    // ---------------------------------------\n\n\n    _this._selectedDataIndicesMap = {};\n    return _this;\n  }\n\n  SeriesModel.prototype.init = function (option, parentModel, ecModel) {\n    this.seriesIndex = this.componentIndex;\n    this.dataTask = Object(_core_task_js__WEBPACK_IMPORTED_MODULE_8__[\"createTask\"])({\n      count: dataTaskCount,\n      reset: dataTaskReset\n    });\n    this.dataTask.context = {\n      model: this\n    };\n    this.mergeDefaultAndTheme(option, ecModel);\n    var sourceManager = inner(this).sourceManager = new _data_helper_sourceManager_js__WEBPACK_IMPORTED_MODULE_10__[\"SourceManager\"](this);\n    sourceManager.prepareSource();\n    var data = this.getInitialData(option, ecModel);\n    wrapData(data, this);\n    this.dataTask.context.data = data;\n\n    if (true) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](data, 'getInitialData returned invalid data.');\n    }\n\n    inner(this).dataBeforeProcessed = data; // If we reverse the order (make data firstly, and then make\n    // dataBeforeProcessed by cloneShallow), cloneShallow will\n    // cause data.graph.data !== data when using\n    // module:echarts/data/Graph or module:echarts/data/Tree.\n    // See module:echarts/data/helper/linkSeriesData\n    // Theoretically, it is unreasonable to call `seriesModel.getData()` in the model\n    // init or merge stage, because the data can be restored. So we do not `restoreData`\n    // and `setData` here, which forbids calling `seriesModel.getData()` in this stage.\n    // Call `seriesModel.getRawData()` instead.\n    // this.restoreData();\n\n    autoSeriesName(this);\n\n    this._initSelectedMapFromData(data);\n  };\n  /**\n   * Util for merge default and theme to option\n   */\n\n\n  SeriesModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n    var layoutMode = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"fetchLayoutMode\"])(this);\n    var inputPositionParams = layoutMode ? Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"getLayoutParams\"])(option) : {}; // Backward compat: using subType on theme.\n    // But if name duplicate between series subType\n    // (for example: parallel) add component mainType,\n    // add suffix 'Series'.\n\n    var themeSubType = this.subType;\n\n    if (_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].hasClass(themeSubType)) {\n      themeSubType += 'Series';\n    }\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](option, ecModel.getTheme().get(this.subType));\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](option, this.getDefaultOption()); // Default label emphasis `show`\n\n    _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"defaultEmphasis\"](option, 'label', ['show']);\n    this.fillDataTextStyle(option.data);\n\n    if (layoutMode) {\n      Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"mergeLayoutParam\"])(option, inputPositionParams, layoutMode);\n    }\n  };\n\n  SeriesModel.prototype.mergeOption = function (newSeriesOption, ecModel) {\n    // this.settingTask.dirty();\n    newSeriesOption = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](this.option, newSeriesOption, true);\n    this.fillDataTextStyle(newSeriesOption.data);\n    var layoutMode = Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"fetchLayoutMode\"])(this);\n\n    if (layoutMode) {\n      Object(_util_layout_js__WEBPACK_IMPORTED_MODULE_7__[\"mergeLayoutParam\"])(this.option, newSeriesOption, layoutMode);\n    }\n\n    var sourceManager = inner(this).sourceManager;\n    sourceManager.dirty();\n    sourceManager.prepareSource();\n    var data = this.getInitialData(newSeriesOption, ecModel);\n    wrapData(data, this);\n    this.dataTask.dirty();\n    this.dataTask.context.data = data;\n    inner(this).dataBeforeProcessed = data;\n    autoSeriesName(this);\n\n    this._initSelectedMapFromData(data);\n  };\n\n  SeriesModel.prototype.fillDataTextStyle = function (data) {\n    // Default data label emphasis `show`\n    // FIXME Tree structure data ?\n    // FIXME Performance ?\n    if (data && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isTypedArray\"](data)) {\n      var props = ['show'];\n\n      for (var i = 0; i < data.length; i++) {\n        if (data[i] && data[i].label) {\n          _util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"defaultEmphasis\"](data[i], 'label', props);\n        }\n      }\n    }\n  };\n  /**\n   * Init a data structure from data related option in series\n   * Must be overriden.\n   */\n\n\n  SeriesModel.prototype.getInitialData = function (option, ecModel) {\n    return;\n  };\n  /**\n   * Append data to list\n   */\n\n\n  SeriesModel.prototype.appendData = function (params) {\n    // FIXME ???\n    // (1) If data from dataset, forbidden append.\n    // (2) support append data of dataset.\n    var data = this.getRawData();\n    data.appendData(params.data);\n  };\n  /**\n   * Consider some method like `filter`, `map` need make new data,\n   * We should make sure that `seriesModel.getData()` get correct\n   * data in the stream procedure. So we fetch data from upstream\n   * each time `task.perform` called.\n   */\n\n\n  SeriesModel.prototype.getData = function (dataType) {\n    var task = getCurrentTask(this);\n\n    if (task) {\n      var data = task.context.data;\n      return dataType == null ? data : data.getLinkedData(dataType);\n    } else {\n      // When series is not alive (that may happen when click toolbox\n      // restore or setOption with not merge mode), series data may\n      // be still need to judge animation or something when graphic\n      // elements want to know whether fade out.\n      return inner(this).data;\n    }\n  };\n\n  SeriesModel.prototype.getAllData = function () {\n    var mainData = this.getData();\n    return mainData && mainData.getLinkedDataAll ? mainData.getLinkedDataAll() : [{\n      data: mainData\n    }];\n  };\n\n  SeriesModel.prototype.setData = function (data) {\n    var task = getCurrentTask(this);\n\n    if (task) {\n      var context = task.context; // Consider case: filter, data sample.\n      // FIXME:TS never used, so comment it\n      // if (context.data !== data && task.modifyOutputEnd) {\n      //     task.setOutputEnd(data.count());\n      // }\n\n      context.outputData = data; // Caution: setData should update context.data,\n      // Because getData may be called multiply in a\n      // single stage and expect to get the data just\n      // set. (For example, AxisProxy, x y both call\n      // getData and setDate sequentially).\n      // So the context.data should be fetched from\n      // upstream each time when a stage starts to be\n      // performed.\n\n      if (task !== this.dataTask) {\n        context.data = data;\n      }\n    }\n\n    inner(this).data = data;\n  };\n\n  SeriesModel.prototype.getEncode = function () {\n    var encode = this.get('encode', true);\n\n    if (encode) {\n      return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"createHashMap\"](encode);\n    }\n  };\n\n  SeriesModel.prototype.getSourceManager = function () {\n    return inner(this).sourceManager;\n  };\n\n  SeriesModel.prototype.getSource = function () {\n    return this.getSourceManager().getSource();\n  };\n  /**\n   * Get data before processed\n   */\n\n\n  SeriesModel.prototype.getRawData = function () {\n    return inner(this).dataBeforeProcessed;\n  };\n\n  SeriesModel.prototype.getColorBy = function () {\n    var colorBy = this.get('colorBy');\n    return colorBy || 'series';\n  };\n\n  SeriesModel.prototype.isColorBySeries = function () {\n    return this.getColorBy() === 'series';\n  };\n  /**\n   * Get base axis if has coordinate system and has axis.\n   * By default use coordSys.getBaseAxis();\n   * Can be overrided for some chart.\n   * @return {type} description\n   */\n\n\n  SeriesModel.prototype.getBaseAxis = function () {\n    var coordSys = this.coordinateSystem; // @ts-ignore\n\n    return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();\n  };\n  /**\n   * Default tooltip formatter\n   *\n   * @param dataIndex\n   * @param multipleSeries\n   * @param dataType\n   * @param renderMode valid values: 'html'(by default) and 'richText'.\n   *        'html' is used for rendering tooltip in extra DOM form, and the result\n   *        string is used as DOM HTML content.\n   *        'richText' is used for rendering tooltip in rich text form, for those where\n   *        DOM operation is not supported.\n   * @return formatted tooltip with `html` and `markers`\n   *        Notice: The override method can also return string\n   */\n\n\n  SeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    return Object(_component_tooltip_seriesFormatTooltip_js__WEBPACK_IMPORTED_MODULE_11__[\"defaultSeriesFormatTooltip\"])({\n      series: this,\n      dataIndex: dataIndex,\n      multipleSeries: multipleSeries\n    });\n  };\n\n  SeriesModel.prototype.isAnimationEnabled = function () {\n    var ecModel = this.ecModel; // Disable animation if using echarts in node but not give ssr flag.\n    // In ssr mode, renderToString will generate svg with css animation.\n\n    if (zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].node && !(ecModel && ecModel.ssr)) {\n      return false;\n    }\n\n    var animationEnabled = this.getShallow('animation');\n\n    if (animationEnabled) {\n      if (this.getData().count() > this.getShallow('animationThreshold')) {\n        animationEnabled = false;\n      }\n    }\n\n    return !!animationEnabled;\n  };\n\n  SeriesModel.prototype.restoreData = function () {\n    this.dataTask.dirty();\n  };\n\n  SeriesModel.prototype.getColorFromPalette = function (name, scope, requestColorNum) {\n    var ecModel = this.ecModel; // PENDING\n\n    var color = _mixin_palette_js__WEBPACK_IMPORTED_MODULE_5__[\"PaletteMixin\"].prototype.getColorFromPalette.call(this, name, scope, requestColorNum);\n\n    if (!color) {\n      color = ecModel.getColorFromPalette(name, scope, requestColorNum);\n    }\n\n    return color;\n  };\n  /**\n   * Use `data.mapDimensionsAll(coordDim)` instead.\n   * @deprecated\n   */\n\n\n  SeriesModel.prototype.coordDimToDataDim = function (coordDim) {\n    return this.getRawData().mapDimensionsAll(coordDim);\n  };\n  /**\n   * Get progressive rendering count each step\n   */\n\n\n  SeriesModel.prototype.getProgressive = function () {\n    return this.get('progressive');\n  };\n  /**\n   * Get progressive rendering count each step\n   */\n\n\n  SeriesModel.prototype.getProgressiveThreshold = function () {\n    return this.get('progressiveThreshold');\n  }; // PENGING If selectedMode is null ?\n\n\n  SeriesModel.prototype.select = function (innerDataIndices, dataType) {\n    this._innerSelect(this.getData(dataType), innerDataIndices);\n  };\n\n  SeriesModel.prototype.unselect = function (innerDataIndices, dataType) {\n    var selectedMap = this.option.selectedMap;\n\n    if (!selectedMap) {\n      return;\n    }\n\n    var selectedMode = this.option.selectedMode;\n    var data = this.getData(dataType);\n\n    if (selectedMode === 'series' || selectedMap === 'all') {\n      this.option.selectedMap = {};\n      this._selectedDataIndicesMap = {};\n      return;\n    }\n\n    for (var i = 0; i < innerDataIndices.length; i++) {\n      var dataIndex = innerDataIndices[i];\n      var nameOrId = getSelectionKey(data, dataIndex);\n      selectedMap[nameOrId] = false;\n      this._selectedDataIndicesMap[nameOrId] = -1;\n    }\n  };\n\n  SeriesModel.prototype.toggleSelect = function (innerDataIndices, dataType) {\n    var tmpArr = [];\n\n    for (var i = 0; i < innerDataIndices.length; i++) {\n      tmpArr[0] = innerDataIndices[i];\n      this.isSelected(innerDataIndices[i], dataType) ? this.unselect(tmpArr, dataType) : this.select(tmpArr, dataType);\n    }\n  };\n\n  SeriesModel.prototype.getSelectedDataIndices = function () {\n    if (this.option.selectedMap === 'all') {\n      return [].slice.call(this.getData().getIndices());\n    }\n\n    var selectedDataIndicesMap = this._selectedDataIndicesMap;\n    var nameOrIds = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"](selectedDataIndicesMap);\n    var dataIndices = [];\n\n    for (var i = 0; i < nameOrIds.length; i++) {\n      var dataIndex = selectedDataIndicesMap[nameOrIds[i]];\n\n      if (dataIndex >= 0) {\n        dataIndices.push(dataIndex);\n      }\n    }\n\n    return dataIndices;\n  };\n\n  SeriesModel.prototype.isSelected = function (dataIndex, dataType) {\n    var selectedMap = this.option.selectedMap;\n\n    if (!selectedMap) {\n      return false;\n    }\n\n    var data = this.getData(dataType);\n    return (selectedMap === 'all' || selectedMap[getSelectionKey(data, dataIndex)]) && !data.getItemModel(dataIndex).get(['select', 'disabled']);\n  };\n\n  SeriesModel.prototype.isUniversalTransitionEnabled = function () {\n    if (this[SERIES_UNIVERSAL_TRANSITION_PROP]) {\n      return true;\n    }\n\n    var universalTransitionOpt = this.option.universalTransition; // Quick reject\n\n    if (!universalTransitionOpt) {\n      return false;\n    }\n\n    if (universalTransitionOpt === true) {\n      return true;\n    } // Can be simply 'universalTransition: true'\n\n\n    return universalTransitionOpt && universalTransitionOpt.enabled;\n  };\n\n  SeriesModel.prototype._innerSelect = function (data, innerDataIndices) {\n    var _a, _b;\n\n    var option = this.option;\n    var selectedMode = option.selectedMode;\n    var len = innerDataIndices.length;\n\n    if (!selectedMode || !len) {\n      return;\n    }\n\n    if (selectedMode === 'series') {\n      option.selectedMap = 'all';\n    } else if (selectedMode === 'multiple') {\n      if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"](option.selectedMap)) {\n        option.selectedMap = {};\n      }\n\n      var selectedMap = option.selectedMap;\n\n      for (var i = 0; i < len; i++) {\n        var dataIndex = innerDataIndices[i]; // TODO diffrent types of data share same object.\n\n        var nameOrId = getSelectionKey(data, dataIndex);\n        selectedMap[nameOrId] = true;\n        this._selectedDataIndicesMap[nameOrId] = data.getRawIndex(dataIndex);\n      }\n    } else if (selectedMode === 'single' || selectedMode === true) {\n      var lastDataIndex = innerDataIndices[len - 1];\n      var nameOrId = getSelectionKey(data, lastDataIndex);\n      option.selectedMap = (_a = {}, _a[nameOrId] = true, _a);\n      this._selectedDataIndicesMap = (_b = {}, _b[nameOrId] = data.getRawIndex(lastDataIndex), _b);\n    }\n  };\n\n  SeriesModel.prototype._initSelectedMapFromData = function (data) {\n    // Ignore select info in data if selectedMap exists.\n    // NOTE It's only for legacy usage. edge data is not supported.\n    if (this.option.selectedMap) {\n      return;\n    }\n\n    var dataIndices = [];\n\n    if (data.hasItemOption) {\n      data.each(function (idx) {\n        var rawItem = data.getRawDataItem(idx);\n\n        if (rawItem && rawItem.selected) {\n          dataIndices.push(idx);\n        }\n      });\n    }\n\n    if (dataIndices.length > 0) {\n      this._innerSelect(data, dataIndices);\n    }\n  }; // /**\n  //  * @see {module:echarts/stream/Scheduler}\n  //  */\n  // abstract pipeTask: null\n\n\n  SeriesModel.registerClass = function (clz) {\n    return _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].registerClass(clz);\n  };\n\n  SeriesModel.protoInitialize = function () {\n    var proto = SeriesModel.prototype;\n    proto.type = 'series.__base__';\n    proto.seriesIndex = 0;\n    proto.ignoreStyleOnData = false;\n    proto.hasSymbolVisual = false;\n    proto.defaultSymbol = 'circle'; // Make sure the values can be accessed!\n\n    proto.visualStyleAccessPath = 'itemStyle';\n    proto.visualDrawType = 'fill';\n  }();\n\n  return SeriesModel;\n}(_Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](SeriesModel, _model_mixin_dataFormat_js__WEBPACK_IMPORTED_MODULE_6__[\"DataFormatMixin\"]);\nzrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"mixin\"](SeriesModel, _mixin_palette_js__WEBPACK_IMPORTED_MODULE_5__[\"PaletteMixin\"]);\nObject(_util_clazz_js__WEBPACK_IMPORTED_MODULE_9__[\"mountExtend\"])(SeriesModel, _Component_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n/**\n * MUST be called after `prepareSource` called\n * Here we need to make auto series, especially for auto legend. But we\n * do not modify series.name in option to avoid side effects.\n */\n\nfunction autoSeriesName(seriesModel) {\n  // User specified name has higher priority, otherwise it may cause\n  // series can not be queried unexpectedly.\n  var name = seriesModel.name;\n\n  if (!_util_model_js__WEBPACK_IMPORTED_MODULE_3__[\"isNameSpecified\"](seriesModel)) {\n    seriesModel.name = getSeriesAutoName(seriesModel) || name;\n  }\n}\n\nfunction getSeriesAutoName(seriesModel) {\n  var data = seriesModel.getRawData();\n  var dataDims = data.mapDimensionsAll('seriesName');\n  var nameArr = [];\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](dataDims, function (dataDim) {\n    var dimInfo = data.getDimensionInfo(dataDim);\n    dimInfo.displayName && nameArr.push(dimInfo.displayName);\n  });\n  return nameArr.join(' ');\n}\n\nfunction dataTaskCount(context) {\n  return context.model.getRawData().count();\n}\n\nfunction dataTaskReset(context) {\n  var seriesModel = context.model;\n  seriesModel.setData(seriesModel.getRawData().cloneShallow());\n  return dataTaskProgress;\n}\n\nfunction dataTaskProgress(param, context) {\n  // Avoid repead cloneShallow when data just created in reset.\n  if (context.outputData && param.end > context.outputData.count()) {\n    context.model.getRawData().cloneShallow(context.outputData);\n  }\n} // TODO refactor\n\n\nfunction wrapData(data, seriesModel) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"concatArray\"](data.CHANGABLE_METHODS, data.DOWNSAMPLE_METHODS), function (methodName) {\n    data.wrapMethod(methodName, zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"curry\"](onDataChange, seriesModel));\n  });\n}\n\nfunction onDataChange(seriesModel, newList) {\n  var task = getCurrentTask(seriesModel);\n\n  if (task) {\n    // Consider case: filter, selectRange\n    task.setOutputEnd((newList || this).count());\n  }\n\n  return newList;\n}\n\nfunction getCurrentTask(seriesModel) {\n  var scheduler = (seriesModel.ecModel || {}).scheduler;\n  var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);\n\n  if (pipeline) {\n    // When pipline finished, the currrentTask keep the last\n    // task (renderTask).\n    var task = pipeline.currentTask;\n\n    if (task) {\n      var agentStubMap = task.agentStubMap;\n\n      if (agentStubMap) {\n        task = agentStubMap.get(seriesModel.uid);\n      }\n    }\n\n    return task;\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SeriesModel);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/Series.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/globalDefault.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/model/globalDefault.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar platform = ''; // Navigator not exists in node\n\nif (typeof navigator !== 'undefined') {\n  /* global navigator */\n  platform = navigator.platform || '';\n}\n\nvar decalColor = 'rgba(0, 0, 0, 0.2)';\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  darkMode: 'auto',\n  // backgroundColor: 'rgba(0,0,0,0)',\n  colorBy: 'series',\n  color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n  gradientColor: ['#f6efa6', '#d88273', '#bf444c'],\n  aria: {\n    decal: {\n      decals: [{\n        color: decalColor,\n        dashArrayX: [1, 0],\n        dashArrayY: [2, 5],\n        symbolSize: 1,\n        rotation: Math.PI / 6\n      }, {\n        color: decalColor,\n        symbol: 'circle',\n        dashArrayX: [[8, 8], [0, 8, 8, 0]],\n        dashArrayY: [6, 0],\n        symbolSize: 0.8\n      }, {\n        color: decalColor,\n        dashArrayX: [1, 0],\n        dashArrayY: [4, 3],\n        rotation: -Math.PI / 4\n      }, {\n        color: decalColor,\n        dashArrayX: [[6, 6], [0, 6, 6, 0]],\n        dashArrayY: [6, 0]\n      }, {\n        color: decalColor,\n        dashArrayX: [[1, 0], [1, 6]],\n        dashArrayY: [1, 0, 6, 0],\n        rotation: Math.PI / 4\n      }, {\n        color: decalColor,\n        symbol: 'triangle',\n        dashArrayX: [[9, 9], [0, 9, 9, 0]],\n        dashArrayY: [7, 2],\n        symbolSize: 0.75\n      }]\n    }\n  },\n  // If xAxis and yAxis declared, grid is created by default.\n  // grid: {},\n  textStyle: {\n    // color: '#000',\n    // decoration: 'none',\n    // PENDING\n    fontFamily: platform.match(/^Win/) ? 'Microsoft YaHei' : 'sans-serif',\n    // fontFamily: 'Arial, Verdana, sans-serif',\n    fontSize: 12,\n    fontStyle: 'normal',\n    fontWeight: 'normal'\n  },\n  // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/\n  // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n  // Default is source-over\n  blendMode: null,\n  stateAnimation: {\n    duration: 300,\n    easing: 'cubicOut'\n  },\n  animation: 'auto',\n  animationDuration: 1000,\n  animationDurationUpdate: 500,\n  animationEasing: 'cubicInOut',\n  animationEasingUpdate: 'cubicInOut',\n  animationThreshold: 2000,\n  // Configuration for progressive/incremental rendering\n  progressiveThreshold: 3000,\n  progressive: 400,\n  // Threshold of if use single hover layer to optimize.\n  // It is recommended that `hoverLayerThreshold` is equivalent to or less than\n  // `progressiveThreshold`, otherwise hover will cause restart of progressive,\n  // which is unexpected.\n  // see example <echarts/test/heatmap-large.html>.\n  hoverLayerThreshold: 3000,\n  // See: module:echarts/scale/Time\n  useUTC: false\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/globalDefault.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/internalComponentCreator.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/model/internalComponentCreator.js ***!
  \********************************************************************/
/*! exports provided: registerInternalOptionCreator, concatInternalOptions */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerInternalOptionCreator\", function() { return registerInternalOptionCreator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatInternalOptions\", function() { return concatInternalOptions; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar internalOptionCreatorMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\nfunction registerInternalOptionCreator(mainType, creator) {\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(internalOptionCreatorMap.get(mainType) == null && creator);\n  internalOptionCreatorMap.set(mainType, creator);\n}\nfunction concatInternalOptions(ecModel, mainType, newCmptOptionList) {\n  var internalOptionCreator = internalOptionCreatorMap.get(mainType);\n\n  if (!internalOptionCreator) {\n    return newCmptOptionList;\n  }\n\n  var internalOptions = internalOptionCreator(ecModel);\n\n  if (!internalOptions) {\n    return newCmptOptionList;\n  }\n\n  if (true) {\n    for (var i = 0; i < internalOptions.length; i++) {\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"isComponentIdInternal\"])(internalOptions[i]));\n    }\n  }\n\n  return newCmptOptionList.concat(internalOptions);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/internalComponentCreator.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/areaStyle.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/areaStyle.js ***!
  \***********************************************************/
/*! exports provided: AREA_STYLE_KEY_MAP, AreaStyleMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AREA_STYLE_KEY_MAP\", function() { return AREA_STYLE_KEY_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AreaStyleMixin\", function() { return AreaStyleMixin; });\n/* harmony import */ var _makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./makeStyleMapper.js */ \"./node_modules/echarts/lib/model/mixin/makeStyleMapper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar AREA_STYLE_KEY_MAP = [['fill', 'color'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['opacity'], ['shadowColor'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n];\nvar getAreaStyle = Object(_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(AREA_STYLE_KEY_MAP);\n\nvar AreaStyleMixin =\n/** @class */\nfunction () {\n  function AreaStyleMixin() {}\n\n  AreaStyleMixin.prototype.getAreaStyle = function (excludes, includes) {\n    return getAreaStyle(this, excludes, includes);\n  };\n\n  return AreaStyleMixin;\n}();\n\n;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/areaStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/dataFormat.js":
/*!************************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/dataFormat.js ***!
  \************************************************************/
/*! exports provided: DataFormatMixin, normalizeTooltipFormatResult */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DataFormatMixin\", function() { return DataFormatMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeTooltipFormatResult\", function() { return normalizeTooltipFormatResult; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../data/helper/dataProvider.js */ \"./node_modules/echarts/lib/data/helper/dataProvider.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g;\n\nvar DataFormatMixin =\n/** @class */\nfunction () {\n  function DataFormatMixin() {}\n  /**\n   * Get params for formatter\n   */\n\n\n  DataFormatMixin.prototype.getDataParams = function (dataIndex, dataType) {\n    var data = this.getData(dataType);\n    var rawValue = this.getRawValue(dataIndex, dataType);\n    var rawDataIndex = data.getRawIndex(dataIndex);\n    var name = data.getName(dataIndex);\n    var itemOpt = data.getRawDataItem(dataIndex);\n    var style = data.getItemVisual(dataIndex, 'style');\n    var color = style && style[data.getItemVisual(dataIndex, 'drawType') || 'fill'];\n    var borderColor = style && style.stroke;\n    var mainType = this.mainType;\n    var isSeries = mainType === 'series';\n    var userOutput = data.userOutput && data.userOutput.get();\n    return {\n      componentType: mainType,\n      componentSubType: this.subType,\n      componentIndex: this.componentIndex,\n      seriesType: isSeries ? this.subType : null,\n      seriesIndex: this.seriesIndex,\n      seriesId: isSeries ? this.id : null,\n      seriesName: isSeries ? this.name : null,\n      name: name,\n      dataIndex: rawDataIndex,\n      data: itemOpt,\n      dataType: dataType,\n      value: rawValue,\n      color: color,\n      borderColor: borderColor,\n      dimensionNames: userOutput ? userOutput.fullDimensions : null,\n      encode: userOutput ? userOutput.encode : null,\n      // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n      $vars: ['seriesName', 'name', 'value']\n    };\n  };\n  /**\n   * Format label\n   * @param dataIndex\n   * @param status 'normal' by default\n   * @param dataType\n   * @param labelDimIndex Only used in some chart that\n   *        use formatter in different dimensions, like radar.\n   * @param formatter Formatter given outside.\n   * @return return null/undefined if no formatter\n   */\n\n\n  DataFormatMixin.prototype.getFormattedLabel = function (dataIndex, status, dataType, labelDimIndex, formatter, extendParams) {\n    status = status || 'normal';\n    var data = this.getData(dataType);\n    var params = this.getDataParams(dataIndex, dataType);\n\n    if (extendParams) {\n      params.value = extendParams.interpolatedValue;\n    }\n\n    if (labelDimIndex != null && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](params.value)) {\n      params.value = params.value[labelDimIndex];\n    }\n\n    if (!formatter) {\n      var itemModel = data.getItemModel(dataIndex); // @ts-ignore\n\n      formatter = itemModel.get(status === 'normal' ? ['label', 'formatter'] : [status, 'label', 'formatter']);\n    }\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](formatter)) {\n      params.status = status;\n      params.dimensionIndex = labelDimIndex;\n      return formatter(params);\n    } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](formatter)) {\n      var str = Object(_util_format_js__WEBPACK_IMPORTED_MODULE_2__[\"formatTpl\"])(formatter, params); // Support 'aaa{@[3]}bbb{@product}ccc'.\n      // Do not support '}' in dim name util have to.\n\n      return str.replace(DIMENSION_LABEL_REG, function (origin, dimStr) {\n        var len = dimStr.length;\n        var dimLoose = dimStr;\n\n        if (dimLoose.charAt(0) === '[' && dimLoose.charAt(len - 1) === ']') {\n          dimLoose = +dimLoose.slice(1, len - 1); // Also support: '[]' => 0\n\n          if (true) {\n            if (isNaN(dimLoose)) {\n              Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"error\"])(\"Invalide label formatter: @\" + dimStr + \", only support @[0], @[1], @[2], ...\");\n            }\n          }\n        }\n\n        var val = Object(_data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieveRawValue\"])(data, dataIndex, dimLoose);\n\n        if (extendParams && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](extendParams.interpolatedValue)) {\n          var dimIndex = data.getDimensionIndex(dimLoose);\n\n          if (dimIndex >= 0) {\n            val = extendParams.interpolatedValue[dimIndex];\n          }\n        }\n\n        return val != null ? val + '' : '';\n      });\n    }\n  };\n  /**\n   * Get raw value in option\n   */\n\n\n  DataFormatMixin.prototype.getRawValue = function (idx, dataType) {\n    return Object(_data_helper_dataProvider_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieveRawValue\"])(this.getData(dataType), idx);\n  };\n  /**\n   * Should be implemented.\n   * @param {number} dataIndex\n   * @param {boolean} [multipleSeries=false]\n   * @param {string} [dataType]\n   */\n\n\n  DataFormatMixin.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n    // Empty function\n    return;\n  };\n\n  return DataFormatMixin;\n}();\n\n\n; // PENDING: previously we accept this type when calling `formatTooltip`,\n// but guess little chance has been used outside. Do we need to backward\n// compat it?\n// type TooltipFormatResultLegacyObject = {\n//     // `html` means the markup language text, either in 'html' or 'richText'.\n//     // The name `html` is not appropriate becuase in 'richText' it is not a HTML\n//     // string. But still support it for backward compat.\n//     html: string;\n//     markers: Dictionary<ColorString>;\n// };\n\n/**\n * For backward compat, normalize the return from `formatTooltip`.\n */\n\nfunction normalizeTooltipFormatResult(result) {\n  var markupText; // let markers: Dictionary<ColorString>;\n\n  var markupFragment;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](result)) {\n    if (result.type) {\n      markupFragment = result;\n    } else {\n      if (true) {\n        console.warn('The return type of `formatTooltip` is not supported: ' + Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"makePrintable\"])(result));\n      }\n    } // else {\n    //     markupText = (result as TooltipFormatResultLegacyObject).html;\n    //     markers = (result as TooltipFormatResultLegacyObject).markers;\n    //     if (markersExisting) {\n    //         markers = zrUtil.merge(markersExisting, markers);\n    //     }\n    // }\n\n  } else {\n    markupText = result;\n  }\n\n  return {\n    text: markupText,\n    // markers: markers || markersExisting,\n    frag: markupFragment\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/dataFormat.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/itemStyle.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/itemStyle.js ***!
  \***********************************************************/
/*! exports provided: ITEM_STYLE_KEY_MAP, ItemStyleMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ITEM_STYLE_KEY_MAP\", function() { return ITEM_STYLE_KEY_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemStyleMixin\", function() { return ItemStyleMixin; });\n/* harmony import */ var _makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./makeStyleMapper.js */ \"./node_modules/echarts/lib/model/mixin/makeStyleMapper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ITEM_STYLE_KEY_MAP = [['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['lineDash', 'borderType'], ['lineDashOffset', 'borderDashOffset'], ['lineCap', 'borderCap'], ['lineJoin', 'borderJoin'], ['miterLimit', 'borderMiterLimit'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n];\nvar getItemStyle = Object(_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ITEM_STYLE_KEY_MAP);\n\nvar ItemStyleMixin =\n/** @class */\nfunction () {\n  function ItemStyleMixin() {}\n\n  ItemStyleMixin.prototype.getItemStyle = function (excludes, includes) {\n    return getItemStyle(this, excludes, includes);\n  };\n\n  return ItemStyleMixin;\n}();\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/itemStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/lineStyle.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/lineStyle.js ***!
  \***********************************************************/
/*! exports provided: LINE_STYLE_KEY_MAP, LineStyleMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINE_STYLE_KEY_MAP\", function() { return LINE_STYLE_KEY_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineStyleMixin\", function() { return LineStyleMixin; });\n/* harmony import */ var _makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./makeStyleMapper.js */ \"./node_modules/echarts/lib/model/mixin/makeStyleMapper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar LINE_STYLE_KEY_MAP = [['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['lineDash', 'type'], ['lineDashOffset', 'dashOffset'], ['lineCap', 'cap'], ['lineJoin', 'join'], ['miterLimit'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n];\nvar getLineStyle = Object(_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(LINE_STYLE_KEY_MAP);\n\nvar LineStyleMixin =\n/** @class */\nfunction () {\n  function LineStyleMixin() {}\n\n  LineStyleMixin.prototype.getLineStyle = function (excludes) {\n    return getLineStyle(this, excludes);\n  };\n\n  return LineStyleMixin;\n}();\n\n;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/lineStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/makeStyleMapper.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/makeStyleMapper.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return makeStyleMapper; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Parse shadow style\n// TODO Only shallow path support\n\nfunction makeStyleMapper(properties, ignoreParent) {\n  // Normalize\n  for (var i = 0; i < properties.length; i++) {\n    if (!properties[i][1]) {\n      properties[i][1] = properties[i][0];\n    }\n  }\n\n  ignoreParent = ignoreParent || false;\n  return function (model, excludes, includes) {\n    var style = {};\n\n    for (var i = 0; i < properties.length; i++) {\n      var propName = properties[i][1];\n\n      if (excludes && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](excludes, propName) >= 0 || includes && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](includes, propName) < 0) {\n        continue;\n      }\n\n      var val = model.getShallow(propName, ignoreParent);\n\n      if (val != null) {\n        style[properties[i][0]] = val;\n      }\n    } // TODO Text or image?\n\n\n    return style;\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/makeStyleMapper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/palette.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/palette.js ***!
  \*********************************************************/
/*! exports provided: getDecalFromPalette, PaletteMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDecalFromPalette\", function() { return getDecalFromPalette; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PaletteMixin\", function() { return PaletteMixin; });\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar innerColor = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\nvar innerDecal = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\n\nvar PaletteMixin =\n/** @class */\nfunction () {\n  function PaletteMixin() {}\n\n  PaletteMixin.prototype.getColorFromPalette = function (name, scope, requestNum) {\n    var defaultPalette = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(this.get('color', true));\n    var layeredPalette = this.get('colorLayer', true);\n    return getFromPalette(this, innerColor, defaultPalette, layeredPalette, name, scope, requestNum);\n  };\n\n  PaletteMixin.prototype.clearColorPalette = function () {\n    clearPalette(this, innerColor);\n  };\n\n  return PaletteMixin;\n}();\n\nfunction getDecalFromPalette(ecModel, name, scope, requestNum) {\n  var defaultDecals = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeToArray\"])(ecModel.get(['aria', 'decal', 'decals']));\n  return getFromPalette(ecModel, innerDecal, defaultDecals, null, name, scope, requestNum);\n}\n\nfunction getNearestPalette(palettes, requestColorNum) {\n  var paletteNum = palettes.length; // TODO palettes must be in order\n\n  for (var i = 0; i < paletteNum; i++) {\n    if (palettes[i].length > requestColorNum) {\n      return palettes[i];\n    }\n  }\n\n  return palettes[paletteNum - 1];\n}\n/**\n * @param name MUST NOT be null/undefined. Otherwise call this function\n *             twise with the same parameters will get different result.\n * @param scope default this.\n * @return Can be null/undefined\n */\n\n\nfunction getFromPalette(that, inner, defaultPalette, layeredPalette, name, scope, requestNum) {\n  scope = scope || that;\n  var scopeFields = inner(scope);\n  var paletteIdx = scopeFields.paletteIdx || 0;\n  var paletteNameMap = scopeFields.paletteNameMap = scopeFields.paletteNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n  if (paletteNameMap.hasOwnProperty(name)) {\n    return paletteNameMap[name];\n  }\n\n  var palette = requestNum == null || !layeredPalette ? defaultPalette : getNearestPalette(layeredPalette, requestNum); // In case can't find in layered color palette.\n\n  palette = palette || defaultPalette;\n\n  if (!palette || !palette.length) {\n    return;\n  }\n\n  var pickedPaletteItem = palette[paletteIdx];\n\n  if (name) {\n    paletteNameMap[name] = pickedPaletteItem;\n  }\n\n  scopeFields.paletteIdx = (paletteIdx + 1) % palette.length;\n  return pickedPaletteItem;\n}\n\nfunction clearPalette(that, inner) {\n  inner(that).paletteIdx = 0;\n  inner(that).paletteNameMap = {};\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/palette.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/mixin/textStyle.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/model/mixin/textStyle.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _label_labelStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../label/labelStyle.js */ \"./node_modules/echarts/lib/label/labelStyle.js\");\n/* harmony import */ var zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Text.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar PATH_COLOR = ['textStyle', 'color'];\nvar textStyleParams = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'padding', 'lineHeight', 'rich', 'width', 'height', 'overflow']; // TODO Performance improvement?\n\nvar tmpText = new zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n\nvar TextStyleMixin =\n/** @class */\nfunction () {\n  function TextStyleMixin() {}\n  /**\n   * Get color property or get color from option.textStyle.color\n   */\n  // TODO Callback\n\n\n  TextStyleMixin.prototype.getTextColor = function (isEmphasis) {\n    var ecModel = this.ecModel;\n    return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);\n  };\n  /**\n   * Create font string from fontStyle, fontWeight, fontSize, fontFamily\n   * @return {string}\n   */\n\n\n  TextStyleMixin.prototype.getFont = function () {\n    return Object(_label_labelStyle_js__WEBPACK_IMPORTED_MODULE_0__[\"getFont\"])({\n      fontStyle: this.getShallow('fontStyle'),\n      fontWeight: this.getShallow('fontWeight'),\n      fontSize: this.getShallow('fontSize'),\n      fontFamily: this.getShallow('fontFamily')\n    }, this.ecModel);\n  };\n\n  TextStyleMixin.prototype.getTextRect = function (text) {\n    var style = {\n      text: text,\n      verticalAlign: this.getShallow('verticalAlign') || this.getShallow('baseline')\n    };\n\n    for (var i = 0; i < textStyleParams.length; i++) {\n      style[textStyleParams[i]] = this.getShallow(textStyleParams[i]);\n    }\n\n    tmpText.useStyle(style);\n    tmpText.update();\n    return tmpText.getBoundingRect();\n  };\n\n  return TextStyleMixin;\n}();\n\n;\n/* harmony default export */ __webpack_exports__[\"default\"] = (TextStyleMixin);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/textStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/model/referHelper.js":
/*!*******************************************************!*\
  !*** ./node_modules/echarts/lib/model/referHelper.js ***!
  \*******************************************************/
/*! exports provided: getCoordSysInfoBySeries */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCoordSysInfoBySeries\", function() { return getCoordSysInfoBySeries; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Helper for model references.\n * There are many manners to refer axis/coordSys.\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\n\n\n/**\n * @class\n * For example:\n * {\n *     coordSysName: 'cartesian2d',\n *     coordSysDims: ['x', 'y', ...],\n *     axisMap: HashMap({\n *         x: xAxisModel,\n *         y: yAxisModel\n *     }),\n *     categoryAxisMap: HashMap({\n *         x: xAxisModel,\n *         y: undefined\n *     }),\n *     // The index of the first category axis in `coordSysDims`.\n *     // `null/undefined` means no category axis exists.\n *     firstCategoryDimIndex: 1,\n *     // To replace user specified encode.\n * }\n */\n\nvar CoordSysInfo =\n/** @class */\nfunction () {\n  function CoordSysInfo(coordSysName) {\n    this.coordSysDims = [];\n    this.axisMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    this.categoryAxisMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    this.coordSysName = coordSysName;\n  }\n\n  return CoordSysInfo;\n}();\n\nfunction getCoordSysInfoBySeries(seriesModel) {\n  var coordSysName = seriesModel.get('coordinateSystem');\n  var result = new CoordSysInfo(coordSysName);\n  var fetch = fetchers[coordSysName];\n\n  if (fetch) {\n    fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n    return result;\n  }\n}\nvar fetchers = {\n  cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n    var xAxisModel = seriesModel.getReferringComponents('xAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n    var yAxisModel = seriesModel.getReferringComponents('yAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n\n    if (true) {\n      if (!xAxisModel) {\n        throw new Error('xAxis \"' + Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"])(seriesModel.get('xAxisIndex'), seriesModel.get('xAxisId'), 0) + '\" not found');\n      }\n\n      if (!yAxisModel) {\n        throw new Error('yAxis \"' + Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve\"])(seriesModel.get('xAxisIndex'), seriesModel.get('yAxisId'), 0) + '\" not found');\n      }\n    }\n\n    result.coordSysDims = ['x', 'y'];\n    axisMap.set('x', xAxisModel);\n    axisMap.set('y', yAxisModel);\n\n    if (isCategory(xAxisModel)) {\n      categoryAxisMap.set('x', xAxisModel);\n      result.firstCategoryDimIndex = 0;\n    }\n\n    if (isCategory(yAxisModel)) {\n      categoryAxisMap.set('y', yAxisModel);\n      result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n    }\n  },\n  singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n    var singleAxisModel = seriesModel.getReferringComponents('singleAxis', _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n\n    if (true) {\n      if (!singleAxisModel) {\n        throw new Error('singleAxis should be specified.');\n      }\n    }\n\n    result.coordSysDims = ['single'];\n    axisMap.set('single', singleAxisModel);\n\n    if (isCategory(singleAxisModel)) {\n      categoryAxisMap.set('single', singleAxisModel);\n      result.firstCategoryDimIndex = 0;\n    }\n  },\n  polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n    var polarModel = seriesModel.getReferringComponents('polar', _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"SINGLE_REFERRING\"]).models[0];\n    var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n    var angleAxisModel = polarModel.findAxisModel('angleAxis');\n\n    if (true) {\n      if (!angleAxisModel) {\n        throw new Error('angleAxis option not found');\n      }\n\n      if (!radiusAxisModel) {\n        throw new Error('radiusAxis option not found');\n      }\n    }\n\n    result.coordSysDims = ['radius', 'angle'];\n    axisMap.set('radius', radiusAxisModel);\n    axisMap.set('angle', angleAxisModel);\n\n    if (isCategory(radiusAxisModel)) {\n      categoryAxisMap.set('radius', radiusAxisModel);\n      result.firstCategoryDimIndex = 0;\n    }\n\n    if (isCategory(angleAxisModel)) {\n      categoryAxisMap.set('angle', angleAxisModel);\n      result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n    }\n  },\n  geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n    result.coordSysDims = ['lng', 'lat'];\n  },\n  parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n    var ecModel = seriesModel.ecModel;\n    var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n    var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n      var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n      var axisDim = coordSysDims[index];\n      axisMap.set(axisDim, axisModel);\n\n      if (isCategory(axisModel)) {\n        categoryAxisMap.set(axisDim, axisModel);\n\n        if (result.firstCategoryDimIndex == null) {\n          result.firstCategoryDimIndex = index;\n        }\n      }\n    });\n  }\n};\n\nfunction isCategory(axisModel) {\n  return axisModel.get('type') === 'category';\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/referHelper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/preprocessor/backwardCompat.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/preprocessor/backwardCompat.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return globalBackwardCompat; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_compatStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper/compatStyle.js */ \"./node_modules/echarts/lib/preprocessor/helper/compatStyle.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction get(opt, path) {\n  var pathArr = path.split(',');\n  var obj = opt;\n\n  for (var i = 0; i < pathArr.length; i++) {\n    obj = obj && obj[pathArr[i]];\n\n    if (obj == null) {\n      break;\n    }\n  }\n\n  return obj;\n}\n\nfunction set(opt, path, val, overwrite) {\n  var pathArr = path.split(',');\n  var obj = opt;\n  var key;\n  var i = 0;\n\n  for (; i < pathArr.length - 1; i++) {\n    key = pathArr[i];\n\n    if (obj[key] == null) {\n      obj[key] = {};\n    }\n\n    obj = obj[key];\n  }\n\n  if (overwrite || obj[pathArr[i]] == null) {\n    obj[pathArr[i]] = val;\n  }\n}\n\nfunction compatLayoutProperties(option) {\n  option && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(LAYOUT_PROPERTIES, function (prop) {\n    if (prop[0] in option && !(prop[1] in option)) {\n      option[prop[1]] = option[prop[0]];\n    }\n  });\n}\n\nvar LAYOUT_PROPERTIES = [['x', 'left'], ['y', 'top'], ['x2', 'right'], ['y2', 'bottom']];\nvar COMPATITABLE_COMPONENTS = ['grid', 'geo', 'parallel', 'legend', 'toolbox', 'title', 'visualMap', 'dataZoom', 'timeline'];\nvar BAR_ITEM_STYLE_MAP = [['borderRadius', 'barBorderRadius'], ['borderColor', 'barBorderColor'], ['borderWidth', 'barBorderWidth']];\n\nfunction compatBarItemStyle(option) {\n  var itemStyle = option && option.itemStyle;\n\n  if (itemStyle) {\n    for (var i = 0; i < BAR_ITEM_STYLE_MAP.length; i++) {\n      var oldName = BAR_ITEM_STYLE_MAP[i][1];\n      var newName = BAR_ITEM_STYLE_MAP[i][0];\n\n      if (itemStyle[oldName] != null) {\n        itemStyle[newName] = itemStyle[oldName];\n\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])(oldName, newName);\n        }\n      }\n    }\n  }\n}\n\nfunction compatPieLabel(option) {\n  if (!option) {\n    return;\n  }\n\n  if (option.alignTo === 'edge' && option.margin != null && option.edgeDistance == null) {\n    if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('label.margin', 'label.edgeDistance', 'pie');\n    }\n\n    option.edgeDistance = option.margin;\n  }\n}\n\nfunction compatSunburstState(option) {\n  if (!option) {\n    return;\n  }\n\n  if (option.downplay && !option.blur) {\n    option.blur = option.downplay;\n\n    if (true) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('downplay', 'blur', 'sunburst');\n    }\n  }\n}\n\nfunction compatGraphFocus(option) {\n  if (!option) {\n    return;\n  }\n\n  if (option.focusNodeAdjacency != null) {\n    option.emphasis = option.emphasis || {};\n\n    if (option.emphasis.focus == null) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('focusNodeAdjacency', 'emphasis: { focus: \\'adjacency\\'}', 'graph/sankey');\n      }\n\n      option.emphasis.focus = 'adjacency';\n    }\n  }\n}\n\nfunction traverseTree(data, cb) {\n  if (data) {\n    for (var i = 0; i < data.length; i++) {\n      cb(data[i]);\n      data[i] && traverseTree(data[i].children, cb);\n    }\n  }\n}\n\nfunction globalBackwardCompat(option, isTheme) {\n  Object(_helper_compatStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(option, isTheme); // Make sure series array for model initialization.\n\n  option.series = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeToArray\"])(option.series);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(option.series, function (seriesOpt) {\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(seriesOpt)) {\n      return;\n    }\n\n    var seriesType = seriesOpt.type;\n\n    if (seriesType === 'line') {\n      if (seriesOpt.clipOverflow != null) {\n        seriesOpt.clip = seriesOpt.clipOverflow;\n\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('clipOverflow', 'clip', 'line');\n        }\n      }\n    } else if (seriesType === 'pie' || seriesType === 'gauge') {\n      if (seriesOpt.clockWise != null) {\n        seriesOpt.clockwise = seriesOpt.clockWise;\n\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('clockWise', 'clockwise');\n        }\n      }\n\n      compatPieLabel(seriesOpt.label);\n      var data = seriesOpt.data;\n\n      if (data && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"])(data)) {\n        for (var i = 0; i < data.length; i++) {\n          compatPieLabel(data[i]);\n        }\n      }\n\n      if (seriesOpt.hoverOffset != null) {\n        seriesOpt.emphasis = seriesOpt.emphasis || {};\n\n        if (seriesOpt.emphasis.scaleSize = null) {\n          if (true) {\n            Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('hoverOffset', 'emphasis.scaleSize');\n          }\n\n          seriesOpt.emphasis.scaleSize = seriesOpt.hoverOffset;\n        }\n      }\n    } else if (seriesType === 'gauge') {\n      var pointerColor = get(seriesOpt, 'pointer.color');\n      pointerColor != null && set(seriesOpt, 'itemStyle.color', pointerColor);\n    } else if (seriesType === 'bar') {\n      compatBarItemStyle(seriesOpt);\n      compatBarItemStyle(seriesOpt.backgroundStyle);\n      compatBarItemStyle(seriesOpt.emphasis);\n      var data = seriesOpt.data;\n\n      if (data && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"])(data)) {\n        for (var i = 0; i < data.length; i++) {\n          if (typeof data[i] === 'object') {\n            compatBarItemStyle(data[i]);\n            compatBarItemStyle(data[i] && data[i].emphasis);\n          }\n        }\n      }\n    } else if (seriesType === 'sunburst') {\n      var highlightPolicy = seriesOpt.highlightPolicy;\n\n      if (highlightPolicy) {\n        seriesOpt.emphasis = seriesOpt.emphasis || {};\n\n        if (!seriesOpt.emphasis.focus) {\n          seriesOpt.emphasis.focus = highlightPolicy;\n\n          if (true) {\n            Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('highlightPolicy', 'emphasis.focus', 'sunburst');\n          }\n        }\n      }\n\n      compatSunburstState(seriesOpt);\n      traverseTree(seriesOpt.data, compatSunburstState);\n    } else if (seriesType === 'graph' || seriesType === 'sankey') {\n      compatGraphFocus(seriesOpt); // TODO nodes, edges?\n    } else if (seriesType === 'map') {\n      if (seriesOpt.mapType && !seriesOpt.map) {\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('mapType', 'map', 'map');\n        }\n\n        seriesOpt.map = seriesOpt.mapType;\n      }\n\n      if (seriesOpt.mapLocation) {\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateLog\"])('`mapLocation` is not used anymore.');\n        }\n\n        Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"])(seriesOpt, seriesOpt.mapLocation);\n      }\n    }\n\n    if (seriesOpt.hoverAnimation != null) {\n      seriesOpt.emphasis = seriesOpt.emphasis || {};\n\n      if (seriesOpt.emphasis && seriesOpt.emphasis.scale == null) {\n        if (true) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"deprecateReplaceLog\"])('hoverAnimation', 'emphasis.scale');\n        }\n\n        seriesOpt.emphasis.scale = seriesOpt.hoverAnimation;\n      }\n    }\n\n    compatLayoutProperties(seriesOpt);\n  }); // dataRange has changed to visualMap\n\n  if (option.dataRange) {\n    option.visualMap = option.dataRange;\n  }\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(COMPATITABLE_COMPONENTS, function (componentName) {\n    var options = option[componentName];\n\n    if (options) {\n      if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(options)) {\n        options = [options];\n      }\n\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(options, function (option) {\n        compatLayoutProperties(option);\n      });\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/preprocessor/backwardCompat.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/preprocessor/helper/compatStyle.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/lib/preprocessor/helper/compatStyle.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return globalCompatStyle; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nvar isObject = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"];\nvar POSSIBLE_STYLES = ['areaStyle', 'lineStyle', 'nodeStyle', 'linkStyle', 'chordStyle', 'label', 'labelLine'];\n\nfunction compatEC2ItemStyle(opt) {\n  var itemStyleOpt = opt && opt.itemStyle;\n\n  if (!itemStyleOpt) {\n    return;\n  }\n\n  for (var i = 0, len = POSSIBLE_STYLES.length; i < len; i++) {\n    var styleName = POSSIBLE_STYLES[i];\n    var normalItemStyleOpt = itemStyleOpt.normal;\n    var emphasisItemStyleOpt = itemStyleOpt.emphasis;\n\n    if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateReplaceLog\"])(\"itemStyle.normal.\" + styleName, styleName);\n      }\n\n      opt[styleName] = opt[styleName] || {};\n\n      if (!opt[styleName].normal) {\n        opt[styleName].normal = normalItemStyleOpt[styleName];\n      } else {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"](opt[styleName].normal, normalItemStyleOpt[styleName]);\n      }\n\n      normalItemStyleOpt[styleName] = null;\n    }\n\n    if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateReplaceLog\"])(\"itemStyle.emphasis.\" + styleName, \"emphasis.\" + styleName);\n      }\n\n      opt[styleName] = opt[styleName] || {};\n\n      if (!opt[styleName].emphasis) {\n        opt[styleName].emphasis = emphasisItemStyleOpt[styleName];\n      } else {\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"](opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);\n      }\n\n      emphasisItemStyleOpt[styleName] = null;\n    }\n  }\n}\n\nfunction convertNormalEmphasis(opt, optType, useExtend) {\n  if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {\n    var normalOpt = opt[optType].normal;\n    var emphasisOpt = opt[optType].emphasis;\n\n    if (normalOpt) {\n      if (true) {\n        // eslint-disable-next-line max-len\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateLog\"])(\"'normal' hierarchy in \" + optType + \" has been removed since 4.0. All style properties are configured in \" + optType + \" directly now.\");\n      } // Timeline controlStyle has other properties besides normal and emphasis\n\n\n      if (useExtend) {\n        opt[optType].normal = opt[optType].emphasis = null;\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"](opt[optType], normalOpt);\n      } else {\n        opt[optType] = normalOpt;\n      }\n    }\n\n    if (emphasisOpt) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateLog\"])(optType + \".emphasis has been changed to emphasis.\" + optType + \" since 4.0\");\n      }\n\n      opt.emphasis = opt.emphasis || {};\n      opt.emphasis[optType] = emphasisOpt; // Also compat the case user mix the style and focus together in ec3 style\n      // for example: { itemStyle: { normal: {}, emphasis: {focus, shadowBlur} } }\n\n      if (emphasisOpt.focus) {\n        opt.emphasis.focus = emphasisOpt.focus;\n      }\n\n      if (emphasisOpt.blurScope) {\n        opt.emphasis.blurScope = emphasisOpt.blurScope;\n      }\n    }\n  }\n}\n\nfunction removeEC3NormalStatus(opt) {\n  convertNormalEmphasis(opt, 'itemStyle');\n  convertNormalEmphasis(opt, 'lineStyle');\n  convertNormalEmphasis(opt, 'areaStyle');\n  convertNormalEmphasis(opt, 'label');\n  convertNormalEmphasis(opt, 'labelLine'); // treemap\n\n  convertNormalEmphasis(opt, 'upperLabel'); // graph\n\n  convertNormalEmphasis(opt, 'edgeLabel');\n}\n\nfunction compatTextStyle(opt, propName) {\n  // Check whether is not object (string\\null\\undefined ...)\n  var labelOptSingle = isObject(opt) && opt[propName];\n  var textStyle = isObject(labelOptSingle) && labelOptSingle.textStyle;\n\n  if (textStyle) {\n    if (true) {\n      // eslint-disable-next-line max-len\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateLog\"])(\"textStyle hierarchy in \" + propName + \" has been removed since 4.0. All textStyle properties are configured in \" + propName + \" directly now.\");\n    }\n\n    for (var i = 0, len = _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"TEXT_STYLE_OPTIONS\"].length; i < len; i++) {\n      var textPropName = _util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"TEXT_STYLE_OPTIONS\"][i];\n\n      if (textStyle.hasOwnProperty(textPropName)) {\n        labelOptSingle[textPropName] = textStyle[textPropName];\n      }\n    }\n  }\n}\n\nfunction compatEC3CommonStyles(opt) {\n  if (opt) {\n    removeEC3NormalStatus(opt);\n    compatTextStyle(opt, 'label');\n    opt.emphasis && compatTextStyle(opt.emphasis, 'label');\n  }\n}\n\nfunction processSeries(seriesOpt) {\n  if (!isObject(seriesOpt)) {\n    return;\n  }\n\n  compatEC2ItemStyle(seriesOpt);\n  removeEC3NormalStatus(seriesOpt);\n  compatTextStyle(seriesOpt, 'label'); // treemap\n\n  compatTextStyle(seriesOpt, 'upperLabel'); // graph\n\n  compatTextStyle(seriesOpt, 'edgeLabel');\n\n  if (seriesOpt.emphasis) {\n    compatTextStyle(seriesOpt.emphasis, 'label'); // treemap\n\n    compatTextStyle(seriesOpt.emphasis, 'upperLabel'); // graph\n\n    compatTextStyle(seriesOpt.emphasis, 'edgeLabel');\n  }\n\n  var markPoint = seriesOpt.markPoint;\n\n  if (markPoint) {\n    compatEC2ItemStyle(markPoint);\n    compatEC3CommonStyles(markPoint);\n  }\n\n  var markLine = seriesOpt.markLine;\n\n  if (markLine) {\n    compatEC2ItemStyle(markLine);\n    compatEC3CommonStyles(markLine);\n  }\n\n  var markArea = seriesOpt.markArea;\n\n  if (markArea) {\n    compatEC3CommonStyles(markArea);\n  }\n\n  var data = seriesOpt.data; // Break with ec3: if `setOption` again, there may be no `type` in option,\n  // then the backward compat based on option type will not be performed.\n\n  if (seriesOpt.type === 'graph') {\n    data = data || seriesOpt.nodes;\n    var edgeData = seriesOpt.links || seriesOpt.edges;\n\n    if (edgeData && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"](edgeData)) {\n      for (var i = 0; i < edgeData.length; i++) {\n        compatEC3CommonStyles(edgeData[i]);\n      }\n    }\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](seriesOpt.categories, function (opt) {\n      removeEC3NormalStatus(opt);\n    });\n  }\n\n  if (data && !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"](data)) {\n    for (var i = 0; i < data.length; i++) {\n      compatEC3CommonStyles(data[i]);\n    }\n  } // mark point data\n\n\n  markPoint = seriesOpt.markPoint;\n\n  if (markPoint && markPoint.data) {\n    var mpData = markPoint.data;\n\n    for (var i = 0; i < mpData.length; i++) {\n      compatEC3CommonStyles(mpData[i]);\n    }\n  } // mark line data\n\n\n  markLine = seriesOpt.markLine;\n\n  if (markLine && markLine.data) {\n    var mlData = markLine.data;\n\n    for (var i = 0; i < mlData.length; i++) {\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](mlData[i])) {\n        compatEC3CommonStyles(mlData[i][0]);\n        compatEC3CommonStyles(mlData[i][1]);\n      } else {\n        compatEC3CommonStyles(mlData[i]);\n      }\n    }\n  } // Series\n\n\n  if (seriesOpt.type === 'gauge') {\n    compatTextStyle(seriesOpt, 'axisLabel');\n    compatTextStyle(seriesOpt, 'title');\n    compatTextStyle(seriesOpt, 'detail');\n  } else if (seriesOpt.type === 'treemap') {\n    convertNormalEmphasis(seriesOpt.breadcrumb, 'itemStyle');\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](seriesOpt.levels, function (opt) {\n      removeEC3NormalStatus(opt);\n    });\n  } else if (seriesOpt.type === 'tree') {\n    removeEC3NormalStatus(seriesOpt.leaves);\n  } // sunburst starts from ec4, so it does not need to compat levels.\n\n}\n\nfunction toArr(o) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](o) ? o : o ? [o] : [];\n}\n\nfunction toObj(o) {\n  return (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](o) ? o[0] : o) || {};\n}\n\nfunction globalCompatStyle(option, isTheme) {\n  each(toArr(option.series), function (seriesOpt) {\n    isObject(seriesOpt) && processSeries(seriesOpt);\n  });\n  var axes = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar'];\n  isTheme && axes.push('valueAxis', 'categoryAxis', 'logAxis', 'timeAxis');\n  each(axes, function (axisName) {\n    each(toArr(option[axisName]), function (axisOpt) {\n      if (axisOpt) {\n        compatTextStyle(axisOpt, 'axisLabel');\n        compatTextStyle(axisOpt.axisPointer, 'label');\n      }\n    });\n  });\n  each(toArr(option.parallel), function (parallelOpt) {\n    var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;\n    compatTextStyle(parallelAxisDefault, 'axisLabel');\n    compatTextStyle(parallelAxisDefault && parallelAxisDefault.axisPointer, 'label');\n  });\n  each(toArr(option.calendar), function (calendarOpt) {\n    convertNormalEmphasis(calendarOpt, 'itemStyle');\n    compatTextStyle(calendarOpt, 'dayLabel');\n    compatTextStyle(calendarOpt, 'monthLabel');\n    compatTextStyle(calendarOpt, 'yearLabel');\n  }); // radar.name.textStyle\n\n  each(toArr(option.radar), function (radarOpt) {\n    compatTextStyle(radarOpt, 'name'); // Use axisName instead of name because component has name property\n\n    if (radarOpt.name && radarOpt.axisName == null) {\n      radarOpt.axisName = radarOpt.name;\n      delete radarOpt.name;\n\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateLog\"])('name property in radar component has been changed to axisName');\n      }\n    }\n\n    if (radarOpt.nameGap != null && radarOpt.axisNameGap == null) {\n      radarOpt.axisNameGap = radarOpt.nameGap;\n      delete radarOpt.nameGap;\n\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateLog\"])('nameGap property in radar component has been changed to axisNameGap');\n      }\n    }\n\n    if (true) {\n      each(radarOpt.indicator, function (indicatorOpt) {\n        if (indicatorOpt.text) {\n          Object(_util_log_js__WEBPACK_IMPORTED_MODULE_2__[\"deprecateReplaceLog\"])('text', 'name', 'radar.indicator');\n        }\n      });\n    }\n  });\n  each(toArr(option.geo), function (geoOpt) {\n    if (isObject(geoOpt)) {\n      compatEC3CommonStyles(geoOpt);\n      each(toArr(geoOpt.regions), function (regionObj) {\n        compatEC3CommonStyles(regionObj);\n      });\n    }\n  });\n  each(toArr(option.timeline), function (timelineOpt) {\n    compatEC3CommonStyles(timelineOpt);\n    convertNormalEmphasis(timelineOpt, 'label');\n    convertNormalEmphasis(timelineOpt, 'itemStyle');\n    convertNormalEmphasis(timelineOpt, 'controlStyle', true);\n    var data = timelineOpt.data;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](data) && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](data, function (item) {\n      if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](item)) {\n        convertNormalEmphasis(item, 'label');\n        convertNormalEmphasis(item, 'itemStyle');\n      }\n    });\n  });\n  each(toArr(option.toolbox), function (toolboxOpt) {\n    convertNormalEmphasis(toolboxOpt, 'iconStyle');\n    each(toolboxOpt.feature, function (featureOpt) {\n      convertNormalEmphasis(featureOpt, 'iconStyle');\n    });\n  });\n  compatTextStyle(toObj(option.axisPointer), 'label');\n  compatTextStyle(toObj(option.tooltip).axisPointer, 'label'); // Clean logs\n  // storedLogs = {};\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/preprocessor/helper/compatStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/processor/dataFilter.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/processor/dataFilter.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dataFilter; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataFilter(seriesType) {\n  return {\n    seriesType: seriesType,\n    reset: function (seriesModel, ecModel) {\n      var legendModels = ecModel.findComponents({\n        mainType: 'legend'\n      });\n\n      if (!legendModels || !legendModels.length) {\n        return;\n      }\n\n      var data = seriesModel.getData();\n      data.filterSelf(function (idx) {\n        var name = data.getName(idx); // If in any legend component the status is not selected.\n\n        for (var i = 0; i < legendModels.length; i++) {\n          // @ts-ignore FIXME: LegendModel\n          if (!legendModels[i].isSelected(name)) {\n            return false;\n          }\n        }\n\n        return true;\n      });\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/dataFilter.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/processor/dataSample.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/processor/dataSample.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dataSample; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar samplers = {\n  average: function (frame) {\n    var sum = 0;\n    var count = 0;\n\n    for (var i = 0; i < frame.length; i++) {\n      if (!isNaN(frame[i])) {\n        sum += frame[i];\n        count++;\n      }\n    } // Return NaN if count is 0\n\n\n    return count === 0 ? NaN : sum / count;\n  },\n  sum: function (frame) {\n    var sum = 0;\n\n    for (var i = 0; i < frame.length; i++) {\n      // Ignore NaN\n      sum += frame[i] || 0;\n    }\n\n    return sum;\n  },\n  max: function (frame) {\n    var max = -Infinity;\n\n    for (var i = 0; i < frame.length; i++) {\n      frame[i] > max && (max = frame[i]);\n    } // NaN will cause illegal axis extent.\n\n\n    return isFinite(max) ? max : NaN;\n  },\n  min: function (frame) {\n    var min = Infinity;\n\n    for (var i = 0; i < frame.length; i++) {\n      frame[i] < min && (min = frame[i]);\n    } // NaN will cause illegal axis extent.\n\n\n    return isFinite(min) ? min : NaN;\n  },\n  // TODO\n  // Median\n  nearest: function (frame) {\n    return frame[0];\n  }\n};\n\nvar indexSampler = function (frame) {\n  return Math.round(frame.length / 2);\n};\n\nfunction dataSample(seriesType) {\n  return {\n    seriesType: seriesType,\n    // FIXME:TS never used, so comment it\n    // modifyOutputEnd: true,\n    reset: function (seriesModel, ecModel, api) {\n      var data = seriesModel.getData();\n      var sampling = seriesModel.get('sampling');\n      var coordSys = seriesModel.coordinateSystem;\n      var count = data.count(); // Only cartesian2d support down sampling. Disable it when there is few data.\n\n      if (count > 10 && coordSys.type === 'cartesian2d' && sampling) {\n        var baseAxis = coordSys.getBaseAxis();\n        var valueAxis = coordSys.getOtherAxis(baseAxis);\n        var extent = baseAxis.getExtent();\n        var dpr = api.getDevicePixelRatio(); // Coordinste system has been resized\n\n        var size = Math.abs(extent[1] - extent[0]) * (dpr || 1);\n        var rate = Math.round(count / size);\n\n        if (isFinite(rate) && rate > 1) {\n          if (sampling === 'lttb') {\n            seriesModel.setData(data.lttbDownSample(data.mapDimension(valueAxis.dim), 1 / rate));\n          }\n\n          var sampler = void 0;\n\n          if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(sampling)) {\n            sampler = samplers[sampling];\n          } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(sampling)) {\n            sampler = sampling;\n          }\n\n          if (sampler) {\n            // Only support sample the first dim mapped from value axis.\n            seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n          }\n        }\n      }\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/dataSample.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/processor/dataStack.js":
/*!*********************************************************!*\
  !*** ./node_modules/echarts/lib/processor/dataStack.js ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dataStack; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n // (1) [Caution]: the logic is correct based on the premises:\n//     data processing stage is blocked in stream.\n//     See <module:echarts/stream/Scheduler#performDataProcessorTasks>\n// (2) Only register once when import repeatedly.\n//     Should be executed after series is filtered and before stack calculation.\n\nfunction dataStack(ecModel) {\n  var stackInfoMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  ecModel.eachSeries(function (seriesModel) {\n    var stack = seriesModel.get('stack'); // Compatible: when `stack` is set as '', do not stack.\n\n    if (stack) {\n      var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);\n      var data = seriesModel.getData();\n      var stackInfo = {\n        // Used for calculate axis extent automatically.\n        // TODO: Type getCalculationInfo return more specific type?\n        stackResultDimension: data.getCalculationInfo('stackResultDimension'),\n        stackedOverDimension: data.getCalculationInfo('stackedOverDimension'),\n        stackedDimension: data.getCalculationInfo('stackedDimension'),\n        stackedByDimension: data.getCalculationInfo('stackedByDimension'),\n        isStackedByIndex: data.getCalculationInfo('isStackedByIndex'),\n        data: data,\n        seriesModel: seriesModel\n      }; // If stacked on axis that do not support data stack.\n\n      if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {\n        return;\n      }\n\n      stackInfoList.length && data.setCalculationInfo('stackedOnSeries', stackInfoList[stackInfoList.length - 1].seriesModel);\n      stackInfoList.push(stackInfo);\n    }\n  });\n  stackInfoMap.each(calculateStack);\n}\n\nfunction calculateStack(stackInfoList) {\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(stackInfoList, function (targetStackInfo, idxInStack) {\n    var resultVal = [];\n    var resultNaN = [NaN, NaN];\n    var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];\n    var targetData = targetStackInfo.data;\n    var isStackedByIndex = targetStackInfo.isStackedByIndex;\n    var stackStrategy = targetStackInfo.seriesModel.get('stackStrategy') || 'samesign'; // Should not write on raw data, because stack series model list changes\n    // depending on legend selection.\n\n    targetData.modify(dims, function (v0, v1, dataIndex) {\n      var sum = targetData.get(targetStackInfo.stackedDimension, dataIndex); // Consider `connectNulls` of line area, if value is NaN, stackedOver\n      // should also be NaN, to draw a appropriate belt area.\n\n      if (isNaN(sum)) {\n        return resultNaN;\n      }\n\n      var byValue;\n      var stackedDataRawIndex;\n\n      if (isStackedByIndex) {\n        stackedDataRawIndex = targetData.getRawIndex(dataIndex);\n      } else {\n        byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);\n      } // If stackOver is NaN, chart view will render point on value start.\n\n\n      var stackedOver = NaN;\n\n      for (var j = idxInStack - 1; j >= 0; j--) {\n        var stackInfo = stackInfoList[j]; // Has been optimized by inverted indices on `stackedByDimension`.\n\n        if (!isStackedByIndex) {\n          stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);\n        }\n\n        if (stackedDataRawIndex >= 0) {\n          var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex); // Considering positive stack, negative stack and empty data\n\n          if (stackStrategy === 'all' // single stack group\n          || stackStrategy === 'positive' && val > 0 || stackStrategy === 'negative' && val < 0 || stackStrategy === 'samesign' && sum >= 0 && val > 0 // All positive stack\n          || stackStrategy === 'samesign' && sum <= 0 && val < 0 // All negative stack\n          ) {\n              // The sum has to be very small to be affected by the\n              // floating arithmetic problem. An incorrect result will probably\n              // cause axis min/max to be filtered incorrectly.\n              sum = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"addSafe\"])(sum, val);\n              stackedOver = val;\n              break;\n            }\n        }\n      }\n\n      resultVal[0] = sum;\n      resultVal[1] = stackedOver;\n      return resultVal;\n    });\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/dataStack.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/processor/negativeDataFilter.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/lib/processor/negativeDataFilter.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return negativeDataFilter; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction negativeDataFilter(seriesType) {\n  return {\n    seriesType: seriesType,\n    reset: function (seriesModel, ecModel) {\n      var data = seriesModel.getData();\n      data.filterSelf(function (idx) {\n        // handle negative value condition\n        var valueDim = data.mapDimension('value');\n        var curValue = data.get(valueDim, idx);\n\n        if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(curValue) && !isNaN(curValue) && curValue < 0) {\n          return false;\n        }\n\n        return true;\n      });\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/negativeDataFilter.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/renderer/installCanvasRenderer.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/lib/renderer/installCanvasRenderer.js ***!
  \********************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var zrender_lib_canvas_Painter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/canvas/Painter.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/Painter.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction install(registers) {\n  registers.registerPainter('canvas', zrender_lib_canvas_Painter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/renderer/installCanvasRenderer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/renderer/installSVGRenderer.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/renderer/installSVGRenderer.js ***!
  \*****************************************************************/
/*! exports provided: install */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var zrender_lib_svg_Painter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/svg/Painter.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/Painter.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction install(registers) {\n  registers.registerPainter('svg', zrender_lib_svg_Painter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/renderer/installSVGRenderer.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/scale/Interval.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/scale/Interval.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_format_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/format.js */ \"./node_modules/echarts/lib/util/format.js\");\n/* harmony import */ var _Scale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Scale.js */ \"./node_modules/echarts/lib/scale/Scale.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nvar roundNumber = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"];\n\nvar IntervalScale =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(IntervalScale, _super);\n\n  function IntervalScale() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'interval'; // Step is calculated in adjustExtent.\n\n    _this._interval = 0;\n    _this._intervalPrecision = 2;\n    return _this;\n  }\n\n  IntervalScale.prototype.parse = function (val) {\n    return val;\n  };\n\n  IntervalScale.prototype.contain = function (val) {\n    return _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"contain\"](val, this._extent);\n  };\n\n  IntervalScale.prototype.normalize = function (val) {\n    return _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"normalize\"](val, this._extent);\n  };\n\n  IntervalScale.prototype.scale = function (val) {\n    return _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"scale\"](val, this._extent);\n  };\n\n  IntervalScale.prototype.setExtent = function (start, end) {\n    var thisExtent = this._extent; // start,end may be a Number like '25',so...\n\n    if (!isNaN(start)) {\n      thisExtent[0] = parseFloat(start);\n    }\n\n    if (!isNaN(end)) {\n      thisExtent[1] = parseFloat(end);\n    }\n  };\n\n  IntervalScale.prototype.unionExtent = function (other) {\n    var extent = this._extent;\n    other[0] < extent[0] && (extent[0] = other[0]);\n    other[1] > extent[1] && (extent[1] = other[1]); // unionExtent may called by it's sub classes\n\n    this.setExtent(extent[0], extent[1]);\n  };\n\n  IntervalScale.prototype.getInterval = function () {\n    return this._interval;\n  };\n\n  IntervalScale.prototype.setInterval = function (interval) {\n    this._interval = interval; // Dropped auto calculated niceExtent and use user setted extent\n    // We assume user wan't to set both interval, min, max to get a better result\n\n    this._niceExtent = this._extent.slice();\n    this._intervalPrecision = _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"getIntervalPrecision\"](interval);\n  };\n  /**\n   * @param expandToNicedExtent Whether expand the ticks to niced extent.\n   */\n\n\n  IntervalScale.prototype.getTicks = function (expandToNicedExtent) {\n    var interval = this._interval;\n    var extent = this._extent;\n    var niceTickExtent = this._niceExtent;\n    var intervalPrecision = this._intervalPrecision;\n    var ticks = []; // If interval is 0, return [];\n\n    if (!interval) {\n      return ticks;\n    } // Consider this case: using dataZoom toolbox, zoom and zoom.\n\n\n    var safeLimit = 10000;\n\n    if (extent[0] < niceTickExtent[0]) {\n      if (expandToNicedExtent) {\n        ticks.push({\n          value: roundNumber(niceTickExtent[0] - interval, intervalPrecision)\n        });\n      } else {\n        ticks.push({\n          value: extent[0]\n        });\n      }\n    }\n\n    var tick = niceTickExtent[0];\n\n    while (tick <= niceTickExtent[1]) {\n      ticks.push({\n        value: tick\n      }); // Avoid rounding error\n\n      tick = roundNumber(tick + interval, intervalPrecision);\n\n      if (tick === ticks[ticks.length - 1].value) {\n        // Consider out of safe float point, e.g.,\n        // -3711126.9907707 + 2e-10 === -3711126.9907707\n        break;\n      }\n\n      if (ticks.length > safeLimit) {\n        return [];\n      }\n    } // Consider this case: the last item of ticks is smaller\n    // than niceTickExtent[1] and niceTickExtent[1] === extent[1].\n\n\n    var lastNiceTick = ticks.length ? ticks[ticks.length - 1].value : niceTickExtent[1];\n\n    if (extent[1] > lastNiceTick) {\n      if (expandToNicedExtent) {\n        ticks.push({\n          value: roundNumber(lastNiceTick + interval, intervalPrecision)\n        });\n      } else {\n        ticks.push({\n          value: extent[1]\n        });\n      }\n    }\n\n    return ticks;\n  };\n\n  IntervalScale.prototype.getMinorTicks = function (splitNumber) {\n    var ticks = this.getTicks(true);\n    var minorTicks = [];\n    var extent = this.getExtent();\n\n    for (var i = 1; i < ticks.length; i++) {\n      var nextTick = ticks[i];\n      var prevTick = ticks[i - 1];\n      var count = 0;\n      var minorTicksGroup = [];\n      var interval = nextTick.value - prevTick.value;\n      var minorInterval = interval / splitNumber;\n\n      while (count < splitNumber - 1) {\n        var minorTick = roundNumber(prevTick.value + (count + 1) * minorInterval); // For the first and last interval. The count may be less than splitNumber.\n\n        if (minorTick > extent[0] && minorTick < extent[1]) {\n          minorTicksGroup.push(minorTick);\n        }\n\n        count++;\n      }\n\n      minorTicks.push(minorTicksGroup);\n    }\n\n    return minorTicks;\n  };\n  /**\n   * @param opt.precision If 'auto', use nice presision.\n   * @param opt.pad returns 1.50 but not 1.5 if precision is 2.\n   */\n\n\n  IntervalScale.prototype.getLabel = function (data, opt) {\n    if (data == null) {\n      return '';\n    }\n\n    var precision = opt && opt.precision;\n\n    if (precision == null) {\n      precision = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"getPrecision\"](data.value) || 0;\n    } else if (precision === 'auto') {\n      // Should be more precise then tick.\n      precision = this._intervalPrecision;\n    } // (1) If `precision` is set, 12.005 should be display as '12.00500'.\n    // (2) Use roundNumber (toFixed) to avoid scientific notation like '3.5e-7'.\n\n\n    var dataNum = roundNumber(data.value, precision, true);\n    return _util_format_js__WEBPACK_IMPORTED_MODULE_2__[\"addCommas\"](dataNum);\n  };\n  /**\n   * @param splitNumber By default `5`.\n   */\n\n\n  IntervalScale.prototype.calcNiceTicks = function (splitNumber, minInterval, maxInterval) {\n    splitNumber = splitNumber || 5;\n    var extent = this._extent;\n    var span = extent[1] - extent[0];\n\n    if (!isFinite(span)) {\n      return;\n    } // User may set axis min 0 and data are all negative\n    // FIXME If it needs to reverse ?\n\n\n    if (span < 0) {\n      span = -span;\n      extent.reverse();\n    }\n\n    var result = _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"intervalScaleNiceTicks\"](extent, splitNumber, minInterval, maxInterval);\n    this._intervalPrecision = result.intervalPrecision;\n    this._interval = result.interval;\n    this._niceExtent = result.niceTickExtent;\n  };\n\n  IntervalScale.prototype.calcNiceExtent = function (opt) {\n    var extent = this._extent; // If extent start and end are same, expand them\n\n    if (extent[0] === extent[1]) {\n      if (extent[0] !== 0) {\n        // Expand extent\n        // Note that extents can be both negative. See #13154\n        var expandSize = Math.abs(extent[0]); // In the fowllowing case\n        //      Axis has been fixed max 100\n        //      Plus data are all 100 and axis extent are [100, 100].\n        // Extend to the both side will cause expanded max is larger than fixed max.\n        // So only expand to the smaller side.\n\n        if (!opt.fixMax) {\n          extent[1] += expandSize / 2;\n          extent[0] -= expandSize / 2;\n        } else {\n          extent[0] -= expandSize / 2;\n        }\n      } else {\n        extent[1] = 1;\n      }\n    }\n\n    var span = extent[1] - extent[0]; // If there are no data and extent are [Infinity, -Infinity]\n\n    if (!isFinite(span)) {\n      extent[0] = 0;\n      extent[1] = 1;\n    }\n\n    this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // let extent = this._extent;\n\n    var interval = this._interval;\n\n    if (!opt.fixMin) {\n      extent[0] = roundNumber(Math.floor(extent[0] / interval) * interval);\n    }\n\n    if (!opt.fixMax) {\n      extent[1] = roundNumber(Math.ceil(extent[1] / interval) * interval);\n    }\n  };\n\n  IntervalScale.prototype.setNiceExtent = function (min, max) {\n    this._niceExtent = [min, max];\n  };\n\n  IntervalScale.type = 'interval';\n  return IntervalScale;\n}(_Scale_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n_Scale_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].registerClass(IntervalScale);\n/* harmony default export */ __webpack_exports__[\"default\"] = (IntervalScale);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Interval.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/scale/Log.js":
/*!***********************************************!*\
  !*** ./node_modules/echarts/lib/scale/Log.js ***!
  \***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Scale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Scale.js */ \"./node_modules/echarts/lib/scale/Scale.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n/* harmony import */ var _Interval_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Interval.js */ \"./node_modules/echarts/lib/scale/Interval.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n // Use some method of IntervalScale\n\n\nvar scaleProto = _Scale_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prototype; // FIXME:TS refactor: not good to call it directly with `this`?\n\nvar intervalScaleProto = _Interval_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].prototype;\nvar roundingErrorFix = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"round\"];\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar mathPow = Math.pow;\nvar mathLog = Math.log;\n\nvar LogScale =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LogScale, _super);\n\n  function LogScale() {\n    var _this = _super !== null && _super.apply(this, arguments) || this;\n\n    _this.type = 'log';\n    _this.base = 10;\n    _this._originalScale = new _Interval_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](); // FIXME:TS actually used by `IntervalScale`\n\n    _this._interval = 0;\n    return _this;\n  }\n  /**\n   * @param Whether expand the ticks to niced extent.\n   */\n\n\n  LogScale.prototype.getTicks = function (expandToNicedExtent) {\n    var originalScale = this._originalScale;\n    var extent = this._extent;\n    var originalExtent = originalScale.getExtent();\n    var ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"](ticks, function (tick) {\n      var val = tick.value;\n      var powVal = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"round\"](mathPow(this.base, val)); // Fix #4158\n\n      powVal = val === extent[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;\n      powVal = val === extent[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;\n      return {\n        value: powVal\n      };\n    }, this);\n  };\n\n  LogScale.prototype.setExtent = function (start, end) {\n    var base = mathLog(this.base); // log(-Infinity) is NaN, so safe guard here\n\n    start = mathLog(Math.max(0, start)) / base;\n    end = mathLog(Math.max(0, end)) / base;\n    intervalScaleProto.setExtent.call(this, start, end);\n  };\n  /**\n   * @return {number} end\n   */\n\n\n  LogScale.prototype.getExtent = function () {\n    var base = this.base;\n    var extent = scaleProto.getExtent.call(this);\n    extent[0] = mathPow(base, extent[0]);\n    extent[1] = mathPow(base, extent[1]); // Fix #4158\n\n    var originalScale = this._originalScale;\n    var originalExtent = originalScale.getExtent();\n    this._fixMin && (extent[0] = fixRoundingError(extent[0], originalExtent[0]));\n    this._fixMax && (extent[1] = fixRoundingError(extent[1], originalExtent[1]));\n    return extent;\n  };\n\n  LogScale.prototype.unionExtent = function (extent) {\n    this._originalScale.unionExtent(extent);\n\n    var base = this.base;\n    extent[0] = mathLog(extent[0]) / mathLog(base);\n    extent[1] = mathLog(extent[1]) / mathLog(base);\n    scaleProto.unionExtent.call(this, extent);\n  };\n\n  LogScale.prototype.unionExtentFromData = function (data, dim) {\n    // TODO\n    // filter value that <= 0\n    this.unionExtent(data.getApproximateExtent(dim));\n  };\n  /**\n   * Update interval and extent of intervals for nice ticks\n   * @param approxTickNum default 10 Given approx tick number\n   */\n\n\n  LogScale.prototype.calcNiceTicks = function (approxTickNum) {\n    approxTickNum = approxTickNum || 10;\n    var extent = this._extent;\n    var span = extent[1] - extent[0];\n\n    if (span === Infinity || span <= 0) {\n      return;\n    }\n\n    var interval = _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"quantity\"](span);\n    var err = approxTickNum / span * interval; // Filter ticks to get closer to the desired count.\n\n    if (err <= 0.5) {\n      interval *= 10;\n    } // Interval should be integer\n\n\n    while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {\n      interval *= 10;\n    }\n\n    var niceExtent = [_util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"round\"](mathCeil(extent[0] / interval) * interval), _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"round\"](mathFloor(extent[1] / interval) * interval)];\n    this._interval = interval;\n    this._niceExtent = niceExtent;\n  };\n\n  LogScale.prototype.calcNiceExtent = function (opt) {\n    intervalScaleProto.calcNiceExtent.call(this, opt);\n    this._fixMin = opt.fixMin;\n    this._fixMax = opt.fixMax;\n  };\n\n  LogScale.prototype.parse = function (val) {\n    return val;\n  };\n\n  LogScale.prototype.contain = function (val) {\n    val = mathLog(val) / mathLog(this.base);\n    return _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"contain\"](val, this._extent);\n  };\n\n  LogScale.prototype.normalize = function (val) {\n    val = mathLog(val) / mathLog(this.base);\n    return _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"normalize\"](val, this._extent);\n  };\n\n  LogScale.prototype.scale = function (val) {\n    val = _helper_js__WEBPACK_IMPORTED_MODULE_4__[\"scale\"](val, this._extent);\n    return mathPow(this.base, val);\n  };\n\n  LogScale.type = 'log';\n  return LogScale;\n}(_Scale_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nvar proto = LogScale.prototype;\nproto.getMinorTicks = intervalScaleProto.getMinorTicks;\nproto.getLabel = intervalScaleProto.getLabel;\n\nfunction fixRoundingError(val, originalVal) {\n  return roundingErrorFix(val, _util_number_js__WEBPACK_IMPORTED_MODULE_3__[\"getPrecision\"](originalVal));\n}\n\n_Scale_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].registerClass(LogScale);\n/* harmony default export */ __webpack_exports__[\"default\"] = (LogScale);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Log.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/scale/Ordinal.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/scale/Ordinal.js ***!
  \***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Scale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Scale.js */ \"./node_modules/echarts/lib/scale/Scale.js\");\n/* harmony import */ var _data_OrdinalMeta_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/OrdinalMeta.js */ \"./node_modules/echarts/lib/data/OrdinalMeta.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Linear continuous scale\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\n\n\n\n\n\n\nvar OrdinalScale =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(OrdinalScale, _super);\n\n  function OrdinalScale(setting) {\n    var _this = _super.call(this, setting) || this;\n\n    _this.type = 'ordinal';\n\n    var ordinalMeta = _this.getSetting('ordinalMeta'); // Caution: Should not use instanceof, consider ec-extensions using\n    // import approach to get OrdinalMeta class.\n\n\n    if (!ordinalMeta) {\n      ordinalMeta = new _data_OrdinalMeta_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({});\n    }\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isArray\"])(ordinalMeta)) {\n      ordinalMeta = new _data_OrdinalMeta_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n        categories: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(ordinalMeta, function (item) {\n          return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isObject\"])(item) ? item.value : item;\n        })\n      });\n    }\n\n    _this._ordinalMeta = ordinalMeta;\n    _this._extent = _this.getSetting('extent') || [0, ordinalMeta.categories.length - 1];\n    return _this;\n  }\n\n  OrdinalScale.prototype.parse = function (val) {\n    // Caution: Math.round(null) will return `0` rather than `NaN`\n    if (val == null) {\n      return NaN;\n    }\n\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isString\"])(val) ? this._ordinalMeta.getOrdinal(val) // val might be float.\n    : Math.round(val);\n  };\n\n  OrdinalScale.prototype.contain = function (rank) {\n    rank = this.parse(rank);\n    return _helper_js__WEBPACK_IMPORTED_MODULE_3__[\"contain\"](rank, this._extent) && this._ordinalMeta.categories[rank] != null;\n  };\n  /**\n   * Normalize given rank or name to linear [0, 1]\n   * @param val raw ordinal number.\n   * @return normalized value in [0, 1].\n   */\n\n\n  OrdinalScale.prototype.normalize = function (val) {\n    val = this._getTickNumber(this.parse(val));\n    return _helper_js__WEBPACK_IMPORTED_MODULE_3__[\"normalize\"](val, this._extent);\n  };\n  /**\n   * @param val normalized value in [0, 1].\n   * @return raw ordinal number.\n   */\n\n\n  OrdinalScale.prototype.scale = function (val) {\n    val = Math.round(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"scale\"](val, this._extent));\n    return this.getRawOrdinalNumber(val);\n  };\n\n  OrdinalScale.prototype.getTicks = function () {\n    var ticks = [];\n    var extent = this._extent;\n    var rank = extent[0];\n\n    while (rank <= extent[1]) {\n      ticks.push({\n        value: rank\n      });\n      rank++;\n    }\n\n    return ticks;\n  };\n\n  OrdinalScale.prototype.getMinorTicks = function (splitNumber) {\n    // Not support.\n    return;\n  };\n  /**\n   * @see `Ordinal['_ordinalNumbersByTick']`\n   */\n\n\n  OrdinalScale.prototype.setSortInfo = function (info) {\n    if (info == null) {\n      this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null;\n      return;\n    }\n\n    var infoOrdinalNumbers = info.ordinalNumbers;\n    var ordinalsByTick = this._ordinalNumbersByTick = [];\n    var ticksByOrdinal = this._ticksByOrdinalNumber = []; // Unnecessary support negative tick in `realtimeSort`.\n\n    var tickNum = 0;\n    var allCategoryLen = this._ordinalMeta.categories.length;\n\n    for (var len = Math.min(allCategoryLen, infoOrdinalNumbers.length); tickNum < len; ++tickNum) {\n      var ordinalNumber = infoOrdinalNumbers[tickNum];\n      ordinalsByTick[tickNum] = ordinalNumber;\n      ticksByOrdinal[ordinalNumber] = tickNum;\n    } // Handle that `series.data` only covers part of the `axis.category.data`.\n\n\n    var unusedOrdinal = 0;\n\n    for (; tickNum < allCategoryLen; ++tickNum) {\n      while (ticksByOrdinal[unusedOrdinal] != null) {\n        unusedOrdinal++;\n      }\n\n      ;\n      ordinalsByTick.push(unusedOrdinal);\n      ticksByOrdinal[unusedOrdinal] = tickNum;\n    }\n  };\n\n  OrdinalScale.prototype._getTickNumber = function (ordinal) {\n    var ticksByOrdinalNumber = this._ticksByOrdinalNumber; // also support ordinal out of range of `ordinalMeta.categories.length`,\n    // where ordinal numbers are used as tick value directly.\n\n    return ticksByOrdinalNumber && ordinal >= 0 && ordinal < ticksByOrdinalNumber.length ? ticksByOrdinalNumber[ordinal] : ordinal;\n  };\n  /**\n   * @usage\n   * ```js\n   * const ordinalNumber = ordinalScale.getRawOrdinalNumber(tickVal);\n   *\n   * // case0\n   * const rawOrdinalValue = axisModel.getCategories()[ordinalNumber];\n   * // case1\n   * const rawOrdinalValue = this._ordinalMeta.categories[ordinalNumber];\n   * // case2\n   * const coord = axis.dataToCoord(ordinalNumber);\n   * ```\n   *\n   * @param {OrdinalNumber} tickNumber index of display\n   */\n\n\n  OrdinalScale.prototype.getRawOrdinalNumber = function (tickNumber) {\n    var ordinalNumbersByTick = this._ordinalNumbersByTick; // tickNumber may be out of range, e.g., when axis max is larger than `ordinalMeta.categories.length`.,\n    // where ordinal numbers are used as tick value directly.\n\n    return ordinalNumbersByTick && tickNumber >= 0 && tickNumber < ordinalNumbersByTick.length ? ordinalNumbersByTick[tickNumber] : tickNumber;\n  };\n  /**\n   * Get item on tick\n   */\n\n\n  OrdinalScale.prototype.getLabel = function (tick) {\n    if (!this.isBlank()) {\n      var ordinalNumber = this.getRawOrdinalNumber(tick.value);\n      var cateogry = this._ordinalMeta.categories[ordinalNumber]; // Note that if no data, ordinalMeta.categories is an empty array.\n      // Return empty if it's not exist.\n\n      return cateogry == null ? '' : cateogry + '';\n    }\n  };\n\n  OrdinalScale.prototype.count = function () {\n    return this._extent[1] - this._extent[0] + 1;\n  };\n\n  OrdinalScale.prototype.unionExtentFromData = function (data, dim) {\n    this.unionExtent(data.getApproximateExtent(dim));\n  };\n  /**\n   * @override\n   * If value is in extent range\n   */\n\n\n  OrdinalScale.prototype.isInExtentRange = function (value) {\n    value = this._getTickNumber(value);\n    return this._extent[0] <= value && this._extent[1] >= value;\n  };\n\n  OrdinalScale.prototype.getOrdinalMeta = function () {\n    return this._ordinalMeta;\n  };\n\n  OrdinalScale.prototype.calcNiceTicks = function () {};\n\n  OrdinalScale.prototype.calcNiceExtent = function () {};\n\n  OrdinalScale.type = 'ordinal';\n  return OrdinalScale;\n}(_Scale_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n_Scale_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].registerClass(OrdinalScale);\n/* harmony default export */ __webpack_exports__[\"default\"] = (OrdinalScale);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Ordinal.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/scale/Scale.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/scale/Scale.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar Scale =\n/** @class */\nfunction () {\n  function Scale(setting) {\n    this._setting = setting || {};\n    this._extent = [Infinity, -Infinity];\n  }\n\n  Scale.prototype.getSetting = function (name) {\n    return this._setting[name];\n  };\n  /**\n   * Set extent from data\n   */\n\n\n  Scale.prototype.unionExtent = function (other) {\n    var extent = this._extent;\n    other[0] < extent[0] && (extent[0] = other[0]);\n    other[1] > extent[1] && (extent[1] = other[1]); // not setExtent because in log axis it may transformed to power\n    // this.setExtent(extent[0], extent[1]);\n  };\n  /**\n   * Set extent from data\n   */\n\n\n  Scale.prototype.unionExtentFromData = function (data, dim) {\n    this.unionExtent(data.getApproximateExtent(dim));\n  };\n  /**\n   * Get extent\n   *\n   * Extent is always in increase order.\n   */\n\n\n  Scale.prototype.getExtent = function () {\n    return this._extent.slice();\n  };\n  /**\n   * Set extent\n   */\n\n\n  Scale.prototype.setExtent = function (start, end) {\n    var thisExtent = this._extent;\n\n    if (!isNaN(start)) {\n      thisExtent[0] = start;\n    }\n\n    if (!isNaN(end)) {\n      thisExtent[1] = end;\n    }\n  };\n  /**\n   * If value is in extent range\n   */\n\n\n  Scale.prototype.isInExtentRange = function (value) {\n    return this._extent[0] <= value && this._extent[1] >= value;\n  };\n  /**\n   * When axis extent depends on data and no data exists,\n   * axis ticks should not be drawn, which is named 'blank'.\n   */\n\n\n  Scale.prototype.isBlank = function () {\n    return this._isBlank;\n  };\n  /**\n   * When axis extent depends on data and no data exists,\n   * axis ticks should not be drawn, which is named 'blank'.\n   */\n\n\n  Scale.prototype.setBlank = function (isBlank) {\n    this._isBlank = isBlank;\n  };\n\n  return Scale;\n}();\n\n_util_clazz_js__WEBPACK_IMPORTED_MODULE_0__[\"enableClassManagement\"](Scale);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scale);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Scale.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/scale/Time.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/scale/Time.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_time_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/time.js */ \"./node_modules/echarts/lib/util/time.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/scale/helper.js\");\n/* harmony import */ var _Interval_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Interval.js */ \"./node_modules/echarts/lib/scale/Interval.js\");\n/* harmony import */ var _Scale_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Scale.js */ \"./node_modules/echarts/lib/scale/Scale.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The \"scaleLevels\" was originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment on the definition of \"scaleLevels\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* </licenses/LICENSE-d3>).\n*/\n// [About UTC and local time zone]:\n// In most cases, `number.parseDate` will treat input data string as local time\n// (except time zone is specified in time string). And `format.formateTime` returns\n// local time by default. option.useUTC is false by default. This design have\n// concidered these common case:\n// (1) Time that is persistent in server is in UTC, but it is needed to be diplayed\n// in local time by default.\n// (2) By default, the input data string (e.g., '2011-01-02') should be displayed\n// as its original time, without any time difference.\n\n\n\n\n\n\n\n // FIXME 公用？\n\nvar bisect = function (a, x, lo, hi) {\n  while (lo < hi) {\n    var mid = lo + hi >>> 1;\n\n    if (a[mid][1] < x) {\n      lo = mid + 1;\n    } else {\n      hi = mid;\n    }\n  }\n\n  return lo;\n};\n\nvar TimeScale =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TimeScale, _super);\n\n  function TimeScale(settings) {\n    var _this = _super.call(this, settings) || this;\n\n    _this.type = 'time';\n    return _this;\n  }\n  /**\n   * Get label is mainly for other components like dataZoom, tooltip.\n   */\n\n\n  TimeScale.prototype.getLabel = function (tick) {\n    var useUTC = this.getSetting('useUTC');\n    return Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"format\"])(tick.value, _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"fullLeveledFormatter\"][Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getDefaultFormatPrecisionOfInterval\"])(Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrimaryTimeUnit\"])(this._minLevelUnit))] || _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"fullLeveledFormatter\"].second, useUTC, this.getSetting('locale'));\n  };\n\n  TimeScale.prototype.getFormattedLabel = function (tick, idx, labelFormatter) {\n    var isUTC = this.getSetting('useUTC');\n    var lang = this.getSetting('locale');\n    return Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"leveledFormat\"])(tick, idx, labelFormatter, lang, isUTC);\n  };\n  /**\n   * @override\n   */\n\n\n  TimeScale.prototype.getTicks = function () {\n    var interval = this._interval;\n    var extent = this._extent;\n    var ticks = []; // If interval is 0, return [];\n\n    if (!interval) {\n      return ticks;\n    }\n\n    ticks.push({\n      value: extent[0],\n      level: 0\n    });\n    var useUTC = this.getSetting('useUTC');\n    var innerTicks = getIntervalTicks(this._minLevelUnit, this._approxInterval, useUTC, extent);\n    ticks = ticks.concat(innerTicks);\n    ticks.push({\n      value: extent[1],\n      level: 0\n    });\n    return ticks;\n  };\n\n  TimeScale.prototype.calcNiceExtent = function (opt) {\n    var extent = this._extent; // If extent start and end are same, expand them\n\n    if (extent[0] === extent[1]) {\n      // Expand extent\n      extent[0] -= _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"];\n      extent[1] += _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"];\n    } // If there are no data and extent are [Infinity, -Infinity]\n\n\n    if (extent[1] === -Infinity && extent[0] === Infinity) {\n      var d = new Date();\n      extent[1] = +new Date(d.getFullYear(), d.getMonth(), d.getDate());\n      extent[0] = extent[1] - _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"];\n    }\n\n    this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);\n  };\n\n  TimeScale.prototype.calcNiceTicks = function (approxTickNum, minInterval, maxInterval) {\n    approxTickNum = approxTickNum || 10;\n    var extent = this._extent;\n    var span = extent[1] - extent[0];\n    this._approxInterval = span / approxTickNum;\n\n    if (minInterval != null && this._approxInterval < minInterval) {\n      this._approxInterval = minInterval;\n    }\n\n    if (maxInterval != null && this._approxInterval > maxInterval) {\n      this._approxInterval = maxInterval;\n    }\n\n    var scaleIntervalsLen = scaleIntervals.length;\n    var idx = Math.min(bisect(scaleIntervals, this._approxInterval, 0, scaleIntervalsLen), scaleIntervalsLen - 1); // Interval that can be used to calculate ticks\n\n    this._interval = scaleIntervals[idx][1]; // Min level used when picking ticks from top down.\n    // We check one more level to avoid the ticks are to sparse in some case.\n\n    this._minLevelUnit = scaleIntervals[Math.max(idx - 1, 0)][0];\n  };\n\n  TimeScale.prototype.parse = function (val) {\n    // val might be float.\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"isNumber\"])(val) ? val : +_util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDate\"](val);\n  };\n\n  TimeScale.prototype.contain = function (val) {\n    return _helper_js__WEBPACK_IMPORTED_MODULE_3__[\"contain\"](this.parse(val), this._extent);\n  };\n\n  TimeScale.prototype.normalize = function (val) {\n    return _helper_js__WEBPACK_IMPORTED_MODULE_3__[\"normalize\"](this.parse(val), this._extent);\n  };\n\n  TimeScale.prototype.scale = function (val) {\n    return _helper_js__WEBPACK_IMPORTED_MODULE_3__[\"scale\"](val, this._extent);\n  };\n\n  TimeScale.type = 'time';\n  return TimeScale;\n}(_Interval_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n/**\n * This implementation was originally copied from \"d3.js\"\n * <https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/time/scale.js>\n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\n\nvar scaleIntervals = [// Format                           interval\n['second', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_SECOND\"]], ['minute', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_MINUTE\"]], ['hour', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_HOUR\"]], ['quarter-day', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_HOUR\"] * 6], ['half-day', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_HOUR\"] * 12], ['day', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"] * 1.2], ['half-week', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"] * 3.5], ['week', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"] * 7], ['month', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"] * 31], ['quarter', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"] * 95], ['half-year', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_YEAR\"] / 2], ['year', _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_YEAR\"]] // 1Y\n];\n\nfunction isUnitValueSame(unit, valueA, valueB, isUTC) {\n  var dateA = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDate\"](valueA);\n  var dateB = _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDate\"](valueB);\n\n  var isSame = function (unit) {\n    return Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getUnitValue\"])(dateA, unit, isUTC) === Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getUnitValue\"])(dateB, unit, isUTC);\n  };\n\n  var isSameYear = function () {\n    return isSame('year');\n  }; // const isSameHalfYear = () => isSameYear() && isSame('half-year');\n  // const isSameQuater = () => isSameYear() && isSame('quarter');\n\n\n  var isSameMonth = function () {\n    return isSameYear() && isSame('month');\n  };\n\n  var isSameDay = function () {\n    return isSameMonth() && isSame('day');\n  }; // const isSameHalfDay = () => isSameDay() && isSame('half-day');\n\n\n  var isSameHour = function () {\n    return isSameDay() && isSame('hour');\n  };\n\n  var isSameMinute = function () {\n    return isSameHour() && isSame('minute');\n  };\n\n  var isSameSecond = function () {\n    return isSameMinute() && isSame('second');\n  };\n\n  var isSameMilliSecond = function () {\n    return isSameSecond() && isSame('millisecond');\n  };\n\n  switch (unit) {\n    case 'year':\n      return isSameYear();\n\n    case 'month':\n      return isSameMonth();\n\n    case 'day':\n      return isSameDay();\n\n    case 'hour':\n      return isSameHour();\n\n    case 'minute':\n      return isSameMinute();\n\n    case 'second':\n      return isSameSecond();\n\n    case 'millisecond':\n      return isSameMilliSecond();\n  }\n} // const primaryUnitGetters = {\n//     year: fullYearGetterName(),\n//     month: monthGetterName(),\n//     day: dateGetterName(),\n//     hour: hoursGetterName(),\n//     minute: minutesGetterName(),\n//     second: secondsGetterName(),\n//     millisecond: millisecondsGetterName()\n// };\n// const primaryUnitUTCGetters = {\n//     year: fullYearGetterName(true),\n//     month: monthGetterName(true),\n//     day: dateGetterName(true),\n//     hour: hoursGetterName(true),\n//     minute: minutesGetterName(true),\n//     second: secondsGetterName(true),\n//     millisecond: millisecondsGetterName(true)\n// };\n// function moveTick(date: Date, unitName: TimeUnit, step: number, isUTC: boolean) {\n//     step = step || 1;\n//     switch (getPrimaryTimeUnit(unitName)) {\n//         case 'year':\n//             date[fullYearSetterName(isUTC)](date[fullYearGetterName(isUTC)]() + step);\n//             break;\n//         case 'month':\n//             date[monthSetterName(isUTC)](date[monthGetterName(isUTC)]() + step);\n//             break;\n//         case 'day':\n//             date[dateSetterName(isUTC)](date[dateGetterName(isUTC)]() + step);\n//             break;\n//         case 'hour':\n//             date[hoursSetterName(isUTC)](date[hoursGetterName(isUTC)]() + step);\n//             break;\n//         case 'minute':\n//             date[minutesSetterName(isUTC)](date[minutesGetterName(isUTC)]() + step);\n//             break;\n//         case 'second':\n//             date[secondsSetterName(isUTC)](date[secondsGetterName(isUTC)]() + step);\n//             break;\n//         case 'millisecond':\n//             date[millisecondsSetterName(isUTC)](date[millisecondsGetterName(isUTC)]() + step);\n//             break;\n//     }\n//     return date.getTime();\n// }\n// const DATE_INTERVALS = [[8, 7.5], [4, 3.5], [2, 1.5]];\n// const MONTH_INTERVALS = [[6, 5.5], [3, 2.5], [2, 1.5]];\n// const MINUTES_SECONDS_INTERVALS = [[30, 30], [20, 20], [15, 15], [10, 10], [5, 5], [2, 2]];\n\n\nfunction getDateInterval(approxInterval, daysInMonth) {\n  approxInterval /= _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"];\n  return approxInterval > 16 ? 16 // Math.floor(daysInMonth / 2) + 1  // In this case we only want one tick betwen two month.\n  : approxInterval > 7.5 ? 7 // TODO week 7 or day 8?\n  : approxInterval > 3.5 ? 4 : approxInterval > 1.5 ? 2 : 1;\n}\n\nfunction getMonthInterval(approxInterval) {\n  var APPROX_ONE_MONTH = 30 * _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"];\n  approxInterval /= APPROX_ONE_MONTH;\n  return approxInterval > 6 ? 6 : approxInterval > 3 ? 3 : approxInterval > 2 ? 2 : 1;\n}\n\nfunction getHourInterval(approxInterval) {\n  approxInterval /= _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_HOUR\"];\n  return approxInterval > 12 ? 12 : approxInterval > 6 ? 6 : approxInterval > 3.5 ? 4 : approxInterval > 2 ? 2 : 1;\n}\n\nfunction getMinutesAndSecondsInterval(approxInterval, isMinutes) {\n  approxInterval /= isMinutes ? _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_MINUTE\"] : _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_SECOND\"];\n  return approxInterval > 30 ? 30 : approxInterval > 20 ? 20 : approxInterval > 15 ? 15 : approxInterval > 10 ? 10 : approxInterval > 5 ? 5 : approxInterval > 2 ? 2 : 1;\n}\n\nfunction getMillisecondsInterval(approxInterval) {\n  return _util_number_js__WEBPACK_IMPORTED_MODULE_1__[\"nice\"](approxInterval, true);\n}\n\nfunction getFirstTimestampOfUnit(date, unitName, isUTC) {\n  var outDate = new Date(date);\n\n  switch (Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrimaryTimeUnit\"])(unitName)) {\n    case 'year':\n    case 'month':\n      outDate[Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"monthSetterName\"])(isUTC)](0);\n\n    case 'day':\n      outDate[Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"dateSetterName\"])(isUTC)](1);\n\n    case 'hour':\n      outDate[Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"hoursSetterName\"])(isUTC)](0);\n\n    case 'minute':\n      outDate[Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"minutesSetterName\"])(isUTC)](0);\n\n    case 'second':\n      outDate[Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"secondsSetterName\"])(isUTC)](0);\n      outDate[Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"millisecondsSetterName\"])(isUTC)](0);\n  }\n\n  return outDate.getTime();\n}\n\nfunction getIntervalTicks(bottomUnitName, approxInterval, isUTC, extent) {\n  var safeLimit = 10000;\n  var unitNames = _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"timeUnits\"];\n  var iter = 0;\n\n  function addTicksInSpan(interval, minTimestamp, maxTimestamp, getMethodName, setMethodName, isDate, out) {\n    var date = new Date(minTimestamp);\n    var dateTime = minTimestamp;\n    var d = date[getMethodName](); // if (isDate) {\n    //     d -= 1; // Starts with 0;   PENDING\n    // }\n\n    while (dateTime < maxTimestamp && dateTime <= extent[1]) {\n      out.push({\n        value: dateTime\n      });\n      d += interval;\n      date[setMethodName](d);\n      dateTime = date.getTime();\n    } // This extra tick is for calcuating ticks of next level. Will not been added to the final result\n\n\n    out.push({\n      value: dateTime,\n      notAdd: true\n    });\n  }\n\n  function addLevelTicks(unitName, lastLevelTicks, levelTicks) {\n    var newAddedTicks = [];\n    var isFirstLevel = !lastLevelTicks.length;\n\n    if (isUnitValueSame(Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrimaryTimeUnit\"])(unitName), extent[0], extent[1], isUTC)) {\n      return;\n    }\n\n    if (isFirstLevel) {\n      lastLevelTicks = [{\n        // TODO Optimize. Not include so may ticks.\n        value: getFirstTimestampOfUnit(new Date(extent[0]), unitName, isUTC)\n      }, {\n        value: extent[1]\n      }];\n    }\n\n    for (var i = 0; i < lastLevelTicks.length - 1; i++) {\n      var startTick = lastLevelTicks[i].value;\n      var endTick = lastLevelTicks[i + 1].value;\n\n      if (startTick === endTick) {\n        continue;\n      }\n\n      var interval = void 0;\n      var getterName = void 0;\n      var setterName = void 0;\n      var isDate = false;\n\n      switch (unitName) {\n        case 'year':\n          interval = Math.max(1, Math.round(approxInterval / _util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"ONE_DAY\"] / 365));\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"fullYearGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"fullYearSetterName\"])(isUTC);\n          break;\n\n        case 'half-year':\n        case 'quarter':\n        case 'month':\n          interval = getMonthInterval(approxInterval);\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"monthGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"monthSetterName\"])(isUTC);\n          break;\n\n        case 'week': // PENDING If week is added. Ignore day.\n\n        case 'half-week':\n        case 'day':\n          interval = getDateInterval(approxInterval, 31); // Use 32 days and let interval been 16\n\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"dateGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"dateSetterName\"])(isUTC);\n          isDate = true;\n          break;\n\n        case 'half-day':\n        case 'quarter-day':\n        case 'hour':\n          interval = getHourInterval(approxInterval);\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"hoursGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"hoursSetterName\"])(isUTC);\n          break;\n\n        case 'minute':\n          interval = getMinutesAndSecondsInterval(approxInterval, true);\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"minutesGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"minutesSetterName\"])(isUTC);\n          break;\n\n        case 'second':\n          interval = getMinutesAndSecondsInterval(approxInterval, false);\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"secondsGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"secondsSetterName\"])(isUTC);\n          break;\n\n        case 'millisecond':\n          interval = getMillisecondsInterval(approxInterval);\n          getterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"millisecondsGetterName\"])(isUTC);\n          setterName = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"millisecondsSetterName\"])(isUTC);\n          break;\n      }\n\n      addTicksInSpan(interval, startTick, endTick, getterName, setterName, isDate, newAddedTicks);\n\n      if (unitName === 'year' && levelTicks.length > 1 && i === 0) {\n        // Add nearest years to the left extent.\n        levelTicks.unshift({\n          value: levelTicks[0].value - interval\n        });\n      }\n    }\n\n    for (var i = 0; i < newAddedTicks.length; i++) {\n      levelTicks.push(newAddedTicks[i]);\n    } // newAddedTicks.length && console.log(unitName, newAddedTicks);\n\n\n    return newAddedTicks;\n  }\n\n  var levelsTicks = [];\n  var currentLevelTicks = [];\n  var tickCount = 0;\n  var lastLevelTickCount = 0;\n\n  for (var i = 0; i < unitNames.length && iter++ < safeLimit; ++i) {\n    var primaryTimeUnit = Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrimaryTimeUnit\"])(unitNames[i]);\n\n    if (!Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"isPrimaryTimeUnit\"])(unitNames[i])) {\n      // TODO\n      continue;\n    }\n\n    addLevelTicks(unitNames[i], levelsTicks[levelsTicks.length - 1] || [], currentLevelTicks);\n    var nextPrimaryTimeUnit = unitNames[i + 1] ? Object(_util_time_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrimaryTimeUnit\"])(unitNames[i + 1]) : null;\n\n    if (primaryTimeUnit !== nextPrimaryTimeUnit) {\n      if (currentLevelTicks.length) {\n        lastLevelTickCount = tickCount; // Remove the duplicate so the tick count can be precisely.\n\n        currentLevelTicks.sort(function (a, b) {\n          return a.value - b.value;\n        });\n        var levelTicksRemoveDuplicated = [];\n\n        for (var i_1 = 0; i_1 < currentLevelTicks.length; ++i_1) {\n          var tickValue = currentLevelTicks[i_1].value;\n\n          if (i_1 === 0 || currentLevelTicks[i_1 - 1].value !== tickValue) {\n            levelTicksRemoveDuplicated.push(currentLevelTicks[i_1]);\n\n            if (tickValue >= extent[0] && tickValue <= extent[1]) {\n              tickCount++;\n            }\n          }\n        }\n\n        var targetTickNum = (extent[1] - extent[0]) / approxInterval; // Added too much in this level and not too less in last level\n\n        if (tickCount > targetTickNum * 1.5 && lastLevelTickCount > targetTickNum / 1.5) {\n          break;\n        } // Only treat primary time unit as one level.\n\n\n        levelsTicks.push(levelTicksRemoveDuplicated);\n\n        if (tickCount > targetTickNum || bottomUnitName === unitNames[i]) {\n          break;\n        }\n      } // Reset if next unitName is primary\n\n\n      currentLevelTicks = [];\n    }\n  }\n\n  if (true) {\n    if (iter >= safeLimit) {\n      Object(_util_log_js__WEBPACK_IMPORTED_MODULE_6__[\"warn\"])('Exceed safe limit.');\n    }\n  }\n\n  var levelsTicksInExtent = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"filter\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"map\"])(levelsTicks, function (levelTicks) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"filter\"])(levelTicks, function (tick) {\n      return tick.value >= extent[0] && tick.value <= extent[1] && !tick.notAdd;\n    });\n  }), function (levelTicks) {\n    return levelTicks.length > 0;\n  });\n  var ticks = [];\n  var maxLevel = levelsTicksInExtent.length - 1;\n\n  for (var i = 0; i < levelsTicksInExtent.length; ++i) {\n    var levelTicks = levelsTicksInExtent[i];\n\n    for (var k = 0; k < levelTicks.length; ++k) {\n      ticks.push({\n        value: levelTicks[k].value,\n        level: maxLevel - i\n      });\n    }\n  }\n\n  ticks.sort(function (a, b) {\n    return a.value - b.value;\n  }); // Remove duplicates\n\n  var result = [];\n\n  for (var i = 0; i < ticks.length; ++i) {\n    if (i === 0 || ticks[i].value !== ticks[i - 1].value) {\n      result.push(ticks[i]);\n    }\n  }\n\n  return result;\n}\n\n_Scale_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].registerClass(TimeScale);\n/* harmony default export */ __webpack_exports__[\"default\"] = (TimeScale);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Time.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/scale/helper.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/scale/helper.js ***!
  \**************************************************/
/*! exports provided: isValueNice, isIntervalOrLogScale, intervalScaleNiceTicks, increaseInterval, getIntervalPrecision, fixExtent, contain, normalize, scale */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValueNice\", function() { return isValueNice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isIntervalOrLogScale\", function() { return isIntervalOrLogScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intervalScaleNiceTicks\", function() { return intervalScaleNiceTicks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"increaseInterval\", function() { return increaseInterval; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getIntervalPrecision\", function() { return getIntervalPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fixExtent\", function() { return fixExtent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contain\", function() { return contain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalize\", function() { return normalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return scale; });\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction isValueNice(val) {\n  var exp10 = Math.pow(10, Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantityExponent\"])(Math.abs(val)));\n  var f = Math.abs(val / exp10);\n  return f === 0 || f === 1 || f === 2 || f === 3 || f === 5;\n}\nfunction isIntervalOrLogScale(scale) {\n  return scale.type === 'interval' || scale.type === 'log';\n}\n/**\n * @param extent Both extent[0] and extent[1] should be valid number.\n *               Should be extent[0] < extent[1].\n * @param splitNumber splitNumber should be >= 1.\n */\n\nfunction intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval) {\n  var result = {};\n  var span = extent[1] - extent[0];\n  var interval = result.interval = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"nice\"])(span / splitNumber, true);\n\n  if (minInterval != null && interval < minInterval) {\n    interval = result.interval = minInterval;\n  }\n\n  if (maxInterval != null && interval > maxInterval) {\n    interval = result.interval = maxInterval;\n  } // Tow more digital for tick.\n\n\n  var precision = result.intervalPrecision = getIntervalPrecision(interval); // Niced extent inside original extent\n\n  var niceTickExtent = result.niceTickExtent = [Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"])(Math.ceil(extent[0] / interval) * interval, precision), Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"])(Math.floor(extent[1] / interval) * interval, precision)];\n  fixExtent(niceTickExtent, extent);\n  return result;\n}\nfunction increaseInterval(interval) {\n  var exp10 = Math.pow(10, Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"quantityExponent\"])(interval)); // Increase interval\n\n  var f = interval / exp10;\n\n  if (!f) {\n    f = 1;\n  } else if (f === 2) {\n    f = 3;\n  } else if (f === 3) {\n    f = 5;\n  } else {\n    // f is 1 or 5\n    f *= 2;\n  }\n\n  return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"round\"])(f * exp10);\n}\n/**\n * @return interval precision\n */\n\nfunction getIntervalPrecision(interval) {\n  // Tow more digital for tick.\n  return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_0__[\"getPrecision\"])(interval) + 2;\n}\n\nfunction clamp(niceTickExtent, idx, extent) {\n  niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent[1]), extent[0]);\n} // In some cases (e.g., splitNumber is 1), niceTickExtent may be out of extent.\n\n\nfunction fixExtent(niceTickExtent, extent) {\n  !isFinite(niceTickExtent[0]) && (niceTickExtent[0] = extent[0]);\n  !isFinite(niceTickExtent[1]) && (niceTickExtent[1] = extent[1]);\n  clamp(niceTickExtent, 0, extent);\n  clamp(niceTickExtent, 1, extent);\n\n  if (niceTickExtent[0] > niceTickExtent[1]) {\n    niceTickExtent[0] = niceTickExtent[1];\n  }\n}\nfunction contain(val, extent) {\n  return val >= extent[0] && val <= extent[1];\n}\nfunction normalize(val, extent) {\n  if (extent[1] === extent[0]) {\n    return 0.5;\n  }\n\n  return (val - extent[0]) / (extent[1] - extent[0]);\n}\nfunction scale(val, extent) {\n  return val * (extent[1] - extent[0]) + extent[0];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/theme/dark.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/theme/dark.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar contrastColor = '#B9B8CE';\nvar backgroundColor = '#100C2A';\n\nvar axisCommon = function () {\n  return {\n    axisLine: {\n      lineStyle: {\n        color: contrastColor\n      }\n    },\n    splitLine: {\n      lineStyle: {\n        color: '#484753'\n      }\n    },\n    splitArea: {\n      areaStyle: {\n        color: ['rgba(255,255,255,0.02)', 'rgba(255,255,255,0.05)']\n      }\n    },\n    minorSplitLine: {\n      lineStyle: {\n        color: '#20203B'\n      }\n    }\n  };\n};\n\nvar colorPalette = ['#4992ff', '#7cffb2', '#fddd60', '#ff6e76', '#58d9f9', '#05c091', '#ff8a45', '#8d48e3', '#dd79ff'];\nvar theme = {\n  darkMode: true,\n  color: colorPalette,\n  backgroundColor: backgroundColor,\n  axisPointer: {\n    lineStyle: {\n      color: '#817f91'\n    },\n    crossStyle: {\n      color: '#817f91'\n    },\n    label: {\n      // TODO Contrast of label backgorundColor\n      color: '#fff'\n    }\n  },\n  legend: {\n    textStyle: {\n      color: contrastColor\n    }\n  },\n  textStyle: {\n    color: contrastColor\n  },\n  title: {\n    textStyle: {\n      color: '#EEF1FA'\n    },\n    subtextStyle: {\n      color: '#B9B8CE'\n    }\n  },\n  toolbox: {\n    iconStyle: {\n      borderColor: contrastColor\n    }\n  },\n  dataZoom: {\n    borderColor: '#71708A',\n    textStyle: {\n      color: contrastColor\n    },\n    brushStyle: {\n      color: 'rgba(135,163,206,0.3)'\n    },\n    handleStyle: {\n      color: '#353450',\n      borderColor: '#C5CBE3'\n    },\n    moveHandleStyle: {\n      color: '#B0B6C3',\n      opacity: 0.3\n    },\n    fillerColor: 'rgba(135,163,206,0.2)',\n    emphasis: {\n      handleStyle: {\n        borderColor: '#91B7F2',\n        color: '#4D587D'\n      },\n      moveHandleStyle: {\n        color: '#636D9A',\n        opacity: 0.7\n      }\n    },\n    dataBackground: {\n      lineStyle: {\n        color: '#71708A',\n        width: 1\n      },\n      areaStyle: {\n        color: '#71708A'\n      }\n    },\n    selectedDataBackground: {\n      lineStyle: {\n        color: '#87A3CE'\n      },\n      areaStyle: {\n        color: '#87A3CE'\n      }\n    }\n  },\n  visualMap: {\n    textStyle: {\n      color: contrastColor\n    }\n  },\n  timeline: {\n    lineStyle: {\n      color: contrastColor\n    },\n    label: {\n      color: contrastColor\n    },\n    controlStyle: {\n      color: contrastColor,\n      borderColor: contrastColor\n    }\n  },\n  calendar: {\n    itemStyle: {\n      color: backgroundColor\n    },\n    dayLabel: {\n      color: contrastColor\n    },\n    monthLabel: {\n      color: contrastColor\n    },\n    yearLabel: {\n      color: contrastColor\n    }\n  },\n  timeAxis: axisCommon(),\n  logAxis: axisCommon(),\n  valueAxis: axisCommon(),\n  categoryAxis: axisCommon(),\n  line: {\n    symbol: 'circle'\n  },\n  graph: {\n    color: colorPalette\n  },\n  gauge: {\n    title: {\n      color: contrastColor\n    },\n    axisLine: {\n      lineStyle: {\n        color: [[1, 'rgba(207,212,219,0.2)']]\n      }\n    },\n    axisLabel: {\n      color: contrastColor\n    },\n    detail: {\n      color: '#EEF1FA'\n    }\n  },\n  candlestick: {\n    itemStyle: {\n      color: '#f64e56',\n      color0: '#54ea92',\n      borderColor: '#f64e56',\n      borderColor0: '#54ea92' // borderColor: '#ca2824',\n      // borderColor0: '#09a443'\n\n    }\n  }\n};\ntheme.categoryAxis.splitLine.show = false;\n/* harmony default export */ __webpack_exports__[\"default\"] = (theme);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/theme/dark.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/theme/light.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/theme/light.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar colorAll = ['#37A2DA', '#32C5E9', '#67E0E3', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#E062AE', '#E690D1', '#e7bcf3', '#9d96f5', '#8378EA', '#96BFFF'];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  color: colorAll,\n  colorLayer: [['#37A2DA', '#ffd85c', '#fd7b5f'], ['#37A2DA', '#67E0E3', '#FFDB5C', '#ff9f7f', '#E062AE', '#9d96f5'], ['#37A2DA', '#32C5E9', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#e7bcf3', '#8378EA', '#96BFFF'], colorAll]\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/theme/light.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/ECEventProcessor.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/util/ECEventProcessor.js ***!
  \***********************************************************/
/*! exports provided: ECEventProcessor */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ECEventProcessor\", function() { return ECEventProcessor; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _clazz_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * Usage of query:\n * `chart.on('click', query, handler);`\n * The `query` can be:\n * + The component type query string, only `mainType` or `mainType.subType`,\n *   like: 'xAxis', 'series', 'xAxis.category' or 'series.line'.\n * + The component query object, like:\n *   `{seriesIndex: 2}`, `{seriesName: 'xx'}`, `{seriesId: 'some'}`,\n *   `{xAxisIndex: 2}`, `{xAxisName: 'xx'}`, `{xAxisId: 'some'}`.\n * + The data query object, like:\n *   `{dataIndex: 123}`, `{dataType: 'link'}`, `{name: 'some'}`.\n * + The other query object (cmponent customized query), like:\n *   `{element: 'some'}` (only available in custom series).\n *\n * Caveat: If a prop in the `query` object is `null/undefined`, it is the\n * same as there is no such prop in the `query` object.\n */\n\nvar ECEventProcessor =\n/** @class */\nfunction () {\n  function ECEventProcessor() {}\n\n  ECEventProcessor.prototype.normalizeQuery = function (query) {\n    var cptQuery = {};\n    var dataQuery = {};\n    var otherQuery = {}; // `query` is `mainType` or `mainType.subType` of component.\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](query)) {\n      var condCptType = Object(_clazz_js__WEBPACK_IMPORTED_MODULE_1__[\"parseClassType\"])(query); // `.main` and `.sub` may be ''.\n\n      cptQuery.mainType = condCptType.main || null;\n      cptQuery.subType = condCptType.sub || null;\n    } // `query` is an object, convert to {mainType, index, name, id}.\n    else {\n        // `xxxIndex`, `xxxName`, `xxxId`, `name`, `dataIndex`, `dataType` is reserved,\n        // can not be used in `compomentModel.filterForExposedEvent`.\n        var suffixes_1 = ['Index', 'Name', 'Id'];\n        var dataKeys_1 = {\n          name: 1,\n          dataIndex: 1,\n          dataType: 1\n        };\n        zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](query, function (val, key) {\n          var reserved = false;\n\n          for (var i = 0; i < suffixes_1.length; i++) {\n            var propSuffix = suffixes_1[i];\n            var suffixPos = key.lastIndexOf(propSuffix);\n\n            if (suffixPos > 0 && suffixPos === key.length - propSuffix.length) {\n              var mainType = key.slice(0, suffixPos); // Consider `dataIndex`.\n\n              if (mainType !== 'data') {\n                cptQuery.mainType = mainType;\n                cptQuery[propSuffix.toLowerCase()] = val;\n                reserved = true;\n              }\n            }\n          }\n\n          if (dataKeys_1.hasOwnProperty(key)) {\n            dataQuery[key] = val;\n            reserved = true;\n          }\n\n          if (!reserved) {\n            otherQuery[key] = val;\n          }\n        });\n      }\n\n    return {\n      cptQuery: cptQuery,\n      dataQuery: dataQuery,\n      otherQuery: otherQuery\n    };\n  };\n\n  ECEventProcessor.prototype.filter = function (eventType, query) {\n    // They should be assigned before each trigger call.\n    var eventInfo = this.eventInfo;\n\n    if (!eventInfo) {\n      return true;\n    }\n\n    var targetEl = eventInfo.targetEl;\n    var packedEvent = eventInfo.packedEvent;\n    var model = eventInfo.model;\n    var view = eventInfo.view; // For event like 'globalout'.\n\n    if (!model || !view) {\n      return true;\n    }\n\n    var cptQuery = query.cptQuery;\n    var dataQuery = query.dataQuery;\n    return check(cptQuery, model, 'mainType') && check(cptQuery, model, 'subType') && check(cptQuery, model, 'index', 'componentIndex') && check(cptQuery, model, 'name') && check(cptQuery, model, 'id') && check(dataQuery, packedEvent, 'name') && check(dataQuery, packedEvent, 'dataIndex') && check(dataQuery, packedEvent, 'dataType') && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));\n\n    function check(query, host, prop, propOnHost) {\n      return query[prop] == null || host[propOnHost || prop] === query[prop];\n    }\n  };\n\n  ECEventProcessor.prototype.afterTrigger = function () {\n    // Make sure the eventInfo wont be used in next trigger.\n    this.eventInfo = null;\n  };\n\n  return ECEventProcessor;\n}();\n\n\n;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/ECEventProcessor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/animation.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/util/animation.js ***!
  \****************************************************/
/*! exports provided: createWrap */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createWrap\", function() { return createWrap; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Animate multiple elements with a single done-callback.\n *\n * @example\n *  animation\n *      .createWrap()\n *      .add(el1, {x: 10, y: 10})\n *      .add(el2, {shape: {width: 500}, style: {fill: 'red'}}, 400)\n *      .done(function () { // done })\n *      .start('cubicOut');\n */\nvar AnimationWrap =\n/** @class */\nfunction () {\n  function AnimationWrap() {\n    this._storage = [];\n    this._elExistsMap = {};\n  }\n  /**\n   * Caution: a el can only be added once, otherwise 'done'\n   * might not be called. This method checks this (by el.id),\n   * suppresses adding and returns false when existing el found.\n   *\n   * @return Whether adding succeeded.\n   */\n\n\n  AnimationWrap.prototype.add = function (el, target, duration, delay, easing) {\n    if (this._elExistsMap[el.id]) {\n      return false;\n    }\n\n    this._elExistsMap[el.id] = true;\n\n    this._storage.push({\n      el: el,\n      target: target,\n      duration: duration,\n      delay: delay,\n      easing: easing\n    });\n\n    return true;\n  };\n  /**\n   * Only execute when animation done/aborted.\n   */\n\n\n  AnimationWrap.prototype.finished = function (callback) {\n    this._finishedCallback = callback;\n    return this;\n  };\n  /**\n   * Will stop exist animation firstly.\n   */\n\n\n  AnimationWrap.prototype.start = function () {\n    var _this = this;\n\n    var count = this._storage.length;\n\n    var checkTerminate = function () {\n      count--;\n\n      if (count <= 0) {\n        // Guard.\n        _this._storage.length = 0;\n        _this._elExistsMap = {};\n        _this._finishedCallback && _this._finishedCallback();\n      }\n    };\n\n    for (var i = 0, len = this._storage.length; i < len; i++) {\n      var item = this._storage[i];\n      item.el.animateTo(item.target, {\n        duration: item.duration,\n        delay: item.delay,\n        easing: item.easing,\n        setToFinal: true,\n        done: checkTerminate,\n        aborted: checkTerminate\n      });\n    }\n\n    return this;\n  };\n\n  return AnimationWrap;\n}();\n\nfunction createWrap() {\n  return new AnimationWrap();\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/animation.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/clazz.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/util/clazz.js ***!
  \************************************************/
/*! exports provided: parseClassType, isExtendedClass, enableClassExtend, mountExtend, enableClassCheck, enableClassManagement */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseClassType\", function() { return parseClassType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isExtendedClass\", function() { return isExtendedClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableClassExtend\", function() { return enableClassExtend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mountExtend\", function() { return mountExtend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableClassCheck\", function() { return enableClassCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableClassManagement\", function() { return enableClassManagement; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\nvar TYPE_DELIMITER = '.';\nvar IS_CONTAINER = '___EC__COMPONENT__CONTAINER___';\nvar IS_EXTENDED_CLASS = '___EC__EXTENDED_CLASS___';\n/**\n * Notice, parseClassType('') should returns {main: '', sub: ''}\n * @public\n */\n\nfunction parseClassType(componentType) {\n  var ret = {\n    main: '',\n    sub: ''\n  };\n\n  if (componentType) {\n    var typeArr = componentType.split(TYPE_DELIMITER);\n    ret.main = typeArr[0] || '';\n    ret.sub = typeArr[1] || '';\n  }\n\n  return ret;\n}\n/**\n * @public\n */\n\nfunction checkClassType(componentType) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType \"' + componentType + '\" illegal');\n}\n\nfunction isExtendedClass(clz) {\n  return !!(clz && clz[IS_EXTENDED_CLASS]);\n}\n/**\n * Implements `ExtendableConstructor` for `rootClz`.\n *\n * @usage\n * ```ts\n * class Xxx {}\n * type XxxConstructor = typeof Xxx & ExtendableConstructor\n * enableClassExtend(Xxx as XxxConstructor);\n * ```\n */\n\nfunction enableClassExtend(rootClz, mandatoryMethods) {\n  rootClz.$constructor = rootClz; // FIXME: not necessary?\n\n  rootClz.extend = function (proto) {\n    if (true) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](mandatoryMethods, function (method) {\n        if (!proto[method]) {\n          console.warn('Method `' + method + '` should be implemented' + (proto.type ? ' in ' + proto.type : '') + '.');\n        }\n      });\n    }\n\n    var superClass = this;\n    var ExtendedClass;\n\n    if (isESClass(superClass)) {\n      ExtendedClass =\n      /** @class */\n      function (_super) {\n        Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(class_1, _super);\n\n        function class_1() {\n          return _super.apply(this, arguments) || this;\n        }\n\n        return class_1;\n      }(superClass);\n    } else {\n      // For backward compat, we both support ts class inheritance and this\n      // \"extend\" approach.\n      // The constructor should keep the same behavior as ts class inheritance:\n      // If this constructor/$constructor is not declared, auto invoke the super\n      // constructor.\n      // If this constructor/$constructor is declared, it is responsible for\n      // calling the super constructor.\n      ExtendedClass = function () {\n        (proto.$constructor || superClass).apply(this, arguments);\n      };\n\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"inherits\"](ExtendedClass, this);\n    }\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"](ExtendedClass.prototype, proto);\n    ExtendedClass[IS_EXTENDED_CLASS] = true;\n    ExtendedClass.extend = this.extend;\n    ExtendedClass.superCall = superCall;\n    ExtendedClass.superApply = superApply;\n    ExtendedClass.superClass = superClass;\n    return ExtendedClass;\n  };\n}\n\nfunction isESClass(fn) {\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"](fn) && /^class\\s/.test(Function.prototype.toString.call(fn));\n}\n/**\n * A work around to both support ts extend and this extend mechanism.\n * on sub-class.\n * @usage\n * ```ts\n * class Component { ... }\n * classUtil.enableClassExtend(Component);\n * classUtil.enableClassManagement(Component, {registerWhenExtend: true});\n *\n * class Series extends Component { ... }\n * // Without calling `markExtend`, `registerWhenExtend` will not work.\n * Component.markExtend(Series);\n * ```\n */\n\n\nfunction mountExtend(SubClz, SupperClz) {\n  SubClz.extend = SupperClz.extend;\n} // A random offset.\n\nvar classBase = Math.round(Math.random() * 10);\n/**\n * Implements `CheckableConstructor` for `target`.\n * Can not use instanceof, consider different scope by\n * cross domain or es module import in ec extensions.\n * Mount a method \"isInstance()\" to Clz.\n *\n * @usage\n * ```ts\n * class Xxx {}\n * type XxxConstructor = typeof Xxx & CheckableConstructor;\n * enableClassCheck(Xxx as XxxConstructor)\n * ```\n */\n\nfunction enableClassCheck(target) {\n  var classAttr = ['__\\0is_clz', classBase++].join('_');\n  target.prototype[classAttr] = true;\n\n  if (true) {\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"assert\"](!target.isInstance, 'The method \"is\" can not be defined.');\n  }\n\n  target.isInstance = function (obj) {\n    return !!(obj && obj[classAttr]);\n  };\n} // superCall should have class info, which can not be fetch from 'this'.\n// Consider this case:\n// class A has method f,\n// class B inherits class A, overrides method f, f call superApply('f'),\n// class C inherits class B, do not overrides method f,\n// then when method of class C is called, dead loop occured.\n\nfunction superCall(context, methodName) {\n  var args = [];\n\n  for (var _i = 2; _i < arguments.length; _i++) {\n    args[_i - 2] = arguments[_i];\n  }\n\n  return this.superClass.prototype[methodName].apply(context, args);\n}\n\nfunction superApply(context, methodName, args) {\n  return this.superClass.prototype[methodName].apply(context, args);\n}\n/**\n * Implements `ClassManager` for `target`\n *\n * @usage\n * ```ts\n * class Xxx {}\n * type XxxConstructor = typeof Xxx & ClassManager\n * enableClassManagement(Xxx as XxxConstructor);\n * ```\n */\n\n\nfunction enableClassManagement(target) {\n  /**\n   * Component model classes\n   * key: componentType,\n   * value:\n   *     componentClass, when componentType is 'a'\n   *     or Object.<subKey, componentClass>, when componentType is 'a.b'\n   */\n  var storage = {};\n\n  target.registerClass = function (clz) {\n    // `type` should not be a \"instance memeber\".\n    // If using TS class, should better declared as `static type = 'series.pie'`.\n    // otherwise users have to mount `type` on prototype manually.\n    // For backward compat and enable instance visit type via `this.type`,\n    // we stil support fetch `type` from prototype.\n    var componentFullType = clz.type || clz.prototype.type;\n\n    if (componentFullType) {\n      checkClassType(componentFullType); // If only static type declared, we assign it to prototype mandatorily.\n\n      clz.prototype.type = componentFullType;\n      var componentTypeInfo = parseClassType(componentFullType);\n\n      if (!componentTypeInfo.sub) {\n        if (true) {\n          if (storage[componentTypeInfo.main]) {\n            console.warn(componentTypeInfo.main + ' exists.');\n          }\n        }\n\n        storage[componentTypeInfo.main] = clz;\n      } else if (componentTypeInfo.sub !== IS_CONTAINER) {\n        var container = makeContainer(componentTypeInfo);\n        container[componentTypeInfo.sub] = clz;\n      }\n    }\n\n    return clz;\n  };\n\n  target.getClass = function (mainType, subType, throwWhenNotFound) {\n    var clz = storage[mainType];\n\n    if (clz && clz[IS_CONTAINER]) {\n      clz = subType ? clz[subType] : null;\n    }\n\n    if (throwWhenNotFound && !clz) {\n      throw new Error(!subType ? mainType + '.' + 'type should be specified.' : 'Component ' + mainType + '.' + (subType || '') + ' is used but not imported.');\n    }\n\n    return clz;\n  };\n\n  target.getClassesByMainType = function (componentType) {\n    var componentTypeInfo = parseClassType(componentType);\n    var result = [];\n    var obj = storage[componentTypeInfo.main];\n\n    if (obj && obj[IS_CONTAINER]) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](obj, function (o, type) {\n        type !== IS_CONTAINER && result.push(o);\n      });\n    } else {\n      result.push(obj);\n    }\n\n    return result;\n  };\n\n  target.hasClass = function (componentType) {\n    // Just consider componentType.main.\n    var componentTypeInfo = parseClassType(componentType);\n    return !!storage[componentTypeInfo.main];\n  };\n  /**\n   * @return Like ['aa', 'bb'], but can not be ['aa.xx']\n   */\n\n\n  target.getAllClassMainTypes = function () {\n    var types = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](storage, function (obj, type) {\n      types.push(type);\n    });\n    return types;\n  };\n  /**\n   * If a main type is container and has sub types\n   */\n\n\n  target.hasSubTypes = function (componentType) {\n    var componentTypeInfo = parseClassType(componentType);\n    var obj = storage[componentTypeInfo.main];\n    return obj && obj[IS_CONTAINER];\n  };\n\n  function makeContainer(componentTypeInfo) {\n    var container = storage[componentTypeInfo.main];\n\n    if (!container || !container[IS_CONTAINER]) {\n      container = storage[componentTypeInfo.main] = {};\n      container[IS_CONTAINER] = true;\n    }\n\n    return container;\n  }\n} // /**\n//  * @param {string|Array.<string>} properties\n//  */\n// export function setReadOnly(obj, properties) {\n// FIXME It seems broken in IE8 simulation of IE11\n// if (!zrUtil.isArray(properties)) {\n//     properties = properties != null ? [properties] : [];\n// }\n// zrUtil.each(properties, function (prop) {\n//     let value = obj[prop];\n//     Object.defineProperty\n//         && Object.defineProperty(obj, prop, {\n//             value: value, writable: false\n//         });\n//     zrUtil.isArray(obj[prop])\n//         && Object.freeze\n//         && Object.freeze(obj[prop]);\n// });\n// }\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/clazz.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/component.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/util/component.js ***!
  \****************************************************/
/*! exports provided: getUID, enableSubTypeDefaulter, enableTopologicalTravel, inheritDefaultOption */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUID\", function() { return getUID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableSubTypeDefaulter\", function() { return enableSubTypeDefaulter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableTopologicalTravel\", function() { return enableTopologicalTravel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inheritDefaultOption\", function() { return inheritDefaultOption; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _clazz_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n/* harmony import */ var _log_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n // A random offset\n\nvar base = Math.round(Math.random() * 10);\n/**\n * @public\n * @param {string} type\n * @return {string}\n */\n\nfunction getUID(type) {\n  // Considering the case of crossing js context,\n  // use Math.random to make id as unique as possible.\n  return [type || '', base++].join('_');\n}\n/**\n * Implements `SubTypeDefaulterManager` for `target`.\n */\n\nfunction enableSubTypeDefaulter(target) {\n  var subTypeDefaulters = {};\n\n  target.registerSubTypeDefaulter = function (componentType, defaulter) {\n    var componentTypeInfo = Object(_clazz_js__WEBPACK_IMPORTED_MODULE_1__[\"parseClassType\"])(componentType);\n    subTypeDefaulters[componentTypeInfo.main] = defaulter;\n  };\n\n  target.determineSubType = function (componentType, option) {\n    var type = option.type;\n\n    if (!type) {\n      var componentTypeMain = Object(_clazz_js__WEBPACK_IMPORTED_MODULE_1__[\"parseClassType\"])(componentType).main;\n\n      if (target.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {\n        type = subTypeDefaulters[componentTypeMain](option);\n      }\n    }\n\n    return type;\n  };\n}\n/**\n * Implements `TopologicalTravelable<any>` for `entity`.\n *\n * Topological travel on Activity Network (Activity On Vertices).\n * Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].\n * If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.\n * If there is circular dependencey, Error will be thrown.\n */\n\nfunction enableTopologicalTravel(entity, dependencyGetter) {\n  /**\n   * @param targetNameList Target Component type list.\n   *                       Can be ['aa', 'bb', 'aa.xx']\n   * @param fullNameList By which we can build dependency graph.\n   * @param callback Params: componentType, dependencies.\n   * @param context Scope of callback.\n   */\n  entity.topologicalTravel = function (targetNameList, fullNameList, callback, context) {\n    if (!targetNameList.length) {\n      return;\n    }\n\n    var result = makeDepndencyGraph(fullNameList);\n    var graph = result.graph;\n    var noEntryList = result.noEntryList;\n    var targetNameSet = {};\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](targetNameList, function (name) {\n      targetNameSet[name] = true;\n    });\n\n    while (noEntryList.length) {\n      var currComponentType = noEntryList.pop();\n      var currVertex = graph[currComponentType];\n      var isInTargetNameSet = !!targetNameSet[currComponentType];\n\n      if (isInTargetNameSet) {\n        callback.call(context, currComponentType, currVertex.originalDeps.slice());\n        delete targetNameSet[currComponentType];\n      }\n\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);\n    }\n\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](targetNameSet, function () {\n      var errMsg = '';\n\n      if (true) {\n        errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_2__[\"makePrintable\"])('Circular dependency may exists: ', targetNameSet, targetNameList, fullNameList);\n      }\n\n      throw new Error(errMsg);\n    });\n\n    function removeEdge(succComponentType) {\n      graph[succComponentType].entryCount--;\n\n      if (graph[succComponentType].entryCount === 0) {\n        noEntryList.push(succComponentType);\n      }\n    } // Consider this case: legend depends on series, and we call\n    // chart.setOption({series: [...]}), where only series is in option.\n    // If we do not have 'removeEdgeAndAdd', legendModel.mergeOption will\n    // not be called, but only sereis.mergeOption is called. Thus legend\n    // have no chance to update its local record about series (like which\n    // name of series is available in legend).\n\n\n    function removeEdgeAndAdd(succComponentType) {\n      targetNameSet[succComponentType] = true;\n      removeEdge(succComponentType);\n    }\n  };\n\n  function makeDepndencyGraph(fullNameList) {\n    var graph = {};\n    var noEntryList = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](fullNameList, function (name) {\n      var thisItem = createDependencyGraphItem(graph, name);\n      var originalDeps = thisItem.originalDeps = dependencyGetter(name);\n      var availableDeps = getAvailableDependencies(originalDeps, fullNameList);\n      thisItem.entryCount = availableDeps.length;\n\n      if (thisItem.entryCount === 0) {\n        noEntryList.push(name);\n      }\n\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](availableDeps, function (dependentName) {\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](thisItem.predecessor, dependentName) < 0) {\n          thisItem.predecessor.push(dependentName);\n        }\n\n        var thatItem = createDependencyGraphItem(graph, dependentName);\n\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](thatItem.successor, dependentName) < 0) {\n          thatItem.successor.push(name);\n        }\n      });\n    });\n    return {\n      graph: graph,\n      noEntryList: noEntryList\n    };\n  }\n\n  function createDependencyGraphItem(graph, name) {\n    if (!graph[name]) {\n      graph[name] = {\n        predecessor: [],\n        successor: []\n      };\n    }\n\n    return graph[name];\n  }\n\n  function getAvailableDependencies(originalDeps, fullNameList) {\n    var availableDeps = [];\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](originalDeps, function (dep) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](fullNameList, dep) >= 0 && availableDeps.push(dep);\n    });\n    return availableDeps;\n  }\n}\nfunction inheritDefaultOption(superOption, subOption) {\n  // See also `model/Component.ts#getDefaultOption`\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"]({}, superOption, true), subOption, true);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/component.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/conditionalExpression.js":
/*!****************************************************************!*\
  !*** ./node_modules/echarts/lib/util/conditionalExpression.js ***!
  \****************************************************************/
/*! exports provided: parseConditionalExpression */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseConditionalExpression\", function() { return parseConditionalExpression; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var _data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/helper/dataValueHelper.js */ \"./node_modules/echarts/lib/data/helper/dataValueHelper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n;\nvar RELATIONAL_EXPRESSION_OP_ALIAS_MAP = {\n  value: 'eq',\n  // PENDING: not good for literal semantic?\n  '<': 'lt',\n  '<=': 'lte',\n  '>': 'gt',\n  '>=': 'gte',\n  '=': 'eq',\n  '!=': 'ne',\n  '<>': 'ne' // Might mileading for sake of the different between '==' and '===',\n  // So dont support them.\n  // '==': 'eq',\n  // '===': 'seq',\n  // '!==': 'sne'\n  // PENDING: Whether support some common alias \"ge\", \"le\", \"neq\"?\n  // ge: 'gte',\n  // le: 'lte',\n  // neq: 'ne',\n\n}; // type RelationalExpressionOpEvaluate = (tarVal: unknown, condVal: unknown) => boolean;\n\nvar RegExpEvaluator =\n/** @class */\nfunction () {\n  function RegExpEvaluator(rVal) {\n    // Support condVal: RegExp | string\n    var condValue = this._condVal = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(rVal) ? new RegExp(rVal) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isRegExp\"])(rVal) ? rVal : null;\n\n    if (condValue == null) {\n      var errMsg = '';\n\n      if (true) {\n        errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('Illegal regexp', rVal, 'in');\n      }\n\n      Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n    }\n  }\n\n  RegExpEvaluator.prototype.evaluate = function (lVal) {\n    var type = typeof lVal;\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(type) ? this._condVal.test(lVal) : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(type) ? this._condVal.test(lVal + '') : false;\n  };\n\n  return RegExpEvaluator;\n}();\n\nvar ConstConditionInternal =\n/** @class */\nfunction () {\n  function ConstConditionInternal() {}\n\n  ConstConditionInternal.prototype.evaluate = function () {\n    return this.value;\n  };\n\n  return ConstConditionInternal;\n}();\n\nvar AndConditionInternal =\n/** @class */\nfunction () {\n  function AndConditionInternal() {}\n\n  AndConditionInternal.prototype.evaluate = function () {\n    var children = this.children;\n\n    for (var i = 0; i < children.length; i++) {\n      if (!children[i].evaluate()) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  return AndConditionInternal;\n}();\n\nvar OrConditionInternal =\n/** @class */\nfunction () {\n  function OrConditionInternal() {}\n\n  OrConditionInternal.prototype.evaluate = function () {\n    var children = this.children;\n\n    for (var i = 0; i < children.length; i++) {\n      if (children[i].evaluate()) {\n        return true;\n      }\n    }\n\n    return false;\n  };\n\n  return OrConditionInternal;\n}();\n\nvar NotConditionInternal =\n/** @class */\nfunction () {\n  function NotConditionInternal() {}\n\n  NotConditionInternal.prototype.evaluate = function () {\n    return !this.child.evaluate();\n  };\n\n  return NotConditionInternal;\n}();\n\nvar RelationalConditionInternal =\n/** @class */\nfunction () {\n  function RelationalConditionInternal() {}\n\n  RelationalConditionInternal.prototype.evaluate = function () {\n    var needParse = !!this.valueParser; // Call getValue with no `this`.\n\n    var getValue = this.getValue;\n    var tarValRaw = getValue(this.valueGetterParam);\n    var tarValParsed = needParse ? this.valueParser(tarValRaw) : null; // Relational cond follow \"and\" logic internally.\n\n    for (var i = 0; i < this.subCondList.length; i++) {\n      if (!this.subCondList[i].evaluate(needParse ? tarValParsed : tarValRaw)) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  return RelationalConditionInternal;\n}();\n\nfunction parseOption(exprOption, getters) {\n  if (exprOption === true || exprOption === false) {\n    var cond = new ConstConditionInternal();\n    cond.value = exprOption;\n    return cond;\n  }\n\n  var errMsg = '';\n\n  if (!isObjectNotArray(exprOption)) {\n    if (true) {\n      errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('Illegal config. Expect a plain object but actually', exprOption);\n    }\n\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  if (exprOption.and) {\n    return parseAndOrOption('and', exprOption, getters);\n  } else if (exprOption.or) {\n    return parseAndOrOption('or', exprOption, getters);\n  } else if (exprOption.not) {\n    return parseNotOption(exprOption, getters);\n  }\n\n  return parseRelationalOption(exprOption, getters);\n}\n\nfunction parseAndOrOption(op, exprOption, getters) {\n  var subOptionArr = exprOption[op];\n  var errMsg = '';\n\n  if (true) {\n    errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('\"and\"/\"or\" condition should only be `' + op + ': [...]` and must not be empty array.', 'Illegal condition:', exprOption);\n  }\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(subOptionArr)) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  if (!subOptionArr.length) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  var cond = op === 'and' ? new AndConditionInternal() : new OrConditionInternal();\n  cond.children = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(subOptionArr, function (subOption) {\n    return parseOption(subOption, getters);\n  });\n\n  if (!cond.children.length) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  return cond;\n}\n\nfunction parseNotOption(exprOption, getters) {\n  var subOption = exprOption.not;\n  var errMsg = '';\n\n  if (true) {\n    errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('\"not\" condition should only be `not: {}`.', 'Illegal condition:', exprOption);\n  }\n\n  if (!isObjectNotArray(subOption)) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  var cond = new NotConditionInternal();\n  cond.child = parseOption(subOption, getters);\n\n  if (!cond.child) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  return cond;\n}\n\nfunction parseRelationalOption(exprOption, getters) {\n  var errMsg = '';\n  var valueGetterParam = getters.prepareGetValue(exprOption);\n  var subCondList = [];\n  var exprKeys = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(exprOption);\n  var parserName = exprOption.parser;\n  var valueParser = parserName ? Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"getRawValueParser\"])(parserName) : null;\n\n  for (var i = 0; i < exprKeys.length; i++) {\n    var keyRaw = exprKeys[i];\n\n    if (keyRaw === 'parser' || getters.valueGetterAttrMap.get(keyRaw)) {\n      continue;\n    }\n\n    var op = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(RELATIONAL_EXPRESSION_OP_ALIAS_MAP, keyRaw) ? RELATIONAL_EXPRESSION_OP_ALIAS_MAP[keyRaw] : keyRaw;\n    var condValueRaw = exprOption[keyRaw];\n    var condValueParsed = valueParser ? valueParser(condValueRaw) : condValueRaw;\n    var evaluator = Object(_data_helper_dataValueHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"createFilterComparator\"])(op, condValueParsed) || op === 'reg' && new RegExpEvaluator(condValueParsed);\n\n    if (!evaluator) {\n      if (true) {\n        errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('Illegal relational operation: \"' + keyRaw + '\" in condition:', exprOption);\n      }\n\n      Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n    }\n\n    subCondList.push(evaluator);\n  }\n\n  if (!subCondList.length) {\n    if (true) {\n      errMsg = Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"makePrintable\"])('Relational condition must have at least one operator.', 'Illegal condition:', exprOption);\n    } // No relational operator always disabled in case of dangers result.\n\n\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_1__[\"throwError\"])(errMsg);\n  }\n\n  var cond = new RelationalConditionInternal();\n  cond.valueGetterParam = valueGetterParam;\n  cond.valueParser = valueParser;\n  cond.getValue = getters.getValue;\n  cond.subCondList = subCondList;\n  return cond;\n}\n\nfunction isObjectNotArray(val) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(val) && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArrayLike\"])(val);\n}\n\nvar ConditionalExpressionParsed =\n/** @class */\nfunction () {\n  function ConditionalExpressionParsed(exprOption, getters) {\n    this._cond = parseOption(exprOption, getters);\n  }\n\n  ConditionalExpressionParsed.prototype.evaluate = function () {\n    return this._cond.evaluate();\n  };\n\n  return ConditionalExpressionParsed;\n}();\n\n;\nfunction parseConditionalExpression(exprOption, getters) {\n  return new ConditionalExpressionParsed(exprOption, getters);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/conditionalExpression.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/decal.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/util/decal.js ***!
  \************************************************/
/*! exports provided: createOrUpdatePatternFromDecal */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createOrUpdatePatternFromDecal\", function() { return createOrUpdatePatternFromDecal; });\n/* harmony import */ var zrender_lib_core_WeakMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/WeakMap.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/WeakMap.js\");\n/* harmony import */ var zrender_lib_core_LRU_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/LRU.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/LRU.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./symbol.js */ \"./node_modules/echarts/lib/util/symbol.js\");\n/* harmony import */ var zrender_lib_canvas_graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/canvas/graphic.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js\");\n/* harmony import */ var zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\nvar decalMap = new zrender_lib_core_WeakMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\nvar decalCache = new zrender_lib_core_LRU_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](100);\nvar decalKeys = ['symbol', 'symbolSize', 'symbolKeepAspect', 'color', 'backgroundColor', 'dashArrayX', 'dashArrayY', 'maxTileWidth', 'maxTileHeight'];\n/**\n * Create or update pattern image from decal options\n *\n * @param {InnerDecalObject | 'none'} decalObject decal options, 'none' if no decal\n * @return {Pattern} pattern with generated image, null if no decal\n */\n\nfunction createOrUpdatePatternFromDecal(decalObject, api) {\n  if (decalObject === 'none') {\n    return null;\n  }\n\n  var dpr = api.getDevicePixelRatio();\n  var zr = api.getZr();\n  var isSVG = zr.painter.type === 'svg';\n\n  if (decalObject.dirty) {\n    decalMap[\"delete\"](decalObject);\n  }\n\n  var oldPattern = decalMap.get(decalObject);\n\n  if (oldPattern) {\n    return oldPattern;\n  }\n\n  var decalOpt = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])(decalObject, {\n    symbol: 'rect',\n    symbolSize: 1,\n    symbolKeepAspect: true,\n    color: 'rgba(0, 0, 0, 0.2)',\n    backgroundColor: null,\n    dashArrayX: 5,\n    dashArrayY: 5,\n    rotation: 0,\n    maxTileWidth: 512,\n    maxTileHeight: 512\n  });\n\n  if (decalOpt.backgroundColor === 'none') {\n    decalOpt.backgroundColor = null;\n  }\n\n  var pattern = {\n    repeat: 'repeat'\n  };\n  setPatternnSource(pattern);\n  pattern.rotation = decalOpt.rotation;\n  pattern.scaleX = pattern.scaleY = isSVG ? 1 : 1 / dpr;\n  decalMap.set(decalObject, pattern);\n  decalObject.dirty = false;\n  return pattern;\n\n  function setPatternnSource(pattern) {\n    var keys = [dpr];\n    var isValidKey = true;\n\n    for (var i = 0; i < decalKeys.length; ++i) {\n      var value = decalOpt[decalKeys[i]];\n\n      if (value != null && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArray\"])(value) && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(value) && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(value) && typeof value !== 'boolean') {\n        isValidKey = false;\n        break;\n      }\n\n      keys.push(value);\n    }\n\n    var cacheKey;\n\n    if (isValidKey) {\n      cacheKey = keys.join(',') + (isSVG ? '-svg' : '');\n      var cache = decalCache.get(cacheKey);\n\n      if (cache) {\n        isSVG ? pattern.svgElement = cache : pattern.image = cache;\n      }\n    }\n\n    var dashArrayX = normalizeDashArrayX(decalOpt.dashArrayX);\n    var dashArrayY = normalizeDashArrayY(decalOpt.dashArrayY);\n    var symbolArray = normalizeSymbolArray(decalOpt.symbol);\n    var lineBlockLengthsX = getLineBlockLengthX(dashArrayX);\n    var lineBlockLengthY = getLineBlockLengthY(dashArrayY);\n    var canvas = !isSVG && zrender_lib_core_platform_js__WEBPACK_IMPORTED_MODULE_6__[\"platformApi\"].createCanvas();\n    var svgRoot = isSVG && {\n      tag: 'g',\n      attrs: {},\n      key: 'dcl',\n      children: []\n    };\n    var pSize = getPatternSize();\n    var ctx;\n\n    if (canvas) {\n      canvas.width = pSize.width * dpr;\n      canvas.height = pSize.height * dpr;\n      ctx = canvas.getContext('2d');\n    }\n\n    brushDecal();\n\n    if (isValidKey) {\n      decalCache.put(cacheKey, canvas || svgRoot);\n    }\n\n    pattern.image = canvas;\n    pattern.svgElement = svgRoot;\n    pattern.svgWidth = pSize.width;\n    pattern.svgHeight = pSize.height;\n    /**\n     * Get minumum length that can make a repeatable pattern.\n     *\n     * @return {Object} pattern width and height\n     */\n\n    function getPatternSize() {\n      /**\n       * For example, if dash is [[3, 2], [2, 1]] for X, it looks like\n       * |---  ---  ---  ---  --- ...\n       * |-- -- -- -- -- -- -- -- ...\n       * |---  ---  ---  ---  --- ...\n       * |-- -- -- -- -- -- -- -- ...\n       * So the minumum length of X is 15,\n       * which is the least common multiple of `3 + 2` and `2 + 1`\n       * |---  ---  ---  |---  --- ...\n       * |-- -- -- -- -- |-- -- -- ...\n       */\n      var width = 1;\n\n      for (var i = 0, xlen = lineBlockLengthsX.length; i < xlen; ++i) {\n        width = Object(_number_js__WEBPACK_IMPORTED_MODULE_3__[\"getLeastCommonMultiple\"])(width, lineBlockLengthsX[i]);\n      }\n\n      var symbolRepeats = 1;\n\n      for (var i = 0, xlen = symbolArray.length; i < xlen; ++i) {\n        symbolRepeats = Object(_number_js__WEBPACK_IMPORTED_MODULE_3__[\"getLeastCommonMultiple\"])(symbolRepeats, symbolArray[i].length);\n      }\n\n      width *= symbolRepeats;\n      var height = lineBlockLengthY * lineBlockLengthsX.length * symbolArray.length;\n\n      if (true) {\n        var warn = function (attrName) {\n          /* eslint-disable-next-line */\n          console.warn(\"Calculated decal size is greater than \" + attrName + \" due to decal option settings so \" + attrName + \" is used for the decal size. Please consider changing the decal option to make a smaller decal or set \" + attrName + \" to be larger to avoid incontinuity.\");\n        };\n\n        if (width > decalOpt.maxTileWidth) {\n          warn('maxTileWidth');\n        }\n\n        if (height > decalOpt.maxTileHeight) {\n          warn('maxTileHeight');\n        }\n      }\n\n      return {\n        width: Math.max(1, Math.min(width, decalOpt.maxTileWidth)),\n        height: Math.max(1, Math.min(height, decalOpt.maxTileHeight))\n      };\n    }\n\n    function brushDecal() {\n      if (ctx) {\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n        if (decalOpt.backgroundColor) {\n          ctx.fillStyle = decalOpt.backgroundColor;\n          ctx.fillRect(0, 0, canvas.width, canvas.height);\n        }\n      }\n\n      var ySum = 0;\n\n      for (var i = 0; i < dashArrayY.length; ++i) {\n        ySum += dashArrayY[i];\n      }\n\n      if (ySum <= 0) {\n        // dashArrayY is 0, draw nothing\n        return;\n      }\n\n      var y = -lineBlockLengthY;\n      var yId = 0;\n      var yIdTotal = 0;\n      var xId0 = 0;\n\n      while (y < pSize.height) {\n        if (yId % 2 === 0) {\n          var symbolYId = yIdTotal / 2 % symbolArray.length;\n          var x = 0;\n          var xId1 = 0;\n          var xId1Total = 0;\n\n          while (x < pSize.width * 2) {\n            var xSum = 0;\n\n            for (var i = 0; i < dashArrayX[xId0].length; ++i) {\n              xSum += dashArrayX[xId0][i];\n            }\n\n            if (xSum <= 0) {\n              // Skip empty line\n              break;\n            } // E.g., [15, 5, 20, 5] draws only for 15 and 20\n\n\n            if (xId1 % 2 === 0) {\n              var size = (1 - decalOpt.symbolSize) * 0.5;\n              var left = x + dashArrayX[xId0][xId1] * size;\n              var top_1 = y + dashArrayY[yId] * size;\n              var width = dashArrayX[xId0][xId1] * decalOpt.symbolSize;\n              var height = dashArrayY[yId] * decalOpt.symbolSize;\n              var symbolXId = xId1Total / 2 % symbolArray[symbolYId].length;\n              brushSymbol(left, top_1, width, height, symbolArray[symbolYId][symbolXId]);\n            }\n\n            x += dashArrayX[xId0][xId1];\n            ++xId1Total;\n            ++xId1;\n\n            if (xId1 === dashArrayX[xId0].length) {\n              xId1 = 0;\n            }\n          }\n\n          ++xId0;\n\n          if (xId0 === dashArrayX.length) {\n            xId0 = 0;\n          }\n        }\n\n        y += dashArrayY[yId];\n        ++yIdTotal;\n        ++yId;\n\n        if (yId === dashArrayY.length) {\n          yId = 0;\n        }\n      }\n\n      function brushSymbol(x, y, width, height, symbolType) {\n        var scale = isSVG ? 1 : dpr;\n        var symbol = Object(_symbol_js__WEBPACK_IMPORTED_MODULE_4__[\"createSymbol\"])(symbolType, x * scale, y * scale, width * scale, height * scale, decalOpt.color, decalOpt.symbolKeepAspect);\n\n        if (isSVG) {\n          var symbolVNode = zr.painter.renderOneToVNode(symbol);\n\n          if (symbolVNode) {\n            svgRoot.children.push(symbolVNode);\n          }\n        } else {\n          // Paint to canvas for all other renderers.\n          Object(zrender_lib_canvas_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"brushSingle\"])(ctx, symbol);\n        }\n      }\n    }\n  }\n}\n/**\n * Convert symbol array into normalized array\n *\n * @param {string | (string | string[])[]} symbol symbol input\n * @return {string[][]} normolized symbol array\n */\n\nfunction normalizeSymbolArray(symbol) {\n  if (!symbol || symbol.length === 0) {\n    return [['rect']];\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(symbol)) {\n    return [[symbol]];\n  }\n\n  var isAllString = true;\n\n  for (var i = 0; i < symbol.length; ++i) {\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(symbol[i])) {\n      isAllString = false;\n      break;\n    }\n  }\n\n  if (isAllString) {\n    return normalizeSymbolArray([symbol]);\n  }\n\n  var result = [];\n\n  for (var i = 0; i < symbol.length; ++i) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(symbol[i])) {\n      result.push([symbol[i]]);\n    } else {\n      result.push(symbol[i]);\n    }\n  }\n\n  return result;\n}\n/**\n * Convert dash input into dashArray\n *\n * @param {DecalDashArrayX} dash dash input\n * @return {number[][]} normolized dash array\n */\n\n\nfunction normalizeDashArrayX(dash) {\n  if (!dash || dash.length === 0) {\n    return [[0, 0]];\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(dash)) {\n    var dashValue = Math.ceil(dash);\n    return [[dashValue, dashValue]];\n  }\n  /**\n   * [20, 5] should be normalized into [[20, 5]],\n   * while [20, [5, 10]] should be normalized into [[20, 20], [5, 10]]\n   */\n\n\n  var isAllNumber = true;\n\n  for (var i = 0; i < dash.length; ++i) {\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(dash[i])) {\n      isAllNumber = false;\n      break;\n    }\n  }\n\n  if (isAllNumber) {\n    return normalizeDashArrayX([dash]);\n  }\n\n  var result = [];\n\n  for (var i = 0; i < dash.length; ++i) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(dash[i])) {\n      var dashValue = Math.ceil(dash[i]);\n      result.push([dashValue, dashValue]);\n    } else {\n      var dashValue = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(dash[i], function (n) {\n        return Math.ceil(n);\n      });\n\n      if (dashValue.length % 2 === 1) {\n        // [4, 2, 1] means |----  -    -- |----  -    -- |\n        // so normalize it to be [4, 2, 1, 4, 2, 1]\n        result.push(dashValue.concat(dashValue));\n      } else {\n        result.push(dashValue);\n      }\n    }\n  }\n\n  return result;\n}\n/**\n * Convert dash input into dashArray\n *\n * @param {DecalDashArrayY} dash dash input\n * @return {number[]} normolized dash array\n */\n\n\nfunction normalizeDashArrayY(dash) {\n  if (!dash || typeof dash === 'object' && dash.length === 0) {\n    return [0, 0];\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(dash)) {\n    var dashValue_1 = Math.ceil(dash);\n    return [dashValue_1, dashValue_1];\n  }\n\n  var dashValue = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(dash, function (n) {\n    return Math.ceil(n);\n  });\n  return dash.length % 2 ? dashValue.concat(dashValue) : dashValue;\n}\n/**\n * Get block length of each line. A block is the length of dash line and space.\n * For example, a line with [4, 1] has a dash line of 4 and a space of 1 after\n * that, so the block length of this line is 5.\n *\n * @param {number[][]} dash dash arrary of X or Y\n * @return {number[]} block length of each line\n */\n\n\nfunction getLineBlockLengthX(dash) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(dash, function (line) {\n    return getLineBlockLengthY(line);\n  });\n}\n\nfunction getLineBlockLengthY(dash) {\n  var blockLength = 0;\n\n  for (var i = 0; i < dash.length; ++i) {\n    blockLength += dash[i];\n  }\n\n  if (dash.length % 2 === 1) {\n    // [4, 2, 1] means |----  -    -- |----  -    -- |\n    // So total length is (4 + 2 + 1) * 2\n    return blockLength * 2;\n  }\n\n  return blockLength;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/decal.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/event.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/util/event.js ***!
  \************************************************/
/*! exports provided: findEventDispatcher */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findEventDispatcher\", function() { return findEventDispatcher; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction findEventDispatcher(target, det, returnFirstMatch) {\n  var found;\n\n  while (target) {\n    if (det(target)) {\n      found = target;\n\n      if (returnFirstMatch) {\n        break;\n      }\n    }\n\n    target = target.__hostTarget || target.parent;\n  }\n\n  return found;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/event.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/format.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/util/format.js ***!
  \*************************************************/
/*! exports provided: addCommas, toCamelCase, normalizeCssArray, encodeHTML, makeValueReadable, formatTpl, formatTplSimple, getTooltipMarker, formatTime, capitalFirst, convertToColorString, truncateText, windowOpen, getTextRect */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addCommas\", function() { return addCommas; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return toCamelCase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeCssArray\", function() { return normalizeCssArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeValueReadable\", function() { return makeValueReadable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatTpl\", function() { return formatTpl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatTplSimple\", function() { return formatTplSimple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTooltipMarker\", function() { return getTooltipMarker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatTime\", function() { return formatTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"capitalFirst\", function() { return capitalFirst; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertToColorString\", function() { return convertToColorString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"windowOpen\", function() { return windowOpen; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/dom.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/dom.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"encodeHTML\", function() { return zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_1__[\"encodeHTML\"]; });\n\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _time_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./time.js */ \"./node_modules/echarts/lib/util/time.js\");\n/* harmony import */ var _log_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./log.js */ \"./node_modules/echarts/lib/util/log.js\");\n/* harmony import */ var zrender_lib_graphic_helper_parseText_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/graphic/helper/parseText.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/parseText.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"truncateText\", function() { return zrender_lib_graphic_helper_parseText_js__WEBPACK_IMPORTED_MODULE_5__[\"truncateText\"]; });\n\n/* harmony import */ var _legacy_getTextRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../legacy/getTextRect.js */ \"./node_modules/echarts/lib/legacy/getTextRect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTextRect\", function() { return _legacy_getTextRect_js__WEBPACK_IMPORTED_MODULE_6__[\"getTextRect\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n/**\n * Add a comma each three digit.\n */\n\nfunction addCommas(x) {\n  if (!Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumeric\"])(x)) {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](x) ? x : '-';\n  }\n\n  var parts = (x + '').split('.');\n  return parts[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g, '$1,') + (parts.length > 1 ? '.' + parts[1] : '');\n}\nfunction toCamelCase(str, upperCaseFirst) {\n  str = (str || '').toLowerCase().replace(/-(.)/g, function (match, group1) {\n    return group1.toUpperCase();\n  });\n\n  if (upperCaseFirst && str) {\n    str = str.charAt(0).toUpperCase() + str.slice(1);\n  }\n\n  return str;\n}\nvar normalizeCssArray = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeCssArray\"];\n\n/**\n * Make value user readable for tooltip and label.\n * \"User readable\":\n *     Try to not print programmer-specific text like NaN, Infinity, null, undefined.\n *     Avoid to display an empty string, which users can not recognize there is\n *     a value and it might look like a bug.\n */\n\nfunction makeValueReadable(value, valueType, useUTC) {\n  var USER_READABLE_DEFUALT_TIME_PATTERN = '{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}';\n\n  function stringToUserReadable(str) {\n    return str && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"trim\"](str) ? str : '-';\n  }\n\n  function isNumberUserReadable(num) {\n    return !!(num != null && !isNaN(num) && isFinite(num));\n  }\n\n  var isTypeTime = valueType === 'time';\n  var isValueDate = value instanceof Date;\n\n  if (isTypeTime || isValueDate) {\n    var date = isTypeTime ? Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parseDate\"])(value) : value;\n\n    if (!isNaN(+date)) {\n      return Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"format\"])(date, USER_READABLE_DEFUALT_TIME_PATTERN, useUTC);\n    } else if (isValueDate) {\n      return '-';\n    } // In other cases, continue to try to display the value in the following code.\n\n  }\n\n  if (valueType === 'ordinal') {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isStringSafe\"](value) ? stringToUserReadable(value) : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](value) ? isNumberUserReadable(value) ? value + '' : '-' : '-';\n  } // By default.\n\n\n  var numericResult = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"numericToNumber\"])(value);\n  return isNumberUserReadable(numericResult) ? addCommas(numericResult) : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isStringSafe\"](value) ? stringToUserReadable(value) : typeof value === 'boolean' ? value + '' : '-';\n}\nvar TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];\n\nvar wrapVar = function (varName, seriesIdx) {\n  return '{' + varName + (seriesIdx == null ? '' : seriesIdx) + '}';\n};\n/**\n * Template formatter\n * @param {Array.<Object>|Object} paramsList\n */\n\n\nfunction formatTpl(tpl, paramsList, encode) {\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](paramsList)) {\n    paramsList = [paramsList];\n  }\n\n  var seriesLen = paramsList.length;\n\n  if (!seriesLen) {\n    return '';\n  }\n\n  var $vars = paramsList[0].$vars || [];\n\n  for (var i = 0; i < $vars.length; i++) {\n    var alias = TPL_VAR_ALIAS[i];\n    tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));\n  }\n\n  for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {\n    for (var k = 0; k < $vars.length; k++) {\n      var val = paramsList[seriesIdx][$vars[k]];\n      tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? Object(zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_1__[\"encodeHTML\"])(val) : val);\n    }\n  }\n\n  return tpl;\n}\n/**\n * simple Template formatter\n */\n\nfunction formatTplSimple(tpl, param, encode) {\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](param, function (value, key) {\n    tpl = tpl.replace('{' + key + '}', encode ? Object(zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_1__[\"encodeHTML\"])(value) : value);\n  });\n  return tpl;\n}\nfunction getTooltipMarker(inOpt, extraCssText) {\n  var opt = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](inOpt) ? {\n    color: inOpt,\n    extraCssText: extraCssText\n  } : inOpt || {};\n  var color = opt.color;\n  var type = opt.type;\n  extraCssText = opt.extraCssText;\n  var renderMode = opt.renderMode || 'html';\n\n  if (!color) {\n    return '';\n  }\n\n  if (renderMode === 'html') {\n    return type === 'subItem' ? '<span style=\"display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;' + 'border-radius:4px;width:4px;height:4px;background-color:' // Only support string\n    + Object(zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_1__[\"encodeHTML\"])(color) + ';' + (extraCssText || '') + '\"></span>' : '<span style=\"display:inline-block;margin-right:4px;' + 'border-radius:10px;width:10px;height:10px;background-color:' + Object(zrender_lib_core_dom_js__WEBPACK_IMPORTED_MODULE_1__[\"encodeHTML\"])(color) + ';' + (extraCssText || '') + '\"></span>';\n  } else {\n    // Should better not to auto generate style name by auto-increment number here.\n    // Because this util is usually called in tooltip formatter, which is probably\n    // called repeatly when mouse move and the auto-increment number increases fast.\n    // Users can make their own style name by theirselves, make it unique and readable.\n    var markerId = opt.markerId || 'markerX';\n    return {\n      renderMode: renderMode,\n      content: '{' + markerId + '|}  ',\n      style: type === 'subItem' ? {\n        width: 4,\n        height: 4,\n        borderRadius: 2,\n        backgroundColor: color\n      } : {\n        width: 10,\n        height: 10,\n        borderRadius: 5,\n        backgroundColor: color\n      }\n    };\n  }\n}\n/**\n * @deprecated Use `time/format` instead.\n * ISO Date format\n * @param {string} tpl\n * @param {number} value\n * @param {boolean} [isUTC=false] Default in local time.\n *           see `module:echarts/scale/Time`\n *           and `module:echarts/util/number#parseDate`.\n * @inner\n */\n\nfunction formatTime(tpl, value, isUTC) {\n  if (true) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_4__[\"deprecateReplaceLog\"])('echarts.format.formatTime', 'echarts.time.format');\n  }\n\n  if (tpl === 'week' || tpl === 'month' || tpl === 'quarter' || tpl === 'half-year' || tpl === 'year') {\n    tpl = 'MM-dd\\nyyyy';\n  }\n\n  var date = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parseDate\"])(value);\n  var getUTC = isUTC ? 'getUTC' : 'get';\n  var y = date[getUTC + 'FullYear']();\n  var M = date[getUTC + 'Month']() + 1;\n  var d = date[getUTC + 'Date']();\n  var h = date[getUTC + 'Hours']();\n  var m = date[getUTC + 'Minutes']();\n  var s = date[getUTC + 'Seconds']();\n  var S = date[getUTC + 'Milliseconds']();\n  tpl = tpl.replace('MM', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(M, 2)).replace('M', M).replace('yyyy', y).replace('yy', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(y % 100 + '', 2)).replace('dd', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(d, 2)).replace('d', d).replace('hh', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(h, 2)).replace('h', h).replace('mm', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(m, 2)).replace('m', m).replace('ss', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(s, 2)).replace('s', s).replace('SSS', Object(_time_js__WEBPACK_IMPORTED_MODULE_3__[\"pad\"])(S, 3));\n  return tpl;\n}\n/**\n * Capital first\n * @param {string} str\n * @return {string}\n */\n\nfunction capitalFirst(str) {\n  return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;\n}\n/**\n * @return Never be null/undefined.\n */\n\nfunction convertToColorString(color, defaultColor) {\n  defaultColor = defaultColor || 'transparent';\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](color) ? color : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](color) ? color.colorStops && (color.colorStops[0] || {}).color || defaultColor : defaultColor;\n}\n\n/**\n * open new tab\n * @param link url\n * @param target blank or self\n */\n\nfunction windowOpen(link, target) {\n  /* global window */\n  if (target === '_blank' || target === 'blank') {\n    var blank = window.open();\n    blank.opener = null;\n    blank.location.href = link;\n  } else {\n    window.open(link, target);\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/format.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/graphic.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/util/graphic.js ***!
  \**************************************************/
/*! exports provided: updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved, extendShape, extendPath, registerShape, getShapeClass, makePath, makeImage, mergePath, resizePath, subPixelOptimizeLine, subPixelOptimizeRect, subPixelOptimize, getTransform, applyTransform, transformDirection, groupTransition, clipPointsByRect, clipRectByRect, createIcon, linePolygonIntersect, lineLineIntersect, setTooltipConfig, traverseElements, Group, Image, Text, Circle, Ellipse, Sector, Ring, Polygon, Polyline, Rect, Line, BezierCurve, Arc, IncrementalDisplayable, CompoundPath, LinearGradient, RadialGradient, BoundingRect, OrientedBoundingRect, Point, Path */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendShape\", function() { return extendShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendPath\", function() { return extendPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerShape\", function() { return registerShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getShapeClass\", function() { return getShapeClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makePath\", function() { return makePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeImage\", function() { return makeImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergePath\", function() { return mergePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizePath\", function() { return resizePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subPixelOptimizeLine\", function() { return subPixelOptimizeLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subPixelOptimizeRect\", function() { return subPixelOptimizeRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subPixelOptimize\", function() { return subPixelOptimize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTransform\", function() { return getTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyTransform\", function() { return applyTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformDirection\", function() { return transformDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"groupTransition\", function() { return groupTransition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipPointsByRect\", function() { return clipPointsByRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipRectByRect\", function() { return clipRectByRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createIcon\", function() { return createIcon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linePolygonIntersect\", function() { return linePolygonIntersect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineLineIntersect\", function() { return lineLineIntersect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTooltipConfig\", function() { return setTooltipConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"traverseElements\", function() { return traverseElements; });\n/* harmony import */ var zrender_lib_tool_path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/tool/path.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/path.js\");\n/* harmony import */ var zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Path\", function() { return zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zrender/lib/core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n/* harmony import */ var zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Image\", function() { return zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Group\", function() { return zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! zrender/lib/graphic/Text.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Text\", function() { return zrender_lib_graphic_Text_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Circle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! zrender/lib/graphic/shape/Circle.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Circle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Circle\", function() { return zrender_lib_graphic_shape_Circle_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Ellipse_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zrender/lib/graphic/shape/Ellipse.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ellipse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ellipse\", function() { return zrender_lib_graphic_shape_Ellipse_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Sector_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! zrender/lib/graphic/shape/Sector.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Sector.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Sector\", function() { return zrender_lib_graphic_shape_Sector_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Ring_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! zrender/lib/graphic/shape/Ring.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ring.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ring\", function() { return zrender_lib_graphic_shape_Ring_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! zrender/lib/graphic/shape/Polygon.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polygon.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Polygon\", function() { return zrender_lib_graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Polyline_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! zrender/lib/graphic/shape/Polyline.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polyline.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Polyline\", function() { return zrender_lib_graphic_shape_Polyline_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! zrender/lib/graphic/shape/Rect.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Rect\", function() { return zrender_lib_graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Line_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! zrender/lib/graphic/shape/Line.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Line.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Line\", function() { return zrender_lib_graphic_shape_Line_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_BezierCurve_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! zrender/lib/graphic/shape/BezierCurve.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/BezierCurve.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BezierCurve\", function() { return zrender_lib_graphic_shape_BezierCurve_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_shape_Arc_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! zrender/lib/graphic/shape/Arc.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Arc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Arc\", function() { return zrender_lib_graphic_shape_Arc_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_CompoundPath_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! zrender/lib/graphic/CompoundPath.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/CompoundPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CompoundPath\", function() { return zrender_lib_graphic_CompoundPath_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_LinearGradient_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! zrender/lib/graphic/LinearGradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/LinearGradient.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LinearGradient\", function() { return zrender_lib_graphic_LinearGradient_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_RadialGradient_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! zrender/lib/graphic/RadialGradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/RadialGradient.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadialGradient\", function() { return zrender_lib_graphic_RadialGradient_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BoundingRect\", function() { return zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_core_OrientedBoundingRect_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! zrender/lib/core/OrientedBoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/OrientedBoundingRect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OrientedBoundingRect\", function() { return zrender_lib_core_OrientedBoundingRect_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_core_Point_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! zrender/lib/core/Point.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Point.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Point\", function() { return zrender_lib_core_Point_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_IncrementalDisplayable_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! zrender/lib/graphic/IncrementalDisplayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/IncrementalDisplayable.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IncrementalDisplayable\", function() { return zrender_lib_graphic_IncrementalDisplayable_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var zrender_lib_graphic_helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! zrender/lib/graphic/helper/subPixelOptimize.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _innerStore_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../animation/basicTransition.js */ \"./node_modules/echarts/lib/animation/basicTransition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateProps\", function() { return _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__[\"updateProps\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initProps\", function() { return _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__[\"initProps\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"removeElement\", function() { return _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__[\"removeElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"removeElementWithFadeOut\", function() { return _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__[\"removeElementWithFadeOut\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isElementRemoved\", function() { return _animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__[\"isElementRemoved\"]; });\n\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * @deprecated export for compatitable reason\n */\n\n\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar _customShapeMap = {};\n/**\n * Extend shape with parameters\n */\n\nfunction extendShape(opts) {\n  return zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(opts);\n}\nvar extendPathFromString = zrender_lib_tool_path_js__WEBPACK_IMPORTED_MODULE_0__[\"extendFromString\"];\n/**\n * Extend path\n */\n\nfunction extendPath(pathData, opts) {\n  return extendPathFromString(pathData, opts);\n}\n/**\n * Register a user defined shape.\n * The shape class can be fetched by `getShapeClass`\n * This method will overwrite the registered shapes, including\n * the registered built-in shapes, if using the same `name`.\n * The shape can be used in `custom series` and\n * `graphic component` by declaring `{type: name}`.\n *\n * @param name\n * @param ShapeClass Can be generated by `extendShape`.\n */\n\nfunction registerShape(name, ShapeClass) {\n  _customShapeMap[name] = ShapeClass;\n}\n/**\n * Find shape class registered by `registerShape`. Usually used in\n * fetching user defined shape.\n *\n * [Caution]:\n * (1) This method **MUST NOT be used inside echarts !!!**, unless it is prepared\n * to use user registered shapes.\n * Because the built-in shape (see `getBuiltInShape`) will be registered by\n * `registerShape` by default. That enables users to get both built-in\n * shapes as well as the shapes belonging to themsleves. But users can overwrite\n * the built-in shapes by using names like 'circle', 'rect' via calling\n * `registerShape`. So the echarts inner featrues should not fetch shapes from here\n * in case that it is overwritten by users, except that some features, like\n * `custom series`, `graphic component`, do it deliberately.\n *\n * (2) In the features like `custom series`, `graphic component`, the user input\n * `{tpye: 'xxx'}` does not only specify shapes but also specify other graphic\n * elements like `'group'`, `'text'`, `'image'` or event `'path'`. Those names\n * are reserved names, that is, if some user register a shape named `'image'`,\n * the shape will not be used. If we intending to add some more reserved names\n * in feature, that might bring break changes (disable some existing user shape\n * names). But that case probably rearly happen. So we dont make more mechanism\n * to resolve this issue here.\n *\n * @param name\n * @return The shape class. If not found, return nothing.\n */\n\nfunction getShapeClass(name) {\n  if (_customShapeMap.hasOwnProperty(name)) {\n    return _customShapeMap[name];\n  }\n}\n/**\n * Create a path element from path data string\n * @param pathData\n * @param opts\n * @param rect\n * @param layout 'center' or 'cover' default to be cover\n */\n\nfunction makePath(pathData, opts, rect, layout) {\n  var path = zrender_lib_tool_path_js__WEBPACK_IMPORTED_MODULE_0__[\"createFromString\"](pathData, opts);\n\n  if (rect) {\n    if (layout === 'center') {\n      rect = centerGraphic(rect, path.getBoundingRect());\n    }\n\n    resizePath(path, rect);\n  }\n\n  return path;\n}\n/**\n * Create a image element from image url\n * @param imageUrl image url\n * @param opts options\n * @param rect constrain rect\n * @param layout 'center' or 'cover'. Default to be 'cover'\n */\n\nfunction makeImage(imageUrl, rect, layout) {\n  var zrImg = new zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]({\n    style: {\n      image: imageUrl,\n      x: rect.x,\n      y: rect.y,\n      width: rect.width,\n      height: rect.height\n    },\n    onload: function (img) {\n      if (layout === 'center') {\n        var boundingRect = {\n          width: img.width,\n          height: img.height\n        };\n        zrImg.setStyle(centerGraphic(rect, boundingRect));\n      }\n    }\n  });\n  return zrImg;\n}\n/**\n * Get position of centered element in bounding box.\n *\n * @param  rect         element local bounding box\n * @param  boundingRect constraint bounding box\n * @return element position containing x, y, width, and height\n */\n\nfunction centerGraphic(rect, boundingRect) {\n  // Set rect to center, keep width / height ratio.\n  var aspect = boundingRect.width / boundingRect.height;\n  var width = rect.height * aspect;\n  var height;\n\n  if (width <= rect.width) {\n    height = rect.height;\n  } else {\n    width = rect.width;\n    height = width / aspect;\n  }\n\n  var cx = rect.x + rect.width / 2;\n  var cy = rect.y + rect.height / 2;\n  return {\n    x: cx - width / 2,\n    y: cy - height / 2,\n    width: width,\n    height: height\n  };\n}\n\nvar mergePath = zrender_lib_tool_path_js__WEBPACK_IMPORTED_MODULE_0__[\"mergePath\"];\n/**\n * Resize a path to fit the rect\n * @param path\n * @param rect\n */\n\nfunction resizePath(path, rect) {\n  if (!path.applyTransform) {\n    return;\n  }\n\n  var pathRect = path.getBoundingRect();\n  var m = pathRect.calculateTransform(rect);\n  path.applyTransform(m);\n}\n/**\n * Sub pixel optimize line for canvas\n */\n\nfunction subPixelOptimizeLine(shape, lineWidth) {\n  zrender_lib_graphic_helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_25__[\"subPixelOptimizeLine\"](shape, shape, {\n    lineWidth: lineWidth\n  });\n  return shape;\n}\n/**\n * Sub pixel optimize rect for canvas\n */\n\nfunction subPixelOptimizeRect(param) {\n  zrender_lib_graphic_helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_25__[\"subPixelOptimizeRect\"](param.shape, param.shape, param.style);\n  return param;\n}\n/**\n * Sub pixel optimize for canvas\n *\n * @param position Coordinate, such as x, y\n * @param lineWidth Should be nonnegative integer.\n * @param positiveOrNegative Default false (negative).\n * @return Optimized position.\n */\n\nvar subPixelOptimize = zrender_lib_graphic_helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_25__[\"subPixelOptimize\"];\n/**\n * Get transform matrix of target (param target),\n * in coordinate of its ancestor (param ancestor)\n *\n * @param target\n * @param [ancestor]\n */\n\nfunction getTransform(target, ancestor) {\n  var mat = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__[\"identity\"]([]);\n\n  while (target && target !== ancestor) {\n    zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__[\"mul\"](mat, target.getLocalTransform(), mat);\n    target = target.parent;\n  }\n\n  return mat;\n}\n/**\n * Apply transform to an vertex.\n * @param target [x, y]\n * @param transform Can be:\n *      + Transform matrix: like [1, 0, 0, 1, 0, 0]\n *      + {position, rotation, scale}, the same as `zrender/Transformable`.\n * @param invert Whether use invert matrix.\n * @return [x, y]\n */\n\nfunction applyTransform(target, transform, invert) {\n  if (transform && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"isArrayLike\"])(transform)) {\n    transform = zrender_lib_core_Transformable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getLocalTransform(transform);\n  }\n\n  if (invert) {\n    transform = zrender_lib_core_matrix_js__WEBPACK_IMPORTED_MODULE_1__[\"invert\"]([], transform);\n  }\n\n  return zrender_lib_core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"applyTransform\"]([], target, transform);\n}\n/**\n * @param direction 'left' 'right' 'top' 'bottom'\n * @param transform Transform matrix: like [1, 0, 0, 1, 0, 0]\n * @param invert Whether use invert matrix.\n * @return Transformed direction. 'left' 'right' 'top' 'bottom'\n */\n\nfunction transformDirection(direction, transform, invert) {\n  // Pick a base, ensure that transform result will not be (0, 0).\n  var hBase = transform[4] === 0 || transform[5] === 0 || transform[0] === 0 ? 1 : Math.abs(2 * transform[4] / transform[0]);\n  var vBase = transform[4] === 0 || transform[5] === 0 || transform[2] === 0 ? 1 : Math.abs(2 * transform[4] / transform[2]);\n  var vertex = [direction === 'left' ? -hBase : direction === 'right' ? hBase : 0, direction === 'top' ? -vBase : direction === 'bottom' ? vBase : 0];\n  vertex = applyTransform(vertex, transform, invert);\n  return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? 'right' : 'left' : vertex[1] > 0 ? 'bottom' : 'top';\n}\n\nfunction isNotGroup(el) {\n  return !el.isGroup;\n}\n\nfunction isPath(el) {\n  return el.shape != null;\n}\n/**\n * Apply group transition animation from g1 to g2.\n * If no animatableModel, no animation.\n */\n\n\nfunction groupTransition(g1, g2, animatableModel) {\n  if (!g1 || !g2) {\n    return;\n  }\n\n  function getElMap(g) {\n    var elMap = {};\n    g.traverse(function (el) {\n      if (isNotGroup(el) && el.anid) {\n        elMap[el.anid] = el;\n      }\n    });\n    return elMap;\n  }\n\n  function getAnimatableProps(el) {\n    var obj = {\n      x: el.x,\n      y: el.y,\n      rotation: el.rotation\n    };\n\n    if (isPath(el)) {\n      obj.shape = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"extend\"])({}, el.shape);\n    }\n\n    return obj;\n  }\n\n  var elMap1 = getElMap(g1);\n  g2.traverse(function (el) {\n    if (isNotGroup(el) && el.anid) {\n      var oldEl = elMap1[el.anid];\n\n      if (oldEl) {\n        var newProp = getAnimatableProps(el);\n        el.attr(getAnimatableProps(oldEl));\n        Object(_animation_basicTransition_js__WEBPACK_IMPORTED_MODULE_28__[\"updateProps\"])(el, newProp, animatableModel, Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_27__[\"getECData\"])(el).dataIndex);\n      }\n    }\n  });\n}\nfunction clipPointsByRect(points, rect) {\n  // FIXME: this way migth be incorrect when grpahic clipped by a corner.\n  // and when element have border.\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"map\"])(points, function (point) {\n    var x = point[0];\n    x = mathMax(x, rect.x);\n    x = mathMin(x, rect.x + rect.width);\n    var y = point[1];\n    y = mathMax(y, rect.y);\n    y = mathMin(y, rect.y + rect.height);\n    return [x, y];\n  });\n}\n/**\n * Return a new clipped rect. If rect size are negative, return undefined.\n */\n\nfunction clipRectByRect(targetRect, rect) {\n  var x = mathMax(targetRect.x, rect.x);\n  var x2 = mathMin(targetRect.x + targetRect.width, rect.x + rect.width);\n  var y = mathMax(targetRect.y, rect.y);\n  var y2 = mathMin(targetRect.y + targetRect.height, rect.y + rect.height); // If the total rect is cliped, nothing, including the border,\n  // should be painted. So return undefined.\n\n  if (x2 >= x && y2 >= y) {\n    return {\n      x: x,\n      y: y,\n      width: x2 - x,\n      height: y2 - y\n    };\n  }\n}\nfunction createIcon(iconStr, // Support 'image://' or 'path://' or direct svg path.\nopt, rect) {\n  var innerOpts = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"extend\"])({\n    rectHover: true\n  }, opt);\n  var style = innerOpts.style = {\n    strokeNoScale: true\n  };\n  rect = rect || {\n    x: -1,\n    y: -1,\n    width: 2,\n    height: 2\n  };\n\n  if (iconStr) {\n    return iconStr.indexOf('image://') === 0 ? (style.image = iconStr.slice(8), Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"defaults\"])(style, rect), new zrender_lib_graphic_Image_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](innerOpts)) : makePath(iconStr.replace('path://', ''), innerOpts, rect, 'center');\n  }\n}\n/**\n * Return `true` if the given line (line `a`) and the given polygon\n * are intersect.\n * Note that we do not count colinear as intersect here because no\n * requirement for that. We could do that if required in future.\n */\n\nfunction linePolygonIntersect(a1x, a1y, a2x, a2y, points) {\n  for (var i = 0, p2 = points[points.length - 1]; i < points.length; i++) {\n    var p = points[i];\n\n    if (lineLineIntersect(a1x, a1y, a2x, a2y, p[0], p[1], p2[0], p2[1])) {\n      return true;\n    }\n\n    p2 = p;\n  }\n}\n/**\n * Return `true` if the given two lines (line `a` and line `b`)\n * are intersect.\n * Note that we do not count colinear as intersect here because no\n * requirement for that. We could do that if required in future.\n */\n\nfunction lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {\n  // let `vec_m` to be `vec_a2 - vec_a1` and `vec_n` to be `vec_b2 - vec_b1`.\n  var mx = a2x - a1x;\n  var my = a2y - a1y;\n  var nx = b2x - b1x;\n  var ny = b2y - b1y; // `vec_m` and `vec_n` are parallel iff\n  //     exising `k` such that `vec_m = k · vec_n`, equivalent to `vec_m X vec_n = 0`.\n\n  var nmCrossProduct = crossProduct2d(nx, ny, mx, my);\n\n  if (nearZero(nmCrossProduct)) {\n    return false;\n  } // `vec_m` and `vec_n` are intersect iff\n  //     existing `p` and `q` in [0, 1] such that `vec_a1 + p * vec_m = vec_b1 + q * vec_n`,\n  //     such that `q = ((vec_a1 - vec_b1) X vec_m) / (vec_n X vec_m)`\n  //           and `p = ((vec_a1 - vec_b1) X vec_n) / (vec_n X vec_m)`.\n\n\n  var b1a1x = a1x - b1x;\n  var b1a1y = a1y - b1y;\n  var q = crossProduct2d(b1a1x, b1a1y, mx, my) / nmCrossProduct;\n\n  if (q < 0 || q > 1) {\n    return false;\n  }\n\n  var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;\n\n  if (p < 0 || p > 1) {\n    return false;\n  }\n\n  return true;\n}\n/**\n * Cross product of 2-dimension vector.\n */\n\nfunction crossProduct2d(x1, y1, x2, y2) {\n  return x1 * y2 - x2 * y1;\n}\n\nfunction nearZero(val) {\n  return val <= 1e-6 && val >= -1e-6;\n}\n\nfunction setTooltipConfig(opt) {\n  var itemTooltipOption = opt.itemTooltipOption;\n  var componentModel = opt.componentModel;\n  var itemName = opt.itemName;\n  var itemTooltipOptionObj = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"isString\"])(itemTooltipOption) ? {\n    formatter: itemTooltipOption\n  } : itemTooltipOption;\n  var mainType = componentModel.mainType;\n  var componentIndex = componentModel.componentIndex;\n  var formatterParams = {\n    componentType: mainType,\n    name: itemName,\n    $vars: ['name']\n  };\n  formatterParams[mainType + 'Index'] = componentIndex;\n  var formatterParamsExtra = opt.formatterParamsExtra;\n\n  if (formatterParamsExtra) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"each\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"keys\"])(formatterParamsExtra), function (key) {\n      if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"hasOwn\"])(formatterParams, key)) {\n        formatterParams[key] = formatterParamsExtra[key];\n        formatterParams.$vars.push(key);\n      }\n    });\n  }\n\n  var ecData = Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_27__[\"getECData\"])(opt.el);\n  ecData.componentMainType = mainType;\n  ecData.componentIndex = componentIndex;\n  ecData.tooltipConfig = {\n    name: itemName,\n    option: Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"defaults\"])({\n      content: itemName,\n      formatterParams: formatterParams\n    }, itemTooltipOptionObj)\n  };\n}\n\nfunction traverseElement(el, cb) {\n  var stopped; // TODO\n  // Polyfill for fixing zrender group traverse don't visit it's root issue.\n\n  if (el.isGroup) {\n    stopped = cb(el);\n  }\n\n  if (!stopped) {\n    el.traverse(cb);\n  }\n}\n\nfunction traverseElements(els, cb) {\n  if (els) {\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_26__[\"isArray\"])(els)) {\n      for (var i = 0; i < els.length; i++) {\n        traverseElement(els[i], cb);\n      }\n    } else {\n      traverseElement(els, cb);\n    }\n  }\n} // Register built-in shapes. These shapes might be overwirtten\n// by users, although we do not recommend that.\n\nregisterShape('circle', zrender_lib_graphic_shape_Circle_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\nregisterShape('ellipse', zrender_lib_graphic_shape_Ellipse_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\nregisterShape('sector', zrender_lib_graphic_shape_Sector_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\nregisterShape('ring', zrender_lib_graphic_shape_Ring_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\nregisterShape('polygon', zrender_lib_graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\nregisterShape('polyline', zrender_lib_graphic_shape_Polyline_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]);\nregisterShape('rect', zrender_lib_graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]);\nregisterShape('line', zrender_lib_graphic_shape_Line_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\nregisterShape('bezierCurve', zrender_lib_graphic_shape_BezierCurve_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]);\nregisterShape('arc', zrender_lib_graphic_shape_Arc_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/graphic.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/innerStore.js":
/*!*****************************************************!*\
  !*** ./node_modules/echarts/lib/util/innerStore.js ***!
  \*****************************************************/
/*! exports provided: getECData, setCommonECData */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getECData\", function() { return getECData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setCommonECData\", function() { return setCommonECData; });\n/* harmony import */ var _model_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar getECData = Object(_model_js__WEBPACK_IMPORTED_MODULE_0__[\"makeInner\"])();\nvar setCommonECData = function (seriesIndex, dataType, dataIdx, el) {\n  if (el) {\n    var ecData = getECData(el); // Add data index and series index for indexing the data by element\n    // Useful in tooltip\n\n    ecData.dataIndex = dataIdx;\n    ecData.dataType = dataType;\n    ecData.seriesIndex = seriesIndex; // TODO: not store dataIndex on children.\n\n    if (el.type === 'group') {\n      el.traverse(function (child) {\n        var childECData = getECData(child);\n        childECData.seriesIndex = seriesIndex;\n        childECData.dataIndex = dataIdx;\n        childECData.dataType = dataType;\n      });\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/innerStore.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/layout.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/util/layout.js ***!
  \*************************************************/
/*! exports provided: LOCATION_PARAMS, HV_NAMES, box, vbox, hbox, getAvailableSize, getLayoutRect, positionElement, sizeCalculable, fetchLayoutMode, mergeLayoutParam, getLayoutParams, copyLayoutParams */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCATION_PARAMS\", function() { return LOCATION_PARAMS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HV_NAMES\", function() { return HV_NAMES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"box\", function() { return box; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"vbox\", function() { return vbox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hbox\", function() { return hbox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAvailableSize\", function() { return getAvailableSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLayoutRect\", function() { return getLayoutRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"positionElement\", function() { return positionElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sizeCalculable\", function() { return sizeCalculable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fetchLayoutMode\", function() { return fetchLayoutMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeLayoutParam\", function() { return mergeLayoutParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLayoutParams\", function() { return getLayoutParams; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyLayoutParams\", function() { return copyLayoutParams; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _format_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./format.js */ \"./node_modules/echarts/lib/util/format.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Layout helpers for each component positioning\n\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\n/**\n * @public\n */\n\nvar LOCATION_PARAMS = ['left', 'right', 'top', 'bottom', 'width', 'height'];\n/**\n * @public\n */\n\nvar HV_NAMES = [['width', 'left', 'right'], ['height', 'top', 'bottom']];\n\nfunction boxLayout(orient, group, gap, maxWidth, maxHeight) {\n  var x = 0;\n  var y = 0;\n\n  if (maxWidth == null) {\n    maxWidth = Infinity;\n  }\n\n  if (maxHeight == null) {\n    maxHeight = Infinity;\n  }\n\n  var currentLineMaxSize = 0;\n  group.eachChild(function (child, idx) {\n    var rect = child.getBoundingRect();\n    var nextChild = group.childAt(idx + 1);\n    var nextChildRect = nextChild && nextChild.getBoundingRect();\n    var nextX;\n    var nextY;\n\n    if (orient === 'horizontal') {\n      var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);\n      nextX = x + moveX; // Wrap when width exceeds maxWidth or meet a `newline` group\n      // FIXME compare before adding gap?\n\n      if (nextX > maxWidth || child.newline) {\n        x = 0;\n        nextX = moveX;\n        y += currentLineMaxSize + gap;\n        currentLineMaxSize = rect.height;\n      } else {\n        // FIXME: consider rect.y is not `0`?\n        currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);\n      }\n    } else {\n      var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);\n      nextY = y + moveY; // Wrap when width exceeds maxHeight or meet a `newline` group\n\n      if (nextY > maxHeight || child.newline) {\n        x += currentLineMaxSize + gap;\n        y = 0;\n        nextY = moveY;\n        currentLineMaxSize = rect.width;\n      } else {\n        currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);\n      }\n    }\n\n    if (child.newline) {\n      return;\n    }\n\n    child.x = x;\n    child.y = y;\n    child.markRedraw();\n    orient === 'horizontal' ? x = nextX + gap : y = nextY + gap;\n  });\n}\n/**\n * VBox or HBox layouting\n * @param {string} orient\n * @param {module:zrender/graphic/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\n\nvar box = boxLayout;\n/**\n * VBox layouting\n * @param {module:zrender/graphic/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar vbox = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](boxLayout, 'vertical');\n/**\n * HBox layouting\n * @param {module:zrender/graphic/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar hbox = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"curry\"](boxLayout, 'horizontal');\n/**\n * If x or x2 is not specified or 'center' 'left' 'right',\n * the width would be as long as possible.\n * If y or y2 is not specified or 'middle' 'top' 'bottom',\n * the height would be as long as possible.\n */\n\nfunction getAvailableSize(positionInfo, containerRect, margin) {\n  var containerWidth = containerRect.width;\n  var containerHeight = containerRect.height;\n  var x = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.left, containerWidth);\n  var y = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.top, containerHeight);\n  var x2 = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.right, containerWidth);\n  var y2 = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.bottom, containerHeight);\n  (isNaN(x) || isNaN(parseFloat(positionInfo.left))) && (x = 0);\n  (isNaN(x2) || isNaN(parseFloat(positionInfo.right))) && (x2 = containerWidth);\n  (isNaN(y) || isNaN(parseFloat(positionInfo.top))) && (y = 0);\n  (isNaN(y2) || isNaN(parseFloat(positionInfo.bottom))) && (y2 = containerHeight);\n  margin = _format_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeCssArray\"](margin || 0);\n  return {\n    width: Math.max(x2 - x - margin[1] - margin[3], 0),\n    height: Math.max(y2 - y - margin[0] - margin[2], 0)\n  };\n}\n/**\n * Parse position info.\n */\n\nfunction getLayoutRect(positionInfo, containerRect, margin) {\n  margin = _format_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeCssArray\"](margin || 0);\n  var containerWidth = containerRect.width;\n  var containerHeight = containerRect.height;\n  var left = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.left, containerWidth);\n  var top = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.top, containerHeight);\n  var right = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.right, containerWidth);\n  var bottom = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.bottom, containerHeight);\n  var width = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.width, containerWidth);\n  var height = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(positionInfo.height, containerHeight);\n  var verticalMargin = margin[2] + margin[0];\n  var horizontalMargin = margin[1] + margin[3];\n  var aspect = positionInfo.aspect; // If width is not specified, calculate width from left and right\n\n  if (isNaN(width)) {\n    width = containerWidth - right - horizontalMargin - left;\n  }\n\n  if (isNaN(height)) {\n    height = containerHeight - bottom - verticalMargin - top;\n  }\n\n  if (aspect != null) {\n    // If width and height are not given\n    // 1. Graph should not exceeds the container\n    // 2. Aspect must be keeped\n    // 3. Graph should take the space as more as possible\n    // FIXME\n    // Margin is not considered, because there is no case that both\n    // using margin and aspect so far.\n    if (isNaN(width) && isNaN(height)) {\n      if (aspect > containerWidth / containerHeight) {\n        width = containerWidth * 0.8;\n      } else {\n        height = containerHeight * 0.8;\n      }\n    } // Calculate width or height with given aspect\n\n\n    if (isNaN(width)) {\n      width = aspect * height;\n    }\n\n    if (isNaN(height)) {\n      height = width / aspect;\n    }\n  } // If left is not specified, calculate left from right and width\n\n\n  if (isNaN(left)) {\n    left = containerWidth - right - width - horizontalMargin;\n  }\n\n  if (isNaN(top)) {\n    top = containerHeight - bottom - height - verticalMargin;\n  } // Align left and top\n\n\n  switch (positionInfo.left || positionInfo.right) {\n    case 'center':\n      left = containerWidth / 2 - width / 2 - margin[3];\n      break;\n\n    case 'right':\n      left = containerWidth - width - horizontalMargin;\n      break;\n  }\n\n  switch (positionInfo.top || positionInfo.bottom) {\n    case 'middle':\n    case 'center':\n      top = containerHeight / 2 - height / 2 - margin[0];\n      break;\n\n    case 'bottom':\n      top = containerHeight - height - verticalMargin;\n      break;\n  } // If something is wrong and left, top, width, height are calculated as NaN\n\n\n  left = left || 0;\n  top = top || 0;\n\n  if (isNaN(width)) {\n    // Width may be NaN if only one value is given except width\n    width = containerWidth - horizontalMargin - left - (right || 0);\n  }\n\n  if (isNaN(height)) {\n    // Height may be NaN if only one value is given except height\n    height = containerHeight - verticalMargin - top - (bottom || 0);\n  }\n\n  var rect = new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](left + margin[3], top + margin[0], width, height);\n  rect.margin = margin;\n  return rect;\n}\n/**\n * Position a zr element in viewport\n *  Group position is specified by either\n *  {left, top}, {right, bottom}\n *  If all properties exists, right and bottom will be igonred.\n *\n * Logic:\n *     1. Scale (against origin point in parent coord)\n *     2. Rotate (against origin point in parent coord)\n *     3. Traslate (with el.position by this method)\n * So this method only fixes the last step 'Traslate', which does not affect\n * scaling and rotating.\n *\n * If be called repeatly with the same input el, the same result will be gotten.\n *\n * Return true if the layout happend.\n *\n * @param el Should have `getBoundingRect` method.\n * @param positionInfo\n * @param positionInfo.left\n * @param positionInfo.top\n * @param positionInfo.right\n * @param positionInfo.bottom\n * @param positionInfo.width Only for opt.boundingModel: 'raw'\n * @param positionInfo.height Only for opt.boundingModel: 'raw'\n * @param containerRect\n * @param margin\n * @param opt\n * @param opt.hv Only horizontal or only vertical. Default to be [1, 1]\n * @param opt.boundingMode\n *        Specify how to calculate boundingRect when locating.\n *        'all': Position the boundingRect that is transformed and uioned\n *               both itself and its descendants.\n *               This mode simplies confine the elements in the bounding\n *               of their container (e.g., using 'right: 0').\n *        'raw': Position the boundingRect that is not transformed and only itself.\n *               This mode is useful when you want a element can overflow its\n *               container. (Consider a rotated circle needs to be located in a corner.)\n *               In this mode positionInfo.width/height can only be number.\n */\n\nfunction positionElement(el, positionInfo, containerRect, margin, opt, out) {\n  var h = !opt || !opt.hv || opt.hv[0];\n  var v = !opt || !opt.hv || opt.hv[1];\n  var boundingMode = opt && opt.boundingMode || 'all';\n  out = out || el;\n  out.x = el.x;\n  out.y = el.y;\n\n  if (!h && !v) {\n    return false;\n  }\n\n  var rect;\n\n  if (boundingMode === 'raw') {\n    rect = el.type === 'group' ? new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();\n  } else {\n    rect = el.getBoundingRect();\n\n    if (el.needLocalTransform()) {\n      var transform = el.getLocalTransform(); // Notice: raw rect may be inner object of el,\n      // which should not be modified.\n\n      rect = rect.clone();\n      rect.applyTransform(transform);\n    }\n  } // The real width and height can not be specified but calculated by the given el.\n\n\n  var layoutRect = getLayoutRect(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"]({\n    width: rect.width,\n    height: rect.height\n  }, positionInfo), containerRect, margin); // Because 'tranlate' is the last step in transform\n  // (see zrender/core/Transformable#getLocalTransform),\n  // we can just only modify el.position to get final result.\n\n  var dx = h ? layoutRect.x - rect.x : 0;\n  var dy = v ? layoutRect.y - rect.y : 0;\n\n  if (boundingMode === 'raw') {\n    out.x = dx;\n    out.y = dy;\n  } else {\n    out.x += dx;\n    out.y += dy;\n  }\n\n  if (out === el) {\n    el.markRedraw();\n  }\n\n  return true;\n}\n/**\n * @param option Contains some of the properties in HV_NAMES.\n * @param hvIdx 0: horizontal; 1: vertical.\n */\n\nfunction sizeCalculable(option, hvIdx) {\n  return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;\n}\nfunction fetchLayoutMode(ins) {\n  var layoutMode = ins.layoutMode || ins.constructor.layoutMode;\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](layoutMode) ? layoutMode : layoutMode ? {\n    type: layoutMode\n  } : null;\n}\n/**\n * Consider Case:\n * When default option has {left: 0, width: 100}, and we set {right: 0}\n * through setOption or media query, using normal zrUtil.merge will cause\n * {right: 0} does not take effect.\n *\n * @example\n * ComponentModel.extend({\n *     init: function () {\n *         ...\n *         let inputPositionParams = layout.getLayoutParams(option);\n *         this.mergeOption(inputPositionParams);\n *     },\n *     mergeOption: function (newOption) {\n *         newOption && zrUtil.merge(thisOption, newOption, true);\n *         layout.mergeLayoutParam(thisOption, newOption);\n *     }\n * });\n *\n * @param targetOption\n * @param newOption\n * @param opt\n */\n\nfunction mergeLayoutParam(targetOption, newOption, opt) {\n  var ignoreSize = opt && opt.ignoreSize;\n  !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);\n  var hResult = merge(HV_NAMES[0], 0);\n  var vResult = merge(HV_NAMES[1], 1);\n  copy(HV_NAMES[0], targetOption, hResult);\n  copy(HV_NAMES[1], targetOption, vResult);\n\n  function merge(names, hvIdx) {\n    var newParams = {};\n    var newValueCount = 0;\n    var merged = {};\n    var mergedValueCount = 0;\n    var enoughParamNumber = 2;\n    each(names, function (name) {\n      merged[name] = targetOption[name];\n    });\n    each(names, function (name) {\n      // Consider case: newOption.width is null, which is\n      // set by user for removing width setting.\n      hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);\n      hasValue(newParams, name) && newValueCount++;\n      hasValue(merged, name) && mergedValueCount++;\n    });\n\n    if (ignoreSize[hvIdx]) {\n      // Only one of left/right is premitted to exist.\n      if (hasValue(newOption, names[1])) {\n        merged[names[2]] = null;\n      } else if (hasValue(newOption, names[2])) {\n        merged[names[1]] = null;\n      }\n\n      return merged;\n    } // Case: newOption: {width: ..., right: ...},\n    // or targetOption: {right: ...} and newOption: {width: ...},\n    // There is no conflict when merged only has params count\n    // little than enoughParamNumber.\n\n\n    if (mergedValueCount === enoughParamNumber || !newValueCount) {\n      return merged;\n    } // Case: newOption: {width: ..., right: ...},\n    // Than we can make sure user only want those two, and ignore\n    // all origin params in targetOption.\n    else if (newValueCount >= enoughParamNumber) {\n        return newParams;\n      } else {\n        // Chose another param from targetOption by priority.\n        for (var i = 0; i < names.length; i++) {\n          var name_1 = names[i];\n\n          if (!hasProp(newParams, name_1) && hasProp(targetOption, name_1)) {\n            newParams[name_1] = targetOption[name_1];\n            break;\n          }\n        }\n\n        return newParams;\n      }\n  }\n\n  function hasProp(obj, name) {\n    return obj.hasOwnProperty(name);\n  }\n\n  function hasValue(obj, name) {\n    return obj[name] != null && obj[name] !== 'auto';\n  }\n\n  function copy(names, target, source) {\n    each(names, function (name) {\n      target[name] = source[name];\n    });\n  }\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n */\n\nfunction getLayoutParams(source) {\n  return copyLayoutParams({}, source);\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\nfunction copyLayoutParams(target, source) {\n  source && target && each(LOCATION_PARAMS, function (name) {\n    source.hasOwnProperty(name) && (target[name] = source[name]);\n  });\n  return target;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/layout.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/log.js":
/*!**********************************************!*\
  !*** ./node_modules/echarts/lib/util/log.js ***!
  \**********************************************/
/*! exports provided: log, warn, error, deprecateLog, deprecateReplaceLog, makePrintable, throwError */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"log\", function() { return log; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"warn\", function() { return warn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return error; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deprecateLog\", function() { return deprecateLog; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deprecateReplaceLog\", function() { return deprecateReplaceLog; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makePrintable\", function() { return makePrintable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throwError\", function() { return throwError; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ECHARTS_PREFIX = '[ECharts] ';\nvar storedLogs = {};\nvar hasConsole = typeof console !== 'undefined' // eslint-disable-next-line\n&& console.warn && console.log;\n\nfunction outputLog(type, str, onlyOnce) {\n  if (hasConsole) {\n    if (onlyOnce) {\n      if (storedLogs[str]) {\n        return;\n      }\n\n      storedLogs[str] = true;\n    } // eslint-disable-next-line\n\n\n    console[type](ECHARTS_PREFIX + str);\n  }\n}\n\nfunction log(str, onlyOnce) {\n  outputLog('log', str, onlyOnce);\n}\nfunction warn(str, onlyOnce) {\n  outputLog('warn', str, onlyOnce);\n}\nfunction error(str, onlyOnce) {\n  outputLog('error', str, onlyOnce);\n}\nfunction deprecateLog(str) {\n  if (true) {\n    // Not display duplicate message.\n    outputLog('warn', 'DEPRECATED: ' + str, true);\n  }\n}\nfunction deprecateReplaceLog(oldOpt, newOpt, scope) {\n  if (true) {\n    deprecateLog((scope ? \"[\" + scope + \"]\" : '') + (oldOpt + \" is deprecated, use \" + newOpt + \" instead.\"));\n  }\n}\n/**\n * If in __DEV__ environment, get console printable message for users hint.\n * Parameters are separated by ' '.\n * @usage\n * makePrintable('This is an error on', someVar, someObj);\n *\n * @param hintInfo anything about the current execution context to hint users.\n * @throws Error\n */\n\nfunction makePrintable() {\n  var hintInfo = [];\n\n  for (var _i = 0; _i < arguments.length; _i++) {\n    hintInfo[_i] = arguments[_i];\n  }\n\n  var msg = '';\n\n  if (true) {\n    // Fuzzy stringify for print.\n    // This code only exist in dev environment.\n    var makePrintableStringIfPossible_1 = function (val) {\n      return val === void 0 ? 'undefined' : val === Infinity ? 'Infinity' : val === -Infinity ? '-Infinity' : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"eqNaN\"])(val) ? 'NaN' : val instanceof Date ? 'Date(' + val.toISOString() + ')' : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(val) ? 'function () { ... }' : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isRegExp\"])(val) ? val + '' : null;\n    };\n\n    msg = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(hintInfo, function (arg) {\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(arg)) {\n        // Print without quotation mark for some statement.\n        return arg;\n      } else {\n        var printableStr = makePrintableStringIfPossible_1(arg);\n\n        if (printableStr != null) {\n          return printableStr;\n        } else if (typeof JSON !== 'undefined' && JSON.stringify) {\n          try {\n            return JSON.stringify(arg, function (n, val) {\n              var printableStr = makePrintableStringIfPossible_1(val);\n              return printableStr == null ? val : printableStr;\n            }); // In most cases the info object is small, so do not line break.\n          } catch (err) {\n            return '?';\n          }\n        } else {\n          return '?';\n        }\n      }\n    }).join(' ');\n  }\n\n  return msg;\n}\n/**\n * @throws Error\n */\n\nfunction throwError(msg) {\n  throw new Error(msg);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/log.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/model.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/util/model.js ***!
  \************************************************/
/*! exports provided: normalizeToArray, defaultEmphasis, TEXT_STYLE_OPTIONS, getDataItemValue, isDataItemOption, mappingToExists, convertOptionIdName, isNameSpecified, isComponentIdInternal, makeInternalComponentId, setComponentTypeToKeyInfo, compressBatches, queryDataIndex, makeInner, parseFinder, preParseFinder, SINGLE_REFERRING, MULTIPLE_REFERRING, queryReferringComponents, setAttribute, getAttribute, getTooltipRenderMode, groupData, interpolateRawValues */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeToArray\", function() { return normalizeToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultEmphasis\", function() { return defaultEmphasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TEXT_STYLE_OPTIONS\", function() { return TEXT_STYLE_OPTIONS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDataItemValue\", function() { return getDataItemValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDataItemOption\", function() { return isDataItemOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mappingToExists\", function() { return mappingToExists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertOptionIdName\", function() { return convertOptionIdName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNameSpecified\", function() { return isNameSpecified; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isComponentIdInternal\", function() { return isComponentIdInternal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeInternalComponentId\", function() { return makeInternalComponentId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setComponentTypeToKeyInfo\", function() { return setComponentTypeToKeyInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compressBatches\", function() { return compressBatches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"queryDataIndex\", function() { return queryDataIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeInner\", function() { return makeInner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseFinder\", function() { return parseFinder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preParseFinder\", function() { return preParseFinder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SINGLE_REFERRING\", function() { return SINGLE_REFERRING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MULTIPLE_REFERRING\", function() { return MULTIPLE_REFERRING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"queryReferringComponents\", function() { return queryReferringComponents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setAttribute\", function() { return setAttribute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAttribute\", function() { return getAttribute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTooltipRenderMode\", function() { return getTooltipRenderMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"groupData\", function() { return groupData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRawValues\", function() { return interpolateRawValues; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\nfunction interpolateNumber(p0, p1, percent) {\n  return (p1 - p0) * percent + p0;\n}\n/**\n * Make the name displayable. But we should\n * make sure it is not duplicated with user\n * specified name, so use '\\0';\n */\n\n\nvar DUMMY_COMPONENT_NAME_PREFIX = 'series\\0';\nvar INTERNAL_COMPONENT_ID_PREFIX = '\\0_ec_\\0';\n/**\n * If value is not array, then translate it to array.\n * @param  {*} value\n * @return {Array} [value] or value\n */\n\nfunction normalizeToArray(value) {\n  return value instanceof Array ? value : value == null ? [] : [value];\n}\n/**\n * Sync default option between normal and emphasis like `position` and `show`\n * In case some one will write code like\n *     label: {\n *          show: false,\n *          position: 'outside',\n *          fontSize: 18\n *     },\n *     emphasis: {\n *          label: { show: true }\n *     }\n */\n\nfunction defaultEmphasis(opt, key, subOpts) {\n  // Caution: performance sensitive.\n  if (opt) {\n    opt[key] = opt[key] || {};\n    opt.emphasis = opt.emphasis || {};\n    opt.emphasis[key] = opt.emphasis[key] || {}; // Default emphasis option from normal\n\n    for (var i = 0, len = subOpts.length; i < len; i++) {\n      var subOptName = subOpts[i];\n\n      if (!opt.emphasis[key].hasOwnProperty(subOptName) && opt[key].hasOwnProperty(subOptName)) {\n        opt.emphasis[key][subOptName] = opt[key][subOptName];\n      }\n    }\n  }\n}\nvar TEXT_STYLE_OPTIONS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'rich', 'tag', 'color', 'textBorderColor', 'textBorderWidth', 'width', 'height', 'lineHeight', 'align', 'verticalAlign', 'baseline', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY', 'textShadowColor', 'textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY', 'backgroundColor', 'borderColor', 'borderWidth', 'borderRadius', 'padding']; // modelUtil.LABEL_OPTIONS = modelUtil.TEXT_STYLE_OPTIONS.concat([\n//     'position', 'offset', 'rotate', 'origin', 'show', 'distance', 'formatter',\n//     'fontStyle', 'fontWeight', 'fontSize', 'fontFamily',\n//     // FIXME: deprecated, check and remove it.\n//     'textStyle'\n// ]);\n\n/**\n * The method do not ensure performance.\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\n * This helper method retieves value from data.\n */\n\nfunction getDataItemValue(dataItem) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(dataItem) && !Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;\n}\n/**\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\n * This helper method determine if dataItem has extra option besides value\n */\n\nfunction isDataItemOption(dataItem) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(dataItem) && !(dataItem instanceof Array); // // markLine data can be array\n  // && !(dataItem[0] && isObject(dataItem[0]) && !(dataItem[0] instanceof Array));\n}\n;\n/**\n * Mapping to existings for merge.\n *\n * Mode \"normalMege\":\n *     The mapping result (merge result) will keep the order of the existing\n *     component, rather than the order of new option. Because we should ensure\n *     some specified index reference (like xAxisIndex) keep work.\n *     And in most cases, \"merge option\" is used to update partial option but not\n *     be expected to change the order.\n *\n * Mode \"replaceMege\":\n *     (1) Only the id mapped components will be merged.\n *     (2) Other existing components (except internal compoonets) will be removed.\n *     (3) Other new options will be used to create new component.\n *     (4) The index of the existing compoents will not be modified.\n *     That means their might be \"hole\" after the removal.\n *     The new components are created first at those available index.\n *\n * Mode \"replaceAll\":\n *     This mode try to support that reproduce an echarts instance from another\n *     echarts instance (via `getOption`) in some simple cases.\n *     In this senario, the `result` index are exactly the consistent with the `newCmptOptions`,\n *     which ensures the compoennt index referring (like `xAxisIndex: ?`) corrent. That is,\n *     the \"hole\" in `newCmptOptions` will also be kept.\n *     On the contrary, other modes try best to eliminate holes.\n *     PENDING: This is an experimental mode yet.\n *\n * @return See the comment of <MappingResult>.\n */\n\nfunction mappingToExists(existings, newCmptOptions, mode) {\n  var isNormalMergeMode = mode === 'normalMerge';\n  var isReplaceMergeMode = mode === 'replaceMerge';\n  var isReplaceAllMode = mode === 'replaceAll';\n  existings = existings || [];\n  newCmptOptions = (newCmptOptions || []).slice();\n  var existingIdIdxMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])(); // Validate id and name on user input option.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(newCmptOptions, function (cmptOption, index) {\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(cmptOption)) {\n      newCmptOptions[index] = null;\n      return;\n    }\n\n    if (true) {\n      // There is some legacy case that name is set as `false`.\n      // But should work normally rather than throw error.\n      if (cmptOption.id != null && !isValidIdOrName(cmptOption.id)) {\n        warnInvalidateIdOrName(cmptOption.id);\n      }\n\n      if (cmptOption.name != null && !isValidIdOrName(cmptOption.name)) {\n        warnInvalidateIdOrName(cmptOption.name);\n      }\n    }\n  });\n  var result = prepareResult(existings, existingIdIdxMap, mode);\n\n  if (isNormalMergeMode || isReplaceMergeMode) {\n    mappingById(result, existings, existingIdIdxMap, newCmptOptions);\n  }\n\n  if (isNormalMergeMode) {\n    mappingByName(result, newCmptOptions);\n  }\n\n  if (isNormalMergeMode || isReplaceMergeMode) {\n    mappingByIndex(result, newCmptOptions, isReplaceMergeMode);\n  } else if (isReplaceAllMode) {\n    mappingInReplaceAllMode(result, newCmptOptions);\n  }\n\n  makeIdAndName(result); // The array `result` MUST NOT contain elided items, otherwise the\n  // forEach will ommit those items and result in incorrect result.\n\n  return result;\n}\n\nfunction prepareResult(existings, existingIdIdxMap, mode) {\n  var result = [];\n\n  if (mode === 'replaceAll') {\n    return result;\n  } // Do not use native `map` to in case that the array `existings`\n  // contains elided items, which will be ommited.\n\n\n  for (var index = 0; index < existings.length; index++) {\n    var existing = existings[index]; // Because of replaceMerge, `existing` may be null/undefined.\n\n    if (existing && existing.id != null) {\n      existingIdIdxMap.set(existing.id, index);\n    } // For non-internal-componnets:\n    //     Mode \"normalMerge\": all existings kept.\n    //     Mode \"replaceMerge\": all existing removed unless mapped by id.\n    // For internal-components:\n    //     go with \"replaceMerge\" approach in both mode.\n\n\n    result.push({\n      existing: mode === 'replaceMerge' || isComponentIdInternal(existing) ? null : existing,\n      newOption: null,\n      keyInfo: null,\n      brandNew: null\n    });\n  }\n\n  return result;\n}\n\nfunction mappingById(result, existings, existingIdIdxMap, newCmptOptions) {\n  // Mapping by id if specified.\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(newCmptOptions, function (cmptOption, index) {\n    if (!cmptOption || cmptOption.id == null) {\n      return;\n    }\n\n    var optionId = makeComparableKey(cmptOption.id);\n    var existingIdx = existingIdIdxMap.get(optionId);\n\n    if (existingIdx != null) {\n      var resultItem = result[existingIdx];\n      Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!resultItem.newOption, 'Duplicated option on id \"' + optionId + '\".');\n      resultItem.newOption = cmptOption; // In both mode, if id matched, new option will be merged to\n      // the existings rather than creating new component model.\n\n      resultItem.existing = existings[existingIdx];\n      newCmptOptions[index] = null;\n    }\n  });\n}\n\nfunction mappingByName(result, newCmptOptions) {\n  // Mapping by name if specified.\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(newCmptOptions, function (cmptOption, index) {\n    if (!cmptOption || cmptOption.name == null) {\n      return;\n    }\n\n    for (var i = 0; i < result.length; i++) {\n      var existing = result[i].existing;\n\n      if (!result[i].newOption // Consider name: two map to one.\n      // Can not match when both ids existing but different.\n      && existing && (existing.id == null || cmptOption.id == null) && !isComponentIdInternal(cmptOption) && !isComponentIdInternal(existing) && keyExistAndEqual('name', existing, cmptOption)) {\n        result[i].newOption = cmptOption;\n        newCmptOptions[index] = null;\n        return;\n      }\n    }\n  });\n}\n\nfunction mappingByIndex(result, newCmptOptions, brandNew) {\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(newCmptOptions, function (cmptOption) {\n    if (!cmptOption) {\n      return;\n    } // Find the first place that not mapped by id and not internal component (consider the \"hole\").\n\n\n    var resultItem;\n    var nextIdx = 0;\n\n    while ( // Be `!resultItem` only when `nextIdx >= result.length`.\n    (resultItem = result[nextIdx]) && ( // (1) Existing models that already have id should be able to mapped to. Because\n    // after mapping performed, model will always be assigned with an id if user not given.\n    // After that all models have id.\n    // (2) If new option has id, it can only set to a hole or append to the last. It should\n    // not be merged to the existings with different id. Because id should not be overwritten.\n    // (3) Name can be overwritten, because axis use name as 'show label text'.\n    resultItem.newOption || isComponentIdInternal(resultItem.existing) || // In mode \"replaceMerge\", here no not-mapped-non-internal-existing.\n    resultItem.existing && cmptOption.id != null && !keyExistAndEqual('id', cmptOption, resultItem.existing))) {\n      nextIdx++;\n    }\n\n    if (resultItem) {\n      resultItem.newOption = cmptOption;\n      resultItem.brandNew = brandNew;\n    } else {\n      result.push({\n        newOption: cmptOption,\n        brandNew: brandNew,\n        existing: null,\n        keyInfo: null\n      });\n    }\n\n    nextIdx++;\n  });\n}\n\nfunction mappingInReplaceAllMode(result, newCmptOptions) {\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(newCmptOptions, function (cmptOption) {\n    // The feature \"reproduce\" requires \"hole\" will also reproduced\n    // in case that compoennt index referring are broken.\n    result.push({\n      newOption: cmptOption,\n      brandNew: true,\n      existing: null,\n      keyInfo: null\n    });\n  });\n}\n/**\n * Make id and name for mapping result (result of mappingToExists)\n * into `keyInfo` field.\n */\n\n\nfunction makeIdAndName(mapResult) {\n  // We use this id to hash component models and view instances\n  // in echarts. id can be specified by user, or auto generated.\n  // The id generation rule ensures new view instance are able\n  // to mapped to old instance when setOption are called in\n  // no-merge mode. So we generate model id by name and plus\n  // type in view id.\n  // name can be duplicated among components, which is convenient\n  // to specify multi components (like series) by one name.\n  // Ensure that each id is distinct.\n  var idMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(mapResult, function (item) {\n    var existing = item.existing;\n    existing && idMap.set(existing.id, item);\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(mapResult, function (item) {\n    var opt = item.newOption; // Force ensure id not duplicated.\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, 'id duplicates: ' + (opt && opt.id));\n    opt && opt.id != null && idMap.set(opt.id, item);\n    !item.keyInfo && (item.keyInfo = {});\n  }); // Make name and id.\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(mapResult, function (item, index) {\n    var existing = item.existing;\n    var opt = item.newOption;\n    var keyInfo = item.keyInfo;\n\n    if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(opt)) {\n      return;\n    } // name can be overwitten. Consider case: axis.name = '20km'.\n    // But id generated by name will not be changed, which affect\n    // only in that case: setOption with 'not merge mode' and view\n    // instance will be recreated, which can be accepted.\n\n\n    keyInfo.name = opt.name != null ? makeComparableKey(opt.name) : existing ? existing.name // Avoid diffferent series has the same name,\n    // because name may be used like in color pallet.\n    : DUMMY_COMPONENT_NAME_PREFIX + index;\n\n    if (existing) {\n      keyInfo.id = makeComparableKey(existing.id);\n    } else if (opt.id != null) {\n      keyInfo.id = makeComparableKey(opt.id);\n    } else {\n      // Consider this situatoin:\n      //  optionA: [{name: 'a'}, {name: 'a'}, {..}]\n      //  optionB [{..}, {name: 'a'}, {name: 'a'}]\n      // Series with the same name between optionA and optionB\n      // should be mapped.\n      var idNum = 0;\n\n      do {\n        keyInfo.id = '\\0' + keyInfo.name + '\\0' + idNum++;\n      } while (idMap.get(keyInfo.id));\n    }\n\n    idMap.set(keyInfo.id, item);\n  });\n}\n\nfunction keyExistAndEqual(attr, obj1, obj2) {\n  var key1 = convertOptionIdName(obj1[attr], null);\n  var key2 = convertOptionIdName(obj2[attr], null); // See `MappingExistingItem`. `id` and `name` trade string equals to number.\n\n  return key1 != null && key2 != null && key1 === key2;\n}\n/**\n * @return return null if not exist.\n */\n\n\nfunction makeComparableKey(val) {\n  if (true) {\n    if (val == null) {\n      throw new Error();\n    }\n  }\n\n  return convertOptionIdName(val, '');\n}\n\nfunction convertOptionIdName(idOrName, defaultValue) {\n  if (idOrName == null) {\n    return defaultValue;\n  }\n\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(idOrName) ? idOrName : Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(idOrName) || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isStringSafe\"])(idOrName) ? idOrName + '' : defaultValue;\n}\n\nfunction warnInvalidateIdOrName(idOrName) {\n  if (true) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_3__[\"warn\"])('`' + idOrName + '` is invalid id or name. Must be a string or number.');\n  }\n}\n\nfunction isValidIdOrName(idOrName) {\n  return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isStringSafe\"])(idOrName) || Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumeric\"])(idOrName);\n}\n\nfunction isNameSpecified(componentModel) {\n  var name = componentModel.name; // Is specified when `indexOf` get -1 or > 0.\n\n  return !!(name && name.indexOf(DUMMY_COMPONENT_NAME_PREFIX));\n}\n/**\n * @public\n * @param {Object} cmptOption\n * @return {boolean}\n */\n\nfunction isComponentIdInternal(cmptOption) {\n  return cmptOption && cmptOption.id != null && makeComparableKey(cmptOption.id).indexOf(INTERNAL_COMPONENT_ID_PREFIX) === 0;\n}\nfunction makeInternalComponentId(idSuffix) {\n  return INTERNAL_COMPONENT_ID_PREFIX + idSuffix;\n}\nfunction setComponentTypeToKeyInfo(mappingResult, mainType, componentModelCtor) {\n  // Set mainType and complete subType.\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(mappingResult, function (item) {\n    var newOption = item.newOption;\n\n    if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(newOption)) {\n      item.keyInfo.mainType = mainType;\n      item.keyInfo.subType = determineSubType(mainType, newOption, item.existing, componentModelCtor);\n    }\n  });\n}\n\nfunction determineSubType(mainType, newCmptOption, existComponent, componentModelCtor) {\n  var subType = newCmptOption.type ? newCmptOption.type : existComponent ? existComponent.subType // Use determineSubType only when there is no existComponent.\n  : componentModelCtor.determineSubType(mainType, newCmptOption); // tooltip, markline, markpoint may always has no subType\n\n  return subType;\n}\n/**\n * A helper for removing duplicate items between batchA and batchB,\n * and in themselves, and categorize by series.\n *\n * @param batchA Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @param batchB Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @return result: [resultBatchA, resultBatchB]\n */\n\n\nfunction compressBatches(batchA, batchB) {\n  var mapA = {};\n  var mapB = {};\n  makeMap(batchA || [], mapA);\n  makeMap(batchB || [], mapB, mapA);\n  return [mapToArray(mapA), mapToArray(mapB)];\n\n  function makeMap(sourceBatch, map, otherMap) {\n    for (var i = 0, len = sourceBatch.length; i < len; i++) {\n      var seriesId = convertOptionIdName(sourceBatch[i].seriesId, null);\n\n      if (seriesId == null) {\n        return;\n      }\n\n      var dataIndices = normalizeToArray(sourceBatch[i].dataIndex);\n      var otherDataIndices = otherMap && otherMap[seriesId];\n\n      for (var j = 0, lenj = dataIndices.length; j < lenj; j++) {\n        var dataIndex = dataIndices[j];\n\n        if (otherDataIndices && otherDataIndices[dataIndex]) {\n          otherDataIndices[dataIndex] = null;\n        } else {\n          (map[seriesId] || (map[seriesId] = {}))[dataIndex] = 1;\n        }\n      }\n    }\n  }\n\n  function mapToArray(map, isData) {\n    var result = [];\n\n    for (var i in map) {\n      if (map.hasOwnProperty(i) && map[i] != null) {\n        if (isData) {\n          result.push(+i);\n        } else {\n          var dataIndices = mapToArray(map[i], true);\n          dataIndices.length && result.push({\n            seriesId: i,\n            dataIndex: dataIndices\n          });\n        }\n      }\n    }\n\n    return result;\n  }\n}\n/**\n * @param payload Contains dataIndex (means rawIndex) / dataIndexInside / name\n *                         each of which can be Array or primary type.\n * @return dataIndex If not found, return undefined/null.\n */\n\nfunction queryDataIndex(data, payload) {\n  if (payload.dataIndexInside != null) {\n    return payload.dataIndexInside;\n  } else if (payload.dataIndex != null) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(payload.dataIndex) ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(payload.dataIndex, function (value) {\n      return data.indexOfRawIndex(value);\n    }) : data.indexOfRawIndex(payload.dataIndex);\n  } else if (payload.name != null) {\n    return Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(payload.name) ? Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(payload.name, function (value) {\n      return data.indexOfName(value);\n    }) : data.indexOfName(payload.name);\n  }\n}\n/**\n * Enable property storage to any host object.\n * Notice: Serialization is not supported.\n *\n * For example:\n * let inner = zrUitl.makeInner();\n *\n * function some1(hostObj) {\n *      inner(hostObj).someProperty = 1212;\n *      ...\n * }\n * function some2() {\n *      let fields = inner(this);\n *      fields.someProperty1 = 1212;\n *      fields.someProperty2 = 'xx';\n *      ...\n * }\n *\n * @return {Function}\n */\n\nfunction makeInner() {\n  var key = '__ec_inner_' + innerUniqueIndex++;\n  return function (hostObj) {\n    return hostObj[key] || (hostObj[key] = {});\n  };\n}\nvar innerUniqueIndex = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"getRandomIdBase\"])();\n/**\n * The same behavior as `component.getReferringComponents`.\n */\n\nfunction parseFinder(ecModel, finderInput, opt) {\n  var _a = preParseFinder(finderInput, opt),\n      mainTypeSpecified = _a.mainTypeSpecified,\n      queryOptionMap = _a.queryOptionMap,\n      others = _a.others;\n\n  var result = others;\n  var defaultMainType = opt ? opt.defaultMainType : null;\n\n  if (!mainTypeSpecified && defaultMainType) {\n    queryOptionMap.set(defaultMainType, {});\n  }\n\n  queryOptionMap.each(function (queryOption, mainType) {\n    var queryResult = queryReferringComponents(ecModel, mainType, queryOption, {\n      useDefault: defaultMainType === mainType,\n      enableAll: opt && opt.enableAll != null ? opt.enableAll : true,\n      enableNone: opt && opt.enableNone != null ? opt.enableNone : true\n    });\n    result[mainType + 'Models'] = queryResult.models;\n    result[mainType + 'Model'] = queryResult.models[0];\n  });\n  return result;\n}\nfunction preParseFinder(finderInput, opt) {\n  var finder;\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(finderInput)) {\n    var obj = {};\n    obj[finderInput + 'Index'] = 0;\n    finder = obj;\n  } else {\n    finder = finderInput;\n  }\n\n  var queryOptionMap = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  var others = {};\n  var mainTypeSpecified = false;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(finder, function (value, key) {\n    // Exclude 'dataIndex' and other illgal keys.\n    if (key === 'dataIndex' || key === 'dataIndexInside') {\n      others[key] = value;\n      return;\n    }\n\n    var parsedKey = key.match(/^(\\w+)(Index|Id|Name)$/) || [];\n    var mainType = parsedKey[1];\n    var queryType = (parsedKey[2] || '').toLowerCase();\n\n    if (!mainType || !queryType || opt && opt.includeMainTypes && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(opt.includeMainTypes, mainType) < 0) {\n      return;\n    }\n\n    mainTypeSpecified = mainTypeSpecified || !!mainType;\n    var queryOption = queryOptionMap.get(mainType) || queryOptionMap.set(mainType, {});\n    queryOption[queryType] = value;\n  });\n  return {\n    mainTypeSpecified: mainTypeSpecified,\n    queryOptionMap: queryOptionMap,\n    others: others\n  };\n}\nvar SINGLE_REFERRING = {\n  useDefault: true,\n  enableAll: false,\n  enableNone: false\n};\nvar MULTIPLE_REFERRING = {\n  useDefault: false,\n  enableAll: true,\n  enableNone: true\n};\nfunction queryReferringComponents(ecModel, mainType, userOption, opt) {\n  opt = opt || SINGLE_REFERRING;\n  var indexOption = userOption.index;\n  var idOption = userOption.id;\n  var nameOption = userOption.name;\n  var result = {\n    models: null,\n    specified: indexOption != null || idOption != null || nameOption != null\n  };\n\n  if (!result.specified) {\n    // Use the first as default if `useDefault`.\n    var firstCmpt = void 0;\n    result.models = opt.useDefault && (firstCmpt = ecModel.getComponent(mainType)) ? [firstCmpt] : [];\n    return result;\n  }\n\n  if (indexOption === 'none' || indexOption === false) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(opt.enableNone, '`\"none\"` or `false` is not a valid value on index option.');\n    result.models = [];\n    return result;\n  } // `queryComponents` will return all components if\n  // both all of index/id/name are null/undefined.\n\n\n  if (indexOption === 'all') {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"])(opt.enableAll, '`\"all\"` is not a valid value on index option.');\n    indexOption = idOption = nameOption = null;\n  }\n\n  result.models = ecModel.queryComponents({\n    mainType: mainType,\n    index: indexOption,\n    id: idOption,\n    name: nameOption\n  });\n  return result;\n}\nfunction setAttribute(dom, key, value) {\n  dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value;\n}\nfunction getAttribute(dom, key) {\n  return dom.getAttribute ? dom.getAttribute(key) : dom[key];\n}\nfunction getTooltipRenderMode(renderModeOption) {\n  if (renderModeOption === 'auto') {\n    // Using html when `document` exists, use richText otherwise\n    return zrender_lib_core_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].domSupported ? 'html' : 'richText';\n  } else {\n    return renderModeOption || 'html';\n  }\n}\n/**\n * Group a list by key.\n */\n\nfunction groupData(array, getKey // return key\n) {\n  var buckets = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n  var keys = [];\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(array, function (item) {\n    var key = getKey(item);\n    (buckets.get(key) || (keys.push(key), buckets.set(key, []))).push(item);\n  });\n  return {\n    keys: keys,\n    buckets: buckets\n  };\n}\n/**\n * Interpolate raw values of a series with percent\n *\n * @param data         data\n * @param labelModel   label model of the text element\n * @param sourceValue  start value. May be null/undefined when init.\n * @param targetValue  end value\n * @param percent      0~1 percentage; 0 uses start value while 1 uses end value\n * @return             interpolated values\n *                     If `sourceValue` and `targetValue` are `number`, return `number`.\n *                     If `sourceValue` and `targetValue` are `string`, return `string`.\n *                     If `sourceValue` and `targetValue` are `(string | number)[]`, return `(string | number)[]`.\n *                     Other cases do not supported.\n */\n\nfunction interpolateRawValues(data, precision, sourceValue, targetValue, percent) {\n  var isAutoPrecision = precision == null || precision === 'auto';\n\n  if (targetValue == null) {\n    return targetValue;\n  }\n\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(targetValue)) {\n    var value = interpolateNumber(sourceValue || 0, targetValue, percent);\n    return Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"round\"])(value, isAutoPrecision ? Math.max(Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrecision\"])(sourceValue || 0), Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrecision\"])(targetValue)) : precision);\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(targetValue)) {\n    return percent < 1 ? sourceValue : targetValue;\n  } else {\n    var interpolated = [];\n    var leftArr = sourceValue;\n    var rightArr = targetValue;\n    var length_1 = Math.max(leftArr ? leftArr.length : 0, rightArr.length);\n\n    for (var i = 0; i < length_1; ++i) {\n      var info = data.getDimensionInfo(i); // Don't interpolate ordinal dims\n\n      if (info && info.type === 'ordinal') {\n        // In init, there is no `sourceValue`, but should better not to get undefined result.\n        interpolated[i] = (percent < 1 && leftArr ? leftArr : rightArr)[i];\n      } else {\n        var leftVal = leftArr && leftArr[i] ? leftArr[i] : 0;\n        var rightVal = rightArr[i];\n        var value = interpolateNumber(leftVal, rightVal, percent);\n        interpolated[i] = Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"round\"])(value, isAutoPrecision ? Math.max(Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrecision\"])(leftVal), Object(_number_js__WEBPACK_IMPORTED_MODULE_2__[\"getPrecision\"])(rightVal)) : precision);\n      }\n    }\n\n    return interpolated;\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/model.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/number.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/util/number.js ***!
  \*************************************************/
/*! exports provided: linearMap, parsePercent, round, asc, getPrecision, getPrecisionSafe, getPixelPrecision, getPercentWithPrecision, getPercentSeats, addSafe, MAX_SAFE_INTEGER, remRadian, isRadianAroundZero, parseDate, quantity, quantityExponent, nice, quantile, reformIntervals, numericToNumber, isNumeric, getRandomIdBase, getGreatestCommonDividor, getLeastCommonMultiple */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linearMap\", function() { return linearMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parsePercent\", function() { return parsePercent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return round; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asc\", function() { return asc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrecision\", function() { return getPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrecisionSafe\", function() { return getPrecisionSafe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPixelPrecision\", function() { return getPixelPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPercentWithPrecision\", function() { return getPercentWithPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPercentSeats\", function() { return getPercentSeats; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addSafe\", function() { return addSafe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_SAFE_INTEGER\", function() { return MAX_SAFE_INTEGER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"remRadian\", function() { return remRadian; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRadianAroundZero\", function() { return isRadianAroundZero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return parseDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quantity\", function() { return quantity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quantityExponent\", function() { return quantityExponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nice\", function() { return nice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quantile\", function() { return quantile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reformIntervals\", function() { return reformIntervals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numericToNumber\", function() { return numericToNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNumeric\", function() { return isNumeric; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRandomIdBase\", function() { return getRandomIdBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getGreatestCommonDividor\", function() { return getGreatestCommonDividor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLeastCommonMultiple\", function() { return getLeastCommonMultiple; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The method \"quantile\" was copied from \"d3.js\".\n* (See more details in the comment of the method below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* </licenses/LICENSE-d3>).\n*/\n\nvar RADIAN_EPSILON = 1e-4; // Although chrome already enlarge this number to 100 for `toFixed`, but\n// we sill follow the spec for compatibility.\n\nvar ROUND_SUPPORTED_PRECISION_MAX = 20;\n\nfunction _trim(str) {\n  return str.replace(/^\\s+|\\s+$/g, '');\n}\n/**\n * Linear mapping a value from domain to range\n * @param  val\n * @param  domain Domain extent domain[0] can be bigger than domain[1]\n * @param  range  Range extent range[0] can be bigger than range[1]\n * @param  clamp Default to be false\n */\n\n\nfunction linearMap(val, domain, range, clamp) {\n  var d0 = domain[0];\n  var d1 = domain[1];\n  var r0 = range[0];\n  var r1 = range[1];\n  var subDomain = d1 - d0;\n  var subRange = r1 - r0;\n\n  if (subDomain === 0) {\n    return subRange === 0 ? r0 : (r0 + r1) / 2;\n  } // Avoid accuracy problem in edge, such as\n  // 146.39 - 62.83 === 83.55999999999999.\n  // See echarts/test/ut/spec/util/number.js#linearMap#accuracyError\n  // It is a little verbose for efficiency considering this method\n  // is a hotspot.\n\n\n  if (clamp) {\n    if (subDomain > 0) {\n      if (val <= d0) {\n        return r0;\n      } else if (val >= d1) {\n        return r1;\n      }\n    } else {\n      if (val >= d0) {\n        return r0;\n      } else if (val <= d1) {\n        return r1;\n      }\n    }\n  } else {\n    if (val === d0) {\n      return r0;\n    }\n\n    if (val === d1) {\n      return r1;\n    }\n  }\n\n  return (val - d0) / subDomain * subRange + r0;\n}\n/**\n * Convert a percent string to absolute number.\n * Returns NaN if percent is not a valid string or number\n */\n\nfunction parsePercent(percent, all) {\n  switch (percent) {\n    case 'center':\n    case 'middle':\n      percent = '50%';\n      break;\n\n    case 'left':\n    case 'top':\n      percent = '0%';\n      break;\n\n    case 'right':\n    case 'bottom':\n      percent = '100%';\n      break;\n  }\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](percent)) {\n    if (_trim(percent).match(/%$/)) {\n      return parseFloat(percent) / 100 * all;\n    }\n\n    return parseFloat(percent);\n  }\n\n  return percent == null ? NaN : +percent;\n}\nfunction round(x, precision, returnStr) {\n  if (precision == null) {\n    precision = 10;\n  } // Avoid range error\n\n\n  precision = Math.min(Math.max(0, precision), ROUND_SUPPORTED_PRECISION_MAX); // PENDING: 1.005.toFixed(2) is '1.00' rather than '1.01'\n\n  x = (+x).toFixed(precision);\n  return returnStr ? x : +x;\n}\n/**\n * Inplacd asc sort arr.\n * The input arr will be modified.\n */\n\nfunction asc(arr) {\n  arr.sort(function (a, b) {\n    return a - b;\n  });\n  return arr;\n}\n/**\n * Get precision.\n */\n\nfunction getPrecision(val) {\n  val = +val;\n\n  if (isNaN(val)) {\n    return 0;\n  } // It is much faster than methods converting number to string as follows\n  //      let tmp = val.toString();\n  //      return tmp.length - 1 - tmp.indexOf('.');\n  // especially when precision is low\n  // Notice:\n  // (1) If the loop count is over about 20, it is slower than `getPrecisionSafe`.\n  //     (see https://jsbench.me/2vkpcekkvw/1)\n  // (2) If the val is less than for example 1e-15, the result may be incorrect.\n  //     (see test/ut/spec/util/number.test.ts `getPrecision_equal_random`)\n\n\n  if (val > 1e-14) {\n    var e = 1;\n\n    for (var i = 0; i < 15; i++, e *= 10) {\n      if (Math.round(val * e) / e === val) {\n        return i;\n      }\n    }\n  }\n\n  return getPrecisionSafe(val);\n}\n/**\n * Get precision with slow but safe method\n */\n\nfunction getPrecisionSafe(val) {\n  // toLowerCase for: '3.4E-12'\n  var str = val.toString().toLowerCase(); // Consider scientific notation: '3.4e-12' '3.4e+12'\n\n  var eIndex = str.indexOf('e');\n  var exp = eIndex > 0 ? +str.slice(eIndex + 1) : 0;\n  var significandPartLen = eIndex > 0 ? eIndex : str.length;\n  var dotIndex = str.indexOf('.');\n  var decimalPartLen = dotIndex < 0 ? 0 : significandPartLen - 1 - dotIndex;\n  return Math.max(0, decimalPartLen - exp);\n}\n/**\n * Minimal dicernible data precisioin according to a single pixel.\n */\n\nfunction getPixelPrecision(dataExtent, pixelExtent) {\n  var log = Math.log;\n  var LN10 = Math.LN10;\n  var dataQuantity = Math.floor(log(dataExtent[1] - dataExtent[0]) / LN10);\n  var sizeQuantity = Math.round(log(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10); // toFixed() digits argument must be between 0 and 20.\n\n  var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);\n  return !isFinite(precision) ? 20 : precision;\n}\n/**\n * Get a data of given precision, assuring the sum of percentages\n * in valueList is 1.\n * The largest remainer method is used.\n * https://en.wikipedia.org/wiki/Largest_remainder_method\n *\n * @param valueList a list of all data\n * @param idx index of the data to be processed in valueList\n * @param precision integer number showing digits of precision\n * @return percent ranging from 0 to 100\n */\n\nfunction getPercentWithPrecision(valueList, idx, precision) {\n  if (!valueList[idx]) {\n    return 0;\n  }\n\n  var seats = getPercentSeats(valueList, precision);\n  return seats[idx] || 0;\n}\n/**\n * Get a data of given precision, assuring the sum of percentages\n * in valueList is 1.\n * The largest remainer method is used.\n * https://en.wikipedia.org/wiki/Largest_remainder_method\n *\n * @param valueList a list of all data\n * @param precision integer number showing digits of precision\n * @return {Array<number>}\n */\n\nfunction getPercentSeats(valueList, precision) {\n  var sum = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"](valueList, function (acc, val) {\n    return acc + (isNaN(val) ? 0 : val);\n  }, 0);\n\n  if (sum === 0) {\n    return [];\n  }\n\n  var digits = Math.pow(10, precision);\n  var votesPerQuota = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](valueList, function (val) {\n    return (isNaN(val) ? 0 : val) / sum * digits * 100;\n  });\n  var targetSeats = digits * 100;\n  var seats = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](votesPerQuota, function (votes) {\n    // Assign automatic seats.\n    return Math.floor(votes);\n  });\n  var currentSum = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"](seats, function (acc, val) {\n    return acc + val;\n  }, 0);\n  var remainder = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](votesPerQuota, function (votes, idx) {\n    return votes - seats[idx];\n  }); // Has remainding votes.\n\n  while (currentSum < targetSeats) {\n    // Find next largest remainder.\n    var max = Number.NEGATIVE_INFINITY;\n    var maxId = null;\n\n    for (var i = 0, len = remainder.length; i < len; ++i) {\n      if (remainder[i] > max) {\n        max = remainder[i];\n        maxId = i;\n      }\n    } // Add a vote to max remainder.\n\n\n    ++seats[maxId];\n    remainder[maxId] = 0;\n    ++currentSum;\n  }\n\n  return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](seats, function (seat) {\n    return seat / digits;\n  });\n}\n/**\n * Solve the floating point adding problem like 0.1 + 0.2 === 0.30000000000000004\n * See <http://0.30000000000000004.com/>\n */\n\nfunction addSafe(val0, val1) {\n  var maxPrecision = Math.max(getPrecision(val0), getPrecision(val1)); // const multiplier = Math.pow(10, maxPrecision);\n  // return (Math.round(val0 * multiplier) + Math.round(val1 * multiplier)) / multiplier;\n\n  var sum = val0 + val1; // // PENDING: support more?\n\n  return maxPrecision > ROUND_SUPPORTED_PRECISION_MAX ? sum : round(sum, maxPrecision);\n} // Number.MAX_SAFE_INTEGER, ie do not support.\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * To 0 - 2 * PI, considering negative radian.\n */\n\nfunction remRadian(radian) {\n  var pi2 = Math.PI * 2;\n  return (radian % pi2 + pi2) % pi2;\n}\n/**\n * @param {type} radian\n * @return {boolean}\n */\n\nfunction isRadianAroundZero(val) {\n  return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;\n} // eslint-disable-next-line\n\nvar TIME_REG = /^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d{1,2})(?::(\\d{1,2})(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/; // jshint ignore:line\n\n/**\n * @param value valid type: number | string | Date, otherwise return `new Date(NaN)`\n *   These values can be accepted:\n *   + An instance of Date, represent a time in its own time zone.\n *   + Or string in a subset of ISO 8601, only including:\n *     + only year, month, date: '2012-03', '2012-03-01', '2012-03-01 05', '2012-03-01 05:06',\n *     + separated with T or space: '2012-03-01T12:22:33.123', '2012-03-01 12:22:33.123',\n *     + time zone: '2012-03-01T12:22:33Z', '2012-03-01T12:22:33+8000', '2012-03-01T12:22:33-05:00',\n *     all of which will be treated as local time if time zone is not specified\n *     (see <https://momentjs.com/>).\n *   + Or other string format, including (all of which will be treated as loacal time):\n *     '2012', '2012-3-1', '2012/3/1', '2012/03/01',\n *     '2009/6/12 2:00', '2009/6/12 2:05:08', '2009/6/12 2:05:08.123'\n *   + a timestamp, which represent a time in UTC.\n * @return date Never be null/undefined. If invalid, return `new Date(NaN)`.\n */\n\nfunction parseDate(value) {\n  if (value instanceof Date) {\n    return value;\n  } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](value)) {\n    // Different browsers parse date in different way, so we parse it manually.\n    // Some other issues:\n    // new Date('1970-01-01') is UTC,\n    // new Date('1970/01/01') and new Date('1970-1-01') is local.\n    // See issue #3623\n    var match = TIME_REG.exec(value);\n\n    if (!match) {\n      // return Invalid Date.\n      return new Date(NaN);\n    } // Use local time when no timezone offset specifed.\n\n\n    if (!match[8]) {\n      // match[n] can only be string or undefined.\n      // But take care of '12' + 1 => '121'.\n      return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0);\n    } // Timezoneoffset of Javascript Date has considered DST (Daylight Saving Time,\n    // https://tc39.github.io/ecma262/#sec-daylight-saving-time-adjustment).\n    // For example, system timezone is set as \"Time Zone: America/Toronto\",\n    // then these code will get different result:\n    // `new Date(1478411999999).getTimezoneOffset();  // get 240`\n    // `new Date(1478412000000).getTimezoneOffset();  // get 300`\n    // So we should not use `new Date`, but use `Date.UTC`.\n    else {\n        var hour = +match[4] || 0;\n\n        if (match[8].toUpperCase() !== 'Z') {\n          hour -= +match[8].slice(0, 3);\n        }\n\n        return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0));\n      }\n  } else if (value == null) {\n    return new Date(NaN);\n  }\n\n  return new Date(Math.round(value));\n}\n/**\n * Quantity of a number. e.g. 0.1, 1, 10, 100\n *\n * @param val\n * @return\n */\n\nfunction quantity(val) {\n  return Math.pow(10, quantityExponent(val));\n}\n/**\n * Exponent of the quantity of a number\n * e.g., 1234 equals to 1.234*10^3, so quantityExponent(1234) is 3\n *\n * @param val non-negative value\n * @return\n */\n\nfunction quantityExponent(val) {\n  if (val === 0) {\n    return 0;\n  }\n\n  var exp = Math.floor(Math.log(val) / Math.LN10);\n  /**\n   * exp is expected to be the rounded-down result of the base-10 log of val.\n   * But due to the precision loss with Math.log(val), we need to restore it\n   * using 10^exp to make sure we can get val back from exp. #11249\n   */\n\n  if (val / Math.pow(10, exp) >= 10) {\n    exp++;\n  }\n\n  return exp;\n}\n/**\n * find a “nice” number approximately equal to x. Round the number if round = true,\n * take ceiling if round = false. The primary observation is that the “nicest”\n * numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers.\n *\n * See \"Nice Numbers for Graph Labels\" of Graphic Gems.\n *\n * @param  val Non-negative value.\n * @param  round\n * @return Niced number\n */\n\nfunction nice(val, round) {\n  var exponent = quantityExponent(val);\n  var exp10 = Math.pow(10, exponent);\n  var f = val / exp10; // 1 <= f < 10\n\n  var nf;\n\n  if (round) {\n    if (f < 1.5) {\n      nf = 1;\n    } else if (f < 2.5) {\n      nf = 2;\n    } else if (f < 4) {\n      nf = 3;\n    } else if (f < 7) {\n      nf = 5;\n    } else {\n      nf = 10;\n    }\n  } else {\n    if (f < 1) {\n      nf = 1;\n    } else if (f < 2) {\n      nf = 2;\n    } else if (f < 3) {\n      nf = 3;\n    } else if (f < 5) {\n      nf = 5;\n    } else {\n      nf = 10;\n    }\n  }\n\n  val = nf * exp10; // Fix 3 * 0.1 === 0.30000000000000004 issue (see IEEE 754).\n  // 20 is the uppper bound of toFixed.\n\n  return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;\n}\n/**\n * This code was copied from \"d3.js\"\n * <https://github.com/d3/d3/blob/9cc9a875e636a1dcf36cc1e07bdf77e1ad6e2c74/src/arrays/quantile.js>.\n * See the license statement at the head of this file.\n * @param ascArr\n */\n\nfunction quantile(ascArr, p) {\n  var H = (ascArr.length - 1) * p + 1;\n  var h = Math.floor(H);\n  var v = +ascArr[h - 1];\n  var e = H - h;\n  return e ? v + e * (ascArr[h] - v) : v;\n}\n/**\n * Order intervals asc, and split them when overlap.\n * expect(numberUtil.reformIntervals([\n *     {interval: [18, 62], close: [1, 1]},\n *     {interval: [-Infinity, -70], close: [0, 0]},\n *     {interval: [-70, -26], close: [1, 1]},\n *     {interval: [-26, 18], close: [1, 1]},\n *     {interval: [62, 150], close: [1, 1]},\n *     {interval: [106, 150], close: [1, 1]},\n *     {interval: [150, Infinity], close: [0, 0]}\n * ])).toEqual([\n *     {interval: [-Infinity, -70], close: [0, 0]},\n *     {interval: [-70, -26], close: [1, 1]},\n *     {interval: [-26, 18], close: [0, 1]},\n *     {interval: [18, 62], close: [0, 1]},\n *     {interval: [62, 150], close: [0, 1]},\n *     {interval: [150, Infinity], close: [0, 0]}\n * ]);\n * @param list, where `close` mean open or close\n *        of the interval, and Infinity can be used.\n * @return The origin list, which has been reformed.\n */\n\nfunction reformIntervals(list) {\n  list.sort(function (a, b) {\n    return littleThan(a, b, 0) ? -1 : 1;\n  });\n  var curr = -Infinity;\n  var currClose = 1;\n\n  for (var i = 0; i < list.length;) {\n    var interval = list[i].interval;\n    var close_1 = list[i].close;\n\n    for (var lg = 0; lg < 2; lg++) {\n      if (interval[lg] <= curr) {\n        interval[lg] = curr;\n        close_1[lg] = !lg ? 1 - currClose : 1;\n      }\n\n      curr = interval[lg];\n      currClose = close_1[lg];\n    }\n\n    if (interval[0] === interval[1] && close_1[0] * close_1[1] !== 1) {\n      list.splice(i, 1);\n    } else {\n      i++;\n    }\n  }\n\n  return list;\n\n  function littleThan(a, b, lg) {\n    return a.interval[lg] < b.interval[lg] || a.interval[lg] === b.interval[lg] && (a.close[lg] - b.close[lg] === (!lg ? 1 : -1) || !lg && littleThan(a, b, 1));\n  }\n}\n/**\n * [Numberic is defined as]:\n *     `parseFloat(val) == val`\n * For example:\n * numeric:\n *     typeof number except NaN, '-123', '123', '2e3', '-2e3', '011', 'Infinity', Infinity,\n *     and they rounded by white-spaces or line-terminal like ' -123 \\n ' (see es spec)\n * not-numeric:\n *     null, undefined, [], {}, true, false, 'NaN', NaN, '123ab',\n *     empty string, string with only white-spaces or line-terminal (see es spec),\n *     0x12, '0x12', '-0x12', 012, '012', '-012',\n *     non-string, ...\n *\n * @test See full test cases in `test/ut/spec/util/number.js`.\n * @return Must be a typeof number. If not numeric, return NaN.\n */\n\nfunction numericToNumber(val) {\n  var valFloat = parseFloat(val);\n  return valFloat == val // eslint-disable-line eqeqeq\n  && (valFloat !== 0 || !zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](val) || val.indexOf('x') <= 0) // For case ' 0x0 '.\n  ? valFloat : NaN;\n}\n/**\n * Definition of \"numeric\": see `numericToNumber`.\n */\n\nfunction isNumeric(val) {\n  return !isNaN(numericToNumber(val));\n}\n/**\n * Use random base to prevent users hard code depending on\n * this auto generated marker id.\n * @return An positive integer.\n */\n\nfunction getRandomIdBase() {\n  return Math.round(Math.random() * 9);\n}\n/**\n * Get the greatest common dividor\n *\n * @param {number} a one number\n * @param {number} b the other number\n */\n\nfunction getGreatestCommonDividor(a, b) {\n  if (b === 0) {\n    return a;\n  }\n\n  return getGreatestCommonDividor(b, a % b);\n}\n/**\n * Get the least common multiple\n *\n * @param {number} a one number\n * @param {number} b the other number\n */\n\nfunction getLeastCommonMultiple(a, b) {\n  if (a == null) {\n    return b;\n  }\n\n  if (b == null) {\n    return a;\n  }\n\n  return a * b / getGreatestCommonDividor(a, b);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/number.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/shape/sausage.js":
/*!********************************************************!*\
  !*** ./node_modules/echarts/lib/util/shape/sausage.js ***!
  \********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * Sausage: similar to sector, but have half circle on both sides\n */\n\nvar SausageShape =\n/** @class */\nfunction () {\n  function SausageShape() {\n    this.cx = 0;\n    this.cy = 0;\n    this.r0 = 0;\n    this.r = 0;\n    this.startAngle = 0;\n    this.endAngle = Math.PI * 2;\n    this.clockwise = true;\n  }\n\n  return SausageShape;\n}();\n\nvar SausagePath =\n/** @class */\nfunction (_super) {\n  Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SausagePath, _super);\n\n  function SausagePath(opts) {\n    var _this = _super.call(this, opts) || this;\n\n    _this.type = 'sausage';\n    return _this;\n  }\n\n  SausagePath.prototype.getDefaultShape = function () {\n    return new SausageShape();\n  };\n\n  SausagePath.prototype.buildPath = function (ctx, shape) {\n    var cx = shape.cx;\n    var cy = shape.cy;\n    var r0 = Math.max(shape.r0 || 0, 0);\n    var r = Math.max(shape.r, 0);\n    var dr = (r - r0) * 0.5;\n    var rCenter = r0 + dr;\n    var startAngle = shape.startAngle;\n    var endAngle = shape.endAngle;\n    var clockwise = shape.clockwise;\n    var PI2 = Math.PI * 2;\n    var lessThanCircle = clockwise ? endAngle - startAngle < PI2 : startAngle - endAngle < PI2;\n\n    if (!lessThanCircle) {\n      // Normalize angles\n      startAngle = endAngle - (clockwise ? PI2 : -PI2);\n    }\n\n    var unitStartX = Math.cos(startAngle);\n    var unitStartY = Math.sin(startAngle);\n    var unitEndX = Math.cos(endAngle);\n    var unitEndY = Math.sin(endAngle);\n\n    if (lessThanCircle) {\n      ctx.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);\n      ctx.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);\n    } else {\n      ctx.moveTo(unitStartX * r + cx, unitStartY * r + cy);\n    }\n\n    ctx.arc(cx, cy, r, startAngle, endAngle, !clockwise);\n    ctx.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);\n\n    if (r0 !== 0) {\n      ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);\n    } // ctx.closePath();\n\n  };\n\n  return SausagePath;\n}(_graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SausagePath);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/shape/sausage.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/states.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/util/states.js ***!
  \*************************************************/
/*! exports provided: HOVER_STATE_NORMAL, HOVER_STATE_BLUR, HOVER_STATE_EMPHASIS, SPECIAL_STATES, DISPLAY_STATES, Z2_EMPHASIS_LIFT, Z2_SELECT_LIFT, HIGHLIGHT_ACTION_TYPE, DOWNPLAY_ACTION_TYPE, SELECT_ACTION_TYPE, UNSELECT_ACTION_TYPE, TOGGLE_SELECT_ACTION_TYPE, setStatesFlag, clearStates, setDefaultStateProxy, enterEmphasisWhenMouseOver, leaveEmphasisWhenMouseOut, enterEmphasis, leaveEmphasis, enterBlur, leaveBlur, enterSelect, leaveSelect, allLeaveBlur, blurSeries, blurComponent, blurSeriesFromHighlightPayload, findComponentHighDownDispatchers, handleGlobalMouseOverForHighDown, handleGlobalMouseOutForHighDown, toggleSelectionFromPayload, updateSeriesElementSelection, getAllSelectedIndices, enableHoverEmphasis, disableHoverEmphasis, toggleHoverEmphasis, enableHoverFocus, setStatesStylesFromModel, setAsHighDownDispatcher, isHighDownDispatcher, enableComponentHighDownFeatures, getHighlightDigit, isSelectChangePayload, isHighDownPayload, savePathStates */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HOVER_STATE_NORMAL\", function() { return HOVER_STATE_NORMAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HOVER_STATE_BLUR\", function() { return HOVER_STATE_BLUR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HOVER_STATE_EMPHASIS\", function() { return HOVER_STATE_EMPHASIS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIAL_STATES\", function() { return SPECIAL_STATES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DISPLAY_STATES\", function() { return DISPLAY_STATES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z2_EMPHASIS_LIFT\", function() { return Z2_EMPHASIS_LIFT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z2_SELECT_LIFT\", function() { return Z2_SELECT_LIFT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HIGHLIGHT_ACTION_TYPE\", function() { return HIGHLIGHT_ACTION_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DOWNPLAY_ACTION_TYPE\", function() { return DOWNPLAY_ACTION_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SELECT_ACTION_TYPE\", function() { return SELECT_ACTION_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNSELECT_ACTION_TYPE\", function() { return UNSELECT_ACTION_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOGGLE_SELECT_ACTION_TYPE\", function() { return TOGGLE_SELECT_ACTION_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStatesFlag\", function() { return setStatesFlag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearStates\", function() { return clearStates; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDefaultStateProxy\", function() { return setDefaultStateProxy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enterEmphasisWhenMouseOver\", function() { return enterEmphasisWhenMouseOver; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"leaveEmphasisWhenMouseOut\", function() { return leaveEmphasisWhenMouseOut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enterEmphasis\", function() { return enterEmphasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"leaveEmphasis\", function() { return leaveEmphasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enterBlur\", function() { return enterBlur; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"leaveBlur\", function() { return leaveBlur; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enterSelect\", function() { return enterSelect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"leaveSelect\", function() { return leaveSelect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"allLeaveBlur\", function() { return allLeaveBlur; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blurSeries\", function() { return blurSeries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blurComponent\", function() { return blurComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blurSeriesFromHighlightPayload\", function() { return blurSeriesFromHighlightPayload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findComponentHighDownDispatchers\", function() { return findComponentHighDownDispatchers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleGlobalMouseOverForHighDown\", function() { return handleGlobalMouseOverForHighDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleGlobalMouseOutForHighDown\", function() { return handleGlobalMouseOutForHighDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toggleSelectionFromPayload\", function() { return toggleSelectionFromPayload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateSeriesElementSelection\", function() { return updateSeriesElementSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAllSelectedIndices\", function() { return getAllSelectedIndices; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableHoverEmphasis\", function() { return enableHoverEmphasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disableHoverEmphasis\", function() { return disableHoverEmphasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toggleHoverEmphasis\", function() { return toggleHoverEmphasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableHoverFocus\", function() { return enableHoverFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStatesStylesFromModel\", function() { return setStatesStylesFromModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setAsHighDownDispatcher\", function() { return setAsHighDownDispatcher; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isHighDownDispatcher\", function() { return isHighDownDispatcher; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableComponentHighDownFeatures\", function() { return enableComponentHighDownFeatures; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHighlightDigit\", function() { return getHighlightDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSelectChangePayload\", function() { return isSelectChangePayload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isHighDownPayload\", function() { return isHighDownPayload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"savePathStates\", function() { return savePathStates; });\n/* harmony import */ var zrender_lib_core_LRU_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/LRU.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/LRU.js\");\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _innerStore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./innerStore.js */ \"./node_modules/echarts/lib/util/innerStore.js\");\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zrender/lib/graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _log_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n // Reserve 0 as default.\n\nvar _highlightNextDigit = 1;\nvar _highlightKeyMap = {};\nvar getSavedStates = Object(_model_js__WEBPACK_IMPORTED_MODULE_4__[\"makeInner\"])();\nvar getComponentStates = Object(_model_js__WEBPACK_IMPORTED_MODULE_4__[\"makeInner\"])();\nvar HOVER_STATE_NORMAL = 0;\nvar HOVER_STATE_BLUR = 1;\nvar HOVER_STATE_EMPHASIS = 2;\nvar SPECIAL_STATES = ['emphasis', 'blur', 'select'];\nvar DISPLAY_STATES = ['normal', 'emphasis', 'blur', 'select'];\nvar Z2_EMPHASIS_LIFT = 10;\nvar Z2_SELECT_LIFT = 9;\nvar HIGHLIGHT_ACTION_TYPE = 'highlight';\nvar DOWNPLAY_ACTION_TYPE = 'downplay';\nvar SELECT_ACTION_TYPE = 'select';\nvar UNSELECT_ACTION_TYPE = 'unselect';\nvar TOGGLE_SELECT_ACTION_TYPE = 'toggleSelect';\n\nfunction hasFillOrStroke(fillOrStroke) {\n  return fillOrStroke != null && fillOrStroke !== 'none';\n} // Most lifted color are duplicated.\n\n\nvar liftedColorCache = new zrender_lib_core_LRU_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](100);\n\nfunction liftColor(color) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isString\"])(color)) {\n    var liftedColor = liftedColorCache.get(color);\n\n    if (!liftedColor) {\n      liftedColor = zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_3__[\"lift\"](color, -0.1);\n      liftedColorCache.put(color, liftedColor);\n    }\n\n    return liftedColor;\n  } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isGradientObject\"])(color)) {\n    var ret = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, color);\n    ret.colorStops = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(color.colorStops, function (stop) {\n      return {\n        offset: stop.offset,\n        color: zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_3__[\"lift\"](stop.color, -0.1)\n      };\n    });\n    return ret;\n  } // Change nothing.\n\n\n  return color;\n}\n\nfunction doChangeHoverState(el, stateName, hoverStateEnum) {\n  if (el.onHoverStateChange && (el.hoverState || 0) !== hoverStateEnum) {\n    el.onHoverStateChange(stateName);\n  }\n\n  el.hoverState = hoverStateEnum;\n}\n\nfunction singleEnterEmphasis(el) {\n  // Only mark the flag.\n  // States will be applied in the echarts.ts in next frame.\n  doChangeHoverState(el, 'emphasis', HOVER_STATE_EMPHASIS);\n}\n\nfunction singleLeaveEmphasis(el) {\n  // Only mark the flag.\n  // States will be applied in the echarts.ts in next frame.\n  if (el.hoverState === HOVER_STATE_EMPHASIS) {\n    doChangeHoverState(el, 'normal', HOVER_STATE_NORMAL);\n  }\n}\n\nfunction singleEnterBlur(el) {\n  doChangeHoverState(el, 'blur', HOVER_STATE_BLUR);\n}\n\nfunction singleLeaveBlur(el) {\n  if (el.hoverState === HOVER_STATE_BLUR) {\n    doChangeHoverState(el, 'normal', HOVER_STATE_NORMAL);\n  }\n}\n\nfunction singleEnterSelect(el) {\n  el.selected = true;\n}\n\nfunction singleLeaveSelect(el) {\n  el.selected = false;\n}\n\nfunction updateElementState(el, updater, commonParam) {\n  updater(el, commonParam);\n}\n\nfunction traverseUpdateState(el, updater, commonParam) {\n  updateElementState(el, updater, commonParam);\n  el.isGroup && el.traverse(function (child) {\n    updateElementState(child, updater, commonParam);\n  });\n}\n\nfunction setStatesFlag(el, stateName) {\n  switch (stateName) {\n    case 'emphasis':\n      el.hoverState = HOVER_STATE_EMPHASIS;\n      break;\n\n    case 'normal':\n      el.hoverState = HOVER_STATE_NORMAL;\n      break;\n\n    case 'blur':\n      el.hoverState = HOVER_STATE_BLUR;\n      break;\n\n    case 'select':\n      el.selected = true;\n  }\n}\n/**\n * If we reuse elements when rerender.\n * DONT forget to clearStates before we update the style and shape.\n * Or we may update on the wrong state instead of normal state.\n */\n\nfunction clearStates(el) {\n  if (el.isGroup) {\n    el.traverse(function (child) {\n      child.clearStates();\n    });\n  } else {\n    el.clearStates();\n  }\n}\n\nfunction getFromStateStyle(el, props, toStateName, defaultValue) {\n  var style = el.style;\n  var fromState = {};\n\n  for (var i = 0; i < props.length; i++) {\n    var propName = props[i];\n    var val = style[propName];\n    fromState[propName] = val == null ? defaultValue && defaultValue[propName] : val;\n  }\n\n  for (var i = 0; i < el.animators.length; i++) {\n    var animator = el.animators[i];\n\n    if (animator.__fromStateTransition // Dont consider the animation to emphasis state.\n    && animator.__fromStateTransition.indexOf(toStateName) < 0 && animator.targetName === 'style') {\n      animator.saveTo(fromState, props);\n    }\n  }\n\n  return fromState;\n}\n\nfunction createEmphasisDefaultState(el, stateName, targetStates, state) {\n  var hasSelect = targetStates && Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(targetStates, 'select') >= 0;\n  var cloned = false;\n\n  if (el instanceof zrender_lib_graphic_Path_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n    var store = getSavedStates(el);\n    var fromFill = hasSelect ? store.selectFill || store.normalFill : store.normalFill;\n    var fromStroke = hasSelect ? store.selectStroke || store.normalStroke : store.normalStroke;\n\n    if (hasFillOrStroke(fromFill) || hasFillOrStroke(fromStroke)) {\n      state = state || {};\n      var emphasisStyle = state.style || {}; // inherit case\n\n      if (emphasisStyle.fill === 'inherit') {\n        cloned = true;\n        state = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, state);\n        emphasisStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, emphasisStyle);\n        emphasisStyle.fill = fromFill;\n      } // Apply default color lift\n      else if (!hasFillOrStroke(emphasisStyle.fill) && hasFillOrStroke(fromFill)) {\n          cloned = true; // Not modify the original value.\n\n          state = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, state);\n          emphasisStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, emphasisStyle); // Already being applied 'emphasis'. DON'T lift color multiple times.\n\n          emphasisStyle.fill = liftColor(fromFill);\n        } // Not highlight stroke if fill has been highlighted.\n        else if (!hasFillOrStroke(emphasisStyle.stroke) && hasFillOrStroke(fromStroke)) {\n            if (!cloned) {\n              state = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, state);\n              emphasisStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, emphasisStyle);\n            }\n\n            emphasisStyle.stroke = liftColor(fromStroke);\n          }\n\n      state.style = emphasisStyle;\n    }\n  }\n\n  if (state) {\n    // TODO Share with textContent?\n    if (state.z2 == null) {\n      if (!cloned) {\n        state = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, state);\n      }\n\n      var z2EmphasisLift = el.z2EmphasisLift;\n      state.z2 = el.z2 + (z2EmphasisLift != null ? z2EmphasisLift : Z2_EMPHASIS_LIFT);\n    }\n  }\n\n  return state;\n}\n\nfunction createSelectDefaultState(el, stateName, state) {\n  // const hasSelect = indexOf(el.currentStates, stateName) >= 0;\n  if (state) {\n    // TODO Share with textContent?\n    if (state.z2 == null) {\n      state = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, state);\n      var z2SelectLift = el.z2SelectLift;\n      state.z2 = el.z2 + (z2SelectLift != null ? z2SelectLift : Z2_SELECT_LIFT);\n    }\n  }\n\n  return state;\n}\n\nfunction createBlurDefaultState(el, stateName, state) {\n  var hasBlur = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(el.currentStates, stateName) >= 0;\n  var currentOpacity = el.style.opacity;\n  var fromState = !hasBlur ? getFromStateStyle(el, ['opacity'], stateName, {\n    opacity: 1\n  }) : null;\n  state = state || {};\n  var blurStyle = state.style || {};\n\n  if (blurStyle.opacity == null) {\n    // clone state\n    state = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, state);\n    blurStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({\n      // Already being applied 'emphasis'. DON'T mul opacity multiple times.\n      opacity: hasBlur ? currentOpacity : fromState.opacity * 0.1\n    }, blurStyle);\n    state.style = blurStyle;\n  }\n\n  return state;\n}\n\nfunction elementStateProxy(stateName, targetStates) {\n  var state = this.states[stateName];\n\n  if (this.style) {\n    if (stateName === 'emphasis') {\n      return createEmphasisDefaultState(this, stateName, targetStates, state);\n    } else if (stateName === 'blur') {\n      return createBlurDefaultState(this, stateName, state);\n    } else if (stateName === 'select') {\n      return createSelectDefaultState(this, stateName, state);\n    }\n  }\n\n  return state;\n}\n/**FI\n * Set hover style (namely \"emphasis style\") of element.\n * @param el Should not be `zrender/graphic/Group`.\n * @param focus 'self' | 'selfInSeries' | 'series'\n */\n\n\nfunction setDefaultStateProxy(el) {\n  el.stateProxy = elementStateProxy;\n  var textContent = el.getTextContent();\n  var textGuide = el.getTextGuideLine();\n\n  if (textContent) {\n    textContent.stateProxy = elementStateProxy;\n  }\n\n  if (textGuide) {\n    textGuide.stateProxy = elementStateProxy;\n  }\n}\nfunction enterEmphasisWhenMouseOver(el, e) {\n  !shouldSilent(el, e) // \"emphasis\" event highlight has higher priority than mouse highlight.\n  && !el.__highByOuter && traverseUpdateState(el, singleEnterEmphasis);\n}\nfunction leaveEmphasisWhenMouseOut(el, e) {\n  !shouldSilent(el, e) // \"emphasis\" event highlight has higher priority than mouse highlight.\n  && !el.__highByOuter && traverseUpdateState(el, singleLeaveEmphasis);\n}\nfunction enterEmphasis(el, highlightDigit) {\n  el.__highByOuter |= 1 << (highlightDigit || 0);\n  traverseUpdateState(el, singleEnterEmphasis);\n}\nfunction leaveEmphasis(el, highlightDigit) {\n  !(el.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdateState(el, singleLeaveEmphasis);\n}\nfunction enterBlur(el) {\n  traverseUpdateState(el, singleEnterBlur);\n}\nfunction leaveBlur(el) {\n  traverseUpdateState(el, singleLeaveBlur);\n}\nfunction enterSelect(el) {\n  traverseUpdateState(el, singleEnterSelect);\n}\nfunction leaveSelect(el) {\n  traverseUpdateState(el, singleLeaveSelect);\n}\n\nfunction shouldSilent(el, e) {\n  return el.__highDownSilentOnTouch && e.zrByTouch;\n}\n\nfunction allLeaveBlur(api) {\n  var model = api.getModel();\n  var leaveBlurredSeries = [];\n  var allComponentViews = [];\n  model.eachComponent(function (componentType, componentModel) {\n    var componentStates = getComponentStates(componentModel);\n    var isSeries = componentType === 'series';\n    var view = isSeries ? api.getViewOfSeriesModel(componentModel) : api.getViewOfComponentModel(componentModel);\n    !isSeries && allComponentViews.push(view);\n\n    if (componentStates.isBlured) {\n      // Leave blur anyway\n      view.group.traverse(function (child) {\n        singleLeaveBlur(child);\n      });\n      isSeries && leaveBlurredSeries.push(componentModel);\n    }\n\n    componentStates.isBlured = false;\n  });\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(allComponentViews, function (view) {\n    if (view && view.toggleBlurSeries) {\n      view.toggleBlurSeries(leaveBlurredSeries, false, model);\n    }\n  });\n}\nfunction blurSeries(targetSeriesIndex, focus, blurScope, api) {\n  var ecModel = api.getModel();\n  blurScope = blurScope || 'coordinateSystem';\n\n  function leaveBlurOfIndices(data, dataIndices) {\n    for (var i = 0; i < dataIndices.length; i++) {\n      var itemEl = data.getItemGraphicEl(dataIndices[i]);\n      itemEl && leaveBlur(itemEl);\n    }\n  }\n\n  if (targetSeriesIndex == null) {\n    return;\n  }\n\n  if (!focus || focus === 'none') {\n    return;\n  }\n\n  var targetSeriesModel = ecModel.getSeriesByIndex(targetSeriesIndex);\n  var targetCoordSys = targetSeriesModel.coordinateSystem;\n\n  if (targetCoordSys && targetCoordSys.master) {\n    targetCoordSys = targetCoordSys.master;\n  }\n\n  var blurredSeries = [];\n  ecModel.eachSeries(function (seriesModel) {\n    var sameSeries = targetSeriesModel === seriesModel;\n    var coordSys = seriesModel.coordinateSystem;\n\n    if (coordSys && coordSys.master) {\n      coordSys = coordSys.master;\n    }\n\n    var sameCoordSys = coordSys && targetCoordSys ? coordSys === targetCoordSys : sameSeries; // If there is no coordinate system. use sameSeries instead.\n\n    if (!( // Not blur other series if blurScope series\n    blurScope === 'series' && !sameSeries // Not blur other coordinate system if blurScope is coordinateSystem\n    || blurScope === 'coordinateSystem' && !sameCoordSys // Not blur self series if focus is series.\n    || focus === 'series' && sameSeries // TODO blurScope: coordinate system\n    )) {\n      var view = api.getViewOfSeriesModel(seriesModel);\n      view.group.traverse(function (child) {\n        singleEnterBlur(child);\n      });\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArrayLike\"])(focus)) {\n        leaveBlurOfIndices(seriesModel.getData(), focus);\n      } else if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"])(focus)) {\n        var dataTypes = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"])(focus);\n\n        for (var d = 0; d < dataTypes.length; d++) {\n          leaveBlurOfIndices(seriesModel.getData(dataTypes[d]), focus[dataTypes[d]]);\n        }\n      }\n\n      blurredSeries.push(seriesModel);\n      getComponentStates(seriesModel).isBlured = true;\n    }\n  });\n  ecModel.eachComponent(function (componentType, componentModel) {\n    if (componentType === 'series') {\n      return;\n    }\n\n    var view = api.getViewOfComponentModel(componentModel);\n\n    if (view && view.toggleBlurSeries) {\n      view.toggleBlurSeries(blurredSeries, true, ecModel);\n    }\n  });\n}\nfunction blurComponent(componentMainType, componentIndex, api) {\n  if (componentMainType == null || componentIndex == null) {\n    return;\n  }\n\n  var componentModel = api.getModel().getComponent(componentMainType, componentIndex);\n\n  if (!componentModel) {\n    return;\n  }\n\n  getComponentStates(componentModel).isBlured = true;\n  var view = api.getViewOfComponentModel(componentModel);\n\n  if (!view || !view.focusBlurEnabled) {\n    return;\n  }\n\n  view.group.traverse(function (child) {\n    singleEnterBlur(child);\n  });\n}\nfunction blurSeriesFromHighlightPayload(seriesModel, payload, api) {\n  var seriesIndex = seriesModel.seriesIndex;\n  var data = seriesModel.getData(payload.dataType);\n\n  if (!data) {\n    if (true) {\n      Object(_log_js__WEBPACK_IMPORTED_MODULE_6__[\"error\"])(\"Unknown dataType \" + payload.dataType);\n    }\n\n    return;\n  }\n\n  var dataIndex = Object(_model_js__WEBPACK_IMPORTED_MODULE_4__[\"queryDataIndex\"])(data, payload); // Pick the first one if there is multiple/none exists.\n\n  dataIndex = (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(dataIndex) ? dataIndex[0] : dataIndex) || 0;\n  var el = data.getItemGraphicEl(dataIndex);\n\n  if (!el) {\n    var count = data.count();\n    var current = 0; // If data on dataIndex is NaN.\n\n    while (!el && current < count) {\n      el = data.getItemGraphicEl(current++);\n    }\n  }\n\n  if (el) {\n    var ecData = Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(el);\n    blurSeries(seriesIndex, ecData.focus, ecData.blurScope, api);\n  } else {\n    // If there is no element put on the data. Try getting it from raw option\n    // TODO Should put it on seriesModel?\n    var focus_1 = seriesModel.get(['emphasis', 'focus']);\n    var blurScope = seriesModel.get(['emphasis', 'blurScope']);\n\n    if (focus_1 != null) {\n      blurSeries(seriesIndex, focus_1, blurScope, api);\n    }\n  }\n}\nfunction findComponentHighDownDispatchers(componentMainType, componentIndex, name, api) {\n  var ret = {\n    focusSelf: false,\n    dispatchers: null\n  };\n\n  if (componentMainType == null || componentMainType === 'series' || componentIndex == null || name == null) {\n    return ret;\n  }\n\n  var componentModel = api.getModel().getComponent(componentMainType, componentIndex);\n\n  if (!componentModel) {\n    return ret;\n  }\n\n  var view = api.getViewOfComponentModel(componentModel);\n\n  if (!view || !view.findHighDownDispatchers) {\n    return ret;\n  }\n\n  var dispatchers = view.findHighDownDispatchers(name); // At presnet, the component (like Geo) only blur inside itself.\n  // So we do not use `blurScope` in component.\n\n  var focusSelf;\n\n  for (var i = 0; i < dispatchers.length; i++) {\n    if ( true && !isHighDownDispatcher(dispatchers[i])) {\n      Object(_log_js__WEBPACK_IMPORTED_MODULE_6__[\"error\"])('param should be highDownDispatcher');\n    }\n\n    if (Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(dispatchers[i]).focus === 'self') {\n      focusSelf = true;\n      break;\n    }\n  }\n\n  return {\n    focusSelf: focusSelf,\n    dispatchers: dispatchers\n  };\n}\nfunction handleGlobalMouseOverForHighDown(dispatcher, e, api) {\n  if ( true && !isHighDownDispatcher(dispatcher)) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_6__[\"error\"])('param should be highDownDispatcher');\n  }\n\n  var ecData = Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(dispatcher);\n\n  var _a = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api),\n      dispatchers = _a.dispatchers,\n      focusSelf = _a.focusSelf; // If `findHighDownDispatchers` is supported on the component,\n  // highlight/downplay elements with the same name.\n\n\n  if (dispatchers) {\n    if (focusSelf) {\n      blurComponent(ecData.componentMainType, ecData.componentIndex, api);\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(dispatchers, function (dispatcher) {\n      return enterEmphasisWhenMouseOver(dispatcher, e);\n    });\n  } else {\n    // Try blur all in the related series. Then emphasis the hoverred.\n    // TODO. progressive mode.\n    blurSeries(ecData.seriesIndex, ecData.focus, ecData.blurScope, api);\n\n    if (ecData.focus === 'self') {\n      blurComponent(ecData.componentMainType, ecData.componentIndex, api);\n    } // Other than series, component that not support `findHighDownDispatcher` will\n    // also use it. But in this case, highlight/downplay are only supported in\n    // mouse hover but not in dispatchAction.\n\n\n    enterEmphasisWhenMouseOver(dispatcher, e);\n  }\n}\nfunction handleGlobalMouseOutForHighDown(dispatcher, e, api) {\n  if ( true && !isHighDownDispatcher(dispatcher)) {\n    Object(_log_js__WEBPACK_IMPORTED_MODULE_6__[\"error\"])('param should be highDownDispatcher');\n  }\n\n  allLeaveBlur(api);\n  var ecData = Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(dispatcher);\n  var dispatchers = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api).dispatchers;\n\n  if (dispatchers) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(dispatchers, function (dispatcher) {\n      return leaveEmphasisWhenMouseOut(dispatcher, e);\n    });\n  } else {\n    leaveEmphasisWhenMouseOut(dispatcher, e);\n  }\n}\nfunction toggleSelectionFromPayload(seriesModel, payload, api) {\n  if (!isSelectChangePayload(payload)) {\n    return;\n  }\n\n  var dataType = payload.dataType;\n  var data = seriesModel.getData(dataType);\n  var dataIndex = Object(_model_js__WEBPACK_IMPORTED_MODULE_4__[\"queryDataIndex\"])(data, payload);\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isArray\"])(dataIndex)) {\n    dataIndex = [dataIndex];\n  }\n\n  seriesModel[payload.type === TOGGLE_SELECT_ACTION_TYPE ? 'toggleSelect' : payload.type === SELECT_ACTION_TYPE ? 'select' : 'unselect'](dataIndex, dataType);\n}\nfunction updateSeriesElementSelection(seriesModel) {\n  var allData = seriesModel.getAllData();\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(allData, function (_a) {\n    var data = _a.data,\n        type = _a.type;\n    data.eachItemGraphicEl(function (el, idx) {\n      seriesModel.isSelected(idx, type) ? enterSelect(el) : leaveSelect(el);\n    });\n  });\n}\nfunction getAllSelectedIndices(ecModel) {\n  var ret = [];\n  ecModel.eachSeries(function (seriesModel) {\n    var allData = seriesModel.getAllData();\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"])(allData, function (_a) {\n      var data = _a.data,\n          type = _a.type;\n      var dataIndices = seriesModel.getSelectedDataIndices();\n\n      if (dataIndices.length > 0) {\n        var item = {\n          dataIndex: dataIndices,\n          seriesIndex: seriesModel.seriesIndex\n        };\n\n        if (type != null) {\n          item.dataType = type;\n        }\n\n        ret.push(item);\n      }\n    });\n  });\n  return ret;\n}\n/**\n * Enable the function that mouseover will trigger the emphasis state.\n *\n * NOTE:\n * This function should be used on the element with dataIndex, seriesIndex.\n *\n */\n\nfunction enableHoverEmphasis(el, focus, blurScope) {\n  setAsHighDownDispatcher(el, true);\n  traverseUpdateState(el, setDefaultStateProxy);\n  enableHoverFocus(el, focus, blurScope);\n}\nfunction disableHoverEmphasis(el) {\n  setAsHighDownDispatcher(el, false);\n}\nfunction toggleHoverEmphasis(el, focus, blurScope, isDisabled) {\n  isDisabled ? disableHoverEmphasis(el) : enableHoverEmphasis(el, focus, blurScope);\n}\nfunction enableHoverFocus(el, focus, blurScope) {\n  var ecData = Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(el);\n\n  if (focus != null) {\n    // TODO dataIndex may be set after this function. This check is not useful.\n    // if (ecData.dataIndex == null) {\n    //     if (__DEV__) {\n    //         console.warn('focus can only been set on element with dataIndex');\n    //     }\n    // }\n    // else {\n    ecData.focus = focus;\n    ecData.blurScope = blurScope; // }\n  } else if (ecData.focus) {\n    ecData.focus = null;\n  }\n}\nvar OTHER_STATES = ['emphasis', 'blur', 'select'];\nvar defaultStyleGetterMap = {\n  itemStyle: 'getItemStyle',\n  lineStyle: 'getLineStyle',\n  areaStyle: 'getAreaStyle'\n};\n/**\n * Set emphasis/blur/selected states of element.\n */\n\nfunction setStatesStylesFromModel(el, itemModel, styleType, // default itemStyle\ngetter) {\n  styleType = styleType || 'itemStyle';\n\n  for (var i = 0; i < OTHER_STATES.length; i++) {\n    var stateName = OTHER_STATES[i];\n    var model = itemModel.getModel([stateName, styleType]);\n    var state = el.ensureState(stateName); // Let it throw error if getterType is not found.\n\n    state.style = getter ? getter(model) : model[defaultStyleGetterMap[styleType]]();\n  }\n}\n/**\n *\n * Set element as highlight / downplay dispatcher.\n * It will be checked when element recieved mouseover event or from highlight action.\n * It's in change of all highlight/downplay behavior of it's children.\n *\n * @param el\n * @param el.highDownSilentOnTouch\n *        In touch device, mouseover event will be trigger on touchstart event\n *        (see module:zrender/dom/HandlerProxy). By this mechanism, we can\n *        conveniently use hoverStyle when tap on touch screen without additional\n *        code for compatibility.\n *        But if the chart/component has select feature, which usually also use\n *        hoverStyle, there might be conflict between 'select-highlight' and\n *        'hover-highlight' especially when roam is enabled (see geo for example).\n *        In this case, `highDownSilentOnTouch` should be used to disable\n *        hover-highlight on touch device.\n * @param asDispatcher If `false`, do not set as \"highDownDispatcher\".\n */\n\nfunction setAsHighDownDispatcher(el, asDispatcher) {\n  var disable = asDispatcher === false;\n  var extendedEl = el; // Make `highDownSilentOnTouch` and `onStateChange` only work after\n  // `setAsHighDownDispatcher` called. Avoid it is modified by user unexpectedly.\n\n  if (el.highDownSilentOnTouch) {\n    extendedEl.__highDownSilentOnTouch = el.highDownSilentOnTouch;\n  } // Simple optimize, since this method might be\n  // called for each elements of a group in some cases.\n\n\n  if (!disable || extendedEl.__highDownDispatcher) {\n    // Emphasis, normal can be triggered manually by API or other components like hover link.\n    // el[method]('emphasis', onElementEmphasisEvent)[method]('normal', onElementNormalEvent);\n    // Also keep previous record.\n    extendedEl.__highByOuter = extendedEl.__highByOuter || 0;\n    extendedEl.__highDownDispatcher = !disable;\n  }\n}\nfunction isHighDownDispatcher(el) {\n  return !!(el && el.__highDownDispatcher);\n}\n/**\n * Enable component highlight/downplay features:\n * + hover link (within the same name)\n * + focus blur in component\n */\n\nfunction enableComponentHighDownFeatures(el, componentModel, componentHighDownName) {\n  var ecData = Object(_innerStore_js__WEBPACK_IMPORTED_MODULE_2__[\"getECData\"])(el);\n  ecData.componentMainType = componentModel.mainType;\n  ecData.componentIndex = componentModel.componentIndex;\n  ecData.componentHighDownName = componentHighDownName;\n}\n/**\n * Support hightlight/downplay record on each elements.\n * For the case: hover highlight/downplay (legend, visualMap, ...) and\n * user triggerred hightlight/downplay should not conflict.\n * Only all of the highlightDigit cleared, return to normal.\n * @param {string} highlightKey\n * @return {number} highlightDigit\n */\n\nfunction getHighlightDigit(highlightKey) {\n  var highlightDigit = _highlightKeyMap[highlightKey];\n\n  if (highlightDigit == null && _highlightNextDigit <= 32) {\n    highlightDigit = _highlightKeyMap[highlightKey] = _highlightNextDigit++;\n  }\n\n  return highlightDigit;\n}\nfunction isSelectChangePayload(payload) {\n  var payloadType = payload.type;\n  return payloadType === SELECT_ACTION_TYPE || payloadType === UNSELECT_ACTION_TYPE || payloadType === TOGGLE_SELECT_ACTION_TYPE;\n}\nfunction isHighDownPayload(payload) {\n  var payloadType = payload.type;\n  return payloadType === HIGHLIGHT_ACTION_TYPE || payloadType === DOWNPLAY_ACTION_TYPE;\n}\nfunction savePathStates(el) {\n  var store = getSavedStates(el);\n  store.normalFill = el.style.fill;\n  store.normalStroke = el.style.stroke;\n  var selectState = el.states.select || {};\n  store.selectFill = selectState.style && selectState.style.fill || null;\n  store.selectStroke = selectState.style && selectState.style.stroke || null;\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/states.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/styleCompat.js":
/*!******************************************************!*\
  !*** ./node_modules/echarts/lib/util/styleCompat.js ***!
  \******************************************************/
/*! exports provided: isEC4CompatibleStyle, convertFromEC4CompatibleStyle, convertToEC4StyleForCustomSerise, warnDeprecated */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEC4CompatibleStyle\", function() { return isEC4CompatibleStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertFromEC4CompatibleStyle\", function() { return convertFromEC4CompatibleStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertToEC4StyleForCustomSerise\", function() { return convertToEC4StyleForCustomSerise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"warnDeprecated\", function() { return warnDeprecated; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar deprecatedLogs = {};\n/**\n * Whether need to call `convertEC4CompatibleStyle`.\n */\n\nfunction isEC4CompatibleStyle(style, elType, hasOwnTextContentOption, hasOwnTextConfig) {\n  // Since echarts5, `RectText` is separated from its host element and style.text\n  // does not exist any more. The compat work brings some extra burden on performance.\n  // So we provide:\n  // `legacy: true` force make compat.\n  // `legacy: false`, force do not compat.\n  // `legacy` not set: auto detect wheter legacy.\n  //     But in this case we do not compat (difficult to detect and rare case):\n  //     Becuse custom series and graphic component support \"merge\", users may firstly\n  //     only set `textStrokeWidth` style or secondly only set `text`.\n  return style && (style.legacy || style.legacy !== false && !hasOwnTextContentOption && !hasOwnTextConfig && elType !== 'tspan' // Difficult to detect whether legacy for a \"text\" el.\n  && (elType === 'text' || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(style, 'text')));\n}\n/**\n * `EC4CompatibleStyle` is style that might be in echarts4 format or echarts5 format.\n * @param hostStyle The properties might be modified.\n * @return If be text el, `textContentStyle` and `textConfig` will not be retured.\n *         Otherwise a `textContentStyle` and `textConfig` will be created, whose props area\n *         retried from the `hostStyle`.\n */\n\nfunction convertFromEC4CompatibleStyle(hostStyle, elType, isNormal) {\n  var srcStyle = hostStyle;\n  var textConfig;\n  var textContent;\n  var textContentStyle;\n\n  if (elType === 'text') {\n    textContentStyle = srcStyle;\n  } else {\n    textContentStyle = {};\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'text') && (textContentStyle.text = srcStyle.text);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'rich') && (textContentStyle.rich = srcStyle.rich);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textFill') && (textContentStyle.fill = srcStyle.textFill);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textStroke') && (textContentStyle.stroke = srcStyle.textStroke);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'fontFamily') && (textContentStyle.fontFamily = srcStyle.fontFamily);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'fontSize') && (textContentStyle.fontSize = srcStyle.fontSize);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'fontStyle') && (textContentStyle.fontStyle = srcStyle.fontStyle);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'fontWeight') && (textContentStyle.fontWeight = srcStyle.fontWeight);\n    textContent = {\n      type: 'text',\n      style: textContentStyle,\n      // ec4 do not support rectText trigger.\n      // And when text postion is different in normal and emphasis\n      // => hover text trigger emphasis;\n      // => text position changed, leave mouse pointer immediately;\n      // That might cause state incorrect.\n      silent: true\n    };\n    textConfig = {};\n    var hasOwnPos = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textPosition');\n\n    if (isNormal) {\n      textConfig.position = hasOwnPos ? srcStyle.textPosition : 'inside';\n    } else {\n      hasOwnPos && (textConfig.position = srcStyle.textPosition);\n    }\n\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textPosition') && (textConfig.position = srcStyle.textPosition);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textOffset') && (textConfig.offset = srcStyle.textOffset);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textRotation') && (textConfig.rotation = srcStyle.textRotation);\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(srcStyle, 'textDistance') && (textConfig.distance = srcStyle.textDistance);\n  }\n\n  convertEC4CompatibleRichItem(textContentStyle, hostStyle);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(textContentStyle.rich, function (richItem) {\n    convertEC4CompatibleRichItem(richItem, richItem);\n  });\n  return {\n    textConfig: textConfig,\n    textContent: textContent\n  };\n}\n/**\n * The result will be set to `out`.\n */\n\nfunction convertEC4CompatibleRichItem(out, richItem) {\n  if (!richItem) {\n    return;\n  } // (1) For simplicity, make textXXX properties (deprecated since ec5) has\n  // higher priority. For example, consider in ec4 `borderColor: 5, textBorderColor: 10`\n  // on a rect means `borderColor: 4` on the rect and `borderColor: 10` on an attached\n  // richText in ec5.\n  // (2) `out === richItem` if and only if `out` is text el or rich item.\n  // So we can overwite existing props in `out` since textXXX has higher priority.\n\n\n  richItem.font = richItem.textFont || richItem.font;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textStrokeWidth') && (out.lineWidth = richItem.textStrokeWidth);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textAlign') && (out.align = richItem.textAlign);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textVerticalAlign') && (out.verticalAlign = richItem.textVerticalAlign);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textLineHeight') && (out.lineHeight = richItem.textLineHeight);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textWidth') && (out.width = richItem.textWidth);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textHeight') && (out.height = richItem.textHeight);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBackgroundColor') && (out.backgroundColor = richItem.textBackgroundColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textPadding') && (out.padding = richItem.textPadding);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBorderColor') && (out.borderColor = richItem.textBorderColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBorderWidth') && (out.borderWidth = richItem.textBorderWidth);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBorderRadius') && (out.borderRadius = richItem.textBorderRadius);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBoxShadowColor') && (out.shadowColor = richItem.textBoxShadowColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBoxShadowBlur') && (out.shadowBlur = richItem.textBoxShadowBlur);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBoxShadowOffsetX') && (out.shadowOffsetX = richItem.textBoxShadowOffsetX);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textBoxShadowOffsetY') && (out.shadowOffsetY = richItem.textBoxShadowOffsetY);\n}\n/**\n * Convert to pure echarts4 format style.\n * `itemStyle` will be modified, added with ec4 style properties from\n * `textStyle` and `textConfig`.\n *\n * [Caveat]: For simplicity, `insideRollback` in ec4 does not compat, where\n * `styleEmphasis: {textFill: 'red'}` will remove the normal auto added stroke.\n */\n\n\nfunction convertToEC4StyleForCustomSerise(itemStl, txStl, txCfg) {\n  var out = itemStl; // See `custom.ts`, a trick to set extra `textPosition` firstly.\n\n  out.textPosition = out.textPosition || txCfg.position || 'inside';\n  txCfg.offset != null && (out.textOffset = txCfg.offset);\n  txCfg.rotation != null && (out.textRotation = txCfg.rotation);\n  txCfg.distance != null && (out.textDistance = txCfg.distance);\n  var isInside = out.textPosition.indexOf('inside') >= 0;\n  var hostFill = itemStl.fill || '#000';\n  convertToEC4RichItem(out, txStl);\n  var textFillNotSet = out.textFill == null;\n\n  if (isInside) {\n    if (textFillNotSet) {\n      out.textFill = txCfg.insideFill || '#fff';\n      !out.textStroke && txCfg.insideStroke && (out.textStroke = txCfg.insideStroke);\n      !out.textStroke && (out.textStroke = hostFill);\n      out.textStrokeWidth == null && (out.textStrokeWidth = 2);\n    }\n  } else {\n    if (textFillNotSet) {\n      out.textFill = itemStl.fill || txCfg.outsideFill || '#000';\n    }\n\n    !out.textStroke && txCfg.outsideStroke && (out.textStroke = txCfg.outsideStroke);\n  }\n\n  out.text = txStl.text;\n  out.rich = txStl.rich;\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(txStl.rich, function (richItem) {\n    convertToEC4RichItem(richItem, richItem);\n  });\n  return out;\n}\n\nfunction convertToEC4RichItem(out, richItem) {\n  if (!richItem) {\n    return;\n  }\n\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'fill') && (out.textFill = richItem.fill);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'stroke') && (out.textStroke = richItem.fill);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'lineWidth') && (out.textStrokeWidth = richItem.lineWidth);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'font') && (out.font = richItem.font);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'fontStyle') && (out.fontStyle = richItem.fontStyle);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'fontWeight') && (out.fontWeight = richItem.fontWeight);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'fontSize') && (out.fontSize = richItem.fontSize);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'fontFamily') && (out.fontFamily = richItem.fontFamily);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'align') && (out.textAlign = richItem.align);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'verticalAlign') && (out.textVerticalAlign = richItem.verticalAlign);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'lineHeight') && (out.textLineHeight = richItem.lineHeight);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'width') && (out.textWidth = richItem.width);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'height') && (out.textHeight = richItem.height);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'backgroundColor') && (out.textBackgroundColor = richItem.backgroundColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'padding') && (out.textPadding = richItem.padding);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'borderColor') && (out.textBorderColor = richItem.borderColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'borderWidth') && (out.textBorderWidth = richItem.borderWidth);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'borderRadius') && (out.textBorderRadius = richItem.borderRadius);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'shadowColor') && (out.textBoxShadowColor = richItem.shadowColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'shadowBlur') && (out.textBoxShadowBlur = richItem.shadowBlur);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'shadowOffsetX') && (out.textBoxShadowOffsetX = richItem.shadowOffsetX);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'shadowOffsetY') && (out.textBoxShadowOffsetY = richItem.shadowOffsetY);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textShadowColor') && (out.textShadowColor = richItem.textShadowColor);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textShadowBlur') && (out.textShadowBlur = richItem.textShadowBlur);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textShadowOffsetX') && (out.textShadowOffsetX = richItem.textShadowOffsetX);\n  Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"hasOwn\"])(richItem, 'textShadowOffsetY') && (out.textShadowOffsetY = richItem.textShadowOffsetY);\n}\n\nfunction warnDeprecated(deprecated, insteadApproach) {\n  if (true) {\n    var key = deprecated + '^_^' + insteadApproach;\n\n    if (!deprecatedLogs[key]) {\n      console.warn(\"[ECharts] DEPRECATED: \\\"\" + deprecated + \"\\\" has been deprecated. \" + insteadApproach);\n      deprecatedLogs[key] = true;\n    }\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/styleCompat.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/symbol.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/util/symbol.js ***!
  \*************************************************/
/*! exports provided: symbolBuildProxies, createSymbol, normalizeSymbolSize, normalizeSymbolOffset */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"symbolBuildProxies\", function() { return symbolBuildProxies; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSymbol\", function() { return createSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeSymbolSize\", function() { return normalizeSymbolSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeSymbolOffset\", function() { return normalizeSymbolOffset; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _graphic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zrender/lib/core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zrender/lib/contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./number.js */ \"./node_modules/echarts/lib/util/number.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Symbol factory\n\n\n\n\n\n/**\n * Triangle shape\n * @inner\n */\n\nvar Triangle = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"].extend({\n  type: 'triangle',\n  shape: {\n    cx: 0,\n    cy: 0,\n    width: 0,\n    height: 0\n  },\n  buildPath: function (path, shape) {\n    var cx = shape.cx;\n    var cy = shape.cy;\n    var width = shape.width / 2;\n    var height = shape.height / 2;\n    path.moveTo(cx, cy - height);\n    path.lineTo(cx + width, cy + height);\n    path.lineTo(cx - width, cy + height);\n    path.closePath();\n  }\n});\n/**\n * Diamond shape\n * @inner\n */\n\nvar Diamond = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"].extend({\n  type: 'diamond',\n  shape: {\n    cx: 0,\n    cy: 0,\n    width: 0,\n    height: 0\n  },\n  buildPath: function (path, shape) {\n    var cx = shape.cx;\n    var cy = shape.cy;\n    var width = shape.width / 2;\n    var height = shape.height / 2;\n    path.moveTo(cx, cy - height);\n    path.lineTo(cx + width, cy);\n    path.lineTo(cx, cy + height);\n    path.lineTo(cx - width, cy);\n    path.closePath();\n  }\n});\n/**\n * Pin shape\n * @inner\n */\n\nvar Pin = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"].extend({\n  type: 'pin',\n  shape: {\n    // x, y on the cusp\n    x: 0,\n    y: 0,\n    width: 0,\n    height: 0\n  },\n  buildPath: function (path, shape) {\n    var x = shape.x;\n    var y = shape.y;\n    var w = shape.width / 5 * 3; // Height must be larger than width\n\n    var h = Math.max(w, shape.height);\n    var r = w / 2; // Dist on y with tangent point and circle center\n\n    var dy = r * r / (h - r);\n    var cy = y - h + r + dy;\n    var angle = Math.asin(dy / r); // Dist on x with tangent point and circle center\n\n    var dx = Math.cos(angle) * r;\n    var tanX = Math.sin(angle);\n    var tanY = Math.cos(angle);\n    var cpLen = r * 0.6;\n    var cpLen2 = r * 0.7;\n    path.moveTo(x - dx, cy + dy);\n    path.arc(x, cy, r, Math.PI - angle, Math.PI * 2 + angle);\n    path.bezierCurveTo(x + dx - tanX * cpLen, cy + dy + tanY * cpLen, x, y - cpLen2, x, y);\n    path.bezierCurveTo(x, y - cpLen2, x - dx + tanX * cpLen, cy + dy + tanY * cpLen, x - dx, cy + dy);\n    path.closePath();\n  }\n});\n/**\n * Arrow shape\n * @inner\n */\n\nvar Arrow = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"].extend({\n  type: 'arrow',\n  shape: {\n    x: 0,\n    y: 0,\n    width: 0,\n    height: 0\n  },\n  buildPath: function (ctx, shape) {\n    var height = shape.height;\n    var width = shape.width;\n    var x = shape.x;\n    var y = shape.y;\n    var dx = width / 3 * 2;\n    ctx.moveTo(x, y);\n    ctx.lineTo(x + dx, y + height);\n    ctx.lineTo(x, y + height / 4 * 3);\n    ctx.lineTo(x - dx, y + height);\n    ctx.lineTo(x, y);\n    ctx.closePath();\n  }\n});\n/**\n * Map of path contructors\n */\n// TODO Use function to build symbol path.\n\nvar symbolCtors = {\n  line: _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Line\"],\n  rect: _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"],\n  roundRect: _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"],\n  square: _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Rect\"],\n  circle: _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Circle\"],\n  diamond: Diamond,\n  pin: Pin,\n  arrow: Arrow,\n  triangle: Triangle\n};\nvar symbolShapeMakers = {\n  line: function (x, y, w, h, shape) {\n    shape.x1 = x;\n    shape.y1 = y + h / 2;\n    shape.x2 = x + w;\n    shape.y2 = y + h / 2;\n  },\n  rect: function (x, y, w, h, shape) {\n    shape.x = x;\n    shape.y = y;\n    shape.width = w;\n    shape.height = h;\n  },\n  roundRect: function (x, y, w, h, shape) {\n    shape.x = x;\n    shape.y = y;\n    shape.width = w;\n    shape.height = h;\n    shape.r = Math.min(w, h) / 4;\n  },\n  square: function (x, y, w, h, shape) {\n    var size = Math.min(w, h);\n    shape.x = x;\n    shape.y = y;\n    shape.width = size;\n    shape.height = size;\n  },\n  circle: function (x, y, w, h, shape) {\n    // Put circle in the center of square\n    shape.cx = x + w / 2;\n    shape.cy = y + h / 2;\n    shape.r = Math.min(w, h) / 2;\n  },\n  diamond: function (x, y, w, h, shape) {\n    shape.cx = x + w / 2;\n    shape.cy = y + h / 2;\n    shape.width = w;\n    shape.height = h;\n  },\n  pin: function (x, y, w, h, shape) {\n    shape.x = x + w / 2;\n    shape.y = y + h / 2;\n    shape.width = w;\n    shape.height = h;\n  },\n  arrow: function (x, y, w, h, shape) {\n    shape.x = x + w / 2;\n    shape.y = y + h / 2;\n    shape.width = w;\n    shape.height = h;\n  },\n  triangle: function (x, y, w, h, shape) {\n    shape.cx = x + w / 2;\n    shape.cy = y + h / 2;\n    shape.width = w;\n    shape.height = h;\n  }\n};\nvar symbolBuildProxies = {};\nObject(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(symbolCtors, function (Ctor, name) {\n  symbolBuildProxies[name] = new Ctor();\n});\nvar SymbolClz = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"].extend({\n  type: 'symbol',\n  shape: {\n    symbolType: '',\n    x: 0,\n    y: 0,\n    width: 0,\n    height: 0\n  },\n  calculateTextPosition: function (out, config, rect) {\n    var res = Object(zrender_lib_contain_text_js__WEBPACK_IMPORTED_MODULE_3__[\"calculateTextPosition\"])(out, config, rect);\n    var shape = this.shape;\n\n    if (shape && shape.symbolType === 'pin' && config.position === 'inside') {\n      res.y = rect.y + rect.height * 0.4;\n    }\n\n    return res;\n  },\n  buildPath: function (ctx, shape, inBundle) {\n    var symbolType = shape.symbolType;\n\n    if (symbolType !== 'none') {\n      var proxySymbol = symbolBuildProxies[symbolType];\n\n      if (!proxySymbol) {\n        // Default rect\n        symbolType = 'rect';\n        proxySymbol = symbolBuildProxies[symbolType];\n      }\n\n      symbolShapeMakers[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);\n      proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);\n    }\n  }\n}); // Provide setColor helper method to avoid determine if set the fill or stroke outside\n\nfunction symbolPathSetColor(color, innerColor) {\n  if (this.type !== 'image') {\n    var symbolStyle = this.style;\n\n    if (this.__isEmptyBrush) {\n      symbolStyle.stroke = color;\n      symbolStyle.fill = innerColor || '#fff'; // TODO Same width with lineStyle in LineView\n\n      symbolStyle.lineWidth = 2;\n    } else if (this.shape.symbolType === 'line') {\n      symbolStyle.stroke = color;\n    } else {\n      symbolStyle.fill = color;\n    }\n\n    this.markRedraw();\n  }\n}\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n */\n\n\nfunction createSymbol(symbolType, x, y, w, h, color, // whether to keep the ratio of w/h,\nkeepAspect) {\n  // TODO Support image object, DynamicImage.\n  var isEmpty = symbolType.indexOf('empty') === 0;\n\n  if (isEmpty) {\n    symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);\n  }\n\n  var symbolPath;\n\n  if (symbolType.indexOf('image://') === 0) {\n    symbolPath = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"makeImage\"](symbolType.slice(8), new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](x, y, w, h), keepAspect ? 'center' : 'cover');\n  } else if (symbolType.indexOf('path://') === 0) {\n    symbolPath = _graphic_js__WEBPACK_IMPORTED_MODULE_1__[\"makePath\"](symbolType.slice(7), {}, new zrender_lib_core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](x, y, w, h), keepAspect ? 'center' : 'cover');\n  } else {\n    symbolPath = new SymbolClz({\n      shape: {\n        symbolType: symbolType,\n        x: x,\n        y: y,\n        width: w,\n        height: h\n      }\n    });\n  }\n\n  symbolPath.__isEmptyBrush = isEmpty; // TODO Should deprecate setColor\n\n  symbolPath.setColor = symbolPathSetColor;\n\n  if (color) {\n    symbolPath.setColor(color);\n  }\n\n  return symbolPath;\n}\nfunction normalizeSymbolSize(symbolSize) {\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(symbolSize)) {\n    symbolSize = [+symbolSize, +symbolSize];\n  }\n\n  return [symbolSize[0] || 0, symbolSize[1] || 0];\n}\nfunction normalizeSymbolOffset(symbolOffset, symbolSize) {\n  if (symbolOffset == null) {\n    return;\n  }\n\n  if (!Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(symbolOffset)) {\n    symbolOffset = [symbolOffset, symbolOffset];\n  }\n\n  return [Object(_number_js__WEBPACK_IMPORTED_MODULE_4__[\"parsePercent\"])(symbolOffset[0], symbolSize[0]) || 0, Object(_number_js__WEBPACK_IMPORTED_MODULE_4__[\"parsePercent\"])(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(symbolOffset[1], symbolOffset[0]), symbolSize[1]) || 0];\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/symbol.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/throttle.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/util/throttle.js ***!
  \***************************************************/
/*! exports provided: throttle, createOrUpdate, clear */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return throttle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createOrUpdate\", function() { return createOrUpdate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clear\", function() { return clear; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ORIGIN_METHOD = '\\0__throttleOriginMethod';\nvar RATE = '\\0__throttleRate';\nvar THROTTLE_TYPE = '\\0__throttleType';\n;\n/**\n * @public\n * @param {(Function)} fn\n * @param {number} [delay=0] Unit: ms.\n * @param {boolean} [debounce=false]\n *        true: If call interval less than `delay`, only the last call works.\n *        false: If call interval less than `delay, call works on fixed rate.\n * @return {(Function)} throttled fn.\n */\n\nfunction throttle(fn, delay, debounce) {\n  var currCall;\n  var lastCall = 0;\n  var lastExec = 0;\n  var timer = null;\n  var diff;\n  var scope;\n  var args;\n  var debounceNextCall;\n  delay = delay || 0;\n\n  function exec() {\n    lastExec = new Date().getTime();\n    timer = null;\n    fn.apply(scope, args || []);\n  }\n\n  var cb = function () {\n    var cbArgs = [];\n\n    for (var _i = 0; _i < arguments.length; _i++) {\n      cbArgs[_i] = arguments[_i];\n    }\n\n    currCall = new Date().getTime();\n    scope = this;\n    args = cbArgs;\n    var thisDelay = debounceNextCall || delay;\n    var thisDebounce = debounceNextCall || debounce;\n    debounceNextCall = null;\n    diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;\n    clearTimeout(timer); // Here we should make sure that: the `exec` SHOULD NOT be called later\n    // than a new call of `cb`, that is, preserving the command order. Consider\n    // calculating \"scale rate\" when roaming as an example. When a call of `cb`\n    // happens, either the `exec` is called dierectly, or the call is delayed.\n    // But the delayed call should never be later than next call of `cb`. Under\n    // this assurance, we can simply update view state each time `dispatchAction`\n    // triggered by user roaming, but not need to add extra code to avoid the\n    // state being \"rolled-back\".\n\n    if (thisDebounce) {\n      timer = setTimeout(exec, thisDelay);\n    } else {\n      if (diff >= 0) {\n        exec();\n      } else {\n        timer = setTimeout(exec, -diff);\n      }\n    }\n\n    lastCall = currCall;\n  };\n  /**\n   * Clear throttle.\n   * @public\n   */\n\n\n  cb.clear = function () {\n    if (timer) {\n      clearTimeout(timer);\n      timer = null;\n    }\n  };\n  /**\n   * Enable debounce once.\n   */\n\n\n  cb.debounceNextCall = function (debounceDelay) {\n    debounceNextCall = debounceDelay;\n  };\n\n  return cb;\n}\n/**\n * Create throttle method or update throttle rate.\n *\n * @example\n * ComponentView.prototype.render = function () {\n *     ...\n *     throttle.createOrUpdate(\n *         this,\n *         '_dispatchAction',\n *         this.model.get('throttle'),\n *         'fixRate'\n *     );\n * };\n * ComponentView.prototype.remove = function () {\n *     throttle.clear(this, '_dispatchAction');\n * };\n * ComponentView.prototype.dispose = function () {\n *     throttle.clear(this, '_dispatchAction');\n * };\n *\n */\n\nfunction createOrUpdate(obj, fnAttr, rate, throttleType) {\n  var fn = obj[fnAttr];\n\n  if (!fn) {\n    return;\n  }\n\n  var originFn = fn[ORIGIN_METHOD] || fn;\n  var lastThrottleType = fn[THROTTLE_TYPE];\n  var lastRate = fn[RATE];\n\n  if (lastRate !== rate || lastThrottleType !== throttleType) {\n    if (rate == null || !throttleType) {\n      return obj[fnAttr] = originFn;\n    }\n\n    fn = obj[fnAttr] = throttle(originFn, rate, throttleType === 'debounce');\n    fn[ORIGIN_METHOD] = originFn;\n    fn[THROTTLE_TYPE] = throttleType;\n    fn[RATE] = rate;\n  }\n\n  return fn;\n}\n/**\n * Clear throttle. Example see throttle.createOrUpdate.\n */\n\nfunction clear(obj, fnAttr) {\n  var fn = obj[fnAttr];\n\n  if (fn && fn[ORIGIN_METHOD]) {\n    // Clear throttle\n    fn.clear && fn.clear();\n    obj[fnAttr] = fn[ORIGIN_METHOD];\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/throttle.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/time.js":
/*!***********************************************!*\
  !*** ./node_modules/echarts/lib/util/time.js ***!
  \***********************************************/
/*! exports provided: ONE_SECOND, ONE_MINUTE, ONE_HOUR, ONE_DAY, ONE_YEAR, defaultLeveledFormatter, fullLeveledFormatter, primaryTimeUnits, timeUnits, pad, getPrimaryTimeUnit, isPrimaryTimeUnit, getDefaultFormatPrecisionOfInterval, format, leveledFormat, getUnitFromValue, getUnitValue, fullYearGetterName, monthGetterName, dateGetterName, hoursGetterName, minutesGetterName, secondsGetterName, millisecondsGetterName, fullYearSetterName, monthSetterName, dateSetterName, hoursSetterName, minutesSetterName, secondsSetterName, millisecondsSetterName */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ONE_SECOND\", function() { return ONE_SECOND; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ONE_MINUTE\", function() { return ONE_MINUTE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ONE_HOUR\", function() { return ONE_HOUR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ONE_DAY\", function() { return ONE_DAY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ONE_YEAR\", function() { return ONE_YEAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLeveledFormatter\", function() { return defaultLeveledFormatter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullLeveledFormatter\", function() { return fullLeveledFormatter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"primaryTimeUnits\", function() { return primaryTimeUnits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"timeUnits\", function() { return timeUnits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pad\", function() { return pad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrimaryTimeUnit\", function() { return getPrimaryTimeUnit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPrimaryTimeUnit\", function() { return isPrimaryTimeUnit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultFormatPrecisionOfInterval\", function() { return getDefaultFormatPrecisionOfInterval; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return format; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"leveledFormat\", function() { return leveledFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUnitFromValue\", function() { return getUnitFromValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUnitValue\", function() { return getUnitValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullYearGetterName\", function() { return fullYearGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monthGetterName\", function() { return monthGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dateGetterName\", function() { return dateGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hoursGetterName\", function() { return hoursGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minutesGetterName\", function() { return minutesGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"secondsGetterName\", function() { return secondsGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"millisecondsGetterName\", function() { return millisecondsGetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullYearSetterName\", function() { return fullYearSetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monthSetterName\", function() { return monthSetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dateSetterName\", function() { return dateSetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hoursSetterName\", function() { return hoursSetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minutesSetterName\", function() { return minutesSetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"secondsSetterName\", function() { return secondsSetterName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"millisecondsSetterName\", function() { return millisecondsSetterName; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _core_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/locale.js */ \"./node_modules/echarts/lib/core/locale.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar ONE_SECOND = 1000;\nvar ONE_MINUTE = ONE_SECOND * 60;\nvar ONE_HOUR = ONE_MINUTE * 60;\nvar ONE_DAY = ONE_HOUR * 24;\nvar ONE_YEAR = ONE_DAY * 365;\nvar defaultLeveledFormatter = {\n  year: '{yyyy}',\n  month: '{MMM}',\n  day: '{d}',\n  hour: '{HH}:{mm}',\n  minute: '{HH}:{mm}',\n  second: '{HH}:{mm}:{ss}',\n  millisecond: '{HH}:{mm}:{ss} {SSS}',\n  none: '{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}'\n};\nvar fullDayFormatter = '{yyyy}-{MM}-{dd}';\nvar fullLeveledFormatter = {\n  year: '{yyyy}',\n  month: '{yyyy}-{MM}',\n  day: fullDayFormatter,\n  hour: fullDayFormatter + ' ' + defaultLeveledFormatter.hour,\n  minute: fullDayFormatter + ' ' + defaultLeveledFormatter.minute,\n  second: fullDayFormatter + ' ' + defaultLeveledFormatter.second,\n  millisecond: defaultLeveledFormatter.none\n};\nvar primaryTimeUnits = ['year', 'month', 'day', 'hour', 'minute', 'second', 'millisecond'];\nvar timeUnits = ['year', 'half-year', 'quarter', 'month', 'week', 'half-week', 'day', 'half-day', 'quarter-day', 'hour', 'minute', 'second', 'millisecond'];\nfunction pad(str, len) {\n  str += '';\n  return '0000'.substr(0, len - str.length) + str;\n}\nfunction getPrimaryTimeUnit(timeUnit) {\n  switch (timeUnit) {\n    case 'half-year':\n    case 'quarter':\n      return 'month';\n\n    case 'week':\n    case 'half-week':\n      return 'day';\n\n    case 'half-day':\n    case 'quarter-day':\n      return 'hour';\n\n    default:\n      // year, minutes, second, milliseconds\n      return timeUnit;\n  }\n}\nfunction isPrimaryTimeUnit(timeUnit) {\n  return timeUnit === getPrimaryTimeUnit(timeUnit);\n}\nfunction getDefaultFormatPrecisionOfInterval(timeUnit) {\n  switch (timeUnit) {\n    case 'year':\n    case 'month':\n      return 'day';\n\n    case 'millisecond':\n      return 'millisecond';\n\n    default:\n      // Also for day, hour, minute, second\n      return 'second';\n  }\n}\nfunction format( // Note: The result based on `isUTC` are totally different, which can not be just simply\n// substituted by the result without `isUTC`. So we make the param `isUTC` mandatory.\ntime, template, isUTC, lang) {\n  var date = _number_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDate\"](time);\n  var y = date[fullYearGetterName(isUTC)]();\n  var M = date[monthGetterName(isUTC)]() + 1;\n  var q = Math.floor((M - 1) / 3) + 1;\n  var d = date[dateGetterName(isUTC)]();\n  var e = date['get' + (isUTC ? 'UTC' : '') + 'Day']();\n  var H = date[hoursGetterName(isUTC)]();\n  var h = (H - 1) % 12 + 1;\n  var m = date[minutesGetterName(isUTC)]();\n  var s = date[secondsGetterName(isUTC)]();\n  var S = date[millisecondsGetterName(isUTC)]();\n  var localeModel = lang instanceof _model_Model_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] ? lang : Object(_core_locale_js__WEBPACK_IMPORTED_MODULE_2__[\"getLocaleModel\"])(lang || _core_locale_js__WEBPACK_IMPORTED_MODULE_2__[\"SYSTEM_LANG\"]) || Object(_core_locale_js__WEBPACK_IMPORTED_MODULE_2__[\"getDefaultLocaleModel\"])();\n  var timeModel = localeModel.getModel('time');\n  var month = timeModel.get('month');\n  var monthAbbr = timeModel.get('monthAbbr');\n  var dayOfWeek = timeModel.get('dayOfWeek');\n  var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr');\n  return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, y % 100 + '').replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '').replace(/{mm}/g, pad(m, 2)).replace(/{m}/g, m + '').replace(/{ss}/g, pad(s, 2)).replace(/{s}/g, s + '').replace(/{SSS}/g, pad(S, 3)).replace(/{S}/g, S + '');\n}\nfunction leveledFormat(tick, idx, formatter, lang, isUTC) {\n  var template = null;\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](formatter)) {\n    // Single formatter for all units at all levels\n    template = formatter;\n  } else if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](formatter)) {\n    // Callback formatter\n    template = formatter(tick.value, idx, {\n      level: tick.level\n    });\n  } else {\n    var defaults = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({}, defaultLeveledFormatter);\n\n    if (tick.level > 0) {\n      for (var i = 0; i < primaryTimeUnits.length; ++i) {\n        defaults[primaryTimeUnits[i]] = \"{primary|\" + defaults[primaryTimeUnits[i]] + \"}\";\n      }\n    }\n\n    var mergedFormatter = formatter ? formatter.inherit === false ? formatter // Use formatter with bigger units\n    : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"](formatter, defaults) : defaults;\n    var unit = getUnitFromValue(tick.value, isUTC);\n\n    if (mergedFormatter[unit]) {\n      template = mergedFormatter[unit];\n    } else if (mergedFormatter.inherit) {\n      // Unit formatter is not defined and should inherit from bigger units\n      var targetId = timeUnits.indexOf(unit);\n\n      for (var i = targetId - 1; i >= 0; --i) {\n        if (mergedFormatter[unit]) {\n          template = mergedFormatter[unit];\n          break;\n        }\n      }\n\n      template = template || defaults.none;\n    }\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](template)) {\n      var levelId = tick.level == null ? 0 : tick.level >= 0 ? tick.level : template.length + tick.level;\n      levelId = Math.min(levelId, template.length - 1);\n      template = template[levelId];\n    }\n  }\n\n  return format(new Date(tick.value), template, isUTC, lang);\n}\nfunction getUnitFromValue(value, isUTC) {\n  var date = _number_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDate\"](value);\n  var M = date[monthGetterName(isUTC)]() + 1;\n  var d = date[dateGetterName(isUTC)]();\n  var h = date[hoursGetterName(isUTC)]();\n  var m = date[minutesGetterName(isUTC)]();\n  var s = date[secondsGetterName(isUTC)]();\n  var S = date[millisecondsGetterName(isUTC)]();\n  var isSecond = S === 0;\n  var isMinute = isSecond && s === 0;\n  var isHour = isMinute && m === 0;\n  var isDay = isHour && h === 0;\n  var isMonth = isDay && d === 1;\n  var isYear = isMonth && M === 1;\n\n  if (isYear) {\n    return 'year';\n  } else if (isMonth) {\n    return 'month';\n  } else if (isDay) {\n    return 'day';\n  } else if (isHour) {\n    return 'hour';\n  } else if (isMinute) {\n    return 'minute';\n  } else if (isSecond) {\n    return 'second';\n  } else {\n    return 'millisecond';\n  }\n}\nfunction getUnitValue(value, unit, isUTC) {\n  var date = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](value) ? _number_js__WEBPACK_IMPORTED_MODULE_1__[\"parseDate\"](value) : value;\n  unit = unit || getUnitFromValue(value, isUTC);\n\n  switch (unit) {\n    case 'year':\n      return date[fullYearGetterName(isUTC)]();\n\n    case 'half-year':\n      return date[monthGetterName(isUTC)]() >= 6 ? 1 : 0;\n\n    case 'quarter':\n      return Math.floor((date[monthGetterName(isUTC)]() + 1) / 4);\n\n    case 'month':\n      return date[monthGetterName(isUTC)]();\n\n    case 'day':\n      return date[dateGetterName(isUTC)]();\n\n    case 'half-day':\n      return date[hoursGetterName(isUTC)]() / 24;\n\n    case 'hour':\n      return date[hoursGetterName(isUTC)]();\n\n    case 'minute':\n      return date[minutesGetterName(isUTC)]();\n\n    case 'second':\n      return date[secondsGetterName(isUTC)]();\n\n    case 'millisecond':\n      return date[millisecondsGetterName(isUTC)]();\n  }\n}\nfunction fullYearGetterName(isUTC) {\n  return isUTC ? 'getUTCFullYear' : 'getFullYear';\n}\nfunction monthGetterName(isUTC) {\n  return isUTC ? 'getUTCMonth' : 'getMonth';\n}\nfunction dateGetterName(isUTC) {\n  return isUTC ? 'getUTCDate' : 'getDate';\n}\nfunction hoursGetterName(isUTC) {\n  return isUTC ? 'getUTCHours' : 'getHours';\n}\nfunction minutesGetterName(isUTC) {\n  return isUTC ? 'getUTCMinutes' : 'getMinutes';\n}\nfunction secondsGetterName(isUTC) {\n  return isUTC ? 'getUTCSeconds' : 'getSeconds';\n}\nfunction millisecondsGetterName(isUTC) {\n  return isUTC ? 'getUTCMilliseconds' : 'getMilliseconds';\n}\nfunction fullYearSetterName(isUTC) {\n  return isUTC ? 'setUTCFullYear' : 'setFullYear';\n}\nfunction monthSetterName(isUTC) {\n  return isUTC ? 'setUTCMonth' : 'setMonth';\n}\nfunction dateSetterName(isUTC) {\n  return isUTC ? 'setUTCDate' : 'setDate';\n}\nfunction hoursSetterName(isUTC) {\n  return isUTC ? 'setUTCHours' : 'setHours';\n}\nfunction minutesSetterName(isUTC) {\n  return isUTC ? 'setUTCMinutes' : 'setMinutes';\n}\nfunction secondsSetterName(isUTC) {\n  return isUTC ? 'setUTCSeconds' : 'setSeconds';\n}\nfunction millisecondsSetterName(isUTC) {\n  return isUTC ? 'setUTCMilliseconds' : 'setMilliseconds';\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/time.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/types.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/util/types.js ***!
  \************************************************/
/*! exports provided: VISUAL_DIMENSIONS, SOURCE_FORMAT_ORIGINAL, SOURCE_FORMAT_ARRAY_ROWS, SOURCE_FORMAT_OBJECT_ROWS, SOURCE_FORMAT_KEYED_COLUMNS, SOURCE_FORMAT_TYPED_ARRAY, SOURCE_FORMAT_UNKNOWN, SERIES_LAYOUT_BY_COLUMN, SERIES_LAYOUT_BY_ROW */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VISUAL_DIMENSIONS\", function() { return VISUAL_DIMENSIONS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SOURCE_FORMAT_ORIGINAL\", function() { return SOURCE_FORMAT_ORIGINAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SOURCE_FORMAT_ARRAY_ROWS\", function() { return SOURCE_FORMAT_ARRAY_ROWS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SOURCE_FORMAT_OBJECT_ROWS\", function() { return SOURCE_FORMAT_OBJECT_ROWS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SOURCE_FORMAT_KEYED_COLUMNS\", function() { return SOURCE_FORMAT_KEYED_COLUMNS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SOURCE_FORMAT_TYPED_ARRAY\", function() { return SOURCE_FORMAT_TYPED_ARRAY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SOURCE_FORMAT_UNKNOWN\", function() { return SOURCE_FORMAT_UNKNOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SERIES_LAYOUT_BY_COLUMN\", function() { return SERIES_LAYOUT_BY_COLUMN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SERIES_LAYOUT_BY_ROW\", function() { return SERIES_LAYOUT_BY_ROW; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n;\n;\n;\nvar VISUAL_DIMENSIONS = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])(['tooltip', 'label', 'itemName', 'itemId', 'itemGroupId', 'seriesName']);\nvar SOURCE_FORMAT_ORIGINAL = 'original';\nvar SOURCE_FORMAT_ARRAY_ROWS = 'arrayRows';\nvar SOURCE_FORMAT_OBJECT_ROWS = 'objectRows';\nvar SOURCE_FORMAT_KEYED_COLUMNS = 'keyedColumns';\nvar SOURCE_FORMAT_TYPED_ARRAY = 'typedArray';\nvar SOURCE_FORMAT_UNKNOWN = 'unknown';\nvar SERIES_LAYOUT_BY_COLUMN = 'column';\nvar SERIES_LAYOUT_BY_ROW = 'row';\n;\n;\n;\n;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/types.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/util/vendor.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/util/vendor.js ***!
  \*************************************************/
/*! exports provided: createFloat32Array */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFloat32Array\", function() { return createFloat32Array; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\n\nvar supportFloat32Array = typeof Float32Array !== 'undefined';\nvar Float32ArrayCtor = !supportFloat32Array ? Array : Float32Array;\nfunction createFloat32Array(arg) {\n  if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(arg)) {\n    // Return self directly if don't support TypedArray.\n    return supportFloat32Array ? new Float32Array(arg) : arg;\n  } // Else is number\n\n\n  return new Float32ArrayCtor(arg);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/vendor.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/view/Chart.js":
/*!************************************************!*\
  !*** ./node_modules/echarts/lib/view/Chart.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _util_states_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/states.js */ \"./node_modules/echarts/lib/util/states.js\");\n/* harmony import */ var _core_task_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/task.js */ \"./node_modules/echarts/lib/core/task.js\");\n/* harmony import */ var _chart_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../chart/helper/createRenderPlanner.js */ \"./node_modules/echarts/lib/chart/helper/createRenderPlanner.js\");\n/* harmony import */ var _util_graphic_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../util/graphic.js */ \"./node_modules/echarts/lib/util/graphic.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\n\n\n\n\nvar inner = _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"makeInner\"]();\nvar renderPlanner = Object(_chart_helper_createRenderPlanner_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])();\n\nvar ChartView =\n/** @class */\nfunction () {\n  function ChartView() {\n    this.group = new zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    this.uid = _util_component_js__WEBPACK_IMPORTED_MODULE_2__[\"getUID\"]('viewChart');\n    this.renderTask = Object(_core_task_js__WEBPACK_IMPORTED_MODULE_6__[\"createTask\"])({\n      plan: renderTaskPlan,\n      reset: renderTaskReset\n    });\n    this.renderTask.context = {\n      view: this\n    };\n  }\n\n  ChartView.prototype.init = function (ecModel, api) {};\n\n  ChartView.prototype.render = function (seriesModel, ecModel, api, payload) {\n    if (true) {\n      throw new Error('render method must been implemented');\n    }\n  };\n  /**\n   * Highlight series or specified data item.\n   */\n\n\n  ChartView.prototype.highlight = function (seriesModel, ecModel, api, payload) {\n    var data = seriesModel.getData(payload && payload.dataType);\n\n    if (!data) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_9__[\"error\"])(\"Unknown dataType \" + payload.dataType);\n      }\n\n      return;\n    }\n\n    toggleHighlight(data, payload, 'emphasis');\n  };\n  /**\n   * Downplay series or specified data item.\n   */\n\n\n  ChartView.prototype.downplay = function (seriesModel, ecModel, api, payload) {\n    var data = seriesModel.getData(payload && payload.dataType);\n\n    if (!data) {\n      if (true) {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_9__[\"error\"])(\"Unknown dataType \" + payload.dataType);\n      }\n\n      return;\n    }\n\n    toggleHighlight(data, payload, 'normal');\n  };\n  /**\n   * Remove self.\n   */\n\n\n  ChartView.prototype.remove = function (ecModel, api) {\n    this.group.removeAll();\n  };\n  /**\n   * Dispose self.\n   */\n\n\n  ChartView.prototype.dispose = function (ecModel, api) {};\n\n  ChartView.prototype.updateView = function (seriesModel, ecModel, api, payload) {\n    this.render(seriesModel, ecModel, api, payload);\n  }; // FIXME never used?\n\n\n  ChartView.prototype.updateLayout = function (seriesModel, ecModel, api, payload) {\n    this.render(seriesModel, ecModel, api, payload);\n  }; // FIXME never used?\n\n\n  ChartView.prototype.updateVisual = function (seriesModel, ecModel, api, payload) {\n    this.render(seriesModel, ecModel, api, payload);\n  };\n  /**\n   * Traverse the new rendered elements.\n   *\n   * It will traverse the new added element in progressive rendering.\n   * And traverse all in normal rendering.\n   */\n\n\n  ChartView.prototype.eachRendered = function (cb) {\n    Object(_util_graphic_js__WEBPACK_IMPORTED_MODULE_8__[\"traverseElements\"])(this.group, cb);\n  };\n\n  ChartView.markUpdateMethod = function (payload, methodName) {\n    inner(payload).updateMethod = methodName;\n  };\n\n  ChartView.protoInitialize = function () {\n    var proto = ChartView.prototype;\n    proto.type = 'chart';\n  }();\n\n  return ChartView;\n}();\n\n;\n/**\n * Set state of single element\n */\n\nfunction elSetState(el, state, highlightDigit) {\n  if (el && Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"isHighDownDispatcher\"])(el)) {\n    (state === 'emphasis' ? _util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"enterEmphasis\"] : _util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"leaveEmphasis\"])(el, highlightDigit);\n  }\n}\n\nfunction toggleHighlight(data, payload, state) {\n  var dataIndex = _util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"queryDataIndex\"](data, payload);\n  var highlightDigit = payload && payload.highlightKey != null ? Object(_util_states_js__WEBPACK_IMPORTED_MODULE_5__[\"getHighlightDigit\"])(payload.highlightKey) : null;\n\n  if (dataIndex != null) {\n    Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"])(_util_model_js__WEBPACK_IMPORTED_MODULE_4__[\"normalizeToArray\"](dataIndex), function (dataIdx) {\n      elSetState(data.getItemGraphicEl(dataIdx), state, highlightDigit);\n    });\n  } else {\n    data.eachItemGraphicEl(function (el) {\n      elSetState(el, state, highlightDigit);\n    });\n  }\n}\n\n_util_clazz_js__WEBPACK_IMPORTED_MODULE_3__[\"enableClassExtend\"](ChartView, ['dispose']);\n_util_clazz_js__WEBPACK_IMPORTED_MODULE_3__[\"enableClassManagement\"](ChartView);\n\nfunction renderTaskPlan(context) {\n  return renderPlanner(context.model);\n}\n\nfunction renderTaskReset(context) {\n  var seriesModel = context.model;\n  var ecModel = context.ecModel;\n  var api = context.api;\n  var payload = context.payload; // FIXME: remove updateView updateVisual\n\n  var progressiveRender = seriesModel.pipelineContext.progressiveRender;\n  var view = context.view;\n  var updateMethod = payload && inner(payload).updateMethod;\n  var methodName = progressiveRender ? 'incrementalPrepareRender' : updateMethod && view[updateMethod] ? updateMethod // `appendData` is also supported when data amount\n  // is less than progressive threshold.\n  : 'render';\n\n  if (methodName !== 'render') {\n    view[methodName](seriesModel, ecModel, api, payload);\n  }\n\n  return progressMethodMap[methodName];\n}\n\nvar progressMethodMap = {\n  incrementalPrepareRender: {\n    progress: function (params, context) {\n      context.view.incrementalRender(params, context.model, context.ecModel, context.api, context.payload);\n    }\n  },\n  render: {\n    // Put view.render in `progress` to support appendData. But in this case\n    // view.render should not be called in reset, otherwise it will be called\n    // twise. Use `forceFirstProgress` to make sure that view.render is called\n    // in any cases.\n    forceFirstProgress: true,\n    progress: function (params, context) {\n      context.view.render(context.model, context.ecModel, context.api, context.payload);\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ChartView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/view/Chart.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/view/Component.js":
/*!****************************************************!*\
  !*** ./node_modules/echarts/lib/view/Component.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/* harmony import */ var _util_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/component.js */ \"./node_modules/echarts/lib/util/component.js\");\n/* harmony import */ var _util_clazz_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/clazz.js */ \"./node_modules/echarts/lib/util/clazz.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar ComponentView =\n/** @class */\nfunction () {\n  function ComponentView() {\n    this.group = new zrender_lib_graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n    this.uid = _util_component_js__WEBPACK_IMPORTED_MODULE_1__[\"getUID\"]('viewComponent');\n  }\n\n  ComponentView.prototype.init = function (ecModel, api) {};\n\n  ComponentView.prototype.render = function (model, ecModel, api, payload) {};\n\n  ComponentView.prototype.dispose = function (ecModel, api) {};\n\n  ComponentView.prototype.updateView = function (model, ecModel, api, payload) {// Do nothing;\n  };\n\n  ComponentView.prototype.updateLayout = function (model, ecModel, api, payload) {// Do nothing;\n  };\n\n  ComponentView.prototype.updateVisual = function (model, ecModel, api, payload) {// Do nothing;\n  };\n  /**\n   * Hook for toggle blur target series.\n   * Can be used in marker for blur or leave blur the markers\n   */\n\n\n  ComponentView.prototype.toggleBlurSeries = function (seriesModels, isBlur, ecModel) {// Do nothing;\n  };\n  /**\n   * Traverse the new rendered elements.\n   *\n   * It will traverse the new added element in progressive rendering.\n   * And traverse all in normal rendering.\n   */\n\n\n  ComponentView.prototype.eachRendered = function (cb) {\n    var group = this.group;\n\n    if (group) {\n      group.traverse(cb);\n    }\n  };\n\n  return ComponentView;\n}();\n\n;\n_util_clazz_js__WEBPACK_IMPORTED_MODULE_2__[\"enableClassExtend\"](ComponentView);\n_util_clazz_js__WEBPACK_IMPORTED_MODULE_2__[\"enableClassManagement\"](ComponentView);\n/* harmony default export */ __webpack_exports__[\"default\"] = (ComponentView);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/view/Component.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/LegendVisualProvider.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/lib/visual/LegendVisualProvider.js ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * LegendVisualProvider is an bridge that pick encoded color from data and\n * provide to the legend component.\n */\nvar LegendVisualProvider =\n/** @class */\nfunction () {\n  function LegendVisualProvider( // Function to get data after filtered. It stores all the encoding info\n  getDataWithEncodedVisual, // Function to get raw data before filtered.\n  getRawData) {\n    this._getDataWithEncodedVisual = getDataWithEncodedVisual;\n    this._getRawData = getRawData;\n  }\n\n  LegendVisualProvider.prototype.getAllNames = function () {\n    var rawData = this._getRawData(); // We find the name from the raw data. In case it's filtered by the legend component.\n    // Normally, the name can be found in rawData, but can't be found in filtered data will display as gray.\n\n\n    return rawData.mapArray(rawData.getName);\n  };\n\n  LegendVisualProvider.prototype.containName = function (name) {\n    var rawData = this._getRawData();\n\n    return rawData.indexOfName(name) >= 0;\n  };\n\n  LegendVisualProvider.prototype.indexOfName = function (name) {\n    // Only get data when necessary.\n    // Because LegendVisualProvider constructor may be new in the stage that data is not prepared yet.\n    // Invoking Series#getData immediately will throw an error.\n    var dataWithEncodedVisual = this._getDataWithEncodedVisual();\n\n    return dataWithEncodedVisual.indexOfName(name);\n  };\n\n  LegendVisualProvider.prototype.getItemVisual = function (dataIndex, key) {\n    // Get encoded visual properties from final filtered data.\n    var dataWithEncodedVisual = this._getDataWithEncodedVisual();\n\n    return dataWithEncodedVisual.getItemVisual(dataIndex, key);\n  };\n\n  return LegendVisualProvider;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LegendVisualProvider);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/LegendVisualProvider.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/VisualMapping.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/visual/VisualMapping.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zrender/lib/tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _util_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/number.js */ \"./node_modules/echarts/lib/util/number.js\");\n/* harmony import */ var _util_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/log.js */ \"./node_modules/echarts/lib/util/log.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\nvar isObject = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"];\nvar CATEGORY_DEFAULT_VISUAL_INDEX = -1;\n\nvar VisualMapping =\n/** @class */\nfunction () {\n  function VisualMapping(option) {\n    var mappingMethod = option.mappingMethod;\n    var visualType = option.type;\n    var thisOption = this.option = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](option);\n    this.type = visualType;\n    this.mappingMethod = mappingMethod;\n    this._normalizeData = normalizers[mappingMethod];\n    var visualHandler = VisualMapping.visualHandlers[visualType];\n    this.applyVisual = visualHandler.applyVisual;\n    this.getColorMapper = visualHandler.getColorMapper;\n    this._normalizedToVisual = visualHandler._normalizedToVisual[mappingMethod];\n\n    if (mappingMethod === 'piecewise') {\n      normalizeVisualRange(thisOption);\n      preprocessForPiecewise(thisOption);\n    } else if (mappingMethod === 'category') {\n      thisOption.categories ? preprocessForSpecifiedCategory(thisOption) // categories is ordinal when thisOption.categories not specified,\n      // which need no more preprocess except normalize visual.\n      : normalizeVisualRange(thisOption, true);\n    } else {\n      // mappingMethod === 'linear' or 'fixed'\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"assert\"](mappingMethod !== 'linear' || thisOption.dataExtent);\n      normalizeVisualRange(thisOption);\n    }\n  }\n\n  VisualMapping.prototype.mapValueToVisual = function (value) {\n    var normalized = this._normalizeData(value);\n\n    return this._normalizedToVisual(normalized, value);\n  };\n\n  VisualMapping.prototype.getNormalizer = function () {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this._normalizeData, this);\n  };\n  /**\n   * List available visual types.\n   *\n   * @public\n   * @return {Array.<string>}\n   */\n\n\n  VisualMapping.listVisualTypes = function () {\n    return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"](VisualMapping.visualHandlers);\n  }; // /**\n  //  * @public\n  //  */\n  // static addVisualHandler(name, handler) {\n  //     visualHandlers[name] = handler;\n  // }\n\n  /**\n   * @public\n   */\n\n\n  VisualMapping.isValidType = function (visualType) {\n    return VisualMapping.visualHandlers.hasOwnProperty(visualType);\n  };\n  /**\n   * Convinent method.\n   * Visual can be Object or Array or primary type.\n   */\n\n\n  VisualMapping.eachVisual = function (visual, callback, context) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](visual)) {\n      zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](visual, callback, context);\n    } else {\n      callback.call(context, visual);\n    }\n  };\n\n  VisualMapping.mapVisual = function (visual, callback, context) {\n    var isPrimary;\n    var newVisual = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](visual) ? [] : zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](visual) ? {} : (isPrimary = true, null);\n    VisualMapping.eachVisual(visual, function (v, key) {\n      var newVal = callback.call(context, v, key);\n      isPrimary ? newVisual = newVal : newVisual[key] = newVal;\n    });\n    return newVisual;\n  };\n  /**\n   * Retrieve visual properties from given object.\n   */\n\n\n  VisualMapping.retrieveVisuals = function (obj) {\n    var ret = {};\n    var hasVisual;\n    obj && each(VisualMapping.visualHandlers, function (h, visualType) {\n      if (obj.hasOwnProperty(visualType)) {\n        ret[visualType] = obj[visualType];\n        hasVisual = true;\n      }\n    });\n    return hasVisual ? ret : null;\n  };\n  /**\n   * Give order to visual types, considering colorSaturation, colorAlpha depends on color.\n   *\n   * @public\n   * @param {(Object|Array)} visualTypes If Object, like: {color: ..., colorSaturation: ...}\n   *                                     IF Array, like: ['color', 'symbol', 'colorSaturation']\n   * @return {Array.<string>} Sorted visual types.\n   */\n\n\n  VisualMapping.prepareVisualTypes = function (visualTypes) {\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](visualTypes)) {\n      visualTypes = visualTypes.slice();\n    } else if (isObject(visualTypes)) {\n      var types_1 = [];\n      each(visualTypes, function (item, type) {\n        types_1.push(type);\n      });\n      visualTypes = types_1;\n    } else {\n      return [];\n    }\n\n    visualTypes.sort(function (type1, type2) {\n      // color should be front of colorSaturation, colorAlpha, ...\n      // symbol and symbolSize do not matter.\n      return type2 === 'color' && type1 !== 'color' && type1.indexOf('color') === 0 ? 1 : -1;\n    });\n    return visualTypes;\n  };\n  /**\n   * 'color', 'colorSaturation', 'colorAlpha', ... are depends on 'color'.\n   * Other visuals are only depends on themself.\n   */\n\n\n  VisualMapping.dependsOn = function (visualType1, visualType2) {\n    return visualType2 === 'color' ? !!(visualType1 && visualType1.indexOf(visualType2) === 0) : visualType1 === visualType2;\n  };\n  /**\n   * @param value\n   * @param pieceList [{value: ..., interval: [min, max]}, ...]\n   *                         Always from small to big.\n   * @param findClosestWhenOutside Default to be false\n   * @return index\n   */\n\n\n  VisualMapping.findPieceIndex = function (value, pieceList, findClosestWhenOutside) {\n    var possibleI;\n    var abs = Infinity; // value has the higher priority.\n\n    for (var i = 0, len = pieceList.length; i < len; i++) {\n      var pieceValue = pieceList[i].value;\n\n      if (pieceValue != null) {\n        if (pieceValue === value // FIXME\n        // It is supposed to compare value according to value type of dimension,\n        // but currently value type can exactly be string or number.\n        // Compromise for numeric-like string (like '12'), especially\n        // in the case that visualMap.categories is ['22', '33'].\n        || zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](pieceValue) && pieceValue === value + '') {\n          return i;\n        }\n\n        findClosestWhenOutside && updatePossible(pieceValue, i);\n      }\n    }\n\n    for (var i = 0, len = pieceList.length; i < len; i++) {\n      var piece = pieceList[i];\n      var interval = piece.interval;\n      var close_1 = piece.close;\n\n      if (interval) {\n        if (interval[0] === -Infinity) {\n          if (littleThan(close_1[1], value, interval[1])) {\n            return i;\n          }\n        } else if (interval[1] === Infinity) {\n          if (littleThan(close_1[0], interval[0], value)) {\n            return i;\n          }\n        } else if (littleThan(close_1[0], interval[0], value) && littleThan(close_1[1], value, interval[1])) {\n          return i;\n        }\n\n        findClosestWhenOutside && updatePossible(interval[0], i);\n        findClosestWhenOutside && updatePossible(interval[1], i);\n      }\n    }\n\n    if (findClosestWhenOutside) {\n      return value === Infinity ? pieceList.length - 1 : value === -Infinity ? 0 : possibleI;\n    }\n\n    function updatePossible(val, index) {\n      var newAbs = Math.abs(val - value);\n\n      if (newAbs < abs) {\n        abs = newAbs;\n        possibleI = index;\n      }\n    }\n  };\n\n  VisualMapping.visualHandlers = {\n    color: {\n      applyVisual: makeApplyVisual('color'),\n      getColorMapper: function () {\n        var thisOption = this.option;\n        return zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](thisOption.mappingMethod === 'category' ? function (value, isNormalized) {\n          !isNormalized && (value = this._normalizeData(value));\n          return doMapCategory.call(this, value);\n        } : function (value, isNormalized, out) {\n          // If output rgb array\n          // which will be much faster and useful in pixel manipulation\n          var returnRGBArray = !!out;\n          !isNormalized && (value = this._normalizeData(value));\n          out = zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"fastLerp\"](value, thisOption.parsedVisual, out);\n          return returnRGBArray ? out : zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"stringify\"](out, 'rgba');\n        }, this);\n      },\n      _normalizedToVisual: {\n        linear: function (normalized) {\n          return zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"stringify\"](zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"fastLerp\"](normalized, this.option.parsedVisual), 'rgba');\n        },\n        category: doMapCategory,\n        piecewise: function (normalized, value) {\n          var result = getSpecifiedVisual.call(this, value);\n\n          if (result == null) {\n            result = zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"stringify\"](zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"fastLerp\"](normalized, this.option.parsedVisual), 'rgba');\n          }\n\n          return result;\n        },\n        fixed: doMapFixed\n      }\n    },\n    colorHue: makePartialColorVisualHandler(function (color, value) {\n      return zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"modifyHSL\"](color, value);\n    }),\n    colorSaturation: makePartialColorVisualHandler(function (color, value) {\n      return zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"modifyHSL\"](color, null, value);\n    }),\n    colorLightness: makePartialColorVisualHandler(function (color, value) {\n      return zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"modifyHSL\"](color, null, null, value);\n    }),\n    colorAlpha: makePartialColorVisualHandler(function (color, value) {\n      return zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"modifyAlpha\"](color, value);\n    }),\n    decal: {\n      applyVisual: makeApplyVisual('decal'),\n      _normalizedToVisual: {\n        linear: null,\n        category: doMapCategory,\n        piecewise: null,\n        fixed: null\n      }\n    },\n    opacity: {\n      applyVisual: makeApplyVisual('opacity'),\n      _normalizedToVisual: createNormalizedToNumericVisual([0, 1])\n    },\n    liftZ: {\n      applyVisual: makeApplyVisual('liftZ'),\n      _normalizedToVisual: {\n        linear: doMapFixed,\n        category: doMapFixed,\n        piecewise: doMapFixed,\n        fixed: doMapFixed\n      }\n    },\n    symbol: {\n      applyVisual: function (value, getter, setter) {\n        var symbolCfg = this.mapValueToVisual(value);\n        setter('symbol', symbolCfg);\n      },\n      _normalizedToVisual: {\n        linear: doMapToArray,\n        category: doMapCategory,\n        piecewise: function (normalized, value) {\n          var result = getSpecifiedVisual.call(this, value);\n\n          if (result == null) {\n            result = doMapToArray.call(this, normalized);\n          }\n\n          return result;\n        },\n        fixed: doMapFixed\n      }\n    },\n    symbolSize: {\n      applyVisual: makeApplyVisual('symbolSize'),\n      _normalizedToVisual: createNormalizedToNumericVisual([0, 1])\n    }\n  };\n  return VisualMapping;\n}();\n\nfunction preprocessForPiecewise(thisOption) {\n  var pieceList = thisOption.pieceList;\n  thisOption.hasSpecialVisual = false;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](pieceList, function (piece, index) {\n    piece.originIndex = index; // piece.visual is \"result visual value\" but not\n    // a visual range, so it does not need to be normalized.\n\n    if (piece.visual != null) {\n      thisOption.hasSpecialVisual = true;\n    }\n  });\n}\n\nfunction preprocessForSpecifiedCategory(thisOption) {\n  // Hash categories.\n  var categories = thisOption.categories;\n  var categoryMap = thisOption.categoryMap = {};\n  var visual = thisOption.visual;\n  each(categories, function (cate, index) {\n    categoryMap[cate] = index;\n  }); // Process visual map input.\n\n  if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](visual)) {\n    var visualArr_1 = [];\n\n    if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](visual)) {\n      each(visual, function (v, cate) {\n        var index = categoryMap[cate];\n        visualArr_1[index != null ? index : CATEGORY_DEFAULT_VISUAL_INDEX] = v;\n      });\n    } else {\n      // Is primary type, represents default visual.\n      visualArr_1[CATEGORY_DEFAULT_VISUAL_INDEX] = visual;\n    }\n\n    visual = setVisualToOption(thisOption, visualArr_1);\n  } // Remove categories that has no visual,\n  // then we can mapping them to CATEGORY_DEFAULT_VISUAL_INDEX.\n\n\n  for (var i = categories.length - 1; i >= 0; i--) {\n    if (visual[i] == null) {\n      delete categoryMap[categories[i]];\n      categories.pop();\n    }\n  }\n}\n\nfunction normalizeVisualRange(thisOption, isCategory) {\n  var visual = thisOption.visual;\n  var visualArr = [];\n\n  if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](visual)) {\n    each(visual, function (v) {\n      visualArr.push(v);\n    });\n  } else if (visual != null) {\n    visualArr.push(visual);\n  }\n\n  var doNotNeedPair = {\n    color: 1,\n    symbol: 1\n  };\n\n  if (!isCategory && visualArr.length === 1 && !doNotNeedPair.hasOwnProperty(thisOption.type)) {\n    // Do not care visualArr.length === 0, which is illegal.\n    visualArr[1] = visualArr[0];\n  }\n\n  setVisualToOption(thisOption, visualArr);\n}\n\nfunction makePartialColorVisualHandler(applyValue) {\n  return {\n    applyVisual: function (value, getter, setter) {\n      // Only used in HSL\n      var colorChannel = this.mapValueToVisual(value); // Must not be array value\n\n      setter('color', applyValue(getter('color'), colorChannel));\n    },\n    _normalizedToVisual: createNormalizedToNumericVisual([0, 1])\n  };\n}\n\nfunction doMapToArray(normalized) {\n  var visual = this.option.visual;\n  return visual[Math.round(Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"linearMap\"])(normalized, [0, 1], [0, visual.length - 1], true))] || {}; // TODO {}?\n}\n\nfunction makeApplyVisual(visualType) {\n  return function (value, getter, setter) {\n    setter(visualType, this.mapValueToVisual(value));\n  };\n}\n\nfunction doMapCategory(normalized) {\n  var visual = this.option.visual;\n  return visual[this.option.loop && normalized !== CATEGORY_DEFAULT_VISUAL_INDEX ? normalized % visual.length : normalized];\n}\n\nfunction doMapFixed() {\n  // visual will be convert to array.\n  return this.option.visual[0];\n}\n/**\n * Create mapped to numeric visual\n */\n\n\nfunction createNormalizedToNumericVisual(sourceExtent) {\n  return {\n    linear: function (normalized) {\n      return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"linearMap\"])(normalized, sourceExtent, this.option.visual, true);\n    },\n    category: doMapCategory,\n    piecewise: function (normalized, value) {\n      var result = getSpecifiedVisual.call(this, value);\n\n      if (result == null) {\n        result = Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"linearMap\"])(normalized, sourceExtent, this.option.visual, true);\n      }\n\n      return result;\n    },\n    fixed: doMapFixed\n  };\n}\n\nfunction getSpecifiedVisual(value) {\n  var thisOption = this.option;\n  var pieceList = thisOption.pieceList;\n\n  if (thisOption.hasSpecialVisual) {\n    var pieceIndex = VisualMapping.findPieceIndex(value, pieceList);\n    var piece = pieceList[pieceIndex];\n\n    if (piece && piece.visual) {\n      return piece.visual[this.type];\n    }\n  }\n}\n\nfunction setVisualToOption(thisOption, visualArr) {\n  thisOption.visual = visualArr;\n\n  if (thisOption.type === 'color') {\n    thisOption.parsedVisual = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"](visualArr, function (item) {\n      var color = zrender_lib_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"parse\"](item);\n\n      if (!color && \"development\" !== 'production') {\n        Object(_util_log_js__WEBPACK_IMPORTED_MODULE_3__[\"warn\"])(\"'\" + item + \"' is an illegal color, fallback to '#000000'\", true);\n      }\n\n      return color || [0, 0, 0, 1];\n    });\n  }\n\n  return visualArr;\n}\n/**\n * Normalizers by mapping methods.\n */\n\n\nvar normalizers = {\n  linear: function (value) {\n    return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"linearMap\"])(value, this.option.dataExtent, [0, 1], true);\n  },\n  piecewise: function (value) {\n    var pieceList = this.option.pieceList;\n    var pieceIndex = VisualMapping.findPieceIndex(value, pieceList, true);\n\n    if (pieceIndex != null) {\n      return Object(_util_number_js__WEBPACK_IMPORTED_MODULE_2__[\"linearMap\"])(pieceIndex, [0, pieceList.length - 1], [0, 1], true);\n    }\n  },\n  category: function (value) {\n    var index = this.option.categories ? this.option.categoryMap[value] : value; // ordinal value\n\n    return index == null ? CATEGORY_DEFAULT_VISUAL_INDEX : index;\n  },\n  fixed: zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"noop\"]\n};\n\nfunction littleThan(close, a, b) {\n  return close ? a <= b : a < b;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VisualMapping);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/VisualMapping.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/aria.js":
/*!*************************************************!*\
  !*** ./node_modules/echarts/lib/visual/aria.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ariaVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n/* harmony import */ var _model_mixin_palette_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../model/mixin/palette.js */ \"./node_modules/echarts/lib/model/mixin/palette.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\nvar DEFAULT_OPTION = {\n  label: {\n    enabled: true\n  },\n  decal: {\n    show: false\n  }\n};\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_1__[\"makeInner\"])();\nvar decalPaletteScope = {};\nfunction ariaVisual(ecModel, api) {\n  var ariaModel = ecModel.getModel('aria'); // See \"area enabled\" detection code in `GlobalModel.ts`.\n\n  if (!ariaModel.get('enabled')) {\n    return;\n  }\n\n  var defaultOption = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](DEFAULT_OPTION);\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"](defaultOption.label, ecModel.getLocaleModel().get('aria'), false);\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"merge\"](ariaModel.option, defaultOption, false);\n  setDecal();\n  setLabel();\n\n  function setDecal() {\n    var decalModel = ariaModel.getModel('decal');\n    var useDecal = decalModel.get('show');\n\n    if (useDecal) {\n      // Each type of series use one scope.\n      // Pie and funnel are using diferrent scopes\n      var paletteScopeGroupByType_1 = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"]();\n      ecModel.eachSeries(function (seriesModel) {\n        if (seriesModel.isColorBySeries()) {\n          return;\n        }\n\n        var decalScope = paletteScopeGroupByType_1.get(seriesModel.type);\n\n        if (!decalScope) {\n          decalScope = {};\n          paletteScopeGroupByType_1.set(seriesModel.type, decalScope);\n        }\n\n        inner(seriesModel).scope = decalScope;\n      });\n      ecModel.eachRawSeries(function (seriesModel) {\n        if (ecModel.isSeriesFiltered(seriesModel)) {\n          return;\n        }\n\n        if (zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"](seriesModel.enableAriaDecal)) {\n          // Let series define how to use decal palette on data\n          seriesModel.enableAriaDecal();\n          return;\n        }\n\n        var data = seriesModel.getData();\n\n        if (!seriesModel.isColorBySeries()) {\n          var dataAll_1 = seriesModel.getRawData();\n          var idxMap_1 = {};\n          var decalScope_1 = inner(seriesModel).scope;\n          data.each(function (idx) {\n            var rawIdx = data.getRawIndex(idx);\n            idxMap_1[rawIdx] = idx;\n          });\n          var dataCount_1 = dataAll_1.count();\n          dataAll_1.each(function (rawIdx) {\n            var idx = idxMap_1[rawIdx];\n            var name = dataAll_1.getName(rawIdx) || rawIdx + '';\n            var paletteDecal = Object(_model_mixin_palette_js__WEBPACK_IMPORTED_MODULE_2__[\"getDecalFromPalette\"])(seriesModel.ecModel, name, decalScope_1, dataCount_1);\n            var specifiedDecal = data.getItemVisual(idx, 'decal');\n            data.setItemVisual(idx, 'decal', mergeDecal(specifiedDecal, paletteDecal));\n          });\n        } else {\n          var paletteDecal = Object(_model_mixin_palette_js__WEBPACK_IMPORTED_MODULE_2__[\"getDecalFromPalette\"])(seriesModel.ecModel, seriesModel.name, decalPaletteScope, ecModel.getSeriesCount());\n          var specifiedDecal = data.getVisual('decal');\n          data.setVisual('decal', mergeDecal(specifiedDecal, paletteDecal));\n        }\n\n        function mergeDecal(specifiedDecal, paletteDecal) {\n          // Merge decal from palette to decal from itemStyle.\n          // User do not need to specify all of the decal props.\n          var resultDecal = specifiedDecal ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"](zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({}, paletteDecal), specifiedDecal) : paletteDecal;\n          resultDecal.dirty = true;\n          return resultDecal;\n        }\n      });\n    }\n  }\n\n  function setLabel() {\n    var labelLocale = ecModel.getLocaleModel().get('aria');\n    var labelModel = ariaModel.getModel('label');\n    labelModel.option = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"defaults\"](labelModel.option, labelLocale);\n\n    if (!labelModel.get('enabled')) {\n      return;\n    }\n\n    var dom = api.getZr().dom;\n\n    if (labelModel.get('description')) {\n      dom.setAttribute('aria-label', labelModel.get('description'));\n      return;\n    }\n\n    var seriesCnt = ecModel.getSeriesCount();\n    var maxDataCnt = labelModel.get(['data', 'maxCount']) || 10;\n    var maxSeriesCnt = labelModel.get(['series', 'maxCount']) || 10;\n    var displaySeriesCnt = Math.min(seriesCnt, maxSeriesCnt);\n    var ariaLabel;\n\n    if (seriesCnt < 1) {\n      // No series, no aria label\n      return;\n    } else {\n      var title = getTitle();\n\n      if (title) {\n        var withTitle = labelModel.get(['general', 'withTitle']);\n        ariaLabel = replace(withTitle, {\n          title: title\n        });\n      } else {\n        ariaLabel = labelModel.get(['general', 'withoutTitle']);\n      }\n\n      var seriesLabels_1 = [];\n      var prefix = seriesCnt > 1 ? labelModel.get(['series', 'multiple', 'prefix']) : labelModel.get(['series', 'single', 'prefix']);\n      ariaLabel += replace(prefix, {\n        seriesCount: seriesCnt\n      });\n      ecModel.eachSeries(function (seriesModel, idx) {\n        if (idx < displaySeriesCnt) {\n          var seriesLabel = void 0;\n          var seriesName = seriesModel.get('name');\n          var withName = seriesName ? 'withName' : 'withoutName';\n          seriesLabel = seriesCnt > 1 ? labelModel.get(['series', 'multiple', withName]) : labelModel.get(['series', 'single', withName]);\n          seriesLabel = replace(seriesLabel, {\n            seriesId: seriesModel.seriesIndex,\n            seriesName: seriesModel.get('name'),\n            seriesType: getSeriesTypeName(seriesModel.subType)\n          });\n          var data = seriesModel.getData();\n\n          if (data.count() > maxDataCnt) {\n            // Show part of data\n            var partialLabel = labelModel.get(['data', 'partialData']);\n            seriesLabel += replace(partialLabel, {\n              displayCnt: maxDataCnt\n            });\n          } else {\n            seriesLabel += labelModel.get(['data', 'allData']);\n          }\n\n          var middleSeparator_1 = labelModel.get(['data', 'separator', 'middle']);\n          var endSeparator_1 = labelModel.get(['data', 'separator', 'end']);\n          var dataLabels = [];\n\n          for (var i = 0; i < data.count(); i++) {\n            if (i < maxDataCnt) {\n              var name_1 = data.getName(i);\n              var value = data.getValues(i);\n              var dataLabel = labelModel.get(['data', name_1 ? 'withName' : 'withoutName']);\n              dataLabels.push(replace(dataLabel, {\n                name: name_1,\n                value: value.join(middleSeparator_1)\n              }));\n            }\n          }\n\n          seriesLabel += dataLabels.join(middleSeparator_1) + endSeparator_1;\n          seriesLabels_1.push(seriesLabel);\n        }\n      });\n      var separatorModel = labelModel.getModel(['series', 'multiple', 'separator']);\n      var middleSeparator = separatorModel.get('middle');\n      var endSeparator = separatorModel.get('end');\n      ariaLabel += seriesLabels_1.join(middleSeparator) + endSeparator;\n      dom.setAttribute('aria-label', ariaLabel);\n    }\n  }\n\n  function replace(str, keyValues) {\n    if (!zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"](str)) {\n      return str;\n    }\n\n    var result = str;\n    zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](keyValues, function (value, key) {\n      result = result.replace(new RegExp('\\\\{\\\\s*' + key + '\\\\s*\\\\}', 'g'), value);\n    });\n    return result;\n  }\n\n  function getTitle() {\n    var title = ecModel.get('title');\n\n    if (title && title.length) {\n      title = title[0];\n    }\n\n    return title && title.text;\n  }\n\n  function getSeriesTypeName(type) {\n    return ecModel.getLocaleModel().get(['series', 'typeNames'])[type] || '自定义图';\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/aria.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/decal.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/visual/decal.js ***!
  \**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return decalVisual; });\n/* harmony import */ var _util_decal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/decal.js */ \"./node_modules/echarts/lib/util/decal.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nfunction decalVisual(ecModel, api) {\n  ecModel.eachRawSeries(function (seriesModel) {\n    if (ecModel.isSeriesFiltered(seriesModel)) {\n      return;\n    }\n\n    var data = seriesModel.getData();\n\n    if (data.hasItemVisual()) {\n      data.each(function (idx) {\n        var decal = data.getItemVisual(idx, 'decal');\n\n        if (decal) {\n          var itemStyle = data.ensureUniqueItemVisual(idx, 'style');\n          itemStyle.decal = Object(_util_decal_js__WEBPACK_IMPORTED_MODULE_0__[\"createOrUpdatePatternFromDecal\"])(decal, api);\n        }\n      });\n    }\n\n    var decal = data.getVisual('decal');\n\n    if (decal) {\n      var style = data.getVisual('style');\n      style.decal = Object(_util_decal_js__WEBPACK_IMPORTED_MODULE_0__[\"createOrUpdatePatternFromDecal\"])(decal, api);\n    }\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/decal.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/helper.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/visual/helper.js ***!
  \***************************************************/
/*! exports provided: getItemVisualFromData, getVisualFromData, setItemVisualFromData */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getItemVisualFromData\", function() { return getItemVisualFromData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVisualFromData\", function() { return getVisualFromData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setItemVisualFromData\", function() { return setItemVisualFromData; });\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getItemVisualFromData(data, dataIndex, key) {\n  switch (key) {\n    case 'color':\n      var style = data.getItemVisual(dataIndex, 'style');\n      return style[data.getVisual('drawType')];\n\n    case 'opacity':\n      return data.getItemVisual(dataIndex, 'style').opacity;\n\n    case 'symbol':\n    case 'symbolSize':\n    case 'liftZ':\n      return data.getItemVisual(dataIndex, key);\n\n    default:\n      if (true) {\n        console.warn(\"Unknown visual type \" + key);\n      }\n\n  }\n}\nfunction getVisualFromData(data, key) {\n  switch (key) {\n    case 'color':\n      var style = data.getVisual('style');\n      return style[data.getVisual('drawType')];\n\n    case 'opacity':\n      return data.getVisual('style').opacity;\n\n    case 'symbol':\n    case 'symbolSize':\n    case 'liftZ':\n      return data.getVisual(key);\n\n    default:\n      if (true) {\n        console.warn(\"Unknown visual type \" + key);\n      }\n\n  }\n}\nfunction setItemVisualFromData(data, dataIndex, key, value) {\n  switch (key) {\n    case 'color':\n      // Make sure not sharing style object.\n      var style = data.ensureUniqueItemVisual(dataIndex, 'style');\n      style[data.getVisual('drawType')] = value; // Mark the color has been changed, not from palette anymore\n\n      data.setItemVisual(dataIndex, 'colorFromPalette', false);\n      break;\n\n    case 'opacity':\n      data.ensureUniqueItemVisual(dataIndex, 'style').opacity = value;\n      break;\n\n    case 'symbol':\n    case 'symbolSize':\n    case 'liftZ':\n      data.setItemVisual(dataIndex, key, value);\n      break;\n\n    default:\n      if (true) {\n        console.warn(\"Unknown visual type \" + key);\n      }\n\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/style.js":
/*!**************************************************!*\
  !*** ./node_modules/echarts/lib/visual/style.js ***!
  \**************************************************/
/*! exports provided: seriesStyleTask, dataStyleTask, dataColorPaletteTask */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"seriesStyleTask\", function() { return seriesStyleTask; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataStyleTask\", function() { return dataStyleTask; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataColorPaletteTask\", function() { return dataColorPaletteTask; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../model/mixin/makeStyleMapper.js */ \"./node_modules/echarts/lib/model/mixin/makeStyleMapper.js\");\n/* harmony import */ var _model_mixin_itemStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../model/mixin/itemStyle.js */ \"./node_modules/echarts/lib/model/mixin/itemStyle.js\");\n/* harmony import */ var _model_mixin_lineStyle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../model/mixin/lineStyle.js */ \"./node_modules/echarts/lib/model/mixin/lineStyle.js\");\n/* harmony import */ var _model_Model_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../model/Model.js */ \"./node_modules/echarts/lib/model/Model.js\");\n/* harmony import */ var _util_model_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/model.js */ \"./node_modules/echarts/lib/util/model.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n\n\n\n\nvar inner = Object(_util_model_js__WEBPACK_IMPORTED_MODULE_5__[\"makeInner\"])();\nvar defaultStyleMappers = {\n  itemStyle: Object(_model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_model_mixin_itemStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"ITEM_STYLE_KEY_MAP\"], true),\n  lineStyle: Object(_model_mixin_makeStyleMapper_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_model_mixin_lineStyle_js__WEBPACK_IMPORTED_MODULE_3__[\"LINE_STYLE_KEY_MAP\"], true)\n};\nvar defaultColorKey = {\n  lineStyle: 'stroke',\n  itemStyle: 'fill'\n};\n\nfunction getStyleMapper(seriesModel, stylePath) {\n  var styleMapper = seriesModel.visualStyleMapper || defaultStyleMappers[stylePath];\n\n  if (!styleMapper) {\n    console.warn(\"Unkown style type '\" + stylePath + \"'.\");\n    return defaultStyleMappers.itemStyle;\n  }\n\n  return styleMapper;\n}\n\nfunction getDefaultColorKey(seriesModel, stylePath) {\n  // return defaultColorKey[stylePath] ||\n  var colorKey = seriesModel.visualDrawType || defaultColorKey[stylePath];\n\n  if (!colorKey) {\n    console.warn(\"Unkown style type '\" + stylePath + \"'.\");\n    return 'fill';\n  }\n\n  return colorKey;\n}\n\nvar seriesStyleTask = {\n  createOnAllSeries: true,\n  performRawSeries: true,\n  reset: function (seriesModel, ecModel) {\n    var data = seriesModel.getData();\n    var stylePath = seriesModel.visualStyleAccessPath || 'itemStyle'; // Set in itemStyle\n\n    var styleModel = seriesModel.getModel(stylePath);\n    var getStyle = getStyleMapper(seriesModel, stylePath);\n    var globalStyle = getStyle(styleModel);\n    var decalOption = styleModel.getShallow('decal');\n\n    if (decalOption) {\n      data.setVisual('decal', decalOption);\n      decalOption.dirty = true;\n    } // TODO\n\n\n    var colorKey = getDefaultColorKey(seriesModel, stylePath);\n    var color = globalStyle[colorKey]; // TODO style callback\n\n    var colorCallback = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(color) ? color : null;\n    var hasAutoColor = globalStyle.fill === 'auto' || globalStyle.stroke === 'auto'; // Get from color palette by default.\n\n    if (!globalStyle[colorKey] || colorCallback || hasAutoColor) {\n      // Note: if some series has color specified (e.g., by itemStyle.color), we DO NOT\n      // make it effect palette. Bacause some scenarios users need to make some series\n      // transparent or as background, which should better not effect the palette.\n      var colorPalette = seriesModel.getColorFromPalette( // TODO series count changed.\n      seriesModel.name, null, ecModel.getSeriesCount());\n\n      if (!globalStyle[colorKey]) {\n        globalStyle[colorKey] = colorPalette;\n        data.setVisual('colorFromPalette', true);\n      }\n\n      globalStyle.fill = globalStyle.fill === 'auto' || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(globalStyle.fill) ? colorPalette : globalStyle.fill;\n      globalStyle.stroke = globalStyle.stroke === 'auto' || Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(globalStyle.stroke) ? colorPalette : globalStyle.stroke;\n    }\n\n    data.setVisual('style', globalStyle);\n    data.setVisual('drawType', colorKey); // Only visible series has each data be visual encoded\n\n    if (!ecModel.isSeriesFiltered(seriesModel) && colorCallback) {\n      data.setVisual('colorFromPalette', false);\n      return {\n        dataEach: function (data, idx) {\n          var dataParams = seriesModel.getDataParams(idx);\n          var itemStyle = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({}, globalStyle);\n          itemStyle[colorKey] = colorCallback(dataParams);\n          data.setItemVisual(idx, 'style', itemStyle);\n        }\n      };\n    }\n  }\n};\nvar sharedModel = new _model_Model_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\nvar dataStyleTask = {\n  createOnAllSeries: true,\n  performRawSeries: true,\n  reset: function (seriesModel, ecModel) {\n    if (seriesModel.ignoreStyleOnData || ecModel.isSeriesFiltered(seriesModel)) {\n      return;\n    }\n\n    var data = seriesModel.getData();\n    var stylePath = seriesModel.visualStyleAccessPath || 'itemStyle'; // Set in itemStyle\n\n    var getStyle = getStyleMapper(seriesModel, stylePath);\n    var colorKey = data.getVisual('drawType');\n    return {\n      dataEach: data.hasItemOption ? function (data, idx) {\n        // Not use getItemModel for performance considuration\n        var rawItem = data.getRawDataItem(idx);\n\n        if (rawItem && rawItem[stylePath]) {\n          sharedModel.option = rawItem[stylePath];\n          var style = getStyle(sharedModel);\n          var existsStyle = data.ensureUniqueItemVisual(idx, 'style');\n          Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(existsStyle, style);\n\n          if (sharedModel.option.decal) {\n            data.setItemVisual(idx, 'decal', sharedModel.option.decal);\n            sharedModel.option.decal.dirty = true;\n          }\n\n          if (colorKey in style) {\n            data.setItemVisual(idx, 'colorFromPalette', false);\n          }\n        }\n      } : null\n    };\n  }\n}; // Pick color from palette for the data which has not been set with color yet.\n// Note: do not support stream rendering. No such cases yet.\n\nvar dataColorPaletteTask = {\n  performRawSeries: true,\n  overallReset: function (ecModel) {\n    // Each type of series use one scope.\n    // Pie and funnel are using diferrent scopes\n    var paletteScopeGroupByType = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"createHashMap\"])();\n    ecModel.eachSeries(function (seriesModel) {\n      var colorBy = seriesModel.getColorBy();\n\n      if (seriesModel.isColorBySeries()) {\n        return;\n      }\n\n      var key = seriesModel.type + '-' + colorBy;\n      var colorScope = paletteScopeGroupByType.get(key);\n\n      if (!colorScope) {\n        colorScope = {};\n        paletteScopeGroupByType.set(key, colorScope);\n      }\n\n      inner(seriesModel).scope = colorScope;\n    });\n    ecModel.eachSeries(function (seriesModel) {\n      if (seriesModel.isColorBySeries() || ecModel.isSeriesFiltered(seriesModel)) {\n        return;\n      }\n\n      var dataAll = seriesModel.getRawData();\n      var idxMap = {};\n      var data = seriesModel.getData();\n      var colorScope = inner(seriesModel).scope;\n      var stylePath = seriesModel.visualStyleAccessPath || 'itemStyle';\n      var colorKey = getDefaultColorKey(seriesModel, stylePath);\n      data.each(function (idx) {\n        var rawIdx = data.getRawIndex(idx);\n        idxMap[rawIdx] = idx;\n      }); // Iterate on data before filtered. To make sure color from palette can be\n      // Consistent when toggling legend.\n\n      dataAll.each(function (rawIdx) {\n        var idx = idxMap[rawIdx];\n        var fromPalette = data.getItemVisual(idx, 'colorFromPalette'); // Get color from palette for each data only when the color is inherited from series color, which is\n        // also picked from color palette. So following situation is not in the case:\n        // 1. series.itemStyle.color is set\n        // 2. color is encoded by visualMap\n\n        if (fromPalette) {\n          var itemStyle = data.ensureUniqueItemVisual(idx, 'style');\n          var name_1 = dataAll.getName(rawIdx) || rawIdx + '';\n          var dataCount = dataAll.count();\n          itemStyle[colorKey] = seriesModel.getColorFromPalette(name_1, colorScope, dataCount);\n        }\n      });\n    });\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/style.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/symbol.js":
/*!***************************************************!*\
  !*** ./node_modules/echarts/lib/visual/symbol.js ***!
  \***************************************************/
/*! exports provided: seriesSymbolTask, dataSymbolTask */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"seriesSymbolTask\", function() { return seriesSymbolTask; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dataSymbolTask\", function() { return dataSymbolTask; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SYMBOL_PROPS_WITH_CB = ['symbol', 'symbolSize', 'symbolRotate', 'symbolOffset'];\nvar SYMBOL_PROPS = SYMBOL_PROPS_WITH_CB.concat(['symbolKeepAspect']); // Encoding visual for all series include which is filtered for legend drawing\n\nvar seriesSymbolTask = {\n  createOnAllSeries: true,\n  // For legend.\n  performRawSeries: true,\n  reset: function (seriesModel, ecModel) {\n    var data = seriesModel.getData();\n\n    if (seriesModel.legendIcon) {\n      data.setVisual('legendIcon', seriesModel.legendIcon);\n    }\n\n    if (!seriesModel.hasSymbolVisual) {\n      return;\n    }\n\n    var symbolOptions = {};\n    var symbolOptionsCb = {};\n    var hasCallback = false;\n\n    for (var i = 0; i < SYMBOL_PROPS_WITH_CB.length; i++) {\n      var symbolPropName = SYMBOL_PROPS_WITH_CB[i];\n      var val = seriesModel.get(symbolPropName);\n\n      if (Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(val)) {\n        hasCallback = true;\n        symbolOptionsCb[symbolPropName] = val;\n      } else {\n        symbolOptions[symbolPropName] = val;\n      }\n    }\n\n    symbolOptions.symbol = symbolOptions.symbol || seriesModel.defaultSymbol;\n    data.setVisual(Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])({\n      legendIcon: seriesModel.legendIcon || symbolOptions.symbol,\n      symbolKeepAspect: seriesModel.get('symbolKeepAspect')\n    }, symbolOptions)); // Only visible series has each data be visual encoded\n\n    if (ecModel.isSeriesFiltered(seriesModel)) {\n      return;\n    }\n\n    var symbolPropsCb = Object(zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(symbolOptionsCb);\n\n    function dataEach(data, idx) {\n      var rawValue = seriesModel.getRawValue(idx);\n      var params = seriesModel.getDataParams(idx);\n\n      for (var i = 0; i < symbolPropsCb.length; i++) {\n        var symbolPropName = symbolPropsCb[i];\n        data.setItemVisual(idx, symbolPropName, symbolOptionsCb[symbolPropName](rawValue, params));\n      }\n    }\n\n    return {\n      dataEach: hasCallback ? dataEach : null\n    };\n  }\n};\nvar dataSymbolTask = {\n  createOnAllSeries: true,\n  // For legend.\n  performRawSeries: true,\n  reset: function (seriesModel, ecModel) {\n    if (!seriesModel.hasSymbolVisual) {\n      return;\n    } // Only visible series has each data be visual encoded\n\n\n    if (ecModel.isSeriesFiltered(seriesModel)) {\n      return;\n    }\n\n    var data = seriesModel.getData();\n\n    function dataEach(data, idx) {\n      var itemModel = data.getItemModel(idx);\n\n      for (var i = 0; i < SYMBOL_PROPS.length; i++) {\n        var symbolPropName = SYMBOL_PROPS[i];\n        var val = itemModel.getShallow(symbolPropName, true);\n\n        if (val != null) {\n          data.setItemVisual(idx, symbolPropName, val);\n        }\n      }\n    }\n\n    return {\n      dataEach: data.hasItemOption ? dataEach : null\n    };\n  }\n};\n\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/symbol.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/visualDefault.js":
/*!**********************************************************!*\
  !*** ./node_modules/echarts/lib/visual/visualDefault.js ***!
  \**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Visual mapping.\n */\n\nvar visualDefault = {\n  /**\n   * @public\n   */\n  get: function (visualType, key, isCategory) {\n    var value = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"]((defaultOption[visualType] || {})[key]);\n    return isCategory ? zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"](value) ? value[value.length - 1] : value : value;\n  }\n};\nvar defaultOption = {\n  color: {\n    active: ['#006edd', '#e0ffff'],\n    inactive: ['rgba(0,0,0,0)']\n  },\n  colorHue: {\n    active: [0, 360],\n    inactive: [0, 0]\n  },\n  colorSaturation: {\n    active: [0.3, 1],\n    inactive: [0, 0]\n  },\n  colorLightness: {\n    active: [0.9, 0.5],\n    inactive: [0, 0]\n  },\n  colorAlpha: {\n    active: [0.3, 1],\n    inactive: [0, 0]\n  },\n  opacity: {\n    active: [0.3, 1],\n    inactive: [0, 0]\n  },\n  symbol: {\n    active: ['circle', 'roundRect', 'diamond'],\n    inactive: ['none']\n  },\n  symbolSize: {\n    active: [10, 50],\n    inactive: [0, 0]\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (visualDefault);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/visualDefault.js?");

/***/ }),

/***/ "./node_modules/echarts/lib/visual/visualSolution.js":
/*!***********************************************************!*\
  !*** ./node_modules/echarts/lib/visual/visualSolution.js ***!
  \***********************************************************/
/*! exports provided: createVisualMappings, replaceVisualOption, applyVisual, incrementalApplyVisual */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createVisualMappings\", function() { return createVisualMappings; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replaceVisualOption\", function() { return replaceVisualOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyVisual\", function() { return applyVisual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"incrementalApplyVisual\", function() { return incrementalApplyVisual; });\n/* harmony import */ var zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zrender/lib/core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./VisualMapping.js */ \"./node_modules/echarts/lib/visual/VisualMapping.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/lib/visual/helper.js\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Visual solution, for consistent option specification.\n */\n\n\n\nvar each = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"];\n\nfunction hasKeys(obj) {\n  if (obj) {\n    for (var name_1 in obj) {\n      if (obj.hasOwnProperty(name_1)) {\n        return true;\n      }\n    }\n  }\n}\n\nfunction createVisualMappings(option, stateList, supplementVisualOption) {\n  var visualMappings = {};\n  each(stateList, function (state) {\n    var mappings = visualMappings[state] = createMappings();\n    each(option[state], function (visualData, visualType) {\n      if (!_VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isValidType(visualType)) {\n        return;\n      }\n\n      var mappingOption = {\n        type: visualType,\n        visual: visualData\n      };\n      supplementVisualOption && supplementVisualOption(mappingOption, state);\n      mappings[visualType] = new _VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](mappingOption); // Prepare a alpha for opacity, for some case that opacity\n      // is not supported, such as rendering using gradient color.\n\n      if (visualType === 'opacity') {\n        mappingOption = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](mappingOption);\n        mappingOption.type = 'colorAlpha';\n        mappings.__hidden.__alphaForOpacity = new _VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](mappingOption);\n      }\n    });\n  });\n  return visualMappings;\n\n  function createMappings() {\n    var Creater = function () {}; // Make sure hidden fields will not be visited by\n    // object iteration (with hasOwnProperty checking).\n\n\n    Creater.prototype.__hidden = Creater.prototype;\n    var obj = new Creater();\n    return obj;\n  }\n}\nfunction replaceVisualOption(thisOption, newOption, keys) {\n  // Visual attributes merge is not supported, otherwise it\n  // brings overcomplicated merge logic. See #2853. So if\n  // newOption has anyone of these keys, all of these keys\n  // will be reset. Otherwise, all keys remain.\n  var has;\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](keys, function (key) {\n    if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n      has = true;\n    }\n  });\n  has && zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](keys, function (key) {\n    if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n      thisOption[key] = zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"](newOption[key]);\n    } else {\n      delete thisOption[key];\n    }\n  });\n}\n/**\n * @param stateList\n * @param visualMappings\n * @param list\n * @param getValueState param: valueOrIndex, return: state.\n * @param scope Scope for getValueState\n * @param dimension Concrete dimension, if used.\n */\n// ???! handle brush?\n\nfunction applyVisual(stateList, visualMappings, data, getValueState, scope, dimension) {\n  var visualTypesMap = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](stateList, function (state) {\n    var visualTypes = _VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prepareVisualTypes(visualMappings[state]);\n    visualTypesMap[state] = visualTypes;\n  });\n  var dataIndex;\n\n  function getVisual(key) {\n    return Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"getItemVisualFromData\"])(data, dataIndex, key);\n  }\n\n  function setVisual(key, value) {\n    Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"setItemVisualFromData\"])(data, dataIndex, key, value);\n  }\n\n  if (dimension == null) {\n    data.each(eachItem);\n  } else {\n    data.each([dimension], eachItem);\n  }\n\n  function eachItem(valueOrIndex, index) {\n    dataIndex = dimension == null ? valueOrIndex // First argument is index\n    : index;\n    var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n    // @ts-ignore\n\n    if (rawDataItem && rawDataItem.visualMap === false) {\n      return;\n    }\n\n    var valueState = getValueState.call(scope, valueOrIndex);\n    var mappings = visualMappings[valueState];\n    var visualTypes = visualTypesMap[valueState];\n\n    for (var i = 0, len = visualTypes.length; i < len; i++) {\n      var type = visualTypes[i];\n      mappings[type] && mappings[type].applyVisual(valueOrIndex, getVisual, setVisual);\n    }\n  }\n}\n/**\n * @param data\n * @param stateList\n * @param visualMappings <state, Object.<visualType, module:echarts/visual/VisualMapping>>\n * @param getValueState param: valueOrIndex, return: state.\n * @param dim dimension or dimension index.\n */\n\nfunction incrementalApplyVisual(stateList, visualMappings, getValueState, dim) {\n  var visualTypesMap = {};\n  zrender_lib_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"each\"](stateList, function (state) {\n    var visualTypes = _VisualMapping_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prepareVisualTypes(visualMappings[state]);\n    visualTypesMap[state] = visualTypes;\n  });\n  return {\n    progress: function progress(params, data) {\n      var dimIndex;\n\n      if (dim != null) {\n        dimIndex = data.getDimensionIndex(dim);\n      }\n\n      function getVisual(key) {\n        return Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"getItemVisualFromData\"])(data, dataIndex, key);\n      }\n\n      function setVisual(key, value) {\n        Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"setItemVisualFromData\"])(data, dataIndex, key, value);\n      }\n\n      var dataIndex;\n      var store = data.getStore();\n\n      while ((dataIndex = params.next()) != null) {\n        var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n        // @ts-ignore\n\n        if (rawDataItem && rawDataItem.visualMap === false) {\n          continue;\n        }\n\n        var value = dim != null ? store.get(dimIndex, dataIndex) : dataIndex;\n        var valueState = getValueState(value);\n        var mappings = visualMappings[valueState];\n        var visualTypes = visualTypesMap[valueState];\n\n        for (var i = 0, len = visualTypes.length; i < len; i++) {\n          var type = visualTypes[i];\n          mappings[type] && mappings[type].applyVisual(value, getVisual, setVisual);\n        }\n      }\n    }\n  };\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/visualSolution.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/tslib/tslib.es6.js":
/*!**************************************************************!*\
  !*** ./node_modules/echarts/node_modules/tslib/tslib.es6.js ***!
  \**************************************************************/
/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__createBinding\", function() { return __createBinding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArray\", function() { return __spreadArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nfunction __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || from);\r\n}\r\n\r\nfunction __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/tslib/tslib.es6.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/Element.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/Element.js ***!
  \******************************************************************/
/*! exports provided: PRESERVED_NORMAL_STATE, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PRESERVED_NORMAL_STATE\", function() { return PRESERVED_NORMAL_STATE; });\n/* harmony import */ var _core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n/* harmony import */ var _animation_Animator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./animation/Animator.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/Animator.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _core_Eventful_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _contain_text_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./config.js */ \"./node_modules/echarts/node_modules/zrender/lib/config.js\");\n/* harmony import */ var _tool_color_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _graphic_constants_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./graphic/constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n\n\n\n\n\n\n\n\n\nvar PRESERVED_NORMAL_STATE = '__zr_normal__';\nvar PRIMARY_STATES_KEYS = _core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__[\"TRANSFORMABLE_PROPS\"].concat(['ignore']);\nvar DEFAULT_ANIMATABLE_MAP = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"reduce\"])(_core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__[\"TRANSFORMABLE_PROPS\"], function (obj, key) {\n    obj[key] = true;\n    return obj;\n}, { ignore: false });\nvar tmpTextPosCalcRes = {};\nvar tmpBoundingRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](0, 0, 0, 0);\nvar Element = (function () {\n    function Element(props) {\n        this.id = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"guid\"])();\n        this.animators = [];\n        this.currentStates = [];\n        this.states = {};\n        this._init(props);\n    }\n    Element.prototype._init = function (props) {\n        this.attr(props);\n    };\n    Element.prototype.drift = function (dx, dy, e) {\n        switch (this.draggable) {\n            case 'horizontal':\n                dy = 0;\n                break;\n            case 'vertical':\n                dx = 0;\n                break;\n        }\n        var m = this.transform;\n        if (!m) {\n            m = this.transform = [1, 0, 0, 1, 0, 0];\n        }\n        m[4] += dx;\n        m[5] += dy;\n        this.decomposeTransform();\n        this.markRedraw();\n    };\n    Element.prototype.beforeUpdate = function () { };\n    Element.prototype.afterUpdate = function () { };\n    Element.prototype.update = function () {\n        this.updateTransform();\n        if (this.__dirty) {\n            this.updateInnerText();\n        }\n    };\n    Element.prototype.updateInnerText = function (forceUpdate) {\n        var textEl = this._textContent;\n        if (textEl && (!textEl.ignore || forceUpdate)) {\n            if (!this.textConfig) {\n                this.textConfig = {};\n            }\n            var textConfig = this.textConfig;\n            var isLocal = textConfig.local;\n            var innerTransformable = textEl.innerTransformable;\n            var textAlign = void 0;\n            var textVerticalAlign = void 0;\n            var textStyleChanged = false;\n            innerTransformable.parent = isLocal ? this : null;\n            var innerOrigin = false;\n            innerTransformable.copyTransform(textEl);\n            if (textConfig.position != null) {\n                var layoutRect = tmpBoundingRect;\n                if (textConfig.layoutRect) {\n                    layoutRect.copy(textConfig.layoutRect);\n                }\n                else {\n                    layoutRect.copy(this.getBoundingRect());\n                }\n                if (!isLocal) {\n                    layoutRect.applyTransform(this.transform);\n                }\n                if (this.calculateTextPosition) {\n                    this.calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);\n                }\n                else {\n                    Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"calculateTextPosition\"])(tmpTextPosCalcRes, textConfig, layoutRect);\n                }\n                innerTransformable.x = tmpTextPosCalcRes.x;\n                innerTransformable.y = tmpTextPosCalcRes.y;\n                textAlign = tmpTextPosCalcRes.align;\n                textVerticalAlign = tmpTextPosCalcRes.verticalAlign;\n                var textOrigin = textConfig.origin;\n                if (textOrigin && textConfig.rotation != null) {\n                    var relOriginX = void 0;\n                    var relOriginY = void 0;\n                    if (textOrigin === 'center') {\n                        relOriginX = layoutRect.width * 0.5;\n                        relOriginY = layoutRect.height * 0.5;\n                    }\n                    else {\n                        relOriginX = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"parsePercent\"])(textOrigin[0], layoutRect.width);\n                        relOriginY = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"parsePercent\"])(textOrigin[1], layoutRect.height);\n                    }\n                    innerOrigin = true;\n                    innerTransformable.originX = -innerTransformable.x + relOriginX + (isLocal ? 0 : layoutRect.x);\n                    innerTransformable.originY = -innerTransformable.y + relOriginY + (isLocal ? 0 : layoutRect.y);\n                }\n            }\n            if (textConfig.rotation != null) {\n                innerTransformable.rotation = textConfig.rotation;\n            }\n            var textOffset = textConfig.offset;\n            if (textOffset) {\n                innerTransformable.x += textOffset[0];\n                innerTransformable.y += textOffset[1];\n                if (!innerOrigin) {\n                    innerTransformable.originX = -textOffset[0];\n                    innerTransformable.originY = -textOffset[1];\n                }\n            }\n            var isInside = textConfig.inside == null\n                ? (typeof textConfig.position === 'string' && textConfig.position.indexOf('inside') >= 0)\n                : textConfig.inside;\n            var innerTextDefaultStyle = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {});\n            var textFill = void 0;\n            var textStroke = void 0;\n            var autoStroke = void 0;\n            if (isInside && this.canBeInsideText()) {\n                textFill = textConfig.insideFill;\n                textStroke = textConfig.insideStroke;\n                if (textFill == null || textFill === 'auto') {\n                    textFill = this.getInsideTextFill();\n                }\n                if (textStroke == null || textStroke === 'auto') {\n                    textStroke = this.getInsideTextStroke(textFill);\n                    autoStroke = true;\n                }\n            }\n            else {\n                textFill = textConfig.outsideFill;\n                textStroke = textConfig.outsideStroke;\n                if (textFill == null || textFill === 'auto') {\n                    textFill = this.getOutsideFill();\n                }\n                if (textStroke == null || textStroke === 'auto') {\n                    textStroke = this.getOutsideStroke(textFill);\n                    autoStroke = true;\n                }\n            }\n            textFill = textFill || '#000';\n            if (textFill !== innerTextDefaultStyle.fill\n                || textStroke !== innerTextDefaultStyle.stroke\n                || autoStroke !== innerTextDefaultStyle.autoStroke\n                || textAlign !== innerTextDefaultStyle.align\n                || textVerticalAlign !== innerTextDefaultStyle.verticalAlign) {\n                textStyleChanged = true;\n                innerTextDefaultStyle.fill = textFill;\n                innerTextDefaultStyle.stroke = textStroke;\n                innerTextDefaultStyle.autoStroke = autoStroke;\n                innerTextDefaultStyle.align = textAlign;\n                innerTextDefaultStyle.verticalAlign = textVerticalAlign;\n                textEl.setDefaultTextStyle(innerTextDefaultStyle);\n            }\n            textEl.__dirty |= _graphic_constants_js__WEBPACK_IMPORTED_MODULE_8__[\"REDRAW_BIT\"];\n            if (textStyleChanged) {\n                textEl.dirtyStyle(true);\n            }\n        }\n    };\n    Element.prototype.canBeInsideText = function () {\n        return true;\n    };\n    Element.prototype.getInsideTextFill = function () {\n        return '#fff';\n    };\n    Element.prototype.getInsideTextStroke = function (textFill) {\n        return '#000';\n    };\n    Element.prototype.getOutsideFill = function () {\n        return this.__zr && this.__zr.isDarkMode() ? _config_js__WEBPACK_IMPORTED_MODULE_6__[\"LIGHT_LABEL_COLOR\"] : _config_js__WEBPACK_IMPORTED_MODULE_6__[\"DARK_LABEL_COLOR\"];\n    };\n    Element.prototype.getOutsideStroke = function (textFill) {\n        var backgroundColor = this.__zr && this.__zr.getBackgroundColor();\n        var colorArr = typeof backgroundColor === 'string' && Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_7__[\"parse\"])(backgroundColor);\n        if (!colorArr) {\n            colorArr = [255, 255, 255, 1];\n        }\n        var alpha = colorArr[3];\n        var isDark = this.__zr.isDarkMode();\n        for (var i = 0; i < 3; i++) {\n            colorArr[i] = colorArr[i] * alpha + (isDark ? 0 : 255) * (1 - alpha);\n        }\n        colorArr[3] = 1;\n        return Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_7__[\"stringify\"])(colorArr, 'rgba');\n    };\n    Element.prototype.traverse = function (cb, context) { };\n    Element.prototype.attrKV = function (key, value) {\n        if (key === 'textConfig') {\n            this.setTextConfig(value);\n        }\n        else if (key === 'textContent') {\n            this.setTextContent(value);\n        }\n        else if (key === 'clipPath') {\n            this.setClipPath(value);\n        }\n        else if (key === 'extra') {\n            this.extra = this.extra || {};\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(this.extra, value);\n        }\n        else {\n            this[key] = value;\n        }\n    };\n    Element.prototype.hide = function () {\n        this.ignore = true;\n        this.markRedraw();\n    };\n    Element.prototype.show = function () {\n        this.ignore = false;\n        this.markRedraw();\n    };\n    Element.prototype.attr = function (keyOrObj, value) {\n        if (typeof keyOrObj === 'string') {\n            this.attrKV(keyOrObj, value);\n        }\n        else if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isObject\"])(keyOrObj)) {\n            var obj = keyOrObj;\n            var keysArr = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"keys\"])(obj);\n            for (var i = 0; i < keysArr.length; i++) {\n                var key = keysArr[i];\n                this.attrKV(key, keyOrObj[key]);\n            }\n        }\n        this.markRedraw();\n        return this;\n    };\n    Element.prototype.saveCurrentToNormalState = function (toState) {\n        this._innerSaveToNormal(toState);\n        var normalState = this._normalState;\n        for (var i = 0; i < this.animators.length; i++) {\n            var animator = this.animators[i];\n            var fromStateTransition = animator.__fromStateTransition;\n            if (animator.getLoop() || fromStateTransition && fromStateTransition !== PRESERVED_NORMAL_STATE) {\n                continue;\n            }\n            var targetName = animator.targetName;\n            var target = targetName\n                ? normalState[targetName] : normalState;\n            animator.saveTo(target);\n        }\n    };\n    Element.prototype._innerSaveToNormal = function (toState) {\n        var normalState = this._normalState;\n        if (!normalState) {\n            normalState = this._normalState = {};\n        }\n        if (toState.textConfig && !normalState.textConfig) {\n            normalState.textConfig = this.textConfig;\n        }\n        this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS);\n    };\n    Element.prototype._savePrimaryToNormal = function (toState, normalState, primaryKeys) {\n        for (var i = 0; i < primaryKeys.length; i++) {\n            var key = primaryKeys[i];\n            if (toState[key] != null && !(key in normalState)) {\n                normalState[key] = this[key];\n            }\n        }\n    };\n    Element.prototype.hasState = function () {\n        return this.currentStates.length > 0;\n    };\n    Element.prototype.getState = function (name) {\n        return this.states[name];\n    };\n    Element.prototype.ensureState = function (name) {\n        var states = this.states;\n        if (!states[name]) {\n            states[name] = {};\n        }\n        return states[name];\n    };\n    Element.prototype.clearStates = function (noAnimation) {\n        this.useState(PRESERVED_NORMAL_STATE, false, noAnimation);\n    };\n    Element.prototype.useState = function (stateName, keepCurrentStates, noAnimation, forceUseHoverLayer) {\n        var toNormalState = stateName === PRESERVED_NORMAL_STATE;\n        var hasStates = this.hasState();\n        if (!hasStates && toNormalState) {\n            return;\n        }\n        var currentStates = this.currentStates;\n        var animationCfg = this.stateTransition;\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(currentStates, stateName) >= 0 && (keepCurrentStates || currentStates.length === 1)) {\n            return;\n        }\n        var state;\n        if (this.stateProxy && !toNormalState) {\n            state = this.stateProxy(stateName);\n        }\n        if (!state) {\n            state = (this.states && this.states[stateName]);\n        }\n        if (!state && !toNormalState) {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"logError\"])(\"State \" + stateName + \" not exists.\");\n            return;\n        }\n        if (!toNormalState) {\n            this.saveCurrentToNormalState(state);\n        }\n        var useHoverLayer = !!((state && state.hoverLayer) || forceUseHoverLayer);\n        if (useHoverLayer) {\n            this._toggleHoverLayerFlag(true);\n        }\n        this._applyStateObj(stateName, state, this._normalState, keepCurrentStates, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);\n        var textContent = this._textContent;\n        var textGuide = this._textGuide;\n        if (textContent) {\n            textContent.useState(stateName, keepCurrentStates, noAnimation, useHoverLayer);\n        }\n        if (textGuide) {\n            textGuide.useState(stateName, keepCurrentStates, noAnimation, useHoverLayer);\n        }\n        if (toNormalState) {\n            this.currentStates = [];\n            this._normalState = {};\n        }\n        else {\n            if (!keepCurrentStates) {\n                this.currentStates = [stateName];\n            }\n            else {\n                this.currentStates.push(stateName);\n            }\n        }\n        this._updateAnimationTargets();\n        this.markRedraw();\n        if (!useHoverLayer && this.__inHover) {\n            this._toggleHoverLayerFlag(false);\n            this.__dirty &= ~_graphic_constants_js__WEBPACK_IMPORTED_MODULE_8__[\"REDRAW_BIT\"];\n        }\n        return state;\n    };\n    Element.prototype.useStates = function (states, noAnimation, forceUseHoverLayer) {\n        if (!states.length) {\n            this.clearStates();\n        }\n        else {\n            var stateObjects = [];\n            var currentStates = this.currentStates;\n            var len = states.length;\n            var notChange = len === currentStates.length;\n            if (notChange) {\n                for (var i = 0; i < len; i++) {\n                    if (states[i] !== currentStates[i]) {\n                        notChange = false;\n                        break;\n                    }\n                }\n            }\n            if (notChange) {\n                return;\n            }\n            for (var i = 0; i < len; i++) {\n                var stateName = states[i];\n                var stateObj = void 0;\n                if (this.stateProxy) {\n                    stateObj = this.stateProxy(stateName, states);\n                }\n                if (!stateObj) {\n                    stateObj = this.states[stateName];\n                }\n                if (stateObj) {\n                    stateObjects.push(stateObj);\n                }\n            }\n            var lastStateObj = stateObjects[len - 1];\n            var useHoverLayer = !!((lastStateObj && lastStateObj.hoverLayer) || forceUseHoverLayer);\n            if (useHoverLayer) {\n                this._toggleHoverLayerFlag(true);\n            }\n            var mergedState = this._mergeStates(stateObjects);\n            var animationCfg = this.stateTransition;\n            this.saveCurrentToNormalState(mergedState);\n            this._applyStateObj(states.join(','), mergedState, this._normalState, false, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);\n            var textContent = this._textContent;\n            var textGuide = this._textGuide;\n            if (textContent) {\n                textContent.useStates(states, noAnimation, useHoverLayer);\n            }\n            if (textGuide) {\n                textGuide.useStates(states, noAnimation, useHoverLayer);\n            }\n            this._updateAnimationTargets();\n            this.currentStates = states.slice();\n            this.markRedraw();\n            if (!useHoverLayer && this.__inHover) {\n                this._toggleHoverLayerFlag(false);\n                this.__dirty &= ~_graphic_constants_js__WEBPACK_IMPORTED_MODULE_8__[\"REDRAW_BIT\"];\n            }\n        }\n    };\n    Element.prototype._updateAnimationTargets = function () {\n        for (var i = 0; i < this.animators.length; i++) {\n            var animator = this.animators[i];\n            if (animator.targetName) {\n                animator.changeTarget(this[animator.targetName]);\n            }\n        }\n    };\n    Element.prototype.removeState = function (state) {\n        var idx = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(this.currentStates, state);\n        if (idx >= 0) {\n            var currentStates = this.currentStates.slice();\n            currentStates.splice(idx, 1);\n            this.useStates(currentStates);\n        }\n    };\n    Element.prototype.replaceState = function (oldState, newState, forceAdd) {\n        var currentStates = this.currentStates.slice();\n        var idx = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(currentStates, oldState);\n        var newStateExists = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(currentStates, newState) >= 0;\n        if (idx >= 0) {\n            if (!newStateExists) {\n                currentStates[idx] = newState;\n            }\n            else {\n                currentStates.splice(idx, 1);\n            }\n        }\n        else if (forceAdd && !newStateExists) {\n            currentStates.push(newState);\n        }\n        this.useStates(currentStates);\n    };\n    Element.prototype.toggleState = function (state, enable) {\n        if (enable) {\n            this.useState(state, true);\n        }\n        else {\n            this.removeState(state);\n        }\n    };\n    Element.prototype._mergeStates = function (states) {\n        var mergedState = {};\n        var mergedTextConfig;\n        for (var i = 0; i < states.length; i++) {\n            var state = states[i];\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(mergedState, state);\n            if (state.textConfig) {\n                mergedTextConfig = mergedTextConfig || {};\n                Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(mergedTextConfig, state.textConfig);\n            }\n        }\n        if (mergedTextConfig) {\n            mergedState.textConfig = mergedTextConfig;\n        }\n        return mergedState;\n    };\n    Element.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n        var needsRestoreToNormal = !(state && keepCurrentStates);\n        if (state && state.textConfig) {\n            this.textConfig = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])({}, keepCurrentStates ? this.textConfig : normalState.textConfig);\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(this.textConfig, state.textConfig);\n        }\n        else if (needsRestoreToNormal) {\n            if (normalState.textConfig) {\n                this.textConfig = normalState.textConfig;\n            }\n        }\n        var transitionTarget = {};\n        var hasTransition = false;\n        for (var i = 0; i < PRIMARY_STATES_KEYS.length; i++) {\n            var key = PRIMARY_STATES_KEYS[i];\n            var propNeedsTransition = transition && DEFAULT_ANIMATABLE_MAP[key];\n            if (state && state[key] != null) {\n                if (propNeedsTransition) {\n                    hasTransition = true;\n                    transitionTarget[key] = state[key];\n                }\n                else {\n                    this[key] = state[key];\n                }\n            }\n            else if (needsRestoreToNormal) {\n                if (normalState[key] != null) {\n                    if (propNeedsTransition) {\n                        hasTransition = true;\n                        transitionTarget[key] = normalState[key];\n                    }\n                    else {\n                        this[key] = normalState[key];\n                    }\n                }\n            }\n        }\n        if (!transition) {\n            for (var i = 0; i < this.animators.length; i++) {\n                var animator = this.animators[i];\n                var targetName = animator.targetName;\n                if (!animator.getLoop()) {\n                    animator.__changeFinalValue(targetName\n                        ? (state || normalState)[targetName]\n                        : (state || normalState));\n                }\n            }\n        }\n        if (hasTransition) {\n            this._transitionState(stateName, transitionTarget, animationCfg);\n        }\n    };\n    Element.prototype._attachComponent = function (componentEl) {\n        if (componentEl.__zr && !componentEl.__hostTarget) {\n            if (true) {\n                throw new Error('Text element has been added to zrender.');\n            }\n            return;\n        }\n        if (componentEl === this) {\n            if (true) {\n                throw new Error('Recursive component attachment.');\n            }\n            return;\n        }\n        var zr = this.__zr;\n        if (zr) {\n            componentEl.addSelfToZr(zr);\n        }\n        componentEl.__zr = zr;\n        componentEl.__hostTarget = this;\n    };\n    Element.prototype._detachComponent = function (componentEl) {\n        if (componentEl.__zr) {\n            componentEl.removeSelfFromZr(componentEl.__zr);\n        }\n        componentEl.__zr = null;\n        componentEl.__hostTarget = null;\n    };\n    Element.prototype.getClipPath = function () {\n        return this._clipPath;\n    };\n    Element.prototype.setClipPath = function (clipPath) {\n        if (this._clipPath && this._clipPath !== clipPath) {\n            this.removeClipPath();\n        }\n        this._attachComponent(clipPath);\n        this._clipPath = clipPath;\n        this.markRedraw();\n    };\n    Element.prototype.removeClipPath = function () {\n        var clipPath = this._clipPath;\n        if (clipPath) {\n            this._detachComponent(clipPath);\n            this._clipPath = null;\n            this.markRedraw();\n        }\n    };\n    Element.prototype.getTextContent = function () {\n        return this._textContent;\n    };\n    Element.prototype.setTextContent = function (textEl) {\n        var previousTextContent = this._textContent;\n        if (previousTextContent === textEl) {\n            return;\n        }\n        if (previousTextContent && previousTextContent !== textEl) {\n            this.removeTextContent();\n        }\n        if (true) {\n            if (textEl.__zr && !textEl.__hostTarget) {\n                throw new Error('Text element has been added to zrender.');\n            }\n        }\n        textEl.innerTransformable = new _core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n        this._attachComponent(textEl);\n        this._textContent = textEl;\n        this.markRedraw();\n    };\n    Element.prototype.setTextConfig = function (cfg) {\n        if (!this.textConfig) {\n            this.textConfig = {};\n        }\n        Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(this.textConfig, cfg);\n        this.markRedraw();\n    };\n    Element.prototype.removeTextConfig = function () {\n        this.textConfig = null;\n        this.markRedraw();\n    };\n    Element.prototype.removeTextContent = function () {\n        var textEl = this._textContent;\n        if (textEl) {\n            textEl.innerTransformable = null;\n            this._detachComponent(textEl);\n            this._textContent = null;\n            this._innerTextDefaultStyle = null;\n            this.markRedraw();\n        }\n    };\n    Element.prototype.getTextGuideLine = function () {\n        return this._textGuide;\n    };\n    Element.prototype.setTextGuideLine = function (guideLine) {\n        if (this._textGuide && this._textGuide !== guideLine) {\n            this.removeTextGuideLine();\n        }\n        this._attachComponent(guideLine);\n        this._textGuide = guideLine;\n        this.markRedraw();\n    };\n    Element.prototype.removeTextGuideLine = function () {\n        var textGuide = this._textGuide;\n        if (textGuide) {\n            this._detachComponent(textGuide);\n            this._textGuide = null;\n            this.markRedraw();\n        }\n    };\n    Element.prototype.markRedraw = function () {\n        this.__dirty |= _graphic_constants_js__WEBPACK_IMPORTED_MODULE_8__[\"REDRAW_BIT\"];\n        var zr = this.__zr;\n        if (zr) {\n            if (this.__inHover) {\n                zr.refreshHover();\n            }\n            else {\n                zr.refresh();\n            }\n        }\n        if (this.__hostTarget) {\n            this.__hostTarget.markRedraw();\n        }\n    };\n    Element.prototype.dirty = function () {\n        this.markRedraw();\n    };\n    Element.prototype._toggleHoverLayerFlag = function (inHover) {\n        this.__inHover = inHover;\n        var textContent = this._textContent;\n        var textGuide = this._textGuide;\n        if (textContent) {\n            textContent.__inHover = inHover;\n        }\n        if (textGuide) {\n            textGuide.__inHover = inHover;\n        }\n    };\n    Element.prototype.addSelfToZr = function (zr) {\n        if (this.__zr === zr) {\n            return;\n        }\n        this.__zr = zr;\n        var animators = this.animators;\n        if (animators) {\n            for (var i = 0; i < animators.length; i++) {\n                zr.animation.addAnimator(animators[i]);\n            }\n        }\n        if (this._clipPath) {\n            this._clipPath.addSelfToZr(zr);\n        }\n        if (this._textContent) {\n            this._textContent.addSelfToZr(zr);\n        }\n        if (this._textGuide) {\n            this._textGuide.addSelfToZr(zr);\n        }\n    };\n    Element.prototype.removeSelfFromZr = function (zr) {\n        if (!this.__zr) {\n            return;\n        }\n        this.__zr = null;\n        var animators = this.animators;\n        if (animators) {\n            for (var i = 0; i < animators.length; i++) {\n                zr.animation.removeAnimator(animators[i]);\n            }\n        }\n        if (this._clipPath) {\n            this._clipPath.removeSelfFromZr(zr);\n        }\n        if (this._textContent) {\n            this._textContent.removeSelfFromZr(zr);\n        }\n        if (this._textGuide) {\n            this._textGuide.removeSelfFromZr(zr);\n        }\n    };\n    Element.prototype.animate = function (key, loop, allowDiscreteAnimation) {\n        var target = key ? this[key] : this;\n        if (true) {\n            if (!target) {\n                Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"logError\"])('Property \"'\n                    + key\n                    + '\" is not existed in element '\n                    + this.id);\n                return;\n            }\n        }\n        var animator = new _animation_Animator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](target, loop, allowDiscreteAnimation);\n        key && (animator.targetName = key);\n        this.addAnimator(animator, key);\n        return animator;\n    };\n    Element.prototype.addAnimator = function (animator, key) {\n        var zr = this.__zr;\n        var el = this;\n        animator.during(function () {\n            el.updateDuringAnimation(key);\n        }).done(function () {\n            var animators = el.animators;\n            var idx = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(animators, animator);\n            if (idx >= 0) {\n                animators.splice(idx, 1);\n            }\n        });\n        this.animators.push(animator);\n        if (zr) {\n            zr.animation.addAnimator(animator);\n        }\n        zr && zr.wakeUp();\n    };\n    Element.prototype.updateDuringAnimation = function (key) {\n        this.markRedraw();\n    };\n    Element.prototype.stopAnimation = function (scope, forwardToLast) {\n        var animators = this.animators;\n        var len = animators.length;\n        var leftAnimators = [];\n        for (var i = 0; i < len; i++) {\n            var animator = animators[i];\n            if (!scope || scope === animator.scope) {\n                animator.stop(forwardToLast);\n            }\n            else {\n                leftAnimators.push(animator);\n            }\n        }\n        this.animators = leftAnimators;\n        return this;\n    };\n    Element.prototype.animateTo = function (target, cfg, animationProps) {\n        animateTo(this, target, cfg, animationProps);\n    };\n    Element.prototype.animateFrom = function (target, cfg, animationProps) {\n        animateTo(this, target, cfg, animationProps, true);\n    };\n    Element.prototype._transitionState = function (stateName, target, cfg, animationProps) {\n        var animators = animateTo(this, target, cfg, animationProps);\n        for (var i = 0; i < animators.length; i++) {\n            animators[i].__fromStateTransition = stateName;\n        }\n    };\n    Element.prototype.getBoundingRect = function () {\n        return null;\n    };\n    Element.prototype.getPaintRect = function () {\n        return null;\n    };\n    Element.initDefaultProps = (function () {\n        var elProto = Element.prototype;\n        elProto.type = 'element';\n        elProto.name = '';\n        elProto.ignore =\n            elProto.silent =\n                elProto.isGroup =\n                    elProto.draggable =\n                        elProto.dragging =\n                            elProto.ignoreClip =\n                                elProto.__inHover = false;\n        elProto.__dirty = _graphic_constants_js__WEBPACK_IMPORTED_MODULE_8__[\"REDRAW_BIT\"];\n        var logs = {};\n        function logDeprecatedError(key, xKey, yKey) {\n            if (!logs[key + xKey + yKey]) {\n                console.warn(\"DEPRECATED: '\" + key + \"' has been deprecated. use '\" + xKey + \"', '\" + yKey + \"' instead\");\n                logs[key + xKey + yKey] = true;\n            }\n        }\n        function createLegacyProperty(key, privateKey, xKey, yKey) {\n            Object.defineProperty(elProto, key, {\n                get: function () {\n                    if (true) {\n                        logDeprecatedError(key, xKey, yKey);\n                    }\n                    if (!this[privateKey]) {\n                        var pos = this[privateKey] = [];\n                        enhanceArray(this, pos);\n                    }\n                    return this[privateKey];\n                },\n                set: function (pos) {\n                    if (true) {\n                        logDeprecatedError(key, xKey, yKey);\n                    }\n                    this[xKey] = pos[0];\n                    this[yKey] = pos[1];\n                    this[privateKey] = pos;\n                    enhanceArray(this, pos);\n                }\n            });\n            function enhanceArray(self, pos) {\n                Object.defineProperty(pos, 0, {\n                    get: function () {\n                        return self[xKey];\n                    },\n                    set: function (val) {\n                        self[xKey] = val;\n                    }\n                });\n                Object.defineProperty(pos, 1, {\n                    get: function () {\n                        return self[yKey];\n                    },\n                    set: function (val) {\n                        self[yKey] = val;\n                    }\n                });\n            }\n        }\n        if (Object.defineProperty) {\n            createLegacyProperty('position', '_legacyPos', 'x', 'y');\n            createLegacyProperty('scale', '_legacyScale', 'scaleX', 'scaleY');\n            createLegacyProperty('origin', '_legacyOrigin', 'originX', 'originY');\n        }\n    })();\n    return Element;\n}());\nObject(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"mixin\"])(Element, _core_Eventful_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nObject(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"mixin\"])(Element, _core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nfunction animateTo(animatable, target, cfg, animationProps, reverse) {\n    cfg = cfg || {};\n    var animators = [];\n    animateToShallow(animatable, '', animatable, target, cfg, animationProps, animators, reverse);\n    var finishCount = animators.length;\n    var doneHappened = false;\n    var cfgDone = cfg.done;\n    var cfgAborted = cfg.aborted;\n    var doneCb = function () {\n        doneHappened = true;\n        finishCount--;\n        if (finishCount <= 0) {\n            doneHappened\n                ? (cfgDone && cfgDone())\n                : (cfgAborted && cfgAborted());\n        }\n    };\n    var abortedCb = function () {\n        finishCount--;\n        if (finishCount <= 0) {\n            doneHappened\n                ? (cfgDone && cfgDone())\n                : (cfgAborted && cfgAborted());\n        }\n    };\n    if (!finishCount) {\n        cfgDone && cfgDone();\n    }\n    if (animators.length > 0 && cfg.during) {\n        animators[0].during(function (target, percent) {\n            cfg.during(percent);\n        });\n    }\n    for (var i = 0; i < animators.length; i++) {\n        var animator = animators[i];\n        if (doneCb) {\n            animator.done(doneCb);\n        }\n        if (abortedCb) {\n            animator.aborted(abortedCb);\n        }\n        if (cfg.force) {\n            animator.duration(cfg.duration);\n        }\n        animator.start(cfg.easing);\n    }\n    return animators;\n}\nfunction copyArrShallow(source, target, len) {\n    for (var i = 0; i < len; i++) {\n        source[i] = target[i];\n    }\n}\nfunction is2DArray(value) {\n    return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArrayLike\"])(value[0]);\n}\nfunction copyValue(target, source, key) {\n    if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArrayLike\"])(source[key])) {\n        if (!Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArrayLike\"])(target[key])) {\n            target[key] = [];\n        }\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isTypedArray\"])(source[key])) {\n            var len = source[key].length;\n            if (target[key].length !== len) {\n                target[key] = new (source[key].constructor)(len);\n                copyArrShallow(target[key], source[key], len);\n            }\n        }\n        else {\n            var sourceArr = source[key];\n            var targetArr = target[key];\n            var len0 = sourceArr.length;\n            if (is2DArray(sourceArr)) {\n                var len1 = sourceArr[0].length;\n                for (var i = 0; i < len0; i++) {\n                    if (!targetArr[i]) {\n                        targetArr[i] = Array.prototype.slice.call(sourceArr[i]);\n                    }\n                    else {\n                        copyArrShallow(targetArr[i], sourceArr[i], len1);\n                    }\n                }\n            }\n            else {\n                copyArrShallow(targetArr, sourceArr, len0);\n            }\n            targetArr.length = sourceArr.length;\n        }\n    }\n    else {\n        target[key] = source[key];\n    }\n}\nfunction isValueSame(val1, val2) {\n    return val1 === val2\n        || Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArrayLike\"])(val1) && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArrayLike\"])(val2) && is1DArraySame(val1, val2);\n}\nfunction is1DArraySame(arr0, arr1) {\n    var len = arr0.length;\n    if (len !== arr1.length) {\n        return false;\n    }\n    for (var i = 0; i < len; i++) {\n        if (arr0[i] !== arr1[i]) {\n            return false;\n        }\n    }\n    return true;\n}\nfunction animateToShallow(animatable, topKey, animateObj, target, cfg, animationProps, animators, reverse) {\n    var targetKeys = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"keys\"])(target);\n    var duration = cfg.duration;\n    var delay = cfg.delay;\n    var additive = cfg.additive;\n    var setToFinal = cfg.setToFinal;\n    var animateAll = !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isObject\"])(animationProps);\n    var existsAnimators = animatable.animators;\n    var animationKeys = [];\n    for (var k = 0; k < targetKeys.length; k++) {\n        var innerKey = targetKeys[k];\n        var targetVal = target[innerKey];\n        if (targetVal != null && animateObj[innerKey] != null\n            && (animateAll || animationProps[innerKey])) {\n            if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isObject\"])(targetVal)\n                && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isArrayLike\"])(targetVal)\n                && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isGradientObject\"])(targetVal)) {\n                if (topKey) {\n                    if (!reverse) {\n                        animateObj[innerKey] = targetVal;\n                        animatable.updateDuringAnimation(topKey);\n                    }\n                    continue;\n                }\n                animateToShallow(animatable, innerKey, animateObj[innerKey], targetVal, cfg, animationProps && animationProps[innerKey], animators, reverse);\n            }\n            else {\n                animationKeys.push(innerKey);\n            }\n        }\n        else if (!reverse) {\n            animateObj[innerKey] = targetVal;\n            animatable.updateDuringAnimation(topKey);\n            animationKeys.push(innerKey);\n        }\n    }\n    var keyLen = animationKeys.length;\n    if (!additive && keyLen) {\n        for (var i = 0; i < existsAnimators.length; i++) {\n            var animator = existsAnimators[i];\n            if (animator.targetName === topKey) {\n                var allAborted = animator.stopTracks(animationKeys);\n                if (allAborted) {\n                    var idx = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"indexOf\"])(existsAnimators, animator);\n                    existsAnimators.splice(idx, 1);\n                }\n            }\n        }\n    }\n    if (!cfg.force) {\n        animationKeys = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"filter\"])(animationKeys, function (key) { return !isValueSame(target[key], animateObj[key]); });\n        keyLen = animationKeys.length;\n    }\n    if (keyLen > 0\n        || (cfg.force && !animators.length)) {\n        var revertedSource = void 0;\n        var reversedTarget = void 0;\n        var sourceClone = void 0;\n        if (reverse) {\n            reversedTarget = {};\n            if (setToFinal) {\n                revertedSource = {};\n            }\n            for (var i = 0; i < keyLen; i++) {\n                var innerKey = animationKeys[i];\n                reversedTarget[innerKey] = animateObj[innerKey];\n                if (setToFinal) {\n                    revertedSource[innerKey] = target[innerKey];\n                }\n                else {\n                    animateObj[innerKey] = target[innerKey];\n                }\n            }\n        }\n        else if (setToFinal) {\n            sourceClone = {};\n            for (var i = 0; i < keyLen; i++) {\n                var innerKey = animationKeys[i];\n                sourceClone[innerKey] = Object(_animation_Animator_js__WEBPACK_IMPORTED_MODULE_1__[\"cloneValue\"])(animateObj[innerKey]);\n                copyValue(animateObj, target, innerKey);\n            }\n        }\n        var animator = new _animation_Animator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](animateObj, false, false, additive ? Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"filter\"])(existsAnimators, function (animator) { return animator.targetName === topKey; }) : null);\n        animator.targetName = topKey;\n        if (cfg.scope) {\n            animator.scope = cfg.scope;\n        }\n        if (setToFinal && revertedSource) {\n            animator.whenWithKeys(0, revertedSource, animationKeys);\n        }\n        if (sourceClone) {\n            animator.whenWithKeys(0, sourceClone, animationKeys);\n        }\n        animator.whenWithKeys(duration == null ? 500 : duration, reverse ? reversedTarget : target, animationKeys).delay(delay || 0);\n        animatable.addAnimator(animator, topKey);\n        animators.push(animator);\n    }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Element);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/Element.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/Handler.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/Handler.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_vector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _mixin_Draggable_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mixin/Draggable.js */ \"./node_modules/echarts/node_modules/zrender/lib/mixin/Draggable.js\");\n/* harmony import */ var _core_Eventful_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _core_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _core_GestureMgr_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/GestureMgr.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/GestureMgr.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n\n\n\n\n\n\n\n\nvar SILENT = 'silent';\nfunction makeEventPacket(eveType, targetInfo, event) {\n    return {\n        type: eveType,\n        event: event,\n        target: targetInfo.target,\n        topTarget: targetInfo.topTarget,\n        cancelBubble: false,\n        offsetX: event.zrX,\n        offsetY: event.zrY,\n        gestureEvent: event.gestureEvent,\n        pinchX: event.pinchX,\n        pinchY: event.pinchY,\n        pinchScale: event.pinchScale,\n        wheelDelta: event.zrDelta,\n        zrByTouch: event.zrByTouch,\n        which: event.which,\n        stop: stopEvent\n    };\n}\nfunction stopEvent() {\n    _core_event_js__WEBPACK_IMPORTED_MODULE_5__[\"stop\"](this.event);\n}\nvar EmptyProxy = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EmptyProxy, _super);\n    function EmptyProxy() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.handler = null;\n        return _this;\n    }\n    EmptyProxy.prototype.dispose = function () { };\n    EmptyProxy.prototype.setCursor = function () { };\n    return EmptyProxy;\n}(_core_Eventful_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\nvar HoveredResult = (function () {\n    function HoveredResult(x, y) {\n        this.x = x;\n        this.y = y;\n    }\n    return HoveredResult;\n}());\nvar handlerNames = [\n    'click', 'dblclick', 'mousewheel', 'mouseout',\n    'mouseup', 'mousedown', 'mousemove', 'contextmenu'\n];\nvar tmpRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](0, 0, 0, 0);\nvar Handler = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Handler, _super);\n    function Handler(storage, painter, proxy, painterRoot, pointerSize) {\n        var _this = _super.call(this) || this;\n        _this._hovered = new HoveredResult(0, 0);\n        _this.storage = storage;\n        _this.painter = painter;\n        _this.painterRoot = painterRoot;\n        _this._pointerSize = pointerSize;\n        proxy = proxy || new EmptyProxy();\n        _this.proxy = null;\n        _this.setHandlerProxy(proxy);\n        _this._draggingMgr = new _mixin_Draggable_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](_this);\n        return _this;\n    }\n    Handler.prototype.setHandlerProxy = function (proxy) {\n        if (this.proxy) {\n            this.proxy.dispose();\n        }\n        if (proxy) {\n            _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](handlerNames, function (name) {\n                proxy.on && proxy.on(name, this[name], this);\n            }, this);\n            proxy.handler = this;\n        }\n        this.proxy = proxy;\n    };\n    Handler.prototype.mousemove = function (event) {\n        var x = event.zrX;\n        var y = event.zrY;\n        var isOutside = isOutsideBoundary(this, x, y);\n        var lastHovered = this._hovered;\n        var lastHoveredTarget = lastHovered.target;\n        if (lastHoveredTarget && !lastHoveredTarget.__zr) {\n            lastHovered = this.findHover(lastHovered.x, lastHovered.y);\n            lastHoveredTarget = lastHovered.target;\n        }\n        var hovered = this._hovered = isOutside ? new HoveredResult(x, y) : this.findHover(x, y);\n        var hoveredTarget = hovered.target;\n        var proxy = this.proxy;\n        proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default');\n        if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {\n            this.dispatchToElement(lastHovered, 'mouseout', event);\n        }\n        this.dispatchToElement(hovered, 'mousemove', event);\n        if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {\n            this.dispatchToElement(hovered, 'mouseover', event);\n        }\n    };\n    Handler.prototype.mouseout = function (event) {\n        var eventControl = event.zrEventControl;\n        if (eventControl !== 'only_globalout') {\n            this.dispatchToElement(this._hovered, 'mouseout', event);\n        }\n        if (eventControl !== 'no_globalout') {\n            this.trigger('globalout', { type: 'globalout', event: event });\n        }\n    };\n    Handler.prototype.resize = function () {\n        this._hovered = new HoveredResult(0, 0);\n    };\n    Handler.prototype.dispatch = function (eventName, eventArgs) {\n        var handler = this[eventName];\n        handler && handler.call(this, eventArgs);\n    };\n    Handler.prototype.dispose = function () {\n        this.proxy.dispose();\n        this.storage = null;\n        this.proxy = null;\n        this.painter = null;\n    };\n    Handler.prototype.setCursorStyle = function (cursorStyle) {\n        var proxy = this.proxy;\n        proxy.setCursor && proxy.setCursor(cursorStyle);\n    };\n    Handler.prototype.dispatchToElement = function (targetInfo, eventName, event) {\n        targetInfo = targetInfo || {};\n        var el = targetInfo.target;\n        if (el && el.silent) {\n            return;\n        }\n        var eventKey = ('on' + eventName);\n        var eventPacket = makeEventPacket(eventName, targetInfo, event);\n        while (el) {\n            el[eventKey]\n                && (eventPacket.cancelBubble = !!el[eventKey].call(el, eventPacket));\n            el.trigger(eventName, eventPacket);\n            el = el.__hostTarget ? el.__hostTarget : el.parent;\n            if (eventPacket.cancelBubble) {\n                break;\n            }\n        }\n        if (!eventPacket.cancelBubble) {\n            this.trigger(eventName, eventPacket);\n            if (this.painter && this.painter.eachOtherLayer) {\n                this.painter.eachOtherLayer(function (layer) {\n                    if (typeof (layer[eventKey]) === 'function') {\n                        layer[eventKey].call(layer, eventPacket);\n                    }\n                    if (layer.trigger) {\n                        layer.trigger(eventName, eventPacket);\n                    }\n                });\n            }\n        }\n    };\n    Handler.prototype.findHover = function (x, y, exclude) {\n        var list = this.storage.getDisplayList();\n        var out = new HoveredResult(x, y);\n        setHoverTarget(list, out, x, y, exclude);\n        if (this._pointerSize && !out.target) {\n            var candidates = [];\n            var pointerSize = this._pointerSize;\n            var targetSizeHalf = pointerSize / 2;\n            var pointerRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](x - targetSizeHalf, y - targetSizeHalf, pointerSize, pointerSize);\n            for (var i = list.length - 1; i >= 0; i--) {\n                var el = list[i];\n                if (el !== exclude\n                    && !el.ignore\n                    && !el.ignoreCoarsePointer\n                    && (!el.parent || !el.parent.ignoreCoarsePointer)) {\n                    tmpRect.copy(el.getBoundingRect());\n                    if (el.transform) {\n                        tmpRect.applyTransform(el.transform);\n                    }\n                    if (tmpRect.intersect(pointerRect)) {\n                        candidates.push(el);\n                    }\n                }\n            }\n            if (candidates.length) {\n                var rStep = 4;\n                var thetaStep = Math.PI / 12;\n                var PI2 = Math.PI * 2;\n                for (var r = 0; r < targetSizeHalf; r += rStep) {\n                    for (var theta = 0; theta < PI2; theta += thetaStep) {\n                        var x1 = x + r * Math.cos(theta);\n                        var y1 = y + r * Math.sin(theta);\n                        setHoverTarget(candidates, out, x1, y1, exclude);\n                        if (out.target) {\n                            return out;\n                        }\n                    }\n                }\n            }\n        }\n        return out;\n    };\n    Handler.prototype.processGesture = function (event, stage) {\n        if (!this._gestureMgr) {\n            this._gestureMgr = new _core_GestureMgr_js__WEBPACK_IMPORTED_MODULE_6__[\"GestureMgr\"]();\n        }\n        var gestureMgr = this._gestureMgr;\n        stage === 'start' && gestureMgr.clear();\n        var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);\n        stage === 'end' && gestureMgr.clear();\n        if (gestureInfo) {\n            var type = gestureInfo.type;\n            event.gestureEvent = type;\n            var res = new HoveredResult();\n            res.target = gestureInfo.target;\n            this.dispatchToElement(res, type, gestureInfo.event);\n        }\n    };\n    return Handler;\n}(_core_Eventful_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\n_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {\n    Handler.prototype[name] = function (event) {\n        var x = event.zrX;\n        var y = event.zrY;\n        var isOutside = isOutsideBoundary(this, x, y);\n        var hovered;\n        var hoveredTarget;\n        if (name !== 'mouseup' || !isOutside) {\n            hovered = this.findHover(x, y);\n            hoveredTarget = hovered.target;\n        }\n        if (name === 'mousedown') {\n            this._downEl = hoveredTarget;\n            this._downPoint = [event.zrX, event.zrY];\n            this._upEl = hoveredTarget;\n        }\n        else if (name === 'mouseup') {\n            this._upEl = hoveredTarget;\n        }\n        else if (name === 'click') {\n            if (this._downEl !== this._upEl\n                || !this._downPoint\n                || _core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"dist\"](this._downPoint, [event.zrX, event.zrY]) > 4) {\n                return;\n            }\n            this._downPoint = null;\n        }\n        this.dispatchToElement(hovered, name, event);\n    };\n});\nfunction isHover(displayable, x, y) {\n    if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {\n        var el = displayable;\n        var isSilent = void 0;\n        var ignoreClip = false;\n        while (el) {\n            if (el.ignoreClip) {\n                ignoreClip = true;\n            }\n            if (!ignoreClip) {\n                var clipPath = el.getClipPath();\n                if (clipPath && !clipPath.contain(x, y)) {\n                    return false;\n                }\n                if (el.silent) {\n                    isSilent = true;\n                }\n            }\n            var hostEl = el.__hostTarget;\n            el = hostEl ? hostEl : el.parent;\n        }\n        return isSilent ? SILENT : true;\n    }\n    return false;\n}\nfunction setHoverTarget(list, out, x, y, exclude) {\n    for (var i = list.length - 1; i >= 0; i--) {\n        var el = list[i];\n        var hoverCheckResult = void 0;\n        if (el !== exclude\n            && !el.ignore\n            && (hoverCheckResult = isHover(el, x, y))) {\n            !out.topTarget && (out.topTarget = el);\n            if (hoverCheckResult !== SILENT) {\n                out.target = el;\n                break;\n            }\n        }\n    }\n}\nfunction isOutsideBoundary(handlerInstance, x, y) {\n    var painter = handlerInstance.painter;\n    return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Handler);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/Handler.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/Storage.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/Storage.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_timsort_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core/timsort.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/timsort.js\");\n/* harmony import */ var _graphic_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./graphic/constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n\n\n\nvar invalidZErrorLogged = false;\nfunction logInvalidZError() {\n    if (invalidZErrorLogged) {\n        return;\n    }\n    invalidZErrorLogged = true;\n    console.warn('z / z2 / zlevel of displayable is invalid, which may cause unexpected errors');\n}\nfunction shapeCompareFunc(a, b) {\n    if (a.zlevel === b.zlevel) {\n        if (a.z === b.z) {\n            return a.z2 - b.z2;\n        }\n        return a.z - b.z;\n    }\n    return a.zlevel - b.zlevel;\n}\nvar Storage = (function () {\n    function Storage() {\n        this._roots = [];\n        this._displayList = [];\n        this._displayListLen = 0;\n        this.displayableSortFunc = shapeCompareFunc;\n    }\n    Storage.prototype.traverse = function (cb, context) {\n        for (var i = 0; i < this._roots.length; i++) {\n            this._roots[i].traverse(cb, context);\n        }\n    };\n    Storage.prototype.getDisplayList = function (update, includeIgnore) {\n        includeIgnore = includeIgnore || false;\n        var displayList = this._displayList;\n        if (update || !displayList.length) {\n            this.updateDisplayList(includeIgnore);\n        }\n        return displayList;\n    };\n    Storage.prototype.updateDisplayList = function (includeIgnore) {\n        this._displayListLen = 0;\n        var roots = this._roots;\n        var displayList = this._displayList;\n        for (var i = 0, len = roots.length; i < len; i++) {\n            this._updateAndAddDisplayable(roots[i], null, includeIgnore);\n        }\n        displayList.length = this._displayListLen;\n        Object(_core_timsort_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(displayList, shapeCompareFunc);\n    };\n    Storage.prototype._updateAndAddDisplayable = function (el, clipPaths, includeIgnore) {\n        if (el.ignore && !includeIgnore) {\n            return;\n        }\n        el.beforeUpdate();\n        el.update();\n        el.afterUpdate();\n        var userSetClipPath = el.getClipPath();\n        if (el.ignoreClip) {\n            clipPaths = null;\n        }\n        else if (userSetClipPath) {\n            if (clipPaths) {\n                clipPaths = clipPaths.slice();\n            }\n            else {\n                clipPaths = [];\n            }\n            var currentClipPath = userSetClipPath;\n            var parentClipPath = el;\n            while (currentClipPath) {\n                currentClipPath.parent = parentClipPath;\n                currentClipPath.updateTransform();\n                clipPaths.push(currentClipPath);\n                parentClipPath = currentClipPath;\n                currentClipPath = currentClipPath.getClipPath();\n            }\n        }\n        if (el.childrenRef) {\n            var children = el.childrenRef();\n            for (var i = 0; i < children.length; i++) {\n                var child = children[i];\n                if (el.__dirty) {\n                    child.__dirty |= _graphic_constants_js__WEBPACK_IMPORTED_MODULE_2__[\"REDRAW_BIT\"];\n                }\n                this._updateAndAddDisplayable(child, clipPaths, includeIgnore);\n            }\n            el.__dirty = 0;\n        }\n        else {\n            var disp = el;\n            if (clipPaths && clipPaths.length) {\n                disp.__clipPaths = clipPaths;\n            }\n            else if (disp.__clipPaths && disp.__clipPaths.length > 0) {\n                disp.__clipPaths = [];\n            }\n            if (isNaN(disp.z)) {\n                logInvalidZError();\n                disp.z = 0;\n            }\n            if (isNaN(disp.z2)) {\n                logInvalidZError();\n                disp.z2 = 0;\n            }\n            if (isNaN(disp.zlevel)) {\n                logInvalidZError();\n                disp.zlevel = 0;\n            }\n            this._displayList[this._displayListLen++] = disp;\n        }\n        var decalEl = el.getDecalElement && el.getDecalElement();\n        if (decalEl) {\n            this._updateAndAddDisplayable(decalEl, clipPaths, includeIgnore);\n        }\n        var textGuide = el.getTextGuideLine();\n        if (textGuide) {\n            this._updateAndAddDisplayable(textGuide, clipPaths, includeIgnore);\n        }\n        var textEl = el.getTextContent();\n        if (textEl) {\n            this._updateAndAddDisplayable(textEl, clipPaths, includeIgnore);\n        }\n    };\n    Storage.prototype.addRoot = function (el) {\n        if (el.__zr && el.__zr.storage === this) {\n            return;\n        }\n        this._roots.push(el);\n    };\n    Storage.prototype.delRoot = function (el) {\n        if (el instanceof Array) {\n            for (var i = 0, l = el.length; i < l; i++) {\n                this.delRoot(el[i]);\n            }\n            return;\n        }\n        var idx = _core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"](this._roots, el);\n        if (idx >= 0) {\n            this._roots.splice(idx, 1);\n        }\n    };\n    Storage.prototype.delAllRoots = function () {\n        this._roots = [];\n        this._displayList = [];\n        this._displayListLen = 0;\n        return;\n    };\n    Storage.prototype.getRoots = function () {\n        return this._roots;\n    };\n    Storage.prototype.dispose = function () {\n        this._displayList = null;\n        this._roots = null;\n    };\n    return Storage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Storage);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/Storage.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/animation/Animation.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/animation/Animation.js ***!
  \******************************************************************************/
/*! exports provided: getTime, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTime\", function() { return getTime; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_Eventful_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./requestAnimationFrame.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/requestAnimationFrame.js\");\n/* harmony import */ var _Animator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Animator.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/Animator.js\");\n\n\n\n\nfunction getTime() {\n    return new Date().getTime();\n}\nvar Animation = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Animation, _super);\n    function Animation(opts) {\n        var _this = _super.call(this) || this;\n        _this._running = false;\n        _this._time = 0;\n        _this._pausedTime = 0;\n        _this._pauseStart = 0;\n        _this._paused = false;\n        opts = opts || {};\n        _this.stage = opts.stage || {};\n        return _this;\n    }\n    Animation.prototype.addClip = function (clip) {\n        if (clip.animation) {\n            this.removeClip(clip);\n        }\n        if (!this._head) {\n            this._head = this._tail = clip;\n        }\n        else {\n            this._tail.next = clip;\n            clip.prev = this._tail;\n            clip.next = null;\n            this._tail = clip;\n        }\n        clip.animation = this;\n    };\n    Animation.prototype.addAnimator = function (animator) {\n        animator.animation = this;\n        var clip = animator.getClip();\n        if (clip) {\n            this.addClip(clip);\n        }\n    };\n    Animation.prototype.removeClip = function (clip) {\n        if (!clip.animation) {\n            return;\n        }\n        var prev = clip.prev;\n        var next = clip.next;\n        if (prev) {\n            prev.next = next;\n        }\n        else {\n            this._head = next;\n        }\n        if (next) {\n            next.prev = prev;\n        }\n        else {\n            this._tail = prev;\n        }\n        clip.next = clip.prev = clip.animation = null;\n    };\n    Animation.prototype.removeAnimator = function (animator) {\n        var clip = animator.getClip();\n        if (clip) {\n            this.removeClip(clip);\n        }\n        animator.animation = null;\n    };\n    Animation.prototype.update = function (notTriggerFrameAndStageUpdate) {\n        var time = getTime() - this._pausedTime;\n        var delta = time - this._time;\n        var clip = this._head;\n        while (clip) {\n            var nextClip = clip.next;\n            var finished = clip.step(time, delta);\n            if (finished) {\n                clip.ondestroy();\n                this.removeClip(clip);\n                clip = nextClip;\n            }\n            else {\n                clip = nextClip;\n            }\n        }\n        this._time = time;\n        if (!notTriggerFrameAndStageUpdate) {\n            this.trigger('frame', delta);\n            this.stage.update && this.stage.update();\n        }\n    };\n    Animation.prototype._startLoop = function () {\n        var self = this;\n        this._running = true;\n        function step() {\n            if (self._running) {\n                Object(_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(step);\n                !self._paused && self.update();\n            }\n        }\n        Object(_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(step);\n    };\n    Animation.prototype.start = function () {\n        if (this._running) {\n            return;\n        }\n        this._time = getTime();\n        this._pausedTime = 0;\n        this._startLoop();\n    };\n    Animation.prototype.stop = function () {\n        this._running = false;\n    };\n    Animation.prototype.pause = function () {\n        if (!this._paused) {\n            this._pauseStart = getTime();\n            this._paused = true;\n        }\n    };\n    Animation.prototype.resume = function () {\n        if (this._paused) {\n            this._pausedTime += getTime() - this._pauseStart;\n            this._paused = false;\n        }\n    };\n    Animation.prototype.clear = function () {\n        var clip = this._head;\n        while (clip) {\n            var nextClip = clip.next;\n            clip.prev = clip.next = clip.animation = null;\n            clip = nextClip;\n        }\n        this._head = this._tail = null;\n    };\n    Animation.prototype.isFinished = function () {\n        return this._head == null;\n    };\n    Animation.prototype.animate = function (target, options) {\n        options = options || {};\n        this.start();\n        var animator = new _Animator_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](target, options.loop);\n        this.addAnimator(animator);\n        return animator;\n    };\n    return Animation;\n}(_core_Eventful_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Animation);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/animation/Animation.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/animation/Animator.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/animation/Animator.js ***!
  \*****************************************************************************/
/*! exports provided: cloneValue, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cloneValue\", function() { return cloneValue; });\n/* harmony import */ var _Clip_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Clip.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/Clip.js\");\n/* harmony import */ var _tool_color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _easing_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./easing.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/easing.js\");\n/* harmony import */ var _cubicEasing_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cubicEasing.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/cubicEasing.js\");\n/* harmony import */ var _svg_helper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../svg/helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/helper.js\");\n\n\n\n\n\n\n;\nvar arraySlice = Array.prototype.slice;\nfunction interpolateNumber(p0, p1, percent) {\n    return (p1 - p0) * percent + p0;\n}\nfunction interpolate1DArray(out, p0, p1, percent) {\n    var len = p0.length;\n    for (var i = 0; i < len; i++) {\n        out[i] = interpolateNumber(p0[i], p1[i], percent);\n    }\n    return out;\n}\nfunction interpolate2DArray(out, p0, p1, percent) {\n    var len = p0.length;\n    var len2 = len && p0[0].length;\n    for (var i = 0; i < len; i++) {\n        if (!out[i]) {\n            out[i] = [];\n        }\n        for (var j = 0; j < len2; j++) {\n            out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n        }\n    }\n    return out;\n}\nfunction add1DArray(out, p0, p1, sign) {\n    var len = p0.length;\n    for (var i = 0; i < len; i++) {\n        out[i] = p0[i] + p1[i] * sign;\n    }\n    return out;\n}\nfunction add2DArray(out, p0, p1, sign) {\n    var len = p0.length;\n    var len2 = len && p0[0].length;\n    for (var i = 0; i < len; i++) {\n        if (!out[i]) {\n            out[i] = [];\n        }\n        for (var j = 0; j < len2; j++) {\n            out[i][j] = p0[i][j] + p1[i][j] * sign;\n        }\n    }\n    return out;\n}\nfunction fillColorStops(val0, val1) {\n    var len0 = val0.length;\n    var len1 = val1.length;\n    var shorterArr = len0 > len1 ? val1 : val0;\n    var shorterLen = Math.min(len0, len1);\n    var last = shorterArr[shorterLen - 1] || { color: [0, 0, 0, 0], offset: 0 };\n    for (var i = shorterLen; i < Math.max(len0, len1); i++) {\n        shorterArr.push({\n            offset: last.offset,\n            color: last.color.slice()\n        });\n    }\n}\nfunction fillArray(val0, val1, arrDim) {\n    var arr0 = val0;\n    var arr1 = val1;\n    if (!arr0.push || !arr1.push) {\n        return;\n    }\n    var arr0Len = arr0.length;\n    var arr1Len = arr1.length;\n    if (arr0Len !== arr1Len) {\n        var isPreviousLarger = arr0Len > arr1Len;\n        if (isPreviousLarger) {\n            arr0.length = arr1Len;\n        }\n        else {\n            for (var i = arr0Len; i < arr1Len; i++) {\n                arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n            }\n        }\n    }\n    var len2 = arr0[0] && arr0[0].length;\n    for (var i = 0; i < arr0.length; i++) {\n        if (arrDim === 1) {\n            if (isNaN(arr0[i])) {\n                arr0[i] = arr1[i];\n            }\n        }\n        else {\n            for (var j = 0; j < len2; j++) {\n                if (isNaN(arr0[i][j])) {\n                    arr0[i][j] = arr1[i][j];\n                }\n            }\n        }\n    }\n}\nfunction cloneValue(value) {\n    if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArrayLike\"])(value)) {\n        var len = value.length;\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArrayLike\"])(value[0])) {\n            var ret = [];\n            for (var i = 0; i < len; i++) {\n                ret.push(arraySlice.call(value[i]));\n            }\n            return ret;\n        }\n        return arraySlice.call(value);\n    }\n    return value;\n}\nfunction rgba2String(rgba) {\n    rgba[0] = Math.floor(rgba[0]) || 0;\n    rgba[1] = Math.floor(rgba[1]) || 0;\n    rgba[2] = Math.floor(rgba[2]) || 0;\n    rgba[3] = rgba[3] == null ? 1 : rgba[3];\n    return 'rgba(' + rgba.join(',') + ')';\n}\nfunction guessArrayDim(value) {\n    return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArrayLike\"])(value && value[0]) ? 2 : 1;\n}\nvar VALUE_TYPE_NUMBER = 0;\nvar VALUE_TYPE_1D_ARRAY = 1;\nvar VALUE_TYPE_2D_ARRAY = 2;\nvar VALUE_TYPE_COLOR = 3;\nvar VALUE_TYPE_LINEAR_GRADIENT = 4;\nvar VALUE_TYPE_RADIAL_GRADIENT = 5;\nvar VALUE_TYPE_UNKOWN = 6;\nfunction isGradientValueType(valType) {\n    return valType === VALUE_TYPE_LINEAR_GRADIENT || valType === VALUE_TYPE_RADIAL_GRADIENT;\n}\nfunction isArrayValueType(valType) {\n    return valType === VALUE_TYPE_1D_ARRAY || valType === VALUE_TYPE_2D_ARRAY;\n}\nvar tmpRgba = [0, 0, 0, 0];\nvar Track = (function () {\n    function Track(propName) {\n        this.keyframes = [];\n        this.discrete = false;\n        this._invalid = false;\n        this._needsSort = false;\n        this._lastFr = 0;\n        this._lastFrP = 0;\n        this.propName = propName;\n    }\n    Track.prototype.isFinished = function () {\n        return this._finished;\n    };\n    Track.prototype.setFinished = function () {\n        this._finished = true;\n        if (this._additiveTrack) {\n            this._additiveTrack.setFinished();\n        }\n    };\n    Track.prototype.needsAnimate = function () {\n        return this.keyframes.length >= 1;\n    };\n    Track.prototype.getAdditiveTrack = function () {\n        return this._additiveTrack;\n    };\n    Track.prototype.addKeyframe = function (time, rawValue, easing) {\n        this._needsSort = true;\n        var keyframes = this.keyframes;\n        var len = keyframes.length;\n        var discrete = false;\n        var valType = VALUE_TYPE_UNKOWN;\n        var value = rawValue;\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isArrayLike\"])(rawValue)) {\n            var arrayDim = guessArrayDim(rawValue);\n            valType = arrayDim;\n            if (arrayDim === 1 && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(rawValue[0])\n                || arrayDim === 2 && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(rawValue[0][0])) {\n                discrete = true;\n            }\n        }\n        else {\n            if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isNumber\"])(rawValue) && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"eqNaN\"])(rawValue)) {\n                valType = VALUE_TYPE_NUMBER;\n            }\n            else if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isString\"])(rawValue)) {\n                if (!isNaN(+rawValue)) {\n                    valType = VALUE_TYPE_NUMBER;\n                }\n                else {\n                    var colorArray = _tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"parse\"](rawValue);\n                    if (colorArray) {\n                        value = colorArray;\n                        valType = VALUE_TYPE_COLOR;\n                    }\n                }\n            }\n            else if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isGradientObject\"])(rawValue)) {\n                var parsedGradient = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"extend\"])({}, value);\n                parsedGradient.colorStops = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(rawValue.colorStops, function (colorStop) { return ({\n                    offset: colorStop.offset,\n                    color: _tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"parse\"](colorStop.color)\n                }); });\n                if (Object(_svg_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"isLinearGradient\"])(rawValue)) {\n                    valType = VALUE_TYPE_LINEAR_GRADIENT;\n                }\n                else if (Object(_svg_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"isRadialGradient\"])(rawValue)) {\n                    valType = VALUE_TYPE_RADIAL_GRADIENT;\n                }\n                value = parsedGradient;\n            }\n        }\n        if (len === 0) {\n            this.valType = valType;\n        }\n        else if (valType !== this.valType || valType === VALUE_TYPE_UNKOWN) {\n            discrete = true;\n        }\n        this.discrete = this.discrete || discrete;\n        var kf = {\n            time: time,\n            value: value,\n            rawValue: rawValue,\n            percent: 0\n        };\n        if (easing) {\n            kf.easing = easing;\n            kf.easingFunc = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"isFunction\"])(easing)\n                ? easing\n                : _easing_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"][easing] || Object(_cubicEasing_js__WEBPACK_IMPORTED_MODULE_4__[\"createCubicEasingFunc\"])(easing);\n        }\n        keyframes.push(kf);\n        return kf;\n    };\n    Track.prototype.prepare = function (maxTime, additiveTrack) {\n        var kfs = this.keyframes;\n        if (this._needsSort) {\n            kfs.sort(function (a, b) {\n                return a.time - b.time;\n            });\n        }\n        var valType = this.valType;\n        var kfsLen = kfs.length;\n        var lastKf = kfs[kfsLen - 1];\n        var isDiscrete = this.discrete;\n        var isArr = isArrayValueType(valType);\n        var isGradient = isGradientValueType(valType);\n        for (var i = 0; i < kfsLen; i++) {\n            var kf = kfs[i];\n            var value = kf.value;\n            var lastValue = lastKf.value;\n            kf.percent = kf.time / maxTime;\n            if (!isDiscrete) {\n                if (isArr && i !== kfsLen - 1) {\n                    fillArray(value, lastValue, valType);\n                }\n                else if (isGradient) {\n                    fillColorStops(value.colorStops, lastValue.colorStops);\n                }\n            }\n        }\n        if (!isDiscrete\n            && valType !== VALUE_TYPE_RADIAL_GRADIENT\n            && additiveTrack\n            && this.needsAnimate()\n            && additiveTrack.needsAnimate()\n            && valType === additiveTrack.valType\n            && !additiveTrack._finished) {\n            this._additiveTrack = additiveTrack;\n            var startValue = kfs[0].value;\n            for (var i = 0; i < kfsLen; i++) {\n                if (valType === VALUE_TYPE_NUMBER) {\n                    kfs[i].additiveValue = kfs[i].value - startValue;\n                }\n                else if (valType === VALUE_TYPE_COLOR) {\n                    kfs[i].additiveValue =\n                        add1DArray([], kfs[i].value, startValue, -1);\n                }\n                else if (isArrayValueType(valType)) {\n                    kfs[i].additiveValue = valType === VALUE_TYPE_1D_ARRAY\n                        ? add1DArray([], kfs[i].value, startValue, -1)\n                        : add2DArray([], kfs[i].value, startValue, -1);\n                }\n            }\n        }\n    };\n    Track.prototype.step = function (target, percent) {\n        if (this._finished) {\n            return;\n        }\n        if (this._additiveTrack && this._additiveTrack._finished) {\n            this._additiveTrack = null;\n        }\n        var isAdditive = this._additiveTrack != null;\n        var valueKey = isAdditive ? 'additiveValue' : 'value';\n        var valType = this.valType;\n        var keyframes = this.keyframes;\n        var kfsNum = keyframes.length;\n        var propName = this.propName;\n        var isValueColor = valType === VALUE_TYPE_COLOR;\n        var frameIdx;\n        var lastFrame = this._lastFr;\n        var mathMin = Math.min;\n        var frame;\n        var nextFrame;\n        if (kfsNum === 1) {\n            frame = nextFrame = keyframes[0];\n        }\n        else {\n            if (percent < 0) {\n                frameIdx = 0;\n            }\n            else if (percent < this._lastFrP) {\n                var start = mathMin(lastFrame + 1, kfsNum - 1);\n                for (frameIdx = start; frameIdx >= 0; frameIdx--) {\n                    if (keyframes[frameIdx].percent <= percent) {\n                        break;\n                    }\n                }\n                frameIdx = mathMin(frameIdx, kfsNum - 2);\n            }\n            else {\n                for (frameIdx = lastFrame; frameIdx < kfsNum; frameIdx++) {\n                    if (keyframes[frameIdx].percent > percent) {\n                        break;\n                    }\n                }\n                frameIdx = mathMin(frameIdx - 1, kfsNum - 2);\n            }\n            nextFrame = keyframes[frameIdx + 1];\n            frame = keyframes[frameIdx];\n        }\n        if (!(frame && nextFrame)) {\n            return;\n        }\n        this._lastFr = frameIdx;\n        this._lastFrP = percent;\n        var interval = (nextFrame.percent - frame.percent);\n        var w = interval === 0 ? 1 : mathMin((percent - frame.percent) / interval, 1);\n        if (nextFrame.easingFunc) {\n            w = nextFrame.easingFunc(w);\n        }\n        var targetArr = isAdditive ? this._additiveValue\n            : (isValueColor ? tmpRgba : target[propName]);\n        if ((isArrayValueType(valType) || isValueColor) && !targetArr) {\n            targetArr = this._additiveValue = [];\n        }\n        if (this.discrete) {\n            target[propName] = w < 1 ? frame.rawValue : nextFrame.rawValue;\n        }\n        else if (isArrayValueType(valType)) {\n            valType === VALUE_TYPE_1D_ARRAY\n                ? interpolate1DArray(targetArr, frame[valueKey], nextFrame[valueKey], w)\n                : interpolate2DArray(targetArr, frame[valueKey], nextFrame[valueKey], w);\n        }\n        else if (isGradientValueType(valType)) {\n            var val = frame[valueKey];\n            var nextVal_1 = nextFrame[valueKey];\n            var isLinearGradient_1 = valType === VALUE_TYPE_LINEAR_GRADIENT;\n            target[propName] = {\n                type: isLinearGradient_1 ? 'linear' : 'radial',\n                x: interpolateNumber(val.x, nextVal_1.x, w),\n                y: interpolateNumber(val.y, nextVal_1.y, w),\n                colorStops: Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(val.colorStops, function (colorStop, idx) {\n                    var nextColorStop = nextVal_1.colorStops[idx];\n                    return {\n                        offset: interpolateNumber(colorStop.offset, nextColorStop.offset, w),\n                        color: rgba2String(interpolate1DArray([], colorStop.color, nextColorStop.color, w))\n                    };\n                }),\n                global: nextVal_1.global\n            };\n            if (isLinearGradient_1) {\n                target[propName].x2 = interpolateNumber(val.x2, nextVal_1.x2, w);\n                target[propName].y2 = interpolateNumber(val.y2, nextVal_1.y2, w);\n            }\n            else {\n                target[propName].r = interpolateNumber(val.r, nextVal_1.r, w);\n            }\n        }\n        else if (isValueColor) {\n            interpolate1DArray(targetArr, frame[valueKey], nextFrame[valueKey], w);\n            if (!isAdditive) {\n                target[propName] = rgba2String(targetArr);\n            }\n        }\n        else {\n            var value = interpolateNumber(frame[valueKey], nextFrame[valueKey], w);\n            if (isAdditive) {\n                this._additiveValue = value;\n            }\n            else {\n                target[propName] = value;\n            }\n        }\n        if (isAdditive) {\n            this._addToTarget(target);\n        }\n    };\n    Track.prototype._addToTarget = function (target) {\n        var valType = this.valType;\n        var propName = this.propName;\n        var additiveValue = this._additiveValue;\n        if (valType === VALUE_TYPE_NUMBER) {\n            target[propName] = target[propName] + additiveValue;\n        }\n        else if (valType === VALUE_TYPE_COLOR) {\n            _tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"parse\"](target[propName], tmpRgba);\n            add1DArray(tmpRgba, tmpRgba, additiveValue, 1);\n            target[propName] = rgba2String(tmpRgba);\n        }\n        else if (valType === VALUE_TYPE_1D_ARRAY) {\n            add1DArray(target[propName], target[propName], additiveValue, 1);\n        }\n        else if (valType === VALUE_TYPE_2D_ARRAY) {\n            add2DArray(target[propName], target[propName], additiveValue, 1);\n        }\n    };\n    return Track;\n}());\nvar Animator = (function () {\n    function Animator(target, loop, allowDiscreteAnimation, additiveTo) {\n        this._tracks = {};\n        this._trackKeys = [];\n        this._maxTime = 0;\n        this._started = 0;\n        this._clip = null;\n        this._target = target;\n        this._loop = loop;\n        if (loop && additiveTo) {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"logError\"])('Can\\' use additive animation on looped animation.');\n            return;\n        }\n        this._additiveAnimators = additiveTo;\n        this._allowDiscrete = allowDiscreteAnimation;\n    }\n    Animator.prototype.getMaxTime = function () {\n        return this._maxTime;\n    };\n    Animator.prototype.getDelay = function () {\n        return this._delay;\n    };\n    Animator.prototype.getLoop = function () {\n        return this._loop;\n    };\n    Animator.prototype.getTarget = function () {\n        return this._target;\n    };\n    Animator.prototype.changeTarget = function (target) {\n        this._target = target;\n    };\n    Animator.prototype.when = function (time, props, easing) {\n        return this.whenWithKeys(time, props, Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"keys\"])(props), easing);\n    };\n    Animator.prototype.whenWithKeys = function (time, props, propNames, easing) {\n        var tracks = this._tracks;\n        for (var i = 0; i < propNames.length; i++) {\n            var propName = propNames[i];\n            var track = tracks[propName];\n            if (!track) {\n                track = tracks[propName] = new Track(propName);\n                var initialValue = void 0;\n                var additiveTrack = this._getAdditiveTrack(propName);\n                if (additiveTrack) {\n                    var addtiveTrackKfs = additiveTrack.keyframes;\n                    var lastFinalKf = addtiveTrackKfs[addtiveTrackKfs.length - 1];\n                    initialValue = lastFinalKf && lastFinalKf.value;\n                    if (additiveTrack.valType === VALUE_TYPE_COLOR && initialValue) {\n                        initialValue = rgba2String(initialValue);\n                    }\n                }\n                else {\n                    initialValue = this._target[propName];\n                }\n                if (initialValue == null) {\n                    continue;\n                }\n                if (time > 0) {\n                    track.addKeyframe(0, cloneValue(initialValue), easing);\n                }\n                this._trackKeys.push(propName);\n            }\n            track.addKeyframe(time, cloneValue(props[propName]), easing);\n        }\n        this._maxTime = Math.max(this._maxTime, time);\n        return this;\n    };\n    Animator.prototype.pause = function () {\n        this._clip.pause();\n        this._paused = true;\n    };\n    Animator.prototype.resume = function () {\n        this._clip.resume();\n        this._paused = false;\n    };\n    Animator.prototype.isPaused = function () {\n        return !!this._paused;\n    };\n    Animator.prototype.duration = function (duration) {\n        this._maxTime = duration;\n        this._force = true;\n        return this;\n    };\n    Animator.prototype._doneCallback = function () {\n        this._setTracksFinished();\n        this._clip = null;\n        var doneList = this._doneCbs;\n        if (doneList) {\n            var len = doneList.length;\n            for (var i = 0; i < len; i++) {\n                doneList[i].call(this);\n            }\n        }\n    };\n    Animator.prototype._abortedCallback = function () {\n        this._setTracksFinished();\n        var animation = this.animation;\n        var abortedList = this._abortedCbs;\n        if (animation) {\n            animation.removeClip(this._clip);\n        }\n        this._clip = null;\n        if (abortedList) {\n            for (var i = 0; i < abortedList.length; i++) {\n                abortedList[i].call(this);\n            }\n        }\n    };\n    Animator.prototype._setTracksFinished = function () {\n        var tracks = this._tracks;\n        var tracksKeys = this._trackKeys;\n        for (var i = 0; i < tracksKeys.length; i++) {\n            tracks[tracksKeys[i]].setFinished();\n        }\n    };\n    Animator.prototype._getAdditiveTrack = function (trackName) {\n        var additiveTrack;\n        var additiveAnimators = this._additiveAnimators;\n        if (additiveAnimators) {\n            for (var i = 0; i < additiveAnimators.length; i++) {\n                var track = additiveAnimators[i].getTrack(trackName);\n                if (track) {\n                    additiveTrack = track;\n                }\n            }\n        }\n        return additiveTrack;\n    };\n    Animator.prototype.start = function (easing) {\n        if (this._started > 0) {\n            return;\n        }\n        this._started = 1;\n        var self = this;\n        var tracks = [];\n        var maxTime = this._maxTime || 0;\n        for (var i = 0; i < this._trackKeys.length; i++) {\n            var propName = this._trackKeys[i];\n            var track = this._tracks[propName];\n            var additiveTrack = this._getAdditiveTrack(propName);\n            var kfs = track.keyframes;\n            var kfsNum = kfs.length;\n            track.prepare(maxTime, additiveTrack);\n            if (track.needsAnimate()) {\n                if (!this._allowDiscrete && track.discrete) {\n                    var lastKf = kfs[kfsNum - 1];\n                    if (lastKf) {\n                        self._target[track.propName] = lastKf.rawValue;\n                    }\n                    track.setFinished();\n                }\n                else {\n                    tracks.push(track);\n                }\n            }\n        }\n        if (tracks.length || this._force) {\n            var clip = new _Clip_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n                life: maxTime,\n                loop: this._loop,\n                delay: this._delay || 0,\n                onframe: function (percent) {\n                    self._started = 2;\n                    var additiveAnimators = self._additiveAnimators;\n                    if (additiveAnimators) {\n                        var stillHasAdditiveAnimator = false;\n                        for (var i = 0; i < additiveAnimators.length; i++) {\n                            if (additiveAnimators[i]._clip) {\n                                stillHasAdditiveAnimator = true;\n                                break;\n                            }\n                        }\n                        if (!stillHasAdditiveAnimator) {\n                            self._additiveAnimators = null;\n                        }\n                    }\n                    for (var i = 0; i < tracks.length; i++) {\n                        tracks[i].step(self._target, percent);\n                    }\n                    var onframeList = self._onframeCbs;\n                    if (onframeList) {\n                        for (var i = 0; i < onframeList.length; i++) {\n                            onframeList[i](self._target, percent);\n                        }\n                    }\n                },\n                ondestroy: function () {\n                    self._doneCallback();\n                }\n            });\n            this._clip = clip;\n            if (this.animation) {\n                this.animation.addClip(clip);\n            }\n            if (easing) {\n                clip.setEasing(easing);\n            }\n        }\n        else {\n            this._doneCallback();\n        }\n        return this;\n    };\n    Animator.prototype.stop = function (forwardToLast) {\n        if (!this._clip) {\n            return;\n        }\n        var clip = this._clip;\n        if (forwardToLast) {\n            clip.onframe(1);\n        }\n        this._abortedCallback();\n    };\n    Animator.prototype.delay = function (time) {\n        this._delay = time;\n        return this;\n    };\n    Animator.prototype.during = function (cb) {\n        if (cb) {\n            if (!this._onframeCbs) {\n                this._onframeCbs = [];\n            }\n            this._onframeCbs.push(cb);\n        }\n        return this;\n    };\n    Animator.prototype.done = function (cb) {\n        if (cb) {\n            if (!this._doneCbs) {\n                this._doneCbs = [];\n            }\n            this._doneCbs.push(cb);\n        }\n        return this;\n    };\n    Animator.prototype.aborted = function (cb) {\n        if (cb) {\n            if (!this._abortedCbs) {\n                this._abortedCbs = [];\n            }\n            this._abortedCbs.push(cb);\n        }\n        return this;\n    };\n    Animator.prototype.getClip = function () {\n        return this._clip;\n    };\n    Animator.prototype.getTrack = function (propName) {\n        return this._tracks[propName];\n    };\n    Animator.prototype.getTracks = function () {\n        var _this = this;\n        return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(this._trackKeys, function (key) { return _this._tracks[key]; });\n    };\n    Animator.prototype.stopTracks = function (propNames, forwardToLast) {\n        if (!propNames.length || !this._clip) {\n            return true;\n        }\n        var tracks = this._tracks;\n        var tracksKeys = this._trackKeys;\n        for (var i = 0; i < propNames.length; i++) {\n            var track = tracks[propNames[i]];\n            if (track && !track.isFinished()) {\n                if (forwardToLast) {\n                    track.step(this._target, 1);\n                }\n                else if (this._started === 1) {\n                    track.step(this._target, 0);\n                }\n                track.setFinished();\n            }\n        }\n        var allAborted = true;\n        for (var i = 0; i < tracksKeys.length; i++) {\n            if (!tracks[tracksKeys[i]].isFinished()) {\n                allAborted = false;\n                break;\n            }\n        }\n        if (allAborted) {\n            this._abortedCallback();\n        }\n        return allAborted;\n    };\n    Animator.prototype.saveTo = function (target, trackKeys, firstOrLast) {\n        if (!target) {\n            return;\n        }\n        trackKeys = trackKeys || this._trackKeys;\n        for (var i = 0; i < trackKeys.length; i++) {\n            var propName = trackKeys[i];\n            var track = this._tracks[propName];\n            if (!track || track.isFinished()) {\n                continue;\n            }\n            var kfs = track.keyframes;\n            var kf = kfs[firstOrLast ? 0 : kfs.length - 1];\n            if (kf) {\n                target[propName] = cloneValue(kf.rawValue);\n            }\n        }\n    };\n    Animator.prototype.__changeFinalValue = function (finalProps, trackKeys) {\n        trackKeys = trackKeys || Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"keys\"])(finalProps);\n        for (var i = 0; i < trackKeys.length; i++) {\n            var propName = trackKeys[i];\n            var track = this._tracks[propName];\n            if (!track) {\n                continue;\n            }\n            var kfs = track.keyframes;\n            if (kfs.length > 1) {\n                var lastKf = kfs.pop();\n                track.addKeyframe(lastKf.time, finalProps[propName]);\n                track.prepare(this._maxTime, track.getAdditiveTrack());\n            }\n        }\n    };\n    return Animator;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Animator);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/animation/Animator.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/animation/Clip.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/animation/Clip.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _easing_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./easing.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/easing.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _cubicEasing_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cubicEasing.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/cubicEasing.js\");\n\n\n\nvar Clip = (function () {\n    function Clip(opts) {\n        this._inited = false;\n        this._startTime = 0;\n        this._pausedTime = 0;\n        this._paused = false;\n        this._life = opts.life || 1000;\n        this._delay = opts.delay || 0;\n        this.loop = opts.loop || false;\n        this.onframe = opts.onframe || _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"noop\"];\n        this.ondestroy = opts.ondestroy || _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"noop\"];\n        this.onrestart = opts.onrestart || _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"noop\"];\n        opts.easing && this.setEasing(opts.easing);\n    }\n    Clip.prototype.step = function (globalTime, deltaTime) {\n        if (!this._inited) {\n            this._startTime = globalTime + this._delay;\n            this._inited = true;\n        }\n        if (this._paused) {\n            this._pausedTime += deltaTime;\n            return;\n        }\n        var life = this._life;\n        var elapsedTime = globalTime - this._startTime - this._pausedTime;\n        var percent = elapsedTime / life;\n        if (percent < 0) {\n            percent = 0;\n        }\n        percent = Math.min(percent, 1);\n        var easingFunc = this.easingFunc;\n        var schedule = easingFunc ? easingFunc(percent) : percent;\n        this.onframe(schedule);\n        if (percent === 1) {\n            if (this.loop) {\n                var remainder = elapsedTime % life;\n                this._startTime = globalTime - remainder;\n                this._pausedTime = 0;\n                this.onrestart();\n            }\n            else {\n                return true;\n            }\n        }\n        return false;\n    };\n    Clip.prototype.pause = function () {\n        this._paused = true;\n    };\n    Clip.prototype.resume = function () {\n        this._paused = false;\n    };\n    Clip.prototype.setEasing = function (easing) {\n        this.easing = easing;\n        this.easingFunc = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isFunction\"])(easing)\n            ? easing\n            : _easing_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"][easing] || Object(_cubicEasing_js__WEBPACK_IMPORTED_MODULE_2__[\"createCubicEasingFunc\"])(easing);\n    };\n    return Clip;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Clip);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/animation/Clip.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/animation/cubicEasing.js":
/*!********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/animation/cubicEasing.js ***!
  \********************************************************************************/
/*! exports provided: createCubicEasingFunc */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCubicEasingFunc\", function() { return createCubicEasingFunc; });\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n\nvar regexp = /cubic-bezier\\(([0-9,\\.e ]+)\\)/;\nfunction createCubicEasingFunc(cubicEasingStr) {\n    var cubic = cubicEasingStr && regexp.exec(cubicEasingStr);\n    if (cubic) {\n        var points = cubic[1].split(',');\n        var a_1 = +Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])(points[0]);\n        var b_1 = +Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])(points[1]);\n        var c_1 = +Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])(points[2]);\n        var d_1 = +Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"trim\"])(points[3]);\n        if (isNaN(a_1 + b_1 + c_1 + d_1)) {\n            return;\n        }\n        var roots_1 = [];\n        return function (p) {\n            return p <= 0\n                ? 0 : p >= 1\n                ? 1\n                : Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicRootAt\"])(0, a_1, c_1, 1, p, roots_1) && Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicAt\"])(0, b_1, d_1, 1, roots_1[0]);\n        };\n    }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/animation/cubicEasing.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/animation/easing.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/animation/easing.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar easingFuncs = {\n    linear: function (k) {\n        return k;\n    },\n    quadraticIn: function (k) {\n        return k * k;\n    },\n    quadraticOut: function (k) {\n        return k * (2 - k);\n    },\n    quadraticInOut: function (k) {\n        if ((k *= 2) < 1) {\n            return 0.5 * k * k;\n        }\n        return -0.5 * (--k * (k - 2) - 1);\n    },\n    cubicIn: function (k) {\n        return k * k * k;\n    },\n    cubicOut: function (k) {\n        return --k * k * k + 1;\n    },\n    cubicInOut: function (k) {\n        if ((k *= 2) < 1) {\n            return 0.5 * k * k * k;\n        }\n        return 0.5 * ((k -= 2) * k * k + 2);\n    },\n    quarticIn: function (k) {\n        return k * k * k * k;\n    },\n    quarticOut: function (k) {\n        return 1 - (--k * k * k * k);\n    },\n    quarticInOut: function (k) {\n        if ((k *= 2) < 1) {\n            return 0.5 * k * k * k * k;\n        }\n        return -0.5 * ((k -= 2) * k * k * k - 2);\n    },\n    quinticIn: function (k) {\n        return k * k * k * k * k;\n    },\n    quinticOut: function (k) {\n        return --k * k * k * k * k + 1;\n    },\n    quinticInOut: function (k) {\n        if ((k *= 2) < 1) {\n            return 0.5 * k * k * k * k * k;\n        }\n        return 0.5 * ((k -= 2) * k * k * k * k + 2);\n    },\n    sinusoidalIn: function (k) {\n        return 1 - Math.cos(k * Math.PI / 2);\n    },\n    sinusoidalOut: function (k) {\n        return Math.sin(k * Math.PI / 2);\n    },\n    sinusoidalInOut: function (k) {\n        return 0.5 * (1 - Math.cos(Math.PI * k));\n    },\n    exponentialIn: function (k) {\n        return k === 0 ? 0 : Math.pow(1024, k - 1);\n    },\n    exponentialOut: function (k) {\n        return k === 1 ? 1 : 1 - Math.pow(2, -10 * k);\n    },\n    exponentialInOut: function (k) {\n        if (k === 0) {\n            return 0;\n        }\n        if (k === 1) {\n            return 1;\n        }\n        if ((k *= 2) < 1) {\n            return 0.5 * Math.pow(1024, k - 1);\n        }\n        return 0.5 * (-Math.pow(2, -10 * (k - 1)) + 2);\n    },\n    circularIn: function (k) {\n        return 1 - Math.sqrt(1 - k * k);\n    },\n    circularOut: function (k) {\n        return Math.sqrt(1 - (--k * k));\n    },\n    circularInOut: function (k) {\n        if ((k *= 2) < 1) {\n            return -0.5 * (Math.sqrt(1 - k * k) - 1);\n        }\n        return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);\n    },\n    elasticIn: function (k) {\n        var s;\n        var a = 0.1;\n        var p = 0.4;\n        if (k === 0) {\n            return 0;\n        }\n        if (k === 1) {\n            return 1;\n        }\n        if (!a || a < 1) {\n            a = 1;\n            s = p / 4;\n        }\n        else {\n            s = p * Math.asin(1 / a) / (2 * Math.PI);\n        }\n        return -(a * Math.pow(2, 10 * (k -= 1))\n            * Math.sin((k - s) * (2 * Math.PI) / p));\n    },\n    elasticOut: function (k) {\n        var s;\n        var a = 0.1;\n        var p = 0.4;\n        if (k === 0) {\n            return 0;\n        }\n        if (k === 1) {\n            return 1;\n        }\n        if (!a || a < 1) {\n            a = 1;\n            s = p / 4;\n        }\n        else {\n            s = p * Math.asin(1 / a) / (2 * Math.PI);\n        }\n        return (a * Math.pow(2, -10 * k)\n            * Math.sin((k - s) * (2 * Math.PI) / p) + 1);\n    },\n    elasticInOut: function (k) {\n        var s;\n        var a = 0.1;\n        var p = 0.4;\n        if (k === 0) {\n            return 0;\n        }\n        if (k === 1) {\n            return 1;\n        }\n        if (!a || a < 1) {\n            a = 1;\n            s = p / 4;\n        }\n        else {\n            s = p * Math.asin(1 / a) / (2 * Math.PI);\n        }\n        if ((k *= 2) < 1) {\n            return -0.5 * (a * Math.pow(2, 10 * (k -= 1))\n                * Math.sin((k - s) * (2 * Math.PI) / p));\n        }\n        return a * Math.pow(2, -10 * (k -= 1))\n            * Math.sin((k - s) * (2 * Math.PI) / p) * 0.5 + 1;\n    },\n    backIn: function (k) {\n        var s = 1.70158;\n        return k * k * ((s + 1) * k - s);\n    },\n    backOut: function (k) {\n        var s = 1.70158;\n        return --k * k * ((s + 1) * k + s) + 1;\n    },\n    backInOut: function (k) {\n        var s = 1.70158 * 1.525;\n        if ((k *= 2) < 1) {\n            return 0.5 * (k * k * ((s + 1) * k - s));\n        }\n        return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);\n    },\n    bounceIn: function (k) {\n        return 1 - easingFuncs.bounceOut(1 - k);\n    },\n    bounceOut: function (k) {\n        if (k < (1 / 2.75)) {\n            return 7.5625 * k * k;\n        }\n        else if (k < (2 / 2.75)) {\n            return 7.5625 * (k -= (1.5 / 2.75)) * k + 0.75;\n        }\n        else if (k < (2.5 / 2.75)) {\n            return 7.5625 * (k -= (2.25 / 2.75)) * k + 0.9375;\n        }\n        else {\n            return 7.5625 * (k -= (2.625 / 2.75)) * k + 0.984375;\n        }\n    },\n    bounceInOut: function (k) {\n        if (k < 0.5) {\n            return easingFuncs.bounceIn(k * 2) * 0.5;\n        }\n        return easingFuncs.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n    }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (easingFuncs);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/animation/easing.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/animation/requestAnimationFrame.js":
/*!******************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/animation/requestAnimationFrame.js ***!
  \******************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n\nvar requestAnimationFrame;\nrequestAnimationFrame = (_core_env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].hasGlobalWindow\n    && ((window.requestAnimationFrame && window.requestAnimationFrame.bind(window))\n        || (window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window))\n        || window.mozRequestAnimationFrame\n        || window.webkitRequestAnimationFrame)) || function (func) {\n    return setTimeout(func, 16);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (requestAnimationFrame);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/animation/requestAnimationFrame.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/canvas/Layer.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/canvas/Layer.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config.js */ \"./node_modules/echarts/node_modules/zrender/lib/config.js\");\n/* harmony import */ var _core_Eventful_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js\");\n/* harmony import */ var _graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./graphic.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _graphic_constants_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../graphic/constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\n\n\n\n\n\n\n\nfunction createDom(id, painter, dpr) {\n    var newDom = _core_platform_js__WEBPACK_IMPORTED_MODULE_8__[\"platformApi\"].createCanvas();\n    var width = painter.getWidth();\n    var height = painter.getHeight();\n    var newDomStyle = newDom.style;\n    if (newDomStyle) {\n        newDomStyle.position = 'absolute';\n        newDomStyle.left = '0';\n        newDomStyle.top = '0';\n        newDomStyle.width = width + 'px';\n        newDomStyle.height = height + 'px';\n        newDom.setAttribute('data-zr-dom-id', id);\n    }\n    newDom.width = width * dpr;\n    newDom.height = height * dpr;\n    return newDom;\n}\n;\nvar Layer = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Layer, _super);\n    function Layer(id, painter, dpr) {\n        var _this = _super.call(this) || this;\n        _this.motionBlur = false;\n        _this.lastFrameAlpha = 0.7;\n        _this.dpr = 1;\n        _this.virtual = false;\n        _this.config = {};\n        _this.incremental = false;\n        _this.zlevel = 0;\n        _this.maxRepaintRectCount = 5;\n        _this.__dirty = true;\n        _this.__firstTimePaint = true;\n        _this.__used = false;\n        _this.__drawIndex = 0;\n        _this.__startIndex = 0;\n        _this.__endIndex = 0;\n        _this.__prevStartIndex = null;\n        _this.__prevEndIndex = null;\n        var dom;\n        dpr = dpr || _config_js__WEBPACK_IMPORTED_MODULE_2__[\"devicePixelRatio\"];\n        if (typeof id === 'string') {\n            dom = createDom(id, painter, dpr);\n        }\n        else if (_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isObject\"](id)) {\n            dom = id;\n            id = dom.id;\n        }\n        _this.id = id;\n        _this.dom = dom;\n        var domStyle = dom.style;\n        if (domStyle) {\n            _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"disableUserSelect\"](dom);\n            dom.onselectstart = function () { return false; };\n            domStyle.padding = '0';\n            domStyle.margin = '0';\n            domStyle.borderWidth = '0';\n        }\n        _this.painter = painter;\n        _this.dpr = dpr;\n        return _this;\n    }\n    Layer.prototype.getElementCount = function () {\n        return this.__endIndex - this.__startIndex;\n    };\n    Layer.prototype.afterBrush = function () {\n        this.__prevStartIndex = this.__startIndex;\n        this.__prevEndIndex = this.__endIndex;\n    };\n    Layer.prototype.initContext = function () {\n        this.ctx = this.dom.getContext('2d');\n        this.ctx.dpr = this.dpr;\n    };\n    Layer.prototype.setUnpainted = function () {\n        this.__firstTimePaint = true;\n    };\n    Layer.prototype.createBackBuffer = function () {\n        var dpr = this.dpr;\n        this.domBack = createDom('back-' + this.id, this.painter, dpr);\n        this.ctxBack = this.domBack.getContext('2d');\n        if (dpr !== 1) {\n            this.ctxBack.scale(dpr, dpr);\n        }\n    };\n    Layer.prototype.createRepaintRects = function (displayList, prevList, viewWidth, viewHeight) {\n        if (this.__firstTimePaint) {\n            this.__firstTimePaint = false;\n            return null;\n        }\n        var mergedRepaintRects = [];\n        var maxRepaintRectCount = this.maxRepaintRectCount;\n        var full = false;\n        var pendingRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](0, 0, 0, 0);\n        function addRectToMergePool(rect) {\n            if (!rect.isFinite() || rect.isZero()) {\n                return;\n            }\n            if (mergedRepaintRects.length === 0) {\n                var boundingRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](0, 0, 0, 0);\n                boundingRect.copy(rect);\n                mergedRepaintRects.push(boundingRect);\n            }\n            else {\n                var isMerged = false;\n                var minDeltaArea = Infinity;\n                var bestRectToMergeIdx = 0;\n                for (var i = 0; i < mergedRepaintRects.length; ++i) {\n                    var mergedRect = mergedRepaintRects[i];\n                    if (mergedRect.intersect(rect)) {\n                        var pendingRect_1 = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](0, 0, 0, 0);\n                        pendingRect_1.copy(mergedRect);\n                        pendingRect_1.union(rect);\n                        mergedRepaintRects[i] = pendingRect_1;\n                        isMerged = true;\n                        break;\n                    }\n                    else if (full) {\n                        pendingRect.copy(rect);\n                        pendingRect.union(mergedRect);\n                        var aArea = rect.width * rect.height;\n                        var bArea = mergedRect.width * mergedRect.height;\n                        var pendingArea = pendingRect.width * pendingRect.height;\n                        var deltaArea = pendingArea - aArea - bArea;\n                        if (deltaArea < minDeltaArea) {\n                            minDeltaArea = deltaArea;\n                            bestRectToMergeIdx = i;\n                        }\n                    }\n                }\n                if (full) {\n                    mergedRepaintRects[bestRectToMergeIdx].union(rect);\n                    isMerged = true;\n                }\n                if (!isMerged) {\n                    var boundingRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](0, 0, 0, 0);\n                    boundingRect.copy(rect);\n                    mergedRepaintRects.push(boundingRect);\n                }\n                if (!full) {\n                    full = mergedRepaintRects.length >= maxRepaintRectCount;\n                }\n            }\n        }\n        for (var i = this.__startIndex; i < this.__endIndex; ++i) {\n            var el = displayList[i];\n            if (el) {\n                var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);\n                var prevRect = el.__isRendered && ((el.__dirty & _graphic_constants_js__WEBPACK_IMPORTED_MODULE_7__[\"REDRAW_BIT\"]) || !shouldPaint)\n                    ? el.getPrevPaintRect()\n                    : null;\n                if (prevRect) {\n                    addRectToMergePool(prevRect);\n                }\n                var curRect = shouldPaint && ((el.__dirty & _graphic_constants_js__WEBPACK_IMPORTED_MODULE_7__[\"REDRAW_BIT\"]) || !el.__isRendered)\n                    ? el.getPaintRect()\n                    : null;\n                if (curRect) {\n                    addRectToMergePool(curRect);\n                }\n            }\n        }\n        for (var i = this.__prevStartIndex; i < this.__prevEndIndex; ++i) {\n            var el = prevList[i];\n            var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);\n            if (el && (!shouldPaint || !el.__zr) && el.__isRendered) {\n                var prevRect = el.getPrevPaintRect();\n                if (prevRect) {\n                    addRectToMergePool(prevRect);\n                }\n            }\n        }\n        var hasIntersections;\n        do {\n            hasIntersections = false;\n            for (var i = 0; i < mergedRepaintRects.length;) {\n                if (mergedRepaintRects[i].isZero()) {\n                    mergedRepaintRects.splice(i, 1);\n                    continue;\n                }\n                for (var j = i + 1; j < mergedRepaintRects.length;) {\n                    if (mergedRepaintRects[i].intersect(mergedRepaintRects[j])) {\n                        hasIntersections = true;\n                        mergedRepaintRects[i].union(mergedRepaintRects[j]);\n                        mergedRepaintRects.splice(j, 1);\n                    }\n                    else {\n                        j++;\n                    }\n                }\n                i++;\n            }\n        } while (hasIntersections);\n        this._paintRects = mergedRepaintRects;\n        return mergedRepaintRects;\n    };\n    Layer.prototype.debugGetPaintRects = function () {\n        return (this._paintRects || []).slice();\n    };\n    Layer.prototype.resize = function (width, height) {\n        var dpr = this.dpr;\n        var dom = this.dom;\n        var domStyle = dom.style;\n        var domBack = this.domBack;\n        if (domStyle) {\n            domStyle.width = width + 'px';\n            domStyle.height = height + 'px';\n        }\n        dom.width = width * dpr;\n        dom.height = height * dpr;\n        if (domBack) {\n            domBack.width = width * dpr;\n            domBack.height = height * dpr;\n            if (dpr !== 1) {\n                this.ctxBack.scale(dpr, dpr);\n            }\n        }\n    };\n    Layer.prototype.clear = function (clearAll, clearColor, repaintRects) {\n        var dom = this.dom;\n        var ctx = this.ctx;\n        var width = dom.width;\n        var height = dom.height;\n        clearColor = clearColor || this.clearColor;\n        var haveMotionBLur = this.motionBlur && !clearAll;\n        var lastFrameAlpha = this.lastFrameAlpha;\n        var dpr = this.dpr;\n        var self = this;\n        if (haveMotionBLur) {\n            if (!this.domBack) {\n                this.createBackBuffer();\n            }\n            this.ctxBack.globalCompositeOperation = 'copy';\n            this.ctxBack.drawImage(dom, 0, 0, width / dpr, height / dpr);\n        }\n        var domBack = this.domBack;\n        function doClear(x, y, width, height) {\n            ctx.clearRect(x, y, width, height);\n            if (clearColor && clearColor !== 'transparent') {\n                var clearColorGradientOrPattern = void 0;\n                if (_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isGradientObject\"](clearColor)) {\n                    clearColorGradientOrPattern = clearColor.__canvasGradient\n                        || Object(_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"getCanvasGradient\"])(ctx, clearColor, {\n                            x: 0,\n                            y: 0,\n                            width: width,\n                            height: height\n                        });\n                    clearColor.__canvasGradient = clearColorGradientOrPattern;\n                }\n                else if (_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"isImagePatternObject\"](clearColor)) {\n                    clearColor.scaleX = clearColor.scaleX || dpr;\n                    clearColor.scaleY = clearColor.scaleY || dpr;\n                    clearColorGradientOrPattern = Object(_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"createCanvasPattern\"])(ctx, clearColor, {\n                        dirty: function () {\n                            self.setUnpainted();\n                            self.__painter.refresh();\n                        }\n                    });\n                }\n                ctx.save();\n                ctx.fillStyle = clearColorGradientOrPattern || clearColor;\n                ctx.fillRect(x, y, width, height);\n                ctx.restore();\n            }\n            if (haveMotionBLur) {\n                ctx.save();\n                ctx.globalAlpha = lastFrameAlpha;\n                ctx.drawImage(domBack, x, y, width, height);\n                ctx.restore();\n            }\n        }\n        ;\n        if (!repaintRects || haveMotionBLur) {\n            doClear(0, 0, width, height);\n        }\n        else if (repaintRects.length) {\n            _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](repaintRects, function (rect) {\n                doClear(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n            });\n        }\n    };\n    return Layer;\n}(_core_Eventful_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Layer);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/canvas/Layer.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/canvas/Painter.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/canvas/Painter.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config.js */ \"./node_modules/echarts/node_modules/zrender/lib/config.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Layer.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/Layer.js\");\n/* harmony import */ var _animation_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../animation/requestAnimationFrame.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/requestAnimationFrame.js\");\n/* harmony import */ var _core_env_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _graphic_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./graphic.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js\");\n/* harmony import */ var _graphic_constants_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../graphic/constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js\");\n\n\n\n\n\n\n\n\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\nfunction isLayerValid(layer) {\n    if (!layer) {\n        return false;\n    }\n    if (layer.__builtin__) {\n        return true;\n    }\n    if (typeof (layer.resize) !== 'function'\n        || typeof (layer.refresh) !== 'function') {\n        return false;\n    }\n    return true;\n}\nfunction createRoot(width, height) {\n    var domRoot = document.createElement('div');\n    domRoot.style.cssText = [\n        'position:relative',\n        'width:' + width + 'px',\n        'height:' + height + 'px',\n        'padding:0',\n        'margin:0',\n        'border-width:0'\n    ].join(';') + ';';\n    return domRoot;\n}\nvar CanvasPainter = (function () {\n    function CanvasPainter(root, storage, opts, id) {\n        this.type = 'canvas';\n        this._zlevelList = [];\n        this._prevDisplayList = [];\n        this._layers = {};\n        this._layerConfig = {};\n        this._needsManuallyCompositing = false;\n        this.type = 'canvas';\n        var singleCanvas = !root.nodeName\n            || root.nodeName.toUpperCase() === 'CANVAS';\n        this._opts = opts = _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"]({}, opts || {});\n        this.dpr = opts.devicePixelRatio || _config_js__WEBPACK_IMPORTED_MODULE_0__[\"devicePixelRatio\"];\n        this._singleCanvas = singleCanvas;\n        this.root = root;\n        var rootStyle = root.style;\n        if (rootStyle) {\n            _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"disableUserSelect\"](root);\n            root.innerHTML = '';\n        }\n        this.storage = storage;\n        var zlevelList = this._zlevelList;\n        this._prevDisplayList = [];\n        var layers = this._layers;\n        if (!singleCanvas) {\n            this._width = Object(_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"getSize\"])(root, 0, opts);\n            this._height = Object(_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"getSize\"])(root, 1, opts);\n            var domRoot = this._domRoot = createRoot(this._width, this._height);\n            root.appendChild(domRoot);\n        }\n        else {\n            var rootCanvas = root;\n            var width = rootCanvas.width;\n            var height = rootCanvas.height;\n            if (opts.width != null) {\n                width = opts.width;\n            }\n            if (opts.height != null) {\n                height = opts.height;\n            }\n            this.dpr = opts.devicePixelRatio || 1;\n            rootCanvas.width = width * this.dpr;\n            rootCanvas.height = height * this.dpr;\n            this._width = width;\n            this._height = height;\n            var mainLayer = new _Layer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](rootCanvas, this, this.dpr);\n            mainLayer.__builtin__ = true;\n            mainLayer.initContext();\n            layers[CANVAS_ZLEVEL] = mainLayer;\n            mainLayer.zlevel = CANVAS_ZLEVEL;\n            zlevelList.push(CANVAS_ZLEVEL);\n            this._domRoot = root;\n        }\n    }\n    CanvasPainter.prototype.getType = function () {\n        return 'canvas';\n    };\n    CanvasPainter.prototype.isSingleCanvas = function () {\n        return this._singleCanvas;\n    };\n    CanvasPainter.prototype.getViewportRoot = function () {\n        return this._domRoot;\n    };\n    CanvasPainter.prototype.getViewportRootOffset = function () {\n        var viewportRoot = this.getViewportRoot();\n        if (viewportRoot) {\n            return {\n                offsetLeft: viewportRoot.offsetLeft || 0,\n                offsetTop: viewportRoot.offsetTop || 0\n            };\n        }\n    };\n    CanvasPainter.prototype.refresh = function (paintAll) {\n        var list = this.storage.getDisplayList(true);\n        var prevList = this._prevDisplayList;\n        var zlevelList = this._zlevelList;\n        this._redrawId = Math.random();\n        this._paintList(list, prevList, paintAll, this._redrawId);\n        for (var i = 0; i < zlevelList.length; i++) {\n            var z = zlevelList[i];\n            var layer = this._layers[z];\n            if (!layer.__builtin__ && layer.refresh) {\n                var clearColor = i === 0 ? this._backgroundColor : null;\n                layer.refresh(clearColor);\n            }\n        }\n        if (this._opts.useDirtyRect) {\n            this._prevDisplayList = list.slice();\n        }\n        return this;\n    };\n    CanvasPainter.prototype.refreshHover = function () {\n        this._paintHoverList(this.storage.getDisplayList(false));\n    };\n    CanvasPainter.prototype._paintHoverList = function (list) {\n        var len = list.length;\n        var hoverLayer = this._hoverlayer;\n        hoverLayer && hoverLayer.clear();\n        if (!len) {\n            return;\n        }\n        var scope = {\n            inHover: true,\n            viewWidth: this._width,\n            viewHeight: this._height\n        };\n        var ctx;\n        for (var i = 0; i < len; i++) {\n            var el = list[i];\n            if (el.__inHover) {\n                if (!hoverLayer) {\n                    hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n                }\n                if (!ctx) {\n                    ctx = hoverLayer.ctx;\n                    ctx.save();\n                }\n                Object(_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"brush\"])(ctx, el, scope, i === len - 1);\n            }\n        }\n        if (ctx) {\n            ctx.restore();\n        }\n    };\n    CanvasPainter.prototype.getHoverLayer = function () {\n        return this.getLayer(HOVER_LAYER_ZLEVEL);\n    };\n    CanvasPainter.prototype.paintOne = function (ctx, el) {\n        Object(_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"brushSingle\"])(ctx, el);\n    };\n    CanvasPainter.prototype._paintList = function (list, prevList, paintAll, redrawId) {\n        if (this._redrawId !== redrawId) {\n            return;\n        }\n        paintAll = paintAll || false;\n        this._updateLayerStatus(list);\n        var _a = this._doPaintList(list, prevList, paintAll), finished = _a.finished, needsRefreshHover = _a.needsRefreshHover;\n        if (this._needsManuallyCompositing) {\n            this._compositeManually();\n        }\n        if (needsRefreshHover) {\n            this._paintHoverList(list);\n        }\n        if (!finished) {\n            var self_1 = this;\n            Object(_animation_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function () {\n                self_1._paintList(list, prevList, paintAll, redrawId);\n            });\n        }\n        else {\n            this.eachLayer(function (layer) {\n                layer.afterBrush && layer.afterBrush();\n            });\n        }\n    };\n    CanvasPainter.prototype._compositeManually = function () {\n        var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;\n        var width = this._domRoot.width;\n        var height = this._domRoot.height;\n        ctx.clearRect(0, 0, width, height);\n        this.eachBuiltinLayer(function (layer) {\n            if (layer.virtual) {\n                ctx.drawImage(layer.dom, 0, 0, width, height);\n            }\n        });\n    };\n    CanvasPainter.prototype._doPaintList = function (list, prevList, paintAll) {\n        var _this = this;\n        var layerList = [];\n        var useDirtyRect = this._opts.useDirtyRect;\n        for (var zi = 0; zi < this._zlevelList.length; zi++) {\n            var zlevel = this._zlevelList[zi];\n            var layer = this._layers[zlevel];\n            if (layer.__builtin__\n                && layer !== this._hoverlayer\n                && (layer.__dirty || paintAll)) {\n                layerList.push(layer);\n            }\n        }\n        var finished = true;\n        var needsRefreshHover = false;\n        var _loop_1 = function (k) {\n            var layer = layerList[k];\n            var ctx = layer.ctx;\n            var repaintRects = useDirtyRect\n                && layer.createRepaintRects(list, prevList, this_1._width, this_1._height);\n            var start = paintAll ? layer.__startIndex : layer.__drawIndex;\n            var useTimer = !paintAll && layer.incremental && Date.now;\n            var startTime = useTimer && Date.now();\n            var clearColor = layer.zlevel === this_1._zlevelList[0]\n                ? this_1._backgroundColor : null;\n            if (layer.__startIndex === layer.__endIndex) {\n                layer.clear(false, clearColor, repaintRects);\n            }\n            else if (start === layer.__startIndex) {\n                var firstEl = list[start];\n                if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n                    layer.clear(false, clearColor, repaintRects);\n                }\n            }\n            if (start === -1) {\n                console.error('For some unknown reason. drawIndex is -1');\n                start = layer.__startIndex;\n            }\n            var i;\n            var repaint = function (repaintRect) {\n                var scope = {\n                    inHover: false,\n                    allClipped: false,\n                    prevEl: null,\n                    viewWidth: _this._width,\n                    viewHeight: _this._height\n                };\n                for (i = start; i < layer.__endIndex; i++) {\n                    var el = list[i];\n                    if (el.__inHover) {\n                        needsRefreshHover = true;\n                    }\n                    _this._doPaintEl(el, layer, useDirtyRect, repaintRect, scope, i === layer.__endIndex - 1);\n                    if (useTimer) {\n                        var dTime = Date.now() - startTime;\n                        if (dTime > 15) {\n                            break;\n                        }\n                    }\n                }\n                if (scope.prevElClipPaths) {\n                    ctx.restore();\n                }\n            };\n            if (repaintRects) {\n                if (repaintRects.length === 0) {\n                    i = layer.__endIndex;\n                }\n                else {\n                    var dpr = this_1.dpr;\n                    for (var r = 0; r < repaintRects.length; ++r) {\n                        var rect = repaintRects[r];\n                        ctx.save();\n                        ctx.beginPath();\n                        ctx.rect(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n                        ctx.clip();\n                        repaint(rect);\n                        ctx.restore();\n                    }\n                }\n            }\n            else {\n                ctx.save();\n                repaint();\n                ctx.restore();\n            }\n            layer.__drawIndex = i;\n            if (layer.__drawIndex < layer.__endIndex) {\n                finished = false;\n            }\n        };\n        var this_1 = this;\n        for (var k = 0; k < layerList.length; k++) {\n            _loop_1(k);\n        }\n        if (_core_env_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].wxa) {\n            _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this._layers, function (layer) {\n                if (layer && layer.ctx && layer.ctx.draw) {\n                    layer.ctx.draw();\n                }\n            });\n        }\n        return {\n            finished: finished,\n            needsRefreshHover: needsRefreshHover\n        };\n    };\n    CanvasPainter.prototype._doPaintEl = function (el, currentLayer, useDirtyRect, repaintRect, scope, isLast) {\n        var ctx = currentLayer.ctx;\n        if (useDirtyRect) {\n            var paintRect = el.getPaintRect();\n            if (!repaintRect || paintRect && paintRect.intersect(repaintRect)) {\n                Object(_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"brush\"])(ctx, el, scope, isLast);\n                el.setPrevPaintRect(paintRect);\n            }\n        }\n        else {\n            Object(_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"brush\"])(ctx, el, scope, isLast);\n        }\n    };\n    CanvasPainter.prototype.getLayer = function (zlevel, virtual) {\n        if (this._singleCanvas && !this._needsManuallyCompositing) {\n            zlevel = CANVAS_ZLEVEL;\n        }\n        var layer = this._layers[zlevel];\n        if (!layer) {\n            layer = new _Layer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]('zr_' + zlevel, this, this.dpr);\n            layer.zlevel = zlevel;\n            layer.__builtin__ = true;\n            if (this._layerConfig[zlevel]) {\n                _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](layer, this._layerConfig[zlevel], true);\n            }\n            else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {\n                _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);\n            }\n            if (virtual) {\n                layer.virtual = virtual;\n            }\n            this.insertLayer(zlevel, layer);\n            layer.initContext();\n        }\n        return layer;\n    };\n    CanvasPainter.prototype.insertLayer = function (zlevel, layer) {\n        var layersMap = this._layers;\n        var zlevelList = this._zlevelList;\n        var len = zlevelList.length;\n        var domRoot = this._domRoot;\n        var prevLayer = null;\n        var i = -1;\n        if (layersMap[zlevel]) {\n            if (true) {\n                _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"logError\"]('ZLevel ' + zlevel + ' has been used already');\n            }\n            return;\n        }\n        if (!isLayerValid(layer)) {\n            if (true) {\n                _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"logError\"]('Layer of zlevel ' + zlevel + ' is not valid');\n            }\n            return;\n        }\n        if (len > 0 && zlevel > zlevelList[0]) {\n            for (i = 0; i < len - 1; i++) {\n                if (zlevelList[i] < zlevel\n                    && zlevelList[i + 1] > zlevel) {\n                    break;\n                }\n            }\n            prevLayer = layersMap[zlevelList[i]];\n        }\n        zlevelList.splice(i + 1, 0, zlevel);\n        layersMap[zlevel] = layer;\n        if (!layer.virtual) {\n            if (prevLayer) {\n                var prevDom = prevLayer.dom;\n                if (prevDom.nextSibling) {\n                    domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n                }\n                else {\n                    domRoot.appendChild(layer.dom);\n                }\n            }\n            else {\n                if (domRoot.firstChild) {\n                    domRoot.insertBefore(layer.dom, domRoot.firstChild);\n                }\n                else {\n                    domRoot.appendChild(layer.dom);\n                }\n            }\n        }\n        layer.__painter = this;\n    };\n    CanvasPainter.prototype.eachLayer = function (cb, context) {\n        var zlevelList = this._zlevelList;\n        for (var i = 0; i < zlevelList.length; i++) {\n            var z = zlevelList[i];\n            cb.call(context, this._layers[z], z);\n        }\n    };\n    CanvasPainter.prototype.eachBuiltinLayer = function (cb, context) {\n        var zlevelList = this._zlevelList;\n        for (var i = 0; i < zlevelList.length; i++) {\n            var z = zlevelList[i];\n            var layer = this._layers[z];\n            if (layer.__builtin__) {\n                cb.call(context, layer, z);\n            }\n        }\n    };\n    CanvasPainter.prototype.eachOtherLayer = function (cb, context) {\n        var zlevelList = this._zlevelList;\n        for (var i = 0; i < zlevelList.length; i++) {\n            var z = zlevelList[i];\n            var layer = this._layers[z];\n            if (!layer.__builtin__) {\n                cb.call(context, layer, z);\n            }\n        }\n    };\n    CanvasPainter.prototype.getLayers = function () {\n        return this._layers;\n    };\n    CanvasPainter.prototype._updateLayerStatus = function (list) {\n        this.eachBuiltinLayer(function (layer, z) {\n            layer.__dirty = layer.__used = false;\n        });\n        function updatePrevLayer(idx) {\n            if (prevLayer) {\n                if (prevLayer.__endIndex !== idx) {\n                    prevLayer.__dirty = true;\n                }\n                prevLayer.__endIndex = idx;\n            }\n        }\n        if (this._singleCanvas) {\n            for (var i_1 = 1; i_1 < list.length; i_1++) {\n                var el = list[i_1];\n                if (el.zlevel !== list[i_1 - 1].zlevel || el.incremental) {\n                    this._needsManuallyCompositing = true;\n                    break;\n                }\n            }\n        }\n        var prevLayer = null;\n        var incrementalLayerCount = 0;\n        var prevZlevel;\n        var i;\n        for (i = 0; i < list.length; i++) {\n            var el = list[i];\n            var zlevel = el.zlevel;\n            var layer = void 0;\n            if (prevZlevel !== zlevel) {\n                prevZlevel = zlevel;\n                incrementalLayerCount = 0;\n            }\n            if (el.incremental) {\n                layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n                layer.incremental = true;\n                incrementalLayerCount = 1;\n            }\n            else {\n                layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n            }\n            if (!layer.__builtin__) {\n                _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"logError\"]('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n            }\n            if (layer !== prevLayer) {\n                layer.__used = true;\n                if (layer.__startIndex !== i) {\n                    layer.__dirty = true;\n                }\n                layer.__startIndex = i;\n                if (!layer.incremental) {\n                    layer.__drawIndex = i;\n                }\n                else {\n                    layer.__drawIndex = -1;\n                }\n                updatePrevLayer(i);\n                prevLayer = layer;\n            }\n            if ((el.__dirty & _graphic_constants_js__WEBPACK_IMPORTED_MODULE_6__[\"REDRAW_BIT\"]) && !el.__inHover) {\n                layer.__dirty = true;\n                if (layer.incremental && layer.__drawIndex < 0) {\n                    layer.__drawIndex = i;\n                }\n            }\n        }\n        updatePrevLayer(i);\n        this.eachBuiltinLayer(function (layer, z) {\n            if (!layer.__used && layer.getElementCount() > 0) {\n                layer.__dirty = true;\n                layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n            }\n            if (layer.__dirty && layer.__drawIndex < 0) {\n                layer.__drawIndex = layer.__startIndex;\n            }\n        });\n    };\n    CanvasPainter.prototype.clear = function () {\n        this.eachBuiltinLayer(this._clearLayer);\n        return this;\n    };\n    CanvasPainter.prototype._clearLayer = function (layer) {\n        layer.clear();\n    };\n    CanvasPainter.prototype.setBackgroundColor = function (backgroundColor) {\n        this._backgroundColor = backgroundColor;\n        _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"each\"](this._layers, function (layer) {\n            layer.setUnpainted();\n        });\n    };\n    CanvasPainter.prototype.configLayer = function (zlevel, config) {\n        if (config) {\n            var layerConfig = this._layerConfig;\n            if (!layerConfig[zlevel]) {\n                layerConfig[zlevel] = config;\n            }\n            else {\n                _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](layerConfig[zlevel], config, true);\n            }\n            for (var i = 0; i < this._zlevelList.length; i++) {\n                var _zlevel = this._zlevelList[i];\n                if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n                    var layer = this._layers[_zlevel];\n                    _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"merge\"](layer, layerConfig[zlevel], true);\n                }\n            }\n        }\n    };\n    CanvasPainter.prototype.delLayer = function (zlevel) {\n        var layers = this._layers;\n        var zlevelList = this._zlevelList;\n        var layer = layers[zlevel];\n        if (!layer) {\n            return;\n        }\n        layer.dom.parentNode.removeChild(layer.dom);\n        delete layers[zlevel];\n        zlevelList.splice(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"](zlevelList, zlevel), 1);\n    };\n    CanvasPainter.prototype.resize = function (width, height) {\n        if (!this._domRoot.style) {\n            if (width == null || height == null) {\n                return;\n            }\n            this._width = width;\n            this._height = height;\n            this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n        }\n        else {\n            var domRoot = this._domRoot;\n            domRoot.style.display = 'none';\n            var opts = this._opts;\n            var root = this.root;\n            width != null && (opts.width = width);\n            height != null && (opts.height = height);\n            width = Object(_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"getSize\"])(root, 0, opts);\n            height = Object(_helper_js__WEBPACK_IMPORTED_MODULE_7__[\"getSize\"])(root, 1, opts);\n            domRoot.style.display = '';\n            if (this._width !== width || height !== this._height) {\n                domRoot.style.width = width + 'px';\n                domRoot.style.height = height + 'px';\n                for (var id in this._layers) {\n                    if (this._layers.hasOwnProperty(id)) {\n                        this._layers[id].resize(width, height);\n                    }\n                }\n                this.refresh(true);\n            }\n            this._width = width;\n            this._height = height;\n        }\n        return this;\n    };\n    CanvasPainter.prototype.clearLayer = function (zlevel) {\n        var layer = this._layers[zlevel];\n        if (layer) {\n            layer.clear();\n        }\n    };\n    CanvasPainter.prototype.dispose = function () {\n        this.root.innerHTML = '';\n        this.root =\n            this.storage =\n                this._domRoot =\n                    this._layers = null;\n    };\n    CanvasPainter.prototype.getRenderedCanvas = function (opts) {\n        opts = opts || {};\n        if (this._singleCanvas && !this._compositeManually) {\n            return this._layers[CANVAS_ZLEVEL].dom;\n        }\n        var imageLayer = new _Layer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]('image', this, opts.pixelRatio || this.dpr);\n        imageLayer.initContext();\n        imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n        var ctx = imageLayer.ctx;\n        if (opts.pixelRatio <= this.dpr) {\n            this.refresh();\n            var width_1 = imageLayer.dom.width;\n            var height_1 = imageLayer.dom.height;\n            this.eachLayer(function (layer) {\n                if (layer.__builtin__) {\n                    ctx.drawImage(layer.dom, 0, 0, width_1, height_1);\n                }\n                else if (layer.renderToCanvas) {\n                    ctx.save();\n                    layer.renderToCanvas(ctx);\n                    ctx.restore();\n                }\n            });\n        }\n        else {\n            var scope = {\n                inHover: false,\n                viewWidth: this._width,\n                viewHeight: this._height\n            };\n            var displayList = this.storage.getDisplayList(true);\n            for (var i = 0, len = displayList.length; i < len; i++) {\n                var el = displayList[i];\n                Object(_graphic_js__WEBPACK_IMPORTED_MODULE_5__[\"brush\"])(ctx, el, scope, i === len - 1);\n            }\n        }\n        return imageLayer.dom;\n    };\n    CanvasPainter.prototype.getWidth = function () {\n        return this._width;\n    };\n    CanvasPainter.prototype.getHeight = function () {\n        return this._height;\n    };\n    return CanvasPainter;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (CanvasPainter);\n;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/canvas/Painter.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/canvas/dashStyle.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/canvas/dashStyle.js ***!
  \***************************************************************************/
/*! exports provided: normalizeLineDash, getLineDash */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeLineDash\", function() { return normalizeLineDash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLineDash\", function() { return getLineDash; });\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\nfunction normalizeLineDash(lineType, lineWidth) {\n    if (!lineType || lineType === 'solid' || !(lineWidth > 0)) {\n        return null;\n    }\n    return lineType === 'dashed'\n        ? [4 * lineWidth, 2 * lineWidth]\n        : lineType === 'dotted'\n            ? [lineWidth]\n            : Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(lineType)\n                ? [lineType] : Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(lineType) ? lineType : null;\n}\nfunction getLineDash(el) {\n    var style = el.style;\n    var lineDash = style.lineDash && style.lineWidth > 0 && normalizeLineDash(style.lineDash, style.lineWidth);\n    var lineDashOffset = style.lineDashOffset;\n    if (lineDash) {\n        var lineScale_1 = (style.strokeNoScale && el.getLineScale) ? el.getLineScale() : 1;\n        if (lineScale_1 && lineScale_1 !== 1) {\n            lineDash = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(lineDash, function (rawVal) {\n                return rawVal / lineScale_1;\n            });\n            lineDashOffset /= lineScale_1;\n        }\n    }\n    return [lineDash, lineDashOffset];\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/canvas/dashStyle.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js ***!
  \*************************************************************************/
/*! exports provided: createCanvasPattern, brushSingle, brush */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCanvasPattern\", function() { return createCanvasPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brushSingle\", function() { return brushSingle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brush\", function() { return brush; });\n/* harmony import */ var _graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../graphic/Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var _graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../graphic/helper/image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/image.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js\");\n/* harmony import */ var _graphic_Path_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _graphic_Image_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _graphic_TSpan_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../graphic/TSpan.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _dashStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dashStyle.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/dashStyle.js\");\n/* harmony import */ var _graphic_constants_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../graphic/constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar pathProxyForDraw = new _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](true);\nfunction styleHasStroke(style) {\n    var stroke = style.stroke;\n    return !(stroke == null || stroke === 'none' || !(style.lineWidth > 0));\n}\nfunction isValidStrokeFillStyle(strokeOrFill) {\n    return typeof strokeOrFill === 'string' && strokeOrFill !== 'none';\n}\nfunction styleHasFill(style) {\n    var fill = style.fill;\n    return fill != null && fill !== 'none';\n}\nfunction doFillPath(ctx, style) {\n    if (style.fillOpacity != null && style.fillOpacity !== 1) {\n        var originalGlobalAlpha = ctx.globalAlpha;\n        ctx.globalAlpha = style.fillOpacity * style.opacity;\n        ctx.fill();\n        ctx.globalAlpha = originalGlobalAlpha;\n    }\n    else {\n        ctx.fill();\n    }\n}\nfunction doStrokePath(ctx, style) {\n    if (style.strokeOpacity != null && style.strokeOpacity !== 1) {\n        var originalGlobalAlpha = ctx.globalAlpha;\n        ctx.globalAlpha = style.strokeOpacity * style.opacity;\n        ctx.stroke();\n        ctx.globalAlpha = originalGlobalAlpha;\n    }\n    else {\n        ctx.stroke();\n    }\n}\nfunction createCanvasPattern(ctx, pattern, el) {\n    var image = Object(_graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_2__[\"createOrUpdateImage\"])(pattern.image, pattern.__image, el);\n    if (Object(_graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_2__[\"isImageReady\"])(image)) {\n        var canvasPattern = ctx.createPattern(image, pattern.repeat || 'repeat');\n        if (typeof DOMMatrix === 'function'\n            && canvasPattern\n            && canvasPattern.setTransform) {\n            var matrix = new DOMMatrix();\n            matrix.translateSelf((pattern.x || 0), (pattern.y || 0));\n            matrix.rotateSelf(0, 0, (pattern.rotation || 0) * _core_util_js__WEBPACK_IMPORTED_MODULE_7__[\"RADIAN_TO_DEGREE\"]);\n            matrix.scaleSelf((pattern.scaleX || 1), (pattern.scaleY || 1));\n            canvasPattern.setTransform(matrix);\n        }\n        return canvasPattern;\n    }\n}\nfunction brushPath(ctx, el, style, inBatch) {\n    var _a;\n    var hasStroke = styleHasStroke(style);\n    var hasFill = styleHasFill(style);\n    var strokePercent = style.strokePercent;\n    var strokePart = strokePercent < 1;\n    var firstDraw = !el.path;\n    if ((!el.silent || strokePart) && firstDraw) {\n        el.createPathProxy();\n    }\n    var path = el.path || pathProxyForDraw;\n    var dirtyFlag = el.__dirty;\n    if (!inBatch) {\n        var fill = style.fill;\n        var stroke = style.stroke;\n        var hasFillGradient = hasFill && !!fill.colorStops;\n        var hasStrokeGradient = hasStroke && !!stroke.colorStops;\n        var hasFillPattern = hasFill && !!fill.image;\n        var hasStrokePattern = hasStroke && !!stroke.image;\n        var fillGradient = void 0;\n        var strokeGradient = void 0;\n        var fillPattern = void 0;\n        var strokePattern = void 0;\n        var rect = void 0;\n        if (hasFillGradient || hasStrokeGradient) {\n            rect = el.getBoundingRect();\n        }\n        if (hasFillGradient) {\n            fillGradient = dirtyFlag\n                ? Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getCanvasGradient\"])(ctx, fill, rect)\n                : el.__canvasFillGradient;\n            el.__canvasFillGradient = fillGradient;\n        }\n        if (hasStrokeGradient) {\n            strokeGradient = dirtyFlag\n                ? Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"getCanvasGradient\"])(ctx, stroke, rect)\n                : el.__canvasStrokeGradient;\n            el.__canvasStrokeGradient = strokeGradient;\n        }\n        if (hasFillPattern) {\n            fillPattern = (dirtyFlag || !el.__canvasFillPattern)\n                ? createCanvasPattern(ctx, fill, el)\n                : el.__canvasFillPattern;\n            el.__canvasFillPattern = fillPattern;\n        }\n        if (hasStrokePattern) {\n            strokePattern = (dirtyFlag || !el.__canvasStrokePattern)\n                ? createCanvasPattern(ctx, stroke, el)\n                : el.__canvasStrokePattern;\n            el.__canvasStrokePattern = fillPattern;\n        }\n        if (hasFillGradient) {\n            ctx.fillStyle = fillGradient;\n        }\n        else if (hasFillPattern) {\n            if (fillPattern) {\n                ctx.fillStyle = fillPattern;\n            }\n            else {\n                hasFill = false;\n            }\n        }\n        if (hasStrokeGradient) {\n            ctx.strokeStyle = strokeGradient;\n        }\n        else if (hasStrokePattern) {\n            if (strokePattern) {\n                ctx.strokeStyle = strokePattern;\n            }\n            else {\n                hasStroke = false;\n            }\n        }\n    }\n    var scale = el.getGlobalScale();\n    path.setScale(scale[0], scale[1], el.segmentIgnoreThreshold);\n    var lineDash;\n    var lineDashOffset;\n    if (ctx.setLineDash && style.lineDash) {\n        _a = Object(_dashStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"getLineDash\"])(el), lineDash = _a[0], lineDashOffset = _a[1];\n    }\n    var needsRebuild = true;\n    if (firstDraw || (dirtyFlag & _graphic_constants_js__WEBPACK_IMPORTED_MODULE_9__[\"SHAPE_CHANGED_BIT\"])) {\n        path.setDPR(ctx.dpr);\n        if (strokePart) {\n            path.setContext(null);\n        }\n        else {\n            path.setContext(ctx);\n            needsRebuild = false;\n        }\n        path.reset();\n        el.buildPath(path, el.shape, inBatch);\n        path.toStatic();\n        el.pathUpdated();\n    }\n    if (needsRebuild) {\n        path.rebuildPath(ctx, strokePart ? strokePercent : 1);\n    }\n    if (lineDash) {\n        ctx.setLineDash(lineDash);\n        ctx.lineDashOffset = lineDashOffset;\n    }\n    if (!inBatch) {\n        if (style.strokeFirst) {\n            if (hasStroke) {\n                doStrokePath(ctx, style);\n            }\n            if (hasFill) {\n                doFillPath(ctx, style);\n            }\n        }\n        else {\n            if (hasFill) {\n                doFillPath(ctx, style);\n            }\n            if (hasStroke) {\n                doStrokePath(ctx, style);\n            }\n        }\n    }\n    if (lineDash) {\n        ctx.setLineDash([]);\n    }\n}\nfunction brushImage(ctx, el, style) {\n    var image = el.__image = Object(_graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_2__[\"createOrUpdateImage\"])(style.image, el.__image, el, el.onload);\n    if (!image || !Object(_graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_2__[\"isImageReady\"])(image)) {\n        return;\n    }\n    var x = style.x || 0;\n    var y = style.y || 0;\n    var width = el.getWidth();\n    var height = el.getHeight();\n    var aspect = image.width / image.height;\n    if (width == null && height != null) {\n        width = height * aspect;\n    }\n    else if (height == null && width != null) {\n        height = width / aspect;\n    }\n    else if (width == null && height == null) {\n        width = image.width;\n        height = image.height;\n    }\n    if (style.sWidth && style.sHeight) {\n        var sx = style.sx || 0;\n        var sy = style.sy || 0;\n        ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);\n    }\n    else if (style.sx && style.sy) {\n        var sx = style.sx;\n        var sy = style.sy;\n        var sWidth = width - sx;\n        var sHeight = height - sy;\n        ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);\n    }\n    else {\n        ctx.drawImage(image, x, y, width, height);\n    }\n}\nfunction brushText(ctx, el, style) {\n    var _a;\n    var text = style.text;\n    text != null && (text += '');\n    if (text) {\n        ctx.font = style.font || _core_platform_js__WEBPACK_IMPORTED_MODULE_10__[\"DEFAULT_FONT\"];\n        ctx.textAlign = style.textAlign;\n        ctx.textBaseline = style.textBaseline;\n        var lineDash = void 0;\n        var lineDashOffset = void 0;\n        if (ctx.setLineDash && style.lineDash) {\n            _a = Object(_dashStyle_js__WEBPACK_IMPORTED_MODULE_8__[\"getLineDash\"])(el), lineDash = _a[0], lineDashOffset = _a[1];\n        }\n        if (lineDash) {\n            ctx.setLineDash(lineDash);\n            ctx.lineDashOffset = lineDashOffset;\n        }\n        if (style.strokeFirst) {\n            if (styleHasStroke(style)) {\n                ctx.strokeText(text, style.x, style.y);\n            }\n            if (styleHasFill(style)) {\n                ctx.fillText(text, style.x, style.y);\n            }\n        }\n        else {\n            if (styleHasFill(style)) {\n                ctx.fillText(text, style.x, style.y);\n            }\n            if (styleHasStroke(style)) {\n                ctx.strokeText(text, style.x, style.y);\n            }\n        }\n        if (lineDash) {\n            ctx.setLineDash([]);\n        }\n    }\n}\nvar SHADOW_NUMBER_PROPS = ['shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\nvar STROKE_PROPS = [\n    ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]\n];\nfunction bindCommonProps(ctx, style, prevStyle, forceSetAll, scope) {\n    var styleChanged = false;\n    if (!forceSetAll) {\n        prevStyle = prevStyle || {};\n        if (style === prevStyle) {\n            return false;\n        }\n    }\n    if (forceSetAll || style.opacity !== prevStyle.opacity) {\n        flushPathDrawn(ctx, scope);\n        styleChanged = true;\n        var opacity = Math.max(Math.min(style.opacity, 1), 0);\n        ctx.globalAlpha = isNaN(opacity) ? _graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_0__[\"DEFAULT_COMMON_STYLE\"].opacity : opacity;\n    }\n    if (forceSetAll || style.blend !== prevStyle.blend) {\n        if (!styleChanged) {\n            flushPathDrawn(ctx, scope);\n            styleChanged = true;\n        }\n        ctx.globalCompositeOperation = style.blend || _graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_0__[\"DEFAULT_COMMON_STYLE\"].blend;\n    }\n    for (var i = 0; i < SHADOW_NUMBER_PROPS.length; i++) {\n        var propName = SHADOW_NUMBER_PROPS[i];\n        if (forceSetAll || style[propName] !== prevStyle[propName]) {\n            if (!styleChanged) {\n                flushPathDrawn(ctx, scope);\n                styleChanged = true;\n            }\n            ctx[propName] = ctx.dpr * (style[propName] || 0);\n        }\n    }\n    if (forceSetAll || style.shadowColor !== prevStyle.shadowColor) {\n        if (!styleChanged) {\n            flushPathDrawn(ctx, scope);\n            styleChanged = true;\n        }\n        ctx.shadowColor = style.shadowColor || _graphic_Displayable_js__WEBPACK_IMPORTED_MODULE_0__[\"DEFAULT_COMMON_STYLE\"].shadowColor;\n    }\n    return styleChanged;\n}\nfunction bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetAll, scope) {\n    var style = getStyle(el, scope.inHover);\n    var prevStyle = forceSetAll\n        ? null\n        : (prevEl && getStyle(prevEl, scope.inHover) || {});\n    if (style === prevStyle) {\n        return false;\n    }\n    var styleChanged = bindCommonProps(ctx, style, prevStyle, forceSetAll, scope);\n    if (forceSetAll || style.fill !== prevStyle.fill) {\n        if (!styleChanged) {\n            flushPathDrawn(ctx, scope);\n            styleChanged = true;\n        }\n        isValidStrokeFillStyle(style.fill) && (ctx.fillStyle = style.fill);\n    }\n    if (forceSetAll || style.stroke !== prevStyle.stroke) {\n        if (!styleChanged) {\n            flushPathDrawn(ctx, scope);\n            styleChanged = true;\n        }\n        isValidStrokeFillStyle(style.stroke) && (ctx.strokeStyle = style.stroke);\n    }\n    if (forceSetAll || style.opacity !== prevStyle.opacity) {\n        if (!styleChanged) {\n            flushPathDrawn(ctx, scope);\n            styleChanged = true;\n        }\n        ctx.globalAlpha = style.opacity == null ? 1 : style.opacity;\n    }\n    if (el.hasStroke()) {\n        var lineWidth = style.lineWidth;\n        var newLineWidth = lineWidth / ((style.strokeNoScale && el.getLineScale) ? el.getLineScale() : 1);\n        if (ctx.lineWidth !== newLineWidth) {\n            if (!styleChanged) {\n                flushPathDrawn(ctx, scope);\n                styleChanged = true;\n            }\n            ctx.lineWidth = newLineWidth;\n        }\n    }\n    for (var i = 0; i < STROKE_PROPS.length; i++) {\n        var prop = STROKE_PROPS[i];\n        var propName = prop[0];\n        if (forceSetAll || style[propName] !== prevStyle[propName]) {\n            if (!styleChanged) {\n                flushPathDrawn(ctx, scope);\n                styleChanged = true;\n            }\n            ctx[propName] = style[propName] || prop[1];\n        }\n    }\n    return styleChanged;\n}\nfunction bindImageStyle(ctx, el, prevEl, forceSetAll, scope) {\n    return bindCommonProps(ctx, getStyle(el, scope.inHover), prevEl && getStyle(prevEl, scope.inHover), forceSetAll, scope);\n}\nfunction setContextTransform(ctx, el) {\n    var m = el.transform;\n    var dpr = ctx.dpr || 1;\n    if (m) {\n        ctx.setTransform(dpr * m[0], dpr * m[1], dpr * m[2], dpr * m[3], dpr * m[4], dpr * m[5]);\n    }\n    else {\n        ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n    }\n}\nfunction updateClipStatus(clipPaths, ctx, scope) {\n    var allClipped = false;\n    for (var i = 0; i < clipPaths.length; i++) {\n        var clipPath = clipPaths[i];\n        allClipped = allClipped || clipPath.isZeroArea();\n        setContextTransform(ctx, clipPath);\n        ctx.beginPath();\n        clipPath.buildPath(ctx, clipPath.shape);\n        ctx.clip();\n    }\n    scope.allClipped = allClipped;\n}\nfunction isTransformChanged(m0, m1) {\n    if (m0 && m1) {\n        return m0[0] !== m1[0]\n            || m0[1] !== m1[1]\n            || m0[2] !== m1[2]\n            || m0[3] !== m1[3]\n            || m0[4] !== m1[4]\n            || m0[5] !== m1[5];\n    }\n    else if (!m0 && !m1) {\n        return false;\n    }\n    return true;\n}\nvar DRAW_TYPE_PATH = 1;\nvar DRAW_TYPE_IMAGE = 2;\nvar DRAW_TYPE_TEXT = 3;\nvar DRAW_TYPE_INCREMENTAL = 4;\nfunction canPathBatch(style) {\n    var hasFill = styleHasFill(style);\n    var hasStroke = styleHasStroke(style);\n    return !(style.lineDash\n        || !(+hasFill ^ +hasStroke)\n        || (hasFill && typeof style.fill !== 'string')\n        || (hasStroke && typeof style.stroke !== 'string')\n        || style.strokePercent < 1\n        || style.strokeOpacity < 1\n        || style.fillOpacity < 1);\n}\nfunction flushPathDrawn(ctx, scope) {\n    scope.batchFill && ctx.fill();\n    scope.batchStroke && ctx.stroke();\n    scope.batchFill = '';\n    scope.batchStroke = '';\n}\nfunction getStyle(el, inHover) {\n    return inHover ? (el.__hoverStyle || el.style) : el.style;\n}\nfunction brushSingle(ctx, el) {\n    brush(ctx, el, { inHover: false, viewWidth: 0, viewHeight: 0 }, true);\n}\nfunction brush(ctx, el, scope, isLast) {\n    var m = el.transform;\n    if (!el.shouldBePainted(scope.viewWidth, scope.viewHeight, false, false)) {\n        el.__dirty &= ~_graphic_constants_js__WEBPACK_IMPORTED_MODULE_9__[\"REDRAW_BIT\"];\n        el.__isRendered = false;\n        return;\n    }\n    var clipPaths = el.__clipPaths;\n    var prevElClipPaths = scope.prevElClipPaths;\n    var forceSetTransform = false;\n    var forceSetStyle = false;\n    if (!prevElClipPaths || Object(_helper_js__WEBPACK_IMPORTED_MODULE_3__[\"isClipPathChanged\"])(clipPaths, prevElClipPaths)) {\n        if (prevElClipPaths && prevElClipPaths.length) {\n            flushPathDrawn(ctx, scope);\n            ctx.restore();\n            forceSetStyle = forceSetTransform = true;\n            scope.prevElClipPaths = null;\n            scope.allClipped = false;\n            scope.prevEl = null;\n        }\n        if (clipPaths && clipPaths.length) {\n            flushPathDrawn(ctx, scope);\n            ctx.save();\n            updateClipStatus(clipPaths, ctx, scope);\n            forceSetTransform = true;\n        }\n        scope.prevElClipPaths = clipPaths;\n    }\n    if (scope.allClipped) {\n        el.__isRendered = false;\n        return;\n    }\n    el.beforeBrush && el.beforeBrush();\n    el.innerBeforeBrush();\n    var prevEl = scope.prevEl;\n    if (!prevEl) {\n        forceSetStyle = forceSetTransform = true;\n    }\n    var canBatchPath = el instanceof _graphic_Path_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n        && el.autoBatch\n        && canPathBatch(el.style);\n    if (forceSetTransform || isTransformChanged(m, prevEl.transform)) {\n        flushPathDrawn(ctx, scope);\n        setContextTransform(ctx, el);\n    }\n    else if (!canBatchPath) {\n        flushPathDrawn(ctx, scope);\n    }\n    var style = getStyle(el, scope.inHover);\n    if (el instanceof _graphic_Path_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n        if (scope.lastDrawType !== DRAW_TYPE_PATH) {\n            forceSetStyle = true;\n            scope.lastDrawType = DRAW_TYPE_PATH;\n        }\n        bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetStyle, scope);\n        if (!canBatchPath || (!scope.batchFill && !scope.batchStroke)) {\n            ctx.beginPath();\n        }\n        brushPath(ctx, el, style, canBatchPath);\n        if (canBatchPath) {\n            scope.batchFill = style.fill || '';\n            scope.batchStroke = style.stroke || '';\n        }\n    }\n    else {\n        if (el instanceof _graphic_TSpan_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n            if (scope.lastDrawType !== DRAW_TYPE_TEXT) {\n                forceSetStyle = true;\n                scope.lastDrawType = DRAW_TYPE_TEXT;\n            }\n            bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetStyle, scope);\n            brushText(ctx, el, style);\n        }\n        else if (el instanceof _graphic_Image_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n            if (scope.lastDrawType !== DRAW_TYPE_IMAGE) {\n                forceSetStyle = true;\n                scope.lastDrawType = DRAW_TYPE_IMAGE;\n            }\n            bindImageStyle(ctx, el, prevEl, forceSetStyle, scope);\n            brushImage(ctx, el, style);\n        }\n        else if (el.getTemporalDisplayables) {\n            if (scope.lastDrawType !== DRAW_TYPE_INCREMENTAL) {\n                forceSetStyle = true;\n                scope.lastDrawType = DRAW_TYPE_INCREMENTAL;\n            }\n            brushIncremental(ctx, el, scope);\n        }\n    }\n    if (canBatchPath && isLast) {\n        flushPathDrawn(ctx, scope);\n    }\n    el.innerAfterBrush();\n    el.afterBrush && el.afterBrush();\n    scope.prevEl = el;\n    el.__dirty = 0;\n    el.__isRendered = true;\n}\nfunction brushIncremental(ctx, el, scope) {\n    var displayables = el.getDisplayables();\n    var temporalDisplayables = el.getTemporalDisplayables();\n    ctx.save();\n    var innerScope = {\n        prevElClipPaths: null,\n        prevEl: null,\n        allClipped: false,\n        viewWidth: scope.viewWidth,\n        viewHeight: scope.viewHeight,\n        inHover: scope.inHover\n    };\n    var i;\n    var len;\n    for (i = el.getCursor(), len = displayables.length; i < len; i++) {\n        var displayable = displayables[i];\n        displayable.beforeBrush && displayable.beforeBrush();\n        displayable.innerBeforeBrush();\n        brush(ctx, displayable, innerScope, i === len - 1);\n        displayable.innerAfterBrush();\n        displayable.afterBrush && displayable.afterBrush();\n        innerScope.prevEl = displayable;\n    }\n    for (var i_1 = 0, len_1 = temporalDisplayables.length; i_1 < len_1; i_1++) {\n        var displayable = temporalDisplayables[i_1];\n        displayable.beforeBrush && displayable.beforeBrush();\n        displayable.innerBeforeBrush();\n        brush(ctx, displayable, innerScope, i_1 === len_1 - 1);\n        displayable.innerAfterBrush();\n        displayable.afterBrush && displayable.afterBrush();\n        innerScope.prevEl = displayable;\n    }\n    el.clearTemporalDisplayables();\n    el.notClear = true;\n    ctx.restore();\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/canvas/graphic.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js ***!
  \************************************************************************/
/*! exports provided: createLinearGradient, createRadialGradient, getCanvasGradient, isClipPathChanged, getSize */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createLinearGradient\", function() { return createLinearGradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createRadialGradient\", function() { return createRadialGradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCanvasGradient\", function() { return getCanvasGradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isClipPathChanged\", function() { return isClipPathChanged; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSize\", function() { return getSize; });\nfunction isSafeNum(num) {\n    return isFinite(num);\n}\nfunction createLinearGradient(ctx, obj, rect) {\n    var x = obj.x == null ? 0 : obj.x;\n    var x2 = obj.x2 == null ? 1 : obj.x2;\n    var y = obj.y == null ? 0 : obj.y;\n    var y2 = obj.y2 == null ? 0 : obj.y2;\n    if (!obj.global) {\n        x = x * rect.width + rect.x;\n        x2 = x2 * rect.width + rect.x;\n        y = y * rect.height + rect.y;\n        y2 = y2 * rect.height + rect.y;\n    }\n    x = isSafeNum(x) ? x : 0;\n    x2 = isSafeNum(x2) ? x2 : 1;\n    y = isSafeNum(y) ? y : 0;\n    y2 = isSafeNum(y2) ? y2 : 0;\n    var canvasGradient = ctx.createLinearGradient(x, y, x2, y2);\n    return canvasGradient;\n}\nfunction createRadialGradient(ctx, obj, rect) {\n    var width = rect.width;\n    var height = rect.height;\n    var min = Math.min(width, height);\n    var x = obj.x == null ? 0.5 : obj.x;\n    var y = obj.y == null ? 0.5 : obj.y;\n    var r = obj.r == null ? 0.5 : obj.r;\n    if (!obj.global) {\n        x = x * width + rect.x;\n        y = y * height + rect.y;\n        r = r * min;\n    }\n    x = isSafeNum(x) ? x : 0.5;\n    y = isSafeNum(y) ? y : 0.5;\n    r = r >= 0 && isSafeNum(r) ? r : 0.5;\n    var canvasGradient = ctx.createRadialGradient(x, y, 0, x, y, r);\n    return canvasGradient;\n}\nfunction getCanvasGradient(ctx, obj, rect) {\n    var canvasGradient = obj.type === 'radial'\n        ? createRadialGradient(ctx, obj, rect)\n        : createLinearGradient(ctx, obj, rect);\n    var colorStops = obj.colorStops;\n    for (var i = 0; i < colorStops.length; i++) {\n        canvasGradient.addColorStop(colorStops[i].offset, colorStops[i].color);\n    }\n    return canvasGradient;\n}\nfunction isClipPathChanged(clipPaths, prevClipPaths) {\n    if (clipPaths === prevClipPaths || (!clipPaths && !prevClipPaths)) {\n        return false;\n    }\n    if (!clipPaths || !prevClipPaths || (clipPaths.length !== prevClipPaths.length)) {\n        return true;\n    }\n    for (var i = 0; i < clipPaths.length; i++) {\n        if (clipPaths[i] !== prevClipPaths[i]) {\n            return true;\n        }\n    }\n    return false;\n}\nfunction parseInt10(val) {\n    return parseInt(val, 10);\n}\nfunction getSize(root, whIdx, opts) {\n    var wh = ['width', 'height'][whIdx];\n    var cwh = ['clientWidth', 'clientHeight'][whIdx];\n    var plt = ['paddingLeft', 'paddingTop'][whIdx];\n    var prb = ['paddingRight', 'paddingBottom'][whIdx];\n    if (opts[wh] != null && opts[wh] !== 'auto') {\n        return parseFloat(opts[wh]);\n    }\n    var stl = document.defaultView.getComputedStyle(root);\n    return ((root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh]))\n        - (parseInt10(stl[plt]) || 0)\n        - (parseInt10(stl[prb]) || 0)) | 0;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/config.js":
/*!*****************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/config.js ***!
  \*****************************************************************/
/*! exports provided: debugMode, devicePixelRatio, DARK_MODE_THRESHOLD, DARK_LABEL_COLOR, LIGHT_LABEL_COLOR, LIGHTER_LABEL_COLOR */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"debugMode\", function() { return debugMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"devicePixelRatio\", function() { return devicePixelRatio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DARK_MODE_THRESHOLD\", function() { return DARK_MODE_THRESHOLD; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DARK_LABEL_COLOR\", function() { return DARK_LABEL_COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LIGHT_LABEL_COLOR\", function() { return LIGHT_LABEL_COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LIGHTER_LABEL_COLOR\", function() { return LIGHTER_LABEL_COLOR; });\n/* harmony import */ var _core_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n\nvar dpr = 1;\nif (_core_env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].hasGlobalWindow) {\n    dpr = Math.max(window.devicePixelRatio\n        || (window.screen && window.screen.deviceXDPI / window.screen.logicalXDPI)\n        || 1, 1);\n}\nvar debugMode = 0;\nvar devicePixelRatio = dpr;\nvar DARK_MODE_THRESHOLD = 0.4;\nvar DARK_LABEL_COLOR = '#333';\nvar LIGHT_LABEL_COLOR = '#ccc';\nvar LIGHTER_LABEL_COLOR = '#eee';\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/config.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/arc.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/arc.js ***!
  \**********************************************************************/
/*! exports provided: containStroke */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containStroke\", function() { return containStroke; });\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/util.js\");\n\nvar PI2 = Math.PI * 2;\nfunction containStroke(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {\n    if (lineWidth === 0) {\n        return false;\n    }\n    var _l = lineWidth;\n    x -= cx;\n    y -= cy;\n    var d = Math.sqrt(x * x + y * y);\n    if ((d - _l > r) || (d + _l < r)) {\n        return false;\n    }\n    if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {\n        return true;\n    }\n    if (anticlockwise) {\n        var tmp = startAngle;\n        startAngle = Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeRadian\"])(endAngle);\n        endAngle = Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeRadian\"])(tmp);\n    }\n    else {\n        startAngle = Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeRadian\"])(startAngle);\n        endAngle = Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeRadian\"])(endAngle);\n    }\n    if (startAngle > endAngle) {\n        endAngle += PI2;\n    }\n    var angle = Math.atan2(y, x);\n    if (angle < 0) {\n        angle += PI2;\n    }\n    return (angle >= startAngle && angle <= endAngle)\n        || (angle + PI2 >= startAngle && angle + PI2 <= endAngle);\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/arc.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/cubic.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/cubic.js ***!
  \************************************************************************/
/*! exports provided: containStroke */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containStroke\", function() { return containStroke; });\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\nfunction containStroke(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {\n    if (lineWidth === 0) {\n        return false;\n    }\n    var _l = lineWidth;\n    if ((y > y0 + _l && y > y1 + _l && y > y2 + _l && y > y3 + _l)\n        || (y < y0 - _l && y < y1 - _l && y < y2 - _l && y < y3 - _l)\n        || (x > x0 + _l && x > x1 + _l && x > x2 + _l && x > x3 + _l)\n        || (x < x0 - _l && x < x1 - _l && x < x2 - _l && x < x3 - _l)) {\n        return false;\n    }\n    var d = _core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicProjectPoint\"](x0, y0, x1, y1, x2, y2, x3, y3, x, y, null);\n    return d <= _l / 2;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/cubic.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/line.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/line.js ***!
  \***********************************************************************/
/*! exports provided: containStroke */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containStroke\", function() { return containStroke; });\nfunction containStroke(x0, y0, x1, y1, lineWidth, x, y) {\n    if (lineWidth === 0) {\n        return false;\n    }\n    var _l = lineWidth;\n    var _a = 0;\n    var _b = x0;\n    if ((y > y0 + _l && y > y1 + _l)\n        || (y < y0 - _l && y < y1 - _l)\n        || (x > x0 + _l && x > x1 + _l)\n        || (x < x0 - _l && x < x1 - _l)) {\n        return false;\n    }\n    if (x0 !== x1) {\n        _a = (y0 - y1) / (x0 - x1);\n        _b = (x0 * y1 - x1 * y0) / (x0 - x1);\n    }\n    else {\n        return Math.abs(x - x0) <= _l / 2;\n    }\n    var tmp = _a * x - y + _b;\n    var _s = tmp * tmp / (_a * _a + 1);\n    return _s <= _l / 2 * _l / 2;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/line.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/path.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/path.js ***!
  \***********************************************************************/
/*! exports provided: contain, containStroke */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contain\", function() { return contain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containStroke\", function() { return containStroke; });\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var _line_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./line.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/line.js\");\n/* harmony import */ var _cubic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cubic.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/cubic.js\");\n/* harmony import */ var _quadratic_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./quadratic.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/quadratic.js\");\n/* harmony import */ var _arc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./arc.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/arc.js\");\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n/* harmony import */ var _windingLine_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./windingLine.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/windingLine.js\");\n\n\n\n\n\n\n\nvar CMD = _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].CMD;\nvar PI2 = Math.PI * 2;\nvar EPSILON = 1e-4;\nfunction isAroundEqual(a, b) {\n    return Math.abs(a - b) < EPSILON;\n}\nvar roots = [-1, -1, -1];\nvar extrema = [-1, -1];\nfunction swapExtrema() {\n    var tmp = extrema[0];\n    extrema[0] = extrema[1];\n    extrema[1] = tmp;\n}\nfunction windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {\n    if ((y > y0 && y > y1 && y > y2 && y > y3)\n        || (y < y0 && y < y1 && y < y2 && y < y3)) {\n        return 0;\n    }\n    var nRoots = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"cubicRootAt\"](y0, y1, y2, y3, y, roots);\n    if (nRoots === 0) {\n        return 0;\n    }\n    else {\n        var w = 0;\n        var nExtrema = -1;\n        var y0_ = void 0;\n        var y1_ = void 0;\n        for (var i = 0; i < nRoots; i++) {\n            var t = roots[i];\n            var unit = (t === 0 || t === 1) ? 0.5 : 1;\n            var x_ = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"cubicAt\"](x0, x1, x2, x3, t);\n            if (x_ < x) {\n                continue;\n            }\n            if (nExtrema < 0) {\n                nExtrema = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"cubicExtrema\"](y0, y1, y2, y3, extrema);\n                if (extrema[1] < extrema[0] && nExtrema > 1) {\n                    swapExtrema();\n                }\n                y0_ = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"cubicAt\"](y0, y1, y2, y3, extrema[0]);\n                if (nExtrema > 1) {\n                    y1_ = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"cubicAt\"](y0, y1, y2, y3, extrema[1]);\n                }\n            }\n            if (nExtrema === 2) {\n                if (t < extrema[0]) {\n                    w += y0_ < y0 ? unit : -unit;\n                }\n                else if (t < extrema[1]) {\n                    w += y1_ < y0_ ? unit : -unit;\n                }\n                else {\n                    w += y3 < y1_ ? unit : -unit;\n                }\n            }\n            else {\n                if (t < extrema[0]) {\n                    w += y0_ < y0 ? unit : -unit;\n                }\n                else {\n                    w += y3 < y0_ ? unit : -unit;\n                }\n            }\n        }\n        return w;\n    }\n}\nfunction windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {\n    if ((y > y0 && y > y1 && y > y2)\n        || (y < y0 && y < y1 && y < y2)) {\n        return 0;\n    }\n    var nRoots = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"quadraticRootAt\"](y0, y1, y2, y, roots);\n    if (nRoots === 0) {\n        return 0;\n    }\n    else {\n        var t = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"quadraticExtremum\"](y0, y1, y2);\n        if (t >= 0 && t <= 1) {\n            var w = 0;\n            var y_ = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"quadraticAt\"](y0, y1, y2, t);\n            for (var i = 0; i < nRoots; i++) {\n                var unit = (roots[i] === 0 || roots[i] === 1) ? 0.5 : 1;\n                var x_ = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"quadraticAt\"](x0, x1, x2, roots[i]);\n                if (x_ < x) {\n                    continue;\n                }\n                if (roots[i] < t) {\n                    w += y_ < y0 ? unit : -unit;\n                }\n                else {\n                    w += y2 < y_ ? unit : -unit;\n                }\n            }\n            return w;\n        }\n        else {\n            var unit = (roots[0] === 0 || roots[0] === 1) ? 0.5 : 1;\n            var x_ = _core_curve_js__WEBPACK_IMPORTED_MODULE_5__[\"quadraticAt\"](x0, x1, x2, roots[0]);\n            if (x_ < x) {\n                return 0;\n            }\n            return y2 < y0 ? unit : -unit;\n        }\n    }\n}\nfunction windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {\n    y -= cy;\n    if (y > r || y < -r) {\n        return 0;\n    }\n    var tmp = Math.sqrt(r * r - y * y);\n    roots[0] = -tmp;\n    roots[1] = tmp;\n    var dTheta = Math.abs(startAngle - endAngle);\n    if (dTheta < 1e-4) {\n        return 0;\n    }\n    if (dTheta >= PI2 - 1e-4) {\n        startAngle = 0;\n        endAngle = PI2;\n        var dir = anticlockwise ? 1 : -1;\n        if (x >= roots[0] + cx && x <= roots[1] + cx) {\n            return dir;\n        }\n        else {\n            return 0;\n        }\n    }\n    if (startAngle > endAngle) {\n        var tmp_1 = startAngle;\n        startAngle = endAngle;\n        endAngle = tmp_1;\n    }\n    if (startAngle < 0) {\n        startAngle += PI2;\n        endAngle += PI2;\n    }\n    var w = 0;\n    for (var i = 0; i < 2; i++) {\n        var x_ = roots[i];\n        if (x_ + cx > x) {\n            var angle = Math.atan2(y, x_);\n            var dir = anticlockwise ? 1 : -1;\n            if (angle < 0) {\n                angle = PI2 + angle;\n            }\n            if ((angle >= startAngle && angle <= endAngle)\n                || (angle + PI2 >= startAngle && angle + PI2 <= endAngle)) {\n                if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {\n                    dir = -dir;\n                }\n                w += dir;\n            }\n        }\n    }\n    return w;\n}\nfunction containPath(path, lineWidth, isStroke, x, y) {\n    var data = path.data;\n    var len = path.len();\n    var w = 0;\n    var xi = 0;\n    var yi = 0;\n    var x0 = 0;\n    var y0 = 0;\n    var x1;\n    var y1;\n    for (var i = 0; i < len;) {\n        var cmd = data[i++];\n        var isFirst = i === 1;\n        if (cmd === CMD.M && i > 1) {\n            if (!isStroke) {\n                w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(xi, yi, x0, y0, x, y);\n            }\n        }\n        if (isFirst) {\n            xi = data[i];\n            yi = data[i + 1];\n            x0 = xi;\n            y0 = yi;\n        }\n        switch (cmd) {\n            case CMD.M:\n                x0 = data[i++];\n                y0 = data[i++];\n                xi = x0;\n                yi = y0;\n                break;\n            case CMD.L:\n                if (isStroke) {\n                    if (_line_js__WEBPACK_IMPORTED_MODULE_1__[\"containStroke\"](xi, yi, data[i], data[i + 1], lineWidth, x, y)) {\n                        return true;\n                    }\n                }\n                else {\n                    w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(xi, yi, data[i], data[i + 1], x, y) || 0;\n                }\n                xi = data[i++];\n                yi = data[i++];\n                break;\n            case CMD.C:\n                if (isStroke) {\n                    if (_cubic_js__WEBPACK_IMPORTED_MODULE_2__[\"containStroke\"](xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n                        return true;\n                    }\n                }\n                else {\n                    w += windingCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n                }\n                xi = data[i++];\n                yi = data[i++];\n                break;\n            case CMD.Q:\n                if (isStroke) {\n                    if (_quadratic_js__WEBPACK_IMPORTED_MODULE_3__[\"containStroke\"](xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n                        return true;\n                    }\n                }\n                else {\n                    w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n                }\n                xi = data[i++];\n                yi = data[i++];\n                break;\n            case CMD.A:\n                var cx = data[i++];\n                var cy = data[i++];\n                var rx = data[i++];\n                var ry = data[i++];\n                var theta = data[i++];\n                var dTheta = data[i++];\n                i += 1;\n                var anticlockwise = !!(1 - data[i++]);\n                x1 = Math.cos(theta) * rx + cx;\n                y1 = Math.sin(theta) * ry + cy;\n                if (!isFirst) {\n                    w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(xi, yi, x1, y1, x, y);\n                }\n                else {\n                    x0 = x1;\n                    y0 = y1;\n                }\n                var _x = (x - cx) * ry / rx + cx;\n                if (isStroke) {\n                    if (_arc_js__WEBPACK_IMPORTED_MODULE_4__[\"containStroke\"](cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {\n                        return true;\n                    }\n                }\n                else {\n                    w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);\n                }\n                xi = Math.cos(theta + dTheta) * rx + cx;\n                yi = Math.sin(theta + dTheta) * ry + cy;\n                break;\n            case CMD.R:\n                x0 = xi = data[i++];\n                y0 = yi = data[i++];\n                var width = data[i++];\n                var height = data[i++];\n                x1 = x0 + width;\n                y1 = y0 + height;\n                if (isStroke) {\n                    if (_line_js__WEBPACK_IMPORTED_MODULE_1__[\"containStroke\"](x0, y0, x1, y0, lineWidth, x, y)\n                        || _line_js__WEBPACK_IMPORTED_MODULE_1__[\"containStroke\"](x1, y0, x1, y1, lineWidth, x, y)\n                        || _line_js__WEBPACK_IMPORTED_MODULE_1__[\"containStroke\"](x1, y1, x0, y1, lineWidth, x, y)\n                        || _line_js__WEBPACK_IMPORTED_MODULE_1__[\"containStroke\"](x0, y1, x0, y0, lineWidth, x, y)) {\n                        return true;\n                    }\n                }\n                else {\n                    w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(x1, y0, x1, y1, x, y);\n                    w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(x0, y1, x0, y0, x, y);\n                }\n                break;\n            case CMD.Z:\n                if (isStroke) {\n                    if (_line_js__WEBPACK_IMPORTED_MODULE_1__[\"containStroke\"](xi, yi, x0, y0, lineWidth, x, y)) {\n                        return true;\n                    }\n                }\n                else {\n                    w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(xi, yi, x0, y0, x, y);\n                }\n                xi = x0;\n                yi = y0;\n                break;\n        }\n    }\n    if (!isStroke && !isAroundEqual(yi, y0)) {\n        w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(xi, yi, x0, y0, x, y) || 0;\n    }\n    return w !== 0;\n}\nfunction contain(pathProxy, x, y) {\n    return containPath(pathProxy, 0, false, x, y);\n}\nfunction containStroke(pathProxy, lineWidth, x, y) {\n    return containPath(pathProxy, lineWidth, true, x, y);\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/path.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/polygon.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/polygon.js ***!
  \**************************************************************************/
/*! exports provided: contain */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contain\", function() { return contain; });\n/* harmony import */ var _windingLine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./windingLine.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/windingLine.js\");\n\nvar EPSILON = 1e-8;\nfunction isAroundEqual(a, b) {\n    return Math.abs(a - b) < EPSILON;\n}\nfunction contain(points, x, y) {\n    var w = 0;\n    var p = points[0];\n    if (!p) {\n        return false;\n    }\n    for (var i = 1; i < points.length; i++) {\n        var p2 = points[i];\n        w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(p[0], p[1], p2[0], p2[1], x, y);\n        p = p2;\n    }\n    var p0 = points[0];\n    if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {\n        w += Object(_windingLine_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(p[0], p[1], p0[0], p0[1], x, y);\n    }\n    return w !== 0;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/polygon.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/quadratic.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/quadratic.js ***!
  \****************************************************************************/
/*! exports provided: containStroke */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containStroke\", function() { return containStroke; });\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\nfunction containStroke(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {\n    if (lineWidth === 0) {\n        return false;\n    }\n    var _l = lineWidth;\n    if ((y > y0 + _l && y > y1 + _l && y > y2 + _l)\n        || (y < y0 - _l && y < y1 - _l && y < y2 - _l)\n        || (x > x0 + _l && x > x1 + _l && x > x2 + _l)\n        || (x < x0 - _l && x < x1 - _l && x < x2 - _l)) {\n        return false;\n    }\n    var d = Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"quadraticProjectPoint\"])(x0, y0, x1, y1, x2, y2, x, y, null);\n    return d <= _l / 2;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/quadratic.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/text.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/text.js ***!
  \***********************************************************************/
/*! exports provided: getWidth, innerGetBoundingRect, getBoundingRect, adjustTextX, adjustTextY, getLineHeight, measureText, parsePercent, calculateTextPosition */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getWidth\", function() { return getWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"innerGetBoundingRect\", function() { return innerGetBoundingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBoundingRect\", function() { return getBoundingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"adjustTextX\", function() { return adjustTextX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"adjustTextY\", function() { return adjustTextY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLineHeight\", function() { return getLineHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"measureText\", function() { return measureText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parsePercent\", function() { return parsePercent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calculateTextPosition\", function() { return calculateTextPosition; });\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _core_LRU_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/LRU.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/LRU.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\n\nvar textWidthCache = {};\nfunction getWidth(text, font) {\n    font = font || _core_platform_js__WEBPACK_IMPORTED_MODULE_2__[\"DEFAULT_FONT\"];\n    var cacheOfFont = textWidthCache[font];\n    if (!cacheOfFont) {\n        cacheOfFont = textWidthCache[font] = new _core_LRU_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](500);\n    }\n    var width = cacheOfFont.get(text);\n    if (width == null) {\n        width = _core_platform_js__WEBPACK_IMPORTED_MODULE_2__[\"platformApi\"].measureText(text, font).width;\n        cacheOfFont.put(text, width);\n    }\n    return width;\n}\nfunction innerGetBoundingRect(text, font, textAlign, textBaseline) {\n    var width = getWidth(text, font);\n    var height = getLineHeight(font);\n    var x = adjustTextX(0, width, textAlign);\n    var y = adjustTextY(0, height, textBaseline);\n    var rect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](x, y, width, height);\n    return rect;\n}\nfunction getBoundingRect(text, font, textAlign, textBaseline) {\n    var textLines = ((text || '') + '').split('\\n');\n    var len = textLines.length;\n    if (len === 1) {\n        return innerGetBoundingRect(textLines[0], font, textAlign, textBaseline);\n    }\n    else {\n        var uniondRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](0, 0, 0, 0);\n        for (var i = 0; i < textLines.length; i++) {\n            var rect = innerGetBoundingRect(textLines[i], font, textAlign, textBaseline);\n            i === 0 ? uniondRect.copy(rect) : uniondRect.union(rect);\n        }\n        return uniondRect;\n    }\n}\nfunction adjustTextX(x, width, textAlign) {\n    if (textAlign === 'right') {\n        x -= width;\n    }\n    else if (textAlign === 'center') {\n        x -= width / 2;\n    }\n    return x;\n}\nfunction adjustTextY(y, height, verticalAlign) {\n    if (verticalAlign === 'middle') {\n        y -= height / 2;\n    }\n    else if (verticalAlign === 'bottom') {\n        y -= height;\n    }\n    return y;\n}\nfunction getLineHeight(font) {\n    return getWidth('国', font);\n}\nfunction measureText(text, font) {\n    return _core_platform_js__WEBPACK_IMPORTED_MODULE_2__[\"platformApi\"].measureText(text, font);\n}\nfunction parsePercent(value, maxValue) {\n    if (typeof value === 'string') {\n        if (value.lastIndexOf('%') >= 0) {\n            return parseFloat(value) / 100 * maxValue;\n        }\n        return parseFloat(value);\n    }\n    return value;\n}\nfunction calculateTextPosition(out, opts, rect) {\n    var textPosition = opts.position || 'inside';\n    var distance = opts.distance != null ? opts.distance : 5;\n    var height = rect.height;\n    var width = rect.width;\n    var halfHeight = height / 2;\n    var x = rect.x;\n    var y = rect.y;\n    var textAlign = 'left';\n    var textVerticalAlign = 'top';\n    if (textPosition instanceof Array) {\n        x += parsePercent(textPosition[0], rect.width);\n        y += parsePercent(textPosition[1], rect.height);\n        textAlign = null;\n        textVerticalAlign = null;\n    }\n    else {\n        switch (textPosition) {\n            case 'left':\n                x -= distance;\n                y += halfHeight;\n                textAlign = 'right';\n                textVerticalAlign = 'middle';\n                break;\n            case 'right':\n                x += distance + width;\n                y += halfHeight;\n                textVerticalAlign = 'middle';\n                break;\n            case 'top':\n                x += width / 2;\n                y -= distance;\n                textAlign = 'center';\n                textVerticalAlign = 'bottom';\n                break;\n            case 'bottom':\n                x += width / 2;\n                y += height + distance;\n                textAlign = 'center';\n                break;\n            case 'inside':\n                x += width / 2;\n                y += halfHeight;\n                textAlign = 'center';\n                textVerticalAlign = 'middle';\n                break;\n            case 'insideLeft':\n                x += distance;\n                y += halfHeight;\n                textVerticalAlign = 'middle';\n                break;\n            case 'insideRight':\n                x += width - distance;\n                y += halfHeight;\n                textAlign = 'right';\n                textVerticalAlign = 'middle';\n                break;\n            case 'insideTop':\n                x += width / 2;\n                y += distance;\n                textAlign = 'center';\n                break;\n            case 'insideBottom':\n                x += width / 2;\n                y += height - distance;\n                textAlign = 'center';\n                textVerticalAlign = 'bottom';\n                break;\n            case 'insideTopLeft':\n                x += distance;\n                y += distance;\n                break;\n            case 'insideTopRight':\n                x += width - distance;\n                y += distance;\n                textAlign = 'right';\n                break;\n            case 'insideBottomLeft':\n                x += distance;\n                y += height - distance;\n                textVerticalAlign = 'bottom';\n                break;\n            case 'insideBottomRight':\n                x += width - distance;\n                y += height - distance;\n                textAlign = 'right';\n                textVerticalAlign = 'bottom';\n                break;\n        }\n    }\n    out = out || {};\n    out.x = x;\n    out.y = y;\n    out.align = textAlign;\n    out.verticalAlign = textVerticalAlign;\n    return out;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/text.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/util.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/util.js ***!
  \***********************************************************************/
/*! exports provided: normalizeRadian */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeRadian\", function() { return normalizeRadian; });\nvar PI2 = Math.PI * 2;\nfunction normalizeRadian(angle) {\n    angle %= PI2;\n    if (angle < 0) {\n        angle += PI2;\n    }\n    return angle;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/util.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/contain/windingLine.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/contain/windingLine.js ***!
  \******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return windingLine; });\nfunction windingLine(x0, y0, x1, y1, x, y) {\n    if ((y > y0 && y > y1) || (y < y0 && y < y1)) {\n        return 0;\n    }\n    if (y1 === y0) {\n        return 0;\n    }\n    var t = (y - y0) / (y1 - y0);\n    var dir = y1 < y0 ? 1 : -1;\n    if (t === 1 || t === 0) {\n        dir = y1 < y0 ? 0.5 : -0.5;\n    }\n    var x_ = t * (x1 - x0) + x0;\n    return x_ === x ? Infinity : x_ > x ? dir : 0;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/contain/windingLine.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js ***!
  \****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _matrix_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _Point_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Point.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Point.js\");\n\n\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar lt = new _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\nvar rb = new _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\nvar lb = new _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\nvar rt = new _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\nvar minTv = new _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\nvar maxTv = new _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\nvar BoundingRect = (function () {\n    function BoundingRect(x, y, width, height) {\n        if (width < 0) {\n            x = x + width;\n            width = -width;\n        }\n        if (height < 0) {\n            y = y + height;\n            height = -height;\n        }\n        this.x = x;\n        this.y = y;\n        this.width = width;\n        this.height = height;\n    }\n    BoundingRect.prototype.union = function (other) {\n        var x = mathMin(other.x, this.x);\n        var y = mathMin(other.y, this.y);\n        if (isFinite(this.x) && isFinite(this.width)) {\n            this.width = mathMax(other.x + other.width, this.x + this.width) - x;\n        }\n        else {\n            this.width = other.width;\n        }\n        if (isFinite(this.y) && isFinite(this.height)) {\n            this.height = mathMax(other.y + other.height, this.y + this.height) - y;\n        }\n        else {\n            this.height = other.height;\n        }\n        this.x = x;\n        this.y = y;\n    };\n    BoundingRect.prototype.applyTransform = function (m) {\n        BoundingRect.applyTransform(this, this, m);\n    };\n    BoundingRect.prototype.calculateTransform = function (b) {\n        var a = this;\n        var sx = b.width / a.width;\n        var sy = b.height / a.height;\n        var m = _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\n        _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"translate\"](m, m, [-a.x, -a.y]);\n        _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"scale\"](m, m, [sx, sy]);\n        _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"translate\"](m, m, [b.x, b.y]);\n        return m;\n    };\n    BoundingRect.prototype.intersect = function (b, mtv) {\n        if (!b) {\n            return false;\n        }\n        if (!(b instanceof BoundingRect)) {\n            b = BoundingRect.create(b);\n        }\n        var a = this;\n        var ax0 = a.x;\n        var ax1 = a.x + a.width;\n        var ay0 = a.y;\n        var ay1 = a.y + a.height;\n        var bx0 = b.x;\n        var bx1 = b.x + b.width;\n        var by0 = b.y;\n        var by1 = b.y + b.height;\n        var overlap = !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);\n        if (mtv) {\n            var dMin = Infinity;\n            var dMax = 0;\n            var d0 = Math.abs(ax1 - bx0);\n            var d1 = Math.abs(bx1 - ax0);\n            var d2 = Math.abs(ay1 - by0);\n            var d3 = Math.abs(by1 - ay0);\n            var dx = Math.min(d0, d1);\n            var dy = Math.min(d2, d3);\n            if (ax1 < bx0 || bx1 < ax0) {\n                if (dx > dMax) {\n                    dMax = dx;\n                    if (d0 < d1) {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(maxTv, -d0, 0);\n                    }\n                    else {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(maxTv, d1, 0);\n                    }\n                }\n            }\n            else {\n                if (dx < dMin) {\n                    dMin = dx;\n                    if (d0 < d1) {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(minTv, d0, 0);\n                    }\n                    else {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(minTv, -d1, 0);\n                    }\n                }\n            }\n            if (ay1 < by0 || by1 < ay0) {\n                if (dy > dMax) {\n                    dMax = dy;\n                    if (d2 < d3) {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(maxTv, 0, -d2);\n                    }\n                    else {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(maxTv, 0, d3);\n                    }\n                }\n            }\n            else {\n                if (dx < dMin) {\n                    dMin = dx;\n                    if (d2 < d3) {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(minTv, 0, d2);\n                    }\n                    else {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(minTv, 0, -d3);\n                    }\n                }\n            }\n        }\n        if (mtv) {\n            _Point_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copy(mtv, overlap ? minTv : maxTv);\n        }\n        return overlap;\n    };\n    BoundingRect.prototype.contain = function (x, y) {\n        var rect = this;\n        return x >= rect.x\n            && x <= (rect.x + rect.width)\n            && y >= rect.y\n            && y <= (rect.y + rect.height);\n    };\n    BoundingRect.prototype.clone = function () {\n        return new BoundingRect(this.x, this.y, this.width, this.height);\n    };\n    BoundingRect.prototype.copy = function (other) {\n        BoundingRect.copy(this, other);\n    };\n    BoundingRect.prototype.plain = function () {\n        return {\n            x: this.x,\n            y: this.y,\n            width: this.width,\n            height: this.height\n        };\n    };\n    BoundingRect.prototype.isFinite = function () {\n        return isFinite(this.x)\n            && isFinite(this.y)\n            && isFinite(this.width)\n            && isFinite(this.height);\n    };\n    BoundingRect.prototype.isZero = function () {\n        return this.width === 0 || this.height === 0;\n    };\n    BoundingRect.create = function (rect) {\n        return new BoundingRect(rect.x, rect.y, rect.width, rect.height);\n    };\n    BoundingRect.copy = function (target, source) {\n        target.x = source.x;\n        target.y = source.y;\n        target.width = source.width;\n        target.height = source.height;\n    };\n    BoundingRect.applyTransform = function (target, source, m) {\n        if (!m) {\n            if (target !== source) {\n                BoundingRect.copy(target, source);\n            }\n            return;\n        }\n        if (m[1] < 1e-5 && m[1] > -1e-5 && m[2] < 1e-5 && m[2] > -1e-5) {\n            var sx = m[0];\n            var sy = m[3];\n            var tx = m[4];\n            var ty = m[5];\n            target.x = source.x * sx + tx;\n            target.y = source.y * sy + ty;\n            target.width = source.width * sx;\n            target.height = source.height * sy;\n            if (target.width < 0) {\n                target.x += target.width;\n                target.width = -target.width;\n            }\n            if (target.height < 0) {\n                target.y += target.height;\n                target.height = -target.height;\n            }\n            return;\n        }\n        lt.x = lb.x = source.x;\n        lt.y = rt.y = source.y;\n        rb.x = rt.x = source.x + source.width;\n        rb.y = lb.y = source.y + source.height;\n        lt.transform(m);\n        rt.transform(m);\n        rb.transform(m);\n        lb.transform(m);\n        target.x = mathMin(lt.x, rb.x, lb.x, rt.x);\n        target.y = mathMin(lt.y, rb.y, lb.y, rt.y);\n        var maxX = mathMax(lt.x, rb.x, lb.x, rt.x);\n        var maxY = mathMax(lt.y, rb.y, lb.y, rt.y);\n        target.width = maxX - target.x;\n        target.height = maxY - target.y;\n    };\n    return BoundingRect;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (BoundingRect);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar Eventful = (function () {\n    function Eventful(eventProcessors) {\n        if (eventProcessors) {\n            this._$eventProcessor = eventProcessors;\n        }\n    }\n    Eventful.prototype.on = function (event, query, handler, context) {\n        if (!this._$handlers) {\n            this._$handlers = {};\n        }\n        var _h = this._$handlers;\n        if (typeof query === 'function') {\n            context = handler;\n            handler = query;\n            query = null;\n        }\n        if (!handler || !event) {\n            return this;\n        }\n        var eventProcessor = this._$eventProcessor;\n        if (query != null && eventProcessor && eventProcessor.normalizeQuery) {\n            query = eventProcessor.normalizeQuery(query);\n        }\n        if (!_h[event]) {\n            _h[event] = [];\n        }\n        for (var i = 0; i < _h[event].length; i++) {\n            if (_h[event][i].h === handler) {\n                return this;\n            }\n        }\n        var wrap = {\n            h: handler,\n            query: query,\n            ctx: (context || this),\n            callAtLast: handler.zrEventfulCallAtLast\n        };\n        var lastIndex = _h[event].length - 1;\n        var lastWrap = _h[event][lastIndex];\n        (lastWrap && lastWrap.callAtLast)\n            ? _h[event].splice(lastIndex, 0, wrap)\n            : _h[event].push(wrap);\n        return this;\n    };\n    Eventful.prototype.isSilent = function (eventName) {\n        var _h = this._$handlers;\n        return !_h || !_h[eventName] || !_h[eventName].length;\n    };\n    Eventful.prototype.off = function (eventType, handler) {\n        var _h = this._$handlers;\n        if (!_h) {\n            return this;\n        }\n        if (!eventType) {\n            this._$handlers = {};\n            return this;\n        }\n        if (handler) {\n            if (_h[eventType]) {\n                var newList = [];\n                for (var i = 0, l = _h[eventType].length; i < l; i++) {\n                    if (_h[eventType][i].h !== handler) {\n                        newList.push(_h[eventType][i]);\n                    }\n                }\n                _h[eventType] = newList;\n            }\n            if (_h[eventType] && _h[eventType].length === 0) {\n                delete _h[eventType];\n            }\n        }\n        else {\n            delete _h[eventType];\n        }\n        return this;\n    };\n    Eventful.prototype.trigger = function (eventType) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        if (!this._$handlers) {\n            return this;\n        }\n        var _h = this._$handlers[eventType];\n        var eventProcessor = this._$eventProcessor;\n        if (_h) {\n            var argLen = args.length;\n            var len = _h.length;\n            for (var i = 0; i < len; i++) {\n                var hItem = _h[i];\n                if (eventProcessor\n                    && eventProcessor.filter\n                    && hItem.query != null\n                    && !eventProcessor.filter(eventType, hItem.query)) {\n                    continue;\n                }\n                switch (argLen) {\n                    case 0:\n                        hItem.h.call(hItem.ctx);\n                        break;\n                    case 1:\n                        hItem.h.call(hItem.ctx, args[0]);\n                        break;\n                    case 2:\n                        hItem.h.call(hItem.ctx, args[0], args[1]);\n                        break;\n                    default:\n                        hItem.h.apply(hItem.ctx, args);\n                        break;\n                }\n            }\n        }\n        eventProcessor && eventProcessor.afterTrigger\n            && eventProcessor.afterTrigger(eventType);\n        return this;\n    };\n    Eventful.prototype.triggerWithContext = function (type) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        if (!this._$handlers) {\n            return this;\n        }\n        var _h = this._$handlers[type];\n        var eventProcessor = this._$eventProcessor;\n        if (_h) {\n            var argLen = args.length;\n            var ctx = args[argLen - 1];\n            var len = _h.length;\n            for (var i = 0; i < len; i++) {\n                var hItem = _h[i];\n                if (eventProcessor\n                    && eventProcessor.filter\n                    && hItem.query != null\n                    && !eventProcessor.filter(type, hItem.query)) {\n                    continue;\n                }\n                switch (argLen) {\n                    case 0:\n                        hItem.h.call(ctx);\n                        break;\n                    case 1:\n                        hItem.h.call(ctx, args[0]);\n                        break;\n                    case 2:\n                        hItem.h.call(ctx, args[0], args[1]);\n                        break;\n                    default:\n                        hItem.h.apply(ctx, args.slice(1, argLen - 1));\n                        break;\n                }\n            }\n        }\n        eventProcessor && eventProcessor.afterTrigger\n            && eventProcessor.afterTrigger(type);\n        return this;\n    };\n    return Eventful;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Eventful);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/GestureMgr.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/GestureMgr.js ***!
  \**************************************************************************/
/*! exports provided: GestureMgr */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GestureMgr\", function() { return GestureMgr; });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n\nvar GestureMgr = (function () {\n    function GestureMgr() {\n        this._track = [];\n    }\n    GestureMgr.prototype.recognize = function (event, target, root) {\n        this._doTrack(event, target, root);\n        return this._recognize(event);\n    };\n    GestureMgr.prototype.clear = function () {\n        this._track.length = 0;\n        return this;\n    };\n    GestureMgr.prototype._doTrack = function (event, target, root) {\n        var touches = event.touches;\n        if (!touches) {\n            return;\n        }\n        var trackItem = {\n            points: [],\n            touches: [],\n            target: target,\n            event: event\n        };\n        for (var i = 0, len = touches.length; i < len; i++) {\n            var touch = touches[i];\n            var pos = _event_js__WEBPACK_IMPORTED_MODULE_0__[\"clientToLocal\"](root, touch, {});\n            trackItem.points.push([pos.zrX, pos.zrY]);\n            trackItem.touches.push(touch);\n        }\n        this._track.push(trackItem);\n    };\n    GestureMgr.prototype._recognize = function (event) {\n        for (var eventName in recognizers) {\n            if (recognizers.hasOwnProperty(eventName)) {\n                var gestureInfo = recognizers[eventName](this._track, event);\n                if (gestureInfo) {\n                    return gestureInfo;\n                }\n            }\n        }\n    };\n    return GestureMgr;\n}());\n\nfunction dist(pointPair) {\n    var dx = pointPair[1][0] - pointPair[0][0];\n    var dy = pointPair[1][1] - pointPair[0][1];\n    return Math.sqrt(dx * dx + dy * dy);\n}\nfunction center(pointPair) {\n    return [\n        (pointPair[0][0] + pointPair[1][0]) / 2,\n        (pointPair[0][1] + pointPair[1][1]) / 2\n    ];\n}\nvar recognizers = {\n    pinch: function (tracks, event) {\n        var trackLen = tracks.length;\n        if (!trackLen) {\n            return;\n        }\n        var pinchEnd = (tracks[trackLen - 1] || {}).points;\n        var pinchPre = (tracks[trackLen - 2] || {}).points || pinchEnd;\n        if (pinchPre\n            && pinchPre.length > 1\n            && pinchEnd\n            && pinchEnd.length > 1) {\n            var pinchScale = dist(pinchEnd) / dist(pinchPre);\n            !isFinite(pinchScale) && (pinchScale = 1);\n            event.pinchScale = pinchScale;\n            var pinchCenter = center(pinchEnd);\n            event.pinchX = pinchCenter[0];\n            event.pinchY = pinchCenter[1];\n            return {\n                type: 'pinch',\n                target: tracks[0].target,\n                event: event\n            };\n        }\n    }\n};\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/GestureMgr.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/LRU.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/LRU.js ***!
  \*******************************************************************/
/*! exports provided: Entry, LinkedList, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Entry\", function() { return Entry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LinkedList\", function() { return LinkedList; });\nvar Entry = (function () {\n    function Entry(val) {\n        this.value = val;\n    }\n    return Entry;\n}());\n\nvar LinkedList = (function () {\n    function LinkedList() {\n        this._len = 0;\n    }\n    LinkedList.prototype.insert = function (val) {\n        var entry = new Entry(val);\n        this.insertEntry(entry);\n        return entry;\n    };\n    LinkedList.prototype.insertEntry = function (entry) {\n        if (!this.head) {\n            this.head = this.tail = entry;\n        }\n        else {\n            this.tail.next = entry;\n            entry.prev = this.tail;\n            entry.next = null;\n            this.tail = entry;\n        }\n        this._len++;\n    };\n    LinkedList.prototype.remove = function (entry) {\n        var prev = entry.prev;\n        var next = entry.next;\n        if (prev) {\n            prev.next = next;\n        }\n        else {\n            this.head = next;\n        }\n        if (next) {\n            next.prev = prev;\n        }\n        else {\n            this.tail = prev;\n        }\n        entry.next = entry.prev = null;\n        this._len--;\n    };\n    LinkedList.prototype.len = function () {\n        return this._len;\n    };\n    LinkedList.prototype.clear = function () {\n        this.head = this.tail = null;\n        this._len = 0;\n    };\n    return LinkedList;\n}());\n\nvar LRU = (function () {\n    function LRU(maxSize) {\n        this._list = new LinkedList();\n        this._maxSize = 10;\n        this._map = {};\n        this._maxSize = maxSize;\n    }\n    LRU.prototype.put = function (key, value) {\n        var list = this._list;\n        var map = this._map;\n        var removed = null;\n        if (map[key] == null) {\n            var len = list.len();\n            var entry = this._lastRemovedEntry;\n            if (len >= this._maxSize && len > 0) {\n                var leastUsedEntry = list.head;\n                list.remove(leastUsedEntry);\n                delete map[leastUsedEntry.key];\n                removed = leastUsedEntry.value;\n                this._lastRemovedEntry = leastUsedEntry;\n            }\n            if (entry) {\n                entry.value = value;\n            }\n            else {\n                entry = new Entry(value);\n            }\n            entry.key = key;\n            list.insertEntry(entry);\n            map[key] = entry;\n        }\n        return removed;\n    };\n    LRU.prototype.get = function (key) {\n        var entry = this._map[key];\n        var list = this._list;\n        if (entry != null) {\n            if (entry !== list.tail) {\n                list.remove(entry);\n                list.insertEntry(entry);\n            }\n            return entry.value;\n        }\n    };\n    LRU.prototype.clear = function () {\n        this._list.clear();\n        this._map = {};\n    };\n    LRU.prototype.len = function () {\n        return this._list.len();\n    };\n    return LRU;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (LRU);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/LRU.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/OrientedBoundingRect.js":
/*!************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/OrientedBoundingRect.js ***!
  \************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Point_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Point.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Point.js\");\n\nvar extent = [0, 0];\nvar extent2 = [0, 0];\nvar minTv = new _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\nvar maxTv = new _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\nvar OrientedBoundingRect = (function () {\n    function OrientedBoundingRect(rect, transform) {\n        this._corners = [];\n        this._axes = [];\n        this._origin = [0, 0];\n        for (var i = 0; i < 4; i++) {\n            this._corners[i] = new _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n        }\n        for (var i = 0; i < 2; i++) {\n            this._axes[i] = new _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n        }\n        if (rect) {\n            this.fromBoundingRect(rect, transform);\n        }\n    }\n    OrientedBoundingRect.prototype.fromBoundingRect = function (rect, transform) {\n        var corners = this._corners;\n        var axes = this._axes;\n        var x = rect.x;\n        var y = rect.y;\n        var x2 = x + rect.width;\n        var y2 = y + rect.height;\n        corners[0].set(x, y);\n        corners[1].set(x2, y);\n        corners[2].set(x2, y2);\n        corners[3].set(x, y2);\n        if (transform) {\n            for (var i = 0; i < 4; i++) {\n                corners[i].transform(transform);\n            }\n        }\n        _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sub(axes[0], corners[1], corners[0]);\n        _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sub(axes[1], corners[3], corners[0]);\n        axes[0].normalize();\n        axes[1].normalize();\n        for (var i = 0; i < 2; i++) {\n            this._origin[i] = axes[i].dot(corners[0]);\n        }\n    };\n    OrientedBoundingRect.prototype.intersect = function (other, mtv) {\n        var overlapped = true;\n        var noMtv = !mtv;\n        minTv.set(Infinity, Infinity);\n        maxTv.set(0, 0);\n        if (!this._intersectCheckOneSide(this, other, minTv, maxTv, noMtv, 1)) {\n            overlapped = false;\n            if (noMtv) {\n                return overlapped;\n            }\n        }\n        if (!this._intersectCheckOneSide(other, this, minTv, maxTv, noMtv, -1)) {\n            overlapped = false;\n            if (noMtv) {\n                return overlapped;\n            }\n        }\n        if (!noMtv) {\n            _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].copy(mtv, overlapped ? minTv : maxTv);\n        }\n        return overlapped;\n    };\n    OrientedBoundingRect.prototype._intersectCheckOneSide = function (self, other, minTv, maxTv, noMtv, inverse) {\n        var overlapped = true;\n        for (var i = 0; i < 2; i++) {\n            var axis = this._axes[i];\n            this._getProjMinMaxOnAxis(i, self._corners, extent);\n            this._getProjMinMaxOnAxis(i, other._corners, extent2);\n            if (extent[1] < extent2[0] || extent[0] > extent2[1]) {\n                overlapped = false;\n                if (noMtv) {\n                    return overlapped;\n                }\n                var dist0 = Math.abs(extent2[0] - extent[1]);\n                var dist1 = Math.abs(extent[0] - extent2[1]);\n                if (Math.min(dist0, dist1) > maxTv.len()) {\n                    if (dist0 < dist1) {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].scale(maxTv, axis, -dist0 * inverse);\n                    }\n                    else {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].scale(maxTv, axis, dist1 * inverse);\n                    }\n                }\n            }\n            else if (minTv) {\n                var dist0 = Math.abs(extent2[0] - extent[1]);\n                var dist1 = Math.abs(extent[0] - extent2[1]);\n                if (Math.min(dist0, dist1) < minTv.len()) {\n                    if (dist0 < dist1) {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].scale(minTv, axis, dist0 * inverse);\n                    }\n                    else {\n                        _Point_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].scale(minTv, axis, -dist1 * inverse);\n                    }\n                }\n            }\n        }\n        return overlapped;\n    };\n    OrientedBoundingRect.prototype._getProjMinMaxOnAxis = function (dim, corners, out) {\n        var axis = this._axes[dim];\n        var origin = this._origin;\n        var proj = corners[0].dot(axis) + origin[dim];\n        var min = proj;\n        var max = proj;\n        for (var i = 1; i < corners.length; i++) {\n            var proj_1 = corners[i].dot(axis) + origin[dim];\n            min = Math.min(proj_1, min);\n            max = Math.max(proj_1, max);\n        }\n        out[0] = min;\n        out[1] = max;\n    };\n    return OrientedBoundingRect;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (OrientedBoundingRect);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/OrientedBoundingRect.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js ***!
  \*************************************************************************/
/*! exports provided: normalizeArcAngles, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeArcAngles\", function() { return normalizeArcAngles; });\n/* harmony import */ var _vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config.js */ \"./node_modules/echarts/node_modules/zrender/lib/config.js\");\n/* harmony import */ var _bbox_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bbox.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/bbox.js\");\n/* harmony import */ var _curve_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\n\n\n\n\nvar CMD = {\n    M: 1,\n    L: 2,\n    C: 3,\n    Q: 4,\n    A: 5,\n    Z: 6,\n    R: 7\n};\nvar tmpOutX = [];\nvar tmpOutY = [];\nvar min = [];\nvar max = [];\nvar min2 = [];\nvar max2 = [];\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathCos = Math.cos;\nvar mathSin = Math.sin;\nvar mathAbs = Math.abs;\nvar PI = Math.PI;\nvar PI2 = PI * 2;\nvar hasTypedArray = typeof Float32Array !== 'undefined';\nvar tmpAngles = [];\nfunction modPI2(radian) {\n    var n = Math.round(radian / PI * 1e8) / 1e8;\n    return (n % 2) * PI;\n}\nfunction normalizeArcAngles(angles, anticlockwise) {\n    var newStartAngle = modPI2(angles[0]);\n    if (newStartAngle < 0) {\n        newStartAngle += PI2;\n    }\n    var delta = newStartAngle - angles[0];\n    var newEndAngle = angles[1];\n    newEndAngle += delta;\n    if (!anticlockwise && newEndAngle - newStartAngle >= PI2) {\n        newEndAngle = newStartAngle + PI2;\n    }\n    else if (anticlockwise && newStartAngle - newEndAngle >= PI2) {\n        newEndAngle = newStartAngle - PI2;\n    }\n    else if (!anticlockwise && newStartAngle > newEndAngle) {\n        newEndAngle = newStartAngle + (PI2 - modPI2(newStartAngle - newEndAngle));\n    }\n    else if (anticlockwise && newStartAngle < newEndAngle) {\n        newEndAngle = newStartAngle - (PI2 - modPI2(newEndAngle - newStartAngle));\n    }\n    angles[0] = newStartAngle;\n    angles[1] = newEndAngle;\n}\nvar PathProxy = (function () {\n    function PathProxy(notSaveData) {\n        this.dpr = 1;\n        this._xi = 0;\n        this._yi = 0;\n        this._x0 = 0;\n        this._y0 = 0;\n        this._len = 0;\n        if (notSaveData) {\n            this._saveData = false;\n        }\n        if (this._saveData) {\n            this.data = [];\n        }\n    }\n    PathProxy.prototype.increaseVersion = function () {\n        this._version++;\n    };\n    PathProxy.prototype.getVersion = function () {\n        return this._version;\n    };\n    PathProxy.prototype.setScale = function (sx, sy, segmentIgnoreThreshold) {\n        segmentIgnoreThreshold = segmentIgnoreThreshold || 0;\n        if (segmentIgnoreThreshold > 0) {\n            this._ux = mathAbs(segmentIgnoreThreshold / _config_js__WEBPACK_IMPORTED_MODULE_2__[\"devicePixelRatio\"] / sx) || 0;\n            this._uy = mathAbs(segmentIgnoreThreshold / _config_js__WEBPACK_IMPORTED_MODULE_2__[\"devicePixelRatio\"] / sy) || 0;\n        }\n    };\n    PathProxy.prototype.setDPR = function (dpr) {\n        this.dpr = dpr;\n    };\n    PathProxy.prototype.setContext = function (ctx) {\n        this._ctx = ctx;\n    };\n    PathProxy.prototype.getContext = function () {\n        return this._ctx;\n    };\n    PathProxy.prototype.beginPath = function () {\n        this._ctx && this._ctx.beginPath();\n        this.reset();\n        return this;\n    };\n    PathProxy.prototype.reset = function () {\n        if (this._saveData) {\n            this._len = 0;\n        }\n        if (this._pathSegLen) {\n            this._pathSegLen = null;\n            this._pathLen = 0;\n        }\n        this._version++;\n    };\n    PathProxy.prototype.moveTo = function (x, y) {\n        this._drawPendingPt();\n        this.addData(CMD.M, x, y);\n        this._ctx && this._ctx.moveTo(x, y);\n        this._x0 = x;\n        this._y0 = y;\n        this._xi = x;\n        this._yi = y;\n        return this;\n    };\n    PathProxy.prototype.lineTo = function (x, y) {\n        var dx = mathAbs(x - this._xi);\n        var dy = mathAbs(y - this._yi);\n        var exceedUnit = dx > this._ux || dy > this._uy;\n        this.addData(CMD.L, x, y);\n        if (this._ctx && exceedUnit) {\n            this._ctx.lineTo(x, y);\n        }\n        if (exceedUnit) {\n            this._xi = x;\n            this._yi = y;\n            this._pendingPtDist = 0;\n        }\n        else {\n            var d2 = dx * dx + dy * dy;\n            if (d2 > this._pendingPtDist) {\n                this._pendingPtX = x;\n                this._pendingPtY = y;\n                this._pendingPtDist = d2;\n            }\n        }\n        return this;\n    };\n    PathProxy.prototype.bezierCurveTo = function (x1, y1, x2, y2, x3, y3) {\n        this._drawPendingPt();\n        this.addData(CMD.C, x1, y1, x2, y2, x3, y3);\n        if (this._ctx) {\n            this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n        }\n        this._xi = x3;\n        this._yi = y3;\n        return this;\n    };\n    PathProxy.prototype.quadraticCurveTo = function (x1, y1, x2, y2) {\n        this._drawPendingPt();\n        this.addData(CMD.Q, x1, y1, x2, y2);\n        if (this._ctx) {\n            this._ctx.quadraticCurveTo(x1, y1, x2, y2);\n        }\n        this._xi = x2;\n        this._yi = y2;\n        return this;\n    };\n    PathProxy.prototype.arc = function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n        this._drawPendingPt();\n        tmpAngles[0] = startAngle;\n        tmpAngles[1] = endAngle;\n        normalizeArcAngles(tmpAngles, anticlockwise);\n        startAngle = tmpAngles[0];\n        endAngle = tmpAngles[1];\n        var delta = endAngle - startAngle;\n        this.addData(CMD.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);\n        this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n        this._xi = mathCos(endAngle) * r + cx;\n        this._yi = mathSin(endAngle) * r + cy;\n        return this;\n    };\n    PathProxy.prototype.arcTo = function (x1, y1, x2, y2, radius) {\n        this._drawPendingPt();\n        if (this._ctx) {\n            this._ctx.arcTo(x1, y1, x2, y2, radius);\n        }\n        return this;\n    };\n    PathProxy.prototype.rect = function (x, y, w, h) {\n        this._drawPendingPt();\n        this._ctx && this._ctx.rect(x, y, w, h);\n        this.addData(CMD.R, x, y, w, h);\n        return this;\n    };\n    PathProxy.prototype.closePath = function () {\n        this._drawPendingPt();\n        this.addData(CMD.Z);\n        var ctx = this._ctx;\n        var x0 = this._x0;\n        var y0 = this._y0;\n        if (ctx) {\n            ctx.closePath();\n        }\n        this._xi = x0;\n        this._yi = y0;\n        return this;\n    };\n    PathProxy.prototype.fill = function (ctx) {\n        ctx && ctx.fill();\n        this.toStatic();\n    };\n    PathProxy.prototype.stroke = function (ctx) {\n        ctx && ctx.stroke();\n        this.toStatic();\n    };\n    PathProxy.prototype.len = function () {\n        return this._len;\n    };\n    PathProxy.prototype.setData = function (data) {\n        var len = data.length;\n        if (!(this.data && this.data.length === len) && hasTypedArray) {\n            this.data = new Float32Array(len);\n        }\n        for (var i = 0; i < len; i++) {\n            this.data[i] = data[i];\n        }\n        this._len = len;\n    };\n    PathProxy.prototype.appendPath = function (path) {\n        if (!(path instanceof Array)) {\n            path = [path];\n        }\n        var len = path.length;\n        var appendSize = 0;\n        var offset = this._len;\n        for (var i = 0; i < len; i++) {\n            appendSize += path[i].len();\n        }\n        if (hasTypedArray && (this.data instanceof Float32Array)) {\n            this.data = new Float32Array(offset + appendSize);\n        }\n        for (var i = 0; i < len; i++) {\n            var appendPathData = path[i].data;\n            for (var k = 0; k < appendPathData.length; k++) {\n                this.data[offset++] = appendPathData[k];\n            }\n        }\n        this._len = offset;\n    };\n    PathProxy.prototype.addData = function (cmd, a, b, c, d, e, f, g, h) {\n        if (!this._saveData) {\n            return;\n        }\n        var data = this.data;\n        if (this._len + arguments.length > data.length) {\n            this._expandData();\n            data = this.data;\n        }\n        for (var i = 0; i < arguments.length; i++) {\n            data[this._len++] = arguments[i];\n        }\n    };\n    PathProxy.prototype._drawPendingPt = function () {\n        if (this._pendingPtDist > 0) {\n            this._ctx && this._ctx.lineTo(this._pendingPtX, this._pendingPtY);\n            this._pendingPtDist = 0;\n        }\n    };\n    PathProxy.prototype._expandData = function () {\n        if (!(this.data instanceof Array)) {\n            var newData = [];\n            for (var i = 0; i < this._len; i++) {\n                newData[i] = this.data[i];\n            }\n            this.data = newData;\n        }\n    };\n    PathProxy.prototype.toStatic = function () {\n        if (!this._saveData) {\n            return;\n        }\n        this._drawPendingPt();\n        var data = this.data;\n        if (data instanceof Array) {\n            data.length = this._len;\n            if (hasTypedArray && this._len > 11) {\n                this.data = new Float32Array(data);\n            }\n        }\n    };\n    PathProxy.prototype.getBoundingRect = function () {\n        min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;\n        max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;\n        var data = this.data;\n        var xi = 0;\n        var yi = 0;\n        var x0 = 0;\n        var y0 = 0;\n        var i;\n        for (i = 0; i < this._len;) {\n            var cmd = data[i++];\n            var isFirst = i === 1;\n            if (isFirst) {\n                xi = data[i];\n                yi = data[i + 1];\n                x0 = xi;\n                y0 = yi;\n            }\n            switch (cmd) {\n                case CMD.M:\n                    xi = x0 = data[i++];\n                    yi = y0 = data[i++];\n                    min2[0] = x0;\n                    min2[1] = y0;\n                    max2[0] = x0;\n                    max2[1] = y0;\n                    break;\n                case CMD.L:\n                    Object(_bbox_js__WEBPACK_IMPORTED_MODULE_3__[\"fromLine\"])(xi, yi, data[i], data[i + 1], min2, max2);\n                    xi = data[i++];\n                    yi = data[i++];\n                    break;\n                case CMD.C:\n                    Object(_bbox_js__WEBPACK_IMPORTED_MODULE_3__[\"fromCubic\"])(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);\n                    xi = data[i++];\n                    yi = data[i++];\n                    break;\n                case CMD.Q:\n                    Object(_bbox_js__WEBPACK_IMPORTED_MODULE_3__[\"fromQuadratic\"])(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);\n                    xi = data[i++];\n                    yi = data[i++];\n                    break;\n                case CMD.A:\n                    var cx = data[i++];\n                    var cy = data[i++];\n                    var rx = data[i++];\n                    var ry = data[i++];\n                    var startAngle = data[i++];\n                    var endAngle = data[i++] + startAngle;\n                    i += 1;\n                    var anticlockwise = !data[i++];\n                    if (isFirst) {\n                        x0 = mathCos(startAngle) * rx + cx;\n                        y0 = mathSin(startAngle) * ry + cy;\n                    }\n                    Object(_bbox_js__WEBPACK_IMPORTED_MODULE_3__[\"fromArc\"])(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);\n                    xi = mathCos(endAngle) * rx + cx;\n                    yi = mathSin(endAngle) * ry + cy;\n                    break;\n                case CMD.R:\n                    x0 = xi = data[i++];\n                    y0 = yi = data[i++];\n                    var width = data[i++];\n                    var height = data[i++];\n                    Object(_bbox_js__WEBPACK_IMPORTED_MODULE_3__[\"fromLine\"])(x0, y0, x0 + width, y0 + height, min2, max2);\n                    break;\n                case CMD.Z:\n                    xi = x0;\n                    yi = y0;\n                    break;\n            }\n            _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"](min, min, min2);\n            _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"](max, max, max2);\n        }\n        if (i === 0) {\n            min[0] = min[1] = max[0] = max[1] = 0;\n        }\n        return new _BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](min[0], min[1], max[0] - min[0], max[1] - min[1]);\n    };\n    PathProxy.prototype._calculateLength = function () {\n        var data = this.data;\n        var len = this._len;\n        var ux = this._ux;\n        var uy = this._uy;\n        var xi = 0;\n        var yi = 0;\n        var x0 = 0;\n        var y0 = 0;\n        if (!this._pathSegLen) {\n            this._pathSegLen = [];\n        }\n        var pathSegLen = this._pathSegLen;\n        var pathTotalLen = 0;\n        var segCount = 0;\n        for (var i = 0; i < len;) {\n            var cmd = data[i++];\n            var isFirst = i === 1;\n            if (isFirst) {\n                xi = data[i];\n                yi = data[i + 1];\n                x0 = xi;\n                y0 = yi;\n            }\n            var l = -1;\n            switch (cmd) {\n                case CMD.M:\n                    xi = x0 = data[i++];\n                    yi = y0 = data[i++];\n                    break;\n                case CMD.L: {\n                    var x2 = data[i++];\n                    var y2 = data[i++];\n                    var dx = x2 - xi;\n                    var dy = y2 - yi;\n                    if (mathAbs(dx) > ux || mathAbs(dy) > uy || i === len - 1) {\n                        l = Math.sqrt(dx * dx + dy * dy);\n                        xi = x2;\n                        yi = y2;\n                    }\n                    break;\n                }\n                case CMD.C: {\n                    var x1 = data[i++];\n                    var y1 = data[i++];\n                    var x2 = data[i++];\n                    var y2 = data[i++];\n                    var x3 = data[i++];\n                    var y3 = data[i++];\n                    l = Object(_curve_js__WEBPACK_IMPORTED_MODULE_4__[\"cubicLength\"])(xi, yi, x1, y1, x2, y2, x3, y3, 10);\n                    xi = x3;\n                    yi = y3;\n                    break;\n                }\n                case CMD.Q: {\n                    var x1 = data[i++];\n                    var y1 = data[i++];\n                    var x2 = data[i++];\n                    var y2 = data[i++];\n                    l = Object(_curve_js__WEBPACK_IMPORTED_MODULE_4__[\"quadraticLength\"])(xi, yi, x1, y1, x2, y2, 10);\n                    xi = x2;\n                    yi = y2;\n                    break;\n                }\n                case CMD.A:\n                    var cx = data[i++];\n                    var cy = data[i++];\n                    var rx = data[i++];\n                    var ry = data[i++];\n                    var startAngle = data[i++];\n                    var delta = data[i++];\n                    var endAngle = delta + startAngle;\n                    i += 1;\n                    var anticlockwise = !data[i++];\n                    if (isFirst) {\n                        x0 = mathCos(startAngle) * rx + cx;\n                        y0 = mathSin(startAngle) * ry + cy;\n                    }\n                    l = mathMax(rx, ry) * mathMin(PI2, Math.abs(delta));\n                    xi = mathCos(endAngle) * rx + cx;\n                    yi = mathSin(endAngle) * ry + cy;\n                    break;\n                case CMD.R: {\n                    x0 = xi = data[i++];\n                    y0 = yi = data[i++];\n                    var width = data[i++];\n                    var height = data[i++];\n                    l = width * 2 + height * 2;\n                    break;\n                }\n                case CMD.Z: {\n                    var dx = x0 - xi;\n                    var dy = y0 - yi;\n                    l = Math.sqrt(dx * dx + dy * dy);\n                    xi = x0;\n                    yi = y0;\n                    break;\n                }\n            }\n            if (l >= 0) {\n                pathSegLen[segCount++] = l;\n                pathTotalLen += l;\n            }\n        }\n        this._pathLen = pathTotalLen;\n        return pathTotalLen;\n    };\n    PathProxy.prototype.rebuildPath = function (ctx, percent) {\n        var d = this.data;\n        var ux = this._ux;\n        var uy = this._uy;\n        var len = this._len;\n        var x0;\n        var y0;\n        var xi;\n        var yi;\n        var x;\n        var y;\n        var drawPart = percent < 1;\n        var pathSegLen;\n        var pathTotalLen;\n        var accumLength = 0;\n        var segCount = 0;\n        var displayedLength;\n        var pendingPtDist = 0;\n        var pendingPtX;\n        var pendingPtY;\n        if (drawPart) {\n            if (!this._pathSegLen) {\n                this._calculateLength();\n            }\n            pathSegLen = this._pathSegLen;\n            pathTotalLen = this._pathLen;\n            displayedLength = percent * pathTotalLen;\n            if (!displayedLength) {\n                return;\n            }\n        }\n        lo: for (var i = 0; i < len;) {\n            var cmd = d[i++];\n            var isFirst = i === 1;\n            if (isFirst) {\n                xi = d[i];\n                yi = d[i + 1];\n                x0 = xi;\n                y0 = yi;\n            }\n            if (cmd !== CMD.L && pendingPtDist > 0) {\n                ctx.lineTo(pendingPtX, pendingPtY);\n                pendingPtDist = 0;\n            }\n            switch (cmd) {\n                case CMD.M:\n                    x0 = xi = d[i++];\n                    y0 = yi = d[i++];\n                    ctx.moveTo(xi, yi);\n                    break;\n                case CMD.L: {\n                    x = d[i++];\n                    y = d[i++];\n                    var dx = mathAbs(x - xi);\n                    var dy = mathAbs(y - yi);\n                    if (dx > ux || dy > uy) {\n                        if (drawPart) {\n                            var l = pathSegLen[segCount++];\n                            if (accumLength + l > displayedLength) {\n                                var t = (displayedLength - accumLength) / l;\n                                ctx.lineTo(xi * (1 - t) + x * t, yi * (1 - t) + y * t);\n                                break lo;\n                            }\n                            accumLength += l;\n                        }\n                        ctx.lineTo(x, y);\n                        xi = x;\n                        yi = y;\n                        pendingPtDist = 0;\n                    }\n                    else {\n                        var d2 = dx * dx + dy * dy;\n                        if (d2 > pendingPtDist) {\n                            pendingPtX = x;\n                            pendingPtY = y;\n                            pendingPtDist = d2;\n                        }\n                    }\n                    break;\n                }\n                case CMD.C: {\n                    var x1 = d[i++];\n                    var y1 = d[i++];\n                    var x2 = d[i++];\n                    var y2 = d[i++];\n                    var x3 = d[i++];\n                    var y3 = d[i++];\n                    if (drawPart) {\n                        var l = pathSegLen[segCount++];\n                        if (accumLength + l > displayedLength) {\n                            var t = (displayedLength - accumLength) / l;\n                            Object(_curve_js__WEBPACK_IMPORTED_MODULE_4__[\"cubicSubdivide\"])(xi, x1, x2, x3, t, tmpOutX);\n                            Object(_curve_js__WEBPACK_IMPORTED_MODULE_4__[\"cubicSubdivide\"])(yi, y1, y2, y3, t, tmpOutY);\n                            ctx.bezierCurveTo(tmpOutX[1], tmpOutY[1], tmpOutX[2], tmpOutY[2], tmpOutX[3], tmpOutY[3]);\n                            break lo;\n                        }\n                        accumLength += l;\n                    }\n                    ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n                    xi = x3;\n                    yi = y3;\n                    break;\n                }\n                case CMD.Q: {\n                    var x1 = d[i++];\n                    var y1 = d[i++];\n                    var x2 = d[i++];\n                    var y2 = d[i++];\n                    if (drawPart) {\n                        var l = pathSegLen[segCount++];\n                        if (accumLength + l > displayedLength) {\n                            var t = (displayedLength - accumLength) / l;\n                            Object(_curve_js__WEBPACK_IMPORTED_MODULE_4__[\"quadraticSubdivide\"])(xi, x1, x2, t, tmpOutX);\n                            Object(_curve_js__WEBPACK_IMPORTED_MODULE_4__[\"quadraticSubdivide\"])(yi, y1, y2, t, tmpOutY);\n                            ctx.quadraticCurveTo(tmpOutX[1], tmpOutY[1], tmpOutX[2], tmpOutY[2]);\n                            break lo;\n                        }\n                        accumLength += l;\n                    }\n                    ctx.quadraticCurveTo(x1, y1, x2, y2);\n                    xi = x2;\n                    yi = y2;\n                    break;\n                }\n                case CMD.A:\n                    var cx = d[i++];\n                    var cy = d[i++];\n                    var rx = d[i++];\n                    var ry = d[i++];\n                    var startAngle = d[i++];\n                    var delta = d[i++];\n                    var psi = d[i++];\n                    var anticlockwise = !d[i++];\n                    var r = (rx > ry) ? rx : ry;\n                    var isEllipse = mathAbs(rx - ry) > 1e-3;\n                    var endAngle = startAngle + delta;\n                    var breakBuild = false;\n                    if (drawPart) {\n                        var l = pathSegLen[segCount++];\n                        if (accumLength + l > displayedLength) {\n                            endAngle = startAngle + delta * (displayedLength - accumLength) / l;\n                            breakBuild = true;\n                        }\n                        accumLength += l;\n                    }\n                    if (isEllipse && ctx.ellipse) {\n                        ctx.ellipse(cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise);\n                    }\n                    else {\n                        ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n                    }\n                    if (breakBuild) {\n                        break lo;\n                    }\n                    if (isFirst) {\n                        x0 = mathCos(startAngle) * rx + cx;\n                        y0 = mathSin(startAngle) * ry + cy;\n                    }\n                    xi = mathCos(endAngle) * rx + cx;\n                    yi = mathSin(endAngle) * ry + cy;\n                    break;\n                case CMD.R:\n                    x0 = xi = d[i];\n                    y0 = yi = d[i + 1];\n                    x = d[i++];\n                    y = d[i++];\n                    var width = d[i++];\n                    var height = d[i++];\n                    if (drawPart) {\n                        var l = pathSegLen[segCount++];\n                        if (accumLength + l > displayedLength) {\n                            var d_1 = displayedLength - accumLength;\n                            ctx.moveTo(x, y);\n                            ctx.lineTo(x + mathMin(d_1, width), y);\n                            d_1 -= width;\n                            if (d_1 > 0) {\n                                ctx.lineTo(x + width, y + mathMin(d_1, height));\n                            }\n                            d_1 -= height;\n                            if (d_1 > 0) {\n                                ctx.lineTo(x + mathMax(width - d_1, 0), y + height);\n                            }\n                            d_1 -= width;\n                            if (d_1 > 0) {\n                                ctx.lineTo(x, y + mathMax(height - d_1, 0));\n                            }\n                            break lo;\n                        }\n                        accumLength += l;\n                    }\n                    ctx.rect(x, y, width, height);\n                    break;\n                case CMD.Z:\n                    if (drawPart) {\n                        var l = pathSegLen[segCount++];\n                        if (accumLength + l > displayedLength) {\n                            var t = (displayedLength - accumLength) / l;\n                            ctx.lineTo(xi * (1 - t) + x0 * t, yi * (1 - t) + y0 * t);\n                            break lo;\n                        }\n                        accumLength += l;\n                    }\n                    ctx.closePath();\n                    xi = x0;\n                    yi = y0;\n            }\n        }\n    };\n    PathProxy.prototype.clone = function () {\n        var newProxy = new PathProxy();\n        var data = this.data;\n        newProxy.data = data.slice ? data.slice()\n            : Array.prototype.slice.call(data);\n        newProxy._len = this._len;\n        return newProxy;\n    };\n    PathProxy.CMD = CMD;\n    PathProxy.initDefaultProps = (function () {\n        var proto = PathProxy.prototype;\n        proto._saveData = true;\n        proto._ux = 0;\n        proto._uy = 0;\n        proto._pendingPtDist = 0;\n        proto._version = 0;\n    })();\n    return PathProxy;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PathProxy);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/Point.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/Point.js ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar Point = (function () {\n    function Point(x, y) {\n        this.x = x || 0;\n        this.y = y || 0;\n    }\n    Point.prototype.copy = function (other) {\n        this.x = other.x;\n        this.y = other.y;\n        return this;\n    };\n    Point.prototype.clone = function () {\n        return new Point(this.x, this.y);\n    };\n    Point.prototype.set = function (x, y) {\n        this.x = x;\n        this.y = y;\n        return this;\n    };\n    Point.prototype.equal = function (other) {\n        return other.x === this.x && other.y === this.y;\n    };\n    Point.prototype.add = function (other) {\n        this.x += other.x;\n        this.y += other.y;\n        return this;\n    };\n    Point.prototype.scale = function (scalar) {\n        this.x *= scalar;\n        this.y *= scalar;\n    };\n    Point.prototype.scaleAndAdd = function (other, scalar) {\n        this.x += other.x * scalar;\n        this.y += other.y * scalar;\n    };\n    Point.prototype.sub = function (other) {\n        this.x -= other.x;\n        this.y -= other.y;\n        return this;\n    };\n    Point.prototype.dot = function (other) {\n        return this.x * other.x + this.y * other.y;\n    };\n    Point.prototype.len = function () {\n        return Math.sqrt(this.x * this.x + this.y * this.y);\n    };\n    Point.prototype.lenSquare = function () {\n        return this.x * this.x + this.y * this.y;\n    };\n    Point.prototype.normalize = function () {\n        var len = this.len();\n        this.x /= len;\n        this.y /= len;\n        return this;\n    };\n    Point.prototype.distance = function (other) {\n        var dx = this.x - other.x;\n        var dy = this.y - other.y;\n        return Math.sqrt(dx * dx + dy * dy);\n    };\n    Point.prototype.distanceSquare = function (other) {\n        var dx = this.x - other.x;\n        var dy = this.y - other.y;\n        return dx * dx + dy * dy;\n    };\n    Point.prototype.negate = function () {\n        this.x = -this.x;\n        this.y = -this.y;\n        return this;\n    };\n    Point.prototype.transform = function (m) {\n        if (!m) {\n            return;\n        }\n        var x = this.x;\n        var y = this.y;\n        this.x = m[0] * x + m[2] * y + m[4];\n        this.y = m[1] * x + m[3] * y + m[5];\n        return this;\n    };\n    Point.prototype.toArray = function (out) {\n        out[0] = this.x;\n        out[1] = this.y;\n        return out;\n    };\n    Point.prototype.fromArray = function (input) {\n        this.x = input[0];\n        this.y = input[1];\n    };\n    Point.set = function (p, x, y) {\n        p.x = x;\n        p.y = y;\n    };\n    Point.copy = function (p, p2) {\n        p.x = p2.x;\n        p.y = p2.y;\n    };\n    Point.len = function (p) {\n        return Math.sqrt(p.x * p.x + p.y * p.y);\n    };\n    Point.lenSquare = function (p) {\n        return p.x * p.x + p.y * p.y;\n    };\n    Point.dot = function (p0, p1) {\n        return p0.x * p1.x + p0.y * p1.y;\n    };\n    Point.add = function (out, p0, p1) {\n        out.x = p0.x + p1.x;\n        out.y = p0.y + p1.y;\n    };\n    Point.sub = function (out, p0, p1) {\n        out.x = p0.x - p1.x;\n        out.y = p0.y - p1.y;\n    };\n    Point.scale = function (out, p0, scalar) {\n        out.x = p0.x * scalar;\n        out.y = p0.y * scalar;\n    };\n    Point.scaleAndAdd = function (out, p0, p1, scalar) {\n        out.x = p0.x + p1.x * scalar;\n        out.y = p0.y + p1.y * scalar;\n    };\n    Point.lerp = function (out, p0, p1, t) {\n        var onet = 1 - t;\n        out.x = onet * p0.x + t * p1.x;\n        out.y = onet * p0.y + t * p1.y;\n    };\n    return Point;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Point);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/Point.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js ***!
  \*****************************************************************************/
/*! exports provided: TRANSFORMABLE_PROPS, copyTransform, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRANSFORMABLE_PROPS\", function() { return TRANSFORMABLE_PROPS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyTransform\", function() { return copyTransform; });\n/* harmony import */ var _matrix_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _vector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n\nvar mIdentity = _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"identity\"];\nvar EPSILON = 5e-5;\nfunction isNotAroundZero(val) {\n    return val > EPSILON || val < -EPSILON;\n}\nvar scaleTmp = [];\nvar tmpTransform = [];\nvar originTransform = _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\nvar abs = Math.abs;\nvar Transformable = (function () {\n    function Transformable() {\n    }\n    Transformable.prototype.getLocalTransform = function (m) {\n        return Transformable.getLocalTransform(this, m);\n    };\n    Transformable.prototype.setPosition = function (arr) {\n        this.x = arr[0];\n        this.y = arr[1];\n    };\n    Transformable.prototype.setScale = function (arr) {\n        this.scaleX = arr[0];\n        this.scaleY = arr[1];\n    };\n    Transformable.prototype.setSkew = function (arr) {\n        this.skewX = arr[0];\n        this.skewY = arr[1];\n    };\n    Transformable.prototype.setOrigin = function (arr) {\n        this.originX = arr[0];\n        this.originY = arr[1];\n    };\n    Transformable.prototype.needLocalTransform = function () {\n        return isNotAroundZero(this.rotation)\n            || isNotAroundZero(this.x)\n            || isNotAroundZero(this.y)\n            || isNotAroundZero(this.scaleX - 1)\n            || isNotAroundZero(this.scaleY - 1)\n            || isNotAroundZero(this.skewX)\n            || isNotAroundZero(this.skewY);\n    };\n    Transformable.prototype.updateTransform = function () {\n        var parentTransform = this.parent && this.parent.transform;\n        var needLocalTransform = this.needLocalTransform();\n        var m = this.transform;\n        if (!(needLocalTransform || parentTransform)) {\n            m && mIdentity(m);\n            return;\n        }\n        m = m || _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\n        if (needLocalTransform) {\n            this.getLocalTransform(m);\n        }\n        else {\n            mIdentity(m);\n        }\n        if (parentTransform) {\n            if (needLocalTransform) {\n                _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"mul\"](m, parentTransform, m);\n            }\n            else {\n                _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"copy\"](m, parentTransform);\n            }\n        }\n        this.transform = m;\n        this._resolveGlobalScaleRatio(m);\n    };\n    Transformable.prototype._resolveGlobalScaleRatio = function (m) {\n        var globalScaleRatio = this.globalScaleRatio;\n        if (globalScaleRatio != null && globalScaleRatio !== 1) {\n            this.getGlobalScale(scaleTmp);\n            var relX = scaleTmp[0] < 0 ? -1 : 1;\n            var relY = scaleTmp[1] < 0 ? -1 : 1;\n            var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;\n            var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;\n            m[0] *= sx;\n            m[1] *= sx;\n            m[2] *= sy;\n            m[3] *= sy;\n        }\n        this.invTransform = this.invTransform || _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\n        _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"invert\"](this.invTransform, m);\n    };\n    Transformable.prototype.getComputedTransform = function () {\n        var transformNode = this;\n        var ancestors = [];\n        while (transformNode) {\n            ancestors.push(transformNode);\n            transformNode = transformNode.parent;\n        }\n        while (transformNode = ancestors.pop()) {\n            transformNode.updateTransform();\n        }\n        return this.transform;\n    };\n    Transformable.prototype.setLocalTransform = function (m) {\n        if (!m) {\n            return;\n        }\n        var sx = m[0] * m[0] + m[1] * m[1];\n        var sy = m[2] * m[2] + m[3] * m[3];\n        var rotation = Math.atan2(m[1], m[0]);\n        var shearX = Math.PI / 2 + rotation - Math.atan2(m[3], m[2]);\n        sy = Math.sqrt(sy) * Math.cos(shearX);\n        sx = Math.sqrt(sx);\n        this.skewX = shearX;\n        this.skewY = 0;\n        this.rotation = -rotation;\n        this.x = +m[4];\n        this.y = +m[5];\n        this.scaleX = sx;\n        this.scaleY = sy;\n        this.originX = 0;\n        this.originY = 0;\n    };\n    Transformable.prototype.decomposeTransform = function () {\n        if (!this.transform) {\n            return;\n        }\n        var parent = this.parent;\n        var m = this.transform;\n        if (parent && parent.transform) {\n            _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"mul\"](tmpTransform, parent.invTransform, m);\n            m = tmpTransform;\n        }\n        var ox = this.originX;\n        var oy = this.originY;\n        if (ox || oy) {\n            originTransform[4] = ox;\n            originTransform[5] = oy;\n            _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"mul\"](tmpTransform, m, originTransform);\n            tmpTransform[4] -= ox;\n            tmpTransform[5] -= oy;\n            m = tmpTransform;\n        }\n        this.setLocalTransform(m);\n    };\n    Transformable.prototype.getGlobalScale = function (out) {\n        var m = this.transform;\n        out = out || [];\n        if (!m) {\n            out[0] = 1;\n            out[1] = 1;\n            return out;\n        }\n        out[0] = Math.sqrt(m[0] * m[0] + m[1] * m[1]);\n        out[1] = Math.sqrt(m[2] * m[2] + m[3] * m[3]);\n        if (m[0] < 0) {\n            out[0] = -out[0];\n        }\n        if (m[3] < 0) {\n            out[1] = -out[1];\n        }\n        return out;\n    };\n    Transformable.prototype.transformCoordToLocal = function (x, y) {\n        var v2 = [x, y];\n        var invTransform = this.invTransform;\n        if (invTransform) {\n            _vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"](v2, v2, invTransform);\n        }\n        return v2;\n    };\n    Transformable.prototype.transformCoordToGlobal = function (x, y) {\n        var v2 = [x, y];\n        var transform = this.transform;\n        if (transform) {\n            _vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"](v2, v2, transform);\n        }\n        return v2;\n    };\n    Transformable.prototype.getLineScale = function () {\n        var m = this.transform;\n        return m && abs(m[0] - 1) > 1e-10 && abs(m[3] - 1) > 1e-10\n            ? Math.sqrt(abs(m[0] * m[3] - m[2] * m[1]))\n            : 1;\n    };\n    Transformable.prototype.copyTransform = function (source) {\n        copyTransform(this, source);\n    };\n    Transformable.getLocalTransform = function (target, m) {\n        m = m || [];\n        var ox = target.originX || 0;\n        var oy = target.originY || 0;\n        var sx = target.scaleX;\n        var sy = target.scaleY;\n        var ax = target.anchorX;\n        var ay = target.anchorY;\n        var rotation = target.rotation || 0;\n        var x = target.x;\n        var y = target.y;\n        var skewX = target.skewX ? Math.tan(target.skewX) : 0;\n        var skewY = target.skewY ? Math.tan(-target.skewY) : 0;\n        if (ox || oy || ax || ay) {\n            var dx = ox + ax;\n            var dy = oy + ay;\n            m[4] = -dx * sx - skewX * dy * sy;\n            m[5] = -dy * sy - skewY * dx * sx;\n        }\n        else {\n            m[4] = m[5] = 0;\n        }\n        m[0] = sx;\n        m[3] = sy;\n        m[1] = skewY * sx;\n        m[2] = skewX * sy;\n        rotation && _matrix_js__WEBPACK_IMPORTED_MODULE_0__[\"rotate\"](m, m, rotation);\n        m[4] += ox + x;\n        m[5] += oy + y;\n        return m;\n    };\n    Transformable.initDefaultProps = (function () {\n        var proto = Transformable.prototype;\n        proto.scaleX =\n            proto.scaleY =\n                proto.globalScaleRatio = 1;\n        proto.x =\n            proto.y =\n                proto.originX =\n                    proto.originY =\n                        proto.skewX =\n                            proto.skewY =\n                                proto.rotation =\n                                    proto.anchorX =\n                                        proto.anchorY = 0;\n    })();\n    return Transformable;\n}());\n;\nvar TRANSFORMABLE_PROPS = [\n    'x', 'y', 'originX', 'originY', 'anchorX', 'anchorY', 'rotation', 'scaleX', 'scaleY', 'skewX', 'skewY'\n];\nfunction copyTransform(target, source) {\n    for (var i = 0; i < TRANSFORMABLE_PROPS.length; i++) {\n        var propName = TRANSFORMABLE_PROPS[i];\n        target[propName] = source[propName];\n    }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Transformable);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/WeakMap.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/WeakMap.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar wmUniqueIndex = Math.round(Math.random() * 9);\nvar supportDefineProperty = typeof Object.defineProperty === 'function';\nvar WeakMap = (function () {\n    function WeakMap() {\n        this._id = '__ec_inner_' + wmUniqueIndex++;\n    }\n    WeakMap.prototype.get = function (key) {\n        return this._guard(key)[this._id];\n    };\n    WeakMap.prototype.set = function (key, value) {\n        var target = this._guard(key);\n        if (supportDefineProperty) {\n            Object.defineProperty(target, this._id, {\n                value: value,\n                enumerable: false,\n                configurable: true\n            });\n        }\n        else {\n            target[this._id] = value;\n        }\n        return this;\n    };\n    WeakMap.prototype[\"delete\"] = function (key) {\n        if (this.has(key)) {\n            delete this._guard(key)[this._id];\n            return true;\n        }\n        return false;\n    };\n    WeakMap.prototype.has = function (key) {\n        return !!this._guard(key)[this._id];\n    };\n    WeakMap.prototype._guard = function (key) {\n        if (key !== Object(key)) {\n            throw TypeError('Value of WeakMap is not a non-null object.');\n        }\n        return key;\n    };\n    return WeakMap;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (WeakMap);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/WeakMap.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/bbox.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/bbox.js ***!
  \********************************************************************/
/*! exports provided: fromPoints, fromLine, fromCubic, fromQuadratic, fromArc */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromPoints\", function() { return fromPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromLine\", function() { return fromLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromCubic\", function() { return fromCubic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromQuadratic\", function() { return fromQuadratic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromArc\", function() { return fromArc; });\n/* harmony import */ var _vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _curve_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\n\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\nvar end = _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\nvar extremity = _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"]();\nfunction fromPoints(points, min, max) {\n    if (points.length === 0) {\n        return;\n    }\n    var p = points[0];\n    var left = p[0];\n    var right = p[0];\n    var top = p[1];\n    var bottom = p[1];\n    for (var i = 1; i < points.length; i++) {\n        p = points[i];\n        left = mathMin(left, p[0]);\n        right = mathMax(right, p[0]);\n        top = mathMin(top, p[1]);\n        bottom = mathMax(bottom, p[1]);\n    }\n    min[0] = left;\n    min[1] = top;\n    max[0] = right;\n    max[1] = bottom;\n}\nfunction fromLine(x0, y0, x1, y1, min, max) {\n    min[0] = mathMin(x0, x1);\n    min[1] = mathMin(y0, y1);\n    max[0] = mathMax(x0, x1);\n    max[1] = mathMax(y0, y1);\n}\nvar xDim = [];\nvar yDim = [];\nfunction fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n    var cubicExtrema = _curve_js__WEBPACK_IMPORTED_MODULE_1__[\"cubicExtrema\"];\n    var cubicAt = _curve_js__WEBPACK_IMPORTED_MODULE_1__[\"cubicAt\"];\n    var n = cubicExtrema(x0, x1, x2, x3, xDim);\n    min[0] = Infinity;\n    min[1] = Infinity;\n    max[0] = -Infinity;\n    max[1] = -Infinity;\n    for (var i = 0; i < n; i++) {\n        var x = cubicAt(x0, x1, x2, x3, xDim[i]);\n        min[0] = mathMin(x, min[0]);\n        max[0] = mathMax(x, max[0]);\n    }\n    n = cubicExtrema(y0, y1, y2, y3, yDim);\n    for (var i = 0; i < n; i++) {\n        var y = cubicAt(y0, y1, y2, y3, yDim[i]);\n        min[1] = mathMin(y, min[1]);\n        max[1] = mathMax(y, max[1]);\n    }\n    min[0] = mathMin(x0, min[0]);\n    max[0] = mathMax(x0, max[0]);\n    min[0] = mathMin(x3, min[0]);\n    max[0] = mathMax(x3, max[0]);\n    min[1] = mathMin(y0, min[1]);\n    max[1] = mathMax(y0, max[1]);\n    min[1] = mathMin(y3, min[1]);\n    max[1] = mathMax(y3, max[1]);\n}\nfunction fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n    var quadraticExtremum = _curve_js__WEBPACK_IMPORTED_MODULE_1__[\"quadraticExtremum\"];\n    var quadraticAt = _curve_js__WEBPACK_IMPORTED_MODULE_1__[\"quadraticAt\"];\n    var tx = mathMax(mathMin(quadraticExtremum(x0, x1, x2), 1), 0);\n    var ty = mathMax(mathMin(quadraticExtremum(y0, y1, y2), 1), 0);\n    var x = quadraticAt(x0, x1, x2, tx);\n    var y = quadraticAt(y0, y1, y2, ty);\n    min[0] = mathMin(x0, x2, x);\n    min[1] = mathMin(y0, y2, y);\n    max[0] = mathMax(x0, x2, x);\n    max[1] = mathMax(y0, y2, y);\n}\nfunction fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n    var vec2Min = _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"];\n    var vec2Max = _vector_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"];\n    var diff = Math.abs(startAngle - endAngle);\n    if (diff % PI2 < 1e-4 && diff > 1e-4) {\n        min[0] = x - rx;\n        min[1] = y - ry;\n        max[0] = x + rx;\n        max[1] = y + ry;\n        return;\n    }\n    start[0] = mathCos(startAngle) * rx + x;\n    start[1] = mathSin(startAngle) * ry + y;\n    end[0] = mathCos(endAngle) * rx + x;\n    end[1] = mathSin(endAngle) * ry + y;\n    vec2Min(min, start, end);\n    vec2Max(max, start, end);\n    startAngle = startAngle % (PI2);\n    if (startAngle < 0) {\n        startAngle = startAngle + PI2;\n    }\n    endAngle = endAngle % (PI2);\n    if (endAngle < 0) {\n        endAngle = endAngle + PI2;\n    }\n    if (startAngle > endAngle && !anticlockwise) {\n        endAngle += PI2;\n    }\n    else if (startAngle < endAngle && anticlockwise) {\n        startAngle += PI2;\n    }\n    if (anticlockwise) {\n        var tmp = endAngle;\n        endAngle = startAngle;\n        startAngle = tmp;\n    }\n    for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {\n        if (angle > startAngle) {\n            extremity[0] = mathCos(angle) * rx + x;\n            extremity[1] = mathSin(angle) * ry + y;\n            vec2Min(min, extremity, min);\n            vec2Max(max, extremity, max);\n        }\n    }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/bbox.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/curve.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/curve.js ***!
  \*********************************************************************/
/*! exports provided: cubicAt, cubicDerivativeAt, cubicRootAt, cubicExtrema, cubicSubdivide, cubicProjectPoint, cubicLength, quadraticAt, quadraticDerivativeAt, quadraticRootAt, quadraticExtremum, quadraticSubdivide, quadraticProjectPoint, quadraticLength */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicAt\", function() { return cubicAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicDerivativeAt\", function() { return cubicDerivativeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicRootAt\", function() { return cubicRootAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicExtrema\", function() { return cubicExtrema; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicSubdivide\", function() { return cubicSubdivide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicProjectPoint\", function() { return cubicProjectPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicLength\", function() { return cubicLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticAt\", function() { return quadraticAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticDerivativeAt\", function() { return quadraticDerivativeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticRootAt\", function() { return quadraticRootAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticExtremum\", function() { return quadraticExtremum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticSubdivide\", function() { return quadraticSubdivide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticProjectPoint\", function() { return quadraticProjectPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quadraticLength\", function() { return quadraticLength; });\n/* harmony import */ var _vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\nvar mathPow = Math.pow;\nvar mathSqrt = Math.sqrt;\nvar EPSILON = 1e-8;\nvar EPSILON_NUMERIC = 1e-4;\nvar THREE_SQRT = mathSqrt(3);\nvar ONE_THIRD = 1 / 3;\nvar _v0 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"])();\nvar _v1 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"])();\nvar _v2 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"create\"])();\nfunction isAroundZero(val) {\n    return val > -EPSILON && val < EPSILON;\n}\nfunction isNotAroundZero(val) {\n    return val > EPSILON || val < -EPSILON;\n}\nfunction cubicAt(p0, p1, p2, p3, t) {\n    var onet = 1 - t;\n    return onet * onet * (onet * p0 + 3 * t * p1)\n        + t * t * (t * p3 + 3 * onet * p2);\n}\nfunction cubicDerivativeAt(p0, p1, p2, p3, t) {\n    var onet = 1 - t;\n    return 3 * (((p1 - p0) * onet + 2 * (p2 - p1) * t) * onet\n        + (p3 - p2) * t * t);\n}\nfunction cubicRootAt(p0, p1, p2, p3, val, roots) {\n    var a = p3 + 3 * (p1 - p2) - p0;\n    var b = 3 * (p2 - p1 * 2 + p0);\n    var c = 3 * (p1 - p0);\n    var d = p0 - val;\n    var A = b * b - 3 * a * c;\n    var B = b * c - 9 * a * d;\n    var C = c * c - 3 * b * d;\n    var n = 0;\n    if (isAroundZero(A) && isAroundZero(B)) {\n        if (isAroundZero(b)) {\n            roots[0] = 0;\n        }\n        else {\n            var t1 = -c / b;\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n        }\n    }\n    else {\n        var disc = B * B - 4 * A * C;\n        if (isAroundZero(disc)) {\n            var K = B / A;\n            var t1 = -b / a + K;\n            var t2 = -K / 2;\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n            if (t2 >= 0 && t2 <= 1) {\n                roots[n++] = t2;\n            }\n        }\n        else if (disc > 0) {\n            var discSqrt = mathSqrt(disc);\n            var Y1 = A * b + 1.5 * a * (-B + discSqrt);\n            var Y2 = A * b + 1.5 * a * (-B - discSqrt);\n            if (Y1 < 0) {\n                Y1 = -mathPow(-Y1, ONE_THIRD);\n            }\n            else {\n                Y1 = mathPow(Y1, ONE_THIRD);\n            }\n            if (Y2 < 0) {\n                Y2 = -mathPow(-Y2, ONE_THIRD);\n            }\n            else {\n                Y2 = mathPow(Y2, ONE_THIRD);\n            }\n            var t1 = (-b - (Y1 + Y2)) / (3 * a);\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n        }\n        else {\n            var T = (2 * A * b - 3 * a * B) / (2 * mathSqrt(A * A * A));\n            var theta = Math.acos(T) / 3;\n            var ASqrt = mathSqrt(A);\n            var tmp = Math.cos(theta);\n            var t1 = (-b - 2 * ASqrt * tmp) / (3 * a);\n            var t2 = (-b + ASqrt * (tmp + THREE_SQRT * Math.sin(theta))) / (3 * a);\n            var t3 = (-b + ASqrt * (tmp - THREE_SQRT * Math.sin(theta))) / (3 * a);\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n            if (t2 >= 0 && t2 <= 1) {\n                roots[n++] = t2;\n            }\n            if (t3 >= 0 && t3 <= 1) {\n                roots[n++] = t3;\n            }\n        }\n    }\n    return n;\n}\nfunction cubicExtrema(p0, p1, p2, p3, extrema) {\n    var b = 6 * p2 - 12 * p1 + 6 * p0;\n    var a = 9 * p1 + 3 * p3 - 3 * p0 - 9 * p2;\n    var c = 3 * p1 - 3 * p0;\n    var n = 0;\n    if (isAroundZero(a)) {\n        if (isNotAroundZero(b)) {\n            var t1 = -c / b;\n            if (t1 >= 0 && t1 <= 1) {\n                extrema[n++] = t1;\n            }\n        }\n    }\n    else {\n        var disc = b * b - 4 * a * c;\n        if (isAroundZero(disc)) {\n            extrema[0] = -b / (2 * a);\n        }\n        else if (disc > 0) {\n            var discSqrt = mathSqrt(disc);\n            var t1 = (-b + discSqrt) / (2 * a);\n            var t2 = (-b - discSqrt) / (2 * a);\n            if (t1 >= 0 && t1 <= 1) {\n                extrema[n++] = t1;\n            }\n            if (t2 >= 0 && t2 <= 1) {\n                extrema[n++] = t2;\n            }\n        }\n    }\n    return n;\n}\nfunction cubicSubdivide(p0, p1, p2, p3, t, out) {\n    var p01 = (p1 - p0) * t + p0;\n    var p12 = (p2 - p1) * t + p1;\n    var p23 = (p3 - p2) * t + p2;\n    var p012 = (p12 - p01) * t + p01;\n    var p123 = (p23 - p12) * t + p12;\n    var p0123 = (p123 - p012) * t + p012;\n    out[0] = p0;\n    out[1] = p01;\n    out[2] = p012;\n    out[3] = p0123;\n    out[4] = p0123;\n    out[5] = p123;\n    out[6] = p23;\n    out[7] = p3;\n}\nfunction cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, out) {\n    var t;\n    var interval = 0.005;\n    var d = Infinity;\n    var prev;\n    var next;\n    var d1;\n    var d2;\n    _v0[0] = x;\n    _v0[1] = y;\n    for (var _t = 0; _t < 1; _t += 0.05) {\n        _v1[0] = cubicAt(x0, x1, x2, x3, _t);\n        _v1[1] = cubicAt(y0, y1, y2, y3, _t);\n        d1 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distSquare\"])(_v0, _v1);\n        if (d1 < d) {\n            t = _t;\n            d = d1;\n        }\n    }\n    d = Infinity;\n    for (var i = 0; i < 32; i++) {\n        if (interval < EPSILON_NUMERIC) {\n            break;\n        }\n        prev = t - interval;\n        next = t + interval;\n        _v1[0] = cubicAt(x0, x1, x2, x3, prev);\n        _v1[1] = cubicAt(y0, y1, y2, y3, prev);\n        d1 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distSquare\"])(_v1, _v0);\n        if (prev >= 0 && d1 < d) {\n            t = prev;\n            d = d1;\n        }\n        else {\n            _v2[0] = cubicAt(x0, x1, x2, x3, next);\n            _v2[1] = cubicAt(y0, y1, y2, y3, next);\n            d2 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distSquare\"])(_v2, _v0);\n            if (next <= 1 && d2 < d) {\n                t = next;\n                d = d2;\n            }\n            else {\n                interval *= 0.5;\n            }\n        }\n    }\n    if (out) {\n        out[0] = cubicAt(x0, x1, x2, x3, t);\n        out[1] = cubicAt(y0, y1, y2, y3, t);\n    }\n    return mathSqrt(d);\n}\nfunction cubicLength(x0, y0, x1, y1, x2, y2, x3, y3, iteration) {\n    var px = x0;\n    var py = y0;\n    var d = 0;\n    var step = 1 / iteration;\n    for (var i = 1; i <= iteration; i++) {\n        var t = i * step;\n        var x = cubicAt(x0, x1, x2, x3, t);\n        var y = cubicAt(y0, y1, y2, y3, t);\n        var dx = x - px;\n        var dy = y - py;\n        d += Math.sqrt(dx * dx + dy * dy);\n        px = x;\n        py = y;\n    }\n    return d;\n}\nfunction quadraticAt(p0, p1, p2, t) {\n    var onet = 1 - t;\n    return onet * (onet * p0 + 2 * t * p1) + t * t * p2;\n}\nfunction quadraticDerivativeAt(p0, p1, p2, t) {\n    return 2 * ((1 - t) * (p1 - p0) + t * (p2 - p1));\n}\nfunction quadraticRootAt(p0, p1, p2, val, roots) {\n    var a = p0 - 2 * p1 + p2;\n    var b = 2 * (p1 - p0);\n    var c = p0 - val;\n    var n = 0;\n    if (isAroundZero(a)) {\n        if (isNotAroundZero(b)) {\n            var t1 = -c / b;\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n        }\n    }\n    else {\n        var disc = b * b - 4 * a * c;\n        if (isAroundZero(disc)) {\n            var t1 = -b / (2 * a);\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n        }\n        else if (disc > 0) {\n            var discSqrt = mathSqrt(disc);\n            var t1 = (-b + discSqrt) / (2 * a);\n            var t2 = (-b - discSqrt) / (2 * a);\n            if (t1 >= 0 && t1 <= 1) {\n                roots[n++] = t1;\n            }\n            if (t2 >= 0 && t2 <= 1) {\n                roots[n++] = t2;\n            }\n        }\n    }\n    return n;\n}\nfunction quadraticExtremum(p0, p1, p2) {\n    var divider = p0 + p2 - 2 * p1;\n    if (divider === 0) {\n        return 0.5;\n    }\n    else {\n        return (p0 - p1) / divider;\n    }\n}\nfunction quadraticSubdivide(p0, p1, p2, t, out) {\n    var p01 = (p1 - p0) * t + p0;\n    var p12 = (p2 - p1) * t + p1;\n    var p012 = (p12 - p01) * t + p01;\n    out[0] = p0;\n    out[1] = p01;\n    out[2] = p012;\n    out[3] = p012;\n    out[4] = p12;\n    out[5] = p2;\n}\nfunction quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, out) {\n    var t;\n    var interval = 0.005;\n    var d = Infinity;\n    _v0[0] = x;\n    _v0[1] = y;\n    for (var _t = 0; _t < 1; _t += 0.05) {\n        _v1[0] = quadraticAt(x0, x1, x2, _t);\n        _v1[1] = quadraticAt(y0, y1, y2, _t);\n        var d1 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distSquare\"])(_v0, _v1);\n        if (d1 < d) {\n            t = _t;\n            d = d1;\n        }\n    }\n    d = Infinity;\n    for (var i = 0; i < 32; i++) {\n        if (interval < EPSILON_NUMERIC) {\n            break;\n        }\n        var prev = t - interval;\n        var next = t + interval;\n        _v1[0] = quadraticAt(x0, x1, x2, prev);\n        _v1[1] = quadraticAt(y0, y1, y2, prev);\n        var d1 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distSquare\"])(_v1, _v0);\n        if (prev >= 0 && d1 < d) {\n            t = prev;\n            d = d1;\n        }\n        else {\n            _v2[0] = quadraticAt(x0, x1, x2, next);\n            _v2[1] = quadraticAt(y0, y1, y2, next);\n            var d2 = Object(_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distSquare\"])(_v2, _v0);\n            if (next <= 1 && d2 < d) {\n                t = next;\n                d = d2;\n            }\n            else {\n                interval *= 0.5;\n            }\n        }\n    }\n    if (out) {\n        out[0] = quadraticAt(x0, x1, x2, t);\n        out[1] = quadraticAt(y0, y1, y2, t);\n    }\n    return mathSqrt(d);\n}\nfunction quadraticLength(x0, y0, x1, y1, x2, y2, iteration) {\n    var px = x0;\n    var py = y0;\n    var d = 0;\n    var step = 1 / iteration;\n    for (var i = 1; i <= iteration; i++) {\n        var t = i * step;\n        var x = quadraticAt(x0, x1, x2, t);\n        var y = quadraticAt(y0, y1, y2, t);\n        var dx = x - px;\n        var dy = y - py;\n        d += Math.sqrt(dx * dx + dy * dy);\n        px = x;\n        py = y;\n    }\n    return d;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/curve.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/dom.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/dom.js ***!
  \*******************************************************************/
/*! exports provided: transformLocalCoord, transformCoordWithViewport, isCanvasEl, encodeHTML */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformLocalCoord\", function() { return transformLocalCoord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformCoordWithViewport\", function() { return transformCoordWithViewport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCanvasEl\", function() { return isCanvasEl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encodeHTML\", function() { return encodeHTML; });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _fourPointsTransform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fourPointsTransform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/fourPointsTransform.js\");\n\n\nvar EVENT_SAVED_PROP = '___zrEVENTSAVED';\nvar _calcOut = [];\nfunction transformLocalCoord(out, elFrom, elTarget, inX, inY) {\n    return transformCoordWithViewport(_calcOut, elFrom, inX, inY, true)\n        && transformCoordWithViewport(out, elTarget, _calcOut[0], _calcOut[1]);\n}\nfunction transformCoordWithViewport(out, el, inX, inY, inverse) {\n    if (el.getBoundingClientRect && _env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].domSupported && !isCanvasEl(el)) {\n        var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});\n        var markers = prepareCoordMarkers(el, saved);\n        var transformer = preparePointerTransformer(markers, saved, inverse);\n        if (transformer) {\n            transformer(out, inX, inY);\n            return true;\n        }\n    }\n    return false;\n}\nfunction prepareCoordMarkers(el, saved) {\n    var markers = saved.markers;\n    if (markers) {\n        return markers;\n    }\n    markers = saved.markers = [];\n    var propLR = ['left', 'right'];\n    var propTB = ['top', 'bottom'];\n    for (var i = 0; i < 4; i++) {\n        var marker = document.createElement('div');\n        var stl = marker.style;\n        var idxLR = i % 2;\n        var idxTB = (i >> 1) % 2;\n        stl.cssText = [\n            'position: absolute',\n            'visibility: hidden',\n            'padding: 0',\n            'margin: 0',\n            'border-width: 0',\n            'user-select: none',\n            'width:0',\n            'height:0',\n            propLR[idxLR] + ':0',\n            propTB[idxTB] + ':0',\n            propLR[1 - idxLR] + ':auto',\n            propTB[1 - idxTB] + ':auto',\n            ''\n        ].join('!important;');\n        el.appendChild(marker);\n        markers.push(marker);\n    }\n    return markers;\n}\nfunction preparePointerTransformer(markers, saved, inverse) {\n    var transformerName = inverse ? 'invTrans' : 'trans';\n    var transformer = saved[transformerName];\n    var oldSrcCoords = saved.srcCoords;\n    var srcCoords = [];\n    var destCoords = [];\n    var oldCoordTheSame = true;\n    for (var i = 0; i < 4; i++) {\n        var rect = markers[i].getBoundingClientRect();\n        var ii = 2 * i;\n        var x = rect.left;\n        var y = rect.top;\n        srcCoords.push(x, y);\n        oldCoordTheSame = oldCoordTheSame && oldSrcCoords && x === oldSrcCoords[ii] && y === oldSrcCoords[ii + 1];\n        destCoords.push(markers[i].offsetLeft, markers[i].offsetTop);\n    }\n    return (oldCoordTheSame && transformer)\n        ? transformer\n        : (saved.srcCoords = srcCoords,\n            saved[transformerName] = inverse\n                ? Object(_fourPointsTransform_js__WEBPACK_IMPORTED_MODULE_1__[\"buildTransformer\"])(destCoords, srcCoords)\n                : Object(_fourPointsTransform_js__WEBPACK_IMPORTED_MODULE_1__[\"buildTransformer\"])(srcCoords, destCoords));\n}\nfunction isCanvasEl(el) {\n    return el.nodeName.toUpperCase() === 'CANVAS';\n}\nvar replaceReg = /([&<>\"'])/g;\nvar replaceMap = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    '\\'': '&#39;'\n};\nfunction encodeHTML(source) {\n    return source == null\n        ? ''\n        : (source + '').replace(replaceReg, function (str, c) {\n            return replaceMap[c];\n        });\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/dom.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/env.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/env.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar Browser = (function () {\n    function Browser() {\n        this.firefox = false;\n        this.ie = false;\n        this.edge = false;\n        this.newEdge = false;\n        this.weChat = false;\n    }\n    return Browser;\n}());\nvar Env = (function () {\n    function Env() {\n        this.browser = new Browser();\n        this.node = false;\n        this.wxa = false;\n        this.worker = false;\n        this.svgSupported = false;\n        this.touchEventsSupported = false;\n        this.pointerEventsSupported = false;\n        this.domSupported = false;\n        this.transformSupported = false;\n        this.transform3dSupported = false;\n        this.hasGlobalWindow = typeof window !== 'undefined';\n    }\n    return Env;\n}());\nvar env = new Env();\nif (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {\n    env.wxa = true;\n    env.touchEventsSupported = true;\n}\nelse if (typeof document === 'undefined' && typeof self !== 'undefined') {\n    env.worker = true;\n}\nelse if (typeof navigator === 'undefined') {\n    env.node = true;\n    env.svgSupported = true;\n}\nelse {\n    detect(navigator.userAgent, env);\n}\nfunction detect(ua, env) {\n    var browser = env.browser;\n    var firefox = ua.match(/Firefox\\/([\\d.]+)/);\n    var ie = ua.match(/MSIE\\s([\\d.]+)/)\n        || ua.match(/Trident\\/.+?rv:(([\\d.]+))/);\n    var edge = ua.match(/Edge?\\/([\\d.]+)/);\n    var weChat = (/micromessenger/i).test(ua);\n    if (firefox) {\n        browser.firefox = true;\n        browser.version = firefox[1];\n    }\n    if (ie) {\n        browser.ie = true;\n        browser.version = ie[1];\n    }\n    if (edge) {\n        browser.edge = true;\n        browser.version = edge[1];\n        browser.newEdge = +edge[1].split('.')[0] > 18;\n    }\n    if (weChat) {\n        browser.weChat = true;\n    }\n    env.svgSupported = typeof SVGRect !== 'undefined';\n    env.touchEventsSupported = 'ontouchstart' in window && !browser.ie && !browser.edge;\n    env.pointerEventsSupported = 'onpointerdown' in window\n        && (browser.edge || (browser.ie && +browser.version >= 11));\n    env.domSupported = typeof document !== 'undefined';\n    var style = document.documentElement.style;\n    env.transform3dSupported = ((browser.ie && 'transition' in style)\n        || browser.edge\n        || (('WebKitCSSMatrix' in window) && ('m11' in new WebKitCSSMatrix()))\n        || 'MozPerspective' in style)\n        && !('OTransition' in style);\n    env.transformSupported = env.transform3dSupported\n        || (browser.ie && +browser.version >= 9);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (env);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/env.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/event.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/event.js ***!
  \*********************************************************************/
/*! exports provided: clientToLocal, getNativeEvent, normalizeEvent, addEventListener, removeEventListener, stop, isMiddleOrRightButtonOnMouseUpDown, Dispatcher */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clientToLocal\", function() { return clientToLocal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNativeEvent\", function() { return getNativeEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeEvent\", function() { return normalizeEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addEventListener\", function() { return addEventListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeEventListener\", function() { return removeEventListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stop\", function() { return stop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMiddleOrRightButtonOnMouseUpDown\", function() { return isMiddleOrRightButtonOnMouseUpDown; });\n/* harmony import */ var _Eventful_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Dispatcher\", function() { return _Eventful_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/dom.js\");\n\n\n\nvar MOUSE_EVENT_REG = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;\nvar _calcOut = [];\nvar firefoxNotSupportOffsetXY = _env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].browser.firefox\n    && +_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].browser.version.split('.')[0] < 39;\nfunction clientToLocal(el, e, out, calculate) {\n    out = out || {};\n    if (calculate) {\n        calculateZrXY(el, e, out);\n    }\n    else if (firefoxNotSupportOffsetXY\n        && e.layerX != null\n        && e.layerX !== e.offsetX) {\n        out.zrX = e.layerX;\n        out.zrY = e.layerY;\n    }\n    else if (e.offsetX != null) {\n        out.zrX = e.offsetX;\n        out.zrY = e.offsetY;\n    }\n    else {\n        calculateZrXY(el, e, out);\n    }\n    return out;\n}\nfunction calculateZrXY(el, e, out) {\n    if (_env_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].domSupported && el.getBoundingClientRect) {\n        var ex = e.clientX;\n        var ey = e.clientY;\n        if (Object(_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"isCanvasEl\"])(el)) {\n            var box = el.getBoundingClientRect();\n            out.zrX = ex - box.left;\n            out.zrY = ey - box.top;\n            return;\n        }\n        else {\n            if (Object(_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"transformCoordWithViewport\"])(_calcOut, el, ex, ey)) {\n                out.zrX = _calcOut[0];\n                out.zrY = _calcOut[1];\n                return;\n            }\n        }\n    }\n    out.zrX = out.zrY = 0;\n}\nfunction getNativeEvent(e) {\n    return e\n        || window.event;\n}\nfunction normalizeEvent(el, e, calculate) {\n    e = getNativeEvent(e);\n    if (e.zrX != null) {\n        return e;\n    }\n    var eventType = e.type;\n    var isTouch = eventType && eventType.indexOf('touch') >= 0;\n    if (!isTouch) {\n        clientToLocal(el, e, e, calculate);\n        var wheelDelta = getWheelDeltaMayPolyfill(e);\n        e.zrDelta = wheelDelta ? wheelDelta / 120 : -(e.detail || 0) / 3;\n    }\n    else {\n        var touch = eventType !== 'touchend'\n            ? e.targetTouches[0]\n            : e.changedTouches[0];\n        touch && clientToLocal(el, touch, e, calculate);\n    }\n    var button = e.button;\n    if (e.which == null && button !== undefined && MOUSE_EVENT_REG.test(e.type)) {\n        e.which = (button & 1 ? 1 : (button & 2 ? 3 : (button & 4 ? 2 : 0)));\n    }\n    return e;\n}\nfunction getWheelDeltaMayPolyfill(e) {\n    var rawWheelDelta = e.wheelDelta;\n    if (rawWheelDelta) {\n        return rawWheelDelta;\n    }\n    var deltaX = e.deltaX;\n    var deltaY = e.deltaY;\n    if (deltaX == null || deltaY == null) {\n        return rawWheelDelta;\n    }\n    var delta = deltaY !== 0 ? Math.abs(deltaY) : Math.abs(deltaX);\n    var sign = deltaY > 0 ? -1\n        : deltaY < 0 ? 1\n            : deltaX > 0 ? -1\n                : 1;\n    return 3 * delta * sign;\n}\nfunction addEventListener(el, name, handler, opt) {\n    el.addEventListener(name, handler, opt);\n}\nfunction removeEventListener(el, name, handler, opt) {\n    el.removeEventListener(name, handler, opt);\n}\nvar stop = function (e) {\n    e.preventDefault();\n    e.stopPropagation();\n    e.cancelBubble = true;\n};\nfunction isMiddleOrRightButtonOnMouseUpDown(e) {\n    return e.which === 2 || e.which === 3;\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/event.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/fourPointsTransform.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/fourPointsTransform.js ***!
  \***********************************************************************************/
/*! exports provided: buildTransformer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildTransformer\", function() { return buildTransformer; });\nvar LN2 = Math.log(2);\nfunction determinant(rows, rank, rowStart, rowMask, colMask, detCache) {\n    var cacheKey = rowMask + '-' + colMask;\n    var fullRank = rows.length;\n    if (detCache.hasOwnProperty(cacheKey)) {\n        return detCache[cacheKey];\n    }\n    if (rank === 1) {\n        var colStart = Math.round(Math.log(((1 << fullRank) - 1) & ~colMask) / LN2);\n        return rows[rowStart][colStart];\n    }\n    var subRowMask = rowMask | (1 << rowStart);\n    var subRowStart = rowStart + 1;\n    while (rowMask & (1 << subRowStart)) {\n        subRowStart++;\n    }\n    var sum = 0;\n    for (var j = 0, colLocalIdx = 0; j < fullRank; j++) {\n        var colTag = 1 << j;\n        if (!(colTag & colMask)) {\n            sum += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j]\n                * determinant(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);\n            colLocalIdx++;\n        }\n    }\n    detCache[cacheKey] = sum;\n    return sum;\n}\nfunction buildTransformer(src, dest) {\n    var mA = [\n        [src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]],\n        [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]],\n        [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]],\n        [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]],\n        [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]],\n        [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]],\n        [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]],\n        [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]\n    ];\n    var detCache = {};\n    var det = determinant(mA, 8, 0, 0, 0, detCache);\n    if (det === 0) {\n        return;\n    }\n    var vh = [];\n    for (var i = 0; i < 8; i++) {\n        for (var j = 0; j < 8; j++) {\n            vh[j] == null && (vh[j] = 0);\n            vh[j] += ((i + j) % 2 ? -1 : 1)\n                * determinant(mA, 7, i === 0 ? 1 : 0, 1 << i, 1 << j, detCache)\n                / det * dest[i];\n        }\n    }\n    return function (out, srcPointX, srcPointY) {\n        var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;\n        out[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;\n        out[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;\n    };\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/fourPointsTransform.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/matrix.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/matrix.js ***!
  \**********************************************************************/
/*! exports provided: create, identity, copy, mul, translate, rotate, scale, invert, clone */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return create; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return identity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copy\", function() { return copy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mul\", function() { return mul; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return translate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotate\", function() { return rotate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return invert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return clone; });\nfunction create() {\n    return [1, 0, 0, 1, 0, 0];\n}\nfunction identity(out) {\n    out[0] = 1;\n    out[1] = 0;\n    out[2] = 0;\n    out[3] = 1;\n    out[4] = 0;\n    out[5] = 0;\n    return out;\n}\nfunction copy(out, m) {\n    out[0] = m[0];\n    out[1] = m[1];\n    out[2] = m[2];\n    out[3] = m[3];\n    out[4] = m[4];\n    out[5] = m[5];\n    return out;\n}\nfunction mul(out, m1, m2) {\n    var out0 = m1[0] * m2[0] + m1[2] * m2[1];\n    var out1 = m1[1] * m2[0] + m1[3] * m2[1];\n    var out2 = m1[0] * m2[2] + m1[2] * m2[3];\n    var out3 = m1[1] * m2[2] + m1[3] * m2[3];\n    var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];\n    var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];\n    out[0] = out0;\n    out[1] = out1;\n    out[2] = out2;\n    out[3] = out3;\n    out[4] = out4;\n    out[5] = out5;\n    return out;\n}\nfunction translate(out, a, v) {\n    out[0] = a[0];\n    out[1] = a[1];\n    out[2] = a[2];\n    out[3] = a[3];\n    out[4] = a[4] + v[0];\n    out[5] = a[5] + v[1];\n    return out;\n}\nfunction rotate(out, a, rad) {\n    var aa = a[0];\n    var ac = a[2];\n    var atx = a[4];\n    var ab = a[1];\n    var ad = a[3];\n    var aty = a[5];\n    var st = Math.sin(rad);\n    var ct = Math.cos(rad);\n    out[0] = aa * ct + ab * st;\n    out[1] = -aa * st + ab * ct;\n    out[2] = ac * ct + ad * st;\n    out[3] = -ac * st + ct * ad;\n    out[4] = ct * atx + st * aty;\n    out[5] = ct * aty - st * atx;\n    return out;\n}\nfunction scale(out, a, v) {\n    var vx = v[0];\n    var vy = v[1];\n    out[0] = a[0] * vx;\n    out[1] = a[1] * vy;\n    out[2] = a[2] * vx;\n    out[3] = a[3] * vy;\n    out[4] = a[4] * vx;\n    out[5] = a[5] * vy;\n    return out;\n}\nfunction invert(out, a) {\n    var aa = a[0];\n    var ac = a[2];\n    var atx = a[4];\n    var ab = a[1];\n    var ad = a[3];\n    var aty = a[5];\n    var det = aa * ad - ab * ac;\n    if (!det) {\n        return null;\n    }\n    det = 1.0 / det;\n    out[0] = ad * det;\n    out[1] = -ab * det;\n    out[2] = -ac * det;\n    out[3] = aa * det;\n    out[4] = (ac * aty - ad * atx) * det;\n    out[5] = (ab * atx - aa * aty) * det;\n    return out;\n}\nfunction clone(a) {\n    var b = create();\n    copy(b, a);\n    return b;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/matrix.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/platform.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/platform.js ***!
  \************************************************************************/
/*! exports provided: DEFAULT_FONT_SIZE, DEFAULT_FONT_FAMILY, DEFAULT_FONT, DEFAULT_TEXT_WIDTH_MAP, platformApi, setPlatformAPI */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_FONT_SIZE\", function() { return DEFAULT_FONT_SIZE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_FONT_FAMILY\", function() { return DEFAULT_FONT_FAMILY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_FONT\", function() { return DEFAULT_FONT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_TEXT_WIDTH_MAP\", function() { return DEFAULT_TEXT_WIDTH_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"platformApi\", function() { return platformApi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setPlatformAPI\", function() { return setPlatformAPI; });\nvar DEFAULT_FONT_SIZE = 12;\nvar DEFAULT_FONT_FAMILY = 'sans-serif';\nvar DEFAULT_FONT = DEFAULT_FONT_SIZE + \"px \" + DEFAULT_FONT_FAMILY;\nvar OFFSET = 20;\nvar SCALE = 100;\nvar defaultWidthMapStr = \"007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\\\\\WQb\\\\0FWLg\\\\bWb\\\\WQ\\\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\\\FFF5.5N\";\nfunction getTextWidthMap(mapStr) {\n    var map = {};\n    if (typeof JSON === 'undefined') {\n        return map;\n    }\n    for (var i = 0; i < mapStr.length; i++) {\n        var char = String.fromCharCode(i + 32);\n        var size = (mapStr.charCodeAt(i) - OFFSET) / SCALE;\n        map[char] = size;\n    }\n    return map;\n}\nvar DEFAULT_TEXT_WIDTH_MAP = getTextWidthMap(defaultWidthMapStr);\nvar platformApi = {\n    createCanvas: function () {\n        return typeof document !== 'undefined'\n            && document.createElement('canvas');\n    },\n    measureText: (function () {\n        var _ctx;\n        var _cachedFont;\n        return function (text, font) {\n            if (!_ctx) {\n                var canvas = platformApi.createCanvas();\n                _ctx = canvas && canvas.getContext('2d');\n            }\n            if (_ctx) {\n                if (_cachedFont !== font) {\n                    _cachedFont = _ctx.font = font || DEFAULT_FONT;\n                }\n                return _ctx.measureText(text);\n            }\n            else {\n                text = text || '';\n                font = font || DEFAULT_FONT;\n                var res = /^([0-9]*?)px$/.exec(font);\n                var fontSize = +(res && res[1]) || DEFAULT_FONT_SIZE;\n                var width = 0;\n                if (font.indexOf('mono') >= 0) {\n                    width = fontSize * text.length;\n                }\n                else {\n                    for (var i = 0; i < text.length; i++) {\n                        var preCalcWidth = DEFAULT_TEXT_WIDTH_MAP[text[i]];\n                        width += preCalcWidth == null ? fontSize : (preCalcWidth * fontSize);\n                    }\n                }\n                return { width: width };\n            }\n        };\n    })(),\n    loadImage: function (src, onload, onerror) {\n        var image = new Image();\n        image.onload = onload;\n        image.onerror = onerror;\n        image.src = src;\n        return image;\n    }\n};\nfunction setPlatformAPI(newPlatformApis) {\n    for (var key in platformApi) {\n        if (newPlatformApis[key]) {\n            platformApi[key] = newPlatformApis[key];\n        }\n    }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/platform.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/timsort.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/timsort.js ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sort; });\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\nfunction minRunLength(n) {\n    var r = 0;\n    while (n >= DEFAULT_MIN_MERGE) {\n        r |= n & 1;\n        n >>= 1;\n    }\n    return n + r;\n}\nfunction makeAscendingRun(array, lo, hi, compare) {\n    var runHi = lo + 1;\n    if (runHi === hi) {\n        return 1;\n    }\n    if (compare(array[runHi++], array[lo]) < 0) {\n        while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n            runHi++;\n        }\n        reverseRun(array, lo, runHi);\n    }\n    else {\n        while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n            runHi++;\n        }\n    }\n    return runHi - lo;\n}\nfunction reverseRun(array, lo, hi) {\n    hi--;\n    while (lo < hi) {\n        var t = array[lo];\n        array[lo++] = array[hi];\n        array[hi--] = t;\n    }\n}\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n    if (start === lo) {\n        start++;\n    }\n    for (; start < hi; start++) {\n        var pivot = array[start];\n        var left = lo;\n        var right = start;\n        var mid;\n        while (left < right) {\n            mid = left + right >>> 1;\n            if (compare(pivot, array[mid]) < 0) {\n                right = mid;\n            }\n            else {\n                left = mid + 1;\n            }\n        }\n        var n = start - left;\n        switch (n) {\n            case 3:\n                array[left + 3] = array[left + 2];\n            case 2:\n                array[left + 2] = array[left + 1];\n            case 1:\n                array[left + 1] = array[left];\n                break;\n            default:\n                while (n > 0) {\n                    array[left + n] = array[left + n - 1];\n                    n--;\n                }\n        }\n        array[left] = pivot;\n    }\n}\nfunction gallopLeft(value, array, start, length, hint, compare) {\n    var lastOffset = 0;\n    var maxOffset = 0;\n    var offset = 1;\n    if (compare(value, array[start + hint]) > 0) {\n        maxOffset = length - hint;\n        while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n            lastOffset = offset;\n            offset = (offset << 1) + 1;\n            if (offset <= 0) {\n                offset = maxOffset;\n            }\n        }\n        if (offset > maxOffset) {\n            offset = maxOffset;\n        }\n        lastOffset += hint;\n        offset += hint;\n    }\n    else {\n        maxOffset = hint + 1;\n        while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n            lastOffset = offset;\n            offset = (offset << 1) + 1;\n            if (offset <= 0) {\n                offset = maxOffset;\n            }\n        }\n        if (offset > maxOffset) {\n            offset = maxOffset;\n        }\n        var tmp = lastOffset;\n        lastOffset = hint - offset;\n        offset = hint - tmp;\n    }\n    lastOffset++;\n    while (lastOffset < offset) {\n        var m = lastOffset + (offset - lastOffset >>> 1);\n        if (compare(value, array[start + m]) > 0) {\n            lastOffset = m + 1;\n        }\n        else {\n            offset = m;\n        }\n    }\n    return offset;\n}\nfunction gallopRight(value, array, start, length, hint, compare) {\n    var lastOffset = 0;\n    var maxOffset = 0;\n    var offset = 1;\n    if (compare(value, array[start + hint]) < 0) {\n        maxOffset = hint + 1;\n        while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n            lastOffset = offset;\n            offset = (offset << 1) + 1;\n            if (offset <= 0) {\n                offset = maxOffset;\n            }\n        }\n        if (offset > maxOffset) {\n            offset = maxOffset;\n        }\n        var tmp = lastOffset;\n        lastOffset = hint - offset;\n        offset = hint - tmp;\n    }\n    else {\n        maxOffset = length - hint;\n        while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n            lastOffset = offset;\n            offset = (offset << 1) + 1;\n            if (offset <= 0) {\n                offset = maxOffset;\n            }\n        }\n        if (offset > maxOffset) {\n            offset = maxOffset;\n        }\n        lastOffset += hint;\n        offset += hint;\n    }\n    lastOffset++;\n    while (lastOffset < offset) {\n        var m = lastOffset + (offset - lastOffset >>> 1);\n        if (compare(value, array[start + m]) < 0) {\n            offset = m;\n        }\n        else {\n            lastOffset = m + 1;\n        }\n    }\n    return offset;\n}\nfunction TimSort(array, compare) {\n    var minGallop = DEFAULT_MIN_GALLOPING;\n    var length = 0;\n    var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n    var stackLength = 0;\n    var runStart;\n    var runLength;\n    var stackSize = 0;\n    length = array.length;\n    if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n        tmpStorageLength = length >>> 1;\n    }\n    var tmp = [];\n    stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n    runStart = [];\n    runLength = [];\n    function pushRun(_runStart, _runLength) {\n        runStart[stackSize] = _runStart;\n        runLength[stackSize] = _runLength;\n        stackSize += 1;\n    }\n    function mergeRuns() {\n        while (stackSize > 1) {\n            var n = stackSize - 2;\n            if ((n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1])\n                || (n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1])) {\n                if (runLength[n - 1] < runLength[n + 1]) {\n                    n--;\n                }\n            }\n            else if (runLength[n] > runLength[n + 1]) {\n                break;\n            }\n            mergeAt(n);\n        }\n    }\n    function forceMergeRuns() {\n        while (stackSize > 1) {\n            var n = stackSize - 2;\n            if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n                n--;\n            }\n            mergeAt(n);\n        }\n    }\n    function mergeAt(i) {\n        var start1 = runStart[i];\n        var length1 = runLength[i];\n        var start2 = runStart[i + 1];\n        var length2 = runLength[i + 1];\n        runLength[i] = length1 + length2;\n        if (i === stackSize - 3) {\n            runStart[i + 1] = runStart[i + 2];\n            runLength[i + 1] = runLength[i + 2];\n        }\n        stackSize--;\n        var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n        start1 += k;\n        length1 -= k;\n        if (length1 === 0) {\n            return;\n        }\n        length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n        if (length2 === 0) {\n            return;\n        }\n        if (length1 <= length2) {\n            mergeLow(start1, length1, start2, length2);\n        }\n        else {\n            mergeHigh(start1, length1, start2, length2);\n        }\n    }\n    function mergeLow(start1, length1, start2, length2) {\n        var i = 0;\n        for (i = 0; i < length1; i++) {\n            tmp[i] = array[start1 + i];\n        }\n        var cursor1 = 0;\n        var cursor2 = start2;\n        var dest = start1;\n        array[dest++] = array[cursor2++];\n        if (--length2 === 0) {\n            for (i = 0; i < length1; i++) {\n                array[dest + i] = tmp[cursor1 + i];\n            }\n            return;\n        }\n        if (length1 === 1) {\n            for (i = 0; i < length2; i++) {\n                array[dest + i] = array[cursor2 + i];\n            }\n            array[dest + length2] = tmp[cursor1];\n            return;\n        }\n        var _minGallop = minGallop;\n        var count1;\n        var count2;\n        var exit;\n        while (1) {\n            count1 = 0;\n            count2 = 0;\n            exit = false;\n            do {\n                if (compare(array[cursor2], tmp[cursor1]) < 0) {\n                    array[dest++] = array[cursor2++];\n                    count2++;\n                    count1 = 0;\n                    if (--length2 === 0) {\n                        exit = true;\n                        break;\n                    }\n                }\n                else {\n                    array[dest++] = tmp[cursor1++];\n                    count1++;\n                    count2 = 0;\n                    if (--length1 === 1) {\n                        exit = true;\n                        break;\n                    }\n                }\n            } while ((count1 | count2) < _minGallop);\n            if (exit) {\n                break;\n            }\n            do {\n                count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n                if (count1 !== 0) {\n                    for (i = 0; i < count1; i++) {\n                        array[dest + i] = tmp[cursor1 + i];\n                    }\n                    dest += count1;\n                    cursor1 += count1;\n                    length1 -= count1;\n                    if (length1 <= 1) {\n                        exit = true;\n                        break;\n                    }\n                }\n                array[dest++] = array[cursor2++];\n                if (--length2 === 0) {\n                    exit = true;\n                    break;\n                }\n                count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n                if (count2 !== 0) {\n                    for (i = 0; i < count2; i++) {\n                        array[dest + i] = array[cursor2 + i];\n                    }\n                    dest += count2;\n                    cursor2 += count2;\n                    length2 -= count2;\n                    if (length2 === 0) {\n                        exit = true;\n                        break;\n                    }\n                }\n                array[dest++] = tmp[cursor1++];\n                if (--length1 === 1) {\n                    exit = true;\n                    break;\n                }\n                _minGallop--;\n            } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n            if (exit) {\n                break;\n            }\n            if (_minGallop < 0) {\n                _minGallop = 0;\n            }\n            _minGallop += 2;\n        }\n        minGallop = _minGallop;\n        minGallop < 1 && (minGallop = 1);\n        if (length1 === 1) {\n            for (i = 0; i < length2; i++) {\n                array[dest + i] = array[cursor2 + i];\n            }\n            array[dest + length2] = tmp[cursor1];\n        }\n        else if (length1 === 0) {\n            throw new Error();\n        }\n        else {\n            for (i = 0; i < length1; i++) {\n                array[dest + i] = tmp[cursor1 + i];\n            }\n        }\n    }\n    function mergeHigh(start1, length1, start2, length2) {\n        var i = 0;\n        for (i = 0; i < length2; i++) {\n            tmp[i] = array[start2 + i];\n        }\n        var cursor1 = start1 + length1 - 1;\n        var cursor2 = length2 - 1;\n        var dest = start2 + length2 - 1;\n        var customCursor = 0;\n        var customDest = 0;\n        array[dest--] = array[cursor1--];\n        if (--length1 === 0) {\n            customCursor = dest - (length2 - 1);\n            for (i = 0; i < length2; i++) {\n                array[customCursor + i] = tmp[i];\n            }\n            return;\n        }\n        if (length2 === 1) {\n            dest -= length1;\n            cursor1 -= length1;\n            customDest = dest + 1;\n            customCursor = cursor1 + 1;\n            for (i = length1 - 1; i >= 0; i--) {\n                array[customDest + i] = array[customCursor + i];\n            }\n            array[dest] = tmp[cursor2];\n            return;\n        }\n        var _minGallop = minGallop;\n        while (true) {\n            var count1 = 0;\n            var count2 = 0;\n            var exit = false;\n            do {\n                if (compare(tmp[cursor2], array[cursor1]) < 0) {\n                    array[dest--] = array[cursor1--];\n                    count1++;\n                    count2 = 0;\n                    if (--length1 === 0) {\n                        exit = true;\n                        break;\n                    }\n                }\n                else {\n                    array[dest--] = tmp[cursor2--];\n                    count2++;\n                    count1 = 0;\n                    if (--length2 === 1) {\n                        exit = true;\n                        break;\n                    }\n                }\n            } while ((count1 | count2) < _minGallop);\n            if (exit) {\n                break;\n            }\n            do {\n                count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n                if (count1 !== 0) {\n                    dest -= count1;\n                    cursor1 -= count1;\n                    length1 -= count1;\n                    customDest = dest + 1;\n                    customCursor = cursor1 + 1;\n                    for (i = count1 - 1; i >= 0; i--) {\n                        array[customDest + i] = array[customCursor + i];\n                    }\n                    if (length1 === 0) {\n                        exit = true;\n                        break;\n                    }\n                }\n                array[dest--] = tmp[cursor2--];\n                if (--length2 === 1) {\n                    exit = true;\n                    break;\n                }\n                count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n                if (count2 !== 0) {\n                    dest -= count2;\n                    cursor2 -= count2;\n                    length2 -= count2;\n                    customDest = dest + 1;\n                    customCursor = cursor2 + 1;\n                    for (i = 0; i < count2; i++) {\n                        array[customDest + i] = tmp[customCursor + i];\n                    }\n                    if (length2 <= 1) {\n                        exit = true;\n                        break;\n                    }\n                }\n                array[dest--] = array[cursor1--];\n                if (--length1 === 0) {\n                    exit = true;\n                    break;\n                }\n                _minGallop--;\n            } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n            if (exit) {\n                break;\n            }\n            if (_minGallop < 0) {\n                _minGallop = 0;\n            }\n            _minGallop += 2;\n        }\n        minGallop = _minGallop;\n        if (minGallop < 1) {\n            minGallop = 1;\n        }\n        if (length2 === 1) {\n            dest -= length1;\n            cursor1 -= length1;\n            customDest = dest + 1;\n            customCursor = cursor1 + 1;\n            for (i = length1 - 1; i >= 0; i--) {\n                array[customDest + i] = array[customCursor + i];\n            }\n            array[dest] = tmp[cursor2];\n        }\n        else if (length2 === 0) {\n            throw new Error();\n        }\n        else {\n            customCursor = dest - (length2 - 1);\n            for (i = 0; i < length2; i++) {\n                array[customCursor + i] = tmp[i];\n            }\n        }\n    }\n    return {\n        mergeRuns: mergeRuns,\n        forceMergeRuns: forceMergeRuns,\n        pushRun: pushRun\n    };\n}\nfunction sort(array, compare, lo, hi) {\n    if (!lo) {\n        lo = 0;\n    }\n    if (!hi) {\n        hi = array.length;\n    }\n    var remaining = hi - lo;\n    if (remaining < 2) {\n        return;\n    }\n    var runLength = 0;\n    if (remaining < DEFAULT_MIN_MERGE) {\n        runLength = makeAscendingRun(array, lo, hi, compare);\n        binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n        return;\n    }\n    var ts = TimSort(array, compare);\n    var minRun = minRunLength(remaining);\n    do {\n        runLength = makeAscendingRun(array, lo, hi, compare);\n        if (runLength < minRun) {\n            var force = remaining;\n            if (force > minRun) {\n                force = minRun;\n            }\n            binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n            runLength = force;\n        }\n        ts.pushRun(lo, runLength);\n        ts.mergeRuns();\n        remaining -= runLength;\n        lo += runLength;\n    } while (remaining !== 0);\n    ts.forceMergeRuns();\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/timsort.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/util.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/util.js ***!
  \********************************************************************/
/*! exports provided: guid, logError, clone, merge, mergeAll, extend, defaults, createCanvas, indexOf, inherits, mixin, isArrayLike, each, map, reduce, filter, find, keys, bind, curry, isArray, isFunction, isString, isStringSafe, isNumber, isObject, isBuiltInObject, isTypedArray, isDom, isGradientObject, isImagePatternObject, isRegExp, eqNaN, retrieve, retrieve2, retrieve3, slice, normalizeCssArray, assert, trim, setAsPrimitive, isPrimitive, HashMap, createHashMap, concatArray, createObject, disableUserSelect, hasOwn, noop, RADIAN_TO_DEGREE */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"guid\", function() { return guid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"logError\", function() { return logError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return clone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeAll\", function() { return mergeAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return extend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return defaults; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCanvas\", function() { return createCanvas; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return indexOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inherits\", function() { return inherits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mixin\", function() { return mixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArrayLike\", function() { return isArrayLike; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return each; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return reduce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return keys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return bind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return curry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isStringSafe\", function() { return isStringSafe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return isNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isBuiltInObject\", function() { return isBuiltInObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return isTypedArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDom\", function() { return isDom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isGradientObject\", function() { return isGradientObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isImagePatternObject\", function() { return isImagePatternObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return isRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eqNaN\", function() { return eqNaN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieve\", function() { return retrieve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieve2\", function() { return retrieve2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retrieve3\", function() { return retrieve3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeCssArray\", function() { return normalizeCssArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assert\", function() { return assert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return trim; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setAsPrimitive\", function() { return setAsPrimitive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPrimitive\", function() { return isPrimitive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HashMap\", function() { return HashMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createHashMap\", function() { return createHashMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatArray\", function() { return concatArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createObject\", function() { return createObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disableUserSelect\", function() { return disableUserSelect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasOwn\", function() { return hasOwn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RADIAN_TO_DEGREE\", function() { return RADIAN_TO_DEGREE; });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\nvar BUILTIN_OBJECT = reduce([\n    'Function',\n    'RegExp',\n    'Date',\n    'Error',\n    'CanvasGradient',\n    'CanvasPattern',\n    'Image',\n    'Canvas'\n], function (obj, val) {\n    obj['[object ' + val + ']'] = true;\n    return obj;\n}, {});\nvar TYPED_ARRAY = reduce([\n    'Int8',\n    'Uint8',\n    'Uint8Clamped',\n    'Int16',\n    'Uint16',\n    'Int32',\n    'Uint32',\n    'Float32',\n    'Float64'\n], function (obj, val) {\n    obj['[object ' + val + 'Array]'] = true;\n    return obj;\n}, {});\nvar objToString = Object.prototype.toString;\nvar arrayProto = Array.prototype;\nvar nativeForEach = arrayProto.forEach;\nvar nativeFilter = arrayProto.filter;\nvar nativeSlice = arrayProto.slice;\nvar nativeMap = arrayProto.map;\nvar ctorFunction = function () { }.constructor;\nvar protoFunction = ctorFunction ? ctorFunction.prototype : null;\nvar protoKey = '__proto__';\nvar idStart = 0x0907;\nfunction guid() {\n    return idStart++;\n}\nfunction logError() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    if (typeof console !== 'undefined') {\n        console.error.apply(console, args);\n    }\n}\nfunction clone(source) {\n    if (source == null || typeof source !== 'object') {\n        return source;\n    }\n    var result = source;\n    var typeStr = objToString.call(source);\n    if (typeStr === '[object Array]') {\n        if (!isPrimitive(source)) {\n            result = [];\n            for (var i = 0, len = source.length; i < len; i++) {\n                result[i] = clone(source[i]);\n            }\n        }\n    }\n    else if (TYPED_ARRAY[typeStr]) {\n        if (!isPrimitive(source)) {\n            var Ctor = source.constructor;\n            if (Ctor.from) {\n                result = Ctor.from(source);\n            }\n            else {\n                result = new Ctor(source.length);\n                for (var i = 0, len = source.length; i < len; i++) {\n                    result[i] = source[i];\n                }\n            }\n        }\n    }\n    else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && !isDom(source)) {\n        result = {};\n        for (var key in source) {\n            if (source.hasOwnProperty(key) && key !== protoKey) {\n                result[key] = clone(source[key]);\n            }\n        }\n    }\n    return result;\n}\nfunction merge(target, source, overwrite) {\n    if (!isObject(source) || !isObject(target)) {\n        return overwrite ? clone(source) : target;\n    }\n    for (var key in source) {\n        if (source.hasOwnProperty(key) && key !== protoKey) {\n            var targetProp = target[key];\n            var sourceProp = source[key];\n            if (isObject(sourceProp)\n                && isObject(targetProp)\n                && !isArray(sourceProp)\n                && !isArray(targetProp)\n                && !isDom(sourceProp)\n                && !isDom(targetProp)\n                && !isBuiltInObject(sourceProp)\n                && !isBuiltInObject(targetProp)\n                && !isPrimitive(sourceProp)\n                && !isPrimitive(targetProp)) {\n                merge(targetProp, sourceProp, overwrite);\n            }\n            else if (overwrite || !(key in target)) {\n                target[key] = clone(source[key]);\n            }\n        }\n    }\n    return target;\n}\nfunction mergeAll(targetAndSources, overwrite) {\n    var result = targetAndSources[0];\n    for (var i = 1, len = targetAndSources.length; i < len; i++) {\n        result = merge(result, targetAndSources[i], overwrite);\n    }\n    return result;\n}\nfunction extend(target, source) {\n    if (Object.assign) {\n        Object.assign(target, source);\n    }\n    else {\n        for (var key in source) {\n            if (source.hasOwnProperty(key) && key !== protoKey) {\n                target[key] = source[key];\n            }\n        }\n    }\n    return target;\n}\nfunction defaults(target, source, overlay) {\n    var keysArr = keys(source);\n    for (var i = 0; i < keysArr.length; i++) {\n        var key = keysArr[i];\n        if ((overlay ? source[key] != null : target[key] == null)) {\n            target[key] = source[key];\n        }\n    }\n    return target;\n}\nvar createCanvas = _platform_js__WEBPACK_IMPORTED_MODULE_0__[\"platformApi\"].createCanvas;\nfunction indexOf(array, value) {\n    if (array) {\n        if (array.indexOf) {\n            return array.indexOf(value);\n        }\n        for (var i = 0, len = array.length; i < len; i++) {\n            if (array[i] === value) {\n                return i;\n            }\n        }\n    }\n    return -1;\n}\nfunction inherits(clazz, baseClazz) {\n    var clazzPrototype = clazz.prototype;\n    function F() { }\n    F.prototype = baseClazz.prototype;\n    clazz.prototype = new F();\n    for (var prop in clazzPrototype) {\n        if (clazzPrototype.hasOwnProperty(prop)) {\n            clazz.prototype[prop] = clazzPrototype[prop];\n        }\n    }\n    clazz.prototype.constructor = clazz;\n    clazz.superClass = baseClazz;\n}\nfunction mixin(target, source, override) {\n    target = 'prototype' in target ? target.prototype : target;\n    source = 'prototype' in source ? source.prototype : source;\n    if (Object.getOwnPropertyNames) {\n        var keyList = Object.getOwnPropertyNames(source);\n        for (var i = 0; i < keyList.length; i++) {\n            var key = keyList[i];\n            if (key !== 'constructor') {\n                if ((override ? source[key] != null : target[key] == null)) {\n                    target[key] = source[key];\n                }\n            }\n        }\n    }\n    else {\n        defaults(target, source, override);\n    }\n}\nfunction isArrayLike(data) {\n    if (!data) {\n        return false;\n    }\n    if (typeof data === 'string') {\n        return false;\n    }\n    return typeof data.length === 'number';\n}\nfunction each(arr, cb, context) {\n    if (!(arr && cb)) {\n        return;\n    }\n    if (arr.forEach && arr.forEach === nativeForEach) {\n        arr.forEach(cb, context);\n    }\n    else if (arr.length === +arr.length) {\n        for (var i = 0, len = arr.length; i < len; i++) {\n            cb.call(context, arr[i], i, arr);\n        }\n    }\n    else {\n        for (var key in arr) {\n            if (arr.hasOwnProperty(key)) {\n                cb.call(context, arr[key], key, arr);\n            }\n        }\n    }\n}\nfunction map(arr, cb, context) {\n    if (!arr) {\n        return [];\n    }\n    if (!cb) {\n        return slice(arr);\n    }\n    if (arr.map && arr.map === nativeMap) {\n        return arr.map(cb, context);\n    }\n    else {\n        var result = [];\n        for (var i = 0, len = arr.length; i < len; i++) {\n            result.push(cb.call(context, arr[i], i, arr));\n        }\n        return result;\n    }\n}\nfunction reduce(arr, cb, memo, context) {\n    if (!(arr && cb)) {\n        return;\n    }\n    for (var i = 0, len = arr.length; i < len; i++) {\n        memo = cb.call(context, memo, arr[i], i, arr);\n    }\n    return memo;\n}\nfunction filter(arr, cb, context) {\n    if (!arr) {\n        return [];\n    }\n    if (!cb) {\n        return slice(arr);\n    }\n    if (arr.filter && arr.filter === nativeFilter) {\n        return arr.filter(cb, context);\n    }\n    else {\n        var result = [];\n        for (var i = 0, len = arr.length; i < len; i++) {\n            if (cb.call(context, arr[i], i, arr)) {\n                result.push(arr[i]);\n            }\n        }\n        return result;\n    }\n}\nfunction find(arr, cb, context) {\n    if (!(arr && cb)) {\n        return;\n    }\n    for (var i = 0, len = arr.length; i < len; i++) {\n        if (cb.call(context, arr[i], i, arr)) {\n            return arr[i];\n        }\n    }\n}\nfunction keys(obj) {\n    if (!obj) {\n        return [];\n    }\n    if (Object.keys) {\n        return Object.keys(obj);\n    }\n    var keyList = [];\n    for (var key in obj) {\n        if (obj.hasOwnProperty(key)) {\n            keyList.push(key);\n        }\n    }\n    return keyList;\n}\nfunction bindPolyfill(func, context) {\n    var args = [];\n    for (var _i = 2; _i < arguments.length; _i++) {\n        args[_i - 2] = arguments[_i];\n    }\n    return function () {\n        return func.apply(context, args.concat(nativeSlice.call(arguments)));\n    };\n}\nvar bind = (protoFunction && isFunction(protoFunction.bind))\n    ? protoFunction.call.bind(protoFunction.bind)\n    : bindPolyfill;\nfunction curry(func) {\n    var args = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        args[_i - 1] = arguments[_i];\n    }\n    return function () {\n        return func.apply(this, args.concat(nativeSlice.call(arguments)));\n    };\n}\n\nfunction isArray(value) {\n    if (Array.isArray) {\n        return Array.isArray(value);\n    }\n    return objToString.call(value) === '[object Array]';\n}\nfunction isFunction(value) {\n    return typeof value === 'function';\n}\nfunction isString(value) {\n    return typeof value === 'string';\n}\nfunction isStringSafe(value) {\n    return objToString.call(value) === '[object String]';\n}\nfunction isNumber(value) {\n    return typeof value === 'number';\n}\nfunction isObject(value) {\n    var type = typeof value;\n    return type === 'function' || (!!value && type === 'object');\n}\nfunction isBuiltInObject(value) {\n    return !!BUILTIN_OBJECT[objToString.call(value)];\n}\nfunction isTypedArray(value) {\n    return !!TYPED_ARRAY[objToString.call(value)];\n}\nfunction isDom(value) {\n    return typeof value === 'object'\n        && typeof value.nodeType === 'number'\n        && typeof value.ownerDocument === 'object';\n}\nfunction isGradientObject(value) {\n    return value.colorStops != null;\n}\nfunction isImagePatternObject(value) {\n    return value.image != null;\n}\nfunction isRegExp(value) {\n    return objToString.call(value) === '[object RegExp]';\n}\nfunction eqNaN(value) {\n    return value !== value;\n}\nfunction retrieve() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    for (var i = 0, len = args.length; i < len; i++) {\n        if (args[i] != null) {\n            return args[i];\n        }\n    }\n}\nfunction retrieve2(value0, value1) {\n    return value0 != null\n        ? value0\n        : value1;\n}\nfunction retrieve3(value0, value1, value2) {\n    return value0 != null\n        ? value0\n        : value1 != null\n            ? value1\n            : value2;\n}\nfunction slice(arr) {\n    var args = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        args[_i - 1] = arguments[_i];\n    }\n    return nativeSlice.apply(arr, args);\n}\nfunction normalizeCssArray(val) {\n    if (typeof (val) === 'number') {\n        return [val, val, val, val];\n    }\n    var len = val.length;\n    if (len === 2) {\n        return [val[0], val[1], val[0], val[1]];\n    }\n    else if (len === 3) {\n        return [val[0], val[1], val[2], val[1]];\n    }\n    return val;\n}\nfunction assert(condition, message) {\n    if (!condition) {\n        throw new Error(message);\n    }\n}\nfunction trim(str) {\n    if (str == null) {\n        return null;\n    }\n    else if (typeof str.trim === 'function') {\n        return str.trim();\n    }\n    else {\n        return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n    }\n}\nvar primitiveKey = '__ec_primitive__';\nfunction setAsPrimitive(obj) {\n    obj[primitiveKey] = true;\n}\nfunction isPrimitive(obj) {\n    return obj[primitiveKey];\n}\nvar HashMap = (function () {\n    function HashMap(obj) {\n        this.data = {};\n        var isArr = isArray(obj);\n        this.data = {};\n        var thisMap = this;\n        (obj instanceof HashMap)\n            ? obj.each(visit)\n            : (obj && each(obj, visit));\n        function visit(value, key) {\n            isArr ? thisMap.set(value, key) : thisMap.set(key, value);\n        }\n    }\n    HashMap.prototype.get = function (key) {\n        return this.data.hasOwnProperty(key) ? this.data[key] : null;\n    };\n    HashMap.prototype.set = function (key, value) {\n        return (this.data[key] = value);\n    };\n    HashMap.prototype.each = function (cb, context) {\n        for (var key in this.data) {\n            if (this.data.hasOwnProperty(key)) {\n                cb.call(context, this.data[key], key);\n            }\n        }\n    };\n    HashMap.prototype.keys = function () {\n        return keys(this.data);\n    };\n    HashMap.prototype.removeKey = function (key) {\n        delete this.data[key];\n    };\n    return HashMap;\n}());\n\nfunction createHashMap(obj) {\n    return new HashMap(obj);\n}\nfunction concatArray(a, b) {\n    var newArray = new a.constructor(a.length + b.length);\n    for (var i = 0; i < a.length; i++) {\n        newArray[i] = a[i];\n    }\n    var offset = a.length;\n    for (var i = 0; i < b.length; i++) {\n        newArray[i + offset] = b[i];\n    }\n    return newArray;\n}\nfunction createObject(proto, properties) {\n    var obj;\n    if (Object.create) {\n        obj = Object.create(proto);\n    }\n    else {\n        var StyleCtor = function () { };\n        StyleCtor.prototype = proto;\n        obj = new StyleCtor();\n    }\n    if (properties) {\n        extend(obj, properties);\n    }\n    return obj;\n}\nfunction disableUserSelect(dom) {\n    var domStyle = dom.style;\n    domStyle.webkitUserSelect = 'none';\n    domStyle.userSelect = 'none';\n    domStyle.webkitTapHighlightColor = 'rgba(0,0,0,0)';\n    domStyle['-webkit-touch-callout'] = 'none';\n}\nfunction hasOwn(own, prop) {\n    return own.hasOwnProperty(prop);\n}\nfunction noop() { }\nvar RADIAN_TO_DEGREE = 180 / Math.PI;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/util.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/core/vector.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/core/vector.js ***!
  \**********************************************************************/
/*! exports provided: create, copy, clone, set, add, scaleAndAdd, sub, len, length, lenSquare, lengthSquare, mul, div, dot, scale, normalize, distance, dist, distanceSquare, distSquare, negate, lerp, applyTransform, min, max */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return create; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copy\", function() { return copy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return clone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return set; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scaleAndAdd\", function() { return scaleAndAdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sub\", function() { return sub; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"len\", function() { return len; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"length\", function() { return length; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lenSquare\", function() { return lenSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lengthSquare\", function() { return lengthSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mul\", function() { return mul; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"div\", function() { return div; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dot\", function() { return dot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalize\", function() { return normalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distance\", function() { return distance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dist\", function() { return dist; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distanceSquare\", function() { return distanceSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distSquare\", function() { return distSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return negate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lerp\", function() { return lerp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyTransform\", function() { return applyTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\nfunction create(x, y) {\n    if (x == null) {\n        x = 0;\n    }\n    if (y == null) {\n        y = 0;\n    }\n    return [x, y];\n}\nfunction copy(out, v) {\n    out[0] = v[0];\n    out[1] = v[1];\n    return out;\n}\nfunction clone(v) {\n    return [v[0], v[1]];\n}\nfunction set(out, a, b) {\n    out[0] = a;\n    out[1] = b;\n    return out;\n}\nfunction add(out, v1, v2) {\n    out[0] = v1[0] + v2[0];\n    out[1] = v1[1] + v2[1];\n    return out;\n}\nfunction scaleAndAdd(out, v1, v2, a) {\n    out[0] = v1[0] + v2[0] * a;\n    out[1] = v1[1] + v2[1] * a;\n    return out;\n}\nfunction sub(out, v1, v2) {\n    out[0] = v1[0] - v2[0];\n    out[1] = v1[1] - v2[1];\n    return out;\n}\nfunction len(v) {\n    return Math.sqrt(lenSquare(v));\n}\nvar length = len;\nfunction lenSquare(v) {\n    return v[0] * v[0] + v[1] * v[1];\n}\nvar lengthSquare = lenSquare;\nfunction mul(out, v1, v2) {\n    out[0] = v1[0] * v2[0];\n    out[1] = v1[1] * v2[1];\n    return out;\n}\nfunction div(out, v1, v2) {\n    out[0] = v1[0] / v2[0];\n    out[1] = v1[1] / v2[1];\n    return out;\n}\nfunction dot(v1, v2) {\n    return v1[0] * v2[0] + v1[1] * v2[1];\n}\nfunction scale(out, v, s) {\n    out[0] = v[0] * s;\n    out[1] = v[1] * s;\n    return out;\n}\nfunction normalize(out, v) {\n    var d = len(v);\n    if (d === 0) {\n        out[0] = 0;\n        out[1] = 0;\n    }\n    else {\n        out[0] = v[0] / d;\n        out[1] = v[1] / d;\n    }\n    return out;\n}\nfunction distance(v1, v2) {\n    return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0])\n        + (v1[1] - v2[1]) * (v1[1] - v2[1]));\n}\nvar dist = distance;\nfunction distanceSquare(v1, v2) {\n    return (v1[0] - v2[0]) * (v1[0] - v2[0])\n        + (v1[1] - v2[1]) * (v1[1] - v2[1]);\n}\nvar distSquare = distanceSquare;\nfunction negate(out, v) {\n    out[0] = -v[0];\n    out[1] = -v[1];\n    return out;\n}\nfunction lerp(out, v1, v2, t) {\n    out[0] = v1[0] + t * (v2[0] - v1[0]);\n    out[1] = v1[1] + t * (v2[1] - v1[1]);\n    return out;\n}\nfunction applyTransform(out, v, m) {\n    var x = v[0];\n    var y = v[1];\n    out[0] = m[0] * x + m[2] * y + m[4];\n    out[1] = m[1] * x + m[3] * y + m[5];\n    return out;\n}\nfunction min(out, v1, v2) {\n    out[0] = Math.min(v1[0], v2[0]);\n    out[1] = Math.min(v1[1], v2[1]);\n    return out;\n}\nfunction max(out, v1, v2) {\n    out[0] = Math.max(v1[0], v2[0]);\n    out[1] = Math.max(v1[1], v2[1]);\n    return out;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/core/vector.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/dom/HandlerProxy.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/dom/HandlerProxy.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/event.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/event.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_Eventful_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/Eventful.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Eventful.js\");\n/* harmony import */ var _core_env_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n\n\n\n\n\nvar TOUCH_CLICK_DELAY = 300;\nvar globalEventSupported = _core_env_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].domSupported;\nvar localNativeListenerNames = (function () {\n    var mouseHandlerNames = [\n        'click', 'dblclick', 'mousewheel', 'wheel', 'mouseout',\n        'mouseup', 'mousedown', 'mousemove', 'contextmenu'\n    ];\n    var touchHandlerNames = [\n        'touchstart', 'touchend', 'touchmove'\n    ];\n    var pointerEventNameMap = {\n        pointerdown: 1, pointerup: 1, pointermove: 1, pointerout: 1\n    };\n    var pointerHandlerNames = _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"](mouseHandlerNames, function (name) {\n        var nm = name.replace('mouse', 'pointer');\n        return pointerEventNameMap.hasOwnProperty(nm) ? nm : name;\n    });\n    return {\n        mouse: mouseHandlerNames,\n        touch: touchHandlerNames,\n        pointer: pointerHandlerNames\n    };\n})();\nvar globalNativeListenerNames = {\n    mouse: ['mousemove', 'mouseup'],\n    pointer: ['pointermove', 'pointerup']\n};\nvar wheelEventSupported = false;\nfunction isPointerFromTouch(event) {\n    var pointerType = event.pointerType;\n    return pointerType === 'pen' || pointerType === 'touch';\n}\nfunction setTouchTimer(scope) {\n    scope.touching = true;\n    if (scope.touchTimer != null) {\n        clearTimeout(scope.touchTimer);\n        scope.touchTimer = null;\n    }\n    scope.touchTimer = setTimeout(function () {\n        scope.touching = false;\n        scope.touchTimer = null;\n    }, 700);\n}\nfunction markTouch(event) {\n    event && (event.zrByTouch = true);\n}\nfunction normalizeGlobalEvent(instance, event) {\n    return Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(instance.dom, new FakeGlobalEvent(instance, event), true);\n}\nfunction isLocalEl(instance, el) {\n    var elTmp = el;\n    var isLocal = false;\n    while (elTmp && elTmp.nodeType !== 9\n        && !(isLocal = elTmp.domBelongToZr\n            || (elTmp !== el && elTmp === instance.painterRoot))) {\n        elTmp = elTmp.parentNode;\n    }\n    return isLocal;\n}\nvar FakeGlobalEvent = (function () {\n    function FakeGlobalEvent(instance, event) {\n        this.stopPropagation = _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"];\n        this.stopImmediatePropagation = _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"];\n        this.preventDefault = _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"noop\"];\n        this.type = event.type;\n        this.target = this.currentTarget = instance.dom;\n        this.pointerType = event.pointerType;\n        this.clientX = event.clientX;\n        this.clientY = event.clientY;\n    }\n    return FakeGlobalEvent;\n}());\nvar localDOMHandlers = {\n    mousedown: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        this.__mayPointerCapture = [event.zrX, event.zrY];\n        this.trigger('mousedown', event);\n    },\n    mousemove: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        var downPoint = this.__mayPointerCapture;\n        if (downPoint && (event.zrX !== downPoint[0] || event.zrY !== downPoint[1])) {\n            this.__togglePointerCapture(true);\n        }\n        this.trigger('mousemove', event);\n    },\n    mouseup: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        this.__togglePointerCapture(false);\n        this.trigger('mouseup', event);\n    },\n    mouseout: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        var element = event.toElement || event.relatedTarget;\n        if (!isLocalEl(this, element)) {\n            if (this.__pointerCapturing) {\n                event.zrEventControl = 'no_globalout';\n            }\n            this.trigger('mouseout', event);\n        }\n    },\n    wheel: function (event) {\n        wheelEventSupported = true;\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        this.trigger('mousewheel', event);\n    },\n    mousewheel: function (event) {\n        if (wheelEventSupported) {\n            return;\n        }\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        this.trigger('mousewheel', event);\n    },\n    touchstart: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        markTouch(event);\n        this.__lastTouchMoment = new Date();\n        this.handler.processGesture(event, 'start');\n        localDOMHandlers.mousemove.call(this, event);\n        localDOMHandlers.mousedown.call(this, event);\n    },\n    touchmove: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        markTouch(event);\n        this.handler.processGesture(event, 'change');\n        localDOMHandlers.mousemove.call(this, event);\n    },\n    touchend: function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        markTouch(event);\n        this.handler.processGesture(event, 'end');\n        localDOMHandlers.mouseup.call(this, event);\n        if (+new Date() - (+this.__lastTouchMoment) < TOUCH_CLICK_DELAY) {\n            localDOMHandlers.click.call(this, event);\n        }\n    },\n    pointerdown: function (event) {\n        localDOMHandlers.mousedown.call(this, event);\n    },\n    pointermove: function (event) {\n        if (!isPointerFromTouch(event)) {\n            localDOMHandlers.mousemove.call(this, event);\n        }\n    },\n    pointerup: function (event) {\n        localDOMHandlers.mouseup.call(this, event);\n    },\n    pointerout: function (event) {\n        if (!isPointerFromTouch(event)) {\n            localDOMHandlers.mouseout.call(this, event);\n        }\n    }\n};\n_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](['click', 'dblclick', 'contextmenu'], function (name) {\n    localDOMHandlers[name] = function (event) {\n        event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"normalizeEvent\"])(this.dom, event);\n        this.trigger(name, event);\n    };\n});\nvar globalDOMHandlers = {\n    pointermove: function (event) {\n        if (!isPointerFromTouch(event)) {\n            globalDOMHandlers.mousemove.call(this, event);\n        }\n    },\n    pointerup: function (event) {\n        globalDOMHandlers.mouseup.call(this, event);\n    },\n    mousemove: function (event) {\n        this.trigger('mousemove', event);\n    },\n    mouseup: function (event) {\n        var pointerCaptureReleasing = this.__pointerCapturing;\n        this.__togglePointerCapture(false);\n        this.trigger('mouseup', event);\n        if (pointerCaptureReleasing) {\n            event.zrEventControl = 'only_globalout';\n            this.trigger('mouseout', event);\n        }\n    }\n};\nfunction mountLocalDOMEventListeners(instance, scope) {\n    var domHandlers = scope.domHandlers;\n    if (_core_env_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].pointerEventsSupported) {\n        _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](localNativeListenerNames.pointer, function (nativeEventName) {\n            mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n                domHandlers[nativeEventName].call(instance, event);\n            });\n        });\n    }\n    else {\n        if (_core_env_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].touchEventsSupported) {\n            _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](localNativeListenerNames.touch, function (nativeEventName) {\n                mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n                    domHandlers[nativeEventName].call(instance, event);\n                    setTouchTimer(scope);\n                });\n            });\n        }\n        _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](localNativeListenerNames.mouse, function (nativeEventName) {\n            mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n                event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"getNativeEvent\"])(event);\n                if (!scope.touching) {\n                    domHandlers[nativeEventName].call(instance, event);\n                }\n            });\n        });\n    }\n}\nfunction mountGlobalDOMEventListeners(instance, scope) {\n    if (_core_env_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].pointerEventsSupported) {\n        _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](globalNativeListenerNames.pointer, mount);\n    }\n    else if (!_core_env_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].touchEventsSupported) {\n        _core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"each\"](globalNativeListenerNames.mouse, mount);\n    }\n    function mount(nativeEventName) {\n        function nativeEventListener(event) {\n            event = Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"getNativeEvent\"])(event);\n            if (!isLocalEl(instance, event.target)) {\n                event = normalizeGlobalEvent(instance, event);\n                scope.domHandlers[nativeEventName].call(instance, event);\n            }\n        }\n        mountSingleDOMEventListener(scope, nativeEventName, nativeEventListener, { capture: true });\n    }\n}\nfunction mountSingleDOMEventListener(scope, nativeEventName, listener, opt) {\n    scope.mounted[nativeEventName] = listener;\n    scope.listenerOpts[nativeEventName] = opt;\n    Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"addEventListener\"])(scope.domTarget, nativeEventName, listener, opt);\n}\nfunction unmountDOMEventListeners(scope) {\n    var mounted = scope.mounted;\n    for (var nativeEventName in mounted) {\n        if (mounted.hasOwnProperty(nativeEventName)) {\n            Object(_core_event_js__WEBPACK_IMPORTED_MODULE_1__[\"removeEventListener\"])(scope.domTarget, nativeEventName, mounted[nativeEventName], scope.listenerOpts[nativeEventName]);\n        }\n    }\n    scope.mounted = {};\n}\nvar DOMHandlerScope = (function () {\n    function DOMHandlerScope(domTarget, domHandlers) {\n        this.mounted = {};\n        this.listenerOpts = {};\n        this.touching = false;\n        this.domTarget = domTarget;\n        this.domHandlers = domHandlers;\n    }\n    return DOMHandlerScope;\n}());\nvar HandlerDomProxy = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(HandlerDomProxy, _super);\n    function HandlerDomProxy(dom, painterRoot) {\n        var _this = _super.call(this) || this;\n        _this.__pointerCapturing = false;\n        _this.dom = dom;\n        _this.painterRoot = painterRoot;\n        _this._localHandlerScope = new DOMHandlerScope(dom, localDOMHandlers);\n        if (globalEventSupported) {\n            _this._globalHandlerScope = new DOMHandlerScope(document, globalDOMHandlers);\n        }\n        mountLocalDOMEventListeners(_this, _this._localHandlerScope);\n        return _this;\n    }\n    HandlerDomProxy.prototype.dispose = function () {\n        unmountDOMEventListeners(this._localHandlerScope);\n        if (globalEventSupported) {\n            unmountDOMEventListeners(this._globalHandlerScope);\n        }\n    };\n    HandlerDomProxy.prototype.setCursor = function (cursorStyle) {\n        this.dom.style && (this.dom.style.cursor = cursorStyle || 'default');\n    };\n    HandlerDomProxy.prototype.__togglePointerCapture = function (isPointerCapturing) {\n        this.__mayPointerCapture = null;\n        if (globalEventSupported\n            && ((+this.__pointerCapturing) ^ (+isPointerCapturing))) {\n            this.__pointerCapturing = isPointerCapturing;\n            var globalHandlerScope = this._globalHandlerScope;\n            isPointerCapturing\n                ? mountGlobalDOMEventListeners(this, globalHandlerScope)\n                : unmountDOMEventListeners(globalHandlerScope);\n        }\n    };\n    return HandlerDomProxy;\n}(_core_Eventful_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (HandlerDomProxy);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/dom/HandlerProxy.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/CompoundPath.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/CompoundPath.js ***!
  \*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n\n\nvar CompoundPath = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CompoundPath, _super);\n    function CompoundPath() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.type = 'compound';\n        return _this;\n    }\n    CompoundPath.prototype._updatePathDirty = function () {\n        var paths = this.shape.paths;\n        var dirtyPath = this.shapeChanged();\n        for (var i = 0; i < paths.length; i++) {\n            dirtyPath = dirtyPath || paths[i].shapeChanged();\n        }\n        if (dirtyPath) {\n            this.dirtyShape();\n        }\n    };\n    CompoundPath.prototype.beforeBrush = function () {\n        this._updatePathDirty();\n        var paths = this.shape.paths || [];\n        var scale = this.getGlobalScale();\n        for (var i = 0; i < paths.length; i++) {\n            if (!paths[i].path) {\n                paths[i].createPathProxy();\n            }\n            paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);\n        }\n    };\n    CompoundPath.prototype.buildPath = function (ctx, shape) {\n        var paths = shape.paths || [];\n        for (var i = 0; i < paths.length; i++) {\n            paths[i].buildPath(ctx, paths[i].shape, true);\n        }\n    };\n    CompoundPath.prototype.afterBrush = function () {\n        var paths = this.shape.paths || [];\n        for (var i = 0; i < paths.length; i++) {\n            paths[i].pathUpdated();\n        }\n    };\n    CompoundPath.prototype.getBoundingRect = function () {\n        this._updatePathDirty.call(this);\n        return _Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype.getBoundingRect.call(this);\n    };\n    return CompoundPath;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (CompoundPath);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/CompoundPath.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js ***!
  \******************************************************************************/
/*! exports provided: DEFAULT_COMMON_STYLE, DEFAULT_COMMON_ANIMATION_PROPS, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_COMMON_STYLE\", function() { return DEFAULT_COMMON_STYLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_COMMON_ANIMATION_PROPS\", function() { return DEFAULT_COMMON_ANIMATION_PROPS; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Element_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Element.js */ \"./node_modules/echarts/node_modules/zrender/lib/Element.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n\n\n\n\n\nvar STYLE_MAGIC_KEY = '__zr_style_' + Math.round((Math.random() * 10));\nvar DEFAULT_COMMON_STYLE = {\n    shadowBlur: 0,\n    shadowOffsetX: 0,\n    shadowOffsetY: 0,\n    shadowColor: '#000',\n    opacity: 1,\n    blend: 'source-over'\n};\nvar DEFAULT_COMMON_ANIMATION_PROPS = {\n    style: {\n        shadowBlur: true,\n        shadowOffsetX: true,\n        shadowOffsetY: true,\n        shadowColor: true,\n        opacity: true\n    }\n};\nDEFAULT_COMMON_STYLE[STYLE_MAGIC_KEY] = true;\nvar PRIMARY_STATES_KEYS = ['z', 'z2', 'invisible'];\nvar PRIMARY_STATES_KEYS_IN_HOVER_LAYER = ['invisible'];\nvar Displayable = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Displayable, _super);\n    function Displayable(props) {\n        return _super.call(this, props) || this;\n    }\n    Displayable.prototype._init = function (props) {\n        var keysArr = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"keys\"])(props);\n        for (var i = 0; i < keysArr.length; i++) {\n            var key = keysArr[i];\n            if (key === 'style') {\n                this.useStyle(props[key]);\n            }\n            else {\n                _super.prototype.attrKV.call(this, key, props[key]);\n            }\n        }\n        if (!this.style) {\n            this.useStyle({});\n        }\n    };\n    Displayable.prototype.beforeBrush = function () { };\n    Displayable.prototype.afterBrush = function () { };\n    Displayable.prototype.innerBeforeBrush = function () { };\n    Displayable.prototype.innerAfterBrush = function () { };\n    Displayable.prototype.shouldBePainted = function (viewWidth, viewHeight, considerClipPath, considerAncestors) {\n        var m = this.transform;\n        if (this.ignore\n            || this.invisible\n            || this.style.opacity === 0\n            || (this.culling\n                && isDisplayableCulled(this, viewWidth, viewHeight))\n            || (m && !m[0] && !m[3])) {\n            return false;\n        }\n        if (considerClipPath && this.__clipPaths) {\n            for (var i = 0; i < this.__clipPaths.length; ++i) {\n                if (this.__clipPaths[i].isZeroArea()) {\n                    return false;\n                }\n            }\n        }\n        if (considerAncestors && this.parent) {\n            var parent_1 = this.parent;\n            while (parent_1) {\n                if (parent_1.ignore) {\n                    return false;\n                }\n                parent_1 = parent_1.parent;\n            }\n        }\n        return true;\n    };\n    Displayable.prototype.contain = function (x, y) {\n        return this.rectContain(x, y);\n    };\n    Displayable.prototype.traverse = function (cb, context) {\n        cb.call(context, this);\n    };\n    Displayable.prototype.rectContain = function (x, y) {\n        var coord = this.transformCoordToLocal(x, y);\n        var rect = this.getBoundingRect();\n        return rect.contain(coord[0], coord[1]);\n    };\n    Displayable.prototype.getPaintRect = function () {\n        var rect = this._paintRect;\n        if (!this._paintRect || this.__dirty) {\n            var transform = this.transform;\n            var elRect = this.getBoundingRect();\n            var style = this.style;\n            var shadowSize = style.shadowBlur || 0;\n            var shadowOffsetX = style.shadowOffsetX || 0;\n            var shadowOffsetY = style.shadowOffsetY || 0;\n            rect = this._paintRect || (this._paintRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](0, 0, 0, 0));\n            if (transform) {\n                _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].applyTransform(rect, elRect, transform);\n            }\n            else {\n                rect.copy(elRect);\n            }\n            if (shadowSize || shadowOffsetX || shadowOffsetY) {\n                rect.width += shadowSize * 2 + Math.abs(shadowOffsetX);\n                rect.height += shadowSize * 2 + Math.abs(shadowOffsetY);\n                rect.x = Math.min(rect.x, rect.x + shadowOffsetX - shadowSize);\n                rect.y = Math.min(rect.y, rect.y + shadowOffsetY - shadowSize);\n            }\n            var tolerance = this.dirtyRectTolerance;\n            if (!rect.isZero()) {\n                rect.x = Math.floor(rect.x - tolerance);\n                rect.y = Math.floor(rect.y - tolerance);\n                rect.width = Math.ceil(rect.width + 1 + tolerance * 2);\n                rect.height = Math.ceil(rect.height + 1 + tolerance * 2);\n            }\n        }\n        return rect;\n    };\n    Displayable.prototype.setPrevPaintRect = function (paintRect) {\n        if (paintRect) {\n            this._prevPaintRect = this._prevPaintRect || new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](0, 0, 0, 0);\n            this._prevPaintRect.copy(paintRect);\n        }\n        else {\n            this._prevPaintRect = null;\n        }\n    };\n    Displayable.prototype.getPrevPaintRect = function () {\n        return this._prevPaintRect;\n    };\n    Displayable.prototype.animateStyle = function (loop) {\n        return this.animate('style', loop);\n    };\n    Displayable.prototype.updateDuringAnimation = function (targetKey) {\n        if (targetKey === 'style') {\n            this.dirtyStyle();\n        }\n        else {\n            this.markRedraw();\n        }\n    };\n    Displayable.prototype.attrKV = function (key, value) {\n        if (key !== 'style') {\n            _super.prototype.attrKV.call(this, key, value);\n        }\n        else {\n            if (!this.style) {\n                this.useStyle(value);\n            }\n            else {\n                this.setStyle(value);\n            }\n        }\n    };\n    Displayable.prototype.setStyle = function (keyOrObj, value) {\n        if (typeof keyOrObj === 'string') {\n            this.style[keyOrObj] = value;\n        }\n        else {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])(this.style, keyOrObj);\n        }\n        this.dirtyStyle();\n        return this;\n    };\n    Displayable.prototype.dirtyStyle = function (notRedraw) {\n        if (!notRedraw) {\n            this.markRedraw();\n        }\n        this.__dirty |= _constants_js__WEBPACK_IMPORTED_MODULE_4__[\"STYLE_CHANGED_BIT\"];\n        if (this._rect) {\n            this._rect = null;\n        }\n    };\n    Displayable.prototype.dirty = function () {\n        this.dirtyStyle();\n    };\n    Displayable.prototype.styleChanged = function () {\n        return !!(this.__dirty & _constants_js__WEBPACK_IMPORTED_MODULE_4__[\"STYLE_CHANGED_BIT\"]);\n    };\n    Displayable.prototype.styleUpdated = function () {\n        this.__dirty &= ~_constants_js__WEBPACK_IMPORTED_MODULE_4__[\"STYLE_CHANGED_BIT\"];\n    };\n    Displayable.prototype.createStyle = function (obj) {\n        return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createObject\"])(DEFAULT_COMMON_STYLE, obj);\n    };\n    Displayable.prototype.useStyle = function (obj) {\n        if (!obj[STYLE_MAGIC_KEY]) {\n            obj = this.createStyle(obj);\n        }\n        if (this.__inHover) {\n            this.__hoverStyle = obj;\n        }\n        else {\n            this.style = obj;\n        }\n        this.dirtyStyle();\n    };\n    Displayable.prototype.isStyleObject = function (obj) {\n        return obj[STYLE_MAGIC_KEY];\n    };\n    Displayable.prototype._innerSaveToNormal = function (toState) {\n        _super.prototype._innerSaveToNormal.call(this, toState);\n        var normalState = this._normalState;\n        if (toState.style && !normalState.style) {\n            normalState.style = this._mergeStyle(this.createStyle(), this.style);\n        }\n        this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS);\n    };\n    Displayable.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n        _super.prototype._applyStateObj.call(this, stateName, state, normalState, keepCurrentStates, transition, animationCfg);\n        var needsRestoreToNormal = !(state && keepCurrentStates);\n        var targetStyle;\n        if (state && state.style) {\n            if (transition) {\n                if (keepCurrentStates) {\n                    targetStyle = state.style;\n                }\n                else {\n                    targetStyle = this._mergeStyle(this.createStyle(), normalState.style);\n                    this._mergeStyle(targetStyle, state.style);\n                }\n            }\n            else {\n                targetStyle = this._mergeStyle(this.createStyle(), keepCurrentStates ? this.style : normalState.style);\n                this._mergeStyle(targetStyle, state.style);\n            }\n        }\n        else if (needsRestoreToNormal) {\n            targetStyle = normalState.style;\n        }\n        if (targetStyle) {\n            if (transition) {\n                var sourceStyle = this.style;\n                this.style = this.createStyle(needsRestoreToNormal ? {} : sourceStyle);\n                if (needsRestoreToNormal) {\n                    var changedKeys = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"keys\"])(sourceStyle);\n                    for (var i = 0; i < changedKeys.length; i++) {\n                        var key = changedKeys[i];\n                        if (key in targetStyle) {\n                            targetStyle[key] = targetStyle[key];\n                            this.style[key] = sourceStyle[key];\n                        }\n                    }\n                }\n                var targetKeys = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"keys\"])(targetStyle);\n                for (var i = 0; i < targetKeys.length; i++) {\n                    var key = targetKeys[i];\n                    this.style[key] = this.style[key];\n                }\n                this._transitionState(stateName, {\n                    style: targetStyle\n                }, animationCfg, this.getAnimationStyleProps());\n            }\n            else {\n                this.useStyle(targetStyle);\n            }\n        }\n        var statesKeys = this.__inHover ? PRIMARY_STATES_KEYS_IN_HOVER_LAYER : PRIMARY_STATES_KEYS;\n        for (var i = 0; i < statesKeys.length; i++) {\n            var key = statesKeys[i];\n            if (state && state[key] != null) {\n                this[key] = state[key];\n            }\n            else if (needsRestoreToNormal) {\n                if (normalState[key] != null) {\n                    this[key] = normalState[key];\n                }\n            }\n        }\n    };\n    Displayable.prototype._mergeStates = function (states) {\n        var mergedState = _super.prototype._mergeStates.call(this, states);\n        var mergedStyle;\n        for (var i = 0; i < states.length; i++) {\n            var state = states[i];\n            if (state.style) {\n                mergedStyle = mergedStyle || {};\n                this._mergeStyle(mergedStyle, state.style);\n            }\n        }\n        if (mergedStyle) {\n            mergedState.style = mergedStyle;\n        }\n        return mergedState;\n    };\n    Displayable.prototype._mergeStyle = function (targetStyle, sourceStyle) {\n        Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])(targetStyle, sourceStyle);\n        return targetStyle;\n    };\n    Displayable.prototype.getAnimationStyleProps = function () {\n        return DEFAULT_COMMON_ANIMATION_PROPS;\n    };\n    Displayable.initDefaultProps = (function () {\n        var dispProto = Displayable.prototype;\n        dispProto.type = 'displayable';\n        dispProto.invisible = false;\n        dispProto.z = 0;\n        dispProto.z2 = 0;\n        dispProto.zlevel = 0;\n        dispProto.culling = false;\n        dispProto.cursor = 'pointer';\n        dispProto.rectHover = false;\n        dispProto.incremental = false;\n        dispProto._rect = null;\n        dispProto.dirtyRectTolerance = 0;\n        dispProto.__dirty = _constants_js__WEBPACK_IMPORTED_MODULE_4__[\"REDRAW_BIT\"] | _constants_js__WEBPACK_IMPORTED_MODULE_4__[\"STYLE_CHANGED_BIT\"];\n    })();\n    return Displayable;\n}(_Element_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nvar tmpRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](0, 0, 0, 0);\nvar viewRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](0, 0, 0, 0);\nfunction isDisplayableCulled(el, width, height) {\n    tmpRect.copy(el.getBoundingRect());\n    if (el.transform) {\n        tmpRect.applyTransform(el.transform);\n    }\n    viewRect.width = width;\n    viewRect.height = height;\n    return !tmpRect.intersect(viewRect);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Displayable);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/Gradient.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/Gradient.js ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar Gradient = (function () {\n    function Gradient(colorStops) {\n        this.colorStops = colorStops || [];\n    }\n    Gradient.prototype.addColorStop = function (offset, color) {\n        this.colorStops.push({\n            offset: offset,\n            color: color\n        });\n    };\n    return Gradient;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Gradient);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/Gradient.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Element_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Element.js */ \"./node_modules/echarts/node_modules/zrender/lib/Element.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n\n\n\n\nvar Group = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Group, _super);\n    function Group(opts) {\n        var _this = _super.call(this) || this;\n        _this.isGroup = true;\n        _this._children = [];\n        _this.attr(opts);\n        return _this;\n    }\n    Group.prototype.childrenRef = function () {\n        return this._children;\n    };\n    Group.prototype.children = function () {\n        return this._children.slice();\n    };\n    Group.prototype.childAt = function (idx) {\n        return this._children[idx];\n    };\n    Group.prototype.childOfName = function (name) {\n        var children = this._children;\n        for (var i = 0; i < children.length; i++) {\n            if (children[i].name === name) {\n                return children[i];\n            }\n        }\n    };\n    Group.prototype.childCount = function () {\n        return this._children.length;\n    };\n    Group.prototype.add = function (child) {\n        if (child) {\n            if (child !== this && child.parent !== this) {\n                this._children.push(child);\n                this._doAdd(child);\n            }\n            if (true) {\n                if (child.__hostTarget) {\n                    throw 'This elemenet has been used as an attachment';\n                }\n            }\n        }\n        return this;\n    };\n    Group.prototype.addBefore = function (child, nextSibling) {\n        if (child && child !== this && child.parent !== this\n            && nextSibling && nextSibling.parent === this) {\n            var children = this._children;\n            var idx = children.indexOf(nextSibling);\n            if (idx >= 0) {\n                children.splice(idx, 0, child);\n                this._doAdd(child);\n            }\n        }\n        return this;\n    };\n    Group.prototype.replace = function (oldChild, newChild) {\n        var idx = _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"](this._children, oldChild);\n        if (idx >= 0) {\n            this.replaceAt(newChild, idx);\n        }\n        return this;\n    };\n    Group.prototype.replaceAt = function (child, index) {\n        var children = this._children;\n        var old = children[index];\n        if (child && child !== this && child.parent !== this && child !== old) {\n            children[index] = child;\n            old.parent = null;\n            var zr = this.__zr;\n            if (zr) {\n                old.removeSelfFromZr(zr);\n            }\n            this._doAdd(child);\n        }\n        return this;\n    };\n    Group.prototype._doAdd = function (child) {\n        if (child.parent) {\n            child.parent.remove(child);\n        }\n        child.parent = this;\n        var zr = this.__zr;\n        if (zr && zr !== child.__zr) {\n            child.addSelfToZr(zr);\n        }\n        zr && zr.refresh();\n    };\n    Group.prototype.remove = function (child) {\n        var zr = this.__zr;\n        var children = this._children;\n        var idx = _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"](children, child);\n        if (idx < 0) {\n            return this;\n        }\n        children.splice(idx, 1);\n        child.parent = null;\n        if (zr) {\n            child.removeSelfFromZr(zr);\n        }\n        zr && zr.refresh();\n        return this;\n    };\n    Group.prototype.removeAll = function () {\n        var children = this._children;\n        var zr = this.__zr;\n        for (var i = 0; i < children.length; i++) {\n            var child = children[i];\n            if (zr) {\n                child.removeSelfFromZr(zr);\n            }\n            child.parent = null;\n        }\n        children.length = 0;\n        return this;\n    };\n    Group.prototype.eachChild = function (cb, context) {\n        var children = this._children;\n        for (var i = 0; i < children.length; i++) {\n            var child = children[i];\n            cb.call(context, child, i);\n        }\n        return this;\n    };\n    Group.prototype.traverse = function (cb, context) {\n        for (var i = 0; i < this._children.length; i++) {\n            var child = this._children[i];\n            var stopped = cb.call(context, child);\n            if (child.isGroup && !stopped) {\n                child.traverse(cb, context);\n            }\n        }\n        return this;\n    };\n    Group.prototype.addSelfToZr = function (zr) {\n        _super.prototype.addSelfToZr.call(this, zr);\n        for (var i = 0; i < this._children.length; i++) {\n            var child = this._children[i];\n            child.addSelfToZr(zr);\n        }\n    };\n    Group.prototype.removeSelfFromZr = function (zr) {\n        _super.prototype.removeSelfFromZr.call(this, zr);\n        for (var i = 0; i < this._children.length; i++) {\n            var child = this._children[i];\n            child.removeSelfFromZr(zr);\n        }\n    };\n    Group.prototype.getBoundingRect = function (includeChildren) {\n        var tmpRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](0, 0, 0, 0);\n        var children = includeChildren || this._children;\n        var tmpMat = [];\n        var rect = null;\n        for (var i = 0; i < children.length; i++) {\n            var child = children[i];\n            if (child.ignore || child.invisible) {\n                continue;\n            }\n            var childRect = child.getBoundingRect();\n            var transform = child.getLocalTransform(tmpMat);\n            if (transform) {\n                _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].applyTransform(tmpRect, childRect, transform);\n                rect = rect || tmpRect.clone();\n                rect.union(tmpRect);\n            }\n            else {\n                rect = rect || childRect.clone();\n                rect.union(childRect);\n            }\n        }\n        return rect || tmpRect;\n    };\n    return Group;\n}(_Element_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\nGroup.prototype.type = 'group';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Group);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js ***!
  \************************************************************************/
/*! exports provided: DEFAULT_IMAGE_STYLE, DEFAULT_IMAGE_ANIMATION_PROPS, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_IMAGE_STYLE\", function() { return DEFAULT_IMAGE_STYLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_IMAGE_ANIMATION_PROPS\", function() { return DEFAULT_IMAGE_ANIMATION_PROPS; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Displayable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n\n\n\nvar DEFAULT_IMAGE_STYLE = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"defaults\"])({\n    x: 0,\n    y: 0\n}, _Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_COMMON_STYLE\"]);\nvar DEFAULT_IMAGE_ANIMATION_PROPS = {\n    style: Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"defaults\"])({\n        x: true,\n        y: true,\n        width: true,\n        height: true,\n        sx: true,\n        sy: true,\n        sWidth: true,\n        sHeight: true\n    }, _Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_COMMON_ANIMATION_PROPS\"].style)\n};\nfunction isImageLike(source) {\n    return !!(source\n        && typeof source !== 'string'\n        && source.width && source.height);\n}\nvar ZRImage = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ZRImage, _super);\n    function ZRImage() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ZRImage.prototype.createStyle = function (obj) {\n        return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"createObject\"])(DEFAULT_IMAGE_STYLE, obj);\n    };\n    ZRImage.prototype._getSize = function (dim) {\n        var style = this.style;\n        var size = style[dim];\n        if (size != null) {\n            return size;\n        }\n        var imageSource = isImageLike(style.image)\n            ? style.image : this.__image;\n        if (!imageSource) {\n            return 0;\n        }\n        var otherDim = dim === 'width' ? 'height' : 'width';\n        var otherDimSize = style[otherDim];\n        if (otherDimSize == null) {\n            return imageSource[dim];\n        }\n        else {\n            return imageSource[dim] / imageSource[otherDim] * otherDimSize;\n        }\n    };\n    ZRImage.prototype.getWidth = function () {\n        return this._getSize('width');\n    };\n    ZRImage.prototype.getHeight = function () {\n        return this._getSize('height');\n    };\n    ZRImage.prototype.getAnimationStyleProps = function () {\n        return DEFAULT_IMAGE_ANIMATION_PROPS;\n    };\n    ZRImage.prototype.getBoundingRect = function () {\n        var style = this.style;\n        if (!this._rect) {\n            this._rect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](style.x || 0, style.y || 0, this.getWidth(), this.getHeight());\n        }\n        return this._rect;\n    };\n    return ZRImage;\n}(_Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nZRImage.prototype.type = 'image';\n/* harmony default export */ __webpack_exports__[\"default\"] = (ZRImage);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/IncrementalDisplayable.js":
/*!*****************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/IncrementalDisplayable.js ***!
  \*****************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Displayable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n\n\n\nvar m = [];\nvar IncrementalDisplayable = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(IncrementalDisplayable, _super);\n    function IncrementalDisplayable() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.notClear = true;\n        _this.incremental = true;\n        _this._displayables = [];\n        _this._temporaryDisplayables = [];\n        _this._cursor = 0;\n        return _this;\n    }\n    IncrementalDisplayable.prototype.traverse = function (cb, context) {\n        cb.call(context, this);\n    };\n    IncrementalDisplayable.prototype.useStyle = function () {\n        this.style = {};\n    };\n    IncrementalDisplayable.prototype.getCursor = function () {\n        return this._cursor;\n    };\n    IncrementalDisplayable.prototype.innerAfterBrush = function () {\n        this._cursor = this._displayables.length;\n    };\n    IncrementalDisplayable.prototype.clearDisplaybles = function () {\n        this._displayables = [];\n        this._temporaryDisplayables = [];\n        this._cursor = 0;\n        this.markRedraw();\n        this.notClear = false;\n    };\n    IncrementalDisplayable.prototype.clearTemporalDisplayables = function () {\n        this._temporaryDisplayables = [];\n    };\n    IncrementalDisplayable.prototype.addDisplayable = function (displayable, notPersistent) {\n        if (notPersistent) {\n            this._temporaryDisplayables.push(displayable);\n        }\n        else {\n            this._displayables.push(displayable);\n        }\n        this.markRedraw();\n    };\n    IncrementalDisplayable.prototype.addDisplayables = function (displayables, notPersistent) {\n        notPersistent = notPersistent || false;\n        for (var i = 0; i < displayables.length; i++) {\n            this.addDisplayable(displayables[i], notPersistent);\n        }\n    };\n    IncrementalDisplayable.prototype.getDisplayables = function () {\n        return this._displayables;\n    };\n    IncrementalDisplayable.prototype.getTemporalDisplayables = function () {\n        return this._temporaryDisplayables;\n    };\n    IncrementalDisplayable.prototype.eachPendingDisplayable = function (cb) {\n        for (var i = this._cursor; i < this._displayables.length; i++) {\n            cb && cb(this._displayables[i]);\n        }\n        for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n            cb && cb(this._temporaryDisplayables[i]);\n        }\n    };\n    IncrementalDisplayable.prototype.update = function () {\n        this.updateTransform();\n        for (var i = this._cursor; i < this._displayables.length; i++) {\n            var displayable = this._displayables[i];\n            displayable.parent = this;\n            displayable.update();\n            displayable.parent = null;\n        }\n        for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n            var displayable = this._temporaryDisplayables[i];\n            displayable.parent = this;\n            displayable.update();\n            displayable.parent = null;\n        }\n    };\n    IncrementalDisplayable.prototype.getBoundingRect = function () {\n        if (!this._rect) {\n            var rect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](Infinity, Infinity, -Infinity, -Infinity);\n            for (var i = 0; i < this._displayables.length; i++) {\n                var displayable = this._displayables[i];\n                var childRect = displayable.getBoundingRect().clone();\n                if (displayable.needLocalTransform()) {\n                    childRect.applyTransform(displayable.getLocalTransform(m));\n                }\n                rect.union(childRect);\n            }\n            this._rect = rect;\n        }\n        return this._rect;\n    };\n    IncrementalDisplayable.prototype.contain = function (x, y) {\n        var localPos = this.transformCoordToLocal(x, y);\n        var rect = this.getBoundingRect();\n        if (rect.contain(localPos[0], localPos[1])) {\n            for (var i = 0; i < this._displayables.length; i++) {\n                var displayable = this._displayables[i];\n                if (displayable.contain(x, y)) {\n                    return true;\n                }\n            }\n        }\n        return false;\n    };\n    return IncrementalDisplayable;\n}(_Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (IncrementalDisplayable);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/IncrementalDisplayable.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/LinearGradient.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/LinearGradient.js ***!
  \*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Gradient_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Gradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Gradient.js\");\n\n\nvar LinearGradient = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LinearGradient, _super);\n    function LinearGradient(x, y, x2, y2, colorStops, globalCoord) {\n        var _this = _super.call(this, colorStops) || this;\n        _this.x = x == null ? 0 : x;\n        _this.y = y == null ? 0 : y;\n        _this.x2 = x2 == null ? 1 : x2;\n        _this.y2 = y2 == null ? 0 : y2;\n        _this.type = 'linear';\n        _this.global = globalCoord || false;\n        return _this;\n    }\n    return LinearGradient;\n}(_Gradient_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (LinearGradient);\n;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/LinearGradient.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js ***!
  \***********************************************************************/
/*! exports provided: DEFAULT_PATH_STYLE, DEFAULT_PATH_ANIMATION_PROPS, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_PATH_STYLE\", function() { return DEFAULT_PATH_STYLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_PATH_ANIMATION_PROPS\", function() { return DEFAULT_PATH_ANIMATION_PROPS; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Displayable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var _contain_path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../contain/path.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/path.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _tool_color_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../config.js */ \"./node_modules/echarts/node_modules/zrender/lib/config.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js\");\n/* harmony import */ var _core_Transformable_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n\n\n\n\n\n\n\n\n\nvar DEFAULT_PATH_STYLE = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])({\n    fill: '#000',\n    stroke: null,\n    strokePercent: 1,\n    fillOpacity: 1,\n    strokeOpacity: 1,\n    lineDashOffset: 0,\n    lineWidth: 1,\n    lineCap: 'butt',\n    miterLimit: 10,\n    strokeNoScale: false,\n    strokeFirst: false\n}, _Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_COMMON_STYLE\"]);\nvar DEFAULT_PATH_ANIMATION_PROPS = {\n    style: Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])({\n        fill: true,\n        stroke: true,\n        strokePercent: true,\n        fillOpacity: true,\n        strokeOpacity: true,\n        lineDashOffset: true,\n        lineWidth: true,\n        miterLimit: true\n    }, _Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_COMMON_ANIMATION_PROPS\"].style)\n};\nvar pathCopyParams = _core_Transformable_js__WEBPACK_IMPORTED_MODULE_8__[\"TRANSFORMABLE_PROPS\"].concat(['invisible',\n    'culling', 'z', 'z2', 'zlevel', 'parent'\n]);\nvar Path = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Path, _super);\n    function Path(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Path.prototype.update = function () {\n        var _this = this;\n        _super.prototype.update.call(this);\n        var style = this.style;\n        if (style.decal) {\n            var decalEl = this._decalEl = this._decalEl || new Path();\n            if (decalEl.buildPath === Path.prototype.buildPath) {\n                decalEl.buildPath = function (ctx) {\n                    _this.buildPath(ctx, _this.shape);\n                };\n            }\n            decalEl.silent = true;\n            var decalElStyle = decalEl.style;\n            for (var key in style) {\n                if (decalElStyle[key] !== style[key]) {\n                    decalElStyle[key] = style[key];\n                }\n            }\n            decalElStyle.fill = style.fill ? style.decal : null;\n            decalElStyle.decal = null;\n            decalElStyle.shadowColor = null;\n            style.strokeFirst && (decalElStyle.stroke = null);\n            for (var i = 0; i < pathCopyParams.length; ++i) {\n                decalEl[pathCopyParams[i]] = this[pathCopyParams[i]];\n            }\n            decalEl.__dirty |= _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"REDRAW_BIT\"];\n        }\n        else if (this._decalEl) {\n            this._decalEl = null;\n        }\n    };\n    Path.prototype.getDecalElement = function () {\n        return this._decalEl;\n    };\n    Path.prototype._init = function (props) {\n        var keysArr = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"keys\"])(props);\n        this.shape = this.getDefaultShape();\n        var defaultStyle = this.getDefaultStyle();\n        if (defaultStyle) {\n            this.useStyle(defaultStyle);\n        }\n        for (var i = 0; i < keysArr.length; i++) {\n            var key = keysArr[i];\n            var value = props[key];\n            if (key === 'style') {\n                if (!this.style) {\n                    this.useStyle(value);\n                }\n                else {\n                    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])(this.style, value);\n                }\n            }\n            else if (key === 'shape') {\n                Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])(this.shape, value);\n            }\n            else {\n                _super.prototype.attrKV.call(this, key, value);\n            }\n        }\n        if (!this.style) {\n            this.useStyle({});\n        }\n    };\n    Path.prototype.getDefaultStyle = function () {\n        return null;\n    };\n    Path.prototype.getDefaultShape = function () {\n        return {};\n    };\n    Path.prototype.canBeInsideText = function () {\n        return this.hasFill();\n    };\n    Path.prototype.getInsideTextFill = function () {\n        var pathFill = this.style.fill;\n        if (pathFill !== 'none') {\n            if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isString\"])(pathFill)) {\n                var fillLum = Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_5__[\"lum\"])(pathFill, 0);\n                if (fillLum > 0.5) {\n                    return _config_js__WEBPACK_IMPORTED_MODULE_6__[\"DARK_LABEL_COLOR\"];\n                }\n                else if (fillLum > 0.2) {\n                    return _config_js__WEBPACK_IMPORTED_MODULE_6__[\"LIGHTER_LABEL_COLOR\"];\n                }\n                return _config_js__WEBPACK_IMPORTED_MODULE_6__[\"LIGHT_LABEL_COLOR\"];\n            }\n            else if (pathFill) {\n                return _config_js__WEBPACK_IMPORTED_MODULE_6__[\"LIGHT_LABEL_COLOR\"];\n            }\n        }\n        return _config_js__WEBPACK_IMPORTED_MODULE_6__[\"DARK_LABEL_COLOR\"];\n    };\n    Path.prototype.getInsideTextStroke = function (textFill) {\n        var pathFill = this.style.fill;\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"isString\"])(pathFill)) {\n            var zr = this.__zr;\n            var isDarkMode = !!(zr && zr.isDarkMode());\n            var isDarkLabel = Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_5__[\"lum\"])(textFill, 0) < _config_js__WEBPACK_IMPORTED_MODULE_6__[\"DARK_MODE_THRESHOLD\"];\n            if (isDarkMode === isDarkLabel) {\n                return pathFill;\n            }\n        }\n    };\n    Path.prototype.buildPath = function (ctx, shapeCfg, inBatch) { };\n    Path.prototype.pathUpdated = function () {\n        this.__dirty &= ~_constants_js__WEBPACK_IMPORTED_MODULE_7__[\"SHAPE_CHANGED_BIT\"];\n    };\n    Path.prototype.getUpdatedPathProxy = function (inBatch) {\n        !this.path && this.createPathProxy();\n        this.path.beginPath();\n        this.buildPath(this.path, this.shape, inBatch);\n        return this.path;\n    };\n    Path.prototype.createPathProxy = function () {\n        this.path = new _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](false);\n    };\n    Path.prototype.hasStroke = function () {\n        var style = this.style;\n        var stroke = style.stroke;\n        return !(stroke == null || stroke === 'none' || !(style.lineWidth > 0));\n    };\n    Path.prototype.hasFill = function () {\n        var style = this.style;\n        var fill = style.fill;\n        return fill != null && fill !== 'none';\n    };\n    Path.prototype.getBoundingRect = function () {\n        var rect = this._rect;\n        var style = this.style;\n        var needsUpdateRect = !rect;\n        if (needsUpdateRect) {\n            var firstInvoke = false;\n            if (!this.path) {\n                firstInvoke = true;\n                this.createPathProxy();\n            }\n            var path = this.path;\n            if (firstInvoke || (this.__dirty & _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"SHAPE_CHANGED_BIT\"])) {\n                path.beginPath();\n                this.buildPath(path, this.shape, false);\n                this.pathUpdated();\n            }\n            rect = path.getBoundingRect();\n        }\n        this._rect = rect;\n        if (this.hasStroke() && this.path && this.path.len() > 0) {\n            var rectStroke = this._rectStroke || (this._rectStroke = rect.clone());\n            if (this.__dirty || needsUpdateRect) {\n                rectStroke.copy(rect);\n                var lineScale = style.strokeNoScale ? this.getLineScale() : 1;\n                var w = style.lineWidth;\n                if (!this.hasFill()) {\n                    var strokeContainThreshold = this.strokeContainThreshold;\n                    w = Math.max(w, strokeContainThreshold == null ? 4 : strokeContainThreshold);\n                }\n                if (lineScale > 1e-10) {\n                    rectStroke.width += w / lineScale;\n                    rectStroke.height += w / lineScale;\n                    rectStroke.x -= w / lineScale / 2;\n                    rectStroke.y -= w / lineScale / 2;\n                }\n            }\n            return rectStroke;\n        }\n        return rect;\n    };\n    Path.prototype.contain = function (x, y) {\n        var localPos = this.transformCoordToLocal(x, y);\n        var rect = this.getBoundingRect();\n        var style = this.style;\n        x = localPos[0];\n        y = localPos[1];\n        if (rect.contain(x, y)) {\n            var pathProxy = this.path;\n            if (this.hasStroke()) {\n                var lineWidth = style.lineWidth;\n                var lineScale = style.strokeNoScale ? this.getLineScale() : 1;\n                if (lineScale > 1e-10) {\n                    if (!this.hasFill()) {\n                        lineWidth = Math.max(lineWidth, this.strokeContainThreshold);\n                    }\n                    if (_contain_path_js__WEBPACK_IMPORTED_MODULE_3__[\"containStroke\"](pathProxy, lineWidth / lineScale, x, y)) {\n                        return true;\n                    }\n                }\n            }\n            if (this.hasFill()) {\n                return _contain_path_js__WEBPACK_IMPORTED_MODULE_3__[\"contain\"](pathProxy, x, y);\n            }\n        }\n        return false;\n    };\n    Path.prototype.dirtyShape = function () {\n        this.__dirty |= _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"SHAPE_CHANGED_BIT\"];\n        if (this._rect) {\n            this._rect = null;\n        }\n        if (this._decalEl) {\n            this._decalEl.dirtyShape();\n        }\n        this.markRedraw();\n    };\n    Path.prototype.dirty = function () {\n        this.dirtyStyle();\n        this.dirtyShape();\n    };\n    Path.prototype.animateShape = function (loop) {\n        return this.animate('shape', loop);\n    };\n    Path.prototype.updateDuringAnimation = function (targetKey) {\n        if (targetKey === 'style') {\n            this.dirtyStyle();\n        }\n        else if (targetKey === 'shape') {\n            this.dirtyShape();\n        }\n        else {\n            this.markRedraw();\n        }\n    };\n    Path.prototype.attrKV = function (key, value) {\n        if (key === 'shape') {\n            this.setShape(value);\n        }\n        else {\n            _super.prototype.attrKV.call(this, key, value);\n        }\n    };\n    Path.prototype.setShape = function (keyOrObj, value) {\n        var shape = this.shape;\n        if (!shape) {\n            shape = this.shape = {};\n        }\n        if (typeof keyOrObj === 'string') {\n            shape[keyOrObj] = value;\n        }\n        else {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])(shape, keyOrObj);\n        }\n        this.dirtyShape();\n        return this;\n    };\n    Path.prototype.shapeChanged = function () {\n        return !!(this.__dirty & _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"SHAPE_CHANGED_BIT\"]);\n    };\n    Path.prototype.createStyle = function (obj) {\n        return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"createObject\"])(DEFAULT_PATH_STYLE, obj);\n    };\n    Path.prototype._innerSaveToNormal = function (toState) {\n        _super.prototype._innerSaveToNormal.call(this, toState);\n        var normalState = this._normalState;\n        if (toState.shape && !normalState.shape) {\n            normalState.shape = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])({}, this.shape);\n        }\n    };\n    Path.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n        _super.prototype._applyStateObj.call(this, stateName, state, normalState, keepCurrentStates, transition, animationCfg);\n        var needsRestoreToNormal = !(state && keepCurrentStates);\n        var targetShape;\n        if (state && state.shape) {\n            if (transition) {\n                if (keepCurrentStates) {\n                    targetShape = state.shape;\n                }\n                else {\n                    targetShape = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])({}, normalState.shape);\n                    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])(targetShape, state.shape);\n                }\n            }\n            else {\n                targetShape = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])({}, keepCurrentStates ? this.shape : normalState.shape);\n                Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])(targetShape, state.shape);\n            }\n        }\n        else if (needsRestoreToNormal) {\n            targetShape = normalState.shape;\n        }\n        if (targetShape) {\n            if (transition) {\n                this.shape = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])({}, this.shape);\n                var targetShapePrimaryProps = {};\n                var shapeKeys = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"keys\"])(targetShape);\n                for (var i = 0; i < shapeKeys.length; i++) {\n                    var key = shapeKeys[i];\n                    if (typeof targetShape[key] === 'object') {\n                        this.shape[key] = targetShape[key];\n                    }\n                    else {\n                        targetShapePrimaryProps[key] = targetShape[key];\n                    }\n                }\n                this._transitionState(stateName, {\n                    shape: targetShapePrimaryProps\n                }, animationCfg);\n            }\n            else {\n                this.shape = targetShape;\n                this.dirtyShape();\n            }\n        }\n    };\n    Path.prototype._mergeStates = function (states) {\n        var mergedState = _super.prototype._mergeStates.call(this, states);\n        var mergedShape;\n        for (var i = 0; i < states.length; i++) {\n            var state = states[i];\n            if (state.shape) {\n                mergedShape = mergedShape || {};\n                this._mergeStyle(mergedShape, state.shape);\n            }\n        }\n        if (mergedShape) {\n            mergedState.shape = mergedShape;\n        }\n        return mergedState;\n    };\n    Path.prototype.getAnimationStyleProps = function () {\n        return DEFAULT_PATH_ANIMATION_PROPS;\n    };\n    Path.prototype.isZeroArea = function () {\n        return false;\n    };\n    Path.extend = function (defaultProps) {\n        var Sub = (function (_super) {\n            Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Sub, _super);\n            function Sub(opts) {\n                var _this = _super.call(this, opts) || this;\n                defaultProps.init && defaultProps.init.call(_this, opts);\n                return _this;\n            }\n            Sub.prototype.getDefaultStyle = function () {\n                return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(defaultProps.style);\n            };\n            Sub.prototype.getDefaultShape = function () {\n                return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"clone\"])(defaultProps.shape);\n            };\n            return Sub;\n        }(Path));\n        for (var key in defaultProps) {\n            if (typeof defaultProps[key] === 'function') {\n                Sub.prototype[key] = defaultProps[key];\n            }\n        }\n        return Sub;\n    };\n    Path.initDefaultProps = (function () {\n        var pathProto = Path.prototype;\n        pathProto.type = 'path';\n        pathProto.strokeContainThreshold = 5;\n        pathProto.segmentIgnoreThreshold = 0;\n        pathProto.subPixelOptimize = false;\n        pathProto.autoBatch = false;\n        pathProto.__dirty = _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"REDRAW_BIT\"] | _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"STYLE_CHANGED_BIT\"] | _constants_js__WEBPACK_IMPORTED_MODULE_7__[\"SHAPE_CHANGED_BIT\"];\n    })();\n    return Path;\n}(_Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Path);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/RadialGradient.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/RadialGradient.js ***!
  \*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Gradient_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Gradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Gradient.js\");\n\n\nvar RadialGradient = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RadialGradient, _super);\n    function RadialGradient(x, y, r, colorStops, globalCoord) {\n        var _this = _super.call(this, colorStops) || this;\n        _this.x = x == null ? 0.5 : x;\n        _this.y = y == null ? 0.5 : y;\n        _this.r = r == null ? 0.5 : r;\n        _this.type = 'radial';\n        _this.global = globalCoord || false;\n        return _this;\n    }\n    return RadialGradient;\n}(_Gradient_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadialGradient);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/RadialGradient.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js ***!
  \************************************************************************/
/*! exports provided: DEFAULT_TSPAN_STYLE, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_TSPAN_STYLE\", function() { return DEFAULT_TSPAN_STYLE; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Displayable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _contain_text_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\n\n\n\n\nvar DEFAULT_TSPAN_STYLE = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"defaults\"])({\n    strokeFirst: true,\n    font: _core_platform_js__WEBPACK_IMPORTED_MODULE_5__[\"DEFAULT_FONT\"],\n    x: 0,\n    y: 0,\n    textAlign: 'left',\n    textBaseline: 'top',\n    miterLimit: 2\n}, _Path_js__WEBPACK_IMPORTED_MODULE_3__[\"DEFAULT_PATH_STYLE\"]);\nvar TSpan = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(TSpan, _super);\n    function TSpan() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    TSpan.prototype.hasStroke = function () {\n        var style = this.style;\n        var stroke = style.stroke;\n        return stroke != null && stroke !== 'none' && style.lineWidth > 0;\n    };\n    TSpan.prototype.hasFill = function () {\n        var style = this.style;\n        var fill = style.fill;\n        return fill != null && fill !== 'none';\n    };\n    TSpan.prototype.createStyle = function (obj) {\n        return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"createObject\"])(DEFAULT_TSPAN_STYLE, obj);\n    };\n    TSpan.prototype.setBoundingRect = function (rect) {\n        this._rect = rect;\n    };\n    TSpan.prototype.getBoundingRect = function () {\n        var style = this.style;\n        if (!this._rect) {\n            var text = style.text;\n            text != null ? (text += '') : (text = '');\n            var rect = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getBoundingRect\"])(text, style.font, style.textAlign, style.textBaseline);\n            rect.x += style.x || 0;\n            rect.y += style.y || 0;\n            if (this.hasStroke()) {\n                var w = style.lineWidth;\n                rect.x -= w / 2;\n                rect.y -= w / 2;\n                rect.width += w;\n                rect.height += w;\n            }\n            this._rect = rect;\n        }\n        return this._rect;\n    };\n    TSpan.initDefaultProps = (function () {\n        var tspanProto = TSpan.prototype;\n        tspanProto.dirtyRectTolerance = 10;\n    })();\n    return TSpan;\n}(_Displayable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nTSpan.prototype.type = 'tspan';\n/* harmony default export */ __webpack_exports__[\"default\"] = (TSpan);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js":
/*!***********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js ***!
  \***********************************************************************/
/*! exports provided: DEFAULT_TEXT_ANIMATION_PROPS, parseFontSize, hasSeparateFont, normalizeTextStyle, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_TEXT_ANIMATION_PROPS\", function() { return DEFAULT_TEXT_ANIMATION_PROPS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseFontSize\", function() { return parseFontSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasSeparateFont\", function() { return hasSeparateFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeTextStyle\", function() { return normalizeTextStyle; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _helper_parseText_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper/parseText.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/parseText.js\");\n/* harmony import */ var _TSpan_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TSpan.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _contain_text_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _Image_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _shape_Rect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./shape/Rect.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _Displayable_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Displayable.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Displayable.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\n\n\n\n\n\n\n\n\nvar DEFAULT_RICH_TEXT_COLOR = {\n    fill: '#000'\n};\nvar DEFAULT_STROKE_LINE_WIDTH = 2;\nvar DEFAULT_TEXT_ANIMATION_PROPS = {\n    style: Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"defaults\"])({\n        fill: true,\n        stroke: true,\n        fillOpacity: true,\n        strokeOpacity: true,\n        lineWidth: true,\n        fontSize: true,\n        lineHeight: true,\n        width: true,\n        height: true,\n        textShadowColor: true,\n        textShadowBlur: true,\n        textShadowOffsetX: true,\n        textShadowOffsetY: true,\n        backgroundColor: true,\n        padding: true,\n        borderColor: true,\n        borderWidth: true,\n        borderRadius: true\n    }, _Displayable_js__WEBPACK_IMPORTED_MODULE_8__[\"DEFAULT_COMMON_ANIMATION_PROPS\"].style)\n};\nvar ZRText = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ZRText, _super);\n    function ZRText(opts) {\n        var _this = _super.call(this) || this;\n        _this.type = 'text';\n        _this._children = [];\n        _this._defaultStyle = DEFAULT_RICH_TEXT_COLOR;\n        _this.attr(opts);\n        return _this;\n    }\n    ZRText.prototype.childrenRef = function () {\n        return this._children;\n    };\n    ZRText.prototype.update = function () {\n        _super.prototype.update.call(this);\n        if (this.styleChanged()) {\n            this._updateSubTexts();\n        }\n        for (var i = 0; i < this._children.length; i++) {\n            var child = this._children[i];\n            child.zlevel = this.zlevel;\n            child.z = this.z;\n            child.z2 = this.z2;\n            child.culling = this.culling;\n            child.cursor = this.cursor;\n            child.invisible = this.invisible;\n        }\n    };\n    ZRText.prototype.updateTransform = function () {\n        var innerTransformable = this.innerTransformable;\n        if (innerTransformable) {\n            innerTransformable.updateTransform();\n            if (innerTransformable.transform) {\n                this.transform = innerTransformable.transform;\n            }\n        }\n        else {\n            _super.prototype.updateTransform.call(this);\n        }\n    };\n    ZRText.prototype.getLocalTransform = function (m) {\n        var innerTransformable = this.innerTransformable;\n        return innerTransformable\n            ? innerTransformable.getLocalTransform(m)\n            : _super.prototype.getLocalTransform.call(this, m);\n    };\n    ZRText.prototype.getComputedTransform = function () {\n        if (this.__hostTarget) {\n            this.__hostTarget.getComputedTransform();\n            this.__hostTarget.updateInnerText(true);\n        }\n        return _super.prototype.getComputedTransform.call(this);\n    };\n    ZRText.prototype._updateSubTexts = function () {\n        this._childCursor = 0;\n        normalizeTextStyle(this.style);\n        this.style.rich\n            ? this._updateRichTexts()\n            : this._updatePlainTexts();\n        this._children.length = this._childCursor;\n        this.styleUpdated();\n    };\n    ZRText.prototype.addSelfToZr = function (zr) {\n        _super.prototype.addSelfToZr.call(this, zr);\n        for (var i = 0; i < this._children.length; i++) {\n            this._children[i].__zr = zr;\n        }\n    };\n    ZRText.prototype.removeSelfFromZr = function (zr) {\n        _super.prototype.removeSelfFromZr.call(this, zr);\n        for (var i = 0; i < this._children.length; i++) {\n            this._children[i].__zr = null;\n        }\n    };\n    ZRText.prototype.getBoundingRect = function () {\n        if (this.styleChanged()) {\n            this._updateSubTexts();\n        }\n        if (!this._rect) {\n            var tmpRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](0, 0, 0, 0);\n            var children = this._children;\n            var tmpMat = [];\n            var rect = null;\n            for (var i = 0; i < children.length; i++) {\n                var child = children[i];\n                var childRect = child.getBoundingRect();\n                var transform = child.getLocalTransform(tmpMat);\n                if (transform) {\n                    tmpRect.copy(childRect);\n                    tmpRect.applyTransform(transform);\n                    rect = rect || tmpRect.clone();\n                    rect.union(tmpRect);\n                }\n                else {\n                    rect = rect || childRect.clone();\n                    rect.union(childRect);\n                }\n            }\n            this._rect = rect || tmpRect;\n        }\n        return this._rect;\n    };\n    ZRText.prototype.setDefaultTextStyle = function (defaultTextStyle) {\n        this._defaultStyle = defaultTextStyle || DEFAULT_RICH_TEXT_COLOR;\n    };\n    ZRText.prototype.setTextContent = function (textContent) {\n        if (true) {\n            throw new Error('Can\\'t attach text on another text');\n        }\n    };\n    ZRText.prototype._mergeStyle = function (targetStyle, sourceStyle) {\n        if (!sourceStyle) {\n            return targetStyle;\n        }\n        var sourceRich = sourceStyle.rich;\n        var targetRich = targetStyle.rich || (sourceRich && {});\n        Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])(targetStyle, sourceStyle);\n        if (sourceRich && targetRich) {\n            this._mergeRich(targetRich, sourceRich);\n            targetStyle.rich = targetRich;\n        }\n        else if (targetRich) {\n            targetStyle.rich = targetRich;\n        }\n        return targetStyle;\n    };\n    ZRText.prototype._mergeRich = function (targetRich, sourceRich) {\n        var richNames = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"keys\"])(sourceRich);\n        for (var i = 0; i < richNames.length; i++) {\n            var richName = richNames[i];\n            targetRich[richName] = targetRich[richName] || {};\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])(targetRich[richName], sourceRich[richName]);\n        }\n    };\n    ZRText.prototype.getAnimationStyleProps = function () {\n        return DEFAULT_TEXT_ANIMATION_PROPS;\n    };\n    ZRText.prototype._getOrCreateChild = function (Ctor) {\n        var child = this._children[this._childCursor];\n        if (!child || !(child instanceof Ctor)) {\n            child = new Ctor();\n        }\n        this._children[this._childCursor++] = child;\n        child.__zr = this.__zr;\n        child.parent = this;\n        return child;\n    };\n    ZRText.prototype._updatePlainTexts = function () {\n        var style = this.style;\n        var textFont = style.font || _core_platform_js__WEBPACK_IMPORTED_MODULE_9__[\"DEFAULT_FONT\"];\n        var textPadding = style.padding;\n        var text = getStyleText(style);\n        var contentBlock = Object(_helper_parseText_js__WEBPACK_IMPORTED_MODULE_1__[\"parsePlainText\"])(text, style);\n        var needDrawBg = needDrawBackground(style);\n        var bgColorDrawn = !!(style.backgroundColor);\n        var outerHeight = contentBlock.outerHeight;\n        var outerWidth = contentBlock.outerWidth;\n        var contentWidth = contentBlock.contentWidth;\n        var textLines = contentBlock.lines;\n        var lineHeight = contentBlock.lineHeight;\n        var defaultStyle = this._defaultStyle;\n        var baseX = style.x || 0;\n        var baseY = style.y || 0;\n        var textAlign = style.align || defaultStyle.align || 'left';\n        var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign || 'top';\n        var textX = baseX;\n        var textY = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextY\"])(baseY, contentBlock.contentHeight, verticalAlign);\n        if (needDrawBg || textPadding) {\n            var boxX = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextX\"])(baseX, outerWidth, textAlign);\n            var boxY = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextY\"])(baseY, outerHeight, verticalAlign);\n            needDrawBg && this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n        }\n        textY += lineHeight / 2;\n        if (textPadding) {\n            textX = getTextXForPadding(baseX, textAlign, textPadding);\n            if (verticalAlign === 'top') {\n                textY += textPadding[0];\n            }\n            else if (verticalAlign === 'bottom') {\n                textY -= textPadding[2];\n            }\n        }\n        var defaultLineWidth = 0;\n        var useDefaultFill = false;\n        var textFill = getFill('fill' in style\n            ? style.fill\n            : (useDefaultFill = true, defaultStyle.fill));\n        var textStroke = getStroke('stroke' in style\n            ? style.stroke\n            : (!bgColorDrawn\n                && (!defaultStyle.autoStroke || useDefaultFill))\n                ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke)\n                : null);\n        var hasShadow = style.textShadowBlur > 0;\n        var fixedBoundingRect = style.width != null\n            && (style.overflow === 'truncate' || style.overflow === 'break' || style.overflow === 'breakAll');\n        var calculatedLineHeight = contentBlock.calculatedLineHeight;\n        for (var i = 0; i < textLines.length; i++) {\n            var el = this._getOrCreateChild(_TSpan_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n            var subElStyle = el.createStyle();\n            el.useStyle(subElStyle);\n            subElStyle.text = textLines[i];\n            subElStyle.x = textX;\n            subElStyle.y = textY;\n            if (textAlign) {\n                subElStyle.textAlign = textAlign;\n            }\n            subElStyle.textBaseline = 'middle';\n            subElStyle.opacity = style.opacity;\n            subElStyle.strokeFirst = true;\n            if (hasShadow) {\n                subElStyle.shadowBlur = style.textShadowBlur || 0;\n                subElStyle.shadowColor = style.textShadowColor || 'transparent';\n                subElStyle.shadowOffsetX = style.textShadowOffsetX || 0;\n                subElStyle.shadowOffsetY = style.textShadowOffsetY || 0;\n            }\n            subElStyle.stroke = textStroke;\n            subElStyle.fill = textFill;\n            if (textStroke) {\n                subElStyle.lineWidth = style.lineWidth || defaultLineWidth;\n                subElStyle.lineDash = style.lineDash;\n                subElStyle.lineDashOffset = style.lineDashOffset || 0;\n            }\n            subElStyle.font = textFont;\n            setSeparateFont(subElStyle, style);\n            textY += lineHeight;\n            if (fixedBoundingRect) {\n                el.setBoundingRect(new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextX\"])(subElStyle.x, style.width, subElStyle.textAlign), Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextY\"])(subElStyle.y, calculatedLineHeight, subElStyle.textBaseline), contentWidth, calculatedLineHeight));\n            }\n        }\n    };\n    ZRText.prototype._updateRichTexts = function () {\n        var style = this.style;\n        var text = getStyleText(style);\n        var contentBlock = Object(_helper_parseText_js__WEBPACK_IMPORTED_MODULE_1__[\"parseRichText\"])(text, style);\n        var contentWidth = contentBlock.width;\n        var outerWidth = contentBlock.outerWidth;\n        var outerHeight = contentBlock.outerHeight;\n        var textPadding = style.padding;\n        var baseX = style.x || 0;\n        var baseY = style.y || 0;\n        var defaultStyle = this._defaultStyle;\n        var textAlign = style.align || defaultStyle.align;\n        var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign;\n        var boxX = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextX\"])(baseX, outerWidth, textAlign);\n        var boxY = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextY\"])(baseY, outerHeight, verticalAlign);\n        var xLeft = boxX;\n        var lineTop = boxY;\n        if (textPadding) {\n            xLeft += textPadding[3];\n            lineTop += textPadding[0];\n        }\n        var xRight = xLeft + contentWidth;\n        if (needDrawBackground(style)) {\n            this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n        }\n        var bgColorDrawn = !!(style.backgroundColor);\n        for (var i = 0; i < contentBlock.lines.length; i++) {\n            var line = contentBlock.lines[i];\n            var tokens = line.tokens;\n            var tokenCount = tokens.length;\n            var lineHeight = line.lineHeight;\n            var remainedWidth = line.width;\n            var leftIndex = 0;\n            var lineXLeft = xLeft;\n            var lineXRight = xRight;\n            var rightIndex = tokenCount - 1;\n            var token = void 0;\n            while (leftIndex < tokenCount\n                && (token = tokens[leftIndex], !token.align || token.align === 'left')) {\n                this._placeToken(token, style, lineHeight, lineTop, lineXLeft, 'left', bgColorDrawn);\n                remainedWidth -= token.width;\n                lineXLeft += token.width;\n                leftIndex++;\n            }\n            while (rightIndex >= 0\n                && (token = tokens[rightIndex], token.align === 'right')) {\n                this._placeToken(token, style, lineHeight, lineTop, lineXRight, 'right', bgColorDrawn);\n                remainedWidth -= token.width;\n                lineXRight -= token.width;\n                rightIndex--;\n            }\n            lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - remainedWidth) / 2;\n            while (leftIndex <= rightIndex) {\n                token = tokens[leftIndex];\n                this._placeToken(token, style, lineHeight, lineTop, lineXLeft + token.width / 2, 'center', bgColorDrawn);\n                lineXLeft += token.width;\n                leftIndex++;\n            }\n            lineTop += lineHeight;\n        }\n    };\n    ZRText.prototype._placeToken = function (token, style, lineHeight, lineTop, x, textAlign, parentBgColorDrawn) {\n        var tokenStyle = style.rich[token.styleName] || {};\n        tokenStyle.text = token.text;\n        var verticalAlign = token.verticalAlign;\n        var y = lineTop + lineHeight / 2;\n        if (verticalAlign === 'top') {\n            y = lineTop + token.height / 2;\n        }\n        else if (verticalAlign === 'bottom') {\n            y = lineTop + lineHeight - token.height / 2;\n        }\n        var needDrawBg = !token.isLineHolder && needDrawBackground(tokenStyle);\n        needDrawBg && this._renderBackground(tokenStyle, style, textAlign === 'right'\n            ? x - token.width\n            : textAlign === 'center'\n                ? x - token.width / 2\n                : x, y - token.height / 2, token.width, token.height);\n        var bgColorDrawn = !!tokenStyle.backgroundColor;\n        var textPadding = token.textPadding;\n        if (textPadding) {\n            x = getTextXForPadding(x, textAlign, textPadding);\n            y -= token.height / 2 - textPadding[0] - token.innerHeight / 2;\n        }\n        var el = this._getOrCreateChild(_TSpan_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n        var subElStyle = el.createStyle();\n        el.useStyle(subElStyle);\n        var defaultStyle = this._defaultStyle;\n        var useDefaultFill = false;\n        var defaultLineWidth = 0;\n        var textFill = getFill('fill' in tokenStyle ? tokenStyle.fill\n            : 'fill' in style ? style.fill\n                : (useDefaultFill = true, defaultStyle.fill));\n        var textStroke = getStroke('stroke' in tokenStyle ? tokenStyle.stroke\n            : 'stroke' in style ? style.stroke\n                : (!bgColorDrawn\n                    && !parentBgColorDrawn\n                    && (!defaultStyle.autoStroke || useDefaultFill)) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke)\n                    : null);\n        var hasShadow = tokenStyle.textShadowBlur > 0\n            || style.textShadowBlur > 0;\n        subElStyle.text = token.text;\n        subElStyle.x = x;\n        subElStyle.y = y;\n        if (hasShadow) {\n            subElStyle.shadowBlur = tokenStyle.textShadowBlur || style.textShadowBlur || 0;\n            subElStyle.shadowColor = tokenStyle.textShadowColor || style.textShadowColor || 'transparent';\n            subElStyle.shadowOffsetX = tokenStyle.textShadowOffsetX || style.textShadowOffsetX || 0;\n            subElStyle.shadowOffsetY = tokenStyle.textShadowOffsetY || style.textShadowOffsetY || 0;\n        }\n        subElStyle.textAlign = textAlign;\n        subElStyle.textBaseline = 'middle';\n        subElStyle.font = token.font || _core_platform_js__WEBPACK_IMPORTED_MODULE_9__[\"DEFAULT_FONT\"];\n        subElStyle.opacity = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve3\"])(tokenStyle.opacity, style.opacity, 1);\n        setSeparateFont(subElStyle, tokenStyle);\n        if (textStroke) {\n            subElStyle.lineWidth = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve3\"])(tokenStyle.lineWidth, style.lineWidth, defaultLineWidth);\n            subElStyle.lineDash = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(tokenStyle.lineDash, style.lineDash);\n            subElStyle.lineDashOffset = style.lineDashOffset || 0;\n            subElStyle.stroke = textStroke;\n        }\n        if (textFill) {\n            subElStyle.fill = textFill;\n        }\n        var textWidth = token.contentWidth;\n        var textHeight = token.contentHeight;\n        el.setBoundingRect(new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextX\"])(subElStyle.x, textWidth, subElStyle.textAlign), Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_4__[\"adjustTextY\"])(subElStyle.y, textHeight, subElStyle.textBaseline), textWidth, textHeight));\n    };\n    ZRText.prototype._renderBackground = function (style, topStyle, x, y, width, height) {\n        var textBackgroundColor = style.backgroundColor;\n        var textBorderWidth = style.borderWidth;\n        var textBorderColor = style.borderColor;\n        var isImageBg = textBackgroundColor && textBackgroundColor.image;\n        var isPlainOrGradientBg = textBackgroundColor && !isImageBg;\n        var textBorderRadius = style.borderRadius;\n        var self = this;\n        var rectEl;\n        var imgEl;\n        if (isPlainOrGradientBg || style.lineHeight || (textBorderWidth && textBorderColor)) {\n            rectEl = this._getOrCreateChild(_shape_Rect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n            rectEl.useStyle(rectEl.createStyle());\n            rectEl.style.fill = null;\n            var rectShape = rectEl.shape;\n            rectShape.x = x;\n            rectShape.y = y;\n            rectShape.width = width;\n            rectShape.height = height;\n            rectShape.r = textBorderRadius;\n            rectEl.dirtyShape();\n        }\n        if (isPlainOrGradientBg) {\n            var rectStyle = rectEl.style;\n            rectStyle.fill = textBackgroundColor || null;\n            rectStyle.fillOpacity = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(style.fillOpacity, 1);\n        }\n        else if (isImageBg) {\n            imgEl = this._getOrCreateChild(_Image_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n            imgEl.onload = function () {\n                self.dirtyStyle();\n            };\n            var imgStyle = imgEl.style;\n            imgStyle.image = textBackgroundColor.image;\n            imgStyle.x = x;\n            imgStyle.y = y;\n            imgStyle.width = width;\n            imgStyle.height = height;\n        }\n        if (textBorderWidth && textBorderColor) {\n            var rectStyle = rectEl.style;\n            rectStyle.lineWidth = textBorderWidth;\n            rectStyle.stroke = textBorderColor;\n            rectStyle.strokeOpacity = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(style.strokeOpacity, 1);\n            rectStyle.lineDash = style.borderDash;\n            rectStyle.lineDashOffset = style.borderDashOffset || 0;\n            rectEl.strokeContainThreshold = 0;\n            if (rectEl.hasFill() && rectEl.hasStroke()) {\n                rectStyle.strokeFirst = true;\n                rectStyle.lineWidth *= 2;\n            }\n        }\n        var commonStyle = (rectEl || imgEl).style;\n        commonStyle.shadowBlur = style.shadowBlur || 0;\n        commonStyle.shadowColor = style.shadowColor || 'transparent';\n        commonStyle.shadowOffsetX = style.shadowOffsetX || 0;\n        commonStyle.shadowOffsetY = style.shadowOffsetY || 0;\n        commonStyle.opacity = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve3\"])(style.opacity, topStyle.opacity, 1);\n    };\n    ZRText.makeFont = function (style) {\n        var font = '';\n        if (hasSeparateFont(style)) {\n            font = [\n                style.fontStyle,\n                style.fontWeight,\n                parseFontSize(style.fontSize),\n                style.fontFamily || 'sans-serif'\n            ].join(' ');\n        }\n        return font && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"trim\"])(font) || style.textFont || style.font;\n    };\n    return ZRText;\n}(_Displayable_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]));\nvar VALID_TEXT_ALIGN = { left: true, right: 1, center: 1 };\nvar VALID_TEXT_VERTICAL_ALIGN = { top: 1, bottom: 1, middle: 1 };\nvar FONT_PARTS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily'];\nfunction parseFontSize(fontSize) {\n    if (typeof fontSize === 'string'\n        && (fontSize.indexOf('px') !== -1\n            || fontSize.indexOf('rem') !== -1\n            || fontSize.indexOf('em') !== -1)) {\n        return fontSize;\n    }\n    else if (!isNaN(+fontSize)) {\n        return fontSize + 'px';\n    }\n    else {\n        return _core_platform_js__WEBPACK_IMPORTED_MODULE_9__[\"DEFAULT_FONT_SIZE\"] + 'px';\n    }\n}\nfunction setSeparateFont(targetStyle, sourceStyle) {\n    for (var i = 0; i < FONT_PARTS.length; i++) {\n        var fontProp = FONT_PARTS[i];\n        var val = sourceStyle[fontProp];\n        if (val != null) {\n            targetStyle[fontProp] = val;\n        }\n    }\n}\nfunction hasSeparateFont(style) {\n    return style.fontSize != null || style.fontFamily || style.fontWeight;\n}\nfunction normalizeTextStyle(style) {\n    normalizeStyle(style);\n    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"each\"])(style.rich, normalizeStyle);\n    return style;\n}\nfunction normalizeStyle(style) {\n    if (style) {\n        style.font = ZRText.makeFont(style);\n        var textAlign = style.align;\n        textAlign === 'middle' && (textAlign = 'center');\n        style.align = (textAlign == null || VALID_TEXT_ALIGN[textAlign]) ? textAlign : 'left';\n        var verticalAlign = style.verticalAlign;\n        verticalAlign === 'center' && (verticalAlign = 'middle');\n        style.verticalAlign = (verticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[verticalAlign]) ? verticalAlign : 'top';\n        var textPadding = style.padding;\n        if (textPadding) {\n            style.padding = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"normalizeCssArray\"])(style.padding);\n        }\n    }\n}\nfunction getStroke(stroke, lineWidth) {\n    return (stroke == null || lineWidth <= 0 || stroke === 'transparent' || stroke === 'none')\n        ? null\n        : (stroke.image || stroke.colorStops)\n            ? '#000'\n            : stroke;\n}\nfunction getFill(fill) {\n    return (fill == null || fill === 'none')\n        ? null\n        : (fill.image || fill.colorStops)\n            ? '#000'\n            : fill;\n}\nfunction getTextXForPadding(x, textAlign, textPadding) {\n    return textAlign === 'right'\n        ? (x - textPadding[1])\n        : textAlign === 'center'\n            ? (x + textPadding[3] / 2 - textPadding[1] / 2)\n            : (x + textPadding[3]);\n}\nfunction getStyleText(style) {\n    var text = style.text;\n    text != null && (text += '');\n    return text;\n}\nfunction needDrawBackground(style) {\n    return !!(style.backgroundColor\n        || style.lineHeight\n        || (style.borderWidth && style.borderColor));\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (ZRText);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js ***!
  \****************************************************************************/
/*! exports provided: REDRAW_BIT, STYLE_CHANGED_BIT, SHAPE_CHANGED_BIT */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"REDRAW_BIT\", function() { return REDRAW_BIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"STYLE_CHANGED_BIT\", function() { return STYLE_CHANGED_BIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHAPE_CHANGED_BIT\", function() { return SHAPE_CHANGED_BIT; });\nvar REDRAW_BIT = 1;\nvar STYLE_CHANGED_BIT = 2;\nvar SHAPE_CHANGED_BIT = 4;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/constants.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/image.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/image.js ***!
  \*******************************************************************************/
/*! exports provided: findExistImage, createOrUpdateImage, isImageReady */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findExistImage\", function() { return findExistImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createOrUpdateImage\", function() { return createOrUpdateImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isImageReady\", function() { return isImageReady; });\n/* harmony import */ var _core_LRU_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/LRU.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/LRU.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\nvar globalImageCache = new _core_LRU_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](50);\nfunction findExistImage(newImageOrSrc) {\n    if (typeof newImageOrSrc === 'string') {\n        var cachedImgObj = globalImageCache.get(newImageOrSrc);\n        return cachedImgObj && cachedImgObj.image;\n    }\n    else {\n        return newImageOrSrc;\n    }\n}\nfunction createOrUpdateImage(newImageOrSrc, image, hostEl, onload, cbPayload) {\n    if (!newImageOrSrc) {\n        return image;\n    }\n    else if (typeof newImageOrSrc === 'string') {\n        if ((image && image.__zrImageSrc === newImageOrSrc) || !hostEl) {\n            return image;\n        }\n        var cachedImgObj = globalImageCache.get(newImageOrSrc);\n        var pendingWrap = { hostEl: hostEl, cb: onload, cbPayload: cbPayload };\n        if (cachedImgObj) {\n            image = cachedImgObj.image;\n            !isImageReady(image) && cachedImgObj.pending.push(pendingWrap);\n        }\n        else {\n            image = _core_platform_js__WEBPACK_IMPORTED_MODULE_1__[\"platformApi\"].loadImage(newImageOrSrc, imageOnLoad, imageOnLoad);\n            image.__zrImageSrc = newImageOrSrc;\n            globalImageCache.put(newImageOrSrc, image.__cachedImgObj = {\n                image: image,\n                pending: [pendingWrap]\n            });\n        }\n        return image;\n    }\n    else {\n        return newImageOrSrc;\n    }\n}\nfunction imageOnLoad() {\n    var cachedImgObj = this.__cachedImgObj;\n    this.onload = this.onerror = this.__cachedImgObj = null;\n    for (var i = 0; i < cachedImgObj.pending.length; i++) {\n        var pendingWrap = cachedImgObj.pending[i];\n        var cb = pendingWrap.cb;\n        cb && cb(this, pendingWrap.cbPayload);\n        pendingWrap.hostEl.dirty();\n    }\n    cachedImgObj.pending.length = 0;\n}\nfunction isImageReady(image) {\n    return image && image.width && image.height;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/image.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/parseText.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/parseText.js ***!
  \***********************************************************************************/
/*! exports provided: truncateText, parsePlainText, RichTextContentBlock, parseRichText */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"truncateText\", function() { return truncateText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parsePlainText\", function() { return parsePlainText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RichTextContentBlock\", function() { return RichTextContentBlock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseRichText\", function() { return parseRichText; });\n/* harmony import */ var _helper_image_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helper/image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/image.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _contain_text_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n\n\n\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nfunction truncateText(text, containerWidth, font, ellipsis, options) {\n    if (!containerWidth) {\n        return '';\n    }\n    var textLines = (text + '').split('\\n');\n    options = prepareTruncateOptions(containerWidth, font, ellipsis, options);\n    for (var i = 0, len = textLines.length; i < len; i++) {\n        textLines[i] = truncateSingleLine(textLines[i], options);\n    }\n    return textLines.join('\\n');\n}\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n    options = options || {};\n    var preparedOpts = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"extend\"])({}, options);\n    preparedOpts.font = font;\n    ellipsis = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(ellipsis, '...');\n    preparedOpts.maxIterations = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(options.maxIterations, 2);\n    var minChar = preparedOpts.minChar = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(options.minChar, 0);\n    preparedOpts.cnCharWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])('国', font);\n    var ascCharWidth = preparedOpts.ascCharWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])('a', font);\n    preparedOpts.placeholder = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(options.placeholder, '');\n    var contentWidth = containerWidth = Math.max(0, containerWidth - 1);\n    for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n        contentWidth -= ascCharWidth;\n    }\n    var ellipsisWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(ellipsis, font);\n    if (ellipsisWidth > contentWidth) {\n        ellipsis = '';\n        ellipsisWidth = 0;\n    }\n    contentWidth = containerWidth - ellipsisWidth;\n    preparedOpts.ellipsis = ellipsis;\n    preparedOpts.ellipsisWidth = ellipsisWidth;\n    preparedOpts.contentWidth = contentWidth;\n    preparedOpts.containerWidth = containerWidth;\n    return preparedOpts;\n}\nfunction truncateSingleLine(textLine, options) {\n    var containerWidth = options.containerWidth;\n    var font = options.font;\n    var contentWidth = options.contentWidth;\n    if (!containerWidth) {\n        return '';\n    }\n    var lineWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(textLine, font);\n    if (lineWidth <= containerWidth) {\n        return textLine;\n    }\n    for (var j = 0;; j++) {\n        if (lineWidth <= contentWidth || j >= options.maxIterations) {\n            textLine += options.ellipsis;\n            break;\n        }\n        var subLength = j === 0\n            ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth)\n            : lineWidth > 0\n                ? Math.floor(textLine.length * contentWidth / lineWidth)\n                : 0;\n        textLine = textLine.substr(0, subLength);\n        lineWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(textLine, font);\n    }\n    if (textLine === '') {\n        textLine = options.placeholder;\n    }\n    return textLine;\n}\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n    var width = 0;\n    var i = 0;\n    for (var len = text.length; i < len && width < contentWidth; i++) {\n        var charCode = text.charCodeAt(i);\n        width += (0 <= charCode && charCode <= 127) ? ascCharWidth : cnCharWidth;\n    }\n    return i;\n}\nfunction parsePlainText(text, style) {\n    text != null && (text += '');\n    var overflow = style.overflow;\n    var padding = style.padding;\n    var font = style.font;\n    var truncate = overflow === 'truncate';\n    var calculatedLineHeight = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getLineHeight\"])(font);\n    var lineHeight = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(style.lineHeight, calculatedLineHeight);\n    var bgColorDrawn = !!(style.backgroundColor);\n    var truncateLineOverflow = style.lineOverflow === 'truncate';\n    var width = style.width;\n    var lines;\n    if (width != null && (overflow === 'break' || overflow === 'breakAll')) {\n        lines = text ? wrapText(text, style.font, width, overflow === 'breakAll', 0).lines : [];\n    }\n    else {\n        lines = text ? text.split('\\n') : [];\n    }\n    var contentHeight = lines.length * lineHeight;\n    var height = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(style.height, contentHeight);\n    if (contentHeight > height && truncateLineOverflow) {\n        var lineCount = Math.floor(height / lineHeight);\n        lines = lines.slice(0, lineCount);\n    }\n    if (text && truncate && width != null) {\n        var options = prepareTruncateOptions(width, font, style.ellipsis, {\n            minChar: style.truncateMinChar,\n            placeholder: style.placeholder\n        });\n        for (var i = 0; i < lines.length; i++) {\n            lines[i] = truncateSingleLine(lines[i], options);\n        }\n    }\n    var outerHeight = height;\n    var contentWidth = 0;\n    for (var i = 0; i < lines.length; i++) {\n        contentWidth = Math.max(Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(lines[i], font), contentWidth);\n    }\n    if (width == null) {\n        width = contentWidth;\n    }\n    var outerWidth = contentWidth;\n    if (padding) {\n        outerHeight += padding[0] + padding[2];\n        outerWidth += padding[1] + padding[3];\n        width += padding[1] + padding[3];\n    }\n    if (bgColorDrawn) {\n        outerWidth = width;\n    }\n    return {\n        lines: lines,\n        height: height,\n        outerWidth: outerWidth,\n        outerHeight: outerHeight,\n        lineHeight: lineHeight,\n        calculatedLineHeight: calculatedLineHeight,\n        contentWidth: contentWidth,\n        contentHeight: contentHeight,\n        width: width\n    };\n}\nvar RichTextToken = (function () {\n    function RichTextToken() {\n    }\n    return RichTextToken;\n}());\nvar RichTextLine = (function () {\n    function RichTextLine(tokens) {\n        this.tokens = [];\n        if (tokens) {\n            this.tokens = tokens;\n        }\n    }\n    return RichTextLine;\n}());\nvar RichTextContentBlock = (function () {\n    function RichTextContentBlock() {\n        this.width = 0;\n        this.height = 0;\n        this.contentWidth = 0;\n        this.contentHeight = 0;\n        this.outerWidth = 0;\n        this.outerHeight = 0;\n        this.lines = [];\n    }\n    return RichTextContentBlock;\n}());\n\nfunction parseRichText(text, style) {\n    var contentBlock = new RichTextContentBlock();\n    text != null && (text += '');\n    if (!text) {\n        return contentBlock;\n    }\n    var topWidth = style.width;\n    var topHeight = style.height;\n    var overflow = style.overflow;\n    var wrapInfo = (overflow === 'break' || overflow === 'breakAll') && topWidth != null\n        ? { width: topWidth, accumWidth: 0, breakAll: overflow === 'breakAll' }\n        : null;\n    var lastIndex = STYLE_REG.lastIndex = 0;\n    var result;\n    while ((result = STYLE_REG.exec(text)) != null) {\n        var matchedIndex = result.index;\n        if (matchedIndex > lastIndex) {\n            pushTokens(contentBlock, text.substring(lastIndex, matchedIndex), style, wrapInfo);\n        }\n        pushTokens(contentBlock, result[2], style, wrapInfo, result[1]);\n        lastIndex = STYLE_REG.lastIndex;\n    }\n    if (lastIndex < text.length) {\n        pushTokens(contentBlock, text.substring(lastIndex, text.length), style, wrapInfo);\n    }\n    var pendingList = [];\n    var calculatedHeight = 0;\n    var calculatedWidth = 0;\n    var stlPadding = style.padding;\n    var truncate = overflow === 'truncate';\n    var truncateLine = style.lineOverflow === 'truncate';\n    function finishLine(line, lineWidth, lineHeight) {\n        line.width = lineWidth;\n        line.lineHeight = lineHeight;\n        calculatedHeight += lineHeight;\n        calculatedWidth = Math.max(calculatedWidth, lineWidth);\n    }\n    outer: for (var i = 0; i < contentBlock.lines.length; i++) {\n        var line = contentBlock.lines[i];\n        var lineHeight = 0;\n        var lineWidth = 0;\n        for (var j = 0; j < line.tokens.length; j++) {\n            var token = line.tokens[j];\n            var tokenStyle = token.styleName && style.rich[token.styleName] || {};\n            var textPadding = token.textPadding = tokenStyle.padding;\n            var paddingH = textPadding ? textPadding[1] + textPadding[3] : 0;\n            var font = token.font = tokenStyle.font || style.font;\n            token.contentHeight = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getLineHeight\"])(font);\n            var tokenHeight = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(tokenStyle.height, token.contentHeight);\n            token.innerHeight = tokenHeight;\n            textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n            token.height = tokenHeight;\n            token.lineHeight = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve3\"])(tokenStyle.lineHeight, style.lineHeight, tokenHeight);\n            token.align = tokenStyle && tokenStyle.align || style.align;\n            token.verticalAlign = tokenStyle && tokenStyle.verticalAlign || 'middle';\n            if (truncateLine && topHeight != null && calculatedHeight + token.lineHeight > topHeight) {\n                if (j > 0) {\n                    line.tokens = line.tokens.slice(0, j);\n                    finishLine(line, lineWidth, lineHeight);\n                    contentBlock.lines = contentBlock.lines.slice(0, i + 1);\n                }\n                else {\n                    contentBlock.lines = contentBlock.lines.slice(0, i);\n                }\n                break outer;\n            }\n            var styleTokenWidth = tokenStyle.width;\n            var tokenWidthNotSpecified = styleTokenWidth == null || styleTokenWidth === 'auto';\n            if (typeof styleTokenWidth === 'string' && styleTokenWidth.charAt(styleTokenWidth.length - 1) === '%') {\n                token.percentWidth = styleTokenWidth;\n                pendingList.push(token);\n                token.contentWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(token.text, font);\n            }\n            else {\n                if (tokenWidthNotSpecified) {\n                    var textBackgroundColor = tokenStyle.backgroundColor;\n                    var bgImg = textBackgroundColor && textBackgroundColor.image;\n                    if (bgImg) {\n                        bgImg = _helper_image_js__WEBPACK_IMPORTED_MODULE_0__[\"findExistImage\"](bgImg);\n                        if (_helper_image_js__WEBPACK_IMPORTED_MODULE_0__[\"isImageReady\"](bgImg)) {\n                            token.width = Math.max(token.width, bgImg.width * tokenHeight / bgImg.height);\n                        }\n                    }\n                }\n                var remainTruncWidth = truncate && topWidth != null\n                    ? topWidth - lineWidth : null;\n                if (remainTruncWidth != null && remainTruncWidth < token.width) {\n                    if (!tokenWidthNotSpecified || remainTruncWidth < paddingH) {\n                        token.text = '';\n                        token.width = token.contentWidth = 0;\n                    }\n                    else {\n                        token.text = truncateText(token.text, remainTruncWidth - paddingH, font, style.ellipsis, { minChar: style.truncateMinChar });\n                        token.width = token.contentWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(token.text, font);\n                    }\n                }\n                else {\n                    token.contentWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(token.text, font);\n                }\n            }\n            token.width += paddingH;\n            lineWidth += token.width;\n            tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n        }\n        finishLine(line, lineWidth, lineHeight);\n    }\n    contentBlock.outerWidth = contentBlock.width = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(topWidth, calculatedWidth);\n    contentBlock.outerHeight = contentBlock.height = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"])(topHeight, calculatedHeight);\n    contentBlock.contentHeight = calculatedHeight;\n    contentBlock.contentWidth = calculatedWidth;\n    if (stlPadding) {\n        contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n        contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n    }\n    for (var i = 0; i < pendingList.length; i++) {\n        var token = pendingList[i];\n        var percentWidth = token.percentWidth;\n        token.width = parseInt(percentWidth, 10) / 100 * contentBlock.width;\n    }\n    return contentBlock;\n}\nfunction pushTokens(block, str, style, wrapInfo, styleName) {\n    var isEmptyStr = str === '';\n    var tokenStyle = styleName && style.rich[styleName] || {};\n    var lines = block.lines;\n    var font = tokenStyle.font || style.font;\n    var newLine = false;\n    var strLines;\n    var linesWidths;\n    if (wrapInfo) {\n        var tokenPadding = tokenStyle.padding;\n        var tokenPaddingH = tokenPadding ? tokenPadding[1] + tokenPadding[3] : 0;\n        if (tokenStyle.width != null && tokenStyle.width !== 'auto') {\n            var outerWidth_1 = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"parsePercent\"])(tokenStyle.width, wrapInfo.width) + tokenPaddingH;\n            if (lines.length > 0) {\n                if (outerWidth_1 + wrapInfo.accumWidth > wrapInfo.width) {\n                    strLines = str.split('\\n');\n                    newLine = true;\n                }\n            }\n            wrapInfo.accumWidth = outerWidth_1;\n        }\n        else {\n            var res = wrapText(str, font, wrapInfo.width, wrapInfo.breakAll, wrapInfo.accumWidth);\n            wrapInfo.accumWidth = res.accumWidth + tokenPaddingH;\n            linesWidths = res.linesWidths;\n            strLines = res.lines;\n        }\n    }\n    else {\n        strLines = str.split('\\n');\n    }\n    for (var i = 0; i < strLines.length; i++) {\n        var text = strLines[i];\n        var token = new RichTextToken();\n        token.styleName = styleName;\n        token.text = text;\n        token.isLineHolder = !text && !isEmptyStr;\n        if (typeof tokenStyle.width === 'number') {\n            token.width = tokenStyle.width;\n        }\n        else {\n            token.width = linesWidths\n                ? linesWidths[i]\n                : Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(text, font);\n        }\n        if (!i && !newLine) {\n            var tokens = (lines[lines.length - 1] || (lines[0] = new RichTextLine())).tokens;\n            var tokensLen = tokens.length;\n            (tokensLen === 1 && tokens[0].isLineHolder)\n                ? (tokens[0] = token)\n                : ((text || !tokensLen || isEmptyStr) && tokens.push(token));\n        }\n        else {\n            lines.push(new RichTextLine([token]));\n        }\n    }\n}\nfunction isLatin(ch) {\n    var code = ch.charCodeAt(0);\n    return code >= 0x21 && code <= 0x17F;\n}\nvar breakCharMap = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"reduce\"])(',&?/;] '.split(''), function (obj, ch) {\n    obj[ch] = true;\n    return obj;\n}, {});\nfunction isWordBreakChar(ch) {\n    if (isLatin(ch)) {\n        if (breakCharMap[ch]) {\n            return true;\n        }\n        return false;\n    }\n    return true;\n}\nfunction wrapText(text, font, lineWidth, isBreakAll, lastAccumWidth) {\n    var lines = [];\n    var linesWidths = [];\n    var line = '';\n    var currentWord = '';\n    var currentWordWidth = 0;\n    var accumWidth = 0;\n    for (var i = 0; i < text.length; i++) {\n        var ch = text.charAt(i);\n        if (ch === '\\n') {\n            if (currentWord) {\n                line += currentWord;\n                accumWidth += currentWordWidth;\n            }\n            lines.push(line);\n            linesWidths.push(accumWidth);\n            line = '';\n            currentWord = '';\n            currentWordWidth = 0;\n            accumWidth = 0;\n            continue;\n        }\n        var chWidth = Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_2__[\"getWidth\"])(ch, font);\n        var inWord = isBreakAll ? false : !isWordBreakChar(ch);\n        if (!lines.length\n            ? lastAccumWidth + accumWidth + chWidth > lineWidth\n            : accumWidth + chWidth > lineWidth) {\n            if (!accumWidth) {\n                if (inWord) {\n                    lines.push(currentWord);\n                    linesWidths.push(currentWordWidth);\n                    currentWord = ch;\n                    currentWordWidth = chWidth;\n                }\n                else {\n                    lines.push(ch);\n                    linesWidths.push(chWidth);\n                }\n            }\n            else if (line || currentWord) {\n                if (inWord) {\n                    if (!line) {\n                        line = currentWord;\n                        currentWord = '';\n                        currentWordWidth = 0;\n                        accumWidth = currentWordWidth;\n                    }\n                    lines.push(line);\n                    linesWidths.push(accumWidth - currentWordWidth);\n                    currentWord += ch;\n                    currentWordWidth += chWidth;\n                    line = '';\n                    accumWidth = currentWordWidth;\n                }\n                else {\n                    if (currentWord) {\n                        line += currentWord;\n                        currentWord = '';\n                        currentWordWidth = 0;\n                    }\n                    lines.push(line);\n                    linesWidths.push(accumWidth);\n                    line = ch;\n                    accumWidth = chWidth;\n                }\n            }\n            continue;\n        }\n        accumWidth += chWidth;\n        if (inWord) {\n            currentWord += ch;\n            currentWordWidth += chWidth;\n        }\n        else {\n            if (currentWord) {\n                line += currentWord;\n                currentWord = '';\n                currentWordWidth = 0;\n            }\n            line += ch;\n        }\n    }\n    if (!lines.length && !line) {\n        line = text;\n        currentWord = '';\n        currentWordWidth = 0;\n    }\n    if (currentWord) {\n        line += currentWord;\n    }\n    if (line) {\n        lines.push(line);\n        linesWidths.push(accumWidth);\n    }\n    if (lines.length === 1) {\n        accumWidth += lastAccumWidth;\n    }\n    return {\n        accumWidth: accumWidth,\n        lines: lines,\n        linesWidths: linesWidths\n    };\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/parseText.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/poly.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/poly.js ***!
  \******************************************************************************/
/*! exports provided: buildPath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildPath\", function() { return buildPath; });\n/* harmony import */ var _smoothBezier_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./smoothBezier.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/smoothBezier.js\");\n\nfunction buildPath(ctx, shape, closePath) {\n    var smooth = shape.smooth;\n    var points = shape.points;\n    if (points && points.length >= 2) {\n        if (smooth) {\n            var controlPoints = Object(_smoothBezier_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(points, smooth, closePath, shape.smoothConstraint);\n            ctx.moveTo(points[0][0], points[0][1]);\n            var len = points.length;\n            for (var i = 0; i < (closePath ? len : len - 1); i++) {\n                var cp1 = controlPoints[i * 2];\n                var cp2 = controlPoints[i * 2 + 1];\n                var p = points[(i + 1) % len];\n                ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]);\n            }\n        }\n        else {\n            ctx.moveTo(points[0][0], points[0][1]);\n            for (var i = 1, l = points.length; i < l; i++) {\n                ctx.lineTo(points[i][0], points[i][1]);\n            }\n        }\n        closePath && ctx.closePath();\n    }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/poly.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundRect.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundRect.js ***!
  \***********************************************************************************/
/*! exports provided: buildPath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildPath\", function() { return buildPath; });\nfunction buildPath(ctx, shape) {\n    var x = shape.x;\n    var y = shape.y;\n    var width = shape.width;\n    var height = shape.height;\n    var r = shape.r;\n    var r1;\n    var r2;\n    var r3;\n    var r4;\n    if (width < 0) {\n        x = x + width;\n        width = -width;\n    }\n    if (height < 0) {\n        y = y + height;\n        height = -height;\n    }\n    if (typeof r === 'number') {\n        r1 = r2 = r3 = r4 = r;\n    }\n    else if (r instanceof Array) {\n        if (r.length === 1) {\n            r1 = r2 = r3 = r4 = r[0];\n        }\n        else if (r.length === 2) {\n            r1 = r3 = r[0];\n            r2 = r4 = r[1];\n        }\n        else if (r.length === 3) {\n            r1 = r[0];\n            r2 = r4 = r[1];\n            r3 = r[2];\n        }\n        else {\n            r1 = r[0];\n            r2 = r[1];\n            r3 = r[2];\n            r4 = r[3];\n        }\n    }\n    else {\n        r1 = r2 = r3 = r4 = 0;\n    }\n    var total;\n    if (r1 + r2 > width) {\n        total = r1 + r2;\n        r1 *= width / total;\n        r2 *= width / total;\n    }\n    if (r3 + r4 > width) {\n        total = r3 + r4;\n        r3 *= width / total;\n        r4 *= width / total;\n    }\n    if (r2 + r3 > height) {\n        total = r2 + r3;\n        r2 *= height / total;\n        r3 *= height / total;\n    }\n    if (r1 + r4 > height) {\n        total = r1 + r4;\n        r1 *= height / total;\n        r4 *= height / total;\n    }\n    ctx.moveTo(x + r1, y);\n    ctx.lineTo(x + width - r2, y);\n    r2 !== 0 && ctx.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);\n    ctx.lineTo(x + width, y + height - r3);\n    r3 !== 0 && ctx.arc(x + width - r3, y + height - r3, r3, 0, Math.PI / 2);\n    ctx.lineTo(x + r4, y + height);\n    r4 !== 0 && ctx.arc(x + r4, y + height - r4, r4, Math.PI / 2, Math.PI);\n    ctx.lineTo(x, y + r1);\n    r1 !== 0 && ctx.arc(x + r1, y + r1, r1, Math.PI, Math.PI * 1.5);\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundRect.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundSector.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundSector.js ***!
  \*************************************************************************************/
/*! exports provided: buildPath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildPath\", function() { return buildPath; });\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\nvar PI = Math.PI;\nvar PI2 = PI * 2;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar mathACos = Math.acos;\nvar mathATan2 = Math.atan2;\nvar mathAbs = Math.abs;\nvar mathSqrt = Math.sqrt;\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar e = 1e-4;\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n    var dx10 = x1 - x0;\n    var dy10 = y1 - y0;\n    var dx32 = x3 - x2;\n    var dy32 = y3 - y2;\n    var t = dy32 * dx10 - dx32 * dy10;\n    if (t * t < e) {\n        return;\n    }\n    t = (dx32 * (y0 - y2) - dy32 * (x0 - x2)) / t;\n    return [x0 + t * dx10, y0 + t * dy10];\n}\nfunction computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) {\n    var x01 = x0 - x1;\n    var y01 = y0 - y1;\n    var lo = (clockwise ? cr : -cr) / mathSqrt(x01 * x01 + y01 * y01);\n    var ox = lo * y01;\n    var oy = -lo * x01;\n    var x11 = x0 + ox;\n    var y11 = y0 + oy;\n    var x10 = x1 + ox;\n    var y10 = y1 + oy;\n    var x00 = (x11 + x10) / 2;\n    var y00 = (y11 + y10) / 2;\n    var dx = x10 - x11;\n    var dy = y10 - y11;\n    var d2 = dx * dx + dy * dy;\n    var r = radius - cr;\n    var s = x11 * y10 - x10 * y11;\n    var d = (dy < 0 ? -1 : 1) * mathSqrt(mathMax(0, r * r * d2 - s * s));\n    var cx0 = (s * dy - dx * d) / d2;\n    var cy0 = (-s * dx - dy * d) / d2;\n    var cx1 = (s * dy + dx * d) / d2;\n    var cy1 = (-s * dx + dy * d) / d2;\n    var dx0 = cx0 - x00;\n    var dy0 = cy0 - y00;\n    var dx1 = cx1 - x00;\n    var dy1 = cy1 - y00;\n    if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) {\n        cx0 = cx1;\n        cy0 = cy1;\n    }\n    return {\n        cx: cx0,\n        cy: cy0,\n        x0: -ox,\n        y0: -oy,\n        x1: cx0 * (radius / r - 1),\n        y1: cy0 * (radius / r - 1)\n    };\n}\nfunction normalizeCornerRadius(cr) {\n    var arr;\n    if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(cr)) {\n        var len = cr.length;\n        if (!len) {\n            return cr;\n        }\n        if (len === 1) {\n            arr = [cr[0], cr[0], 0, 0];\n        }\n        else if (len === 2) {\n            arr = [cr[0], cr[0], cr[1], cr[1]];\n        }\n        else if (len === 3) {\n            arr = cr.concat(cr[2]);\n        }\n        else {\n            arr = cr;\n        }\n    }\n    else {\n        arr = [cr, cr, cr, cr];\n    }\n    return arr;\n}\nfunction buildPath(ctx, shape) {\n    var _a;\n    var radius = mathMax(shape.r, 0);\n    var innerRadius = mathMax(shape.r0 || 0, 0);\n    var hasRadius = radius > 0;\n    var hasInnerRadius = innerRadius > 0;\n    if (!hasRadius && !hasInnerRadius) {\n        return;\n    }\n    if (!hasRadius) {\n        radius = innerRadius;\n        innerRadius = 0;\n    }\n    if (innerRadius > radius) {\n        var tmp = radius;\n        radius = innerRadius;\n        innerRadius = tmp;\n    }\n    var startAngle = shape.startAngle, endAngle = shape.endAngle;\n    if (isNaN(startAngle) || isNaN(endAngle)) {\n        return;\n    }\n    var cx = shape.cx, cy = shape.cy;\n    var clockwise = !!shape.clockwise;\n    var arc = mathAbs(endAngle - startAngle);\n    var mod = arc > PI2 && arc % PI2;\n    mod > e && (arc = mod);\n    if (!(radius > e)) {\n        ctx.moveTo(cx, cy);\n    }\n    else if (arc > PI2 - e) {\n        ctx.moveTo(cx + radius * mathCos(startAngle), cy + radius * mathSin(startAngle));\n        ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);\n        if (innerRadius > e) {\n            ctx.moveTo(cx + innerRadius * mathCos(endAngle), cy + innerRadius * mathSin(endAngle));\n            ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);\n        }\n    }\n    else {\n        var icrStart = void 0;\n        var icrEnd = void 0;\n        var ocrStart = void 0;\n        var ocrEnd = void 0;\n        var ocrs = void 0;\n        var ocre = void 0;\n        var icrs = void 0;\n        var icre = void 0;\n        var ocrMax = void 0;\n        var icrMax = void 0;\n        var limitedOcrMax = void 0;\n        var limitedIcrMax = void 0;\n        var xre = void 0;\n        var yre = void 0;\n        var xirs = void 0;\n        var yirs = void 0;\n        var xrs = radius * mathCos(startAngle);\n        var yrs = radius * mathSin(startAngle);\n        var xire = innerRadius * mathCos(endAngle);\n        var yire = innerRadius * mathSin(endAngle);\n        var hasArc = arc > e;\n        if (hasArc) {\n            var cornerRadius = shape.cornerRadius;\n            if (cornerRadius) {\n                _a = normalizeCornerRadius(cornerRadius), icrStart = _a[0], icrEnd = _a[1], ocrStart = _a[2], ocrEnd = _a[3];\n            }\n            var halfRd = mathAbs(radius - innerRadius) / 2;\n            ocrs = mathMin(halfRd, ocrStart);\n            ocre = mathMin(halfRd, ocrEnd);\n            icrs = mathMin(halfRd, icrStart);\n            icre = mathMin(halfRd, icrEnd);\n            limitedOcrMax = ocrMax = mathMax(ocrs, ocre);\n            limitedIcrMax = icrMax = mathMax(icrs, icre);\n            if (ocrMax > e || icrMax > e) {\n                xre = radius * mathCos(endAngle);\n                yre = radius * mathSin(endAngle);\n                xirs = innerRadius * mathCos(startAngle);\n                yirs = innerRadius * mathSin(startAngle);\n                if (arc < PI) {\n                    var it_1 = intersect(xrs, yrs, xirs, yirs, xre, yre, xire, yire);\n                    if (it_1) {\n                        var x0 = xrs - it_1[0];\n                        var y0 = yrs - it_1[1];\n                        var x1 = xre - it_1[0];\n                        var y1 = yre - it_1[1];\n                        var a = 1 / mathSin(mathACos((x0 * x1 + y0 * y1) / (mathSqrt(x0 * x0 + y0 * y0) * mathSqrt(x1 * x1 + y1 * y1))) / 2);\n                        var b = mathSqrt(it_1[0] * it_1[0] + it_1[1] * it_1[1]);\n                        limitedOcrMax = mathMin(ocrMax, (radius - b) / (a + 1));\n                        limitedIcrMax = mathMin(icrMax, (innerRadius - b) / (a - 1));\n                    }\n                }\n            }\n        }\n        if (!hasArc) {\n            ctx.moveTo(cx + xrs, cy + yrs);\n        }\n        else if (limitedOcrMax > e) {\n            var crStart = mathMin(ocrStart, limitedOcrMax);\n            var crEnd = mathMin(ocrEnd, limitedOcrMax);\n            var ct0 = computeCornerTangents(xirs, yirs, xrs, yrs, radius, crStart, clockwise);\n            var ct1 = computeCornerTangents(xre, yre, xire, yire, radius, crEnd, clockwise);\n            ctx.moveTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);\n            if (limitedOcrMax < ocrMax && crStart === crEnd) {\n                ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedOcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);\n            }\n            else {\n                crStart > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crStart, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);\n                ctx.arc(cx, cy, radius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), !clockwise);\n                crEnd > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crEnd, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);\n            }\n        }\n        else {\n            ctx.moveTo(cx + xrs, cy + yrs);\n            ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);\n        }\n        if (!(innerRadius > e) || !hasArc) {\n            ctx.lineTo(cx + xire, cy + yire);\n        }\n        else if (limitedIcrMax > e) {\n            var crStart = mathMin(icrStart, limitedIcrMax);\n            var crEnd = mathMin(icrEnd, limitedIcrMax);\n            var ct0 = computeCornerTangents(xire, yire, xre, yre, innerRadius, -crEnd, clockwise);\n            var ct1 = computeCornerTangents(xrs, yrs, xirs, yirs, innerRadius, -crStart, clockwise);\n            ctx.lineTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);\n            if (limitedIcrMax < icrMax && crStart === crEnd) {\n                ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedIcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);\n            }\n            else {\n                crEnd > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crEnd, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);\n                ctx.arc(cx, cy, innerRadius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), clockwise);\n                crStart > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crStart, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);\n            }\n        }\n        else {\n            ctx.lineTo(cx + xire, cy + yire);\n            ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);\n        }\n    }\n    ctx.closePath();\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundSector.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/smoothBezier.js":
/*!**************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/smoothBezier.js ***!
  \**************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return smoothBezier; });\n/* harmony import */ var _core_vector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\nfunction smoothBezier(points, smooth, isLoop, constraint) {\n    var cps = [];\n    var v = [];\n    var v1 = [];\n    var v2 = [];\n    var prevPoint;\n    var nextPoint;\n    var min;\n    var max;\n    if (constraint) {\n        min = [Infinity, Infinity];\n        max = [-Infinity, -Infinity];\n        for (var i = 0, len = points.length; i < len; i++) {\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(min, min, points[i]);\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(max, max, points[i]);\n        }\n        Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(min, min, constraint[0]);\n        Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(max, max, constraint[1]);\n    }\n    for (var i = 0, len = points.length; i < len; i++) {\n        var point = points[i];\n        if (isLoop) {\n            prevPoint = points[i ? i - 1 : len - 1];\n            nextPoint = points[(i + 1) % len];\n        }\n        else {\n            if (i === 0 || i === len - 1) {\n                cps.push(Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"clone\"])(points[i]));\n                continue;\n            }\n            else {\n                prevPoint = points[i - 1];\n                nextPoint = points[i + 1];\n            }\n        }\n        Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"sub\"])(v, nextPoint, prevPoint);\n        Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"scale\"])(v, v, smooth);\n        var d0 = Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distance\"])(point, prevPoint);\n        var d1 = Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"distance\"])(point, nextPoint);\n        var sum = d0 + d1;\n        if (sum !== 0) {\n            d0 /= sum;\n            d1 /= sum;\n        }\n        Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"scale\"])(v1, v, -d0);\n        Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"scale\"])(v2, v, d1);\n        var cp0 = Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"add\"])([], point, v1);\n        var cp1 = Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"add\"])([], point, v2);\n        if (constraint) {\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(cp0, cp0, min);\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(cp0, cp0, max);\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(cp1, cp1, min);\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(cp1, cp1, max);\n        }\n        cps.push(cp0);\n        cps.push(cp1);\n    }\n    if (isLoop) {\n        cps.push(cps.shift());\n    }\n    return cps;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/smoothBezier.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js":
/*!******************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js ***!
  \******************************************************************************************/
/*! exports provided: subPixelOptimizeLine, subPixelOptimizeRect, subPixelOptimize */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subPixelOptimizeLine\", function() { return subPixelOptimizeLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subPixelOptimizeRect\", function() { return subPixelOptimizeRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subPixelOptimize\", function() { return subPixelOptimize; });\nvar round = Math.round;\nfunction subPixelOptimizeLine(outputShape, inputShape, style) {\n    if (!inputShape) {\n        return;\n    }\n    var x1 = inputShape.x1;\n    var x2 = inputShape.x2;\n    var y1 = inputShape.y1;\n    var y2 = inputShape.y2;\n    outputShape.x1 = x1;\n    outputShape.x2 = x2;\n    outputShape.y1 = y1;\n    outputShape.y2 = y2;\n    var lineWidth = style && style.lineWidth;\n    if (!lineWidth) {\n        return outputShape;\n    }\n    if (round(x1 * 2) === round(x2 * 2)) {\n        outputShape.x1 = outputShape.x2 = subPixelOptimize(x1, lineWidth, true);\n    }\n    if (round(y1 * 2) === round(y2 * 2)) {\n        outputShape.y1 = outputShape.y2 = subPixelOptimize(y1, lineWidth, true);\n    }\n    return outputShape;\n}\nfunction subPixelOptimizeRect(outputShape, inputShape, style) {\n    if (!inputShape) {\n        return;\n    }\n    var originX = inputShape.x;\n    var originY = inputShape.y;\n    var originWidth = inputShape.width;\n    var originHeight = inputShape.height;\n    outputShape.x = originX;\n    outputShape.y = originY;\n    outputShape.width = originWidth;\n    outputShape.height = originHeight;\n    var lineWidth = style && style.lineWidth;\n    if (!lineWidth) {\n        return outputShape;\n    }\n    outputShape.x = subPixelOptimize(originX, lineWidth, true);\n    outputShape.y = subPixelOptimize(originY, lineWidth, true);\n    outputShape.width = Math.max(subPixelOptimize(originX + originWidth, lineWidth, false) - outputShape.x, originWidth === 0 ? 0 : 1);\n    outputShape.height = Math.max(subPixelOptimize(originY + originHeight, lineWidth, false) - outputShape.y, originHeight === 0 ? 0 : 1);\n    return outputShape;\n}\nfunction subPixelOptimize(position, lineWidth, positiveOrNegative) {\n    if (!lineWidth) {\n        return position;\n    }\n    var doubledPosition = round(position * 2);\n    return (doubledPosition + round(lineWidth)) % 2 === 0\n        ? doubledPosition / 2\n        : (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Arc.js":
/*!****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Arc.js ***!
  \****************************************************************************/
/*! exports provided: ArcShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArcShape\", function() { return ArcShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n\n\nvar ArcShape = (function () {\n    function ArcShape() {\n        this.cx = 0;\n        this.cy = 0;\n        this.r = 0;\n        this.startAngle = 0;\n        this.endAngle = Math.PI * 2;\n        this.clockwise = true;\n    }\n    return ArcShape;\n}());\n\nvar Arc = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Arc, _super);\n    function Arc(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Arc.prototype.getDefaultStyle = function () {\n        return {\n            stroke: '#000',\n            fill: null\n        };\n    };\n    Arc.prototype.getDefaultShape = function () {\n        return new ArcShape();\n    };\n    Arc.prototype.buildPath = function (ctx, shape) {\n        var x = shape.cx;\n        var y = shape.cy;\n        var r = Math.max(shape.r, 0);\n        var startAngle = shape.startAngle;\n        var endAngle = shape.endAngle;\n        var clockwise = shape.clockwise;\n        var unitX = Math.cos(startAngle);\n        var unitY = Math.sin(startAngle);\n        ctx.moveTo(unitX * r + x, unitY * r + y);\n        ctx.arc(x, y, r, startAngle, endAngle, !clockwise);\n    };\n    return Arc;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nArc.prototype.type = 'arc';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Arc);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Arc.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/BezierCurve.js":
/*!************************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/BezierCurve.js ***!
  \************************************************************************************/
/*! exports provided: BezierCurveShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BezierCurveShape\", function() { return BezierCurveShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _core_vector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n\n\n\n\nvar out = [];\nvar BezierCurveShape = (function () {\n    function BezierCurveShape() {\n        this.x1 = 0;\n        this.y1 = 0;\n        this.x2 = 0;\n        this.y2 = 0;\n        this.cpx1 = 0;\n        this.cpy1 = 0;\n        this.percent = 1;\n    }\n    return BezierCurveShape;\n}());\n\nfunction someVectorAt(shape, t, isTangent) {\n    var cpx2 = shape.cpx2;\n    var cpy2 = shape.cpy2;\n    if (cpx2 != null || cpy2 != null) {\n        return [\n            (isTangent ? _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicDerivativeAt\"] : _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicAt\"])(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t),\n            (isTangent ? _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicDerivativeAt\"] : _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicAt\"])(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t)\n        ];\n    }\n    else {\n        return [\n            (isTangent ? _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticDerivativeAt\"] : _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticAt\"])(shape.x1, shape.cpx1, shape.x2, t),\n            (isTangent ? _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticDerivativeAt\"] : _core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticAt\"])(shape.y1, shape.cpy1, shape.y2, t)\n        ];\n    }\n}\nvar BezierCurve = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BezierCurve, _super);\n    function BezierCurve(opts) {\n        return _super.call(this, opts) || this;\n    }\n    BezierCurve.prototype.getDefaultStyle = function () {\n        return {\n            stroke: '#000',\n            fill: null\n        };\n    };\n    BezierCurve.prototype.getDefaultShape = function () {\n        return new BezierCurveShape();\n    };\n    BezierCurve.prototype.buildPath = function (ctx, shape) {\n        var x1 = shape.x1;\n        var y1 = shape.y1;\n        var x2 = shape.x2;\n        var y2 = shape.y2;\n        var cpx1 = shape.cpx1;\n        var cpy1 = shape.cpy1;\n        var cpx2 = shape.cpx2;\n        var cpy2 = shape.cpy2;\n        var percent = shape.percent;\n        if (percent === 0) {\n            return;\n        }\n        ctx.moveTo(x1, y1);\n        if (cpx2 == null || cpy2 == null) {\n            if (percent < 1) {\n                Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticSubdivide\"])(x1, cpx1, x2, percent, out);\n                cpx1 = out[1];\n                x2 = out[2];\n                Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"quadraticSubdivide\"])(y1, cpy1, y2, percent, out);\n                cpy1 = out[1];\n                y2 = out[2];\n            }\n            ctx.quadraticCurveTo(cpx1, cpy1, x2, y2);\n        }\n        else {\n            if (percent < 1) {\n                Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicSubdivide\"])(x1, cpx1, cpx2, x2, percent, out);\n                cpx1 = out[1];\n                cpx2 = out[2];\n                x2 = out[3];\n                Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_3__[\"cubicSubdivide\"])(y1, cpy1, cpy2, y2, percent, out);\n                cpy1 = out[1];\n                cpy2 = out[2];\n                y2 = out[3];\n            }\n            ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2);\n        }\n    };\n    BezierCurve.prototype.pointAt = function (t) {\n        return someVectorAt(this.shape, t, false);\n    };\n    BezierCurve.prototype.tangentAt = function (t) {\n        var p = someVectorAt(this.shape, t, true);\n        return _core_vector_js__WEBPACK_IMPORTED_MODULE_2__[\"normalize\"](p, p);\n    };\n    return BezierCurve;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n;\nBezierCurve.prototype.type = 'bezier-curve';\n/* harmony default export */ __webpack_exports__[\"default\"] = (BezierCurve);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/BezierCurve.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Circle.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Circle.js ***!
  \*******************************************************************************/
/*! exports provided: CircleShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CircleShape\", function() { return CircleShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n\n\nvar CircleShape = (function () {\n    function CircleShape() {\n        this.cx = 0;\n        this.cy = 0;\n        this.r = 0;\n    }\n    return CircleShape;\n}());\n\nvar Circle = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Circle, _super);\n    function Circle(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Circle.prototype.getDefaultShape = function () {\n        return new CircleShape();\n    };\n    Circle.prototype.buildPath = function (ctx, shape) {\n        ctx.moveTo(shape.cx + shape.r, shape.cy);\n        ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2);\n    };\n    return Circle;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n;\nCircle.prototype.type = 'circle';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Circle);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Circle.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ellipse.js":
/*!********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ellipse.js ***!
  \********************************************************************************/
/*! exports provided: EllipseShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EllipseShape\", function() { return EllipseShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n\n\nvar EllipseShape = (function () {\n    function EllipseShape() {\n        this.cx = 0;\n        this.cy = 0;\n        this.rx = 0;\n        this.ry = 0;\n    }\n    return EllipseShape;\n}());\n\nvar Ellipse = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Ellipse, _super);\n    function Ellipse(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Ellipse.prototype.getDefaultShape = function () {\n        return new EllipseShape();\n    };\n    Ellipse.prototype.buildPath = function (ctx, shape) {\n        var k = 0.5522848;\n        var x = shape.cx;\n        var y = shape.cy;\n        var a = shape.rx;\n        var b = shape.ry;\n        var ox = a * k;\n        var oy = b * k;\n        ctx.moveTo(x - a, y);\n        ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b);\n        ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y);\n        ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b);\n        ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y);\n        ctx.closePath();\n    };\n    return Ellipse;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nEllipse.prototype.type = 'ellipse';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Ellipse);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ellipse.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Line.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Line.js ***!
  \*****************************************************************************/
/*! exports provided: LineShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineShape\", function() { return LineShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/subPixelOptimize.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js\");\n\n\n\nvar subPixelOptimizeOutputShape = {};\nvar LineShape = (function () {\n    function LineShape() {\n        this.x1 = 0;\n        this.y1 = 0;\n        this.x2 = 0;\n        this.y2 = 0;\n        this.percent = 1;\n    }\n    return LineShape;\n}());\n\nvar Line = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Line, _super);\n    function Line(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Line.prototype.getDefaultStyle = function () {\n        return {\n            stroke: '#000',\n            fill: null\n        };\n    };\n    Line.prototype.getDefaultShape = function () {\n        return new LineShape();\n    };\n    Line.prototype.buildPath = function (ctx, shape) {\n        var x1;\n        var y1;\n        var x2;\n        var y2;\n        if (this.subPixelOptimize) {\n            var optimizedShape = Object(_helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_2__[\"subPixelOptimizeLine\"])(subPixelOptimizeOutputShape, shape, this.style);\n            x1 = optimizedShape.x1;\n            y1 = optimizedShape.y1;\n            x2 = optimizedShape.x2;\n            y2 = optimizedShape.y2;\n        }\n        else {\n            x1 = shape.x1;\n            y1 = shape.y1;\n            x2 = shape.x2;\n            y2 = shape.y2;\n        }\n        var percent = shape.percent;\n        if (percent === 0) {\n            return;\n        }\n        ctx.moveTo(x1, y1);\n        if (percent < 1) {\n            x2 = x1 * (1 - percent) + x2 * percent;\n            y2 = y1 * (1 - percent) + y2 * percent;\n        }\n        ctx.lineTo(x2, y2);\n    };\n    Line.prototype.pointAt = function (p) {\n        var shape = this.shape;\n        return [\n            shape.x1 * (1 - p) + shape.x2 * p,\n            shape.y1 * (1 - p) + shape.y2 * p\n        ];\n    };\n    return Line;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nLine.prototype.type = 'line';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Line);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Line.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polygon.js":
/*!********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polygon.js ***!
  \********************************************************************************/
/*! exports provided: PolygonShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PolygonShape\", function() { return PolygonShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _helper_poly_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/poly.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/poly.js\");\n\n\n\nvar PolygonShape = (function () {\n    function PolygonShape() {\n        this.points = null;\n        this.smooth = 0;\n        this.smoothConstraint = null;\n    }\n    return PolygonShape;\n}());\n\nvar Polygon = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Polygon, _super);\n    function Polygon(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Polygon.prototype.getDefaultShape = function () {\n        return new PolygonShape();\n    };\n    Polygon.prototype.buildPath = function (ctx, shape) {\n        _helper_poly_js__WEBPACK_IMPORTED_MODULE_2__[\"buildPath\"](ctx, shape, true);\n    };\n    return Polygon;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n;\nPolygon.prototype.type = 'polygon';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Polygon);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polygon.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polyline.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polyline.js ***!
  \*********************************************************************************/
/*! exports provided: PolylineShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PolylineShape\", function() { return PolylineShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _helper_poly_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/poly.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/poly.js\");\n\n\n\nvar PolylineShape = (function () {\n    function PolylineShape() {\n        this.points = null;\n        this.percent = 1;\n        this.smooth = 0;\n        this.smoothConstraint = null;\n    }\n    return PolylineShape;\n}());\n\nvar Polyline = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Polyline, _super);\n    function Polyline(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Polyline.prototype.getDefaultStyle = function () {\n        return {\n            stroke: '#000',\n            fill: null\n        };\n    };\n    Polyline.prototype.getDefaultShape = function () {\n        return new PolylineShape();\n    };\n    Polyline.prototype.buildPath = function (ctx, shape) {\n        _helper_poly_js__WEBPACK_IMPORTED_MODULE_2__[\"buildPath\"](ctx, shape, false);\n    };\n    return Polyline;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nPolyline.prototype.type = 'polyline';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Polyline);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polyline.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js ***!
  \*****************************************************************************/
/*! exports provided: RectShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RectShape\", function() { return RectShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _helper_roundRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/roundRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundRect.js\");\n/* harmony import */ var _helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helper/subPixelOptimize.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js\");\n\n\n\n\nvar RectShape = (function () {\n    function RectShape() {\n        this.x = 0;\n        this.y = 0;\n        this.width = 0;\n        this.height = 0;\n    }\n    return RectShape;\n}());\n\nvar subPixelOptimizeOutputShape = {};\nvar Rect = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Rect, _super);\n    function Rect(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Rect.prototype.getDefaultShape = function () {\n        return new RectShape();\n    };\n    Rect.prototype.buildPath = function (ctx, shape) {\n        var x;\n        var y;\n        var width;\n        var height;\n        if (this.subPixelOptimize) {\n            var optimizedShape = Object(_helper_subPixelOptimize_js__WEBPACK_IMPORTED_MODULE_3__[\"subPixelOptimizeRect\"])(subPixelOptimizeOutputShape, shape, this.style);\n            x = optimizedShape.x;\n            y = optimizedShape.y;\n            width = optimizedShape.width;\n            height = optimizedShape.height;\n            optimizedShape.r = shape.r;\n            shape = optimizedShape;\n        }\n        else {\n            x = shape.x;\n            y = shape.y;\n            width = shape.width;\n            height = shape.height;\n        }\n        if (!shape.r) {\n            ctx.rect(x, y, width, height);\n        }\n        else {\n            _helper_roundRect_js__WEBPACK_IMPORTED_MODULE_2__[\"buildPath\"](ctx, shape);\n        }\n    };\n    Rect.prototype.isZeroArea = function () {\n        return !this.shape.width || !this.shape.height;\n    };\n    return Rect;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nRect.prototype.type = 'rect';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Rect);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ring.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ring.js ***!
  \*****************************************************************************/
/*! exports provided: RingShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RingShape\", function() { return RingShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n\n\nvar RingShape = (function () {\n    function RingShape() {\n        this.cx = 0;\n        this.cy = 0;\n        this.r = 0;\n        this.r0 = 0;\n    }\n    return RingShape;\n}());\n\nvar Ring = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Ring, _super);\n    function Ring(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Ring.prototype.getDefaultShape = function () {\n        return new RingShape();\n    };\n    Ring.prototype.buildPath = function (ctx, shape) {\n        var x = shape.cx;\n        var y = shape.cy;\n        var PI2 = Math.PI * 2;\n        ctx.moveTo(x + shape.r, y);\n        ctx.arc(x, y, shape.r, 0, PI2, false);\n        ctx.moveTo(x + shape.r0, y);\n        ctx.arc(x, y, shape.r0, 0, PI2, true);\n    };\n    return Ring;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nRing.prototype.type = 'ring';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Ring);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ring.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Sector.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Sector.js ***!
  \*******************************************************************************/
/*! exports provided: SectorShape, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SectorShape\", function() { return SectorShape; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _helper_roundSector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helper/roundSector.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/roundSector.js\");\n\n\n\nvar SectorShape = (function () {\n    function SectorShape() {\n        this.cx = 0;\n        this.cy = 0;\n        this.r0 = 0;\n        this.r = 0;\n        this.startAngle = 0;\n        this.endAngle = Math.PI * 2;\n        this.clockwise = true;\n        this.cornerRadius = 0;\n    }\n    return SectorShape;\n}());\n\nvar Sector = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Sector, _super);\n    function Sector(opts) {\n        return _super.call(this, opts) || this;\n    }\n    Sector.prototype.getDefaultShape = function () {\n        return new SectorShape();\n    };\n    Sector.prototype.buildPath = function (ctx, shape) {\n        _helper_roundSector_js__WEBPACK_IMPORTED_MODULE_2__[\"buildPath\"](ctx, shape);\n    };\n    Sector.prototype.isZeroArea = function () {\n        return this.shape.startAngle === this.shape.endAngle\n            || this.shape.r === this.shape.r0;\n    };\n    return Sector;\n}(_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nSector.prototype.type = 'sector';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Sector);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Sector.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/mixin/Draggable.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/mixin/Draggable.js ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar Param = (function () {\n    function Param(target, e) {\n        this.target = target;\n        this.topTarget = e && e.topTarget;\n    }\n    return Param;\n}());\nvar Draggable = (function () {\n    function Draggable(handler) {\n        this.handler = handler;\n        handler.on('mousedown', this._dragStart, this);\n        handler.on('mousemove', this._drag, this);\n        handler.on('mouseup', this._dragEnd, this);\n    }\n    Draggable.prototype._dragStart = function (e) {\n        var draggingTarget = e.target;\n        while (draggingTarget && !draggingTarget.draggable) {\n            draggingTarget = draggingTarget.parent || draggingTarget.__hostTarget;\n        }\n        if (draggingTarget) {\n            this._draggingTarget = draggingTarget;\n            draggingTarget.dragging = true;\n            this._x = e.offsetX;\n            this._y = e.offsetY;\n            this.handler.dispatchToElement(new Param(draggingTarget, e), 'dragstart', e.event);\n        }\n    };\n    Draggable.prototype._drag = function (e) {\n        var draggingTarget = this._draggingTarget;\n        if (draggingTarget) {\n            var x = e.offsetX;\n            var y = e.offsetY;\n            var dx = x - this._x;\n            var dy = y - this._y;\n            this._x = x;\n            this._y = y;\n            draggingTarget.drift(dx, dy, e);\n            this.handler.dispatchToElement(new Param(draggingTarget, e), 'drag', e.event);\n            var dropTarget = this.handler.findHover(x, y, draggingTarget).target;\n            var lastDropTarget = this._dropTarget;\n            this._dropTarget = dropTarget;\n            if (draggingTarget !== dropTarget) {\n                if (lastDropTarget && dropTarget !== lastDropTarget) {\n                    this.handler.dispatchToElement(new Param(lastDropTarget, e), 'dragleave', e.event);\n                }\n                if (dropTarget && dropTarget !== lastDropTarget) {\n                    this.handler.dispatchToElement(new Param(dropTarget, e), 'dragenter', e.event);\n                }\n            }\n        }\n    };\n    Draggable.prototype._dragEnd = function (e) {\n        var draggingTarget = this._draggingTarget;\n        if (draggingTarget) {\n            draggingTarget.dragging = false;\n        }\n        this.handler.dispatchToElement(new Param(draggingTarget, e), 'dragend', e.event);\n        if (this._dropTarget) {\n            this.handler.dispatchToElement(new Param(this._dropTarget, e), 'drop', e.event);\n        }\n        this._draggingTarget = null;\n        this._dropTarget = null;\n    };\n    return Draggable;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Draggable);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/mixin/Draggable.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/Painter.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/Painter.js ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _graphic_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./graphic.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/graphic.js\");\n/* harmony import */ var _core_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/core.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/helper.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _patch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./patch.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/patch.js\");\n/* harmony import */ var _canvas_helper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../canvas/helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/helper.js\");\n\n\n\n\n\n\nvar svgId = 0;\nvar SVGPainter = (function () {\n    function SVGPainter(root, storage, opts) {\n        this.type = 'svg';\n        this.refreshHover = createMethodNotSupport('refreshHover');\n        this.configLayer = createMethodNotSupport('configLayer');\n        this.storage = storage;\n        this._opts = opts = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"extend\"])({}, opts);\n        this.root = root;\n        this._id = 'zr' + svgId++;\n        this._oldVNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createSVGVNode\"])(opts.width, opts.height);\n        if (root && !opts.ssr) {\n            var viewport = this._viewport = document.createElement('div');\n            viewport.style.cssText = 'position:relative;overflow:hidden';\n            var svgDom = this._svgDom = this._oldVNode.elm = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])('svg');\n            Object(_patch_js__WEBPACK_IMPORTED_MODULE_4__[\"updateAttrs\"])(null, this._oldVNode);\n            viewport.appendChild(svgDom);\n            root.appendChild(viewport);\n        }\n        this.resize(opts.width, opts.height);\n    }\n    SVGPainter.prototype.getType = function () {\n        return this.type;\n    };\n    SVGPainter.prototype.getViewportRoot = function () {\n        return this._viewport;\n    };\n    SVGPainter.prototype.getViewportRootOffset = function () {\n        var viewportRoot = this.getViewportRoot();\n        if (viewportRoot) {\n            return {\n                offsetLeft: viewportRoot.offsetLeft || 0,\n                offsetTop: viewportRoot.offsetTop || 0\n            };\n        }\n    };\n    SVGPainter.prototype.getSvgDom = function () {\n        return this._svgDom;\n    };\n    SVGPainter.prototype.refresh = function () {\n        if (this.root) {\n            var vnode = this.renderToVNode({\n                willUpdate: true\n            });\n            vnode.attrs.style = 'position:absolute;left:0;top:0;user-select:none';\n            Object(_patch_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this._oldVNode, vnode);\n            this._oldVNode = vnode;\n        }\n    };\n    SVGPainter.prototype.renderOneToVNode = function (el) {\n        return Object(_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"brush\"])(el, Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createBrushScope\"])(this._id));\n    };\n    SVGPainter.prototype.renderToVNode = function (opts) {\n        opts = opts || {};\n        var list = this.storage.getDisplayList(true);\n        var bgColor = this._backgroundColor;\n        var width = this._width;\n        var height = this._height;\n        var scope = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createBrushScope\"])(this._id);\n        scope.animation = opts.animation;\n        scope.willUpdate = opts.willUpdate;\n        scope.compress = opts.compress;\n        var children = [];\n        if (bgColor && bgColor !== 'none') {\n            var _a = Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeColor\"])(bgColor), color = _a.color, opacity = _a.opacity;\n            this._bgVNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createVNode\"])('rect', 'bg', {\n                width: width,\n                height: height,\n                x: '0',\n                y: '0',\n                id: '0',\n                fill: color,\n                'fill-opacity': opacity\n            });\n            children.push(this._bgVNode);\n        }\n        else {\n            this._bgVNode = null;\n        }\n        var mainVNode = !opts.compress\n            ? (this._mainVNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createVNode\"])('g', 'main', {}, [])) : null;\n        this._paintList(list, scope, mainVNode ? mainVNode.children : children);\n        mainVNode && children.push(mainVNode);\n        var defs = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"keys\"])(scope.defs), function (id) { return scope.defs[id]; });\n        if (defs.length) {\n            children.push(Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createVNode\"])('defs', 'defs', {}, defs));\n        }\n        if (opts.animation) {\n            var animationCssStr = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"getCssString\"])(scope.cssNodes, scope.cssAnims, { newline: true });\n            if (animationCssStr) {\n                var styleNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createVNode\"])('style', 'stl', {}, [], animationCssStr);\n                children.push(styleNode);\n            }\n        }\n        return Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createSVGVNode\"])(width, height, children, opts.useViewBox);\n    };\n    SVGPainter.prototype.renderToString = function (opts) {\n        opts = opts || {};\n        return Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"vNodeToString\"])(this.renderToVNode({\n            animation: Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(opts.cssAnimation, true),\n            willUpdate: false,\n            compress: true,\n            useViewBox: Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"retrieve2\"])(opts.useViewBox, true)\n        }), { newline: true });\n    };\n    SVGPainter.prototype.setBackgroundColor = function (backgroundColor) {\n        this._backgroundColor = backgroundColor;\n        var bgVNode = this._bgVNode;\n        if (bgVNode && bgVNode.elm) {\n            var _a = Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"normalizeColor\"])(backgroundColor), color = _a.color, opacity = _a.opacity;\n            bgVNode.elm.setAttribute('fill', color);\n            if (opacity < 1) {\n                bgVNode.elm.setAttribute('fill-opacity', opacity);\n            }\n        }\n    };\n    SVGPainter.prototype.getSvgRoot = function () {\n        return this._mainVNode && this._mainVNode.elm;\n    };\n    SVGPainter.prototype._paintList = function (list, scope, out) {\n        var listLen = list.length;\n        var clipPathsGroupsStack = [];\n        var clipPathsGroupsStackDepth = 0;\n        var currentClipPathGroup;\n        var prevClipPaths;\n        var clipGroupNodeIdx = 0;\n        for (var i = 0; i < listLen; i++) {\n            var displayable = list[i];\n            if (!displayable.invisible) {\n                var clipPaths = displayable.__clipPaths;\n                var len = clipPaths && clipPaths.length || 0;\n                var prevLen = prevClipPaths && prevClipPaths.length || 0;\n                var lca = void 0;\n                for (lca = Math.max(len - 1, prevLen - 1); lca >= 0; lca--) {\n                    if (clipPaths && prevClipPaths\n                        && clipPaths[lca] === prevClipPaths[lca]) {\n                        break;\n                    }\n                }\n                for (var i_1 = prevLen - 1; i_1 > lca; i_1--) {\n                    clipPathsGroupsStackDepth--;\n                    currentClipPathGroup = clipPathsGroupsStack[clipPathsGroupsStackDepth - 1];\n                }\n                for (var i_2 = lca + 1; i_2 < len; i_2++) {\n                    var groupAttrs = {};\n                    Object(_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"setClipPath\"])(clipPaths[i_2], groupAttrs, scope);\n                    var g = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createVNode\"])('g', 'clip-g-' + clipGroupNodeIdx++, groupAttrs, []);\n                    (currentClipPathGroup ? currentClipPathGroup.children : out).push(g);\n                    clipPathsGroupsStack[clipPathsGroupsStackDepth++] = g;\n                    currentClipPathGroup = g;\n                }\n                prevClipPaths = clipPaths;\n                var ret = Object(_graphic_js__WEBPACK_IMPORTED_MODULE_0__[\"brush\"])(displayable, scope);\n                if (ret) {\n                    (currentClipPathGroup ? currentClipPathGroup.children : out).push(ret);\n                }\n            }\n        }\n    };\n    SVGPainter.prototype.resize = function (width, height) {\n        var opts = this._opts;\n        var root = this.root;\n        var viewport = this._viewport;\n        width != null && (opts.width = width);\n        height != null && (opts.height = height);\n        if (root && viewport) {\n            viewport.style.display = 'none';\n            width = Object(_canvas_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"getSize\"])(root, 0, opts);\n            height = Object(_canvas_helper_js__WEBPACK_IMPORTED_MODULE_5__[\"getSize\"])(root, 1, opts);\n            viewport.style.display = '';\n        }\n        if (this._width !== width || this._height !== height) {\n            this._width = width;\n            this._height = height;\n            if (viewport) {\n                var viewportStyle = viewport.style;\n                viewportStyle.width = width + 'px';\n                viewportStyle.height = height + 'px';\n            }\n            var svgDom = this._svgDom;\n            if (svgDom) {\n                svgDom.setAttribute('width', width);\n                svgDom.setAttribute('height', height);\n            }\n        }\n    };\n    SVGPainter.prototype.getWidth = function () {\n        return this._width;\n    };\n    SVGPainter.prototype.getHeight = function () {\n        return this._height;\n    };\n    SVGPainter.prototype.dispose = function () {\n        if (this.root) {\n            this.root.innerHTML = '';\n        }\n        this._svgDom =\n            this._viewport =\n                this.storage =\n                    this._oldVNode =\n                        this._bgVNode =\n                            this._mainVNode = null;\n    };\n    SVGPainter.prototype.clear = function () {\n        if (this._svgDom) {\n            this._svgDom.innerHTML = null;\n        }\n        this._oldVNode = null;\n    };\n    SVGPainter.prototype.toDataURL = function (base64) {\n        var str = encodeURIComponent(this.renderToString());\n        var prefix = 'data:image/svg+xml;';\n        if (base64) {\n            str = Object(_helper_js__WEBPACK_IMPORTED_MODULE_2__[\"encodeBase64\"])(str);\n            return str && prefix + 'base64,' + str;\n        }\n        return prefix + 'charset=UTF-8,' + str;\n    };\n    return SVGPainter;\n}());\nfunction createMethodNotSupport(method) {\n    return function () {\n        if (true) {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"logError\"])('In SVG mode painter not support method \"' + method + '\"');\n        }\n    };\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (SVGPainter);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/Painter.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/SVGPathRebuilder.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/SVGPathRebuilder.js ***!
  \*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/helper.js\");\n\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nvar PI2 = Math.PI * 2;\nvar degree = 180 / PI;\nvar SVGPathRebuilder = (function () {\n    function SVGPathRebuilder() {\n    }\n    SVGPathRebuilder.prototype.reset = function (precision) {\n        this._start = true;\n        this._d = [];\n        this._str = '';\n        this._p = Math.pow(10, precision || 4);\n    };\n    SVGPathRebuilder.prototype.moveTo = function (x, y) {\n        this._add('M', x, y);\n    };\n    SVGPathRebuilder.prototype.lineTo = function (x, y) {\n        this._add('L', x, y);\n    };\n    SVGPathRebuilder.prototype.bezierCurveTo = function (x, y, x2, y2, x3, y3) {\n        this._add('C', x, y, x2, y2, x3, y3);\n    };\n    SVGPathRebuilder.prototype.quadraticCurveTo = function (x, y, x2, y2) {\n        this._add('Q', x, y, x2, y2);\n    };\n    SVGPathRebuilder.prototype.arc = function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n        this.ellipse(cx, cy, r, r, 0, startAngle, endAngle, anticlockwise);\n    };\n    SVGPathRebuilder.prototype.ellipse = function (cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise) {\n        var dTheta = endAngle - startAngle;\n        var clockwise = !anticlockwise;\n        var dThetaPositive = Math.abs(dTheta);\n        var isCircle = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(dThetaPositive - PI2)\n            || (clockwise ? dTheta >= PI2 : -dTheta >= PI2);\n        var unifiedTheta = dTheta > 0 ? dTheta % PI2 : (dTheta % PI2 + PI2);\n        var large = false;\n        if (isCircle) {\n            large = true;\n        }\n        else if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(dThetaPositive)) {\n            large = false;\n        }\n        else {\n            large = (unifiedTheta >= PI) === !!clockwise;\n        }\n        var x0 = cx + rx * mathCos(startAngle);\n        var y0 = cy + ry * mathSin(startAngle);\n        if (this._start) {\n            this._add('M', x0, y0);\n        }\n        var xRot = Math.round(psi * degree);\n        if (isCircle) {\n            var p = 1 / this._p;\n            var dTheta_1 = (clockwise ? 1 : -1) * (PI2 - p);\n            this._add('A', rx, ry, xRot, 1, +clockwise, cx + rx * mathCos(startAngle + dTheta_1), cy + ry * mathSin(startAngle + dTheta_1));\n            if (p > 1e-2) {\n                this._add('A', rx, ry, xRot, 0, +clockwise, x0, y0);\n            }\n        }\n        else {\n            var x = cx + rx * mathCos(endAngle);\n            var y = cy + ry * mathSin(endAngle);\n            this._add('A', rx, ry, xRot, +large, +clockwise, x, y);\n        }\n    };\n    SVGPathRebuilder.prototype.rect = function (x, y, w, h) {\n        this._add('M', x, y);\n        this._add('l', w, 0);\n        this._add('l', 0, h);\n        this._add('l', -w, 0);\n        this._add('Z');\n    };\n    SVGPathRebuilder.prototype.closePath = function () {\n        if (this._d.length > 0) {\n            this._add('Z');\n        }\n    };\n    SVGPathRebuilder.prototype._add = function (cmd, a, b, c, d, e, f, g, h) {\n        var vals = [];\n        var p = this._p;\n        for (var i = 1; i < arguments.length; i++) {\n            var val = arguments[i];\n            if (isNaN(val)) {\n                this._invalid = true;\n                return;\n            }\n            vals.push(Math.round(val * p) / p);\n        }\n        this._d.push(cmd + vals.join(' '));\n        this._start = cmd === 'Z';\n    };\n    SVGPathRebuilder.prototype.generateStr = function () {\n        this._str = this._invalid ? '' : this._d.join('');\n        this._d = [];\n    };\n    SVGPathRebuilder.prototype.getStr = function () {\n        return this._str;\n    };\n    return SVGPathRebuilder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (SVGPathRebuilder);\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/SVGPathRebuilder.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/core.js":
/*!*******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/core.js ***!
  \*******************************************************************/
/*! exports provided: SVGNS, XLINKNS, XMLNS, XML_NAMESPACE, createElement, createVNode, vNodeToString, getCssString, createBrushScope, createSVGVNode */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SVGNS\", function() { return SVGNS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"XLINKNS\", function() { return XLINKNS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"XMLNS\", function() { return XMLNS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"XML_NAMESPACE\", function() { return XML_NAMESPACE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return createElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createVNode\", function() { return createVNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"vNodeToString\", function() { return vNodeToString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCssString\", function() { return getCssString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createBrushScope\", function() { return createBrushScope; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSVGVNode\", function() { return createSVGVNode; });\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/dom.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/dom.js\");\n\n\nvar SVGNS = 'http://www.w3.org/2000/svg';\nvar XLINKNS = 'http://www.w3.org/1999/xlink';\nvar XMLNS = 'http://www.w3.org/2000/xmlns/';\nvar XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\nfunction createElement(name) {\n    return document.createElementNS(SVGNS, name);\n}\n;\nfunction createVNode(tag, key, attrs, children, text) {\n    return {\n        tag: tag,\n        attrs: attrs || {},\n        children: children,\n        text: text,\n        key: key\n    };\n}\nfunction createElementOpen(name, attrs) {\n    var attrsStr = [];\n    if (attrs) {\n        for (var key in attrs) {\n            var val = attrs[key];\n            var part = key;\n            if (val === false) {\n                continue;\n            }\n            else if (val !== true && val != null) {\n                part += \"=\\\"\" + val + \"\\\"\";\n            }\n            attrsStr.push(part);\n        }\n    }\n    return \"<\" + name + \" \" + attrsStr.join(' ') + \">\";\n}\nfunction createElementClose(name) {\n    return \"</\" + name + \">\";\n}\nfunction vNodeToString(el, opts) {\n    opts = opts || {};\n    var S = opts.newline ? '\\n' : '';\n    function convertElToString(el) {\n        var children = el.children, tag = el.tag, attrs = el.attrs;\n        return createElementOpen(tag, attrs)\n            + Object(_core_dom_js__WEBPACK_IMPORTED_MODULE_1__[\"encodeHTML\"])(el.text)\n            + (children ? \"\" + S + Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(children, function (child) { return convertElToString(child); }).join(S) + S : '')\n            + createElementClose(tag);\n    }\n    return convertElToString(el);\n}\nfunction getCssString(selectorNodes, animationNodes, opts) {\n    opts = opts || {};\n    var S = opts.newline ? '\\n' : '';\n    var bracketBegin = \" {\" + S;\n    var bracketEnd = S + \"}\";\n    var selectors = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(selectorNodes), function (className) {\n        return className + bracketBegin + Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(selectorNodes[className]), function (attrName) {\n            return attrName + \":\" + selectorNodes[className][attrName] + \";\";\n        }).join(S) + bracketEnd;\n    }).join(S);\n    var animations = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(animationNodes), function (animationName) {\n        return \"@keyframes \" + animationName + bracketBegin + Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(animationNodes[animationName]), function (percent) {\n            return percent + bracketBegin + Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(animationNodes[animationName][percent]), function (attrName) {\n                var val = animationNodes[animationName][percent][attrName];\n                if (attrName === 'd') {\n                    val = \"path(\\\"\" + val + \"\\\")\";\n                }\n                return attrName + \":\" + val + \";\";\n            }).join(S) + bracketEnd;\n        }).join(S) + bracketEnd;\n    }).join(S);\n    if (!selectors && !animations) {\n        return '';\n    }\n    return ['<![CDATA[', selectors, animations, ']]>'].join(S);\n}\nfunction createBrushScope(zrId) {\n    return {\n        zrId: zrId,\n        shadowCache: {},\n        patternCache: {},\n        gradientCache: {},\n        clipPathCache: {},\n        defs: {},\n        cssNodes: {},\n        cssAnims: {},\n        cssClassIdx: 0,\n        cssAnimIdx: 0,\n        shadowIdx: 0,\n        gradientIdx: 0,\n        patternIdx: 0,\n        clipPathIdx: 0\n    };\n}\nfunction createSVGVNode(width, height, children, useViewBox) {\n    return createVNode('svg', 'root', {\n        'width': width,\n        'height': height,\n        'xmlns': SVGNS,\n        'xmlns:xlink': XLINKNS,\n        'version': '1.1',\n        'baseProfile': 'full',\n        'viewBox': useViewBox ? \"0 0 \" + width + \" \" + height : false\n    }, children);\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/core.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/cssAnimation.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/cssAnimation.js ***!
  \***************************************************************************/
/*! exports provided: EASING_MAP, ANIMATE_STYLE_MAP, createCSSAnimation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EASING_MAP\", function() { return EASING_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ANIMATE_STYLE_MAP\", function() { return ANIMATE_STYLE_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCSSAnimation\", function() { return createCSSAnimation; });\n/* harmony import */ var _core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n/* harmony import */ var _core_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/core.js\");\n/* harmony import */ var _SVGPathRebuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SVGPathRebuilder.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/SVGPathRebuilder.js\");\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/helper.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _graphic_CompoundPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../graphic/CompoundPath.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/CompoundPath.js\");\n/* harmony import */ var _animation_cubicEasing_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../animation/cubicEasing.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/cubicEasing.js\");\n\n\n\n\n\n\n\n\nvar EASING_MAP = {\n    cubicIn: '0.32,0,0.67,0',\n    cubicOut: '0.33,1,0.68,1',\n    cubicInOut: '0.65,0,0.35,1',\n    quadraticIn: '0.11,0,0.5,0',\n    quadraticOut: '0.5,1,0.89,1',\n    quadraticInOut: '0.45,0,0.55,1',\n    quarticIn: '0.5,0,0.75,0',\n    quarticOut: '0.25,1,0.5,1',\n    quarticInOut: '0.76,0,0.24,1',\n    quinticIn: '0.64,0,0.78,0',\n    quinticOut: '0.22,1,0.36,1',\n    quinticInOut: '0.83,0,0.17,1',\n    sinusoidalIn: '0.12,0,0.39,0',\n    sinusoidalOut: '0.61,1,0.88,1',\n    sinusoidalInOut: '0.37,0,0.63,1',\n    exponentialIn: '0.7,0,0.84,0',\n    exponentialOut: '0.16,1,0.3,1',\n    exponentialInOut: '0.87,0,0.13,1',\n    circularIn: '0.55,0,1,0.45',\n    circularOut: '0,0.55,0.45,1',\n    circularInOut: '0.85,0,0.15,1'\n};\nvar transformOriginKey = 'transform-origin';\nfunction buildPathString(el, kfShape, path) {\n    var shape = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])({}, el.shape);\n    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(shape, kfShape);\n    el.buildPath(path, shape);\n    var svgPathBuilder = new _SVGPathRebuilder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    svgPathBuilder.reset(Object(_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"getPathPrecision\"])(el));\n    path.rebuildPath(svgPathBuilder, 1);\n    svgPathBuilder.generateStr();\n    return svgPathBuilder.getStr();\n}\nfunction setTransformOrigin(target, transform) {\n    var originX = transform.originX, originY = transform.originY;\n    if (originX || originY) {\n        target[transformOriginKey] = originX + \"px \" + originY + \"px\";\n    }\n}\nvar ANIMATE_STYLE_MAP = {\n    fill: 'fill',\n    opacity: 'opacity',\n    lineWidth: 'stroke-width',\n    lineDashOffset: 'stroke-dashoffset'\n};\nfunction addAnimation(cssAnim, scope) {\n    var animationName = scope.zrId + '-ani-' + scope.cssAnimIdx++;\n    scope.cssAnims[animationName] = cssAnim;\n    return animationName;\n}\nfunction createCompoundPathCSSAnimation(el, attrs, scope) {\n    var paths = el.shape.paths;\n    var composedAnim = {};\n    var cssAnimationCfg;\n    var cssAnimationName;\n    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"each\"])(paths, function (path) {\n        var subScope = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createBrushScope\"])(scope.zrId);\n        subScope.animation = true;\n        createCSSAnimation(path, {}, subScope, true);\n        var cssAnims = subScope.cssAnims;\n        var cssNodes = subScope.cssNodes;\n        var animNames = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"keys\"])(cssAnims);\n        var len = animNames.length;\n        if (!len) {\n            return;\n        }\n        cssAnimationName = animNames[len - 1];\n        var lastAnim = cssAnims[cssAnimationName];\n        for (var percent in lastAnim) {\n            var kf = lastAnim[percent];\n            composedAnim[percent] = composedAnim[percent] || { d: '' };\n            composedAnim[percent].d += kf.d || '';\n        }\n        for (var className in cssNodes) {\n            var val = cssNodes[className].animation;\n            if (val.indexOf(cssAnimationName) >= 0) {\n                cssAnimationCfg = val;\n            }\n        }\n    });\n    if (!cssAnimationCfg) {\n        return;\n    }\n    attrs.d = false;\n    var animationName = addAnimation(composedAnim, scope);\n    return cssAnimationCfg.replace(cssAnimationName, animationName);\n}\nfunction getEasingFunc(easing) {\n    return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isString\"])(easing)\n        ? EASING_MAP[easing]\n            ? \"cubic-bezier(\" + EASING_MAP[easing] + \")\"\n            : Object(_animation_cubicEasing_js__WEBPACK_IMPORTED_MODULE_7__[\"createCubicEasingFunc\"])(easing) ? easing : ''\n        : '';\n}\nfunction createCSSAnimation(el, attrs, scope, onlyShape) {\n    var animators = el.animators;\n    var len = animators.length;\n    var cssAnimations = [];\n    if (el instanceof _graphic_CompoundPath_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n        var animationCfg = createCompoundPathCSSAnimation(el, attrs, scope);\n        if (animationCfg) {\n            cssAnimations.push(animationCfg);\n        }\n        else if (!len) {\n            return;\n        }\n    }\n    else if (!len) {\n        return;\n    }\n    var groupAnimators = {};\n    for (var i = 0; i < len; i++) {\n        var animator = animators[i];\n        var cfgArr = [animator.getMaxTime() / 1000 + 's'];\n        var easing = getEasingFunc(animator.getClip().easing);\n        var delay = animator.getDelay();\n        if (easing) {\n            cfgArr.push(easing);\n        }\n        else {\n            cfgArr.push('linear');\n        }\n        if (delay) {\n            cfgArr.push(delay / 1000 + 's');\n        }\n        if (animator.getLoop()) {\n            cfgArr.push('infinite');\n        }\n        var cfg = cfgArr.join(' ');\n        groupAnimators[cfg] = groupAnimators[cfg] || [cfg, []];\n        groupAnimators[cfg][1].push(animator);\n    }\n    function createSingleCSSAnimation(groupAnimator) {\n        var animators = groupAnimator[1];\n        var len = animators.length;\n        var transformKfs = {};\n        var shapeKfs = {};\n        var finalKfs = {};\n        var animationTimingFunctionAttrName = 'animation-timing-function';\n        function saveAnimatorTrackToCssKfs(animator, cssKfs, toCssAttrName) {\n            var tracks = animator.getTracks();\n            var maxTime = animator.getMaxTime();\n            for (var k = 0; k < tracks.length; k++) {\n                var track = tracks[k];\n                if (track.needsAnimate()) {\n                    var kfs = track.keyframes;\n                    var attrName = track.propName;\n                    toCssAttrName && (attrName = toCssAttrName(attrName));\n                    if (attrName) {\n                        for (var i = 0; i < kfs.length; i++) {\n                            var kf = kfs[i];\n                            var percent = Math.round(kf.time / maxTime * 100) + '%';\n                            var kfEasing = getEasingFunc(kf.easing);\n                            var rawValue = kf.rawValue;\n                            if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isString\"])(rawValue) || Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"isNumber\"])(rawValue)) {\n                                cssKfs[percent] = cssKfs[percent] || {};\n                                cssKfs[percent][attrName] = kf.rawValue;\n                                if (kfEasing) {\n                                    cssKfs[percent][animationTimingFunctionAttrName] = kfEasing;\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n        for (var i = 0; i < len; i++) {\n            var animator = animators[i];\n            var targetProp = animator.targetName;\n            if (!targetProp) {\n                !onlyShape && saveAnimatorTrackToCssKfs(animator, transformKfs);\n            }\n            else if (targetProp === 'shape') {\n                saveAnimatorTrackToCssKfs(animator, shapeKfs);\n            }\n        }\n        for (var percent in transformKfs) {\n            var transform = {};\n            Object(_core_Transformable_js__WEBPACK_IMPORTED_MODULE_0__[\"copyTransform\"])(transform, el);\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"extend\"])(transform, transformKfs[percent]);\n            var str = Object(_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"getSRTTransformString\"])(transform);\n            var timingFunction = transformKfs[percent][animationTimingFunctionAttrName];\n            finalKfs[percent] = str ? {\n                transform: str\n            } : {};\n            setTransformOrigin(finalKfs[percent], transform);\n            if (timingFunction) {\n                finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;\n            }\n        }\n        ;\n        var path;\n        var canAnimateShape = true;\n        for (var percent in shapeKfs) {\n            finalKfs[percent] = finalKfs[percent] || {};\n            var isFirst = !path;\n            var timingFunction = shapeKfs[percent][animationTimingFunctionAttrName];\n            if (isFirst) {\n                path = new _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n            }\n            var len_1 = path.len();\n            path.reset();\n            finalKfs[percent].d = buildPathString(el, shapeKfs[percent], path);\n            var newLen = path.len();\n            if (!isFirst && len_1 !== newLen) {\n                canAnimateShape = false;\n                break;\n            }\n            if (timingFunction) {\n                finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;\n            }\n        }\n        ;\n        if (!canAnimateShape) {\n            for (var percent in finalKfs) {\n                delete finalKfs[percent].d;\n            }\n        }\n        if (!onlyShape) {\n            for (var i = 0; i < len; i++) {\n                var animator = animators[i];\n                var targetProp = animator.targetName;\n                if (targetProp === 'style') {\n                    saveAnimatorTrackToCssKfs(animator, finalKfs, function (propName) { return ANIMATE_STYLE_MAP[propName]; });\n                }\n            }\n        }\n        var percents = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"keys\"])(finalKfs);\n        var allTransformOriginSame = true;\n        var transformOrigin;\n        for (var i = 1; i < percents.length; i++) {\n            var p0 = percents[i - 1];\n            var p1 = percents[i];\n            if (finalKfs[p0][transformOriginKey] !== finalKfs[p1][transformOriginKey]) {\n                allTransformOriginSame = false;\n                break;\n            }\n            transformOrigin = finalKfs[p0][transformOriginKey];\n        }\n        if (allTransformOriginSame && transformOrigin) {\n            for (var percent in finalKfs) {\n                if (finalKfs[percent][transformOriginKey]) {\n                    delete finalKfs[percent][transformOriginKey];\n                }\n            }\n            attrs[transformOriginKey] = transformOrigin;\n        }\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"filter\"])(percents, function (percent) { return Object(_core_util_js__WEBPACK_IMPORTED_MODULE_5__[\"keys\"])(finalKfs[percent]).length > 0; }).length) {\n            var animationName = addAnimation(finalKfs, scope);\n            return animationName + \" \" + groupAnimator[0] + \" both\";\n        }\n    }\n    for (var key in groupAnimators) {\n        var animationCfg = createSingleCSSAnimation(groupAnimators[key]);\n        if (animationCfg) {\n            cssAnimations.push(animationCfg);\n        }\n    }\n    if (cssAnimations.length) {\n        var className = scope.zrId + '-cls-' + scope.cssClassIdx++;\n        scope.cssNodes['.' + className] = {\n            animation: cssAnimations.join(',')\n        };\n        attrs[\"class\"] = className;\n    }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/cssAnimation.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/domapi.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/domapi.js ***!
  \*********************************************************************/
/*! exports provided: createTextNode, createComment, insertBefore, removeChild, appendChild, parentNode, nextSibling, tagName, setTextContent, getTextContent, isElement, isText, isComment */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTextNode\", function() { return createTextNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createComment\", function() { return createComment; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insertBefore\", function() { return insertBefore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeChild\", function() { return removeChild; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appendChild\", function() { return appendChild; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parentNode\", function() { return parentNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextSibling\", function() { return nextSibling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tagName\", function() { return tagName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextContent\", function() { return setTextContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTextContent\", function() { return getTextContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return isElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isText\", function() { return isText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isComment\", function() { return isComment; });\nfunction createTextNode(text) {\n    return document.createTextNode(text);\n}\nfunction createComment(text) {\n    return document.createComment(text);\n}\nfunction insertBefore(parentNode, newNode, referenceNode) {\n    parentNode.insertBefore(newNode, referenceNode);\n}\nfunction removeChild(node, child) {\n    node.removeChild(child);\n}\nfunction appendChild(node, child) {\n    node.appendChild(child);\n}\nfunction parentNode(node) {\n    return node.parentNode;\n}\nfunction nextSibling(node) {\n    return node.nextSibling;\n}\nfunction tagName(elm) {\n    return elm.tagName;\n}\nfunction setTextContent(node, text) {\n    node.textContent = text;\n}\nfunction getTextContent(node) {\n    return node.textContent;\n}\nfunction isElement(node) {\n    return node.nodeType === 1;\n}\nfunction isText(node) {\n    return node.nodeType === 3;\n}\nfunction isComment(node) {\n    return node.nodeType === 8;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/domapi.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/graphic.js":
/*!**********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/graphic.js ***!
  \**********************************************************************/
/*! exports provided: brushSVGPath, brushSVGImage, brushSVGTSpan, brush, setClipPath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brushSVGPath\", function() { return brushSVGPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brushSVGImage\", function() { return brushSVGImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brushSVGTSpan\", function() { return brushSVGTSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brush\", function() { return brush; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setClipPath\", function() { return setClipPath; });\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/helper.js\");\n/* harmony import */ var _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _graphic_Image_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _contain_text_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../contain/text.js */ \"./node_modules/echarts/node_modules/zrender/lib/contain/text.js\");\n/* harmony import */ var _graphic_TSpan_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../graphic/TSpan.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js\");\n/* harmony import */ var _SVGPathRebuilder_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SVGPathRebuilder.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/SVGPathRebuilder.js\");\n/* harmony import */ var _mapStyleToAttrs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mapStyleToAttrs.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/mapStyleToAttrs.js\");\n/* harmony import */ var _core_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/core.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../graphic/helper/image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/helper/image.js\");\n/* harmony import */ var _cssAnimation_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./cssAnimation.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/cssAnimation.js\");\n/* harmony import */ var _graphic_Text_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../graphic/Text.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Text.js\");\n/* harmony import */ var _core_platform_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../core/platform.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/platform.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar round = Math.round;\nfunction isImageLike(val) {\n    return val && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"isString\"])(val.src);\n}\nfunction isCanvasLike(val) {\n    return val && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"isFunction\"])(val.toDataURL);\n}\nfunction setStyleAttrs(attrs, style, el, scope) {\n    Object(_mapStyleToAttrs_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (key, val) {\n        var isFillStroke = key === 'fill' || key === 'stroke';\n        if (isFillStroke && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isGradient\"])(val)) {\n            setGradient(style, attrs, key, scope);\n        }\n        else if (isFillStroke && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isPattern\"])(val)) {\n            setPattern(el, attrs, key, scope);\n        }\n        else {\n            attrs[key] = val;\n        }\n    }, style, el, false);\n    setShadow(el, attrs, scope);\n}\nfunction noRotateScale(m) {\n    return Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(m[0] - 1)\n        && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(m[1])\n        && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(m[2])\n        && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(m[3] - 1);\n}\nfunction noTranslate(m) {\n    return Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(m[4]) && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isAroundZero\"])(m[5]);\n}\nfunction setTransform(attrs, m, compress) {\n    if (m && !(noTranslate(m) && noRotateScale(m))) {\n        var mul = compress ? 10 : 1e4;\n        attrs.transform = noRotateScale(m)\n            ? \"translate(\" + round(m[4] * mul) / mul + \" \" + round(m[5] * mul) / mul + \")\" : Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getMatrixStr\"])(m);\n    }\n}\nfunction convertPolyShape(shape, attrs, mul) {\n    var points = shape.points;\n    var strArr = [];\n    for (var i = 0; i < points.length; i++) {\n        strArr.push(round(points[i][0] * mul) / mul);\n        strArr.push(round(points[i][1] * mul) / mul);\n    }\n    attrs.points = strArr.join(' ');\n}\nfunction validatePolyShape(shape) {\n    return !shape.smooth;\n}\nfunction createAttrsConvert(desc) {\n    var normalizedDesc = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(desc, function (item) {\n        return (typeof item === 'string' ? [item, item] : item);\n    });\n    return function (shape, attrs, mul) {\n        for (var i = 0; i < normalizedDesc.length; i++) {\n            var item = normalizedDesc[i];\n            var val = shape[item[0]];\n            if (val != null) {\n                attrs[item[1]] = round(val * mul) / mul;\n            }\n        }\n    };\n}\nvar buitinShapesDef = {\n    circle: [createAttrsConvert(['cx', 'cy', 'r'])],\n    polyline: [convertPolyShape, validatePolyShape],\n    polygon: [convertPolyShape, validatePolyShape]\n};\nfunction hasShapeAnimation(el) {\n    var animators = el.animators;\n    for (var i = 0; i < animators.length; i++) {\n        if (animators[i].targetName === 'shape') {\n            return true;\n        }\n    }\n    return false;\n}\nfunction brushSVGPath(el, scope) {\n    var style = el.style;\n    var shape = el.shape;\n    var builtinShpDef = buitinShapesDef[el.type];\n    var attrs = {};\n    var needsAnimate = scope.animation;\n    var svgElType = 'path';\n    var strokePercent = el.style.strokePercent;\n    var precision = (scope.compress && Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getPathPrecision\"])(el)) || 4;\n    if (builtinShpDef\n        && !scope.willUpdate\n        && !(builtinShpDef[1] && !builtinShpDef[1](shape))\n        && !(needsAnimate && hasShapeAnimation(el))\n        && !(strokePercent < 1)) {\n        svgElType = el.type;\n        var mul = Math.pow(10, precision);\n        builtinShpDef[0](shape, attrs, mul);\n    }\n    else {\n        if (!el.path) {\n            el.createPathProxy();\n        }\n        var path = el.path;\n        if (el.shapeChanged()) {\n            path.beginPath();\n            el.buildPath(path, el.shape);\n            el.pathUpdated();\n        }\n        var pathVersion = path.getVersion();\n        var elExt = el;\n        var svgPathBuilder = elExt.__svgPathBuilder;\n        if (elExt.__svgPathVersion !== pathVersion\n            || !svgPathBuilder\n            || strokePercent !== elExt.__svgPathStrokePercent) {\n            if (!svgPathBuilder) {\n                svgPathBuilder = elExt.__svgPathBuilder = new _SVGPathRebuilder_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n            }\n            svgPathBuilder.reset(precision);\n            path.rebuildPath(svgPathBuilder, strokePercent);\n            svgPathBuilder.generateStr();\n            elExt.__svgPathVersion = pathVersion;\n            elExt.__svgPathStrokePercent = strokePercent;\n        }\n        attrs.d = svgPathBuilder.getStr();\n    }\n    setTransform(attrs, el.transform);\n    setStyleAttrs(attrs, style, el, scope);\n    scope.animation && Object(_cssAnimation_js__WEBPACK_IMPORTED_MODULE_10__[\"createCSSAnimation\"])(el, attrs, scope);\n    return Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])(svgElType, el.id + '', attrs);\n}\nfunction brushSVGImage(el, scope) {\n    var style = el.style;\n    var image = style.image;\n    if (image && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"isString\"])(image)) {\n        if (isImageLike(image)) {\n            image = image.src;\n        }\n        else if (isCanvasLike(image)) {\n            image = image.toDataURL();\n        }\n    }\n    if (!image) {\n        return;\n    }\n    var x = style.x || 0;\n    var y = style.y || 0;\n    var dw = style.width;\n    var dh = style.height;\n    var attrs = {\n        href: image,\n        width: dw,\n        height: dh\n    };\n    if (x) {\n        attrs.x = x;\n    }\n    if (y) {\n        attrs.y = y;\n    }\n    setTransform(attrs, el.transform);\n    setStyleAttrs(attrs, style, el, scope);\n    scope.animation && Object(_cssAnimation_js__WEBPACK_IMPORTED_MODULE_10__[\"createCSSAnimation\"])(el, attrs, scope);\n    return Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('image', el.id + '', attrs);\n}\n;\nfunction brushSVGTSpan(el, scope) {\n    var style = el.style;\n    var text = style.text;\n    text != null && (text += '');\n    if (!text || isNaN(style.x) || isNaN(style.y)) {\n        return;\n    }\n    var font = style.font || _core_platform_js__WEBPACK_IMPORTED_MODULE_12__[\"DEFAULT_FONT\"];\n    var x = style.x || 0;\n    var y = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"adjustTextY\"])(style.y || 0, Object(_contain_text_js__WEBPACK_IMPORTED_MODULE_3__[\"getLineHeight\"])(font), style.textBaseline);\n    var textAlign = _helper_js__WEBPACK_IMPORTED_MODULE_0__[\"TEXT_ALIGN_TO_ANCHOR\"][style.textAlign]\n        || style.textAlign;\n    var attrs = {\n        'dominant-baseline': 'central',\n        'text-anchor': textAlign\n    };\n    if (Object(_graphic_Text_js__WEBPACK_IMPORTED_MODULE_11__[\"hasSeparateFont\"])(style)) {\n        var separatedFontStr = '';\n        var fontStyle = style.fontStyle;\n        var fontSize = Object(_graphic_Text_js__WEBPACK_IMPORTED_MODULE_11__[\"parseFontSize\"])(style.fontSize);\n        if (!parseFloat(fontSize)) {\n            return;\n        }\n        var fontFamily = style.fontFamily || _core_platform_js__WEBPACK_IMPORTED_MODULE_12__[\"DEFAULT_FONT_FAMILY\"];\n        var fontWeight = style.fontWeight;\n        separatedFontStr += \"font-size:\" + fontSize + \";font-family:\" + fontFamily + \";\";\n        if (fontStyle && fontStyle !== 'normal') {\n            separatedFontStr += \"font-style:\" + fontStyle + \";\";\n        }\n        if (fontWeight && fontWeight !== 'normal') {\n            separatedFontStr += \"font-weight:\" + fontWeight + \";\";\n        }\n        attrs.style = separatedFontStr;\n    }\n    else {\n        attrs.style = \"font: \" + font;\n    }\n    if (text.match(/\\s/)) {\n        attrs['xml:space'] = 'preserve';\n    }\n    if (x) {\n        attrs.x = x;\n    }\n    if (y) {\n        attrs.y = y;\n    }\n    setTransform(attrs, el.transform);\n    setStyleAttrs(attrs, style, el, scope);\n    scope.animation && Object(_cssAnimation_js__WEBPACK_IMPORTED_MODULE_10__[\"createCSSAnimation\"])(el, attrs, scope);\n    return Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('text', el.id + '', attrs, undefined, text);\n}\nfunction brush(el, scope) {\n    if (el instanceof _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n        return brushSVGPath(el, scope);\n    }\n    else if (el instanceof _graphic_Image_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n        return brushSVGImage(el, scope);\n    }\n    else if (el instanceof _graphic_TSpan_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n        return brushSVGTSpan(el, scope);\n    }\n}\nfunction setShadow(el, attrs, scope) {\n    var style = el.style;\n    if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"hasShadow\"])(style)) {\n        var shadowKey = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getShadowKey\"])(el);\n        var shadowCache = scope.shadowCache;\n        var shadowId = shadowCache[shadowKey];\n        if (!shadowId) {\n            var globalScale = el.getGlobalScale();\n            var scaleX = globalScale[0];\n            var scaleY = globalScale[1];\n            if (!scaleX || !scaleY) {\n                return;\n            }\n            var offsetX = style.shadowOffsetX || 0;\n            var offsetY = style.shadowOffsetY || 0;\n            var blur_1 = style.shadowBlur;\n            var _a = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeColor\"])(style.shadowColor), opacity = _a.opacity, color = _a.color;\n            var stdDx = blur_1 / 2 / scaleX;\n            var stdDy = blur_1 / 2 / scaleY;\n            var stdDeviation = stdDx + ' ' + stdDy;\n            shadowId = scope.zrId + '-s' + scope.shadowIdx++;\n            scope.defs[shadowId] = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('filter', shadowId, {\n                'id': shadowId,\n                'x': '-100%',\n                'y': '-100%',\n                'width': '300%',\n                'height': '300%'\n            }, [\n                Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('feDropShadow', '', {\n                    'dx': offsetX / scaleX,\n                    'dy': offsetY / scaleY,\n                    'stdDeviation': stdDeviation,\n                    'flood-color': color,\n                    'flood-opacity': opacity\n                })\n            ]);\n            shadowCache[shadowKey] = shadowId;\n        }\n        attrs.filter = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getIdURL\"])(shadowId);\n    }\n}\nfunction setGradient(style, attrs, target, scope) {\n    var val = style[target];\n    var gradientTag;\n    var gradientAttrs = {\n        'gradientUnits': val.global\n            ? 'userSpaceOnUse'\n            : 'objectBoundingBox'\n    };\n    if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isLinearGradient\"])(val)) {\n        gradientTag = 'linearGradient';\n        gradientAttrs.x1 = val.x;\n        gradientAttrs.y1 = val.y;\n        gradientAttrs.x2 = val.x2;\n        gradientAttrs.y2 = val.y2;\n    }\n    else if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isRadialGradient\"])(val)) {\n        gradientTag = 'radialGradient';\n        gradientAttrs.cx = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve2\"])(val.x, 0.5);\n        gradientAttrs.cy = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve2\"])(val.y, 0.5);\n        gradientAttrs.r = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"retrieve2\"])(val.r, 0.5);\n    }\n    else {\n        if (true) {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"logError\"])('Illegal gradient type.');\n        }\n        return;\n    }\n    var colors = val.colorStops;\n    var colorStops = [];\n    for (var i = 0, len = colors.length; i < len; ++i) {\n        var offset = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"round4\"])(colors[i].offset) * 100 + '%';\n        var stopColor = colors[i].color;\n        var _a = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"normalizeColor\"])(stopColor), color = _a.color, opacity = _a.opacity;\n        var stopsAttrs = {\n            'offset': offset\n        };\n        stopsAttrs['stop-color'] = color;\n        if (opacity < 1) {\n            stopsAttrs['stop-opacity'] = opacity;\n        }\n        colorStops.push(Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('stop', i + '', stopsAttrs));\n    }\n    var gradientVNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])(gradientTag, '', gradientAttrs, colorStops);\n    var gradientKey = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"vNodeToString\"])(gradientVNode);\n    var gradientCache = scope.gradientCache;\n    var gradientId = gradientCache[gradientKey];\n    if (!gradientId) {\n        gradientId = scope.zrId + '-g' + scope.gradientIdx++;\n        gradientCache[gradientKey] = gradientId;\n        gradientAttrs.id = gradientId;\n        scope.defs[gradientId] = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])(gradientTag, gradientId, gradientAttrs, colorStops);\n    }\n    attrs[target] = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getIdURL\"])(gradientId);\n}\nfunction setPattern(el, attrs, target, scope) {\n    var val = el.style[target];\n    var patternAttrs = {\n        'patternUnits': 'userSpaceOnUse'\n    };\n    var child;\n    if (Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"isImagePattern\"])(val)) {\n        var imageWidth_1 = val.imageWidth;\n        var imageHeight_1 = val.imageHeight;\n        var imageSrc = void 0;\n        var patternImage = val.image;\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"isString\"])(patternImage)) {\n            imageSrc = patternImage;\n        }\n        else if (isImageLike(patternImage)) {\n            imageSrc = patternImage.src;\n        }\n        else if (isCanvasLike(patternImage)) {\n            imageSrc = patternImage.toDataURL();\n        }\n        if (typeof Image === 'undefined') {\n            var errMsg = 'Image width/height must been given explictly in svg-ssr renderer.';\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"assert\"])(imageWidth_1, errMsg);\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"assert\"])(imageHeight_1, errMsg);\n        }\n        else if (imageWidth_1 == null || imageHeight_1 == null) {\n            var setSizeToVNode_1 = function (vNode, img) {\n                if (vNode) {\n                    var svgEl = vNode.elm;\n                    var width = (vNode.attrs.width = imageWidth_1 || img.width);\n                    var height = (vNode.attrs.height = imageHeight_1 || img.height);\n                    if (svgEl) {\n                        svgEl.setAttribute('width', width);\n                        svgEl.setAttribute('height', height);\n                    }\n                }\n            };\n            var createdImage = Object(_graphic_helper_image_js__WEBPACK_IMPORTED_MODULE_9__[\"createOrUpdateImage\"])(imageSrc, null, el, function (img) {\n                setSizeToVNode_1(patternVNode, img);\n                setSizeToVNode_1(child, img);\n            });\n            if (createdImage && createdImage.width && createdImage.height) {\n                imageWidth_1 = imageWidth_1 || createdImage.width;\n                imageHeight_1 = imageHeight_1 || createdImage.height;\n            }\n        }\n        child = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('image', 'img', {\n            href: imageSrc,\n            width: imageWidth_1,\n            height: imageHeight_1\n        });\n        patternAttrs.width = imageWidth_1;\n        patternAttrs.height = imageHeight_1;\n    }\n    else if (val.svgElement) {\n        child = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_8__[\"clone\"])(val.svgElement);\n        patternAttrs.width = val.svgWidth;\n        patternAttrs.height = val.svgHeight;\n    }\n    if (!child) {\n        return;\n    }\n    patternAttrs.patternTransform = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getSRTTransformString\"])(val);\n    var patternVNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('pattern', '', patternAttrs, [child]);\n    var patternKey = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"vNodeToString\"])(patternVNode);\n    var patternCache = scope.patternCache;\n    var patternId = patternCache[patternKey];\n    if (!patternId) {\n        patternId = scope.zrId + '-p' + scope.patternIdx++;\n        patternCache[patternKey] = patternId;\n        patternAttrs.id = patternId;\n        patternVNode = scope.defs[patternId] = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('pattern', patternId, patternAttrs, [child]);\n    }\n    attrs[target] = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getIdURL\"])(patternId);\n}\nfunction setClipPath(clipPath, attrs, scope) {\n    var clipPathCache = scope.clipPathCache, defs = scope.defs;\n    var clipPathId = clipPathCache[clipPath.id];\n    if (!clipPathId) {\n        clipPathId = scope.zrId + '-c' + scope.clipPathIdx++;\n        var clipPathAttrs = {\n            id: clipPathId\n        };\n        clipPathCache[clipPath.id] = clipPathId;\n        defs[clipPathId] = Object(_core_js__WEBPACK_IMPORTED_MODULE_7__[\"createVNode\"])('clipPath', clipPathId, clipPathAttrs, [brushSVGPath(clipPath, scope)]);\n    }\n    attrs['clip-path'] = Object(_helper_js__WEBPACK_IMPORTED_MODULE_0__[\"getIdURL\"])(clipPathId);\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/graphic.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/helper.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/helper.js ***!
  \*********************************************************************/
/*! exports provided: normalizeColor, isAroundZero, round3, round4, round1, getMatrixStr, TEXT_ALIGN_TO_ANCHOR, adjustTextY, hasShadow, getShadowKey, getClipPathsKey, isImagePattern, isSVGPattern, isPattern, isLinearGradient, isRadialGradient, isGradient, getIdURL, getPathPrecision, getSRTTransformString, encodeBase64 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeColor\", function() { return normalizeColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isAroundZero\", function() { return isAroundZero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round3\", function() { return round3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round4\", function() { return round4; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round1\", function() { return round1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMatrixStr\", function() { return getMatrixStr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TEXT_ALIGN_TO_ANCHOR\", function() { return TEXT_ALIGN_TO_ANCHOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"adjustTextY\", function() { return adjustTextY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasShadow\", function() { return hasShadow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getShadowKey\", function() { return getShadowKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getClipPathsKey\", function() { return getClipPathsKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isImagePattern\", function() { return isImagePattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSVGPattern\", function() { return isSVGPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPattern\", function() { return isPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isLinearGradient\", function() { return isLinearGradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRadialGradient\", function() { return isRadialGradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isGradient\", function() { return isGradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getIdURL\", function() { return getIdURL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPathPrecision\", function() { return getPathPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSRTTransformString\", function() { return getSRTTransformString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encodeBase64\", function() { return encodeBase64; });\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _tool_color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _core_env_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n\n\n\nvar mathRound = Math.round;\nfunction normalizeColor(color) {\n    var opacity;\n    if (!color || color === 'transparent') {\n        color = 'none';\n    }\n    else if (typeof color === 'string' && color.indexOf('rgba') > -1) {\n        var arr = Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(color);\n        if (arr) {\n            color = 'rgb(' + arr[0] + ',' + arr[1] + ',' + arr[2] + ')';\n            opacity = arr[3];\n        }\n    }\n    return {\n        color: color,\n        opacity: opacity == null ? 1 : opacity\n    };\n}\nvar EPSILON = 1e-4;\nfunction isAroundZero(transform) {\n    return transform < EPSILON && transform > -EPSILON;\n}\nfunction round3(transform) {\n    return mathRound(transform * 1e3) / 1e3;\n}\nfunction round4(transform) {\n    return mathRound(transform * 1e4) / 1e4;\n}\nfunction round1(transform) {\n    return mathRound(transform * 10) / 10;\n}\nfunction getMatrixStr(m) {\n    return 'matrix('\n        + round3(m[0]) + ','\n        + round3(m[1]) + ','\n        + round3(m[2]) + ','\n        + round3(m[3]) + ','\n        + round4(m[4]) + ','\n        + round4(m[5])\n        + ')';\n}\nvar TEXT_ALIGN_TO_ANCHOR = {\n    left: 'start',\n    right: 'end',\n    center: 'middle',\n    middle: 'middle'\n};\nfunction adjustTextY(y, lineHeight, textBaseline) {\n    if (textBaseline === 'top') {\n        y += lineHeight / 2;\n    }\n    else if (textBaseline === 'bottom') {\n        y -= lineHeight / 2;\n    }\n    return y;\n}\nfunction hasShadow(style) {\n    return style\n        && (style.shadowBlur || style.shadowOffsetX || style.shadowOffsetY);\n}\nfunction getShadowKey(displayable) {\n    var style = displayable.style;\n    var globalScale = displayable.getGlobalScale();\n    return [\n        style.shadowColor,\n        (style.shadowBlur || 0).toFixed(2),\n        (style.shadowOffsetX || 0).toFixed(2),\n        (style.shadowOffsetY || 0).toFixed(2),\n        globalScale[0],\n        globalScale[1]\n    ].join(',');\n}\nfunction getClipPathsKey(clipPaths) {\n    var key = [];\n    if (clipPaths) {\n        for (var i = 0; i < clipPaths.length; i++) {\n            var clipPath = clipPaths[i];\n            key.push(clipPath.id);\n        }\n    }\n    return key.join(',');\n}\nfunction isImagePattern(val) {\n    return val && (!!val.image);\n}\nfunction isSVGPattern(val) {\n    return val && (!!val.svgElement);\n}\nfunction isPattern(val) {\n    return isImagePattern(val) || isSVGPattern(val);\n}\nfunction isLinearGradient(val) {\n    return val.type === 'linear';\n}\nfunction isRadialGradient(val) {\n    return val.type === 'radial';\n}\nfunction isGradient(val) {\n    return val && (val.type === 'linear'\n        || val.type === 'radial');\n}\nfunction getIdURL(id) {\n    return \"url(#\" + id + \")\";\n}\nfunction getPathPrecision(el) {\n    var scale = el.getGlobalScale();\n    var size = Math.max(scale[0], scale[1]);\n    return Math.max(Math.ceil(Math.log(size) / Math.log(10)), 1);\n}\nfunction getSRTTransformString(transform) {\n    var x = transform.x || 0;\n    var y = transform.y || 0;\n    var rotation = (transform.rotation || 0) * _core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"RADIAN_TO_DEGREE\"];\n    var scaleX = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(transform.scaleX, 1);\n    var scaleY = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"retrieve2\"])(transform.scaleY, 1);\n    var skewX = transform.skewX || 0;\n    var skewY = transform.skewY || 0;\n    var res = [];\n    if (x || y) {\n        res.push(\"translate(\" + x + \"px,\" + y + \"px)\");\n    }\n    if (rotation) {\n        res.push(\"rotate(\" + rotation + \")\");\n    }\n    if (scaleX !== 1 || scaleY !== 1) {\n        res.push(\"scale(\" + scaleX + \",\" + scaleY + \")\");\n    }\n    if (skewX || skewY) {\n        res.push(\"skew(\" + mathRound(skewX * _core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"RADIAN_TO_DEGREE\"]) + \"deg, \" + mathRound(skewY * _core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"RADIAN_TO_DEGREE\"]) + \"deg)\");\n    }\n    return res.join(' ');\n}\nvar encodeBase64 = (function () {\n    if (_core_env_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].hasGlobalWindow && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isFunction\"])(window.btoa)) {\n        return function (str) {\n            return window.btoa(unescape(str));\n        };\n    }\n    if (typeof Buffer !== 'undefined') {\n        return function (str) {\n            return Buffer.from(str).toString('base64');\n        };\n    }\n    return function (str) {\n        if (true) {\n            Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"logError\"])('Base64 isn\\'t natively supported in the current environment.');\n        }\n        return null;\n    };\n})();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/helper.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/mapStyleToAttrs.js":
/*!******************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/mapStyleToAttrs.js ***!
  \******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mapStyleToAttrs; });\n/* harmony import */ var _graphic_Path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _graphic_Image_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _canvas_dashStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../canvas/dashStyle.js */ \"./node_modules/echarts/node_modules/zrender/lib/canvas/dashStyle.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _helper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/helper.js\");\n\n\n\n\n\nvar NONE = 'none';\nvar mathRound = Math.round;\nfunction pathHasFill(style) {\n    var fill = style.fill;\n    return fill != null && fill !== NONE;\n}\nfunction pathHasStroke(style) {\n    var stroke = style.stroke;\n    return stroke != null && stroke !== NONE;\n}\nvar strokeProps = ['lineCap', 'miterLimit', 'lineJoin'];\nvar svgStrokeProps = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(strokeProps, function (prop) { return \"stroke-\" + prop.toLowerCase(); });\nfunction mapStyleToAttrs(updateAttr, style, el, forceUpdate) {\n    var opacity = style.opacity == null ? 1 : style.opacity;\n    if (el instanceof _graphic_Image_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n        updateAttr('opacity', opacity);\n        return;\n    }\n    if (pathHasFill(style)) {\n        var fill = Object(_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"normalizeColor\"])(style.fill);\n        updateAttr('fill', fill.color);\n        var fillOpacity = style.fillOpacity != null\n            ? style.fillOpacity * fill.opacity * opacity\n            : fill.opacity * opacity;\n        if (forceUpdate || fillOpacity < 1) {\n            updateAttr('fill-opacity', fillOpacity);\n        }\n    }\n    else {\n        updateAttr('fill', NONE);\n    }\n    if (pathHasStroke(style)) {\n        var stroke = Object(_helper_js__WEBPACK_IMPORTED_MODULE_4__[\"normalizeColor\"])(style.stroke);\n        updateAttr('stroke', stroke.color);\n        var strokeScale = style.strokeNoScale\n            ? el.getLineScale()\n            : 1;\n        var strokeWidth = (strokeScale ? (style.lineWidth || 0) / strokeScale : 0);\n        var strokeOpacity = style.strokeOpacity != null\n            ? style.strokeOpacity * stroke.opacity * opacity\n            : stroke.opacity * opacity;\n        var strokeFirst = style.strokeFirst;\n        if (forceUpdate || strokeWidth !== 1) {\n            updateAttr('stroke-width', strokeWidth);\n        }\n        if (forceUpdate || strokeFirst) {\n            updateAttr('paint-order', strokeFirst ? 'stroke' : 'fill');\n        }\n        if (forceUpdate || strokeOpacity < 1) {\n            updateAttr('stroke-opacity', strokeOpacity);\n        }\n        if (style.lineDash) {\n            var _a = Object(_canvas_dashStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"getLineDash\"])(el), lineDash = _a[0], lineDashOffset = _a[1];\n            if (lineDash) {\n                lineDashOffset = mathRound(lineDashOffset || 0);\n                updateAttr('stroke-dasharray', lineDash.join(','));\n                if (lineDashOffset || forceUpdate) {\n                    updateAttr('stroke-dashoffset', lineDashOffset);\n                }\n            }\n        }\n        else if (forceUpdate) {\n            updateAttr('stroke-dasharray', NONE);\n        }\n        for (var i = 0; i < strokeProps.length; i++) {\n            var propName = strokeProps[i];\n            if (forceUpdate || style[propName] !== _graphic_Path_js__WEBPACK_IMPORTED_MODULE_0__[\"DEFAULT_PATH_STYLE\"][propName]) {\n                var val = style[propName] || _graphic_Path_js__WEBPACK_IMPORTED_MODULE_0__[\"DEFAULT_PATH_STYLE\"][propName];\n                val && updateAttr(svgStrokeProps[i], val);\n            }\n        }\n    }\n    else if (forceUpdate) {\n        updateAttr('stroke', NONE);\n    }\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/mapStyleToAttrs.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/svg/patch.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/svg/patch.js ***!
  \********************************************************************/
/*! exports provided: updateAttrs, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateAttrs\", function() { return updateAttrs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return patch; });\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/core.js\");\n/* harmony import */ var _domapi_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./domapi.js */ \"./node_modules/echarts/node_modules/zrender/lib/svg/domapi.js\");\n\n\n\nvar colonChar = 58;\nvar xChar = 120;\nvar emptyNode = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createVNode\"])('', '');\nfunction isUndef(s) {\n    return s === undefined;\n}\nfunction isDef(s) {\n    return s !== undefined;\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n    var map = {};\n    for (var i = beginIdx; i <= endIdx; ++i) {\n        var key = children[i].key;\n        if (key !== undefined) {\n            if (true) {\n                if (map[key] != null) {\n                    console.error(\"Duplicate key \" + key);\n                }\n            }\n            map[key] = i;\n        }\n    }\n    return map;\n}\nfunction sameVnode(vnode1, vnode2) {\n    var isSameKey = vnode1.key === vnode2.key;\n    var isSameTag = vnode1.tag === vnode2.tag;\n    return isSameTag && isSameKey;\n}\nfunction createElm(vnode) {\n    var i;\n    var children = vnode.children;\n    var tag = vnode.tag;\n    if (isDef(tag)) {\n        var elm = (vnode.elm = Object(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(tag));\n        updateAttrs(emptyNode, vnode);\n        if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(children)) {\n            for (i = 0; i < children.length; ++i) {\n                var ch = children[i];\n                if (ch != null) {\n                    _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"appendChild\"](elm, createElm(ch));\n                }\n            }\n        }\n        else if (isDef(vnode.text) && !Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"])(vnode.text)) {\n            _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"appendChild\"](elm, _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"createTextNode\"](vnode.text));\n        }\n    }\n    else {\n        vnode.elm = _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"createTextNode\"](vnode.text);\n    }\n    return vnode.elm;\n}\nfunction addVnodes(parentElm, before, vnodes, startIdx, endIdx) {\n    for (; startIdx <= endIdx; ++startIdx) {\n        var ch = vnodes[startIdx];\n        if (ch != null) {\n            _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parentElm, createElm(ch), before);\n        }\n    }\n}\nfunction removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n    for (; startIdx <= endIdx; ++startIdx) {\n        var ch = vnodes[startIdx];\n        if (ch != null) {\n            if (isDef(ch.tag)) {\n                var parent_1 = _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"parentNode\"](ch.elm);\n                _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"removeChild\"](parent_1, ch.elm);\n            }\n            else {\n                _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"removeChild\"](parentElm, ch.elm);\n            }\n        }\n    }\n}\nfunction updateAttrs(oldVnode, vnode) {\n    var key;\n    var elm = vnode.elm;\n    var oldAttrs = oldVnode && oldVnode.attrs || {};\n    var attrs = vnode.attrs || {};\n    if (oldAttrs === attrs) {\n        return;\n    }\n    for (key in attrs) {\n        var cur = attrs[key];\n        var old = oldAttrs[key];\n        if (old !== cur) {\n            if (cur === true) {\n                elm.setAttribute(key, '');\n            }\n            else if (cur === false) {\n                elm.removeAttribute(key);\n            }\n            else {\n                if (key.charCodeAt(0) !== xChar) {\n                    elm.setAttribute(key, cur);\n                }\n                else if (key === 'xmlns:xlink' || key === 'xmlns') {\n                    elm.setAttributeNS(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"XMLNS\"], key, cur);\n                }\n                else if (key.charCodeAt(3) === colonChar) {\n                    elm.setAttributeNS(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"XML_NAMESPACE\"], key, cur);\n                }\n                else if (key.charCodeAt(5) === colonChar) {\n                    elm.setAttributeNS(_core_js__WEBPACK_IMPORTED_MODULE_1__[\"XLINKNS\"], key, cur);\n                }\n                else {\n                    elm.setAttribute(key, cur);\n                }\n            }\n        }\n    }\n    for (key in oldAttrs) {\n        if (!(key in attrs)) {\n            elm.removeAttribute(key);\n        }\n    }\n}\nfunction updateChildren(parentElm, oldCh, newCh) {\n    var oldStartIdx = 0;\n    var newStartIdx = 0;\n    var oldEndIdx = oldCh.length - 1;\n    var oldStartVnode = oldCh[0];\n    var oldEndVnode = oldCh[oldEndIdx];\n    var newEndIdx = newCh.length - 1;\n    var newStartVnode = newCh[0];\n    var newEndVnode = newCh[newEndIdx];\n    var oldKeyToIdx;\n    var idxInOld;\n    var elmToMove;\n    var before;\n    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n        if (oldStartVnode == null) {\n            oldStartVnode = oldCh[++oldStartIdx];\n        }\n        else if (oldEndVnode == null) {\n            oldEndVnode = oldCh[--oldEndIdx];\n        }\n        else if (newStartVnode == null) {\n            newStartVnode = newCh[++newStartIdx];\n        }\n        else if (newEndVnode == null) {\n            newEndVnode = newCh[--newEndIdx];\n        }\n        else if (sameVnode(oldStartVnode, newStartVnode)) {\n            patchVnode(oldStartVnode, newStartVnode);\n            oldStartVnode = oldCh[++oldStartIdx];\n            newStartVnode = newCh[++newStartIdx];\n        }\n        else if (sameVnode(oldEndVnode, newEndVnode)) {\n            patchVnode(oldEndVnode, newEndVnode);\n            oldEndVnode = oldCh[--oldEndIdx];\n            newEndVnode = newCh[--newEndIdx];\n        }\n        else if (sameVnode(oldStartVnode, newEndVnode)) {\n            patchVnode(oldStartVnode, newEndVnode);\n            _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parentElm, oldStartVnode.elm, _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"nextSibling\"](oldEndVnode.elm));\n            oldStartVnode = oldCh[++oldStartIdx];\n            newEndVnode = newCh[--newEndIdx];\n        }\n        else if (sameVnode(oldEndVnode, newStartVnode)) {\n            patchVnode(oldEndVnode, newStartVnode);\n            _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parentElm, oldEndVnode.elm, oldStartVnode.elm);\n            oldEndVnode = oldCh[--oldEndIdx];\n            newStartVnode = newCh[++newStartIdx];\n        }\n        else {\n            if (isUndef(oldKeyToIdx)) {\n                oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n            }\n            idxInOld = oldKeyToIdx[newStartVnode.key];\n            if (isUndef(idxInOld)) {\n                _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parentElm, createElm(newStartVnode), oldStartVnode.elm);\n            }\n            else {\n                elmToMove = oldCh[idxInOld];\n                if (elmToMove.tag !== newStartVnode.tag) {\n                    _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parentElm, createElm(newStartVnode), oldStartVnode.elm);\n                }\n                else {\n                    patchVnode(elmToMove, newStartVnode);\n                    oldCh[idxInOld] = undefined;\n                    _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parentElm, elmToMove.elm, oldStartVnode.elm);\n                }\n            }\n            newStartVnode = newCh[++newStartIdx];\n        }\n    }\n    if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n        if (oldStartIdx > oldEndIdx) {\n            before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n            addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx);\n        }\n        else {\n            removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n        }\n    }\n}\nfunction patchVnode(oldVnode, vnode) {\n    var elm = (vnode.elm = oldVnode.elm);\n    var oldCh = oldVnode.children;\n    var ch = vnode.children;\n    if (oldVnode === vnode) {\n        return;\n    }\n    updateAttrs(oldVnode, vnode);\n    if (isUndef(vnode.text)) {\n        if (isDef(oldCh) && isDef(ch)) {\n            if (oldCh !== ch) {\n                updateChildren(elm, oldCh, ch);\n            }\n        }\n        else if (isDef(ch)) {\n            if (isDef(oldVnode.text)) {\n                _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"setTextContent\"](elm, '');\n            }\n            addVnodes(elm, null, ch, 0, ch.length - 1);\n        }\n        else if (isDef(oldCh)) {\n            removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n        }\n        else if (isDef(oldVnode.text)) {\n            _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"setTextContent\"](elm, '');\n        }\n    }\n    else if (oldVnode.text !== vnode.text) {\n        if (isDef(oldCh)) {\n            removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n        }\n        _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"setTextContent\"](elm, vnode.text);\n    }\n}\nfunction patch(oldVnode, vnode) {\n    if (sameVnode(oldVnode, vnode)) {\n        patchVnode(oldVnode, vnode);\n    }\n    else {\n        var elm = oldVnode.elm;\n        var parent_2 = _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"parentNode\"](elm);\n        createElm(vnode);\n        if (parent_2 !== null) {\n            _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"insertBefore\"](parent_2, vnode.elm, _domapi_js__WEBPACK_IMPORTED_MODULE_2__[\"nextSibling\"](elm));\n            removeVnodes(parent_2, [oldVnode], 0, 0);\n        }\n    }\n    return vnode;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/svg/patch.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/color.js":
/*!*********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/color.js ***!
  \*********************************************************************/
/*! exports provided: parse, lift, toHex, fastLerp, fastMapToColor, lerp, mapToColor, modifyHSL, modifyAlpha, stringify, lum, random */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lift\", function() { return lift; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toHex\", function() { return toHex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fastLerp\", function() { return fastLerp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fastMapToColor\", function() { return fastMapToColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lerp\", function() { return lerp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapToColor\", function() { return mapToColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifyHSL\", function() { return modifyHSL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifyAlpha\", function() { return modifyAlpha; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stringify\", function() { return stringify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lum\", function() { return lum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return random; });\n/* harmony import */ var _core_LRU_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/LRU.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/LRU.js\");\n\nvar kCSSColorTable = {\n    'transparent': [0, 0, 0, 0], 'aliceblue': [240, 248, 255, 1],\n    'antiquewhite': [250, 235, 215, 1], 'aqua': [0, 255, 255, 1],\n    'aquamarine': [127, 255, 212, 1], 'azure': [240, 255, 255, 1],\n    'beige': [245, 245, 220, 1], 'bisque': [255, 228, 196, 1],\n    'black': [0, 0, 0, 1], 'blanchedalmond': [255, 235, 205, 1],\n    'blue': [0, 0, 255, 1], 'blueviolet': [138, 43, 226, 1],\n    'brown': [165, 42, 42, 1], 'burlywood': [222, 184, 135, 1],\n    'cadetblue': [95, 158, 160, 1], 'chartreuse': [127, 255, 0, 1],\n    'chocolate': [210, 105, 30, 1], 'coral': [255, 127, 80, 1],\n    'cornflowerblue': [100, 149, 237, 1], 'cornsilk': [255, 248, 220, 1],\n    'crimson': [220, 20, 60, 1], 'cyan': [0, 255, 255, 1],\n    'darkblue': [0, 0, 139, 1], 'darkcyan': [0, 139, 139, 1],\n    'darkgoldenrod': [184, 134, 11, 1], 'darkgray': [169, 169, 169, 1],\n    'darkgreen': [0, 100, 0, 1], 'darkgrey': [169, 169, 169, 1],\n    'darkkhaki': [189, 183, 107, 1], 'darkmagenta': [139, 0, 139, 1],\n    'darkolivegreen': [85, 107, 47, 1], 'darkorange': [255, 140, 0, 1],\n    'darkorchid': [153, 50, 204, 1], 'darkred': [139, 0, 0, 1],\n    'darksalmon': [233, 150, 122, 1], 'darkseagreen': [143, 188, 143, 1],\n    'darkslateblue': [72, 61, 139, 1], 'darkslategray': [47, 79, 79, 1],\n    'darkslategrey': [47, 79, 79, 1], 'darkturquoise': [0, 206, 209, 1],\n    'darkviolet': [148, 0, 211, 1], 'deeppink': [255, 20, 147, 1],\n    'deepskyblue': [0, 191, 255, 1], 'dimgray': [105, 105, 105, 1],\n    'dimgrey': [105, 105, 105, 1], 'dodgerblue': [30, 144, 255, 1],\n    'firebrick': [178, 34, 34, 1], 'floralwhite': [255, 250, 240, 1],\n    'forestgreen': [34, 139, 34, 1], 'fuchsia': [255, 0, 255, 1],\n    'gainsboro': [220, 220, 220, 1], 'ghostwhite': [248, 248, 255, 1],\n    'gold': [255, 215, 0, 1], 'goldenrod': [218, 165, 32, 1],\n    'gray': [128, 128, 128, 1], 'green': [0, 128, 0, 1],\n    'greenyellow': [173, 255, 47, 1], 'grey': [128, 128, 128, 1],\n    'honeydew': [240, 255, 240, 1], 'hotpink': [255, 105, 180, 1],\n    'indianred': [205, 92, 92, 1], 'indigo': [75, 0, 130, 1],\n    'ivory': [255, 255, 240, 1], 'khaki': [240, 230, 140, 1],\n    'lavender': [230, 230, 250, 1], 'lavenderblush': [255, 240, 245, 1],\n    'lawngreen': [124, 252, 0, 1], 'lemonchiffon': [255, 250, 205, 1],\n    'lightblue': [173, 216, 230, 1], 'lightcoral': [240, 128, 128, 1],\n    'lightcyan': [224, 255, 255, 1], 'lightgoldenrodyellow': [250, 250, 210, 1],\n    'lightgray': [211, 211, 211, 1], 'lightgreen': [144, 238, 144, 1],\n    'lightgrey': [211, 211, 211, 1], 'lightpink': [255, 182, 193, 1],\n    'lightsalmon': [255, 160, 122, 1], 'lightseagreen': [32, 178, 170, 1],\n    'lightskyblue': [135, 206, 250, 1], 'lightslategray': [119, 136, 153, 1],\n    'lightslategrey': [119, 136, 153, 1], 'lightsteelblue': [176, 196, 222, 1],\n    'lightyellow': [255, 255, 224, 1], 'lime': [0, 255, 0, 1],\n    'limegreen': [50, 205, 50, 1], 'linen': [250, 240, 230, 1],\n    'magenta': [255, 0, 255, 1], 'maroon': [128, 0, 0, 1],\n    'mediumaquamarine': [102, 205, 170, 1], 'mediumblue': [0, 0, 205, 1],\n    'mediumorchid': [186, 85, 211, 1], 'mediumpurple': [147, 112, 219, 1],\n    'mediumseagreen': [60, 179, 113, 1], 'mediumslateblue': [123, 104, 238, 1],\n    'mediumspringgreen': [0, 250, 154, 1], 'mediumturquoise': [72, 209, 204, 1],\n    'mediumvioletred': [199, 21, 133, 1], 'midnightblue': [25, 25, 112, 1],\n    'mintcream': [245, 255, 250, 1], 'mistyrose': [255, 228, 225, 1],\n    'moccasin': [255, 228, 181, 1], 'navajowhite': [255, 222, 173, 1],\n    'navy': [0, 0, 128, 1], 'oldlace': [253, 245, 230, 1],\n    'olive': [128, 128, 0, 1], 'olivedrab': [107, 142, 35, 1],\n    'orange': [255, 165, 0, 1], 'orangered': [255, 69, 0, 1],\n    'orchid': [218, 112, 214, 1], 'palegoldenrod': [238, 232, 170, 1],\n    'palegreen': [152, 251, 152, 1], 'paleturquoise': [175, 238, 238, 1],\n    'palevioletred': [219, 112, 147, 1], 'papayawhip': [255, 239, 213, 1],\n    'peachpuff': [255, 218, 185, 1], 'peru': [205, 133, 63, 1],\n    'pink': [255, 192, 203, 1], 'plum': [221, 160, 221, 1],\n    'powderblue': [176, 224, 230, 1], 'purple': [128, 0, 128, 1],\n    'red': [255, 0, 0, 1], 'rosybrown': [188, 143, 143, 1],\n    'royalblue': [65, 105, 225, 1], 'saddlebrown': [139, 69, 19, 1],\n    'salmon': [250, 128, 114, 1], 'sandybrown': [244, 164, 96, 1],\n    'seagreen': [46, 139, 87, 1], 'seashell': [255, 245, 238, 1],\n    'sienna': [160, 82, 45, 1], 'silver': [192, 192, 192, 1],\n    'skyblue': [135, 206, 235, 1], 'slateblue': [106, 90, 205, 1],\n    'slategray': [112, 128, 144, 1], 'slategrey': [112, 128, 144, 1],\n    'snow': [255, 250, 250, 1], 'springgreen': [0, 255, 127, 1],\n    'steelblue': [70, 130, 180, 1], 'tan': [210, 180, 140, 1],\n    'teal': [0, 128, 128, 1], 'thistle': [216, 191, 216, 1],\n    'tomato': [255, 99, 71, 1], 'turquoise': [64, 224, 208, 1],\n    'violet': [238, 130, 238, 1], 'wheat': [245, 222, 179, 1],\n    'white': [255, 255, 255, 1], 'whitesmoke': [245, 245, 245, 1],\n    'yellow': [255, 255, 0, 1], 'yellowgreen': [154, 205, 50, 1]\n};\nfunction clampCssByte(i) {\n    i = Math.round(i);\n    return i < 0 ? 0 : i > 255 ? 255 : i;\n}\nfunction clampCssAngle(i) {\n    i = Math.round(i);\n    return i < 0 ? 0 : i > 360 ? 360 : i;\n}\nfunction clampCssFloat(f) {\n    return f < 0 ? 0 : f > 1 ? 1 : f;\n}\nfunction parseCssInt(val) {\n    var str = val;\n    if (str.length && str.charAt(str.length - 1) === '%') {\n        return clampCssByte(parseFloat(str) / 100 * 255);\n    }\n    return clampCssByte(parseInt(str, 10));\n}\nfunction parseCssFloat(val) {\n    var str = val;\n    if (str.length && str.charAt(str.length - 1) === '%') {\n        return clampCssFloat(parseFloat(str) / 100);\n    }\n    return clampCssFloat(parseFloat(str));\n}\nfunction cssHueToRgb(m1, m2, h) {\n    if (h < 0) {\n        h += 1;\n    }\n    else if (h > 1) {\n        h -= 1;\n    }\n    if (h * 6 < 1) {\n        return m1 + (m2 - m1) * h * 6;\n    }\n    if (h * 2 < 1) {\n        return m2;\n    }\n    if (h * 3 < 2) {\n        return m1 + (m2 - m1) * (2 / 3 - h) * 6;\n    }\n    return m1;\n}\nfunction lerpNumber(a, b, p) {\n    return a + (b - a) * p;\n}\nfunction setRgba(out, r, g, b, a) {\n    out[0] = r;\n    out[1] = g;\n    out[2] = b;\n    out[3] = a;\n    return out;\n}\nfunction copyRgba(out, a) {\n    out[0] = a[0];\n    out[1] = a[1];\n    out[2] = a[2];\n    out[3] = a[3];\n    return out;\n}\nvar colorCache = new _core_LRU_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](20);\nvar lastRemovedArr = null;\nfunction putToCache(colorStr, rgbaArr) {\n    if (lastRemovedArr) {\n        copyRgba(lastRemovedArr, rgbaArr);\n    }\n    lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || (rgbaArr.slice()));\n}\nfunction parse(colorStr, rgbaArr) {\n    if (!colorStr) {\n        return;\n    }\n    rgbaArr = rgbaArr || [];\n    var cached = colorCache.get(colorStr);\n    if (cached) {\n        return copyRgba(rgbaArr, cached);\n    }\n    colorStr = colorStr + '';\n    var str = colorStr.replace(/ /g, '').toLowerCase();\n    if (str in kCSSColorTable) {\n        copyRgba(rgbaArr, kCSSColorTable[str]);\n        putToCache(colorStr, rgbaArr);\n        return rgbaArr;\n    }\n    var strLen = str.length;\n    if (str.charAt(0) === '#') {\n        if (strLen === 4 || strLen === 5) {\n            var iv = parseInt(str.slice(1, 4), 16);\n            if (!(iv >= 0 && iv <= 0xfff)) {\n                setRgba(rgbaArr, 0, 0, 0, 1);\n                return;\n            }\n            setRgba(rgbaArr, ((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8), (iv & 0xf0) | ((iv & 0xf0) >> 4), (iv & 0xf) | ((iv & 0xf) << 4), strLen === 5 ? parseInt(str.slice(4), 16) / 0xf : 1);\n            putToCache(colorStr, rgbaArr);\n            return rgbaArr;\n        }\n        else if (strLen === 7 || strLen === 9) {\n            var iv = parseInt(str.slice(1, 7), 16);\n            if (!(iv >= 0 && iv <= 0xffffff)) {\n                setRgba(rgbaArr, 0, 0, 0, 1);\n                return;\n            }\n            setRgba(rgbaArr, (iv & 0xff0000) >> 16, (iv & 0xff00) >> 8, iv & 0xff, strLen === 9 ? parseInt(str.slice(7), 16) / 0xff : 1);\n            putToCache(colorStr, rgbaArr);\n            return rgbaArr;\n        }\n        return;\n    }\n    var op = str.indexOf('(');\n    var ep = str.indexOf(')');\n    if (op !== -1 && ep + 1 === strLen) {\n        var fname = str.substr(0, op);\n        var params = str.substr(op + 1, ep - (op + 1)).split(',');\n        var alpha = 1;\n        switch (fname) {\n            case 'rgba':\n                if (params.length !== 4) {\n                    return params.length === 3\n                        ? setRgba(rgbaArr, +params[0], +params[1], +params[2], 1)\n                        : setRgba(rgbaArr, 0, 0, 0, 1);\n                }\n                alpha = parseCssFloat(params.pop());\n            case 'rgb':\n                if (params.length >= 3) {\n                    setRgba(rgbaArr, parseCssInt(params[0]), parseCssInt(params[1]), parseCssInt(params[2]), params.length === 3 ? alpha : parseCssFloat(params[3]));\n                    putToCache(colorStr, rgbaArr);\n                    return rgbaArr;\n                }\n                else {\n                    setRgba(rgbaArr, 0, 0, 0, 1);\n                    return;\n                }\n            case 'hsla':\n                if (params.length !== 4) {\n                    setRgba(rgbaArr, 0, 0, 0, 1);\n                    return;\n                }\n                params[3] = parseCssFloat(params[3]);\n                hsla2rgba(params, rgbaArr);\n                putToCache(colorStr, rgbaArr);\n                return rgbaArr;\n            case 'hsl':\n                if (params.length !== 3) {\n                    setRgba(rgbaArr, 0, 0, 0, 1);\n                    return;\n                }\n                hsla2rgba(params, rgbaArr);\n                putToCache(colorStr, rgbaArr);\n                return rgbaArr;\n            default:\n                return;\n        }\n    }\n    setRgba(rgbaArr, 0, 0, 0, 1);\n    return;\n}\nfunction hsla2rgba(hsla, rgba) {\n    var h = (((parseFloat(hsla[0]) % 360) + 360) % 360) / 360;\n    var s = parseCssFloat(hsla[1]);\n    var l = parseCssFloat(hsla[2]);\n    var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n    var m1 = l * 2 - m2;\n    rgba = rgba || [];\n    setRgba(rgba, clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255), clampCssByte(cssHueToRgb(m1, m2, h) * 255), clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255), 1);\n    if (hsla.length === 4) {\n        rgba[3] = hsla[3];\n    }\n    return rgba;\n}\nfunction rgba2hsla(rgba) {\n    if (!rgba) {\n        return;\n    }\n    var R = rgba[0] / 255;\n    var G = rgba[1] / 255;\n    var B = rgba[2] / 255;\n    var vMin = Math.min(R, G, B);\n    var vMax = Math.max(R, G, B);\n    var delta = vMax - vMin;\n    var L = (vMax + vMin) / 2;\n    var H;\n    var S;\n    if (delta === 0) {\n        H = 0;\n        S = 0;\n    }\n    else {\n        if (L < 0.5) {\n            S = delta / (vMax + vMin);\n        }\n        else {\n            S = delta / (2 - vMax - vMin);\n        }\n        var deltaR = (((vMax - R) / 6) + (delta / 2)) / delta;\n        var deltaG = (((vMax - G) / 6) + (delta / 2)) / delta;\n        var deltaB = (((vMax - B) / 6) + (delta / 2)) / delta;\n        if (R === vMax) {\n            H = deltaB - deltaG;\n        }\n        else if (G === vMax) {\n            H = (1 / 3) + deltaR - deltaB;\n        }\n        else if (B === vMax) {\n            H = (2 / 3) + deltaG - deltaR;\n        }\n        if (H < 0) {\n            H += 1;\n        }\n        if (H > 1) {\n            H -= 1;\n        }\n    }\n    var hsla = [H * 360, S, L];\n    if (rgba[3] != null) {\n        hsla.push(rgba[3]);\n    }\n    return hsla;\n}\nfunction lift(color, level) {\n    var colorArr = parse(color);\n    if (colorArr) {\n        for (var i = 0; i < 3; i++) {\n            if (level < 0) {\n                colorArr[i] = colorArr[i] * (1 - level) | 0;\n            }\n            else {\n                colorArr[i] = ((255 - colorArr[i]) * level + colorArr[i]) | 0;\n            }\n            if (colorArr[i] > 255) {\n                colorArr[i] = 255;\n            }\n            else if (colorArr[i] < 0) {\n                colorArr[i] = 0;\n            }\n        }\n        return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');\n    }\n}\nfunction toHex(color) {\n    var colorArr = parse(color);\n    if (colorArr) {\n        return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + (+colorArr[2])).toString(16).slice(1);\n    }\n}\nfunction fastLerp(normalizedValue, colors, out) {\n    if (!(colors && colors.length)\n        || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n        return;\n    }\n    out = out || [];\n    var value = normalizedValue * (colors.length - 1);\n    var leftIndex = Math.floor(value);\n    var rightIndex = Math.ceil(value);\n    var leftColor = colors[leftIndex];\n    var rightColor = colors[rightIndex];\n    var dv = value - leftIndex;\n    out[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));\n    out[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));\n    out[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));\n    out[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));\n    return out;\n}\nvar fastMapToColor = fastLerp;\nfunction lerp(normalizedValue, colors, fullOutput) {\n    if (!(colors && colors.length)\n        || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n        return;\n    }\n    var value = normalizedValue * (colors.length - 1);\n    var leftIndex = Math.floor(value);\n    var rightIndex = Math.ceil(value);\n    var leftColor = parse(colors[leftIndex]);\n    var rightColor = parse(colors[rightIndex]);\n    var dv = value - leftIndex;\n    var color = stringify([\n        clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),\n        clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),\n        clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),\n        clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))\n    ], 'rgba');\n    return fullOutput\n        ? {\n            color: color,\n            leftIndex: leftIndex,\n            rightIndex: rightIndex,\n            value: value\n        }\n        : color;\n}\nvar mapToColor = lerp;\nfunction modifyHSL(color, h, s, l) {\n    var colorArr = parse(color);\n    if (color) {\n        colorArr = rgba2hsla(colorArr);\n        h != null && (colorArr[0] = clampCssAngle(h));\n        s != null && (colorArr[1] = parseCssFloat(s));\n        l != null && (colorArr[2] = parseCssFloat(l));\n        return stringify(hsla2rgba(colorArr), 'rgba');\n    }\n}\nfunction modifyAlpha(color, alpha) {\n    var colorArr = parse(color);\n    if (colorArr && alpha != null) {\n        colorArr[3] = clampCssFloat(alpha);\n        return stringify(colorArr, 'rgba');\n    }\n}\nfunction stringify(arrColor, type) {\n    if (!arrColor || !arrColor.length) {\n        return;\n    }\n    var colorStr = arrColor[0] + ',' + arrColor[1] + ',' + arrColor[2];\n    if (type === 'rgba' || type === 'hsva' || type === 'hsla') {\n        colorStr += ',' + arrColor[3];\n    }\n    return type + '(' + colorStr + ')';\n}\nfunction lum(color, backgroundLum) {\n    var arr = parse(color);\n    return arr\n        ? (0.299 * arr[0] + 0.587 * arr[1] + 0.114 * arr[2]) * arr[3] / 255\n            + (1 - arr[3]) * backgroundLum\n        : 0;\n}\nfunction random() {\n    return stringify([\n        Math.round(Math.random() * 255),\n        Math.round(Math.random() * 255),\n        Math.round(Math.random() * 255)\n    ], 'rgb');\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/color.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/convertPath.js":
/*!***************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/convertPath.js ***!
  \***************************************************************************/
/*! exports provided: pathToBezierCurves, pathToPolygons */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pathToBezierCurves\", function() { return pathToBezierCurves; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pathToPolygons\", function() { return pathToPolygons; });\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n\n\nvar CMD = _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CMD;\nfunction aroundEqual(a, b) {\n    return Math.abs(a - b) < 1e-5;\n}\nfunction pathToBezierCurves(path) {\n    var data = path.data;\n    var len = path.len();\n    var bezierArrayGroups = [];\n    var currentSubpath;\n    var xi = 0;\n    var yi = 0;\n    var x0 = 0;\n    var y0 = 0;\n    function createNewSubpath(x, y) {\n        if (currentSubpath && currentSubpath.length > 2) {\n            bezierArrayGroups.push(currentSubpath);\n        }\n        currentSubpath = [x, y];\n    }\n    function addLine(x0, y0, x1, y1) {\n        if (!(aroundEqual(x0, x1) && aroundEqual(y0, y1))) {\n            currentSubpath.push(x0, y0, x1, y1, x1, y1);\n        }\n    }\n    function addArc(startAngle, endAngle, cx, cy, rx, ry) {\n        var delta = Math.abs(endAngle - startAngle);\n        var len = Math.tan(delta / 4) * 4 / 3;\n        var dir = endAngle < startAngle ? -1 : 1;\n        var c1 = Math.cos(startAngle);\n        var s1 = Math.sin(startAngle);\n        var c2 = Math.cos(endAngle);\n        var s2 = Math.sin(endAngle);\n        var x1 = c1 * rx + cx;\n        var y1 = s1 * ry + cy;\n        var x4 = c2 * rx + cx;\n        var y4 = s2 * ry + cy;\n        var hx = rx * len * dir;\n        var hy = ry * len * dir;\n        currentSubpath.push(x1 - hx * s1, y1 + hy * c1, x4 + hx * s2, y4 - hy * c2, x4, y4);\n    }\n    var x1;\n    var y1;\n    var x2;\n    var y2;\n    for (var i = 0; i < len;) {\n        var cmd = data[i++];\n        var isFirst = i === 1;\n        if (isFirst) {\n            xi = data[i];\n            yi = data[i + 1];\n            x0 = xi;\n            y0 = yi;\n            if (cmd === CMD.L || cmd === CMD.C || cmd === CMD.Q) {\n                currentSubpath = [x0, y0];\n            }\n        }\n        switch (cmd) {\n            case CMD.M:\n                xi = x0 = data[i++];\n                yi = y0 = data[i++];\n                createNewSubpath(x0, y0);\n                break;\n            case CMD.L:\n                x1 = data[i++];\n                y1 = data[i++];\n                addLine(xi, yi, x1, y1);\n                xi = x1;\n                yi = y1;\n                break;\n            case CMD.C:\n                currentSubpath.push(data[i++], data[i++], data[i++], data[i++], xi = data[i++], yi = data[i++]);\n                break;\n            case CMD.Q:\n                x1 = data[i++];\n                y1 = data[i++];\n                x2 = data[i++];\n                y2 = data[i++];\n                currentSubpath.push(xi + 2 / 3 * (x1 - xi), yi + 2 / 3 * (y1 - yi), x2 + 2 / 3 * (x1 - x2), y2 + 2 / 3 * (y1 - y2), x2, y2);\n                xi = x2;\n                yi = y2;\n                break;\n            case CMD.A:\n                var cx = data[i++];\n                var cy = data[i++];\n                var rx = data[i++];\n                var ry = data[i++];\n                var startAngle = data[i++];\n                var endAngle = data[i++] + startAngle;\n                i += 1;\n                var anticlockwise = !data[i++];\n                x1 = Math.cos(startAngle) * rx + cx;\n                y1 = Math.sin(startAngle) * ry + cy;\n                if (isFirst) {\n                    x0 = x1;\n                    y0 = y1;\n                    createNewSubpath(x0, y0);\n                }\n                else {\n                    addLine(xi, yi, x1, y1);\n                }\n                xi = Math.cos(endAngle) * rx + cx;\n                yi = Math.sin(endAngle) * ry + cy;\n                var step = (anticlockwise ? -1 : 1) * Math.PI / 2;\n                for (var angle = startAngle; anticlockwise ? angle > endAngle : angle < endAngle; angle += step) {\n                    var nextAngle = anticlockwise ? Math.max(angle + step, endAngle)\n                        : Math.min(angle + step, endAngle);\n                    addArc(angle, nextAngle, cx, cy, rx, ry);\n                }\n                break;\n            case CMD.R:\n                x0 = xi = data[i++];\n                y0 = yi = data[i++];\n                x1 = x0 + data[i++];\n                y1 = y0 + data[i++];\n                createNewSubpath(x1, y0);\n                addLine(x1, y0, x1, y1);\n                addLine(x1, y1, x0, y1);\n                addLine(x0, y1, x0, y0);\n                addLine(x0, y0, x1, y0);\n                break;\n            case CMD.Z:\n                currentSubpath && addLine(xi, yi, x0, y0);\n                xi = x0;\n                yi = y0;\n                break;\n        }\n    }\n    if (currentSubpath && currentSubpath.length > 2) {\n        bezierArrayGroups.push(currentSubpath);\n    }\n    return bezierArrayGroups;\n}\nfunction adpativeBezier(x0, y0, x1, y1, x2, y2, x3, y3, out, scale) {\n    if (aroundEqual(x0, x1) && aroundEqual(y0, y1) && aroundEqual(x2, x3) && aroundEqual(y2, y3)) {\n        out.push(x3, y3);\n        return;\n    }\n    var PIXEL_DISTANCE = 2 / scale;\n    var PIXEL_DISTANCE_SQR = PIXEL_DISTANCE * PIXEL_DISTANCE;\n    var dx = x3 - x0;\n    var dy = y3 - y0;\n    var d = Math.sqrt(dx * dx + dy * dy);\n    dx /= d;\n    dy /= d;\n    var dx1 = x1 - x0;\n    var dy1 = y1 - y0;\n    var dx2 = x2 - x3;\n    var dy2 = y2 - y3;\n    var cp1LenSqr = dx1 * dx1 + dy1 * dy1;\n    var cp2LenSqr = dx2 * dx2 + dy2 * dy2;\n    if (cp1LenSqr < PIXEL_DISTANCE_SQR && cp2LenSqr < PIXEL_DISTANCE_SQR) {\n        out.push(x3, y3);\n        return;\n    }\n    var projLen1 = dx * dx1 + dy * dy1;\n    var projLen2 = -dx * dx2 - dy * dy2;\n    var d1Sqr = cp1LenSqr - projLen1 * projLen1;\n    var d2Sqr = cp2LenSqr - projLen2 * projLen2;\n    if (d1Sqr < PIXEL_DISTANCE_SQR && projLen1 >= 0\n        && d2Sqr < PIXEL_DISTANCE_SQR && projLen2 >= 0) {\n        out.push(x3, y3);\n        return;\n    }\n    var tmpSegX = [];\n    var tmpSegY = [];\n    Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicSubdivide\"])(x0, x1, x2, x3, 0.5, tmpSegX);\n    Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicSubdivide\"])(y0, y1, y2, y3, 0.5, tmpSegY);\n    adpativeBezier(tmpSegX[0], tmpSegY[0], tmpSegX[1], tmpSegY[1], tmpSegX[2], tmpSegY[2], tmpSegX[3], tmpSegY[3], out, scale);\n    adpativeBezier(tmpSegX[4], tmpSegY[4], tmpSegX[5], tmpSegY[5], tmpSegX[6], tmpSegY[6], tmpSegX[7], tmpSegY[7], out, scale);\n}\nfunction pathToPolygons(path, scale) {\n    var bezierArrayGroups = pathToBezierCurves(path);\n    var polygons = [];\n    scale = scale || 1;\n    for (var i = 0; i < bezierArrayGroups.length; i++) {\n        var beziers = bezierArrayGroups[i];\n        var polygon = [];\n        var x0 = beziers[0];\n        var y0 = beziers[1];\n        polygon.push(x0, y0);\n        for (var k = 2; k < beziers.length;) {\n            var x1 = beziers[k++];\n            var y1 = beziers[k++];\n            var x2 = beziers[k++];\n            var y2 = beziers[k++];\n            var x3 = beziers[k++];\n            var y3 = beziers[k++];\n            adpativeBezier(x0, y0, x1, y1, x2, y2, x3, y3, polygon, scale);\n            x0 = x3;\n            y0 = y3;\n        }\n        polygons.push(polygon);\n    }\n    return polygons;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/convertPath.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/dividePath.js":
/*!**************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/dividePath.js ***!
  \**************************************************************************/
/*! exports provided: clone, split */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return clone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return split; });\n/* harmony import */ var _core_bbox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/bbox.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/bbox.js\");\n/* harmony import */ var _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/BoundingRect.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/BoundingRect.js\");\n/* harmony import */ var _core_Point_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/Point.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Point.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../graphic/shape/Polygon.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polygon.js\");\n/* harmony import */ var _graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../graphic/shape/Rect.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js\");\n/* harmony import */ var _graphic_shape_Sector_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../graphic/shape/Sector.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Sector.js\");\n/* harmony import */ var _convertPath_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./convertPath.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/convertPath.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./path.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/path.js\");\n\n\n\n\n\n\n\n\n\nfunction getDividingGrids(dimSize, rowDim, count) {\n    var rowSize = dimSize[rowDim];\n    var columnSize = dimSize[1 - rowDim];\n    var ratio = Math.abs(rowSize / columnSize);\n    var rowCount = Math.ceil(Math.sqrt(ratio * count));\n    var columnCount = Math.floor(count / rowCount);\n    if (columnCount === 0) {\n        columnCount = 1;\n        rowCount = count;\n    }\n    var grids = [];\n    for (var i = 0; i < rowCount; i++) {\n        grids.push(columnCount);\n    }\n    var currentCount = rowCount * columnCount;\n    var remained = count - currentCount;\n    if (remained > 0) {\n        for (var i = 0; i < remained; i++) {\n            grids[i % rowCount] += 1;\n        }\n    }\n    return grids;\n}\nfunction divideSector(sectorShape, count, outShapes) {\n    var r0 = sectorShape.r0;\n    var r = sectorShape.r;\n    var startAngle = sectorShape.startAngle;\n    var endAngle = sectorShape.endAngle;\n    var angle = Math.abs(endAngle - startAngle);\n    var arcLen = angle * r;\n    var deltaR = r - r0;\n    var isAngleRow = arcLen > Math.abs(deltaR);\n    var grids = getDividingGrids([arcLen, deltaR], isAngleRow ? 0 : 1, count);\n    var rowSize = (isAngleRow ? angle : deltaR) / grids.length;\n    for (var row = 0; row < grids.length; row++) {\n        var columnSize = (isAngleRow ? deltaR : angle) / grids[row];\n        for (var column = 0; column < grids[row]; column++) {\n            var newShape = {};\n            if (isAngleRow) {\n                newShape.startAngle = startAngle + rowSize * row;\n                newShape.endAngle = startAngle + rowSize * (row + 1);\n                newShape.r0 = r0 + columnSize * column;\n                newShape.r = r0 + columnSize * (column + 1);\n            }\n            else {\n                newShape.startAngle = startAngle + columnSize * column;\n                newShape.endAngle = startAngle + columnSize * (column + 1);\n                newShape.r0 = r0 + rowSize * row;\n                newShape.r = r0 + rowSize * (row + 1);\n            }\n            newShape.clockwise = sectorShape.clockwise;\n            newShape.cx = sectorShape.cx;\n            newShape.cy = sectorShape.cy;\n            outShapes.push(newShape);\n        }\n    }\n}\nfunction divideRect(rectShape, count, outShapes) {\n    var width = rectShape.width;\n    var height = rectShape.height;\n    var isHorizontalRow = width > height;\n    var grids = getDividingGrids([width, height], isHorizontalRow ? 0 : 1, count);\n    var rowSizeDim = isHorizontalRow ? 'width' : 'height';\n    var columnSizeDim = isHorizontalRow ? 'height' : 'width';\n    var rowDim = isHorizontalRow ? 'x' : 'y';\n    var columnDim = isHorizontalRow ? 'y' : 'x';\n    var rowSize = rectShape[rowSizeDim] / grids.length;\n    for (var row = 0; row < grids.length; row++) {\n        var columnSize = rectShape[columnSizeDim] / grids[row];\n        for (var column = 0; column < grids[row]; column++) {\n            var newShape = {};\n            newShape[rowDim] = row * rowSize;\n            newShape[columnDim] = column * columnSize;\n            newShape[rowSizeDim] = rowSize;\n            newShape[columnSizeDim] = columnSize;\n            newShape.x += rectShape.x;\n            newShape.y += rectShape.y;\n            outShapes.push(newShape);\n        }\n    }\n}\nfunction crossProduct2d(x1, y1, x2, y2) {\n    return x1 * y2 - x2 * y1;\n}\nfunction lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {\n    var mx = a2x - a1x;\n    var my = a2y - a1y;\n    var nx = b2x - b1x;\n    var ny = b2y - b1y;\n    var nmCrossProduct = crossProduct2d(nx, ny, mx, my);\n    if (Math.abs(nmCrossProduct) < 1e-6) {\n        return null;\n    }\n    var b1a1x = a1x - b1x;\n    var b1a1y = a1y - b1y;\n    var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;\n    if (p < 0 || p > 1) {\n        return null;\n    }\n    return new _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](p * mx + a1x, p * my + a1y);\n}\nfunction projPtOnLine(pt, lineA, lineB) {\n    var dir = new _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sub(dir, lineB, lineA);\n    dir.normalize();\n    var dir2 = new _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sub(dir2, pt, lineA);\n    var len = dir2.dot(dir);\n    return len;\n}\nfunction addToPoly(poly, pt) {\n    var last = poly[poly.length - 1];\n    if (last && last[0] === pt[0] && last[1] === pt[1]) {\n        return;\n    }\n    poly.push(pt);\n}\nfunction splitPolygonByLine(points, lineA, lineB) {\n    var len = points.length;\n    var intersections = [];\n    for (var i = 0; i < len; i++) {\n        var p0 = points[i];\n        var p1 = points[(i + 1) % len];\n        var intersectionPt = lineLineIntersect(p0[0], p0[1], p1[0], p1[1], lineA.x, lineA.y, lineB.x, lineB.y);\n        if (intersectionPt) {\n            intersections.push({\n                projPt: projPtOnLine(intersectionPt, lineA, lineB),\n                pt: intersectionPt,\n                idx: i\n            });\n        }\n    }\n    if (intersections.length < 2) {\n        return [{ points: points }, { points: points }];\n    }\n    intersections.sort(function (a, b) {\n        return a.projPt - b.projPt;\n    });\n    var splitPt0 = intersections[0];\n    var splitPt1 = intersections[intersections.length - 1];\n    if (splitPt1.idx < splitPt0.idx) {\n        var tmp = splitPt0;\n        splitPt0 = splitPt1;\n        splitPt1 = tmp;\n    }\n    var splitPt0Arr = [splitPt0.pt.x, splitPt0.pt.y];\n    var splitPt1Arr = [splitPt1.pt.x, splitPt1.pt.y];\n    var newPolyA = [splitPt0Arr];\n    var newPolyB = [splitPt1Arr];\n    for (var i = splitPt0.idx + 1; i <= splitPt1.idx; i++) {\n        addToPoly(newPolyA, points[i].slice());\n    }\n    addToPoly(newPolyA, splitPt1Arr);\n    addToPoly(newPolyA, splitPt0Arr);\n    for (var i = splitPt1.idx + 1; i <= splitPt0.idx + len; i++) {\n        addToPoly(newPolyB, points[i % len].slice());\n    }\n    addToPoly(newPolyB, splitPt0Arr);\n    addToPoly(newPolyB, splitPt1Arr);\n    return [{\n            points: newPolyA\n        }, {\n            points: newPolyB\n        }];\n}\nfunction binaryDividePolygon(polygonShape) {\n    var points = polygonShape.points;\n    var min = [];\n    var max = [];\n    Object(_core_bbox_js__WEBPACK_IMPORTED_MODULE_0__[\"fromPoints\"])(points, min, max);\n    var boundingRect = new _core_BoundingRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](min[0], min[1], max[0] - min[0], max[1] - min[1]);\n    var width = boundingRect.width;\n    var height = boundingRect.height;\n    var x = boundingRect.x;\n    var y = boundingRect.y;\n    var pt0 = new _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    var pt1 = new _core_Point_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    if (width > height) {\n        pt0.x = pt1.x = x + width / 2;\n        pt0.y = y;\n        pt1.y = y + height;\n    }\n    else {\n        pt0.y = pt1.y = y + height / 2;\n        pt0.x = x;\n        pt1.x = x + width;\n    }\n    return splitPolygonByLine(points, pt0, pt1);\n}\nfunction binaryDivideRecursive(divider, shape, count, out) {\n    if (count === 1) {\n        out.push(shape);\n    }\n    else {\n        var mid = Math.floor(count / 2);\n        var sub = divider(shape);\n        binaryDivideRecursive(divider, sub[0], mid, out);\n        binaryDivideRecursive(divider, sub[1], count - mid, out);\n    }\n    return out;\n}\nfunction clone(path, count) {\n    var paths = [];\n    for (var i = 0; i < count; i++) {\n        paths.push(Object(_path_js__WEBPACK_IMPORTED_MODULE_8__[\"clonePath\"])(path));\n    }\n    return paths;\n}\nfunction copyPathProps(source, target) {\n    target.setStyle(source.style);\n    target.z = source.z;\n    target.z2 = source.z2;\n    target.zlevel = source.zlevel;\n}\nfunction polygonConvert(points) {\n    var out = [];\n    for (var i = 0; i < points.length;) {\n        out.push([points[i++], points[i++]]);\n    }\n    return out;\n}\nfunction split(path, count) {\n    var outShapes = [];\n    var shape = path.shape;\n    var OutShapeCtor;\n    switch (path.type) {\n        case 'rect':\n            divideRect(shape, count, outShapes);\n            OutShapeCtor = _graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n            break;\n        case 'sector':\n            divideSector(shape, count, outShapes);\n            OutShapeCtor = _graphic_shape_Sector_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n            break;\n        case 'circle':\n            divideSector({\n                r0: 0, r: shape.r, startAngle: 0, endAngle: Math.PI * 2,\n                cx: shape.cx, cy: shape.cy\n            }, count, outShapes);\n            OutShapeCtor = _graphic_shape_Sector_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n            break;\n        default:\n            var m = path.getComputedTransform();\n            var scale = m ? Math.sqrt(Math.max(m[0] * m[0] + m[1] * m[1], m[2] * m[2] + m[3] * m[3])) : 1;\n            var polygons = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(Object(_convertPath_js__WEBPACK_IMPORTED_MODULE_7__[\"pathToPolygons\"])(path.getUpdatedPathProxy(), scale), function (poly) { return polygonConvert(poly); });\n            var polygonCount = polygons.length;\n            if (polygonCount === 0) {\n                binaryDivideRecursive(binaryDividePolygon, {\n                    points: polygons[0]\n                }, count, outShapes);\n            }\n            else if (polygonCount === count) {\n                for (var i = 0; i < polygonCount; i++) {\n                    outShapes.push({\n                        points: polygons[i]\n                    });\n                }\n            }\n            else {\n                var totalArea_1 = 0;\n                var items = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(polygons, function (poly) {\n                    var min = [];\n                    var max = [];\n                    Object(_core_bbox_js__WEBPACK_IMPORTED_MODULE_0__[\"fromPoints\"])(poly, min, max);\n                    var area = (max[1] - min[1]) * (max[0] - min[0]);\n                    totalArea_1 += area;\n                    return { poly: poly, area: area };\n                });\n                items.sort(function (a, b) { return b.area - a.area; });\n                var left = count;\n                for (var i = 0; i < polygonCount; i++) {\n                    var item = items[i];\n                    if (left <= 0) {\n                        break;\n                    }\n                    var selfCount = i === polygonCount - 1\n                        ? left\n                        : Math.ceil(item.area / totalArea_1 * count);\n                    if (selfCount < 0) {\n                        continue;\n                    }\n                    binaryDivideRecursive(binaryDividePolygon, {\n                        points: item.poly\n                    }, selfCount, outShapes);\n                    left -= selfCount;\n                }\n                ;\n            }\n            OutShapeCtor = _graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n            break;\n    }\n    if (!OutShapeCtor) {\n        return clone(path, count);\n    }\n    var out = [];\n    for (var i = 0; i < outShapes.length; i++) {\n        var subPath = new OutShapeCtor();\n        subPath.setShape(outShapes[i]);\n        copyPathProps(path, subPath);\n        out.push(subPath);\n    }\n    return out;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/dividePath.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/morphPath.js":
/*!*************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/morphPath.js ***!
  \*************************************************************************/
/*! exports provided: alignBezierCurves, centroid, isCombineMorphing, isMorphing, morphPath, combineMorph, separateMorph, defaultDividePath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignBezierCurves\", function() { return alignBezierCurves; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"centroid\", function() { return centroid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCombineMorphing\", function() { return isCombineMorphing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMorphing\", function() { return isMorphing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"morphPath\", function() { return morphPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineMorph\", function() { return combineMorph; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"separateMorph\", function() { return separateMorph; });\n/* harmony import */ var _core_curve_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/curve.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/curve.js\");\n/* harmony import */ var _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _core_vector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./path.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/path.js\");\n/* harmony import */ var _core_Transformable_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/Transformable.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/Transformable.js\");\n/* harmony import */ var _dividePath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dividePath.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/dividePath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDividePath\", function() { return _dividePath_js__WEBPACK_IMPORTED_MODULE_6__[\"split\"]; });\n\n/* harmony import */ var _convertPath_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./convertPath.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/convertPath.js\");\n\n\n\n\n\n\n\n\nfunction alignSubpath(subpath1, subpath2) {\n    var len1 = subpath1.length;\n    var len2 = subpath2.length;\n    if (len1 === len2) {\n        return [subpath1, subpath2];\n    }\n    var tmpSegX = [];\n    var tmpSegY = [];\n    var shorterPath = len1 < len2 ? subpath1 : subpath2;\n    var shorterLen = Math.min(len1, len2);\n    var diff = Math.abs(len2 - len1) / 6;\n    var shorterBezierCount = (shorterLen - 2) / 6;\n    var eachCurveSubDivCount = Math.ceil(diff / shorterBezierCount) + 1;\n    var newSubpath = [shorterPath[0], shorterPath[1]];\n    var remained = diff;\n    for (var i = 2; i < shorterLen;) {\n        var x0 = shorterPath[i - 2];\n        var y0 = shorterPath[i - 1];\n        var x1 = shorterPath[i++];\n        var y1 = shorterPath[i++];\n        var x2 = shorterPath[i++];\n        var y2 = shorterPath[i++];\n        var x3 = shorterPath[i++];\n        var y3 = shorterPath[i++];\n        if (remained <= 0) {\n            newSubpath.push(x1, y1, x2, y2, x3, y3);\n            continue;\n        }\n        var actualSubDivCount = Math.min(remained, eachCurveSubDivCount - 1) + 1;\n        for (var k = 1; k <= actualSubDivCount; k++) {\n            var p = k / actualSubDivCount;\n            Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicSubdivide\"])(x0, x1, x2, x3, p, tmpSegX);\n            Object(_core_curve_js__WEBPACK_IMPORTED_MODULE_0__[\"cubicSubdivide\"])(y0, y1, y2, y3, p, tmpSegY);\n            x0 = tmpSegX[3];\n            y0 = tmpSegY[3];\n            newSubpath.push(tmpSegX[1], tmpSegY[1], tmpSegX[2], tmpSegY[2], x0, y0);\n            x1 = tmpSegX[5];\n            y1 = tmpSegY[5];\n            x2 = tmpSegX[6];\n            y2 = tmpSegY[6];\n        }\n        remained -= actualSubDivCount - 1;\n    }\n    return shorterPath === subpath1 ? [newSubpath, subpath2] : [subpath1, newSubpath];\n}\nfunction createSubpath(lastSubpathSubpath, otherSubpath) {\n    var len = lastSubpathSubpath.length;\n    var lastX = lastSubpathSubpath[len - 2];\n    var lastY = lastSubpathSubpath[len - 1];\n    var newSubpath = [];\n    for (var i = 0; i < otherSubpath.length;) {\n        newSubpath[i++] = lastX;\n        newSubpath[i++] = lastY;\n    }\n    return newSubpath;\n}\nfunction alignBezierCurves(array1, array2) {\n    var _a;\n    var lastSubpath1;\n    var lastSubpath2;\n    var newArray1 = [];\n    var newArray2 = [];\n    for (var i = 0; i < Math.max(array1.length, array2.length); i++) {\n        var subpath1 = array1[i];\n        var subpath2 = array2[i];\n        var newSubpath1 = void 0;\n        var newSubpath2 = void 0;\n        if (!subpath1) {\n            newSubpath1 = createSubpath(lastSubpath1 || subpath2, subpath2);\n            newSubpath2 = subpath2;\n        }\n        else if (!subpath2) {\n            newSubpath2 = createSubpath(lastSubpath2 || subpath1, subpath1);\n            newSubpath1 = subpath1;\n        }\n        else {\n            _a = alignSubpath(subpath1, subpath2), newSubpath1 = _a[0], newSubpath2 = _a[1];\n            lastSubpath1 = newSubpath1;\n            lastSubpath2 = newSubpath2;\n        }\n        newArray1.push(newSubpath1);\n        newArray2.push(newSubpath2);\n    }\n    return [newArray1, newArray2];\n}\nfunction centroid(array) {\n    var signedArea = 0;\n    var cx = 0;\n    var cy = 0;\n    var len = array.length;\n    for (var i = 0, j = len - 2; i < len; j = i, i += 2) {\n        var x0 = array[j];\n        var y0 = array[j + 1];\n        var x1 = array[i];\n        var y1 = array[i + 1];\n        var a = x0 * y1 - x1 * y0;\n        signedArea += a;\n        cx += (x0 + x1) * a;\n        cy += (y0 + y1) * a;\n    }\n    if (signedArea === 0) {\n        return [array[0] || 0, array[1] || 0];\n    }\n    return [cx / signedArea / 3, cy / signedArea / 3, signedArea];\n}\nfunction findBestRingOffset(fromSubBeziers, toSubBeziers, fromCp, toCp) {\n    var bezierCount = (fromSubBeziers.length - 2) / 6;\n    var bestScore = Infinity;\n    var bestOffset = 0;\n    var len = fromSubBeziers.length;\n    var len2 = len - 2;\n    for (var offset = 0; offset < bezierCount; offset++) {\n        var cursorOffset = offset * 6;\n        var score = 0;\n        for (var k = 0; k < len; k += 2) {\n            var idx = k === 0 ? cursorOffset : ((cursorOffset + k - 2) % len2 + 2);\n            var x0 = fromSubBeziers[idx] - fromCp[0];\n            var y0 = fromSubBeziers[idx + 1] - fromCp[1];\n            var x1 = toSubBeziers[k] - toCp[0];\n            var y1 = toSubBeziers[k + 1] - toCp[1];\n            var dx = x1 - x0;\n            var dy = y1 - y0;\n            score += dx * dx + dy * dy;\n        }\n        if (score < bestScore) {\n            bestScore = score;\n            bestOffset = offset;\n        }\n    }\n    return bestOffset;\n}\nfunction reverse(array) {\n    var newArr = [];\n    var len = array.length;\n    for (var i = 0; i < len; i += 2) {\n        newArr[i] = array[len - i - 2];\n        newArr[i + 1] = array[len - i - 1];\n    }\n    return newArr;\n}\nfunction findBestMorphingRotation(fromArr, toArr, searchAngleIteration, searchAngleRange) {\n    var result = [];\n    var fromNeedsReverse;\n    for (var i = 0; i < fromArr.length; i++) {\n        var fromSubpathBezier = fromArr[i];\n        var toSubpathBezier = toArr[i];\n        var fromCp = centroid(fromSubpathBezier);\n        var toCp = centroid(toSubpathBezier);\n        if (fromNeedsReverse == null) {\n            fromNeedsReverse = fromCp[2] < 0 !== toCp[2] < 0;\n        }\n        var newFromSubpathBezier = [];\n        var newToSubpathBezier = [];\n        var bestAngle = 0;\n        var bestScore = Infinity;\n        var tmpArr = [];\n        var len = fromSubpathBezier.length;\n        if (fromNeedsReverse) {\n            fromSubpathBezier = reverse(fromSubpathBezier);\n        }\n        var offset = findBestRingOffset(fromSubpathBezier, toSubpathBezier, fromCp, toCp) * 6;\n        var len2 = len - 2;\n        for (var k = 0; k < len2; k += 2) {\n            var idx = (offset + k) % len2 + 2;\n            newFromSubpathBezier[k + 2] = fromSubpathBezier[idx] - fromCp[0];\n            newFromSubpathBezier[k + 3] = fromSubpathBezier[idx + 1] - fromCp[1];\n        }\n        newFromSubpathBezier[0] = fromSubpathBezier[offset] - fromCp[0];\n        newFromSubpathBezier[1] = fromSubpathBezier[offset + 1] - fromCp[1];\n        if (searchAngleIteration > 0) {\n            var step = searchAngleRange / searchAngleIteration;\n            for (var angle = -searchAngleRange / 2; angle <= searchAngleRange / 2; angle += step) {\n                var sa = Math.sin(angle);\n                var ca = Math.cos(angle);\n                var score = 0;\n                for (var k = 0; k < fromSubpathBezier.length; k += 2) {\n                    var x0 = newFromSubpathBezier[k];\n                    var y0 = newFromSubpathBezier[k + 1];\n                    var x1 = toSubpathBezier[k] - toCp[0];\n                    var y1 = toSubpathBezier[k + 1] - toCp[1];\n                    var newX1 = x1 * ca - y1 * sa;\n                    var newY1 = x1 * sa + y1 * ca;\n                    tmpArr[k] = newX1;\n                    tmpArr[k + 1] = newY1;\n                    var dx = newX1 - x0;\n                    var dy = newY1 - y0;\n                    score += dx * dx + dy * dy;\n                }\n                if (score < bestScore) {\n                    bestScore = score;\n                    bestAngle = angle;\n                    for (var m = 0; m < tmpArr.length; m++) {\n                        newToSubpathBezier[m] = tmpArr[m];\n                    }\n                }\n            }\n        }\n        else {\n            for (var i_1 = 0; i_1 < len; i_1 += 2) {\n                newToSubpathBezier[i_1] = toSubpathBezier[i_1] - toCp[0];\n                newToSubpathBezier[i_1 + 1] = toSubpathBezier[i_1 + 1] - toCp[1];\n            }\n        }\n        result.push({\n            from: newFromSubpathBezier,\n            to: newToSubpathBezier,\n            fromCp: fromCp,\n            toCp: toCp,\n            rotation: -bestAngle\n        });\n    }\n    return result;\n}\nfunction isCombineMorphing(path) {\n    return path.__isCombineMorphing;\n}\nfunction isMorphing(el) {\n    return el.__morphT >= 0;\n}\nvar SAVED_METHOD_PREFIX = '__mOriginal_';\nfunction saveAndModifyMethod(obj, methodName, modifiers) {\n    var savedMethodName = SAVED_METHOD_PREFIX + methodName;\n    var originalMethod = obj[savedMethodName] || obj[methodName];\n    if (!obj[savedMethodName]) {\n        obj[savedMethodName] = obj[methodName];\n    }\n    var replace = modifiers.replace;\n    var after = modifiers.after;\n    var before = modifiers.before;\n    obj[methodName] = function () {\n        var args = arguments;\n        var res;\n        before && before.apply(this, args);\n        if (replace) {\n            res = replace.apply(this, args);\n        }\n        else {\n            res = originalMethod.apply(this, args);\n        }\n        after && after.apply(this, args);\n        return res;\n    };\n}\nfunction restoreMethod(obj, methodName) {\n    var savedMethodName = SAVED_METHOD_PREFIX + methodName;\n    if (obj[savedMethodName]) {\n        obj[methodName] = obj[savedMethodName];\n        obj[savedMethodName] = null;\n    }\n}\nfunction applyTransformOnBeziers(bezierCurves, mm) {\n    for (var i = 0; i < bezierCurves.length; i++) {\n        var subBeziers = bezierCurves[i];\n        for (var k = 0; k < subBeziers.length;) {\n            var x = subBeziers[k];\n            var y = subBeziers[k + 1];\n            subBeziers[k++] = mm[0] * x + mm[2] * y + mm[4];\n            subBeziers[k++] = mm[1] * x + mm[3] * y + mm[5];\n        }\n    }\n}\nfunction prepareMorphPath(fromPath, toPath) {\n    var fromPathProxy = fromPath.getUpdatedPathProxy();\n    var toPathProxy = toPath.getUpdatedPathProxy();\n    var _a = alignBezierCurves(Object(_convertPath_js__WEBPACK_IMPORTED_MODULE_7__[\"pathToBezierCurves\"])(fromPathProxy), Object(_convertPath_js__WEBPACK_IMPORTED_MODULE_7__[\"pathToBezierCurves\"])(toPathProxy)), fromBezierCurves = _a[0], toBezierCurves = _a[1];\n    var fromPathTransform = fromPath.getComputedTransform();\n    var toPathTransform = toPath.getComputedTransform();\n    function updateIdentityTransform() {\n        this.transform = null;\n    }\n    fromPathTransform && applyTransformOnBeziers(fromBezierCurves, fromPathTransform);\n    toPathTransform && applyTransformOnBeziers(toBezierCurves, toPathTransform);\n    saveAndModifyMethod(toPath, 'updateTransform', { replace: updateIdentityTransform });\n    toPath.transform = null;\n    var morphingData = findBestMorphingRotation(fromBezierCurves, toBezierCurves, 10, Math.PI);\n    var tmpArr = [];\n    saveAndModifyMethod(toPath, 'buildPath', { replace: function (path) {\n            var t = toPath.__morphT;\n            var onet = 1 - t;\n            var newCp = [];\n            for (var i = 0; i < morphingData.length; i++) {\n                var item = morphingData[i];\n                var from = item.from;\n                var to = item.to;\n                var angle = item.rotation * t;\n                var fromCp = item.fromCp;\n                var toCp = item.toCp;\n                var sa = Math.sin(angle);\n                var ca = Math.cos(angle);\n                Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_3__[\"lerp\"])(newCp, fromCp, toCp, t);\n                for (var m = 0; m < from.length; m += 2) {\n                    var x0_1 = from[m];\n                    var y0_1 = from[m + 1];\n                    var x1 = to[m];\n                    var y1 = to[m + 1];\n                    var x = x0_1 * onet + x1 * t;\n                    var y = y0_1 * onet + y1 * t;\n                    tmpArr[m] = (x * ca - y * sa) + newCp[0];\n                    tmpArr[m + 1] = (x * sa + y * ca) + newCp[1];\n                }\n                var x0 = tmpArr[0];\n                var y0 = tmpArr[1];\n                path.moveTo(x0, y0);\n                for (var m = 2; m < from.length;) {\n                    var x1 = tmpArr[m++];\n                    var y1 = tmpArr[m++];\n                    var x2 = tmpArr[m++];\n                    var y2 = tmpArr[m++];\n                    var x3 = tmpArr[m++];\n                    var y3 = tmpArr[m++];\n                    if (x0 === x1 && y0 === y1 && x2 === x3 && y2 === y3) {\n                        path.lineTo(x3, y3);\n                    }\n                    else {\n                        path.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n                    }\n                    x0 = x3;\n                    y0 = y3;\n                }\n            }\n        } });\n}\nfunction morphPath(fromPath, toPath, animationOpts) {\n    if (!fromPath || !toPath) {\n        return toPath;\n    }\n    var oldDone = animationOpts.done;\n    var oldDuring = animationOpts.during;\n    prepareMorphPath(fromPath, toPath);\n    toPath.__morphT = 0;\n    function restoreToPath() {\n        restoreMethod(toPath, 'buildPath');\n        restoreMethod(toPath, 'updateTransform');\n        toPath.__morphT = -1;\n        toPath.createPathProxy();\n        toPath.dirtyShape();\n    }\n    toPath.animateTo({\n        __morphT: 1\n    }, Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n        during: function (p) {\n            toPath.dirtyShape();\n            oldDuring && oldDuring(p);\n        },\n        done: function () {\n            restoreToPath();\n            oldDone && oldDone();\n        }\n    }, animationOpts));\n    return toPath;\n}\nfunction hilbert(x, y, minX, minY, maxX, maxY) {\n    var bits = 16;\n    x = (maxX === minX) ? 0 : Math.round(32767 * (x - minX) / (maxX - minX));\n    y = (maxY === minY) ? 0 : Math.round(32767 * (y - minY) / (maxY - minY));\n    var d = 0;\n    var tmp;\n    for (var s = (1 << bits) / 2; s > 0; s /= 2) {\n        var rx = 0;\n        var ry = 0;\n        if ((x & s) > 0) {\n            rx = 1;\n        }\n        if ((y & s) > 0) {\n            ry = 1;\n        }\n        d += s * s * ((3 * rx) ^ ry);\n        if (ry === 0) {\n            if (rx === 1) {\n                x = s - 1 - x;\n                y = s - 1 - y;\n            }\n            tmp = x;\n            x = y;\n            y = tmp;\n        }\n    }\n    return d;\n}\nfunction sortPaths(pathList) {\n    var xMin = Infinity;\n    var yMin = Infinity;\n    var xMax = -Infinity;\n    var yMax = -Infinity;\n    var cps = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(pathList, function (path) {\n        var rect = path.getBoundingRect();\n        var m = path.getComputedTransform();\n        var x = rect.x + rect.width / 2 + (m ? m[4] : 0);\n        var y = rect.y + rect.height / 2 + (m ? m[5] : 0);\n        xMin = Math.min(x, xMin);\n        yMin = Math.min(y, yMin);\n        xMax = Math.max(x, xMax);\n        yMax = Math.max(y, yMax);\n        return [x, y];\n    });\n    var items = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(cps, function (cp, idx) {\n        return {\n            cp: cp,\n            z: hilbert(cp[0], cp[1], xMin, yMin, xMax, yMax),\n            path: pathList[idx]\n        };\n    });\n    return items.sort(function (a, b) { return a.z - b.z; }).map(function (item) { return item.path; });\n}\n;\nfunction defaultDividePath(param) {\n    return Object(_dividePath_js__WEBPACK_IMPORTED_MODULE_6__[\"split\"])(param.path, param.count);\n}\nfunction createEmptyReturn() {\n    return {\n        fromIndividuals: [],\n        toIndividuals: [],\n        count: 0\n    };\n}\nfunction combineMorph(fromList, toPath, animationOpts) {\n    var fromPathList = [];\n    function addFromPath(fromList) {\n        for (var i = 0; i < fromList.length; i++) {\n            var from = fromList[i];\n            if (isCombineMorphing(from)) {\n                addFromPath(from.childrenRef());\n            }\n            else if (from instanceof _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n                fromPathList.push(from);\n            }\n        }\n    }\n    addFromPath(fromList);\n    var separateCount = fromPathList.length;\n    if (!separateCount) {\n        return createEmptyReturn();\n    }\n    var dividePath = animationOpts.dividePath || defaultDividePath;\n    var toSubPathList = dividePath({\n        path: toPath, count: separateCount\n    });\n    if (toSubPathList.length !== separateCount) {\n        console.error('Invalid morphing: unmatched splitted path');\n        return createEmptyReturn();\n    }\n    fromPathList = sortPaths(fromPathList);\n    toSubPathList = sortPaths(toSubPathList);\n    var oldDone = animationOpts.done;\n    var oldDuring = animationOpts.during;\n    var individualDelay = animationOpts.individualDelay;\n    var identityTransform = new _core_Transformable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n    for (var i = 0; i < separateCount; i++) {\n        var from = fromPathList[i];\n        var to = toSubPathList[i];\n        to.parent = toPath;\n        to.copyTransform(identityTransform);\n        if (!individualDelay) {\n            prepareMorphPath(from, to);\n        }\n    }\n    toPath.__isCombineMorphing = true;\n    toPath.childrenRef = function () {\n        return toSubPathList;\n    };\n    function addToSubPathListToZr(zr) {\n        for (var i = 0; i < toSubPathList.length; i++) {\n            toSubPathList[i].addSelfToZr(zr);\n        }\n    }\n    saveAndModifyMethod(toPath, 'addSelfToZr', {\n        after: function (zr) {\n            addToSubPathListToZr(zr);\n        }\n    });\n    saveAndModifyMethod(toPath, 'removeSelfFromZr', {\n        after: function (zr) {\n            for (var i = 0; i < toSubPathList.length; i++) {\n                toSubPathList[i].removeSelfFromZr(zr);\n            }\n        }\n    });\n    function restoreToPath() {\n        toPath.__isCombineMorphing = false;\n        toPath.__morphT = -1;\n        toPath.childrenRef = null;\n        restoreMethod(toPath, 'addSelfToZr');\n        restoreMethod(toPath, 'removeSelfFromZr');\n    }\n    var toLen = toSubPathList.length;\n    if (individualDelay) {\n        var animating_1 = toLen;\n        var eachDone = function () {\n            animating_1--;\n            if (animating_1 === 0) {\n                restoreToPath();\n                oldDone && oldDone();\n            }\n        };\n        for (var i = 0; i < toLen; i++) {\n            var indivdualAnimationOpts = individualDelay ? Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n                delay: (animationOpts.delay || 0) + individualDelay(i, toLen, fromPathList[i], toSubPathList[i]),\n                done: eachDone\n            }, animationOpts) : animationOpts;\n            morphPath(fromPathList[i], toSubPathList[i], indivdualAnimationOpts);\n        }\n    }\n    else {\n        toPath.__morphT = 0;\n        toPath.animateTo({\n            __morphT: 1\n        }, Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n            during: function (p) {\n                for (var i = 0; i < toLen; i++) {\n                    var child = toSubPathList[i];\n                    child.__morphT = toPath.__morphT;\n                    child.dirtyShape();\n                }\n                oldDuring && oldDuring(p);\n            },\n            done: function () {\n                restoreToPath();\n                for (var i = 0; i < fromList.length; i++) {\n                    restoreMethod(fromList[i], 'updateTransform');\n                }\n                oldDone && oldDone();\n            }\n        }, animationOpts));\n    }\n    if (toPath.__zr) {\n        addToSubPathListToZr(toPath.__zr);\n    }\n    return {\n        fromIndividuals: fromPathList,\n        toIndividuals: toSubPathList,\n        count: toLen\n    };\n}\nfunction separateMorph(fromPath, toPathList, animationOpts) {\n    var toLen = toPathList.length;\n    var fromPathList = [];\n    var dividePath = animationOpts.dividePath || defaultDividePath;\n    function addFromPath(fromList) {\n        for (var i = 0; i < fromList.length; i++) {\n            var from = fromList[i];\n            if (isCombineMorphing(from)) {\n                addFromPath(from.childrenRef());\n            }\n            else if (from instanceof _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n                fromPathList.push(from);\n            }\n        }\n    }\n    if (isCombineMorphing(fromPath)) {\n        addFromPath(fromPath.childrenRef());\n        var fromLen = fromPathList.length;\n        if (fromLen < toLen) {\n            var k = 0;\n            for (var i = fromLen; i < toLen; i++) {\n                fromPathList.push(Object(_path_js__WEBPACK_IMPORTED_MODULE_4__[\"clonePath\"])(fromPathList[k++ % fromLen]));\n            }\n        }\n        fromPathList.length = toLen;\n    }\n    else {\n        fromPathList = dividePath({ path: fromPath, count: toLen });\n        var fromPathTransform = fromPath.getComputedTransform();\n        for (var i = 0; i < fromPathList.length; i++) {\n            fromPathList[i].setLocalTransform(fromPathTransform);\n        }\n        if (fromPathList.length !== toLen) {\n            console.error('Invalid morphing: unmatched splitted path');\n            return createEmptyReturn();\n        }\n    }\n    fromPathList = sortPaths(fromPathList);\n    toPathList = sortPaths(toPathList);\n    var individualDelay = animationOpts.individualDelay;\n    for (var i = 0; i < toLen; i++) {\n        var indivdualAnimationOpts = individualDelay ? Object(_core_util_js__WEBPACK_IMPORTED_MODULE_2__[\"defaults\"])({\n            delay: (animationOpts.delay || 0) + individualDelay(i, toLen, fromPathList[i], toPathList[i])\n        }, animationOpts) : animationOpts;\n        morphPath(fromPathList[i], toPathList[i], indivdualAnimationOpts);\n    }\n    return {\n        fromIndividuals: fromPathList,\n        toIndividuals: toPathList,\n        count: toPathList.length\n    };\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/morphPath.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/parseSVG.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/parseSVG.js ***!
  \************************************************************************/
/*! exports provided: makeViewBoxTransform, parseSVG, parseXML */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeViewBoxTransform\", function() { return makeViewBoxTransform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseSVG\", function() { return parseSVG; });\n/* harmony import */ var _graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/* harmony import */ var _graphic_Image_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../graphic/Image.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Image.js\");\n/* harmony import */ var _graphic_shape_Circle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../graphic/shape/Circle.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Circle.js\");\n/* harmony import */ var _graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../graphic/shape/Rect.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Rect.js\");\n/* harmony import */ var _graphic_shape_Ellipse_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../graphic/shape/Ellipse.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Ellipse.js\");\n/* harmony import */ var _graphic_shape_Line_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../graphic/shape/Line.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Line.js\");\n/* harmony import */ var _graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../graphic/shape/Polygon.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polygon.js\");\n/* harmony import */ var _graphic_shape_Polyline_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../graphic/shape/Polyline.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/shape/Polyline.js\");\n/* harmony import */ var _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/matrix.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/matrix.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./path.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/path.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _graphic_LinearGradient_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../graphic/LinearGradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/LinearGradient.js\");\n/* harmony import */ var _graphic_RadialGradient_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../graphic/RadialGradient.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/RadialGradient.js\");\n/* harmony import */ var _graphic_TSpan_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../graphic/TSpan.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/TSpan.js\");\n/* harmony import */ var _parseXML_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./parseXML.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/parseXML.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseXML\", function() { return _parseXML_js__WEBPACK_IMPORTED_MODULE_14__[\"parseXML\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;\nvar nodeParsers;\nvar INHERITABLE_STYLE_ATTRIBUTES_MAP = {\n    'fill': 'fill',\n    'stroke': 'stroke',\n    'stroke-width': 'lineWidth',\n    'opacity': 'opacity',\n    'fill-opacity': 'fillOpacity',\n    'stroke-opacity': 'strokeOpacity',\n    'stroke-dasharray': 'lineDash',\n    'stroke-dashoffset': 'lineDashOffset',\n    'stroke-linecap': 'lineCap',\n    'stroke-linejoin': 'lineJoin',\n    'stroke-miterlimit': 'miterLimit',\n    'font-family': 'fontFamily',\n    'font-size': 'fontSize',\n    'font-style': 'fontStyle',\n    'font-weight': 'fontWeight',\n    'text-anchor': 'textAlign',\n    'visibility': 'visibility',\n    'display': 'display'\n};\nvar INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"keys\"])(INHERITABLE_STYLE_ATTRIBUTES_MAP);\nvar SELF_STYLE_ATTRIBUTES_MAP = {\n    'alignment-baseline': 'textBaseline',\n    'stop-color': 'stopColor'\n};\nvar SELF_STYLE_ATTRIBUTES_MAP_KEYS = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"keys\"])(SELF_STYLE_ATTRIBUTES_MAP);\nvar SVGParser = (function () {\n    function SVGParser() {\n        this._defs = {};\n        this._root = null;\n    }\n    SVGParser.prototype.parse = function (xml, opt) {\n        opt = opt || {};\n        var svg = Object(_parseXML_js__WEBPACK_IMPORTED_MODULE_14__[\"parseXML\"])(xml);\n        if (true) {\n            if (!svg) {\n                throw new Error('Illegal svg');\n            }\n        }\n        this._defsUsePending = [];\n        var root = new _graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n        this._root = root;\n        var named = [];\n        var viewBox = svg.getAttribute('viewBox') || '';\n        var width = parseFloat((svg.getAttribute('width') || opt.width));\n        var height = parseFloat((svg.getAttribute('height') || opt.height));\n        isNaN(width) && (width = null);\n        isNaN(height) && (height = null);\n        parseAttributes(svg, root, null, true, false);\n        var child = svg.firstChild;\n        while (child) {\n            this._parseNode(child, root, named, null, false, false);\n            child = child.nextSibling;\n        }\n        applyDefs(this._defs, this._defsUsePending);\n        this._defsUsePending = [];\n        var viewBoxRect;\n        var viewBoxTransform;\n        if (viewBox) {\n            var viewBoxArr = splitNumberSequence(viewBox);\n            if (viewBoxArr.length >= 4) {\n                viewBoxRect = {\n                    x: parseFloat((viewBoxArr[0] || 0)),\n                    y: parseFloat((viewBoxArr[1] || 0)),\n                    width: parseFloat(viewBoxArr[2]),\n                    height: parseFloat(viewBoxArr[3])\n                };\n            }\n        }\n        if (viewBoxRect && width != null && height != null) {\n            viewBoxTransform = makeViewBoxTransform(viewBoxRect, { x: 0, y: 0, width: width, height: height });\n            if (!opt.ignoreViewBox) {\n                var elRoot = root;\n                root = new _graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n                root.add(elRoot);\n                elRoot.scaleX = elRoot.scaleY = viewBoxTransform.scale;\n                elRoot.x = viewBoxTransform.x;\n                elRoot.y = viewBoxTransform.y;\n            }\n        }\n        if (!opt.ignoreRootClip && width != null && height != null) {\n            root.setClipPath(new _graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n                shape: { x: 0, y: 0, width: width, height: height }\n            }));\n        }\n        return {\n            root: root,\n            width: width,\n            height: height,\n            viewBoxRect: viewBoxRect,\n            viewBoxTransform: viewBoxTransform,\n            named: named\n        };\n    };\n    SVGParser.prototype._parseNode = function (xmlNode, parentGroup, named, namedFrom, isInDefs, isInText) {\n        var nodeName = xmlNode.nodeName.toLowerCase();\n        var el;\n        var namedFromForSub = namedFrom;\n        if (nodeName === 'defs') {\n            isInDefs = true;\n        }\n        if (nodeName === 'text') {\n            isInText = true;\n        }\n        if (nodeName === 'defs' || nodeName === 'switch') {\n            el = parentGroup;\n        }\n        else {\n            if (!isInDefs) {\n                var parser_1 = nodeParsers[nodeName];\n                if (parser_1 && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"hasOwn\"])(nodeParsers, nodeName)) {\n                    el = parser_1.call(this, xmlNode, parentGroup);\n                    var nameAttr = xmlNode.getAttribute('name');\n                    if (nameAttr) {\n                        var newNamed = {\n                            name: nameAttr,\n                            namedFrom: null,\n                            svgNodeTagLower: nodeName,\n                            el: el\n                        };\n                        named.push(newNamed);\n                        if (nodeName === 'g') {\n                            namedFromForSub = newNamed;\n                        }\n                    }\n                    else if (namedFrom) {\n                        named.push({\n                            name: namedFrom.name,\n                            namedFrom: namedFrom,\n                            svgNodeTagLower: nodeName,\n                            el: el\n                        });\n                    }\n                    parentGroup.add(el);\n                }\n            }\n            var parser = paintServerParsers[nodeName];\n            if (parser && Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"hasOwn\"])(paintServerParsers, nodeName)) {\n                var def = parser.call(this, xmlNode);\n                var id = xmlNode.getAttribute('id');\n                if (id) {\n                    this._defs[id] = def;\n                }\n            }\n        }\n        if (el && el.isGroup) {\n            var child = xmlNode.firstChild;\n            while (child) {\n                if (child.nodeType === 1) {\n                    this._parseNode(child, el, named, namedFromForSub, isInDefs, isInText);\n                }\n                else if (child.nodeType === 3 && isInText) {\n                    this._parseText(child, el);\n                }\n                child = child.nextSibling;\n            }\n        }\n    };\n    SVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n        var text = new _graphic_TSpan_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]({\n            style: {\n                text: xmlNode.textContent\n            },\n            silent: true,\n            x: this._textX || 0,\n            y: this._textY || 0\n        });\n        inheritStyle(parentGroup, text);\n        parseAttributes(xmlNode, text, this._defsUsePending, false, false);\n        applyTextAlignment(text, parentGroup);\n        var textStyle = text.style;\n        var fontSize = textStyle.fontSize;\n        if (fontSize && fontSize < 9) {\n            textStyle.fontSize = 9;\n            text.scaleX *= fontSize / 9;\n            text.scaleY *= fontSize / 9;\n        }\n        var font = (textStyle.fontSize || textStyle.fontFamily) && [\n            textStyle.fontStyle,\n            textStyle.fontWeight,\n            (textStyle.fontSize || 12) + 'px',\n            textStyle.fontFamily || 'sans-serif'\n        ].join(' ');\n        textStyle.font = font;\n        var rect = text.getBoundingRect();\n        this._textX += rect.width;\n        parentGroup.add(text);\n        return text;\n    };\n    SVGParser.internalField = (function () {\n        nodeParsers = {\n            'g': function (xmlNode, parentGroup) {\n                var g = new _graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n                inheritStyle(parentGroup, g);\n                parseAttributes(xmlNode, g, this._defsUsePending, false, false);\n                return g;\n            },\n            'rect': function (xmlNode, parentGroup) {\n                var rect = new _graphic_shape_Rect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n                inheritStyle(parentGroup, rect);\n                parseAttributes(xmlNode, rect, this._defsUsePending, false, false);\n                rect.setShape({\n                    x: parseFloat(xmlNode.getAttribute('x') || '0'),\n                    y: parseFloat(xmlNode.getAttribute('y') || '0'),\n                    width: parseFloat(xmlNode.getAttribute('width') || '0'),\n                    height: parseFloat(xmlNode.getAttribute('height') || '0')\n                });\n                rect.silent = true;\n                return rect;\n            },\n            'circle': function (xmlNode, parentGroup) {\n                var circle = new _graphic_shape_Circle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n                inheritStyle(parentGroup, circle);\n                parseAttributes(xmlNode, circle, this._defsUsePending, false, false);\n                circle.setShape({\n                    cx: parseFloat(xmlNode.getAttribute('cx') || '0'),\n                    cy: parseFloat(xmlNode.getAttribute('cy') || '0'),\n                    r: parseFloat(xmlNode.getAttribute('r') || '0')\n                });\n                circle.silent = true;\n                return circle;\n            },\n            'line': function (xmlNode, parentGroup) {\n                var line = new _graphic_shape_Line_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n                inheritStyle(parentGroup, line);\n                parseAttributes(xmlNode, line, this._defsUsePending, false, false);\n                line.setShape({\n                    x1: parseFloat(xmlNode.getAttribute('x1') || '0'),\n                    y1: parseFloat(xmlNode.getAttribute('y1') || '0'),\n                    x2: parseFloat(xmlNode.getAttribute('x2') || '0'),\n                    y2: parseFloat(xmlNode.getAttribute('y2') || '0')\n                });\n                line.silent = true;\n                return line;\n            },\n            'ellipse': function (xmlNode, parentGroup) {\n                var ellipse = new _graphic_shape_Ellipse_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n                inheritStyle(parentGroup, ellipse);\n                parseAttributes(xmlNode, ellipse, this._defsUsePending, false, false);\n                ellipse.setShape({\n                    cx: parseFloat(xmlNode.getAttribute('cx') || '0'),\n                    cy: parseFloat(xmlNode.getAttribute('cy') || '0'),\n                    rx: parseFloat(xmlNode.getAttribute('rx') || '0'),\n                    ry: parseFloat(xmlNode.getAttribute('ry') || '0')\n                });\n                ellipse.silent = true;\n                return ellipse;\n            },\n            'polygon': function (xmlNode, parentGroup) {\n                var pointsStr = xmlNode.getAttribute('points');\n                var pointsArr;\n                if (pointsStr) {\n                    pointsArr = parsePoints(pointsStr);\n                }\n                var polygon = new _graphic_shape_Polygon_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n                    shape: {\n                        points: pointsArr || []\n                    },\n                    silent: true\n                });\n                inheritStyle(parentGroup, polygon);\n                parseAttributes(xmlNode, polygon, this._defsUsePending, false, false);\n                return polygon;\n            },\n            'polyline': function (xmlNode, parentGroup) {\n                var pointsStr = xmlNode.getAttribute('points');\n                var pointsArr;\n                if (pointsStr) {\n                    pointsArr = parsePoints(pointsStr);\n                }\n                var polyline = new _graphic_shape_Polyline_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n                    shape: {\n                        points: pointsArr || []\n                    },\n                    silent: true\n                });\n                inheritStyle(parentGroup, polyline);\n                parseAttributes(xmlNode, polyline, this._defsUsePending, false, false);\n                return polyline;\n            },\n            'image': function (xmlNode, parentGroup) {\n                var img = new _graphic_Image_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n                inheritStyle(parentGroup, img);\n                parseAttributes(xmlNode, img, this._defsUsePending, false, false);\n                img.setStyle({\n                    image: xmlNode.getAttribute('xlink:href') || xmlNode.getAttribute('href'),\n                    x: +xmlNode.getAttribute('x'),\n                    y: +xmlNode.getAttribute('y'),\n                    width: +xmlNode.getAttribute('width'),\n                    height: +xmlNode.getAttribute('height')\n                });\n                img.silent = true;\n                return img;\n            },\n            'text': function (xmlNode, parentGroup) {\n                var x = xmlNode.getAttribute('x') || '0';\n                var y = xmlNode.getAttribute('y') || '0';\n                var dx = xmlNode.getAttribute('dx') || '0';\n                var dy = xmlNode.getAttribute('dy') || '0';\n                this._textX = parseFloat(x) + parseFloat(dx);\n                this._textY = parseFloat(y) + parseFloat(dy);\n                var g = new _graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n                inheritStyle(parentGroup, g);\n                parseAttributes(xmlNode, g, this._defsUsePending, false, true);\n                return g;\n            },\n            'tspan': function (xmlNode, parentGroup) {\n                var x = xmlNode.getAttribute('x');\n                var y = xmlNode.getAttribute('y');\n                if (x != null) {\n                    this._textX = parseFloat(x);\n                }\n                if (y != null) {\n                    this._textY = parseFloat(y);\n                }\n                var dx = xmlNode.getAttribute('dx') || '0';\n                var dy = xmlNode.getAttribute('dy') || '0';\n                var g = new _graphic_Group_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n                inheritStyle(parentGroup, g);\n                parseAttributes(xmlNode, g, this._defsUsePending, false, true);\n                this._textX += parseFloat(dx);\n                this._textY += parseFloat(dy);\n                return g;\n            },\n            'path': function (xmlNode, parentGroup) {\n                var d = xmlNode.getAttribute('d') || '';\n                var path = Object(_path_js__WEBPACK_IMPORTED_MODULE_9__[\"createFromString\"])(d);\n                inheritStyle(parentGroup, path);\n                parseAttributes(xmlNode, path, this._defsUsePending, false, false);\n                path.silent = true;\n                return path;\n            }\n        };\n    })();\n    return SVGParser;\n}());\nvar paintServerParsers = {\n    'lineargradient': function (xmlNode) {\n        var x1 = parseInt(xmlNode.getAttribute('x1') || '0', 10);\n        var y1 = parseInt(xmlNode.getAttribute('y1') || '0', 10);\n        var x2 = parseInt(xmlNode.getAttribute('x2') || '10', 10);\n        var y2 = parseInt(xmlNode.getAttribute('y2') || '0', 10);\n        var gradient = new _graphic_LinearGradient_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](x1, y1, x2, y2);\n        parsePaintServerUnit(xmlNode, gradient);\n        parseGradientColorStops(xmlNode, gradient);\n        return gradient;\n    },\n    'radialgradient': function (xmlNode) {\n        var cx = parseInt(xmlNode.getAttribute('cx') || '0', 10);\n        var cy = parseInt(xmlNode.getAttribute('cy') || '0', 10);\n        var r = parseInt(xmlNode.getAttribute('r') || '0', 10);\n        var gradient = new _graphic_RadialGradient_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](cx, cy, r);\n        parsePaintServerUnit(xmlNode, gradient);\n        parseGradientColorStops(xmlNode, gradient);\n        return gradient;\n    }\n};\nfunction parsePaintServerUnit(xmlNode, gradient) {\n    var gradientUnits = xmlNode.getAttribute('gradientUnits');\n    if (gradientUnits === 'userSpaceOnUse') {\n        gradient.global = true;\n    }\n}\nfunction parseGradientColorStops(xmlNode, gradient) {\n    var stop = xmlNode.firstChild;\n    while (stop) {\n        if (stop.nodeType === 1\n            && stop.nodeName.toLocaleLowerCase() === 'stop') {\n            var offsetStr = stop.getAttribute('offset');\n            var offset = void 0;\n            if (offsetStr && offsetStr.indexOf('%') > 0) {\n                offset = parseInt(offsetStr, 10) / 100;\n            }\n            else if (offsetStr) {\n                offset = parseFloat(offsetStr);\n            }\n            else {\n                offset = 0;\n            }\n            var styleVals = {};\n            parseInlineStyle(stop, styleVals, styleVals);\n            var stopColor = styleVals.stopColor\n                || stop.getAttribute('stop-color')\n                || '#000000';\n            gradient.colorStops.push({\n                offset: offset,\n                color: stopColor\n            });\n        }\n        stop = stop.nextSibling;\n    }\n}\nfunction inheritStyle(parent, child) {\n    if (parent && parent.__inheritedStyle) {\n        if (!child.__inheritedStyle) {\n            child.__inheritedStyle = {};\n        }\n        Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"defaults\"])(child.__inheritedStyle, parent.__inheritedStyle);\n    }\n}\nfunction parsePoints(pointsString) {\n    var list = splitNumberSequence(pointsString);\n    var points = [];\n    for (var i = 0; i < list.length; i += 2) {\n        var x = parseFloat(list[i]);\n        var y = parseFloat(list[i + 1]);\n        points.push([x, y]);\n    }\n    return points;\n}\nfunction parseAttributes(xmlNode, el, defsUsePending, onlyInlineStyle, isTextGroup) {\n    var disp = el;\n    var inheritedStyle = disp.__inheritedStyle = disp.__inheritedStyle || {};\n    var selfStyle = {};\n    if (xmlNode.nodeType === 1) {\n        parseTransformAttribute(xmlNode, el);\n        parseInlineStyle(xmlNode, inheritedStyle, selfStyle);\n        if (!onlyInlineStyle) {\n            parseAttributeStyle(xmlNode, inheritedStyle, selfStyle);\n        }\n    }\n    disp.style = disp.style || {};\n    if (inheritedStyle.fill != null) {\n        disp.style.fill = getFillStrokeStyle(disp, 'fill', inheritedStyle.fill, defsUsePending);\n    }\n    if (inheritedStyle.stroke != null) {\n        disp.style.stroke = getFillStrokeStyle(disp, 'stroke', inheritedStyle.stroke, defsUsePending);\n    }\n    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"each\"])([\n        'lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'\n    ], function (propName) {\n        if (inheritedStyle[propName] != null) {\n            disp.style[propName] = parseFloat(inheritedStyle[propName]);\n        }\n    });\n    Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"each\"])([\n        'lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign'\n    ], function (propName) {\n        if (inheritedStyle[propName] != null) {\n            disp.style[propName] = inheritedStyle[propName];\n        }\n    });\n    if (isTextGroup) {\n        disp.__selfStyle = selfStyle;\n    }\n    if (inheritedStyle.lineDash) {\n        disp.style.lineDash = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"map\"])(splitNumberSequence(inheritedStyle.lineDash), function (str) {\n            return parseFloat(str);\n        });\n    }\n    if (inheritedStyle.visibility === 'hidden' || inheritedStyle.visibility === 'collapse') {\n        disp.invisible = true;\n    }\n    if (inheritedStyle.display === 'none') {\n        disp.ignore = true;\n    }\n}\nfunction applyTextAlignment(text, parentGroup) {\n    var parentSelfStyle = parentGroup.__selfStyle;\n    if (parentSelfStyle) {\n        var textBaseline = parentSelfStyle.textBaseline;\n        var zrTextBaseline = textBaseline;\n        if (!textBaseline || textBaseline === 'auto') {\n            zrTextBaseline = 'alphabetic';\n        }\n        else if (textBaseline === 'baseline') {\n            zrTextBaseline = 'alphabetic';\n        }\n        else if (textBaseline === 'before-edge' || textBaseline === 'text-before-edge') {\n            zrTextBaseline = 'top';\n        }\n        else if (textBaseline === 'after-edge' || textBaseline === 'text-after-edge') {\n            zrTextBaseline = 'bottom';\n        }\n        else if (textBaseline === 'central' || textBaseline === 'mathematical') {\n            zrTextBaseline = 'middle';\n        }\n        text.style.textBaseline = zrTextBaseline;\n    }\n    var parentInheritedStyle = parentGroup.__inheritedStyle;\n    if (parentInheritedStyle) {\n        var textAlign = parentInheritedStyle.textAlign;\n        var zrTextAlign = textAlign;\n        if (textAlign) {\n            if (textAlign === 'middle') {\n                zrTextAlign = 'center';\n            }\n            text.style.textAlign = zrTextAlign;\n        }\n    }\n}\nvar urlRegex = /^url\\(\\s*#(.*?)\\)/;\nfunction getFillStrokeStyle(el, method, str, defsUsePending) {\n    var urlMatch = str && str.match(urlRegex);\n    if (urlMatch) {\n        var url = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"trim\"])(urlMatch[1]);\n        defsUsePending.push([el, method, url]);\n        return;\n    }\n    if (str === 'none') {\n        str = null;\n    }\n    return str;\n}\nfunction applyDefs(defs, defsUsePending) {\n    for (var i = 0; i < defsUsePending.length; i++) {\n        var item = defsUsePending[i];\n        item[0].style[item[1]] = defs[item[2]];\n    }\n}\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;\nfunction splitNumberSequence(rawStr) {\n    return rawStr.match(numberReg) || [];\n}\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.eE,]*)\\)/g;\nvar DEGREE_TO_ANGLE = Math.PI / 180;\nfunction parseTransformAttribute(xmlNode, node) {\n    var transform = xmlNode.getAttribute('transform');\n    if (transform) {\n        transform = transform.replace(/,/g, ' ');\n        var transformOps_1 = [];\n        var mt = null;\n        transform.replace(transformRegex, function (str, type, value) {\n            transformOps_1.push(type, value);\n            return '';\n        });\n        for (var i = transformOps_1.length - 1; i > 0; i -= 2) {\n            var value = transformOps_1[i];\n            var type = transformOps_1[i - 1];\n            var valueArr = splitNumberSequence(value);\n            mt = mt || _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__[\"create\"]();\n            switch (type) {\n                case 'translate':\n                    _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__[\"translate\"](mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || '0')]);\n                    break;\n                case 'scale':\n                    _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__[\"scale\"](mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || valueArr[0])]);\n                    break;\n                case 'rotate':\n                    _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__[\"rotate\"](mt, mt, -parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n                    break;\n                case 'skewX':\n                    var sx = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n                    _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__[\"mul\"](mt, [1, 0, sx, 1, 0, 0], mt);\n                    break;\n                case 'skewY':\n                    var sy = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n                    _core_matrix_js__WEBPACK_IMPORTED_MODULE_8__[\"mul\"](mt, [1, sy, 0, 1, 0, 0], mt);\n                    break;\n                case 'matrix':\n                    mt[0] = parseFloat(valueArr[0]);\n                    mt[1] = parseFloat(valueArr[1]);\n                    mt[2] = parseFloat(valueArr[2]);\n                    mt[3] = parseFloat(valueArr[3]);\n                    mt[4] = parseFloat(valueArr[4]);\n                    mt[5] = parseFloat(valueArr[5]);\n                    break;\n            }\n        }\n        node.setLocalTransform(mt);\n    }\n}\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\nfunction parseInlineStyle(xmlNode, inheritableStyleResult, selfStyleResult) {\n    var style = xmlNode.getAttribute('style');\n    if (!style) {\n        return;\n    }\n    styleRegex.lastIndex = 0;\n    var styleRegResult;\n    while ((styleRegResult = styleRegex.exec(style)) != null) {\n        var svgStlAttr = styleRegResult[1];\n        var zrInheritableStlAttr = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"hasOwn\"])(INHERITABLE_STYLE_ATTRIBUTES_MAP, svgStlAttr)\n            ? INHERITABLE_STYLE_ATTRIBUTES_MAP[svgStlAttr]\n            : null;\n        if (zrInheritableStlAttr) {\n            inheritableStyleResult[zrInheritableStlAttr] = styleRegResult[2];\n        }\n        var zrSelfStlAttr = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_10__[\"hasOwn\"])(SELF_STYLE_ATTRIBUTES_MAP, svgStlAttr)\n            ? SELF_STYLE_ATTRIBUTES_MAP[svgStlAttr]\n            : null;\n        if (zrSelfStlAttr) {\n            selfStyleResult[zrSelfStlAttr] = styleRegResult[2];\n        }\n    }\n}\nfunction parseAttributeStyle(xmlNode, inheritableStyleResult, selfStyleResult) {\n    for (var i = 0; i < INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS.length; i++) {\n        var svgAttrName = INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS[i];\n        var attrValue = xmlNode.getAttribute(svgAttrName);\n        if (attrValue != null) {\n            inheritableStyleResult[INHERITABLE_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;\n        }\n    }\n    for (var i = 0; i < SELF_STYLE_ATTRIBUTES_MAP_KEYS.length; i++) {\n        var svgAttrName = SELF_STYLE_ATTRIBUTES_MAP_KEYS[i];\n        var attrValue = xmlNode.getAttribute(svgAttrName);\n        if (attrValue != null) {\n            selfStyleResult[SELF_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;\n        }\n    }\n}\nfunction makeViewBoxTransform(viewBoxRect, boundingRect) {\n    var scaleX = boundingRect.width / viewBoxRect.width;\n    var scaleY = boundingRect.height / viewBoxRect.height;\n    var scale = Math.min(scaleX, scaleY);\n    return {\n        scale: scale,\n        x: -(viewBoxRect.x + viewBoxRect.width / 2) * scale + (boundingRect.x + boundingRect.width / 2),\n        y: -(viewBoxRect.y + viewBoxRect.height / 2) * scale + (boundingRect.y + boundingRect.height / 2)\n    };\n}\nfunction parseSVG(xml, opt) {\n    var parser = new SVGParser();\n    return parser.parse(xml, opt);\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/parseSVG.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/parseXML.js":
/*!************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/parseXML.js ***!
  \************************************************************************/
/*! exports provided: parseXML */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseXML\", function() { return parseXML; });\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\nfunction parseXML(svg) {\n    if (Object(_core_util_js__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(svg)) {\n        var parser = new DOMParser();\n        svg = parser.parseFromString(svg, 'text/xml');\n    }\n    var svgNode = svg;\n    if (svgNode.nodeType === 9) {\n        svgNode = svgNode.firstChild;\n    }\n    while (svgNode.nodeName.toLowerCase() !== 'svg' || svgNode.nodeType !== 1) {\n        svgNode = svgNode.nextSibling;\n    }\n    return svgNode;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/parseXML.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/path.js":
/*!********************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/path.js ***!
  \********************************************************************/
/*! exports provided: createFromString, extendFromString, mergePath, clonePath */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFromString\", function() { return createFromString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendFromString\", function() { return extendFromString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergePath\", function() { return mergePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clonePath\", function() { return clonePath; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../graphic/Path.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Path.js\");\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var _transformPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./transformPath.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/transformPath.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n\n\n\n\n\nvar mathSqrt = Math.sqrt;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nfunction vMag(v) {\n    return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n}\n;\nfunction vRatio(u, v) {\n    return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n}\n;\nfunction vAngle(u, v) {\n    return (u[0] * v[1] < u[1] * v[0] ? -1 : 1)\n        * Math.acos(vRatio(u, v));\n}\n;\nfunction processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {\n    var psi = psiDeg * (PI / 180.0);\n    var xp = mathCos(psi) * (x1 - x2) / 2.0\n        + mathSin(psi) * (y1 - y2) / 2.0;\n    var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0\n        + mathCos(psi) * (y1 - y2) / 2.0;\n    var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n    if (lambda > 1) {\n        rx *= mathSqrt(lambda);\n        ry *= mathSqrt(lambda);\n    }\n    var f = (fa === fs ? -1 : 1)\n        * mathSqrt((((rx * rx) * (ry * ry))\n            - ((rx * rx) * (yp * yp))\n            - ((ry * ry) * (xp * xp))) / ((rx * rx) * (yp * yp)\n            + (ry * ry) * (xp * xp))) || 0;\n    var cxp = f * rx * yp / ry;\n    var cyp = f * -ry * xp / rx;\n    var cx = (x1 + x2) / 2.0\n        + mathCos(psi) * cxp\n        - mathSin(psi) * cyp;\n    var cy = (y1 + y2) / 2.0\n        + mathSin(psi) * cxp\n        + mathCos(psi) * cyp;\n    var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n    var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n    var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n    var dTheta = vAngle(u, v);\n    if (vRatio(u, v) <= -1) {\n        dTheta = PI;\n    }\n    if (vRatio(u, v) >= 1) {\n        dTheta = 0;\n    }\n    if (dTheta < 0) {\n        var n = Math.round(dTheta / PI * 1e6) / 1e6;\n        dTheta = PI * 2 + (n % 2) * PI;\n    }\n    path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);\n}\nvar commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig;\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;\nfunction createPathProxyFromString(data) {\n    var path = new _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n    if (!data) {\n        return path;\n    }\n    var cpx = 0;\n    var cpy = 0;\n    var subpathX = cpx;\n    var subpathY = cpy;\n    var prevCmd;\n    var CMD = _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].CMD;\n    var cmdList = data.match(commandReg);\n    if (!cmdList) {\n        return path;\n    }\n    for (var l = 0; l < cmdList.length; l++) {\n        var cmdText = cmdList[l];\n        var cmdStr = cmdText.charAt(0);\n        var cmd = void 0;\n        var p = cmdText.match(numberReg) || [];\n        var pLen = p.length;\n        for (var i = 0; i < pLen; i++) {\n            p[i] = parseFloat(p[i]);\n        }\n        var off = 0;\n        while (off < pLen) {\n            var ctlPtx = void 0;\n            var ctlPty = void 0;\n            var rx = void 0;\n            var ry = void 0;\n            var psi = void 0;\n            var fa = void 0;\n            var fs = void 0;\n            var x1 = cpx;\n            var y1 = cpy;\n            var len = void 0;\n            var pathData = void 0;\n            switch (cmdStr) {\n                case 'l':\n                    cpx += p[off++];\n                    cpy += p[off++];\n                    cmd = CMD.L;\n                    path.addData(cmd, cpx, cpy);\n                    break;\n                case 'L':\n                    cpx = p[off++];\n                    cpy = p[off++];\n                    cmd = CMD.L;\n                    path.addData(cmd, cpx, cpy);\n                    break;\n                case 'm':\n                    cpx += p[off++];\n                    cpy += p[off++];\n                    cmd = CMD.M;\n                    path.addData(cmd, cpx, cpy);\n                    subpathX = cpx;\n                    subpathY = cpy;\n                    cmdStr = 'l';\n                    break;\n                case 'M':\n                    cpx = p[off++];\n                    cpy = p[off++];\n                    cmd = CMD.M;\n                    path.addData(cmd, cpx, cpy);\n                    subpathX = cpx;\n                    subpathY = cpy;\n                    cmdStr = 'L';\n                    break;\n                case 'h':\n                    cpx += p[off++];\n                    cmd = CMD.L;\n                    path.addData(cmd, cpx, cpy);\n                    break;\n                case 'H':\n                    cpx = p[off++];\n                    cmd = CMD.L;\n                    path.addData(cmd, cpx, cpy);\n                    break;\n                case 'v':\n                    cpy += p[off++];\n                    cmd = CMD.L;\n                    path.addData(cmd, cpx, cpy);\n                    break;\n                case 'V':\n                    cpy = p[off++];\n                    cmd = CMD.L;\n                    path.addData(cmd, cpx, cpy);\n                    break;\n                case 'C':\n                    cmd = CMD.C;\n                    path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);\n                    cpx = p[off - 2];\n                    cpy = p[off - 1];\n                    break;\n                case 'c':\n                    cmd = CMD.C;\n                    path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);\n                    cpx += p[off - 2];\n                    cpy += p[off - 1];\n                    break;\n                case 'S':\n                    ctlPtx = cpx;\n                    ctlPty = cpy;\n                    len = path.len();\n                    pathData = path.data;\n                    if (prevCmd === CMD.C) {\n                        ctlPtx += cpx - pathData[len - 4];\n                        ctlPty += cpy - pathData[len - 3];\n                    }\n                    cmd = CMD.C;\n                    x1 = p[off++];\n                    y1 = p[off++];\n                    cpx = p[off++];\n                    cpy = p[off++];\n                    path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n                    break;\n                case 's':\n                    ctlPtx = cpx;\n                    ctlPty = cpy;\n                    len = path.len();\n                    pathData = path.data;\n                    if (prevCmd === CMD.C) {\n                        ctlPtx += cpx - pathData[len - 4];\n                        ctlPty += cpy - pathData[len - 3];\n                    }\n                    cmd = CMD.C;\n                    x1 = cpx + p[off++];\n                    y1 = cpy + p[off++];\n                    cpx += p[off++];\n                    cpy += p[off++];\n                    path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n                    break;\n                case 'Q':\n                    x1 = p[off++];\n                    y1 = p[off++];\n                    cpx = p[off++];\n                    cpy = p[off++];\n                    cmd = CMD.Q;\n                    path.addData(cmd, x1, y1, cpx, cpy);\n                    break;\n                case 'q':\n                    x1 = p[off++] + cpx;\n                    y1 = p[off++] + cpy;\n                    cpx += p[off++];\n                    cpy += p[off++];\n                    cmd = CMD.Q;\n                    path.addData(cmd, x1, y1, cpx, cpy);\n                    break;\n                case 'T':\n                    ctlPtx = cpx;\n                    ctlPty = cpy;\n                    len = path.len();\n                    pathData = path.data;\n                    if (prevCmd === CMD.Q) {\n                        ctlPtx += cpx - pathData[len - 4];\n                        ctlPty += cpy - pathData[len - 3];\n                    }\n                    cpx = p[off++];\n                    cpy = p[off++];\n                    cmd = CMD.Q;\n                    path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n                    break;\n                case 't':\n                    ctlPtx = cpx;\n                    ctlPty = cpy;\n                    len = path.len();\n                    pathData = path.data;\n                    if (prevCmd === CMD.Q) {\n                        ctlPtx += cpx - pathData[len - 4];\n                        ctlPty += cpy - pathData[len - 3];\n                    }\n                    cpx += p[off++];\n                    cpy += p[off++];\n                    cmd = CMD.Q;\n                    path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n                    break;\n                case 'A':\n                    rx = p[off++];\n                    ry = p[off++];\n                    psi = p[off++];\n                    fa = p[off++];\n                    fs = p[off++];\n                    x1 = cpx, y1 = cpy;\n                    cpx = p[off++];\n                    cpy = p[off++];\n                    cmd = CMD.A;\n                    processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n                    break;\n                case 'a':\n                    rx = p[off++];\n                    ry = p[off++];\n                    psi = p[off++];\n                    fa = p[off++];\n                    fs = p[off++];\n                    x1 = cpx, y1 = cpy;\n                    cpx += p[off++];\n                    cpy += p[off++];\n                    cmd = CMD.A;\n                    processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n                    break;\n            }\n        }\n        if (cmdStr === 'z' || cmdStr === 'Z') {\n            cmd = CMD.Z;\n            path.addData(cmd);\n            cpx = subpathX;\n            cpy = subpathY;\n        }\n        prevCmd = cmd;\n    }\n    path.toStatic();\n    return path;\n}\nvar SVGPath = (function (_super) {\n    Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(SVGPath, _super);\n    function SVGPath() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    SVGPath.prototype.applyTransform = function (m) { };\n    return SVGPath;\n}(_graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\nfunction isPathProxy(path) {\n    return path.setData != null;\n}\nfunction createPathOptions(str, opts) {\n    var pathProxy = createPathProxyFromString(str);\n    var innerOpts = Object(_core_util_js__WEBPACK_IMPORTED_MODULE_4__[\"extend\"])({}, opts);\n    innerOpts.buildPath = function (path) {\n        if (isPathProxy(path)) {\n            path.setData(pathProxy.data);\n            var ctx = path.getContext();\n            if (ctx) {\n                path.rebuildPath(ctx, 1);\n            }\n        }\n        else {\n            var ctx = path;\n            pathProxy.rebuildPath(ctx, 1);\n        }\n    };\n    innerOpts.applyTransform = function (m) {\n        Object(_transformPath_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(pathProxy, m);\n        this.dirtyShape();\n    };\n    return innerOpts;\n}\nfunction createFromString(str, opts) {\n    return new SVGPath(createPathOptions(str, opts));\n}\nfunction extendFromString(str, defaultOpts) {\n    var innerOpts = createPathOptions(str, defaultOpts);\n    var Sub = (function (_super) {\n        Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Sub, _super);\n        function Sub(opts) {\n            var _this = _super.call(this, opts) || this;\n            _this.applyTransform = innerOpts.applyTransform;\n            _this.buildPath = innerOpts.buildPath;\n            return _this;\n        }\n        return Sub;\n    }(SVGPath));\n    return Sub;\n}\nfunction mergePath(pathEls, opts) {\n    var pathList = [];\n    var len = pathEls.length;\n    for (var i = 0; i < len; i++) {\n        var pathEl = pathEls[i];\n        pathList.push(pathEl.getUpdatedPathProxy(true));\n    }\n    var pathBundle = new _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](opts);\n    pathBundle.createPathProxy();\n    pathBundle.buildPath = function (path) {\n        if (isPathProxy(path)) {\n            path.appendPath(pathList);\n            var ctx = path.getContext();\n            if (ctx) {\n                path.rebuildPath(ctx, 1);\n            }\n        }\n    };\n    return pathBundle;\n}\nfunction clonePath(sourcePath, opts) {\n    opts = opts || {};\n    var path = new _graphic_Path_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n    if (sourcePath.shape) {\n        path.setShape(sourcePath.shape);\n    }\n    path.setStyle(sourcePath.style);\n    if (opts.bakeTransform) {\n        Object(_transformPath_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path.path, sourcePath.getComputedTransform());\n    }\n    else {\n        if (opts.toLocal) {\n            path.setLocalTransform(sourcePath.getComputedTransform());\n        }\n        else {\n            path.copyTransform(sourcePath);\n        }\n    }\n    path.buildPath = sourcePath.buildPath;\n    path.applyTransform = path.applyTransform;\n    path.z = sourcePath.z;\n    path.z2 = sourcePath.z2;\n    path.zlevel = sourcePath.zlevel;\n    return path;\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/path.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/tool/transformPath.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/tool/transformPath.js ***!
  \*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return transformPath; });\n/* harmony import */ var _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/PathProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/PathProxy.js\");\n/* harmony import */ var _core_vector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/vector.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/vector.js\");\n\n\nvar CMD = _core_PathProxy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].CMD;\nvar points = [[], [], []];\nvar mathSqrt = Math.sqrt;\nvar mathAtan2 = Math.atan2;\nfunction transformPath(path, m) {\n    if (!m) {\n        return;\n    }\n    var data = path.data;\n    var len = path.len();\n    var cmd;\n    var nPoint;\n    var i;\n    var j;\n    var k;\n    var p;\n    var M = CMD.M;\n    var C = CMD.C;\n    var L = CMD.L;\n    var R = CMD.R;\n    var A = CMD.A;\n    var Q = CMD.Q;\n    for (i = 0, j = 0; i < len;) {\n        cmd = data[i++];\n        j = i;\n        nPoint = 0;\n        switch (cmd) {\n            case M:\n                nPoint = 1;\n                break;\n            case L:\n                nPoint = 1;\n                break;\n            case C:\n                nPoint = 3;\n                break;\n            case Q:\n                nPoint = 2;\n                break;\n            case A:\n                var x = m[4];\n                var y = m[5];\n                var sx = mathSqrt(m[0] * m[0] + m[1] * m[1]);\n                var sy = mathSqrt(m[2] * m[2] + m[3] * m[3]);\n                var angle = mathAtan2(-m[1] / sy, m[0] / sx);\n                data[i] *= sx;\n                data[i++] += x;\n                data[i] *= sy;\n                data[i++] += y;\n                data[i++] *= sx;\n                data[i++] *= sy;\n                data[i++] += angle;\n                data[i++] += angle;\n                i += 2;\n                j = i;\n                break;\n            case R:\n                p[0] = data[i++];\n                p[1] = data[i++];\n                Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"])(p, p, m);\n                data[j++] = p[0];\n                data[j++] = p[1];\n                p[0] += data[i++];\n                p[1] += data[i++];\n                Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"])(p, p, m);\n                data[j++] = p[0];\n                data[j++] = p[1];\n        }\n        for (k = 0; k < nPoint; k++) {\n            var p_1 = points[k];\n            p_1[0] = data[i++];\n            p_1[1] = data[i++];\n            Object(_core_vector_js__WEBPACK_IMPORTED_MODULE_1__[\"applyTransform\"])(p_1, p_1, m);\n            data[j++] = p_1[0];\n            data[j++] = p_1[1];\n        }\n    }\n    path.increaseVersion();\n}\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/tool/transformPath.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/lib/zrender.js":
/*!******************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/lib/zrender.js ***!
  \******************************************************************/
/*! exports provided: init, dispose, disposeAll, getInstance, registerPainter, version */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dispose\", function() { return dispose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disposeAll\", function() { return disposeAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getInstance\", function() { return getInstance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerPainter\", function() { return registerPainter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return version; });\n/* harmony import */ var _core_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/env.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/env.js\");\n/* harmony import */ var _core_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core/util.js */ \"./node_modules/echarts/node_modules/zrender/lib/core/util.js\");\n/* harmony import */ var _Handler_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Handler.js */ \"./node_modules/echarts/node_modules/zrender/lib/Handler.js\");\n/* harmony import */ var _Storage_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Storage.js */ \"./node_modules/echarts/node_modules/zrender/lib/Storage.js\");\n/* harmony import */ var _animation_Animation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./animation/Animation.js */ \"./node_modules/echarts/node_modules/zrender/lib/animation/Animation.js\");\n/* harmony import */ var _dom_HandlerProxy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dom/HandlerProxy.js */ \"./node_modules/echarts/node_modules/zrender/lib/dom/HandlerProxy.js\");\n/* harmony import */ var _tool_color_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./tool/color.js */ \"./node_modules/echarts/node_modules/zrender/lib/tool/color.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./config.js */ \"./node_modules/echarts/node_modules/zrender/lib/config.js\");\n/* harmony import */ var _graphic_Group_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./graphic/Group.js */ \"./node_modules/echarts/node_modules/zrender/lib/graphic/Group.js\");\n/*!\n* ZRender, a high performance 2d drawing library.\n*\n* Copyright (c) 2013, Baidu Inc.\n* All rights reserved.\n*\n* LICENSE\n* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt\n*/\n\n\n\n\n\n\n\n\n\nvar painterCtors = {};\nvar instances = {};\nfunction delInstance(id) {\n    delete instances[id];\n}\nfunction isDarkMode(backgroundColor) {\n    if (!backgroundColor) {\n        return false;\n    }\n    if (typeof backgroundColor === 'string') {\n        return Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_6__[\"lum\"])(backgroundColor, 1) < _config_js__WEBPACK_IMPORTED_MODULE_7__[\"DARK_MODE_THRESHOLD\"];\n    }\n    else if (backgroundColor.colorStops) {\n        var colorStops = backgroundColor.colorStops;\n        var totalLum = 0;\n        var len = colorStops.length;\n        for (var i = 0; i < len; i++) {\n            totalLum += Object(_tool_color_js__WEBPACK_IMPORTED_MODULE_6__[\"lum\"])(colorStops[i].color, 1);\n        }\n        totalLum /= len;\n        return totalLum < _config_js__WEBPACK_IMPORTED_MODULE_7__[\"DARK_MODE_THRESHOLD\"];\n    }\n    return false;\n}\nvar ZRender = (function () {\n    function ZRender(id, dom, opts) {\n        var _this = this;\n        this._sleepAfterStill = 10;\n        this._stillFrameAccum = 0;\n        this._needsRefresh = true;\n        this._needsRefreshHover = true;\n        this._darkMode = false;\n        opts = opts || {};\n        this.dom = dom;\n        this.id = id;\n        var storage = new _Storage_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n        var rendererType = opts.renderer || 'canvas';\n        if (!painterCtors[rendererType]) {\n            rendererType = _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"keys\"](painterCtors)[0];\n        }\n        if (true) {\n            if (!painterCtors[rendererType]) {\n                throw new Error(\"Renderer '\" + rendererType + \"' is not imported. Please import it first.\");\n            }\n        }\n        opts.useDirtyRect = opts.useDirtyRect == null\n            ? false\n            : opts.useDirtyRect;\n        var painter = new painterCtors[rendererType](dom, storage, opts, id);\n        var ssrMode = opts.ssr || painter.ssrOnly;\n        this.storage = storage;\n        this.painter = painter;\n        var handerProxy = (!_core_env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].node && !_core_env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].worker && !ssrMode)\n            ? new _dom_HandlerProxy_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](painter.getViewportRoot(), painter.root)\n            : null;\n        var useCoarsePointer = opts.useCoarsePointer;\n        var usePointerSize = (useCoarsePointer == null || useCoarsePointer === 'auto')\n            ? _core_env_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].touchEventsSupported\n            : !!useCoarsePointer;\n        var defaultPointerSize = 44;\n        var pointerSize;\n        if (usePointerSize) {\n            pointerSize = _core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"retrieve2\"](opts.pointerSize, defaultPointerSize);\n        }\n        this.handler = new _Handler_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](storage, painter, handerProxy, painter.root, pointerSize);\n        this.animation = new _animation_Animation_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n            stage: {\n                update: ssrMode ? null : function () { return _this._flush(true); }\n            }\n        });\n        if (!ssrMode) {\n            this.animation.start();\n        }\n    }\n    ZRender.prototype.add = function (el) {\n        if (!el) {\n            return;\n        }\n        this.storage.addRoot(el);\n        el.addSelfToZr(this);\n        this.refresh();\n    };\n    ZRender.prototype.remove = function (el) {\n        if (!el) {\n            return;\n        }\n        this.storage.delRoot(el);\n        el.removeSelfFromZr(this);\n        this.refresh();\n    };\n    ZRender.prototype.configLayer = function (zLevel, config) {\n        if (this.painter.configLayer) {\n            this.painter.configLayer(zLevel, config);\n        }\n        this.refresh();\n    };\n    ZRender.prototype.setBackgroundColor = function (backgroundColor) {\n        if (this.painter.setBackgroundColor) {\n            this.painter.setBackgroundColor(backgroundColor);\n        }\n        this.refresh();\n        this._backgroundColor = backgroundColor;\n        this._darkMode = isDarkMode(backgroundColor);\n    };\n    ZRender.prototype.getBackgroundColor = function () {\n        return this._backgroundColor;\n    };\n    ZRender.prototype.setDarkMode = function (darkMode) {\n        this._darkMode = darkMode;\n    };\n    ZRender.prototype.isDarkMode = function () {\n        return this._darkMode;\n    };\n    ZRender.prototype.refreshImmediately = function (fromInside) {\n        if (!fromInside) {\n            this.animation.update(true);\n        }\n        this._needsRefresh = false;\n        this.painter.refresh();\n        this._needsRefresh = false;\n    };\n    ZRender.prototype.refresh = function () {\n        this._needsRefresh = true;\n        this.animation.start();\n    };\n    ZRender.prototype.flush = function () {\n        this._flush(false);\n    };\n    ZRender.prototype._flush = function (fromInside) {\n        var triggerRendered;\n        var start = Object(_animation_Animation_js__WEBPACK_IMPORTED_MODULE_4__[\"getTime\"])();\n        if (this._needsRefresh) {\n            triggerRendered = true;\n            this.refreshImmediately(fromInside);\n        }\n        if (this._needsRefreshHover) {\n            triggerRendered = true;\n            this.refreshHoverImmediately();\n        }\n        var end = Object(_animation_Animation_js__WEBPACK_IMPORTED_MODULE_4__[\"getTime\"])();\n        if (triggerRendered) {\n            this._stillFrameAccum = 0;\n            this.trigger('rendered', {\n                elapsedTime: end - start\n            });\n        }\n        else if (this._sleepAfterStill > 0) {\n            this._stillFrameAccum++;\n            if (this._stillFrameAccum > this._sleepAfterStill) {\n                this.animation.stop();\n            }\n        }\n    };\n    ZRender.prototype.setSleepAfterStill = function (stillFramesCount) {\n        this._sleepAfterStill = stillFramesCount;\n    };\n    ZRender.prototype.wakeUp = function () {\n        this.animation.start();\n        this._stillFrameAccum = 0;\n    };\n    ZRender.prototype.refreshHover = function () {\n        this._needsRefreshHover = true;\n    };\n    ZRender.prototype.refreshHoverImmediately = function () {\n        this._needsRefreshHover = false;\n        if (this.painter.refreshHover && this.painter.getType() === 'canvas') {\n            this.painter.refreshHover();\n        }\n    };\n    ZRender.prototype.resize = function (opts) {\n        opts = opts || {};\n        this.painter.resize(opts.width, opts.height);\n        this.handler.resize();\n    };\n    ZRender.prototype.clearAnimation = function () {\n        this.animation.clear();\n    };\n    ZRender.prototype.getWidth = function () {\n        return this.painter.getWidth();\n    };\n    ZRender.prototype.getHeight = function () {\n        return this.painter.getHeight();\n    };\n    ZRender.prototype.setCursorStyle = function (cursorStyle) {\n        this.handler.setCursorStyle(cursorStyle);\n    };\n    ZRender.prototype.findHover = function (x, y) {\n        return this.handler.findHover(x, y);\n    };\n    ZRender.prototype.on = function (eventName, eventHandler, context) {\n        this.handler.on(eventName, eventHandler, context);\n        return this;\n    };\n    ZRender.prototype.off = function (eventName, eventHandler) {\n        this.handler.off(eventName, eventHandler);\n    };\n    ZRender.prototype.trigger = function (eventName, event) {\n        this.handler.trigger(eventName, event);\n    };\n    ZRender.prototype.clear = function () {\n        var roots = this.storage.getRoots();\n        for (var i = 0; i < roots.length; i++) {\n            if (roots[i] instanceof _graphic_Group_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n                roots[i].removeSelfFromZr(this);\n            }\n        }\n        this.storage.delAllRoots();\n        this.painter.clear();\n    };\n    ZRender.prototype.dispose = function () {\n        this.animation.stop();\n        this.clear();\n        this.storage.dispose();\n        this.painter.dispose();\n        this.handler.dispose();\n        this.animation =\n            this.storage =\n                this.painter =\n                    this.handler = null;\n        delInstance(this.id);\n    };\n    return ZRender;\n}());\nfunction init(dom, opts) {\n    var zr = new ZRender(_core_util_js__WEBPACK_IMPORTED_MODULE_1__[\"guid\"](), dom, opts);\n    instances[zr.id] = zr;\n    return zr;\n}\nfunction dispose(zr) {\n    zr.dispose();\n}\nfunction disposeAll() {\n    for (var key in instances) {\n        if (instances.hasOwnProperty(key)) {\n            instances[key].dispose();\n        }\n    }\n    instances = {};\n}\nfunction getInstance(id) {\n    return instances[id];\n}\nfunction registerPainter(name, Ctor) {\n    painterCtors[name] = Ctor;\n}\nvar version = '5.4.0';\n;\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/lib/zrender.js?");

/***/ }),

/***/ "./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js":
/*!***********************************************************************************!*\
  !*** ./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js ***!
  \***********************************************************************************/
/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__createBinding\", function() { return __createBinding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArray\", function() { return __spreadArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nfunction __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || from);\r\n}\r\n\r\nfunction __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/echarts/node_modules/zrender/node_modules/tslib/tslib.es6.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/button-group.js":
/*!*****************************************************!*\
  !*** ./node_modules/element-ui/lib/button-group.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 96);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  96:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        staticClass: \"el-button-group\"\n      }, [_vm._t(\"default\")], 2);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0&\n    // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n    var button_groupvue_type_script_lang_js_ = {\n      name: 'ElButtonGroup'\n    }; // CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_button_groupvue_type_script_lang_js_ = button_groupvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/button/src/button-group.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_button_groupvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/button/src/button-group.vue\";\n    /* harmony default export */\n\n    var button_group = component.exports; // CONCATENATED MODULE: ./packages/button-group/index.js\n\n    /* istanbul ignore next */\n\n    button_group.install = function (Vue) {\n      Vue.component(button_group.name, button_group);\n    };\n    /* harmony default export */\n\n\n    var packages_button_group = __webpack_exports__[\"default\"] = button_group;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/button-group.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/button.js":
/*!***********************************************!*\
  !*** ./node_modules/element-ui/lib/button.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 95);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  95:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"button\", {\n        staticClass: \"el-button\",\n        class: [_vm.type ? \"el-button--\" + _vm.type : \"\", _vm.buttonSize ? \"el-button--\" + _vm.buttonSize : \"\", {\n          \"is-disabled\": _vm.buttonDisabled,\n          \"is-loading\": _vm.loading,\n          \"is-plain\": _vm.plain,\n          \"is-round\": _vm.round,\n          \"is-circle\": _vm.circle\n        }],\n        attrs: {\n          disabled: _vm.buttonDisabled || _vm.loading,\n          autofocus: _vm.autofocus,\n          type: _vm.nativeType\n        },\n        on: {\n          click: _vm.handleClick\n        }\n      }, [_vm.loading ? _c(\"i\", {\n        staticClass: \"el-icon-loading\"\n      }) : _vm._e(), _vm.icon && !_vm.loading ? _c(\"i\", {\n        class: _vm.icon\n      }) : _vm._e(), _vm.$slots.default ? _c(\"span\", [_vm._t(\"default\")], 2) : _vm._e()]);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\n    // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n    var buttonvue_type_script_lang_js_ = {\n      name: 'ElButton',\n      inject: {\n        elForm: {\n          default: ''\n        },\n        elFormItem: {\n          default: ''\n        }\n      },\n      props: {\n        type: {\n          type: String,\n          default: 'default'\n        },\n        size: String,\n        icon: {\n          type: String,\n          default: ''\n        },\n        nativeType: {\n          type: String,\n          default: 'button'\n        },\n        loading: Boolean,\n        disabled: Boolean,\n        plain: Boolean,\n        autofocus: Boolean,\n        round: Boolean,\n        circle: Boolean\n      },\n      computed: {\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        buttonSize: function buttonSize() {\n          return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n        },\n        buttonDisabled: function buttonDisabled() {\n          return this.$options.propsData.hasOwnProperty('disabled') ? this.disabled : (this.elForm || {}).disabled;\n        }\n      },\n      methods: {\n        handleClick: function handleClick(evt) {\n          this.$emit('click', evt);\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_buttonvue_type_script_lang_js_ = buttonvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/button/src/button.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_buttonvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/button/src/button.vue\";\n    /* harmony default export */\n\n    var src_button = component.exports; // CONCATENATED MODULE: ./packages/button/index.js\n\n    /* istanbul ignore next */\n\n    src_button.install = function (Vue) {\n      Vue.component(src_button.name, src_button);\n    };\n    /* harmony default export */\n\n\n    var packages_button = __webpack_exports__[\"default\"] = src_button;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/button.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/cascader-panel.js":
/*!*******************************************************!*\
  !*** ./node_modules/element-ui/lib/cascader-panel.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 60);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  15:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/scrollbar */ \"./node_modules/element-ui/lib/scrollbar.js\");\n    /***/\n  },\n\n  /***/\n  19:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/checkbox */ \"./node_modules/element-ui/lib/checkbox.js\");\n    /***/\n  },\n\n  /***/\n  21:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/shared */ \"./node_modules/element-ui/lib/utils/shared.js\");\n    /***/\n  },\n\n  /***/\n  26:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! babel-helper-vue-jsx-merge-props */ \"./node_modules/babel-helper-vue-jsx-merge-props/index.js\");\n    /***/\n  },\n\n  /***/\n  3:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n    /***/\n  },\n\n  /***/\n  31:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/scroll-into-view */ \"./node_modules/element-ui/lib/utils/scroll-into-view.js\");\n    /***/\n  },\n\n  /***/\n  40:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/aria-utils */ \"./node_modules/element-ui/lib/utils/aria-utils.js\");\n    /***/\n  },\n\n  /***/\n  51:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/radio */ \"./node_modules/element-ui/lib/radio.js\");\n    /***/\n  },\n\n  /***/\n  6:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/locale */ \"./node_modules/element-ui/lib/mixins/locale.js\");\n    /***/\n  },\n\n  /***/\n  60:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\n\n\n    var cascader_panelvue_type_template_id_34932346_render = function cascader_panelvue_type_template_id_34932346_render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        class: [\"el-cascader-panel\", _vm.border && \"is-bordered\"],\n        on: {\n          keydown: _vm.handleKeyDown\n        }\n      }, _vm._l(_vm.menus, function (menu, index) {\n        return _c(\"cascader-menu\", {\n          key: index,\n          ref: \"menu\",\n          refInFor: true,\n          attrs: {\n            index: index,\n            nodes: menu\n          }\n        });\n      }), 1);\n    };\n\n    var staticRenderFns = [];\n    cascader_panelvue_type_template_id_34932346_render._withStripped = true; // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\n    // EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\n\n    var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26);\n\n    var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_); // EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\n\n\n    var scrollbar_ = __webpack_require__(15);\n\n    var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); // EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\n\n\n    var checkbox_ = __webpack_require__(19);\n\n    var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); // EXTERNAL MODULE: external \"element-ui/lib/radio\"\n\n\n    var radio_ = __webpack_require__(51);\n\n    var radio_default = /*#__PURE__*/__webpack_require__.n(radio_); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n\n\n    var stopPropagation = function stopPropagation(e) {\n      return e.stopPropagation();\n    };\n    /* harmony default export */\n\n\n    var cascader_nodevue_type_script_lang_js_ = {\n      inject: ['panel'],\n      components: {\n        ElCheckbox: checkbox_default.a,\n        ElRadio: radio_default.a\n      },\n      props: {\n        node: {\n          required: true\n        },\n        nodeId: String\n      },\n      computed: {\n        config: function config() {\n          return this.panel.config;\n        },\n        isLeaf: function isLeaf() {\n          return this.node.isLeaf;\n        },\n        isDisabled: function isDisabled() {\n          return this.node.isDisabled;\n        },\n        checkedValue: function checkedValue() {\n          return this.panel.checkedValue;\n        },\n        isChecked: function isChecked() {\n          return this.node.isSameNode(this.checkedValue);\n        },\n        inActivePath: function inActivePath() {\n          return this.isInPath(this.panel.activePath);\n        },\n        inCheckedPath: function inCheckedPath() {\n          var _this = this;\n\n          if (!this.config.checkStrictly) return false;\n          return this.panel.checkedNodePaths.some(function (checkedPath) {\n            return _this.isInPath(checkedPath);\n          });\n        },\n        value: function value() {\n          return this.node.getValueByOption();\n        }\n      },\n      methods: {\n        handleExpand: function handleExpand() {\n          var _this2 = this;\n\n          var panel = this.panel,\n              node = this.node,\n              isDisabled = this.isDisabled,\n              config = this.config;\n          var multiple = config.multiple,\n              checkStrictly = config.checkStrictly;\n          if (!checkStrictly && isDisabled || node.loading) return;\n\n          if (config.lazy && !node.loaded) {\n            panel.lazyLoad(node, function () {\n              // do not use cached leaf value here, invoke this.isLeaf to get new value.\n              var isLeaf = _this2.isLeaf;\n              if (!isLeaf) _this2.handleExpand();\n\n              if (multiple) {\n                // if leaf sync checked state, else clear checked state\n                var checked = isLeaf ? node.checked : false;\n\n                _this2.handleMultiCheckChange(checked);\n              }\n            });\n          } else {\n            panel.handleExpand(node);\n          }\n        },\n        handleCheckChange: function handleCheckChange() {\n          var panel = this.panel,\n              value = this.value,\n              node = this.node;\n          panel.handleCheckChange(value);\n          panel.handleExpand(node);\n        },\n        handleMultiCheckChange: function handleMultiCheckChange(checked) {\n          this.node.doCheck(checked);\n          this.panel.calculateMultiCheckedValue();\n        },\n        isInPath: function isInPath(pathNodes) {\n          var node = this.node;\n          var selectedPathNode = pathNodes[node.level - 1] || {};\n          return selectedPathNode.uid === node.uid;\n        },\n        renderPrefix: function renderPrefix(h) {\n          var isLeaf = this.isLeaf,\n              isChecked = this.isChecked,\n              config = this.config;\n          var checkStrictly = config.checkStrictly,\n              multiple = config.multiple;\n\n          if (multiple) {\n            return this.renderCheckbox(h);\n          } else if (checkStrictly) {\n            return this.renderRadio(h);\n          } else if (isLeaf && isChecked) {\n            return this.renderCheckIcon(h);\n          }\n\n          return null;\n        },\n        renderPostfix: function renderPostfix(h) {\n          var node = this.node,\n              isLeaf = this.isLeaf;\n\n          if (node.loading) {\n            return this.renderLoadingIcon(h);\n          } else if (!isLeaf) {\n            return this.renderExpandIcon(h);\n          }\n\n          return null;\n        },\n        renderCheckbox: function renderCheckbox(h) {\n          var node = this.node,\n              config = this.config,\n              isDisabled = this.isDisabled;\n          var events = {\n            on: {\n              change: this.handleMultiCheckChange\n            },\n            nativeOn: {}\n          };\n\n          if (config.checkStrictly) {\n            // when every node is selectable, click event should not trigger expand event.\n            events.nativeOn.click = stopPropagation;\n          }\n\n          return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{\n            attrs: {\n              value: node.checked,\n              indeterminate: node.indeterminate,\n              disabled: isDisabled\n            }\n          }, events]));\n        },\n        renderRadio: function renderRadio(h) {\n          var checkedValue = this.checkedValue,\n              value = this.value,\n              isDisabled = this.isDisabled; // to keep same reference if value cause radio's checked state is calculated by reference comparision;\n\n          if (Object(util_[\"isEqual\"])(value, checkedValue)) {\n            value = checkedValue;\n          }\n\n          return h('el-radio', {\n            attrs: {\n              value: checkedValue,\n              label: value,\n              disabled: isDisabled\n            },\n            on: {\n              'change': this.handleCheckChange\n            },\n            nativeOn: {\n              'click': stopPropagation\n            }\n          }, [h('span')]);\n        },\n        renderCheckIcon: function renderCheckIcon(h) {\n          return h('i', {\n            'class': 'el-icon-check el-cascader-node__prefix'\n          });\n        },\n        renderLoadingIcon: function renderLoadingIcon(h) {\n          return h('i', {\n            'class': 'el-icon-loading el-cascader-node__postfix'\n          });\n        },\n        renderExpandIcon: function renderExpandIcon(h) {\n          return h('i', {\n            'class': 'el-icon-arrow-right el-cascader-node__postfix'\n          });\n        },\n        renderContent: function renderContent(h) {\n          var panel = this.panel,\n              node = this.node;\n          var render = panel.renderLabelFn;\n          var vnode = render ? render({\n            node: node,\n            data: node.data\n          }) : null;\n          return h('span', {\n            'class': 'el-cascader-node__label'\n          }, [vnode || node.label]);\n        }\n      },\n      render: function render(h) {\n        var _this3 = this;\n\n        var inActivePath = this.inActivePath,\n            inCheckedPath = this.inCheckedPath,\n            isChecked = this.isChecked,\n            isLeaf = this.isLeaf,\n            isDisabled = this.isDisabled,\n            config = this.config,\n            nodeId = this.nodeId;\n        var expandTrigger = config.expandTrigger,\n            checkStrictly = config.checkStrictly,\n            multiple = config.multiple;\n        var disabled = !checkStrictly && isDisabled;\n        var events = {\n          on: {}\n        };\n\n        if (expandTrigger === 'click') {\n          events.on.click = this.handleExpand;\n        } else {\n          events.on.mouseenter = function (e) {\n            _this3.handleExpand();\n\n            _this3.$emit('expand', e);\n          };\n\n          events.on.focus = function (e) {\n            _this3.handleExpand();\n\n            _this3.$emit('expand', e);\n          };\n        }\n\n        if (isLeaf && !isDisabled && !checkStrictly && !multiple) {\n          events.on.click = this.handleCheckChange;\n        }\n\n        return h('li', external_babel_helper_vue_jsx_merge_props_default()([{\n          attrs: {\n            role: 'menuitem',\n            id: nodeId,\n            'aria-expanded': inActivePath,\n            tabindex: disabled ? null : -1\n          },\n          'class': {\n            'el-cascader-node': true,\n            'is-selectable': checkStrictly,\n            'in-active-path': inActivePath,\n            'in-checked-path': inCheckedPath,\n            'is-active': isChecked,\n            'is-disabled': disabled\n          }\n        }, events]), [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)]);\n      }\n    }; // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_cascader_nodevue_type_script_lang_js_ = cascader_nodevue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue\n\n\n    var cascader_node_render, cascader_node_staticRenderFns;\n    /* normalize component */\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_cascader_nodevue_type_script_lang_js_, cascader_node_render, cascader_node_staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/cascader-panel/src/cascader-node.vue\";\n    /* harmony default export */\n\n    var cascader_node = component.exports; // EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\n\n    var locale_ = __webpack_require__(6);\n\n    var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n\n    var cascader_menuvue_type_script_lang_js_ = {\n      name: 'ElCascaderMenu',\n      mixins: [locale_default.a],\n      inject: ['panel'],\n      components: {\n        ElScrollbar: scrollbar_default.a,\n        CascaderNode: cascader_node\n      },\n      props: {\n        nodes: {\n          type: Array,\n          required: true\n        },\n        index: Number\n      },\n      data: function data() {\n        return {\n          activeNode: null,\n          hoverTimer: null,\n          id: Object(util_[\"generateId\"])()\n        };\n      },\n      computed: {\n        isEmpty: function isEmpty() {\n          return !this.nodes.length;\n        },\n        menuId: function menuId() {\n          return 'cascader-menu-' + this.id + '-' + this.index;\n        }\n      },\n      methods: {\n        handleExpand: function handleExpand(e) {\n          this.activeNode = e.target;\n        },\n        handleMouseMove: function handleMouseMove(e) {\n          var activeNode = this.activeNode,\n              hoverTimer = this.hoverTimer;\n          var hoverZone = this.$refs.hoverZone;\n          if (!activeNode || !hoverZone) return;\n\n          if (activeNode.contains(e.target)) {\n            clearTimeout(hoverTimer);\n\n            var _$el$getBoundingClien = this.$el.getBoundingClientRect(),\n                left = _$el$getBoundingClien.left;\n\n            var startX = e.clientX - left;\n            var _$el = this.$el,\n                offsetWidth = _$el.offsetWidth,\n                offsetHeight = _$el.offsetHeight;\n            var top = activeNode.offsetTop;\n            var bottom = top + activeNode.offsetHeight;\n            hoverZone.innerHTML = '\\n          <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M' + startX + ' ' + top + ' L' + offsetWidth + ' 0 V' + top + ' Z\" />\\n          <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M' + startX + ' ' + bottom + ' L' + offsetWidth + ' ' + offsetHeight + ' V' + bottom + ' Z\" />\\n        ';\n          } else if (!hoverTimer) {\n            this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold);\n          }\n        },\n        clearHoverZone: function clearHoverZone() {\n          var hoverZone = this.$refs.hoverZone;\n          if (!hoverZone) return;\n          hoverZone.innerHTML = '';\n        },\n        renderEmptyText: function renderEmptyText(h) {\n          return h('div', {\n            'class': 'el-cascader-menu__empty-text'\n          }, [this.t('el.cascader.noData')]);\n        },\n        renderNodeList: function renderNodeList(h) {\n          var menuId = this.menuId;\n          var isHoverMenu = this.panel.isHoverMenu;\n          var events = {\n            on: {}\n          };\n\n          if (isHoverMenu) {\n            events.on.expand = this.handleExpand;\n          }\n\n          var nodes = this.nodes.map(function (node, index) {\n            var hasChildren = node.hasChildren;\n            return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{\n              key: node.uid,\n              attrs: {\n                node: node,\n                'node-id': menuId + '-' + index,\n                'aria-haspopup': hasChildren,\n                'aria-owns': hasChildren ? menuId : null\n              }\n            }, events]));\n          });\n          return [].concat(nodes, [isHoverMenu ? h('svg', {\n            ref: 'hoverZone',\n            'class': 'el-cascader-menu__hover-zone'\n          }) : null]);\n        }\n      },\n      render: function render(h) {\n        var isEmpty = this.isEmpty,\n            menuId = this.menuId;\n        var events = {\n          nativeOn: {}\n        }; // optimize hover to expand experience (#8010)\n\n        if (this.panel.isHoverMenu) {\n          events.nativeOn.mousemove = this.handleMouseMove; // events.nativeOn.mouseleave = this.clearHoverZone;\n        }\n\n        return h('el-scrollbar', external_babel_helper_vue_jsx_merge_props_default()([{\n          attrs: {\n            tag: 'ul',\n            role: 'menu',\n            id: menuId,\n            'wrap-class': 'el-cascader-menu__wrap',\n            'view-class': {\n              'el-cascader-menu__list': true,\n              'is-empty': isEmpty\n            }\n          },\n          'class': 'el-cascader-menu'\n        }, events]), [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)]);\n      }\n    }; // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_cascader_menuvue_type_script_lang_js_ = cascader_menuvue_type_script_lang_js_; // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue\n\n    var cascader_menu_render, cascader_menu_staticRenderFns;\n    /* normalize component */\n\n    var cascader_menu_component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_cascader_menuvue_type_script_lang_js_, cascader_menu_render, cascader_menu_staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var cascader_menu_api; }\n\n    cascader_menu_component.options.__file = \"packages/cascader-panel/src/cascader-menu.vue\";\n    /* harmony default export */\n\n    var cascader_menu = cascader_menu_component.exports; // EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\n\n    var shared_ = __webpack_require__(21); // CONCATENATED MODULE: ./packages/cascader-panel/src/node.js\n\n\n    var _createClass = function () {\n      function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n          var descriptor = props[i];\n          descriptor.enumerable = descriptor.enumerable || false;\n          descriptor.configurable = true;\n          if (\"value\" in descriptor) descriptor.writable = true;\n          Object.defineProperty(target, descriptor.key, descriptor);\n        }\n      }\n\n      return function (Constructor, protoProps, staticProps) {\n        if (protoProps) defineProperties(Constructor.prototype, protoProps);\n        if (staticProps) defineProperties(Constructor, staticProps);\n        return Constructor;\n      };\n    }();\n\n    function _classCallCheck(instance, Constructor) {\n      if (!(instance instanceof Constructor)) {\n        throw new TypeError(\"Cannot call a class as a function\");\n      }\n    }\n\n    var uid = 0;\n\n    var node_Node = function () {\n      function Node(data, config, parentNode) {\n        _classCallCheck(this, Node);\n\n        this.data = data;\n        this.config = config;\n        this.parent = parentNode || null;\n        this.level = !this.parent ? 1 : this.parent.level + 1;\n        this.uid = uid++;\n        this.initState();\n        this.initChildren();\n      }\n\n      Node.prototype.initState = function initState() {\n        var _config = this.config,\n            valueKey = _config.value,\n            labelKey = _config.label;\n        this.value = this.data[valueKey];\n        this.label = this.data[labelKey];\n        this.pathNodes = this.calculatePathNodes();\n        this.path = this.pathNodes.map(function (node) {\n          return node.value;\n        });\n        this.pathLabels = this.pathNodes.map(function (node) {\n          return node.label;\n        }); // lazy load\n\n        this.loading = false;\n        this.loaded = false;\n      };\n\n      Node.prototype.initChildren = function initChildren() {\n        var _this = this;\n\n        var config = this.config;\n        var childrenKey = config.children;\n        var childrenData = this.data[childrenKey];\n        this.hasChildren = Array.isArray(childrenData);\n        this.children = (childrenData || []).map(function (child) {\n          return new Node(child, config, _this);\n        });\n      };\n\n      Node.prototype.calculatePathNodes = function calculatePathNodes() {\n        var nodes = [this];\n        var parent = this.parent;\n\n        while (parent) {\n          nodes.unshift(parent);\n          parent = parent.parent;\n        }\n\n        return nodes;\n      };\n\n      Node.prototype.getPath = function getPath() {\n        return this.path;\n      };\n\n      Node.prototype.getValue = function getValue() {\n        return this.value;\n      };\n\n      Node.prototype.getValueByOption = function getValueByOption() {\n        return this.config.emitPath ? this.getPath() : this.getValue();\n      };\n\n      Node.prototype.getText = function getText(allLevels, separator) {\n        return allLevels ? this.pathLabels.join(separator) : this.label;\n      };\n\n      Node.prototype.isSameNode = function isSameNode(checkedValue) {\n        var value = this.getValueByOption();\n        return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) {\n          return Object(util_[\"isEqual\"])(val, value);\n        }) : Object(util_[\"isEqual\"])(checkedValue, value);\n      };\n\n      Node.prototype.broadcast = function broadcast(event) {\n        for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n          args[_key - 1] = arguments[_key];\n        }\n\n        var handlerName = 'onParent' + Object(util_[\"capitalize\"])(event);\n        this.children.forEach(function (child) {\n          if (child) {\n            // bottom up\n            child.broadcast.apply(child, [event].concat(args));\n            child[handlerName] && child[handlerName].apply(child, args);\n          }\n        });\n      };\n\n      Node.prototype.emit = function emit(event) {\n        var parent = this.parent;\n        var handlerName = 'onChild' + Object(util_[\"capitalize\"])(event);\n\n        if (parent) {\n          for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n            args[_key2 - 1] = arguments[_key2];\n          }\n\n          parent[handlerName] && parent[handlerName].apply(parent, args);\n          parent.emit.apply(parent, [event].concat(args));\n        }\n      };\n\n      Node.prototype.onParentCheck = function onParentCheck(checked) {\n        if (!this.isDisabled) {\n          this.setCheckState(checked);\n        }\n      };\n\n      Node.prototype.onChildCheck = function onChildCheck() {\n        var children = this.children;\n        var validChildren = children.filter(function (child) {\n          return !child.isDisabled;\n        });\n        var checked = validChildren.length ? validChildren.every(function (child) {\n          return child.checked;\n        }) : false;\n        this.setCheckState(checked);\n      };\n\n      Node.prototype.setCheckState = function setCheckState(checked) {\n        var totalNum = this.children.length;\n        var checkedNum = this.children.reduce(function (c, p) {\n          var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;\n          return c + num;\n        }, 0);\n        this.checked = checked;\n        this.indeterminate = checkedNum !== totalNum && checkedNum > 0;\n      };\n\n      Node.prototype.syncCheckState = function syncCheckState(checkedValue) {\n        var value = this.getValueByOption();\n        var checked = this.isSameNode(checkedValue, value);\n        this.doCheck(checked);\n      };\n\n      Node.prototype.doCheck = function doCheck(checked) {\n        if (this.checked !== checked) {\n          if (this.config.checkStrictly) {\n            this.checked = checked;\n          } else {\n            // bottom up to unify the calculation of the indeterminate state\n            this.broadcast('check', checked);\n            this.setCheckState(checked);\n            this.emit('check');\n          }\n        }\n      };\n\n      _createClass(Node, [{\n        key: 'isDisabled',\n        get: function get() {\n          var data = this.data,\n              parent = this.parent,\n              config = this.config;\n          var disabledKey = config.disabled;\n          var checkStrictly = config.checkStrictly;\n          return data[disabledKey] || !checkStrictly && parent && parent.isDisabled;\n        }\n      }, {\n        key: 'isLeaf',\n        get: function get() {\n          var data = this.data,\n              loaded = this.loaded,\n              hasChildren = this.hasChildren,\n              children = this.children;\n          var _config2 = this.config,\n              lazy = _config2.lazy,\n              leafKey = _config2.leaf;\n\n          if (lazy) {\n            var isLeaf = Object(shared_[\"isDef\"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false;\n            this.hasChildren = !isLeaf;\n            return isLeaf;\n          }\n\n          return !hasChildren;\n        }\n      }]);\n\n      return Node;\n    }();\n    /* harmony default export */\n\n\n    var src_node = node_Node; // CONCATENATED MODULE: ./packages/cascader-panel/src/store.js\n\n    function store_classCallCheck(instance, Constructor) {\n      if (!(instance instanceof Constructor)) {\n        throw new TypeError(\"Cannot call a class as a function\");\n      }\n    }\n\n    var flatNodes = function flatNodes(data, leafOnly) {\n      return data.reduce(function (res, node) {\n        if (node.isLeaf) {\n          res.push(node);\n        } else {\n          !leafOnly && res.push(node);\n          res = res.concat(flatNodes(node.children, leafOnly));\n        }\n\n        return res;\n      }, []);\n    };\n\n    var store_Store = function () {\n      function Store(data, config) {\n        store_classCallCheck(this, Store);\n        this.config = config;\n        this.initNodes(data);\n      }\n\n      Store.prototype.initNodes = function initNodes(data) {\n        var _this = this;\n\n        data = Object(util_[\"coerceTruthyValueToArray\"])(data);\n        this.nodes = data.map(function (nodeData) {\n          return new src_node(nodeData, _this.config);\n        });\n        this.flattedNodes = this.getFlattedNodes(false, false);\n        this.leafNodes = this.getFlattedNodes(true, false);\n      };\n\n      Store.prototype.appendNode = function appendNode(nodeData, parentNode) {\n        var node = new src_node(nodeData, this.config, parentNode);\n        var children = parentNode ? parentNode.children : this.nodes;\n        children.push(node);\n      };\n\n      Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) {\n        var _this2 = this;\n\n        nodeDataList = Object(util_[\"coerceTruthyValueToArray\"])(nodeDataList);\n        nodeDataList.forEach(function (nodeData) {\n          return _this2.appendNode(nodeData, parentNode);\n        });\n      };\n\n      Store.prototype.getNodes = function getNodes() {\n        return this.nodes;\n      };\n\n      Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) {\n        var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n        var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes;\n        return cached ? cachedNodes : flatNodes(this.nodes, leafOnly);\n      };\n\n      Store.prototype.getNodeByValue = function getNodeByValue(value) {\n        var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) {\n          return Object(util_[\"valueEquals\"])(node.path, value) || node.value === value;\n        });\n        return nodes && nodes.length ? nodes[0] : null;\n      };\n\n      return Store;\n    }();\n    /* harmony default export */\n\n\n    var src_store = store_Store; // EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\n\n    var merge_ = __webpack_require__(9);\n\n    var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); // EXTERNAL MODULE: external \"element-ui/lib/utils/aria-utils\"\n\n\n    var aria_utils_ = __webpack_require__(40);\n\n    var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_); // EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\n\n\n    var scroll_into_view_ = __webpack_require__(31);\n\n    var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\n\n\n    var _extends = Object.assign || function (target) {\n      for (var i = 1; i < arguments.length; i++) {\n        var source = arguments[i];\n\n        for (var key in source) {\n          if (Object.prototype.hasOwnProperty.call(source, key)) {\n            target[key] = source[key];\n          }\n        }\n      }\n\n      return target;\n    }; //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n\n    var KeyCode = aria_utils_default.a.keys;\n    var DefaultProps = {\n      expandTrigger: 'click',\n      // or hover\n      multiple: false,\n      checkStrictly: false,\n      // whether all nodes can be selected\n      emitPath: true,\n      // wether to emit an array of all levels value in which node is located\n      lazy: false,\n      lazyLoad: util_[\"noop\"],\n      value: 'value',\n      label: 'label',\n      children: 'children',\n      leaf: 'leaf',\n      disabled: 'disabled',\n      hoverThreshold: 500\n    };\n\n    var cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) {\n      return !el.getAttribute('aria-owns');\n    };\n\n    var getSibling = function getSibling(el, distance) {\n      var parentNode = el.parentNode;\n\n      if (parentNode) {\n        var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex=\"-1\"]');\n        var index = Array.prototype.indexOf.call(siblings, el);\n        return siblings[index + distance] || null;\n      }\n\n      return null;\n    };\n\n    var getMenuIndex = function getMenuIndex(el, distance) {\n      if (!el) return;\n      var pieces = el.id.split('-');\n      return Number(pieces[pieces.length - 2]);\n    };\n\n    var focusNode = function focusNode(el) {\n      if (!el) return;\n      el.focus();\n      !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click();\n    };\n\n    var checkNode = function checkNode(el) {\n      if (!el) return;\n      var input = el.querySelector('input');\n\n      if (input) {\n        input.click();\n      } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) {\n        el.click();\n      }\n    };\n    /* harmony default export */\n\n\n    var cascader_panelvue_type_script_lang_js_ = {\n      name: 'ElCascaderPanel',\n      components: {\n        CascaderMenu: cascader_menu\n      },\n      props: {\n        value: {},\n        options: Array,\n        props: Object,\n        border: {\n          type: Boolean,\n          default: true\n        },\n        renderLabel: Function\n      },\n      provide: function provide() {\n        return {\n          panel: this\n        };\n      },\n      data: function data() {\n        return {\n          checkedValue: null,\n          checkedNodePaths: [],\n          store: [],\n          menus: [],\n          activePath: [],\n          loadCount: 0\n        };\n      },\n      computed: {\n        config: function config() {\n          return merge_default()(_extends({}, DefaultProps), this.props || {});\n        },\n        multiple: function multiple() {\n          return this.config.multiple;\n        },\n        checkStrictly: function checkStrictly() {\n          return this.config.checkStrictly;\n        },\n        leafOnly: function leafOnly() {\n          return !this.checkStrictly;\n        },\n        isHoverMenu: function isHoverMenu() {\n          return this.config.expandTrigger === 'hover';\n        },\n        renderLabelFn: function renderLabelFn() {\n          return this.renderLabel || this.$scopedSlots.default;\n        }\n      },\n      watch: {\n        options: {\n          handler: function handler() {\n            this.initStore();\n          },\n          immediate: true,\n          deep: true\n        },\n        value: function value() {\n          this.syncCheckedValue();\n          this.checkStrictly && this.calculateCheckedNodePaths();\n        },\n        checkedValue: function checkedValue(val) {\n          if (!Object(util_[\"isEqual\"])(val, this.value)) {\n            this.checkStrictly && this.calculateCheckedNodePaths();\n            this.$emit('input', val);\n            this.$emit('change', val);\n          }\n        }\n      },\n      mounted: function mounted() {\n        if (!this.isEmptyValue(this.value)) {\n          this.syncCheckedValue();\n        }\n      },\n      methods: {\n        initStore: function initStore() {\n          var config = this.config,\n              options = this.options;\n\n          if (config.lazy && Object(util_[\"isEmpty\"])(options)) {\n            this.lazyLoad();\n          } else {\n            this.store = new src_store(options, config);\n            this.menus = [this.store.getNodes()];\n            this.syncMenuState();\n          }\n        },\n        syncCheckedValue: function syncCheckedValue() {\n          var value = this.value,\n              checkedValue = this.checkedValue;\n\n          if (!Object(util_[\"isEqual\"])(value, checkedValue)) {\n            this.activePath = [];\n            this.checkedValue = value;\n            this.syncMenuState();\n          }\n        },\n        syncMenuState: function syncMenuState() {\n          var multiple = this.multiple,\n              checkStrictly = this.checkStrictly;\n          this.syncActivePath();\n          multiple && this.syncMultiCheckState();\n          checkStrictly && this.calculateCheckedNodePaths();\n          this.$nextTick(this.scrollIntoView);\n        },\n        syncMultiCheckState: function syncMultiCheckState() {\n          var _this = this;\n\n          var nodes = this.getFlattedNodes(this.leafOnly);\n          nodes.forEach(function (node) {\n            node.syncCheckState(_this.checkedValue);\n          });\n        },\n        isEmptyValue: function isEmptyValue(val) {\n          var multiple = this.multiple,\n              config = this.config;\n          var emitPath = config.emitPath;\n\n          if (multiple || emitPath) {\n            return Object(util_[\"isEmpty\"])(val);\n          }\n\n          return false;\n        },\n        syncActivePath: function syncActivePath() {\n          var _this2 = this;\n\n          var store = this.store,\n              multiple = this.multiple,\n              activePath = this.activePath,\n              checkedValue = this.checkedValue;\n\n          if (!Object(util_[\"isEmpty\"])(activePath)) {\n            var nodes = activePath.map(function (node) {\n              return _this2.getNodeByValue(node.getValue());\n            });\n            this.expandNodes(nodes);\n          } else if (!this.isEmptyValue(checkedValue)) {\n            var value = multiple ? checkedValue[0] : checkedValue;\n            var checkedNode = this.getNodeByValue(value) || {};\n\n            var _nodes = (checkedNode.pathNodes || []).slice(0, -1);\n\n            this.expandNodes(_nodes);\n          } else {\n            this.activePath = [];\n            this.menus = [store.getNodes()];\n          }\n        },\n        expandNodes: function expandNodes(nodes) {\n          var _this3 = this;\n\n          nodes.forEach(function (node) {\n            return _this3.handleExpand(node, true\n            /* silent */\n            );\n          });\n        },\n        calculateCheckedNodePaths: function calculateCheckedNodePaths() {\n          var _this4 = this;\n\n          var checkedValue = this.checkedValue,\n              multiple = this.multiple;\n          var checkedValues = multiple ? Object(util_[\"coerceTruthyValueToArray\"])(checkedValue) : [checkedValue];\n          this.checkedNodePaths = checkedValues.map(function (v) {\n            var checkedNode = _this4.getNodeByValue(v);\n\n            return checkedNode ? checkedNode.pathNodes : [];\n          });\n        },\n        handleKeyDown: function handleKeyDown(e) {\n          var target = e.target,\n              keyCode = e.keyCode;\n\n          switch (keyCode) {\n            case KeyCode.up:\n              var prev = getSibling(target, -1);\n              focusNode(prev);\n              break;\n\n            case KeyCode.down:\n              var next = getSibling(target, 1);\n              focusNode(next);\n              break;\n\n            case KeyCode.left:\n              var preMenu = this.$refs.menu[getMenuIndex(target) - 1];\n\n              if (preMenu) {\n                var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded=\"true\"]');\n                focusNode(expandedNode);\n              }\n\n              break;\n\n            case KeyCode.right:\n              var nextMenu = this.$refs.menu[getMenuIndex(target) + 1];\n\n              if (nextMenu) {\n                var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex=\"-1\"]');\n                focusNode(firstNode);\n              }\n\n              break;\n\n            case KeyCode.enter:\n              checkNode(target);\n              break;\n\n            case KeyCode.esc:\n            case KeyCode.tab:\n              this.$emit('close');\n              break;\n\n            default:\n              return;\n          }\n        },\n        handleExpand: function handleExpand(node, silent) {\n          var activePath = this.activePath;\n          var level = node.level;\n          var path = activePath.slice(0, level - 1);\n          var menus = this.menus.slice(0, level);\n\n          if (!node.isLeaf) {\n            path.push(node);\n            menus.push(node.children);\n          }\n\n          this.activePath = path;\n          this.menus = menus;\n\n          if (!silent) {\n            var pathValues = path.map(function (node) {\n              return node.getValue();\n            });\n            var activePathValues = activePath.map(function (node) {\n              return node.getValue();\n            });\n\n            if (!Object(util_[\"valueEquals\"])(pathValues, activePathValues)) {\n              this.$emit('active-item-change', pathValues); // Deprecated\n\n              this.$emit('expand-change', pathValues);\n            }\n          }\n        },\n        handleCheckChange: function handleCheckChange(value) {\n          this.checkedValue = value;\n        },\n        lazyLoad: function lazyLoad(node, onFullfiled) {\n          var _this5 = this;\n\n          var config = this.config;\n\n          if (!node) {\n            node = node || {\n              root: true,\n              level: 0\n            };\n            this.store = new src_store([], config);\n            this.menus = [this.store.getNodes()];\n          }\n\n          node.loading = true;\n\n          var resolve = function resolve(dataList) {\n            var parent = node.root ? null : node;\n            dataList && dataList.length && _this5.store.appendNodes(dataList, parent);\n            node.loading = false;\n            node.loaded = true; // dispose default value on lazy load mode\n\n            if (Array.isArray(_this5.checkedValue)) {\n              var nodeValue = _this5.checkedValue[_this5.loadCount++];\n              var valueKey = _this5.config.value;\n              var leafKey = _this5.config.leaf;\n\n              if (Array.isArray(dataList) && dataList.filter(function (item) {\n                return item[valueKey] === nodeValue;\n              }).length > 0) {\n                var checkedNode = _this5.store.getNodeByValue(nodeValue);\n\n                if (!checkedNode.data[leafKey]) {\n                  _this5.lazyLoad(checkedNode, function () {\n                    _this5.handleExpand(checkedNode);\n                  });\n                }\n\n                if (_this5.loadCount === _this5.checkedValue.length) {\n                  _this5.$parent.computePresentText();\n                }\n              }\n            }\n\n            onFullfiled && onFullfiled(dataList);\n          };\n\n          config.lazyLoad(node, resolve);\n        },\n\n        /**\n         * public methods\n        */\n        calculateMultiCheckedValue: function calculateMultiCheckedValue() {\n          this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) {\n            return node.getValueByOption();\n          });\n        },\n        scrollIntoView: function scrollIntoView() {\n          if (this.$isServer) return;\n          var menus = this.$refs.menu || [];\n          menus.forEach(function (menu) {\n            var menuElement = menu.$el;\n\n            if (menuElement) {\n              var container = menuElement.querySelector('.el-scrollbar__wrap');\n              var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path');\n              scroll_into_view_default()(container, activeNode);\n            }\n          });\n        },\n        getNodeByValue: function getNodeByValue(val) {\n          return this.store.getNodeByValue(val);\n        },\n        getFlattedNodes: function getFlattedNodes(leafOnly) {\n          var cached = !this.config.lazy;\n          return this.store.getFlattedNodes(leafOnly, cached);\n        },\n        getCheckedNodes: function getCheckedNodes(leafOnly) {\n          var checkedValue = this.checkedValue,\n              multiple = this.multiple;\n\n          if (multiple) {\n            var nodes = this.getFlattedNodes(leafOnly);\n            return nodes.filter(function (node) {\n              return node.checked;\n            });\n          } else {\n            return this.isEmptyValue(checkedValue) ? [] : [this.getNodeByValue(checkedValue)];\n          }\n        },\n        clearCheckedNodes: function clearCheckedNodes() {\n          var config = this.config,\n              leafOnly = this.leafOnly;\n          var multiple = config.multiple,\n              emitPath = config.emitPath;\n\n          if (multiple) {\n            this.getCheckedNodes(leafOnly).filter(function (node) {\n              return !node.isDisabled;\n            }).forEach(function (node) {\n              return node.doCheck(false);\n            });\n            this.calculateMultiCheckedValue();\n          } else {\n            this.checkedValue = emitPath ? [] : null;\n          }\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_cascader_panelvue_type_script_lang_js_ = cascader_panelvue_type_script_lang_js_; // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue\n\n    /* normalize component */\n\n    var cascader_panel_component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_cascader_panelvue_type_script_lang_js_, cascader_panelvue_type_template_id_34932346_render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var cascader_panel_api; }\n\n    cascader_panel_component.options.__file = \"packages/cascader-panel/src/cascader-panel.vue\";\n    /* harmony default export */\n\n    var cascader_panel = cascader_panel_component.exports; // CONCATENATED MODULE: ./packages/cascader-panel/index.js\n\n    /* istanbul ignore next */\n\n    cascader_panel.install = function (Vue) {\n      Vue.component(cascader_panel.name, cascader_panel);\n    };\n    /* harmony default export */\n\n\n    var packages_cascader_panel = __webpack_exports__[\"default\"] = cascader_panel;\n    /***/\n  },\n\n  /***/\n  9:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/merge */ \"./node_modules/element-ui/lib/utils/merge.js\");\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/cascader-panel.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/checkbox-group.js":
/*!*******************************************************!*\
  !*** ./node_modules/element-ui/lib/checkbox-group.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 92);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  4:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");\n    /***/\n  },\n\n  /***/\n  92:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        staticClass: \"el-checkbox-group\",\n        attrs: {\n          role: \"group\",\n          \"aria-label\": \"checkbox-group\"\n        }\n      }, [_vm._t(\"default\")], 2);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n\n    var checkbox_groupvue_type_script_lang_js_ = {\n      name: 'ElCheckboxGroup',\n      componentName: 'ElCheckboxGroup',\n      mixins: [emitter_default.a],\n      inject: {\n        elFormItem: {\n          default: ''\n        }\n      },\n      props: {\n        value: {},\n        disabled: Boolean,\n        min: Number,\n        max: Number,\n        size: String,\n        fill: String,\n        textColor: String\n      },\n      computed: {\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        checkboxGroupSize: function checkboxGroupSize() {\n          return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n        }\n      },\n      watch: {\n        value: function value(_value) {\n          this.dispatch('ElFormItem', 'el.form.change', [_value]);\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_checkbox_groupvue_type_script_lang_js_ = checkbox_groupvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_checkbox_groupvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/checkbox/src/checkbox-group.vue\";\n    /* harmony default export */\n\n    var checkbox_group = component.exports; // CONCATENATED MODULE: ./packages/checkbox-group/index.js\n\n    /* istanbul ignore next */\n\n    checkbox_group.install = function (Vue) {\n      Vue.component(checkbox_group.name, checkbox_group);\n    };\n    /* harmony default export */\n\n\n    var packages_checkbox_group = __webpack_exports__[\"default\"] = checkbox_group;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/checkbox-group.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/checkbox.js":
/*!*************************************************!*\
  !*** ./node_modules/element-ui/lib/checkbox.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 90);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  4:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");\n    /***/\n  },\n\n  /***/\n  90:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"label\", {\n        staticClass: \"el-checkbox\",\n        class: [_vm.border && _vm.checkboxSize ? \"el-checkbox--\" + _vm.checkboxSize : \"\", {\n          \"is-disabled\": _vm.isDisabled\n        }, {\n          \"is-bordered\": _vm.border\n        }, {\n          \"is-checked\": _vm.isChecked\n        }],\n        attrs: {\n          id: _vm.id\n        }\n      }, [_c(\"span\", {\n        staticClass: \"el-checkbox__input\",\n        class: {\n          \"is-disabled\": _vm.isDisabled,\n          \"is-checked\": _vm.isChecked,\n          \"is-indeterminate\": _vm.indeterminate,\n          \"is-focus\": _vm.focus\n        },\n        attrs: {\n          tabindex: _vm.indeterminate ? 0 : false,\n          role: _vm.indeterminate ? \"checkbox\" : false,\n          \"aria-checked\": _vm.indeterminate ? \"mixed\" : false\n        }\n      }, [_c(\"span\", {\n        staticClass: \"el-checkbox__inner\"\n      }), _vm.trueLabel || _vm.falseLabel ? _c(\"input\", {\n        directives: [{\n          name: \"model\",\n          rawName: \"v-model\",\n          value: _vm.model,\n          expression: \"model\"\n        }],\n        staticClass: \"el-checkbox__original\",\n        attrs: {\n          type: \"checkbox\",\n          \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n          name: _vm.name,\n          disabled: _vm.isDisabled,\n          \"true-value\": _vm.trueLabel,\n          \"false-value\": _vm.falseLabel\n        },\n        domProps: {\n          checked: Array.isArray(_vm.model) ? _vm._i(_vm.model, null) > -1 : _vm._q(_vm.model, _vm.trueLabel)\n        },\n        on: {\n          change: [function ($event) {\n            var $$a = _vm.model,\n                $$el = $event.target,\n                $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel;\n\n            if (Array.isArray($$a)) {\n              var $$v = null,\n                  $$i = _vm._i($$a, $$v);\n\n              if ($$el.checked) {\n                $$i < 0 && (_vm.model = $$a.concat([$$v]));\n              } else {\n                $$i > -1 && (_vm.model = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n              }\n            } else {\n              _vm.model = $$c;\n            }\n          }, _vm.handleChange],\n          focus: function focus($event) {\n            _vm.focus = true;\n          },\n          blur: function blur($event) {\n            _vm.focus = false;\n          }\n        }\n      }) : _c(\"input\", {\n        directives: [{\n          name: \"model\",\n          rawName: \"v-model\",\n          value: _vm.model,\n          expression: \"model\"\n        }],\n        staticClass: \"el-checkbox__original\",\n        attrs: {\n          type: \"checkbox\",\n          \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n          disabled: _vm.isDisabled,\n          name: _vm.name\n        },\n        domProps: {\n          value: _vm.label,\n          checked: Array.isArray(_vm.model) ? _vm._i(_vm.model, _vm.label) > -1 : _vm.model\n        },\n        on: {\n          change: [function ($event) {\n            var $$a = _vm.model,\n                $$el = $event.target,\n                $$c = $$el.checked ? true : false;\n\n            if (Array.isArray($$a)) {\n              var $$v = _vm.label,\n                  $$i = _vm._i($$a, $$v);\n\n              if ($$el.checked) {\n                $$i < 0 && (_vm.model = $$a.concat([$$v]));\n              } else {\n                $$i > -1 && (_vm.model = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n              }\n            } else {\n              _vm.model = $$c;\n            }\n          }, _vm.handleChange],\n          focus: function focus($event) {\n            _vm.focus = true;\n          },\n          blur: function blur($event) {\n            _vm.focus = false;\n          }\n        }\n      })]), _vm.$slots.default || _vm.label ? _c(\"span\", {\n        staticClass: \"el-checkbox__label\"\n      }, [_vm._t(\"default\"), !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e()], 2) : _vm._e()]);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var checkboxvue_type_script_lang_js_ = {\n      name: 'ElCheckbox',\n      mixins: [emitter_default.a],\n      inject: {\n        elForm: {\n          default: ''\n        },\n        elFormItem: {\n          default: ''\n        }\n      },\n      componentName: 'ElCheckbox',\n      data: function data() {\n        return {\n          selfModel: false,\n          focus: false,\n          isLimitExceeded: false\n        };\n      },\n      computed: {\n        model: {\n          get: function get() {\n            return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel;\n          },\n          set: function set(val) {\n            if (this.isGroup) {\n              this.isLimitExceeded = false;\n              this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true);\n              this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true);\n              this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]);\n            } else {\n              this.$emit('input', val);\n              this.selfModel = val;\n            }\n          }\n        },\n        isChecked: function isChecked() {\n          if ({}.toString.call(this.model) === '[object Boolean]') {\n            return this.model;\n          } else if (Array.isArray(this.model)) {\n            return this.model.indexOf(this.label) > -1;\n          } else if (this.model !== null && this.model !== undefined) {\n            return this.model === this.trueLabel;\n          }\n        },\n        isGroup: function isGroup() {\n          var parent = this.$parent;\n\n          while (parent) {\n            if (parent.$options.componentName !== 'ElCheckboxGroup') {\n              parent = parent.$parent;\n            } else {\n              this._checkboxGroup = parent;\n              return true;\n            }\n          }\n\n          return false;\n        },\n        store: function store() {\n          return this._checkboxGroup ? this._checkboxGroup.value : this.value;\n        },\n\n        /* used to make the isDisabled judgment under max/min props */\n        isLimitDisabled: function isLimitDisabled() {\n          var _checkboxGroup = this._checkboxGroup,\n              max = _checkboxGroup.max,\n              min = _checkboxGroup.min;\n          return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked;\n        },\n        isDisabled: function isDisabled() {\n          return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled;\n        },\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        checkboxSize: function checkboxSize() {\n          var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n          return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize;\n        }\n      },\n      props: {\n        value: {},\n        label: {},\n        indeterminate: Boolean,\n        disabled: Boolean,\n        checked: Boolean,\n        name: String,\n        trueLabel: [String, Number],\n        falseLabel: [String, Number],\n        id: String,\n\n        /* 当indeterminate为真时，为controls提供相关连的checkbox的id，表明元素间的控制关系*/\n        controls: String,\n\n        /* 当indeterminate为真时，为controls提供相关连的checkbox的id，表明元素间的控制关系*/\n        border: Boolean,\n        size: String\n      },\n      methods: {\n        addToStore: function addToStore() {\n          if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) {\n            this.model.push(this.label);\n          } else {\n            this.model = this.trueLabel || true;\n          }\n        },\n        handleChange: function handleChange(ev) {\n          var _this = this;\n\n          if (this.isLimitExceeded) return;\n          var value = void 0;\n\n          if (ev.target.checked) {\n            value = this.trueLabel === undefined ? true : this.trueLabel;\n          } else {\n            value = this.falseLabel === undefined ? false : this.falseLabel;\n          }\n\n          this.$emit('change', value, ev);\n          this.$nextTick(function () {\n            if (_this.isGroup) {\n              _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]);\n            }\n          });\n        }\n      },\n      created: function created() {\n        this.checked && this.addToStore();\n      },\n      mounted: function mounted() {\n        // 为indeterminate元素 添加aria-controls 属性\n        if (this.indeterminate) {\n          this.$el.setAttribute('aria-controls', this.controls);\n        }\n      },\n      watch: {\n        value: function value(_value) {\n          this.dispatch('ElFormItem', 'el.form.change', _value);\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_checkboxvue_type_script_lang_js_ = checkboxvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_checkboxvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/checkbox/src/checkbox.vue\";\n    /* harmony default export */\n\n    var src_checkbox = component.exports; // CONCATENATED MODULE: ./packages/checkbox/index.js\n\n    /* istanbul ignore next */\n\n    src_checkbox.install = function (Vue) {\n      Vue.component(src_checkbox.name, src_checkbox);\n    };\n    /* harmony default export */\n\n\n    var packages_checkbox = __webpack_exports__[\"default\"] = src_checkbox;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/checkbox.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/element-ui.common.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/lib/element-ui.common.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof2=__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");__webpack_require__(/*! core-js/modules/es.string.small.js */ \"./node_modules/core-js/modules/es.string.small.js\");__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");__webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");__webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");__webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");__webpack_require__(/*! core-js/modules/es.object.freeze.js */ \"./node_modules/core-js/modules/es.object.freeze.js\");__webpack_require__(/*! core-js/modules/es.array.fill.js */ \"./node_modules/core-js/modules/es.array.fill.js\");__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");__webpack_require__(/*! core-js/modules/es.regexp.dot-all.js */ \"./node_modules/core-js/modules/es.regexp.dot-all.js\");__webpack_require__(/*! core-js/modules/es.regexp.sticky.js */ \"./node_modules/core-js/modules/es.regexp.sticky.js\");__webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");__webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");__webpack_require__(/*! core-js/modules/es.string.fixed.js */ \"./node_modules/core-js/modules/es.string.fixed.js\");__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");__webpack_require__(/*! core-js/modules/es.string.link.js */ \"./node_modules/core-js/modules/es.string.link.js\");__webpack_require__(/*! core-js/modules/web.url.js */ \"./node_modules/core-js/modules/web.url.js\");__webpack_require__(/*! core-js/modules/web.url-search-params.js */ \"./node_modules/core-js/modules/web.url-search-params.js\");__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");__webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");__webpack_require__(/*! core-js/modules/es.number.is-nan.js */ \"./node_modules/core-js/modules/es.number.is-nan.js\");__webpack_require__(/*! core-js/modules/es.number.parse-float.js */ \"./node_modules/core-js/modules/es.number.parse-float.js\");module.exports=/******/function(modules){// webpackBootstrap\n/******/ // The module cache\n/******/var installedModules={};/******/ /******/ // The require function\n/******/function __webpack_require__(moduleId){/******/ /******/ // Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/ // Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******/ /******/ // Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******/ /******/ // Flag the module as loaded\n/******/module.l=true;/******/ /******/ // Return the exports of the module\n/******/return module.exports;/******/}/******/ /******/ /******/ // expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******/ /******/ // expose the module cache\n/******/__webpack_require__.c=installedModules;/******/ /******/ // define getter function for harmony exports\n/******/__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\n/******/__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\n/******/ // mode & 1: value is a module id, require it\n/******/ // mode & 2: merge all properties of value into the ns\n/******/ // mode & 4: return value when already ns object\n/******/ // mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&_typeof2(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\n/******/__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\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******/ /******/ // __webpack_public_path__\n/******/__webpack_require__.p=\"/dist/\";/******/ /******/ /******/ // Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=45);/******/}/************************************************************************/ /******/([/* 0 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/date-util */ \"./node_modules/element-ui/lib/utils/date-util.js\");/***/},/* 1 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");/***/},/* 2 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");/***/},/* 3 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");/***/},/* 4 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/mixins/locale */ \"./node_modules/element-ui/lib/mixins/locale.js\");/***/},/* 5 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/vue-popper */ \"./node_modules/element-ui/lib/utils/vue-popper.js\");/***/},/* 6 */ /***/function(module,exports){module.exports=__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");/***/},/* 7 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/merge */ \"./node_modules/element-ui/lib/utils/merge.js\");/***/},/* 8 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/input */ \"./node_modules/element-ui/lib/input.js\");/***/},/* 9 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/mixins/migrating */ \"./node_modules/element-ui/lib/mixins/migrating.js\");/***/},/* 10 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/clickoutside */ \"./node_modules/element-ui/lib/utils/clickoutside.js\");/***/},/* 11 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/popup */ \"./node_modules/element-ui/lib/utils/popup/index.js\");/***/},/* 12 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/locale */ \"./node_modules/element-ui/lib/locale/index.js\");/***/},/* 13 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/button */ \"./node_modules/element-ui/lib/button.js\");/***/},/* 14 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/resize-event */ \"./node_modules/element-ui/lib/utils/resize-event.js\");/***/},/* 15 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/types */ \"./node_modules/element-ui/lib/utils/types.js\");/***/},/* 16 */ /***/function(module,exports){module.exports=__webpack_require__(/*! throttle-debounce/debounce */ \"./node_modules/throttle-debounce/debounce.js\");/***/},/* 17 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/checkbox */ \"./node_modules/element-ui/lib/checkbox.js\");/***/},/* 18 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/scrollbar */ \"./node_modules/element-ui/lib/scrollbar.js\");/***/},/* 19 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/shared */ \"./node_modules/element-ui/lib/utils/shared.js\");/***/},/* 20 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/date */ \"./node_modules/element-ui/lib/utils/date.js\");/***/},/* 21 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/transitions/collapse-transition */ \"./node_modules/element-ui/lib/transitions/collapse-transition.js\");/***/},/* 22 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/vdom */ \"./node_modules/element-ui/lib/utils/vdom.js\");/***/},/* 23 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/mixins/focus */ \"./node_modules/element-ui/lib/mixins/focus.js\");/***/},/* 24 */ /***/function(module,exports){module.exports=__webpack_require__(/*! babel-helper-vue-jsx-merge-props */ \"./node_modules/babel-helper-vue-jsx-merge-props/index.js\");/***/},/* 25 */ /***/function(module,exports){module.exports=__webpack_require__(/*! throttle-debounce/throttle */ \"./node_modules/throttle-debounce/throttle.js\");/***/},/* 26 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/tooltip */ \"./node_modules/element-ui/lib/tooltip.js\");/***/},/* 27 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/scroll-into-view */ \"./node_modules/element-ui/lib/utils/scroll-into-view.js\");/***/},/* 28 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/button-group */ \"./node_modules/element-ui/lib/button-group.js\");/***/},/* 29 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/tag */ \"./node_modules/element-ui/lib/tag.js\");/***/},/* 30 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/scrollbar-width */ \"./node_modules/element-ui/lib/utils/scrollbar-width.js\");/***/},/* 31 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/checkbox-group */ \"./node_modules/element-ui/lib/checkbox-group.js\");/***/},/* 32 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/after-leave */ \"./node_modules/element-ui/lib/utils/after-leave.js\");/***/},/* 33 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/progress */ \"./node_modules/element-ui/lib/progress.js\");/***/},/* 34 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/aria-utils */ \"./node_modules/element-ui/lib/utils/aria-utils.js\");/***/},/* 35 */ /***/function(module,exports){module.exports=__webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.js\");/***/},/* 36 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/select */ \"./node_modules/element-ui/lib/select.js\");/***/},/* 37 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/option */ \"./node_modules/element-ui/lib/option.js\");/***/},/* 38 */ /***/function(module,exports){module.exports=__webpack_require__(/*! normalize-wheel */ \"./node_modules/normalize-wheel/index.js\");/***/},/* 39 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/utils/aria-dialog */ \"./node_modules/element-ui/lib/utils/aria-dialog.js\");/***/},/* 40 */ /***/function(module,exports){module.exports=__webpack_require__(/*! async-validator */ \"./node_modules/async-validator/es/index.js\");/***/},/* 41 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/input-number */ \"./node_modules/element-ui/lib/input-number.js\");/***/},/* 42 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/cascader-panel */ \"./node_modules/element-ui/lib/cascader-panel.js\");/***/},/* 43 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/radio */ \"./node_modules/element-ui/lib/radio.js\");/***/},/* 44 */ /***/function(module,exports){module.exports=__webpack_require__(/*! element-ui/lib/popover */ \"./node_modules/element-ui/lib/popover.js\");/***/},/* 45 */ /***/function(module,exports,__webpack_require__){module.exports=__webpack_require__(46);/***/},/* 46 */ /***/function(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=template&id=7274f267&\nvar pagervue_type_template_id_7274f267_render=function pagervue_type_template_id_7274f267_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"ul\",{staticClass:\"el-pager\",on:{click:_vm.onPagerClick}},[_vm.pageCount>0?_c(\"li\",{staticClass:\"number\",class:{active:_vm.currentPage===1,disabled:_vm.disabled}},[_vm._v(\"1\")]):_vm._e(),_vm.showPrevMore?_c(\"li\",{staticClass:\"el-icon more btn-quickprev\",class:[_vm.quickprevIconClass,{disabled:_vm.disabled}],on:{mouseenter:function mouseenter($event){_vm.onMouseenter(\"left\");},mouseleave:function mouseleave($event){_vm.quickprevIconClass=\"el-icon-more\";}}}):_vm._e(),_vm._l(_vm.pagers,function(pager){return _c(\"li\",{key:pager,staticClass:\"number\",class:{active:_vm.currentPage===pager,disabled:_vm.disabled}},[_vm._v(_vm._s(pager))]);}),_vm.showNextMore?_c(\"li\",{staticClass:\"el-icon more btn-quicknext\",class:[_vm.quicknextIconClass,{disabled:_vm.disabled}],on:{mouseenter:function mouseenter($event){_vm.onMouseenter(\"right\");},mouseleave:function mouseleave($event){_vm.quicknextIconClass=\"el-icon-more\";}}}):_vm._e(),_vm.pageCount>1?_c(\"li\",{staticClass:\"number\",class:{active:_vm.currentPage===_vm.pageCount,disabled:_vm.disabled}},[_vm._v(_vm._s(_vm.pageCount))]):_vm._e()],2);};var staticRenderFns=[];pagervue_type_template_id_7274f267_render._withStripped=true;// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=template&id=7274f267&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var pagervue_type_script_lang_js_={name:'ElPager',props:{currentPage:Number,pageCount:Number,pagerCount:Number,disabled:Boolean},watch:{showPrevMore:function showPrevMore(val){if(!val)this.quickprevIconClass='el-icon-more';},showNextMore:function showNextMore(val){if(!val)this.quicknextIconClass='el-icon-more';}},methods:{onPagerClick:function onPagerClick(event){var target=event.target;if(target.tagName==='UL'||this.disabled){return;}var newPage=Number(event.target.textContent);var pageCount=this.pageCount;var currentPage=this.currentPage;var pagerCountOffset=this.pagerCount-2;if(target.className.indexOf('more')!==-1){if(target.className.indexOf('quickprev')!==-1){newPage=currentPage-pagerCountOffset;}else if(target.className.indexOf('quicknext')!==-1){newPage=currentPage+pagerCountOffset;}}/* istanbul ignore if */if(!isNaN(newPage)){if(newPage<1){newPage=1;}if(newPage>pageCount){newPage=pageCount;}}if(newPage!==currentPage){this.$emit('change',newPage);}},onMouseenter:function onMouseenter(direction){if(this.disabled)return;if(direction==='left'){this.quickprevIconClass='el-icon-d-arrow-left';}else{this.quicknextIconClass='el-icon-d-arrow-right';}}},computed:{pagers:function pagers(){var pagerCount=this.pagerCount;var halfPagerCount=(pagerCount-1)/2;var currentPage=Number(this.currentPage);var pageCount=Number(this.pageCount);var showPrevMore=false;var showNextMore=false;if(pageCount>pagerCount){if(currentPage>pagerCount-halfPagerCount){showPrevMore=true;}if(currentPage<pageCount-halfPagerCount){showNextMore=true;}}var array=[];if(showPrevMore&&!showNextMore){var startPage=pageCount-(pagerCount-2);for(var i=startPage;i<pageCount;i++){array.push(i);}}else if(!showPrevMore&&showNextMore){for(var _i=2;_i<pagerCount;_i++){array.push(_i);}}else if(showPrevMore&&showNextMore){var offset=Math.floor(pagerCount/2)-1;for(var _i2=currentPage-offset;_i2<=currentPage+offset;_i2++){array.push(_i2);}}else{for(var _i3=2;_i3<pageCount;_i3++){array.push(_i3);}}this.showPrevMore=showPrevMore;this.showNextMore=showNextMore;return array;}},data:function data(){return{current:null,showPrevMore:false,showNextMore:false,quicknextIconClass:'el-icon-more',quickprevIconClass:'el-icon-more'};}};// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=script&lang=js&\n/* harmony default export */var src_pagervue_type_script_lang_js_=pagervue_type_script_lang_js_;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */ // 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.\nfunction normalizeComponent(scriptExports,render,staticRenderFns,functionalTemplate,injectStyles,scopeId,moduleIdentifier,/* server only */shadowMode/* vue-cli only */){// Vue.extend constructor export interop\nvar options=typeof scriptExports==='function'?scriptExports.options:scriptExports;// render functions\nif(render){options.render=render;options.staticRenderFns=staticRenderFns;options._compiled=true;}// functional template\nif(functionalTemplate){options.functional=true;}// scopedId\nif(scopeId){options._scopeId='data-v-'+scopeId;}var hook;if(moduleIdentifier){// server build\nhook=function hook(context){// 2.3 injection\ncontext=context||// cached call\nthis.$vnode&&this.$vnode.ssrContext||// stateful\nthis.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext;// functional\n// 2.2 with runInNewContext: true\nif(!context&&typeof __VUE_SSR_CONTEXT__!=='undefined'){context=__VUE_SSR_CONTEXT__;}// inject component styles\nif(injectStyles){injectStyles.call(this,context);}// register component module identifier for async chunk inferrence\nif(context&&context._registeredComponents){context._registeredComponents.add(moduleIdentifier);}};// used by ssr in case component is cached and beforeCreate\n// never gets called\noptions._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\n// go through the normalizer\noptions._injectStyles=hook;// register for functioal component in vue file\nvar originalRender=options.render;options.render=function renderWithStyleInjection(h,context){hook.call(context);return originalRender(h,context);};}else{// inject component registration as beforeCreate hook\nvar existing=options.beforeCreate;options.beforeCreate=existing?[].concat(existing,hook):[hook];}}return{exports:scriptExports,options:options};}// CONCATENATED MODULE: ./packages/pagination/src/pager.vue\n/* normalize component */var component=normalizeComponent(src_pagervue_type_script_lang_js_,pagervue_type_template_id_7274f267_render,staticRenderFns,false,null,null,null);/* hot reload */if(false){ var api; }component.options.__file=\"packages/pagination/src/pager.vue\";/* harmony default export */var pager=component.exports;// EXTERNAL MODULE: external \"element-ui/lib/select\"\nvar select_=__webpack_require__(36);var select_default=/*#__PURE__*/__webpack_require__.n(select_);// EXTERNAL MODULE: external \"element-ui/lib/option\"\nvar option_=__webpack_require__(37);var option_default=/*#__PURE__*/__webpack_require__.n(option_);// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_=__webpack_require__(8);var input_default=/*#__PURE__*/__webpack_require__.n(input_);// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_=__webpack_require__(4);var locale_default=/*#__PURE__*/__webpack_require__.n(locale_);// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_=__webpack_require__(2);// CONCATENATED MODULE: ./packages/pagination/src/pagination.js\n/* harmony default export */var pagination={name:'ElPagination',props:{pageSize:{type:Number,default:10},small:Boolean,total:Number,pageCount:Number,pagerCount:{type:Number,validator:function validator(value){return(value|0)===value&&value>4&&value<22&&value%2===1;},default:7},currentPage:{type:Number,default:1},layout:{default:'prev, pager, next, jumper, ->, total'},pageSizes:{type:Array,default:function _default(){return[10,20,30,40,50,100];}},popperClass:String,prevText:String,nextText:String,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean},data:function data(){return{internalCurrentPage:1,internalPageSize:0,lastEmittedPage:-1,userChangePageSize:false};},render:function render(h){var layout=this.layout;if(!layout)return null;if(this.hideOnSinglePage&&(!this.internalPageCount||this.internalPageCount===1))return null;var template=h('div',{'class':['el-pagination',{'is-background':this.background,'el-pagination--small':this.small}]});var TEMPLATE_MAP={prev:h('prev'),jumper:h('jumper'),pager:h('pager',{attrs:{currentPage:this.internalCurrentPage,pageCount:this.internalPageCount,pagerCount:this.pagerCount,disabled:this.disabled},on:{'change':this.handleCurrentChange}}),next:h('next'),sizes:h('sizes',{attrs:{pageSizes:this.pageSizes}}),slot:h('slot',[this.$slots.default?this.$slots.default:'']),total:h('total')};var components=layout.split(',').map(function(item){return item.trim();});var rightWrapper=h('div',{'class':'el-pagination__rightwrapper'});var haveRightWrapper=false;template.children=template.children||[];rightWrapper.children=rightWrapper.children||[];components.forEach(function(compo){if(compo==='->'){haveRightWrapper=true;return;}if(!haveRightWrapper){template.children.push(TEMPLATE_MAP[compo]);}else{rightWrapper.children.push(TEMPLATE_MAP[compo]);}});if(haveRightWrapper){template.children.unshift(rightWrapper);}return template;},components:{Prev:{render:function render(h){return h('button',{attrs:{type:'button',disabled:this.$parent.disabled||this.$parent.internalCurrentPage<=1},'class':'btn-prev',on:{'click':this.$parent.prev}},[this.$parent.prevText?h('span',[this.$parent.prevText]):h('i',{'class':'el-icon el-icon-arrow-left'})]);}},Next:{render:function render(h){return h('button',{attrs:{type:'button',disabled:this.$parent.disabled||this.$parent.internalCurrentPage===this.$parent.internalPageCount||this.$parent.internalPageCount===0},'class':'btn-next',on:{'click':this.$parent.next}},[this.$parent.nextText?h('span',[this.$parent.nextText]):h('i',{'class':'el-icon el-icon-arrow-right'})]);}},Sizes:{mixins:[locale_default.a],props:{pageSizes:Array},watch:{pageSizes:{immediate:true,handler:function handler(newVal,oldVal){if(Object(util_[\"valueEquals\"])(newVal,oldVal))return;if(Array.isArray(newVal)){this.$parent.internalPageSize=newVal.indexOf(this.$parent.pageSize)>-1?this.$parent.pageSize:this.pageSizes[0];}}}},render:function render(h){var _this=this;return h('span',{'class':'el-pagination__sizes'},[h('el-select',{attrs:{value:this.$parent.internalPageSize,popperClass:this.$parent.popperClass||'',size:'mini',disabled:this.$parent.disabled},on:{'input':this.handleChange}},[this.pageSizes.map(function(item){return h('el-option',{attrs:{value:item,label:item+_this.t('el.pagination.pagesize')}});})])]);},components:{ElSelect:select_default.a,ElOption:option_default.a},methods:{handleChange:function handleChange(val){if(val!==this.$parent.internalPageSize){this.$parent.internalPageSize=val=parseInt(val,10);this.$parent.userChangePageSize=true;this.$parent.$emit('update:pageSize',val);this.$parent.$emit('size-change',val);}}}},Jumper:{mixins:[locale_default.a],components:{ElInput:input_default.a},data:function data(){return{userInput:null};},watch:{'$parent.internalCurrentPage':function $parentInternalCurrentPage(){this.userInput=null;}},methods:{handleKeyup:function handleKeyup(_ref){var keyCode=_ref.keyCode,target=_ref.target;// Chrome, Safari, Firefox triggers change event on Enter\n// Hack for IE: https://github.com/ElemeFE/element/issues/11710\n// Drop this method when we no longer supports IE\nif(keyCode===13){this.handleChange(target.value);}},handleInput:function handleInput(value){this.userInput=value;},handleChange:function handleChange(value){this.$parent.internalCurrentPage=this.$parent.getValidCurrentPage(value);this.$parent.emitChange();this.userInput=null;}},render:function render(h){return h('span',{'class':'el-pagination__jump'},[this.t('el.pagination.goto'),h('el-input',{'class':'el-pagination__editor is-in-pagination',attrs:{min:1,max:this.$parent.internalPageCount,value:this.userInput!==null?this.userInput:this.$parent.internalCurrentPage,type:'number',disabled:this.$parent.disabled},nativeOn:{'keyup':this.handleKeyup},on:{'input':this.handleInput,'change':this.handleChange}}),this.t('el.pagination.pageClassifier')]);}},Total:{mixins:[locale_default.a],render:function render(h){return typeof this.$parent.total==='number'?h('span',{'class':'el-pagination__total'},[this.t('el.pagination.total',{total:this.$parent.total})]):'';}},Pager:pager},methods:{handleCurrentChange:function handleCurrentChange(val){this.internalCurrentPage=this.getValidCurrentPage(val);this.userChangePageSize=true;this.emitChange();},prev:function prev(){if(this.disabled)return;var newVal=this.internalCurrentPage-1;this.internalCurrentPage=this.getValidCurrentPage(newVal);this.$emit('prev-click',this.internalCurrentPage);this.emitChange();},next:function next(){if(this.disabled)return;var newVal=this.internalCurrentPage+1;this.internalCurrentPage=this.getValidCurrentPage(newVal);this.$emit('next-click',this.internalCurrentPage);this.emitChange();},getValidCurrentPage:function getValidCurrentPage(value){value=parseInt(value,10);var havePageCount=typeof this.internalPageCount==='number';var resetValue=void 0;if(!havePageCount){if(isNaN(value)||value<1)resetValue=1;}else{if(value<1){resetValue=1;}else if(value>this.internalPageCount){resetValue=this.internalPageCount;}}if(resetValue===undefined&&isNaN(value)){resetValue=1;}else if(resetValue===0){resetValue=1;}return resetValue===undefined?value:resetValue;},emitChange:function emitChange(){var _this2=this;this.$nextTick(function(){if(_this2.internalCurrentPage!==_this2.lastEmittedPage||_this2.userChangePageSize){_this2.$emit('current-change',_this2.internalCurrentPage);_this2.lastEmittedPage=_this2.internalCurrentPage;_this2.userChangePageSize=false;}});}},computed:{internalPageCount:function internalPageCount(){if(typeof this.total==='number'){return Math.max(1,Math.ceil(this.total/this.internalPageSize));}else if(typeof this.pageCount==='number'){return Math.max(1,this.pageCount);}return null;}},watch:{currentPage:{immediate:true,handler:function handler(val){this.internalCurrentPage=this.getValidCurrentPage(val);}},pageSize:{immediate:true,handler:function handler(val){this.internalPageSize=isNaN(val)?10:val;}},internalCurrentPage:{immediate:true,handler:function handler(newVal){this.$emit('update:currentPage',newVal);this.lastEmittedPage=-1;}},internalPageCount:function internalPageCount(newVal){/* istanbul ignore if */var oldPage=this.internalCurrentPage;if(newVal>0&&oldPage===0){this.internalCurrentPage=1;}else if(oldPage>newVal){this.internalCurrentPage=newVal===0?1:newVal;this.userChangePageSize&&this.emitChange();}this.userChangePageSize=false;}}};// CONCATENATED MODULE: ./packages/pagination/index.js\n/* istanbul ignore next */pagination.install=function(Vue){Vue.component(pagination.name,pagination);};/* harmony default export */var packages_pagination=pagination;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=60140e62&\nvar componentvue_type_template_id_60140e62_render=function componentvue_type_template_id_60140e62_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"dialog-fade\"},on:{\"after-enter\":_vm.afterEnter,\"after-leave\":_vm.afterLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-dialog__wrapper\",on:{click:function click($event){if($event.target!==$event.currentTarget){return null;}return _vm.handleWrapperClick($event);}}},[_c(\"div\",{key:_vm.key,ref:\"dialog\",class:[\"el-dialog\",{\"is-fullscreen\":_vm.fullscreen,\"el-dialog--center\":_vm.center},_vm.customClass],style:_vm.style,attrs:{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":_vm.title||\"dialog\"}},[_c(\"div\",{staticClass:\"el-dialog__header\"},[_vm._t(\"title\",[_c(\"span\",{staticClass:\"el-dialog__title\"},[_vm._v(_vm._s(_vm.title))])]),_vm.showClose?_c(\"button\",{staticClass:\"el-dialog__headerbtn\",attrs:{type:\"button\",\"aria-label\":\"Close\"},on:{click:_vm.handleClose}},[_c(\"i\",{staticClass:\"el-dialog__close el-icon el-icon-close\"})]):_vm._e()],2),_vm.rendered?_c(\"div\",{staticClass:\"el-dialog__body\"},[_vm._t(\"default\")],2):_vm._e(),_vm.$slots.footer?_c(\"div\",{staticClass:\"el-dialog__footer\"},[_vm._t(\"footer\")],2):_vm._e()])])]);};var componentvue_type_template_id_60140e62_staticRenderFns=[];componentvue_type_template_id_60140e62_render._withStripped=true;// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=60140e62&\n// EXTERNAL MODULE: external \"element-ui/lib/utils/popup\"\nvar popup_=__webpack_require__(11);var popup_default=/*#__PURE__*/__webpack_require__.n(popup_);// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_=__webpack_require__(9);var migrating_default=/*#__PURE__*/__webpack_require__.n(migrating_);// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_=__webpack_require__(3);var emitter_default=/*#__PURE__*/__webpack_require__.n(emitter_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var componentvue_type_script_lang_js_={name:'ElDialog',mixins:[popup_default.a,emitter_default.a,migrating_default.a],props:{title:{type:String,default:''},modal:{type:Boolean,default:true},modalAppendToBody:{type:Boolean,default:true},appendToBody:{type:Boolean,default:false},lockScroll:{type:Boolean,default:true},closeOnClickModal:{type:Boolean,default:true},closeOnPressEscape:{type:Boolean,default:true},showClose:{type:Boolean,default:true},width:String,fullscreen:Boolean,customClass:{type:String,default:''},top:{type:String,default:'15vh'},beforeClose:Function,center:{type:Boolean,default:false},destroyOnClose:Boolean},data:function data(){return{closed:false,key:0};},watch:{visible:function visible(val){var _this=this;if(val){this.closed=false;this.$emit('open');this.$el.addEventListener('scroll',this.updatePopper);this.$nextTick(function(){_this.$refs.dialog.scrollTop=0;});if(this.appendToBody){document.body.appendChild(this.$el);}}else{this.$el.removeEventListener('scroll',this.updatePopper);if(!this.closed)this.$emit('close');if(this.destroyOnClose){this.$nextTick(function(){_this.key++;});}}}},computed:{style:function style(){var style={};if(!this.fullscreen){style.marginTop=this.top;if(this.width){style.width=this.width;}}return style;}},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'size':'size is removed.'}};},handleWrapperClick:function handleWrapperClick(){if(!this.closeOnClickModal)return;this.handleClose();},handleClose:function handleClose(){if(typeof this.beforeClose==='function'){this.beforeClose(this.hide);}else{this.hide();}},hide:function hide(cancel){if(cancel!==false){this.$emit('update:visible',false);this.$emit('close');this.closed=true;}},updatePopper:function updatePopper(){this.broadcast('ElSelectDropdown','updatePopper');this.broadcast('ElDropdownMenu','updatePopper');},afterEnter:function afterEnter(){this.$emit('opened');},afterLeave:function afterLeave(){this.$emit('closed');}},mounted:function mounted(){if(this.visible){this.rendered=true;this.open();if(this.appendToBody){document.body.appendChild(this.$el);}}},destroyed:function destroyed(){// if appendToBody is true, remove DOM node after destroy\nif(this.appendToBody&&this.$el&&this.$el.parentNode){this.$el.parentNode.removeChild(this.$el);}}};// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js&\n/* harmony default export */var src_componentvue_type_script_lang_js_=componentvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/dialog/src/component.vue\n/* normalize component */var component_component=normalizeComponent(src_componentvue_type_script_lang_js_,componentvue_type_template_id_60140e62_render,componentvue_type_template_id_60140e62_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var component_api; }component_component.options.__file=\"packages/dialog/src/component.vue\";/* harmony default export */var src_component=component_component.exports;// CONCATENATED MODULE: ./packages/dialog/index.js\n/* istanbul ignore next */src_component.install=function(Vue){Vue.component(src_component.name,src_component);};/* harmony default export */var dialog=src_component;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6&\nvar autocompletevue_type_template_id_152f2ee6_render=function autocompletevue_type_template_id_152f2ee6_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.close,expression:\"close\"}],staticClass:\"el-autocomplete\",attrs:{\"aria-haspopup\":\"listbox\",role:\"combobox\",\"aria-expanded\":_vm.suggestionVisible,\"aria-owns\":_vm.id}},[_c(\"el-input\",_vm._b({ref:\"input\",on:{input:_vm.handleInput,change:_vm.handleChange,focus:_vm.handleFocus,blur:_vm.handleBlur,clear:_vm.handleClear},nativeOn:{keydown:[function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){return null;}$event.preventDefault();_vm.highlight(_vm.highlightedIndex-1);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){return null;}$event.preventDefault();_vm.highlight(_vm.highlightedIndex+1);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}return _vm.handleKeyEnter($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){return null;}return _vm.close($event);}]}},\"el-input\",[_vm.$props,_vm.$attrs],false),[_vm.$slots.prepend?_c(\"template\",{slot:\"prepend\"},[_vm._t(\"prepend\")],2):_vm._e(),_vm.$slots.append?_c(\"template\",{slot:\"append\"},[_vm._t(\"append\")],2):_vm._e(),_vm.$slots.prefix?_c(\"template\",{slot:\"prefix\"},[_vm._t(\"prefix\")],2):_vm._e(),_vm.$slots.suffix?_c(\"template\",{slot:\"suffix\"},[_vm._t(\"suffix\")],2):_vm._e()],2),_c(\"el-autocomplete-suggestions\",{ref:\"suggestions\",class:[_vm.popperClass?_vm.popperClass:\"\"],attrs:{\"visible-arrow\":\"\",\"popper-options\":_vm.popperOptions,\"append-to-body\":_vm.popperAppendToBody,placement:_vm.placement,id:_vm.id}},_vm._l(_vm.suggestions,function(item,index){return _c(\"li\",{key:index,class:{highlighted:_vm.highlightedIndex===index},attrs:{id:_vm.id+\"-item-\"+index,role:\"option\",\"aria-selected\":_vm.highlightedIndex===index},on:{click:function click($event){_vm.select(item);}}},[_vm._t(\"default\",[_vm._v(\"\\n        \"+_vm._s(item[_vm.valueKey])+\"\\n      \")],{item:item})],2);}),0)],1);};var autocompletevue_type_template_id_152f2ee6_staticRenderFns=[];autocompletevue_type_template_id_152f2ee6_render._withStripped=true;// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6&\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_=__webpack_require__(16);var debounce_default=/*#__PURE__*/__webpack_require__.n(debounce_);// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_=__webpack_require__(10);var clickoutside_default=/*#__PURE__*/__webpack_require__.n(clickoutside_);// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0&\nvar autocomplete_suggestionsvue_type_template_id_cd10dcf0_render=function autocomplete_suggestionsvue_type_template_id_cd10dcf0_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":_vm.doDestroy}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.showPopper,expression:\"showPopper\"}],staticClass:\"el-autocomplete-suggestion el-popper\",class:{\"is-loading\":!_vm.parent.hideLoading&&_vm.parent.loading},style:{width:_vm.dropdownWidth},attrs:{role:\"region\"}},[_c(\"el-scrollbar\",{attrs:{tag:\"ul\",\"wrap-class\":\"el-autocomplete-suggestion__wrap\",\"view-class\":\"el-autocomplete-suggestion__list\"}},[!_vm.parent.hideLoading&&_vm.parent.loading?_c(\"li\",[_c(\"i\",{staticClass:\"el-icon-loading\"})]):_vm._t(\"default\")],2)],1)]);};var autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns=[];autocomplete_suggestionsvue_type_template_id_cd10dcf0_render._withStripped=true;// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0&\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_=__webpack_require__(5);var vue_popper_default=/*#__PURE__*/__webpack_require__.n(vue_popper_);// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_=__webpack_require__(18);var scrollbar_default=/*#__PURE__*/__webpack_require__.n(scrollbar_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var autocomplete_suggestionsvue_type_script_lang_js_={components:{ElScrollbar:scrollbar_default.a},mixins:[vue_popper_default.a,emitter_default.a],componentName:'ElAutocompleteSuggestions',data:function data(){return{parent:this.$parent,dropdownWidth:''};},props:{options:{default:function _default(){return{gpuAcceleration:false};}},id:String},methods:{select:function select(item){this.dispatch('ElAutocomplete','item-click',item);}},updated:function updated(){var _this=this;this.$nextTick(function(_){_this.popperJS&&_this.updatePopper();});},mounted:function mounted(){this.$parent.popperElm=this.popperElm=this.$el;this.referenceElm=this.$parent.$refs.input.$refs.input||this.$parent.$refs.input.$refs.textarea;this.referenceList=this.$el.querySelector('.el-autocomplete-suggestion__list');this.referenceList.setAttribute('role','listbox');this.referenceList.setAttribute('id',this.id);},created:function created(){var _this2=this;this.$on('visible',function(val,inputWidth){_this2.dropdownWidth=inputWidth+'px';_this2.showPopper=val;});}};// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js&\n/* harmony default export */var src_autocomplete_suggestionsvue_type_script_lang_js_=autocomplete_suggestionsvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue\n/* normalize component */var autocomplete_suggestions_component=normalizeComponent(src_autocomplete_suggestionsvue_type_script_lang_js_,autocomplete_suggestionsvue_type_template_id_cd10dcf0_render,autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var autocomplete_suggestions_api; }autocomplete_suggestions_component.options.__file=\"packages/autocomplete/src/autocomplete-suggestions.vue\";/* harmony default export */var autocomplete_suggestions=autocomplete_suggestions_component.exports;// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_=__webpack_require__(23);var focus_default=/*#__PURE__*/__webpack_require__.n(focus_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var autocompletevue_type_script_lang_js_={name:'ElAutocomplete',mixins:[emitter_default.a,focus_default()('input'),migrating_default.a],inheritAttrs:false,componentName:'ElAutocomplete',components:{ElInput:input_default.a,ElAutocompleteSuggestions:autocomplete_suggestions},directives:{Clickoutside:clickoutside_default.a},props:{valueKey:{type:String,default:'value'},popperClass:String,popperOptions:Object,placeholder:String,clearable:{type:Boolean,default:false},disabled:Boolean,name:String,size:String,value:String,maxlength:Number,minlength:Number,autofocus:Boolean,fetchSuggestions:Function,triggerOnFocus:{type:Boolean,default:true},customItem:String,selectWhenUnmatched:{type:Boolean,default:false},prefixIcon:String,suffixIcon:String,label:String,debounce:{type:Number,default:300},placement:{type:String,default:'bottom-start'},hideLoading:Boolean,popperAppendToBody:{type:Boolean,default:true},highlightFirstItem:{type:Boolean,default:false}},data:function data(){return{activated:false,suggestions:[],loading:false,highlightedIndex:-1,suggestionDisabled:false};},computed:{suggestionVisible:function suggestionVisible(){var suggestions=this.suggestions;var isValidData=Array.isArray(suggestions)&&suggestions.length>0;return(isValidData||this.loading)&&this.activated;},id:function id(){return'el-autocomplete-'+Object(util_[\"generateId\"])();}},watch:{suggestionVisible:function suggestionVisible(val){var $input=this.getInput();if($input){this.broadcast('ElAutocompleteSuggestions','visible',[val,$input.offsetWidth]);}}},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'custom-item':'custom-item is removed, use scoped slot instead.','props':'props is removed, use value-key instead.'}};},getData:function getData(queryString){var _this=this;if(this.suggestionDisabled){return;}this.loading=true;this.fetchSuggestions(queryString,function(suggestions){_this.loading=false;if(_this.suggestionDisabled){return;}if(Array.isArray(suggestions)){_this.suggestions=suggestions;_this.highlightedIndex=_this.highlightFirstItem?0:-1;}else{console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array');}});},handleInput:function handleInput(value){this.$emit('input',value);this.suggestionDisabled=false;if(!this.triggerOnFocus&&!value){this.suggestionDisabled=true;this.suggestions=[];return;}this.debouncedGetData(value);},handleChange:function handleChange(value){this.$emit('change',value);},handleFocus:function handleFocus(event){this.activated=true;this.$emit('focus',event);if(this.triggerOnFocus){this.debouncedGetData(this.value);}},handleBlur:function handleBlur(event){this.$emit('blur',event);},handleClear:function handleClear(){this.activated=false;this.$emit('clear');},close:function close(e){this.activated=false;},handleKeyEnter:function handleKeyEnter(e){var _this2=this;if(this.suggestionVisible&&this.highlightedIndex>=0&&this.highlightedIndex<this.suggestions.length){e.preventDefault();this.select(this.suggestions[this.highlightedIndex]);}else if(this.selectWhenUnmatched){this.$emit('select',{value:this.value});this.$nextTick(function(_){_this2.suggestions=[];_this2.highlightedIndex=-1;});}},select:function select(item){var _this3=this;this.$emit('input',item[this.valueKey]);this.$emit('select',item);this.$nextTick(function(_){_this3.suggestions=[];_this3.highlightedIndex=-1;});},highlight:function highlight(index){if(!this.suggestionVisible||this.loading){return;}if(index<0){this.highlightedIndex=-1;return;}if(index>=this.suggestions.length){index=this.suggestions.length-1;}var suggestion=this.$refs.suggestions.$el.querySelector('.el-autocomplete-suggestion__wrap');var suggestionList=suggestion.querySelectorAll('.el-autocomplete-suggestion__list li');var highlightItem=suggestionList[index];var scrollTop=suggestion.scrollTop;var offsetTop=highlightItem.offsetTop;if(offsetTop+highlightItem.scrollHeight>scrollTop+suggestion.clientHeight){suggestion.scrollTop+=highlightItem.scrollHeight;}if(offsetTop<scrollTop){suggestion.scrollTop-=highlightItem.scrollHeight;}this.highlightedIndex=index;var $input=this.getInput();$input.setAttribute('aria-activedescendant',this.id+'-item-'+this.highlightedIndex);},getInput:function getInput(){return this.$refs.input.getInput();}},mounted:function mounted(){var _this4=this;this.debouncedGetData=debounce_default()(this.debounce,this.getData);this.$on('item-click',function(item){_this4.select(item);});var $input=this.getInput();$input.setAttribute('role','textbox');$input.setAttribute('aria-autocomplete','list');$input.setAttribute('aria-controls','id');$input.setAttribute('aria-activedescendant',this.id+'-item-'+this.highlightedIndex);},beforeDestroy:function beforeDestroy(){this.$refs.suggestions.$destroy();}};// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js&\n/* harmony default export */var src_autocompletevue_type_script_lang_js_=autocompletevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue\n/* normalize component */var autocomplete_component=normalizeComponent(src_autocompletevue_type_script_lang_js_,autocompletevue_type_template_id_152f2ee6_render,autocompletevue_type_template_id_152f2ee6_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var autocomplete_api; }autocomplete_component.options.__file=\"packages/autocomplete/src/autocomplete.vue\";/* harmony default export */var autocomplete=autocomplete_component.exports;// CONCATENATED MODULE: ./packages/autocomplete/index.js\n/* istanbul ignore next */autocomplete.install=function(Vue){Vue.component(autocomplete.name,autocomplete);};/* harmony default export */var packages_autocomplete=autocomplete;// EXTERNAL MODULE: external \"element-ui/lib/button\"\nvar button_=__webpack_require__(13);var button_default=/*#__PURE__*/__webpack_require__.n(button_);// EXTERNAL MODULE: external \"element-ui/lib/button-group\"\nvar button_group_=__webpack_require__(28);var button_group_default=/*#__PURE__*/__webpack_require__.n(button_group_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js&\n/* harmony default export */var dropdownvue_type_script_lang_js_={name:'ElDropdown',componentName:'ElDropdown',mixins:[emitter_default.a,migrating_default.a],directives:{Clickoutside:clickoutside_default.a},components:{ElButton:button_default.a,ElButtonGroup:button_group_default.a},provide:function provide(){return{dropdown:this};},props:{trigger:{type:String,default:'hover'},type:String,size:{type:String,default:''},splitButton:Boolean,hideOnClick:{type:Boolean,default:true},placement:{type:String,default:'bottom-end'},visibleArrow:{default:true},showTimeout:{type:Number,default:250},hideTimeout:{type:Number,default:150},tabindex:{type:Number,default:0},disabled:{type:Boolean,default:false}},data:function data(){return{timeout:null,visible:false,triggerElm:null,menuItems:null,menuItemsArray:null,dropdownElm:null,focusing:false,listId:'dropdown-menu-'+Object(util_[\"generateId\"])()};},computed:{dropdownSize:function dropdownSize(){return this.size||(this.$ELEMENT||{}).size;}},mounted:function mounted(){this.$on('menu-item-click',this.handleMenuItemClick);},watch:{visible:function visible(val){this.broadcast('ElDropdownMenu','visible',val);this.$emit('visible-change',val);},focusing:function focusing(val){var selfDefine=this.$el.querySelector('.el-dropdown-selfdefine');if(selfDefine){// 自定义\nif(val){selfDefine.className+=' focusing';}else{selfDefine.className=selfDefine.className.replace('focusing','');}}}},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'menu-align':'menu-align is renamed to placement.'}};},show:function show(){var _this=this;if(this.disabled)return;clearTimeout(this.timeout);this.timeout=setTimeout(function(){_this.visible=true;},this.trigger==='click'?0:this.showTimeout);},hide:function hide(){var _this2=this;if(this.disabled)return;this.removeTabindex();if(this.tabindex>=0){this.resetTabindex(this.triggerElm);}clearTimeout(this.timeout);this.timeout=setTimeout(function(){_this2.visible=false;},this.trigger==='click'?0:this.hideTimeout);},handleClick:function handleClick(){if(this.disabled)return;if(this.visible){this.hide();}else{this.show();}},handleTriggerKeyDown:function handleTriggerKeyDown(ev){var keyCode=ev.keyCode;if([38,40].indexOf(keyCode)>-1){// up/down\nthis.removeTabindex();this.resetTabindex(this.menuItems[0]);this.menuItems[0].focus();ev.preventDefault();ev.stopPropagation();}else if(keyCode===13){// space enter选中\nthis.handleClick();}else if([9,27].indexOf(keyCode)>-1){// tab || esc\nthis.hide();}},handleItemKeyDown:function handleItemKeyDown(ev){var keyCode=ev.keyCode;var target=ev.target;var currentIndex=this.menuItemsArray.indexOf(target);var max=this.menuItemsArray.length-1;var nextIndex=void 0;if([38,40].indexOf(keyCode)>-1){// up/down\nif(keyCode===38){// up\nnextIndex=currentIndex!==0?currentIndex-1:0;}else{// down\nnextIndex=currentIndex<max?currentIndex+1:max;}this.removeTabindex();this.resetTabindex(this.menuItems[nextIndex]);this.menuItems[nextIndex].focus();ev.preventDefault();ev.stopPropagation();}else if(keyCode===13){// enter选中\nthis.triggerElmFocus();target.click();if(this.hideOnClick){// click关闭\nthis.visible=false;}}else if([9,27].indexOf(keyCode)>-1){// tab // esc\nthis.hide();this.triggerElmFocus();}},resetTabindex:function resetTabindex(ele){// 下次tab时组件聚焦元素\nthis.removeTabindex();ele.setAttribute('tabindex','0');// 下次期望的聚焦元素\n},removeTabindex:function removeTabindex(){this.triggerElm.setAttribute('tabindex','-1');this.menuItemsArray.forEach(function(item){item.setAttribute('tabindex','-1');});},initAria:function initAria(){this.dropdownElm.setAttribute('id',this.listId);this.triggerElm.setAttribute('aria-haspopup','list');this.triggerElm.setAttribute('aria-controls',this.listId);if(!this.splitButton){// 自定义\nthis.triggerElm.setAttribute('role','button');this.triggerElm.setAttribute('tabindex',this.tabindex);this.triggerElm.setAttribute('class',(this.triggerElm.getAttribute('class')||'')+' el-dropdown-selfdefine');// 控制\n}},initEvent:function initEvent(){var _this3=this;var trigger=this.trigger,show=this.show,hide=this.hide,handleClick=this.handleClick,splitButton=this.splitButton,handleTriggerKeyDown=this.handleTriggerKeyDown,handleItemKeyDown=this.handleItemKeyDown;this.triggerElm=splitButton?this.$refs.trigger.$el:this.$slots.default[0].elm;var dropdownElm=this.dropdownElm;this.triggerElm.addEventListener('keydown',handleTriggerKeyDown);// triggerElm keydown\ndropdownElm.addEventListener('keydown',handleItemKeyDown,true);// item keydown\n// 控制自定义元素的样式\nif(!splitButton){this.triggerElm.addEventListener('focus',function(){_this3.focusing=true;});this.triggerElm.addEventListener('blur',function(){_this3.focusing=false;});this.triggerElm.addEventListener('click',function(){_this3.focusing=false;});}if(trigger==='hover'){this.triggerElm.addEventListener('mouseenter',show);this.triggerElm.addEventListener('mouseleave',hide);dropdownElm.addEventListener('mouseenter',show);dropdownElm.addEventListener('mouseleave',hide);}else if(trigger==='click'){this.triggerElm.addEventListener('click',handleClick);}},handleMenuItemClick:function handleMenuItemClick(command,instance){if(this.hideOnClick){this.visible=false;}this.$emit('command',command,instance);},triggerElmFocus:function triggerElmFocus(){this.triggerElm.focus&&this.triggerElm.focus();},initDomOperation:function initDomOperation(){this.dropdownElm=this.popperElm;this.menuItems=this.dropdownElm.querySelectorAll(\"[tabindex='-1']\");this.menuItemsArray=[].slice.call(this.menuItems);this.initEvent();this.initAria();}},render:function render(h){var _this4=this;var hide=this.hide,splitButton=this.splitButton,type=this.type,dropdownSize=this.dropdownSize,disabled=this.disabled;var handleMainButtonClick=function handleMainButtonClick(event){_this4.$emit('click',event);hide();};var triggerElm=null;if(splitButton){triggerElm=h('el-button-group',[h('el-button',{attrs:{type:type,size:dropdownSize,disabled:disabled},nativeOn:{'click':handleMainButtonClick}},[this.$slots.default]),h('el-button',{ref:'trigger',attrs:{type:type,size:dropdownSize,disabled:disabled},'class':'el-dropdown__caret-button'},[h('i',{'class':'el-dropdown__icon el-icon-arrow-down'})])]);}else{triggerElm=this.$slots.default;var vnodeData=triggerElm[0].data||{};var _vnodeData$attrs=vnodeData.attrs,attrs=_vnodeData$attrs===undefined?{}:_vnodeData$attrs;if(disabled&&!attrs.disabled){attrs.disabled=true;vnodeData.attrs=attrs;}}var menuElm=disabled?null:this.$slots.dropdown;return h('div',{'class':'el-dropdown',directives:[{name:'clickoutside',value:hide}],attrs:{'aria-disabled':disabled}},[triggerElm,menuElm]);}};// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js&\n/* harmony default export */var src_dropdownvue_type_script_lang_js_=dropdownvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue\nvar dropdown_render,dropdown_staticRenderFns;/* normalize component */var dropdown_component=normalizeComponent(src_dropdownvue_type_script_lang_js_,dropdown_render,dropdown_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var dropdown_api; }dropdown_component.options.__file=\"packages/dropdown/src/dropdown.vue\";/* harmony default export */var dropdown=dropdown_component.exports;// CONCATENATED MODULE: ./packages/dropdown/index.js\n/* istanbul ignore next */dropdown.install=function(Vue){Vue.component(dropdown.name,dropdown);};/* harmony default export */var packages_dropdown=dropdown;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714&\nvar dropdown_menuvue_type_template_id_0da6b714_render=function dropdown_menuvue_type_template_id_0da6b714_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":_vm.doDestroy}},[_c(\"ul\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.showPopper,expression:\"showPopper\"}],staticClass:\"el-dropdown-menu el-popper\",class:[_vm.size&&\"el-dropdown-menu--\"+_vm.size]},[_vm._t(\"default\")],2)]);};var dropdown_menuvue_type_template_id_0da6b714_staticRenderFns=[];dropdown_menuvue_type_template_id_0da6b714_render._withStripped=true;// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var dropdown_menuvue_type_script_lang_js_={name:'ElDropdownMenu',componentName:'ElDropdownMenu',mixins:[vue_popper_default.a],props:{visibleArrow:{type:Boolean,default:true},arrowOffset:{type:Number,default:0}},data:function data(){return{size:this.dropdown.dropdownSize};},inject:['dropdown'],created:function created(){var _this=this;this.$on('updatePopper',function(){if(_this.showPopper)_this.updatePopper();});this.$on('visible',function(val){_this.showPopper=val;});},mounted:function mounted(){this.dropdown.popperElm=this.popperElm=this.$el;this.referenceElm=this.dropdown.$el;// compatible with 2.6 new v-slot syntax\n// issue link https://github.com/ElemeFE/element/issues/14345\nthis.dropdown.initDomOperation();},watch:{'dropdown.placement':{immediate:true,handler:function handler(val){this.currentPlacement=val;}}}};// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&\n/* harmony default export */var src_dropdown_menuvue_type_script_lang_js_=dropdown_menuvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue\n/* normalize component */var dropdown_menu_component=normalizeComponent(src_dropdown_menuvue_type_script_lang_js_,dropdown_menuvue_type_template_id_0da6b714_render,dropdown_menuvue_type_template_id_0da6b714_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var dropdown_menu_api; }dropdown_menu_component.options.__file=\"packages/dropdown/src/dropdown-menu.vue\";/* harmony default export */var dropdown_menu=dropdown_menu_component.exports;// CONCATENATED MODULE: ./packages/dropdown-menu/index.js\n/* istanbul ignore next */dropdown_menu.install=function(Vue){Vue.component(dropdown_menu.name,dropdown_menu);};/* harmony default export */var packages_dropdown_menu=dropdown_menu;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a&\nvar dropdown_itemvue_type_template_id_6359102a_render=function dropdown_itemvue_type_template_id_6359102a_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"li\",{staticClass:\"el-dropdown-menu__item\",class:{\"is-disabled\":_vm.disabled,\"el-dropdown-menu__item--divided\":_vm.divided},attrs:{\"aria-disabled\":_vm.disabled,tabindex:_vm.disabled?null:-1},on:{click:_vm.handleClick}},[_vm.icon?_c(\"i\",{class:_vm.icon}):_vm._e(),_vm._t(\"default\")],2);};var dropdown_itemvue_type_template_id_6359102a_staticRenderFns=[];dropdown_itemvue_type_template_id_6359102a_render._withStripped=true;// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var dropdown_itemvue_type_script_lang_js_={name:'ElDropdownItem',mixins:[emitter_default.a],props:{command:{},disabled:Boolean,divided:Boolean,icon:String},methods:{handleClick:function handleClick(e){this.dispatch('ElDropdown','menu-item-click',[this.command,this]);}}};// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js&\n/* harmony default export */var src_dropdown_itemvue_type_script_lang_js_=dropdown_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue\n/* normalize component */var dropdown_item_component=normalizeComponent(src_dropdown_itemvue_type_script_lang_js_,dropdown_itemvue_type_template_id_6359102a_render,dropdown_itemvue_type_template_id_6359102a_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var dropdown_item_api; }dropdown_item_component.options.__file=\"packages/dropdown/src/dropdown-item.vue\";/* harmony default export */var dropdown_item=dropdown_item_component.exports;// CONCATENATED MODULE: ./packages/dropdown-item/index.js\n/* istanbul ignore next */dropdown_item.install=function(Vue){Vue.component(dropdown_item.name,dropdown_item);};/* harmony default export */var packages_dropdown_item=dropdown_item;// CONCATENATED MODULE: ./src/utils/aria-utils.js\nvar aria=aria||{};aria.Utils=aria.Utils||{};/**\n * @desc Set focus on descendant nodes until the first focusable element is\n *       found.\n * @param element\n *          DOM node for which to find the first focusable descendant.\n * @returns\n *  true if a focusable element is found and focus is set.\n */aria.Utils.focusFirstDescendant=function(element){for(var i=0;i<element.childNodes.length;i++){var child=element.childNodes[i];if(aria.Utils.attemptFocus(child)||aria.Utils.focusFirstDescendant(child)){return true;}}return false;};/**\n * @desc Find the last descendant node that is focusable.\n * @param element\n *          DOM node for which to find the last focusable descendant.\n * @returns\n *  true if a focusable element is found and focus is set.\n */aria.Utils.focusLastDescendant=function(element){for(var i=element.childNodes.length-1;i>=0;i--){var child=element.childNodes[i];if(aria.Utils.attemptFocus(child)||aria.Utils.focusLastDescendant(child)){return true;}}return false;};/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n *          The node to attempt to focus on.\n * @returns\n *  true if element is focused.\n */aria.Utils.attemptFocus=function(element){if(!aria.Utils.isFocusable(element)){return false;}aria.Utils.IgnoreUtilFocusChanges=true;try{element.focus();}catch(e){}aria.Utils.IgnoreUtilFocusChanges=false;return document.activeElement===element;};aria.Utils.isFocusable=function(element){if(element.tabIndex>0||element.tabIndex===0&&element.getAttribute('tabIndex')!==null){return true;}if(element.disabled){return false;}switch(element.nodeName){case'A':return!!element.href&&element.rel!=='ignore';case'INPUT':return element.type!=='hidden'&&element.type!=='file';case'BUTTON':case'SELECT':case'TEXTAREA':return true;default:return false;}};/**\n * 触发一个事件\n * mouseenter, mouseleave, mouseover, keyup, change, click 等\n * @param  {Element} elm\n * @param  {String} name\n * @param  {*} opts\n */aria.Utils.triggerEvent=function(elm,name){var eventName=void 0;if(/^mouse|click/.test(name)){eventName='MouseEvents';}else if(/^key/.test(name)){eventName='KeyboardEvent';}else{eventName='HTMLEvents';}var evt=document.createEvent(eventName);for(var _len=arguments.length,opts=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){opts[_key-2]=arguments[_key];}evt.initEvent.apply(evt,[name].concat(opts));elm.dispatchEvent?elm.dispatchEvent(evt):elm.fireEvent('on'+name,evt);return elm;};aria.Utils.keys={tab:9,enter:13,space:32,left:37,up:38,right:39,down:40,esc:27};/* harmony default export */var aria_utils=aria.Utils;// CONCATENATED MODULE: ./src/utils/menu/aria-submenu.js\nvar SubMenu=function SubMenu(parent,domNode){this.domNode=domNode;this.parent=parent;this.subMenuItems=[];this.subIndex=0;this.init();};SubMenu.prototype.init=function(){this.subMenuItems=this.domNode.querySelectorAll('li');this.addListeners();};SubMenu.prototype.gotoSubIndex=function(idx){if(idx===this.subMenuItems.length){idx=0;}else if(idx<0){idx=this.subMenuItems.length-1;}this.subMenuItems[idx].focus();this.subIndex=idx;};SubMenu.prototype.addListeners=function(){var _this=this;var keys=aria_utils.keys;var parentNode=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,function(el){el.addEventListener('keydown',function(event){var prevDef=false;switch(event.keyCode){case keys.down:_this.gotoSubIndex(_this.subIndex+1);prevDef=true;break;case keys.up:_this.gotoSubIndex(_this.subIndex-1);prevDef=true;break;case keys.tab:aria_utils.triggerEvent(parentNode,'mouseleave');break;case keys.enter:case keys.space:prevDef=true;event.currentTarget.click();break;}if(prevDef){event.preventDefault();event.stopPropagation();}return false;});});};/* harmony default export */var aria_submenu=SubMenu;// CONCATENATED MODULE: ./src/utils/menu/aria-menuitem.js\nvar MenuItem=function MenuItem(domNode){this.domNode=domNode;this.submenu=null;this.init();};MenuItem.prototype.init=function(){this.domNode.setAttribute('tabindex','0');var menuChild=this.domNode.querySelector('.el-menu');if(menuChild){this.submenu=new aria_submenu(this,menuChild);}this.addListeners();};MenuItem.prototype.addListeners=function(){var _this=this;var keys=aria_utils.keys;this.domNode.addEventListener('keydown',function(event){var prevDef=false;switch(event.keyCode){case keys.down:aria_utils.triggerEvent(event.currentTarget,'mouseenter');_this.submenu&&_this.submenu.gotoSubIndex(0);prevDef=true;break;case keys.up:aria_utils.triggerEvent(event.currentTarget,'mouseenter');_this.submenu&&_this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length-1);prevDef=true;break;case keys.tab:aria_utils.triggerEvent(event.currentTarget,'mouseleave');break;case keys.enter:case keys.space:prevDef=true;event.currentTarget.click();break;}if(prevDef){event.preventDefault();}});};/* harmony default export */var aria_menuitem=MenuItem;// CONCATENATED MODULE: ./src/utils/menu/aria-menubar.js\nvar Menu=function Menu(domNode){this.domNode=domNode;this.init();};Menu.prototype.init=function(){var menuChildren=this.domNode.childNodes;[].filter.call(menuChildren,function(child){return child.nodeType===1;}).forEach(function(child){new aria_menuitem(child);// eslint-disable-line\n});};/* harmony default export */var aria_menubar=Menu;// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_=__webpack_require__(1);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu.vue?vue&type=script&lang=js&\n/* harmony default export */var menuvue_type_script_lang_js_={name:'ElMenu',render:function render(h){var component=h('ul',{attrs:{role:'menubar'},key:+this.collapse,style:{backgroundColor:this.backgroundColor||''},'class':{'el-menu--horizontal':this.mode==='horizontal','el-menu--collapse':this.collapse,\"el-menu\":true}},[this.$slots.default]);if(this.collapseTransition){return h('el-menu-collapse-transition',[component]);}else{return component;}},componentName:'ElMenu',mixins:[emitter_default.a,migrating_default.a],provide:function provide(){return{rootMenu:this};},components:{'el-menu-collapse-transition':{functional:true,render:function render(createElement,context){var data={props:{mode:'out-in'},on:{beforeEnter:function beforeEnter(el){el.style.opacity=0.2;},enter:function enter(el){Object(dom_[\"addClass\"])(el,'el-opacity-transition');el.style.opacity=1;},afterEnter:function afterEnter(el){Object(dom_[\"removeClass\"])(el,'el-opacity-transition');el.style.opacity='';},beforeLeave:function beforeLeave(el){if(!el.dataset)el.dataset={};if(Object(dom_[\"hasClass\"])(el,'el-menu--collapse')){Object(dom_[\"removeClass\"])(el,'el-menu--collapse');el.dataset.oldOverflow=el.style.overflow;el.dataset.scrollWidth=el.clientWidth;Object(dom_[\"addClass\"])(el,'el-menu--collapse');}else{Object(dom_[\"addClass\"])(el,'el-menu--collapse');el.dataset.oldOverflow=el.style.overflow;el.dataset.scrollWidth=el.clientWidth;Object(dom_[\"removeClass\"])(el,'el-menu--collapse');}el.style.width=el.scrollWidth+'px';el.style.overflow='hidden';},leave:function leave(el){Object(dom_[\"addClass\"])(el,'horizontal-collapse-transition');el.style.width=el.dataset.scrollWidth+'px';}}};return createElement('transition',data,context.children);}}},props:{mode:{type:String,default:'vertical'},defaultActive:{type:String,default:''},defaultOpeneds:Array,uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,default:'hover'},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:true}},data:function data(){return{activeIndex:this.defaultActive,openedMenus:this.defaultOpeneds&&!this.collapse?this.defaultOpeneds.slice(0):[],items:{},submenus:{}};},computed:{hoverBackground:function hoverBackground(){return this.backgroundColor?this.mixColor(this.backgroundColor,0.2):'';},isMenuPopup:function isMenuPopup(){return this.mode==='horizontal'||this.mode==='vertical'&&this.collapse;}},watch:{defaultActive:function defaultActive(value){if(!this.items[value]){this.activeIndex=null;}this.updateActiveIndex(value);},defaultOpeneds:function defaultOpeneds(value){if(!this.collapse){this.openedMenus=value;}},collapse:function collapse(value){if(value)this.openedMenus=[];this.broadcast('ElSubmenu','toggle-collapse',value);}},methods:{updateActiveIndex:function updateActiveIndex(val){var item=this.items[val]||this.items[this.activeIndex]||this.items[this.defaultActive];if(item){this.activeIndex=item.index;this.initOpenedMenu();}else{this.activeIndex=null;}},getMigratingConfig:function getMigratingConfig(){return{props:{'theme':'theme is removed.'}};},getColorChannels:function getColorChannels(color){color=color.replace('#','');if(/^[0-9a-fA-F]{3}$/.test(color)){color=color.split('');for(var i=2;i>=0;i--){color.splice(i,0,color[i]);}color=color.join('');}if(/^[0-9a-fA-F]{6}$/.test(color)){return{red:parseInt(color.slice(0,2),16),green:parseInt(color.slice(2,4),16),blue:parseInt(color.slice(4,6),16)};}else{return{red:255,green:255,blue:255};}},mixColor:function mixColor(color,percent){var _getColorChannels=this.getColorChannels(color),red=_getColorChannels.red,green=_getColorChannels.green,blue=_getColorChannels.blue;if(percent>0){// shade given color\nred*=1-percent;green*=1-percent;blue*=1-percent;}else{// tint given color\nred+=(255-red)*percent;green+=(255-green)*percent;blue+=(255-blue)*percent;}return'rgb('+Math.round(red)+', '+Math.round(green)+', '+Math.round(blue)+')';},addItem:function addItem(item){this.$set(this.items,item.index,item);},removeItem:function removeItem(item){delete this.items[item.index];},addSubmenu:function addSubmenu(item){this.$set(this.submenus,item.index,item);},removeSubmenu:function removeSubmenu(item){delete this.submenus[item.index];},openMenu:function openMenu(index,indexPath){var openedMenus=this.openedMenus;if(openedMenus.indexOf(index)!==-1)return;// 将不在该菜单路径下的其余菜单收起\n// collapse all menu that are not under current menu item\nif(this.uniqueOpened){this.openedMenus=openedMenus.filter(function(index){return indexPath.indexOf(index)!==-1;});}this.openedMenus.push(index);},closeMenu:function closeMenu(index){var i=this.openedMenus.indexOf(index);if(i!==-1){this.openedMenus.splice(i,1);}},handleSubmenuClick:function handleSubmenuClick(submenu){var index=submenu.index,indexPath=submenu.indexPath;var isOpened=this.openedMenus.indexOf(index)!==-1;if(isOpened){this.closeMenu(index);this.$emit('close',index,indexPath);}else{this.openMenu(index,indexPath);this.$emit('open',index,indexPath);}},handleItemClick:function handleItemClick(item){var _this=this;var index=item.index,indexPath=item.indexPath;var oldActiveIndex=this.activeIndex;var hasIndex=item.index!==null;if(hasIndex){this.activeIndex=item.index;}this.$emit('select',index,indexPath,item);if(this.mode==='horizontal'||this.collapse){this.openedMenus=[];}if(this.router&&hasIndex){this.routeToItem(item,function(error){_this.activeIndex=oldActiveIndex;if(error){// vue-router 3.1.0+ push/replace cause NavigationDuplicated error \n// https://github.com/ElemeFE/element/issues/17044\nif(error.name==='NavigationDuplicated')return;console.error(error);}});}},// 初始化展开菜单\n// initialize opened menu\ninitOpenedMenu:function initOpenedMenu(){var _this2=this;var index=this.activeIndex;var activeItem=this.items[index];if(!activeItem||this.mode==='horizontal'||this.collapse)return;var indexPath=activeItem.indexPath;// 展开该菜单项的路径上所有子菜单\n// expand all submenus of the menu item\nindexPath.forEach(function(index){var submenu=_this2.submenus[index];submenu&&_this2.openMenu(index,submenu.indexPath);});},routeToItem:function routeToItem(item,onError){var route=item.route||item.index;try{this.$router.push(route,function(){},onError);}catch(e){console.error(e);}},open:function open(index){var _this3=this;var indexPath=this.submenus[index.toString()].indexPath;indexPath.forEach(function(i){return _this3.openMenu(i,indexPath);});},close:function close(index){this.closeMenu(index);}},mounted:function mounted(){this.initOpenedMenu();this.$on('item-click',this.handleItemClick);this.$on('submenu-click',this.handleSubmenuClick);if(this.mode==='horizontal'){new aria_menubar(this.$el);// eslint-disable-line\n}this.$watch('items',this.updateActiveIndex);}};// CONCATENATED MODULE: ./packages/menu/src/menu.vue?vue&type=script&lang=js&\n/* harmony default export */var src_menuvue_type_script_lang_js_=menuvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/menu/src/menu.vue\nvar menu_render,menu_staticRenderFns;/* normalize component */var menu_component=normalizeComponent(src_menuvue_type_script_lang_js_,menu_render,menu_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var menu_api; }menu_component.options.__file=\"packages/menu/src/menu.vue\";/* harmony default export */var src_menu=menu_component.exports;// CONCATENATED MODULE: ./packages/menu/index.js\n/* istanbul ignore next */src_menu.install=function(Vue){Vue.component(src_menu.name,src_menu);};/* harmony default export */var packages_menu=src_menu;// EXTERNAL MODULE: external \"element-ui/lib/transitions/collapse-transition\"\nvar collapse_transition_=__webpack_require__(21);var collapse_transition_default=/*#__PURE__*/__webpack_require__.n(collapse_transition_);// CONCATENATED MODULE: ./packages/menu/src/menu-mixin.js\n/* harmony default export */var menu_mixin={inject:['rootMenu'],computed:{indexPath:function indexPath(){var path=[this.index];var parent=this.$parent;while(parent.$options.componentName!=='ElMenu'){if(parent.index){path.unshift(parent.index);}parent=parent.$parent;}return path;},parentMenu:function parentMenu(){var parent=this.$parent;while(parent&&['ElMenu','ElSubmenu'].indexOf(parent.$options.componentName)===-1){parent=parent.$parent;}return parent;},paddingStyle:function paddingStyle(){if(this.rootMenu.mode!=='vertical')return{};var padding=20;var parent=this.$parent;if(this.rootMenu.collapse){padding=20;}else{while(parent&&parent.$options.componentName!=='ElMenu'){if(parent.$options.componentName==='ElSubmenu'){padding+=20;}parent=parent.$parent;}}return{paddingLeft:padding+'px'};}}};// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/submenu.vue?vue&type=script&lang=js&\nvar poperMixins={props:{transformOrigin:{type:[Boolean,String],default:false},offset:vue_popper_default.a.props.offset,boundariesPadding:vue_popper_default.a.props.boundariesPadding,popperOptions:vue_popper_default.a.props.popperOptions},data:vue_popper_default.a.data,methods:vue_popper_default.a.methods,beforeDestroy:vue_popper_default.a.beforeDestroy,deactivated:vue_popper_default.a.deactivated};/* harmony default export */var submenuvue_type_script_lang_js_={name:'ElSubmenu',componentName:'ElSubmenu',mixins:[menu_mixin,emitter_default.a,poperMixins],components:{ElCollapseTransition:collapse_transition_default.a},props:{index:{type:String,required:true},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:undefined}},data:function data(){return{popperJS:null,timeout:null,items:{},submenus:{},mouseInChild:false};},watch:{opened:function opened(val){var _this=this;if(this.isMenuPopup){this.$nextTick(function(_){_this.updatePopper();});}}},computed:{// popper option\nappendToBody:function appendToBody(){return this.popperAppendToBody===undefined?this.isFirstLevel:this.popperAppendToBody;},menuTransitionName:function menuTransitionName(){return this.rootMenu.collapse?'el-zoom-in-left':'el-zoom-in-top';},opened:function opened(){return this.rootMenu.openedMenus.indexOf(this.index)>-1;},active:function active(){var isActive=false;var submenus=this.submenus;var items=this.items;Object.keys(items).forEach(function(index){if(items[index].active){isActive=true;}});Object.keys(submenus).forEach(function(index){if(submenus[index].active){isActive=true;}});return isActive;},hoverBackground:function hoverBackground(){return this.rootMenu.hoverBackground;},backgroundColor:function backgroundColor(){return this.rootMenu.backgroundColor||'';},activeTextColor:function activeTextColor(){return this.rootMenu.activeTextColor||'';},textColor:function textColor(){return this.rootMenu.textColor||'';},mode:function mode(){return this.rootMenu.mode;},isMenuPopup:function isMenuPopup(){return this.rootMenu.isMenuPopup;},titleStyle:function titleStyle(){if(this.mode!=='horizontal'){return{color:this.textColor};}return{borderBottomColor:this.active?this.rootMenu.activeTextColor?this.activeTextColor:'':'transparent',color:this.active?this.activeTextColor:this.textColor};},isFirstLevel:function isFirstLevel(){var isFirstLevel=true;var parent=this.$parent;while(parent&&parent!==this.rootMenu){if(['ElSubmenu','ElMenuItemGroup'].indexOf(parent.$options.componentName)>-1){isFirstLevel=false;break;}else{parent=parent.$parent;}}return isFirstLevel;}},methods:{handleCollapseToggle:function handleCollapseToggle(value){if(value){this.initPopper();}else{this.doDestroy();}},addItem:function addItem(item){this.$set(this.items,item.index,item);},removeItem:function removeItem(item){delete this.items[item.index];},addSubmenu:function addSubmenu(item){this.$set(this.submenus,item.index,item);},removeSubmenu:function removeSubmenu(item){delete this.submenus[item.index];},handleClick:function handleClick(){var rootMenu=this.rootMenu,disabled=this.disabled;if(rootMenu.menuTrigger==='hover'&&rootMenu.mode==='horizontal'||rootMenu.collapse&&rootMenu.mode==='vertical'||disabled){return;}this.dispatch('ElMenu','submenu-click',this);},handleMouseenter:function handleMouseenter(event){var _this2=this;var showTimeout=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.showTimeout;if(!('ActiveXObject'in window)&&event.type==='focus'&&!event.relatedTarget){return;}var rootMenu=this.rootMenu,disabled=this.disabled;if(rootMenu.menuTrigger==='click'&&rootMenu.mode==='horizontal'||!rootMenu.collapse&&rootMenu.mode==='vertical'||disabled){return;}this.dispatch('ElSubmenu','mouse-enter-child');clearTimeout(this.timeout);this.timeout=setTimeout(function(){_this2.rootMenu.openMenu(_this2.index,_this2.indexPath);},showTimeout);if(this.appendToBody){this.$parent.$el.dispatchEvent(new MouseEvent('mouseenter'));}},handleMouseleave:function handleMouseleave(){var _this3=this;var deepDispatch=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var rootMenu=this.rootMenu;if(rootMenu.menuTrigger==='click'&&rootMenu.mode==='horizontal'||!rootMenu.collapse&&rootMenu.mode==='vertical'){return;}this.dispatch('ElSubmenu','mouse-leave-child');clearTimeout(this.timeout);this.timeout=setTimeout(function(){!_this3.mouseInChild&&_this3.rootMenu.closeMenu(_this3.index);},this.hideTimeout);if(this.appendToBody&&deepDispatch){if(this.$parent.$options.name==='ElSubmenu'){this.$parent.handleMouseleave(true);}}},handleTitleMouseenter:function handleTitleMouseenter(){if(this.mode==='horizontal'&&!this.rootMenu.backgroundColor)return;var title=this.$refs['submenu-title'];title&&(title.style.backgroundColor=this.rootMenu.hoverBackground);},handleTitleMouseleave:function handleTitleMouseleave(){if(this.mode==='horizontal'&&!this.rootMenu.backgroundColor)return;var title=this.$refs['submenu-title'];title&&(title.style.backgroundColor=this.rootMenu.backgroundColor||'');},updatePlacement:function updatePlacement(){this.currentPlacement=this.mode==='horizontal'&&this.isFirstLevel?'bottom-start':'right-start';},initPopper:function initPopper(){this.referenceElm=this.$el;this.popperElm=this.$refs.menu;this.updatePlacement();}},created:function created(){var _this4=this;this.$on('toggle-collapse',this.handleCollapseToggle);this.$on('mouse-enter-child',function(){_this4.mouseInChild=true;clearTimeout(_this4.timeout);});this.$on('mouse-leave-child',function(){_this4.mouseInChild=false;clearTimeout(_this4.timeout);});},mounted:function mounted(){this.parentMenu.addSubmenu(this);this.rootMenu.addSubmenu(this);this.initPopper();},beforeDestroy:function beforeDestroy(){this.parentMenu.removeSubmenu(this);this.rootMenu.removeSubmenu(this);},render:function render(h){var _this5=this;var active=this.active,opened=this.opened,paddingStyle=this.paddingStyle,titleStyle=this.titleStyle,backgroundColor=this.backgroundColor,rootMenu=this.rootMenu,currentPlacement=this.currentPlacement,menuTransitionName=this.menuTransitionName,mode=this.mode,disabled=this.disabled,popperClass=this.popperClass,$slots=this.$slots,isFirstLevel=this.isFirstLevel;var popupMenu=h('transition',{attrs:{name:menuTransitionName}},[h('div',{ref:'menu',directives:[{name:'show',value:opened}],'class':['el-menu--'+mode,popperClass],on:{'mouseenter':function mouseenter($event){return _this5.handleMouseenter($event,100);},'mouseleave':function mouseleave(){return _this5.handleMouseleave(true);},'focus':function focus($event){return _this5.handleMouseenter($event,100);}}},[h('ul',{attrs:{role:'menu'},'class':['el-menu el-menu--popup','el-menu--popup-'+currentPlacement],style:{backgroundColor:rootMenu.backgroundColor||''}},[$slots.default])])]);var inlineMenu=h('el-collapse-transition',[h('ul',{attrs:{role:'menu'},'class':'el-menu el-menu--inline',directives:[{name:'show',value:opened}],style:{backgroundColor:rootMenu.backgroundColor||''}},[$slots.default])]);var submenuTitleIcon=rootMenu.mode==='horizontal'&&isFirstLevel||rootMenu.mode==='vertical'&&!rootMenu.collapse?'el-icon-arrow-down':'el-icon-arrow-right';return h('li',{'class':{'el-submenu':true,'is-active':active,'is-opened':opened,'is-disabled':disabled},attrs:{role:'menuitem','aria-haspopup':'true','aria-expanded':opened},on:{'mouseenter':this.handleMouseenter,'mouseleave':function mouseleave(){return _this5.handleMouseleave(false);},'focus':this.handleMouseenter}},[h('div',{'class':'el-submenu__title',ref:'submenu-title',on:{'click':this.handleClick,'mouseenter':this.handleTitleMouseenter,'mouseleave':this.handleTitleMouseleave},style:[paddingStyle,titleStyle,{backgroundColor:backgroundColor}]},[$slots.title,h('i',{'class':['el-submenu__icon-arrow',submenuTitleIcon]})]),this.isMenuPopup?popupMenu:inlineMenu]);}};// CONCATENATED MODULE: ./packages/menu/src/submenu.vue?vue&type=script&lang=js&\n/* harmony default export */var src_submenuvue_type_script_lang_js_=submenuvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/menu/src/submenu.vue\nvar submenu_render,submenu_staticRenderFns;/* normalize component */var submenu_component=normalizeComponent(src_submenuvue_type_script_lang_js_,submenu_render,submenu_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var submenu_api; }submenu_component.options.__file=\"packages/menu/src/submenu.vue\";/* harmony default export */var submenu=submenu_component.exports;// CONCATENATED MODULE: ./packages/submenu/index.js\n/* istanbul ignore next */submenu.install=function(Vue){Vue.component(submenu.name,submenu);};/* harmony default export */var packages_submenu=submenu;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea&\nvar menu_itemvue_type_template_id_2a5dbfea_render=function menu_itemvue_type_template_id_2a5dbfea_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"li\",{staticClass:\"el-menu-item\",class:{\"is-active\":_vm.active,\"is-disabled\":_vm.disabled},style:[_vm.paddingStyle,_vm.itemStyle,{backgroundColor:_vm.backgroundColor}],attrs:{role:\"menuitem\",tabindex:\"-1\"},on:{click:_vm.handleClick,mouseenter:_vm.onMouseEnter,focus:_vm.onMouseEnter,blur:_vm.onMouseLeave,mouseleave:_vm.onMouseLeave}},[_vm.parentMenu.$options.componentName===\"ElMenu\"&&_vm.rootMenu.collapse&&_vm.$slots.title?_c(\"el-tooltip\",{attrs:{effect:\"dark\",placement:\"right\"}},[_c(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[_vm._t(\"title\")],2),_c(\"div\",{staticStyle:{position:\"absolute\",left:\"0\",top:\"0\",height:\"100%\",width:\"100%\",display:\"inline-block\",\"box-sizing\":\"border-box\",padding:\"0 20px\"}},[_vm._t(\"default\")],2)]):[_vm._t(\"default\"),_vm._t(\"title\")]],2);};var menu_itemvue_type_template_id_2a5dbfea_staticRenderFns=[];menu_itemvue_type_template_id_2a5dbfea_render._withStripped=true;// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea&\n// EXTERNAL MODULE: external \"element-ui/lib/tooltip\"\nvar tooltip_=__webpack_require__(26);var tooltip_default=/*#__PURE__*/__webpack_require__.n(tooltip_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var menu_itemvue_type_script_lang_js_={name:'ElMenuItem',componentName:'ElMenuItem',mixins:[menu_mixin,emitter_default.a],components:{ElTooltip:tooltip_default.a},props:{index:{default:null,validator:function validator(val){return typeof val==='string'||val===null;}},route:[String,Object],disabled:Boolean},computed:{active:function active(){return this.index===this.rootMenu.activeIndex;},hoverBackground:function hoverBackground(){return this.rootMenu.hoverBackground;},backgroundColor:function backgroundColor(){return this.rootMenu.backgroundColor||'';},activeTextColor:function activeTextColor(){return this.rootMenu.activeTextColor||'';},textColor:function textColor(){return this.rootMenu.textColor||'';},mode:function mode(){return this.rootMenu.mode;},itemStyle:function itemStyle(){var style={color:this.active?this.activeTextColor:this.textColor};if(this.mode==='horizontal'&&!this.isNested){style.borderBottomColor=this.active?this.rootMenu.activeTextColor?this.activeTextColor:'':'transparent';}return style;},isNested:function isNested(){return this.parentMenu!==this.rootMenu;}},methods:{onMouseEnter:function onMouseEnter(){if(this.mode==='horizontal'&&!this.rootMenu.backgroundColor)return;this.$el.style.backgroundColor=this.hoverBackground;},onMouseLeave:function onMouseLeave(){if(this.mode==='horizontal'&&!this.rootMenu.backgroundColor)return;this.$el.style.backgroundColor=this.backgroundColor;},handleClick:function handleClick(){if(!this.disabled){this.dispatch('ElMenu','item-click',this);this.$emit('click',this);}}},mounted:function mounted(){this.parentMenu.addItem(this);this.rootMenu.addItem(this);},beforeDestroy:function beforeDestroy(){this.parentMenu.removeItem(this);this.rootMenu.removeItem(this);}};// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=script&lang=js&\n/* harmony default export */var src_menu_itemvue_type_script_lang_js_=menu_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue\n/* normalize component */var menu_item_component=normalizeComponent(src_menu_itemvue_type_script_lang_js_,menu_itemvue_type_template_id_2a5dbfea_render,menu_itemvue_type_template_id_2a5dbfea_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var menu_item_api; }menu_item_component.options.__file=\"packages/menu/src/menu-item.vue\";/* harmony default export */var menu_item=menu_item_component.exports;// CONCATENATED MODULE: ./packages/menu-item/index.js\n/* istanbul ignore next */menu_item.install=function(Vue){Vue.component(menu_item.name,menu_item);};/* harmony default export */var packages_menu_item=menu_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc&\nvar menu_item_groupvue_type_template_id_543b7bdc_render=function menu_item_groupvue_type_template_id_543b7bdc_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"li\",{staticClass:\"el-menu-item-group\"},[_c(\"div\",{staticClass:\"el-menu-item-group__title\",style:{paddingLeft:_vm.levelPadding+\"px\"}},[!_vm.$slots.title?[_vm._v(_vm._s(_vm.title))]:_vm._t(\"title\")],2),_c(\"ul\",[_vm._t(\"default\")],2)]);};var menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns=[];menu_item_groupvue_type_template_id_543b7bdc_render._withStripped=true;// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var menu_item_groupvue_type_script_lang_js_={name:'ElMenuItemGroup',componentName:'ElMenuItemGroup',inject:['rootMenu'],props:{title:{type:String}},data:function data(){return{paddingLeft:20};},computed:{levelPadding:function levelPadding(){var padding=20;var parent=this.$parent;if(this.rootMenu.collapse)return 20;while(parent&&parent.$options.componentName!=='ElMenu'){if(parent.$options.componentName==='ElSubmenu'){padding+=20;}parent=parent.$parent;}return padding;}}};// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js&\n/* harmony default export */var src_menu_item_groupvue_type_script_lang_js_=menu_item_groupvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue\n/* normalize component */var menu_item_group_component=normalizeComponent(src_menu_item_groupvue_type_script_lang_js_,menu_item_groupvue_type_template_id_543b7bdc_render,menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var menu_item_group_api; }menu_item_group_component.options.__file=\"packages/menu/src/menu-item-group.vue\";/* harmony default export */var menu_item_group=menu_item_group_component.exports;// CONCATENATED MODULE: ./packages/menu-item-group/index.js\n/* istanbul ignore next */menu_item_group.install=function(Vue){Vue.component(menu_item_group.name,menu_item_group);};/* harmony default export */var packages_menu_item_group=menu_item_group;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&\nvar inputvue_type_template_id_343dd774_render=function inputvue_type_template_id_343dd774_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{class:[_vm.type===\"textarea\"?\"el-textarea\":\"el-input\",_vm.inputSize?\"el-input--\"+_vm.inputSize:\"\",{\"is-disabled\":_vm.inputDisabled,\"is-exceed\":_vm.inputExceed,\"el-input-group\":_vm.$slots.prepend||_vm.$slots.append,\"el-input-group--append\":_vm.$slots.append,\"el-input-group--prepend\":_vm.$slots.prepend,\"el-input--prefix\":_vm.$slots.prefix||_vm.prefixIcon,\"el-input--suffix\":_vm.$slots.suffix||_vm.suffixIcon||_vm.clearable||_vm.showPassword}],on:{mouseenter:function mouseenter($event){_vm.hovering=true;},mouseleave:function mouseleave($event){_vm.hovering=false;}}},[_vm.type!==\"textarea\"?[_vm.$slots.prepend?_c(\"div\",{staticClass:\"el-input-group__prepend\"},[_vm._t(\"prepend\")],2):_vm._e(),_vm.type!==\"textarea\"?_c(\"input\",_vm._b({ref:\"input\",staticClass:\"el-input__inner\",attrs:{tabindex:_vm.tabindex,type:_vm.showPassword?_vm.passwordVisible?\"text\":\"password\":_vm.type,disabled:_vm.inputDisabled,readonly:_vm.readonly,autocomplete:_vm.autoComplete||_vm.autocomplete,\"aria-label\":_vm.label},on:{compositionstart:_vm.handleCompositionStart,compositionupdate:_vm.handleCompositionUpdate,compositionend:_vm.handleCompositionEnd,input:_vm.handleInput,focus:_vm.handleFocus,blur:_vm.handleBlur,change:_vm.handleChange}},\"input\",_vm.$attrs,false)):_vm._e(),_vm.$slots.prefix||_vm.prefixIcon?_c(\"span\",{staticClass:\"el-input__prefix\"},[_vm._t(\"prefix\"),_vm.prefixIcon?_c(\"i\",{staticClass:\"el-input__icon\",class:_vm.prefixIcon}):_vm._e()],2):_vm._e(),_vm.getSuffixVisible()?_c(\"span\",{staticClass:\"el-input__suffix\"},[_c(\"span\",{staticClass:\"el-input__suffix-inner\"},[!_vm.showClear||!_vm.showPwdVisible||!_vm.isWordLimitVisible?[_vm._t(\"suffix\"),_vm.suffixIcon?_c(\"i\",{staticClass:\"el-input__icon\",class:_vm.suffixIcon}):_vm._e()]:_vm._e(),_vm.showClear?_c(\"i\",{staticClass:\"el-input__icon el-icon-circle-close el-input__clear\",on:{mousedown:function mousedown($event){$event.preventDefault();},click:_vm.clear}}):_vm._e(),_vm.showPwdVisible?_c(\"i\",{staticClass:\"el-input__icon el-icon-view el-input__clear\",on:{click:_vm.handlePasswordVisible}}):_vm._e(),_vm.isWordLimitVisible?_c(\"span\",{staticClass:\"el-input__count\"},[_c(\"span\",{staticClass:\"el-input__count-inner\"},[_vm._v(\"\\n            \"+_vm._s(_vm.textLength)+\"/\"+_vm._s(_vm.upperLimit)+\"\\n          \")])]):_vm._e()],2),_vm.validateState?_c(\"i\",{staticClass:\"el-input__icon\",class:[\"el-input__validateIcon\",_vm.validateIcon]}):_vm._e()]):_vm._e(),_vm.$slots.append?_c(\"div\",{staticClass:\"el-input-group__append\"},[_vm._t(\"append\")],2):_vm._e()]:_c(\"textarea\",_vm._b({ref:\"textarea\",staticClass:\"el-textarea__inner\",style:_vm.textareaStyle,attrs:{tabindex:_vm.tabindex,disabled:_vm.inputDisabled,readonly:_vm.readonly,autocomplete:_vm.autoComplete||_vm.autocomplete,\"aria-label\":_vm.label},on:{compositionstart:_vm.handleCompositionStart,compositionupdate:_vm.handleCompositionUpdate,compositionend:_vm.handleCompositionEnd,input:_vm.handleInput,focus:_vm.handleFocus,blur:_vm.handleBlur,change:_vm.handleChange}},\"textarea\",_vm.$attrs,false)),_vm.isWordLimitVisible&&_vm.type===\"textarea\"?_c(\"span\",{staticClass:\"el-input__count\"},[_vm._v(_vm._s(_vm.textLength)+\"/\"+_vm._s(_vm.upperLimit))]):_vm._e()],2);};var inputvue_type_template_id_343dd774_staticRenderFns=[];inputvue_type_template_id_343dd774_render._withStripped=true;// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&\n// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js\nvar hiddenTextarea=void 0;var HIDDEN_STYLE='\\n  height:0 !important;\\n  visibility:hidden !important;\\n  overflow:hidden !important;\\n  position:absolute !important;\\n  z-index:-1000 !important;\\n  top:0 !important;\\n  right:0 !important\\n';var CONTEXT_STYLE=['letter-spacing','line-height','padding-top','padding-bottom','font-family','font-weight','font-size','text-rendering','text-transform','width','text-indent','padding-left','padding-right','border-width','box-sizing'];function calculateNodeStyling(targetElement){var style=window.getComputedStyle(targetElement);var boxSizing=style.getPropertyValue('box-sizing');var paddingSize=parseFloat(style.getPropertyValue('padding-bottom'))+parseFloat(style.getPropertyValue('padding-top'));var borderSize=parseFloat(style.getPropertyValue('border-bottom-width'))+parseFloat(style.getPropertyValue('border-top-width'));var contextStyle=CONTEXT_STYLE.map(function(name){return name+':'+style.getPropertyValue(name);}).join(';');return{contextStyle:contextStyle,paddingSize:paddingSize,borderSize:borderSize,boxSizing:boxSizing};}function calcTextareaHeight(targetElement){var minRows=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var maxRows=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(!hiddenTextarea){hiddenTextarea=document.createElement('textarea');document.body.appendChild(hiddenTextarea);}var _calculateNodeStyling=calculateNodeStyling(targetElement),paddingSize=_calculateNodeStyling.paddingSize,borderSize=_calculateNodeStyling.borderSize,boxSizing=_calculateNodeStyling.boxSizing,contextStyle=_calculateNodeStyling.contextStyle;hiddenTextarea.setAttribute('style',contextStyle+';'+HIDDEN_STYLE);hiddenTextarea.value=targetElement.value||targetElement.placeholder||'';var height=hiddenTextarea.scrollHeight;var result={};if(boxSizing==='border-box'){height=height+borderSize;}else if(boxSizing==='content-box'){height=height-paddingSize;}hiddenTextarea.value='';var singleRowHeight=hiddenTextarea.scrollHeight-paddingSize;if(minRows!==null){var minHeight=singleRowHeight*minRows;if(boxSizing==='border-box'){minHeight=minHeight+paddingSize+borderSize;}height=Math.max(minHeight,height);result.minHeight=minHeight+'px';}if(maxRows!==null){var maxHeight=singleRowHeight*maxRows;if(boxSizing==='border-box'){maxHeight=maxHeight+paddingSize+borderSize;}height=Math.min(maxHeight,height);}result.height=height+'px';hiddenTextarea.parentNode&&hiddenTextarea.parentNode.removeChild(hiddenTextarea);hiddenTextarea=null;return result;};// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_=__webpack_require__(7);var merge_default=/*#__PURE__*/__webpack_require__.n(merge_);// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_=__webpack_require__(19);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var inputvue_type_script_lang_js_={name:'ElInput',componentName:'ElInput',mixins:[emitter_default.a,migrating_default.a],inheritAttrs:false,inject:{elForm:{default:''},elFormItem:{default:''}},data:function data(){return{textareaCalcStyle:{},hovering:false,focused:false,isComposing:false,passwordVisible:false};},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:'text'},autosize:{type:[Boolean,Object],default:false},autocomplete:{type:String,default:'off'},/** @Deprecated in next major version */autoComplete:{type:String,validator:function validator(val){ false&&false;return true;}},validateEvent:{type:Boolean,default:true},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:false},showPassword:{type:Boolean,default:false},showWordLimit:{type:Boolean,default:false},tabindex:String},computed:{_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},validateState:function validateState(){return this.elFormItem?this.elFormItem.validateState:'';},needStatusIcon:function needStatusIcon(){return this.elForm?this.elForm.statusIcon:false;},validateIcon:function validateIcon(){return{validating:'el-icon-loading',success:'el-icon-circle-check',error:'el-icon-circle-close'}[this.validateState];},textareaStyle:function textareaStyle(){return merge_default()({},this.textareaCalcStyle,{resize:this.resize});},inputSize:function inputSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;},inputDisabled:function inputDisabled(){return this.disabled||(this.elForm||{}).disabled;},nativeInputValue:function nativeInputValue(){return this.value===null||this.value===undefined?'':String(this.value);},showClear:function showClear(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering);},showPwdVisible:function showPwdVisible(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused);},isWordLimitVisible:function isWordLimitVisible(){return this.showWordLimit&&this.$attrs.maxlength&&(this.type==='text'||this.type==='textarea')&&!this.inputDisabled&&!this.readonly&&!this.showPassword;},upperLimit:function upperLimit(){return this.$attrs.maxlength;},textLength:function textLength(){if(typeof this.value==='number'){return String(this.value).length;}return(this.value||'').length;},inputExceed:function inputExceed(){// show exceed style if length of initial value greater then maxlength\nreturn this.isWordLimitVisible&&this.textLength>this.upperLimit;}},watch:{value:function value(val){this.$nextTick(this.resizeTextarea);if(this.validateEvent){this.dispatch('ElFormItem','el.form.change',[val]);}},// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nnativeInputValue:function nativeInputValue(){this.setNativeInputValue();},// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\ntype:function type(){var _this=this;this.$nextTick(function(){_this.setNativeInputValue();_this.resizeTextarea();_this.updateIconOffset();});}},methods:{focus:function focus(){this.getInput().focus();},blur:function blur(){this.getInput().blur();},getMigratingConfig:function getMigratingConfig(){return{props:{'icon':'icon is removed, use suffix-icon / prefix-icon instead.','on-icon-click':'on-icon-click is removed.'},events:{'click':'click is removed.'}};},handleBlur:function handleBlur(event){this.focused=false;this.$emit('blur',event);if(this.validateEvent){this.dispatch('ElFormItem','el.form.blur',[this.value]);}},select:function select(){this.getInput().select();},resizeTextarea:function resizeTextarea(){if(this.$isServer)return;var autosize=this.autosize,type=this.type;if(type!=='textarea')return;if(!autosize){this.textareaCalcStyle={minHeight:calcTextareaHeight(this.$refs.textarea).minHeight};return;}var minRows=autosize.minRows;var maxRows=autosize.maxRows;this.textareaCalcStyle=calcTextareaHeight(this.$refs.textarea,minRows,maxRows);},setNativeInputValue:function setNativeInputValue(){var input=this.getInput();if(!input)return;if(input.value===this.nativeInputValue)return;input.value=this.nativeInputValue;},handleFocus:function handleFocus(event){this.focused=true;this.$emit('focus',event);},handleCompositionStart:function handleCompositionStart(event){this.$emit('compositionstart',event);this.isComposing=true;},handleCompositionUpdate:function handleCompositionUpdate(event){this.$emit('compositionupdate',event);var text=event.target.value;var lastCharacter=text[text.length-1]||'';this.isComposing=!Object(shared_[\"isKorean\"])(lastCharacter);},handleCompositionEnd:function handleCompositionEnd(event){this.$emit('compositionend',event);if(this.isComposing){this.isComposing=false;this.handleInput(event);}},handleInput:function handleInput(event){// should not emit input during composition\n// see: https://github.com/ElemeFE/element/issues/10516\nif(this.isComposing)return;// hack for https://github.com/ElemeFE/element/issues/8548\n// should remove the following line when we don't support IE\nif(event.target.value===this.nativeInputValue)return;this.$emit('input',event.target.value);// ensure native input value is controlled\n// see: https://github.com/ElemeFE/element/issues/12850\nthis.$nextTick(this.setNativeInputValue);},handleChange:function handleChange(event){this.$emit('change',event.target.value);},calcIconOffset:function calcIconOffset(place){var elList=[].slice.call(this.$el.querySelectorAll('.el-input__'+place)||[]);if(!elList.length)return;var el=null;for(var i=0;i<elList.length;i++){if(elList[i].parentNode===this.$el){el=elList[i];break;}}if(!el)return;var pendantMap={suffix:'append',prefix:'prepend'};var pendant=pendantMap[place];if(this.$slots[pendant]){el.style.transform='translateX('+(place==='suffix'?'-':'')+this.$el.querySelector('.el-input-group__'+pendant).offsetWidth+'px)';}else{el.removeAttribute('style');}},updateIconOffset:function updateIconOffset(){this.calcIconOffset('prefix');this.calcIconOffset('suffix');},clear:function clear(){this.$emit('input','');this.$emit('change','');this.$emit('clear');},handlePasswordVisible:function handlePasswordVisible(){var _this2=this;this.passwordVisible=!this.passwordVisible;this.$nextTick(function(){_this2.focus();});},getInput:function getInput(){return this.$refs.input||this.$refs.textarea;},getSuffixVisible:function getSuffixVisible(){return this.$slots.suffix||this.suffixIcon||this.showClear||this.showPassword||this.isWordLimitVisible||this.validateState&&this.needStatusIcon;}},created:function created(){this.$on('inputSelect',this.select);},mounted:function mounted(){this.setNativeInputValue();this.resizeTextarea();this.updateIconOffset();},updated:function updated(){this.$nextTick(this.updateIconOffset);}};// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js&\n/* harmony default export */var src_inputvue_type_script_lang_js_=inputvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/input/src/input.vue\n/* normalize component */var input_component=normalizeComponent(src_inputvue_type_script_lang_js_,inputvue_type_template_id_343dd774_render,inputvue_type_template_id_343dd774_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var input_api; }input_component.options.__file=\"packages/input/src/input.vue\";/* harmony default export */var src_input=input_component.exports;// CONCATENATED MODULE: ./packages/input/index.js\n/* istanbul ignore next */src_input.install=function(Vue){Vue.component(src_input.name,src_input);};/* harmony default export */var packages_input=src_input;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\nvar input_numbervue_type_template_id_42f8cf66_render=function input_numbervue_type_template_id_42f8cf66_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{class:[\"el-input-number\",_vm.inputNumberSize?\"el-input-number--\"+_vm.inputNumberSize:\"\",{\"is-disabled\":_vm.inputNumberDisabled},{\"is-without-controls\":!_vm.controls},{\"is-controls-right\":_vm.controlsAtRight}],on:{dragstart:function dragstart($event){$event.preventDefault();}}},[_vm.controls?_c(\"span\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.decrease,expression:\"decrease\"}],staticClass:\"el-input-number__decrease\",class:{\"is-disabled\":_vm.minDisabled},attrs:{role:\"button\"},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}return _vm.decrease($event);}}},[_c(\"i\",{class:\"el-icon-\"+(_vm.controlsAtRight?\"arrow-down\":\"minus\")})]):_vm._e(),_vm.controls?_c(\"span\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.increase,expression:\"increase\"}],staticClass:\"el-input-number__increase\",class:{\"is-disabled\":_vm.maxDisabled},attrs:{role:\"button\"},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}return _vm.increase($event);}}},[_c(\"i\",{class:\"el-icon-\"+(_vm.controlsAtRight?\"arrow-up\":\"plus\")})]):_vm._e(),_c(\"el-input\",{ref:\"input\",attrs:{value:_vm.displayValue,placeholder:_vm.placeholder,disabled:_vm.inputNumberDisabled,size:_vm.inputNumberSize,max:_vm.max,min:_vm.min,name:_vm.name,label:_vm.label},on:{blur:_vm.handleBlur,focus:_vm.handleFocus,input:_vm.handleInput,change:_vm.handleInputChange},nativeOn:{keydown:[function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){return null;}$event.preventDefault();return _vm.increase($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){return null;}$event.preventDefault();return _vm.decrease($event);}]}})],1);};var input_numbervue_type_template_id_42f8cf66_staticRenderFns=[];input_numbervue_type_template_id_42f8cf66_render._withStripped=true;// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\n// CONCATENATED MODULE: ./src/directives/repeat-click.js\n/* harmony default export */var repeat_click={bind:function bind(el,binding,vnode){var interval=null;var startTime=void 0;var handler=function handler(){return vnode.context[binding.expression].apply();};var clear=function clear(){if(Date.now()-startTime<100){handler();}clearInterval(interval);interval=null;};Object(dom_[\"on\"])(el,'mousedown',function(e){if(e.button!==0)return;startTime=Date.now();Object(dom_[\"once\"])(document,'mouseup',clear);clearInterval(interval);interval=setInterval(handler,100);});}};// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var input_numbervue_type_script_lang_js_={name:'ElInputNumber',mixins:[focus_default()('input')],inject:{elForm:{default:''},elFormItem:{default:''}},directives:{repeatClick:repeat_click},components:{ElInput:input_default.a},props:{step:{type:Number,default:1},stepStrictly:{type:Boolean,default:false},max:{type:Number,default:Infinity},min:{type:Number,default:-Infinity},value:{},disabled:Boolean,size:String,controls:{type:Boolean,default:true},controlsPosition:{type:String,default:''},name:String,label:String,placeholder:String,precision:{type:Number,validator:function validator(val){return val>=0&&val===parseInt(val,10);}}},data:function data(){return{currentValue:0,userInput:null};},watch:{value:{immediate:true,handler:function handler(value){var newVal=value===undefined?value:Number(value);if(newVal!==undefined){if(isNaN(newVal)){return;}if(this.stepStrictly){var stepPrecision=this.getPrecision(this.step);var precisionFactor=Math.pow(10,stepPrecision);newVal=Math.round(newVal/this.step)*precisionFactor*this.step/precisionFactor;}if(this.precision!==undefined){newVal=this.toPrecision(newVal,this.precision);}}if(newVal>=this.max)newVal=this.max;if(newVal<=this.min)newVal=this.min;this.currentValue=newVal;this.userInput=null;this.$emit('input',newVal);}}},computed:{minDisabled:function minDisabled(){return this._decrease(this.value,this.step)<this.min;},maxDisabled:function maxDisabled(){return this._increase(this.value,this.step)>this.max;},numPrecision:function numPrecision(){var value=this.value,step=this.step,getPrecision=this.getPrecision,precision=this.precision;var stepPrecision=getPrecision(step);if(precision!==undefined){if(stepPrecision>precision){console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step');}return precision;}else{return Math.max(getPrecision(value),stepPrecision);}},controlsAtRight:function controlsAtRight(){return this.controls&&this.controlsPosition==='right';},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},inputNumberSize:function inputNumberSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;},inputNumberDisabled:function inputNumberDisabled(){return this.disabled||!!(this.elForm||{}).disabled;},displayValue:function displayValue(){if(this.userInput!==null){return this.userInput;}var currentValue=this.currentValue;if(typeof currentValue==='number'){if(this.stepStrictly){var stepPrecision=this.getPrecision(this.step);var precisionFactor=Math.pow(10,stepPrecision);currentValue=Math.round(currentValue/this.step)*precisionFactor*this.step/precisionFactor;}if(this.precision!==undefined){currentValue=currentValue.toFixed(this.precision);}}return currentValue;}},methods:{toPrecision:function toPrecision(num,precision){if(precision===undefined)precision=this.numPrecision;return parseFloat(Math.round(num*Math.pow(10,precision))/Math.pow(10,precision));},getPrecision:function getPrecision(value){if(value===undefined)return 0;var valueString=value.toString();var dotPosition=valueString.indexOf('.');var precision=0;if(dotPosition!==-1){precision=valueString.length-dotPosition-1;}return precision;},_increase:function _increase(val,step){if(typeof val!=='number'&&val!==undefined)return this.currentValue;var precisionFactor=Math.pow(10,this.numPrecision);// Solve the accuracy problem of JS decimal calculation by converting the value to integer.\nreturn this.toPrecision((precisionFactor*val+precisionFactor*step)/precisionFactor);},_decrease:function _decrease(val,step){if(typeof val!=='number'&&val!==undefined)return this.currentValue;var precisionFactor=Math.pow(10,this.numPrecision);return this.toPrecision((precisionFactor*val-precisionFactor*step)/precisionFactor);},increase:function increase(){if(this.inputNumberDisabled||this.maxDisabled)return;var value=this.value||0;var newVal=this._increase(value,this.step);this.setCurrentValue(newVal);},decrease:function decrease(){if(this.inputNumberDisabled||this.minDisabled)return;var value=this.value||0;var newVal=this._decrease(value,this.step);this.setCurrentValue(newVal);},handleBlur:function handleBlur(event){this.$emit('blur',event);},handleFocus:function handleFocus(event){this.$emit('focus',event);},setCurrentValue:function setCurrentValue(newVal){var oldVal=this.currentValue;if(typeof newVal==='number'&&this.precision!==undefined){newVal=this.toPrecision(newVal,this.precision);}if(newVal>=this.max)newVal=this.max;if(newVal<=this.min)newVal=this.min;if(oldVal===newVal)return;this.userInput=null;this.$emit('input',newVal);this.$emit('change',newVal,oldVal);this.currentValue=newVal;},handleInput:function handleInput(value){this.userInput=value;},handleInputChange:function handleInputChange(value){var newVal=value===''?undefined:Number(value);if(!isNaN(newVal)||value===''){this.setCurrentValue(newVal);}this.userInput=null;},select:function select(){this.$refs.input.select();}},mounted:function mounted(){var innerInput=this.$refs.input.$refs.input;innerInput.setAttribute('role','spinbutton');innerInput.setAttribute('aria-valuemax',this.max);innerInput.setAttribute('aria-valuemin',this.min);innerInput.setAttribute('aria-valuenow',this.currentValue);innerInput.setAttribute('aria-disabled',this.inputNumberDisabled);},updated:function updated(){if(!this.$refs||!this.$refs.input)return;var innerInput=this.$refs.input.$refs.input;innerInput.setAttribute('aria-valuenow',this.currentValue);}};// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n/* harmony default export */var src_input_numbervue_type_script_lang_js_=input_numbervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue\n/* normalize component */var input_number_component=normalizeComponent(src_input_numbervue_type_script_lang_js_,input_numbervue_type_template_id_42f8cf66_render,input_numbervue_type_template_id_42f8cf66_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var input_number_api; }input_number_component.options.__file=\"packages/input-number/src/input-number.vue\";/* harmony default export */var input_number=input_number_component.exports;// CONCATENATED MODULE: ./packages/input-number/index.js\n/* istanbul ignore next */input_number.install=function(Vue){Vue.component(input_number.name,input_number);};/* harmony default export */var packages_input_number=input_number;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=template&id=69cd6268&\nvar radiovue_type_template_id_69cd6268_render=function radiovue_type_template_id_69cd6268_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"label\",{staticClass:\"el-radio\",class:[_vm.border&&_vm.radioSize?\"el-radio--\"+_vm.radioSize:\"\",{\"is-disabled\":_vm.isDisabled},{\"is-focus\":_vm.focus},{\"is-bordered\":_vm.border},{\"is-checked\":_vm.model===_vm.label}],attrs:{role:\"radio\",\"aria-checked\":_vm.model===_vm.label,\"aria-disabled\":_vm.isDisabled,tabindex:_vm.tabIndex},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){return null;}$event.stopPropagation();$event.preventDefault();_vm.model=_vm.isDisabled?_vm.model:_vm.label;}}},[_c(\"span\",{staticClass:\"el-radio__input\",class:{\"is-disabled\":_vm.isDisabled,\"is-checked\":_vm.model===_vm.label}},[_c(\"span\",{staticClass:\"el-radio__inner\"}),_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.model,expression:\"model\"}],ref:\"radio\",staticClass:\"el-radio__original\",attrs:{type:\"radio\",\"aria-hidden\":\"true\",name:_vm.name,disabled:_vm.isDisabled,tabindex:\"-1\",autocomplete:\"off\"},domProps:{value:_vm.label,checked:_vm._q(_vm.model,_vm.label)},on:{focus:function focus($event){_vm.focus=true;},blur:function blur($event){_vm.focus=false;},change:[function($event){_vm.model=_vm.label;},_vm.handleChange]}})]),_c(\"span\",{staticClass:\"el-radio__label\",on:{keydown:function keydown($event){$event.stopPropagation();}}},[_vm._t(\"default\"),!_vm.$slots.default?[_vm._v(_vm._s(_vm.label))]:_vm._e()],2)]);};var radiovue_type_template_id_69cd6268_staticRenderFns=[];radiovue_type_template_id_69cd6268_render._withStripped=true;// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=template&id=69cd6268&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var radiovue_type_script_lang_js_={name:'ElRadio',mixins:[emitter_default.a],inject:{elForm:{default:''},elFormItem:{default:''}},componentName:'ElRadio',props:{value:{},label:{},disabled:Boolean,name:String,border:Boolean,size:String},data:function data(){return{focus:false};},computed:{isGroup:function isGroup(){var parent=this.$parent;while(parent){if(parent.$options.componentName!=='ElRadioGroup'){parent=parent.$parent;}else{this._radioGroup=parent;return true;}}return false;},model:{get:function get(){return this.isGroup?this._radioGroup.value:this.value;},set:function set(val){if(this.isGroup){this.dispatch('ElRadioGroup','input',[val]);}else{this.$emit('input',val);}this.$refs.radio&&(this.$refs.radio.checked=this.model===this.label);}},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},radioSize:function radioSize(){var temRadioSize=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup?this._radioGroup.radioGroupSize||temRadioSize:temRadioSize;},isDisabled:function isDisabled(){return this.isGroup?this._radioGroup.disabled||this.disabled||(this.elForm||{}).disabled:this.disabled||(this.elForm||{}).disabled;},tabIndex:function tabIndex(){return this.isDisabled||this.isGroup&&this.model!==this.label?-1:0;}},methods:{handleChange:function handleChange(){var _this=this;this.$nextTick(function(){_this.$emit('change',_this.model);_this.isGroup&&_this.dispatch('ElRadioGroup','handleChange',_this.model);});}}};// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=script&lang=js&\n/* harmony default export */var src_radiovue_type_script_lang_js_=radiovue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/radio/src/radio.vue\n/* normalize component */var radio_component=normalizeComponent(src_radiovue_type_script_lang_js_,radiovue_type_template_id_69cd6268_render,radiovue_type_template_id_69cd6268_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var radio_api; }radio_component.options.__file=\"packages/radio/src/radio.vue\";/* harmony default export */var src_radio=radio_component.exports;// CONCATENATED MODULE: ./packages/radio/index.js\n/* istanbul ignore next */src_radio.install=function(Vue){Vue.component(src_radio.name,src_radio);};/* harmony default export */var packages_radio=src_radio;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-group.vue?vue&type=template&id=818a704c&\nvar radio_groupvue_type_template_id_818a704c_render=function radio_groupvue_type_template_id_818a704c_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm._elTag,{tag:\"component\",staticClass:\"el-radio-group\",attrs:{role:\"radiogroup\"},on:{keydown:_vm.handleKeydown}},[_vm._t(\"default\")],2);};var radio_groupvue_type_template_id_818a704c_staticRenderFns=[];radio_groupvue_type_template_id_818a704c_render._withStripped=true;// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue?vue&type=template&id=818a704c&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-group.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar keyCode=Object.freeze({LEFT:37,UP:38,RIGHT:39,DOWN:40});/* harmony default export */var radio_groupvue_type_script_lang_js_={name:'ElRadioGroup',componentName:'ElRadioGroup',inject:{elFormItem:{default:''}},mixins:[emitter_default.a],props:{value:{},size:String,fill:String,textColor:String,disabled:Boolean},computed:{_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},_elTag:function _elTag(){var tag=(this.$vnode.data||{}).tag;if(!tag||tag==='component')tag='div';return tag;},radioGroupSize:function radioGroupSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;}},created:function created(){var _this=this;this.$on('handleChange',function(value){_this.$emit('change',value);});},mounted:function mounted(){// 当radioGroup没有默认选项时，第一个可以选中Tab导航\nvar radios=this.$el.querySelectorAll('[type=radio]');var firstLabel=this.$el.querySelectorAll('[role=radio]')[0];if(![].some.call(radios,function(radio){return radio.checked;})&&firstLabel){firstLabel.tabIndex=0;}},methods:{handleKeydown:function handleKeydown(e){// 左右上下按键 可以在radio组内切换不同选项\nvar target=e.target;var className=target.nodeName==='INPUT'?'[type=radio]':'[role=radio]';var radios=this.$el.querySelectorAll(className);var length=radios.length;var index=[].indexOf.call(radios,target);var roleRadios=this.$el.querySelectorAll('[role=radio]');switch(e.keyCode){case keyCode.LEFT:case keyCode.UP:e.stopPropagation();e.preventDefault();if(index===0){roleRadios[length-1].click();roleRadios[length-1].focus();}else{roleRadios[index-1].click();roleRadios[index-1].focus();}break;case keyCode.RIGHT:case keyCode.DOWN:if(index===length-1){e.stopPropagation();e.preventDefault();roleRadios[0].click();roleRadios[0].focus();}else{roleRadios[index+1].click();roleRadios[index+1].focus();}break;default:break;}}},watch:{value:function value(_value){this.dispatch('ElFormItem','el.form.change',[this.value]);}}};// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue?vue&type=script&lang=js&\n/* harmony default export */var src_radio_groupvue_type_script_lang_js_=radio_groupvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue\n/* normalize component */var radio_group_component=normalizeComponent(src_radio_groupvue_type_script_lang_js_,radio_groupvue_type_template_id_818a704c_render,radio_groupvue_type_template_id_818a704c_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var radio_group_api; }radio_group_component.options.__file=\"packages/radio/src/radio-group.vue\";/* harmony default export */var radio_group=radio_group_component.exports;// CONCATENATED MODULE: ./packages/radio-group/index.js\n/* istanbul ignore next */radio_group.install=function(Vue){Vue.component(radio_group.name,radio_group);};/* harmony default export */var packages_radio_group=radio_group;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-button.vue?vue&type=template&id=18a77a32&\nvar radio_buttonvue_type_template_id_18a77a32_render=function radio_buttonvue_type_template_id_18a77a32_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"label\",{staticClass:\"el-radio-button\",class:[_vm.size?\"el-radio-button--\"+_vm.size:\"\",{\"is-active\":_vm.value===_vm.label},{\"is-disabled\":_vm.isDisabled},{\"is-focus\":_vm.focus}],attrs:{role:\"radio\",\"aria-checked\":_vm.value===_vm.label,\"aria-disabled\":_vm.isDisabled,tabindex:_vm.tabIndex},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){return null;}$event.stopPropagation();$event.preventDefault();_vm.value=_vm.isDisabled?_vm.value:_vm.label;}}},[_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.value,expression:\"value\"}],staticClass:\"el-radio-button__orig-radio\",attrs:{type:\"radio\",name:_vm.name,disabled:_vm.isDisabled,tabindex:\"-1\",autocomplete:\"off\"},domProps:{value:_vm.label,checked:_vm._q(_vm.value,_vm.label)},on:{change:[function($event){_vm.value=_vm.label;},_vm.handleChange],focus:function focus($event){_vm.focus=true;},blur:function blur($event){_vm.focus=false;}}}),_c(\"span\",{staticClass:\"el-radio-button__inner\",style:_vm.value===_vm.label?_vm.activeStyle:null,on:{keydown:function keydown($event){$event.stopPropagation();}}},[_vm._t(\"default\"),!_vm.$slots.default?[_vm._v(_vm._s(_vm.label))]:_vm._e()],2)]);};var radio_buttonvue_type_template_id_18a77a32_staticRenderFns=[];radio_buttonvue_type_template_id_18a77a32_render._withStripped=true;// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue?vue&type=template&id=18a77a32&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var radio_buttonvue_type_script_lang_js_={name:'ElRadioButton',mixins:[emitter_default.a],inject:{elForm:{default:''},elFormItem:{default:''}},props:{label:{},disabled:Boolean,name:String},data:function data(){return{focus:false};},computed:{value:{get:function get(){return this._radioGroup.value;},set:function set(value){this._radioGroup.$emit('input',value);}},_radioGroup:function _radioGroup(){var parent=this.$parent;while(parent){if(parent.$options.componentName!=='ElRadioGroup'){parent=parent.$parent;}else{return parent;}}return false;},activeStyle:function activeStyle(){return{backgroundColor:this._radioGroup.fill||'',borderColor:this._radioGroup.fill||'',boxShadow:this._radioGroup.fill?'-1px 0 0 0 '+this._radioGroup.fill:'',color:this._radioGroup.textColor||''};},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},size:function size(){return this._radioGroup.radioGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size;},isDisabled:function isDisabled(){return this.disabled||this._radioGroup.disabled||(this.elForm||{}).disabled;},tabIndex:function tabIndex(){return this.isDisabled||this._radioGroup&&this.value!==this.label?-1:0;}},methods:{handleChange:function handleChange(){var _this=this;this.$nextTick(function(){_this.dispatch('ElRadioGroup','handleChange',_this.value);});}}};// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue?vue&type=script&lang=js&\n/* harmony default export */var src_radio_buttonvue_type_script_lang_js_=radio_buttonvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue\n/* normalize component */var radio_button_component=normalizeComponent(src_radio_buttonvue_type_script_lang_js_,radio_buttonvue_type_template_id_18a77a32_render,radio_buttonvue_type_template_id_18a77a32_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var radio_button_api; }radio_button_component.options.__file=\"packages/radio/src/radio-button.vue\";/* harmony default export */var radio_button=radio_button_component.exports;// CONCATENATED MODULE: ./packages/radio-button/index.js\n/* istanbul ignore next */radio_button.install=function(Vue){Vue.component(radio_button.name,radio_button);};/* harmony default export */var packages_radio_button=radio_button;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\nvar checkboxvue_type_template_id_d0387074_render=function checkboxvue_type_template_id_d0387074_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"label\",{staticClass:\"el-checkbox\",class:[_vm.border&&_vm.checkboxSize?\"el-checkbox--\"+_vm.checkboxSize:\"\",{\"is-disabled\":_vm.isDisabled},{\"is-bordered\":_vm.border},{\"is-checked\":_vm.isChecked}],attrs:{id:_vm.id}},[_c(\"span\",{staticClass:\"el-checkbox__input\",class:{\"is-disabled\":_vm.isDisabled,\"is-checked\":_vm.isChecked,\"is-indeterminate\":_vm.indeterminate,\"is-focus\":_vm.focus},attrs:{tabindex:_vm.indeterminate?0:false,role:_vm.indeterminate?\"checkbox\":false,\"aria-checked\":_vm.indeterminate?\"mixed\":false}},[_c(\"span\",{staticClass:\"el-checkbox__inner\"}),_vm.trueLabel||_vm.falseLabel?_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.model,expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{type:\"checkbox\",\"aria-hidden\":_vm.indeterminate?\"true\":\"false\",name:_vm.name,disabled:_vm.isDisabled,\"true-value\":_vm.trueLabel,\"false-value\":_vm.falseLabel},domProps:{checked:Array.isArray(_vm.model)?_vm._i(_vm.model,null)>-1:_vm._q(_vm.model,_vm.trueLabel)},on:{change:[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?_vm.trueLabel:_vm.falseLabel;if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]));}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)));}}else{_vm.model=$$c;}},_vm.handleChange],focus:function focus($event){_vm.focus=true;},blur:function blur($event){_vm.focus=false;}}}):_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.model,expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{type:\"checkbox\",\"aria-hidden\":_vm.indeterminate?\"true\":\"false\",disabled:_vm.isDisabled,name:_vm.name},domProps:{value:_vm.label,checked:Array.isArray(_vm.model)?_vm._i(_vm.model,_vm.label)>-1:_vm.model},on:{change:[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?true:false;if(Array.isArray($$a)){var $$v=_vm.label,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]));}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)));}}else{_vm.model=$$c;}},_vm.handleChange],focus:function focus($event){_vm.focus=true;},blur:function blur($event){_vm.focus=false;}}})]),_vm.$slots.default||_vm.label?_c(\"span\",{staticClass:\"el-checkbox__label\"},[_vm._t(\"default\"),!_vm.$slots.default?[_vm._v(_vm._s(_vm.label))]:_vm._e()],2):_vm._e()]);};var checkboxvue_type_template_id_d0387074_staticRenderFns=[];checkboxvue_type_template_id_d0387074_render._withStripped=true;// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var checkboxvue_type_script_lang_js_={name:'ElCheckbox',mixins:[emitter_default.a],inject:{elForm:{default:''},elFormItem:{default:''}},componentName:'ElCheckbox',data:function data(){return{selfModel:false,focus:false,isLimitExceeded:false};},computed:{model:{get:function get(){return this.isGroup?this.store:this.value!==undefined?this.value:this.selfModel;},set:function set(val){if(this.isGroup){this.isLimitExceeded=false;this._checkboxGroup.min!==undefined&&val.length<this._checkboxGroup.min&&(this.isLimitExceeded=true);this._checkboxGroup.max!==undefined&&val.length>this._checkboxGroup.max&&(this.isLimitExceeded=true);this.isLimitExceeded===false&&this.dispatch('ElCheckboxGroup','input',[val]);}else{this.$emit('input',val);this.selfModel=val;}}},isChecked:function isChecked(){if({}.toString.call(this.model)==='[object Boolean]'){return this.model;}else if(Array.isArray(this.model)){return this.model.indexOf(this.label)>-1;}else if(this.model!==null&&this.model!==undefined){return this.model===this.trueLabel;}},isGroup:function isGroup(){var parent=this.$parent;while(parent){if(parent.$options.componentName!=='ElCheckboxGroup'){parent=parent.$parent;}else{this._checkboxGroup=parent;return true;}}return false;},store:function store(){return this._checkboxGroup?this._checkboxGroup.value:this.value;},/* used to make the isDisabled judgment under max/min props */isLimitDisabled:function isLimitDisabled(){var _checkboxGroup=this._checkboxGroup,max=_checkboxGroup.max,min=_checkboxGroup.min;return!!(max||min)&&this.model.length>=max&&!this.isChecked||this.model.length<=min&&this.isChecked;},isDisabled:function isDisabled(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled;},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},checkboxSize:function checkboxSize(){var temCheckboxSize=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup?this._checkboxGroup.checkboxGroupSize||temCheckboxSize:temCheckboxSize;}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,/* 当indeterminate为真时，为controls提供相关连的checkbox的id，表明元素间的控制关系*/controls:String,/* 当indeterminate为真时，为controls提供相关连的checkbox的id，表明元素间的控制关系*/border:Boolean,size:String},methods:{addToStore:function addToStore(){if(Array.isArray(this.model)&&this.model.indexOf(this.label)===-1){this.model.push(this.label);}else{this.model=this.trueLabel||true;}},handleChange:function handleChange(ev){var _this=this;if(this.isLimitExceeded)return;var value=void 0;if(ev.target.checked){value=this.trueLabel===undefined?true:this.trueLabel;}else{value=this.falseLabel===undefined?false:this.falseLabel;}this.$emit('change',value,ev);this.$nextTick(function(){if(_this.isGroup){_this.dispatch('ElCheckboxGroup','change',[_this._checkboxGroup.value]);}});}},created:function created(){this.checked&&this.addToStore();},mounted:function mounted(){// 为indeterminate元素 添加aria-controls 属性\nif(this.indeterminate){this.$el.setAttribute('aria-controls',this.controls);}},watch:{value:function value(_value){this.dispatch('ElFormItem','el.form.change',_value);}}};// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n/* harmony default export */var src_checkboxvue_type_script_lang_js_=checkboxvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue\n/* normalize component */var checkbox_component=normalizeComponent(src_checkboxvue_type_script_lang_js_,checkboxvue_type_template_id_d0387074_render,checkboxvue_type_template_id_d0387074_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var checkbox_api; }checkbox_component.options.__file=\"packages/checkbox/src/checkbox.vue\";/* harmony default export */var src_checkbox=checkbox_component.exports;// CONCATENATED MODULE: ./packages/checkbox/index.js\n/* istanbul ignore next */src_checkbox.install=function(Vue){Vue.component(src_checkbox.name,src_checkbox);};/* harmony default export */var packages_checkbox=src_checkbox;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-button.vue?vue&type=template&id=478e906e&\nvar checkbox_buttonvue_type_template_id_478e906e_render=function checkbox_buttonvue_type_template_id_478e906e_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"label\",{staticClass:\"el-checkbox-button\",class:[_vm.size?\"el-checkbox-button--\"+_vm.size:\"\",{\"is-disabled\":_vm.isDisabled},{\"is-checked\":_vm.isChecked},{\"is-focus\":_vm.focus}],attrs:{role:\"checkbox\",\"aria-checked\":_vm.isChecked,\"aria-disabled\":_vm.isDisabled}},[_vm.trueLabel||_vm.falseLabel?_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.model,expression:\"model\"}],staticClass:\"el-checkbox-button__original\",attrs:{type:\"checkbox\",name:_vm.name,disabled:_vm.isDisabled,\"true-value\":_vm.trueLabel,\"false-value\":_vm.falseLabel},domProps:{checked:Array.isArray(_vm.model)?_vm._i(_vm.model,null)>-1:_vm._q(_vm.model,_vm.trueLabel)},on:{change:[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?_vm.trueLabel:_vm.falseLabel;if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]));}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)));}}else{_vm.model=$$c;}},_vm.handleChange],focus:function focus($event){_vm.focus=true;},blur:function blur($event){_vm.focus=false;}}}):_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.model,expression:\"model\"}],staticClass:\"el-checkbox-button__original\",attrs:{type:\"checkbox\",name:_vm.name,disabled:_vm.isDisabled},domProps:{value:_vm.label,checked:Array.isArray(_vm.model)?_vm._i(_vm.model,_vm.label)>-1:_vm.model},on:{change:[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?true:false;if(Array.isArray($$a)){var $$v=_vm.label,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]));}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)));}}else{_vm.model=$$c;}},_vm.handleChange],focus:function focus($event){_vm.focus=true;},blur:function blur($event){_vm.focus=false;}}}),_vm.$slots.default||_vm.label?_c(\"span\",{staticClass:\"el-checkbox-button__inner\",style:_vm.isChecked?_vm.activeStyle:null},[_vm._t(\"default\",[_vm._v(_vm._s(_vm.label))])],2):_vm._e()]);};var checkbox_buttonvue_type_template_id_478e906e_staticRenderFns=[];checkbox_buttonvue_type_template_id_478e906e_render._withStripped=true;// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue?vue&type=template&id=478e906e&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var checkbox_buttonvue_type_script_lang_js_={name:'ElCheckboxButton',mixins:[emitter_default.a],inject:{elForm:{default:''},elFormItem:{default:''}},data:function data(){return{selfModel:false,focus:false,isLimitExceeded:false};},props:{value:{},label:{},disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number]},computed:{model:{get:function get(){return this._checkboxGroup?this.store:this.value!==undefined?this.value:this.selfModel;},set:function set(val){if(this._checkboxGroup){this.isLimitExceeded=false;this._checkboxGroup.min!==undefined&&val.length<this._checkboxGroup.min&&(this.isLimitExceeded=true);this._checkboxGroup.max!==undefined&&val.length>this._checkboxGroup.max&&(this.isLimitExceeded=true);this.isLimitExceeded===false&&this.dispatch('ElCheckboxGroup','input',[val]);}else if(this.value!==undefined){this.$emit('input',val);}else{this.selfModel=val;}}},isChecked:function isChecked(){if({}.toString.call(this.model)==='[object Boolean]'){return this.model;}else if(Array.isArray(this.model)){return this.model.indexOf(this.label)>-1;}else if(this.model!==null&&this.model!==undefined){return this.model===this.trueLabel;}},_checkboxGroup:function _checkboxGroup(){var parent=this.$parent;while(parent){if(parent.$options.componentName!=='ElCheckboxGroup'){parent=parent.$parent;}else{return parent;}}return false;},store:function store(){return this._checkboxGroup?this._checkboxGroup.value:this.value;},activeStyle:function activeStyle(){return{backgroundColor:this._checkboxGroup.fill||'',borderColor:this._checkboxGroup.fill||'',color:this._checkboxGroup.textColor||'','box-shadow':'-1px 0 0 0 '+this._checkboxGroup.fill};},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},size:function size(){return this._checkboxGroup.checkboxGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size;},/* used to make the isDisabled judgment under max/min props */isLimitDisabled:function isLimitDisabled(){var _checkboxGroup2=this._checkboxGroup,max=_checkboxGroup2.max,min=_checkboxGroup2.min;return!!(max||min)&&this.model.length>=max&&!this.isChecked||this.model.length<=min&&this.isChecked;},isDisabled:function isDisabled(){return this._checkboxGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled;}},methods:{addToStore:function addToStore(){if(Array.isArray(this.model)&&this.model.indexOf(this.label)===-1){this.model.push(this.label);}else{this.model=this.trueLabel||true;}},handleChange:function handleChange(ev){var _this=this;if(this.isLimitExceeded)return;var value=void 0;if(ev.target.checked){value=this.trueLabel===undefined?true:this.trueLabel;}else{value=this.falseLabel===undefined?false:this.falseLabel;}this.$emit('change',value,ev);this.$nextTick(function(){if(_this._checkboxGroup){_this.dispatch('ElCheckboxGroup','change',[_this._checkboxGroup.value]);}});}},created:function created(){this.checked&&this.addToStore();}};// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue?vue&type=script&lang=js&\n/* harmony default export */var src_checkbox_buttonvue_type_script_lang_js_=checkbox_buttonvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue\n/* normalize component */var checkbox_button_component=normalizeComponent(src_checkbox_buttonvue_type_script_lang_js_,checkbox_buttonvue_type_template_id_478e906e_render,checkbox_buttonvue_type_template_id_478e906e_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var checkbox_button_api; }checkbox_button_component.options.__file=\"packages/checkbox/src/checkbox-button.vue\";/* harmony default export */var checkbox_button=checkbox_button_component.exports;// CONCATENATED MODULE: ./packages/checkbox-button/index.js\n/* istanbul ignore next */checkbox_button.install=function(Vue){Vue.component(checkbox_button.name,checkbox_button);};/* harmony default export */var packages_checkbox_button=checkbox_button;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\nvar checkbox_groupvue_type_template_id_7289a290_render=function checkbox_groupvue_type_template_id_7289a290_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-checkbox-group\",attrs:{role:\"group\",\"aria-label\":\"checkbox-group\"}},[_vm._t(\"default\")],2);};var checkbox_groupvue_type_template_id_7289a290_staticRenderFns=[];checkbox_groupvue_type_template_id_7289a290_render._withStripped=true;// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n/* harmony default export */var checkbox_groupvue_type_script_lang_js_={name:'ElCheckboxGroup',componentName:'ElCheckboxGroup',mixins:[emitter_default.a],inject:{elFormItem:{default:''}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},checkboxGroupSize:function checkboxGroupSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;}},watch:{value:function value(_value){this.dispatch('ElFormItem','el.form.change',[_value]);}}};// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n/* harmony default export */var src_checkbox_groupvue_type_script_lang_js_=checkbox_groupvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue\n/* normalize component */var checkbox_group_component=normalizeComponent(src_checkbox_groupvue_type_script_lang_js_,checkbox_groupvue_type_template_id_7289a290_render,checkbox_groupvue_type_template_id_7289a290_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var checkbox_group_api; }checkbox_group_component.options.__file=\"packages/checkbox/src/checkbox-group.vue\";/* harmony default export */var checkbox_group=checkbox_group_component.exports;// CONCATENATED MODULE: ./packages/checkbox-group/index.js\n/* istanbul ignore next */checkbox_group.install=function(Vue){Vue.component(checkbox_group.name,checkbox_group);};/* harmony default export */var packages_checkbox_group=checkbox_group;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/switch/src/component.vue?vue&type=template&id=2dcd8fbb&\nvar componentvue_type_template_id_2dcd8fbb_render=function componentvue_type_template_id_2dcd8fbb_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-switch\",class:{\"is-disabled\":_vm.switchDisabled,\"is-checked\":_vm.checked},attrs:{role:\"switch\",\"aria-checked\":_vm.checked,\"aria-disabled\":_vm.switchDisabled},on:{click:function click($event){$event.preventDefault();return _vm.switchValue($event);}}},[_c(\"input\",{ref:\"input\",staticClass:\"el-switch__input\",attrs:{type:\"checkbox\",id:_vm.id,name:_vm.name,\"true-value\":_vm.activeValue,\"false-value\":_vm.inactiveValue,disabled:_vm.switchDisabled},on:{change:_vm.handleChange,keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}return _vm.switchValue($event);}}}),_vm.inactiveIconClass||_vm.inactiveText?_c(\"span\",{class:[\"el-switch__label\",\"el-switch__label--left\",!_vm.checked?\"is-active\":\"\"]},[_vm.inactiveIconClass?_c(\"i\",{class:[_vm.inactiveIconClass]}):_vm._e(),!_vm.inactiveIconClass&&_vm.inactiveText?_c(\"span\",{attrs:{\"aria-hidden\":_vm.checked}},[_vm._v(_vm._s(_vm.inactiveText))]):_vm._e()]):_vm._e(),_c(\"span\",{ref:\"core\",staticClass:\"el-switch__core\",style:{width:_vm.coreWidth+\"px\"}}),_vm.activeIconClass||_vm.activeText?_c(\"span\",{class:[\"el-switch__label\",\"el-switch__label--right\",_vm.checked?\"is-active\":\"\"]},[_vm.activeIconClass?_c(\"i\",{class:[_vm.activeIconClass]}):_vm._e(),!_vm.activeIconClass&&_vm.activeText?_c(\"span\",{attrs:{\"aria-hidden\":!_vm.checked}},[_vm._v(_vm._s(_vm.activeText))]):_vm._e()]):_vm._e()]);};var componentvue_type_template_id_2dcd8fbb_staticRenderFns=[];componentvue_type_template_id_2dcd8fbb_render._withStripped=true;// CONCATENATED MODULE: ./packages/switch/src/component.vue?vue&type=template&id=2dcd8fbb&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/switch/src/component.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var switch_src_componentvue_type_script_lang_js_={name:'ElSwitch',mixins:[focus_default()('input'),migrating_default.a,emitter_default.a],inject:{elForm:{default:''}},props:{value:{type:[Boolean,String,Number],default:false},disabled:{type:Boolean,default:false},width:{type:Number,default:40},activeIconClass:{type:String,default:''},inactiveIconClass:{type:String,default:''},activeText:String,inactiveText:String,activeColor:{type:String,default:''},inactiveColor:{type:String,default:''},activeValue:{type:[Boolean,String,Number],default:true},inactiveValue:{type:[Boolean,String,Number],default:false},name:{type:String,default:''},validateEvent:{type:Boolean,default:true},id:String},data:function data(){return{coreWidth:this.width};},created:function created(){if(!~[this.activeValue,this.inactiveValue].indexOf(this.value)){this.$emit('input',this.inactiveValue);}},computed:{checked:function checked(){return this.value===this.activeValue;},switchDisabled:function switchDisabled(){return this.disabled||(this.elForm||{}).disabled;}},watch:{checked:function checked(){this.$refs.input.checked=this.checked;if(this.activeColor||this.inactiveColor){this.setBackgroundColor();}if(this.validateEvent){this.dispatch('ElFormItem','el.form.change',[this.value]);}}},methods:{handleChange:function handleChange(event){var _this=this;var val=this.checked?this.inactiveValue:this.activeValue;this.$emit('input',val);this.$emit('change',val);this.$nextTick(function(){// set input's checked property\n// in case parent refuses to change component's value\nif(_this.$refs.input){_this.$refs.input.checked=_this.checked;}});},setBackgroundColor:function setBackgroundColor(){var newColor=this.checked?this.activeColor:this.inactiveColor;this.$refs.core.style.borderColor=newColor;this.$refs.core.style.backgroundColor=newColor;},switchValue:function switchValue(){!this.switchDisabled&&this.handleChange();},getMigratingConfig:function getMigratingConfig(){return{props:{'on-color':'on-color is renamed to active-color.','off-color':'off-color is renamed to inactive-color.','on-text':'on-text is renamed to active-text.','off-text':'off-text is renamed to inactive-text.','on-value':'on-value is renamed to active-value.','off-value':'off-value is renamed to inactive-value.','on-icon-class':'on-icon-class is renamed to active-icon-class.','off-icon-class':'off-icon-class is renamed to inactive-icon-class.'}};}},mounted:function mounted(){/* istanbul ignore if */this.coreWidth=this.width||40;if(this.activeColor||this.inactiveColor){this.setBackgroundColor();}this.$refs.input.checked=this.checked;}};// CONCATENATED MODULE: ./packages/switch/src/component.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_switch_src_componentvue_type_script_lang_js_=switch_src_componentvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/switch/src/component.vue\n/* normalize component */var src_component_component=normalizeComponent(packages_switch_src_componentvue_type_script_lang_js_,componentvue_type_template_id_2dcd8fbb_render,componentvue_type_template_id_2dcd8fbb_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var src_component_api; }src_component_component.options.__file=\"packages/switch/src/component.vue\";/* harmony default export */var switch_src_component=src_component_component.exports;// CONCATENATED MODULE: ./packages/switch/index.js\n/* istanbul ignore next */switch_src_component.install=function(Vue){Vue.component(switch_src_component.name,switch_src_component);};/* harmony default export */var packages_switch=switch_src_component;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\nvar selectvue_type_template_id_0e4aade6_render=function selectvue_type_template_id_0e4aade6_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleClose,expression:\"handleClose\"}],staticClass:\"el-select\",class:[_vm.selectSize?\"el-select--\"+_vm.selectSize:\"\"],on:{click:function click($event){$event.stopPropagation();return _vm.toggleMenu($event);}}},[_vm.multiple?_c(\"div\",{ref:\"tags\",staticClass:\"el-select__tags\",style:{\"max-width\":_vm.inputWidth-32+\"px\",width:\"100%\"}},[_vm.collapseTags&&_vm.selected.length?_c(\"span\",[_c(\"el-tag\",{attrs:{closable:!_vm.selectDisabled,size:_vm.collapseTagSize,hit:_vm.selected[0].hitState,type:\"info\",\"disable-transitions\":\"\"},on:{close:function close($event){_vm.deleteTag($event,_vm.selected[0]);}}},[_c(\"span\",{staticClass:\"el-select__tags-text\"},[_vm._v(_vm._s(_vm.selected[0].currentLabel))])]),_vm.selected.length>1?_c(\"el-tag\",{attrs:{closable:false,size:_vm.collapseTagSize,type:\"info\",\"disable-transitions\":\"\"}},[_c(\"span\",{staticClass:\"el-select__tags-text\"},[_vm._v(\"+ \"+_vm._s(_vm.selected.length-1))])]):_vm._e()],1):_vm._e(),!_vm.collapseTags?_c(\"transition-group\",{on:{\"after-leave\":_vm.resetInputHeight}},_vm._l(_vm.selected,function(item){return _c(\"el-tag\",{key:_vm.getValueKey(item),attrs:{closable:!_vm.selectDisabled,size:_vm.collapseTagSize,hit:item.hitState,type:\"info\",\"disable-transitions\":\"\"},on:{close:function close($event){_vm.deleteTag($event,item);}}},[_c(\"span\",{staticClass:\"el-select__tags-text\"},[_vm._v(_vm._s(item.currentLabel))])]);}),1):_vm._e(),_vm.filterable?_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:_vm.query,expression:\"query\"}],ref:\"input\",staticClass:\"el-select__input\",class:[_vm.selectSize?\"is-\"+_vm.selectSize:\"\"],style:{\"flex-grow\":\"1\",width:_vm.inputLength/(_vm.inputWidth-32)+\"%\",\"max-width\":_vm.inputWidth-42+\"px\"},attrs:{type:\"text\",disabled:_vm.selectDisabled,autocomplete:_vm.autoComplete||_vm.autocomplete},domProps:{value:_vm.query},on:{focus:_vm.handleFocus,blur:function blur($event){_vm.softFocus=false;},keyup:_vm.managePlaceholder,keydown:[_vm.resetInputState,function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){return null;}$event.preventDefault();_vm.handleNavigate(\"next\");},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){return null;}$event.preventDefault();_vm.handleNavigate(\"prev\");},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}$event.preventDefault();return _vm.selectOption($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){return null;}$event.stopPropagation();$event.preventDefault();_vm.visible=false;},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"delete\",[8,46],$event.key,[\"Backspace\",\"Delete\",\"Del\"])){return null;}return _vm.deletePrevTag($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){return null;}_vm.visible=false;}],compositionstart:_vm.handleComposition,compositionupdate:_vm.handleComposition,compositionend:_vm.handleComposition,input:[function($event){if($event.target.composing){return;}_vm.query=$event.target.value;},_vm.debouncedQueryChange]}}):_vm._e()],1):_vm._e(),_c(\"el-input\",{ref:\"reference\",class:{\"is-focus\":_vm.visible},attrs:{type:\"text\",placeholder:_vm.currentPlaceholder,name:_vm.name,id:_vm.id,autocomplete:_vm.autoComplete||_vm.autocomplete,size:_vm.selectSize,disabled:_vm.selectDisabled,readonly:_vm.readonly,\"validate-event\":false,tabindex:_vm.multiple&&_vm.filterable?\"-1\":null},on:{focus:_vm.handleFocus,blur:_vm.handleBlur,input:_vm.debouncedOnInputChange,compositionstart:_vm.handleComposition,compositionupdate:_vm.handleComposition,compositionend:_vm.handleComposition},nativeOn:{keydown:[function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){return null;}$event.stopPropagation();$event.preventDefault();_vm.handleNavigate(\"next\");},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){return null;}$event.stopPropagation();$event.preventDefault();_vm.handleNavigate(\"prev\");},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}$event.preventDefault();return _vm.selectOption($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){return null;}$event.stopPropagation();$event.preventDefault();_vm.visible=false;},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){return null;}_vm.visible=false;}],mouseenter:function mouseenter($event){_vm.inputHovering=true;},mouseleave:function mouseleave($event){_vm.inputHovering=false;}},model:{value:_vm.selectedLabel,callback:function callback($$v){_vm.selectedLabel=$$v;},expression:\"selectedLabel\"}},[_vm.$slots.prefix?_c(\"template\",{slot:\"prefix\"},[_vm._t(\"prefix\")],2):_vm._e(),_c(\"template\",{slot:\"suffix\"},[_c(\"i\",{directives:[{name:\"show\",rawName:\"v-show\",value:!_vm.showClose,expression:\"!showClose\"}],class:[\"el-select__caret\",\"el-input__icon\",\"el-icon-\"+_vm.iconClass]}),_vm.showClose?_c(\"i\",{staticClass:\"el-select__caret el-input__icon el-icon-circle-close\",on:{click:_vm.handleClearClick}}):_vm._e()])],2),_c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"before-enter\":_vm.handleMenuEnter,\"after-leave\":_vm.doDestroy}},[_c(\"el-select-menu\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible&&_vm.emptyText!==false,expression:\"visible && emptyText !== false\"}],ref:\"popper\",attrs:{\"append-to-body\":_vm.popperAppendToBody}},[_c(\"el-scrollbar\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.options.length>0&&!_vm.loading,expression:\"options.length > 0 && !loading\"}],ref:\"scrollbar\",class:{\"is-empty\":!_vm.allowCreate&&_vm.query&&_vm.filteredOptionsCount===0},attrs:{tag:\"ul\",\"wrap-class\":\"el-select-dropdown__wrap\",\"view-class\":\"el-select-dropdown__list\"}},[_vm.showNewOption?_c(\"el-option\",{attrs:{value:_vm.query,created:\"\"}}):_vm._e(),_vm._t(\"default\")],2),_vm.emptyText&&(!_vm.allowCreate||_vm.loading||_vm.allowCreate&&_vm.options.length===0)?[_vm.$slots.empty?_vm._t(\"empty\"):_c(\"p\",{staticClass:\"el-select-dropdown__empty\"},[_vm._v(\"\\n          \"+_vm._s(_vm.emptyText)+\"\\n        \")])]:_vm._e()],2)],1)],1);};var selectvue_type_template_id_0e4aade6_staticRenderFns=[];selectvue_type_template_id_0e4aade6_render._withStripped=true;// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\nvar select_dropdownvue_type_template_id_06828748_render=function select_dropdownvue_type_template_id_06828748_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-select-dropdown el-popper\",class:[{\"is-multiple\":_vm.$parent.multiple},_vm.popperClass],style:{minWidth:_vm.minWidth}},[_vm._t(\"default\")],2);};var select_dropdownvue_type_template_id_06828748_staticRenderFns=[];select_dropdownvue_type_template_id_06828748_render._withStripped=true;// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var select_dropdownvue_type_script_lang_js_={name:'ElSelectDropdown',componentName:'ElSelectDropdown',mixins:[vue_popper_default.a],props:{placement:{default:'bottom-start'},boundariesPadding:{default:0},popperOptions:{default:function _default(){return{gpuAcceleration:false};}},visibleArrow:{default:true},appendToBody:{type:Boolean,default:true}},data:function data(){return{minWidth:''};},computed:{popperClass:function popperClass(){return this.$parent.popperClass;}},watch:{'$parent.inputWidth':function $parentInputWidth(){this.minWidth=this.$parent.$el.getBoundingClientRect().width+'px';}},mounted:function mounted(){var _this=this;this.referenceElm=this.$parent.$refs.reference.$el;this.$parent.popperElm=this.popperElm=this.$el;this.$on('updatePopper',function(){if(_this.$parent.visible)_this.updatePopper();});this.$on('destroyPopper',this.destroyPopper);}};// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n/* harmony default export */var src_select_dropdownvue_type_script_lang_js_=select_dropdownvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue\n/* normalize component */var select_dropdown_component=normalizeComponent(src_select_dropdownvue_type_script_lang_js_,select_dropdownvue_type_template_id_06828748_render,select_dropdownvue_type_template_id_06828748_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var select_dropdown_api; }select_dropdown_component.options.__file=\"packages/select/src/select-dropdown.vue\";/* harmony default export */var select_dropdown=select_dropdown_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar optionvue_type_template_id_7a44c642_render=function optionvue_type_template_id_7a44c642_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-select-dropdown__item\",class:{selected:_vm.itemSelected,\"is-disabled\":_vm.disabled||_vm.groupDisabled||_vm.limitReached,hover:_vm.hover},on:{mouseenter:_vm.hoverItem,click:function click($event){$event.stopPropagation();return _vm.selectOptionClick($event);}}},[_vm._t(\"default\",[_c(\"span\",[_vm._v(_vm._s(_vm.currentLabel))])])],2);};var optionvue_type_template_id_7a44c642_staticRenderFns=[];optionvue_type_template_id_7a44c642_render._withStripped=true;// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var optionvue_type_script_lang_js_={mixins:[emitter_default.a],name:'ElOption',componentName:'ElOption',inject:['select'],props:{value:{required:true},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:false}},data:function data(){return{index:-1,groupDisabled:false,visible:true,hitState:false,hover:false};},computed:{isObject:function isObject(){return Object.prototype.toString.call(this.value).toLowerCase()==='[object object]';},currentLabel:function currentLabel(){return this.label||(this.isObject?'':this.value);},currentValue:function currentValue(){return this.value||this.label||'';},itemSelected:function itemSelected(){if(!this.select.multiple){return this.isEqual(this.value,this.select.value);}else{return this.contains(this.select.value,this.value);}},limitReached:function limitReached(){if(this.select.multiple){return!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0;}else{return false;}}},watch:{currentLabel:function currentLabel(){if(!this.created&&!this.select.remote)this.dispatch('ElSelect','setSelected');},value:function value(val,oldVal){var _select=this.select,remote=_select.remote,valueKey=_select.valueKey;if(!this.created&&!remote){if(valueKey&&(typeof val==='undefined'?'undefined':_typeof(val))==='object'&&(typeof oldVal==='undefined'?'undefined':_typeof(oldVal))==='object'&&val[valueKey]===oldVal[valueKey]){return;}this.dispatch('ElSelect','setSelected');}}},methods:{isEqual:function isEqual(a,b){if(!this.isObject){return a===b;}else{var valueKey=this.select.valueKey;return Object(util_[\"getValueByPath\"])(a,valueKey)===Object(util_[\"getValueByPath\"])(b,valueKey);}},contains:function contains(){var arr=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var target=arguments[1];if(!this.isObject){return arr&&arr.indexOf(target)>-1;}else{var valueKey=this.select.valueKey;return arr&&arr.some(function(item){return Object(util_[\"getValueByPath\"])(item,valueKey)===Object(util_[\"getValueByPath\"])(target,valueKey);});}},handleGroupDisabled:function handleGroupDisabled(val){this.groupDisabled=val;},hoverItem:function hoverItem(){if(!this.disabled&&!this.groupDisabled){this.select.hoverIndex=this.select.options.indexOf(this);}},selectOptionClick:function selectOptionClick(){if(this.disabled!==true&&this.groupDisabled!==true){this.dispatch('ElSelect','handleOptionClick',[this,true]);}},queryChange:function queryChange(query){this.visible=new RegExp(Object(util_[\"escapeRegexpString\"])(query),'i').test(this.currentLabel)||this.created;if(!this.visible){this.select.filteredOptionsCount--;}}},created:function created(){this.select.options.push(this);this.select.cachedOptions.push(this);this.select.optionsCount++;this.select.filteredOptionsCount++;this.$on('queryChange',this.queryChange);this.$on('handleGroupDisabled',this.handleGroupDisabled);},beforeDestroy:function beforeDestroy(){var _select2=this.select,selected=_select2.selected,multiple=_select2.multiple;var selectedOptions=multiple?selected:[selected];var index=this.select.cachedOptions.indexOf(this);var selectedIndex=selectedOptions.indexOf(this);// if option is not selected, remove it from cache\nif(index>-1&&selectedIndex<0){this.select.cachedOptions.splice(index,1);}this.select.onOptionDestroy(this.select.options.indexOf(this));}};// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n/* harmony default export */var src_optionvue_type_script_lang_js_=optionvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/select/src/option.vue\n/* normalize component */var option_component=normalizeComponent(src_optionvue_type_script_lang_js_,optionvue_type_template_id_7a44c642_render,optionvue_type_template_id_7a44c642_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var option_api; }option_component.options.__file=\"packages/select/src/option.vue\";/* harmony default export */var src_option=option_component.exports;// EXTERNAL MODULE: external \"element-ui/lib/tag\"\nvar tag_=__webpack_require__(29);var tag_default=/*#__PURE__*/__webpack_require__.n(tag_);// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_=__webpack_require__(14);// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_=__webpack_require__(27);var scroll_into_view_default=/*#__PURE__*/__webpack_require__.n(scroll_into_view_);// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js\n/* harmony default export */var navigation_mixin={data:function data(){return{hoverOption:-1};},computed:{optionsAllDisabled:function optionsAllDisabled(){return this.options.filter(function(option){return option.visible;}).every(function(option){return option.disabled;});}},watch:{hoverIndex:function hoverIndex(val){var _this=this;if(typeof val==='number'&&val>-1){this.hoverOption=this.options[val]||{};}this.options.forEach(function(option){option.hover=_this.hoverOption===option;});}},methods:{navigateOptions:function navigateOptions(direction){var _this2=this;if(!this.visible){this.visible=true;return;}if(this.options.length===0||this.filteredOptionsCount===0)return;if(!this.optionsAllDisabled){if(direction==='next'){this.hoverIndex++;if(this.hoverIndex===this.options.length){this.hoverIndex=0;}}else if(direction==='prev'){this.hoverIndex--;if(this.hoverIndex<0){this.hoverIndex=this.options.length-1;}}var option=this.options[this.hoverIndex];if(option.disabled===true||option.groupDisabled===true||!option.visible){this.navigateOptions(direction);}this.$nextTick(function(){return _this2.scrollToOption(_this2.hoverOption);});}}}};// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var selectvue_type_script_lang_js_={mixins:[emitter_default.a,locale_default.a,focus_default()('reference'),navigation_mixin],name:'ElSelect',componentName:'ElSelect',inject:{elForm:{default:''},elFormItem:{default:''}},provide:function provide(){return{'select':this};},computed:{_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},readonly:function readonly(){return!this.filterable||this.multiple||!Object(util_[\"isIE\"])()&&!Object(util_[\"isEdge\"])()&&!this.visible;},showClose:function showClose(){var hasValue=this.multiple?Array.isArray(this.value)&&this.value.length>0:this.value!==undefined&&this.value!==null&&this.value!=='';var criteria=this.clearable&&!this.selectDisabled&&this.inputHovering&&hasValue;return criteria;},iconClass:function iconClass(){return this.remote&&this.filterable?'':this.visible?'arrow-up is-reverse':'arrow-up';},debounce:function debounce(){return this.remote?300:0;},emptyText:function emptyText(){if(this.loading){return this.loadingText||this.t('el.select.loading');}else{if(this.remote&&this.query===''&&this.options.length===0)return false;if(this.filterable&&this.query&&this.options.length>0&&this.filteredOptionsCount===0){return this.noMatchText||this.t('el.select.noMatch');}if(this.options.length===0){return this.noDataText||this.t('el.select.noData');}}return null;},showNewOption:function showNewOption(){var _this=this;var hasExistingOption=this.options.filter(function(option){return!option.created;}).some(function(option){return option.currentLabel===_this.query;});return this.filterable&&this.allowCreate&&this.query!==''&&!hasExistingOption;},selectSize:function selectSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;},selectDisabled:function selectDisabled(){return this.disabled||(this.elForm||{}).disabled;},collapseTagSize:function collapseTagSize(){return['small','mini'].indexOf(this.selectSize)>-1?'mini':'small';},propPlaceholder:function propPlaceholder(){return typeof this.placeholder!=='undefined'?this.placeholder:this.t('el.select.placeholder');}},components:{ElInput:input_default.a,ElSelectMenu:select_dropdown,ElOption:src_option,ElTag:tag_default.a,ElScrollbar:scrollbar_default.a},directives:{Clickoutside:clickoutside_default.a},props:{name:String,id:String,value:{required:true},autocomplete:{type:String,default:'off'},/** @Deprecated in next major version */autoComplete:{type:String,validator:function validator(val){ false&&false;return true;}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,required:false},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:'value'},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:true}},data:function data(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:false,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:'',optionsCount:0,filteredOptionsCount:0,visible:false,softFocus:false,selectedLabel:'',hoverIndex:-1,query:'',previousQuery:null,inputHovering:false,currentPlaceholder:'',menuVisibleOnFocus:false,isOnComposition:false,isSilentBlur:false};},watch:{selectDisabled:function selectDisabled(){var _this2=this;this.$nextTick(function(){_this2.resetInputHeight();});},propPlaceholder:function propPlaceholder(val){this.cachedPlaceHolder=this.currentPlaceholder=val;},value:function value(val,oldVal){if(this.multiple){this.resetInputHeight();if(val&&val.length>0||this.$refs.input&&this.query!==''){this.currentPlaceholder='';}else{this.currentPlaceholder=this.cachedPlaceHolder;}if(this.filterable&&!this.reserveKeyword){this.query='';this.handleQueryChange(this.query);}}this.setSelected();if(this.filterable&&!this.multiple){this.inputLength=20;}if(!Object(util_[\"valueEquals\"])(val,oldVal)){this.dispatch('ElFormItem','el.form.change',val);}},visible:function visible(val){var _this3=this;if(!val){this.broadcast('ElSelectDropdown','destroyPopper');if(this.$refs.input){this.$refs.input.blur();}this.query='';this.previousQuery=null;this.selectedLabel='';this.inputLength=20;this.menuVisibleOnFocus=false;this.resetHoverIndex();this.$nextTick(function(){if(_this3.$refs.input&&_this3.$refs.input.value===''&&_this3.selected.length===0){_this3.currentPlaceholder=_this3.cachedPlaceHolder;}});if(!this.multiple){if(this.selected){if(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel){this.selectedLabel=this.createdLabel;}else{this.selectedLabel=this.selected.currentLabel;}if(this.filterable)this.query=this.selectedLabel;}if(this.filterable){this.currentPlaceholder=this.cachedPlaceHolder;}}}else{this.broadcast('ElSelectDropdown','updatePopper');if(this.filterable){this.query=this.remote?'':this.selectedLabel;this.handleQueryChange(this.query);if(this.multiple){this.$refs.input.focus();}else{if(!this.remote){this.broadcast('ElOption','queryChange','');this.broadcast('ElOptionGroup','queryChange');}if(this.selectedLabel){this.currentPlaceholder=this.selectedLabel;this.selectedLabel='';}}}}this.$emit('visible-change',val);},options:function options(){var _this4=this;if(this.$isServer)return;this.$nextTick(function(){_this4.broadcast('ElSelectDropdown','updatePopper');});if(this.multiple){this.resetInputHeight();}var inputs=this.$el.querySelectorAll('input');if([].indexOf.call(inputs,document.activeElement)===-1){this.setSelected();}if(this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount){this.checkDefaultFirstOption();}}},methods:{handleNavigate:function handleNavigate(direction){if(this.isOnComposition)return;this.navigateOptions(direction);},handleComposition:function handleComposition(event){var _this5=this;var text=event.target.value;if(event.type==='compositionend'){this.isOnComposition=false;this.$nextTick(function(_){return _this5.handleQueryChange(text);});}else{var lastCharacter=text[text.length-1]||'';this.isOnComposition=!Object(shared_[\"isKorean\"])(lastCharacter);}},handleQueryChange:function handleQueryChange(val){var _this6=this;if(this.previousQuery===val||this.isOnComposition)return;if(this.previousQuery===null&&(typeof this.filterMethod==='function'||typeof this.remoteMethod==='function')){this.previousQuery=val;return;}this.previousQuery=val;this.$nextTick(function(){if(_this6.visible)_this6.broadcast('ElSelectDropdown','updatePopper');});this.hoverIndex=-1;if(this.multiple&&this.filterable){this.$nextTick(function(){var length=_this6.$refs.input.value.length*15+20;_this6.inputLength=_this6.collapseTags?Math.min(50,length):length;_this6.managePlaceholder();_this6.resetInputHeight();});}if(this.remote&&typeof this.remoteMethod==='function'){this.hoverIndex=-1;this.remoteMethod(val);}else if(typeof this.filterMethod==='function'){this.filterMethod(val);this.broadcast('ElOptionGroup','queryChange');}else{this.filteredOptionsCount=this.optionsCount;this.broadcast('ElOption','queryChange',val);this.broadcast('ElOptionGroup','queryChange');}if(this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount){this.checkDefaultFirstOption();}},scrollToOption:function scrollToOption(option){var target=Array.isArray(option)&&option[0]?option[0].$el:option.$el;if(this.$refs.popper&&target){var menu=this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');scroll_into_view_default()(menu,target);}this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll();},handleMenuEnter:function handleMenuEnter(){var _this7=this;this.$nextTick(function(){return _this7.scrollToOption(_this7.selected);});},emitChange:function emitChange(val){if(!Object(util_[\"valueEquals\"])(this.value,val)){this.$emit('change',val);}},getOption:function getOption(value){var option=void 0;var isObject=Object.prototype.toString.call(value).toLowerCase()==='[object object]';var isNull=Object.prototype.toString.call(value).toLowerCase()==='[object null]';var isUndefined=Object.prototype.toString.call(value).toLowerCase()==='[object undefined]';for(var i=this.cachedOptions.length-1;i>=0;i--){var cachedOption=this.cachedOptions[i];var isEqual=isObject?Object(util_[\"getValueByPath\"])(cachedOption.value,this.valueKey)===Object(util_[\"getValueByPath\"])(value,this.valueKey):cachedOption.value===value;if(isEqual){option=cachedOption;break;}}if(option)return option;var label=!isObject&&!isNull&&!isUndefined?String(value):'';var newOption={value:value,currentLabel:label};if(this.multiple){newOption.hitState=false;}return newOption;},setSelected:function setSelected(){var _this8=this;if(!this.multiple){var option=this.getOption(this.value);if(option.created){this.createdLabel=option.currentLabel;this.createdSelected=true;}else{this.createdSelected=false;}this.selectedLabel=option.currentLabel;this.selected=option;if(this.filterable)this.query=this.selectedLabel;return;}var result=[];if(Array.isArray(this.value)){this.value.forEach(function(value){result.push(_this8.getOption(value));});}this.selected=result;this.$nextTick(function(){_this8.resetInputHeight();});},handleFocus:function handleFocus(event){if(!this.softFocus){if(this.automaticDropdown||this.filterable){if(this.filterable&&!this.visible){this.menuVisibleOnFocus=true;}this.visible=true;}this.$emit('focus',event);}else{this.softFocus=false;}},blur:function blur(){this.visible=false;this.$refs.reference.blur();},handleBlur:function handleBlur(event){var _this9=this;setTimeout(function(){if(_this9.isSilentBlur){_this9.isSilentBlur=false;}else{_this9.$emit('blur',event);}},50);this.softFocus=false;},handleClearClick:function handleClearClick(event){this.deleteSelected(event);},doDestroy:function doDestroy(){this.$refs.popper&&this.$refs.popper.doDestroy();},handleClose:function handleClose(){this.visible=false;},toggleLastOptionHitState:function toggleLastOptionHitState(hit){if(!Array.isArray(this.selected))return;var option=this.selected[this.selected.length-1];if(!option)return;if(hit===true||hit===false){option.hitState=hit;return hit;}option.hitState=!option.hitState;return option.hitState;},deletePrevTag:function deletePrevTag(e){if(e.target.value.length<=0&&!this.toggleLastOptionHitState()){var value=this.value.slice();value.pop();this.$emit('input',value);this.emitChange(value);}},managePlaceholder:function managePlaceholder(){if(this.currentPlaceholder!==''){this.currentPlaceholder=this.$refs.input.value?'':this.cachedPlaceHolder;}},resetInputState:function resetInputState(e){if(e.keyCode!==8)this.toggleLastOptionHitState(false);this.inputLength=this.$refs.input.value.length*15+20;this.resetInputHeight();},resetInputHeight:function resetInputHeight(){var _this10=this;if(this.collapseTags&&!this.filterable)return;this.$nextTick(function(){if(!_this10.$refs.reference)return;var inputChildNodes=_this10.$refs.reference.$el.childNodes;var input=[].filter.call(inputChildNodes,function(item){return item.tagName==='INPUT';})[0];var tags=_this10.$refs.tags;var tagsHeight=tags?Math.round(tags.getBoundingClientRect().height):0;var sizeInMap=_this10.initialInputHeight||40;input.style.height=_this10.selected.length===0?sizeInMap+'px':Math.max(tags?tagsHeight+(tagsHeight>sizeInMap?6:0):0,sizeInMap)+'px';if(_this10.visible&&_this10.emptyText!==false){_this10.broadcast('ElSelectDropdown','updatePopper');}});},resetHoverIndex:function resetHoverIndex(){var _this11=this;setTimeout(function(){if(!_this11.multiple){_this11.hoverIndex=_this11.options.indexOf(_this11.selected);}else{if(_this11.selected.length>0){_this11.hoverIndex=Math.min.apply(null,_this11.selected.map(function(item){return _this11.options.indexOf(item);}));}else{_this11.hoverIndex=-1;}}},300);},handleOptionSelect:function handleOptionSelect(option,byClick){var _this12=this;if(this.multiple){var value=(this.value||[]).slice();var optionIndex=this.getValueIndex(value,option.value);if(optionIndex>-1){value.splice(optionIndex,1);}else if(this.multipleLimit<=0||value.length<this.multipleLimit){value.push(option.value);}this.$emit('input',value);this.emitChange(value);if(option.created){this.query='';this.handleQueryChange('');this.inputLength=20;}if(this.filterable)this.$refs.input.focus();}else{this.$emit('input',option.value);this.emitChange(option.value);this.visible=false;}this.isSilentBlur=byClick;this.setSoftFocus();if(this.visible)return;this.$nextTick(function(){_this12.scrollToOption(option);});},setSoftFocus:function setSoftFocus(){this.softFocus=true;var input=this.$refs.input||this.$refs.reference;if(input){input.focus();}},getValueIndex:function getValueIndex(){var arr=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var value=arguments[1];var isObject=Object.prototype.toString.call(value).toLowerCase()==='[object object]';if(!isObject){return arr.indexOf(value);}else{var valueKey=this.valueKey;var index=-1;arr.some(function(item,i){if(Object(util_[\"getValueByPath\"])(item,valueKey)===Object(util_[\"getValueByPath\"])(value,valueKey)){index=i;return true;}return false;});return index;}},toggleMenu:function toggleMenu(){if(!this.selectDisabled){if(this.menuVisibleOnFocus){this.menuVisibleOnFocus=false;}else{this.visible=!this.visible;}if(this.visible){(this.$refs.input||this.$refs.reference).focus();}}},selectOption:function selectOption(){if(!this.visible){this.toggleMenu();}else{if(this.options[this.hoverIndex]){this.handleOptionSelect(this.options[this.hoverIndex]);}}},deleteSelected:function deleteSelected(event){event.stopPropagation();var value=this.multiple?[]:'';this.$emit('input',value);this.emitChange(value);this.visible=false;this.$emit('clear');},deleteTag:function deleteTag(event,tag){var index=this.selected.indexOf(tag);if(index>-1&&!this.selectDisabled){var value=this.value.slice();value.splice(index,1);this.$emit('input',value);this.emitChange(value);this.$emit('remove-tag',tag.value);}event.stopPropagation();},onInputChange:function onInputChange(){if(this.filterable&&this.query!==this.selectedLabel){this.query=this.selectedLabel;this.handleQueryChange(this.query);}},onOptionDestroy:function onOptionDestroy(index){if(index>-1){this.optionsCount--;this.filteredOptionsCount--;this.options.splice(index,1);}},resetInputWidth:function resetInputWidth(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width;},handleResize:function handleResize(){this.resetInputWidth();if(this.multiple)this.resetInputHeight();},checkDefaultFirstOption:function checkDefaultFirstOption(){this.hoverIndex=-1;// highlight the created option\nvar hasCreated=false;for(var i=this.options.length-1;i>=0;i--){if(this.options[i].created){hasCreated=true;this.hoverIndex=i;break;}}if(hasCreated)return;for(var _i=0;_i!==this.options.length;++_i){var option=this.options[_i];if(this.query){// highlight first options that passes the filter\nif(!option.disabled&&!option.groupDisabled&&option.visible){this.hoverIndex=_i;break;}}else{// highlight currently selected option\nif(option.itemSelected){this.hoverIndex=_i;break;}}}},getValueKey:function getValueKey(item){if(Object.prototype.toString.call(item.value).toLowerCase()!=='[object object]'){return item.value;}else{return Object(util_[\"getValueByPath\"])(item.value,this.valueKey);}}},created:function created(){var _this13=this;this.cachedPlaceHolder=this.currentPlaceholder=this.propPlaceholder;if(this.multiple&&!Array.isArray(this.value)){this.$emit('input',[]);}if(!this.multiple&&Array.isArray(this.value)){this.$emit('input','');}this.debouncedOnInputChange=debounce_default()(this.debounce,function(){_this13.onInputChange();});this.debouncedQueryChange=debounce_default()(this.debounce,function(e){_this13.handleQueryChange(e.target.value);});this.$on('handleOptionClick',this.handleOptionSelect);this.$on('setSelected',this.setSelected);},mounted:function mounted(){var _this14=this;if(this.multiple&&Array.isArray(this.value)&&this.value.length>0){this.currentPlaceholder='';}Object(resize_event_[\"addResizeListener\"])(this.$el,this.handleResize);var reference=this.$refs.reference;if(reference&&reference.$el){var sizeMap={medium:36,small:32,mini:28};var input=reference.$el.querySelector('input');this.initialInputHeight=input.getBoundingClientRect().height||sizeMap[this.selectSize];}if(this.remote&&this.multiple){this.resetInputHeight();}this.$nextTick(function(){if(reference&&reference.$el){_this14.inputWidth=reference.$el.getBoundingClientRect().width;}});this.setSelected();},beforeDestroy:function beforeDestroy(){if(this.$el&&this.handleResize)Object(resize_event_[\"removeResizeListener\"])(this.$el,this.handleResize);}};// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&\n/* harmony default export */var src_selectvue_type_script_lang_js_=selectvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/select/src/select.vue\n/* normalize component */var select_component=normalizeComponent(src_selectvue_type_script_lang_js_,selectvue_type_template_id_0e4aade6_render,selectvue_type_template_id_0e4aade6_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var select_api; }select_component.options.__file=\"packages/select/src/select.vue\";/* harmony default export */var src_select=select_component.exports;// CONCATENATED MODULE: ./packages/select/index.js\n/* istanbul ignore next */src_select.install=function(Vue){Vue.component(src_select.name,src_select);};/* harmony default export */var packages_select=src_select;// CONCATENATED MODULE: ./packages/option/index.js\n/* istanbul ignore next */src_option.install=function(Vue){Vue.component(src_option.name,src_option);};/* harmony default export */var packages_option=src_option;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option-group.vue?vue&type=template&id=6685e5de&\nvar option_groupvue_type_template_id_6685e5de_render=function option_groupvue_type_template_id_6685e5de_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"ul\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-select-group__wrap\"},[_c(\"li\",{staticClass:\"el-select-group__title\"},[_vm._v(_vm._s(_vm.label))]),_c(\"li\",[_c(\"ul\",{staticClass:\"el-select-group\"},[_vm._t(\"default\")],2)])]);};var option_groupvue_type_template_id_6685e5de_staticRenderFns=[];option_groupvue_type_template_id_6685e5de_render._withStripped=true;// CONCATENATED MODULE: ./packages/select/src/option-group.vue?vue&type=template&id=6685e5de&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option-group.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var option_groupvue_type_script_lang_js_={mixins:[emitter_default.a],name:'ElOptionGroup',componentName:'ElOptionGroup',props:{label:String,disabled:{type:Boolean,default:false}},data:function data(){return{visible:true};},watch:{disabled:function disabled(val){this.broadcast('ElOption','handleGroupDisabled',val);}},methods:{queryChange:function queryChange(){this.visible=this.$children&&Array.isArray(this.$children)&&this.$children.some(function(option){return option.visible===true;});}},created:function created(){this.$on('queryChange',this.queryChange);},mounted:function mounted(){if(this.disabled){this.broadcast('ElOption','handleGroupDisabled',this.disabled);}}};// CONCATENATED MODULE: ./packages/select/src/option-group.vue?vue&type=script&lang=js&\n/* harmony default export */var src_option_groupvue_type_script_lang_js_=option_groupvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/select/src/option-group.vue\n/* normalize component */var option_group_component=normalizeComponent(src_option_groupvue_type_script_lang_js_,option_groupvue_type_template_id_6685e5de_render,option_groupvue_type_template_id_6685e5de_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var option_group_api; }option_group_component.options.__file=\"packages/select/src/option-group.vue\";/* harmony default export */var option_group=option_group_component.exports;// CONCATENATED MODULE: ./packages/option-group/index.js\n/* istanbul ignore next */option_group.install=function(Vue){Vue.component(option_group.name,option_group);};/* harmony default export */var packages_option_group=option_group;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\nvar buttonvue_type_template_id_ca859fb4_render=function buttonvue_type_template_id_ca859fb4_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"button\",{staticClass:\"el-button\",class:[_vm.type?\"el-button--\"+_vm.type:\"\",_vm.buttonSize?\"el-button--\"+_vm.buttonSize:\"\",{\"is-disabled\":_vm.buttonDisabled,\"is-loading\":_vm.loading,\"is-plain\":_vm.plain,\"is-round\":_vm.round,\"is-circle\":_vm.circle}],attrs:{disabled:_vm.buttonDisabled||_vm.loading,autofocus:_vm.autofocus,type:_vm.nativeType},on:{click:_vm.handleClick}},[_vm.loading?_c(\"i\",{staticClass:\"el-icon-loading\"}):_vm._e(),_vm.icon&&!_vm.loading?_c(\"i\",{class:_vm.icon}):_vm._e(),_vm.$slots.default?_c(\"span\",[_vm._t(\"default\")],2):_vm._e()]);};var buttonvue_type_template_id_ca859fb4_staticRenderFns=[];buttonvue_type_template_id_ca859fb4_render._withStripped=true;// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var buttonvue_type_script_lang_js_={name:'ElButton',inject:{elForm:{default:''},elFormItem:{default:''}},props:{type:{type:String,default:'default'},size:String,icon:{type:String,default:''},nativeType:{type:String,default:'button'},loading:Boolean,disabled:Boolean,plain:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean},computed:{_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},buttonSize:function buttonSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;},buttonDisabled:function buttonDisabled(){return this.$options.propsData.hasOwnProperty('disabled')?this.disabled:(this.elForm||{}).disabled;}},methods:{handleClick:function handleClick(evt){this.$emit('click',evt);}}};// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js&\n/* harmony default export */var src_buttonvue_type_script_lang_js_=buttonvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/button/src/button.vue\n/* normalize component */var button_component=normalizeComponent(src_buttonvue_type_script_lang_js_,buttonvue_type_template_id_ca859fb4_render,buttonvue_type_template_id_ca859fb4_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var button_api; }button_component.options.__file=\"packages/button/src/button.vue\";/* harmony default export */var src_button=button_component.exports;// CONCATENATED MODULE: ./packages/button/index.js\n/* istanbul ignore next */src_button.install=function(Vue){Vue.component(src_button.name,src_button);};/* harmony default export */var packages_button=src_button;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0&\nvar button_groupvue_type_template_id_3d8661d0_render=function button_groupvue_type_template_id_3d8661d0_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-button-group\"},[_vm._t(\"default\")],2);};var button_groupvue_type_template_id_3d8661d0_staticRenderFns=[];button_groupvue_type_template_id_3d8661d0_render._withStripped=true;// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n/* harmony default export */var button_groupvue_type_script_lang_js_={name:'ElButtonGroup'};// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=script&lang=js&\n/* harmony default export */var src_button_groupvue_type_script_lang_js_=button_groupvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/button/src/button-group.vue\n/* normalize component */var button_group_component=normalizeComponent(src_button_groupvue_type_script_lang_js_,button_groupvue_type_template_id_3d8661d0_render,button_groupvue_type_template_id_3d8661d0_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var button_group_api; }button_group_component.options.__file=\"packages/button/src/button-group.vue\";/* harmony default export */var button_group=button_group_component.exports;// CONCATENATED MODULE: ./packages/button-group/index.js\n/* istanbul ignore next */button_group.install=function(Vue){Vue.component(button_group.name,button_group);};/* harmony default export */var packages_button_group=button_group;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=template&id=493fe34e&\nvar tablevue_type_template_id_493fe34e_render=function tablevue_type_template_id_493fe34e_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-table\",class:[{\"el-table--fit\":_vm.fit,\"el-table--striped\":_vm.stripe,\"el-table--border\":_vm.border||_vm.isGroup,\"el-table--hidden\":_vm.isHidden,\"el-table--group\":_vm.isGroup,\"el-table--fluid-height\":_vm.maxHeight,\"el-table--scrollable-x\":_vm.layout.scrollX,\"el-table--scrollable-y\":_vm.layout.scrollY,\"el-table--enable-row-hover\":!_vm.store.states.isComplex,\"el-table--enable-row-transition\":(_vm.store.states.data||[]).length!==0&&(_vm.store.states.data||[]).length<100},_vm.tableSize?\"el-table--\"+_vm.tableSize:\"\"],on:{mouseleave:function mouseleave($event){_vm.handleMouseLeave($event);}}},[_c(\"div\",{ref:\"hiddenColumns\",staticClass:\"hidden-columns\"},[_vm._t(\"default\")],2),_vm.showHeader?_c(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:_vm.handleHeaderFooterMousewheel,expression:\"handleHeaderFooterMousewheel\"}],ref:\"headerWrapper\",staticClass:\"el-table__header-wrapper\"},[_c(\"table-header\",{ref:\"tableHeader\",style:{width:_vm.layout.bodyWidth?_vm.layout.bodyWidth+\"px\":\"\"},attrs:{store:_vm.store,border:_vm.border,\"default-sort\":_vm.defaultSort}})],1):_vm._e(),_c(\"div\",{ref:\"bodyWrapper\",staticClass:\"el-table__body-wrapper\",class:[_vm.layout.scrollX?\"is-scrolling-\"+_vm.scrollPosition:\"is-scrolling-none\"],style:[_vm.bodyHeight]},[_c(\"table-body\",{style:{width:_vm.bodyWidth},attrs:{context:_vm.context,store:_vm.store,stripe:_vm.stripe,\"row-class-name\":_vm.rowClassName,\"row-style\":_vm.rowStyle,highlight:_vm.highlightCurrentRow}}),!_vm.data||_vm.data.length===0?_c(\"div\",{ref:\"emptyBlock\",staticClass:\"el-table__empty-block\",style:_vm.emptyBlockStyle},[_c(\"span\",{staticClass:\"el-table__empty-text\"},[_vm._t(\"empty\",[_vm._v(_vm._s(_vm.emptyText||_vm.t(\"el.table.emptyText\")))])],2)]):_vm._e(),_vm.$slots.append?_c(\"div\",{ref:\"appendWrapper\",staticClass:\"el-table__append-wrapper\"},[_vm._t(\"append\")],2):_vm._e()],1),_vm.showSummary?_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.data&&_vm.data.length>0,expression:\"data && data.length > 0\"},{name:\"mousewheel\",rawName:\"v-mousewheel\",value:_vm.handleHeaderFooterMousewheel,expression:\"handleHeaderFooterMousewheel\"}],ref:\"footerWrapper\",staticClass:\"el-table__footer-wrapper\"},[_c(\"table-footer\",{style:{width:_vm.layout.bodyWidth?_vm.layout.bodyWidth+\"px\":\"\"},attrs:{store:_vm.store,border:_vm.border,\"sum-text\":_vm.sumText||_vm.t(\"el.table.sumText\"),\"summary-method\":_vm.summaryMethod,\"default-sort\":_vm.defaultSort}})],1):_vm._e(),_vm.fixedColumns.length>0?_c(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:_vm.handleFixedMousewheel,expression:\"handleFixedMousewheel\"}],ref:\"fixedWrapper\",staticClass:\"el-table__fixed\",style:[{width:_vm.layout.fixedWidth?_vm.layout.fixedWidth+\"px\":\"\"},_vm.fixedHeight]},[_vm.showHeader?_c(\"div\",{ref:\"fixedHeaderWrapper\",staticClass:\"el-table__fixed-header-wrapper\"},[_c(\"table-header\",{ref:\"fixedTableHeader\",style:{width:_vm.bodyWidth},attrs:{fixed:\"left\",border:_vm.border,store:_vm.store}})],1):_vm._e(),_c(\"div\",{ref:\"fixedBodyWrapper\",staticClass:\"el-table__fixed-body-wrapper\",style:[{top:_vm.layout.headerHeight+\"px\"},_vm.fixedBodyHeight]},[_c(\"table-body\",{style:{width:_vm.bodyWidth},attrs:{fixed:\"left\",store:_vm.store,stripe:_vm.stripe,highlight:_vm.highlightCurrentRow,\"row-class-name\":_vm.rowClassName,\"row-style\":_vm.rowStyle}}),_vm.$slots.append?_c(\"div\",{staticClass:\"el-table__append-gutter\",style:{height:_vm.layout.appendHeight+\"px\"}}):_vm._e()],1),_vm.showSummary?_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.data&&_vm.data.length>0,expression:\"data && data.length > 0\"}],ref:\"fixedFooterWrapper\",staticClass:\"el-table__fixed-footer-wrapper\"},[_c(\"table-footer\",{style:{width:_vm.bodyWidth},attrs:{fixed:\"left\",border:_vm.border,\"sum-text\":_vm.sumText||_vm.t(\"el.table.sumText\"),\"summary-method\":_vm.summaryMethod,store:_vm.store}})],1):_vm._e()]):_vm._e(),_vm.rightFixedColumns.length>0?_c(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:_vm.handleFixedMousewheel,expression:\"handleFixedMousewheel\"}],ref:\"rightFixedWrapper\",staticClass:\"el-table__fixed-right\",style:[{width:_vm.layout.rightFixedWidth?_vm.layout.rightFixedWidth+\"px\":\"\",right:_vm.layout.scrollY?(_vm.border?_vm.layout.gutterWidth:_vm.layout.gutterWidth||0)+\"px\":\"\"},_vm.fixedHeight]},[_vm.showHeader?_c(\"div\",{ref:\"rightFixedHeaderWrapper\",staticClass:\"el-table__fixed-header-wrapper\"},[_c(\"table-header\",{ref:\"rightFixedTableHeader\",style:{width:_vm.bodyWidth},attrs:{fixed:\"right\",border:_vm.border,store:_vm.store}})],1):_vm._e(),_c(\"div\",{ref:\"rightFixedBodyWrapper\",staticClass:\"el-table__fixed-body-wrapper\",style:[{top:_vm.layout.headerHeight+\"px\"},_vm.fixedBodyHeight]},[_c(\"table-body\",{style:{width:_vm.bodyWidth},attrs:{fixed:\"right\",store:_vm.store,stripe:_vm.stripe,\"row-class-name\":_vm.rowClassName,\"row-style\":_vm.rowStyle,highlight:_vm.highlightCurrentRow}}),_vm.$slots.append?_c(\"div\",{staticClass:\"el-table__append-gutter\",style:{height:_vm.layout.appendHeight+\"px\"}}):_vm._e()],1),_vm.showSummary?_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.data&&_vm.data.length>0,expression:\"data && data.length > 0\"}],ref:\"rightFixedFooterWrapper\",staticClass:\"el-table__fixed-footer-wrapper\"},[_c(\"table-footer\",{style:{width:_vm.bodyWidth},attrs:{fixed:\"right\",border:_vm.border,\"sum-text\":_vm.sumText||_vm.t(\"el.table.sumText\"),\"summary-method\":_vm.summaryMethod,store:_vm.store}})],1):_vm._e()]):_vm._e(),_vm.rightFixedColumns.length>0?_c(\"div\",{ref:\"rightFixedPatch\",staticClass:\"el-table__fixed-right-patch\",style:{width:_vm.layout.scrollY?_vm.layout.gutterWidth+\"px\":\"0\",height:_vm.layout.headerHeight+\"px\"}}):_vm._e(),_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.resizeProxyVisible,expression:\"resizeProxyVisible\"}],ref:\"resizeProxy\",staticClass:\"el-table__column-resize-proxy\"})]);};var tablevue_type_template_id_493fe34e_staticRenderFns=[];tablevue_type_template_id_493fe34e_render._withStripped=true;// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=template&id=493fe34e&\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_=__webpack_require__(17);var checkbox_default=/*#__PURE__*/__webpack_require__.n(checkbox_);// EXTERNAL MODULE: external \"throttle-debounce\"\nvar external_throttle_debounce_=__webpack_require__(35);// EXTERNAL MODULE: external \"normalize-wheel\"\nvar external_normalize_wheel_=__webpack_require__(38);var external_normalize_wheel_default=/*#__PURE__*/__webpack_require__.n(external_normalize_wheel_);// CONCATENATED MODULE: ./src/directives/mousewheel.js\nvar isFirefox=typeof navigator!=='undefined'&&navigator.userAgent.toLowerCase().indexOf('firefox')>-1;var mousewheel_mousewheel=function mousewheel(element,callback){if(element&&element.addEventListener){element.addEventListener(isFirefox?'DOMMouseScroll':'mousewheel',function(event){var normalized=external_normalize_wheel_default()(event);callback&&callback.apply(this,[event,normalized]);});}};/* harmony default export */var directives_mousewheel={bind:function bind(el,binding){mousewheel_mousewheel(el,binding.value);}};// EXTERNAL MODULE: external \"vue\"\nvar external_vue_=__webpack_require__(6);var external_vue_default=/*#__PURE__*/__webpack_require__.n(external_vue_);// CONCATENATED MODULE: ./packages/table/src/util.js\nvar util_typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};var getCell=function getCell(event){var cell=event.target;while(cell&&cell.tagName.toUpperCase()!=='HTML'){if(cell.tagName.toUpperCase()==='TD'){return cell;}cell=cell.parentNode;}return null;};var util_isObject=function isObject(obj){return obj!==null&&(typeof obj==='undefined'?'undefined':util_typeof(obj))==='object';};var util_orderBy=function orderBy(array,sortKey,reverse,sortMethod,sortBy){if(!sortKey&&!sortMethod&&(!sortBy||Array.isArray(sortBy)&&!sortBy.length)){return array;}if(typeof reverse==='string'){reverse=reverse==='descending'?-1:1;}else{reverse=reverse&&reverse<0?-1:1;}var getKey=sortMethod?null:function(value,index){if(sortBy){if(!Array.isArray(sortBy)){sortBy=[sortBy];}return sortBy.map(function(by){if(typeof by==='string'){return Object(util_[\"getValueByPath\"])(value,by);}else{return by(value,index,array);}});}if(sortKey!=='$key'){if(util_isObject(value)&&'$value'in value)value=value.$value;}return[util_isObject(value)?Object(util_[\"getValueByPath\"])(value,sortKey):value];};var compare=function compare(a,b){if(sortMethod){return sortMethod(a.value,b.value);}for(var i=0,len=a.key.length;i<len;i++){if(a.key[i]<b.key[i]){return-1;}if(a.key[i]>b.key[i]){return 1;}}return 0;};return array.map(function(value,index){return{value:value,index:index,key:getKey?getKey(value,index):null};}).sort(function(a,b){var order=compare(a,b);if(!order){// make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\norder=a.index-b.index;}return order*reverse;}).map(function(item){return item.value;});};var getColumnById=function getColumnById(table,columnId){var column=null;table.columns.forEach(function(item){if(item.id===columnId){column=item;}});return column;};var getColumnByKey=function getColumnByKey(table,columnKey){var column=null;for(var i=0;i<table.columns.length;i++){var item=table.columns[i];if(item.columnKey===columnKey){column=item;break;}}return column;};var getColumnByCell=function getColumnByCell(table,cell){var matches=(cell.className||'').match(/el-table_[^\\s]+/gm);if(matches){return getColumnById(table,matches[0]);}return null;};var getRowIdentity=function getRowIdentity(row,rowKey){if(!row)throw new Error('row is required when get row identity');if(typeof rowKey==='string'){if(rowKey.indexOf('.')<0){return row[rowKey];}var key=rowKey.split('.');var current=row;for(var i=0;i<key.length;i++){current=current[key[i]];}return current;}else if(typeof rowKey==='function'){return rowKey.call(null,row);}};var getKeysMap=function getKeysMap(array,rowKey){var arrayMap={};(array||[]).forEach(function(row,index){arrayMap[getRowIdentity(row,rowKey)]={row:row,index:index};});return arrayMap;};function hasOwn(obj,key){return Object.prototype.hasOwnProperty.call(obj,key);}function mergeOptions(defaults,config){var options={};var key=void 0;for(key in defaults){options[key]=defaults[key];}for(key in config){if(hasOwn(config,key)){var value=config[key];if(typeof value!=='undefined'){options[key]=value;}}}return options;}function parseWidth(width){if(width!==undefined){width=parseInt(width,10);if(isNaN(width)){width=null;}}return width;}function parseMinWidth(minWidth){if(typeof minWidth!=='undefined'){minWidth=parseWidth(minWidth);if(isNaN(minWidth)){minWidth=80;}}return minWidth;};function parseHeight(height){if(typeof height==='number'){return height;}if(typeof height==='string'){if(/^\\d+(?:px)?$/.test(height)){return parseInt(height,10);}else{return height;}}return null;}// https://github.com/reduxjs/redux/blob/master/src/compose.js\nfunction compose(){for(var _len=arguments.length,funcs=Array(_len),_key=0;_key<_len;_key++){funcs[_key]=arguments[_key];}if(funcs.length===0){return function(arg){return arg;};}if(funcs.length===1){return funcs[0];}return funcs.reduce(function(a,b){return function(){return a(b.apply(undefined,arguments));};});}function toggleRowStatus(statusArr,row,newVal){var changed=false;var index=statusArr.indexOf(row);var included=index!==-1;var addRow=function addRow(){statusArr.push(row);changed=true;};var removeRow=function removeRow(){statusArr.splice(index,1);changed=true;};if(typeof newVal==='boolean'){if(newVal&&!included){addRow();}else if(!newVal&&included){removeRow();}}else{if(included){removeRow();}else{addRow();}}return changed;}function walkTreeNode(root,cb){var childrenKey=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'children';var lazyKey=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'hasChildren';var isNil=function isNil(array){return!(Array.isArray(array)&&array.length);};function _walker(parent,children,level){cb(parent,children,level);children.forEach(function(item){if(item[lazyKey]){cb(item,null,level+1);return;}var children=item[childrenKey];if(!isNil(children)){_walker(item,children,level+1);}});}root.forEach(function(item){if(item[lazyKey]){cb(item,null,0);return;}var children=item[childrenKey];if(!isNil(children)){_walker(item,children,0);}});}// CONCATENATED MODULE: ./packages/table/src/store/expand.js\n/* harmony default export */var expand={data:function data(){return{states:{defaultExpandAll:false,expandRows:[]}};},methods:{updateExpandRows:function updateExpandRows(){var _states=this.states,_states$data=_states.data,data=_states$data===undefined?[]:_states$data,rowKey=_states.rowKey,defaultExpandAll=_states.defaultExpandAll,expandRows=_states.expandRows;if(defaultExpandAll){this.states.expandRows=data.slice();}else if(rowKey){// TODO：这里的代码可以优化\nvar expandRowsMap=getKeysMap(expandRows,rowKey);this.states.expandRows=data.reduce(function(prev,row){var rowId=getRowIdentity(row,rowKey);var rowInfo=expandRowsMap[rowId];if(rowInfo){prev.push(row);}return prev;},[]);}else{this.states.expandRows=[];}},toggleRowExpansion:function toggleRowExpansion(row,expanded){var changed=toggleRowStatus(this.states.expandRows,row,expanded);if(changed){this.table.$emit('expand-change',row,this.states.expandRows.slice());this.scheduleLayout();}},setExpandRowKeys:function setExpandRowKeys(rowKeys){this.assertRowKey();// TODO：这里的代码可以优化\nvar _states2=this.states,data=_states2.data,rowKey=_states2.rowKey;var keysMap=getKeysMap(data,rowKey);this.states.expandRows=rowKeys.reduce(function(prev,cur){var info=keysMap[cur];if(info){prev.push(info.row);}return prev;},[]);},isRowExpanded:function isRowExpanded(row){var _states3=this.states,_states3$expandRows=_states3.expandRows,expandRows=_states3$expandRows===undefined?[]:_states3$expandRows,rowKey=_states3.rowKey;if(rowKey){var expandMap=getKeysMap(expandRows,rowKey);return!!expandMap[getRowIdentity(row,rowKey)];}return expandRows.indexOf(row)!==-1;}}};// CONCATENATED MODULE: ./packages/table/src/store/current.js\n/* harmony default export */var store_current={data:function data(){return{states:{// 不可响应的，设置 currentRowKey 时，data 不一定存在，也许无法算出正确的 currentRow\n// 把该值缓存一下，当用户点击修改 currentRow 时，把该值重置为 null\n_currentRowKey:null,currentRow:null}};},methods:{setCurrentRowKey:function setCurrentRowKey(key){this.assertRowKey();this.states._currentRowKey=key;this.setCurrentRowByKey(key);},restoreCurrentRowKey:function restoreCurrentRowKey(){this.states._currentRowKey=null;},setCurrentRowByKey:function setCurrentRowByKey(key){var states=this.states;var _states$data=states.data,data=_states$data===undefined?[]:_states$data,rowKey=states.rowKey;var currentRow=null;if(rowKey){currentRow=Object(util_[\"arrayFind\"])(data,function(item){return getRowIdentity(item,rowKey)===key;});}states.currentRow=currentRow;},updateCurrentRow:function updateCurrentRow(currentRow){var states=this.states,table=this.table;var oldCurrentRow=states.currentRow;if(currentRow&&currentRow!==oldCurrentRow){states.currentRow=currentRow;table.$emit('current-change',currentRow,oldCurrentRow);return;}if(!currentRow&&oldCurrentRow){states.currentRow=null;table.$emit('current-change',null,oldCurrentRow);}},updateCurrentRowData:function updateCurrentRowData(){var states=this.states,table=this.table;var rowKey=states.rowKey,_currentRowKey=states._currentRowKey;// data 为 null 时，解构时的默认值会被忽略\nvar data=states.data||[];var oldCurrentRow=states.currentRow;// 当 currentRow 不在 data 中时尝试更新数据\nif(data.indexOf(oldCurrentRow)===-1&&oldCurrentRow){if(rowKey){var currentRowKey=getRowIdentity(oldCurrentRow,rowKey);this.setCurrentRowByKey(currentRowKey);}else{states.currentRow=null;}if(states.currentRow===null){table.$emit('current-change',null,oldCurrentRow);}}else if(_currentRowKey){// 把初始时下设置的 rowKey 转化成 rowData\nthis.setCurrentRowByKey(_currentRowKey);this.restoreCurrentRowKey();}}}};// CONCATENATED MODULE: ./packages/table/src/store/tree.js\nvar _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/* harmony default export */var tree={data:function data(){return{states:{// defaultExpandAll 存在于 expand.js 中，这里不重复添加\n// 在展开行中，expandRowKeys 会被转化成 expandRows，expandRowKeys 这个属性只是记录了 TreeTable 行的展开\n// TODO: 拆分为独立的 TreeTable，统一用法\nexpandRowKeys:[],treeData:{},indent:16,lazy:false,lazyTreeNodeMap:{},lazyColumnIdentifier:'hasChildren',childrenColumnName:'children'}};},computed:{// 嵌入型的数据，watch 无法是检测到变化 https://github.com/ElemeFE/element/issues/14998\n// TODO: 使用 computed 解决该问题，是否会造成性能问题？\n// @return { id: { level, children } }\nnormalizedData:function normalizedData(){if(!this.states.rowKey)return{};var data=this.states.data||[];return this.normalize(data);},// @return { id: { children } }\n// 针对懒加载的情形，不处理嵌套数据\nnormalizedLazyNode:function normalizedLazyNode(){var _states=this.states,rowKey=_states.rowKey,lazyTreeNodeMap=_states.lazyTreeNodeMap,lazyColumnIdentifier=_states.lazyColumnIdentifier;var keys=Object.keys(lazyTreeNodeMap);var res={};if(!keys.length)return res;keys.forEach(function(key){if(lazyTreeNodeMap[key].length){var item={children:[]};lazyTreeNodeMap[key].forEach(function(row){var currentRowKey=getRowIdentity(row,rowKey);item.children.push(currentRowKey);if(row[lazyColumnIdentifier]&&!res[currentRowKey]){res[currentRowKey]={children:[]};}});res[key]=item;}});return res;}},watch:{normalizedData:'updateTreeData',normalizedLazyNode:'updateTreeData'},methods:{normalize:function normalize(data){var _states2=this.states,childrenColumnName=_states2.childrenColumnName,lazyColumnIdentifier=_states2.lazyColumnIdentifier,rowKey=_states2.rowKey,lazy=_states2.lazy;var res={};walkTreeNode(data,function(parent,children,level){var parentId=getRowIdentity(parent,rowKey);if(Array.isArray(children)){res[parentId]={children:children.map(function(row){return getRowIdentity(row,rowKey);}),level:level};}else if(lazy){// 当 children 不存在且 lazy 为 true，该节点即为懒加载的节点\nres[parentId]={children:[],lazy:true,level:level};}},childrenColumnName,lazyColumnIdentifier);return res;},updateTreeData:function updateTreeData(){var nested=this.normalizedData;var normalizedLazyNode=this.normalizedLazyNode;var keys=Object.keys(nested);var newTreeData={};if(keys.length){var _states3=this.states,oldTreeData=_states3.treeData,defaultExpandAll=_states3.defaultExpandAll,expandRowKeys=_states3.expandRowKeys,lazy=_states3.lazy;var rootLazyRowKeys=[];var getExpanded=function getExpanded(oldValue,key){var included=defaultExpandAll||expandRowKeys&&expandRowKeys.indexOf(key)!==-1;return!!(oldValue&&oldValue.expanded||included);};// 合并 expanded 与 display，确保数据刷新后，状态不变\nkeys.forEach(function(key){var oldValue=oldTreeData[key];var newValue=_extends({},nested[key]);newValue.expanded=getExpanded(oldValue,key);if(newValue.lazy){var _ref=oldValue||{},_ref$loaded=_ref.loaded,loaded=_ref$loaded===undefined?false:_ref$loaded,_ref$loading=_ref.loading,loading=_ref$loading===undefined?false:_ref$loading;newValue.loaded=!!loaded;newValue.loading=!!loading;rootLazyRowKeys.push(key);}newTreeData[key]=newValue;});// 根据懒加载数据更新 treeData\nvar lazyKeys=Object.keys(normalizedLazyNode);if(lazy&&lazyKeys.length&&rootLazyRowKeys.length){lazyKeys.forEach(function(key){var oldValue=oldTreeData[key];var lazyNodeChildren=normalizedLazyNode[key].children;if(rootLazyRowKeys.indexOf(key)!==-1){// 懒加载的 root 节点，更新一下原有的数据，原来的 children 一定是空数组\nif(newTreeData[key].children.length!==0){throw new Error('[ElTable]children must be an empty array.');}newTreeData[key].children=lazyNodeChildren;}else{var _ref2=oldValue||{},_ref2$loaded=_ref2.loaded,loaded=_ref2$loaded===undefined?false:_ref2$loaded,_ref2$loading=_ref2.loading,loading=_ref2$loading===undefined?false:_ref2$loading;newTreeData[key]={lazy:true,loaded:!!loaded,loading:!!loading,expanded:getExpanded(oldValue,key),children:lazyNodeChildren,level:''};}});}}this.states.treeData=newTreeData;this.updateTableScrollY();},updateTreeExpandKeys:function updateTreeExpandKeys(value){this.states.expandRowKeys=value;this.updateTreeData();},toggleTreeExpansion:function toggleTreeExpansion(row,expanded){this.assertRowKey();var _states4=this.states,rowKey=_states4.rowKey,treeData=_states4.treeData;var id=getRowIdentity(row,rowKey);var data=id&&treeData[id];if(id&&data&&'expanded'in data){var oldExpanded=data.expanded;expanded=typeof expanded==='undefined'?!data.expanded:expanded;treeData[id].expanded=expanded;if(oldExpanded!==expanded){this.table.$emit('expand-change',row,expanded);}this.updateTableScrollY();}},loadOrToggle:function loadOrToggle(row){this.assertRowKey();var _states5=this.states,lazy=_states5.lazy,treeData=_states5.treeData,rowKey=_states5.rowKey;var id=getRowIdentity(row,rowKey);var data=treeData[id];if(lazy&&data&&'loaded'in data&&!data.loaded){this.loadData(row,id,data);}else{this.toggleTreeExpansion(row);}},loadData:function loadData(row,key,treeNode){var _this=this;var load=this.table.load;var rawTreeData=this.states.treeData;if(load&&!rawTreeData[key].loaded){rawTreeData[key].loading=true;load(row,treeNode,function(data){if(!Array.isArray(data)){throw new Error('[ElTable] data must be an array');}var _states6=_this.states,lazyTreeNodeMap=_states6.lazyTreeNodeMap,treeData=_states6.treeData;treeData[key].loading=false;treeData[key].loaded=true;treeData[key].expanded=true;if(data.length){_this.$set(lazyTreeNodeMap,key,data);}_this.table.$emit('expand-change',row,true);});}}}};// CONCATENATED MODULE: ./packages/table/src/store/watcher.js\nvar watcher_sortData=function sortData(data,states){var sortingColumn=states.sortingColumn;if(!sortingColumn||typeof sortingColumn.sortable==='string'){return data;}return util_orderBy(data,states.sortProp,states.sortOrder,sortingColumn.sortMethod,sortingColumn.sortBy);};var doFlattenColumns=function doFlattenColumns(columns){var result=[];columns.forEach(function(column){if(column.children){result.push.apply(result,doFlattenColumns(column.children));}else{result.push(column);}});return result;};/* harmony default export */var watcher=external_vue_default.a.extend({data:function data(){return{states:{// 3.0 版本后要求必须设置该属性\nrowKey:null,// 渲染的数据来源，是对 table 中的 data 过滤排序后的结果\ndata:[],// 是否包含固定列\nisComplex:false,// 列\n_columns:[],// 不可响应的\noriginColumns:[],columns:[],fixedColumns:[],rightFixedColumns:[],leafColumns:[],fixedLeafColumns:[],rightFixedLeafColumns:[],leafColumnsLength:0,fixedLeafColumnsLength:0,rightFixedLeafColumnsLength:0,// 选择\nisAllSelected:false,selection:[],reserveSelection:false,selectOnIndeterminate:false,selectable:null,// 过滤\nfilters:{},// 不可响应的\nfilteredData:null,// 排序\nsortingColumn:null,sortProp:null,sortOrder:null,hoverRow:null}};},mixins:[expand,store_current,tree],methods:{// 检查 rowKey 是否存在\nassertRowKey:function assertRowKey(){var rowKey=this.states.rowKey;if(!rowKey)throw new Error('[ElTable] prop row-key is required');},// 更新列\nupdateColumns:function updateColumns(){var states=this.states;var _columns=states._columns||[];states.fixedColumns=_columns.filter(function(column){return column.fixed===true||column.fixed==='left';});states.rightFixedColumns=_columns.filter(function(column){return column.fixed==='right';});if(states.fixedColumns.length>0&&_columns[0]&&_columns[0].type==='selection'&&!_columns[0].fixed){_columns[0].fixed=true;states.fixedColumns.unshift(_columns[0]);}var notFixedColumns=_columns.filter(function(column){return!column.fixed;});states.originColumns=[].concat(states.fixedColumns).concat(notFixedColumns).concat(states.rightFixedColumns);var leafColumns=doFlattenColumns(notFixedColumns);var fixedLeafColumns=doFlattenColumns(states.fixedColumns);var rightFixedLeafColumns=doFlattenColumns(states.rightFixedColumns);states.leafColumnsLength=leafColumns.length;states.fixedLeafColumnsLength=fixedLeafColumns.length;states.rightFixedLeafColumnsLength=rightFixedLeafColumns.length;states.columns=[].concat(fixedLeafColumns).concat(leafColumns).concat(rightFixedLeafColumns);states.isComplex=states.fixedColumns.length>0||states.rightFixedColumns.length>0;},// 更新 DOM\nscheduleLayout:function scheduleLayout(needUpdateColumns){if(needUpdateColumns){this.updateColumns();}this.table.debouncedUpdateLayout();},// 选择\nisSelected:function isSelected(row){var _states$selection=this.states.selection,selection=_states$selection===undefined?[]:_states$selection;return selection.indexOf(row)>-1;},clearSelection:function clearSelection(){var states=this.states;states.isAllSelected=false;var oldSelection=states.selection;if(oldSelection.length){states.selection=[];this.table.$emit('selection-change',[]);}},cleanSelection:function cleanSelection(){var states=this.states;var data=states.data,rowKey=states.rowKey,selection=states.selection;var deleted=void 0;if(rowKey){deleted=[];var selectedMap=getKeysMap(selection,rowKey);var dataMap=getKeysMap(data,rowKey);for(var key in selectedMap){if(selectedMap.hasOwnProperty(key)&&!dataMap[key]){deleted.push(selectedMap[key].row);}}}else{deleted=selection.filter(function(item){return data.indexOf(item)===-1;});}if(deleted.length){var newSelection=selection.filter(function(item){return deleted.indexOf(item)===-1;});states.selection=newSelection;this.table.$emit('selection-change',newSelection.slice());}},toggleRowSelection:function toggleRowSelection(row,selected){var emitChange=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var changed=toggleRowStatus(this.states.selection,row,selected);if(changed){var newSelection=(this.states.selection||[]).slice();// 调用 API 修改选中值，不触发 select 事件\nif(emitChange){this.table.$emit('select',newSelection,row);}this.table.$emit('selection-change',newSelection);}},_toggleAllSelection:function _toggleAllSelection(){var states=this.states;var _states$data=states.data,data=_states$data===undefined?[]:_states$data,selection=states.selection;// when only some rows are selected (but not all), select or deselect all of them\n// depending on the value of selectOnIndeterminate\nvar value=states.selectOnIndeterminate?!states.isAllSelected:!(states.isAllSelected||selection.length);states.isAllSelected=value;var selectionChanged=false;data.forEach(function(row,index){if(states.selectable){if(states.selectable.call(null,row,index)&&toggleRowStatus(selection,row,value)){selectionChanged=true;}}else{if(toggleRowStatus(selection,row,value)){selectionChanged=true;}}});if(selectionChanged){this.table.$emit('selection-change',selection?selection.slice():[]);}this.table.$emit('select-all',selection);},updateSelectionByRowKey:function updateSelectionByRowKey(){var states=this.states;var selection=states.selection,rowKey=states.rowKey,data=states.data;var selectedMap=getKeysMap(selection,rowKey);data.forEach(function(row){var rowId=getRowIdentity(row,rowKey);var rowInfo=selectedMap[rowId];if(rowInfo){selection[rowInfo.index]=row;}});},updateAllSelected:function updateAllSelected(){var states=this.states;var selection=states.selection,rowKey=states.rowKey,selectable=states.selectable;// data 为 null 时，解构时的默认值会被忽略\nvar data=states.data||[];if(data.length===0){states.isAllSelected=false;return;}var selectedMap=void 0;if(rowKey){selectedMap=getKeysMap(selection,rowKey);}var isSelected=function isSelected(row){if(selectedMap){return!!selectedMap[getRowIdentity(row,rowKey)];}else{return selection.indexOf(row)!==-1;}};var isAllSelected=true;var selectedCount=0;for(var i=0,j=data.length;i<j;i++){var item=data[i];var isRowSelectable=selectable&&selectable.call(null,item,i);if(!isSelected(item)){if(!selectable||isRowSelectable){isAllSelected=false;break;}}else{selectedCount++;}}if(selectedCount===0)isAllSelected=false;states.isAllSelected=isAllSelected;},// 过滤与排序\nupdateFilters:function updateFilters(columns,values){if(!Array.isArray(columns)){columns=[columns];}var states=this.states;var filters={};columns.forEach(function(col){states.filters[col.id]=values;filters[col.columnKey||col.id]=values;});return filters;},updateSort:function updateSort(column,prop,order){if(this.states.sortingColumn&&this.states.sortingColumn!==column){this.states.sortingColumn.order=null;}this.states.sortingColumn=column;this.states.sortProp=prop;this.states.sortOrder=order;},execFilter:function execFilter(){var _this=this;var states=this.states;var _data=states._data,filters=states.filters;var data=_data;Object.keys(filters).forEach(function(columnId){var values=states.filters[columnId];if(!values||values.length===0)return;var column=getColumnById(_this.states,columnId);if(column&&column.filterMethod){data=data.filter(function(row){return values.some(function(value){return column.filterMethod.call(null,value,row,column);});});}});states.filteredData=data;},execSort:function execSort(){var states=this.states;states.data=watcher_sortData(states.filteredData,states);},// 根据 filters 与 sort 去过滤 data\nexecQuery:function execQuery(ignore){if(!(ignore&&ignore.filter)){this.execFilter();}this.execSort();},clearFilter:function clearFilter(columnKeys){var states=this.states;var _table$$refs=this.table.$refs,tableHeader=_table$$refs.tableHeader,fixedTableHeader=_table$$refs.fixedTableHeader,rightFixedTableHeader=_table$$refs.rightFixedTableHeader;var panels={};if(tableHeader)panels=merge_default()(panels,tableHeader.filterPanels);if(fixedTableHeader)panels=merge_default()(panels,fixedTableHeader.filterPanels);if(rightFixedTableHeader)panels=merge_default()(panels,rightFixedTableHeader.filterPanels);var keys=Object.keys(panels);if(!keys.length)return;if(typeof columnKeys==='string'){columnKeys=[columnKeys];}if(Array.isArray(columnKeys)){var columns=columnKeys.map(function(key){return getColumnByKey(states,key);});keys.forEach(function(key){var column=columns.find(function(col){return col.id===key;});if(column){// TODO: 优化这里的代码\npanels[key].filteredValue=[];}});this.commit('filterChange',{column:columns,values:[],silent:true,multi:true});}else{keys.forEach(function(key){// TODO: 优化这里的代码\npanels[key].filteredValue=[];});states.filters={};this.commit('filterChange',{column:{},values:[],silent:true});}},clearSort:function clearSort(){var states=this.states;if(!states.sortingColumn)return;this.updateSort(null,null,null);this.commit('changeSortCondition',{silent:true});},// 适配层，expand-row-keys 在 Expand 与 TreeTable 中都有使用\nsetExpandRowKeysAdapter:function setExpandRowKeysAdapter(val){// 这里会触发额外的计算，但为了兼容性，暂时这么做\nthis.setExpandRowKeys(val);this.updateTreeExpandKeys(val);},// 展开行与 TreeTable 都要使用\ntoggleRowExpansionAdapter:function toggleRowExpansionAdapter(row,expanded){var hasExpandColumn=this.states.columns.some(function(_ref){var type=_ref.type;return type==='expand';});if(hasExpandColumn){this.toggleRowExpansion(row,expanded);}else{this.toggleTreeExpansion(row,expanded);}}}});// CONCATENATED MODULE: ./packages/table/src/store/index.js\nwatcher.prototype.mutations={setData:function setData(states,data){var dataInstanceChanged=states._data!==data;states._data=data;this.execQuery();// 数据变化，更新部分数据。\n// 没有使用 computed，而是手动更新部分数据 https://github.com/vuejs/vue/issues/6660#issuecomment-331417140\nthis.updateCurrentRowData();this.updateExpandRows();if(states.reserveSelection){this.assertRowKey();this.updateSelectionByRowKey();}else{if(dataInstanceChanged){this.clearSelection();}else{this.cleanSelection();}}this.updateAllSelected();this.updateTableScrollY();},insertColumn:function insertColumn(states,column,index,parent){var array=states._columns;if(parent){array=parent.children;if(!array)array=parent.children=[];}if(typeof index!=='undefined'){array.splice(index,0,column);}else{array.push(column);}if(column.type==='selection'){states.selectable=column.selectable;states.reserveSelection=column.reserveSelection;}if(this.table.$ready){this.updateColumns();// hack for dynamics insert column\nthis.scheduleLayout();}},removeColumn:function removeColumn(states,column,parent){var array=states._columns;if(parent){array=parent.children;if(!array)array=parent.children=[];}if(array){array.splice(array.indexOf(column),1);}if(this.table.$ready){this.updateColumns();// hack for dynamics remove column\nthis.scheduleLayout();}},sort:function sort(states,options){var prop=options.prop,order=options.order,init=options.init;if(prop){var column=Object(util_[\"arrayFind\"])(states.columns,function(column){return column.property===prop;});if(column){column.order=order;this.updateSort(column,prop,order);this.commit('changeSortCondition',{init:init});}}},changeSortCondition:function changeSortCondition(states,options){// 修复 pr https://github.com/ElemeFE/element/pull/15012 导致的 bug\nvar column=states.sortingColumn,prop=states.sortProp,order=states.sortOrder;if(order===null){states.sortingColumn=null;states.sortProp=null;}var ingore={filter:true};this.execQuery(ingore);if(!options||!(options.silent||options.init)){this.table.$emit('sort-change',{column:column,prop:prop,order:order});}this.updateTableScrollY();},filterChange:function filterChange(states,options){var column=options.column,values=options.values,silent=options.silent;var newFilters=this.updateFilters(column,values);this.execQuery();if(!silent){this.table.$emit('filter-change',newFilters);}this.updateTableScrollY();},toggleAllSelection:function toggleAllSelection(){this.toggleAllSelection();},rowSelectedChanged:function rowSelectedChanged(states,row){this.toggleRowSelection(row);this.updateAllSelected();},setHoverRow:function setHoverRow(states,row){states.hoverRow=row;},setCurrentRow:function setCurrentRow(states,row){this.updateCurrentRow(row);}};watcher.prototype.commit=function(name){var mutations=this.mutations;if(mutations[name]){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}mutations[name].apply(this,[this.states].concat(args));}else{throw new Error('Action not found: '+name);}};watcher.prototype.updateTableScrollY=function(){external_vue_default.a.nextTick(this.table.updateScrollY);};/* harmony default export */var src_store=watcher;// CONCATENATED MODULE: ./packages/table/src/store/helper.js\nfunction createStore(table){var initialState=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!table){throw new Error('Table is required.');}var store=new src_store();store.table=table;// fix https://github.com/ElemeFE/element/issues/14075\n// related pr https://github.com/ElemeFE/element/pull/14146\nstore.toggleAllSelection=debounce_default()(10,store._toggleAllSelection);Object.keys(initialState).forEach(function(key){store.states[key]=initialState[key];});return store;}function mapStates(mapper){var res={};Object.keys(mapper).forEach(function(key){var value=mapper[key];var fn=void 0;if(typeof value==='string'){fn=function fn(){return this.store.states[value];};}else if(typeof value==='function'){fn=function fn(){return value.call(this,this.store.states);};}else{console.error('invalid value type');}if(fn){res[key]=fn;}});return res;};// EXTERNAL MODULE: external \"element-ui/lib/utils/scrollbar-width\"\nvar scrollbar_width_=__webpack_require__(30);var scrollbar_width_default=/*#__PURE__*/__webpack_require__.n(scrollbar_width_);// CONCATENATED MODULE: ./packages/table/src/table-layout.js\nfunction _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var table_layout_TableLayout=function(){function TableLayout(options){_classCallCheck(this,TableLayout);this.observers=[];this.table=null;this.store=null;this.columns=null;this.fit=true;this.showHeader=true;this.height=null;this.scrollX=false;this.scrollY=false;this.bodyWidth=null;this.fixedWidth=null;this.rightFixedWidth=null;this.tableHeight=null;this.headerHeight=44;// Table Header Height\nthis.appendHeight=0;// Append Slot Height\nthis.footerHeight=44;// Table Footer Height\nthis.viewportHeight=null;// Table Height - Scroll Bar Height\nthis.bodyHeight=null;// Table Height - Table Header Height\nthis.fixedBodyHeight=null;// Table Height - Table Header Height - Scroll Bar Height\nthis.gutterWidth=scrollbar_width_default()();for(var name in options){if(options.hasOwnProperty(name)){this[name]=options[name];}}if(!this.table){throw new Error('table is required for Table Layout');}if(!this.store){throw new Error('store is required for Table Layout');}}TableLayout.prototype.updateScrollY=function updateScrollY(){var height=this.height;if(height===null)return false;var bodyWrapper=this.table.bodyWrapper;if(this.table.$el&&bodyWrapper){var body=bodyWrapper.querySelector('.el-table__body');var prevScrollY=this.scrollY;var scrollY=body.offsetHeight>this.bodyHeight;this.scrollY=scrollY;return prevScrollY!==scrollY;}return false;};TableLayout.prototype.setHeight=function setHeight(value){var _this=this;var prop=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'height';if(external_vue_default.a.prototype.$isServer)return;var el=this.table.$el;value=parseHeight(value);this.height=value;if(!el&&(value||value===0))return external_vue_default.a.nextTick(function(){return _this.setHeight(value,prop);});if(typeof value==='number'){el.style[prop]=value+'px';this.updateElsHeight();}else if(typeof value==='string'){el.style[prop]=value;this.updateElsHeight();}};TableLayout.prototype.setMaxHeight=function setMaxHeight(value){this.setHeight(value,'max-height');};TableLayout.prototype.getFlattenColumns=function getFlattenColumns(){var flattenColumns=[];var columns=this.table.columns;columns.forEach(function(column){if(column.isColumnGroup){flattenColumns.push.apply(flattenColumns,column.columns);}else{flattenColumns.push(column);}});return flattenColumns;};TableLayout.prototype.updateElsHeight=function updateElsHeight(){var _this2=this;if(!this.table.$ready)return external_vue_default.a.nextTick(function(){return _this2.updateElsHeight();});var _table$$refs=this.table.$refs,headerWrapper=_table$$refs.headerWrapper,appendWrapper=_table$$refs.appendWrapper,footerWrapper=_table$$refs.footerWrapper;this.appendHeight=appendWrapper?appendWrapper.offsetHeight:0;if(this.showHeader&&!headerWrapper)return;// fix issue (https://github.com/ElemeFE/element/pull/16956)\nvar headerTrElm=headerWrapper?headerWrapper.querySelector('.el-table__header tr'):null;var noneHeader=this.headerDisplayNone(headerTrElm);var headerHeight=this.headerHeight=!this.showHeader?0:headerWrapper.offsetHeight;if(this.showHeader&&!noneHeader&&headerWrapper.offsetWidth>0&&(this.table.columns||[]).length>0&&headerHeight<2){return external_vue_default.a.nextTick(function(){return _this2.updateElsHeight();});}var tableHeight=this.tableHeight=this.table.$el.clientHeight;var footerHeight=this.footerHeight=footerWrapper?footerWrapper.offsetHeight:0;if(this.height!==null){this.bodyHeight=tableHeight-headerHeight-footerHeight+(footerWrapper?1:0);}this.fixedBodyHeight=this.scrollX?this.bodyHeight-this.gutterWidth:this.bodyHeight;var noData=!(this.store.states.data&&this.store.states.data.length);this.viewportHeight=this.scrollX?tableHeight-(noData?0:this.gutterWidth):tableHeight;this.updateScrollY();this.notifyObservers('scrollable');};TableLayout.prototype.headerDisplayNone=function headerDisplayNone(elm){if(!elm)return true;var headerChild=elm;while(headerChild.tagName!=='DIV'){if(getComputedStyle(headerChild).display==='none'){return true;}headerChild=headerChild.parentElement;}return false;};TableLayout.prototype.updateColumnsWidth=function updateColumnsWidth(){if(external_vue_default.a.prototype.$isServer)return;var fit=this.fit;var bodyWidth=this.table.$el.clientWidth;var bodyMinWidth=0;var flattenColumns=this.getFlattenColumns();var flexColumns=flattenColumns.filter(function(column){return typeof column.width!=='number';});flattenColumns.forEach(function(column){// Clean those columns whose width changed from flex to unflex\nif(typeof column.width==='number'&&column.realWidth)column.realWidth=null;});if(flexColumns.length>0&&fit){flattenColumns.forEach(function(column){bodyMinWidth+=column.width||column.minWidth||80;});var scrollYWidth=this.scrollY?this.gutterWidth:0;if(bodyMinWidth<=bodyWidth-scrollYWidth){// DON'T HAVE SCROLL BAR\nthis.scrollX=false;var totalFlexWidth=bodyWidth-scrollYWidth-bodyMinWidth;if(flexColumns.length===1){flexColumns[0].realWidth=(flexColumns[0].minWidth||80)+totalFlexWidth;}else{var allColumnsWidth=flexColumns.reduce(function(prev,column){return prev+(column.minWidth||80);},0);var flexWidthPerPixel=totalFlexWidth/allColumnsWidth;var noneFirstWidth=0;flexColumns.forEach(function(column,index){if(index===0)return;var flexWidth=Math.floor((column.minWidth||80)*flexWidthPerPixel);noneFirstWidth+=flexWidth;column.realWidth=(column.minWidth||80)+flexWidth;});flexColumns[0].realWidth=(flexColumns[0].minWidth||80)+totalFlexWidth-noneFirstWidth;}}else{// HAVE HORIZONTAL SCROLL BAR\nthis.scrollX=true;flexColumns.forEach(function(column){column.realWidth=column.minWidth;});}this.bodyWidth=Math.max(bodyMinWidth,bodyWidth);this.table.resizeState.width=this.bodyWidth;}else{flattenColumns.forEach(function(column){if(!column.width&&!column.minWidth){column.realWidth=80;}else{column.realWidth=column.width||column.minWidth;}bodyMinWidth+=column.realWidth;});this.scrollX=bodyMinWidth>bodyWidth;this.bodyWidth=bodyMinWidth;}var fixedColumns=this.store.states.fixedColumns;if(fixedColumns.length>0){var fixedWidth=0;fixedColumns.forEach(function(column){fixedWidth+=column.realWidth||column.width;});this.fixedWidth=fixedWidth;}var rightFixedColumns=this.store.states.rightFixedColumns;if(rightFixedColumns.length>0){var rightFixedWidth=0;rightFixedColumns.forEach(function(column){rightFixedWidth+=column.realWidth||column.width;});this.rightFixedWidth=rightFixedWidth;}this.notifyObservers('columns');};TableLayout.prototype.addObserver=function addObserver(observer){this.observers.push(observer);};TableLayout.prototype.removeObserver=function removeObserver(observer){var index=this.observers.indexOf(observer);if(index!==-1){this.observers.splice(index,1);}};TableLayout.prototype.notifyObservers=function notifyObservers(event){var _this3=this;var observers=this.observers;observers.forEach(function(observer){switch(event){case'columns':observer.onColumnsChange(_this3);break;case'scrollable':observer.onScrollableChange(_this3);break;default:throw new Error('Table Layout don\\'t have event '+event+'.');}});};return TableLayout;}();/* harmony default export */var table_layout=table_layout_TableLayout;// CONCATENATED MODULE: ./packages/table/src/layout-observer.js\n/* harmony default export */var layout_observer={created:function created(){this.tableLayout.addObserver(this);},destroyed:function destroyed(){this.tableLayout.removeObserver(this);},computed:{tableLayout:function tableLayout(){var layout=this.layout;if(!layout&&this.table){layout=this.table.layout;}if(!layout){throw new Error('Can not find table layout.');}return layout;}},mounted:function mounted(){this.onColumnsChange(this.tableLayout);this.onScrollableChange(this.tableLayout);},updated:function updated(){if(this.__updated__)return;this.onColumnsChange(this.tableLayout);this.onScrollableChange(this.tableLayout);this.__updated__=true;},methods:{onColumnsChange:function onColumnsChange(layout){var cols=this.$el.querySelectorAll('colgroup > col');if(!cols.length)return;var flattenColumns=layout.getFlattenColumns();var columnsMap={};flattenColumns.forEach(function(column){columnsMap[column.id]=column;});for(var i=0,j=cols.length;i<j;i++){var col=cols[i];var name=col.getAttribute('name');var column=columnsMap[name];if(column){col.setAttribute('width',column.realWidth||column.width);}}},onScrollableChange:function onScrollableChange(layout){var cols=this.$el.querySelectorAll('colgroup > col[name=gutter]');for(var i=0,j=cols.length;i<j;i++){var col=cols[i];col.setAttribute('width',layout.scrollY?layout.gutterWidth:'0');}var ths=this.$el.querySelectorAll('th.gutter');for(var _i=0,_j=ths.length;_i<_j;_i++){var th=ths[_i];th.style.width=layout.scrollY?layout.gutterWidth+'px':'0';th.style.display=layout.scrollY?'':'none';}}}};// CONCATENATED MODULE: ./packages/table/src/table-row.js\nvar table_row_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/* harmony default export */var table_row={name:'ElTableRow',props:['columns','row','index','isSelected','isExpanded','store','context','firstDefaultColumnIndex','treeRowData','treeIndent','columnsHidden','getSpan','getColspanRealWidth','getCellStyle','getCellClass','handleCellMouseLeave','handleCellMouseEnter','fixed'],render:function render(){var _this=this;var h=arguments[0];var columns=this.columns,row=this.row,$index=this.index,store=this.store,context=this.context,firstDefaultColumnIndex=this.firstDefaultColumnIndex,treeRowData=this.treeRowData,treeIndent=this.treeIndent,_columnsHidden=this.columnsHidden,columnsHidden=_columnsHidden===undefined?[]:_columnsHidden,isSelected=this.isSelected,isExpanded=this.isExpanded;return h('tr',[columns.map(function(column,cellIndex){var _getSpan=_this.getSpan(row,column,$index,cellIndex),rowspan=_getSpan.rowspan,colspan=_getSpan.colspan;if(!rowspan||!colspan){return null;}var columnData=table_row_extends({},column);columnData.realWidth=_this.getColspanRealWidth(columns,colspan,cellIndex);var data={store:store,isSelected:isSelected,isExpanded:isExpanded,_self:context,column:columnData,row:row,$index:$index};if(cellIndex===firstDefaultColumnIndex&&treeRowData){data.treeNode={indent:treeRowData.level*treeIndent,level:treeRowData.level};if(typeof treeRowData.expanded==='boolean'){data.treeNode.expanded=treeRowData.expanded;// 表明是懒加载\nif('loading'in treeRowData){data.treeNode.loading=treeRowData.loading;}if('noLazyChildren'in treeRowData){data.treeNode.noLazyChildren=treeRowData.noLazyChildren;}}}return h('td',{style:_this.getCellStyle($index,cellIndex,row,column),'class':_this.getCellClass($index,cellIndex,row,column),attrs:{rowspan:rowspan,colspan:colspan},on:{'mouseenter':function mouseenter($event){return _this.handleCellMouseEnter($event,row);},'mouseleave':_this.handleCellMouseLeave}},[column.renderCell.call(_this._renderProxy,_this.$createElement,data,columnsHidden[cellIndex])]);})]);}};// CONCATENATED MODULE: ./packages/table/src/table-body.js\nvar table_body_typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};var table_body_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/* harmony default export */var table_body={name:'ElTableBody',mixins:[layout_observer],components:{ElCheckbox:checkbox_default.a,ElTooltip:tooltip_default.a,TableRow:table_row},props:{store:{required:true},stripe:Boolean,context:{},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:String,highlight:Boolean},render:function render(h){var _this=this;var data=this.data||[];return h('table',{'class':'el-table__body',attrs:{cellspacing:'0',cellpadding:'0',border:'0'}},[h('colgroup',[this.columns.map(function(column){return h('col',{attrs:{name:column.id},key:column.id});})]),h('tbody',[data.reduce(function(acc,row){return acc.concat(_this.wrappedRowRender(row,acc.length));},[]),h('el-tooltip',{attrs:{effect:this.table.tooltipEffect,placement:'top',content:this.tooltipContent},ref:'tooltip'})])]);},computed:table_body_extends({table:function table(){return this.$parent;}},mapStates({data:'data',columns:'columns',treeIndent:'indent',leftFixedLeafCount:'fixedLeafColumnsLength',rightFixedLeafCount:'rightFixedLeafColumnsLength',columnsCount:function columnsCount(states){return states.columns.length;},leftFixedCount:function leftFixedCount(states){return states.fixedColumns.length;},rightFixedCount:function rightFixedCount(states){return states.rightFixedColumns.length;},hasExpandColumn:function hasExpandColumn(states){return states.columns.some(function(_ref){var type=_ref.type;return type==='expand';});}}),{columnsHidden:function columnsHidden(){var _this2=this;return this.columns.map(function(column,index){return _this2.isColumnHidden(index);});},firstDefaultColumnIndex:function firstDefaultColumnIndex(){return Object(util_[\"arrayFindIndex\"])(this.columns,function(_ref2){var type=_ref2.type;return type==='default';});}}),watch:{// don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/\n// update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40\n'store.states.hoverRow':function storeStatesHoverRow(newVal,oldVal){var _this3=this;if(!this.store.states.isComplex||this.$isServer)return;var raf=window.requestAnimationFrame;if(!raf){raf=function raf(fn){return setTimeout(fn,16);};}raf(function(){var rows=_this3.$el.querySelectorAll('.el-table__row');var oldRow=rows[oldVal];var newRow=rows[newVal];if(oldRow){Object(dom_[\"removeClass\"])(oldRow,'hover-row');}if(newRow){Object(dom_[\"addClass\"])(newRow,'hover-row');}});}},data:function data(){return{tooltipContent:''};},created:function created(){this.activateTooltip=debounce_default()(50,function(tooltip){return tooltip.handleShowPopper();});},methods:{getKeyOfRow:function getKeyOfRow(row,index){var rowKey=this.table.rowKey;if(rowKey){return getRowIdentity(row,rowKey);}return index;},isColumnHidden:function isColumnHidden(index){if(this.fixed===true||this.fixed==='left'){return index>=this.leftFixedLeafCount;}else if(this.fixed==='right'){return index<this.columnsCount-this.rightFixedLeafCount;}else{return index<this.leftFixedLeafCount||index>=this.columnsCount-this.rightFixedLeafCount;}},getSpan:function getSpan(row,column,rowIndex,columnIndex){var rowspan=1;var colspan=1;var fn=this.table.spanMethod;if(typeof fn==='function'){var result=fn({row:row,column:column,rowIndex:rowIndex,columnIndex:columnIndex});if(Array.isArray(result)){rowspan=result[0];colspan=result[1];}else if((typeof result==='undefined'?'undefined':table_body_typeof(result))==='object'){rowspan=result.rowspan;colspan=result.colspan;}}return{rowspan:rowspan,colspan:colspan};},getRowStyle:function getRowStyle(row,rowIndex){var rowStyle=this.table.rowStyle;if(typeof rowStyle==='function'){return rowStyle.call(null,{row:row,rowIndex:rowIndex});}return rowStyle||null;},getRowClass:function getRowClass(row,rowIndex){var classes=['el-table__row'];if(this.table.highlightCurrentRow&&row===this.store.states.currentRow){classes.push('current-row');}if(this.stripe&&rowIndex%2===1){classes.push('el-table__row--striped');}var rowClassName=this.table.rowClassName;if(typeof rowClassName==='string'){classes.push(rowClassName);}else if(typeof rowClassName==='function'){classes.push(rowClassName.call(null,{row:row,rowIndex:rowIndex}));}if(this.store.states.expandRows.indexOf(row)>-1){classes.push('expanded');}return classes;},getCellStyle:function getCellStyle(rowIndex,columnIndex,row,column){var cellStyle=this.table.cellStyle;if(typeof cellStyle==='function'){return cellStyle.call(null,{rowIndex:rowIndex,columnIndex:columnIndex,row:row,column:column});}return cellStyle;},getCellClass:function getCellClass(rowIndex,columnIndex,row,column){var classes=[column.id,column.align,column.className];if(this.isColumnHidden(columnIndex)){classes.push('is-hidden');}var cellClassName=this.table.cellClassName;if(typeof cellClassName==='string'){classes.push(cellClassName);}else if(typeof cellClassName==='function'){classes.push(cellClassName.call(null,{rowIndex:rowIndex,columnIndex:columnIndex,row:row,column:column}));}classes.push('el-table__cell');return classes.join(' ');},getColspanRealWidth:function getColspanRealWidth(columns,colspan,index){if(colspan<1){return columns[index].realWidth;}var widthArr=columns.map(function(_ref3){var realWidth=_ref3.realWidth;return realWidth;}).slice(index,index+colspan);return widthArr.reduce(function(acc,width){return acc+width;},-1);},handleCellMouseEnter:function handleCellMouseEnter(event,row){var table=this.table;var cell=getCell(event);if(cell){var column=getColumnByCell(table,cell);var hoverState=table.hoverState={cell:cell,column:column,row:row};table.$emit('cell-mouse-enter',hoverState.row,hoverState.column,hoverState.cell,event);}// 判断是否text-overflow, 如果是就显示tooltip\nvar cellChild=event.target.querySelector('.cell');if(!(Object(dom_[\"hasClass\"])(cellChild,'el-tooltip')&&cellChild.childNodes.length)){return;}// use range width instead of scrollWidth to determine whether the text is overflowing\n// to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3\nvar range=document.createRange();range.setStart(cellChild,0);range.setEnd(cellChild,cellChild.childNodes.length);var rangeWidth=range.getBoundingClientRect().width;var padding=(parseInt(Object(dom_[\"getStyle\"])(cellChild,'paddingLeft'),10)||0)+(parseInt(Object(dom_[\"getStyle\"])(cellChild,'paddingRight'),10)||0);if((rangeWidth+padding>cellChild.offsetWidth||cellChild.scrollWidth>cellChild.offsetWidth)&&this.$refs.tooltip){var tooltip=this.$refs.tooltip;// TODO 会引起整个 Table 的重新渲染，需要优化\nthis.tooltipContent=cell.innerText||cell.textContent;tooltip.referenceElm=cell;tooltip.$refs.popper&&(tooltip.$refs.popper.style.display='none');tooltip.doDestroy();tooltip.setExpectedState(true);this.activateTooltip(tooltip);}},handleCellMouseLeave:function handleCellMouseLeave(event){var tooltip=this.$refs.tooltip;if(tooltip){tooltip.setExpectedState(false);tooltip.handleClosePopper();}var cell=getCell(event);if(!cell)return;var oldHoverState=this.table.hoverState||{};this.table.$emit('cell-mouse-leave',oldHoverState.row,oldHoverState.column,oldHoverState.cell,event);},handleMouseEnter:debounce_default()(30,function(index){this.store.commit('setHoverRow',index);}),handleMouseLeave:debounce_default()(30,function(){this.store.commit('setHoverRow',null);}),handleContextMenu:function handleContextMenu(event,row){this.handleEvent(event,row,'contextmenu');},handleDoubleClick:function handleDoubleClick(event,row){this.handleEvent(event,row,'dblclick');},handleClick:function handleClick(event,row){this.store.commit('setCurrentRow',row);this.handleEvent(event,row,'click');},handleEvent:function handleEvent(event,row,name){var table=this.table;var cell=getCell(event);var column=void 0;if(cell){column=getColumnByCell(table,cell);if(column){table.$emit('cell-'+name,row,column,cell,event);}}table.$emit('row-'+name,row,column,event);},rowRender:function rowRender(row,$index,treeRowData){var _this4=this;var h=this.$createElement;var treeIndent=this.treeIndent,columns=this.columns,firstDefaultColumnIndex=this.firstDefaultColumnIndex;var rowClasses=this.getRowClass(row,$index);var display=true;if(treeRowData){rowClasses.push('el-table__row--level-'+treeRowData.level);display=treeRowData.display;}// 指令 v-show 会覆盖 row-style 中 display\n// 使用 :style 代替 v-show https://github.com/ElemeFE/element/issues/16995\nvar displayStyle=display?null:{display:'none'};return h(table_row,{style:[displayStyle,this.getRowStyle(row,$index)],'class':rowClasses,key:this.getKeyOfRow(row,$index),nativeOn:{'dblclick':function dblclick($event){return _this4.handleDoubleClick($event,row);},'click':function click($event){return _this4.handleClick($event,row);},'contextmenu':function contextmenu($event){return _this4.handleContextMenu($event,row);},'mouseenter':function mouseenter(_){return _this4.handleMouseEnter($index);},'mouseleave':this.handleMouseLeave},attrs:{columns:columns,row:row,index:$index,store:this.store,context:this.context||this.table.$vnode.context,firstDefaultColumnIndex:firstDefaultColumnIndex,treeRowData:treeRowData,treeIndent:treeIndent,columnsHidden:this.columnsHidden,getSpan:this.getSpan,getColspanRealWidth:this.getColspanRealWidth,getCellStyle:this.getCellStyle,getCellClass:this.getCellClass,handleCellMouseEnter:this.handleCellMouseEnter,handleCellMouseLeave:this.handleCellMouseLeave,isSelected:this.store.isSelected(row),isExpanded:this.store.states.expandRows.indexOf(row)>-1,fixed:this.fixed}});},wrappedRowRender:function wrappedRowRender(row,$index){var _this5=this;var h=this.$createElement;var store=this.store;var isRowExpanded=store.isRowExpanded,assertRowKey=store.assertRowKey;var _store$states=store.states,treeData=_store$states.treeData,lazyTreeNodeMap=_store$states.lazyTreeNodeMap,childrenColumnName=_store$states.childrenColumnName,rowKey=_store$states.rowKey;if(this.hasExpandColumn&&isRowExpanded(row)){var renderExpanded=this.table.renderExpanded;var tr=this.rowRender(row,$index);if(!renderExpanded){console.error('[Element Error]renderExpanded is required.');return tr;}// 使用二维数组，避免修改 $index\nreturn[[tr,h('tr',{key:'expanded-row__'+tr.key},[h('td',{attrs:{colspan:this.columnsCount},'class':'el-table__cell el-table__expanded-cell'},[renderExpanded(this.$createElement,{row:row,$index:$index,store:this.store})])])]];}else if(Object.keys(treeData).length){assertRowKey();// TreeTable 时，rowKey 必须由用户设定，不使用 getKeyOfRow 计算\n// 在调用 rowRender 函数时，仍然会计算 rowKey，不太好的操作\nvar key=getRowIdentity(row,rowKey);var cur=treeData[key];var treeRowData=null;if(cur){treeRowData={expanded:cur.expanded,level:cur.level,display:true};if(typeof cur.lazy==='boolean'){if(typeof cur.loaded==='boolean'&&cur.loaded){treeRowData.noLazyChildren=!(cur.children&&cur.children.length);}treeRowData.loading=cur.loading;}}var tmp=[this.rowRender(row,$index,treeRowData)];// 渲染嵌套数据\nif(cur){// currentRow 记录的是 index，所以还需主动增加 TreeTable 的 index\nvar i=0;var traverse=function traverse(children,parent){if(!(children&&children.length&&parent))return;children.forEach(function(node){// 父节点的 display 状态影响子节点的显示状态\nvar innerTreeRowData={display:parent.display&&parent.expanded,level:parent.level+1};var childKey=getRowIdentity(node,rowKey);if(childKey===undefined||childKey===null){throw new Error('for nested data item, row-key is required.');}cur=table_body_extends({},treeData[childKey]);// 对于当前节点，分成有无子节点两种情况。\n// 如果包含子节点的，设置 expanded 属性。\n// 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\nif(cur){innerTreeRowData.expanded=cur.expanded;// 懒加载的某些节点，level 未知\ncur.level=cur.level||innerTreeRowData.level;cur.display=!!(cur.expanded&&innerTreeRowData.display);if(typeof cur.lazy==='boolean'){if(typeof cur.loaded==='boolean'&&cur.loaded){innerTreeRowData.noLazyChildren=!(cur.children&&cur.children.length);}innerTreeRowData.loading=cur.loading;}}i++;tmp.push(_this5.rowRender(node,$index+i,innerTreeRowData));if(cur){var _nodes=lazyTreeNodeMap[childKey]||node[childrenColumnName];traverse(_nodes,cur);}});};// 对于 root 节点，display 一定为 true\ncur.display=true;var nodes=lazyTreeNodeMap[key]||row[childrenColumnName];traverse(nodes,cur);}return tmp;}else{return this.rowRender(row,$index);}}}};// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f&\nvar filter_panelvue_type_template_id_7f2c919f_render=function filter_panelvue_type_template_id_7f2c919f_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"}},[_vm.multiple?_c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleOutsideClick,expression:\"handleOutsideClick\"},{name:\"show\",rawName:\"v-show\",value:_vm.showPopper,expression:\"showPopper\"}],staticClass:\"el-table-filter\"},[_c(\"div\",{staticClass:\"el-table-filter__content\"},[_c(\"el-scrollbar\",{attrs:{\"wrap-class\":\"el-table-filter__wrap\"}},[_c(\"el-checkbox-group\",{staticClass:\"el-table-filter__checkbox-group\",model:{value:_vm.filteredValue,callback:function callback($$v){_vm.filteredValue=$$v;},expression:\"filteredValue\"}},_vm._l(_vm.filters,function(filter){return _c(\"el-checkbox\",{key:filter.value,attrs:{label:filter.value}},[_vm._v(_vm._s(filter.text))]);}),1)],1)],1),_c(\"div\",{staticClass:\"el-table-filter__bottom\"},[_c(\"button\",{class:{\"is-disabled\":_vm.filteredValue.length===0},attrs:{disabled:_vm.filteredValue.length===0},on:{click:_vm.handleConfirm}},[_vm._v(_vm._s(_vm.t(\"el.table.confirmFilter\")))]),_c(\"button\",{on:{click:_vm.handleReset}},[_vm._v(_vm._s(_vm.t(\"el.table.resetFilter\")))])])]):_c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleOutsideClick,expression:\"handleOutsideClick\"},{name:\"show\",rawName:\"v-show\",value:_vm.showPopper,expression:\"showPopper\"}],staticClass:\"el-table-filter\"},[_c(\"ul\",{staticClass:\"el-table-filter__list\"},[_c(\"li\",{staticClass:\"el-table-filter__list-item\",class:{\"is-active\":_vm.filterValue===undefined||_vm.filterValue===null},on:{click:function click($event){_vm.handleSelect(null);}}},[_vm._v(_vm._s(_vm.t(\"el.table.clearFilter\")))]),_vm._l(_vm.filters,function(filter){return _c(\"li\",{key:filter.value,staticClass:\"el-table-filter__list-item\",class:{\"is-active\":_vm.isActive(filter)},attrs:{label:filter.value},on:{click:function click($event){_vm.handleSelect(filter.value);}}},[_vm._v(_vm._s(filter.text))]);})],2)])]);};var filter_panelvue_type_template_id_7f2c919f_staticRenderFns=[];filter_panelvue_type_template_id_7f2c919f_render._withStripped=true;// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f&\n// CONCATENATED MODULE: ./packages/table/src/dropdown.js\nvar dropdowns=[];!external_vue_default.a.prototype.$isServer&&document.addEventListener('click',function(event){dropdowns.forEach(function(dropdown){var target=event.target;if(!dropdown||!dropdown.$el)return;if(target===dropdown.$el||dropdown.$el.contains(target)){return;}dropdown.handleOutsideClick&&dropdown.handleOutsideClick(event);});});/* harmony default export */var src_dropdown={open:function open(instance){if(instance){dropdowns.push(instance);}},close:function close(instance){var index=dropdowns.indexOf(instance);if(index!==-1){dropdowns.splice(instance,1);}}};// EXTERNAL MODULE: external \"element-ui/lib/checkbox-group\"\nvar checkbox_group_=__webpack_require__(31);var checkbox_group_default=/*#__PURE__*/__webpack_require__.n(checkbox_group_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var filter_panelvue_type_script_lang_js_={name:'ElTableFilterPanel',mixins:[vue_popper_default.a,locale_default.a],directives:{Clickoutside:clickoutside_default.a},components:{ElCheckbox:checkbox_default.a,ElCheckboxGroup:checkbox_group_default.a,ElScrollbar:scrollbar_default.a},props:{placement:{type:String,default:'bottom-end'}},methods:{isActive:function isActive(filter){return filter.value===this.filterValue;},handleOutsideClick:function handleOutsideClick(){var _this=this;setTimeout(function(){_this.showPopper=false;},16);},handleConfirm:function handleConfirm(){this.confirmFilter(this.filteredValue);this.handleOutsideClick();},handleReset:function handleReset(){this.filteredValue=[];this.confirmFilter(this.filteredValue);this.handleOutsideClick();},handleSelect:function handleSelect(filterValue){this.filterValue=filterValue;if(typeof filterValue!=='undefined'&&filterValue!==null){this.confirmFilter(this.filteredValue);}else{this.confirmFilter([]);}this.handleOutsideClick();},confirmFilter:function confirmFilter(filteredValue){this.table.store.commit('filterChange',{column:this.column,values:filteredValue});this.table.store.updateAllSelected();}},data:function data(){return{table:null,cell:null,column:null};},computed:{filters:function filters(){return this.column&&this.column.filters;},filterValue:{get:function get(){return(this.column.filteredValue||[])[0];},set:function set(value){if(this.filteredValue){if(typeof value!=='undefined'&&value!==null){this.filteredValue.splice(0,1,value);}else{this.filteredValue.splice(0,1);}}}},filteredValue:{get:function get(){if(this.column){return this.column.filteredValue||[];}return[];},set:function set(value){if(this.column){this.column.filteredValue=value;}}},multiple:function multiple(){if(this.column){return this.column.filterMultiple;}return true;}},mounted:function mounted(){var _this2=this;this.popperElm=this.$el;this.referenceElm=this.cell;this.table.bodyWrapper.addEventListener('scroll',function(){_this2.updatePopper();});this.$watch('showPopper',function(value){if(_this2.column)_this2.column.filterOpened=value;if(value){src_dropdown.open(_this2);}else{src_dropdown.close(_this2);}});},watch:{showPopper:function showPopper(val){if(val===true&&parseInt(this.popperJS._popper.style.zIndex,10)<popup_[\"PopupManager\"].zIndex){this.popperJS._popper.style.zIndex=popup_[\"PopupManager\"].nextZIndex();}}}};// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=script&lang=js&\n/* harmony default export */var src_filter_panelvue_type_script_lang_js_=filter_panelvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue\n/* normalize component */var filter_panel_component=normalizeComponent(src_filter_panelvue_type_script_lang_js_,filter_panelvue_type_template_id_7f2c919f_render,filter_panelvue_type_template_id_7f2c919f_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var filter_panel_api; }filter_panel_component.options.__file=\"packages/table/src/filter-panel.vue\";/* harmony default export */var filter_panel=filter_panel_component.exports;// CONCATENATED MODULE: ./packages/table/src/table-header.js\nvar table_header_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var getAllColumns=function getAllColumns(columns){var result=[];columns.forEach(function(column){if(column.children){result.push(column);result.push.apply(result,getAllColumns(column.children));}else{result.push(column);}});return result;};var convertToRows=function convertToRows(originColumns){var maxLevel=1;var traverse=function traverse(column,parent){if(parent){column.level=parent.level+1;if(maxLevel<column.level){maxLevel=column.level;}}if(column.children){var colSpan=0;column.children.forEach(function(subColumn){traverse(subColumn,column);colSpan+=subColumn.colSpan;});column.colSpan=colSpan;}else{column.colSpan=1;}};originColumns.forEach(function(column){column.level=1;traverse(column);});var rows=[];for(var i=0;i<maxLevel;i++){rows.push([]);}var allColumns=getAllColumns(originColumns);allColumns.forEach(function(column){if(!column.children){column.rowSpan=maxLevel-column.level+1;}else{column.rowSpan=1;}rows[column.level-1].push(column);});return rows;};/* harmony default export */var table_header={name:'ElTableHeader',mixins:[layout_observer],render:function render(h){var _this=this;var originColumns=this.store.states.originColumns;var columnRows=convertToRows(originColumns,this.columns);// 是否拥有多级表头\nvar isGroup=columnRows.length>1;if(isGroup)this.$parent.isGroup=true;return h('table',{'class':'el-table__header',attrs:{cellspacing:'0',cellpadding:'0',border:'0'}},[h('colgroup',[this.columns.map(function(column){return h('col',{attrs:{name:column.id},key:column.id});}),this.hasGutter?h('col',{attrs:{name:'gutter'}}):'']),h('thead',{'class':[{'is-group':isGroup,'has-gutter':this.hasGutter}]},[this._l(columnRows,function(columns,rowIndex){return h('tr',{style:_this.getHeaderRowStyle(rowIndex),'class':_this.getHeaderRowClass(rowIndex)},[columns.map(function(column,cellIndex){return h('th',{attrs:{colspan:column.colSpan,rowspan:column.rowSpan},on:{'mousemove':function mousemove($event){return _this.handleMouseMove($event,column);},'mouseout':_this.handleMouseOut,'mousedown':function mousedown($event){return _this.handleMouseDown($event,column);},'click':function click($event){return _this.handleHeaderClick($event,column);},'contextmenu':function contextmenu($event){return _this.handleHeaderContextMenu($event,column);}},style:_this.getHeaderCellStyle(rowIndex,cellIndex,columns,column),'class':_this.getHeaderCellClass(rowIndex,cellIndex,columns,column),key:column.id},[h('div',{'class':['cell',column.filteredValue&&column.filteredValue.length>0?'highlight':'',column.labelClassName]},[column.renderHeader?column.renderHeader.call(_this._renderProxy,h,{column:column,$index:cellIndex,store:_this.store,_self:_this.$parent.$vnode.context}):column.label,column.sortable?h('span',{'class':'caret-wrapper',on:{'click':function click($event){return _this.handleSortClick($event,column);}}},[h('i',{'class':'sort-caret ascending',on:{'click':function click($event){return _this.handleSortClick($event,column,'ascending');}}}),h('i',{'class':'sort-caret descending',on:{'click':function click($event){return _this.handleSortClick($event,column,'descending');}}})]):'',column.filterable?h('span',{'class':'el-table__column-filter-trigger',on:{'click':function click($event){return _this.handleFilterClick($event,column);}}},[h('i',{'class':['el-icon-arrow-down',column.filterOpened?'el-icon-arrow-up':'']})]):''])]);}),_this.hasGutter?h('th',{'class':'el-table__cell gutter'}):'']);})])]);},props:{fixed:String,store:{required:true},border:Boolean,defaultSort:{type:Object,default:function _default(){return{prop:'',order:''};}}},components:{ElCheckbox:checkbox_default.a},computed:table_header_extends({table:function table(){return this.$parent;},hasGutter:function hasGutter(){return!this.fixed&&this.tableLayout.gutterWidth;}},mapStates({columns:'columns',isAllSelected:'isAllSelected',leftFixedLeafCount:'fixedLeafColumnsLength',rightFixedLeafCount:'rightFixedLeafColumnsLength',columnsCount:function columnsCount(states){return states.columns.length;},leftFixedCount:function leftFixedCount(states){return states.fixedColumns.length;},rightFixedCount:function rightFixedCount(states){return states.rightFixedColumns.length;}})),created:function created(){this.filterPanels={};},mounted:function mounted(){var _this2=this;// nextTick 是有必要的 https://github.com/ElemeFE/element/pull/11311\nthis.$nextTick(function(){var _defaultSort=_this2.defaultSort,prop=_defaultSort.prop,order=_defaultSort.order;var init=true;_this2.store.commit('sort',{prop:prop,order:order,init:init});});},beforeDestroy:function beforeDestroy(){var panels=this.filterPanels;for(var prop in panels){if(panels.hasOwnProperty(prop)&&panels[prop]){panels[prop].$destroy(true);}}},methods:{isCellHidden:function isCellHidden(index,columns){var start=0;for(var i=0;i<index;i++){start+=columns[i].colSpan;}var after=start+columns[index].colSpan-1;if(this.fixed===true||this.fixed==='left'){return after>=this.leftFixedLeafCount;}else if(this.fixed==='right'){return start<this.columnsCount-this.rightFixedLeafCount;}else{return after<this.leftFixedLeafCount||start>=this.columnsCount-this.rightFixedLeafCount;}},getHeaderRowStyle:function getHeaderRowStyle(rowIndex){var headerRowStyle=this.table.headerRowStyle;if(typeof headerRowStyle==='function'){return headerRowStyle.call(null,{rowIndex:rowIndex});}return headerRowStyle;},getHeaderRowClass:function getHeaderRowClass(rowIndex){var classes=[];var headerRowClassName=this.table.headerRowClassName;if(typeof headerRowClassName==='string'){classes.push(headerRowClassName);}else if(typeof headerRowClassName==='function'){classes.push(headerRowClassName.call(null,{rowIndex:rowIndex}));}return classes.join(' ');},getHeaderCellStyle:function getHeaderCellStyle(rowIndex,columnIndex,row,column){var headerCellStyle=this.table.headerCellStyle;if(typeof headerCellStyle==='function'){return headerCellStyle.call(null,{rowIndex:rowIndex,columnIndex:columnIndex,row:row,column:column});}return headerCellStyle;},getHeaderCellClass:function getHeaderCellClass(rowIndex,columnIndex,row,column){var classes=[column.id,column.order,column.headerAlign,column.className,column.labelClassName];if(rowIndex===0&&this.isCellHidden(columnIndex,row)){classes.push('is-hidden');}if(!column.children){classes.push('is-leaf');}if(column.sortable){classes.push('is-sortable');}var headerCellClassName=this.table.headerCellClassName;if(typeof headerCellClassName==='string'){classes.push(headerCellClassName);}else if(typeof headerCellClassName==='function'){classes.push(headerCellClassName.call(null,{rowIndex:rowIndex,columnIndex:columnIndex,row:row,column:column}));}classes.push('el-table__cell');return classes.join(' ');},toggleAllSelection:function toggleAllSelection(){this.store.commit('toggleAllSelection');},handleFilterClick:function handleFilterClick(event,column){event.stopPropagation();var target=event.target;var cell=target.tagName==='TH'?target:target.parentNode;if(Object(dom_[\"hasClass\"])(cell,'noclick'))return;cell=cell.querySelector('.el-table__column-filter-trigger')||cell;var table=this.$parent;var filterPanel=this.filterPanels[column.id];if(filterPanel&&column.filterOpened){filterPanel.showPopper=false;return;}if(!filterPanel){filterPanel=new external_vue_default.a(filter_panel);this.filterPanels[column.id]=filterPanel;if(column.filterPlacement){filterPanel.placement=column.filterPlacement;}filterPanel.table=table;filterPanel.cell=cell;filterPanel.column=column;!this.$isServer&&filterPanel.$mount(document.createElement('div'));}setTimeout(function(){filterPanel.showPopper=true;},16);},handleHeaderClick:function handleHeaderClick(event,column){if(!column.filters&&column.sortable){this.handleSortClick(event,column);}else if(column.filterable&&!column.sortable){this.handleFilterClick(event,column);}this.$parent.$emit('header-click',column,event);},handleHeaderContextMenu:function handleHeaderContextMenu(event,column){this.$parent.$emit('header-contextmenu',column,event);},handleMouseDown:function handleMouseDown(event,column){var _this3=this;if(this.$isServer)return;if(column.children&&column.children.length>0)return;/* istanbul ignore if */if(this.draggingColumn&&this.border){this.dragging=true;this.$parent.resizeProxyVisible=true;var table=this.$parent;var tableEl=table.$el;var tableLeft=tableEl.getBoundingClientRect().left;var columnEl=this.$el.querySelector('th.'+column.id);var columnRect=columnEl.getBoundingClientRect();var minLeft=columnRect.left-tableLeft+30;Object(dom_[\"addClass\"])(columnEl,'noclick');this.dragState={startMouseLeft:event.clientX,startLeft:columnRect.right-tableLeft,startColumnLeft:columnRect.left-tableLeft,tableLeft:tableLeft};var resizeProxy=table.$refs.resizeProxy;resizeProxy.style.left=this.dragState.startLeft+'px';document.onselectstart=function(){return false;};document.ondragstart=function(){return false;};var handleMouseMove=function handleMouseMove(event){var deltaLeft=event.clientX-_this3.dragState.startMouseLeft;var proxyLeft=_this3.dragState.startLeft+deltaLeft;resizeProxy.style.left=Math.max(minLeft,proxyLeft)+'px';};var handleMouseUp=function handleMouseUp(){if(_this3.dragging){var _dragState=_this3.dragState,startColumnLeft=_dragState.startColumnLeft,startLeft=_dragState.startLeft;var finalLeft=parseInt(resizeProxy.style.left,10);var columnWidth=finalLeft-startColumnLeft;column.width=column.realWidth=columnWidth;table.$emit('header-dragend',column.width,startLeft-startColumnLeft,column,event);_this3.store.scheduleLayout();document.body.style.cursor='';_this3.dragging=false;_this3.draggingColumn=null;_this3.dragState={};table.resizeProxyVisible=false;}document.removeEventListener('mousemove',handleMouseMove);document.removeEventListener('mouseup',handleMouseUp);document.onselectstart=null;document.ondragstart=null;setTimeout(function(){Object(dom_[\"removeClass\"])(columnEl,'noclick');},0);};document.addEventListener('mousemove',handleMouseMove);document.addEventListener('mouseup',handleMouseUp);}},handleMouseMove:function handleMouseMove(event,column){if(column.children&&column.children.length>0)return;var target=event.target;while(target&&target.tagName!=='TH'){target=target.parentNode;}if(!column||!column.resizable)return;if(!this.dragging&&this.border){var rect=target.getBoundingClientRect();var bodyStyle=document.body.style;if(rect.width>12&&rect.right-event.pageX<8){bodyStyle.cursor='col-resize';if(Object(dom_[\"hasClass\"])(target,'is-sortable')){target.style.cursor='col-resize';}this.draggingColumn=column;}else if(!this.dragging){bodyStyle.cursor='';if(Object(dom_[\"hasClass\"])(target,'is-sortable')){target.style.cursor='pointer';}this.draggingColumn=null;}}},handleMouseOut:function handleMouseOut(){if(this.$isServer)return;document.body.style.cursor='';},toggleOrder:function toggleOrder(_ref){var order=_ref.order,sortOrders=_ref.sortOrders;if(order==='')return sortOrders[0];var index=sortOrders.indexOf(order||null);return sortOrders[index>sortOrders.length-2?0:index+1];},handleSortClick:function handleSortClick(event,column,givenOrder){event.stopPropagation();var order=column.order===givenOrder?null:givenOrder||this.toggleOrder(column);var target=event.target;while(target&&target.tagName!=='TH'){target=target.parentNode;}if(target&&target.tagName==='TH'){if(Object(dom_[\"hasClass\"])(target,'noclick')){Object(dom_[\"removeClass\"])(target,'noclick');return;}}if(!column.sortable)return;var states=this.store.states;var sortProp=states.sortProp;var sortOrder=void 0;var sortingColumn=states.sortingColumn;if(sortingColumn!==column||sortingColumn===column&&sortingColumn.order===null){if(sortingColumn){sortingColumn.order=null;}states.sortingColumn=column;sortProp=column.property;}if(!order){sortOrder=column.order=null;}else{sortOrder=column.order=order;}states.sortProp=sortProp;states.sortOrder=sortOrder;this.store.commit('changeSortCondition');}},data:function data(){return{draggingColumn:null,dragging:false,dragState:{}};}};// CONCATENATED MODULE: ./packages/table/src/table-footer.js\nvar table_footer_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/* harmony default export */var table_footer={name:'ElTableFooter',mixins:[layout_observer],render:function render(h){var _this=this;var sums=[];if(this.summaryMethod){sums=this.summaryMethod({columns:this.columns,data:this.store.states.data});}else{this.columns.forEach(function(column,index){if(index===0){sums[index]=_this.sumText;return;}var values=_this.store.states.data.map(function(item){return Number(item[column.property]);});var precisions=[];var notNumber=true;values.forEach(function(value){if(!isNaN(value)){notNumber=false;var decimal=(''+value).split('.')[1];precisions.push(decimal?decimal.length:0);}});var precision=Math.max.apply(null,precisions);if(!notNumber){sums[index]=values.reduce(function(prev,curr){var value=Number(curr);if(!isNaN(value)){return parseFloat((prev+curr).toFixed(Math.min(precision,20)));}else{return prev;}},0);}else{sums[index]='';}});}return h('table',{'class':'el-table__footer',attrs:{cellspacing:'0',cellpadding:'0',border:'0'}},[h('colgroup',[this.columns.map(function(column){return h('col',{attrs:{name:column.id},key:column.id});}),this.hasGutter?h('col',{attrs:{name:'gutter'}}):'']),h('tbody',{'class':[{'has-gutter':this.hasGutter}]},[h('tr',[this.columns.map(function(column,cellIndex){return h('td',{key:cellIndex,attrs:{colspan:column.colSpan,rowspan:column.rowSpan},'class':[].concat(_this.getRowClasses(column,cellIndex),['el-table__cell'])},[h('div',{'class':['cell',column.labelClassName]},[sums[cellIndex]])]);}),this.hasGutter?h('th',{'class':'el-table__cell gutter'}):''])])]);},props:{fixed:String,store:{required:true},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:function _default(){return{prop:'',order:''};}}},computed:table_footer_extends({table:function table(){return this.$parent;},hasGutter:function hasGutter(){return!this.fixed&&this.tableLayout.gutterWidth;}},mapStates({columns:'columns',isAllSelected:'isAllSelected',leftFixedLeafCount:'fixedLeafColumnsLength',rightFixedLeafCount:'rightFixedLeafColumnsLength',columnsCount:function columnsCount(states){return states.columns.length;},leftFixedCount:function leftFixedCount(states){return states.fixedColumns.length;},rightFixedCount:function rightFixedCount(states){return states.rightFixedColumns.length;}})),methods:{isCellHidden:function isCellHidden(index,columns,column){if(this.fixed===true||this.fixed==='left'){return index>=this.leftFixedLeafCount;}else if(this.fixed==='right'){var before=0;for(var i=0;i<index;i++){before+=columns[i].colSpan;}return before<this.columnsCount-this.rightFixedLeafCount;}else if(!this.fixed&&column.fixed){// hide cell when footer instance is not fixed and column is fixed\nreturn true;}else{return index<this.leftFixedCount||index>=this.columnsCount-this.rightFixedCount;}},getRowClasses:function getRowClasses(column,cellIndex){var classes=[column.id,column.align,column.labelClassName];if(column.className){classes.push(column.className);}if(this.isCellHidden(cellIndex,this.columns,column)){classes.push('is-hidden');}if(!column.children){classes.push('is-leaf');}return classes;}}};// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=script&lang=js&\nvar tablevue_type_script_lang_js_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar tableIdSeed=1;/* harmony default export */var tablevue_type_script_lang_js_={name:'ElTable',mixins:[locale_default.a,migrating_default.a],directives:{Mousewheel:directives_mousewheel},props:{data:{type:Array,default:function _default(){return[];}},size:String,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:true},stripe:Boolean,border:Boolean,rowKey:[String,Function],context:{},showHeader:{type:Boolean,default:true},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:true},indent:{type:Number,default:16},treeProps:{type:Object,default:function _default(){return{hasChildren:'hasChildren',children:'children'};}},lazy:Boolean,load:Function},components:{TableHeader:table_header,TableFooter:table_footer,TableBody:table_body,ElCheckbox:checkbox_default.a},methods:{getMigratingConfig:function getMigratingConfig(){return{events:{expand:'expand is renamed to expand-change'}};},setCurrentRow:function setCurrentRow(row){this.store.commit('setCurrentRow',row);},toggleRowSelection:function toggleRowSelection(row,selected){this.store.toggleRowSelection(row,selected,false);this.store.updateAllSelected();},toggleRowExpansion:function toggleRowExpansion(row,expanded){this.store.toggleRowExpansionAdapter(row,expanded);},clearSelection:function clearSelection(){this.store.clearSelection();},clearFilter:function clearFilter(columnKeys){this.store.clearFilter(columnKeys);},clearSort:function clearSort(){this.store.clearSort();},handleMouseLeave:function handleMouseLeave(){this.store.commit('setHoverRow',null);if(this.hoverState)this.hoverState=null;},updateScrollY:function updateScrollY(){var changed=this.layout.updateScrollY();if(changed){this.layout.notifyObservers('scrollable');this.layout.updateColumnsWidth();}},handleFixedMousewheel:function handleFixedMousewheel(event,data){var bodyWrapper=this.bodyWrapper;if(Math.abs(data.spinY)>0){var currentScrollTop=bodyWrapper.scrollTop;if(data.pixelY<0&&currentScrollTop!==0){event.preventDefault();}if(data.pixelY>0&&bodyWrapper.scrollHeight-bodyWrapper.clientHeight>currentScrollTop){event.preventDefault();}bodyWrapper.scrollTop+=Math.ceil(data.pixelY/5);}else{bodyWrapper.scrollLeft+=Math.ceil(data.pixelX/5);}},handleHeaderFooterMousewheel:function handleHeaderFooterMousewheel(event,data){var pixelX=data.pixelX,pixelY=data.pixelY;if(Math.abs(pixelX)>=Math.abs(pixelY)){this.bodyWrapper.scrollLeft+=data.pixelX/5;}},// TODO 使用 CSS transform\nsyncPostion:Object(external_throttle_debounce_[\"throttle\"])(20,function(){var _bodyWrapper=this.bodyWrapper,scrollLeft=_bodyWrapper.scrollLeft,scrollTop=_bodyWrapper.scrollTop,offsetWidth=_bodyWrapper.offsetWidth,scrollWidth=_bodyWrapper.scrollWidth;var _$refs=this.$refs,headerWrapper=_$refs.headerWrapper,footerWrapper=_$refs.footerWrapper,fixedBodyWrapper=_$refs.fixedBodyWrapper,rightFixedBodyWrapper=_$refs.rightFixedBodyWrapper;if(headerWrapper)headerWrapper.scrollLeft=scrollLeft;if(footerWrapper)footerWrapper.scrollLeft=scrollLeft;if(fixedBodyWrapper)fixedBodyWrapper.scrollTop=scrollTop;if(rightFixedBodyWrapper)rightFixedBodyWrapper.scrollTop=scrollTop;var maxScrollLeftPosition=scrollWidth-offsetWidth-1;if(scrollLeft>=maxScrollLeftPosition){this.scrollPosition='right';}else if(scrollLeft===0){this.scrollPosition='left';}else{this.scrollPosition='middle';}}),bindEvents:function bindEvents(){this.bodyWrapper.addEventListener('scroll',this.syncPostion,{passive:true});if(this.fit){Object(resize_event_[\"addResizeListener\"])(this.$el,this.resizeListener);}},unbindEvents:function unbindEvents(){this.bodyWrapper.removeEventListener('scroll',this.syncPostion,{passive:true});if(this.fit){Object(resize_event_[\"removeResizeListener\"])(this.$el,this.resizeListener);}},resizeListener:function resizeListener(){if(!this.$ready)return;var shouldUpdateLayout=false;var el=this.$el;var _resizeState=this.resizeState,oldWidth=_resizeState.width,oldHeight=_resizeState.height;var width=el.offsetWidth;if(oldWidth!==width){shouldUpdateLayout=true;}var height=el.offsetHeight;if((this.height||this.shouldUpdateHeight)&&oldHeight!==height){shouldUpdateLayout=true;}if(shouldUpdateLayout){this.resizeState.width=width;this.resizeState.height=height;this.doLayout();}},doLayout:function doLayout(){if(this.shouldUpdateHeight){this.layout.updateElsHeight();}this.layout.updateColumnsWidth();},sort:function sort(prop,order){this.store.commit('sort',{prop:prop,order:order});},toggleAllSelection:function toggleAllSelection(){this.store.commit('toggleAllSelection');}},computed:tablevue_type_script_lang_js_extends({tableSize:function tableSize(){return this.size||(this.$ELEMENT||{}).size;},bodyWrapper:function bodyWrapper(){return this.$refs.bodyWrapper;},shouldUpdateHeight:function shouldUpdateHeight(){return this.height||this.maxHeight||this.fixedColumns.length>0||this.rightFixedColumns.length>0;},bodyWidth:function bodyWidth(){var _layout=this.layout,bodyWidth=_layout.bodyWidth,scrollY=_layout.scrollY,gutterWidth=_layout.gutterWidth;return bodyWidth?bodyWidth-(scrollY?gutterWidth:0)+'px':'';},bodyHeight:function bodyHeight(){var _layout2=this.layout,_layout2$headerHeight=_layout2.headerHeight,headerHeight=_layout2$headerHeight===undefined?0:_layout2$headerHeight,bodyHeight=_layout2.bodyHeight,_layout2$footerHeight=_layout2.footerHeight,footerHeight=_layout2$footerHeight===undefined?0:_layout2$footerHeight;if(this.height){return{height:bodyHeight?bodyHeight+'px':''};}else if(this.maxHeight){var maxHeight=parseHeight(this.maxHeight);if(typeof maxHeight==='number'){return{'max-height':maxHeight-footerHeight-(this.showHeader?headerHeight:0)+'px'};}}return{};},fixedBodyHeight:function fixedBodyHeight(){if(this.height){return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+'px':''};}else if(this.maxHeight){var maxHeight=parseHeight(this.maxHeight);if(typeof maxHeight==='number'){maxHeight=this.layout.scrollX?maxHeight-this.layout.gutterWidth:maxHeight;if(this.showHeader){maxHeight-=this.layout.headerHeight;}maxHeight-=this.layout.footerHeight;return{'max-height':maxHeight+'px'};}}return{};},fixedHeight:function fixedHeight(){if(this.maxHeight){if(this.showSummary){return{bottom:0};}return{bottom:this.layout.scrollX&&this.data.length?this.layout.gutterWidth+'px':''};}else{if(this.showSummary){return{height:this.layout.tableHeight?this.layout.tableHeight+'px':''};}return{height:this.layout.viewportHeight?this.layout.viewportHeight+'px':''};}},emptyBlockStyle:function emptyBlockStyle(){if(this.data&&this.data.length)return null;var height='100%';if(this.layout.appendHeight){height='calc(100% - '+this.layout.appendHeight+'px)';}return{width:this.bodyWidth,height:height};}},mapStates({selection:'selection',columns:'columns',tableData:'data',fixedColumns:'fixedColumns',rightFixedColumns:'rightFixedColumns'})),watch:{height:{immediate:true,handler:function handler(value){this.layout.setHeight(value);}},maxHeight:{immediate:true,handler:function handler(value){this.layout.setMaxHeight(value);}},currentRowKey:{immediate:true,handler:function handler(value){if(!this.rowKey)return;this.store.setCurrentRowKey(value);}},data:{immediate:true,handler:function handler(value){this.store.commit('setData',value);}},expandRowKeys:{immediate:true,handler:function handler(newVal){if(newVal){this.store.setExpandRowKeysAdapter(newVal);}}}},created:function created(){var _this=this;this.tableId='el-table_'+tableIdSeed++;this.debouncedUpdateLayout=Object(external_throttle_debounce_[\"debounce\"])(50,function(){return _this.doLayout();});},mounted:function mounted(){var _this2=this;this.bindEvents();this.store.updateColumns();this.doLayout();this.resizeState={width:this.$el.offsetWidth,height:this.$el.offsetHeight};// init filters\nthis.store.states.columns.forEach(function(column){if(column.filteredValue&&column.filteredValue.length){_this2.store.commit('filterChange',{column:column,values:column.filteredValue,silent:true});}});this.$ready=true;},destroyed:function destroyed(){this.unbindEvents();},data:function data(){var _treeProps=this.treeProps,_treeProps$hasChildre=_treeProps.hasChildren,hasChildren=_treeProps$hasChildre===undefined?'hasChildren':_treeProps$hasChildre,_treeProps$children=_treeProps.children,children=_treeProps$children===undefined?'children':_treeProps$children;this.store=createStore(this,{rowKey:this.rowKey,defaultExpandAll:this.defaultExpandAll,selectOnIndeterminate:this.selectOnIndeterminate,// TreeTable 的相关配置\nindent:this.indent,lazy:this.lazy,lazyColumnIdentifier:hasChildren,childrenColumnName:children});var layout=new table_layout({store:this.store,table:this,fit:this.fit,showHeader:this.showHeader});return{layout:layout,isHidden:false,renderExpanded:null,resizeProxyVisible:false,resizeState:{width:null,height:null},// 是否拥有多级表头\nisGroup:false,scrollPosition:'left'};}};// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tablevue_type_script_lang_js_=tablevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/table/src/table.vue\n/* normalize component */var table_component=normalizeComponent(src_tablevue_type_script_lang_js_,tablevue_type_template_id_493fe34e_render,tablevue_type_template_id_493fe34e_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var table_api; }table_component.options.__file=\"packages/table/src/table.vue\";/* harmony default export */var src_table=table_component.exports;// CONCATENATED MODULE: ./packages/table/index.js\n/* istanbul ignore next */src_table.install=function(Vue){Vue.component(src_table.name,src_table);};/* harmony default export */var packages_table=src_table;// CONCATENATED MODULE: ./packages/table/src/config.js\nvar cellStarts={default:{order:''},selection:{width:48,minWidth:48,realWidth:48,order:'',className:'el-table-column--selection'},expand:{width:48,minWidth:48,realWidth:48,order:''},index:{width:48,minWidth:48,realWidth:48,order:''}};// 这些选项不应该被覆盖\nvar cellForced={selection:{renderHeader:function renderHeader(h,_ref){var store=_ref.store;return h('el-checkbox',{attrs:{disabled:store.states.data&&store.states.data.length===0,indeterminate:store.states.selection.length>0&&!this.isAllSelected,value:this.isAllSelected},on:{'input':this.toggleAllSelection}});},renderCell:function renderCell(h,_ref2){var row=_ref2.row,column=_ref2.column,isSelected=_ref2.isSelected,store=_ref2.store,$index=_ref2.$index;return h('el-checkbox',{nativeOn:{'click':function click(event){return event.stopPropagation();}},attrs:{value:isSelected,disabled:column.selectable?!column.selectable.call(null,row,$index):false},on:{'input':function input(){store.commit('rowSelectedChanged',row);}}});},sortable:false,resizable:false},index:{renderHeader:function renderHeader(h,_ref3){var column=_ref3.column;return column.label||'#';},renderCell:function renderCell(h,_ref4){var $index=_ref4.$index,column=_ref4.column;var i=$index+1;var index=column.index;if(typeof index==='number'){i=$index+index;}else if(typeof index==='function'){i=index($index);}return h('div',[i]);},sortable:false},expand:{renderHeader:function renderHeader(h,_ref5){var column=_ref5.column;return column.label||'';},renderCell:function renderCell(h,_ref6){var row=_ref6.row,store=_ref6.store,isExpanded=_ref6.isExpanded;var classes=['el-table__expand-icon'];if(isExpanded){classes.push('el-table__expand-icon--expanded');}var callback=function callback(e){e.stopPropagation();store.toggleRowExpansion(row);};return h('div',{'class':classes,on:{'click':callback}},[h('i',{'class':'el-icon el-icon-arrow-right'})]);},sortable:false,resizable:false,className:'el-table__expand-column'}};function defaultRenderCell(h,_ref7){var row=_ref7.row,column=_ref7.column,$index=_ref7.$index;var property=column.property;var value=property&&Object(util_[\"getPropByPath\"])(row,property).v;if(column&&column.formatter){return column.formatter(row,column,value,$index);}return value;}function treeCellPrefix(h,_ref8){var row=_ref8.row,treeNode=_ref8.treeNode,store=_ref8.store;if(!treeNode)return null;var ele=[];var callback=function callback(e){e.stopPropagation();store.loadOrToggle(row);};if(treeNode.indent){ele.push(h('span',{'class':'el-table__indent',style:{'padding-left':treeNode.indent+'px'}}));}if(typeof treeNode.expanded==='boolean'&&!treeNode.noLazyChildren){var expandClasses=['el-table__expand-icon',treeNode.expanded?'el-table__expand-icon--expanded':''];var iconClasses=['el-icon-arrow-right'];if(treeNode.loading){iconClasses=['el-icon-loading'];}ele.push(h('div',{'class':expandClasses,on:{'click':callback}},[h('i',{'class':iconClasses})]));}else{ele.push(h('span',{'class':'el-table__placeholder'}));}return ele;}// CONCATENATED MODULE: ./packages/table/src/table-column.js\nvar table_column_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var columnIdSeed=1;/* harmony default export */var table_column={name:'ElTableColumn',props:{type:{type:String,default:'default'},label:String,className:String,labelClassName:String,property:String,prop:String,width:{},minWidth:{},renderHeader:Function,sortable:{type:[Boolean,String],default:false},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:true},columnKey:String,align:String,headerAlign:String,showTooltipWhenOverflow:Boolean,showOverflowTooltip:Boolean,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:true},index:[Number,Function],sortOrders:{type:Array,default:function _default(){return['ascending','descending',null];},validator:function validator(val){return val.every(function(order){return['ascending','descending',null].indexOf(order)>-1;});}}},data:function data(){return{isSubColumn:false,columns:[]};},computed:{owner:function owner(){var parent=this.$parent;while(parent&&!parent.tableId){parent=parent.$parent;}return parent;},columnOrTableParent:function columnOrTableParent(){var parent=this.$parent;while(parent&&!parent.tableId&&!parent.columnId){parent=parent.$parent;}return parent;},realWidth:function realWidth(){return parseWidth(this.width);},realMinWidth:function realMinWidth(){return parseMinWidth(this.minWidth);},realAlign:function realAlign(){return this.align?'is-'+this.align:null;},realHeaderAlign:function realHeaderAlign(){return this.headerAlign?'is-'+this.headerAlign:this.realAlign;}},methods:{getPropsData:function getPropsData(){var _this=this;for(var _len=arguments.length,props=Array(_len),_key=0;_key<_len;_key++){props[_key]=arguments[_key];}return props.reduce(function(prev,cur){if(Array.isArray(cur)){cur.forEach(function(key){prev[key]=_this[key];});}return prev;},{});},getColumnElIndex:function getColumnElIndex(children,child){return[].indexOf.call(children,child);},setColumnWidth:function setColumnWidth(column){if(this.realWidth){column.width=this.realWidth;}if(this.realMinWidth){column.minWidth=this.realMinWidth;}if(!column.minWidth){column.minWidth=80;}column.realWidth=column.width===undefined?column.minWidth:column.width;return column;},setColumnForcedProps:function setColumnForcedProps(column){// 对于特定类型的 column，某些属性不允许设置\nvar type=column.type;var source=cellForced[type]||{};Object.keys(source).forEach(function(prop){var value=source[prop];if(value!==undefined){column[prop]=prop==='className'?column[prop]+' '+value:value;}});return column;},setColumnRenders:function setColumnRenders(column){var _this2=this;var h=this.$createElement;// renderHeader 属性不推荐使用。\nif(this.renderHeader){console.warn('[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.');}else if(column.type!=='selection'){column.renderHeader=function(h,scope){var renderHeader=_this2.$scopedSlots.header;return renderHeader?renderHeader(scope):column.label;};}var originRenderCell=column.renderCell;// TODO: 这里的实现调整\nif(column.type==='expand'){// 对于展开行，renderCell 不允许配置的。在上一步中已经设置过，这里需要简单封装一下。\ncolumn.renderCell=function(h,data){return h('div',{'class':'cell'},[originRenderCell(h,data)]);};this.owner.renderExpanded=function(h,data){return _this2.$scopedSlots.default?_this2.$scopedSlots.default(data):_this2.$slots.default;};}else{originRenderCell=originRenderCell||defaultRenderCell;// 对 renderCell 进行包装\ncolumn.renderCell=function(h,data){var children=null;if(_this2.$scopedSlots.default){children=_this2.$scopedSlots.default(data);}else{children=originRenderCell(h,data);}var prefix=treeCellPrefix(h,data);var props={class:'cell',style:{}};if(column.showOverflowTooltip){props.class+=' el-tooltip';props.style={width:(data.column.realWidth||data.column.width)-1+'px'};}return h('div',props,[prefix,children]);};}return column;},registerNormalWatchers:function registerNormalWatchers(){var _this3=this;var props=['label','property','filters','filterMultiple','sortable','index','formatter','className','labelClassName','showOverflowTooltip'];// 一些属性具有别名\nvar aliases={prop:'property',realAlign:'align',realHeaderAlign:'headerAlign',realWidth:'width'};var allAliases=props.reduce(function(prev,cur){prev[cur]=cur;return prev;},aliases);Object.keys(allAliases).forEach(function(key){var columnKey=aliases[key];_this3.$watch(key,function(newVal){_this3.columnConfig[columnKey]=newVal;});});},registerComplexWatchers:function registerComplexWatchers(){var _this4=this;var props=['fixed'];var aliases={realWidth:'width',realMinWidth:'minWidth'};var allAliases=props.reduce(function(prev,cur){prev[cur]=cur;return prev;},aliases);Object.keys(allAliases).forEach(function(key){var columnKey=aliases[key];_this4.$watch(key,function(newVal){_this4.columnConfig[columnKey]=newVal;var updateColumns=columnKey==='fixed';_this4.owner.store.scheduleLayout(updateColumns);});});}},components:{ElCheckbox:checkbox_default.a},beforeCreate:function beforeCreate(){this.row={};this.column={};this.$index=0;this.columnId='';},created:function created(){var parent=this.columnOrTableParent;this.isSubColumn=this.owner!==parent;this.columnId=(parent.tableId||parent.columnId)+'_column_'+columnIdSeed++;var type=this.type||'default';var sortable=this.sortable===''?true:this.sortable;var defaults=table_column_extends({},cellStarts[type],{id:this.columnId,type:type,property:this.prop||this.property,align:this.realAlign,headerAlign:this.realHeaderAlign,showOverflowTooltip:this.showOverflowTooltip||this.showTooltipWhenOverflow,// filter 相关属性\nfilterable:this.filters||this.filterMethod,filteredValue:[],filterPlacement:'',isColumnGroup:false,filterOpened:false,// sort 相关属性\nsortable:sortable,// index 列\nindex:this.index});var basicProps=['columnKey','label','className','labelClassName','type','renderHeader','formatter','fixed','resizable'];var sortProps=['sortMethod','sortBy','sortOrders'];var selectProps=['selectable','reserveSelection'];var filterProps=['filterMethod','filters','filterMultiple','filterOpened','filteredValue','filterPlacement'];var column=this.getPropsData(basicProps,sortProps,selectProps,filterProps);column=mergeOptions(defaults,column);// 注意 compose 中函数执行的顺序是从右到左\nvar chains=compose(this.setColumnRenders,this.setColumnWidth,this.setColumnForcedProps);column=chains(column);this.columnConfig=column;// 注册 watcher\nthis.registerNormalWatchers();this.registerComplexWatchers();},mounted:function mounted(){var owner=this.owner;var parent=this.columnOrTableParent;var children=this.isSubColumn?parent.$el.children:parent.$refs.hiddenColumns.children;var columnIndex=this.getColumnElIndex(children,this.$el);owner.store.commit('insertColumn',this.columnConfig,columnIndex,this.isSubColumn?parent.columnConfig:null);},destroyed:function destroyed(){if(!this.$parent)return;var parent=this.$parent;this.owner.store.commit('removeColumn',this.columnConfig,this.isSubColumn?parent.columnConfig:null);},render:function render(h){// slots 也要渲染，需要计算合并表头\nreturn h('div',this.$slots.default);}};// CONCATENATED MODULE: ./packages/table-column/index.js\n/* istanbul ignore next */table_column.install=function(Vue){Vue.component(table_column.name,table_column);};/* harmony default export */var packages_table_column=table_column;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f&\nvar pickervue_type_template_id_79ae069f_render=function pickervue_type_template_id_79ae069f_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return!_vm.ranged?_c(\"el-input\",_vm._b({directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleClose,expression:\"handleClose\"}],ref:\"reference\",staticClass:\"el-date-editor\",class:\"el-date-editor--\"+_vm.type,attrs:{readonly:!_vm.editable||_vm.readonly||_vm.type===\"dates\"||_vm.type===\"week\",disabled:_vm.pickerDisabled,size:_vm.pickerSize,name:_vm.name,placeholder:_vm.placeholder,value:_vm.displayValue,validateEvent:false},on:{focus:_vm.handleFocus,input:function input(value){return _vm.userInput=value;},change:_vm.handleChange},nativeOn:{keydown:function keydown($event){return _vm.handleKeydown($event);},mouseenter:function mouseenter($event){return _vm.handleMouseEnter($event);},mouseleave:function mouseleave($event){_vm.showClose=false;}}},\"el-input\",_vm.firstInputId,false),[_c(\"i\",{staticClass:\"el-input__icon\",class:_vm.triggerClass,attrs:{slot:\"prefix\"},on:{click:_vm.handleFocus},slot:\"prefix\"}),_vm.haveTrigger?_c(\"i\",{staticClass:\"el-input__icon\",class:[_vm.showClose?\"\"+_vm.clearIcon:\"\"],attrs:{slot:\"suffix\"},on:{click:_vm.handleClickIcon},slot:\"suffix\"}):_vm._e()]):_c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleClose,expression:\"handleClose\"}],ref:\"reference\",staticClass:\"el-date-editor el-range-editor el-input__inner\",class:[\"el-date-editor--\"+_vm.type,_vm.pickerSize?\"el-range-editor--\"+_vm.pickerSize:\"\",_vm.pickerDisabled?\"is-disabled\":\"\",_vm.pickerVisible?\"is-active\":\"\"],on:{click:_vm.handleRangeClick,mouseenter:_vm.handleMouseEnter,mouseleave:function mouseleave($event){_vm.showClose=false;},keydown:_vm.handleKeydown}},[_c(\"i\",{class:[\"el-input__icon\",\"el-range__icon\",_vm.triggerClass]}),_c(\"input\",_vm._b({staticClass:\"el-range-input\",attrs:{autocomplete:\"off\",placeholder:_vm.startPlaceholder,disabled:_vm.pickerDisabled,readonly:!_vm.editable||_vm.readonly,name:_vm.name&&_vm.name[0]},domProps:{value:_vm.displayValue&&_vm.displayValue[0]},on:{input:_vm.handleStartInput,change:_vm.handleStartChange,focus:_vm.handleFocus}},\"input\",_vm.firstInputId,false)),_vm._t(\"range-separator\",[_c(\"span\",{staticClass:\"el-range-separator\"},[_vm._v(_vm._s(_vm.rangeSeparator))])]),_c(\"input\",_vm._b({staticClass:\"el-range-input\",attrs:{autocomplete:\"off\",placeholder:_vm.endPlaceholder,disabled:_vm.pickerDisabled,readonly:!_vm.editable||_vm.readonly,name:_vm.name&&_vm.name[1]},domProps:{value:_vm.displayValue&&_vm.displayValue[1]},on:{input:_vm.handleEndInput,change:_vm.handleEndChange,focus:_vm.handleFocus}},\"input\",_vm.secondInputId,false)),_vm.haveTrigger?_c(\"i\",{staticClass:\"el-input__icon el-range__close-icon\",class:[_vm.showClose?\"\"+_vm.clearIcon:\"\"],on:{click:_vm.handleClickIcon}}):_vm._e()],2);};var pickervue_type_template_id_79ae069f_staticRenderFns=[];pickervue_type_template_id_79ae069f_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f&\n// EXTERNAL MODULE: external \"element-ui/lib/utils/date-util\"\nvar date_util_=__webpack_require__(0);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar NewPopper={props:{appendToBody:vue_popper_default.a.props.appendToBody,offset:vue_popper_default.a.props.offset,boundariesPadding:vue_popper_default.a.props.boundariesPadding,arrowOffset:vue_popper_default.a.props.arrowOffset},methods:vue_popper_default.a.methods,data:function data(){return merge_default()({visibleArrow:true},vue_popper_default.a.data);},beforeDestroy:vue_popper_default.a.beforeDestroy};var DEFAULT_FORMATS={date:'yyyy-MM-dd',month:'yyyy-MM',datetime:'yyyy-MM-dd HH:mm:ss',time:'HH:mm:ss',week:'yyyywWW',timerange:'HH:mm:ss',daterange:'yyyy-MM-dd',monthrange:'yyyy-MM',datetimerange:'yyyy-MM-dd HH:mm:ss',year:'yyyy'};var HAVE_TRIGGER_TYPES=['date','datetime','time','time-select','week','month','year','daterange','monthrange','timerange','datetimerange','dates'];var pickervue_type_script_lang_js_DATE_FORMATTER=function DATE_FORMATTER(value,format){if(format==='timestamp')return value.getTime();return Object(date_util_[\"formatDate\"])(value,format);};var pickervue_type_script_lang_js_DATE_PARSER=function DATE_PARSER(text,format){if(format==='timestamp')return new Date(Number(text));return Object(date_util_[\"parseDate\"])(text,format);};var RANGE_FORMATTER=function RANGE_FORMATTER(value,format){if(Array.isArray(value)&&value.length===2){var start=value[0];var end=value[1];if(start&&end){return[pickervue_type_script_lang_js_DATE_FORMATTER(start,format),pickervue_type_script_lang_js_DATE_FORMATTER(end,format)];}}return'';};var RANGE_PARSER=function RANGE_PARSER(array,format,separator){if(!Array.isArray(array)){array=array.split(separator);}if(array.length===2){var range1=array[0];var range2=array[1];return[pickervue_type_script_lang_js_DATE_PARSER(range1,format),pickervue_type_script_lang_js_DATE_PARSER(range2,format)];}return[];};var TYPE_VALUE_RESOLVER_MAP={default:{formatter:function formatter(value){if(!value)return'';return''+value;},parser:function parser(text){if(text===undefined||text==='')return null;return text;}},week:{formatter:function formatter(value,format){var week=Object(date_util_[\"getWeekNumber\"])(value);var month=value.getMonth();var trueDate=new Date(value);if(week===1&&month===11){trueDate.setHours(0,0,0,0);trueDate.setDate(trueDate.getDate()+3-(trueDate.getDay()+6)%7);}var date=Object(date_util_[\"formatDate\"])(trueDate,format);date=/WW/.test(date)?date.replace(/WW/,week<10?'0'+week:week):date.replace(/W/,week);return date;},parser:function parser(text,format){// parse as if a normal date\nreturn TYPE_VALUE_RESOLVER_MAP.date.parser(text,format);}},date:{formatter:pickervue_type_script_lang_js_DATE_FORMATTER,parser:pickervue_type_script_lang_js_DATE_PARSER},datetime:{formatter:pickervue_type_script_lang_js_DATE_FORMATTER,parser:pickervue_type_script_lang_js_DATE_PARSER},daterange:{formatter:RANGE_FORMATTER,parser:RANGE_PARSER},monthrange:{formatter:RANGE_FORMATTER,parser:RANGE_PARSER},datetimerange:{formatter:RANGE_FORMATTER,parser:RANGE_PARSER},timerange:{formatter:RANGE_FORMATTER,parser:RANGE_PARSER},time:{formatter:pickervue_type_script_lang_js_DATE_FORMATTER,parser:pickervue_type_script_lang_js_DATE_PARSER},month:{formatter:pickervue_type_script_lang_js_DATE_FORMATTER,parser:pickervue_type_script_lang_js_DATE_PARSER},year:{formatter:pickervue_type_script_lang_js_DATE_FORMATTER,parser:pickervue_type_script_lang_js_DATE_PARSER},number:{formatter:function formatter(value){if(!value)return'';return''+value;},parser:function parser(text){var result=Number(text);if(!isNaN(text)){return result;}else{return null;}}},dates:{formatter:function formatter(value,format){return value.map(function(date){return pickervue_type_script_lang_js_DATE_FORMATTER(date,format);});},parser:function parser(value,format){return(typeof value==='string'?value.split(', '):value).map(function(date){return date instanceof Date?date:pickervue_type_script_lang_js_DATE_PARSER(date,format);});}}};var PLACEMENT_MAP={left:'bottom-start',center:'bottom',right:'bottom-end'};var parseAsFormatAndType=function parseAsFormatAndType(value,customFormat,type){var rangeSeparator=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'-';if(!value)return null;var parser=(TYPE_VALUE_RESOLVER_MAP[type]||TYPE_VALUE_RESOLVER_MAP['default']).parser;var format=customFormat||DEFAULT_FORMATS[type];return parser(value,format,rangeSeparator);};var formatAsFormatAndType=function formatAsFormatAndType(value,customFormat,type){if(!value)return null;var formatter=(TYPE_VALUE_RESOLVER_MAP[type]||TYPE_VALUE_RESOLVER_MAP['default']).formatter;var format=customFormat||DEFAULT_FORMATS[type];return formatter(value,format);};/*\n * Considers:\n *   1. Date object\n *   2. date string\n *   3. array of 1 or 2\n */var valueEquals=function valueEquals(a,b){// considers Date object and string\nvar dateEquals=function dateEquals(a,b){var aIsDate=a instanceof Date;var bIsDate=b instanceof Date;if(aIsDate&&bIsDate){return a.getTime()===b.getTime();}if(!aIsDate&&!bIsDate){return a===b;}return false;};var aIsArray=a instanceof Array;var bIsArray=b instanceof Array;if(aIsArray&&bIsArray){if(a.length!==b.length){return false;}return a.every(function(item,index){return dateEquals(item,b[index]);});}if(!aIsArray&&!bIsArray){return dateEquals(a,b);}return false;};var isString=function isString(val){return typeof val==='string'||val instanceof String;};var pickervue_type_script_lang_js_validator=function validator(val){// either: String, Array of String, null / undefined\nreturn val===null||val===undefined||isString(val)||Array.isArray(val)&&val.length===2&&val.every(isString);};/* harmony default export */var pickervue_type_script_lang_js_={mixins:[emitter_default.a,NewPopper],inject:{elForm:{default:''},elFormItem:{default:''}},props:{size:String,format:String,valueFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:String,clearIcon:{type:String,default:'el-icon-circle-close'},name:{default:'',validator:pickervue_type_script_lang_js_validator},disabled:Boolean,clearable:{type:Boolean,default:true},id:{default:'',validator:pickervue_type_script_lang_js_validator},popperClass:String,editable:{type:Boolean,default:true},align:{type:String,default:'left'},value:{},defaultValue:{},defaultTime:{},rangeSeparator:{default:'-'},pickerOptions:{},unlinkPanels:Boolean,validateEvent:{type:Boolean,default:true}},components:{ElInput:input_default.a},directives:{Clickoutside:clickoutside_default.a},data:function data(){return{pickerVisible:false,showClose:false,userInput:null,valueOnOpen:null,// value when picker opens, used to determine whether to emit change\nunwatchPickerOptions:null};},watch:{pickerVisible:function pickerVisible(val){if(this.readonly||this.pickerDisabled)return;if(val){this.showPicker();this.valueOnOpen=Array.isArray(this.value)?[].concat(this.value):this.value;}else{this.hidePicker();this.emitChange(this.value);this.userInput=null;if(this.validateEvent){this.dispatch('ElFormItem','el.form.blur');}this.$emit('blur',this);this.blur();}},parsedValue:{immediate:true,handler:function handler(val){if(this.picker){this.picker.value=val;}}},defaultValue:function defaultValue(val){// NOTE: should eventually move to jsx style picker + panel ?\nif(this.picker){this.picker.defaultValue=val;}},value:function value(val,oldVal){if(!valueEquals(val,oldVal)&&!this.pickerVisible&&this.validateEvent){this.dispatch('ElFormItem','el.form.change',val);}}},computed:{ranged:function ranged(){return this.type.indexOf('range')>-1;},reference:function reference(){var reference=this.$refs.reference;return reference.$el||reference;},refInput:function refInput(){if(this.reference){return[].slice.call(this.reference.querySelectorAll('input'));}return[];},valueIsEmpty:function valueIsEmpty(){var val=this.value;if(Array.isArray(val)){for(var i=0,len=val.length;i<len;i++){if(val[i]){return false;}}}else{if(val){return false;}}return true;},triggerClass:function triggerClass(){return this.prefixIcon||(this.type.indexOf('time')!==-1?'el-icon-time':'el-icon-date');},selectionMode:function selectionMode(){if(this.type==='week'){return'week';}else if(this.type==='month'){return'month';}else if(this.type==='year'){return'year';}else if(this.type==='dates'){return'dates';}return'day';},haveTrigger:function haveTrigger(){if(typeof this.showTrigger!=='undefined'){return this.showTrigger;}return HAVE_TRIGGER_TYPES.indexOf(this.type)!==-1;},displayValue:function displayValue(){var formattedValue=formatAsFormatAndType(this.parsedValue,this.format,this.type,this.rangeSeparator);if(Array.isArray(this.userInput)){return[this.userInput[0]||formattedValue&&formattedValue[0]||'',this.userInput[1]||formattedValue&&formattedValue[1]||''];}else if(this.userInput!==null){return this.userInput;}else if(formattedValue){return this.type==='dates'?formattedValue.join(', '):formattedValue;}else{return'';}},parsedValue:function parsedValue(){if(!this.value)return this.value;// component value is not set\nif(this.type==='time-select')return this.value;// time-select does not require parsing, this might change in next major version\nvar valueIsDateObject=Object(date_util_[\"isDateObject\"])(this.value)||Array.isArray(this.value)&&this.value.every(date_util_[\"isDateObject\"]);if(valueIsDateObject){return this.value;}if(this.valueFormat){return parseAsFormatAndType(this.value,this.valueFormat,this.type,this.rangeSeparator)||this.value;}// NOTE: deal with common but incorrect usage, should remove in next major version\n// user might provide string / timestamp without value-format, coerce them into date (or array of date)\nreturn Array.isArray(this.value)?this.value.map(function(val){return new Date(val);}):new Date(this.value);},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},pickerSize:function pickerSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;},pickerDisabled:function pickerDisabled(){return this.disabled||(this.elForm||{}).disabled;},firstInputId:function firstInputId(){var obj={};var id=void 0;if(this.ranged){id=this.id&&this.id[0];}else{id=this.id;}if(id)obj.id=id;return obj;},secondInputId:function secondInputId(){var obj={};var id=void 0;if(this.ranged){id=this.id&&this.id[1];}if(id)obj.id=id;return obj;}},created:function created(){// vue-popper\nthis.popperOptions={boundariesPadding:0,gpuAcceleration:false};this.placement=PLACEMENT_MAP[this.align]||PLACEMENT_MAP.left;this.$on('fieldReset',this.handleFieldReset);},methods:{focus:function focus(){if(!this.ranged){this.$refs.reference.focus();}else{this.handleFocus();}},blur:function blur(){this.refInput.forEach(function(input){return input.blur();});},// {parse, formatTo} Value deals maps component value with internal Date\nparseValue:function parseValue(value){var isParsed=Object(date_util_[\"isDateObject\"])(value)||Array.isArray(value)&&value.every(date_util_[\"isDateObject\"]);if(this.valueFormat&&!isParsed){return parseAsFormatAndType(value,this.valueFormat,this.type,this.rangeSeparator)||value;}else{return value;}},formatToValue:function formatToValue(date){var isFormattable=Object(date_util_[\"isDateObject\"])(date)||Array.isArray(date)&&date.every(date_util_[\"isDateObject\"]);if(this.valueFormat&&isFormattable){return formatAsFormatAndType(date,this.valueFormat,this.type,this.rangeSeparator);}else{return date;}},// {parse, formatTo} String deals with user input\nparseString:function parseString(value){var type=Array.isArray(value)?this.type:this.type.replace('range','');return parseAsFormatAndType(value,this.format,type);},formatToString:function formatToString(value){var type=Array.isArray(value)?this.type:this.type.replace('range','');return formatAsFormatAndType(value,this.format,type);},handleMouseEnter:function handleMouseEnter(){if(this.readonly||this.pickerDisabled)return;if(!this.valueIsEmpty&&this.clearable){this.showClose=true;}},handleChange:function handleChange(){if(this.userInput){var value=this.parseString(this.displayValue);if(value){this.picker.value=value;if(this.isValidValue(value)){this.emitInput(value);this.userInput=null;}}}if(this.userInput===''){this.emitInput(null);this.emitChange(null);this.userInput=null;}},handleStartInput:function handleStartInput(event){if(this.userInput){this.userInput=[event.target.value,this.userInput[1]];}else{this.userInput=[event.target.value,null];}},handleEndInput:function handleEndInput(event){if(this.userInput){this.userInput=[this.userInput[0],event.target.value];}else{this.userInput=[null,event.target.value];}},handleStartChange:function handleStartChange(event){var value=this.parseString(this.userInput&&this.userInput[0]);if(value){this.userInput=[this.formatToString(value),this.displayValue[1]];var newValue=[value,this.picker.value&&this.picker.value[1]];this.picker.value=newValue;if(this.isValidValue(newValue)){this.emitInput(newValue);this.userInput=null;}}},handleEndChange:function handleEndChange(event){var value=this.parseString(this.userInput&&this.userInput[1]);if(value){this.userInput=[this.displayValue[0],this.formatToString(value)];var newValue=[this.picker.value&&this.picker.value[0],value];this.picker.value=newValue;if(this.isValidValue(newValue)){this.emitInput(newValue);this.userInput=null;}}},handleClickIcon:function handleClickIcon(event){if(this.readonly||this.pickerDisabled)return;if(this.showClose){this.valueOnOpen=this.value;event.stopPropagation();this.emitInput(null);this.emitChange(null);this.showClose=false;if(this.picker&&typeof this.picker.handleClear==='function'){this.picker.handleClear();}}else{this.pickerVisible=!this.pickerVisible;}},handleClose:function handleClose(){if(!this.pickerVisible)return;this.pickerVisible=false;if(this.type==='dates'){// restore to former value\nvar oldValue=parseAsFormatAndType(this.valueOnOpen,this.valueFormat,this.type,this.rangeSeparator)||this.valueOnOpen;this.emitInput(oldValue);}},handleFieldReset:function handleFieldReset(initialValue){this.userInput=initialValue===''?null:initialValue;},handleFocus:function handleFocus(){var type=this.type;if(HAVE_TRIGGER_TYPES.indexOf(type)!==-1&&!this.pickerVisible){this.pickerVisible=true;}this.$emit('focus',this);},handleKeydown:function handleKeydown(event){var _this=this;var keyCode=event.keyCode;// ESC\nif(keyCode===27){this.pickerVisible=false;event.stopPropagation();return;}// Tab\nif(keyCode===9){if(!this.ranged){this.handleChange();this.pickerVisible=this.picker.visible=false;this.blur();event.stopPropagation();}else{// user may change focus between two input\nsetTimeout(function(){if(_this.refInput.indexOf(document.activeElement)===-1){_this.pickerVisible=false;_this.blur();event.stopPropagation();}},0);}return;}// Enter\nif(keyCode===13){if(this.userInput===''||this.isValidValue(this.parseString(this.displayValue))){this.handleChange();this.pickerVisible=this.picker.visible=false;this.blur();}event.stopPropagation();return;}// if user is typing, do not let picker handle key input\nif(this.userInput){event.stopPropagation();return;}// delegate other keys to panel\nif(this.picker&&this.picker.handleKeydown){this.picker.handleKeydown(event);}},handleRangeClick:function handleRangeClick(){var type=this.type;if(HAVE_TRIGGER_TYPES.indexOf(type)!==-1&&!this.pickerVisible){this.pickerVisible=true;}this.$emit('focus',this);},hidePicker:function hidePicker(){if(this.picker){this.picker.resetView&&this.picker.resetView();this.pickerVisible=this.picker.visible=false;this.destroyPopper();}},showPicker:function showPicker(){var _this2=this;if(this.$isServer)return;if(!this.picker){this.mountPicker();}this.pickerVisible=this.picker.visible=true;this.updatePopper();this.picker.value=this.parsedValue;this.picker.resetView&&this.picker.resetView();this.$nextTick(function(){_this2.picker.adjustSpinners&&_this2.picker.adjustSpinners();});},mountPicker:function mountPicker(){var _this3=this;this.picker=new external_vue_default.a(this.panel).$mount();this.picker.defaultValue=this.defaultValue;this.picker.defaultTime=this.defaultTime;this.picker.popperClass=this.popperClass;this.popperElm=this.picker.$el;this.picker.width=this.reference.getBoundingClientRect().width;this.picker.showTime=this.type==='datetime'||this.type==='datetimerange';this.picker.selectionMode=this.selectionMode;this.picker.unlinkPanels=this.unlinkPanels;this.picker.arrowControl=this.arrowControl||this.timeArrowControl||false;this.$watch('format',function(format){_this3.picker.format=format;});var updateOptions=function updateOptions(){var options=_this3.pickerOptions;if(options&&options.selectableRange){var ranges=options.selectableRange;var parser=TYPE_VALUE_RESOLVER_MAP.datetimerange.parser;var format=DEFAULT_FORMATS.timerange;ranges=Array.isArray(ranges)?ranges:[ranges];_this3.picker.selectableRange=ranges.map(function(range){return parser(range,format,_this3.rangeSeparator);});}for(var option in options){if(options.hasOwnProperty(option)&&// 忽略 time-picker 的该配置项\noption!=='selectableRange'){_this3.picker[option]=options[option];}}// main format must prevail over undocumented pickerOptions.format\nif(_this3.format){_this3.picker.format=_this3.format;}};updateOptions();this.unwatchPickerOptions=this.$watch('pickerOptions',function(){return updateOptions();},{deep:true});this.$el.appendChild(this.picker.$el);this.picker.resetView&&this.picker.resetView();this.picker.$on('dodestroy',this.doDestroy);this.picker.$on('pick',function(){var date=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';var visible=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;_this3.userInput=null;_this3.pickerVisible=_this3.picker.visible=visible;_this3.emitInput(date);_this3.picker.resetView&&_this3.picker.resetView();});this.picker.$on('select-range',function(start,end,pos){if(_this3.refInput.length===0)return;if(!pos||pos==='min'){_this3.refInput[0].setSelectionRange(start,end);_this3.refInput[0].focus();}else if(pos==='max'){_this3.refInput[1].setSelectionRange(start,end);_this3.refInput[1].focus();}});},unmountPicker:function unmountPicker(){if(this.picker){this.picker.$destroy();this.picker.$off();if(typeof this.unwatchPickerOptions==='function'){this.unwatchPickerOptions();}this.picker.$el.parentNode.removeChild(this.picker.$el);}},emitChange:function emitChange(val){// determine user real change only\nif(!valueEquals(val,this.valueOnOpen)){this.$emit('change',val);this.valueOnOpen=val;if(this.validateEvent){this.dispatch('ElFormItem','el.form.change',val);}}},emitInput:function emitInput(val){var formatted=this.formatToValue(val);if(!valueEquals(this.value,formatted)){this.$emit('input',formatted);}},isValidValue:function isValidValue(value){if(!this.picker){this.mountPicker();}if(this.picker.isValidValue){return value&&this.picker.isValidValue(value);}else{return true;}}}};// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=script&lang=js&\n/* harmony default export */var src_pickervue_type_script_lang_js_=pickervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue\n/* normalize component */var picker_component=normalizeComponent(src_pickervue_type_script_lang_js_,pickervue_type_template_id_79ae069f_render,pickervue_type_template_id_79ae069f_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var picker_api; }picker_component.options.__file=\"packages/date-picker/src/picker.vue\";/* harmony default export */var picker=picker_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=template&id=2440d4ea&\nvar datevue_type_template_id_2440d4ea_render=function datevue_type_template_id_2440d4ea_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-enter\":_vm.handleEnter,\"after-leave\":_vm.handleLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-picker-panel el-date-picker el-popper\",class:[{\"has-sidebar\":_vm.$slots.sidebar||_vm.shortcuts,\"has-time\":_vm.showTime},_vm.popperClass]},[_c(\"div\",{staticClass:\"el-picker-panel__body-wrapper\"},[_vm._t(\"sidebar\"),_vm.shortcuts?_c(\"div\",{staticClass:\"el-picker-panel__sidebar\"},_vm._l(_vm.shortcuts,function(shortcut,key){return _c(\"button\",{key:key,staticClass:\"el-picker-panel__shortcut\",attrs:{type:\"button\"},on:{click:function click($event){_vm.handleShortcutClick(shortcut);}}},[_vm._v(_vm._s(shortcut.text))]);}),0):_vm._e(),_c(\"div\",{staticClass:\"el-picker-panel__body\"},[_vm.showTime?_c(\"div\",{staticClass:\"el-date-picker__time-header\"},[_c(\"span\",{staticClass:\"el-date-picker__editor-wrap\"},[_c(\"el-input\",{attrs:{placeholder:_vm.t(\"el.datepicker.selectDate\"),value:_vm.visibleDate,size:\"small\"},on:{input:function input(val){return _vm.userInputDate=val;},change:_vm.handleVisibleDateChange}})],1),_c(\"span\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleTimePickClose,expression:\"handleTimePickClose\"}],staticClass:\"el-date-picker__editor-wrap\"},[_c(\"el-input\",{ref:\"input\",attrs:{placeholder:_vm.t(\"el.datepicker.selectTime\"),value:_vm.visibleTime,size:\"small\"},on:{focus:function focus($event){_vm.timePickerVisible=true;},input:function input(val){return _vm.userInputTime=val;},change:_vm.handleVisibleTimeChange}}),_c(\"time-picker\",{ref:\"timepicker\",attrs:{\"time-arrow-control\":_vm.arrowControl,visible:_vm.timePickerVisible},on:{pick:_vm.handleTimePick,mounted:_vm.proxyTimePickerDataProperties}})],1)]):_vm._e(),_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView!==\"time\",expression:\"currentView !== 'time'\"}],staticClass:\"el-date-picker__header\",class:{\"el-date-picker__header--bordered\":_vm.currentView===\"year\"||_vm.currentView===\"month\"}},[_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left\",attrs:{type:\"button\",\"aria-label\":_vm.t(\"el.datepicker.prevYear\")},on:{click:_vm.prevYear}}),_c(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView===\"date\",expression:\"currentView === 'date'\"}],staticClass:\"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left\",attrs:{type:\"button\",\"aria-label\":_vm.t(\"el.datepicker.prevMonth\")},on:{click:_vm.prevMonth}}),_c(\"span\",{staticClass:\"el-date-picker__header-label\",attrs:{role:\"button\"},on:{click:_vm.showYearPicker}},[_vm._v(_vm._s(_vm.yearLabel))]),_c(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView===\"date\",expression:\"currentView === 'date'\"}],staticClass:\"el-date-picker__header-label\",class:{active:_vm.currentView===\"month\"},attrs:{role:\"button\"},on:{click:_vm.showMonthPicker}},[_vm._v(_vm._s(_vm.t(\"el.datepicker.month\"+(_vm.month+1))))]),_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right\",attrs:{type:\"button\",\"aria-label\":_vm.t(\"el.datepicker.nextYear\")},on:{click:_vm.nextYear}}),_c(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView===\"date\",expression:\"currentView === 'date'\"}],staticClass:\"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right\",attrs:{type:\"button\",\"aria-label\":_vm.t(\"el.datepicker.nextMonth\")},on:{click:_vm.nextMonth}})]),_c(\"div\",{staticClass:\"el-picker-panel__content\"},[_c(\"date-table\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView===\"date\",expression:\"currentView === 'date'\"}],attrs:{\"selection-mode\":_vm.selectionMode,\"first-day-of-week\":_vm.firstDayOfWeek,value:_vm.value,\"default-value\":_vm.defaultValue?new Date(_vm.defaultValue):null,date:_vm.date,\"cell-class-name\":_vm.cellClassName,\"disabled-date\":_vm.disabledDate},on:{pick:_vm.handleDatePick}}),_c(\"year-table\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView===\"year\",expression:\"currentView === 'year'\"}],attrs:{value:_vm.value,\"default-value\":_vm.defaultValue?new Date(_vm.defaultValue):null,date:_vm.date,\"disabled-date\":_vm.disabledDate},on:{pick:_vm.handleYearPick}}),_c(\"month-table\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.currentView===\"month\",expression:\"currentView === 'month'\"}],attrs:{value:_vm.value,\"default-value\":_vm.defaultValue?new Date(_vm.defaultValue):null,date:_vm.date,\"disabled-date\":_vm.disabledDate},on:{pick:_vm.handleMonthPick}})],1)])],2),_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.footerVisible&&_vm.currentView===\"date\",expression:\"footerVisible && currentView === 'date'\"}],staticClass:\"el-picker-panel__footer\"},[_c(\"el-button\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.selectionMode!==\"dates\",expression:\"selectionMode !== 'dates'\"}],staticClass:\"el-picker-panel__link-btn\",attrs:{size:\"mini\",type:\"text\"},on:{click:_vm.changeToNow}},[_vm._v(\"\\n        \"+_vm._s(_vm.t(\"el.datepicker.now\"))+\"\\n      \")]),_c(\"el-button\",{staticClass:\"el-picker-panel__link-btn\",attrs:{plain:\"\",size:\"mini\"},on:{click:_vm.confirm}},[_vm._v(\"\\n        \"+_vm._s(_vm.t(\"el.datepicker.confirm\"))+\"\\n      \")])],1)])]);};var datevue_type_template_id_2440d4ea_staticRenderFns=[];datevue_type_template_id_2440d4ea_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue?vue&type=template&id=2440d4ea&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089&\nvar timevue_type_template_id_3d939089_render=function timevue_type_template_id_3d939089_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":function afterLeave($event){_vm.$emit(\"dodestroy\");}}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-time-panel el-popper\",class:_vm.popperClass},[_c(\"div\",{staticClass:\"el-time-panel__content\",class:{\"has-seconds\":_vm.showSeconds}},[_c(\"time-spinner\",{ref:\"spinner\",attrs:{\"arrow-control\":_vm.useArrow,\"show-seconds\":_vm.showSeconds,\"am-pm-mode\":_vm.amPmMode,date:_vm.date},on:{change:_vm.handleChange,\"select-range\":_vm.setSelectionRange}})],1),_c(\"div\",{staticClass:\"el-time-panel__footer\"},[_c(\"button\",{staticClass:\"el-time-panel__btn cancel\",attrs:{type:\"button\"},on:{click:_vm.handleCancel}},[_vm._v(_vm._s(_vm.t(\"el.datepicker.cancel\")))]),_c(\"button\",{staticClass:\"el-time-panel__btn\",class:{confirm:!_vm.disabled},attrs:{type:\"button\"},on:{click:function click($event){_vm.handleConfirm();}}},[_vm._v(_vm._s(_vm.t(\"el.datepicker.confirm\")))])])])]);};var timevue_type_template_id_3d939089_staticRenderFns=[];timevue_type_template_id_3d939089_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb&\nvar time_spinnervue_type_template_id_1facadeb_render=function time_spinnervue_type_template_id_1facadeb_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-time-spinner\",class:{\"has-seconds\":_vm.showSeconds}},[!_vm.arrowControl?[_c(\"el-scrollbar\",{ref:\"hours\",staticClass:\"el-time-spinner__wrapper\",attrs:{\"wrap-style\":\"max-height: inherit;\",\"view-class\":\"el-time-spinner__list\",noresize:\"\",tag:\"ul\"},nativeOn:{mouseenter:function mouseenter($event){_vm.emitSelectRange(\"hours\");},mousemove:function mousemove($event){_vm.adjustCurrentSpinner(\"hours\");}}},_vm._l(_vm.hoursList,function(disabled,hour){return _c(\"li\",{key:hour,staticClass:\"el-time-spinner__item\",class:{active:hour===_vm.hours,disabled:disabled},on:{click:function click($event){_vm.handleClick(\"hours\",{value:hour,disabled:disabled});}}},[_vm._v(_vm._s((\"0\"+(_vm.amPmMode?hour%12||12:hour)).slice(-2))+_vm._s(_vm.amPm(hour)))]);}),0),_c(\"el-scrollbar\",{ref:\"minutes\",staticClass:\"el-time-spinner__wrapper\",attrs:{\"wrap-style\":\"max-height: inherit;\",\"view-class\":\"el-time-spinner__list\",noresize:\"\",tag:\"ul\"},nativeOn:{mouseenter:function mouseenter($event){_vm.emitSelectRange(\"minutes\");},mousemove:function mousemove($event){_vm.adjustCurrentSpinner(\"minutes\");}}},_vm._l(_vm.minutesList,function(enabled,key){return _c(\"li\",{key:key,staticClass:\"el-time-spinner__item\",class:{active:key===_vm.minutes,disabled:!enabled},on:{click:function click($event){_vm.handleClick(\"minutes\",{value:key,disabled:false});}}},[_vm._v(_vm._s((\"0\"+key).slice(-2)))]);}),0),_c(\"el-scrollbar\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.showSeconds,expression:\"showSeconds\"}],ref:\"seconds\",staticClass:\"el-time-spinner__wrapper\",attrs:{\"wrap-style\":\"max-height: inherit;\",\"view-class\":\"el-time-spinner__list\",noresize:\"\",tag:\"ul\"},nativeOn:{mouseenter:function mouseenter($event){_vm.emitSelectRange(\"seconds\");},mousemove:function mousemove($event){_vm.adjustCurrentSpinner(\"seconds\");}}},_vm._l(60,function(second,key){return _c(\"li\",{key:key,staticClass:\"el-time-spinner__item\",class:{active:key===_vm.seconds},on:{click:function click($event){_vm.handleClick(\"seconds\",{value:key,disabled:false});}}},[_vm._v(_vm._s((\"0\"+key).slice(-2)))]);}),0)]:_vm._e(),_vm.arrowControl?[_c(\"div\",{staticClass:\"el-time-spinner__wrapper is-arrow\",on:{mouseenter:function mouseenter($event){_vm.emitSelectRange(\"hours\");}}},[_c(\"i\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.decrease,expression:\"decrease\"}],staticClass:\"el-time-spinner__arrow el-icon-arrow-up\"}),_c(\"i\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.increase,expression:\"increase\"}],staticClass:\"el-time-spinner__arrow el-icon-arrow-down\"}),_c(\"ul\",{ref:\"hours\",staticClass:\"el-time-spinner__list\"},_vm._l(_vm.arrowHourList,function(hour,key){return _c(\"li\",{key:key,staticClass:\"el-time-spinner__item\",class:{active:hour===_vm.hours,disabled:_vm.hoursList[hour]}},[_vm._v(_vm._s(hour===undefined?\"\":(\"0\"+(_vm.amPmMode?hour%12||12:hour)).slice(-2)+_vm.amPm(hour)))]);}),0)]),_c(\"div\",{staticClass:\"el-time-spinner__wrapper is-arrow\",on:{mouseenter:function mouseenter($event){_vm.emitSelectRange(\"minutes\");}}},[_c(\"i\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.decrease,expression:\"decrease\"}],staticClass:\"el-time-spinner__arrow el-icon-arrow-up\"}),_c(\"i\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.increase,expression:\"increase\"}],staticClass:\"el-time-spinner__arrow el-icon-arrow-down\"}),_c(\"ul\",{ref:\"minutes\",staticClass:\"el-time-spinner__list\"},_vm._l(_vm.arrowMinuteList,function(minute,key){return _c(\"li\",{key:key,staticClass:\"el-time-spinner__item\",class:{active:minute===_vm.minutes}},[_vm._v(\"\\n          \"+_vm._s(minute===undefined?\"\":(\"0\"+minute).slice(-2))+\"\\n        \")]);}),0)]),_vm.showSeconds?_c(\"div\",{staticClass:\"el-time-spinner__wrapper is-arrow\",on:{mouseenter:function mouseenter($event){_vm.emitSelectRange(\"seconds\");}}},[_c(\"i\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.decrease,expression:\"decrease\"}],staticClass:\"el-time-spinner__arrow el-icon-arrow-up\"}),_c(\"i\",{directives:[{name:\"repeat-click\",rawName:\"v-repeat-click\",value:_vm.increase,expression:\"increase\"}],staticClass:\"el-time-spinner__arrow el-icon-arrow-down\"}),_c(\"ul\",{ref:\"seconds\",staticClass:\"el-time-spinner__list\"},_vm._l(_vm.arrowSecondList,function(second,key){return _c(\"li\",{key:key,staticClass:\"el-time-spinner__item\",class:{active:second===_vm.seconds}},[_vm._v(\"\\n          \"+_vm._s(second===undefined?\"\":(\"0\"+second).slice(-2))+\"\\n        \")]);}),0)]):_vm._e()]:_vm._e()],2);};var time_spinnervue_type_template_id_1facadeb_staticRenderFns=[];time_spinnervue_type_template_id_1facadeb_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var time_spinnervue_type_script_lang_js_={components:{ElScrollbar:scrollbar_default.a},directives:{repeatClick:repeat_click},props:{date:{},defaultValue:{},// reserved for future use\nshowSeconds:{type:Boolean,default:true},arrowControl:Boolean,amPmMode:{type:String,default:''// 'a': am/pm; 'A': AM/PM\n}},computed:{hours:function hours(){return this.date.getHours();},minutes:function minutes(){return this.date.getMinutes();},seconds:function seconds(){return this.date.getSeconds();},hoursList:function hoursList(){return Object(date_util_[\"getRangeHours\"])(this.selectableRange);},minutesList:function minutesList(){return Object(date_util_[\"getRangeMinutes\"])(this.selectableRange,this.hours);},arrowHourList:function arrowHourList(){var hours=this.hours;return[hours>0?hours-1:undefined,hours,hours<23?hours+1:undefined];},arrowMinuteList:function arrowMinuteList(){var minutes=this.minutes;return[minutes>0?minutes-1:undefined,minutes,minutes<59?minutes+1:undefined];},arrowSecondList:function arrowSecondList(){var seconds=this.seconds;return[seconds>0?seconds-1:undefined,seconds,seconds<59?seconds+1:undefined];}},data:function data(){return{selectableRange:[],currentScrollbar:null};},mounted:function mounted(){var _this=this;this.$nextTick(function(){!_this.arrowControl&&_this.bindScrollEvent();});},methods:{increase:function increase(){this.scrollDown(1);},decrease:function decrease(){this.scrollDown(-1);},modifyDateField:function modifyDateField(type,value){switch(type){case'hours':this.$emit('change',Object(date_util_[\"modifyTime\"])(this.date,value,this.minutes,this.seconds));break;case'minutes':this.$emit('change',Object(date_util_[\"modifyTime\"])(this.date,this.hours,value,this.seconds));break;case'seconds':this.$emit('change',Object(date_util_[\"modifyTime\"])(this.date,this.hours,this.minutes,value));break;}},handleClick:function handleClick(type,_ref){var value=_ref.value,disabled=_ref.disabled;if(!disabled){this.modifyDateField(type,value);this.emitSelectRange(type);this.adjustSpinner(type,value);}},emitSelectRange:function emitSelectRange(type){if(type==='hours'){this.$emit('select-range',0,2);}else if(type==='minutes'){this.$emit('select-range',3,5);}else if(type==='seconds'){this.$emit('select-range',6,8);}this.currentScrollbar=type;},bindScrollEvent:function bindScrollEvent(){var _this2=this;var bindFunction=function bindFunction(type){_this2.$refs[type].wrap.onscroll=function(e){// TODO: scroll is emitted when set scrollTop programatically\n// should find better solutions in the future!\n_this2.handleScroll(type,e);};};bindFunction('hours');bindFunction('minutes');bindFunction('seconds');},handleScroll:function handleScroll(type){var value=Math.min(Math.round((this.$refs[type].wrap.scrollTop-(this.scrollBarHeight(type)*0.5-10)/this.typeItemHeight(type)+3)/this.typeItemHeight(type)),type==='hours'?23:59);this.modifyDateField(type,value);},// NOTE: used by datetime / date-range panel\n//       renamed from adjustScrollTop\n//       should try to refactory it\nadjustSpinners:function adjustSpinners(){this.adjustSpinner('hours',this.hours);this.adjustSpinner('minutes',this.minutes);this.adjustSpinner('seconds',this.seconds);},adjustCurrentSpinner:function adjustCurrentSpinner(type){this.adjustSpinner(type,this[type]);},adjustSpinner:function adjustSpinner(type,value){if(this.arrowControl)return;var el=this.$refs[type].wrap;if(el){el.scrollTop=Math.max(0,value*this.typeItemHeight(type));}},scrollDown:function scrollDown(step){var _this3=this;if(!this.currentScrollbar){this.emitSelectRange('hours');}var label=this.currentScrollbar;var hoursList=this.hoursList;var now=this[label];if(this.currentScrollbar==='hours'){var total=Math.abs(step);step=step>0?1:-1;var length=hoursList.length;while(length--&&total){now=(now+step+hoursList.length)%hoursList.length;if(hoursList[now]){continue;}total--;}if(hoursList[now])return;}else{now=(now+step+60)%60;}this.modifyDateField(label,now);this.adjustSpinner(label,now);this.$nextTick(function(){return _this3.emitSelectRange(_this3.currentScrollbar);});},amPm:function amPm(hour){var shouldShowAmPm=this.amPmMode.toLowerCase()==='a';if(!shouldShowAmPm)return'';var isCapital=this.amPmMode==='A';var content=hour<12?' am':' pm';if(isCapital)content=content.toUpperCase();return content;},typeItemHeight:function typeItemHeight(type){return this.$refs[type].$el.querySelector('li').offsetHeight;},scrollBarHeight:function scrollBarHeight(type){return this.$refs[type].$el.offsetHeight;}}};// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js&\n/* harmony default export */var basic_time_spinnervue_type_script_lang_js_=time_spinnervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue\n/* normalize component */var time_spinner_component=normalizeComponent(basic_time_spinnervue_type_script_lang_js_,time_spinnervue_type_template_id_1facadeb_render,time_spinnervue_type_template_id_1facadeb_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var time_spinner_api; }time_spinner_component.options.__file=\"packages/date-picker/src/basic/time-spinner.vue\";/* harmony default export */var time_spinner=time_spinner_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var timevue_type_script_lang_js_={mixins:[locale_default.a],components:{TimeSpinner:time_spinner},props:{visible:Boolean,timeArrowControl:Boolean},watch:{visible:function visible(val){var _this=this;if(val){this.oldValue=this.value;this.$nextTick(function(){return _this.$refs.spinner.emitSelectRange('hours');});}else{this.needInitAdjust=true;}},value:function value(newVal){var _this2=this;var date=void 0;if(newVal instanceof Date){date=Object(date_util_[\"limitTimeRange\"])(newVal,this.selectableRange,this.format);}else if(!newVal){date=this.defaultValue?new Date(this.defaultValue):new Date();}this.date=date;if(this.visible&&this.needInitAdjust){this.$nextTick(function(_){return _this2.adjustSpinners();});this.needInitAdjust=false;}},selectableRange:function selectableRange(val){this.$refs.spinner.selectableRange=val;},defaultValue:function defaultValue(val){if(!Object(date_util_[\"isDate\"])(this.value)){this.date=val?new Date(val):new Date();}}},data:function data(){return{popperClass:'',format:'HH:mm:ss',value:'',defaultValue:null,date:new Date(),oldValue:new Date(),selectableRange:[],selectionRange:[0,2],disabled:false,arrowControl:false,needInitAdjust:true};},computed:{showSeconds:function showSeconds(){return(this.format||'').indexOf('ss')!==-1;},useArrow:function useArrow(){return this.arrowControl||this.timeArrowControl||false;},amPmMode:function amPmMode(){if((this.format||'').indexOf('A')!==-1)return'A';if((this.format||'').indexOf('a')!==-1)return'a';return'';}},methods:{handleCancel:function handleCancel(){this.$emit('pick',this.oldValue,false);},handleChange:function handleChange(date){// this.visible avoids edge cases, when use scrolls during panel closing animation\nif(this.visible){this.date=Object(date_util_[\"clearMilliseconds\"])(date);// if date is out of range, do not emit\nif(this.isValidValue(this.date)){this.$emit('pick',this.date,true);}}},setSelectionRange:function setSelectionRange(start,end){this.$emit('select-range',start,end);this.selectionRange=[start,end];},handleConfirm:function handleConfirm(){var visible=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var first=arguments[1];if(first)return;var date=Object(date_util_[\"clearMilliseconds\"])(Object(date_util_[\"limitTimeRange\"])(this.date,this.selectableRange,this.format));this.$emit('pick',date,visible,first);},handleKeydown:function handleKeydown(event){var keyCode=event.keyCode;var mapping={38:-1,40:1,37:-1,39:1};// Left or Right\nif(keyCode===37||keyCode===39){var step=mapping[keyCode];this.changeSelectionRange(step);event.preventDefault();return;}// Up or Down\nif(keyCode===38||keyCode===40){var _step=mapping[keyCode];this.$refs.spinner.scrollDown(_step);event.preventDefault();return;}},isValidValue:function isValidValue(date){return Object(date_util_[\"timeWithinRange\"])(date,this.selectableRange,this.format);},adjustSpinners:function adjustSpinners(){return this.$refs.spinner.adjustSpinners();},changeSelectionRange:function changeSelectionRange(step){var list=[0,3].concat(this.showSeconds?[6]:[]);var mapping=['hours','minutes'].concat(this.showSeconds?['seconds']:[]);var index=list.indexOf(this.selectionRange[0]);var next=(index+step+list.length)%list.length;this.$refs.spinner.emitSelectRange(mapping[next]);}},mounted:function mounted(){var _this3=this;this.$nextTick(function(){return _this3.handleConfirm(true,true);});this.$emit('mounted');}};// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js&\n/* harmony default export */var panel_timevue_type_script_lang_js_=timevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue\n/* normalize component */var time_component=normalizeComponent(panel_timevue_type_script_lang_js_,timevue_type_template_id_3d939089_render,timevue_type_template_id_3d939089_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var time_api; }time_component.options.__file=\"packages/date-picker/src/panel/time.vue\";/* harmony default export */var panel_time=time_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=c86ab5e0&\nvar year_tablevue_type_template_id_c86ab5e0_render=function year_tablevue_type_template_id_c86ab5e0_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"table\",{staticClass:\"el-year-table\",on:{click:_vm.handleYearTableClick}},[_c(\"tbody\",[_c(\"tr\",[_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+0)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+1)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+1))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+2)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+2))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+3)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+3))])])]),_c(\"tr\",[_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+4)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+4))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+5)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+5))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+6)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+6))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+7)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+7))])])]),_c(\"tr\",[_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+8)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+8))])]),_c(\"td\",{staticClass:\"available\",class:_vm.getCellStyle(_vm.startYear+9)},[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.startYear+9))])]),_c(\"td\"),_c(\"td\")])])]);};var year_tablevue_type_template_id_c86ab5e0_staticRenderFns=[];year_tablevue_type_template_id_c86ab5e0_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=c86ab5e0&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar year_tablevue_type_script_lang_js_datesInYear=function datesInYear(year){var numOfDays=Object(date_util_[\"getDayCountOfYear\"])(year);var firstDay=new Date(year,0,1);return Object(date_util_[\"range\"])(numOfDays).map(function(n){return Object(date_util_[\"nextDate\"])(firstDay,n);});};/* harmony default export */var year_tablevue_type_script_lang_js_={props:{disabledDate:{},value:{},defaultValue:{validator:function validator(val){// null or valid Date Object\nreturn val===null||val instanceof Date&&Object(date_util_[\"isDate\"])(val);}},date:{}},computed:{startYear:function startYear(){return Math.floor(this.date.getFullYear()/10)*10;}},methods:{getCellStyle:function getCellStyle(year){var style={};var today=new Date();style.disabled=typeof this.disabledDate==='function'?year_tablevue_type_script_lang_js_datesInYear(year).every(this.disabledDate):false;style.current=Object(util_[\"arrayFindIndex\"])(Object(util_[\"coerceTruthyValueToArray\"])(this.value),function(date){return date.getFullYear()===year;})>=0;style.today=today.getFullYear()===year;style.default=this.defaultValue&&this.defaultValue.getFullYear()===year;return style;},handleYearTableClick:function handleYearTableClick(event){var target=event.target;if(target.tagName==='A'){if(Object(dom_[\"hasClass\"])(target.parentNode,'disabled'))return;var year=target.textContent||target.innerText;this.$emit('pick',Number(year));}}}};// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=script&lang=js&\n/* harmony default export */var basic_year_tablevue_type_script_lang_js_=year_tablevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue\n/* normalize component */var year_table_component=normalizeComponent(basic_year_tablevue_type_script_lang_js_,year_tablevue_type_template_id_c86ab5e0_render,year_tablevue_type_template_id_c86ab5e0_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var year_table_api; }year_table_component.options.__file=\"packages/date-picker/src/basic/year-table.vue\";/* harmony default export */var year_table=year_table_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=654d4f42&\nvar month_tablevue_type_template_id_654d4f42_render=function month_tablevue_type_template_id_654d4f42_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"table\",{staticClass:\"el-month-table\",on:{click:_vm.handleMonthTableClick,mousemove:_vm.handleMouseMove}},[_c(\"tbody\",_vm._l(_vm.rows,function(row,key){return _c(\"tr\",{key:key},_vm._l(row,function(cell,key){return _c(\"td\",{key:key,class:_vm.getCellStyle(cell)},[_c(\"div\",[_c(\"a\",{staticClass:\"cell\"},[_vm._v(_vm._s(_vm.t(\"el.datepicker.months.\"+_vm.months[cell.text])))])])]);}),0);}),0)]);};var month_tablevue_type_template_id_654d4f42_staticRenderFns=[];month_tablevue_type_template_id_654d4f42_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=654d4f42&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar month_tablevue_type_script_lang_js_datesInMonth=function datesInMonth(year,month){var numOfDays=Object(date_util_[\"getDayCountOfMonth\"])(year,month);var firstDay=new Date(year,month,1);return Object(date_util_[\"range\"])(numOfDays).map(function(n){return Object(date_util_[\"nextDate\"])(firstDay,n);});};var clearDate=function clearDate(date){return new Date(date.getFullYear(),date.getMonth());};var getMonthTimestamp=function getMonthTimestamp(time){if(typeof time==='number'||typeof time==='string'){return clearDate(new Date(time)).getTime();}else if(time instanceof Date){return clearDate(time).getTime();}else{return NaN;}};/* harmony default export */var month_tablevue_type_script_lang_js_={props:{disabledDate:{},value:{},selectionMode:{default:'month'},minDate:{},maxDate:{},defaultValue:{validator:function validator(val){// null or valid Date Object\nreturn val===null||Object(date_util_[\"isDate\"])(val)||Array.isArray(val)&&val.every(date_util_[\"isDate\"]);}},date:{},rangeState:{default:function _default(){return{endDate:null,selecting:false};}}},mixins:[locale_default.a],watch:{'rangeState.endDate':function rangeStateEndDate(newVal){this.markRange(this.minDate,newVal);},minDate:function minDate(newVal,oldVal){if(getMonthTimestamp(newVal)!==getMonthTimestamp(oldVal)){this.markRange(this.minDate,this.maxDate);}},maxDate:function maxDate(newVal,oldVal){if(getMonthTimestamp(newVal)!==getMonthTimestamp(oldVal)){this.markRange(this.minDate,this.maxDate);}}},data:function data(){return{months:['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'],tableRows:[[],[],[]],lastRow:null,lastColumn:null};},methods:{cellMatchesDate:function cellMatchesDate(cell,date){var value=new Date(date);return this.date.getFullYear()===value.getFullYear()&&Number(cell.text)===value.getMonth();},getCellStyle:function getCellStyle(cell){var _this=this;var style={};var year=this.date.getFullYear();var today=new Date();var month=cell.text;var defaultValue=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[];style.disabled=typeof this.disabledDate==='function'?month_tablevue_type_script_lang_js_datesInMonth(year,month).every(this.disabledDate):false;style.current=Object(util_[\"arrayFindIndex\"])(Object(util_[\"coerceTruthyValueToArray\"])(this.value),function(date){return date.getFullYear()===year&&date.getMonth()===month;})>=0;style.today=today.getFullYear()===year&&today.getMonth()===month;style.default=defaultValue.some(function(date){return _this.cellMatchesDate(cell,date);});if(cell.inRange){style['in-range']=true;if(cell.start){style['start-date']=true;}if(cell.end){style['end-date']=true;}}return style;},getMonthOfCell:function getMonthOfCell(month){var year=this.date.getFullYear();return new Date(year,month,1);},markRange:function markRange(minDate,maxDate){minDate=getMonthTimestamp(minDate);maxDate=getMonthTimestamp(maxDate)||minDate;var _ref=[Math.min(minDate,maxDate),Math.max(minDate,maxDate)];minDate=_ref[0];maxDate=_ref[1];var rows=this.rows;for(var i=0,k=rows.length;i<k;i++){var row=rows[i];for(var j=0,l=row.length;j<l;j++){var cell=row[j];var index=i*4+j;var time=new Date(this.date.getFullYear(),index).getTime();cell.inRange=minDate&&time>=minDate&&time<=maxDate;cell.start=minDate&&time===minDate;cell.end=maxDate&&time===maxDate;}}},handleMouseMove:function handleMouseMove(event){if(!this.rangeState.selecting)return;var target=event.target;if(target.tagName==='A'){target=target.parentNode.parentNode;}if(target.tagName==='DIV'){target=target.parentNode;}if(target.tagName!=='TD')return;var row=target.parentNode.rowIndex;var column=target.cellIndex;// can not select disabled date\nif(this.rows[row][column].disabled)return;// only update rangeState when mouse moves to a new cell\n// this avoids frequent Date object creation and improves performance\nif(row!==this.lastRow||column!==this.lastColumn){this.lastRow=row;this.lastColumn=column;this.$emit('changerange',{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:true,endDate:this.getMonthOfCell(row*4+column)}});}},handleMonthTableClick:function handleMonthTableClick(event){var target=event.target;if(target.tagName==='A'){target=target.parentNode.parentNode;}if(target.tagName==='DIV'){target=target.parentNode;}if(target.tagName!=='TD')return;if(Object(dom_[\"hasClass\"])(target,'disabled'))return;var column=target.cellIndex;var row=target.parentNode.rowIndex;var month=row*4+column;var newDate=this.getMonthOfCell(month);if(this.selectionMode==='range'){if(!this.rangeState.selecting){this.$emit('pick',{minDate:newDate,maxDate:null});this.rangeState.selecting=true;}else{if(newDate>=this.minDate){this.$emit('pick',{minDate:this.minDate,maxDate:newDate});}else{this.$emit('pick',{minDate:newDate,maxDate:this.minDate});}this.rangeState.selecting=false;}}else{this.$emit('pick',month);}}},computed:{rows:function rows(){var _this2=this;// TODO: refactory rows / getCellClasses\nvar rows=this.tableRows;var disabledDate=this.disabledDate;var selectedDate=[];var now=getMonthTimestamp(new Date());for(var i=0;i<3;i++){var row=rows[i];var _loop=function _loop(j){var cell=row[j];if(!cell){cell={row:i,column:j,type:'normal',inRange:false,start:false,end:false};}cell.type='normal';var index=i*4+j;var time=new Date(_this2.date.getFullYear(),index).getTime();cell.inRange=time>=getMonthTimestamp(_this2.minDate)&&time<=getMonthTimestamp(_this2.maxDate);cell.start=_this2.minDate&&time===getMonthTimestamp(_this2.minDate);cell.end=_this2.maxDate&&time===getMonthTimestamp(_this2.maxDate);var isToday=time===now;if(isToday){cell.type='today';}cell.text=index;var cellDate=new Date(time);cell.disabled=typeof disabledDate==='function'&&disabledDate(cellDate);cell.selected=Object(util_[\"arrayFind\"])(selectedDate,function(date){return date.getTime()===cellDate.getTime();});_this2.$set(row,j,cell);};for(var j=0;j<4;j++){_loop(j);}}return rows;}}};// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=script&lang=js&\n/* harmony default export */var basic_month_tablevue_type_script_lang_js_=month_tablevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue\n/* normalize component */var month_table_component=normalizeComponent(basic_month_tablevue_type_script_lang_js_,month_tablevue_type_template_id_654d4f42_render,month_tablevue_type_template_id_654d4f42_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var month_table_api; }month_table_component.options.__file=\"packages/date-picker/src/basic/month-table.vue\";/* harmony default export */var month_table=month_table_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/date-table.vue?vue&type=template&id=5d1f3341&\nvar date_tablevue_type_template_id_5d1f3341_render=function date_tablevue_type_template_id_5d1f3341_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"table\",{staticClass:\"el-date-table\",class:{\"is-week-mode\":_vm.selectionMode===\"week\"},attrs:{cellspacing:\"0\",cellpadding:\"0\"},on:{click:_vm.handleClick,mousemove:_vm.handleMouseMove}},[_c(\"tbody\",[_c(\"tr\",[_vm.showWeekNumber?_c(\"th\",[_vm._v(_vm._s(_vm.t(\"el.datepicker.week\")))]):_vm._e(),_vm._l(_vm.WEEKS,function(week,key){return _c(\"th\",{key:key},[_vm._v(_vm._s(_vm.t(\"el.datepicker.weeks.\"+week)))]);})],2),_vm._l(_vm.rows,function(row,key){return _c(\"tr\",{key:key,staticClass:\"el-date-table__row\",class:{current:_vm.isWeekActive(row[1])}},_vm._l(row,function(cell,key){return _c(\"td\",{key:key,class:_vm.getCellClasses(cell)},[_c(\"div\",[_c(\"span\",[_vm._v(\"\\n          \"+_vm._s(cell.text)+\"\\n        \")])])]);}),0);})],2)]);};var date_tablevue_type_template_id_5d1f3341_staticRenderFns=[];date_tablevue_type_template_id_5d1f3341_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue?vue&type=template&id=5d1f3341&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/date-table.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _WEEKS=['sun','mon','tue','wed','thu','fri','sat'];var date_tablevue_type_script_lang_js_getDateTimestamp=function getDateTimestamp(time){if(typeof time==='number'||typeof time==='string'){return Object(date_util_[\"clearTime\"])(new Date(time)).getTime();}else if(time instanceof Date){return Object(date_util_[\"clearTime\"])(time).getTime();}else{return NaN;}};// remove the first element that satisfies `pred` from arr\n// return a new array if modification occurs\n// return the original array otherwise\nvar date_tablevue_type_script_lang_js_removeFromArray=function removeFromArray(arr,pred){var idx=typeof pred==='function'?Object(util_[\"arrayFindIndex\"])(arr,pred):arr.indexOf(pred);return idx>=0?[].concat(arr.slice(0,idx),arr.slice(idx+1)):arr;};/* harmony default export */var date_tablevue_type_script_lang_js_={mixins:[locale_default.a],props:{firstDayOfWeek:{default:7,type:Number,validator:function validator(val){return val>=1&&val<=7;}},value:{},defaultValue:{validator:function validator(val){// either: null, valid Date object, Array of valid Date objects\nreturn val===null||Object(date_util_[\"isDate\"])(val)||Array.isArray(val)&&val.every(date_util_[\"isDate\"]);}},date:{},selectionMode:{default:'day'},showWeekNumber:{type:Boolean,default:false},disabledDate:{},cellClassName:{},minDate:{},maxDate:{},rangeState:{default:function _default(){return{endDate:null,selecting:false};}}},computed:{offsetDay:function offsetDay(){var week=this.firstDayOfWeek;// 周日为界限，左右偏移的天数，3217654 例如周一就是 -1，目的是调整前两行日期的位置\nreturn week>3?7-week:-week;},WEEKS:function WEEKS(){var week=this.firstDayOfWeek;return _WEEKS.concat(_WEEKS).slice(week,week+7);},year:function year(){return this.date.getFullYear();},month:function month(){return this.date.getMonth();},startDate:function startDate(){return Object(date_util_[\"getStartDateOfMonth\"])(this.year,this.month);},rows:function rows(){var _this=this;// TODO: refactory rows / getCellClasses\nvar date=new Date(this.year,this.month,1);var day=Object(date_util_[\"getFirstDayOfMonth\"])(date);// day of first day\nvar dateCountOfMonth=Object(date_util_[\"getDayCountOfMonth\"])(date.getFullYear(),date.getMonth());var dateCountOfLastMonth=Object(date_util_[\"getDayCountOfMonth\"])(date.getFullYear(),date.getMonth()===0?11:date.getMonth()-1);day=day===0?7:day;var offset=this.offsetDay;var rows=this.tableRows;var count=1;var startDate=this.startDate;var disabledDate=this.disabledDate;var cellClassName=this.cellClassName;var selectedDate=this.selectionMode==='dates'?Object(util_[\"coerceTruthyValueToArray\"])(this.value):[];var now=date_tablevue_type_script_lang_js_getDateTimestamp(new Date());for(var i=0;i<6;i++){var row=rows[i];if(this.showWeekNumber){if(!row[0]){row[0]={type:'week',text:Object(date_util_[\"getWeekNumber\"])(Object(date_util_[\"nextDate\"])(startDate,i*7+1))};}}var _loop=function _loop(j){var cell=row[_this.showWeekNumber?j+1:j];if(!cell){cell={row:i,column:j,type:'normal',inRange:false,start:false,end:false};}cell.type='normal';var index=i*7+j;var time=Object(date_util_[\"nextDate\"])(startDate,index-offset).getTime();cell.inRange=time>=date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate)&&time<=date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate);cell.start=_this.minDate&&time===date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate);cell.end=_this.maxDate&&time===date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate);var isToday=time===now;if(isToday){cell.type='today';}if(i>=0&&i<=1){var numberOfDaysFromPreviousMonth=day+offset<0?7+day+offset:day+offset;if(j+i*7>=numberOfDaysFromPreviousMonth){cell.text=count++;}else{cell.text=dateCountOfLastMonth-(numberOfDaysFromPreviousMonth-j%7)+1+i*7;cell.type='prev-month';}}else{if(count<=dateCountOfMonth){cell.text=count++;}else{cell.text=count++-dateCountOfMonth;cell.type='next-month';}}var cellDate=new Date(time);cell.disabled=typeof disabledDate==='function'&&disabledDate(cellDate);cell.selected=Object(util_[\"arrayFind\"])(selectedDate,function(date){return date.getTime()===cellDate.getTime();});cell.customClass=typeof cellClassName==='function'&&cellClassName(cellDate);_this.$set(row,_this.showWeekNumber?j+1:j,cell);};for(var j=0;j<7;j++){_loop(j);}if(this.selectionMode==='week'){var start=this.showWeekNumber?1:0;var end=this.showWeekNumber?7:6;var isWeekActive=this.isWeekActive(row[start+1]);row[start].inRange=isWeekActive;row[start].start=isWeekActive;row[end].inRange=isWeekActive;row[end].end=isWeekActive;}}return rows;}},watch:{'rangeState.endDate':function rangeStateEndDate(newVal){this.markRange(this.minDate,newVal);},minDate:function minDate(newVal,oldVal){if(date_tablevue_type_script_lang_js_getDateTimestamp(newVal)!==date_tablevue_type_script_lang_js_getDateTimestamp(oldVal)){this.markRange(this.minDate,this.maxDate);}},maxDate:function maxDate(newVal,oldVal){if(date_tablevue_type_script_lang_js_getDateTimestamp(newVal)!==date_tablevue_type_script_lang_js_getDateTimestamp(oldVal)){this.markRange(this.minDate,this.maxDate);}}},data:function data(){return{tableRows:[[],[],[],[],[],[]],lastRow:null,lastColumn:null};},methods:{cellMatchesDate:function cellMatchesDate(cell,date){var value=new Date(date);return this.year===value.getFullYear()&&this.month===value.getMonth()&&Number(cell.text)===value.getDate();},getCellClasses:function getCellClasses(cell){var _this2=this;var selectionMode=this.selectionMode;var defaultValue=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[];var classes=[];if((cell.type==='normal'||cell.type==='today')&&!cell.disabled){classes.push('available');if(cell.type==='today'){classes.push('today');}}else{classes.push(cell.type);}if(cell.type==='normal'&&defaultValue.some(function(date){return _this2.cellMatchesDate(cell,date);})){classes.push('default');}if(selectionMode==='day'&&(cell.type==='normal'||cell.type==='today')&&this.cellMatchesDate(cell,this.value)){classes.push('current');}if(cell.inRange&&(cell.type==='normal'||cell.type==='today'||this.selectionMode==='week')){classes.push('in-range');if(cell.start){classes.push('start-date');}if(cell.end){classes.push('end-date');}}if(cell.disabled){classes.push('disabled');}if(cell.selected){classes.push('selected');}if(cell.customClass){classes.push(cell.customClass);}return classes.join(' ');},getDateOfCell:function getDateOfCell(row,column){var offsetFromStart=row*7+(column-(this.showWeekNumber?1:0))-this.offsetDay;return Object(date_util_[\"nextDate\"])(this.startDate,offsetFromStart);},isWeekActive:function isWeekActive(cell){if(this.selectionMode!=='week')return false;var newDate=new Date(this.year,this.month,1);var year=newDate.getFullYear();var month=newDate.getMonth();if(cell.type==='prev-month'){newDate.setMonth(month===0?11:month-1);newDate.setFullYear(month===0?year-1:year);}if(cell.type==='next-month'){newDate.setMonth(month===11?0:month+1);newDate.setFullYear(month===11?year+1:year);}newDate.setDate(parseInt(cell.text,10));if(Object(date_util_[\"isDate\"])(this.value)){var dayOffset=(this.value.getDay()-this.firstDayOfWeek+7)%7-1;var weekDate=Object(date_util_[\"prevDate\"])(this.value,dayOffset);return weekDate.getTime()===newDate.getTime();}return false;},markRange:function markRange(minDate,maxDate){minDate=date_tablevue_type_script_lang_js_getDateTimestamp(minDate);maxDate=date_tablevue_type_script_lang_js_getDateTimestamp(maxDate)||minDate;var _ref=[Math.min(minDate,maxDate),Math.max(minDate,maxDate)];minDate=_ref[0];maxDate=_ref[1];var startDate=this.startDate;var rows=this.rows;for(var i=0,k=rows.length;i<k;i++){var row=rows[i];for(var j=0,l=row.length;j<l;j++){if(this.showWeekNumber&&j===0)continue;var _cell=row[j];var index=i*7+j+(this.showWeekNumber?-1:0);var time=Object(date_util_[\"nextDate\"])(startDate,index-this.offsetDay).getTime();_cell.inRange=minDate&&time>=minDate&&time<=maxDate;_cell.start=minDate&&time===minDate;_cell.end=maxDate&&time===maxDate;}}},handleMouseMove:function handleMouseMove(event){if(!this.rangeState.selecting)return;var target=event.target;if(target.tagName==='SPAN'){target=target.parentNode.parentNode;}if(target.tagName==='DIV'){target=target.parentNode;}if(target.tagName!=='TD')return;var row=target.parentNode.rowIndex-1;var column=target.cellIndex;// can not select disabled date\nif(this.rows[row][column].disabled)return;// only update rangeState when mouse moves to a new cell\n// this avoids frequent Date object creation and improves performance\nif(row!==this.lastRow||column!==this.lastColumn){this.lastRow=row;this.lastColumn=column;this.$emit('changerange',{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:true,endDate:this.getDateOfCell(row,column)}});}},handleClick:function handleClick(event){var target=event.target;if(target.tagName==='SPAN'){target=target.parentNode.parentNode;}if(target.tagName==='DIV'){target=target.parentNode;}if(target.tagName!=='TD')return;var row=target.parentNode.rowIndex-1;var column=this.selectionMode==='week'?1:target.cellIndex;var cell=this.rows[row][column];if(cell.disabled||cell.type==='week')return;var newDate=this.getDateOfCell(row,column);if(this.selectionMode==='range'){if(!this.rangeState.selecting){this.$emit('pick',{minDate:newDate,maxDate:null});this.rangeState.selecting=true;}else{if(newDate>=this.minDate){this.$emit('pick',{minDate:this.minDate,maxDate:newDate});}else{this.$emit('pick',{minDate:newDate,maxDate:this.minDate});}this.rangeState.selecting=false;}}else if(this.selectionMode==='day'){this.$emit('pick',newDate);}else if(this.selectionMode==='week'){var weekNumber=Object(date_util_[\"getWeekNumber\"])(newDate);var value=newDate.getFullYear()+'w'+weekNumber;this.$emit('pick',{year:newDate.getFullYear(),week:weekNumber,value:value,date:newDate});}else if(this.selectionMode==='dates'){var _value=this.value||[];var newValue=cell.selected?date_tablevue_type_script_lang_js_removeFromArray(_value,function(date){return date.getTime()===newDate.getTime();}):[].concat(_value,[newDate]);this.$emit('pick',newValue);}}}};// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue?vue&type=script&lang=js&\n/* harmony default export */var basic_date_tablevue_type_script_lang_js_=date_tablevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue\n/* normalize component */var date_table_component=normalizeComponent(basic_date_tablevue_type_script_lang_js_,date_tablevue_type_template_id_5d1f3341_render,date_tablevue_type_template_id_5d1f3341_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var date_table_api; }date_table_component.options.__file=\"packages/date-picker/src/basic/date-table.vue\";/* harmony default export */var date_table=date_table_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var datevue_type_script_lang_js_={mixins:[locale_default.a],directives:{Clickoutside:clickoutside_default.a},watch:{showTime:function showTime(val){var _this=this;/* istanbul ignore if */if(!val)return;this.$nextTick(function(_){var inputElm=_this.$refs.input.$el;if(inputElm){_this.pickerWidth=inputElm.getBoundingClientRect().width+10;}});},value:function value(val){if(this.selectionMode==='dates'&&this.value)return;if(Object(date_util_[\"isDate\"])(val)){this.date=new Date(val);}else{this.date=this.getDefaultValue();}},defaultValue:function defaultValue(val){if(!Object(date_util_[\"isDate\"])(this.value)){this.date=val?new Date(val):new Date();}},timePickerVisible:function timePickerVisible(val){var _this2=this;if(val)this.$nextTick(function(){return _this2.$refs.timepicker.adjustSpinners();});},selectionMode:function selectionMode(newVal){if(newVal==='month'){/* istanbul ignore next */if(this.currentView!=='year'||this.currentView!=='month'){this.currentView='month';}}else if(newVal==='dates'){this.currentView='date';}}},methods:{proxyTimePickerDataProperties:function proxyTimePickerDataProperties(){var _this3=this;var format=function format(timeFormat){_this3.$refs.timepicker.format=timeFormat;};var value=function value(_value){_this3.$refs.timepicker.value=_value;};var date=function date(_date){_this3.$refs.timepicker.date=_date;};var selectableRange=function selectableRange(_selectableRange){_this3.$refs.timepicker.selectableRange=_selectableRange;};this.$watch('value',value);this.$watch('date',date);this.$watch('selectableRange',selectableRange);format(this.timeFormat);value(this.value);date(this.date);selectableRange(this.selectableRange);},handleClear:function handleClear(){this.date=this.getDefaultValue();this.$emit('pick',null);},emit:function emit(value){var _this4=this;for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}if(!value){this.$emit.apply(this,['pick',value].concat(args));}else if(Array.isArray(value)){var dates=value.map(function(date){return _this4.showTime?Object(date_util_[\"clearMilliseconds\"])(date):Object(date_util_[\"clearTime\"])(date);});this.$emit.apply(this,['pick',dates].concat(args));}else{this.$emit.apply(this,['pick',this.showTime?Object(date_util_[\"clearMilliseconds\"])(value):Object(date_util_[\"clearTime\"])(value)].concat(args));}this.userInputDate=null;this.userInputTime=null;},// resetDate() {\n//   this.date = new Date(this.date);\n// },\nshowMonthPicker:function showMonthPicker(){this.currentView='month';},showYearPicker:function showYearPicker(){this.currentView='year';},// XXX: 没用到\n// handleLabelClick() {\n//   if (this.currentView === 'date') {\n//     this.showMonthPicker();\n//   } else if (this.currentView === 'month') {\n//     this.showYearPicker();\n//   }\n// },\nprevMonth:function prevMonth(){this.date=Object(date_util_[\"prevMonth\"])(this.date);},nextMonth:function nextMonth(){this.date=Object(date_util_[\"nextMonth\"])(this.date);},prevYear:function prevYear(){if(this.currentView==='year'){this.date=Object(date_util_[\"prevYear\"])(this.date,10);}else{this.date=Object(date_util_[\"prevYear\"])(this.date);}},nextYear:function nextYear(){if(this.currentView==='year'){this.date=Object(date_util_[\"nextYear\"])(this.date,10);}else{this.date=Object(date_util_[\"nextYear\"])(this.date);}},handleShortcutClick:function handleShortcutClick(shortcut){if(shortcut.onClick){shortcut.onClick(this);}},handleTimePick:function handleTimePick(value,visible,first){if(Object(date_util_[\"isDate\"])(value)){var newDate=this.value?Object(date_util_[\"modifyTime\"])(this.value,value.getHours(),value.getMinutes(),value.getSeconds()):Object(date_util_[\"modifyWithTimeString\"])(this.getDefaultValue(),this.defaultTime);this.date=newDate;this.emit(this.date,true);}else{this.emit(value,true);}if(!first){this.timePickerVisible=visible;}},handleTimePickClose:function handleTimePickClose(){this.timePickerVisible=false;},handleMonthPick:function handleMonthPick(month){if(this.selectionMode==='month'){this.date=Object(date_util_[\"modifyDate\"])(this.date,this.year,month,1);this.emit(this.date);}else{this.date=Object(date_util_[\"changeYearMonthAndClampDate\"])(this.date,this.year,month);// TODO: should emit intermediate value ??\n// this.emit(this.date);\nthis.currentView='date';}},handleDatePick:function handleDatePick(value){if(this.selectionMode==='day'){var newDate=this.value?Object(date_util_[\"modifyDate\"])(this.value,value.getFullYear(),value.getMonth(),value.getDate()):Object(date_util_[\"modifyWithTimeString\"])(value,this.defaultTime);// change default time while out of selectableRange\nif(!this.checkDateWithinRange(newDate)){newDate=Object(date_util_[\"modifyDate\"])(this.selectableRange[0][0],value.getFullYear(),value.getMonth(),value.getDate());}this.date=newDate;this.emit(this.date,this.showTime);}else if(this.selectionMode==='week'){this.emit(value.date);}else if(this.selectionMode==='dates'){this.emit(value,true);// set false to keep panel open\n}},handleYearPick:function handleYearPick(year){if(this.selectionMode==='year'){this.date=Object(date_util_[\"modifyDate\"])(this.date,year,0,1);this.emit(this.date);}else{this.date=Object(date_util_[\"changeYearMonthAndClampDate\"])(this.date,year,this.month);// TODO: should emit intermediate value ??\n// this.emit(this.date, true);\nthis.currentView='month';}},changeToNow:function changeToNow(){// NOTE: not a permanent solution\n//       consider disable \"now\" button in the future\nif((!this.disabledDate||!this.disabledDate(new Date()))&&this.checkDateWithinRange(new Date())){this.date=new Date();this.emit(this.date);}},confirm:function confirm(){if(this.selectionMode==='dates'){this.emit(this.value);}else{// value were emitted in handle{Date,Time}Pick, nothing to update here\n// deal with the scenario where: user opens the picker, then confirm without doing anything\nvar value=this.value?this.value:Object(date_util_[\"modifyWithTimeString\"])(this.getDefaultValue(),this.defaultTime);this.date=new Date(value);// refresh date\nthis.emit(value);}},resetView:function resetView(){if(this.selectionMode==='month'){this.currentView='month';}else if(this.selectionMode==='year'){this.currentView='year';}else{this.currentView='date';}},handleEnter:function handleEnter(){document.body.addEventListener('keydown',this.handleKeydown);},handleLeave:function handleLeave(){this.$emit('dodestroy');document.body.removeEventListener('keydown',this.handleKeydown);},handleKeydown:function handleKeydown(event){var keyCode=event.keyCode;var list=[38,40,37,39];if(this.visible&&!this.timePickerVisible){if(list.indexOf(keyCode)!==-1){this.handleKeyControl(keyCode);event.stopPropagation();event.preventDefault();}if(keyCode===13&&this.userInputDate===null&&this.userInputTime===null){// Enter\nthis.emit(this.date,false);}}},handleKeyControl:function handleKeyControl(keyCode){var mapping={'year':{38:-4,40:4,37:-1,39:1,offset:function offset(date,step){return date.setFullYear(date.getFullYear()+step);}},'month':{38:-4,40:4,37:-1,39:1,offset:function offset(date,step){return date.setMonth(date.getMonth()+step);}},'week':{38:-1,40:1,37:-1,39:1,offset:function offset(date,step){return date.setDate(date.getDate()+step*7);}},'day':{38:-7,40:7,37:-1,39:1,offset:function offset(date,step){return date.setDate(date.getDate()+step);}}};var mode=this.selectionMode;var year=3.1536e10;var now=this.date.getTime();var newDate=new Date(this.date.getTime());while(Math.abs(now-newDate.getTime())<=year){var map=mapping[mode];map.offset(newDate,map[keyCode]);if(typeof this.disabledDate==='function'&&this.disabledDate(newDate)){continue;}this.date=newDate;this.$emit('pick',newDate,true);break;}},handleVisibleTimeChange:function handleVisibleTimeChange(value){var time=Object(date_util_[\"parseDate\"])(value,this.timeFormat);if(time&&this.checkDateWithinRange(time)){this.date=Object(date_util_[\"modifyDate\"])(time,this.year,this.month,this.monthDate);this.userInputTime=null;this.$refs.timepicker.value=this.date;this.timePickerVisible=false;this.emit(this.date,true);}},handleVisibleDateChange:function handleVisibleDateChange(value){var date=Object(date_util_[\"parseDate\"])(value,this.dateFormat);if(date){if(typeof this.disabledDate==='function'&&this.disabledDate(date)){return;}this.date=Object(date_util_[\"modifyTime\"])(date,this.date.getHours(),this.date.getMinutes(),this.date.getSeconds());this.userInputDate=null;this.resetView();this.emit(this.date,true);}},isValidValue:function isValidValue(value){return value&&!isNaN(value)&&(typeof this.disabledDate==='function'?!this.disabledDate(value):true)&&this.checkDateWithinRange(value);},getDefaultValue:function getDefaultValue(){// if default-value is set, return it\n// otherwise, return now (the moment this method gets called)\nreturn this.defaultValue?new Date(this.defaultValue):new Date();},checkDateWithinRange:function checkDateWithinRange(date){return this.selectableRange.length>0?Object(date_util_[\"timeWithinRange\"])(date,this.selectableRange,this.format||'HH:mm:ss'):true;}},components:{TimePicker:panel_time,YearTable:year_table,MonthTable:month_table,DateTable:date_table,ElInput:input_default.a,ElButton:button_default.a},data:function data(){return{popperClass:'',date:new Date(),value:'',defaultValue:null,// use getDefaultValue() for time computation\ndefaultTime:null,showTime:false,selectionMode:'day',shortcuts:'',visible:false,currentView:'date',disabledDate:'',cellClassName:'',selectableRange:[],firstDayOfWeek:7,showWeekNumber:false,timePickerVisible:false,format:'',arrowControl:false,userInputDate:null,userInputTime:null};},computed:{year:function year(){return this.date.getFullYear();},month:function month(){return this.date.getMonth();},week:function week(){return Object(date_util_[\"getWeekNumber\"])(this.date);},monthDate:function monthDate(){return this.date.getDate();},footerVisible:function footerVisible(){return this.showTime||this.selectionMode==='dates';},visibleTime:function visibleTime(){if(this.userInputTime!==null){return this.userInputTime;}else{return Object(date_util_[\"formatDate\"])(this.value||this.defaultValue,this.timeFormat);}},visibleDate:function visibleDate(){if(this.userInputDate!==null){return this.userInputDate;}else{return Object(date_util_[\"formatDate\"])(this.value||this.defaultValue,this.dateFormat);}},yearLabel:function yearLabel(){var yearTranslation=this.t('el.datepicker.year');if(this.currentView==='year'){var startYear=Math.floor(this.year/10)*10;if(yearTranslation){return startYear+' '+yearTranslation+' - '+(startYear+9)+' '+yearTranslation;}return startYear+' - '+(startYear+9);}return this.year+' '+yearTranslation;},timeFormat:function timeFormat(){if(this.format){return Object(date_util_[\"extractTimeFormat\"])(this.format);}else{return'HH:mm:ss';}},dateFormat:function dateFormat(){if(this.format){return Object(date_util_[\"extractDateFormat\"])(this.format);}else{return'yyyy-MM-dd';}}}};// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue?vue&type=script&lang=js&\n/* harmony default export */var panel_datevue_type_script_lang_js_=datevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue\n/* normalize component */var date_component=normalizeComponent(panel_datevue_type_script_lang_js_,datevue_type_template_id_2440d4ea_render,datevue_type_template_id_2440d4ea_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var date_api; }date_component.options.__file=\"packages/date-picker/src/panel/date.vue\";/* harmony default export */var panel_date=date_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a&\nvar date_rangevue_type_template_id_2652849a_render=function date_rangevue_type_template_id_2652849a_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":function afterLeave($event){_vm.$emit(\"dodestroy\");}}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-picker-panel el-date-range-picker el-popper\",class:[{\"has-sidebar\":_vm.$slots.sidebar||_vm.shortcuts,\"has-time\":_vm.showTime},_vm.popperClass]},[_c(\"div\",{staticClass:\"el-picker-panel__body-wrapper\"},[_vm._t(\"sidebar\"),_vm.shortcuts?_c(\"div\",{staticClass:\"el-picker-panel__sidebar\"},_vm._l(_vm.shortcuts,function(shortcut,key){return _c(\"button\",{key:key,staticClass:\"el-picker-panel__shortcut\",attrs:{type:\"button\"},on:{click:function click($event){_vm.handleShortcutClick(shortcut);}}},[_vm._v(_vm._s(shortcut.text))]);}),0):_vm._e(),_c(\"div\",{staticClass:\"el-picker-panel__body\"},[_vm.showTime?_c(\"div\",{staticClass:\"el-date-range-picker__time-header\"},[_c(\"span\",{staticClass:\"el-date-range-picker__editors-wrap\"},[_c(\"span\",{staticClass:\"el-date-range-picker__time-picker-wrap\"},[_c(\"el-input\",{ref:\"minInput\",staticClass:\"el-date-range-picker__editor\",attrs:{size:\"small\",disabled:_vm.rangeState.selecting,placeholder:_vm.t(\"el.datepicker.startDate\"),value:_vm.minVisibleDate},on:{input:function input(val){return _vm.handleDateInput(val,\"min\");},change:function change(val){return _vm.handleDateChange(val,\"min\");}}})],1),_c(\"span\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleMinTimeClose,expression:\"handleMinTimeClose\"}],staticClass:\"el-date-range-picker__time-picker-wrap\"},[_c(\"el-input\",{staticClass:\"el-date-range-picker__editor\",attrs:{size:\"small\",disabled:_vm.rangeState.selecting,placeholder:_vm.t(\"el.datepicker.startTime\"),value:_vm.minVisibleTime},on:{focus:function focus($event){_vm.minTimePickerVisible=true;},input:function input(val){return _vm.handleTimeInput(val,\"min\");},change:function change(val){return _vm.handleTimeChange(val,\"min\");}}}),_c(\"time-picker\",{ref:\"minTimePicker\",attrs:{\"time-arrow-control\":_vm.arrowControl,visible:_vm.minTimePickerVisible},on:{pick:_vm.handleMinTimePick,mounted:function mounted($event){_vm.$refs.minTimePicker.format=_vm.timeFormat;}}})],1)]),_c(\"span\",{staticClass:\"el-icon-arrow-right\"}),_c(\"span\",{staticClass:\"el-date-range-picker__editors-wrap is-right\"},[_c(\"span\",{staticClass:\"el-date-range-picker__time-picker-wrap\"},[_c(\"el-input\",{staticClass:\"el-date-range-picker__editor\",attrs:{size:\"small\",disabled:_vm.rangeState.selecting,placeholder:_vm.t(\"el.datepicker.endDate\"),value:_vm.maxVisibleDate,readonly:!_vm.minDate},on:{input:function input(val){return _vm.handleDateInput(val,\"max\");},change:function change(val){return _vm.handleDateChange(val,\"max\");}}})],1),_c(\"span\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.handleMaxTimeClose,expression:\"handleMaxTimeClose\"}],staticClass:\"el-date-range-picker__time-picker-wrap\"},[_c(\"el-input\",{staticClass:\"el-date-range-picker__editor\",attrs:{size:\"small\",disabled:_vm.rangeState.selecting,placeholder:_vm.t(\"el.datepicker.endTime\"),value:_vm.maxVisibleTime,readonly:!_vm.minDate},on:{focus:function focus($event){_vm.minDate&&(_vm.maxTimePickerVisible=true);},input:function input(val){return _vm.handleTimeInput(val,\"max\");},change:function change(val){return _vm.handleTimeChange(val,\"max\");}}}),_c(\"time-picker\",{ref:\"maxTimePicker\",attrs:{\"time-arrow-control\":_vm.arrowControl,visible:_vm.maxTimePickerVisible},on:{pick:_vm.handleMaxTimePick,mounted:function mounted($event){_vm.$refs.maxTimePicker.format=_vm.timeFormat;}}})],1)])]):_vm._e(),_c(\"div\",{staticClass:\"el-picker-panel__content el-date-range-picker__content is-left\"},[_c(\"div\",{staticClass:\"el-date-range-picker__header\"},[_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-left\",attrs:{type:\"button\"},on:{click:_vm.leftPrevYear}}),_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-arrow-left\",attrs:{type:\"button\"},on:{click:_vm.leftPrevMonth}}),_vm.unlinkPanels?_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-right\",class:{\"is-disabled\":!_vm.enableYearArrow},attrs:{type:\"button\",disabled:!_vm.enableYearArrow},on:{click:_vm.leftNextYear}}):_vm._e(),_vm.unlinkPanels?_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-arrow-right\",class:{\"is-disabled\":!_vm.enableMonthArrow},attrs:{type:\"button\",disabled:!_vm.enableMonthArrow},on:{click:_vm.leftNextMonth}}):_vm._e(),_c(\"div\",[_vm._v(_vm._s(_vm.leftLabel))])]),_c(\"date-table\",{attrs:{\"selection-mode\":\"range\",date:_vm.leftDate,\"default-value\":_vm.defaultValue,\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"range-state\":_vm.rangeState,\"disabled-date\":_vm.disabledDate,\"cell-class-name\":_vm.cellClassName,\"first-day-of-week\":_vm.firstDayOfWeek},on:{changerange:_vm.handleChangeRange,pick:_vm.handleRangePick}})],1),_c(\"div\",{staticClass:\"el-picker-panel__content el-date-range-picker__content is-right\"},[_c(\"div\",{staticClass:\"el-date-range-picker__header\"},[_vm.unlinkPanels?_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-left\",class:{\"is-disabled\":!_vm.enableYearArrow},attrs:{type:\"button\",disabled:!_vm.enableYearArrow},on:{click:_vm.rightPrevYear}}):_vm._e(),_vm.unlinkPanels?_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-arrow-left\",class:{\"is-disabled\":!_vm.enableMonthArrow},attrs:{type:\"button\",disabled:!_vm.enableMonthArrow},on:{click:_vm.rightPrevMonth}}):_vm._e(),_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-right\",attrs:{type:\"button\"},on:{click:_vm.rightNextYear}}),_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-arrow-right\",attrs:{type:\"button\"},on:{click:_vm.rightNextMonth}}),_c(\"div\",[_vm._v(_vm._s(_vm.rightLabel))])]),_c(\"date-table\",{attrs:{\"selection-mode\":\"range\",date:_vm.rightDate,\"default-value\":_vm.defaultValue,\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"range-state\":_vm.rangeState,\"disabled-date\":_vm.disabledDate,\"cell-class-name\":_vm.cellClassName,\"first-day-of-week\":_vm.firstDayOfWeek},on:{changerange:_vm.handleChangeRange,pick:_vm.handleRangePick}})],1)])],2),_vm.showTime?_c(\"div\",{staticClass:\"el-picker-panel__footer\"},[_c(\"el-button\",{staticClass:\"el-picker-panel__link-btn\",attrs:{size:\"mini\",type:\"text\"},on:{click:_vm.handleClear}},[_vm._v(\"\\n        \"+_vm._s(_vm.t(\"el.datepicker.clear\"))+\"\\n      \")]),_c(\"el-button\",{staticClass:\"el-picker-panel__link-btn\",attrs:{plain:\"\",size:\"mini\",disabled:_vm.btnDisabled},on:{click:function click($event){_vm.handleConfirm(false);}}},[_vm._v(\"\\n        \"+_vm._s(_vm.t(\"el.datepicker.confirm\"))+\"\\n      \")])],1):_vm._e()])]);};var date_rangevue_type_template_id_2652849a_staticRenderFns=[];date_rangevue_type_template_id_2652849a_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar date_rangevue_type_script_lang_js_calcDefaultValue=function calcDefaultValue(defaultValue){if(Array.isArray(defaultValue)){return[new Date(defaultValue[0]),new Date(defaultValue[1])];}else if(defaultValue){return[new Date(defaultValue),Object(date_util_[\"nextDate\"])(new Date(defaultValue),1)];}else{return[new Date(),Object(date_util_[\"nextDate\"])(new Date(),1)];}};/* harmony default export */var date_rangevue_type_script_lang_js_={mixins:[locale_default.a],directives:{Clickoutside:clickoutside_default.a},computed:{btnDisabled:function btnDisabled(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]));},leftLabel:function leftLabel(){return this.leftDate.getFullYear()+' '+this.t('el.datepicker.year')+' '+this.t('el.datepicker.month'+(this.leftDate.getMonth()+1));},rightLabel:function rightLabel(){return this.rightDate.getFullYear()+' '+this.t('el.datepicker.year')+' '+this.t('el.datepicker.month'+(this.rightDate.getMonth()+1));},leftYear:function leftYear(){return this.leftDate.getFullYear();},leftMonth:function leftMonth(){return this.leftDate.getMonth();},leftMonthDate:function leftMonthDate(){return this.leftDate.getDate();},rightYear:function rightYear(){return this.rightDate.getFullYear();},rightMonth:function rightMonth(){return this.rightDate.getMonth();},rightMonthDate:function rightMonthDate(){return this.rightDate.getDate();},minVisibleDate:function minVisibleDate(){if(this.dateUserInput.min!==null)return this.dateUserInput.min;if(this.minDate)return Object(date_util_[\"formatDate\"])(this.minDate,this.dateFormat);return'';},maxVisibleDate:function maxVisibleDate(){if(this.dateUserInput.max!==null)return this.dateUserInput.max;if(this.maxDate||this.minDate)return Object(date_util_[\"formatDate\"])(this.maxDate||this.minDate,this.dateFormat);return'';},minVisibleTime:function minVisibleTime(){if(this.timeUserInput.min!==null)return this.timeUserInput.min;if(this.minDate)return Object(date_util_[\"formatDate\"])(this.minDate,this.timeFormat);return'';},maxVisibleTime:function maxVisibleTime(){if(this.timeUserInput.max!==null)return this.timeUserInput.max;if(this.maxDate||this.minDate)return Object(date_util_[\"formatDate\"])(this.maxDate||this.minDate,this.timeFormat);return'';},timeFormat:function timeFormat(){if(this.format){return Object(date_util_[\"extractTimeFormat\"])(this.format);}else{return'HH:mm:ss';}},dateFormat:function dateFormat(){if(this.format){return Object(date_util_[\"extractDateFormat\"])(this.format);}else{return'yyyy-MM-dd';}},enableMonthArrow:function enableMonthArrow(){var nextMonth=(this.leftMonth+1)%12;var yearOffset=this.leftMonth+1>=12?1:0;return this.unlinkPanels&&new Date(this.leftYear+yearOffset,nextMonth)<new Date(this.rightYear,this.rightMonth);},enableYearArrow:function enableYearArrow(){return this.unlinkPanels&&this.rightYear*12+this.rightMonth-(this.leftYear*12+this.leftMonth+1)>=12;}},data:function data(){return{popperClass:'',value:[],defaultValue:null,defaultTime:null,minDate:'',maxDate:'',leftDate:new Date(),rightDate:Object(date_util_[\"nextMonth\"])(new Date()),rangeState:{endDate:null,selecting:false,row:null,column:null},showTime:false,shortcuts:'',visible:'',disabledDate:'',cellClassName:'',firstDayOfWeek:7,minTimePickerVisible:false,maxTimePickerVisible:false,format:'',arrowControl:false,unlinkPanels:false,dateUserInput:{min:null,max:null},timeUserInput:{min:null,max:null}};},watch:{minDate:function minDate(val){var _this=this;this.dateUserInput.min=null;this.timeUserInput.min=null;this.$nextTick(function(){if(_this.$refs.maxTimePicker&&_this.maxDate&&_this.maxDate<_this.minDate){var format='HH:mm:ss';_this.$refs.maxTimePicker.selectableRange=[[Object(date_util_[\"parseDate\"])(Object(date_util_[\"formatDate\"])(_this.minDate,format),format),Object(date_util_[\"parseDate\"])('23:59:59',format)]];}});if(val&&this.$refs.minTimePicker){this.$refs.minTimePicker.date=val;this.$refs.minTimePicker.value=val;}},maxDate:function maxDate(val){this.dateUserInput.max=null;this.timeUserInput.max=null;if(val&&this.$refs.maxTimePicker){this.$refs.maxTimePicker.date=val;this.$refs.maxTimePicker.value=val;}},minTimePickerVisible:function minTimePickerVisible(val){var _this2=this;if(val){this.$nextTick(function(){_this2.$refs.minTimePicker.date=_this2.minDate;_this2.$refs.minTimePicker.value=_this2.minDate;_this2.$refs.minTimePicker.adjustSpinners();});}},maxTimePickerVisible:function maxTimePickerVisible(val){var _this3=this;if(val){this.$nextTick(function(){_this3.$refs.maxTimePicker.date=_this3.maxDate;_this3.$refs.maxTimePicker.value=_this3.maxDate;_this3.$refs.maxTimePicker.adjustSpinners();});}},value:function value(newVal){if(!newVal){this.minDate=null;this.maxDate=null;}else if(Array.isArray(newVal)){this.minDate=Object(date_util_[\"isDate\"])(newVal[0])?new Date(newVal[0]):null;this.maxDate=Object(date_util_[\"isDate\"])(newVal[1])?new Date(newVal[1]):null;if(this.minDate){this.leftDate=this.minDate;if(this.unlinkPanels&&this.maxDate){var minDateYear=this.minDate.getFullYear();var minDateMonth=this.minDate.getMonth();var maxDateYear=this.maxDate.getFullYear();var maxDateMonth=this.maxDate.getMonth();this.rightDate=minDateYear===maxDateYear&&minDateMonth===maxDateMonth?Object(date_util_[\"nextMonth\"])(this.maxDate):this.maxDate;}else{this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}}else{this.leftDate=date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}}},defaultValue:function defaultValue(val){if(!Array.isArray(this.value)){var _calcDefaultValue=date_rangevue_type_script_lang_js_calcDefaultValue(val),left=_calcDefaultValue[0],right=_calcDefaultValue[1];this.leftDate=left;this.rightDate=val&&val[1]&&this.unlinkPanels?right:Object(date_util_[\"nextMonth\"])(this.leftDate);}}},methods:{handleClear:function handleClear(){this.minDate=null;this.maxDate=null;this.leftDate=date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);this.$emit('pick',null);},handleChangeRange:function handleChangeRange(val){this.minDate=val.minDate;this.maxDate=val.maxDate;this.rangeState=val.rangeState;},handleDateInput:function handleDateInput(value,type){this.dateUserInput[type]=value;if(value.length!==this.dateFormat.length)return;var parsedValue=Object(date_util_[\"parseDate\"])(value,this.dateFormat);if(parsedValue){if(typeof this.disabledDate==='function'&&this.disabledDate(new Date(parsedValue))){return;}if(type==='min'){this.minDate=Object(date_util_[\"modifyDate\"])(this.minDate||new Date(),parsedValue.getFullYear(),parsedValue.getMonth(),parsedValue.getDate());this.leftDate=new Date(parsedValue);if(!this.unlinkPanels){this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}}else{this.maxDate=Object(date_util_[\"modifyDate\"])(this.maxDate||new Date(),parsedValue.getFullYear(),parsedValue.getMonth(),parsedValue.getDate());this.rightDate=new Date(parsedValue);if(!this.unlinkPanels){this.leftDate=Object(date_util_[\"prevMonth\"])(parsedValue);}}}},handleDateChange:function handleDateChange(value,type){var parsedValue=Object(date_util_[\"parseDate\"])(value,this.dateFormat);if(parsedValue){if(type==='min'){this.minDate=Object(date_util_[\"modifyDate\"])(this.minDate,parsedValue.getFullYear(),parsedValue.getMonth(),parsedValue.getDate());if(this.minDate>this.maxDate){this.maxDate=this.minDate;}}else{this.maxDate=Object(date_util_[\"modifyDate\"])(this.maxDate,parsedValue.getFullYear(),parsedValue.getMonth(),parsedValue.getDate());if(this.maxDate<this.minDate){this.minDate=this.maxDate;}}}},handleTimeInput:function handleTimeInput(value,type){var _this4=this;this.timeUserInput[type]=value;if(value.length!==this.timeFormat.length)return;var parsedValue=Object(date_util_[\"parseDate\"])(value,this.timeFormat);if(parsedValue){if(type==='min'){this.minDate=Object(date_util_[\"modifyTime\"])(this.minDate,parsedValue.getHours(),parsedValue.getMinutes(),parsedValue.getSeconds());this.$nextTick(function(_){return _this4.$refs.minTimePicker.adjustSpinners();});}else{this.maxDate=Object(date_util_[\"modifyTime\"])(this.maxDate,parsedValue.getHours(),parsedValue.getMinutes(),parsedValue.getSeconds());this.$nextTick(function(_){return _this4.$refs.maxTimePicker.adjustSpinners();});}}},handleTimeChange:function handleTimeChange(value,type){var parsedValue=Object(date_util_[\"parseDate\"])(value,this.timeFormat);if(parsedValue){if(type==='min'){this.minDate=Object(date_util_[\"modifyTime\"])(this.minDate,parsedValue.getHours(),parsedValue.getMinutes(),parsedValue.getSeconds());if(this.minDate>this.maxDate){this.maxDate=this.minDate;}this.$refs.minTimePicker.value=this.minDate;this.minTimePickerVisible=false;}else{this.maxDate=Object(date_util_[\"modifyTime\"])(this.maxDate,parsedValue.getHours(),parsedValue.getMinutes(),parsedValue.getSeconds());if(this.maxDate<this.minDate){this.minDate=this.maxDate;}this.$refs.maxTimePicker.value=this.minDate;this.maxTimePickerVisible=false;}}},handleRangePick:function handleRangePick(val){var _this5=this;var close=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var defaultTime=this.defaultTime||[];var minDate=Object(date_util_[\"modifyWithTimeString\"])(val.minDate,defaultTime[0]);var maxDate=Object(date_util_[\"modifyWithTimeString\"])(val.maxDate,defaultTime[1]);if(this.maxDate===maxDate&&this.minDate===minDate){return;}this.onPick&&this.onPick(val);this.maxDate=maxDate;this.minDate=minDate;// workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57\nsetTimeout(function(){_this5.maxDate=maxDate;_this5.minDate=minDate;},10);if(!close||this.showTime)return;this.handleConfirm();},handleShortcutClick:function handleShortcutClick(shortcut){if(shortcut.onClick){shortcut.onClick(this);}},handleMinTimePick:function handleMinTimePick(value,visible,first){this.minDate=this.minDate||new Date();if(value){this.minDate=Object(date_util_[\"modifyTime\"])(this.minDate,value.getHours(),value.getMinutes(),value.getSeconds());}if(!first){this.minTimePickerVisible=visible;}if(!this.maxDate||this.maxDate&&this.maxDate.getTime()<this.minDate.getTime()){this.maxDate=new Date(this.minDate);}},handleMinTimeClose:function handleMinTimeClose(){this.minTimePickerVisible=false;},handleMaxTimePick:function handleMaxTimePick(value,visible,first){if(this.maxDate&&value){this.maxDate=Object(date_util_[\"modifyTime\"])(this.maxDate,value.getHours(),value.getMinutes(),value.getSeconds());}if(!first){this.maxTimePickerVisible=visible;}if(this.maxDate&&this.minDate&&this.minDate.getTime()>this.maxDate.getTime()){this.minDate=new Date(this.maxDate);}},handleMaxTimeClose:function handleMaxTimeClose(){this.maxTimePickerVisible=false;},// leftPrev*, rightNext* need to take care of `unlinkPanels`\nleftPrevYear:function leftPrevYear(){this.leftDate=Object(date_util_[\"prevYear\"])(this.leftDate);if(!this.unlinkPanels){this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}},leftPrevMonth:function leftPrevMonth(){this.leftDate=Object(date_util_[\"prevMonth\"])(this.leftDate);if(!this.unlinkPanels){this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}},rightNextYear:function rightNextYear(){if(!this.unlinkPanels){this.leftDate=Object(date_util_[\"nextYear\"])(this.leftDate);this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}else{this.rightDate=Object(date_util_[\"nextYear\"])(this.rightDate);}},rightNextMonth:function rightNextMonth(){if(!this.unlinkPanels){this.leftDate=Object(date_util_[\"nextMonth\"])(this.leftDate);this.rightDate=Object(date_util_[\"nextMonth\"])(this.leftDate);}else{this.rightDate=Object(date_util_[\"nextMonth\"])(this.rightDate);}},// leftNext*, rightPrev* are called when `unlinkPanels` is true\nleftNextYear:function leftNextYear(){this.leftDate=Object(date_util_[\"nextYear\"])(this.leftDate);},leftNextMonth:function leftNextMonth(){this.leftDate=Object(date_util_[\"nextMonth\"])(this.leftDate);},rightPrevYear:function rightPrevYear(){this.rightDate=Object(date_util_[\"prevYear\"])(this.rightDate);},rightPrevMonth:function rightPrevMonth(){this.rightDate=Object(date_util_[\"prevMonth\"])(this.rightDate);},handleConfirm:function handleConfirm(){var visible=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.isValidValue([this.minDate,this.maxDate])){this.$emit('pick',[this.minDate,this.maxDate],visible);}},isValidValue:function isValidValue(value){return Array.isArray(value)&&value&&value[0]&&value[1]&&Object(date_util_[\"isDate\"])(value[0])&&Object(date_util_[\"isDate\"])(value[1])&&value[0].getTime()<=value[1].getTime()&&(typeof this.disabledDate==='function'?!this.disabledDate(value[0])&&!this.disabledDate(value[1]):true);},resetView:function resetView(){// NOTE: this is a hack to reset {min, max}Date on picker open.\n// TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state\n//       an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView\nif(this.minDate&&this.maxDate==null)this.rangeState.selecting=false;this.minDate=this.value&&Object(date_util_[\"isDate\"])(this.value[0])?new Date(this.value[0]):null;this.maxDate=this.value&&Object(date_util_[\"isDate\"])(this.value[0])?new Date(this.value[1]):null;}},components:{TimePicker:panel_time,DateTable:date_table,ElInput:input_default.a,ElButton:button_default.a}};// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue?vue&type=script&lang=js&\n/* harmony default export */var panel_date_rangevue_type_script_lang_js_=date_rangevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue\n/* normalize component */var date_range_component=normalizeComponent(panel_date_rangevue_type_script_lang_js_,date_rangevue_type_template_id_2652849a_render,date_rangevue_type_template_id_2652849a_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var date_range_api; }date_range_component.options.__file=\"packages/date-picker/src/panel/date-range.vue\";/* harmony default export */var date_range=date_range_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8&\nvar month_rangevue_type_template_id_f2645fb8_render=function month_rangevue_type_template_id_f2645fb8_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":function afterLeave($event){_vm.$emit(\"dodestroy\");}}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-picker-panel el-date-range-picker el-popper\",class:[{\"has-sidebar\":_vm.$slots.sidebar||_vm.shortcuts},_vm.popperClass]},[_c(\"div\",{staticClass:\"el-picker-panel__body-wrapper\"},[_vm._t(\"sidebar\"),_vm.shortcuts?_c(\"div\",{staticClass:\"el-picker-panel__sidebar\"},_vm._l(_vm.shortcuts,function(shortcut,key){return _c(\"button\",{key:key,staticClass:\"el-picker-panel__shortcut\",attrs:{type:\"button\"},on:{click:function click($event){_vm.handleShortcutClick(shortcut);}}},[_vm._v(_vm._s(shortcut.text))]);}),0):_vm._e(),_c(\"div\",{staticClass:\"el-picker-panel__body\"},[_c(\"div\",{staticClass:\"el-picker-panel__content el-date-range-picker__content is-left\"},[_c(\"div\",{staticClass:\"el-date-range-picker__header\"},[_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-left\",attrs:{type:\"button\"},on:{click:_vm.leftPrevYear}}),_vm.unlinkPanels?_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-right\",class:{\"is-disabled\":!_vm.enableYearArrow},attrs:{type:\"button\",disabled:!_vm.enableYearArrow},on:{click:_vm.leftNextYear}}):_vm._e(),_c(\"div\",[_vm._v(_vm._s(_vm.leftLabel))])]),_c(\"month-table\",{attrs:{\"selection-mode\":\"range\",date:_vm.leftDate,\"default-value\":_vm.defaultValue,\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"range-state\":_vm.rangeState,\"disabled-date\":_vm.disabledDate},on:{changerange:_vm.handleChangeRange,pick:_vm.handleRangePick}})],1),_c(\"div\",{staticClass:\"el-picker-panel__content el-date-range-picker__content is-right\"},[_c(\"div\",{staticClass:\"el-date-range-picker__header\"},[_vm.unlinkPanels?_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-left\",class:{\"is-disabled\":!_vm.enableYearArrow},attrs:{type:\"button\",disabled:!_vm.enableYearArrow},on:{click:_vm.rightPrevYear}}):_vm._e(),_c(\"button\",{staticClass:\"el-picker-panel__icon-btn el-icon-d-arrow-right\",attrs:{type:\"button\"},on:{click:_vm.rightNextYear}}),_c(\"div\",[_vm._v(_vm._s(_vm.rightLabel))])]),_c(\"month-table\",{attrs:{\"selection-mode\":\"range\",date:_vm.rightDate,\"default-value\":_vm.defaultValue,\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"range-state\":_vm.rangeState,\"disabled-date\":_vm.disabledDate},on:{changerange:_vm.handleChangeRange,pick:_vm.handleRangePick}})],1)])],2)])]);};var month_rangevue_type_template_id_f2645fb8_staticRenderFns=[];month_rangevue_type_template_id_f2645fb8_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar month_rangevue_type_script_lang_js_calcDefaultValue=function calcDefaultValue(defaultValue){if(Array.isArray(defaultValue)){return[new Date(defaultValue[0]),new Date(defaultValue[1])];}else if(defaultValue){return[new Date(defaultValue),Object(date_util_[\"nextMonth\"])(new Date(defaultValue))];}else{return[new Date(),Object(date_util_[\"nextMonth\"])(new Date())];}};/* harmony default export */var month_rangevue_type_script_lang_js_={mixins:[locale_default.a],directives:{Clickoutside:clickoutside_default.a},computed:{btnDisabled:function btnDisabled(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]));},leftLabel:function leftLabel(){return this.leftDate.getFullYear()+' '+this.t('el.datepicker.year');},rightLabel:function rightLabel(){return this.rightDate.getFullYear()+' '+this.t('el.datepicker.year');},leftYear:function leftYear(){return this.leftDate.getFullYear();},rightYear:function rightYear(){return this.rightDate.getFullYear()===this.leftDate.getFullYear()?this.leftDate.getFullYear()+1:this.rightDate.getFullYear();},enableYearArrow:function enableYearArrow(){return this.unlinkPanels&&this.rightYear>this.leftYear+1;}},data:function data(){return{popperClass:'',value:[],defaultValue:null,defaultTime:null,minDate:'',maxDate:'',leftDate:new Date(),rightDate:Object(date_util_[\"nextYear\"])(new Date()),rangeState:{endDate:null,selecting:false,row:null,column:null},shortcuts:'',visible:'',disabledDate:'',format:'',arrowControl:false,unlinkPanels:false};},watch:{value:function value(newVal){if(!newVal){this.minDate=null;this.maxDate=null;}else if(Array.isArray(newVal)){this.minDate=Object(date_util_[\"isDate\"])(newVal[0])?new Date(newVal[0]):null;this.maxDate=Object(date_util_[\"isDate\"])(newVal[1])?new Date(newVal[1]):null;if(this.minDate){this.leftDate=this.minDate;if(this.unlinkPanels&&this.maxDate){var minDateYear=this.minDate.getFullYear();var maxDateYear=this.maxDate.getFullYear();this.rightDate=minDateYear===maxDateYear?Object(date_util_[\"nextYear\"])(this.maxDate):this.maxDate;}else{this.rightDate=Object(date_util_[\"nextYear\"])(this.leftDate);}}else{this.leftDate=month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];this.rightDate=Object(date_util_[\"nextYear\"])(this.leftDate);}}},defaultValue:function defaultValue(val){if(!Array.isArray(this.value)){var _calcDefaultValue=month_rangevue_type_script_lang_js_calcDefaultValue(val),left=_calcDefaultValue[0],right=_calcDefaultValue[1];this.leftDate=left;this.rightDate=val&&val[1]&&left.getFullYear()!==right.getFullYear()&&this.unlinkPanels?right:Object(date_util_[\"nextYear\"])(this.leftDate);}}},methods:{handleClear:function handleClear(){this.minDate=null;this.maxDate=null;this.leftDate=month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];this.rightDate=Object(date_util_[\"nextYear\"])(this.leftDate);this.$emit('pick',null);},handleChangeRange:function handleChangeRange(val){this.minDate=val.minDate;this.maxDate=val.maxDate;this.rangeState=val.rangeState;},handleRangePick:function handleRangePick(val){var _this=this;var close=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var defaultTime=this.defaultTime||[];var minDate=Object(date_util_[\"modifyWithTimeString\"])(val.minDate,defaultTime[0]);var maxDate=Object(date_util_[\"modifyWithTimeString\"])(val.maxDate,defaultTime[1]);if(this.maxDate===maxDate&&this.minDate===minDate){return;}this.onPick&&this.onPick(val);this.maxDate=maxDate;this.minDate=minDate;// workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57\nsetTimeout(function(){_this.maxDate=maxDate;_this.minDate=minDate;},10);if(!close)return;this.handleConfirm();},handleShortcutClick:function handleShortcutClick(shortcut){if(shortcut.onClick){shortcut.onClick(this);}},// leftPrev*, rightNext* need to take care of `unlinkPanels`\nleftPrevYear:function leftPrevYear(){this.leftDate=Object(date_util_[\"prevYear\"])(this.leftDate);if(!this.unlinkPanels){this.rightDate=Object(date_util_[\"prevYear\"])(this.rightDate);}},rightNextYear:function rightNextYear(){if(!this.unlinkPanels){this.leftDate=Object(date_util_[\"nextYear\"])(this.leftDate);}this.rightDate=Object(date_util_[\"nextYear\"])(this.rightDate);},// leftNext*, rightPrev* are called when `unlinkPanels` is true\nleftNextYear:function leftNextYear(){this.leftDate=Object(date_util_[\"nextYear\"])(this.leftDate);},rightPrevYear:function rightPrevYear(){this.rightDate=Object(date_util_[\"prevYear\"])(this.rightDate);},handleConfirm:function handleConfirm(){var visible=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.isValidValue([this.minDate,this.maxDate])){this.$emit('pick',[this.minDate,this.maxDate],visible);}},isValidValue:function isValidValue(value){return Array.isArray(value)&&value&&value[0]&&value[1]&&Object(date_util_[\"isDate\"])(value[0])&&Object(date_util_[\"isDate\"])(value[1])&&value[0].getTime()<=value[1].getTime()&&(typeof this.disabledDate==='function'?!this.disabledDate(value[0])&&!this.disabledDate(value[1]):true);},resetView:function resetView(){// NOTE: this is a hack to reset {min, max}Date on picker open.\n// TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state\n//       an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView\nthis.minDate=this.value&&Object(date_util_[\"isDate\"])(this.value[0])?new Date(this.value[0]):null;this.maxDate=this.value&&Object(date_util_[\"isDate\"])(this.value[0])?new Date(this.value[1]):null;}},components:{MonthTable:month_table,ElInput:input_default.a,ElButton:button_default.a}};// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js&\n/* harmony default export */var panel_month_rangevue_type_script_lang_js_=month_rangevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue\n/* normalize component */var month_range_component=normalizeComponent(panel_month_rangevue_type_script_lang_js_,month_rangevue_type_template_id_f2645fb8_render,month_rangevue_type_template_id_f2645fb8_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var month_range_api; }month_range_component.options.__file=\"packages/date-picker/src/panel/month-range.vue\";/* harmony default export */var month_range=month_range_component.exports;// CONCATENATED MODULE: ./packages/date-picker/src/picker/date-picker.js\nvar date_picker_getPanel=function getPanel(type){if(type==='daterange'||type==='datetimerange'){return date_range;}else if(type==='monthrange'){return month_range;}return panel_date;};/* harmony default export */var date_picker={mixins:[picker],name:'ElDatePicker',props:{type:{type:String,default:'date'},timeArrowControl:Boolean},watch:{type:function type(_type){if(this.picker){this.unmountPicker();this.panel=date_picker_getPanel(_type);this.mountPicker();}else{this.panel=date_picker_getPanel(_type);}}},created:function created(){this.panel=date_picker_getPanel(this.type);}};// CONCATENATED MODULE: ./packages/date-picker/index.js\n/* istanbul ignore next */date_picker.install=function install(Vue){Vue.component(date_picker.name,date_picker);};/* harmony default export */var packages_date_picker=date_picker;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=51ab9320&\nvar time_selectvue_type_template_id_51ab9320_render=function time_selectvue_type_template_id_51ab9320_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"before-enter\":_vm.handleMenuEnter,\"after-leave\":function afterLeave($event){_vm.$emit(\"dodestroy\");}}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],ref:\"popper\",staticClass:\"el-picker-panel time-select el-popper\",class:_vm.popperClass,style:{width:_vm.width+\"px\"}},[_c(\"el-scrollbar\",{attrs:{noresize:\"\",\"wrap-class\":\"el-picker-panel__content\"}},_vm._l(_vm.items,function(item){return _c(\"div\",{key:item.value,staticClass:\"time-select-item\",class:{selected:_vm.value===item.value,disabled:item.disabled,default:item.value===_vm.defaultValue},attrs:{disabled:item.disabled},on:{click:function click($event){_vm.handleClick(item);}}},[_vm._v(_vm._s(item.value))]);}),0)],1)]);};var time_selectvue_type_template_id_51ab9320_staticRenderFns=[];time_selectvue_type_template_id_51ab9320_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=51ab9320&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar parseTime=function parseTime(time){var values=(time||'').split(':');if(values.length>=2){var hours=parseInt(values[0],10);var minutes=parseInt(values[1],10);return{hours:hours,minutes:minutes};}/* istanbul ignore next */return null;};var compareTime=function compareTime(time1,time2){var value1=parseTime(time1);var value2=parseTime(time2);var minutes1=value1.minutes+value1.hours*60;var minutes2=value2.minutes+value2.hours*60;if(minutes1===minutes2){return 0;}return minutes1>minutes2?1:-1;};var formatTime=function formatTime(time){return(time.hours<10?'0'+time.hours:time.hours)+':'+(time.minutes<10?'0'+time.minutes:time.minutes);};var nextTime=function nextTime(time,step){var timeValue=parseTime(time);var stepValue=parseTime(step);var next={hours:timeValue.hours,minutes:timeValue.minutes};next.minutes+=stepValue.minutes;next.hours+=stepValue.hours;next.hours+=Math.floor(next.minutes/60);next.minutes=next.minutes%60;return formatTime(next);};/* harmony default export */var time_selectvue_type_script_lang_js_={components:{ElScrollbar:scrollbar_default.a},watch:{value:function value(val){var _this=this;if(!val)return;this.$nextTick(function(){return _this.scrollToOption();});}},methods:{handleClick:function handleClick(item){if(!item.disabled){this.$emit('pick',item.value);}},handleClear:function handleClear(){this.$emit('pick',null);},scrollToOption:function scrollToOption(){var selector=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'.selected';var menu=this.$refs.popper.querySelector('.el-picker-panel__content');scroll_into_view_default()(menu,menu.querySelector(selector));},handleMenuEnter:function handleMenuEnter(){var _this2=this;var selected=this.items.map(function(item){return item.value;}).indexOf(this.value)!==-1;var hasDefault=this.items.map(function(item){return item.value;}).indexOf(this.defaultValue)!==-1;var option=selected&&'.selected'||hasDefault&&'.default'||'.time-select-item:not(.disabled)';this.$nextTick(function(){return _this2.scrollToOption(option);});},scrollDown:function scrollDown(step){var items=this.items;var length=items.length;var total=items.length;var index=items.map(function(item){return item.value;}).indexOf(this.value);while(total--){index=(index+step+length)%length;if(!items[index].disabled){this.$emit('pick',items[index].value,true);return;}}},isValidValue:function isValidValue(date){return this.items.filter(function(item){return!item.disabled;}).map(function(item){return item.value;}).indexOf(date)!==-1;},handleKeydown:function handleKeydown(event){var keyCode=event.keyCode;if(keyCode===38||keyCode===40){var mapping={40:1,38:-1};var offset=mapping[keyCode.toString()];this.scrollDown(offset);event.stopPropagation();return;}}},data:function data(){return{popperClass:'',start:'09:00',end:'18:00',step:'00:30',value:'',defaultValue:'',visible:false,minTime:'',maxTime:'',width:0};},computed:{items:function items(){var start=this.start;var end=this.end;var step=this.step;var result=[];if(start&&end&&step){var current=start;while(compareTime(current,end)<=0){result.push({value:current,disabled:compareTime(current,this.minTime||'-1:-1')<=0||compareTime(current,this.maxTime||'100:100')>=0});current=nextTime(current,step);}}return result;}}};// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js&\n/* harmony default export */var panel_time_selectvue_type_script_lang_js_=time_selectvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue\n/* normalize component */var time_select_component=normalizeComponent(panel_time_selectvue_type_script_lang_js_,time_selectvue_type_template_id_51ab9320_render,time_selectvue_type_template_id_51ab9320_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var time_select_api; }time_select_component.options.__file=\"packages/date-picker/src/panel/time-select.vue\";/* harmony default export */var time_select=time_select_component.exports;// CONCATENATED MODULE: ./packages/date-picker/src/picker/time-select.js\n/* harmony default export */var picker_time_select={mixins:[picker],name:'ElTimeSelect',componentName:'ElTimeSelect',props:{type:{type:String,default:'time-select'}},beforeCreate:function beforeCreate(){this.panel=time_select;}};// CONCATENATED MODULE: ./packages/time-select/index.js\n/* istanbul ignore next */picker_time_select.install=function(Vue){Vue.component(picker_time_select.name,picker_time_select);};/* harmony default export */var packages_time_select=picker_time_select;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-range.vue?vue&type=template&id=fb28660e&\nvar time_rangevue_type_template_id_fb28660e_render=function time_rangevue_type_template_id_fb28660e_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":function afterLeave($event){_vm.$emit(\"dodestroy\");}}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-time-range-picker el-picker-panel el-popper\",class:_vm.popperClass},[_c(\"div\",{staticClass:\"el-time-range-picker__content\"},[_c(\"div\",{staticClass:\"el-time-range-picker__cell\"},[_c(\"div\",{staticClass:\"el-time-range-picker__header\"},[_vm._v(_vm._s(_vm.t(\"el.datepicker.startTime\")))]),_c(\"div\",{staticClass:\"el-time-range-picker__body el-time-panel__content\",class:{\"has-seconds\":_vm.showSeconds,\"is-arrow\":_vm.arrowControl}},[_c(\"time-spinner\",{ref:\"minSpinner\",attrs:{\"show-seconds\":_vm.showSeconds,\"am-pm-mode\":_vm.amPmMode,\"arrow-control\":_vm.arrowControl,date:_vm.minDate},on:{change:_vm.handleMinChange,\"select-range\":_vm.setMinSelectionRange}})],1)]),_c(\"div\",{staticClass:\"el-time-range-picker__cell\"},[_c(\"div\",{staticClass:\"el-time-range-picker__header\"},[_vm._v(_vm._s(_vm.t(\"el.datepicker.endTime\")))]),_c(\"div\",{staticClass:\"el-time-range-picker__body el-time-panel__content\",class:{\"has-seconds\":_vm.showSeconds,\"is-arrow\":_vm.arrowControl}},[_c(\"time-spinner\",{ref:\"maxSpinner\",attrs:{\"show-seconds\":_vm.showSeconds,\"am-pm-mode\":_vm.amPmMode,\"arrow-control\":_vm.arrowControl,date:_vm.maxDate},on:{change:_vm.handleMaxChange,\"select-range\":_vm.setMaxSelectionRange}})],1)])]),_c(\"div\",{staticClass:\"el-time-panel__footer\"},[_c(\"button\",{staticClass:\"el-time-panel__btn cancel\",attrs:{type:\"button\"},on:{click:function click($event){_vm.handleCancel();}}},[_vm._v(_vm._s(_vm.t(\"el.datepicker.cancel\")))]),_c(\"button\",{staticClass:\"el-time-panel__btn confirm\",attrs:{type:\"button\",disabled:_vm.btnDisabled},on:{click:function click($event){_vm.handleConfirm();}}},[_vm._v(_vm._s(_vm.t(\"el.datepicker.confirm\")))])])])]);};var time_rangevue_type_template_id_fb28660e_staticRenderFns=[];time_rangevue_type_template_id_fb28660e_render._withStripped=true;// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue?vue&type=template&id=fb28660e&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-range.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar MIN_TIME=Object(date_util_[\"parseDate\"])('00:00:00','HH:mm:ss');var MAX_TIME=Object(date_util_[\"parseDate\"])('23:59:59','HH:mm:ss');var time_rangevue_type_script_lang_js_minTimeOfDay=function minTimeOfDay(date){return Object(date_util_[\"modifyDate\"])(MIN_TIME,date.getFullYear(),date.getMonth(),date.getDate());};var time_rangevue_type_script_lang_js_maxTimeOfDay=function maxTimeOfDay(date){return Object(date_util_[\"modifyDate\"])(MAX_TIME,date.getFullYear(),date.getMonth(),date.getDate());};// increase time by amount of milliseconds, but within the range of day\nvar advanceTime=function advanceTime(date,amount){return new Date(Math.min(date.getTime()+amount,time_rangevue_type_script_lang_js_maxTimeOfDay(date).getTime()));};/* harmony default export */var time_rangevue_type_script_lang_js_={mixins:[locale_default.a],components:{TimeSpinner:time_spinner},computed:{showSeconds:function showSeconds(){return(this.format||'').indexOf('ss')!==-1;},offset:function offset(){return this.showSeconds?11:8;},spinner:function spinner(){return this.selectionRange[0]<this.offset?this.$refs.minSpinner:this.$refs.maxSpinner;},btnDisabled:function btnDisabled(){return this.minDate.getTime()>this.maxDate.getTime();},amPmMode:function amPmMode(){if((this.format||'').indexOf('A')!==-1)return'A';if((this.format||'').indexOf('a')!==-1)return'a';return'';}},data:function data(){return{popperClass:'',minDate:new Date(),maxDate:new Date(),value:[],oldValue:[new Date(),new Date()],defaultValue:null,format:'HH:mm:ss',visible:false,selectionRange:[0,2],arrowControl:false};},watch:{value:function value(_value){if(Array.isArray(_value)){this.minDate=new Date(_value[0]);this.maxDate=new Date(_value[1]);}else{if(Array.isArray(this.defaultValue)){this.minDate=new Date(this.defaultValue[0]);this.maxDate=new Date(this.defaultValue[1]);}else if(this.defaultValue){this.minDate=new Date(this.defaultValue);this.maxDate=advanceTime(new Date(this.defaultValue),60*60*1000);}else{this.minDate=new Date();this.maxDate=advanceTime(new Date(),60*60*1000);}}},visible:function visible(val){var _this=this;if(val){this.oldValue=this.value;this.$nextTick(function(){return _this.$refs.minSpinner.emitSelectRange('hours');});}}},methods:{handleClear:function handleClear(){this.$emit('pick',null);},handleCancel:function handleCancel(){this.$emit('pick',this.oldValue);},handleMinChange:function handleMinChange(date){this.minDate=Object(date_util_[\"clearMilliseconds\"])(date);this.handleChange();},handleMaxChange:function handleMaxChange(date){this.maxDate=Object(date_util_[\"clearMilliseconds\"])(date);this.handleChange();},handleChange:function handleChange(){if(this.isValidValue([this.minDate,this.maxDate])){this.$refs.minSpinner.selectableRange=[[time_rangevue_type_script_lang_js_minTimeOfDay(this.minDate),this.maxDate]];this.$refs.maxSpinner.selectableRange=[[this.minDate,time_rangevue_type_script_lang_js_maxTimeOfDay(this.maxDate)]];this.$emit('pick',[this.minDate,this.maxDate],true);}},setMinSelectionRange:function setMinSelectionRange(start,end){this.$emit('select-range',start,end,'min');this.selectionRange=[start,end];},setMaxSelectionRange:function setMaxSelectionRange(start,end){this.$emit('select-range',start,end,'max');this.selectionRange=[start+this.offset,end+this.offset];},handleConfirm:function handleConfirm(){var visible=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var minSelectableRange=this.$refs.minSpinner.selectableRange;var maxSelectableRange=this.$refs.maxSpinner.selectableRange;this.minDate=Object(date_util_[\"limitTimeRange\"])(this.minDate,minSelectableRange,this.format);this.maxDate=Object(date_util_[\"limitTimeRange\"])(this.maxDate,maxSelectableRange,this.format);this.$emit('pick',[this.minDate,this.maxDate],visible);},adjustSpinners:function adjustSpinners(){this.$refs.minSpinner.adjustSpinners();this.$refs.maxSpinner.adjustSpinners();},changeSelectionRange:function changeSelectionRange(step){var list=this.showSeconds?[0,3,6,11,14,17]:[0,3,8,11];var mapping=['hours','minutes'].concat(this.showSeconds?['seconds']:[]);var index=list.indexOf(this.selectionRange[0]);var next=(index+step+list.length)%list.length;var half=list.length/2;if(next<half){this.$refs.minSpinner.emitSelectRange(mapping[next]);}else{this.$refs.maxSpinner.emitSelectRange(mapping[next-half]);}},isValidValue:function isValidValue(date){return Array.isArray(date)&&Object(date_util_[\"timeWithinRange\"])(this.minDate,this.$refs.minSpinner.selectableRange)&&Object(date_util_[\"timeWithinRange\"])(this.maxDate,this.$refs.maxSpinner.selectableRange);},handleKeydown:function handleKeydown(event){var keyCode=event.keyCode;var mapping={38:-1,40:1,37:-1,39:1};// Left or Right\nif(keyCode===37||keyCode===39){var step=mapping[keyCode];this.changeSelectionRange(step);event.preventDefault();return;}// Up or Down\nif(keyCode===38||keyCode===40){var _step=mapping[keyCode];this.spinner.scrollDown(_step);event.preventDefault();return;}}}};// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue?vue&type=script&lang=js&\n/* harmony default export */var panel_time_rangevue_type_script_lang_js_=time_rangevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue\n/* normalize component */var time_range_component=normalizeComponent(panel_time_rangevue_type_script_lang_js_,time_rangevue_type_template_id_fb28660e_render,time_rangevue_type_template_id_fb28660e_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var time_range_api; }time_range_component.options.__file=\"packages/date-picker/src/panel/time-range.vue\";/* harmony default export */var time_range=time_range_component.exports;// CONCATENATED MODULE: ./packages/date-picker/src/picker/time-picker.js\n/* harmony default export */var time_picker={mixins:[picker],name:'ElTimePicker',props:{isRange:Boolean,arrowControl:Boolean},data:function data(){return{type:''};},watch:{isRange:function isRange(_isRange){if(this.picker){this.unmountPicker();this.type=_isRange?'timerange':'time';this.panel=_isRange?time_range:panel_time;this.mountPicker();}else{this.type=_isRange?'timerange':'time';this.panel=_isRange?time_range:panel_time;}}},created:function created(){this.type=this.isRange?'timerange':'time';this.panel=this.isRange?time_range:panel_time;}};// CONCATENATED MODULE: ./packages/time-picker/index.js\n/* istanbul ignore next */time_picker.install=function(Vue){Vue.component(time_picker.name,time_picker);};/* harmony default export */var packages_time_picker=time_picker;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=template&id=52060272&\nvar mainvue_type_template_id_52060272_render=function mainvue_type_template_id_52060272_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"span\",[_c(\"transition\",{attrs:{name:_vm.transition},on:{\"after-enter\":_vm.handleAfterEnter,\"after-leave\":_vm.handleAfterLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!_vm.disabled&&_vm.showPopper,expression:\"!disabled && showPopper\"}],ref:\"popper\",staticClass:\"el-popover el-popper\",class:[_vm.popperClass,_vm.content&&\"el-popover--plain\"],style:{width:_vm.width+\"px\"},attrs:{role:\"tooltip\",id:_vm.tooltipId,\"aria-hidden\":_vm.disabled||!_vm.showPopper?\"true\":\"false\"}},[_vm.title?_c(\"div\",{staticClass:\"el-popover__title\",domProps:{textContent:_vm._s(_vm.title)}}):_vm._e(),_vm._t(\"default\",[_vm._v(_vm._s(_vm.content))])],2)]),_c(\"span\",{ref:\"wrapper\",staticClass:\"el-popover__reference-wrapper\"},[_vm._t(\"reference\")],2)],1);};var mainvue_type_template_id_52060272_staticRenderFns=[];mainvue_type_template_id_52060272_render._withStripped=true;// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var mainvue_type_script_lang_js_={name:'ElPopover',mixins:[vue_popper_default.a],props:{trigger:{type:String,default:'click',validator:function validator(value){return['click','focus','hover','manual'].indexOf(value)>-1;}},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},title:String,disabled:Boolean,content:String,reference:{},popperClass:String,width:{},visibleArrow:{default:true},arrowOffset:{type:Number,default:0},transition:{type:String,default:'fade-in-linear'},tabindex:{type:Number,default:0}},computed:{tooltipId:function tooltipId(){return'el-popover-'+Object(util_[\"generateId\"])();}},watch:{showPopper:function showPopper(val){if(this.disabled){return;}val?this.$emit('show'):this.$emit('hide');}},mounted:function mounted(){var _this=this;var reference=this.referenceElm=this.reference||this.$refs.reference;var popper=this.popper||this.$refs.popper;if(!reference&&this.$refs.wrapper.children){reference=this.referenceElm=this.$refs.wrapper.children[0];}// 可访问性\nif(reference){Object(dom_[\"addClass\"])(reference,'el-popover__reference');reference.setAttribute('aria-describedby',this.tooltipId);reference.setAttribute('tabindex',this.tabindex);// tab序列\npopper.setAttribute('tabindex',0);if(this.trigger!=='click'){Object(dom_[\"on\"])(reference,'focusin',function(){_this.handleFocus();var instance=reference.__vue__;if(instance&&typeof instance.focus==='function'){instance.focus();}});Object(dom_[\"on\"])(popper,'focusin',this.handleFocus);Object(dom_[\"on\"])(reference,'focusout',this.handleBlur);Object(dom_[\"on\"])(popper,'focusout',this.handleBlur);}Object(dom_[\"on\"])(reference,'keydown',this.handleKeydown);Object(dom_[\"on\"])(reference,'click',this.handleClick);}if(this.trigger==='click'){Object(dom_[\"on\"])(reference,'click',this.doToggle);Object(dom_[\"on\"])(document,'click',this.handleDocumentClick);}else if(this.trigger==='hover'){Object(dom_[\"on\"])(reference,'mouseenter',this.handleMouseEnter);Object(dom_[\"on\"])(popper,'mouseenter',this.handleMouseEnter);Object(dom_[\"on\"])(reference,'mouseleave',this.handleMouseLeave);Object(dom_[\"on\"])(popper,'mouseleave',this.handleMouseLeave);}else if(this.trigger==='focus'){if(this.tabindex<0){console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key');}if(reference.querySelector('input, textarea')){Object(dom_[\"on\"])(reference,'focusin',this.doShow);Object(dom_[\"on\"])(reference,'focusout',this.doClose);}else{Object(dom_[\"on\"])(reference,'mousedown',this.doShow);Object(dom_[\"on\"])(reference,'mouseup',this.doClose);}}},beforeDestroy:function beforeDestroy(){this.cleanup();},deactivated:function deactivated(){this.cleanup();},methods:{doToggle:function doToggle(){this.showPopper=!this.showPopper;},doShow:function doShow(){this.showPopper=true;},doClose:function doClose(){this.showPopper=false;},handleFocus:function handleFocus(){Object(dom_[\"addClass\"])(this.referenceElm,'focusing');if(this.trigger==='click'||this.trigger==='focus')this.showPopper=true;},handleClick:function handleClick(){Object(dom_[\"removeClass\"])(this.referenceElm,'focusing');},handleBlur:function handleBlur(){Object(dom_[\"removeClass\"])(this.referenceElm,'focusing');if(this.trigger==='click'||this.trigger==='focus')this.showPopper=false;},handleMouseEnter:function handleMouseEnter(){var _this2=this;clearTimeout(this._timer);if(this.openDelay){this._timer=setTimeout(function(){_this2.showPopper=true;},this.openDelay);}else{this.showPopper=true;}},handleKeydown:function handleKeydown(ev){if(ev.keyCode===27&&this.trigger!=='manual'){// esc\nthis.doClose();}},handleMouseLeave:function handleMouseLeave(){var _this3=this;clearTimeout(this._timer);if(this.closeDelay){this._timer=setTimeout(function(){_this3.showPopper=false;},this.closeDelay);}else{this.showPopper=false;}},handleDocumentClick:function handleDocumentClick(e){var reference=this.reference||this.$refs.reference;var popper=this.popper||this.$refs.popper;if(!reference&&this.$refs.wrapper.children){reference=this.referenceElm=this.$refs.wrapper.children[0];}if(!this.$el||!reference||this.$el.contains(e.target)||reference.contains(e.target)||!popper||popper.contains(e.target))return;this.showPopper=false;},handleAfterEnter:function handleAfterEnter(){this.$emit('after-enter');},handleAfterLeave:function handleAfterLeave(){this.$emit('after-leave');this.doDestroy();},cleanup:function cleanup(){if(this.openDelay||this.closeDelay){clearTimeout(this._timer);}}},destroyed:function destroyed(){var reference=this.reference;Object(dom_[\"off\"])(reference,'click',this.doToggle);Object(dom_[\"off\"])(reference,'mouseup',this.doClose);Object(dom_[\"off\"])(reference,'mousedown',this.doShow);Object(dom_[\"off\"])(reference,'focusin',this.doShow);Object(dom_[\"off\"])(reference,'focusout',this.doClose);Object(dom_[\"off\"])(reference,'mousedown',this.doShow);Object(dom_[\"off\"])(reference,'mouseup',this.doClose);Object(dom_[\"off\"])(reference,'mouseleave',this.handleMouseLeave);Object(dom_[\"off\"])(reference,'mouseenter',this.handleMouseEnter);Object(dom_[\"off\"])(document,'click',this.handleDocumentClick);}};// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var src_mainvue_type_script_lang_js_=mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/popover/src/main.vue\n/* normalize component */var main_component=normalizeComponent(src_mainvue_type_script_lang_js_,mainvue_type_template_id_52060272_render,mainvue_type_template_id_52060272_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var main_api; }main_component.options.__file=\"packages/popover/src/main.vue\";/* harmony default export */var main=main_component.exports;// CONCATENATED MODULE: ./packages/popover/src/directive.js\nvar getReference=function getReference(el,binding,vnode){var _ref=binding.expression?binding.value:binding.arg;var popper=vnode.context.$refs[_ref];if(popper){if(Array.isArray(popper)){popper[0].$refs.reference=el;}else{popper.$refs.reference=el;}}};/* harmony default export */var directive={bind:function bind(el,binding,vnode){getReference(el,binding,vnode);},inserted:function inserted(el,binding,vnode){getReference(el,binding,vnode);}};// CONCATENATED MODULE: ./packages/popover/index.js\nexternal_vue_default.a.directive('popover',directive);/* istanbul ignore next */main.install=function(Vue){Vue.directive('popover',directive);Vue.component(main.name,main);};main.directive=directive;/* harmony default export */var popover=main;// CONCATENATED MODULE: ./packages/tooltip/src/main.js\n/* harmony default export */var src_main={name:'ElTooltip',mixins:[vue_popper_default.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:'dark'},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:true},transition:{type:String,default:'el-fade-in-linear'},popperOptions:{default:function _default(){return{boundariesPadding:10,gpuAcceleration:false};}},enterable:{type:Boolean,default:true},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function data(){return{tooltipId:'el-tooltip-'+Object(util_[\"generateId\"])(),timeoutPending:null,focusing:false};},beforeCreate:function beforeCreate(){var _this=this;if(this.$isServer)return;this.popperVM=new external_vue_default.a({data:{node:''},render:function render(h){return this.node;}}).$mount();this.debounceClose=debounce_default()(200,function(){return _this.handleClosePopper();});},render:function render(h){var _this2=this;if(this.popperVM){this.popperVM.node=h('transition',{attrs:{name:this.transition},on:{'afterLeave':this.doDestroy}},[h('div',{on:{'mouseleave':function mouseleave(){_this2.setExpectedState(false);_this2.debounceClose();},'mouseenter':function mouseenter(){_this2.setExpectedState(true);}},ref:'popper',attrs:{role:'tooltip',id:this.tooltipId,'aria-hidden':this.disabled||!this.showPopper?'true':'false'},directives:[{name:'show',value:!this.disabled&&this.showPopper}],'class':['el-tooltip__popper','is-'+this.effect,this.popperClass]},[this.$slots.content||this.content])]);}var firstElement=this.getFirstElement();if(!firstElement)return null;var data=firstElement.data=firstElement.data||{};data.staticClass=this.addTooltipClass(data.staticClass);return firstElement;},mounted:function mounted(){var _this3=this;this.referenceElm=this.$el;if(this.$el.nodeType===1){this.$el.setAttribute('aria-describedby',this.tooltipId);this.$el.setAttribute('tabindex',this.tabindex);Object(dom_[\"on\"])(this.referenceElm,'mouseenter',this.show);Object(dom_[\"on\"])(this.referenceElm,'mouseleave',this.hide);Object(dom_[\"on\"])(this.referenceElm,'focus',function(){if(!_this3.$slots.default||!_this3.$slots.default.length){_this3.handleFocus();return;}var instance=_this3.$slots.default[0].componentInstance;if(instance&&instance.focus){instance.focus();}else{_this3.handleFocus();}});Object(dom_[\"on\"])(this.referenceElm,'blur',this.handleBlur);Object(dom_[\"on\"])(this.referenceElm,'click',this.removeFocusing);}// fix issue https://github.com/ElemeFE/element/issues/14424\nif(this.value&&this.popperVM){this.popperVM.$nextTick(function(){if(_this3.value){_this3.updatePopper();}});}},watch:{focusing:function focusing(val){if(val){Object(dom_[\"addClass\"])(this.referenceElm,'focusing');}else{Object(dom_[\"removeClass\"])(this.referenceElm,'focusing');}}},methods:{show:function show(){this.setExpectedState(true);this.handleShowPopper();},hide:function hide(){this.setExpectedState(false);this.debounceClose();},handleFocus:function handleFocus(){this.focusing=true;this.show();},handleBlur:function handleBlur(){this.focusing=false;this.hide();},removeFocusing:function removeFocusing(){this.focusing=false;},addTooltipClass:function addTooltipClass(prev){if(!prev){return'el-tooltip';}else{return'el-tooltip '+prev.replace('el-tooltip','');}},handleShowPopper:function handleShowPopper(){var _this4=this;if(!this.expectedState||this.manual)return;clearTimeout(this.timeout);this.timeout=setTimeout(function(){_this4.showPopper=true;},this.openDelay);if(this.hideAfter>0){this.timeoutPending=setTimeout(function(){_this4.showPopper=false;},this.hideAfter);}},handleClosePopper:function handleClosePopper(){if(this.enterable&&this.expectedState||this.manual)return;clearTimeout(this.timeout);if(this.timeoutPending){clearTimeout(this.timeoutPending);}this.showPopper=false;if(this.disabled){this.doDestroy();}},setExpectedState:function setExpectedState(expectedState){if(expectedState===false){clearTimeout(this.timeoutPending);}this.expectedState=expectedState;},getFirstElement:function getFirstElement(){var slots=this.$slots.default;if(!Array.isArray(slots))return null;var element=null;for(var index=0;index<slots.length;index++){if(slots[index]&&slots[index].tag){element=slots[index];};}return element;}},beforeDestroy:function beforeDestroy(){this.popperVM&&this.popperVM.$destroy();},destroyed:function destroyed(){var reference=this.referenceElm;if(reference.nodeType===1){Object(dom_[\"off\"])(reference,'mouseenter',this.show);Object(dom_[\"off\"])(reference,'mouseleave',this.hide);Object(dom_[\"off\"])(reference,'focus',this.handleFocus);Object(dom_[\"off\"])(reference,'blur',this.handleBlur);Object(dom_[\"off\"])(reference,'click',this.removeFocusing);}}};// CONCATENATED MODULE: ./packages/tooltip/index.js\n/* istanbul ignore next */src_main.install=function(Vue){Vue.component(src_main.name,src_main);};/* harmony default export */var packages_tooltip=src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=template&id=6b29b012&\nvar mainvue_type_template_id_6b29b012_render=function mainvue_type_template_id_6b29b012_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"msgbox-fade\"}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-message-box__wrapper\",attrs:{tabindex:\"-1\",role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":_vm.title||\"dialog\"},on:{click:function click($event){if($event.target!==$event.currentTarget){return null;}return _vm.handleWrapperClick($event);}}},[_c(\"div\",{staticClass:\"el-message-box\",class:[_vm.customClass,_vm.center&&\"el-message-box--center\"]},[_vm.title!==null?_c(\"div\",{staticClass:\"el-message-box__header\"},[_c(\"div\",{staticClass:\"el-message-box__title\"},[_vm.icon&&_vm.center?_c(\"div\",{class:[\"el-message-box__status\",_vm.icon]}):_vm._e(),_c(\"span\",[_vm._v(_vm._s(_vm.title))])]),_vm.showClose?_c(\"button\",{staticClass:\"el-message-box__headerbtn\",attrs:{type:\"button\",\"aria-label\":\"Close\"},on:{click:function click($event){_vm.handleAction(_vm.distinguishCancelAndClose?\"close\":\"cancel\");},keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}_vm.handleAction(_vm.distinguishCancelAndClose?\"close\":\"cancel\");}}},[_c(\"i\",{staticClass:\"el-message-box__close el-icon-close\"})]):_vm._e()]):_vm._e(),_c(\"div\",{staticClass:\"el-message-box__content\"},[_c(\"div\",{staticClass:\"el-message-box__container\"},[_vm.icon&&!_vm.center&&_vm.message!==\"\"?_c(\"div\",{class:[\"el-message-box__status\",_vm.icon]}):_vm._e(),_vm.message!==\"\"?_c(\"div\",{staticClass:\"el-message-box__message\"},[_vm._t(\"default\",[!_vm.dangerouslyUseHTMLString?_c(\"p\",[_vm._v(_vm._s(_vm.message))]):_c(\"p\",{domProps:{innerHTML:_vm._s(_vm.message)}})])],2):_vm._e()]),_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.showInput,expression:\"showInput\"}],staticClass:\"el-message-box__input\"},[_c(\"el-input\",{ref:\"input\",attrs:{type:_vm.inputType,placeholder:_vm.inputPlaceholder},nativeOn:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}return _vm.handleInputEnter($event);}},model:{value:_vm.inputValue,callback:function callback($$v){_vm.inputValue=$$v;},expression:\"inputValue\"}}),_c(\"div\",{staticClass:\"el-message-box__errormsg\",style:{visibility:!!_vm.editorErrorMessage?\"visible\":\"hidden\"}},[_vm._v(_vm._s(_vm.editorErrorMessage))])],1)]),_c(\"div\",{staticClass:\"el-message-box__btns\"},[_vm.showCancelButton?_c(\"el-button\",{class:[_vm.cancelButtonClasses],attrs:{loading:_vm.cancelButtonLoading,round:_vm.roundButton,size:\"small\"},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}_vm.handleAction(\"cancel\");}},nativeOn:{click:function click($event){_vm.handleAction(\"cancel\");}}},[_vm._v(\"\\n          \"+_vm._s(_vm.cancelButtonText||_vm.t(\"el.messagebox.cancel\"))+\"\\n        \")]):_vm._e(),_c(\"el-button\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.showConfirmButton,expression:\"showConfirmButton\"}],ref:\"confirm\",class:[_vm.confirmButtonClasses],attrs:{loading:_vm.confirmButtonLoading,round:_vm.roundButton,size:\"small\"},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}_vm.handleAction(\"confirm\");}},nativeOn:{click:function click($event){_vm.handleAction(\"confirm\");}}},[_vm._v(\"\\n          \"+_vm._s(_vm.confirmButtonText||_vm.t(\"el.messagebox.confirm\"))+\"\\n        \")])],1)])])]);};var mainvue_type_template_id_6b29b012_staticRenderFns=[];mainvue_type_template_id_6b29b012_render._withStripped=true;// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=template&id=6b29b012&\n// EXTERNAL MODULE: external \"element-ui/lib/locale\"\nvar lib_locale_=__webpack_require__(12);var lib_locale_default=/*#__PURE__*/__webpack_require__.n(lib_locale_);// EXTERNAL MODULE: external \"element-ui/lib/utils/aria-dialog\"\nvar aria_dialog_=__webpack_require__(39);var aria_dialog_default=/*#__PURE__*/__webpack_require__.n(aria_dialog_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar messageBox=void 0;var typeMap={success:'success',info:'info',warning:'warning',error:'error'};/* harmony default export */var message_box_src_mainvue_type_script_lang_js_={mixins:[popup_default.a,locale_default.a],props:{modal:{default:true},lockScroll:{default:true},showClose:{type:Boolean,default:true},closeOnClickModal:{default:true},closeOnPressEscape:{default:true},closeOnHashChange:{default:true},center:{default:false,type:Boolean},roundButton:{default:false,type:Boolean}},components:{ElInput:input_default.a,ElButton:button_default.a},computed:{icon:function icon(){var type=this.type,iconClass=this.iconClass;return iconClass||(type&&typeMap[type]?'el-icon-'+typeMap[type]:'');},confirmButtonClasses:function confirmButtonClasses(){return'el-button--primary '+this.confirmButtonClass;},cancelButtonClasses:function cancelButtonClasses(){return''+this.cancelButtonClass;}},methods:{getSafeClose:function getSafeClose(){var _this=this;var currentId=this.uid;return function(){_this.$nextTick(function(){if(currentId===_this.uid)_this.doClose();});};},doClose:function doClose(){var _this2=this;if(!this.visible)return;this.visible=false;this._closing=true;this.onClose&&this.onClose();messageBox.closeDialog();// 解绑\nif(this.lockScroll){setTimeout(this.restoreBodyStyle,200);}this.opened=false;this.doAfterClose();setTimeout(function(){if(_this2.action)_this2.callback(_this2.action,_this2);});},handleWrapperClick:function handleWrapperClick(){if(this.closeOnClickModal){this.handleAction(this.distinguishCancelAndClose?'close':'cancel');}},handleInputEnter:function handleInputEnter(){if(this.inputType!=='textarea'){return this.handleAction('confirm');}},handleAction:function handleAction(action){if(this.$type==='prompt'&&action==='confirm'&&!this.validate()){return;}this.action=action;if(typeof this.beforeClose==='function'){this.close=this.getSafeClose();this.beforeClose(action,this,this.close);}else{this.doClose();}},validate:function validate(){if(this.$type==='prompt'){var inputPattern=this.inputPattern;if(inputPattern&&!inputPattern.test(this.inputValue||'')){this.editorErrorMessage=this.inputErrorMessage||Object(lib_locale_[\"t\"])('el.messagebox.error');Object(dom_[\"addClass\"])(this.getInputElement(),'invalid');return false;}var inputValidator=this.inputValidator;if(typeof inputValidator==='function'){var validateResult=inputValidator(this.inputValue);if(validateResult===false){this.editorErrorMessage=this.inputErrorMessage||Object(lib_locale_[\"t\"])('el.messagebox.error');Object(dom_[\"addClass\"])(this.getInputElement(),'invalid');return false;}if(typeof validateResult==='string'){this.editorErrorMessage=validateResult;Object(dom_[\"addClass\"])(this.getInputElement(),'invalid');return false;}}}this.editorErrorMessage='';Object(dom_[\"removeClass\"])(this.getInputElement(),'invalid');return true;},getFirstFocus:function getFirstFocus(){var btn=this.$el.querySelector('.el-message-box__btns .el-button');var title=this.$el.querySelector('.el-message-box__btns .el-message-box__title');return btn||title;},getInputElement:function getInputElement(){var inputRefs=this.$refs.input.$refs;return inputRefs.input||inputRefs.textarea;},handleClose:function handleClose(){this.handleAction('close');}},watch:{inputValue:{immediate:true,handler:function handler(val){var _this3=this;this.$nextTick(function(_){if(_this3.$type==='prompt'&&val!==null){_this3.validate();}});}},visible:function visible(val){var _this4=this;if(val){this.uid++;if(this.$type==='alert'||this.$type==='confirm'){this.$nextTick(function(){_this4.$refs.confirm.$el.focus();});}this.focusAfterClosed=document.activeElement;messageBox=new aria_dialog_default.a(this.$el,this.focusAfterClosed,this.getFirstFocus());}// prompt\nif(this.$type!=='prompt')return;if(val){setTimeout(function(){if(_this4.$refs.input&&_this4.$refs.input.$el){_this4.getInputElement().focus();}},500);}else{this.editorErrorMessage='';Object(dom_[\"removeClass\"])(this.getInputElement(),'invalid');}}},mounted:function mounted(){var _this5=this;this.$nextTick(function(){if(_this5.closeOnHashChange){window.addEventListener('hashchange',_this5.close);}});},beforeDestroy:function beforeDestroy(){if(this.closeOnHashChange){window.removeEventListener('hashchange',this.close);}setTimeout(function(){messageBox.closeDialog();});},data:function data(){return{uid:1,title:undefined,message:'',type:'',iconClass:'',customClass:'',showInput:false,inputValue:null,inputPlaceholder:'',inputType:'text',inputPattern:null,inputValidator:null,inputErrorMessage:'',showConfirmButton:true,showCancelButton:false,action:'',confirmButtonText:'',cancelButtonText:'',confirmButtonLoading:false,cancelButtonLoading:false,confirmButtonClass:'',confirmButtonDisabled:false,cancelButtonClass:'',editorErrorMessage:null,callback:null,dangerouslyUseHTMLString:false,focusAfterClosed:null,isOnComposition:false,distinguishCancelAndClose:false};}};// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_message_box_src_mainvue_type_script_lang_js_=message_box_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/message-box/src/main.vue\n/* normalize component */var src_main_component=normalizeComponent(packages_message_box_src_mainvue_type_script_lang_js_,mainvue_type_template_id_6b29b012_render,mainvue_type_template_id_6b29b012_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var src_main_api; }src_main_component.options.__file=\"packages/message-box/src/main.vue\";/* harmony default export */var message_box_src_main=src_main_component.exports;// EXTERNAL MODULE: external \"element-ui/lib/utils/vdom\"\nvar vdom_=__webpack_require__(22);// CONCATENATED MODULE: ./packages/message-box/src/main.js\nvar main_typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};var main_defaults={title:null,message:'',type:'',iconClass:'',showInput:false,showClose:true,modalFade:true,lockScroll:true,closeOnClickModal:true,closeOnPressEscape:true,closeOnHashChange:true,inputValue:null,inputPlaceholder:'',inputType:'text',inputPattern:null,inputValidator:null,inputErrorMessage:'',showConfirmButton:true,showCancelButton:false,confirmButtonPosition:'right',confirmButtonHighlight:false,cancelButtonHighlight:false,confirmButtonText:'',cancelButtonText:'',confirmButtonClass:'',cancelButtonClass:'',customClass:'',beforeClose:null,dangerouslyUseHTMLString:false,center:false,roundButton:false,distinguishCancelAndClose:false};var MessageBoxConstructor=external_vue_default.a.extend(message_box_src_main);var currentMsg=void 0,main_instance=void 0;var msgQueue=[];var defaultCallback=function defaultCallback(action){if(currentMsg){var callback=currentMsg.callback;if(typeof callback==='function'){if(main_instance.showInput){callback(main_instance.inputValue,action);}else{callback(action);}}if(currentMsg.resolve){if(action==='confirm'){if(main_instance.showInput){currentMsg.resolve({value:main_instance.inputValue,action:action});}else{currentMsg.resolve(action);}}else if(currentMsg.reject&&(action==='cancel'||action==='close')){currentMsg.reject(action);}}}};var initInstance=function initInstance(){main_instance=new MessageBoxConstructor({el:document.createElement('div')});main_instance.callback=defaultCallback;};var main_showNextMsg=function showNextMsg(){if(!main_instance){initInstance();}main_instance.action='';if(!main_instance.visible||main_instance.closeTimer){if(msgQueue.length>0){currentMsg=msgQueue.shift();var options=currentMsg.options;for(var prop in options){if(options.hasOwnProperty(prop)){main_instance[prop]=options[prop];}}if(options.callback===undefined){main_instance.callback=defaultCallback;}var oldCb=main_instance.callback;main_instance.callback=function(action,instance){oldCb(action,instance);showNextMsg();};if(Object(vdom_[\"isVNode\"])(main_instance.message)){main_instance.$slots.default=[main_instance.message];main_instance.message=null;}else{delete main_instance.$slots.default;}['modal','showClose','closeOnClickModal','closeOnPressEscape','closeOnHashChange'].forEach(function(prop){if(main_instance[prop]===undefined){main_instance[prop]=true;}});document.body.appendChild(main_instance.$el);external_vue_default.a.nextTick(function(){main_instance.visible=true;});}}};var main_MessageBox=function MessageBox(options,callback){if(external_vue_default.a.prototype.$isServer)return;if(typeof options==='string'||Object(vdom_[\"isVNode\"])(options)){options={message:options};if(typeof arguments[1]==='string'){options.title=arguments[1];}}else if(options.callback&&!callback){callback=options.callback;}if(typeof Promise!=='undefined'){return new Promise(function(resolve,reject){// eslint-disable-line\nmsgQueue.push({options:merge_default()({},main_defaults,MessageBox.defaults,options),callback:callback,resolve:resolve,reject:reject});main_showNextMsg();});}else{msgQueue.push({options:merge_default()({},main_defaults,MessageBox.defaults,options),callback:callback});main_showNextMsg();}};main_MessageBox.setDefaults=function(defaults){main_MessageBox.defaults=defaults;};main_MessageBox.alert=function(message,title,options){if((typeof title==='undefined'?'undefined':main_typeof(title))==='object'){options=title;title='';}else if(title===undefined){title='';}return main_MessageBox(merge_default()({title:title,message:message,$type:'alert',closeOnPressEscape:false,closeOnClickModal:false},options));};main_MessageBox.confirm=function(message,title,options){if((typeof title==='undefined'?'undefined':main_typeof(title))==='object'){options=title;title='';}else if(title===undefined){title='';}return main_MessageBox(merge_default()({title:title,message:message,$type:'confirm',showCancelButton:true},options));};main_MessageBox.prompt=function(message,title,options){if((typeof title==='undefined'?'undefined':main_typeof(title))==='object'){options=title;title='';}else if(title===undefined){title='';}return main_MessageBox(merge_default()({title:title,message:message,showCancelButton:true,showInput:true,$type:'prompt'},options));};main_MessageBox.close=function(){main_instance.doClose();main_instance.visible=false;msgQueue=[];currentMsg=null;};/* harmony default export */var packages_message_box_src_main=main_MessageBox;// CONCATENATED MODULE: ./packages/message-box/index.js\n/* harmony default export */var message_box=packages_message_box_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb.vue?vue&type=template&id=4b464c06&\nvar breadcrumbvue_type_template_id_4b464c06_render=function breadcrumbvue_type_template_id_4b464c06_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-breadcrumb\",attrs:{\"aria-label\":\"Breadcrumb\",role:\"navigation\"}},[_vm._t(\"default\")],2);};var breadcrumbvue_type_template_id_4b464c06_staticRenderFns=[];breadcrumbvue_type_template_id_4b464c06_render._withStripped=true;// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue?vue&type=template&id=4b464c06&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n/* harmony default export */var breadcrumbvue_type_script_lang_js_={name:'ElBreadcrumb',props:{separator:{type:String,default:'/'},separatorClass:{type:String,default:''}},provide:function provide(){return{elBreadcrumb:this};},mounted:function mounted(){var items=this.$el.querySelectorAll('.el-breadcrumb__item');if(items.length){items[items.length-1].setAttribute('aria-current','page');}}};// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue?vue&type=script&lang=js&\n/* harmony default export */var src_breadcrumbvue_type_script_lang_js_=breadcrumbvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue\n/* normalize component */var breadcrumb_component=normalizeComponent(src_breadcrumbvue_type_script_lang_js_,breadcrumbvue_type_template_id_4b464c06_render,breadcrumbvue_type_template_id_4b464c06_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var breadcrumb_api; }breadcrumb_component.options.__file=\"packages/breadcrumb/src/breadcrumb.vue\";/* harmony default export */var breadcrumb=breadcrumb_component.exports;// CONCATENATED MODULE: ./packages/breadcrumb/index.js\n/* istanbul ignore next */breadcrumb.install=function(Vue){Vue.component(breadcrumb.name,breadcrumb);};/* harmony default export */var packages_breadcrumb=breadcrumb;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=template&id=fcf9eaac&\nvar breadcrumb_itemvue_type_template_id_fcf9eaac_render=function breadcrumb_itemvue_type_template_id_fcf9eaac_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"span\",{staticClass:\"el-breadcrumb__item\"},[_c(\"span\",{ref:\"link\",class:[\"el-breadcrumb__inner\",_vm.to?\"is-link\":\"\"],attrs:{role:\"link\"}},[_vm._t(\"default\")],2),_vm.separatorClass?_c(\"i\",{staticClass:\"el-breadcrumb__separator\",class:_vm.separatorClass}):_c(\"span\",{staticClass:\"el-breadcrumb__separator\",attrs:{role:\"presentation\"}},[_vm._v(_vm._s(_vm.separator))])]);};var breadcrumb_itemvue_type_template_id_fcf9eaac_staticRenderFns=[];breadcrumb_itemvue_type_template_id_fcf9eaac_render._withStripped=true;// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=template&id=fcf9eaac&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var breadcrumb_itemvue_type_script_lang_js_={name:'ElBreadcrumbItem',props:{to:{},replace:Boolean},data:function data(){return{separator:'',separatorClass:''};},inject:['elBreadcrumb'],mounted:function mounted(){var _this=this;this.separator=this.elBreadcrumb.separator;this.separatorClass=this.elBreadcrumb.separatorClass;var link=this.$refs.link;link.setAttribute('role','link');link.addEventListener('click',function(_){var to=_this.to,$router=_this.$router;if(!to||!$router)return;_this.replace?$router.replace(to):$router.push(to);});}};// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=script&lang=js&\n/* harmony default export */var src_breadcrumb_itemvue_type_script_lang_js_=breadcrumb_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue\n/* normalize component */var breadcrumb_item_component=normalizeComponent(src_breadcrumb_itemvue_type_script_lang_js_,breadcrumb_itemvue_type_template_id_fcf9eaac_render,breadcrumb_itemvue_type_template_id_fcf9eaac_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var breadcrumb_item_api; }breadcrumb_item_component.options.__file=\"packages/breadcrumb/src/breadcrumb-item.vue\";/* harmony default export */var breadcrumb_item=breadcrumb_item_component.exports;// CONCATENATED MODULE: ./packages/breadcrumb-item/index.js\n/* istanbul ignore next */breadcrumb_item.install=function(Vue){Vue.component(breadcrumb_item.name,breadcrumb_item);};/* harmony default export */var packages_breadcrumb_item=breadcrumb_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=template&id=a1b5ff34&\nvar formvue_type_template_id_a1b5ff34_render=function formvue_type_template_id_a1b5ff34_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"form\",{staticClass:\"el-form\",class:[_vm.labelPosition?\"el-form--label-\"+_vm.labelPosition:\"\",{\"el-form--inline\":_vm.inline}]},[_vm._t(\"default\")],2);};var formvue_type_template_id_a1b5ff34_staticRenderFns=[];formvue_type_template_id_a1b5ff34_render._withStripped=true;// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=template&id=a1b5ff34&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var formvue_type_script_lang_js_={name:'ElForm',componentName:'ElForm',provide:function provide(){return{elForm:this};},props:{model:Object,rules:Object,labelPosition:String,labelWidth:String,labelSuffix:{type:String,default:''},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:true},size:String,disabled:Boolean,validateOnRuleChange:{type:Boolean,default:true},hideRequiredAsterisk:{type:Boolean,default:false}},watch:{rules:function rules(){// remove then add event listeners on form-item after form rules change\nthis.fields.forEach(function(field){field.removeValidateEvents();field.addValidateEvents();});if(this.validateOnRuleChange){this.validate(function(){});}}},computed:{autoLabelWidth:function autoLabelWidth(){if(!this.potentialLabelWidthArr.length)return 0;var max=Math.max.apply(Math,this.potentialLabelWidthArr);return max?max+'px':'';}},data:function data(){return{fields:[],potentialLabelWidthArr:[]// use this array to calculate auto width\n};},created:function created(){var _this=this;this.$on('el.form.addField',function(field){if(field){_this.fields.push(field);}});/* istanbul ignore next */this.$on('el.form.removeField',function(field){if(field.prop){_this.fields.splice(_this.fields.indexOf(field),1);}});},methods:{resetFields:function resetFields(){if(!this.model){console.warn('[Element Warn][Form]model is required for resetFields to work.');return;}this.fields.forEach(function(field){field.resetField();});},clearValidate:function clearValidate(){var props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var fields=props.length?typeof props==='string'?this.fields.filter(function(field){return props===field.prop;}):this.fields.filter(function(field){return props.indexOf(field.prop)>-1;}):this.fields;fields.forEach(function(field){field.clearValidate();});},validate:function validate(callback){var _this2=this;if(!this.model){console.warn('[Element Warn][Form]model is required for validate to work!');return;}var promise=void 0;// if no callback, return promise\nif(typeof callback!=='function'&&window.Promise){promise=new window.Promise(function(resolve,reject){callback=function callback(valid,invalidFields){valid?resolve(valid):reject(invalidFields);};});}var valid=true;var count=0;// 如果需要验证的fields为空，调用验证时立刻返回callback\nif(this.fields.length===0&&callback){callback(true);}var invalidFields={};this.fields.forEach(function(field){field.validate('',function(message,field){if(message){valid=false;}invalidFields=merge_default()({},invalidFields,field);if(typeof callback==='function'&&++count===_this2.fields.length){callback(valid,invalidFields);}});});if(promise){return promise;}},validateField:function validateField(props,cb){props=[].concat(props);var fields=this.fields.filter(function(field){return props.indexOf(field.prop)!==-1;});if(!fields.length){console.warn('[Element Warn]please pass correct props!');return;}fields.forEach(function(field){field.validate('',cb);});},getLabelWidthIndex:function getLabelWidthIndex(width){var index=this.potentialLabelWidthArr.indexOf(width);// it's impossible\nif(index===-1){throw new Error('[ElementForm]unpected width ',width);}return index;},registerLabelWidth:function registerLabelWidth(val,oldVal){if(val&&oldVal){var index=this.getLabelWidthIndex(oldVal);this.potentialLabelWidthArr.splice(index,1,val);}else if(val){this.potentialLabelWidthArr.push(val);}},deregisterLabelWidth:function deregisterLabelWidth(val){var index=this.getLabelWidthIndex(val);this.potentialLabelWidthArr.splice(index,1);}}};// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=script&lang=js&\n/* harmony default export */var src_formvue_type_script_lang_js_=formvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/form/src/form.vue\n/* normalize component */var form_component=normalizeComponent(src_formvue_type_script_lang_js_,formvue_type_template_id_a1b5ff34_render,formvue_type_template_id_a1b5ff34_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var form_api; }form_component.options.__file=\"packages/form/src/form.vue\";/* harmony default export */var src_form=form_component.exports;// CONCATENATED MODULE: ./packages/form/index.js\n/* istanbul ignore next */src_form.install=function(Vue){Vue.component(src_form.name,src_form);};/* harmony default export */var packages_form=src_form;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form-item.vue?vue&type=template&id=b6f3db6c&\nvar form_itemvue_type_template_id_b6f3db6c_render=function form_itemvue_type_template_id_b6f3db6c_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-form-item\",class:[{\"el-form-item--feedback\":_vm.elForm&&_vm.elForm.statusIcon,\"is-error\":_vm.validateState===\"error\",\"is-validating\":_vm.validateState===\"validating\",\"is-success\":_vm.validateState===\"success\",\"is-required\":_vm.isRequired||_vm.required,\"is-no-asterisk\":_vm.elForm&&_vm.elForm.hideRequiredAsterisk},_vm.sizeClass?\"el-form-item--\"+_vm.sizeClass:\"\"]},[_c(\"label-wrap\",{attrs:{\"is-auto-width\":_vm.labelStyle&&_vm.labelStyle.width===\"auto\",\"update-all\":_vm.form.labelWidth===\"auto\"}},[_vm.label||_vm.$slots.label?_c(\"label\",{staticClass:\"el-form-item__label\",style:_vm.labelStyle,attrs:{for:_vm.labelFor}},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.label+_vm.form.labelSuffix))])],2):_vm._e()]),_c(\"div\",{staticClass:\"el-form-item__content\",style:_vm.contentStyle},[_vm._t(\"default\"),_c(\"transition\",{attrs:{name:\"el-zoom-in-top\"}},[_vm.validateState===\"error\"&&_vm.showMessage&&_vm.form.showMessage?_vm._t(\"error\",[_c(\"div\",{staticClass:\"el-form-item__error\",class:{\"el-form-item__error--inline\":typeof _vm.inlineMessage===\"boolean\"?_vm.inlineMessage:_vm.elForm&&_vm.elForm.inlineMessage||false}},[_vm._v(\"\\n          \"+_vm._s(_vm.validateMessage)+\"\\n        \")])],{error:_vm.validateMessage}):_vm._e()],2)],2)],1);};var form_itemvue_type_template_id_b6f3db6c_staticRenderFns=[];form_itemvue_type_template_id_b6f3db6c_render._withStripped=true;// CONCATENATED MODULE: ./packages/form/src/form-item.vue?vue&type=template&id=b6f3db6c&\n// EXTERNAL MODULE: external \"async-validator\"\nvar external_async_validator_=__webpack_require__(40);var external_async_validator_default=/*#__PURE__*/__webpack_require__.n(external_async_validator_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/label-wrap.vue?vue&type=script&lang=js&\n/* harmony default export */var label_wrapvue_type_script_lang_js_={props:{isAutoWidth:Boolean,updateAll:Boolean},inject:['elForm','elFormItem'],render:function render(){var h=arguments[0];var slots=this.$slots.default;if(!slots)return null;if(this.isAutoWidth){var autoLabelWidth=this.elForm.autoLabelWidth;var style={};if(autoLabelWidth&&autoLabelWidth!=='auto'){var marginLeft=parseInt(autoLabelWidth,10)-this.computedWidth;if(marginLeft){style.marginLeft=marginLeft+'px';}}return h('div',{'class':'el-form-item__label-wrap',style:style},[slots]);}else{return slots[0];}},methods:{getLabelWidth:function getLabelWidth(){if(this.$el&&this.$el.firstElementChild){var computedWidth=window.getComputedStyle(this.$el.firstElementChild).width;return Math.ceil(parseFloat(computedWidth));}else{return 0;}},updateLabelWidth:function updateLabelWidth(){var action=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'update';if(this.$slots.default&&this.isAutoWidth&&this.$el.firstElementChild){if(action==='update'){this.computedWidth=this.getLabelWidth();}else if(action==='remove'){this.elForm.deregisterLabelWidth(this.computedWidth);}}}},watch:{computedWidth:function computedWidth(val,oldVal){if(this.updateAll){this.elForm.registerLabelWidth(val,oldVal);this.elFormItem.updateComputedLabelWidth(val);}}},data:function data(){return{computedWidth:0};},mounted:function mounted(){this.updateLabelWidth('update');},updated:function updated(){this.updateLabelWidth('update');},beforeDestroy:function beforeDestroy(){this.updateLabelWidth('remove');}};// CONCATENATED MODULE: ./packages/form/src/label-wrap.vue?vue&type=script&lang=js&\n/* harmony default export */var src_label_wrapvue_type_script_lang_js_=label_wrapvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/form/src/label-wrap.vue\nvar label_wrap_render,label_wrap_staticRenderFns;/* normalize component */var label_wrap_component=normalizeComponent(src_label_wrapvue_type_script_lang_js_,label_wrap_render,label_wrap_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var label_wrap_api; }label_wrap_component.options.__file=\"packages/form/src/label-wrap.vue\";/* harmony default export */var label_wrap=label_wrap_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var form_itemvue_type_script_lang_js_={name:'ElFormItem',componentName:'ElFormItem',mixins:[emitter_default.a],provide:function provide(){return{elFormItem:this};},inject:['elForm'],props:{label:String,labelWidth:String,prop:String,required:{type:Boolean,default:undefined},rules:[Object,Array],error:String,validateStatus:String,for:String,inlineMessage:{type:[String,Boolean],default:''},showMessage:{type:Boolean,default:true},size:String},components:{// use this component to calculate auto width\nLabelWrap:label_wrap},watch:{error:{immediate:true,handler:function handler(value){this.validateMessage=value;this.validateState=value?'error':'';}},validateStatus:function validateStatus(value){this.validateState=value;}},computed:{labelFor:function labelFor(){return this.for||this.prop;},labelStyle:function labelStyle(){var ret={};if(this.form.labelPosition==='top')return ret;var labelWidth=this.labelWidth||this.form.labelWidth;if(labelWidth){ret.width=labelWidth;}return ret;},contentStyle:function contentStyle(){var ret={};var label=this.label;if(this.form.labelPosition==='top'||this.form.inline)return ret;if(!label&&!this.labelWidth&&this.isNested)return ret;var labelWidth=this.labelWidth||this.form.labelWidth;if(labelWidth==='auto'){if(this.labelWidth==='auto'){ret.marginLeft=this.computedLabelWidth;}else if(this.form.labelWidth==='auto'){ret.marginLeft=this.elForm.autoLabelWidth;}}else{ret.marginLeft=labelWidth;}return ret;},form:function form(){var parent=this.$parent;var parentName=parent.$options.componentName;while(parentName!=='ElForm'){if(parentName==='ElFormItem'){this.isNested=true;}parent=parent.$parent;parentName=parent.$options.componentName;}return parent;},fieldValue:function fieldValue(){var model=this.form.model;if(!model||!this.prop){return;}var path=this.prop;if(path.indexOf(':')!==-1){path=path.replace(/:/,'.');}return Object(util_[\"getPropByPath\"])(model,path,true).v;},isRequired:function isRequired(){var rules=this.getRules();var isRequired=false;if(rules&&rules.length){rules.every(function(rule){if(rule.required){isRequired=true;return false;}return true;});}return isRequired;},_formSize:function _formSize(){return this.elForm.size;},elFormItemSize:function elFormItemSize(){return this.size||this._formSize;},sizeClass:function sizeClass(){return this.elFormItemSize||(this.$ELEMENT||{}).size;}},data:function data(){return{validateState:'',validateMessage:'',validateDisabled:false,validator:{},isNested:false,computedLabelWidth:''};},methods:{validate:function validate(trigger){var _this=this;var callback=arguments.length>1&&arguments[1]!==undefined?arguments[1]:util_[\"noop\"];this.validateDisabled=false;var rules=this.getFilteredRule(trigger);if((!rules||rules.length===0)&&this.required===undefined){callback();return true;}this.validateState='validating';var descriptor={};if(rules&&rules.length>0){rules.forEach(function(rule){delete rule.trigger;});}descriptor[this.prop]=rules;var validator=new external_async_validator_default.a(descriptor);var model={};model[this.prop]=this.fieldValue;validator.validate(model,{firstFields:true},function(errors,invalidFields){_this.validateState=!errors?'success':'error';_this.validateMessage=errors?errors[0].message:'';callback(_this.validateMessage,invalidFields);_this.elForm&&_this.elForm.$emit('validate',_this.prop,!errors,_this.validateMessage||null);});},clearValidate:function clearValidate(){this.validateState='';this.validateMessage='';this.validateDisabled=false;},resetField:function resetField(){var _this2=this;this.validateState='';this.validateMessage='';var model=this.form.model;var value=this.fieldValue;var path=this.prop;if(path.indexOf(':')!==-1){path=path.replace(/:/,'.');}var prop=Object(util_[\"getPropByPath\"])(model,path,true);this.validateDisabled=true;if(Array.isArray(value)){prop.o[prop.k]=[].concat(this.initialValue);}else{prop.o[prop.k]=this.initialValue;}// reset validateDisabled after onFieldChange triggered\nthis.$nextTick(function(){_this2.validateDisabled=false;});this.broadcast('ElTimeSelect','fieldReset',this.initialValue);},getRules:function getRules(){var formRules=this.form.rules;var selfRules=this.rules;var requiredRule=this.required!==undefined?{required:!!this.required}:[];var prop=Object(util_[\"getPropByPath\"])(formRules,this.prop||'');formRules=formRules?prop.o[this.prop||'']||prop.v:[];return[].concat(selfRules||formRules||[]).concat(requiredRule);},getFilteredRule:function getFilteredRule(trigger){var rules=this.getRules();return rules.filter(function(rule){if(!rule.trigger||trigger==='')return true;if(Array.isArray(rule.trigger)){return rule.trigger.indexOf(trigger)>-1;}else{return rule.trigger===trigger;}}).map(function(rule){return merge_default()({},rule);});},onFieldBlur:function onFieldBlur(){this.validate('blur');},onFieldChange:function onFieldChange(){if(this.validateDisabled){this.validateDisabled=false;return;}this.validate('change');},updateComputedLabelWidth:function updateComputedLabelWidth(width){this.computedLabelWidth=width?width+'px':'';},addValidateEvents:function addValidateEvents(){var rules=this.getRules();if(rules.length||this.required!==undefined){this.$on('el.form.blur',this.onFieldBlur);this.$on('el.form.change',this.onFieldChange);}},removeValidateEvents:function removeValidateEvents(){this.$off();}},mounted:function mounted(){if(this.prop){this.dispatch('ElForm','el.form.addField',[this]);var initialValue=this.fieldValue;if(Array.isArray(initialValue)){initialValue=[].concat(initialValue);}Object.defineProperty(this,'initialValue',{value:initialValue});this.addValidateEvents();}},beforeDestroy:function beforeDestroy(){this.dispatch('ElForm','el.form.removeField',[this]);}};// CONCATENATED MODULE: ./packages/form/src/form-item.vue?vue&type=script&lang=js&\n/* harmony default export */var src_form_itemvue_type_script_lang_js_=form_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/form/src/form-item.vue\n/* normalize component */var form_item_component=normalizeComponent(src_form_itemvue_type_script_lang_js_,form_itemvue_type_template_id_b6f3db6c_render,form_itemvue_type_template_id_b6f3db6c_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var form_item_api; }form_item_component.options.__file=\"packages/form/src/form-item.vue\";/* harmony default export */var form_item=form_item_component.exports;// CONCATENATED MODULE: ./packages/form-item/index.js\n/* istanbul ignore next */form_item.install=function(Vue){Vue.component(form_item.name,form_item);};/* harmony default export */var packages_form_item=form_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a&\nvar tab_barvue_type_template_id_2031f33a_render=function tab_barvue_type_template_id_2031f33a_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-tabs__active-bar\",class:\"is-\"+_vm.rootTabs.tabPosition,style:_vm.barStyle});};var tab_barvue_type_template_id_2031f33a_staticRenderFns=[];tab_barvue_type_template_id_2031f33a_render._withStripped=true;// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js&\n//\n//\n//\n/* harmony default export */var tab_barvue_type_script_lang_js_={name:'TabBar',props:{tabs:Array},inject:['rootTabs'],computed:{barStyle:{get:function get(){var _this=this;var style={};var offset=0;var tabSize=0;var sizeName=['top','bottom'].indexOf(this.rootTabs.tabPosition)!==-1?'width':'height';var sizeDir=sizeName==='width'?'x':'y';var firstUpperCase=function firstUpperCase(str){return str.toLowerCase().replace(/( |^)[a-z]/g,function(L){return L.toUpperCase();});};this.tabs.every(function(tab,index){var $el=Object(util_[\"arrayFind\"])(_this.$parent.$refs.tabs||[],function(t){return t.id.replace('tab-','')===tab.paneName;});if(!$el){return false;}if(!tab.active){offset+=$el['client'+firstUpperCase(sizeName)];return true;}else{tabSize=$el['client'+firstUpperCase(sizeName)];var tabStyles=window.getComputedStyle($el);if(sizeName==='width'&&_this.tabs.length>1){tabSize-=parseFloat(tabStyles.paddingLeft)+parseFloat(tabStyles.paddingRight);}if(sizeName==='width'){offset+=parseFloat(tabStyles.paddingLeft);}return false;}});var transform='translate'+firstUpperCase(sizeDir)+'('+offset+'px)';style[sizeName]=tabSize+'px';style.transform=transform;style.msTransform=transform;style.webkitTransform=transform;return style;}}}};// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tab_barvue_type_script_lang_js_=tab_barvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue\n/* normalize component */var tab_bar_component=normalizeComponent(src_tab_barvue_type_script_lang_js_,tab_barvue_type_template_id_2031f33a_render,tab_barvue_type_template_id_2031f33a_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tab_bar_api; }tab_bar_component.options.__file=\"packages/tabs/src/tab-bar.vue\";/* harmony default export */var tab_bar=tab_bar_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js&\nfunction noop(){}var tab_navvue_type_script_lang_js_firstUpperCase=function firstUpperCase(str){return str.toLowerCase().replace(/( |^)[a-z]/g,function(L){return L.toUpperCase();});};/* harmony default export */var tab_navvue_type_script_lang_js_={name:'TabNav',components:{TabBar:tab_bar},inject:['rootTabs'],props:{panes:Array,currentName:String,editable:Boolean,onTabClick:{type:Function,default:noop},onTabRemove:{type:Function,default:noop},type:String,stretch:Boolean},data:function data(){return{scrollable:false,navOffset:0,isFocus:false,focusable:true};},computed:{navStyle:function navStyle(){var dir=['top','bottom'].indexOf(this.rootTabs.tabPosition)!==-1?'X':'Y';return{transform:'translate'+dir+'(-'+this.navOffset+'px)'};},sizeName:function sizeName(){return['top','bottom'].indexOf(this.rootTabs.tabPosition)!==-1?'width':'height';}},methods:{scrollPrev:function scrollPrev(){var containerSize=this.$refs.navScroll['offset'+tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)];var currentOffset=this.navOffset;if(!currentOffset)return;var newOffset=currentOffset>containerSize?currentOffset-containerSize:0;this.navOffset=newOffset;},scrollNext:function scrollNext(){var navSize=this.$refs.nav['offset'+tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)];var containerSize=this.$refs.navScroll['offset'+tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)];var currentOffset=this.navOffset;if(navSize-currentOffset<=containerSize)return;var newOffset=navSize-currentOffset>containerSize*2?currentOffset+containerSize:navSize-containerSize;this.navOffset=newOffset;},scrollToActiveTab:function scrollToActiveTab(){if(!this.scrollable)return;var nav=this.$refs.nav;var activeTab=this.$el.querySelector('.is-active');if(!activeTab)return;var navScroll=this.$refs.navScroll;var isHorizontal=['top','bottom'].indexOf(this.rootTabs.tabPosition)!==-1;var activeTabBounding=activeTab.getBoundingClientRect();var navScrollBounding=navScroll.getBoundingClientRect();var maxOffset=isHorizontal?nav.offsetWidth-navScrollBounding.width:nav.offsetHeight-navScrollBounding.height;var currentOffset=this.navOffset;var newOffset=currentOffset;if(isHorizontal){if(activeTabBounding.left<navScrollBounding.left){newOffset=currentOffset-(navScrollBounding.left-activeTabBounding.left);}if(activeTabBounding.right>navScrollBounding.right){newOffset=currentOffset+activeTabBounding.right-navScrollBounding.right;}}else{if(activeTabBounding.top<navScrollBounding.top){newOffset=currentOffset-(navScrollBounding.top-activeTabBounding.top);}if(activeTabBounding.bottom>navScrollBounding.bottom){newOffset=currentOffset+(activeTabBounding.bottom-navScrollBounding.bottom);}}newOffset=Math.max(newOffset,0);this.navOffset=Math.min(newOffset,maxOffset);},update:function update(){if(!this.$refs.nav)return;var sizeName=this.sizeName;var navSize=this.$refs.nav['offset'+tab_navvue_type_script_lang_js_firstUpperCase(sizeName)];var containerSize=this.$refs.navScroll['offset'+tab_navvue_type_script_lang_js_firstUpperCase(sizeName)];var currentOffset=this.navOffset;if(containerSize<navSize){var _currentOffset=this.navOffset;this.scrollable=this.scrollable||{};this.scrollable.prev=_currentOffset;this.scrollable.next=_currentOffset+containerSize<navSize;if(navSize-_currentOffset<containerSize){this.navOffset=navSize-containerSize;}}else{this.scrollable=false;if(currentOffset>0){this.navOffset=0;}}},changeTab:function changeTab(e){var keyCode=e.keyCode;var nextIndex=void 0;var currentIndex=void 0,tabList=void 0;if([37,38,39,40].indexOf(keyCode)!==-1){// 左右上下键更换tab\ntabList=e.currentTarget.querySelectorAll('[role=tab]');currentIndex=Array.prototype.indexOf.call(tabList,e.target);}else{return;}if(keyCode===37||keyCode===38){// left\nif(currentIndex===0){// first\nnextIndex=tabList.length-1;}else{nextIndex=currentIndex-1;}}else{// right\nif(currentIndex<tabList.length-1){// not last\nnextIndex=currentIndex+1;}else{nextIndex=0;}}tabList[nextIndex].focus();// 改变焦点元素\ntabList[nextIndex].click();// 选中下一个tab\nthis.setFocus();},setFocus:function setFocus(){if(this.focusable){this.isFocus=true;}},removeFocus:function removeFocus(){this.isFocus=false;},visibilityChangeHandler:function visibilityChangeHandler(){var _this=this;var visibility=document.visibilityState;if(visibility==='hidden'){this.focusable=false;}else if(visibility==='visible'){setTimeout(function(){_this.focusable=true;},50);}},windowBlurHandler:function windowBlurHandler(){this.focusable=false;},windowFocusHandler:function windowFocusHandler(){var _this2=this;setTimeout(function(){_this2.focusable=true;},50);}},updated:function updated(){this.update();},render:function render(h){var _this3=this;var type=this.type,panes=this.panes,editable=this.editable,stretch=this.stretch,onTabClick=this.onTabClick,onTabRemove=this.onTabRemove,navStyle=this.navStyle,scrollable=this.scrollable,scrollNext=this.scrollNext,scrollPrev=this.scrollPrev,changeTab=this.changeTab,setFocus=this.setFocus,removeFocus=this.removeFocus;var scrollBtn=scrollable?[h('span',{'class':['el-tabs__nav-prev',scrollable.prev?'':'is-disabled'],on:{'click':scrollPrev}},[h('i',{'class':'el-icon-arrow-left'})]),h('span',{'class':['el-tabs__nav-next',scrollable.next?'':'is-disabled'],on:{'click':scrollNext}},[h('i',{'class':'el-icon-arrow-right'})])]:null;var tabs=this._l(panes,function(pane,index){var _ref;var tabName=pane.name||pane.index||index;var closable=pane.isClosable||editable;pane.index=''+index;var btnClose=closable?h('span',{'class':'el-icon-close',on:{'click':function click(ev){onTabRemove(pane,ev);}}}):null;var tabLabelContent=pane.$slots.label||pane.label;var tabindex=pane.active?0:-1;return h('div',{'class':(_ref={'el-tabs__item':true},_ref['is-'+_this3.rootTabs.tabPosition]=true,_ref['is-active']=pane.active,_ref['is-disabled']=pane.disabled,_ref['is-closable']=closable,_ref['is-focus']=_this3.isFocus,_ref),attrs:{id:'tab-'+tabName,'aria-controls':'pane-'+tabName,role:'tab','aria-selected':pane.active,tabindex:tabindex},key:'tab-'+tabName,ref:'tabs',refInFor:true,on:{'focus':function focus(){setFocus();},'blur':function blur(){removeFocus();},'click':function click(ev){removeFocus();onTabClick(pane,tabName,ev);},'keydown':function keydown(ev){if(closable&&(ev.keyCode===46||ev.keyCode===8)){onTabRemove(pane,ev);}}}},[tabLabelContent,btnClose]);});return h('div',{'class':['el-tabs__nav-wrap',scrollable?'is-scrollable':'','is-'+this.rootTabs.tabPosition]},[scrollBtn,h('div',{'class':['el-tabs__nav-scroll'],ref:'navScroll'},[h('div',{'class':['el-tabs__nav','is-'+this.rootTabs.tabPosition,stretch&&['top','bottom'].indexOf(this.rootTabs.tabPosition)!==-1?'is-stretch':''],ref:'nav',style:navStyle,attrs:{role:'tablist'},on:{'keydown':changeTab}},[!type?h('tab-bar',{attrs:{tabs:panes}}):null,tabs])])]);},mounted:function mounted(){var _this4=this;Object(resize_event_[\"addResizeListener\"])(this.$el,this.update);document.addEventListener('visibilitychange',this.visibilityChangeHandler);window.addEventListener('blur',this.windowBlurHandler);window.addEventListener('focus',this.windowFocusHandler);setTimeout(function(){_this4.scrollToActiveTab();},0);},beforeDestroy:function beforeDestroy(){if(this.$el&&this.update)Object(resize_event_[\"removeResizeListener\"])(this.$el,this.update);document.removeEventListener('visibilitychange',this.visibilityChangeHandler);window.removeEventListener('blur',this.windowBlurHandler);window.removeEventListener('focus',this.windowFocusHandler);}};// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tab_navvue_type_script_lang_js_=tab_navvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue\nvar tab_nav_render,tab_nav_staticRenderFns;/* normalize component */var tab_nav_component=normalizeComponent(src_tab_navvue_type_script_lang_js_,tab_nav_render,tab_nav_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tab_nav_api; }tab_nav_component.options.__file=\"packages/tabs/src/tab-nav.vue\";/* harmony default export */var tab_nav=tab_nav_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tabs.vue?vue&type=script&lang=js&\n/* harmony default export */var tabsvue_type_script_lang_js_={name:'ElTabs',components:{TabNav:tab_nav},props:{type:String,activeName:String,closable:Boolean,addable:Boolean,value:{},editable:Boolean,tabPosition:{type:String,default:'top'},beforeLeave:Function,stretch:Boolean},provide:function provide(){return{rootTabs:this};},data:function data(){return{currentName:this.value||this.activeName,panes:[]};},watch:{activeName:function activeName(value){this.setCurrentName(value);},value:function value(_value){this.setCurrentName(_value);},currentName:function currentName(value){var _this=this;if(this.$refs.nav){this.$nextTick(function(){_this.$refs.nav.$nextTick(function(_){_this.$refs.nav.scrollToActiveTab();});});}}},methods:{calcPaneInstances:function calcPaneInstances(){var _this2=this;var isForceUpdate=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.$slots.default){var paneSlots=this.$slots.default.filter(function(vnode){return vnode.tag&&vnode.componentOptions&&vnode.componentOptions.Ctor.options.name==='ElTabPane';});// update indeed\nvar panes=paneSlots.map(function(_ref){var componentInstance=_ref.componentInstance;return componentInstance;});var panesChanged=!(panes.length===this.panes.length&&panes.every(function(pane,index){return pane===_this2.panes[index];}));if(isForceUpdate||panesChanged){this.panes=panes;}}else if(this.panes.length!==0){this.panes=[];}},handleTabClick:function handleTabClick(tab,tabName,event){if(tab.disabled)return;this.setCurrentName(tabName);this.$emit('tab-click',tab,event);},handleTabRemove:function handleTabRemove(pane,ev){if(pane.disabled)return;ev.stopPropagation();this.$emit('edit',pane.name,'remove');this.$emit('tab-remove',pane.name);},handleTabAdd:function handleTabAdd(){this.$emit('edit',null,'add');this.$emit('tab-add');},setCurrentName:function setCurrentName(value){var _this3=this;var changeCurrentName=function changeCurrentName(){_this3.currentName=value;_this3.$emit('input',value);};if(this.currentName!==value&&this.beforeLeave){var before=this.beforeLeave(value,this.currentName);if(before&&before.then){before.then(function(){changeCurrentName();_this3.$refs.nav&&_this3.$refs.nav.removeFocus();},function(){// https://github.com/ElemeFE/element/pull/14816\n// ignore promise rejection in `before-leave` hook\n});}else if(before!==false){changeCurrentName();}}else{changeCurrentName();}}},render:function render(h){var _ref2;var type=this.type,handleTabClick=this.handleTabClick,handleTabRemove=this.handleTabRemove,handleTabAdd=this.handleTabAdd,currentName=this.currentName,panes=this.panes,editable=this.editable,addable=this.addable,tabPosition=this.tabPosition,stretch=this.stretch;var newButton=editable||addable?h('span',{'class':'el-tabs__new-tab',on:{'click':handleTabAdd,'keydown':function keydown(ev){if(ev.keyCode===13){handleTabAdd();}}},attrs:{tabindex:'0'}},[h('i',{'class':'el-icon-plus'})]):null;var navData={props:{currentName:currentName,onTabClick:handleTabClick,onTabRemove:handleTabRemove,editable:editable,type:type,panes:panes,stretch:stretch},ref:'nav'};var header=h('div',{'class':['el-tabs__header','is-'+tabPosition]},[newButton,h('tab-nav',navData)]);var panels=h('div',{'class':'el-tabs__content'},[this.$slots.default]);return h('div',{'class':(_ref2={'el-tabs':true,'el-tabs--card':type==='card'},_ref2['el-tabs--'+tabPosition]=true,_ref2['el-tabs--border-card']=type==='border-card',_ref2)},[tabPosition!=='bottom'?[header,panels]:[panels,header]]);},created:function created(){if(!this.currentName){this.setCurrentName('0');}this.$on('tab-nav-update',this.calcPaneInstances.bind(null,true));},mounted:function mounted(){this.calcPaneInstances();},updated:function updated(){this.calcPaneInstances();}};// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tabsvue_type_script_lang_js_=tabsvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue\nvar tabs_render,tabs_staticRenderFns;/* normalize component */var tabs_component=normalizeComponent(src_tabsvue_type_script_lang_js_,tabs_render,tabs_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tabs_api; }tabs_component.options.__file=\"packages/tabs/src/tabs.vue\";/* harmony default export */var tabs=tabs_component.exports;// CONCATENATED MODULE: ./packages/tabs/index.js\n/* istanbul ignore next */tabs.install=function(Vue){Vue.component(tabs.name,tabs);};/* harmony default export */var packages_tabs=tabs;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070&\nvar tab_panevue_type_template_id_9145a070_render=function tab_panevue_type_template_id_9145a070_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return!_vm.lazy||_vm.loaded||_vm.active?_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.active,expression:\"active\"}],staticClass:\"el-tab-pane\",attrs:{role:\"tabpanel\",\"aria-hidden\":!_vm.active,id:\"pane-\"+_vm.paneName,\"aria-labelledby\":\"tab-\"+_vm.paneName}},[_vm._t(\"default\")],2):_vm._e();};var tab_panevue_type_template_id_9145a070_staticRenderFns=[];tab_panevue_type_template_id_9145a070_render._withStripped=true;// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var tab_panevue_type_script_lang_js_={name:'ElTabPane',componentName:'ElTabPane',props:{label:String,labelContent:Function,name:String,closable:Boolean,disabled:Boolean,lazy:Boolean},data:function data(){return{index:null,loaded:false};},computed:{isClosable:function isClosable(){return this.closable||this.$parent.closable;},active:function active(){var active=this.$parent.currentName===(this.name||this.index);if(active){this.loaded=true;}return active;},paneName:function paneName(){return this.name||this.index;}},updated:function updated(){this.$parent.$emit('tab-nav-update');}};// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tab_panevue_type_script_lang_js_=tab_panevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue\n/* normalize component */var tab_pane_component=normalizeComponent(src_tab_panevue_type_script_lang_js_,tab_panevue_type_template_id_9145a070_render,tab_panevue_type_template_id_9145a070_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tab_pane_api; }tab_pane_component.options.__file=\"packages/tabs/src/tab-pane.vue\";/* harmony default export */var tab_pane=tab_pane_component.exports;// CONCATENATED MODULE: ./packages/tab-pane/index.js\n/* istanbul ignore next */tab_pane.install=function(Vue){Vue.component(tab_pane.name,tab_pane);};/* harmony default export */var packages_tab_pane=tab_pane;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js&\n/* harmony default export */var tagvue_type_script_lang_js_={name:'ElTag',props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:'light',validator:function validator(val){return['dark','light','plain'].indexOf(val)!==-1;}}},methods:{handleClose:function handleClose(event){event.stopPropagation();this.$emit('close',event);},handleClick:function handleClick(event){this.$emit('click',event);}},computed:{tagSize:function tagSize(){return this.size||(this.$ELEMENT||{}).size;}},render:function render(h){var type=this.type,tagSize=this.tagSize,hit=this.hit,effect=this.effect;var classes=['el-tag',type?'el-tag--'+type:'',tagSize?'el-tag--'+tagSize:'',effect?'el-tag--'+effect:'',hit&&'is-hit'];var tagEl=h('span',{'class':classes,style:{backgroundColor:this.color},on:{'click':this.handleClick}},[this.$slots.default,this.closable&&h('i',{'class':'el-tag__close el-icon-close',on:{'click':this.handleClose}})]);return this.disableTransitions?tagEl:h('transition',{attrs:{name:'el-zoom-in-center'}},[tagEl]);}};// CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tagvue_type_script_lang_js_=tagvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tag/src/tag.vue\nvar tag_render,tag_staticRenderFns;/* normalize component */var tag_component=normalizeComponent(src_tagvue_type_script_lang_js_,tag_render,tag_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tag_api; }tag_component.options.__file=\"packages/tag/src/tag.vue\";/* harmony default export */var src_tag=tag_component.exports;// CONCATENATED MODULE: ./packages/tag/index.js\n/* istanbul ignore next */src_tag.install=function(Vue){Vue.component(src_tag.name,src_tag);};/* harmony default export */var packages_tag=src_tag;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=template&id=547575a6&\nvar treevue_type_template_id_547575a6_render=function treevue_type_template_id_547575a6_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-tree\",class:{\"el-tree--highlight-current\":_vm.highlightCurrent,\"is-dragging\":!!_vm.dragState.draggingNode,\"is-drop-not-allow\":!_vm.dragState.allowDrop,\"is-drop-inner\":_vm.dragState.dropType===\"inner\"},attrs:{role:\"tree\"}},[_vm._l(_vm.root.childNodes,function(child){return _c(\"el-tree-node\",{key:_vm.getNodeKey(child),attrs:{node:child,props:_vm.props,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"render-content\":_vm.renderContent},on:{\"node-expand\":_vm.handleNodeExpand}});}),_vm.isEmpty?_c(\"div\",{staticClass:\"el-tree__empty-block\"},[_c(\"span\",{staticClass:\"el-tree__empty-text\"},[_vm._v(_vm._s(_vm.emptyText))])]):_vm._e(),_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.dragState.showDropIndicator,expression:\"dragState.showDropIndicator\"}],ref:\"dropIndicator\",staticClass:\"el-tree__drop-indicator\"})],2);};var treevue_type_template_id_547575a6_staticRenderFns=[];treevue_type_template_id_547575a6_render._withStripped=true;// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=template&id=547575a6&\n// CONCATENATED MODULE: ./packages/tree/src/model/util.js\nvar NODE_KEY='$treeNodeId';var markNodeData=function markNodeData(node,data){if(!data||data[NODE_KEY])return;Object.defineProperty(data,NODE_KEY,{value:node.id,enumerable:false,configurable:false,writable:false});};var util_getNodeKey=function getNodeKey(key,data){if(!key)return data[NODE_KEY];return data[key];};var findNearestComponent=function findNearestComponent(element,componentName){var target=element;while(target&&target.tagName!=='BODY'){if(target.__vue__&&target.__vue__.$options.name===componentName){return target.__vue__;}target=target.parentNode;}return null;};// CONCATENATED MODULE: ./packages/tree/src/model/node.js\nvar _createClass=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);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function node_classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var getChildState=function getChildState(node){var all=true;var none=true;var allWithoutDisable=true;for(var i=0,j=node.length;i<j;i++){var n=node[i];if(n.checked!==true||n.indeterminate){all=false;if(!n.disabled){allWithoutDisable=false;}}if(n.checked!==false||n.indeterminate){none=false;}}return{all:all,none:none,allWithoutDisable:allWithoutDisable,half:!all&&!none};};var reInitChecked=function reInitChecked(node){if(node.childNodes.length===0)return;var _getChildState=getChildState(node.childNodes),all=_getChildState.all,none=_getChildState.none,half=_getChildState.half;if(all){node.checked=true;node.indeterminate=false;}else if(half){node.checked=false;node.indeterminate=true;}else if(none){node.checked=false;node.indeterminate=false;}var parent=node.parent;if(!parent||parent.level===0)return;if(!node.store.checkStrictly){reInitChecked(parent);}};var getPropertyFromData=function getPropertyFromData(node,prop){var props=node.store.props;var data=node.data||{};var config=props[prop];if(typeof config==='function'){return config(data,node);}else if(typeof config==='string'){return data[config];}else if(typeof config==='undefined'){var dataProp=data[prop];return dataProp===undefined?'':dataProp;}};var nodeIdSeed=0;var node_Node=function(){function Node(options){node_classCallCheck(this,Node);this.id=nodeIdSeed++;this.text=null;this.checked=false;this.indeterminate=false;this.data=null;this.expanded=false;this.parent=null;this.visible=true;this.isCurrent=false;for(var name in options){if(options.hasOwnProperty(name)){this[name]=options[name];}}// internal\nthis.level=0;this.loaded=false;this.childNodes=[];this.loading=false;if(this.parent){this.level=this.parent.level+1;}var store=this.store;if(!store){throw new Error('[Node]store is required!');}store.registerNode(this);var props=store.props;if(props&&typeof props.isLeaf!=='undefined'){var isLeaf=getPropertyFromData(this,'isLeaf');if(typeof isLeaf==='boolean'){this.isLeafByUser=isLeaf;}}if(store.lazy!==true&&this.data){this.setData(this.data);if(store.defaultExpandAll){this.expanded=true;}}else if(this.level>0&&store.lazy&&store.defaultExpandAll){this.expand();}if(!Array.isArray(this.data)){markNodeData(this,this.data);}if(!this.data)return;var defaultExpandedKeys=store.defaultExpandedKeys;var key=store.key;if(key&&defaultExpandedKeys&&defaultExpandedKeys.indexOf(this.key)!==-1){this.expand(null,store.autoExpandParent);}if(key&&store.currentNodeKey!==undefined&&this.key===store.currentNodeKey){store.currentNode=this;store.currentNode.isCurrent=true;}if(store.lazy){store._initDefaultCheckedNode(this);}this.updateLeafState();}Node.prototype.setData=function setData(data){if(!Array.isArray(data)){markNodeData(this,data);}this.data=data;this.childNodes=[];var children=void 0;if(this.level===0&&this.data instanceof Array){children=this.data;}else{children=getPropertyFromData(this,'children')||[];}for(var i=0,j=children.length;i<j;i++){this.insertChild({data:children[i]});}};Node.prototype.contains=function contains(target){var deep=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var walk=function walk(parent){var children=parent.childNodes||[];var result=false;for(var i=0,j=children.length;i<j;i++){var child=children[i];if(child===target||deep&&walk(child)){result=true;break;}}return result;};return walk(this);};Node.prototype.remove=function remove(){var parent=this.parent;if(parent){parent.removeChild(this);}};Node.prototype.insertChild=function insertChild(child,index,batch){if(!child)throw new Error('insertChild error: child is required.');if(!(child instanceof Node)){if(!batch){var children=this.getChildren(true)||[];if(children.indexOf(child.data)===-1){if(typeof index==='undefined'||index<0){children.push(child.data);}else{children.splice(index,0,child.data);}}}merge_default()(child,{parent:this,store:this.store});child=new Node(child);}child.level=this.level+1;if(typeof index==='undefined'||index<0){this.childNodes.push(child);}else{this.childNodes.splice(index,0,child);}this.updateLeafState();};Node.prototype.insertBefore=function insertBefore(child,ref){var index=void 0;if(ref){index=this.childNodes.indexOf(ref);}this.insertChild(child,index);};Node.prototype.insertAfter=function insertAfter(child,ref){var index=void 0;if(ref){index=this.childNodes.indexOf(ref);if(index!==-1)index+=1;}this.insertChild(child,index);};Node.prototype.removeChild=function removeChild(child){var children=this.getChildren()||[];var dataIndex=children.indexOf(child.data);if(dataIndex>-1){children.splice(dataIndex,1);}var index=this.childNodes.indexOf(child);if(index>-1){this.store&&this.store.deregisterNode(child);child.parent=null;this.childNodes.splice(index,1);}this.updateLeafState();};Node.prototype.removeChildByData=function removeChildByData(data){var targetNode=null;for(var i=0;i<this.childNodes.length;i++){if(this.childNodes[i].data===data){targetNode=this.childNodes[i];break;}}if(targetNode){this.removeChild(targetNode);}};Node.prototype.expand=function expand(callback,expandParent){var _this=this;var done=function done(){if(expandParent){var parent=_this.parent;while(parent.level>0){parent.expanded=true;parent=parent.parent;}}_this.expanded=true;if(callback)callback();};if(this.shouldLoadData()){this.loadData(function(data){if(data instanceof Array){if(_this.checked){_this.setChecked(true,true);}else if(!_this.store.checkStrictly){reInitChecked(_this);}done();}});}else{done();}};Node.prototype.doCreateChildren=function doCreateChildren(array){var _this2=this;var defaultProps=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};array.forEach(function(item){_this2.insertChild(merge_default()({data:item},defaultProps),undefined,true);});};Node.prototype.collapse=function collapse(){this.expanded=false;};Node.prototype.shouldLoadData=function shouldLoadData(){return this.store.lazy===true&&this.store.load&&!this.loaded;};Node.prototype.updateLeafState=function updateLeafState(){if(this.store.lazy===true&&this.loaded!==true&&typeof this.isLeafByUser!=='undefined'){this.isLeaf=this.isLeafByUser;return;}var childNodes=this.childNodes;if(!this.store.lazy||this.store.lazy===true&&this.loaded===true){this.isLeaf=!childNodes||childNodes.length===0;return;}this.isLeaf=false;};Node.prototype.setChecked=function setChecked(value,deep,recursion,passValue){var _this3=this;this.indeterminate=value==='half';this.checked=value===true;if(this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){var _getChildState2=getChildState(this.childNodes),all=_getChildState2.all,allWithoutDisable=_getChildState2.allWithoutDisable;if(!this.isLeaf&&!all&&allWithoutDisable){this.checked=false;value=false;}var handleDescendants=function handleDescendants(){if(deep){var childNodes=_this3.childNodes;for(var i=0,j=childNodes.length;i<j;i++){var child=childNodes[i];passValue=passValue||value!==false;var isCheck=child.disabled?child.checked:passValue;child.setChecked(isCheck,deep,true,passValue);}var _getChildState3=getChildState(childNodes),half=_getChildState3.half,_all=_getChildState3.all;if(!_all){_this3.checked=_all;_this3.indeterminate=half;}}};if(this.shouldLoadData()){// Only work on lazy load data.\nthis.loadData(function(){handleDescendants();reInitChecked(_this3);},{checked:value!==false});return;}else{handleDescendants();}}var parent=this.parent;if(!parent||parent.level===0)return;if(!recursion){reInitChecked(parent);}};Node.prototype.getChildren=function getChildren(){var forceInit=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;// this is data\nif(this.level===0)return this.data;var data=this.data;if(!data)return null;var props=this.store.props;var children='children';if(props){children=props.children||'children';}if(data[children]===undefined){data[children]=null;}if(forceInit&&!data[children]){data[children]=[];}return data[children];};Node.prototype.updateChildren=function updateChildren(){var _this4=this;var newData=this.getChildren()||[];var oldData=this.childNodes.map(function(node){return node.data;});var newDataMap={};var newNodes=[];newData.forEach(function(item,index){var key=item[NODE_KEY];var isNodeExists=!!key&&Object(util_[\"arrayFindIndex\"])(oldData,function(data){return data[NODE_KEY]===key;})>=0;if(isNodeExists){newDataMap[key]={index:index,data:item};}else{newNodes.push({index:index,data:item});}});if(!this.store.lazy){oldData.forEach(function(item){if(!newDataMap[item[NODE_KEY]])_this4.removeChildByData(item);});}newNodes.forEach(function(_ref){var index=_ref.index,data=_ref.data;_this4.insertChild({data:data},index);});this.updateLeafState();};Node.prototype.loadData=function loadData(callback){var _this5=this;var defaultProps=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(this.store.lazy===true&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(defaultProps).length)){this.loading=true;var resolve=function resolve(children){_this5.loaded=true;_this5.loading=false;_this5.childNodes=[];_this5.doCreateChildren(children,defaultProps);_this5.updateLeafState();if(callback){callback.call(_this5,children);}};this.store.load(this,resolve);}else{if(callback){callback.call(this);}}};_createClass(Node,[{key:'label',get:function get(){return getPropertyFromData(this,'label');}},{key:'key',get:function get(){var nodeKey=this.store.key;if(this.data)return this.data[nodeKey];return null;}},{key:'disabled',get:function get(){return getPropertyFromData(this,'disabled');}},{key:'nextSibling',get:function get(){var parent=this.parent;if(parent){var index=parent.childNodes.indexOf(this);if(index>-1){return parent.childNodes[index+1];}}return null;}},{key:'previousSibling',get:function get(){var parent=this.parent;if(parent){var index=parent.childNodes.indexOf(this);if(index>-1){return index>0?parent.childNodes[index-1]:null;}}return null;}}]);return Node;}();/* harmony default export */var model_node=node_Node;// CONCATENATED MODULE: ./packages/tree/src/model/tree-store.js\nvar tree_store_typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};function tree_store_classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var tree_store_TreeStore=function(){function TreeStore(options){var _this=this;tree_store_classCallCheck(this,TreeStore);this.currentNode=null;this.currentNodeKey=null;for(var option in options){if(options.hasOwnProperty(option)){this[option]=options[option];}}this.nodesMap={};this.root=new model_node({data:this.data,store:this});if(this.lazy&&this.load){var loadFn=this.load;loadFn(this.root,function(data){_this.root.doCreateChildren(data);_this._initDefaultCheckedNodes();});}else{this._initDefaultCheckedNodes();}}TreeStore.prototype.filter=function filter(value){var filterNodeMethod=this.filterNodeMethod;var lazy=this.lazy;var traverse=function traverse(node){var childNodes=node.root?node.root.childNodes:node.childNodes;childNodes.forEach(function(child){child.visible=filterNodeMethod.call(child,value,child.data,child);traverse(child);});if(!node.visible&&childNodes.length){var allHidden=true;allHidden=!childNodes.some(function(child){return child.visible;});if(node.root){node.root.visible=allHidden===false;}else{node.visible=allHidden===false;}}if(!value)return;if(node.visible&&!node.isLeaf&&!lazy)node.expand();};traverse(this);};TreeStore.prototype.setData=function setData(newVal){var instanceChanged=newVal!==this.root.data;if(instanceChanged){this.root.setData(newVal);this._initDefaultCheckedNodes();}else{this.root.updateChildren();}};TreeStore.prototype.getNode=function getNode(data){if(data instanceof model_node)return data;var key=(typeof data==='undefined'?'undefined':tree_store_typeof(data))!=='object'?data:util_getNodeKey(this.key,data);return this.nodesMap[key]||null;};TreeStore.prototype.insertBefore=function insertBefore(data,refData){var refNode=this.getNode(refData);refNode.parent.insertBefore({data:data},refNode);};TreeStore.prototype.insertAfter=function insertAfter(data,refData){var refNode=this.getNode(refData);refNode.parent.insertAfter({data:data},refNode);};TreeStore.prototype.remove=function remove(data){var node=this.getNode(data);if(node&&node.parent){if(node===this.currentNode){this.currentNode=null;}node.parent.removeChild(node);}};TreeStore.prototype.append=function append(data,parentData){var parentNode=parentData?this.getNode(parentData):this.root;if(parentNode){parentNode.insertChild({data:data});}};TreeStore.prototype._initDefaultCheckedNodes=function _initDefaultCheckedNodes(){var _this2=this;var defaultCheckedKeys=this.defaultCheckedKeys||[];var nodesMap=this.nodesMap;defaultCheckedKeys.forEach(function(checkedKey){var node=nodesMap[checkedKey];if(node){node.setChecked(true,!_this2.checkStrictly);}});};TreeStore.prototype._initDefaultCheckedNode=function _initDefaultCheckedNode(node){var defaultCheckedKeys=this.defaultCheckedKeys||[];if(defaultCheckedKeys.indexOf(node.key)!==-1){node.setChecked(true,!this.checkStrictly);}};TreeStore.prototype.setDefaultCheckedKey=function setDefaultCheckedKey(newVal){if(newVal!==this.defaultCheckedKeys){this.defaultCheckedKeys=newVal;this._initDefaultCheckedNodes();}};TreeStore.prototype.registerNode=function registerNode(node){var key=this.key;if(!key||!node||!node.data)return;var nodeKey=node.key;if(nodeKey!==undefined)this.nodesMap[node.key]=node;};TreeStore.prototype.deregisterNode=function deregisterNode(node){var _this3=this;var key=this.key;if(!key||!node||!node.data)return;node.childNodes.forEach(function(child){_this3.deregisterNode(child);});delete this.nodesMap[node.key];};TreeStore.prototype.getCheckedNodes=function getCheckedNodes(){var leafOnly=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var includeHalfChecked=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var checkedNodes=[];var traverse=function traverse(node){var childNodes=node.root?node.root.childNodes:node.childNodes;childNodes.forEach(function(child){if((child.checked||includeHalfChecked&&child.indeterminate)&&(!leafOnly||leafOnly&&child.isLeaf)){checkedNodes.push(child.data);}traverse(child);});};traverse(this);return checkedNodes;};TreeStore.prototype.getCheckedKeys=function getCheckedKeys(){var _this4=this;var leafOnly=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return this.getCheckedNodes(leafOnly).map(function(data){return(data||{})[_this4.key];});};TreeStore.prototype.getHalfCheckedNodes=function getHalfCheckedNodes(){var nodes=[];var traverse=function traverse(node){var childNodes=node.root?node.root.childNodes:node.childNodes;childNodes.forEach(function(child){if(child.indeterminate){nodes.push(child.data);}traverse(child);});};traverse(this);return nodes;};TreeStore.prototype.getHalfCheckedKeys=function getHalfCheckedKeys(){var _this5=this;return this.getHalfCheckedNodes().map(function(data){return(data||{})[_this5.key];});};TreeStore.prototype._getAllNodes=function _getAllNodes(){var allNodes=[];var nodesMap=this.nodesMap;for(var nodeKey in nodesMap){if(nodesMap.hasOwnProperty(nodeKey)){allNodes.push(nodesMap[nodeKey]);}}return allNodes;};TreeStore.prototype.updateChildren=function updateChildren(key,data){var node=this.nodesMap[key];if(!node)return;var childNodes=node.childNodes;for(var i=childNodes.length-1;i>=0;i--){var child=childNodes[i];this.remove(child.data);}for(var _i=0,j=data.length;_i<j;_i++){var _child=data[_i];this.append(_child,node.data);}};TreeStore.prototype._setCheckedKeys=function _setCheckedKeys(key){var leafOnly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var checkedKeys=arguments[2];var allNodes=this._getAllNodes().sort(function(a,b){return b.level-a.level;});var cache=Object.create(null);var keys=Object.keys(checkedKeys);allNodes.forEach(function(node){return node.setChecked(false,false);});for(var i=0,j=allNodes.length;i<j;i++){var node=allNodes[i];var nodeKey=node.data[key].toString();var checked=keys.indexOf(nodeKey)>-1;if(!checked){if(node.checked&&!cache[nodeKey]){node.setChecked(false,false);}continue;}var parent=node.parent;while(parent&&parent.level>0){cache[parent.data[key]]=true;parent=parent.parent;}if(node.isLeaf||this.checkStrictly){node.setChecked(true,false);continue;}node.setChecked(true,true);if(leafOnly){(function(){node.setChecked(false,false);var traverse=function traverse(node){var childNodes=node.childNodes;childNodes.forEach(function(child){if(!child.isLeaf){child.setChecked(false,false);}traverse(child);});};traverse(node);})();}}};TreeStore.prototype.setCheckedNodes=function setCheckedNodes(array){var leafOnly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var key=this.key;var checkedKeys={};array.forEach(function(item){checkedKeys[(item||{})[key]]=true;});this._setCheckedKeys(key,leafOnly,checkedKeys);};TreeStore.prototype.setCheckedKeys=function setCheckedKeys(keys){var leafOnly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;this.defaultCheckedKeys=keys;var key=this.key;var checkedKeys={};keys.forEach(function(key){checkedKeys[key]=true;});this._setCheckedKeys(key,leafOnly,checkedKeys);};TreeStore.prototype.setDefaultExpandedKeys=function setDefaultExpandedKeys(keys){var _this6=this;keys=keys||[];this.defaultExpandedKeys=keys;keys.forEach(function(key){var node=_this6.getNode(key);if(node)node.expand(null,_this6.autoExpandParent);});};TreeStore.prototype.setChecked=function setChecked(data,checked,deep){var node=this.getNode(data);if(node){node.setChecked(!!checked,deep);}};TreeStore.prototype.getCurrentNode=function getCurrentNode(){return this.currentNode;};TreeStore.prototype.setCurrentNode=function setCurrentNode(currentNode){var prevCurrentNode=this.currentNode;if(prevCurrentNode){prevCurrentNode.isCurrent=false;}this.currentNode=currentNode;this.currentNode.isCurrent=true;};TreeStore.prototype.setUserCurrentNode=function setUserCurrentNode(node){var key=node[this.key];var currNode=this.nodesMap[key];this.setCurrentNode(currNode);};TreeStore.prototype.setCurrentNodeKey=function setCurrentNodeKey(key){if(key===null||key===undefined){this.currentNode&&(this.currentNode.isCurrent=false);this.currentNode=null;return;}var node=this.getNode(key);if(node){this.setCurrentNode(node);}};return TreeStore;}();/* harmony default export */var tree_store=tree_store_TreeStore;;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e&\nvar tree_nodevue_type_template_id_3ba3ef0e_render=function tree_nodevue_type_template_id_3ba3ef0e_render(){var this$1=this;var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.node.visible,expression:\"node.visible\"}],ref:\"node\",staticClass:\"el-tree-node\",class:{\"is-expanded\":_vm.expanded,\"is-current\":_vm.node.isCurrent,\"is-hidden\":!_vm.node.visible,\"is-focusable\":!_vm.node.disabled,\"is-checked\":!_vm.node.disabled&&_vm.node.checked},attrs:{role:\"treeitem\",tabindex:\"-1\",\"aria-expanded\":_vm.expanded,\"aria-disabled\":_vm.node.disabled,\"aria-checked\":_vm.node.checked,draggable:_vm.tree.draggable},on:{click:function click($event){$event.stopPropagation();return _vm.handleClick($event);},contextmenu:function contextmenu($event){return this$1.handleContextMenu($event);},dragstart:function dragstart($event){$event.stopPropagation();return _vm.handleDragStart($event);},dragover:function dragover($event){$event.stopPropagation();return _vm.handleDragOver($event);},dragend:function dragend($event){$event.stopPropagation();return _vm.handleDragEnd($event);},drop:function drop($event){$event.stopPropagation();return _vm.handleDrop($event);}}},[_c(\"div\",{staticClass:\"el-tree-node__content\",style:{\"padding-left\":(_vm.node.level-1)*_vm.tree.indent+\"px\"}},[_c(\"span\",{class:[{\"is-leaf\":_vm.node.isLeaf,expanded:!_vm.node.isLeaf&&_vm.expanded},\"el-tree-node__expand-icon\",_vm.tree.iconClass?_vm.tree.iconClass:\"el-icon-caret-right\"],on:{click:function click($event){$event.stopPropagation();return _vm.handleExpandIconClick($event);}}}),_vm.showCheckbox?_c(\"el-checkbox\",{attrs:{indeterminate:_vm.node.indeterminate,disabled:!!_vm.node.disabled},on:{change:_vm.handleCheckChange},nativeOn:{click:function click($event){$event.stopPropagation();}},model:{value:_vm.node.checked,callback:function callback($$v){_vm.$set(_vm.node,\"checked\",$$v);},expression:\"node.checked\"}}):_vm._e(),_vm.node.loading?_c(\"span\",{staticClass:\"el-tree-node__loading-icon el-icon-loading\"}):_vm._e(),_c(\"node-content\",{attrs:{node:_vm.node}})],1),_c(\"el-collapse-transition\",[!_vm.renderAfterExpand||_vm.childNodeRendered?_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.expanded,expression:\"expanded\"}],staticClass:\"el-tree-node__children\",attrs:{role:\"group\",\"aria-expanded\":_vm.expanded}},_vm._l(_vm.node.childNodes,function(child){return _c(\"el-tree-node\",{key:_vm.getNodeKey(child),attrs:{\"render-content\":_vm.renderContent,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,node:child},on:{\"node-expand\":_vm.handleChildNodeExpand}});}),1):_vm._e()])],1);};var tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns=[];tree_nodevue_type_template_id_3ba3ef0e_render._withStripped=true;// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var tree_nodevue_type_script_lang_js_={name:'ElTreeNode',componentName:'ElTreeNode',mixins:[emitter_default.a],props:{node:{default:function _default(){return{};}},props:{},renderContent:Function,renderAfterExpand:{type:Boolean,default:true},showCheckbox:{type:Boolean,default:false}},components:{ElCollapseTransition:collapse_transition_default.a,ElCheckbox:checkbox_default.a,NodeContent:{props:{node:{required:true}},render:function render(h){var parent=this.$parent;var tree=parent.tree;var node=this.node;var data=node.data,store=node.store;return parent.renderContent?parent.renderContent.call(parent._renderProxy,h,{_self:tree.$vnode.context,node:node,data:data,store:store}):tree.$scopedSlots.default?tree.$scopedSlots.default({node:node,data:data}):h('span',{'class':'el-tree-node__label'},[node.label]);}}},data:function data(){return{tree:null,expanded:false,childNodeRendered:false,oldChecked:null,oldIndeterminate:null};},watch:{'node.indeterminate':function nodeIndeterminate(val){this.handleSelectChange(this.node.checked,val);},'node.checked':function nodeChecked(val){this.handleSelectChange(val,this.node.indeterminate);},'node.expanded':function nodeExpanded(val){var _this=this;this.$nextTick(function(){return _this.expanded=val;});if(val){this.childNodeRendered=true;}}},methods:{getNodeKey:function getNodeKey(node){return util_getNodeKey(this.tree.nodeKey,node.data);},handleSelectChange:function handleSelectChange(checked,indeterminate){if(this.oldChecked!==checked&&this.oldIndeterminate!==indeterminate){this.tree.$emit('check-change',this.node.data,checked,indeterminate);}this.oldChecked=checked;this.indeterminate=indeterminate;},handleClick:function handleClick(){var store=this.tree.store;store.setCurrentNode(this.node);this.tree.$emit('current-change',store.currentNode?store.currentNode.data:null,store.currentNode);this.tree.currentNode=this;if(this.tree.expandOnClickNode){this.handleExpandIconClick();}if(this.tree.checkOnClickNode&&!this.node.disabled){this.handleCheckChange(null,{target:{checked:!this.node.checked}});}this.tree.$emit('node-click',this.node.data,this.node,this);},handleContextMenu:function handleContextMenu(event){if(this.tree._events['node-contextmenu']&&this.tree._events['node-contextmenu'].length>0){event.stopPropagation();event.preventDefault();}this.tree.$emit('node-contextmenu',event,this.node.data,this.node,this);},handleExpandIconClick:function handleExpandIconClick(){if(this.node.isLeaf)return;if(this.expanded){this.tree.$emit('node-collapse',this.node.data,this.node,this);this.node.collapse();}else{this.node.expand();this.$emit('node-expand',this.node.data,this.node,this);}},handleCheckChange:function handleCheckChange(value,ev){var _this2=this;this.node.setChecked(ev.target.checked,!this.tree.checkStrictly);this.$nextTick(function(){var store=_this2.tree.store;_this2.tree.$emit('check',_this2.node.data,{checkedNodes:store.getCheckedNodes(),checkedKeys:store.getCheckedKeys(),halfCheckedNodes:store.getHalfCheckedNodes(),halfCheckedKeys:store.getHalfCheckedKeys()});});},handleChildNodeExpand:function handleChildNodeExpand(nodeData,node,instance){this.broadcast('ElTreeNode','tree-node-expand',node);this.tree.$emit('node-expand',nodeData,node,instance);},handleDragStart:function handleDragStart(event){if(!this.tree.draggable)return;this.tree.$emit('tree-node-drag-start',event,this);},handleDragOver:function handleDragOver(event){if(!this.tree.draggable)return;this.tree.$emit('tree-node-drag-over',event,this);event.preventDefault();},handleDrop:function handleDrop(event){event.preventDefault();},handleDragEnd:function handleDragEnd(event){if(!this.tree.draggable)return;this.tree.$emit('tree-node-drag-end',event,this);}},created:function created(){var _this3=this;var parent=this.$parent;if(parent.isTree){this.tree=parent;}else{this.tree=parent.tree;}var tree=this.tree;if(!tree){console.warn('Can not find node\\'s tree.');}var props=tree.props||{};var childrenKey=props['children']||'children';this.$watch('node.data.'+childrenKey,function(){_this3.node.updateChildren();});if(this.node.expanded){this.expanded=true;this.childNodeRendered=true;}if(this.tree.accordion){this.$on('tree-node-expand',function(node){if(_this3.node!==node){_this3.node.collapse();}});}}};// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=script&lang=js&\n/* harmony default export */var src_tree_nodevue_type_script_lang_js_=tree_nodevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue\n/* normalize component */var tree_node_component=normalizeComponent(src_tree_nodevue_type_script_lang_js_,tree_nodevue_type_template_id_3ba3ef0e_render,tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tree_node_api; }tree_node_component.options.__file=\"packages/tree/src/tree-node.vue\";/* harmony default export */var tree_node=tree_node_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var treevue_type_script_lang_js_={name:'ElTree',mixins:[emitter_default.a],components:{ElTreeNode:tree_node},data:function data(){return{store:null,root:null,currentNode:null,treeItems:null,checkboxItems:[],dragState:{showDropIndicator:false,draggingNode:null,dropNode:null,allowDrop:true}};},props:{data:{type:Array},emptyText:{type:String,default:function _default(){return Object(lib_locale_[\"t\"])('el.tree.emptyText');}},renderAfterExpand:{type:Boolean,default:true},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:true},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:false},autoExpandParent:{type:Boolean,default:true},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:false},draggable:{type:Boolean,default:false},allowDrag:Function,allowDrop:Function,props:{default:function _default(){return{children:'children',label:'label',disabled:'disabled'};}},lazy:{type:Boolean,default:false},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},iconClass:String},computed:{children:{set:function set(value){this.data=value;},get:function get(){return this.data;}},treeItemArray:function treeItemArray(){return Array.prototype.slice.call(this.treeItems);},isEmpty:function isEmpty(){var childNodes=this.root.childNodes;return!childNodes||childNodes.length===0||childNodes.every(function(_ref){var visible=_ref.visible;return!visible;});}},watch:{defaultCheckedKeys:function defaultCheckedKeys(newVal){this.store.setDefaultCheckedKey(newVal);},defaultExpandedKeys:function defaultExpandedKeys(newVal){this.store.defaultExpandedKeys=newVal;this.store.setDefaultExpandedKeys(newVal);},data:function data(newVal){this.store.setData(newVal);},checkboxItems:function checkboxItems(val){Array.prototype.forEach.call(val,function(checkbox){checkbox.setAttribute('tabindex',-1);});},checkStrictly:function checkStrictly(newVal){this.store.checkStrictly=newVal;}},methods:{filter:function filter(value){if(!this.filterNodeMethod)throw new Error('[Tree] filterNodeMethod is required when filter');this.store.filter(value);},getNodeKey:function getNodeKey(node){return util_getNodeKey(this.nodeKey,node.data);},getNodePath:function getNodePath(data){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in getNodePath');var node=this.store.getNode(data);if(!node)return[];var path=[node.data];var parent=node.parent;while(parent&&parent!==this.root){path.push(parent.data);parent=parent.parent;}return path.reverse();},getCheckedNodes:function getCheckedNodes(leafOnly,includeHalfChecked){return this.store.getCheckedNodes(leafOnly,includeHalfChecked);},getCheckedKeys:function getCheckedKeys(leafOnly){return this.store.getCheckedKeys(leafOnly);},getCurrentNode:function getCurrentNode(){var currentNode=this.store.getCurrentNode();return currentNode?currentNode.data:null;},getCurrentKey:function getCurrentKey(){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in getCurrentKey');var currentNode=this.getCurrentNode();return currentNode?currentNode[this.nodeKey]:null;},setCheckedNodes:function setCheckedNodes(nodes,leafOnly){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in setCheckedNodes');this.store.setCheckedNodes(nodes,leafOnly);},setCheckedKeys:function setCheckedKeys(keys,leafOnly){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in setCheckedKeys');this.store.setCheckedKeys(keys,leafOnly);},setChecked:function setChecked(data,checked,deep){this.store.setChecked(data,checked,deep);},getHalfCheckedNodes:function getHalfCheckedNodes(){return this.store.getHalfCheckedNodes();},getHalfCheckedKeys:function getHalfCheckedKeys(){return this.store.getHalfCheckedKeys();},setCurrentNode:function setCurrentNode(node){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in setCurrentNode');this.store.setUserCurrentNode(node);},setCurrentKey:function setCurrentKey(key){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in setCurrentKey');this.store.setCurrentNodeKey(key);},getNode:function getNode(data){return this.store.getNode(data);},remove:function remove(data){this.store.remove(data);},append:function append(data,parentNode){this.store.append(data,parentNode);},insertBefore:function insertBefore(data,refNode){this.store.insertBefore(data,refNode);},insertAfter:function insertAfter(data,refNode){this.store.insertAfter(data,refNode);},handleNodeExpand:function handleNodeExpand(nodeData,node,instance){this.broadcast('ElTreeNode','tree-node-expand',node);this.$emit('node-expand',nodeData,node,instance);},updateKeyChildren:function updateKeyChildren(key,data){if(!this.nodeKey)throw new Error('[Tree] nodeKey is required in updateKeyChild');this.store.updateChildren(key,data);},initTabIndex:function initTabIndex(){this.treeItems=this.$el.querySelectorAll('.is-focusable[role=treeitem]');this.checkboxItems=this.$el.querySelectorAll('input[type=checkbox]');var checkedItem=this.$el.querySelectorAll('.is-checked[role=treeitem]');if(checkedItem.length){checkedItem[0].setAttribute('tabindex',0);return;}this.treeItems[0]&&this.treeItems[0].setAttribute('tabindex',0);},handleKeydown:function handleKeydown(ev){var currentItem=ev.target;if(currentItem.className.indexOf('el-tree-node')===-1)return;var keyCode=ev.keyCode;this.treeItems=this.$el.querySelectorAll('.is-focusable[role=treeitem]');var currentIndex=this.treeItemArray.indexOf(currentItem);var nextIndex=void 0;if([38,40].indexOf(keyCode)>-1){// up、down\nev.preventDefault();if(keyCode===38){// up\nnextIndex=currentIndex!==0?currentIndex-1:0;}else{nextIndex=currentIndex<this.treeItemArray.length-1?currentIndex+1:0;}this.treeItemArray[nextIndex].focus();// 选中\n}if([37,39].indexOf(keyCode)>-1){// left、right 展开\nev.preventDefault();currentItem.click();// 选中\n}var hasInput=currentItem.querySelector('[type=\"checkbox\"]');if([13,32].indexOf(keyCode)>-1&&hasInput){// space enter选中checkbox\nev.preventDefault();hasInput.click();}}},created:function created(){var _this=this;this.isTree=true;this.store=new tree_store({key:this.nodeKey,data:this.data,lazy:this.lazy,props:this.props,load:this.load,currentNodeKey:this.currentNodeKey,checkStrictly:this.checkStrictly,checkDescendants:this.checkDescendants,defaultCheckedKeys:this.defaultCheckedKeys,defaultExpandedKeys:this.defaultExpandedKeys,autoExpandParent:this.autoExpandParent,defaultExpandAll:this.defaultExpandAll,filterNodeMethod:this.filterNodeMethod});this.root=this.store.root;var dragState=this.dragState;this.$on('tree-node-drag-start',function(event,treeNode){if(typeof _this.allowDrag==='function'&&!_this.allowDrag(treeNode.node)){event.preventDefault();return false;}event.dataTransfer.effectAllowed='move';// wrap in try catch to address IE's error when first param is 'text/plain'\ntry{// setData is required for draggable to work in FireFox\n// the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\nevent.dataTransfer.setData('text/plain','');}catch(e){}dragState.draggingNode=treeNode;_this.$emit('node-drag-start',treeNode.node,event);});this.$on('tree-node-drag-over',function(event,treeNode){var dropNode=findNearestComponent(event.target,'ElTreeNode');var oldDropNode=dragState.dropNode;if(oldDropNode&&oldDropNode!==dropNode){Object(dom_[\"removeClass\"])(oldDropNode.$el,'is-drop-inner');}var draggingNode=dragState.draggingNode;if(!draggingNode||!dropNode)return;var dropPrev=true;var dropInner=true;var dropNext=true;var userAllowDropInner=true;if(typeof _this.allowDrop==='function'){dropPrev=_this.allowDrop(draggingNode.node,dropNode.node,'prev');userAllowDropInner=dropInner=_this.allowDrop(draggingNode.node,dropNode.node,'inner');dropNext=_this.allowDrop(draggingNode.node,dropNode.node,'next');}event.dataTransfer.dropEffect=dropInner?'move':'none';if((dropPrev||dropInner||dropNext)&&oldDropNode!==dropNode){if(oldDropNode){_this.$emit('node-drag-leave',draggingNode.node,oldDropNode.node,event);}_this.$emit('node-drag-enter',draggingNode.node,dropNode.node,event);}if(dropPrev||dropInner||dropNext){dragState.dropNode=dropNode;}if(dropNode.node.nextSibling===draggingNode.node){dropNext=false;}if(dropNode.node.previousSibling===draggingNode.node){dropPrev=false;}if(dropNode.node.contains(draggingNode.node,false)){dropInner=false;}if(draggingNode.node===dropNode.node||draggingNode.node.contains(dropNode.node)){dropPrev=false;dropInner=false;dropNext=false;}var targetPosition=dropNode.$el.getBoundingClientRect();var treePosition=_this.$el.getBoundingClientRect();var dropType=void 0;var prevPercent=dropPrev?dropInner?0.25:dropNext?0.45:1:-1;var nextPercent=dropNext?dropInner?0.75:dropPrev?0.55:0:1;var indicatorTop=-9999;var distance=event.clientY-targetPosition.top;if(distance<targetPosition.height*prevPercent){dropType='before';}else if(distance>targetPosition.height*nextPercent){dropType='after';}else if(dropInner){dropType='inner';}else{dropType='none';}var iconPosition=dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect();var dropIndicator=_this.$refs.dropIndicator;if(dropType==='before'){indicatorTop=iconPosition.top-treePosition.top;}else if(dropType==='after'){indicatorTop=iconPosition.bottom-treePosition.top;}dropIndicator.style.top=indicatorTop+'px';dropIndicator.style.left=iconPosition.right-treePosition.left+'px';if(dropType==='inner'){Object(dom_[\"addClass\"])(dropNode.$el,'is-drop-inner');}else{Object(dom_[\"removeClass\"])(dropNode.$el,'is-drop-inner');}dragState.showDropIndicator=dropType==='before'||dropType==='after';dragState.allowDrop=dragState.showDropIndicator||userAllowDropInner;dragState.dropType=dropType;_this.$emit('node-drag-over',draggingNode.node,dropNode.node,event);});this.$on('tree-node-drag-end',function(event){var draggingNode=dragState.draggingNode,dropType=dragState.dropType,dropNode=dragState.dropNode;event.preventDefault();event.dataTransfer.dropEffect='move';if(draggingNode&&dropNode){var draggingNodeCopy={data:draggingNode.node.data};if(dropType!=='none'){draggingNode.node.remove();}if(dropType==='before'){dropNode.node.parent.insertBefore(draggingNodeCopy,dropNode.node);}else if(dropType==='after'){dropNode.node.parent.insertAfter(draggingNodeCopy,dropNode.node);}else if(dropType==='inner'){dropNode.node.insertChild(draggingNodeCopy);}if(dropType!=='none'){_this.store.registerNode(draggingNodeCopy);}Object(dom_[\"removeClass\"])(dropNode.$el,'is-drop-inner');_this.$emit('node-drag-end',draggingNode.node,dropNode.node,dropType,event);if(dropType!=='none'){_this.$emit('node-drop',draggingNode.node,dropNode.node,dropType,event);}}if(draggingNode&&!dropNode){_this.$emit('node-drag-end',draggingNode.node,null,dropType,event);}dragState.showDropIndicator=false;dragState.draggingNode=null;dragState.dropNode=null;dragState.allowDrop=true;});},mounted:function mounted(){this.initTabIndex();this.$el.addEventListener('keydown',this.handleKeydown);},updated:function updated(){this.treeItems=this.$el.querySelectorAll('[role=treeitem]');this.checkboxItems=this.$el.querySelectorAll('input[type=checkbox]');}};// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=script&lang=js&\n/* harmony default export */var src_treevue_type_script_lang_js_=treevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/tree/src/tree.vue\n/* normalize component */var tree_component=normalizeComponent(src_treevue_type_script_lang_js_,treevue_type_template_id_547575a6_render,treevue_type_template_id_547575a6_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var tree_api; }tree_component.options.__file=\"packages/tree/src/tree.vue\";/* harmony default export */var src_tree=tree_component.exports;// CONCATENATED MODULE: ./packages/tree/index.js\n/* istanbul ignore next */src_tree.install=function(Vue){Vue.component(src_tree.name,src_tree);};/* harmony default export */var packages_tree=src_tree;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/alert/src/main.vue?vue&type=template&id=6e53341b&\nvar mainvue_type_template_id_6e53341b_render=function mainvue_type_template_id_6e53341b_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-alert-fade\"}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-alert\",class:[_vm.typeClass,_vm.center?\"is-center\":\"\",\"is-\"+_vm.effect],attrs:{role:\"alert\"}},[_vm.showIcon?_c(\"i\",{staticClass:\"el-alert__icon\",class:[_vm.iconClass,_vm.isBigIcon]}):_vm._e(),_c(\"div\",{staticClass:\"el-alert__content\"},[_vm.title||_vm.$slots.title?_c(\"span\",{staticClass:\"el-alert__title\",class:[_vm.isBoldTitle]},[_vm._t(\"title\",[_vm._v(_vm._s(_vm.title))])],2):_vm._e(),_vm.$slots.default&&!_vm.description?_c(\"p\",{staticClass:\"el-alert__description\"},[_vm._t(\"default\")],2):_vm._e(),_vm.description&&!_vm.$slots.default?_c(\"p\",{staticClass:\"el-alert__description\"},[_vm._v(_vm._s(_vm.description))]):_vm._e(),_c(\"i\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.closable,expression:\"closable\"}],staticClass:\"el-alert__closebtn\",class:{\"is-customed\":_vm.closeText!==\"\",\"el-icon-close\":_vm.closeText===\"\"},on:{click:function click($event){_vm.close();}}},[_vm._v(_vm._s(_vm.closeText))])])])]);};var mainvue_type_template_id_6e53341b_staticRenderFns=[];mainvue_type_template_id_6e53341b_render._withStripped=true;// CONCATENATED MODULE: ./packages/alert/src/main.vue?vue&type=template&id=6e53341b&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/alert/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar TYPE_CLASSES_MAP={'success':'el-icon-success','warning':'el-icon-warning','error':'el-icon-error'};/* harmony default export */var alert_src_mainvue_type_script_lang_js_={name:'ElAlert',props:{title:{type:String,default:''},description:{type:String,default:''},type:{type:String,default:'info'},closable:{type:Boolean,default:true},closeText:{type:String,default:''},showIcon:Boolean,center:Boolean,effect:{type:String,default:'light',validator:function validator(value){return['light','dark'].indexOf(value)!==-1;}}},data:function data(){return{visible:true};},methods:{close:function close(){this.visible=false;this.$emit('close');}},computed:{typeClass:function typeClass(){return'el-alert--'+this.type;},iconClass:function iconClass(){return TYPE_CLASSES_MAP[this.type]||'el-icon-info';},isBigIcon:function isBigIcon(){return this.description||this.$slots.default?'is-big':'';},isBoldTitle:function isBoldTitle(){return this.description||this.$slots.default?'is-bold':'';}}};// CONCATENATED MODULE: ./packages/alert/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_alert_src_mainvue_type_script_lang_js_=alert_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/alert/src/main.vue\n/* normalize component */var alert_src_main_component=normalizeComponent(packages_alert_src_mainvue_type_script_lang_js_,mainvue_type_template_id_6e53341b_render,mainvue_type_template_id_6e53341b_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var alert_src_main_api; }alert_src_main_component.options.__file=\"packages/alert/src/main.vue\";/* harmony default export */var alert_src_main=alert_src_main_component.exports;// CONCATENATED MODULE: ./packages/alert/index.js\n/* istanbul ignore next */alert_src_main.install=function(Vue){Vue.component(alert_src_main.name,alert_src_main);};/* harmony default export */var packages_alert=alert_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/notification/src/main.vue?vue&type=template&id=43dbc3d8&\nvar mainvue_type_template_id_43dbc3d8_render=function mainvue_type_template_id_43dbc3d8_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-notification-fade\"}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],class:[\"el-notification\",_vm.customClass,_vm.horizontalClass],style:_vm.positionStyle,attrs:{role:\"alert\"},on:{mouseenter:function mouseenter($event){_vm.clearTimer();},mouseleave:function mouseleave($event){_vm.startTimer();},click:_vm.click}},[_vm.type||_vm.iconClass?_c(\"i\",{staticClass:\"el-notification__icon\",class:[_vm.typeClass,_vm.iconClass]}):_vm._e(),_c(\"div\",{staticClass:\"el-notification__group\",class:{\"is-with-icon\":_vm.typeClass||_vm.iconClass}},[_c(\"h2\",{staticClass:\"el-notification__title\",domProps:{textContent:_vm._s(_vm.title)}}),_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.message,expression:\"message\"}],staticClass:\"el-notification__content\"},[_vm._t(\"default\",[!_vm.dangerouslyUseHTMLString?_c(\"p\",[_vm._v(_vm._s(_vm.message))]):_c(\"p\",{domProps:{innerHTML:_vm._s(_vm.message)}})])],2),_vm.showClose?_c(\"div\",{staticClass:\"el-notification__closeBtn el-icon-close\",on:{click:function click($event){$event.stopPropagation();return _vm.close($event);}}}):_vm._e()])])]);};var mainvue_type_template_id_43dbc3d8_staticRenderFns=[];mainvue_type_template_id_43dbc3d8_render._withStripped=true;// CONCATENATED MODULE: ./packages/notification/src/main.vue?vue&type=template&id=43dbc3d8&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/notification/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar mainvue_type_script_lang_js_typeMap={success:'success',info:'info',warning:'warning',error:'error'};/* harmony default export */var notification_src_mainvue_type_script_lang_js_={data:function data(){return{visible:false,title:'',message:'',duration:4500,type:'',showClose:true,customClass:'',iconClass:'',onClose:null,onClick:null,closed:false,verticalOffset:0,timer:null,dangerouslyUseHTMLString:false,position:'top-right'};},computed:{typeClass:function typeClass(){return this.type&&mainvue_type_script_lang_js_typeMap[this.type]?'el-icon-'+mainvue_type_script_lang_js_typeMap[this.type]:'';},horizontalClass:function horizontalClass(){return this.position.indexOf('right')>-1?'right':'left';},verticalProperty:function verticalProperty(){return /^top-/.test(this.position)?'top':'bottom';},positionStyle:function positionStyle(){var _ref;return _ref={},_ref[this.verticalProperty]=this.verticalOffset+'px',_ref;}},watch:{closed:function closed(newVal){if(newVal){this.visible=false;this.$el.addEventListener('transitionend',this.destroyElement);}}},methods:{destroyElement:function destroyElement(){this.$el.removeEventListener('transitionend',this.destroyElement);this.$destroy(true);this.$el.parentNode.removeChild(this.$el);},click:function click(){if(typeof this.onClick==='function'){this.onClick();}},close:function close(){this.closed=true;if(typeof this.onClose==='function'){this.onClose();}},clearTimer:function clearTimer(){clearTimeout(this.timer);},startTimer:function startTimer(){var _this=this;if(this.duration>0){this.timer=setTimeout(function(){if(!_this.closed){_this.close();}},this.duration);}},keydown:function keydown(e){if(e.keyCode===46||e.keyCode===8){this.clearTimer();// detele 取消倒计时\n}else if(e.keyCode===27){// esc关闭消息\nif(!this.closed){this.close();}}else{this.startTimer();// 恢复倒计时\n}}},mounted:function mounted(){var _this2=this;if(this.duration>0){this.timer=setTimeout(function(){if(!_this2.closed){_this2.close();}},this.duration);}document.addEventListener('keydown',this.keydown);},beforeDestroy:function beforeDestroy(){document.removeEventListener('keydown',this.keydown);}};// CONCATENATED MODULE: ./packages/notification/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_notification_src_mainvue_type_script_lang_js_=notification_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/notification/src/main.vue\n/* normalize component */var notification_src_main_component=normalizeComponent(packages_notification_src_mainvue_type_script_lang_js_,mainvue_type_template_id_43dbc3d8_render,mainvue_type_template_id_43dbc3d8_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var notification_src_main_api; }notification_src_main_component.options.__file=\"packages/notification/src/main.vue\";/* harmony default export */var notification_src_main=notification_src_main_component.exports;// CONCATENATED MODULE: ./packages/notification/src/main.js\nvar NotificationConstructor=external_vue_default.a.extend(notification_src_main);var src_main_instance=void 0;var instances=[];var seed=1;var main_Notification=function Notification(options){if(external_vue_default.a.prototype.$isServer)return;options=merge_default()({},options);var userOnClose=options.onClose;var id='notification_'+seed++;var position=options.position||'top-right';options.onClose=function(){Notification.close(id,userOnClose);};src_main_instance=new NotificationConstructor({data:options});if(Object(vdom_[\"isVNode\"])(options.message)){src_main_instance.$slots.default=[options.message];options.message='REPLACED_BY_VNODE';}src_main_instance.id=id;src_main_instance.$mount();document.body.appendChild(src_main_instance.$el);src_main_instance.visible=true;src_main_instance.dom=src_main_instance.$el;src_main_instance.dom.style.zIndex=popup_[\"PopupManager\"].nextZIndex();var verticalOffset=options.offset||0;instances.filter(function(item){return item.position===position;}).forEach(function(item){verticalOffset+=item.$el.offsetHeight+16;});verticalOffset+=16;src_main_instance.verticalOffset=verticalOffset;instances.push(src_main_instance);return src_main_instance;};['success','warning','info','error'].forEach(function(type){main_Notification[type]=function(options){if(typeof options==='string'||Object(vdom_[\"isVNode\"])(options)){options={message:options};}options.type=type;return main_Notification(options);};});main_Notification.close=function(id,userOnClose){var index=-1;var len=instances.length;var instance=instances.filter(function(instance,i){if(instance.id===id){index=i;return true;}return false;})[0];if(!instance)return;if(typeof userOnClose==='function'){userOnClose(instance);}instances.splice(index,1);if(len<=1)return;var position=instance.position;var removedHeight=instance.dom.offsetHeight;for(var i=index;i<len-1;i++){if(instances[i].position===position){instances[i].dom.style[instance.verticalProperty]=parseInt(instances[i].dom.style[instance.verticalProperty],10)-removedHeight-16+'px';}}};main_Notification.closeAll=function(){for(var i=instances.length-1;i>=0;i--){instances[i].close();}};/* harmony default export */var packages_notification_src_main=main_Notification;// CONCATENATED MODULE: ./packages/notification/index.js\n/* harmony default export */var notification=packages_notification_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=template&id=32708644&\nvar mainvue_type_template_id_32708644_render=function mainvue_type_template_id_32708644_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-slider\",class:{\"is-vertical\":_vm.vertical,\"el-slider--with-input\":_vm.showInput},attrs:{role:\"slider\",\"aria-valuemin\":_vm.min,\"aria-valuemax\":_vm.max,\"aria-orientation\":_vm.vertical?\"vertical\":\"horizontal\",\"aria-disabled\":_vm.sliderDisabled}},[_vm.showInput&&!_vm.range?_c(\"el-input-number\",{ref:\"input\",staticClass:\"el-slider__input\",attrs:{step:_vm.step,disabled:_vm.sliderDisabled,controls:_vm.showInputControls,min:_vm.min,max:_vm.max,debounce:_vm.debounce,size:_vm.inputSize},on:{change:_vm.emitChange},model:{value:_vm.firstValue,callback:function callback($$v){_vm.firstValue=$$v;},expression:\"firstValue\"}}):_vm._e(),_c(\"div\",{ref:\"slider\",staticClass:\"el-slider__runway\",class:{\"show-input\":_vm.showInput,disabled:_vm.sliderDisabled},style:_vm.runwayStyle,on:{click:_vm.onSliderClick}},[_c(\"div\",{staticClass:\"el-slider__bar\",style:_vm.barStyle}),_c(\"slider-button\",{ref:\"button1\",attrs:{vertical:_vm.vertical,\"tooltip-class\":_vm.tooltipClass},model:{value:_vm.firstValue,callback:function callback($$v){_vm.firstValue=$$v;},expression:\"firstValue\"}}),_vm.range?_c(\"slider-button\",{ref:\"button2\",attrs:{vertical:_vm.vertical,\"tooltip-class\":_vm.tooltipClass},model:{value:_vm.secondValue,callback:function callback($$v){_vm.secondValue=$$v;},expression:\"secondValue\"}}):_vm._e(),_vm._l(_vm.stops,function(item,key){return _vm.showStops?_c(\"div\",{key:key,staticClass:\"el-slider__stop\",style:_vm.getStopStyle(item)}):_vm._e();}),_vm.markList.length>0?[_c(\"div\",_vm._l(_vm.markList,function(item,key){return _c(\"div\",{key:key,staticClass:\"el-slider__stop el-slider__marks-stop\",style:_vm.getStopStyle(item.position)});}),0),_c(\"div\",{staticClass:\"el-slider__marks\"},_vm._l(_vm.markList,function(item,key){return _c(\"slider-marker\",{key:key,style:_vm.getStopStyle(item.position),attrs:{mark:item.mark}});}),1)]:_vm._e()],2)],1);};var mainvue_type_template_id_32708644_staticRenderFns=[];mainvue_type_template_id_32708644_render._withStripped=true;// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=template&id=32708644&\n// EXTERNAL MODULE: external \"element-ui/lib/input-number\"\nvar input_number_=__webpack_require__(41);var input_number_default=/*#__PURE__*/__webpack_require__.n(input_number_);// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2&\nvar buttonvue_type_template_id_e72d2ad2_render=function buttonvue_type_template_id_e72d2ad2_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{ref:\"button\",staticClass:\"el-slider__button-wrapper\",class:{hover:_vm.hovering,dragging:_vm.dragging},style:_vm.wrapperStyle,attrs:{tabindex:\"0\"},on:{mouseenter:_vm.handleMouseEnter,mouseleave:_vm.handleMouseLeave,mousedown:_vm.onButtonDown,touchstart:_vm.onButtonDown,focus:_vm.handleMouseEnter,blur:_vm.handleMouseLeave,keydown:[function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"])){return null;}if(\"button\"in $event&&$event.button!==0){return null;}return _vm.onLeftKeyDown($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"])){return null;}if(\"button\"in $event&&$event.button!==2){return null;}return _vm.onRightKeyDown($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){return null;}$event.preventDefault();return _vm.onLeftKeyDown($event);},function($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){return null;}$event.preventDefault();return _vm.onRightKeyDown($event);}]}},[_c(\"el-tooltip\",{ref:\"tooltip\",attrs:{placement:\"top\",\"popper-class\":_vm.tooltipClass,disabled:!_vm.showTooltip}},[_c(\"span\",{attrs:{slot:\"content\"},slot:\"content\"},[_vm._v(_vm._s(_vm.formatValue))]),_c(\"div\",{staticClass:\"el-slider__button\",class:{hover:_vm.hovering,dragging:_vm.dragging}})])],1);};var buttonvue_type_template_id_e72d2ad2_staticRenderFns=[];buttonvue_type_template_id_e72d2ad2_render._withStripped=true;// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var slider_src_buttonvue_type_script_lang_js_={name:'ElSliderButton',components:{ElTooltip:tooltip_default.a},props:{value:{type:Number,default:0},vertical:{type:Boolean,default:false},tooltipClass:String},data:function data(){return{hovering:false,dragging:false,isClick:false,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:null,oldValue:this.value};},computed:{disabled:function disabled(){return this.$parent.sliderDisabled;},max:function max(){return this.$parent.max;},min:function min(){return this.$parent.min;},step:function step(){return this.$parent.step;},showTooltip:function showTooltip(){return this.$parent.showTooltip;},precision:function precision(){return this.$parent.precision;},currentPosition:function currentPosition(){return(this.value-this.min)/(this.max-this.min)*100+'%';},enableFormat:function enableFormat(){return this.$parent.formatTooltip instanceof Function;},formatValue:function formatValue(){return this.enableFormat&&this.$parent.formatTooltip(this.value)||this.value;},wrapperStyle:function wrapperStyle(){return this.vertical?{bottom:this.currentPosition}:{left:this.currentPosition};}},watch:{dragging:function dragging(val){this.$parent.dragging=val;}},methods:{displayTooltip:function displayTooltip(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=true);},hideTooltip:function hideTooltip(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=false);},handleMouseEnter:function handleMouseEnter(){this.hovering=true;this.displayTooltip();},handleMouseLeave:function handleMouseLeave(){this.hovering=false;this.hideTooltip();},onButtonDown:function onButtonDown(event){if(this.disabled)return;event.preventDefault();this.onDragStart(event);window.addEventListener('mousemove',this.onDragging);window.addEventListener('touchmove',this.onDragging);window.addEventListener('mouseup',this.onDragEnd);window.addEventListener('touchend',this.onDragEnd);window.addEventListener('contextmenu',this.onDragEnd);},onLeftKeyDown:function onLeftKeyDown(){if(this.disabled)return;this.newPosition=parseFloat(this.currentPosition)-this.step/(this.max-this.min)*100;this.setPosition(this.newPosition);this.$parent.emitChange();},onRightKeyDown:function onRightKeyDown(){if(this.disabled)return;this.newPosition=parseFloat(this.currentPosition)+this.step/(this.max-this.min)*100;this.setPosition(this.newPosition);this.$parent.emitChange();},onDragStart:function onDragStart(event){this.dragging=true;this.isClick=true;if(event.type==='touchstart'){event.clientY=event.touches[0].clientY;event.clientX=event.touches[0].clientX;}if(this.vertical){this.startY=event.clientY;}else{this.startX=event.clientX;}this.startPosition=parseFloat(this.currentPosition);this.newPosition=this.startPosition;},onDragging:function onDragging(event){if(this.dragging){this.isClick=false;this.displayTooltip();this.$parent.resetSize();var diff=0;if(event.type==='touchmove'){event.clientY=event.touches[0].clientY;event.clientX=event.touches[0].clientX;}if(this.vertical){this.currentY=event.clientY;diff=(this.startY-this.currentY)/this.$parent.sliderSize*100;}else{this.currentX=event.clientX;diff=(this.currentX-this.startX)/this.$parent.sliderSize*100;}this.newPosition=this.startPosition+diff;this.setPosition(this.newPosition);}},onDragEnd:function onDragEnd(){var _this=this;if(this.dragging){/*\n         * 防止在 mouseup 后立即触发 click，导致滑块有几率产生一小段位移\n         * 不使用 preventDefault 是因为 mouseup 和 click 没有注册在同一个 DOM 上\n         */setTimeout(function(){_this.dragging=false;_this.hideTooltip();if(!_this.isClick){_this.setPosition(_this.newPosition);_this.$parent.emitChange();}},0);window.removeEventListener('mousemove',this.onDragging);window.removeEventListener('touchmove',this.onDragging);window.removeEventListener('mouseup',this.onDragEnd);window.removeEventListener('touchend',this.onDragEnd);window.removeEventListener('contextmenu',this.onDragEnd);}},setPosition:function setPosition(newPosition){var _this2=this;if(newPosition===null||isNaN(newPosition))return;if(newPosition<0){newPosition=0;}else if(newPosition>100){newPosition=100;}var lengthPerStep=100/((this.max-this.min)/this.step);var steps=Math.round(newPosition/lengthPerStep);var value=steps*lengthPerStep*(this.max-this.min)*0.01+this.min;value=parseFloat(value.toFixed(this.precision));this.$emit('input',value);this.$nextTick(function(){_this2.displayTooltip();_this2.$refs.tooltip&&_this2.$refs.tooltip.updatePopper();});if(!this.dragging&&this.value!==this.oldValue){this.oldValue=this.value;}}}};// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_slider_src_buttonvue_type_script_lang_js_=slider_src_buttonvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/slider/src/button.vue\n/* normalize component */var src_button_component=normalizeComponent(packages_slider_src_buttonvue_type_script_lang_js_,buttonvue_type_template_id_e72d2ad2_render,buttonvue_type_template_id_e72d2ad2_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var src_button_api; }src_button_component.options.__file=\"packages/slider/src/button.vue\";/* harmony default export */var slider_src_button=src_button_component.exports;// CONCATENATED MODULE: ./packages/slider/src/marker.js\n/* harmony default export */var marker={name:'ElMarker',props:{mark:{type:[String,Object]}},render:function render(){var h=arguments[0];var label=typeof this.mark==='string'?this.mark:this.mark.label;return h('div',{'class':'el-slider__marks-text',style:this.mark.style||{}},[label]);}};// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var slider_src_mainvue_type_script_lang_js_={name:'ElSlider',mixins:[emitter_default.a],inject:{elForm:{default:''}},props:{min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},value:{type:[Number,Array],default:0},showInput:{type:Boolean,default:false},showInputControls:{type:Boolean,default:true},inputSize:{type:String,default:'small'},showStops:{type:Boolean,default:false},showTooltip:{type:Boolean,default:true},formatTooltip:Function,disabled:{type:Boolean,default:false},range:{type:Boolean,default:false},vertical:{type:Boolean,default:false},height:{type:String},debounce:{type:Number,default:300},label:{type:String},tooltipClass:String,marks:Object},components:{ElInputNumber:input_number_default.a,SliderButton:slider_src_button,SliderMarker:marker},data:function data(){return{firstValue:null,secondValue:null,oldValue:null,dragging:false,sliderSize:1};},watch:{value:function value(val,oldVal){if(this.dragging||Array.isArray(val)&&Array.isArray(oldVal)&&val.every(function(item,index){return item===oldVal[index];})){return;}this.setValues();},dragging:function dragging(val){if(!val){this.setValues();}},firstValue:function firstValue(val){if(this.range){this.$emit('input',[this.minValue,this.maxValue]);}else{this.$emit('input',val);}},secondValue:function secondValue(){if(this.range){this.$emit('input',[this.minValue,this.maxValue]);}},min:function min(){this.setValues();},max:function max(){this.setValues();}},methods:{valueChanged:function valueChanged(){var _this=this;if(this.range){return![this.minValue,this.maxValue].every(function(item,index){return item===_this.oldValue[index];});}else{return this.value!==this.oldValue;}},setValues:function setValues(){if(this.min>this.max){console.error('[Element Error][Slider]min should not be greater than max.');return;}var val=this.value;if(this.range&&Array.isArray(val)){if(val[1]<this.min){this.$emit('input',[this.min,this.min]);}else if(val[0]>this.max){this.$emit('input',[this.max,this.max]);}else if(val[0]<this.min){this.$emit('input',[this.min,val[1]]);}else if(val[1]>this.max){this.$emit('input',[val[0],this.max]);}else{this.firstValue=val[0];this.secondValue=val[1];if(this.valueChanged()){this.dispatch('ElFormItem','el.form.change',[this.minValue,this.maxValue]);this.oldValue=val.slice();}}}else if(!this.range&&typeof val==='number'&&!isNaN(val)){if(val<this.min){this.$emit('input',this.min);}else if(val>this.max){this.$emit('input',this.max);}else{this.firstValue=val;if(this.valueChanged()){this.dispatch('ElFormItem','el.form.change',val);this.oldValue=val;}}}},setPosition:function setPosition(percent){var targetValue=this.min+percent*(this.max-this.min)/100;if(!this.range){this.$refs.button1.setPosition(percent);return;}var button=void 0;if(Math.abs(this.minValue-targetValue)<Math.abs(this.maxValue-targetValue)){button=this.firstValue<this.secondValue?'button1':'button2';}else{button=this.firstValue>this.secondValue?'button1':'button2';}this.$refs[button].setPosition(percent);},onSliderClick:function onSliderClick(event){if(this.sliderDisabled||this.dragging)return;this.resetSize();if(this.vertical){var sliderOffsetBottom=this.$refs.slider.getBoundingClientRect().bottom;this.setPosition((sliderOffsetBottom-event.clientY)/this.sliderSize*100);}else{var sliderOffsetLeft=this.$refs.slider.getBoundingClientRect().left;this.setPosition((event.clientX-sliderOffsetLeft)/this.sliderSize*100);}this.emitChange();},resetSize:function resetSize(){if(this.$refs.slider){this.sliderSize=this.$refs.slider['client'+(this.vertical?'Height':'Width')];}},emitChange:function emitChange(){var _this2=this;this.$nextTick(function(){_this2.$emit('change',_this2.range?[_this2.minValue,_this2.maxValue]:_this2.value);});},getStopStyle:function getStopStyle(position){return this.vertical?{'bottom':position+'%'}:{'left':position+'%'};}},computed:{stops:function stops(){var _this3=this;if(!this.showStops||this.min>this.max)return[];if(this.step===0){ false&&false;return[];}var stopCount=(this.max-this.min)/this.step;var stepWidth=100*this.step/(this.max-this.min);var result=[];for(var i=1;i<stopCount;i++){result.push(i*stepWidth);}if(this.range){return result.filter(function(step){return step<100*(_this3.minValue-_this3.min)/(_this3.max-_this3.min)||step>100*(_this3.maxValue-_this3.min)/(_this3.max-_this3.min);});}else{return result.filter(function(step){return step>100*(_this3.firstValue-_this3.min)/(_this3.max-_this3.min);});}},markList:function markList(){var _this4=this;if(!this.marks){return[];}var marksKeys=Object.keys(this.marks);return marksKeys.map(parseFloat).sort(function(a,b){return a-b;}).filter(function(point){return point<=_this4.max&&point>=_this4.min;}).map(function(point){return{point:point,position:(point-_this4.min)*100/(_this4.max-_this4.min),mark:_this4.marks[point]};});},minValue:function minValue(){return Math.min(this.firstValue,this.secondValue);},maxValue:function maxValue(){return Math.max(this.firstValue,this.secondValue);},barSize:function barSize(){return this.range?100*(this.maxValue-this.minValue)/(this.max-this.min)+'%':100*(this.firstValue-this.min)/(this.max-this.min)+'%';},barStart:function barStart(){return this.range?100*(this.minValue-this.min)/(this.max-this.min)+'%':'0%';},precision:function precision(){var precisions=[this.min,this.max,this.step].map(function(item){var decimal=(''+item).split('.')[1];return decimal?decimal.length:0;});return Math.max.apply(null,precisions);},runwayStyle:function runwayStyle(){return this.vertical?{height:this.height}:{};},barStyle:function barStyle(){return this.vertical?{height:this.barSize,bottom:this.barStart}:{width:this.barSize,left:this.barStart};},sliderDisabled:function sliderDisabled(){return this.disabled||(this.elForm||{}).disabled;}},mounted:function mounted(){var valuetext=void 0;if(this.range){if(Array.isArray(this.value)){this.firstValue=Math.max(this.min,this.value[0]);this.secondValue=Math.min(this.max,this.value[1]);}else{this.firstValue=this.min;this.secondValue=this.max;}this.oldValue=[this.firstValue,this.secondValue];valuetext=this.firstValue+'-'+this.secondValue;}else{if(typeof this.value!=='number'||isNaN(this.value)){this.firstValue=this.min;}else{this.firstValue=Math.min(this.max,Math.max(this.min,this.value));}this.oldValue=this.firstValue;valuetext=this.firstValue;}this.$el.setAttribute('aria-valuetext',valuetext);// label screen reader\nthis.$el.setAttribute('aria-label',this.label?this.label:'slider between '+this.min+' and '+this.max);this.resetSize();window.addEventListener('resize',this.resetSize);},beforeDestroy:function beforeDestroy(){window.removeEventListener('resize',this.resetSize);}};// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_slider_src_mainvue_type_script_lang_js_=slider_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/slider/src/main.vue\n/* normalize component */var slider_src_main_component=normalizeComponent(packages_slider_src_mainvue_type_script_lang_js_,mainvue_type_template_id_32708644_render,mainvue_type_template_id_32708644_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var slider_src_main_api; }slider_src_main_component.options.__file=\"packages/slider/src/main.vue\";/* harmony default export */var slider_src_main=slider_src_main_component.exports;// CONCATENATED MODULE: ./packages/slider/index.js\n/* istanbul ignore next */slider_src_main.install=function(Vue){Vue.component(slider_src_main.name,slider_src_main);};/* harmony default export */var slider=slider_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac&\nvar loadingvue_type_template_id_eee0a7ac_render=function loadingvue_type_template_id_eee0a7ac_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-loading-fade\"},on:{\"after-leave\":_vm.handleAfterLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-loading-mask\",class:[_vm.customClass,{\"is-fullscreen\":_vm.fullscreen}],style:{backgroundColor:_vm.background||\"\"}},[_c(\"div\",{staticClass:\"el-loading-spinner\"},[!_vm.spinner?_c(\"svg\",{staticClass:\"circular\",attrs:{viewBox:\"25 25 50 50\"}},[_c(\"circle\",{staticClass:\"path\",attrs:{cx:\"50\",cy:\"50\",r:\"20\",fill:\"none\"}})]):_c(\"i\",{class:_vm.spinner}),_vm.text?_c(\"p\",{staticClass:\"el-loading-text\"},[_vm._v(_vm._s(_vm.text))]):_vm._e()])])]);};var loadingvue_type_template_id_eee0a7ac_staticRenderFns=[];loadingvue_type_template_id_eee0a7ac_render._withStripped=true;// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var loadingvue_type_script_lang_js_={data:function data(){return{text:null,spinner:null,background:null,fullscreen:true,visible:false,customClass:''};},methods:{handleAfterLeave:function handleAfterLeave(){this.$emit('after-leave');},setText:function setText(text){this.text=text;}}};// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=script&lang=js&\n/* harmony default export */var src_loadingvue_type_script_lang_js_=loadingvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/loading/src/loading.vue\n/* normalize component */var loading_component=normalizeComponent(src_loadingvue_type_script_lang_js_,loadingvue_type_template_id_eee0a7ac_render,loadingvue_type_template_id_eee0a7ac_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var loading_api; }loading_component.options.__file=\"packages/loading/src/loading.vue\";/* harmony default export */var loading=loading_component.exports;// EXTERNAL MODULE: external \"element-ui/lib/utils/after-leave\"\nvar after_leave_=__webpack_require__(32);var after_leave_default=/*#__PURE__*/__webpack_require__.n(after_leave_);// CONCATENATED MODULE: ./packages/loading/src/directive.js\nvar Mask=external_vue_default.a.extend(loading);var loadingDirective={};loadingDirective.install=function(Vue){if(Vue.prototype.$isServer)return;var toggleLoading=function toggleLoading(el,binding){if(binding.value){Vue.nextTick(function(){if(binding.modifiers.fullscreen){el.originalPosition=Object(dom_[\"getStyle\"])(document.body,'position');el.originalOverflow=Object(dom_[\"getStyle\"])(document.body,'overflow');el.maskStyle.zIndex=popup_[\"PopupManager\"].nextZIndex();Object(dom_[\"addClass\"])(el.mask,'is-fullscreen');insertDom(document.body,el,binding);}else{Object(dom_[\"removeClass\"])(el.mask,'is-fullscreen');if(binding.modifiers.body){el.originalPosition=Object(dom_[\"getStyle\"])(document.body,'position');['top','left'].forEach(function(property){var scroll=property==='top'?'scrollTop':'scrollLeft';el.maskStyle[property]=el.getBoundingClientRect()[property]+document.body[scroll]+document.documentElement[scroll]-parseInt(Object(dom_[\"getStyle\"])(document.body,'margin-'+property),10)+'px';});['height','width'].forEach(function(property){el.maskStyle[property]=el.getBoundingClientRect()[property]+'px';});insertDom(document.body,el,binding);}else{el.originalPosition=Object(dom_[\"getStyle\"])(el,'position');insertDom(el,el,binding);}}});}else{after_leave_default()(el.instance,function(_){if(!el.instance.hiding)return;el.domVisible=false;var target=binding.modifiers.fullscreen||binding.modifiers.body?document.body:el;Object(dom_[\"removeClass\"])(target,'el-loading-parent--relative');Object(dom_[\"removeClass\"])(target,'el-loading-parent--hidden');el.instance.hiding=false;},300,true);el.instance.visible=false;el.instance.hiding=true;}};var insertDom=function insertDom(parent,el,binding){if(!el.domVisible&&Object(dom_[\"getStyle\"])(el,'display')!=='none'&&Object(dom_[\"getStyle\"])(el,'visibility')!=='hidden'){Object.keys(el.maskStyle).forEach(function(property){el.mask.style[property]=el.maskStyle[property];});if(el.originalPosition!=='absolute'&&el.originalPosition!=='fixed'){Object(dom_[\"addClass\"])(parent,'el-loading-parent--relative');}if(binding.modifiers.fullscreen&&binding.modifiers.lock){Object(dom_[\"addClass\"])(parent,'el-loading-parent--hidden');}el.domVisible=true;parent.appendChild(el.mask);Vue.nextTick(function(){if(el.instance.hiding){el.instance.$emit('after-leave');}else{el.instance.visible=true;}});el.domInserted=true;}else if(el.domVisible&&el.instance.hiding===true){el.instance.visible=true;el.instance.hiding=false;}};Vue.directive('loading',{bind:function bind(el,binding,vnode){var textExr=el.getAttribute('element-loading-text');var spinnerExr=el.getAttribute('element-loading-spinner');var backgroundExr=el.getAttribute('element-loading-background');var customClassExr=el.getAttribute('element-loading-custom-class');var vm=vnode.context;var mask=new Mask({el:document.createElement('div'),data:{text:vm&&vm[textExr]||textExr,spinner:vm&&vm[spinnerExr]||spinnerExr,background:vm&&vm[backgroundExr]||backgroundExr,customClass:vm&&vm[customClassExr]||customClassExr,fullscreen:!!binding.modifiers.fullscreen}});el.instance=mask;el.mask=mask.$el;el.maskStyle={};binding.value&&toggleLoading(el,binding);},update:function update(el,binding){el.instance.setText(el.getAttribute('element-loading-text'));if(binding.oldValue!==binding.value){toggleLoading(el,binding);}},unbind:function unbind(el,binding){if(el.domInserted){el.mask&&el.mask.parentNode&&el.mask.parentNode.removeChild(el.mask);toggleLoading(el,{value:false,modifiers:binding.modifiers});}el.instance&&el.instance.$destroy();}});};/* harmony default export */var src_directive=loadingDirective;// CONCATENATED MODULE: ./packages/loading/src/index.js\nvar LoadingConstructor=external_vue_default.a.extend(loading);var src_defaults={text:null,fullscreen:true,body:false,lock:false,customClass:''};var fullscreenLoading=void 0;LoadingConstructor.prototype.originalPosition='';LoadingConstructor.prototype.originalOverflow='';LoadingConstructor.prototype.close=function(){var _this=this;if(this.fullscreen){fullscreenLoading=undefined;}after_leave_default()(this,function(_){var target=_this.fullscreen||_this.body?document.body:_this.target;Object(dom_[\"removeClass\"])(target,'el-loading-parent--relative');Object(dom_[\"removeClass\"])(target,'el-loading-parent--hidden');if(_this.$el&&_this.$el.parentNode){_this.$el.parentNode.removeChild(_this.$el);}_this.$destroy();},300);this.visible=false;};var src_addStyle=function addStyle(options,parent,instance){var maskStyle={};if(options.fullscreen){instance.originalPosition=Object(dom_[\"getStyle\"])(document.body,'position');instance.originalOverflow=Object(dom_[\"getStyle\"])(document.body,'overflow');maskStyle.zIndex=popup_[\"PopupManager\"].nextZIndex();}else if(options.body){instance.originalPosition=Object(dom_[\"getStyle\"])(document.body,'position');['top','left'].forEach(function(property){var scroll=property==='top'?'scrollTop':'scrollLeft';maskStyle[property]=options.target.getBoundingClientRect()[property]+document.body[scroll]+document.documentElement[scroll]+'px';});['height','width'].forEach(function(property){maskStyle[property]=options.target.getBoundingClientRect()[property]+'px';});}else{instance.originalPosition=Object(dom_[\"getStyle\"])(parent,'position');}Object.keys(maskStyle).forEach(function(property){instance.$el.style[property]=maskStyle[property];});};var src_Loading=function Loading(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(external_vue_default.a.prototype.$isServer)return;options=merge_default()({},src_defaults,options);if(typeof options.target==='string'){options.target=document.querySelector(options.target);}options.target=options.target||document.body;if(options.target!==document.body){options.fullscreen=false;}else{options.body=true;}if(options.fullscreen&&fullscreenLoading){return fullscreenLoading;}var parent=options.body?document.body:options.target;var instance=new LoadingConstructor({el:document.createElement('div'),data:options});src_addStyle(options,parent,instance);if(instance.originalPosition!=='absolute'&&instance.originalPosition!=='fixed'){Object(dom_[\"addClass\"])(parent,'el-loading-parent--relative');}if(options.fullscreen&&options.lock){Object(dom_[\"addClass\"])(parent,'el-loading-parent--hidden');}parent.appendChild(instance.$el);external_vue_default.a.nextTick(function(){instance.visible=true;});if(options.fullscreen){fullscreenLoading=instance;}return instance;};/* harmony default export */var src=src_Loading;// CONCATENATED MODULE: ./packages/loading/index.js\n/* harmony default export */var packages_loading={install:function install(Vue){Vue.use(src_directive);Vue.prototype.$loading=src;},directive:src_directive,service:src};// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4&\nvar iconvue_type_template_id_cb3fe7f4_render=function iconvue_type_template_id_cb3fe7f4_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"i\",{class:\"el-icon-\"+_vm.name});};var iconvue_type_template_id_cb3fe7f4_staticRenderFns=[];iconvue_type_template_id_cb3fe7f4_render._withStripped=true;// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n/* harmony default export */var iconvue_type_script_lang_js_={name:'ElIcon',props:{name:String}};// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=script&lang=js&\n/* harmony default export */var src_iconvue_type_script_lang_js_=iconvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/icon/src/icon.vue\n/* normalize component */var icon_component=normalizeComponent(src_iconvue_type_script_lang_js_,iconvue_type_template_id_cb3fe7f4_render,iconvue_type_template_id_cb3fe7f4_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var icon_api; }icon_component.options.__file=\"packages/icon/src/icon.vue\";/* harmony default export */var icon=icon_component.exports;// CONCATENATED MODULE: ./packages/icon/index.js\n/* istanbul ignore next */icon.install=function(Vue){Vue.component(icon.name,icon);};/* harmony default export */var packages_icon=icon;// CONCATENATED MODULE: ./packages/row/src/row.js\n/* harmony default export */var src_row={name:'ElRow',componentName:'ElRow',props:{tag:{type:String,default:'div'},gutter:Number,type:String,justify:{type:String,default:'start'},align:String},computed:{style:function style(){var ret={};if(this.gutter){ret.marginLeft='-'+this.gutter/2+'px';ret.marginRight=ret.marginLeft;}return ret;}},render:function render(h){return h(this.tag,{class:['el-row',this.justify!=='start'?'is-justify-'+this.justify:'',this.align?'is-align-'+this.align:'',{'el-row--flex':this.type==='flex'}],style:this.style},this.$slots.default);}};// CONCATENATED MODULE: ./packages/row/index.js\n/* istanbul ignore next */src_row.install=function(Vue){Vue.component(src_row.name,src_row);};/* harmony default export */var packages_row=src_row;// CONCATENATED MODULE: ./packages/col/src/col.js\nvar col_typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};/* harmony default export */var col={name:'ElCol',props:{span:{type:Number,default:24},tag:{type:String,default:'div'},offset:Number,pull:Number,push:Number,xs:[Number,Object],sm:[Number,Object],md:[Number,Object],lg:[Number,Object],xl:[Number,Object]},computed:{gutter:function gutter(){var parent=this.$parent;while(parent&&parent.$options.componentName!=='ElRow'){parent=parent.$parent;}return parent?parent.gutter:0;}},render:function render(h){var _this=this;var classList=[];var style={};if(this.gutter){style.paddingLeft=this.gutter/2+'px';style.paddingRight=style.paddingLeft;}['span','offset','pull','push'].forEach(function(prop){if(_this[prop]||_this[prop]===0){classList.push(prop!=='span'?'el-col-'+prop+'-'+_this[prop]:'el-col-'+_this[prop]);}});['xs','sm','md','lg','xl'].forEach(function(size){if(typeof _this[size]==='number'){classList.push('el-col-'+size+'-'+_this[size]);}else if(col_typeof(_this[size])==='object'){var props=_this[size];Object.keys(props).forEach(function(prop){classList.push(prop!=='span'?'el-col-'+size+'-'+prop+'-'+props[prop]:'el-col-'+size+'-'+props[prop]);});}});return h(this.tag,{class:['el-col',classList],style:style},this.$slots.default);}};// CONCATENATED MODULE: ./packages/col/index.js\n/* istanbul ignore next */col.install=function(Vue){Vue.component(col.name,col);};/* harmony default export */var packages_col=col;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5&\nvar upload_listvue_type_template_id_173fedf5_render=function upload_listvue_type_template_id_173fedf5_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition-group\",{class:[\"el-upload-list\",\"el-upload-list--\"+_vm.listType,{\"is-disabled\":_vm.disabled}],attrs:{tag:\"ul\",name:\"el-list\"}},_vm._l(_vm.files,function(file){return _c(\"li\",{key:file.uid,class:[\"el-upload-list__item\",\"is-\"+file.status,_vm.focusing?\"focusing\":\"\"],attrs:{tabindex:\"0\"},on:{keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"delete\",[8,46],$event.key,[\"Backspace\",\"Delete\",\"Del\"])){return null;}!_vm.disabled&&_vm.$emit(\"remove\",file);},focus:function focus($event){_vm.focusing=true;},blur:function blur($event){_vm.focusing=false;},click:function click($event){_vm.focusing=false;}}},[_vm._t(\"default\",[file.status!==\"uploading\"&&[\"picture-card\",\"picture\"].indexOf(_vm.listType)>-1?_c(\"img\",{staticClass:\"el-upload-list__item-thumbnail\",attrs:{src:file.url,alt:\"\"}}):_vm._e(),_c(\"a\",{staticClass:\"el-upload-list__item-name\",on:{click:function click($event){_vm.handleClick(file);}}},[_c(\"i\",{staticClass:\"el-icon-document\"}),_vm._v(_vm._s(file.name)+\"\\n      \")]),_c(\"label\",{staticClass:\"el-upload-list__item-status-label\"},[_c(\"i\",{class:{\"el-icon-upload-success\":true,\"el-icon-circle-check\":_vm.listType===\"text\",\"el-icon-check\":[\"picture-card\",\"picture\"].indexOf(_vm.listType)>-1}})]),!_vm.disabled?_c(\"i\",{staticClass:\"el-icon-close\",on:{click:function click($event){_vm.$emit(\"remove\",file);}}}):_vm._e(),!_vm.disabled?_c(\"i\",{staticClass:\"el-icon-close-tip\"},[_vm._v(_vm._s(_vm.t(\"el.upload.deleteTip\")))]):_vm._e(),file.status===\"uploading\"?_c(\"el-progress\",{attrs:{type:_vm.listType===\"picture-card\"?\"circle\":\"line\",\"stroke-width\":_vm.listType===\"picture-card\"?6:2,percentage:_vm.parsePercentage(file.percentage)}}):_vm._e(),_vm.listType===\"picture-card\"?_c(\"span\",{staticClass:\"el-upload-list__item-actions\"},[_vm.handlePreview&&_vm.listType===\"picture-card\"?_c(\"span\",{staticClass:\"el-upload-list__item-preview\",on:{click:function click($event){_vm.handlePreview(file);}}},[_c(\"i\",{staticClass:\"el-icon-zoom-in\"})]):_vm._e(),!_vm.disabled?_c(\"span\",{staticClass:\"el-upload-list__item-delete\",on:{click:function click($event){_vm.$emit(\"remove\",file);}}},[_c(\"i\",{staticClass:\"el-icon-delete\"})]):_vm._e()]):_vm._e()],{file:file})],2);}),0);};var upload_listvue_type_template_id_173fedf5_staticRenderFns=[];upload_listvue_type_template_id_173fedf5_render._withStripped=true;// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5&\n// EXTERNAL MODULE: external \"element-ui/lib/progress\"\nvar progress_=__webpack_require__(33);var progress_default=/*#__PURE__*/__webpack_require__.n(progress_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var upload_listvue_type_script_lang_js_={name:'ElUploadList',mixins:[locale_default.a],data:function data(){return{focusing:false};},components:{ElProgress:progress_default.a},props:{files:{type:Array,default:function _default(){return[];}},disabled:{type:Boolean,default:false},handlePreview:Function,listType:String},methods:{parsePercentage:function parsePercentage(val){return parseInt(val,10);},handleClick:function handleClick(file){this.handlePreview&&this.handlePreview(file);}}};// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js&\n/* harmony default export */var src_upload_listvue_type_script_lang_js_=upload_listvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue\n/* normalize component */var upload_list_component=normalizeComponent(src_upload_listvue_type_script_lang_js_,upload_listvue_type_template_id_173fedf5_render,upload_listvue_type_template_id_173fedf5_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var upload_list_api; }upload_list_component.options.__file=\"packages/upload/src/upload-list.vue\";/* harmony default export */var upload_list=upload_list_component.exports;// EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\nvar external_babel_helper_vue_jsx_merge_props_=__webpack_require__(24);var external_babel_helper_vue_jsx_merge_props_default=/*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);// CONCATENATED MODULE: ./packages/upload/src/ajax.js\nfunction getError(action,option,xhr){var msg=void 0;if(xhr.response){msg=''+(xhr.response.error||xhr.response);}else if(xhr.responseText){msg=''+xhr.responseText;}else{msg='fail to post '+action+' '+xhr.status;}var err=new Error(msg);err.status=xhr.status;err.method='post';err.url=action;return err;}function getBody(xhr){var text=xhr.responseText||xhr.response;if(!text){return text;}try{return JSON.parse(text);}catch(e){return text;}}function upload(option){if(typeof XMLHttpRequest==='undefined'){return;}var xhr=new XMLHttpRequest();var action=option.action;if(xhr.upload){xhr.upload.onprogress=function progress(e){if(e.total>0){e.percent=e.loaded/e.total*100;}option.onProgress(e);};}var formData=new FormData();if(option.data){Object.keys(option.data).forEach(function(key){formData.append(key,option.data[key]);});}formData.append(option.filename,option.file,option.file.name);xhr.onerror=function error(e){option.onError(e);};xhr.onload=function onload(){if(xhr.status<200||xhr.status>=300){return option.onError(getError(action,option,xhr));}option.onSuccess(getBody(xhr));};xhr.open('post',action,true);if(option.withCredentials&&'withCredentials'in xhr){xhr.withCredentials=true;}var headers=option.headers||{};for(var item in headers){if(headers.hasOwnProperty(item)&&headers[item]!==null){xhr.setRequestHeader(item,headers[item]);}}xhr.send(formData);return xhr;}// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219&\nvar upload_draggervue_type_template_id_7ebbf219_render=function upload_draggervue_type_template_id_7ebbf219_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-upload-dragger\",class:{\"is-dragover\":_vm.dragover},on:{drop:function drop($event){$event.preventDefault();return _vm.onDrop($event);},dragover:function dragover($event){$event.preventDefault();return _vm.onDragover($event);},dragleave:function dragleave($event){$event.preventDefault();_vm.dragover=false;}}},[_vm._t(\"default\")],2);};var upload_draggervue_type_template_id_7ebbf219_staticRenderFns=[];upload_draggervue_type_template_id_7ebbf219_render._withStripped=true;// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var upload_draggervue_type_script_lang_js_={name:'ElUploadDrag',props:{disabled:Boolean},inject:{uploader:{default:''}},data:function data(){return{dragover:false};},methods:{onDragover:function onDragover(){if(!this.disabled){this.dragover=true;}},onDrop:function onDrop(e){if(this.disabled||!this.uploader)return;var accept=this.uploader.accept;this.dragover=false;if(!accept){this.$emit('file',e.dataTransfer.files);return;}this.$emit('file',[].slice.call(e.dataTransfer.files).filter(function(file){var type=file.type,name=file.name;var extension=name.indexOf('.')>-1?'.'+name.split('.').pop():'';var baseType=type.replace(/\\/.*$/,'');return accept.split(',').map(function(type){return type.trim();}).filter(function(type){return type;}).some(function(acceptedType){if(/\\..+$/.test(acceptedType)){return extension===acceptedType;}if(/\\/\\*$/.test(acceptedType)){return baseType===acceptedType.replace(/\\/\\*$/,'');}if(/^[^\\/]+\\/[^\\/]+$/.test(acceptedType)){return type===acceptedType;}return false;});}));}}};// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js&\n/* harmony default export */var src_upload_draggervue_type_script_lang_js_=upload_draggervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue\n/* normalize component */var upload_dragger_component=normalizeComponent(src_upload_draggervue_type_script_lang_js_,upload_draggervue_type_template_id_7ebbf219_render,upload_draggervue_type_template_id_7ebbf219_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var upload_dragger_api; }upload_dragger_component.options.__file=\"packages/upload/src/upload-dragger.vue\";/* harmony default export */var upload_dragger=upload_dragger_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload.vue?vue&type=script&lang=js&\n/* harmony default export */var uploadvue_type_script_lang_js_={inject:['uploader'],components:{UploadDragger:upload_dragger},props:{type:String,action:{type:String,required:true},name:{type:String,default:'file'},data:Object,headers:Object,withCredentials:Boolean,multiple:Boolean,accept:String,onStart:Function,onProgress:Function,onSuccess:Function,onError:Function,beforeUpload:Function,drag:Boolean,onPreview:{type:Function,default:function _default(){}},onRemove:{type:Function,default:function _default(){}},fileList:Array,autoUpload:Boolean,listType:String,httpRequest:{type:Function,default:upload},disabled:Boolean,limit:Number,onExceed:Function},data:function data(){return{mouseover:false,reqs:{}};},methods:{isImage:function isImage(str){return str.indexOf('image')!==-1;},handleChange:function handleChange(ev){var files=ev.target.files;if(!files)return;this.uploadFiles(files);},uploadFiles:function uploadFiles(files){var _this=this;if(this.limit&&this.fileList.length+files.length>this.limit){this.onExceed&&this.onExceed(files,this.fileList);return;}var postFiles=Array.prototype.slice.call(files);if(!this.multiple){postFiles=postFiles.slice(0,1);}if(postFiles.length===0){return;}postFiles.forEach(function(rawFile){_this.onStart(rawFile);if(_this.autoUpload)_this.upload(rawFile);});},upload:function upload(rawFile){var _this2=this;this.$refs.input.value=null;if(!this.beforeUpload){return this.post(rawFile);}var before=this.beforeUpload(rawFile);if(before&&before.then){before.then(function(processedFile){var fileType=Object.prototype.toString.call(processedFile);if(fileType==='[object File]'||fileType==='[object Blob]'){if(fileType==='[object Blob]'){processedFile=new File([processedFile],rawFile.name,{type:rawFile.type});}for(var p in rawFile){if(rawFile.hasOwnProperty(p)){processedFile[p]=rawFile[p];}}_this2.post(processedFile);}else{_this2.post(rawFile);}},function(){_this2.onRemove(null,rawFile);});}else if(before!==false){this.post(rawFile);}else{this.onRemove(null,rawFile);}},abort:function abort(file){var reqs=this.reqs;if(file){var uid=file;if(file.uid)uid=file.uid;if(reqs[uid]){reqs[uid].abort();}}else{Object.keys(reqs).forEach(function(uid){if(reqs[uid])reqs[uid].abort();delete reqs[uid];});}},post:function post(rawFile){var _this3=this;var uid=rawFile.uid;var options={headers:this.headers,withCredentials:this.withCredentials,file:rawFile,data:this.data,filename:this.name,action:this.action,onProgress:function onProgress(e){_this3.onProgress(e,rawFile);},onSuccess:function onSuccess(res){_this3.onSuccess(res,rawFile);delete _this3.reqs[uid];},onError:function onError(err){_this3.onError(err,rawFile);delete _this3.reqs[uid];}};var req=this.httpRequest(options);this.reqs[uid]=req;if(req&&req.then){req.then(options.onSuccess,options.onError);}},handleClick:function handleClick(){if(!this.disabled){this.$refs.input.value=null;this.$refs.input.click();}},handleKeydown:function handleKeydown(e){if(e.target!==e.currentTarget)return;if(e.keyCode===13||e.keyCode===32){this.handleClick();}}},render:function render(h){var handleClick=this.handleClick,drag=this.drag,name=this.name,handleChange=this.handleChange,multiple=this.multiple,accept=this.accept,listType=this.listType,uploadFiles=this.uploadFiles,disabled=this.disabled,handleKeydown=this.handleKeydown;var data={class:{'el-upload':true},on:{click:handleClick,keydown:handleKeydown}};data.class['el-upload--'+listType]=true;return h('div',external_babel_helper_vue_jsx_merge_props_default()([data,{attrs:{tabindex:'0'}}]),[drag?h('upload-dragger',{attrs:{disabled:disabled},on:{'file':uploadFiles}},[this.$slots.default]):this.$slots.default,h('input',{'class':'el-upload__input',attrs:{type:'file',name:name,multiple:multiple,accept:accept},ref:'input',on:{'change':handleChange}})]);}};// CONCATENATED MODULE: ./packages/upload/src/upload.vue?vue&type=script&lang=js&\n/* harmony default export */var src_uploadvue_type_script_lang_js_=uploadvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/upload/src/upload.vue\nvar upload_render,upload_staticRenderFns;/* normalize component */var upload_component=normalizeComponent(src_uploadvue_type_script_lang_js_,upload_render,upload_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var upload_api; }upload_component.options.__file=\"packages/upload/src/upload.vue\";/* harmony default export */var src_upload=upload_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/index.vue?vue&type=script&lang=js&\nfunction srcvue_type_script_lang_js_noop(){}/* harmony default export */var srcvue_type_script_lang_js_={name:'ElUpload',mixins:[migrating_default.a],components:{ElProgress:progress_default.a,UploadList:upload_list,Upload:src_upload},provide:function provide(){return{uploader:this};},inject:{elForm:{default:''}},props:{action:{type:String,required:true},headers:{type:Object,default:function _default(){return{};}},data:Object,multiple:Boolean,name:{type:String,default:'file'},drag:Boolean,dragger:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:true},accept:String,type:{type:String,default:'select'},beforeUpload:Function,beforeRemove:Function,onRemove:{type:Function,default:srcvue_type_script_lang_js_noop},onChange:{type:Function,default:srcvue_type_script_lang_js_noop},onPreview:{type:Function},onSuccess:{type:Function,default:srcvue_type_script_lang_js_noop},onProgress:{type:Function,default:srcvue_type_script_lang_js_noop},onError:{type:Function,default:srcvue_type_script_lang_js_noop},fileList:{type:Array,default:function _default(){return[];}},autoUpload:{type:Boolean,default:true},listType:{type:String,default:'text'// text,picture,picture-card\n},httpRequest:Function,disabled:Boolean,limit:Number,onExceed:{type:Function,default:srcvue_type_script_lang_js_noop}},data:function data(){return{uploadFiles:[],dragOver:false,draging:false,tempIndex:1};},computed:{uploadDisabled:function uploadDisabled(){return this.disabled||(this.elForm||{}).disabled;}},watch:{listType:function listType(type){if(type==='picture-card'||type==='picture'){this.uploadFiles=this.uploadFiles.map(function(file){if(!file.url&&file.raw){try{file.url=URL.createObjectURL(file.raw);}catch(err){console.error('[Element Error][Upload]',err);}}return file;});}},fileList:{immediate:true,handler:function handler(fileList){var _this=this;this.uploadFiles=fileList.map(function(item){item.uid=item.uid||Date.now()+_this.tempIndex++;item.status=item.status||'success';return item;});}}},methods:{handleStart:function handleStart(rawFile){rawFile.uid=Date.now()+this.tempIndex++;var file={status:'ready',name:rawFile.name,size:rawFile.size,percentage:0,uid:rawFile.uid,raw:rawFile};if(this.listType==='picture-card'||this.listType==='picture'){try{file.url=URL.createObjectURL(rawFile);}catch(err){console.error('[Element Error][Upload]',err);return;}}this.uploadFiles.push(file);this.onChange(file,this.uploadFiles);},handleProgress:function handleProgress(ev,rawFile){var file=this.getFile(rawFile);this.onProgress(ev,file,this.uploadFiles);file.status='uploading';file.percentage=ev.percent||0;},handleSuccess:function handleSuccess(res,rawFile){var file=this.getFile(rawFile);if(file){file.status='success';file.response=res;this.onSuccess(res,file,this.uploadFiles);this.onChange(file,this.uploadFiles);}},handleError:function handleError(err,rawFile){var file=this.getFile(rawFile);var fileList=this.uploadFiles;file.status='fail';fileList.splice(fileList.indexOf(file),1);this.onError(err,file,this.uploadFiles);this.onChange(file,this.uploadFiles);},handleRemove:function handleRemove(file,raw){var _this2=this;if(raw){file=this.getFile(raw);}var doRemove=function doRemove(){_this2.abort(file);var fileList=_this2.uploadFiles;fileList.splice(fileList.indexOf(file),1);_this2.onRemove(file,fileList);};if(!this.beforeRemove){doRemove();}else if(typeof this.beforeRemove==='function'){var before=this.beforeRemove(file,this.uploadFiles);if(before&&before.then){before.then(function(){doRemove();},srcvue_type_script_lang_js_noop);}else if(before!==false){doRemove();}}},getFile:function getFile(rawFile){var fileList=this.uploadFiles;var target=void 0;fileList.every(function(item){target=rawFile.uid===item.uid?item:null;return!target;});return target;},abort:function abort(file){this.$refs['upload-inner'].abort(file);},clearFiles:function clearFiles(){this.uploadFiles=[];},submit:function submit(){var _this3=this;this.uploadFiles.filter(function(file){return file.status==='ready';}).forEach(function(file){_this3.$refs['upload-inner'].upload(file.raw);});},getMigratingConfig:function getMigratingConfig(){return{props:{'default-file-list':'default-file-list is renamed to file-list.','show-upload-list':'show-upload-list is renamed to show-file-list.','thumbnail-mode':'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'}};}},beforeDestroy:function beforeDestroy(){this.uploadFiles.forEach(function(file){if(file.url&&file.url.indexOf('blob:')===0){URL.revokeObjectURL(file.url);}});},render:function render(h){var _this4=this;var uploadList=void 0;if(this.showFileList){uploadList=h(upload_list,{attrs:{disabled:this.uploadDisabled,listType:this.listType,files:this.uploadFiles,handlePreview:this.onPreview},on:{'remove':this.handleRemove}},[function(props){if(_this4.$scopedSlots.file){return _this4.$scopedSlots.file({file:props.file});}}]);}var uploadData={props:{type:this.type,drag:this.drag,action:this.action,multiple:this.multiple,'before-upload':this.beforeUpload,'with-credentials':this.withCredentials,headers:this.headers,name:this.name,data:this.data,accept:this.accept,fileList:this.uploadFiles,autoUpload:this.autoUpload,listType:this.listType,disabled:this.uploadDisabled,limit:this.limit,'on-exceed':this.onExceed,'on-start':this.handleStart,'on-progress':this.handleProgress,'on-success':this.handleSuccess,'on-error':this.handleError,'on-preview':this.onPreview,'on-remove':this.handleRemove,'http-request':this.httpRequest},ref:'upload-inner'};var trigger=this.$slots.trigger||this.$slots.default;var uploadComponent=h('upload',uploadData,[trigger]);return h('div',[this.listType==='picture-card'?uploadList:'',this.$slots.trigger?[uploadComponent,this.$slots.default]:uploadComponent,this.$slots.tip,this.listType!=='picture-card'?uploadList:'']);}};// CONCATENATED MODULE: ./packages/upload/src/index.vue?vue&type=script&lang=js&\n/* harmony default export */var upload_srcvue_type_script_lang_js_=srcvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/upload/src/index.vue\nvar src_render,src_staticRenderFns;/* normalize component */var upload_src_component=normalizeComponent(upload_srcvue_type_script_lang_js_,src_render,src_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var src_api; }upload_src_component.options.__file=\"packages/upload/src/index.vue\";/* harmony default export */var upload_src=upload_src_component.exports;// CONCATENATED MODULE: ./packages/upload/index.js\n/* istanbul ignore next */upload_src.install=function(Vue){Vue.component(upload_src.name,upload_src);};/* harmony default export */var packages_upload=upload_src;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\nvar progressvue_type_template_id_229ee406_render=function progressvue_type_template_id_229ee406_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-progress\",class:[\"el-progress--\"+_vm.type,_vm.status?\"is-\"+_vm.status:\"\",{\"el-progress--without-text\":!_vm.showText,\"el-progress--text-inside\":_vm.textInside}],attrs:{role:\"progressbar\",\"aria-valuenow\":_vm.percentage,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}},[_vm.type===\"line\"?_c(\"div\",{staticClass:\"el-progress-bar\"},[_c(\"div\",{staticClass:\"el-progress-bar__outer\",style:{height:_vm.strokeWidth+\"px\"}},[_c(\"div\",{staticClass:\"el-progress-bar__inner\",style:_vm.barStyle},[_vm.showText&&_vm.textInside?_c(\"div\",{staticClass:\"el-progress-bar__innerText\"},[_vm._v(_vm._s(_vm.content))]):_vm._e()])])]):_c(\"div\",{staticClass:\"el-progress-circle\",style:{height:_vm.width+\"px\",width:_vm.width+\"px\"}},[_c(\"svg\",{attrs:{viewBox:\"0 0 100 100\"}},[_c(\"path\",{staticClass:\"el-progress-circle__track\",style:_vm.trailPathStyle,attrs:{d:_vm.trackPath,stroke:\"#e5e9f2\",\"stroke-width\":_vm.relativeStrokeWidth,fill:\"none\"}}),_c(\"path\",{staticClass:\"el-progress-circle__path\",style:_vm.circlePathStyle,attrs:{d:_vm.trackPath,stroke:_vm.stroke,fill:\"none\",\"stroke-linecap\":_vm.strokeLinecap,\"stroke-width\":_vm.percentage?_vm.relativeStrokeWidth:0}})])]),_vm.showText&&!_vm.textInside?_c(\"div\",{staticClass:\"el-progress__text\",style:{fontSize:_vm.progressTextSize+\"px\"}},[!_vm.status?[_vm._v(_vm._s(_vm.content))]:_c(\"i\",{class:_vm.iconClass})],2):_vm._e()]);};var progressvue_type_template_id_229ee406_staticRenderFns=[];progressvue_type_template_id_229ee406_render._withStripped=true;// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var progressvue_type_script_lang_js_={name:'ElProgress',props:{type:{type:String,default:'line',validator:function validator(val){return['line','circle','dashboard'].indexOf(val)>-1;}},percentage:{type:Number,default:0,required:true,validator:function validator(val){return val>=0&&val<=100;}},status:{type:String,validator:function validator(val){return['success','exception','warning'].indexOf(val)>-1;}},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:'round'},textInside:{type:Boolean,default:false},width:{type:Number,default:126},showText:{type:Boolean,default:true},color:{type:[String,Array,Function],default:''},format:Function},computed:{barStyle:function barStyle(){var style={};style.width=this.percentage+'%';style.backgroundColor=this.getCurrentColor(this.percentage);return style;},relativeStrokeWidth:function relativeStrokeWidth(){return(this.strokeWidth/this.width*100).toFixed(1);},radius:function radius(){if(this.type==='circle'||this.type==='dashboard'){return parseInt(50-parseFloat(this.relativeStrokeWidth)/2,10);}else{return 0;}},trackPath:function trackPath(){var radius=this.radius;var isDashboard=this.type==='dashboard';return'\\n        M 50 50\\n        m 0 '+(isDashboard?'':'-')+radius+'\\n        a '+radius+' '+radius+' 0 1 1 0 '+(isDashboard?'-':'')+radius*2+'\\n        a '+radius+' '+radius+' 0 1 1 0 '+(isDashboard?'':'-')+radius*2+'\\n        ';},perimeter:function perimeter(){return 2*Math.PI*this.radius;},rate:function rate(){return this.type==='dashboard'?0.75:1;},strokeDashoffset:function strokeDashoffset(){var offset=-1*this.perimeter*(1-this.rate)/2;return offset+'px';},trailPathStyle:function trailPathStyle(){return{strokeDasharray:this.perimeter*this.rate+'px, '+this.perimeter+'px',strokeDashoffset:this.strokeDashoffset};},circlePathStyle:function circlePathStyle(){return{strokeDasharray:this.perimeter*this.rate*(this.percentage/100)+'px, '+this.perimeter+'px',strokeDashoffset:this.strokeDashoffset,transition:'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease'};},stroke:function stroke(){var ret=void 0;if(this.color){ret=this.getCurrentColor(this.percentage);}else{switch(this.status){case'success':ret='#13ce66';break;case'exception':ret='#ff4949';break;case'warning':ret='#e6a23c';break;default:ret='#20a0ff';}}return ret;},iconClass:function iconClass(){if(this.status==='warning'){return'el-icon-warning';}if(this.type==='line'){return this.status==='success'?'el-icon-circle-check':'el-icon-circle-close';}else{return this.status==='success'?'el-icon-check':'el-icon-close';}},progressTextSize:function progressTextSize(){return this.type==='line'?12+this.strokeWidth*0.4:this.width*0.111111+2;},content:function content(){if(typeof this.format==='function'){return this.format(this.percentage)||'';}else{return this.percentage+'%';}}},methods:{getCurrentColor:function getCurrentColor(percentage){if(typeof this.color==='function'){return this.color(percentage);}else if(typeof this.color==='string'){return this.color;}else{return this.getLevelColor(percentage);}},getLevelColor:function getLevelColor(percentage){var colorArray=this.getColorArray().sort(function(a,b){return a.percentage-b.percentage;});for(var i=0;i<colorArray.length;i++){if(colorArray[i].percentage>percentage){return colorArray[i].color;}}return colorArray[colorArray.length-1].color;},getColorArray:function getColorArray(){var color=this.color;var span=100/color.length;return color.map(function(seriesColor,index){if(typeof seriesColor==='string'){return{color:seriesColor,percentage:(index+1)*span};}return seriesColor;});}}};// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=script&lang=js&\n/* harmony default export */var src_progressvue_type_script_lang_js_=progressvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/progress/src/progress.vue\n/* normalize component */var progress_component=normalizeComponent(src_progressvue_type_script_lang_js_,progressvue_type_template_id_229ee406_render,progressvue_type_template_id_229ee406_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var progress_api; }progress_component.options.__file=\"packages/progress/src/progress.vue\";/* harmony default export */var progress=progress_component.exports;// CONCATENATED MODULE: ./packages/progress/index.js\n/* istanbul ignore next */progress.install=function(Vue){Vue.component(progress.name,progress);};/* harmony default export */var packages_progress=progress;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/spinner/src/spinner.vue?vue&type=template&id=697b8538&\nvar spinnervue_type_template_id_697b8538_render=function spinnervue_type_template_id_697b8538_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"span\",{staticClass:\"el-spinner\"},[_c(\"svg\",{staticClass:\"el-spinner-inner\",style:{width:_vm.radius/2+\"px\",height:_vm.radius/2+\"px\"},attrs:{viewBox:\"0 0 50 50\"}},[_c(\"circle\",{staticClass:\"path\",attrs:{cx:\"25\",cy:\"25\",r:\"20\",fill:\"none\",stroke:_vm.strokeColor,\"stroke-width\":_vm.strokeWidth}})])]);};var spinnervue_type_template_id_697b8538_staticRenderFns=[];spinnervue_type_template_id_697b8538_render._withStripped=true;// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue?vue&type=template&id=697b8538&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/spinner/src/spinner.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var spinnervue_type_script_lang_js_={name:'ElSpinner',props:{type:String,radius:{type:Number,default:100},strokeWidth:{type:Number,default:5},strokeColor:{type:String,default:'#efefef'}}};// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue?vue&type=script&lang=js&\n/* harmony default export */var src_spinnervue_type_script_lang_js_=spinnervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue\n/* normalize component */var spinner_component=normalizeComponent(src_spinnervue_type_script_lang_js_,spinnervue_type_template_id_697b8538_render,spinnervue_type_template_id_697b8538_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var spinner_api; }spinner_component.options.__file=\"packages/spinner/src/spinner.vue\";/* harmony default export */var spinner=spinner_component.exports;// CONCATENATED MODULE: ./packages/spinner/index.js\n/* istanbul ignore next */spinner.install=function(Vue){Vue.component(spinner.name,spinner);};/* harmony default export */var packages_spinner=spinner;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=template&id=455b9f60&\nvar mainvue_type_template_id_455b9f60_render=function mainvue_type_template_id_455b9f60_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-message-fade\"},on:{\"after-leave\":_vm.handleAfterLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],class:[\"el-message\",_vm.type&&!_vm.iconClass?\"el-message--\"+_vm.type:\"\",_vm.center?\"is-center\":\"\",_vm.showClose?\"is-closable\":\"\",_vm.customClass],style:_vm.positionStyle,attrs:{role:\"alert\"},on:{mouseenter:_vm.clearTimer,mouseleave:_vm.startTimer}},[_vm.iconClass?_c(\"i\",{class:_vm.iconClass}):_c(\"i\",{class:_vm.typeClass}),_vm._t(\"default\",[!_vm.dangerouslyUseHTMLString?_c(\"p\",{staticClass:\"el-message__content\"},[_vm._v(_vm._s(_vm.message))]):_c(\"p\",{staticClass:\"el-message__content\",domProps:{innerHTML:_vm._s(_vm.message)}})]),_vm.showClose?_c(\"i\",{staticClass:\"el-message__closeBtn el-icon-close\",on:{click:_vm.close}}):_vm._e()],2)]);};var mainvue_type_template_id_455b9f60_staticRenderFns=[];mainvue_type_template_id_455b9f60_render._withStripped=true;// CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=template&id=455b9f60&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar src_mainvue_type_script_lang_js_typeMap={success:'success',info:'info',warning:'warning',error:'error'};/* harmony default export */var message_src_mainvue_type_script_lang_js_={data:function data(){return{visible:false,message:'',duration:3000,type:'info',iconClass:'',customClass:'',onClose:null,showClose:false,closed:false,verticalOffset:20,timer:null,dangerouslyUseHTMLString:false,center:false};},computed:{typeClass:function typeClass(){return this.type&&!this.iconClass?'el-message__icon el-icon-'+src_mainvue_type_script_lang_js_typeMap[this.type]:'';},positionStyle:function positionStyle(){return{'top':this.verticalOffset+'px'};}},watch:{closed:function closed(newVal){if(newVal){this.visible=false;}}},methods:{handleAfterLeave:function handleAfterLeave(){this.$destroy(true);this.$el.parentNode.removeChild(this.$el);},close:function close(){this.closed=true;if(typeof this.onClose==='function'){this.onClose(this);}},clearTimer:function clearTimer(){clearTimeout(this.timer);},startTimer:function startTimer(){var _this=this;if(this.duration>0){this.timer=setTimeout(function(){if(!_this.closed){_this.close();}},this.duration);}},keydown:function keydown(e){if(e.keyCode===27){// esc关闭消息\nif(!this.closed){this.close();}}}},mounted:function mounted(){this.startTimer();document.addEventListener('keydown',this.keydown);},beforeDestroy:function beforeDestroy(){document.removeEventListener('keydown',this.keydown);}};// CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_message_src_mainvue_type_script_lang_js_=message_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/message/src/main.vue\n/* normalize component */var message_src_main_component=normalizeComponent(packages_message_src_mainvue_type_script_lang_js_,mainvue_type_template_id_455b9f60_render,mainvue_type_template_id_455b9f60_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var message_src_main_api; }message_src_main_component.options.__file=\"packages/message/src/main.vue\";/* harmony default export */var message_src_main=message_src_main_component.exports;// EXTERNAL MODULE: external \"element-ui/lib/utils/types\"\nvar types_=__webpack_require__(15);// CONCATENATED MODULE: ./packages/message/src/main.js\nvar main_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var MessageConstructor=external_vue_default.a.extend(message_src_main);var message_src_main_instance=void 0;var main_instances=[];var main_seed=1;var main_Message=function Message(options){if(external_vue_default.a.prototype.$isServer)return;options=options||{};if(typeof options==='string'){options={message:options};}var userOnClose=options.onClose;var id='message_'+main_seed++;options.onClose=function(){Message.close(id,userOnClose);};message_src_main_instance=new MessageConstructor({data:options});message_src_main_instance.id=id;if(Object(vdom_[\"isVNode\"])(message_src_main_instance.message)){message_src_main_instance.$slots.default=[message_src_main_instance.message];message_src_main_instance.message=null;}message_src_main_instance.$mount();document.body.appendChild(message_src_main_instance.$el);var verticalOffset=options.offset||20;main_instances.forEach(function(item){verticalOffset+=item.$el.offsetHeight+16;});message_src_main_instance.verticalOffset=verticalOffset;message_src_main_instance.visible=true;message_src_main_instance.$el.style.zIndex=popup_[\"PopupManager\"].nextZIndex();main_instances.push(message_src_main_instance);return message_src_main_instance;};['success','warning','info','error'].forEach(function(type){main_Message[type]=function(options){if(Object(types_[\"isObject\"])(options)&&!Object(vdom_[\"isVNode\"])(options)){return main_Message(main_extends({},options,{type:type}));}return main_Message({type:type,message:options});};});main_Message.close=function(id,userOnClose){var len=main_instances.length;var index=-1;var removedHeight=void 0;for(var i=0;i<len;i++){if(id===main_instances[i].id){removedHeight=main_instances[i].$el.offsetHeight;index=i;if(typeof userOnClose==='function'){userOnClose(main_instances[i]);}main_instances.splice(i,1);break;}}if(len<=1||index===-1||index>main_instances.length-1)return;for(var _i=index;_i<len-1;_i++){var dom=main_instances[_i].$el;dom.style['top']=parseInt(dom.style['top'],10)-removedHeight-16+'px';}};main_Message.closeAll=function(){for(var i=main_instances.length-1;i>=0;i--){main_instances[i].close();}};/* harmony default export */var packages_message_src_main=main_Message;// CONCATENATED MODULE: ./packages/message/index.js\n/* harmony default export */var packages_message=packages_message_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/badge/src/main.vue?vue&type=template&id=7ccb6598&\nvar mainvue_type_template_id_7ccb6598_render=function mainvue_type_template_id_7ccb6598_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-badge\"},[_vm._t(\"default\"),_c(\"transition\",{attrs:{name:\"el-zoom-in-center\"}},[_c(\"sup\",{directives:[{name:\"show\",rawName:\"v-show\",value:!_vm.hidden&&(_vm.content||_vm.content===0||_vm.isDot),expression:\"!hidden && (content || content === 0 || isDot)\"}],staticClass:\"el-badge__content\",class:[_vm.type?\"el-badge__content--\"+_vm.type:null,{\"is-fixed\":_vm.$slots.default,\"is-dot\":_vm.isDot}],domProps:{textContent:_vm._s(_vm.content)}})])],2);};var mainvue_type_template_id_7ccb6598_staticRenderFns=[];mainvue_type_template_id_7ccb6598_render._withStripped=true;// CONCATENATED MODULE: ./packages/badge/src/main.vue?vue&type=template&id=7ccb6598&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/badge/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var badge_src_mainvue_type_script_lang_js_={name:'ElBadge',props:{value:[String,Number],max:Number,isDot:Boolean,hidden:Boolean,type:{type:String,validator:function validator(val){return['primary','success','warning','info','danger'].indexOf(val)>-1;}}},computed:{content:function content(){if(this.isDot)return;var value=this.value;var max=this.max;if(typeof value==='number'&&typeof max==='number'){return max<value?max+'+':value;}return value;}}};// CONCATENATED MODULE: ./packages/badge/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_badge_src_mainvue_type_script_lang_js_=badge_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/badge/src/main.vue\n/* normalize component */var badge_src_main_component=normalizeComponent(packages_badge_src_mainvue_type_script_lang_js_,mainvue_type_template_id_7ccb6598_render,mainvue_type_template_id_7ccb6598_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var badge_src_main_api; }badge_src_main_component.options.__file=\"packages/badge/src/main.vue\";/* harmony default export */var badge_src_main=badge_src_main_component.exports;// CONCATENATED MODULE: ./packages/badge/index.js\n/* istanbul ignore next */badge_src_main.install=function(Vue){Vue.component(badge_src_main.name,badge_src_main);};/* harmony default export */var badge=badge_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/card/src/main.vue?vue&type=template&id=59a4a40f&\nvar mainvue_type_template_id_59a4a40f_render=function mainvue_type_template_id_59a4a40f_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-card\",class:_vm.shadow?\"is-\"+_vm.shadow+\"-shadow\":\"is-always-shadow\"},[_vm.$slots.header||_vm.header?_c(\"div\",{staticClass:\"el-card__header\"},[_vm._t(\"header\",[_vm._v(_vm._s(_vm.header))])],2):_vm._e(),_c(\"div\",{staticClass:\"el-card__body\",style:_vm.bodyStyle},[_vm._t(\"default\")],2)]);};var mainvue_type_template_id_59a4a40f_staticRenderFns=[];mainvue_type_template_id_59a4a40f_render._withStripped=true;// CONCATENATED MODULE: ./packages/card/src/main.vue?vue&type=template&id=59a4a40f&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/card/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var card_src_mainvue_type_script_lang_js_={name:'ElCard',props:{header:{},bodyStyle:{},shadow:{type:String}}};// CONCATENATED MODULE: ./packages/card/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_card_src_mainvue_type_script_lang_js_=card_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/card/src/main.vue\n/* normalize component */var card_src_main_component=normalizeComponent(packages_card_src_mainvue_type_script_lang_js_,mainvue_type_template_id_59a4a40f_render,mainvue_type_template_id_59a4a40f_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var card_src_main_api; }card_src_main_component.options.__file=\"packages/card/src/main.vue\";/* harmony default export */var card_src_main=card_src_main_component.exports;// CONCATENATED MODULE: ./packages/card/index.js\n/* istanbul ignore next */card_src_main.install=function(Vue){Vue.component(card_src_main.name,card_src_main);};/* harmony default export */var card=card_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/rate/src/main.vue?vue&type=template&id=ada57782&\nvar mainvue_type_template_id_ada57782_render=function mainvue_type_template_id_ada57782_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-rate\",attrs:{role:\"slider\",\"aria-valuenow\":_vm.currentValue,\"aria-valuetext\":_vm.text,\"aria-valuemin\":\"0\",\"aria-valuemax\":_vm.max,tabindex:\"0\"},on:{keydown:_vm.handleKey}},[_vm._l(_vm.max,function(item,key){return _c(\"span\",{key:key,staticClass:\"el-rate__item\",style:{cursor:_vm.rateDisabled?\"auto\":\"pointer\"},on:{mousemove:function mousemove($event){_vm.setCurrentValue(item,$event);},mouseleave:_vm.resetCurrentValue,click:function click($event){_vm.selectValue(item);}}},[_c(\"i\",{staticClass:\"el-rate__icon\",class:[_vm.classes[item-1],{hover:_vm.hoverIndex===item}],style:_vm.getIconStyle(item)},[_vm.showDecimalIcon(item)?_c(\"i\",{staticClass:\"el-rate__decimal\",class:_vm.decimalIconClass,style:_vm.decimalStyle}):_vm._e()])]);}),_vm.showText||_vm.showScore?_c(\"span\",{staticClass:\"el-rate__text\",style:{color:_vm.textColor}},[_vm._v(_vm._s(_vm.text))]):_vm._e()],2);};var mainvue_type_template_id_ada57782_staticRenderFns=[];mainvue_type_template_id_ada57782_render._withStripped=true;// CONCATENATED MODULE: ./packages/rate/src/main.vue?vue&type=template&id=ada57782&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/rate/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var rate_src_mainvue_type_script_lang_js_={name:'ElRate',mixins:[migrating_default.a],inject:{elForm:{default:''}},data:function data(){return{pointerAtLeftHalf:true,currentValue:this.value,hoverIndex:-1};},props:{value:{type:Number,default:0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:[Array,Object],default:function _default(){return['#F7BA2A','#F7BA2A','#F7BA2A'];}},voidColor:{type:String,default:'#C6D1DE'},disabledVoidColor:{type:String,default:'#EFF2F7'},iconClasses:{type:[Array,Object],default:function _default(){return['el-icon-star-on','el-icon-star-on','el-icon-star-on'];}},voidIconClass:{type:String,default:'el-icon-star-off'},disabledVoidIconClass:{type:String,default:'el-icon-star-on'},disabled:{type:Boolean,default:false},allowHalf:{type:Boolean,default:false},showText:{type:Boolean,default:false},showScore:{type:Boolean,default:false},textColor:{type:String,default:'#1f2d3d'},texts:{type:Array,default:function _default(){return['极差','失望','一般','满意','惊喜'];}},scoreTemplate:{type:String,default:'{value}'}},computed:{text:function text(){var result='';if(this.showScore){result=this.scoreTemplate.replace(/\\{\\s*value\\s*\\}/,this.rateDisabled?this.value:this.currentValue);}else if(this.showText){result=this.texts[Math.ceil(this.currentValue)-1];}return result;},decimalStyle:function decimalStyle(){var width='';if(this.rateDisabled){width=this.valueDecimal+'%';}else if(this.allowHalf){width='50%';}return{color:this.activeColor,width:width};},valueDecimal:function valueDecimal(){return this.value*100-Math.floor(this.value)*100;},classMap:function classMap(){var _ref;return Array.isArray(this.iconClasses)?(_ref={},_ref[this.lowThreshold]=this.iconClasses[0],_ref[this.highThreshold]={value:this.iconClasses[1],excluded:true},_ref[this.max]=this.iconClasses[2],_ref):this.iconClasses;},decimalIconClass:function decimalIconClass(){return this.getValueFromMap(this.value,this.classMap);},voidClass:function voidClass(){return this.rateDisabled?this.disabledVoidIconClass:this.voidIconClass;},activeClass:function activeClass(){return this.getValueFromMap(this.currentValue,this.classMap);},colorMap:function colorMap(){var _ref2;return Array.isArray(this.colors)?(_ref2={},_ref2[this.lowThreshold]=this.colors[0],_ref2[this.highThreshold]={value:this.colors[1],excluded:true},_ref2[this.max]=this.colors[2],_ref2):this.colors;},activeColor:function activeColor(){return this.getValueFromMap(this.currentValue,this.colorMap);},classes:function classes(){var result=[];var i=0;var threshold=this.currentValue;if(this.allowHalf&&this.currentValue!==Math.floor(this.currentValue)){threshold--;}for(;i<threshold;i++){result.push(this.activeClass);}for(;i<this.max;i++){result.push(this.voidClass);}return result;},rateDisabled:function rateDisabled(){return this.disabled||(this.elForm||{}).disabled;}},watch:{value:function value(val){this.currentValue=val;this.pointerAtLeftHalf=this.value!==Math.floor(this.value);}},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'text-template':'text-template is renamed to score-template.'}};},getValueFromMap:function getValueFromMap(value,map){var matchedKeys=Object.keys(map).filter(function(key){var val=map[key];var excluded=Object(types_[\"isObject\"])(val)?val.excluded:false;return excluded?value<key:value<=key;}).sort(function(a,b){return a-b;});var matchedValue=map[matchedKeys[0]];return Object(types_[\"isObject\"])(matchedValue)?matchedValue.value:matchedValue||'';},showDecimalIcon:function showDecimalIcon(item){var showWhenDisabled=this.rateDisabled&&this.valueDecimal>0&&item-1<this.value&&item>this.value;/* istanbul ignore next */var showWhenAllowHalf=this.allowHalf&&this.pointerAtLeftHalf&&item-0.5<=this.currentValue&&item>this.currentValue;return showWhenDisabled||showWhenAllowHalf;},getIconStyle:function getIconStyle(item){var voidColor=this.rateDisabled?this.disabledVoidColor:this.voidColor;return{color:item<=this.currentValue?this.activeColor:voidColor};},selectValue:function selectValue(value){if(this.rateDisabled){return;}if(this.allowHalf&&this.pointerAtLeftHalf){this.$emit('input',this.currentValue);this.$emit('change',this.currentValue);}else{this.$emit('input',value);this.$emit('change',value);}},handleKey:function handleKey(e){if(this.rateDisabled){return;}var currentValue=this.currentValue;var keyCode=e.keyCode;if(keyCode===38||keyCode===39){// left / down\nif(this.allowHalf){currentValue+=0.5;}else{currentValue+=1;}e.stopPropagation();e.preventDefault();}else if(keyCode===37||keyCode===40){if(this.allowHalf){currentValue-=0.5;}else{currentValue-=1;}e.stopPropagation();e.preventDefault();}currentValue=currentValue<0?0:currentValue;currentValue=currentValue>this.max?this.max:currentValue;this.$emit('input',currentValue);this.$emit('change',currentValue);},setCurrentValue:function setCurrentValue(value,event){if(this.rateDisabled){return;}/* istanbul ignore if */if(this.allowHalf){var target=event.target;if(Object(dom_[\"hasClass\"])(target,'el-rate__item')){target=target.querySelector('.el-rate__icon');}if(Object(dom_[\"hasClass\"])(target,'el-rate__decimal')){target=target.parentNode;}this.pointerAtLeftHalf=event.offsetX*2<=target.clientWidth;this.currentValue=this.pointerAtLeftHalf?value-0.5:value;}else{this.currentValue=value;}this.hoverIndex=value;},resetCurrentValue:function resetCurrentValue(){if(this.rateDisabled){return;}if(this.allowHalf){this.pointerAtLeftHalf=this.value!==Math.floor(this.value);}this.currentValue=this.value;this.hoverIndex=-1;}},created:function created(){if(!this.value){this.$emit('input',0);}}};// CONCATENATED MODULE: ./packages/rate/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_rate_src_mainvue_type_script_lang_js_=rate_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/rate/src/main.vue\n/* normalize component */var rate_src_main_component=normalizeComponent(packages_rate_src_mainvue_type_script_lang_js_,mainvue_type_template_id_ada57782_render,mainvue_type_template_id_ada57782_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var rate_src_main_api; }rate_src_main_component.options.__file=\"packages/rate/src/main.vue\";/* harmony default export */var rate_src_main=rate_src_main_component.exports;// CONCATENATED MODULE: ./packages/rate/index.js\n/* istanbul ignore next */rate_src_main.install=function(Vue){Vue.component(rate_src_main.name,rate_src_main);};/* harmony default export */var rate=rate_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/steps.vue?vue&type=template&id=3c6b6dc0&\nvar stepsvue_type_template_id_3c6b6dc0_render=function stepsvue_type_template_id_3c6b6dc0_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-steps\",class:[!_vm.simple&&\"el-steps--\"+_vm.direction,_vm.simple&&\"el-steps--simple\"]},[_vm._t(\"default\")],2);};var stepsvue_type_template_id_3c6b6dc0_staticRenderFns=[];stepsvue_type_template_id_3c6b6dc0_render._withStripped=true;// CONCATENATED MODULE: ./packages/steps/src/steps.vue?vue&type=template&id=3c6b6dc0&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/steps.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var stepsvue_type_script_lang_js_={name:'ElSteps',mixins:[migrating_default.a],props:{space:[Number,String],active:Number,direction:{type:String,default:'horizontal'},alignCenter:Boolean,simple:Boolean,finishStatus:{type:String,default:'finish'},processStatus:{type:String,default:'process'}},data:function data(){return{steps:[],stepOffset:0};},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'center':'center is removed.'}};}},watch:{active:function active(newVal,oldVal){this.$emit('change',newVal,oldVal);},steps:function steps(_steps){_steps.forEach(function(child,index){child.index=index;});}}};// CONCATENATED MODULE: ./packages/steps/src/steps.vue?vue&type=script&lang=js&\n/* harmony default export */var src_stepsvue_type_script_lang_js_=stepsvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/steps/src/steps.vue\n/* normalize component */var steps_component=normalizeComponent(src_stepsvue_type_script_lang_js_,stepsvue_type_template_id_3c6b6dc0_render,stepsvue_type_template_id_3c6b6dc0_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var steps_api; }steps_component.options.__file=\"packages/steps/src/steps.vue\";/* harmony default export */var steps=steps_component.exports;// CONCATENATED MODULE: ./packages/steps/index.js\n/* istanbul ignore next */steps.install=function(Vue){Vue.component(steps.name,steps);};/* harmony default export */var packages_steps=steps;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/step.vue?vue&type=template&id=f414a87a&\nvar stepvue_type_template_id_f414a87a_render=function stepvue_type_template_id_f414a87a_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-step\",class:[!_vm.isSimple&&\"is-\"+_vm.$parent.direction,_vm.isSimple&&\"is-simple\",_vm.isLast&&!_vm.space&&!_vm.isCenter&&\"is-flex\",_vm.isCenter&&!_vm.isVertical&&!_vm.isSimple&&\"is-center\"],style:_vm.style},[_c(\"div\",{staticClass:\"el-step__head\",class:\"is-\"+_vm.currentStatus},[_c(\"div\",{staticClass:\"el-step__line\",style:_vm.isLast?\"\":{marginRight:_vm.$parent.stepOffset+\"px\"}},[_c(\"i\",{staticClass:\"el-step__line-inner\",style:_vm.lineStyle})]),_c(\"div\",{staticClass:\"el-step__icon\",class:\"is-\"+(_vm.icon?\"icon\":\"text\")},[_vm.currentStatus!==\"success\"&&_vm.currentStatus!==\"error\"?_vm._t(\"icon\",[_vm.icon?_c(\"i\",{staticClass:\"el-step__icon-inner\",class:[_vm.icon]}):_vm._e(),!_vm.icon&&!_vm.isSimple?_c(\"div\",{staticClass:\"el-step__icon-inner\"},[_vm._v(_vm._s(_vm.index+1))]):_vm._e()]):_c(\"i\",{staticClass:\"el-step__icon-inner is-status\",class:[\"el-icon-\"+(_vm.currentStatus===\"success\"?\"check\":\"close\")]})],2)]),_c(\"div\",{staticClass:\"el-step__main\"},[_c(\"div\",{ref:\"title\",staticClass:\"el-step__title\",class:[\"is-\"+_vm.currentStatus]},[_vm._t(\"title\",[_vm._v(_vm._s(_vm.title))])],2),_vm.isSimple?_c(\"div\",{staticClass:\"el-step__arrow\"}):_c(\"div\",{staticClass:\"el-step__description\",class:[\"is-\"+_vm.currentStatus]},[_vm._t(\"description\",[_vm._v(_vm._s(_vm.description))])],2)])]);};var stepvue_type_template_id_f414a87a_staticRenderFns=[];stepvue_type_template_id_f414a87a_render._withStripped=true;// CONCATENATED MODULE: ./packages/steps/src/step.vue?vue&type=template&id=f414a87a&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/step.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var stepvue_type_script_lang_js_={name:'ElStep',props:{title:String,icon:String,description:String,status:String},data:function data(){return{index:-1,lineStyle:{},internalStatus:''};},beforeCreate:function beforeCreate(){this.$parent.steps.push(this);},beforeDestroy:function beforeDestroy(){var steps=this.$parent.steps;var index=steps.indexOf(this);if(index>=0){steps.splice(index,1);}},computed:{currentStatus:function currentStatus(){return this.status||this.internalStatus;},prevStatus:function prevStatus(){var prevStep=this.$parent.steps[this.index-1];return prevStep?prevStep.currentStatus:'wait';},isCenter:function isCenter(){return this.$parent.alignCenter;},isVertical:function isVertical(){return this.$parent.direction==='vertical';},isSimple:function isSimple(){return this.$parent.simple;},isLast:function isLast(){var parent=this.$parent;return parent.steps[parent.steps.length-1]===this;},stepsCount:function stepsCount(){return this.$parent.steps.length;},space:function space(){var isSimple=this.isSimple,space=this.$parent.space;return isSimple?'':space;},style:function style(){var style={};var parent=this.$parent;var len=parent.steps.length;var space=typeof this.space==='number'?this.space+'px':this.space?this.space:100/(len-(this.isCenter?0:1))+'%';style.flexBasis=space;if(this.isVertical)return style;if(this.isLast){style.maxWidth=100/this.stepsCount+'%';}else{style.marginRight=-this.$parent.stepOffset+'px';}return style;}},methods:{updateStatus:function updateStatus(val){var prevChild=this.$parent.$children[this.index-1];if(val>this.index){this.internalStatus=this.$parent.finishStatus;}else if(val===this.index&&this.prevStatus!=='error'){this.internalStatus=this.$parent.processStatus;}else{this.internalStatus='wait';}if(prevChild)prevChild.calcProgress(this.internalStatus);},calcProgress:function calcProgress(status){var step=100;var style={};style.transitionDelay=150*this.index+'ms';if(status===this.$parent.processStatus){step=this.currentStatus!=='error'?0:0;}else if(status==='wait'){step=0;style.transitionDelay=-150*this.index+'ms';}style.borderWidth=step&&!this.isSimple?'1px':0;this.$parent.direction==='vertical'?style.height=step+'%':style.width=step+'%';this.lineStyle=style;}},mounted:function mounted(){var _this=this;var unwatch=this.$watch('index',function(val){_this.$watch('$parent.active',_this.updateStatus,{immediate:true});_this.$watch('$parent.processStatus',function(){var activeIndex=_this.$parent.active;_this.updateStatus(activeIndex);},{immediate:true});unwatch();});}};// CONCATENATED MODULE: ./packages/steps/src/step.vue?vue&type=script&lang=js&\n/* harmony default export */var src_stepvue_type_script_lang_js_=stepvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/steps/src/step.vue\n/* normalize component */var step_component=normalizeComponent(src_stepvue_type_script_lang_js_,stepvue_type_template_id_f414a87a_render,stepvue_type_template_id_f414a87a_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var step_api; }step_component.options.__file=\"packages/steps/src/step.vue\";/* harmony default export */var step=step_component.exports;// CONCATENATED MODULE: ./packages/step/index.js\n/* istanbul ignore next */step.install=function(Vue){Vue.component(step.name,step);};/* harmony default export */var packages_step=step;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/main.vue?vue&type=template&id=5d5d1482&\nvar mainvue_type_template_id_5d5d1482_render=function mainvue_type_template_id_5d5d1482_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{class:_vm.carouselClasses,on:{mouseenter:function mouseenter($event){$event.stopPropagation();return _vm.handleMouseEnter($event);},mouseleave:function mouseleave($event){$event.stopPropagation();return _vm.handleMouseLeave($event);}}},[_c(\"div\",{staticClass:\"el-carousel__container\",style:{height:_vm.height}},[_vm.arrowDisplay?_c(\"transition\",{attrs:{name:\"carousel-arrow-left\"}},[_c(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.arrow===\"always\"||_vm.hover)&&(_vm.loop||_vm.activeIndex>0),expression:\"(arrow === 'always' || hover) && (loop || activeIndex > 0)\"}],staticClass:\"el-carousel__arrow el-carousel__arrow--left\",attrs:{type:\"button\"},on:{mouseenter:function mouseenter($event){_vm.handleButtonEnter(\"left\");},mouseleave:_vm.handleButtonLeave,click:function click($event){$event.stopPropagation();_vm.throttledArrowClick(_vm.activeIndex-1);}}},[_c(\"i\",{staticClass:\"el-icon-arrow-left\"})])]):_vm._e(),_vm.arrowDisplay?_c(\"transition\",{attrs:{name:\"carousel-arrow-right\"}},[_c(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.arrow===\"always\"||_vm.hover)&&(_vm.loop||_vm.activeIndex<_vm.items.length-1),expression:\"(arrow === 'always' || hover) && (loop || activeIndex < items.length - 1)\"}],staticClass:\"el-carousel__arrow el-carousel__arrow--right\",attrs:{type:\"button\"},on:{mouseenter:function mouseenter($event){_vm.handleButtonEnter(\"right\");},mouseleave:_vm.handleButtonLeave,click:function click($event){$event.stopPropagation();_vm.throttledArrowClick(_vm.activeIndex+1);}}},[_c(\"i\",{staticClass:\"el-icon-arrow-right\"})])]):_vm._e(),_vm._t(\"default\")],2),_vm.indicatorPosition!==\"none\"?_c(\"ul\",{class:_vm.indicatorsClasses},_vm._l(_vm.items,function(item,index){return _c(\"li\",{key:index,class:[\"el-carousel__indicator\",\"el-carousel__indicator--\"+_vm.direction,{\"is-active\":index===_vm.activeIndex}],on:{mouseenter:function mouseenter($event){_vm.throttledIndicatorHover(index);},click:function click($event){$event.stopPropagation();_vm.handleIndicatorClick(index);}}},[_c(\"button\",{staticClass:\"el-carousel__button\"},[_vm.hasLabel?_c(\"span\",[_vm._v(_vm._s(item.label))]):_vm._e()])]);}),0):_vm._e()]);};var mainvue_type_template_id_5d5d1482_staticRenderFns=[];mainvue_type_template_id_5d5d1482_render._withStripped=true;// CONCATENATED MODULE: ./packages/carousel/src/main.vue?vue&type=template&id=5d5d1482&\n// EXTERNAL MODULE: external \"throttle-debounce/throttle\"\nvar throttle_=__webpack_require__(25);var throttle_default=/*#__PURE__*/__webpack_require__.n(throttle_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var carousel_src_mainvue_type_script_lang_js_={name:'ElCarousel',props:{initialIndex:{type:Number,default:0},height:String,trigger:{type:String,default:'hover'},autoplay:{type:Boolean,default:true},interval:{type:Number,default:3000},indicatorPosition:String,indicator:{type:Boolean,default:true},arrow:{type:String,default:'hover'},type:String,loop:{type:Boolean,default:true},direction:{type:String,default:'horizontal',validator:function validator(val){return['horizontal','vertical'].indexOf(val)!==-1;}}},data:function data(){return{items:[],activeIndex:-1,containerWidth:0,timer:null,hover:false};},computed:{arrowDisplay:function arrowDisplay(){return this.arrow!=='never'&&this.direction!=='vertical';},hasLabel:function hasLabel(){return this.items.some(function(item){return item.label.toString().length>0;});},carouselClasses:function carouselClasses(){var classes=['el-carousel','el-carousel--'+this.direction];if(this.type==='card'){classes.push('el-carousel--card');}return classes;},indicatorsClasses:function indicatorsClasses(){var classes=['el-carousel__indicators','el-carousel__indicators--'+this.direction];if(this.hasLabel){classes.push('el-carousel__indicators--labels');}if(this.indicatorPosition==='outside'||this.type==='card'){classes.push('el-carousel__indicators--outside');}return classes;}},watch:{items:function items(val){if(val.length>0)this.setActiveItem(this.initialIndex);},activeIndex:function activeIndex(val,oldVal){this.resetItemPosition(oldVal);if(oldVal>-1){this.$emit('change',val,oldVal);}},autoplay:function autoplay(val){val?this.startTimer():this.pauseTimer();},loop:function loop(){this.setActiveItem(this.activeIndex);},interval:function interval(){this.pauseTimer();this.startTimer();}},methods:{handleMouseEnter:function handleMouseEnter(){this.hover=true;this.pauseTimer();},handleMouseLeave:function handleMouseLeave(){this.hover=false;this.startTimer();},itemInStage:function itemInStage(item,index){var length=this.items.length;if(index===length-1&&item.inStage&&this.items[0].active||item.inStage&&this.items[index+1]&&this.items[index+1].active){return'left';}else if(index===0&&item.inStage&&this.items[length-1].active||item.inStage&&this.items[index-1]&&this.items[index-1].active){return'right';}return false;},handleButtonEnter:function handleButtonEnter(arrow){var _this=this;if(this.direction==='vertical')return;this.items.forEach(function(item,index){if(arrow===_this.itemInStage(item,index)){item.hover=true;}});},handleButtonLeave:function handleButtonLeave(){if(this.direction==='vertical')return;this.items.forEach(function(item){item.hover=false;});},updateItems:function updateItems(){this.items=this.$children.filter(function(child){return child.$options.name==='ElCarouselItem';});},resetItemPosition:function resetItemPosition(oldIndex){var _this2=this;this.items.forEach(function(item,index){item.translateItem(index,_this2.activeIndex,oldIndex);});},playSlides:function playSlides(){if(this.activeIndex<this.items.length-1){this.activeIndex++;}else if(this.loop){this.activeIndex=0;}},pauseTimer:function pauseTimer(){if(this.timer){clearInterval(this.timer);this.timer=null;}},startTimer:function startTimer(){if(this.interval<=0||!this.autoplay||this.timer)return;this.timer=setInterval(this.playSlides,this.interval);},resetTimer:function resetTimer(){this.pauseTimer();this.startTimer();},setActiveItem:function setActiveItem(index){if(typeof index==='string'){var filteredItems=this.items.filter(function(item){return item.name===index;});if(filteredItems.length>0){index=this.items.indexOf(filteredItems[0]);}}index=Number(index);if(isNaN(index)||index!==Math.floor(index)){console.warn('[Element Warn][Carousel]index must be an integer.');return;}var length=this.items.length;var oldIndex=this.activeIndex;if(index<0){this.activeIndex=this.loop?length-1:0;}else if(index>=length){this.activeIndex=this.loop?0:length-1;}else{this.activeIndex=index;}if(oldIndex===this.activeIndex){this.resetItemPosition(oldIndex);}this.resetTimer();},prev:function prev(){this.setActiveItem(this.activeIndex-1);},next:function next(){this.setActiveItem(this.activeIndex+1);},handleIndicatorClick:function handleIndicatorClick(index){this.activeIndex=index;},handleIndicatorHover:function handleIndicatorHover(index){if(this.trigger==='hover'&&index!==this.activeIndex){this.activeIndex=index;}}},created:function created(){var _this3=this;this.throttledArrowClick=throttle_default()(300,true,function(index){_this3.setActiveItem(index);});this.throttledIndicatorHover=throttle_default()(300,function(index){_this3.handleIndicatorHover(index);});},mounted:function mounted(){var _this4=this;this.updateItems();this.$nextTick(function(){Object(resize_event_[\"addResizeListener\"])(_this4.$el,_this4.resetItemPosition);if(_this4.initialIndex<_this4.items.length&&_this4.initialIndex>=0){_this4.activeIndex=_this4.initialIndex;}_this4.startTimer();});},beforeDestroy:function beforeDestroy(){if(this.$el)Object(resize_event_[\"removeResizeListener\"])(this.$el,this.resetItemPosition);this.pauseTimer();}};// CONCATENATED MODULE: ./packages/carousel/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_carousel_src_mainvue_type_script_lang_js_=carousel_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/carousel/src/main.vue\n/* normalize component */var carousel_src_main_component=normalizeComponent(packages_carousel_src_mainvue_type_script_lang_js_,mainvue_type_template_id_5d5d1482_render,mainvue_type_template_id_5d5d1482_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var carousel_src_main_api; }carousel_src_main_component.options.__file=\"packages/carousel/src/main.vue\";/* harmony default export */var carousel_src_main=carousel_src_main_component.exports;// CONCATENATED MODULE: ./packages/carousel/index.js\n/* istanbul ignore next */carousel_src_main.install=function(Vue){Vue.component(carousel_src_main.name,carousel_src_main);};/* harmony default export */var carousel=carousel_src_main;// CONCATENATED MODULE: ./packages/scrollbar/src/util.js\nvar BAR_MAP={vertical:{offset:'offsetHeight',scroll:'scrollTop',scrollSize:'scrollHeight',size:'height',key:'vertical',axis:'Y',client:'clientY',direction:'top'},horizontal:{offset:'offsetWidth',scroll:'scrollLeft',scrollSize:'scrollWidth',size:'width',key:'horizontal',axis:'X',client:'clientX',direction:'left'}};function renderThumbStyle(_ref){var move=_ref.move,size=_ref.size,bar=_ref.bar;var style={};var translate='translate'+bar.axis+'('+move+'%)';style[bar.size]=size;style.transform=translate;style.msTransform=translate;style.webkitTransform=translate;return style;};// CONCATENATED MODULE: ./packages/scrollbar/src/bar.js\n/* istanbul ignore next */ /* harmony default export */var src_bar={name:'Bar',props:{vertical:Boolean,size:String,move:Number},computed:{bar:function bar(){return BAR_MAP[this.vertical?'vertical':'horizontal'];},wrap:function wrap(){return this.$parent.wrap;}},render:function render(h){var size=this.size,move=this.move,bar=this.bar;return h('div',{'class':['el-scrollbar__bar','is-'+bar.key],on:{'mousedown':this.clickTrackHandler}},[h('div',{ref:'thumb','class':'el-scrollbar__thumb',on:{'mousedown':this.clickThumbHandler},style:renderThumbStyle({size:size,move:move,bar:bar})})]);},methods:{clickThumbHandler:function clickThumbHandler(e){// prevent click event of right button\nif(e.ctrlKey||e.button===2){return;}this.startDrag(e);this[this.bar.axis]=e.currentTarget[this.bar.offset]-(e[this.bar.client]-e.currentTarget.getBoundingClientRect()[this.bar.direction]);},clickTrackHandler:function clickTrackHandler(e){var offset=Math.abs(e.target.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]);var thumbHalf=this.$refs.thumb[this.bar.offset]/2;var thumbPositionPercentage=(offset-thumbHalf)*100/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=thumbPositionPercentage*this.wrap[this.bar.scrollSize]/100;},startDrag:function startDrag(e){e.stopImmediatePropagation();this.cursorDown=true;Object(dom_[\"on\"])(document,'mousemove',this.mouseMoveDocumentHandler);Object(dom_[\"on\"])(document,'mouseup',this.mouseUpDocumentHandler);document.onselectstart=function(){return false;};},mouseMoveDocumentHandler:function mouseMoveDocumentHandler(e){if(this.cursorDown===false)return;var prevPage=this[this.bar.axis];if(!prevPage)return;var offset=(this.$el.getBoundingClientRect()[this.bar.direction]-e[this.bar.client])*-1;var thumbClickPosition=this.$refs.thumb[this.bar.offset]-prevPage;var thumbPositionPercentage=(offset-thumbClickPosition)*100/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=thumbPositionPercentage*this.wrap[this.bar.scrollSize]/100;},mouseUpDocumentHandler:function mouseUpDocumentHandler(e){this.cursorDown=false;this[this.bar.axis]=0;Object(dom_[\"off\"])(document,'mousemove',this.mouseMoveDocumentHandler);document.onselectstart=null;}},destroyed:function destroyed(){Object(dom_[\"off\"])(document,'mouseup',this.mouseUpDocumentHandler);}};// CONCATENATED MODULE: ./packages/scrollbar/src/main.js\n// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js\n/* istanbul ignore next */ /* harmony default export */var scrollbar_src_main={name:'ElScrollbar',components:{Bar:src_bar},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,// 如果 container 尺寸不会发生变化，最好设置它可以优化性能\ntag:{type:String,default:'div'}},data:function data(){return{sizeWidth:'0',sizeHeight:'0',moveX:0,moveY:0};},computed:{wrap:function wrap(){return this.$refs.wrap;}},render:function render(h){var gutter=scrollbar_width_default()();var style=this.wrapStyle;if(gutter){var gutterWith='-'+gutter+'px';var gutterStyle='margin-bottom: '+gutterWith+'; margin-right: '+gutterWith+';';if(Array.isArray(this.wrapStyle)){style=Object(util_[\"toObject\"])(this.wrapStyle);style.marginRight=style.marginBottom=gutterWith;}else if(typeof this.wrapStyle==='string'){style+=gutterStyle;}else{style=gutterStyle;}}var view=h(this.tag,{class:['el-scrollbar__view',this.viewClass],style:this.viewStyle,ref:'resize'},this.$slots.default);var wrap=h('div',{ref:'wrap',style:style,on:{'scroll':this.handleScroll},'class':[this.wrapClass,'el-scrollbar__wrap',gutter?'':'el-scrollbar__wrap--hidden-default']},[[view]]);var nodes=void 0;if(!this.native){nodes=[wrap,h(src_bar,{attrs:{move:this.moveX,size:this.sizeWidth}}),h(src_bar,{attrs:{vertical:true,move:this.moveY,size:this.sizeHeight}})];}else{nodes=[h('div',{ref:'wrap','class':[this.wrapClass,'el-scrollbar__wrap'],style:style},[[view]])];}return h('div',{class:'el-scrollbar'},nodes);},methods:{handleScroll:function handleScroll(){var wrap=this.wrap;this.moveY=wrap.scrollTop*100/wrap.clientHeight;this.moveX=wrap.scrollLeft*100/wrap.clientWidth;},update:function update(){var heightPercentage=void 0,widthPercentage=void 0;var wrap=this.wrap;if(!wrap)return;heightPercentage=wrap.clientHeight*100/wrap.scrollHeight;widthPercentage=wrap.clientWidth*100/wrap.scrollWidth;this.sizeHeight=heightPercentage<100?heightPercentage+'%':'';this.sizeWidth=widthPercentage<100?widthPercentage+'%':'';}},mounted:function mounted(){if(this.native)return;this.$nextTick(this.update);!this.noresize&&Object(resize_event_[\"addResizeListener\"])(this.$refs.resize,this.update);},beforeDestroy:function beforeDestroy(){if(this.native)return;!this.noresize&&Object(resize_event_[\"removeResizeListener\"])(this.$refs.resize,this.update);}};// CONCATENATED MODULE: ./packages/scrollbar/index.js\n/* istanbul ignore next */scrollbar_src_main.install=function(Vue){Vue.component(scrollbar_src_main.name,scrollbar_src_main);};/* harmony default export */var scrollbar=scrollbar_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/item.vue?vue&type=template&id=1801ae19&\nvar itemvue_type_template_id_1801ae19_render=function itemvue_type_template_id_1801ae19_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.ready,expression:\"ready\"}],staticClass:\"el-carousel__item\",class:{\"is-active\":_vm.active,\"el-carousel__item--card\":_vm.$parent.type===\"card\",\"is-in-stage\":_vm.inStage,\"is-hover\":_vm.hover,\"is-animating\":_vm.animating},style:_vm.itemStyle,on:{click:_vm.handleItemClick}},[_vm.$parent.type===\"card\"?_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!_vm.active,expression:\"!active\"}],staticClass:\"el-carousel__mask\"}):_vm._e(),_vm._t(\"default\")],2);};var itemvue_type_template_id_1801ae19_staticRenderFns=[];itemvue_type_template_id_1801ae19_render._withStripped=true;// CONCATENATED MODULE: ./packages/carousel/src/item.vue?vue&type=template&id=1801ae19&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar CARD_SCALE=0.83;/* harmony default export */var itemvue_type_script_lang_js_={name:'ElCarouselItem',props:{name:String,label:{type:[String,Number],default:''}},data:function data(){return{hover:false,translate:0,scale:1,active:false,ready:false,inStage:false,animating:false};},methods:{processIndex:function processIndex(index,activeIndex,length){if(activeIndex===0&&index===length-1){return-1;}else if(activeIndex===length-1&&index===0){return length;}else if(index<activeIndex-1&&activeIndex-index>=length/2){return length+1;}else if(index>activeIndex+1&&index-activeIndex>=length/2){return-2;}return index;},calcCardTranslate:function calcCardTranslate(index,activeIndex){var parentWidth=this.$parent.$el.offsetWidth;if(this.inStage){return parentWidth*((2-CARD_SCALE)*(index-activeIndex)+1)/4;}else if(index<activeIndex){return-(1+CARD_SCALE)*parentWidth/4;}else{return(3+CARD_SCALE)*parentWidth/4;}},calcTranslate:function calcTranslate(index,activeIndex,isVertical){var distance=this.$parent.$el[isVertical?'offsetHeight':'offsetWidth'];return distance*(index-activeIndex);},translateItem:function translateItem(index,activeIndex,oldIndex){var parentType=this.$parent.type;var parentDirection=this.parentDirection;var length=this.$parent.items.length;if(parentType!=='card'&&oldIndex!==undefined){this.animating=index===activeIndex||index===oldIndex;}if(index!==activeIndex&&length>2&&this.$parent.loop){index=this.processIndex(index,activeIndex,length);}if(parentType==='card'){if(parentDirection==='vertical'){console.warn('[Element Warn][Carousel]vertical direction is not supported in card mode');}this.inStage=Math.round(Math.abs(index-activeIndex))<=1;this.active=index===activeIndex;this.translate=this.calcCardTranslate(index,activeIndex);this.scale=this.active?1:CARD_SCALE;}else{this.active=index===activeIndex;var isVertical=parentDirection==='vertical';this.translate=this.calcTranslate(index,activeIndex,isVertical);this.scale=1;}this.ready=true;},handleItemClick:function handleItemClick(){var parent=this.$parent;if(parent&&parent.type==='card'){var index=parent.items.indexOf(this);parent.setActiveItem(index);}}},computed:{parentDirection:function parentDirection(){return this.$parent.direction;},itemStyle:function itemStyle(){var translateType=this.parentDirection==='vertical'?'translateY':'translateX';var value=translateType+'('+this.translate+'px) scale('+this.scale+')';var style={transform:value};return Object(util_[\"autoprefixer\"])(style);}},created:function created(){this.$parent&&this.$parent.updateItems();},destroyed:function destroyed(){this.$parent&&this.$parent.updateItems();}};// CONCATENATED MODULE: ./packages/carousel/src/item.vue?vue&type=script&lang=js&\n/* harmony default export */var src_itemvue_type_script_lang_js_=itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/carousel/src/item.vue\n/* normalize component */var item_component=normalizeComponent(src_itemvue_type_script_lang_js_,itemvue_type_template_id_1801ae19_render,itemvue_type_template_id_1801ae19_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var item_api; }item_component.options.__file=\"packages/carousel/src/item.vue\";/* harmony default export */var src_item=item_component.exports;// CONCATENATED MODULE: ./packages/carousel-item/index.js\n/* istanbul ignore next */src_item.install=function(Vue){Vue.component(src_item.name,src_item);};/* harmony default export */var carousel_item=src_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse.vue?vue&type=template&id=461d57f4&\nvar collapsevue_type_template_id_461d57f4_render=function collapsevue_type_template_id_461d57f4_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-collapse\",attrs:{role:\"tablist\",\"aria-multiselectable\":\"true\"}},[_vm._t(\"default\")],2);};var collapsevue_type_template_id_461d57f4_staticRenderFns=[];collapsevue_type_template_id_461d57f4_render._withStripped=true;// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue?vue&type=template&id=461d57f4&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n/* harmony default export */var collapsevue_type_script_lang_js_={name:'ElCollapse',componentName:'ElCollapse',props:{accordion:Boolean,value:{type:[Array,String,Number],default:function _default(){return[];}}},data:function data(){return{activeNames:[].concat(this.value)};},provide:function provide(){return{collapse:this};},watch:{value:function value(_value){this.activeNames=[].concat(_value);}},methods:{setActiveNames:function setActiveNames(activeNames){activeNames=[].concat(activeNames);var value=this.accordion?activeNames[0]:activeNames;this.activeNames=activeNames;this.$emit('input',value);this.$emit('change',value);},handleItemClick:function handleItemClick(item){if(this.accordion){this.setActiveNames((this.activeNames[0]||this.activeNames[0]===0)&&this.activeNames[0]===item.name?'':item.name);}else{var activeNames=this.activeNames.slice(0);var index=activeNames.indexOf(item.name);if(index>-1){activeNames.splice(index,1);}else{activeNames.push(item.name);}this.setActiveNames(activeNames);}}},created:function created(){this.$on('item-click',this.handleItemClick);}};// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue?vue&type=script&lang=js&\n/* harmony default export */var src_collapsevue_type_script_lang_js_=collapsevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue\n/* normalize component */var collapse_component=normalizeComponent(src_collapsevue_type_script_lang_js_,collapsevue_type_template_id_461d57f4_render,collapsevue_type_template_id_461d57f4_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var collapse_api; }collapse_component.options.__file=\"packages/collapse/src/collapse.vue\";/* harmony default export */var collapse=collapse_component.exports;// CONCATENATED MODULE: ./packages/collapse/index.js\n/* istanbul ignore next */collapse.install=function(Vue){Vue.component(collapse.name,collapse);};/* harmony default export */var packages_collapse=collapse;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse-item.vue?vue&type=template&id=2d05faac&\nvar collapse_itemvue_type_template_id_2d05faac_render=function collapse_itemvue_type_template_id_2d05faac_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-collapse-item\",class:{\"is-active\":_vm.isActive,\"is-disabled\":_vm.disabled}},[_c(\"div\",{attrs:{role:\"tab\",\"aria-expanded\":_vm.isActive,\"aria-controls\":\"el-collapse-content-\"+_vm.id,\"aria-describedby\":\"el-collapse-content-\"+_vm.id}},[_c(\"div\",{staticClass:\"el-collapse-item__header\",class:{focusing:_vm.focusing,\"is-active\":_vm.isActive},attrs:{role:\"button\",id:\"el-collapse-head-\"+_vm.id,tabindex:_vm.disabled?undefined:0},on:{click:_vm.handleHeaderClick,keyup:function keyup($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}$event.stopPropagation();return _vm.handleEnterClick($event);},focus:_vm.handleFocus,blur:function blur($event){_vm.focusing=false;}}},[_vm._t(\"title\",[_vm._v(_vm._s(_vm.title))]),_c(\"i\",{staticClass:\"el-collapse-item__arrow el-icon-arrow-right\",class:{\"is-active\":_vm.isActive}})],2)]),_c(\"el-collapse-transition\",[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.isActive,expression:\"isActive\"}],staticClass:\"el-collapse-item__wrap\",attrs:{role:\"tabpanel\",\"aria-hidden\":!_vm.isActive,\"aria-labelledby\":\"el-collapse-head-\"+_vm.id,id:\"el-collapse-content-\"+_vm.id}},[_c(\"div\",{staticClass:\"el-collapse-item__content\"},[_vm._t(\"default\")],2)])])],1);};var collapse_itemvue_type_template_id_2d05faac_staticRenderFns=[];collapse_itemvue_type_template_id_2d05faac_render._withStripped=true;// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue?vue&type=template&id=2d05faac&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var collapse_itemvue_type_script_lang_js_={name:'ElCollapseItem',componentName:'ElCollapseItem',mixins:[emitter_default.a],components:{ElCollapseTransition:collapse_transition_default.a},data:function data(){return{contentWrapStyle:{height:'auto',display:'block'},contentHeight:0,focusing:false,isClick:false,id:Object(util_[\"generateId\"])()};},inject:['collapse'],props:{title:String,name:{type:[String,Number],default:function _default(){return this._uid;}},disabled:Boolean},computed:{isActive:function isActive(){return this.collapse.activeNames.indexOf(this.name)>-1;}},methods:{handleFocus:function handleFocus(){var _this=this;setTimeout(function(){if(!_this.isClick){_this.focusing=true;}else{_this.isClick=false;}},50);},handleHeaderClick:function handleHeaderClick(){if(this.disabled)return;this.dispatch('ElCollapse','item-click',this);this.focusing=false;this.isClick=true;},handleEnterClick:function handleEnterClick(){this.dispatch('ElCollapse','item-click',this);}}};// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue?vue&type=script&lang=js&\n/* harmony default export */var src_collapse_itemvue_type_script_lang_js_=collapse_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue\n/* normalize component */var collapse_item_component=normalizeComponent(src_collapse_itemvue_type_script_lang_js_,collapse_itemvue_type_template_id_2d05faac_render,collapse_itemvue_type_template_id_2d05faac_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var collapse_item_api; }collapse_item_component.options.__file=\"packages/collapse/src/collapse-item.vue\";/* harmony default export */var collapse_item=collapse_item_component.exports;// CONCATENATED MODULE: ./packages/collapse-item/index.js\n/* istanbul ignore next */collapse_item.install=function(Vue){Vue.component(collapse_item.name,collapse_item);};/* harmony default export */var packages_collapse_item=collapse_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6&\nvar cascadervue_type_template_id_032537a6_render=function cascadervue_type_template_id_032537a6_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:function value(){return _vm.toggleDropDownVisible(false);},expression:\"() => toggleDropDownVisible(false)\"}],ref:\"reference\",class:[\"el-cascader\",_vm.realSize&&\"el-cascader--\"+_vm.realSize,{\"is-disabled\":_vm.isDisabled}],on:{mouseenter:function mouseenter($event){_vm.inputHover=true;},mouseleave:function mouseleave($event){_vm.inputHover=false;},click:function click(){return _vm.toggleDropDownVisible(_vm.readonly?undefined:true);},keydown:_vm.handleKeyDown}},[_c(\"el-input\",{ref:\"input\",class:{\"is-focus\":_vm.dropDownVisible},attrs:{size:_vm.realSize,placeholder:_vm.placeholder,readonly:_vm.readonly,disabled:_vm.isDisabled,\"validate-event\":false},on:{focus:_vm.handleFocus,blur:_vm.handleBlur,input:_vm.handleInput},model:{value:_vm.multiple?_vm.presentText:_vm.inputValue,callback:function callback($$v){_vm.multiple?_vm.presentText:_vm.inputValue=$$v;},expression:\"multiple ? presentText : inputValue\"}},[_c(\"template\",{slot:\"suffix\"},[_vm.clearBtnVisible?_c(\"i\",{key:\"clear\",staticClass:\"el-input__icon el-icon-circle-close\",on:{click:function click($event){$event.stopPropagation();return _vm.handleClear($event);}}}):_c(\"i\",{key:\"arrow-down\",class:[\"el-input__icon\",\"el-icon-arrow-down\",_vm.dropDownVisible&&\"is-reverse\"],on:{click:function click($event){$event.stopPropagation();_vm.toggleDropDownVisible();}}})])],2),_vm.multiple?_c(\"div\",{staticClass:\"el-cascader__tags\"},[_vm._l(_vm.presentTags,function(tag){return _c(\"el-tag\",{key:tag.key,attrs:{type:\"info\",size:_vm.tagSize,hit:tag.hitState,closable:tag.closable,\"disable-transitions\":\"\"},on:{close:function close($event){_vm.deleteTag(tag);}}},[_c(\"span\",[_vm._v(_vm._s(tag.text))])]);}),_vm.filterable&&!_vm.isDisabled?_c(\"input\",{directives:[{name:\"model\",rawName:\"v-model.trim\",value:_vm.inputValue,expression:\"inputValue\",modifiers:{trim:true}}],staticClass:\"el-cascader__search-input\",attrs:{type:\"text\",placeholder:_vm.presentTags.length?\"\":_vm.placeholder},domProps:{value:_vm.inputValue},on:{input:[function($event){if($event.target.composing){return;}_vm.inputValue=$event.target.value.trim();},function(e){return _vm.handleInput(_vm.inputValue,e);}],click:function click($event){$event.stopPropagation();_vm.toggleDropDownVisible(true);},keydown:function keydown($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"delete\",[8,46],$event.key,[\"Backspace\",\"Delete\",\"Del\"])){return null;}return _vm.handleDelete($event);},blur:function blur($event){_vm.$forceUpdate();}}}):_vm._e()],2):_vm._e(),_c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":_vm.handleDropdownLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.dropDownVisible,expression:\"dropDownVisible\"}],ref:\"popper\",class:[\"el-popper\",\"el-cascader__dropdown\",_vm.popperClass]},[_c(\"el-cascader-panel\",{directives:[{name:\"show\",rawName:\"v-show\",value:!_vm.filtering,expression:\"!filtering\"}],ref:\"panel\",attrs:{options:_vm.options,props:_vm.config,border:false,\"render-label\":_vm.$scopedSlots.default},on:{\"expand-change\":_vm.handleExpandChange,close:function close($event){_vm.toggleDropDownVisible(false);}},model:{value:_vm.checkedValue,callback:function callback($$v){_vm.checkedValue=$$v;},expression:\"checkedValue\"}}),_vm.filterable?_c(\"el-scrollbar\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.filtering,expression:\"filtering\"}],ref:\"suggestionPanel\",staticClass:\"el-cascader__suggestion-panel\",attrs:{tag:\"ul\",\"view-class\":\"el-cascader__suggestion-list\"},nativeOn:{keydown:function keydown($event){return _vm.handleSuggestionKeyDown($event);}}},[_vm.suggestions.length?_vm._l(_vm.suggestions,function(item,index){return _c(\"li\",{key:item.uid,class:[\"el-cascader__suggestion-item\",item.checked&&\"is-checked\"],attrs:{tabindex:-1},on:{click:function click($event){_vm.handleSuggestionClick(index);}}},[_c(\"span\",[_vm._v(_vm._s(item.text))]),item.checked?_c(\"i\",{staticClass:\"el-icon-check\"}):_vm._e()]);}):_vm._t(\"empty\",[_c(\"li\",{staticClass:\"el-cascader__empty-text\"},[_vm._v(_vm._s(_vm.t(\"el.cascader.noMatch\")))])])],2):_vm._e()],1)])],1);};var cascadervue_type_template_id_032537a6_staticRenderFns=[];cascadervue_type_template_id_032537a6_render._withStripped=true;// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6&\n// EXTERNAL MODULE: external \"element-ui/lib/cascader-panel\"\nvar cascader_panel_=__webpack_require__(42);var cascader_panel_default=/*#__PURE__*/__webpack_require__.n(cascader_panel_);// EXTERNAL MODULE: external \"element-ui/lib/utils/aria-utils\"\nvar aria_utils_=__webpack_require__(34);var aria_utils_default=/*#__PURE__*/__webpack_require__.n(aria_utils_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar KeyCode=aria_utils_default.a.keys;var MigratingProps={expandTrigger:{newProp:'expandTrigger',type:String},changeOnSelect:{newProp:'checkStrictly',type:Boolean},hoverThreshold:{newProp:'hoverThreshold',type:Number}};var PopperMixin={props:{placement:{type:String,default:'bottom-start'},appendToBody:vue_popper_default.a.props.appendToBody,visibleArrow:{type:Boolean,default:true},arrowOffset:vue_popper_default.a.props.arrowOffset,offset:vue_popper_default.a.props.offset,boundariesPadding:vue_popper_default.a.props.boundariesPadding,popperOptions:vue_popper_default.a.props.popperOptions},methods:vue_popper_default.a.methods,data:vue_popper_default.a.data,beforeDestroy:vue_popper_default.a.beforeDestroy};var InputSizeMap={medium:36,small:32,mini:28};/* harmony default export */var cascadervue_type_script_lang_js_={name:'ElCascader',directives:{Clickoutside:clickoutside_default.a},mixins:[PopperMixin,emitter_default.a,locale_default.a,migrating_default.a],inject:{elForm:{default:''},elFormItem:{default:''}},components:{ElInput:input_default.a,ElTag:tag_default.a,ElScrollbar:scrollbar_default.a,ElCascaderPanel:cascader_panel_default.a},props:{value:{},options:Array,props:Object,size:String,placeholder:{type:String,default:function _default(){return Object(lib_locale_[\"t\"])('el.cascader.placeholder');}},disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:Function,separator:{type:String,default:' / '},showAllLevels:{type:Boolean,default:true},collapseTags:Boolean,debounce:{type:Number,default:300},beforeFilter:{type:Function,default:function _default(){return function(){};}},popperClass:String},data:function data(){return{dropDownVisible:false,checkedValue:this.value,inputHover:false,inputValue:null,presentText:null,presentTags:[],checkedNodes:[],filtering:false,suggestions:[],inputInitialHeight:0,pressDeleteCount:0};},computed:{realSize:function realSize(){var _elFormItemSize=(this.elFormItem||{}).elFormItemSize;return this.size||_elFormItemSize||(this.$ELEMENT||{}).size;},tagSize:function tagSize(){return['small','mini'].indexOf(this.realSize)>-1?'mini':'small';},isDisabled:function isDisabled(){return this.disabled||(this.elForm||{}).disabled;},config:function config(){var config=this.props||{};var $attrs=this.$attrs;Object.keys(MigratingProps).forEach(function(oldProp){var _MigratingProps$oldPr=MigratingProps[oldProp],newProp=_MigratingProps$oldPr.newProp,type=_MigratingProps$oldPr.type;var oldValue=$attrs[oldProp]||$attrs[Object(util_[\"kebabCase\"])(oldProp)];if(Object(shared_[\"isDef\"])(oldProp)&&!Object(shared_[\"isDef\"])(config[newProp])){if(type===Boolean&&oldValue===''){oldValue=true;}config[newProp]=oldValue;}});return config;},multiple:function multiple(){return this.config.multiple;},leafOnly:function leafOnly(){return!this.config.checkStrictly;},readonly:function readonly(){return!this.filterable||this.multiple;},clearBtnVisible:function clearBtnVisible(){if(!this.clearable||this.isDisabled||this.filtering||!this.inputHover){return false;}return this.multiple?!!this.checkedNodes.filter(function(node){return!node.isDisabled;}).length:!!this.presentText;},panel:function panel(){return this.$refs.panel;}},watch:{disabled:function disabled(){this.computePresentContent();},value:function value(val){if(!Object(util_[\"isEqual\"])(val,this.checkedValue)){this.checkedValue=val;this.computePresentContent();}},checkedValue:function checkedValue(val){var value=this.value,dropDownVisible=this.dropDownVisible;var _config=this.config,checkStrictly=_config.checkStrictly,multiple=_config.multiple;if(!Object(util_[\"isEqual\"])(val,value)||Object(types_[\"isUndefined\"])(value)){this.computePresentContent();// hide dropdown when single mode\nif(!multiple&&!checkStrictly&&dropDownVisible){this.toggleDropDownVisible(false);}this.$emit('input',val);this.$emit('change',val);this.dispatch('ElFormItem','el.form.change',[val]);}},options:{handler:function handler(){this.$nextTick(this.computePresentContent);},deep:true},presentText:function presentText(val){this.inputValue=val;},presentTags:function presentTags(val,oldVal){if(this.multiple&&(val.length||oldVal.length)){this.$nextTick(this.updateStyle);}},filtering:function filtering(val){this.$nextTick(this.updatePopper);}},mounted:function mounted(){var _this=this;var input=this.$refs.input;if(input&&input.$el){this.inputInitialHeight=input.$el.offsetHeight||InputSizeMap[this.realSize]||40;}if(!this.isEmptyValue(this.value)){this.computePresentContent();}this.filterHandler=debounce_default()(this.debounce,function(){var inputValue=_this.inputValue;if(!inputValue){_this.filtering=false;return;}var before=_this.beforeFilter(inputValue);if(before&&before.then){before.then(_this.getSuggestions);}else if(before!==false){_this.getSuggestions();}else{_this.filtering=false;}});Object(resize_event_[\"addResizeListener\"])(this.$el,this.updateStyle);},beforeDestroy:function beforeDestroy(){Object(resize_event_[\"removeResizeListener\"])(this.$el,this.updateStyle);},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'expand-trigger':'expand-trigger is removed, use `props.expandTrigger` instead.','change-on-select':'change-on-select is removed, use `props.checkStrictly` instead.','hover-threshold':'hover-threshold is removed, use `props.hoverThreshold` instead'},events:{'active-item-change':'active-item-change is renamed to expand-change'}};},toggleDropDownVisible:function toggleDropDownVisible(visible){var _this2=this;if(this.isDisabled)return;var dropDownVisible=this.dropDownVisible;var input=this.$refs.input;visible=Object(shared_[\"isDef\"])(visible)?visible:!dropDownVisible;if(visible!==dropDownVisible){this.dropDownVisible=visible;if(visible){this.$nextTick(function(){_this2.updatePopper();_this2.panel.scrollIntoView();});}input.$refs.input.setAttribute('aria-expanded',visible);this.$emit('visible-change',visible);}},handleDropdownLeave:function handleDropdownLeave(){this.filtering=false;this.inputValue=this.presentText;this.doDestroy();},handleKeyDown:function handleKeyDown(event){switch(event.keyCode){case KeyCode.enter:this.toggleDropDownVisible();break;case KeyCode.down:this.toggleDropDownVisible(true);this.focusFirstNode();event.preventDefault();break;case KeyCode.esc:case KeyCode.tab:this.toggleDropDownVisible(false);break;}},handleFocus:function handleFocus(e){this.$emit('focus',e);},handleBlur:function handleBlur(e){this.$emit('blur',e);},handleInput:function handleInput(val,event){!this.dropDownVisible&&this.toggleDropDownVisible(true);if(event&&event.isComposing)return;if(val){this.filterHandler();}else{this.filtering=false;}},handleClear:function handleClear(){this.presentText='';this.panel.clearCheckedNodes();},handleExpandChange:function handleExpandChange(value){this.$nextTick(this.updatePopper.bind(this));this.$emit('expand-change',value);this.$emit('active-item-change',value);// Deprecated\n},focusFirstNode:function focusFirstNode(){var _this3=this;this.$nextTick(function(){var filtering=_this3.filtering;var _$refs=_this3.$refs,popper=_$refs.popper,suggestionPanel=_$refs.suggestionPanel;var firstNode=null;if(filtering&&suggestionPanel){firstNode=suggestionPanel.$el.querySelector('.el-cascader__suggestion-item');}else{var firstMenu=popper.querySelector('.el-cascader-menu');firstNode=firstMenu.querySelector('.el-cascader-node[tabindex=\"-1\"]');}if(firstNode){firstNode.focus();!filtering&&firstNode.click();}});},computePresentContent:function computePresentContent(){var _this4=this;// nextTick is required, because checked nodes may not change right now\nthis.$nextTick(function(){if(_this4.config.multiple){_this4.computePresentTags();_this4.presentText=_this4.presentTags.length?' ':null;}else{_this4.computePresentText();}});},isEmptyValue:function isEmptyValue(val){var multiple=this.multiple;var emitPath=this.panel.config.emitPath;if(multiple||emitPath){return Object(util_[\"isEmpty\"])(val);}return false;},computePresentText:function computePresentText(){var checkedValue=this.checkedValue,config=this.config;if(!this.isEmptyValue(checkedValue)){var node=this.panel.getNodeByValue(checkedValue);if(node&&(config.checkStrictly||node.isLeaf)){this.presentText=node.getText(this.showAllLevels,this.separator);return;}}this.presentText=null;},computePresentTags:function computePresentTags(){var isDisabled=this.isDisabled,leafOnly=this.leafOnly,showAllLevels=this.showAllLevels,separator=this.separator,collapseTags=this.collapseTags;var checkedNodes=this.getCheckedNodes(leafOnly);var tags=[];var genTag=function genTag(node){return{node:node,key:node.uid,text:node.getText(showAllLevels,separator),hitState:false,closable:!isDisabled&&!node.isDisabled};};if(checkedNodes.length){var first=checkedNodes[0],rest=checkedNodes.slice(1);var restCount=rest.length;tags.push(genTag(first));if(restCount){if(collapseTags){tags.push({key:-1,text:'+ '+restCount,closable:false});}else{rest.forEach(function(node){return tags.push(genTag(node));});}}}this.checkedNodes=checkedNodes;this.presentTags=tags;},getSuggestions:function getSuggestions(){var _this5=this;var filterMethod=this.filterMethod;if(!Object(types_[\"isFunction\"])(filterMethod)){filterMethod=function filterMethod(node,keyword){return node.text.includes(keyword);};}var suggestions=this.panel.getFlattedNodes(this.leafOnly).filter(function(node){if(node.isDisabled)return false;node.text=node.getText(_this5.showAllLevels,_this5.separator)||'';return filterMethod(node,_this5.inputValue);});if(this.multiple){this.presentTags.forEach(function(tag){tag.hitState=false;});}else{suggestions.forEach(function(node){node.checked=Object(util_[\"isEqual\"])(_this5.checkedValue,node.getValueByOption());});}this.filtering=true;this.suggestions=suggestions;this.$nextTick(this.updatePopper);},handleSuggestionKeyDown:function handleSuggestionKeyDown(event){var keyCode=event.keyCode,target=event.target;switch(keyCode){case KeyCode.enter:target.click();break;case KeyCode.up:var prev=target.previousElementSibling;prev&&prev.focus();break;case KeyCode.down:var next=target.nextElementSibling;next&&next.focus();break;case KeyCode.esc:case KeyCode.tab:this.toggleDropDownVisible(false);break;}},handleDelete:function handleDelete(){var inputValue=this.inputValue,pressDeleteCount=this.pressDeleteCount,presentTags=this.presentTags;var lastIndex=presentTags.length-1;var lastTag=presentTags[lastIndex];this.pressDeleteCount=inputValue?0:pressDeleteCount+1;if(!lastTag)return;if(this.pressDeleteCount){if(lastTag.hitState){this.deleteTag(lastTag);}else{lastTag.hitState=true;}}},handleSuggestionClick:function handleSuggestionClick(index){var multiple=this.multiple;var targetNode=this.suggestions[index];if(multiple){var checked=targetNode.checked;targetNode.doCheck(!checked);this.panel.calculateMultiCheckedValue();}else{this.checkedValue=targetNode.getValueByOption();this.toggleDropDownVisible(false);}},deleteTag:function deleteTag(tag){var checkedValue=this.checkedValue;var current=tag.node.getValueByOption();var val=checkedValue.find(function(n){return Object(util_[\"isEqual\"])(n,current);});this.checkedValue=checkedValue.filter(function(n){return!Object(util_[\"isEqual\"])(n,current);});this.$emit('remove-tag',val);},updateStyle:function updateStyle(){var $el=this.$el,inputInitialHeight=this.inputInitialHeight;if(this.$isServer||!$el)return;var suggestionPanel=this.$refs.suggestionPanel;var inputInner=$el.querySelector('.el-input__inner');if(!inputInner)return;var tags=$el.querySelector('.el-cascader__tags');var suggestionPanelEl=null;if(suggestionPanel&&(suggestionPanelEl=suggestionPanel.$el)){var suggestionList=suggestionPanelEl.querySelector('.el-cascader__suggestion-list');suggestionList.style.minWidth=inputInner.offsetWidth+'px';}if(tags){var offsetHeight=Math.round(tags.getBoundingClientRect().height);var height=Math.max(offsetHeight+6,inputInitialHeight)+'px';inputInner.style.height=height;if(this.dropDownVisible){this.updatePopper();}}},/**\n     * public methods\n    */getCheckedNodes:function getCheckedNodes(leafOnly){return this.panel.getCheckedNodes(leafOnly);}}};// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=script&lang=js&\n/* harmony default export */var src_cascadervue_type_script_lang_js_=cascadervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue\n/* normalize component */var cascader_component=normalizeComponent(src_cascadervue_type_script_lang_js_,cascadervue_type_template_id_032537a6_render,cascadervue_type_template_id_032537a6_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var cascader_api; }cascader_component.options.__file=\"packages/cascader/src/cascader.vue\";/* harmony default export */var cascader=cascader_component.exports;// CONCATENATED MODULE: ./packages/cascader/index.js\n/* istanbul ignore next */cascader.install=function(Vue){Vue.component(cascader.name,cascader);};/* harmony default export */var packages_cascader=cascader;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7&\nvar mainvue_type_template_id_55c8ade7_render=function mainvue_type_template_id_55c8ade7_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:_vm.hide,expression:\"hide\"}],class:[\"el-color-picker\",_vm.colorDisabled?\"is-disabled\":\"\",_vm.colorSize?\"el-color-picker--\"+_vm.colorSize:\"\"]},[_vm.colorDisabled?_c(\"div\",{staticClass:\"el-color-picker__mask\"}):_vm._e(),_c(\"div\",{staticClass:\"el-color-picker__trigger\",on:{click:_vm.handleTrigger}},[_c(\"span\",{staticClass:\"el-color-picker__color\",class:{\"is-alpha\":_vm.showAlpha}},[_c(\"span\",{staticClass:\"el-color-picker__color-inner\",style:{backgroundColor:_vm.displayedColor}}),!_vm.value&&!_vm.showPanelColor?_c(\"span\",{staticClass:\"el-color-picker__empty el-icon-close\"}):_vm._e()]),_c(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.value||_vm.showPanelColor,expression:\"value || showPanelColor\"}],staticClass:\"el-color-picker__icon el-icon-arrow-down\"})]),_c(\"picker-dropdown\",{ref:\"dropdown\",class:[\"el-color-picker__panel\",_vm.popperClass||\"\"],attrs:{color:_vm.color,\"show-alpha\":_vm.showAlpha,predefine:_vm.predefine},on:{pick:_vm.confirmValue,clear:_vm.clearValue},model:{value:_vm.showPicker,callback:function callback($$v){_vm.showPicker=$$v;},expression:\"showPicker\"}})],1);};var mainvue_type_template_id_55c8ade7_staticRenderFns=[];mainvue_type_template_id_55c8ade7_render._withStripped=true;// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7&\n// CONCATENATED MODULE: ./packages/color-picker/src/color.js\nvar color_typeof=typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":_typeof2(obj);};function color_classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var hsv2hsl=function hsv2hsl(hue,sat,val){return[hue,sat*val/((hue=(2-sat)*val)<1?hue:2-hue)||0,hue/2];};// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nvar isOnePointZero=function isOnePointZero(n){return typeof n==='string'&&n.indexOf('.')!==-1&&parseFloat(n)===1;};var isPercentage=function isPercentage(n){return typeof n==='string'&&n.indexOf('%')!==-1;};// Take input from [0, n] and return it as [0, 1]\nvar bound01=function bound01(value,max){if(isOnePointZero(value))value='100%';var processPercent=isPercentage(value);value=Math.min(max,Math.max(0,parseFloat(value)));// Automatically convert percentage into number\nif(processPercent){value=parseInt(value*max,10)/100;}// Handle floating point rounding errors\nif(Math.abs(value-max)<0.000001){return 1;}// Convert into [0, 1] range if it isn't already\nreturn value%max/parseFloat(max);};var INT_HEX_MAP={10:'A',11:'B',12:'C',13:'D',14:'E',15:'F'};var toHex=function toHex(_ref){var r=_ref.r,g=_ref.g,b=_ref.b;var hexOne=function hexOne(value){value=Math.min(Math.round(value),255);var high=Math.floor(value/16);var low=value%16;return''+(INT_HEX_MAP[high]||high)+(INT_HEX_MAP[low]||low);};if(isNaN(r)||isNaN(g)||isNaN(b))return'';return'#'+hexOne(r)+hexOne(g)+hexOne(b);};var HEX_INT_MAP={A:10,B:11,C:12,D:13,E:14,F:15};var parseHexChannel=function parseHexChannel(hex){if(hex.length===2){return(HEX_INT_MAP[hex[0].toUpperCase()]||+hex[0])*16+(HEX_INT_MAP[hex[1].toUpperCase()]||+hex[1]);}return HEX_INT_MAP[hex[1].toUpperCase()]||+hex[1];};var hsl2hsv=function hsl2hsv(hue,sat,light){sat=sat/100;light=light/100;var smin=sat;var lmin=Math.max(light,0.01);var sv=void 0;var v=void 0;light*=2;sat*=light<=1?light:2-light;smin*=lmin<=1?lmin:2-lmin;v=(light+sat)/2;sv=light===0?2*smin/(lmin+smin):2*sat/(light+sat);return{h:hue,s:sv*100,v:v*100};};// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nvar rgb2hsv=function rgb2hsv(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=Math.max(r,g,b);var min=Math.min(r,g,b);var h=void 0,s=void 0;var v=max;var d=max-min;s=max===0?0:d/max;if(max===min){h=0;// achromatic\n}else{switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break;}h/=6;}return{h:h*360,s:s*100,v:v*100};};// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nvar hsv2rgb=function hsv2rgb(h,s,v){h=bound01(h,360)*6;s=bound01(s,100);v=bound01(v,100);var i=Math.floor(h);var f=h-i;var p=v*(1-s);var q=v*(1-f*s);var t=v*(1-(1-f)*s);var mod=i%6;var r=[v,q,p,p,t,v][mod];var g=[t,v,v,q,p,p][mod];var b=[p,p,t,v,v,q][mod];return{r:Math.round(r*255),g:Math.round(g*255),b:Math.round(b*255)};};var Color=function(){function Color(options){color_classCallCheck(this,Color);this._hue=0;this._saturation=100;this._value=100;this._alpha=100;this.enableAlpha=false;this.format='hex';this.value='';options=options||{};for(var option in options){if(options.hasOwnProperty(option)){this[option]=options[option];}}this.doOnChange();}Color.prototype.set=function set(prop,value){if(arguments.length===1&&(typeof prop==='undefined'?'undefined':color_typeof(prop))==='object'){for(var p in prop){if(prop.hasOwnProperty(p)){this.set(p,prop[p]);}}return;}this['_'+prop]=value;this.doOnChange();};Color.prototype.get=function get(prop){return this['_'+prop];};Color.prototype.toRgb=function toRgb(){return hsv2rgb(this._hue,this._saturation,this._value);};Color.prototype.fromString=function fromString(value){var _this=this;if(!value){this._hue=0;this._saturation=100;this._value=100;this.doOnChange();return;}var fromHSV=function fromHSV(h,s,v){_this._hue=Math.max(0,Math.min(360,h));_this._saturation=Math.max(0,Math.min(100,s));_this._value=Math.max(0,Math.min(100,v));_this.doOnChange();};if(value.indexOf('hsl')!==-1){var parts=value.replace(/hsla|hsl|\\(|\\)/gm,'').split(/\\s|,/g).filter(function(val){return val!=='';}).map(function(val,index){return index>2?parseFloat(val):parseInt(val,10);});if(parts.length===4){this._alpha=Math.floor(parseFloat(parts[3])*100);}else if(parts.length===3){this._alpha=100;}if(parts.length>=3){var _hsl2hsv=hsl2hsv(parts[0],parts[1],parts[2]),h=_hsl2hsv.h,s=_hsl2hsv.s,v=_hsl2hsv.v;fromHSV(h,s,v);}}else if(value.indexOf('hsv')!==-1){var _parts=value.replace(/hsva|hsv|\\(|\\)/gm,'').split(/\\s|,/g).filter(function(val){return val!=='';}).map(function(val,index){return index>2?parseFloat(val):parseInt(val,10);});if(_parts.length===4){this._alpha=Math.floor(parseFloat(_parts[3])*100);}else if(_parts.length===3){this._alpha=100;}if(_parts.length>=3){fromHSV(_parts[0],_parts[1],_parts[2]);}}else if(value.indexOf('rgb')!==-1){var _parts2=value.replace(/rgba|rgb|\\(|\\)/gm,'').split(/\\s|,/g).filter(function(val){return val!=='';}).map(function(val,index){return index>2?parseFloat(val):parseInt(val,10);});if(_parts2.length===4){this._alpha=Math.floor(parseFloat(_parts2[3])*100);}else if(_parts2.length===3){this._alpha=100;}if(_parts2.length>=3){var _rgb2hsv=rgb2hsv(_parts2[0],_parts2[1],_parts2[2]),_h=_rgb2hsv.h,_s=_rgb2hsv.s,_v=_rgb2hsv.v;fromHSV(_h,_s,_v);}}else if(value.indexOf('#')!==-1){var hex=value.replace('#','').trim();if(!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex))return;var r=void 0,g=void 0,b=void 0;if(hex.length===3){r=parseHexChannel(hex[0]+hex[0]);g=parseHexChannel(hex[1]+hex[1]);b=parseHexChannel(hex[2]+hex[2]);}else if(hex.length===6||hex.length===8){r=parseHexChannel(hex.substring(0,2));g=parseHexChannel(hex.substring(2,4));b=parseHexChannel(hex.substring(4,6));}if(hex.length===8){this._alpha=Math.floor(parseHexChannel(hex.substring(6))/255*100);}else if(hex.length===3||hex.length===6){this._alpha=100;}var _rgb2hsv2=rgb2hsv(r,g,b),_h2=_rgb2hsv2.h,_s2=_rgb2hsv2.s,_v2=_rgb2hsv2.v;fromHSV(_h2,_s2,_v2);}};Color.prototype.compare=function compare(color){return Math.abs(color._hue-this._hue)<2&&Math.abs(color._saturation-this._saturation)<1&&Math.abs(color._value-this._value)<1&&Math.abs(color._alpha-this._alpha)<1;};Color.prototype.doOnChange=function doOnChange(){var _hue=this._hue,_saturation=this._saturation,_value=this._value,_alpha=this._alpha,format=this.format;if(this.enableAlpha){switch(format){case'hsl':var hsl=hsv2hsl(_hue,_saturation/100,_value/100);this.value='hsla('+_hue+', '+Math.round(hsl[1]*100)+'%, '+Math.round(hsl[2]*100)+'%, '+_alpha/100+')';break;case'hsv':this.value='hsva('+_hue+', '+Math.round(_saturation)+'%, '+Math.round(_value)+'%, '+_alpha/100+')';break;default:var _hsv2rgb=hsv2rgb(_hue,_saturation,_value),r=_hsv2rgb.r,g=_hsv2rgb.g,b=_hsv2rgb.b;this.value='rgba('+r+', '+g+', '+b+', '+_alpha/100+')';}}else{switch(format){case'hsl':var _hsl=hsv2hsl(_hue,_saturation/100,_value/100);this.value='hsl('+_hue+', '+Math.round(_hsl[1]*100)+'%, '+Math.round(_hsl[2]*100)+'%)';break;case'hsv':this.value='hsv('+_hue+', '+Math.round(_saturation)+'%, '+Math.round(_value)+'%)';break;case'rgb':var _hsv2rgb2=hsv2rgb(_hue,_saturation,_value),_r=_hsv2rgb2.r,_g=_hsv2rgb2.g,_b=_hsv2rgb2.b;this.value='rgb('+_r+', '+_g+', '+_b+')';break;default:this.value=toHex(hsv2rgb(_hue,_saturation,_value));}}};return Color;}();/* harmony default export */var src_color=Color;;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625&\nvar picker_dropdownvue_type_template_id_06601625_render=function picker_dropdownvue_type_template_id_06601625_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"after-leave\":_vm.doDestroy}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.showPopper,expression:\"showPopper\"}],staticClass:\"el-color-dropdown\"},[_c(\"div\",{staticClass:\"el-color-dropdown__main-wrapper\"},[_c(\"hue-slider\",{ref:\"hue\",staticStyle:{float:\"right\"},attrs:{color:_vm.color,vertical:\"\"}}),_c(\"sv-panel\",{ref:\"sl\",attrs:{color:_vm.color}})],1),_vm.showAlpha?_c(\"alpha-slider\",{ref:\"alpha\",attrs:{color:_vm.color}}):_vm._e(),_vm.predefine?_c(\"predefine\",{attrs:{color:_vm.color,colors:_vm.predefine}}):_vm._e(),_c(\"div\",{staticClass:\"el-color-dropdown__btns\"},[_c(\"span\",{staticClass:\"el-color-dropdown__value\"},[_c(\"el-input\",{attrs:{\"validate-event\":false,size:\"mini\"},on:{blur:_vm.handleConfirm},nativeOn:{keyup:function keyup($event){if(!(\"button\"in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){return null;}return _vm.handleConfirm($event);}},model:{value:_vm.customInput,callback:function callback($$v){_vm.customInput=$$v;},expression:\"customInput\"}})],1),_c(\"el-button\",{staticClass:\"el-color-dropdown__link-btn\",attrs:{size:\"mini\",type:\"text\"},on:{click:function click($event){_vm.$emit(\"clear\");}}},[_vm._v(\"\\n        \"+_vm._s(_vm.t(\"el.colorpicker.clear\"))+\"\\n      \")]),_c(\"el-button\",{staticClass:\"el-color-dropdown__btn\",attrs:{plain:\"\",size:\"mini\"},on:{click:_vm.confirmValue}},[_vm._v(\"\\n        \"+_vm._s(_vm.t(\"el.colorpicker.confirm\"))+\"\\n      \")])],1)],1)]);};var picker_dropdownvue_type_template_id_06601625_staticRenderFns=[];picker_dropdownvue_type_template_id_06601625_render._withStripped=true;// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596&\nvar sv_panelvue_type_template_id_d8583596_render=function sv_panelvue_type_template_id_d8583596_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-color-svpanel\",style:{backgroundColor:_vm.background}},[_c(\"div\",{staticClass:\"el-color-svpanel__white\"}),_c(\"div\",{staticClass:\"el-color-svpanel__black\"}),_c(\"div\",{staticClass:\"el-color-svpanel__cursor\",style:{top:_vm.cursorTop+\"px\",left:_vm.cursorLeft+\"px\"}},[_c(\"div\")])]);};var sv_panelvue_type_template_id_d8583596_staticRenderFns=[];sv_panelvue_type_template_id_d8583596_render._withStripped=true;// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596&\n// CONCATENATED MODULE: ./packages/color-picker/src/draggable.js\nvar isDragging=false;/* harmony default export */var draggable=function draggable(element,options){if(external_vue_default.a.prototype.$isServer)return;var moveFn=function moveFn(event){if(options.drag){options.drag(event);}};var upFn=function upFn(event){document.removeEventListener('mousemove',moveFn);document.removeEventListener('mouseup',upFn);document.onselectstart=null;document.ondragstart=null;isDragging=false;if(options.end){options.end(event);}};element.addEventListener('mousedown',function(event){if(isDragging)return;document.onselectstart=function(){return false;};document.ondragstart=function(){return false;};document.addEventListener('mousemove',moveFn);document.addEventListener('mouseup',upFn);isDragging=true;if(options.start){options.start(event);}});};// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var sv_panelvue_type_script_lang_js_={name:'el-sl-panel',props:{color:{required:true}},computed:{colorValue:function colorValue(){var hue=this.color.get('hue');var value=this.color.get('value');return{hue:hue,value:value};}},watch:{colorValue:function colorValue(){this.update();}},methods:{update:function update(){var saturation=this.color.get('saturation');var value=this.color.get('value');var el=this.$el;var width=el.clientWidth,height=el.clientHeight;this.cursorLeft=saturation*width/100;this.cursorTop=(100-value)*height/100;this.background='hsl('+this.color.get('hue')+', 100%, 50%)';},handleDrag:function handleDrag(event){var el=this.$el;var rect=el.getBoundingClientRect();var left=event.clientX-rect.left;var top=event.clientY-rect.top;left=Math.max(0,left);left=Math.min(left,rect.width);top=Math.max(0,top);top=Math.min(top,rect.height);this.cursorLeft=left;this.cursorTop=top;this.color.set({saturation:left/rect.width*100,value:100-top/rect.height*100});}},mounted:function mounted(){var _this=this;draggable(this.$el,{drag:function drag(event){_this.handleDrag(event);},end:function end(event){_this.handleDrag(event);}});this.update();},data:function data(){return{cursorTop:0,cursorLeft:0,background:'hsl(0, 100%, 50%)'};}};// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js&\n/* harmony default export */var components_sv_panelvue_type_script_lang_js_=sv_panelvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue\n/* normalize component */var sv_panel_component=normalizeComponent(components_sv_panelvue_type_script_lang_js_,sv_panelvue_type_template_id_d8583596_render,sv_panelvue_type_template_id_d8583596_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var sv_panel_api; }sv_panel_component.options.__file=\"packages/color-picker/src/components/sv-panel.vue\";/* harmony default export */var sv_panel=sv_panel_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1&\nvar hue_slidervue_type_template_id_5cdc43b1_render=function hue_slidervue_type_template_id_5cdc43b1_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-color-hue-slider\",class:{\"is-vertical\":_vm.vertical}},[_c(\"div\",{ref:\"bar\",staticClass:\"el-color-hue-slider__bar\",on:{click:_vm.handleClick}}),_c(\"div\",{ref:\"thumb\",staticClass:\"el-color-hue-slider__thumb\",style:{left:_vm.thumbLeft+\"px\",top:_vm.thumbTop+\"px\"}})]);};var hue_slidervue_type_template_id_5cdc43b1_staticRenderFns=[];hue_slidervue_type_template_id_5cdc43b1_render._withStripped=true;// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var hue_slidervue_type_script_lang_js_={name:'el-color-hue-slider',props:{color:{required:true},vertical:Boolean},data:function data(){return{thumbLeft:0,thumbTop:0};},computed:{hueValue:function hueValue(){var hue=this.color.get('hue');return hue;}},watch:{hueValue:function hueValue(){this.update();}},methods:{handleClick:function handleClick(event){var thumb=this.$refs.thumb;var target=event.target;if(target!==thumb){this.handleDrag(event);}},handleDrag:function handleDrag(event){var rect=this.$el.getBoundingClientRect();var thumb=this.$refs.thumb;var hue=void 0;if(!this.vertical){var left=event.clientX-rect.left;left=Math.min(left,rect.width-thumb.offsetWidth/2);left=Math.max(thumb.offsetWidth/2,left);hue=Math.round((left-thumb.offsetWidth/2)/(rect.width-thumb.offsetWidth)*360);}else{var top=event.clientY-rect.top;top=Math.min(top,rect.height-thumb.offsetHeight/2);top=Math.max(thumb.offsetHeight/2,top);hue=Math.round((top-thumb.offsetHeight/2)/(rect.height-thumb.offsetHeight)*360);}this.color.set('hue',hue);},getThumbLeft:function getThumbLeft(){if(this.vertical)return 0;var el=this.$el;var hue=this.color.get('hue');if(!el)return 0;var thumb=this.$refs.thumb;return Math.round(hue*(el.offsetWidth-thumb.offsetWidth/2)/360);},getThumbTop:function getThumbTop(){if(!this.vertical)return 0;var el=this.$el;var hue=this.color.get('hue');if(!el)return 0;var thumb=this.$refs.thumb;return Math.round(hue*(el.offsetHeight-thumb.offsetHeight/2)/360);},update:function update(){this.thumbLeft=this.getThumbLeft();this.thumbTop=this.getThumbTop();}},mounted:function mounted(){var _this=this;var _$refs=this.$refs,bar=_$refs.bar,thumb=_$refs.thumb;var dragConfig={drag:function drag(event){_this.handleDrag(event);},end:function end(event){_this.handleDrag(event);}};draggable(bar,dragConfig);draggable(thumb,dragConfig);this.update();}};// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js&\n/* harmony default export */var components_hue_slidervue_type_script_lang_js_=hue_slidervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue\n/* normalize component */var hue_slider_component=normalizeComponent(components_hue_slidervue_type_script_lang_js_,hue_slidervue_type_template_id_5cdc43b1_render,hue_slidervue_type_template_id_5cdc43b1_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var hue_slider_api; }hue_slider_component.options.__file=\"packages/color-picker/src/components/hue-slider.vue\";/* harmony default export */var hue_slider=hue_slider_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb&\nvar alpha_slidervue_type_template_id_068c66cb_render=function alpha_slidervue_type_template_id_068c66cb_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-color-alpha-slider\",class:{\"is-vertical\":_vm.vertical}},[_c(\"div\",{ref:\"bar\",staticClass:\"el-color-alpha-slider__bar\",style:{background:_vm.background},on:{click:_vm.handleClick}}),_c(\"div\",{ref:\"thumb\",staticClass:\"el-color-alpha-slider__thumb\",style:{left:_vm.thumbLeft+\"px\",top:_vm.thumbTop+\"px\"}})]);};var alpha_slidervue_type_template_id_068c66cb_staticRenderFns=[];alpha_slidervue_type_template_id_068c66cb_render._withStripped=true;// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var alpha_slidervue_type_script_lang_js_={name:'el-color-alpha-slider',props:{color:{required:true},vertical:Boolean},watch:{'color._alpha':function color_alpha(){this.update();},'color.value':function colorValue(){this.update();}},methods:{handleClick:function handleClick(event){var thumb=this.$refs.thumb;var target=event.target;if(target!==thumb){this.handleDrag(event);}},handleDrag:function handleDrag(event){var rect=this.$el.getBoundingClientRect();var thumb=this.$refs.thumb;if(!this.vertical){var left=event.clientX-rect.left;left=Math.max(thumb.offsetWidth/2,left);left=Math.min(left,rect.width-thumb.offsetWidth/2);this.color.set('alpha',Math.round((left-thumb.offsetWidth/2)/(rect.width-thumb.offsetWidth)*100));}else{var top=event.clientY-rect.top;top=Math.max(thumb.offsetHeight/2,top);top=Math.min(top,rect.height-thumb.offsetHeight/2);this.color.set('alpha',Math.round((top-thumb.offsetHeight/2)/(rect.height-thumb.offsetHeight)*100));}},getThumbLeft:function getThumbLeft(){if(this.vertical)return 0;var el=this.$el;var alpha=this.color._alpha;if(!el)return 0;var thumb=this.$refs.thumb;return Math.round(alpha*(el.offsetWidth-thumb.offsetWidth/2)/100);},getThumbTop:function getThumbTop(){if(!this.vertical)return 0;var el=this.$el;var alpha=this.color._alpha;if(!el)return 0;var thumb=this.$refs.thumb;return Math.round(alpha*(el.offsetHeight-thumb.offsetHeight/2)/100);},getBackground:function getBackground(){if(this.color&&this.color.value){var _color$toRgb=this.color.toRgb(),r=_color$toRgb.r,g=_color$toRgb.g,b=_color$toRgb.b;return'linear-gradient(to right, rgba('+r+', '+g+', '+b+', 0) 0%, rgba('+r+', '+g+', '+b+', 1) 100%)';}return null;},update:function update(){this.thumbLeft=this.getThumbLeft();this.thumbTop=this.getThumbTop();this.background=this.getBackground();}},data:function data(){return{thumbLeft:0,thumbTop:0,background:null};},mounted:function mounted(){var _this=this;var _$refs=this.$refs,bar=_$refs.bar,thumb=_$refs.thumb;var dragConfig={drag:function drag(event){_this.handleDrag(event);},end:function end(event){_this.handleDrag(event);}};draggable(bar,dragConfig);draggable(thumb,dragConfig);this.update();}};// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js&\n/* harmony default export */var components_alpha_slidervue_type_script_lang_js_=alpha_slidervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue\n/* normalize component */var alpha_slider_component=normalizeComponent(components_alpha_slidervue_type_script_lang_js_,alpha_slidervue_type_template_id_068c66cb_render,alpha_slidervue_type_template_id_068c66cb_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var alpha_slider_api; }alpha_slider_component.options.__file=\"packages/color-picker/src/components/alpha-slider.vue\";/* harmony default export */var alpha_slider=alpha_slider_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093&\nvar predefinevue_type_template_id_06e03093_render=function predefinevue_type_template_id_06e03093_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-color-predefine\"},[_c(\"div\",{staticClass:\"el-color-predefine__colors\"},_vm._l(_vm.rgbaColors,function(item,index){return _c(\"div\",{key:_vm.colors[index],staticClass:\"el-color-predefine__color-selector\",class:{selected:item.selected,\"is-alpha\":item._alpha<100},on:{click:function click($event){_vm.handleSelect(index);}}},[_c(\"div\",{style:{\"background-color\":item.value}})]);}),0)]);};var predefinevue_type_template_id_06e03093_staticRenderFns=[];predefinevue_type_template_id_06e03093_render._withStripped=true;// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var predefinevue_type_script_lang_js_={props:{colors:{type:Array,required:true},color:{required:true}},data:function data(){return{rgbaColors:this.parseColors(this.colors,this.color)};},methods:{handleSelect:function handleSelect(index){this.color.fromString(this.colors[index]);},parseColors:function parseColors(colors,color){return colors.map(function(value){var c=new src_color();c.enableAlpha=true;c.format='rgba';c.fromString(value);c.selected=c.value===color.value;return c;});}},watch:{'$parent.currentColor':function $parentCurrentColor(val){var color=new src_color();color.fromString(val);this.rgbaColors.forEach(function(item){item.selected=color.compare(item);});},colors:function colors(newVal){this.rgbaColors=this.parseColors(newVal,this.color);},color:function color(newVal){this.rgbaColors=this.parseColors(this.colors,newVal);}}};// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js&\n/* harmony default export */var components_predefinevue_type_script_lang_js_=predefinevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue\n/* normalize component */var predefine_component=normalizeComponent(components_predefinevue_type_script_lang_js_,predefinevue_type_template_id_06e03093_render,predefinevue_type_template_id_06e03093_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var predefine_api; }predefine_component.options.__file=\"packages/color-picker/src/components/predefine.vue\";/* harmony default export */var predefine=predefine_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var picker_dropdownvue_type_script_lang_js_={name:'el-color-picker-dropdown',mixins:[vue_popper_default.a,locale_default.a],components:{SvPanel:sv_panel,HueSlider:hue_slider,AlphaSlider:alpha_slider,ElInput:input_default.a,ElButton:button_default.a,Predefine:predefine},props:{color:{required:true},showAlpha:Boolean,predefine:Array},data:function data(){return{customInput:''};},computed:{currentColor:function currentColor(){var parent=this.$parent;return!parent.value&&!parent.showPanelColor?'':parent.color.value;}},methods:{confirmValue:function confirmValue(){this.$emit('pick');},handleConfirm:function handleConfirm(){this.color.fromString(this.customInput);}},mounted:function mounted(){this.$parent.popperElm=this.popperElm=this.$el;this.referenceElm=this.$parent.$el;},watch:{showPopper:function showPopper(val){var _this=this;if(val===true){this.$nextTick(function(){var _$refs=_this.$refs,sl=_$refs.sl,hue=_$refs.hue,alpha=_$refs.alpha;sl&&sl.update();hue&&hue.update();alpha&&alpha.update();});}},currentColor:{immediate:true,handler:function handler(val){this.customInput=val;}}}};// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js&\n/* harmony default export */var components_picker_dropdownvue_type_script_lang_js_=picker_dropdownvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue\n/* normalize component */var picker_dropdown_component=normalizeComponent(components_picker_dropdownvue_type_script_lang_js_,picker_dropdownvue_type_template_id_06601625_render,picker_dropdownvue_type_template_id_06601625_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var picker_dropdown_api; }picker_dropdown_component.options.__file=\"packages/color-picker/src/components/picker-dropdown.vue\";/* harmony default export */var picker_dropdown=picker_dropdown_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var color_picker_src_mainvue_type_script_lang_js_={name:'ElColorPicker',mixins:[emitter_default.a],props:{value:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:String,popperClass:String,predefine:Array},inject:{elForm:{default:''},elFormItem:{default:''}},directives:{Clickoutside:clickoutside_default.a},computed:{displayedColor:function displayedColor(){if(!this.value&&!this.showPanelColor){return'transparent';}return this.displayedRgb(this.color,this.showAlpha);},_elFormItemSize:function _elFormItemSize(){return(this.elFormItem||{}).elFormItemSize;},colorSize:function colorSize(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;},colorDisabled:function colorDisabled(){return this.disabled||(this.elForm||{}).disabled;}},watch:{value:function value(val){if(!val){this.showPanelColor=false;}else if(val&&val!==this.color.value){this.color.fromString(val);}},color:{deep:true,handler:function handler(){this.showPanelColor=true;}},displayedColor:function displayedColor(val){if(!this.showPicker)return;var currentValueColor=new src_color({enableAlpha:this.showAlpha,format:this.colorFormat});currentValueColor.fromString(this.value);var currentValueColorRgb=this.displayedRgb(currentValueColor,this.showAlpha);if(val!==currentValueColorRgb){this.$emit('active-change',val);}}},methods:{handleTrigger:function handleTrigger(){if(this.colorDisabled)return;this.showPicker=!this.showPicker;},confirmValue:function confirmValue(){var value=this.color.value;this.$emit('input',value);this.$emit('change',value);this.dispatch('ElFormItem','el.form.change',value);this.showPicker=false;},clearValue:function clearValue(){this.$emit('input',null);this.$emit('change',null);if(this.value!==null){this.dispatch('ElFormItem','el.form.change',null);}this.showPanelColor=false;this.showPicker=false;this.resetColor();},hide:function hide(){this.showPicker=false;this.resetColor();},resetColor:function resetColor(){var _this=this;this.$nextTick(function(_){if(_this.value){_this.color.fromString(_this.value);}else{_this.showPanelColor=false;}});},displayedRgb:function displayedRgb(color,showAlpha){if(!(color instanceof src_color)){throw Error('color should be instance of Color Class');}var _color$toRgb=color.toRgb(),r=_color$toRgb.r,g=_color$toRgb.g,b=_color$toRgb.b;return showAlpha?'rgba('+r+', '+g+', '+b+', '+color.get('alpha')/100+')':'rgb('+r+', '+g+', '+b+')';}},mounted:function mounted(){var value=this.value;if(value){this.color.fromString(value);}this.popperElm=this.$refs.dropdown.$el;},data:function data(){var color=new src_color({enableAlpha:this.showAlpha,format:this.colorFormat});return{color:color,showPicker:false,showPanelColor:false};},components:{PickerDropdown:picker_dropdown}};// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_color_picker_src_mainvue_type_script_lang_js_=color_picker_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/color-picker/src/main.vue\n/* normalize component */var color_picker_src_main_component=normalizeComponent(packages_color_picker_src_mainvue_type_script_lang_js_,mainvue_type_template_id_55c8ade7_render,mainvue_type_template_id_55c8ade7_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var color_picker_src_main_api; }color_picker_src_main_component.options.__file=\"packages/color-picker/src/main.vue\";/* harmony default export */var color_picker_src_main=color_picker_src_main_component.exports;// CONCATENATED MODULE: ./packages/color-picker/index.js\n/* istanbul ignore next */color_picker_src_main.install=function(Vue){Vue.component(color_picker_src_main.name,color_picker_src_main);};/* harmony default export */var color_picker=color_picker_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/main.vue?vue&type=template&id=5c654dd8&\nvar mainvue_type_template_id_5c654dd8_render=function mainvue_type_template_id_5c654dd8_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-transfer\"},[_c(\"transfer-panel\",_vm._b({ref:\"leftPanel\",attrs:{data:_vm.sourceData,title:_vm.titles[0]||_vm.t(\"el.transfer.titles.0\"),\"default-checked\":_vm.leftDefaultChecked,placeholder:_vm.filterPlaceholder||_vm.t(\"el.transfer.filterPlaceholder\")},on:{\"checked-change\":_vm.onSourceCheckedChange}},\"transfer-panel\",_vm.$props,false),[_vm._t(\"left-footer\")],2),_c(\"div\",{staticClass:\"el-transfer__buttons\"},[_c(\"el-button\",{class:[\"el-transfer__button\",_vm.hasButtonTexts?\"is-with-texts\":\"\"],attrs:{type:\"primary\",disabled:_vm.rightChecked.length===0},nativeOn:{click:function click($event){return _vm.addToLeft($event);}}},[_c(\"i\",{staticClass:\"el-icon-arrow-left\"}),_vm.buttonTexts[0]!==undefined?_c(\"span\",[_vm._v(_vm._s(_vm.buttonTexts[0]))]):_vm._e()]),_c(\"el-button\",{class:[\"el-transfer__button\",_vm.hasButtonTexts?\"is-with-texts\":\"\"],attrs:{type:\"primary\",disabled:_vm.leftChecked.length===0},nativeOn:{click:function click($event){return _vm.addToRight($event);}}},[_vm.buttonTexts[1]!==undefined?_c(\"span\",[_vm._v(_vm._s(_vm.buttonTexts[1]))]):_vm._e(),_c(\"i\",{staticClass:\"el-icon-arrow-right\"})])],1),_c(\"transfer-panel\",_vm._b({ref:\"rightPanel\",attrs:{data:_vm.targetData,title:_vm.titles[1]||_vm.t(\"el.transfer.titles.1\"),\"default-checked\":_vm.rightDefaultChecked,placeholder:_vm.filterPlaceholder||_vm.t(\"el.transfer.filterPlaceholder\")},on:{\"checked-change\":_vm.onTargetCheckedChange}},\"transfer-panel\",_vm.$props,false),[_vm._t(\"right-footer\")],2)],1);};var mainvue_type_template_id_5c654dd8_staticRenderFns=[];mainvue_type_template_id_5c654dd8_render._withStripped=true;// CONCATENATED MODULE: ./packages/transfer/src/main.vue?vue&type=template&id=5c654dd8&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/transfer-panel.vue?vue&type=template&id=2ddab8bd&\nvar transfer_panelvue_type_template_id_2ddab8bd_render=function transfer_panelvue_type_template_id_2ddab8bd_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-transfer-panel\"},[_c(\"p\",{staticClass:\"el-transfer-panel__header\"},[_c(\"el-checkbox\",{attrs:{indeterminate:_vm.isIndeterminate},on:{change:_vm.handleAllCheckedChange},model:{value:_vm.allChecked,callback:function callback($$v){_vm.allChecked=$$v;},expression:\"allChecked\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.title)+\"\\n      \"),_c(\"span\",[_vm._v(_vm._s(_vm.checkedSummary))])])],1),_c(\"div\",{class:[\"el-transfer-panel__body\",_vm.hasFooter?\"is-with-footer\":\"\"]},[_vm.filterable?_c(\"el-input\",{staticClass:\"el-transfer-panel__filter\",attrs:{size:\"small\",placeholder:_vm.placeholder},nativeOn:{mouseenter:function mouseenter($event){_vm.inputHover=true;},mouseleave:function mouseleave($event){_vm.inputHover=false;}},model:{value:_vm.query,callback:function callback($$v){_vm.query=$$v;},expression:\"query\"}},[_c(\"i\",{class:[\"el-input__icon\",\"el-icon-\"+_vm.inputIcon],attrs:{slot:\"prefix\"},on:{click:_vm.clearQuery},slot:\"prefix\"})]):_vm._e(),_c(\"el-checkbox-group\",{directives:[{name:\"show\",rawName:\"v-show\",value:!_vm.hasNoMatch&&_vm.data.length>0,expression:\"!hasNoMatch && data.length > 0\"}],staticClass:\"el-transfer-panel__list\",class:{\"is-filterable\":_vm.filterable},model:{value:_vm.checked,callback:function callback($$v){_vm.checked=$$v;},expression:\"checked\"}},_vm._l(_vm.filteredData,function(item){return _c(\"el-checkbox\",{key:item[_vm.keyProp],staticClass:\"el-transfer-panel__item\",attrs:{label:item[_vm.keyProp],disabled:item[_vm.disabledProp]}},[_c(\"option-content\",{attrs:{option:item}})],1);}),1),_c(\"p\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.hasNoMatch,expression:\"hasNoMatch\"}],staticClass:\"el-transfer-panel__empty\"},[_vm._v(_vm._s(_vm.t(\"el.transfer.noMatch\")))]),_c(\"p\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.data.length===0&&!_vm.hasNoMatch,expression:\"data.length === 0 && !hasNoMatch\"}],staticClass:\"el-transfer-panel__empty\"},[_vm._v(_vm._s(_vm.t(\"el.transfer.noData\")))])],1),_vm.hasFooter?_c(\"p\",{staticClass:\"el-transfer-panel__footer\"},[_vm._t(\"default\")],2):_vm._e()]);};var transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns=[];transfer_panelvue_type_template_id_2ddab8bd_render._withStripped=true;// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue?vue&type=template&id=2ddab8bd&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/transfer-panel.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var transfer_panelvue_type_script_lang_js_={mixins:[locale_default.a],name:'ElTransferPanel',componentName:'ElTransferPanel',components:{ElCheckboxGroup:checkbox_group_default.a,ElCheckbox:checkbox_default.a,ElInput:input_default.a,OptionContent:{props:{option:Object},render:function render(h){var getParent=function getParent(vm){if(vm.$options.componentName==='ElTransferPanel'){return vm;}else if(vm.$parent){return getParent(vm.$parent);}else{return vm;}};var panel=getParent(this);var transfer=panel.$parent||panel;return panel.renderContent?panel.renderContent(h,this.option):transfer.$scopedSlots.default?transfer.$scopedSlots.default({option:this.option}):h('span',[this.option[panel.labelProp]||this.option[panel.keyProp]]);}}},props:{data:{type:Array,default:function _default(){return[];}},renderContent:Function,placeholder:String,title:String,filterable:Boolean,format:Object,filterMethod:Function,defaultChecked:Array,props:Object},data:function data(){return{checked:[],allChecked:false,query:'',inputHover:false,checkChangeByUser:true};},watch:{checked:function checked(val,oldVal){this.updateAllChecked();if(this.checkChangeByUser){var movedKeys=val.concat(oldVal).filter(function(v){return val.indexOf(v)===-1||oldVal.indexOf(v)===-1;});this.$emit('checked-change',val,movedKeys);}else{this.$emit('checked-change',val);this.checkChangeByUser=true;}},data:function data(){var _this=this;var checked=[];var filteredDataKeys=this.filteredData.map(function(item){return item[_this.keyProp];});this.checked.forEach(function(item){if(filteredDataKeys.indexOf(item)>-1){checked.push(item);}});this.checkChangeByUser=false;this.checked=checked;},checkableData:function checkableData(){this.updateAllChecked();},defaultChecked:{immediate:true,handler:function handler(val,oldVal){var _this2=this;if(oldVal&&val.length===oldVal.length&&val.every(function(item){return oldVal.indexOf(item)>-1;}))return;var checked=[];var checkableDataKeys=this.checkableData.map(function(item){return item[_this2.keyProp];});val.forEach(function(item){if(checkableDataKeys.indexOf(item)>-1){checked.push(item);}});this.checkChangeByUser=false;this.checked=checked;}}},computed:{filteredData:function filteredData(){var _this3=this;return this.data.filter(function(item){if(typeof _this3.filterMethod==='function'){return _this3.filterMethod(_this3.query,item);}else{var label=item[_this3.labelProp]||item[_this3.keyProp].toString();return label.toLowerCase().indexOf(_this3.query.toLowerCase())>-1;}});},checkableData:function checkableData(){var _this4=this;return this.filteredData.filter(function(item){return!item[_this4.disabledProp];});},checkedSummary:function checkedSummary(){var checkedLength=this.checked.length;var dataLength=this.data.length;var _format=this.format,noChecked=_format.noChecked,hasChecked=_format.hasChecked;if(noChecked&&hasChecked){return checkedLength>0?hasChecked.replace(/\\${checked}/g,checkedLength).replace(/\\${total}/g,dataLength):noChecked.replace(/\\${total}/g,dataLength);}else{return checkedLength+'/'+dataLength;}},isIndeterminate:function isIndeterminate(){var checkedLength=this.checked.length;return checkedLength>0&&checkedLength<this.checkableData.length;},hasNoMatch:function hasNoMatch(){return this.query.length>0&&this.filteredData.length===0;},inputIcon:function inputIcon(){return this.query.length>0&&this.inputHover?'circle-close':'search';},labelProp:function labelProp(){return this.props.label||'label';},keyProp:function keyProp(){return this.props.key||'key';},disabledProp:function disabledProp(){return this.props.disabled||'disabled';},hasFooter:function hasFooter(){return!!this.$slots.default;}},methods:{updateAllChecked:function updateAllChecked(){var _this5=this;var checkableDataKeys=this.checkableData.map(function(item){return item[_this5.keyProp];});this.allChecked=checkableDataKeys.length>0&&checkableDataKeys.every(function(item){return _this5.checked.indexOf(item)>-1;});},handleAllCheckedChange:function handleAllCheckedChange(value){var _this6=this;this.checked=value?this.checkableData.map(function(item){return item[_this6.keyProp];}):[];},clearQuery:function clearQuery(){if(this.inputIcon==='circle-close'){this.query='';}}}};// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue?vue&type=script&lang=js&\n/* harmony default export */var src_transfer_panelvue_type_script_lang_js_=transfer_panelvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue\n/* normalize component */var transfer_panel_component=normalizeComponent(src_transfer_panelvue_type_script_lang_js_,transfer_panelvue_type_template_id_2ddab8bd_render,transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var transfer_panel_api; }transfer_panel_component.options.__file=\"packages/transfer/src/transfer-panel.vue\";/* harmony default export */var transfer_panel=transfer_panel_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var transfer_src_mainvue_type_script_lang_js_={name:'ElTransfer',mixins:[emitter_default.a,locale_default.a,migrating_default.a],components:{TransferPanel:transfer_panel,ElButton:button_default.a},props:{data:{type:Array,default:function _default(){return[];}},titles:{type:Array,default:function _default(){return[];}},buttonTexts:{type:Array,default:function _default(){return[];}},filterPlaceholder:{type:String,default:''},filterMethod:Function,leftDefaultChecked:{type:Array,default:function _default(){return[];}},rightDefaultChecked:{type:Array,default:function _default(){return[];}},renderContent:Function,value:{type:Array,default:function _default(){return[];}},format:{type:Object,default:function _default(){return{};}},filterable:Boolean,props:{type:Object,default:function _default(){return{label:'label',key:'key',disabled:'disabled'};}},targetOrder:{type:String,default:'original'}},data:function data(){return{leftChecked:[],rightChecked:[]};},computed:{dataObj:function dataObj(){var key=this.props.key;return this.data.reduce(function(o,cur){return(o[cur[key]]=cur)&&o;},{});},sourceData:function sourceData(){var _this=this;return this.data.filter(function(item){return _this.value.indexOf(item[_this.props.key])===-1;});},targetData:function targetData(){var _this2=this;if(this.targetOrder==='original'){return this.data.filter(function(item){return _this2.value.indexOf(item[_this2.props.key])>-1;});}else{return this.value.reduce(function(arr,cur){var val=_this2.dataObj[cur];if(val){arr.push(val);}return arr;},[]);}},hasButtonTexts:function hasButtonTexts(){return this.buttonTexts.length===2;}},watch:{value:function value(val){this.dispatch('ElFormItem','el.form.change',val);}},methods:{getMigratingConfig:function getMigratingConfig(){return{props:{'footer-format':'footer-format is renamed to format.'}};},onSourceCheckedChange:function onSourceCheckedChange(val,movedKeys){this.leftChecked=val;if(movedKeys===undefined)return;this.$emit('left-check-change',val,movedKeys);},onTargetCheckedChange:function onTargetCheckedChange(val,movedKeys){this.rightChecked=val;if(movedKeys===undefined)return;this.$emit('right-check-change',val,movedKeys);},addToLeft:function addToLeft(){var currentValue=this.value.slice();this.rightChecked.forEach(function(item){var index=currentValue.indexOf(item);if(index>-1){currentValue.splice(index,1);}});this.$emit('input',currentValue);this.$emit('change',currentValue,'left',this.rightChecked);},addToRight:function addToRight(){var _this3=this;var currentValue=this.value.slice();var itemsToBeMoved=[];var key=this.props.key;this.data.forEach(function(item){var itemKey=item[key];if(_this3.leftChecked.indexOf(itemKey)>-1&&_this3.value.indexOf(itemKey)===-1){itemsToBeMoved.push(itemKey);}});currentValue=this.targetOrder==='unshift'?itemsToBeMoved.concat(currentValue):currentValue.concat(itemsToBeMoved);this.$emit('input',currentValue);this.$emit('change',currentValue,'right',this.leftChecked);},clearQuery:function clearQuery(which){if(which==='left'){this.$refs.leftPanel.query='';}else if(which==='right'){this.$refs.rightPanel.query='';}}}};// CONCATENATED MODULE: ./packages/transfer/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_transfer_src_mainvue_type_script_lang_js_=transfer_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/transfer/src/main.vue\n/* normalize component */var transfer_src_main_component=normalizeComponent(packages_transfer_src_mainvue_type_script_lang_js_,mainvue_type_template_id_5c654dd8_render,mainvue_type_template_id_5c654dd8_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var transfer_src_main_api; }transfer_src_main_component.options.__file=\"packages/transfer/src/main.vue\";/* harmony default export */var transfer_src_main=transfer_src_main_component.exports;// CONCATENATED MODULE: ./packages/transfer/index.js\n/* istanbul ignore next */transfer_src_main.install=function(Vue){Vue.component(transfer_src_main.name,transfer_src_main);};/* harmony default export */var transfer=transfer_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=template&id=5bf181d4&\nvar mainvue_type_template_id_5bf181d4_render=function mainvue_type_template_id_5bf181d4_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"section\",{staticClass:\"el-container\",class:{\"is-vertical\":_vm.isVertical}},[_vm._t(\"default\")],2);};var mainvue_type_template_id_5bf181d4_staticRenderFns=[];mainvue_type_template_id_5bf181d4_render._withStripped=true;// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=template&id=5bf181d4&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n/* harmony default export */var container_src_mainvue_type_script_lang_js_={name:'ElContainer',componentName:'ElContainer',props:{direction:String},computed:{isVertical:function isVertical(){if(this.direction==='vertical'){return true;}else if(this.direction==='horizontal'){return false;}return this.$slots&&this.$slots.default?this.$slots.default.some(function(vnode){var tag=vnode.componentOptions&&vnode.componentOptions.tag;return tag==='el-header'||tag==='el-footer';}):false;}}};// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_container_src_mainvue_type_script_lang_js_=container_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/container/src/main.vue\n/* normalize component */var container_src_main_component=normalizeComponent(packages_container_src_mainvue_type_script_lang_js_,mainvue_type_template_id_5bf181d4_render,mainvue_type_template_id_5bf181d4_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var container_src_main_api; }container_src_main_component.options.__file=\"packages/container/src/main.vue\";/* harmony default export */var container_src_main=container_src_main_component.exports;// CONCATENATED MODULE: ./packages/container/index.js\n/* istanbul ignore next */container_src_main.install=function(Vue){Vue.component(container_src_main.name,container_src_main);};/* harmony default export */var packages_container=container_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=template&id=2b296ab2&\nvar mainvue_type_template_id_2b296ab2_render=function mainvue_type_template_id_2b296ab2_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"header\",{staticClass:\"el-header\",style:{height:_vm.height}},[_vm._t(\"default\")],2);};var mainvue_type_template_id_2b296ab2_staticRenderFns=[];mainvue_type_template_id_2b296ab2_render._withStripped=true;// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=template&id=2b296ab2&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n/* harmony default export */var header_src_mainvue_type_script_lang_js_={name:'ElHeader',componentName:'ElHeader',props:{height:{type:String,default:'60px'}}};// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_header_src_mainvue_type_script_lang_js_=header_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/header/src/main.vue\n/* normalize component */var header_src_main_component=normalizeComponent(packages_header_src_mainvue_type_script_lang_js_,mainvue_type_template_id_2b296ab2_render,mainvue_type_template_id_2b296ab2_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var header_src_main_api; }header_src_main_component.options.__file=\"packages/header/src/main.vue\";/* harmony default export */var header_src_main=header_src_main_component.exports;// CONCATENATED MODULE: ./packages/header/index.js\n/* istanbul ignore next */header_src_main.install=function(Vue){Vue.component(header_src_main.name,header_src_main);};/* harmony default export */var header=header_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/aside/src/main.vue?vue&type=template&id=03411dbf&\nvar mainvue_type_template_id_03411dbf_render=function mainvue_type_template_id_03411dbf_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"aside\",{staticClass:\"el-aside\",style:{width:_vm.width}},[_vm._t(\"default\")],2);};var mainvue_type_template_id_03411dbf_staticRenderFns=[];mainvue_type_template_id_03411dbf_render._withStripped=true;// CONCATENATED MODULE: ./packages/aside/src/main.vue?vue&type=template&id=03411dbf&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/aside/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n/* harmony default export */var aside_src_mainvue_type_script_lang_js_={name:'ElAside',componentName:'ElAside',props:{width:{type:String,default:'300px'}}};// CONCATENATED MODULE: ./packages/aside/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_aside_src_mainvue_type_script_lang_js_=aside_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/aside/src/main.vue\n/* normalize component */var aside_src_main_component=normalizeComponent(packages_aside_src_mainvue_type_script_lang_js_,mainvue_type_template_id_03411dbf_render,mainvue_type_template_id_03411dbf_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var aside_src_main_api; }aside_src_main_component.options.__file=\"packages/aside/src/main.vue\";/* harmony default export */var aside_src_main=aside_src_main_component.exports;// CONCATENATED MODULE: ./packages/aside/index.js\n/* istanbul ignore next */aside_src_main.install=function(Vue){Vue.component(aside_src_main.name,aside_src_main);};/* harmony default export */var aside=aside_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=template&id=2a3a7406&\nvar mainvue_type_template_id_2a3a7406_render=function mainvue_type_template_id_2a3a7406_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"main\",{staticClass:\"el-main\"},[_vm._t(\"default\")],2);};var mainvue_type_template_id_2a3a7406_staticRenderFns=[];mainvue_type_template_id_2a3a7406_render._withStripped=true;// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=template&id=2a3a7406&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n/* harmony default export */var main_src_mainvue_type_script_lang_js_={name:'ElMain',componentName:'ElMain'};// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_main_src_mainvue_type_script_lang_js_=main_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/main/src/main.vue\n/* normalize component */var main_src_main_component=normalizeComponent(packages_main_src_mainvue_type_script_lang_js_,mainvue_type_template_id_2a3a7406_render,mainvue_type_template_id_2a3a7406_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var main_src_main_api; }main_src_main_component.options.__file=\"packages/main/src/main.vue\";/* harmony default export */var main_src_main=main_src_main_component.exports;// CONCATENATED MODULE: ./packages/main/index.js\n/* istanbul ignore next */main_src_main.install=function(Vue){Vue.component(main_src_main.name,main_src_main);};/* harmony default export */var packages_main=main_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/footer/src/main.vue?vue&type=template&id=80210338&\nvar mainvue_type_template_id_80210338_render=function mainvue_type_template_id_80210338_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"footer\",{staticClass:\"el-footer\",style:{height:_vm.height}},[_vm._t(\"default\")],2);};var mainvue_type_template_id_80210338_staticRenderFns=[];mainvue_type_template_id_80210338_render._withStripped=true;// CONCATENATED MODULE: ./packages/footer/src/main.vue?vue&type=template&id=80210338&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/footer/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n/* harmony default export */var footer_src_mainvue_type_script_lang_js_={name:'ElFooter',componentName:'ElFooter',props:{height:{type:String,default:'60px'}}};// CONCATENATED MODULE: ./packages/footer/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_footer_src_mainvue_type_script_lang_js_=footer_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/footer/src/main.vue\n/* normalize component */var footer_src_main_component=normalizeComponent(packages_footer_src_mainvue_type_script_lang_js_,mainvue_type_template_id_80210338_render,mainvue_type_template_id_80210338_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var footer_src_main_api; }footer_src_main_component.options.__file=\"packages/footer/src/main.vue\";/* harmony default export */var footer_src_main=footer_src_main_component.exports;// CONCATENATED MODULE: ./packages/footer/index.js\n/* istanbul ignore next */footer_src_main.install=function(Vue){Vue.component(footer_src_main.name,footer_src_main);};/* harmony default export */var footer=footer_src_main;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var timeline_src_mainvue_type_script_lang_js_={name:'ElTimeline',props:{reverse:{type:Boolean,default:false}},provide:function provide(){return{timeline:this};},render:function render(){var h=arguments[0];var reverse=this.reverse;var classes={'el-timeline':true,'is-reverse':reverse};var slots=this.$slots.default||[];if(reverse){slots=slots.reverse();}return h('ul',{'class':classes},[slots]);}};// CONCATENATED MODULE: ./packages/timeline/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_timeline_src_mainvue_type_script_lang_js_=timeline_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/timeline/src/main.vue\nvar main_render,main_staticRenderFns;/* normalize component */var timeline_src_main_component=normalizeComponent(packages_timeline_src_mainvue_type_script_lang_js_,main_render,main_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var timeline_src_main_api; }timeline_src_main_component.options.__file=\"packages/timeline/src/main.vue\";/* harmony default export */var timeline_src_main=timeline_src_main_component.exports;// CONCATENATED MODULE: ./packages/timeline/index.js\n/* istanbul ignore next */timeline_src_main.install=function(Vue){Vue.component(timeline_src_main.name,timeline_src_main);};/* harmony default export */var timeline=timeline_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/item.vue?vue&type=template&id=61a69e50&\nvar itemvue_type_template_id_61a69e50_render=function itemvue_type_template_id_61a69e50_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"li\",{staticClass:\"el-timeline-item\"},[_c(\"div\",{staticClass:\"el-timeline-item__tail\"}),!_vm.$slots.dot?_c(\"div\",{staticClass:\"el-timeline-item__node\",class:[\"el-timeline-item__node--\"+(_vm.size||\"\"),\"el-timeline-item__node--\"+(_vm.type||\"\")],style:{backgroundColor:_vm.color}},[_vm.icon?_c(\"i\",{staticClass:\"el-timeline-item__icon\",class:_vm.icon}):_vm._e()]):_vm._e(),_vm.$slots.dot?_c(\"div\",{staticClass:\"el-timeline-item__dot\"},[_vm._t(\"dot\")],2):_vm._e(),_c(\"div\",{staticClass:\"el-timeline-item__wrapper\"},[!_vm.hideTimestamp&&_vm.placement===\"top\"?_c(\"div\",{staticClass:\"el-timeline-item__timestamp is-top\"},[_vm._v(\"\\n      \"+_vm._s(_vm.timestamp)+\"\\n    \")]):_vm._e(),_c(\"div\",{staticClass:\"el-timeline-item__content\"},[_vm._t(\"default\")],2),!_vm.hideTimestamp&&_vm.placement===\"bottom\"?_c(\"div\",{staticClass:\"el-timeline-item__timestamp is-bottom\"},[_vm._v(\"\\n      \"+_vm._s(_vm.timestamp)+\"\\n    \")]):_vm._e()])]);};var itemvue_type_template_id_61a69e50_staticRenderFns=[];itemvue_type_template_id_61a69e50_render._withStripped=true;// CONCATENATED MODULE: ./packages/timeline/src/item.vue?vue&type=template&id=61a69e50&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var timeline_src_itemvue_type_script_lang_js_={name:'ElTimelineItem',inject:['timeline'],props:{timestamp:String,hideTimestamp:{type:Boolean,default:false},placement:{type:String,default:'bottom'},type:String,color:String,size:{type:String,default:'normal'},icon:String}};// CONCATENATED MODULE: ./packages/timeline/src/item.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_timeline_src_itemvue_type_script_lang_js_=timeline_src_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/timeline/src/item.vue\n/* normalize component */var src_item_component=normalizeComponent(packages_timeline_src_itemvue_type_script_lang_js_,itemvue_type_template_id_61a69e50_render,itemvue_type_template_id_61a69e50_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var src_item_api; }src_item_component.options.__file=\"packages/timeline/src/item.vue\";/* harmony default export */var timeline_src_item=src_item_component.exports;// CONCATENATED MODULE: ./packages/timeline-item/index.js\n/* istanbul ignore next */timeline_src_item.install=function(Vue){Vue.component(timeline_src_item.name,timeline_src_item);};/* harmony default export */var timeline_item=timeline_src_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/link/src/main.vue?vue&type=template&id=01cf3b65&\nvar mainvue_type_template_id_01cf3b65_render=function mainvue_type_template_id_01cf3b65_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"a\",_vm._b({class:[\"el-link\",_vm.type?\"el-link--\"+_vm.type:\"\",_vm.disabled&&\"is-disabled\",_vm.underline&&!_vm.disabled&&\"is-underline\"],attrs:{href:_vm.disabled?null:_vm.href},on:{click:_vm.handleClick}},\"a\",_vm.$attrs,false),[_vm.icon?_c(\"i\",{class:_vm.icon}):_vm._e(),_vm.$slots.default?_c(\"span\",{staticClass:\"el-link--inner\"},[_vm._t(\"default\")],2):_vm._e(),_vm.$slots.icon?[_vm.$slots.icon?_vm._t(\"icon\"):_vm._e()]:_vm._e()],2);};var mainvue_type_template_id_01cf3b65_staticRenderFns=[];mainvue_type_template_id_01cf3b65_render._withStripped=true;// CONCATENATED MODULE: ./packages/link/src/main.vue?vue&type=template&id=01cf3b65&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/link/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var link_src_mainvue_type_script_lang_js_={name:'ElLink',props:{type:{type:String,default:'default'},underline:{type:Boolean,default:true},disabled:Boolean,href:String,icon:String},methods:{handleClick:function handleClick(event){if(!this.disabled){if(!this.href){this.$emit('click',event);}}}}};// CONCATENATED MODULE: ./packages/link/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_link_src_mainvue_type_script_lang_js_=link_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/link/src/main.vue\n/* normalize component */var link_src_main_component=normalizeComponent(packages_link_src_mainvue_type_script_lang_js_,mainvue_type_template_id_01cf3b65_render,mainvue_type_template_id_01cf3b65_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var link_src_main_api; }link_src_main_component.options.__file=\"packages/link/src/main.vue\";/* harmony default export */var link_src_main=link_src_main_component.exports;// CONCATENATED MODULE: ./packages/link/index.js\n/* istanbul ignore next */link_src_main.install=function(Vue){Vue.component(link_src_main.name,link_src_main);};/* harmony default export */var packages_link=link_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true&\nvar mainvue_type_template_id_7fa02a7e_functional_true_render=function mainvue_type_template_id_7fa02a7e_functional_true_render(_h,_vm){var _c=_vm._c;return _c(\"div\",_vm._g(_vm._b({class:[_vm.data.staticClass,\"el-divider\",\"el-divider--\"+_vm.props.direction]},\"div\",_vm.data.attrs,false),_vm.listeners),[_vm.slots().default&&_vm.props.direction!==\"vertical\"?_c(\"div\",{class:[\"el-divider__text\",\"is-\"+_vm.props.contentPosition]},[_vm._t(\"default\")],2):_vm._e()]);};var mainvue_type_template_id_7fa02a7e_functional_true_staticRenderFns=[];mainvue_type_template_id_7fa02a7e_functional_true_render._withStripped=true;// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var divider_src_mainvue_type_script_lang_js_={name:'ElDivider',props:{direction:{type:String,default:'horizontal',validator:function validator(val){return['horizontal','vertical'].indexOf(val)!==-1;}},contentPosition:{type:String,default:'center',validator:function validator(val){return['left','center','right'].indexOf(val)!==-1;}}}};// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_divider_src_mainvue_type_script_lang_js_=divider_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/divider/src/main.vue\n/* normalize component */var divider_src_main_component=normalizeComponent(packages_divider_src_mainvue_type_script_lang_js_,mainvue_type_template_id_7fa02a7e_functional_true_render,mainvue_type_template_id_7fa02a7e_functional_true_staticRenderFns,true,null,null,null);/* hot reload */if(false){ var divider_src_main_api; }divider_src_main_component.options.__file=\"packages/divider/src/main.vue\";/* harmony default export */var divider_src_main=divider_src_main_component.exports;// CONCATENATED MODULE: ./packages/divider/index.js\n/* istanbul ignore next */divider_src_main.install=function(Vue){Vue.component(divider_src_main.name,divider_src_main);};/* harmony default export */var divider=divider_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=template&id=44d84a7c&\nvar mainvue_type_template_id_44d84a7c_render=function mainvue_type_template_id_44d84a7c_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-image\"},[_vm.loading?_vm._t(\"placeholder\",[_c(\"div\",{staticClass:\"el-image__placeholder\"})]):_vm.error?_vm._t(\"error\",[_c(\"div\",{staticClass:\"el-image__error\"},[_vm._v(_vm._s(_vm.t(\"el.image.error\")))])]):_c(\"img\",_vm._g(_vm._b({staticClass:\"el-image__inner\",class:{\"el-image__inner--center\":_vm.alignCenter,\"el-image__preview\":_vm.preview},style:_vm.imageStyle,attrs:{src:_vm.src},on:{click:_vm.clickHandler}},\"img\",_vm.$attrs,false),_vm.$listeners)),_vm.preview?[_vm.showViewer?_c(\"image-viewer\",{attrs:{\"z-index\":_vm.zIndex,\"initial-index\":_vm.imageIndex,\"on-close\":_vm.closeViewer,\"url-list\":_vm.previewSrcList}}):_vm._e()]:_vm._e()],2);};var mainvue_type_template_id_44d84a7c_staticRenderFns=[];mainvue_type_template_id_44d84a7c_render._withStripped=true;// CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=template&id=44d84a7c&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307&\nvar image_viewervue_type_template_id_5e73b307_render=function image_viewervue_type_template_id_5e73b307_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"viewer-fade\"}},[_c(\"div\",{ref:\"el-image-viewer__wrapper\",staticClass:\"el-image-viewer__wrapper\",style:{\"z-index\":_vm.viewerZIndex},attrs:{tabindex:\"-1\"}},[_c(\"div\",{staticClass:\"el-image-viewer__mask\",on:{click:function click($event){if($event.target!==$event.currentTarget){return null;}return _vm.handleMaskClick($event);}}}),_c(\"span\",{staticClass:\"el-image-viewer__btn el-image-viewer__close\",on:{click:_vm.hide}},[_c(\"i\",{staticClass:\"el-icon-close\"})]),!_vm.isSingle?[_c(\"span\",{staticClass:\"el-image-viewer__btn el-image-viewer__prev\",class:{\"is-disabled\":!_vm.infinite&&_vm.isFirst},on:{click:_vm.prev}},[_c(\"i\",{staticClass:\"el-icon-arrow-left\"})]),_c(\"span\",{staticClass:\"el-image-viewer__btn el-image-viewer__next\",class:{\"is-disabled\":!_vm.infinite&&_vm.isLast},on:{click:_vm.next}},[_c(\"i\",{staticClass:\"el-icon-arrow-right\"})])]:_vm._e(),_c(\"div\",{staticClass:\"el-image-viewer__btn el-image-viewer__actions\"},[_c(\"div\",{staticClass:\"el-image-viewer__actions__inner\"},[_c(\"i\",{staticClass:\"el-icon-zoom-out\",on:{click:function click($event){_vm.handleActions(\"zoomOut\");}}}),_c(\"i\",{staticClass:\"el-icon-zoom-in\",on:{click:function click($event){_vm.handleActions(\"zoomIn\");}}}),_c(\"i\",{staticClass:\"el-image-viewer__actions__divider\"}),_c(\"i\",{class:_vm.mode.icon,on:{click:_vm.toggleMode}}),_c(\"i\",{staticClass:\"el-image-viewer__actions__divider\"}),_c(\"i\",{staticClass:\"el-icon-refresh-left\",on:{click:function click($event){_vm.handleActions(\"anticlocelise\");}}}),_c(\"i\",{staticClass:\"el-icon-refresh-right\",on:{click:function click($event){_vm.handleActions(\"clocelise\");}}})])]),_c(\"div\",{staticClass:\"el-image-viewer__canvas\"},_vm._l(_vm.urlList,function(url,i){return i===_vm.index?_c(\"img\",{key:url,ref:\"img\",refInFor:true,staticClass:\"el-image-viewer__img\",style:_vm.imgStyle,attrs:{src:_vm.currentImg},on:{load:_vm.handleImgLoad,error:_vm.handleImgError,mousedown:_vm.handleMouseDown}}):_vm._e();}),0)],2)]);};var image_viewervue_type_template_id_5e73b307_staticRenderFns=[];image_viewervue_type_template_id_5e73b307_render._withStripped=true;// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=script&lang=js&\nvar image_viewervue_type_script_lang_js_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar Mode={CONTAIN:{name:'contain',icon:'el-icon-full-screen'},ORIGINAL:{name:'original',icon:'el-icon-c-scale-to-original'}};var mousewheelEventName=Object(util_[\"isFirefox\"])()?'DOMMouseScroll':'mousewheel';/* harmony default export */var image_viewervue_type_script_lang_js_={name:'elImageViewer',props:{urlList:{type:Array,default:function _default(){return[];}},zIndex:{type:Number,default:2000},onSwitch:{type:Function,default:function _default(){}},onClose:{type:Function,default:function _default(){}},initialIndex:{type:Number,default:0},appendToBody:{type:Boolean,default:true},maskClosable:{type:Boolean,default:true}},data:function data(){return{index:this.initialIndex,isShow:false,infinite:true,loading:false,mode:Mode.CONTAIN,transform:{scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:false}};},computed:{isSingle:function isSingle(){return this.urlList.length<=1;},isFirst:function isFirst(){return this.index===0;},isLast:function isLast(){return this.index===this.urlList.length-1;},currentImg:function currentImg(){return this.urlList[this.index];},imgStyle:function imgStyle(){var _transform=this.transform,scale=_transform.scale,deg=_transform.deg,offsetX=_transform.offsetX,offsetY=_transform.offsetY,enableTransition=_transform.enableTransition;var style={transform:'scale('+scale+') rotate('+deg+'deg)',transition:enableTransition?'transform .3s':'','margin-left':offsetX+'px','margin-top':offsetY+'px'};if(this.mode===Mode.CONTAIN){style.maxWidth=style.maxHeight='100%';}return style;},viewerZIndex:function viewerZIndex(){var nextZIndex=popup_[\"PopupManager\"].nextZIndex();return this.zIndex>nextZIndex?this.zIndex:nextZIndex;}},watch:{index:{handler:function handler(val){this.reset();this.onSwitch(val);}},currentImg:function currentImg(val){var _this=this;this.$nextTick(function(_){var $img=_this.$refs.img[0];if(!$img.complete){_this.loading=true;}});}},methods:{hide:function hide(){this.deviceSupportUninstall();this.onClose();},deviceSupportInstall:function deviceSupportInstall(){var _this2=this;this._keyDownHandler=function(e){e.stopPropagation();var keyCode=e.keyCode;switch(keyCode){// ESC\ncase 27:_this2.hide();break;// SPACE\ncase 32:_this2.toggleMode();break;// LEFT_ARROW\ncase 37:_this2.prev();break;// UP_ARROW\ncase 38:_this2.handleActions('zoomIn');break;// RIGHT_ARROW\ncase 39:_this2.next();break;// DOWN_ARROW\ncase 40:_this2.handleActions('zoomOut');break;}};this._mouseWheelHandler=Object(util_[\"rafThrottle\"])(function(e){var delta=e.wheelDelta?e.wheelDelta:-e.detail;if(delta>0){_this2.handleActions('zoomIn',{zoomRate:0.015,enableTransition:false});}else{_this2.handleActions('zoomOut',{zoomRate:0.015,enableTransition:false});}});Object(dom_[\"on\"])(document,'keydown',this._keyDownHandler);Object(dom_[\"on\"])(document,mousewheelEventName,this._mouseWheelHandler);},deviceSupportUninstall:function deviceSupportUninstall(){Object(dom_[\"off\"])(document,'keydown',this._keyDownHandler);Object(dom_[\"off\"])(document,mousewheelEventName,this._mouseWheelHandler);this._keyDownHandler=null;this._mouseWheelHandler=null;},handleImgLoad:function handleImgLoad(e){this.loading=false;},handleImgError:function handleImgError(e){this.loading=false;e.target.alt='加载失败';},handleMouseDown:function handleMouseDown(e){var _this3=this;if(this.loading||e.button!==0)return;var _transform2=this.transform,offsetX=_transform2.offsetX,offsetY=_transform2.offsetY;var startX=e.pageX;var startY=e.pageY;this._dragHandler=Object(util_[\"rafThrottle\"])(function(ev){_this3.transform.offsetX=offsetX+ev.pageX-startX;_this3.transform.offsetY=offsetY+ev.pageY-startY;});Object(dom_[\"on\"])(document,'mousemove',this._dragHandler);Object(dom_[\"on\"])(document,'mouseup',function(ev){Object(dom_[\"off\"])(document,'mousemove',_this3._dragHandler);});e.preventDefault();},handleMaskClick:function handleMaskClick(){if(this.maskClosable){this.hide();}},reset:function reset(){this.transform={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:false};},toggleMode:function toggleMode(){if(this.loading)return;var modeNames=Object.keys(Mode);var modeValues=Object.values(Mode);var index=modeValues.indexOf(this.mode);var nextIndex=(index+1)%modeNames.length;this.mode=Mode[modeNames[nextIndex]];this.reset();},prev:function prev(){if(this.isFirst&&!this.infinite)return;var len=this.urlList.length;this.index=(this.index-1+len)%len;},next:function next(){if(this.isLast&&!this.infinite)return;var len=this.urlList.length;this.index=(this.index+1)%len;},handleActions:function handleActions(action){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(this.loading)return;var _zoomRate$rotateDeg$e=image_viewervue_type_script_lang_js_extends({zoomRate:0.2,rotateDeg:90,enableTransition:true},options),zoomRate=_zoomRate$rotateDeg$e.zoomRate,rotateDeg=_zoomRate$rotateDeg$e.rotateDeg,enableTransition=_zoomRate$rotateDeg$e.enableTransition;var transform=this.transform;switch(action){case'zoomOut':if(transform.scale>0.2){transform.scale=parseFloat((transform.scale-zoomRate).toFixed(3));}break;case'zoomIn':transform.scale=parseFloat((transform.scale+zoomRate).toFixed(3));break;case'clocelise':transform.deg+=rotateDeg;break;case'anticlocelise':transform.deg-=rotateDeg;break;}transform.enableTransition=enableTransition;}},mounted:function mounted(){this.deviceSupportInstall();if(this.appendToBody){document.body.appendChild(this.$el);}// add tabindex then wrapper can be focusable via Javascript\n// focus wrapper so arrow key can't cause inner scroll behavior underneath\nthis.$refs['el-image-viewer__wrapper'].focus();},destroyed:function destroyed(){// if appendToBody is true, remove DOM node after destroy\nif(this.appendToBody&&this.$el&&this.$el.parentNode){this.$el.parentNode.removeChild(this.$el);}}};// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=script&lang=js&\n/* harmony default export */var src_image_viewervue_type_script_lang_js_=image_viewervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue\n/* normalize component */var image_viewer_component=normalizeComponent(src_image_viewervue_type_script_lang_js_,image_viewervue_type_template_id_5e73b307_render,image_viewervue_type_template_id_5e73b307_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var image_viewer_api; }image_viewer_component.options.__file=\"packages/image/src/image-viewer.vue\";/* harmony default export */var image_viewer=image_viewer_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar isSupportObjectFit=function isSupportObjectFit(){return document.documentElement.style.objectFit!==undefined;};var ObjectFit={NONE:'none',CONTAIN:'contain',COVER:'cover',FILL:'fill',SCALE_DOWN:'scale-down'};var prevOverflow='';/* harmony default export */var image_src_mainvue_type_script_lang_js_={name:'ElImage',mixins:[locale_default.a],inheritAttrs:false,components:{ImageViewer:image_viewer},props:{src:String,fit:String,lazy:Boolean,scrollContainer:{},previewSrcList:{type:Array,default:function _default(){return[];}},zIndex:{type:Number,default:2000}},data:function data(){return{loading:true,error:false,show:!this.lazy,imageWidth:0,imageHeight:0,showViewer:false};},computed:{imageStyle:function imageStyle(){var fit=this.fit;if(!this.$isServer&&fit){return isSupportObjectFit()?{'object-fit':fit}:this.getImageStyle(fit);}return{};},alignCenter:function alignCenter(){return!this.$isServer&&!isSupportObjectFit()&&this.fit!==ObjectFit.FILL;},preview:function preview(){var previewSrcList=this.previewSrcList;return Array.isArray(previewSrcList)&&previewSrcList.length>0;},imageIndex:function imageIndex(){var previewIndex=0;var srcIndex=this.previewSrcList.indexOf(this.src);if(srcIndex>=0){previewIndex=srcIndex;}return previewIndex;}},watch:{src:function src(val){this.show&&this.loadImage();},show:function show(val){val&&this.loadImage();}},mounted:function mounted(){if(this.lazy){this.addLazyLoadListener();}else{this.loadImage();}},beforeDestroy:function beforeDestroy(){this.lazy&&this.removeLazyLoadListener();},methods:{loadImage:function loadImage(){var _this=this;if(this.$isServer)return;// reset status\nthis.loading=true;this.error=false;var img=new Image();img.onload=function(e){return _this.handleLoad(e,img);};img.onerror=this.handleError.bind(this);// bind html attrs\n// so it can behave consistently\nObject.keys(this.$attrs).forEach(function(key){var value=_this.$attrs[key];img.setAttribute(key,value);});img.src=this.src;},handleLoad:function handleLoad(e,img){this.imageWidth=img.width;this.imageHeight=img.height;this.loading=false;this.error=false;},handleError:function handleError(e){this.loading=false;this.error=true;this.$emit('error',e);},handleLazyLoad:function handleLazyLoad(){if(Object(dom_[\"isInContainer\"])(this.$el,this._scrollContainer)){this.show=true;this.removeLazyLoadListener();}},addLazyLoadListener:function addLazyLoadListener(){if(this.$isServer)return;var scrollContainer=this.scrollContainer;var _scrollContainer=null;if(Object(types_[\"isHtmlElement\"])(scrollContainer)){_scrollContainer=scrollContainer;}else if(Object(types_[\"isString\"])(scrollContainer)){_scrollContainer=document.querySelector(scrollContainer);}else{_scrollContainer=Object(dom_[\"getScrollContainer\"])(this.$el);}if(_scrollContainer){this._scrollContainer=_scrollContainer;this._lazyLoadHandler=throttle_default()(200,this.handleLazyLoad);Object(dom_[\"on\"])(_scrollContainer,'scroll',this._lazyLoadHandler);this.handleLazyLoad();}},removeLazyLoadListener:function removeLazyLoadListener(){var _scrollContainer=this._scrollContainer,_lazyLoadHandler=this._lazyLoadHandler;if(this.$isServer||!_scrollContainer||!_lazyLoadHandler)return;Object(dom_[\"off\"])(_scrollContainer,'scroll',_lazyLoadHandler);this._scrollContainer=null;this._lazyLoadHandler=null;},/**\n     * simulate object-fit behavior to compatible with IE11 and other browsers which not support object-fit\n     */getImageStyle:function getImageStyle(fit){var imageWidth=this.imageWidth,imageHeight=this.imageHeight;var _$el=this.$el,containerWidth=_$el.clientWidth,containerHeight=_$el.clientHeight;if(!imageWidth||!imageHeight||!containerWidth||!containerHeight)return{};var imageAspectRatio=imageWidth/imageHeight;var containerAspectRatio=containerWidth/containerHeight;if(fit===ObjectFit.SCALE_DOWN){var isSmaller=imageWidth<containerWidth&&imageHeight<containerHeight;fit=isSmaller?ObjectFit.NONE:ObjectFit.CONTAIN;}switch(fit){case ObjectFit.NONE:return{width:'auto',height:'auto'};case ObjectFit.CONTAIN:return imageAspectRatio<containerAspectRatio?{width:'auto'}:{height:'auto'};case ObjectFit.COVER:return imageAspectRatio<containerAspectRatio?{height:'auto'}:{width:'auto'};default:return{};}},clickHandler:function clickHandler(){// don't show viewer when preview is false\nif(!this.preview){return;}// prevent body scroll\nprevOverflow=document.body.style.overflow;document.body.style.overflow='hidden';this.showViewer=true;},closeViewer:function closeViewer(){document.body.style.overflow=prevOverflow;this.showViewer=false;}}};// CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_image_src_mainvue_type_script_lang_js_=image_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/image/src/main.vue\n/* normalize component */var image_src_main_component=normalizeComponent(packages_image_src_mainvue_type_script_lang_js_,mainvue_type_template_id_44d84a7c_render,mainvue_type_template_id_44d84a7c_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var image_src_main_api; }image_src_main_component.options.__file=\"packages/image/src/main.vue\";/* harmony default export */var image_src_main=image_src_main_component.exports;// CONCATENATED MODULE: ./packages/image/index.js\n/* istanbul ignore next */image_src_main.install=function(Vue){Vue.component(image_src_main.name,image_src_main);};/* harmony default export */var packages_image=image_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/main.vue?vue&type=template&id=6d9756be&\nvar mainvue_type_template_id_6d9756be_render=function mainvue_type_template_id_6d9756be_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-calendar\"},[_c(\"div\",{staticClass:\"el-calendar__header\"},[_c(\"div\",{staticClass:\"el-calendar__title\"},[_vm._v(\"\\n      \"+_vm._s(_vm.i18nDate)+\"\\n    \")]),_vm.validatedRange.length===0?_c(\"div\",{staticClass:\"el-calendar__button-group\"},[_c(\"el-button-group\",[_c(\"el-button\",{attrs:{type:\"plain\",size:\"mini\"},on:{click:function click($event){_vm.selectDate(\"prev-month\");}}},[_vm._v(\"\\n          \"+_vm._s(_vm.t(\"el.datepicker.prevMonth\"))+\"\\n        \")]),_c(\"el-button\",{attrs:{type:\"plain\",size:\"mini\"},on:{click:function click($event){_vm.selectDate(\"today\");}}},[_vm._v(\"\\n          \"+_vm._s(_vm.t(\"el.datepicker.today\"))+\"\\n        \")]),_c(\"el-button\",{attrs:{type:\"plain\",size:\"mini\"},on:{click:function click($event){_vm.selectDate(\"next-month\");}}},[_vm._v(\"\\n          \"+_vm._s(_vm.t(\"el.datepicker.nextMonth\"))+\"\\n        \")])],1)],1):_vm._e()]),_vm.validatedRange.length===0?_c(\"div\",{key:\"no-range\",staticClass:\"el-calendar__body\"},[_c(\"date-table\",{attrs:{date:_vm.date,\"selected-day\":_vm.realSelectedDay,\"first-day-of-week\":_vm.realFirstDayOfWeek},on:{pick:_vm.pickDay}})],1):_c(\"div\",{key:\"has-range\",staticClass:\"el-calendar__body\"},_vm._l(_vm.validatedRange,function(range,index){return _c(\"date-table\",{key:index,attrs:{date:range[0],\"selected-day\":_vm.realSelectedDay,range:range,\"hide-header\":index!==0,\"first-day-of-week\":_vm.realFirstDayOfWeek},on:{pick:_vm.pickDay}});}),1)]);};var mainvue_type_template_id_6d9756be_staticRenderFns=[];mainvue_type_template_id_6d9756be_render._withStripped=true;// CONCATENATED MODULE: ./packages/calendar/src/main.vue?vue&type=template&id=6d9756be&\n// EXTERNAL MODULE: external \"element-ui/lib/utils/date\"\nvar date_=__webpack_require__(20);var date_default=/*#__PURE__*/__webpack_require__.n(date_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/date-table.vue?vue&type=script&lang=js&\n/* harmony default export */var src_date_tablevue_type_script_lang_js_={props:{selectedDay:String,// formated date yyyy-MM-dd\nrange:{type:Array,validator:function validator(val){if(!(val&&val.length))return true;var start=val[0],end=val[1];return Object(date_util_[\"validateRangeInOneMonth\"])(start,end);}},date:Date,hideHeader:Boolean,firstDayOfWeek:Number},inject:['elCalendar'],methods:{toNestedArr:function toNestedArr(days){return Object(date_util_[\"range\"])(days.length/7).map(function(_,index){var start=index*7;return days.slice(start,start+7);});},getFormateDate:function getFormateDate(day,type){if(!day||['prev','current','next'].indexOf(type)===-1){throw new Error('invalid day or type');}var prefix=this.curMonthDatePrefix;if(type==='prev'){prefix=this.prevMonthDatePrefix;}else if(type==='next'){prefix=this.nextMonthDatePrefix;}day=('00'+day).slice(-2);return prefix+'-'+day;},getCellClass:function getCellClass(_ref){var text=_ref.text,type=_ref.type;var classes=[type];if(type==='current'){var date=this.getFormateDate(text,type);if(date===this.selectedDay){classes.push('is-selected');}if(date===this.formatedToday){classes.push('is-today');}}return classes;},pickDay:function pickDay(_ref2){var text=_ref2.text,type=_ref2.type;var date=this.getFormateDate(text,type);this.$emit('pick',date);},cellRenderProxy:function cellRenderProxy(_ref3){var text=_ref3.text,type=_ref3.type;var h=this.$createElement;var render=this.elCalendar.$scopedSlots.dateCell;if(!render)return h('span',[text]);var day=this.getFormateDate(text,type);var date=new Date(day);var data={isSelected:this.selectedDay===day,type:type+'-month',day:day};return render({date:date,data:data});}},computed:{WEEK_DAYS:function WEEK_DAYS(){return Object(date_util_[\"getI18nSettings\"])().dayNames;},prevMonthDatePrefix:function prevMonthDatePrefix(){var temp=new Date(this.date.getTime());temp.setDate(0);return date_default.a.format(temp,'yyyy-MM');},curMonthDatePrefix:function curMonthDatePrefix(){return date_default.a.format(this.date,'yyyy-MM');},nextMonthDatePrefix:function nextMonthDatePrefix(){var temp=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return date_default.a.format(temp,'yyyy-MM');},formatedToday:function formatedToday(){return this.elCalendar.formatedToday;},isInRange:function isInRange(){return this.range&&this.range.length;},rows:function rows(){var days=[];// if range exists, should render days in range.\nif(this.isInRange){var _range=this.range,start=_range[0],end=_range[1];var currentMonthRange=Object(date_util_[\"range\"])(end.getDate()-start.getDate()+1).map(function(_,index){return{text:start.getDate()+index,type:'current'};});var remaining=currentMonthRange.length%7;remaining=remaining===0?0:7-remaining;var nextMonthRange=Object(date_util_[\"range\"])(remaining).map(function(_,index){return{text:index+1,type:'next'};});days=currentMonthRange.concat(nextMonthRange);}else{var date=this.date;var firstDay=Object(date_util_[\"getFirstDayOfMonth\"])(date);firstDay=firstDay===0?7:firstDay;var firstDayOfWeek=typeof this.firstDayOfWeek==='number'?this.firstDayOfWeek:1;var offset=(7+firstDay-firstDayOfWeek)%7;var prevMonthDays=Object(date_util_[\"getPrevMonthLastDays\"])(date,offset).map(function(day){return{text:day,type:'prev'};});var currentMonthDays=Object(date_util_[\"getMonthDays\"])(date).map(function(day){return{text:day,type:'current'};});days=[].concat(prevMonthDays,currentMonthDays);var nextMonthDays=Object(date_util_[\"range\"])(42-days.length).map(function(_,index){return{text:index+1,type:'next'};});days=days.concat(nextMonthDays);}return this.toNestedArr(days);},weekDays:function weekDays(){var start=this.firstDayOfWeek;var WEEK_DAYS=this.WEEK_DAYS;if(typeof start!=='number'||start===0){return WEEK_DAYS.slice();}else{return WEEK_DAYS.slice(start).concat(WEEK_DAYS.slice(0,start));}}},render:function render(){var _this=this;var h=arguments[0];var thead=this.hideHeader?null:h('thead',[this.weekDays.map(function(day){return h('th',{key:day},[day]);})]);return h('table',{'class':{'el-calendar-table':true,'is-range':this.isInRange},attrs:{cellspacing:'0',cellpadding:'0'}},[thead,h('tbody',[this.rows.map(function(row,index){return h('tr',{'class':{'el-calendar-table__row':true,'el-calendar-table__row--hide-border':index===0&&_this.hideHeader},key:index},[row.map(function(cell,key){return h('td',{key:key,'class':_this.getCellClass(cell),on:{'click':_this.pickDay.bind(_this,cell)}},[h('div',{'class':'el-calendar-day'},[_this.cellRenderProxy(cell)])]);})]);})])]);}};// CONCATENATED MODULE: ./packages/calendar/src/date-table.vue?vue&type=script&lang=js&\n/* harmony default export */var calendar_src_date_tablevue_type_script_lang_js_=src_date_tablevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/calendar/src/date-table.vue\nvar date_table_render,date_table_staticRenderFns;/* normalize component */var src_date_table_component=normalizeComponent(calendar_src_date_tablevue_type_script_lang_js_,date_table_render,date_table_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var src_date_table_api; }src_date_table_component.options.__file=\"packages/calendar/src/date-table.vue\";/* harmony default export */var src_date_table=src_date_table_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar validTypes=['prev-month','today','next-month'];var weekDays=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];var oneDay=86400000;/* harmony default export */var calendar_src_mainvue_type_script_lang_js_={name:'ElCalendar',mixins:[locale_default.a],components:{DateTable:src_date_table,ElButton:button_default.a,ElButtonGroup:button_group_default.a},props:{value:[Date,String,Number],range:{type:Array,validator:function validator(range){if(Array.isArray(range)){return range.length===2&&range.every(function(item){return typeof item==='string'||typeof item==='number'||item instanceof Date;});}else{return true;}}},firstDayOfWeek:{type:Number,default:1}},provide:function provide(){return{elCalendar:this};},methods:{pickDay:function pickDay(day){this.realSelectedDay=day;},selectDate:function selectDate(type){if(validTypes.indexOf(type)===-1){throw new Error('invalid type '+type);}var day='';if(type==='prev-month'){day=this.prevMonthDatePrefix+'-01';}else if(type==='next-month'){day=this.nextMonthDatePrefix+'-01';}else{day=this.formatedToday;}if(day===this.formatedDate)return;this.pickDay(day);},toDate:function toDate(val){if(!val){throw new Error('invalid val');}return val instanceof Date?val:new Date(val);},rangeValidator:function rangeValidator(date,isStart){var firstDayOfWeek=this.realFirstDayOfWeek;var expected=isStart?firstDayOfWeek:firstDayOfWeek===0?6:firstDayOfWeek-1;var message=(isStart?'start':'end')+' of range should be '+weekDays[expected]+'.';if(date.getDay()!==expected){console.warn('[ElementCalendar]',message,'Invalid range will be ignored.');return false;}return true;}},computed:{prevMonthDatePrefix:function prevMonthDatePrefix(){var temp=new Date(this.date.getTime());temp.setDate(0);return date_default.a.format(temp,'yyyy-MM');},curMonthDatePrefix:function curMonthDatePrefix(){return date_default.a.format(this.date,'yyyy-MM');},nextMonthDatePrefix:function nextMonthDatePrefix(){var temp=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return date_default.a.format(temp,'yyyy-MM');},formatedDate:function formatedDate(){return date_default.a.format(this.date,'yyyy-MM-dd');},i18nDate:function i18nDate(){var year=this.date.getFullYear();var month=this.date.getMonth()+1;return year+' '+this.t('el.datepicker.year')+' '+this.t('el.datepicker.month'+month);},formatedToday:function formatedToday(){return date_default.a.format(this.now,'yyyy-MM-dd');},realSelectedDay:{get:function get(){if(!this.value)return this.selectedDay;return this.formatedDate;},set:function set(val){this.selectedDay=val;var date=new Date(val);this.$emit('input',date);}},date:function date(){if(!this.value){if(this.realSelectedDay){var d=this.selectedDay.split('-');return new Date(d[0],d[1]-1,d[2]);}else if(this.validatedRange.length){return this.validatedRange[0][0];}return this.now;}else{return this.toDate(this.value);}},// if range is valid, we get a two-digit array\nvalidatedRange:function validatedRange(){var _this=this;var range=this.range;if(!range)return[];range=range.reduce(function(prev,val,index){var date=_this.toDate(val);if(_this.rangeValidator(date,index===0)){prev=prev.concat(date);}return prev;},[]);if(range.length===2){var _range=range,start=_range[0],end=_range[1];if(start>end){console.warn('[ElementCalendar]end time should be greater than start time');return[];}// start time and end time in one month\nif(Object(date_util_[\"validateRangeInOneMonth\"])(start,end)){return[[start,end]];}var data=[];var startDay=new Date(start.getFullYear(),start.getMonth()+1,1);var lastDay=this.toDate(startDay.getTime()-oneDay);if(!Object(date_util_[\"validateRangeInOneMonth\"])(startDay,end)){console.warn('[ElementCalendar]start time and end time interval must not exceed two months');return[];}// 第一个月的时间范围\ndata.push([start,lastDay]);// 下一月的时间范围，需要计算一下该月的第一个周起始日\nvar firstDayOfWeek=this.realFirstDayOfWeek;var nextMontFirstDay=startDay.getDay();var interval=0;if(nextMontFirstDay!==firstDayOfWeek){if(firstDayOfWeek===0){interval=7-nextMontFirstDay;}else{interval=firstDayOfWeek-nextMontFirstDay;interval=interval>0?interval:7+interval;}}startDay=this.toDate(startDay.getTime()+interval*oneDay);if(startDay.getDate()<end.getDate()){data.push([startDay,end]);}return data;}return[];},realFirstDayOfWeek:function realFirstDayOfWeek(){if(this.firstDayOfWeek<1||this.firstDayOfWeek>6){return 0;}return Math.floor(this.firstDayOfWeek);}},data:function data(){return{selectedDay:'',now:new Date()};}};// CONCATENATED MODULE: ./packages/calendar/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_calendar_src_mainvue_type_script_lang_js_=calendar_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/calendar/src/main.vue\n/* normalize component */var calendar_src_main_component=normalizeComponent(packages_calendar_src_mainvue_type_script_lang_js_,mainvue_type_template_id_6d9756be_render,mainvue_type_template_id_6d9756be_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var calendar_src_main_api; }calendar_src_main_component.options.__file=\"packages/calendar/src/main.vue\";/* harmony default export */var calendar_src_main=calendar_src_main_component.exports;// CONCATENATED MODULE: ./packages/calendar/index.js\n/* istanbul ignore next */calendar_src_main.install=function(Vue){Vue.component(calendar_src_main.name,calendar_src_main);};/* harmony default export */var calendar=calendar_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/backtop/src/main.vue?vue&type=template&id=257dd4a9&\nvar mainvue_type_template_id_257dd4a9_render=function mainvue_type_template_id_257dd4a9_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-fade-in\"}},[_vm.visible?_c(\"div\",{staticClass:\"el-backtop\",style:{right:_vm.styleRight,bottom:_vm.styleBottom},on:{click:function click($event){$event.stopPropagation();return _vm.handleClick($event);}}},[_vm._t(\"default\",[_c(\"el-icon\",{attrs:{name:\"caret-top\"}})])],2):_vm._e()]);};var mainvue_type_template_id_257dd4a9_staticRenderFns=[];mainvue_type_template_id_257dd4a9_render._withStripped=true;// CONCATENATED MODULE: ./packages/backtop/src/main.vue?vue&type=template&id=257dd4a9&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/backtop/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar cubic=function cubic(value){return Math.pow(value,3);};var easeInOutCubic=function easeInOutCubic(value){return value<0.5?cubic(value*2)/2:1-cubic((1-value)*2)/2;};/* harmony default export */var backtop_src_mainvue_type_script_lang_js_={name:'ElBacktop',props:{visibilityHeight:{type:Number,default:200},target:[String],right:{type:Number,default:40},bottom:{type:Number,default:40}},data:function data(){return{el:null,container:null,visible:false};},computed:{styleBottom:function styleBottom(){return this.bottom+'px';},styleRight:function styleRight(){return this.right+'px';}},mounted:function mounted(){this.init();this.throttledScrollHandler=throttle_default()(300,this.onScroll);this.container.addEventListener('scroll',this.throttledScrollHandler);},methods:{init:function init(){this.container=document;this.el=document.documentElement;if(this.target){this.el=document.querySelector(this.target);if(!this.el){throw new Error('target is not existed: '+this.target);}this.container=this.el;}},onScroll:function onScroll(){var scrollTop=this.el.scrollTop;this.visible=scrollTop>=this.visibilityHeight;},handleClick:function handleClick(e){this.scrollToTop();this.$emit('click',e);},scrollToTop:function scrollToTop(){var el=this.el;var beginTime=Date.now();var beginValue=el.scrollTop;var rAF=window.requestAnimationFrame||function(func){return setTimeout(func,16);};var frameFunc=function frameFunc(){var progress=(Date.now()-beginTime)/500;if(progress<1){el.scrollTop=beginValue*(1-easeInOutCubic(progress));rAF(frameFunc);}else{el.scrollTop=0;}};rAF(frameFunc);}},beforeDestroy:function beforeDestroy(){this.container.removeEventListener('scroll',this.throttledScrollHandler);}};// CONCATENATED MODULE: ./packages/backtop/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_backtop_src_mainvue_type_script_lang_js_=backtop_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/backtop/src/main.vue\n/* normalize component */var backtop_src_main_component=normalizeComponent(packages_backtop_src_mainvue_type_script_lang_js_,mainvue_type_template_id_257dd4a9_render,mainvue_type_template_id_257dd4a9_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var backtop_src_main_api; }backtop_src_main_component.options.__file=\"packages/backtop/src/main.vue\";/* harmony default export */var backtop_src_main=backtop_src_main_component.exports;// CONCATENATED MODULE: ./packages/backtop/index.js\n/* istanbul ignore next */backtop_src_main.install=function(Vue){Vue.component(backtop_src_main.name,backtop_src_main);};/* harmony default export */var backtop=backtop_src_main;// CONCATENATED MODULE: ./packages/infinite-scroll/src/main.js\nvar getStyleComputedProperty=function getStyleComputedProperty(element,property){if(element===window){element=document.documentElement;}if(element.nodeType!==1){return[];}// NOTE: 1 DOM access here\nvar css=window.getComputedStyle(element,null);return property?css[property]:css;};var entries=function entries(obj){return Object.keys(obj||{}).map(function(key){return[key,obj[key]];});};var getPositionSize=function getPositionSize(el,prop){return el===window||el===document?document.documentElement[prop]:el[prop];};var getOffsetHeight=function getOffsetHeight(el){return getPositionSize(el,'offsetHeight');};var getClientHeight=function getClientHeight(el){return getPositionSize(el,'clientHeight');};var scope='ElInfiniteScroll';var attributes={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:false},immediate:{type:Boolean,default:true}};var main_getScrollOptions=function getScrollOptions(el,vm){if(!Object(types_[\"isHtmlElement\"])(el))return{};return entries(attributes).reduce(function(map,_ref){var key=_ref[0],option=_ref[1];var type=option.type,defaultValue=option.default;var value=el.getAttribute('infinite-scroll-'+key);value=Object(types_[\"isUndefined\"])(vm[value])?value:vm[value];switch(type){case Number:value=Number(value);value=Number.isNaN(value)?defaultValue:value;break;case Boolean:value=Object(types_[\"isDefined\"])(value)?value==='false'?false:Boolean(value):defaultValue;break;default:value=type(value);}map[key]=value;return map;},{});};var getElementTop=function getElementTop(el){return el.getBoundingClientRect().top;};var main_handleScroll=function handleScroll(cb){var _scope=this[scope],el=_scope.el,vm=_scope.vm,container=_scope.container,observer=_scope.observer;var _getScrollOptions=main_getScrollOptions(el,vm),distance=_getScrollOptions.distance,disabled=_getScrollOptions.disabled;if(disabled)return;var containerInfo=container.getBoundingClientRect();if(!containerInfo.width&&!containerInfo.height)return;var shouldTrigger=false;if(container===el){// be aware of difference between clientHeight & offsetHeight & window.getComputedStyle().height\nvar scrollBottom=container.scrollTop+getClientHeight(container);shouldTrigger=container.scrollHeight-scrollBottom<=distance;}else{var heightBelowTop=getOffsetHeight(el)+getElementTop(el)-getElementTop(container);var offsetHeight=getOffsetHeight(container);var borderBottom=Number.parseFloat(getStyleComputedProperty(container,'borderBottomWidth'));shouldTrigger=heightBelowTop-offsetHeight+borderBottom<=distance;}if(shouldTrigger&&Object(types_[\"isFunction\"])(cb)){cb.call(vm);}else if(observer){observer.disconnect();this[scope].observer=null;}};/* harmony default export */var infinite_scroll_src_main={name:'InfiniteScroll',inserted:function inserted(el,binding,vnode){var cb=binding.value;var vm=vnode.context;// only include vertical scroll\nvar container=Object(dom_[\"getScrollContainer\"])(el,true);var _getScrollOptions2=main_getScrollOptions(el,vm),delay=_getScrollOptions2.delay,immediate=_getScrollOptions2.immediate;var onScroll=debounce_default()(delay,main_handleScroll.bind(el,cb));el[scope]={el:el,vm:vm,container:container,onScroll:onScroll};if(container){container.addEventListener('scroll',onScroll);if(immediate){var observer=el[scope].observer=new MutationObserver(onScroll);observer.observe(container,{childList:true,subtree:true});onScroll();}}},unbind:function unbind(el){var _el$scope=el[scope],container=_el$scope.container,onScroll=_el$scope.onScroll;if(container){container.removeEventListener('scroll',onScroll);}}};// CONCATENATED MODULE: ./packages/infinite-scroll/index.js\n/* istanbul ignore next */infinite_scroll_src_main.install=function(Vue){Vue.directive(infinite_scroll_src_main.name,infinite_scroll_src_main);};/* harmony default export */var infinite_scroll=infinite_scroll_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/page-header/src/main.vue?vue&type=template&id=5070954c&\nvar mainvue_type_template_id_5070954c_render=function mainvue_type_template_id_5070954c_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-page-header\"},[_c(\"div\",{staticClass:\"el-page-header__left\",on:{click:function click($event){_vm.$emit(\"back\");}}},[_c(\"i\",{staticClass:\"el-icon-back\"}),_c(\"div\",{staticClass:\"el-page-header__title\"},[_vm._t(\"title\",[_vm._v(_vm._s(_vm.title))])],2)]),_c(\"div\",{staticClass:\"el-page-header__content\"},[_vm._t(\"content\",[_vm._v(_vm._s(_vm.content))])],2)]);};var mainvue_type_template_id_5070954c_staticRenderFns=[];mainvue_type_template_id_5070954c_render._withStripped=true;// CONCATENATED MODULE: ./packages/page-header/src/main.vue?vue&type=template&id=5070954c&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/page-header/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var page_header_src_mainvue_type_script_lang_js_={name:'ElPageHeader',props:{title:{type:String,default:function _default(){return Object(lib_locale_[\"t\"])('el.pageHeader.title');}},content:String}};// CONCATENATED MODULE: ./packages/page-header/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_page_header_src_mainvue_type_script_lang_js_=page_header_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/page-header/src/main.vue\n/* normalize component */var page_header_src_main_component=normalizeComponent(packages_page_header_src_mainvue_type_script_lang_js_,mainvue_type_template_id_5070954c_render,mainvue_type_template_id_5070954c_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var page_header_src_main_api; }page_header_src_main_component.options.__file=\"packages/page-header/src/main.vue\";/* harmony default export */var page_header_src_main=page_header_src_main_component.exports;// CONCATENATED MODULE: ./packages/page-header/index.js\n/* istanbul ignore next */page_header_src_main.install=function(Vue){Vue.component(page_header_src_main.name,page_header_src_main);};/* harmony default export */var page_header=page_header_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\nvar cascader_panelvue_type_template_id_34932346_render=function cascader_panelvue_type_template_id_34932346_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{class:[\"el-cascader-panel\",_vm.border&&\"is-bordered\"],on:{keydown:_vm.handleKeyDown}},_vm._l(_vm.menus,function(menu,index){return _c(\"cascader-menu\",{key:index,ref:\"menu\",refInFor:true,attrs:{index:index,nodes:menu}});}),1);};var cascader_panelvue_type_template_id_34932346_staticRenderFns=[];cascader_panelvue_type_template_id_34932346_render._withStripped=true;// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\n// EXTERNAL MODULE: external \"element-ui/lib/radio\"\nvar radio_=__webpack_require__(43);var radio_default=/*#__PURE__*/__webpack_require__.n(radio_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\nvar stopPropagation=function stopPropagation(e){return e.stopPropagation();};/* harmony default export */var cascader_nodevue_type_script_lang_js_={inject:['panel'],components:{ElCheckbox:checkbox_default.a,ElRadio:radio_default.a},props:{node:{required:true},nodeId:String},computed:{config:function config(){return this.panel.config;},isLeaf:function isLeaf(){return this.node.isLeaf;},isDisabled:function isDisabled(){return this.node.isDisabled;},checkedValue:function checkedValue(){return this.panel.checkedValue;},isChecked:function isChecked(){return this.node.isSameNode(this.checkedValue);},inActivePath:function inActivePath(){return this.isInPath(this.panel.activePath);},inCheckedPath:function inCheckedPath(){var _this=this;if(!this.config.checkStrictly)return false;return this.panel.checkedNodePaths.some(function(checkedPath){return _this.isInPath(checkedPath);});},value:function value(){return this.node.getValueByOption();}},methods:{handleExpand:function handleExpand(){var _this2=this;var panel=this.panel,node=this.node,isDisabled=this.isDisabled,config=this.config;var multiple=config.multiple,checkStrictly=config.checkStrictly;if(!checkStrictly&&isDisabled||node.loading)return;if(config.lazy&&!node.loaded){panel.lazyLoad(node,function(){// do not use cached leaf value here, invoke this.isLeaf to get new value.\nvar isLeaf=_this2.isLeaf;if(!isLeaf)_this2.handleExpand();if(multiple){// if leaf sync checked state, else clear checked state\nvar checked=isLeaf?node.checked:false;_this2.handleMultiCheckChange(checked);}});}else{panel.handleExpand(node);}},handleCheckChange:function handleCheckChange(){var panel=this.panel,value=this.value,node=this.node;panel.handleCheckChange(value);panel.handleExpand(node);},handleMultiCheckChange:function handleMultiCheckChange(checked){this.node.doCheck(checked);this.panel.calculateMultiCheckedValue();},isInPath:function isInPath(pathNodes){var node=this.node;var selectedPathNode=pathNodes[node.level-1]||{};return selectedPathNode.uid===node.uid;},renderPrefix:function renderPrefix(h){var isLeaf=this.isLeaf,isChecked=this.isChecked,config=this.config;var checkStrictly=config.checkStrictly,multiple=config.multiple;if(multiple){return this.renderCheckbox(h);}else if(checkStrictly){return this.renderRadio(h);}else if(isLeaf&&isChecked){return this.renderCheckIcon(h);}return null;},renderPostfix:function renderPostfix(h){var node=this.node,isLeaf=this.isLeaf;if(node.loading){return this.renderLoadingIcon(h);}else if(!isLeaf){return this.renderExpandIcon(h);}return null;},renderCheckbox:function renderCheckbox(h){var node=this.node,config=this.config,isDisabled=this.isDisabled;var events={on:{change:this.handleMultiCheckChange},nativeOn:{}};if(config.checkStrictly){// when every node is selectable, click event should not trigger expand event.\nevents.nativeOn.click=stopPropagation;}return h('el-checkbox',external_babel_helper_vue_jsx_merge_props_default()([{attrs:{value:node.checked,indeterminate:node.indeterminate,disabled:isDisabled}},events]));},renderRadio:function renderRadio(h){var checkedValue=this.checkedValue,value=this.value,isDisabled=this.isDisabled;// to keep same reference if value cause radio's checked state is calculated by reference comparision;\nif(Object(util_[\"isEqual\"])(value,checkedValue)){value=checkedValue;}return h('el-radio',{attrs:{value:checkedValue,label:value,disabled:isDisabled},on:{'change':this.handleCheckChange},nativeOn:{'click':stopPropagation}},[h('span')]);},renderCheckIcon:function renderCheckIcon(h){return h('i',{'class':'el-icon-check el-cascader-node__prefix'});},renderLoadingIcon:function renderLoadingIcon(h){return h('i',{'class':'el-icon-loading el-cascader-node__postfix'});},renderExpandIcon:function renderExpandIcon(h){return h('i',{'class':'el-icon-arrow-right el-cascader-node__postfix'});},renderContent:function renderContent(h){var panel=this.panel,node=this.node;var render=panel.renderLabelFn;var vnode=render?render({node:node,data:node.data}):null;return h('span',{'class':'el-cascader-node__label'},[vnode||node.label]);}},render:function render(h){var _this3=this;var inActivePath=this.inActivePath,inCheckedPath=this.inCheckedPath,isChecked=this.isChecked,isLeaf=this.isLeaf,isDisabled=this.isDisabled,config=this.config,nodeId=this.nodeId;var expandTrigger=config.expandTrigger,checkStrictly=config.checkStrictly,multiple=config.multiple;var disabled=!checkStrictly&&isDisabled;var events={on:{}};if(expandTrigger==='click'){events.on.click=this.handleExpand;}else{events.on.mouseenter=function(e){_this3.handleExpand();_this3.$emit('expand',e);};events.on.focus=function(e){_this3.handleExpand();_this3.$emit('expand',e);};}if(isLeaf&&!isDisabled&&!checkStrictly&&!multiple){events.on.click=this.handleCheckChange;}return h('li',external_babel_helper_vue_jsx_merge_props_default()([{attrs:{role:'menuitem',id:nodeId,'aria-expanded':inActivePath,tabindex:disabled?null:-1},'class':{'el-cascader-node':true,'is-selectable':checkStrictly,'in-active-path':inActivePath,'in-checked-path':inCheckedPath,'is-active':isChecked,'is-disabled':disabled}},events]),[this.renderPrefix(h),this.renderContent(h),this.renderPostfix(h)]);}};// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n/* harmony default export */var src_cascader_nodevue_type_script_lang_js_=cascader_nodevue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue\nvar cascader_node_render,cascader_node_staticRenderFns;/* normalize component */var cascader_node_component=normalizeComponent(src_cascader_nodevue_type_script_lang_js_,cascader_node_render,cascader_node_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var cascader_node_api; }cascader_node_component.options.__file=\"packages/cascader-panel/src/cascader-node.vue\";/* harmony default export */var cascader_node=cascader_node_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n/* harmony default export */var cascader_menuvue_type_script_lang_js_={name:'ElCascaderMenu',mixins:[locale_default.a],inject:['panel'],components:{ElScrollbar:scrollbar_default.a,CascaderNode:cascader_node},props:{nodes:{type:Array,required:true},index:Number},data:function data(){return{activeNode:null,hoverTimer:null,id:Object(util_[\"generateId\"])()};},computed:{isEmpty:function isEmpty(){return!this.nodes.length;},menuId:function menuId(){return'cascader-menu-'+this.id+'-'+this.index;}},methods:{handleExpand:function handleExpand(e){this.activeNode=e.target;},handleMouseMove:function handleMouseMove(e){var activeNode=this.activeNode,hoverTimer=this.hoverTimer;var hoverZone=this.$refs.hoverZone;if(!activeNode||!hoverZone)return;if(activeNode.contains(e.target)){clearTimeout(hoverTimer);var _$el$getBoundingClien=this.$el.getBoundingClientRect(),left=_$el$getBoundingClien.left;var startX=e.clientX-left;var _$el=this.$el,offsetWidth=_$el.offsetWidth,offsetHeight=_$el.offsetHeight;var top=activeNode.offsetTop;var bottom=top+activeNode.offsetHeight;hoverZone.innerHTML='\\n          <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M'+startX+' '+top+' L'+offsetWidth+' 0 V'+top+' Z\" />\\n          <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M'+startX+' '+bottom+' L'+offsetWidth+' '+offsetHeight+' V'+bottom+' Z\" />\\n        ';}else if(!hoverTimer){this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold);}},clearHoverZone:function clearHoverZone(){var hoverZone=this.$refs.hoverZone;if(!hoverZone)return;hoverZone.innerHTML='';},renderEmptyText:function renderEmptyText(h){return h('div',{'class':'el-cascader-menu__empty-text'},[this.t('el.cascader.noData')]);},renderNodeList:function renderNodeList(h){var menuId=this.menuId;var isHoverMenu=this.panel.isHoverMenu;var events={on:{}};if(isHoverMenu){events.on.expand=this.handleExpand;}var nodes=this.nodes.map(function(node,index){var hasChildren=node.hasChildren;return h('cascader-node',external_babel_helper_vue_jsx_merge_props_default()([{key:node.uid,attrs:{node:node,'node-id':menuId+'-'+index,'aria-haspopup':hasChildren,'aria-owns':hasChildren?menuId:null}},events]));});return[].concat(nodes,[isHoverMenu?h('svg',{ref:'hoverZone','class':'el-cascader-menu__hover-zone'}):null]);}},render:function render(h){var isEmpty=this.isEmpty,menuId=this.menuId;var events={nativeOn:{}};// optimize hover to expand experience (#8010)\nif(this.panel.isHoverMenu){events.nativeOn.mousemove=this.handleMouseMove;// events.nativeOn.mouseleave = this.clearHoverZone;\n}return h('el-scrollbar',external_babel_helper_vue_jsx_merge_props_default()([{attrs:{tag:'ul',role:'menu',id:menuId,'wrap-class':'el-cascader-menu__wrap','view-class':{'el-cascader-menu__list':true,'is-empty':isEmpty}},'class':'el-cascader-menu'},events]),[isEmpty?this.renderEmptyText(h):this.renderNodeList(h)]);}};// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n/* harmony default export */var src_cascader_menuvue_type_script_lang_js_=cascader_menuvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue\nvar cascader_menu_render,cascader_menu_staticRenderFns;/* normalize component */var cascader_menu_component=normalizeComponent(src_cascader_menuvue_type_script_lang_js_,cascader_menu_render,cascader_menu_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var cascader_menu_api; }cascader_menu_component.options.__file=\"packages/cascader-panel/src/cascader-menu.vue\";/* harmony default export */var cascader_menu=cascader_menu_component.exports;// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js\nvar node_createClass=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);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function src_node_classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var uid=0;var src_node_Node=function(){function Node(data,config,parentNode){src_node_classCallCheck(this,Node);this.data=data;this.config=config;this.parent=parentNode||null;this.level=!this.parent?1:this.parent.level+1;this.uid=uid++;this.initState();this.initChildren();}Node.prototype.initState=function initState(){var _config=this.config,valueKey=_config.value,labelKey=_config.label;this.value=this.data[valueKey];this.label=this.data[labelKey];this.pathNodes=this.calculatePathNodes();this.path=this.pathNodes.map(function(node){return node.value;});this.pathLabels=this.pathNodes.map(function(node){return node.label;});// lazy load\nthis.loading=false;this.loaded=false;};Node.prototype.initChildren=function initChildren(){var _this=this;var config=this.config;var childrenKey=config.children;var childrenData=this.data[childrenKey];this.hasChildren=Array.isArray(childrenData);this.children=(childrenData||[]).map(function(child){return new Node(child,config,_this);});};Node.prototype.calculatePathNodes=function calculatePathNodes(){var nodes=[this];var parent=this.parent;while(parent){nodes.unshift(parent);parent=parent.parent;}return nodes;};Node.prototype.getPath=function getPath(){return this.path;};Node.prototype.getValue=function getValue(){return this.value;};Node.prototype.getValueByOption=function getValueByOption(){return this.config.emitPath?this.getPath():this.getValue();};Node.prototype.getText=function getText(allLevels,separator){return allLevels?this.pathLabels.join(separator):this.label;};Node.prototype.isSameNode=function isSameNode(checkedValue){var value=this.getValueByOption();return this.config.multiple&&Array.isArray(checkedValue)?checkedValue.some(function(val){return Object(util_[\"isEqual\"])(val,value);}):Object(util_[\"isEqual\"])(checkedValue,value);};Node.prototype.broadcast=function broadcast(event){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}var handlerName='onParent'+Object(util_[\"capitalize\"])(event);this.children.forEach(function(child){if(child){// bottom up\nchild.broadcast.apply(child,[event].concat(args));child[handlerName]&&child[handlerName].apply(child,args);}});};Node.prototype.emit=function emit(event){var parent=this.parent;var handlerName='onChild'+Object(util_[\"capitalize\"])(event);if(parent){for(var _len2=arguments.length,args=Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2];}parent[handlerName]&&parent[handlerName].apply(parent,args);parent.emit.apply(parent,[event].concat(args));}};Node.prototype.onParentCheck=function onParentCheck(checked){if(!this.isDisabled){this.setCheckState(checked);}};Node.prototype.onChildCheck=function onChildCheck(){var children=this.children;var validChildren=children.filter(function(child){return!child.isDisabled;});var checked=validChildren.length?validChildren.every(function(child){return child.checked;}):false;this.setCheckState(checked);};Node.prototype.setCheckState=function setCheckState(checked){var totalNum=this.children.length;var checkedNum=this.children.reduce(function(c,p){var num=p.checked?1:p.indeterminate?0.5:0;return c+num;},0);this.checked=checked;this.indeterminate=checkedNum!==totalNum&&checkedNum>0;};Node.prototype.syncCheckState=function syncCheckState(checkedValue){var value=this.getValueByOption();var checked=this.isSameNode(checkedValue,value);this.doCheck(checked);};Node.prototype.doCheck=function doCheck(checked){if(this.checked!==checked){if(this.config.checkStrictly){this.checked=checked;}else{// bottom up to unify the calculation of the indeterminate state\nthis.broadcast('check',checked);this.setCheckState(checked);this.emit('check');}}};node_createClass(Node,[{key:'isDisabled',get:function get(){var data=this.data,parent=this.parent,config=this.config;var disabledKey=config.disabled;var checkStrictly=config.checkStrictly;return data[disabledKey]||!checkStrictly&&parent&&parent.isDisabled;}},{key:'isLeaf',get:function get(){var data=this.data,loaded=this.loaded,hasChildren=this.hasChildren,children=this.children;var _config2=this.config,lazy=_config2.lazy,leafKey=_config2.leaf;if(lazy){var isLeaf=Object(shared_[\"isDef\"])(data[leafKey])?data[leafKey]:loaded?!children.length:false;this.hasChildren=!isLeaf;return isLeaf;}return!hasChildren;}}]);return Node;}();/* harmony default export */var src_node=src_node_Node;// CONCATENATED MODULE: ./packages/cascader-panel/src/store.js\nfunction store_classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var flatNodes=function flatNodes(data,leafOnly){return data.reduce(function(res,node){if(node.isLeaf){res.push(node);}else{!leafOnly&&res.push(node);res=res.concat(flatNodes(node.children,leafOnly));}return res;},[]);};var store_Store=function(){function Store(data,config){store_classCallCheck(this,Store);this.config=config;this.initNodes(data);}Store.prototype.initNodes=function initNodes(data){var _this=this;data=Object(util_[\"coerceTruthyValueToArray\"])(data);this.nodes=data.map(function(nodeData){return new src_node(nodeData,_this.config);});this.flattedNodes=this.getFlattedNodes(false,false);this.leafNodes=this.getFlattedNodes(true,false);};Store.prototype.appendNode=function appendNode(nodeData,parentNode){var node=new src_node(nodeData,this.config,parentNode);var children=parentNode?parentNode.children:this.nodes;children.push(node);};Store.prototype.appendNodes=function appendNodes(nodeDataList,parentNode){var _this2=this;nodeDataList=Object(util_[\"coerceTruthyValueToArray\"])(nodeDataList);nodeDataList.forEach(function(nodeData){return _this2.appendNode(nodeData,parentNode);});};Store.prototype.getNodes=function getNodes(){return this.nodes;};Store.prototype.getFlattedNodes=function getFlattedNodes(leafOnly){var cached=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var cachedNodes=leafOnly?this.leafNodes:this.flattedNodes;return cached?cachedNodes:flatNodes(this.nodes,leafOnly);};Store.prototype.getNodeByValue=function getNodeByValue(value){var nodes=this.getFlattedNodes(false,!this.config.lazy).filter(function(node){return Object(util_[\"valueEquals\"])(node.path,value)||node.value===value;});return nodes&&nodes.length?nodes[0]:null;};return Store;}();/* harmony default export */var cascader_panel_src_store=store_Store;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\nvar cascader_panelvue_type_script_lang_js_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar cascader_panelvue_type_script_lang_js_KeyCode=aria_utils_default.a.keys;var DefaultProps={expandTrigger:'click',// or hover\nmultiple:false,checkStrictly:false,// whether all nodes can be selected\nemitPath:true,// wether to emit an array of all levels value in which node is located\nlazy:false,lazyLoad:util_[\"noop\"],value:'value',label:'label',children:'children',leaf:'leaf',disabled:'disabled',hoverThreshold:500};var cascader_panelvue_type_script_lang_js_isLeaf=function isLeaf(el){return!el.getAttribute('aria-owns');};var getSibling=function getSibling(el,distance){var parentNode=el.parentNode;if(parentNode){var siblings=parentNode.querySelectorAll('.el-cascader-node[tabindex=\"-1\"]');var index=Array.prototype.indexOf.call(siblings,el);return siblings[index+distance]||null;}return null;};var getMenuIndex=function getMenuIndex(el,distance){if(!el)return;var pieces=el.id.split('-');return Number(pieces[pieces.length-2]);};var focusNode=function focusNode(el){if(!el)return;el.focus();!cascader_panelvue_type_script_lang_js_isLeaf(el)&&el.click();};var checkNode=function checkNode(el){if(!el)return;var input=el.querySelector('input');if(input){input.click();}else if(cascader_panelvue_type_script_lang_js_isLeaf(el)){el.click();}};/* harmony default export */var cascader_panelvue_type_script_lang_js_={name:'ElCascaderPanel',components:{CascaderMenu:cascader_menu},props:{value:{},options:Array,props:Object,border:{type:Boolean,default:true},renderLabel:Function},provide:function provide(){return{panel:this};},data:function data(){return{checkedValue:null,checkedNodePaths:[],store:[],menus:[],activePath:[],loadCount:0};},computed:{config:function config(){return merge_default()(cascader_panelvue_type_script_lang_js_extends({},DefaultProps),this.props||{});},multiple:function multiple(){return this.config.multiple;},checkStrictly:function checkStrictly(){return this.config.checkStrictly;},leafOnly:function leafOnly(){return!this.checkStrictly;},isHoverMenu:function isHoverMenu(){return this.config.expandTrigger==='hover';},renderLabelFn:function renderLabelFn(){return this.renderLabel||this.$scopedSlots.default;}},watch:{options:{handler:function handler(){this.initStore();},immediate:true,deep:true},value:function value(){this.syncCheckedValue();this.checkStrictly&&this.calculateCheckedNodePaths();},checkedValue:function checkedValue(val){if(!Object(util_[\"isEqual\"])(val,this.value)){this.checkStrictly&&this.calculateCheckedNodePaths();this.$emit('input',val);this.$emit('change',val);}}},mounted:function mounted(){if(!this.isEmptyValue(this.value)){this.syncCheckedValue();}},methods:{initStore:function initStore(){var config=this.config,options=this.options;if(config.lazy&&Object(util_[\"isEmpty\"])(options)){this.lazyLoad();}else{this.store=new cascader_panel_src_store(options,config);this.menus=[this.store.getNodes()];this.syncMenuState();}},syncCheckedValue:function syncCheckedValue(){var value=this.value,checkedValue=this.checkedValue;if(!Object(util_[\"isEqual\"])(value,checkedValue)){this.activePath=[];this.checkedValue=value;this.syncMenuState();}},syncMenuState:function syncMenuState(){var multiple=this.multiple,checkStrictly=this.checkStrictly;this.syncActivePath();multiple&&this.syncMultiCheckState();checkStrictly&&this.calculateCheckedNodePaths();this.$nextTick(this.scrollIntoView);},syncMultiCheckState:function syncMultiCheckState(){var _this=this;var nodes=this.getFlattedNodes(this.leafOnly);nodes.forEach(function(node){node.syncCheckState(_this.checkedValue);});},isEmptyValue:function isEmptyValue(val){var multiple=this.multiple,config=this.config;var emitPath=config.emitPath;if(multiple||emitPath){return Object(util_[\"isEmpty\"])(val);}return false;},syncActivePath:function syncActivePath(){var _this2=this;var store=this.store,multiple=this.multiple,activePath=this.activePath,checkedValue=this.checkedValue;if(!Object(util_[\"isEmpty\"])(activePath)){var nodes=activePath.map(function(node){return _this2.getNodeByValue(node.getValue());});this.expandNodes(nodes);}else if(!this.isEmptyValue(checkedValue)){var value=multiple?checkedValue[0]:checkedValue;var checkedNode=this.getNodeByValue(value)||{};var _nodes=(checkedNode.pathNodes||[]).slice(0,-1);this.expandNodes(_nodes);}else{this.activePath=[];this.menus=[store.getNodes()];}},expandNodes:function expandNodes(nodes){var _this3=this;nodes.forEach(function(node){return _this3.handleExpand(node,true/* silent */);});},calculateCheckedNodePaths:function calculateCheckedNodePaths(){var _this4=this;var checkedValue=this.checkedValue,multiple=this.multiple;var checkedValues=multiple?Object(util_[\"coerceTruthyValueToArray\"])(checkedValue):[checkedValue];this.checkedNodePaths=checkedValues.map(function(v){var checkedNode=_this4.getNodeByValue(v);return checkedNode?checkedNode.pathNodes:[];});},handleKeyDown:function handleKeyDown(e){var target=e.target,keyCode=e.keyCode;switch(keyCode){case cascader_panelvue_type_script_lang_js_KeyCode.up:var prev=getSibling(target,-1);focusNode(prev);break;case cascader_panelvue_type_script_lang_js_KeyCode.down:var next=getSibling(target,1);focusNode(next);break;case cascader_panelvue_type_script_lang_js_KeyCode.left:var preMenu=this.$refs.menu[getMenuIndex(target)-1];if(preMenu){var expandedNode=preMenu.$el.querySelector('.el-cascader-node[aria-expanded=\"true\"]');focusNode(expandedNode);}break;case cascader_panelvue_type_script_lang_js_KeyCode.right:var nextMenu=this.$refs.menu[getMenuIndex(target)+1];if(nextMenu){var firstNode=nextMenu.$el.querySelector('.el-cascader-node[tabindex=\"-1\"]');focusNode(firstNode);}break;case cascader_panelvue_type_script_lang_js_KeyCode.enter:checkNode(target);break;case cascader_panelvue_type_script_lang_js_KeyCode.esc:case cascader_panelvue_type_script_lang_js_KeyCode.tab:this.$emit('close');break;default:return;}},handleExpand:function handleExpand(node,silent){var activePath=this.activePath;var level=node.level;var path=activePath.slice(0,level-1);var menus=this.menus.slice(0,level);if(!node.isLeaf){path.push(node);menus.push(node.children);}this.activePath=path;this.menus=menus;if(!silent){var pathValues=path.map(function(node){return node.getValue();});var activePathValues=activePath.map(function(node){return node.getValue();});if(!Object(util_[\"valueEquals\"])(pathValues,activePathValues)){this.$emit('active-item-change',pathValues);// Deprecated\nthis.$emit('expand-change',pathValues);}}},handleCheckChange:function handleCheckChange(value){this.checkedValue=value;},lazyLoad:function lazyLoad(node,onFullfiled){var _this5=this;var config=this.config;if(!node){node=node||{root:true,level:0};this.store=new cascader_panel_src_store([],config);this.menus=[this.store.getNodes()];}node.loading=true;var resolve=function resolve(dataList){var parent=node.root?null:node;dataList&&dataList.length&&_this5.store.appendNodes(dataList,parent);node.loading=false;node.loaded=true;// dispose default value on lazy load mode\nif(Array.isArray(_this5.checkedValue)){var nodeValue=_this5.checkedValue[_this5.loadCount++];var valueKey=_this5.config.value;var leafKey=_this5.config.leaf;if(Array.isArray(dataList)&&dataList.filter(function(item){return item[valueKey]===nodeValue;}).length>0){var checkedNode=_this5.store.getNodeByValue(nodeValue);if(!checkedNode.data[leafKey]){_this5.lazyLoad(checkedNode,function(){_this5.handleExpand(checkedNode);});}if(_this5.loadCount===_this5.checkedValue.length){_this5.$parent.computePresentText();}}}onFullfiled&&onFullfiled(dataList);};config.lazyLoad(node,resolve);},/**\n     * public methods\n    */calculateMultiCheckedValue:function calculateMultiCheckedValue(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map(function(node){return node.getValueByOption();});},scrollIntoView:function scrollIntoView(){if(this.$isServer)return;var menus=this.$refs.menu||[];menus.forEach(function(menu){var menuElement=menu.$el;if(menuElement){var container=menuElement.querySelector('.el-scrollbar__wrap');var activeNode=menuElement.querySelector('.el-cascader-node.is-active')||menuElement.querySelector('.el-cascader-node.in-active-path');scroll_into_view_default()(container,activeNode);}});},getNodeByValue:function getNodeByValue(val){return this.store.getNodeByValue(val);},getFlattedNodes:function getFlattedNodes(leafOnly){var cached=!this.config.lazy;return this.store.getFlattedNodes(leafOnly,cached);},getCheckedNodes:function getCheckedNodes(leafOnly){var checkedValue=this.checkedValue,multiple=this.multiple;if(multiple){var nodes=this.getFlattedNodes(leafOnly);return nodes.filter(function(node){return node.checked;});}else{return this.isEmptyValue(checkedValue)?[]:[this.getNodeByValue(checkedValue)];}},clearCheckedNodes:function clearCheckedNodes(){var config=this.config,leafOnly=this.leafOnly;var multiple=config.multiple,emitPath=config.emitPath;if(multiple){this.getCheckedNodes(leafOnly).filter(function(node){return!node.isDisabled;}).forEach(function(node){return node.doCheck(false);});this.calculateMultiCheckedValue();}else{this.checkedValue=emitPath?[]:null;}}}};// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\n/* harmony default export */var src_cascader_panelvue_type_script_lang_js_=cascader_panelvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue\n/* normalize component */var cascader_panel_component=normalizeComponent(src_cascader_panelvue_type_script_lang_js_,cascader_panelvue_type_template_id_34932346_render,cascader_panelvue_type_template_id_34932346_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var cascader_panel_api; }cascader_panel_component.options.__file=\"packages/cascader-panel/src/cascader-panel.vue\";/* harmony default export */var cascader_panel=cascader_panel_component.exports;// CONCATENATED MODULE: ./packages/cascader-panel/index.js\n/* istanbul ignore next */cascader_panel.install=function(Vue){Vue.component(cascader_panel.name,cascader_panel);};/* harmony default export */var packages_cascader_panel=cascader_panel;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/avatar/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var avatar_src_mainvue_type_script_lang_js_={name:'ElAvatar',props:{size:{type:[Number,String],validator:function validator(val){if(typeof val==='string'){return['large','medium','small'].includes(val);}return typeof val==='number';}},shape:{type:String,default:'circle',validator:function validator(val){return['circle','square'].includes(val);}},icon:String,src:String,alt:String,srcSet:String,error:Function,fit:{type:String,default:'cover'}},data:function data(){return{isImageExist:true};},computed:{avatarClass:function avatarClass(){var size=this.size,icon=this.icon,shape=this.shape;var classList=['el-avatar'];if(size&&typeof size==='string'){classList.push('el-avatar--'+size);}if(icon){classList.push('el-avatar--icon');}if(shape){classList.push('el-avatar--'+shape);}return classList.join(' ');}},methods:{handleError:function handleError(){var error=this.error;var errorFlag=error?error():undefined;if(errorFlag!==false){this.isImageExist=false;}},renderAvatar:function renderAvatar(){var h=this.$createElement;var icon=this.icon,src=this.src,alt=this.alt,isImageExist=this.isImageExist,srcSet=this.srcSet,fit=this.fit;if(isImageExist&&src){return h('img',{attrs:{src:src,alt:alt,srcSet:srcSet},on:{'error':this.handleError},style:{'object-fit':fit}});}if(icon){return h('i',{'class':icon});}return this.$slots.default;}},render:function render(){var h=arguments[0];var avatarClass=this.avatarClass,size=this.size;var sizeStyle=typeof size==='number'?{height:size+'px',width:size+'px',lineHeight:size+'px'}:{};return h('span',{'class':avatarClass,style:sizeStyle},[this.renderAvatar()]);}};// CONCATENATED MODULE: ./packages/avatar/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_avatar_src_mainvue_type_script_lang_js_=avatar_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/avatar/src/main.vue\nvar src_main_render,src_main_staticRenderFns;/* normalize component */var avatar_src_main_component=normalizeComponent(packages_avatar_src_mainvue_type_script_lang_js_,src_main_render,src_main_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var avatar_src_main_api; }avatar_src_main_component.options.__file=\"packages/avatar/src/main.vue\";/* harmony default export */var avatar_src_main=avatar_src_main_component.exports;// CONCATENATED MODULE: ./packages/avatar/index.js\n/* istanbul ignore next */avatar_src_main.install=function(Vue){Vue.component(avatar_src_main.name,avatar_src_main);};/* harmony default export */var avatar=avatar_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=template&id=a4885264&\nvar mainvue_type_template_id_a4885264_render=function mainvue_type_template_id_a4885264_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"transition\",{attrs:{name:\"el-drawer-fade\"},on:{\"after-enter\":_vm.afterEnter,\"after-leave\":_vm.afterLeave}},[_c(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:_vm.visible,expression:\"visible\"}],staticClass:\"el-drawer__wrapper\",attrs:{tabindex:\"-1\"}},[_c(\"div\",{staticClass:\"el-drawer__container\",class:_vm.visible&&\"el-drawer__open\",attrs:{role:\"document\",tabindex:\"-1\"},on:{click:function click($event){if($event.target!==$event.currentTarget){return null;}return _vm.handleWrapperClick($event);}}},[_c(\"div\",{ref:\"drawer\",staticClass:\"el-drawer\",class:[_vm.direction,_vm.customClass],style:_vm.isHorizontal?\"width: \"+_vm.drawerSize:\"height: \"+_vm.drawerSize,attrs:{\"aria-modal\":\"true\",\"aria-labelledby\":\"el-drawer__title\",\"aria-label\":_vm.title,role:\"dialog\",tabindex:\"-1\"}},[_vm.withHeader?_c(\"header\",{staticClass:\"el-drawer__header\",attrs:{id:\"el-drawer__title\"}},[_vm._t(\"title\",[_c(\"span\",{attrs:{role:\"heading\",title:_vm.title}},[_vm._v(_vm._s(_vm.title))])]),_vm.showClose?_c(\"button\",{staticClass:\"el-drawer__close-btn\",attrs:{\"aria-label\":\"close \"+(_vm.title||\"drawer\"),type:\"button\"},on:{click:_vm.closeDrawer}},[_c(\"i\",{staticClass:\"el-dialog__close el-icon el-icon-close\"})]):_vm._e()],2):_vm._e(),_vm.rendered?_c(\"section\",{staticClass:\"el-drawer__body\"},[_vm._t(\"default\")],2):_vm._e()])])])]);};var mainvue_type_template_id_a4885264_staticRenderFns=[];mainvue_type_template_id_a4885264_render._withStripped=true;// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=template&id=a4885264&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var drawer_src_mainvue_type_script_lang_js_={name:'ElDrawer',mixins:[popup_default.a,emitter_default.a],props:{appendToBody:{type:Boolean,default:false},beforeClose:{type:Function},customClass:{type:String,default:''},closeOnPressEscape:{type:Boolean,default:true},destroyOnClose:{type:Boolean,default:false},modal:{type:Boolean,default:true},direction:{type:String,default:'rtl',validator:function validator(val){return['ltr','rtl','ttb','btt'].indexOf(val)!==-1;}},modalAppendToBody:{type:Boolean,default:true},showClose:{type:Boolean,default:true},size:{type:[Number,String],default:'30%'},title:{type:String,default:''},visible:{type:Boolean},wrapperClosable:{type:Boolean,default:true},withHeader:{type:Boolean,default:true}},computed:{isHorizontal:function isHorizontal(){return this.direction==='rtl'||this.direction==='ltr';},drawerSize:function drawerSize(){return typeof this.size==='number'?this.size+'px':this.size;}},data:function data(){return{closed:false,prevActiveElement:null};},watch:{visible:function visible(val){var _this=this;if(val){this.closed=false;this.$emit('open');if(this.appendToBody){document.body.appendChild(this.$el);}this.prevActiveElement=document.activeElement;}else{if(!this.closed){this.$emit('close');if(this.destroyOnClose===true){this.rendered=false;}}this.$nextTick(function(){if(_this.prevActiveElement){_this.prevActiveElement.focus();}});}}},methods:{afterEnter:function afterEnter(){this.$emit('opened');},afterLeave:function afterLeave(){this.$emit('closed');},hide:function hide(cancel){if(cancel!==false){this.$emit('update:visible',false);this.$emit('close');if(this.destroyOnClose===true){this.rendered=false;}this.closed=true;}},handleWrapperClick:function handleWrapperClick(){if(this.wrapperClosable){this.closeDrawer();}},closeDrawer:function closeDrawer(){if(typeof this.beforeClose==='function'){this.beforeClose(this.hide);}else{this.hide();}},handleClose:function handleClose(){// This method here will be called by PopupManger, when the `closeOnPressEscape` was set to true\n// pressing `ESC` will call this method, and also close the drawer.\n// This method also calls `beforeClose` if there was one.\nthis.closeDrawer();}},mounted:function mounted(){if(this.visible){this.rendered=true;this.open();if(this.appendToBody){document.body.appendChild(this.$el);}}},destroyed:function destroyed(){// if appendToBody is true, remove DOM node after destroy\nif(this.appendToBody&&this.$el&&this.$el.parentNode){this.$el.parentNode.removeChild(this.$el);}}};// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_drawer_src_mainvue_type_script_lang_js_=drawer_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/drawer/src/main.vue\n/* normalize component */var drawer_src_main_component=normalizeComponent(packages_drawer_src_mainvue_type_script_lang_js_,mainvue_type_template_id_a4885264_render,mainvue_type_template_id_a4885264_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var drawer_src_main_api; }drawer_src_main_component.options.__file=\"packages/drawer/src/main.vue\";/* harmony default export */var drawer_src_main=drawer_src_main_component.exports;// CONCATENATED MODULE: ./packages/drawer/index.js\n/* istanbul ignore next */drawer_src_main.install=function(Vue){Vue.component(drawer_src_main.name,drawer_src_main);};/* harmony default export */var drawer=drawer_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popconfirm/src/main.vue?vue&type=template&id=048de730&\nvar mainvue_type_template_id_048de730_render=function mainvue_type_template_id_048de730_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"el-popover\",_vm._b({attrs:{trigger:\"click\"},model:{value:_vm.visible,callback:function callback($$v){_vm.visible=$$v;},expression:\"visible\"}},\"el-popover\",_vm.$attrs,false),[_c(\"div\",{staticClass:\"el-popconfirm\"},[_c(\"p\",{staticClass:\"el-popconfirm__main\"},[!_vm.hideIcon?_c(\"i\",{staticClass:\"el-popconfirm__icon\",class:_vm.icon,style:{color:_vm.iconColor}}):_vm._e(),_vm._v(\"\\n      \"+_vm._s(_vm.title)+\"\\n    \")]),_c(\"div\",{staticClass:\"el-popconfirm__action\"},[_c(\"el-button\",{attrs:{size:\"mini\",type:_vm.cancelButtonType},on:{click:_vm.cancel}},[_vm._v(\"\\n        \"+_vm._s(_vm.displayCancelButtonText)+\"\\n      \")]),_c(\"el-button\",{attrs:{size:\"mini\",type:_vm.confirmButtonType},on:{click:_vm.confirm}},[_vm._v(\"\\n        \"+_vm._s(_vm.displayConfirmButtonText)+\"\\n      \")])],1)]),_vm._t(\"reference\",null,{slot:\"reference\"})],2);};var mainvue_type_template_id_048de730_staticRenderFns=[];mainvue_type_template_id_048de730_render._withStripped=true;// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue?vue&type=template&id=048de730&\n// EXTERNAL MODULE: external \"element-ui/lib/popover\"\nvar popover_=__webpack_require__(44);var popover_default=/*#__PURE__*/__webpack_require__.n(popover_);// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popconfirm/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var popconfirm_src_mainvue_type_script_lang_js_={name:'ElPopconfirm',props:{title:{type:String},confirmButtonText:{type:String},cancelButtonText:{type:String},confirmButtonType:{type:String,default:'primary'},cancelButtonType:{type:String,default:'text'},icon:{type:String,default:'el-icon-question'},iconColor:{type:String,default:'#f90'},hideIcon:{type:Boolean,default:false}},components:{ElPopover:popover_default.a,ElButton:button_default.a},data:function data(){return{visible:false};},computed:{displayConfirmButtonText:function displayConfirmButtonText(){return this.confirmButtonText||Object(lib_locale_[\"t\"])('el.popconfirm.confirmButtonText');},displayCancelButtonText:function displayCancelButtonText(){return this.cancelButtonText||Object(lib_locale_[\"t\"])('el.popconfirm.cancelButtonText');}},methods:{confirm:function confirm(){this.visible=false;this.$emit('confirm');},cancel:function cancel(){this.visible=false;this.$emit('cancel');}}};// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_popconfirm_src_mainvue_type_script_lang_js_=popconfirm_src_mainvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue\n/* normalize component */var popconfirm_src_main_component=normalizeComponent(packages_popconfirm_src_mainvue_type_script_lang_js_,mainvue_type_template_id_048de730_render,mainvue_type_template_id_048de730_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var popconfirm_src_main_api; }popconfirm_src_main_component.options.__file=\"packages/popconfirm/src/main.vue\";/* harmony default export */var popconfirm_src_main=popconfirm_src_main_component.exports;// CONCATENATED MODULE: ./packages/popconfirm/index.js\n/* istanbul ignore next */popconfirm_src_main.install=function(Vue){Vue.component(popconfirm_src_main.name,popconfirm_src_main);};/* harmony default export */var popconfirm=popconfirm_src_main;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/index.vue?vue&type=template&id=7f659269&\nvar srcvue_type_template_id_7f659269_render=function srcvue_type_template_id_7f659269_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",[_vm.uiLoading?[_c(\"div\",_vm._b({class:[\"el-skeleton\",_vm.animated?\"is-animated\":\"\"]},\"div\",_vm.$attrs,false),[_vm._l(_vm.count,function(i){return[_vm.loading?_vm._t(\"template\",_vm._l(_vm.rows,function(item){return _c(\"el-skeleton-item\",{key:i+\"-\"+item,class:{\"el-skeleton__paragraph\":item!==1,\"is-first\":item===1,\"is-last\":item===_vm.rows&&_vm.rows>1},attrs:{variant:\"p\"}});})):_vm._e()];})],2)]:[_vm._t(\"default\",null,null,_vm.$attrs)]],2);};var srcvue_type_template_id_7f659269_staticRenderFns=[];srcvue_type_template_id_7f659269_render._withStripped=true;// CONCATENATED MODULE: ./packages/skeleton/src/index.vue?vue&type=template&id=7f659269&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/index.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var skeleton_srcvue_type_script_lang_js_={name:'ElSkeleton',props:{animated:{type:Boolean,default:false},count:{type:Number,default:1},rows:{type:Number,default:4},loading:{type:Boolean,default:true},throttle:{type:Number,default:0}},watch:{loading:{handler:function handler(loading){var _this=this;if(this.throttle<=0){this.uiLoading=loading;return;}if(loading){clearTimeout(this.timeoutHandle);this.timeoutHandle=setTimeout(function(){_this.uiLoading=_this.loading;},this.throttle);}else{this.uiLoading=loading;}},immediate:true}},data:function data(){return{uiLoading:this.throttle<=0?this.loading:false};}};// CONCATENATED MODULE: ./packages/skeleton/src/index.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_skeleton_srcvue_type_script_lang_js_=skeleton_srcvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/skeleton/src/index.vue\n/* normalize component */var skeleton_src_component=normalizeComponent(packages_skeleton_srcvue_type_script_lang_js_,srcvue_type_template_id_7f659269_render,srcvue_type_template_id_7f659269_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var skeleton_src_api; }skeleton_src_component.options.__file=\"packages/skeleton/src/index.vue\";/* harmony default export */var skeleton_src=skeleton_src_component.exports;// CONCATENATED MODULE: ./packages/skeleton/index.js\n/* istanbul ignore next */skeleton_src.install=function(Vue){Vue.component(skeleton_src.name,skeleton_src);};/* harmony default export */var skeleton=skeleton_src;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/item.vue?vue&type=template&id=4bc8804c&\nvar itemvue_type_template_id_4bc8804c_render=function itemvue_type_template_id_4bc8804c_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{class:[\"el-skeleton__item\",\"el-skeleton__\"+_vm.variant]},[_vm.variant===\"image\"?_c(\"img-placeholder\"):_vm._e()],1);};var itemvue_type_template_id_4bc8804c_staticRenderFns=[];itemvue_type_template_id_4bc8804c_render._withStripped=true;// CONCATENATED MODULE: ./packages/skeleton/src/item.vue?vue&type=template&id=4bc8804c&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/img-placeholder.vue?vue&type=template&id=1b2cb5c0&\nvar img_placeholdervue_type_template_id_1b2cb5c0_render=function img_placeholdervue_type_template_id_1b2cb5c0_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"svg\",{attrs:{viewBox:\"0 0 1024 1024\",xmlns:\"http://www.w3.org/2000/svg\"}},[_c(\"path\",{attrs:{d:\"M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z\"}})]);};var img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns=[];img_placeholdervue_type_template_id_1b2cb5c0_render._withStripped=true;// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue?vue&type=template&id=1b2cb5c0&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/img-placeholder.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var img_placeholdervue_type_script_lang_js_={name:'ImgPlaceholder'};// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue?vue&type=script&lang=js&\n/* harmony default export */var src_img_placeholdervue_type_script_lang_js_=img_placeholdervue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue\n/* normalize component */var img_placeholder_component=normalizeComponent(src_img_placeholdervue_type_script_lang_js_,img_placeholdervue_type_template_id_1b2cb5c0_render,img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var img_placeholder_api; }img_placeholder_component.options.__file=\"packages/skeleton/src/img-placeholder.vue\";/* harmony default export */var img_placeholder=img_placeholder_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/item.vue?vue&type=script&lang=js&\nvar _components;//\n//\n//\n//\n//\n//\n/* harmony default export */var skeleton_src_itemvue_type_script_lang_js_={name:'ElSkeletonItem',props:{variant:{type:String,default:'text'}},components:(_components={},_components[img_placeholder.name]=img_placeholder,_components)};// CONCATENATED MODULE: ./packages/skeleton/src/item.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_skeleton_src_itemvue_type_script_lang_js_=skeleton_src_itemvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/skeleton/src/item.vue\n/* normalize component */var skeleton_src_item_component=normalizeComponent(packages_skeleton_src_itemvue_type_script_lang_js_,itemvue_type_template_id_4bc8804c_render,itemvue_type_template_id_4bc8804c_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var skeleton_src_item_api; }skeleton_src_item_component.options.__file=\"packages/skeleton/src/item.vue\";/* harmony default export */var skeleton_src_item=skeleton_src_item_component.exports;// CONCATENATED MODULE: ./packages/skeleton-item/index.js\n/* istanbul ignore next */skeleton_src_item.install=function(Vue){Vue.component(skeleton_src_item.name,skeleton_src_item);};/* harmony default export */var skeleton_item=skeleton_src_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/index.vue?vue&type=template&id=347ced91&\nvar srcvue_type_template_id_347ced91_render=function srcvue_type_template_id_347ced91_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-empty\"},[_c(\"div\",{staticClass:\"el-empty__image\",style:_vm.imageStyle},[_vm.image?_c(\"img\",{attrs:{src:_vm.image,ondragstart:\"return false\"}}):_vm._t(\"image\",[_c(\"img-empty\")])],2),_c(\"div\",{staticClass:\"el-empty__description\"},[_vm.$slots.description?_vm._t(\"description\"):_c(\"p\",[_vm._v(_vm._s(_vm.emptyDescription))])],2),_vm.$slots.default?_c(\"div\",{staticClass:\"el-empty__bottom\"},[_vm._t(\"default\")],2):_vm._e()]);};var srcvue_type_template_id_347ced91_staticRenderFns=[];srcvue_type_template_id_347ced91_render._withStripped=true;// CONCATENATED MODULE: ./packages/empty/src/index.vue?vue&type=template&id=347ced91&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/img-empty.vue?vue&type=template&id=42918b82&\nvar img_emptyvue_type_template_id_42918b82_render=function img_emptyvue_type_template_id_42918b82_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"svg\",{attrs:{viewBox:\"0 0 79 86\",version:\"1.1\",xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c(\"defs\",[_c(\"linearGradient\",{attrs:{id:\"linearGradient-1-\"+_vm.id,x1:\"38.8503086%\",y1:\"0%\",x2:\"61.1496914%\",y2:\"100%\"}},[_c(\"stop\",{attrs:{\"stop-color\":\"#FCFCFD\",offset:\"0%\"}}),_c(\"stop\",{attrs:{\"stop-color\":\"#EEEFF3\",offset:\"100%\"}})],1),_c(\"linearGradient\",{attrs:{id:\"linearGradient-2-\"+_vm.id,x1:\"0%\",y1:\"9.5%\",x2:\"100%\",y2:\"90.5%\"}},[_c(\"stop\",{attrs:{\"stop-color\":\"#FCFCFD\",offset:\"0%\"}}),_c(\"stop\",{attrs:{\"stop-color\":\"#E9EBEF\",offset:\"100%\"}})],1),_c(\"rect\",{attrs:{id:\"path-3-\"+_vm.id,x:\"0\",y:\"0\",width:\"17\",height:\"36\"}})],1),_c(\"g\",{attrs:{id:\"Illustrations\",stroke:\"none\",\"stroke-width\":\"1\",fill:\"none\",\"fill-rule\":\"evenodd\"}},[_c(\"g\",{attrs:{id:\"B-type\",transform:\"translate(-1268.000000, -535.000000)\"}},[_c(\"g\",{attrs:{id:\"Group-2\",transform:\"translate(1268.000000, 535.000000)\"}},[_c(\"path\",{attrs:{id:\"Oval-Copy-2\",d:\"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z\",fill:\"#F7F8FC\"}}),_c(\"polygon\",{attrs:{id:\"Rectangle-Copy-14\",fill:\"#E5E7E9\",transform:\"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) \",points:\"13 58 53 58 42 45 2 45\"}}),_c(\"g\",{attrs:{id:\"Group-Copy\",transform:\"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)\"}},[_c(\"polygon\",{attrs:{id:\"Rectangle-Copy-10\",fill:\"#E5E7E9\",transform:\"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) \",points:\"2.84078316e-14 3 18 3 23 7 5 7\"}}),_c(\"polygon\",{attrs:{id:\"Rectangle-Copy-11\",fill:\"#EDEEF2\",points:\"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43\"}}),_c(\"rect\",{attrs:{id:\"Rectangle-Copy-12\",fill:\"url(#linearGradient-1-\"+_vm.id+\")\",transform:\"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) \",x:\"38\",y:\"7\",width:\"17\",height:\"36\"}}),_c(\"polygon\",{attrs:{id:\"Rectangle-Copy-13\",fill:\"#F8F9FB\",transform:\"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) \",points:\"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12\"}})]),_c(\"rect\",{attrs:{id:\"Rectangle-Copy-15\",fill:\"url(#linearGradient-2-\"+_vm.id+\")\",x:\"13\",y:\"45\",width:\"40\",height:\"36\"}}),_c(\"g\",{attrs:{id:\"Rectangle-Copy-17\",transform:\"translate(53.000000, 45.000000)\"}},[_c(\"mask\",{attrs:{id:\"mask-4-\"+_vm.id,fill:\"white\"}},[_c(\"use\",{attrs:{\"xlink:href\":\"#path-3-\"+_vm.id}})]),_c(\"use\",{attrs:{id:\"Mask\",fill:\"#E0E3E9\",transform:\"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) \",\"xlink:href\":\"#path-3-\"+_vm.id}}),_c(\"polygon\",{attrs:{id:\"Rectangle-Copy\",fill:\"#D5D7DE\",mask:\"url(#mask-4-\"+_vm.id+\")\",transform:\"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) \",points:\"7 0 24 0 20 18 -1.70530257e-13 16\"}})]),_c(\"polygon\",{attrs:{id:\"Rectangle-Copy-18\",fill:\"#F8F9FB\",transform:\"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) \",points:\"62 45 79 45 70 58 53 58\"}})])])])]);};var img_emptyvue_type_template_id_42918b82_staticRenderFns=[];img_emptyvue_type_template_id_42918b82_render._withStripped=true;// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue?vue&type=template&id=42918b82&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/img-empty.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar img_emptyvue_type_script_lang_js_id=0;/* harmony default export */var img_emptyvue_type_script_lang_js_={name:'ImgEmpty',data:function data(){return{id:++img_emptyvue_type_script_lang_js_id};}};// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue?vue&type=script&lang=js&\n/* harmony default export */var src_img_emptyvue_type_script_lang_js_=img_emptyvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue\n/* normalize component */var img_empty_component=normalizeComponent(src_img_emptyvue_type_script_lang_js_,img_emptyvue_type_template_id_42918b82_render,img_emptyvue_type_template_id_42918b82_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var img_empty_api; }img_empty_component.options.__file=\"packages/empty/src/img-empty.vue\";/* harmony default export */var img_empty=img_empty_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/index.vue?vue&type=script&lang=js&\nvar srcvue_type_script_lang_js_components;//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var empty_srcvue_type_script_lang_js_={name:'ElEmpty',components:(srcvue_type_script_lang_js_components={},srcvue_type_script_lang_js_components[img_empty.name]=img_empty,srcvue_type_script_lang_js_components),props:{image:{type:String,default:''},imageSize:Number,description:{type:String,default:''}},computed:{emptyDescription:function emptyDescription(){return this.description||Object(lib_locale_[\"t\"])('el.empty.description');},imageStyle:function imageStyle(){return{width:this.imageSize?this.imageSize+'px':''};}}};// CONCATENATED MODULE: ./packages/empty/src/index.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_empty_srcvue_type_script_lang_js_=empty_srcvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/empty/src/index.vue\n/* normalize component */var empty_src_component=normalizeComponent(packages_empty_srcvue_type_script_lang_js_,srcvue_type_template_id_347ced91_render,srcvue_type_template_id_347ced91_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var empty_src_api; }empty_src_component.options.__file=\"packages/empty/src/index.vue\";/* harmony default export */var empty_src=empty_src_component.exports;// CONCATENATED MODULE: ./packages/empty/index.js\nempty_src.install=function(Vue){Vue.component(empty_src.name,empty_src);};/* harmony default export */var empty=empty_src;// CONCATENATED MODULE: ./packages/descriptions/src/descriptions-row.js\nvar descriptions_row_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/* harmony default export */var descriptions_row={name:'ElDescriptionsRow',props:{row:{type:Array}},inject:['elDescriptions'],render:function render(h){var elDescriptions=this.elDescriptions;var row=(this.row||[]).map(function(item){return descriptions_row_extends({},item,{label:item.slots.label||item.props.label},['labelClassName','contentClassName','labelStyle','contentStyle'].reduce(function(res,key){res[key]=item.props[key]||elDescriptions[key];return res;},{}));});if(elDescriptions.direction==='vertical'){return h('tbody',[h('tr',{'class':'el-descriptions-row'},[row.map(function(item){var _ref;return h('th',{'class':(_ref={'el-descriptions-item__cell':true,'el-descriptions-item__label':true,'has-colon':elDescriptions.border?false:elDescriptions.colon,'is-bordered-label':elDescriptions.border},_ref[item.labelClassName]=true,_ref),style:item.labelStyle,attrs:{colSpan:item.props.span}},[item.label]);})]),h('tr',{'class':'el-descriptions-row'},[row.map(function(item){return h('td',{'class':['el-descriptions-item__cell','el-descriptions-item__content',item.contentClassName],style:item.contentStyle,attrs:{colSpan:item.props.span}},[item.slots.default]);})])]);}if(elDescriptions.border){return h('tbody',[h('tr',{'class':'el-descriptions-row'},[row.map(function(item){var _ref2;return[h('th',{'class':(_ref2={'el-descriptions-item__cell':true,'el-descriptions-item__label':true,'is-bordered-label':elDescriptions.border},_ref2[item.labelClassName]=true,_ref2),style:item.labelStyle,attrs:{colSpan:'1'}},[item.label]),h('td',{'class':['el-descriptions-item__cell','el-descriptions-item__content',item.contentClassName],style:item.contentStyle,attrs:{colSpan:item.props.span*2-1}},[item.slots.default])];})])]);}return h('tbody',[h('tr',{'class':'el-descriptions-row'},[row.map(function(item){var _ref3;return h('td',{'class':'el-descriptions-item el-descriptions-item__cell',attrs:{colSpan:item.props.span}},[h('div',{'class':'el-descriptions-item__container'},[h('span',{'class':(_ref3={'el-descriptions-item__label':true,'has-colon':elDescriptions.colon},_ref3[item.labelClassName]=true,_ref3),style:item.labelStyle},[item.label]),h('span',{'class':['el-descriptions-item__content',item.contentClassName],style:item.contentStyle},[item.slots.default])])]);})])]);}};// CONCATENATED MODULE: ./packages/descriptions/src/index.js\nvar src_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var src_components;/* harmony default export */var descriptions_src={name:'ElDescriptions',components:(src_components={},src_components[descriptions_row.name]=descriptions_row,src_components),props:{border:{type:Boolean,default:false},column:{type:Number,default:3},direction:{type:String,default:'horizontal'},size:{type:String// validator: isValidComponentSize,\n},title:{type:String,default:''},extra:{type:String,default:''},labelStyle:{type:Object},contentStyle:{type:Object},labelClassName:{type:String,default:''},contentClassName:{type:String,default:''},colon:{type:Boolean,default:true}},computed:{descriptionsSize:function descriptionsSize(){return this.size||(this.$ELEMENT||{}).size;}},provide:function provide(){return{elDescriptions:this};},methods:{getOptionProps:function getOptionProps(vnode){if(vnode.componentOptions){var componentOptions=vnode.componentOptions;var _componentOptions$pro=componentOptions.propsData,propsData=_componentOptions$pro===undefined?{}:_componentOptions$pro,_componentOptions$Cto=componentOptions.Ctor,Ctor=_componentOptions$Cto===undefined?{}:_componentOptions$Cto;var props=(Ctor.options||{}).props||{};var res={};for(var k in props){var v=props[k];var defaultValue=v.default;if(defaultValue!==undefined){res[k]=Object(types_[\"isFunction\"])(defaultValue)?defaultValue.call(vnode):defaultValue;}}return src_extends({},res,propsData);}return{};},getSlots:function getSlots(vnode){var _this=this;var componentOptions=vnode.componentOptions||{};var children=vnode.children||componentOptions.children||[];var slots={};children.forEach(function(child){if(!_this.isEmptyElement(child)){var name=child.data&&child.data.slot||'default';slots[name]=slots[name]||[];if(child.tag==='template'){slots[name].push(child.children);}else{slots[name].push(child);}}});return src_extends({},slots);},isEmptyElement:function isEmptyElement(c){return!(c.tag||c.text&&c.text.trim()!=='');},filledNode:function filledNode(node,span,count){var isLast=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;if(!node.props){node.props={};}if(span>count){node.props.span=count;}if(isLast){// set the max span, cause of the last td\nnode.props.span=count;}return node;},getRows:function getRows(){var _this2=this;var children=(this.$slots.default||[]).filter(function(vnode){return vnode.tag&&vnode.componentOptions&&vnode.componentOptions.Ctor.options.name==='ElDescriptionsItem';});var nodes=children.map(function(vnode){return{props:_this2.getOptionProps(vnode),slots:_this2.getSlots(vnode),vnode:vnode};});var rows=[];var temp=[];var count=this.column;nodes.forEach(function(node,index){var span=node.props.span||1;if(index===children.length-1){temp.push(_this2.filledNode(node,span,count,true));rows.push(temp);return;}if(span<count){count-=span;temp.push(node);}else{temp.push(_this2.filledNode(node,span,count));rows.push(temp);count=_this2.column;temp=[];}});return rows;}},render:function render(){var h=arguments[0];var title=this.title,extra=this.extra,border=this.border,descriptionsSize=this.descriptionsSize,$slots=this.$slots;var rows=this.getRows();return h('div',{'class':'el-descriptions'},[title||extra||$slots.title||$slots.extra?h('div',{'class':'el-descriptions__header'},[h('div',{'class':'el-descriptions__title'},[$slots.title?$slots.title:title]),h('div',{'class':'el-descriptions__extra'},[$slots.extra?$slots.extra:extra])]):null,h('div',{'class':'el-descriptions__body'},[h('table',{'class':['el-descriptions__table',{'is-bordered':border},descriptionsSize?'el-descriptions--'+descriptionsSize:'']},[rows.map(function(row){return h(descriptions_row,{attrs:{row:row}});})])])]);}};// CONCATENATED MODULE: ./packages/descriptions/index.js\n/* istanbul ignore next */descriptions_src.install=function install(Vue){Vue.component(descriptions_src.name,descriptions_src);};/* harmony default export */var descriptions=descriptions_src;// CONCATENATED MODULE: ./packages/descriptions/src/descriptions-item.js\n/* harmony default export */var descriptions_item={name:'ElDescriptionsItem',props:{label:{type:String,default:''},span:{type:Number,default:1},contentClassName:{type:String,default:''},contentStyle:{type:Object},labelClassName:{type:String,default:''},labelStyle:{type:Object}},render:function render(){return null;}};// CONCATENATED MODULE: ./packages/descriptions-item/index.js\n/* istanbul ignore next */descriptions_item.install=function install(Vue){Vue.component(descriptions_item.name,descriptions_item);};/* harmony default export */var packages_descriptions_item=descriptions_item;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/index.vue?vue&type=template&id=3408b139&\nvar srcvue_type_template_id_3408b139_render=function srcvue_type_template_id_3408b139_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\",{staticClass:\"el-result\"},[_c(\"div\",{staticClass:\"el-result__icon\"},[_vm._t(\"icon\",[_c(_vm.iconElement,{tag:\"component\",class:_vm.iconElement})])],2),_vm.title||_vm.$slots.title?_c(\"div\",{staticClass:\"el-result__title\"},[_vm._t(\"title\",[_c(\"p\",[_vm._v(_vm._s(_vm.title))])])],2):_vm._e(),_vm.subTitle||_vm.$slots.subTitle?_c(\"div\",{staticClass:\"el-result__subtitle\"},[_vm._t(\"subTitle\",[_c(\"p\",[_vm._v(_vm._s(_vm.subTitle))])])],2):_vm._e(),_vm.$slots.extra?_c(\"div\",{staticClass:\"el-result__extra\"},[_vm._t(\"extra\")],2):_vm._e()]);};var srcvue_type_template_id_3408b139_staticRenderFns=[];srcvue_type_template_id_3408b139_render._withStripped=true;// CONCATENATED MODULE: ./packages/result/src/index.vue?vue&type=template&id=3408b139&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-success.vue?vue&type=template&id=18119418&\nvar icon_successvue_type_template_id_18119418_render=function icon_successvue_type_template_id_18119418_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"svg\",{attrs:{viewBox:\"0 0 48 48\",xmlns:\"http://www.w3.org/2000/svg\"}},[_c(\"path\",{attrs:{d:\"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M34.5548098,16.4485711 C33.9612228,15.8504763 32.9988282,15.8504763 32.4052412,16.4485711 L32.4052412,16.4485711 L21.413757,27.5805811 L21.413757,27.5805811 L21.4034642,27.590855 C21.0097542,27.9781674 20.3766105,27.9729811 19.9892981,27.5792711 L19.9892981,27.5792711 L15.5947588,23.1121428 C15.0011718,22.514048 14.0387772,22.514048 13.4451902,23.1121428 C12.8516033,23.7102376 12.8516033,24.6799409 13.4451902,25.2780357 L13.4451902,25.2780357 L19.6260786,31.5514289 C20.2196656,32.1495237 21.1820602,32.1495237 21.7756472,31.5514289 L21.7756472,31.5514289 L34.5548098,18.614464 C35.1483967,18.0163692 35.1483967,17.0466659 34.5548098,16.4485711 Z\"}})]);};var icon_successvue_type_template_id_18119418_staticRenderFns=[];icon_successvue_type_template_id_18119418_render._withStripped=true;// CONCATENATED MODULE: ./packages/result/src/icon-success.vue?vue&type=template&id=18119418&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-success.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var icon_successvue_type_script_lang_js_={name:'IconSuccess'};// CONCATENATED MODULE: ./packages/result/src/icon-success.vue?vue&type=script&lang=js&\n/* harmony default export */var src_icon_successvue_type_script_lang_js_=icon_successvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/result/src/icon-success.vue\n/* normalize component */var icon_success_component=normalizeComponent(src_icon_successvue_type_script_lang_js_,icon_successvue_type_template_id_18119418_render,icon_successvue_type_template_id_18119418_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var icon_success_api; }icon_success_component.options.__file=\"packages/result/src/icon-success.vue\";/* harmony default export */var icon_success=icon_success_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-error.vue?vue&type=template&id=21199246&\nvar icon_errorvue_type_template_id_21199246_render=function icon_errorvue_type_template_id_21199246_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"svg\",{attrs:{viewBox:\"0 0 48 48\",xmlns:\"http://www.w3.org/2000/svg\"}},[_c(\"path\",{attrs:{d:\"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.57818,15.42182 C32.0157534,14.8593933 31.1038797,14.8593933 30.541453,15.42182 L30.541453,15.42182 L24.0006789,21.9625941 L17.458547,15.42182 C16.8961203,14.8593933 15.9842466,14.8593933 15.42182,15.42182 C14.8593933,15.9842466 14.8593933,16.8961203 15.42182,17.458547 L15.42182,17.458547 L21.9639519,23.9993211 L15.42182,30.541453 C14.8593933,31.1038797 14.8593933,32.0157534 15.42182,32.57818 C15.9842466,33.1406067 16.8961203,33.1406067 17.458547,32.57818 L17.458547,32.57818 L24.0006789,26.0360481 L30.541453,32.57818 C31.1038797,33.1406067 32.0157534,33.1406067 32.57818,32.57818 C33.1406067,32.0157534 33.1406067,31.1038797 32.57818,30.541453 L32.57818,30.541453 L26.0374059,23.9993211 L32.57818,17.458547 C33.1406067,16.8961203 33.1406067,15.9842466 32.57818,15.42182 Z\"}})]);};var icon_errorvue_type_template_id_21199246_staticRenderFns=[];icon_errorvue_type_template_id_21199246_render._withStripped=true;// CONCATENATED MODULE: ./packages/result/src/icon-error.vue?vue&type=template&id=21199246&\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-error.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */var icon_errorvue_type_script_lang_js_={name:'IconError'};// CONCATENATED MODULE: ./packages/result/src/icon-error.vue?vue&type=script&lang=js&\n/* harmony default export */var src_icon_errorvue_type_script_lang_js_=icon_errorvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/result/src/icon-error.vue\n/* normalize component */var icon_error_component=normalizeComponent(src_icon_errorvue_type_script_lang_js_,icon_errorvue_type_template_id_21199246_render,icon_errorvue_type_template_id_21199246_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var icon_error_api; }icon_error_component.options.__file=\"packages/result/src/icon-error.vue\";/* harmony default export */var icon_error=icon_error_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-warning.vue?vue&type=template&id=46fe8f31&\nvar icon_warningvue_type_template_id_46fe8f31_render=function icon_warningvue_type_template_id_46fe8f31_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"svg\",{attrs:{viewBox:\"0 0 48 48\",xmlns:\"http://www.w3.org/2000/svg\"}},[_c(\"path\",{attrs:{d:\"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,31 C22.8954305,31 22,31.8954305 22,33 C22,34.1045695 22.8954305,35 24,35 C25.1045695,35 26,34.1045695 26,33 C26,31.8954305 25.1045695,31 24,31 Z M24,14 C23.1715729,14 22.5,14.6715729 22.5,15.5 L22.5,15.5 L22.5,27.5 C22.5,28.3284271 23.1715729,29 24,29 C24.8284271,29 25.5,28.3284271 25.5,27.5 L25.5,27.5 L25.5,15.5 C25.5,14.6715729 24.8284271,14 24,14 Z\"}})]);};var icon_warningvue_type_template_id_46fe8f31_staticRenderFns=[];icon_warningvue_type_template_id_46fe8f31_render._withStripped=true;// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue?vue&type=template&id=46fe8f31&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-warning.vue?vue&type=script&lang=ts&\n/* harmony default export */var icon_warningvue_type_script_lang_ts_={name:'IconWarning'};// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue?vue&type=script&lang=ts&\n/* harmony default export */var src_icon_warningvue_type_script_lang_ts_=icon_warningvue_type_script_lang_ts_;// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue\n/* normalize component */var icon_warning_component=normalizeComponent(src_icon_warningvue_type_script_lang_ts_,icon_warningvue_type_template_id_46fe8f31_render,icon_warningvue_type_template_id_46fe8f31_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var icon_warning_api; }icon_warning_component.options.__file=\"packages/result/src/icon-warning.vue\";/* harmony default export */var icon_warning=icon_warning_component.exports;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-info.vue?vue&type=template&id=19e3de69&\nvar icon_infovue_type_template_id_19e3de69_render=function icon_infovue_type_template_id_19e3de69_render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"svg\",{attrs:{viewBox:\"0 0 48 48\",xmlns:\"http://www.w3.org/2000/svg\"}},[_c(\"path\",{attrs:{d:\"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,19 L21,19 C20.1715729,19 19.5,19.6715729 19.5,20.5 C19.5,21.3284271 20.1715729,22 21,22 L21,22 L22.5,22 L22.5,31 L21,31 C20.1715729,31 19.5,31.6715729 19.5,32.5 C19.5,33.3284271 20.1715729,34 21,34 L21,34 L27,34 C27.8284271,34 28.5,33.3284271 28.5,32.5 C28.5,31.6715729 27.8284271,31 27,31 L27,31 L25.5,31 L25.5,20.5 C25.5,19.6715729 24.8284271,19 24,19 L24,19 Z M24,13 C22.8954305,13 22,13.8954305 22,15 C22,16.1045695 22.8954305,17 24,17 C25.1045695,17 26,16.1045695 26,15 C26,13.8954305 25.1045695,13 24,13 Z\"}})]);};var icon_infovue_type_template_id_19e3de69_staticRenderFns=[];icon_infovue_type_template_id_19e3de69_render._withStripped=true;// CONCATENATED MODULE: ./packages/result/src/icon-info.vue?vue&type=template&id=19e3de69&\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-info.vue?vue&type=script&lang=ts&\n/* harmony default export */var icon_infovue_type_script_lang_ts_={name:'IconInfo'};// CONCATENATED MODULE: ./packages/result/src/icon-info.vue?vue&type=script&lang=ts&\n/* harmony default export */var src_icon_infovue_type_script_lang_ts_=icon_infovue_type_script_lang_ts_;// CONCATENATED MODULE: ./packages/result/src/icon-info.vue\n/* normalize component */var icon_info_component=normalizeComponent(src_icon_infovue_type_script_lang_ts_,icon_infovue_type_template_id_19e3de69_render,icon_infovue_type_template_id_19e3de69_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var icon_info_api; }icon_info_component.options.__file=\"packages/result/src/icon-info.vue\";/* harmony default export */var icon_info=icon_info_component.exports;// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/index.vue?vue&type=script&lang=js&\nvar result_srcvue_type_script_lang_js_components;//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar IconMap={success:'icon-success',warning:'icon-warning',error:'icon-error',info:'icon-info'};/* harmony default export */var result_srcvue_type_script_lang_js_={name:'ElResult',components:(result_srcvue_type_script_lang_js_components={},result_srcvue_type_script_lang_js_components[icon_success.name]=icon_success,result_srcvue_type_script_lang_js_components[icon_error.name]=icon_error,result_srcvue_type_script_lang_js_components[icon_warning.name]=icon_warning,result_srcvue_type_script_lang_js_components[icon_info.name]=icon_info,result_srcvue_type_script_lang_js_components),props:{title:{type:String,default:''},subTitle:{type:String,default:''},icon:{type:String,default:'info'}},computed:{iconElement:function iconElement(){var icon=this.icon;return icon&&IconMap[icon]?IconMap[icon]:'icon-info';}}};// CONCATENATED MODULE: ./packages/result/src/index.vue?vue&type=script&lang=js&\n/* harmony default export */var packages_result_srcvue_type_script_lang_js_=result_srcvue_type_script_lang_js_;// CONCATENATED MODULE: ./packages/result/src/index.vue\n/* normalize component */var result_src_component=normalizeComponent(packages_result_srcvue_type_script_lang_js_,srcvue_type_template_id_3408b139_render,srcvue_type_template_id_3408b139_staticRenderFns,false,null,null,null);/* hot reload */if(false){ var result_src_api; }result_src_component.options.__file=\"packages/result/src/index.vue\";/* harmony default export */var result_src=result_src_component.exports;// CONCATENATED MODULE: ./packages/result/index.js\n/* istanbul ignore next */result_src.install=function(Vue){Vue.component(result_src.name,result_src);};/* harmony default export */var result=result_src;// CONCATENATED MODULE: ./src/index.js\n/* Automatically generated by './build/bin/build-entry.js' */var components=[packages_pagination,dialog,packages_autocomplete,packages_dropdown,packages_dropdown_menu,packages_dropdown_item,packages_menu,packages_submenu,packages_menu_item,packages_menu_item_group,packages_input,packages_input_number,packages_radio,packages_radio_group,packages_radio_button,packages_checkbox,packages_checkbox_button,packages_checkbox_group,packages_switch,packages_select,packages_option,packages_option_group,packages_button,packages_button_group,packages_table,packages_table_column,packages_date_picker,packages_time_select,packages_time_picker,popover,packages_tooltip,packages_breadcrumb,packages_breadcrumb_item,packages_form,packages_form_item,packages_tabs,packages_tab_pane,packages_tag,packages_tree,packages_alert,slider,packages_icon,packages_row,packages_col,packages_upload,packages_progress,packages_spinner,badge,card,rate,packages_steps,packages_step,carousel,scrollbar,carousel_item,packages_collapse,packages_collapse_item,packages_cascader,color_picker,transfer,packages_container,header,aside,packages_main,footer,timeline,timeline_item,packages_link,divider,packages_image,calendar,backtop,page_header,packages_cascader_panel,avatar,drawer,popconfirm,skeleton,skeleton_item,empty,descriptions,packages_descriptions_item,result,collapse_transition_default.a];var src_install=function install(Vue){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};lib_locale_default.a.use(opts.locale);lib_locale_default.a.i18n(opts.i18n);components.forEach(function(component){Vue.component(component.name,component);});Vue.use(infinite_scroll);Vue.use(packages_loading.directive);Vue.prototype.$ELEMENT={size:opts.size||'',zIndex:opts.zIndex||2000};Vue.prototype.$loading=packages_loading.service;Vue.prototype.$msgbox=message_box;Vue.prototype.$alert=message_box.alert;Vue.prototype.$confirm=message_box.confirm;Vue.prototype.$prompt=message_box.prompt;Vue.prototype.$notify=notification;Vue.prototype.$message=packages_message;};/* istanbul ignore if */if(typeof window!=='undefined'&&window.Vue){src_install(window.Vue);}/* harmony default export */var src_0=__webpack_exports__[\"default\"]={version:'2.15.8',locale:lib_locale_default.a.use,i18n:lib_locale_default.a.i18n,install:src_install,CollapseTransition:collapse_transition_default.a,Loading:packages_loading,Pagination:packages_pagination,Dialog:dialog,Autocomplete:packages_autocomplete,Dropdown:packages_dropdown,DropdownMenu:packages_dropdown_menu,DropdownItem:packages_dropdown_item,Menu:packages_menu,Submenu:packages_submenu,MenuItem:packages_menu_item,MenuItemGroup:packages_menu_item_group,Input:packages_input,InputNumber:packages_input_number,Radio:packages_radio,RadioGroup:packages_radio_group,RadioButton:packages_radio_button,Checkbox:packages_checkbox,CheckboxButton:packages_checkbox_button,CheckboxGroup:packages_checkbox_group,Switch:packages_switch,Select:packages_select,Option:packages_option,OptionGroup:packages_option_group,Button:packages_button,ButtonGroup:packages_button_group,Table:packages_table,TableColumn:packages_table_column,DatePicker:packages_date_picker,TimeSelect:packages_time_select,TimePicker:packages_time_picker,Popover:popover,Tooltip:packages_tooltip,MessageBox:message_box,Breadcrumb:packages_breadcrumb,BreadcrumbItem:packages_breadcrumb_item,Form:packages_form,FormItem:packages_form_item,Tabs:packages_tabs,TabPane:packages_tab_pane,Tag:packages_tag,Tree:packages_tree,Alert:packages_alert,Notification:notification,Slider:slider,Icon:packages_icon,Row:packages_row,Col:packages_col,Upload:packages_upload,Progress:packages_progress,Spinner:packages_spinner,Message:packages_message,Badge:badge,Card:card,Rate:rate,Steps:packages_steps,Step:packages_step,Carousel:carousel,Scrollbar:scrollbar,CarouselItem:carousel_item,Collapse:packages_collapse,CollapseItem:packages_collapse_item,Cascader:packages_cascader,ColorPicker:color_picker,Transfer:transfer,Container:packages_container,Header:header,Aside:aside,Main:packages_main,Footer:footer,Timeline:timeline,TimelineItem:timeline_item,Link:packages_link,Divider:divider,Image:packages_image,Calendar:calendar,Backtop:backtop,InfiniteScroll:infinite_scroll,PageHeader:page_header,CascaderPanel:packages_cascader_panel,Avatar:avatar,Drawer:drawer,Popconfirm:popconfirm,Skeleton:skeleton,SkeletonItem:skeleton_item,Empty:empty,Descriptions:descriptions,DescriptionsItem:packages_descriptions_item,Result:result};/***/}/******/])[\"default\"];\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/element-ui.common.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/input-number.js":
/*!*****************************************************!*\
  !*** ./node_modules/element-ui/lib/input-number.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 86);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  10:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/input */ \"./node_modules/element-ui/lib/input.js\");\n    /***/\n  },\n\n  /***/\n  2:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n    /***/\n  },\n\n  /***/\n  22:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/focus */ \"./node_modules/element-ui/lib/mixins/focus.js\");\n    /***/\n  },\n\n  /***/\n  30:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony import */\n\n    var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);\n    /* harmony import */\n\n\n    var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__);\n    /* harmony default export */\n\n\n    __webpack_exports__[\"a\"] = {\n      bind: function bind(el, binding, vnode) {\n        var interval = null;\n        var startTime = void 0;\n\n        var handler = function handler() {\n          return vnode.context[binding.expression].apply();\n        };\n\n        var clear = function clear() {\n          if (Date.now() - startTime < 100) {\n            handler();\n          }\n\n          clearInterval(interval);\n          interval = null;\n        };\n\n        Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"on\"])(el, 'mousedown', function (e) {\n          if (e.button !== 0) return;\n          startTime = Date.now();\n          Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"once\"])(document, 'mouseup', clear);\n          clearInterval(interval);\n          interval = setInterval(handler, 100);\n        });\n      }\n    };\n    /***/\n  },\n\n  /***/\n  86:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        class: [\"el-input-number\", _vm.inputNumberSize ? \"el-input-number--\" + _vm.inputNumberSize : \"\", {\n          \"is-disabled\": _vm.inputNumberDisabled\n        }, {\n          \"is-without-controls\": !_vm.controls\n        }, {\n          \"is-controls-right\": _vm.controlsAtRight\n        }],\n        on: {\n          dragstart: function dragstart($event) {\n            $event.preventDefault();\n          }\n        }\n      }, [_vm.controls ? _c(\"span\", {\n        directives: [{\n          name: \"repeat-click\",\n          rawName: \"v-repeat-click\",\n          value: _vm.decrease,\n          expression: \"decrease\"\n        }],\n        staticClass: \"el-input-number__decrease\",\n        class: {\n          \"is-disabled\": _vm.minDisabled\n        },\n        attrs: {\n          role: \"button\"\n        },\n        on: {\n          keydown: function keydown($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n              return null;\n            }\n\n            return _vm.decrease($event);\n          }\n        }\n      }, [_c(\"i\", {\n        class: \"el-icon-\" + (_vm.controlsAtRight ? \"arrow-down\" : \"minus\")\n      })]) : _vm._e(), _vm.controls ? _c(\"span\", {\n        directives: [{\n          name: \"repeat-click\",\n          rawName: \"v-repeat-click\",\n          value: _vm.increase,\n          expression: \"increase\"\n        }],\n        staticClass: \"el-input-number__increase\",\n        class: {\n          \"is-disabled\": _vm.maxDisabled\n        },\n        attrs: {\n          role: \"button\"\n        },\n        on: {\n          keydown: function keydown($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n              return null;\n            }\n\n            return _vm.increase($event);\n          }\n        }\n      }, [_c(\"i\", {\n        class: \"el-icon-\" + (_vm.controlsAtRight ? \"arrow-up\" : \"plus\")\n      })]) : _vm._e(), _c(\"el-input\", {\n        ref: \"input\",\n        attrs: {\n          value: _vm.displayValue,\n          placeholder: _vm.placeholder,\n          disabled: _vm.inputNumberDisabled,\n          size: _vm.inputNumberSize,\n          max: _vm.max,\n          min: _vm.min,\n          name: _vm.name,\n          label: _vm.label\n        },\n        on: {\n          blur: _vm.handleBlur,\n          focus: _vm.handleFocus,\n          input: _vm.handleInput,\n          change: _vm.handleInputChange\n        },\n        nativeOn: {\n          keydown: [function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n              return null;\n            }\n\n            $event.preventDefault();\n            return _vm.increase($event);\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n              return null;\n            }\n\n            $event.preventDefault();\n            return _vm.decrease($event);\n          }]\n        }\n      })], 1);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\n    // EXTERNAL MODULE: external \"element-ui/lib/input\"\n\n    var input_ = __webpack_require__(10);\n\n    var input_default = /*#__PURE__*/__webpack_require__.n(input_); // EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\n\n\n    var focus_ = __webpack_require__(22);\n\n    var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); // EXTERNAL MODULE: ./src/directives/repeat-click.js\n\n\n    var repeat_click = __webpack_require__(30); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var input_numbervue_type_script_lang_js_ = {\n      name: 'ElInputNumber',\n      mixins: [focus_default()('input')],\n      inject: {\n        elForm: {\n          default: ''\n        },\n        elFormItem: {\n          default: ''\n        }\n      },\n      directives: {\n        repeatClick: repeat_click[\"a\"\n        /* default */\n        ]\n      },\n      components: {\n        ElInput: input_default.a\n      },\n      props: {\n        step: {\n          type: Number,\n          default: 1\n        },\n        stepStrictly: {\n          type: Boolean,\n          default: false\n        },\n        max: {\n          type: Number,\n          default: Infinity\n        },\n        min: {\n          type: Number,\n          default: -Infinity\n        },\n        value: {},\n        disabled: Boolean,\n        size: String,\n        controls: {\n          type: Boolean,\n          default: true\n        },\n        controlsPosition: {\n          type: String,\n          default: ''\n        },\n        name: String,\n        label: String,\n        placeholder: String,\n        precision: {\n          type: Number,\n          validator: function validator(val) {\n            return val >= 0 && val === parseInt(val, 10);\n          }\n        }\n      },\n      data: function data() {\n        return {\n          currentValue: 0,\n          userInput: null\n        };\n      },\n      watch: {\n        value: {\n          immediate: true,\n          handler: function handler(value) {\n            var newVal = value === undefined ? value : Number(value);\n\n            if (newVal !== undefined) {\n              if (isNaN(newVal)) {\n                return;\n              }\n\n              if (this.stepStrictly) {\n                var stepPrecision = this.getPrecision(this.step);\n                var precisionFactor = Math.pow(10, stepPrecision);\n                newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor;\n              }\n\n              if (this.precision !== undefined) {\n                newVal = this.toPrecision(newVal, this.precision);\n              }\n            }\n\n            if (newVal >= this.max) newVal = this.max;\n            if (newVal <= this.min) newVal = this.min;\n            this.currentValue = newVal;\n            this.userInput = null;\n            this.$emit('input', newVal);\n          }\n        }\n      },\n      computed: {\n        minDisabled: function minDisabled() {\n          return this._decrease(this.value, this.step) < this.min;\n        },\n        maxDisabled: function maxDisabled() {\n          return this._increase(this.value, this.step) > this.max;\n        },\n        numPrecision: function numPrecision() {\n          var value = this.value,\n              step = this.step,\n              getPrecision = this.getPrecision,\n              precision = this.precision;\n          var stepPrecision = getPrecision(step);\n\n          if (precision !== undefined) {\n            if (stepPrecision > precision) {\n              console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step');\n            }\n\n            return precision;\n          } else {\n            return Math.max(getPrecision(value), stepPrecision);\n          }\n        },\n        controlsAtRight: function controlsAtRight() {\n          return this.controls && this.controlsPosition === 'right';\n        },\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        inputNumberSize: function inputNumberSize() {\n          return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n        },\n        inputNumberDisabled: function inputNumberDisabled() {\n          return this.disabled || !!(this.elForm || {}).disabled;\n        },\n        displayValue: function displayValue() {\n          if (this.userInput !== null) {\n            return this.userInput;\n          }\n\n          var currentValue = this.currentValue;\n\n          if (typeof currentValue === 'number') {\n            if (this.stepStrictly) {\n              var stepPrecision = this.getPrecision(this.step);\n              var precisionFactor = Math.pow(10, stepPrecision);\n              currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor;\n            }\n\n            if (this.precision !== undefined) {\n              currentValue = currentValue.toFixed(this.precision);\n            }\n          }\n\n          return currentValue;\n        }\n      },\n      methods: {\n        toPrecision: function toPrecision(num, precision) {\n          if (precision === undefined) precision = this.numPrecision;\n          return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision));\n        },\n        getPrecision: function getPrecision(value) {\n          if (value === undefined) return 0;\n          var valueString = value.toString();\n          var dotPosition = valueString.indexOf('.');\n          var precision = 0;\n\n          if (dotPosition !== -1) {\n            precision = valueString.length - dotPosition - 1;\n          }\n\n          return precision;\n        },\n        _increase: function _increase(val, step) {\n          if (typeof val !== 'number' && val !== undefined) return this.currentValue;\n          var precisionFactor = Math.pow(10, this.numPrecision); // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n\n          return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor);\n        },\n        _decrease: function _decrease(val, step) {\n          if (typeof val !== 'number' && val !== undefined) return this.currentValue;\n          var precisionFactor = Math.pow(10, this.numPrecision);\n          return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor);\n        },\n        increase: function increase() {\n          if (this.inputNumberDisabled || this.maxDisabled) return;\n          var value = this.value || 0;\n\n          var newVal = this._increase(value, this.step);\n\n          this.setCurrentValue(newVal);\n        },\n        decrease: function decrease() {\n          if (this.inputNumberDisabled || this.minDisabled) return;\n          var value = this.value || 0;\n\n          var newVal = this._decrease(value, this.step);\n\n          this.setCurrentValue(newVal);\n        },\n        handleBlur: function handleBlur(event) {\n          this.$emit('blur', event);\n        },\n        handleFocus: function handleFocus(event) {\n          this.$emit('focus', event);\n        },\n        setCurrentValue: function setCurrentValue(newVal) {\n          var oldVal = this.currentValue;\n\n          if (typeof newVal === 'number' && this.precision !== undefined) {\n            newVal = this.toPrecision(newVal, this.precision);\n          }\n\n          if (newVal >= this.max) newVal = this.max;\n          if (newVal <= this.min) newVal = this.min;\n          if (oldVal === newVal) return;\n          this.userInput = null;\n          this.$emit('input', newVal);\n          this.$emit('change', newVal, oldVal);\n          this.currentValue = newVal;\n        },\n        handleInput: function handleInput(value) {\n          this.userInput = value;\n        },\n        handleInputChange: function handleInputChange(value) {\n          var newVal = value === '' ? undefined : Number(value);\n\n          if (!isNaN(newVal) || value === '') {\n            this.setCurrentValue(newVal);\n          }\n\n          this.userInput = null;\n        },\n        select: function select() {\n          this.$refs.input.select();\n        }\n      },\n      mounted: function mounted() {\n        var innerInput = this.$refs.input.$refs.input;\n        innerInput.setAttribute('role', 'spinbutton');\n        innerInput.setAttribute('aria-valuemax', this.max);\n        innerInput.setAttribute('aria-valuemin', this.min);\n        innerInput.setAttribute('aria-valuenow', this.currentValue);\n        innerInput.setAttribute('aria-disabled', this.inputNumberDisabled);\n      },\n      updated: function updated() {\n        if (!this.$refs || !this.$refs.input) return;\n        var innerInput = this.$refs.input.$refs.input;\n        innerInput.setAttribute('aria-valuenow', this.currentValue);\n      }\n    }; // CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_input_numbervue_type_script_lang_js_ = input_numbervue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/input-number/src/input-number.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_input_numbervue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/input-number/src/input-number.vue\";\n    /* harmony default export */\n\n    var input_number = component.exports; // CONCATENATED MODULE: ./packages/input-number/index.js\n\n    /* istanbul ignore next */\n\n    input_number.install = function (Vue) {\n      Vue.component(input_number.name, input_number);\n    };\n    /* harmony default export */\n\n\n    var packages_input_number = __webpack_exports__[\"default\"] = input_number;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/input-number.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/input.js":
/*!**********************************************!*\
  !*** ./node_modules/element-ui/lib/input.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 74);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  11:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/migrating */ \"./node_modules/element-ui/lib/mixins/migrating.js\");\n    /***/\n  },\n\n  /***/\n  21:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/shared */ \"./node_modules/element-ui/lib/utils/shared.js\");\n    /***/\n  },\n\n  /***/\n  4:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");\n    /***/\n  },\n\n  /***/\n  74:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        class: [_vm.type === \"textarea\" ? \"el-textarea\" : \"el-input\", _vm.inputSize ? \"el-input--\" + _vm.inputSize : \"\", {\n          \"is-disabled\": _vm.inputDisabled,\n          \"is-exceed\": _vm.inputExceed,\n          \"el-input-group\": _vm.$slots.prepend || _vm.$slots.append,\n          \"el-input-group--append\": _vm.$slots.append,\n          \"el-input-group--prepend\": _vm.$slots.prepend,\n          \"el-input--prefix\": _vm.$slots.prefix || _vm.prefixIcon,\n          \"el-input--suffix\": _vm.$slots.suffix || _vm.suffixIcon || _vm.clearable || _vm.showPassword\n        }],\n        on: {\n          mouseenter: function mouseenter($event) {\n            _vm.hovering = true;\n          },\n          mouseleave: function mouseleave($event) {\n            _vm.hovering = false;\n          }\n        }\n      }, [_vm.type !== \"textarea\" ? [_vm.$slots.prepend ? _c(\"div\", {\n        staticClass: \"el-input-group__prepend\"\n      }, [_vm._t(\"prepend\")], 2) : _vm._e(), _vm.type !== \"textarea\" ? _c(\"input\", _vm._b({\n        ref: \"input\",\n        staticClass: \"el-input__inner\",\n        attrs: {\n          tabindex: _vm.tabindex,\n          type: _vm.showPassword ? _vm.passwordVisible ? \"text\" : \"password\" : _vm.type,\n          disabled: _vm.inputDisabled,\n          readonly: _vm.readonly,\n          autocomplete: _vm.autoComplete || _vm.autocomplete,\n          \"aria-label\": _vm.label\n        },\n        on: {\n          compositionstart: _vm.handleCompositionStart,\n          compositionupdate: _vm.handleCompositionUpdate,\n          compositionend: _vm.handleCompositionEnd,\n          input: _vm.handleInput,\n          focus: _vm.handleFocus,\n          blur: _vm.handleBlur,\n          change: _vm.handleChange\n        }\n      }, \"input\", _vm.$attrs, false)) : _vm._e(), _vm.$slots.prefix || _vm.prefixIcon ? _c(\"span\", {\n        staticClass: \"el-input__prefix\"\n      }, [_vm._t(\"prefix\"), _vm.prefixIcon ? _c(\"i\", {\n        staticClass: \"el-input__icon\",\n        class: _vm.prefixIcon\n      }) : _vm._e()], 2) : _vm._e(), _vm.getSuffixVisible() ? _c(\"span\", {\n        staticClass: \"el-input__suffix\"\n      }, [_c(\"span\", {\n        staticClass: \"el-input__suffix-inner\"\n      }, [!_vm.showClear || !_vm.showPwdVisible || !_vm.isWordLimitVisible ? [_vm._t(\"suffix\"), _vm.suffixIcon ? _c(\"i\", {\n        staticClass: \"el-input__icon\",\n        class: _vm.suffixIcon\n      }) : _vm._e()] : _vm._e(), _vm.showClear ? _c(\"i\", {\n        staticClass: \"el-input__icon el-icon-circle-close el-input__clear\",\n        on: {\n          mousedown: function mousedown($event) {\n            $event.preventDefault();\n          },\n          click: _vm.clear\n        }\n      }) : _vm._e(), _vm.showPwdVisible ? _c(\"i\", {\n        staticClass: \"el-input__icon el-icon-view el-input__clear\",\n        on: {\n          click: _vm.handlePasswordVisible\n        }\n      }) : _vm._e(), _vm.isWordLimitVisible ? _c(\"span\", {\n        staticClass: \"el-input__count\"\n      }, [_c(\"span\", {\n        staticClass: \"el-input__count-inner\"\n      }, [_vm._v(\"\\n            \" + _vm._s(_vm.textLength) + \"/\" + _vm._s(_vm.upperLimit) + \"\\n          \")])]) : _vm._e()], 2), _vm.validateState ? _c(\"i\", {\n        staticClass: \"el-input__icon\",\n        class: [\"el-input__validateIcon\", _vm.validateIcon]\n      }) : _vm._e()]) : _vm._e(), _vm.$slots.append ? _c(\"div\", {\n        staticClass: \"el-input-group__append\"\n      }, [_vm._t(\"append\")], 2) : _vm._e()] : _c(\"textarea\", _vm._b({\n        ref: \"textarea\",\n        staticClass: \"el-textarea__inner\",\n        style: _vm.textareaStyle,\n        attrs: {\n          tabindex: _vm.tabindex,\n          disabled: _vm.inputDisabled,\n          readonly: _vm.readonly,\n          autocomplete: _vm.autoComplete || _vm.autocomplete,\n          \"aria-label\": _vm.label\n        },\n        on: {\n          compositionstart: _vm.handleCompositionStart,\n          compositionupdate: _vm.handleCompositionUpdate,\n          compositionend: _vm.handleCompositionEnd,\n          input: _vm.handleInput,\n          focus: _vm.handleFocus,\n          blur: _vm.handleBlur,\n          change: _vm.handleChange\n        }\n      }, \"textarea\", _vm.$attrs, false)), _vm.isWordLimitVisible && _vm.type === \"textarea\" ? _c(\"span\", {\n        staticClass: \"el-input__count\"\n      }, [_vm._v(_vm._s(_vm.textLength) + \"/\" + _vm._s(_vm.upperLimit))]) : _vm._e()], 2);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\n\n\n    var migrating_ = __webpack_require__(11);\n\n    var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); // CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js\n\n\n    var hiddenTextarea = void 0;\n    var HIDDEN_STYLE = '\\n  height:0 !important;\\n  visibility:hidden !important;\\n  overflow:hidden !important;\\n  position:absolute !important;\\n  z-index:-1000 !important;\\n  top:0 !important;\\n  right:0 !important\\n';\n    var CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\n    function calculateNodeStyling(targetElement) {\n      var style = window.getComputedStyle(targetElement);\n      var boxSizing = style.getPropertyValue('box-sizing');\n      var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n      var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n      var contextStyle = CONTEXT_STYLE.map(function (name) {\n        return name + ':' + style.getPropertyValue(name);\n      }).join(';');\n      return {\n        contextStyle: contextStyle,\n        paddingSize: paddingSize,\n        borderSize: borderSize,\n        boxSizing: boxSizing\n      };\n    }\n\n    function calcTextareaHeight(targetElement) {\n      var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n      var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n      if (!hiddenTextarea) {\n        hiddenTextarea = document.createElement('textarea');\n        document.body.appendChild(hiddenTextarea);\n      }\n\n      var _calculateNodeStyling = calculateNodeStyling(targetElement),\n          paddingSize = _calculateNodeStyling.paddingSize,\n          borderSize = _calculateNodeStyling.borderSize,\n          boxSizing = _calculateNodeStyling.boxSizing,\n          contextStyle = _calculateNodeStyling.contextStyle;\n\n      hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE);\n      hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n      var height = hiddenTextarea.scrollHeight;\n      var result = {};\n\n      if (boxSizing === 'border-box') {\n        height = height + borderSize;\n      } else if (boxSizing === 'content-box') {\n        height = height - paddingSize;\n      }\n\n      hiddenTextarea.value = '';\n      var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n      if (minRows !== null) {\n        var minHeight = singleRowHeight * minRows;\n\n        if (boxSizing === 'border-box') {\n          minHeight = minHeight + paddingSize + borderSize;\n        }\n\n        height = Math.max(minHeight, height);\n        result.minHeight = minHeight + 'px';\n      }\n\n      if (maxRows !== null) {\n        var maxHeight = singleRowHeight * maxRows;\n\n        if (boxSizing === 'border-box') {\n          maxHeight = maxHeight + paddingSize + borderSize;\n        }\n\n        height = Math.min(maxHeight, height);\n      }\n\n      result.height = height + 'px';\n      hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);\n      hiddenTextarea = null;\n      return result;\n    }\n\n    ; // EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\n\n    var merge_ = __webpack_require__(9);\n\n    var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); // EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\n\n\n    var shared_ = __webpack_require__(21); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var inputvue_type_script_lang_js_ = {\n      name: 'ElInput',\n      componentName: 'ElInput',\n      mixins: [emitter_default.a, migrating_default.a],\n      inheritAttrs: false,\n      inject: {\n        elForm: {\n          default: ''\n        },\n        elFormItem: {\n          default: ''\n        }\n      },\n      data: function data() {\n        return {\n          textareaCalcStyle: {},\n          hovering: false,\n          focused: false,\n          isComposing: false,\n          passwordVisible: false\n        };\n      },\n      props: {\n        value: [String, Number],\n        size: String,\n        resize: String,\n        form: String,\n        disabled: Boolean,\n        readonly: Boolean,\n        type: {\n          type: String,\n          default: 'text'\n        },\n        autosize: {\n          type: [Boolean, Object],\n          default: false\n        },\n        autocomplete: {\n          type: String,\n          default: 'off'\n        },\n\n        /** @Deprecated in next major version */\n        autoComplete: {\n          type: String,\n          validator: function validator(val) {\n             false && false;\n            return true;\n          }\n        },\n        validateEvent: {\n          type: Boolean,\n          default: true\n        },\n        suffixIcon: String,\n        prefixIcon: String,\n        label: String,\n        clearable: {\n          type: Boolean,\n          default: false\n        },\n        showPassword: {\n          type: Boolean,\n          default: false\n        },\n        showWordLimit: {\n          type: Boolean,\n          default: false\n        },\n        tabindex: String\n      },\n      computed: {\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        validateState: function validateState() {\n          return this.elFormItem ? this.elFormItem.validateState : '';\n        },\n        needStatusIcon: function needStatusIcon() {\n          return this.elForm ? this.elForm.statusIcon : false;\n        },\n        validateIcon: function validateIcon() {\n          return {\n            validating: 'el-icon-loading',\n            success: 'el-icon-circle-check',\n            error: 'el-icon-circle-close'\n          }[this.validateState];\n        },\n        textareaStyle: function textareaStyle() {\n          return merge_default()({}, this.textareaCalcStyle, {\n            resize: this.resize\n          });\n        },\n        inputSize: function inputSize() {\n          return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n        },\n        inputDisabled: function inputDisabled() {\n          return this.disabled || (this.elForm || {}).disabled;\n        },\n        nativeInputValue: function nativeInputValue() {\n          return this.value === null || this.value === undefined ? '' : String(this.value);\n        },\n        showClear: function showClear() {\n          return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering);\n        },\n        showPwdVisible: function showPwdVisible() {\n          return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused);\n        },\n        isWordLimitVisible: function isWordLimitVisible() {\n          return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword;\n        },\n        upperLimit: function upperLimit() {\n          return this.$attrs.maxlength;\n        },\n        textLength: function textLength() {\n          if (typeof this.value === 'number') {\n            return String(this.value).length;\n          }\n\n          return (this.value || '').length;\n        },\n        inputExceed: function inputExceed() {\n          // show exceed style if length of initial value greater then maxlength\n          return this.isWordLimitVisible && this.textLength > this.upperLimit;\n        }\n      },\n      watch: {\n        value: function value(val) {\n          this.$nextTick(this.resizeTextarea);\n\n          if (this.validateEvent) {\n            this.dispatch('ElFormItem', 'el.form.change', [val]);\n          }\n        },\n        // native input value is set explicitly\n        // do not use v-model / :value in template\n        // see: https://github.com/ElemeFE/element/issues/14521\n        nativeInputValue: function nativeInputValue() {\n          this.setNativeInputValue();\n        },\n        // when change between <input> and <textarea>,\n        // update DOM dependent value and styles\n        // https://github.com/ElemeFE/element/issues/14857\n        type: function type() {\n          var _this = this;\n\n          this.$nextTick(function () {\n            _this.setNativeInputValue();\n\n            _this.resizeTextarea();\n\n            _this.updateIconOffset();\n          });\n        }\n      },\n      methods: {\n        focus: function focus() {\n          this.getInput().focus();\n        },\n        blur: function blur() {\n          this.getInput().blur();\n        },\n        getMigratingConfig: function getMigratingConfig() {\n          return {\n            props: {\n              'icon': 'icon is removed, use suffix-icon / prefix-icon instead.',\n              'on-icon-click': 'on-icon-click is removed.'\n            },\n            events: {\n              'click': 'click is removed.'\n            }\n          };\n        },\n        handleBlur: function handleBlur(event) {\n          this.focused = false;\n          this.$emit('blur', event);\n\n          if (this.validateEvent) {\n            this.dispatch('ElFormItem', 'el.form.blur', [this.value]);\n          }\n        },\n        select: function select() {\n          this.getInput().select();\n        },\n        resizeTextarea: function resizeTextarea() {\n          if (this.$isServer) return;\n          var autosize = this.autosize,\n              type = this.type;\n          if (type !== 'textarea') return;\n\n          if (!autosize) {\n            this.textareaCalcStyle = {\n              minHeight: calcTextareaHeight(this.$refs.textarea).minHeight\n            };\n            return;\n          }\n\n          var minRows = autosize.minRows;\n          var maxRows = autosize.maxRows;\n          this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows);\n        },\n        setNativeInputValue: function setNativeInputValue() {\n          var input = this.getInput();\n          if (!input) return;\n          if (input.value === this.nativeInputValue) return;\n          input.value = this.nativeInputValue;\n        },\n        handleFocus: function handleFocus(event) {\n          this.focused = true;\n          this.$emit('focus', event);\n        },\n        handleCompositionStart: function handleCompositionStart(event) {\n          this.$emit('compositionstart', event);\n          this.isComposing = true;\n        },\n        handleCompositionUpdate: function handleCompositionUpdate(event) {\n          this.$emit('compositionupdate', event);\n          var text = event.target.value;\n          var lastCharacter = text[text.length - 1] || '';\n          this.isComposing = !Object(shared_[\"isKorean\"])(lastCharacter);\n        },\n        handleCompositionEnd: function handleCompositionEnd(event) {\n          this.$emit('compositionend', event);\n\n          if (this.isComposing) {\n            this.isComposing = false;\n            this.handleInput(event);\n          }\n        },\n        handleInput: function handleInput(event) {\n          // should not emit input during composition\n          // see: https://github.com/ElemeFE/element/issues/10516\n          if (this.isComposing) return; // hack for https://github.com/ElemeFE/element/issues/8548\n          // should remove the following line when we don't support IE\n\n          if (event.target.value === this.nativeInputValue) return;\n          this.$emit('input', event.target.value); // ensure native input value is controlled\n          // see: https://github.com/ElemeFE/element/issues/12850\n\n          this.$nextTick(this.setNativeInputValue);\n        },\n        handleChange: function handleChange(event) {\n          this.$emit('change', event.target.value);\n        },\n        calcIconOffset: function calcIconOffset(place) {\n          var elList = [].slice.call(this.$el.querySelectorAll('.el-input__' + place) || []);\n          if (!elList.length) return;\n          var el = null;\n\n          for (var i = 0; i < elList.length; i++) {\n            if (elList[i].parentNode === this.$el) {\n              el = elList[i];\n              break;\n            }\n          }\n\n          if (!el) return;\n          var pendantMap = {\n            suffix: 'append',\n            prefix: 'prepend'\n          };\n          var pendant = pendantMap[place];\n\n          if (this.$slots[pendant]) {\n            el.style.transform = 'translateX(' + (place === 'suffix' ? '-' : '') + this.$el.querySelector('.el-input-group__' + pendant).offsetWidth + 'px)';\n          } else {\n            el.removeAttribute('style');\n          }\n        },\n        updateIconOffset: function updateIconOffset() {\n          this.calcIconOffset('prefix');\n          this.calcIconOffset('suffix');\n        },\n        clear: function clear() {\n          this.$emit('input', '');\n          this.$emit('change', '');\n          this.$emit('clear');\n        },\n        handlePasswordVisible: function handlePasswordVisible() {\n          var _this2 = this;\n\n          this.passwordVisible = !this.passwordVisible;\n          this.$nextTick(function () {\n            _this2.focus();\n          });\n        },\n        getInput: function getInput() {\n          return this.$refs.input || this.$refs.textarea;\n        },\n        getSuffixVisible: function getSuffixVisible() {\n          return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon;\n        }\n      },\n      created: function created() {\n        this.$on('inputSelect', this.select);\n      },\n      mounted: function mounted() {\n        this.setNativeInputValue();\n        this.resizeTextarea();\n        this.updateIconOffset();\n      },\n      updated: function updated() {\n        this.$nextTick(this.updateIconOffset);\n      }\n    }; // CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_inputvue_type_script_lang_js_ = inputvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/input/src/input.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_inputvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/input/src/input.vue\";\n    /* harmony default export */\n\n    var input = component.exports; // CONCATENATED MODULE: ./packages/input/index.js\n\n    /* istanbul ignore next */\n\n    input.install = function (Vue) {\n      Vue.component(input.name, input);\n    };\n    /* harmony default export */\n\n\n    var packages_input = __webpack_exports__[\"default\"] = input;\n    /***/\n  },\n\n  /***/\n  9:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/merge */ \"./node_modules/element-ui/lib/utils/merge.js\");\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/input.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/locale/format.js":
/*!******************************************************!*\
  !*** ./node_modules/element-ui/lib/locale/format.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nexports.default = function (Vue) {\n  /**\n   * template\n   *\n   * @param {String} string\n   * @param {Array} ...args\n   * @return {String}\n   */\n  function template(string) {\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    if (args.length === 1 && _typeof(args[0]) === 'object') {\n      args = args[0];\n    }\n\n    if (!args || !args.hasOwnProperty) {\n      args = {};\n    }\n\n    return string.replace(RE_NARGS, function (match, prefix, i, index) {\n      var result = void 0;\n\n      if (string[index - 1] === '{' && string[index + match.length] === '}') {\n        return i;\n      } else {\n        result = (0, _util.hasOwn)(args, i) ? args[i] : null;\n\n        if (result === null || result === undefined) {\n          return '';\n        }\n\n        return result;\n      }\n    });\n  }\n\n  return template;\n};\n\nvar _util = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n\nvar RE_NARGS = /(%|)\\{([0-9a-zA-Z_]+)\\}/g;\n/**\n *  String format template\n *  - Inspired:\n *    https://github.com/Matt-Esch/string-template/index.js\n */\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/locale/format.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/locale/index.js":
/*!*****************************************************!*\
  !*** ./node_modules/element-ui/lib/locale/index.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ \"./node_modules/core-js/modules/es.object.get-prototype-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\nexports.__esModule = true;\nexports.i18n = exports.use = exports.t = undefined;\n\nvar _zhCN = __webpack_require__(/*! element-ui/lib/locale/lang/zh-CN */ \"./node_modules/element-ui/lib/locale/lang/zh-CN.js\");\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _deepmerge = __webpack_require__(/*! deepmerge */ \"./node_modules/element-ui/node_modules/deepmerge/dist/cjs.js\");\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _format = __webpack_require__(/*! ./format */ \"./node_modules/element-ui/lib/locale/format.js\");\n\nvar _format2 = _interopRequireDefault(_format);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar format = (0, _format2.default)(_vue2.default);\nvar lang = _zhCN2.default;\nvar merged = false;\n\nvar i18nHandler = function i18nHandler() {\n  var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t;\n\n  if (typeof vuei18n === 'function' && !!_vue2.default.locale) {\n    if (!merged) {\n      merged = true;\n\n      _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, {\n        clone: true\n      }));\n    }\n\n    return vuei18n.apply(this, arguments);\n  }\n};\n\nvar t = exports.t = function t(path, options) {\n  var value = i18nHandler.apply(this, arguments);\n  if (value !== null && value !== undefined) return value;\n  var array = path.split('.');\n  var current = lang;\n\n  for (var i = 0, j = array.length; i < j; i++) {\n    var property = array[i];\n    value = current[property];\n    if (i === j - 1) return format(value, options);\n    if (!value) return '';\n    current = value;\n  }\n\n  return '';\n};\n\nvar use = exports.use = function use(l) {\n  lang = l || lang;\n};\n\nvar i18n = exports.i18n = function i18n(fn) {\n  i18nHandler = fn || i18nHandler;\n};\n\nexports.default = {\n  use: use,\n  t: t,\n  i18n: i18n\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/locale/index.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/locale/lang/en.js":
/*!*******************************************************!*\
  !*** ./node_modules/element-ui/lib/locale/lang/en.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\nexports.default = {\n  el: {\n    colorpicker: {\n      confirm: 'OK',\n      clear: 'Clear'\n    },\n    datepicker: {\n      now: 'Now',\n      today: 'Today',\n      cancel: 'Cancel',\n      clear: 'Clear',\n      confirm: 'OK',\n      selectDate: 'Select date',\n      selectTime: 'Select time',\n      startDate: 'Start Date',\n      startTime: 'Start Time',\n      endDate: 'End Date',\n      endTime: 'End Time',\n      prevYear: 'Previous Year',\n      nextYear: 'Next Year',\n      prevMonth: 'Previous Month',\n      nextMonth: 'Next Month',\n      year: '',\n      month1: 'January',\n      month2: 'February',\n      month3: 'March',\n      month4: 'April',\n      month5: 'May',\n      month6: 'June',\n      month7: 'July',\n      month8: 'August',\n      month9: 'September',\n      month10: 'October',\n      month11: 'November',\n      month12: 'December',\n      week: 'week',\n      weeks: {\n        sun: 'Sun',\n        mon: 'Mon',\n        tue: 'Tue',\n        wed: 'Wed',\n        thu: 'Thu',\n        fri: 'Fri',\n        sat: 'Sat'\n      },\n      months: {\n        jan: 'Jan',\n        feb: 'Feb',\n        mar: 'Mar',\n        apr: 'Apr',\n        may: 'May',\n        jun: 'Jun',\n        jul: 'Jul',\n        aug: 'Aug',\n        sep: 'Sep',\n        oct: 'Oct',\n        nov: 'Nov',\n        dec: 'Dec'\n      }\n    },\n    select: {\n      loading: 'Loading',\n      noMatch: 'No matching data',\n      noData: 'No data',\n      placeholder: 'Select'\n    },\n    cascader: {\n      noMatch: 'No matching data',\n      loading: 'Loading',\n      placeholder: 'Select',\n      noData: 'No data'\n    },\n    pagination: {\n      goto: 'Go to',\n      pagesize: '/page',\n      total: 'Total {total}',\n      pageClassifier: ''\n    },\n    messagebox: {\n      title: 'Message',\n      confirm: 'OK',\n      cancel: 'Cancel',\n      error: 'Illegal input'\n    },\n    upload: {\n      deleteTip: 'press delete to remove',\n      delete: 'Delete',\n      preview: 'Preview',\n      continue: 'Continue'\n    },\n    table: {\n      emptyText: 'No Data',\n      confirmFilter: 'Confirm',\n      resetFilter: 'Reset',\n      clearFilter: 'All',\n      sumText: 'Sum'\n    },\n    tree: {\n      emptyText: 'No Data'\n    },\n    transfer: {\n      noMatch: 'No matching data',\n      noData: 'No data',\n      titles: ['List 1', 'List 2'],\n      // to be translated\n      filterPlaceholder: 'Enter keyword',\n      // to be translated\n      noCheckedFormat: '{total} items',\n      // to be translated\n      hasCheckedFormat: '{checked}/{total} checked' // to be translated\n\n    },\n    image: {\n      error: 'FAILED'\n    },\n    pageHeader: {\n      title: 'Back' // to be translated\n\n    },\n    popconfirm: {\n      confirmButtonText: 'Yes',\n      cancelButtonText: 'No'\n    },\n    empty: {\n      description: 'No Data'\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/locale/lang/en.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/locale/lang/zh-CN.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/lib/locale/lang/zh-CN.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\nexports.default = {\n  el: {\n    colorpicker: {\n      confirm: '确定',\n      clear: '清空'\n    },\n    datepicker: {\n      now: '此刻',\n      today: '今天',\n      cancel: '取消',\n      clear: '清空',\n      confirm: '确定',\n      selectDate: '选择日期',\n      selectTime: '选择时间',\n      startDate: '开始日期',\n      startTime: '开始时间',\n      endDate: '结束日期',\n      endTime: '结束时间',\n      prevYear: '前一年',\n      nextYear: '后一年',\n      prevMonth: '上个月',\n      nextMonth: '下个月',\n      year: '年',\n      month1: '1 月',\n      month2: '2 月',\n      month3: '3 月',\n      month4: '4 月',\n      month5: '5 月',\n      month6: '6 月',\n      month7: '7 月',\n      month8: '8 月',\n      month9: '9 月',\n      month10: '10 月',\n      month11: '11 月',\n      month12: '12 月',\n      // week: '周次',\n      weeks: {\n        sun: '日',\n        mon: '一',\n        tue: '二',\n        wed: '三',\n        thu: '四',\n        fri: '五',\n        sat: '六'\n      },\n      months: {\n        jan: '一月',\n        feb: '二月',\n        mar: '三月',\n        apr: '四月',\n        may: '五月',\n        jun: '六月',\n        jul: '七月',\n        aug: '八月',\n        sep: '九月',\n        oct: '十月',\n        nov: '十一月',\n        dec: '十二月'\n      }\n    },\n    select: {\n      loading: '加载中',\n      noMatch: '无匹配数据',\n      noData: '无数据',\n      placeholder: '请选择'\n    },\n    cascader: {\n      noMatch: '无匹配数据',\n      loading: '加载中',\n      placeholder: '请选择',\n      noData: '暂无数据'\n    },\n    pagination: {\n      goto: '前往',\n      pagesize: '条/页',\n      total: '共 {total} 条',\n      pageClassifier: '页'\n    },\n    messagebox: {\n      title: '提示',\n      confirm: '确定',\n      cancel: '取消',\n      error: '输入的数据不合法!'\n    },\n    upload: {\n      deleteTip: '按 delete 键可删除',\n      delete: '删除',\n      preview: '查看图片',\n      continue: '继续上传'\n    },\n    table: {\n      emptyText: '暂无数据',\n      confirmFilter: '筛选',\n      resetFilter: '重置',\n      clearFilter: '全部',\n      sumText: '合计'\n    },\n    tree: {\n      emptyText: '暂无数据'\n    },\n    transfer: {\n      noMatch: '无匹配数据',\n      noData: '无数据',\n      titles: ['列表 1', '列表 2'],\n      filterPlaceholder: '请输入搜索内容',\n      noCheckedFormat: '共 {total} 项',\n      hasCheckedFormat: '已选 {checked}/{total} 项'\n    },\n    image: {\n      error: '加载失败'\n    },\n    pageHeader: {\n      title: '返回'\n    },\n    popconfirm: {\n      confirmButtonText: '确定',\n      cancelButtonText: '取消'\n    },\n    empty: {\n      description: '暂无数据'\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/locale/lang/zh-CN.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/locale/lang/zh-TW.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/lib/locale/lang/zh-TW.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\nexports.default = {\n  el: {\n    colorpicker: {\n      confirm: '確認',\n      clear: '清空'\n    },\n    datepicker: {\n      now: '現在',\n      today: '今天',\n      cancel: '取消',\n      clear: '清空',\n      confirm: '確認',\n      selectDate: '選擇日期',\n      selectTime: '選擇時間',\n      startDate: '開始日期',\n      startTime: '開始時間',\n      endDate: '結束日期',\n      endTime: '結束時間',\n      prevYear: '前一年',\n      nextYear: '後一年',\n      prevMonth: '上個月',\n      nextMonth: '下個月',\n      year: '年',\n      month1: '1 月',\n      month2: '2 月',\n      month3: '3 月',\n      month4: '4 月',\n      month5: '5 月',\n      month6: '6 月',\n      month7: '7 月',\n      month8: '8 月',\n      month9: '9 月',\n      month10: '10 月',\n      month11: '11 月',\n      month12: '12 月',\n      // week: '周次',\n      weeks: {\n        sun: '日',\n        mon: '一',\n        tue: '二',\n        wed: '三',\n        thu: '四',\n        fri: '五',\n        sat: '六'\n      },\n      months: {\n        jan: '一月',\n        feb: '二月',\n        mar: '三月',\n        apr: '四月',\n        may: '五月',\n        jun: '六月',\n        jul: '七月',\n        aug: '八月',\n        sep: '九月',\n        oct: '十月',\n        nov: '十一月',\n        dec: '十二月'\n      }\n    },\n    select: {\n      loading: '加載中',\n      noMatch: '無匹配資料',\n      noData: '無資料',\n      placeholder: '請選擇'\n    },\n    cascader: {\n      noMatch: '無匹配資料',\n      loading: '加載中',\n      placeholder: '請選擇',\n      noData: '無資料'\n    },\n    pagination: {\n      goto: '前往',\n      pagesize: '項/頁',\n      total: '共 {total} 項',\n      pageClassifier: '頁'\n    },\n    messagebox: {\n      title: '提示',\n      confirm: '確定',\n      cancel: '取消',\n      error: '輸入的資料不符規定!'\n    },\n    upload: {\n      deleteTip: '按 delete 鍵可刪除',\n      delete: '刪除',\n      preview: '查看圖片',\n      continue: '繼續上傳'\n    },\n    table: {\n      emptyText: '暫無資料',\n      confirmFilter: '篩選',\n      resetFilter: '重置',\n      clearFilter: '全部',\n      sumText: 'Sum' // to be translated\n\n    },\n    tree: {\n      emptyText: '暫無資料'\n    },\n    transfer: {\n      noMatch: '無匹配資料',\n      noData: '無資料',\n      titles: ['List 1', 'List 2'],\n      // to be translated\n      filterPlaceholder: 'Enter keyword',\n      // to be translated\n      noCheckedFormat: '{total} items',\n      // to be translated\n      hasCheckedFormat: '{checked}/{total} checked' // to be translated\n\n    },\n    image: {\n      error: '加載失敗'\n    },\n    pageHeader: {\n      title: '返回'\n    },\n    popconfirm: {\n      confirmButtonText: 'Yes',\n      // to be translated\n      cancelButtonText: 'No' // to be translated\n\n    },\n    empty: {\n      description: '暫無資料'\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/locale/lang/zh-TW.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/mixins/emitter.js":
/*!*******************************************************!*\
  !*** ./node_modules/element-ui/lib/mixins/emitter.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\nexports.__esModule = true;\n\nfunction _broadcast(componentName, eventName, params) {\n  this.$children.forEach(function (child) {\n    var name = child.$options.componentName;\n\n    if (name === componentName) {\n      child.$emit.apply(child, [eventName].concat(params));\n    } else {\n      _broadcast.apply(child, [componentName, eventName].concat([params]));\n    }\n  });\n}\n\nexports.default = {\n  methods: {\n    dispatch: function dispatch(componentName, eventName, params) {\n      var parent = this.$parent || this.$root;\n      var name = parent.$options.componentName;\n\n      while (parent && (!name || name !== componentName)) {\n        parent = parent.$parent;\n\n        if (parent) {\n          name = parent.$options.componentName;\n        }\n      }\n\n      if (parent) {\n        parent.$emit.apply(parent, [eventName].concat(params));\n      }\n    },\n    broadcast: function broadcast(componentName, eventName, params) {\n      _broadcast.call(this, componentName, eventName, params);\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/mixins/emitter.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/mixins/focus.js":
/*!*****************************************************!*\
  !*** ./node_modules/element-ui/lib/mixins/focus.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\n\nexports.default = function (ref) {\n  return {\n    methods: {\n      focus: function focus() {\n        this.$refs[ref].focus();\n      }\n    }\n  };\n};\n\n;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/mixins/focus.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/mixins/locale.js":
/*!******************************************************!*\
  !*** ./node_modules/element-ui/lib/mixins/locale.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\n\nvar _locale = __webpack_require__(/*! element-ui/lib/locale */ \"./node_modules/element-ui/lib/locale/index.js\");\n\nexports.default = {\n  methods: {\n    t: function t() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return _locale.t.apply(this, args);\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/mixins/locale.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/mixins/migrating.js":
/*!*********************************************************!*\
  !*** ./node_modules/element-ui/lib/mixins/migrating.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nexports.__esModule = true;\n\nvar _util = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n/**\n * Show migrating guide in browser console.\n *\n * Usage:\n * import Migrating from 'element-ui/src/mixins/migrating';\n *\n * mixins: [Migrating]\n *\n * add getMigratingConfig method for your component.\n *  getMigratingConfig() {\n *    return {\n *      props: {\n *        'allow-no-selection': 'allow-no-selection is removed.',\n *        'selection-mode': 'selection-mode is removed.'\n *      },\n *      events: {\n *        selectionchange: 'selectionchange is renamed to selection-change.'\n *      }\n *    };\n *  },\n */\n\n\nexports.default = {\n  mounted: function mounted() {\n    if (false) {}\n    if (!this.$vnode) return;\n\n    var _getMigratingConfig = this.getMigratingConfig(),\n        _getMigratingConfig$p = _getMigratingConfig.props,\n        props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p,\n        _getMigratingConfig$e = _getMigratingConfig.events,\n        events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e;\n\n    var _$vnode = this.$vnode,\n        data = _$vnode.data,\n        componentOptions = _$vnode.componentOptions;\n    var definedProps = data.attrs || {};\n    var definedEvents = componentOptions.listeners || {};\n\n    for (var propName in definedProps) {\n      propName = (0, _util.kebabCase)(propName); // compatible with camel case\n\n      if (props[propName]) {\n        console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]);\n      }\n    }\n\n    for (var eventName in definedEvents) {\n      eventName = (0, _util.kebabCase)(eventName); // compatible with camel case\n\n      if (events[eventName]) {\n        console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]);\n      }\n    }\n  },\n  methods: {\n    getMigratingConfig: function getMigratingConfig() {\n      return {\n        props: {},\n        events: {}\n      };\n    }\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/mixins/migrating.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/option.js":
/*!***********************************************!*\
  !*** ./node_modules/element-ui/lib/option.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.dot-all.js */ \"./node_modules/core-js/modules/es.regexp.dot-all.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.sticky.js */ \"./node_modules/core-js/modules/es.regexp.sticky.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof2(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 53);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  3:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n    /***/\n  },\n\n  /***/\n  33:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\"; // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"li\", {\n        directives: [{\n          name: \"show\",\n          rawName: \"v-show\",\n          value: _vm.visible,\n          expression: \"visible\"\n        }],\n        staticClass: \"el-select-dropdown__item\",\n        class: {\n          selected: _vm.itemSelected,\n          \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n          hover: _vm.hover\n        },\n        on: {\n          mouseenter: _vm.hoverItem,\n          click: function click($event) {\n            $event.stopPropagation();\n            return _vm.selectOptionClick($event);\n          }\n        }\n      }, [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])], 2);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\n\n\n    var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n      return _typeof2(obj);\n    } : function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n    }; //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var optionvue_type_script_lang_js_ = {\n      mixins: [emitter_default.a],\n      name: 'ElOption',\n      componentName: 'ElOption',\n      inject: ['select'],\n      props: {\n        value: {\n          required: true\n        },\n        label: [String, Number],\n        created: Boolean,\n        disabled: {\n          type: Boolean,\n          default: false\n        }\n      },\n      data: function data() {\n        return {\n          index: -1,\n          groupDisabled: false,\n          visible: true,\n          hitState: false,\n          hover: false\n        };\n      },\n      computed: {\n        isObject: function isObject() {\n          return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n        },\n        currentLabel: function currentLabel() {\n          return this.label || (this.isObject ? '' : this.value);\n        },\n        currentValue: function currentValue() {\n          return this.value || this.label || '';\n        },\n        itemSelected: function itemSelected() {\n          if (!this.select.multiple) {\n            return this.isEqual(this.value, this.select.value);\n          } else {\n            return this.contains(this.select.value, this.value);\n          }\n        },\n        limitReached: function limitReached() {\n          if (this.select.multiple) {\n            return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n          } else {\n            return false;\n          }\n        }\n      },\n      watch: {\n        currentLabel: function currentLabel() {\n          if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n        },\n        value: function value(val, oldVal) {\n          var _select = this.select,\n              remote = _select.remote,\n              valueKey = _select.valueKey;\n\n          if (!this.created && !remote) {\n            if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n              return;\n            }\n\n            this.dispatch('ElSelect', 'setSelected');\n          }\n        }\n      },\n      methods: {\n        isEqual: function isEqual(a, b) {\n          if (!this.isObject) {\n            return a === b;\n          } else {\n            var valueKey = this.select.valueKey;\n            return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n          }\n        },\n        contains: function contains() {\n          var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n          var target = arguments[1];\n\n          if (!this.isObject) {\n            return arr && arr.indexOf(target) > -1;\n          } else {\n            var valueKey = this.select.valueKey;\n            return arr && arr.some(function (item) {\n              return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n            });\n          }\n        },\n        handleGroupDisabled: function handleGroupDisabled(val) {\n          this.groupDisabled = val;\n        },\n        hoverItem: function hoverItem() {\n          if (!this.disabled && !this.groupDisabled) {\n            this.select.hoverIndex = this.select.options.indexOf(this);\n          }\n        },\n        selectOptionClick: function selectOptionClick() {\n          if (this.disabled !== true && this.groupDisabled !== true) {\n            this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n          }\n        },\n        queryChange: function queryChange(query) {\n          this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n\n          if (!this.visible) {\n            this.select.filteredOptionsCount--;\n          }\n        }\n      },\n      created: function created() {\n        this.select.options.push(this);\n        this.select.cachedOptions.push(this);\n        this.select.optionsCount++;\n        this.select.filteredOptionsCount++;\n        this.$on('queryChange', this.queryChange);\n        this.$on('handleGroupDisabled', this.handleGroupDisabled);\n      },\n      beforeDestroy: function beforeDestroy() {\n        var _select2 = this.select,\n            selected = _select2.selected,\n            multiple = _select2.multiple;\n        var selectedOptions = multiple ? selected : [selected];\n        var index = this.select.cachedOptions.indexOf(this);\n        var selectedIndex = selectedOptions.indexOf(this); // if option is not selected, remove it from cache\n\n        if (index > -1 && selectedIndex < 0) {\n          this.select.cachedOptions.splice(index, 1);\n        }\n\n        this.select.onOptionDestroy(this.select.options.indexOf(this));\n      }\n    }; // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_optionvue_type_script_lang_js_ = optionvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/select/src/option.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_optionvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/select/src/option.vue\";\n    /* harmony default export */\n\n    var src_option = __webpack_exports__[\"a\"] = component.exports;\n    /***/\n  },\n\n  /***/\n  4:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");\n    /***/\n  },\n\n  /***/\n  53:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__);\n    /* harmony import */\n\n\n    var _select_src_option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33);\n    /* istanbul ignore next */\n\n\n    _select_src_option__WEBPACK_IMPORTED_MODULE_0__[\n    /* default */\n    \"a\"].install = function (Vue) {\n      Vue.component(_select_src_option__WEBPACK_IMPORTED_MODULE_0__[\n      /* default */\n      \"a\"].name, _select_src_option__WEBPACK_IMPORTED_MODULE_0__[\n      /* default */\n      \"a\"]);\n    };\n    /* harmony default export */\n\n\n    __webpack_exports__[\"default\"] = _select_src_option__WEBPACK_IMPORTED_MODULE_0__[\n    /* default */\n    \"a\"];\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/option.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/popover.js":
/*!************************************************!*\
  !*** ./node_modules/element-ui/lib/popover.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 77);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  2:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n    /***/\n  },\n\n  /***/\n  3:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n    /***/\n  },\n\n  /***/\n  5:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/vue-popper */ \"./node_modules/element-ui/lib/utils/vue-popper.js\");\n    /***/\n  },\n\n  /***/\n  7:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n    /***/\n  },\n\n  /***/\n  77:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=template&id=52060272&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"span\", [_c(\"transition\", {\n        attrs: {\n          name: _vm.transition\n        },\n        on: {\n          \"after-enter\": _vm.handleAfterEnter,\n          \"after-leave\": _vm.handleAfterLeave\n        }\n      }, [_c(\"div\", {\n        directives: [{\n          name: \"show\",\n          rawName: \"v-show\",\n          value: !_vm.disabled && _vm.showPopper,\n          expression: \"!disabled && showPopper\"\n        }],\n        ref: \"popper\",\n        staticClass: \"el-popover el-popper\",\n        class: [_vm.popperClass, _vm.content && \"el-popover--plain\"],\n        style: {\n          width: _vm.width + \"px\"\n        },\n        attrs: {\n          role: \"tooltip\",\n          id: _vm.tooltipId,\n          \"aria-hidden\": _vm.disabled || !_vm.showPopper ? \"true\" : \"false\"\n        }\n      }, [_vm.title ? _c(\"div\", {\n        staticClass: \"el-popover__title\",\n        domProps: {\n          textContent: _vm._s(_vm.title)\n        }\n      }) : _vm._e(), _vm._t(\"default\", [_vm._v(_vm._s(_vm.content))])], 2)]), _c(\"span\", {\n        ref: \"wrapper\",\n        staticClass: \"el-popover__reference-wrapper\"\n      }, [_vm._t(\"reference\")], 2)], 1);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272&\n    // EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\n\n    var vue_popper_ = __webpack_require__(5);\n\n    var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); // EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\n\n\n    var dom_ = __webpack_require__(2); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var mainvue_type_script_lang_js_ = {\n      name: 'ElPopover',\n      mixins: [vue_popper_default.a],\n      props: {\n        trigger: {\n          type: String,\n          default: 'click',\n          validator: function validator(value) {\n            return ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1;\n          }\n        },\n        openDelay: {\n          type: Number,\n          default: 0\n        },\n        closeDelay: {\n          type: Number,\n          default: 200\n        },\n        title: String,\n        disabled: Boolean,\n        content: String,\n        reference: {},\n        popperClass: String,\n        width: {},\n        visibleArrow: {\n          default: true\n        },\n        arrowOffset: {\n          type: Number,\n          default: 0\n        },\n        transition: {\n          type: String,\n          default: 'fade-in-linear'\n        },\n        tabindex: {\n          type: Number,\n          default: 0\n        }\n      },\n      computed: {\n        tooltipId: function tooltipId() {\n          return 'el-popover-' + Object(util_[\"generateId\"])();\n        }\n      },\n      watch: {\n        showPopper: function showPopper(val) {\n          if (this.disabled) {\n            return;\n          }\n\n          val ? this.$emit('show') : this.$emit('hide');\n        }\n      },\n      mounted: function mounted() {\n        var _this = this;\n\n        var reference = this.referenceElm = this.reference || this.$refs.reference;\n        var popper = this.popper || this.$refs.popper;\n\n        if (!reference && this.$refs.wrapper.children) {\n          reference = this.referenceElm = this.$refs.wrapper.children[0];\n        } // 可访问性\n\n\n        if (reference) {\n          Object(dom_[\"addClass\"])(reference, 'el-popover__reference');\n          reference.setAttribute('aria-describedby', this.tooltipId);\n          reference.setAttribute('tabindex', this.tabindex); // tab序列\n\n          popper.setAttribute('tabindex', 0);\n\n          if (this.trigger !== 'click') {\n            Object(dom_[\"on\"])(reference, 'focusin', function () {\n              _this.handleFocus();\n\n              var instance = reference.__vue__;\n\n              if (instance && typeof instance.focus === 'function') {\n                instance.focus();\n              }\n            });\n            Object(dom_[\"on\"])(popper, 'focusin', this.handleFocus);\n            Object(dom_[\"on\"])(reference, 'focusout', this.handleBlur);\n            Object(dom_[\"on\"])(popper, 'focusout', this.handleBlur);\n          }\n\n          Object(dom_[\"on\"])(reference, 'keydown', this.handleKeydown);\n          Object(dom_[\"on\"])(reference, 'click', this.handleClick);\n        }\n\n        if (this.trigger === 'click') {\n          Object(dom_[\"on\"])(reference, 'click', this.doToggle);\n          Object(dom_[\"on\"])(document, 'click', this.handleDocumentClick);\n        } else if (this.trigger === 'hover') {\n          Object(dom_[\"on\"])(reference, 'mouseenter', this.handleMouseEnter);\n          Object(dom_[\"on\"])(popper, 'mouseenter', this.handleMouseEnter);\n          Object(dom_[\"on\"])(reference, 'mouseleave', this.handleMouseLeave);\n          Object(dom_[\"on\"])(popper, 'mouseleave', this.handleMouseLeave);\n        } else if (this.trigger === 'focus') {\n          if (this.tabindex < 0) {\n            console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key');\n          }\n\n          if (reference.querySelector('input, textarea')) {\n            Object(dom_[\"on\"])(reference, 'focusin', this.doShow);\n            Object(dom_[\"on\"])(reference, 'focusout', this.doClose);\n          } else {\n            Object(dom_[\"on\"])(reference, 'mousedown', this.doShow);\n            Object(dom_[\"on\"])(reference, 'mouseup', this.doClose);\n          }\n        }\n      },\n      beforeDestroy: function beforeDestroy() {\n        this.cleanup();\n      },\n      deactivated: function deactivated() {\n        this.cleanup();\n      },\n      methods: {\n        doToggle: function doToggle() {\n          this.showPopper = !this.showPopper;\n        },\n        doShow: function doShow() {\n          this.showPopper = true;\n        },\n        doClose: function doClose() {\n          this.showPopper = false;\n        },\n        handleFocus: function handleFocus() {\n          Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n          if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true;\n        },\n        handleClick: function handleClick() {\n          Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n        },\n        handleBlur: function handleBlur() {\n          Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n          if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false;\n        },\n        handleMouseEnter: function handleMouseEnter() {\n          var _this2 = this;\n\n          clearTimeout(this._timer);\n\n          if (this.openDelay) {\n            this._timer = setTimeout(function () {\n              _this2.showPopper = true;\n            }, this.openDelay);\n          } else {\n            this.showPopper = true;\n          }\n        },\n        handleKeydown: function handleKeydown(ev) {\n          if (ev.keyCode === 27 && this.trigger !== 'manual') {\n            // esc\n            this.doClose();\n          }\n        },\n        handleMouseLeave: function handleMouseLeave() {\n          var _this3 = this;\n\n          clearTimeout(this._timer);\n\n          if (this.closeDelay) {\n            this._timer = setTimeout(function () {\n              _this3.showPopper = false;\n            }, this.closeDelay);\n          } else {\n            this.showPopper = false;\n          }\n        },\n        handleDocumentClick: function handleDocumentClick(e) {\n          var reference = this.reference || this.$refs.reference;\n          var popper = this.popper || this.$refs.popper;\n\n          if (!reference && this.$refs.wrapper.children) {\n            reference = this.referenceElm = this.$refs.wrapper.children[0];\n          }\n\n          if (!this.$el || !reference || this.$el.contains(e.target) || reference.contains(e.target) || !popper || popper.contains(e.target)) return;\n          this.showPopper = false;\n        },\n        handleAfterEnter: function handleAfterEnter() {\n          this.$emit('after-enter');\n        },\n        handleAfterLeave: function handleAfterLeave() {\n          this.$emit('after-leave');\n          this.doDestroy();\n        },\n        cleanup: function cleanup() {\n          if (this.openDelay || this.closeDelay) {\n            clearTimeout(this._timer);\n          }\n        }\n      },\n      destroyed: function destroyed() {\n        var reference = this.reference;\n        Object(dom_[\"off\"])(reference, 'click', this.doToggle);\n        Object(dom_[\"off\"])(reference, 'mouseup', this.doClose);\n        Object(dom_[\"off\"])(reference, 'mousedown', this.doShow);\n        Object(dom_[\"off\"])(reference, 'focusin', this.doShow);\n        Object(dom_[\"off\"])(reference, 'focusout', this.doClose);\n        Object(dom_[\"off\"])(reference, 'mousedown', this.doShow);\n        Object(dom_[\"off\"])(reference, 'mouseup', this.doClose);\n        Object(dom_[\"off\"])(reference, 'mouseleave', this.handleMouseLeave);\n        Object(dom_[\"off\"])(reference, 'mouseenter', this.handleMouseEnter);\n        Object(dom_[\"off\"])(document, 'click', this.handleDocumentClick);\n      }\n    }; // CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_mainvue_type_script_lang_js_ = mainvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/popover/src/main.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_mainvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/popover/src/main.vue\";\n    /* harmony default export */\n\n    var main = component.exports; // CONCATENATED MODULE: ./packages/popover/src/directive.js\n\n    var getReference = function getReference(el, binding, vnode) {\n      var _ref = binding.expression ? binding.value : binding.arg;\n\n      var popper = vnode.context.$refs[_ref];\n\n      if (popper) {\n        if (Array.isArray(popper)) {\n          popper[0].$refs.reference = el;\n        } else {\n          popper.$refs.reference = el;\n        }\n      }\n    };\n    /* harmony default export */\n\n\n    var directive = {\n      bind: function bind(el, binding, vnode) {\n        getReference(el, binding, vnode);\n      },\n      inserted: function inserted(el, binding, vnode) {\n        getReference(el, binding, vnode);\n      }\n    }; // EXTERNAL MODULE: external \"vue\"\n\n    var external_vue_ = __webpack_require__(7);\n\n    var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); // CONCATENATED MODULE: ./packages/popover/index.js\n\n\n    external_vue_default.a.directive('popover', directive);\n    /* istanbul ignore next */\n\n    main.install = function (Vue) {\n      Vue.directive('popover', directive);\n      Vue.component(main.name, main);\n    };\n\n    main.directive = directive;\n    /* harmony default export */\n\n    var popover = __webpack_exports__[\"default\"] = main;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/popover.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/progress.js":
/*!*************************************************!*\
  !*** ./node_modules/element-ui/lib/progress.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 103);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  103:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        staticClass: \"el-progress\",\n        class: [\"el-progress--\" + _vm.type, _vm.status ? \"is-\" + _vm.status : \"\", {\n          \"el-progress--without-text\": !_vm.showText,\n          \"el-progress--text-inside\": _vm.textInside\n        }],\n        attrs: {\n          role: \"progressbar\",\n          \"aria-valuenow\": _vm.percentage,\n          \"aria-valuemin\": \"0\",\n          \"aria-valuemax\": \"100\"\n        }\n      }, [_vm.type === \"line\" ? _c(\"div\", {\n        staticClass: \"el-progress-bar\"\n      }, [_c(\"div\", {\n        staticClass: \"el-progress-bar__outer\",\n        style: {\n          height: _vm.strokeWidth + \"px\"\n        }\n      }, [_c(\"div\", {\n        staticClass: \"el-progress-bar__inner\",\n        style: _vm.barStyle\n      }, [_vm.showText && _vm.textInside ? _c(\"div\", {\n        staticClass: \"el-progress-bar__innerText\"\n      }, [_vm._v(_vm._s(_vm.content))]) : _vm._e()])])]) : _c(\"div\", {\n        staticClass: \"el-progress-circle\",\n        style: {\n          height: _vm.width + \"px\",\n          width: _vm.width + \"px\"\n        }\n      }, [_c(\"svg\", {\n        attrs: {\n          viewBox: \"0 0 100 100\"\n        }\n      }, [_c(\"path\", {\n        staticClass: \"el-progress-circle__track\",\n        style: _vm.trailPathStyle,\n        attrs: {\n          d: _vm.trackPath,\n          stroke: \"#e5e9f2\",\n          \"stroke-width\": _vm.relativeStrokeWidth,\n          fill: \"none\"\n        }\n      }), _c(\"path\", {\n        staticClass: \"el-progress-circle__path\",\n        style: _vm.circlePathStyle,\n        attrs: {\n          d: _vm.trackPath,\n          stroke: _vm.stroke,\n          fill: \"none\",\n          \"stroke-linecap\": _vm.strokeLinecap,\n          \"stroke-width\": _vm.percentage ? _vm.relativeStrokeWidth : 0\n        }\n      })])]), _vm.showText && !_vm.textInside ? _c(\"div\", {\n        staticClass: \"el-progress__text\",\n        style: {\n          fontSize: _vm.progressTextSize + \"px\"\n        }\n      }, [!_vm.status ? [_vm._v(_vm._s(_vm.content))] : _c(\"i\", {\n        class: _vm.iconClass\n      })], 2) : _vm._e()]);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\n    // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n    var progressvue_type_script_lang_js_ = {\n      name: 'ElProgress',\n      props: {\n        type: {\n          type: String,\n          default: 'line',\n          validator: function validator(val) {\n            return ['line', 'circle', 'dashboard'].indexOf(val) > -1;\n          }\n        },\n        percentage: {\n          type: Number,\n          default: 0,\n          required: true,\n          validator: function validator(val) {\n            return val >= 0 && val <= 100;\n          }\n        },\n        status: {\n          type: String,\n          validator: function validator(val) {\n            return ['success', 'exception', 'warning'].indexOf(val) > -1;\n          }\n        },\n        strokeWidth: {\n          type: Number,\n          default: 6\n        },\n        strokeLinecap: {\n          type: String,\n          default: 'round'\n        },\n        textInside: {\n          type: Boolean,\n          default: false\n        },\n        width: {\n          type: Number,\n          default: 126\n        },\n        showText: {\n          type: Boolean,\n          default: true\n        },\n        color: {\n          type: [String, Array, Function],\n          default: ''\n        },\n        format: Function\n      },\n      computed: {\n        barStyle: function barStyle() {\n          var style = {};\n          style.width = this.percentage + '%';\n          style.backgroundColor = this.getCurrentColor(this.percentage);\n          return style;\n        },\n        relativeStrokeWidth: function relativeStrokeWidth() {\n          return (this.strokeWidth / this.width * 100).toFixed(1);\n        },\n        radius: function radius() {\n          if (this.type === 'circle' || this.type === 'dashboard') {\n            return parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10);\n          } else {\n            return 0;\n          }\n        },\n        trackPath: function trackPath() {\n          var radius = this.radius;\n          var isDashboard = this.type === 'dashboard';\n          return '\\n        M 50 50\\n        m 0 ' + (isDashboard ? '' : '-') + radius + '\\n        a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '-' : '') + radius * 2 + '\\n        a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '' : '-') + radius * 2 + '\\n        ';\n        },\n        perimeter: function perimeter() {\n          return 2 * Math.PI * this.radius;\n        },\n        rate: function rate() {\n          return this.type === 'dashboard' ? 0.75 : 1;\n        },\n        strokeDashoffset: function strokeDashoffset() {\n          var offset = -1 * this.perimeter * (1 - this.rate) / 2;\n          return offset + 'px';\n        },\n        trailPathStyle: function trailPathStyle() {\n          return {\n            strokeDasharray: this.perimeter * this.rate + 'px, ' + this.perimeter + 'px',\n            strokeDashoffset: this.strokeDashoffset\n          };\n        },\n        circlePathStyle: function circlePathStyle() {\n          return {\n            strokeDasharray: this.perimeter * this.rate * (this.percentage / 100) + 'px, ' + this.perimeter + 'px',\n            strokeDashoffset: this.strokeDashoffset,\n            transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease'\n          };\n        },\n        stroke: function stroke() {\n          var ret = void 0;\n\n          if (this.color) {\n            ret = this.getCurrentColor(this.percentage);\n          } else {\n            switch (this.status) {\n              case 'success':\n                ret = '#13ce66';\n                break;\n\n              case 'exception':\n                ret = '#ff4949';\n                break;\n\n              case 'warning':\n                ret = '#e6a23c';\n                break;\n\n              default:\n                ret = '#20a0ff';\n            }\n          }\n\n          return ret;\n        },\n        iconClass: function iconClass() {\n          if (this.status === 'warning') {\n            return 'el-icon-warning';\n          }\n\n          if (this.type === 'line') {\n            return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-close';\n          } else {\n            return this.status === 'success' ? 'el-icon-check' : 'el-icon-close';\n          }\n        },\n        progressTextSize: function progressTextSize() {\n          return this.type === 'line' ? 12 + this.strokeWidth * 0.4 : this.width * 0.111111 + 2;\n        },\n        content: function content() {\n          if (typeof this.format === 'function') {\n            return this.format(this.percentage) || '';\n          } else {\n            return this.percentage + '%';\n          }\n        }\n      },\n      methods: {\n        getCurrentColor: function getCurrentColor(percentage) {\n          if (typeof this.color === 'function') {\n            return this.color(percentage);\n          } else if (typeof this.color === 'string') {\n            return this.color;\n          } else {\n            return this.getLevelColor(percentage);\n          }\n        },\n        getLevelColor: function getLevelColor(percentage) {\n          var colorArray = this.getColorArray().sort(function (a, b) {\n            return a.percentage - b.percentage;\n          });\n\n          for (var i = 0; i < colorArray.length; i++) {\n            if (colorArray[i].percentage > percentage) {\n              return colorArray[i].color;\n            }\n          }\n\n          return colorArray[colorArray.length - 1].color;\n        },\n        getColorArray: function getColorArray() {\n          var color = this.color;\n          var span = 100 / color.length;\n          return color.map(function (seriesColor, index) {\n            if (typeof seriesColor === 'string') {\n              return {\n                color: seriesColor,\n                percentage: (index + 1) * span\n              };\n            }\n\n            return seriesColor;\n          });\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_progressvue_type_script_lang_js_ = progressvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/progress/src/progress.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_progressvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/progress/src/progress.vue\";\n    /* harmony default export */\n\n    var progress = component.exports; // CONCATENATED MODULE: ./packages/progress/index.js\n\n    /* istanbul ignore next */\n\n    progress.install = function (Vue) {\n      Vue.component(progress.name, progress);\n    };\n    /* harmony default export */\n\n\n    var packages_progress = __webpack_exports__[\"default\"] = progress;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/progress.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/radio.js":
/*!**********************************************!*\
  !*** ./node_modules/element-ui/lib/radio.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 87);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  4:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");\n    /***/\n  },\n\n  /***/\n  87:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=template&id=69cd6268&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"label\", {\n        staticClass: \"el-radio\",\n        class: [_vm.border && _vm.radioSize ? \"el-radio--\" + _vm.radioSize : \"\", {\n          \"is-disabled\": _vm.isDisabled\n        }, {\n          \"is-focus\": _vm.focus\n        }, {\n          \"is-bordered\": _vm.border\n        }, {\n          \"is-checked\": _vm.model === _vm.label\n        }],\n        attrs: {\n          role: \"radio\",\n          \"aria-checked\": _vm.model === _vm.label,\n          \"aria-disabled\": _vm.isDisabled,\n          tabindex: _vm.tabIndex\n        },\n        on: {\n          keydown: function keydown($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])) {\n              return null;\n            }\n\n            $event.stopPropagation();\n            $event.preventDefault();\n            _vm.model = _vm.isDisabled ? _vm.model : _vm.label;\n          }\n        }\n      }, [_c(\"span\", {\n        staticClass: \"el-radio__input\",\n        class: {\n          \"is-disabled\": _vm.isDisabled,\n          \"is-checked\": _vm.model === _vm.label\n        }\n      }, [_c(\"span\", {\n        staticClass: \"el-radio__inner\"\n      }), _c(\"input\", {\n        directives: [{\n          name: \"model\",\n          rawName: \"v-model\",\n          value: _vm.model,\n          expression: \"model\"\n        }],\n        ref: \"radio\",\n        staticClass: \"el-radio__original\",\n        attrs: {\n          type: \"radio\",\n          \"aria-hidden\": \"true\",\n          name: _vm.name,\n          disabled: _vm.isDisabled,\n          tabindex: \"-1\",\n          autocomplete: \"off\"\n        },\n        domProps: {\n          value: _vm.label,\n          checked: _vm._q(_vm.model, _vm.label)\n        },\n        on: {\n          focus: function focus($event) {\n            _vm.focus = true;\n          },\n          blur: function blur($event) {\n            _vm.focus = false;\n          },\n          change: [function ($event) {\n            _vm.model = _vm.label;\n          }, _vm.handleChange]\n        }\n      })]), _c(\"span\", {\n        staticClass: \"el-radio__label\",\n        on: {\n          keydown: function keydown($event) {\n            $event.stopPropagation();\n          }\n        }\n      }, [_vm._t(\"default\"), !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e()], 2)]);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=template&id=69cd6268&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var radiovue_type_script_lang_js_ = {\n      name: 'ElRadio',\n      mixins: [emitter_default.a],\n      inject: {\n        elForm: {\n          default: ''\n        },\n        elFormItem: {\n          default: ''\n        }\n      },\n      componentName: 'ElRadio',\n      props: {\n        value: {},\n        label: {},\n        disabled: Boolean,\n        name: String,\n        border: Boolean,\n        size: String\n      },\n      data: function data() {\n        return {\n          focus: false\n        };\n      },\n      computed: {\n        isGroup: function isGroup() {\n          var parent = this.$parent;\n\n          while (parent) {\n            if (parent.$options.componentName !== 'ElRadioGroup') {\n              parent = parent.$parent;\n            } else {\n              this._radioGroup = parent;\n              return true;\n            }\n          }\n\n          return false;\n        },\n        model: {\n          get: function get() {\n            return this.isGroup ? this._radioGroup.value : this.value;\n          },\n          set: function set(val) {\n            if (this.isGroup) {\n              this.dispatch('ElRadioGroup', 'input', [val]);\n            } else {\n              this.$emit('input', val);\n            }\n\n            this.$refs.radio && (this.$refs.radio.checked = this.model === this.label);\n          }\n        },\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        radioSize: function radioSize() {\n          var temRadioSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n          return this.isGroup ? this._radioGroup.radioGroupSize || temRadioSize : temRadioSize;\n        },\n        isDisabled: function isDisabled() {\n          return this.isGroup ? this._radioGroup.disabled || this.disabled || (this.elForm || {}).disabled : this.disabled || (this.elForm || {}).disabled;\n        },\n        tabIndex: function tabIndex() {\n          return this.isDisabled || this.isGroup && this.model !== this.label ? -1 : 0;\n        }\n      },\n      methods: {\n        handleChange: function handleChange() {\n          var _this = this;\n\n          this.$nextTick(function () {\n            _this.$emit('change', _this.model);\n\n            _this.isGroup && _this.dispatch('ElRadioGroup', 'handleChange', _this.model);\n          });\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_radiovue_type_script_lang_js_ = radiovue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/radio/src/radio.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_radiovue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/radio/src/radio.vue\";\n    /* harmony default export */\n\n    var src_radio = component.exports; // CONCATENATED MODULE: ./packages/radio/index.js\n\n    /* istanbul ignore next */\n\n    src_radio.install = function (Vue) {\n      Vue.component(src_radio.name, src_radio);\n    };\n    /* harmony default export */\n\n\n    var packages_radio = __webpack_exports__[\"default\"] = src_radio;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/radio.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/scrollbar.js":
/*!**************************************************!*\
  !*** ./node_modules/element-ui/lib/scrollbar.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 131);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  131:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\n\n\n    var resize_event_ = __webpack_require__(16); // EXTERNAL MODULE: external \"element-ui/lib/utils/scrollbar-width\"\n\n\n    var scrollbar_width_ = __webpack_require__(38);\n\n    var scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\n\n\n    var dom_ = __webpack_require__(2); // CONCATENATED MODULE: ./packages/scrollbar/src/util.js\n\n\n    var BAR_MAP = {\n      vertical: {\n        offset: 'offsetHeight',\n        scroll: 'scrollTop',\n        scrollSize: 'scrollHeight',\n        size: 'height',\n        key: 'vertical',\n        axis: 'Y',\n        client: 'clientY',\n        direction: 'top'\n      },\n      horizontal: {\n        offset: 'offsetWidth',\n        scroll: 'scrollLeft',\n        scrollSize: 'scrollWidth',\n        size: 'width',\n        key: 'horizontal',\n        axis: 'X',\n        client: 'clientX',\n        direction: 'left'\n      }\n    };\n\n    function renderThumbStyle(_ref) {\n      var move = _ref.move,\n          size = _ref.size,\n          bar = _ref.bar;\n      var style = {};\n      var translate = 'translate' + bar.axis + '(' + move + '%)';\n      style[bar.size] = size;\n      style.transform = translate;\n      style.msTransform = translate;\n      style.webkitTransform = translate;\n      return style;\n    }\n\n    ; // CONCATENATED MODULE: ./packages/scrollbar/src/bar.js\n\n    /* istanbul ignore next */\n\n    /* harmony default export */\n\n    var src_bar = {\n      name: 'Bar',\n      props: {\n        vertical: Boolean,\n        size: String,\n        move: Number\n      },\n      computed: {\n        bar: function bar() {\n          return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];\n        },\n        wrap: function wrap() {\n          return this.$parent.wrap;\n        }\n      },\n      render: function render(h) {\n        var size = this.size,\n            move = this.move,\n            bar = this.bar;\n        return h('div', {\n          'class': ['el-scrollbar__bar', 'is-' + bar.key],\n          on: {\n            'mousedown': this.clickTrackHandler\n          }\n        }, [h('div', {\n          ref: 'thumb',\n          'class': 'el-scrollbar__thumb',\n          on: {\n            'mousedown': this.clickThumbHandler\n          },\n          style: renderThumbStyle({\n            size: size,\n            move: move,\n            bar: bar\n          })\n        })]);\n      },\n      methods: {\n        clickThumbHandler: function clickThumbHandler(e) {\n          // prevent click event of right button\n          if (e.ctrlKey || e.button === 2) {\n            return;\n          }\n\n          this.startDrag(e);\n          this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]);\n        },\n        clickTrackHandler: function clickTrackHandler(e) {\n          var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]);\n          var thumbHalf = this.$refs.thumb[this.bar.offset] / 2;\n          var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset];\n          this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n        },\n        startDrag: function startDrag(e) {\n          e.stopImmediatePropagation();\n          this.cursorDown = true;\n          Object(dom_[\"on\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n          Object(dom_[\"on\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n\n          document.onselectstart = function () {\n            return false;\n          };\n        },\n        mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) {\n          if (this.cursorDown === false) return;\n          var prevPage = this[this.bar.axis];\n          if (!prevPage) return;\n          var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1;\n          var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage;\n          var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset];\n          this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n        },\n        mouseUpDocumentHandler: function mouseUpDocumentHandler(e) {\n          this.cursorDown = false;\n          this[this.bar.axis] = 0;\n          Object(dom_[\"off\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n          document.onselectstart = null;\n        }\n      },\n      destroyed: function destroyed() {\n        Object(dom_[\"off\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n      }\n    }; // CONCATENATED MODULE: ./packages/scrollbar/src/main.js\n    // reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js\n\n    /* istanbul ignore next */\n\n    /* harmony default export */\n\n    var main = {\n      name: 'ElScrollbar',\n      components: {\n        Bar: src_bar\n      },\n      props: {\n        native: Boolean,\n        wrapStyle: {},\n        wrapClass: {},\n        viewClass: {},\n        viewStyle: {},\n        noresize: Boolean,\n        // 如果 container 尺寸不会发生变化，最好设置它可以优化性能\n        tag: {\n          type: String,\n          default: 'div'\n        }\n      },\n      data: function data() {\n        return {\n          sizeWidth: '0',\n          sizeHeight: '0',\n          moveX: 0,\n          moveY: 0\n        };\n      },\n      computed: {\n        wrap: function wrap() {\n          return this.$refs.wrap;\n        }\n      },\n      render: function render(h) {\n        var gutter = scrollbar_width_default()();\n        var style = this.wrapStyle;\n\n        if (gutter) {\n          var gutterWith = '-' + gutter + 'px';\n          var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';';\n\n          if (Array.isArray(this.wrapStyle)) {\n            style = Object(util_[\"toObject\"])(this.wrapStyle);\n            style.marginRight = style.marginBottom = gutterWith;\n          } else if (typeof this.wrapStyle === 'string') {\n            style += gutterStyle;\n          } else {\n            style = gutterStyle;\n          }\n        }\n\n        var view = h(this.tag, {\n          class: ['el-scrollbar__view', this.viewClass],\n          style: this.viewStyle,\n          ref: 'resize'\n        }, this.$slots.default);\n        var wrap = h('div', {\n          ref: 'wrap',\n          style: style,\n          on: {\n            'scroll': this.handleScroll\n          },\n          'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default']\n        }, [[view]]);\n        var nodes = void 0;\n\n        if (!this.native) {\n          nodes = [wrap, h(src_bar, {\n            attrs: {\n              move: this.moveX,\n              size: this.sizeWidth\n            }\n          }), h(src_bar, {\n            attrs: {\n              vertical: true,\n              move: this.moveY,\n              size: this.sizeHeight\n            }\n          })];\n        } else {\n          nodes = [h('div', {\n            ref: 'wrap',\n            'class': [this.wrapClass, 'el-scrollbar__wrap'],\n            style: style\n          }, [[view]])];\n        }\n\n        return h('div', {\n          class: 'el-scrollbar'\n        }, nodes);\n      },\n      methods: {\n        handleScroll: function handleScroll() {\n          var wrap = this.wrap;\n          this.moveY = wrap.scrollTop * 100 / wrap.clientHeight;\n          this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;\n        },\n        update: function update() {\n          var heightPercentage = void 0,\n              widthPercentage = void 0;\n          var wrap = this.wrap;\n          if (!wrap) return;\n          heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n          widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;\n          this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : '';\n          this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : '';\n        }\n      },\n      mounted: function mounted() {\n        if (this.native) return;\n        this.$nextTick(this.update);\n        !this.noresize && Object(resize_event_[\"addResizeListener\"])(this.$refs.resize, this.update);\n      },\n      beforeDestroy: function beforeDestroy() {\n        if (this.native) return;\n        !this.noresize && Object(resize_event_[\"removeResizeListener\"])(this.$refs.resize, this.update);\n      }\n    }; // CONCATENATED MODULE: ./packages/scrollbar/index.js\n\n    /* istanbul ignore next */\n\n    main.install = function (Vue) {\n      Vue.component(main.name, main);\n    };\n    /* harmony default export */\n\n\n    var scrollbar = __webpack_exports__[\"default\"] = main;\n    /***/\n  },\n\n  /***/\n  16:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/resize-event */ \"./node_modules/element-ui/lib/utils/resize-event.js\");\n    /***/\n  },\n\n  /***/\n  2:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n    /***/\n  },\n\n  /***/\n  3:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n    /***/\n  },\n\n  /***/\n  38:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/scrollbar-width */ \"./node_modules/element-ui/lib/utils/scrollbar-width.js\");\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/scrollbar.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/select.js":
/*!***********************************************!*\
  !*** ./node_modules/element-ui/lib/select.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.dot-all.js */ \"./node_modules/core-js/modules/es.regexp.dot-all.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.sticky.js */ \"./node_modules/core-js/modules/es.regexp.sticky.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof2(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 61);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  10:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/input */ \"./node_modules/element-ui/lib/input.js\");\n    /***/\n  },\n\n  /***/\n  12:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/clickoutside */ \"./node_modules/element-ui/lib/utils/clickoutside.js\");\n    /***/\n  },\n\n  /***/\n  15:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/scrollbar */ \"./node_modules/element-ui/lib/scrollbar.js\");\n    /***/\n  },\n\n  /***/\n  16:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/resize-event */ \"./node_modules/element-ui/lib/utils/resize-event.js\");\n    /***/\n  },\n\n  /***/\n  18:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! throttle-debounce/debounce */ \"./node_modules/throttle-debounce/debounce.js\");\n    /***/\n  },\n\n  /***/\n  21:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/shared */ \"./node_modules/element-ui/lib/utils/shared.js\");\n    /***/\n  },\n\n  /***/\n  22:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/focus */ \"./node_modules/element-ui/lib/mixins/focus.js\");\n    /***/\n  },\n\n  /***/\n  3:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n    /***/\n  },\n\n  /***/\n  31:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/scroll-into-view */ \"./node_modules/element-ui/lib/utils/scroll-into-view.js\");\n    /***/\n  },\n\n  /***/\n  33:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\"; // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"li\", {\n        directives: [{\n          name: \"show\",\n          rawName: \"v-show\",\n          value: _vm.visible,\n          expression: \"visible\"\n        }],\n        staticClass: \"el-select-dropdown__item\",\n        class: {\n          selected: _vm.itemSelected,\n          \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n          hover: _vm.hover\n        },\n        on: {\n          mouseenter: _vm.hoverItem,\n          click: function click($event) {\n            $event.stopPropagation();\n            return _vm.selectOptionClick($event);\n          }\n        }\n      }, [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])], 2);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\n\n\n    var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n      return _typeof2(obj);\n    } : function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n    }; //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var optionvue_type_script_lang_js_ = {\n      mixins: [emitter_default.a],\n      name: 'ElOption',\n      componentName: 'ElOption',\n      inject: ['select'],\n      props: {\n        value: {\n          required: true\n        },\n        label: [String, Number],\n        created: Boolean,\n        disabled: {\n          type: Boolean,\n          default: false\n        }\n      },\n      data: function data() {\n        return {\n          index: -1,\n          groupDisabled: false,\n          visible: true,\n          hitState: false,\n          hover: false\n        };\n      },\n      computed: {\n        isObject: function isObject() {\n          return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n        },\n        currentLabel: function currentLabel() {\n          return this.label || (this.isObject ? '' : this.value);\n        },\n        currentValue: function currentValue() {\n          return this.value || this.label || '';\n        },\n        itemSelected: function itemSelected() {\n          if (!this.select.multiple) {\n            return this.isEqual(this.value, this.select.value);\n          } else {\n            return this.contains(this.select.value, this.value);\n          }\n        },\n        limitReached: function limitReached() {\n          if (this.select.multiple) {\n            return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n          } else {\n            return false;\n          }\n        }\n      },\n      watch: {\n        currentLabel: function currentLabel() {\n          if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n        },\n        value: function value(val, oldVal) {\n          var _select = this.select,\n              remote = _select.remote,\n              valueKey = _select.valueKey;\n\n          if (!this.created && !remote) {\n            if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n              return;\n            }\n\n            this.dispatch('ElSelect', 'setSelected');\n          }\n        }\n      },\n      methods: {\n        isEqual: function isEqual(a, b) {\n          if (!this.isObject) {\n            return a === b;\n          } else {\n            var valueKey = this.select.valueKey;\n            return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n          }\n        },\n        contains: function contains() {\n          var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n          var target = arguments[1];\n\n          if (!this.isObject) {\n            return arr && arr.indexOf(target) > -1;\n          } else {\n            var valueKey = this.select.valueKey;\n            return arr && arr.some(function (item) {\n              return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n            });\n          }\n        },\n        handleGroupDisabled: function handleGroupDisabled(val) {\n          this.groupDisabled = val;\n        },\n        hoverItem: function hoverItem() {\n          if (!this.disabled && !this.groupDisabled) {\n            this.select.hoverIndex = this.select.options.indexOf(this);\n          }\n        },\n        selectOptionClick: function selectOptionClick() {\n          if (this.disabled !== true && this.groupDisabled !== true) {\n            this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n          }\n        },\n        queryChange: function queryChange(query) {\n          this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n\n          if (!this.visible) {\n            this.select.filteredOptionsCount--;\n          }\n        }\n      },\n      created: function created() {\n        this.select.options.push(this);\n        this.select.cachedOptions.push(this);\n        this.select.optionsCount++;\n        this.select.filteredOptionsCount++;\n        this.$on('queryChange', this.queryChange);\n        this.$on('handleGroupDisabled', this.handleGroupDisabled);\n      },\n      beforeDestroy: function beforeDestroy() {\n        var _select2 = this.select,\n            selected = _select2.selected,\n            multiple = _select2.multiple;\n        var selectedOptions = multiple ? selected : [selected];\n        var index = this.select.cachedOptions.indexOf(this);\n        var selectedIndex = selectedOptions.indexOf(this); // if option is not selected, remove it from cache\n\n        if (index > -1 && selectedIndex < 0) {\n          this.select.cachedOptions.splice(index, 1);\n        }\n\n        this.select.onOptionDestroy(this.select.options.indexOf(this));\n      }\n    }; // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_optionvue_type_script_lang_js_ = optionvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/select/src/option.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_optionvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/select/src/option.vue\";\n    /* harmony default export */\n\n    var src_option = __webpack_exports__[\"a\"] = component.exports;\n    /***/\n  },\n\n  /***/\n  37:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/tag */ \"./node_modules/element-ui/lib/tag.js\");\n    /***/\n  },\n\n  /***/\n  4:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/emitter */ \"./node_modules/element-ui/lib/mixins/emitter.js\");\n    /***/\n  },\n\n  /***/\n  5:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/vue-popper */ \"./node_modules/element-ui/lib/utils/vue-popper.js\");\n    /***/\n  },\n\n  /***/\n  6:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/mixins/locale */ \"./node_modules/element-ui/lib/mixins/locale.js\");\n    /***/\n  },\n\n  /***/\n  61:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\n\n\n    var render = function render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        directives: [{\n          name: \"clickoutside\",\n          rawName: \"v-clickoutside\",\n          value: _vm.handleClose,\n          expression: \"handleClose\"\n        }],\n        staticClass: \"el-select\",\n        class: [_vm.selectSize ? \"el-select--\" + _vm.selectSize : \"\"],\n        on: {\n          click: function click($event) {\n            $event.stopPropagation();\n            return _vm.toggleMenu($event);\n          }\n        }\n      }, [_vm.multiple ? _c(\"div\", {\n        ref: \"tags\",\n        staticClass: \"el-select__tags\",\n        style: {\n          \"max-width\": _vm.inputWidth - 32 + \"px\",\n          width: \"100%\"\n        }\n      }, [_vm.collapseTags && _vm.selected.length ? _c(\"span\", [_c(\"el-tag\", {\n        attrs: {\n          closable: !_vm.selectDisabled,\n          size: _vm.collapseTagSize,\n          hit: _vm.selected[0].hitState,\n          type: \"info\",\n          \"disable-transitions\": \"\"\n        },\n        on: {\n          close: function close($event) {\n            _vm.deleteTag($event, _vm.selected[0]);\n          }\n        }\n      }, [_c(\"span\", {\n        staticClass: \"el-select__tags-text\"\n      }, [_vm._v(_vm._s(_vm.selected[0].currentLabel))])]), _vm.selected.length > 1 ? _c(\"el-tag\", {\n        attrs: {\n          closable: false,\n          size: _vm.collapseTagSize,\n          type: \"info\",\n          \"disable-transitions\": \"\"\n        }\n      }, [_c(\"span\", {\n        staticClass: \"el-select__tags-text\"\n      }, [_vm._v(\"+ \" + _vm._s(_vm.selected.length - 1))])]) : _vm._e()], 1) : _vm._e(), !_vm.collapseTags ? _c(\"transition-group\", {\n        on: {\n          \"after-leave\": _vm.resetInputHeight\n        }\n      }, _vm._l(_vm.selected, function (item) {\n        return _c(\"el-tag\", {\n          key: _vm.getValueKey(item),\n          attrs: {\n            closable: !_vm.selectDisabled,\n            size: _vm.collapseTagSize,\n            hit: item.hitState,\n            type: \"info\",\n            \"disable-transitions\": \"\"\n          },\n          on: {\n            close: function close($event) {\n              _vm.deleteTag($event, item);\n            }\n          }\n        }, [_c(\"span\", {\n          staticClass: \"el-select__tags-text\"\n        }, [_vm._v(_vm._s(item.currentLabel))])]);\n      }), 1) : _vm._e(), _vm.filterable ? _c(\"input\", {\n        directives: [{\n          name: \"model\",\n          rawName: \"v-model\",\n          value: _vm.query,\n          expression: \"query\"\n        }],\n        ref: \"input\",\n        staticClass: \"el-select__input\",\n        class: [_vm.selectSize ? \"is-\" + _vm.selectSize : \"\"],\n        style: {\n          \"flex-grow\": \"1\",\n          width: _vm.inputLength / (_vm.inputWidth - 32) + \"%\",\n          \"max-width\": _vm.inputWidth - 42 + \"px\"\n        },\n        attrs: {\n          type: \"text\",\n          disabled: _vm.selectDisabled,\n          autocomplete: _vm.autoComplete || _vm.autocomplete\n        },\n        domProps: {\n          value: _vm.query\n        },\n        on: {\n          focus: _vm.handleFocus,\n          blur: function blur($event) {\n            _vm.softFocus = false;\n          },\n          keyup: _vm.managePlaceholder,\n          keydown: [_vm.resetInputState, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n              return null;\n            }\n\n            $event.preventDefault();\n\n            _vm.handleNavigate(\"next\");\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n              return null;\n            }\n\n            $event.preventDefault();\n\n            _vm.handleNavigate(\"prev\");\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n              return null;\n            }\n\n            $event.preventDefault();\n            return _vm.selectOption($event);\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n              return null;\n            }\n\n            $event.stopPropagation();\n            $event.preventDefault();\n            _vm.visible = false;\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"delete\", [8, 46], $event.key, [\"Backspace\", \"Delete\", \"Del\"])) {\n              return null;\n            }\n\n            return _vm.deletePrevTag($event);\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n              return null;\n            }\n\n            _vm.visible = false;\n          }],\n          compositionstart: _vm.handleComposition,\n          compositionupdate: _vm.handleComposition,\n          compositionend: _vm.handleComposition,\n          input: [function ($event) {\n            if ($event.target.composing) {\n              return;\n            }\n\n            _vm.query = $event.target.value;\n          }, _vm.debouncedQueryChange]\n        }\n      }) : _vm._e()], 1) : _vm._e(), _c(\"el-input\", {\n        ref: \"reference\",\n        class: {\n          \"is-focus\": _vm.visible\n        },\n        attrs: {\n          type: \"text\",\n          placeholder: _vm.currentPlaceholder,\n          name: _vm.name,\n          id: _vm.id,\n          autocomplete: _vm.autoComplete || _vm.autocomplete,\n          size: _vm.selectSize,\n          disabled: _vm.selectDisabled,\n          readonly: _vm.readonly,\n          \"validate-event\": false,\n          tabindex: _vm.multiple && _vm.filterable ? \"-1\" : null\n        },\n        on: {\n          focus: _vm.handleFocus,\n          blur: _vm.handleBlur,\n          input: _vm.debouncedOnInputChange,\n          compositionstart: _vm.handleComposition,\n          compositionupdate: _vm.handleComposition,\n          compositionend: _vm.handleComposition\n        },\n        nativeOn: {\n          keydown: [function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"down\", 40, $event.key, [\"Down\", \"ArrowDown\"])) {\n              return null;\n            }\n\n            $event.stopPropagation();\n            $event.preventDefault();\n\n            _vm.handleNavigate(\"next\");\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])) {\n              return null;\n            }\n\n            $event.stopPropagation();\n            $event.preventDefault();\n\n            _vm.handleNavigate(\"prev\");\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n              return null;\n            }\n\n            $event.preventDefault();\n            return _vm.selectOption($event);\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n              return null;\n            }\n\n            $event.stopPropagation();\n            $event.preventDefault();\n            _vm.visible = false;\n          }, function ($event) {\n            if (!(\"button\" in $event) && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n              return null;\n            }\n\n            _vm.visible = false;\n          }],\n          mouseenter: function mouseenter($event) {\n            _vm.inputHovering = true;\n          },\n          mouseleave: function mouseleave($event) {\n            _vm.inputHovering = false;\n          }\n        },\n        model: {\n          value: _vm.selectedLabel,\n          callback: function callback($$v) {\n            _vm.selectedLabel = $$v;\n          },\n          expression: \"selectedLabel\"\n        }\n      }, [_vm.$slots.prefix ? _c(\"template\", {\n        slot: \"prefix\"\n      }, [_vm._t(\"prefix\")], 2) : _vm._e(), _c(\"template\", {\n        slot: \"suffix\"\n      }, [_c(\"i\", {\n        directives: [{\n          name: \"show\",\n          rawName: \"v-show\",\n          value: !_vm.showClose,\n          expression: \"!showClose\"\n        }],\n        class: [\"el-select__caret\", \"el-input__icon\", \"el-icon-\" + _vm.iconClass]\n      }), _vm.showClose ? _c(\"i\", {\n        staticClass: \"el-select__caret el-input__icon el-icon-circle-close\",\n        on: {\n          click: _vm.handleClearClick\n        }\n      }) : _vm._e()])], 2), _c(\"transition\", {\n        attrs: {\n          name: \"el-zoom-in-top\"\n        },\n        on: {\n          \"before-enter\": _vm.handleMenuEnter,\n          \"after-leave\": _vm.doDestroy\n        }\n      }, [_c(\"el-select-menu\", {\n        directives: [{\n          name: \"show\",\n          rawName: \"v-show\",\n          value: _vm.visible && _vm.emptyText !== false,\n          expression: \"visible && emptyText !== false\"\n        }],\n        ref: \"popper\",\n        attrs: {\n          \"append-to-body\": _vm.popperAppendToBody\n        }\n      }, [_c(\"el-scrollbar\", {\n        directives: [{\n          name: \"show\",\n          rawName: \"v-show\",\n          value: _vm.options.length > 0 && !_vm.loading,\n          expression: \"options.length > 0 && !loading\"\n        }],\n        ref: \"scrollbar\",\n        class: {\n          \"is-empty\": !_vm.allowCreate && _vm.query && _vm.filteredOptionsCount === 0\n        },\n        attrs: {\n          tag: \"ul\",\n          \"wrap-class\": \"el-select-dropdown__wrap\",\n          \"view-class\": \"el-select-dropdown__list\"\n        }\n      }, [_vm.showNewOption ? _c(\"el-option\", {\n        attrs: {\n          value: _vm.query,\n          created: \"\"\n        }\n      }) : _vm._e(), _vm._t(\"default\")], 2), _vm.emptyText && (!_vm.allowCreate || _vm.loading || _vm.allowCreate && _vm.options.length === 0) ? [_vm.$slots.empty ? _vm._t(\"empty\") : _c(\"p\", {\n        staticClass: \"el-select-dropdown__empty\"\n      }, [_vm._v(\"\\n          \" + _vm._s(_vm.emptyText) + \"\\n        \")])] : _vm._e()], 2)], 1)], 1);\n    };\n\n    var staticRenderFns = [];\n    render._withStripped = true; // CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\n    // EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\n\n    var emitter_ = __webpack_require__(4);\n\n    var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\n\n\n    var focus_ = __webpack_require__(22);\n\n    var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); // EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\n\n\n    var locale_ = __webpack_require__(6);\n\n    var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); // EXTERNAL MODULE: external \"element-ui/lib/input\"\n\n\n    var input_ = __webpack_require__(10);\n\n    var input_default = /*#__PURE__*/__webpack_require__.n(input_); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n\n\n    var select_dropdownvue_type_template_id_06828748_render = function select_dropdownvue_type_template_id_06828748_render() {\n      var _vm = this;\n\n      var _h = _vm.$createElement;\n\n      var _c = _vm._self._c || _h;\n\n      return _c(\"div\", {\n        staticClass: \"el-select-dropdown el-popper\",\n        class: [{\n          \"is-multiple\": _vm.$parent.multiple\n        }, _vm.popperClass],\n        style: {\n          minWidth: _vm.minWidth\n        }\n      }, [_vm._t(\"default\")], 2);\n    };\n\n    var select_dropdownvue_type_template_id_06828748_staticRenderFns = [];\n    select_dropdownvue_type_template_id_06828748_render._withStripped = true; // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n    // EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\n\n    var vue_popper_ = __webpack_require__(5);\n\n    var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var select_dropdownvue_type_script_lang_js_ = {\n      name: 'ElSelectDropdown',\n      componentName: 'ElSelectDropdown',\n      mixins: [vue_popper_default.a],\n      props: {\n        placement: {\n          default: 'bottom-start'\n        },\n        boundariesPadding: {\n          default: 0\n        },\n        popperOptions: {\n          default: function _default() {\n            return {\n              gpuAcceleration: false\n            };\n          }\n        },\n        visibleArrow: {\n          default: true\n        },\n        appendToBody: {\n          type: Boolean,\n          default: true\n        }\n      },\n      data: function data() {\n        return {\n          minWidth: ''\n        };\n      },\n      computed: {\n        popperClass: function popperClass() {\n          return this.$parent.popperClass;\n        }\n      },\n      watch: {\n        '$parent.inputWidth': function $parentInputWidth() {\n          this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';\n        }\n      },\n      mounted: function mounted() {\n        var _this = this;\n\n        this.referenceElm = this.$parent.$refs.reference.$el;\n        this.$parent.popperElm = this.popperElm = this.$el;\n        this.$on('updatePopper', function () {\n          if (_this.$parent.visible) _this.updatePopper();\n        });\n        this.$on('destroyPopper', this.destroyPopper);\n      }\n    }; // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_select_dropdownvue_type_script_lang_js_ = select_dropdownvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue\n\n    /* normalize component */\n\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_select_dropdownvue_type_script_lang_js_, select_dropdownvue_type_template_id_06828748_render, select_dropdownvue_type_template_id_06828748_staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/select/src/select-dropdown.vue\";\n    /* harmony default export */\n\n    var select_dropdown = component.exports; // EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules\n\n    var src_option = __webpack_require__(33); // EXTERNAL MODULE: external \"element-ui/lib/tag\"\n\n\n    var tag_ = __webpack_require__(37);\n\n    var tag_default = /*#__PURE__*/__webpack_require__.n(tag_); // EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\n\n\n    var scrollbar_ = __webpack_require__(15);\n\n    var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); // EXTERNAL MODULE: external \"throttle-debounce/debounce\"\n\n\n    var debounce_ = __webpack_require__(18);\n\n    var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); // EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\n\n\n    var clickoutside_ = __webpack_require__(12);\n\n    var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); // EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\n\n\n    var resize_event_ = __webpack_require__(16); // EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\n\n\n    var scroll_into_view_ = __webpack_require__(31);\n\n    var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js\n\n    /* harmony default export */\n\n\n    var navigation_mixin = {\n      data: function data() {\n        return {\n          hoverOption: -1\n        };\n      },\n      computed: {\n        optionsAllDisabled: function optionsAllDisabled() {\n          return this.options.filter(function (option) {\n            return option.visible;\n          }).every(function (option) {\n            return option.disabled;\n          });\n        }\n      },\n      watch: {\n        hoverIndex: function hoverIndex(val) {\n          var _this = this;\n\n          if (typeof val === 'number' && val > -1) {\n            this.hoverOption = this.options[val] || {};\n          }\n\n          this.options.forEach(function (option) {\n            option.hover = _this.hoverOption === option;\n          });\n        }\n      },\n      methods: {\n        navigateOptions: function navigateOptions(direction) {\n          var _this2 = this;\n\n          if (!this.visible) {\n            this.visible = true;\n            return;\n          }\n\n          if (this.options.length === 0 || this.filteredOptionsCount === 0) return;\n\n          if (!this.optionsAllDisabled) {\n            if (direction === 'next') {\n              this.hoverIndex++;\n\n              if (this.hoverIndex === this.options.length) {\n                this.hoverIndex = 0;\n              }\n            } else if (direction === 'prev') {\n              this.hoverIndex--;\n\n              if (this.hoverIndex < 0) {\n                this.hoverIndex = this.options.length - 1;\n              }\n            }\n\n            var option = this.options[this.hoverIndex];\n\n            if (option.disabled === true || option.groupDisabled === true || !option.visible) {\n              this.navigateOptions(direction);\n            }\n\n            this.$nextTick(function () {\n              return _this2.scrollToOption(_this2.hoverOption);\n            });\n          }\n        }\n      }\n    }; // EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\n\n    var shared_ = __webpack_require__(21); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js&\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n    //\n\n    /* harmony default export */\n\n\n    var selectvue_type_script_lang_js_ = {\n      mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],\n      name: 'ElSelect',\n      componentName: 'ElSelect',\n      inject: {\n        elForm: {\n          default: ''\n        },\n        elFormItem: {\n          default: ''\n        }\n      },\n      provide: function provide() {\n        return {\n          'select': this\n        };\n      },\n      computed: {\n        _elFormItemSize: function _elFormItemSize() {\n          return (this.elFormItem || {}).elFormItemSize;\n        },\n        readonly: function readonly() {\n          return !this.filterable || this.multiple || !Object(util_[\"isIE\"])() && !Object(util_[\"isEdge\"])() && !this.visible;\n        },\n        showClose: function showClose() {\n          var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';\n          var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;\n          return criteria;\n        },\n        iconClass: function iconClass() {\n          return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';\n        },\n        debounce: function debounce() {\n          return this.remote ? 300 : 0;\n        },\n        emptyText: function emptyText() {\n          if (this.loading) {\n            return this.loadingText || this.t('el.select.loading');\n          } else {\n            if (this.remote && this.query === '' && this.options.length === 0) return false;\n\n            if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {\n              return this.noMatchText || this.t('el.select.noMatch');\n            }\n\n            if (this.options.length === 0) {\n              return this.noDataText || this.t('el.select.noData');\n            }\n          }\n\n          return null;\n        },\n        showNewOption: function showNewOption() {\n          var _this = this;\n\n          var hasExistingOption = this.options.filter(function (option) {\n            return !option.created;\n          }).some(function (option) {\n            return option.currentLabel === _this.query;\n          });\n          return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;\n        },\n        selectSize: function selectSize() {\n          return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n        },\n        selectDisabled: function selectDisabled() {\n          return this.disabled || (this.elForm || {}).disabled;\n        },\n        collapseTagSize: function collapseTagSize() {\n          return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';\n        },\n        propPlaceholder: function propPlaceholder() {\n          return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder');\n        }\n      },\n      components: {\n        ElInput: input_default.a,\n        ElSelectMenu: select_dropdown,\n        ElOption: src_option[\"a\"\n        /* default */\n        ],\n        ElTag: tag_default.a,\n        ElScrollbar: scrollbar_default.a\n      },\n      directives: {\n        Clickoutside: clickoutside_default.a\n      },\n      props: {\n        name: String,\n        id: String,\n        value: {\n          required: true\n        },\n        autocomplete: {\n          type: String,\n          default: 'off'\n        },\n\n        /** @Deprecated in next major version */\n        autoComplete: {\n          type: String,\n          validator: function validator(val) {\n             false && false;\n            return true;\n          }\n        },\n        automaticDropdown: Boolean,\n        size: String,\n        disabled: Boolean,\n        clearable: Boolean,\n        filterable: Boolean,\n        allowCreate: Boolean,\n        loading: Boolean,\n        popperClass: String,\n        remote: Boolean,\n        loadingText: String,\n        noMatchText: String,\n        noDataText: String,\n        remoteMethod: Function,\n        filterMethod: Function,\n        multiple: Boolean,\n        multipleLimit: {\n          type: Number,\n          default: 0\n        },\n        placeholder: {\n          type: String,\n          required: false\n        },\n        defaultFirstOption: Boolean,\n        reserveKeyword: Boolean,\n        valueKey: {\n          type: String,\n          default: 'value'\n        },\n        collapseTags: Boolean,\n        popperAppendToBody: {\n          type: Boolean,\n          default: true\n        }\n      },\n      data: function data() {\n        return {\n          options: [],\n          cachedOptions: [],\n          createdLabel: null,\n          createdSelected: false,\n          selected: this.multiple ? [] : {},\n          inputLength: 20,\n          inputWidth: 0,\n          initialInputHeight: 0,\n          cachedPlaceHolder: '',\n          optionsCount: 0,\n          filteredOptionsCount: 0,\n          visible: false,\n          softFocus: false,\n          selectedLabel: '',\n          hoverIndex: -1,\n          query: '',\n          previousQuery: null,\n          inputHovering: false,\n          currentPlaceholder: '',\n          menuVisibleOnFocus: false,\n          isOnComposition: false,\n          isSilentBlur: false\n        };\n      },\n      watch: {\n        selectDisabled: function selectDisabled() {\n          var _this2 = this;\n\n          this.$nextTick(function () {\n            _this2.resetInputHeight();\n          });\n        },\n        propPlaceholder: function propPlaceholder(val) {\n          this.cachedPlaceHolder = this.currentPlaceholder = val;\n        },\n        value: function value(val, oldVal) {\n          if (this.multiple) {\n            this.resetInputHeight();\n\n            if (val && val.length > 0 || this.$refs.input && this.query !== '') {\n              this.currentPlaceholder = '';\n            } else {\n              this.currentPlaceholder = this.cachedPlaceHolder;\n            }\n\n            if (this.filterable && !this.reserveKeyword) {\n              this.query = '';\n              this.handleQueryChange(this.query);\n            }\n          }\n\n          this.setSelected();\n\n          if (this.filterable && !this.multiple) {\n            this.inputLength = 20;\n          }\n\n          if (!Object(util_[\"valueEquals\"])(val, oldVal)) {\n            this.dispatch('ElFormItem', 'el.form.change', val);\n          }\n        },\n        visible: function visible(val) {\n          var _this3 = this;\n\n          if (!val) {\n            this.broadcast('ElSelectDropdown', 'destroyPopper');\n\n            if (this.$refs.input) {\n              this.$refs.input.blur();\n            }\n\n            this.query = '';\n            this.previousQuery = null;\n            this.selectedLabel = '';\n            this.inputLength = 20;\n            this.menuVisibleOnFocus = false;\n            this.resetHoverIndex();\n            this.$nextTick(function () {\n              if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {\n                _this3.currentPlaceholder = _this3.cachedPlaceHolder;\n              }\n            });\n\n            if (!this.multiple) {\n              if (this.selected) {\n                if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {\n                  this.selectedLabel = this.createdLabel;\n                } else {\n                  this.selectedLabel = this.selected.currentLabel;\n                }\n\n                if (this.filterable) this.query = this.selectedLabel;\n              }\n\n              if (this.filterable) {\n                this.currentPlaceholder = this.cachedPlaceHolder;\n              }\n            }\n          } else {\n            this.broadcast('ElSelectDropdown', 'updatePopper');\n\n            if (this.filterable) {\n              this.query = this.remote ? '' : this.selectedLabel;\n              this.handleQueryChange(this.query);\n\n              if (this.multiple) {\n                this.$refs.input.focus();\n              } else {\n                if (!this.remote) {\n                  this.broadcast('ElOption', 'queryChange', '');\n                  this.broadcast('ElOptionGroup', 'queryChange');\n                }\n\n                if (this.selectedLabel) {\n                  this.currentPlaceholder = this.selectedLabel;\n                  this.selectedLabel = '';\n                }\n              }\n            }\n          }\n\n          this.$emit('visible-change', val);\n        },\n        options: function options() {\n          var _this4 = this;\n\n          if (this.$isServer) return;\n          this.$nextTick(function () {\n            _this4.broadcast('ElSelectDropdown', 'updatePopper');\n          });\n\n          if (this.multiple) {\n            this.resetInputHeight();\n          }\n\n          var inputs = this.$el.querySelectorAll('input');\n\n          if ([].indexOf.call(inputs, document.activeElement) === -1) {\n            this.setSelected();\n          }\n\n          if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n            this.checkDefaultFirstOption();\n          }\n        }\n      },\n      methods: {\n        handleNavigate: function handleNavigate(direction) {\n          if (this.isOnComposition) return;\n          this.navigateOptions(direction);\n        },\n        handleComposition: function handleComposition(event) {\n          var _this5 = this;\n\n          var text = event.target.value;\n\n          if (event.type === 'compositionend') {\n            this.isOnComposition = false;\n            this.$nextTick(function (_) {\n              return _this5.handleQueryChange(text);\n            });\n          } else {\n            var lastCharacter = text[text.length - 1] || '';\n            this.isOnComposition = !Object(shared_[\"isKorean\"])(lastCharacter);\n          }\n        },\n        handleQueryChange: function handleQueryChange(val) {\n          var _this6 = this;\n\n          if (this.previousQuery === val || this.isOnComposition) return;\n\n          if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {\n            this.previousQuery = val;\n            return;\n          }\n\n          this.previousQuery = val;\n          this.$nextTick(function () {\n            if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');\n          });\n          this.hoverIndex = -1;\n\n          if (this.multiple && this.filterable) {\n            this.$nextTick(function () {\n              var length = _this6.$refs.input.value.length * 15 + 20;\n              _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;\n\n              _this6.managePlaceholder();\n\n              _this6.resetInputHeight();\n            });\n          }\n\n          if (this.remote && typeof this.remoteMethod === 'function') {\n            this.hoverIndex = -1;\n            this.remoteMethod(val);\n          } else if (typeof this.filterMethod === 'function') {\n            this.filterMethod(val);\n            this.broadcast('ElOptionGroup', 'queryChange');\n          } else {\n            this.filteredOptionsCount = this.optionsCount;\n            this.broadcast('ElOption', 'queryChange', val);\n            this.broadcast('ElOptionGroup', 'queryChange');\n          }\n\n          if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n            this.checkDefaultFirstOption();\n          }\n        },\n        scrollToOption: function scrollToOption(option) {\n          var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;\n\n          if (this.$refs.popper && target) {\n            var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');\n            scroll_into_view_default()(menu, target);\n          }\n\n          this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();\n        },\n        handleMenuEnter: function handleMenuEnter() {\n          var _this7 = this;\n\n          this.$nextTick(function () {\n            return _this7.scrollToOption(_this7.selected);\n          });\n        },\n        emitChange: function emitChange(val) {\n          if (!Object(util_[\"valueEquals\"])(this.value, val)) {\n            this.$emit('change', val);\n          }\n        },\n        getOption: function getOption(value) {\n          var option = void 0;\n          var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n          var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';\n          var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';\n\n          for (var i = this.cachedOptions.length - 1; i >= 0; i--) {\n            var cachedOption = this.cachedOptions[i];\n            var isEqual = isObject ? Object(util_[\"getValueByPath\"])(cachedOption.value, this.valueKey) === Object(util_[\"getValueByPath\"])(value, this.valueKey) : cachedOption.value === value;\n\n            if (isEqual) {\n              option = cachedOption;\n              break;\n            }\n          }\n\n          if (option) return option;\n          var label = !isObject && !isNull && !isUndefined ? String(value) : '';\n          var newOption = {\n            value: value,\n            currentLabel: label\n          };\n\n          if (this.multiple) {\n            newOption.hitState = false;\n          }\n\n          return newOption;\n        },\n        setSelected: function setSelected() {\n          var _this8 = this;\n\n          if (!this.multiple) {\n            var option = this.getOption(this.value);\n\n            if (option.created) {\n              this.createdLabel = option.currentLabel;\n              this.createdSelected = true;\n            } else {\n              this.createdSelected = false;\n            }\n\n            this.selectedLabel = option.currentLabel;\n            this.selected = option;\n            if (this.filterable) this.query = this.selectedLabel;\n            return;\n          }\n\n          var result = [];\n\n          if (Array.isArray(this.value)) {\n            this.value.forEach(function (value) {\n              result.push(_this8.getOption(value));\n            });\n          }\n\n          this.selected = result;\n          this.$nextTick(function () {\n            _this8.resetInputHeight();\n          });\n        },\n        handleFocus: function handleFocus(event) {\n          if (!this.softFocus) {\n            if (this.automaticDropdown || this.filterable) {\n              if (this.filterable && !this.visible) {\n                this.menuVisibleOnFocus = true;\n              }\n\n              this.visible = true;\n            }\n\n            this.$emit('focus', event);\n          } else {\n            this.softFocus = false;\n          }\n        },\n        blur: function blur() {\n          this.visible = false;\n          this.$refs.reference.blur();\n        },\n        handleBlur: function handleBlur(event) {\n          var _this9 = this;\n\n          setTimeout(function () {\n            if (_this9.isSilentBlur) {\n              _this9.isSilentBlur = false;\n            } else {\n              _this9.$emit('blur', event);\n            }\n          }, 50);\n          this.softFocus = false;\n        },\n        handleClearClick: function handleClearClick(event) {\n          this.deleteSelected(event);\n        },\n        doDestroy: function doDestroy() {\n          this.$refs.popper && this.$refs.popper.doDestroy();\n        },\n        handleClose: function handleClose() {\n          this.visible = false;\n        },\n        toggleLastOptionHitState: function toggleLastOptionHitState(hit) {\n          if (!Array.isArray(this.selected)) return;\n          var option = this.selected[this.selected.length - 1];\n          if (!option) return;\n\n          if (hit === true || hit === false) {\n            option.hitState = hit;\n            return hit;\n          }\n\n          option.hitState = !option.hitState;\n          return option.hitState;\n        },\n        deletePrevTag: function deletePrevTag(e) {\n          if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {\n            var value = this.value.slice();\n            value.pop();\n            this.$emit('input', value);\n            this.emitChange(value);\n          }\n        },\n        managePlaceholder: function managePlaceholder() {\n          if (this.currentPlaceholder !== '') {\n            this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;\n          }\n        },\n        resetInputState: function resetInputState(e) {\n          if (e.keyCode !== 8) this.toggleLastOptionHitState(false);\n          this.inputLength = this.$refs.input.value.length * 15 + 20;\n          this.resetInputHeight();\n        },\n        resetInputHeight: function resetInputHeight() {\n          var _this10 = this;\n\n          if (this.collapseTags && !this.filterable) return;\n          this.$nextTick(function () {\n            if (!_this10.$refs.reference) return;\n            var inputChildNodes = _this10.$refs.reference.$el.childNodes;\n            var input = [].filter.call(inputChildNodes, function (item) {\n              return item.tagName === 'INPUT';\n            })[0];\n            var tags = _this10.$refs.tags;\n            var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0;\n            var sizeInMap = _this10.initialInputHeight || 40;\n            input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';\n\n            if (_this10.visible && _this10.emptyText !== false) {\n              _this10.broadcast('ElSelectDropdown', 'updatePopper');\n            }\n          });\n        },\n        resetHoverIndex: function resetHoverIndex() {\n          var _this11 = this;\n\n          setTimeout(function () {\n            if (!_this11.multiple) {\n              _this11.hoverIndex = _this11.options.indexOf(_this11.selected);\n            } else {\n              if (_this11.selected.length > 0) {\n                _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {\n                  return _this11.options.indexOf(item);\n                }));\n              } else {\n                _this11.hoverIndex = -1;\n              }\n            }\n          }, 300);\n        },\n        handleOptionSelect: function handleOptionSelect(option, byClick) {\n          var _this12 = this;\n\n          if (this.multiple) {\n            var value = (this.value || []).slice();\n            var optionIndex = this.getValueIndex(value, option.value);\n\n            if (optionIndex > -1) {\n              value.splice(optionIndex, 1);\n            } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {\n              value.push(option.value);\n            }\n\n            this.$emit('input', value);\n            this.emitChange(value);\n\n            if (option.created) {\n              this.query = '';\n              this.handleQueryChange('');\n              this.inputLength = 20;\n            }\n\n            if (this.filterable) this.$refs.input.focus();\n          } else {\n            this.$emit('input', option.value);\n            this.emitChange(option.value);\n            this.visible = false;\n          }\n\n          this.isSilentBlur = byClick;\n          this.setSoftFocus();\n          if (this.visible) return;\n          this.$nextTick(function () {\n            _this12.scrollToOption(option);\n          });\n        },\n        setSoftFocus: function setSoftFocus() {\n          this.softFocus = true;\n          var input = this.$refs.input || this.$refs.reference;\n\n          if (input) {\n            input.focus();\n          }\n        },\n        getValueIndex: function getValueIndex() {\n          var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n          var value = arguments[1];\n          var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n\n          if (!isObject) {\n            return arr.indexOf(value);\n          } else {\n            var valueKey = this.valueKey;\n            var index = -1;\n            arr.some(function (item, i) {\n              if (Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(value, valueKey)) {\n                index = i;\n                return true;\n              }\n\n              return false;\n            });\n            return index;\n          }\n        },\n        toggleMenu: function toggleMenu() {\n          if (!this.selectDisabled) {\n            if (this.menuVisibleOnFocus) {\n              this.menuVisibleOnFocus = false;\n            } else {\n              this.visible = !this.visible;\n            }\n\n            if (this.visible) {\n              (this.$refs.input || this.$refs.reference).focus();\n            }\n          }\n        },\n        selectOption: function selectOption() {\n          if (!this.visible) {\n            this.toggleMenu();\n          } else {\n            if (this.options[this.hoverIndex]) {\n              this.handleOptionSelect(this.options[this.hoverIndex]);\n            }\n          }\n        },\n        deleteSelected: function deleteSelected(event) {\n          event.stopPropagation();\n          var value = this.multiple ? [] : '';\n          this.$emit('input', value);\n          this.emitChange(value);\n          this.visible = false;\n          this.$emit('clear');\n        },\n        deleteTag: function deleteTag(event, tag) {\n          var index = this.selected.indexOf(tag);\n\n          if (index > -1 && !this.selectDisabled) {\n            var value = this.value.slice();\n            value.splice(index, 1);\n            this.$emit('input', value);\n            this.emitChange(value);\n            this.$emit('remove-tag', tag.value);\n          }\n\n          event.stopPropagation();\n        },\n        onInputChange: function onInputChange() {\n          if (this.filterable && this.query !== this.selectedLabel) {\n            this.query = this.selectedLabel;\n            this.handleQueryChange(this.query);\n          }\n        },\n        onOptionDestroy: function onOptionDestroy(index) {\n          if (index > -1) {\n            this.optionsCount--;\n            this.filteredOptionsCount--;\n            this.options.splice(index, 1);\n          }\n        },\n        resetInputWidth: function resetInputWidth() {\n          this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;\n        },\n        handleResize: function handleResize() {\n          this.resetInputWidth();\n          if (this.multiple) this.resetInputHeight();\n        },\n        checkDefaultFirstOption: function checkDefaultFirstOption() {\n          this.hoverIndex = -1; // highlight the created option\n\n          var hasCreated = false;\n\n          for (var i = this.options.length - 1; i >= 0; i--) {\n            if (this.options[i].created) {\n              hasCreated = true;\n              this.hoverIndex = i;\n              break;\n            }\n          }\n\n          if (hasCreated) return;\n\n          for (var _i = 0; _i !== this.options.length; ++_i) {\n            var option = this.options[_i];\n\n            if (this.query) {\n              // highlight first options that passes the filter\n              if (!option.disabled && !option.groupDisabled && option.visible) {\n                this.hoverIndex = _i;\n                break;\n              }\n            } else {\n              // highlight currently selected option\n              if (option.itemSelected) {\n                this.hoverIndex = _i;\n                break;\n              }\n            }\n          }\n        },\n        getValueKey: function getValueKey(item) {\n          if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {\n            return item.value;\n          } else {\n            return Object(util_[\"getValueByPath\"])(item.value, this.valueKey);\n          }\n        }\n      },\n      created: function created() {\n        var _this13 = this;\n\n        this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder;\n\n        if (this.multiple && !Array.isArray(this.value)) {\n          this.$emit('input', []);\n        }\n\n        if (!this.multiple && Array.isArray(this.value)) {\n          this.$emit('input', '');\n        }\n\n        this.debouncedOnInputChange = debounce_default()(this.debounce, function () {\n          _this13.onInputChange();\n        });\n        this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {\n          _this13.handleQueryChange(e.target.value);\n        });\n        this.$on('handleOptionClick', this.handleOptionSelect);\n        this.$on('setSelected', this.setSelected);\n      },\n      mounted: function mounted() {\n        var _this14 = this;\n\n        if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {\n          this.currentPlaceholder = '';\n        }\n\n        Object(resize_event_[\"addResizeListener\"])(this.$el, this.handleResize);\n        var reference = this.$refs.reference;\n\n        if (reference && reference.$el) {\n          var sizeMap = {\n            medium: 36,\n            small: 32,\n            mini: 28\n          };\n          var input = reference.$el.querySelector('input');\n          this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];\n        }\n\n        if (this.remote && this.multiple) {\n          this.resetInputHeight();\n        }\n\n        this.$nextTick(function () {\n          if (reference && reference.$el) {\n            _this14.inputWidth = reference.$el.getBoundingClientRect().width;\n          }\n        });\n        this.setSelected();\n      },\n      beforeDestroy: function beforeDestroy() {\n        if (this.$el && this.handleResize) Object(resize_event_[\"removeResizeListener\"])(this.$el, this.handleResize);\n      }\n    }; // CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_selectvue_type_script_lang_js_ = selectvue_type_script_lang_js_; // CONCATENATED MODULE: ./packages/select/src/select.vue\n\n    /* normalize component */\n\n    var select_component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_selectvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var select_api; }\n\n    select_component.options.__file = \"packages/select/src/select.vue\";\n    /* harmony default export */\n\n    var src_select = select_component.exports; // CONCATENATED MODULE: ./packages/select/index.js\n\n    /* istanbul ignore next */\n\n    src_select.install = function (Vue) {\n      Vue.component(src_select.name, src_select);\n    };\n    /* harmony default export */\n\n\n    var packages_select = __webpack_exports__[\"default\"] = src_select;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/select.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/tag.js":
/*!********************************************!*\
  !*** ./node_modules/element-ui/lib/tag.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 130);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  0:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n    /* harmony export (binding) */\n\n    __webpack_require__.d(__webpack_exports__, \"a\", function () {\n      return normalizeComponent;\n    });\n    /* globals __VUE_SSR_CONTEXT__ */\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\n\n    function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier,\n    /* server only */\n    shadowMode\n    /* vue-cli only */\n    ) {\n      // Vue.extend constructor export interop\n      var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions\n\n      if (render) {\n        options.render = render;\n        options.staticRenderFns = staticRenderFns;\n        options._compiled = true;\n      } // functional template\n\n\n      if (functionalTemplate) {\n        options.functional = true;\n      } // scopedId\n\n\n      if (scopeId) {\n        options._scopeId = 'data-v-' + scopeId;\n      }\n\n      var hook;\n\n      if (moduleIdentifier) {\n        // server build\n        hook = function hook(context) {\n          // 2.3 injection\n          context = 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\n          if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n            context = __VUE_SSR_CONTEXT__;\n          } // inject component styles\n\n\n          if (injectStyles) {\n            injectStyles.call(this, context);\n          } // register component module identifier for async chunk inferrence\n\n\n          if (context && context._registeredComponents) {\n            context._registeredComponents.add(moduleIdentifier);\n          }\n        }; // used by ssr in case component is cached and beforeCreate\n        // never gets called\n\n\n        options._ssrRegister = hook;\n      } else if (injectStyles) {\n        hook = shadowMode ? function () {\n          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; // register for functioal component in vue file\n\n          var originalRender = options.render;\n\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 ? [].concat(existing, hook) : [hook];\n        }\n      }\n\n      return {\n        exports: scriptExports,\n        options: options\n      };\n    }\n    /***/\n\n  },\n\n  /***/\n  130:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n\n    var tagvue_type_script_lang_js_ = {\n      name: 'ElTag',\n      props: {\n        text: String,\n        closable: Boolean,\n        type: String,\n        hit: Boolean,\n        disableTransitions: Boolean,\n        color: String,\n        size: String,\n        effect: {\n          type: String,\n          default: 'light',\n          validator: function validator(val) {\n            return ['dark', 'light', 'plain'].indexOf(val) !== -1;\n          }\n        }\n      },\n      methods: {\n        handleClose: function handleClose(event) {\n          event.stopPropagation();\n          this.$emit('close', event);\n        },\n        handleClick: function handleClick(event) {\n          this.$emit('click', event);\n        }\n      },\n      computed: {\n        tagSize: function tagSize() {\n          return this.size || (this.$ELEMENT || {}).size;\n        }\n      },\n      render: function render(h) {\n        var type = this.type,\n            tagSize = this.tagSize,\n            hit = this.hit,\n            effect = this.effect;\n        var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit'];\n        var tagEl = h('span', {\n          'class': classes,\n          style: {\n            backgroundColor: this.color\n          },\n          on: {\n            'click': this.handleClick\n          }\n        }, [this.$slots.default, this.closable && h('i', {\n          'class': 'el-tag__close el-icon-close',\n          on: {\n            'click': this.handleClose\n          }\n        })]);\n        return this.disableTransitions ? tagEl : h('transition', {\n          attrs: {\n            name: 'el-zoom-in-center'\n          }\n        }, [tagEl]);\n      }\n    }; // CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js&\n\n    /* harmony default export */\n\n    var src_tagvue_type_script_lang_js_ = tagvue_type_script_lang_js_; // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n\n    var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/tag/src/tag.vue\n\n\n    var render, staticRenderFns;\n    /* normalize component */\n\n    var component = Object(componentNormalizer[\"a\"\n    /* default */\n    ])(src_tagvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null);\n    /* hot reload */\n\n    if (false) { var api; }\n\n    component.options.__file = \"packages/tag/src/tag.vue\";\n    /* harmony default export */\n\n    var tag = component.exports; // CONCATENATED MODULE: ./packages/tag/index.js\n\n    /* istanbul ignore next */\n\n    tag.install = function (Vue) {\n      Vue.component(tag.name, tag);\n    };\n    /* harmony default export */\n\n\n    var packages_tag = __webpack_exports__[\"default\"] = tag;\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/tag.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf":
/*!*************************************************************************!*\
  !*** ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/element-icons.732389de.ttf\";\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf?");

/***/ }),

/***/ "./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff":
/*!**************************************************************************!*\
  !*** ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff ***!
  \**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/element-icons.535877f5.woff\";\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff?");

/***/ }),

/***/ "./node_modules/element-ui/lib/theme-chalk/index.css":
/*!***********************************************************!*\
  !*** ./node_modules/element-ui/lib/theme-chalk/index.css ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js??ref--7-oneOf-3-1!../../../postcss-loader/src??ref--7-oneOf-3-2!./index.css */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/element-ui/lib/theme-chalk/index.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f31f4b46\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/theme-chalk/index.css?");

/***/ }),

/***/ "./node_modules/element-ui/lib/tooltip.js":
/*!************************************************!*\
  !*** ./node_modules/element-ui/lib/tooltip.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nmodule.exports =\n/******/\nfunction (modules) {\n  // webpackBootstrap\n\n  /******/\n  // The module cache\n\n  /******/\n  var installedModules = {};\n  /******/\n\n  /******/\n  // The require function\n\n  /******/\n\n  function __webpack_require__(moduleId) {\n    /******/\n\n    /******/\n    // Check if module is in cache\n\n    /******/\n    if (installedModules[moduleId]) {\n      /******/\n      return installedModules[moduleId].exports;\n      /******/\n    }\n    /******/\n    // Create a new module (and put it into the cache)\n\n    /******/\n\n\n    var module = installedModules[moduleId] = {\n      /******/\n      i: moduleId,\n\n      /******/\n      l: false,\n\n      /******/\n      exports: {}\n      /******/\n\n    };\n    /******/\n\n    /******/\n    // Execute the module function\n\n    /******/\n\n    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n\n    /******/\n    // Flag the module as loaded\n\n    /******/\n\n    module.l = true;\n    /******/\n\n    /******/\n    // Return the exports of the module\n\n    /******/\n\n    return module.exports;\n    /******/\n  }\n  /******/\n\n  /******/\n\n  /******/\n  // expose the modules object (__webpack_modules__)\n\n  /******/\n\n\n  __webpack_require__.m = modules;\n  /******/\n\n  /******/\n  // expose the module cache\n\n  /******/\n\n  __webpack_require__.c = installedModules;\n  /******/\n\n  /******/\n  // define getter function for harmony exports\n\n  /******/\n\n  __webpack_require__.d = function (exports, name, getter) {\n    /******/\n    if (!__webpack_require__.o(exports, name)) {\n      /******/\n      Object.defineProperty(exports, name, {\n        enumerable: true,\n        get: getter\n      });\n      /******/\n    }\n    /******/\n\n  };\n  /******/\n\n  /******/\n  // define __esModule on exports\n\n  /******/\n\n\n  __webpack_require__.r = function (exports) {\n    /******/\n    if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n      /******/\n      Object.defineProperty(exports, Symbol.toStringTag, {\n        value: 'Module'\n      });\n      /******/\n    }\n    /******/\n\n\n    Object.defineProperty(exports, '__esModule', {\n      value: true\n    });\n    /******/\n  };\n  /******/\n\n  /******/\n  // create a fake namespace object\n\n  /******/\n  // mode & 1: value is a module id, require it\n\n  /******/\n  // mode & 2: merge all properties of value into the ns\n\n  /******/\n  // mode & 4: return value when already ns object\n\n  /******/\n  // mode & 8|1: behave like require\n\n  /******/\n\n\n  __webpack_require__.t = function (value, mode) {\n    /******/\n    if (mode & 1) value = __webpack_require__(value);\n    /******/\n\n    if (mode & 8) return value;\n    /******/\n\n    if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value;\n    /******/\n\n    var ns = Object.create(null);\n    /******/\n\n    __webpack_require__.r(ns);\n    /******/\n\n\n    Object.defineProperty(ns, 'default', {\n      enumerable: true,\n      value: value\n    });\n    /******/\n\n    if (mode & 2 && typeof value != 'string') for (var key in value) {\n      __webpack_require__.d(ns, key, function (key) {\n        return value[key];\n      }.bind(null, key));\n    }\n    /******/\n\n    return ns;\n    /******/\n  };\n  /******/\n\n  /******/\n  // getDefaultExport function for compatibility with non-harmony modules\n\n  /******/\n\n\n  __webpack_require__.n = function (module) {\n    /******/\n    var getter = module && module.__esModule ?\n    /******/\n    function getDefault() {\n      return module['default'];\n    } :\n    /******/\n    function getModuleExports() {\n      return module;\n    };\n    /******/\n\n    __webpack_require__.d(getter, 'a', getter);\n    /******/\n\n\n    return getter;\n    /******/\n  };\n  /******/\n\n  /******/\n  // Object.prototype.hasOwnProperty.call\n\n  /******/\n\n\n  __webpack_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  /******/\n\n  /******/\n  // __webpack_public_path__\n\n  /******/\n\n\n  __webpack_require__.p = \"/dist/\";\n  /******/\n\n  /******/\n\n  /******/\n  // Load entry module and return exports\n\n  /******/\n\n  return __webpack_require__(__webpack_require__.s = 136);\n  /******/\n}\n/************************************************************************/\n\n/******/\n({\n  /***/\n  136:\n  /***/\n  function _(module, __webpack_exports__, __webpack_require__) {\n    \"use strict\";\n\n    __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\n\n\n    var vue_popper_ = __webpack_require__(5);\n\n    var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); // EXTERNAL MODULE: external \"throttle-debounce/debounce\"\n\n\n    var debounce_ = __webpack_require__(18);\n\n    var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); // EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\n\n\n    var dom_ = __webpack_require__(2); // EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\n\n\n    var util_ = __webpack_require__(3); // EXTERNAL MODULE: external \"vue\"\n\n\n    var external_vue_ = __webpack_require__(7);\n\n    var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); // CONCATENATED MODULE: ./packages/tooltip/src/main.js\n\n    /* harmony default export */\n\n\n    var main = {\n      name: 'ElTooltip',\n      mixins: [vue_popper_default.a],\n      props: {\n        openDelay: {\n          type: Number,\n          default: 0\n        },\n        disabled: Boolean,\n        manual: Boolean,\n        effect: {\n          type: String,\n          default: 'dark'\n        },\n        arrowOffset: {\n          type: Number,\n          default: 0\n        },\n        popperClass: String,\n        content: String,\n        visibleArrow: {\n          default: true\n        },\n        transition: {\n          type: String,\n          default: 'el-fade-in-linear'\n        },\n        popperOptions: {\n          default: function _default() {\n            return {\n              boundariesPadding: 10,\n              gpuAcceleration: false\n            };\n          }\n        },\n        enterable: {\n          type: Boolean,\n          default: true\n        },\n        hideAfter: {\n          type: Number,\n          default: 0\n        },\n        tabindex: {\n          type: Number,\n          default: 0\n        }\n      },\n      data: function data() {\n        return {\n          tooltipId: 'el-tooltip-' + Object(util_[\"generateId\"])(),\n          timeoutPending: null,\n          focusing: false\n        };\n      },\n      beforeCreate: function beforeCreate() {\n        var _this = this;\n\n        if (this.$isServer) return;\n        this.popperVM = new external_vue_default.a({\n          data: {\n            node: ''\n          },\n          render: function render(h) {\n            return this.node;\n          }\n        }).$mount();\n        this.debounceClose = debounce_default()(200, function () {\n          return _this.handleClosePopper();\n        });\n      },\n      render: function render(h) {\n        var _this2 = this;\n\n        if (this.popperVM) {\n          this.popperVM.node = h('transition', {\n            attrs: {\n              name: this.transition\n            },\n            on: {\n              'afterLeave': this.doDestroy\n            }\n          }, [h('div', {\n            on: {\n              'mouseleave': function mouseleave() {\n                _this2.setExpectedState(false);\n\n                _this2.debounceClose();\n              },\n              'mouseenter': function mouseenter() {\n                _this2.setExpectedState(true);\n              }\n            },\n            ref: 'popper',\n            attrs: {\n              role: 'tooltip',\n              id: this.tooltipId,\n              'aria-hidden': this.disabled || !this.showPopper ? 'true' : 'false'\n            },\n            directives: [{\n              name: 'show',\n              value: !this.disabled && this.showPopper\n            }],\n            'class': ['el-tooltip__popper', 'is-' + this.effect, this.popperClass]\n          }, [this.$slots.content || this.content])]);\n        }\n\n        var firstElement = this.getFirstElement();\n        if (!firstElement) return null;\n        var data = firstElement.data = firstElement.data || {};\n        data.staticClass = this.addTooltipClass(data.staticClass);\n        return firstElement;\n      },\n      mounted: function mounted() {\n        var _this3 = this;\n\n        this.referenceElm = this.$el;\n\n        if (this.$el.nodeType === 1) {\n          this.$el.setAttribute('aria-describedby', this.tooltipId);\n          this.$el.setAttribute('tabindex', this.tabindex);\n          Object(dom_[\"on\"])(this.referenceElm, 'mouseenter', this.show);\n          Object(dom_[\"on\"])(this.referenceElm, 'mouseleave', this.hide);\n          Object(dom_[\"on\"])(this.referenceElm, 'focus', function () {\n            if (!_this3.$slots.default || !_this3.$slots.default.length) {\n              _this3.handleFocus();\n\n              return;\n            }\n\n            var instance = _this3.$slots.default[0].componentInstance;\n\n            if (instance && instance.focus) {\n              instance.focus();\n            } else {\n              _this3.handleFocus();\n            }\n          });\n          Object(dom_[\"on\"])(this.referenceElm, 'blur', this.handleBlur);\n          Object(dom_[\"on\"])(this.referenceElm, 'click', this.removeFocusing);\n        } // fix issue https://github.com/ElemeFE/element/issues/14424\n\n\n        if (this.value && this.popperVM) {\n          this.popperVM.$nextTick(function () {\n            if (_this3.value) {\n              _this3.updatePopper();\n            }\n          });\n        }\n      },\n      watch: {\n        focusing: function focusing(val) {\n          if (val) {\n            Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n          } else {\n            Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n          }\n        }\n      },\n      methods: {\n        show: function show() {\n          this.setExpectedState(true);\n          this.handleShowPopper();\n        },\n        hide: function hide() {\n          this.setExpectedState(false);\n          this.debounceClose();\n        },\n        handleFocus: function handleFocus() {\n          this.focusing = true;\n          this.show();\n        },\n        handleBlur: function handleBlur() {\n          this.focusing = false;\n          this.hide();\n        },\n        removeFocusing: function removeFocusing() {\n          this.focusing = false;\n        },\n        addTooltipClass: function addTooltipClass(prev) {\n          if (!prev) {\n            return 'el-tooltip';\n          } else {\n            return 'el-tooltip ' + prev.replace('el-tooltip', '');\n          }\n        },\n        handleShowPopper: function handleShowPopper() {\n          var _this4 = this;\n\n          if (!this.expectedState || this.manual) return;\n          clearTimeout(this.timeout);\n          this.timeout = setTimeout(function () {\n            _this4.showPopper = true;\n          }, this.openDelay);\n\n          if (this.hideAfter > 0) {\n            this.timeoutPending = setTimeout(function () {\n              _this4.showPopper = false;\n            }, this.hideAfter);\n          }\n        },\n        handleClosePopper: function handleClosePopper() {\n          if (this.enterable && this.expectedState || this.manual) return;\n          clearTimeout(this.timeout);\n\n          if (this.timeoutPending) {\n            clearTimeout(this.timeoutPending);\n          }\n\n          this.showPopper = false;\n\n          if (this.disabled) {\n            this.doDestroy();\n          }\n        },\n        setExpectedState: function setExpectedState(expectedState) {\n          if (expectedState === false) {\n            clearTimeout(this.timeoutPending);\n          }\n\n          this.expectedState = expectedState;\n        },\n        getFirstElement: function getFirstElement() {\n          var slots = this.$slots.default;\n          if (!Array.isArray(slots)) return null;\n          var element = null;\n\n          for (var index = 0; index < slots.length; index++) {\n            if (slots[index] && slots[index].tag) {\n              element = slots[index];\n            }\n\n            ;\n          }\n\n          return element;\n        }\n      },\n      beforeDestroy: function beforeDestroy() {\n        this.popperVM && this.popperVM.$destroy();\n      },\n      destroyed: function destroyed() {\n        var reference = this.referenceElm;\n\n        if (reference.nodeType === 1) {\n          Object(dom_[\"off\"])(reference, 'mouseenter', this.show);\n          Object(dom_[\"off\"])(reference, 'mouseleave', this.hide);\n          Object(dom_[\"off\"])(reference, 'focus', this.handleFocus);\n          Object(dom_[\"off\"])(reference, 'blur', this.handleBlur);\n          Object(dom_[\"off\"])(reference, 'click', this.removeFocusing);\n        }\n      }\n    }; // CONCATENATED MODULE: ./packages/tooltip/index.js\n\n    /* istanbul ignore next */\n\n    main.install = function (Vue) {\n      Vue.component(main.name, main);\n    };\n    /* harmony default export */\n\n\n    var tooltip = __webpack_exports__[\"default\"] = main;\n    /***/\n  },\n\n  /***/\n  18:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! throttle-debounce/debounce */ \"./node_modules/throttle-debounce/debounce.js\");\n    /***/\n  },\n\n  /***/\n  2:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n    /***/\n  },\n\n  /***/\n  3:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n    /***/\n  },\n\n  /***/\n  5:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! element-ui/lib/utils/vue-popper */ \"./node_modules/element-ui/lib/utils/vue-popper.js\");\n    /***/\n  },\n\n  /***/\n  7:\n  /***/\n  function _(module, exports) {\n    module.exports = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n    /***/\n  }\n  /******/\n\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/tooltip.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/transitions/collapse-transition.js":
/*!************************************************************************!*\
  !*** ./node_modules/element-ui/lib/transitions/collapse-transition.js ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\nexports.__esModule = true;\n\nvar _dom = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nvar Transition = function () {\n  function Transition() {\n    _classCallCheck(this, Transition);\n  }\n\n  Transition.prototype.beforeEnter = function beforeEnter(el) {\n    (0, _dom.addClass)(el, 'collapse-transition');\n    if (!el.dataset) el.dataset = {};\n    el.dataset.oldPaddingTop = el.style.paddingTop;\n    el.dataset.oldPaddingBottom = el.style.paddingBottom;\n    el.style.height = '0';\n    el.style.paddingTop = 0;\n    el.style.paddingBottom = 0;\n  };\n\n  Transition.prototype.enter = function enter(el) {\n    el.dataset.oldOverflow = el.style.overflow;\n\n    if (el.scrollHeight !== 0) {\n      el.style.height = el.scrollHeight + 'px';\n      el.style.paddingTop = el.dataset.oldPaddingTop;\n      el.style.paddingBottom = el.dataset.oldPaddingBottom;\n    } else {\n      el.style.height = '';\n      el.style.paddingTop = el.dataset.oldPaddingTop;\n      el.style.paddingBottom = el.dataset.oldPaddingBottom;\n    }\n\n    el.style.overflow = 'hidden';\n  };\n\n  Transition.prototype.afterEnter = function afterEnter(el) {\n    // for safari: remove class then reset height is necessary\n    (0, _dom.removeClass)(el, 'collapse-transition');\n    el.style.height = '';\n    el.style.overflow = el.dataset.oldOverflow;\n  };\n\n  Transition.prototype.beforeLeave = function beforeLeave(el) {\n    if (!el.dataset) el.dataset = {};\n    el.dataset.oldPaddingTop = el.style.paddingTop;\n    el.dataset.oldPaddingBottom = el.style.paddingBottom;\n    el.dataset.oldOverflow = el.style.overflow;\n    el.style.height = el.scrollHeight + 'px';\n    el.style.overflow = 'hidden';\n  };\n\n  Transition.prototype.leave = function leave(el) {\n    if (el.scrollHeight !== 0) {\n      // for safari: add class after set height, or it will jump to zero height suddenly, weired\n      (0, _dom.addClass)(el, 'collapse-transition');\n      el.style.height = 0;\n      el.style.paddingTop = 0;\n      el.style.paddingBottom = 0;\n    }\n  };\n\n  Transition.prototype.afterLeave = function afterLeave(el) {\n    (0, _dom.removeClass)(el, 'collapse-transition');\n    el.style.height = '';\n    el.style.overflow = el.dataset.oldOverflow;\n    el.style.paddingTop = el.dataset.oldPaddingTop;\n    el.style.paddingBottom = el.dataset.oldPaddingBottom;\n  };\n\n  return Transition;\n}();\n\nexports.default = {\n  name: 'ElCollapseTransition',\n  functional: true,\n  render: function render(h, _ref) {\n    var children = _ref.children;\n    var data = {\n      on: new Transition()\n    };\n    return h('transition', data, children);\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/transitions/collapse-transition.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/after-leave.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/after-leave.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\nexports.__esModule = true;\n\nexports.default = function (instance, callback) {\n  var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n  var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  if (!instance || !callback) throw new Error('instance & callback is required');\n  var called = false;\n\n  var afterLeaveCallback = function afterLeaveCallback() {\n    if (called) return;\n    called = true;\n\n    if (callback) {\n      callback.apply(null, arguments);\n    }\n  };\n\n  if (once) {\n    instance.$once('after-leave', afterLeaveCallback);\n  } else {\n    instance.$on('after-leave', afterLeaveCallback);\n  }\n\n  setTimeout(function () {\n    afterLeaveCallback();\n  }, speed + 100);\n};\n\n;\n/**\n * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.\n *\n * @param {Vue} instance Vue instance.\n * @param {Function} callback callback of after-leave event\n * @param {Number} speed the speed of transition, default value is 300ms\n * @param {Boolean} once weather bind after-leave once. default value is false.\n */\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/after-leave.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/aria-dialog.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/aria-dialog.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nvar _ariaUtils = __webpack_require__(/*! ./aria-utils */ \"./node_modules/element-ui/lib/utils/aria-utils.js\");\n\nvar _ariaUtils2 = _interopRequireDefault(_ariaUtils);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n/**\n * @constructor\n * @desc Dialog object providing modal focus management.\n *\n * Assumptions: The element serving as the dialog container is present in the\n * DOM and hidden. The dialog container has role='dialog'.\n *\n * @param dialogId\n *          The ID of the element serving as the dialog container.\n * @param focusAfterClosed\n *          Either the DOM node or the ID of the DOM node to focus when the\n *          dialog closes.\n * @param focusFirst\n *          Optional parameter containing either the DOM node or the ID of the\n *          DOM node to focus when the dialog opens. If not specified, the\n *          first focusable element in the dialog will receive focus.\n */\n\n\nvar aria = aria || {};\nvar tabEvent;\n\naria.Dialog = function (dialog, focusAfterClosed, focusFirst) {\n  var _this = this;\n\n  this.dialogNode = dialog;\n\n  if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') {\n    throw new Error('Dialog() requires a DOM element with ARIA role of dialog.');\n  }\n\n  if (typeof focusAfterClosed === 'string') {\n    this.focusAfterClosed = document.getElementById(focusAfterClosed);\n  } else if ((typeof focusAfterClosed === 'undefined' ? 'undefined' : _typeof(focusAfterClosed)) === 'object') {\n    this.focusAfterClosed = focusAfterClosed;\n  } else {\n    this.focusAfterClosed = null;\n  }\n\n  if (typeof focusFirst === 'string') {\n    this.focusFirst = document.getElementById(focusFirst);\n  } else if ((typeof focusFirst === 'undefined' ? 'undefined' : _typeof(focusFirst)) === 'object') {\n    this.focusFirst = focusFirst;\n  } else {\n    this.focusFirst = null;\n  }\n\n  if (this.focusFirst) {\n    this.focusFirst.focus();\n  } else {\n    _ariaUtils2.default.focusFirstDescendant(this.dialogNode);\n  }\n\n  this.lastFocus = document.activeElement;\n\n  tabEvent = function tabEvent(e) {\n    _this.trapFocus(e);\n  };\n\n  this.addListeners();\n};\n\naria.Dialog.prototype.addListeners = function () {\n  document.addEventListener('focus', tabEvent, true);\n};\n\naria.Dialog.prototype.removeListeners = function () {\n  document.removeEventListener('focus', tabEvent, true);\n};\n\naria.Dialog.prototype.closeDialog = function () {\n  var _this2 = this;\n\n  this.removeListeners();\n\n  if (this.focusAfterClosed) {\n    setTimeout(function () {\n      _this2.focusAfterClosed.focus();\n    });\n  }\n};\n\naria.Dialog.prototype.trapFocus = function (event) {\n  if (_ariaUtils2.default.IgnoreUtilFocusChanges) {\n    return;\n  }\n\n  if (this.dialogNode.contains(event.target)) {\n    this.lastFocus = event.target;\n  } else {\n    _ariaUtils2.default.focusFirstDescendant(this.dialogNode);\n\n    if (this.lastFocus === document.activeElement) {\n      _ariaUtils2.default.focusLastDescendant(this.dialogNode);\n    }\n\n    this.lastFocus = document.activeElement;\n  }\n};\n\nexports.default = aria.Dialog;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/aria-dialog.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/aria-utils.js":
/*!*********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/aria-utils.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\nexports.__esModule = true;\nvar aria = aria || {};\naria.Utils = aria.Utils || {};\n/**\n * @desc Set focus on descendant nodes until the first focusable element is\n *       found.\n * @param element\n *          DOM node for which to find the first focusable descendant.\n * @returns\n *  true if a focusable element is found and focus is set.\n */\n\naria.Utils.focusFirstDescendant = function (element) {\n  for (var i = 0; i < element.childNodes.length; i++) {\n    var child = element.childNodes[i];\n\n    if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) {\n      return true;\n    }\n  }\n\n  return false;\n};\n/**\n * @desc Find the last descendant node that is focusable.\n * @param element\n *          DOM node for which to find the last focusable descendant.\n * @returns\n *  true if a focusable element is found and focus is set.\n */\n\n\naria.Utils.focusLastDescendant = function (element) {\n  for (var i = element.childNodes.length - 1; i >= 0; i--) {\n    var child = element.childNodes[i];\n\n    if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) {\n      return true;\n    }\n  }\n\n  return false;\n};\n/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n *          The node to attempt to focus on.\n * @returns\n *  true if element is focused.\n */\n\n\naria.Utils.attemptFocus = function (element) {\n  if (!aria.Utils.isFocusable(element)) {\n    return false;\n  }\n\n  aria.Utils.IgnoreUtilFocusChanges = true;\n\n  try {\n    element.focus();\n  } catch (e) {}\n\n  aria.Utils.IgnoreUtilFocusChanges = false;\n  return document.activeElement === element;\n};\n\naria.Utils.isFocusable = function (element) {\n  if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) {\n    return true;\n  }\n\n  if (element.disabled) {\n    return false;\n  }\n\n  switch (element.nodeName) {\n    case 'A':\n      return !!element.href && element.rel !== 'ignore';\n\n    case 'INPUT':\n      return element.type !== 'hidden' && element.type !== 'file';\n\n    case 'BUTTON':\n    case 'SELECT':\n    case 'TEXTAREA':\n      return true;\n\n    default:\n      return false;\n  }\n};\n/**\n * 触发一个事件\n * mouseenter, mouseleave, mouseover, keyup, change, click 等\n * @param  {Element} elm\n * @param  {String} name\n * @param  {*} opts\n */\n\n\naria.Utils.triggerEvent = function (elm, name) {\n  var eventName = void 0;\n\n  if (/^mouse|click/.test(name)) {\n    eventName = 'MouseEvents';\n  } else if (/^key/.test(name)) {\n    eventName = 'KeyboardEvent';\n  } else {\n    eventName = 'HTMLEvents';\n  }\n\n  var evt = document.createEvent(eventName);\n\n  for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    opts[_key - 2] = arguments[_key];\n  }\n\n  evt.initEvent.apply(evt, [name].concat(opts));\n  elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt);\n  return elm;\n};\n\naria.Utils.keys = {\n  tab: 9,\n  enter: 13,\n  space: 32,\n  left: 37,\n  up: 38,\n  right: 39,\n  down: 40,\n  esc: 27\n};\nexports.default = aria.Utils;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/aria-utils.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/clickoutside.js":
/*!***********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/clickoutside.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\nexports.__esModule = true;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar nodeList = [];\nvar ctx = '@@clickoutsideContext';\nvar startClick = void 0;\nvar seed = 0;\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {\n  return startClick = e;\n});\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) {\n  nodeList.forEach(function (node) {\n    return node[ctx].documentHandler(e, startClick);\n  });\n});\n\nfunction createDocumentHandler(el, binding, vnode) {\n  return function () {\n    var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return;\n\n    if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) {\n      vnode.context[el[ctx].methodName]();\n    } else {\n      el[ctx].bindingFn && el[ctx].bindingFn();\n    }\n  };\n}\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n * <div v-element-clickoutside=\"handleClose\">\n * ```\n */\n\n\nexports.default = {\n  bind: function bind(el, binding, vnode) {\n    nodeList.push(el);\n    var id = seed++;\n    el[ctx] = {\n      id: id,\n      documentHandler: createDocumentHandler(el, binding, vnode),\n      methodName: binding.expression,\n      bindingFn: binding.value\n    };\n  },\n  update: function update(el, binding, vnode) {\n    el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);\n    el[ctx].methodName = binding.expression;\n    el[ctx].bindingFn = binding.value;\n  },\n  unbind: function unbind(el) {\n    var len = nodeList.length;\n\n    for (var i = 0; i < len; i++) {\n      if (nodeList[i][ctx].id === el[ctx].id) {\n        nodeList.splice(i, 1);\n        break;\n      }\n    }\n\n    delete el[ctx];\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/clickoutside.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/date-util.js":
/*!********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/date-util.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\nexports.__esModule = true;\nexports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined;\n\nvar _date = __webpack_require__(/*! element-ui/lib/utils/date */ \"./node_modules/element-ui/lib/utils/date.js\");\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _locale = __webpack_require__(/*! element-ui/lib/locale */ \"./node_modules/element-ui/lib/locale/index.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar weeks = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];\nvar months = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];\n\nvar newArray = function newArray(start, end) {\n  var result = [];\n\n  for (var i = start; i <= end; i++) {\n    result.push(i);\n  }\n\n  return result;\n};\n\nvar getI18nSettings = exports.getI18nSettings = function getI18nSettings() {\n  return {\n    dayNamesShort: weeks.map(function (week) {\n      return (0, _locale.t)('el.datepicker.weeks.' + week);\n    }),\n    dayNames: weeks.map(function (week) {\n      return (0, _locale.t)('el.datepicker.weeks.' + week);\n    }),\n    monthNamesShort: months.map(function (month) {\n      return (0, _locale.t)('el.datepicker.months.' + month);\n    }),\n    monthNames: months.map(function (month, index) {\n      return (0, _locale.t)('el.datepicker.month' + (index + 1));\n    }),\n    amPm: ['am', 'pm']\n  };\n};\n\nvar toDate = exports.toDate = function toDate(date) {\n  return isDate(date) ? new Date(date) : null;\n};\n\nvar isDate = exports.isDate = function isDate(date) {\n  if (date === null || date === undefined) return false;\n  if (isNaN(new Date(date).getTime())) return false;\n  if (Array.isArray(date)) return false; // deal with `new Date([ new Date() ]) -> new Date()`\n\n  return true;\n};\n\nvar isDateObject = exports.isDateObject = function isDateObject(val) {\n  return val instanceof Date;\n};\n\nvar formatDate = exports.formatDate = function formatDate(date, format) {\n  date = toDate(date);\n  if (!date) return '';\n  return _date2.default.format(date, format || 'yyyy-MM-dd', getI18nSettings());\n};\n\nvar parseDate = exports.parseDate = function parseDate(string, format) {\n  return _date2.default.parse(string, format || 'yyyy-MM-dd', getI18nSettings());\n};\n\nvar getDayCountOfMonth = exports.getDayCountOfMonth = function getDayCountOfMonth(year, month) {\n  if (month === 3 || month === 5 || month === 8 || month === 10) {\n    return 30;\n  }\n\n  if (month === 1) {\n    if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {\n      return 29;\n    } else {\n      return 28;\n    }\n  }\n\n  return 31;\n};\n\nvar getDayCountOfYear = exports.getDayCountOfYear = function getDayCountOfYear(year) {\n  var isLeapYear = year % 400 === 0 || year % 100 !== 0 && year % 4 === 0;\n  return isLeapYear ? 366 : 365;\n};\n\nvar getFirstDayOfMonth = exports.getFirstDayOfMonth = function getFirstDayOfMonth(date) {\n  var temp = new Date(date.getTime());\n  temp.setDate(1);\n  return temp.getDay();\n}; // see: https://stackoverflow.com/questions/3674539/incrementing-a-date-in-javascript\n// {prev, next} Date should work for Daylight Saving Time\n// Adding 24 * 60 * 60 * 1000 does not work in the above scenario\n\n\nvar prevDate = exports.prevDate = function prevDate(date) {\n  var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n  return new Date(date.getFullYear(), date.getMonth(), date.getDate() - amount);\n};\n\nvar nextDate = exports.nextDate = function nextDate(date) {\n  var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n  return new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount);\n};\n\nvar getStartDateOfMonth = exports.getStartDateOfMonth = function getStartDateOfMonth(year, month) {\n  var result = new Date(year, month, 1);\n  var day = result.getDay();\n\n  if (day === 0) {\n    return prevDate(result, 7);\n  } else {\n    return prevDate(result, day);\n  }\n};\n\nvar getWeekNumber = exports.getWeekNumber = function getWeekNumber(src) {\n  if (!isDate(src)) return null;\n  var date = new Date(src.getTime());\n  date.setHours(0, 0, 0, 0); // Thursday in current week decides the year.\n\n  date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7); // January 4 is always in week 1.\n\n  var week1 = new Date(date.getFullYear(), 0, 4); // Adjust to Thursday in week 1 and count number of weeks from date to week 1.\n  // Rounding should be fine for Daylight Saving Time. Its shift should never be more than 12 hours.\n\n  return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n};\n\nvar getRangeHours = exports.getRangeHours = function getRangeHours(ranges) {\n  var hours = [];\n  var disabledHours = [];\n  (ranges || []).forEach(function (range) {\n    var value = range.map(function (date) {\n      return date.getHours();\n    });\n    disabledHours = disabledHours.concat(newArray(value[0], value[1]));\n  });\n\n  if (disabledHours.length) {\n    for (var i = 0; i < 24; i++) {\n      hours[i] = disabledHours.indexOf(i) === -1;\n    }\n  } else {\n    for (var _i = 0; _i < 24; _i++) {\n      hours[_i] = false;\n    }\n  }\n\n  return hours;\n};\n\nvar getPrevMonthLastDays = exports.getPrevMonthLastDays = function getPrevMonthLastDays(date, amount) {\n  if (amount <= 0) return [];\n  var temp = new Date(date.getTime());\n  temp.setDate(0);\n  var lastDay = temp.getDate();\n  return range(amount).map(function (_, index) {\n    return lastDay - (amount - index - 1);\n  });\n};\n\nvar getMonthDays = exports.getMonthDays = function getMonthDays(date) {\n  var temp = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n  var days = temp.getDate();\n  return range(days).map(function (_, index) {\n    return index + 1;\n  });\n};\n\nfunction setRangeData(arr, start, end, value) {\n  for (var i = start; i < end; i++) {\n    arr[i] = value;\n  }\n}\n\nvar getRangeMinutes = exports.getRangeMinutes = function getRangeMinutes(ranges, hour) {\n  var minutes = new Array(60);\n\n  if (ranges.length > 0) {\n    ranges.forEach(function (range) {\n      var start = range[0];\n      var end = range[1];\n      var startHour = start.getHours();\n      var startMinute = start.getMinutes();\n      var endHour = end.getHours();\n      var endMinute = end.getMinutes();\n\n      if (startHour === hour && endHour !== hour) {\n        setRangeData(minutes, startMinute, 60, true);\n      } else if (startHour === hour && endHour === hour) {\n        setRangeData(minutes, startMinute, endMinute + 1, true);\n      } else if (startHour !== hour && endHour === hour) {\n        setRangeData(minutes, 0, endMinute + 1, true);\n      } else if (startHour < hour && endHour > hour) {\n        setRangeData(minutes, 0, 60, true);\n      }\n    });\n  } else {\n    setRangeData(minutes, 0, 60, true);\n  }\n\n  return minutes;\n};\n\nvar range = exports.range = function range(n) {\n  // see https://stackoverflow.com/questions/3746725/create-a-javascript-array-containing-1-n\n  return Array.apply(null, {\n    length: n\n  }).map(function (_, n) {\n    return n;\n  });\n};\n\nvar modifyDate = exports.modifyDate = function modifyDate(date, y, m, d) {\n  return new Date(y, m, d, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n};\n\nvar modifyTime = exports.modifyTime = function modifyTime(date, h, m, s) {\n  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), h, m, s, date.getMilliseconds());\n};\n\nvar modifyWithTimeString = exports.modifyWithTimeString = function modifyWithTimeString(date, time) {\n  if (date == null || !time) {\n    return date;\n  }\n\n  time = parseDate(time, 'HH:mm:ss');\n  return modifyTime(date, time.getHours(), time.getMinutes(), time.getSeconds());\n};\n\nvar clearTime = exports.clearTime = function clearTime(date) {\n  return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n};\n\nvar clearMilliseconds = exports.clearMilliseconds = function clearMilliseconds(date) {\n  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0);\n};\n\nvar limitTimeRange = exports.limitTimeRange = function limitTimeRange(date, ranges) {\n  var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'HH:mm:ss'; // TODO: refactory a more elegant solution\n\n  if (ranges.length === 0) return date;\n\n  var normalizeDate = function normalizeDate(date) {\n    return _date2.default.parse(_date2.default.format(date, format), format);\n  };\n\n  var ndate = normalizeDate(date);\n  var nranges = ranges.map(function (range) {\n    return range.map(normalizeDate);\n  });\n  if (nranges.some(function (nrange) {\n    return ndate >= nrange[0] && ndate <= nrange[1];\n  })) return date;\n  var minDate = nranges[0][0];\n  var maxDate = nranges[0][0];\n  nranges.forEach(function (nrange) {\n    minDate = new Date(Math.min(nrange[0], minDate));\n    maxDate = new Date(Math.max(nrange[1], minDate));\n  });\n  var ret = ndate < minDate ? minDate : maxDate; // preserve Year/Month/Date\n\n  return modifyDate(ret, date.getFullYear(), date.getMonth(), date.getDate());\n};\n\nvar timeWithinRange = exports.timeWithinRange = function timeWithinRange(date, selectableRange, format) {\n  var limitedDate = limitTimeRange(date, selectableRange, format);\n  return limitedDate.getTime() === date.getTime();\n};\n\nvar changeYearMonthAndClampDate = exports.changeYearMonthAndClampDate = function changeYearMonthAndClampDate(date, year, month) {\n  // clamp date to the number of days in `year`, `month`\n  // eg: (2010-1-31, 2010, 2) => 2010-2-28\n  var monthDate = Math.min(date.getDate(), getDayCountOfMonth(year, month));\n  return modifyDate(date, year, month, monthDate);\n};\n\nvar prevMonth = exports.prevMonth = function prevMonth(date) {\n  var year = date.getFullYear();\n  var month = date.getMonth();\n  return month === 0 ? changeYearMonthAndClampDate(date, year - 1, 11) : changeYearMonthAndClampDate(date, year, month - 1);\n};\n\nvar nextMonth = exports.nextMonth = function nextMonth(date) {\n  var year = date.getFullYear();\n  var month = date.getMonth();\n  return month === 11 ? changeYearMonthAndClampDate(date, year + 1, 0) : changeYearMonthAndClampDate(date, year, month + 1);\n};\n\nvar prevYear = exports.prevYear = function prevYear(date) {\n  var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n  var year = date.getFullYear();\n  var month = date.getMonth();\n  return changeYearMonthAndClampDate(date, year - amount, month);\n};\n\nvar nextYear = exports.nextYear = function nextYear(date) {\n  var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n  var year = date.getFullYear();\n  var month = date.getMonth();\n  return changeYearMonthAndClampDate(date, year + amount, month);\n};\n\nvar extractDateFormat = exports.extractDateFormat = function extractDateFormat(format) {\n  return format.replace(/\\W?m{1,2}|\\W?ZZ/g, '').replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '').trim();\n};\n\nvar extractTimeFormat = exports.extractTimeFormat = function extractTimeFormat(format) {\n  return format.replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?y{2,4}/g, '').trim();\n};\n\nvar validateRangeInOneMonth = exports.validateRangeInOneMonth = function validateRangeInOneMonth(start, end) {\n  return start.getMonth() === end.getMonth() && start.getFullYear() === end.getFullYear();\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/date-util.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/date.js":
/*!***************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/date.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("var __WEBPACK_AMD_DEFINE_RESULT__;\n/* Modified from https://github.com/taylorhakes/fecha\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 Taylor Hakes\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n *     The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n *     THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/*eslint-disable*/\n// 把 YYYY-MM-DD 改成了 yyyy-MM-dd\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.dot-all.js */ \"./node_modules/core-js/modules/es.regexp.dot-all.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.sticky.js */ \"./node_modules/core-js/modules/es.regexp.sticky.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n\n(function (main) {\n  'use strict';\n  /**\n   * Parse or format dates\n   * @class fecha\n   */\n\n  var fecha = {};\n  var token = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\n  var twoDigits = '\\\\d\\\\d?';\n  var threeDigits = '\\\\d{3}';\n  var fourDigits = '\\\\d{4}';\n  var word = '[^\\\\s]+';\n  var literal = /\\[([^]*?)\\]/gm;\n\n  var noop = function noop() {};\n\n  function regexEscape(str) {\n    return str.replace(/[|\\\\{()[^$+*?.-]/g, '\\\\$&');\n  }\n\n  function shorten(arr, sLen) {\n    var newArr = [];\n\n    for (var i = 0, len = arr.length; i < len; i++) {\n      newArr.push(arr[i].substr(0, sLen));\n    }\n\n    return newArr;\n  }\n\n  function monthUpdate(arrName) {\n    return function (d, v, i18n) {\n      var index = i18n[arrName].indexOf(v.charAt(0).toUpperCase() + v.substr(1).toLowerCase());\n\n      if (~index) {\n        d.month = index;\n      }\n    };\n  }\n\n  function pad(val, len) {\n    val = String(val);\n    len = len || 2;\n\n    while (val.length < len) {\n      val = '0' + val;\n    }\n\n    return val;\n  }\n\n  var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n  var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n  var monthNamesShort = shorten(monthNames, 3);\n  var dayNamesShort = shorten(dayNames, 3);\n  fecha.i18n = {\n    dayNamesShort: dayNamesShort,\n    dayNames: dayNames,\n    monthNamesShort: monthNamesShort,\n    monthNames: monthNames,\n    amPm: ['am', 'pm'],\n    DoFn: function DoFn(D) {\n      return D + ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D - D % 10 !== 10) * D % 10];\n    }\n  };\n  var formatFlags = {\n    D: function D(dateObj) {\n      return dateObj.getDay();\n    },\n    DD: function DD(dateObj) {\n      return pad(dateObj.getDay());\n    },\n    Do: function Do(dateObj, i18n) {\n      return i18n.DoFn(dateObj.getDate());\n    },\n    d: function d(dateObj) {\n      return dateObj.getDate();\n    },\n    dd: function dd(dateObj) {\n      return pad(dateObj.getDate());\n    },\n    ddd: function ddd(dateObj, i18n) {\n      return i18n.dayNamesShort[dateObj.getDay()];\n    },\n    dddd: function dddd(dateObj, i18n) {\n      return i18n.dayNames[dateObj.getDay()];\n    },\n    M: function M(dateObj) {\n      return dateObj.getMonth() + 1;\n    },\n    MM: function MM(dateObj) {\n      return pad(dateObj.getMonth() + 1);\n    },\n    MMM: function MMM(dateObj, i18n) {\n      return i18n.monthNamesShort[dateObj.getMonth()];\n    },\n    MMMM: function MMMM(dateObj, i18n) {\n      return i18n.monthNames[dateObj.getMonth()];\n    },\n    yy: function yy(dateObj) {\n      return pad(String(dateObj.getFullYear()), 4).substr(2);\n    },\n    yyyy: function yyyy(dateObj) {\n      return pad(dateObj.getFullYear(), 4);\n    },\n    h: function h(dateObj) {\n      return dateObj.getHours() % 12 || 12;\n    },\n    hh: function hh(dateObj) {\n      return pad(dateObj.getHours() % 12 || 12);\n    },\n    H: function H(dateObj) {\n      return dateObj.getHours();\n    },\n    HH: function HH(dateObj) {\n      return pad(dateObj.getHours());\n    },\n    m: function m(dateObj) {\n      return dateObj.getMinutes();\n    },\n    mm: function mm(dateObj) {\n      return pad(dateObj.getMinutes());\n    },\n    s: function s(dateObj) {\n      return dateObj.getSeconds();\n    },\n    ss: function ss(dateObj) {\n      return pad(dateObj.getSeconds());\n    },\n    S: function S(dateObj) {\n      return Math.round(dateObj.getMilliseconds() / 100);\n    },\n    SS: function SS(dateObj) {\n      return pad(Math.round(dateObj.getMilliseconds() / 10), 2);\n    },\n    SSS: function SSS(dateObj) {\n      return pad(dateObj.getMilliseconds(), 3);\n    },\n    a: function a(dateObj, i18n) {\n      return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1];\n    },\n    A: function A(dateObj, i18n) {\n      return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase();\n    },\n    ZZ: function ZZ(dateObj) {\n      var o = dateObj.getTimezoneOffset();\n      return (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4);\n    }\n  };\n  var parseFlags = {\n    d: [twoDigits, function (d, v) {\n      d.day = v;\n    }],\n    Do: [twoDigits + word, function (d, v) {\n      d.day = parseInt(v, 10);\n    }],\n    M: [twoDigits, function (d, v) {\n      d.month = v - 1;\n    }],\n    yy: [twoDigits, function (d, v) {\n      var da = new Date(),\n          cent = +('' + da.getFullYear()).substr(0, 2);\n      d.year = '' + (v > 68 ? cent - 1 : cent) + v;\n    }],\n    h: [twoDigits, function (d, v) {\n      d.hour = v;\n    }],\n    m: [twoDigits, function (d, v) {\n      d.minute = v;\n    }],\n    s: [twoDigits, function (d, v) {\n      d.second = v;\n    }],\n    yyyy: [fourDigits, function (d, v) {\n      d.year = v;\n    }],\n    S: ['\\\\d', function (d, v) {\n      d.millisecond = v * 100;\n    }],\n    SS: ['\\\\d{2}', function (d, v) {\n      d.millisecond = v * 10;\n    }],\n    SSS: [threeDigits, function (d, v) {\n      d.millisecond = v;\n    }],\n    D: [twoDigits, noop],\n    ddd: [word, noop],\n    MMM: [word, monthUpdate('monthNamesShort')],\n    MMMM: [word, monthUpdate('monthNames')],\n    a: [word, function (d, v, i18n) {\n      var val = v.toLowerCase();\n\n      if (val === i18n.amPm[0]) {\n        d.isPm = false;\n      } else if (val === i18n.amPm[1]) {\n        d.isPm = true;\n      }\n    }],\n    ZZ: ['[^\\\\s]*?[\\\\+\\\\-]\\\\d\\\\d:?\\\\d\\\\d|[^\\\\s]*?Z', function (d, v) {\n      var parts = (v + '').match(/([+-]|\\d\\d)/gi),\n          minutes;\n\n      if (parts) {\n        minutes = +(parts[1] * 60) + parseInt(parts[2], 10);\n        d.timezoneOffset = parts[0] === '+' ? minutes : -minutes;\n      }\n    }]\n  };\n  parseFlags.dd = parseFlags.d;\n  parseFlags.dddd = parseFlags.ddd;\n  parseFlags.DD = parseFlags.D;\n  parseFlags.mm = parseFlags.m;\n  parseFlags.hh = parseFlags.H = parseFlags.HH = parseFlags.h;\n  parseFlags.MM = parseFlags.M;\n  parseFlags.ss = parseFlags.s;\n  parseFlags.A = parseFlags.a; // Some common format strings\n\n  fecha.masks = {\n    default: 'ddd MMM dd yyyy HH:mm:ss',\n    shortDate: 'M/D/yy',\n    mediumDate: 'MMM d, yyyy',\n    longDate: 'MMMM d, yyyy',\n    fullDate: 'dddd, MMMM d, yyyy',\n    shortTime: 'HH:mm',\n    mediumTime: 'HH:mm:ss',\n    longTime: 'HH:mm:ss.SSS'\n  };\n  /***\n   * Format a date\n   * @method format\n   * @param {Date|number} dateObj\n   * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate'\n   */\n\n  fecha.format = function (dateObj, mask, i18nSettings) {\n    var i18n = i18nSettings || fecha.i18n;\n\n    if (typeof dateObj === 'number') {\n      dateObj = new Date(dateObj);\n    }\n\n    if (Object.prototype.toString.call(dateObj) !== '[object Date]' || isNaN(dateObj.getTime())) {\n      throw new Error('Invalid Date in fecha.format');\n    }\n\n    mask = fecha.masks[mask] || mask || fecha.masks['default'];\n    var literals = []; // Make literals inactive by replacing them with ??\n\n    mask = mask.replace(literal, function ($0, $1) {\n      literals.push($1);\n      return '@@@';\n    }); // Apply formatting rules\n\n    mask = mask.replace(token, function ($0) {\n      return $0 in formatFlags ? formatFlags[$0](dateObj, i18n) : $0.slice(1, $0.length - 1);\n    }); // Inline literal values back into the formatted value\n\n    return mask.replace(/@@@/g, function () {\n      return literals.shift();\n    });\n  };\n  /**\n   * Parse a date string into an object, changes - into /\n   * @method parse\n   * @param {string} dateStr Date string\n   * @param {string} format Date parse format\n   * @returns {Date|boolean}\n   */\n\n\n  fecha.parse = function (dateStr, format, i18nSettings) {\n    var i18n = i18nSettings || fecha.i18n;\n\n    if (typeof format !== 'string') {\n      throw new Error('Invalid format in fecha.parse');\n    }\n\n    format = fecha.masks[format] || format; // Avoid regular expression denial of service, fail early for really long strings\n    // https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS\n\n    if (dateStr.length > 1000) {\n      return null;\n    }\n\n    var dateInfo = {};\n    var parseInfo = [];\n    var literals = [];\n    format = format.replace(literal, function ($0, $1) {\n      literals.push($1);\n      return '@@@';\n    });\n    var newFormat = regexEscape(format).replace(token, function ($0) {\n      if (parseFlags[$0]) {\n        var info = parseFlags[$0];\n        parseInfo.push(info[1]);\n        return '(' + info[0] + ')';\n      }\n\n      return $0;\n    });\n    newFormat = newFormat.replace(/@@@/g, function () {\n      return literals.shift();\n    });\n    var matches = dateStr.match(new RegExp(newFormat, 'i'));\n\n    if (!matches) {\n      return null;\n    }\n\n    for (var i = 1; i < matches.length; i++) {\n      parseInfo[i - 1](dateInfo, matches[i], i18n);\n    }\n\n    var today = new Date();\n\n    if (dateInfo.isPm === true && dateInfo.hour != null && +dateInfo.hour !== 12) {\n      dateInfo.hour = +dateInfo.hour + 12;\n    } else if (dateInfo.isPm === false && +dateInfo.hour === 12) {\n      dateInfo.hour = 0;\n    }\n\n    var date;\n\n    if (dateInfo.timezoneOffset != null) {\n      dateInfo.minute = +(dateInfo.minute || 0) - +dateInfo.timezoneOffset;\n      date = new Date(Date.UTC(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0));\n    } else {\n      date = new Date(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0);\n    }\n\n    return date;\n  };\n  /* istanbul ignore next */\n\n\n  if ( true && module.exports) {\n    module.exports = fecha;\n  } else if (true) {\n    !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n      return fecha;\n    }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else {}\n})(undefined);\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/date.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/dom.js":
/*!**************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/dom.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n\nexports.__esModule = true;\nexports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n/* istanbul ignore next */\n\n\nexports.hasClass = hasClass;\nexports.addClass = addClass;\nexports.removeClass = removeClass;\nexports.setStyle = setStyle;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar isServer = _vue2.default.prototype.$isServer;\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\nvar ieVersion = isServer ? 0 : Number(document.documentMode);\n/* istanbul ignore next */\n\nvar trim = function trim(string) {\n  return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n/* istanbul ignore next */\n\n\nvar camelCase = function camelCase(name) {\n  return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n    return offset ? letter.toUpperCase() : letter;\n  }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n};\n/* istanbul ignore next */\n\n\nvar on = exports.on = function () {\n  if (!isServer && document.addEventListener) {\n    return function (element, event, handler) {\n      if (element && event && handler) {\n        element.addEventListener(event, handler, false);\n      }\n    };\n  } else {\n    return function (element, event, handler) {\n      if (element && event && handler) {\n        element.attachEvent('on' + event, handler);\n      }\n    };\n  }\n}();\n/* istanbul ignore next */\n\n\nvar off = exports.off = function () {\n  if (!isServer && document.removeEventListener) {\n    return function (element, event, handler) {\n      if (element && event) {\n        element.removeEventListener(event, handler, false);\n      }\n    };\n  } else {\n    return function (element, event, handler) {\n      if (element && event) {\n        element.detachEvent('on' + event, handler);\n      }\n    };\n  }\n}();\n/* istanbul ignore next */\n\n\nvar once = exports.once = function once(el, event, fn) {\n  var listener = function listener() {\n    if (fn) {\n      fn.apply(this, arguments);\n    }\n\n    off(el, event, listener);\n  };\n\n  on(el, event, listener);\n};\n/* istanbul ignore next */\n\n\nfunction hasClass(el, cls) {\n  if (!el || !cls) return false;\n  if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n\n  if (el.classList) {\n    return el.classList.contains(cls);\n  } else {\n    return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n  }\n}\n\n;\n/* istanbul ignore next */\n\nfunction addClass(el, cls) {\n  if (!el) return;\n  var curClass = el.className;\n  var classes = (cls || '').split(' ');\n\n  for (var i = 0, j = classes.length; i < j; i++) {\n    var clsName = classes[i];\n    if (!clsName) continue;\n\n    if (el.classList) {\n      el.classList.add(clsName);\n    } else if (!hasClass(el, clsName)) {\n      curClass += ' ' + clsName;\n    }\n  }\n\n  if (!el.classList) {\n    el.setAttribute('class', curClass);\n  }\n}\n\n;\n/* istanbul ignore next */\n\nfunction removeClass(el, cls) {\n  if (!el || !cls) return;\n  var classes = cls.split(' ');\n  var curClass = ' ' + el.className + ' ';\n\n  for (var i = 0, j = classes.length; i < j; i++) {\n    var clsName = classes[i];\n    if (!clsName) continue;\n\n    if (el.classList) {\n      el.classList.remove(clsName);\n    } else if (hasClass(el, clsName)) {\n      curClass = curClass.replace(' ' + clsName + ' ', ' ');\n    }\n  }\n\n  if (!el.classList) {\n    el.setAttribute('class', trim(curClass));\n  }\n}\n\n;\n/* istanbul ignore next */\n\nvar getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {\n  if (isServer) return;\n  if (!element || !styleName) return null;\n  styleName = camelCase(styleName);\n\n  if (styleName === 'float') {\n    styleName = 'styleFloat';\n  }\n\n  try {\n    switch (styleName) {\n      case 'opacity':\n        try {\n          return element.filters.item('alpha').opacity / 100;\n        } catch (e) {\n          return 1.0;\n        }\n\n      default:\n        return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;\n    }\n  } catch (e) {\n    return element.style[styleName];\n  }\n} : function (element, styleName) {\n  if (isServer) return;\n  if (!element || !styleName) return null;\n  styleName = camelCase(styleName);\n\n  if (styleName === 'float') {\n    styleName = 'cssFloat';\n  }\n\n  try {\n    var computed = document.defaultView.getComputedStyle(element, '');\n    return element.style[styleName] || computed ? computed[styleName] : null;\n  } catch (e) {\n    return element.style[styleName];\n  }\n};\n/* istanbul ignore next */\n\nfunction setStyle(element, styleName, value) {\n  if (!element || !styleName) return;\n\n  if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') {\n    for (var prop in styleName) {\n      if (styleName.hasOwnProperty(prop)) {\n        setStyle(element, prop, styleName[prop]);\n      }\n    }\n  } else {\n    styleName = camelCase(styleName);\n\n    if (styleName === 'opacity' && ieVersion < 9) {\n      element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';\n    } else {\n      element.style[styleName] = value;\n    }\n  }\n}\n\n;\n\nvar isScroll = exports.isScroll = function isScroll(el, vertical) {\n  if (isServer) return;\n  var determinedDirection = vertical !== null && vertical !== undefined;\n  var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');\n  return overflow.match(/(scroll|auto|overlay)/);\n};\n\nvar getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {\n  if (isServer) return;\n  var parent = el;\n\n  while (parent) {\n    if ([window, document, document.documentElement].includes(parent)) {\n      return window;\n    }\n\n    if (isScroll(parent, vertical)) {\n      return parent;\n    }\n\n    parent = parent.parentNode;\n  }\n\n  return parent;\n};\n\nvar isInContainer = exports.isInContainer = function isInContainer(el, container) {\n  if (isServer || !el || !container) return false;\n  var elRect = el.getBoundingClientRect();\n  var containerRect = void 0;\n\n  if ([window, document, document.documentElement, null, undefined].includes(container)) {\n    containerRect = {\n      top: 0,\n      right: window.innerWidth,\n      bottom: window.innerHeight,\n      left: 0\n    };\n  } else {\n    containerRect = container.getBoundingClientRect();\n  }\n\n  return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/dom.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/merge.js":
/*!****************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/merge.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\n\nexports.default = function (target) {\n  for (var i = 1, j = arguments.length; i < j; i++) {\n    var source = arguments[i] || {};\n\n    for (var prop in source) {\n      if (source.hasOwnProperty(prop)) {\n        var value = source[prop];\n\n        if (value !== undefined) {\n          target[prop] = value;\n        }\n      }\n    }\n  }\n\n  return target;\n};\n\n;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/merge.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/popper.js":
/*!*****************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/popper.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\");\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n/**\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version {{version}}\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n//\n// Cross module loader\n// Supported: Node, AMD, Browser globals\n//\n\n\n;\n\n(function (root, factory) {\n  if (true) {\n    // AMD. Register as an anonymous module.\n    !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else {}\n})(undefined, function () {\n  'use strict';\n\n  var root = window; // default options\n\n  var DEFAULTS = {\n    // placement of the popper\n    placement: 'bottom',\n    gpuAcceleration: true,\n    // shift popper from its origin by the given amount of pixels (can be negative)\n    offset: 0,\n    // the element which will act as boundary of the popper\n    boundariesElement: 'viewport',\n    // amount of pixel used to define a minimum distance between the boundaries and the popper\n    boundariesPadding: 5,\n    // popper will try to prevent overflow following this order,\n    // by default, then, it could overflow on the left and on top of the boundariesElement\n    preventOverflowOrder: ['left', 'right', 'top', 'bottom'],\n    // the behavior used by flip to change the placement of the popper\n    flipBehavior: 'flip',\n    arrowElement: '[x-arrow]',\n    arrowOffset: 0,\n    // list of functions used to modify the offsets before they are applied to the popper\n    modifiers: ['shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'],\n    modifiersIgnored: [],\n    forceAbsolute: false\n  };\n  /**\n   * Create a new Popper.js instance\n   * @constructor Popper\n   * @param {HTMLElement} reference - The reference element used to position the popper\n   * @param {HTMLElement|Object} popper\n   *      The HTML element used as popper, or a configuration used to generate the popper.\n   * @param {String} [popper.tagName='div'] The tag name of the generated popper.\n   * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper.\n   * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it.\n   * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string.\n   * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`.\n   * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is.\n   * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element.\n   * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element.\n   * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element.\n   * @param {Object} options\n   * @param {String} [options.placement=bottom]\n   *      Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right),\n   *      left(-start, -end)`\n   *\n   * @param {HTMLElement|String} [options.arrowElement='[x-arrow]']\n   *      The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of\n   *      its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its\n   *      reference element.\n   *      By default, it will look for a child node of the popper with the `x-arrow` attribute.\n   *\n   * @param {Boolean} [options.gpuAcceleration=true]\n   *      When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the\n   *      browser to use the GPU to accelerate the rendering.\n   *      If set to false, the popper will be placed using `top` and `left` properties, not using the GPU.\n   *\n   * @param {Number} [options.offset=0]\n   *      Amount of pixels the popper will be shifted (can be negative).\n   *\n   * @param {String|Element} [options.boundariesElement='viewport']\n   *      The element which will define the boundaries of the popper position, the popper will never be placed outside\n   *      of the defined boundaries (except if `keepTogether` is enabled)\n   *\n   * @param {Number} [options.boundariesPadding=5]\n   *      Additional padding for the boundaries\n   *\n   * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']]\n   *      Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order,\n   *      this means that the last ones will never overflow\n   *\n   * @param {String|Array} [options.flipBehavior='flip']\n   *      The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to\n   *      overlap its reference element. Defining `flip` as value, the placement will be flipped on\n   *      its axis (`right - left`, `top - bottom`).\n   *      You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify\n   *      how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left,\n   *      then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top)\n   *\n   * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']]\n   *      List of functions used to modify the data before they are applied to the popper, add your custom functions\n   *      to this array to edit the offsets and placement.\n   *      The function should reflect the @params and @returns of preventOverflow\n   *\n   * @param {Array} [options.modifiersIgnored=[]]\n   *      Put here any built-in modifier name you want to exclude from the modifiers list\n   *      The function should reflect the @params and @returns of preventOverflow\n   *\n   * @param {Boolean} [options.removeOnDestroy=false]\n   *      Set to true if you want to automatically remove the popper when you call the `destroy` method.\n   */\n\n  function Popper(reference, popper, options) {\n    this._reference = reference.jquery ? reference[0] : reference;\n    this.state = {}; // if the popper variable is a configuration object, parse it to generate an HTMLElement\n    // generate a default popper if is not defined\n\n    var isNotDefined = typeof popper === 'undefined' || popper === null;\n    var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]';\n\n    if (isNotDefined || isConfig) {\n      this._popper = this.parse(isConfig ? popper : {});\n    } // otherwise, use the given HTMLElement as popper\n    else {\n      this._popper = popper.jquery ? popper[0] : popper;\n    } // with {} we create a new object with the options inside it\n\n\n    this._options = Object.assign({}, DEFAULTS, options); // refactoring modifiers' list\n\n    this._options.modifiers = this._options.modifiers.map(function (modifier) {\n      // remove ignored modifiers\n      if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return; // set the x-placement attribute before everything else because it could be used to add margins to the popper\n      // margins needs to be calculated to get the correct popper offsets\n\n      if (modifier === 'applyStyle') {\n        this._popper.setAttribute('x-placement', this._options.placement);\n      } // return predefined modifier identified by string or keep the custom one\n\n\n      return this.modifiers[modifier] || modifier;\n    }.bind(this)); // make sure to apply the popper position before any computation\n\n    this.state.position = this._getPosition(this._popper, this._reference);\n    setStyle(this._popper, {\n      position: this.state.position,\n      top: 0\n    }); // fire the first update to position the popper in the right place\n\n    this.update(); // setup event listeners, they will take care of update the position in specific situations\n\n    this._setupEventListeners();\n\n    return this;\n  } //\n  // Methods\n  //\n\n  /**\n   * Destroy the popper\n   * @method\n   * @memberof Popper\n   */\n\n\n  Popper.prototype.destroy = function () {\n    this._popper.removeAttribute('x-placement');\n\n    this._popper.style.left = '';\n    this._popper.style.position = '';\n    this._popper.style.top = '';\n    this._popper.style[getSupportedPropertyName('transform')] = '';\n\n    this._removeEventListeners(); // remove the popper if user explicity asked for the deletion on destroy\n\n\n    if (this._options.removeOnDestroy) {\n      this._popper.remove();\n    }\n\n    return this;\n  };\n  /**\n   * Updates the position of the popper, computing the new offsets and applying the new style\n   * @method\n   * @memberof Popper\n   */\n\n\n  Popper.prototype.update = function () {\n    var data = {\n      instance: this,\n      styles: {}\n    }; // store placement inside the data object, modifiers will be able to edit `placement` if needed\n    // and refer to _originalPlacement to know the original value\n\n    data.placement = this._options.placement;\n    data._originalPlacement = this._options.placement; // compute the popper and reference offsets and put them inside data.offsets\n\n    data.offsets = this._getOffsets(this._popper, this._reference, data.placement); // get boundaries\n\n    data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);\n    data = this.runModifiers(data, this._options.modifiers);\n\n    if (typeof this.state.updateCallback === 'function') {\n      this.state.updateCallback(data);\n    }\n  };\n  /**\n   * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance.\n   * @method\n   * @memberof Popper\n   * @param {Function} callback\n   */\n\n\n  Popper.prototype.onCreate = function (callback) {\n    // the createCallbacks return as first argument the popper instance\n    callback(this);\n    return this;\n  };\n  /**\n   * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations\n   * used to style popper and its arrow.\n   * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor!\n   * @method\n   * @memberof Popper\n   * @param {Function} callback\n   */\n\n\n  Popper.prototype.onUpdate = function (callback) {\n    this.state.updateCallback = callback;\n    return this;\n  };\n  /**\n   * Helper used to generate poppers from a configuration file\n   * @method\n   * @memberof Popper\n   * @param config {Object} configuration\n   * @returns {HTMLElement} popper\n   */\n\n\n  Popper.prototype.parse = function (config) {\n    var defaultConfig = {\n      tagName: 'div',\n      classNames: ['popper'],\n      attributes: [],\n      parent: root.document.body,\n      content: '',\n      contentType: 'text',\n      arrowTagName: 'div',\n      arrowClassNames: ['popper__arrow'],\n      arrowAttributes: ['x-arrow']\n    };\n    config = Object.assign({}, defaultConfig, config);\n    var d = root.document;\n    var popper = d.createElement(config.tagName);\n    addClassNames(popper, config.classNames);\n    addAttributes(popper, config.attributes);\n\n    if (config.contentType === 'node') {\n      popper.appendChild(config.content.jquery ? config.content[0] : config.content);\n    } else if (config.contentType === 'html') {\n      popper.innerHTML = config.content;\n    } else {\n      popper.textContent = config.content;\n    }\n\n    if (config.arrowTagName) {\n      var arrow = d.createElement(config.arrowTagName);\n      addClassNames(arrow, config.arrowClassNames);\n      addAttributes(arrow, config.arrowAttributes);\n      popper.appendChild(arrow);\n    }\n\n    var parent = config.parent.jquery ? config.parent[0] : config.parent; // if the given parent is a string, use it to match an element\n    // if more than one element is matched, the first one will be used as parent\n    // if no elements are matched, the script will throw an error\n\n    if (typeof parent === 'string') {\n      parent = d.querySelectorAll(config.parent);\n\n      if (parent.length > 1) {\n        console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used');\n      }\n\n      if (parent.length === 0) {\n        throw 'ERROR: the given `parent` doesn\\'t exists!';\n      }\n\n      parent = parent[0];\n    } // if the given parent is a DOM nodes list or an array of nodes with more than one element,\n    // the first one will be used as parent\n\n\n    if (parent.length > 1 && parent instanceof Element === false) {\n      console.warn('WARNING: you have passed as parent a list of elements, the first one will be used');\n      parent = parent[0];\n    } // append the generated popper to its parent\n\n\n    parent.appendChild(popper);\n    return popper;\n    /**\n     * Adds class names to the given element\n     * @function\n     * @ignore\n     * @param {HTMLElement} target\n     * @param {Array} classes\n     */\n\n    function addClassNames(element, classNames) {\n      classNames.forEach(function (className) {\n        element.classList.add(className);\n      });\n    }\n    /**\n     * Adds attributes to the given element\n     * @function\n     * @ignore\n     * @param {HTMLElement} target\n     * @param {Array} attributes\n     * @example\n     * addAttributes(element, [ 'data-info:foobar' ]);\n     */\n\n\n    function addAttributes(element, attributes) {\n      attributes.forEach(function (attribute) {\n        element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || '');\n      });\n    }\n  };\n  /**\n   * Helper used to get the position which will be applied to the popper\n   * @method\n   * @memberof Popper\n   * @param config {HTMLElement} popper element\n   * @param reference {HTMLElement} reference element\n   * @returns {String} position\n   */\n\n\n  Popper.prototype._getPosition = function (popper, reference) {\n    var container = getOffsetParent(reference);\n\n    if (this._options.forceAbsolute) {\n      return 'absolute';\n    } // Decide if the popper will be fixed\n    // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together\n\n\n    var isParentFixed = isFixed(reference, container);\n    return isParentFixed ? 'fixed' : 'absolute';\n  };\n  /**\n   * Get offsets to the popper\n   * @method\n   * @memberof Popper\n   * @access private\n   * @param {Element} popper - the popper element\n   * @param {Element} reference - the reference element (the popper will be relative to this)\n   * @returns {Object} An object containing the offsets which will be applied to the popper\n   */\n\n\n  Popper.prototype._getOffsets = function (popper, reference, placement) {\n    placement = placement.split('-')[0];\n    var popperOffsets = {};\n    popperOffsets.position = this.state.position;\n    var isParentFixed = popperOffsets.position === 'fixed'; //\n    // Get reference element position\n    //\n\n    var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed); //\n    // Get popper sizes\n    //\n\n    var popperRect = getOuterSizes(popper); //\n    // Compute offsets of popper\n    //\n    // depending by the popper placement we have to compute its offsets slightly differently\n\n    if (['right', 'left'].indexOf(placement) !== -1) {\n      popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2;\n\n      if (placement === 'left') {\n        popperOffsets.left = referenceOffsets.left - popperRect.width;\n      } else {\n        popperOffsets.left = referenceOffsets.right;\n      }\n    } else {\n      popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2;\n\n      if (placement === 'top') {\n        popperOffsets.top = referenceOffsets.top - popperRect.height;\n      } else {\n        popperOffsets.top = referenceOffsets.bottom;\n      }\n    } // Add width and height to our offsets object\n\n\n    popperOffsets.width = popperRect.width;\n    popperOffsets.height = popperRect.height;\n    return {\n      popper: popperOffsets,\n      reference: referenceOffsets\n    };\n  };\n  /**\n   * Setup needed event listeners used to update the popper position\n   * @method\n   * @memberof Popper\n   * @access private\n   */\n\n\n  Popper.prototype._setupEventListeners = function () {\n    // NOTE: 1 DOM access here\n    this.state.updateBound = this.update.bind(this);\n    root.addEventListener('resize', this.state.updateBound); // if the boundariesElement is window we don't need to listen for the scroll event\n\n    if (this._options.boundariesElement !== 'window') {\n      var target = getScrollParent(this._reference); // here it could be both `body` or `documentElement` thanks to Firefox, we then check both\n\n      if (target === root.document.body || target === root.document.documentElement) {\n        target = root;\n      }\n\n      target.addEventListener('scroll', this.state.updateBound);\n      this.state.scrollTarget = target;\n    }\n  };\n  /**\n   * Remove event listeners used to update the popper position\n   * @method\n   * @memberof Popper\n   * @access private\n   */\n\n\n  Popper.prototype._removeEventListeners = function () {\n    // NOTE: 1 DOM access here\n    root.removeEventListener('resize', this.state.updateBound);\n\n    if (this._options.boundariesElement !== 'window' && this.state.scrollTarget) {\n      this.state.scrollTarget.removeEventListener('scroll', this.state.updateBound);\n      this.state.scrollTarget = null;\n    }\n\n    this.state.updateBound = null;\n  };\n  /**\n   * Computed the boundaries limits and return them\n   * @method\n   * @memberof Popper\n   * @access private\n   * @param {Object} data - Object containing the property \"offsets\" generated by `_getOffsets`\n   * @param {Number} padding - Boundaries padding\n   * @param {Element} boundariesElement - Element used to define the boundaries\n   * @returns {Object} Coordinates of the boundaries\n   */\n\n\n  Popper.prototype._getBoundaries = function (data, padding, boundariesElement) {\n    // NOTE: 1 DOM access here\n    var boundaries = {};\n    var width, height;\n\n    if (boundariesElement === 'window') {\n      var body = root.document.body,\n          html = root.document.documentElement;\n      height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n      width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n      boundaries = {\n        top: 0,\n        right: width,\n        bottom: height,\n        left: 0\n      };\n    } else if (boundariesElement === 'viewport') {\n      var offsetParent = getOffsetParent(this._popper);\n      var scrollParent = getScrollParent(this._popper);\n      var offsetParentRect = getOffsetRect(offsetParent); // Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop`\n\n      var getScrollTopValue = function getScrollTopValue(element) {\n        return element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop;\n      };\n\n      var getScrollLeftValue = function getScrollLeftValue(element) {\n        return element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft;\n      }; // if the popper is fixed we don't have to substract scrolling from the boundaries\n\n\n      var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent);\n      var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent);\n      boundaries = {\n        top: 0 - (offsetParentRect.top - scrollTop),\n        right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),\n        bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),\n        left: 0 - (offsetParentRect.left - scrollLeft)\n      };\n    } else {\n      if (getOffsetParent(this._popper) === boundariesElement) {\n        boundaries = {\n          top: 0,\n          left: 0,\n          right: boundariesElement.clientWidth,\n          bottom: boundariesElement.clientHeight\n        };\n      } else {\n        boundaries = getOffsetRect(boundariesElement);\n      }\n    }\n\n    boundaries.left += padding;\n    boundaries.right -= padding;\n    boundaries.top = boundaries.top + padding;\n    boundaries.bottom = boundaries.bottom - padding;\n    return boundaries;\n  };\n  /**\n   * Loop trough the list of modifiers and run them in order, each of them will then edit the data object\n   * @method\n   * @memberof Popper\n   * @access public\n   * @param {Object} data\n   * @param {Array} modifiers\n   * @param {Function} ends\n   */\n\n\n  Popper.prototype.runModifiers = function (data, modifiers, ends) {\n    var modifiersToRun = modifiers.slice();\n\n    if (ends !== undefined) {\n      modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends));\n    }\n\n    modifiersToRun.forEach(function (modifier) {\n      if (isFunction(modifier)) {\n        data = modifier.call(this, data);\n      }\n    }.bind(this));\n    return data;\n  };\n  /**\n   * Helper used to know if the given modifier depends from another one.\n   * @method\n   * @memberof Popper\n   * @param {String} requesting - name of requesting modifier\n   * @param {String} requested - name of requested modifier\n   * @returns {Boolean}\n   */\n\n\n  Popper.prototype.isModifierRequired = function (requesting, requested) {\n    var index = getArrayKeyIndex(this._options.modifiers, requesting);\n    return !!this._options.modifiers.slice(0, index).filter(function (modifier) {\n      return modifier === requested;\n    }).length;\n  }; //\n  // Modifiers\n  //\n\n  /**\n   * Modifiers list\n   * @namespace Popper.modifiers\n   * @memberof Popper\n   * @type {Object}\n   */\n\n\n  Popper.prototype.modifiers = {};\n  /**\n   * Apply the computed styles to the popper element\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by `update` method\n   * @returns {Object} The same data object\n   */\n\n  Popper.prototype.modifiers.applyStyle = function (data) {\n    // apply the final offsets to the popper\n    // NOTE: 1 DOM access here\n    var styles = {\n      position: data.offsets.popper.position\n    }; // round top and left to avoid blurry text\n\n    var left = Math.round(data.offsets.popper.left);\n    var top = Math.round(data.offsets.popper.top); // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper\n    // we automatically use the supported prefixed version if needed\n\n    var prefixedProperty;\n\n    if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) {\n      styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n      styles.top = 0;\n      styles.left = 0;\n    } // othwerise, we use the standard `left` and `top` properties\n    else {\n      styles.left = left;\n      styles.top = top;\n    } // any property present in `data.styles` will be applied to the popper,\n    // in this way we can make the 3rd party modifiers add custom styles to it\n    // Be aware, modifiers could override the properties defined in the previous\n    // lines of this modifier!\n\n\n    Object.assign(styles, data.styles);\n    setStyle(this._popper, styles); // set an attribute which will be useful to style the tooltip (use it to properly position its arrow)\n    // NOTE: 1 DOM access here\n\n    this._popper.setAttribute('x-placement', data.placement); // if the arrow modifier is required and the arrow style has been computed, apply the arrow style\n\n\n    if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) {\n      setStyle(data.arrowElement, data.offsets.arrow);\n    }\n\n    return data;\n  };\n  /**\n   * Modifier used to shift the popper on the start or end of its reference element side\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by `update` method\n   * @returns {Object} The data object, properly modified\n   */\n\n\n  Popper.prototype.modifiers.shift = function (data) {\n    var placement = data.placement;\n    var basePlacement = placement.split('-')[0];\n    var shiftVariation = placement.split('-')[1]; // if shift shiftVariation is specified, run the modifier\n\n    if (shiftVariation) {\n      var reference = data.offsets.reference;\n      var popper = getPopperClientRect(data.offsets.popper);\n      var shiftOffsets = {\n        y: {\n          start: {\n            top: reference.top\n          },\n          end: {\n            top: reference.top + reference.height - popper.height\n          }\n        },\n        x: {\n          start: {\n            left: reference.left\n          },\n          end: {\n            left: reference.left + reference.width - popper.width\n          }\n        }\n      };\n      var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y';\n      data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);\n    }\n\n    return data;\n  };\n  /**\n   * Modifier used to make sure the popper does not overflows from it's boundaries\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by `update` method\n   * @returns {Object} The data object, properly modified\n   */\n\n\n  Popper.prototype.modifiers.preventOverflow = function (data) {\n    var order = this._options.preventOverflowOrder;\n    var popper = getPopperClientRect(data.offsets.popper);\n    var check = {\n      left: function left() {\n        var left = popper.left;\n\n        if (popper.left < data.boundaries.left) {\n          left = Math.max(popper.left, data.boundaries.left);\n        }\n\n        return {\n          left: left\n        };\n      },\n      right: function right() {\n        var left = popper.left;\n\n        if (popper.right > data.boundaries.right) {\n          left = Math.min(popper.left, data.boundaries.right - popper.width);\n        }\n\n        return {\n          left: left\n        };\n      },\n      top: function top() {\n        var top = popper.top;\n\n        if (popper.top < data.boundaries.top) {\n          top = Math.max(popper.top, data.boundaries.top);\n        }\n\n        return {\n          top: top\n        };\n      },\n      bottom: function bottom() {\n        var top = popper.top;\n\n        if (popper.bottom > data.boundaries.bottom) {\n          top = Math.min(popper.top, data.boundaries.bottom - popper.height);\n        }\n\n        return {\n          top: top\n        };\n      }\n    };\n    order.forEach(function (direction) {\n      data.offsets.popper = Object.assign(popper, check[direction]());\n    });\n    return data;\n  };\n  /**\n   * Modifier used to make sure the popper is always near its reference\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by _update method\n   * @returns {Object} The data object, properly modified\n   */\n\n\n  Popper.prototype.modifiers.keepTogether = function (data) {\n    var popper = getPopperClientRect(data.offsets.popper);\n    var reference = data.offsets.reference;\n    var f = Math.floor;\n\n    if (popper.right < f(reference.left)) {\n      data.offsets.popper.left = f(reference.left) - popper.width;\n    }\n\n    if (popper.left > f(reference.right)) {\n      data.offsets.popper.left = f(reference.right);\n    }\n\n    if (popper.bottom < f(reference.top)) {\n      data.offsets.popper.top = f(reference.top) - popper.height;\n    }\n\n    if (popper.top > f(reference.bottom)) {\n      data.offsets.popper.top = f(reference.bottom);\n    }\n\n    return data;\n  };\n  /**\n   * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element.\n   * Requires the `preventOverflow` modifier before it in order to work.\n   * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper!\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by _update method\n   * @returns {Object} The data object, properly modified\n   */\n\n\n  Popper.prototype.modifiers.flip = function (data) {\n    // check if preventOverflow is in the list of modifiers before the flip modifier.\n    // otherwise flip would not work as expected.\n    if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) {\n      console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!');\n      return data;\n    }\n\n    if (data.flipped && data.placement === data._originalPlacement) {\n      // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n      return data;\n    }\n\n    var placement = data.placement.split('-')[0];\n    var placementOpposite = getOppositePlacement(placement);\n    var variation = data.placement.split('-')[1] || '';\n    var flipOrder = [];\n\n    if (this._options.flipBehavior === 'flip') {\n      flipOrder = [placement, placementOpposite];\n    } else {\n      flipOrder = this._options.flipBehavior;\n    }\n\n    flipOrder.forEach(function (step, index) {\n      if (placement !== step || flipOrder.length === index + 1) {\n        return;\n      }\n\n      placement = data.placement.split('-')[0];\n      placementOpposite = getOppositePlacement(placement);\n      var popperOffsets = getPopperClientRect(data.offsets.popper); // this boolean is used to distinguish right and bottom from top and left\n      // they need different computations to get flipped\n\n      var a = ['right', 'bottom'].indexOf(placement) !== -1; // using Math.floor because the reference offsets may contain decimals we are not going to consider here\n\n      if (a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) || !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite])) {\n        // we'll use this boolean to detect any flip loop\n        data.flipped = true;\n        data.placement = flipOrder[index + 1];\n\n        if (variation) {\n          data.placement += '-' + variation;\n        }\n\n        data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper;\n        data = this.runModifiers(data, this._options.modifiers, this._flip);\n      }\n    }.bind(this));\n    return data;\n  };\n  /**\n   * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper.\n   * The offsets will shift the popper on the side of its reference element.\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by _update method\n   * @returns {Object} The data object, properly modified\n   */\n\n\n  Popper.prototype.modifiers.offset = function (data) {\n    var offset = this._options.offset;\n    var popper = data.offsets.popper;\n\n    if (data.placement.indexOf('left') !== -1) {\n      popper.top -= offset;\n    } else if (data.placement.indexOf('right') !== -1) {\n      popper.top += offset;\n    } else if (data.placement.indexOf('top') !== -1) {\n      popper.left -= offset;\n    } else if (data.placement.indexOf('bottom') !== -1) {\n      popper.left += offset;\n    }\n\n    return data;\n  };\n  /**\n   * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element\n   * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed\n   * @method\n   * @memberof Popper.modifiers\n   * @argument {Object} data - The data object generated by _update method\n   * @returns {Object} The data object, properly modified\n   */\n\n\n  Popper.prototype.modifiers.arrow = function (data) {\n    var arrow = this._options.arrowElement;\n    var arrowOffset = this._options.arrowOffset; // if the arrowElement is a string, suppose it's a CSS selector\n\n    if (typeof arrow === 'string') {\n      arrow = this._popper.querySelector(arrow);\n    } // if arrow element is not found, don't run the modifier\n\n\n    if (!arrow) {\n      return data;\n    } // the arrow element must be child of its popper\n\n\n    if (!this._popper.contains(arrow)) {\n      console.warn('WARNING: `arrowElement` must be child of its popper element!');\n      return data;\n    } // arrow depends on keepTogether in order to work\n\n\n    if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) {\n      console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!');\n      return data;\n    }\n\n    var arrowStyle = {};\n    var placement = data.placement.split('-')[0];\n    var popper = getPopperClientRect(data.offsets.popper);\n    var reference = data.offsets.reference;\n    var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n    var len = isVertical ? 'height' : 'width';\n    var side = isVertical ? 'top' : 'left';\n    var translate = isVertical ? 'translateY' : 'translateX';\n    var altSide = isVertical ? 'left' : 'top';\n    var opSide = isVertical ? 'bottom' : 'right';\n    var arrowSize = getOuterSizes(arrow)[len]; //\n    // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction\n    //\n    // top/left side\n\n    if (reference[opSide] - arrowSize < popper[side]) {\n      data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);\n    } // bottom/right side\n\n\n    if (reference[side] + arrowSize > popper[opSide]) {\n      data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];\n    } // compute center of the popper\n\n\n    var center = reference[side] + (arrowOffset || reference[len] / 2 - arrowSize / 2);\n    var sideValue = center - popper[side]; // prevent arrow from being placed not contiguously to its popper\n\n    sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8);\n    arrowStyle[side] = sideValue;\n    arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow\n\n    data.offsets.arrow = arrowStyle;\n    data.arrowElement = arrow;\n    return data;\n  }; //\n  // Helpers\n  //\n\n  /**\n   * Get the outer sizes of the given element (offset size + margins)\n   * @function\n   * @ignore\n   * @argument {Element} element\n   * @returns {Object} object containing width and height properties\n   */\n\n\n  function getOuterSizes(element) {\n    // NOTE: 1 DOM access here\n    var _display = element.style.display,\n        _visibility = element.style.visibility;\n    element.style.display = 'block';\n    element.style.visibility = 'hidden';\n    var calcWidthToForceRepaint = element.offsetWidth; // original method\n\n    var styles = root.getComputedStyle(element);\n    var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n    var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n    var result = {\n      width: element.offsetWidth + y,\n      height: element.offsetHeight + x\n    }; // reset element styles\n\n    element.style.display = _display;\n    element.style.visibility = _visibility;\n    return result;\n  }\n  /**\n   * Get the opposite placement of the given one/\n   * @function\n   * @ignore\n   * @argument {String} placement\n   * @returns {String} flipped placement\n   */\n\n\n  function getOppositePlacement(placement) {\n    var hash = {\n      left: 'right',\n      right: 'left',\n      bottom: 'top',\n      top: 'bottom'\n    };\n    return placement.replace(/left|right|bottom|top/g, function (matched) {\n      return hash[matched];\n    });\n  }\n  /**\n   * Given the popper offsets, generate an output similar to getBoundingClientRect\n   * @function\n   * @ignore\n   * @argument {Object} popperOffsets\n   * @returns {Object} ClientRect like output\n   */\n\n\n  function getPopperClientRect(popperOffsets) {\n    var offsets = Object.assign({}, popperOffsets);\n    offsets.right = offsets.left + offsets.width;\n    offsets.bottom = offsets.top + offsets.height;\n    return offsets;\n  }\n  /**\n   * Given an array and the key to find, returns its index\n   * @function\n   * @ignore\n   * @argument {Array} arr\n   * @argument keyToFind\n   * @returns index or null\n   */\n\n\n  function getArrayKeyIndex(arr, keyToFind) {\n    var i = 0,\n        key;\n\n    for (key in arr) {\n      if (arr[key] === keyToFind) {\n        return i;\n      }\n\n      i++;\n    }\n\n    return null;\n  }\n  /**\n   * Get CSS computed property of the given element\n   * @function\n   * @ignore\n   * @argument {Eement} element\n   * @argument {String} property\n   */\n\n\n  function getStyleComputedProperty(element, property) {\n    // NOTE: 1 DOM access here\n    var css = root.getComputedStyle(element, null);\n    return css[property];\n  }\n  /**\n   * Returns the offset parent of the given element\n   * @function\n   * @ignore\n   * @argument {Element} element\n   * @returns {Element} offset parent\n   */\n\n\n  function getOffsetParent(element) {\n    // NOTE: 1 DOM access here\n    var offsetParent = element.offsetParent;\n    return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent;\n  }\n  /**\n   * Returns the scrolling parent of the given element\n   * @function\n   * @ignore\n   * @argument {Element} element\n   * @returns {Element} offset parent\n   */\n\n\n  function getScrollParent(element) {\n    var parent = element.parentNode;\n\n    if (!parent) {\n      return element;\n    }\n\n    if (parent === root.document) {\n      // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is\n      // greater than 0 and return the proper element\n      if (root.document.body.scrollTop || root.document.body.scrollLeft) {\n        return root.document.body;\n      } else {\n        return root.document.documentElement;\n      }\n    } // Firefox want us to check `-x` and `-y` variations as well\n\n\n    if (['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1) {\n      // If the detected scrollParent is body, we perform an additional check on its parentNode\n      // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise\n      // fixes issue #65\n      return parent;\n    }\n\n    return getScrollParent(element.parentNode);\n  }\n  /**\n   * Check if the given element is fixed or is inside a fixed parent\n   * @function\n   * @ignore\n   * @argument {Element} element\n   * @argument {Element} customContainer\n   * @returns {Boolean} answer to \"isFixed?\"\n   */\n\n\n  function isFixed(element) {\n    if (element === root.document.body) {\n      return false;\n    }\n\n    if (getStyleComputedProperty(element, 'position') === 'fixed') {\n      return true;\n    }\n\n    return element.parentNode ? isFixed(element.parentNode) : element;\n  }\n  /**\n   * Set the style to the given popper\n   * @function\n   * @ignore\n   * @argument {Element} element - Element to apply the style to\n   * @argument {Object} styles - Object with a list of properties and values which will be applied to the element\n   */\n\n\n  function setStyle(element, styles) {\n    function is_numeric(n) {\n      return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n    }\n\n    Object.keys(styles).forEach(function (prop) {\n      var unit = ''; // add unit if the value is numeric and is one of the following\n\n      if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {\n        unit = 'px';\n      }\n\n      element.style[prop] = styles[prop] + unit;\n    });\n  }\n  /**\n   * Check if the given variable is a function\n   * @function\n   * @ignore\n   * @argument {*} functionToCheck - variable to check\n   * @returns {Boolean} answer to: is a function?\n   */\n\n\n  function isFunction(functionToCheck) {\n    var getType = {};\n    return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n  }\n  /**\n   * Get the position of the given element, relative to its offset parent\n   * @function\n   * @ignore\n   * @param {Element} element\n   * @return {Object} position - Coordinates of the element and its `scrollTop`\n   */\n\n\n  function getOffsetRect(element) {\n    var elementRect = {\n      width: element.offsetWidth,\n      height: element.offsetHeight,\n      left: element.offsetLeft,\n      top: element.offsetTop\n    };\n    elementRect.right = elementRect.left + elementRect.width;\n    elementRect.bottom = elementRect.top + elementRect.height; // position\n\n    return elementRect;\n  }\n  /**\n   * Get bounding client rect of given element\n   * @function\n   * @ignore\n   * @param {HTMLElement} element\n   * @return {Object} client rect\n   */\n\n\n  function getBoundingClientRect(element) {\n    var rect = element.getBoundingClientRect(); // whether the IE version is lower than 11\n\n    var isIE = navigator.userAgent.indexOf(\"MSIE\") != -1; // fix ie document bounding top always 0 bug\n\n    var rectTop = isIE && element.tagName === 'HTML' ? -element.scrollTop : rect.top;\n    return {\n      left: rect.left,\n      top: rectTop,\n      right: rect.right,\n      bottom: rect.bottom,\n      width: rect.right - rect.left,\n      height: rect.bottom - rectTop\n    };\n  }\n  /**\n   * Given an element and one of its parents, return the offset\n   * @function\n   * @ignore\n   * @param {HTMLElement} element\n   * @param {HTMLElement} parent\n   * @return {Object} rect\n   */\n\n\n  function getOffsetRectRelativeToCustomParent(element, parent, fixed) {\n    var elementRect = getBoundingClientRect(element);\n    var parentRect = getBoundingClientRect(parent);\n\n    if (fixed) {\n      var scrollParent = getScrollParent(parent);\n      parentRect.top += scrollParent.scrollTop;\n      parentRect.bottom += scrollParent.scrollTop;\n      parentRect.left += scrollParent.scrollLeft;\n      parentRect.right += scrollParent.scrollLeft;\n    }\n\n    var rect = {\n      top: elementRect.top - parentRect.top,\n      left: elementRect.left - parentRect.left,\n      bottom: elementRect.top - parentRect.top + elementRect.height,\n      right: elementRect.left - parentRect.left + elementRect.width,\n      width: elementRect.width,\n      height: elementRect.height\n    };\n    return rect;\n  }\n  /**\n   * Get the prefixed supported property name\n   * @function\n   * @ignore\n   * @argument {String} property (camelCase)\n   * @returns {String} prefixed property (camelCase)\n   */\n\n\n  function getSupportedPropertyName(property) {\n    var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];\n\n    for (var i = 0; i < prefixes.length; i++) {\n      var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;\n\n      if (typeof root.document.body.style[toCheck] !== 'undefined') {\n        return toCheck;\n      }\n    }\n\n    return null;\n  }\n  /**\n   * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source\n   * objects to a target object. It will return the target object.\n   * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n   * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n   * @function\n   * @ignore\n   */\n\n\n  if (!Object.assign) {\n    Object.defineProperty(Object, 'assign', {\n      enumerable: false,\n      configurable: true,\n      writable: true,\n      value: function value(target) {\n        if (target === undefined || target === null) {\n          throw new TypeError('Cannot convert first argument to object');\n        }\n\n        var to = Object(target);\n\n        for (var i = 1; i < arguments.length; i++) {\n          var nextSource = arguments[i];\n\n          if (nextSource === undefined || nextSource === null) {\n            continue;\n          }\n\n          nextSource = Object(nextSource);\n          var keysArray = Object.keys(nextSource);\n\n          for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n            var nextKey = keysArray[nextIndex];\n            var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n            if (desc !== undefined && desc.enumerable) {\n              to[nextKey] = nextSource[nextKey];\n            }\n          }\n        }\n\n        return to;\n      }\n    });\n  }\n\n  return Popper;\n});\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/popper.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/popup/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/popup/index.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\nexports.__esModule = true;\nexports.PopupManager = undefined;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _merge = __webpack_require__(/*! element-ui/lib/utils/merge */ \"./node_modules/element-ui/lib/utils/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _popupManager = __webpack_require__(/*! element-ui/lib/utils/popup/popup-manager */ \"./node_modules/element-ui/lib/utils/popup/popup-manager.js\");\n\nvar _popupManager2 = _interopRequireDefault(_popupManager);\n\nvar _scrollbarWidth = __webpack_require__(/*! ../scrollbar-width */ \"./node_modules/element-ui/lib/utils/scrollbar-width.js\");\n\nvar _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);\n\nvar _dom = __webpack_require__(/*! ../dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar idSeed = 1;\nvar scrollBarWidth = void 0;\nexports.default = {\n  props: {\n    visible: {\n      type: Boolean,\n      default: false\n    },\n    openDelay: {},\n    closeDelay: {},\n    zIndex: {},\n    modal: {\n      type: Boolean,\n      default: false\n    },\n    modalFade: {\n      type: Boolean,\n      default: true\n    },\n    modalClass: {},\n    modalAppendToBody: {\n      type: Boolean,\n      default: false\n    },\n    lockScroll: {\n      type: Boolean,\n      default: true\n    },\n    closeOnPressEscape: {\n      type: Boolean,\n      default: false\n    },\n    closeOnClickModal: {\n      type: Boolean,\n      default: false\n    }\n  },\n  beforeMount: function beforeMount() {\n    this._popupId = 'popup-' + idSeed++;\n\n    _popupManager2.default.register(this._popupId, this);\n  },\n  beforeDestroy: function beforeDestroy() {\n    _popupManager2.default.deregister(this._popupId);\n\n    _popupManager2.default.closeModal(this._popupId);\n\n    this.restoreBodyStyle();\n  },\n  data: function data() {\n    return {\n      opened: false,\n      bodyPaddingRight: null,\n      computedBodyPaddingRight: 0,\n      withoutHiddenClass: true,\n      rendered: false\n    };\n  },\n  watch: {\n    visible: function visible(val) {\n      var _this = this;\n\n      if (val) {\n        if (this._opening) return;\n\n        if (!this.rendered) {\n          this.rendered = true;\n\n          _vue2.default.nextTick(function () {\n            _this.open();\n          });\n        } else {\n          this.open();\n        }\n      } else {\n        this.close();\n      }\n    }\n  },\n  methods: {\n    open: function open(options) {\n      var _this2 = this;\n\n      if (!this.rendered) {\n        this.rendered = true;\n      }\n\n      var props = (0, _merge2.default)({}, this.$props || this, options);\n\n      if (this._closeTimer) {\n        clearTimeout(this._closeTimer);\n        this._closeTimer = null;\n      }\n\n      clearTimeout(this._openTimer);\n      var openDelay = Number(props.openDelay);\n\n      if (openDelay > 0) {\n        this._openTimer = setTimeout(function () {\n          _this2._openTimer = null;\n\n          _this2.doOpen(props);\n        }, openDelay);\n      } else {\n        this.doOpen(props);\n      }\n    },\n    doOpen: function doOpen(props) {\n      if (this.$isServer) return;\n      if (this.willOpen && !this.willOpen()) return;\n      if (this.opened) return;\n      this._opening = true;\n      var dom = this.$el;\n      var modal = props.modal;\n      var zIndex = props.zIndex;\n\n      if (zIndex) {\n        _popupManager2.default.zIndex = zIndex;\n      }\n\n      if (modal) {\n        if (this._closing) {\n          _popupManager2.default.closeModal(this._popupId);\n\n          this._closing = false;\n        }\n\n        _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n\n        if (props.lockScroll) {\n          this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden');\n\n          if (this.withoutHiddenClass) {\n            this.bodyPaddingRight = document.body.style.paddingRight;\n            this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10);\n          }\n\n          scrollBarWidth = (0, _scrollbarWidth2.default)();\n          var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n          var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY');\n\n          if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n            document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n          }\n\n          (0, _dom.addClass)(document.body, 'el-popup-parent--hidden');\n        }\n      }\n\n      if (getComputedStyle(dom).position === 'static') {\n        dom.style.position = 'absolute';\n      }\n\n      dom.style.zIndex = _popupManager2.default.nextZIndex();\n      this.opened = true;\n      this.onOpen && this.onOpen();\n      this.doAfterOpen();\n    },\n    doAfterOpen: function doAfterOpen() {\n      this._opening = false;\n    },\n    close: function close() {\n      var _this3 = this;\n\n      if (this.willClose && !this.willClose()) return;\n\n      if (this._openTimer !== null) {\n        clearTimeout(this._openTimer);\n        this._openTimer = null;\n      }\n\n      clearTimeout(this._closeTimer);\n      var closeDelay = Number(this.closeDelay);\n\n      if (closeDelay > 0) {\n        this._closeTimer = setTimeout(function () {\n          _this3._closeTimer = null;\n\n          _this3.doClose();\n        }, closeDelay);\n      } else {\n        this.doClose();\n      }\n    },\n    doClose: function doClose() {\n      this._closing = true;\n      this.onClose && this.onClose();\n\n      if (this.lockScroll) {\n        setTimeout(this.restoreBodyStyle, 200);\n      }\n\n      this.opened = false;\n      this.doAfterClose();\n    },\n    doAfterClose: function doAfterClose() {\n      _popupManager2.default.closeModal(this._popupId);\n\n      this._closing = false;\n    },\n    restoreBodyStyle: function restoreBodyStyle() {\n      if (this.modal && this.withoutHiddenClass) {\n        document.body.style.paddingRight = this.bodyPaddingRight;\n        (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden');\n      }\n\n      this.withoutHiddenClass = true;\n    }\n  }\n};\nexports.PopupManager = _popupManager2.default;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/popup/index.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/popup/popup-manager.js":
/*!******************************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/popup/popup-manager.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\nexports.__esModule = true;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = __webpack_require__(/*! element-ui/lib/utils/dom */ \"./node_modules/element-ui/lib/utils/dom.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar hasModal = false;\nvar hasInitZIndex = false;\nvar zIndex = void 0;\n\nvar getModal = function getModal() {\n  if (_vue2.default.prototype.$isServer) return;\n  var modalDom = PopupManager.modalDom;\n\n  if (modalDom) {\n    hasModal = true;\n  } else {\n    hasModal = false;\n    modalDom = document.createElement('div');\n    PopupManager.modalDom = modalDom;\n    modalDom.addEventListener('touchmove', function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n    });\n    modalDom.addEventListener('click', function () {\n      PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n    });\n  }\n\n  return modalDom;\n};\n\nvar instances = {};\nvar PopupManager = {\n  modalFade: true,\n  getInstance: function getInstance(id) {\n    return instances[id];\n  },\n  register: function register(id, instance) {\n    if (id && instance) {\n      instances[id] = instance;\n    }\n  },\n  deregister: function deregister(id) {\n    if (id) {\n      instances[id] = null;\n      delete instances[id];\n    }\n  },\n  nextZIndex: function nextZIndex() {\n    return PopupManager.zIndex++;\n  },\n  modalStack: [],\n  doOnModalClick: function doOnModalClick() {\n    var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n    if (!topItem) return;\n    var instance = PopupManager.getInstance(topItem.id);\n\n    if (instance && instance.closeOnClickModal) {\n      instance.close();\n    }\n  },\n  openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {\n    if (_vue2.default.prototype.$isServer) return;\n    if (!id || zIndex === undefined) return;\n    this.modalFade = modalFade;\n    var modalStack = this.modalStack;\n\n    for (var i = 0, j = modalStack.length; i < j; i++) {\n      var item = modalStack[i];\n\n      if (item.id === id) {\n        return;\n      }\n    }\n\n    var modalDom = getModal();\n    (0, _dom.addClass)(modalDom, 'v-modal');\n\n    if (this.modalFade && !hasModal) {\n      (0, _dom.addClass)(modalDom, 'v-modal-enter');\n    }\n\n    if (modalClass) {\n      var classArr = modalClass.trim().split(/\\s+/);\n      classArr.forEach(function (item) {\n        return (0, _dom.addClass)(modalDom, item);\n      });\n    }\n\n    setTimeout(function () {\n      (0, _dom.removeClass)(modalDom, 'v-modal-enter');\n    }, 200);\n\n    if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n      dom.parentNode.appendChild(modalDom);\n    } else {\n      document.body.appendChild(modalDom);\n    }\n\n    if (zIndex) {\n      modalDom.style.zIndex = zIndex;\n    }\n\n    modalDom.tabIndex = 0;\n    modalDom.style.display = '';\n    this.modalStack.push({\n      id: id,\n      zIndex: zIndex,\n      modalClass: modalClass\n    });\n  },\n  closeModal: function closeModal(id) {\n    var modalStack = this.modalStack;\n    var modalDom = getModal();\n\n    if (modalStack.length > 0) {\n      var topItem = modalStack[modalStack.length - 1];\n\n      if (topItem.id === id) {\n        if (topItem.modalClass) {\n          var classArr = topItem.modalClass.trim().split(/\\s+/);\n          classArr.forEach(function (item) {\n            return (0, _dom.removeClass)(modalDom, item);\n          });\n        }\n\n        modalStack.pop();\n\n        if (modalStack.length > 0) {\n          modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n        }\n      } else {\n        for (var i = modalStack.length - 1; i >= 0; i--) {\n          if (modalStack[i].id === id) {\n            modalStack.splice(i, 1);\n            break;\n          }\n        }\n      }\n    }\n\n    if (modalStack.length === 0) {\n      if (this.modalFade) {\n        (0, _dom.addClass)(modalDom, 'v-modal-leave');\n      }\n\n      setTimeout(function () {\n        if (modalStack.length === 0) {\n          if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n          modalDom.style.display = 'none';\n          PopupManager.modalDom = undefined;\n        }\n\n        (0, _dom.removeClass)(modalDom, 'v-modal-leave');\n      }, 200);\n    }\n  }\n};\nObject.defineProperty(PopupManager, 'zIndex', {\n  configurable: true,\n  get: function get() {\n    if (!hasInitZIndex) {\n      zIndex = zIndex || (_vue2.default.prototype.$ELEMENT || {}).zIndex || 2000;\n      hasInitZIndex = true;\n    }\n\n    return zIndex;\n  },\n  set: function set(value) {\n    zIndex = value;\n  }\n});\n\nvar getTopPopup = function getTopPopup() {\n  if (_vue2.default.prototype.$isServer) return;\n\n  if (PopupManager.modalStack.length > 0) {\n    var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n    if (!topPopup) return;\n    var instance = PopupManager.getInstance(topPopup.id);\n    return instance;\n  }\n};\n\nif (!_vue2.default.prototype.$isServer) {\n  // handle `esc` key when the popup is shown\n  window.addEventListener('keydown', function (event) {\n    if (event.keyCode === 27) {\n      var topPopup = getTopPopup();\n\n      if (topPopup && topPopup.closeOnPressEscape) {\n        topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();\n      }\n    }\n  });\n}\n\nexports.default = PopupManager;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/popup/popup-manager.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/resize-event.js":
/*!***********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/resize-event.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\nexports.__esModule = true;\nexports.removeResizeListener = exports.addResizeListener = undefined;\n\nvar _resizeObserverPolyfill = __webpack_require__(/*! resize-observer-polyfill */ \"./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\");\n\nvar _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);\n\nvar _throttleDebounce = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar isServer = typeof window === 'undefined';\n/* istanbul ignore next */\n\nvar resizeHandler = function resizeHandler(entries) {\n  for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n    var _ref;\n\n    if (_isArray) {\n      if (_i >= _iterator.length) break;\n      _ref = _iterator[_i++];\n    } else {\n      _i = _iterator.next();\n      if (_i.done) break;\n      _ref = _i.value;\n    }\n\n    var entry = _ref;\n    var listeners = entry.target.__resizeListeners__ || [];\n\n    if (listeners.length) {\n      listeners.forEach(function (fn) {\n        fn();\n      });\n    }\n  }\n};\n/* istanbul ignore next */\n\n\nvar addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) {\n  if (isServer) return;\n\n  if (!element.__resizeListeners__) {\n    element.__resizeListeners__ = [];\n    element.__ro__ = new _resizeObserverPolyfill2.default((0, _throttleDebounce.debounce)(16, resizeHandler));\n\n    element.__ro__.observe(element);\n  }\n\n  element.__resizeListeners__.push(fn);\n};\n/* istanbul ignore next */\n\n\nvar removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) {\n  if (!element || !element.__resizeListeners__) return;\n\n  element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n\n  if (!element.__resizeListeners__.length) {\n    element.__ro__.disconnect();\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/resize-event.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/scroll-into-view.js":
/*!***************************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/scroll-into-view.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\nexports.__esModule = true;\nexports.default = scrollIntoView;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nfunction scrollIntoView(container, selected) {\n  if (_vue2.default.prototype.$isServer) return;\n\n  if (!selected) {\n    container.scrollTop = 0;\n    return;\n  }\n\n  var offsetParents = [];\n  var pointer = selected.offsetParent;\n\n  while (pointer && container !== pointer && container.contains(pointer)) {\n    offsetParents.push(pointer);\n    pointer = pointer.offsetParent;\n  }\n\n  var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {\n    return prev + curr.offsetTop;\n  }, 0);\n  var bottom = top + selected.offsetHeight;\n  var viewRectTop = container.scrollTop;\n  var viewRectBottom = viewRectTop + container.clientHeight;\n\n  if (top < viewRectTop) {\n    container.scrollTop = top;\n  } else if (bottom > viewRectBottom) {\n    container.scrollTop = bottom - container.clientHeight;\n  }\n}\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/scroll-into-view.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/scrollbar-width.js":
/*!**************************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/scrollbar-width.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nexports.__esModule = true;\n\nexports.default = function () {\n  if (_vue2.default.prototype.$isServer) return 0;\n  if (scrollBarWidth !== undefined) return scrollBarWidth;\n  var outer = document.createElement('div');\n  outer.className = 'el-scrollbar__wrap';\n  outer.style.visibility = 'hidden';\n  outer.style.width = '100px';\n  outer.style.position = 'absolute';\n  outer.style.top = '-9999px';\n  document.body.appendChild(outer);\n  var widthNoScroll = outer.offsetWidth;\n  outer.style.overflow = 'scroll';\n  var inner = document.createElement('div');\n  inner.style.width = '100%';\n  outer.appendChild(inner);\n  var widthWithScroll = inner.offsetWidth;\n  outer.parentNode.removeChild(outer);\n  scrollBarWidth = widthNoScroll - widthWithScroll;\n  return scrollBarWidth;\n};\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar scrollBarWidth = void 0;\n;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/scrollbar-width.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/shared.js":
/*!*****************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/shared.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n\nexports.__esModule = true;\nexports.isDef = isDef;\nexports.isKorean = isKorean;\n\nfunction isDef(val) {\n  return val !== undefined && val !== null;\n}\n\nfunction isKorean(text) {\n  var reg = /([(\\uAC00-\\uD7AF)|(\\u3130-\\u318F)])+/gi;\n  return reg.test(text);\n}\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/shared.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/types.js":
/*!****************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/types.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.int8-array.js */ \"./node_modules/core-js/modules/es.typed-array.int8-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\nexports.__esModule = true;\nexports.isDefined = exports.isUndefined = exports.isFunction = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isHtmlElement = isHtmlElement;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nfunction isString(obj) {\n  return Object.prototype.toString.call(obj) === '[object String]';\n}\n\nfunction isObject(obj) {\n  return Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nfunction isHtmlElement(node) {\n  return node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n *  - Inspired:\n *    https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js\n */\n\n\nvar isFunction = function isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n};\n\nif ( true && (typeof Int8Array === 'undefined' ? 'undefined' : _typeof(Int8Array)) !== 'object' && (_vue2.default.prototype.$isServer || typeof document.childNodes !== 'function')) {\n  exports.isFunction = isFunction = function isFunction(obj) {\n    return typeof obj === 'function' || false;\n  };\n}\n\nexports.isFunction = isFunction;\n\nvar isUndefined = exports.isUndefined = function isUndefined(val) {\n  return val === void 0;\n};\n\nvar isDefined = exports.isDefined = function isDefined(val) {\n  return val !== undefined && val !== null;\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/types.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/util.js":
/*!***************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/util.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n\nexports.__esModule = true;\nexports.isEmpty = exports.isEqual = exports.arrayEquals = exports.looseEqual = exports.capitalize = exports.kebabCase = exports.autoprefixer = exports.isFirefox = exports.isEdge = exports.isIE = exports.coerceTruthyValueToArray = exports.arrayFind = exports.arrayFindIndex = exports.escapeRegexpString = exports.valueEquals = exports.generateId = exports.getValueByPath = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nexports.noop = noop;\nexports.hasOwn = hasOwn;\nexports.toObject = toObject;\nexports.getPropByPath = getPropByPath;\nexports.rafThrottle = rafThrottle;\nexports.objToArray = objToArray;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _types = __webpack_require__(/*! element-ui/lib/utils/types */ \"./node_modules/element-ui/lib/utils/types.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction noop() {}\n\n;\n\nfunction hasOwn(obj, key) {\n  return hasOwnProperty.call(obj, key);\n}\n\n;\n\nfunction extend(to, _from) {\n  for (var key in _from) {\n    to[key] = _from[key];\n  }\n\n  return to;\n}\n\n;\n\nfunction toObject(arr) {\n  var res = {};\n\n  for (var i = 0; i < arr.length; i++) {\n    if (arr[i]) {\n      extend(res, arr[i]);\n    }\n  }\n\n  return res;\n}\n\n;\n\nvar getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {\n  prop = prop || '';\n  var paths = prop.split('.');\n  var current = object;\n  var result = null;\n\n  for (var i = 0, j = paths.length; i < j; i++) {\n    var path = paths[i];\n    if (!current) break;\n\n    if (i === j - 1) {\n      result = current[path];\n      break;\n    }\n\n    current = current[path];\n  }\n\n  return result;\n};\n\nfunction getPropByPath(obj, path, strict) {\n  var tempObj = obj;\n  path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n  path = path.replace(/^\\./, '');\n  var keyArr = path.split('.');\n  var i = 0;\n\n  for (var len = keyArr.length; i < len - 1; ++i) {\n    if (!tempObj && !strict) break;\n    var key = keyArr[i];\n\n    if (key in tempObj) {\n      tempObj = tempObj[key];\n    } else {\n      if (strict) {\n        throw new Error('please transfer a valid prop path to form item!');\n      }\n\n      break;\n    }\n  }\n\n  return {\n    o: tempObj,\n    k: keyArr[i],\n    v: tempObj ? tempObj[keyArr[i]] : null\n  };\n}\n\n;\n\nvar generateId = exports.generateId = function generateId() {\n  return Math.floor(Math.random() * 10000);\n};\n\nvar valueEquals = exports.valueEquals = function valueEquals(a, b) {\n  // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript\n  if (a === b) return true;\n  if (!(a instanceof Array)) return false;\n  if (!(b instanceof Array)) return false;\n  if (a.length !== b.length) return false;\n\n  for (var i = 0; i !== a.length; ++i) {\n    if (a[i] !== b[i]) return false;\n  }\n\n  return true;\n};\n\nvar escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() {\n  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n  return String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n}; // TODO: use native Array.find, Array.findIndex when IE support is dropped\n\n\nvar arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {\n  for (var i = 0; i !== arr.length; ++i) {\n    if (pred(arr[i])) {\n      return i;\n    }\n  }\n\n  return -1;\n};\n\nvar arrayFind = exports.arrayFind = function arrayFind(arr, pred) {\n  var idx = arrayFindIndex(arr, pred);\n  return idx !== -1 ? arr[idx] : undefined;\n}; // coerce truthy value to array\n\n\nvar coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {\n  if (Array.isArray(val)) {\n    return val;\n  } else if (val) {\n    return [val];\n  } else {\n    return [];\n  }\n};\n\nvar isIE = exports.isIE = function isIE() {\n  return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode));\n};\n\nvar isEdge = exports.isEdge = function isEdge() {\n  return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;\n};\n\nvar isFirefox = exports.isFirefox = function isFirefox() {\n  return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);\n};\n\nvar autoprefixer = exports.autoprefixer = function autoprefixer(style) {\n  if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;\n  var rules = ['transform', 'transition', 'animation'];\n  var prefixes = ['ms-', 'webkit-'];\n  rules.forEach(function (rule) {\n    var value = style[rule];\n\n    if (rule && value) {\n      prefixes.forEach(function (prefix) {\n        style[prefix + rule] = value;\n      });\n    }\n  });\n  return style;\n};\n\nvar kebabCase = exports.kebabCase = function kebabCase(str) {\n  var hyphenateRE = /([^-])([A-Z])/g;\n  return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();\n};\n\nvar capitalize = exports.capitalize = function capitalize(str) {\n  if (!(0, _types.isString)(str)) return str;\n  return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nvar looseEqual = exports.looseEqual = function looseEqual(a, b) {\n  var isObjectA = (0, _types.isObject)(a);\n  var isObjectB = (0, _types.isObject)(b);\n\n  if (isObjectA && isObjectB) {\n    return JSON.stringify(a) === JSON.stringify(b);\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b);\n  } else {\n    return false;\n  }\n};\n\nvar arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) {\n  arrayA = arrayA || [];\n  arrayB = arrayB || [];\n\n  if (arrayA.length !== arrayB.length) {\n    return false;\n  }\n\n  for (var i = 0; i < arrayA.length; i++) {\n    if (!looseEqual(arrayA[i], arrayB[i])) {\n      return false;\n    }\n  }\n\n  return true;\n};\n\nvar isEqual = exports.isEqual = function isEqual(value1, value2) {\n  if (Array.isArray(value1) && Array.isArray(value2)) {\n    return arrayEquals(value1, value2);\n  }\n\n  return looseEqual(value1, value2);\n};\n\nvar isEmpty = exports.isEmpty = function isEmpty(val) {\n  // null or undefined\n  if (val == null) return true;\n  if (typeof val === 'boolean') return false;\n  if (typeof val === 'number') return !val;\n  if (val instanceof Error) return val.message === '';\n\n  switch (Object.prototype.toString.call(val)) {\n    // String or Array\n    case '[object String]':\n    case '[object Array]':\n      return !val.length;\n    // Map or Set or File\n\n    case '[object File]':\n    case '[object Map]':\n    case '[object Set]':\n      {\n        return !val.size;\n      }\n    // Plain Object\n\n    case '[object Object]':\n      {\n        return !Object.keys(val).length;\n      }\n  }\n\n  return false;\n};\n\nfunction rafThrottle(fn) {\n  var locked = false;\n  return function () {\n    var _this = this;\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    if (locked) return;\n    locked = true;\n    window.requestAnimationFrame(function (_) {\n      fn.apply(_this, args);\n      locked = false;\n    });\n  };\n}\n\nfunction objToArray(obj) {\n  if (Array.isArray(obj)) {\n    return obj;\n  }\n\n  return isEmpty(obj) ? [] : [obj];\n}\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/util.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/vdom.js":
/*!***************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/vdom.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof2 = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n  return _typeof2(obj);\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nexports.isVNode = isVNode;\n\nvar _util = __webpack_require__(/*! element-ui/lib/utils/util */ \"./node_modules/element-ui/lib/utils/util.js\");\n\nfunction isVNode(node) {\n  return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions');\n}\n\n;\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/vdom.js?");

/***/ }),

/***/ "./node_modules/element-ui/lib/utils/vue-popper.js":
/*!*********************************************************!*\
  !*** ./node_modules/element-ui/lib/utils/vue-popper.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nexports.__esModule = true;\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _popup = __webpack_require__(/*! element-ui/lib/utils/popup */ \"./node_modules/element-ui/lib/utils/popup/index.js\");\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nvar PopperJS = _vue2.default.prototype.$isServer ? function () {} : __webpack_require__(/*! ./popper */ \"./node_modules/element-ui/lib/utils/popper.js\");\n\nvar stop = function stop(e) {\n  return e.stopPropagation();\n};\n/**\n * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.\n * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)\n * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).\n * @param {Boolean} [visible=false] Visibility of the popup element.\n * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.\n */\n\n\nexports.default = {\n  props: {\n    transformOrigin: {\n      type: [Boolean, String],\n      default: true\n    },\n    placement: {\n      type: String,\n      default: 'bottom'\n    },\n    boundariesPadding: {\n      type: Number,\n      default: 5\n    },\n    reference: {},\n    popper: {},\n    offset: {\n      default: 0\n    },\n    value: Boolean,\n    visibleArrow: Boolean,\n    arrowOffset: {\n      type: Number,\n      default: 35\n    },\n    appendToBody: {\n      type: Boolean,\n      default: true\n    },\n    popperOptions: {\n      type: Object,\n      default: function _default() {\n        return {\n          gpuAcceleration: false\n        };\n      }\n    }\n  },\n  data: function data() {\n    return {\n      showPopper: false,\n      currentPlacement: ''\n    };\n  },\n  watch: {\n    value: {\n      immediate: true,\n      handler: function handler(val) {\n        this.showPopper = val;\n        this.$emit('input', val);\n      }\n    },\n    showPopper: function showPopper(val) {\n      if (this.disabled) return;\n      val ? this.updatePopper() : this.destroyPopper();\n      this.$emit('input', val);\n    }\n  },\n  methods: {\n    createPopper: function createPopper() {\n      var _this = this;\n\n      if (this.$isServer) return;\n      this.currentPlacement = this.currentPlacement || this.placement;\n\n      if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {\n        return;\n      }\n\n      var options = this.popperOptions;\n      var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;\n      var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;\n\n      if (!reference && this.$slots.reference && this.$slots.reference[0]) {\n        reference = this.referenceElm = this.$slots.reference[0].elm;\n      }\n\n      if (!popper || !reference) return;\n      if (this.visibleArrow) this.appendArrow(popper);\n      if (this.appendToBody) document.body.appendChild(this.popperElm);\n\n      if (this.popperJS && this.popperJS.destroy) {\n        this.popperJS.destroy();\n      }\n\n      options.placement = this.currentPlacement;\n      options.offset = this.offset;\n      options.arrowOffset = this.arrowOffset;\n      this.popperJS = new PopperJS(reference, popper, options);\n      this.popperJS.onCreate(function (_) {\n        _this.$emit('created', _this);\n\n        _this.resetTransformOrigin();\n\n        _this.$nextTick(_this.updatePopper);\n      });\n\n      if (typeof options.onUpdate === 'function') {\n        this.popperJS.onUpdate(options.onUpdate);\n      }\n\n      this.popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n      this.popperElm.addEventListener('click', stop);\n    },\n    updatePopper: function updatePopper() {\n      var popperJS = this.popperJS;\n\n      if (popperJS) {\n        popperJS.update();\n\n        if (popperJS._popper) {\n          popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n        }\n      } else {\n        this.createPopper();\n      }\n    },\n    doDestroy: function doDestroy(forceDestroy) {\n      /* istanbul ignore if */\n      if (!this.popperJS || this.showPopper && !forceDestroy) return;\n      this.popperJS.destroy();\n      this.popperJS = null;\n    },\n    destroyPopper: function destroyPopper() {\n      if (this.popperJS) {\n        this.resetTransformOrigin();\n      }\n    },\n    resetTransformOrigin: function resetTransformOrigin() {\n      if (!this.transformOrigin) return;\n      var placementMap = {\n        top: 'bottom',\n        bottom: 'top',\n        left: 'right',\n        right: 'left'\n      };\n\n      var placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0];\n\n      var origin = placementMap[placement];\n      this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center';\n    },\n    appendArrow: function appendArrow(element) {\n      var hash = void 0;\n\n      if (this.appended) {\n        return;\n      }\n\n      this.appended = true;\n\n      for (var item in element.attributes) {\n        if (/^_v-/.test(element.attributes[item].name)) {\n          hash = element.attributes[item].name;\n          break;\n        }\n      }\n\n      var arrow = document.createElement('div');\n\n      if (hash) {\n        arrow.setAttribute(hash, '');\n      }\n\n      arrow.setAttribute('x-arrow', '');\n      arrow.className = 'popper__arrow';\n      element.appendChild(arrow);\n    }\n  },\n  beforeDestroy: function beforeDestroy() {\n    this.doDestroy(true);\n\n    if (this.popperElm && this.popperElm.parentNode === document.body) {\n      this.popperElm.removeEventListener('click', stop);\n      document.body.removeChild(this.popperElm);\n    }\n  },\n  // call destroy in keep-alive mode\n  deactivated: function deactivated() {\n    this.$options.beforeDestroy[0].call(this);\n  }\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/lib/utils/vue-popper.js?");

/***/ }),

/***/ "./node_modules/element-ui/node_modules/deepmerge/dist/cjs.js":
/*!********************************************************************!*\
  !*** ./node_modules/element-ui/node_modules/deepmerge/dist/cjs.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n\n__webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n\nvar isMergeableObject = function isMergeableObject(value) {\n  return isNonNullObject(value) && !isSpecial(value);\n};\n\nfunction isNonNullObject(value) {\n  return !!value && _typeof(value) === 'object';\n}\n\nfunction isSpecial(value) {\n  var stringValue = Object.prototype.toString.call(value);\n  return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value);\n} // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\n\n\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n  return value.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nfunction emptyTarget(val) {\n  return Array.isArray(val) ? [] : {};\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n  var clone = optionsArgument && optionsArgument.clone === true;\n  return clone && isMergeableObject(value) ? deepmerge(emptyTarget(value), value, optionsArgument) : value;\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n  var destination = target.slice();\n  source.forEach(function (e, i) {\n    if (typeof destination[i] === 'undefined') {\n      destination[i] = cloneIfNecessary(e, optionsArgument);\n    } else if (isMergeableObject(e)) {\n      destination[i] = deepmerge(target[i], e, optionsArgument);\n    } else if (target.indexOf(e) === -1) {\n      destination.push(cloneIfNecessary(e, optionsArgument));\n    }\n  });\n  return destination;\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n  var destination = {};\n\n  if (isMergeableObject(target)) {\n    Object.keys(target).forEach(function (key) {\n      destination[key] = cloneIfNecessary(target[key], optionsArgument);\n    });\n  }\n\n  Object.keys(source).forEach(function (key) {\n    if (!isMergeableObject(source[key]) || !target[key]) {\n      destination[key] = cloneIfNecessary(source[key], optionsArgument);\n    } else {\n      destination[key] = deepmerge(target[key], source[key], optionsArgument);\n    }\n  });\n  return destination;\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n  var sourceIsArray = Array.isArray(source);\n  var targetIsArray = Array.isArray(target);\n  var options = optionsArgument || {\n    arrayMerge: defaultArrayMerge\n  };\n  var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n  if (!sourceAndTargetTypesMatch) {\n    return cloneIfNecessary(source, optionsArgument);\n  } else if (sourceIsArray) {\n    var arrayMerge = options.arrayMerge || defaultArrayMerge;\n    return arrayMerge(target, source, optionsArgument);\n  } else {\n    return mergeObject(target, source, optionsArgument);\n  }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n  if (!Array.isArray(array) || array.length < 2) {\n    throw new Error('first argument should be an array with at least two elements');\n  } // we are sure there are at least 2 values, so it is safe to have no initial value\n\n\n  return array.reduce(function (prev, next) {\n    return deepmerge(prev, next, optionsArgument);\n  });\n};\n\nvar deepmerge_1 = deepmerge;\nmodule.exports = deepmerge_1;\n\n//# sourceURL=webpack:///./node_modules/element-ui/node_modules/deepmerge/dist/cjs.js?");

/***/ }),

/***/ "./node_modules/element-ui/packages/image/src/image-viewer.vue":
/*!*********************************************************************!*\
  !*** ./node_modules/element-ui/packages/image/src/image-viewer.vue ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _image_viewer_vue_vue_type_template_id_adcce53c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./image-viewer.vue?vue&type=template&id=adcce53c& */ \"./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=adcce53c&\");\n/* harmony import */ var _image_viewer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./image-viewer.vue?vue&type=script&lang=js& */ \"./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _image_viewer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _image_viewer_vue_vue_type_template_id_adcce53c___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _image_viewer_vue_vue_type_template_id_adcce53c___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"node_modules/element-ui/packages/image/src/image-viewer.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./node_modules/element-ui/packages/image/src/image-viewer.vue?");

/***/ }),

/***/ "./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js&":
/*!**********************************************************************************************!*\
  !*** ./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_dist_cjs_js_ref_13_0_babel_loader_lib_index_js_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_image_viewer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../babel-loader/lib!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib??vue-loader-options!./image-viewer.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_cache_loader_dist_cjs_js_ref_13_0_babel_loader_lib_index_js_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_image_viewer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./node_modules/element-ui/packages/image/src/image-viewer.vue?");

/***/ }),

/***/ "./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=adcce53c&":
/*!****************************************************************************************************!*\
  !*** ./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=adcce53c& ***!
  \****************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_image_viewer_vue_vue_type_template_id_adcce53c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib??vue-loader-options!./image-viewer.vue?vue&type=template&id=adcce53c& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=adcce53c&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_image_viewer_vue_vue_type_template_id_adcce53c___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_image_viewer_vue_vue_type_template_id_adcce53c___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./node_modules/element-ui/packages/image/src/image-viewer.vue?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/dom.js":
/*!**************************************************!*\
  !*** ./node_modules/element-ui/src/utils/dom.js ***!
  \**************************************************/
/*! exports provided: on, off, once, hasClass, addClass, removeClass, getStyle, setStyle, isScroll, getScrollContainer, isInContainer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"on\", function() { return on; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"off\", function() { return off; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return once; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasClass\", function() { return hasClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addClass\", function() { return addClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeClass\", function() { return removeClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStyle\", function() { return getStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStyle\", function() { return setStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isScroll\", function() { return isScroll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getScrollContainer\", function() { return getScrollContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isInContainer\", function() { return isInContainer; });\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/* istanbul ignore next */\n\nvar isServer = vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.$isServer;\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\nvar ieVersion = isServer ? 0 : Number(document.documentMode);\n/* istanbul ignore next */\n\nvar trim = function trim(string) {\n  return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n/* istanbul ignore next */\n\n\nvar camelCase = function camelCase(name) {\n  return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n    return offset ? letter.toUpperCase() : letter;\n  }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n};\n/* istanbul ignore next */\n\n\nvar on = function () {\n  if (!isServer && document.addEventListener) {\n    return function (element, event, handler) {\n      if (element && event && handler) {\n        element.addEventListener(event, handler, false);\n      }\n    };\n  } else {\n    return function (element, event, handler) {\n      if (element && event && handler) {\n        element.attachEvent('on' + event, handler);\n      }\n    };\n  }\n}();\n/* istanbul ignore next */\n\nvar off = function () {\n  if (!isServer && document.removeEventListener) {\n    return function (element, event, handler) {\n      if (element && event) {\n        element.removeEventListener(event, handler, false);\n      }\n    };\n  } else {\n    return function (element, event, handler) {\n      if (element && event) {\n        element.detachEvent('on' + event, handler);\n      }\n    };\n  }\n}();\n/* istanbul ignore next */\n\nvar once = function once(el, event, fn) {\n  var listener = function listener() {\n    if (fn) {\n      fn.apply(this, arguments);\n    }\n\n    off(el, event, listener);\n  };\n\n  on(el, event, listener);\n};\n/* istanbul ignore next */\n\nfunction hasClass(el, cls) {\n  if (!el || !cls) return false;\n  if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n\n  if (el.classList) {\n    return el.classList.contains(cls);\n  } else {\n    return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n  }\n}\n;\n/* istanbul ignore next */\n\nfunction addClass(el, cls) {\n  if (!el) return;\n  var curClass = el.className;\n  var classes = (cls || '').split(' ');\n\n  for (var i = 0, j = classes.length; i < j; i++) {\n    var clsName = classes[i];\n    if (!clsName) continue;\n\n    if (el.classList) {\n      el.classList.add(clsName);\n    } else if (!hasClass(el, clsName)) {\n      curClass += ' ' + clsName;\n    }\n  }\n\n  if (!el.classList) {\n    el.setAttribute('class', curClass);\n  }\n}\n;\n/* istanbul ignore next */\n\nfunction removeClass(el, cls) {\n  if (!el || !cls) return;\n  var classes = cls.split(' ');\n  var curClass = ' ' + el.className + ' ';\n\n  for (var i = 0, j = classes.length; i < j; i++) {\n    var clsName = classes[i];\n    if (!clsName) continue;\n\n    if (el.classList) {\n      el.classList.remove(clsName);\n    } else if (hasClass(el, clsName)) {\n      curClass = curClass.replace(' ' + clsName + ' ', ' ');\n    }\n  }\n\n  if (!el.classList) {\n    el.setAttribute('class', trim(curClass));\n  }\n}\n;\n/* istanbul ignore next */\n\nvar getStyle = ieVersion < 9 ? function (element, styleName) {\n  if (isServer) return;\n  if (!element || !styleName) return null;\n  styleName = camelCase(styleName);\n\n  if (styleName === 'float') {\n    styleName = 'styleFloat';\n  }\n\n  try {\n    switch (styleName) {\n      case 'opacity':\n        try {\n          return element.filters.item('alpha').opacity / 100;\n        } catch (e) {\n          return 1.0;\n        }\n\n      default:\n        return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;\n    }\n  } catch (e) {\n    return element.style[styleName];\n  }\n} : function (element, styleName) {\n  if (isServer) return;\n  if (!element || !styleName) return null;\n  styleName = camelCase(styleName);\n\n  if (styleName === 'float') {\n    styleName = 'cssFloat';\n  }\n\n  try {\n    var computed = document.defaultView.getComputedStyle(element, '');\n    return element.style[styleName] || computed ? computed[styleName] : null;\n  } catch (e) {\n    return element.style[styleName];\n  }\n};\n/* istanbul ignore next */\n\nfunction setStyle(element, styleName, value) {\n  if (!element || !styleName) return;\n\n  if (Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styleName) === 'object') {\n    for (var prop in styleName) {\n      if (styleName.hasOwnProperty(prop)) {\n        setStyle(element, prop, styleName[prop]);\n      }\n    }\n  } else {\n    styleName = camelCase(styleName);\n\n    if (styleName === 'opacity' && ieVersion < 9) {\n      element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';\n    } else {\n      element.style[styleName] = value;\n    }\n  }\n}\n;\nvar isScroll = function isScroll(el, vertical) {\n  if (isServer) return;\n  var determinedDirection = vertical !== null && vertical !== undefined;\n  var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');\n  return overflow.match(/(scroll|auto|overlay)/);\n};\nvar getScrollContainer = function getScrollContainer(el, vertical) {\n  if (isServer) return;\n  var parent = el;\n\n  while (parent) {\n    if ([window, document, document.documentElement].includes(parent)) {\n      return window;\n    }\n\n    if (isScroll(parent, vertical)) {\n      return parent;\n    }\n\n    parent = parent.parentNode;\n  }\n\n  return parent;\n};\nvar isInContainer = function isInContainer(el, container) {\n  if (isServer || !el || !container) return false;\n  var elRect = el.getBoundingClientRect();\n  var containerRect;\n\n  if ([window, document, document.documentElement, null, undefined].includes(container)) {\n    containerRect = {\n      top: 0,\n      right: window.innerWidth,\n      bottom: window.innerHeight,\n      left: 0\n    };\n  } else {\n    containerRect = container.getBoundingClientRect();\n  }\n\n  return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/dom.js?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/merge.js":
/*!****************************************************!*\
  !*** ./node_modules/element-ui/src/utils/merge.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (target) {\n  for (var i = 1, j = arguments.length; i < j; i++) {\n    var source = arguments[i] || {};\n\n    for (var prop in source) {\n      if (source.hasOwnProperty(prop)) {\n        var value = source[prop];\n\n        if (value !== undefined) {\n          target[prop] = value;\n        }\n      }\n    }\n  }\n\n  return target;\n});\n;\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/merge.js?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/popup/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/element-ui/src/utils/popup/index.js ***!
  \**********************************************************/
/*! exports provided: default, PopupManager */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var element_ui_src_utils_merge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! element-ui/src/utils/merge */ \"./node_modules/element-ui/src/utils/merge.js\");\n/* harmony import */ var element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! element-ui/src/utils/popup/popup-manager */ \"./node_modules/element-ui/src/utils/popup/popup-manager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupManager\", function() { return element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _scrollbar_width__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scrollbar-width */ \"./node_modules/element-ui/src/utils/scrollbar-width.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom */ \"./node_modules/element-ui/src/utils/dom.js\");\n\n\n\n\n\n\nvar idSeed = 1;\nvar scrollBarWidth;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  props: {\n    visible: {\n      type: Boolean,\n      default: false\n    },\n    openDelay: {},\n    closeDelay: {},\n    zIndex: {},\n    modal: {\n      type: Boolean,\n      default: false\n    },\n    modalFade: {\n      type: Boolean,\n      default: true\n    },\n    modalClass: {},\n    modalAppendToBody: {\n      type: Boolean,\n      default: false\n    },\n    lockScroll: {\n      type: Boolean,\n      default: true\n    },\n    closeOnPressEscape: {\n      type: Boolean,\n      default: false\n    },\n    closeOnClickModal: {\n      type: Boolean,\n      default: false\n    }\n  },\n  beforeMount: function beforeMount() {\n    this._popupId = 'popup-' + idSeed++;\n    element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].register(this._popupId, this);\n  },\n  beforeDestroy: function beforeDestroy() {\n    element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].deregister(this._popupId);\n    element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].closeModal(this._popupId);\n    this.restoreBodyStyle();\n  },\n  data: function data() {\n    return {\n      opened: false,\n      bodyPaddingRight: null,\n      computedBodyPaddingRight: 0,\n      withoutHiddenClass: true,\n      rendered: false\n    };\n  },\n  watch: {\n    visible: function visible(val) {\n      var _this = this;\n\n      if (val) {\n        if (this._opening) return;\n\n        if (!this.rendered) {\n          this.rendered = true;\n          vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n            _this.open();\n          });\n        } else {\n          this.open();\n        }\n      } else {\n        this.close();\n      }\n    }\n  },\n  methods: {\n    open: function open(options) {\n      var _this2 = this;\n\n      if (!this.rendered) {\n        this.rendered = true;\n      }\n\n      var props = Object(element_ui_src_utils_merge__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({}, this.$props || this, options);\n\n      if (this._closeTimer) {\n        clearTimeout(this._closeTimer);\n        this._closeTimer = null;\n      }\n\n      clearTimeout(this._openTimer);\n      var openDelay = Number(props.openDelay);\n\n      if (openDelay > 0) {\n        this._openTimer = setTimeout(function () {\n          _this2._openTimer = null;\n\n          _this2.doOpen(props);\n        }, openDelay);\n      } else {\n        this.doOpen(props);\n      }\n    },\n    doOpen: function doOpen(props) {\n      if (this.$isServer) return;\n      if (this.willOpen && !this.willOpen()) return;\n      if (this.opened) return;\n      this._opening = true;\n      var dom = this.$el;\n      var modal = props.modal;\n      var zIndex = props.zIndex;\n\n      if (zIndex) {\n        element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].zIndex = zIndex;\n      }\n\n      if (modal) {\n        if (this._closing) {\n          element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].closeModal(this._popupId);\n          this._closing = false;\n        }\n\n        element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].openModal(this._popupId, element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n\n        if (props.lockScroll) {\n          this.withoutHiddenClass = !Object(_dom__WEBPACK_IMPORTED_MODULE_5__[\"hasClass\"])(document.body, 'el-popup-parent--hidden');\n\n          if (this.withoutHiddenClass) {\n            this.bodyPaddingRight = document.body.style.paddingRight;\n            this.computedBodyPaddingRight = parseInt(Object(_dom__WEBPACK_IMPORTED_MODULE_5__[\"getStyle\"])(document.body, 'paddingRight'), 10);\n          }\n\n          scrollBarWidth = Object(_scrollbar_width__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n          var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n          var bodyOverflowY = Object(_dom__WEBPACK_IMPORTED_MODULE_5__[\"getStyle\"])(document.body, 'overflowY');\n\n          if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n            document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n          }\n\n          Object(_dom__WEBPACK_IMPORTED_MODULE_5__[\"addClass\"])(document.body, 'el-popup-parent--hidden');\n        }\n      }\n\n      if (getComputedStyle(dom).position === 'static') {\n        dom.style.position = 'absolute';\n      }\n\n      dom.style.zIndex = element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].nextZIndex();\n      this.opened = true;\n      this.onOpen && this.onOpen();\n      this.doAfterOpen();\n    },\n    doAfterOpen: function doAfterOpen() {\n      this._opening = false;\n    },\n    close: function close() {\n      var _this3 = this;\n\n      if (this.willClose && !this.willClose()) return;\n\n      if (this._openTimer !== null) {\n        clearTimeout(this._openTimer);\n        this._openTimer = null;\n      }\n\n      clearTimeout(this._closeTimer);\n      var closeDelay = Number(this.closeDelay);\n\n      if (closeDelay > 0) {\n        this._closeTimer = setTimeout(function () {\n          _this3._closeTimer = null;\n\n          _this3.doClose();\n        }, closeDelay);\n      } else {\n        this.doClose();\n      }\n    },\n    doClose: function doClose() {\n      this._closing = true;\n      this.onClose && this.onClose();\n\n      if (this.lockScroll) {\n        setTimeout(this.restoreBodyStyle, 200);\n      }\n\n      this.opened = false;\n      this.doAfterClose();\n    },\n    doAfterClose: function doAfterClose() {\n      element_ui_src_utils_popup_popup_manager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].closeModal(this._popupId);\n      this._closing = false;\n    },\n    restoreBodyStyle: function restoreBodyStyle() {\n      if (this.modal && this.withoutHiddenClass) {\n        document.body.style.paddingRight = this.bodyPaddingRight;\n        Object(_dom__WEBPACK_IMPORTED_MODULE_5__[\"removeClass\"])(document.body, 'el-popup-parent--hidden');\n      }\n\n      this.withoutHiddenClass = true;\n    }\n  }\n});\n\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/popup/index.js?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/popup/popup-manager.js":
/*!******************************************************************!*\
  !*** ./node_modules/element-ui/src/utils/popup/popup-manager.js ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-ui/src/utils/dom */ \"./node_modules/element-ui/src/utils/dom.js\");\n\n\n\n\n\n\n\n\nvar hasModal = false;\nvar hasInitZIndex = false;\nvar zIndex;\n\nvar getModal = function getModal() {\n  if (vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].prototype.$isServer) return;\n  var modalDom = PopupManager.modalDom;\n\n  if (modalDom) {\n    hasModal = true;\n  } else {\n    hasModal = false;\n    modalDom = document.createElement('div');\n    PopupManager.modalDom = modalDom;\n    modalDom.addEventListener('touchmove', function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n    });\n    modalDom.addEventListener('click', function () {\n      PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n    });\n  }\n\n  return modalDom;\n};\n\nvar instances = {};\nvar PopupManager = {\n  modalFade: true,\n  getInstance: function getInstance(id) {\n    return instances[id];\n  },\n  register: function register(id, instance) {\n    if (id && instance) {\n      instances[id] = instance;\n    }\n  },\n  deregister: function deregister(id) {\n    if (id) {\n      instances[id] = null;\n      delete instances[id];\n    }\n  },\n  nextZIndex: function nextZIndex() {\n    return PopupManager.zIndex++;\n  },\n  modalStack: [],\n  doOnModalClick: function doOnModalClick() {\n    var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n    if (!topItem) return;\n    var instance = PopupManager.getInstance(topItem.id);\n\n    if (instance && instance.closeOnClickModal) {\n      instance.close();\n    }\n  },\n  openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {\n    if (vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].prototype.$isServer) return;\n    if (!id || zIndex === undefined) return;\n    this.modalFade = modalFade;\n    var modalStack = this.modalStack;\n\n    for (var i = 0, j = modalStack.length; i < j; i++) {\n      var item = modalStack[i];\n\n      if (item.id === id) {\n        return;\n      }\n    }\n\n    var modalDom = getModal();\n    Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"addClass\"])(modalDom, 'v-modal');\n\n    if (this.modalFade && !hasModal) {\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"addClass\"])(modalDom, 'v-modal-enter');\n    }\n\n    if (modalClass) {\n      var classArr = modalClass.trim().split(/\\s+/);\n      classArr.forEach(function (item) {\n        return Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"addClass\"])(modalDom, item);\n      });\n    }\n\n    setTimeout(function () {\n      Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"removeClass\"])(modalDom, 'v-modal-enter');\n    }, 200);\n\n    if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n      dom.parentNode.appendChild(modalDom);\n    } else {\n      document.body.appendChild(modalDom);\n    }\n\n    if (zIndex) {\n      modalDom.style.zIndex = zIndex;\n    }\n\n    modalDom.tabIndex = 0;\n    modalDom.style.display = '';\n    this.modalStack.push({\n      id: id,\n      zIndex: zIndex,\n      modalClass: modalClass\n    });\n  },\n  closeModal: function closeModal(id) {\n    var modalStack = this.modalStack;\n    var modalDom = getModal();\n\n    if (modalStack.length > 0) {\n      var topItem = modalStack[modalStack.length - 1];\n\n      if (topItem.id === id) {\n        if (topItem.modalClass) {\n          var classArr = topItem.modalClass.trim().split(/\\s+/);\n          classArr.forEach(function (item) {\n            return Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"removeClass\"])(modalDom, item);\n          });\n        }\n\n        modalStack.pop();\n\n        if (modalStack.length > 0) {\n          modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n        }\n      } else {\n        for (var i = modalStack.length - 1; i >= 0; i--) {\n          if (modalStack[i].id === id) {\n            modalStack.splice(i, 1);\n            break;\n          }\n        }\n      }\n    }\n\n    if (modalStack.length === 0) {\n      if (this.modalFade) {\n        Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"addClass\"])(modalDom, 'v-modal-leave');\n      }\n\n      setTimeout(function () {\n        if (modalStack.length === 0) {\n          if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n          modalDom.style.display = 'none';\n          PopupManager.modalDom = undefined;\n        }\n\n        Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_7__[\"removeClass\"])(modalDom, 'v-modal-leave');\n      }, 200);\n    }\n  }\n};\nObject.defineProperty(PopupManager, 'zIndex', {\n  configurable: true,\n  get: function get() {\n    if (!hasInitZIndex) {\n      zIndex = zIndex || (vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].prototype.$ELEMENT || {}).zIndex || 2000;\n      hasInitZIndex = true;\n    }\n\n    return zIndex;\n  },\n  set: function set(value) {\n    zIndex = value;\n  }\n});\n\nvar getTopPopup = function getTopPopup() {\n  if (vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].prototype.$isServer) return;\n\n  if (PopupManager.modalStack.length > 0) {\n    var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n    if (!topPopup) return;\n    var instance = PopupManager.getInstance(topPopup.id);\n    return instance;\n  }\n};\n\nif (!vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].prototype.$isServer) {\n  // handle `esc` key when the popup is shown\n  window.addEventListener('keydown', function (event) {\n    if (event.keyCode === 27) {\n      var topPopup = getTopPopup();\n\n      if (topPopup && topPopup.closeOnPressEscape) {\n        topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();\n      }\n    }\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PopupManager);\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/popup/popup-manager.js?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/scrollbar-width.js":
/*!**************************************************************!*\
  !*** ./node_modules/element-ui/src/utils/scrollbar-width.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\nvar scrollBarWidth;\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n  if (vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype.$isServer) return 0;\n  if (scrollBarWidth !== undefined) return scrollBarWidth;\n  var outer = document.createElement('div');\n  outer.className = 'el-scrollbar__wrap';\n  outer.style.visibility = 'hidden';\n  outer.style.width = '100px';\n  outer.style.position = 'absolute';\n  outer.style.top = '-9999px';\n  document.body.appendChild(outer);\n  var widthNoScroll = outer.offsetWidth;\n  outer.style.overflow = 'scroll';\n  var inner = document.createElement('div');\n  inner.style.width = '100%';\n  outer.appendChild(inner);\n  var widthWithScroll = inner.offsetWidth;\n  outer.parentNode.removeChild(outer);\n  scrollBarWidth = widthNoScroll - widthWithScroll;\n  return scrollBarWidth;\n});\n;\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/scrollbar-width.js?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/types.js":
/*!****************************************************!*\
  !*** ./node_modules/element-ui/src/utils/types.js ***!
  \****************************************************/
/*! exports provided: isString, isObject, isHtmlElement, isFunction, isUndefined, isDefined */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isHtmlElement\", function() { return isHtmlElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return isUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDefined\", function() { return isDefined; });\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_buffer_slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n/* harmony import */ var core_js_modules_es_array_buffer_slice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_buffer_slice_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_typed_array_int8_array_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.typed-array.int8-array.js */ \"./node_modules/core-js/modules/es.typed-array.int8-array.js\");\n/* harmony import */ var core_js_modules_es_typed_array_int8_array_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_int8_array_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_typed_array_at_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n/* harmony import */ var core_js_modules_es_typed_array_at_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_at_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n/* harmony import */ var core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n/* harmony import */ var core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n/* harmony import */ var core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n/* harmony import */ var core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n/* harmony import */ var core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n/* harmony import */ var core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n/* harmony import */ var core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n/* harmony import */ var core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n/* harmony import */ var core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n/* harmony import */ var core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n/* harmony import */ var core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n/* harmony import */ var core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n/* harmony import */ var core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n/* harmony import */ var core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n/* harmony import */ var core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n/* harmony import */ var core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n/* harmony import */ var core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n/* harmony import */ var core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n/* harmony import */ var core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n/* harmony import */ var core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n/* harmony import */ var core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n/* harmony import */ var core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n/* harmony import */ var core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isString(obj) {\n  return Object.prototype.toString.call(obj) === '[object String]';\n}\nfunction isObject(obj) {\n  return Object.prototype.toString.call(obj) === '[object Object]';\n}\nfunction isHtmlElement(node) {\n  return node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n *  - Inspired:\n *    https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js\n */\n\nvar isFunction = function isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n};\n\nif ( true && (typeof Int8Array === \"undefined\" ? \"undefined\" : Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Int8Array)) !== 'object' && (vue__WEBPACK_IMPORTED_MODULE_28__[\"default\"].prototype.$isServer || typeof document.childNodes !== 'function')) {\n  isFunction = function isFunction(obj) {\n    return typeof obj === 'function' || false;\n  };\n}\n\n\nvar isUndefined = function isUndefined(val) {\n  return val === void 0;\n};\nvar isDefined = function isDefined(val) {\n  return val !== undefined && val !== null;\n};\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/types.js?");

/***/ }),

/***/ "./node_modules/element-ui/src/utils/util.js":
/*!***************************************************!*\
  !*** ./node_modules/element-ui/src/utils/util.js ***!
  \***************************************************/
/*! exports provided: noop, hasOwn, toObject, getValueByPath, getPropByPath, generateId, valueEquals, escapeRegexpString, arrayFindIndex, arrayFind, coerceTruthyValueToArray, isIE, isEdge, isFirefox, autoprefixer, kebabCase, capitalize, looseEqual, arrayEquals, isEqual, isEmpty, rafThrottle, objToArray */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasOwn\", function() { return hasOwn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toObject\", function() { return toObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getValueByPath\", function() { return getValueByPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPropByPath\", function() { return getPropByPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateId\", function() { return generateId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"valueEquals\", function() { return valueEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeRegexpString\", function() { return escapeRegexpString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayFindIndex\", function() { return arrayFindIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayFind\", function() { return arrayFind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"coerceTruthyValueToArray\", function() { return coerceTruthyValueToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isIE\", function() { return isIE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEdge\", function() { return isEdge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFirefox\", function() { return isFirefox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"autoprefixer\", function() { return autoprefixer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kebabCase\", function() { return kebabCase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"capitalize\", function() { return capitalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"looseEqual\", function() { return looseEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayEquals\", function() { return arrayEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return isEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rafThrottle\", function() { return rafThrottle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"objToArray\", function() { return objToArray; });\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! element-ui/src/utils/types */ \"./node_modules/element-ui/src/utils/types.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction noop() {}\n;\nfunction hasOwn(obj, key) {\n  return hasOwnProperty.call(obj, key);\n}\n;\n\nfunction extend(to, _from) {\n  for (var key in _from) {\n    to[key] = _from[key];\n  }\n\n  return to;\n}\n\n;\nfunction toObject(arr) {\n  var res = {};\n\n  for (var i = 0; i < arr.length; i++) {\n    if (arr[i]) {\n      extend(res, arr[i]);\n    }\n  }\n\n  return res;\n}\n;\nvar getValueByPath = function getValueByPath(object, prop) {\n  prop = prop || '';\n  var paths = prop.split('.');\n  var current = object;\n  var result = null;\n\n  for (var i = 0, j = paths.length; i < j; i++) {\n    var path = paths[i];\n    if (!current) break;\n\n    if (i === j - 1) {\n      result = current[path];\n      break;\n    }\n\n    current = current[path];\n  }\n\n  return result;\n};\nfunction getPropByPath(obj, path, strict) {\n  var tempObj = obj;\n  path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n  path = path.replace(/^\\./, '');\n  var keyArr = path.split('.');\n  var i = 0;\n\n  for (var len = keyArr.length; i < len - 1; ++i) {\n    if (!tempObj && !strict) break;\n    var key = keyArr[i];\n\n    if (key in tempObj) {\n      tempObj = tempObj[key];\n    } else {\n      if (strict) {\n        throw new Error('please transfer a valid prop path to form item!');\n      }\n\n      break;\n    }\n  }\n\n  return {\n    o: tempObj,\n    k: keyArr[i],\n    v: tempObj ? tempObj[keyArr[i]] : null\n  };\n}\n;\nvar generateId = function generateId() {\n  return Math.floor(Math.random() * 10000);\n};\nvar valueEquals = function valueEquals(a, b) {\n  // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript\n  if (a === b) return true;\n  if (!(a instanceof Array)) return false;\n  if (!(b instanceof Array)) return false;\n  if (a.length !== b.length) return false;\n\n  for (var i = 0; i !== a.length; ++i) {\n    if (a[i] !== b[i]) return false;\n  }\n\n  return true;\n};\nvar escapeRegexpString = function escapeRegexpString() {\n  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n  return String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n}; // TODO: use native Array.find, Array.findIndex when IE support is dropped\n\nvar arrayFindIndex = function arrayFindIndex(arr, pred) {\n  for (var i = 0; i !== arr.length; ++i) {\n    if (pred(arr[i])) {\n      return i;\n    }\n  }\n\n  return -1;\n};\nvar arrayFind = function arrayFind(arr, pred) {\n  var idx = arrayFindIndex(arr, pred);\n  return idx !== -1 ? arr[idx] : undefined;\n}; // coerce truthy value to array\n\nvar coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {\n  if (Array.isArray(val)) {\n    return val;\n  } else if (val) {\n    return [val];\n  } else {\n    return [];\n  }\n};\nvar isIE = function isIE() {\n  return !vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.$isServer && !isNaN(Number(document.documentMode));\n};\nvar isEdge = function isEdge() {\n  return !vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;\n};\nvar isFirefox = function isFirefox() {\n  return !vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);\n};\nvar autoprefixer = function autoprefixer(style) {\n  if (Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(style) !== 'object') return style;\n  var rules = ['transform', 'transition', 'animation'];\n  var prefixes = ['ms-', 'webkit-'];\n  rules.forEach(function (rule) {\n    var value = style[rule];\n\n    if (rule && value) {\n      prefixes.forEach(function (prefix) {\n        style[prefix + rule] = value;\n      });\n    }\n  });\n  return style;\n};\nvar kebabCase = function kebabCase(str) {\n  var hyphenateRE = /([^-])([A-Z])/g;\n  return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();\n};\nvar capitalize = function capitalize(str) {\n  if (!Object(element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_12__[\"isString\"])(str)) return str;\n  return str.charAt(0).toUpperCase() + str.slice(1);\n};\nvar looseEqual = function looseEqual(a, b) {\n  var isObjectA = Object(element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_12__[\"isObject\"])(a);\n  var isObjectB = Object(element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_12__[\"isObject\"])(b);\n\n  if (isObjectA && isObjectB) {\n    return JSON.stringify(a) === JSON.stringify(b);\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b);\n  } else {\n    return false;\n  }\n};\nvar arrayEquals = function arrayEquals(arrayA, arrayB) {\n  arrayA = arrayA || [];\n  arrayB = arrayB || [];\n\n  if (arrayA.length !== arrayB.length) {\n    return false;\n  }\n\n  for (var i = 0; i < arrayA.length; i++) {\n    if (!looseEqual(arrayA[i], arrayB[i])) {\n      return false;\n    }\n  }\n\n  return true;\n};\nvar isEqual = function isEqual(value1, value2) {\n  if (Array.isArray(value1) && Array.isArray(value2)) {\n    return arrayEquals(value1, value2);\n  }\n\n  return looseEqual(value1, value2);\n};\nvar isEmpty = function isEmpty(val) {\n  // null or undefined\n  if (val == null) return true;\n  if (typeof val === 'boolean') return false;\n  if (typeof val === 'number') return !val;\n  if (val instanceof Error) return val.message === '';\n\n  switch (Object.prototype.toString.call(val)) {\n    // String or Array\n    case '[object String]':\n    case '[object Array]':\n      return !val.length;\n    // Map or Set or File\n\n    case '[object File]':\n    case '[object Map]':\n    case '[object Set]':\n      {\n        return !val.size;\n      }\n    // Plain Object\n\n    case '[object Object]':\n      {\n        return !Object.keys(val).length;\n      }\n  }\n\n  return false;\n};\nfunction rafThrottle(fn) {\n  var locked = false;\n  return function () {\n    var _this = this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    if (locked) return;\n    locked = true;\n    window.requestAnimationFrame(function (_) {\n      fn.apply(_this, args);\n      locked = false;\n    });\n  };\n}\nfunction objToArray(obj) {\n  if (Array.isArray(obj)) {\n    return obj;\n  }\n\n  return isEmpty(obj) ? [] : [obj];\n}\n\n//# sourceURL=webpack:///./node_modules/element-ui/src/utils/util.js?");

/***/ }),

/***/ "./node_modules/function-bind/implementation.js":
/*!******************************************************!*\
  !*** ./node_modules/function-bind/implementation.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slice.call(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                args.concat(slice.call(arguments))\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        } else {\n            return target.apply(\n                that,\n                args.concat(slice.call(arguments))\n            );\n        }\n    };\n\n    var boundLength = Math.max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs.push('$' + i);\n    }\n\n    bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n\n\n//# sourceURL=webpack:///./node_modules/function-bind/implementation.js?");

/***/ }),

/***/ "./node_modules/function-bind/index.js":
/*!*********************************************!*\
  !*** ./node_modules/function-bind/index.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar implementation = __webpack_require__(/*! ./implementation */ \"./node_modules/function-bind/implementation.js\");\n\nmodule.exports = Function.prototype.bind || implementation;\n\n\n//# sourceURL=webpack:///./node_modules/function-bind/index.js?");

/***/ }),

/***/ "./node_modules/get-intrinsic/index.js":
/*!*********************************************!*\
  !*** ./node_modules/get-intrinsic/index.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \"./node_modules/has-symbols/index.js\")();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar hasOwn = __webpack_require__(/*! has */ \"./node_modules/has/src/index.js\");\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/get-intrinsic/index.js?");

/***/ }),

/***/ "./node_modules/has-symbols/index.js":
/*!*******************************************!*\
  !*** ./node_modules/has-symbols/index.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = __webpack_require__(/*! ./shams */ \"./node_modules/has-symbols/shams.js\");\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n\n\n//# sourceURL=webpack:///./node_modules/has-symbols/index.js?");

/***/ }),

/***/ "./node_modules/has-symbols/shams.js":
/*!*******************************************!*\
  !*** ./node_modules/has-symbols/shams.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n\n\n//# sourceURL=webpack:///./node_modules/has-symbols/shams.js?");

/***/ }),

/***/ "./node_modules/has/src/index.js":
/*!***************************************!*\
  !*** ./node_modules/has/src/index.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n\n\n//# sourceURL=webpack:///./node_modules/has/src/index.js?");

/***/ }),

/***/ "./node_modules/hotkeys-js/dist/hotkeys.esm.js":
/*!*****************************************************!*\
  !*** ./node_modules/hotkeys-js/dist/hotkeys.esm.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return hotkeys; });\n/**! \n * hotkeys-js v3.9.3 \n * A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. \n * \n * Copyright (c) 2022 kenny wong <wowohoo@qq.com> \n * http://jaywcjlove.github.io/hotkeys \n * Licensed under the MIT license \n */\n\nvar isff = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase().indexOf('firefox') > 0 : false; // 绑定事件\n\nfunction addEvent(object, event, method, useCapture) {\n  if (object.addEventListener) {\n    object.addEventListener(event, method, useCapture);\n  } else if (object.attachEvent) {\n    object.attachEvent(\"on\".concat(event), function () {\n      method(window.event);\n    });\n  }\n} // 修饰键转换成对应的键码\n\n\nfunction getMods(modifier, key) {\n  var mods = key.slice(0, key.length - 1);\n\n  for (var i = 0; i < mods.length; i++) {\n    mods[i] = modifier[mods[i].toLowerCase()];\n  }\n\n  return mods;\n} // 处理传的key字符串转换成数组\n\n\nfunction getKeys(key) {\n  if (typeof key !== 'string') key = '';\n  key = key.replace(/\\s/g, ''); // 匹配任何空白字符,包括空格、制表符、换页符等等\n\n  var keys = key.split(','); // 同时设置多个快捷键，以','分割\n\n  var index = keys.lastIndexOf(''); // 快捷键可能包含','，需特殊处理\n\n  for (; index >= 0;) {\n    keys[index - 1] += ',';\n    keys.splice(index, 1);\n    index = keys.lastIndexOf('');\n  }\n\n  return keys;\n} // 比较修饰键的数组\n\n\nfunction compareArray(a1, a2) {\n  var arr1 = a1.length >= a2.length ? a1 : a2;\n  var arr2 = a1.length >= a2.length ? a2 : a1;\n  var isIndex = true;\n\n  for (var i = 0; i < arr1.length; i++) {\n    if (arr2.indexOf(arr1[i]) === -1) isIndex = false;\n  }\n\n  return isIndex;\n}\n\nvar _keyMap = {\n  backspace: 8,\n  tab: 9,\n  clear: 12,\n  enter: 13,\n  return: 13,\n  esc: 27,\n  escape: 27,\n  space: 32,\n  left: 37,\n  up: 38,\n  right: 39,\n  down: 40,\n  del: 46,\n  delete: 46,\n  ins: 45,\n  insert: 45,\n  home: 36,\n  end: 35,\n  pageup: 33,\n  pagedown: 34,\n  capslock: 20,\n  num_0: 96,\n  num_1: 97,\n  num_2: 98,\n  num_3: 99,\n  num_4: 100,\n  num_5: 101,\n  num_6: 102,\n  num_7: 103,\n  num_8: 104,\n  num_9: 105,\n  num_multiply: 106,\n  num_add: 107,\n  num_enter: 108,\n  num_subtract: 109,\n  num_decimal: 110,\n  num_divide: 111,\n  '⇪': 20,\n  ',': 188,\n  '.': 190,\n  '/': 191,\n  '`': 192,\n  '-': isff ? 173 : 189,\n  '=': isff ? 61 : 187,\n  ';': isff ? 59 : 186,\n  '\\'': 222,\n  '[': 219,\n  ']': 221,\n  '\\\\': 220\n}; // Modifier Keys\n\nvar _modifier = {\n  // shiftKey\n  '⇧': 16,\n  shift: 16,\n  // altKey\n  '⌥': 18,\n  alt: 18,\n  option: 18,\n  // ctrlKey\n  '⌃': 17,\n  ctrl: 17,\n  control: 17,\n  // metaKey\n  '⌘': 91,\n  cmd: 91,\n  command: 91\n};\nvar modifierMap = {\n  16: 'shiftKey',\n  18: 'altKey',\n  17: 'ctrlKey',\n  91: 'metaKey',\n  shiftKey: 16,\n  ctrlKey: 17,\n  altKey: 18,\n  metaKey: 91\n};\nvar _mods = {\n  16: false,\n  18: false,\n  17: false,\n  91: false\n};\nvar _handlers = {}; // F1~F12 special key\n\nfor (var k = 1; k < 20; k++) {\n  _keyMap[\"f\".concat(k)] = 111 + k;\n}\n\nvar _downKeys = []; // 记录摁下的绑定键\n\nvar winListendFocus = false; // window是否已经监听了focus事件\n\nvar _scope = 'all'; // 默认热键范围\n\nvar elementHasBindEvent = []; // 已绑定事件的节点记录\n// 返回键码\n\nvar code = function code(x) {\n  return _keyMap[x.toLowerCase()] || _modifier[x.toLowerCase()] || x.toUpperCase().charCodeAt(0);\n}; // 设置获取当前范围（默认为'所有'）\n\n\nfunction setScope(scope) {\n  _scope = scope || 'all';\n} // 获取当前范围\n\n\nfunction getScope() {\n  return _scope || 'all';\n} // 获取摁下绑定键的键值\n\n\nfunction getPressedKeyCodes() {\n  return _downKeys.slice(0);\n} // 表单控件控件判断 返回 Boolean\n// hotkey is effective only when filter return true\n\n\nfunction filter(event) {\n  var target = event.target || event.srcElement;\n  var tagName = target.tagName;\n  var flag = true; // ignore: isContentEditable === 'true', <input> and <textarea> when readOnly state is false, <select>\n\n  if (target.isContentEditable || (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') && !target.readOnly) {\n    flag = false;\n  }\n\n  return flag;\n} // 判断摁下的键是否为某个键，返回true或者false\n\n\nfunction isPressed(keyCode) {\n  if (typeof keyCode === 'string') {\n    keyCode = code(keyCode); // 转换成键码\n  }\n\n  return _downKeys.indexOf(keyCode) !== -1;\n} // 循环删除handlers中的所有 scope(范围)\n\n\nfunction deleteScope(scope, newScope) {\n  var handlers;\n  var i; // 没有指定scope，获取scope\n\n  if (!scope) scope = getScope();\n\n  for (var key in _handlers) {\n    if (Object.prototype.hasOwnProperty.call(_handlers, key)) {\n      handlers = _handlers[key];\n\n      for (i = 0; i < handlers.length;) {\n        if (handlers[i].scope === scope) handlers.splice(i, 1);else i++;\n      }\n    }\n  } // 如果scope被删除，将scope重置为all\n\n\n  if (getScope() === scope) setScope(newScope || 'all');\n} // 清除修饰键\n\n\nfunction clearModifier(event) {\n  var key = event.keyCode || event.which || event.charCode;\n\n  var i = _downKeys.indexOf(key); // 从列表中清除按压过的键\n\n\n  if (i >= 0) {\n    _downKeys.splice(i, 1);\n  } // 特殊处理 cmmand 键，在 cmmand 组合快捷键 keyup 只执行一次的问题\n\n\n  if (event.key && event.key.toLowerCase() === 'meta') {\n    _downKeys.splice(0, _downKeys.length);\n  } // 修饰键 shiftKey altKey ctrlKey (command||metaKey) 清除\n\n\n  if (key === 93 || key === 224) key = 91;\n\n  if (key in _mods) {\n    _mods[key] = false; // 将修饰键重置为false\n\n    for (var k in _modifier) {\n      if (_modifier[k] === key) hotkeys[k] = false;\n    }\n  }\n}\n\nfunction unbind(keysInfo) {\n  // unbind(), unbind all keys\n  if (!keysInfo) {\n    Object.keys(_handlers).forEach(function (key) {\n      return delete _handlers[key];\n    });\n  } else if (Array.isArray(keysInfo)) {\n    // support like : unbind([{key: 'ctrl+a', scope: 's1'}, {key: 'ctrl-a', scope: 's2', splitKey: '-'}])\n    keysInfo.forEach(function (info) {\n      if (info.key) eachUnbind(info);\n    });\n  } else if (typeof keysInfo === 'object') {\n    // support like unbind({key: 'ctrl+a, ctrl+b', scope:'abc'})\n    if (keysInfo.key) eachUnbind(keysInfo);\n  } else if (typeof keysInfo === 'string') {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    // support old method\n    // eslint-disable-line\n    var scope = args[0],\n        method = args[1];\n\n    if (typeof scope === 'function') {\n      method = scope;\n      scope = '';\n    }\n\n    eachUnbind({\n      key: keysInfo,\n      scope: scope,\n      method: method,\n      splitKey: '+'\n    });\n  }\n} // 解除绑定某个范围的快捷键\n\n\nvar eachUnbind = function eachUnbind(_ref) {\n  var key = _ref.key,\n      scope = _ref.scope,\n      method = _ref.method,\n      _ref$splitKey = _ref.splitKey,\n      splitKey = _ref$splitKey === void 0 ? '+' : _ref$splitKey;\n  var multipleKeys = getKeys(key);\n  multipleKeys.forEach(function (originKey) {\n    var unbindKeys = originKey.split(splitKey);\n    var len = unbindKeys.length;\n    var lastKey = unbindKeys[len - 1];\n    var keyCode = lastKey === '*' ? '*' : code(lastKey);\n    if (!_handlers[keyCode]) return; // 判断是否传入范围，没有就获取范围\n\n    if (!scope) scope = getScope();\n    var mods = len > 1 ? getMods(_modifier, unbindKeys) : [];\n    _handlers[keyCode] = _handlers[keyCode].filter(function (record) {\n      // 通过函数判断，是否解除绑定，函数相等直接返回\n      var isMatchingMethod = method ? record.method === method : true;\n      return !(isMatchingMethod && record.scope === scope && compareArray(record.mods, mods));\n    });\n  });\n}; // 对监听对应快捷键的回调函数进行处理\n\n\nfunction eventHandler(event, handler, scope, element) {\n  if (handler.element !== element) {\n    return;\n  }\n\n  var modifiersMatch; // 看它是否在当前范围\n\n  if (handler.scope === scope || handler.scope === 'all') {\n    // 检查是否匹配修饰符（如果有返回true）\n    modifiersMatch = handler.mods.length > 0;\n\n    for (var y in _mods) {\n      if (Object.prototype.hasOwnProperty.call(_mods, y)) {\n        if (!_mods[y] && handler.mods.indexOf(+y) > -1 || _mods[y] && handler.mods.indexOf(+y) === -1) {\n          modifiersMatch = false;\n        }\n      }\n    } // 调用处理程序，如果是修饰键不做处理\n\n\n    if (handler.mods.length === 0 && !_mods[16] && !_mods[18] && !_mods[17] && !_mods[91] || modifiersMatch || handler.shortcut === '*') {\n      if (handler.method(event, handler) === false) {\n        if (event.preventDefault) event.preventDefault();else event.returnValue = false;\n        if (event.stopPropagation) event.stopPropagation();\n        if (event.cancelBubble) event.cancelBubble = true;\n      }\n    }\n  }\n} // 处理keydown事件\n\n\nfunction dispatch(event, element) {\n  var asterisk = _handlers['*'];\n  var key = event.keyCode || event.which || event.charCode; // 表单控件过滤 默认表单控件不触发快捷键\n\n  if (!hotkeys.filter.call(this, event)) return; // Gecko(Firefox)的command键值224，在Webkit(Chrome)中保持一致\n  // Webkit左右 command 键值不一样\n\n  if (key === 93 || key === 224) key = 91;\n  /**\n   * Collect bound keys\n   * If an Input Method Editor is processing key input and the event is keydown, return 229.\n   * https://stackoverflow.com/questions/25043934/is-it-ok-to-ignore-keydown-events-with-keycode-229\n   * http://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html\n   */\n\n  if (_downKeys.indexOf(key) === -1 && key !== 229) _downKeys.push(key);\n  /**\n   * Jest test cases are required.\n   * ===============================\n   */\n\n  ['ctrlKey', 'altKey', 'shiftKey', 'metaKey'].forEach(function (keyName) {\n    var keyNum = modifierMap[keyName];\n\n    if (event[keyName] && _downKeys.indexOf(keyNum) === -1) {\n      _downKeys.push(keyNum);\n    } else if (!event[keyName] && _downKeys.indexOf(keyNum) > -1) {\n      _downKeys.splice(_downKeys.indexOf(keyNum), 1);\n    } else if (keyName === 'metaKey' && event[keyName] && _downKeys.length === 3) {\n      /**\n       * Fix if Command is pressed:\n       * ===============================\n       */\n      if (!(event.ctrlKey || event.shiftKey || event.altKey)) {\n        _downKeys = _downKeys.slice(_downKeys.indexOf(keyNum));\n      }\n    }\n  });\n  /**\n   * -------------------------------\n   */\n\n  if (key in _mods) {\n    _mods[key] = true; // 将特殊字符的key注册到 hotkeys 上\n\n    for (var k in _modifier) {\n      if (_modifier[k] === key) hotkeys[k] = true;\n    }\n\n    if (!asterisk) return;\n  } // 将 modifierMap 里面的修饰键绑定到 event 中\n\n\n  for (var e in _mods) {\n    if (Object.prototype.hasOwnProperty.call(_mods, e)) {\n      _mods[e] = event[modifierMap[e]];\n    }\n  }\n  /**\n   * https://github.com/jaywcjlove/hotkeys/pull/129\n   * This solves the issue in Firefox on Windows where hotkeys corresponding to special characters would not trigger.\n   * An example of this is ctrl+alt+m on a Swedish keyboard which is used to type μ.\n   * Browser support: https://caniuse.com/#feat=keyboardevent-getmodifierstate\n   */\n\n\n  if (event.getModifierState && !(event.altKey && !event.ctrlKey) && event.getModifierState('AltGraph')) {\n    if (_downKeys.indexOf(17) === -1) {\n      _downKeys.push(17);\n    }\n\n    if (_downKeys.indexOf(18) === -1) {\n      _downKeys.push(18);\n    }\n\n    _mods[17] = true;\n    _mods[18] = true;\n  } // 获取范围 默认为 `all`\n\n\n  var scope = getScope(); // 对任何快捷键都需要做的处理\n\n  if (asterisk) {\n    for (var i = 0; i < asterisk.length; i++) {\n      if (asterisk[i].scope === scope && (event.type === 'keydown' && asterisk[i].keydown || event.type === 'keyup' && asterisk[i].keyup)) {\n        eventHandler(event, asterisk[i], scope, element);\n      }\n    }\n  } // key 不在 _handlers 中返回\n\n\n  if (!(key in _handlers)) return;\n\n  for (var _i = 0; _i < _handlers[key].length; _i++) {\n    if (event.type === 'keydown' && _handlers[key][_i].keydown || event.type === 'keyup' && _handlers[key][_i].keyup) {\n      if (_handlers[key][_i].key) {\n        var record = _handlers[key][_i];\n        var splitKey = record.splitKey;\n        var keyShortcut = record.key.split(splitKey);\n        var _downKeysCurrent = []; // 记录当前按键键值\n\n        for (var a = 0; a < keyShortcut.length; a++) {\n          _downKeysCurrent.push(code(keyShortcut[a]));\n        }\n\n        if (_downKeysCurrent.sort().join('') === _downKeys.sort().join('')) {\n          // 找到处理内容\n          eventHandler(event, record, scope, element);\n        }\n      }\n    }\n  }\n} // 判断 element 是否已经绑定事件\n\n\nfunction isElementBind(element) {\n  return elementHasBindEvent.indexOf(element) > -1;\n}\n\nfunction hotkeys(key, option, method) {\n  _downKeys = [];\n  var keys = getKeys(key); // 需要处理的快捷键列表\n\n  var mods = [];\n  var scope = 'all'; // scope默认为all，所有范围都有效\n\n  var element = document; // 快捷键事件绑定节点\n\n  var i = 0;\n  var keyup = false;\n  var keydown = true;\n  var splitKey = '+';\n  var capture = false; // 对为设定范围的判断\n\n  if (method === undefined && typeof option === 'function') {\n    method = option;\n  }\n\n  if (Object.prototype.toString.call(option) === '[object Object]') {\n    if (option.scope) scope = option.scope; // eslint-disable-line\n\n    if (option.element) element = option.element; // eslint-disable-line\n\n    if (option.keyup) keyup = option.keyup; // eslint-disable-line\n\n    if (option.keydown !== undefined) keydown = option.keydown; // eslint-disable-line\n\n    if (option.capture !== undefined) capture = option.capture; // eslint-disable-line\n\n    if (typeof option.splitKey === 'string') splitKey = option.splitKey; // eslint-disable-line\n  }\n\n  if (typeof option === 'string') scope = option; // 对于每个快捷键进行处理\n\n  for (; i < keys.length; i++) {\n    key = keys[i].split(splitKey); // 按键列表\n\n    mods = []; // 如果是组合快捷键取得组合快捷键\n\n    if (key.length > 1) mods = getMods(_modifier, key); // 将非修饰键转化为键码\n\n    key = key[key.length - 1];\n    key = key === '*' ? '*' : code(key); // *表示匹配所有快捷键\n    // 判断key是否在_handlers中，不在就赋一个空数组\n\n    if (!(key in _handlers)) _handlers[key] = [];\n\n    _handlers[key].push({\n      keyup: keyup,\n      keydown: keydown,\n      scope: scope,\n      mods: mods,\n      shortcut: keys[i],\n      method: method,\n      key: keys[i],\n      splitKey: splitKey,\n      element: element\n    });\n  } // 在全局document上设置快捷键\n\n\n  if (typeof element !== 'undefined' && !isElementBind(element) && window) {\n    elementHasBindEvent.push(element);\n    addEvent(element, 'keydown', function (e) {\n      dispatch(e, element);\n    }, capture);\n\n    if (!winListendFocus) {\n      winListendFocus = true;\n      addEvent(window, 'focus', function () {\n        _downKeys = [];\n      }, capture);\n    }\n\n    addEvent(element, 'keyup', function (e) {\n      dispatch(e, element);\n      clearModifier(e);\n    }, capture);\n  }\n}\n\nfunction trigger(shortcut) {\n  var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'all';\n  Object.keys(_handlers).forEach(function (key) {\n    var data = _handlers[key].find(function (item) {\n      return item.scope === scope && item.shortcut === shortcut;\n    });\n\n    if (data && data.method) {\n      data.method();\n    }\n  });\n}\n\nvar _api = {\n  setScope: setScope,\n  getScope: getScope,\n  deleteScope: deleteScope,\n  getPressedKeyCodes: getPressedKeyCodes,\n  isPressed: isPressed,\n  filter: filter,\n  trigger: trigger,\n  unbind: unbind,\n  keyMap: _keyMap,\n  modifier: _modifier,\n  modifierMap: modifierMap\n};\n\nfor (var a in _api) {\n  if (Object.prototype.hasOwnProperty.call(_api, a)) {\n    hotkeys[a] = _api[a];\n  }\n}\n\nif (typeof window !== 'undefined') {\n  var _hotkeys = window.hotkeys;\n\n  hotkeys.noConflict = function (deep) {\n    if (deep && window.hotkeys === hotkeys) {\n      window.hotkeys = _hotkeys;\n    }\n\n    return hotkeys;\n  };\n\n  window.hotkeys = hotkeys;\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/hotkeys-js/dist/hotkeys.esm.js?");

/***/ }),

/***/ "./node_modules/ieee754/index.js":
/*!***************************************!*\
  !*** ./node_modules/ieee754/index.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack:///./node_modules/ieee754/index.js?");

/***/ }),

/***/ "./node_modules/isarray/index.js":
/*!***************************************!*\
  !*** ./node_modules/isarray/index.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n\n\n//# sourceURL=webpack:///./node_modules/isarray/index.js?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/css/index.css":
/*!******************************************************!*\
  !*** ./node_modules/mavon-editor/dist/css/index.css ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js??ref--7-oneOf-3-1!../../../postcss-loader/src??ref--7-oneOf-3-2!./index.css */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/mavon-editor/dist/css/index.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"27734bc6\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/css/index.css?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/font/fontello.eot":
/*!**********************************************************!*\
  !*** ./node_modules/mavon-editor/dist/font/fontello.eot ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/fontello.e73a0647.eot\";\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/font/fontello.eot?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/font/fontello.svg":
/*!**********************************************************!*\
  !*** ./node_modules/mavon-editor/dist/font/fontello.svg ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"img/fontello.9354499c.svg\";\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/font/fontello.svg?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/font/fontello.ttf":
/*!**********************************************************!*\
  !*** ./node_modules/mavon-editor/dist/font/fontello.ttf ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/fontello.068ca2b3.ttf\";\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/font/fontello.ttf?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/font/fontello.woff":
/*!***********************************************************!*\
  !*** ./node_modules/mavon-editor/dist/font/fontello.woff ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/fontello.a782baa8.woff\";\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/font/fontello.woff?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/font/fontello.woff2":
/*!************************************************************!*\
  !*** ./node_modules/mavon-editor/dist/font/fontello.woff2 ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/fontello.8d4a4e6f.woff2\";\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/font/fontello.woff2?");

/***/ }),

/***/ "./node_modules/mavon-editor/dist/mavon-editor.js":
/*!********************************************************!*\
  !*** ./node_modules/mavon-editor/dist/mavon-editor.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("!function(e,t){ true?module.exports=t():undefined}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=68)}([function(e,t,n){\"use strict\";function r(e){return Object.prototype.toString.call(e)}function o(e){return\"[object String]\"===r(e)}function i(e,t){return w.call(e,t)}function a(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e}function s(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function l(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function c(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function u(e,t){var n=0;return i(A,t)?A[t]:35===t.charCodeAt(0)&&T.test(t)&&(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10),l(n))?c(n):e}function p(e){return e.indexOf(\"\\\\\")<0?e:e.replace(x,\"$1\")}function d(e){return e.indexOf(\"\\\\\")<0&&e.indexOf(\"&\")<0?e:e.replace(C,function(e,t,n){return t||u(e,n)})}function h(e){return E[e]}function f(e){return S.test(e)?e.replace(D,h):e}function _(e){return e.replace(L,\"\\\\$&\")}function g(e){switch(e){case 9:case 32:return!0}return!1}function m(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function b(e){return j.test(e)}function v(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function k(e){return e=e.trim().replace(/\\s+/g,\" \"),\"Ṿ\"===\"ẞ\".toLowerCase()&&(e=e.replace(/ẞ/g,\"ß\")),e.toLowerCase().toUpperCase()}var w=Object.prototype.hasOwnProperty,x=/\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g,y=/&([a-z#][a-z0-9]{1,31});/gi,C=new RegExp(x.source+\"|\"+y.source,\"gi\"),T=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,A=n(52),S=/[&<>\"]/,D=/[&<>\"]/g,E={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"},L=/[.?*+^$[\\]\\\\(){}|-]/g,j=n(34);t.lib={},t.lib.mdurl=n(56),t.lib.ucmicro=n(196),t.assign=a,t.isString=o,t.has=i,t.unescapeMd=p,t.unescapeAll=d,t.isValidEntityCode=l,t.fromCodePoint=c,t.escapeHtml=f,t.arrayReplaceAt=s,t.isSpace=g,t.isWhiteSpace=m,t.isMdAsciiPunct=v,t.isPunctChar=b,t.escapeRE=_,t.normalizeReference=k},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)},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){e.exports=!n(11)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(5),o=n(13);e.exports=n(3)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(9),o=n(42),i=n(28),a=Object.defineProperty;t.f=n(3)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(88),o=n(19);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(26)(\"wks\"),o=n(14),i=n(1).Symbol,a=\"function\"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)(\"Symbol.\"+e))}).store=r},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){var r=n(8);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){var n=e.exports={version:\"2.6.11\"};\"number\"==typeof __e&&(__e=n)},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports=!0},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},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);return[n].concat(o.sources.map(function(e){return\"/*# sourceURL=\"+o.sourceRoot+e+\" */\"})).concat([i]).join(\"\\n\")}return[n].join(\"\\n\")}function r(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}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<this.length;o++){var i=this[o][0];\"number\"==typeof i&&(r[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];\"number\"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t){e.exports=function(e,t,n,r,o){var i,a=e=e||{},s=typeof e.default;\"object\"!==s&&\"function\"!==s||(i=e,a=e.default);var l=\"function\"==typeof a?a.options:a;t&&(l.render=t.render,l.staticRenderFns=t.staticRenderFns),r&&(l._scopeId=r);var c;if(o?(c=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__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=c):n&&(c=n),c){var u=l.functional,p=u?l.render:l.beforeCreate;u?l.render=function(e,t){return c.call(t),p(e,t)}:l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:i,exports:a,options:l}}},function(e,t,n){function r(e){for(var t=0;t<e.length;t++){var n=e[t],r=u[n.id];if(r){r.refs++;for(var o=0;o<r.parts.length;o++)r.parts[o](n.parts[o]);for(;o<n.parts.length;o++)r.parts.push(i(n.parts[o]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],o=0;o<n.parts.length;o++)a.push(i(n.parts[o]));u[n.id]={id:n.id,refs:1,parts:a}}}}function o(){var e=document.createElement(\"style\");return e.type=\"text/css\",p.appendChild(e),e}function i(e){var t,n,r=document.querySelector(\"style[\"+m+'~=\"'+e.id+'\"]');if(r){if(f)return _;r.parentNode.removeChild(r)}if(b){var i=h++;r=d||(d=o()),t=a.bind(null,r,i,!1),n=a.bind(null,r,i,!0)}else r=o(),t=s.bind(null,r),n=function(){r.parentNode.removeChild(r)};return t(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap)return;t(e=r)}else n()}}function a(e,t,n,r){var o=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=v(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function s(e,t){var n=t.css,r=t.media,o=t.sourceMap;if(r&&e.setAttribute(\"media\",r),g.ssrId&&e.setAttribute(m,t.id),o&&(n+=\"\\n/*# sourceURL=\"+o.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\"),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)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.\");var c=n(206),u={},p=l&&(document.head||document.getElementsByTagName(\"head\")[0]),d=null,h=0,f=!1,_=function(){},g=null,m=\"data-vue-ssr-id\",b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,n,o){f=n,g=o||{};var i=c(e,t);return r(i),function(t){for(var n=[],o=0;o<i.length;o++){var a=i[o],s=u[a.id];s.refs--,n.push(s)}t?(i=c(e,t),r(i)):i=[];for(var o=0;o<n.length;o++){var s=n[o];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete u[s.id]}}}};var v=function(){var e=[];return function(t,n){return e[t]=n,e.filter(Boolean).join(\"\\n\")}}()},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(79),i=r(o),a=n(78),s=r(a),l=\"function\"==typeof s.default&&\"symbol\"==typeof i.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof s.default&&\"symbol\"===l(i.default)?function(e){return void 0===e?\"undefined\":l(e)}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":void 0===e?\"undefined\":l(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t){e.exports={}},function(e,t,n){var r=n(47),o=n(20);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(5).f,o=n(2),i=n(7)(\"toStringTag\");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(26)(\"keys\"),o=n(14);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(10),o=n(1),i=o[\"__core-js_shared__\"]||(o[\"__core-js_shared__\"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(12)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(8);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\")}},function(e,t,n){var r=n(1),o=n(10),i=n(12),a=n(30),s=n(5).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(7)},function(e,t,n){function r(e,t){return new i(t).process(e)}var o=n(50),i=n(111);t=e.exports=r,t.FilterCSS=i;for(var a in o)t[a]=o[a];\"undefined\"!=typeof window&&(window.filterCSS=e.exports)},function(e,t,n){\"use strict\";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1},r.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(n){n.enabled&&(t&&n.alt.indexOf(t)<0||e.__cache__[t].push(n.fn))})})},r.prototype.at=function(e,t,n){var r=this.__find__(e),o=n||{};if(-1===r)throw new Error(\"Parser rule not found: \"+e);this.__rules__[r].fn=t,this.__rules__[r].alt=o.alt||[],this.__cache__=null},r.prototype.before=function(e,t,n,r){var o=this.__find__(e),i=r||{};if(-1===o)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null},r.prototype.after=function(e,t,n,r){var o=this.__find__(e),i=r||{};if(-1===o)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null},r.prototype.push=function(e,t,n){var r=n||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},r.prototype.enable=function(e,t){Array.isArray(e)||(e=[e]);var n=[];return e.forEach(function(e){var r=this.__find__(e);if(r<0){if(t)return;throw new Error(\"Rules manager: invalid rule name \"+e)}this.__rules__[r].enabled=!0,n.push(e)},this),this.__cache__=null,n},r.prototype.enableOnly=function(e,t){Array.isArray(e)||(e=[e]),this.__rules__.forEach(function(e){e.enabled=!1}),this.enable(e,t)},r.prototype.disable=function(e,t){Array.isArray(e)||(e=[e]);var n=[];return e.forEach(function(e){var r=this.__find__(e);if(r<0){if(t)return;throw new Error(\"Rules manager: invalid rule name \"+e)}this.__rules__[r].enabled=!1,n.push(e)},this),this.__cache__=null,n},r.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){this.type=e,this.tag=t,this.attrs=null,this.map=null,this.nesting=n,this.level=0,this.children=null,this.content=\"\",this.markup=\"\",this.info=\"\",this.meta=null,this.block=!1,this.hidden=!1}r.prototype.attrIndex=function(e){var t,n,r;if(!this.attrs)return-1;for(t=this.attrs,n=0,r=t.length;n<r;n++)if(t[n][0]===e)return n;return-1},r.prototype.attrPush=function(e){this.attrs?this.attrs.push(e):this.attrs=[e]},r.prototype.attrSet=function(e,t){var n=this.attrIndex(e),r=[e,t];n<0?this.attrPush(r):this.attrs[n]=r},r.prototype.attrGet=function(e){var t=this.attrIndex(e),n=null;return t>=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+\" \"+t},e.exports=r},function(e,t){e.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},forEach:function(e,t,n){var r,o;if(Array.prototype.forEach)return e.forEach(t,n);for(r=0,o=e.length;r<o;r++)t.call(n,e[r],r,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\\s*)|(\\s*$)/g,\"\")},spaceIndex:function(e){var t=/\\s|\\n|\\t/,n=t.exec(e);return n?n.index:-1}}},function(e,t,n){function r(e){o||n(203)}var o=!1,i=n(16)(n(65),n(200),r,\"data-v-548e2160\",null);i.options.__file=\"D:\\\\work\\\\songwang\\\\yuangongji\\\\mavonEditor\\\\src\\\\components\\\\md-toolbar-left.vue\",i.esModule&&Object.keys(i.esModule).some(function(e){return\"default\"!==e&&\"__\"!==e.substr(0,2)})&&console.error(\"named exports are not supported in *.vue files.\"),i.options.functional&&console.error(\"[vue-loader] md-toolbar-left.vue: functional components are not supported with templates, they should use render functions.\"),e.exports=i.exports},function(e,t,n){var r=n(16)(n(66),n(198),null,null,null);r.options.__file=\"D:\\\\work\\\\songwang\\\\yuangongji\\\\mavonEditor\\\\src\\\\components\\\\md-toolbar-right.vue\",r.esModule&&Object.keys(r.esModule).some(function(e){return\"default\"!==e&&\"__\"!==e.substr(0,2)})&&console.error(\"named exports are not supported in *.vue files.\"),r.options.functional&&console.error(\"[vue-loader] md-toolbar-right.vue: functional components are not supported with templates, they should use render functions.\"),e.exports=r.exports},function(e,t,n){\"use strict\";function r(e,t,n){var r=u.prefix,o=u.subfix,i=n.selectionStart,a=n.selectionEnd,s=n.value,l=s.substring(0,i);l+=r+e+\"\\n\",l+=t,l+=o,l+=s.substring(a,s.length),n.value=l,n.selectionStart=i+r.length+(e?0:1),n.selectionEnd=n.selectionStart+e.length+t.length}function o(e){var t=u.prefix,n=u.subfix,r=u.defaultLanguageText,o=e.selectionStart,i=e.selectionEnd,a=e.value,s=a.substring(o,i);if(\"\\n\"===a.substring(o-1,o))t+=\"\\n\";else if(n=\"\\n\"+n,t+r+n===a.substring(o-t.length,i+n.length)){var l=a.substring(0,o-t.length);return l+=a.substring(i+n.length,a.length),e.value=l,e.selectionStart=o-t.length,void(e.selectionEnd=e.selectionStart)}var c=a.substring(0,o-t.length);c+=s,c+=a.substring(i+n.length,a.length),e.value=c,e.selectionStart=o-t.length,e.selectionEnd=e.selectionStart+s.length}function i(e){return\"number\"==typeof e.selectionStart&&\"number\"==typeof e.selectionEnd}function a(e){var t=e.selectionStart,n=e.selectionEnd,r=e.value,o=u.prefix,i=u.subfix;return\"\\n\"===r.substring(t-1,t)?o+=\"\\n\":i=\"\\n\"+i,r.substring(t-o.length,t)===o&&r.substring(n,n+i.length)===i}function s(e,t,n,r,o){return\"*\"!==e||\"*\"!==t||\"*\"!==n.substring(r-2,r-1)||\"*\"!==n.substring(o+1,o+2)}function l(e,t){\"function\"!=typeof t&&(t=function(){});var n=document.querySelectorAll(\"script[src='\"+e+\"']\");if(n.length>0)return n[0].addEventListener(\"load\",function(){t()}),void t();var r=document.createElement(\"script\"),o=document.getElementsByTagName(\"head\")[0];r.type=\"text/javascript\",r.charset=\"UTF-8\",r.src=e,r.addEventListener?r.addEventListener(\"load\",function(){t()},!1):r.attachEvent&&r.attachEvent(\"onreadystatechange\",function(){\"loaded\"===window.event.srcElement.readyState&&t()}),o.appendChild(r)}function c(e,t,n){if(\"function\"!=typeof t&&(t=function(){}),document.querySelectorAll(\"link[href='\"+e+\"']\").length>0)return void t();if(n){var r=document.querySelectorAll(\"link#\"+n);if(r.length)return void(r[0].href=e)}var o=document.createElement(\"link\"),i=document.getElementsByTagName(\"head\")[0];o.rel=\"stylesheet\",o.href=e,n&&(o.id=n),o.addEventListener?o.addEventListener(\"load\",function(){t()},!1):o.attachEvent&&o.attachEvent(\"onreadystatechange\",function(){\"loaded\"===window.event.srcElement.readyState&&t()}),i.appendChild(o)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.loadScript=l,t.loadLink=c;var u=(t.insertTextAtCaret=function(e,t,n){var r=t.prefix,o=t.subfix,a=t.str;t.type;if(e.focus(),i(e)){var l=e.selectionStart,c=e.selectionEnd,u=e.value;l===c?(e.value=u.substring(0,l)+r+a+o+u.substring(c,u.length),e.selectionStart=l+r.length,e.selectionEnd=l+(a.length+r.length)):u.substring(l-r.length,l)===r&&u.substring(c,c+o.length)===o&&s(r,o,u,l,c)?(e.value=u.substring(0,l-r.length)+u.substring(l,c)+u.substring(c+o.length,u.length),e.selectionStart=l-r.length,e.selectionEnd=c-r.length):(e.value=u.substring(0,l)+r+u.substring(l,c)+o+u.substring(c,u.length),e.selectionStart=l+r.length,e.selectionEnd=l+(c-l+r.length))}else alert(\"Error: Browser version is too low\");n.d_value=e.value,e.focus()},{prefix:\"```\",subfix:\"\\n```\\n\",defaultLanguageText:\"language\"});t.insertCodeBlock=function(e){var t=e.getTextareaDom();if(!i(t))return void alert(\"Error: Browser version is too low\");var n=u.defaultLanguageText,s=t.selectionStart,l=t.selectionEnd,c=t.value;if(s===l)r(n,\"\",t);else if(a(t))o(t);else{var p=c.substring(s,l);r(\"\",p,t)}e.d_value=t.value,t.focus()},t.insertOl=function(e){var t=e.getTextareaDom();if(i(t)){var n=t.selectionStart,r=t.selectionEnd,o=t.value;if(n===r)t.value=o.substring(0,n)+\"1. \"+o.substring(r,o.length),t.selectionEnd=t.selectionStart=n+3;else{for(var a=n;a>0&&\"\\n\"!==o.substring(a-1,a);)a--;for(var s=o.substring(a,r),l=s.split(\"\\n\"),c=0;c<l.length;c++)l[c]=c+1+\". \"+l[c];var u=l.join(\"\\n\");t.value=o.substring(0,a)+u+o.substring(r,o.length),t.selectionStart=a,t.selectionEnd=r+u.length-s.length}}else alert(\"Error: Browser version is too low\");e.d_value=t.value,t.focus()},t.removeLine=function(e){var t=e.getTextareaDom();if(i(t)){for(var n=t.selectionStart,r=t.selectionEnd,o=t.value,a=n;a>0&&\"\\n\"!==o.substring(a-1,a);)a--;for(var s=r;s<o.length&&\"\\n\"!==o.substring(s,s+1);)s++;s<o.length&&s++,t.value=o.substring(0,a)+o.substring(s,o.length),t.selectionEnd=t.selectionStart=0===a?0:a-1}else alert(\"Error: Browser version is too low\");e.d_value=t.value,t.focus()},t.insertUl=function(e){var t=e.getTextareaDom();if(i(t)){var n=t.selectionStart,r=t.selectionEnd,o=t.value;if(n===r)t.value=o.substring(0,n)+\"- \"+o.substring(r,o.length),t.selectionEnd=t.selectionStart=n+2;else{for(var a=n;a>0&&\"\\n\"!==o.substring(a-1,a);)a--;var s=o.substring(a,r),l=s.replace(/\\n/g,\"\\n- \");l=\"- \"+l,t.value=o.substring(0,a)+l+o.substring(r,o.length),t.selectionStart=a,t.selectionEnd=r+l.length-s.length}}else alert(\"Error: Browser version is too low\");e.d_value=t.value,t.focus()},t.insertTab=function(e,t){t=t?new Array(t).fill(\" \").join(\"\"):\"\\t\";var n=e.getTextareaDom();if(i(n)){var r=n.selectionStart,o=n.selectionEnd,a=n.value,s=a.substring(0,r).split(\"\\n\").pop();if(s.match(/^\\s*[0-9]+\\.\\s+\\S*/)){var l=s.replace(/(\\d+)/,1);n.value=a.substring(0,r-l.length)+t+l+a.substring(o,a.length)}else s.match(/^\\s*-\\s+\\S*/)?n.value=a.substring(0,r-s.length)+t+s+a.substring(o,a.length):n.value=a.substring(0,r)+t+a.substring(o,a.length);n.selectionStart=n.selectionEnd=r+t.length}else alert(\"Error: Browser version is too low\");e.d_value=n.value,n.focus()},t.unInsertTab=function(e,t){var n=new RegExp(t?\"\\\\s{\"+t+\"}\":\"\\t\");console.log(\"regTab:\",n);var r=e.getTextareaDom();if(i(r)){var o=r.selectionStart,a=r.selectionEnd,s=r.value,l=s.substring(0,o).split(\"\\n\").pop();l.search(n)>=0&&(r.value=s.substring(0,o-l.length)+l.replace(n,\"\")+s.substring(a,s.length),r.selectionStart=r.selectionEnd=o-(t||1))}else alert(\"Error: Browser version is too low\");e.d_value=r.value,r.focus()},t.insertEnter=function(e,t){var n=e.getTextareaDom();if(i(n)){var r=n.selectionStart,o=n.selectionEnd,a=n.value,s=a.substring(0,r).split(\"\\n\").pop(),l=s.match(/^\\s*(?:[0-9]+\\.|-)\\s+\\S+/);if(l){t.preventDefault();var c=l.shift().match(/^\\s*(?:[0-9]+\\.|-)\\s/).shift();if(c.search(/-/)>=0)n.value=a.substring(0,r)+\"\\n\"+c+a.substring(o,a.length),n.selectionStart=n.selectionEnd=r+c.length+1;else{var u=c.replace(/(\\d+)/,parseInt(c)+1);n.value=a.substring(0,r)+\"\\n\"+u+a.substring(o,a.length),n.selectionStart=n.selectionEnd=r+u.length+1}}else{var p=s.match(/^\\s*(?:[0-9]+\\.|-)\\s+$/);if(p){t.preventDefault();var d=p.shift().length;n.value=a.substring(0,r-d)+\"\\n\"+a.substring(o,a.length),n.selectionStart=n.selectionEnd=r-d}}}else alert(\"Error: Browser version is too low\");e.d_value=n.value,n.focus()},t.getNavigation=function(e,t){var n=void 0;n=e.$refs.navigationContent,n.innerHTML=e.d_render;var r=n.children;if(r.length)for(var o=0;o<r.length;o++)!function(t,n,r){/^H[1-6]{1}$/.exec(t.tagName)?t.onclick=function(){var t=e.$refs.vShowContent,r=e.$refs.vNoteEdit;e.s_subfield?e.s_preview_switch&&(r.scrollTop=t.children[n].offsetTop*(r.scrollHeight-r.offsetHeight)/(t.scrollHeight-t.offsetHeight)):e.s_preview_switch&&(t.scrollTop=t.children[n].offsetTop)}:t.style.display=\"none\"}(r[o],o)},t.scrollLink=function(e,t){var n=e.srcElement?e.srcElement:e.target,r=n.scrollTop/(n.scrollHeight-n.offsetHeight);t.edit_scroll_height>=0&&n.scrollHeight!==t.edit_scroll_height&&n.scrollHeight-n.offsetHeight-n.scrollTop<=30&&(t.$refs.vNoteEdit.scrollTop=n.scrollHeight-n.offsetHeight,r=1),t.edit_scroll_height=n.scrollHeight,t.$refs.vShowContent.scrollHeight>t.$refs.vShowContent.offsetHeight&&(t.$refs.vShowContent.scrollTop=(t.$refs.vShowContent.scrollHeight-t.$refs.vShowContent.offsetHeight)*r)},t.fullscreenchange=function(e){e.$el.addEventListener(\"fullscreenchange\",function(t){e.$toolbar_right_read_change_status()},!1),e.$el.addEventListener(\"mozfullscreenchange\",function(t){e.$toolbar_right_read_change_status()},!1),e.$el.addEventListener(\"webkitfullscreenchange\",function(t){e.$toolbar_right_read_change_status()},!1),e.$el.addEventListener(\"msfullscreenchange\",function(t){e.$toolbar_right_read_change_status()},!1)},t.windowResize=function(e){function t(){e.$el.clientWidth>768?e.s_subfield=e.subfield:e.s_subfield=!1}t(),window.addEventListener(\"resize\",t)},t.ImagePreviewListener=function(e){e.$refs.vShowContent.addEventListener(\"click\",function(t){t=t||window.event;var n=t.srcElement?t.srcElement:t.target;\"IMG\"===n.tagName&&(null!=e.imageClick?e.imageClick(n):e.d_preview_imgsrc=n.src)})}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(8),o=n(1).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(1),o=n(10),i=n(85),a=n(4),s=n(2),l=function(e,t,n){var c,u,p,d=e&l.F,h=e&l.G,f=e&l.S,_=e&l.P,g=e&l.B,m=e&l.W,b=h?o:o[t]||(o[t]={}),v=b.prototype,k=h?r:f?r[t]:(r[t]||{}).prototype;h&&(n=t);for(c in n)(u=!d&&k&&void 0!==k[c])&&s(b,c)||(p=u?k[c]:n[c],b[c]=h&&\"function\"!=typeof k[c]?n[c]:g&&u?i(p,r):m&&k[c]==p?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(p):_&&\"function\"==typeof p?i(Function.call,p):p,_&&((b.virtual||(b.virtual={}))[c]=p,e&l.R&&v&&!v[c]&&a(v,c,p)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){e.exports=!n(3)&&!n(11)(function(){return 7!=Object.defineProperty(n(40)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){\"use strict\";var r=n(12),o=n(41),i=n(48),a=n(4),s=n(21),l=n(90),c=n(24),u=n(96),p=n(7)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),h=function(){return this};e.exports=function(e,t,n,f,_,g,m){l(n,t,f);var b,v,k,w=function(e){if(!d&&e in T)return T[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+\" Iterator\",y=\"values\"==_,C=!1,T=e.prototype,A=T[p]||T[\"@@iterator\"]||_&&T[_],S=A||w(_),D=_?y?w(\"entries\"):S:void 0,E=\"Array\"==t?T.entries||A:A;if(E&&(k=u(E.call(new e)))!==Object.prototype&&k.next&&(c(k,x,!0),r||\"function\"==typeof k[p]||a(k,p,h)),y&&A&&\"values\"!==A.name&&(C=!0,S=function(){return A.call(this)}),r&&!m||!d&&!C&&T[p]||a(T,p,S),s[t]=S,s[x]=h,_)if(b={values:y?S:w(\"values\"),keys:g?S:w(\"keys\"),entries:D},m)for(v in b)v in T||i(T,v,b[v]);else o(o.P+o.F*(d||C),t,b);return b}},function(e,t,n){var r=n(9),o=n(93),i=n(20),a=n(25)(\"IE_PROTO\"),s=function(){},l=function(){var e,t=n(40)(\"iframe\"),r=i.length;for(t.style.display=\"none\",n(87).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),l=e.F;r--;)delete l.prototype[i[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=l(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(47),o=n(20).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(2),o=n(6),i=n(84)(!1),a=n(25)(\"IE_PROTO\");e.exports=function(e,t){var n,s=o(e),l=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;t.length>l;)r(s,n=t[l++])&&(~i(c,n)||c.push(n));return c}},function(e,t,n){e.exports=n(4)},function(e,t,n){var r=n(19);e.exports=function(e){return Object(r(e))}},function(e,t){function n(){var e={};return e[\"align-content\"]=!1,e[\"align-items\"]=!1,e[\"align-self\"]=!1,e[\"alignment-adjust\"]=!1,e[\"alignment-baseline\"]=!1,e.all=!1,e[\"anchor-point\"]=!1,e.animation=!1,e[\"animation-delay\"]=!1,e[\"animation-direction\"]=!1,e[\"animation-duration\"]=!1,e[\"animation-fill-mode\"]=!1,e[\"animation-iteration-count\"]=!1,e[\"animation-name\"]=!1,e[\"animation-play-state\"]=!1,e[\"animation-timing-function\"]=!1,e.azimuth=!1,e[\"backface-visibility\"]=!1,e.background=!0,e[\"background-attachment\"]=!0,e[\"background-clip\"]=!0,e[\"background-color\"]=!0,e[\"background-image\"]=!0,e[\"background-origin\"]=!0,e[\"background-position\"]=!0,e[\"background-repeat\"]=!0,e[\"background-size\"]=!0,e[\"baseline-shift\"]=!1,e.binding=!1,e.bleed=!1,e[\"bookmark-label\"]=!1,e[\"bookmark-level\"]=!1,e[\"bookmark-state\"]=!1,e.border=!0,e[\"border-bottom\"]=!0,e[\"border-bottom-color\"]=!0,e[\"border-bottom-left-radius\"]=!0,e[\"border-bottom-right-radius\"]=!0,e[\"border-bottom-style\"]=!0,e[\"border-bottom-width\"]=!0,e[\"border-collapse\"]=!0,e[\"border-color\"]=!0,e[\"border-image\"]=!0,e[\"border-image-outset\"]=!0,e[\"border-image-repeat\"]=!0,e[\"border-image-slice\"]=!0,e[\"border-image-source\"]=!0,e[\"border-image-width\"]=!0,e[\"border-left\"]=!0,e[\"border-left-color\"]=!0,e[\"border-left-style\"]=!0,e[\"border-left-width\"]=!0,e[\"border-radius\"]=!0,e[\"border-right\"]=!0,e[\"border-right-color\"]=!0,e[\"border-right-style\"]=!0,e[\"border-right-width\"]=!0,e[\"border-spacing\"]=!0,e[\"border-style\"]=!0,e[\"border-top\"]=!0,e[\"border-top-color\"]=!0,e[\"border-top-left-radius\"]=!0,e[\"border-top-right-radius\"]=!0,e[\"border-top-style\"]=!0,e[\"border-top-width\"]=!0,e[\"border-width\"]=!0,e.bottom=!1,e[\"box-decoration-break\"]=!0,e[\"box-shadow\"]=!0,e[\"box-sizing\"]=!0,e[\"box-snap\"]=!0,e[\"box-suppress\"]=!0,e[\"break-after\"]=!0,e[\"break-before\"]=!0,e[\"break-inside\"]=!0,e[\"caption-side\"]=!1,e.chains=!1,e.clear=!0,e.clip=!1,e[\"clip-path\"]=!1,e[\"clip-rule\"]=!1,e.color=!0,e[\"color-interpolation-filters\"]=!0,e[\"column-count\"]=!1,e[\"column-fill\"]=!1,e[\"column-gap\"]=!1,e[\"column-rule\"]=!1,e[\"column-rule-color\"]=!1,e[\"column-rule-style\"]=!1,e[\"column-rule-width\"]=!1,e[\"column-span\"]=!1,e[\"column-width\"]=!1,e.columns=!1,e.contain=!1,e.content=!1,e[\"counter-increment\"]=!1,e[\"counter-reset\"]=!1,e[\"counter-set\"]=!1,e.crop=!1,e.cue=!1,e[\"cue-after\"]=!1,e[\"cue-before\"]=!1,e.cursor=!1,e.direction=!1,e.display=!0,e[\"display-inside\"]=!0,e[\"display-list\"]=!0,e[\"display-outside\"]=!0,e[\"dominant-baseline\"]=!1,e.elevation=!1,e[\"empty-cells\"]=!1,e.filter=!1,e.flex=!1,e[\"flex-basis\"]=!1,e[\"flex-direction\"]=!1,e[\"flex-flow\"]=!1,e[\"flex-grow\"]=!1,e[\"flex-shrink\"]=!1,e[\"flex-wrap\"]=!1,e.float=!1,e[\"float-offset\"]=!1,e[\"flood-color\"]=!1,e[\"flood-opacity\"]=!1,e[\"flow-from\"]=!1,e[\"flow-into\"]=!1,e.font=!0,e[\"font-family\"]=!0,e[\"font-feature-settings\"]=!0,e[\"font-kerning\"]=!0,e[\"font-language-override\"]=!0,e[\"font-size\"]=!0,e[\"font-size-adjust\"]=!0,e[\"font-stretch\"]=!0,e[\"font-style\"]=!0,e[\"font-synthesis\"]=!0,e[\"font-variant\"]=!0,e[\"font-variant-alternates\"]=!0,e[\"font-variant-caps\"]=!0,e[\"font-variant-east-asian\"]=!0,e[\"font-variant-ligatures\"]=!0,e[\"font-variant-numeric\"]=!0,e[\"font-variant-position\"]=!0,e[\"font-weight\"]=!0,e.grid=!1,e[\"grid-area\"]=!1,e[\"grid-auto-columns\"]=!1,e[\"grid-auto-flow\"]=!1,e[\"grid-auto-rows\"]=!1,e[\"grid-column\"]=!1,e[\"grid-column-end\"]=!1,e[\"grid-column-start\"]=!1,e[\"grid-row\"]=!1,e[\"grid-row-end\"]=!1,e[\"grid-row-start\"]=!1,e[\"grid-template\"]=!1,e[\"grid-template-areas\"]=!1,e[\"grid-template-columns\"]=!1,e[\"grid-template-rows\"]=!1,e[\"hanging-punctuation\"]=!1,e.height=!0,e.hyphens=!1,e.icon=!1,e[\"image-orientation\"]=!1,e[\"image-resolution\"]=!1,e[\"ime-mode\"]=!1,e[\"initial-letters\"]=!1,e[\"inline-box-align\"]=!1,e[\"justify-content\"]=!1,e[\"justify-items\"]=!1,e[\"justify-self\"]=!1,e.left=!1,e[\"letter-spacing\"]=!0,e[\"lighting-color\"]=!0,e[\"line-box-contain\"]=!1,e[\"line-break\"]=!1,e[\"line-grid\"]=!1,e[\"line-height\"]=!1,e[\"line-snap\"]=!1,e[\"line-stacking\"]=!1,e[\"line-stacking-ruby\"]=!1,e[\"line-stacking-shift\"]=!1,e[\"line-stacking-strategy\"]=!1,e[\"list-style\"]=!0,e[\"list-style-image\"]=!0,e[\"list-style-position\"]=!0,e[\"list-style-type\"]=!0,e.margin=!0,e[\"margin-bottom\"]=!0,e[\"margin-left\"]=!0,e[\"margin-right\"]=!0,e[\"margin-top\"]=!0,e[\"marker-offset\"]=!1,e[\"marker-side\"]=!1,e.marks=!1,e.mask=!1,e[\"mask-box\"]=!1,e[\"mask-box-outset\"]=!1,e[\"mask-box-repeat\"]=!1,e[\"mask-box-slice\"]=!1,e[\"mask-box-source\"]=!1,e[\"mask-box-width\"]=!1,e[\"mask-clip\"]=!1,e[\"mask-image\"]=!1,e[\"mask-origin\"]=!1,e[\"mask-position\"]=!1,e[\"mask-repeat\"]=!1,e[\"mask-size\"]=!1,e[\"mask-source-type\"]=!1,e[\"mask-type\"]=!1,e[\"max-height\"]=!0,e[\"max-lines\"]=!1,e[\"max-width\"]=!0,e[\"min-height\"]=!0,e[\"min-width\"]=!0,e[\"move-to\"]=!1,e[\"nav-down\"]=!1,e[\"nav-index\"]=!1,e[\"nav-left\"]=!1,e[\"nav-right\"]=!1,e[\"nav-up\"]=!1,e[\"object-fit\"]=!1,e[\"object-position\"]=!1,e.opacity=!1,e.order=!1,e.orphans=!1,e.outline=!1,e[\"outline-color\"]=!1,e[\"outline-offset\"]=!1,e[\"outline-style\"]=!1,e[\"outline-width\"]=!1,e.overflow=!1,e[\"overflow-wrap\"]=!1,e[\"overflow-x\"]=!1,e[\"overflow-y\"]=!1,e.padding=!0,e[\"padding-bottom\"]=!0,e[\"padding-left\"]=!0,e[\"padding-right\"]=!0,e[\"padding-top\"]=!0,e.page=!1,e[\"page-break-after\"]=!1,e[\"page-break-before\"]=!1,e[\"page-break-inside\"]=!1,e[\"page-policy\"]=!1,e.pause=!1,e[\"pause-after\"]=!1,e[\"pause-before\"]=!1,e.perspective=!1,e[\"perspective-origin\"]=!1,e.pitch=!1,e[\"pitch-range\"]=!1,e[\"play-during\"]=!1,e.position=!1,e[\"presentation-level\"]=!1,e.quotes=!1,e[\"region-fragment\"]=!1,e.resize=!1,e.rest=!1,e[\"rest-after\"]=!1,e[\"rest-before\"]=!1,e.richness=!1,e.right=!1,e.rotation=!1,e[\"rotation-point\"]=!1,e[\"ruby-align\"]=!1,e[\"ruby-merge\"]=!1,e[\"ruby-position\"]=!1,e[\"shape-image-threshold\"]=!1,e[\"shape-outside\"]=!1,e[\"shape-margin\"]=!1,e.size=!1,e.speak=!1,e[\"speak-as\"]=!1,e[\"speak-header\"]=!1,e[\"speak-numeral\"]=!1,e[\"speak-punctuation\"]=!1,e[\"speech-rate\"]=!1,e.stress=!1,e[\"string-set\"]=!1,e[\"tab-size\"]=!1,e[\"table-layout\"]=!1,e[\"text-align\"]=!0,e[\"text-align-last\"]=!0,e[\"text-combine-upright\"]=!0,e[\"text-decoration\"]=!0,e[\"text-decoration-color\"]=!0,e[\"text-decoration-line\"]=!0,e[\"text-decoration-skip\"]=!0,e[\"text-decoration-style\"]=!0,e[\"text-emphasis\"]=!0,e[\"text-emphasis-color\"]=!0,e[\"text-emphasis-position\"]=!0,e[\"text-emphasis-style\"]=!0,e[\"text-height\"]=!0,e[\"text-indent\"]=!0,e[\"text-justify\"]=!0,e[\"text-orientation\"]=!0,e[\"text-overflow\"]=!0,e[\"text-shadow\"]=!0,e[\"text-space-collapse\"]=!0,e[\"text-transform\"]=!0,e[\"text-underline-position\"]=!0,e[\"text-wrap\"]=!0,e.top=!1,e.transform=!1,e[\"transform-origin\"]=!1,e[\"transform-style\"]=!1,e.transition=!1,e[\"transition-delay\"]=!1,e[\"transition-duration\"]=!1,e[\"transition-property\"]=!1,e[\"transition-timing-function\"]=!1,e[\"unicode-bidi\"]=!1,e[\"vertical-align\"]=!1,e.visibility=!1,e[\"voice-balance\"]=!1,e[\"voice-duration\"]=!1,e[\"voice-family\"]=!1,e[\"voice-pitch\"]=!1,e[\"voice-range\"]=!1,e[\"voice-rate\"]=!1,e[\"voice-stress\"]=!1,e[\"voice-volume\"]=!1,e.volume=!1,e[\"white-space\"]=!1,e.widows=!1,e.width=!0,e[\"will-change\"]=!1,e[\"word-break\"]=!0,e[\"word-spacing\"]=!0,e[\"word-wrap\"]=!0,e[\"wrap-flow\"]=!1,e[\"wrap-through\"]=!1,e[\"writing-mode\"]=!1,e[\"z-index\"]=!1,e}function r(e,t,n){}function o(e,t,n){}function i(e,t){return a.test(t)?\"\":t}var a=/javascript\\s*\\:/gim;t.whiteList=n(),t.getDefaultWhiteList=n,t.onAttr=r,t.onIgnoreAttr=o,t.safeAttrValue=i},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},forEach:function(e,t,n){var r,o;if(Array.prototype.forEach)return e.forEach(t,n);for(r=0,o=e.length;r<o;r++)t.call(n,e[r],r,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\\s*)|(\\s*$)/g,\"\")},trimRight:function(e){return String.prototype.trimRight?e.trimRight():e.replace(/(\\s*$)/g,\"\")}}},function(e,t,n){\"use strict\";e.exports=n(113)},function(e,t,n){\"use strict\";var r=\"<[A-Za-z][A-Za-z0-9\\\\-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",o=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",i=new RegExp(\"^(?:\"+r+\"|\"+o+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|<![A-Z]+\\\\s+[^>]*>|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>)\"),a=new RegExp(\"^(?:\"+r+\"|\"+o+\")\");e.exports.HTML_TAG_RE=i,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){\"use strict\";function r(e,t){var n,r,o,i,a,s,l=t.length;for(n=l-1;n>=0;n--)r=t[n],95!==r.marker&&42!==r.marker||-1!==r.end&&(o=t[r.end],s=n>0&&t[n-1].end===r.end+1&&t[n-1].token===r.token-1&&t[r.end+1].token===o.token+1&&t[n-1].marker===r.marker,a=String.fromCharCode(r.marker),i=e.tokens[r.token],i.type=s?\"strong_open\":\"em_open\",i.tag=s?\"strong\":\"em\",i.nesting=1,i.markup=s?a+a:a,i.content=\"\",i=e.tokens[o.token],i.type=s?\"strong_close\":\"em_close\",i.tag=s?\"strong\":\"em\",i.nesting=-1,i.markup=s?a+a:a,i.content=\"\",s&&(e.tokens[t[n-1].token].content=\"\",e.tokens[t[r.end+1].token].content=\"\",n--))}e.exports.tokenize=function(e,t){var n,r,o,i=e.pos,a=e.src.charCodeAt(i);if(t)return!1;if(95!==a&&42!==a)return!1;for(r=e.scanDelims(e.pos,42===a),n=0;n<r.length;n++)o=e.push(\"text\",\"\",0),o.content=String.fromCharCode(a),e.delimiters.push({marker:a,length:r.length,jump:n,token:e.tokens.length-1,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0},e.exports.postProcess=function(e){var t,n=e.tokens_meta,o=e.tokens_meta.length;for(r(e,e.delimiters),t=0;t<o;t++)n[t]&&n[t].delimiters&&r(e,n[t].delimiters)}},function(e,t,n){\"use strict\";function r(e,t){var n,r,o,i,a,s=[],l=t.length;for(n=0;n<l;n++)o=t[n],126===o.marker&&-1!==o.end&&(i=t[o.end],a=e.tokens[o.token],a.type=\"s_open\",a.tag=\"s\",a.nesting=1,a.markup=\"~~\",a.content=\"\",a=e.tokens[i.token],a.type=\"s_close\",a.tag=\"s\",a.nesting=-1,a.markup=\"~~\",a.content=\"\",\"text\"===e.tokens[i.token-1].type&&\"~\"===e.tokens[i.token-1].content&&s.push(i.token-1));for(;s.length;){for(n=s.pop(),r=n+1;r<e.tokens.length&&\"s_close\"===e.tokens[r].type;)r++;r--,n!==r&&(a=e.tokens[r],e.tokens[r]=e.tokens[n],e.tokens[n]=a)}}e.exports.tokenize=function(e,t){var n,r,o,i,a,s=e.pos,l=e.src.charCodeAt(s);if(t)return!1;if(126!==l)return!1;if(r=e.scanDelims(e.pos,!0),i=r.length,a=String.fromCharCode(l),i<2)return!1;for(i%2&&(o=e.push(\"text\",\"\",0),o.content=a,i--),n=0;n<i;n+=2)o=e.push(\"text\",\"\",0),o.content=a+a,e.delimiters.push({marker:l,length:0,jump:n,token:e.tokens.length-1,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0},e.exports.postProcess=function(e){var t,n=e.tokens_meta,o=e.tokens_meta.length;for(r(e,e.delimiters),t=0;t<o;t++)n[t]&&n[t].delimiters&&r(e,n[t].delimiters)}},function(e,t,n){\"use strict\";e.exports.encode=n(183),e.exports.decode=n(182),e.exports.format=n(184),e.exports.parse=n(185)},function(e,t){e.exports=/[\\0-\\x1F\\x7F-\\x9F]/},function(e,t){e.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/},function(e,t){e.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/},function(e,t,n){function r(){return{a:[\"target\",\"href\",\"title\"],abbr:[\"title\"],address:[],area:[\"shape\",\"coords\",\"href\",\"alt\"],article:[],aside:[],audio:[\"autoplay\",\"controls\",\"loop\",\"preload\",\"src\"],b:[],bdi:[\"dir\"],bdo:[\"dir\"],big:[],blockquote:[\"cite\"],br:[],caption:[],center:[],cite:[],code:[],col:[\"align\",\"valign\",\"span\",\"width\"],colgroup:[\"align\",\"valign\",\"span\",\"width\"],dd:[],del:[\"datetime\"],details:[\"open\"],div:[],dl:[],dt:[],em:[],font:[\"color\",\"size\",\"face\"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],ins:[\"datetime\"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:[\"width\",\"border\",\"align\",\"valign\"],tbody:[\"align\",\"valign\"],td:[\"width\",\"rowspan\",\"colspan\",\"align\",\"valign\"],tfoot:[\"align\",\"valign\"],th:[\"width\",\"rowspan\",\"colspan\",\"align\",\"valign\"],thead:[\"align\",\"valign\"],tr:[\"rowspan\",\"align\",\"valign\"],tt:[],u:[],ul:[],video:[\"autoplay\",\"controls\",\"loop\",\"preload\",\"src\",\"height\",\"width\"]}}function o(e,t,n){}function i(e,t,n){}function a(e,t,n){}function s(e,t,n){}function l(e){return e.replace(T,\"&lt;\").replace(A,\"&gt;\")}function c(e,t,n,r){if(n=_(n),\"href\"===t||\"src\"===t){if(\"#\"===(n=y.trim(n)))return\"#\";if(\"http://\"!==n.substr(0,7)&&\"https://\"!==n.substr(0,8)&&\"mailto:\"!==n.substr(0,7)&&\"tel:\"!==n.substr(0,4)&&\"#\"!==n[0]&&\"/\"!==n[0])return\"\"}else if(\"background\"===t){if(q.lastIndex=0,q.test(n))return\"\"}else if(\"style\"===t){if(F.lastIndex=0,F.test(n))return\"\";if($.lastIndex=0,$.test(n)&&(q.lastIndex=0,q.test(n)))return\"\";!1!==r&&(r=r||C,n=r.process(n))}return n=g(n)}function u(e){return e.replace(S,\"&quot;\")}function p(e){return e.replace(D,'\"')}function d(e){return e.replace(E,function(e,t){return\"x\"===t[0]||\"X\"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))})}function h(e){return e.replace(L,\":\").replace(j,\" \")}function f(e){for(var t=\"\",n=0,r=e.length;n<r;n++)t+=e.charCodeAt(n)<32?\" \":e.charAt(n);return y.trim(t)}function _(e){return e=p(e),e=d(e),e=h(e),e=f(e)}function g(e){return e=u(e),e=l(e)}function m(){return\"\"}function b(e,t){function n(t){return!!r||-1!==y.indexOf(e,t)}\"function\"!=typeof t&&(t=function(){});var r=!Array.isArray(e),o=[],i=!1;return{onIgnoreTag:function(e,r,a){if(n(e)){if(a.isClosing){var s=\"[/removed]\",l=a.position+s.length;return o.push([!1!==i?i:a.position,l]),i=!1,s}return i||(i=a.position),\"[removed]\"}return t(e,r,a)},remove:function(e){var t=\"\",n=0;return y.forEach(o,function(r){t+=e.slice(n,r[0]),n=r[1]}),t+=e.slice(n)}}}function v(e){return e.replace(z,\"\")}function k(e){var t=e.split(\"\");return t=t.filter(function(e){var t=e.charCodeAt(0);return 127!==t&&(!(t<=31)||(10===t||13===t))}),t.join(\"\")}var w=n(31).FilterCSS,x=n(31).getDefaultWhiteList,y=n(35),C=new w,T=/</g,A=/>/g,S=/\"/g,D=/&quot;/g,E=/&#([a-zA-Z0-9]*);?/gim,L=/&colon;?/gim,j=/&newline;?/gim,q=/((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi,F=/e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi,$=/u\\s*r\\s*l\\s*\\(.*/gi,z=/<!--[\\s\\S]*?-->/g;t.whiteList=r(),t.getDefaultWhiteList=r,t.onTag=o,t.onIgnoreTag=i,t.onTagAttr=a,t.onIgnoreTagAttr=s,t.safeAttrValue=c,t.escapeHtml=l,t.escapeQuote=u,t.unescapeQuote=p,t.escapeHtmlEntities=d,t.escapeDangerHtml5Entities=h,t.clearNonPrintableCharacter=f,t.friendlyAttrValue=_,t.escapeAttrValue=g,t.onIgnoreTagStripAll=m,t.StripTagBody=b,t.stripCommentTag=v,t.stripBlankChar=k,t.cssFilter=C,t.getDefaultCSSWhiteList=x},function(e,t,n){function r(e){var t=p.spaceIndex(e);if(-1===t)var n=e.slice(1,-1);else var n=e.slice(1,t+1);return n=p.trim(n).toLowerCase(),\"/\"===n.slice(0,1)&&(n=n.slice(1)),\"/\"===n.slice(-1)&&(n=n.slice(0,-1)),n}function o(e){return\"</\"===e.slice(0,2)}function i(e,t,n){\"user strict\";var i=\"\",a=0,s=!1,l=!1,c=0,u=e.length,p=\"\",d=\"\";for(c=0;c<u;c++){var h=e.charAt(c);if(!1===s){if(\"<\"===h){s=c;continue}}else if(!1===l){if(\"<\"===h){i+=n(e.slice(a,c)),s=c,a=c;continue}if(\">\"===h){i+=n(e.slice(a,s)),d=e.slice(s,c+1),p=r(d),i+=t(s,i.length,p,d,o(d)),a=c+1,s=!1;continue}if(('\"'===h||\"'\"===h)&&\"=\"===e.charAt(c-1)){l=h;continue}}else if(h===l){l=!1;continue}}return a<e.length&&(i+=n(e.substr(a))),i}function a(e,t){\"user strict\";function n(e,n){if(e=p.trim(e),e=e.replace(d,\"\").toLowerCase(),!(e.length<1)){var r=t(e,n||\"\");r&&o.push(r)}}for(var r=0,o=[],i=!1,a=e.length,c=0;c<a;c++){var h,f,_=e.charAt(c);if(!1!==i||\"=\"!==_)if(!1===i||c!==r||'\"'!==_&&\"'\"!==_||\"=\"!==e.charAt(c-1))if(/\\s|\\n|\\t/.test(_)){if(e=e.replace(/\\s|\\n|\\t/g,\" \"),!1===i){if(-1===(f=s(e,c))){h=p.trim(e.slice(r,c)),n(h),i=!1,r=c+1;continue}c=f-1;continue}if(-1===(f=l(e,c-1))){h=p.trim(e.slice(r,c)),h=u(h),n(i,h),i=!1,r=c+1;continue}}else;else{if(-1===(f=e.indexOf(_,c+1)))break;h=p.trim(e.slice(r+1,f)),n(i,h),i=!1,c=f,r=c+1}else i=e.slice(r,c),r=c+1}return r<e.length&&(!1===i?n(e.slice(r)):n(i,u(p.trim(e.slice(r))))),p.trim(o.join(\" \"))}function s(e,t){for(;t<e.length;t++){var n=e[t];if(\" \"!==n)return\"=\"===n?t:-1}}function l(e,t){for(;t>0;t--){var n=e[t];if(\" \"!==n)return\"=\"===n?t:-1}}function c(e){return'\"'===e[0]&&'\"'===e[e.length-1]||\"'\"===e[0]&&\"'\"===e[e.length-1]}function u(e){return c(e)?e.substr(1,e.length-2):e}var p=n(35),d=/[^a-zA-Z0-9_:\\.\\-]/gim;t.parseTag=i,t.parseAttr=a},function(e,t,n){function r(e){o||(n(204),n(205))}var o=!1,i=n(16)(n(67),n(201),r,\"data-v-7a63e4b3\",null);i.options.__file=\"D:\\\\work\\\\songwang\\\\yuangongji\\\\mavonEditor\\\\src\\\\mavon-editor.vue\",i.esModule&&Object.keys(i.esModule).some(function(e){return\"default\"!==e&&\"__\"!==e.substr(0,2)})&&console.error(\"named exports are not supported in *.vue files.\"),i.options.functional&&console.error(\"[vue-loader] mavon-editor.vue: functional components are not supported with templates, they should use render functions.\"),e.exports=i.exports},function(e,t,n){\"use strict\";var r=n(197),o={autoTextarea:r,install:function(e){e.component(\"auto-textarea\",r)}};e.exports=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={data:function(){var e=this;return{temp_value:function(){return e.value}(),s_autofocus:function(){if(e.autofocus)return\"autofocus\"}()}},created:function(){},props:{fullHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},value:{type:String,default:\"\"},placeholder:{type:String,default:\"\"},border:{type:Boolean,default:!1},resize:{type:Boolean,default:!1},onchange:{type:Function,default:null},fontSize:{type:String,default:\"14px\"},lineHeight:{type:String,default:\"18px\"}},methods:{change:function(e){this.onchange&&this.onchange(this.temp_value,e)}},watch:{value:function(e,t){this.temp_value=e},temp_value:function(e,t){this.$emit(\"input\",e)}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"s-md-toolbar-left\",props:{editable:{type:Boolean,default:!0},transition:{type:Boolean,default:!0},toolbars:{type:Object,required:!0},d_words:{type:Object,required:!0},image_filter:{type:Function,default:null}},data:function(){return{img_file:[[0,null]],img_timer:null,header_timer:null,s_img_dropdown_open:!1,s_header_dropdown_open:!1,s_img_link_open:!1,trigger:null,num:0,link_text:\"\",link_addr:\"\",link_type:\"link\"}},methods:{$imgLinkAdd:function(){this.$emit(\"toolbar_left_addlink\",this.link_type,this.link_text,this.link_addr),this.s_img_link_open=!1},$toggle_imgLinkAdd:function(e){var t=this;this.link_type=e,this.link_text=this.link_addr=\"\",this.s_img_link_open=!0,this.$nextTick(function(){t.$refs.linkTextInput.focus()}),this.s_img_dropdown_open=!1},$imgFileListClick:function(e){this.$emit(\"imgTouch\",this.img_file[e])},$changeUrl:function(e,t){this.img_file[e][0]=t},$imgFileAdd:function(e){this.img_file.push([++this.num,e]),this.$emit(\"imgAdd\",this.num,e),this.s_img_dropdown_open=!1},$imgFilesAdd:function(e){for(var t=\"function\"==typeof this.image_filter,n=0;n<e.length;n++)t&&!0===this.image_filter(e[n])?this.$imgFileAdd(e[n]):!t&&e[n].type.match(/^image\\//i)&&this.$imgFileAdd(e[n])},$imgAdd:function(e){this.$imgFilesAdd(e.target.files),e.target.value=\"\"},$imgDel:function(e){this.$emit(\"imgDel\",this.img_file[e]),this.img_file.splice(e,1),this.num--,this.s_img_dropdown_open=!1},isEqualName:function(e,t){return!(!this.img_file[t][1]||this.img_file[t][1].name!==e&&this.img_file[t][1]._name!==e)},$imgDelByFilename:function(e){for(var t=0;this.img_file.length>t;){if(this.img_file[t][1]===e||this.isEqualName(e,t))return this.$imgDel(t),!0;t+=1}return!1},$imgAddByFilename:function(e,t){for(var n=0;n<this.img_file.length;n++)if(this.img_file[n][0]===e)return!1;return this.img_file[0][0]=e,this.img_file[0][1]=t,this.img_file[0][2]=e,this.img_file.unshift([\"./\"+this.num,null]),this.$emit(\"imgAdd\",this.img_file[1][0],t,!1),!0},$imgAddByUrl:function(e,t){for(var n=0;n<this.img_file.length;n++)if(this.img_file[n][0]===e)return!1;return this.img_file[0][0]=e,this.img_file[0][1]=t,this.img_file.unshift([\"./\"+this.num,null]),!0},$imgUpdateByFilename:function(e,t){for(var n=0;n<this.img_file.length;n++)if(this.img_file[n][0]===e||this.isEqualName(e,n))return this.img_file[n][1]=t,this.$emit(\"imgAdd\",e,t,!1),!0;return!1},$mouseenter_img_dropdown:function(){this.editable&&(clearTimeout(this.img_timer),this.s_img_dropdown_open=!0)},$mouseleave_img_dropdown:function(){var e=this;this.img_timer=setTimeout(function(){e.s_img_dropdown_open=!1},200)},$mouseenter_header_dropdown:function(){this.editable&&(clearTimeout(this.header_timer),this.s_header_dropdown_open=!0)},$mouseleave_header_dropdown:function(){var e=this;this.header_timer=setTimeout(function(){e.s_header_dropdown_open=!1},200)},$clicks:function(e){this.editable&&this.$emit(\"toolbar_left_click\",e)},$click_header:function(e){this.$emit(\"toolbar_left_click\",e),this.s_header_dropdown_open=!1},handleClose:function(e){this.s_img_dropdown_open=!1}},watch:{s_img_link_open:function(e){this.$parent.$el.style.zIndex=e?1501:1500}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"s-md-toolbar-right\",props:{s_subfield:{type:Boolean,required:!0},toolbars:{type:Object,required:!0},s_preview_switch:{type:Boolean,required:!0},s_fullScreen:{type:Boolean,required:!0},s_html_code:{type:Boolean,required:!0},s_navigation:{type:Boolean,required:!0},d_words:{type:Object,required:!0}},methods:{$clicks:function(e){this.$emit(\"toolbar_right_click\",e)}}}},function(module,exports,__webpack_require__){\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,\"__esModule\",{value:!0});var _typeof2=__webpack_require__(18),_typeof3=_interopRequireDefault(_typeof2),_autoTextarea=__webpack_require__(63),_keydownListen=__webpack_require__(72),_langHljsCss=__webpack_require__(70),_langHljsCss2=_interopRequireDefault(_langHljsCss),_extraFunction=__webpack_require__(38),_util=__webpack_require__(77),_toolbar_left_click2=__webpack_require__(75),_toolbar_right_click2=__webpack_require__(76),_config=__webpack_require__(69),_markdown=__webpack_require__(74),_markdown2=_interopRequireDefault(_markdown),_mdToolbarLeft=__webpack_require__(36),_mdToolbarLeft2=_interopRequireDefault(_mdToolbarLeft),_mdToolbarRight=__webpack_require__(37),_mdToolbarRight2=_interopRequireDefault(_mdToolbarRight);__webpack_require__(115),__webpack_require__(114),exports.default={mixins:[_markdown2.default],props:{scrollStyle:{type:Boolean,default:!0},boxShadow:{type:Boolean,default:!0},transition:{type:Boolean,default:!0},autofocus:{type:Boolean,default:!0},fontSize:{type:String,default:\"14px\"},toolbarsBackground:{type:String,default:\"#ffffff\"},editorBackground:{type:String,default:\"#ffffff\"},previewBackground:{type:String,default:\"#fbfbfb\"},boxShadowStyle:{type:String,default:\"0 2px 12px 0 rgba(0, 0, 0, 0.1)\"},help:{type:String,default:null},value:{type:String,default:\"\"},language:{type:String,default:\"zh-CN\"},subfield:{type:Boolean,default:!0},navigation:{type:Boolean,default:!1},defaultOpen:{type:String,default:null},editable:{type:Boolean,default:!0},toolbarsFlag:{type:Boolean,default:!0},toolbars:{type:Object,default:function(){return _config.CONFIG.toolbars}},html:{type:Boolean,default:!0},xssOptions:{type:[Object,Boolean],default:function(){return{}}},codeStyle:{type:String,default:function(){return\"github\"}},placeholder:{type:String,default:null},ishljs:{type:Boolean,default:!0},externalLink:{type:[Object,Boolean],default:!0},imageFilter:{type:Function,default:null},imageClick:{type:Function,default:null},tabSize:{type:Number,default:0},shortCut:{type:Boolean,default:!0}},data:function(){var e=this;return{s_right_click_menu_show:!1,right_click_menu_top:0,right_click_menu_left:0,s_subfield:function(){return e.subfield}(),s_autofocus:!0,s_navigation:function(){return e.navigation}(),s_scrollStyle:function(){return e.scrollStyle}(),d_value:\"\",d_render:\"\",s_preview_switch:function(){var t=e.defaultOpen;return t||(t=e.subfield?\"preview\":\"edit\"),\"preview\"===t}(),s_fullScreen:!1,s_help:!1,s_html_code:!1,d_help:null,d_words:null,edit_scroll_height:-1,s_readmodel:!1,s_table_enter:!1,d_history:function(){var t=[];return t.push(e.value),t}(),d_history_index:0,currentTimeout:\"\",d_image_file:[],d_preview_imgsrc:null,s_external_link:{markdown_css:function(){return\"https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.9.0/github-markdown.min.css\"},hljs_js:function(){return\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/highlight.min.js\"},hljs_lang:function(e){return\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/languages/\"+e+\".min.js\"},hljs_css:function(e){return _langHljsCss2.default[e]?\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/styles/\"+e+\".min.css\":\"\"},katex_js:function(){return\"https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.8.3/katex.min.js\"},katex_css:function(){return\"https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.8.3/katex.min.css\"}},p_external_link:{},textarea_selectionEnd:0,textarea_selectionEnds:[0],_xssHandler:null}},created:function(){var e=this;this.initLanguage(),this.initExternalFuc(),this.$nextTick(function(){e.editableTextarea()})},mounted:function(){var e=this;this.$el.addEventListener(\"paste\",function(t){e.$paste(t)}),this.$el.addEventListener(\"drop\",function(t){e.$drag(t)}),(0,_keydownListen.keydownListen)(this),(0,_extraFunction.ImagePreviewListener)(this),this.autofocus&&this.getTextareaDom().focus(),(0,_extraFunction.fullscreenchange)(this),this.d_value=this.value||\"\",document.body.appendChild(this.$refs.help),this.loadExternalLink(\"markdown_css\",\"css\"),this.loadExternalLink(\"katex_css\",\"css\"),this.loadExternalLink(\"katex_js\",\"js\",function(){e.iRender(!0)}),this.loadExternalLink(\"hljs_js\",\"js\",function(){e.iRender(!0)}),e.codeStyleChange(e.codeStyle,!0)},beforeDestroy:function(){document.body.removeChild(this.$refs.help)},getMarkdownIt:function(){var e=this.mixins[0].data().markdownIt;return e||(e=(0,_markdown.initMarkdown)()),e},methods:{loadExternalLink:function(e,t,n){if(\"function\"!=typeof this.p_external_link[e])return void(!1!==this.p_external_link[e]&&console.error(\"external_link.\"+e,\"is not a function, if you want to disabled this error log, set external_link.\"+e,\"to function or false\"));var r={css:_extraFunction.loadLink,js:_extraFunction.loadScript};r.hasOwnProperty(t)&&r[t](this.p_external_link[e](),n)},initExternalFuc:function(){for(var e=this,t=[\"markdown_css\",\"hljs_js\",\"hljs_css\",\"hljs_lang\",\"katex_js\",\"katex_css\"],n=(0,_typeof3.default)(e.externalLink),r=\"object\"===n,o=\"boolean\"===n,i=0;i<t.length;i++)o&&!e.externalLink||r&&!1===e.externalLink[t[i]]?e.p_external_link[t[i]]=!1:r&&\"function\"==typeof e.externalLink[t[i]]?e.p_external_link[t[i]]=e.externalLink[t[i]]:e.p_external_link[t[i]]=e.s_external_link[t[i]]},textAreaFocus:function(){this.$refs.vNoteTextarea.$refs.vTextarea.focus()},$drag:function(e){var t=e.dataTransfer;if(t){var n=t.files;n.length>0&&(e.preventDefault(),this.$refs.toolbar_left.$imgFilesAdd(n))}},$paste:function(e){var t=e.clipboardData;if(t){var n=t.items;if(!n)return;for(var r=t.types||[],o=null,i=0;i<r.length;i++)if(\"Files\"===r[i]){o=n[i];break}if(o&&\"file\"===o.kind){(0,_util.stopEvent)(e);var a=o.getAsFile();this.$refs.toolbar_left.$imgFilesAdd([a])}}},$imgTouch:function(e){},$imgDel:function(e){this.markdownIt.image_del(e[1]);var t=e[0],n=new RegExp(\"\\\\!\\\\[\"+e[1]._name+\"\\\\]\\\\(\"+t+\"\\\\)\",\"g\");this.d_value=this.d_value.replace(n,\"\"),this.iRender(),this.$emit(\"imgDel\",e)},$imgAdd:function(e,t,n){void 0===n&&(n=!0);var r=this;if(null==this.__rFilter&&(this.__rFilter=/^image\\//i),this.__oFReader=new FileReader,this.__oFReader.onload=function(o){r.markdownIt.image_add(e,o.target.result),t.miniurl=o.target.result,!0===n&&(t._name=t.name.replace(/[\\[\\]\\(\\)\\+\\{\\}&\\|\\\\\\*^%$#@\\-]/g,\"\"),r.insertText(r.getTextareaDom(),{prefix:\"![\"+t._name+\"](\"+e+\")\",subfix:\"\",str:\"\"}),r.$nextTick(function(){r.$emit(\"imgAdd\",e,t)}))},t){var o=t;this.__rFilter.test(o.type)&&this.__oFReader.readAsDataURL(o)}},$imgUpdateByUrl:function(e,t){var n=this;this.markdownIt.image_add(e,t),this.$nextTick(function(){n.d_render=this.markdownIt.render(this.d_value)})},$imgAddByUrl:function(e,t){return!!this.$refs.toolbar_left.$imgAddByUrl(e,t)&&(this.$imgUpdateByUrl(e,t),!0)},$img2Url:function $img2Url(fileIndex,url){var reg_str=\"/(!\\\\[[^\\\\[]*?\\\\](?=\\\\())\\\\(\\\\s*(\"+fileIndex+\")\\\\s*\\\\)/g\",reg=eval(reg_str);this.d_value=this.d_value.replace(reg,\"$1(\"+url+\")\"),this.$refs.toolbar_left.$changeUrl(fileIndex,url),this.iRender()},$imglst2Url:function(e){if(e instanceof Array)for(var t=0;t<e.length;t++)this.$img2Url(e[t][0],e[t][1])},toolbar_left_click:function(e){(0,_toolbar_left_click2.toolbar_left_click)(e,this)},toolbar_left_addlink:function(e,t,n){(0,_toolbar_left_click2.toolbar_left_addlink)(e,t,n,this)},toolbar_right_click:function(e){(0,_toolbar_right_click2.toolbar_right_click)(e,this)},getNavigation:function(e,t){return(0,_extraFunction.getNavigation)(e,t)},change:function(e,t){this.$emit(\"change\",e,t)},fullscreen:function(e,t){this.$emit(\"fullScreen\",e,t)},readmodel:function(e,t){this.$emit(\"readModel\",e,t)},previewtoggle:function(e,t){this.$emit(\"previewToggle\",e,t)},subfieldtoggle:function(e,t){this.$emit(\"subfieldToggle\",e,t)},htmlcode:function(e,t){this.$emit(\"htmlCode\",e,t)},helptoggle:function(e,t){this.$emit(\"helpToggle\",e,t)},save:function(e,t){this.$emit(\"save\",e,t)},navigationtoggle:function(e,t){this.$emit(\"navigationToggle\",e,t)},$toolbar_right_read_change_status:function(){this.s_readmodel=!this.s_readmodel,this.readmodel&&this.readmodel(this.s_readmodel,this.d_value),this.s_readmodel&&this.toolbars.navigation&&this.getNavigation(this,!0)},$v_edit_scroll:function(e){(0,_extraFunction.scrollLink)(e,this)},getTextareaDom:function(){return this.$refs.vNoteTextarea.$refs.vTextarea},insertText:function(e,t){var n=t.prefix,r=t.subfix,o=t.str,i=t.type;(0,_extraFunction.insertTextAtCaret)(e,{prefix:n,subfix:r,str:o,type:i},this)},insertTab:function(){(0,_extraFunction.insertTab)(this,this.tabSize)},insertOl:function(){(0,_extraFunction.insertOl)(this)},removeLine:function(){(0,_extraFunction.removeLine)(this)},insertUl:function(){(0,_extraFunction.insertUl)(this)},unInsertTab:function(){(0,_extraFunction.unInsertTab)(this,this.tabSize)},insertCodeBlock:function(){(0,_extraFunction.insertCodeBlock)(this)},insertEnter:function(e){(0,_extraFunction.insertEnter)(this,e)},saveHistory:function(){this.d_history.splice(this.d_history_index+1,this.d_history.length),this.d_history.push(this.d_value),this.textarea_selectionEnds.splice(this.d_history_index+1,this.textarea_selectionEnds.length),this.textarea_selectionEnds.push(this.textarea_selectionEnd),this.d_history_index=this.d_history.length-1},saveSelectionEndsHistory:function(){var e=this.$refs.vNoteTextarea&&this.$refs.vNoteTextarea.$el.querySelector(\"textarea\");this.textarea_selectionEnd=e?e.selectionEnd:this.textarea_selectionEnd},initLanguage:function(){var e=_config.CONFIG.langList.indexOf(this.language)>=0?this.language:\"zh-CN\",t=this;t.$render(_config.CONFIG[\"help_\"+e],function(e){t.d_help=e}),this.d_words=_config.CONFIG[\"words_\"+e]},editableTextarea:function(){var e=this.$refs.vNoteTextarea.$refs.vTextarea;this.editable?e.removeAttribute(\"disabled\"):e.setAttribute(\"disabled\",\"disabled\")},codeStyleChange:function(e,t){if(t=t||!1,\"function\"!=typeof this.p_external_link.hljs_css)return void(!1!==this.p_external_link.hljs_css&&console.error(\"external_link.hljs_css is not a function, if you want to disabled this error log, set external_link.hljs_css to function or false\"));var n=this.p_external_link.hljs_css(e);0===n.length&&t&&(console.warn(\"hljs color scheme\",e,\"do not exist, loading default github\"),n=this.p_external_link.hljs_css(\"github\")),n.length>0?(0,_extraFunction.loadLink)(n,null,\"md-code-style\"):console.warn(\"hljs color scheme\",e,\"do not exist, hljs color scheme will not change\")},iRender:function(e){var t=this;this.$render(t.d_value,function(n){t.d_render=n,e||t.change&&t.change(t.d_value,t.d_render),t.s_navigation&&(0,_extraFunction.getNavigation)(t,!1),t.$emit(\"input\",t.d_value),t.d_value!==t.d_history[t.d_history_index]&&(window.clearTimeout(t.currentTimeout),t.currentTimeout=setTimeout(function(){t.saveHistory()},500))})},$emptyHistory:function(){this.d_history=[this.d_value],this.d_history_index=0}},watch:{d_value:function(e,t){this.saveSelectionEndsHistory(),this.iRender()},value:function(e,t){e!==this.d_value&&(this.d_value=e)},subfield:function(e,t){this.s_subfield=e},d_history_index:function(){this.d_history_index>20&&(this.d_history.shift(),this.d_history_index=this.d_history_index-1),this.d_value=this.d_history[this.d_history_index]},language:function(e){this.initLanguage()},editable:function(){this.editableTextarea()},defaultOpen:function(e){var t=e;return t||(t=this.subfield?\"preview\":\"edit\"),this.s_preview_switch=\"preview\"===t,this.s_preview_switch},codeStyle:function(e){this.codeStyleChange(e)}},components:{\"v-autoTextarea\":_autoTextarea.autoTextarea,\"v-md-toolbar-left\":_mdToolbarLeft2.default,\"v-md-toolbar-right\":_mdToolbarRight2.default}}},function(e,t,n){\"use strict\";var r=n(62),o={markdownIt:r.mixins[0].data().markdownIt,mavonEditor:r,LeftToolbar:n(36),RightToolbar:n(37),install:function(e){e.component(\"mavon-editor\",r)}};e.exports=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.CONFIG=void 0;var o=n(193),i=r(o),a=n(194),s=r(a),l=n(188),c=r(l),u=n(189),p=r(u),d=n(191),h=r(d),f=n(192),_=r(f),g=n(187),m=r(g),b=n(190),v=r(b),k=n(217),w=r(k),x=n(218),y=r(x),C=n(212),T=r(C),A=n(213),S=r(A),D=n(215),E=r(D),L=n(216),j=r(L),q=n(211),F=r(q),$=n(214),z=r($);t.CONFIG={\"help_zh-CN\":i.default,\"help_zh-TW\":s.default,\"help_pt-BR\":h.default,help_en:c.default,help_fr:p.default,help_ru:_.default,help_de:m.default,help_ja:v.default,\"words_zh-CN\":w.default,\"words_zh-TW\":y.default,\"words_pt-BR\":E.default,words_en:T.default,words_fr:S.default,words_ru:j.default,words_de:F.default,words_ja:z.default,langList:[\"en\",\"zh-CN\",\"zh-TW\",\"fr\",\"pt-BR\",\"ru\",\"de\",\"ja\"],toolbars:{bold:!0,italic:!0,header:!0,underline:!0,strikethrough:!0,mark:!0,superscript:!0,subscript:!0,quote:!0,ol:!0,ul:!0,link:!0,imagelink:!0,code:!0,table:!0,undo:!0,redo:!0,trash:!0,save:!0,alignleft:!0,aligncenter:!0,alignright:!0,navigation:!0,subfield:!0,fullscreen:!0,readmodel:!0,htmlcode:!0,help:!0,preview:!0}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={agate:1,androidstudio:1,\"arduino-light\":1,arta:1,ascetic:1,\"atom-one-dark\":1,\"atom-one-light\":1,\"brown-paper\":1,\"codepen-embed\":1,\"color-brewer\":1,dark:1,default:1,docco:1,far:1,foundation:1,github:1,googlecode:1,grayscale:1,hybrid:1,idea:1,\"ir-black\":1,magula:1,\"mono-blue\":1,\"monokai-sublime\":1,monokai:1,obsidian:1,\"paraiso-dark\":1,\"paraiso-light\":1,pojoaque:1,purebasic:1,rainbow:1,routeros:1,\"school-book\":1,sunburst:1,\"tomorrow-night-blue\":1,\"tomorrow-night-bright\":1,vs:1,vs2015:1,xcode:1,xt256:1,\"a11y-dark\":1,\"a11y-light\":1,\"an-old-hope\":1,\"atom-one-dark-reasonable\":1,\"brown-pap\":1,devibeans:1,\"github-dark\":1,\"github-dark-dimmed\":1,gml:1,\"gradient-dark\":1,\"gradient-light\":1,\"isbl-editor-dark\":1,\"isbl-editor-light\":1,\"kimbie-dark\":1,\"kimbie-light\":1,lightfair:1,lioshi:1,\"night-owl\":1,\"nnfx-dark\":1,\"nnfx-light\":1,nord:1,pojo:1,\"qtcreator-dark\":1,\"qtcreator-light\":1,\"shades-of-purple\":1,srcery:1,\"stackoverflow-dark\":1,\"stackoverflow-light\":1}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={\"1c\":\"1c\",abnf:\"abnf\",accesslog:\"accesslog\",actionscript:\"actionscript\",as:\"actionscript\",ada:\"ada\",apache:\"apache\",apacheconf:\"apache\",applescript:\"applescript\",osascript:\"applescript\",arduino:\"arduino\",armasm:\"armasm\",arm:\"armasm\",asciidoc:\"asciidoc\",adoc:\"asciidoc\",aspectj:\"aspectj\",autohotkey:\"autohotkey\",ahk:\"autohotkey\",autoit:\"autoit\",avrasm:\"avrasm\",awk:\"awk\",axapta:\"axapta\",bash:\"bash\",sh:\"bash\",zsh:\"bash\",basic:\"basic\",bnf:\"bnf\",brainfuck:\"brainfuck\",bf:\"brainfuck\",cal:\"cal\",capnproto:\"capnproto\",capnp:\"capnproto\",ceylon:\"ceylon\",clean:\"clean\",icl:\"clean\",dcl:\"clean\",\"clojure-repl\":\"clojure-repl\",clojure:\"clojure\",clj:\"clojure\",cmake:\"cmake\",\"cmake.in\":\"cmake\",coffeescript:\"coffeescript\",coffee:\"coffeescript\",cson:\"coffeescript\",iced:\"coffeescript\",coq:\"coq\",cos:\"cos\",cls:\"cos\",cpp:\"cpp\",c:\"cpp\",cc:\"cpp\",h:\"cpp\",\"c++\":\"cpp\",\"h++\":\"cpp\",hpp:\"cpp\",crmsh:\"crmsh\",crm:\"crmsh\",pcmk:\"crmsh\",crystal:\"crystal\",cr:\"crystal\",cs:\"cs\",csharp:\"cs\",csp:\"csp\",css:\"css\",d:\"d\",dart:\"dart\",delphi:\"delphi\",dpr:\"delphi\",dfm:\"delphi\",pas:\"delphi\",pascal:\"delphi\",freepascal:\"delphi\",lazarus:\"delphi\",lpr:\"delphi\",lfm:\"delphi\",diff:\"diff\",patch:\"diff\",django:\"django\",jinja:\"django\",dns:\"dns\",bind:\"dns\",zone:\"dns\",dockerfile:\"dockerfile\",docker:\"dockerfile\",dos:\"dos\",bat:\"dos\",cmd:\"dos\",dsconfig:\"dsconfig\",dts:\"dts\",dust:\"dust\",dst:\"dust\",ebnf:\"ebnf\",elixir:\"elixir\",elm:\"elm\",erb:\"erb\",\"erlang-repl\":\"erlang-repl\",erlang:\"erlang\",erl:\"erlang\",excel:\"excel\",xlsx:\"excel\",xls:\"excel\",fix:\"fix\",flix:\"flix\",fortran:\"fortran\",f90:\"fortran\",f95:\"fortran\",fsharp:\"fsharp\",fs:\"fsharp\",gams:\"gams\",gms:\"gams\",gauss:\"gauss\",gss:\"gauss\",gcode:\"gcode\",nc:\"gcode\",gherkin:\"gherkin\",feature:\"gherkin\",glsl:\"glsl\",go:\"go\",golang:\"go\",golo:\"golo\",gradle:\"gradle\",groovy:\"groovy\",haml:\"haml\",handlebars:\"handlebars\",hbs:\"handlebars\",\"html.hbs\":\"handlebars\",\"html.handlebars\":\"handlebars\",haskell:\"haskell\",hs:\"haskell\",haxe:\"haxe\",hx:\"haxe\",hsp:\"hsp\",htmlbars:\"htmlbars\",http:\"http\",https:\"http\",hy:\"hy\",hylang:\"hy\",inform7:\"inform7\",i7:\"inform7\",ini:\"ini\",toml:\"ini\",irpf90:\"irpf90\",java:\"java\",jsp:\"java\",javascript:\"javascript\",js:\"javascript\",jsx:\"javascript\",\"jboss-cli\":\"jboss-cli\",\"wildfly-cli\":\"jboss-cli\",json:\"json\",\"julia-repl\":\"julia-repl\",julia:\"julia\",kotlin:\"kotlin\",lasso:\"lasso\",ls:\"livescript\",lassoscript:\"lasso\",ldif:\"ldif\",leaf:\"leaf\",less:\"less\",lisp:\"lisp\",livecodeserver:\"livecodeserver\",livescript:\"livescript\",llvm:\"llvm\",lsl:\"lsl\",lua:\"lua\",makefile:\"makefile\",mk:\"makefile\",mak:\"makefile\",markdown:\"markdown\",md:\"markdown\",mkdown:\"markdown\",mkd:\"markdown\",mathematica:\"mathematica\",mma:\"mathematica\",matlab:\"matlab\",maxima:\"maxima\",mel:\"mel\",mercury:\"mercury\",m:\"mercury\",moo:\"mercury\",mipsasm:\"mipsasm\",mips:\"mipsasm\",mizar:\"mizar\",mojolicious:\"mojolicious\",monkey:\"monkey\",moonscript:\"moonscript\",moon:\"moonscript\",n1ql:\"n1ql\",nginx:\"nginx\",nginxconf:\"nginx\",nimrod:\"nimrod\",nim:\"nimrod\",nix:\"nix\",nixos:\"nix\",nsis:\"nsis\",objectivec:\"objectivec\",mm:\"objectivec\",objc:\"objectivec\",\"obj-c\":\"objectivec\",ocaml:\"ocaml\",ml:\"sml\",openscad:\"openscad\",scad:\"openscad\",oxygene:\"oxygene\",parser3:\"parser3\",perl:\"perl\",pl:\"perl\",pm:\"perl\",pf:\"pf\",\"pf.conf\":\"pf\",php:\"php\",php3:\"php\",php4:\"php\",php5:\"php\",php6:\"php\",pony:\"pony\",powershell:\"powershell\",ps:\"powershell\",processing:\"processing\",profile:\"profile\",prolog:\"prolog\",protobuf:\"protobuf\",puppet:\"puppet\",pp:\"puppet\",purebasic:\"purebasic\",pb:\"purebasic\",pbi:\"purebasic\",python:\"python\",py:\"python\",gyp:\"python\",q:\"q\",k:\"q\",kdb:\"q\",qml:\"qml\",qt:\"qml\",r:\"r\",rib:\"rib\",roboconf:\"roboconf\",graph:\"roboconf\",instances:\"roboconf\",routeros:\"routeros\",mikrotik:\"routeros\",rsl:\"rsl\",ruby:\"ruby\",rb:\"ruby\",gemspec:\"ruby\",podspec:\"ruby\",thor:\"ruby\",irb:\"ruby\",ruleslanguage:\"ruleslanguage\",rust:\"rust\",rs:\"rust\",scala:\"scala\",scheme:\"scheme\",scilab:\"scilab\",sci:\"scilab\",scss:\"scss\",shell:\"shell\",console:\"shell\",smali:\"smali\",smalltalk:\"smalltalk\",st:\"smalltalk\",sml:\"sml\",sqf:\"sqf\",sql:\"sql\",stan:\"stan\",stata:\"stata\",do:\"stata\",ado:\"stata\",step21:\"step21\",p21:\"step21\",step:\"step21\",stp:\"step21\",stylus:\"stylus\",styl:\"stylus\",subunit:\"subunit\",swift:\"swift\",taggerscript:\"taggerscript\",tap:\"tap\",tcl:\"tcl\",tk:\"tcl\",tex:\"tex\",thrift:\"thrift\",tp:\"tp\",twig:\"twig\",craftcms:\"twig\",typescript:\"typescript\",ts:\"typescript\",vala:\"vala\",vbnet:\"vbnet\",vb:\"vbnet\",\"vbscript-html\":\"vbscript-html\",vbscript:\"vbscript\",vbs:\"vbscript\",verilog:\"verilog\",v:\"verilog\",sv:\"verilog\",svh:\"verilog\",vhdl:\"vhdl\",vim:\"vim\",x86asm:\"x86asm\",xl:\"xl\",tao:\"xl\",xml:\"xml\",html:\"xml\",xhtml:\"xml\",rss:\"xml\",atom:\"xml\",xjb:\"xml\",xsd:\"xml\",xsl:\"xml\",plist:\"xml\",xquery:\"xquery\",xpath:\"xquery\",xq:\"xquery\",yaml:\"yaml\",yml:\"yaml\",YAML:\"yaml\",zephir:\"zephir\",zep:\"zephir\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r={F8:119,F9:120,F10:121,F11:122,F12:123,B:66,I:73,H:72,U:85,D:68,M:77,Q:81,O:79,L:76,S:83,Z:90,Y:89,C:67,T:84,R:82,DELETE:8,TAB:9,ENTER:13,ONE:97,TWO:98,THREE:99,FOUR:100,FIVE:101,SIX:102,_ONE:49,_TWO:50,_THREE:51,_FOUR:52,_FIVE:53,_SIX:54};t.keydownListen=function(e){e.shortCut&&e.$el.addEventListener(\"keydown\",function(t){if(t.ctrlKey||t.metaKey||t.altKey||t.shiftKey)if(!t.ctrlKey&&!t.metaKey||t.altKey||t.shiftKey){if((t.ctrlKey||t.metaKey)&&t.altKey&&!t.shiftKey)switch(t.keyCode){case r.S:t.preventDefault(),e.toolbar_left_click(\"superscript\");break;case r.U:t.preventDefault(),e.toolbar_left_click(\"ul\");break;case r.L:t.preventDefault(),e.toolbar_left_click(\"imagelink\");break;case r.C:t.preventDefault(),e.toolbar_left_click(\"code\");break;case r.T:t.preventDefault(),e.toolbar_left_click(\"table\")}else if((t.ctrlKey||t.metaKey)&&t.shiftKey&&!t.altKey)switch(t.keyCode){case r.S:t.preventDefault(),e.toolbar_left_click(\"subscript\");break;case r.D:t.preventDefault(),e.toolbar_left_click(\"strikethrough\");break;case r.L:t.preventDefault(),e.toolbar_left_click(\"alignleft\");break;case r.R:t.preventDefault(),e.toolbar_left_click(\"alignright\");break;case r.C:t.preventDefault(),e.toolbar_left_click(\"aligncenter\")}else if(!t.ctrlKey&&!t.metaKey&&t.shiftKey&&!t.altKey)switch(t.keyCode){case r.TAB:e.$refs.toolbar_left.s_img_link_open||(t.preventDefault(),e.unInsertTab())}}else switch(t.keyCode){case r.B:t.preventDefault(),e.toolbar_left_click(\"bold\");break;case r.I:t.preventDefault(),e.toolbar_left_click(\"italic\");break;case r.H:t.preventDefault(),e.toolbar_left_click(\"header\");break;case r.U:t.preventDefault(),e.toolbar_left_click(\"underline\");break;case r.D:t.preventDefault(),e.toolbar_left_click(\"removeLine\");break;case r.M:t.preventDefault(),e.toolbar_left_click(\"mark\");break;case r.Q:t.preventDefault(),e.toolbar_left_click(\"quote\");break;case r.O:t.preventDefault(),e.toolbar_left_click(\"ol\");break;case r.L:t.preventDefault(),e.toolbar_left_click(\"link\");break;case r.S:t.preventDefault(),e.toolbar_left_click(\"save\");break;case r.Z:t.preventDefault(),e.toolbar_left_click(\"undo\");break;case r.Y:t.preventDefault(),e.toolbar_left_click(\"redo\");break;case r.DELETE:t.preventDefault(),e.toolbar_left_click(\"trash\");break;case r.ONE:t.preventDefault(),e.toolbar_left_click(\"header1\");break;case r.TWO:t.preventDefault(),e.toolbar_left_click(\"header2\");break;case r.THREE:t.preventDefault(),e.toolbar_left_click(\"header3\");break;case r.FOUR:t.preventDefault(),e.toolbar_left_click(\"header4\");break;case r.FIVE:t.preventDefault(),e.toolbar_left_click(\"header5\");break;case r.SIX:t.preventDefault(),e.toolbar_left_click(\"header6\");break;case r._ONE:t.preventDefault(),e.toolbar_left_click(\"header1\");break;case r._TWO:t.preventDefault(),e.toolbar_left_click(\"header2\");break;case r._THREE:t.preventDefault(),e.toolbar_left_click(\"header3\");break;case r._FOUR:t.preventDefault(),e.toolbar_left_click(\"header4\");break;case r._FIVE:t.preventDefault(),e.toolbar_left_click(\"header5\");break;case r._SIX:t.preventDefault(),e.toolbar_left_click(\"header6\")}else switch(t.keyCode){case r.F8:e.toolbars.navigation&&(t.preventDefault(),e.toolbar_right_click(\"navigation\"));break;case r.F9:e.toolbars.preview&&(t.preventDefault(),e.toolbar_right_click(\"preview\"));break;case r.F10:e.toolbars.fullscreen&&(t.preventDefault(),e.toolbar_right_click(\"fullscreen\"));break;case r.F11:e.toolbars.readmodel&&(t.preventDefault(),e.toolbar_right_click(\"read\"));break;case r.F12:e.toolbars.subfield&&(t.preventDefault(),e.toolbar_right_click(\"subfield\"));break;case r.TAB:e.$refs.toolbar_left.s_img_link_open||(t.preventDefault(),e.insertTab());break;case r.ENTER:e.$refs.toolbar_left.s_img_link_open?(t.preventDefault(),e.$refs.toolbar_left.$imgLinkAdd()):e.insertEnter(t)}})}},function(e,t,n){\"use strict\";function r(e){a&&o(e.tokens,[\"inline\",\"html_block\"])}function o(e,t){for(var n=void 0,r=void 0,i=0;i<e.length;i++)-1!==t.indexOf(e[i].type)&&(n=e[i].content,r=e[i].children,e[i].content=a.process(n),r&&r.length&&n!==e[i].content&&o(r,[\"html_inline\"]))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){e.options.html&&(a=new i.FilterXSS(t),e.core.ruler.push(\"mavoneditor_sanitizer\",r))};var i=n(209),a=void 0},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){var e=new h(d),t=e.renderer.rules.link_open||function(e,t,n,r,o){return o.renderToken(e,t,n)};return e.renderer.rules.link_open=function(e,n,r,o,i){var a=e[n].attrIndex(\"href\");if(e[n].attrs[a][1].startsWith(\"#\"))return t(e,n,r,o,i);var s=e[n].attrIndex(\"target\");return s<0?e[n].attrPush([\"target\",\"_blank\"]):e[n].attrs[s][1]=\"_blank\",t(e,n,r,o,i)},e.use(T,L).use(f).use(g).use(_).use(y).use(y,\"hljs-left\").use(y,\"hljs-center\").use(y,\"hljs-right\").use(m).use(b).use(v).use(k).use(w).use(y).use(S).use(A).use(x).use(C),e}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(18),a=r(i);t.initMarkdown=o;var s=n(71),l=r(s),c=n(38),u=n(73),p=r(u),d={html:!0,xhtmlOut:!0,breaks:!0,langPrefix:\"lang-\",linkify:!1,typographer:!0,quotes:\"“”‘’\"},h=n(137),f=n(121),_=n(133),g=n(134),m=n(120),b=n(118),v=n(127),k=n(130),w=n(132),x=n(135),y=n(119),C=n(136),T=n(128),A=n(131),S=n(129),D={},E=[],L={hljs:\"auto\",highlighted:!0,langCheck:function(e){e&&l.default[e]&&!D[e]&&(D[e]=1,E.push(l.default[e]))}};t.default={data:function(){return{markdownIt:null}},created:function(){this.markdownIt=o(),this.html?\"object\"===(0,a.default)(this.xssOptions)&&this.markdownIt.use(p.default,this.xssOptions):(this.markdownIt.set({html:!1}),this.xssOptions=!1)},mounted:function(){L.highlighted=this.ishljs},methods:{$render:function(e,t){var n=this;D={},E=[];var r=this.markdownIt.render(e);this.ishljs&&E.length>0&&n.$_render(e,t,r),t(r)},$_render:function(e,t,n){for(var r=this,o=0,i=0;i<E.length;i++){var a=r.p_external_link.hljs_lang(E[i]);(0,c.loadScript)(a,function(){(o+=1)===E.length&&(n=this.markdownIt.render(e),t(n))})}}},watch:{ishljs:function(e){L.highlighted=e}}}},function(e,t,n){\"use strict\";function r(e){e.d_history_index>0&&e.d_history_index--,e.$nextTick(function(){var t=e.textarea_selectionEnds[e.d_history_index];e.getTextareaDom().selectionStart=t,e.getTextareaDom().selectionEnd=t}),e.getTextareaDom().focus()}function o(e){e.d_history_index<e.d_history.length-1&&e.d_history_index++,e.$nextTick(function(){var t=e.textarea_selectionEnds[e.d_history_index];e.getTextareaDom().selectionStart=t,e.getTextareaDom().selectionEnd=t}),e.getTextareaDom().focus()}function i(e){e.d_value=\"\",e.getTextareaDom().focus()}function a(e){e.save(e.d_value,e.d_render)}function s(e){e.insertOl()}function l(e){e.insertUl()}function c(e){e.removeLine()}function u(e){e.insertCodeBlock()}Object.defineProperty(t,\"__esModule\",{value:!0});t.toolbar_left_addlink=function(e,t,n,r){var o={prefix:\"link\"===e?\"[\"+t+\"](\":\"![\"+t+\"](\",subfix:\")\",str:n};r.insertText(r.getTextareaDom(),o)},t.toolbar_left_click=function(e,t){var n={bold:{prefix:\"**\",subfix:\"**\",str:t.d_words.tl_bold},italic:{prefix:\"*\",subfix:\"*\",str:t.d_words.tl_italic},header:{prefix:\"# \",subfix:\"\",str:t.d_words.tl_header},header1:{prefix:\"# \",subfix:\"\",str:t.d_words.tl_header_one},header2:{prefix:\"## \",subfix:\"\",str:t.d_words.tl_header_two},header3:{prefix:\"### \",subfix:\"\",str:t.d_words.tl_header_three},header4:{prefix:\"#### \",subfix:\"\",str:t.d_words.tl_header_four},header5:{prefix:\"##### \",subfix:\"\",str:t.d_words.tl_header_five},header6:{prefix:\"###### \",subfix:\"\",str:t.d_words.tl_header_six},underline:{prefix:\"++\",subfix:\"++\",str:t.d_words.tl_underline},strikethrough:{prefix:\"~~\",subfix:\"~~\",str:t.d_words.tl_strikethrough},mark:{prefix:\"==\",subfix:\"==\",str:t.d_words.tl_mark},superscript:{prefix:\"^\",subfix:\"^\",str:t.d_words.tl_superscript},subscript:{prefix:\"~\",subfix:\"~\",str:t.d_words.tl_subscript},quote:{prefix:\"> \",subfix:\"\",str:t.d_words.tl_quote},link:{prefix:\"[](\",subfix:\")\",str:t.d_words.tl_link},imagelink:{prefix:\"![](\",subfix:\")\",str:t.d_words.tl_image},table:{prefix:\"\",subfix:\"\",str:\"|column1|column2|column3|\\n|-|-|-|\\n|content1|content2|content3|\\n\"},aligncenter:{prefix:\"::: hljs-center\\n\\n\",subfix:\"\\n\\n:::\\n\",str:t.d_words.tl_aligncenter},alignright:{prefix:\"::: hljs-right\\n\\n\",subfix:\"\\n\\n:::\\n\",str:t.d_words.tl_alignright},alignleft:{prefix:\"::: hljs-left\\n\\n\",subfix:\"\\n\\n:::\\n\",str:t.d_words.tl_alignleft}};n.hasOwnProperty(e)&&t.insertText(t.getTextareaDom(),n[e]);var p={undo:r,redo:o,trash:i,save:a,ol:s,ul:l,removeLine:c,code:u};p.hasOwnProperty(e)&&p[e](t)}},function(e,t,n){\"use strict\";function r(e){e.s_html_code=!e.s_html_code,e.htmlcode&&e.htmlcode(e.s_html_code,e.d_value)}function o(e){e.s_help=!e.s_help,e.helptoggle&&e.helptoggle(e.s_help,e.d_value)}function i(e){var t=e.$refs.vReadModel;t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen()}function a(e){e.s_preview_switch=!e.s_preview_switch,e.previewtoggle&&e.previewtoggle(e.s_preview_switch,e.d_value)}function s(e){e.s_fullScreen=!e.s_fullScreen,e.fullscreen&&e.fullscreen(e.s_fullScreen,e.d_value)}function l(e){e.s_subfield=!e.s_subfield,e.s_preview_switch=e.s_subfield,e.previewtoggle&&e.previewtoggle(e.s_preview_switch,e.d_value),e.subfieldtoggle&&e.subfieldtoggle(e.s_subfield,e.d_value)}function c(e){e.s_navigation=!e.s_navigation,e.s_navigation&&(e.s_preview_switch=!0),e.navigationtoggle&&e.navigationtoggle(e.s_navigation,e.d_value),e.s_navigation&&e.getNavigation(e,!1)}Object.defineProperty(t,\"__esModule\",{value:!0});t.toolbar_right_click=function(e,t){var n={help:o,html:r,read:i,preview:a,fullscreen:s,navigation:c,subfield:l};n.hasOwnProperty(e)&&n[e](t)}},function(e,t,n){\"use strict\";function r(e,t){for(var n in t){var o=(0,s.default)(t[n]);!e[n]||\"Object\"!==o&&\"object\"!==o?e[n]=t[n]:e[n]=r(e[n],t[n])}return e}function o(){var e=window.location.search,t={},n=/[?&][^?&]+=[^?&]+/g,r=e.match(n);return r&&r.forEach(function(e){var n=e.substring(1).split(\"=\"),r=decodeURIComponent(n[0]),o=decodeURIComponent(n[1]);t[r]=o}),t}function i(e){e&&(e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation())}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(18),s=function(e){return e&&e.__esModule?e:{default:e}}(a);t.p_ObjectCopy_DEEP=r,t.p_urlParse=o,t.stopEvent=i},function(e,t,n){e.exports={default:n(80),__esModule:!0}},function(e,t,n){e.exports={default:n(81),__esModule:!0}},function(e,t,n){n(103),n(101),n(104),n(105),e.exports=n(10).Symbol},function(e,t,n){n(102),n(106),e.exports=n(30).f(\"iterator\")},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(6),o=n(99),i=n(98);e.exports=function(e){return function(t,n,a){var s,l=r(t),c=o(l.length),u=i(a,c);if(e&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(82);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)}}},function(e,t,n){var r=n(22),o=n(46),i=n(23);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,s=n(e),l=i.f,c=0;s.length>c;)l.call(e,a=s[c++])&&t.push(a);return t}},function(e,t,n){var r=n(1).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(39);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(39);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t,n){\"use strict\";var r=n(44),o=n(13),i=n(24),a={};n(4)(a,n(7)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+\" Iterator\")}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(14)(\"meta\"),o=n(8),i=n(2),a=n(5).f,s=0,l=Object.isExtensible||function(){return!0},c=!n(11)(function(){return l(Object.preventExtensions({}))}),u=function(e){a(e,r,{value:{i:\"O\"+ ++s,w:{}}})},p=function(e,t){if(!o(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!i(e,r)){if(!l(e))return\"F\";if(!t)return\"E\";u(e)}return e[r].i},d=function(e,t){if(!i(e,r)){if(!l(e))return!0;if(!t)return!1;u(e)}return e[r].w},h=function(e){return c&&f.NEED&&l(e)&&!i(e,r)&&u(e),e},f=e.exports={KEY:r,NEED:!1,fastKey:p,getWeak:d,onFreeze:h}},function(e,t,n){var r=n(5),o=n(9),i=n(22);e.exports=n(3)?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),s=a.length,l=0;s>l;)r.f(e,n=a[l++],t[n]);return e}},function(e,t,n){var r=n(23),o=n(13),i=n(6),a=n(28),s=n(2),l=n(42),c=Object.getOwnPropertyDescriptor;t.f=n(3)?c:function(e,t){if(e=i(e),t=a(t,!0),l)try{return c(e,t)}catch(e){}if(s(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(6),o=n(45).f,i={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return o(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&\"[object Window]\"==i.call(e)?s(e):o(r(e))}},function(e,t,n){var r=n(2),o=n(49),i=n(25)(\"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}},function(e,t,n){var r=n(27),o=n(19);e.exports=function(e){return function(t,n){var i,a,s=String(o(t)),l=r(n),c=s.length;return l<0||l>=c?e?\"\":void 0:(i=s.charCodeAt(l),i<55296||i>56319||l+1===c||(a=s.charCodeAt(l+1))<56320||a>57343?e?s.charAt(l):i:e?s.slice(l,l+2):a-56320+(i-55296<<10)+65536)}}},function(e,t,n){var r=n(27),o=Math.max,i=Math.min;e.exports=function(e,t){return e=r(e),e<0?o(e+t,0):i(e,t)}},function(e,t,n){var r=n(27),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){\"use strict\";var r=n(83),o=n(91),i=n(21),a=n(6);e.exports=n(43)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,o(1)):\"keys\"==t?o(0,n):\"values\"==t?o(0,e[n]):o(0,[n,e[n]])},\"values\"),i.Arguments=i.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t){},function(e,t,n){\"use strict\";var r=n(97)(!0);n(43)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){\"use strict\";var r=n(1),o=n(2),i=n(3),a=n(41),s=n(48),l=n(92).KEY,c=n(11),u=n(26),p=n(24),d=n(14),h=n(7),f=n(30),_=n(29),g=n(86),m=n(89),b=n(9),v=n(8),k=n(49),w=n(6),x=n(28),y=n(13),C=n(44),T=n(95),A=n(94),S=n(46),D=n(5),E=n(22),L=A.f,j=D.f,q=T.f,F=r.Symbol,$=r.JSON,z=$&&$.stringify,M=h(\"_hidden\"),I=h(\"toPrimitive\"),O={}.propertyIsEnumerable,R=u(\"symbol-registry\"),N=u(\"symbols\"),B=u(\"op-symbols\"),H=Object.prototype,P=\"function\"==typeof F&&!!S.f,W=r.QObject,U=!W||!W.prototype||!W.prototype.findChild,V=i&&c(function(){return 7!=C(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=L(H,t);r&&delete H[t],j(e,t,n),r&&e!==H&&j(H,t,r)}:j,G=function(e){var t=N[e]=C(F.prototype);return t._k=e,t},K=P&&\"symbol\"==typeof F.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof F},Z=function(e,t,n){return e===H&&Z(B,t,n),b(e),t=x(t,!0),b(n),o(N,t)?(n.enumerable?(o(e,M)&&e[M][t]&&(e[M][t]=!1),n=C(n,{enumerable:y(0,!1)})):(o(e,M)||j(e,M,y(1,{})),e[M][t]=!0),V(e,t,n)):j(e,t,n)},X=function(e,t){b(e);for(var n,r=g(t=w(t)),o=0,i=r.length;i>o;)Z(e,n=r[o++],t[n]);return e},J=function(e,t){return void 0===t?C(e):X(C(e),t)},Q=function(e){var t=O.call(this,e=x(e,!0));return!(this===H&&o(N,e)&&!o(B,e))&&(!(t||!o(this,e)||!o(N,e)||o(this,M)&&this[M][e])||t)},Y=function(e,t){if(e=w(e),t=x(t,!0),e!==H||!o(N,t)||o(B,t)){var n=L(e,t);return!n||!o(N,t)||o(e,M)&&e[M][t]||(n.enumerable=!0),n}},ee=function(e){for(var t,n=q(w(e)),r=[],i=0;n.length>i;)o(N,t=n[i++])||t==M||t==l||r.push(t);return r},te=function(e){for(var t,n=e===H,r=q(n?B:w(e)),i=[],a=0;r.length>a;)!o(N,t=r[a++])||n&&!o(H,t)||i.push(N[t]);return i};P||(F=function(){if(this instanceof F)throw TypeError(\"Symbol is not a constructor!\");var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===H&&t.call(B,n),o(this,M)&&o(this[M],e)&&(this[M][e]=!1),V(this,e,y(1,n))};return i&&U&&V(H,e,{configurable:!0,set:t}),G(e)},s(F.prototype,\"toString\",function(){return this._k}),A.f=Y,D.f=Z,n(45).f=T.f=ee,n(23).f=Q,S.f=te,i&&!n(12)&&s(H,\"propertyIsEnumerable\",Q,!0),f.f=function(e){return G(h(e))}),a(a.G+a.W+a.F*!P,{Symbol:F});for(var ne=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),re=0;ne.length>re;)h(ne[re++]);for(var oe=E(h.store),ie=0;oe.length>ie;)_(oe[ie++]);a(a.S+a.F*!P,\"Symbol\",{for:function(e){return o(R,e+=\"\")?R[e]:R[e]=F(e)},keyFor:function(e){if(!K(e))throw TypeError(e+\" is not a symbol!\");for(var t in R)if(R[t]===e)return t},useSetter:function(){U=!0},useSimple:function(){U=!1}}),a(a.S+a.F*!P,\"Object\",{create:J,defineProperty:Z,defineProperties:X,getOwnPropertyDescriptor:Y,getOwnPropertyNames:ee,getOwnPropertySymbols:te});var ae=c(function(){S.f(1)});a(a.S+a.F*ae,\"Object\",{getOwnPropertySymbols:function(e){return S.f(k(e))}}),$&&a(a.S+a.F*(!P||c(function(){var e=F();return\"[null]\"!=z([e])||\"{}\"!=z({a:e})||\"{}\"!=z(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(v(t)||void 0!==e)&&!K(e))return m(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!K(t))return t}),r[1]=t,z.apply($,r)}}),F.prototype[I]||n(4)(F.prototype,I,F.prototype.valueOf),p(F,\"Symbol\"),p(Math,\"Math\",!0),p(r.JSON,\"JSON\",!0)},function(e,t,n){n(29)(\"asyncIterator\")},function(e,t,n){n(29)(\"observable\")},function(e,t,n){n(100);for(var r=n(1),o=n(4),i=n(21),a=n(7)(\"toStringTag\"),s=\"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\".split(\",\"),l=0;l<s.length;l++){var c=s[l],u=r[c],p=u&&u.prototype;p&&!p[a]&&o(p,a,c),i[c]=i.Array}},function(e,t,n){t=e.exports=n(15)(!1),t.push([e.i,'\\n.auto-textarea-wrapper {\\n  position: relative;\\n  width: 100%;\\n  margin: 0;\\n  padding: 0;\\n  line-height: normal;\\n}\\n.auto-textarea-wrapper .auto-textarea-block {\\n  display: block;\\n  white-space: pre-wrap;\\n  word-wrap: break-word !important;\\n  visibility: hidden;\\n  overflow: hidden;\\n  margin: 0;\\n  padding: 0;\\n  box-sizing: border-box;\\n  font-size: 100%;\\n}\\n.auto-textarea-wrapper .auto-textarea-input {\\n  font-family: Menlo, \"Ubuntu Mono\", Consolas, \"Courier New\", \"Microsoft Yahei\", \"Hiragino Sans GB\", \"WenQuanYi Micro Hei\", sans-serif;\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  top: 0;\\n  left: 0;\\n  margin: 0;\\n  padding: 0;\\n  overflow-y: hidden;\\n  color: #2c3e50;\\n}\\n.auto-textarea-wrapper .auto-textarea-input.no-border {\\n  outline: 0 none;\\n  border: none !important;\\n}\\n.auto-textarea-wrapper .auto-textarea-input.no-resize {\\n  resize: none;\\n}\\n',\"\"])},function(e,t,n){t=e.exports=n(15)(!1),t.push([e.i,\"\\n.op-icon.dropdown-wrapper.dropdown[data-v-548e2160] {\\n  position: relative;\\n}\\n.op-icon.dropdown-wrapper.dropdown[type=button][data-v-548e2160] {\\n  -webkit-appearance: unset;\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown[data-v-548e2160] {\\n  position: absolute;\\n  display: block;\\n  background: #fff;\\n  top: 32px;\\n  left: -45px;\\n  min-width: 130px;\\n  z-index: 1600;\\n  border: 1px solid #ebeef5;\\n  border-radius: 4px;\\n  box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1);\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown .dropdown-item[data-v-548e2160]:first-child {\\n  border-top-left-radius: 3px;\\n  border-top-right-radius: 3px;\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown .dropdown-item[data-v-548e2160]:last-child {\\n  border-bottom-left-radius: 3px;\\n  border-bottom-right-radius: 3px;\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.op-header[data-v-548e2160] {\\n  left: -30px;\\n  min-width: 90px;\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.fade-enter-active[data-v-548e2160],\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.fade-leave-active[data-v-548e2160] {\\n  opacity: 1;\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.fade-enter[data-v-548e2160],\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.fade-leave-active[data-v-548e2160] {\\n  opacity: 0;\\n}\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.transition[data-v-548e2160],\\n.op-icon.dropdown-wrapper.dropdown .popup-dropdown.transition .dropdown-item[data-v-548e2160] {\\n  -webkit-transition: all 0.2s linear 0s;\\n  transition: all 0.2s linear 0s;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-item[data-v-548e2160] {\\n  height: 40px;\\n  line-height: 40px;\\n  font-size: 14px;\\n  color: #606266;\\n  position: relative;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-item[data-v-548e2160]:hover {\\n  color: #303133;\\n  background-color: #e9e9eb;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-item input[data-v-548e2160] {\\n  position: absolute;\\n  font-size: 100px;\\n  right: 0;\\n  top: 0;\\n  opacity: 0;\\n  cursor: pointer;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images[data-v-548e2160] {\\n  box-sizing: border-box;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images button[data-v-548e2160] {\\n  position: absolute;\\n  top: -1px;\\n  right: 5px;\\n  font-size: 14px;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images button[data-v-548e2160]:hover {\\n  color: #f56c6c;\\n  background-color: transparent;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images span[data-v-548e2160] {\\n  display: inline-block;\\n  width: 80px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images:hover .image-show[data-v-548e2160] {\\n  display: block !important;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images .image-show[data-v-548e2160] {\\n  display: none;\\n  position: absolute;\\n  left: -128px;\\n  top: 0;\\n  width: 120px;\\n  height: 90px;\\n  object-fit: contain;\\n  border: 1px solid #f2f6fc;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images .image-show.transition[data-v-548e2160] {\\n  -webkit-transition: all 0.2s linear 0s;\\n  transition: all 0.2s linear 0s;\\n}\\n.op-icon.dropdown-wrapper.dropdown .dropdown-images.transition[data-v-548e2160] {\\n  -webkit-transition: all 0.2s linear 0s;\\n  transition: all 0.2s linear 0s;\\n}\\n.add-image-link-wrapper[data-v-548e2160] {\\n  position: fixed;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  background: rgba(0,0,0,0.7);\\n  z-index: 1600;\\n  -webkit-transition: all 0.1s linear 0s;\\n  transition: all 0.1s linear 0s;\\n}\\n.add-image-link-wrapper.fade-enter-active[data-v-548e2160],\\n.add-image-link-wrapper.fade-leave-active[data-v-548e2160] {\\n  opacity: 1;\\n}\\n.add-image-link-wrapper.fade-enter[data-v-548e2160],\\n.add-image-link-wrapper.fade-leave-active[data-v-548e2160] {\\n  opacity: 0;\\n}\\n.add-image-link-wrapper .add-image-link[data-v-548e2160] {\\n  position: fixed;\\n  box-sizing: border-box;\\n  text-align: center;\\n  width: 24%;\\n  left: 38%;\\n  height: auto;\\n  padding: 40px;\\n  top: 25%;\\n  -webkit-transition: all 0.1s linear 0s;\\n  transition: all 0.1s linear 0s;\\n  z-index: 3;\\n  background: #fff;\\n  border-radius: 2px;\\n}\\n@media only screen and (max-width: 1500px) {\\n.add-image-link-wrapper .add-image-link[data-v-548e2160] {\\n    width: 34%;\\n    left: 33%;\\n}\\n}\\n@media only screen and (max-width: 1000px) {\\n.add-image-link-wrapper .add-image-link[data-v-548e2160] {\\n    width: 50%;\\n    left: 25%;\\n}\\n}\\n@media only screen and (max-width: 600px) {\\n.add-image-link-wrapper .add-image-link[data-v-548e2160] {\\n    width: 80%;\\n    left: 10%;\\n}\\n}\\n.add-image-link-wrapper .add-image-link i[data-v-548e2160] {\\n  font-size: 24px;\\n  position: absolute;\\n  right: 8px;\\n  top: 6px;\\n  color: rgba(0,0,0,0.7);\\n  cursor: pointer;\\n}\\n.add-image-link-wrapper .add-image-link .title[data-v-548e2160] {\\n  font-size: 20px;\\n  margin-bottom: 30px;\\n  margin-top: 10px;\\n  font-weight: 500 !important;\\n}\\n.add-image-link-wrapper .add-image-link .input-wrapper[data-v-548e2160] {\\n  margin-top: 10px;\\n  width: 80%;\\n  border: 1px solid #eeece8;\\n  text-align: left;\\n  margin-left: 10%;\\n  height: 35px;\\n}\\n.add-image-link-wrapper .add-image-link .input-wrapper input[data-v-548e2160] {\\n  height: 32px;\\n  line-height: 32px;\\n  font-size: 15px;\\n  width: 90%;\\n  margin-left: 8px;\\n  border: none;\\n  outline: none;\\n}\\n.add-image-link-wrapper .add-image-link .op-btn[data-v-548e2160] {\\n  width: 100px;\\n  height: 35px;\\n  display: inline-block;\\n  margin-top: 30px;\\n  cursor: pointer;\\n  text-align: center;\\n  line-height: 35px;\\n  opacity: 0.9;\\n  border-radius: 2px;\\n  letter-spacing: 1px;\\n  font-size: 15px;\\n}\\n.add-image-link-wrapper .add-image-link .op-btn.sure[data-v-548e2160] {\\n  background: #2185d0;\\n  color: #fff;\\n  margin-left: 5%;\\n}\\n.add-image-link-wrapper .add-image-link .op-btn.sure[data-v-548e2160]:hover {\\n  opacity: 1;\\n}\\n.add-image-link-wrapper .add-image-link .op-btn.cancel[data-v-548e2160] {\\n  border: 1px solid #bcbcbc;\\n  color: #bcbcbc;\\n}\\n.add-image-link-wrapper .add-image-link .op-btn.cancel[data-v-548e2160]:hover {\\n  color: #000;\\n}\\n\",\"\"])},function(e,t,n){t=e.exports=n(15)(!1),t.push([e.i,\"\\ntextarea:disabled {\\n  background-color: #fff;\\n}\\n.v-note-wrapper {\\n  position: relative;\\n  min-width: 300px;\\n  min-height: 300px;\\n  display: -webkit-box;\\n  display: -webkit-flex;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-orient: vertical;\\n  -webkit-box-direction: normal;\\n  -webkit-flex-direction: column;\\n      -ms-flex-direction: column;\\n          flex-direction: column;\\n  background-color: #fff;\\n  z-index: 1500;\\n  text-align: left;\\n  border: 1px solid #f2f6fc;\\n  border-radius: 4px;\\n}\\n.v-note-wrapper.fullscreen {\\n  position: fixed;\\n  left: 0;\\n  right: 0;\\n  bottom: 0;\\n  top: 0;\\n  margin: 0;\\n  height: auto;\\n  z-index: 1501;\\n}\\n.v-note-wrapper .v-note-op {\\n  padding: 1px;\\n  width: 100%;\\n  display: -webkit-box;\\n  display: -webkit-flex;\\n  display: -ms-flexbox;\\n  display: flex;\\n  white-space: pre-line;\\n  -webkit-box-flex: 0;\\n  -webkit-flex: none;\\n      -ms-flex: none;\\n          flex: none;\\n  min-height: 40px;\\n  -webkit-user-select: none;\\n      -ms-user-select: none;\\n          user-select: none;\\n  border-bottom: 1px solid #f2f6fc;\\n  border-radius: 4px 4px 0 0;\\n  background-color: #fff;\\n  z-index: 1;\\n}\\n.v-note-wrapper .v-note-op .v-left-item,\\n.v-note-wrapper .v-note-op .v-right-item {\\n  -webkit-box-flex: 1;\\n  -webkit-flex: 1;\\n      -ms-flex: 1;\\n          flex: 1;\\n  min-height: 40px;\\n  box-sizing: border-box;\\n}\\n.v-note-wrapper .v-note-op .v-left-item .op-icon-divider,\\n.v-note-wrapper .v-note-op .v-right-item .op-icon-divider {\\n  height: 40px;\\n  border-left: 1px solid #e5e5e5;\\n  margin: 0 6px 0 4px;\\n}\\n.v-note-wrapper .v-note-op .v-left-item .op-icon,\\n.v-note-wrapper .v-note-op .v-right-item .op-icon {\\n  box-sizing: border-box;\\n  display: inline-block;\\n  cursor: pointer;\\n  height: 28px;\\n  width: 28px;\\n  margin: 6px 0 5px 0px;\\n  font-size: 14px;\\n  padding: 4.5px 6px 5px 3.5px;\\n  color: #757575;\\n  border-radius: 5px;\\n  text-align: center;\\n  background: none;\\n  border: none;\\n  outline: none;\\n  line-height: 1;\\n}\\n.v-note-wrapper .v-note-op .v-left-item .op-icon.dropdown-wrapper,\\n.v-note-wrapper .v-note-op .v-right-item .op-icon.dropdown-wrapper {\\n  line-height: 18px;\\n}\\n.v-note-wrapper .v-note-op .v-left-item .op-icon.selected,\\n.v-note-wrapper .v-note-op .v-right-item .op-icon.selected {\\n  color: rgba(0,0,0,0.8);\\n  background: #eaeaea;\\n}\\n.v-note-wrapper .v-note-op .v-left-item .op-icon:hover,\\n.v-note-wrapper .v-note-op .v-right-item .op-icon:hover {\\n  color: rgba(0,0,0,0.8);\\n  background: #e9e9eb;\\n}\\n.v-note-wrapper .v-note-op .v-left-item.transition .op-icon,\\n.v-note-wrapper .v-note-op .v-right-item.transition .op-icon {\\n  -webkit-transition: all 0.2s linear 0s;\\n  transition: all 0.2s linear 0s;\\n}\\n.v-note-wrapper .v-note-op .v-right-item {\\n  text-align: right;\\n  padding-right: 6px;\\n  max-width: 30%;\\n}\\n.v-note-wrapper .v-note-op .v-left-item {\\n  text-align: left;\\n  padding-left: 6px;\\n}\\n.v-note-wrapper .v-note-panel {\\n  position: relative;\\n  border-top: none;\\n  display: -webkit-box;\\n  display: -webkit-flex;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-flex: 1;\\n  -webkit-flex: 1;\\n      -ms-flex: 1;\\n          flex: 1;\\n  width: 100%;\\n  box-sizing: border-box;\\n  overflow: hidden;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper {\\n  -webkit-box-flex: 0;\\n  -webkit-flex: 0 0 50%;\\n      -ms-flex: 0 0 50%;\\n          flex: 0 0 50%;\\n  width: 50%;\\n  padding: 0;\\n  overflow-y: scroll;\\n  overflow-x: hidden;\\n  box-sizing: border-box;\\n  cursor: text;\\n  border-bottom-left-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.scroll-style::-webkit-scrollbar {\\n  width: 6px;\\n  background-color: #e5e5e5;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.scroll-style::-webkit-scrollbar-thumb {\\n  background-color: #b7b7b7;\\n  border-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.scroll-style::-webkit-scrollbar-thumb:hover {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.scroll-style::-webkit-scrollbar-thumb:active {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.scroll-style::-webkit-scrollbar-track {\\n  -webkit-box-shadow: 0 0 0px #808080 inset;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.scroll-style-border-radius::-webkit-scrollbar {\\n  border-bottom-right-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.transition {\\n  -webkit-transition: all 0.2s linear 0s;\\n  transition: all 0.2s linear 0s;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.single-edit {\\n  width: 100%;\\n  -webkit-box-flex: 0;\\n  -webkit-flex: 0 0 100%;\\n      -ms-flex: 0 0 100%;\\n          flex: 0 0 100%;\\n  overflow-y: auto;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper.single-show {\\n  width: 0;\\n  -webkit-box-flex: 0;\\n  -webkit-flex: 0 0 0;\\n      -ms-flex: 0 0 0px;\\n          flex: 0 0 0;\\n  display: none;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper .content-div {\\n  width: 100%;\\n  padding: 20px 25px;\\n  box-sizing: border-box;\\n  outline: 0 none;\\n  border: none !important;\\n  color: #2c3e50;\\n  font-size: 16px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-edit.divarea-wrapper .content-input-wrapper {\\n  width: 100%;\\n  padding: 8px 25px 15px 25px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show {\\n  -webkit-box-flex: 0;\\n  -webkit-flex: 0 0 50%;\\n      -ms-flex: 0 0 50%;\\n          flex: 0 0 50%;\\n  width: 50%;\\n  overflow-y: auto;\\n  padding: 0 0;\\n  -webkit-transition: all 0.2s linear 0s;\\n  transition: all 0.2s linear 0s;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show.single-show {\\n  -webkit-box-flex: 0;\\n  -webkit-flex: 0 0 100%;\\n      -ms-flex: 0 0 100%;\\n          flex: 0 0 100%;\\n  width: 100%;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html {\\n  width: 100%;\\n  height: 100%;\\n  padding: 8px 25px 15px 25px;\\n  overflow-y: auto;\\n  box-sizing: border-box;\\n  overflow-x: hidden;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content.scroll-style::-webkit-scrollbar,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html.scroll-style::-webkit-scrollbar {\\n  width: 6px;\\n  background-color: #e5e5e5;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content.scroll-style::-webkit-scrollbar-thumb,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html.scroll-style::-webkit-scrollbar-thumb {\\n  background-color: #b7b7b7;\\n  border-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content.scroll-style::-webkit-scrollbar-thumb:hover,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html.scroll-style::-webkit-scrollbar-thumb:hover {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content.scroll-style::-webkit-scrollbar-thumb:active,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html.scroll-style::-webkit-scrollbar-thumb:active {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content.scroll-style::-webkit-scrollbar-track,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html.scroll-style::-webkit-scrollbar-track {\\n  -webkit-box-shadow: 0 0 0px #808080 inset;\\n}\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content.scroll-style-border-radius::-webkit-scrollbar,\\n.v-note-wrapper .v-note-panel .v-note-show .v-show-content-html.scroll-style-border-radius::-webkit-scrollbar {\\n  border-bottom-right-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper {\\n  display: -webkit-box;\\n  display: -webkit-flex;\\n  display: -ms-flexbox;\\n  display: flex;\\n  position: absolute;\\n  width: 250px;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  height: 100%;\\n  -webkit-box-orient: vertical;\\n  -webkit-box-direction: normal;\\n  -webkit-flex-direction: column;\\n      -ms-flex-direction: column;\\n          flex-direction: column;\\n  background-color: rgba(255,255,255,0.98);\\n  border-left: 1px solid #f2f6fc;\\n  border-right: 1px solid #f2f6fc;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper.transition {\\n  -webkit-transition: all 0.1s linear 0s;\\n  transition: all 0.1s linear 0s;\\n}\\n@media only screen and (max-width: 768px) {\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper {\\n    width: 50%;\\n}\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper.slideTop-enter-active,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper.slideTop-leave-active {\\n  height: 100%;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper.slideTop-enter,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper.slideTop-leave-active {\\n  height: 0;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-title {\\n  height: 50px;\\n  width: 100%;\\n  border-bottom: 1px solid #f2f6fc;\\n  -webkit-box-flex: 0;\\n  -webkit-flex: none;\\n      -ms-flex: none;\\n          flex: none;\\n  line-height: 50px;\\n  font-size: 16px;\\n  box-sizing: border-box;\\n  padding: 0 12px 0 18px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-title .v-note-navigation-close {\\n  float: right;\\n  color: #606266;\\n  font-size: 18px;\\n  cursor: pointer;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-title .v-note-navigation-close:hover {\\n  color: #303133;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content {\\n  overflow-y: auto;\\n  -webkit-box-flex: 1;\\n  -webkit-flex: 1;\\n      -ms-flex: 1;\\n          flex: 1;\\n  padding: 8px 0;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content.scroll-style::-webkit-scrollbar {\\n  width: 6px;\\n  background-color: #e5e5e5;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content.scroll-style::-webkit-scrollbar-thumb {\\n  background-color: #b7b7b7;\\n  border-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content.scroll-style::-webkit-scrollbar-thumb:hover {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content.scroll-style::-webkit-scrollbar-thumb:active {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content.scroll-style::-webkit-scrollbar-track {\\n  -webkit-box-shadow: 0 0 0px #808080 inset;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content.scroll-style-border-radius::-webkit-scrollbar {\\n  border-bottom-right-radius: 4px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h1,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h2,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h3,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h4,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h5,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h6 {\\n  margin: 2px 0;\\n  font-weight: 500;\\n  font-size: 17px;\\n  color: #2185d0;\\n  cursor: pointer;\\n  line-height: normal;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  padding: 0 12px;\\n  border-bottom: none;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h1:hover,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h2:hover,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h3:hover,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h4:hover,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h5:hover,\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h6:hover {\\n  color: #483d8b;\\n  -webkit-text-decoration-line: underline;\\n          text-decoration-line: underline;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h2 {\\n  padding-left: 27px;\\n  font-size: 17px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h3 {\\n  padding-left: 42px;\\n  font-size: 17px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h4 {\\n  padding-left: 58px;\\n  font-size: 15px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h5 {\\n  padding-left: 72px;\\n  font-size: 15px;\\n}\\n.v-note-wrapper .v-note-panel .v-note-navigation-wrapper .v-note-navigation-content h6 {\\n  padding-left: 87px;\\n  font-size: 15px;\\n}\\n.v-note-wrapper .v-note-read-model {\\n  position: relative;\\n  display: none;\\n  width: 100%;\\n  height: 100%;\\n  background: #fbfbfb;\\n  padding: 30px 8% 50px 8%;\\n  overflow-y: auto;\\n  box-sizing: border-box;\\n}\\n.v-note-wrapper .v-note-read-model.scroll-style::-webkit-scrollbar {\\n  width: 6px;\\n  background-color: #e5e5e5;\\n}\\n.v-note-wrapper .v-note-read-model.scroll-style::-webkit-scrollbar-thumb {\\n  background-color: #b7b7b7;\\n  border-radius: 4px;\\n}\\n.v-note-wrapper .v-note-read-model.scroll-style::-webkit-scrollbar-thumb:hover {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-read-model.scroll-style::-webkit-scrollbar-thumb:active {\\n  background-color: #a1a1a1;\\n}\\n.v-note-wrapper .v-note-read-model.scroll-style::-webkit-scrollbar-track {\\n  -webkit-box-shadow: 0 0 0px #808080 inset;\\n}\\n.v-note-wrapper .v-note-read-model.scroll-style-border-radius::-webkit-scrollbar {\\n  border-bottom-right-radius: 4px;\\n}\\n.v-note-wrapper .v-note-read-model.show {\\n  display: block;\\n}\\n.v-note-wrapper.shadow {\\n  border: none;\\n}\\n.v-note-help-wrapper {\\n  position: fixed;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  background: rgba(0,0,0,0.7);\\n  z-index: 1600;\\n  -webkit-transition: all 0.1s linear 0s;\\n  transition: all 0.1s linear 0s;\\n}\\n.v-note-help-wrapper.fade-enter-active,\\n.v-note-help-wrapper.fade-leave-active {\\n  opacity: 1;\\n}\\n.v-note-help-wrapper.fade-enter,\\n.v-note-help-wrapper.fade-leave-active {\\n  opacity: 0;\\n}\\n.v-note-help-wrapper .v-note-help-content {\\n  position: relative;\\n  width: 60%;\\n  max-width: 800px;\\n  margin: 30px auto;\\n  height: 90%;\\n  min-width: 320px;\\n  -webkit-transition: all 0.1s linear 0s;\\n  transition: all 0.1s linear 0s;\\n  z-index: 3;\\n  border: 1px solid #f2f6fc;\\n}\\n.v-note-help-wrapper .v-note-help-content.shadow {\\n  border: none;\\n  box-shadow: 0 0px 5px rgba(0,0,0,0.157), 0 0px 5px rgba(0,0,0,0.227);\\n}\\n.v-note-help-wrapper .v-note-help-content i {\\n  font-size: 28px;\\n  position: absolute;\\n  right: 15px;\\n  top: 8px;\\n  color: rgba(0,0,0,0.7);\\n  cursor: pointer;\\n}\\n.v-note-help-wrapper .v-note-help-content i:hover {\\n  color: #000;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show {\\n  width: 100%;\\n  height: 100%;\\n  font-size: 18px;\\n  background: #fbfbfb;\\n  overflow-y: auto;\\n  padding: 2% 6%;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show.scroll-style::-webkit-scrollbar {\\n  width: 6px;\\n  background-color: #e5e5e5;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show.scroll-style::-webkit-scrollbar-thumb {\\n  background-color: #b7b7b7;\\n  border-radius: 4px;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show.scroll-style::-webkit-scrollbar-thumb:hover {\\n  background-color: #a1a1a1;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show.scroll-style::-webkit-scrollbar-thumb:active {\\n  background-color: #a1a1a1;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show.scroll-style::-webkit-scrollbar-track {\\n  -webkit-box-shadow: 0 0 0px #808080 inset;\\n}\\n.v-note-help-wrapper .v-note-help-content .v-note-help-show.scroll-style-border-radius::-webkit-scrollbar {\\n  border-bottom-right-radius: 4px;\\n}\\n.v-note-img-wrapper {\\n  position: fixed;\\n  display: -webkit-box;\\n  display: -webkit-flex;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: center;\\n  -webkit-justify-content: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  -webkit-box-align: center;\\n  -webkit-align-items: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  background: rgba(0,0,0,0.7);\\n  z-index: 1600;\\n  -webkit-transition: all 0.1s linear 0s;\\n  transition: all 0.1s linear 0s;\\n}\\n.v-note-img-wrapper.fade-enter-active,\\n.v-note-img-wrapper.fade-leave-active {\\n  opacity: 1;\\n}\\n.v-note-img-wrapper.fade-enter,\\n.v-note-img-wrapper.fade-leave-active {\\n  opacity: 0;\\n}\\n.v-note-img-wrapper img {\\n  -webkit-box-flex: 0;\\n  -webkit-flex: 0 0 auto;\\n      -ms-flex: 0 0 auto;\\n          flex: 0 0 auto;\\n  z-index: 3;\\n}\\n.v-note-img-wrapper i {\\n  font-size: 28px;\\n  position: absolute;\\n  right: 15px;\\n  top: 8px;\\n  color: rgba(255,255,255,0.7);\\n  cursor: pointer;\\n}\\n.v-note-img-wrapper i:hover {\\n  color: #fff;\\n}\\n\",\"\"])},function(e,t,n){t=e.exports=n(15)(!1),t.push([e.i,\"\\n.auto-textarea-wrapper[data-v-7a63e4b3] {\\n    height: 100%;\\n}\\n\",\"\"])},function(e,t,n){function r(e){return void 0===e||null===e}function o(e){var t={};for(var n in e)t[n]=e[n];return t}function i(e){e=o(e||{}),e.whiteList=e.whiteList||a.whiteList,e.onAttr=e.onAttr||a.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||a.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||a.safeAttrValue,this.options=e}var a=n(50),s=n(112);n(51);i.prototype.process=function(e){if(e=e||\"\",!(e=e.toString()))return\"\";var t=this,n=t.options,o=n.whiteList,i=n.onAttr,a=n.onIgnoreAttr,l=n.safeAttrValue;return s(e,function(e,t,n,s,c){var u=o[n],p=!1;if(!0===u?p=u:\"function\"==typeof u?p=u(s):u instanceof RegExp&&(p=u.test(s)),!0!==p&&(p=!1),s=l(n,s)){var d={position:t,sourcePosition:e,source:c,isWhite:p};if(p){var h=i(n,s,d);return r(h)?n+\":\"+s:h}var h=a(n,s,d);return r(h)?void 0:h}})},e.exports=i},function(e,t,n){function r(e,t){function n(){if(!i){var n=o.trim(e.slice(a,s)),r=n.indexOf(\":\");if(-1!==r){var c=o.trim(n.slice(0,r)),u=o.trim(n.slice(r+1));if(c){var p=t(a,l.length,c,u,n);p&&(l+=p+\"; \")}}}a=s+1}e=o.trimRight(e),\";\"!==e[e.length-1]&&(e+=\";\");for(var r=e.length,i=!1,a=0,s=0,l=\"\";s<r;s++){var c=e[s];if(\"/\"===c&&\"*\"===e[s+1]){var u=e.indexOf(\"*/\",s+2);if(-1===u)break;s=u+1,a=s+1,i=!1}else\"(\"===c?i=!0:\")\"===c?i=!1:\";\"===c?i||n():\"\\n\"===c&&n()}return o.trim(l)}var o=n(51);e.exports=r},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"⁡\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",amp:\"&\",AMP:\"&\",andand:\"⩕\",And:\"⩓\",and:\"∧\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angmsd:\"∡\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",apacir:\"⩯\",ap:\"≈\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"⁡\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",barwed:\"⌅\",Barwed:\"⌆\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",because:\"∵\",Because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxdl:\"┐\",boxdL:\"╕\",boxDl:\"╖\",boxDL:\"╗\",boxdr:\"┌\",boxdR:\"╒\",boxDr:\"╓\",boxDR:\"╔\",boxh:\"─\",boxH:\"═\",boxhd:\"┬\",boxHd:\"╤\",boxhD:\"╥\",boxHD:\"╦\",boxhu:\"┴\",boxHu:\"╧\",boxhU:\"╨\",boxHU:\"╩\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxul:\"┘\",boxuL:\"╛\",boxUl:\"╜\",boxUL:\"╝\",boxur:\"└\",boxuR:\"╘\",boxUr:\"╙\",boxUR:\"╚\",boxv:\"│\",boxV:\"║\",boxvh:\"┼\",boxvH:\"╪\",boxVh:\"╫\",boxVH:\"╬\",boxvl:\"┤\",boxvL:\"╡\",boxVl:\"╢\",boxVL:\"╣\",boxvr:\"├\",boxvR:\"╞\",boxVr:\"╟\",boxVR:\"╠\",bprime:\"‵\",breve:\"˘\",Breve:\"˘\",brvbar:\"¦\",bscr:\"𝒷\",Bscr:\"ℬ\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsolb:\"⧅\",bsol:\"\\\\\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",cap:\"∩\",Cap:\"⋒\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",centerdot:\"·\",CenterDot:\"·\",cfr:\"𝔠\",Cfr:\"ℭ\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cir:\"○\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",colon:\":\",Colon:\"∷\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",conint:\"∮\",Conint:\"∯\",ContourIntegral:\"∮\",copf:\"𝕔\",Copf:\"ℂ\",coprod:\"∐\",Coproduct:\"∐\",copy:\"©\",COPY:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",cross:\"✗\",Cross:\"⨯\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",cupbrcap:\"⩈\",cupcap:\"⩆\",CupCap:\"≍\",cup:\"∪\",Cup:\"⋓\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",dagger:\"†\",Dagger:\"‡\",daleth:\"ℸ\",darr:\"↓\",Darr:\"↡\",dArr:\"⇓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",ddagger:\"‡\",ddarr:\"⇊\",DD:\"ⅅ\",dd:\"ⅆ\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",diamond:\"⋄\",Diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrowBar:\"⤓\",downarrow:\"↓\",DownArrow:\"↓\",Downarrow:\"⇓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVectorBar:\"⥖\",DownLeftVector:\"↽\",DownRightTeeVector:\"⥟\",DownRightVectorBar:\"⥗\",DownRightVector:\"⇁\",DownTeeArrow:\"↧\",DownTee:\"⊤\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",Ecirc:\"Ê\",ecirc:\"ê\",ecir:\"≖\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",edot:\"ė\",eDot:\"≑\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp13:\" \",emsp14:\" \",emsp:\" \",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\" \",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",escr:\"ℯ\",Escr:\"ℰ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",exponentiale:\"ⅇ\",ExponentialE:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ﬃ\",fflig:\"ﬀ\",ffllig:\"ﬄ\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"ﬁ\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"ﬂ\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",forall:\"∀\",ForAll:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",fscr:\"𝒻\",Fscr:\"ℱ\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",ge:\"≥\",gE:\"≧\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",gescc:\"⪩\",ges:\"⩾\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",gg:\"≫\",Gg:\"⋙\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gla:\"⪥\",gl:\"≷\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gne:\"⪈\",gnE:\"≩\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",gtcc:\"⪧\",gtcir:\"⩺\",gt:\">\",GT:\">\",Gt:\"≫\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\" \",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",harrcir:\"⥈\",harr:\"↔\",hArr:\"⇔\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",hfr:\"𝔥\",Hfr:\"ℌ\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",hopf:\"𝕙\",Hopf:\"ℍ\",horbar:\"―\",HorizontalLine:\"─\",hscr:\"𝒽\",Hscr:\"ℋ\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"⁣\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",ifr:\"𝔦\",Ifr:\"ℑ\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"Ĳ\",ijlig:\"ĳ\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",Im:\"ℑ\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",incare:\"℅\",in:\"∈\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",intcal:\"⊺\",int:\"∫\",Int:\"∬\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"⁣\",InvisibleTimes:\"⁢\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",iscr:\"𝒾\",Iscr:\"ℐ\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"⁢\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",lang:\"⟨\",Lang:\"⟪\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",larrb:\"⇤\",larrbfs:\"⤟\",larr:\"←\",Larr:\"↞\",lArr:\"⇐\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",latail:\"⤙\",lAtail:\"⤛\",lat:\"⪫\",late:\"⪭\",lates:\"⪭︀\",lbarr:\"⤌\",lBarr:\"⤎\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",le:\"≤\",lE:\"≦\",LeftAngleBracket:\"⟨\",LeftArrowBar:\"⇤\",leftarrow:\"←\",LeftArrow:\"←\",Leftarrow:\"⇐\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVectorBar:\"⥙\",LeftDownVector:\"⇃\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",leftrightarrow:\"↔\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTeeArrow:\"↤\",LeftTee:\"⊣\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangleBar:\"⧏\",LeftTriangle:\"⊲\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVectorBar:\"⥘\",LeftUpVector:\"↿\",LeftVectorBar:\"⥒\",LeftVector:\"↼\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",lescc:\"⪨\",les:\"⩽\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",llarr:\"⇇\",ll:\"≪\",Ll:\"⋘\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoustache:\"⎰\",lmoust:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lne:\"⪇\",lnE:\"≨\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",longleftarrow:\"⟵\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftrightarrow:\"⟷\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longmapsto:\"⟼\",longrightarrow:\"⟶\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"‎\",lrtri:\"⊿\",lsaquo:\"‹\",lscr:\"𝓁\",Lscr:\"ℒ\",lsh:\"↰\",Lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",ltcc:\"⪦\",ltcir:\"⩹\",lt:\"<\",LT:\"<\",Lt:\"≪\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\" \",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",midast:\"*\",midcir:\"⫰\",mid:\"∣\",middot:\"·\",minusb:\"⊟\",minus:\"−\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",mscr:\"𝓂\",Mscr:\"ℳ\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ŉ\",napprox:\"≉\",natural:\"♮\",naturals:\"ℕ\",natur:\"♮\",nbsp:\" \",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",nearhk:\"⤤\",nearr:\"↗\",neArr:\"⇗\",nearrow:\"↗\",ne:\"≠\",nedot:\"≐̸\",NegativeMediumSpace:\"​\",NegativeThickSpace:\"​\",NegativeThinSpace:\"​\",NegativeVeryThinSpace:\"​\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nharr:\"↮\",nhArr:\"⇎\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlarr:\"↚\",nlArr:\"⇍\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nleftarrow:\"↚\",nLeftarrow:\"⇍\",nleftrightarrow:\"↮\",nLeftrightarrow:\"⇎\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"⁠\",NonBreakingSpace:\" \",nopf:\"𝕟\",Nopf:\"ℕ\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangle:\"⋪\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangleBar:\"⧐̸\",NotRightTriangle:\"⋫\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",nparallel:\"∦\",npar:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",nprec:\"⊀\",npreceq:\"⪯̸\",npre:\"⪯̸\",nrarrc:\"⤳̸\",nrarr:\"↛\",nrArr:\"⇏\",nrarrw:\"↝̸\",nrightarrow:\"↛\",nRightarrow:\"⇏\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\" \",nvap:\"≍⃒\",nvdash:\"⊬\",nvDash:\"⊭\",nVdash:\"⊮\",nVDash:\"⊯\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwarr:\"↖\",nwArr:\"⇖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",Ocirc:\"Ô\",ocirc:\"ô\",ocir:\"⊚\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",orarr:\"↻\",Or:\"⩔\",or:\"∨\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",otimesas:\"⨶\",Otimes:\"⨷\",otimes:\"⊗\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",para:\"¶\",parallel:\"∥\",par:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plus:\"+\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",popf:\"𝕡\",Popf:\"ℙ\",pound:\"£\",prap:\"⪷\",Pr:\"⪻\",pr:\"≺\",prcue:\"≼\",precapprox:\"⪷\",prec:\"≺\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",pre:\"⪯\",prE:\"⪳\",precsim:\"≾\",prime:\"′\",Prime:\"″\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportional:\"∝\",Proportion:\"∷\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\" \",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",qopf:\"𝕢\",Qopf:\"ℚ\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",quot:'\"',QUOT:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",rang:\"⟩\",Rang:\"⟫\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarr:\"→\",Rarr:\"↠\",rArr:\"⇒\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",ratail:\"⤚\",rAtail:\"⤜\",ratio:\"∶\",rationals:\"ℚ\",rbarr:\"⤍\",rBarr:\"⤏\",RBarr:\"⤐\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",Re:\"ℜ\",rect:\"▭\",reg:\"®\",REG:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",rfr:\"𝔯\",Rfr:\"ℜ\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrowBar:\"⇥\",rightarrow:\"→\",RightArrow:\"→\",Rightarrow:\"⇒\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVectorBar:\"⥕\",RightDownVector:\"⇂\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTeeArrow:\"↦\",RightTee:\"⊢\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangleBar:\"⧐\",RightTriangle:\"⊳\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVectorBar:\"⥔\",RightUpVector:\"↾\",RightVectorBar:\"⥓\",RightVector:\"⇀\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"‏\",rmoustache:\"⎱\",rmoust:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",ropf:\"𝕣\",Ropf:\"ℝ\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",rscr:\"𝓇\",Rscr:\"ℛ\",rsh:\"↱\",Rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",Sc:\"⪼\",sc:\"≻\",sccue:\"≽\",sce:\"⪰\",scE:\"⪴\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdotb:\"⊡\",sdot:\"⋅\",sdote:\"⩦\",searhk:\"⤥\",searr:\"↘\",seArr:\"⇘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"­\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",solbar:\"⌿\",solb:\"⧄\",sol:\"/\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",square:\"□\",Square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squ:\"□\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",sub:\"⊂\",Sub:\"⋐\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",subset:\"⊂\",Subset:\"⋐\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succapprox:\"⪸\",succ:\"≻\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",sum:\"∑\",Sum:\"∑\",sung:\"♪\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",sup:\"⊃\",Sup:\"⋑\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",supset:\"⊃\",Supset:\"⋑\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swarr:\"↙\",swArr:\"⇙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",therefore:\"∴\",Therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"  \",ThinSpace:\" \",thinsp:\" \",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",tilde:\"˜\",Tilde:\"∼\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",timesbar:\"⨱\",timesb:\"⊠\",times:\"×\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",topbot:\"⌶\",topcir:\"⫱\",top:\"⊤\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",trade:\"™\",TRADE:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",uarr:\"↑\",Uarr:\"↟\",uArr:\"⇑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrowBar:\"⤒\",uparrow:\"↑\",UpArrow:\"↑\",Uparrow:\"⇑\",UpArrowDownArrow:\"⇅\",updownarrow:\"↕\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",upsi:\"υ\",Upsi:\"ϒ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTeeArrow:\"↥\",UpTee:\"⊥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",varr:\"↕\",vArr:\"⇕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",vBar:\"⫨\",Vbar:\"⫫\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",vdash:\"⊢\",vDash:\"⊨\",Vdash:\"⊩\",VDash:\"⊫\",Vdashl:\"⫦\",veebar:\"⊻\",vee:\"∨\",Vee:\"⋁\",veeeq:\"≚\",vellip:\"⋮\",verbar:\"|\",Verbar:\"‖\",vert:\"|\",Vert:\"‖\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\" \",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",wedge:\"∧\",Wedge:\"⋀\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xharr:\"⟷\",xhArr:\"⟺\",Xi:\"Ξ\",xi:\"ξ\",xlarr:\"⟵\",xlArr:\"⟸\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrarr:\"⟶\",xrArr:\"⟹\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",yuml:\"ÿ\",Yuml:\"Ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"​\",Zeta:\"Ζ\",zeta:\"ζ\",zfr:\"𝔷\",Zfr:\"ℨ\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",zopf:\"𝕫\",Zopf:\"ℤ\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"‍\",zwnj:\"‌\"}},function(e,t){},function(e,t){},function(e,t,n){\"use strict\";function r(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){t&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e}function o(e){return Object.prototype.toString.call(e)}function i(e){return\"[object String]\"===o(e)}function a(e){return\"[object Object]\"===o(e)}function s(e){return\"[object RegExp]\"===o(e)}function l(e){return\"[object Function]\"===o(e)}function c(e){return e.replace(/[.?*+^$[\\]\\\\(){}|-]/g,\"\\\\$&\")}function u(e){return Object.keys(e||{}).reduce(function(e,t){return e||b.hasOwnProperty(t)},!1)}function p(e){e.__index__=-1,e.__text_cache__=\"\"}function d(e){return function(t,n){var r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function h(){return function(e,t){t.normalize(e)}}function f(e){function t(e){return e.replace(\"%TLDS%\",o.src_tlds)}function r(e,t){throw new Error('(LinkifyIt) Invalid schema \"'+e+'\": '+t)}var o=e.re=n(117)(e.__opts__),u=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||u.push(k),u.push(o.src_xn),o.src_tlds=u.join(\"|\"),o.email_fuzzy=RegExp(t(o.tpl_email_fuzzy),\"i\"),o.link_fuzzy=RegExp(t(o.tpl_link_fuzzy),\"i\"),o.link_no_ip_fuzzy=RegExp(t(o.tpl_link_no_ip_fuzzy),\"i\"),o.host_fuzzy_test=RegExp(t(o.tpl_host_fuzzy_test),\"i\");var f=[];e.__compiled__={},Object.keys(e.__schemas__).forEach(function(t){var n=e.__schemas__[t];if(null!==n){var o={validate:null,link:null};return e.__compiled__[t]=o,a(n)?(s(n.validate)?o.validate=d(n.validate):l(n.validate)?o.validate=n.validate:r(t,n),void(l(n.normalize)?o.normalize=n.normalize:n.normalize?r(t,n):o.normalize=h())):i(n)?void f.push(t):void r(t,n)}}),f.forEach(function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)}),e.__compiled__[\"\"]={validate:null,normalize:h()};var _=Object.keys(e.__compiled__).filter(function(t){return t.length>0&&e.__compiled__[t]}).map(c).join(\"|\");e.re.schema_test=RegExp(\"(^|(?!_)(?:[><｜]|\"+o.src_ZPCc+\"))(\"+_+\")\",\"i\"),e.re.schema_search=RegExp(\"(^|(?!_)(?:[><｜]|\"+o.src_ZPCc+\"))(\"+_+\")\",\"ig\"),e.re.pretest=RegExp(\"(\"+e.re.schema_test.source+\")|(\"+e.re.host_fuzzy_test.source+\")|@\",\"i\"),p(e)}function _(e,t){var n=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function g(e,t){var n=new _(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function m(e,t){if(!(this instanceof m))return new m(e,t);t||u(e)&&(t=e,e={}),this.__opts__=r({},b,t),this.__index__=-1,this.__last_index__=-1,this.__schema__=\"\",this.__text_cache__=\"\",this.__schemas__=r({},v,e),this.__compiled__={},this.__tlds__=w,this.__tlds_replaced__=!1,this.re={},f(this)}var b={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1},v={\"http:\":{validate:function(e,t,n){var r=e.slice(t);return n.re.http||(n.re.http=new RegExp(\"^\\\\/\\\\/\"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,\"i\")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},\"https:\":\"http:\",\"ftp:\":\"http:\",\"//\":{validate:function(e,t,n){var r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp(\"^\"+n.re.src_auth+\"(?:localhost|(?:(?:\"+n.re.src_domain+\")\\\\.)+\"+n.re.src_domain_root+\")\"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,\"i\")),n.re.no_http.test(r)?t>=3&&\":\"===e[t-3]?0:t>=3&&\"/\"===e[t-3]?0:r.match(n.re.no_http)[0].length:0}},\"mailto:\":{validate:function(e,t,n){var r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp(\"^\"+n.re.src_email_name+\"@\"+n.re.src_host_strict,\"i\")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},k=\"a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]\",w=\"biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\".split(\"|\");m.prototype.add=function(e,t){return this.__schemas__[e]=t,f(this),this},m.prototype.set=function(e){return this.__opts__=r(this.__opts__,e),this},m.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,r,o,i,a,s,l;if(this.re.schema_test.test(e))for(s=this.re.schema_search,s.lastIndex=0;null!==(t=s.exec(e));)if(o=this.testSchemaAt(e,t[2],s.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o;break}return this.__opts__.fuzzyLink&&this.__compiled__[\"http:\"]&&(l=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||l<this.__index__)&&null!==(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))&&(i=n.index+n[1].length,(this.__index__<0||i<this.__index__)&&(this.__schema__=\"\",this.__index__=i,this.__last_index__=n.index+n[0].length)),this.__opts__.fuzzyEmail&&this.__compiled__[\"mailto:\"]&&e.indexOf(\"@\")>=0&&null!==(r=e.match(this.re.email_fuzzy))&&(i=r.index+r[1].length,a=r.index+r[0].length,(this.__index__<0||i<this.__index__||i===this.__index__&&a>this.__last_index__)&&(this.__schema__=\"mailto:\",this.__index__=i,this.__last_index__=a)),this.__index__>=0},m.prototype.pretest=function(e){return this.re.pretest.test(e)},m.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},m.prototype.match=function(e){var t=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(g(this,t)),t=this.__last_index__);for(var r=t?e.slice(t):e;this.test(r);)n.push(g(this,t)),r=r.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},m.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,t,n){return e!==n[t-1]}).reverse(),f(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,f(this),this)},m.prototype.normalize=function(e){e.schema||(e.url=\"http://\"+e.url),\"mailto:\"!==e.schema||/^mailto:/i.test(e.url)||(e.url=\"mailto:\"+e.url)},m.prototype.onCompile=function(){},e.exports=m},function(e,t,n){\"use strict\";e.exports=function(e){var t={};t.src_Any=n(59).source,t.src_Cc=n(57).source,t.src_Z=n(58).source,t.src_P=n(34).source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join(\"|\"),t.src_ZCc=[t.src_Z,t.src_Cc].join(\"|\");return t.src_pseudo_letter=\"(?:(?![><｜]|\"+t.src_ZPCc+\")\"+t.src_Any+\")\",t.src_ip4=\"(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\",t.src_auth=\"(?:(?:(?!\"+t.src_ZCc+\"|[@/\\\\[\\\\]()]).)+@)?\",t.src_port=\"(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?\",t.src_host_terminator=\"(?=$|[><｜]|\"+t.src_ZPCc+\")(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|\"+t.src_ZPCc+\"))\",t.src_path=\"(?:[/?#](?:(?!\"+t.src_ZCc+\"|[><｜]|[()[\\\\]{}.,\\\"'?!\\\\-]).|\\\\[(?:(?!\"+t.src_ZCc+\"|\\\\]).)*\\\\]|\\\\((?:(?!\"+t.src_ZCc+\"|[)]).)*\\\\)|\\\\{(?:(?!\"+t.src_ZCc+'|[}]).)*\\\\}|\\\\\"(?:(?!'+t.src_ZCc+'|[\"]).)+\\\\\"|\\\\\\'(?:(?!'+t.src_ZCc+\"|[']).)+\\\\'|\\\\'(?=\"+t.src_pseudo_letter+\"|[-]).|\\\\.{2,4}[a-zA-Z0-9%/]|\\\\.(?!\"+t.src_ZCc+\"|[.]).|\"+(e&&e[\"---\"]?\"\\\\-(?!--(?:[^-]|$))(?:-*)|\":\"\\\\-+|\")+\"\\\\,(?!\"+t.src_ZCc+\").|\\\\!(?!\"+t.src_ZCc+\"|[!]).|\\\\?(?!\"+t.src_ZCc+\"|[?]).)+|\\\\/)?\",t.src_email_name='[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*',t.src_xn=\"xn--[a-z0-9\\\\-]{1,59}\",t.src_domain_root=\"(?:\"+t.src_xn+\"|\"+t.src_pseudo_letter+\"{1,63})\",t.src_domain=\"(?:\"+t.src_xn+\"|(?:\"+t.src_pseudo_letter+\")|(?:\"+t.src_pseudo_letter+\"(?:-|\"+t.src_pseudo_letter+\"){0,61}\"+t.src_pseudo_letter+\"))\",t.src_host=\"(?:(?:(?:(?:\"+t.src_domain+\")\\\\.)*\"+t.src_domain+\"))\",t.tpl_host_fuzzy=\"(?:\"+t.src_ip4+\"|(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%)))\",t.tpl_host_no_ip_fuzzy=\"(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%))\",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test=\"localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:\"+t.src_ZPCc+\"|>|$))\",t.tpl_email_fuzzy='(^|[><｜]|\"|\\\\(|'+t.src_ZCc+\")(\"+t.src_email_name+\"@\"+t.tpl_host_fuzzy_strict+\")\",t.tpl_link_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`|｜]|\"+t.src_ZPCc+\"))((?![$+<=>^`|｜])\"+t.tpl_host_port_fuzzy_strict+t.src_path+\")\",t.tpl_link_no_ip_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`|｜]|\"+t.src_ZPCc+\"))((?![$+<=>^`|｜])\"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+\")\",t}},function(e,t,n){\"use strict\";e.exports=function(e){function t(e,t,n,r){var o,i,a,s,l,c=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(c+2>=u)return!1;if(42!==e.src.charCodeAt(c++))return!1;if(91!==e.src.charCodeAt(c++))return!1;for(s=c;c<u;c++){if(91===(a=e.src.charCodeAt(c)))return!1;if(93===a){l=c;break}92===a&&c++}return!(l<0||58!==e.src.charCodeAt(l+1))&&(!!r||(o=e.src.slice(s,l).replace(/\\\\(.)/g,\"$1\"),i=e.src.slice(l+2,u).trim(),0!==o.length&&(0!==i.length&&(e.env.abbreviations||(e.env.abbreviations={}),void 0===e.env.abbreviations[\":\"+o]&&(e.env.abbreviations[\":\"+o]=i),e.line=t+1,!0))))}function n(e){var t,n,l,c,u,p,d,h,f,_,g,m,b,v=e.tokens;if(e.env.abbreviations)for(m=new RegExp(\"(?:\"+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(r).join(\"|\")+\")\"),g=\"(^|\"+a+\"|\"+s+\"|[\"+i.split(\"\").map(r).join(\"\")+\"])(\"+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(r).join(\"|\")+\")($|\"+a+\"|\"+s+\"|[\"+i.split(\"\").map(r).join(\"\")+\"])\",f=new RegExp(g,\"g\"),n=0,l=v.length;n<l;n++)if(\"inline\"===v[n].type)for(c=v[n].children,t=c.length-1;t>=0;t--)if(b=c[t],\"text\"===b.type&&(h=0,p=b.content,f.lastIndex=0,d=[],m.test(p))){for(;_=f.exec(p);)(_.index>0||_[1].length>0)&&(u=new e.Token(\"text\",\"\",0),u.content=p.slice(h,_.index+_[1].length),d.push(u)),u=new e.Token(\"abbr_open\",\"abbr\",1),u.attrs=[[\"title\",e.env.abbreviations[\":\"+_[2]]]],d.push(u),u=new e.Token(\"text\",\"\",0),u.content=_[2],d.push(u),u=new e.Token(\"abbr_close\",\"abbr\",-1),d.push(u),f.lastIndex-=_[3].length,h=f.lastIndex;d.length&&(h<p.length&&(u=new e.Token(\"text\",\"\",0),u.content=p.slice(h),d.push(u)),v[n].children=c=o(c,t,d))}}var r=e.utils.escapeRE,o=e.utils.arrayReplaceAt,i=\" \\r\\n$+<=>^`|~\",a=e.utils.lib.ucmicro.P.source,s=e.utils.lib.ucmicro.Z.source;e.block.ruler.before(\"reference\",\"abbr_def\",t,{alt:[\"paragraph\",\"reference\"]}),e.core.ruler.after(\"linkify\",\"abbr_replace\",n)}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){function r(e){return e.trim().split(\" \",2)[0]===t}function o(e,n,r,o,i){return 1===e[n].nesting&&e[n].attrPush([\"class\",t]),i.renderToken(e,n,r,o,i)}function i(e,n,r,o){var i,p,d,h,f,_,g,m,b=!1,v=e.bMarks[n]+e.tShift[n],k=e.eMarks[n];if(l!==e.src.charCodeAt(v))return!1;for(i=v+1;i<=k&&s[(i-v)%c]===e.src[i];i++);if((d=Math.floor((i-v)/c))<a)return!1;if(i-=(i-v)%c,h=e.src.slice(v,i),f=e.src.slice(i,k),!u(f))return!1;if(o)return!0;for(p=n;!(++p>=r)&&(v=e.bMarks[p]+e.tShift[p],k=e.eMarks[p],!(v<k&&e.sCount[p]<e.blkIndent));)if(l===e.src.charCodeAt(v)&&!(e.sCount[p]-e.blkIndent>=4)){for(i=v+1;i<=k&&s[(i-v)%c]===e.src[i];i++);if(!(Math.floor((i-v)/c)<d||(i-=(i-v)%c,(i=e.skipSpaces(i))<k))){b=!0;break}}return g=e.parentType,m=e.lineMax,e.parentType=\"container\",e.lineMax=p,_=e.push(\"container_\"+t+\"_open\",\"div\",1),_.markup=h,_.block=!0,_.info=f,_.map=[n,p],e.md.block.tokenize(e,n+1,p),_=e.push(\"container_\"+t+\"_close\",\"div\",-1),_.markup=e.src.slice(v,i),_.block=!0,e.parentType=g,e.lineMax=m,e.line=p+(b?1:0),!0}n=n||{};var a=3,s=n.marker||\":\",l=s.charCodeAt(0),c=s.length,u=n.validate||r,p=n.render||o;e.block.ruler.before(\"fence\",\"container_\"+t,i,{alt:[\"paragraph\",\"reference\",\"blockquote\",\"list\"]}),e.renderer.rules[\"container_\"+t+\"_open\"]=p,e.renderer.rules[\"container_\"+t+\"_close\"]=p}},function(e,t,n){\"use strict\";e.exports=function(e){function t(e,t){var n,r,o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];return o>=i?-1:126!==(r=e.src.charCodeAt(o++))&&58!==r?-1:(n=e.skipSpaces(o),o===n?-1:n>=i?-1:o)}function n(e,t){var n,r,o=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===o&&\"paragraph_open\"===e.tokens[n].type&&(e.tokens[n+2].hidden=!0,e.tokens[n].hidden=!0,n+=2)}function r(e,r,i,a){var s,l,c,u,p,d,h,f,_,g,m,b,v,k,w,x,y,C,T,A;if(a)return!(e.ddIndent<0)&&t(e,r)>=0;if((_=r+1)>=i)return!1;if(e.isEmpty(_)&&++_>=i)return!1;if(e.sCount[_]<e.blkIndent)return!1;if((l=t(e,_))<0)return!1;h=e.tokens.length,T=!0,A=e.push(\"dl_open\",\"dl\",1),A.map=d=[r,0],u=r,c=_;e:for(;;){for(C=!1,A=e.push(\"dt_open\",\"dt\",1),A.map=[u,u],A=e.push(\"inline\",\"\",0),A.map=[u,u],A.content=e.getLines(u,u+1,e.blkIndent,!1).trim(),A.children=[],A=e.push(\"dt_close\",\"dt\",-1);;){for(A=e.push(\"dd_open\",\"dd\",1),A.map=p=[_,0],y=l,f=e.eMarks[c],g=e.sCount[c]+l-(e.bMarks[c]+e.tShift[c]);y<f&&(s=e.src.charCodeAt(y),o(s));)9===s?g+=4-g%4:g++,y++;if(l=y,x=e.tight,m=e.ddIndent,b=e.blkIndent,w=e.tShift[c],k=e.sCount[c],v=e.parentType,e.blkIndent=e.ddIndent=e.sCount[c]+2,e.tShift[c]=l-e.bMarks[c],e.sCount[c]=g,e.tight=!0,e.parentType=\"deflist\",e.md.block.tokenize(e,c,i,!0),e.tight&&!C||(T=!1),C=e.line-c>1&&e.isEmpty(e.line-1),e.tShift[c]=w,e.sCount[c]=k,e.tight=x,e.parentType=v,e.blkIndent=b,e.ddIndent=m,A=e.push(\"dd_close\",\"dd\",-1),p[1]=_=e.line,_>=i)break e;if(e.sCount[_]<e.blkIndent)break e;if((l=t(e,_))<0)break;c=_}if(_>=i)break;if(u=_,e.isEmpty(u))break;if(e.sCount[u]<e.blkIndent)break;if((c=u+1)>=i)break;if(e.isEmpty(c)&&c++,c>=i)break;if(e.sCount[c]<e.blkIndent)break;if((l=t(e,c))<0)break}return A=e.push(\"dl_close\",\"dl\",-1),d[1]=_,e.line=_,T&&n(e,h),!0}var o=e.utils.isSpace;e.block.ruler.before(\"paragraph\",\"deflist\",r,{alt:[\"paragraph\",\"reference\"]})}},function(e,t,n){\"use strict\";var r=n(122),o=n(123),i=n(125),a=n(126),s=n(124);e.exports=function(e,t){var n={defs:r,shortcuts:o,enabled:[]},l=s(e.utils.assign({},n,t||{}));e.renderer.rules.emoji=i,e.core.ruler.push(\"emoji\",a(e,l.defs,l.shortcuts,l.scanRE,l.replaceRE))}},function(e,t){e.exports={100:\"💯\",1234:\"🔢\",grinning:\"😀\",smiley:\"😃\",smile:\"😄\",grin:\"😁\",laughing:\"😆\",satisfied:\"😆\",sweat_smile:\"😅\",joy:\"😂\",rofl:\"🤣\",relaxed:\"☺️\",blush:\"😊\",innocent:\"😇\",slightly_smiling_face:\"🙂\",upside_down_face:\"🙃\",wink:\"😉\",relieved:\"😌\",heart_eyes:\"😍\",kissing_heart:\"😘\",kissing:\"😗\",kissing_smiling_eyes:\"😙\",kissing_closed_eyes:\"😚\",yum:\"😋\",stuck_out_tongue_winking_eye:\"😜\",stuck_out_tongue_closed_eyes:\"😝\",stuck_out_tongue:\"😛\",money_mouth_face:\"🤑\",hugs:\"🤗\",nerd_face:\"🤓\",sunglasses:\"😎\",clown_face:\"🤡\",cowboy_hat_face:\"🤠\",smirk:\"😏\",unamused:\"😒\",disappointed:\"😞\",pensive:\"😔\",worried:\"😟\",confused:\"😕\",slightly_frowning_face:\"🙁\",frowning_face:\"☹️\",persevere:\"😣\",confounded:\"😖\",tired_face:\"😫\",weary:\"😩\",triumph:\"😤\",angry:\"😠\",rage:\"😡\",pout:\"😡\",no_mouth:\"😶\",neutral_face:\"😐\",expressionless:\"😑\",hushed:\"😯\",frowning:\"😦\",anguished:\"😧\",open_mouth:\"😮\",astonished:\"😲\",dizzy_face:\"😵\",flushed:\"😳\",scream:\"😱\",fearful:\"😨\",cold_sweat:\"😰\",cry:\"😢\",disappointed_relieved:\"😥\",drooling_face:\"🤤\",sob:\"😭\",sweat:\"😓\",sleepy:\"😪\",sleeping:\"😴\",roll_eyes:\"🙄\",thinking:\"🤔\",lying_face:\"🤥\",grimacing:\"😬\",zipper_mouth_face:\"🤐\",nauseated_face:\"🤢\",sneezing_face:\"🤧\",mask:\"😷\",face_with_thermometer:\"🤒\",face_with_head_bandage:\"🤕\",smiling_imp:\"😈\",imp:\"👿\",japanese_ogre:\"👹\",japanese_goblin:\"👺\",hankey:\"💩\",poop:\"💩\",shit:\"💩\",ghost:\"👻\",skull:\"💀\",skull_and_crossbones:\"☠️\",alien:\"👽\",space_invader:\"👾\",robot:\"🤖\",jack_o_lantern:\"🎃\",smiley_cat:\"😺\",smile_cat:\"😸\",joy_cat:\"😹\",heart_eyes_cat:\"😻\",smirk_cat:\"😼\",kissing_cat:\"😽\",scream_cat:\"🙀\",crying_cat_face:\"😿\",pouting_cat:\"😾\",open_hands:\"👐\",raised_hands:\"🙌\",clap:\"👏\",pray:\"🙏\",handshake:\"🤝\",\"+1\":\"👍\",thumbsup:\"👍\",\"-1\":\"👎\",thumbsdown:\"👎\",fist_oncoming:\"👊\",facepunch:\"👊\",punch:\"👊\",fist_raised:\"✊\",fist:\"✊\",fist_left:\"🤛\",fist_right:\"🤜\",crossed_fingers:\"🤞\",v:\"✌️\",metal:\"🤘\",ok_hand:\"👌\",point_left:\"👈\",point_right:\"👉\",point_up_2:\"👆\",point_down:\"👇\",point_up:\"☝️\",hand:\"✋\",raised_hand:\"✋\",raised_back_of_hand:\"🤚\",raised_hand_with_fingers_splayed:\"🖐\",vulcan_salute:\"🖖\",wave:\"👋\",call_me_hand:\"🤙\",muscle:\"💪\",middle_finger:\"🖕\",fu:\"🖕\",writing_hand:\"✍️\",selfie:\"🤳\",nail_care:\"💅\",ring:\"💍\",lipstick:\"💄\",kiss:\"💋\",lips:\"👄\",tongue:\"👅\",ear:\"👂\",nose:\"👃\",footprints:\"👣\",eye:\"👁\",eyes:\"👀\",speaking_head:\"🗣\",bust_in_silhouette:\"👤\",busts_in_silhouette:\"👥\",baby:\"👶\",boy:\"👦\",girl:\"👧\",man:\"👨\",woman:\"👩\",blonde_woman:\"👱‍♀\",blonde_man:\"👱\",person_with_blond_hair:\"👱\",older_man:\"👴\",older_woman:\"👵\",man_with_gua_pi_mao:\"👲\",woman_with_turban:\"👳‍♀\",man_with_turban:\"👳\",policewoman:\"👮‍♀\",policeman:\"👮\",cop:\"👮\",construction_worker_woman:\"👷‍♀\",construction_worker_man:\"👷\",construction_worker:\"👷\",guardswoman:\"💂‍♀\",guardsman:\"💂\",female_detective:\"🕵️‍♀️\",male_detective:\"🕵\",detective:\"🕵\",woman_health_worker:\"👩‍⚕\",man_health_worker:\"👨‍⚕\",woman_farmer:\"👩‍🌾\",man_farmer:\"👨‍🌾\",woman_cook:\"👩‍🍳\",man_cook:\"👨‍🍳\",woman_student:\"👩‍🎓\",man_student:\"👨‍🎓\",woman_singer:\"👩‍🎤\",man_singer:\"👨‍🎤\",woman_teacher:\"👩‍🏫\",man_teacher:\"👨‍🏫\",woman_factory_worker:\"👩‍🏭\",man_factory_worker:\"👨‍🏭\",woman_technologist:\"👩‍💻\",man_technologist:\"👨‍💻\",woman_office_worker:\"👩‍💼\",man_office_worker:\"👨‍💼\",woman_mechanic:\"👩‍🔧\",man_mechanic:\"👨‍🔧\",woman_scientist:\"👩‍🔬\",man_scientist:\"👨‍🔬\",woman_artist:\"👩‍🎨\",man_artist:\"👨‍🎨\",woman_firefighter:\"👩‍🚒\",man_firefighter:\"👨‍🚒\",woman_pilot:\"👩‍✈\",man_pilot:\"👨‍✈\",woman_astronaut:\"👩‍🚀\",man_astronaut:\"👨‍🚀\",woman_judge:\"👩‍⚖\",man_judge:\"👨‍⚖\",mrs_claus:\"🤶\",santa:\"🎅\",princess:\"👸\",prince:\"🤴\",bride_with_veil:\"👰\",man_in_tuxedo:\"🤵\",angel:\"👼\",pregnant_woman:\"🤰\",bowing_woman:\"🙇‍♀\",bowing_man:\"🙇\",bow:\"🙇\",tipping_hand_woman:\"💁\",information_desk_person:\"💁\",sassy_woman:\"💁\",tipping_hand_man:\"💁‍♂\",sassy_man:\"💁‍♂\",no_good_woman:\"🙅\",no_good:\"🙅\",ng_woman:\"🙅\",no_good_man:\"🙅‍♂\",ng_man:\"🙅‍♂\",ok_woman:\"🙆\",ok_man:\"🙆‍♂\",raising_hand_woman:\"🙋\",raising_hand:\"🙋\",raising_hand_man:\"🙋‍♂\",woman_facepalming:\"🤦‍♀\",man_facepalming:\"🤦‍♂\",woman_shrugging:\"🤷‍♀\",man_shrugging:\"🤷‍♂\",pouting_woman:\"🙎\",person_with_pouting_face:\"🙎\",pouting_man:\"🙎‍♂\",frowning_woman:\"🙍\",person_frowning:\"🙍\",frowning_man:\"🙍‍♂\",haircut_woman:\"💇\",haircut:\"💇\",haircut_man:\"💇‍♂\",massage_woman:\"💆\",massage:\"💆\",massage_man:\"💆‍♂\",business_suit_levitating:\"🕴\",dancer:\"💃\",man_dancing:\"🕺\",dancing_women:\"👯\",dancers:\"👯\",dancing_men:\"👯‍♂\",walking_woman:\"🚶‍♀\",walking_man:\"🚶\",walking:\"🚶\",running_woman:\"🏃‍♀\",running_man:\"🏃\",runner:\"🏃\",running:\"🏃\",couple:\"👫\",two_women_holding_hands:\"👭\",two_men_holding_hands:\"👬\",couple_with_heart_woman_man:\"💑\",couple_with_heart:\"💑\",couple_with_heart_woman_woman:\"👩‍❤️‍👩\",couple_with_heart_man_man:\"👨‍❤️‍👨\",couplekiss_man_woman:\"💏\",couplekiss_woman_woman:\"👩‍❤️‍💋‍👩\",couplekiss_man_man:\"👨‍❤️‍💋‍👨\",family_man_woman_boy:\"👪\",family:\"👪\",family_man_woman_girl:\"👨‍👩‍👧\",family_man_woman_girl_boy:\"👨‍👩‍👧‍👦\",family_man_woman_boy_boy:\"👨‍👩‍👦‍👦\",family_man_woman_girl_girl:\"👨‍👩‍👧‍👧\",family_woman_woman_boy:\"👩‍👩‍👦\",family_woman_woman_girl:\"👩‍👩‍👧\",family_woman_woman_girl_boy:\"👩‍👩‍👧‍👦\",family_woman_woman_boy_boy:\"👩‍👩‍👦‍👦\",family_woman_woman_girl_girl:\"👩‍👩‍👧‍👧\",family_man_man_boy:\"👨‍👨‍👦\",family_man_man_girl:\"👨‍👨‍👧\",family_man_man_girl_boy:\"👨‍👨‍👧‍👦\",family_man_man_boy_boy:\"👨‍👨‍👦‍👦\",family_man_man_girl_girl:\"👨‍👨‍👧‍👧\",family_woman_boy:\"👩‍👦\",family_woman_girl:\"👩‍👧\",family_woman_girl_boy:\"👩‍👧‍👦\",family_woman_boy_boy:\"👩‍👦‍👦\",family_woman_girl_girl:\"👩‍👧‍👧\",family_man_boy:\"👨‍👦\",family_man_girl:\"👨‍👧\",family_man_girl_boy:\"👨‍👧‍👦\",family_man_boy_boy:\"👨‍👦‍👦\",family_man_girl_girl:\"👨‍👧‍👧\",womans_clothes:\"👚\",shirt:\"👕\",tshirt:\"👕\",jeans:\"👖\",necktie:\"👔\",dress:\"👗\",bikini:\"👙\",kimono:\"👘\",high_heel:\"👠\",sandal:\"👡\",boot:\"👢\",mans_shoe:\"👞\",shoe:\"👞\",athletic_shoe:\"👟\",womans_hat:\"👒\",tophat:\"🎩\",mortar_board:\"🎓\",crown:\"👑\",rescue_worker_helmet:\"⛑\",school_satchel:\"🎒\",pouch:\"👝\",purse:\"👛\",handbag:\"👜\",briefcase:\"💼\",eyeglasses:\"👓\",dark_sunglasses:\"🕶\",closed_umbrella:\"🌂\",open_umbrella:\"☂️\",dog:\"🐶\",cat:\"🐱\",mouse:\"🐭\",hamster:\"🐹\",rabbit:\"🐰\",fox_face:\"🦊\",bear:\"🐻\",panda_face:\"🐼\",koala:\"🐨\",tiger:\"🐯\",lion:\"🦁\",cow:\"🐮\",pig:\"🐷\",pig_nose:\"🐽\",frog:\"🐸\",monkey_face:\"🐵\",see_no_evil:\"🙈\",hear_no_evil:\"🙉\",speak_no_evil:\"🙊\",monkey:\"🐒\",chicken:\"🐔\",penguin:\"🐧\",bird:\"🐦\",baby_chick:\"🐤\",hatching_chick:\"🐣\",hatched_chick:\"🐥\",duck:\"🦆\",eagle:\"🦅\",owl:\"🦉\",bat:\"🦇\",wolf:\"🐺\",boar:\"🐗\",horse:\"🐴\",unicorn:\"🦄\",bee:\"🐝\",honeybee:\"🐝\",bug:\"🐛\",butterfly:\"🦋\",snail:\"🐌\",shell:\"🐚\",beetle:\"🐞\",ant:\"🐜\",spider:\"🕷\",spider_web:\"🕸\",turtle:\"🐢\",snake:\"🐍\",lizard:\"🦎\",scorpion:\"🦂\",crab:\"🦀\",squid:\"🦑\",octopus:\"🐙\",shrimp:\"🦐\",tropical_fish:\"🐠\",fish:\"🐟\",blowfish:\"🐡\",dolphin:\"🐬\",flipper:\"🐬\",shark:\"🦈\",whale:\"🐳\",whale2:\"🐋\",crocodile:\"🐊\",leopard:\"🐆\",tiger2:\"🐅\",water_buffalo:\"🐃\",ox:\"🐂\",cow2:\"🐄\",deer:\"🦌\",dromedary_camel:\"🐪\",camel:\"🐫\",elephant:\"🐘\",rhinoceros:\"🦏\",gorilla:\"🦍\",racehorse:\"🐎\",pig2:\"🐖\",goat:\"🐐\",ram:\"🐏\",sheep:\"🐑\",dog2:\"🐕\",poodle:\"🐩\",cat2:\"🐈\",rooster:\"🐓\",turkey:\"🦃\",dove:\"🕊\",rabbit2:\"🐇\",mouse2:\"🐁\",rat:\"🐀\",chipmunk:\"🐿\",feet:\"🐾\",paw_prints:\"🐾\",dragon:\"🐉\",dragon_face:\"🐲\",cactus:\"🌵\",christmas_tree:\"🎄\",evergreen_tree:\"🌲\",deciduous_tree:\"🌳\",palm_tree:\"🌴\",seedling:\"🌱\",herb:\"🌿\",shamrock:\"☘️\",four_leaf_clover:\"🍀\",bamboo:\"🎍\",tanabata_tree:\"🎋\",leaves:\"🍃\",fallen_leaf:\"🍂\",maple_leaf:\"🍁\",mushroom:\"🍄\",ear_of_rice:\"🌾\",bouquet:\"💐\",tulip:\"🌷\",rose:\"🌹\",wilted_flower:\"🥀\",sunflower:\"🌻\",blossom:\"🌼\",cherry_blossom:\"🌸\",hibiscus:\"🌺\",earth_americas:\"🌎\",earth_africa:\"🌍\",earth_asia:\"🌏\",full_moon:\"🌕\",waning_gibbous_moon:\"🌖\",last_quarter_moon:\"🌗\",waning_crescent_moon:\"🌘\",new_moon:\"🌑\",waxing_crescent_moon:\"🌒\",first_quarter_moon:\"🌓\",moon:\"🌔\",waxing_gibbous_moon:\"🌔\",new_moon_with_face:\"🌚\",full_moon_with_face:\"🌝\",sun_with_face:\"🌞\",first_quarter_moon_with_face:\"🌛\",last_quarter_moon_with_face:\"🌜\",crescent_moon:\"🌙\",dizzy:\"💫\",star:\"⭐️\",star2:\"🌟\",sparkles:\"✨\",zap:\"⚡️\",fire:\"🔥\",boom:\"💥\",collision:\"💥\",comet:\"☄\",sunny:\"☀️\",sun_behind_small_cloud:\"🌤\",partly_sunny:\"⛅️\",sun_behind_large_cloud:\"🌥\",sun_behind_rain_cloud:\"🌦\",rainbow:\"🌈\",cloud:\"☁️\",cloud_with_rain:\"🌧\",cloud_with_lightning_and_rain:\"⛈\",cloud_with_lightning:\"🌩\",cloud_with_snow:\"🌨\",snowman_with_snow:\"☃️\",snowman:\"⛄️\",snowflake:\"❄️\",wind_face:\"🌬\",dash:\"💨\",tornado:\"🌪\",fog:\"🌫\",ocean:\"🌊\",droplet:\"💧\",sweat_drops:\"💦\",umbrella:\"☔️\",green_apple:\"🍏\",apple:\"🍎\",pear:\"🍐\",tangerine:\"🍊\",orange:\"🍊\",mandarin:\"🍊\",lemon:\"🍋\",banana:\"🍌\",watermelon:\"🍉\",grapes:\"🍇\",strawberry:\"🍓\",melon:\"🍈\",cherries:\"🍒\",peach:\"🍑\",pineapple:\"🍍\",kiwi_fruit:\"🥝\",avocado:\"🥑\",tomato:\"🍅\",eggplant:\"🍆\",cucumber:\"🥒\",carrot:\"🥕\",corn:\"🌽\",hot_pepper:\"🌶\",potato:\"🥔\",sweet_potato:\"🍠\",chestnut:\"🌰\",peanuts:\"🥜\",honey_pot:\"🍯\",croissant:\"🥐\",bread:\"🍞\",baguette_bread:\"🥖\",cheese:\"🧀\",egg:\"🥚\",fried_egg:\"🍳\",bacon:\"🥓\",pancakes:\"🥞\",fried_shrimp:\"🍤\",poultry_leg:\"🍗\",meat_on_bone:\"🍖\",pizza:\"🍕\",hotdog:\"🌭\",hamburger:\"🍔\",fries:\"🍟\",stuffed_flatbread:\"🥙\",taco:\"🌮\",burrito:\"🌯\",green_salad:\"🥗\",shallow_pan_of_food:\"🥘\",spaghetti:\"🍝\",ramen:\"🍜\",stew:\"🍲\",fish_cake:\"🍥\",sushi:\"🍣\",bento:\"🍱\",curry:\"🍛\",rice:\"🍚\",rice_ball:\"🍙\",rice_cracker:\"🍘\",oden:\"🍢\",dango:\"🍡\",shaved_ice:\"🍧\",ice_cream:\"🍨\",icecream:\"🍦\",cake:\"🍰\",birthday:\"🎂\",custard:\"🍮\",lollipop:\"🍭\",candy:\"🍬\",chocolate_bar:\"🍫\",popcorn:\"🍿\",doughnut:\"🍩\",cookie:\"🍪\",milk_glass:\"🥛\",baby_bottle:\"🍼\",coffee:\"☕️\",tea:\"🍵\",sake:\"🍶\",beer:\"🍺\",beers:\"🍻\",clinking_glasses:\"🥂\",wine_glass:\"🍷\",tumbler_glass:\"🥃\",cocktail:\"🍸\",tropical_drink:\"🍹\",champagne:\"🍾\",spoon:\"🥄\",fork_and_knife:\"🍴\",plate_with_cutlery:\"🍽\",soccer:\"⚽️\",basketball:\"🏀\",football:\"🏈\",baseball:\"⚾️\",tennis:\"🎾\",volleyball:\"🏐\",rugby_football:\"🏉\",\"8ball\":\"🎱\",ping_pong:\"🏓\",badminton:\"🏸\",goal_net:\"🥅\",ice_hockey:\"🏒\",field_hockey:\"🏑\",cricket:\"🏏\",golf:\"⛳️\",bow_and_arrow:\"🏹\",fishing_pole_and_fish:\"🎣\",boxing_glove:\"🥊\",martial_arts_uniform:\"🥋\",ice_skate:\"⛸\",ski:\"🎿\",skier:\"⛷\",snowboarder:\"🏂\",weight_lifting_woman:\"🏋️‍♀️\",weight_lifting_man:\"🏋\",person_fencing:\"🤺\",women_wrestling:\"🤼‍♀\",men_wrestling:\"🤼‍♂\",woman_cartwheeling:\"🤸‍♀\",man_cartwheeling:\"🤸‍♂\",basketball_woman:\"⛹️‍♀️\",basketball_man:\"⛹\",woman_playing_handball:\"🤾‍♀\",man_playing_handball:\"🤾‍♂\",golfing_woman:\"🏌️‍♀️\",golfing_man:\"🏌\",surfing_woman:\"🏄‍♀\",surfing_man:\"🏄\",surfer:\"🏄\",swimming_woman:\"🏊‍♀\",swimming_man:\"🏊\",swimmer:\"🏊\",woman_playing_water_polo:\"🤽‍♀\",man_playing_water_polo:\"🤽‍♂\",rowing_woman:\"🚣‍♀\",rowing_man:\"🚣\",rowboat:\"🚣\",horse_racing:\"🏇\",biking_woman:\"🚴‍♀\",biking_man:\"🚴\",bicyclist:\"🚴\",mountain_biking_woman:\"🚵‍♀\",mountain_biking_man:\"🚵\",mountain_bicyclist:\"🚵\",running_shirt_with_sash:\"🎽\",medal_sports:\"🏅\",medal_military:\"🎖\",\"1st_place_medal\":\"🥇\",\"2nd_place_medal\":\"🥈\",\"3rd_place_medal\":\"🥉\",trophy:\"🏆\",rosette:\"🏵\",reminder_ribbon:\"🎗\",ticket:\"🎫\",tickets:\"🎟\",circus_tent:\"🎪\",woman_juggling:\"🤹‍♀\",man_juggling:\"🤹‍♂\",performing_arts:\"🎭\",art:\"🎨\",clapper:\"🎬\",microphone:\"🎤\",headphones:\"🎧\",musical_score:\"🎼\",musical_keyboard:\"🎹\",drum:\"🥁\",saxophone:\"🎷\",trumpet:\"🎺\",guitar:\"🎸\",violin:\"🎻\",game_die:\"🎲\",dart:\"🎯\",bowling:\"🎳\",video_game:\"🎮\",slot_machine:\"🎰\",car:\"🚗\",red_car:\"🚗\",taxi:\"🚕\",blue_car:\"🚙\",bus:\"🚌\",trolleybus:\"🚎\",racing_car:\"🏎\",police_car:\"🚓\",ambulance:\"🚑\",fire_engine:\"🚒\",minibus:\"🚐\",truck:\"🚚\",articulated_lorry:\"🚛\",tractor:\"🚜\",kick_scooter:\"🛴\",bike:\"🚲\",motor_scooter:\"🛵\",motorcycle:\"🏍\",rotating_light:\"🚨\",oncoming_police_car:\"🚔\",oncoming_bus:\"🚍\",oncoming_automobile:\"🚘\",oncoming_taxi:\"🚖\",aerial_tramway:\"🚡\",mountain_cableway:\"🚠\",suspension_railway:\"🚟\",railway_car:\"🚃\",train:\"🚋\",mountain_railway:\"🚞\",monorail:\"🚝\",bullettrain_side:\"🚄\",bullettrain_front:\"🚅\",light_rail:\"🚈\",steam_locomotive:\"🚂\",train2:\"🚆\",metro:\"🚇\",tram:\"🚊\",station:\"🚉\",helicopter:\"🚁\",small_airplane:\"🛩\",airplane:\"✈️\",flight_departure:\"🛫\",flight_arrival:\"🛬\",rocket:\"🚀\",artificial_satellite:\"🛰\",seat:\"💺\",canoe:\"🛶\",boat:\"⛵️\",sailboat:\"⛵️\",motor_boat:\"🛥\",speedboat:\"🚤\",passenger_ship:\"🛳\",ferry:\"⛴\",ship:\"🚢\",anchor:\"⚓️\",construction:\"🚧\",fuelpump:\"⛽️\",busstop:\"🚏\",vertical_traffic_light:\"🚦\",traffic_light:\"🚥\",world_map:\"🗺\",moyai:\"🗿\",statue_of_liberty:\"🗽\",fountain:\"⛲️\",tokyo_tower:\"🗼\",european_castle:\"🏰\",japanese_castle:\"🏯\",stadium:\"🏟\",ferris_wheel:\"🎡\",roller_coaster:\"🎢\",carousel_horse:\"🎠\",parasol_on_ground:\"⛱\",beach_umbrella:\"🏖\",desert_island:\"🏝\",mountain:\"⛰\",mountain_snow:\"🏔\",mount_fuji:\"🗻\",volcano:\"🌋\",desert:\"🏜\",camping:\"🏕\",tent:\"⛺️\",railway_track:\"🛤\",motorway:\"🛣\",building_construction:\"🏗\",factory:\"🏭\",house:\"🏠\",house_with_garden:\"🏡\",houses:\"🏘\",derelict_house:\"🏚\",office:\"🏢\",department_store:\"🏬\",post_office:\"🏣\",european_post_office:\"🏤\",hospital:\"🏥\",bank:\"🏦\",hotel:\"🏨\",convenience_store:\"🏪\",school:\"🏫\",love_hotel:\"🏩\",wedding:\"💒\",classical_building:\"🏛\",church:\"⛪️\",mosque:\"🕌\",synagogue:\"🕍\",kaaba:\"🕋\",shinto_shrine:\"⛩\",japan:\"🗾\",rice_scene:\"🎑\",national_park:\"🏞\",sunrise:\"🌅\",sunrise_over_mountains:\"🌄\",stars:\"🌠\",sparkler:\"🎇\",fireworks:\"🎆\",city_sunrise:\"🌇\",city_sunset:\"🌆\",cityscape:\"🏙\",night_with_stars:\"🌃\",milky_way:\"🌌\",bridge_at_night:\"🌉\",foggy:\"🌁\",watch:\"⌚️\",iphone:\"📱\",calling:\"📲\",computer:\"💻\",keyboard:\"⌨️\",desktop_computer:\"🖥\",printer:\"🖨\",computer_mouse:\"🖱\",trackball:\"🖲\",joystick:\"🕹\",clamp:\"🗜\",minidisc:\"💽\",floppy_disk:\"💾\",cd:\"💿\",dvd:\"📀\",vhs:\"📼\",camera:\"📷\",camera_flash:\"📸\",video_camera:\"📹\",movie_camera:\"🎥\",film_projector:\"📽\",film_strip:\"🎞\",telephone_receiver:\"📞\",phone:\"☎️\",telephone:\"☎️\",pager:\"📟\",fax:\"📠\",tv:\"📺\",radio:\"📻\",studio_microphone:\"🎙\",level_slider:\"🎚\",control_knobs:\"🎛\",stopwatch:\"⏱\",timer_clock:\"⏲\",alarm_clock:\"⏰\",mantelpiece_clock:\"🕰\",hourglass:\"⌛️\",hourglass_flowing_sand:\"⏳\",satellite:\"📡\",battery:\"🔋\",electric_plug:\"🔌\",bulb:\"💡\",flashlight:\"🔦\",candle:\"🕯\",wastebasket:\"🗑\",oil_drum:\"🛢\",money_with_wings:\"💸\",dollar:\"💵\",yen:\"💴\",euro:\"💶\",pound:\"💷\",moneybag:\"💰\",credit_card:\"💳\",gem:\"💎\",balance_scale:\"⚖️\",wrench:\"🔧\",hammer:\"🔨\",hammer_and_pick:\"⚒\",hammer_and_wrench:\"🛠\",pick:\"⛏\",nut_and_bolt:\"🔩\",gear:\"⚙️\",chains:\"⛓\",gun:\"🔫\",bomb:\"💣\",hocho:\"🔪\",knife:\"🔪\",dagger:\"🗡\",crossed_swords:\"⚔️\",shield:\"🛡\",smoking:\"🚬\",coffin:\"⚰️\",funeral_urn:\"⚱️\",amphora:\"🏺\",crystal_ball:\"🔮\",prayer_beads:\"📿\",barber:\"💈\",alembic:\"⚗️\",telescope:\"🔭\",microscope:\"🔬\",hole:\"🕳\",pill:\"💊\",syringe:\"💉\",thermometer:\"🌡\",toilet:\"🚽\",potable_water:\"🚰\",shower:\"🚿\",bathtub:\"🛁\",bath:\"🛀\",bellhop_bell:\"🛎\",key:\"🔑\",old_key:\"🗝\",door:\"🚪\",couch_and_lamp:\"🛋\",bed:\"🛏\",sleeping_bed:\"🛌\",framed_picture:\"🖼\",shopping:\"🛍\",shopping_cart:\"🛒\",gift:\"🎁\",balloon:\"🎈\",flags:\"🎏\",ribbon:\"🎀\",confetti_ball:\"🎊\",tada:\"🎉\",dolls:\"🎎\",izakaya_lantern:\"🏮\",lantern:\"🏮\",wind_chime:\"🎐\",email:\"✉️\",envelope:\"✉️\",envelope_with_arrow:\"📩\",incoming_envelope:\"📨\",\"e-mail\":\"📧\",love_letter:\"💌\",inbox_tray:\"📥\",outbox_tray:\"📤\",package:\"📦\",label:\"🏷\",mailbox_closed:\"📪\",mailbox:\"📫\",mailbox_with_mail:\"📬\",mailbox_with_no_mail:\"📭\",postbox:\"📮\",postal_horn:\"📯\",scroll:\"📜\",page_with_curl:\"📃\",page_facing_up:\"📄\",bookmark_tabs:\"📑\",bar_chart:\"📊\",chart_with_upwards_trend:\"📈\",chart_with_downwards_trend:\"📉\",spiral_notepad:\"🗒\",spiral_calendar:\"🗓\",calendar:\"📆\",date:\"📅\",card_index:\"📇\",card_file_box:\"🗃\",ballot_box:\"🗳\",file_cabinet:\"🗄\",clipboard:\"📋\",file_folder:\"📁\",open_file_folder:\"📂\",card_index_dividers:\"🗂\",newspaper_roll:\"🗞\",newspaper:\"📰\",notebook:\"📓\",notebook_with_decorative_cover:\"📔\",ledger:\"📒\",closed_book:\"📕\",green_book:\"📗\",blue_book:\"📘\",orange_book:\"📙\",books:\"📚\",book:\"📖\",open_book:\"📖\",bookmark:\"🔖\",link:\"🔗\",paperclip:\"📎\",paperclips:\"🖇\",triangular_ruler:\"📐\",straight_ruler:\"📏\",pushpin:\"📌\",round_pushpin:\"📍\",scissors:\"✂️\",pen:\"🖊\",fountain_pen:\"🖋\",black_nib:\"✒️\",paintbrush:\"🖌\",crayon:\"🖍\",memo:\"📝\",pencil:\"📝\",pencil2:\"✏️\",mag:\"🔍\",mag_right:\"🔎\",lock_with_ink_pen:\"🔏\",closed_lock_with_key:\"🔐\",lock:\"🔒\",unlock:\"🔓\",heart:\"❤️\",yellow_heart:\"💛\",green_heart:\"💚\",blue_heart:\"💙\",purple_heart:\"💜\",black_heart:\"🖤\",broken_heart:\"💔\",heavy_heart_exclamation:\"❣️\",two_hearts:\"💕\",revolving_hearts:\"💞\",heartbeat:\"💓\",heartpulse:\"💗\",sparkling_heart:\"💖\",cupid:\"💘\",gift_heart:\"💝\",heart_decoration:\"💟\",peace_symbol:\"☮️\",latin_cross:\"✝️\",star_and_crescent:\"☪️\",om:\"🕉\",wheel_of_dharma:\"☸️\",star_of_david:\"✡️\",six_pointed_star:\"🔯\",menorah:\"🕎\",yin_yang:\"☯️\",orthodox_cross:\"☦️\",place_of_worship:\"🛐\",ophiuchus:\"⛎\",aries:\"♈️\",taurus:\"♉️\",gemini:\"♊️\",cancer:\"♋️\",leo:\"♌️\",virgo:\"♍️\",libra:\"♎️\",scorpius:\"♏️\",sagittarius:\"♐️\",capricorn:\"♑️\",aquarius:\"♒️\",pisces:\"♓️\",id:\"🆔\",atom_symbol:\"⚛️\",accept:\"🉑\",radioactive:\"☢️\",biohazard:\"☣️\",mobile_phone_off:\"📴\",vibration_mode:\"📳\",eight_pointed_black_star:\"✴️\",vs:\"🆚\",white_flower:\"💮\",ideograph_advantage:\"🉐\",secret:\"㊙️\",congratulations:\"㊗️\",u6e80:\"🈵\",a:\"🅰️\",b:\"🅱️\",ab:\"🆎\",cl:\"🆑\",o2:\"🅾️\",sos:\"🆘\",x:\"❌\",o:\"⭕️\",stop_sign:\"🛑\",no_entry:\"⛔️\",name_badge:\"📛\",no_entry_sign:\"🚫\",anger:\"💢\",hotsprings:\"♨️\",no_pedestrians:\"🚷\",do_not_litter:\"🚯\",no_bicycles:\"🚳\",\"non-potable_water\":\"🚱\",underage:\"🔞\",no_mobile_phones:\"📵\",no_smoking:\"🚭\",exclamation:\"❗️\",heavy_exclamation_mark:\"❗️\",grey_exclamation:\"❕\",question:\"❓\",grey_question:\"❔\",bangbang:\"‼️\",interrobang:\"⁉️\",low_brightness:\"🔅\",high_brightness:\"🔆\",part_alternation_mark:\"〽️\",warning:\"⚠️\",children_crossing:\"🚸\",trident:\"🔱\",fleur_de_lis:\"⚜️\",beginner:\"🔰\",recycle:\"♻️\",white_check_mark:\"✅\",chart:\"💹\",sparkle:\"❇️\",eight_spoked_asterisk:\"✳️\",negative_squared_cross_mark:\"❎\",globe_with_meridians:\"🌐\",diamond_shape_with_a_dot_inside:\"💠\",m:\"Ⓜ️\",cyclone:\"🌀\",zzz:\"💤\",atm:\"🏧\",wc:\"🚾\",wheelchair:\"♿️\",parking:\"🅿️\",sa:\"🈂️\",passport_control:\"🛂\",customs:\"🛃\",baggage_claim:\"🛄\",left_luggage:\"🛅\",mens:\"🚹\",womens:\"🚺\",baby_symbol:\"🚼\",restroom:\"🚻\",put_litter_in_its_place:\"🚮\",cinema:\"🎦\",signal_strength:\"📶\",koko:\"🈁\",symbols:\"🔣\",information_source:\"ℹ️\",abc:\"🔤\",abcd:\"🔡\",capital_abcd:\"🔠\",ng:\"🆖\",ok:\"🆗\",up:\"🆙\",cool:\"🆒\",new:\"🆕\",free:\"🆓\",zero:\"0️⃣\",one:\"1️⃣\",two:\"2️⃣\",three:\"3️⃣\",four:\"4️⃣\",five:\"5️⃣\",six:\"6️⃣\",seven:\"7️⃣\",eight:\"8️⃣\",nine:\"9️⃣\",keycap_ten:\"🔟\",hash:\"#️⃣\",asterisk:\"*️⃣\",arrow_forward:\"▶️\",pause_button:\"⏸\",play_or_pause_button:\"⏯\",stop_button:\"⏹\",record_button:\"⏺\",next_track_button:\"⏭\",previous_track_button:\"⏮\",fast_forward:\"⏩\",rewind:\"⏪\",arrow_double_up:\"⏫\",arrow_double_down:\"⏬\",arrow_backward:\"◀️\",arrow_up_small:\"🔼\",arrow_down_small:\"🔽\",arrow_right:\"➡️\",arrow_left:\"⬅️\",arrow_up:\"⬆️\",arrow_down:\"⬇️\",arrow_upper_right:\"↗️\",arrow_lower_right:\"↘️\",arrow_lower_left:\"↙️\",arrow_upper_left:\"↖️\",arrow_up_down:\"↕️\",left_right_arrow:\"↔️\",arrow_right_hook:\"↪️\",leftwards_arrow_with_hook:\"↩️\",arrow_heading_up:\"⤴️\",arrow_heading_down:\"⤵️\",twisted_rightwards_arrows:\"🔀\",repeat:\"🔁\",repeat_one:\"🔂\",arrows_counterclockwise:\"🔄\",arrows_clockwise:\"🔃\",musical_note:\"🎵\",notes:\"🎶\",heavy_plus_sign:\"➕\",heavy_minus_sign:\"➖\",heavy_division_sign:\"➗\",heavy_multiplication_x:\"✖️\",heavy_dollar_sign:\"💲\",currency_exchange:\"💱\",tm:\"™️\",copyright:\"©️\",registered:\"®️\",wavy_dash:\"〰️\",curly_loop:\"➰\",loop:\"➿\",end:\"🔚\",back:\"🔙\",on:\"🔛\",top:\"🔝\",soon:\"🔜\",heavy_check_mark:\"✔️\",ballot_box_with_check:\"☑️\",radio_button:\"🔘\",white_circle:\"⚪️\",black_circle:\"⚫️\",red_circle:\"🔴\",large_blue_circle:\"🔵\",small_red_triangle:\"🔺\",small_red_triangle_down:\"🔻\",small_orange_diamond:\"🔸\",small_blue_diamond:\"🔹\",large_orange_diamond:\"🔶\",large_blue_diamond:\"🔷\",white_square_button:\"🔳\",black_square_button:\"🔲\",black_small_square:\"▪️\",white_small_square:\"▫️\",black_medium_small_square:\"◾️\",white_medium_small_square:\"◽️\",black_medium_square:\"◼️\",white_medium_square:\"◻️\",black_large_square:\"⬛️\",white_large_square:\"⬜️\",speaker:\"🔈\",mute:\"🔇\",sound:\"🔉\",loud_sound:\"🔊\",bell:\"🔔\",no_bell:\"🔕\",mega:\"📣\",loudspeaker:\"📢\",eye_speech_bubble:\"👁‍🗨\",speech_balloon:\"💬\",thought_balloon:\"💭\",right_anger_bubble:\"🗯\",spades:\"♠️\",clubs:\"♣️\",hearts:\"♥️\",diamonds:\"♦️\",black_joker:\"🃏\",flower_playing_cards:\"🎴\",mahjong:\"🀄️\",clock1:\"🕐\",clock2:\"🕑\",clock3:\"🕒\",clock4:\"🕓\",clock5:\"🕔\",clock6:\"🕕\",clock7:\"🕖\",clock8:\"🕗\",clock9:\"🕘\",clock10:\"🕙\",clock11:\"🕚\",clock12:\"🕛\",clock130:\"🕜\",clock230:\"🕝\",clock330:\"🕞\",clock430:\"🕟\",clock530:\"🕠\",clock630:\"🕡\",clock730:\"🕢\",clock830:\"🕣\",clock930:\"🕤\",clock1030:\"🕥\",clock1130:\"🕦\",clock1230:\"🕧\",white_flag:\"🏳️\",black_flag:\"🏴\",checkered_flag:\"🏁\",triangular_flag_on_post:\"🚩\",rainbow_flag:\"🏳️‍🌈\",afghanistan:\"🇦🇫\",aland_islands:\"🇦🇽\",albania:\"🇦🇱\",algeria:\"🇩🇿\",american_samoa:\"🇦🇸\",andorra:\"🇦🇩\",angola:\"🇦🇴\",anguilla:\"🇦🇮\",antarctica:\"🇦🇶\",antigua_barbuda:\"🇦🇬\",argentina:\"🇦🇷\",armenia:\"🇦🇲\",aruba:\"🇦🇼\",australia:\"🇦🇺\",austria:\"🇦🇹\",azerbaijan:\"🇦🇿\",bahamas:\"🇧🇸\",bahrain:\"🇧🇭\",bangladesh:\"🇧🇩\",barbados:\"🇧🇧\",belarus:\"🇧🇾\",belgium:\"🇧🇪\",belize:\"🇧🇿\",benin:\"🇧🇯\",bermuda:\"🇧🇲\",bhutan:\"🇧🇹\",bolivia:\"🇧🇴\",caribbean_netherlands:\"🇧🇶\",bosnia_herzegovina:\"🇧🇦\",botswana:\"🇧🇼\",brazil:\"🇧🇷\",british_indian_ocean_territory:\"🇮🇴\",british_virgin_islands:\"🇻🇬\",brunei:\"🇧🇳\",bulgaria:\"🇧🇬\",burkina_faso:\"🇧🇫\",burundi:\"🇧🇮\",cape_verde:\"🇨🇻\",cambodia:\"🇰🇭\",cameroon:\"🇨🇲\",canada:\"🇨🇦\",canary_islands:\"🇮🇨\",cayman_islands:\"🇰🇾\",central_african_republic:\"🇨🇫\",chad:\"🇹🇩\",chile:\"🇨🇱\",cn:\"🇨🇳\",christmas_island:\"🇨🇽\",cocos_islands:\"🇨🇨\",colombia:\"🇨🇴\",comoros:\"🇰🇲\",congo_brazzaville:\"🇨🇬\",congo_kinshasa:\"🇨🇩\",cook_islands:\"🇨🇰\",costa_rica:\"🇨🇷\",cote_divoire:\"🇨🇮\",croatia:\"🇭🇷\",cuba:\"🇨🇺\",curacao:\"🇨🇼\",cyprus:\"🇨🇾\",czech_republic:\"🇨🇿\",denmark:\"🇩🇰\",djibouti:\"🇩🇯\",dominica:\"🇩🇲\",dominican_republic:\"🇩🇴\",ecuador:\"🇪🇨\",egypt:\"🇪🇬\",el_salvador:\"🇸🇻\",equatorial_guinea:\"🇬🇶\",eritrea:\"🇪🇷\",estonia:\"🇪🇪\",ethiopia:\"🇪🇹\",eu:\"🇪🇺\",european_union:\"🇪🇺\",falkland_islands:\"🇫🇰\",faroe_islands:\"🇫🇴\",fiji:\"🇫🇯\",finland:\"🇫🇮\",fr:\"🇫🇷\",french_guiana:\"🇬🇫\",french_polynesia:\"🇵🇫\",french_southern_territories:\"🇹🇫\",gabon:\"🇬🇦\",gambia:\"🇬🇲\",georgia:\"🇬🇪\",de:\"🇩🇪\",ghana:\"🇬🇭\",gibraltar:\"🇬🇮\",greece:\"🇬🇷\",greenland:\"🇬🇱\",grenada:\"🇬🇩\",guadeloupe:\"🇬🇵\",guam:\"🇬🇺\",guatemala:\"🇬🇹\",guernsey:\"🇬🇬\",guinea:\"🇬🇳\",guinea_bissau:\"🇬🇼\",guyana:\"🇬🇾\",haiti:\"🇭🇹\",honduras:\"🇭🇳\",hong_kong:\"🇭🇰\",hungary:\"🇭🇺\",iceland:\"🇮🇸\",india:\"🇮🇳\",indonesia:\"🇮🇩\",iran:\"🇮🇷\",iraq:\"🇮🇶\",ireland:\"🇮🇪\",isle_of_man:\"🇮🇲\",israel:\"🇮🇱\",it:\"🇮🇹\",jamaica:\"🇯🇲\",jp:\"🇯🇵\",crossed_flags:\"🎌\",jersey:\"🇯🇪\",jordan:\"🇯🇴\",kazakhstan:\"🇰🇿\",kenya:\"🇰🇪\",kiribati:\"🇰🇮\",kosovo:\"🇽🇰\",kuwait:\"🇰🇼\",kyrgyzstan:\"🇰🇬\",laos:\"🇱🇦\",latvia:\"🇱🇻\",lebanon:\"🇱🇧\",lesotho:\"🇱🇸\",liberia:\"🇱🇷\",libya:\"🇱🇾\",liechtenstein:\"🇱🇮\",lithuania:\"🇱🇹\",luxembourg:\"🇱🇺\",macau:\"🇲🇴\",macedonia:\"🇲🇰\",madagascar:\"🇲🇬\",malawi:\"🇲🇼\",malaysia:\"🇲🇾\",maldives:\"🇲🇻\",mali:\"🇲🇱\",malta:\"🇲🇹\",marshall_islands:\"🇲🇭\",martinique:\"🇲🇶\",mauritania:\"🇲🇷\",mauritius:\"🇲🇺\",mayotte:\"🇾🇹\",mexico:\"🇲🇽\",micronesia:\"🇫🇲\",moldova:\"🇲🇩\",monaco:\"🇲🇨\",mongolia:\"🇲🇳\",montenegro:\"🇲🇪\",montserrat:\"🇲🇸\",morocco:\"🇲🇦\",mozambique:\"🇲🇿\",myanmar:\"🇲🇲\",namibia:\"🇳🇦\",nauru:\"🇳🇷\",nepal:\"🇳🇵\",netherlands:\"🇳🇱\",new_caledonia:\"🇳🇨\",new_zealand:\"🇳🇿\",nicaragua:\"🇳🇮\",niger:\"🇳🇪\",nigeria:\"🇳🇬\",niue:\"🇳🇺\",norfolk_island:\"🇳🇫\",northern_mariana_islands:\"🇲🇵\",north_korea:\"🇰🇵\",norway:\"🇳🇴\",oman:\"🇴🇲\",pakistan:\"🇵🇰\",palau:\"🇵🇼\",palestinian_territories:\"🇵🇸\",panama:\"🇵🇦\",papua_new_guinea:\"🇵🇬\",paraguay:\"🇵🇾\",peru:\"🇵🇪\",philippines:\"🇵🇭\",pitcairn_islands:\"🇵🇳\",poland:\"🇵🇱\",portugal:\"🇵🇹\",puerto_rico:\"🇵🇷\",qatar:\"🇶🇦\",reunion:\"🇷🇪\",romania:\"🇷🇴\",ru:\"🇷🇺\",rwanda:\"🇷🇼\",st_barthelemy:\"🇧🇱\",st_helena:\"🇸🇭\",st_kitts_nevis:\"🇰🇳\",st_lucia:\"🇱🇨\",st_pierre_miquelon:\"🇵🇲\",st_vincent_grenadines:\"🇻🇨\",samoa:\"🇼🇸\",san_marino:\"🇸🇲\",sao_tome_principe:\"🇸🇹\",saudi_arabia:\"🇸🇦\",senegal:\"🇸🇳\",serbia:\"🇷🇸\",seychelles:\"🇸🇨\",sierra_leone:\"🇸🇱\",singapore:\"🇸🇬\",sint_maarten:\"🇸🇽\",slovakia:\"🇸🇰\",slovenia:\"🇸🇮\",solomon_islands:\"🇸🇧\",somalia:\"🇸🇴\",south_africa:\"🇿🇦\",south_georgia_south_sandwich_islands:\"🇬🇸\",kr:\"🇰🇷\",south_sudan:\"🇸🇸\",es:\"🇪🇸\",sri_lanka:\"🇱🇰\",sudan:\"🇸🇩\",suriname:\"🇸🇷\",swaziland:\"🇸🇿\",sweden:\"🇸🇪\",switzerland:\"🇨🇭\",syria:\"🇸🇾\",taiwan:\"🇹🇼\",tajikistan:\"🇹🇯\",tanzania:\"🇹🇿\",thailand:\"🇹🇭\",timor_leste:\"🇹🇱\",togo:\"🇹🇬\",tokelau:\"🇹🇰\",tonga:\"🇹🇴\",trinidad_tobago:\"🇹🇹\",tunisia:\"🇹🇳\",tr:\"🇹🇷\",turkmenistan:\"🇹🇲\",turks_caicos_islands:\"🇹🇨\",tuvalu:\"🇹🇻\",uganda:\"🇺🇬\",ukraine:\"🇺🇦\",united_arab_emirates:\"🇦🇪\",gb:\"🇬🇧\",uk:\"🇬🇧\",us:\"🇺🇸\",us_virgin_islands:\"🇻🇮\",uruguay:\"🇺🇾\",uzbekistan:\"🇺🇿\",vanuatu:\"🇻🇺\",vatican_city:\"🇻🇦\",venezuela:\"🇻🇪\",vietnam:\"🇻🇳\",wallis_futuna:\"🇼🇫\",western_sahara:\"🇪🇭\",yemen:\"🇾🇪\",zambia:\"🇿🇲\",zimbabwe:\"🇿🇼\"}},function(e,t,n){\"use strict\";e.exports={angry:[\">:(\",\">:-(\"],blush:[':\")',':-\")'],broken_heart:[\"</3\",\"<\\\\3\"],confused:[\":/\",\":-/\"],cry:[\":'(\",\":'-(\",\":,(\",\":,-(\"],frowning:[\":(\",\":-(\"],heart:[\"<3\"],imp:[\"]:(\",\"]:-(\"],innocent:[\"o:)\",\"O:)\",\"o:-)\",\"O:-)\",\"0:)\",\"0:-)\"],joy:[\":')\",\":'-)\",\":,)\",\":,-)\",\":'D\",\":'-D\",\":,D\",\":,-D\"],kissing:[\":*\",\":-*\"],laughing:[\"x-)\",\"X-)\"],neutral_face:[\":|\",\":-|\"],open_mouth:[\":o\",\":-o\",\":O\",\":-O\"],rage:[\":@\",\":-@\"],smile:[\":D\",\":-D\"],smiley:[\":)\",\":-)\"],smiling_imp:[\"]:)\",\"]:-)\"],sob:[\":,'(\",\":,'-(\",\";(\",\";-(\"],stuck_out_tongue:[\":P\",\":-P\"],sunglasses:[\"8-)\",\"B-)\"],sweat:[\",:(\",\",:-(\"],sweat_smile:[\",:)\",\",:-)\"],unamused:[\":s\",\":-S\",\":z\",\":-Z\",\":$\",\":-$\"],wink:[\";)\",\";-)\"]}},function(e,t,n){\"use strict\";function r(e){return e.replace(/[.?*+^$[\\]\\\\(){}|-]/g,\"\\\\$&\")}e.exports=function(e){var t,n=e.defs;e.enabled.length&&(n=Object.keys(n).reduce(function(t,r){return e.enabled.indexOf(r)>=0&&(t[r]=n[r]),t},{})),t=Object.keys(e.shortcuts).reduce(function(t,r){return n[r]?Array.isArray(e.shortcuts[r])?(e.shortcuts[r].forEach(function(e){t[e]=r}),t):(t[e.shortcuts[r]]=r,t):t},{});var o=Object.keys(n).map(function(e){return\":\"+e+\":\"}).concat(Object.keys(t)).sort().reverse().map(function(e){return r(e)}).join(\"|\"),i=RegExp(o),a=RegExp(o,\"g\");return{defs:n,shortcuts:t,scanRE:i,replaceRE:a}}},function(e,t,n){\"use strict\";e.exports=function(e,t){return e[t].content}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r,o){function i(e,r,i){var a,s=0,c=[];return e.replace(o,function(r,o,u){var p;if(n.hasOwnProperty(r)){if(p=n[r],o>0&&!l.test(u[o-1]))return;if(o+r.length<u.length&&!l.test(u[o+r.length]))return}else p=r.slice(1,-1);o>s&&(a=new i(\"text\",\"\",0),a.content=e.slice(s,o),c.push(a)),a=new i(\"emoji\",\"\",0),a.markup=p,a.content=t[p],c.push(a),s=o+r.length}),s<e.length&&(a=new i(\"text\",\"\",0),a.content=e.slice(s),c.push(a)),c}var a=e.utils.arrayReplaceAt,s=e.utils.lib.ucmicro,l=new RegExp([s.Z.source,s.P.source,s.Cc.source].join(\"|\"));return function(e){var t,n,o,s,l,c=e.tokens,u=0;for(n=0,o=c.length;n<o;n++)if(\"inline\"===c[n].type)for(s=c[n].children,t=s.length-1;t>=0;t--)l=s[t],\"link_open\"!==l.type&&\"link_close\"!==l.type||\"auto\"===l.info&&(u-=l.nesting),\"text\"===l.type&&0===u&&r.test(l.content)&&(c[n].children=s=a(s,t,i(l.content,l.level,e.Token)))}}},function(e,t,n){\"use strict\";function r(e,t,n,r){var o=Number(e[t].meta.id+1).toString(),i=\"\";return\"string\"==typeof r.docId&&(i=\"-\"+r.docId+\"-\"),i+o}function o(e,t){var n=Number(e[t].meta.id+1).toString();return e[t].meta.subId>0&&(n+=\":\"+e[t].meta.subId),\"[\"+n+\"]\"}function i(e,t,n,r,o){var i=o.rules.footnote_anchor_name(e,t,n,r,o),a=o.rules.footnote_caption(e,t,n,r,o),s=i;return e[t].meta.subId>0&&(s+=\":\"+e[t].meta.subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+i+'\" id=\"fnref'+s+'\">'+a+\"</a></sup>\"}function a(e,t,n){return(n.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n')+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'}function s(){return\"</ol>\\n</section>\\n\"}function l(e,t,n,r,o){var i=o.rules.footnote_anchor_name(e,t,n,r,o);return e[t].meta.subId>0&&(i+=\":\"+e[t].meta.subId),'<li id=\"fn'+i+'\" class=\"footnote-item\">'}function c(){return\"</li>\\n\"}function u(e,t,n,r,o){var i=o.rules.footnote_anchor_name(e,t,n,r,o);return e[t].meta.subId>0&&(i+=\":\"+e[t].meta.subId),' <a href=\"#fnref'+i+'\" class=\"footnote-backref\">↩︎</a>'}e.exports=function(e){function t(e,t,n,r){var o,i,a,s,l,c,u,p,d,h,_,g=e.bMarks[t]+e.tShift[t],m=e.eMarks[t];if(g+4>m)return!1;if(91!==e.src.charCodeAt(g))return!1;if(94!==e.src.charCodeAt(g+1))return!1;for(l=g+2;l<m;l++){if(32===e.src.charCodeAt(l))return!1;if(93===e.src.charCodeAt(l))break}if(l===g+2)return!1;if(l+1>=m||58!==e.src.charCodeAt(++l))return!1;if(r)return!0;for(l++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),c=e.src.slice(g+2,l-2),e.env.footnotes.refs[\":\"+c]=-1,u=new e.Token(\"footnote_reference_open\",\"\",1),u.meta={label:c},u.level=e.level++,e.tokens.push(u),o=e.bMarks[t],i=e.tShift[t],a=e.sCount[t],s=e.parentType,_=l,p=d=e.sCount[t]+l-(e.bMarks[t]+e.tShift[t]);l<m&&(h=e.src.charCodeAt(l),f(h));)9===h?d+=4-d%4:d++,l++;return e.tShift[t]=l-_,e.sCount[t]=d-p,e.bMarks[t]=_,e.blkIndent+=4,e.parentType=\"footnote\",e.sCount[t]<e.blkIndent&&(e.sCount[t]+=e.blkIndent),e.md.block.tokenize(e,t,n,!0),e.parentType=s,e.blkIndent-=4,e.tShift[t]=i,e.sCount[t]=a,e.bMarks[t]=o,u=new e.Token(\"footnote_reference_close\",\"\",-1),u.level=--e.level,e.tokens.push(u),!0}function n(e,t){var n,r,o,i,a,s=e.posMax,l=e.pos;return!(l+2>=s)&&(94===e.src.charCodeAt(l)&&(91===e.src.charCodeAt(l+1)&&(n=l+2,!((r=h(e,l+1))<0)&&(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),o=e.env.footnotes.list.length,e.md.inline.parse(e.src.slice(n,r),e.md,e.env,a=[]),i=e.push(\"footnote_ref\",\"\",0),i.meta={id:o},e.env.footnotes.list[o]={content:e.src.slice(n,r),tokens:a}),e.pos=r+1,e.posMax=s,!0))))}function p(e,t){var n,r,o,i,a,s=e.posMax,l=e.pos;if(l+3>s)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(l))return!1;if(94!==e.src.charCodeAt(l+1))return!1;for(r=l+2;r<s;r++){if(32===e.src.charCodeAt(r))return!1;if(10===e.src.charCodeAt(r))return!1;if(93===e.src.charCodeAt(r))break}return r!==l+2&&(!(r>=s)&&(r++,n=e.src.slice(l+2,r-1),void 0!==e.env.footnotes.refs[\":\"+n]&&(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[\":\"+n]<0?(o=e.env.footnotes.list.length,e.env.footnotes.list[o]={label:n,count:0},e.env.footnotes.refs[\":\"+n]=o):o=e.env.footnotes.refs[\":\"+n],i=e.env.footnotes.list[o].count,e.env.footnotes.list[o].count++,a=e.push(\"footnote_ref\",\"\",0),a.meta={id:o,subId:i,label:n}),e.pos=r,e.posMax=s,!0)))}function d(e){var t,n,r,o,i,a,s,l,c,u,p=!1,d={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return\"footnote_reference_open\"===e.type?(p=!0,c=[],u=e.meta.label,!1):\"footnote_reference_close\"===e.type?(p=!1,d[\":\"+u]=c,!1):(p&&c.push(e),!p)}),e.env.footnotes.list)){for(a=e.env.footnotes.list,s=new e.Token(\"footnote_block_open\",\"\",1),e.tokens.push(s),t=0,n=a.length;t<n;t++){for(s=new e.Token(\"footnote_open\",\"\",1),s.meta={id:t,label:a[t].label},e.tokens.push(s),a[t].tokens?(l=[],s=new e.Token(\"paragraph_open\",\"p\",1),s.block=!0,l.push(s),s=new e.Token(\"inline\",\"\",0),s.children=a[t].tokens,s.content=a[t].content,l.push(s),s=new e.Token(\"paragraph_close\",\"p\",-1),s.block=!0,l.push(s)):a[t].label&&(l=d[\":\"+a[t].label]),e.tokens=e.tokens.concat(l),i=\"paragraph_close\"===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,o=a[t].count>0?a[t].count:1,r=0;r<o;r++)s=new e.Token(\"footnote_anchor\",\"\",0),s.meta={id:t,subId:r,label:a[t].label},e.tokens.push(s);i&&e.tokens.push(i),s=new e.Token(\"footnote_close\",\"\",-1),e.tokens.push(s)}s=new e.Token(\"footnote_block_close\",\"\",-1),e.tokens.push(s)}}var h=e.helpers.parseLinkLabel,f=e.utils.isSpace;e.renderer.rules.footnote_ref=i,e.renderer.rules.footnote_block_open=a,e.renderer.rules.footnote_block_close=s,e.renderer.rules.footnote_open=l,e.renderer.rules.footnote_close=c,e.renderer.rules.footnote_anchor=u,e.renderer.rules.footnote_caption=o,e.renderer.rules.footnote_anchor_name=r,e.block.ruler.before(\"reference\",\"footnote_def\",t,{alt:[\"paragraph\",\"reference\"]}),e.inline.ruler.after(\"image\",\"footnote_inline\",n),e.inline.ruler.after(\"footnote_inline\",\"footnote_ref\",p),e.core.ruler.after(\"inline\",\"footnote_tail\",d)}},function(e,t){var n=function(e,t){t=t||{},void 0===t.highlighted&&(t.highlighted=!0),void 0===t.hljs&&(t.hljs=\"auto\"),\"function\"!=typeof t.langCheck&&(t.langCheck=function(){}),e.options.highlight=function(n,r){var o=t.hljs;if(\"auto\"===t.hljs&&(o=window.hljs),t.highlighted&&r&&o){if(o.getLanguage(r))return'<pre><div class=\"hljs\"><code class=\"'+e.options.langPrefix+r+'\">'+o.highlight(r,n,!0).value+\"</code></div></pre>\";\"function\"==typeof t.langCheck&&t.langCheck(r)}return'<pre><code class=\"'+e.options.langPrefix+r+'\">'+e.utils.escapeHtml(n)+\"</code></pre>\"}};e.exports=n},function(e,t){e.exports=function(e,t){e.image_add=function(t,n){e.__image instanceof Object||(e.__image={}),e.__image[t]=n},e.image_del=function(t){e.__image instanceof Object||(e.__image={}),delete e.__image[t]};var n=e.renderer.rules.image;e.renderer.rules.image=function(t,r,o,i,a){var s=t[r].attrs;if(e.__image instanceof Object)for(var l=0;l<s.length;l++)if(\"src\"==s[l][0]&&e.__image.hasOwnProperty(t[r].attrs[l][1])){s.push([\"rel\",s[l][1]]),s[l][1]=e.__image[t[r].attrs[l][1]];break}return n(t,r,o,i,a)}}},function(e,t,n){\"use strict\";e.exports=function(e){function t(e,t){var n,r,o,i,a,s=e.pos,l=e.src.charCodeAt(s);if(t)return!1;if(43!==l)return!1;if(r=e.scanDelims(e.pos,!0),i=r.length,a=String.fromCharCode(l),i<2)return!1;for(i%2&&(o=e.push(\"text\",\"\",0),o.content=a,i--),n=0;n<i;n+=2)o=e.push(\"text\",\"\",0),o.content=a+a,e.delimiters.push({marker:l,jump:n,token:e.tokens.length-1,level:e.level,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0}function n(e){var t,n,r,o,i,a=[],s=e.delimiters,l=e.delimiters.length;for(t=0;t<l;t++)r=s[t],43===r.marker&&-1!==r.end&&(o=s[r.end],i=e.tokens[r.token],i.type=\"ins_open\",i.tag=\"ins\",i.nesting=1,i.markup=\"++\",i.content=\"\",i=e.tokens[o.token],i.type=\"ins_close\",i.tag=\"ins\",i.nesting=-1,i.markup=\"++\",i.content=\"\",\"text\"===e.tokens[o.token-1].type&&\"+\"===e.tokens[o.token-1].content&&a.push(o.token-1));for(;a.length;){for(t=a.pop(),n=t+1;n<e.tokens.length&&\"ins_close\"===e.tokens[n].type;)n++;n--,t!==n&&(i=e.tokens[n],e.tokens[n]=e.tokens[t],e.tokens[t]=i)}}e.inline.ruler.before(\"emphasis\",\"ins\",t),e.inline.ruler2.before(\"emphasis\",\"ins\",n)}},function(e,t,n){\"use strict\";function r(e,t){var n,r,o=e.posMax,i=!0,a=!0;return n=t>0?e.src.charCodeAt(t-1):-1,r=t+1<=o?e.src.charCodeAt(t+1):-1,(32===n||9===n||r>=48&&r<=57)&&(a=!1),32!==r&&9!==r||(i=!1),{can_open:i,can_close:a}}function o(e,t){if(!a&&window.katex&&(a=window.katex),!a)return!1;var n,o,i,s,l;if(\"$\"!==e.src[e.pos])return!1;if(s=r(e,e.pos),!s.can_open)return t||(e.pending+=\"$\"),e.pos+=1,!0;for(n=e.pos+1,o=n;-1!==(o=e.src.indexOf(\"$\",o));){for(l=o-1;\"\\\\\"===e.src[l];)l-=1;if((o-l)%2==1)break;o+=1}return-1===o?(t||(e.pending+=\"$\"),e.pos=n,!0):o-n==0?(t||(e.pending+=\"$$\"),e.pos=n+1,!0):(s=r(e,o),s.can_close?(t||(i=e.push(\"math_inline\",\"math\",0),i.markup=\"$\",i.content=e.src.slice(n,o)),e.pos=o+1,!0):(t||(e.pending+=\"$\"),e.pos=n,!0))}function i(e,t,n,r){if(!a&&window.katex&&(a=window.katex),!a)return!1;var o,i,s,l,c,u=!1,p=e.bMarks[t]+e.tShift[t],d=e.eMarks[t];if(p+2>d)return!1;if(\"$$\"!==e.src.slice(p,p+2))return!1;if(p+=2,o=e.src.slice(p,d),r)return!0;for(\"$$\"===o.trim().slice(-2)&&(o=o.trim().slice(0,-2),u=!0),s=t;!u&&!(++s>=n)&&(p=e.bMarks[s]+e.tShift[s],d=e.eMarks[s],!(p<d&&e.tShift[s]<e.blkIndent));)\"$$\"===e.src.slice(p,d).trim().slice(-2)&&(l=e.src.slice(0,d).lastIndexOf(\"$$\"),i=e.src.slice(p,l),u=!0);return e.line=s+1,c=e.push(\"math_block\",\"math\",0),c.block=!0,c.content=(o&&o.trim()?o+\"\\n\":\"\")+e.getLines(t+1,s,e.tShift[t],!0)+(i&&i.trim()?i:\"\"),c.map=[t,e.line],c.markup=\"$$\",!0}var a=null;e.exports=function(e,t){t=t||{};var n=function(e){!a&&window.katex&&(a=window.katex),t.displayMode=!1;try{return a.renderToString(e,t)}catch(n){return t.throwOnError&&console.log(n),e}},r=function(e,t){return n(e[t].content)},s=function(e){!a&&window.katex&&(a=window.katex),t.displayMode=!0;try{return\"<p>\"+a.renderToString(e,t)+\"</p>\"}catch(n){return t.throwOnError&&console.log(n),e}},l=function(e,t){return s(e[t].content)+\"\\n\"};e.inline.ruler.after(\"escape\",\"math_inline\",o),e.block.ruler.after(\"blockquote\",\"math_block\",i,{alt:[\"paragraph\",\"reference\",\"blockquote\",\"list\"]}),e.renderer.rules.math_inline=r,e.renderer.rules.math_block=l}},function(e,t,n){\"use strict\";e.exports=function(e){function t(e,t){var n,r,o,i,a,s=e.pos,l=e.src.charCodeAt(s);if(t)return!1;if(61!==l)return!1;if(r=e.scanDelims(e.pos,!0),i=r.length,a=String.fromCharCode(l),i<2)return!1;for(i%2&&(o=e.push(\"text\",\"\",0),o.content=a,i--),n=0;n<i;n+=2)o=e.push(\"text\",\"\",0),o.content=a+a,e.delimiters.push({marker:l,jump:n,token:e.tokens.length-1,level:e.level,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0}function n(e){var t,n,r,o,i,a=[],s=e.delimiters,l=e.delimiters.length;for(t=0;t<l;t++)r=s[t],61===r.marker&&-1!==r.end&&(o=s[r.end],i=e.tokens[r.token],i.type=\"mark_open\",i.tag=\"mark\",i.nesting=1,i.markup=\"==\",i.content=\"\",i=e.tokens[o.token],i.type=\"mark_close\",i.tag=\"mark\",i.nesting=-1,i.markup=\"==\",i.content=\"\",\"text\"===e.tokens[o.token-1].type&&\"=\"===e.tokens[o.token-1].content&&a.push(o.token-1));for(;a.length;){for(t=a.pop(),n=t+1;n<e.tokens.length&&\"mark_close\"===e.tokens[n].type;)n++;n--,t!==n&&(i=e.tokens[n],e.tokens[n]=e.tokens[t],e.tokens[t]=i)}}e.inline.ruler.before(\"emphasis\",\"mark\",t),e.inline.ruler2.before(\"emphasis\",\"mark\",n)}},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,a=e.posMax,s=e.pos;if(126!==e.src.charCodeAt(s))return!1;if(t)return!1;if(s+2>=a)return!1;for(e.pos=s+1;e.pos<a;){if(126===e.src.charCodeAt(e.pos)){n=!0;break}e.md.inline.skipToken(e)}return n&&s+1!==e.pos?(r=e.src.slice(s+1,e.pos),r.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,i=e.push(\"sub_open\",\"sub\",1),i.markup=\"~\",i=e.push(\"text\",\"\",0),i.content=r.replace(o,\"$1\"),i=e.push(\"sub_close\",\"sub\",-1),i.markup=\"~\",e.pos=e.posMax+1,e.posMax=a,!0)):(e.pos=s,!1)}var o=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;e.exports=function(e){e.inline.ruler.after(\"emphasis\",\"sub\",r)}},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,a=e.posMax,s=e.pos;if(94!==e.src.charCodeAt(s))return!1;if(t)return!1;if(s+2>=a)return!1;for(e.pos=s+1;e.pos<a;){if(94===e.src.charCodeAt(e.pos)){n=!0;break}e.md.inline.skipToken(e)}return n&&s+1!==e.pos?(r=e.src.slice(s+1,e.pos),r.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,i=e.push(\"sup_open\",\"sup\",1),i.markup=\"^\",i=e.push(\"text\",\"\",0),i.content=r.replace(o,\"$1\"),i=e.push(\"sup_close\",\"sup\",-1),i.markup=\"^\",e.pos=e.posMax+1,e.posMax=a,!0)):(e.pos=s,!1)}var o=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;e.exports=function(e){e.inline.ruler.after(\"emphasis\",\"sup\",r)}},function(e,t){function n(e,t,n){var r=e.attrIndex(t),o=[t,n];r<0?e.attrPush(o):e.attrs[r]=o}function r(e,t){for(var n=e[t].level-1,r=t-1;r>=0;r--)if(e[r].level===n)return r;return-1}function o(e,t){return u(e[t])&&p(e[t-1])&&d(e[t-2])&&h(e[t])}function i(e,t){if(e.children.unshift(a(e,t)),e.children[1].content=e.children[1].content.slice(3),e.content=e.content.slice(3),_)if(g){e.children.pop();var n=\"task-item-\"+Math.ceil(1e7*Math.random()-1e3);e.children[0].content=e.children[0].content.slice(0,-1)+' id=\"'+n+'\">',e.children.push(c(e.content,n,t))}else e.children.unshift(s(t)),e.children.push(l(t))}function a(e,t){var n=new t(\"html_inline\",\"\",0),r=f?' disabled=\"\" ':\"\";return 0===e.content.indexOf(\"[ ] \")?n.content='<input class=\"task-list-item-checkbox\"'+r+'type=\"checkbox\">':0!==e.content.indexOf(\"[x] \")&&0!==e.content.indexOf(\"[X] \")||(n.content='<input class=\"task-list-item-checkbox\" checked=\"\"'+r+'type=\"checkbox\">'),n}function s(e){var t=new e(\"html_inline\",\"\",0);return t.content=\"<label>\",t}function l(e){var t=new e(\"html_inline\",\"\",0);return t.content=\"</label>\",t}function c(e,t,n){var r=new n(\"html_inline\",\"\",0);return r.content='<label class=\"task-list-item-label\" for=\"'+t+'\">'+e+\"</label>\",r.attrs=[{for:t}],r}function u(e){return\"inline\"===e.type}function p(e){return\"paragraph_open\"===e.type}function d(e){return\"list_item_open\"===e.type}function h(e){return 0===e.content.indexOf(\"[ ] \")||0===e.content.indexOf(\"[x] \")||0===e.content.indexOf(\"[X] \")}var f=!0,_=!1,g=!1;e.exports=function(e,t){t&&(f=!t.enabled,_=!!t.label,g=!!t.labelAfter),e.core.ruler.after(\"inline\",\"github-task-lists\",function(e){for(var t=e.tokens,a=2;a<t.length;a++)o(t,a)&&(i(t[a],e.Token),n(t[a-2],\"class\",\"task-list-item\"+(f?\"\":\" enabled\")),n(t[r(t,a-2)],\"class\",\"contains-task-list\"))})}},function(e,t,n){\"use strict\";e.exports=function(e){function t(e,t){for(;e.src.indexOf(\"\\n\")>=0&&e.src.indexOf(\"\\n\")<e.src.indexOf(\"@[toc]\");)\"softbreak\"===e.tokens.slice(-1)[0].type&&(e.src=e.src.split(\"\\n\").slice(1).join(\"\\n\"),e.pos=0);var n;if(64!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;var i=r.exec(e.src);if(!i)return!1;if(i=i.filter(function(e){return e}),i.length<1)return!1;if(t)return!1;n=e.push(\"toc_open\",\"toc\",1),n.markup=\"@[toc]\",n=e.push(\"toc_body\",\"\",0);var a=o;i.length>1&&(a=i.pop()),n.content=a,n=e.push(\"toc_close\",\"toc\",-1);var s=0,l=e.src.indexOf(\"\\n\");return s=-1!==l?e.pos+l:e.pos+e.posMax+1,e.pos=s,!0}var n,r=/^@\\[toc\\](?:\\((?:\\s+)?([^\\)]+)(?:\\s+)?\\)?)?(?:\\s+?)?$/im,o=\"Table of Contents\",i=function(e){return e.replace(/[^\\w\\s]/gi,\"\").split(\" \").join(\"_\")};e.renderer.rules.heading_open=function(e,t){var n=e[t].tag,r=e[t+1];if(\"inline\"===r.type){return\"<\"+n+'><a id=\"'+(i(r.content)+\"_\"+r.map[0])+'\"></a>'}return\"</h1>\"},e.renderer.rules.toc_open=function(e,t){return\"\"},e.renderer.rules.toc_close=function(e,t){return\"\"},e.renderer.rules.toc_body=function(e,t){for(var r=[],o=n.tokens,a=o.length,s=0;s<a;s++)if(\"heading_close\"===o[s].type){var l=o[s],c=o[s-1];\"inline\"===c.type&&r.push({level:+l.tag.substr(1,1),anchor:i(c.content)+\"_\"+c.map[0],content:c.content})}var u=0,p=r.map(function(e){var t=[];if(e.level>u)for(var n=e.level-u,r=0;r<n;r++)t.push(\"<ul>\"),u++;else if(e.level<u)for(var n=u-e.level,r=0;r<n;r++)t.push(\"</ul>\"),u--;return t=t.concat(['<li><a href=\"#',e.anchor,'\">',e.content,\"</a></li>\"]),t.join(\"\")});return\"<h3>\"+e[t].content+\"</h3>\"+p.join(\"\")+new Array(u+1).join(\"</ul>\")},e.core.ruler.push(\"grab_state\",function(e){n=e}),e.inline.ruler.after(\"emphasis\",\"toc\",t)}},function(e,t,n){\"use strict\";e.exports=n(143)},function(e,t,n){\"use strict\";e.exports=[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"section\",\"source\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]},function(e,t,n){\"use strict\";t.parseLinkLabel=n(141),t.parseLinkDestination=n(140),t.parseLinkTitle=n(142)},function(e,t,n){\"use strict\";var r=n(0).unescapeAll;e.exports=function(e,t,n){var o,i,a=t,s={ok:!1,pos:0,lines:0,str:\"\"};if(60===e.charCodeAt(t)){for(t++;t<n;){if(10===(o=e.charCodeAt(t)))return s;if(62===o)return s.pos=t+1,s.str=r(e.slice(a+1,t)),s.ok=!0,s;92===o&&t+1<n?t+=2:t++}return s}for(i=0;t<n&&32!==(o=e.charCodeAt(t))&&!(o<32||127===o);)if(92===o&&t+1<n)t+=2;else{if(40===o&&i++,41===o){if(0===i)break;i--}t++}return a===t?s:0!==i?s:(s.str=r(e.slice(a,t)),s.lines=0,s.pos=t,s.ok=!0,s)}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,o,i,a,s=-1,l=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<l;){if(93===(i=e.src.charCodeAt(e.pos))&&0===--r){o=!0;break}if(a=e.pos,e.md.inline.skipToken(e),91===i)if(a===e.pos-1)r++;else if(n)return e.pos=c,-1}return o&&(s=e.pos),e.pos=c,s}},function(e,t,n){\"use strict\";var r=n(0).unescapeAll;e.exports=function(e,t,n){var o,i,a=0,s=t,l={ok:!1,pos:0,lines:0,str:\"\"};if(t>=n)return l;if(34!==(i=e.charCodeAt(t))&&39!==i&&40!==i)return l;for(t++,40===i&&(i=41);t<n;){if((o=e.charCodeAt(t))===i)return l.pos=t+1,l.lines=a,l.str=r(e.slice(s+1,t)),l.ok=!0,l;10===o?a++:92===o&&t+1<n&&(t++,10===e.charCodeAt(t)&&a++),t++}return l}},function(e,t,n){\"use strict\";function r(e){var t=e.trim().toLowerCase();return!m.test(t)||!!b.test(t)}function o(e){var t=f.parse(e,!0);if(t.hostname&&(!t.protocol||v.indexOf(t.protocol)>=0))try{t.hostname=_.toASCII(t.hostname)}catch(e){}return f.encode(f.format(t))}function i(e){var t=f.parse(e,!0);if(t.hostname&&(!t.protocol||v.indexOf(t.protocol)>=0))try{t.hostname=_.toUnicode(t.hostname)}catch(e){}return f.decode(f.format(t))}function a(e,t){if(!(this instanceof a))return new a(e,t);t||s.isString(e)||(t=e||{},e=\"default\"),this.inline=new d,this.block=new p,this.core=new u,this.renderer=new c,this.linkify=new h,this.validateLink=r,this.normalizeLink=o,this.normalizeLinkText=i,this.utils=s,this.helpers=s.assign({},l),this.options={},this.configure(e),t&&this.set(t)}var s=n(0),l=n(139),c=n(150),u=n(145),p=n(144),d=n(146),h=n(116),f=n(56),_=n(186),g={default:n(148),zero:n(149),commonmark:n(147)},m=/^(vbscript|javascript|file|data):/,b=/^data:image\\/(gif|png|jpeg|webp);/,v=[\"http:\",\"https:\",\"mailto:\"];a.prototype.set=function(e){return s.assign(this.options,e),this},a.prototype.configure=function(e){var t,n=this;if(s.isString(e)&&(t=e,!(e=g[t])))throw new Error('Wrong `markdown-it` preset \"'+t+'\", check name');if(!e)throw new Error(\"Wrong `markdown-it` preset, can't be empty\");return e.options&&n.set(e.options),e.components&&Object.keys(e.components).forEach(function(t){e.components[t].rules&&n[t].ruler.enableOnly(e.components[t].rules),e.components[t].rules2&&n[t].ruler2.enableOnly(e.components[t].rules2)}),this},a.prototype.enable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),[\"core\",\"block\",\"inline\"].forEach(function(t){n=n.concat(this[t].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));var r=e.filter(function(e){return n.indexOf(e)<0});if(r.length&&!t)throw new Error(\"MarkdownIt. Failed to enable unknown rule(s): \"+r);return this},a.prototype.disable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),[\"core\",\"block\",\"inline\"].forEach(function(t){n=n.concat(this[t].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));var r=e.filter(function(e){return n.indexOf(e)<0});if(r.length&&!t)throw new Error(\"MarkdownIt. Failed to disable unknown rule(s): \"+r);return this},a.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},a.prototype.parse=function(e,t){if(\"string\"!=typeof e)throw new Error(\"Input data should be a String\");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens},a.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},a.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens},a.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},e.exports=a},function(e,t,n){\"use strict\";function r(){this.ruler=new o;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1],{alt:(i[e][2]||[]).slice()})}var o=n(32),i=[[\"table\",n(162),[\"paragraph\",\"reference\"]],[\"code\",n(152)],[\"fence\",n(153),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"blockquote\",n(151),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"hr\",n(155),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"list\",n(158),[\"paragraph\",\"reference\",\"blockquote\"]],[\"reference\",n(160)],[\"heading\",n(154),[\"paragraph\",\"reference\",\"blockquote\"]],[\"lheading\",n(157)],[\"html_block\",n(156),[\"paragraph\",\"reference\",\"blockquote\"]],[\"paragraph\",n(159)]];r.prototype.tokenize=function(e,t,n){for(var r,o=this.ruler.getRules(\"\"),i=o.length,a=t,s=!1,l=e.md.options.maxNesting;a<n&&(e.line=a=e.skipEmptyLines(a),!(a>=n))&&!(e.sCount[a]<e.blkIndent);){if(e.level>=l){e.line=n;break}for(r=0;r<i&&!o[r](e,a,n,!1);r++);e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),(a=e.line)<n&&e.isEmpty(a)&&(s=!0,a++,e.line=a)}},r.prototype.parse=function(e,t,n,r){var o;e&&(o=new this.State(e,t,n,r),this.tokenize(o,o.line,o.lineMax))},r.prototype.State=n(161),e.exports=r},function(e,t,n){\"use strict\";function r(){this.ruler=new o;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1])}var o=n(32),i=[[\"normalize\",n(166)],[\"block\",n(163)],[\"inline\",n(164)],[\"linkify\",n(165)],[\"replacements\",n(167)],[\"smartquotes\",n(168)]];r.prototype.process=function(e){var t,n,r;for(r=this.ruler.getRules(\"\"),t=0,n=r.length;t<n;t++)r[t](e)},r.prototype.State=n(169),e.exports=r},function(e,t,n){\"use strict\";function r(){var e;for(this.ruler=new o,e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1]);for(this.ruler2=new o,e=0;e<a.length;e++)this.ruler2.push(a[e][0],a[e][1])}var o=n(32),i=[[\"text\",n(180)],[\"newline\",n(178)],[\"escape\",n(174)],[\"backticks\",n(171)],[\"strikethrough\",n(55).tokenize],[\"emphasis\",n(54).tokenize],[\"link\",n(177)],[\"image\",n(176)],[\"autolink\",n(170)],[\"html_inline\",n(175)],[\"entity\",n(173)]],a=[[\"balance_pairs\",n(172)],[\"strikethrough\",n(55).postProcess],[\"emphasis\",n(54).postProcess],[\"text_collapse\",n(181)]];r.prototype.skipToken=function(e){var t,n,r=e.pos,o=this.ruler.getRules(\"\"),i=o.length,a=e.md.options.maxNesting,s=e.cache;if(void 0!==s[r])return void(e.pos=s[r]);if(e.level<a)for(n=0;n<i&&(e.level++,t=o[n](e,!0),e.level--,!t);n++);else e.pos=e.posMax;t||e.pos++,s[r]=e.pos},r.prototype.tokenize=function(e){for(var t,n,r=this.ruler.getRules(\"\"),o=r.length,i=e.posMax,a=e.md.options.maxNesting;e.pos<i;){if(e.level<a)for(n=0;n<o&&!(t=r[n](e,!1));n++);if(t){if(e.pos>=i)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},r.prototype.parse=function(e,t,n,r){var o,i,a,s=new this.State(e,t,n,r);for(this.tokenize(s),i=this.ruler2.getRules(\"\"),a=i.length,o=0;o<a;o++)i[o](s)},r.prototype.State=n(179),e.exports=r},function(e,t,n){\"use strict\";e.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"normalize\",\"block\",\"inline\"]},block:{rules:[\"blockquote\",\"code\",\"fence\",\"heading\",\"hr\",\"html_block\",\"lheading\",\"list\",\"reference\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"html_inline\",\"image\",\"link\",\"newline\",\"text\"],rules2:[\"balance_pairs\",\"emphasis\",\"text_collapse\"]}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"normalize\",\"block\",\"inline\"]},block:{rules:[\"paragraph\"]},inline:{rules:[\"text\"],rules2:[\"balance_pairs\",\"text_collapse\"]}}}},function(e,t,n){\"use strict\";function r(){this.rules=o({},s)}var o=n(0).assign,i=n(0).unescapeAll,a=n(0).escapeHtml,s={};s.code_inline=function(e,t,n,r,o){var i=e[t];return\"<code\"+o.renderAttrs(i)+\">\"+a(e[t].content)+\"</code>\"},s.code_block=function(e,t,n,r,o){var i=e[t];return\"<pre\"+o.renderAttrs(i)+\"><code>\"+a(e[t].content)+\"</code></pre>\\n\"},s.fence=function(e,t,n,r,o){var s,l,c,u,p=e[t],d=p.info?i(p.info).trim():\"\",h=\"\";return d&&(h=d.split(/\\s+/g)[0]),s=n.highlight?n.highlight(p.content,h)||a(p.content):a(p.content),0===s.indexOf(\"<pre\")?s+\"\\n\":d?(l=p.attrIndex(\"class\"),c=p.attrs?p.attrs.slice():[],l<0?c.push([\"class\",n.langPrefix+h]):c[l][1]+=\" \"+n.langPrefix+h,u={attrs:c},\"<pre><code\"+o.renderAttrs(u)+\">\"+s+\"</code></pre>\\n\"):\"<pre><code\"+o.renderAttrs(p)+\">\"+s+\"</code></pre>\\n\"},s.image=function(e,t,n,r,o){var i=e[t];return i.attrs[i.attrIndex(\"alt\")][1]=o.renderInlineAsText(i.children,n,r),o.renderToken(e,t,n)},s.hardbreak=function(e,t,n){return n.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},s.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},s.text=function(e,t){return a(e[t].content)},s.html_block=function(e,t){return e[t].content},s.html_inline=function(e,t){return e[t].content},r.prototype.renderAttrs=function(e){var t,n,r;if(!e.attrs)return\"\";for(r=\"\",t=0,n=e.attrs.length;t<n;t++)r+=\" \"+a(e.attrs[t][0])+'=\"'+a(e.attrs[t][1])+'\"';return r},r.prototype.renderToken=function(e,t,n){var r,o=\"\",i=!1,a=e[t];return a.hidden?\"\":(a.block&&-1!==a.nesting&&t&&e[t-1].hidden&&(o+=\"\\n\"),o+=(-1===a.nesting?\"</\":\"<\")+a.tag,o+=this.renderAttrs(a),0===a.nesting&&n.xhtmlOut&&(o+=\" /\"),a.block&&(i=!0,1===a.nesting&&t+1<e.length&&(r=e[t+1],\"inline\"===r.type||r.hidden?i=!1:-1===r.nesting&&r.tag===a.tag&&(i=!1))),o+=i?\">\\n\":\">\")},r.prototype.renderInline=function(e,t,n){for(var r,o=\"\",i=this.rules,a=0,s=e.length;a<s;a++)r=e[a].type,void 0!==i[r]?o+=i[r](e,a,t,n,this):o+=this.renderToken(e,a,t);return o},r.prototype.renderInlineAsText=function(e,t,n){for(var r=\"\",o=0,i=e.length;o<i;o++)\"text\"===e[o].type?r+=e[o].content:\"image\"===e[o].type&&(r+=this.renderInlineAsText(e[o].children,t,n));return r},r.prototype.render=function(e,t,n){var r,o,i,a=\"\",s=this.rules;for(r=0,o=e.length;r<o;r++)i=e[r].type,\"inline\"===i?a+=this.renderInline(e[r].children,t,n):void 0!==s[i]?a+=s[e[r].type](e,r,t,n,this):a+=this.renderToken(e,r,t,n);return a},e.exports=r},function(e,t,n){\"use strict\";var r=n(0).isSpace;e.exports=function(e,t,n,o){var i,a,s,l,c,u,p,d,h,f,_,g,m,b,v,k,w,x,y,C,T=e.lineMax,A=e.bMarks[t]+e.tShift[t],S=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(62!==e.src.charCodeAt(A++))return!1;if(o)return!0;for(l=h=e.sCount[t]+A-(e.bMarks[t]+e.tShift[t]),32===e.src.charCodeAt(A)?(A++,l++,h++,i=!1,k=!0):9===e.src.charCodeAt(A)?(k=!0,(e.bsCount[t]+h)%4==3?(A++,l++,h++,i=!1):i=!0):k=!1,f=[e.bMarks[t]],e.bMarks[t]=A;A<S&&(a=e.src.charCodeAt(A),r(a));)9===a?h+=4-(h+e.bsCount[t]+(i?1:0))%4:h++,A++;for(_=[e.bsCount[t]],e.bsCount[t]=e.sCount[t]+1+(k?1:0),u=A>=S,b=[e.sCount[t]],e.sCount[t]=h-l,v=[e.tShift[t]],e.tShift[t]=A-e.bMarks[t],x=e.md.block.ruler.getRules(\"blockquote\"),m=e.parentType,e.parentType=\"blockquote\",C=!1,d=t+1;d<n&&(e.sCount[d]<e.blkIndent&&(C=!0),A=e.bMarks[d]+e.tShift[d],S=e.eMarks[d],!(A>=S));d++)if(62!==e.src.charCodeAt(A++)||C){if(u)break;for(w=!1,s=0,c=x.length;s<c;s++)if(x[s](e,d,n,!0)){w=!0;break}if(w){e.lineMax=d,0!==e.blkIndent&&(f.push(e.bMarks[d]),_.push(e.bsCount[d]),v.push(e.tShift[d]),b.push(e.sCount[d]),e.sCount[d]-=e.blkIndent);break}f.push(e.bMarks[d]),_.push(e.bsCount[d]),v.push(e.tShift[d]),b.push(e.sCount[d]),e.sCount[d]=-1}else{for(l=h=e.sCount[d]+A-(e.bMarks[d]+e.tShift[d]),32===e.src.charCodeAt(A)?(A++,l++,h++,i=!1,k=!0):9===e.src.charCodeAt(A)?(k=!0,(e.bsCount[d]+h)%4==3?(A++,l++,h++,i=!1):i=!0):k=!1,f.push(e.bMarks[d]),e.bMarks[d]=A;A<S&&(a=e.src.charCodeAt(A),r(a));)9===a?h+=4-(h+e.bsCount[d]+(i?1:0))%4:h++,A++;u=A>=S,_.push(e.bsCount[d]),e.bsCount[d]=e.sCount[d]+1+(k?1:0),b.push(e.sCount[d]),e.sCount[d]=h-l,v.push(e.tShift[d]),e.tShift[d]=A-e.bMarks[d]}for(g=e.blkIndent,e.blkIndent=0,y=e.push(\"blockquote_open\",\"blockquote\",1),y.markup=\">\",y.map=p=[t,0],e.md.block.tokenize(e,t,d),y=e.push(\"blockquote_close\",\"blockquote\",-1),y.markup=\">\",e.lineMax=T,e.parentType=m,p[1]=e.line,s=0;s<v.length;s++)e.bMarks[s+t]=f[s],e.tShift[s+t]=v[s],e.sCount[s+t]=b[s],e.bsCount[s+t]=_[s];return e.blkIndent=g,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,o,i;if(e.sCount[t]-e.blkIndent<4)return!1;for(o=r=t+1;r<n;)if(e.isEmpty(r))r++;else{if(!(e.sCount[r]-e.blkIndent>=4))break;r++,o=r}return e.line=o,i=e.push(\"code_block\",\"code\",0),i.content=e.getLines(t,o,4+e.blkIndent,!0),i.map=[t,e.line],!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var o,i,a,s,l,c,u,p=!1,d=e.bMarks[t]+e.tShift[t],h=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(d+3>h)return!1;if(126!==(o=e.src.charCodeAt(d))&&96!==o)return!1;if(l=d,d=e.skipChars(d,o),(i=d-l)<3)return!1;if(u=e.src.slice(l,d),a=e.src.slice(d,h),96===o&&a.indexOf(String.fromCharCode(o))>=0)return!1;if(r)return!0;for(s=t;!(++s>=n)&&(d=l=e.bMarks[s]+e.tShift[s],h=e.eMarks[s],!(d<h&&e.sCount[s]<e.blkIndent));)if(e.src.charCodeAt(d)===o&&!(e.sCount[s]-e.blkIndent>=4||(d=e.skipChars(d,o))-l<i||(d=e.skipSpaces(d))<h)){p=!0;break}return i=e.sCount[t],e.line=s+(p?1:0),c=e.push(\"fence\",\"code\",0),c.info=a,c.content=e.getLines(t+1,s,i,!0),c.markup=u,c.map=[t,e.line],!0}},function(e,t,n){\"use strict\";var r=n(0).isSpace;e.exports=function(e,t,n,o){var i,a,s,l,c=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(35!==(i=e.src.charCodeAt(c))||c>=u)return!1;for(a=1,i=e.src.charCodeAt(++c);35===i&&c<u&&a<=6;)a++,i=e.src.charCodeAt(++c);return!(a>6||c<u&&!r(i))&&(!!o||(u=e.skipSpacesBack(u,c),s=e.skipCharsBack(u,35,c),s>c&&r(e.src.charCodeAt(s-1))&&(u=s),e.line=t+1,l=e.push(\"heading_open\",\"h\"+String(a),1),l.markup=\"########\".slice(0,a),l.map=[t,e.line],l=e.push(\"inline\",\"\",0),l.content=e.src.slice(c,u).trim(),l.map=[t,e.line],l.children=[],l=e.push(\"heading_close\",\"h\"+String(a),-1),l.markup=\"########\".slice(0,a),!0))}},function(e,t,n){\"use strict\";var r=n(0).isSpace;e.exports=function(e,t,n,o){var i,a,s,l,c=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(42!==(i=e.src.charCodeAt(c++))&&45!==i&&95!==i)return!1;for(a=1;c<u;){if((s=e.src.charCodeAt(c++))!==i&&!r(s))return!1;s===i&&a++}return!(a<3)&&(!!o||(e.line=t+1,l=e.push(\"hr\",\"hr\",0),l.map=[t,e.line],l.markup=Array(a+1).join(String.fromCharCode(i)),!0))}},function(e,t,n){\"use strict\";var r=n(138),o=n(53).HTML_OPEN_CLOSE_TAG_RE,i=[[/^<(script|pre|style)(?=(\\s|>|$))/i,/<\\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\\?/,/\\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\\[CDATA\\[/,/\\]\\]>/,!0],[new RegExp(\"^</?(\"+r.join(\"|\")+\")(?=(\\\\s|/?>|$))\",\"i\"),/^$/,!0],[new RegExp(o.source+\"\\\\s*$\"),/^$/,!1]];e.exports=function(e,t,n,r){var o,a,s,l,c=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(c))return!1;for(l=e.src.slice(c,u),o=0;o<i.length&&!i[o][0].test(l);o++);if(o===i.length)return!1;if(r)return i[o][2];if(a=t+1,!i[o][1].test(l))for(;a<n&&!(e.sCount[a]<e.blkIndent);a++)if(c=e.bMarks[a]+e.tShift[a],u=e.eMarks[a],l=e.src.slice(c,u),i[o][1].test(l)){0!==l.length&&a++;break}return e.line=a,s=e.push(\"html_block\",\"\",0),s.map=[t,a],s.content=e.getLines(t,a,e.blkIndent,!0),!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,o,i,a,s,l,c,u,p,d,h=t+1,f=e.md.block.ruler.getRules(\"paragraph\");if(e.sCount[t]-e.blkIndent>=4)return!1;for(d=e.parentType,e.parentType=\"paragraph\";h<n&&!e.isEmpty(h);h++)if(!(e.sCount[h]-e.blkIndent>3)){if(e.sCount[h]>=e.blkIndent&&(l=e.bMarks[h]+e.tShift[h],c=e.eMarks[h],l<c&&(45===(p=e.src.charCodeAt(l))||61===p)&&(l=e.skipChars(l,p),(l=e.skipSpaces(l))>=c))){u=61===p?1:2;break}if(!(e.sCount[h]<0)){for(o=!1,i=0,a=f.length;i<a;i++)if(f[i](e,h,n,!0)){o=!0;break}if(o)break}}return!!u&&(r=e.getLines(t,h,e.blkIndent,!1).trim(),e.line=h+1,s=e.push(\"heading_open\",\"h\"+String(u),1),s.markup=String.fromCharCode(p),s.map=[t,e.line],s=e.push(\"inline\",\"\",0),s.content=r,s.map=[t,e.line-1],s.children=[],s=e.push(\"heading_close\",\"h\"+String(u),-1),s.markup=String.fromCharCode(p),e.parentType=d,!0)}},function(e,t,n){\"use strict\";function r(e,t){var n,r,o,i;return r=e.bMarks[t]+e.tShift[t],o=e.eMarks[t],n=e.src.charCodeAt(r++),42!==n&&45!==n&&43!==n?-1:r<o&&(i=e.src.charCodeAt(r),!a(i))?-1:r}function o(e,t){var n,r=e.bMarks[t]+e.tShift[t],o=r,i=e.eMarks[t];if(o+1>=i)return-1;if((n=e.src.charCodeAt(o++))<48||n>57)return-1;for(;;){if(o>=i)return-1;n=e.src.charCodeAt(o++);{if(!(n>=48&&n<=57)){if(41===n||46===n)break;return-1}if(o-r>=10)return-1}}return o<i&&(n=e.src.charCodeAt(o),!a(n))?-1:o}function i(e,t){var n,r,o=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===o&&\"paragraph_open\"===e.tokens[n].type&&(e.tokens[n+2].hidden=!0,e.tokens[n].hidden=!0,n+=2)}var a=n(0).isSpace;e.exports=function(e,t,n,a){var s,l,c,u,p,d,h,f,_,g,m,b,v,k,w,x,y,C,T,A,S,D,E,L,j,q,F,$,z=!1,M=!0;if(e.sCount[t]-e.blkIndent>=4)return!1;if(e.listIndent>=0&&e.sCount[t]-e.listIndent>=4&&e.sCount[t]<e.blkIndent)return!1;if(a&&\"paragraph\"===e.parentType&&e.tShift[t]>=e.blkIndent&&(z=!0),(E=o(e,t))>=0){if(h=!0,j=e.bMarks[t]+e.tShift[t],v=Number(e.src.substr(j,E-j-1)),z&&1!==v)return!1}else{if(!((E=r(e,t))>=0))return!1;h=!1}if(z&&e.skipSpaces(E)>=e.eMarks[t])return!1;if(b=e.src.charCodeAt(E-1),a)return!0;for(m=e.tokens.length,h?($=e.push(\"ordered_list_open\",\"ol\",1),1!==v&&($.attrs=[[\"start\",v]])):$=e.push(\"bullet_list_open\",\"ul\",1),$.map=g=[t,0],$.markup=String.fromCharCode(b),w=t,L=!1,F=e.md.block.ruler.getRules(\"list\"),C=e.parentType,e.parentType=\"list\";w<n;){for(D=E,k=e.eMarks[w],d=x=e.sCount[w]+E-(e.bMarks[t]+e.tShift[t]);D<k;){if(9===(s=e.src.charCodeAt(D)))x+=4-(x+e.bsCount[w])%4;else{if(32!==s)break;x++}D++}if(l=D,p=l>=k?1:x-d,p>4&&(p=1),u=d+p,$=e.push(\"list_item_open\",\"li\",1),$.markup=String.fromCharCode(b),$.map=f=[t,0],S=e.tight,A=e.tShift[t],T=e.sCount[t],y=e.listIndent,e.listIndent=e.blkIndent,e.blkIndent=u,e.tight=!0,e.tShift[t]=l-e.bMarks[t],e.sCount[t]=x,l>=k&&e.isEmpty(t+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,t,n,!0),e.tight&&!L||(M=!1),L=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=y,e.tShift[t]=A,e.sCount[t]=T,e.tight=S,$=e.push(\"list_item_close\",\"li\",-1),$.markup=String.fromCharCode(b),w=t=e.line,f[1]=w,l=e.bMarks[t],w>=n)break;if(e.sCount[w]<e.blkIndent)break;if(e.sCount[t]-e.blkIndent>=4)break;for(q=!1,c=0,_=F.length;c<_;c++)if(F[c](e,w,n,!0)){q=!0;break}if(q)break;if(h){if((E=o(e,w))<0)break}else if((E=r(e,w))<0)break;if(b!==e.src.charCodeAt(E-1))break}return $=h?e.push(\"ordered_list_close\",\"ol\",-1):e.push(\"bullet_list_close\",\"ul\",-1),$.markup=String.fromCharCode(b),g[1]=w,e.line=w,e.parentType=C,M&&i(e,m),!0}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,o,i,a,s,l=t+1,c=e.md.block.ruler.getRules(\"paragraph\"),u=e.lineMax;for(s=e.parentType,e.parentType=\"paragraph\";l<u&&!e.isEmpty(l);l++)if(!(e.sCount[l]-e.blkIndent>3||e.sCount[l]<0)){for(r=!1,o=0,i=c.length;o<i;o++)if(c[o](e,l,u,!0)){r=!0;break}if(r)break}return n=e.getLines(t,l,e.blkIndent,!1).trim(),e.line=l,a=e.push(\"paragraph_open\",\"p\",1),a.map=[t,e.line],a=e.push(\"inline\",\"\",0),a.content=n,a.map=[t,e.line],a.children=[],a=e.push(\"paragraph_close\",\"p\",-1),e.parentType=s,!0}},function(e,t,n){\"use strict\";var r=n(0).normalizeReference,o=n(0).isSpace;e.exports=function(e,t,n,i){var a,s,l,c,u,p,d,h,f,_,g,m,b,v,k,w,x=0,y=e.bMarks[t]+e.tShift[t],C=e.eMarks[t],T=t+1;if(e.sCount[t]-e.blkIndent>=4)return!1;if(91!==e.src.charCodeAt(y))return!1;for(;++y<C;)if(93===e.src.charCodeAt(y)&&92!==e.src.charCodeAt(y-1)){if(y+1===C)return!1;if(58!==e.src.charCodeAt(y+1))return!1;break}for(c=e.lineMax,k=e.md.block.ruler.getRules(\"reference\"),_=e.parentType,e.parentType=\"reference\";T<c&&!e.isEmpty(T);T++)if(!(e.sCount[T]-e.blkIndent>3||e.sCount[T]<0)){for(v=!1,p=0,d=k.length;p<d;p++)if(k[p](e,T,c,!0)){v=!0;break}if(v)break}for(b=e.getLines(t,T,e.blkIndent,!1).trim(),C=b.length,y=1;y<C;y++){if(91===(a=b.charCodeAt(y)))return!1;if(93===a){f=y;break}10===a?x++:92===a&&++y<C&&10===b.charCodeAt(y)&&x++}if(f<0||58!==b.charCodeAt(f+1))return!1;for(y=f+2;y<C;y++)if(10===(a=b.charCodeAt(y)))x++;else if(!o(a))break;if(g=e.md.helpers.parseLinkDestination(b,y,C),!g.ok)return!1;if(u=e.md.normalizeLink(g.str),!e.md.validateLink(u))return!1;for(y=g.pos,x+=g.lines,s=y,l=x,m=y;y<C;y++)if(10===(a=b.charCodeAt(y)))x++;else if(!o(a))break;for(g=e.md.helpers.parseLinkTitle(b,y,C),y<C&&m!==y&&g.ok?(w=g.str,y=g.pos,x+=g.lines):(w=\"\",y=s,x=l);y<C&&(a=b.charCodeAt(y),o(a));)y++;if(y<C&&10!==b.charCodeAt(y)&&w)for(w=\"\",y=s,x=l;y<C&&(a=b.charCodeAt(y),o(a));)y++;return!(y<C&&10!==b.charCodeAt(y))&&(!!(h=r(b.slice(1,f)))&&(!!i||(void 0===e.env.references&&(e.env.references={}),void 0===e.env.references[h]&&(e.env.references[h]={title:w,href:u}),e.parentType=_,e.line=t+x+1,!0)))}},function(e,t,n){\"use strict\";function r(e,t,n,r){var o,a,s,l,c,u,p,d;for(this.src=e,this.md=t,this.env=n,this.tokens=r,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType=\"root\",this.level=0,this.result=\"\",a=this.src,d=!1,s=l=u=p=0,c=a.length;l<c;l++){if(o=a.charCodeAt(l),!d){if(i(o)){u++,9===o?p+=4-p%4:p++;continue}d=!0}10!==o&&l!==c-1||(10!==o&&l++,this.bMarks.push(s),this.eMarks.push(l),this.tShift.push(u),this.sCount.push(p),this.bsCount.push(0),d=!1,u=0,p=0,s=l+1)}this.bMarks.push(a.length),this.eMarks.push(a.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}var o=n(33),i=n(0).isSpace;r.prototype.push=function(e,t,n){var r=new o(e,t,n);return r.block=!0,n<0&&this.level--,r.level=this.level,n>0&&this.level++,this.tokens.push(r),r},r.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},r.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},r.prototype.skipSpaces=function(e){for(var t,n=this.src.length;e<n&&(t=this.src.charCodeAt(e),i(t));e++);return e},r.prototype.skipSpacesBack=function(e,t){if(e<=t)return e;for(;e>t;)if(!i(this.src.charCodeAt(--e)))return e+1;return e},r.prototype.skipChars=function(e,t){for(var n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e},r.prototype.skipCharsBack=function(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e},r.prototype.getLines=function(e,t,n,r){var o,a,s,l,c,u,p,d=e;if(e>=t)return\"\";for(u=new Array(t-e),o=0;d<t;d++,o++){for(a=0,p=l=this.bMarks[d],c=d+1<t||r?this.eMarks[d]+1:this.eMarks[d];l<c&&a<n;){if(s=this.src.charCodeAt(l),i(s))9===s?a+=4-(a+this.bsCount[d])%4:a++;else{if(!(l-p<this.tShift[d]))break;a++}l++}u[o]=a>n?new Array(a-n+1).join(\" \")+this.src.slice(l,c):this.src.slice(l,c)}return u.join(\"\")},r.prototype.Token=o,e.exports=r},function(e,t,n){\"use strict\";function r(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}function o(e){var t,n=[],r=0,o=e.length,i=0,a=0,s=!1,l=0;for(t=e.charCodeAt(r);r<o;)96===t?s?(s=!1,l=r):i%2==0&&(s=!0,l=r):124!==t||i%2!=0||s||(n.push(e.substring(a,r)),a=r+1),92===t?i++:i=0,r++,r===o&&s&&(s=!1,r=l+1),t=e.charCodeAt(r);return n.push(e.substring(a)),n}var i=n(0).isSpace;e.exports=function(e,t,n,a){var s,l,c,u,p,d,h,f,_,g,m,b;if(t+2>n)return!1;if(p=t+1,e.sCount[p]<e.blkIndent)return!1;if(e.sCount[p]-e.blkIndent>=4)return!1;if((c=e.bMarks[p]+e.tShift[p])>=e.eMarks[p])return!1;if(124!==(s=e.src.charCodeAt(c++))&&45!==s&&58!==s)return!1;for(;c<e.eMarks[p];){if(124!==(s=e.src.charCodeAt(c))&&45!==s&&58!==s&&!i(s))return!1;c++}for(l=r(e,t+1),d=l.split(\"|\"),_=[],u=0;u<d.length;u++){if(!(g=d[u].trim())){if(0===u||u===d.length-1)continue;return!1}if(!/^:?-+:?$/.test(g))return!1;58===g.charCodeAt(g.length-1)?_.push(58===g.charCodeAt(0)?\"center\":\"right\"):58===g.charCodeAt(0)?_.push(\"left\"):_.push(\"\")}if(l=r(e,t).trim(),-1===l.indexOf(\"|\"))return!1;if(e.sCount[t]-e.blkIndent>=4)return!1;if(d=o(l.replace(/^\\||\\|$/g,\"\")),(h=d.length)>_.length)return!1;if(a)return!0;for(f=e.push(\"table_open\",\"table\",1),f.map=m=[t,0],f=e.push(\"thead_open\",\"thead\",1),f.map=[t,t+1],f=e.push(\"tr_open\",\"tr\",1),f.map=[t,t+1],u=0;u<d.length;u++)f=e.push(\"th_open\",\"th\",1),f.map=[t,t+1],_[u]&&(f.attrs=[[\"style\",\"text-align:\"+_[u]]]),f=e.push(\"inline\",\"\",0),f.content=d[u].trim(),f.map=[t,t+1],f.children=[],f=e.push(\"th_close\",\"th\",-1);for(f=e.push(\"tr_close\",\"tr\",-1),f=e.push(\"thead_close\",\"thead\",-1),f=e.push(\"tbody_open\",\"tbody\",1),f.map=b=[t+2,0],p=t+2;p<n&&!(e.sCount[p]<e.blkIndent)&&(l=r(e,p).trim(),-1!==l.indexOf(\"|\"))&&!(e.sCount[p]-e.blkIndent>=4);p++){for(d=o(l.replace(/^\\||\\|$/g,\"\")),f=e.push(\"tr_open\",\"tr\",1),u=0;u<h;u++)f=e.push(\"td_open\",\"td\",1),_[u]&&(f.attrs=[[\"style\",\"text-align:\"+_[u]]]),f=e.push(\"inline\",\"\",0),f.content=d[u]?d[u].trim():\"\",f.children=[],f=e.push(\"td_close\",\"td\",-1);f=e.push(\"tr_close\",\"tr\",-1)}return f=e.push(\"tbody_close\",\"tbody\",-1),f=e.push(\"table_close\",\"table\",-1),m[1]=b[1]=p,e.line=p,!0}},function(e,t,n){\"use strict\";e.exports=function(e){var t;e.inlineMode?(t=new e.Token(\"inline\",\"\",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r,o=e.tokens;for(n=0,r=o.length;n<r;n++)t=o[n],\"inline\"===t.type&&e.md.inline.parse(t.content,e.md,e.env,t.children)}},function(e,t,n){\"use strict\";function r(e){return/^<a[>\\s]/i.test(e)}function o(e){return/^<\\/a\\s*>/i.test(e)}var i=n(0).arrayReplaceAt;e.exports=function(e){var t,n,a,s,l,c,u,p,d,h,f,_,g,m,b,v,k,w=e.tokens;if(e.md.options.linkify)for(n=0,a=w.length;n<a;n++)if(\"inline\"===w[n].type&&e.md.linkify.pretest(w[n].content))for(s=w[n].children,g=0,t=s.length-1;t>=0;t--)if(c=s[t],\"link_close\"!==c.type){if(\"html_inline\"===c.type&&(r(c.content)&&g>0&&g--,o(c.content)&&g++),!(g>0)&&\"text\"===c.type&&e.md.linkify.test(c.content)){for(d=c.content,k=e.md.linkify.match(d),u=[],_=c.level,f=0,p=0;p<k.length;p++)m=k[p].url,b=e.md.normalizeLink(m),e.md.validateLink(b)&&(v=k[p].text,v=k[p].schema?\"mailto:\"!==k[p].schema||/^mailto:/i.test(v)?e.md.normalizeLinkText(v):e.md.normalizeLinkText(\"mailto:\"+v).replace(/^mailto:/,\"\"):e.md.normalizeLinkText(\"http://\"+v).replace(/^http:\\/\\//,\"\"),h=k[p].index,h>f&&(l=new e.Token(\"text\",\"\",0),l.content=d.slice(f,h),l.level=_,u.push(l)),l=new e.Token(\"link_open\",\"a\",1),l.attrs=[[\"href\",b]],l.level=_++,l.markup=\"linkify\",l.info=\"auto\",u.push(l),l=new e.Token(\"text\",\"\",0),l.content=v,l.level=_,u.push(l),l=new e.Token(\"link_close\",\"a\",-1),l.level=--_,l.markup=\"linkify\",l.info=\"auto\",u.push(l),f=k[p].lastIndex);f<d.length&&(l=new e.Token(\"text\",\"\",0),l.content=d.slice(f),l.level=_,u.push(l)),w[n].children=s=i(s,t,u)}}else for(t--;s[t].level!==c.level&&\"link_open\"!==s[t].type;)t--}},function(e,t,n){\"use strict\";var r=/\\r\\n?|\\n/g,o=/\\0/g;e.exports=function(e){var t;t=e.src.replace(r,\"\\n\"),t=t.replace(o,\"�\"),e.src=t}},function(e,t,n){\"use strict\";function r(e,t){return c[t.toLowerCase()]}function o(e){var t,n,o=0;for(t=e.length-1;t>=0;t--)n=e[t],\"text\"!==n.type||o||(n.content=n.content.replace(l,r)),\"link_open\"===n.type&&\"auto\"===n.info&&o--,\"link_close\"===n.type&&\"auto\"===n.info&&o++}function i(e){var t,n,r=0;for(t=e.length-1;t>=0;t--)n=e[t],\"text\"!==n.type||r||a.test(n.content)&&(n.content=n.content.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),\"link_open\"===n.type&&\"auto\"===n.info&&r--,\"link_close\"===n.type&&\"auto\"===n.info&&r++}var a=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,s=/\\((c|tm|r|p)\\)/i,l=/\\((c|tm|r|p)\\)/gi,c={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};e.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)\"inline\"===e.tokens[t].type&&(s.test(e.tokens[t].content)&&o(e.tokens[t].children),a.test(e.tokens[t].content)&&i(e.tokens[t].children))}},function(e,t,n){\"use strict\";function r(e,t,n){return e.substr(0,t)+n+e.substr(t+1)}function o(e,t){var n,o,l,p,d,h,f,_,g,m,b,v,k,w,x,y,C,T,A,S,D;for(A=[],n=0;n<e.length;n++){for(o=e[n],f=e[n].level,C=A.length-1;C>=0&&!(A[C].level<=f);C--);if(A.length=C+1,\"text\"===o.type){l=o.content,d=0,h=l.length;e:for(;d<h&&(c.lastIndex=d,p=c.exec(l));){if(x=y=!0,d=p.index+1,T=\"'\"===p[0],g=32,p.index-1>=0)g=l.charCodeAt(p.index-1);else for(C=n-1;C>=0&&(\"softbreak\"!==e[C].type&&\"hardbreak\"!==e[C].type);C--)if(\"text\"===e[C].type){g=e[C].content.charCodeAt(e[C].content.length-1);break}if(m=32,d<h)m=l.charCodeAt(d);else for(C=n+1;C<e.length&&(\"softbreak\"!==e[C].type&&\"hardbreak\"!==e[C].type);C++)if(\"text\"===e[C].type){m=e[C].content.charCodeAt(0);break}if(b=s(g)||a(String.fromCharCode(g)),v=s(m)||a(String.fromCharCode(m)),k=i(g),w=i(m),w?x=!1:v&&(k||b||(x=!1)),k?y=!1:b&&(w||v||(y=!1)),34===m&&'\"'===p[0]&&g>=48&&g<=57&&(y=x=!1),x&&y&&(x=!1,y=v),x||y){if(y)for(C=A.length-1;C>=0&&(_=A[C],!(A[C].level<f));C--)if(_.single===T&&A[C].level===f){_=A[C],T?(S=t.md.options.quotes[2],D=t.md.options.quotes[3]):(S=t.md.options.quotes[0],D=t.md.options.quotes[1]),o.content=r(o.content,p.index,D),e[_.token].content=r(e[_.token].content,_.pos,S),d+=D.length-1,_.token===n&&(d+=S.length-1),l=o.content,h=l.length,A.length=C;continue e}x?A.push({token:n,pos:p.index,single:T,level:f}):y&&T&&(o.content=r(o.content,p.index,u))}else T&&(o.content=r(o.content,p.index,u))}}}}var i=n(0).isWhiteSpace,a=n(0).isPunctChar,s=n(0).isMdAsciiPunct,l=/['\"]/,c=/['\"]/g,u=\"’\";e.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)\"inline\"===e.tokens[t].type&&l.test(e.tokens[t].content)&&o(e.tokens[t].children,e)}},function(e,t,n){\"use strict\";function r(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}var o=n(33);r.prototype.Token=o,e.exports=r},function(e,t,n){\"use strict\";var r=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,o=/^<([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)>/;e.exports=function(e,t){var n,i,a,s,l,c,u=e.pos;return 60===e.src.charCodeAt(u)&&(n=e.src.slice(u),!(n.indexOf(\">\")<0)&&(o.test(n)?(i=n.match(o),s=i[0].slice(1,-1),l=e.md.normalizeLink(s),!!e.md.validateLink(l)&&(t||(c=e.push(\"link_open\",\"a\",1),c.attrs=[[\"href\",l]],c.markup=\"autolink\",c.info=\"auto\",c=e.push(\"text\",\"\",0),c.content=e.md.normalizeLinkText(s),c=e.push(\"link_close\",\"a\",-1),c.markup=\"autolink\",c.info=\"auto\"),e.pos+=i[0].length,!0)):!!r.test(n)&&(a=n.match(r),s=a[0].slice(1,-1),l=e.md.normalizeLink(\"mailto:\"+s),!!e.md.validateLink(l)&&(t||(c=e.push(\"link_open\",\"a\",1),c.attrs=[[\"href\",l]],c.markup=\"autolink\",c.info=\"auto\",c=e.push(\"text\",\"\",0),c.content=e.md.normalizeLinkText(s),c=e.push(\"link_close\",\"a\",-1),c.markup=\"autolink\",c.info=\"auto\"),e.pos+=a[0].length,!0))))}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,o,i,a,s,l=e.pos;if(96!==e.src.charCodeAt(l))return!1;for(n=l,l++,r=e.posMax;l<r&&96===e.src.charCodeAt(l);)l++;for(o=e.src.slice(n,l),i=a=l;-1!==(i=e.src.indexOf(\"`\",a));){for(a=i+1;a<r&&96===e.src.charCodeAt(a);)a++;if(a-i===o.length)return t||(s=e.push(\"code_inline\",\"code\",0),s.markup=o,s.content=e.src.slice(l,i).replace(/\\n/g,\" \").replace(/^ (.+) $/,\"$1\")),e.pos=a,!0}return t||(e.pending+=o),e.pos+=o.length,!0}},function(e,t,n){\"use strict\";function r(e,t){var n,r,o,i,a,s,l,c,u={},p=t.length;for(n=0;n<p;n++)if(o=t[n],o.length=o.length||0,o.close){for(u.hasOwnProperty(o.marker)||(u[o.marker]=[-1,-1,-1]),a=u[o.marker][o.length%3],s=-1,r=n-o.jump-1;r>a;r-=i.jump+1)if(i=t[r],i.marker===o.marker&&(-1===s&&(s=r),i.open&&i.end<0&&i.level===o.level&&(l=!1,(i.close||o.open)&&(i.length+o.length)%3==0&&(i.length%3==0&&o.length%3==0||(l=!0)),!l))){c=r>0&&!t[r-1].open?t[r-1].jump+1:0,o.jump=n-r+c,o.open=!1,i.end=n,i.jump=c,i.close=!1,s=-1;break}-1!==s&&(u[o.marker][(o.length||0)%3]=s)}}e.exports=function(e){var t,n=e.tokens_meta,o=e.tokens_meta.length;for(r(e,e.delimiters),t=0;t<o;t++)n[t]&&n[t].delimiters&&r(e,n[t].delimiters)}},function(e,t,n){\"use strict\";var r=n(52),o=n(0).has,i=n(0).isValidEntityCode,a=n(0).fromCodePoint,s=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,l=/^&([a-z][a-z0-9]{1,31});/i;e.exports=function(e,t){var n,c,u=e.pos,p=e.posMax;if(38!==e.src.charCodeAt(u))return!1;if(u+1<p)if(35===e.src.charCodeAt(u+1)){if(c=e.src.slice(u).match(s))return t||(n=\"x\"===c[1][0].toLowerCase()?parseInt(c[1].slice(1),16):parseInt(c[1],10),e.pending+=a(i(n)?n:65533)),e.pos+=c[0].length,!0}else if((c=e.src.slice(u).match(l))&&o(r,c[1]))return t||(e.pending+=r[c[1]]),e.pos+=c[0].length,!0;return t||(e.pending+=\"&\"),e.pos++,!0}},function(e,t,n){\"use strict\";for(var r=n(0).isSpace,o=[],i=0;i<256;i++)o.push(0);\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function(e){o[e.charCodeAt(0)]=1}),e.exports=function(e,t){var n,i=e.pos,a=e.posMax;if(92!==e.src.charCodeAt(i))return!1;if(++i<a){if((n=e.src.charCodeAt(i))<256&&0!==o[n])return t||(e.pending+=e.src[i]),e.pos+=2,!0;if(10===n){for(t||e.push(\"hardbreak\",\"br\",0),i++;i<a&&(n=e.src.charCodeAt(i),r(n));)i++;return e.pos=i,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}},function(e,t,n){\"use strict\";function r(e){var t=32|e;return t>=97&&t<=122}var o=n(53).HTML_TAG_RE;e.exports=function(e,t){var n,i,a,s,l=e.pos;return!!e.md.options.html&&(a=e.posMax,!(60!==e.src.charCodeAt(l)||l+2>=a)&&(!(33!==(n=e.src.charCodeAt(l+1))&&63!==n&&47!==n&&!r(n))&&(!!(i=e.src.slice(l).match(o))&&(t||(s=e.push(\"html_inline\",\"\",0),s.content=e.src.slice(l,l+i[0].length)),e.pos+=i[0].length,!0))))}},function(e,t,n){\"use strict\";var r=n(0).normalizeReference,o=n(0).isSpace;e.exports=function(e,t){var n,i,a,s,l,c,u,p,d,h,f,_,g,m=\"\",b=e.pos,v=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(c=e.pos+2,(l=e.md.helpers.parseLinkLabel(e,e.pos+1,!1))<0)return!1;if((u=l+1)<v&&40===e.src.charCodeAt(u)){for(u++;u<v&&(i=e.src.charCodeAt(u),o(i)||10===i);u++);if(u>=v)return!1;for(g=u,d=e.md.helpers.parseLinkDestination(e.src,u,e.posMax),d.ok&&(m=e.md.normalizeLink(d.str),e.md.validateLink(m)?u=d.pos:m=\"\"),g=u;u<v&&(i=e.src.charCodeAt(u),o(i)||10===i);u++);if(d=e.md.helpers.parseLinkTitle(e.src,u,e.posMax),u<v&&g!==u&&d.ok)for(h=d.str,u=d.pos;u<v&&(i=e.src.charCodeAt(u),o(i)||10===i);u++);else h=\"\";if(u>=v||41!==e.src.charCodeAt(u))return e.pos=b,!1;u++}else{if(void 0===e.env.references)return!1;if(u<v&&91===e.src.charCodeAt(u)?(g=u+1,u=e.md.helpers.parseLinkLabel(e,u),u>=0?s=e.src.slice(g,u++):u=l+1):u=l+1,s||(s=e.src.slice(c,l)),!(p=e.env.references[r(s)]))return e.pos=b,!1;m=p.href,h=p.title}return t||(a=e.src.slice(c,l),e.md.inline.parse(a,e.md,e.env,_=[]),f=e.push(\"image\",\"img\",0),f.attrs=n=[[\"src\",m],[\"alt\",\"\"]],f.children=_,f.content=a,h&&n.push([\"title\",h])),e.pos=u,e.posMax=v,!0}},function(e,t,n){\"use strict\";var r=n(0).normalizeReference,o=n(0).isSpace;e.exports=function(e,t){var n,i,a,s,l,c,u,p,d,h,f=\"\",_=e.pos,g=e.posMax,m=e.pos,b=!0;if(91!==e.src.charCodeAt(e.pos))return!1;if(l=e.pos+1,(s=e.md.helpers.parseLinkLabel(e,e.pos,!0))<0)return!1;if((c=s+1)<g&&40===e.src.charCodeAt(c)){for(b=!1,c++;c<g&&(i=e.src.charCodeAt(c),o(i)||10===i);c++);if(c>=g)return!1;for(m=c,u=e.md.helpers.parseLinkDestination(e.src,c,e.posMax),u.ok&&(f=e.md.normalizeLink(u.str),e.md.validateLink(f)?c=u.pos:f=\"\"),m=c;c<g&&(i=e.src.charCodeAt(c),o(i)||10===i);c++);if(u=e.md.helpers.parseLinkTitle(e.src,c,e.posMax),c<g&&m!==c&&u.ok)for(d=u.str,c=u.pos;c<g&&(i=e.src.charCodeAt(c),o(i)||10===i);c++);else d=\"\";(c>=g||41!==e.src.charCodeAt(c))&&(b=!0),c++}if(b){if(void 0===e.env.references)return!1;if(c<g&&91===e.src.charCodeAt(c)?(m=c+1,c=e.md.helpers.parseLinkLabel(e,c),c>=0?a=e.src.slice(m,c++):c=s+1):c=s+1,a||(a=e.src.slice(l,s)),!(p=e.env.references[r(a)]))return e.pos=_,!1;f=p.href,d=p.title}return t||(e.pos=l,e.posMax=s,h=e.push(\"link_open\",\"a\",1),h.attrs=n=[[\"href\",f]],d&&n.push([\"title\",d]),e.md.inline.tokenize(e),h=e.push(\"link_close\",\"a\",-1)),e.pos=c,e.posMax=g,!0}},function(e,t,n){\"use strict\";var r=n(0).isSpace;e.exports=function(e,t){var n,o,i=e.pos;if(10!==e.src.charCodeAt(i))return!1;for(n=e.pending.length-1,o=e.posMax,t||(n>=0&&32===e.pending.charCodeAt(n)?n>=1&&32===e.pending.charCodeAt(n-1)?(e.pending=e.pending.replace(/ +$/,\"\"),e.push(\"hardbreak\",\"br\",0)):(e.pending=e.pending.slice(0,-1),e.push(\"softbreak\",\"br\",0)):e.push(\"softbreak\",\"br\",0)),i++;i<o&&r(e.src.charCodeAt(i));)i++;return e.pos=i,!0}},function(e,t,n){\"use strict\";function r(e,t,n,r){this.src=e,this.env=n,this.md=t,this.tokens=r,this.tokens_meta=Array(r.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[]}var o=n(33),i=n(0).isWhiteSpace,a=n(0).isPunctChar,s=n(0).isMdAsciiPunct;r.prototype.pushPending=function(){var e=new o(\"text\",\"\",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending=\"\",e},r.prototype.push=function(e,t,n){this.pending&&this.pushPending();var r=new o(e,t,n),i=null;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),r.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r},r.prototype.scanDelims=function(e,t){var n,r,o,l,c,u,p,d,h,f=e,_=!0,g=!0,m=this.posMax,b=this.src.charCodeAt(e);for(n=e>0?this.src.charCodeAt(e-1):32;f<m&&this.src.charCodeAt(f)===b;)f++;return o=f-e,r=f<m?this.src.charCodeAt(f):32,p=s(n)||a(String.fromCharCode(n)),h=s(r)||a(String.fromCharCode(r)),u=i(n),d=i(r),d?_=!1:h&&(u||p||(_=!1)),u?g=!1:p&&(d||h||(g=!1)),t?(l=_,c=g):(l=_&&(!g||p),c=g&&(!_||h)),{can_open:l,can_close:c,length:o}},r.prototype.Token=o,e.exports=r},function(e,t,n){\"use strict\";function r(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}e.exports=function(e,t){for(var n=e.pos;n<e.posMax&&!r(e.src.charCodeAt(n));)n++;return n!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r=0,o=e.tokens,i=e.tokens.length;for(t=n=0;t<i;t++)o[t].nesting<0&&r--,o[t].level=r,o[t].nesting>0&&r++,\"text\"===o[t].type&&t+1<i&&\"text\"===o[t+1].type?o[t+1].content=o[t].content+o[t+1].content:(t!==n&&(o[n]=o[t]),n++);t!==n&&(o.length=n)}},function(e,t,n){\"use strict\";function r(e){var t,n,r=i[e];if(r)return r;for(r=i[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),r.push(n);for(t=0;t<e.length;t++)n=e.charCodeAt(t),r[n]=\"%\"+(\"0\"+n.toString(16).toUpperCase()).slice(-2);return r}function o(e,t){var n;return\"string\"!=typeof t&&(t=o.defaultChars),n=r(t),e.replace(/(%[a-f0-9]{2})+/gi,function(e){var t,r,o,i,a,s,l,c=\"\";for(t=0,r=e.length;t<r;t+=3)o=parseInt(e.slice(t+1,t+3),16),o<128?c+=n[o]:192==(224&o)&&t+3<r&&128==(192&(i=parseInt(e.slice(t+4,t+6),16)))?(l=o<<6&1984|63&i,c+=l<128?\"��\":String.fromCharCode(l),t+=3):224==(240&o)&&t+6<r&&(i=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),128==(192&i)&&128==(192&a))?(l=o<<12&61440|i<<6&4032|63&a,c+=l<2048||l>=55296&&l<=57343?\"���\":String.fromCharCode(l),t+=6):240==(248&o)&&t+9<r&&(i=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),s=parseInt(e.slice(t+10,t+12),16),128==(192&i)&&128==(192&a)&&128==(192&s))?(l=o<<18&1835008|i<<12&258048|a<<6&4032|63&s,l<65536||l>1114111?c+=\"����\":(l-=65536,c+=String.fromCharCode(55296+(l>>10),56320+(1023&l))),t+=9):c+=\"�\";return c})}var i={};o.defaultChars=\";/?:@&=+$,#\",o.componentChars=\"\",e.exports=o},function(e,t,n){\"use strict\";function r(e){var t,n,r=i[e];if(r)return r;for(r=i[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?r.push(n):r.push(\"%\"+(\"0\"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t<e.length;t++)r[e.charCodeAt(t)]=e[t];return r}function o(e,t,n){var i,a,s,l,c,u=\"\";for(\"string\"!=typeof t&&(n=t,t=o.defaultChars),void 0===n&&(n=!0),c=r(t),i=0,a=e.length;i<a;i++)if(s=e.charCodeAt(i),n&&37===s&&i+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3)))u+=e.slice(i,i+3),i+=2;else if(s<128)u+=c[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&i+1<a&&(l=e.charCodeAt(i+1))>=56320&&l<=57343){u+=encodeURIComponent(e[i]+e[i+1]),i++;continue}u+=\"%EF%BF%BD\"}else u+=encodeURIComponent(e[i]);return u}var i={};o.defaultChars=\";/?:@&=+$,-_.!~*'()#\",o.componentChars=\"-_.!~*'()\",e.exports=o},function(e,t,n){\"use strict\";e.exports=function(e){var t=\"\";return t+=e.protocol||\"\",t+=e.slashes?\"//\":\"\",t+=e.auth?e.auth+\"@\":\"\",e.hostname&&-1!==e.hostname.indexOf(\":\")?t+=\"[\"+e.hostname+\"]\":t+=e.hostname||\"\",t+=e.port?\":\"+e.port:\"\",t+=e.pathname||\"\",t+=e.search||\"\",t+=e.hash||\"\"}},function(e,t,n){\"use strict\";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}function o(e,t){if(e&&e instanceof r)return e;var n=new r;return n.parse(e,t),n}var i=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,s=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,l=[\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],c=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(l),u=[\"'\"].concat(c),p=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(u),d=[\"/\",\"?\",\"#\"],h=/^[+a-z0-9A-Z_-]{0,63}$/,f=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,_={javascript:!0,\"javascript:\":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0};r.prototype.parse=function(e,t){var n,r,o,a,l,c=e;if(c=c.trim(),!t&&1===e.split(\"#\").length){var u=s.exec(c);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}var m=i.exec(c);if(m&&(m=m[0],o=m.toLowerCase(),this.protocol=m,c=c.substr(m.length)),(t||m||c.match(/^\\/\\/[^@\\/]+@[^@\\/]+/))&&(!(l=\"//\"===c.substr(0,2))||m&&_[m]||(c=c.substr(2),this.slashes=!0)),!_[m]&&(l||m&&!g[m])){var b=-1;for(n=0;n<d.length;n++)-1!==(a=c.indexOf(d[n]))&&(-1===b||a<b)&&(b=a);var v,k;for(k=-1===b?c.lastIndexOf(\"@\"):c.lastIndexOf(\"@\",b),-1!==k&&(v=c.slice(0,k),c=c.slice(k+1),this.auth=v),b=-1,n=0;n<p.length;n++)-1!==(a=c.indexOf(p[n]))&&(-1===b||a<b)&&(b=a);-1===b&&(b=c.length),\":\"===c[b-1]&&b--;var w=c.slice(0,b);c=c.slice(b),this.parseHost(w),this.hostname=this.hostname||\"\";var x=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!x){var y=this.hostname.split(/\\./);for(n=0,r=y.length;n<r;n++){var C=y[n];if(C&&!C.match(h)){for(var T=\"\",A=0,S=C.length;A<S;A++)C.charCodeAt(A)>127?T+=\"x\":T+=C[A];if(!T.match(h)){var D=y.slice(0,n),E=y.slice(n+1),L=C.match(f);L&&(D.push(L[1]),E.unshift(L[2])),E.length&&(c=E.join(\".\")+c),this.hostname=D.join(\".\");break}}}}this.hostname.length>255&&(this.hostname=\"\"),x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var j=c.indexOf(\"#\");-1!==j&&(this.hash=c.substr(j),c=c.slice(0,j));var q=c.indexOf(\"?\");return-1!==q&&(this.search=c.substr(q),c=c.slice(0,q)),c&&(this.pathname=c),g[o]&&this.hostname&&!this.pathname&&(this.pathname=\"\"),this},r.prototype.parseHost=function(e){var t=a.exec(e);t&&(t=t[0],\":\"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},e.exports=o},function(e,t,n){(function(e,r){var o;!function(i){function a(e){throw new RangeError(q[e])}function s(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function l(e,t){var n=e.split(\"@\"),r=\"\";return n.length>1&&(r=n[0]+\"@\",e=n[1]),e=e.replace(j,\".\"),r+s(e.split(\".\"),t).join(\".\")}function c(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return s(e,function(e){var t=\"\";return e>65535&&(e-=65536,t+=z(e>>>10&1023|55296),e=56320|1023&e),t+=z(e)}).join(\"\")}function p(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:w}function d(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function h(e,t,n){var r=0;for(e=n?$(e/T):e>>1,e+=$(e/t);e>F*y>>1;r+=w)e=$(e/F);return $(r+(F+1)*e/(e+C))}function f(e){var t,n,r,o,i,s,l,c,d,f,_=[],g=e.length,m=0,b=S,v=A;for(n=e.lastIndexOf(D),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&a(\"not-basic\"),_.push(e.charCodeAt(r));for(o=n>0?n+1:0;o<g;){for(i=m,s=1,l=w;o>=g&&a(\"invalid-input\"),c=p(e.charCodeAt(o++)),(c>=w||c>$((k-m)/s))&&a(\"overflow\"),m+=c*s,d=l<=v?x:l>=v+y?y:l-v,!(c<d);l+=w)f=w-d,s>$(k/f)&&a(\"overflow\"),s*=f;t=_.length+1,v=h(m-i,t,0==i),$(m/t)>k-b&&a(\"overflow\"),b+=$(m/t),m%=t,_.splice(m++,0,b)}return u(_)}function _(e){var t,n,r,o,i,s,l,u,p,f,_,g,m,b,v,C=[];for(e=c(e),g=e.length,t=S,n=0,i=A,s=0;s<g;++s)(_=e[s])<128&&C.push(z(_));for(r=o=C.length,o&&C.push(D);r<g;){for(l=k,s=0;s<g;++s)(_=e[s])>=t&&_<l&&(l=_);for(m=r+1,l-t>$((k-n)/m)&&a(\"overflow\"),n+=(l-t)*m,t=l,s=0;s<g;++s)if(_=e[s],_<t&&++n>k&&a(\"overflow\"),_==t){for(u=n,p=w;f=p<=i?x:p>=i+y?y:p-i,!(u<f);p+=w)v=u-f,b=w-f,C.push(z(d(f+v%b,0))),u=$(v/b);C.push(z(d(u,0))),i=h(n,m,r==o),n=0,++r}++n,++t}return C.join(\"\")}function g(e){return l(e,function(e){return E.test(e)?f(e.slice(4).toLowerCase()):e})}function m(e){return l(e,function(e){return L.test(e)?\"xn--\"+_(e):e})}var b=(\"object\"==typeof t&&t&&t.nodeType,\"object\"==typeof e&&e&&e.nodeType,\"object\"==typeof r&&r);var v,k=2147483647,w=36,x=1,y=26,C=38,T=700,A=72,S=128,D=\"-\",E=/^xn--/,L=/[^\\x20-\\x7E]/,j=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,q={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},F=w-x,$=Math.floor,z=String.fromCharCode;v={version:\"1.4.1\",ucs2:{decode:c,encode:u},decode:f,encode:_,toASCII:m,toUnicode:g},void 0!==(o=function(){return v}.call(t,n,t,e))&&(e.exports=o)}()}).call(t,n(208)(e),n(207))},function(e,t){e.exports='@[toc](Catalog)\\n\\nMarkdown Handbuch\\n===\\n> Details: [http://commonmark.org/help/](http://commonmark.org/help/)\\n\\n## **Fett**\\n```\\n**fett**\\n__fett__\\n```\\n## *Kursiv*\\n```\\n*kursiv*\\n_kursiv_\\n```\\n## Überschriften\\n```\\n# h1 #\\nh1\\n====\\n## h2 ##\\nh2\\n----\\n### h3 ###\\n#### h4 ####\\n##### h5 #####\\n###### h6 ######\\n```\\n## Trennlinien\\n```\\n***\\n---\\n```\\n****\\n## ^Hoch^gestellt & ~Tief~gestellt\\n```\\nhochgestellt x^2^\\ntiefgestellt H~2~0\\n```\\n## ++Unterstrichen++ & ~~Durchgestrichen~~\\n```\\n++unterstrichen++\\n~~durchgestrichen~~\\n```\\n## ==Markiert==\\n```\\n==markiert==\\n```\\n## Zitat\\n\\n```\\n> zitat 1\\n>> zitat 2\\n>>> zitat 3\\n...\\n```\\n\\n## Liste\\n```\\nol\\n1.\\n2.\\n3.\\n...\\n\\nul\\n-\\n-\\n...\\n```\\n\\n## Todo Liste\\n\\n- [x] aufgabe 1\\n- [ ] aufgabe 2\\n\\n```\\n- [x] aufgabe 1\\n- [ ] aufgabe 2\\n```\\n\\n## Link\\n```\\nText Link\\n[Text](www.baidu.com)\\n\\nLink mit Bild\\n![Text](http://www.image.com)\\n```\\n## Code\\n\\\\``` Typ\\n\\nCodeblock\\n\\n\\\\```\\n\\n\\\\` code \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n\\n## Tabelle\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| links | mitte | rechts |\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| links | mitte | rechts |\\n| ---------------------- | ------------- | ----------------- |\\n## Fußnote\\n```\\nhallo[^hallo]\\n```\\n\\nSchau zum unteren Rand[^hallo]\\n\\n[^hallo]: fussnote\\n\\n## Emojis\\nDetails: [https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$ Mathematik\\n\\nFormeln lassen sich darstellen z.b. ：$x_i + y_i = z_i$ und $\\\\sum_{i=1}^n a_i=0$\\nFormeln können auf einer eigenen Zeile gerendert werden\\n$$\\\\sum_{i=1}^n a_i=0$$\\nDetails: [katex](http://www.intmath.com/cg5/katex-mathjax-comparison.php)和[katex function](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)以及[latex](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\n## Layout\\n\\n::: hljs-left\\n`::: hljs-left`\\n`links`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`mitte`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`rechts`\\n`:::`\\n:::\\n\\n## Liste von Definitionen\\n\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 mit *inline markup*\\n\\n:   Definition 2\\n\\n        { ein wenig code, teil von Definition 2 }\\n\\n    Dritter Absatz von Definition 2.\\n\\n```\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 mit *inline markup*\\n\\n:   Definition 2\\n\\n        { ein wenig code, teil von Definition 2 }\\n\\n    Dritter Absatz von Definition 2.\\n\\n```\\n\\n## Abkürzungen\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nDie HTML Spezifikation\\nwird gepflegt vom W3C.\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nDie HTML Spezifikation\\nwird gepflegt vom W3C.\\n```\\n'},function(e,t){e.exports='@[toc](Catalog)\\n\\nMarkdown Guide\\n===\\n> Detailed: [http://commonmark.org/help/](http://commonmark.org/help/)\\n\\n## **Bold**\\n```\\n**bold**\\n__bold__\\n```\\n## *Italic*\\n```\\n*italic*\\n_italic_\\n```\\n## Header\\n```\\n# h1 #\\nh1\\n====\\n## h2 ##\\nh2\\n----\\n### h3 ###\\n#### h4 ####\\n##### h5 #####\\n###### h6 ######\\n```\\n## Dividing line\\n```\\n***\\n---\\n```\\n****\\n## ^Super^script & ~Sub~script\\n```\\nsuper x^2^\\nsub H~2~0\\n```\\n## ++Underline++ & ~~Strikethrough~~\\n```\\n++underline++\\n~~strikethrough~~\\n```\\n## ==Mark==\\n```\\n==mark==\\n```\\n## Quote\\n\\n```\\n> quote 1\\n>> quote 2\\n>>> quote 3\\n...\\n```\\n\\n## List\\n```\\nol\\n1.\\n2.\\n3.\\n...\\n\\nul\\n-\\n-\\n...\\n```\\n\\n## Todo List\\n\\n- [x] task 1\\n- [ ] task 2\\n\\n```\\n- [x] task 1\\n- [ ] task 2\\n```\\n\\n## Link\\n```\\nText Link\\n[Text](www.baidu.com)\\n\\nImage Link\\n![Text](http://www.image.com)\\n```\\n## Code\\n\\\\``` type\\n\\ncode block\\n\\n\\\\```\\n\\n\\\\` code \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n\\n## Table\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| left | center | right |\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| left | center | right |\\n| ---------------------- | ------------- | ----------------- |\\n## Footnote\\n```\\nhello[^hello]\\n```\\n\\nLook at the bottom[^hello]\\n\\n[^hello]: footnote\\n\\n## Emojis\\nDetailed: [https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$ Mathematics\\n\\nWe can render formulas for example：$x_i + y_i = z_i$ and $\\\\sum_{i=1}^n a_i=0$\\nWe can also single-line rendering\\n$$\\\\sum_{i=1}^n a_i=0$$\\nDetailed: [katex](http://www.intmath.com/cg5/katex-mathjax-comparison.php)和[katex function](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)以及[latex](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\n## Layout\\n\\n::: hljs-left\\n`::: hljs-left`\\n`left`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`center`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`right`\\n`:::`\\n:::\\n\\n## deflist\\n\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 with *inline markup*\\n\\n:   Definition 2\\n\\n        { some code, part of Definition 2 }\\n\\n    Third paragraph of definition 2.\\n\\n```\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 with *inline markup*\\n\\n:   Definition 2\\n\\n        { some code, part of Definition 2 }\\n\\n    Third paragraph of definition 2.\\n\\n```\\n\\n## abbr\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\nis maintained by the W3C.\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\nis maintained by the W3C.\\n```\\n'},function(e,t){e.exports='@[toc](Catalogue)\\n\\nGuide Markdown\\n==============\\n> Détail : [http://commonmark.org/help/](http://commonmark.org/help/)\\n\\n## **Bold**\\n```\\n**bold**\\n__bold__\\n```\\n## *Italic*\\n```\\n*italic*\\n_italic_\\n```\\n## Header\\n```\\n# h1 #\\nh1\\n====\\n## h2 ##\\nh2\\n----\\n### h3 ###\\n#### h4 ####\\n##### h5 #####\\n###### h6 ######\\n```\\n## Dividing line\\n```\\n***\\n---\\n```\\n****\\n## ^Super^script & ~Sub~script\\n```\\nsuper x^2^\\nsub H~2~0\\n```\\n## ++Underline++ & ~~Strikethrough~~\\n```\\n++underline++\\n~~strikethrough~~\\n```\\n## ==Mark==\\n```\\n==mark==\\n```\\n## Quote\\n\\n```\\n> quote 1\\n>> quote 2\\n>>> quote 3\\n...\\n```\\n\\n## List\\n```\\nol\\n1.\\n2.\\n3.\\n...\\n\\nul\\n-\\n-\\n...\\n```\\n## Link\\n\\n## Todo List\\n\\n- [x] Équipe 1\\n- [ ] Équipe 2\\n\\n```\\n- [x] Équipe 1\\n- [ ] Équipe 2\\n```\\n\\n```\\nText Link\\n[Text](www.baidu.com)\\n\\nImage Link\\n![Text](http://www.image.com)\\n```\\n## Code\\n\\\\``` type\\n\\ncode block\\n\\n\\\\```\\n\\n\\\\` code \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n\\n## Table\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| left | center | right |\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| left | center | right |\\n| ---------------------- | ------------- | ----------------- |\\n## Footnote\\n```\\nhello[^hello]\\n```\\n\\nLook at the bottom[^hello]\\n\\n[^hello]: footnote\\n\\n## Emojis\\nDetailed: [https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$ Mathematics\\n\\nWe can render formulas for example：$x_i + y_i = z_i$ and $\\\\sum_{i=1}^n a_i=0$\\nWe can also single-line rendering\\n$$\\\\sum_{i=1}^n a_i=0$$\\nDetailed: [katex](http://www.intmath.com/cg5/katex-mathjax-comparison.php)和[katex function](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)以及[latex](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\n## Layout\\n\\n::: hljs-left\\n`::: hljs-left`\\n`left`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`center`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`right`\\n`:::`\\n:::\\n\\n## deflist\\n\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 with *inline markup*\\n\\n:   Definition 2\\n\\n        { some code, part of Definition 2 }\\n\\n    Third paragraph of definition 2.\\n\\n```\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 with *inline markup*\\n\\n:   Definition 2\\n\\n        { some code, part of Definition 2 }\\n\\n    Third paragraph of definition 2.\\n\\n```\\n\\n## abbr\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\nis maintained by the W3C.\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\nis maintained by the W3C.\\n```\\n'},function(e,t){e.exports='@[toc](目次)\\n\\nMarkdown 文法ガイド\\n===\\n> Detailed: [http://commonmark.org/help/](http://commonmark.org/help/)\\n\\n## **太字**\\n```\\n**太字**\\n__太字__\\n```\\n## *斜体*\\n```\\n*斜体*\\n_斜体_\\n```\\n## 見出し\\n```\\n# h1 #\\nh1\\n====\\n## h2 ##\\nh2\\n----\\n### h3 ###\\n#### h4 ####\\n##### h5 #####\\n###### h6 ######\\n```\\n## 横線\\n```\\n***\\n---\\n```\\n****\\n## ^上付き^文字 & ~下付き~文字\\n```\\nsuper x^2^\\nsub H~2~0\\n```\\n## ++下線++ & ~~取り消し線~~\\n```\\n++underline++\\n~~strikethrough~~\\n```\\n## ==蛍光ペン==\\n```\\n==mark==\\n```\\n## 引用\\n\\n```\\n> quote 1\\n>> quote 2\\n>>> quote 3\\n...\\n```\\n\\n## リスト\\n```\\n番号付きリスト\\n1.\\n2.\\n3.\\n...\\n\\n箇条書きリスト\\n-\\n-\\n...\\n```\\n\\n## Todoリスト\\n\\n- [x] task 1\\n- [ ] task 2\\n\\n```\\n- [x] task 1\\n- [ ] task 2\\n```\\n\\n## リンク\\n```\\nText Link\\n[Text](www.baidu.com)\\n\\nImage Link\\n![Text](http://www.image.com)\\n```\\n## コード\\n\\\\``` type\\n\\ncode block\\n\\n\\\\```\\n\\n\\\\` code \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n\\n## 表\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| left | center | right |\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| left | center | right |\\n| ---------------------- | ------------- | ----------------- |\\n\\n## 脚注\\n```\\nhello[^hello]\\n```\\n\\nLook at the bottom[^hello]\\n\\n[^hello]: footnote\\n\\n## 絵文字\\n> Detailed: [https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$ 数式\\n> Detailed: [KaTeXマニュアル](http://www.intmath.com/cg5/katex-mathjax-comparison.php)、[KaTeX function](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)、[LaTeXマニュアル](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\nWe can render formulas for example：$x_i + y_i = z_i$ and $\\\\sum_{i=1}^n a_i=0$  \\nWe can also single-line rendering\\n$$\\\\sum_{i=1}^n a_i=0$$\\n\\n## レイアウト\\n\\n::: hljs-left\\n`::: hljs-left`\\n`left`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`center`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`right`\\n`:::`\\n:::\\n\\n## 定義リスト\\n\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 with *inline markup*\\n\\n:   Definition 2\\n\\n        { some code, part of Definition 2 }\\n\\n    Third paragraph of definition 2.\\n\\n```\\nTerm 1\\n\\n:   Definition 1\\n\\nTerm 2 with *inline markup*\\n\\n:   Definition 2\\n\\n        { some code, part of Definition 2 }\\n\\n    Third paragraph of definition 2.\\n\\n```\\n\\n## abbr\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\nis maintained by the W3C.\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\nis maintained by the W3C.\\n```\\n'},function(e,t){e.exports='@[toc](Directory)\\n\\nGuia Markdown\\n===\\n> Detalhes: [http://commonmark.org/help/](http://commonmark.org/help/)\\n\\n## **Negrito**\\n```\\n**negrito**\\n__negrito__\\n```\\n## *Itálico*\\n```\\n*itálico*\\n_itálico_\\n```\\n## Cabeçalho\\n```\\n# h1 #\\nh1\\n====\\n## h2 ##\\nh2\\n----\\n### h3 ###\\n#### h4 ####\\n##### h5 #####\\n###### h6 ######\\n```\\n## Linha Divisora\\n```\\n***\\n---\\n```\\n****\\n## ^Sobre^scrito & ~Sub~scrito\\n```\\nsobre x^2^\\nsub H~2~0\\n```\\n## ++Sublinhar++ & ~~Tachar~~\\n```\\n++sublinhar++\\n~~tachar~~\\n```\\n## ==Marcador==\\n```\\n==marcador==\\n```\\n## Citação\\n\\n```\\n> citação 1\\n>> citação 2\\n>>> citação 3\\n...\\n```\\n\\n## Listas\\n```\\nlista Numerada\\n1.\\n2.\\n3.\\n...\\n\\nlista com marcadores\\n-\\n-\\n...\\n```\\n\\n## Todo Listas\\n\\n- [x] Tarefa 1\\n- [ ] Tarefa 2\\n\\n```\\n- [x] Tarefa 1\\n- [ ] Tarefa 2\\n```\\n\\n## Link\\n```\\nLink Texto\\n[Text](www.baidu.com)\\n\\nLink Imagem\\n![Text](http://www.image.com)\\n```\\n## Código\\n\\\\``` tipo\\n\\nbloco de código\\n\\n\\\\```\\n\\n\\\\` código \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n\\n## Tabela\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| esquerda | centro | direita |\\n```\\n| th1 | th2 | th3 |\\n| :--  | :--: | ----: |\\n| esquerda | centro | direita |\\n| ---------------------- | ------------- | ----------------- |\\n## Rodapé\\n```\\nolá[^olá]\\n```\\n\\nOlhe para baixo[^olá]\\n\\n[^olá]: rodapé\\n\\n## Emojis\\nDetalhes: [https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$ Mathematics\\n\\nPodemos mostrar fórmulas por exemplo：$x_i + y_i = z_i$ and $\\\\sum_{i=1}^n a_i=0$\\nPodemos também mostrar em uma única linha:\\n$$\\\\sum_{i=1}^n a_i=0$$\\nDetalhes: [katex](http://www.intmath.com/cg5/katex-mathjax-comparison.php)和[katex function](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)以及[latex](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\n## Layout\\n\\n::: hljs-left\\n`::: hljs-left`\\n`esquerda`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`centro`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`direita`\\n`:::`\\n:::\\n\\n## Definições\\n\\nTermo 1\\n\\n:   Definição 1\\n\\nTermo 2 com *markup inline*\\n\\n:   Definição 2\\n\\n        { um pouco de código, parte da Definição 2 }\\n\\n    Terceiro parágrafo da definição 2.\\n\\n```\\nTermo 1\\n\\n:   Definição 1\\n\\nTermo 2 com *markup inline*\\n\\n:   Definição 2\\n\\n        { um pouco de código, parte da Definição 2 }\\n\\n    Terceiro parágrafo da definição 2.\\n\\n```\\n\\n## Abreviações\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nA especificação HTML\\né mantida pela W3C.\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nThe HTML specification\\né mantida pela W3C.\\n```\\n'},function(e,t){e.exports='@[toc](Catalog)  \\n  \\nMarkdown помощь  \\n===  \\n> Подробнее: [http://commonmark.org/help/](http://commonmark.org/help/)  \\n  \\n## **Полужирный**  \\n```  \\n**Полужирный**  \\n__Полужирный__  \\n```  \\n## *Курсив*  \\n```  \\n*Курсив*  \\n_Курсив_  \\n```  \\n## Заголовок  \\n```  \\n# h1 #  \\nh1  \\n====  \\n## h2 ##  \\nh2  \\n----  \\n### h3 ###  \\n#### h4 ####  \\n##### h5 #####  \\n###### h6 ######  \\n```  \\n## Разделительная линия  \\n```  \\n***  \\n---  \\n```  \\n****  \\n## ^Верхний^индекс & ~Нижний~индекс  \\n```  \\nверхний x^2^  \\nнижний H~2~0  \\n```  \\n## ++Подчеркнутый++ & ~~Зачеркнутый~~  \\n```  \\n++Подчеркнутый++  \\n~~Зачеркнутый~~  \\n```  \\n## ==Отметка==  \\n```  \\n==Отметка==  \\n```  \\n## Цитата  \\n  \\n```  \\n> Цитата  \\n>> Цитата 2  \\n>>> Цитата 3  \\n...  \\n```  \\n  \\n## Список  \\n```  \\nol  \\n1.  \\n2.  \\n3.  \\n...  \\n  \\nul  \\n-  \\n-  \\n...  \\n```  \\n  \\n## Список задач  \\n  \\n- [x] Задача 1  \\n- [ ] Задача 2  \\n  \\n```  \\n- [x] Задача 1  \\n- [ ] Задача 2  \\n```  \\n  \\n## Ссылка  \\n```  \\nСсылка  \\n[Текст](www.baidu.com)  \\n  \\nСсылка изображения  \\n![Текст](http://www.image.com)  \\n```  \\n## Код  \\n\\\\``` type  \\n  \\ncode block  \\n  \\n\\\\```  \\n  \\n\\\\` code \\\\`  \\n  \\n```c++  \\nint main()  \\n{  \\n printf(\"hello world!\");}  \\n```  \\n`code`  \\n  \\n## Таблица  \\n```  \\n| th1 | th2 | th3 |  \\n| :--  | :--: | ----: |  \\n| left | center | right |  \\n```  \\n| th1 | th2 | th3 |  \\n| :--  | :--: | ----: |  \\n| left | center | right |  \\n| ---------------------- | ------------- | ----------------- |  \\n## Сноска  \\n```  \\nПривет[^Привет]  \\n```  \\n  \\nТут что-то непонятное[^Привет]  \\n  \\n[^Привет]: А тут объяснение  \\n  \\n## Emojis  \\nПодробнее: [https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)  \\n```  \\n:laughing:  \\n:blush:  \\n:smiley:  \\n:)  \\n...  \\n```  \\n:laughing::blush::smiley::)  \\n  \\n## $\\\\KaTeX$ Mathematics  \\n  \\nМожно выводить такие формулы：$x_i + y_i = z_i$ and $\\\\sum_{i=1}^n a_i=0$  \\nА также в одну строку:\\n$$\\\\sum_{i=1}^n a_i=0$$  \\nПодробнее: \\n- [katex](http://www.intmath.com/cg5/katex-mathjax-comparison.php)\\n- [katex function](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)\\n- [latex](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)  \\n  \\n## Разметка\\n  \\n::: hljs-left  \\n`::: hljs-left`  \\n`left`  \\n`:::`  \\n:::  \\n  \\n::: hljs-center  \\n`::: hljs-center`  \\n`center`  \\n`:::`  \\n:::  \\n  \\n::: hljs-right  \\n`::: hljs-right`  \\n`right`  \\n`:::`  \\n:::  \\n  \\n## Список определений\\n  \\nТермин 1  \\n  \\n:   Определение 1  \\n  \\nТермин  2 с использованием *разметки*\\n  \\n:   Определение 2  \\n  \\n { Какой-нибудь код, часть определения 2 }  \\n Третий параграф определения 2.  \\n```  \\nТермин 1  \\n  \\n:   Определение 1  \\n  \\nТермин  2 с использованием *разметки*\\n  \\n:   Определение 2  \\n  \\n { Какой-нибудь код, часть определения 2 }  \\n Третий параграф определения 2.  \\n```  \\n  \\n## Сокращения\\n*[HTML]: Hyper Text Markup Language  \\n*[W3C]:  World Wide Web Consortium  \\nThe HTML specification  \\nis maintained by the W3C.  \\n```  \\n*[HTML]: Hyper Text Markup Language  \\n*[W3C]:  World Wide Web Consortium  \\nThe HTML specification  \\nis maintained by the W3C.  \\n```\\n'},function(e,t){e.exports='@[toc](目录)\\n\\nMarkdown 语法简介\\n=============\\n> [语法详解](http://commonmark.org/help/)\\n\\n## **目录**\\n```\\n@[toc](目录)\\n```\\n\\n## **粗体**\\n```\\n**粗体**\\n__粗体__\\n```\\n## *斜体*\\n```\\n*斜体*\\n_斜体_\\n```\\n## 标题\\n```\\n# 一级标题 #\\n一级标题\\n====\\n## 二级标题 ##\\n二级标题\\n----\\n### 三级标题 ###\\n#### 四级标题 ####\\n##### 五级标题 #####\\n###### 六级标题 ######\\n```\\n## 分割线\\n```\\n***\\n---\\n```\\n****\\n## ^上^角~下~标\\n```\\n上角标 x^2^\\n下角标 H~2~0\\n```\\n## ++下划线++ ~~中划线~~\\n```\\n++下划线++\\n~~中划线~~\\n```\\n## ==标记==\\n```\\n==标记==\\n```\\n## 段落引用\\n```\\n> 一级\\n>> 二级\\n>>> 三级\\n...\\n```\\n\\n## 列表\\n```\\n有序列表\\n1.\\n2.\\n3.\\n...\\n无序列表\\n-\\n-\\n...\\n```\\n\\n## 任务列表\\n\\n- [x] 已完成任务\\n- [ ] 未完成任务\\n\\n```\\n- [x] 已完成任务\\n- [ ] 未完成任务\\n```\\n\\n## 链接\\n```\\n[链接](www.baidu.com)\\n![图片描述](http://www.image.com)\\n```\\n## 代码段落\\n\\\\``` type\\n\\n代码段落\\n\\n\\\\```\\n\\n\\\\` 代码块 \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n## 表格(table)\\n```\\n| 标题1 | 标题2 | 标题3 |\\n| :--  | :--: | ----: |\\n| 左对齐 | 居中 | 右对齐 |\\n| ---------------------- | ------------- | ----------------- |\\n```\\n| 标题1 | 标题2 | 标题3 |\\n| :--  | :--: | ----: |\\n| 左对齐 | 居中 | 右对齐 |\\n| ---------------------- | ------------- | ----------------- |\\n## 脚注(footnote)\\n```\\nhello[^hello]\\n```\\n\\n见底部脚注[^hello]\\n\\n[^hello]: 一个注脚\\n\\n## 表情(emoji)\\n[参考网站: https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$公式\\n\\n我们可以渲染公式例如：$x_i + y_i = z_i$和$\\\\sum_{i=1}^n a_i=0$\\n我们也可以单行渲染\\n$$\\\\sum_{i=1}^n a_i=0$$\\n具体可参照[katex文档](http://www.intmath.com/cg5/katex-mathjax-comparison.php)和[katex支持的函数](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)以及[latex文档](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\n## 布局\\n\\n::: hljs-left\\n`::: hljs-left`\\n`居左`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`居中`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`居右`\\n`:::`\\n:::\\n\\n## 定义\\n\\n术语一\\n\\n:   定义一\\n\\n包含有*行内标记*的术语二\\n\\n:   定义二\\n\\n        {一些定义二的文字或代码}\\n\\n    定义二的第三段\\n\\n```\\n术语一\\n\\n:   定义一\\n\\n包含有*行内标记*的术语二\\n\\n:   定义二\\n\\n        {一些定义二的文字或代码}\\n\\n    定义二的第三段\\n\\n```\\n\\n## abbr\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nHTML 规范由 W3C 维护\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nHTML 规范由 W3C 维护\\n```\\n\\n'},function(e,t){e.exports='@[toc](目錄)\\n\\nMarkdown 語法簡介\\n=============\\n> [語法詳解](http://commonmark.org/help/)\\n\\n## **粗體**\\n```\\n**粗體**\\n__粗體__\\n```\\n## *斜體*\\n```\\n*斜體*\\n_斜體_\\n```\\n## 標題\\n```\\n# 一級標題 #\\n一級標題\\n====\\n## 二級標題 ##\\n二級標題\\n----\\n### 三級標題 ###\\n#### 四級標題 ####\\n##### 五級標題 #####\\n###### 六級標題 ######\\n```\\n## 分割線\\n```\\n***\\n---\\n```\\n****\\n## ^上^角~下~標\\n```\\n上角標 x^2^\\n下角標 H~2~0\\n```\\n## ++下劃線++ ~~中劃線~~\\n```\\n++下劃線++\\n~~中劃線~~\\n```\\n## ==標記==\\n```\\n==標記==\\n```\\n## 段落引用\\n```\\n> 一級\\n>> 二級\\n>>> 三級\\n...\\n```\\n\\n## 列表\\n```\\n有序列表\\n1.\\n2.\\n3.\\n...\\n無序列表\\n-\\n-\\n...\\n```\\n\\n## 任務列表\\n\\n- [x] 已完成任務\\n- [ ] 未完成任務\\n\\n```\\n- [x] 已完成任務\\n- [ ] 未完成任務\\n```\\n\\n## 鏈接\\n```\\n[鏈接](www.baidu.com)\\n![圖片描述](http://www.image.com)\\n```\\n## 代碼段落\\n\\\\``` type\\n\\n代碼段落\\n\\n\\\\```\\n\\n\\\\` 代碼塊 \\\\`\\n\\n```c++\\nint main()\\n{\\n    printf(\"hello world!\");\\n}\\n```\\n`code`\\n## 表格(table)\\n```\\n| 標題1 | 標題2 | 標題3 |\\n| :--  | :--: | ----: |\\n| 左對齊 | 居中 | 右對齊 |\\n| ---------------------- | ------------- | ----------------- |\\n```\\n| 標題1 | 標題2 | 標題3 |\\n| :--  | :--: | ----: |\\n| 左對齊 | 居中 | 右對齊 |\\n| ---------------------- | ------------- | ----------------- |\\n## 腳註(footnote)\\n```\\nhello[^hello]\\n```\\n\\n見底部腳註[^hello]\\n\\n[^hello]: 一個註腳\\n\\n## 表情(emoji)\\n[參考網站: https://www.webpagefx.com/tools/emoji-cheat-sheet/](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\\n```\\n:laughing:\\n:blush:\\n:smiley:\\n:)\\n...\\n```\\n:laughing::blush::smiley::)\\n\\n## $\\\\KaTeX$公式\\n\\n我們可以渲染公式例如：$x_i + y_i = z_i$和$\\\\sum_{i=1}^n a_i=0$\\n我們也可以單行渲染\\n$$\\\\sum_{i=1}^n a_i=0$$\\n具體可參照[katex文檔](http://www.intmath.com/cg5/katex-mathjax-comparison.php)和[katex支持的函數](https://github.com/Khan/KaTeX/wiki/Function-Support-in-KaTeX)以及[latex文檔](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference)\\n\\n## 布局\\n\\n::: hljs-left\\n`::: hljs-left`\\n`居左`\\n`:::`\\n:::\\n\\n::: hljs-center\\n`::: hljs-center`\\n`居中`\\n`:::`\\n:::\\n\\n::: hljs-right\\n`::: hljs-right`\\n`居右`\\n`:::`\\n:::\\n\\n## 定義\\n\\n術語一\\n\\n:   定義一\\n\\n包含有*行內標記*的術語二\\n\\n:   定義二\\n\\n        {一些定義二的文字或代碼}\\n\\n    定義二的第三段\\n\\n```\\n術語一\\n\\n:   定義一\\n\\n包含有*行內標記*的術語二\\n\\n:   定義二\\n\\n        {一些定義二的文字或代碼}\\n\\n    定義二的第三段\\n\\n```\\n\\n## abbr\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nHTML 規範由 W3C 維護\\n```\\n*[HTML]: Hyper Text Markup Language\\n*[W3C]:  World Wide Web Consortium\\nHTML 規範由 W3C 維護\\n```\\n\\n'},function(e,t){e.exports=/[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/},function(e,t,n){\"use strict\";t.Any=n(59),t.Cc=n(57),t.Cf=n(195),t.P=n(34),t.Z=n(58)},function(e,t,n){function r(e){o||n(202)}var o=!1,i=n(16)(n(64),n(199),r,null,null);i.options.__file=\"D:\\\\work\\\\songwang\\\\yuangongji\\\\mavonEditor\\\\node_modules\\\\auto-textarea\\\\auto-textarea.vue\",i.esModule&&Object.keys(i.esModule).some(function(e){return\"default\"!==e&&\"__\"!==e.substr(0,2)})&&console.error(\"named exports are not supported in *.vue files.\"),i.options.functional&&console.error(\"[vue-loader] auto-textarea.vue: functional components are not supported with templates, they should use render functions.\"),e.exports=i.exports},function(e,t,n){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-right-item\"},[e._t(\"right-toolbar-before\"),e._v(\" \"),e.toolbars.navigation?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.s_navigation,expression:\"!s_navigation\"}],staticClass:\"op-icon fa fa-mavon-bars\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_navigation_on+\" (F8)\"},on:{click:function(t){return e.$clicks(\"navigation\")}}}):e._e(),e._v(\" \"),e.toolbars.navigation?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_navigation,expression:\"s_navigation\"}],staticClass:\"op-icon fa fa-mavon-bars selected\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_navigation_off+\" (F8)\"},on:{click:function(t){return e.$clicks(\"navigation\")}}}):e._e(),e._v(\" \"),e.toolbars.preview?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_preview_switch,expression:\"s_preview_switch\"}],staticClass:\"op-icon fa fa-mavon-eye-slash selected\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_edit+\" (F9)\"},on:{click:function(t){return e.$clicks(\"preview\")}}}):e._e(),e._v(\" \"),e.toolbars.preview?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.s_preview_switch,expression:\"!s_preview_switch\"}],staticClass:\"op-icon fa fa-mavon-eye\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_preview+\" (F9)\"},on:{click:function(t){return e.$clicks(\"preview\")}}}):e._e(),e._v(\" \"),e.toolbars.fullscreen?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.s_fullScreen,expression:\"!s_fullScreen\"}],staticClass:\"op-icon fa fa-mavon-arrows-alt\",attrs:{type:\"button\",title:e.d_words.tl_fullscreen_on+\" (F10)\",\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"fullscreen\")}}}):e._e(),e._v(\" \"),e.toolbars.fullscreen?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_fullScreen,expression:\"s_fullScreen\"}],staticClass:\"op-icon fa fa-mavon-compress selected\",attrs:{type:\"button\",title:e.d_words.tl_fullscreen_off+\" (F10)\",\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"fullscreen\")}}}):e._e(),e._v(\" \"),e.toolbars.readmodel?n(\"button\",{staticClass:\"op-icon fa fa-mavon-window-maximize\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_read+\" (F11)\"},on:{click:function(t){return e.$clicks(\"read\")}}}):e._e(),e._v(\" \"),e.toolbars.subfield?n(\"button\",{staticClass:\"op-icon fa fa-mavon-columns\",class:{selected:e.s_subfield},attrs:{type:\"button\",\"aria-hidden\":\"true\",title:(e.s_subfield?e.d_words.tl_single_column:e.d_words.tl_double_column)+\" (F12)\"},on:{click:function(t){return e.$clicks(\"subfield\")}}}):e._e(),e._v(\" \"),e.toolbars.help&&e.toolbars.htmlcode&&e.toolbars.readmodel&&e.toolbars.fullscreen&&e.toolbars.subfield&&e.toolbars.navigation?n(\"span\",{staticClass:\"op-icon-divider\"}):e._e(),e._v(\" \"),e.toolbars.htmlcode?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.s_html_code,expression:\"!s_html_code\"}],staticClass:\"op-icon fa fa-mavon-code\",attrs:{type:\"button\",title:e.d_words.tl_html_on,\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"html\")}}}):e._e(),e._v(\" \"),e.toolbars.htmlcode?n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_html_code,expression:\"s_html_code\"}],staticClass:\"op-icon fa fa-mavon-code selected\",attrs:{type:\"button\",title:e.d_words.tl_html_off,\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"html\")}}}):e._e(),e._v(\" \"),e.toolbars.help?n(\"button\",{staticClass:\"op-icon fa fa-mavon-question-circle\",staticStyle:{\"font-size\":\"17px\",padding:\"5px 6px 5px 3px\"},attrs:{type:\"button\",title:e.d_words.tl_help,\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"help\")}}}):e._e(),e._v(\" \"),e._t(\"right-toolbar-after\")],2)},staticRenderFns:[]},e.exports.render._withStripped=!0},function(e,t,n){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"auto-textarea-wrapper\",style:{fontSize:e.fontSize,lineHeight:e.lineHeight,height:e.fullHeight?\"100%\":\"auto\"}},[n(\"pre\",{staticClass:\"auto-textarea-block\",style:{fontSize:e.fontSize,lineHeight:e.lineHeight,minHeight:e.fullHeight?\"100%\":\"auto\"}},[n(\"br\"),e._v(e._s(e.temp_value)+\" \")]),e._v(\" \"),n(\"textarea\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.temp_value,expression:\"temp_value\"}],ref:\"vTextarea\",staticClass:\"auto-textarea-input\",class:{\"no-border\":!e.border,\"no-resize\":!e.resize},style:{fontSize:e.fontSize,lineHeight:e.lineHeight},attrs:{autofocus:e.s_autofocus,spellcheck:\"false\",placeholder:e.placeholder},domProps:{value:e.temp_value},on:{keyup:e.change,input:function(t){t.target.composing||(e.temp_value=t.target.value)}}})])},staticRenderFns:[]},e.exports.render._withStripped=!0},function(e,t,n){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-left-item\"},[e._t(\"left-toolbar-before\"),e._v(\" \"),e.toolbars.bold?n(\"button\",{staticClass:\"op-icon fa fa-mavon-bold\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_bold+\" (ctrl+b)\"},on:{click:function(t){return e.$clicks(\"bold\")}}}):e._e(),e._v(\" \"),e.toolbars.italic?n(\"button\",{staticClass:\"op-icon fa fa-mavon-italic\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_italic+\" (ctrl+i)\"},on:{click:function(t){return e.$clicks(\"italic\")}}}):e._e(),e._v(\" \"),e.toolbars.header?n(\"div\",{staticClass:\"op-icon fa fa-mavon-header dropdown dropdown-wrapper\",class:{selected:e.s_header_dropdown_open},attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_header+\" (ctrl+h)\"},on:{mouseleave:e.$mouseleave_header_dropdown,mouseenter:e.$mouseenter_header_dropdown}},[n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_header_dropdown_open,expression:\"s_header_dropdown_open\"}],staticClass:\"op-header popup-dropdown\",class:{transition:e.transition},on:{mouseenter:e.$mouseenter_header_dropdown,mouseleave:e.$mouseleave_header_dropdown}},[n(\"div\",{staticClass:\"dropdown-item\",attrs:{title:\"#\"},on:{click:function(t){return t.stopPropagation(),e.$click_header(\"header1\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_header_one))])]),e._v(\" \"),n(\"div\",{staticClass:\"dropdown-item\",attrs:{title:\"## \"},on:{click:function(t){return t.stopPropagation(),e.$click_header(\"header2\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_header_two))])]),e._v(\" \"),n(\"div\",{staticClass:\"dropdown-item\",attrs:{title:\"### \"},on:{click:function(t){return t.stopPropagation(),e.$click_header(\"header3\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_header_three))])]),e._v(\" \"),n(\"div\",{staticClass:\"dropdown-item\",attrs:{title:\"#### \"},on:{click:function(t){return t.stopPropagation(),e.$click_header(\"header4\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_header_four))])]),e._v(\" \"),n(\"div\",{staticClass:\"dropdown-item\",attrs:{title:\"##### \"},on:{click:function(t){return t.stopPropagation(),e.$click_header(\"header5\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_header_five))])]),e._v(\" \"),n(\"div\",{staticClass:\"dropdown-item\",attrs:{title:\"###### \"},on:{click:function(t){return t.stopPropagation(),e.$click_header(\"header6\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_header_six))])])])])],1):e._e(),e._v(\" \"),e.toolbars.header||e.toolbars.italic||e.toolbars.bold?n(\"span\",{staticClass:\"op-icon-divider\"}):e._e(),e._v(\" \"),e.toolbars.underline?n(\"button\",{staticClass:\"op-icon fa fa-mavon-underline\",attrs:{disabled:!e.editable,type:\"button\",title:e.d_words.tl_underline+\" (ctrl+u)\",\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"underline\")}}}):e._e(),e._v(\" \"),e.toolbars.strikethrough?n(\"button\",{staticClass:\"op-icon fa fa-mavon-strikethrough\",attrs:{disabled:!e.editable,type:\"button\",title:e.d_words.tl_strikethrough+\" (ctrl+shift+d)\",\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"strikethrough\")}}}):e._e(),e._v(\" \"),e.toolbars.mark?n(\"button\",{staticClass:\"op-icon fa fa-mavon-thumb-tack\",attrs:{disabled:!e.editable,type:\"button\",title:e.d_words.tl_mark+\" (ctrl+m)\",\"aria-hidden\":\"true\"},on:{click:function(t){return e.$clicks(\"mark\")}}}):e._e(),e._v(\" \"),e.toolbars.superscript?n(\"button\",{staticClass:\"op-icon fa fa-mavon-superscript\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_superscript+\" (ctrl+alt+s)\"},on:{click:function(t){return e.$clicks(\"superscript\")}}}):e._e(),e._v(\" \"),e.toolbars.subscript?n(\"button\",{staticClass:\"op-icon fa fa-mavon-subscript\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_subscript+\" (ctrl+shift+s)\"},on:{click:function(t){return e.$clicks(\"subscript\")}}}):e._e(),e._v(\" \"),e.toolbars.alignleft?n(\"button\",{staticClass:\"op-icon fa fa-mavon-align-left\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_alignleft+\" (ctrl+l)\"},on:{click:function(t){return e.$clicks(\"alignleft\")}}}):e._e(),e._v(\" \"),e.toolbars.aligncenter?n(\"button\",{staticClass:\"op-icon fa fa-mavon-align-center\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_aligncenter+\" (ctrl+e)\"},on:{click:function(t){return e.$clicks(\"aligncenter\")}}}):e._e(),e._v(\" \"),e.toolbars.alignright?n(\"button\",{staticClass:\"op-icon fa fa-mavon-align-right\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_alignright+\" (ctrl+r)\"},on:{click:function(t){return e.$clicks(\"alignright\")}}}):e._e(),e._v(\" \"),e.toolbars.superscript||e.toolbars.subscript||e.toolbars.underline||e.toolbars.strikethrough||e.toolbars.mark?n(\"span\",{staticClass:\"op-icon-divider\"}):e._e(),e._v(\" \"),e.toolbars.quote?n(\"button\",{staticClass:\"op-icon fa fa-mavon-quote-left\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_quote+\" (ctrl+q)\"},on:{click:function(t){return e.$clicks(\"quote\")}}}):e._e(),e._v(\" \"),e.toolbars.ol?n(\"button\",{staticClass:\"op-icon fa fa-mavon-list-ol\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_ol+\" (ctrl+o)\"},on:{click:function(t){return e.$clicks(\"ol\")}}}):e._e(),e._v(\" \"),e.toolbars.ul?n(\"button\",{staticClass:\"op-icon fa fa-mavon-list-ul\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_ul+\" (ctrl+alt+u)\"},on:{click:function(t){return e.$clicks(\"ul\")}}}):e._e(),e._v(\" \"),e.toolbars.ul||e.toolbars.ol||e.toolbars.quote?n(\"span\",{staticClass:\"op-icon-divider\"}):e._e(),e._v(\" \"),e.toolbars.link?n(\"button\",{staticClass:\"op-icon fa fa-mavon-link\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_link+\" (ctrl+l)\"},on:{click:function(t){return t.stopPropagation(),e.$toggle_imgLinkAdd(\"link\")}}}):e._e(),e._v(\" \"),e.toolbars.imagelink?n(\"div\",{staticClass:\"op-icon fa fa-mavon-picture-o dropdown dropdown-wrapper\",class:{selected:e.s_img_dropdown_open},attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\"},on:{mouseleave:e.$mouseleave_img_dropdown,mouseenter:e.$mouseenter_img_dropdown}},[n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_img_dropdown_open,expression:\"s_img_dropdown_open\"}],staticClass:\"op-image popup-dropdown\",class:{transition:e.transition},on:{mouseleave:e.$mouseleave_img_dropdown,mouseenter:e.$mouseenter_img_dropdown}},[n(\"div\",{staticClass:\"dropdown-item\",on:{click:function(t){return t.stopPropagation(),e.$toggle_imgLinkAdd(\"imagelink\")}}},[n(\"span\",[e._v(e._s(e.d_words.tl_image))])]),e._v(\" \"),n(\"div\",{staticClass:\"dropdown-item\",staticStyle:{overflow:\"hidden\"}},[n(\"input\",{attrs:{type:\"file\",accept:\"image/gif,image/jpeg,image/jpg,image/png,image/svg\",multiple:\"multiple\"},on:{change:function(t){return e.$imgAdd(t)}}}),e._v(e._s(e.d_words.tl_upload)+\"\\n                \")]),e._v(\" \"),e._l(e.img_file,function(t,r){return t&&t[1]?n(\"div\",{key:r,staticClass:\"dropdown-item dropdown-images\",attrs:{title:t[1].name},on:{click:function(t){return t.stopPropagation(),e.$imgFileListClick(r)}}},[n(\"span\",[e._v(e._s(t[1].name))]),e._v(\" \"),n(\"button\",{staticClass:\"op-icon fa fa-mavon-times\",attrs:{slot:\"right\",type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_upload_remove},on:{click:function(t){return t.stopPropagation(),e.$imgDel(r)}},slot:\"right\"}),e._v(\" \"),n(\"img\",{staticClass:\"image-show\",class:{transition:e.transition},attrs:{src:t[1].miniurl,alt:\"none\"}})]):e._e()})],2)])],1):e._e(),e._v(\" \"),e.toolbars.code?n(\"button\",{staticClass:\"op-icon fa fa-mavon-code\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_code+\" (ctrl+alt+c)\"},on:{click:function(t){return e.$clicks(\"code\")}}}):e._e(),e._v(\" \"),e.toolbars.table?n(\"button\",{staticClass:\"op-icon fa fa-mavon-table\",attrs:{disabled:!e.editable,type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_table+\" (ctrl+alt+t)\"},on:{click:function(t){return e.$clicks(\"table\")}}}):e._e(),e._v(\" \"),e.toolbars.link||e.toolbars.imagelink||e.toolbars.code||e.toolbars.table?n(\"span\",{staticClass:\"op-icon-divider\"}):e._e(),e._v(\" \"),e.toolbars.undo?n(\"button\",{staticClass:\"op-icon fa fa-mavon-undo\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_undo+\" (ctrl+z)\"},on:{click:function(t){return e.$clicks(\"undo\")}}}):e._e(),e._v(\" \"),e.toolbars.redo?n(\"button\",{staticClass:\"op-icon fa fa-mavon-repeat\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_redo+\" (ctrl+y)\"},on:{click:function(t){return e.$clicks(\"redo\")}}}):e._e(),e._v(\" \"),e.toolbars.trash?n(\"button\",{staticClass:\"op-icon fa fa-mavon-trash-o\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_trash+\" (ctrl+breakspace)\"},on:{click:function(t){return e.$clicks(\"trash\")}}}):e._e(),e._v(\" \"),e.toolbars.save?n(\"button\",{staticClass:\"op-icon fa fa-mavon-floppy-o\",attrs:{type:\"button\",\"aria-hidden\":\"true\",title:e.d_words.tl_save+\" (ctrl+s)\"},on:{click:function(t){return e.$clicks(\"save\")}}}):e._e(),e._v(\" \"),e._t(\"left-toolbar-after\"),e._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[e.s_img_link_open?n(\"div\",{staticClass:\"add-image-link-wrapper\"},[n(\"div\",{staticClass:\"add-image-link\"},[n(\"i\",{staticClass:\"fa fa-mavon-times\",attrs:{\"aria-hidden\":\"true\"},on:{click:function(t){t.stopPropagation(),t.preventDefault(),e.s_img_link_open=!1}}}),e._v(\" \"),n(\"h3\",{staticClass:\"title\"},[e._v(e._s(\"link\"==e.link_type?e.d_words.tl_popup_link_title:e.d_words.tl_popup_img_link_title))]),e._v(\" \"),n(\"div\",{staticClass:\"link-text input-wrapper\"},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.link_text,expression:\"link_text\"}],ref:\"linkTextInput\",attrs:{type:\"text\",placeholder:\"link\"==e.link_type?e.d_words.tl_popup_link_text:e.d_words.tl_popup_img_link_text},domProps:{value:e.link_text},on:{input:function(t){t.target.composing||(e.link_text=t.target.value)}}})]),e._v(\" \"),n(\"div\",{staticClass:\"link-addr input-wrapper\"},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.link_addr,expression:\"link_addr\"}],attrs:{type:\"text\",placeholder:\"link\"==e.link_type?e.d_words.tl_popup_link_addr:e.d_words.tl_popup_img_link_addr},domProps:{value:e.link_addr},on:{input:function(t){t.target.composing||(e.link_addr=t.target.value)}}})]),e._v(\" \"),n(\"div\",{staticClass:\"op-btn cancel\",on:{click:function(t){t.stopPropagation(),e.s_img_link_open=!1}}},[e._v(e._s(e.d_words.tl_popup_link_cancel))]),e._v(\" \"),n(\"div\",{staticClass:\"op-btn sure\",on:{click:function(t){return t.stopPropagation(),e.$imgLinkAdd()}}},[e._v(e._s(e.d_words.tl_popup_link_sure))])])]):e._e()])],2)},staticRenderFns:[]},e.exports.render._withStripped=!0},function(e,t,n){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-note-wrapper markdown-body\",class:[{fullscreen:e.s_fullScreen,shadow:e.boxShadow}],style:{\"box-shadow\":e.boxShadow?e.boxShadowStyle:\"\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.toolbarsFlag,expression:\"toolbarsFlag\"}],staticClass:\"v-note-op\",style:{background:e.toolbarsBackground}},[n(\"v-md-toolbar-left\",{ref:\"toolbar_left\",class:{transition:e.transition},attrs:{editable:e.editable,transition:e.transition,d_words:e.d_words,toolbars:e.toolbars,image_filter:e.imageFilter},on:{toolbar_left_click:e.toolbar_left_click,toolbar_left_addlink:e.toolbar_left_addlink,imgAdd:e.$imgAdd,imgDel:e.$imgDel,imgTouch:e.$imgTouch}},[e._t(\"left-toolbar-before\",null,{slot:\"left-toolbar-before\"}),e._v(\" \"),e._t(\"left-toolbar-after\",null,{slot:\"left-toolbar-after\"})],2),e._v(\" \"),n(\"v-md-toolbar-right\",{ref:\"toolbar_right\",class:{transition:e.transition},attrs:{d_words:e.d_words,toolbars:e.toolbars,s_subfield:e.s_subfield,s_preview_switch:e.s_preview_switch,s_fullScreen:e.s_fullScreen,s_html_code:e.s_html_code,s_navigation:e.s_navigation},on:{toolbar_right_click:e.toolbar_right_click}},[e._t(\"right-toolbar-before\",null,{slot:\"right-toolbar-before\"}),e._v(\" \"),e._t(\"right-toolbar-after\",null,{slot:\"right-toolbar-after\"})],2)],1),e._v(\" \"),n(\"div\",{staticClass:\"v-note-panel\"},[n(\"div\",{ref:\"vNoteEdit\",staticClass:\"v-note-edit divarea-wrapper\",class:{\"scroll-style\":e.s_scrollStyle,\"scroll-style-border-radius\":e.s_scrollStyle&&!e.s_preview_switch&&!e.s_html_code,\"single-edit\":!e.s_preview_switch&&!e.s_html_code,\"single-show\":!e.s_subfield&&e.s_preview_switch||!e.s_subfield&&e.s_html_code,transition:e.transition},on:{scroll:e.$v_edit_scroll,click:e.textAreaFocus}},[n(\"div\",{staticClass:\"content-input-wrapper\",style:{\"background-color\":e.editorBackground}},[n(\"v-autoTextarea\",{ref:\"vNoteTextarea\",staticClass:\"content-input\",style:{\"background-color\":e.editorBackground},attrs:{placeholder:e.placeholder?e.placeholder:e.d_words.start_editor,fontSize:e.fontSize,lineHeight:\"1.5\",fullHeight:\"\"},model:{value:e.d_value,callback:function(t){e.d_value=t},expression:\"d_value\"}})],1)]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_preview_switch||e.s_html_code,expression:\"s_preview_switch || s_html_code\"}],staticClass:\"v-note-show\",class:{\"single-show\":!e.s_subfield&&e.s_preview_switch||!e.s_subfield&&e.s_html_code}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.s_html_code,expression:\"!s_html_code\"}],ref:\"vShowContent\",staticClass:\"v-show-content\",class:{\"scroll-style\":e.s_scrollStyle,\"scroll-style-border-radius\":e.s_scrollStyle},style:{\"background-color\":e.previewBackground},domProps:{innerHTML:e._s(e.d_render)}}),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_html_code,expression:\"s_html_code\"}],staticClass:\"v-show-content-html\",class:{\"scroll-style\":e.s_scrollStyle,\"scroll-style-border-radius\":e.s_scrollStyle},style:{\"background-color\":e.previewBackground}},[e._v(\"\\n                \"+e._s(e.d_render)+\"\\n            \")])]),e._v(\" \"),n(\"transition\",{attrs:{name:\"slideTop\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.s_navigation,expression:\"s_navigation\"}],staticClass:\"v-note-navigation-wrapper\",class:{transition:e.transition}},[n(\"div\",{staticClass:\"v-note-navigation-title\"},[e._v(\"\\n                    \"+e._s(e.d_words.navigation_title)),n(\"i\",{staticClass:\"fa fa-mavon-times v-note-navigation-close\",attrs:{\"aria-hidden\":\"true\"},on:{click:function(t){return e.toolbar_right_click(\"navigation\")}}})]),e._v(\" \"),n(\"div\",{ref:\"navigationContent\",staticClass:\"v-note-navigation-content\",class:{\"scroll-style\":e.s_scrollStyle}})])])],1),e._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{ref:\"help\"},[e.s_help?n(\"div\",{staticClass:\"v-note-help-wrapper\",on:{click:function(t){return t.target!==t.currentTarget?null:e.toolbar_right_click(\"help\")}}},[n(\"div\",{staticClass:\"v-note-help-content markdown-body\",class:{shadow:e.boxShadow}},[n(\"i\",{staticClass:\"fa fa-mavon-times\",attrs:{\"aria-hidden\":\"true\"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toolbar_right_click(\"help\")}}}),e._v(\" \"),n(\"div\",{staticClass:\"scroll-style v-note-help-show\",domProps:{innerHTML:e._s(e.d_help)}})])]):e._e()])]),e._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[e.d_preview_imgsrc?n(\"div\",{staticClass:\"v-note-img-wrapper\",on:{click:function(t){e.d_preview_imgsrc=null}}},[n(\"img\",{attrs:{src:e.d_preview_imgsrc,alt:\"none\"}})]):e._e()]),e._v(\" \"),n(\"div\",{ref:\"vReadModel\",staticClass:\"v-note-read-model scroll-style\",class:{show:e.s_readmodel}},[n(\"div\",{ref:\"vNoteReadContent\",staticClass:\"v-note-read-content\",domProps:{innerHTML:e._s(e.d_render)}})])],1)},staticRenderFns:[]},e.exports.render._withStripped=!0},function(e,t,n){var r=n(107);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(17)(\"c0faed68\",r,!1,{})},function(e,t,n){var r=n(108);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(17)(\"118de024\",r,!1,{})},function(e,t,n){var r=n(109);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(17)(\"2f84471f\",r,!1,{})},function(e,t,n){var r=n(110);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(17)(\"6daa4aa0\",r,!1,{})},function(e,t){e.exports=function(e,t){for(var n=[],r={},o=0;o<t.length;o++){var i=t[o],a=i[0],s=i[1],l=i[2],c=i[3],u={id:e+\":\"+o,css:s,media:l,sourceMap:c};r[a]?r[a].parts.push(u):n.push(r[a]={id:a,parts:[u]})}return n}},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){function r(e,t){return new a(t).process(e)}var o=n(60),i=n(61),a=n(210);t=e.exports=r,t.filterXSS=r,t.FilterXSS=a;for(var s in o)t[s]=o[s];for(var s in i)t[s]=i[s];\"undefined\"!=typeof window&&(window.filterXSS=e.exports),function(){return\"undefined\"!=typeof self&&\"undefined\"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope}()&&(self.filterXSS=e.exports)},function(e,t,n){function r(e){return void 0===e||null===e}function o(e){var t=d.spaceIndex(e);if(-1===t)return{html:\"\",closing:\"/\"===e[e.length-2]};e=d.trim(e.slice(t+1,-1));var n=\"/\"===e[e.length-1];return n&&(e=d.trim(e.slice(0,-1))),{html:e,closing:n}}function i(e){var t={};for(var n in e)t[n]=e[n];return t}function a(e){e=i(e||{}),e.stripIgnoreTag&&(e.onIgnoreTag&&console.error('Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'),e.onIgnoreTag=l.onIgnoreTagStripAll),e.whiteList=e.whiteList||l.whiteList,e.onTag=e.onTag||l.onTag,e.onTagAttr=e.onTagAttr||l.onTagAttr,e.onIgnoreTag=e.onIgnoreTag||l.onIgnoreTag,e.onIgnoreTagAttr=e.onIgnoreTagAttr||l.onIgnoreTagAttr,e.safeAttrValue=e.safeAttrValue||l.safeAttrValue,e.escapeHtml=e.escapeHtml||l.escapeHtml,this.options=e,!1===e.css?this.cssFilter=!1:(e.css=e.css||{},this.cssFilter=new s(e.css))}var s=n(31).FilterCSS,l=n(60),c=n(61),u=c.parseTag,p=c.parseAttr,d=n(35);a.prototype.process=function(e){if(e=e||\"\",!(e=e.toString()))return\"\";var t=this,n=t.options,i=n.whiteList,a=n.onTag,s=n.onIgnoreTag,c=n.onTagAttr,h=n.onIgnoreTagAttr,f=n.safeAttrValue,_=n.escapeHtml,g=t.cssFilter;n.stripBlankChar&&(e=l.stripBlankChar(e)),n.allowCommentTag||(e=l.stripCommentTag(e));var m=!1;if(n.stripIgnoreTagBody){var m=l.StripTagBody(n.stripIgnoreTagBody,s);s=m.onIgnoreTag}var b=u(e,function(e,t,n,l,u){var m={sourcePosition:e,position:t,isClosing:u,isWhite:i.hasOwnProperty(n)},b=a(n,l,m);if(!r(b))return b;if(m.isWhite){if(m.isClosing)return\"</\"+n+\">\";var v=o(l),k=i[n],w=p(v.html,function(e,t){var o=-1!==d.indexOf(k,e),i=c(n,e,t,o);if(!r(i))return i;if(o)return t=f(n,e,t,g),t?e+'=\"'+t+'\"':e;var i=h(n,e,t,o);return r(i)?void 0:i}),l=\"<\"+n;return w&&(l+=\" \"+w),v.closing&&(l+=\" /\"),l+=\">\"}var b=s(n,l,m);return r(b)?_(l):b},_);return m&&(b=m.remove(b)),b},e.exports=a},function(e,t){e.exports={start_editor:\"Bearbeitung beginnen...\",navigation_title:\"Navigation\",tl_bold:\"Fett\",tl_italic:\"Kursiv\",tl_header:\"Überschrift\",tl_header_one:\"Überschrift 1\",tl_header_two:\"Überschrift 2\",tl_header_three:\"Überschrift 3\",tl_header_four:\"Überschrift 4\",tl_header_five:\"Überschrift 5\",tl_header_six:\"Überschrift 6\",tl_underline:\"Unterstrichen\",tl_strikethrough:\"Durchgestrichen\",tl_mark:\"Markiert\",tl_superscript:\"Hochgestellt\",tl_subscript:\"Tiefgestellt\",tl_quote:\"Zitat\",tl_ol:\"Ol\",tl_ul:\"Ul\",tl_link:\"Link\",tl_image:\"Link mit Bild\",tl_code:\"Code\",tl_table:\"Tabelle\",tl_undo:\"Rückgängig\",tl_redo:\"Wiederherstellen\",tl_trash:\"Mülleimer\",tl_save:\"Speichern\",tl_navigation_on:\"Navigation AN\",tl_navigation_off:\"Navigation AUS\",tl_preview:\"Vorschau\",tl_aligncenter:\"Text zentrieren\",tl_alignleft:\"Nach links ausrichten\",tl_alignright:\"Nach rechts ausrichten\",tl_edit:\"Bearbeiten\",tl_single_column:\"Einspaltig\",tl_double_column:\"Zweispaltig\",tl_fullscreen_on:\"Vollbild AN\",tl_fullscreen_off:\"Vollbild AUS\",tl_read:\"Lesemodus\",tl_html_on:\"HTML AN\",tl_html_off:\"HTML AUS\",tl_help:\"Markdown Handbuch\",tl_upload:\"Bilder-Upload\",tl_upload_remove:\"Entfernen\",tl_popup_link_title:\"Link hinzufügen\",tl_popup_link_text:\"Text des Links\",tl_popup_link_addr:\"Linkziel\",tl_popup_img_link_title:\"Bild hinzufügen\",tl_popup_img_link_text:\"Text des Bildes\",tl_popup_img_link_addr:\"Link auf Bild\",tl_popup_link_sure:\"Ja\",tl_popup_link_cancel:\"Abbruch\"}},function(e,t){e.exports={start_editor:\"Begin editing...\",navigation_title:\"Navigation\",tl_bold:\"Bold\",tl_italic:\"Italic\",tl_header:\"Header\",tl_header_one:\"Header 1\",tl_header_two:\"Header 2\",tl_header_three:\"Header 3\",tl_header_four:\"Header 4\",tl_header_five:\"Header 5\",tl_header_six:\"Header 6\",tl_underline:\"Underline\",tl_strikethrough:\"Strikethrough\",tl_mark:\"Mark\",tl_superscript:\"Superscript\",tl_subscript:\"Subscript\",tl_quote:\"Quote\",tl_ol:\"Ol\",tl_ul:\"Ul\",tl_link:\"Link\",tl_image:\"Image Link\",tl_code:\"Code\",tl_table:\"Table\",tl_undo:\"Undo\",tl_redo:\"Redo\",tl_trash:\"Trash\",tl_save:\"Save\",tl_navigation_on:\"Navigation ON\",tl_navigation_off:\"Navigation OFF\",tl_preview:\"Preview\",tl_aligncenter:\"Center text\",tl_alignleft:\"Clamp text to the left\",tl_alignright:\"Clamp text to the right\",tl_edit:\"Edit\",tl_single_column:\"Single Column\",tl_double_column:\"Double Columns\",tl_fullscreen_on:\"FullScreen ON\",tl_fullscreen_off:\"FullScreen OFF\",tl_read:\"Read Model\",tl_html_on:\"HTML ON\",tl_html_off:\"HTML OFF\",tl_help:\"Markdown Guide\",tl_upload:\"Upload Images\",tl_upload_remove:\"Remove\",tl_popup_link_title:\"Add Link\",tl_popup_link_text:\"Link text\",tl_popup_link_addr:\"Link address\",tl_popup_img_link_title:\"Add Image\",tl_popup_img_link_text:\"Image Text\",tl_popup_img_link_addr:\"Image Link\",tl_popup_link_sure:\"Sure\",tl_popup_link_cancel:\"Cancel\"}},function(e,t){e.exports={start_editor:\"Début d'édition...\",navigation_title:\"Navigation\",tl_bold:\"Gras\",tl_italic:\"Italique\",tl_header:\"Entête\",tl_header_one:\"Entête 1\",tl_header_two:\"Entête 2\",tl_header_three:\"Entête 3\",tl_header_four:\"Entête 4\",tl_header_five:\"Entête 5\",tl_header_six:\"Entête 6\",tl_underline:\"Souligné\",tl_strikethrough:\"Barré\",tl_mark:\"Mark\",tl_superscript:\"Exposant\",tl_subscript:\"Sous-exposant\",tl_quote:\"Quote\",tl_ol:\"Liste \",tl_ul:\"Puce\",tl_link:\"Lien\",tl_image:\"Image Lien\",tl_code:\"Code\",tl_table:\"Table\",tl_undo:\"Annuler\",tl_redo:\"Refaire\",tl_trash:\"Supprimer\",tl_save:\"Sauver\",tl_navigation_on:\"Activer la navigation\",tl_navigation_off:\"Désactiver le navigation\",tl_preview:\"Previsualisé\",tl_aligncenter:\"Center le texte\",tl_alignleft:\"Férer le texte à gauche\",tl_alignright:\"Férer le texte à droite\",tl_edit:\"Editer\",tl_single_column:\"Seule Colonne\",tl_double_column:\"Colonnes Doubles\",tl_fullscreen_on:\"Activer le mode plein écran\",tl_fullscreen_off:\"Désactiver le mode plein écran\",tl_read:\"Lire le modèle\",tl_html_on:\"Activer le mode HTML\",tl_html_off:\"Désactiver le mode HTML\",tl_help:\"Guide Markdown\",tl_upload:\"Télécharger les images\",tl_upload_remove:\"Supprimer\",tl_popup_link_title:\"Ajouter un lien\",tl_popup_link_text:\"Description\",tl_popup_link_addr:\"Link\",tl_popup_img_link_title:\"Ajouter une image\",tl_popup_img_link_text:\"Description\",tl_popup_img_link_addr:\"Link\",tl_popup_link_sure:\"sûr\",tl_popup_link_cancel:\"Annuler\"}},function(e,t){e.exports={start_editor:\"編集を始めてね！\",navigation_title:\"ナビゲーション\",tl_bold:\"太字\",tl_italic:\"斜体\",tl_header:\"見出し\",tl_header_one:\"見出し1\",tl_header_two:\"見出し2\",tl_header_three:\"見出し3\",tl_header_four:\"見出し4\",tl_header_five:\"見出し5\",tl_header_six:\"見出し6\",tl_underline:\"下線\",tl_strikethrough:\"取り消し線\",tl_mark:\"蛍光ペン\",tl_superscript:\"上付き文字\",tl_subscript:\"下付き文字\",tl_quote:\"引用\",tl_ol:\"番号付きリスト\",tl_ul:\"箇条書きリスト\",tl_link:\"ハイパーリンク\",tl_image:\"画像のリンク\",tl_code:\"コードの挿入\",tl_table:\"表の挿入\",tl_undo:\"戻る\",tl_redo:\"進む\",tl_trash:\"削除\",tl_save:\"保存\",tl_navigation_on:\"ナビゲーションを表示\",tl_navigation_off:\"ナビゲーションを非表示\",tl_preview:\"プレビュー\",tl_aligncenter:\"中央揃え\",tl_alignleft:\"左揃え\",tl_alignright:\"右揃え\",tl_edit:\"編集\",tl_single_column:\"一列\",tl_double_column:\"二列\",tl_fullscreen_on:\"全画面表示\",tl_fullscreen_off:\"全画面表示の終了\",tl_read:\"モデルの読み込み\",tl_html_on:\"HTMLで表示\",tl_html_off:\"HTML表示の終了\",tl_help:\"ヘルプ\",tl_upload:\"画像をアップロード\",tl_upload_remove:\"画像の削除\",tl_popup_link_title:\"リンクの追加\",tl_popup_link_text:\"リンクテキスト\",tl_popup_link_addr:\"リンク先のURL\",tl_popup_img_link_title:\"画像の追加\",tl_popup_img_link_text:\"画像タイトル\",tl_popup_img_link_addr:\"画像URL\",tl_popup_link_sure:\"OK\",tl_popup_link_cancel:\"戻る\"}},function(e,t){e.exports={start_editor:\"Começar edição...\",navigation_title:\"Navegação\",tl_bold:\"Negrito\",tl_italic:\"Itálico\",tl_header:\"Cabeçalho\",tl_header_one:\"Cabeçalho 1\",tl_header_two:\"Cabeçalho 2\",tl_header_three:\"Cabeçalho 3\",tl_header_four:\"Cabeçalho 4\",tl_header_five:\"Cabeçalho 5\",tl_header_six:\"Cabeçalho 6\",tl_underline:\"Sublinhar\",tl_strikethrough:\"Tachar\",tl_mark:\"Marcação\",tl_superscript:\"Sobrescrito\",tl_subscript:\"Subscrito\",tl_quote:\"Citação\",tl_ol:\"Lista Numerada\",tl_ul:\"Lista com marcadores\",tl_link:\"Link\",tl_image:\"Link de imagem\",tl_code:\"Código\",tl_table:\"Tabela\",tl_undo:\"Desfazer\",tl_redo:\"Refazer\",tl_trash:\"Lixo\",tl_save:\"Salvar\",tl_navigation_on:\"Mostrar Navegação\",tl_navigation_off:\"Esconder Navegação\",tl_preview:\"Preview\",tl_aligncenter:\"Alinhar no centro\",tl_alignleft:\"Alinhar à esquerda\",tl_alignright:\"Alinhar à direita\",tl_edit:\"Editar\",tl_single_column:\"Coluna Única\",tl_double_column:\"Duas Colunas\",tl_fullscreen_on:\"Ligar Tela Cheia\",tl_fullscreen_off:\"Desligar Tela Cheia\",tl_read:\"Modo de Leitura\",tl_html_on:\"Ligar HTML\",tl_html_off:\"Desligar HTML\",tl_help:\"Guia Markdown\",tl_upload:\"Upload de Imagens\",tl_upload_remove:\"Remover\",tl_popup_link_title:\"Adicionar Link\",tl_popup_link_text:\"Descrição\",tl_popup_link_addr:\"Link\",tl_popup_img_link_title:\"Adicionar fotos\",tl_popup_img_link_text:\"Descrição\",tl_popup_img_link_addr:\"Link\",tl_popup_link_sure:\"Confirmar\",tl_popup_link_cancel:\"Cancelar\"}},function(e,t){e.exports={start_editor:\"Начните редактирование...\",navigation_title:\"Навигация\",tl_bold:\"Полужирный\",tl_italic:\"Курсив\",tl_header:\"Заголовки\",tl_header_one:\"Заголовок 1\",tl_header_two:\"Заголовок 2\",tl_header_three:\"Заголовок 3\",tl_header_four:\"Заголовок 4\",tl_header_five:\"Заголовок 5\",tl_header_six:\"Заголовок 6\",tl_underline:\"Подчеркнутый\",tl_strikethrough:\"Зачеркнутый\",tl_mark:\"Отметка\",tl_superscript:\"Верхний индекс\",tl_subscript:\"Нижний индекс\",tl_quote:\"Цитата\",tl_ol:\"Нумерованный список\",tl_ul:\"Список\",tl_link:\"Ссылка\",tl_image:\"Ссылка изображения\",tl_code:\"Код\",tl_table:\"Таблица\",tl_undo:\"Отменить\",tl_redo:\"Вернуть\",tl_trash:\"Удалить\",tl_save:\"Сохранить\",tl_navigation_on:\"Показать навигацию\",tl_navigation_off:\"Скрыть навигацию\",tl_preview:\"Предпросмотр\",tl_aligncenter:\"Выровнять по центру\",tl_alignleft:\"Выровнять по левому краю\",tl_alignright:\"Выровнять по правому краю\",tl_edit:\"Редактор\",tl_single_column:\"Одно поле\",tl_double_column:\"Два поля\",tl_fullscreen_on:\"Полноэкранный режим\",tl_fullscreen_off:\"Выключить полноэкранный режим\",tl_read:\"Режим чтения\",tl_html_on:\"Показать HTML\",tl_html_off:\"Убрать HTML\",tl_help:\"Markdown помощь\",tl_upload:\"Загрузить изображение\",tl_upload_remove:\"Удалить\",tl_popup_link_title:\"Добавить ссылку\",tl_popup_link_text:\"Текст ссылки\",tl_popup_link_addr:\"Адрес ссылки\",tl_popup_img_link_title:\"Локальное изображение\",tl_popup_img_link_text:\"Текст изображения\",tl_popup_img_link_addr:\"Ссылка изображения\",tl_popup_link_sure:\"Добавить\",tl_popup_link_cancel:\"Отменить\"}},function(e,t){e.exports={start_editor:\"开始编辑...\",navigation_title:\"导航目录\",tl_bold:\"粗体\",tl_italic:\"斜体\",tl_header:\"标题\",tl_header_one:\"一级标题\",tl_header_two:\"二级标题\",tl_header_three:\"三级标题\",tl_header_four:\"四级标题\",tl_header_five:\"五级标题\",tl_header_six:\"六级标题\",tl_underline:\"下划线\",tl_strikethrough:\"中划线\",tl_mark:\"标记\",tl_superscript:\"上角标\",tl_subscript:\"下角标\",tl_quote:\"段落引用\",tl_ol:\"有序列表\",tl_ul:\"无序列表\",tl_link:\"链接\",tl_image:\"添加图片链接\",tl_code:\"代码块\",tl_table:\"表格\",tl_undo:\"上一步\",tl_redo:\"下一步\",tl_trash:\"清空\",tl_save:\"保存\",tl_navigation_on:\"开启标题导航\",tl_navigation_off:\"关闭标题导航\",tl_preview:\"预览\",tl_aligncenter:\"居中\",tl_alignleft:\"居左\",tl_alignright:\"居右\",tl_edit:\"编辑\",tl_single_column:\"单栏\",tl_double_column:\"双栏\",tl_fullscreen_on:\"全屏编辑\",tl_fullscreen_off:\"退出全屏\",tl_read:\"沉浸式阅读\",tl_html_on:\"查看html文本\",tl_html_off:\"返回markdown文本\",tl_help:\"markdown语法帮助\",tl_upload:\"上传图片\",tl_upload_remove:\"删除\",tl_popup_link_title:\"添加链接\",tl_popup_link_text:\"链接描述\",tl_popup_link_addr:\"链接地址\",tl_popup_img_link_title:\"添加图片\",tl_popup_img_link_text:\"图片描述\",tl_popup_img_link_addr:\"图片链接\",tl_popup_link_sure:\"确定\",tl_popup_link_cancel:\"取消\"}},function(e,t){e.exports={start_editor:\"開始編輯...\",navigation_title:\"導航目錄\",tl_bold:\"粗體\",tl_italic:\"斜體\",tl_header:\"標題\",tl_header_one:\"一級標題\",tl_header_two:\"二級標題\",tl_header_three:\"三級標題\",tl_header_four:\"四級標題\",tl_header_five:\"五級標題\",tl_header_six:\"六級標題\",tl_underline:\"下劃線\",tl_strikethrough:\"中劃線\",tl_mark:\"標記\",tl_superscript:\"上角標\",tl_subscript:\"下角標\",tl_quote:\"段落引用\",tl_ol:\"有序列表\",tl_ul:\"無序列表\",tl_link:\"鏈接\",tl_image:\"添加圖片鏈接\",tl_code:\"代碼塊\",tl_table:\"表格\",tl_undo:\"上一步\",tl_redo:\"下一步\",tl_trash:\"清空\",tl_save:\"保存\",tl_navigation_on:\"開啟標題導航\",tl_navigation_off:\"關閉標題導航\",tl_preview:\"預覽\",tl_aligncenter:\"居中\",tl_alignleft:\"居左\",tl_alignright:\"居右\",tl_edit:\"編輯\",tl_single_column:\"單欄\",tl_double_column:\"雙欄\",tl_fullscreen_on:\"全屏編輯\",tl_fullscreen_off:\"退出全屏\",tl_read:\"沈浸式閱讀\",tl_html_on:\"查看html文本\",tl_html_off:\"返回markdown文本\",tl_help:\"markdown語法幫助\",tl_upload:\"上傳圖片\",tl_upload_remove:\"刪除\",tl_popup_link_title:\"添加鏈接\",tl_popup_link_text:\"鏈接描述\",tl_popup_link_addr:\"鏈接地址\",tl_popup_img_link_title:\"添加圖片\",tl_popup_img_link_text:\"圖片描述\",tl_popup_img_link_addr:\"圖片鏈接\",tl_popup_link_sure:\"確定\",tl_popup_link_cancel:\"取消\"}}])});\n\n//# sourceURL=webpack:///./node_modules/mavon-editor/dist/mavon-editor.js?");

/***/ }),

/***/ "./node_modules/mockjs/dist/mock.js":
/*!******************************************!*\
  !*** ./node_modules/mockjs/dist/mock.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* global require, module, window */\n\tvar Handler = __webpack_require__(1)\n\tvar Util = __webpack_require__(3)\n\tvar Random = __webpack_require__(5)\n\tvar RE = __webpack_require__(20)\n\tvar toJSONSchema = __webpack_require__(23)\n\tvar valid = __webpack_require__(25)\n\n\tvar XHR\n\tif (typeof window !== 'undefined') XHR = __webpack_require__(27)\n\n\t/*!\n\t    Mock - 模拟请求 & 模拟数据\n\t    https://github.com/nuysoft/Mock\n\t    墨智 mozhi.gyy@taobao.com nuysoft@gmail.com\n\t*/\n\tvar Mock = {\n\t    Handler: Handler,\n\t    Random: Random,\n\t    Util: Util,\n\t    XHR: XHR,\n\t    RE: RE,\n\t    toJSONSchema: toJSONSchema,\n\t    valid: valid,\n\t    heredoc: Util.heredoc,\n\t    setup: function(settings) {\n\t        return XHR.setup(settings)\n\t    },\n\t    _mocked: {}\n\t}\n\n\tMock.version = '1.0.1-beta3'\n\n\t// 避免循环依赖\n\tif (XHR) XHR.Mock = Mock\n\n\t/*\n\t    * Mock.mock( template )\n\t    * Mock.mock( function() )\n\t    * Mock.mock( rurl, template )\n\t    * Mock.mock( rurl, function(options) )\n\t    * Mock.mock( rurl, rtype, template )\n\t    * Mock.mock( rurl, rtype, function(options) )\n\n\t    根据数据模板生成模拟数据。\n\t*/\n\tMock.mock = function(rurl, rtype, template) {\n\t    // Mock.mock(template)\n\t    if (arguments.length === 1) {\n\t        return Handler.gen(rurl)\n\t    }\n\t    // Mock.mock(rurl, template)\n\t    if (arguments.length === 2) {\n\t        template = rtype\n\t        rtype = undefined\n\t    }\n\t    // 拦截 XHR\n\t    if (XHR) window.XMLHttpRequest = XHR\n\t    Mock._mocked[rurl + (rtype || '')] = {\n\t        rurl: rurl,\n\t        rtype: rtype,\n\t        template: template\n\t    }\n\t    return Mock\n\t}\n\n\tmodule.exports = Mock\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* \n\t    ## Handler\n\n\t    处理数据模板。\n\t    \n\t    * Handler.gen( template, name?, context? )\n\n\t        入口方法。\n\n\t    * Data Template Definition, DTD\n\t        \n\t        处理数据模板定义。\n\n\t        * Handler.array( options )\n\t        * Handler.object( options )\n\t        * Handler.number( options )\n\t        * Handler.boolean( options )\n\t        * Handler.string( options )\n\t        * Handler.function( options )\n\t        * Handler.regexp( options )\n\t        \n\t        处理路径（相对和绝对）。\n\n\t        * Handler.getValueByKeyPath( key, options )\n\n\t    * Data Placeholder Definition, DPD\n\n\t        处理数据占位符定义\n\n\t        * Handler.placeholder( placeholder, context, templateContext, options )\n\n\t*/\n\n\tvar Constant = __webpack_require__(2)\n\tvar Util = __webpack_require__(3)\n\tvar Parser = __webpack_require__(4)\n\tvar Random = __webpack_require__(5)\n\tvar RE = __webpack_require__(20)\n\n\tvar Handler = {\n\t    extend: Util.extend\n\t}\n\n\t/*\n\t    template        属性值（即数据模板）\n\t    name            属性名\n\t    context         数据上下文，生成后的数据\n\t    templateContext 模板上下文，\n\n\t    Handle.gen(template, name, options)\n\t    context\n\t        currentContext, templateCurrentContext, \n\t        path, templatePath\n\t        root, templateRoot\n\t*/\n\tHandler.gen = function(template, name, context) {\n\t    /* jshint -W041 */\n\t    name = name == undefined ? '' : (name + '')\n\n\t    context = context || {}\n\t    context = {\n\t            // 当前访问路径，只有属性名，不包括生成规则\n\t            path: context.path || [Constant.GUID],\n\t            templatePath: context.templatePath || [Constant.GUID++],\n\t            // 最终属性值的上下文\n\t            currentContext: context.currentContext,\n\t            // 属性值模板的上下文\n\t            templateCurrentContext: context.templateCurrentContext || template,\n\t            // 最终值的根\n\t            root: context.root || context.currentContext,\n\t            // 模板的根\n\t            templateRoot: context.templateRoot || context.templateCurrentContext || template\n\t        }\n\t        // console.log('path:', context.path.join('.'), template)\n\n\t    var rule = Parser.parse(name)\n\t    var type = Util.type(template)\n\t    var data\n\n\t    if (Handler[type]) {\n\t        data = Handler[type]({\n\t            // 属性值类型\n\t            type: type,\n\t            // 属性值模板\n\t            template: template,\n\t            // 属性名 + 生成规则\n\t            name: name,\n\t            // 属性名\n\t            parsedName: name ? name.replace(Constant.RE_KEY, '$1') : name,\n\n\t            // 解析后的生成规则\n\t            rule: rule,\n\t            // 相关上下文\n\t            context: context\n\t        })\n\n\t        if (!context.root) context.root = data\n\t        return data\n\t    }\n\n\t    return template\n\t}\n\n\tHandler.extend({\n\t    array: function(options) {\n\t        var result = [],\n\t            i, ii;\n\n\t        // 'name|1': []\n\t        // 'name|count': []\n\t        // 'name|min-max': []\n\t        if (options.template.length === 0) return result\n\n\t        // 'arr': [{ 'email': '@EMAIL' }, { 'email': '@EMAIL' }]\n\t        if (!options.rule.parameters) {\n\t            for (i = 0; i < options.template.length; i++) {\n\t                options.context.path.push(i)\n\t                options.context.templatePath.push(i)\n\t                result.push(\n\t                    Handler.gen(options.template[i], i, {\n\t                        path: options.context.path,\n\t                        templatePath: options.context.templatePath,\n\t                        currentContext: result,\n\t                        templateCurrentContext: options.template,\n\t                        root: options.context.root || result,\n\t                        templateRoot: options.context.templateRoot || options.template\n\t                    })\n\t                )\n\t                options.context.path.pop()\n\t                options.context.templatePath.pop()\n\t            }\n\t        } else {\n\t            // 'method|1': ['GET', 'POST', 'HEAD', 'DELETE']\n\t            if (options.rule.min === 1 && options.rule.max === undefined) {\n\t                // fix #17\n\t                options.context.path.push(options.name)\n\t                options.context.templatePath.push(options.name)\n\t                result = Random.pick(\n\t                    Handler.gen(options.template, undefined, {\n\t                        path: options.context.path,\n\t                        templatePath: options.context.templatePath,\n\t                        currentContext: result,\n\t                        templateCurrentContext: options.template,\n\t                        root: options.context.root || result,\n\t                        templateRoot: options.context.templateRoot || options.template\n\t                    })\n\t                )\n\t                options.context.path.pop()\n\t                options.context.templatePath.pop()\n\t            } else {\n\t                // 'data|+1': [{}, {}]\n\t                if (options.rule.parameters[2]) {\n\t                    options.template.__order_index = options.template.__order_index || 0\n\n\t                    options.context.path.push(options.name)\n\t                    options.context.templatePath.push(options.name)\n\t                    result = Handler.gen(options.template, undefined, {\n\t                        path: options.context.path,\n\t                        templatePath: options.context.templatePath,\n\t                        currentContext: result,\n\t                        templateCurrentContext: options.template,\n\t                        root: options.context.root || result,\n\t                        templateRoot: options.context.templateRoot || options.template\n\t                    })[\n\t                        options.template.__order_index % options.template.length\n\t                    ]\n\n\t                    options.template.__order_index += +options.rule.parameters[2]\n\n\t                    options.context.path.pop()\n\t                    options.context.templatePath.pop()\n\n\t                } else {\n\t                    // 'data|1-10': [{}]\n\t                    for (i = 0; i < options.rule.count; i++) {\n\t                        // 'data|1-10': [{}, {}]\n\t                        for (ii = 0; ii < options.template.length; ii++) {\n\t                            options.context.path.push(result.length)\n\t                            options.context.templatePath.push(ii)\n\t                            result.push(\n\t                                Handler.gen(options.template[ii], result.length, {\n\t                                    path: options.context.path,\n\t                                    templatePath: options.context.templatePath,\n\t                                    currentContext: result,\n\t                                    templateCurrentContext: options.template,\n\t                                    root: options.context.root || result,\n\t                                    templateRoot: options.context.templateRoot || options.template\n\t                                })\n\t                            )\n\t                            options.context.path.pop()\n\t                            options.context.templatePath.pop()\n\t                        }\n\t                    }\n\t                }\n\t            }\n\t        }\n\t        return result\n\t    },\n\t    object: function(options) {\n\t        var result = {},\n\t            keys, fnKeys, key, parsedKey, inc, i;\n\n\t        // 'obj|min-max': {}\n\t        /* jshint -W041 */\n\t        if (options.rule.min != undefined) {\n\t            keys = Util.keys(options.template)\n\t            keys = Random.shuffle(keys)\n\t            keys = keys.slice(0, options.rule.count)\n\t            for (i = 0; i < keys.length; i++) {\n\t                key = keys[i]\n\t                parsedKey = key.replace(Constant.RE_KEY, '$1')\n\t                options.context.path.push(parsedKey)\n\t                options.context.templatePath.push(key)\n\t                result[parsedKey] = Handler.gen(options.template[key], key, {\n\t                    path: options.context.path,\n\t                    templatePath: options.context.templatePath,\n\t                    currentContext: result,\n\t                    templateCurrentContext: options.template,\n\t                    root: options.context.root || result,\n\t                    templateRoot: options.context.templateRoot || options.template\n\t                })\n\t                options.context.path.pop()\n\t                options.context.templatePath.pop()\n\t            }\n\n\t        } else {\n\t            // 'obj': {}\n\t            keys = []\n\t            fnKeys = [] // #25 改变了非函数属性的顺序，查找起来不方便\n\t            for (key in options.template) {\n\t                (typeof options.template[key] === 'function' ? fnKeys : keys).push(key)\n\t            }\n\t            keys = keys.concat(fnKeys)\n\n\t            /*\n\t                会改变非函数属性的顺序\n\t                keys = Util.keys(options.template)\n\t                keys.sort(function(a, b) {\n\t                    var afn = typeof options.template[a] === 'function'\n\t                    var bfn = typeof options.template[b] === 'function'\n\t                    if (afn === bfn) return 0\n\t                    if (afn && !bfn) return 1\n\t                    if (!afn && bfn) return -1\n\t                })\n\t            */\n\n\t            for (i = 0; i < keys.length; i++) {\n\t                key = keys[i]\n\t                parsedKey = key.replace(Constant.RE_KEY, '$1')\n\t                options.context.path.push(parsedKey)\n\t                options.context.templatePath.push(key)\n\t                result[parsedKey] = Handler.gen(options.template[key], key, {\n\t                    path: options.context.path,\n\t                    templatePath: options.context.templatePath,\n\t                    currentContext: result,\n\t                    templateCurrentContext: options.template,\n\t                    root: options.context.root || result,\n\t                    templateRoot: options.context.templateRoot || options.template\n\t                })\n\t                options.context.path.pop()\n\t                options.context.templatePath.pop()\n\t                    // 'id|+1': 1\n\t                inc = key.match(Constant.RE_KEY)\n\t                if (inc && inc[2] && Util.type(options.template[key]) === 'number') {\n\t                    options.template[key] += parseInt(inc[2], 10)\n\t                }\n\t            }\n\t        }\n\t        return result\n\t    },\n\t    number: function(options) {\n\t        var result, parts;\n\t        if (options.rule.decimal) { // float\n\t            options.template += ''\n\t            parts = options.template.split('.')\n\t                // 'float1|.1-10': 10,\n\t                // 'float2|1-100.1-10': 1,\n\t                // 'float3|999.1-10': 1,\n\t                // 'float4|.3-10': 123.123,\n\t            parts[0] = options.rule.range ? options.rule.count : parts[0]\n\t            parts[1] = (parts[1] || '').slice(0, options.rule.dcount)\n\t            while (parts[1].length < options.rule.dcount) {\n\t                parts[1] += (\n\t                    // 最后一位不能为 0：如果最后一位为 0，会被 JS 引擎忽略掉。\n\t                    (parts[1].length < options.rule.dcount - 1) ? Random.character('number') : Random.character('123456789')\n\t                )\n\t            }\n\t            result = parseFloat(parts.join('.'), 10)\n\t        } else { // integer\n\t            // 'grade1|1-100': 1,\n\t            result = options.rule.range && !options.rule.parameters[2] ? options.rule.count : options.template\n\t        }\n\t        return result\n\t    },\n\t    boolean: function(options) {\n\t        var result;\n\t        // 'prop|multiple': false, 当前值是相反值的概率倍数\n\t        // 'prop|probability-probability': false, 当前值与相反值的概率\n\t        result = options.rule.parameters ? Random.bool(options.rule.min, options.rule.max, options.template) : options.template\n\t        return result\n\t    },\n\t    string: function(options) {\n\t        var result = '',\n\t            i, placeholders, ph, phed;\n\t        if (options.template.length) {\n\n\t            //  'foo': '★',\n\t            /* jshint -W041 */\n\t            if (options.rule.count == undefined) {\n\t                result += options.template\n\t            }\n\n\t            // 'star|1-5': '★',\n\t            for (i = 0; i < options.rule.count; i++) {\n\t                result += options.template\n\t            }\n\t            // 'email|1-10': '@EMAIL, ',\n\t            placeholders = result.match(Constant.RE_PLACEHOLDER) || [] // A-Z_0-9 > \\w_\n\t            for (i = 0; i < placeholders.length; i++) {\n\t                ph = placeholders[i]\n\n\t                // 遇到转义斜杠，不需要解析占位符\n\t                if (/^\\\\/.test(ph)) {\n\t                    placeholders.splice(i--, 1)\n\t                    continue\n\t                }\n\n\t                phed = Handler.placeholder(ph, options.context.currentContext, options.context.templateCurrentContext, options)\n\n\t                // 只有一个占位符，并且没有其他字符\n\t                if (placeholders.length === 1 && ph === result && typeof phed !== typeof result) { // \n\t                    result = phed\n\t                    break\n\n\t                    if (Util.isNumeric(phed)) {\n\t                        result = parseFloat(phed, 10)\n\t                        break\n\t                    }\n\t                    if (/^(true|false)$/.test(phed)) {\n\t                        result = phed === 'true' ? true :\n\t                            phed === 'false' ? false :\n\t                            phed // 已经是布尔值\n\t                        break\n\t                    }\n\t                }\n\t                result = result.replace(ph, phed)\n\t            }\n\n\t        } else {\n\t            // 'ASCII|1-10': '',\n\t            // 'ASCII': '',\n\t            result = options.rule.range ? Random.string(options.rule.count) : options.template\n\t        }\n\t        return result\n\t    },\n\t    'function': function(options) {\n\t        // ( context, options )\n\t        return options.template.call(options.context.currentContext, options)\n\t    },\n\t    'regexp': function(options) {\n\t        var source = ''\n\n\t        // 'name': /regexp/,\n\t        /* jshint -W041 */\n\t        if (options.rule.count == undefined) {\n\t            source += options.template.source // regexp.source\n\t        }\n\n\t        // 'name|1-5': /regexp/,\n\t        for (var i = 0; i < options.rule.count; i++) {\n\t            source += options.template.source\n\t        }\n\n\t        return RE.Handler.gen(\n\t            RE.Parser.parse(\n\t                source\n\t            )\n\t        )\n\t    }\n\t})\n\n\tHandler.extend({\n\t    _all: function() {\n\t        var re = {};\n\t        for (var key in Random) re[key.toLowerCase()] = key\n\t        return re\n\t    },\n\t    // 处理占位符，转换为最终值\n\t    placeholder: function(placeholder, obj, templateContext, options) {\n\t        // console.log(options.context.path)\n\t        // 1 key, 2 params\n\t        Constant.RE_PLACEHOLDER.exec('')\n\t        var parts = Constant.RE_PLACEHOLDER.exec(placeholder),\n\t            key = parts && parts[1],\n\t            lkey = key && key.toLowerCase(),\n\t            okey = this._all()[lkey],\n\t            params = parts && parts[2] || ''\n\t        var pathParts = this.splitPathToArray(key)\n\n\t        // 解析占位符的参数\n\t        try {\n\t            // 1. 尝试保持参数的类型\n\t            /*\n\t                #24 [Window Firefox 30.0 引用 占位符 抛错](https://github.com/nuysoft/Mock/issues/24)\n\t                [BX9056: 各浏览器下 window.eval 方法的执行上下文存在差异](http://www.w3help.org/zh-cn/causes/BX9056)\n\t                应该属于 Window Firefox 30.0 的 BUG\n\t            */\n\t            /* jshint -W061 */\n\t            params = eval('(function(){ return [].splice.call(arguments, 0 ) })(' + params + ')')\n\t        } catch (error) {\n\t            // 2. 如果失败，只能解析为字符串\n\t            // console.error(error)\n\t            // if (error instanceof ReferenceError) params = parts[2].split(/,\\s*/);\n\t            // else throw error\n\t            params = parts[2].split(/,\\s*/)\n\t        }\n\n\t        // 占位符优先引用数据模板中的属性\n\t        if (obj && (key in obj)) return obj[key]\n\n\t        // @index @key\n\t        // if (Constant.RE_INDEX.test(key)) return +options.name\n\t        // if (Constant.RE_KEY.test(key)) return options.name\n\n\t        // 绝对路径 or 相对路径\n\t        if (\n\t            key.charAt(0) === '/' ||\n\t            pathParts.length > 1\n\t        ) return this.getValueByKeyPath(key, options)\n\n\t        // 递归引用数据模板中的属性\n\t        if (templateContext &&\n\t            (typeof templateContext === 'object') &&\n\t            (key in templateContext) &&\n\t            (placeholder !== templateContext[key]) // fix #15 避免自己依赖自己\n\t        ) {\n\t            // 先计算被引用的属性值\n\t            templateContext[key] = Handler.gen(templateContext[key], key, {\n\t                currentContext: obj,\n\t                templateCurrentContext: templateContext\n\t            })\n\t            return templateContext[key]\n\t        }\n\n\t        // 如果未找到，则原样返回\n\t        if (!(key in Random) && !(lkey in Random) && !(okey in Random)) return placeholder\n\n\t        // 递归解析参数中的占位符\n\t        for (var i = 0; i < params.length; i++) {\n\t            Constant.RE_PLACEHOLDER.exec('')\n\t            if (Constant.RE_PLACEHOLDER.test(params[i])) {\n\t                params[i] = Handler.placeholder(params[i], obj, templateContext, options)\n\t            }\n\t        }\n\n\t        var handle = Random[key] || Random[lkey] || Random[okey]\n\t        switch (Util.type(handle)) {\n\t            case 'array':\n\t                // 自动从数组中取一个，例如 @areas\n\t                return Random.pick(handle)\n\t            case 'function':\n\t                // 执行占位符方法（大多数情况）\n\t                handle.options = options\n\t                var re = handle.apply(Random, params)\n\t                if (re === undefined) re = '' // 因为是在字符串中，所以默认为空字符串。\n\t                delete handle.options\n\t                return re\n\t        }\n\t    },\n\t    getValueByKeyPath: function(key, options) {\n\t        var originalKey = key\n\t        var keyPathParts = this.splitPathToArray(key)\n\t        var absolutePathParts = []\n\n\t        // 绝对路径\n\t        if (key.charAt(0) === '/') {\n\t            absolutePathParts = [options.context.path[0]].concat(\n\t                this.normalizePath(keyPathParts)\n\t            )\n\t        } else {\n\t            // 相对路径\n\t            if (keyPathParts.length > 1) {\n\t                absolutePathParts = options.context.path.slice(0)\n\t                absolutePathParts.pop()\n\t                absolutePathParts = this.normalizePath(\n\t                    absolutePathParts.concat(keyPathParts)\n\t                )\n\n\t            }\n\t        }\n\n\t        try {\n\t            key = keyPathParts[keyPathParts.length - 1]\n\t            var currentContext = options.context.root\n\t            var templateCurrentContext = options.context.templateRoot\n\t            for (var i = 1; i < absolutePathParts.length - 1; i++) {\n\t                currentContext = currentContext[absolutePathParts[i]]\n\t                templateCurrentContext = templateCurrentContext[absolutePathParts[i]]\n\t            }\n\t            // 引用的值已经计算好\n\t            if (currentContext && (key in currentContext)) return currentContext[key]\n\t    \n\t            // 尚未计算，递归引用数据模板中的属性\n\t            if (templateCurrentContext &&\n\t                (typeof templateCurrentContext === 'object') &&\n\t                (key in templateCurrentContext) &&\n\t                (originalKey !== templateCurrentContext[key]) // fix #15 避免自己依赖自己\n\t            ) {\n\t                // 先计算被引用的属性值\n\t                templateCurrentContext[key] = Handler.gen(templateCurrentContext[key], key, {\n\t                    currentContext: currentContext,\n\t                    templateCurrentContext: templateCurrentContext\n\t                })\n\t                return templateCurrentContext[key]\n\t            }\n\t        } catch(err) { }\n\n\t        return '@' + keyPathParts.join('/')\n\t    },\n\t    // https://github.com/kissyteam/kissy/blob/master/src/path/src/path.js\n\t    normalizePath: function(pathParts) {\n\t        var newPathParts = []\n\t        for (var i = 0; i < pathParts.length; i++) {\n\t            switch (pathParts[i]) {\n\t                case '..':\n\t                    newPathParts.pop()\n\t                    break\n\t                case '.':\n\t                    break\n\t                default:\n\t                    newPathParts.push(pathParts[i])\n\t            }\n\t        }\n\t        return newPathParts\n\t    },\n\t    splitPathToArray: function(path) {\n\t        var parts = path.split(/\\/+/);\n\t        if (!parts[parts.length - 1]) parts = parts.slice(0, -1)\n\t        if (!parts[0]) parts = parts.slice(1)\n\t        return parts;\n\t    }\n\t})\n\n\tmodule.exports = Handler\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Constant\n\n\t    常量集合。\n\t */\n\t/*\n\t    RE_KEY\n\t        'name|min-max': value\n\t        'name|count': value\n\t        'name|min-max.dmin-dmax': value\n\t        'name|min-max.dcount': value\n\t        'name|count.dmin-dmax': value\n\t        'name|count.dcount': value\n\t        'name|+step': value\n\n\t        1 name, 2 step, 3 range [ min, max ], 4 drange [ dmin, dmax ]\n\n\t    RE_PLACEHOLDER\n\t        placeholder(*)\n\n\t    [正则查看工具](http://www.regexper.com/)\n\n\t    #26 生成规则 支持 负数，例如 number|-100-100\n\t*/\n\tmodule.exports = {\n\t    GUID: 1,\n\t    RE_KEY: /(.+)\\|(?:\\+(\\d+)|([\\+\\-]?\\d+-?[\\+\\-]?\\d*)?(?:\\.(\\d+-?\\d*))?)/,\n\t    RE_RANGE: /([\\+\\-]?\\d+)-?([\\+\\-]?\\d+)?/,\n\t    RE_PLACEHOLDER: /\\\\*@([^@#%&()\\?\\s]+)(?:\\((.*?)\\))?/g\n\t    // /\\\\*@([^@#%&()\\?\\s\\/\\.]+)(?:\\((.*?)\\))?/g\n\t    // RE_INDEX: /^index$/,\n\t    // RE_KEY: /^key$/\n\t}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Utilities\n\t*/\n\tvar Util = {}\n\n\tUtil.extend = function extend() {\n\t    var target = arguments[0] || {},\n\t        i = 1,\n\t        length = arguments.length,\n\t        options, name, src, copy, clone\n\n\t    if (length === 1) {\n\t        target = this\n\t        i = 0\n\t    }\n\n\t    for (; i < length; i++) {\n\t        options = arguments[i]\n\t        if (!options) continue\n\n\t        for (name in options) {\n\t            src = target[name]\n\t            copy = options[name]\n\n\t            if (target === copy) continue\n\t            if (copy === undefined) continue\n\n\t            if (Util.isArray(copy) || Util.isObject(copy)) {\n\t                if (Util.isArray(copy)) clone = src && Util.isArray(src) ? src : []\n\t                if (Util.isObject(copy)) clone = src && Util.isObject(src) ? src : {}\n\n\t                target[name] = Util.extend(clone, copy)\n\t            } else {\n\t                target[name] = copy\n\t            }\n\t        }\n\t    }\n\n\t    return target\n\t}\n\n\tUtil.each = function each(obj, iterator, context) {\n\t    var i, key\n\t    if (this.type(obj) === 'number') {\n\t        for (i = 0; i < obj; i++) {\n\t            iterator(i, i)\n\t        }\n\t    } else if (obj.length === +obj.length) {\n\t        for (i = 0; i < obj.length; i++) {\n\t            if (iterator.call(context, obj[i], i, obj) === false) break\n\t        }\n\t    } else {\n\t        for (key in obj) {\n\t            if (iterator.call(context, obj[key], key, obj) === false) break\n\t        }\n\t    }\n\t}\n\n\tUtil.type = function type(obj) {\n\t    return (obj === null || obj === undefined) ? String(obj) : Object.prototype.toString.call(obj).match(/\\[object (\\w+)\\]/)[1].toLowerCase()\n\t}\n\n\tUtil.each('String Object Array RegExp Function'.split(' '), function(value) {\n\t    Util['is' + value] = function(obj) {\n\t        return Util.type(obj) === value.toLowerCase()\n\t    }\n\t})\n\n\tUtil.isObjectOrArray = function(value) {\n\t    return Util.isObject(value) || Util.isArray(value)\n\t}\n\n\tUtil.isNumeric = function(value) {\n\t    return !isNaN(parseFloat(value)) && isFinite(value)\n\t}\n\n\tUtil.keys = function(obj) {\n\t    var keys = [];\n\t    for (var key in obj) {\n\t        if (obj.hasOwnProperty(key)) keys.push(key)\n\t    }\n\t    return keys;\n\t}\n\tUtil.values = function(obj) {\n\t    var values = [];\n\t    for (var key in obj) {\n\t        if (obj.hasOwnProperty(key)) values.push(obj[key])\n\t    }\n\t    return values;\n\t}\n\n\t/*\n\t    ### Mock.heredoc(fn)\n\n\t    * Mock.heredoc(fn)\n\n\t    以直观、安全的方式书写（多行）HTML 模板。\n\n\t    **使用示例**如下所示：\n\n\t        var tpl = Mock.heredoc(function() {\n\t            /*!\n\t        {{email}}{{age}}\n\t        <!-- Mock { \n\t            email: '@EMAIL',\n\t            age: '@INT(1,100)'\n\t        } -->\n\t            *\\/\n\t        })\n\t    \n\t    **相关阅读**\n\t    * [Creating multiline strings in JavaScript](http://stackoverflow.com/questions/805107/creating-multiline-strings-in-javascript)、\n\t*/\n\tUtil.heredoc = function heredoc(fn) {\n\t    // 1. 移除起始的 function(){ /*!\n\t    // 2. 移除末尾的 */ }\n\t    // 3. 移除起始和末尾的空格\n\t    return fn.toString()\n\t        .replace(/^[^\\/]+\\/\\*!?/, '')\n\t        .replace(/\\*\\/[^\\/]+$/, '')\n\t        .replace(/^[\\s\\xA0]+/, '').replace(/[\\s\\xA0]+$/, '') // .trim()\n\t}\n\n\tUtil.noop = function() {}\n\n\tmodule.exports = Util\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t\t## Parser\n\n\t\t解析数据模板（属性名部分）。\n\n\t\t* Parser.parse( name )\n\t\t\t\n\t\t\t```json\n\t\t\t{\n\t\t\t\tparameters: [ name, inc, range, decimal ],\n\t\t\t\trnage: [ min , max ],\n\n\t\t\t\tmin: min,\n\t\t\t\tmax: max,\n\t\t\t\tcount : count,\n\n\t\t\t\tdecimal: decimal,\n\t\t\t\tdmin: dmin,\n\t\t\t\tdmax: dmax,\n\t\t\t\tdcount: dcount\n\t\t\t}\n\t\t\t```\n\t */\n\n\tvar Constant = __webpack_require__(2)\n\tvar Random = __webpack_require__(5)\n\n\t/* jshint -W041 */\n\tmodule.exports = {\n\t\tparse: function(name) {\n\t\t\tname = name == undefined ? '' : (name + '')\n\n\t\t\tvar parameters = (name || '').match(Constant.RE_KEY)\n\n\t\t\tvar range = parameters && parameters[3] && parameters[3].match(Constant.RE_RANGE)\n\t\t\tvar min = range && range[1] && parseInt(range[1], 10) // || 1\n\t\t\tvar max = range && range[2] && parseInt(range[2], 10) // || 1\n\t\t\t\t// repeat || min-max || 1\n\t\t\t\t// var count = range ? !range[2] && parseInt(range[1], 10) || Random.integer(min, max) : 1\n\t\t\tvar count = range ? !range[2] ? parseInt(range[1], 10) : Random.integer(min, max) : undefined\n\n\t\t\tvar decimal = parameters && parameters[4] && parameters[4].match(Constant.RE_RANGE)\n\t\t\tvar dmin = decimal && decimal[1] && parseInt(decimal[1], 10) // || 0,\n\t\t\tvar dmax = decimal && decimal[2] && parseInt(decimal[2], 10) // || 0,\n\t\t\t\t// int || dmin-dmax || 0\n\t\t\tvar dcount = decimal ? !decimal[2] && parseInt(decimal[1], 10) || Random.integer(dmin, dmax) : undefined\n\n\t\t\tvar result = {\n\t\t\t\t// 1 name, 2 inc, 3 range, 4 decimal\n\t\t\t\tparameters: parameters,\n\t\t\t\t// 1 min, 2 max\n\t\t\t\trange: range,\n\t\t\t\tmin: min,\n\t\t\t\tmax: max,\n\t\t\t\t// min-max\n\t\t\t\tcount: count,\n\t\t\t\t// 是否有 decimal\n\t\t\t\tdecimal: decimal,\n\t\t\t\tdmin: dmin,\n\t\t\t\tdmax: dmax,\n\t\t\t\t// dmin-dimax\n\t\t\t\tdcount: dcount\n\t\t\t}\n\n\t\t\tfor (var r in result) {\n\t\t\t\tif (result[r] != undefined) return result\n\t\t\t}\n\n\t\t\treturn {}\n\t\t}\n\t}\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## Mock.Random\n\t    \n\t    工具类，用于生成各种随机数据。\n\t*/\n\n\tvar Util = __webpack_require__(3)\n\n\tvar Random = {\n\t    extend: Util.extend\n\t}\n\n\tRandom.extend(__webpack_require__(6))\n\tRandom.extend(__webpack_require__(7))\n\tRandom.extend(__webpack_require__(8))\n\tRandom.extend(__webpack_require__(10))\n\tRandom.extend(__webpack_require__(13))\n\tRandom.extend(__webpack_require__(15))\n\tRandom.extend(__webpack_require__(16))\n\tRandom.extend(__webpack_require__(17))\n\tRandom.extend(__webpack_require__(14))\n\tRandom.extend(__webpack_require__(19))\n\n\tmodule.exports = Random\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Basics\n\t*/\n\tmodule.exports = {\n\t    // 返回一个随机的布尔值。\n\t    boolean: function(min, max, cur) {\n\t        if (cur !== undefined) {\n\t            min = typeof min !== 'undefined' && !isNaN(min) ? parseInt(min, 10) : 1\n\t            max = typeof max !== 'undefined' && !isNaN(max) ? parseInt(max, 10) : 1\n\t            return Math.random() > 1.0 / (min + max) * min ? !cur : cur\n\t        }\n\n\t        return Math.random() >= 0.5\n\t    },\n\t    bool: function(min, max, cur) {\n\t        return this.boolean(min, max, cur)\n\t    },\n\t    // 返回一个随机的自然数（大于等于 0 的整数）。\n\t    natural: function(min, max) {\n\t        min = typeof min !== 'undefined' ? parseInt(min, 10) : 0\n\t        max = typeof max !== 'undefined' ? parseInt(max, 10) : 9007199254740992 // 2^53\n\t        return Math.round(Math.random() * (max - min)) + min\n\t    },\n\t    // 返回一个随机的整数。\n\t    integer: function(min, max) {\n\t        min = typeof min !== 'undefined' ? parseInt(min, 10) : -9007199254740992\n\t        max = typeof max !== 'undefined' ? parseInt(max, 10) : 9007199254740992 // 2^53\n\t        return Math.round(Math.random() * (max - min)) + min\n\t    },\n\t    int: function(min, max) {\n\t        return this.integer(min, max)\n\t    },\n\t    // 返回一个随机的浮点数。\n\t    float: function(min, max, dmin, dmax) {\n\t        dmin = dmin === undefined ? 0 : dmin\n\t        dmin = Math.max(Math.min(dmin, 17), 0)\n\t        dmax = dmax === undefined ? 17 : dmax\n\t        dmax = Math.max(Math.min(dmax, 17), 0)\n\t        var ret = this.integer(min, max) + '.';\n\t        for (var i = 0, dcount = this.natural(dmin, dmax); i < dcount; i++) {\n\t            ret += (\n\t                // 最后一位不能为 0：如果最后一位为 0，会被 JS 引擎忽略掉。\n\t                (i < dcount - 1) ? this.character('number') : this.character('123456789')\n\t            )\n\t        }\n\t        return parseFloat(ret, 10)\n\t    },\n\t    // 返回一个随机字符。\n\t    character: function(pool) {\n\t        var pools = {\n\t            lower: 'abcdefghijklmnopqrstuvwxyz',\n\t            upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\n\t            number: '0123456789',\n\t            symbol: '!@#$%^&*()[]'\n\t        }\n\t        pools.alpha = pools.lower + pools.upper\n\t        pools['undefined'] = pools.lower + pools.upper + pools.number + pools.symbol\n\n\t        pool = pools[('' + pool).toLowerCase()] || pool\n\t        return pool.charAt(this.natural(0, pool.length - 1))\n\t    },\n\t    char: function(pool) {\n\t        return this.character(pool)\n\t    },\n\t    // 返回一个随机字符串。\n\t    string: function(pool, min, max) {\n\t        var len\n\t        switch (arguments.length) {\n\t            case 0: // ()\n\t                len = this.natural(3, 7)\n\t                break\n\t            case 1: // ( length )\n\t                len = pool\n\t                pool = undefined\n\t                break\n\t            case 2:\n\t                // ( pool, length )\n\t                if (typeof arguments[0] === 'string') {\n\t                    len = min\n\t                } else {\n\t                    // ( min, max )\n\t                    len = this.natural(pool, min)\n\t                    pool = undefined\n\t                }\n\t                break\n\t            case 3:\n\t                len = this.natural(min, max)\n\t                break\n\t        }\n\n\t        var text = ''\n\t        for (var i = 0; i < len; i++) {\n\t            text += this.character(pool)\n\t        }\n\n\t        return text\n\t    },\n\t    str: function( /*pool, min, max*/ ) {\n\t        return this.string.apply(this, arguments)\n\t    },\n\t    // 返回一个整型数组。\n\t    range: function(start, stop, step) {\n\t        // range( stop )\n\t        if (arguments.length <= 1) {\n\t            stop = start || 0;\n\t            start = 0;\n\t        }\n\t        // range( start, stop )\n\t        step = arguments[2] || 1;\n\n\t        start = +start\n\t        stop = +stop\n\t        step = +step\n\n\t        var len = Math.max(Math.ceil((stop - start) / step), 0);\n\t        var idx = 0;\n\t        var range = new Array(len);\n\n\t        while (idx < len) {\n\t            range[idx++] = start;\n\t            start += step;\n\t        }\n\n\t        return range;\n\t    }\n\t}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Date\n\t*/\n\tvar patternLetters = {\n\t    yyyy: 'getFullYear',\n\t    yy: function(date) {\n\t        return ('' + date.getFullYear()).slice(2)\n\t    },\n\t    y: 'yy',\n\n\t    MM: function(date) {\n\t        var m = date.getMonth() + 1\n\t        return m < 10 ? '0' + m : m\n\t    },\n\t    M: function(date) {\n\t        return date.getMonth() + 1\n\t    },\n\n\t    dd: function(date) {\n\t        var d = date.getDate()\n\t        return d < 10 ? '0' + d : d\n\t    },\n\t    d: 'getDate',\n\n\t    HH: function(date) {\n\t        var h = date.getHours()\n\t        return h < 10 ? '0' + h : h\n\t    },\n\t    H: 'getHours',\n\t    hh: function(date) {\n\t        var h = date.getHours() % 12\n\t        return h < 10 ? '0' + h : h\n\t    },\n\t    h: function(date) {\n\t        return date.getHours() % 12\n\t    },\n\n\t    mm: function(date) {\n\t        var m = date.getMinutes()\n\t        return m < 10 ? '0' + m : m\n\t    },\n\t    m: 'getMinutes',\n\n\t    ss: function(date) {\n\t        var s = date.getSeconds()\n\t        return s < 10 ? '0' + s : s\n\t    },\n\t    s: 'getSeconds',\n\n\t    SS: function(date) {\n\t        var ms = date.getMilliseconds()\n\t        return ms < 10 && '00' + ms || ms < 100 && '0' + ms || ms\n\t    },\n\t    S: 'getMilliseconds',\n\n\t    A: function(date) {\n\t        return date.getHours() < 12 ? 'AM' : 'PM'\n\t    },\n\t    a: function(date) {\n\t        return date.getHours() < 12 ? 'am' : 'pm'\n\t    },\n\t    T: 'getTime'\n\t}\n\tmodule.exports = {\n\t    // 日期占位符集合。\n\t    _patternLetters: patternLetters,\n\t    // 日期占位符正则。\n\t    _rformat: new RegExp((function() {\n\t        var re = []\n\t        for (var i in patternLetters) re.push(i)\n\t        return '(' + re.join('|') + ')'\n\t    })(), 'g'),\n\t    // 格式化日期。\n\t    _formatDate: function(date, format) {\n\t        return format.replace(this._rformat, function creatNewSubString($0, flag) {\n\t            return typeof patternLetters[flag] === 'function' ? patternLetters[flag](date) :\n\t                patternLetters[flag] in patternLetters ? creatNewSubString($0, patternLetters[flag]) :\n\t                date[patternLetters[flag]]()\n\t        })\n\t    },\n\t    // 生成一个随机的 Date 对象。\n\t    _randomDate: function(min, max) { // min, max\n\t        min = min === undefined ? new Date(0) : min\n\t        max = max === undefined ? new Date() : max\n\t        return new Date(Math.random() * (max.getTime() - min.getTime()))\n\t    },\n\t    // 返回一个随机的日期字符串。\n\t    date: function(format) {\n\t        format = format || 'yyyy-MM-dd'\n\t        return this._formatDate(this._randomDate(), format)\n\t    },\n\t    // 返回一个随机的时间字符串。\n\t    time: function(format) {\n\t        format = format || 'HH:mm:ss'\n\t        return this._formatDate(this._randomDate(), format)\n\t    },\n\t    // 返回一个随机的日期和时间字符串。\n\t    datetime: function(format) {\n\t        format = format || 'yyyy-MM-dd HH:mm:ss'\n\t        return this._formatDate(this._randomDate(), format)\n\t    },\n\t    // 返回当前的日期和时间字符串。\n\t    now: function(unit, format) {\n\t        // now(unit) now(format)\n\t        if (arguments.length === 1) {\n\t            // now(format)\n\t            if (!/year|month|day|hour|minute|second|week/.test(unit)) {\n\t                format = unit\n\t                unit = ''\n\t            }\n\t        }\n\t        unit = (unit || '').toLowerCase()\n\t        format = format || 'yyyy-MM-dd HH:mm:ss'\n\n\t        var date = new Date()\n\n\t        /* jshint -W086 */\n\t        // 参考自 http://momentjs.cn/docs/#/manipulating/start-of/\n\t        switch (unit) {\n\t            case 'year':\n\t                date.setMonth(0)\n\t            case 'month':\n\t                date.setDate(1)\n\t            case 'week':\n\t            case 'day':\n\t                date.setHours(0)\n\t            case 'hour':\n\t                date.setMinutes(0)\n\t            case 'minute':\n\t                date.setSeconds(0)\n\t            case 'second':\n\t                date.setMilliseconds(0)\n\t        }\n\t        switch (unit) {\n\t            case 'week':\n\t                date.setDate(date.getDate() - date.getDay())\n\t        }\n\n\t        return this._formatDate(date, format)\n\t    }\n\t}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {/* global document  */\n\t/*\n\t    ## Image\n\t*/\n\tmodule.exports = {\n\t    // 常见的广告宽高\n\t    _adSize: [\n\t        '300x250', '250x250', '240x400', '336x280', '180x150',\n\t        '720x300', '468x60', '234x60', '88x31', '120x90',\n\t        '120x60', '120x240', '125x125', '728x90', '160x600',\n\t        '120x600', '300x600'\n\t    ],\n\t    // 常见的屏幕宽高\n\t    _screenSize: [\n\t        '320x200', '320x240', '640x480', '800x480', '800x480',\n\t        '1024x600', '1024x768', '1280x800', '1440x900', '1920x1200',\n\t        '2560x1600'\n\t    ],\n\t    // 常见的视频宽高\n\t    _videoSize: ['720x480', '768x576', '1280x720', '1920x1080'],\n\t    /*\n\t        生成一个随机的图片地址。\n\n\t        替代图片源\n\t            http://fpoimg.com/\n\t        参考自 \n\t            http://rensanning.iteye.com/blog/1933310\n\t            http://code.tutsplus.com/articles/the-top-8-placeholders-for-web-designers--net-19485\n\t    */\n\t    image: function(size, background, foreground, format, text) {\n\t        // Random.image( size, background, foreground, text )\n\t        if (arguments.length === 4) {\n\t            text = format\n\t            format = undefined\n\t        }\n\t        // Random.image( size, background, text )\n\t        if (arguments.length === 3) {\n\t            text = foreground\n\t            foreground = undefined\n\t        }\n\t        // Random.image()\n\t        if (!size) size = this.pick(this._adSize)\n\n\t        if (background && ~background.indexOf('#')) background = background.slice(1)\n\t        if (foreground && ~foreground.indexOf('#')) foreground = foreground.slice(1)\n\n\t        // http://dummyimage.com/600x400/cc00cc/470047.png&text=hello\n\t        return 'http://dummyimage.com/' + size +\n\t            (background ? '/' + background : '') +\n\t            (foreground ? '/' + foreground : '') +\n\t            (format ? '.' + format : '') +\n\t            (text ? '&text=' + text : '')\n\t    },\n\t    img: function() {\n\t        return this.image.apply(this, arguments)\n\t    },\n\n\t    /*\n\t        BrandColors\n\t        http://brandcolors.net/\n\t        A collection of major brand color codes curated by Galen Gidman.\n\t        大牌公司的颜色集合\n\n\t        // 获取品牌和颜色\n\t        $('h2').each(function(index, item){\n\t            item = $(item)\n\t            console.log('\\'' + item.text() + '\\'', ':', '\\'' + item.next().text() + '\\'', ',')\n\t        })\n\t    */\n\t    _brandColors: {\n\t        '4ormat': '#fb0a2a',\n\t        '500px': '#02adea',\n\t        'About.me (blue)': '#00405d',\n\t        'About.me (yellow)': '#ffcc33',\n\t        'Addvocate': '#ff6138',\n\t        'Adobe': '#ff0000',\n\t        'Aim': '#fcd20b',\n\t        'Amazon': '#e47911',\n\t        'Android': '#a4c639',\n\t        'Angie\\'s List': '#7fbb00',\n\t        'AOL': '#0060a3',\n\t        'Atlassian': '#003366',\n\t        'Behance': '#053eff',\n\t        'Big Cartel': '#97b538',\n\t        'bitly': '#ee6123',\n\t        'Blogger': '#fc4f08',\n\t        'Boeing': '#0039a6',\n\t        'Booking.com': '#003580',\n\t        'Carbonmade': '#613854',\n\t        'Cheddar': '#ff7243',\n\t        'Code School': '#3d4944',\n\t        'Delicious': '#205cc0',\n\t        'Dell': '#3287c1',\n\t        'Designmoo': '#e54a4f',\n\t        'Deviantart': '#4e6252',\n\t        'Designer News': '#2d72da',\n\t        'Devour': '#fd0001',\n\t        'DEWALT': '#febd17',\n\t        'Disqus (blue)': '#59a3fc',\n\t        'Disqus (orange)': '#db7132',\n\t        'Dribbble': '#ea4c89',\n\t        'Dropbox': '#3d9ae8',\n\t        'Drupal': '#0c76ab',\n\t        'Dunked': '#2a323a',\n\t        'eBay': '#89c507',\n\t        'Ember': '#f05e1b',\n\t        'Engadget': '#00bdf6',\n\t        'Envato': '#528036',\n\t        'Etsy': '#eb6d20',\n\t        'Evernote': '#5ba525',\n\t        'Fab.com': '#dd0017',\n\t        'Facebook': '#3b5998',\n\t        'Firefox': '#e66000',\n\t        'Flickr (blue)': '#0063dc',\n\t        'Flickr (pink)': '#ff0084',\n\t        'Forrst': '#5b9a68',\n\t        'Foursquare': '#25a0ca',\n\t        'Garmin': '#007cc3',\n\t        'GetGlue': '#2d75a2',\n\t        'Gimmebar': '#f70078',\n\t        'GitHub': '#171515',\n\t        'Google Blue': '#0140ca',\n\t        'Google Green': '#16a61e',\n\t        'Google Red': '#dd1812',\n\t        'Google Yellow': '#fcca03',\n\t        'Google+': '#dd4b39',\n\t        'Grooveshark': '#f77f00',\n\t        'Groupon': '#82b548',\n\t        'Hacker News': '#ff6600',\n\t        'HelloWallet': '#0085ca',\n\t        'Heroku (light)': '#c7c5e6',\n\t        'Heroku (dark)': '#6567a5',\n\t        'HootSuite': '#003366',\n\t        'Houzz': '#73ba37',\n\t        'HTML5': '#ec6231',\n\t        'IKEA': '#ffcc33',\n\t        'IMDb': '#f3ce13',\n\t        'Instagram': '#3f729b',\n\t        'Intel': '#0071c5',\n\t        'Intuit': '#365ebf',\n\t        'Kickstarter': '#76cc1e',\n\t        'kippt': '#e03500',\n\t        'Kodery': '#00af81',\n\t        'LastFM': '#c3000d',\n\t        'LinkedIn': '#0e76a8',\n\t        'Livestream': '#cf0005',\n\t        'Lumo': '#576396',\n\t        'Mixpanel': '#a086d3',\n\t        'Meetup': '#e51937',\n\t        'Nokia': '#183693',\n\t        'NVIDIA': '#76b900',\n\t        'Opera': '#cc0f16',\n\t        'Path': '#e41f11',\n\t        'PayPal (dark)': '#1e477a',\n\t        'PayPal (light)': '#3b7bbf',\n\t        'Pinboard': '#0000e6',\n\t        'Pinterest': '#c8232c',\n\t        'PlayStation': '#665cbe',\n\t        'Pocket': '#ee4056',\n\t        'Prezi': '#318bff',\n\t        'Pusha': '#0f71b4',\n\t        'Quora': '#a82400',\n\t        'QUOTE.fm': '#66ceff',\n\t        'Rdio': '#008fd5',\n\t        'Readability': '#9c0000',\n\t        'Red Hat': '#cc0000',\n\t        'Resource': '#7eb400',\n\t        'Rockpack': '#0ba6ab',\n\t        'Roon': '#62b0d9',\n\t        'RSS': '#ee802f',\n\t        'Salesforce': '#1798c1',\n\t        'Samsung': '#0c4da2',\n\t        'Shopify': '#96bf48',\n\t        'Skype': '#00aff0',\n\t        'Snagajob': '#f47a20',\n\t        'Softonic': '#008ace',\n\t        'SoundCloud': '#ff7700',\n\t        'Space Box': '#f86960',\n\t        'Spotify': '#81b71a',\n\t        'Sprint': '#fee100',\n\t        'Squarespace': '#121212',\n\t        'StackOverflow': '#ef8236',\n\t        'Staples': '#cc0000',\n\t        'Status Chart': '#d7584f',\n\t        'Stripe': '#008cdd',\n\t        'StudyBlue': '#00afe1',\n\t        'StumbleUpon': '#f74425',\n\t        'T-Mobile': '#ea0a8e',\n\t        'Technorati': '#40a800',\n\t        'The Next Web': '#ef4423',\n\t        'Treehouse': '#5cb868',\n\t        'Trulia': '#5eab1f',\n\t        'Tumblr': '#34526f',\n\t        'Twitch.tv': '#6441a5',\n\t        'Twitter': '#00acee',\n\t        'TYPO3': '#ff8700',\n\t        'Ubuntu': '#dd4814',\n\t        'Ustream': '#3388ff',\n\t        'Verizon': '#ef1d1d',\n\t        'Vimeo': '#86c9ef',\n\t        'Vine': '#00a478',\n\t        'Virb': '#06afd8',\n\t        'Virgin Media': '#cc0000',\n\t        'Wooga': '#5b009c',\n\t        'WordPress (blue)': '#21759b',\n\t        'WordPress (orange)': '#d54e21',\n\t        'WordPress (grey)': '#464646',\n\t        'Wunderlist': '#2b88d9',\n\t        'XBOX': '#9bc848',\n\t        'XING': '#126567',\n\t        'Yahoo!': '#720e9e',\n\t        'Yandex': '#ffcc00',\n\t        'Yelp': '#c41200',\n\t        'YouTube': '#c4302b',\n\t        'Zalongo': '#5498dc',\n\t        'Zendesk': '#78a300',\n\t        'Zerply': '#9dcc7a',\n\t        'Zootool': '#5e8b1d'\n\t    },\n\t    _brandNames: function() {\n\t        var brands = [];\n\t        for (var b in this._brandColors) {\n\t            brands.push(b)\n\t        }\n\t        return brands\n\t    },\n\t    /*\n\t        生成一段随机的 Base64 图片编码。\n\n\t        https://github.com/imsky/holder\n\t        Holder renders image placeholders entirely on the client side.\n\n\t        dataImageHolder: function(size) {\n\t            return 'holder.js/' + size\n\t        },\n\t    */\n\t    dataImage: function(size, text) {\n\t        var canvas\n\t        if (typeof document !== 'undefined') {\n\t            canvas = document.createElement('canvas')\n\t        } else {\n\t            /*\n\t                https://github.com/Automattic/node-canvas\n\t                    npm install canvas --save\n\t                安装问题：\n\t                * http://stackoverflow.com/questions/22953206/gulp-issues-with-cario-install-command-not-found-when-trying-to-installing-canva\n\t                * https://github.com/Automattic/node-canvas/issues/415\n\t                * https://github.com/Automattic/node-canvas/wiki/_pages\n\n\t                PS：node-canvas 的安装过程实在是太繁琐了，所以不放入 package.json 的 dependencies。\n\t             */\n\t            var Canvas = module.require('canvas')\n\t            canvas = new Canvas()\n\t        }\n\n\t        var ctx = canvas && canvas.getContext && canvas.getContext(\"2d\")\n\t        if (!canvas || !ctx) return ''\n\n\t        if (!size) size = this.pick(this._adSize)\n\t        text = text !== undefined ? text : size\n\n\t        size = size.split('x')\n\n\t        var width = parseInt(size[0], 10),\n\t            height = parseInt(size[1], 10),\n\t            background = this._brandColors[this.pick(this._brandNames())],\n\t            foreground = '#FFF',\n\t            text_height = 14,\n\t            font = 'sans-serif';\n\n\t        canvas.width = width\n\t        canvas.height = height\n\t        ctx.textAlign = 'center'\n\t        ctx.textBaseline = 'middle'\n\t        ctx.fillStyle = background\n\t        ctx.fillRect(0, 0, width, height)\n\t        ctx.fillStyle = foreground\n\t        ctx.font = 'bold ' + text_height + 'px ' + font\n\t        ctx.fillText(text, (width / 2), (height / 2), width)\n\t        return canvas.toDataURL('image/png')\n\t    }\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)(module)))\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## Color\n\n\t    http://llllll.li/randomColor/\n\t        A color generator for JavaScript.\n\t        randomColor generates attractive colors by default. More specifically, randomColor produces bright colors with a reasonably high saturation. This makes randomColor particularly useful for data visualizations and generative art.\n\n\t    http://randomcolour.com/\n\t        var bg_colour = Math.floor(Math.random() * 16777215).toString(16);\n\t        bg_colour = \"#\" + (\"000000\" + bg_colour).slice(-6);\n\t        document.bgColor = bg_colour;\n\t    \n\t    http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/\n\t        Creating random colors is actually more difficult than it seems. The randomness itself is easy, but aesthetically pleasing randomness is more difficult.\n\t        https://github.com/devongovett/color-generator\n\n\t    http://www.paulirish.com/2009/random-hex-color-code-snippets/\n\t        Random Hex Color Code Generator in JavaScript\n\n\t    http://chancejs.com/#color\n\t        chance.color()\n\t        // => '#79c157'\n\t        chance.color({format: 'hex'})\n\t        // => '#d67118'\n\t        chance.color({format: 'shorthex'})\n\t        // => '#60f'\n\t        chance.color({format: 'rgb'})\n\t        // => 'rgb(110,52,164)'\n\n\t    http://tool.c7sky.com/webcolor\n\t        网页设计常用色彩搭配表\n\t    \n\t    https://github.com/One-com/one-color\n\t        An OO-based JavaScript color parser/computation toolkit with support for RGB, HSV, HSL, CMYK, and alpha channels.\n\t        API 很赞\n\n\t    https://github.com/harthur/color\n\t        JavaScript color conversion and manipulation library\n\n\t    https://github.com/leaverou/css-colors\n\t        Share & convert CSS colors\n\t    http://leaverou.github.io/css-colors/#slategray\n\t        Type a CSS color keyword, #hex, hsl(), rgba(), whatever:\n\n\t    色调 hue\n\t        http://baike.baidu.com/view/23368.htm\n\t        色调指的是一幅画中画面色彩的总体倾向，是大的色彩效果。\n\t    饱和度 saturation\n\t        http://baike.baidu.com/view/189644.htm\n\t        饱和度是指色彩的鲜艳程度，也称色彩的纯度。饱和度取决于该色中含色成分和消色成分（灰色）的比例。含色成分越大，饱和度越大；消色成分越大，饱和度越小。\n\t    亮度 brightness\n\t        http://baike.baidu.com/view/34773.htm\n\t        亮度是指发光体（反光体）表面发光（反光）强弱的物理量。\n\t    照度 luminosity\n\t        物体被照亮的程度,采用单位面积所接受的光通量来表示,表示单位为勒[克斯](Lux,lx) ,即 1m / m2 。\n\n\t    http://stackoverflow.com/questions/1484506/random-color-generator-in-javascript\n\t        var letters = '0123456789ABCDEF'.split('')\n\t        var color = '#'\n\t        for (var i = 0; i < 6; i++) {\n\t            color += letters[Math.floor(Math.random() * 16)]\n\t        }\n\t        return color\n\t    \n\t        // 随机生成一个无脑的颜色，格式为 '#RRGGBB'。\n\t        // _brainlessColor()\n\t        var color = Math.floor(\n\t            Math.random() *\n\t            (16 * 16 * 16 * 16 * 16 * 16 - 1)\n\t        ).toString(16)\n\t        color = \"#\" + (\"000000\" + color).slice(-6)\n\t        return color.toUpperCase()\n\t*/\n\n\tvar Convert = __webpack_require__(11)\n\tvar DICT = __webpack_require__(12)\n\n\tmodule.exports = {\n\t    // 随机生成一个有吸引力的颜色，格式为 '#RRGGBB'。\n\t    color: function(name) {\n\t        if (name || DICT[name]) return DICT[name].nicer\n\t        return this.hex()\n\t    },\n\t    // #DAC0DE\n\t    hex: function() {\n\t        var hsv = this._goldenRatioColor()\n\t        var rgb = Convert.hsv2rgb(hsv)\n\t        var hex = Convert.rgb2hex(rgb[0], rgb[1], rgb[2])\n\t        return hex\n\t    },\n\t    // rgb(128,255,255)\n\t    rgb: function() {\n\t        var hsv = this._goldenRatioColor()\n\t        var rgb = Convert.hsv2rgb(hsv)\n\t        return 'rgb(' +\n\t            parseInt(rgb[0], 10) + ', ' +\n\t            parseInt(rgb[1], 10) + ', ' +\n\t            parseInt(rgb[2], 10) + ')'\n\t    },\n\t    // rgba(128,255,255,0.3)\n\t    rgba: function() {\n\t        var hsv = this._goldenRatioColor()\n\t        var rgb = Convert.hsv2rgb(hsv)\n\t        return 'rgba(' +\n\t            parseInt(rgb[0], 10) + ', ' +\n\t            parseInt(rgb[1], 10) + ', ' +\n\t            parseInt(rgb[2], 10) + ', ' +\n\t            Math.random().toFixed(2) + ')'\n\t    },\n\t    // hsl(300,80%,90%)\n\t    hsl: function() {\n\t        var hsv = this._goldenRatioColor()\n\t        var hsl = Convert.hsv2hsl(hsv)\n\t        return 'hsl(' +\n\t            parseInt(hsl[0], 10) + ', ' +\n\t            parseInt(hsl[1], 10) + ', ' +\n\t            parseInt(hsl[2], 10) + ')'\n\t    },\n\t    // http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/\n\t    // https://github.com/devongovett/color-generator/blob/master/index.js\n\t    // 随机生成一个有吸引力的颜色。\n\t    _goldenRatioColor: function(saturation, value) {\n\t        this._goldenRatio = 0.618033988749895\n\t        this._hue = this._hue || Math.random()\n\t        this._hue += this._goldenRatio\n\t        this._hue %= 1\n\n\t        if (typeof saturation !== \"number\") saturation = 0.5;\n\t        if (typeof value !== \"number\") value = 0.95;\n\n\t        return [\n\t            this._hue * 360,\n\t            saturation * 100,\n\t            value * 100\n\t        ]\n\t    }\n\t}\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Color Convert\n\n\t    http://blog.csdn.net/idfaya/article/details/6770414\n\t        颜色空间RGB与HSV(HSL)的转换\n\t*/\n\t// https://github.com/harthur/color-convert/blob/master/conversions.js\n\tmodule.exports = {\n\t\trgb2hsl: function rgb2hsl(rgb) {\n\t\t\tvar r = rgb[0] / 255,\n\t\t\t\tg = rgb[1] / 255,\n\t\t\t\tb = rgb[2] / 255,\n\t\t\t\tmin = Math.min(r, g, b),\n\t\t\t\tmax = Math.max(r, g, b),\n\t\t\t\tdelta = max - min,\n\t\t\t\th, s, l;\n\n\t\t\tif (max == min)\n\t\t\t\th = 0;\n\t\t\telse if (r == max)\n\t\t\t\th = (g - b) / delta;\n\t\t\telse if (g == max)\n\t\t\t\th = 2 + (b - r) / delta;\n\t\t\telse if (b == max)\n\t\t\t\th = 4 + (r - g) / delta;\n\n\t\t\th = Math.min(h * 60, 360);\n\n\t\t\tif (h < 0)\n\t\t\t\th += 360;\n\n\t\t\tl = (min + max) / 2;\n\n\t\t\tif (max == min)\n\t\t\t\ts = 0;\n\t\t\telse if (l <= 0.5)\n\t\t\t\ts = delta / (max + min);\n\t\t\telse\n\t\t\t\ts = delta / (2 - max - min);\n\n\t\t\treturn [h, s * 100, l * 100];\n\t\t},\n\t\trgb2hsv: function rgb2hsv(rgb) {\n\t\t\tvar r = rgb[0],\n\t\t\t\tg = rgb[1],\n\t\t\t\tb = rgb[2],\n\t\t\t\tmin = Math.min(r, g, b),\n\t\t\t\tmax = Math.max(r, g, b),\n\t\t\t\tdelta = max - min,\n\t\t\t\th, s, v;\n\n\t\t\tif (max === 0)\n\t\t\t\ts = 0;\n\t\t\telse\n\t\t\t\ts = (delta / max * 1000) / 10;\n\n\t\t\tif (max == min)\n\t\t\t\th = 0;\n\t\t\telse if (r == max)\n\t\t\t\th = (g - b) / delta;\n\t\t\telse if (g == max)\n\t\t\t\th = 2 + (b - r) / delta;\n\t\t\telse if (b == max)\n\t\t\t\th = 4 + (r - g) / delta;\n\n\t\t\th = Math.min(h * 60, 360);\n\n\t\t\tif (h < 0)\n\t\t\t\th += 360;\n\n\t\t\tv = ((max / 255) * 1000) / 10;\n\n\t\t\treturn [h, s, v];\n\t\t},\n\t\thsl2rgb: function hsl2rgb(hsl) {\n\t\t\tvar h = hsl[0] / 360,\n\t\t\t\ts = hsl[1] / 100,\n\t\t\t\tl = hsl[2] / 100,\n\t\t\t\tt1, t2, t3, rgb, val;\n\n\t\t\tif (s === 0) {\n\t\t\t\tval = l * 255;\n\t\t\t\treturn [val, val, val];\n\t\t\t}\n\n\t\t\tif (l < 0.5)\n\t\t\t\tt2 = l * (1 + s);\n\t\t\telse\n\t\t\t\tt2 = l + s - l * s;\n\t\t\tt1 = 2 * l - t2;\n\n\t\t\trgb = [0, 0, 0];\n\t\t\tfor (var i = 0; i < 3; i++) {\n\t\t\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\t\t\tif (t3 < 0) t3++;\n\t\t\t\tif (t3 > 1) t3--;\n\n\t\t\t\tif (6 * t3 < 1)\n\t\t\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t\t\telse if (2 * t3 < 1)\n\t\t\t\t\tval = t2;\n\t\t\t\telse if (3 * t3 < 2)\n\t\t\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t\t\telse\n\t\t\t\t\tval = t1;\n\n\t\t\t\trgb[i] = val * 255;\n\t\t\t}\n\n\t\t\treturn rgb;\n\t\t},\n\t\thsl2hsv: function hsl2hsv(hsl) {\n\t\t\tvar h = hsl[0],\n\t\t\t\ts = hsl[1] / 100,\n\t\t\t\tl = hsl[2] / 100,\n\t\t\t\tsv, v;\n\t\t\tl *= 2;\n\t\t\ts *= (l <= 1) ? l : 2 - l;\n\t\t\tv = (l + s) / 2;\n\t\t\tsv = (2 * s) / (l + s);\n\t\t\treturn [h, sv * 100, v * 100];\n\t\t},\n\t\thsv2rgb: function hsv2rgb(hsv) {\n\t\t\tvar h = hsv[0] / 60\n\t\t\tvar s = hsv[1] / 100\n\t\t\tvar v = hsv[2] / 100\n\t\t\tvar hi = Math.floor(h) % 6\n\n\t\t\tvar f = h - Math.floor(h)\n\t\t\tvar p = 255 * v * (1 - s)\n\t\t\tvar q = 255 * v * (1 - (s * f))\n\t\t\tvar t = 255 * v * (1 - (s * (1 - f)))\n\n\t\t\tv = 255 * v\n\n\t\t\tswitch (hi) {\n\t\t\t\tcase 0:\n\t\t\t\t\treturn [v, t, p]\n\t\t\t\tcase 1:\n\t\t\t\t\treturn [q, v, p]\n\t\t\t\tcase 2:\n\t\t\t\t\treturn [p, v, t]\n\t\t\t\tcase 3:\n\t\t\t\t\treturn [p, q, v]\n\t\t\t\tcase 4:\n\t\t\t\t\treturn [t, p, v]\n\t\t\t\tcase 5:\n\t\t\t\t\treturn [v, p, q]\n\t\t\t}\n\t\t},\n\t\thsv2hsl: function hsv2hsl(hsv) {\n\t\t\tvar h = hsv[0],\n\t\t\t\ts = hsv[1] / 100,\n\t\t\t\tv = hsv[2] / 100,\n\t\t\t\tsl, l;\n\n\t\t\tl = (2 - s) * v;\n\t\t\tsl = s * v;\n\t\t\tsl /= (l <= 1) ? l : 2 - l;\n\t\t\tl /= 2;\n\t\t\treturn [h, sl * 100, l * 100];\n\t\t},\n\t\t// http://www.140byt.es/keywords/color\n\t\trgb2hex: function(\n\t\t\ta, // red, as a number from 0 to 255\n\t\t\tb, // green, as a number from 0 to 255\n\t\t\tc // blue, as a number from 0 to 255\n\t\t) {\n\t\t\treturn \"#\" + ((256 + a << 8 | b) << 8 | c).toString(16).slice(1)\n\t\t},\n\t\thex2rgb: function(\n\t\t\ta // take a \"#xxxxxx\" hex string,\n\t\t) {\n\t\t\ta = '0x' + a.slice(1).replace(a.length > 4 ? a : /./g, '$&$&') | 0;\n\t\t\treturn [a >> 16, a >> 8 & 255, a & 255]\n\t\t}\n\t}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Color 字典数据\n\n\t    字典数据来源 [A nicer color palette for the web](http://clrs.cc/)\n\t*/\n\tmodule.exports = {\n\t    // name value nicer\n\t    navy: {\n\t        value: '#000080',\n\t        nicer: '#001F3F'\n\t    },\n\t    blue: {\n\t        value: '#0000ff',\n\t        nicer: '#0074D9'\n\t    },\n\t    aqua: {\n\t        value: '#00ffff',\n\t        nicer: '#7FDBFF'\n\t    },\n\t    teal: {\n\t        value: '#008080',\n\t        nicer: '#39CCCC'\n\t    },\n\t    olive: {\n\t        value: '#008000',\n\t        nicer: '#3D9970'\n\t    },\n\t    green: {\n\t        value: '#008000',\n\t        nicer: '#2ECC40'\n\t    },\n\t    lime: {\n\t        value: '#00ff00',\n\t        nicer: '#01FF70'\n\t    },\n\t    yellow: {\n\t        value: '#ffff00',\n\t        nicer: '#FFDC00'\n\t    },\n\t    orange: {\n\t        value: '#ffa500',\n\t        nicer: '#FF851B'\n\t    },\n\t    red: {\n\t        value: '#ff0000',\n\t        nicer: '#FF4136'\n\t    },\n\t    maroon: {\n\t        value: '#800000',\n\t        nicer: '#85144B'\n\t    },\n\t    fuchsia: {\n\t        value: '#ff00ff',\n\t        nicer: '#F012BE'\n\t    },\n\t    purple: {\n\t        value: '#800080',\n\t        nicer: '#B10DC9'\n\t    },\n\t    silver: {\n\t        value: '#c0c0c0',\n\t        nicer: '#DDDDDD'\n\t    },\n\t    gray: {\n\t        value: '#808080',\n\t        nicer: '#AAAAAA'\n\t    },\n\t    black: {\n\t        value: '#000000',\n\t        nicer: '#111111'\n\t    },\n\t    white: {\n\t        value: '#FFFFFF',\n\t        nicer: '#FFFFFF'\n\t    }\n\t}\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## Text\n\n\t    http://www.lipsum.com/\n\t*/\n\tvar Basic = __webpack_require__(6)\n\tvar Helper = __webpack_require__(14)\n\n\tfunction range(defaultMin, defaultMax, min, max) {\n\t    return min === undefined ? Basic.natural(defaultMin, defaultMax) : // ()\n\t        max === undefined ? min : // ( len )\n\t        Basic.natural(parseInt(min, 10), parseInt(max, 10)) // ( min, max )\n\t}\n\n\tmodule.exports = {\n\t    // 随机生成一段文本。\n\t    paragraph: function(min, max) {\n\t        var len = range(3, 7, min, max)\n\t        var result = []\n\t        for (var i = 0; i < len; i++) {\n\t            result.push(this.sentence())\n\t        }\n\t        return result.join(' ')\n\t    },\n\t    // \n\t    cparagraph: function(min, max) {\n\t        var len = range(3, 7, min, max)\n\t        var result = []\n\t        for (var i = 0; i < len; i++) {\n\t            result.push(this.csentence())\n\t        }\n\t        return result.join('')\n\t    },\n\t    // 随机生成一个句子，第一个单词的首字母大写。\n\t    sentence: function(min, max) {\n\t        var len = range(12, 18, min, max)\n\t        var result = []\n\t        for (var i = 0; i < len; i++) {\n\t            result.push(this.word())\n\t        }\n\t        return Helper.capitalize(result.join(' ')) + '.'\n\t    },\n\t    // 随机生成一个中文句子。\n\t    csentence: function(min, max) {\n\t        var len = range(12, 18, min, max)\n\t        var result = []\n\t        for (var i = 0; i < len; i++) {\n\t            result.push(this.cword())\n\t        }\n\n\t        return result.join('') + '。'\n\t    },\n\t    // 随机生成一个单词。\n\t    word: function(min, max) {\n\t        var len = range(3, 10, min, max)\n\t        var result = '';\n\t        for (var i = 0; i < len; i++) {\n\t            result += Basic.character('lower')\n\t        }\n\t        return result\n\t    },\n\t    // 随机生成一个或多个汉字。\n\t    cword: function(pool, min, max) {\n\t        // 最常用的 500 个汉字 http://baike.baidu.com/view/568436.htm\n\t        var DICT_KANZI = '的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞'\n\n\t        var len\n\t        switch (arguments.length) {\n\t            case 0: // ()\n\t                pool = DICT_KANZI\n\t                len = 1\n\t                break\n\t            case 1: // ( pool )\n\t                if (typeof arguments[0] === 'string') {\n\t                    len = 1\n\t                } else {\n\t                    // ( length )\n\t                    len = pool\n\t                    pool = DICT_KANZI\n\t                }\n\t                break\n\t            case 2:\n\t                // ( pool, length )\n\t                if (typeof arguments[0] === 'string') {\n\t                    len = min\n\t                } else {\n\t                    // ( min, max )\n\t                    len = this.natural(pool, min)\n\t                    pool = DICT_KANZI\n\t                }\n\t                break\n\t            case 3:\n\t                len = this.natural(min, max)\n\t                break\n\t        }\n\n\t        var result = ''\n\t        for (var i = 0; i < len; i++) {\n\t            result += pool.charAt(this.natural(0, pool.length - 1))\n\t        }\n\t        return result\n\t    },\n\t    // 随机生成一句标题，其中每个单词的首字母大写。\n\t    title: function(min, max) {\n\t        var len = range(3, 7, min, max)\n\t        var result = []\n\t        for (var i = 0; i < len; i++) {\n\t            result.push(this.capitalize(this.word()))\n\t        }\n\t        return result.join(' ')\n\t    },\n\t    // 随机生成一句中文标题。\n\t    ctitle: function(min, max) {\n\t        var len = range(3, 7, min, max)\n\t        var result = []\n\t        for (var i = 0; i < len; i++) {\n\t            result.push(this.cword())\n\t        }\n\t        return result.join('')\n\t    }\n\t}\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## Helpers\n\t*/\n\n\tvar Util = __webpack_require__(3)\n\n\tmodule.exports = {\n\t\t// 把字符串的第一个字母转换为大写。\n\t\tcapitalize: function(word) {\n\t\t\treturn (word + '').charAt(0).toUpperCase() + (word + '').substr(1)\n\t\t},\n\t\t// 把字符串转换为大写。\n\t\tupper: function(str) {\n\t\t\treturn (str + '').toUpperCase()\n\t\t},\n\t\t// 把字符串转换为小写。\n\t\tlower: function(str) {\n\t\t\treturn (str + '').toLowerCase()\n\t\t},\n\t\t// 从数组中随机选取一个元素，并返回。\n\t\tpick: function pick(arr, min, max) {\n\t\t\t// pick( item1, item2 ... )\n\t\t\tif (!Util.isArray(arr)) {\n\t\t\t\tarr = [].slice.call(arguments)\n\t\t\t\tmin = 1\n\t\t\t\tmax = 1\n\t\t\t} else {\n\t\t\t\t// pick( [ item1, item2 ... ] )\n\t\t\t\tif (min === undefined) min = 1\n\n\t\t\t\t// pick( [ item1, item2 ... ], count )\n\t\t\t\tif (max === undefined) max = min\n\t\t\t}\n\n\t\t\tif (min === 1 && max === 1) return arr[this.natural(0, arr.length - 1)]\n\n\t\t\t// pick( [ item1, item2 ... ], min, max )\n\t\t\treturn this.shuffle(arr, min, max)\n\n\t\t\t// 通过参数个数判断方法签名，扩展性太差！#90\n\t\t\t// switch (arguments.length) {\n\t\t\t// \tcase 1:\n\t\t\t// \t\t// pick( [ item1, item2 ... ] )\n\t\t\t// \t\treturn arr[this.natural(0, arr.length - 1)]\n\t\t\t// \tcase 2:\n\t\t\t// \t\t// pick( [ item1, item2 ... ], count )\n\t\t\t// \t\tmax = min\n\t\t\t// \t\t\t/* falls through */\n\t\t\t// \tcase 3:\n\t\t\t// \t\t// pick( [ item1, item2 ... ], min, max )\n\t\t\t// \t\treturn this.shuffle(arr, min, max)\n\t\t\t// }\n\t\t},\n\t\t/*\n\t\t    打乱数组中元素的顺序，并返回。\n\t\t    Given an array, scramble the order and return it.\n\n\t\t    其他的实现思路：\n\t\t        // https://code.google.com/p/jslibs/wiki/JavascriptTips\n\t\t        result = result.sort(function() {\n\t\t            return Math.random() - 0.5\n\t\t        })\n\t\t*/\n\t\tshuffle: function shuffle(arr, min, max) {\n\t\t\tarr = arr || []\n\t\t\tvar old = arr.slice(0),\n\t\t\t\tresult = [],\n\t\t\t\tindex = 0,\n\t\t\t\tlength = old.length;\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tindex = this.natural(0, old.length - 1)\n\t\t\t\tresult.push(old[index])\n\t\t\t\told.splice(index, 1)\n\t\t\t}\n\t\t\tswitch (arguments.length) {\n\t\t\t\tcase 0:\n\t\t\t\tcase 1:\n\t\t\t\t\treturn result\n\t\t\t\tcase 2:\n\t\t\t\t\tmax = min\n\t\t\t\t\t\t/* falls through */\n\t\t\t\tcase 3:\n\t\t\t\t\tmin = parseInt(min, 10)\n\t\t\t\t\tmax = parseInt(max, 10)\n\t\t\t\t\treturn result.slice(0, this.natural(min, max))\n\t\t\t}\n\t\t},\n\t\t/*\n\t\t    * Random.order(item, item)\n\t\t    * Random.order([item, item ...])\n\n\t\t    顺序获取数组中的元素\n\n\t\t    [JSON导入数组支持数组数据录入](https://github.com/thx/RAP/issues/22)\n\n\t\t    不支持单独调用！\n\t\t*/\n\t\torder: function order(array) {\n\t\t\torder.cache = order.cache || {}\n\n\t\t\tif (arguments.length > 1) array = [].slice.call(arguments, 0)\n\n\t\t\t// options.context.path/templatePath\n\t\t\tvar options = order.options\n\t\t\tvar templatePath = options.context.templatePath.join('.')\n\n\t\t\tvar cache = (\n\t\t\t\torder.cache[templatePath] = order.cache[templatePath] || {\n\t\t\t\t\tindex: 0,\n\t\t\t\t\tarray: array\n\t\t\t\t}\n\t\t\t)\n\n\t\t\treturn cache.array[cache.index++ % cache.array.length]\n\t\t}\n\t}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Name\n\n\t    [Beyond the Top 1000 Names](http://www.ssa.gov/oact/babynames/limits.html)\n\t*/\n\tmodule.exports = {\n\t\t// 随机生成一个常见的英文名。\n\t\tfirst: function() {\n\t\t\tvar names = [\n\t\t\t\t// male\n\t\t\t\t\"James\", \"John\", \"Robert\", \"Michael\", \"William\",\n\t\t\t\t\"David\", \"Richard\", \"Charles\", \"Joseph\", \"Thomas\",\n\t\t\t\t\"Christopher\", \"Daniel\", \"Paul\", \"Mark\", \"Donald\",\n\t\t\t\t\"George\", \"Kenneth\", \"Steven\", \"Edward\", \"Brian\",\n\t\t\t\t\"Ronald\", \"Anthony\", \"Kevin\", \"Jason\", \"Matthew\",\n\t\t\t\t\"Gary\", \"Timothy\", \"Jose\", \"Larry\", \"Jeffrey\",\n\t\t\t\t\"Frank\", \"Scott\", \"Eric\"\n\t\t\t].concat([\n\t\t\t\t// female\n\t\t\t\t\"Mary\", \"Patricia\", \"Linda\", \"Barbara\", \"Elizabeth\",\n\t\t\t\t\"Jennifer\", \"Maria\", \"Susan\", \"Margaret\", \"Dorothy\",\n\t\t\t\t\"Lisa\", \"Nancy\", \"Karen\", \"Betty\", \"Helen\",\n\t\t\t\t\"Sandra\", \"Donna\", \"Carol\", \"Ruth\", \"Sharon\",\n\t\t\t\t\"Michelle\", \"Laura\", \"Sarah\", \"Kimberly\", \"Deborah\",\n\t\t\t\t\"Jessica\", \"Shirley\", \"Cynthia\", \"Angela\", \"Melissa\",\n\t\t\t\t\"Brenda\", \"Amy\", \"Anna\"\n\t\t\t])\n\t\t\treturn this.pick(names)\n\t\t\t\t// or this.capitalize(this.word())\n\t\t},\n\t\t// 随机生成一个常见的英文姓。\n\t\tlast: function() {\n\t\t\tvar names = [\n\t\t\t\t\"Smith\", \"Johnson\", \"Williams\", \"Brown\", \"Jones\",\n\t\t\t\t\"Miller\", \"Davis\", \"Garcia\", \"Rodriguez\", \"Wilson\",\n\t\t\t\t\"Martinez\", \"Anderson\", \"Taylor\", \"Thomas\", \"Hernandez\",\n\t\t\t\t\"Moore\", \"Martin\", \"Jackson\", \"Thompson\", \"White\",\n\t\t\t\t\"Lopez\", \"Lee\", \"Gonzalez\", \"Harris\", \"Clark\",\n\t\t\t\t\"Lewis\", \"Robinson\", \"Walker\", \"Perez\", \"Hall\",\n\t\t\t\t\"Young\", \"Allen\"\n\t\t\t]\n\t\t\treturn this.pick(names)\n\t\t\t\t// or this.capitalize(this.word())\n\t\t},\n\t\t// 随机生成一个常见的英文姓名。\n\t\tname: function(middle) {\n\t\t\treturn this.first() + ' ' +\n\t\t\t\t(middle ? this.first() + ' ' : '') +\n\t\t\t\tthis.last()\n\t\t},\n\t\t/*\n\t\t    随机生成一个常见的中文姓。\n\t\t    [世界常用姓氏排行](http://baike.baidu.com/view/1719115.htm)\n\t\t    [玄派网 - 网络小说创作辅助平台](http://xuanpai.sinaapp.com/)\n\t\t */\n\t\tcfirst: function() {\n\t\t\tvar names = (\n\t\t\t\t'王 李 张 刘 陈 杨 赵 黄 周 吴 ' +\n\t\t\t\t'徐 孙 胡 朱 高 林 何 郭 马 罗 ' +\n\t\t\t\t'梁 宋 郑 谢 韩 唐 冯 于 董 萧 ' +\n\t\t\t\t'程 曹 袁 邓 许 傅 沈 曾 彭 吕 ' +\n\t\t\t\t'苏 卢 蒋 蔡 贾 丁 魏 薛 叶 阎 ' +\n\t\t\t\t'余 潘 杜 戴 夏 锺 汪 田 任 姜 ' +\n\t\t\t\t'范 方 石 姚 谭 廖 邹 熊 金 陆 ' +\n\t\t\t\t'郝 孔 白 崔 康 毛 邱 秦 江 史 ' +\n\t\t\t\t'顾 侯 邵 孟 龙 万 段 雷 钱 汤 ' +\n\t\t\t\t'尹 黎 易 常 武 乔 贺 赖 龚 文'\n\t\t\t).split(' ')\n\t\t\treturn this.pick(names)\n\t\t},\n\t\t/*\n\t\t    随机生成一个常见的中文名。\n\t\t    [中国最常见名字前50名_三九算命网](http://www.name999.net/xingming/xingshi/20131004/48.html)\n\t\t */\n\t\tclast: function() {\n\t\t\tvar names = (\n\t\t\t\t'伟 芳 娜 秀英 敏 静 丽 强 磊 军 ' +\n\t\t\t\t'洋 勇 艳 杰 娟 涛 明 超 秀兰 霞 ' +\n\t\t\t\t'平 刚 桂英'\n\t\t\t).split(' ')\n\t\t\treturn this.pick(names)\n\t\t},\n\t\t// 随机生成一个常见的中文姓名。\n\t\tcname: function() {\n\t\t\treturn this.cfirst() + this.clast()\n\t\t}\n\t}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Web\n\t*/\n\tmodule.exports = {\n\t    /*\n\t        随机生成一个 URL。\n\n\t        [URL 规范](http://www.w3.org/Addressing/URL/url-spec.txt)\n\t            http                    Hypertext Transfer Protocol \n\t            ftp                     File Transfer protocol \n\t            gopher                  The Gopher protocol \n\t            mailto                  Electronic mail address \n\t            mid                     Message identifiers for electronic mail \n\t            cid                     Content identifiers for MIME body part \n\t            news                    Usenet news \n\t            nntp                    Usenet news for local NNTP access only \n\t            prospero                Access using the prospero protocols \n\t            telnet rlogin tn3270    Reference to interactive sessions\n\t            wais                    Wide Area Information Servers \n\t    */\n\t    url: function(protocol, host) {\n\t        return (protocol || this.protocol()) + '://' + // protocol?\n\t            (host || this.domain()) + // host?\n\t            '/' + this.word()\n\t    },\n\t    // 随机生成一个 URL 协议。\n\t    protocol: function() {\n\t        return this.pick(\n\t            // 协议簇\n\t            'http ftp gopher mailto mid cid news nntp prospero telnet rlogin tn3270 wais'.split(' ')\n\t        )\n\t    },\n\t    // 随机生成一个域名。\n\t    domain: function(tld) {\n\t        return this.word() + '.' + (tld || this.tld())\n\t    },\n\t    /*\n\t        随机生成一个顶级域名。\n\t        国际顶级域名 international top-level domain-names, iTLDs\n\t        国家顶级域名 national top-level domainnames, nTLDs\n\t        [域名后缀大全](http://www.163ns.com/zixun/post/4417.html)\n\t    */\n\t    tld: function() { // Top Level Domain\n\t        return this.pick(\n\t            (\n\t                // 域名后缀\n\t                'com net org edu gov int mil cn ' +\n\t                // 国内域名\n\t                'com.cn net.cn gov.cn org.cn ' +\n\t                // 中文国内域名\n\t                '中国 中国互联.公司 中国互联.网络 ' +\n\t                // 新国际域名\n\t                'tel biz cc tv info name hk mobi asia cd travel pro museum coop aero ' +\n\t                // 世界各国域名后缀\n\t                'ad ae af ag ai al am an ao aq ar as at au aw az ba bb bd be bf bg bh bi bj bm bn bo br bs bt bv bw by bz ca cc cf cg ch ci ck cl cm cn co cq cr cu cv cx cy cz de dj dk dm do dz ec ee eg eh es et ev fi fj fk fm fo fr ga gb gd ge gf gh gi gl gm gn gp gr gt gu gw gy hk hm hn hr ht hu id ie il in io iq ir is it jm jo jp ke kg kh ki km kn kp kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md mg mh ml mm mn mo mp mq mr ms mt mv mw mx my mz na nc ne nf ng ni nl no np nr nt nu nz om qa pa pe pf pg ph pk pl pm pn pr pt pw py re ro ru rw sa sb sc sd se sg sh si sj sk sl sm sn so sr st su sy sz tc td tf tg th tj tk tm tn to tp tr tt tv tw tz ua ug uk us uy va vc ve vg vn vu wf ws ye yu za zm zr zw'\n\t            ).split(' ')\n\t        )\n\t    },\n\t    // 随机生成一个邮件地址。\n\t    email: function(domain) {\n\t        return this.character('lower') + '.' + this.word() + '@' +\n\t            (\n\t                domain ||\n\t                (this.word() + '.' + this.tld())\n\t            )\n\t            // return this.character('lower') + '.' + this.last().toLowerCase() + '@' + this.last().toLowerCase() + '.' + this.tld()\n\t            // return this.word() + '@' + (domain || this.domain())\n\t    },\n\t    // 随机生成一个 IP 地址。\n\t    ip: function() {\n\t        return this.natural(0, 255) + '.' +\n\t            this.natural(0, 255) + '.' +\n\t            this.natural(0, 255) + '.' +\n\t            this.natural(0, 255)\n\t    }\n\t}\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## Address\n\t*/\n\n\tvar DICT = __webpack_require__(18)\n\tvar REGION = ['东北', '华北', '华东', '华中', '华南', '西南', '西北']\n\n\tmodule.exports = {\n\t    // 随机生成一个大区。\n\t    region: function() {\n\t        return this.pick(REGION)\n\t    },\n\t    // 随机生成一个（中国）省（或直辖市、自治区、特别行政区）。\n\t    province: function() {\n\t        return this.pick(DICT).name\n\t    },\n\t    // 随机生成一个（中国）市。\n\t    city: function(prefix) {\n\t        var province = this.pick(DICT)\n\t        var city = this.pick(province.children)\n\t        return prefix ? [province.name, city.name].join(' ') : city.name\n\t    },\n\t    // 随机生成一个（中国）县。\n\t    county: function(prefix) {\n\t        var province = this.pick(DICT)\n\t        var city = this.pick(province.children)\n\t        var county = this.pick(city.children) || {\n\t            name: '-'\n\t        }\n\t        return prefix ? [province.name, city.name, county.name].join(' ') : county.name\n\t    },\n\t    // 随机生成一个邮政编码（六位数字）。\n\t    zip: function(len) {\n\t        var zip = ''\n\t        for (var i = 0; i < (len || 6); i++) zip += this.natural(0, 9)\n\t        return zip\n\t    }\n\n\t    // address: function() {},\n\t    // phone: function() {},\n\t    // areacode: function() {},\n\t    // street: function() {},\n\t    // street_suffixes: function() {},\n\t    // street_suffix: function() {},\n\t    // states: function() {},\n\t    // state: function() {},\n\t}\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n\t/*\n\t    ## Address 字典数据\n\n\t    字典数据来源 http://www.atatech.org/articles/30028?rnd=254259856\n\n\t    国标 省（市）级行政区划码表\n\n\t    华北   北京市 天津市 河北省 山西省 内蒙古自治区\n\t    东北   辽宁省 吉林省 黑龙江省\n\t    华东   上海市 江苏省 浙江省 安徽省 福建省 江西省 山东省\n\t    华南   广东省 广西壮族自治区 海南省\n\t    华中   河南省 湖北省 湖南省\n\t    西南   重庆市 四川省 贵州省 云南省 西藏自治区\n\t    西北   陕西省 甘肃省 青海省 宁夏回族自治区 新疆维吾尔自治区\n\t    港澳台 香港特别行政区 澳门特别行政区 台湾省\n\t    \n\t    **排序**\n\t    \n\t    ```js\n\t    var map = {}\n\t    _.each(_.keys(REGIONS),function(id){\n\t      map[id] = REGIONS[ID]\n\t    })\n\t    JSON.stringify(map)\n\t    ```\n\t*/\n\tvar DICT = {\n\t    \"110000\": \"北京\",\n\t    \"110100\": \"北京市\",\n\t    \"110101\": \"东城区\",\n\t    \"110102\": \"西城区\",\n\t    \"110105\": \"朝阳区\",\n\t    \"110106\": \"丰台区\",\n\t    \"110107\": \"石景山区\",\n\t    \"110108\": \"海淀区\",\n\t    \"110109\": \"门头沟区\",\n\t    \"110111\": \"房山区\",\n\t    \"110112\": \"通州区\",\n\t    \"110113\": \"顺义区\",\n\t    \"110114\": \"昌平区\",\n\t    \"110115\": \"大兴区\",\n\t    \"110116\": \"怀柔区\",\n\t    \"110117\": \"平谷区\",\n\t    \"110228\": \"密云县\",\n\t    \"110229\": \"延庆县\",\n\t    \"110230\": \"其它区\",\n\t    \"120000\": \"天津\",\n\t    \"120100\": \"天津市\",\n\t    \"120101\": \"和平区\",\n\t    \"120102\": \"河东区\",\n\t    \"120103\": \"河西区\",\n\t    \"120104\": \"南开区\",\n\t    \"120105\": \"河北区\",\n\t    \"120106\": \"红桥区\",\n\t    \"120110\": \"东丽区\",\n\t    \"120111\": \"西青区\",\n\t    \"120112\": \"津南区\",\n\t    \"120113\": \"北辰区\",\n\t    \"120114\": \"武清区\",\n\t    \"120115\": \"宝坻区\",\n\t    \"120116\": \"滨海新区\",\n\t    \"120221\": \"宁河县\",\n\t    \"120223\": \"静海县\",\n\t    \"120225\": \"蓟县\",\n\t    \"120226\": \"其它区\",\n\t    \"130000\": \"河北省\",\n\t    \"130100\": \"石家庄市\",\n\t    \"130102\": \"长安区\",\n\t    \"130103\": \"桥东区\",\n\t    \"130104\": \"桥西区\",\n\t    \"130105\": \"新华区\",\n\t    \"130107\": \"井陉矿区\",\n\t    \"130108\": \"裕华区\",\n\t    \"130121\": \"井陉县\",\n\t    \"130123\": \"正定县\",\n\t    \"130124\": \"栾城县\",\n\t    \"130125\": \"行唐县\",\n\t    \"130126\": \"灵寿县\",\n\t    \"130127\": \"高邑县\",\n\t    \"130128\": \"深泽县\",\n\t    \"130129\": \"赞皇县\",\n\t    \"130130\": \"无极县\",\n\t    \"130131\": \"平山县\",\n\t    \"130132\": \"元氏县\",\n\t    \"130133\": \"赵县\",\n\t    \"130181\": \"辛集市\",\n\t    \"130182\": \"藁城市\",\n\t    \"130183\": \"晋州市\",\n\t    \"130184\": \"新乐市\",\n\t    \"130185\": \"鹿泉市\",\n\t    \"130186\": \"其它区\",\n\t    \"130200\": \"唐山市\",\n\t    \"130202\": \"路南区\",\n\t    \"130203\": \"路北区\",\n\t    \"130204\": \"古冶区\",\n\t    \"130205\": \"开平区\",\n\t    \"130207\": \"丰南区\",\n\t    \"130208\": \"丰润区\",\n\t    \"130223\": \"滦县\",\n\t    \"130224\": \"滦南县\",\n\t    \"130225\": \"乐亭县\",\n\t    \"130227\": \"迁西县\",\n\t    \"130229\": \"玉田县\",\n\t    \"130230\": \"曹妃甸区\",\n\t    \"130281\": \"遵化市\",\n\t    \"130283\": \"迁安市\",\n\t    \"130284\": \"其它区\",\n\t    \"130300\": \"秦皇岛市\",\n\t    \"130302\": \"海港区\",\n\t    \"130303\": \"山海关区\",\n\t    \"130304\": \"北戴河区\",\n\t    \"130321\": \"青龙满族自治县\",\n\t    \"130322\": \"昌黎县\",\n\t    \"130323\": \"抚宁县\",\n\t    \"130324\": \"卢龙县\",\n\t    \"130398\": \"其它区\",\n\t    \"130400\": \"邯郸市\",\n\t    \"130402\": \"邯山区\",\n\t    \"130403\": \"丛台区\",\n\t    \"130404\": \"复兴区\",\n\t    \"130406\": \"峰峰矿区\",\n\t    \"130421\": \"邯郸县\",\n\t    \"130423\": \"临漳县\",\n\t    \"130424\": \"成安县\",\n\t    \"130425\": \"大名县\",\n\t    \"130426\": \"涉县\",\n\t    \"130427\": \"磁县\",\n\t    \"130428\": \"肥乡县\",\n\t    \"130429\": \"永年县\",\n\t    \"130430\": \"邱县\",\n\t    \"130431\": \"鸡泽县\",\n\t    \"130432\": \"广平县\",\n\t    \"130433\": \"馆陶县\",\n\t    \"130434\": \"魏县\",\n\t    \"130435\": \"曲周县\",\n\t    \"130481\": \"武安市\",\n\t    \"130482\": \"其它区\",\n\t    \"130500\": \"邢台市\",\n\t    \"130502\": \"桥东区\",\n\t    \"130503\": \"桥西区\",\n\t    \"130521\": \"邢台县\",\n\t    \"130522\": \"临城县\",\n\t    \"130523\": \"内丘县\",\n\t    \"130524\": \"柏乡县\",\n\t    \"130525\": \"隆尧县\",\n\t    \"130526\": \"任县\",\n\t    \"130527\": \"南和县\",\n\t    \"130528\": \"宁晋县\",\n\t    \"130529\": \"巨鹿县\",\n\t    \"130530\": \"新河县\",\n\t    \"130531\": \"广宗县\",\n\t    \"130532\": \"平乡县\",\n\t    \"130533\": \"威县\",\n\t    \"130534\": \"清河县\",\n\t    \"130535\": \"临西县\",\n\t    \"130581\": \"南宫市\",\n\t    \"130582\": \"沙河市\",\n\t    \"130583\": \"其它区\",\n\t    \"130600\": \"保定市\",\n\t    \"130602\": \"新市区\",\n\t    \"130603\": \"北市区\",\n\t    \"130604\": \"南市区\",\n\t    \"130621\": \"满城县\",\n\t    \"130622\": \"清苑县\",\n\t    \"130623\": \"涞水县\",\n\t    \"130624\": \"阜平县\",\n\t    \"130625\": \"徐水县\",\n\t    \"130626\": \"定兴县\",\n\t    \"130627\": \"唐县\",\n\t    \"130628\": \"高阳县\",\n\t    \"130629\": \"容城县\",\n\t    \"130630\": \"涞源县\",\n\t    \"130631\": \"望都县\",\n\t    \"130632\": \"安新县\",\n\t    \"130633\": \"易县\",\n\t    \"130634\": \"曲阳县\",\n\t    \"130635\": \"蠡县\",\n\t    \"130636\": \"顺平县\",\n\t    \"130637\": \"博野县\",\n\t    \"130638\": \"雄县\",\n\t    \"130681\": \"涿州市\",\n\t    \"130682\": \"定州市\",\n\t    \"130683\": \"安国市\",\n\t    \"130684\": \"高碑店市\",\n\t    \"130699\": \"其它区\",\n\t    \"130700\": \"张家口市\",\n\t    \"130702\": \"桥东区\",\n\t    \"130703\": \"桥西区\",\n\t    \"130705\": \"宣化区\",\n\t    \"130706\": \"下花园区\",\n\t    \"130721\": \"宣化县\",\n\t    \"130722\": \"张北县\",\n\t    \"130723\": \"康保县\",\n\t    \"130724\": \"沽源县\",\n\t    \"130725\": \"尚义县\",\n\t    \"130726\": \"蔚县\",\n\t    \"130727\": \"阳原县\",\n\t    \"130728\": \"怀安县\",\n\t    \"130729\": \"万全县\",\n\t    \"130730\": \"怀来县\",\n\t    \"130731\": \"涿鹿县\",\n\t    \"130732\": \"赤城县\",\n\t    \"130733\": \"崇礼县\",\n\t    \"130734\": \"其它区\",\n\t    \"130800\": \"承德市\",\n\t    \"130802\": \"双桥区\",\n\t    \"130803\": \"双滦区\",\n\t    \"130804\": \"鹰手营子矿区\",\n\t    \"130821\": \"承德县\",\n\t    \"130822\": \"兴隆县\",\n\t    \"130823\": \"平泉县\",\n\t    \"130824\": \"滦平县\",\n\t    \"130825\": \"隆化县\",\n\t    \"130826\": \"丰宁满族自治县\",\n\t    \"130827\": \"宽城满族自治县\",\n\t    \"130828\": \"围场满族蒙古族自治县\",\n\t    \"130829\": \"其它区\",\n\t    \"130900\": \"沧州市\",\n\t    \"130902\": \"新华区\",\n\t    \"130903\": \"运河区\",\n\t    \"130921\": \"沧县\",\n\t    \"130922\": \"青县\",\n\t    \"130923\": \"东光县\",\n\t    \"130924\": \"海兴县\",\n\t    \"130925\": \"盐山县\",\n\t    \"130926\": \"肃宁县\",\n\t    \"130927\": \"南皮县\",\n\t    \"130928\": \"吴桥县\",\n\t    \"130929\": \"献县\",\n\t    \"130930\": \"孟村回族自治县\",\n\t    \"130981\": \"泊头市\",\n\t    \"130982\": \"任丘市\",\n\t    \"130983\": \"黄骅市\",\n\t    \"130984\": \"河间市\",\n\t    \"130985\": \"其它区\",\n\t    \"131000\": \"廊坊市\",\n\t    \"131002\": \"安次区\",\n\t    \"131003\": \"广阳区\",\n\t    \"131022\": \"固安县\",\n\t    \"131023\": \"永清县\",\n\t    \"131024\": \"香河县\",\n\t    \"131025\": \"大城县\",\n\t    \"131026\": \"文安县\",\n\t    \"131028\": \"大厂回族自治县\",\n\t    \"131081\": \"霸州市\",\n\t    \"131082\": \"三河市\",\n\t    \"131083\": \"其它区\",\n\t    \"131100\": \"衡水市\",\n\t    \"131102\": \"桃城区\",\n\t    \"131121\": \"枣强县\",\n\t    \"131122\": \"武邑县\",\n\t    \"131123\": \"武强县\",\n\t    \"131124\": \"饶阳县\",\n\t    \"131125\": \"安平县\",\n\t    \"131126\": \"故城县\",\n\t    \"131127\": \"景县\",\n\t    \"131128\": \"阜城县\",\n\t    \"131181\": \"冀州市\",\n\t    \"131182\": \"深州市\",\n\t    \"131183\": \"其它区\",\n\t    \"140000\": \"山西省\",\n\t    \"140100\": \"太原市\",\n\t    \"140105\": \"小店区\",\n\t    \"140106\": \"迎泽区\",\n\t    \"140107\": \"杏花岭区\",\n\t    \"140108\": \"尖草坪区\",\n\t    \"140109\": \"万柏林区\",\n\t    \"140110\": \"晋源区\",\n\t    \"140121\": \"清徐县\",\n\t    \"140122\": \"阳曲县\",\n\t    \"140123\": \"娄烦县\",\n\t    \"140181\": \"古交市\",\n\t    \"140182\": \"其它区\",\n\t    \"140200\": \"大同市\",\n\t    \"140202\": \"城区\",\n\t    \"140203\": \"矿区\",\n\t    \"140211\": \"南郊区\",\n\t    \"140212\": \"新荣区\",\n\t    \"140221\": \"阳高县\",\n\t    \"140222\": \"天镇县\",\n\t    \"140223\": \"广灵县\",\n\t    \"140224\": \"灵丘县\",\n\t    \"140225\": \"浑源县\",\n\t    \"140226\": \"左云县\",\n\t    \"140227\": \"大同县\",\n\t    \"140228\": \"其它区\",\n\t    \"140300\": \"阳泉市\",\n\t    \"140302\": \"城区\",\n\t    \"140303\": \"矿区\",\n\t    \"140311\": \"郊区\",\n\t    \"140321\": \"平定县\",\n\t    \"140322\": \"盂县\",\n\t    \"140323\": \"其它区\",\n\t    \"140400\": \"长治市\",\n\t    \"140421\": \"长治县\",\n\t    \"140423\": \"襄垣县\",\n\t    \"140424\": \"屯留县\",\n\t    \"140425\": \"平顺县\",\n\t    \"140426\": \"黎城县\",\n\t    \"140427\": \"壶关县\",\n\t    \"140428\": \"长子县\",\n\t    \"140429\": \"武乡县\",\n\t    \"140430\": \"沁县\",\n\t    \"140431\": \"沁源县\",\n\t    \"140481\": \"潞城市\",\n\t    \"140482\": \"城区\",\n\t    \"140483\": \"郊区\",\n\t    \"140485\": \"其它区\",\n\t    \"140500\": \"晋城市\",\n\t    \"140502\": \"城区\",\n\t    \"140521\": \"沁水县\",\n\t    \"140522\": \"阳城县\",\n\t    \"140524\": \"陵川县\",\n\t    \"140525\": \"泽州县\",\n\t    \"140581\": \"高平市\",\n\t    \"140582\": \"其它区\",\n\t    \"140600\": \"朔州市\",\n\t    \"140602\": \"朔城区\",\n\t    \"140603\": \"平鲁区\",\n\t    \"140621\": \"山阴县\",\n\t    \"140622\": \"应县\",\n\t    \"140623\": \"右玉县\",\n\t    \"140624\": \"怀仁县\",\n\t    \"140625\": \"其它区\",\n\t    \"140700\": \"晋中市\",\n\t    \"140702\": \"榆次区\",\n\t    \"140721\": \"榆社县\",\n\t    \"140722\": \"左权县\",\n\t    \"140723\": \"和顺县\",\n\t    \"140724\": \"昔阳县\",\n\t    \"140725\": \"寿阳县\",\n\t    \"140726\": \"太谷县\",\n\t    \"140727\": \"祁县\",\n\t    \"140728\": \"平遥县\",\n\t    \"140729\": \"灵石县\",\n\t    \"140781\": \"介休市\",\n\t    \"140782\": \"其它区\",\n\t    \"140800\": \"运城市\",\n\t    \"140802\": \"盐湖区\",\n\t    \"140821\": \"临猗县\",\n\t    \"140822\": \"万荣县\",\n\t    \"140823\": \"闻喜县\",\n\t    \"140824\": \"稷山县\",\n\t    \"140825\": \"新绛县\",\n\t    \"140826\": \"绛县\",\n\t    \"140827\": \"垣曲县\",\n\t    \"140828\": \"夏县\",\n\t    \"140829\": \"平陆县\",\n\t    \"140830\": \"芮城县\",\n\t    \"140881\": \"永济市\",\n\t    \"140882\": \"河津市\",\n\t    \"140883\": \"其它区\",\n\t    \"140900\": \"忻州市\",\n\t    \"140902\": \"忻府区\",\n\t    \"140921\": \"定襄县\",\n\t    \"140922\": \"五台县\",\n\t    \"140923\": \"代县\",\n\t    \"140924\": \"繁峙县\",\n\t    \"140925\": \"宁武县\",\n\t    \"140926\": \"静乐县\",\n\t    \"140927\": \"神池县\",\n\t    \"140928\": \"五寨县\",\n\t    \"140929\": \"岢岚县\",\n\t    \"140930\": \"河曲县\",\n\t    \"140931\": \"保德县\",\n\t    \"140932\": \"偏关县\",\n\t    \"140981\": \"原平市\",\n\t    \"140982\": \"其它区\",\n\t    \"141000\": \"临汾市\",\n\t    \"141002\": \"尧都区\",\n\t    \"141021\": \"曲沃县\",\n\t    \"141022\": \"翼城县\",\n\t    \"141023\": \"襄汾县\",\n\t    \"141024\": \"洪洞县\",\n\t    \"141025\": \"古县\",\n\t    \"141026\": \"安泽县\",\n\t    \"141027\": \"浮山县\",\n\t    \"141028\": \"吉县\",\n\t    \"141029\": \"乡宁县\",\n\t    \"141030\": \"大宁县\",\n\t    \"141031\": \"隰县\",\n\t    \"141032\": \"永和县\",\n\t    \"141033\": \"蒲县\",\n\t    \"141034\": \"汾西县\",\n\t    \"141081\": \"侯马市\",\n\t    \"141082\": \"霍州市\",\n\t    \"141083\": \"其它区\",\n\t    \"141100\": \"吕梁市\",\n\t    \"141102\": \"离石区\",\n\t    \"141121\": \"文水县\",\n\t    \"141122\": \"交城县\",\n\t    \"141123\": \"兴县\",\n\t    \"141124\": \"临县\",\n\t    \"141125\": \"柳林县\",\n\t    \"141126\": \"石楼县\",\n\t    \"141127\": \"岚县\",\n\t    \"141128\": \"方山县\",\n\t    \"141129\": \"中阳县\",\n\t    \"141130\": \"交口县\",\n\t    \"141181\": \"孝义市\",\n\t    \"141182\": \"汾阳市\",\n\t    \"141183\": \"其它区\",\n\t    \"150000\": \"内蒙古自治区\",\n\t    \"150100\": \"呼和浩特市\",\n\t    \"150102\": \"新城区\",\n\t    \"150103\": \"回民区\",\n\t    \"150104\": \"玉泉区\",\n\t    \"150105\": \"赛罕区\",\n\t    \"150121\": \"土默特左旗\",\n\t    \"150122\": \"托克托县\",\n\t    \"150123\": \"和林格尔县\",\n\t    \"150124\": \"清水河县\",\n\t    \"150125\": \"武川县\",\n\t    \"150126\": \"其它区\",\n\t    \"150200\": \"包头市\",\n\t    \"150202\": \"东河区\",\n\t    \"150203\": \"昆都仑区\",\n\t    \"150204\": \"青山区\",\n\t    \"150205\": \"石拐区\",\n\t    \"150206\": \"白云鄂博矿区\",\n\t    \"150207\": \"九原区\",\n\t    \"150221\": \"土默特右旗\",\n\t    \"150222\": \"固阳县\",\n\t    \"150223\": \"达尔罕茂明安联合旗\",\n\t    \"150224\": \"其它区\",\n\t    \"150300\": \"乌海市\",\n\t    \"150302\": \"海勃湾区\",\n\t    \"150303\": \"海南区\",\n\t    \"150304\": \"乌达区\",\n\t    \"150305\": \"其它区\",\n\t    \"150400\": \"赤峰市\",\n\t    \"150402\": \"红山区\",\n\t    \"150403\": \"元宝山区\",\n\t    \"150404\": \"松山区\",\n\t    \"150421\": \"阿鲁科尔沁旗\",\n\t    \"150422\": \"巴林左旗\",\n\t    \"150423\": \"巴林右旗\",\n\t    \"150424\": \"林西县\",\n\t    \"150425\": \"克什克腾旗\",\n\t    \"150426\": \"翁牛特旗\",\n\t    \"150428\": \"喀喇沁旗\",\n\t    \"150429\": \"宁城县\",\n\t    \"150430\": \"敖汉旗\",\n\t    \"150431\": \"其它区\",\n\t    \"150500\": \"通辽市\",\n\t    \"150502\": \"科尔沁区\",\n\t    \"150521\": \"科尔沁左翼中旗\",\n\t    \"150522\": \"科尔沁左翼后旗\",\n\t    \"150523\": \"开鲁县\",\n\t    \"150524\": \"库伦旗\",\n\t    \"150525\": \"奈曼旗\",\n\t    \"150526\": \"扎鲁特旗\",\n\t    \"150581\": \"霍林郭勒市\",\n\t    \"150582\": \"其它区\",\n\t    \"150600\": \"鄂尔多斯市\",\n\t    \"150602\": \"东胜区\",\n\t    \"150621\": \"达拉特旗\",\n\t    \"150622\": \"准格尔旗\",\n\t    \"150623\": \"鄂托克前旗\",\n\t    \"150624\": \"鄂托克旗\",\n\t    \"150625\": \"杭锦旗\",\n\t    \"150626\": \"乌审旗\",\n\t    \"150627\": \"伊金霍洛旗\",\n\t    \"150628\": \"其它区\",\n\t    \"150700\": \"呼伦贝尔市\",\n\t    \"150702\": \"海拉尔区\",\n\t    \"150703\": \"扎赉诺尔区\",\n\t    \"150721\": \"阿荣旗\",\n\t    \"150722\": \"莫力达瓦达斡尔族自治旗\",\n\t    \"150723\": \"鄂伦春自治旗\",\n\t    \"150724\": \"鄂温克族自治旗\",\n\t    \"150725\": \"陈巴尔虎旗\",\n\t    \"150726\": \"新巴尔虎左旗\",\n\t    \"150727\": \"新巴尔虎右旗\",\n\t    \"150781\": \"满洲里市\",\n\t    \"150782\": \"牙克石市\",\n\t    \"150783\": \"扎兰屯市\",\n\t    \"150784\": \"额尔古纳市\",\n\t    \"150785\": \"根河市\",\n\t    \"150786\": \"其它区\",\n\t    \"150800\": \"巴彦淖尔市\",\n\t    \"150802\": \"临河区\",\n\t    \"150821\": \"五原县\",\n\t    \"150822\": \"磴口县\",\n\t    \"150823\": \"乌拉特前旗\",\n\t    \"150824\": \"乌拉特中旗\",\n\t    \"150825\": \"乌拉特后旗\",\n\t    \"150826\": \"杭锦后旗\",\n\t    \"150827\": \"其它区\",\n\t    \"150900\": \"乌兰察布市\",\n\t    \"150902\": \"集宁区\",\n\t    \"150921\": \"卓资县\",\n\t    \"150922\": \"化德县\",\n\t    \"150923\": \"商都县\",\n\t    \"150924\": \"兴和县\",\n\t    \"150925\": \"凉城县\",\n\t    \"150926\": \"察哈尔右翼前旗\",\n\t    \"150927\": \"察哈尔右翼中旗\",\n\t    \"150928\": \"察哈尔右翼后旗\",\n\t    \"150929\": \"四子王旗\",\n\t    \"150981\": \"丰镇市\",\n\t    \"150982\": \"其它区\",\n\t    \"152200\": \"兴安盟\",\n\t    \"152201\": \"乌兰浩特市\",\n\t    \"152202\": \"阿尔山市\",\n\t    \"152221\": \"科尔沁右翼前旗\",\n\t    \"152222\": \"科尔沁右翼中旗\",\n\t    \"152223\": \"扎赉特旗\",\n\t    \"152224\": \"突泉县\",\n\t    \"152225\": \"其它区\",\n\t    \"152500\": \"锡林郭勒盟\",\n\t    \"152501\": \"二连浩特市\",\n\t    \"152502\": \"锡林浩特市\",\n\t    \"152522\": \"阿巴嘎旗\",\n\t    \"152523\": \"苏尼特左旗\",\n\t    \"152524\": \"苏尼特右旗\",\n\t    \"152525\": \"东乌珠穆沁旗\",\n\t    \"152526\": \"西乌珠穆沁旗\",\n\t    \"152527\": \"太仆寺旗\",\n\t    \"152528\": \"镶黄旗\",\n\t    \"152529\": \"正镶白旗\",\n\t    \"152530\": \"正蓝旗\",\n\t    \"152531\": \"多伦县\",\n\t    \"152532\": \"其它区\",\n\t    \"152900\": \"阿拉善盟\",\n\t    \"152921\": \"阿拉善左旗\",\n\t    \"152922\": \"阿拉善右旗\",\n\t    \"152923\": \"额济纳旗\",\n\t    \"152924\": \"其它区\",\n\t    \"210000\": \"辽宁省\",\n\t    \"210100\": \"沈阳市\",\n\t    \"210102\": \"和平区\",\n\t    \"210103\": \"沈河区\",\n\t    \"210104\": \"大东区\",\n\t    \"210105\": \"皇姑区\",\n\t    \"210106\": \"铁西区\",\n\t    \"210111\": \"苏家屯区\",\n\t    \"210112\": \"东陵区\",\n\t    \"210113\": \"新城子区\",\n\t    \"210114\": \"于洪区\",\n\t    \"210122\": \"辽中县\",\n\t    \"210123\": \"康平县\",\n\t    \"210124\": \"法库县\",\n\t    \"210181\": \"新民市\",\n\t    \"210184\": \"沈北新区\",\n\t    \"210185\": \"其它区\",\n\t    \"210200\": \"大连市\",\n\t    \"210202\": \"中山区\",\n\t    \"210203\": \"西岗区\",\n\t    \"210204\": \"沙河口区\",\n\t    \"210211\": \"甘井子区\",\n\t    \"210212\": \"旅顺口区\",\n\t    \"210213\": \"金州区\",\n\t    \"210224\": \"长海县\",\n\t    \"210281\": \"瓦房店市\",\n\t    \"210282\": \"普兰店市\",\n\t    \"210283\": \"庄河市\",\n\t    \"210298\": \"其它区\",\n\t    \"210300\": \"鞍山市\",\n\t    \"210302\": \"铁东区\",\n\t    \"210303\": \"铁西区\",\n\t    \"210304\": \"立山区\",\n\t    \"210311\": \"千山区\",\n\t    \"210321\": \"台安县\",\n\t    \"210323\": \"岫岩满族自治县\",\n\t    \"210381\": \"海城市\",\n\t    \"210382\": \"其它区\",\n\t    \"210400\": \"抚顺市\",\n\t    \"210402\": \"新抚区\",\n\t    \"210403\": \"东洲区\",\n\t    \"210404\": \"望花区\",\n\t    \"210411\": \"顺城区\",\n\t    \"210421\": \"抚顺县\",\n\t    \"210422\": \"新宾满族自治县\",\n\t    \"210423\": \"清原满族自治县\",\n\t    \"210424\": \"其它区\",\n\t    \"210500\": \"本溪市\",\n\t    \"210502\": \"平山区\",\n\t    \"210503\": \"溪湖区\",\n\t    \"210504\": \"明山区\",\n\t    \"210505\": \"南芬区\",\n\t    \"210521\": \"本溪满族自治县\",\n\t    \"210522\": \"桓仁满族自治县\",\n\t    \"210523\": \"其它区\",\n\t    \"210600\": \"丹东市\",\n\t    \"210602\": \"元宝区\",\n\t    \"210603\": \"振兴区\",\n\t    \"210604\": \"振安区\",\n\t    \"210624\": \"宽甸满族自治县\",\n\t    \"210681\": \"东港市\",\n\t    \"210682\": \"凤城市\",\n\t    \"210683\": \"其它区\",\n\t    \"210700\": \"锦州市\",\n\t    \"210702\": \"古塔区\",\n\t    \"210703\": \"凌河区\",\n\t    \"210711\": \"太和区\",\n\t    \"210726\": \"黑山县\",\n\t    \"210727\": \"义县\",\n\t    \"210781\": \"凌海市\",\n\t    \"210782\": \"北镇市\",\n\t    \"210783\": \"其它区\",\n\t    \"210800\": \"营口市\",\n\t    \"210802\": \"站前区\",\n\t    \"210803\": \"西市区\",\n\t    \"210804\": \"鲅鱼圈区\",\n\t    \"210811\": \"老边区\",\n\t    \"210881\": \"盖州市\",\n\t    \"210882\": \"大石桥市\",\n\t    \"210883\": \"其它区\",\n\t    \"210900\": \"阜新市\",\n\t    \"210902\": \"海州区\",\n\t    \"210903\": \"新邱区\",\n\t    \"210904\": \"太平区\",\n\t    \"210905\": \"清河门区\",\n\t    \"210911\": \"细河区\",\n\t    \"210921\": \"阜新蒙古族自治县\",\n\t    \"210922\": \"彰武县\",\n\t    \"210923\": \"其它区\",\n\t    \"211000\": \"辽阳市\",\n\t    \"211002\": \"白塔区\",\n\t    \"211003\": \"文圣区\",\n\t    \"211004\": \"宏伟区\",\n\t    \"211005\": \"弓长岭区\",\n\t    \"211011\": \"太子河区\",\n\t    \"211021\": \"辽阳县\",\n\t    \"211081\": \"灯塔市\",\n\t    \"211082\": \"其它区\",\n\t    \"211100\": \"盘锦市\",\n\t    \"211102\": \"双台子区\",\n\t    \"211103\": \"兴隆台区\",\n\t    \"211121\": \"大洼县\",\n\t    \"211122\": \"盘山县\",\n\t    \"211123\": \"其它区\",\n\t    \"211200\": \"铁岭市\",\n\t    \"211202\": \"银州区\",\n\t    \"211204\": \"清河区\",\n\t    \"211221\": \"铁岭县\",\n\t    \"211223\": \"西丰县\",\n\t    \"211224\": \"昌图县\",\n\t    \"211281\": \"调兵山市\",\n\t    \"211282\": \"开原市\",\n\t    \"211283\": \"其它区\",\n\t    \"211300\": \"朝阳市\",\n\t    \"211302\": \"双塔区\",\n\t    \"211303\": \"龙城区\",\n\t    \"211321\": \"朝阳县\",\n\t    \"211322\": \"建平县\",\n\t    \"211324\": \"喀喇沁左翼蒙古族自治县\",\n\t    \"211381\": \"北票市\",\n\t    \"211382\": \"凌源市\",\n\t    \"211383\": \"其它区\",\n\t    \"211400\": \"葫芦岛市\",\n\t    \"211402\": \"连山区\",\n\t    \"211403\": \"龙港区\",\n\t    \"211404\": \"南票区\",\n\t    \"211421\": \"绥中县\",\n\t    \"211422\": \"建昌县\",\n\t    \"211481\": \"兴城市\",\n\t    \"211482\": \"其它区\",\n\t    \"220000\": \"吉林省\",\n\t    \"220100\": \"长春市\",\n\t    \"220102\": \"南关区\",\n\t    \"220103\": \"宽城区\",\n\t    \"220104\": \"朝阳区\",\n\t    \"220105\": \"二道区\",\n\t    \"220106\": \"绿园区\",\n\t    \"220112\": \"双阳区\",\n\t    \"220122\": \"农安县\",\n\t    \"220181\": \"九台市\",\n\t    \"220182\": \"榆树市\",\n\t    \"220183\": \"德惠市\",\n\t    \"220188\": \"其它区\",\n\t    \"220200\": \"吉林市\",\n\t    \"220202\": \"昌邑区\",\n\t    \"220203\": \"龙潭区\",\n\t    \"220204\": \"船营区\",\n\t    \"220211\": \"丰满区\",\n\t    \"220221\": \"永吉县\",\n\t    \"220281\": \"蛟河市\",\n\t    \"220282\": \"桦甸市\",\n\t    \"220283\": \"舒兰市\",\n\t    \"220284\": \"磐石市\",\n\t    \"220285\": \"其它区\",\n\t    \"220300\": \"四平市\",\n\t    \"220302\": \"铁西区\",\n\t    \"220303\": \"铁东区\",\n\t    \"220322\": \"梨树县\",\n\t    \"220323\": \"伊通满族自治县\",\n\t    \"220381\": \"公主岭市\",\n\t    \"220382\": \"双辽市\",\n\t    \"220383\": \"其它区\",\n\t    \"220400\": \"辽源市\",\n\t    \"220402\": \"龙山区\",\n\t    \"220403\": \"西安区\",\n\t    \"220421\": \"东丰县\",\n\t    \"220422\": \"东辽县\",\n\t    \"220423\": \"其它区\",\n\t    \"220500\": \"通化市\",\n\t    \"220502\": \"东昌区\",\n\t    \"220503\": \"二道江区\",\n\t    \"220521\": \"通化县\",\n\t    \"220523\": \"辉南县\",\n\t    \"220524\": \"柳河县\",\n\t    \"220581\": \"梅河口市\",\n\t    \"220582\": \"集安市\",\n\t    \"220583\": \"其它区\",\n\t    \"220600\": \"白山市\",\n\t    \"220602\": \"浑江区\",\n\t    \"220621\": \"抚松县\",\n\t    \"220622\": \"靖宇县\",\n\t    \"220623\": \"长白朝鲜族自治县\",\n\t    \"220625\": \"江源区\",\n\t    \"220681\": \"临江市\",\n\t    \"220682\": \"其它区\",\n\t    \"220700\": \"松原市\",\n\t    \"220702\": \"宁江区\",\n\t    \"220721\": \"前郭尔罗斯蒙古族自治县\",\n\t    \"220722\": \"长岭县\",\n\t    \"220723\": \"乾安县\",\n\t    \"220724\": \"扶余市\",\n\t    \"220725\": \"其它区\",\n\t    \"220800\": \"白城市\",\n\t    \"220802\": \"洮北区\",\n\t    \"220821\": \"镇赉县\",\n\t    \"220822\": \"通榆县\",\n\t    \"220881\": \"洮南市\",\n\t    \"220882\": \"大安市\",\n\t    \"220883\": \"其它区\",\n\t    \"222400\": \"延边朝鲜族自治州\",\n\t    \"222401\": \"延吉市\",\n\t    \"222402\": \"图们市\",\n\t    \"222403\": \"敦化市\",\n\t    \"222404\": \"珲春市\",\n\t    \"222405\": \"龙井市\",\n\t    \"222406\": \"和龙市\",\n\t    \"222424\": \"汪清县\",\n\t    \"222426\": \"安图县\",\n\t    \"222427\": \"其它区\",\n\t    \"230000\": \"黑龙江省\",\n\t    \"230100\": \"哈尔滨市\",\n\t    \"230102\": \"道里区\",\n\t    \"230103\": \"南岗区\",\n\t    \"230104\": \"道外区\",\n\t    \"230106\": \"香坊区\",\n\t    \"230108\": \"平房区\",\n\t    \"230109\": \"松北区\",\n\t    \"230111\": \"呼兰区\",\n\t    \"230123\": \"依兰县\",\n\t    \"230124\": \"方正县\",\n\t    \"230125\": \"宾县\",\n\t    \"230126\": \"巴彦县\",\n\t    \"230127\": \"木兰县\",\n\t    \"230128\": \"通河县\",\n\t    \"230129\": \"延寿县\",\n\t    \"230181\": \"阿城区\",\n\t    \"230182\": \"双城市\",\n\t    \"230183\": \"尚志市\",\n\t    \"230184\": \"五常市\",\n\t    \"230186\": \"其它区\",\n\t    \"230200\": \"齐齐哈尔市\",\n\t    \"230202\": \"龙沙区\",\n\t    \"230203\": \"建华区\",\n\t    \"230204\": \"铁锋区\",\n\t    \"230205\": \"昂昂溪区\",\n\t    \"230206\": \"富拉尔基区\",\n\t    \"230207\": \"碾子山区\",\n\t    \"230208\": \"梅里斯达斡尔族区\",\n\t    \"230221\": \"龙江县\",\n\t    \"230223\": \"依安县\",\n\t    \"230224\": \"泰来县\",\n\t    \"230225\": \"甘南县\",\n\t    \"230227\": \"富裕县\",\n\t    \"230229\": \"克山县\",\n\t    \"230230\": \"克东县\",\n\t    \"230231\": \"拜泉县\",\n\t    \"230281\": \"讷河市\",\n\t    \"230282\": \"其它区\",\n\t    \"230300\": \"鸡西市\",\n\t    \"230302\": \"鸡冠区\",\n\t    \"230303\": \"恒山区\",\n\t    \"230304\": \"滴道区\",\n\t    \"230305\": \"梨树区\",\n\t    \"230306\": \"城子河区\",\n\t    \"230307\": \"麻山区\",\n\t    \"230321\": \"鸡东县\",\n\t    \"230381\": \"虎林市\",\n\t    \"230382\": \"密山市\",\n\t    \"230383\": \"其它区\",\n\t    \"230400\": \"鹤岗市\",\n\t    \"230402\": \"向阳区\",\n\t    \"230403\": \"工农区\",\n\t    \"230404\": \"南山区\",\n\t    \"230405\": \"兴安区\",\n\t    \"230406\": \"东山区\",\n\t    \"230407\": \"兴山区\",\n\t    \"230421\": \"萝北县\",\n\t    \"230422\": \"绥滨县\",\n\t    \"230423\": \"其它区\",\n\t    \"230500\": \"双鸭山市\",\n\t    \"230502\": \"尖山区\",\n\t    \"230503\": \"岭东区\",\n\t    \"230505\": \"四方台区\",\n\t    \"230506\": \"宝山区\",\n\t    \"230521\": \"集贤县\",\n\t    \"230522\": \"友谊县\",\n\t    \"230523\": \"宝清县\",\n\t    \"230524\": \"饶河县\",\n\t    \"230525\": \"其它区\",\n\t    \"230600\": \"大庆市\",\n\t    \"230602\": \"萨尔图区\",\n\t    \"230603\": \"龙凤区\",\n\t    \"230604\": \"让胡路区\",\n\t    \"230605\": \"红岗区\",\n\t    \"230606\": \"大同区\",\n\t    \"230621\": \"肇州县\",\n\t    \"230622\": \"肇源县\",\n\t    \"230623\": \"林甸县\",\n\t    \"230624\": \"杜尔伯特蒙古族自治县\",\n\t    \"230625\": \"其它区\",\n\t    \"230700\": \"伊春市\",\n\t    \"230702\": \"伊春区\",\n\t    \"230703\": \"南岔区\",\n\t    \"230704\": \"友好区\",\n\t    \"230705\": \"西林区\",\n\t    \"230706\": \"翠峦区\",\n\t    \"230707\": \"新青区\",\n\t    \"230708\": \"美溪区\",\n\t    \"230709\": \"金山屯区\",\n\t    \"230710\": \"五营区\",\n\t    \"230711\": \"乌马河区\",\n\t    \"230712\": \"汤旺河区\",\n\t    \"230713\": \"带岭区\",\n\t    \"230714\": \"乌伊岭区\",\n\t    \"230715\": \"红星区\",\n\t    \"230716\": \"上甘岭区\",\n\t    \"230722\": \"嘉荫县\",\n\t    \"230781\": \"铁力市\",\n\t    \"230782\": \"其它区\",\n\t    \"230800\": \"佳木斯市\",\n\t    \"230803\": \"向阳区\",\n\t    \"230804\": \"前进区\",\n\t    \"230805\": \"东风区\",\n\t    \"230811\": \"郊区\",\n\t    \"230822\": \"桦南县\",\n\t    \"230826\": \"桦川县\",\n\t    \"230828\": \"汤原县\",\n\t    \"230833\": \"抚远县\",\n\t    \"230881\": \"同江市\",\n\t    \"230882\": \"富锦市\",\n\t    \"230883\": \"其它区\",\n\t    \"230900\": \"七台河市\",\n\t    \"230902\": \"新兴区\",\n\t    \"230903\": \"桃山区\",\n\t    \"230904\": \"茄子河区\",\n\t    \"230921\": \"勃利县\",\n\t    \"230922\": \"其它区\",\n\t    \"231000\": \"牡丹江市\",\n\t    \"231002\": \"东安区\",\n\t    \"231003\": \"阳明区\",\n\t    \"231004\": \"爱民区\",\n\t    \"231005\": \"西安区\",\n\t    \"231024\": \"东宁县\",\n\t    \"231025\": \"林口县\",\n\t    \"231081\": \"绥芬河市\",\n\t    \"231083\": \"海林市\",\n\t    \"231084\": \"宁安市\",\n\t    \"231085\": \"穆棱市\",\n\t    \"231086\": \"其它区\",\n\t    \"231100\": \"黑河市\",\n\t    \"231102\": \"爱辉区\",\n\t    \"231121\": \"嫩江县\",\n\t    \"231123\": \"逊克县\",\n\t    \"231124\": \"孙吴县\",\n\t    \"231181\": \"北安市\",\n\t    \"231182\": \"五大连池市\",\n\t    \"231183\": \"其它区\",\n\t    \"231200\": \"绥化市\",\n\t    \"231202\": \"北林区\",\n\t    \"231221\": \"望奎县\",\n\t    \"231222\": \"兰西县\",\n\t    \"231223\": \"青冈县\",\n\t    \"231224\": \"庆安县\",\n\t    \"231225\": \"明水县\",\n\t    \"231226\": \"绥棱县\",\n\t    \"231281\": \"安达市\",\n\t    \"231282\": \"肇东市\",\n\t    \"231283\": \"海伦市\",\n\t    \"231284\": \"其它区\",\n\t    \"232700\": \"大兴安岭地区\",\n\t    \"232702\": \"松岭区\",\n\t    \"232703\": \"新林区\",\n\t    \"232704\": \"呼中区\",\n\t    \"232721\": \"呼玛县\",\n\t    \"232722\": \"塔河县\",\n\t    \"232723\": \"漠河县\",\n\t    \"232724\": \"加格达奇区\",\n\t    \"232725\": \"其它区\",\n\t    \"310000\": \"上海\",\n\t    \"310100\": \"上海市\",\n\t    \"310101\": \"黄浦区\",\n\t    \"310104\": \"徐汇区\",\n\t    \"310105\": \"长宁区\",\n\t    \"310106\": \"静安区\",\n\t    \"310107\": \"普陀区\",\n\t    \"310108\": \"闸北区\",\n\t    \"310109\": \"虹口区\",\n\t    \"310110\": \"杨浦区\",\n\t    \"310112\": \"闵行区\",\n\t    \"310113\": \"宝山区\",\n\t    \"310114\": \"嘉定区\",\n\t    \"310115\": \"浦东新区\",\n\t    \"310116\": \"金山区\",\n\t    \"310117\": \"松江区\",\n\t    \"310118\": \"青浦区\",\n\t    \"310120\": \"奉贤区\",\n\t    \"310230\": \"崇明县\",\n\t    \"310231\": \"其它区\",\n\t    \"320000\": \"江苏省\",\n\t    \"320100\": \"南京市\",\n\t    \"320102\": \"玄武区\",\n\t    \"320104\": \"秦淮区\",\n\t    \"320105\": \"建邺区\",\n\t    \"320106\": \"鼓楼区\",\n\t    \"320111\": \"浦口区\",\n\t    \"320113\": \"栖霞区\",\n\t    \"320114\": \"雨花台区\",\n\t    \"320115\": \"江宁区\",\n\t    \"320116\": \"六合区\",\n\t    \"320124\": \"溧水区\",\n\t    \"320125\": \"高淳区\",\n\t    \"320126\": \"其它区\",\n\t    \"320200\": \"无锡市\",\n\t    \"320202\": \"崇安区\",\n\t    \"320203\": \"南长区\",\n\t    \"320204\": \"北塘区\",\n\t    \"320205\": \"锡山区\",\n\t    \"320206\": \"惠山区\",\n\t    \"320211\": \"滨湖区\",\n\t    \"320281\": \"江阴市\",\n\t    \"320282\": \"宜兴市\",\n\t    \"320297\": \"其它区\",\n\t    \"320300\": \"徐州市\",\n\t    \"320302\": \"鼓楼区\",\n\t    \"320303\": \"云龙区\",\n\t    \"320305\": \"贾汪区\",\n\t    \"320311\": \"泉山区\",\n\t    \"320321\": \"丰县\",\n\t    \"320322\": \"沛县\",\n\t    \"320323\": \"铜山区\",\n\t    \"320324\": \"睢宁县\",\n\t    \"320381\": \"新沂市\",\n\t    \"320382\": \"邳州市\",\n\t    \"320383\": \"其它区\",\n\t    \"320400\": \"常州市\",\n\t    \"320402\": \"天宁区\",\n\t    \"320404\": \"钟楼区\",\n\t    \"320405\": \"戚墅堰区\",\n\t    \"320411\": \"新北区\",\n\t    \"320412\": \"武进区\",\n\t    \"320481\": \"溧阳市\",\n\t    \"320482\": \"金坛市\",\n\t    \"320483\": \"其它区\",\n\t    \"320500\": \"苏州市\",\n\t    \"320505\": \"虎丘区\",\n\t    \"320506\": \"吴中区\",\n\t    \"320507\": \"相城区\",\n\t    \"320508\": \"姑苏区\",\n\t    \"320581\": \"常熟市\",\n\t    \"320582\": \"张家港市\",\n\t    \"320583\": \"昆山市\",\n\t    \"320584\": \"吴江区\",\n\t    \"320585\": \"太仓市\",\n\t    \"320596\": \"其它区\",\n\t    \"320600\": \"南通市\",\n\t    \"320602\": \"崇川区\",\n\t    \"320611\": \"港闸区\",\n\t    \"320612\": \"通州区\",\n\t    \"320621\": \"海安县\",\n\t    \"320623\": \"如东县\",\n\t    \"320681\": \"启东市\",\n\t    \"320682\": \"如皋市\",\n\t    \"320684\": \"海门市\",\n\t    \"320694\": \"其它区\",\n\t    \"320700\": \"连云港市\",\n\t    \"320703\": \"连云区\",\n\t    \"320705\": \"新浦区\",\n\t    \"320706\": \"海州区\",\n\t    \"320721\": \"赣榆县\",\n\t    \"320722\": \"东海县\",\n\t    \"320723\": \"灌云县\",\n\t    \"320724\": \"灌南县\",\n\t    \"320725\": \"其它区\",\n\t    \"320800\": \"淮安市\",\n\t    \"320802\": \"清河区\",\n\t    \"320803\": \"淮安区\",\n\t    \"320804\": \"淮阴区\",\n\t    \"320811\": \"清浦区\",\n\t    \"320826\": \"涟水县\",\n\t    \"320829\": \"洪泽县\",\n\t    \"320830\": \"盱眙县\",\n\t    \"320831\": \"金湖县\",\n\t    \"320832\": \"其它区\",\n\t    \"320900\": \"盐城市\",\n\t    \"320902\": \"亭湖区\",\n\t    \"320903\": \"盐都区\",\n\t    \"320921\": \"响水县\",\n\t    \"320922\": \"滨海县\",\n\t    \"320923\": \"阜宁县\",\n\t    \"320924\": \"射阳县\",\n\t    \"320925\": \"建湖县\",\n\t    \"320981\": \"东台市\",\n\t    \"320982\": \"大丰市\",\n\t    \"320983\": \"其它区\",\n\t    \"321000\": \"扬州市\",\n\t    \"321002\": \"广陵区\",\n\t    \"321003\": \"邗江区\",\n\t    \"321023\": \"宝应县\",\n\t    \"321081\": \"仪征市\",\n\t    \"321084\": \"高邮市\",\n\t    \"321088\": \"江都区\",\n\t    \"321093\": \"其它区\",\n\t    \"321100\": \"镇江市\",\n\t    \"321102\": \"京口区\",\n\t    \"321111\": \"润州区\",\n\t    \"321112\": \"丹徒区\",\n\t    \"321181\": \"丹阳市\",\n\t    \"321182\": \"扬中市\",\n\t    \"321183\": \"句容市\",\n\t    \"321184\": \"其它区\",\n\t    \"321200\": \"泰州市\",\n\t    \"321202\": \"海陵区\",\n\t    \"321203\": \"高港区\",\n\t    \"321281\": \"兴化市\",\n\t    \"321282\": \"靖江市\",\n\t    \"321283\": \"泰兴市\",\n\t    \"321284\": \"姜堰区\",\n\t    \"321285\": \"其它区\",\n\t    \"321300\": \"宿迁市\",\n\t    \"321302\": \"宿城区\",\n\t    \"321311\": \"宿豫区\",\n\t    \"321322\": \"沭阳县\",\n\t    \"321323\": \"泗阳县\",\n\t    \"321324\": \"泗洪县\",\n\t    \"321325\": \"其它区\",\n\t    \"330000\": \"浙江省\",\n\t    \"330100\": \"杭州市\",\n\t    \"330102\": \"上城区\",\n\t    \"330103\": \"下城区\",\n\t    \"330104\": \"江干区\",\n\t    \"330105\": \"拱墅区\",\n\t    \"330106\": \"西湖区\",\n\t    \"330108\": \"滨江区\",\n\t    \"330109\": \"萧山区\",\n\t    \"330110\": \"余杭区\",\n\t    \"330122\": \"桐庐县\",\n\t    \"330127\": \"淳安县\",\n\t    \"330182\": \"建德市\",\n\t    \"330183\": \"富阳市\",\n\t    \"330185\": \"临安市\",\n\t    \"330186\": \"其它区\",\n\t    \"330200\": \"宁波市\",\n\t    \"330203\": \"海曙区\",\n\t    \"330204\": \"江东区\",\n\t    \"330205\": \"江北区\",\n\t    \"330206\": \"北仑区\",\n\t    \"330211\": \"镇海区\",\n\t    \"330212\": \"鄞州区\",\n\t    \"330225\": \"象山县\",\n\t    \"330226\": \"宁海县\",\n\t    \"330281\": \"余姚市\",\n\t    \"330282\": \"慈溪市\",\n\t    \"330283\": \"奉化市\",\n\t    \"330284\": \"其它区\",\n\t    \"330300\": \"温州市\",\n\t    \"330302\": \"鹿城区\",\n\t    \"330303\": \"龙湾区\",\n\t    \"330304\": \"瓯海区\",\n\t    \"330322\": \"洞头县\",\n\t    \"330324\": \"永嘉县\",\n\t    \"330326\": \"平阳县\",\n\t    \"330327\": \"苍南县\",\n\t    \"330328\": \"文成县\",\n\t    \"330329\": \"泰顺县\",\n\t    \"330381\": \"瑞安市\",\n\t    \"330382\": \"乐清市\",\n\t    \"330383\": \"其它区\",\n\t    \"330400\": \"嘉兴市\",\n\t    \"330402\": \"南湖区\",\n\t    \"330411\": \"秀洲区\",\n\t    \"330421\": \"嘉善县\",\n\t    \"330424\": \"海盐县\",\n\t    \"330481\": \"海宁市\",\n\t    \"330482\": \"平湖市\",\n\t    \"330483\": \"桐乡市\",\n\t    \"330484\": \"其它区\",\n\t    \"330500\": \"湖州市\",\n\t    \"330502\": \"吴兴区\",\n\t    \"330503\": \"南浔区\",\n\t    \"330521\": \"德清县\",\n\t    \"330522\": \"长兴县\",\n\t    \"330523\": \"安吉县\",\n\t    \"330524\": \"其它区\",\n\t    \"330600\": \"绍兴市\",\n\t    \"330602\": \"越城区\",\n\t    \"330621\": \"绍兴县\",\n\t    \"330624\": \"新昌县\",\n\t    \"330681\": \"诸暨市\",\n\t    \"330682\": \"上虞市\",\n\t    \"330683\": \"嵊州市\",\n\t    \"330684\": \"其它区\",\n\t    \"330700\": \"金华市\",\n\t    \"330702\": \"婺城区\",\n\t    \"330703\": \"金东区\",\n\t    \"330723\": \"武义县\",\n\t    \"330726\": \"浦江县\",\n\t    \"330727\": \"磐安县\",\n\t    \"330781\": \"兰溪市\",\n\t    \"330782\": \"义乌市\",\n\t    \"330783\": \"东阳市\",\n\t    \"330784\": \"永康市\",\n\t    \"330785\": \"其它区\",\n\t    \"330800\": \"衢州市\",\n\t    \"330802\": \"柯城区\",\n\t    \"330803\": \"衢江区\",\n\t    \"330822\": \"常山县\",\n\t    \"330824\": \"开化县\",\n\t    \"330825\": \"龙游县\",\n\t    \"330881\": \"江山市\",\n\t    \"330882\": \"其它区\",\n\t    \"330900\": \"舟山市\",\n\t    \"330902\": \"定海区\",\n\t    \"330903\": \"普陀区\",\n\t    \"330921\": \"岱山县\",\n\t    \"330922\": \"嵊泗县\",\n\t    \"330923\": \"其它区\",\n\t    \"331000\": \"台州市\",\n\t    \"331002\": \"椒江区\",\n\t    \"331003\": \"黄岩区\",\n\t    \"331004\": \"路桥区\",\n\t    \"331021\": \"玉环县\",\n\t    \"331022\": \"三门县\",\n\t    \"331023\": \"天台县\",\n\t    \"331024\": \"仙居县\",\n\t    \"331081\": \"温岭市\",\n\t    \"331082\": \"临海市\",\n\t    \"331083\": \"其它区\",\n\t    \"331100\": \"丽水市\",\n\t    \"331102\": \"莲都区\",\n\t    \"331121\": \"青田县\",\n\t    \"331122\": \"缙云县\",\n\t    \"331123\": \"遂昌县\",\n\t    \"331124\": \"松阳县\",\n\t    \"331125\": \"云和县\",\n\t    \"331126\": \"庆元县\",\n\t    \"331127\": \"景宁畲族自治县\",\n\t    \"331181\": \"龙泉市\",\n\t    \"331182\": \"其它区\",\n\t    \"340000\": \"安徽省\",\n\t    \"340100\": \"合肥市\",\n\t    \"340102\": \"瑶海区\",\n\t    \"340103\": \"庐阳区\",\n\t    \"340104\": \"蜀山区\",\n\t    \"340111\": \"包河区\",\n\t    \"340121\": \"长丰县\",\n\t    \"340122\": \"肥东县\",\n\t    \"340123\": \"肥西县\",\n\t    \"340192\": \"其它区\",\n\t    \"340200\": \"芜湖市\",\n\t    \"340202\": \"镜湖区\",\n\t    \"340203\": \"弋江区\",\n\t    \"340207\": \"鸠江区\",\n\t    \"340208\": \"三山区\",\n\t    \"340221\": \"芜湖县\",\n\t    \"340222\": \"繁昌县\",\n\t    \"340223\": \"南陵县\",\n\t    \"340224\": \"其它区\",\n\t    \"340300\": \"蚌埠市\",\n\t    \"340302\": \"龙子湖区\",\n\t    \"340303\": \"蚌山区\",\n\t    \"340304\": \"禹会区\",\n\t    \"340311\": \"淮上区\",\n\t    \"340321\": \"怀远县\",\n\t    \"340322\": \"五河县\",\n\t    \"340323\": \"固镇县\",\n\t    \"340324\": \"其它区\",\n\t    \"340400\": \"淮南市\",\n\t    \"340402\": \"大通区\",\n\t    \"340403\": \"田家庵区\",\n\t    \"340404\": \"谢家集区\",\n\t    \"340405\": \"八公山区\",\n\t    \"340406\": \"潘集区\",\n\t    \"340421\": \"凤台县\",\n\t    \"340422\": \"其它区\",\n\t    \"340500\": \"马鞍山市\",\n\t    \"340503\": \"花山区\",\n\t    \"340504\": \"雨山区\",\n\t    \"340506\": \"博望区\",\n\t    \"340521\": \"当涂县\",\n\t    \"340522\": \"其它区\",\n\t    \"340600\": \"淮北市\",\n\t    \"340602\": \"杜集区\",\n\t    \"340603\": \"相山区\",\n\t    \"340604\": \"烈山区\",\n\t    \"340621\": \"濉溪县\",\n\t    \"340622\": \"其它区\",\n\t    \"340700\": \"铜陵市\",\n\t    \"340702\": \"铜官山区\",\n\t    \"340703\": \"狮子山区\",\n\t    \"340711\": \"郊区\",\n\t    \"340721\": \"铜陵县\",\n\t    \"340722\": \"其它区\",\n\t    \"340800\": \"安庆市\",\n\t    \"340802\": \"迎江区\",\n\t    \"340803\": \"大观区\",\n\t    \"340811\": \"宜秀区\",\n\t    \"340822\": \"怀宁县\",\n\t    \"340823\": \"枞阳县\",\n\t    \"340824\": \"潜山县\",\n\t    \"340825\": \"太湖县\",\n\t    \"340826\": \"宿松县\",\n\t    \"340827\": \"望江县\",\n\t    \"340828\": \"岳西县\",\n\t    \"340881\": \"桐城市\",\n\t    \"340882\": \"其它区\",\n\t    \"341000\": \"黄山市\",\n\t    \"341002\": \"屯溪区\",\n\t    \"341003\": \"黄山区\",\n\t    \"341004\": \"徽州区\",\n\t    \"341021\": \"歙县\",\n\t    \"341022\": \"休宁县\",\n\t    \"341023\": \"黟县\",\n\t    \"341024\": \"祁门县\",\n\t    \"341025\": \"其它区\",\n\t    \"341100\": \"滁州市\",\n\t    \"341102\": \"琅琊区\",\n\t    \"341103\": \"南谯区\",\n\t    \"341122\": \"来安县\",\n\t    \"341124\": \"全椒县\",\n\t    \"341125\": \"定远县\",\n\t    \"341126\": \"凤阳县\",\n\t    \"341181\": \"天长市\",\n\t    \"341182\": \"明光市\",\n\t    \"341183\": \"其它区\",\n\t    \"341200\": \"阜阳市\",\n\t    \"341202\": \"颍州区\",\n\t    \"341203\": \"颍东区\",\n\t    \"341204\": \"颍泉区\",\n\t    \"341221\": \"临泉县\",\n\t    \"341222\": \"太和县\",\n\t    \"341225\": \"阜南县\",\n\t    \"341226\": \"颍上县\",\n\t    \"341282\": \"界首市\",\n\t    \"341283\": \"其它区\",\n\t    \"341300\": \"宿州市\",\n\t    \"341302\": \"埇桥区\",\n\t    \"341321\": \"砀山县\",\n\t    \"341322\": \"萧县\",\n\t    \"341323\": \"灵璧县\",\n\t    \"341324\": \"泗县\",\n\t    \"341325\": \"其它区\",\n\t    \"341400\": \"巢湖市\",\n\t    \"341421\": \"庐江县\",\n\t    \"341422\": \"无为县\",\n\t    \"341423\": \"含山县\",\n\t    \"341424\": \"和县\",\n\t    \"341500\": \"六安市\",\n\t    \"341502\": \"金安区\",\n\t    \"341503\": \"裕安区\",\n\t    \"341521\": \"寿县\",\n\t    \"341522\": \"霍邱县\",\n\t    \"341523\": \"舒城县\",\n\t    \"341524\": \"金寨县\",\n\t    \"341525\": \"霍山县\",\n\t    \"341526\": \"其它区\",\n\t    \"341600\": \"亳州市\",\n\t    \"341602\": \"谯城区\",\n\t    \"341621\": \"涡阳县\",\n\t    \"341622\": \"蒙城县\",\n\t    \"341623\": \"利辛县\",\n\t    \"341624\": \"其它区\",\n\t    \"341700\": \"池州市\",\n\t    \"341702\": \"贵池区\",\n\t    \"341721\": \"东至县\",\n\t    \"341722\": \"石台县\",\n\t    \"341723\": \"青阳县\",\n\t    \"341724\": \"其它区\",\n\t    \"341800\": \"宣城市\",\n\t    \"341802\": \"宣州区\",\n\t    \"341821\": \"郎溪县\",\n\t    \"341822\": \"广德县\",\n\t    \"341823\": \"泾县\",\n\t    \"341824\": \"绩溪县\",\n\t    \"341825\": \"旌德县\",\n\t    \"341881\": \"宁国市\",\n\t    \"341882\": \"其它区\",\n\t    \"350000\": \"福建省\",\n\t    \"350100\": \"福州市\",\n\t    \"350102\": \"鼓楼区\",\n\t    \"350103\": \"台江区\",\n\t    \"350104\": \"仓山区\",\n\t    \"350105\": \"马尾区\",\n\t    \"350111\": \"晋安区\",\n\t    \"350121\": \"闽侯县\",\n\t    \"350122\": \"连江县\",\n\t    \"350123\": \"罗源县\",\n\t    \"350124\": \"闽清县\",\n\t    \"350125\": \"永泰县\",\n\t    \"350128\": \"平潭县\",\n\t    \"350181\": \"福清市\",\n\t    \"350182\": \"长乐市\",\n\t    \"350183\": \"其它区\",\n\t    \"350200\": \"厦门市\",\n\t    \"350203\": \"思明区\",\n\t    \"350205\": \"海沧区\",\n\t    \"350206\": \"湖里区\",\n\t    \"350211\": \"集美区\",\n\t    \"350212\": \"同安区\",\n\t    \"350213\": \"翔安区\",\n\t    \"350214\": \"其它区\",\n\t    \"350300\": \"莆田市\",\n\t    \"350302\": \"城厢区\",\n\t    \"350303\": \"涵江区\",\n\t    \"350304\": \"荔城区\",\n\t    \"350305\": \"秀屿区\",\n\t    \"350322\": \"仙游县\",\n\t    \"350323\": \"其它区\",\n\t    \"350400\": \"三明市\",\n\t    \"350402\": \"梅列区\",\n\t    \"350403\": \"三元区\",\n\t    \"350421\": \"明溪县\",\n\t    \"350423\": \"清流县\",\n\t    \"350424\": \"宁化县\",\n\t    \"350425\": \"大田县\",\n\t    \"350426\": \"尤溪县\",\n\t    \"350427\": \"沙县\",\n\t    \"350428\": \"将乐县\",\n\t    \"350429\": \"泰宁县\",\n\t    \"350430\": \"建宁县\",\n\t    \"350481\": \"永安市\",\n\t    \"350482\": \"其它区\",\n\t    \"350500\": \"泉州市\",\n\t    \"350502\": \"鲤城区\",\n\t    \"350503\": \"丰泽区\",\n\t    \"350504\": \"洛江区\",\n\t    \"350505\": \"泉港区\",\n\t    \"350521\": \"惠安县\",\n\t    \"350524\": \"安溪县\",\n\t    \"350525\": \"永春县\",\n\t    \"350526\": \"德化县\",\n\t    \"350527\": \"金门县\",\n\t    \"350581\": \"石狮市\",\n\t    \"350582\": \"晋江市\",\n\t    \"350583\": \"南安市\",\n\t    \"350584\": \"其它区\",\n\t    \"350600\": \"漳州市\",\n\t    \"350602\": \"芗城区\",\n\t    \"350603\": \"龙文区\",\n\t    \"350622\": \"云霄县\",\n\t    \"350623\": \"漳浦县\",\n\t    \"350624\": \"诏安县\",\n\t    \"350625\": \"长泰县\",\n\t    \"350626\": \"东山县\",\n\t    \"350627\": \"南靖县\",\n\t    \"350628\": \"平和县\",\n\t    \"350629\": \"华安县\",\n\t    \"350681\": \"龙海市\",\n\t    \"350682\": \"其它区\",\n\t    \"350700\": \"南平市\",\n\t    \"350702\": \"延平区\",\n\t    \"350721\": \"顺昌县\",\n\t    \"350722\": \"浦城县\",\n\t    \"350723\": \"光泽县\",\n\t    \"350724\": \"松溪县\",\n\t    \"350725\": \"政和县\",\n\t    \"350781\": \"邵武市\",\n\t    \"350782\": \"武夷山市\",\n\t    \"350783\": \"建瓯市\",\n\t    \"350784\": \"建阳市\",\n\t    \"350785\": \"其它区\",\n\t    \"350800\": \"龙岩市\",\n\t    \"350802\": \"新罗区\",\n\t    \"350821\": \"长汀县\",\n\t    \"350822\": \"永定县\",\n\t    \"350823\": \"上杭县\",\n\t    \"350824\": \"武平县\",\n\t    \"350825\": \"连城县\",\n\t    \"350881\": \"漳平市\",\n\t    \"350882\": \"其它区\",\n\t    \"350900\": \"宁德市\",\n\t    \"350902\": \"蕉城区\",\n\t    \"350921\": \"霞浦县\",\n\t    \"350922\": \"古田县\",\n\t    \"350923\": \"屏南县\",\n\t    \"350924\": \"寿宁县\",\n\t    \"350925\": \"周宁县\",\n\t    \"350926\": \"柘荣县\",\n\t    \"350981\": \"福安市\",\n\t    \"350982\": \"福鼎市\",\n\t    \"350983\": \"其它区\",\n\t    \"360000\": \"江西省\",\n\t    \"360100\": \"南昌市\",\n\t    \"360102\": \"东湖区\",\n\t    \"360103\": \"西湖区\",\n\t    \"360104\": \"青云谱区\",\n\t    \"360105\": \"湾里区\",\n\t    \"360111\": \"青山湖区\",\n\t    \"360121\": \"南昌县\",\n\t    \"360122\": \"新建县\",\n\t    \"360123\": \"安义县\",\n\t    \"360124\": \"进贤县\",\n\t    \"360128\": \"其它区\",\n\t    \"360200\": \"景德镇市\",\n\t    \"360202\": \"昌江区\",\n\t    \"360203\": \"珠山区\",\n\t    \"360222\": \"浮梁县\",\n\t    \"360281\": \"乐平市\",\n\t    \"360282\": \"其它区\",\n\t    \"360300\": \"萍乡市\",\n\t    \"360302\": \"安源区\",\n\t    \"360313\": \"湘东区\",\n\t    \"360321\": \"莲花县\",\n\t    \"360322\": \"上栗县\",\n\t    \"360323\": \"芦溪县\",\n\t    \"360324\": \"其它区\",\n\t    \"360400\": \"九江市\",\n\t    \"360402\": \"庐山区\",\n\t    \"360403\": \"浔阳区\",\n\t    \"360421\": \"九江县\",\n\t    \"360423\": \"武宁县\",\n\t    \"360424\": \"修水县\",\n\t    \"360425\": \"永修县\",\n\t    \"360426\": \"德安县\",\n\t    \"360427\": \"星子县\",\n\t    \"360428\": \"都昌县\",\n\t    \"360429\": \"湖口县\",\n\t    \"360430\": \"彭泽县\",\n\t    \"360481\": \"瑞昌市\",\n\t    \"360482\": \"其它区\",\n\t    \"360483\": \"共青城市\",\n\t    \"360500\": \"新余市\",\n\t    \"360502\": \"渝水区\",\n\t    \"360521\": \"分宜县\",\n\t    \"360522\": \"其它区\",\n\t    \"360600\": \"鹰潭市\",\n\t    \"360602\": \"月湖区\",\n\t    \"360622\": \"余江县\",\n\t    \"360681\": \"贵溪市\",\n\t    \"360682\": \"其它区\",\n\t    \"360700\": \"赣州市\",\n\t    \"360702\": \"章贡区\",\n\t    \"360721\": \"赣县\",\n\t    \"360722\": \"信丰县\",\n\t    \"360723\": \"大余县\",\n\t    \"360724\": \"上犹县\",\n\t    \"360725\": \"崇义县\",\n\t    \"360726\": \"安远县\",\n\t    \"360727\": \"龙南县\",\n\t    \"360728\": \"定南县\",\n\t    \"360729\": \"全南县\",\n\t    \"360730\": \"宁都县\",\n\t    \"360731\": \"于都县\",\n\t    \"360732\": \"兴国县\",\n\t    \"360733\": \"会昌县\",\n\t    \"360734\": \"寻乌县\",\n\t    \"360735\": \"石城县\",\n\t    \"360781\": \"瑞金市\",\n\t    \"360782\": \"南康市\",\n\t    \"360783\": \"其它区\",\n\t    \"360800\": \"吉安市\",\n\t    \"360802\": \"吉州区\",\n\t    \"360803\": \"青原区\",\n\t    \"360821\": \"吉安县\",\n\t    \"360822\": \"吉水县\",\n\t    \"360823\": \"峡江县\",\n\t    \"360824\": \"新干县\",\n\t    \"360825\": \"永丰县\",\n\t    \"360826\": \"泰和县\",\n\t    \"360827\": \"遂川县\",\n\t    \"360828\": \"万安县\",\n\t    \"360829\": \"安福县\",\n\t    \"360830\": \"永新县\",\n\t    \"360881\": \"井冈山市\",\n\t    \"360882\": \"其它区\",\n\t    \"360900\": \"宜春市\",\n\t    \"360902\": \"袁州区\",\n\t    \"360921\": \"奉新县\",\n\t    \"360922\": \"万载县\",\n\t    \"360923\": \"上高县\",\n\t    \"360924\": \"宜丰县\",\n\t    \"360925\": \"靖安县\",\n\t    \"360926\": \"铜鼓县\",\n\t    \"360981\": \"丰城市\",\n\t    \"360982\": \"樟树市\",\n\t    \"360983\": \"高安市\",\n\t    \"360984\": \"其它区\",\n\t    \"361000\": \"抚州市\",\n\t    \"361002\": \"临川区\",\n\t    \"361021\": \"南城县\",\n\t    \"361022\": \"黎川县\",\n\t    \"361023\": \"南丰县\",\n\t    \"361024\": \"崇仁县\",\n\t    \"361025\": \"乐安县\",\n\t    \"361026\": \"宜黄县\",\n\t    \"361027\": \"金溪县\",\n\t    \"361028\": \"资溪县\",\n\t    \"361029\": \"东乡县\",\n\t    \"361030\": \"广昌县\",\n\t    \"361031\": \"其它区\",\n\t    \"361100\": \"上饶市\",\n\t    \"361102\": \"信州区\",\n\t    \"361121\": \"上饶县\",\n\t    \"361122\": \"广丰县\",\n\t    \"361123\": \"玉山县\",\n\t    \"361124\": \"铅山县\",\n\t    \"361125\": \"横峰县\",\n\t    \"361126\": \"弋阳县\",\n\t    \"361127\": \"余干县\",\n\t    \"361128\": \"鄱阳县\",\n\t    \"361129\": \"万年县\",\n\t    \"361130\": \"婺源县\",\n\t    \"361181\": \"德兴市\",\n\t    \"361182\": \"其它区\",\n\t    \"370000\": \"山东省\",\n\t    \"370100\": \"济南市\",\n\t    \"370102\": \"历下区\",\n\t    \"370103\": \"市中区\",\n\t    \"370104\": \"槐荫区\",\n\t    \"370105\": \"天桥区\",\n\t    \"370112\": \"历城区\",\n\t    \"370113\": \"长清区\",\n\t    \"370124\": \"平阴县\",\n\t    \"370125\": \"济阳县\",\n\t    \"370126\": \"商河县\",\n\t    \"370181\": \"章丘市\",\n\t    \"370182\": \"其它区\",\n\t    \"370200\": \"青岛市\",\n\t    \"370202\": \"市南区\",\n\t    \"370203\": \"市北区\",\n\t    \"370211\": \"黄岛区\",\n\t    \"370212\": \"崂山区\",\n\t    \"370213\": \"李沧区\",\n\t    \"370214\": \"城阳区\",\n\t    \"370281\": \"胶州市\",\n\t    \"370282\": \"即墨市\",\n\t    \"370283\": \"平度市\",\n\t    \"370285\": \"莱西市\",\n\t    \"370286\": \"其它区\",\n\t    \"370300\": \"淄博市\",\n\t    \"370302\": \"淄川区\",\n\t    \"370303\": \"张店区\",\n\t    \"370304\": \"博山区\",\n\t    \"370305\": \"临淄区\",\n\t    \"370306\": \"周村区\",\n\t    \"370321\": \"桓台县\",\n\t    \"370322\": \"高青县\",\n\t    \"370323\": \"沂源县\",\n\t    \"370324\": \"其它区\",\n\t    \"370400\": \"枣庄市\",\n\t    \"370402\": \"市中区\",\n\t    \"370403\": \"薛城区\",\n\t    \"370404\": \"峄城区\",\n\t    \"370405\": \"台儿庄区\",\n\t    \"370406\": \"山亭区\",\n\t    \"370481\": \"滕州市\",\n\t    \"370482\": \"其它区\",\n\t    \"370500\": \"东营市\",\n\t    \"370502\": \"东营区\",\n\t    \"370503\": \"河口区\",\n\t    \"370521\": \"垦利县\",\n\t    \"370522\": \"利津县\",\n\t    \"370523\": \"广饶县\",\n\t    \"370591\": \"其它区\",\n\t    \"370600\": \"烟台市\",\n\t    \"370602\": \"芝罘区\",\n\t    \"370611\": \"福山区\",\n\t    \"370612\": \"牟平区\",\n\t    \"370613\": \"莱山区\",\n\t    \"370634\": \"长岛县\",\n\t    \"370681\": \"龙口市\",\n\t    \"370682\": \"莱阳市\",\n\t    \"370683\": \"莱州市\",\n\t    \"370684\": \"蓬莱市\",\n\t    \"370685\": \"招远市\",\n\t    \"370686\": \"栖霞市\",\n\t    \"370687\": \"海阳市\",\n\t    \"370688\": \"其它区\",\n\t    \"370700\": \"潍坊市\",\n\t    \"370702\": \"潍城区\",\n\t    \"370703\": \"寒亭区\",\n\t    \"370704\": \"坊子区\",\n\t    \"370705\": \"奎文区\",\n\t    \"370724\": \"临朐县\",\n\t    \"370725\": \"昌乐县\",\n\t    \"370781\": \"青州市\",\n\t    \"370782\": \"诸城市\",\n\t    \"370783\": \"寿光市\",\n\t    \"370784\": \"安丘市\",\n\t    \"370785\": \"高密市\",\n\t    \"370786\": \"昌邑市\",\n\t    \"370787\": \"其它区\",\n\t    \"370800\": \"济宁市\",\n\t    \"370802\": \"市中区\",\n\t    \"370811\": \"任城区\",\n\t    \"370826\": \"微山县\",\n\t    \"370827\": \"鱼台县\",\n\t    \"370828\": \"金乡县\",\n\t    \"370829\": \"嘉祥县\",\n\t    \"370830\": \"汶上县\",\n\t    \"370831\": \"泗水县\",\n\t    \"370832\": \"梁山县\",\n\t    \"370881\": \"曲阜市\",\n\t    \"370882\": \"兖州市\",\n\t    \"370883\": \"邹城市\",\n\t    \"370884\": \"其它区\",\n\t    \"370900\": \"泰安市\",\n\t    \"370902\": \"泰山区\",\n\t    \"370903\": \"岱岳区\",\n\t    \"370921\": \"宁阳县\",\n\t    \"370923\": \"东平县\",\n\t    \"370982\": \"新泰市\",\n\t    \"370983\": \"肥城市\",\n\t    \"370984\": \"其它区\",\n\t    \"371000\": \"威海市\",\n\t    \"371002\": \"环翠区\",\n\t    \"371081\": \"文登市\",\n\t    \"371082\": \"荣成市\",\n\t    \"371083\": \"乳山市\",\n\t    \"371084\": \"其它区\",\n\t    \"371100\": \"日照市\",\n\t    \"371102\": \"东港区\",\n\t    \"371103\": \"岚山区\",\n\t    \"371121\": \"五莲县\",\n\t    \"371122\": \"莒县\",\n\t    \"371123\": \"其它区\",\n\t    \"371200\": \"莱芜市\",\n\t    \"371202\": \"莱城区\",\n\t    \"371203\": \"钢城区\",\n\t    \"371204\": \"其它区\",\n\t    \"371300\": \"临沂市\",\n\t    \"371302\": \"兰山区\",\n\t    \"371311\": \"罗庄区\",\n\t    \"371312\": \"河东区\",\n\t    \"371321\": \"沂南县\",\n\t    \"371322\": \"郯城县\",\n\t    \"371323\": \"沂水县\",\n\t    \"371324\": \"苍山县\",\n\t    \"371325\": \"费县\",\n\t    \"371326\": \"平邑县\",\n\t    \"371327\": \"莒南县\",\n\t    \"371328\": \"蒙阴县\",\n\t    \"371329\": \"临沭县\",\n\t    \"371330\": \"其它区\",\n\t    \"371400\": \"德州市\",\n\t    \"371402\": \"德城区\",\n\t    \"371421\": \"陵县\",\n\t    \"371422\": \"宁津县\",\n\t    \"371423\": \"庆云县\",\n\t    \"371424\": \"临邑县\",\n\t    \"371425\": \"齐河县\",\n\t    \"371426\": \"平原县\",\n\t    \"371427\": \"夏津县\",\n\t    \"371428\": \"武城县\",\n\t    \"371481\": \"乐陵市\",\n\t    \"371482\": \"禹城市\",\n\t    \"371483\": \"其它区\",\n\t    \"371500\": \"聊城市\",\n\t    \"371502\": \"东昌府区\",\n\t    \"371521\": \"阳谷县\",\n\t    \"371522\": \"莘县\",\n\t    \"371523\": \"茌平县\",\n\t    \"371524\": \"东阿县\",\n\t    \"371525\": \"冠县\",\n\t    \"371526\": \"高唐县\",\n\t    \"371581\": \"临清市\",\n\t    \"371582\": \"其它区\",\n\t    \"371600\": \"滨州市\",\n\t    \"371602\": \"滨城区\",\n\t    \"371621\": \"惠民县\",\n\t    \"371622\": \"阳信县\",\n\t    \"371623\": \"无棣县\",\n\t    \"371624\": \"沾化县\",\n\t    \"371625\": \"博兴县\",\n\t    \"371626\": \"邹平县\",\n\t    \"371627\": \"其它区\",\n\t    \"371700\": \"菏泽市\",\n\t    \"371702\": \"牡丹区\",\n\t    \"371721\": \"曹县\",\n\t    \"371722\": \"单县\",\n\t    \"371723\": \"成武县\",\n\t    \"371724\": \"巨野县\",\n\t    \"371725\": \"郓城县\",\n\t    \"371726\": \"鄄城县\",\n\t    \"371727\": \"定陶县\",\n\t    \"371728\": \"东明县\",\n\t    \"371729\": \"其它区\",\n\t    \"410000\": \"河南省\",\n\t    \"410100\": \"郑州市\",\n\t    \"410102\": \"中原区\",\n\t    \"410103\": \"二七区\",\n\t    \"410104\": \"管城回族区\",\n\t    \"410105\": \"金水区\",\n\t    \"410106\": \"上街区\",\n\t    \"410108\": \"惠济区\",\n\t    \"410122\": \"中牟县\",\n\t    \"410181\": \"巩义市\",\n\t    \"410182\": \"荥阳市\",\n\t    \"410183\": \"新密市\",\n\t    \"410184\": \"新郑市\",\n\t    \"410185\": \"登封市\",\n\t    \"410188\": \"其它区\",\n\t    \"410200\": \"开封市\",\n\t    \"410202\": \"龙亭区\",\n\t    \"410203\": \"顺河回族区\",\n\t    \"410204\": \"鼓楼区\",\n\t    \"410205\": \"禹王台区\",\n\t    \"410211\": \"金明区\",\n\t    \"410221\": \"杞县\",\n\t    \"410222\": \"通许县\",\n\t    \"410223\": \"尉氏县\",\n\t    \"410224\": \"开封县\",\n\t    \"410225\": \"兰考县\",\n\t    \"410226\": \"其它区\",\n\t    \"410300\": \"洛阳市\",\n\t    \"410302\": \"老城区\",\n\t    \"410303\": \"西工区\",\n\t    \"410304\": \"瀍河回族区\",\n\t    \"410305\": \"涧西区\",\n\t    \"410306\": \"吉利区\",\n\t    \"410307\": \"洛龙区\",\n\t    \"410322\": \"孟津县\",\n\t    \"410323\": \"新安县\",\n\t    \"410324\": \"栾川县\",\n\t    \"410325\": \"嵩县\",\n\t    \"410326\": \"汝阳县\",\n\t    \"410327\": \"宜阳县\",\n\t    \"410328\": \"洛宁县\",\n\t    \"410329\": \"伊川县\",\n\t    \"410381\": \"偃师市\",\n\t    \"410400\": \"平顶山市\",\n\t    \"410402\": \"新华区\",\n\t    \"410403\": \"卫东区\",\n\t    \"410404\": \"石龙区\",\n\t    \"410411\": \"湛河区\",\n\t    \"410421\": \"宝丰县\",\n\t    \"410422\": \"叶县\",\n\t    \"410423\": \"鲁山县\",\n\t    \"410425\": \"郏县\",\n\t    \"410481\": \"舞钢市\",\n\t    \"410482\": \"汝州市\",\n\t    \"410483\": \"其它区\",\n\t    \"410500\": \"安阳市\",\n\t    \"410502\": \"文峰区\",\n\t    \"410503\": \"北关区\",\n\t    \"410505\": \"殷都区\",\n\t    \"410506\": \"龙安区\",\n\t    \"410522\": \"安阳县\",\n\t    \"410523\": \"汤阴县\",\n\t    \"410526\": \"滑县\",\n\t    \"410527\": \"内黄县\",\n\t    \"410581\": \"林州市\",\n\t    \"410582\": \"其它区\",\n\t    \"410600\": \"鹤壁市\",\n\t    \"410602\": \"鹤山区\",\n\t    \"410603\": \"山城区\",\n\t    \"410611\": \"淇滨区\",\n\t    \"410621\": \"浚县\",\n\t    \"410622\": \"淇县\",\n\t    \"410623\": \"其它区\",\n\t    \"410700\": \"新乡市\",\n\t    \"410702\": \"红旗区\",\n\t    \"410703\": \"卫滨区\",\n\t    \"410704\": \"凤泉区\",\n\t    \"410711\": \"牧野区\",\n\t    \"410721\": \"新乡县\",\n\t    \"410724\": \"获嘉县\",\n\t    \"410725\": \"原阳县\",\n\t    \"410726\": \"延津县\",\n\t    \"410727\": \"封丘县\",\n\t    \"410728\": \"长垣县\",\n\t    \"410781\": \"卫辉市\",\n\t    \"410782\": \"辉县市\",\n\t    \"410783\": \"其它区\",\n\t    \"410800\": \"焦作市\",\n\t    \"410802\": \"解放区\",\n\t    \"410803\": \"中站区\",\n\t    \"410804\": \"马村区\",\n\t    \"410811\": \"山阳区\",\n\t    \"410821\": \"修武县\",\n\t    \"410822\": \"博爱县\",\n\t    \"410823\": \"武陟县\",\n\t    \"410825\": \"温县\",\n\t    \"410881\": \"济源市\",\n\t    \"410882\": \"沁阳市\",\n\t    \"410883\": \"孟州市\",\n\t    \"410884\": \"其它区\",\n\t    \"410900\": \"濮阳市\",\n\t    \"410902\": \"华龙区\",\n\t    \"410922\": \"清丰县\",\n\t    \"410923\": \"南乐县\",\n\t    \"410926\": \"范县\",\n\t    \"410927\": \"台前县\",\n\t    \"410928\": \"濮阳县\",\n\t    \"410929\": \"其它区\",\n\t    \"411000\": \"许昌市\",\n\t    \"411002\": \"魏都区\",\n\t    \"411023\": \"许昌县\",\n\t    \"411024\": \"鄢陵县\",\n\t    \"411025\": \"襄城县\",\n\t    \"411081\": \"禹州市\",\n\t    \"411082\": \"长葛市\",\n\t    \"411083\": \"其它区\",\n\t    \"411100\": \"漯河市\",\n\t    \"411102\": \"源汇区\",\n\t    \"411103\": \"郾城区\",\n\t    \"411104\": \"召陵区\",\n\t    \"411121\": \"舞阳县\",\n\t    \"411122\": \"临颍县\",\n\t    \"411123\": \"其它区\",\n\t    \"411200\": \"三门峡市\",\n\t    \"411202\": \"湖滨区\",\n\t    \"411221\": \"渑池县\",\n\t    \"411222\": \"陕县\",\n\t    \"411224\": \"卢氏县\",\n\t    \"411281\": \"义马市\",\n\t    \"411282\": \"灵宝市\",\n\t    \"411283\": \"其它区\",\n\t    \"411300\": \"南阳市\",\n\t    \"411302\": \"宛城区\",\n\t    \"411303\": \"卧龙区\",\n\t    \"411321\": \"南召县\",\n\t    \"411322\": \"方城县\",\n\t    \"411323\": \"西峡县\",\n\t    \"411324\": \"镇平县\",\n\t    \"411325\": \"内乡县\",\n\t    \"411326\": \"淅川县\",\n\t    \"411327\": \"社旗县\",\n\t    \"411328\": \"唐河县\",\n\t    \"411329\": \"新野县\",\n\t    \"411330\": \"桐柏县\",\n\t    \"411381\": \"邓州市\",\n\t    \"411382\": \"其它区\",\n\t    \"411400\": \"商丘市\",\n\t    \"411402\": \"梁园区\",\n\t    \"411403\": \"睢阳区\",\n\t    \"411421\": \"民权县\",\n\t    \"411422\": \"睢县\",\n\t    \"411423\": \"宁陵县\",\n\t    \"411424\": \"柘城县\",\n\t    \"411425\": \"虞城县\",\n\t    \"411426\": \"夏邑县\",\n\t    \"411481\": \"永城市\",\n\t    \"411482\": \"其它区\",\n\t    \"411500\": \"信阳市\",\n\t    \"411502\": \"浉河区\",\n\t    \"411503\": \"平桥区\",\n\t    \"411521\": \"罗山县\",\n\t    \"411522\": \"光山县\",\n\t    \"411523\": \"新县\",\n\t    \"411524\": \"商城县\",\n\t    \"411525\": \"固始县\",\n\t    \"411526\": \"潢川县\",\n\t    \"411527\": \"淮滨县\",\n\t    \"411528\": \"息县\",\n\t    \"411529\": \"其它区\",\n\t    \"411600\": \"周口市\",\n\t    \"411602\": \"川汇区\",\n\t    \"411621\": \"扶沟县\",\n\t    \"411622\": \"西华县\",\n\t    \"411623\": \"商水县\",\n\t    \"411624\": \"沈丘县\",\n\t    \"411625\": \"郸城县\",\n\t    \"411626\": \"淮阳县\",\n\t    \"411627\": \"太康县\",\n\t    \"411628\": \"鹿邑县\",\n\t    \"411681\": \"项城市\",\n\t    \"411682\": \"其它区\",\n\t    \"411700\": \"驻马店市\",\n\t    \"411702\": \"驿城区\",\n\t    \"411721\": \"西平县\",\n\t    \"411722\": \"上蔡县\",\n\t    \"411723\": \"平舆县\",\n\t    \"411724\": \"正阳县\",\n\t    \"411725\": \"确山县\",\n\t    \"411726\": \"泌阳县\",\n\t    \"411727\": \"汝南县\",\n\t    \"411728\": \"遂平县\",\n\t    \"411729\": \"新蔡县\",\n\t    \"411730\": \"其它区\",\n\t    \"420000\": \"湖北省\",\n\t    \"420100\": \"武汉市\",\n\t    \"420102\": \"江岸区\",\n\t    \"420103\": \"江汉区\",\n\t    \"420104\": \"硚口区\",\n\t    \"420105\": \"汉阳区\",\n\t    \"420106\": \"武昌区\",\n\t    \"420107\": \"青山区\",\n\t    \"420111\": \"洪山区\",\n\t    \"420112\": \"东西湖区\",\n\t    \"420113\": \"汉南区\",\n\t    \"420114\": \"蔡甸区\",\n\t    \"420115\": \"江夏区\",\n\t    \"420116\": \"黄陂区\",\n\t    \"420117\": \"新洲区\",\n\t    \"420118\": \"其它区\",\n\t    \"420200\": \"黄石市\",\n\t    \"420202\": \"黄石港区\",\n\t    \"420203\": \"西塞山区\",\n\t    \"420204\": \"下陆区\",\n\t    \"420205\": \"铁山区\",\n\t    \"420222\": \"阳新县\",\n\t    \"420281\": \"大冶市\",\n\t    \"420282\": \"其它区\",\n\t    \"420300\": \"十堰市\",\n\t    \"420302\": \"茅箭区\",\n\t    \"420303\": \"张湾区\",\n\t    \"420321\": \"郧县\",\n\t    \"420322\": \"郧西县\",\n\t    \"420323\": \"竹山县\",\n\t    \"420324\": \"竹溪县\",\n\t    \"420325\": \"房县\",\n\t    \"420381\": \"丹江口市\",\n\t    \"420383\": \"其它区\",\n\t    \"420500\": \"宜昌市\",\n\t    \"420502\": \"西陵区\",\n\t    \"420503\": \"伍家岗区\",\n\t    \"420504\": \"点军区\",\n\t    \"420505\": \"猇亭区\",\n\t    \"420506\": \"夷陵区\",\n\t    \"420525\": \"远安县\",\n\t    \"420526\": \"兴山县\",\n\t    \"420527\": \"秭归县\",\n\t    \"420528\": \"长阳土家族自治县\",\n\t    \"420529\": \"五峰土家族自治县\",\n\t    \"420581\": \"宜都市\",\n\t    \"420582\": \"当阳市\",\n\t    \"420583\": \"枝江市\",\n\t    \"420584\": \"其它区\",\n\t    \"420600\": \"襄阳市\",\n\t    \"420602\": \"襄城区\",\n\t    \"420606\": \"樊城区\",\n\t    \"420607\": \"襄州区\",\n\t    \"420624\": \"南漳县\",\n\t    \"420625\": \"谷城县\",\n\t    \"420626\": \"保康县\",\n\t    \"420682\": \"老河口市\",\n\t    \"420683\": \"枣阳市\",\n\t    \"420684\": \"宜城市\",\n\t    \"420685\": \"其它区\",\n\t    \"420700\": \"鄂州市\",\n\t    \"420702\": \"梁子湖区\",\n\t    \"420703\": \"华容区\",\n\t    \"420704\": \"鄂城区\",\n\t    \"420705\": \"其它区\",\n\t    \"420800\": \"荆门市\",\n\t    \"420802\": \"东宝区\",\n\t    \"420804\": \"掇刀区\",\n\t    \"420821\": \"京山县\",\n\t    \"420822\": \"沙洋县\",\n\t    \"420881\": \"钟祥市\",\n\t    \"420882\": \"其它区\",\n\t    \"420900\": \"孝感市\",\n\t    \"420902\": \"孝南区\",\n\t    \"420921\": \"孝昌县\",\n\t    \"420922\": \"大悟县\",\n\t    \"420923\": \"云梦县\",\n\t    \"420981\": \"应城市\",\n\t    \"420982\": \"安陆市\",\n\t    \"420984\": \"汉川市\",\n\t    \"420985\": \"其它区\",\n\t    \"421000\": \"荆州市\",\n\t    \"421002\": \"沙市区\",\n\t    \"421003\": \"荆州区\",\n\t    \"421022\": \"公安县\",\n\t    \"421023\": \"监利县\",\n\t    \"421024\": \"江陵县\",\n\t    \"421081\": \"石首市\",\n\t    \"421083\": \"洪湖市\",\n\t    \"421087\": \"松滋市\",\n\t    \"421088\": \"其它区\",\n\t    \"421100\": \"黄冈市\",\n\t    \"421102\": \"黄州区\",\n\t    \"421121\": \"团风县\",\n\t    \"421122\": \"红安县\",\n\t    \"421123\": \"罗田县\",\n\t    \"421124\": \"英山县\",\n\t    \"421125\": \"浠水县\",\n\t    \"421126\": \"蕲春县\",\n\t    \"421127\": \"黄梅县\",\n\t    \"421181\": \"麻城市\",\n\t    \"421182\": \"武穴市\",\n\t    \"421183\": \"其它区\",\n\t    \"421200\": \"咸宁市\",\n\t    \"421202\": \"咸安区\",\n\t    \"421221\": \"嘉鱼县\",\n\t    \"421222\": \"通城县\",\n\t    \"421223\": \"崇阳县\",\n\t    \"421224\": \"通山县\",\n\t    \"421281\": \"赤壁市\",\n\t    \"421283\": \"其它区\",\n\t    \"421300\": \"随州市\",\n\t    \"421302\": \"曾都区\",\n\t    \"421321\": \"随县\",\n\t    \"421381\": \"广水市\",\n\t    \"421382\": \"其它区\",\n\t    \"422800\": \"恩施土家族苗族自治州\",\n\t    \"422801\": \"恩施市\",\n\t    \"422802\": \"利川市\",\n\t    \"422822\": \"建始县\",\n\t    \"422823\": \"巴东县\",\n\t    \"422825\": \"宣恩县\",\n\t    \"422826\": \"咸丰县\",\n\t    \"422827\": \"来凤县\",\n\t    \"422828\": \"鹤峰县\",\n\t    \"422829\": \"其它区\",\n\t    \"429004\": \"仙桃市\",\n\t    \"429005\": \"潜江市\",\n\t    \"429006\": \"天门市\",\n\t    \"429021\": \"神农架林区\",\n\t    \"430000\": \"湖南省\",\n\t    \"430100\": \"长沙市\",\n\t    \"430102\": \"芙蓉区\",\n\t    \"430103\": \"天心区\",\n\t    \"430104\": \"岳麓区\",\n\t    \"430105\": \"开福区\",\n\t    \"430111\": \"雨花区\",\n\t    \"430121\": \"长沙县\",\n\t    \"430122\": \"望城区\",\n\t    \"430124\": \"宁乡县\",\n\t    \"430181\": \"浏阳市\",\n\t    \"430182\": \"其它区\",\n\t    \"430200\": \"株洲市\",\n\t    \"430202\": \"荷塘区\",\n\t    \"430203\": \"芦淞区\",\n\t    \"430204\": \"石峰区\",\n\t    \"430211\": \"天元区\",\n\t    \"430221\": \"株洲县\",\n\t    \"430223\": \"攸县\",\n\t    \"430224\": \"茶陵县\",\n\t    \"430225\": \"炎陵县\",\n\t    \"430281\": \"醴陵市\",\n\t    \"430282\": \"其它区\",\n\t    \"430300\": \"湘潭市\",\n\t    \"430302\": \"雨湖区\",\n\t    \"430304\": \"岳塘区\",\n\t    \"430321\": \"湘潭县\",\n\t    \"430381\": \"湘乡市\",\n\t    \"430382\": \"韶山市\",\n\t    \"430383\": \"其它区\",\n\t    \"430400\": \"衡阳市\",\n\t    \"430405\": \"珠晖区\",\n\t    \"430406\": \"雁峰区\",\n\t    \"430407\": \"石鼓区\",\n\t    \"430408\": \"蒸湘区\",\n\t    \"430412\": \"南岳区\",\n\t    \"430421\": \"衡阳县\",\n\t    \"430422\": \"衡南县\",\n\t    \"430423\": \"衡山县\",\n\t    \"430424\": \"衡东县\",\n\t    \"430426\": \"祁东县\",\n\t    \"430481\": \"耒阳市\",\n\t    \"430482\": \"常宁市\",\n\t    \"430483\": \"其它区\",\n\t    \"430500\": \"邵阳市\",\n\t    \"430502\": \"双清区\",\n\t    \"430503\": \"大祥区\",\n\t    \"430511\": \"北塔区\",\n\t    \"430521\": \"邵东县\",\n\t    \"430522\": \"新邵县\",\n\t    \"430523\": \"邵阳县\",\n\t    \"430524\": \"隆回县\",\n\t    \"430525\": \"洞口县\",\n\t    \"430527\": \"绥宁县\",\n\t    \"430528\": \"新宁县\",\n\t    \"430529\": \"城步苗族自治县\",\n\t    \"430581\": \"武冈市\",\n\t    \"430582\": \"其它区\",\n\t    \"430600\": \"岳阳市\",\n\t    \"430602\": \"岳阳楼区\",\n\t    \"430603\": \"云溪区\",\n\t    \"430611\": \"君山区\",\n\t    \"430621\": \"岳阳县\",\n\t    \"430623\": \"华容县\",\n\t    \"430624\": \"湘阴县\",\n\t    \"430626\": \"平江县\",\n\t    \"430681\": \"汨罗市\",\n\t    \"430682\": \"临湘市\",\n\t    \"430683\": \"其它区\",\n\t    \"430700\": \"常德市\",\n\t    \"430702\": \"武陵区\",\n\t    \"430703\": \"鼎城区\",\n\t    \"430721\": \"安乡县\",\n\t    \"430722\": \"汉寿县\",\n\t    \"430723\": \"澧县\",\n\t    \"430724\": \"临澧县\",\n\t    \"430725\": \"桃源县\",\n\t    \"430726\": \"石门县\",\n\t    \"430781\": \"津市市\",\n\t    \"430782\": \"其它区\",\n\t    \"430800\": \"张家界市\",\n\t    \"430802\": \"永定区\",\n\t    \"430811\": \"武陵源区\",\n\t    \"430821\": \"慈利县\",\n\t    \"430822\": \"桑植县\",\n\t    \"430823\": \"其它区\",\n\t    \"430900\": \"益阳市\",\n\t    \"430902\": \"资阳区\",\n\t    \"430903\": \"赫山区\",\n\t    \"430921\": \"南县\",\n\t    \"430922\": \"桃江县\",\n\t    \"430923\": \"安化县\",\n\t    \"430981\": \"沅江市\",\n\t    \"430982\": \"其它区\",\n\t    \"431000\": \"郴州市\",\n\t    \"431002\": \"北湖区\",\n\t    \"431003\": \"苏仙区\",\n\t    \"431021\": \"桂阳县\",\n\t    \"431022\": \"宜章县\",\n\t    \"431023\": \"永兴县\",\n\t    \"431024\": \"嘉禾县\",\n\t    \"431025\": \"临武县\",\n\t    \"431026\": \"汝城县\",\n\t    \"431027\": \"桂东县\",\n\t    \"431028\": \"安仁县\",\n\t    \"431081\": \"资兴市\",\n\t    \"431082\": \"其它区\",\n\t    \"431100\": \"永州市\",\n\t    \"431102\": \"零陵区\",\n\t    \"431103\": \"冷水滩区\",\n\t    \"431121\": \"祁阳县\",\n\t    \"431122\": \"东安县\",\n\t    \"431123\": \"双牌县\",\n\t    \"431124\": \"道县\",\n\t    \"431125\": \"江永县\",\n\t    \"431126\": \"宁远县\",\n\t    \"431127\": \"蓝山县\",\n\t    \"431128\": \"新田县\",\n\t    \"431129\": \"江华瑶族自治县\",\n\t    \"431130\": \"其它区\",\n\t    \"431200\": \"怀化市\",\n\t    \"431202\": \"鹤城区\",\n\t    \"431221\": \"中方县\",\n\t    \"431222\": \"沅陵县\",\n\t    \"431223\": \"辰溪县\",\n\t    \"431224\": \"溆浦县\",\n\t    \"431225\": \"会同县\",\n\t    \"431226\": \"麻阳苗族自治县\",\n\t    \"431227\": \"新晃侗族自治县\",\n\t    \"431228\": \"芷江侗族自治县\",\n\t    \"431229\": \"靖州苗族侗族自治县\",\n\t    \"431230\": \"通道侗族自治县\",\n\t    \"431281\": \"洪江市\",\n\t    \"431282\": \"其它区\",\n\t    \"431300\": \"娄底市\",\n\t    \"431302\": \"娄星区\",\n\t    \"431321\": \"双峰县\",\n\t    \"431322\": \"新化县\",\n\t    \"431381\": \"冷水江市\",\n\t    \"431382\": \"涟源市\",\n\t    \"431383\": \"其它区\",\n\t    \"433100\": \"湘西土家族苗族自治州\",\n\t    \"433101\": \"吉首市\",\n\t    \"433122\": \"泸溪县\",\n\t    \"433123\": \"凤凰县\",\n\t    \"433124\": \"花垣县\",\n\t    \"433125\": \"保靖县\",\n\t    \"433126\": \"古丈县\",\n\t    \"433127\": \"永顺县\",\n\t    \"433130\": \"龙山县\",\n\t    \"433131\": \"其它区\",\n\t    \"440000\": \"广东省\",\n\t    \"440100\": \"广州市\",\n\t    \"440103\": \"荔湾区\",\n\t    \"440104\": \"越秀区\",\n\t    \"440105\": \"海珠区\",\n\t    \"440106\": \"天河区\",\n\t    \"440111\": \"白云区\",\n\t    \"440112\": \"黄埔区\",\n\t    \"440113\": \"番禺区\",\n\t    \"440114\": \"花都区\",\n\t    \"440115\": \"南沙区\",\n\t    \"440116\": \"萝岗区\",\n\t    \"440183\": \"增城市\",\n\t    \"440184\": \"从化市\",\n\t    \"440189\": \"其它区\",\n\t    \"440200\": \"韶关市\",\n\t    \"440203\": \"武江区\",\n\t    \"440204\": \"浈江区\",\n\t    \"440205\": \"曲江区\",\n\t    \"440222\": \"始兴县\",\n\t    \"440224\": \"仁化县\",\n\t    \"440229\": \"翁源县\",\n\t    \"440232\": \"乳源瑶族自治县\",\n\t    \"440233\": \"新丰县\",\n\t    \"440281\": \"乐昌市\",\n\t    \"440282\": \"南雄市\",\n\t    \"440283\": \"其它区\",\n\t    \"440300\": \"深圳市\",\n\t    \"440303\": \"罗湖区\",\n\t    \"440304\": \"福田区\",\n\t    \"440305\": \"南山区\",\n\t    \"440306\": \"宝安区\",\n\t    \"440307\": \"龙岗区\",\n\t    \"440308\": \"盐田区\",\n\t    \"440309\": \"其它区\",\n\t    \"440320\": \"光明新区\",\n\t    \"440321\": \"坪山新区\",\n\t    \"440322\": \"大鹏新区\",\n\t    \"440323\": \"龙华新区\",\n\t    \"440400\": \"珠海市\",\n\t    \"440402\": \"香洲区\",\n\t    \"440403\": \"斗门区\",\n\t    \"440404\": \"金湾区\",\n\t    \"440488\": \"其它区\",\n\t    \"440500\": \"汕头市\",\n\t    \"440507\": \"龙湖区\",\n\t    \"440511\": \"金平区\",\n\t    \"440512\": \"濠江区\",\n\t    \"440513\": \"潮阳区\",\n\t    \"440514\": \"潮南区\",\n\t    \"440515\": \"澄海区\",\n\t    \"440523\": \"南澳县\",\n\t    \"440524\": \"其它区\",\n\t    \"440600\": \"佛山市\",\n\t    \"440604\": \"禅城区\",\n\t    \"440605\": \"南海区\",\n\t    \"440606\": \"顺德区\",\n\t    \"440607\": \"三水区\",\n\t    \"440608\": \"高明区\",\n\t    \"440609\": \"其它区\",\n\t    \"440700\": \"江门市\",\n\t    \"440703\": \"蓬江区\",\n\t    \"440704\": \"江海区\",\n\t    \"440705\": \"新会区\",\n\t    \"440781\": \"台山市\",\n\t    \"440783\": \"开平市\",\n\t    \"440784\": \"鹤山市\",\n\t    \"440785\": \"恩平市\",\n\t    \"440786\": \"其它区\",\n\t    \"440800\": \"湛江市\",\n\t    \"440802\": \"赤坎区\",\n\t    \"440803\": \"霞山区\",\n\t    \"440804\": \"坡头区\",\n\t    \"440811\": \"麻章区\",\n\t    \"440823\": \"遂溪县\",\n\t    \"440825\": \"徐闻县\",\n\t    \"440881\": \"廉江市\",\n\t    \"440882\": \"雷州市\",\n\t    \"440883\": \"吴川市\",\n\t    \"440884\": \"其它区\",\n\t    \"440900\": \"茂名市\",\n\t    \"440902\": \"茂南区\",\n\t    \"440903\": \"茂港区\",\n\t    \"440923\": \"电白县\",\n\t    \"440981\": \"高州市\",\n\t    \"440982\": \"化州市\",\n\t    \"440983\": \"信宜市\",\n\t    \"440984\": \"其它区\",\n\t    \"441200\": \"肇庆市\",\n\t    \"441202\": \"端州区\",\n\t    \"441203\": \"鼎湖区\",\n\t    \"441223\": \"广宁县\",\n\t    \"441224\": \"怀集县\",\n\t    \"441225\": \"封开县\",\n\t    \"441226\": \"德庆县\",\n\t    \"441283\": \"高要市\",\n\t    \"441284\": \"四会市\",\n\t    \"441285\": \"其它区\",\n\t    \"441300\": \"惠州市\",\n\t    \"441302\": \"惠城区\",\n\t    \"441303\": \"惠阳区\",\n\t    \"441322\": \"博罗县\",\n\t    \"441323\": \"惠东县\",\n\t    \"441324\": \"龙门县\",\n\t    \"441325\": \"其它区\",\n\t    \"441400\": \"梅州市\",\n\t    \"441402\": \"梅江区\",\n\t    \"441421\": \"梅县\",\n\t    \"441422\": \"大埔县\",\n\t    \"441423\": \"丰顺县\",\n\t    \"441424\": \"五华县\",\n\t    \"441426\": \"平远县\",\n\t    \"441427\": \"蕉岭县\",\n\t    \"441481\": \"兴宁市\",\n\t    \"441482\": \"其它区\",\n\t    \"441500\": \"汕尾市\",\n\t    \"441502\": \"城区\",\n\t    \"441521\": \"海丰县\",\n\t    \"441523\": \"陆河县\",\n\t    \"441581\": \"陆丰市\",\n\t    \"441582\": \"其它区\",\n\t    \"441600\": \"河源市\",\n\t    \"441602\": \"源城区\",\n\t    \"441621\": \"紫金县\",\n\t    \"441622\": \"龙川县\",\n\t    \"441623\": \"连平县\",\n\t    \"441624\": \"和平县\",\n\t    \"441625\": \"东源县\",\n\t    \"441626\": \"其它区\",\n\t    \"441700\": \"阳江市\",\n\t    \"441702\": \"江城区\",\n\t    \"441721\": \"阳西县\",\n\t    \"441723\": \"阳东县\",\n\t    \"441781\": \"阳春市\",\n\t    \"441782\": \"其它区\",\n\t    \"441800\": \"清远市\",\n\t    \"441802\": \"清城区\",\n\t    \"441821\": \"佛冈县\",\n\t    \"441823\": \"阳山县\",\n\t    \"441825\": \"连山壮族瑶族自治县\",\n\t    \"441826\": \"连南瑶族自治县\",\n\t    \"441827\": \"清新区\",\n\t    \"441881\": \"英德市\",\n\t    \"441882\": \"连州市\",\n\t    \"441883\": \"其它区\",\n\t    \"441900\": \"东莞市\",\n\t    \"442000\": \"中山市\",\n\t    \"442101\": \"东沙群岛\",\n\t    \"445100\": \"潮州市\",\n\t    \"445102\": \"湘桥区\",\n\t    \"445121\": \"潮安区\",\n\t    \"445122\": \"饶平县\",\n\t    \"445186\": \"其它区\",\n\t    \"445200\": \"揭阳市\",\n\t    \"445202\": \"榕城区\",\n\t    \"445221\": \"揭东区\",\n\t    \"445222\": \"揭西县\",\n\t    \"445224\": \"惠来县\",\n\t    \"445281\": \"普宁市\",\n\t    \"445285\": \"其它区\",\n\t    \"445300\": \"云浮市\",\n\t    \"445302\": \"云城区\",\n\t    \"445321\": \"新兴县\",\n\t    \"445322\": \"郁南县\",\n\t    \"445323\": \"云安县\",\n\t    \"445381\": \"罗定市\",\n\t    \"445382\": \"其它区\",\n\t    \"450000\": \"广西壮族自治区\",\n\t    \"450100\": \"南宁市\",\n\t    \"450102\": \"兴宁区\",\n\t    \"450103\": \"青秀区\",\n\t    \"450105\": \"江南区\",\n\t    \"450107\": \"西乡塘区\",\n\t    \"450108\": \"良庆区\",\n\t    \"450109\": \"邕宁区\",\n\t    \"450122\": \"武鸣县\",\n\t    \"450123\": \"隆安县\",\n\t    \"450124\": \"马山县\",\n\t    \"450125\": \"上林县\",\n\t    \"450126\": \"宾阳县\",\n\t    \"450127\": \"横县\",\n\t    \"450128\": \"其它区\",\n\t    \"450200\": \"柳州市\",\n\t    \"450202\": \"城中区\",\n\t    \"450203\": \"鱼峰区\",\n\t    \"450204\": \"柳南区\",\n\t    \"450205\": \"柳北区\",\n\t    \"450221\": \"柳江县\",\n\t    \"450222\": \"柳城县\",\n\t    \"450223\": \"鹿寨县\",\n\t    \"450224\": \"融安县\",\n\t    \"450225\": \"融水苗族自治县\",\n\t    \"450226\": \"三江侗族自治县\",\n\t    \"450227\": \"其它区\",\n\t    \"450300\": \"桂林市\",\n\t    \"450302\": \"秀峰区\",\n\t    \"450303\": \"叠彩区\",\n\t    \"450304\": \"象山区\",\n\t    \"450305\": \"七星区\",\n\t    \"450311\": \"雁山区\",\n\t    \"450321\": \"阳朔县\",\n\t    \"450322\": \"临桂区\",\n\t    \"450323\": \"灵川县\",\n\t    \"450324\": \"全州县\",\n\t    \"450325\": \"兴安县\",\n\t    \"450326\": \"永福县\",\n\t    \"450327\": \"灌阳县\",\n\t    \"450328\": \"龙胜各族自治县\",\n\t    \"450329\": \"资源县\",\n\t    \"450330\": \"平乐县\",\n\t    \"450331\": \"荔浦县\",\n\t    \"450332\": \"恭城瑶族自治县\",\n\t    \"450333\": \"其它区\",\n\t    \"450400\": \"梧州市\",\n\t    \"450403\": \"万秀区\",\n\t    \"450405\": \"长洲区\",\n\t    \"450406\": \"龙圩区\",\n\t    \"450421\": \"苍梧县\",\n\t    \"450422\": \"藤县\",\n\t    \"450423\": \"蒙山县\",\n\t    \"450481\": \"岑溪市\",\n\t    \"450482\": \"其它区\",\n\t    \"450500\": \"北海市\",\n\t    \"450502\": \"海城区\",\n\t    \"450503\": \"银海区\",\n\t    \"450512\": \"铁山港区\",\n\t    \"450521\": \"合浦县\",\n\t    \"450522\": \"其它区\",\n\t    \"450600\": \"防城港市\",\n\t    \"450602\": \"港口区\",\n\t    \"450603\": \"防城区\",\n\t    \"450621\": \"上思县\",\n\t    \"450681\": \"东兴市\",\n\t    \"450682\": \"其它区\",\n\t    \"450700\": \"钦州市\",\n\t    \"450702\": \"钦南区\",\n\t    \"450703\": \"钦北区\",\n\t    \"450721\": \"灵山县\",\n\t    \"450722\": \"浦北县\",\n\t    \"450723\": \"其它区\",\n\t    \"450800\": \"贵港市\",\n\t    \"450802\": \"港北区\",\n\t    \"450803\": \"港南区\",\n\t    \"450804\": \"覃塘区\",\n\t    \"450821\": \"平南县\",\n\t    \"450881\": \"桂平市\",\n\t    \"450882\": \"其它区\",\n\t    \"450900\": \"玉林市\",\n\t    \"450902\": \"玉州区\",\n\t    \"450903\": \"福绵区\",\n\t    \"450921\": \"容县\",\n\t    \"450922\": \"陆川县\",\n\t    \"450923\": \"博白县\",\n\t    \"450924\": \"兴业县\",\n\t    \"450981\": \"北流市\",\n\t    \"450982\": \"其它区\",\n\t    \"451000\": \"百色市\",\n\t    \"451002\": \"右江区\",\n\t    \"451021\": \"田阳县\",\n\t    \"451022\": \"田东县\",\n\t    \"451023\": \"平果县\",\n\t    \"451024\": \"德保县\",\n\t    \"451025\": \"靖西县\",\n\t    \"451026\": \"那坡县\",\n\t    \"451027\": \"凌云县\",\n\t    \"451028\": \"乐业县\",\n\t    \"451029\": \"田林县\",\n\t    \"451030\": \"西林县\",\n\t    \"451031\": \"隆林各族自治县\",\n\t    \"451032\": \"其它区\",\n\t    \"451100\": \"贺州市\",\n\t    \"451102\": \"八步区\",\n\t    \"451119\": \"平桂管理区\",\n\t    \"451121\": \"昭平县\",\n\t    \"451122\": \"钟山县\",\n\t    \"451123\": \"富川瑶族自治县\",\n\t    \"451124\": \"其它区\",\n\t    \"451200\": \"河池市\",\n\t    \"451202\": \"金城江区\",\n\t    \"451221\": \"南丹县\",\n\t    \"451222\": \"天峨县\",\n\t    \"451223\": \"凤山县\",\n\t    \"451224\": \"东兰县\",\n\t    \"451225\": \"罗城仫佬族自治县\",\n\t    \"451226\": \"环江毛南族自治县\",\n\t    \"451227\": \"巴马瑶族自治县\",\n\t    \"451228\": \"都安瑶族自治县\",\n\t    \"451229\": \"大化瑶族自治县\",\n\t    \"451281\": \"宜州市\",\n\t    \"451282\": \"其它区\",\n\t    \"451300\": \"来宾市\",\n\t    \"451302\": \"兴宾区\",\n\t    \"451321\": \"忻城县\",\n\t    \"451322\": \"象州县\",\n\t    \"451323\": \"武宣县\",\n\t    \"451324\": \"金秀瑶族自治县\",\n\t    \"451381\": \"合山市\",\n\t    \"451382\": \"其它区\",\n\t    \"451400\": \"崇左市\",\n\t    \"451402\": \"江州区\",\n\t    \"451421\": \"扶绥县\",\n\t    \"451422\": \"宁明县\",\n\t    \"451423\": \"龙州县\",\n\t    \"451424\": \"大新县\",\n\t    \"451425\": \"天等县\",\n\t    \"451481\": \"凭祥市\",\n\t    \"451482\": \"其它区\",\n\t    \"460000\": \"海南省\",\n\t    \"460100\": \"海口市\",\n\t    \"460105\": \"秀英区\",\n\t    \"460106\": \"龙华区\",\n\t    \"460107\": \"琼山区\",\n\t    \"460108\": \"美兰区\",\n\t    \"460109\": \"其它区\",\n\t    \"460200\": \"三亚市\",\n\t    \"460300\": \"三沙市\",\n\t    \"460321\": \"西沙群岛\",\n\t    \"460322\": \"南沙群岛\",\n\t    \"460323\": \"中沙群岛的岛礁及其海域\",\n\t    \"469001\": \"五指山市\",\n\t    \"469002\": \"琼海市\",\n\t    \"469003\": \"儋州市\",\n\t    \"469005\": \"文昌市\",\n\t    \"469006\": \"万宁市\",\n\t    \"469007\": \"东方市\",\n\t    \"469025\": \"定安县\",\n\t    \"469026\": \"屯昌县\",\n\t    \"469027\": \"澄迈县\",\n\t    \"469028\": \"临高县\",\n\t    \"469030\": \"白沙黎族自治县\",\n\t    \"469031\": \"昌江黎族自治县\",\n\t    \"469033\": \"乐东黎族自治县\",\n\t    \"469034\": \"陵水黎族自治县\",\n\t    \"469035\": \"保亭黎族苗族自治县\",\n\t    \"469036\": \"琼中黎族苗族自治县\",\n\t    \"471005\": \"其它区\",\n\t    \"500000\": \"重庆\",\n\t    \"500100\": \"重庆市\",\n\t    \"500101\": \"万州区\",\n\t    \"500102\": \"涪陵区\",\n\t    \"500103\": \"渝中区\",\n\t    \"500104\": \"大渡口区\",\n\t    \"500105\": \"江北区\",\n\t    \"500106\": \"沙坪坝区\",\n\t    \"500107\": \"九龙坡区\",\n\t    \"500108\": \"南岸区\",\n\t    \"500109\": \"北碚区\",\n\t    \"500110\": \"万盛区\",\n\t    \"500111\": \"双桥区\",\n\t    \"500112\": \"渝北区\",\n\t    \"500113\": \"巴南区\",\n\t    \"500114\": \"黔江区\",\n\t    \"500115\": \"长寿区\",\n\t    \"500222\": \"綦江区\",\n\t    \"500223\": \"潼南县\",\n\t    \"500224\": \"铜梁县\",\n\t    \"500225\": \"大足区\",\n\t    \"500226\": \"荣昌县\",\n\t    \"500227\": \"璧山县\",\n\t    \"500228\": \"梁平县\",\n\t    \"500229\": \"城口县\",\n\t    \"500230\": \"丰都县\",\n\t    \"500231\": \"垫江县\",\n\t    \"500232\": \"武隆县\",\n\t    \"500233\": \"忠县\",\n\t    \"500234\": \"开县\",\n\t    \"500235\": \"云阳县\",\n\t    \"500236\": \"奉节县\",\n\t    \"500237\": \"巫山县\",\n\t    \"500238\": \"巫溪县\",\n\t    \"500240\": \"石柱土家族自治县\",\n\t    \"500241\": \"秀山土家族苗族自治县\",\n\t    \"500242\": \"酉阳土家族苗族自治县\",\n\t    \"500243\": \"彭水苗族土家族自治县\",\n\t    \"500381\": \"江津区\",\n\t    \"500382\": \"合川区\",\n\t    \"500383\": \"永川区\",\n\t    \"500384\": \"南川区\",\n\t    \"500385\": \"其它区\",\n\t    \"510000\": \"四川省\",\n\t    \"510100\": \"成都市\",\n\t    \"510104\": \"锦江区\",\n\t    \"510105\": \"青羊区\",\n\t    \"510106\": \"金牛区\",\n\t    \"510107\": \"武侯区\",\n\t    \"510108\": \"成华区\",\n\t    \"510112\": \"龙泉驿区\",\n\t    \"510113\": \"青白江区\",\n\t    \"510114\": \"新都区\",\n\t    \"510115\": \"温江区\",\n\t    \"510121\": \"金堂县\",\n\t    \"510122\": \"双流县\",\n\t    \"510124\": \"郫县\",\n\t    \"510129\": \"大邑县\",\n\t    \"510131\": \"蒲江县\",\n\t    \"510132\": \"新津县\",\n\t    \"510181\": \"都江堰市\",\n\t    \"510182\": \"彭州市\",\n\t    \"510183\": \"邛崃市\",\n\t    \"510184\": \"崇州市\",\n\t    \"510185\": \"其它区\",\n\t    \"510300\": \"自贡市\",\n\t    \"510302\": \"自流井区\",\n\t    \"510303\": \"贡井区\",\n\t    \"510304\": \"大安区\",\n\t    \"510311\": \"沿滩区\",\n\t    \"510321\": \"荣县\",\n\t    \"510322\": \"富顺县\",\n\t    \"510323\": \"其它区\",\n\t    \"510400\": \"攀枝花市\",\n\t    \"510402\": \"东区\",\n\t    \"510403\": \"西区\",\n\t    \"510411\": \"仁和区\",\n\t    \"510421\": \"米易县\",\n\t    \"510422\": \"盐边县\",\n\t    \"510423\": \"其它区\",\n\t    \"510500\": \"泸州市\",\n\t    \"510502\": \"江阳区\",\n\t    \"510503\": \"纳溪区\",\n\t    \"510504\": \"龙马潭区\",\n\t    \"510521\": \"泸县\",\n\t    \"510522\": \"合江县\",\n\t    \"510524\": \"叙永县\",\n\t    \"510525\": \"古蔺县\",\n\t    \"510526\": \"其它区\",\n\t    \"510600\": \"德阳市\",\n\t    \"510603\": \"旌阳区\",\n\t    \"510623\": \"中江县\",\n\t    \"510626\": \"罗江县\",\n\t    \"510681\": \"广汉市\",\n\t    \"510682\": \"什邡市\",\n\t    \"510683\": \"绵竹市\",\n\t    \"510684\": \"其它区\",\n\t    \"510700\": \"绵阳市\",\n\t    \"510703\": \"涪城区\",\n\t    \"510704\": \"游仙区\",\n\t    \"510722\": \"三台县\",\n\t    \"510723\": \"盐亭县\",\n\t    \"510724\": \"安县\",\n\t    \"510725\": \"梓潼县\",\n\t    \"510726\": \"北川羌族自治县\",\n\t    \"510727\": \"平武县\",\n\t    \"510781\": \"江油市\",\n\t    \"510782\": \"其它区\",\n\t    \"510800\": \"广元市\",\n\t    \"510802\": \"利州区\",\n\t    \"510811\": \"昭化区\",\n\t    \"510812\": \"朝天区\",\n\t    \"510821\": \"旺苍县\",\n\t    \"510822\": \"青川县\",\n\t    \"510823\": \"剑阁县\",\n\t    \"510824\": \"苍溪县\",\n\t    \"510825\": \"其它区\",\n\t    \"510900\": \"遂宁市\",\n\t    \"510903\": \"船山区\",\n\t    \"510904\": \"安居区\",\n\t    \"510921\": \"蓬溪县\",\n\t    \"510922\": \"射洪县\",\n\t    \"510923\": \"大英县\",\n\t    \"510924\": \"其它区\",\n\t    \"511000\": \"内江市\",\n\t    \"511002\": \"市中区\",\n\t    \"511011\": \"东兴区\",\n\t    \"511024\": \"威远县\",\n\t    \"511025\": \"资中县\",\n\t    \"511028\": \"隆昌县\",\n\t    \"511029\": \"其它区\",\n\t    \"511100\": \"乐山市\",\n\t    \"511102\": \"市中区\",\n\t    \"511111\": \"沙湾区\",\n\t    \"511112\": \"五通桥区\",\n\t    \"511113\": \"金口河区\",\n\t    \"511123\": \"犍为县\",\n\t    \"511124\": \"井研县\",\n\t    \"511126\": \"夹江县\",\n\t    \"511129\": \"沐川县\",\n\t    \"511132\": \"峨边彝族自治县\",\n\t    \"511133\": \"马边彝族自治县\",\n\t    \"511181\": \"峨眉山市\",\n\t    \"511182\": \"其它区\",\n\t    \"511300\": \"南充市\",\n\t    \"511302\": \"顺庆区\",\n\t    \"511303\": \"高坪区\",\n\t    \"511304\": \"嘉陵区\",\n\t    \"511321\": \"南部县\",\n\t    \"511322\": \"营山县\",\n\t    \"511323\": \"蓬安县\",\n\t    \"511324\": \"仪陇县\",\n\t    \"511325\": \"西充县\",\n\t    \"511381\": \"阆中市\",\n\t    \"511382\": \"其它区\",\n\t    \"511400\": \"眉山市\",\n\t    \"511402\": \"东坡区\",\n\t    \"511421\": \"仁寿县\",\n\t    \"511422\": \"彭山县\",\n\t    \"511423\": \"洪雅县\",\n\t    \"511424\": \"丹棱县\",\n\t    \"511425\": \"青神县\",\n\t    \"511426\": \"其它区\",\n\t    \"511500\": \"宜宾市\",\n\t    \"511502\": \"翠屏区\",\n\t    \"511521\": \"宜宾县\",\n\t    \"511522\": \"南溪区\",\n\t    \"511523\": \"江安县\",\n\t    \"511524\": \"长宁县\",\n\t    \"511525\": \"高县\",\n\t    \"511526\": \"珙县\",\n\t    \"511527\": \"筠连县\",\n\t    \"511528\": \"兴文县\",\n\t    \"511529\": \"屏山县\",\n\t    \"511530\": \"其它区\",\n\t    \"511600\": \"广安市\",\n\t    \"511602\": \"广安区\",\n\t    \"511603\": \"前锋区\",\n\t    \"511621\": \"岳池县\",\n\t    \"511622\": \"武胜县\",\n\t    \"511623\": \"邻水县\",\n\t    \"511681\": \"华蓥市\",\n\t    \"511683\": \"其它区\",\n\t    \"511700\": \"达州市\",\n\t    \"511702\": \"通川区\",\n\t    \"511721\": \"达川区\",\n\t    \"511722\": \"宣汉县\",\n\t    \"511723\": \"开江县\",\n\t    \"511724\": \"大竹县\",\n\t    \"511725\": \"渠县\",\n\t    \"511781\": \"万源市\",\n\t    \"511782\": \"其它区\",\n\t    \"511800\": \"雅安市\",\n\t    \"511802\": \"雨城区\",\n\t    \"511821\": \"名山区\",\n\t    \"511822\": \"荥经县\",\n\t    \"511823\": \"汉源县\",\n\t    \"511824\": \"石棉县\",\n\t    \"511825\": \"天全县\",\n\t    \"511826\": \"芦山县\",\n\t    \"511827\": \"宝兴县\",\n\t    \"511828\": \"其它区\",\n\t    \"511900\": \"巴中市\",\n\t    \"511902\": \"巴州区\",\n\t    \"511903\": \"恩阳区\",\n\t    \"511921\": \"通江县\",\n\t    \"511922\": \"南江县\",\n\t    \"511923\": \"平昌县\",\n\t    \"511924\": \"其它区\",\n\t    \"512000\": \"资阳市\",\n\t    \"512002\": \"雁江区\",\n\t    \"512021\": \"安岳县\",\n\t    \"512022\": \"乐至县\",\n\t    \"512081\": \"简阳市\",\n\t    \"512082\": \"其它区\",\n\t    \"513200\": \"阿坝藏族羌族自治州\",\n\t    \"513221\": \"汶川县\",\n\t    \"513222\": \"理县\",\n\t    \"513223\": \"茂县\",\n\t    \"513224\": \"松潘县\",\n\t    \"513225\": \"九寨沟县\",\n\t    \"513226\": \"金川县\",\n\t    \"513227\": \"小金县\",\n\t    \"513228\": \"黑水县\",\n\t    \"513229\": \"马尔康县\",\n\t    \"513230\": \"壤塘县\",\n\t    \"513231\": \"阿坝县\",\n\t    \"513232\": \"若尔盖县\",\n\t    \"513233\": \"红原县\",\n\t    \"513234\": \"其它区\",\n\t    \"513300\": \"甘孜藏族自治州\",\n\t    \"513321\": \"康定县\",\n\t    \"513322\": \"泸定县\",\n\t    \"513323\": \"丹巴县\",\n\t    \"513324\": \"九龙县\",\n\t    \"513325\": \"雅江县\",\n\t    \"513326\": \"道孚县\",\n\t    \"513327\": \"炉霍县\",\n\t    \"513328\": \"甘孜县\",\n\t    \"513329\": \"新龙县\",\n\t    \"513330\": \"德格县\",\n\t    \"513331\": \"白玉县\",\n\t    \"513332\": \"石渠县\",\n\t    \"513333\": \"色达县\",\n\t    \"513334\": \"理塘县\",\n\t    \"513335\": \"巴塘县\",\n\t    \"513336\": \"乡城县\",\n\t    \"513337\": \"稻城县\",\n\t    \"513338\": \"得荣县\",\n\t    \"513339\": \"其它区\",\n\t    \"513400\": \"凉山彝族自治州\",\n\t    \"513401\": \"西昌市\",\n\t    \"513422\": \"木里藏族自治县\",\n\t    \"513423\": \"盐源县\",\n\t    \"513424\": \"德昌县\",\n\t    \"513425\": \"会理县\",\n\t    \"513426\": \"会东县\",\n\t    \"513427\": \"宁南县\",\n\t    \"513428\": \"普格县\",\n\t    \"513429\": \"布拖县\",\n\t    \"513430\": \"金阳县\",\n\t    \"513431\": \"昭觉县\",\n\t    \"513432\": \"喜德县\",\n\t    \"513433\": \"冕宁县\",\n\t    \"513434\": \"越西县\",\n\t    \"513435\": \"甘洛县\",\n\t    \"513436\": \"美姑县\",\n\t    \"513437\": \"雷波县\",\n\t    \"513438\": \"其它区\",\n\t    \"520000\": \"贵州省\",\n\t    \"520100\": \"贵阳市\",\n\t    \"520102\": \"南明区\",\n\t    \"520103\": \"云岩区\",\n\t    \"520111\": \"花溪区\",\n\t    \"520112\": \"乌当区\",\n\t    \"520113\": \"白云区\",\n\t    \"520121\": \"开阳县\",\n\t    \"520122\": \"息烽县\",\n\t    \"520123\": \"修文县\",\n\t    \"520151\": \"观山湖区\",\n\t    \"520181\": \"清镇市\",\n\t    \"520182\": \"其它区\",\n\t    \"520200\": \"六盘水市\",\n\t    \"520201\": \"钟山区\",\n\t    \"520203\": \"六枝特区\",\n\t    \"520221\": \"水城县\",\n\t    \"520222\": \"盘县\",\n\t    \"520223\": \"其它区\",\n\t    \"520300\": \"遵义市\",\n\t    \"520302\": \"红花岗区\",\n\t    \"520303\": \"汇川区\",\n\t    \"520321\": \"遵义县\",\n\t    \"520322\": \"桐梓县\",\n\t    \"520323\": \"绥阳县\",\n\t    \"520324\": \"正安县\",\n\t    \"520325\": \"道真仡佬族苗族自治县\",\n\t    \"520326\": \"务川仡佬族苗族自治县\",\n\t    \"520327\": \"凤冈县\",\n\t    \"520328\": \"湄潭县\",\n\t    \"520329\": \"余庆县\",\n\t    \"520330\": \"习水县\",\n\t    \"520381\": \"赤水市\",\n\t    \"520382\": \"仁怀市\",\n\t    \"520383\": \"其它区\",\n\t    \"520400\": \"安顺市\",\n\t    \"520402\": \"西秀区\",\n\t    \"520421\": \"平坝县\",\n\t    \"520422\": \"普定县\",\n\t    \"520423\": \"镇宁布依族苗族自治县\",\n\t    \"520424\": \"关岭布依族苗族自治县\",\n\t    \"520425\": \"紫云苗族布依族自治县\",\n\t    \"520426\": \"其它区\",\n\t    \"522200\": \"铜仁市\",\n\t    \"522201\": \"碧江区\",\n\t    \"522222\": \"江口县\",\n\t    \"522223\": \"玉屏侗族自治县\",\n\t    \"522224\": \"石阡县\",\n\t    \"522225\": \"思南县\",\n\t    \"522226\": \"印江土家族苗族自治县\",\n\t    \"522227\": \"德江县\",\n\t    \"522228\": \"沿河土家族自治县\",\n\t    \"522229\": \"松桃苗族自治县\",\n\t    \"522230\": \"万山区\",\n\t    \"522231\": \"其它区\",\n\t    \"522300\": \"黔西南布依族苗族自治州\",\n\t    \"522301\": \"兴义市\",\n\t    \"522322\": \"兴仁县\",\n\t    \"522323\": \"普安县\",\n\t    \"522324\": \"晴隆县\",\n\t    \"522325\": \"贞丰县\",\n\t    \"522326\": \"望谟县\",\n\t    \"522327\": \"册亨县\",\n\t    \"522328\": \"安龙县\",\n\t    \"522329\": \"其它区\",\n\t    \"522400\": \"毕节市\",\n\t    \"522401\": \"七星关区\",\n\t    \"522422\": \"大方县\",\n\t    \"522423\": \"黔西县\",\n\t    \"522424\": \"金沙县\",\n\t    \"522425\": \"织金县\",\n\t    \"522426\": \"纳雍县\",\n\t    \"522427\": \"威宁彝族回族苗族自治县\",\n\t    \"522428\": \"赫章县\",\n\t    \"522429\": \"其它区\",\n\t    \"522600\": \"黔东南苗族侗族自治州\",\n\t    \"522601\": \"凯里市\",\n\t    \"522622\": \"黄平县\",\n\t    \"522623\": \"施秉县\",\n\t    \"522624\": \"三穗县\",\n\t    \"522625\": \"镇远县\",\n\t    \"522626\": \"岑巩县\",\n\t    \"522627\": \"天柱县\",\n\t    \"522628\": \"锦屏县\",\n\t    \"522629\": \"剑河县\",\n\t    \"522630\": \"台江县\",\n\t    \"522631\": \"黎平县\",\n\t    \"522632\": \"榕江县\",\n\t    \"522633\": \"从江县\",\n\t    \"522634\": \"雷山县\",\n\t    \"522635\": \"麻江县\",\n\t    \"522636\": \"丹寨县\",\n\t    \"522637\": \"其它区\",\n\t    \"522700\": \"黔南布依族苗族自治州\",\n\t    \"522701\": \"都匀市\",\n\t    \"522702\": \"福泉市\",\n\t    \"522722\": \"荔波县\",\n\t    \"522723\": \"贵定县\",\n\t    \"522725\": \"瓮安县\",\n\t    \"522726\": \"独山县\",\n\t    \"522727\": \"平塘县\",\n\t    \"522728\": \"罗甸县\",\n\t    \"522729\": \"长顺县\",\n\t    \"522730\": \"龙里县\",\n\t    \"522731\": \"惠水县\",\n\t    \"522732\": \"三都水族自治县\",\n\t    \"522733\": \"其它区\",\n\t    \"530000\": \"云南省\",\n\t    \"530100\": \"昆明市\",\n\t    \"530102\": \"五华区\",\n\t    \"530103\": \"盘龙区\",\n\t    \"530111\": \"官渡区\",\n\t    \"530112\": \"西山区\",\n\t    \"530113\": \"东川区\",\n\t    \"530121\": \"呈贡区\",\n\t    \"530122\": \"晋宁县\",\n\t    \"530124\": \"富民县\",\n\t    \"530125\": \"宜良县\",\n\t    \"530126\": \"石林彝族自治县\",\n\t    \"530127\": \"嵩明县\",\n\t    \"530128\": \"禄劝彝族苗族自治县\",\n\t    \"530129\": \"寻甸回族彝族自治县\",\n\t    \"530181\": \"安宁市\",\n\t    \"530182\": \"其它区\",\n\t    \"530300\": \"曲靖市\",\n\t    \"530302\": \"麒麟区\",\n\t    \"530321\": \"马龙县\",\n\t    \"530322\": \"陆良县\",\n\t    \"530323\": \"师宗县\",\n\t    \"530324\": \"罗平县\",\n\t    \"530325\": \"富源县\",\n\t    \"530326\": \"会泽县\",\n\t    \"530328\": \"沾益县\",\n\t    \"530381\": \"宣威市\",\n\t    \"530382\": \"其它区\",\n\t    \"530400\": \"玉溪市\",\n\t    \"530402\": \"红塔区\",\n\t    \"530421\": \"江川县\",\n\t    \"530422\": \"澄江县\",\n\t    \"530423\": \"通海县\",\n\t    \"530424\": \"华宁县\",\n\t    \"530425\": \"易门县\",\n\t    \"530426\": \"峨山彝族自治县\",\n\t    \"530427\": \"新平彝族傣族自治县\",\n\t    \"530428\": \"元江哈尼族彝族傣族自治县\",\n\t    \"530429\": \"其它区\",\n\t    \"530500\": \"保山市\",\n\t    \"530502\": \"隆阳区\",\n\t    \"530521\": \"施甸县\",\n\t    \"530522\": \"腾冲县\",\n\t    \"530523\": \"龙陵县\",\n\t    \"530524\": \"昌宁县\",\n\t    \"530525\": \"其它区\",\n\t    \"530600\": \"昭通市\",\n\t    \"530602\": \"昭阳区\",\n\t    \"530621\": \"鲁甸县\",\n\t    \"530622\": \"巧家县\",\n\t    \"530623\": \"盐津县\",\n\t    \"530624\": \"大关县\",\n\t    \"530625\": \"永善县\",\n\t    \"530626\": \"绥江县\",\n\t    \"530627\": \"镇雄县\",\n\t    \"530628\": \"彝良县\",\n\t    \"530629\": \"威信县\",\n\t    \"530630\": \"水富县\",\n\t    \"530631\": \"其它区\",\n\t    \"530700\": \"丽江市\",\n\t    \"530702\": \"古城区\",\n\t    \"530721\": \"玉龙纳西族自治县\",\n\t    \"530722\": \"永胜县\",\n\t    \"530723\": \"华坪县\",\n\t    \"530724\": \"宁蒗彝族自治县\",\n\t    \"530725\": \"其它区\",\n\t    \"530800\": \"普洱市\",\n\t    \"530802\": \"思茅区\",\n\t    \"530821\": \"宁洱哈尼族彝族自治县\",\n\t    \"530822\": \"墨江哈尼族自治县\",\n\t    \"530823\": \"景东彝族自治县\",\n\t    \"530824\": \"景谷傣族彝族自治县\",\n\t    \"530825\": \"镇沅彝族哈尼族拉祜族自治县\",\n\t    \"530826\": \"江城哈尼族彝族自治县\",\n\t    \"530827\": \"孟连傣族拉祜族佤族自治县\",\n\t    \"530828\": \"澜沧拉祜族自治县\",\n\t    \"530829\": \"西盟佤族自治县\",\n\t    \"530830\": \"其它区\",\n\t    \"530900\": \"临沧市\",\n\t    \"530902\": \"临翔区\",\n\t    \"530921\": \"凤庆县\",\n\t    \"530922\": \"云县\",\n\t    \"530923\": \"永德县\",\n\t    \"530924\": \"镇康县\",\n\t    \"530925\": \"双江拉祜族佤族布朗族傣族自治县\",\n\t    \"530926\": \"耿马傣族佤族自治县\",\n\t    \"530927\": \"沧源佤族自治县\",\n\t    \"530928\": \"其它区\",\n\t    \"532300\": \"楚雄彝族自治州\",\n\t    \"532301\": \"楚雄市\",\n\t    \"532322\": \"双柏县\",\n\t    \"532323\": \"牟定县\",\n\t    \"532324\": \"南华县\",\n\t    \"532325\": \"姚安县\",\n\t    \"532326\": \"大姚县\",\n\t    \"532327\": \"永仁县\",\n\t    \"532328\": \"元谋县\",\n\t    \"532329\": \"武定县\",\n\t    \"532331\": \"禄丰县\",\n\t    \"532332\": \"其它区\",\n\t    \"532500\": \"红河哈尼族彝族自治州\",\n\t    \"532501\": \"个旧市\",\n\t    \"532502\": \"开远市\",\n\t    \"532522\": \"蒙自市\",\n\t    \"532523\": \"屏边苗族自治县\",\n\t    \"532524\": \"建水县\",\n\t    \"532525\": \"石屏县\",\n\t    \"532526\": \"弥勒市\",\n\t    \"532527\": \"泸西县\",\n\t    \"532528\": \"元阳县\",\n\t    \"532529\": \"红河县\",\n\t    \"532530\": \"金平苗族瑶族傣族自治县\",\n\t    \"532531\": \"绿春县\",\n\t    \"532532\": \"河口瑶族自治县\",\n\t    \"532533\": \"其它区\",\n\t    \"532600\": \"文山壮族苗族自治州\",\n\t    \"532621\": \"文山市\",\n\t    \"532622\": \"砚山县\",\n\t    \"532623\": \"西畴县\",\n\t    \"532624\": \"麻栗坡县\",\n\t    \"532625\": \"马关县\",\n\t    \"532626\": \"丘北县\",\n\t    \"532627\": \"广南县\",\n\t    \"532628\": \"富宁县\",\n\t    \"532629\": \"其它区\",\n\t    \"532800\": \"西双版纳傣族自治州\",\n\t    \"532801\": \"景洪市\",\n\t    \"532822\": \"勐海县\",\n\t    \"532823\": \"勐腊县\",\n\t    \"532824\": \"其它区\",\n\t    \"532900\": \"大理白族自治州\",\n\t    \"532901\": \"大理市\",\n\t    \"532922\": \"漾濞彝族自治县\",\n\t    \"532923\": \"祥云县\",\n\t    \"532924\": \"宾川县\",\n\t    \"532925\": \"弥渡县\",\n\t    \"532926\": \"南涧彝族自治县\",\n\t    \"532927\": \"巍山彝族回族自治县\",\n\t    \"532928\": \"永平县\",\n\t    \"532929\": \"云龙县\",\n\t    \"532930\": \"洱源县\",\n\t    \"532931\": \"剑川县\",\n\t    \"532932\": \"鹤庆县\",\n\t    \"532933\": \"其它区\",\n\t    \"533100\": \"德宏傣族景颇族自治州\",\n\t    \"533102\": \"瑞丽市\",\n\t    \"533103\": \"芒市\",\n\t    \"533122\": \"梁河县\",\n\t    \"533123\": \"盈江县\",\n\t    \"533124\": \"陇川县\",\n\t    \"533125\": \"其它区\",\n\t    \"533300\": \"怒江傈僳族自治州\",\n\t    \"533321\": \"泸水县\",\n\t    \"533323\": \"福贡县\",\n\t    \"533324\": \"贡山独龙族怒族自治县\",\n\t    \"533325\": \"兰坪白族普米族自治县\",\n\t    \"533326\": \"其它区\",\n\t    \"533400\": \"迪庆藏族自治州\",\n\t    \"533421\": \"香格里拉县\",\n\t    \"533422\": \"德钦县\",\n\t    \"533423\": \"维西傈僳族自治县\",\n\t    \"533424\": \"其它区\",\n\t    \"540000\": \"西藏自治区\",\n\t    \"540100\": \"拉萨市\",\n\t    \"540102\": \"城关区\",\n\t    \"540121\": \"林周县\",\n\t    \"540122\": \"当雄县\",\n\t    \"540123\": \"尼木县\",\n\t    \"540124\": \"曲水县\",\n\t    \"540125\": \"堆龙德庆县\",\n\t    \"540126\": \"达孜县\",\n\t    \"540127\": \"墨竹工卡县\",\n\t    \"540128\": \"其它区\",\n\t    \"542100\": \"昌都地区\",\n\t    \"542121\": \"昌都县\",\n\t    \"542122\": \"江达县\",\n\t    \"542123\": \"贡觉县\",\n\t    \"542124\": \"类乌齐县\",\n\t    \"542125\": \"丁青县\",\n\t    \"542126\": \"察雅县\",\n\t    \"542127\": \"八宿县\",\n\t    \"542128\": \"左贡县\",\n\t    \"542129\": \"芒康县\",\n\t    \"542132\": \"洛隆县\",\n\t    \"542133\": \"边坝县\",\n\t    \"542134\": \"其它区\",\n\t    \"542200\": \"山南地区\",\n\t    \"542221\": \"乃东县\",\n\t    \"542222\": \"扎囊县\",\n\t    \"542223\": \"贡嘎县\",\n\t    \"542224\": \"桑日县\",\n\t    \"542225\": \"琼结县\",\n\t    \"542226\": \"曲松县\",\n\t    \"542227\": \"措美县\",\n\t    \"542228\": \"洛扎县\",\n\t    \"542229\": \"加查县\",\n\t    \"542231\": \"隆子县\",\n\t    \"542232\": \"错那县\",\n\t    \"542233\": \"浪卡子县\",\n\t    \"542234\": \"其它区\",\n\t    \"542300\": \"日喀则地区\",\n\t    \"542301\": \"日喀则市\",\n\t    \"542322\": \"南木林县\",\n\t    \"542323\": \"江孜县\",\n\t    \"542324\": \"定日县\",\n\t    \"542325\": \"萨迦县\",\n\t    \"542326\": \"拉孜县\",\n\t    \"542327\": \"昂仁县\",\n\t    \"542328\": \"谢通门县\",\n\t    \"542329\": \"白朗县\",\n\t    \"542330\": \"仁布县\",\n\t    \"542331\": \"康马县\",\n\t    \"542332\": \"定结县\",\n\t    \"542333\": \"仲巴县\",\n\t    \"542334\": \"亚东县\",\n\t    \"542335\": \"吉隆县\",\n\t    \"542336\": \"聂拉木县\",\n\t    \"542337\": \"萨嘎县\",\n\t    \"542338\": \"岗巴县\",\n\t    \"542339\": \"其它区\",\n\t    \"542400\": \"那曲地区\",\n\t    \"542421\": \"那曲县\",\n\t    \"542422\": \"嘉黎县\",\n\t    \"542423\": \"比如县\",\n\t    \"542424\": \"聂荣县\",\n\t    \"542425\": \"安多县\",\n\t    \"542426\": \"申扎县\",\n\t    \"542427\": \"索县\",\n\t    \"542428\": \"班戈县\",\n\t    \"542429\": \"巴青县\",\n\t    \"542430\": \"尼玛县\",\n\t    \"542431\": \"其它区\",\n\t    \"542432\": \"双湖县\",\n\t    \"542500\": \"阿里地区\",\n\t    \"542521\": \"普兰县\",\n\t    \"542522\": \"札达县\",\n\t    \"542523\": \"噶尔县\",\n\t    \"542524\": \"日土县\",\n\t    \"542525\": \"革吉县\",\n\t    \"542526\": \"改则县\",\n\t    \"542527\": \"措勤县\",\n\t    \"542528\": \"其它区\",\n\t    \"542600\": \"林芝地区\",\n\t    \"542621\": \"林芝县\",\n\t    \"542622\": \"工布江达县\",\n\t    \"542623\": \"米林县\",\n\t    \"542624\": \"墨脱县\",\n\t    \"542625\": \"波密县\",\n\t    \"542626\": \"察隅县\",\n\t    \"542627\": \"朗县\",\n\t    \"542628\": \"其它区\",\n\t    \"610000\": \"陕西省\",\n\t    \"610100\": \"西安市\",\n\t    \"610102\": \"新城区\",\n\t    \"610103\": \"碑林区\",\n\t    \"610104\": \"莲湖区\",\n\t    \"610111\": \"灞桥区\",\n\t    \"610112\": \"未央区\",\n\t    \"610113\": \"雁塔区\",\n\t    \"610114\": \"阎良区\",\n\t    \"610115\": \"临潼区\",\n\t    \"610116\": \"长安区\",\n\t    \"610122\": \"蓝田县\",\n\t    \"610124\": \"周至县\",\n\t    \"610125\": \"户县\",\n\t    \"610126\": \"高陵县\",\n\t    \"610127\": \"其它区\",\n\t    \"610200\": \"铜川市\",\n\t    \"610202\": \"王益区\",\n\t    \"610203\": \"印台区\",\n\t    \"610204\": \"耀州区\",\n\t    \"610222\": \"宜君县\",\n\t    \"610223\": \"其它区\",\n\t    \"610300\": \"宝鸡市\",\n\t    \"610302\": \"渭滨区\",\n\t    \"610303\": \"金台区\",\n\t    \"610304\": \"陈仓区\",\n\t    \"610322\": \"凤翔县\",\n\t    \"610323\": \"岐山县\",\n\t    \"610324\": \"扶风县\",\n\t    \"610326\": \"眉县\",\n\t    \"610327\": \"陇县\",\n\t    \"610328\": \"千阳县\",\n\t    \"610329\": \"麟游县\",\n\t    \"610330\": \"凤县\",\n\t    \"610331\": \"太白县\",\n\t    \"610332\": \"其它区\",\n\t    \"610400\": \"咸阳市\",\n\t    \"610402\": \"秦都区\",\n\t    \"610403\": \"杨陵区\",\n\t    \"610404\": \"渭城区\",\n\t    \"610422\": \"三原县\",\n\t    \"610423\": \"泾阳县\",\n\t    \"610424\": \"乾县\",\n\t    \"610425\": \"礼泉县\",\n\t    \"610426\": \"永寿县\",\n\t    \"610427\": \"彬县\",\n\t    \"610428\": \"长武县\",\n\t    \"610429\": \"旬邑县\",\n\t    \"610430\": \"淳化县\",\n\t    \"610431\": \"武功县\",\n\t    \"610481\": \"兴平市\",\n\t    \"610482\": \"其它区\",\n\t    \"610500\": \"渭南市\",\n\t    \"610502\": \"临渭区\",\n\t    \"610521\": \"华县\",\n\t    \"610522\": \"潼关县\",\n\t    \"610523\": \"大荔县\",\n\t    \"610524\": \"合阳县\",\n\t    \"610525\": \"澄城县\",\n\t    \"610526\": \"蒲城县\",\n\t    \"610527\": \"白水县\",\n\t    \"610528\": \"富平县\",\n\t    \"610581\": \"韩城市\",\n\t    \"610582\": \"华阴市\",\n\t    \"610583\": \"其它区\",\n\t    \"610600\": \"延安市\",\n\t    \"610602\": \"宝塔区\",\n\t    \"610621\": \"延长县\",\n\t    \"610622\": \"延川县\",\n\t    \"610623\": \"子长县\",\n\t    \"610624\": \"安塞县\",\n\t    \"610625\": \"志丹县\",\n\t    \"610626\": \"吴起县\",\n\t    \"610627\": \"甘泉县\",\n\t    \"610628\": \"富县\",\n\t    \"610629\": \"洛川县\",\n\t    \"610630\": \"宜川县\",\n\t    \"610631\": \"黄龙县\",\n\t    \"610632\": \"黄陵县\",\n\t    \"610633\": \"其它区\",\n\t    \"610700\": \"汉中市\",\n\t    \"610702\": \"汉台区\",\n\t    \"610721\": \"南郑县\",\n\t    \"610722\": \"城固县\",\n\t    \"610723\": \"洋县\",\n\t    \"610724\": \"西乡县\",\n\t    \"610725\": \"勉县\",\n\t    \"610726\": \"宁强县\",\n\t    \"610727\": \"略阳县\",\n\t    \"610728\": \"镇巴县\",\n\t    \"610729\": \"留坝县\",\n\t    \"610730\": \"佛坪县\",\n\t    \"610731\": \"其它区\",\n\t    \"610800\": \"榆林市\",\n\t    \"610802\": \"榆阳区\",\n\t    \"610821\": \"神木县\",\n\t    \"610822\": \"府谷县\",\n\t    \"610823\": \"横山县\",\n\t    \"610824\": \"靖边县\",\n\t    \"610825\": \"定边县\",\n\t    \"610826\": \"绥德县\",\n\t    \"610827\": \"米脂县\",\n\t    \"610828\": \"佳县\",\n\t    \"610829\": \"吴堡县\",\n\t    \"610830\": \"清涧县\",\n\t    \"610831\": \"子洲县\",\n\t    \"610832\": \"其它区\",\n\t    \"610900\": \"安康市\",\n\t    \"610902\": \"汉滨区\",\n\t    \"610921\": \"汉阴县\",\n\t    \"610922\": \"石泉县\",\n\t    \"610923\": \"宁陕县\",\n\t    \"610924\": \"紫阳县\",\n\t    \"610925\": \"岚皋县\",\n\t    \"610926\": \"平利县\",\n\t    \"610927\": \"镇坪县\",\n\t    \"610928\": \"旬阳县\",\n\t    \"610929\": \"白河县\",\n\t    \"610930\": \"其它区\",\n\t    \"611000\": \"商洛市\",\n\t    \"611002\": \"商州区\",\n\t    \"611021\": \"洛南县\",\n\t    \"611022\": \"丹凤县\",\n\t    \"611023\": \"商南县\",\n\t    \"611024\": \"山阳县\",\n\t    \"611025\": \"镇安县\",\n\t    \"611026\": \"柞水县\",\n\t    \"611027\": \"其它区\",\n\t    \"620000\": \"甘肃省\",\n\t    \"620100\": \"兰州市\",\n\t    \"620102\": \"城关区\",\n\t    \"620103\": \"七里河区\",\n\t    \"620104\": \"西固区\",\n\t    \"620105\": \"安宁区\",\n\t    \"620111\": \"红古区\",\n\t    \"620121\": \"永登县\",\n\t    \"620122\": \"皋兰县\",\n\t    \"620123\": \"榆中县\",\n\t    \"620124\": \"其它区\",\n\t    \"620200\": \"嘉峪关市\",\n\t    \"620300\": \"金昌市\",\n\t    \"620302\": \"金川区\",\n\t    \"620321\": \"永昌县\",\n\t    \"620322\": \"其它区\",\n\t    \"620400\": \"白银市\",\n\t    \"620402\": \"白银区\",\n\t    \"620403\": \"平川区\",\n\t    \"620421\": \"靖远县\",\n\t    \"620422\": \"会宁县\",\n\t    \"620423\": \"景泰县\",\n\t    \"620424\": \"其它区\",\n\t    \"620500\": \"天水市\",\n\t    \"620502\": \"秦州区\",\n\t    \"620503\": \"麦积区\",\n\t    \"620521\": \"清水县\",\n\t    \"620522\": \"秦安县\",\n\t    \"620523\": \"甘谷县\",\n\t    \"620524\": \"武山县\",\n\t    \"620525\": \"张家川回族自治县\",\n\t    \"620526\": \"其它区\",\n\t    \"620600\": \"武威市\",\n\t    \"620602\": \"凉州区\",\n\t    \"620621\": \"民勤县\",\n\t    \"620622\": \"古浪县\",\n\t    \"620623\": \"天祝藏族自治县\",\n\t    \"620624\": \"其它区\",\n\t    \"620700\": \"张掖市\",\n\t    \"620702\": \"甘州区\",\n\t    \"620721\": \"肃南裕固族自治县\",\n\t    \"620722\": \"民乐县\",\n\t    \"620723\": \"临泽县\",\n\t    \"620724\": \"高台县\",\n\t    \"620725\": \"山丹县\",\n\t    \"620726\": \"其它区\",\n\t    \"620800\": \"平凉市\",\n\t    \"620802\": \"崆峒区\",\n\t    \"620821\": \"泾川县\",\n\t    \"620822\": \"灵台县\",\n\t    \"620823\": \"崇信县\",\n\t    \"620824\": \"华亭县\",\n\t    \"620825\": \"庄浪县\",\n\t    \"620826\": \"静宁县\",\n\t    \"620827\": \"其它区\",\n\t    \"620900\": \"酒泉市\",\n\t    \"620902\": \"肃州区\",\n\t    \"620921\": \"金塔县\",\n\t    \"620922\": \"瓜州县\",\n\t    \"620923\": \"肃北蒙古族自治县\",\n\t    \"620924\": \"阿克塞哈萨克族自治县\",\n\t    \"620981\": \"玉门市\",\n\t    \"620982\": \"敦煌市\",\n\t    \"620983\": \"其它区\",\n\t    \"621000\": \"庆阳市\",\n\t    \"621002\": \"西峰区\",\n\t    \"621021\": \"庆城县\",\n\t    \"621022\": \"环县\",\n\t    \"621023\": \"华池县\",\n\t    \"621024\": \"合水县\",\n\t    \"621025\": \"正宁县\",\n\t    \"621026\": \"宁县\",\n\t    \"621027\": \"镇原县\",\n\t    \"621028\": \"其它区\",\n\t    \"621100\": \"定西市\",\n\t    \"621102\": \"安定区\",\n\t    \"621121\": \"通渭县\",\n\t    \"621122\": \"陇西县\",\n\t    \"621123\": \"渭源县\",\n\t    \"621124\": \"临洮县\",\n\t    \"621125\": \"漳县\",\n\t    \"621126\": \"岷县\",\n\t    \"621127\": \"其它区\",\n\t    \"621200\": \"陇南市\",\n\t    \"621202\": \"武都区\",\n\t    \"621221\": \"成县\",\n\t    \"621222\": \"文县\",\n\t    \"621223\": \"宕昌县\",\n\t    \"621224\": \"康县\",\n\t    \"621225\": \"西和县\",\n\t    \"621226\": \"礼县\",\n\t    \"621227\": \"徽县\",\n\t    \"621228\": \"两当县\",\n\t    \"621229\": \"其它区\",\n\t    \"622900\": \"临夏回族自治州\",\n\t    \"622901\": \"临夏市\",\n\t    \"622921\": \"临夏县\",\n\t    \"622922\": \"康乐县\",\n\t    \"622923\": \"永靖县\",\n\t    \"622924\": \"广河县\",\n\t    \"622925\": \"和政县\",\n\t    \"622926\": \"东乡族自治县\",\n\t    \"622927\": \"积石山保安族东乡族撒拉族自治县\",\n\t    \"622928\": \"其它区\",\n\t    \"623000\": \"甘南藏族自治州\",\n\t    \"623001\": \"合作市\",\n\t    \"623021\": \"临潭县\",\n\t    \"623022\": \"卓尼县\",\n\t    \"623023\": \"舟曲县\",\n\t    \"623024\": \"迭部县\",\n\t    \"623025\": \"玛曲县\",\n\t    \"623026\": \"碌曲县\",\n\t    \"623027\": \"夏河县\",\n\t    \"623028\": \"其它区\",\n\t    \"630000\": \"青海省\",\n\t    \"630100\": \"西宁市\",\n\t    \"630102\": \"城东区\",\n\t    \"630103\": \"城中区\",\n\t    \"630104\": \"城西区\",\n\t    \"630105\": \"城北区\",\n\t    \"630121\": \"大通回族土族自治县\",\n\t    \"630122\": \"湟中县\",\n\t    \"630123\": \"湟源县\",\n\t    \"630124\": \"其它区\",\n\t    \"632100\": \"海东市\",\n\t    \"632121\": \"平安县\",\n\t    \"632122\": \"民和回族土族自治县\",\n\t    \"632123\": \"乐都区\",\n\t    \"632126\": \"互助土族自治县\",\n\t    \"632127\": \"化隆回族自治县\",\n\t    \"632128\": \"循化撒拉族自治县\",\n\t    \"632129\": \"其它区\",\n\t    \"632200\": \"海北藏族自治州\",\n\t    \"632221\": \"门源回族自治县\",\n\t    \"632222\": \"祁连县\",\n\t    \"632223\": \"海晏县\",\n\t    \"632224\": \"刚察县\",\n\t    \"632225\": \"其它区\",\n\t    \"632300\": \"黄南藏族自治州\",\n\t    \"632321\": \"同仁县\",\n\t    \"632322\": \"尖扎县\",\n\t    \"632323\": \"泽库县\",\n\t    \"632324\": \"河南蒙古族自治县\",\n\t    \"632325\": \"其它区\",\n\t    \"632500\": \"海南藏族自治州\",\n\t    \"632521\": \"共和县\",\n\t    \"632522\": \"同德县\",\n\t    \"632523\": \"贵德县\",\n\t    \"632524\": \"兴海县\",\n\t    \"632525\": \"贵南县\",\n\t    \"632526\": \"其它区\",\n\t    \"632600\": \"果洛藏族自治州\",\n\t    \"632621\": \"玛沁县\",\n\t    \"632622\": \"班玛县\",\n\t    \"632623\": \"甘德县\",\n\t    \"632624\": \"达日县\",\n\t    \"632625\": \"久治县\",\n\t    \"632626\": \"玛多县\",\n\t    \"632627\": \"其它区\",\n\t    \"632700\": \"玉树藏族自治州\",\n\t    \"632721\": \"玉树市\",\n\t    \"632722\": \"杂多县\",\n\t    \"632723\": \"称多县\",\n\t    \"632724\": \"治多县\",\n\t    \"632725\": \"囊谦县\",\n\t    \"632726\": \"曲麻莱县\",\n\t    \"632727\": \"其它区\",\n\t    \"632800\": \"海西蒙古族藏族自治州\",\n\t    \"632801\": \"格尔木市\",\n\t    \"632802\": \"德令哈市\",\n\t    \"632821\": \"乌兰县\",\n\t    \"632822\": \"都兰县\",\n\t    \"632823\": \"天峻县\",\n\t    \"632824\": \"其它区\",\n\t    \"640000\": \"宁夏回族自治区\",\n\t    \"640100\": \"银川市\",\n\t    \"640104\": \"兴庆区\",\n\t    \"640105\": \"西夏区\",\n\t    \"640106\": \"金凤区\",\n\t    \"640121\": \"永宁县\",\n\t    \"640122\": \"贺兰县\",\n\t    \"640181\": \"灵武市\",\n\t    \"640182\": \"其它区\",\n\t    \"640200\": \"石嘴山市\",\n\t    \"640202\": \"大武口区\",\n\t    \"640205\": \"惠农区\",\n\t    \"640221\": \"平罗县\",\n\t    \"640222\": \"其它区\",\n\t    \"640300\": \"吴忠市\",\n\t    \"640302\": \"利通区\",\n\t    \"640303\": \"红寺堡区\",\n\t    \"640323\": \"盐池县\",\n\t    \"640324\": \"同心县\",\n\t    \"640381\": \"青铜峡市\",\n\t    \"640382\": \"其它区\",\n\t    \"640400\": \"固原市\",\n\t    \"640402\": \"原州区\",\n\t    \"640422\": \"西吉县\",\n\t    \"640423\": \"隆德县\",\n\t    \"640424\": \"泾源县\",\n\t    \"640425\": \"彭阳县\",\n\t    \"640426\": \"其它区\",\n\t    \"640500\": \"中卫市\",\n\t    \"640502\": \"沙坡头区\",\n\t    \"640521\": \"中宁县\",\n\t    \"640522\": \"海原县\",\n\t    \"640523\": \"其它区\",\n\t    \"650000\": \"新疆维吾尔自治区\",\n\t    \"650100\": \"乌鲁木齐市\",\n\t    \"650102\": \"天山区\",\n\t    \"650103\": \"沙依巴克区\",\n\t    \"650104\": \"新市区\",\n\t    \"650105\": \"水磨沟区\",\n\t    \"650106\": \"头屯河区\",\n\t    \"650107\": \"达坂城区\",\n\t    \"650109\": \"米东区\",\n\t    \"650121\": \"乌鲁木齐县\",\n\t    \"650122\": \"其它区\",\n\t    \"650200\": \"克拉玛依市\",\n\t    \"650202\": \"独山子区\",\n\t    \"650203\": \"克拉玛依区\",\n\t    \"650204\": \"白碱滩区\",\n\t    \"650205\": \"乌尔禾区\",\n\t    \"650206\": \"其它区\",\n\t    \"652100\": \"吐鲁番地区\",\n\t    \"652101\": \"吐鲁番市\",\n\t    \"652122\": \"鄯善县\",\n\t    \"652123\": \"托克逊县\",\n\t    \"652124\": \"其它区\",\n\t    \"652200\": \"哈密地区\",\n\t    \"652201\": \"哈密市\",\n\t    \"652222\": \"巴里坤哈萨克自治县\",\n\t    \"652223\": \"伊吾县\",\n\t    \"652224\": \"其它区\",\n\t    \"652300\": \"昌吉回族自治州\",\n\t    \"652301\": \"昌吉市\",\n\t    \"652302\": \"阜康市\",\n\t    \"652323\": \"呼图壁县\",\n\t    \"652324\": \"玛纳斯县\",\n\t    \"652325\": \"奇台县\",\n\t    \"652327\": \"吉木萨尔县\",\n\t    \"652328\": \"木垒哈萨克自治县\",\n\t    \"652329\": \"其它区\",\n\t    \"652700\": \"博尔塔拉蒙古自治州\",\n\t    \"652701\": \"博乐市\",\n\t    \"652702\": \"阿拉山口市\",\n\t    \"652722\": \"精河县\",\n\t    \"652723\": \"温泉县\",\n\t    \"652724\": \"其它区\",\n\t    \"652800\": \"巴音郭楞蒙古自治州\",\n\t    \"652801\": \"库尔勒市\",\n\t    \"652822\": \"轮台县\",\n\t    \"652823\": \"尉犁县\",\n\t    \"652824\": \"若羌县\",\n\t    \"652825\": \"且末县\",\n\t    \"652826\": \"焉耆回族自治县\",\n\t    \"652827\": \"和静县\",\n\t    \"652828\": \"和硕县\",\n\t    \"652829\": \"博湖县\",\n\t    \"652830\": \"其它区\",\n\t    \"652900\": \"阿克苏地区\",\n\t    \"652901\": \"阿克苏市\",\n\t    \"652922\": \"温宿县\",\n\t    \"652923\": \"库车县\",\n\t    \"652924\": \"沙雅县\",\n\t    \"652925\": \"新和县\",\n\t    \"652926\": \"拜城县\",\n\t    \"652927\": \"乌什县\",\n\t    \"652928\": \"阿瓦提县\",\n\t    \"652929\": \"柯坪县\",\n\t    \"652930\": \"其它区\",\n\t    \"653000\": \"克孜勒苏柯尔克孜自治州\",\n\t    \"653001\": \"阿图什市\",\n\t    \"653022\": \"阿克陶县\",\n\t    \"653023\": \"阿合奇县\",\n\t    \"653024\": \"乌恰县\",\n\t    \"653025\": \"其它区\",\n\t    \"653100\": \"喀什地区\",\n\t    \"653101\": \"喀什市\",\n\t    \"653121\": \"疏附县\",\n\t    \"653122\": \"疏勒县\",\n\t    \"653123\": \"英吉沙县\",\n\t    \"653124\": \"泽普县\",\n\t    \"653125\": \"莎车县\",\n\t    \"653126\": \"叶城县\",\n\t    \"653127\": \"麦盖提县\",\n\t    \"653128\": \"岳普湖县\",\n\t    \"653129\": \"伽师县\",\n\t    \"653130\": \"巴楚县\",\n\t    \"653131\": \"塔什库尔干塔吉克自治县\",\n\t    \"653132\": \"其它区\",\n\t    \"653200\": \"和田地区\",\n\t    \"653201\": \"和田市\",\n\t    \"653221\": \"和田县\",\n\t    \"653222\": \"墨玉县\",\n\t    \"653223\": \"皮山县\",\n\t    \"653224\": \"洛浦县\",\n\t    \"653225\": \"策勒县\",\n\t    \"653226\": \"于田县\",\n\t    \"653227\": \"民丰县\",\n\t    \"653228\": \"其它区\",\n\t    \"654000\": \"伊犁哈萨克自治州\",\n\t    \"654002\": \"伊宁市\",\n\t    \"654003\": \"奎屯市\",\n\t    \"654021\": \"伊宁县\",\n\t    \"654022\": \"察布查尔锡伯自治县\",\n\t    \"654023\": \"霍城县\",\n\t    \"654024\": \"巩留县\",\n\t    \"654025\": \"新源县\",\n\t    \"654026\": \"昭苏县\",\n\t    \"654027\": \"特克斯县\",\n\t    \"654028\": \"尼勒克县\",\n\t    \"654029\": \"其它区\",\n\t    \"654200\": \"塔城地区\",\n\t    \"654201\": \"塔城市\",\n\t    \"654202\": \"乌苏市\",\n\t    \"654221\": \"额敏县\",\n\t    \"654223\": \"沙湾县\",\n\t    \"654224\": \"托里县\",\n\t    \"654225\": \"裕民县\",\n\t    \"654226\": \"和布克赛尔蒙古自治县\",\n\t    \"654227\": \"其它区\",\n\t    \"654300\": \"阿勒泰地区\",\n\t    \"654301\": \"阿勒泰市\",\n\t    \"654321\": \"布尔津县\",\n\t    \"654322\": \"富蕴县\",\n\t    \"654323\": \"福海县\",\n\t    \"654324\": \"哈巴河县\",\n\t    \"654325\": \"青河县\",\n\t    \"654326\": \"吉木乃县\",\n\t    \"654327\": \"其它区\",\n\t    \"659001\": \"石河子市\",\n\t    \"659002\": \"阿拉尔市\",\n\t    \"659003\": \"图木舒克市\",\n\t    \"659004\": \"五家渠市\",\n\t    \"710000\": \"台湾\",\n\t    \"710100\": \"台北市\",\n\t    \"710101\": \"中正区\",\n\t    \"710102\": \"大同区\",\n\t    \"710103\": \"中山区\",\n\t    \"710104\": \"松山区\",\n\t    \"710105\": \"大安区\",\n\t    \"710106\": \"万华区\",\n\t    \"710107\": \"信义区\",\n\t    \"710108\": \"士林区\",\n\t    \"710109\": \"北投区\",\n\t    \"710110\": \"内湖区\",\n\t    \"710111\": \"南港区\",\n\t    \"710112\": \"文山区\",\n\t    \"710113\": \"其它区\",\n\t    \"710200\": \"高雄市\",\n\t    \"710201\": \"新兴区\",\n\t    \"710202\": \"前金区\",\n\t    \"710203\": \"芩雅区\",\n\t    \"710204\": \"盐埕区\",\n\t    \"710205\": \"鼓山区\",\n\t    \"710206\": \"旗津区\",\n\t    \"710207\": \"前镇区\",\n\t    \"710208\": \"三民区\",\n\t    \"710209\": \"左营区\",\n\t    \"710210\": \"楠梓区\",\n\t    \"710211\": \"小港区\",\n\t    \"710212\": \"其它区\",\n\t    \"710241\": \"苓雅区\",\n\t    \"710242\": \"仁武区\",\n\t    \"710243\": \"大社区\",\n\t    \"710244\": \"冈山区\",\n\t    \"710245\": \"路竹区\",\n\t    \"710246\": \"阿莲区\",\n\t    \"710247\": \"田寮区\",\n\t    \"710248\": \"燕巢区\",\n\t    \"710249\": \"桥头区\",\n\t    \"710250\": \"梓官区\",\n\t    \"710251\": \"弥陀区\",\n\t    \"710252\": \"永安区\",\n\t    \"710253\": \"湖内区\",\n\t    \"710254\": \"凤山区\",\n\t    \"710255\": \"大寮区\",\n\t    \"710256\": \"林园区\",\n\t    \"710257\": \"鸟松区\",\n\t    \"710258\": \"大树区\",\n\t    \"710259\": \"旗山区\",\n\t    \"710260\": \"美浓区\",\n\t    \"710261\": \"六龟区\",\n\t    \"710262\": \"内门区\",\n\t    \"710263\": \"杉林区\",\n\t    \"710264\": \"甲仙区\",\n\t    \"710265\": \"桃源区\",\n\t    \"710266\": \"那玛夏区\",\n\t    \"710267\": \"茂林区\",\n\t    \"710268\": \"茄萣区\",\n\t    \"710300\": \"台南市\",\n\t    \"710301\": \"中西区\",\n\t    \"710302\": \"东区\",\n\t    \"710303\": \"南区\",\n\t    \"710304\": \"北区\",\n\t    \"710305\": \"安平区\",\n\t    \"710306\": \"安南区\",\n\t    \"710307\": \"其它区\",\n\t    \"710339\": \"永康区\",\n\t    \"710340\": \"归仁区\",\n\t    \"710341\": \"新化区\",\n\t    \"710342\": \"左镇区\",\n\t    \"710343\": \"玉井区\",\n\t    \"710344\": \"楠西区\",\n\t    \"710345\": \"南化区\",\n\t    \"710346\": \"仁德区\",\n\t    \"710347\": \"关庙区\",\n\t    \"710348\": \"龙崎区\",\n\t    \"710349\": \"官田区\",\n\t    \"710350\": \"麻豆区\",\n\t    \"710351\": \"佳里区\",\n\t    \"710352\": \"西港区\",\n\t    \"710353\": \"七股区\",\n\t    \"710354\": \"将军区\",\n\t    \"710355\": \"学甲区\",\n\t    \"710356\": \"北门区\",\n\t    \"710357\": \"新营区\",\n\t    \"710358\": \"后壁区\",\n\t    \"710359\": \"白河区\",\n\t    \"710360\": \"东山区\",\n\t    \"710361\": \"六甲区\",\n\t    \"710362\": \"下营区\",\n\t    \"710363\": \"柳营区\",\n\t    \"710364\": \"盐水区\",\n\t    \"710365\": \"善化区\",\n\t    \"710366\": \"大内区\",\n\t    \"710367\": \"山上区\",\n\t    \"710368\": \"新市区\",\n\t    \"710369\": \"安定区\",\n\t    \"710400\": \"台中市\",\n\t    \"710401\": \"中区\",\n\t    \"710402\": \"东区\",\n\t    \"710403\": \"南区\",\n\t    \"710404\": \"西区\",\n\t    \"710405\": \"北区\",\n\t    \"710406\": \"北屯区\",\n\t    \"710407\": \"西屯区\",\n\t    \"710408\": \"南屯区\",\n\t    \"710409\": \"其它区\",\n\t    \"710431\": \"太平区\",\n\t    \"710432\": \"大里区\",\n\t    \"710433\": \"雾峰区\",\n\t    \"710434\": \"乌日区\",\n\t    \"710435\": \"丰原区\",\n\t    \"710436\": \"后里区\",\n\t    \"710437\": \"石冈区\",\n\t    \"710438\": \"东势区\",\n\t    \"710439\": \"和平区\",\n\t    \"710440\": \"新社区\",\n\t    \"710441\": \"潭子区\",\n\t    \"710442\": \"大雅区\",\n\t    \"710443\": \"神冈区\",\n\t    \"710444\": \"大肚区\",\n\t    \"710445\": \"沙鹿区\",\n\t    \"710446\": \"龙井区\",\n\t    \"710447\": \"梧栖区\",\n\t    \"710448\": \"清水区\",\n\t    \"710449\": \"大甲区\",\n\t    \"710450\": \"外埔区\",\n\t    \"710451\": \"大安区\",\n\t    \"710500\": \"金门县\",\n\t    \"710507\": \"金沙镇\",\n\t    \"710508\": \"金湖镇\",\n\t    \"710509\": \"金宁乡\",\n\t    \"710510\": \"金城镇\",\n\t    \"710511\": \"烈屿乡\",\n\t    \"710512\": \"乌坵乡\",\n\t    \"710600\": \"南投县\",\n\t    \"710614\": \"南投市\",\n\t    \"710615\": \"中寮乡\",\n\t    \"710616\": \"草屯镇\",\n\t    \"710617\": \"国姓乡\",\n\t    \"710618\": \"埔里镇\",\n\t    \"710619\": \"仁爱乡\",\n\t    \"710620\": \"名间乡\",\n\t    \"710621\": \"集集镇\",\n\t    \"710622\": \"水里乡\",\n\t    \"710623\": \"鱼池乡\",\n\t    \"710624\": \"信义乡\",\n\t    \"710625\": \"竹山镇\",\n\t    \"710626\": \"鹿谷乡\",\n\t    \"710700\": \"基隆市\",\n\t    \"710701\": \"仁爱区\",\n\t    \"710702\": \"信义区\",\n\t    \"710703\": \"中正区\",\n\t    \"710704\": \"中山区\",\n\t    \"710705\": \"安乐区\",\n\t    \"710706\": \"暖暖区\",\n\t    \"710707\": \"七堵区\",\n\t    \"710708\": \"其它区\",\n\t    \"710800\": \"新竹市\",\n\t    \"710801\": \"东区\",\n\t    \"710802\": \"北区\",\n\t    \"710803\": \"香山区\",\n\t    \"710804\": \"其它区\",\n\t    \"710900\": \"嘉义市\",\n\t    \"710901\": \"东区\",\n\t    \"710902\": \"西区\",\n\t    \"710903\": \"其它区\",\n\t    \"711100\": \"新北市\",\n\t    \"711130\": \"万里区\",\n\t    \"711131\": \"金山区\",\n\t    \"711132\": \"板桥区\",\n\t    \"711133\": \"汐止区\",\n\t    \"711134\": \"深坑区\",\n\t    \"711135\": \"石碇区\",\n\t    \"711136\": \"瑞芳区\",\n\t    \"711137\": \"平溪区\",\n\t    \"711138\": \"双溪区\",\n\t    \"711139\": \"贡寮区\",\n\t    \"711140\": \"新店区\",\n\t    \"711141\": \"坪林区\",\n\t    \"711142\": \"乌来区\",\n\t    \"711143\": \"永和区\",\n\t    \"711144\": \"中和区\",\n\t    \"711145\": \"土城区\",\n\t    \"711146\": \"三峡区\",\n\t    \"711147\": \"树林区\",\n\t    \"711148\": \"莺歌区\",\n\t    \"711149\": \"三重区\",\n\t    \"711150\": \"新庄区\",\n\t    \"711151\": \"泰山区\",\n\t    \"711152\": \"林口区\",\n\t    \"711153\": \"芦洲区\",\n\t    \"711154\": \"五股区\",\n\t    \"711155\": \"八里区\",\n\t    \"711156\": \"淡水区\",\n\t    \"711157\": \"三芝区\",\n\t    \"711158\": \"石门区\",\n\t    \"711200\": \"宜兰县\",\n\t    \"711214\": \"宜兰市\",\n\t    \"711215\": \"头城镇\",\n\t    \"711216\": \"礁溪乡\",\n\t    \"711217\": \"壮围乡\",\n\t    \"711218\": \"员山乡\",\n\t    \"711219\": \"罗东镇\",\n\t    \"711220\": \"三星乡\",\n\t    \"711221\": \"大同乡\",\n\t    \"711222\": \"五结乡\",\n\t    \"711223\": \"冬山乡\",\n\t    \"711224\": \"苏澳镇\",\n\t    \"711225\": \"南澳乡\",\n\t    \"711226\": \"钓鱼台\",\n\t    \"711300\": \"新竹县\",\n\t    \"711314\": \"竹北市\",\n\t    \"711315\": \"湖口乡\",\n\t    \"711316\": \"新丰乡\",\n\t    \"711317\": \"新埔镇\",\n\t    \"711318\": \"关西镇\",\n\t    \"711319\": \"芎林乡\",\n\t    \"711320\": \"宝山乡\",\n\t    \"711321\": \"竹东镇\",\n\t    \"711322\": \"五峰乡\",\n\t    \"711323\": \"横山乡\",\n\t    \"711324\": \"尖石乡\",\n\t    \"711325\": \"北埔乡\",\n\t    \"711326\": \"峨眉乡\",\n\t    \"711400\": \"桃园县\",\n\t    \"711414\": \"中坜市\",\n\t    \"711415\": \"平镇市\",\n\t    \"711416\": \"龙潭乡\",\n\t    \"711417\": \"杨梅市\",\n\t    \"711418\": \"新屋乡\",\n\t    \"711419\": \"观音乡\",\n\t    \"711420\": \"桃园市\",\n\t    \"711421\": \"龟山乡\",\n\t    \"711422\": \"八德市\",\n\t    \"711423\": \"大溪镇\",\n\t    \"711424\": \"复兴乡\",\n\t    \"711425\": \"大园乡\",\n\t    \"711426\": \"芦竹乡\",\n\t    \"711500\": \"苗栗县\",\n\t    \"711519\": \"竹南镇\",\n\t    \"711520\": \"头份镇\",\n\t    \"711521\": \"三湾乡\",\n\t    \"711522\": \"南庄乡\",\n\t    \"711523\": \"狮潭乡\",\n\t    \"711524\": \"后龙镇\",\n\t    \"711525\": \"通霄镇\",\n\t    \"711526\": \"苑里镇\",\n\t    \"711527\": \"苗栗市\",\n\t    \"711528\": \"造桥乡\",\n\t    \"711529\": \"头屋乡\",\n\t    \"711530\": \"公馆乡\",\n\t    \"711531\": \"大湖乡\",\n\t    \"711532\": \"泰安乡\",\n\t    \"711533\": \"铜锣乡\",\n\t    \"711534\": \"三义乡\",\n\t    \"711535\": \"西湖乡\",\n\t    \"711536\": \"卓兰镇\",\n\t    \"711700\": \"彰化县\",\n\t    \"711727\": \"彰化市\",\n\t    \"711728\": \"芬园乡\",\n\t    \"711729\": \"花坛乡\",\n\t    \"711730\": \"秀水乡\",\n\t    \"711731\": \"鹿港镇\",\n\t    \"711732\": \"福兴乡\",\n\t    \"711733\": \"线西乡\",\n\t    \"711734\": \"和美镇\",\n\t    \"711735\": \"伸港乡\",\n\t    \"711736\": \"员林镇\",\n\t    \"711737\": \"社头乡\",\n\t    \"711738\": \"永靖乡\",\n\t    \"711739\": \"埔心乡\",\n\t    \"711740\": \"溪湖镇\",\n\t    \"711741\": \"大村乡\",\n\t    \"711742\": \"埔盐乡\",\n\t    \"711743\": \"田中镇\",\n\t    \"711744\": \"北斗镇\",\n\t    \"711745\": \"田尾乡\",\n\t    \"711746\": \"埤头乡\",\n\t    \"711747\": \"溪州乡\",\n\t    \"711748\": \"竹塘乡\",\n\t    \"711749\": \"二林镇\",\n\t    \"711750\": \"大城乡\",\n\t    \"711751\": \"芳苑乡\",\n\t    \"711752\": \"二水乡\",\n\t    \"711900\": \"嘉义县\",\n\t    \"711919\": \"番路乡\",\n\t    \"711920\": \"梅山乡\",\n\t    \"711921\": \"竹崎乡\",\n\t    \"711922\": \"阿里山乡\",\n\t    \"711923\": \"中埔乡\",\n\t    \"711924\": \"大埔乡\",\n\t    \"711925\": \"水上乡\",\n\t    \"711926\": \"鹿草乡\",\n\t    \"711927\": \"太保市\",\n\t    \"711928\": \"朴子市\",\n\t    \"711929\": \"东石乡\",\n\t    \"711930\": \"六脚乡\",\n\t    \"711931\": \"新港乡\",\n\t    \"711932\": \"民雄乡\",\n\t    \"711933\": \"大林镇\",\n\t    \"711934\": \"溪口乡\",\n\t    \"711935\": \"义竹乡\",\n\t    \"711936\": \"布袋镇\",\n\t    \"712100\": \"云林县\",\n\t    \"712121\": \"斗南镇\",\n\t    \"712122\": \"大埤乡\",\n\t    \"712123\": \"虎尾镇\",\n\t    \"712124\": \"土库镇\",\n\t    \"712125\": \"褒忠乡\",\n\t    \"712126\": \"东势乡\",\n\t    \"712127\": \"台西乡\",\n\t    \"712128\": \"仑背乡\",\n\t    \"712129\": \"麦寮乡\",\n\t    \"712130\": \"斗六市\",\n\t    \"712131\": \"林内乡\",\n\t    \"712132\": \"古坑乡\",\n\t    \"712133\": \"莿桐乡\",\n\t    \"712134\": \"西螺镇\",\n\t    \"712135\": \"二仑乡\",\n\t    \"712136\": \"北港镇\",\n\t    \"712137\": \"水林乡\",\n\t    \"712138\": \"口湖乡\",\n\t    \"712139\": \"四湖乡\",\n\t    \"712140\": \"元长乡\",\n\t    \"712400\": \"屏东县\",\n\t    \"712434\": \"屏东市\",\n\t    \"712435\": \"三地门乡\",\n\t    \"712436\": \"雾台乡\",\n\t    \"712437\": \"玛家乡\",\n\t    \"712438\": \"九如乡\",\n\t    \"712439\": \"里港乡\",\n\t    \"712440\": \"高树乡\",\n\t    \"712441\": \"盐埔乡\",\n\t    \"712442\": \"长治乡\",\n\t    \"712443\": \"麟洛乡\",\n\t    \"712444\": \"竹田乡\",\n\t    \"712445\": \"内埔乡\",\n\t    \"712446\": \"万丹乡\",\n\t    \"712447\": \"潮州镇\",\n\t    \"712448\": \"泰武乡\",\n\t    \"712449\": \"来义乡\",\n\t    \"712450\": \"万峦乡\",\n\t    \"712451\": \"崁顶乡\",\n\t    \"712452\": \"新埤乡\",\n\t    \"712453\": \"南州乡\",\n\t    \"712454\": \"林边乡\",\n\t    \"712455\": \"东港镇\",\n\t    \"712456\": \"琉球乡\",\n\t    \"712457\": \"佳冬乡\",\n\t    \"712458\": \"新园乡\",\n\t    \"712459\": \"枋寮乡\",\n\t    \"712460\": \"枋山乡\",\n\t    \"712461\": \"春日乡\",\n\t    \"712462\": \"狮子乡\",\n\t    \"712463\": \"车城乡\",\n\t    \"712464\": \"牡丹乡\",\n\t    \"712465\": \"恒春镇\",\n\t    \"712466\": \"满州乡\",\n\t    \"712500\": \"台东县\",\n\t    \"712517\": \"台东市\",\n\t    \"712518\": \"绿岛乡\",\n\t    \"712519\": \"兰屿乡\",\n\t    \"712520\": \"延平乡\",\n\t    \"712521\": \"卑南乡\",\n\t    \"712522\": \"鹿野乡\",\n\t    \"712523\": \"关山镇\",\n\t    \"712524\": \"海端乡\",\n\t    \"712525\": \"池上乡\",\n\t    \"712526\": \"东河乡\",\n\t    \"712527\": \"成功镇\",\n\t    \"712528\": \"长滨乡\",\n\t    \"712529\": \"金峰乡\",\n\t    \"712530\": \"大武乡\",\n\t    \"712531\": \"达仁乡\",\n\t    \"712532\": \"太麻里乡\",\n\t    \"712600\": \"花莲县\",\n\t    \"712615\": \"花莲市\",\n\t    \"712616\": \"新城乡\",\n\t    \"712617\": \"太鲁阁\",\n\t    \"712618\": \"秀林乡\",\n\t    \"712619\": \"吉安乡\",\n\t    \"712620\": \"寿丰乡\",\n\t    \"712621\": \"凤林镇\",\n\t    \"712622\": \"光复乡\",\n\t    \"712623\": \"丰滨乡\",\n\t    \"712624\": \"瑞穗乡\",\n\t    \"712625\": \"万荣乡\",\n\t    \"712626\": \"玉里镇\",\n\t    \"712627\": \"卓溪乡\",\n\t    \"712628\": \"富里乡\",\n\t    \"712700\": \"澎湖县\",\n\t    \"712707\": \"马公市\",\n\t    \"712708\": \"西屿乡\",\n\t    \"712709\": \"望安乡\",\n\t    \"712710\": \"七美乡\",\n\t    \"712711\": \"白沙乡\",\n\t    \"712712\": \"湖西乡\",\n\t    \"712800\": \"连江县\",\n\t    \"712805\": \"南竿乡\",\n\t    \"712806\": \"北竿乡\",\n\t    \"712807\": \"莒光乡\",\n\t    \"712808\": \"东引乡\",\n\t    \"810000\": \"香港特别行政区\",\n\t    \"810100\": \"香港岛\",\n\t    \"810101\": \"中西区\",\n\t    \"810102\": \"湾仔\",\n\t    \"810103\": \"东区\",\n\t    \"810104\": \"南区\",\n\t    \"810200\": \"九龙\",\n\t    \"810201\": \"九龙城区\",\n\t    \"810202\": \"油尖旺区\",\n\t    \"810203\": \"深水埗区\",\n\t    \"810204\": \"黄大仙区\",\n\t    \"810205\": \"观塘区\",\n\t    \"810300\": \"新界\",\n\t    \"810301\": \"北区\",\n\t    \"810302\": \"大埔区\",\n\t    \"810303\": \"沙田区\",\n\t    \"810304\": \"西贡区\",\n\t    \"810305\": \"元朗区\",\n\t    \"810306\": \"屯门区\",\n\t    \"810307\": \"荃湾区\",\n\t    \"810308\": \"葵青区\",\n\t    \"810309\": \"离岛区\",\n\t    \"820000\": \"澳门特别行政区\",\n\t    \"820100\": \"澳门半岛\",\n\t    \"820200\": \"离岛\",\n\t    \"990000\": \"海外\",\n\t    \"990100\": \"海外\"\n\t}\n\n\t// id pid/parentId name children\n\tfunction tree(list) {\n\t    var mapped = {}\n\t    for (var i = 0, item; i < list.length; i++) {\n\t        item = list[i]\n\t        if (!item || !item.id) continue\n\t        mapped[item.id] = item\n\t    }\n\n\t    var result = []\n\t    for (var ii = 0; ii < list.length; ii++) {\n\t        item = list[ii]\n\n\t        if (!item) continue\n\t            /* jshint -W041 */\n\t        if (item.pid == undefined && item.parentId == undefined) {\n\t            result.push(item)\n\t            continue\n\t        }\n\t        var parent = mapped[item.pid] || mapped[item.parentId]\n\t        if (!parent) continue\n\t        if (!parent.children) parent.children = []\n\t        parent.children.push(item)\n\t    }\n\t    return result\n\t}\n\n\tvar DICT_FIXED = function() {\n\t    var fixed = []\n\t    for (var id in DICT) {\n\t        var pid = id.slice(2, 6) === '0000' ? undefined :\n\t            id.slice(4, 6) == '00' ? (id.slice(0, 2) + '0000') :\n\t            id.slice(0, 4) + '00'\n\t        fixed.push({\n\t            id: id,\n\t            pid: pid,\n\t            name: DICT[id]\n\t        })\n\t    }\n\t    return tree(fixed)\n\t}()\n\n\tmodule.exports = DICT_FIXED\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## Miscellaneous\n\t*/\n\tvar DICT = __webpack_require__(18)\n\tmodule.exports = {\n\t\t// Dice\n\t\td4: function() {\n\t\t\treturn this.natural(1, 4)\n\t\t},\n\t\td6: function() {\n\t\t\treturn this.natural(1, 6)\n\t\t},\n\t\td8: function() {\n\t\t\treturn this.natural(1, 8)\n\t\t},\n\t\td12: function() {\n\t\t\treturn this.natural(1, 12)\n\t\t},\n\t\td20: function() {\n\t\t\treturn this.natural(1, 20)\n\t\t},\n\t\td100: function() {\n\t\t\treturn this.natural(1, 100)\n\t\t},\n\t\t/*\n\t\t    随机生成一个 GUID。\n\n\t\t    http://www.broofa.com/2008/09/javascript-uuid-function/\n\t\t    [UUID 规范](http://www.ietf.org/rfc/rfc4122.txt)\n\t\t        UUIDs (Universally Unique IDentifier)\n\t\t        GUIDs (Globally Unique IDentifier)\n\t\t        The formal definition of the UUID string representation is provided by the following ABNF [7]:\n\t\t            UUID                   = time-low \"-\" time-mid \"-\"\n\t\t                                   time-high-and-version \"-\"\n\t\t                                   clock-seq-and-reserved\n\t\t                                   clock-seq-low \"-\" node\n\t\t            time-low               = 4hexOctet\n\t\t            time-mid               = 2hexOctet\n\t\t            time-high-and-version  = 2hexOctet\n\t\t            clock-seq-and-reserved = hexOctet\n\t\t            clock-seq-low          = hexOctet\n\t\t            node                   = 6hexOctet\n\t\t            hexOctet               = hexDigit hexDigit\n\t\t            hexDigit =\n\t\t                \"0\" / \"1\" / \"2\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" /\n\t\t                \"a\" / \"b\" / \"c\" / \"d\" / \"e\" / \"f\" /\n\t\t                \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\"\n\t\t    \n\t\t    https://github.com/victorquinn/chancejs/blob/develop/chance.js#L1349\n\t\t*/\n\t\tguid: function() {\n\t\t\tvar pool = \"abcdefABCDEF1234567890\",\n\t\t\t\tguid = this.string(pool, 8) + '-' +\n\t\t\t\tthis.string(pool, 4) + '-' +\n\t\t\t\tthis.string(pool, 4) + '-' +\n\t\t\t\tthis.string(pool, 4) + '-' +\n\t\t\t\tthis.string(pool, 12);\n\t\t\treturn guid\n\t\t},\n\t\tuuid: function() {\n\t\t\treturn this.guid()\n\t\t},\n\t\t/*\n\t\t    随机生成一个 18 位身份证。\n\n\t\t    [身份证](http://baike.baidu.com/view/1697.htm#4)\n\t\t        地址码 6 + 出生日期码 8 + 顺序码 3 + 校验码 1\n\t\t    [《中华人民共和国行政区划代码》国家标准(GB/T2260)](http://zhidao.baidu.com/question/1954561.html)\n\t\t*/\n\t\tid: function() {\n\t\t\tvar id,\n\t\t\t\tsum = 0,\n\t\t\t\trank = [\n\t\t\t\t\t\"7\", \"9\", \"10\", \"5\", \"8\", \"4\", \"2\", \"1\", \"6\", \"3\", \"7\", \"9\", \"10\", \"5\", \"8\", \"4\", \"2\"\n\t\t\t\t],\n\t\t\t\tlast = [\n\t\t\t\t\t\"1\", \"0\", \"X\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\"\n\t\t\t\t]\n\n\t\t\tid = this.pick(DICT).id +\n\t\t\t\tthis.date('yyyyMMdd') +\n\t\t\t\tthis.string('number', 3)\n\n\t\t\tfor (var i = 0; i < id.length; i++) {\n\t\t\t\tsum += id[i] * rank[i];\n\t\t\t}\n\t\t\tid += last[sum % 11];\n\n\t\t\treturn id\n\t\t},\n\n\t\t/*\n\t\t    生成一个全局的自增整数。\n\t\t    类似自增主键（auto increment primary key）。\n\t\t*/\n\t\tincrement: function() {\n\t\t\tvar key = 0\n\t\t\treturn function(step) {\n\t\t\t\treturn key += (+step || 1) // step?\n\t\t\t}\n\t\t}(),\n\t\tinc: function(step) {\n\t\t\treturn this.increment(step)\n\t\t}\n\t}\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Parser = __webpack_require__(21)\n\tvar Handler = __webpack_require__(22)\n\tmodule.exports = {\n\t\tParser: Parser,\n\t\tHandler: Handler\n\t}\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\n\t// https://github.com/nuysoft/regexp\n\t// forked from https://github.com/ForbesLindesay/regexp\n\n\tfunction parse(n) {\n\t    if (\"string\" != typeof n) {\n\t        var l = new TypeError(\"The regexp to parse must be represented as a string.\");\n\t        throw l;\n\t    }\n\t    return index = 1, cgs = {}, parser.parse(n);\n\t}\n\n\tfunction Token(n) {\n\t    this.type = n, this.offset = Token.offset(), this.text = Token.text();\n\t}\n\n\tfunction Alternate(n, l) {\n\t    Token.call(this, \"alternate\"), this.left = n, this.right = l;\n\t}\n\n\tfunction Match(n) {\n\t    Token.call(this, \"match\"), this.body = n.filter(Boolean);\n\t}\n\n\tfunction Group(n, l) {\n\t    Token.call(this, n), this.body = l;\n\t}\n\n\tfunction CaptureGroup(n) {\n\t    Group.call(this, \"capture-group\"), this.index = cgs[this.offset] || (cgs[this.offset] = index++), \n\t    this.body = n;\n\t}\n\n\tfunction Quantified(n, l) {\n\t    Token.call(this, \"quantified\"), this.body = n, this.quantifier = l;\n\t}\n\n\tfunction Quantifier(n, l) {\n\t    Token.call(this, \"quantifier\"), this.min = n, this.max = l, this.greedy = !0;\n\t}\n\n\tfunction CharSet(n, l) {\n\t    Token.call(this, \"charset\"), this.invert = n, this.body = l;\n\t}\n\n\tfunction CharacterRange(n, l) {\n\t    Token.call(this, \"range\"), this.start = n, this.end = l;\n\t}\n\n\tfunction Literal(n) {\n\t    Token.call(this, \"literal\"), this.body = n, this.escaped = this.body != this.text;\n\t}\n\n\tfunction Unicode(n) {\n\t    Token.call(this, \"unicode\"), this.code = n.toUpperCase();\n\t}\n\n\tfunction Hex(n) {\n\t    Token.call(this, \"hex\"), this.code = n.toUpperCase();\n\t}\n\n\tfunction Octal(n) {\n\t    Token.call(this, \"octal\"), this.code = n.toUpperCase();\n\t}\n\n\tfunction BackReference(n) {\n\t    Token.call(this, \"back-reference\"), this.code = n.toUpperCase();\n\t}\n\n\tfunction ControlCharacter(n) {\n\t    Token.call(this, \"control-character\"), this.code = n.toUpperCase();\n\t}\n\n\tvar parser = function() {\n\t    function n(n, l) {\n\t        function u() {\n\t            this.constructor = n;\n\t        }\n\t        u.prototype = l.prototype, n.prototype = new u();\n\t    }\n\t    function l(n, l, u, t, r) {\n\t        function e(n, l) {\n\t            function u(n) {\n\t                function l(n) {\n\t                    return n.charCodeAt(0).toString(16).toUpperCase();\n\t                }\n\t                return n.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"').replace(/\\x08/g, \"\\\\b\").replace(/\\t/g, \"\\\\t\").replace(/\\n/g, \"\\\\n\").replace(/\\f/g, \"\\\\f\").replace(/\\r/g, \"\\\\r\").replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function(n) {\n\t                    return \"\\\\x0\" + l(n);\n\t                }).replace(/[\\x10-\\x1F\\x80-\\xFF]/g, function(n) {\n\t                    return \"\\\\x\" + l(n);\n\t                }).replace(/[\\u0180-\\u0FFF]/g, function(n) {\n\t                    return \"\\\\u0\" + l(n);\n\t                }).replace(/[\\u1080-\\uFFFF]/g, function(n) {\n\t                    return \"\\\\u\" + l(n);\n\t                });\n\t            }\n\t            var t, r;\n\t            switch (n.length) {\n\t              case 0:\n\t                t = \"end of input\";\n\t                break;\n\n\t              case 1:\n\t                t = n[0];\n\t                break;\n\n\t              default:\n\t                t = n.slice(0, -1).join(\", \") + \" or \" + n[n.length - 1];\n\t            }\n\t            return r = l ? '\"' + u(l) + '\"' : \"end of input\", \"Expected \" + t + \" but \" + r + \" found.\";\n\t        }\n\t        this.expected = n, this.found = l, this.offset = u, this.line = t, this.column = r, \n\t        this.name = \"SyntaxError\", this.message = e(n, l);\n\t    }\n\t    function u(n) {\n\t        function u() {\n\t            return n.substring(Lt, qt);\n\t        }\n\t        function t() {\n\t            return Lt;\n\t        }\n\t        function r(l) {\n\t            function u(l, u, t) {\n\t                var r, e;\n\t                for (r = u; t > r; r++) e = n.charAt(r), \"\\n\" === e ? (l.seenCR || l.line++, l.column = 1, \n\t                l.seenCR = !1) : \"\\r\" === e || \"\\u2028\" === e || \"\\u2029\" === e ? (l.line++, l.column = 1, \n\t                l.seenCR = !0) : (l.column++, l.seenCR = !1);\n\t            }\n\t            return Mt !== l && (Mt > l && (Mt = 0, Dt = {\n\t                line: 1,\n\t                column: 1,\n\t                seenCR: !1\n\t            }), u(Dt, Mt, l), Mt = l), Dt;\n\t        }\n\t        function e(n) {\n\t            Ht > qt || (qt > Ht && (Ht = qt, Ot = []), Ot.push(n));\n\t        }\n\t        function o(n) {\n\t            var l = 0;\n\t            for (n.sort(); l < n.length; ) n[l - 1] === n[l] ? n.splice(l, 1) : l++;\n\t        }\n\t        function c() {\n\t            var l, u, t, r, o;\n\t            return l = qt, u = i(), null !== u ? (t = qt, 124 === n.charCodeAt(qt) ? (r = fl, \n\t            qt++) : (r = null, 0 === Wt && e(sl)), null !== r ? (o = c(), null !== o ? (r = [ r, o ], \n\t            t = r) : (qt = t, t = il)) : (qt = t, t = il), null === t && (t = al), null !== t ? (Lt = l, \n\t            u = hl(u, t), null === u ? (qt = l, l = u) : l = u) : (qt = l, l = il)) : (qt = l, \n\t            l = il), l;\n\t        }\n\t        function i() {\n\t            var n, l, u, t, r;\n\t            if (n = qt, l = f(), null === l && (l = al), null !== l) if (u = qt, Wt++, t = d(), \n\t            Wt--, null === t ? u = al : (qt = u, u = il), null !== u) {\n\t                for (t = [], r = h(), null === r && (r = a()); null !== r; ) t.push(r), r = h(), \n\t                null === r && (r = a());\n\t                null !== t ? (r = s(), null === r && (r = al), null !== r ? (Lt = n, l = dl(l, t, r), \n\t                null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, n = il);\n\t            } else qt = n, n = il; else qt = n, n = il;\n\t            return n;\n\t        }\n\t        function a() {\n\t            var n;\n\t            return n = x(), null === n && (n = Q(), null === n && (n = B())), n;\n\t        }\n\t        function f() {\n\t            var l, u;\n\t            return l = qt, 94 === n.charCodeAt(qt) ? (u = pl, qt++) : (u = null, 0 === Wt && e(vl)), \n\t            null !== u && (Lt = l, u = wl()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function s() {\n\t            var l, u;\n\t            return l = qt, 36 === n.charCodeAt(qt) ? (u = Al, qt++) : (u = null, 0 === Wt && e(Cl)), \n\t            null !== u && (Lt = l, u = gl()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function h() {\n\t            var n, l, u;\n\t            return n = qt, l = a(), null !== l ? (u = d(), null !== u ? (Lt = n, l = bl(l, u), \n\t            null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, n = il), n;\n\t        }\n\t        function d() {\n\t            var n, l, u;\n\t            return Wt++, n = qt, l = p(), null !== l ? (u = k(), null === u && (u = al), null !== u ? (Lt = n, \n\t            l = Tl(l, u), null === l ? (qt = n, n = l) : n = l) : (qt = n, n = il)) : (qt = n, \n\t            n = il), Wt--, null === n && (l = null, 0 === Wt && e(kl)), n;\n\t        }\n\t        function p() {\n\t            var n;\n\t            return n = v(), null === n && (n = w(), null === n && (n = A(), null === n && (n = C(), \n\t            null === n && (n = g(), null === n && (n = b()))))), n;\n\t        }\n\t        function v() {\n\t            var l, u, t, r, o, c;\n\t            return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)), \n\t            null !== u ? (t = T(), null !== t ? (44 === n.charCodeAt(qt) ? (r = ml, qt++) : (r = null, \n\t            0 === Wt && e(Rl)), null !== r ? (o = T(), null !== o ? (125 === n.charCodeAt(qt) ? (c = Fl, \n\t            qt++) : (c = null, 0 === Wt && e(Ql)), null !== c ? (Lt = l, u = Sl(t, o), null === u ? (qt = l, \n\t            l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function w() {\n\t            var l, u, t, r;\n\t            return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)), \n\t            null !== u ? (t = T(), null !== t ? (n.substr(qt, 2) === Ul ? (r = Ul, qt += 2) : (r = null, \n\t            0 === Wt && e(El)), null !== r ? (Lt = l, u = Gl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function A() {\n\t            var l, u, t, r;\n\t            return l = qt, 123 === n.charCodeAt(qt) ? (u = xl, qt++) : (u = null, 0 === Wt && e(yl)), \n\t            null !== u ? (t = T(), null !== t ? (125 === n.charCodeAt(qt) ? (r = Fl, qt++) : (r = null, \n\t            0 === Wt && e(Ql)), null !== r ? (Lt = l, u = Bl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function C() {\n\t            var l, u;\n\t            return l = qt, 43 === n.charCodeAt(qt) ? (u = jl, qt++) : (u = null, 0 === Wt && e($l)), \n\t            null !== u && (Lt = l, u = ql()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function g() {\n\t            var l, u;\n\t            return l = qt, 42 === n.charCodeAt(qt) ? (u = Ll, qt++) : (u = null, 0 === Wt && e(Ml)), \n\t            null !== u && (Lt = l, u = Dl()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function b() {\n\t            var l, u;\n\t            return l = qt, 63 === n.charCodeAt(qt) ? (u = Hl, qt++) : (u = null, 0 === Wt && e(Ol)), \n\t            null !== u && (Lt = l, u = Wl()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function k() {\n\t            var l;\n\t            return 63 === n.charCodeAt(qt) ? (l = Hl, qt++) : (l = null, 0 === Wt && e(Ol)), \n\t            l;\n\t        }\n\t        function T() {\n\t            var l, u, t;\n\t            if (l = qt, u = [], zl.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null, \n\t            0 === Wt && e(Il)), null !== t) for (;null !== t; ) u.push(t), zl.test(n.charAt(qt)) ? (t = n.charAt(qt), \n\t            qt++) : (t = null, 0 === Wt && e(Il)); else u = il;\n\t            return null !== u && (Lt = l, u = Jl(u)), null === u ? (qt = l, l = u) : l = u, \n\t            l;\n\t        }\n\t        function x() {\n\t            var l, u, t, r;\n\t            return l = qt, 40 === n.charCodeAt(qt) ? (u = Kl, qt++) : (u = null, 0 === Wt && e(Nl)), \n\t            null !== u ? (t = R(), null === t && (t = F(), null === t && (t = m(), null === t && (t = y()))), \n\t            null !== t ? (41 === n.charCodeAt(qt) ? (r = Pl, qt++) : (r = null, 0 === Wt && e(Vl)), \n\t            null !== r ? (Lt = l, u = Xl(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function y() {\n\t            var n, l;\n\t            return n = qt, l = c(), null !== l && (Lt = n, l = Yl(l)), null === l ? (qt = n, \n\t            n = l) : n = l, n;\n\t        }\n\t        function m() {\n\t            var l, u, t;\n\t            return l = qt, n.substr(qt, 2) === Zl ? (u = Zl, qt += 2) : (u = null, 0 === Wt && e(_l)), \n\t            null !== u ? (t = c(), null !== t ? (Lt = l, u = nu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function R() {\n\t            var l, u, t;\n\t            return l = qt, n.substr(qt, 2) === lu ? (u = lu, qt += 2) : (u = null, 0 === Wt && e(uu)), \n\t            null !== u ? (t = c(), null !== t ? (Lt = l, u = tu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function F() {\n\t            var l, u, t;\n\t            return l = qt, n.substr(qt, 2) === ru ? (u = ru, qt += 2) : (u = null, 0 === Wt && e(eu)), \n\t            null !== u ? (t = c(), null !== t ? (Lt = l, u = ou(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function Q() {\n\t            var l, u, t, r, o;\n\t            if (Wt++, l = qt, 91 === n.charCodeAt(qt) ? (u = iu, qt++) : (u = null, 0 === Wt && e(au)), \n\t            null !== u) if (94 === n.charCodeAt(qt) ? (t = pl, qt++) : (t = null, 0 === Wt && e(vl)), \n\t            null === t && (t = al), null !== t) {\n\t                for (r = [], o = S(), null === o && (o = U()); null !== o; ) r.push(o), o = S(), \n\t                null === o && (o = U());\n\t                null !== r ? (93 === n.charCodeAt(qt) ? (o = fu, qt++) : (o = null, 0 === Wt && e(su)), \n\t                null !== o ? (Lt = l, u = hu(t, r), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t                l = il)) : (qt = l, l = il);\n\t            } else qt = l, l = il; else qt = l, l = il;\n\t            return Wt--, null === l && (u = null, 0 === Wt && e(cu)), l;\n\t        }\n\t        function S() {\n\t            var l, u, t, r;\n\t            return Wt++, l = qt, u = U(), null !== u ? (45 === n.charCodeAt(qt) ? (t = pu, qt++) : (t = null, \n\t            0 === Wt && e(vu)), null !== t ? (r = U(), null !== r ? (Lt = l, u = wu(u, r), null === u ? (qt = l, \n\t            l = u) : l = u) : (qt = l, l = il)) : (qt = l, l = il)) : (qt = l, l = il), Wt--, \n\t            null === l && (u = null, 0 === Wt && e(du)), l;\n\t        }\n\t        function U() {\n\t            var n, l;\n\t            return Wt++, n = G(), null === n && (n = E()), Wt--, null === n && (l = null, 0 === Wt && e(Au)), \n\t            n;\n\t        }\n\t        function E() {\n\t            var l, u;\n\t            return l = qt, Cu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null, 0 === Wt && e(gu)), \n\t            null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function G() {\n\t            var n;\n\t            return n = L(), null === n && (n = Y(), null === n && (n = H(), null === n && (n = O(), \n\t            null === n && (n = W(), null === n && (n = z(), null === n && (n = I(), null === n && (n = J(), \n\t            null === n && (n = K(), null === n && (n = N(), null === n && (n = P(), null === n && (n = V(), \n\t            null === n && (n = X(), null === n && (n = _(), null === n && (n = nl(), null === n && (n = ll(), \n\t            null === n && (n = ul(), null === n && (n = tl()))))))))))))))))), n;\n\t        }\n\t        function B() {\n\t            var n;\n\t            return n = j(), null === n && (n = q(), null === n && (n = $())), n;\n\t        }\n\t        function j() {\n\t            var l, u;\n\t            return l = qt, 46 === n.charCodeAt(qt) ? (u = ku, qt++) : (u = null, 0 === Wt && e(Tu)), \n\t            null !== u && (Lt = l, u = xu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function $() {\n\t            var l, u;\n\t            return Wt++, l = qt, mu.test(n.charAt(qt)) ? (u = n.charAt(qt), qt++) : (u = null, \n\t            0 === Wt && e(Ru)), null !== u && (Lt = l, u = bu(u)), null === u ? (qt = l, l = u) : l = u, \n\t            Wt--, null === l && (u = null, 0 === Wt && e(yu)), l;\n\t        }\n\t        function q() {\n\t            var n;\n\t            return n = M(), null === n && (n = D(), null === n && (n = Y(), null === n && (n = H(), \n\t            null === n && (n = O(), null === n && (n = W(), null === n && (n = z(), null === n && (n = I(), \n\t            null === n && (n = J(), null === n && (n = K(), null === n && (n = N(), null === n && (n = P(), \n\t            null === n && (n = V(), null === n && (n = X(), null === n && (n = Z(), null === n && (n = _(), \n\t            null === n && (n = nl(), null === n && (n = ll(), null === n && (n = ul(), null === n && (n = tl()))))))))))))))))))), \n\t            n;\n\t        }\n\t        function L() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)), \n\t            null !== u && (Lt = l, u = Su()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function M() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Fu ? (u = Fu, qt += 2) : (u = null, 0 === Wt && e(Qu)), \n\t            null !== u && (Lt = l, u = Uu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function D() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Eu ? (u = Eu, qt += 2) : (u = null, 0 === Wt && e(Gu)), \n\t            null !== u && (Lt = l, u = Bu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function H() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === ju ? (u = ju, qt += 2) : (u = null, 0 === Wt && e($u)), \n\t            null !== u && (Lt = l, u = qu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function O() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Lu ? (u = Lu, qt += 2) : (u = null, 0 === Wt && e(Mu)), \n\t            null !== u && (Lt = l, u = Du()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function W() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Hu ? (u = Hu, qt += 2) : (u = null, 0 === Wt && e(Ou)), \n\t            null !== u && (Lt = l, u = Wu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function z() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === zu ? (u = zu, qt += 2) : (u = null, 0 === Wt && e(Iu)), \n\t            null !== u && (Lt = l, u = Ju()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function I() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Ku ? (u = Ku, qt += 2) : (u = null, 0 === Wt && e(Nu)), \n\t            null !== u && (Lt = l, u = Pu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function J() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Vu ? (u = Vu, qt += 2) : (u = null, 0 === Wt && e(Xu)), \n\t            null !== u && (Lt = l, u = Yu()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function K() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Zu ? (u = Zu, qt += 2) : (u = null, 0 === Wt && e(_u)), \n\t            null !== u && (Lt = l, u = nt()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function N() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === lt ? (u = lt, qt += 2) : (u = null, 0 === Wt && e(ut)), \n\t            null !== u && (Lt = l, u = tt()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function P() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === rt ? (u = rt, qt += 2) : (u = null, 0 === Wt && e(et)), \n\t            null !== u && (Lt = l, u = ot()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function V() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === ct ? (u = ct, qt += 2) : (u = null, 0 === Wt && e(it)), \n\t            null !== u && (Lt = l, u = at()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function X() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === ft ? (u = ft, qt += 2) : (u = null, 0 === Wt && e(st)), \n\t            null !== u && (Lt = l, u = ht()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function Y() {\n\t            var l, u, t;\n\t            return l = qt, n.substr(qt, 2) === dt ? (u = dt, qt += 2) : (u = null, 0 === Wt && e(pt)), \n\t            null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)), \n\t            null !== t ? (Lt = l, u = wt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function Z() {\n\t            var l, u, t;\n\t            return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)), \n\t            null !== u ? (gt.test(n.charAt(qt)) ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(bt)), \n\t            null !== t ? (Lt = l, u = kt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        function _() {\n\t            var l, u, t, r;\n\t            if (l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)), \n\t            null !== u) {\n\t                if (t = [], yt.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(mt)), \n\t                null !== r) for (;null !== r; ) t.push(r), yt.test(n.charAt(qt)) ? (r = n.charAt(qt), \n\t                qt++) : (r = null, 0 === Wt && e(mt)); else t = il;\n\t                null !== t ? (Lt = l, u = Rt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t                l = il);\n\t            } else qt = l, l = il;\n\t            return l;\n\t        }\n\t        function nl() {\n\t            var l, u, t, r;\n\t            if (l = qt, n.substr(qt, 2) === Ft ? (u = Ft, qt += 2) : (u = null, 0 === Wt && e(Qt)), \n\t            null !== u) {\n\t                if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)), \n\t                null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt), \n\t                qt++) : (r = null, 0 === Wt && e(Ut)); else t = il;\n\t                null !== t ? (Lt = l, u = Et(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t                l = il);\n\t            } else qt = l, l = il;\n\t            return l;\n\t        }\n\t        function ll() {\n\t            var l, u, t, r;\n\t            if (l = qt, n.substr(qt, 2) === Gt ? (u = Gt, qt += 2) : (u = null, 0 === Wt && e(Bt)), \n\t            null !== u) {\n\t                if (t = [], St.test(n.charAt(qt)) ? (r = n.charAt(qt), qt++) : (r = null, 0 === Wt && e(Ut)), \n\t                null !== r) for (;null !== r; ) t.push(r), St.test(n.charAt(qt)) ? (r = n.charAt(qt), \n\t                qt++) : (r = null, 0 === Wt && e(Ut)); else t = il;\n\t                null !== t ? (Lt = l, u = jt(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t                l = il);\n\t            } else qt = l, l = il;\n\t            return l;\n\t        }\n\t        function ul() {\n\t            var l, u;\n\t            return l = qt, n.substr(qt, 2) === Tt ? (u = Tt, qt += 2) : (u = null, 0 === Wt && e(xt)), \n\t            null !== u && (Lt = l, u = $t()), null === u ? (qt = l, l = u) : l = u, l;\n\t        }\n\t        function tl() {\n\t            var l, u, t;\n\t            return l = qt, 92 === n.charCodeAt(qt) ? (u = At, qt++) : (u = null, 0 === Wt && e(Ct)), \n\t            null !== u ? (n.length > qt ? (t = n.charAt(qt), qt++) : (t = null, 0 === Wt && e(vt)), \n\t            null !== t ? (Lt = l, u = bu(t), null === u ? (qt = l, l = u) : l = u) : (qt = l, \n\t            l = il)) : (qt = l, l = il), l;\n\t        }\n\t        var rl, el = arguments.length > 1 ? arguments[1] : {}, ol = {\n\t            regexp: c\n\t        }, cl = c, il = null, al = \"\", fl = \"|\", sl = '\"|\"', hl = function(n, l) {\n\t            return l ? new Alternate(n, l[1]) : n;\n\t        }, dl = function(n, l, u) {\n\t            return new Match([ n ].concat(l).concat([ u ]));\n\t        }, pl = \"^\", vl = '\"^\"', wl = function() {\n\t            return new Token(\"start\");\n\t        }, Al = \"$\", Cl = '\"$\"', gl = function() {\n\t            return new Token(\"end\");\n\t        }, bl = function(n, l) {\n\t            return new Quantified(n, l);\n\t        }, kl = \"Quantifier\", Tl = function(n, l) {\n\t            return l && (n.greedy = !1), n;\n\t        }, xl = \"{\", yl = '\"{\"', ml = \",\", Rl = '\",\"', Fl = \"}\", Ql = '\"}\"', Sl = function(n, l) {\n\t            return new Quantifier(n, l);\n\t        }, Ul = \",}\", El = '\",}\"', Gl = function(n) {\n\t            return new Quantifier(n, 1/0);\n\t        }, Bl = function(n) {\n\t            return new Quantifier(n, n);\n\t        }, jl = \"+\", $l = '\"+\"', ql = function() {\n\t            return new Quantifier(1, 1/0);\n\t        }, Ll = \"*\", Ml = '\"*\"', Dl = function() {\n\t            return new Quantifier(0, 1/0);\n\t        }, Hl = \"?\", Ol = '\"?\"', Wl = function() {\n\t            return new Quantifier(0, 1);\n\t        }, zl = /^[0-9]/, Il = \"[0-9]\", Jl = function(n) {\n\t            return +n.join(\"\");\n\t        }, Kl = \"(\", Nl = '\"(\"', Pl = \")\", Vl = '\")\"', Xl = function(n) {\n\t            return n;\n\t        }, Yl = function(n) {\n\t            return new CaptureGroup(n);\n\t        }, Zl = \"?:\", _l = '\"?:\"', nu = function(n) {\n\t            return new Group(\"non-capture-group\", n);\n\t        }, lu = \"?=\", uu = '\"?=\"', tu = function(n) {\n\t            return new Group(\"positive-lookahead\", n);\n\t        }, ru = \"?!\", eu = '\"?!\"', ou = function(n) {\n\t            return new Group(\"negative-lookahead\", n);\n\t        }, cu = \"CharacterSet\", iu = \"[\", au = '\"[\"', fu = \"]\", su = '\"]\"', hu = function(n, l) {\n\t            return new CharSet(!!n, l);\n\t        }, du = \"CharacterRange\", pu = \"-\", vu = '\"-\"', wu = function(n, l) {\n\t            return new CharacterRange(n, l);\n\t        }, Au = \"Character\", Cu = /^[^\\\\\\]]/, gu = \"[^\\\\\\\\\\\\]]\", bu = function(n) {\n\t            return new Literal(n);\n\t        }, ku = \".\", Tu = '\".\"', xu = function() {\n\t            return new Token(\"any-character\");\n\t        }, yu = \"Literal\", mu = /^[^|\\\\\\/.[()?+*$\\^]/, Ru = \"[^|\\\\\\\\\\\\/.[()?+*$\\\\^]\", Fu = \"\\\\b\", Qu = '\"\\\\\\\\b\"', Su = function() {\n\t            return new Token(\"backspace\");\n\t        }, Uu = function() {\n\t            return new Token(\"word-boundary\");\n\t        }, Eu = \"\\\\B\", Gu = '\"\\\\\\\\B\"', Bu = function() {\n\t            return new Token(\"non-word-boundary\");\n\t        }, ju = \"\\\\d\", $u = '\"\\\\\\\\d\"', qu = function() {\n\t            return new Token(\"digit\");\n\t        }, Lu = \"\\\\D\", Mu = '\"\\\\\\\\D\"', Du = function() {\n\t            return new Token(\"non-digit\");\n\t        }, Hu = \"\\\\f\", Ou = '\"\\\\\\\\f\"', Wu = function() {\n\t            return new Token(\"form-feed\");\n\t        }, zu = \"\\\\n\", Iu = '\"\\\\\\\\n\"', Ju = function() {\n\t            return new Token(\"line-feed\");\n\t        }, Ku = \"\\\\r\", Nu = '\"\\\\\\\\r\"', Pu = function() {\n\t            return new Token(\"carriage-return\");\n\t        }, Vu = \"\\\\s\", Xu = '\"\\\\\\\\s\"', Yu = function() {\n\t            return new Token(\"white-space\");\n\t        }, Zu = \"\\\\S\", _u = '\"\\\\\\\\S\"', nt = function() {\n\t            return new Token(\"non-white-space\");\n\t        }, lt = \"\\\\t\", ut = '\"\\\\\\\\t\"', tt = function() {\n\t            return new Token(\"tab\");\n\t        }, rt = \"\\\\v\", et = '\"\\\\\\\\v\"', ot = function() {\n\t            return new Token(\"vertical-tab\");\n\t        }, ct = \"\\\\w\", it = '\"\\\\\\\\w\"', at = function() {\n\t            return new Token(\"word\");\n\t        }, ft = \"\\\\W\", st = '\"\\\\\\\\W\"', ht = function() {\n\t            return new Token(\"non-word\");\n\t        }, dt = \"\\\\c\", pt = '\"\\\\\\\\c\"', vt = \"any character\", wt = function(n) {\n\t            return new ControlCharacter(n);\n\t        }, At = \"\\\\\", Ct = '\"\\\\\\\\\"', gt = /^[1-9]/, bt = \"[1-9]\", kt = function(n) {\n\t            return new BackReference(n);\n\t        }, Tt = \"\\\\0\", xt = '\"\\\\\\\\0\"', yt = /^[0-7]/, mt = \"[0-7]\", Rt = function(n) {\n\t            return new Octal(n.join(\"\"));\n\t        }, Ft = \"\\\\x\", Qt = '\"\\\\\\\\x\"', St = /^[0-9a-fA-F]/, Ut = \"[0-9a-fA-F]\", Et = function(n) {\n\t            return new Hex(n.join(\"\"));\n\t        }, Gt = \"\\\\u\", Bt = '\"\\\\\\\\u\"', jt = function(n) {\n\t            return new Unicode(n.join(\"\"));\n\t        }, $t = function() {\n\t            return new Token(\"null-character\");\n\t        }, qt = 0, Lt = 0, Mt = 0, Dt = {\n\t            line: 1,\n\t            column: 1,\n\t            seenCR: !1\n\t        }, Ht = 0, Ot = [], Wt = 0;\n\t        if (\"startRule\" in el) {\n\t            if (!(el.startRule in ol)) throw new Error(\"Can't start parsing from rule \\\"\" + el.startRule + '\".');\n\t            cl = ol[el.startRule];\n\t        }\n\t        if (Token.offset = t, Token.text = u, rl = cl(), null !== rl && qt === n.length) return rl;\n\t        throw o(Ot), Lt = Math.max(qt, Ht), new l(Ot, Lt < n.length ? n.charAt(Lt) : null, Lt, r(Lt).line, r(Lt).column);\n\t    }\n\t    return n(l, Error), {\n\t        SyntaxError: l,\n\t        parse: u\n\t    };\n\t}(), index = 1, cgs = {};\n\n\tmodule.exports = parser\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## RegExp Handler\n\n\t    https://github.com/ForbesLindesay/regexp\n\t    https://github.com/dmajda/pegjs\n\t    http://www.regexper.com/\n\n\t    每个节点的结构\n\t        {\n\t            type: '',\n\t            offset: number,\n\t            text: '',\n\t            body: {},\n\t            escaped: true/false\n\t        }\n\n\t    type 可选值\n\t        alternate             |         选择\n\t        match                 匹配\n\t        capture-group         ()        捕获组\n\t        non-capture-group     (?:...)   非捕获组\n\t        positive-lookahead    (?=p)     零宽正向先行断言\n\t        negative-lookahead    (?!p)     零宽负向先行断言\n\t        quantified            a*        重复节点\n\t        quantifier            *         量词\n\t        charset               []        字符集\n\t        range                 {m, n}    范围\n\t        literal               a         直接量字符\n\t        unicode               \\uxxxx    Unicode\n\t        hex                   \\x        十六进制\n\t        octal                 八进制\n\t        back-reference        \\n        反向引用\n\t        control-character     \\cX       控制字符\n\n\t        // Token\n\t        start               ^       开头\n\t        end                 $       结尾\n\t        any-character       .       任意字符\n\t        backspace           [\\b]    退格直接量\n\t        word-boundary       \\b      单词边界\n\t        non-word-boundary   \\B      非单词边界\n\t        digit               \\d      ASCII 数字，[0-9]\n\t        non-digit           \\D      非 ASCII 数字，[^0-9]\n\t        form-feed           \\f      换页符\n\t        line-feed           \\n      换行符\n\t        carriage-return     \\r      回车符\n\t        white-space         \\s      空白符\n\t        non-white-space     \\S      非空白符\n\t        tab                 \\t      制表符\n\t        vertical-tab        \\v      垂直制表符\n\t        word                \\w      ASCII 字符，[a-zA-Z0-9]\n\t        non-word            \\W      非 ASCII 字符，[^a-zA-Z0-9]\n\t        null-character      \\o      NUL 字符\n\t */\n\n\tvar Util = __webpack_require__(3)\n\tvar Random = __webpack_require__(5)\n\t    /*\n\t        \n\t    */\n\tvar Handler = {\n\t    extend: Util.extend\n\t}\n\n\t// http://en.wikipedia.org/wiki/ASCII#ASCII_printable_code_chart\n\t/*var ASCII_CONTROL_CODE_CHART = {\n\t    '@': ['\\u0000'],\n\t    A: ['\\u0001'],\n\t    B: ['\\u0002'],\n\t    C: ['\\u0003'],\n\t    D: ['\\u0004'],\n\t    E: ['\\u0005'],\n\t    F: ['\\u0006'],\n\t    G: ['\\u0007', '\\a'],\n\t    H: ['\\u0008', '\\b'],\n\t    I: ['\\u0009', '\\t'],\n\t    J: ['\\u000A', '\\n'],\n\t    K: ['\\u000B', '\\v'],\n\t    L: ['\\u000C', '\\f'],\n\t    M: ['\\u000D', '\\r'],\n\t    N: ['\\u000E'],\n\t    O: ['\\u000F'],\n\t    P: ['\\u0010'],\n\t    Q: ['\\u0011'],\n\t    R: ['\\u0012'],\n\t    S: ['\\u0013'],\n\t    T: ['\\u0014'],\n\t    U: ['\\u0015'],\n\t    V: ['\\u0016'],\n\t    W: ['\\u0017'],\n\t    X: ['\\u0018'],\n\t    Y: ['\\u0019'],\n\t    Z: ['\\u001A'],\n\t    '[': ['\\u001B', '\\e'],\n\t    '\\\\': ['\\u001C'],\n\t    ']': ['\\u001D'],\n\t    '^': ['\\u001E'],\n\t    '_': ['\\u001F']\n\t}*/\n\n\t// ASCII printable code chart\n\t// var LOWER = 'abcdefghijklmnopqrstuvwxyz'\n\t// var UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n\t// var NUMBER = '0123456789'\n\t// var SYMBOL = ' !\"#$%&\\'()*+,-./' + ':;<=>?@' + '[\\\\]^_`' + '{|}~'\n\tvar LOWER = ascii(97, 122)\n\tvar UPPER = ascii(65, 90)\n\tvar NUMBER = ascii(48, 57)\n\tvar OTHER = ascii(32, 47) + ascii(58, 64) + ascii(91, 96) + ascii(123, 126) // 排除 95 _ ascii(91, 94) + ascii(96, 96)\n\tvar PRINTABLE = ascii(32, 126)\n\tvar SPACE = ' \\f\\n\\r\\t\\v\\u00A0\\u2028\\u2029'\n\tvar CHARACTER_CLASSES = {\n\t    '\\\\w': LOWER + UPPER + NUMBER + '_', // ascii(95, 95)\n\t    '\\\\W': OTHER.replace('_', ''),\n\t    '\\\\s': SPACE,\n\t    '\\\\S': function() {\n\t        var result = PRINTABLE\n\t        for (var i = 0; i < SPACE.length; i++) {\n\t            result = result.replace(SPACE[i], '')\n\t        }\n\t        return result\n\t    }(),\n\t    '\\\\d': NUMBER,\n\t    '\\\\D': LOWER + UPPER + OTHER\n\t}\n\n\tfunction ascii(from, to) {\n\t    var result = ''\n\t    for (var i = from; i <= to; i++) {\n\t        result += String.fromCharCode(i)\n\t    }\n\t    return result\n\t}\n\n\t// var ast = RegExpParser.parse(regexp.source)\n\tHandler.gen = function(node, result, cache) {\n\t    cache = cache || {\n\t        guid: 1\n\t    }\n\t    return Handler[node.type] ? Handler[node.type](node, result, cache) :\n\t        Handler.token(node, result, cache)\n\t}\n\n\tHandler.extend({\n\t    /* jshint unused:false */\n\t    token: function(node, result, cache) {\n\t        switch (node.type) {\n\t            case 'start':\n\t            case 'end':\n\t                return ''\n\t            case 'any-character':\n\t                return Random.character()\n\t            case 'backspace':\n\t                return ''\n\t            case 'word-boundary': // TODO\n\t                return ''\n\t            case 'non-word-boundary': // TODO\n\t                break\n\t            case 'digit':\n\t                return Random.pick(\n\t                    NUMBER.split('')\n\t                )\n\t            case 'non-digit':\n\t                return Random.pick(\n\t                    (LOWER + UPPER + OTHER).split('')\n\t                )\n\t            case 'form-feed':\n\t                break\n\t            case 'line-feed':\n\t                return node.body || node.text\n\t            case 'carriage-return':\n\t                break\n\t            case 'white-space':\n\t                return Random.pick(\n\t                    SPACE.split('')\n\t                )\n\t            case 'non-white-space':\n\t                return Random.pick(\n\t                    (LOWER + UPPER + NUMBER).split('')\n\t                )\n\t            case 'tab':\n\t                break\n\t            case 'vertical-tab':\n\t                break\n\t            case 'word': // \\w [a-zA-Z0-9]\n\t                return Random.pick(\n\t                    (LOWER + UPPER + NUMBER).split('')\n\t                )\n\t            case 'non-word': // \\W [^a-zA-Z0-9]\n\t                return Random.pick(\n\t                    OTHER.replace('_', '').split('')\n\t                )\n\t            case 'null-character':\n\t                break\n\t        }\n\t        return node.body || node.text\n\t    },\n\t    /*\n\t        {\n\t            type: 'alternate',\n\t            offset: 0,\n\t            text: '',\n\t            left: {\n\t                boyd: []\n\t            },\n\t            right: {\n\t                boyd: []\n\t            }\n\t        }\n\t    */\n\t    alternate: function(node, result, cache) {\n\t        // node.left/right {}\n\t        return this.gen(\n\t            Random.boolean() ? node.left : node.right,\n\t            result,\n\t            cache\n\t        )\n\t    },\n\t    /*\n\t        {\n\t            type: 'match',\n\t            offset: 0,\n\t            text: '',\n\t            body: []\n\t        }\n\t    */\n\t    match: function(node, result, cache) {\n\t        result = ''\n\t            // node.body []\n\t        for (var i = 0; i < node.body.length; i++) {\n\t            result += this.gen(node.body[i], result, cache)\n\t        }\n\t        return result\n\t    },\n\t    // ()\n\t    'capture-group': function(node, result, cache) {\n\t        // node.body {}\n\t        result = this.gen(node.body, result, cache)\n\t        cache[cache.guid++] = result\n\t        return result\n\t    },\n\t    // (?:...)\n\t    'non-capture-group': function(node, result, cache) {\n\t        // node.body {}\n\t        return this.gen(node.body, result, cache)\n\t    },\n\t    // (?=p)\n\t    'positive-lookahead': function(node, result, cache) {\n\t        // node.body\n\t        return this.gen(node.body, result, cache)\n\t    },\n\t    // (?!p)\n\t    'negative-lookahead': function(node, result, cache) {\n\t        // node.body\n\t        return ''\n\t    },\n\t    /*\n\t        {\n\t            type: 'quantified',\n\t            offset: 3,\n\t            text: 'c*',\n\t            body: {\n\t                type: 'literal',\n\t                offset: 3,\n\t                text: 'c',\n\t                body: 'c',\n\t                escaped: false\n\t            },\n\t            quantifier: {\n\t                type: 'quantifier',\n\t                offset: 4,\n\t                text: '*',\n\t                min: 0,\n\t                max: Infinity,\n\t                greedy: true\n\t            }\n\t        }\n\t    */\n\t    quantified: function(node, result, cache) {\n\t        result = ''\n\t            // node.quantifier {}\n\t        var count = this.quantifier(node.quantifier);\n\t        // node.body {}\n\t        for (var i = 0; i < count; i++) {\n\t            result += this.gen(node.body, result, cache)\n\t        }\n\t        return result\n\t    },\n\t    /*\n\t        quantifier: {\n\t            type: 'quantifier',\n\t            offset: 4,\n\t            text: '*',\n\t            min: 0,\n\t            max: Infinity,\n\t            greedy: true\n\t        }\n\t    */\n\t    quantifier: function(node, result, cache) {\n\t        var min = Math.max(node.min, 0)\n\t        var max = isFinite(node.max) ? node.max :\n\t            min + Random.integer(3, 7)\n\t        return Random.integer(min, max)\n\t    },\n\t    /*\n\t        \n\t    */\n\t    charset: function(node, result, cache) {\n\t        // node.invert\n\t        if (node.invert) return this['invert-charset'](node, result, cache)\n\n\t        // node.body []\n\t        var literal = Random.pick(node.body)\n\t        return this.gen(literal, result, cache)\n\t    },\n\t    'invert-charset': function(node, result, cache) {\n\t        var pool = PRINTABLE\n\t        for (var i = 0, item; i < node.body.length; i++) {\n\t            item = node.body[i]\n\t            switch (item.type) {\n\t                case 'literal':\n\t                    pool = pool.replace(item.body, '')\n\t                    break\n\t                case 'range':\n\t                    var min = this.gen(item.start, result, cache).charCodeAt()\n\t                    var max = this.gen(item.end, result, cache).charCodeAt()\n\t                    for (var ii = min; ii <= max; ii++) {\n\t                        pool = pool.replace(String.fromCharCode(ii), '')\n\t                    }\n\t                    /* falls through */\n\t                default:\n\t                    var characters = CHARACTER_CLASSES[item.text]\n\t                    if (characters) {\n\t                        for (var iii = 0; iii <= characters.length; iii++) {\n\t                            pool = pool.replace(characters[iii], '')\n\t                        }\n\t                    }\n\t            }\n\t        }\n\t        return Random.pick(pool.split(''))\n\t    },\n\t    range: function(node, result, cache) {\n\t        // node.start, node.end\n\t        var min = this.gen(node.start, result, cache).charCodeAt()\n\t        var max = this.gen(node.end, result, cache).charCodeAt()\n\t        return String.fromCharCode(\n\t            Random.integer(min, max)\n\t        )\n\t    },\n\t    literal: function(node, result, cache) {\n\t        return node.escaped ? node.body : node.text\n\t    },\n\t    // Unicode \\u\n\t    unicode: function(node, result, cache) {\n\t        return String.fromCharCode(\n\t            parseInt(node.code, 16)\n\t        )\n\t    },\n\t    // 十六进制 \\xFF\n\t    hex: function(node, result, cache) {\n\t        return String.fromCharCode(\n\t            parseInt(node.code, 16)\n\t        )\n\t    },\n\t    // 八进制 \\0\n\t    octal: function(node, result, cache) {\n\t        return String.fromCharCode(\n\t            parseInt(node.code, 8)\n\t        )\n\t    },\n\t    // 反向引用\n\t    'back-reference': function(node, result, cache) {\n\t        return cache[node.code] || ''\n\t    },\n\t    /*\n\t        http://en.wikipedia.org/wiki/C0_and_C1_control_codes\n\t    */\n\t    CONTROL_CHARACTER_MAP: function() {\n\t        var CONTROL_CHARACTER = '@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \\\\ ] ^ _'.split(' ')\n\t        var CONTROL_CHARACTER_UNICODE = '\\u0000 \\u0001 \\u0002 \\u0003 \\u0004 \\u0005 \\u0006 \\u0007 \\u0008 \\u0009 \\u000A \\u000B \\u000C \\u000D \\u000E \\u000F \\u0010 \\u0011 \\u0012 \\u0013 \\u0014 \\u0015 \\u0016 \\u0017 \\u0018 \\u0019 \\u001A \\u001B \\u001C \\u001D \\u001E \\u001F'.split(' ')\n\t        var map = {}\n\t        for (var i = 0; i < CONTROL_CHARACTER.length; i++) {\n\t            map[CONTROL_CHARACTER[i]] = CONTROL_CHARACTER_UNICODE[i]\n\t        }\n\t        return map\n\t    }(),\n\t    'control-character': function(node, result, cache) {\n\t        return this.CONTROL_CHARACTER_MAP[node.code]\n\t    }\n\t})\n\n\tmodule.exports = Handler\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(24)\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## toJSONSchema\n\n\t    把 Mock.js 风格的数据模板转换成 JSON Schema。\n\n\t    > [JSON Schema](http://json-schema.org/)\n\t */\n\tvar Constant = __webpack_require__(2)\n\tvar Util = __webpack_require__(3)\n\tvar Parser = __webpack_require__(4)\n\n\tfunction toJSONSchema(template, name, path /* Internal Use Only */ ) {\n\t    // type rule properties items\n\t    path = path || []\n\t    var result = {\n\t        name: typeof name === 'string' ? name.replace(Constant.RE_KEY, '$1') : name,\n\t        template: template,\n\t        type: Util.type(template), // 可能不准确，例如 { 'name|1': [{}, {} ...] }\n\t        rule: Parser.parse(name)\n\t    }\n\t    result.path = path.slice(0)\n\t    result.path.push(name === undefined ? 'ROOT' : result.name)\n\n\t    switch (result.type) {\n\t        case 'array':\n\t            result.items = []\n\t            Util.each(template, function(value, index) {\n\t                result.items.push(\n\t                    toJSONSchema(value, index, result.path)\n\t                )\n\t            })\n\t            break\n\t        case 'object':\n\t            result.properties = []\n\t            Util.each(template, function(value, name) {\n\t                result.properties.push(\n\t                    toJSONSchema(value, name, result.path)\n\t                )\n\t            })\n\t            break\n\t    }\n\n\t    return result\n\n\t}\n\n\tmodule.exports = toJSONSchema\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(26)\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t    ## valid(template, data)\n\n\t    校验真实数据 data 是否与数据模板 template 匹配。\n\t    \n\t    实现思路：\n\t    1. 解析规则。\n\t        先把数据模板 template 解析为更方便机器解析的 JSON-Schame\n\t        name               属性名 \n\t        type               属性值类型\n\t        template           属性值模板\n\t        properties         对象属性数组\n\t        items              数组元素数组\n\t        rule               属性值生成规则\n\t    2. 递归验证规则。\n\t        然后用 JSON-Schema 校验真实数据，校验项包括属性名、值类型、值、值生成规则。\n\n\t    提示信息 \n\t    https://github.com/fge/json-schema-validator/blob/master/src/main/resources/com/github/fge/jsonschema/validator/validation.properties\n\t    [JSON-Schama validator](http://json-schema-validator.herokuapp.com/)\n\t    [Regexp Demo](http://demos.forbeslindesay.co.uk/regexp/)\n\t*/\n\tvar Constant = __webpack_require__(2)\n\tvar Util = __webpack_require__(3)\n\tvar toJSONSchema = __webpack_require__(23)\n\n\tfunction valid(template, data) {\n\t    var schema = toJSONSchema(template)\n\t    var result = Diff.diff(schema, data)\n\t    for (var i = 0; i < result.length; i++) {\n\t        // console.log(template, data)\n\t        // console.warn(Assert.message(result[i]))\n\t    }\n\t    return result\n\t}\n\n\t/*\n\t    ## name\n\t        有生成规则：比较解析后的 name\n\t        无生成规则：直接比较\n\t    ## type\n\t        无类型转换：直接比较\n\t        有类型转换：先试着解析 template，然后再检查？\n\t    ## value vs. template\n\t        基本类型\n\t            无生成规则：直接比较\n\t            有生成规则：\n\t                number\n\t                    min-max.dmin-dmax\n\t                    min-max.dcount\n\t                    count.dmin-dmax\n\t                    count.dcount\n\t                    +step\n\t                    整数部分\n\t                    小数部分\n\t                boolean \n\t                string  \n\t                    min-max\n\t                    count\n\t    ## properties\n\t        对象\n\t            有生成规则：检测期望的属性个数，继续递归\n\t            无生成规则：检测全部的属性个数，继续递归\n\t    ## items\n\t        数组\n\t            有生成规则：\n\t                `'name|1': [{}, {} ...]`            其中之一，继续递归\n\t                `'name|+1': [{}, {} ...]`           顺序检测，继续递归\n\t                `'name|min-max': [{}, {} ...]`      检测个数，继续递归\n\t                `'name|count': [{}, {} ...]`        检测个数，继续递归\n\t            无生成规则：检测全部的元素个数，继续递归\n\t*/\n\tvar Diff = {\n\t    diff: function diff(schema, data, name /* Internal Use Only */ ) {\n\t        var result = []\n\n\t        // 先检测名称 name 和类型 type，如果匹配，才有必要继续检测\n\t        if (\n\t            this.name(schema, data, name, result) &&\n\t            this.type(schema, data, name, result)\n\t        ) {\n\t            this.value(schema, data, name, result)\n\t            this.properties(schema, data, name, result)\n\t            this.items(schema, data, name, result)\n\t        }\n\n\t        return result\n\t    },\n\t    /* jshint unused:false */\n\t    name: function(schema, data, name, result) {\n\t        var length = result.length\n\n\t        Assert.equal('name', schema.path, name + '', schema.name + '', result)\n\n\t        return result.length === length\n\t    },\n\t    type: function(schema, data, name, result) {\n\t        var length = result.length\n\n\t        switch (schema.type) {\n\t            case 'string':\n\t                // 跳过含有『占位符』的属性值，因为『占位符』返回值的类型可能和模板不一致，例如 '@int' 会返回一个整形值\n\t                if (schema.template.match(Constant.RE_PLACEHOLDER)) return true\n\t                break\n\t            case 'array':\n\t                if (schema.rule.parameters) {\n\t                    // name|count: array\n\t                    if (schema.rule.min !== undefined && schema.rule.max === undefined) {\n\t                        // 跳过 name|1: array，因为最终值的类型（很可能）不是数组，也不一定与 `array` 中的类型一致\n\t                        if (schema.rule.count === 1) return true\n\t                    }\n\t                    // 跳过 name|+inc: array\n\t                    if (schema.rule.parameters[2]) return true\n\t                }\n\t                break\n\t            case 'function':\n\t                // 跳过 `'name': function`，因为函数可以返回任何类型的值。\n\t                return true\n\t        }\n\n\t        Assert.equal('type', schema.path, Util.type(data), schema.type, result)\n\n\t        return result.length === length\n\t    },\n\t    value: function(schema, data, name, result) {\n\t        var length = result.length\n\n\t        var rule = schema.rule\n\t        var templateType = schema.type\n\t        if (templateType === 'object' || templateType === 'array' || templateType === 'function') return true\n\n\t        // 无生成规则\n\t        if (!rule.parameters) {\n\t            switch (templateType) {\n\t                case 'regexp':\n\t                    Assert.match('value', schema.path, data, schema.template, result)\n\t                    return result.length === length\n\t                case 'string':\n\t                    // 同样跳过含有『占位符』的属性值，因为『占位符』的返回值会通常会与模板不一致\n\t                    if (schema.template.match(Constant.RE_PLACEHOLDER)) return result.length === length\n\t                    break\n\t            }\n\t            Assert.equal('value', schema.path, data, schema.template, result)\n\t            return result.length === length\n\t        }\n\n\t        // 有生成规则\n\t        var actualRepeatCount\n\t        switch (templateType) {\n\t            case 'number':\n\t                var parts = (data + '').split('.')\n\t                parts[0] = +parts[0]\n\n\t                // 整数部分\n\t                // |min-max\n\t                if (rule.min !== undefined && rule.max !== undefined) {\n\t                    Assert.greaterThanOrEqualTo('value', schema.path, parts[0], Math.min(rule.min, rule.max), result)\n\t                        // , 'numeric instance is lower than the required minimum (minimum: {expected}, found: {actual})')\n\t                    Assert.lessThanOrEqualTo('value', schema.path, parts[0], Math.max(rule.min, rule.max), result)\n\t                }\n\t                // |count\n\t                if (rule.min !== undefined && rule.max === undefined) {\n\t                    Assert.equal('value', schema.path, parts[0], rule.min, result, '[value] ' + name)\n\t                }\n\n\t                // 小数部分\n\t                if (rule.decimal) {\n\t                    // |dmin-dmax\n\t                    if (rule.dmin !== undefined && rule.dmax !== undefined) {\n\t                        Assert.greaterThanOrEqualTo('value', schema.path, parts[1].length, rule.dmin, result)\n\t                        Assert.lessThanOrEqualTo('value', schema.path, parts[1].length, rule.dmax, result)\n\t                    }\n\t                    // |dcount\n\t                    if (rule.dmin !== undefined && rule.dmax === undefined) {\n\t                        Assert.equal('value', schema.path, parts[1].length, rule.dmin, result)\n\t                    }\n\t                }\n\n\t                break\n\n\t            case 'boolean':\n\t                break\n\n\t            case 'string':\n\t                // 'aaa'.match(/a/g)\n\t                actualRepeatCount = data.match(new RegExp(schema.template, 'g'))\n\t                actualRepeatCount = actualRepeatCount ? actualRepeatCount.length : 0\n\n\t                // |min-max\n\t                if (rule.min !== undefined && rule.max !== undefined) {\n\t                    Assert.greaterThanOrEqualTo('repeat count', schema.path, actualRepeatCount, rule.min, result)\n\t                    Assert.lessThanOrEqualTo('repeat count', schema.path, actualRepeatCount, rule.max, result)\n\t                }\n\t                // |count\n\t                if (rule.min !== undefined && rule.max === undefined) {\n\t                    Assert.equal('repeat count', schema.path, actualRepeatCount, rule.min, result)\n\t                }\n\n\t                break\n\n\t            case 'regexp':\n\t                actualRepeatCount = data.match(new RegExp(schema.template.source.replace(/^\\^|\\$$/g, ''), 'g'))\n\t                actualRepeatCount = actualRepeatCount ? actualRepeatCount.length : 0\n\n\t                // |min-max\n\t                if (rule.min !== undefined && rule.max !== undefined) {\n\t                    Assert.greaterThanOrEqualTo('repeat count', schema.path, actualRepeatCount, rule.min, result)\n\t                    Assert.lessThanOrEqualTo('repeat count', schema.path, actualRepeatCount, rule.max, result)\n\t                }\n\t                // |count\n\t                if (rule.min !== undefined && rule.max === undefined) {\n\t                    Assert.equal('repeat count', schema.path, actualRepeatCount, rule.min, result)\n\t                }\n\t                break\n\t        }\n\n\t        return result.length === length\n\t    },\n\t    properties: function(schema, data, name, result) {\n\t        var length = result.length\n\n\t        var rule = schema.rule\n\t        var keys = Util.keys(data)\n\t        if (!schema.properties) return\n\n\t        // 无生成规则\n\t        if (!schema.rule.parameters) {\n\t            Assert.equal('properties length', schema.path, keys.length, schema.properties.length, result)\n\t        } else {\n\t            // 有生成规则\n\t            // |min-max\n\t            if (rule.min !== undefined && rule.max !== undefined) {\n\t                Assert.greaterThanOrEqualTo('properties length', schema.path, keys.length, Math.min(rule.min, rule.max), result)\n\t                Assert.lessThanOrEqualTo('properties length', schema.path, keys.length, Math.max(rule.min, rule.max), result)\n\t            }\n\t            // |count\n\t            if (rule.min !== undefined && rule.max === undefined) {\n\t                // |1, |>1\n\t                if (rule.count !== 1) Assert.equal('properties length', schema.path, keys.length, rule.min, result)\n\t            }\n\t        }\n\n\t        if (result.length !== length) return false\n\n\t        for (var i = 0; i < keys.length; i++) {\n\t            result.push.apply(\n\t                result,\n\t                this.diff(\n\t                    function() {\n\t                        var property\n\t                        Util.each(schema.properties, function(item /*, index*/ ) {\n\t                            if (item.name === keys[i]) property = item\n\t                        })\n\t                        return property || schema.properties[i]\n\t                    }(),\n\t                    data[keys[i]],\n\t                    keys[i]\n\t                )\n\t            )\n\t        }\n\n\t        return result.length === length\n\t    },\n\t    items: function(schema, data, name, result) {\n\t        var length = result.length\n\n\t        if (!schema.items) return\n\n\t        var rule = schema.rule\n\n\t        // 无生成规则\n\t        if (!schema.rule.parameters) {\n\t            Assert.equal('items length', schema.path, data.length, schema.items.length, result)\n\t        } else {\n\t            // 有生成规则\n\t            // |min-max\n\t            if (rule.min !== undefined && rule.max !== undefined) {\n\t                Assert.greaterThanOrEqualTo('items', schema.path, data.length, (Math.min(rule.min, rule.max) * schema.items.length), result,\n\t                    '[{utype}] array is too short: {path} must have at least {expected} elements but instance has {actual} elements')\n\t                Assert.lessThanOrEqualTo('items', schema.path, data.length, (Math.max(rule.min, rule.max) * schema.items.length), result,\n\t                    '[{utype}] array is too long: {path} must have at most {expected} elements but instance has {actual} elements')\n\t            }\n\t            // |count\n\t            if (rule.min !== undefined && rule.max === undefined) {\n\t                // |1, |>1\n\t                if (rule.count === 1) return result.length === length\n\t                else Assert.equal('items length', schema.path, data.length, (rule.min * schema.items.length), result)\n\t            }\n\t            // |+inc\n\t            if (rule.parameters[2]) return result.length === length\n\t        }\n\n\t        if (result.length !== length) return false\n\n\t        for (var i = 0; i < data.length; i++) {\n\t            result.push.apply(\n\t                result,\n\t                this.diff(\n\t                    schema.items[i % schema.items.length],\n\t                    data[i],\n\t                    i % schema.items.length\n\t                )\n\t            )\n\t        }\n\n\t        return result.length === length\n\t    }\n\t}\n\n\t/*\n\t    完善、友好的提示信息\n\t    \n\t    Equal, not equal to, greater than, less than, greater than or equal to, less than or equal to\n\t    路径 验证类型 描述 \n\n\t    Expect path.name is less than or equal to expected, but path.name is actual.\n\n\t    Expect path.name is less than or equal to expected, but path.name is actual.\n\t    Expect path.name is greater than or equal to expected, but path.name is actual.\n\n\t*/\n\tvar Assert = {\n\t    message: function(item) {\n\t        return (item.message ||\n\t                '[{utype}] Expect {path}\\'{ltype} {action} {expected}, but is {actual}')\n\t            .replace('{utype}', item.type.toUpperCase())\n\t            .replace('{ltype}', item.type.toLowerCase())\n\t            .replace('{path}', Util.isArray(item.path) && item.path.join('.') || item.path)\n\t            .replace('{action}', item.action)\n\t            .replace('{expected}', item.expected)\n\t            .replace('{actual}', item.actual)\n\t    },\n\t    equal: function(type, path, actual, expected, result, message) {\n\t        if (actual === expected) return true\n\t        switch (type) {\n\t            case 'type':\n\t                // 正则模板 === 字符串最终值\n\t                if (expected === 'regexp' && actual === 'string') return true\n\t                break\n\t        }\n\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'is equal to',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    },\n\t    // actual matches expected\n\t    match: function(type, path, actual, expected, result, message) {\n\t        if (expected.test(actual)) return true\n\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'matches',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    },\n\t    notEqual: function(type, path, actual, expected, result, message) {\n\t        if (actual !== expected) return true\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'is not equal to',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    },\n\t    greaterThan: function(type, path, actual, expected, result, message) {\n\t        if (actual > expected) return true\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'is greater than',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    },\n\t    lessThan: function(type, path, actual, expected, result, message) {\n\t        if (actual < expected) return true\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'is less to',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    },\n\t    greaterThanOrEqualTo: function(type, path, actual, expected, result, message) {\n\t        if (actual >= expected) return true\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'is greater than or equal to',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    },\n\t    lessThanOrEqualTo: function(type, path, actual, expected, result, message) {\n\t        if (actual <= expected) return true\n\t        var item = {\n\t            path: path,\n\t            type: type,\n\t            actual: actual,\n\t            expected: expected,\n\t            action: 'is less than or equal to',\n\t            message: message\n\t        }\n\t        item.message = Assert.message(item)\n\t        result.push(item)\n\t        return false\n\t    }\n\t}\n\n\tvalid.Diff = Diff\n\tvalid.Assert = Assert\n\n\tmodule.exports = valid\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(28)\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* global window, document, location, Event, setTimeout */\n\t/*\n\t    ## MockXMLHttpRequest\n\n\t    期望的功能：\n\t    1. 完整地覆盖原生 XHR 的行为\n\t    2. 完整地模拟原生 XHR 的行为\n\t    3. 在发起请求时，自动检测是否需要拦截\n\t    4. 如果不必拦截，则执行原生 XHR 的行为\n\t    5. 如果需要拦截，则执行虚拟 XHR 的行为\n\t    6. 兼容 XMLHttpRequest 和 ActiveXObject\n\t        new window.XMLHttpRequest()\n\t        new window.ActiveXObject(\"Microsoft.XMLHTTP\")\n\n\t    关键方法的逻辑：\n\t    * new   此时尚无法确定是否需要拦截，所以创建原生 XHR 对象是必须的。\n\t    * open  此时可以取到 URL，可以决定是否进行拦截。\n\t    * send  此时已经确定了请求方式。\n\n\t    规范：\n\t    http://xhr.spec.whatwg.org/\n\t    http://www.w3.org/TR/XMLHttpRequest2/\n\n\t    参考实现：\n\t    https://github.com/philikon/MockHttpRequest/blob/master/lib/mock.js\n\t    https://github.com/trek/FakeXMLHttpRequest/blob/master/fake_xml_http_request.js\n\t    https://github.com/ilinsky/xmlhttprequest/blob/master/XMLHttpRequest.js\n\t    https://github.com/firebug/firebug-lite/blob/master/content/lite/xhr.js\n\t    https://github.com/thx/RAP/blob/master/lab/rap.plugin.xinglie.js\n\n\t    **需不需要全面重写 XMLHttpRequest？**\n\t        http://xhr.spec.whatwg.org/#interface-xmlhttprequest\n\t        关键属性 readyState、status、statusText、response、responseText、responseXML 是 readonly，所以，试图通过修改这些状态，来模拟响应是不可行的。\n\t        因此，唯一的办法是模拟整个 XMLHttpRequest，就像 jQuery 对事件模型的封装。\n\n\t    // Event handlers\n\t    onloadstart         loadstart\n\t    onprogress          progress\n\t    onabort             abort\n\t    onerror             error\n\t    onload              load\n\t    ontimeout           timeout\n\t    onloadend           loadend\n\t    onreadystatechange  readystatechange\n\t */\n\n\tvar Util = __webpack_require__(3)\n\n\t// 备份原生 XMLHttpRequest\n\twindow._XMLHttpRequest = window.XMLHttpRequest\n\twindow._ActiveXObject = window.ActiveXObject\n\n\t/*\n\t    PhantomJS\n\t    TypeError: '[object EventConstructor]' is not a constructor (evaluating 'new Event(\"readystatechange\")')\n\n\t    https://github.com/bluerail/twitter-bootstrap-rails-confirm/issues/18\n\t    https://github.com/ariya/phantomjs/issues/11289\n\t*/\n\ttry {\n\t    new window.Event('custom')\n\t} catch (exception) {\n\t    window.Event = function(type, bubbles, cancelable, detail) {\n\t        var event = document.createEvent('CustomEvent') // MUST be 'CustomEvent'\n\t        event.initCustomEvent(type, bubbles, cancelable, detail)\n\t        return event\n\t    }\n\t}\n\n\tvar XHR_STATES = {\n\t    // The object has been constructed.\n\t    UNSENT: 0,\n\t    // The open() method has been successfully invoked.\n\t    OPENED: 1,\n\t    // All redirects (if any) have been followed and all HTTP headers of the response have been received.\n\t    HEADERS_RECEIVED: 2,\n\t    // The response's body is being received.\n\t    LOADING: 3,\n\t    // The data transfer has been completed or something went wrong during the transfer (e.g. infinite redirects).\n\t    DONE: 4\n\t}\n\n\tvar XHR_EVENTS = 'readystatechange loadstart progress abort error load timeout loadend'.split(' ')\n\tvar XHR_REQUEST_PROPERTIES = 'timeout withCredentials'.split(' ')\n\tvar XHR_RESPONSE_PROPERTIES = 'readyState responseURL status statusText responseType response responseText responseXML'.split(' ')\n\n\t// https://github.com/trek/FakeXMLHttpRequest/blob/master/fake_xml_http_request.js#L32\n\tvar HTTP_STATUS_CODES = {\n\t    100: \"Continue\",\n\t    101: \"Switching Protocols\",\n\t    200: \"OK\",\n\t    201: \"Created\",\n\t    202: \"Accepted\",\n\t    203: \"Non-Authoritative Information\",\n\t    204: \"No Content\",\n\t    205: \"Reset Content\",\n\t    206: \"Partial Content\",\n\t    300: \"Multiple Choice\",\n\t    301: \"Moved Permanently\",\n\t    302: \"Found\",\n\t    303: \"See Other\",\n\t    304: \"Not Modified\",\n\t    305: \"Use Proxy\",\n\t    307: \"Temporary Redirect\",\n\t    400: \"Bad Request\",\n\t    401: \"Unauthorized\",\n\t    402: \"Payment Required\",\n\t    403: \"Forbidden\",\n\t    404: \"Not Found\",\n\t    405: \"Method Not Allowed\",\n\t    406: \"Not Acceptable\",\n\t    407: \"Proxy Authentication Required\",\n\t    408: \"Request Timeout\",\n\t    409: \"Conflict\",\n\t    410: \"Gone\",\n\t    411: \"Length Required\",\n\t    412: \"Precondition Failed\",\n\t    413: \"Request Entity Too Large\",\n\t    414: \"Request-URI Too Long\",\n\t    415: \"Unsupported Media Type\",\n\t    416: \"Requested Range Not Satisfiable\",\n\t    417: \"Expectation Failed\",\n\t    422: \"Unprocessable Entity\",\n\t    500: \"Internal Server Error\",\n\t    501: \"Not Implemented\",\n\t    502: \"Bad Gateway\",\n\t    503: \"Service Unavailable\",\n\t    504: \"Gateway Timeout\",\n\t    505: \"HTTP Version Not Supported\"\n\t}\n\n\t/*\n\t    MockXMLHttpRequest\n\t*/\n\n\tfunction MockXMLHttpRequest() {\n\t    // 初始化 custom 对象，用于存储自定义属性\n\t    this.custom = {\n\t        events: {},\n\t        requestHeaders: {},\n\t        responseHeaders: {}\n\t    }\n\t}\n\n\tMockXMLHttpRequest._settings = {\n\t    timeout: '10-100',\n\t    /*\n\t        timeout: 50,\n\t        timeout: '10-100',\n\t     */\n\t}\n\n\tMockXMLHttpRequest.setup = function(settings) {\n\t    Util.extend(MockXMLHttpRequest._settings, settings)\n\t    return MockXMLHttpRequest._settings\n\t}\n\n\tUtil.extend(MockXMLHttpRequest, XHR_STATES)\n\tUtil.extend(MockXMLHttpRequest.prototype, XHR_STATES)\n\n\t// 标记当前对象为 MockXMLHttpRequest\n\tMockXMLHttpRequest.prototype.mock = true\n\n\t// 是否拦截 Ajax 请求\n\tMockXMLHttpRequest.prototype.match = false\n\n\t// 初始化 Request 相关的属性和方法\n\tUtil.extend(MockXMLHttpRequest.prototype, {\n\t    // https://xhr.spec.whatwg.org/#the-open()-method\n\t    // Sets the request method, request URL, and synchronous flag.\n\t    open: function(method, url, async, username, password) {\n\t        var that = this\n\n\t        Util.extend(this.custom, {\n\t            method: method,\n\t            url: url,\n\t            async: typeof async === 'boolean' ? async : true,\n\t            username: username,\n\t            password: password,\n\t            options: {\n\t                url: url,\n\t                type: method\n\t            }\n\t        })\n\n\t        this.custom.timeout = function(timeout) {\n\t            if (typeof timeout === 'number') return timeout\n\t            if (typeof timeout === 'string' && !~timeout.indexOf('-')) return parseInt(timeout, 10)\n\t            if (typeof timeout === 'string' && ~timeout.indexOf('-')) {\n\t                var tmp = timeout.split('-')\n\t                var min = parseInt(tmp[0], 10)\n\t                var max = parseInt(tmp[1], 10)\n\t                return Math.round(Math.random() * (max - min)) + min\n\t            }\n\t        }(MockXMLHttpRequest._settings.timeout)\n\n\t        // 查找与请求参数匹配的数据模板\n\t        var item = find(this.custom.options)\n\n\t        function handle(event) {\n\t            // 同步属性 NativeXMLHttpRequest => MockXMLHttpRequest\n\t            for (var i = 0; i < XHR_RESPONSE_PROPERTIES.length; i++) {\n\t                try {\n\t                    that[XHR_RESPONSE_PROPERTIES[i]] = xhr[XHR_RESPONSE_PROPERTIES[i]]\n\t                } catch (e) {}\n\t            }\n\t            // 触发 MockXMLHttpRequest 上的同名事件\n\t            that.dispatchEvent(new Event(event.type /*, false, false, that*/ ))\n\t        }\n\n\t        // 如果未找到匹配的数据模板，则采用原生 XHR 发送请求。\n\t        if (!item) {\n\t            // 创建原生 XHR 对象，调用原生 open()，监听所有原生事件\n\t            var xhr = createNativeXMLHttpRequest()\n\t            this.custom.xhr = xhr\n\n\t            // 初始化所有事件，用于监听原生 XHR 对象的事件\n\t            for (var i = 0; i < XHR_EVENTS.length; i++) {\n\t                xhr.addEventListener(XHR_EVENTS[i], handle)\n\t            }\n\n\t            // xhr.open()\n\t            if (username) xhr.open(method, url, async, username, password)\n\t            else xhr.open(method, url, async)\n\n\t            // 同步属性 MockXMLHttpRequest => NativeXMLHttpRequest\n\t            for (var j = 0; j < XHR_REQUEST_PROPERTIES.length; j++) {\n\t                try {\n\t                    xhr[XHR_REQUEST_PROPERTIES[j]] = that[XHR_REQUEST_PROPERTIES[j]]\n\t                } catch (e) {}\n\t            }\n\n\t            return\n\t        }\n\n\t        // 找到了匹配的数据模板，开始拦截 XHR 请求\n\t        this.match = true\n\t        this.custom.template = item\n\t        this.readyState = MockXMLHttpRequest.OPENED\n\t        this.dispatchEvent(new Event('readystatechange' /*, false, false, this*/ ))\n\t    },\n\t    // https://xhr.spec.whatwg.org/#the-setrequestheader()-method\n\t    // Combines a header in author request headers.\n\t    setRequestHeader: function(name, value) {\n\t        // 原生 XHR\n\t        if (!this.match) {\n\t            this.custom.xhr.setRequestHeader(name, value)\n\t            return\n\t        }\n\n\t        // 拦截 XHR\n\t        var requestHeaders = this.custom.requestHeaders\n\t        if (requestHeaders[name]) requestHeaders[name] += ',' + value\n\t        else requestHeaders[name] = value\n\t    },\n\t    timeout: 0,\n\t    withCredentials: false,\n\t    upload: {},\n\t    // https://xhr.spec.whatwg.org/#the-send()-method\n\t    // Initiates the request.\n\t    send: function send(data) {\n\t        var that = this\n\t        this.custom.options.body = data\n\n\t        // 原生 XHR\n\t        if (!this.match) {\n\t            this.custom.xhr.send(data)\n\t            return\n\t        }\n\n\t        // 拦截 XHR\n\n\t        // X-Requested-With header\n\t        this.setRequestHeader('X-Requested-With', 'MockXMLHttpRequest')\n\n\t        // loadstart The fetch initiates.\n\t        this.dispatchEvent(new Event('loadstart' /*, false, false, this*/ ))\n\n\t        if (this.custom.async) setTimeout(done, this.custom.timeout) // 异步\n\t        else done() // 同步\n\n\t        function done() {\n\t            that.readyState = MockXMLHttpRequest.HEADERS_RECEIVED\n\t            that.dispatchEvent(new Event('readystatechange' /*, false, false, that*/ ))\n\t            that.readyState = MockXMLHttpRequest.LOADING\n\t            that.dispatchEvent(new Event('readystatechange' /*, false, false, that*/ ))\n\n\t            that.status = 200\n\t            that.statusText = HTTP_STATUS_CODES[200]\n\n\t            // fix #92 #93 by @qddegtya\n\t            that.response = that.responseText = JSON.stringify(\n\t                convert(that.custom.template, that.custom.options),\n\t                null, 4\n\t            )\n\n\t            that.readyState = MockXMLHttpRequest.DONE\n\t            that.dispatchEvent(new Event('readystatechange' /*, false, false, that*/ ))\n\t            that.dispatchEvent(new Event('load' /*, false, false, that*/ ));\n\t            that.dispatchEvent(new Event('loadend' /*, false, false, that*/ ));\n\t        }\n\t    },\n\t    // https://xhr.spec.whatwg.org/#the-abort()-method\n\t    // Cancels any network activity.\n\t    abort: function abort() {\n\t        // 原生 XHR\n\t        if (!this.match) {\n\t            this.custom.xhr.abort()\n\t            return\n\t        }\n\n\t        // 拦截 XHR\n\t        this.readyState = MockXMLHttpRequest.UNSENT\n\t        this.dispatchEvent(new Event('abort', false, false, this))\n\t        this.dispatchEvent(new Event('error', false, false, this))\n\t    }\n\t})\n\n\t// 初始化 Response 相关的属性和方法\n\tUtil.extend(MockXMLHttpRequest.prototype, {\n\t    responseURL: '',\n\t    status: MockXMLHttpRequest.UNSENT,\n\t    statusText: '',\n\t    // https://xhr.spec.whatwg.org/#the-getresponseheader()-method\n\t    getResponseHeader: function(name) {\n\t        // 原生 XHR\n\t        if (!this.match) {\n\t            return this.custom.xhr.getResponseHeader(name)\n\t        }\n\n\t        // 拦截 XHR\n\t        return this.custom.responseHeaders[name.toLowerCase()]\n\t    },\n\t    // https://xhr.spec.whatwg.org/#the-getallresponseheaders()-method\n\t    // http://www.utf8-chartable.de/\n\t    getAllResponseHeaders: function() {\n\t        // 原生 XHR\n\t        if (!this.match) {\n\t            return this.custom.xhr.getAllResponseHeaders()\n\t        }\n\n\t        // 拦截 XHR\n\t        var responseHeaders = this.custom.responseHeaders\n\t        var headers = ''\n\t        for (var h in responseHeaders) {\n\t            if (!responseHeaders.hasOwnProperty(h)) continue\n\t            headers += h + ': ' + responseHeaders[h] + '\\r\\n'\n\t        }\n\t        return headers\n\t    },\n\t    overrideMimeType: function( /*mime*/ ) {},\n\t    responseType: '', // '', 'text', 'arraybuffer', 'blob', 'document', 'json'\n\t    response: null,\n\t    responseText: '',\n\t    responseXML: null\n\t})\n\n\t// EventTarget\n\tUtil.extend(MockXMLHttpRequest.prototype, {\n\t    addEventListener: function addEventListener(type, handle) {\n\t        var events = this.custom.events\n\t        if (!events[type]) events[type] = []\n\t        events[type].push(handle)\n\t    },\n\t    removeEventListener: function removeEventListener(type, handle) {\n\t        var handles = this.custom.events[type] || []\n\t        for (var i = 0; i < handles.length; i++) {\n\t            if (handles[i] === handle) {\n\t                handles.splice(i--, 1)\n\t            }\n\t        }\n\t    },\n\t    dispatchEvent: function dispatchEvent(event) {\n\t        var handles = this.custom.events[event.type] || []\n\t        for (var i = 0; i < handles.length; i++) {\n\t            handles[i].call(this, event)\n\t        }\n\n\t        var ontype = 'on' + event.type\n\t        if (this[ontype]) this[ontype](event)\n\t    }\n\t})\n\n\t// Inspired by jQuery\n\tfunction createNativeXMLHttpRequest() {\n\t    var isLocal = function() {\n\t        var rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/\n\t        var rurl = /^([\\w.+-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/\n\t        var ajaxLocation = location.href\n\t        var ajaxLocParts = rurl.exec(ajaxLocation.toLowerCase()) || []\n\t        return rlocalProtocol.test(ajaxLocParts[1])\n\t    }()\n\n\t    return window.ActiveXObject ?\n\t        (!isLocal && createStandardXHR() || createActiveXHR()) : createStandardXHR()\n\n\t    function createStandardXHR() {\n\t        try {\n\t            return new window._XMLHttpRequest();\n\t        } catch (e) {}\n\t    }\n\n\t    function createActiveXHR() {\n\t        try {\n\t            return new window._ActiveXObject(\"Microsoft.XMLHTTP\");\n\t        } catch (e) {}\n\t    }\n\t}\n\n\n\t// 查找与请求参数匹配的数据模板：URL，Type\n\tfunction find(options) {\n\n\t    for (var sUrlType in MockXMLHttpRequest.Mock._mocked) {\n\t        var item = MockXMLHttpRequest.Mock._mocked[sUrlType]\n\t        if (\n\t            (!item.rurl || match(item.rurl, options.url)) &&\n\t            (!item.rtype || match(item.rtype, options.type.toLowerCase()))\n\t        ) {\n\t            // console.log('[mock]', options.url, '>', item.rurl)\n\t            return item\n\t        }\n\t    }\n\n\t    function match(expected, actual) {\n\t        if (Util.type(expected) === 'string') {\n\t            return expected === actual\n\t        }\n\t        if (Util.type(expected) === 'regexp') {\n\t            return expected.test(actual)\n\t        }\n\t    }\n\n\t}\n\n\t// 数据模板 ＝> 响应数据\n\tfunction convert(item, options) {\n\t    return Util.isFunction(item.template) ?\n\t        item.template(options) : MockXMLHttpRequest.Mock.mock(item.template)\n\t}\n\n\tmodule.exports = MockXMLHttpRequest\n\n/***/ })\n/******/ ])\n});\n;\n\n//# sourceURL=webpack:///./node_modules/mockjs/dist/mock.js?");

/***/ }),

/***/ "./node_modules/node-libs-browser/mock/process.js":
/*!********************************************************!*\
  !*** ./node_modules/node-libs-browser/mock/process.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("exports.nextTick = function nextTick(fn) {\n    var args = Array.prototype.slice.call(arguments);\n    args.shift();\n    setTimeout(function () {\n        fn.apply(null, args);\n    }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n    var cwd = '/';\n    var path;\n    exports.cwd = function () { return cwd };\n    exports.chdir = function (dir) {\n        if (!path) path = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n        cwd = path.resolve(dir, cwd);\n    };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n\n\n//# sourceURL=webpack:///./node_modules/node-libs-browser/mock/process.js?");

/***/ }),

/***/ "./node_modules/normalize-wheel/index.js":
/*!***********************************************!*\
  !*** ./node_modules/normalize-wheel/index.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__(/*! ./src/normalizeWheel.js */ \"./node_modules/normalize-wheel/src/normalizeWheel.js\");\n\n\n//# sourceURL=webpack:///./node_modules/normalize-wheel/index.js?");

/***/ }),

/***/ "./node_modules/normalize-wheel/src/ExecutionEnvironment.js":
/*!******************************************************************!*\
  !*** ./node_modules/normalize-wheel/src/ExecutionEnvironment.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ExecutionEnvironment\n */\n\n/*jslint evil: true */\n\n\n\nvar canUseDOM = !!(\n  typeof window !== 'undefined' &&\n  window.document &&\n  window.document.createElement\n);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n  canUseDOM: canUseDOM,\n\n  canUseWorkers: typeof Worker !== 'undefined',\n\n  canUseEventListeners:\n    canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n  canUseViewport: canUseDOM && !!window.screen,\n\n  isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n\n//# sourceURL=webpack:///./node_modules/normalize-wheel/src/ExecutionEnvironment.js?");

/***/ }),

/***/ "./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js":
/*!******************************************************************!*\
  !*** ./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright 2004-present Facebook. All Rights Reserved.\n *\n * @providesModule UserAgent_DEPRECATED\n */\n\n/**\n *  Provides entirely client-side User Agent and OS detection. You should prefer\n *  the non-deprecated UserAgent module when possible, which exposes our\n *  authoritative server-side PHP-based detection to the client.\n *\n *  Usage is straightforward:\n *\n *    if (UserAgent_DEPRECATED.ie()) {\n *      //  IE\n *    }\n *\n *  You can also do version checks:\n *\n *    if (UserAgent_DEPRECATED.ie() >= 7) {\n *      //  IE7 or better\n *    }\n *\n *  The browser functions will return NaN if the browser does not match, so\n *  you can also do version compares the other way:\n *\n *    if (UserAgent_DEPRECATED.ie() < 7) {\n *      //  IE6 or worse\n *    }\n *\n *  Note that the version is a float and may include a minor version number,\n *  so you should always use range operators to perform comparisons, not\n *  strict equality.\n *\n *  **Note:** You should **strongly** prefer capability detection to browser\n *  version detection where it's reasonable:\n *\n *    http://www.quirksmode.org/js/support.html\n *\n *  Further, we have a large number of mature wrapper functions and classes\n *  which abstract away many browser irregularities. Check the documentation,\n *  grep for things, or ask on javascript@lists.facebook.com before writing yet\n *  another copy of \"event || window.event\".\n *\n */\n\nvar _populated = false;\n\n// Browsers\nvar _ie, _firefox, _opera, _webkit, _chrome;\n\n// Actual IE browser for compatibility mode\nvar _ie_real_version;\n\n// Platforms\nvar _osx, _windows, _linux, _android;\n\n// Architectures\nvar _win64;\n\n// Devices\nvar _iphone, _ipad, _native;\n\nvar _mobile;\n\nfunction _populate() {\n  if (_populated) {\n    return;\n  }\n\n  _populated = true;\n\n  // To work around buggy JS libraries that can't handle multi-digit\n  // version numbers, Opera 10's user agent string claims it's Opera\n  // 9, then later includes a Version/X.Y field:\n  //\n  // Opera/9.80 (foo) Presto/2.2.15 Version/10.10\n  var uas = navigator.userAgent;\n  var agent = /(?:MSIE.(\\d+\\.\\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\\d+\\.\\d+))|(?:Opera(?:.+Version.|.)(\\d+\\.\\d+))|(?:AppleWebKit.(\\d+(?:\\.\\d+)?))|(?:Trident\\/\\d+\\.\\d+.*rv:(\\d+\\.\\d+))/.exec(uas);\n  var os    = /(Mac OS X)|(Windows)|(Linux)/.exec(uas);\n\n  _iphone = /\\b(iPhone|iP[ao]d)/.exec(uas);\n  _ipad = /\\b(iP[ao]d)/.exec(uas);\n  _android = /Android/i.exec(uas);\n  _native = /FBAN\\/\\w+;/i.exec(uas);\n  _mobile = /Mobile/i.exec(uas);\n\n  // Note that the IE team blog would have you believe you should be checking\n  // for 'Win64; x64'.  But MSDN then reveals that you can actually be coming\n  // from either x64 or ia64;  so ultimately, you should just check for Win64\n  // as in indicator of whether you're in 64-bit IE.  32-bit IE on 64-bit\n  // Windows will send 'WOW64' instead.\n  _win64 = !!(/Win64/.exec(uas));\n\n  if (agent) {\n    _ie = agent[1] ? parseFloat(agent[1]) : (\n          agent[5] ? parseFloat(agent[5]) : NaN);\n    // IE compatibility mode\n    if (_ie && document && document.documentMode) {\n      _ie = document.documentMode;\n    }\n    // grab the \"true\" ie version from the trident token if available\n    var trident = /(?:Trident\\/(\\d+.\\d+))/.exec(uas);\n    _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie;\n\n    _firefox = agent[2] ? parseFloat(agent[2]) : NaN;\n    _opera   = agent[3] ? parseFloat(agent[3]) : NaN;\n    _webkit  = agent[4] ? parseFloat(agent[4]) : NaN;\n    if (_webkit) {\n      // We do not add the regexp to the above test, because it will always\n      // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in\n      // the userAgent string.\n      agent = /(?:Chrome\\/(\\d+\\.\\d+))/.exec(uas);\n      _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN;\n    } else {\n      _chrome = NaN;\n    }\n  } else {\n    _ie = _firefox = _opera = _chrome = _webkit = NaN;\n  }\n\n  if (os) {\n    if (os[1]) {\n      // Detect OS X version.  If no version number matches, set _osx to true.\n      // Version examples:  10, 10_6_1, 10.7\n      // Parses version number as a float, taking only first two sets of\n      // digits.  If only one set of digits is found, returns just the major\n      // version number.\n      var ver = /(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(uas);\n\n      _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true;\n    } else {\n      _osx = false;\n    }\n    _windows = !!os[2];\n    _linux   = !!os[3];\n  } else {\n    _osx = _windows = _linux = false;\n  }\n}\n\nvar UserAgent_DEPRECATED = {\n\n  /**\n   *  Check if the UA is Internet Explorer.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  ie: function() {\n    return _populate() || _ie;\n  },\n\n  /**\n   * Check if we're in Internet Explorer compatibility mode.\n   *\n   * @return bool true if in compatibility mode, false if\n   * not compatibility mode or not ie\n   */\n  ieCompatibilityMode: function() {\n    return _populate() || (_ie_real_version > _ie);\n  },\n\n\n  /**\n   * Whether the browser is 64-bit IE.  Really, this is kind of weak sauce;  we\n   * only need this because Skype can't handle 64-bit IE yet.  We need to remove\n   * this when we don't need it -- tracked by #601957.\n   */\n  ie64: function() {\n    return UserAgent_DEPRECATED.ie() && _win64;\n  },\n\n  /**\n   *  Check if the UA is Firefox.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  firefox: function() {\n    return _populate() || _firefox;\n  },\n\n\n  /**\n   *  Check if the UA is Opera.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  opera: function() {\n    return _populate() || _opera;\n  },\n\n\n  /**\n   *  Check if the UA is WebKit.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  webkit: function() {\n    return _populate() || _webkit;\n  },\n\n  /**\n   *  For Push\n   *  WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit\n   */\n  safari: function() {\n    return UserAgent_DEPRECATED.webkit();\n  },\n\n  /**\n   *  Check if the UA is a Chrome browser.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  chrome : function() {\n    return _populate() || _chrome;\n  },\n\n\n  /**\n   *  Check if the user is running Windows.\n   *\n   *  @return bool `true' if the user's OS is Windows.\n   */\n  windows: function() {\n    return _populate() || _windows;\n  },\n\n\n  /**\n   *  Check if the user is running Mac OS X.\n   *\n   *  @return float|bool   Returns a float if a version number is detected,\n   *                       otherwise true/false.\n   */\n  osx: function() {\n    return _populate() || _osx;\n  },\n\n  /**\n   * Check if the user is running Linux.\n   *\n   * @return bool `true' if the user's OS is some flavor of Linux.\n   */\n  linux: function() {\n    return _populate() || _linux;\n  },\n\n  /**\n   * Check if the user is running on an iPhone or iPod platform.\n   *\n   * @return bool `true' if the user is running some flavor of the\n   *    iPhone OS.\n   */\n  iphone: function() {\n    return _populate() || _iphone;\n  },\n\n  mobile: function() {\n    return _populate() || (_iphone || _ipad || _android || _mobile);\n  },\n\n  nativeApp: function() {\n    // webviews inside of the native apps\n    return _populate() || _native;\n  },\n\n  android: function() {\n    return _populate() || _android;\n  },\n\n  ipad: function() {\n    return _populate() || _ipad;\n  }\n};\n\nmodule.exports = UserAgent_DEPRECATED;\n\n\n//# sourceURL=webpack:///./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js?");

/***/ }),

/***/ "./node_modules/normalize-wheel/src/isEventSupported.js":
/*!**************************************************************!*\
  !*** ./node_modules/normalize-wheel/src/isEventSupported.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n\n\nvar ExecutionEnvironment = __webpack_require__(/*! ./ExecutionEnvironment */ \"./node_modules/normalize-wheel/src/ExecutionEnvironment.js\");\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n  useHasFeature =\n    document.implementation &&\n    document.implementation.hasFeature &&\n    // always returns true in newer browsers as per the standard.\n    // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n    document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n  if (!ExecutionEnvironment.canUseDOM ||\n      capture && !('addEventListener' in document)) {\n    return false;\n  }\n\n  var eventName = 'on' + eventNameSuffix;\n  var isSupported = eventName in document;\n\n  if (!isSupported) {\n    var element = document.createElement('div');\n    element.setAttribute(eventName, 'return;');\n    isSupported = typeof element[eventName] === 'function';\n  }\n\n  if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n    // This is the only way to test support for the `wheel` event in IE9+.\n    isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n  }\n\n  return isSupported;\n}\n\nmodule.exports = isEventSupported;\n\n\n//# sourceURL=webpack:///./node_modules/normalize-wheel/src/isEventSupported.js?");

/***/ }),

/***/ "./node_modules/normalize-wheel/src/normalizeWheel.js":
/*!************************************************************!*\
  !*** ./node_modules/normalize-wheel/src/normalizeWheel.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule normalizeWheel\n * @typechecks\n */\n\n\n\nvar UserAgent_DEPRECATED = __webpack_require__(/*! ./UserAgent_DEPRECATED */ \"./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js\");\n\nvar isEventSupported = __webpack_require__(/*! ./isEventSupported */ \"./node_modules/normalize-wheel/src/isEventSupported.js\");\n\n\n// Reasonable defaults\nvar PIXEL_STEP  = 10;\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n\n/**\n * Mouse wheel (and 2-finger trackpad) support on the web sucks.  It is\n * complicated, thus this doc is long and (hopefully) detailed enough to answer\n * your questions.\n *\n * If you need to react to the mouse wheel in a predictable way, this code is\n * like your bestest friend. * hugs *\n *\n * As of today, there are 4 DOM event types you can listen to:\n *\n *   'wheel'                -- Chrome(31+), FF(17+), IE(9+)\n *   'mousewheel'           -- Chrome, IE(6+), Opera, Safari\n *   'MozMousePixelScroll'  -- FF(3.5 only!) (2010-2013) -- don't bother!\n *   'DOMMouseScroll'       -- FF(0.9.7+) since 2003\n *\n * So what to do?  The is the best:\n *\n *   normalizeWheel.getEventType();\n *\n * In your event callback, use this code to get sane interpretation of the\n * deltas.  This code will return an object with properties:\n *\n *   spinX   -- normalized spin speed (use for zoom) - x plane\n *   spinY   -- \" - y plane\n *   pixelX  -- normalized distance (to pixels) - x plane\n *   pixelY  -- \" - y plane\n *\n * Wheel values are provided by the browser assuming you are using the wheel to\n * scroll a web page by a number of lines or pixels (or pages).  Values can vary\n * significantly on different platforms and browsers, forgetting that you can\n * scroll at different speeds.  Some devices (like trackpads) emit more events\n * at smaller increments with fine granularity, and some emit massive jumps with\n * linear speed or acceleration.\n *\n * This code does its best to normalize the deltas for you:\n *\n *   - spin is trying to normalize how far the wheel was spun (or trackpad\n *     dragged).  This is super useful for zoom support where you want to\n *     throw away the chunky scroll steps on the PC and make those equal to\n *     the slow and smooth tiny steps on the Mac. Key data: This code tries to\n *     resolve a single slow step on a wheel to 1.\n *\n *   - pixel is normalizing the desired scroll delta in pixel units.  You'll\n *     get the crazy differences between browsers, but at least it'll be in\n *     pixels!\n *\n *   - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT.  This\n *     should translate to positive value zooming IN, negative zooming OUT.\n *     This matches the newer 'wheel' event.\n *\n * Why are there spinX, spinY (or pixels)?\n *\n *   - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn\n *     with a mouse.  It results in side-scrolling in the browser by default.\n *\n *   - spinY is what you expect -- it's the classic axis of a mouse wheel.\n *\n *   - I dropped spinZ/pixelZ.  It is supported by the DOM 3 'wheel' event and\n *     probably is by browsers in conjunction with fancy 3D controllers .. but\n *     you know.\n *\n * Implementation info:\n *\n * Examples of 'wheel' event if you scroll slowly (down) by one step with an\n * average mouse:\n *\n *   OS X + Chrome  (mouse)     -    4   pixel delta  (wheelDelta -120)\n *   OS X + Safari  (mouse)     -  N/A   pixel delta  (wheelDelta  -12)\n *   OS X + Firefox (mouse)     -    0.1 line  delta  (wheelDelta  N/A)\n *   Win8 + Chrome  (mouse)     -  100   pixel delta  (wheelDelta -120)\n *   Win8 + Firefox (mouse)     -    3   line  delta  (wheelDelta -120)\n *\n * On the trackpad:\n *\n *   OS X + Chrome  (trackpad)  -    2   pixel delta  (wheelDelta   -6)\n *   OS X + Firefox (trackpad)  -    1   pixel delta  (wheelDelta  N/A)\n *\n * On other/older browsers.. it's more complicated as there can be multiple and\n * also missing delta values.\n *\n * The 'wheel' event is more standard:\n *\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents\n *\n * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and\n * deltaX, deltaY and deltaZ.  Some browsers provide other values to maintain\n * backward compatibility with older events.  Those other values help us\n * better normalize spin speed.  Example of what the browsers provide:\n *\n *                          | event.wheelDelta | event.detail\n *        ------------------+------------------+--------------\n *          Safari v5/OS X  |       -120       |       0\n *          Safari v5/Win7  |       -120       |       0\n *         Chrome v17/OS X  |       -120       |       0\n *         Chrome v17/Win7  |       -120       |       0\n *                IE9/Win7  |       -120       |   undefined\n *         Firefox v4/OS X  |     undefined    |       1\n *         Firefox v4/Win7  |     undefined    |       3\n *\n */\nfunction normalizeWheel(/*object*/ event) /*object*/ {\n  var sX = 0, sY = 0,       // spinX, spinY\n      pX = 0, pY = 0;       // pixelX, pixelY\n\n  // Legacy\n  if ('detail'      in event) { sY = event.detail; }\n  if ('wheelDelta'  in event) { sY = -event.wheelDelta / 120; }\n  if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; }\n  if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; }\n\n  // side scrolling on FF with DOMMouseScroll\n  if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) {\n    sX = sY;\n    sY = 0;\n  }\n\n  pX = sX * PIXEL_STEP;\n  pY = sY * PIXEL_STEP;\n\n  if ('deltaY' in event) { pY = event.deltaY; }\n  if ('deltaX' in event) { pX = event.deltaX; }\n\n  if ((pX || pY) && event.deltaMode) {\n    if (event.deltaMode == 1) {          // delta in LINE units\n      pX *= LINE_HEIGHT;\n      pY *= LINE_HEIGHT;\n    } else {                             // delta in PAGE units\n      pX *= PAGE_HEIGHT;\n      pY *= PAGE_HEIGHT;\n    }\n  }\n\n  // Fall-back if spin cannot be determined\n  if (pX && !sX) { sX = (pX < 1) ? -1 : 1; }\n  if (pY && !sY) { sY = (pY < 1) ? -1 : 1; }\n\n  return { spinX  : sX,\n           spinY  : sY,\n           pixelX : pX,\n           pixelY : pY };\n}\n\n\n/**\n * The best combination if you prefer spinX + spinY normalization.  It favors\n * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with\n * 'wheel' event, making spin speed determination impossible.\n */\nnormalizeWheel.getEventType = function() /*string*/ {\n  return (UserAgent_DEPRECATED.firefox())\n           ? 'DOMMouseScroll'\n           : (isEventSupported('wheel'))\n               ? 'wheel'\n               : 'mousewheel';\n};\n\nmodule.exports = normalizeWheel;\n\n\n//# sourceURL=webpack:///./node_modules/normalize-wheel/src/normalizeWheel.js?");

/***/ }),

/***/ "./node_modules/nprogress/nprogress.css":
/*!**********************************************!*\
  !*** ./node_modules/nprogress/nprogress.css ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../css-loader/dist/cjs.js??ref--7-oneOf-3-1!../postcss-loader/src??ref--7-oneOf-3-2!./nprogress.css */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/nprogress/nprogress.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ebcf035e\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/nprogress/nprogress.css?");

/***/ }),

/***/ "./node_modules/nprogress/nprogress.js":
/*!*********************************************!*\
  !*** ./node_modules/nprogress/nprogress.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else {}\n\n})(this, function() {\n  var NProgress = {};\n\n  NProgress.version = '0.2.0';\n\n  var Settings = NProgress.settings = {\n    minimum: 0.08,\n    easing: 'ease',\n    positionUsing: '',\n    speed: 200,\n    trickle: true,\n    trickleRate: 0.02,\n    trickleSpeed: 800,\n    showSpinner: true,\n    barSelector: '[role=\"bar\"]',\n    spinnerSelector: '[role=\"spinner\"]',\n    parent: 'body',\n    template: '<div class=\"bar\" role=\"bar\"><div class=\"peg\"></div></div><div class=\"spinner\" role=\"spinner\"><div class=\"spinner-icon\"></div></div>'\n  };\n\n  /**\n   * Updates configuration.\n   *\n   *     NProgress.configure({\n   *       minimum: 0.1\n   *     });\n   */\n  NProgress.configure = function(options) {\n    var key, value;\n    for (key in options) {\n      value = options[key];\n      if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n    }\n\n    return this;\n  };\n\n  /**\n   * Last number.\n   */\n\n  NProgress.status = null;\n\n  /**\n   * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n   *\n   *     NProgress.set(0.4);\n   *     NProgress.set(1.0);\n   */\n\n  NProgress.set = function(n) {\n    var started = NProgress.isStarted();\n\n    n = clamp(n, Settings.minimum, 1);\n    NProgress.status = (n === 1 ? null : n);\n\n    var progress = NProgress.render(!started),\n        bar      = progress.querySelector(Settings.barSelector),\n        speed    = Settings.speed,\n        ease     = Settings.easing;\n\n    progress.offsetWidth; /* Repaint */\n\n    queue(function(next) {\n      // Set positionUsing if it hasn't already been set\n      if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n      // Add transition\n      css(bar, barPositionCSS(n, speed, ease));\n\n      if (n === 1) {\n        // Fade out\n        css(progress, { \n          transition: 'none', \n          opacity: 1 \n        });\n        progress.offsetWidth; /* Repaint */\n\n        setTimeout(function() {\n          css(progress, { \n            transition: 'all ' + speed + 'ms linear', \n            opacity: 0 \n          });\n          setTimeout(function() {\n            NProgress.remove();\n            next();\n          }, speed);\n        }, speed);\n      } else {\n        setTimeout(next, speed);\n      }\n    });\n\n    return this;\n  };\n\n  NProgress.isStarted = function() {\n    return typeof NProgress.status === 'number';\n  };\n\n  /**\n   * Shows the progress bar.\n   * This is the same as setting the status to 0%, except that it doesn't go backwards.\n   *\n   *     NProgress.start();\n   *\n   */\n  NProgress.start = function() {\n    if (!NProgress.status) NProgress.set(0);\n\n    var work = function() {\n      setTimeout(function() {\n        if (!NProgress.status) return;\n        NProgress.trickle();\n        work();\n      }, Settings.trickleSpeed);\n    };\n\n    if (Settings.trickle) work();\n\n    return this;\n  };\n\n  /**\n   * Hides the progress bar.\n   * This is the *sort of* the same as setting the status to 100%, with the\n   * difference being `done()` makes some placebo effect of some realistic motion.\n   *\n   *     NProgress.done();\n   *\n   * If `true` is passed, it will show the progress bar even if its hidden.\n   *\n   *     NProgress.done(true);\n   */\n\n  NProgress.done = function(force) {\n    if (!force && !NProgress.status) return this;\n\n    return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n  };\n\n  /**\n   * Increments by a random amount.\n   */\n\n  NProgress.inc = function(amount) {\n    var n = NProgress.status;\n\n    if (!n) {\n      return NProgress.start();\n    } else {\n      if (typeof amount !== 'number') {\n        amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n      }\n\n      n = clamp(n + amount, 0, 0.994);\n      return NProgress.set(n);\n    }\n  };\n\n  NProgress.trickle = function() {\n    return NProgress.inc(Math.random() * Settings.trickleRate);\n  };\n\n  /**\n   * Waits for all supplied jQuery promises and\n   * increases the progress as the promises resolve.\n   *\n   * @param $promise jQUery Promise\n   */\n  (function() {\n    var initial = 0, current = 0;\n\n    NProgress.promise = function($promise) {\n      if (!$promise || $promise.state() === \"resolved\") {\n        return this;\n      }\n\n      if (current === 0) {\n        NProgress.start();\n      }\n\n      initial++;\n      current++;\n\n      $promise.always(function() {\n        current--;\n        if (current === 0) {\n            initial = 0;\n            NProgress.done();\n        } else {\n            NProgress.set((initial - current) / initial);\n        }\n      });\n\n      return this;\n    };\n\n  })();\n\n  /**\n   * (Internal) renders the progress bar markup based on the `template`\n   * setting.\n   */\n\n  NProgress.render = function(fromStart) {\n    if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n    addClass(document.documentElement, 'nprogress-busy');\n    \n    var progress = document.createElement('div');\n    progress.id = 'nprogress';\n    progress.innerHTML = Settings.template;\n\n    var bar      = progress.querySelector(Settings.barSelector),\n        perc     = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n        parent   = document.querySelector(Settings.parent),\n        spinner;\n    \n    css(bar, {\n      transition: 'all 0 linear',\n      transform: 'translate3d(' + perc + '%,0,0)'\n    });\n\n    if (!Settings.showSpinner) {\n      spinner = progress.querySelector(Settings.spinnerSelector);\n      spinner && removeElement(spinner);\n    }\n\n    if (parent != document.body) {\n      addClass(parent, 'nprogress-custom-parent');\n    }\n\n    parent.appendChild(progress);\n    return progress;\n  };\n\n  /**\n   * Removes the element. Opposite of render().\n   */\n\n  NProgress.remove = function() {\n    removeClass(document.documentElement, 'nprogress-busy');\n    removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n    var progress = document.getElementById('nprogress');\n    progress && removeElement(progress);\n  };\n\n  /**\n   * Checks if the progress bar is rendered.\n   */\n\n  NProgress.isRendered = function() {\n    return !!document.getElementById('nprogress');\n  };\n\n  /**\n   * Determine which positioning CSS rule to use.\n   */\n\n  NProgress.getPositioningCSS = function() {\n    // Sniff on document.body.style\n    var bodyStyle = document.body.style;\n\n    // Sniff prefixes\n    var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n                       ('MozTransform' in bodyStyle) ? 'Moz' :\n                       ('msTransform' in bodyStyle) ? 'ms' :\n                       ('OTransform' in bodyStyle) ? 'O' : '';\n\n    if (vendorPrefix + 'Perspective' in bodyStyle) {\n      // Modern browsers with 3D support, e.g. Webkit, IE10\n      return 'translate3d';\n    } else if (vendorPrefix + 'Transform' in bodyStyle) {\n      // Browsers without 3D support, e.g. IE9\n      return 'translate';\n    } else {\n      // Browsers without translate() support, e.g. IE7-8\n      return 'margin';\n    }\n  };\n\n  /**\n   * Helpers\n   */\n\n  function clamp(n, min, max) {\n    if (n < min) return min;\n    if (n > max) return max;\n    return n;\n  }\n\n  /**\n   * (Internal) converts a percentage (`0..1`) to a bar translateX\n   * percentage (`-100%..0%`).\n   */\n\n  function toBarPerc(n) {\n    return (-1 + n) * 100;\n  }\n\n\n  /**\n   * (Internal) returns the correct CSS for changing the bar's\n   * position given an n percentage, and speed and ease from Settings\n   */\n\n  function barPositionCSS(n, speed, ease) {\n    var barCSS;\n\n    if (Settings.positionUsing === 'translate3d') {\n      barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n    } else if (Settings.positionUsing === 'translate') {\n      barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n    } else {\n      barCSS = { 'margin-left': toBarPerc(n)+'%' };\n    }\n\n    barCSS.transition = 'all '+speed+'ms '+ease;\n\n    return barCSS;\n  }\n\n  /**\n   * (Internal) Queues a function to be executed.\n   */\n\n  var queue = (function() {\n    var pending = [];\n    \n    function next() {\n      var fn = pending.shift();\n      if (fn) {\n        fn(next);\n      }\n    }\n\n    return function(fn) {\n      pending.push(fn);\n      if (pending.length == 1) next();\n    };\n  })();\n\n  /**\n   * (Internal) Applies css properties to an element, similar to the jQuery \n   * css method.\n   *\n   * While this helper does assist with vendor prefixed property names, it \n   * does not perform any manipulation of values prior to setting styles.\n   */\n\n  var css = (function() {\n    var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n        cssProps    = {};\n\n    function camelCase(string) {\n      return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n        return letter.toUpperCase();\n      });\n    }\n\n    function getVendorProp(name) {\n      var style = document.body.style;\n      if (name in style) return name;\n\n      var i = cssPrefixes.length,\n          capName = name.charAt(0).toUpperCase() + name.slice(1),\n          vendorName;\n      while (i--) {\n        vendorName = cssPrefixes[i] + capName;\n        if (vendorName in style) return vendorName;\n      }\n\n      return name;\n    }\n\n    function getStyleProp(name) {\n      name = camelCase(name);\n      return cssProps[name] || (cssProps[name] = getVendorProp(name));\n    }\n\n    function applyCss(element, prop, value) {\n      prop = getStyleProp(prop);\n      element.style[prop] = value;\n    }\n\n    return function(element, properties) {\n      var args = arguments,\n          prop, \n          value;\n\n      if (args.length == 2) {\n        for (prop in properties) {\n          value = properties[prop];\n          if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n        }\n      } else {\n        applyCss(element, args[1], args[2]);\n      }\n    }\n  })();\n\n  /**\n   * (Internal) Determines if an element or space separated list of class names contains a class name.\n   */\n\n  function hasClass(element, name) {\n    var list = typeof element == 'string' ? element : classList(element);\n    return list.indexOf(' ' + name + ' ') >= 0;\n  }\n\n  /**\n   * (Internal) Adds a class to an element.\n   */\n\n  function addClass(element, name) {\n    var oldList = classList(element),\n        newList = oldList + name;\n\n    if (hasClass(oldList, name)) return; \n\n    // Trim the opening space.\n    element.className = newList.substring(1);\n  }\n\n  /**\n   * (Internal) Removes a class from an element.\n   */\n\n  function removeClass(element, name) {\n    var oldList = classList(element),\n        newList;\n\n    if (!hasClass(element, name)) return;\n\n    // Replace the class name.\n    newList = oldList.replace(' ' + name + ' ', ' ');\n\n    // Trim the opening and closing spaces.\n    element.className = newList.substring(1, newList.length - 1);\n  }\n\n  /**\n   * (Internal) Gets a space separated list of the class names on the element. \n   * The list is wrapped with a single space on each end to facilitate finding \n   * matches within the list.\n   */\n\n  function classList(element) {\n    return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n  }\n\n  /**\n   * (Internal) Removes an element from the DOM.\n   */\n\n  function removeElement(element) {\n    element && element.parentNode && element.parentNode.removeChild(element);\n  }\n\n  return NProgress;\n});\n\n\n\n//# sourceURL=webpack:///./node_modules/nprogress/nprogress.js?");

/***/ }),

/***/ "./node_modules/object-inspect/index.js":
/*!**********************************************!*\
  !*** ./node_modules/object-inspect/index.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n    ? Symbol.toStringTag\n    : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n    [].__proto__ === Array.prototype // eslint-disable-line no-proto\n        ? function (O) {\n            return O.__proto__; // eslint-disable-line no-proto\n        }\n        : null\n);\n\nfunction addNumericSeparator(num, str) {\n    if (\n        num === Infinity\n        || num === -Infinity\n        || num !== num\n        || (num && num > -1000 && num < 1000)\n        || $test.call(/e/, str)\n    ) {\n        return str;\n    }\n    var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n    if (typeof num === 'number') {\n        var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n        if (int !== num) {\n            var intStr = String(int);\n            var dec = $slice.call(str, intStr.length + 1);\n            return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n        }\n    }\n    return $replace.call(str, sepRegex, '$&_');\n}\n\nvar inspectCustom = __webpack_require__(/*! ./util.inspect */ 1).custom;\nvar inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n    var opts = options || {};\n\n    if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n        throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n    }\n    if (\n        has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n            ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n            : opts.maxStringLength !== null\n        )\n    ) {\n        throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n    }\n    var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n    if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n        throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n    }\n\n    if (\n        has(opts, 'indent')\n        && opts.indent !== null\n        && opts.indent !== '\\t'\n        && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n    ) {\n        throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n    }\n    if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n        throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n    }\n    var numericSeparator = opts.numericSeparator;\n\n    if (typeof obj === 'undefined') {\n        return 'undefined';\n    }\n    if (obj === null) {\n        return 'null';\n    }\n    if (typeof obj === 'boolean') {\n        return obj ? 'true' : 'false';\n    }\n\n    if (typeof obj === 'string') {\n        return inspectString(obj, opts);\n    }\n    if (typeof obj === 'number') {\n        if (obj === 0) {\n            return Infinity / obj > 0 ? '0' : '-0';\n        }\n        var str = String(obj);\n        return numericSeparator ? addNumericSeparator(obj, str) : str;\n    }\n    if (typeof obj === 'bigint') {\n        var bigIntStr = String(obj) + 'n';\n        return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n    }\n\n    var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n    if (typeof depth === 'undefined') { depth = 0; }\n    if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n        return isArray(obj) ? '[Array]' : '[Object]';\n    }\n\n    var indent = getIndent(opts, depth);\n\n    if (typeof seen === 'undefined') {\n        seen = [];\n    } else if (indexOf(seen, obj) >= 0) {\n        return '[Circular]';\n    }\n\n    function inspect(value, from, noIndent) {\n        if (from) {\n            seen = $arrSlice.call(seen);\n            seen.push(from);\n        }\n        if (noIndent) {\n            var newOpts = {\n                depth: opts.depth\n            };\n            if (has(opts, 'quoteStyle')) {\n                newOpts.quoteStyle = opts.quoteStyle;\n            }\n            return inspect_(value, newOpts, depth + 1, seen);\n        }\n        return inspect_(value, opts, depth + 1, seen);\n    }\n\n    if (typeof obj === 'function') {\n        var name = nameOf(obj);\n        var keys = arrObjKeys(obj, inspect);\n        return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n    }\n    if (isSymbol(obj)) {\n        var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n        return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n    }\n    if (isElement(obj)) {\n        var s = '<' + $toLowerCase.call(String(obj.nodeName));\n        var attrs = obj.attributes || [];\n        for (var i = 0; i < attrs.length; i++) {\n            s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n        }\n        s += '>';\n        if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n        s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n        return s;\n    }\n    if (isArray(obj)) {\n        if (obj.length === 0) { return '[]'; }\n        var xs = arrObjKeys(obj, inspect);\n        if (indent && !singleLineValues(xs)) {\n            return '[' + indentedJoin(xs, indent) + ']';\n        }\n        return '[ ' + $join.call(xs, ', ') + ' ]';\n    }\n    if (isError(obj)) {\n        var parts = arrObjKeys(obj, inspect);\n        if ('cause' in obj && !isEnumerable.call(obj, 'cause')) {\n            return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n        }\n        if (parts.length === 0) { return '[' + String(obj) + ']'; }\n        return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n    }\n    if (typeof obj === 'object' && customInspect) {\n        if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {\n            return obj[inspectSymbol]();\n        } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n            return obj.inspect();\n        }\n    }\n    if (isMap(obj)) {\n        var mapParts = [];\n        mapForEach.call(obj, function (value, key) {\n            mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n        });\n        return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n    }\n    if (isSet(obj)) {\n        var setParts = [];\n        setForEach.call(obj, function (value) {\n            setParts.push(inspect(value, obj));\n        });\n        return collectionOf('Set', setSize.call(obj), setParts, indent);\n    }\n    if (isWeakMap(obj)) {\n        return weakCollectionOf('WeakMap');\n    }\n    if (isWeakSet(obj)) {\n        return weakCollectionOf('WeakSet');\n    }\n    if (isWeakRef(obj)) {\n        return weakCollectionOf('WeakRef');\n    }\n    if (isNumber(obj)) {\n        return markBoxed(inspect(Number(obj)));\n    }\n    if (isBigInt(obj)) {\n        return markBoxed(inspect(bigIntValueOf.call(obj)));\n    }\n    if (isBoolean(obj)) {\n        return markBoxed(booleanValueOf.call(obj));\n    }\n    if (isString(obj)) {\n        return markBoxed(inspect(String(obj)));\n    }\n    if (!isDate(obj) && !isRegExp(obj)) {\n        var ys = arrObjKeys(obj, inspect);\n        var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n        var protoTag = obj instanceof Object ? '' : 'null prototype';\n        var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n        var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n        var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n        if (ys.length === 0) { return tag + '{}'; }\n        if (indent) {\n            return tag + '{' + indentedJoin(ys, indent) + '}';\n        }\n        return tag + '{ ' + $join.call(ys, ', ') + ' }';\n    }\n    return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n    var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n    return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n    return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n    if (hasShammedSymbols) {\n        return obj && typeof obj === 'object' && obj instanceof Symbol;\n    }\n    if (typeof obj === 'symbol') {\n        return true;\n    }\n    if (!obj || typeof obj !== 'object' || !symToString) {\n        return false;\n    }\n    try {\n        symToString.call(obj);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nfunction isBigInt(obj) {\n    if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n        return false;\n    }\n    try {\n        bigIntValueOf.call(obj);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n    return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n    return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n    if (f.name) { return f.name; }\n    var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n    if (m) { return m[1]; }\n    return null;\n}\n\nfunction indexOf(xs, x) {\n    if (xs.indexOf) { return xs.indexOf(x); }\n    for (var i = 0, l = xs.length; i < l; i++) {\n        if (xs[i] === x) { return i; }\n    }\n    return -1;\n}\n\nfunction isMap(x) {\n    if (!mapSize || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        mapSize.call(x);\n        try {\n            setSize.call(x);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof Map; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakMap(x) {\n    if (!weakMapHas || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakMapHas.call(x, weakMapHas);\n        try {\n            weakSetHas.call(x, weakSetHas);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakRef(x) {\n    if (!weakRefDeref || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakRefDeref.call(x);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nfunction isSet(x) {\n    if (!setSize || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        setSize.call(x);\n        try {\n            mapSize.call(x);\n        } catch (m) {\n            return true;\n        }\n        return x instanceof Set; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakSet(x) {\n    if (!weakSetHas || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakSetHas.call(x, weakSetHas);\n        try {\n            weakMapHas.call(x, weakMapHas);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isElement(x) {\n    if (!x || typeof x !== 'object') { return false; }\n    if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n        return true;\n    }\n    return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n    if (str.length > opts.maxStringLength) {\n        var remaining = str.length - opts.maxStringLength;\n        var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n        return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n    }\n    // eslint-disable-next-line no-control-regex\n    var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n    return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n    var n = c.charCodeAt(0);\n    var x = {\n        8: 'b',\n        9: 't',\n        10: 'n',\n        12: 'f',\n        13: 'r'\n    }[n];\n    if (x) { return '\\\\' + x; }\n    return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n    return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n    return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n    var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n    return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n    for (var i = 0; i < xs.length; i++) {\n        if (indexOf(xs[i], '\\n') >= 0) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction getIndent(opts, depth) {\n    var baseIndent;\n    if (opts.indent === '\\t') {\n        baseIndent = '\\t';\n    } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n        baseIndent = $join.call(Array(opts.indent + 1), ' ');\n    } else {\n        return null;\n    }\n    return {\n        base: baseIndent,\n        prev: $join.call(Array(depth + 1), baseIndent)\n    };\n}\n\nfunction indentedJoin(xs, indent) {\n    if (xs.length === 0) { return ''; }\n    var lineJoiner = '\\n' + indent.prev + indent.base;\n    return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n    var isArr = isArray(obj);\n    var xs = [];\n    if (isArr) {\n        xs.length = obj.length;\n        for (var i = 0; i < obj.length; i++) {\n            xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n        }\n    }\n    var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n    var symMap;\n    if (hasShammedSymbols) {\n        symMap = {};\n        for (var k = 0; k < syms.length; k++) {\n            symMap['$' + syms[k]] = syms[k];\n        }\n    }\n\n    for (var key in obj) { // eslint-disable-line no-restricted-syntax\n        if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n        if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n        if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n            // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n            continue; // eslint-disable-line no-restricted-syntax, no-continue\n        } else if ($test.call(/[^\\w$]/, key)) {\n            xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n        } else {\n            xs.push(key + ': ' + inspect(obj[key], obj));\n        }\n    }\n    if (typeof gOPS === 'function') {\n        for (var j = 0; j < syms.length; j++) {\n            if (isEnumerable.call(obj, syms[j])) {\n                xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n            }\n        }\n    }\n    return xs;\n}\n\n\n//# sourceURL=webpack:///./node_modules/object-inspect/index.js?");

/***/ }),

/***/ "./node_modules/path-browserify/index.js":
/*!***********************************************!*\
  !*** ./node_modules/path-browserify/index.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = parts.length - 1; i >= 0; i--) {\n    var last = parts[i];\n    if (last === '.') {\n      parts.splice(i, 1);\n    } else if (last === '..') {\n      parts.splice(i, 1);\n      up++;\n    } else if (up) {\n      parts.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (allowAboveRoot) {\n    for (; up--; up) {\n      parts.unshift('..');\n    }\n  }\n\n  return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (typeof path !== 'string') {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n    return !!p;\n  }), !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n  var isAbsolute = exports.isAbsolute(path),\n      trailingSlash = substr(path, -1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(filter(path.split('/'), function(p) {\n    return !!p;\n  }), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n  var paths = Array.prototype.slice.call(arguments, 0);\n  return exports.normalize(filter(paths, function(p, index) {\n    if (typeof p !== 'string') {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    return p;\n  }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n  from = exports.resolve(from).substr(1);\n  to = exports.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end - start + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  if (path.length === 0) return '.';\n  var code = path.charCodeAt(0);\n  var hasRoot = code === 47 /*/*/;\n  var end = -1;\n  var matchedSlash = true;\n  for (var i = path.length - 1; i >= 1; --i) {\n    code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        if (!matchedSlash) {\n          end = i;\n          break;\n        }\n      } else {\n      // We saw the first non-path separator\n      matchedSlash = false;\n    }\n  }\n\n  if (end === -1) return hasRoot ? '/' : '.';\n  if (hasRoot && end === 1) {\n    // return '//';\n    // Backwards-compat fix:\n    return '/';\n  }\n  return path.slice(0, end);\n};\n\nfunction basename(path) {\n  if (typeof path !== 'string') path = path + '';\n\n  var start = 0;\n  var end = -1;\n  var matchedSlash = true;\n  var i;\n\n  for (i = path.length - 1; i >= 0; --i) {\n    if (path.charCodeAt(i) === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          start = i + 1;\n          break;\n        }\n      } else if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // path component\n      matchedSlash = false;\n      end = i + 1;\n    }\n  }\n\n  if (end === -1) return '';\n  return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n  var f = basename(path);\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\nexports.extname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  var startDot = -1;\n  var startPart = 0;\n  var end = -1;\n  var matchedSlash = true;\n  // Track the state of characters (if any) we see before our first dot and\n  // after any path separator we find\n  var preDotState = 0;\n  for (var i = path.length - 1; i >= 0; --i) {\n    var code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          startPart = i + 1;\n          break;\n        }\n        continue;\n      }\n    if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // extension\n      matchedSlash = false;\n      end = i + 1;\n    }\n    if (code === 46 /*.*/) {\n        // If this is our first dot, mark it as the start of our extension\n        if (startDot === -1)\n          startDot = i;\n        else if (preDotState !== 1)\n          preDotState = 1;\n    } else if (startDot !== -1) {\n      // We saw a non-dot and non-path separator before our dot, so we should\n      // have a good chance at having a non-empty extension\n      preDotState = -1;\n    }\n  }\n\n  if (startDot === -1 || end === -1 ||\n      // We saw a non-dot character immediately before the dot\n      preDotState === 0 ||\n      // The (right-most) trimmed path component is exactly '..'\n      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n    return '';\n  }\n  return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n    if (xs.filter) return xs.filter(f);\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        if (f(xs[i], i, xs)) res.push(xs[i]);\n    }\n    return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n    ? function (str, start, len) { return str.substr(start, len) }\n    : function (str, start, len) {\n        if (start < 0) start = str.length + start;\n        return str.substr(start, len);\n    }\n;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node-libs-browser/mock/process.js */ \"./node_modules/node-libs-browser/mock/process.js\")))\n\n//# sourceURL=webpack:///./node_modules/path-browserify/index.js?");

/***/ }),

/***/ "./node_modules/path-to-regexp/dist.es2015/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/path-to-regexp/dist.es2015/index.js ***!
  \**********************************************************/
/*! exports provided: parse, compile, tokensToFunction, match, regexpToFunction, tokensToRegexp, pathToRegexp */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compile\", function() { return compile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tokensToFunction\", function() { return tokensToFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"match\", function() { return match; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"regexpToFunction\", function() { return regexpToFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tokensToRegexp\", function() { return tokensToRegexp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pathToRegexp\", function() { return pathToRegexp; });\n/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n    var tokens = [];\n    var i = 0;\n    while (i < str.length) {\n        var char = str[i];\n        if (char === \"*\" || char === \"+\" || char === \"?\") {\n            tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n            continue;\n        }\n        if (char === \"\\\\\") {\n            tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n            continue;\n        }\n        if (char === \"{\") {\n            tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n            continue;\n        }\n        if (char === \"}\") {\n            tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n            continue;\n        }\n        if (char === \":\") {\n            var name = \"\";\n            var j = i + 1;\n            while (j < str.length) {\n                var code = str.charCodeAt(j);\n                if (\n                // `0-9`\n                (code >= 48 && code <= 57) ||\n                    // `A-Z`\n                    (code >= 65 && code <= 90) ||\n                    // `a-z`\n                    (code >= 97 && code <= 122) ||\n                    // `_`\n                    code === 95) {\n                    name += str[j++];\n                    continue;\n                }\n                break;\n            }\n            if (!name)\n                throw new TypeError(\"Missing parameter name at \".concat(i));\n            tokens.push({ type: \"NAME\", index: i, value: name });\n            i = j;\n            continue;\n        }\n        if (char === \"(\") {\n            var count = 1;\n            var pattern = \"\";\n            var j = i + 1;\n            if (str[j] === \"?\") {\n                throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \".concat(j));\n            }\n            while (j < str.length) {\n                if (str[j] === \"\\\\\") {\n                    pattern += str[j++] + str[j++];\n                    continue;\n                }\n                if (str[j] === \")\") {\n                    count--;\n                    if (count === 0) {\n                        j++;\n                        break;\n                    }\n                }\n                else if (str[j] === \"(\") {\n                    count++;\n                    if (str[j + 1] !== \"?\") {\n                        throw new TypeError(\"Capturing groups are not allowed at \".concat(j));\n                    }\n                }\n                pattern += str[j++];\n            }\n            if (count)\n                throw new TypeError(\"Unbalanced pattern at \".concat(i));\n            if (!pattern)\n                throw new TypeError(\"Missing pattern at \".concat(i));\n            tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n            i = j;\n            continue;\n        }\n        tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n    }\n    tokens.push({ type: \"END\", index: i, value: \"\" });\n    return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options) {\n    if (options === void 0) { options = {}; }\n    var tokens = lexer(str);\n    var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n    var defaultPattern = \"[^\".concat(escapeString(options.delimiter || \"/#?\"), \"]+?\");\n    var result = [];\n    var key = 0;\n    var i = 0;\n    var path = \"\";\n    var tryConsume = function (type) {\n        if (i < tokens.length && tokens[i].type === type)\n            return tokens[i++].value;\n    };\n    var mustConsume = function (type) {\n        var value = tryConsume(type);\n        if (value !== undefined)\n            return value;\n        var _a = tokens[i], nextType = _a.type, index = _a.index;\n        throw new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n    };\n    var consumeText = function () {\n        var result = \"\";\n        var value;\n        while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n            result += value;\n        }\n        return result;\n    };\n    while (i < tokens.length) {\n        var char = tryConsume(\"CHAR\");\n        var name = tryConsume(\"NAME\");\n        var pattern = tryConsume(\"PATTERN\");\n        if (name || pattern) {\n            var prefix = char || \"\";\n            if (prefixes.indexOf(prefix) === -1) {\n                path += prefix;\n                prefix = \"\";\n            }\n            if (path) {\n                result.push(path);\n                path = \"\";\n            }\n            result.push({\n                name: name || key++,\n                prefix: prefix,\n                suffix: \"\",\n                pattern: pattern || defaultPattern,\n                modifier: tryConsume(\"MODIFIER\") || \"\",\n            });\n            continue;\n        }\n        var value = char || tryConsume(\"ESCAPED_CHAR\");\n        if (value) {\n            path += value;\n            continue;\n        }\n        if (path) {\n            result.push(path);\n            path = \"\";\n        }\n        var open = tryConsume(\"OPEN\");\n        if (open) {\n            var prefix = consumeText();\n            var name_1 = tryConsume(\"NAME\") || \"\";\n            var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n            var suffix = consumeText();\n            mustConsume(\"CLOSE\");\n            result.push({\n                name: name_1 || (pattern_1 ? key++ : \"\"),\n                pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n                prefix: prefix,\n                suffix: suffix,\n                modifier: tryConsume(\"MODIFIER\") || \"\",\n            });\n            continue;\n        }\n        mustConsume(\"END\");\n    }\n    return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(str, options) {\n    return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction(tokens, options) {\n    if (options === void 0) { options = {}; }\n    var reFlags = flags(options);\n    var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n    // Compile all the tokens into regexps.\n    var matches = tokens.map(function (token) {\n        if (typeof token === \"object\") {\n            return new RegExp(\"^(?:\".concat(token.pattern, \")$\"), reFlags);\n        }\n    });\n    return function (data) {\n        var path = \"\";\n        for (var i = 0; i < tokens.length; i++) {\n            var token = tokens[i];\n            if (typeof token === \"string\") {\n                path += token;\n                continue;\n            }\n            var value = data ? data[token.name] : undefined;\n            var optional = token.modifier === \"?\" || token.modifier === \"*\";\n            var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n            if (Array.isArray(value)) {\n                if (!repeat) {\n                    throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not repeat, but got an array\"));\n                }\n                if (value.length === 0) {\n                    if (optional)\n                        continue;\n                    throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not be empty\"));\n                }\n                for (var j = 0; j < value.length; j++) {\n                    var segment = encode(value[j], token);\n                    if (validate && !matches[i].test(segment)) {\n                        throw new TypeError(\"Expected all \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n                    }\n                    path += token.prefix + segment + token.suffix;\n                }\n                continue;\n            }\n            if (typeof value === \"string\" || typeof value === \"number\") {\n                var segment = encode(String(value), token);\n                if (validate && !matches[i].test(segment)) {\n                    throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n                }\n                path += token.prefix + segment + token.suffix;\n                continue;\n            }\n            if (optional)\n                continue;\n            var typeOfMessage = repeat ? \"an array\" : \"a string\";\n            throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to be \").concat(typeOfMessage));\n        }\n        return path;\n    };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nfunction match(str, options) {\n    var keys = [];\n    var re = pathToRegexp(str, keys, options);\n    return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nfunction regexpToFunction(re, keys, options) {\n    if (options === void 0) { options = {}; }\n    var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n    return function (pathname) {\n        var m = re.exec(pathname);\n        if (!m)\n            return false;\n        var path = m[0], index = m.index;\n        var params = Object.create(null);\n        var _loop_1 = function (i) {\n            if (m[i] === undefined)\n                return \"continue\";\n            var key = keys[i - 1];\n            if (key.modifier === \"*\" || key.modifier === \"+\") {\n                params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n                    return decode(value, key);\n                });\n            }\n            else {\n                params[key.name] = decode(m[i], key);\n            }\n        };\n        for (var i = 1; i < m.length; i++) {\n            _loop_1(i);\n        }\n        return { path: path, index: index, params: params };\n    };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n    return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n    return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n    if (!keys)\n        return path;\n    var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n    var index = 0;\n    var execResult = groupsRegex.exec(path.source);\n    while (execResult) {\n        keys.push({\n            // Use parenthesized substring match if available, index otherwise\n            name: execResult[1] || index++,\n            prefix: \"\",\n            suffix: \"\",\n            modifier: \"\",\n            pattern: \"\",\n        });\n        execResult = groupsRegex.exec(path.source);\n    }\n    return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n    var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n    return new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n    return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nfunction tokensToRegexp(tokens, keys, options) {\n    if (options === void 0) { options = {}; }\n    var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? \"/#?\" : _e, _f = options.endsWith, endsWith = _f === void 0 ? \"\" : _f;\n    var endsWithRe = \"[\".concat(escapeString(endsWith), \"]|$\");\n    var delimiterRe = \"[\".concat(escapeString(delimiter), \"]\");\n    var route = start ? \"^\" : \"\";\n    // Iterate over the tokens and create our regexp string.\n    for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n        var token = tokens_1[_i];\n        if (typeof token === \"string\") {\n            route += escapeString(encode(token));\n        }\n        else {\n            var prefix = escapeString(encode(token.prefix));\n            var suffix = escapeString(encode(token.suffix));\n            if (token.pattern) {\n                if (keys)\n                    keys.push(token);\n                if (prefix || suffix) {\n                    if (token.modifier === \"+\" || token.modifier === \"*\") {\n                        var mod = token.modifier === \"*\" ? \"?\" : \"\";\n                        route += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n                    }\n                    else {\n                        route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n                    }\n                }\n                else {\n                    if (token.modifier === \"+\" || token.modifier === \"*\") {\n                        route += \"((?:\".concat(token.pattern, \")\").concat(token.modifier, \")\");\n                    }\n                    else {\n                        route += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n                    }\n                }\n            }\n            else {\n                route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n            }\n        }\n    }\n    if (end) {\n        if (!strict)\n            route += \"\".concat(delimiterRe, \"?\");\n        route += !options.endsWith ? \"$\" : \"(?=\".concat(endsWithRe, \")\");\n    }\n    else {\n        var endToken = tokens[tokens.length - 1];\n        var isEndDelimited = typeof endToken === \"string\"\n            ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n            : endToken === undefined;\n        if (!strict) {\n            route += \"(?:\".concat(delimiterRe, \"(?=\").concat(endsWithRe, \"))?\");\n        }\n        if (!isEndDelimited) {\n            route += \"(?=\".concat(delimiterRe, \"|\").concat(endsWithRe, \")\");\n        }\n    }\n    return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nfunction pathToRegexp(path, keys, options) {\n    if (path instanceof RegExp)\n        return regexpToRegexp(path, keys);\n    if (Array.isArray(path))\n        return arrayToRegexp(path, keys, options);\n    return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/path-to-regexp/dist.es2015/index.js?");

/***/ }),

/***/ "./node_modules/qs/lib/formats.js":
/*!****************************************!*\
  !*** ./node_modules/qs/lib/formats.js ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n    RFC1738: 'RFC1738',\n    RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n    'default': Format.RFC3986,\n    formatters: {\n        RFC1738: function (value) {\n            return replace.call(value, percentTwenties, '+');\n        },\n        RFC3986: function (value) {\n            return String(value);\n        }\n    },\n    RFC1738: Format.RFC1738,\n    RFC3986: Format.RFC3986\n};\n\n\n//# sourceURL=webpack:///./node_modules/qs/lib/formats.js?");

/***/ }),

/***/ "./node_modules/qs/lib/index.js":
/*!**************************************!*\
  !*** ./node_modules/qs/lib/index.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar stringify = __webpack_require__(/*! ./stringify */ \"./node_modules/qs/lib/stringify.js\");\nvar parse = __webpack_require__(/*! ./parse */ \"./node_modules/qs/lib/parse.js\");\nvar formats = __webpack_require__(/*! ./formats */ \"./node_modules/qs/lib/formats.js\");\n\nmodule.exports = {\n    formats: formats,\n    parse: parse,\n    stringify: stringify\n};\n\n\n//# sourceURL=webpack:///./node_modules/qs/lib/index.js?");

/***/ }),

/***/ "./node_modules/qs/lib/parse.js":
/*!**************************************!*\
  !*** ./node_modules/qs/lib/parse.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/qs/lib/utils.js\");\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n    allowDots: false,\n    allowPrototypes: false,\n    allowSparse: false,\n    arrayLimit: 20,\n    charset: 'utf-8',\n    charsetSentinel: false,\n    comma: false,\n    decoder: utils.decode,\n    delimiter: '&',\n    depth: 5,\n    ignoreQueryPrefix: false,\n    interpretNumericEntities: false,\n    parameterLimit: 1000,\n    parseArrays: true,\n    plainObjects: false,\n    strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n    return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n        return String.fromCharCode(parseInt(numberStr, 10));\n    });\n};\n\nvar parseArrayValue = function (val, options) {\n    if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n        return val.split(',');\n    }\n\n    return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n    var obj = {};\n    var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n    var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n    var parts = cleanStr.split(options.delimiter, limit);\n    var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n    var i;\n\n    var charset = options.charset;\n    if (options.charsetSentinel) {\n        for (i = 0; i < parts.length; ++i) {\n            if (parts[i].indexOf('utf8=') === 0) {\n                if (parts[i] === charsetSentinel) {\n                    charset = 'utf-8';\n                } else if (parts[i] === isoSentinel) {\n                    charset = 'iso-8859-1';\n                }\n                skipIndex = i;\n                i = parts.length; // The eslint settings do not allow break;\n            }\n        }\n    }\n\n    for (i = 0; i < parts.length; ++i) {\n        if (i === skipIndex) {\n            continue;\n        }\n        var part = parts[i];\n\n        var bracketEqualsPos = part.indexOf(']=');\n        var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n        var key, val;\n        if (pos === -1) {\n            key = options.decoder(part, defaults.decoder, charset, 'key');\n            val = options.strictNullHandling ? null : '';\n        } else {\n            key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n            val = utils.maybeMap(\n                parseArrayValue(part.slice(pos + 1), options),\n                function (encodedVal) {\n                    return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n                }\n            );\n        }\n\n        if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n            val = interpretNumericEntities(val);\n        }\n\n        if (part.indexOf('[]=') > -1) {\n            val = isArray(val) ? [val] : val;\n        }\n\n        if (has.call(obj, key)) {\n            obj[key] = utils.combine(obj[key], val);\n        } else {\n            obj[key] = val;\n        }\n    }\n\n    return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n    var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n    for (var i = chain.length - 1; i >= 0; --i) {\n        var obj;\n        var root = chain[i];\n\n        if (root === '[]' && options.parseArrays) {\n            obj = [].concat(leaf);\n        } else {\n            obj = options.plainObjects ? Object.create(null) : {};\n            var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n            var index = parseInt(cleanRoot, 10);\n            if (!options.parseArrays && cleanRoot === '') {\n                obj = { 0: leaf };\n            } else if (\n                !isNaN(index)\n                && root !== cleanRoot\n                && String(index) === cleanRoot\n                && index >= 0\n                && (options.parseArrays && index <= options.arrayLimit)\n            ) {\n                obj = [];\n                obj[index] = leaf;\n            } else if (cleanRoot !== '__proto__') {\n                obj[cleanRoot] = leaf;\n            }\n        }\n\n        leaf = obj;\n    }\n\n    return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n    if (!givenKey) {\n        return;\n    }\n\n    // Transform dot notation to bracket notation\n    var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n    // The regex chunks\n\n    var brackets = /(\\[[^[\\]]*])/;\n    var child = /(\\[[^[\\]]*])/g;\n\n    // Get the parent\n\n    var segment = options.depth > 0 && brackets.exec(key);\n    var parent = segment ? key.slice(0, segment.index) : key;\n\n    // Stash the parent if it exists\n\n    var keys = [];\n    if (parent) {\n        // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n        if (!options.plainObjects && has.call(Object.prototype, parent)) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n\n        keys.push(parent);\n    }\n\n    // Loop through children appending to the array until we hit depth\n\n    var i = 0;\n    while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n        i += 1;\n        if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n        keys.push(segment[1]);\n    }\n\n    // If there's a remainder, just add whatever is left\n\n    if (segment) {\n        keys.push('[' + key.slice(segment.index) + ']');\n    }\n\n    return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n        throw new TypeError('Decoder has to be a function.');\n    }\n\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n    var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n    return {\n        allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n        allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n        allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n        arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n        decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n        delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n        // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n        depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n        ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n        interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n        parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n        parseArrays: opts.parseArrays !== false,\n        plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n    };\n};\n\nmodule.exports = function (str, opts) {\n    var options = normalizeParseOptions(opts);\n\n    if (str === '' || str === null || typeof str === 'undefined') {\n        return options.plainObjects ? Object.create(null) : {};\n    }\n\n    var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n    var obj = options.plainObjects ? Object.create(null) : {};\n\n    // Iterate over the keys and setup the new object\n\n    var keys = Object.keys(tempObj);\n    for (var i = 0; i < keys.length; ++i) {\n        var key = keys[i];\n        var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n        obj = utils.merge(obj, newObj, options);\n    }\n\n    if (options.allowSparse === true) {\n        return obj;\n    }\n\n    return utils.compact(obj);\n};\n\n\n//# sourceURL=webpack:///./node_modules/qs/lib/parse.js?");

/***/ }),

/***/ "./node_modules/qs/lib/stringify.js":
/*!******************************************!*\
  !*** ./node_modules/qs/lib/stringify.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar getSideChannel = __webpack_require__(/*! side-channel */ \"./node_modules/side-channel/index.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/qs/lib/utils.js\");\nvar formats = __webpack_require__(/*! ./formats */ \"./node_modules/qs/lib/formats.js\");\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n    brackets: function brackets(prefix) {\n        return prefix + '[]';\n    },\n    comma: 'comma',\n    indices: function indices(prefix, key) {\n        return prefix + '[' + key + ']';\n    },\n    repeat: function repeat(prefix) {\n        return prefix;\n    }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n    push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n    addQueryPrefix: false,\n    allowDots: false,\n    charset: 'utf-8',\n    charsetSentinel: false,\n    delimiter: '&',\n    encode: true,\n    encoder: utils.encode,\n    encodeValuesOnly: false,\n    format: defaultFormat,\n    formatter: formats.formatters[defaultFormat],\n    // deprecated\n    indices: false,\n    serializeDate: function serializeDate(date) {\n        return toISO.call(date);\n    },\n    skipNulls: false,\n    strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n    return typeof v === 'string'\n        || typeof v === 'number'\n        || typeof v === 'boolean'\n        || typeof v === 'symbol'\n        || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n    object,\n    prefix,\n    generateArrayPrefix,\n    strictNullHandling,\n    skipNulls,\n    encoder,\n    filter,\n    sort,\n    allowDots,\n    serializeDate,\n    format,\n    formatter,\n    encodeValuesOnly,\n    charset,\n    sideChannel\n) {\n    var obj = object;\n\n    var tmpSc = sideChannel;\n    var step = 0;\n    var findFlag = false;\n    while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n        // Where object last appeared in the ref tree\n        var pos = tmpSc.get(object);\n        step += 1;\n        if (typeof pos !== 'undefined') {\n            if (pos === step) {\n                throw new RangeError('Cyclic object value');\n            } else {\n                findFlag = true; // Break while\n            }\n        }\n        if (typeof tmpSc.get(sentinel) === 'undefined') {\n            step = 0;\n        }\n    }\n\n    if (typeof filter === 'function') {\n        obj = filter(prefix, obj);\n    } else if (obj instanceof Date) {\n        obj = serializeDate(obj);\n    } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        obj = utils.maybeMap(obj, function (value) {\n            if (value instanceof Date) {\n                return serializeDate(value);\n            }\n            return value;\n        });\n    }\n\n    if (obj === null) {\n        if (strictNullHandling) {\n            return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n        }\n\n        obj = '';\n    }\n\n    if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n        if (encoder) {\n            var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n            if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n                var valuesArray = split.call(String(obj), ',');\n                var valuesJoined = '';\n                for (var i = 0; i < valuesArray.length; ++i) {\n                    valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n                }\n                return [formatter(keyValue) + '=' + valuesJoined];\n            }\n            return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n        }\n        return [formatter(prefix) + '=' + formatter(String(obj))];\n    }\n\n    var values = [];\n\n    if (typeof obj === 'undefined') {\n        return values;\n    }\n\n    var objKeys;\n    if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        // we need to join elements in\n        objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n    } else if (isArray(filter)) {\n        objKeys = filter;\n    } else {\n        var keys = Object.keys(obj);\n        objKeys = sort ? keys.sort(sort) : keys;\n    }\n\n    for (var j = 0; j < objKeys.length; ++j) {\n        var key = objKeys[j];\n        var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n        if (skipNulls && value === null) {\n            continue;\n        }\n\n        var keyPrefix = isArray(obj)\n            ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix\n            : prefix + (allowDots ? '.' + key : '[' + key + ']');\n\n        sideChannel.set(object, step);\n        var valueSideChannel = getSideChannel();\n        valueSideChannel.set(sentinel, sideChannel);\n        pushToArray(values, stringify(\n            value,\n            keyPrefix,\n            generateArrayPrefix,\n            strictNullHandling,\n            skipNulls,\n            encoder,\n            filter,\n            sort,\n            allowDots,\n            serializeDate,\n            format,\n            formatter,\n            encodeValuesOnly,\n            charset,\n            valueSideChannel\n        ));\n    }\n\n    return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n        throw new TypeError('Encoder has to be a function.');\n    }\n\n    var charset = opts.charset || defaults.charset;\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n\n    var format = formats['default'];\n    if (typeof opts.format !== 'undefined') {\n        if (!has.call(formats.formatters, opts.format)) {\n            throw new TypeError('Unknown format option provided.');\n        }\n        format = opts.format;\n    }\n    var formatter = formats.formatters[format];\n\n    var filter = defaults.filter;\n    if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n        filter = opts.filter;\n    }\n\n    return {\n        addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n        allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n        encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n        encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n        encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n        filter: filter,\n        format: format,\n        formatter: formatter,\n        serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n        skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n        sort: typeof opts.sort === 'function' ? opts.sort : null,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n    };\n};\n\nmodule.exports = function (object, opts) {\n    var obj = object;\n    var options = normalizeStringifyOptions(opts);\n\n    var objKeys;\n    var filter;\n\n    if (typeof options.filter === 'function') {\n        filter = options.filter;\n        obj = filter('', obj);\n    } else if (isArray(options.filter)) {\n        filter = options.filter;\n        objKeys = filter;\n    }\n\n    var keys = [];\n\n    if (typeof obj !== 'object' || obj === null) {\n        return '';\n    }\n\n    var arrayFormat;\n    if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n        arrayFormat = opts.arrayFormat;\n    } else if (opts && 'indices' in opts) {\n        arrayFormat = opts.indices ? 'indices' : 'repeat';\n    } else {\n        arrayFormat = 'indices';\n    }\n\n    var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n    if (!objKeys) {\n        objKeys = Object.keys(obj);\n    }\n\n    if (options.sort) {\n        objKeys.sort(options.sort);\n    }\n\n    var sideChannel = getSideChannel();\n    for (var i = 0; i < objKeys.length; ++i) {\n        var key = objKeys[i];\n\n        if (options.skipNulls && obj[key] === null) {\n            continue;\n        }\n        pushToArray(keys, stringify(\n            obj[key],\n            key,\n            generateArrayPrefix,\n            options.strictNullHandling,\n            options.skipNulls,\n            options.encode ? options.encoder : null,\n            options.filter,\n            options.sort,\n            options.allowDots,\n            options.serializeDate,\n            options.format,\n            options.formatter,\n            options.encodeValuesOnly,\n            options.charset,\n            sideChannel\n        ));\n    }\n\n    var joined = keys.join(options.delimiter);\n    var prefix = options.addQueryPrefix === true ? '?' : '';\n\n    if (options.charsetSentinel) {\n        if (options.charset === 'iso-8859-1') {\n            // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n            prefix += 'utf8=%26%2310003%3B&';\n        } else {\n            // encodeURIComponent('✓')\n            prefix += 'utf8=%E2%9C%93&';\n        }\n    }\n\n    return joined.length > 0 ? prefix + joined : '';\n};\n\n\n//# sourceURL=webpack:///./node_modules/qs/lib/stringify.js?");

/***/ }),

/***/ "./node_modules/qs/lib/utils.js":
/*!**************************************!*\
  !*** ./node_modules/qs/lib/utils.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar formats = __webpack_require__(/*! ./formats */ \"./node_modules/qs/lib/formats.js\");\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n    var array = [];\n    for (var i = 0; i < 256; ++i) {\n        array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n    }\n\n    return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n    while (queue.length > 1) {\n        var item = queue.pop();\n        var obj = item.obj[item.prop];\n\n        if (isArray(obj)) {\n            var compacted = [];\n\n            for (var j = 0; j < obj.length; ++j) {\n                if (typeof obj[j] !== 'undefined') {\n                    compacted.push(obj[j]);\n                }\n            }\n\n            item.obj[item.prop] = compacted;\n        }\n    }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n    var obj = options && options.plainObjects ? Object.create(null) : {};\n    for (var i = 0; i < source.length; ++i) {\n        if (typeof source[i] !== 'undefined') {\n            obj[i] = source[i];\n        }\n    }\n\n    return obj;\n};\n\nvar merge = function merge(target, source, options) {\n    /* eslint no-param-reassign: 0 */\n    if (!source) {\n        return target;\n    }\n\n    if (typeof source !== 'object') {\n        if (isArray(target)) {\n            target.push(source);\n        } else if (target && typeof target === 'object') {\n            if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n                target[source] = true;\n            }\n        } else {\n            return [target, source];\n        }\n\n        return target;\n    }\n\n    if (!target || typeof target !== 'object') {\n        return [target].concat(source);\n    }\n\n    var mergeTarget = target;\n    if (isArray(target) && !isArray(source)) {\n        mergeTarget = arrayToObject(target, options);\n    }\n\n    if (isArray(target) && isArray(source)) {\n        source.forEach(function (item, i) {\n            if (has.call(target, i)) {\n                var targetItem = target[i];\n                if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n                    target[i] = merge(targetItem, item, options);\n                } else {\n                    target.push(item);\n                }\n            } else {\n                target[i] = item;\n            }\n        });\n        return target;\n    }\n\n    return Object.keys(source).reduce(function (acc, key) {\n        var value = source[key];\n\n        if (has.call(acc, key)) {\n            acc[key] = merge(acc[key], value, options);\n        } else {\n            acc[key] = value;\n        }\n        return acc;\n    }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n    return Object.keys(source).reduce(function (acc, key) {\n        acc[key] = source[key];\n        return acc;\n    }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n    var strWithoutPlus = str.replace(/\\+/g, ' ');\n    if (charset === 'iso-8859-1') {\n        // unescape never throws, no try...catch needed:\n        return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n    }\n    // utf-8\n    try {\n        return decodeURIComponent(strWithoutPlus);\n    } catch (e) {\n        return strWithoutPlus;\n    }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n    // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n    // It has been adapted here for stricter adherence to RFC 3986\n    if (str.length === 0) {\n        return str;\n    }\n\n    var string = str;\n    if (typeof str === 'symbol') {\n        string = Symbol.prototype.toString.call(str);\n    } else if (typeof str !== 'string') {\n        string = String(str);\n    }\n\n    if (charset === 'iso-8859-1') {\n        return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n            return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n        });\n    }\n\n    var out = '';\n    for (var i = 0; i < string.length; ++i) {\n        var c = string.charCodeAt(i);\n\n        if (\n            c === 0x2D // -\n            || c === 0x2E // .\n            || c === 0x5F // _\n            || c === 0x7E // ~\n            || (c >= 0x30 && c <= 0x39) // 0-9\n            || (c >= 0x41 && c <= 0x5A) // a-z\n            || (c >= 0x61 && c <= 0x7A) // A-Z\n            || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n        ) {\n            out += string.charAt(i);\n            continue;\n        }\n\n        if (c < 0x80) {\n            out = out + hexTable[c];\n            continue;\n        }\n\n        if (c < 0x800) {\n            out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n            continue;\n        }\n\n        if (c < 0xD800 || c >= 0xE000) {\n            out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n            continue;\n        }\n\n        i += 1;\n        c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n        /* eslint operator-linebreak: [2, \"before\"] */\n        out += hexTable[0xF0 | (c >> 18)]\n            + hexTable[0x80 | ((c >> 12) & 0x3F)]\n            + hexTable[0x80 | ((c >> 6) & 0x3F)]\n            + hexTable[0x80 | (c & 0x3F)];\n    }\n\n    return out;\n};\n\nvar compact = function compact(value) {\n    var queue = [{ obj: { o: value }, prop: 'o' }];\n    var refs = [];\n\n    for (var i = 0; i < queue.length; ++i) {\n        var item = queue[i];\n        var obj = item.obj[item.prop];\n\n        var keys = Object.keys(obj);\n        for (var j = 0; j < keys.length; ++j) {\n            var key = keys[j];\n            var val = obj[key];\n            if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n                queue.push({ obj: obj, prop: key });\n                refs.push(val);\n            }\n        }\n    }\n\n    compactQueue(queue);\n\n    return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n    return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n    if (!obj || typeof obj !== 'object') {\n        return false;\n    }\n\n    return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n    return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n    if (isArray(val)) {\n        var mapped = [];\n        for (var i = 0; i < val.length; i += 1) {\n            mapped.push(fn(val[i]));\n        }\n        return mapped;\n    }\n    return fn(val);\n};\n\nmodule.exports = {\n    arrayToObject: arrayToObject,\n    assign: assign,\n    combine: combine,\n    compact: compact,\n    decode: decode,\n    encode: encode,\n    isBuffer: isBuffer,\n    isRegExp: isRegExp,\n    maybeMap: maybeMap,\n    merge: merge\n};\n\n\n//# sourceURL=webpack:///./node_modules/qs/lib/utils.js?");

/***/ }),

/***/ "./node_modules/regenerator-runtime/runtime.js":
/*!*****************************************************!*\
  !*** ./node_modules/regenerator-runtime/runtime.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  define(IteratorPrototype, iteratorSymbol, function () {\n    return this;\n  });\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = GeneratorFunctionPrototype;\n  define(Gp, \"constructor\", GeneratorFunctionPrototype);\n  define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n    return this;\n  });\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  define(Gp, iteratorSymbol, function() {\n    return this;\n  });\n\n  define(Gp, \"toString\", function() {\n    return \"[object Generator]\";\n  });\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n   true ? module.exports : undefined\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, in modern engines\n  // we can explicitly access globalThis. In older engines we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  if (typeof globalThis === \"object\") {\n    globalThis.regeneratorRuntime = runtime;\n  } else {\n    Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/regenerator-runtime/runtime.js?");

/***/ }),

/***/ "./node_modules/remixicon/fonts/remixicon.css":
/*!****************************************************!*\
  !*** ./node_modules/remixicon/fonts/remixicon.css ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../css-loader/dist/cjs.js??ref--7-oneOf-3-1!../../postcss-loader/src??ref--7-oneOf-3-2!./remixicon.css */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/remixicon/fonts/remixicon.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cb4d6dde\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.css?");

/***/ }),

/***/ "./node_modules/remixicon/fonts/remixicon.eot?t=1590207869815":
/*!********************************************************************!*\
  !*** ./node_modules/remixicon/fonts/remixicon.eot?t=1590207869815 ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/remixicon.31d28485.eot\";\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.eot?");

/***/ }),

/***/ "./node_modules/remixicon/fonts/remixicon.svg?t=1590207869815":
/*!********************************************************************!*\
  !*** ./node_modules/remixicon/fonts/remixicon.svg?t=1590207869815 ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"img/remixicon.95138f36.svg\";\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.svg?");

/***/ }),

/***/ "./node_modules/remixicon/fonts/remixicon.ttf?t=1590207869815":
/*!********************************************************************!*\
  !*** ./node_modules/remixicon/fonts/remixicon.ttf?t=1590207869815 ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/remixicon.888e61f0.ttf\";\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.ttf?");

/***/ }),

/***/ "./node_modules/remixicon/fonts/remixicon.woff2?t=1590207869815":
/*!**********************************************************************!*\
  !*** ./node_modules/remixicon/fonts/remixicon.woff2?t=1590207869815 ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/remixicon.9915fef9.woff2\";\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.woff2?");

/***/ }),

/***/ "./node_modules/remixicon/fonts/remixicon.woff?t=1590207869815":
/*!*********************************************************************!*\
  !*** ./node_modules/remixicon/fonts/remixicon.woff?t=1590207869815 ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"fonts/remixicon.881fbc46.woff\";\n\n//# sourceURL=webpack:///./node_modules/remixicon/fonts/remixicon.woff?");

/***/ }),

/***/ "./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js":
/*!*************************************************************************!*\
  !*** ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n    if (typeof Map !== 'undefined') {\r\n        return Map;\r\n    }\r\n    /**\r\n     * Returns index in provided array that matches the specified key.\r\n     *\r\n     * @param {Array<Array>} arr\r\n     * @param {*} key\r\n     * @returns {number}\r\n     */\r\n    function getIndex(arr, key) {\r\n        var result = -1;\r\n        arr.some(function (entry, index) {\r\n            if (entry[0] === key) {\r\n                result = index;\r\n                return true;\r\n            }\r\n            return false;\r\n        });\r\n        return result;\r\n    }\r\n    return /** @class */ (function () {\r\n        function class_1() {\r\n            this.__entries__ = [];\r\n        }\r\n        Object.defineProperty(class_1.prototype, \"size\", {\r\n            /**\r\n             * @returns {boolean}\r\n             */\r\n            get: function () {\r\n                return this.__entries__.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        /**\r\n         * @param {*} key\r\n         * @returns {*}\r\n         */\r\n        class_1.prototype.get = function (key) {\r\n            var index = getIndex(this.__entries__, key);\r\n            var entry = this.__entries__[index];\r\n            return entry && entry[1];\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @param {*} value\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.set = function (key, value) {\r\n            var index = getIndex(this.__entries__, key);\r\n            if (~index) {\r\n                this.__entries__[index][1] = value;\r\n            }\r\n            else {\r\n                this.__entries__.push([key, value]);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.delete = function (key) {\r\n            var entries = this.__entries__;\r\n            var index = getIndex(entries, key);\r\n            if (~index) {\r\n                entries.splice(index, 1);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.has = function (key) {\r\n            return !!~getIndex(this.__entries__, key);\r\n        };\r\n        /**\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.clear = function () {\r\n            this.__entries__.splice(0);\r\n        };\r\n        /**\r\n         * @param {Function} callback\r\n         * @param {*} [ctx=null]\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.forEach = function (callback, ctx) {\r\n            if (ctx === void 0) { ctx = null; }\r\n            for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n                var entry = _a[_i];\r\n                callback.call(ctx, entry[1], entry[0]);\r\n            }\r\n        };\r\n        return class_1;\r\n    }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n    if (typeof global !== 'undefined' && global.Math === Math) {\r\n        return global;\r\n    }\r\n    if (typeof self !== 'undefined' && self.Math === Math) {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined' && window.Math === Math) {\r\n        return window;\r\n    }\r\n    // eslint-disable-next-line no-new-func\r\n    return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n    if (typeof requestAnimationFrame === 'function') {\r\n        // It's required to use a bounded function because IE sometimes throws\r\n        // an \"Invalid calling object\" error if rAF is invoked without the global\r\n        // object on the left hand side.\r\n        return requestAnimationFrame.bind(global$1);\r\n    }\r\n    return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n    var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n    /**\r\n     * Invokes the original callback function and schedules new invocation if\r\n     * the \"proxy\" was called during current request.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function resolvePending() {\r\n        if (leadingCall) {\r\n            leadingCall = false;\r\n            callback();\r\n        }\r\n        if (trailingCall) {\r\n            proxy();\r\n        }\r\n    }\r\n    /**\r\n     * Callback invoked after the specified delay. It will further postpone\r\n     * invocation of the original function delegating it to the\r\n     * requestAnimationFrame.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function timeoutCallback() {\r\n        requestAnimationFrame$1(resolvePending);\r\n    }\r\n    /**\r\n     * Schedules invocation of the original function.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function proxy() {\r\n        var timeStamp = Date.now();\r\n        if (leadingCall) {\r\n            // Reject immediately following calls.\r\n            if (timeStamp - lastCallTime < trailingTimeout) {\r\n                return;\r\n            }\r\n            // Schedule new call to be in invoked when the pending one is resolved.\r\n            // This is important for \"transitions\" which never actually start\r\n            // immediately so there is a chance that we might miss one if change\r\n            // happens amids the pending invocation.\r\n            trailingCall = true;\r\n        }\r\n        else {\r\n            leadingCall = true;\r\n            trailingCall = false;\r\n            setTimeout(timeoutCallback, delay);\r\n        }\r\n        lastCallTime = timeStamp;\r\n    }\r\n    return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserverController.\r\n     *\r\n     * @private\r\n     */\r\n    function ResizeObserverController() {\r\n        /**\r\n         * Indicates whether DOM listeners have been added.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.connected_ = false;\r\n        /**\r\n         * Tells that controller has subscribed for Mutation Events.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.mutationEventsAdded_ = false;\r\n        /**\r\n         * Keeps reference to the instance of MutationObserver.\r\n         *\r\n         * @private {MutationObserver}\r\n         */\r\n        this.mutationsObserver_ = null;\r\n        /**\r\n         * A list of connected observers.\r\n         *\r\n         * @private {Array<ResizeObserverSPI>}\r\n         */\r\n        this.observers_ = [];\r\n        this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n        this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n    }\r\n    /**\r\n     * Adds observer to observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be added.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.addObserver = function (observer) {\r\n        if (!~this.observers_.indexOf(observer)) {\r\n            this.observers_.push(observer);\r\n        }\r\n        // Add listeners if they haven't been added yet.\r\n        if (!this.connected_) {\r\n            this.connect_();\r\n        }\r\n    };\r\n    /**\r\n     * Removes observer from observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.removeObserver = function (observer) {\r\n        var observers = this.observers_;\r\n        var index = observers.indexOf(observer);\r\n        // Remove observer if it's present in registry.\r\n        if (~index) {\r\n            observers.splice(index, 1);\r\n        }\r\n        // Remove listeners if controller has no connected observers.\r\n        if (!observers.length && this.connected_) {\r\n            this.disconnect_();\r\n        }\r\n    };\r\n    /**\r\n     * Invokes the update of observers. It will continue running updates insofar\r\n     * it detects changes.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.refresh = function () {\r\n        var changesDetected = this.updateObservers_();\r\n        // Continue running updates if changes have been detected as there might\r\n        // be future ones caused by CSS transitions.\r\n        if (changesDetected) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Updates every observer from observers list and notifies them of queued\r\n     * entries.\r\n     *\r\n     * @private\r\n     * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n     *      dimensions of it's elements.\r\n     */\r\n    ResizeObserverController.prototype.updateObservers_ = function () {\r\n        // Collect observers that have active observations.\r\n        var activeObservers = this.observers_.filter(function (observer) {\r\n            return observer.gatherActive(), observer.hasActive();\r\n        });\r\n        // Deliver notifications in a separate cycle in order to avoid any\r\n        // collisions between observers, e.g. when multiple instances of\r\n        // ResizeObserver are tracking the same element and the callback of one\r\n        // of them changes content dimensions of the observed target. Sometimes\r\n        // this may result in notifications being blocked for the rest of observers.\r\n        activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n        return activeObservers.length > 0;\r\n    };\r\n    /**\r\n     * Initializes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.connect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already added.\r\n        if (!isBrowser || this.connected_) {\r\n            return;\r\n        }\r\n        // Subscription to the \"Transitionend\" event is used as a workaround for\r\n        // delayed transitions. This way it's possible to capture at least the\r\n        // final state of an element.\r\n        document.addEventListener('transitionend', this.onTransitionEnd_);\r\n        window.addEventListener('resize', this.refresh);\r\n        if (mutationObserverSupported) {\r\n            this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n            this.mutationsObserver_.observe(document, {\r\n                attributes: true,\r\n                childList: true,\r\n                characterData: true,\r\n                subtree: true\r\n            });\r\n        }\r\n        else {\r\n            document.addEventListener('DOMSubtreeModified', this.refresh);\r\n            this.mutationEventsAdded_ = true;\r\n        }\r\n        this.connected_ = true;\r\n    };\r\n    /**\r\n     * Removes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.disconnect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already removed.\r\n        if (!isBrowser || !this.connected_) {\r\n            return;\r\n        }\r\n        document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n        window.removeEventListener('resize', this.refresh);\r\n        if (this.mutationsObserver_) {\r\n            this.mutationsObserver_.disconnect();\r\n        }\r\n        if (this.mutationEventsAdded_) {\r\n            document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n        }\r\n        this.mutationsObserver_ = null;\r\n        this.mutationEventsAdded_ = false;\r\n        this.connected_ = false;\r\n    };\r\n    /**\r\n     * \"Transitionend\" event handler.\r\n     *\r\n     * @private\r\n     * @param {TransitionEvent} event\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n        var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n        // Detect whether transition may affect dimensions of an element.\r\n        var isReflowProperty = transitionKeys.some(function (key) {\r\n            return !!~propertyName.indexOf(key);\r\n        });\r\n        if (isReflowProperty) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Returns instance of the ResizeObserverController.\r\n     *\r\n     * @returns {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.getInstance = function () {\r\n        if (!this.instance_) {\r\n            this.instance_ = new ResizeObserverController();\r\n        }\r\n        return this.instance_;\r\n    };\r\n    /**\r\n     * Holds reference to the controller's instance.\r\n     *\r\n     * @private {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.instance_ = null;\r\n    return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n    for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n        var key = _a[_i];\r\n        Object.defineProperty(target, key, {\r\n            value: props[key],\r\n            enumerable: false,\r\n            writable: false,\r\n            configurable: true\r\n        });\r\n    }\r\n    return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n    // Assume that the element is an instance of Node, which means that it\r\n    // has the \"ownerDocument\" property from which we can retrieve a\r\n    // corresponding global object.\r\n    var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n    // Return the local global object if it's not possible extract one from\r\n    // provided element.\r\n    return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n    return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n    var positions = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        positions[_i - 1] = arguments[_i];\r\n    }\r\n    return positions.reduce(function (size, position) {\r\n        var value = styles['border-' + position + '-width'];\r\n        return size + toFloat(value);\r\n    }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n    var positions = ['top', 'right', 'bottom', 'left'];\r\n    var paddings = {};\r\n    for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n        var position = positions_1[_i];\r\n        var value = styles['padding-' + position];\r\n        paddings[position] = toFloat(value);\r\n    }\r\n    return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n *      to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n    var bbox = target.getBBox();\r\n    return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n    // Client width & height properties can't be\r\n    // used exclusively as they provide rounded values.\r\n    var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n    // By this condition we can catch all non-replaced inline, hidden and\r\n    // detached elements. Though elements with width & height properties less\r\n    // than 0.5 will be discarded as well.\r\n    //\r\n    // Without it we would need to implement separate methods for each of\r\n    // those cases and it's not possible to perform a precise and performance\r\n    // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n    // gives wrong results for elements with width & height less than 0.5.\r\n    if (!clientWidth && !clientHeight) {\r\n        return emptyRect;\r\n    }\r\n    var styles = getWindowOf(target).getComputedStyle(target);\r\n    var paddings = getPaddings(styles);\r\n    var horizPad = paddings.left + paddings.right;\r\n    var vertPad = paddings.top + paddings.bottom;\r\n    // Computed styles of width & height are being used because they are the\r\n    // only dimensions available to JS that contain non-rounded values. It could\r\n    // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n    // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n    var width = toFloat(styles.width), height = toFloat(styles.height);\r\n    // Width & height include paddings and borders when the 'border-box' box\r\n    // model is applied (except for IE).\r\n    if (styles.boxSizing === 'border-box') {\r\n        // Following conditions are required to handle Internet Explorer which\r\n        // doesn't include paddings and borders to computed CSS dimensions.\r\n        //\r\n        // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n        // properties then it's either IE, and thus we don't need to subtract\r\n        // anything, or an element merely doesn't have paddings/borders styles.\r\n        if (Math.round(width + horizPad) !== clientWidth) {\r\n            width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n        }\r\n        if (Math.round(height + vertPad) !== clientHeight) {\r\n            height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n        }\r\n    }\r\n    // Following steps can't be applied to the document's root element as its\r\n    // client[Width/Height] properties represent viewport area of the window.\r\n    // Besides, it's as well not necessary as the <html> itself neither has\r\n    // rendered scroll bars nor it can be clipped.\r\n    if (!isDocumentElement(target)) {\r\n        // In some browsers (only in Firefox, actually) CSS width & height\r\n        // include scroll bars size which can be removed at this step as scroll\r\n        // bars are the only difference between rounded dimensions + paddings\r\n        // and \"client\" properties, though that is not always true in Chrome.\r\n        var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n        var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n        // Chrome has a rather weird rounding of \"client\" properties.\r\n        // E.g. for an element with content width of 314.2px it sometimes gives\r\n        // the client width of 315px and for the width of 314.7px it may give\r\n        // 314px. And it doesn't happen all the time. So just ignore this delta\r\n        // as a non-relevant.\r\n        if (Math.abs(vertScrollbar) !== 1) {\r\n            width -= vertScrollbar;\r\n        }\r\n        if (Math.abs(horizScrollbar) !== 1) {\r\n            height -= horizScrollbar;\r\n        }\r\n    }\r\n    return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n    // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n    // interface.\r\n    if (typeof SVGGraphicsElement !== 'undefined') {\r\n        return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n    }\r\n    // If it's so, then check that element is at least an instance of the\r\n    // SVGElement and that it has the \"getBBox\" method.\r\n    // eslint-disable-next-line no-extra-parens\r\n    return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n        typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n    return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n    if (!isBrowser) {\r\n        return emptyRect;\r\n    }\r\n    if (isSVGGraphicsElement(target)) {\r\n        return getSVGContentRect(target);\r\n    }\r\n    return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n    var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n    // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n    var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n    var rect = Object.create(Constr.prototype);\r\n    // Rectangle's properties are not writable and non-enumerable.\r\n    defineConfigurable(rect, {\r\n        x: x, y: y, width: width, height: height,\r\n        top: y,\r\n        right: x + width,\r\n        bottom: height + y,\r\n        left: x\r\n    });\r\n    return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n    return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObservation.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     */\r\n    function ResizeObservation(target) {\r\n        /**\r\n         * Broadcasted width of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastWidth = 0;\r\n        /**\r\n         * Broadcasted height of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastHeight = 0;\r\n        /**\r\n         * Reference to the last observed content rectangle.\r\n         *\r\n         * @private {DOMRectInit}\r\n         */\r\n        this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n        this.target = target;\r\n    }\r\n    /**\r\n     * Updates content rectangle and tells whether it's width or height properties\r\n     * have changed since the last broadcast.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObservation.prototype.isActive = function () {\r\n        var rect = getContentRect(this.target);\r\n        this.contentRect_ = rect;\r\n        return (rect.width !== this.broadcastWidth ||\r\n            rect.height !== this.broadcastHeight);\r\n    };\r\n    /**\r\n     * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n     * from the corresponding properties of the last observed content rectangle.\r\n     *\r\n     * @returns {DOMRectInit} Last observed content rectangle.\r\n     */\r\n    ResizeObservation.prototype.broadcastRect = function () {\r\n        var rect = this.contentRect_;\r\n        this.broadcastWidth = rect.width;\r\n        this.broadcastHeight = rect.height;\r\n        return rect;\r\n    };\r\n    return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObserverEntry.\r\n     *\r\n     * @param {Element} target - Element that is being observed.\r\n     * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n     */\r\n    function ResizeObserverEntry(target, rectInit) {\r\n        var contentRect = createReadOnlyRect(rectInit);\r\n        // According to the specification following properties are not writable\r\n        // and are also not enumerable in the native implementation.\r\n        //\r\n        // Property accessors are not being used as they'd require to define a\r\n        // private WeakMap storage which may cause memory leaks in browsers that\r\n        // don't support this type of collections.\r\n        defineConfigurable(this, { target: target, contentRect: contentRect });\r\n    }\r\n    return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n     *      when one of the observed elements changes it's content dimensions.\r\n     * @param {ResizeObserverController} controller - Controller instance which\r\n     *      is responsible for the updates of observer.\r\n     * @param {ResizeObserver} callbackCtx - Reference to the public\r\n     *      ResizeObserver instance which will be passed to callback function.\r\n     */\r\n    function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n        /**\r\n         * Collection of resize observations that have detected changes in dimensions\r\n         * of elements.\r\n         *\r\n         * @private {Array<ResizeObservation>}\r\n         */\r\n        this.activeObservations_ = [];\r\n        /**\r\n         * Registry of the ResizeObservation instances.\r\n         *\r\n         * @private {Map<Element, ResizeObservation>}\r\n         */\r\n        this.observations_ = new MapShim();\r\n        if (typeof callback !== 'function') {\r\n            throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n        }\r\n        this.callback_ = callback;\r\n        this.controller_ = controller;\r\n        this.callbackCtx_ = callbackCtx;\r\n    }\r\n    /**\r\n     * Starts observing provided element.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.observe = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is already being observed.\r\n        if (observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.set(target, new ResizeObservation(target));\r\n        this.controller_.addObserver(this);\r\n        // Force the update of observations.\r\n        this.controller_.refresh();\r\n    };\r\n    /**\r\n     * Stops observing provided element.\r\n     *\r\n     * @param {Element} target - Element to stop observing.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.unobserve = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is not being observed.\r\n        if (!observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.delete(target);\r\n        if (!observations.size) {\r\n            this.controller_.removeObserver(this);\r\n        }\r\n    };\r\n    /**\r\n     * Stops observing all elements.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.disconnect = function () {\r\n        this.clearActive();\r\n        this.observations_.clear();\r\n        this.controller_.removeObserver(this);\r\n    };\r\n    /**\r\n     * Collects observation instances the associated element of which has changed\r\n     * it's content rectangle.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.gatherActive = function () {\r\n        var _this = this;\r\n        this.clearActive();\r\n        this.observations_.forEach(function (observation) {\r\n            if (observation.isActive()) {\r\n                _this.activeObservations_.push(observation);\r\n            }\r\n        });\r\n    };\r\n    /**\r\n     * Invokes initial callback function with a list of ResizeObserverEntry\r\n     * instances collected from active resize observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.broadcastActive = function () {\r\n        // Do nothing if observer doesn't have active observations.\r\n        if (!this.hasActive()) {\r\n            return;\r\n        }\r\n        var ctx = this.callbackCtx_;\r\n        // Create ResizeObserverEntry instance for every active observation.\r\n        var entries = this.activeObservations_.map(function (observation) {\r\n            return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n        });\r\n        this.callback_.call(ctx, entries, ctx);\r\n        this.clearActive();\r\n    };\r\n    /**\r\n     * Clears the collection of active observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.clearActive = function () {\r\n        this.activeObservations_.splice(0);\r\n    };\r\n    /**\r\n     * Tells whether observer has active observations.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObserverSPI.prototype.hasActive = function () {\r\n        return this.activeObservations_.length > 0;\r\n    };\r\n    return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n     *      dimensions of the observed elements change.\r\n     */\r\n    function ResizeObserver(callback) {\r\n        if (!(this instanceof ResizeObserver)) {\r\n            throw new TypeError('Cannot call a class as a function.');\r\n        }\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        var controller = ResizeObserverController.getInstance();\r\n        var observer = new ResizeObserverSPI(callback, controller, this);\r\n        observers.set(this, observer);\r\n    }\r\n    return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n    'observe',\r\n    'unobserve',\r\n    'disconnect'\r\n].forEach(function (method) {\r\n    ResizeObserver.prototype[method] = function () {\r\n        var _a;\r\n        return (_a = observers.get(this))[method].apply(_a, arguments);\r\n    };\r\n});\n\nvar index = (function () {\r\n    // Export existing implementation if available.\r\n    if (typeof global$1.ResizeObserver !== 'undefined') {\r\n        return global$1.ResizeObserver;\r\n    }\r\n    return ResizeObserver;\r\n})();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js?");

/***/ }),

/***/ "./node_modules/screenfull/dist/screenfull.js":
/*!****************************************************!*\
  !*** ./node_modules/screenfull/dist/screenfull.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/*!\n* screenfull\n* v5.2.0 - 2021-11-03\n* (c) Sindre Sorhus; MIT License\n*/\n(function () {\n\t'use strict';\n\n\tvar document = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? window.document : {};\n\tvar isCommonjs =  true && module.exports;\n\n\tvar fn = (function () {\n\t\tvar val;\n\n\t\tvar fnMap = [\n\t\t\t[\n\t\t\t\t'requestFullscreen',\n\t\t\t\t'exitFullscreen',\n\t\t\t\t'fullscreenElement',\n\t\t\t\t'fullscreenEnabled',\n\t\t\t\t'fullscreenchange',\n\t\t\t\t'fullscreenerror'\n\t\t\t],\n\t\t\t// New WebKit\n\t\t\t[\n\t\t\t\t'webkitRequestFullscreen',\n\t\t\t\t'webkitExitFullscreen',\n\t\t\t\t'webkitFullscreenElement',\n\t\t\t\t'webkitFullscreenEnabled',\n\t\t\t\t'webkitfullscreenchange',\n\t\t\t\t'webkitfullscreenerror'\n\n\t\t\t],\n\t\t\t// Old WebKit\n\t\t\t[\n\t\t\t\t'webkitRequestFullScreen',\n\t\t\t\t'webkitCancelFullScreen',\n\t\t\t\t'webkitCurrentFullScreenElement',\n\t\t\t\t'webkitCancelFullScreen',\n\t\t\t\t'webkitfullscreenchange',\n\t\t\t\t'webkitfullscreenerror'\n\n\t\t\t],\n\t\t\t[\n\t\t\t\t'mozRequestFullScreen',\n\t\t\t\t'mozCancelFullScreen',\n\t\t\t\t'mozFullScreenElement',\n\t\t\t\t'mozFullScreenEnabled',\n\t\t\t\t'mozfullscreenchange',\n\t\t\t\t'mozfullscreenerror'\n\t\t\t],\n\t\t\t[\n\t\t\t\t'msRequestFullscreen',\n\t\t\t\t'msExitFullscreen',\n\t\t\t\t'msFullscreenElement',\n\t\t\t\t'msFullscreenEnabled',\n\t\t\t\t'MSFullscreenChange',\n\t\t\t\t'MSFullscreenError'\n\t\t\t]\n\t\t];\n\n\t\tvar i = 0;\n\t\tvar l = fnMap.length;\n\t\tvar ret = {};\n\n\t\tfor (; i < l; i++) {\n\t\t\tval = fnMap[i];\n\t\t\tif (val && val[1] in document) {\n\t\t\t\tfor (i = 0; i < val.length; i++) {\n\t\t\t\t\tret[fnMap[0][i]] = val[i];\n\t\t\t\t}\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t})();\n\n\tvar eventNameMap = {\n\t\tchange: fn.fullscreenchange,\n\t\terror: fn.fullscreenerror\n\t};\n\n\tvar screenfull = {\n\t\trequest: function (element, options) {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar onFullScreenEntered = function () {\n\t\t\t\t\tthis.off('change', onFullScreenEntered);\n\t\t\t\t\tresolve();\n\t\t\t\t}.bind(this);\n\n\t\t\t\tthis.on('change', onFullScreenEntered);\n\n\t\t\t\telement = element || document.documentElement;\n\n\t\t\t\tvar returnPromise = element[fn.requestFullscreen](options);\n\n\t\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\t\treturnPromise.then(onFullScreenEntered).catch(reject);\n\t\t\t\t}\n\t\t\t}.bind(this));\n\t\t},\n\t\texit: function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tif (!this.isFullscreen) {\n\t\t\t\t\tresolve();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar onFullScreenExit = function () {\n\t\t\t\t\tthis.off('change', onFullScreenExit);\n\t\t\t\t\tresolve();\n\t\t\t\t}.bind(this);\n\n\t\t\t\tthis.on('change', onFullScreenExit);\n\n\t\t\t\tvar returnPromise = document[fn.exitFullscreen]();\n\n\t\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\t\treturnPromise.then(onFullScreenExit).catch(reject);\n\t\t\t\t}\n\t\t\t}.bind(this));\n\t\t},\n\t\ttoggle: function (element, options) {\n\t\t\treturn this.isFullscreen ? this.exit() : this.request(element, options);\n\t\t},\n\t\tonchange: function (callback) {\n\t\t\tthis.on('change', callback);\n\t\t},\n\t\tonerror: function (callback) {\n\t\t\tthis.on('error', callback);\n\t\t},\n\t\ton: function (event, callback) {\n\t\t\tvar eventName = eventNameMap[event];\n\t\t\tif (eventName) {\n\t\t\t\tdocument.addEventListener(eventName, callback, false);\n\t\t\t}\n\t\t},\n\t\toff: function (event, callback) {\n\t\t\tvar eventName = eventNameMap[event];\n\t\t\tif (eventName) {\n\t\t\t\tdocument.removeEventListener(eventName, callback, false);\n\t\t\t}\n\t\t},\n\t\traw: fn\n\t};\n\n\tif (!fn) {\n\t\tif (isCommonjs) {\n\t\t\tmodule.exports = {isEnabled: false};\n\t\t} else {\n\t\t\twindow.screenfull = {isEnabled: false};\n\t\t}\n\n\t\treturn;\n\t}\n\n\tObject.defineProperties(screenfull, {\n\t\tisFullscreen: {\n\t\t\tget: function () {\n\t\t\t\treturn Boolean(document[fn.fullscreenElement]);\n\t\t\t}\n\t\t},\n\t\telement: {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn document[fn.fullscreenElement];\n\t\t\t}\n\t\t},\n\t\tisEnabled: {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\t// Coerce to boolean in case of old WebKit\n\t\t\t\treturn Boolean(document[fn.fullscreenEnabled]);\n\t\t\t}\n\t\t}\n\t});\n\n\tif (isCommonjs) {\n\t\tmodule.exports = screenfull;\n\t} else {\n\t\twindow.screenfull = screenfull;\n\t}\n})();\n\n\n//# sourceURL=webpack:///./node_modules/screenfull/dist/screenfull.js?");

/***/ }),

/***/ "./node_modules/side-channel/index.js":
/*!********************************************!*\
  !*** ./node_modules/side-channel/index.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\nvar callBound = __webpack_require__(/*! call-bind/callBound */ \"./node_modules/call-bind/callBound.js\");\nvar inspect = __webpack_require__(/*! object-inspect */ \"./node_modules/object-inspect/index.js\");\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n\n\n//# sourceURL=webpack:///./node_modules/side-channel/index.js?");

/***/ }),

/***/ "./node_modules/sortablejs/modular/sortable.esm.js":
/*!*********************************************************!*\
  !*** ./node_modules/sortablejs/modular/sortable.esm.js ***!
  \*********************************************************/
/*! exports provided: default, MultiDrag, Sortable, Swap */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiDrag\", function() { return MultiDragPlugin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Sortable\", function() { return Sortable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Swap\", function() { return SwapPlugin; });\n/**!\n * Sortable 1.10.2\n * @author\tRubaXa   <trash@rubaxa.org>\n * @author\towenm    <owen23355@gmail.com>\n * @license MIT\n */\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\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\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n    var ownKeys = Object.keys(source);\n\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n      }));\n    }\n\n    ownKeys.forEach(function (key) {\n      _defineProperty(target, key, source[key]);\n    });\n  }\n\n  return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n\n  var target = _objectWithoutPropertiesLoose(source, excluded);\n\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n  if (typeof window !== 'undefined' && window.navigator) {\n    return !!\n    /*@__PURE__*/\n    navigator.userAgent.match(pattern);\n  }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n  capture: false,\n  passive: false\n};\n\nfunction on(el, event, fn) {\n  el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n  el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n  if (!selector) return;\n  selector[0] === '>' && (selector = selector.substring(1));\n\n  if (el) {\n    try {\n      if (el.matches) {\n        return el.matches(selector);\n      } else if (el.msMatchesSelector) {\n        return el.msMatchesSelector(selector);\n      } else if (el.webkitMatchesSelector) {\n        return el.webkitMatchesSelector(selector);\n      }\n    } catch (_) {\n      return false;\n    }\n  }\n\n  return false;\n}\n\nfunction getParentOrHost(el) {\n  return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n  if (el) {\n    ctx = ctx || document;\n\n    do {\n      if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n        return el;\n      }\n\n      if (el === ctx) break;\n      /* jshint boss:true */\n    } while (el = getParentOrHost(el));\n  }\n\n  return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n  if (el && name) {\n    if (el.classList) {\n      el.classList[state ? 'add' : 'remove'](name);\n    } else {\n      var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n      el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n    }\n  }\n}\n\nfunction css(el, prop, val) {\n  var style = el && el.style;\n\n  if (style) {\n    if (val === void 0) {\n      if (document.defaultView && document.defaultView.getComputedStyle) {\n        val = document.defaultView.getComputedStyle(el, '');\n      } else if (el.currentStyle) {\n        val = el.currentStyle;\n      }\n\n      return prop === void 0 ? val : val[prop];\n    } else {\n      if (!(prop in style) && prop.indexOf('webkit') === -1) {\n        prop = '-webkit-' + prop;\n      }\n\n      style[prop] = val + (typeof val === 'string' ? '' : 'px');\n    }\n  }\n}\n\nfunction matrix(el, selfOnly) {\n  var appliedTransforms = '';\n\n  if (typeof el === 'string') {\n    appliedTransforms = el;\n  } else {\n    do {\n      var transform = css(el, 'transform');\n\n      if (transform && transform !== 'none') {\n        appliedTransforms = transform + ' ' + appliedTransforms;\n      }\n      /* jshint boss:true */\n\n    } while (!selfOnly && (el = el.parentNode));\n  }\n\n  var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n  /*jshint -W056 */\n\n  return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n  if (ctx) {\n    var list = ctx.getElementsByTagName(tagName),\n        i = 0,\n        n = list.length;\n\n    if (iterator) {\n      for (; i < n; i++) {\n        iterator(list[i], i);\n      }\n    }\n\n    return list;\n  }\n\n  return [];\n}\n\nfunction getWindowScrollingElement() {\n  var scrollingElement = document.scrollingElement;\n\n  if (scrollingElement) {\n    return scrollingElement;\n  } else {\n    return document.documentElement;\n  }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param  {HTMLElement} el                       The element whose boundingClientRect is wanted\r\n * @param  {[Boolean]} relativeToContainingBlock  Whether the rect should be relative to the containing block of (including) the container\r\n * @param  {[Boolean]} relativeToNonStaticParent  Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param  {[Boolean]} undoScale                  Whether the container's scale() should be undone\r\n * @param  {[HTMLElement]} container              The parent the element will be placed in\r\n * @return {Object}                               The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n  if (!el.getBoundingClientRect && el !== window) return;\n  var elRect, top, left, bottom, right, height, width;\n\n  if (el !== window && el !== getWindowScrollingElement()) {\n    elRect = el.getBoundingClientRect();\n    top = elRect.top;\n    left = elRect.left;\n    bottom = elRect.bottom;\n    right = elRect.right;\n    height = elRect.height;\n    width = elRect.width;\n  } else {\n    top = 0;\n    left = 0;\n    bottom = window.innerHeight;\n    right = window.innerWidth;\n    height = window.innerHeight;\n    width = window.innerWidth;\n  }\n\n  if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n    // Adjust for translate()\n    container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n    // Not needed on <= IE11\n\n    if (!IE11OrLess) {\n      do {\n        if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n          var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n          top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n          left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n          bottom = top + elRect.height;\n          right = left + elRect.width;\n          break;\n        }\n        /* jshint boss:true */\n\n      } while (container = container.parentNode);\n    }\n  }\n\n  if (undoScale && el !== window) {\n    // Adjust for scale()\n    var elMatrix = matrix(container || el),\n        scaleX = elMatrix && elMatrix.a,\n        scaleY = elMatrix && elMatrix.d;\n\n    if (elMatrix) {\n      top /= scaleY;\n      left /= scaleX;\n      width /= scaleX;\n      height /= scaleY;\n      bottom = top + height;\n      right = left + width;\n    }\n  }\n\n  return {\n    top: top,\n    left: left,\n    bottom: bottom,\n    right: right,\n    width: width,\n    height: height\n  };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param  {HTMLElement}  el           The element who's side being scrolled out of view is in question\r\n * @param  {String}       elSide       Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param  {String}       parentSide   Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement}               The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n  var parent = getParentAutoScrollElement(el, true),\n      elSideVal = getRect(el)[elSide];\n  /* jshint boss:true */\n\n  while (parent) {\n    var parentSideVal = getRect(parent)[parentSide],\n        visible = void 0;\n\n    if (parentSide === 'top' || parentSide === 'left') {\n      visible = elSideVal >= parentSideVal;\n    } else {\n      visible = elSideVal <= parentSideVal;\n    }\n\n    if (!visible) return parent;\n    if (parent === getWindowScrollingElement()) break;\n    parent = getParentAutoScrollElement(parent, false);\n  }\n\n  return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param  {HTMLElement} el       The parent element\r\n * @param  {Number} childNum      The index of the child\r\n * @param  {Object} options       Parent Sortable's options\r\n * @return {HTMLElement}          The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n  var currentChild = 0,\n      i = 0,\n      children = el.children;\n\n  while (i < children.length) {\n    if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n      if (currentChild === childNum) {\n        return children[i];\n      }\n\n      currentChild++;\n    }\n\n    i++;\n  }\n\n  return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param  {HTMLElement} el       Parent element\r\n * @param  {selector} selector    Any other elements that should be ignored\r\n * @return {HTMLElement}          The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n  var last = el.lastElementChild;\n\n  while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n    last = last.previousElementSibling;\n  }\n\n  return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param  {HTMLElement} el\r\n * @param  {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n  var index = 0;\n\n  if (!el || !el.parentNode) {\n    return -1;\n  }\n  /* jshint boss:true */\n\n\n  while (el = el.previousElementSibling) {\n    if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n      index++;\n    }\n  }\n\n  return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param  {HTMLElement} el\r\n * @return {Array}             Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n  var offsetLeft = 0,\n      offsetTop = 0,\n      winScroller = getWindowScrollingElement();\n\n  if (el) {\n    do {\n      var elMatrix = matrix(el),\n          scaleX = elMatrix.a,\n          scaleY = elMatrix.d;\n      offsetLeft += el.scrollLeft * scaleX;\n      offsetTop += el.scrollTop * scaleY;\n    } while (el !== winScroller && (el = el.parentNode));\n  }\n\n  return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param  {Array} arr   Array that may or may not hold the object\r\n * @param  {Object} obj  An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number}      The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n  for (var i in arr) {\n    if (!arr.hasOwnProperty(i)) continue;\n\n    for (var key in obj) {\n      if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n    }\n  }\n\n  return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n  // skip to window\n  if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n  var elem = el;\n  var gotSelf = false;\n\n  do {\n    // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n    if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n      var elemCSS = css(elem);\n\n      if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n        if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n        if (gotSelf || includeSelf) return elem;\n        gotSelf = true;\n      }\n    }\n    /* jshint boss:true */\n\n  } while (elem = elem.parentNode);\n\n  return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n  if (dst && src) {\n    for (var key in src) {\n      if (src.hasOwnProperty(key)) {\n        dst[key] = src[key];\n      }\n    }\n  }\n\n  return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n  return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n  return function () {\n    if (!_throttleTimeout) {\n      var args = arguments,\n          _this = this;\n\n      if (args.length === 1) {\n        callback.call(_this, args[0]);\n      } else {\n        callback.apply(_this, args);\n      }\n\n      _throttleTimeout = setTimeout(function () {\n        _throttleTimeout = void 0;\n      }, ms);\n    }\n  };\n}\n\nfunction cancelThrottle() {\n  clearTimeout(_throttleTimeout);\n  _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n  el.scrollLeft += x;\n  el.scrollTop += y;\n}\n\nfunction clone(el) {\n  var Polymer = window.Polymer;\n  var $ = window.jQuery || window.Zepto;\n\n  if (Polymer && Polymer.dom) {\n    return Polymer.dom(el).cloneNode(true);\n  } else if ($) {\n    return $(el).clone(true)[0];\n  } else {\n    return el.cloneNode(true);\n  }\n}\n\nfunction setRect(el, rect) {\n  css(el, 'position', 'absolute');\n  css(el, 'top', rect.top);\n  css(el, 'left', rect.left);\n  css(el, 'width', rect.width);\n  css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n  css(el, 'position', '');\n  css(el, 'top', '');\n  css(el, 'left', '');\n  css(el, 'width', '');\n  css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n  var animationStates = [],\n      animationCallbackId;\n  return {\n    captureAnimationState: function captureAnimationState() {\n      animationStates = [];\n      if (!this.options.animation) return;\n      var children = [].slice.call(this.el.children);\n      children.forEach(function (child) {\n        if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n        animationStates.push({\n          target: child,\n          rect: getRect(child)\n        });\n\n        var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n        if (child.thisAnimationDuration) {\n          var childMatrix = matrix(child, true);\n\n          if (childMatrix) {\n            fromRect.top -= childMatrix.f;\n            fromRect.left -= childMatrix.e;\n          }\n        }\n\n        child.fromRect = fromRect;\n      });\n    },\n    addAnimationState: function addAnimationState(state) {\n      animationStates.push(state);\n    },\n    removeAnimationState: function removeAnimationState(target) {\n      animationStates.splice(indexOfObject(animationStates, {\n        target: target\n      }), 1);\n    },\n    animateAll: function animateAll(callback) {\n      var _this = this;\n\n      if (!this.options.animation) {\n        clearTimeout(animationCallbackId);\n        if (typeof callback === 'function') callback();\n        return;\n      }\n\n      var animating = false,\n          animationTime = 0;\n      animationStates.forEach(function (state) {\n        var time = 0,\n            target = state.target,\n            fromRect = target.fromRect,\n            toRect = getRect(target),\n            prevFromRect = target.prevFromRect,\n            prevToRect = target.prevToRect,\n            animatingRect = state.rect,\n            targetMatrix = matrix(target, true);\n\n        if (targetMatrix) {\n          // Compensate for current animation\n          toRect.top -= targetMatrix.f;\n          toRect.left -= targetMatrix.e;\n        }\n\n        target.toRect = toRect;\n\n        if (target.thisAnimationDuration) {\n          // Could also check if animatingRect is between fromRect and toRect\n          if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n          (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n            // If returning to same place as started from animation and on same axis\n            time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n          }\n        } // if fromRect != toRect: animate\n\n\n        if (!isRectEqual(toRect, fromRect)) {\n          target.prevFromRect = fromRect;\n          target.prevToRect = toRect;\n\n          if (!time) {\n            time = _this.options.animation;\n          }\n\n          _this.animate(target, animatingRect, toRect, time);\n        }\n\n        if (time) {\n          animating = true;\n          animationTime = Math.max(animationTime, time);\n          clearTimeout(target.animationResetTimer);\n          target.animationResetTimer = setTimeout(function () {\n            target.animationTime = 0;\n            target.prevFromRect = null;\n            target.fromRect = null;\n            target.prevToRect = null;\n            target.thisAnimationDuration = null;\n          }, time);\n          target.thisAnimationDuration = time;\n        }\n      });\n      clearTimeout(animationCallbackId);\n\n      if (!animating) {\n        if (typeof callback === 'function') callback();\n      } else {\n        animationCallbackId = setTimeout(function () {\n          if (typeof callback === 'function') callback();\n        }, animationTime);\n      }\n\n      animationStates = [];\n    },\n    animate: function animate(target, currentRect, toRect, duration) {\n      if (duration) {\n        css(target, 'transition', '');\n        css(target, 'transform', '');\n        var elMatrix = matrix(this.el),\n            scaleX = elMatrix && elMatrix.a,\n            scaleY = elMatrix && elMatrix.d,\n            translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n            translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n        target.animatingX = !!translateX;\n        target.animatingY = !!translateY;\n        css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n        repaint(target); // repaint\n\n        css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n        css(target, 'transform', 'translate3d(0,0,0)');\n        typeof target.animated === 'number' && clearTimeout(target.animated);\n        target.animated = setTimeout(function () {\n          css(target, 'transition', '');\n          css(target, 'transform', '');\n          target.animated = false;\n          target.animatingX = false;\n          target.animatingY = false;\n        }, duration);\n      }\n    }\n  };\n}\n\nfunction repaint(target) {\n  return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n  return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n  initializeByDefault: true\n};\nvar PluginManager = {\n  mount: function mount(plugin) {\n    // Set default static properties\n    for (var option in defaults) {\n      if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n        plugin[option] = defaults[option];\n      }\n    }\n\n    plugins.push(plugin);\n  },\n  pluginEvent: function pluginEvent(eventName, sortable, evt) {\n    var _this = this;\n\n    this.eventCanceled = false;\n\n    evt.cancel = function () {\n      _this.eventCanceled = true;\n    };\n\n    var eventNameGlobal = eventName + 'Global';\n    plugins.forEach(function (plugin) {\n      if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n      if (sortable[plugin.pluginName][eventNameGlobal]) {\n        sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n          sortable: sortable\n        }, evt));\n      } // Only fire plugin event if plugin is enabled in this sortable,\n      // and plugin has event defined\n\n\n      if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n        sortable[plugin.pluginName][eventName](_objectSpread({\n          sortable: sortable\n        }, evt));\n      }\n    });\n  },\n  initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n    plugins.forEach(function (plugin) {\n      var pluginName = plugin.pluginName;\n      if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n      var initialized = new plugin(sortable, el, sortable.options);\n      initialized.sortable = sortable;\n      initialized.options = sortable.options;\n      sortable[pluginName] = initialized; // Add default options from plugin\n\n      _extends(defaults, initialized.defaults);\n    });\n\n    for (var option in sortable.options) {\n      if (!sortable.options.hasOwnProperty(option)) continue;\n      var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n      if (typeof modified !== 'undefined') {\n        sortable.options[option] = modified;\n      }\n    }\n  },\n  getEventProperties: function getEventProperties(name, sortable) {\n    var eventProperties = {};\n    plugins.forEach(function (plugin) {\n      if (typeof plugin.eventProperties !== 'function') return;\n\n      _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n    });\n    return eventProperties;\n  },\n  modifyOption: function modifyOption(sortable, name, value) {\n    var modifiedValue;\n    plugins.forEach(function (plugin) {\n      // Plugin must exist on the Sortable\n      if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n      if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n        modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n      }\n    });\n    return modifiedValue;\n  }\n};\n\nfunction dispatchEvent(_ref) {\n  var sortable = _ref.sortable,\n      rootEl = _ref.rootEl,\n      name = _ref.name,\n      targetEl = _ref.targetEl,\n      cloneEl = _ref.cloneEl,\n      toEl = _ref.toEl,\n      fromEl = _ref.fromEl,\n      oldIndex = _ref.oldIndex,\n      newIndex = _ref.newIndex,\n      oldDraggableIndex = _ref.oldDraggableIndex,\n      newDraggableIndex = _ref.newDraggableIndex,\n      originalEvent = _ref.originalEvent,\n      putSortable = _ref.putSortable,\n      extraEventProperties = _ref.extraEventProperties;\n  sortable = sortable || rootEl && rootEl[expando];\n  if (!sortable) return;\n  var evt,\n      options = sortable.options,\n      onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n  if (window.CustomEvent && !IE11OrLess && !Edge) {\n    evt = new CustomEvent(name, {\n      bubbles: true,\n      cancelable: true\n    });\n  } else {\n    evt = document.createEvent('Event');\n    evt.initEvent(name, true, true);\n  }\n\n  evt.to = toEl || rootEl;\n  evt.from = fromEl || rootEl;\n  evt.item = targetEl || rootEl;\n  evt.clone = cloneEl;\n  evt.oldIndex = oldIndex;\n  evt.newIndex = newIndex;\n  evt.oldDraggableIndex = oldDraggableIndex;\n  evt.newDraggableIndex = newDraggableIndex;\n  evt.originalEvent = originalEvent;\n  evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n  var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n  for (var option in allEventProperties) {\n    evt[option] = allEventProperties[option];\n  }\n\n  if (rootEl) {\n    rootEl.dispatchEvent(evt);\n  }\n\n  if (options[onName]) {\n    options[onName].call(sortable, evt);\n  }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n      originalEvent = _ref.evt,\n      data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n  PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n    dragEl: dragEl,\n    parentEl: parentEl,\n    ghostEl: ghostEl,\n    rootEl: rootEl,\n    nextEl: nextEl,\n    lastDownEl: lastDownEl,\n    cloneEl: cloneEl,\n    cloneHidden: cloneHidden,\n    dragStarted: moved,\n    putSortable: putSortable,\n    activeSortable: Sortable.active,\n    originalEvent: originalEvent,\n    oldIndex: oldIndex,\n    oldDraggableIndex: oldDraggableIndex,\n    newIndex: newIndex,\n    newDraggableIndex: newDraggableIndex,\n    hideGhostForTarget: _hideGhostForTarget,\n    unhideGhostForTarget: _unhideGhostForTarget,\n    cloneNowHidden: function cloneNowHidden() {\n      cloneHidden = true;\n    },\n    cloneNowShown: function cloneNowShown() {\n      cloneHidden = false;\n    },\n    dispatchSortableEvent: function dispatchSortableEvent(name) {\n      _dispatchEvent({\n        sortable: sortable,\n        name: name,\n        originalEvent: originalEvent\n      });\n    }\n  }, data));\n};\n\nfunction _dispatchEvent(info) {\n  dispatchEvent(_objectSpread({\n    putSortable: putSortable,\n    cloneEl: cloneEl,\n    targetEl: dragEl,\n    rootEl: rootEl,\n    oldIndex: oldIndex,\n    oldDraggableIndex: oldDraggableIndex,\n    newIndex: newIndex,\n    newDraggableIndex: newDraggableIndex\n  }, info));\n}\n\nvar dragEl,\n    parentEl,\n    ghostEl,\n    rootEl,\n    nextEl,\n    lastDownEl,\n    cloneEl,\n    cloneHidden,\n    oldIndex,\n    newIndex,\n    oldDraggableIndex,\n    newDraggableIndex,\n    activeGroup,\n    putSortable,\n    awaitingDragStarted = false,\n    ignoreNextClick = false,\n    sortables = [],\n    tapEvt,\n    touchEvt,\n    lastDx,\n    lastDy,\n    tapDistanceLeft,\n    tapDistanceTop,\n    moved,\n    lastTarget,\n    lastDirection,\n    pastFirstInvertThresh = false,\n    isCircumstantialInvert = false,\n    targetMoveDistance,\n    // For positioning ghost absolutely\nghostRelativeParent,\n    ghostRelativeParentInitialScroll = [],\n    // (left, top)\n_silent = false,\n    savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n    PositionGhostAbsolutely = IOS,\n    CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n    // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n    supportCssPointerEvents = function () {\n  if (!documentExists) return; // false when <= IE11\n\n  if (IE11OrLess) {\n    return false;\n  }\n\n  var el = document.createElement('x');\n  el.style.cssText = 'pointer-events:auto';\n  return el.style.pointerEvents === 'auto';\n}(),\n    _detectDirection = function _detectDirection(el, options) {\n  var elCSS = css(el),\n      elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n      child1 = getChild(el, 0, options),\n      child2 = getChild(el, 1, options),\n      firstChildCSS = child1 && css(child1),\n      secondChildCSS = child2 && css(child2),\n      firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n      secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n  if (elCSS.display === 'flex') {\n    return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n  }\n\n  if (elCSS.display === 'grid') {\n    return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n  }\n\n  if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n    var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n    return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n  }\n\n  return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n    _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n  var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n      dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n      dragElOppLength = vertical ? dragRect.width : dragRect.height,\n      targetS1Opp = vertical ? targetRect.left : targetRect.top,\n      targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n      targetOppLength = vertical ? targetRect.width : targetRect.height;\n  return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param  {Number} x      X position\n * @param  {Number} y      Y position\n * @return {HTMLElement}   Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n  var ret;\n  sortables.some(function (sortable) {\n    if (lastChild(sortable)) return;\n    var rect = getRect(sortable),\n        threshold = sortable[expando].options.emptyInsertThreshold,\n        insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n        insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n    if (threshold && insideHorizontally && insideVertically) {\n      return ret = sortable;\n    }\n  });\n  return ret;\n},\n    _prepareGroup = function _prepareGroup(options) {\n  function toFn(value, pull) {\n    return function (to, from, dragEl, evt) {\n      var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n      if (value == null && (pull || sameGroup)) {\n        // Default pull value\n        // Default pull and put value if same group\n        return true;\n      } else if (value == null || value === false) {\n        return false;\n      } else if (pull && value === 'clone') {\n        return value;\n      } else if (typeof value === 'function') {\n        return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n      } else {\n        var otherGroup = (pull ? to : from).options.group.name;\n        return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n      }\n    };\n  }\n\n  var group = {};\n  var originalGroup = options.group;\n\n  if (!originalGroup || _typeof(originalGroup) != 'object') {\n    originalGroup = {\n      name: originalGroup\n    };\n  }\n\n  group.name = originalGroup.name;\n  group.checkPull = toFn(originalGroup.pull, true);\n  group.checkPut = toFn(originalGroup.put);\n  group.revertClone = originalGroup.revertClone;\n  options.group = group;\n},\n    _hideGhostForTarget = function _hideGhostForTarget() {\n  if (!supportCssPointerEvents && ghostEl) {\n    css(ghostEl, 'display', 'none');\n  }\n},\n    _unhideGhostForTarget = function _unhideGhostForTarget() {\n  if (!supportCssPointerEvents && ghostEl) {\n    css(ghostEl, 'display', '');\n  }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n  document.addEventListener('click', function (evt) {\n    if (ignoreNextClick) {\n      evt.preventDefault();\n      evt.stopPropagation && evt.stopPropagation();\n      evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n      ignoreNextClick = false;\n      return false;\n    }\n  }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n  if (dragEl) {\n    evt = evt.touches ? evt.touches[0] : evt;\n\n    var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n    if (nearest) {\n      // Create imitation event\n      var event = {};\n\n      for (var i in evt) {\n        if (evt.hasOwnProperty(i)) {\n          event[i] = evt[i];\n        }\n      }\n\n      event.target = event.rootEl = nearest;\n      event.preventDefault = void 0;\n      event.stopPropagation = void 0;\n\n      nearest[expando]._onDragOver(event);\n    }\n  }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n  if (dragEl) {\n    dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n  }\n};\n/**\n * @class  Sortable\n * @param  {HTMLElement}  el\n * @param  {Object}       [options]\n */\n\n\nfunction Sortable(el, options) {\n  if (!(el && el.nodeType && el.nodeType === 1)) {\n    throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n  }\n\n  this.el = el; // root element\n\n  this.options = options = _extends({}, options); // Export instance\n\n  el[expando] = this;\n  var defaults = {\n    group: null,\n    sort: true,\n    disabled: false,\n    store: null,\n    handle: null,\n    draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n    swapThreshold: 1,\n    // percentage; 0 <= x <= 1\n    invertSwap: false,\n    // invert always\n    invertedSwapThreshold: null,\n    // will be set to same as swapThreshold if default\n    removeCloneOnHide: true,\n    direction: function direction() {\n      return _detectDirection(el, this.options);\n    },\n    ghostClass: 'sortable-ghost',\n    chosenClass: 'sortable-chosen',\n    dragClass: 'sortable-drag',\n    ignore: 'a, img',\n    filter: null,\n    preventOnFilter: true,\n    animation: 0,\n    easing: null,\n    setData: function setData(dataTransfer, dragEl) {\n      dataTransfer.setData('Text', dragEl.textContent);\n    },\n    dropBubble: false,\n    dragoverBubble: false,\n    dataIdAttr: 'data-id',\n    delay: 0,\n    delayOnTouchOnly: false,\n    touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n    forceFallback: false,\n    fallbackClass: 'sortable-fallback',\n    fallbackOnBody: false,\n    fallbackTolerance: 0,\n    fallbackOffset: {\n      x: 0,\n      y: 0\n    },\n    supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n    emptyInsertThreshold: 5\n  };\n  PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n  for (var name in defaults) {\n    !(name in options) && (options[name] = defaults[name]);\n  }\n\n  _prepareGroup(options); // Bind all private methods\n\n\n  for (var fn in this) {\n    if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n      this[fn] = this[fn].bind(this);\n    }\n  } // Setup drag mode\n\n\n  this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n  if (this.nativeDraggable) {\n    // Touch start threshold cannot be greater than the native dragstart threshold\n    this.options.touchStartThreshold = 1;\n  } // Bind events\n\n\n  if (options.supportPointer) {\n    on(el, 'pointerdown', this._onTapStart);\n  } else {\n    on(el, 'mousedown', this._onTapStart);\n    on(el, 'touchstart', this._onTapStart);\n  }\n\n  if (this.nativeDraggable) {\n    on(el, 'dragover', this);\n    on(el, 'dragenter', this);\n  }\n\n  sortables.push(this.el); // Restore sorting\n\n  options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n  _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n  constructor: Sortable,\n  _isOutsideThisEl: function _isOutsideThisEl(target) {\n    if (!this.el.contains(target) && target !== this.el) {\n      lastTarget = null;\n    }\n  },\n  _getDirection: function _getDirection(evt, target) {\n    return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n  },\n  _onTapStart: function _onTapStart(\n  /** Event|TouchEvent */\n  evt) {\n    if (!evt.cancelable) return;\n\n    var _this = this,\n        el = this.el,\n        options = this.options,\n        preventOnFilter = options.preventOnFilter,\n        type = evt.type,\n        touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n        target = (touch || evt).target,\n        originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n        filter = options.filter;\n\n    _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n    if (dragEl) {\n      return;\n    }\n\n    if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n      return; // only left button and enabled\n    } // cancel dnd if original target is content editable\n\n\n    if (originalTarget.isContentEditable) {\n      return;\n    }\n\n    target = closest(target, options.draggable, el, false);\n\n    if (target && target.animated) {\n      return;\n    }\n\n    if (lastDownEl === target) {\n      // Ignoring duplicate `down`\n      return;\n    } // Get the index of the dragged element within its parent\n\n\n    oldIndex = index(target);\n    oldDraggableIndex = index(target, options.draggable); // Check filter\n\n    if (typeof filter === 'function') {\n      if (filter.call(this, evt, target, this)) {\n        _dispatchEvent({\n          sortable: _this,\n          rootEl: originalTarget,\n          name: 'filter',\n          targetEl: target,\n          toEl: el,\n          fromEl: el\n        });\n\n        pluginEvent('filter', _this, {\n          evt: evt\n        });\n        preventOnFilter && evt.cancelable && evt.preventDefault();\n        return; // cancel dnd\n      }\n    } else if (filter) {\n      filter = filter.split(',').some(function (criteria) {\n        criteria = closest(originalTarget, criteria.trim(), el, false);\n\n        if (criteria) {\n          _dispatchEvent({\n            sortable: _this,\n            rootEl: criteria,\n            name: 'filter',\n            targetEl: target,\n            fromEl: el,\n            toEl: el\n          });\n\n          pluginEvent('filter', _this, {\n            evt: evt\n          });\n          return true;\n        }\n      });\n\n      if (filter) {\n        preventOnFilter && evt.cancelable && evt.preventDefault();\n        return; // cancel dnd\n      }\n    }\n\n    if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n      return;\n    } // Prepare `dragstart`\n\n\n    this._prepareDragStart(evt, touch, target);\n  },\n  _prepareDragStart: function _prepareDragStart(\n  /** Event */\n  evt,\n  /** Touch */\n  touch,\n  /** HTMLElement */\n  target) {\n    var _this = this,\n        el = _this.el,\n        options = _this.options,\n        ownerDocument = el.ownerDocument,\n        dragStartFn;\n\n    if (target && !dragEl && target.parentNode === el) {\n      var dragRect = getRect(target);\n      rootEl = el;\n      dragEl = target;\n      parentEl = dragEl.parentNode;\n      nextEl = dragEl.nextSibling;\n      lastDownEl = target;\n      activeGroup = options.group;\n      Sortable.dragged = dragEl;\n      tapEvt = {\n        target: dragEl,\n        clientX: (touch || evt).clientX,\n        clientY: (touch || evt).clientY\n      };\n      tapDistanceLeft = tapEvt.clientX - dragRect.left;\n      tapDistanceTop = tapEvt.clientY - dragRect.top;\n      this._lastX = (touch || evt).clientX;\n      this._lastY = (touch || evt).clientY;\n      dragEl.style['will-change'] = 'all';\n\n      dragStartFn = function dragStartFn() {\n        pluginEvent('delayEnded', _this, {\n          evt: evt\n        });\n\n        if (Sortable.eventCanceled) {\n          _this._onDrop();\n\n          return;\n        } // Delayed drag has been triggered\n        // we can re-enable the events: touchmove/mousemove\n\n\n        _this._disableDelayedDragEvents();\n\n        if (!FireFox && _this.nativeDraggable) {\n          dragEl.draggable = true;\n        } // Bind the events: dragstart/dragend\n\n\n        _this._triggerDragStart(evt, touch); // Drag start event\n\n\n        _dispatchEvent({\n          sortable: _this,\n          name: 'choose',\n          originalEvent: evt\n        }); // Chosen item\n\n\n        toggleClass(dragEl, options.chosenClass, true);\n      }; // Disable \"draggable\"\n\n\n      options.ignore.split(',').forEach(function (criteria) {\n        find(dragEl, criteria.trim(), _disableDraggable);\n      });\n      on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n      on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n      on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n      on(ownerDocument, 'mouseup', _this._onDrop);\n      on(ownerDocument, 'touchend', _this._onDrop);\n      on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n      if (FireFox && this.nativeDraggable) {\n        this.options.touchStartThreshold = 4;\n        dragEl.draggable = true;\n      }\n\n      pluginEvent('delayStart', this, {\n        evt: evt\n      }); // Delay is impossible for native DnD in Edge or IE\n\n      if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n        if (Sortable.eventCanceled) {\n          this._onDrop();\n\n          return;\n        } // If the user moves the pointer or let go the click or touch\n        // before the delay has been reached:\n        // disable the delayed drag\n\n\n        on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n        on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n        on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n        on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n        on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n        options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n        _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n      } else {\n        dragStartFn();\n      }\n    }\n  },\n  _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n  /** TouchEvent|PointerEvent **/\n  e) {\n    var touch = e.touches ? e.touches[0] : e;\n\n    if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n      this._disableDelayedDrag();\n    }\n  },\n  _disableDelayedDrag: function _disableDelayedDrag() {\n    dragEl && _disableDraggable(dragEl);\n    clearTimeout(this._dragStartTimer);\n\n    this._disableDelayedDragEvents();\n  },\n  _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n    var ownerDocument = this.el.ownerDocument;\n    off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n    off(ownerDocument, 'touchend', this._disableDelayedDrag);\n    off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n    off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n    off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n    off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n  },\n  _triggerDragStart: function _triggerDragStart(\n  /** Event */\n  evt,\n  /** Touch */\n  touch) {\n    touch = touch || evt.pointerType == 'touch' && evt;\n\n    if (!this.nativeDraggable || touch) {\n      if (this.options.supportPointer) {\n        on(document, 'pointermove', this._onTouchMove);\n      } else if (touch) {\n        on(document, 'touchmove', this._onTouchMove);\n      } else {\n        on(document, 'mousemove', this._onTouchMove);\n      }\n    } else {\n      on(dragEl, 'dragend', this);\n      on(rootEl, 'dragstart', this._onDragStart);\n    }\n\n    try {\n      if (document.selection) {\n        // Timeout neccessary for IE9\n        _nextTick(function () {\n          document.selection.empty();\n        });\n      } else {\n        window.getSelection().removeAllRanges();\n      }\n    } catch (err) {}\n  },\n  _dragStarted: function _dragStarted(fallback, evt) {\n\n    awaitingDragStarted = false;\n\n    if (rootEl && dragEl) {\n      pluginEvent('dragStarted', this, {\n        evt: evt\n      });\n\n      if (this.nativeDraggable) {\n        on(document, 'dragover', _checkOutsideTargetEl);\n      }\n\n      var options = this.options; // Apply effect\n\n      !fallback && toggleClass(dragEl, options.dragClass, false);\n      toggleClass(dragEl, options.ghostClass, true);\n      Sortable.active = this;\n      fallback && this._appendGhost(); // Drag start event\n\n      _dispatchEvent({\n        sortable: this,\n        name: 'start',\n        originalEvent: evt\n      });\n    } else {\n      this._nulling();\n    }\n  },\n  _emulateDragOver: function _emulateDragOver() {\n    if (touchEvt) {\n      this._lastX = touchEvt.clientX;\n      this._lastY = touchEvt.clientY;\n\n      _hideGhostForTarget();\n\n      var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n      var parent = target;\n\n      while (target && target.shadowRoot) {\n        target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n        if (target === parent) break;\n        parent = target;\n      }\n\n      dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n      if (parent) {\n        do {\n          if (parent[expando]) {\n            var inserted = void 0;\n            inserted = parent[expando]._onDragOver({\n              clientX: touchEvt.clientX,\n              clientY: touchEvt.clientY,\n              target: target,\n              rootEl: parent\n            });\n\n            if (inserted && !this.options.dragoverBubble) {\n              break;\n            }\n          }\n\n          target = parent; // store last element\n        }\n        /* jshint boss:true */\n        while (parent = parent.parentNode);\n      }\n\n      _unhideGhostForTarget();\n    }\n  },\n  _onTouchMove: function _onTouchMove(\n  /**TouchEvent*/\n  evt) {\n    if (tapEvt) {\n      var options = this.options,\n          fallbackTolerance = options.fallbackTolerance,\n          fallbackOffset = options.fallbackOffset,\n          touch = evt.touches ? evt.touches[0] : evt,\n          ghostMatrix = ghostEl && matrix(ghostEl, true),\n          scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n          scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n          relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n          dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n          dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n      if (!Sortable.active && !awaitingDragStarted) {\n        if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n          return;\n        }\n\n        this._onDragStart(evt, true);\n      }\n\n      if (ghostEl) {\n        if (ghostMatrix) {\n          ghostMatrix.e += dx - (lastDx || 0);\n          ghostMatrix.f += dy - (lastDy || 0);\n        } else {\n          ghostMatrix = {\n            a: 1,\n            b: 0,\n            c: 0,\n            d: 1,\n            e: dx,\n            f: dy\n          };\n        }\n\n        var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n        css(ghostEl, 'webkitTransform', cssMatrix);\n        css(ghostEl, 'mozTransform', cssMatrix);\n        css(ghostEl, 'msTransform', cssMatrix);\n        css(ghostEl, 'transform', cssMatrix);\n        lastDx = dx;\n        lastDy = dy;\n        touchEvt = touch;\n      }\n\n      evt.cancelable && evt.preventDefault();\n    }\n  },\n  _appendGhost: function _appendGhost() {\n    // Bug if using scale(): https://stackoverflow.com/questions/2637058\n    // Not being adjusted for\n    if (!ghostEl) {\n      var container = this.options.fallbackOnBody ? document.body : rootEl,\n          rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n          options = this.options; // Position absolutely\n\n      if (PositionGhostAbsolutely) {\n        // Get relatively positioned parent\n        ghostRelativeParent = container;\n\n        while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n          ghostRelativeParent = ghostRelativeParent.parentNode;\n        }\n\n        if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n          if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n          rect.top += ghostRelativeParent.scrollTop;\n          rect.left += ghostRelativeParent.scrollLeft;\n        } else {\n          ghostRelativeParent = getWindowScrollingElement();\n        }\n\n        ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n      }\n\n      ghostEl = dragEl.cloneNode(true);\n      toggleClass(ghostEl, options.ghostClass, false);\n      toggleClass(ghostEl, options.fallbackClass, true);\n      toggleClass(ghostEl, options.dragClass, true);\n      css(ghostEl, 'transition', '');\n      css(ghostEl, 'transform', '');\n      css(ghostEl, 'box-sizing', 'border-box');\n      css(ghostEl, 'margin', 0);\n      css(ghostEl, 'top', rect.top);\n      css(ghostEl, 'left', rect.left);\n      css(ghostEl, 'width', rect.width);\n      css(ghostEl, 'height', rect.height);\n      css(ghostEl, 'opacity', '0.8');\n      css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n      css(ghostEl, 'zIndex', '100000');\n      css(ghostEl, 'pointerEvents', 'none');\n      Sortable.ghost = ghostEl;\n      container.appendChild(ghostEl); // Set transform-origin\n\n      css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n    }\n  },\n  _onDragStart: function _onDragStart(\n  /**Event*/\n  evt,\n  /**boolean*/\n  fallback) {\n    var _this = this;\n\n    var dataTransfer = evt.dataTransfer;\n    var options = _this.options;\n    pluginEvent('dragStart', this, {\n      evt: evt\n    });\n\n    if (Sortable.eventCanceled) {\n      this._onDrop();\n\n      return;\n    }\n\n    pluginEvent('setupClone', this);\n\n    if (!Sortable.eventCanceled) {\n      cloneEl = clone(dragEl);\n      cloneEl.draggable = false;\n      cloneEl.style['will-change'] = '';\n\n      this._hideClone();\n\n      toggleClass(cloneEl, this.options.chosenClass, false);\n      Sortable.clone = cloneEl;\n    } // #1143: IFrame support workaround\n\n\n    _this.cloneId = _nextTick(function () {\n      pluginEvent('clone', _this);\n      if (Sortable.eventCanceled) return;\n\n      if (!_this.options.removeCloneOnHide) {\n        rootEl.insertBefore(cloneEl, dragEl);\n      }\n\n      _this._hideClone();\n\n      _dispatchEvent({\n        sortable: _this,\n        name: 'clone'\n      });\n    });\n    !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n    if (fallback) {\n      ignoreNextClick = true;\n      _this._loopId = setInterval(_this._emulateDragOver, 50);\n    } else {\n      // Undo what was set in _prepareDragStart before drag started\n      off(document, 'mouseup', _this._onDrop);\n      off(document, 'touchend', _this._onDrop);\n      off(document, 'touchcancel', _this._onDrop);\n\n      if (dataTransfer) {\n        dataTransfer.effectAllowed = 'move';\n        options.setData && options.setData.call(_this, dataTransfer, dragEl);\n      }\n\n      on(document, 'drop', _this); // #1276 fix:\n\n      css(dragEl, 'transform', 'translateZ(0)');\n    }\n\n    awaitingDragStarted = true;\n    _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n    on(document, 'selectstart', _this);\n    moved = true;\n\n    if (Safari) {\n      css(document.body, 'user-select', 'none');\n    }\n  },\n  // Returns true - if no further action is needed (either inserted or another condition)\n  _onDragOver: function _onDragOver(\n  /**Event*/\n  evt) {\n    var el = this.el,\n        target = evt.target,\n        dragRect,\n        targetRect,\n        revert,\n        options = this.options,\n        group = options.group,\n        activeSortable = Sortable.active,\n        isOwner = activeGroup === group,\n        canSort = options.sort,\n        fromSortable = putSortable || activeSortable,\n        vertical,\n        _this = this,\n        completedFired = false;\n\n    if (_silent) return;\n\n    function dragOverEvent(name, extra) {\n      pluginEvent(name, _this, _objectSpread({\n        evt: evt,\n        isOwner: isOwner,\n        axis: vertical ? 'vertical' : 'horizontal',\n        revert: revert,\n        dragRect: dragRect,\n        targetRect: targetRect,\n        canSort: canSort,\n        fromSortable: fromSortable,\n        target: target,\n        completed: completed,\n        onMove: function onMove(target, after) {\n          return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n        },\n        changed: changed\n      }, extra));\n    } // Capture animation state\n\n\n    function capture() {\n      dragOverEvent('dragOverAnimationCapture');\n\n      _this.captureAnimationState();\n\n      if (_this !== fromSortable) {\n        fromSortable.captureAnimationState();\n      }\n    } // Return invocation when dragEl is inserted (or completed)\n\n\n    function completed(insertion) {\n      dragOverEvent('dragOverCompleted', {\n        insertion: insertion\n      });\n\n      if (insertion) {\n        // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n        if (isOwner) {\n          activeSortable._hideClone();\n        } else {\n          activeSortable._showClone(_this);\n        }\n\n        if (_this !== fromSortable) {\n          // Set ghost class to new sortable's ghost class\n          toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n          toggleClass(dragEl, options.ghostClass, true);\n        }\n\n        if (putSortable !== _this && _this !== Sortable.active) {\n          putSortable = _this;\n        } else if (_this === Sortable.active && putSortable) {\n          putSortable = null;\n        } // Animation\n\n\n        if (fromSortable === _this) {\n          _this._ignoreWhileAnimating = target;\n        }\n\n        _this.animateAll(function () {\n          dragOverEvent('dragOverAnimationComplete');\n          _this._ignoreWhileAnimating = null;\n        });\n\n        if (_this !== fromSortable) {\n          fromSortable.animateAll();\n          fromSortable._ignoreWhileAnimating = null;\n        }\n      } // Null lastTarget if it is not inside a previously swapped element\n\n\n      if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n        lastTarget = null;\n      } // no bubbling and not fallback\n\n\n      if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n        dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n        !insertion && nearestEmptyInsertDetectEvent(evt);\n      }\n\n      !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n      return completedFired = true;\n    } // Call when dragEl has been inserted\n\n\n    function changed() {\n      newIndex = index(dragEl);\n      newDraggableIndex = index(dragEl, options.draggable);\n\n      _dispatchEvent({\n        sortable: _this,\n        name: 'change',\n        toEl: el,\n        newIndex: newIndex,\n        newDraggableIndex: newDraggableIndex,\n        originalEvent: evt\n      });\n    }\n\n    if (evt.preventDefault !== void 0) {\n      evt.cancelable && evt.preventDefault();\n    }\n\n    target = closest(target, options.draggable, el, true);\n    dragOverEvent('dragOver');\n    if (Sortable.eventCanceled) return completedFired;\n\n    if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n      return completed(false);\n    }\n\n    ignoreNextClick = false;\n\n    if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n    : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n      vertical = this._getDirection(evt, target) === 'vertical';\n      dragRect = getRect(dragEl);\n      dragOverEvent('dragOverValid');\n      if (Sortable.eventCanceled) return completedFired;\n\n      if (revert) {\n        parentEl = rootEl; // actualization\n\n        capture();\n\n        this._hideClone();\n\n        dragOverEvent('revert');\n\n        if (!Sortable.eventCanceled) {\n          if (nextEl) {\n            rootEl.insertBefore(dragEl, nextEl);\n          } else {\n            rootEl.appendChild(dragEl);\n          }\n        }\n\n        return completed(true);\n      }\n\n      var elLastChild = lastChild(el, options.draggable);\n\n      if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n        // If already at end of list: Do not insert\n        if (elLastChild === dragEl) {\n          return completed(false);\n        } // assign target only if condition is true\n\n\n        if (elLastChild && el === evt.target) {\n          target = elLastChild;\n        }\n\n        if (target) {\n          targetRect = getRect(target);\n        }\n\n        if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n          capture();\n          el.appendChild(dragEl);\n          parentEl = el; // actualization\n\n          changed();\n          return completed(true);\n        }\n      } else if (target.parentNode === el) {\n        targetRect = getRect(target);\n        var direction = 0,\n            targetBeforeFirstSwap,\n            differentLevel = dragEl.parentNode !== el,\n            differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n            side1 = vertical ? 'top' : 'left',\n            scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n            scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n        if (lastTarget !== target) {\n          targetBeforeFirstSwap = targetRect[side1];\n          pastFirstInvertThresh = false;\n          isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n        }\n\n        direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n        var sibling;\n\n        if (direction !== 0) {\n          // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n          var dragIndex = index(dragEl);\n\n          do {\n            dragIndex -= direction;\n            sibling = parentEl.children[dragIndex];\n          } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n        } // If dragEl is already beside target: Do not insert\n\n\n        if (direction === 0 || sibling === target) {\n          return completed(false);\n        }\n\n        lastTarget = target;\n        lastDirection = direction;\n        var nextSibling = target.nextElementSibling,\n            after = false;\n        after = direction === 1;\n\n        var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n        if (moveVector !== false) {\n          if (moveVector === 1 || moveVector === -1) {\n            after = moveVector === 1;\n          }\n\n          _silent = true;\n          setTimeout(_unsilent, 30);\n          capture();\n\n          if (after && !nextSibling) {\n            el.appendChild(dragEl);\n          } else {\n            target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n          } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n          if (scrolledPastTop) {\n            scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n          }\n\n          parentEl = dragEl.parentNode; // actualization\n          // must be done before animation\n\n          if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n            targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n          }\n\n          changed();\n          return completed(true);\n        }\n      }\n\n      if (el.contains(dragEl)) {\n        return completed(false);\n      }\n    }\n\n    return false;\n  },\n  _ignoreWhileAnimating: null,\n  _offMoveEvents: function _offMoveEvents() {\n    off(document, 'mousemove', this._onTouchMove);\n    off(document, 'touchmove', this._onTouchMove);\n    off(document, 'pointermove', this._onTouchMove);\n    off(document, 'dragover', nearestEmptyInsertDetectEvent);\n    off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n    off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n  },\n  _offUpEvents: function _offUpEvents() {\n    var ownerDocument = this.el.ownerDocument;\n    off(ownerDocument, 'mouseup', this._onDrop);\n    off(ownerDocument, 'touchend', this._onDrop);\n    off(ownerDocument, 'pointerup', this._onDrop);\n    off(ownerDocument, 'touchcancel', this._onDrop);\n    off(document, 'selectstart', this);\n  },\n  _onDrop: function _onDrop(\n  /**Event*/\n  evt) {\n    var el = this.el,\n        options = this.options; // Get the index of the dragged element within its parent\n\n    newIndex = index(dragEl);\n    newDraggableIndex = index(dragEl, options.draggable);\n    pluginEvent('drop', this, {\n      evt: evt\n    });\n    parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n    newIndex = index(dragEl);\n    newDraggableIndex = index(dragEl, options.draggable);\n\n    if (Sortable.eventCanceled) {\n      this._nulling();\n\n      return;\n    }\n\n    awaitingDragStarted = false;\n    isCircumstantialInvert = false;\n    pastFirstInvertThresh = false;\n    clearInterval(this._loopId);\n    clearTimeout(this._dragStartTimer);\n\n    _cancelNextTick(this.cloneId);\n\n    _cancelNextTick(this._dragStartId); // Unbind events\n\n\n    if (this.nativeDraggable) {\n      off(document, 'drop', this);\n      off(el, 'dragstart', this._onDragStart);\n    }\n\n    this._offMoveEvents();\n\n    this._offUpEvents();\n\n    if (Safari) {\n      css(document.body, 'user-select', '');\n    }\n\n    css(dragEl, 'transform', '');\n\n    if (evt) {\n      if (moved) {\n        evt.cancelable && evt.preventDefault();\n        !options.dropBubble && evt.stopPropagation();\n      }\n\n      ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n      if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n        // Remove clone(s)\n        cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n      }\n\n      if (dragEl) {\n        if (this.nativeDraggable) {\n          off(dragEl, 'dragend', this);\n        }\n\n        _disableDraggable(dragEl);\n\n        dragEl.style['will-change'] = ''; // Remove classes\n        // ghostClass is added in dragStarted\n\n        if (moved && !awaitingDragStarted) {\n          toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n        }\n\n        toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n        _dispatchEvent({\n          sortable: this,\n          name: 'unchoose',\n          toEl: parentEl,\n          newIndex: null,\n          newDraggableIndex: null,\n          originalEvent: evt\n        });\n\n        if (rootEl !== parentEl) {\n          if (newIndex >= 0) {\n            // Add event\n            _dispatchEvent({\n              rootEl: parentEl,\n              name: 'add',\n              toEl: parentEl,\n              fromEl: rootEl,\n              originalEvent: evt\n            }); // Remove event\n\n\n            _dispatchEvent({\n              sortable: this,\n              name: 'remove',\n              toEl: parentEl,\n              originalEvent: evt\n            }); // drag from one list and drop into another\n\n\n            _dispatchEvent({\n              rootEl: parentEl,\n              name: 'sort',\n              toEl: parentEl,\n              fromEl: rootEl,\n              originalEvent: evt\n            });\n\n            _dispatchEvent({\n              sortable: this,\n              name: 'sort',\n              toEl: parentEl,\n              originalEvent: evt\n            });\n          }\n\n          putSortable && putSortable.save();\n        } else {\n          if (newIndex !== oldIndex) {\n            if (newIndex >= 0) {\n              // drag & drop within the same list\n              _dispatchEvent({\n                sortable: this,\n                name: 'update',\n                toEl: parentEl,\n                originalEvent: evt\n              });\n\n              _dispatchEvent({\n                sortable: this,\n                name: 'sort',\n                toEl: parentEl,\n                originalEvent: evt\n              });\n            }\n          }\n        }\n\n        if (Sortable.active) {\n          /* jshint eqnull:true */\n          if (newIndex == null || newIndex === -1) {\n            newIndex = oldIndex;\n            newDraggableIndex = oldDraggableIndex;\n          }\n\n          _dispatchEvent({\n            sortable: this,\n            name: 'end',\n            toEl: parentEl,\n            originalEvent: evt\n          }); // Save sorting\n\n\n          this.save();\n        }\n      }\n    }\n\n    this._nulling();\n  },\n  _nulling: function _nulling() {\n    pluginEvent('nulling', this);\n    rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n    savedInputChecked.forEach(function (el) {\n      el.checked = true;\n    });\n    savedInputChecked.length = lastDx = lastDy = 0;\n  },\n  handleEvent: function handleEvent(\n  /**Event*/\n  evt) {\n    switch (evt.type) {\n      case 'drop':\n      case 'dragend':\n        this._onDrop(evt);\n\n        break;\n\n      case 'dragenter':\n      case 'dragover':\n        if (dragEl) {\n          this._onDragOver(evt);\n\n          _globalDragOver(evt);\n        }\n\n        break;\n\n      case 'selectstart':\n        evt.preventDefault();\n        break;\n    }\n  },\n\n  /**\n   * Serializes the item into an array of string.\n   * @returns {String[]}\n   */\n  toArray: function toArray() {\n    var order = [],\n        el,\n        children = this.el.children,\n        i = 0,\n        n = children.length,\n        options = this.options;\n\n    for (; i < n; i++) {\n      el = children[i];\n\n      if (closest(el, options.draggable, this.el, false)) {\n        order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n      }\n    }\n\n    return order;\n  },\n\n  /**\n   * Sorts the elements according to the array.\n   * @param  {String[]}  order  order of the items\n   */\n  sort: function sort(order) {\n    var items = {},\n        rootEl = this.el;\n    this.toArray().forEach(function (id, i) {\n      var el = rootEl.children[i];\n\n      if (closest(el, this.options.draggable, rootEl, false)) {\n        items[id] = el;\n      }\n    }, this);\n    order.forEach(function (id) {\n      if (items[id]) {\n        rootEl.removeChild(items[id]);\n        rootEl.appendChild(items[id]);\n      }\n    });\n  },\n\n  /**\n   * Save the current sorting\n   */\n  save: function save() {\n    var store = this.options.store;\n    store && store.set && store.set(this);\n  },\n\n  /**\n   * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n   * @param   {HTMLElement}  el\n   * @param   {String}       [selector]  default: `options.draggable`\n   * @returns {HTMLElement|null}\n   */\n  closest: function closest$1(el, selector) {\n    return closest(el, selector || this.options.draggable, this.el, false);\n  },\n\n  /**\n   * Set/get option\n   * @param   {string} name\n   * @param   {*}      [value]\n   * @returns {*}\n   */\n  option: function option(name, value) {\n    var options = this.options;\n\n    if (value === void 0) {\n      return options[name];\n    } else {\n      var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n      if (typeof modifiedValue !== 'undefined') {\n        options[name] = modifiedValue;\n      } else {\n        options[name] = value;\n      }\n\n      if (name === 'group') {\n        _prepareGroup(options);\n      }\n    }\n  },\n\n  /**\n   * Destroy\n   */\n  destroy: function destroy() {\n    pluginEvent('destroy', this);\n    var el = this.el;\n    el[expando] = null;\n    off(el, 'mousedown', this._onTapStart);\n    off(el, 'touchstart', this._onTapStart);\n    off(el, 'pointerdown', this._onTapStart);\n\n    if (this.nativeDraggable) {\n      off(el, 'dragover', this);\n      off(el, 'dragenter', this);\n    } // Remove draggable attributes\n\n\n    Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n      el.removeAttribute('draggable');\n    });\n\n    this._onDrop();\n\n    this._disableDelayedDragEvents();\n\n    sortables.splice(sortables.indexOf(this.el), 1);\n    this.el = el = null;\n  },\n  _hideClone: function _hideClone() {\n    if (!cloneHidden) {\n      pluginEvent('hideClone', this);\n      if (Sortable.eventCanceled) return;\n      css(cloneEl, 'display', 'none');\n\n      if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n        cloneEl.parentNode.removeChild(cloneEl);\n      }\n\n      cloneHidden = true;\n    }\n  },\n  _showClone: function _showClone(putSortable) {\n    if (putSortable.lastPutMode !== 'clone') {\n      this._hideClone();\n\n      return;\n    }\n\n    if (cloneHidden) {\n      pluginEvent('showClone', this);\n      if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n      if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n        rootEl.insertBefore(cloneEl, dragEl);\n      } else if (nextEl) {\n        rootEl.insertBefore(cloneEl, nextEl);\n      } else {\n        rootEl.appendChild(cloneEl);\n      }\n\n      if (this.options.group.revertClone) {\n        this.animate(dragEl, cloneEl);\n      }\n\n      css(cloneEl, 'display', '');\n      cloneHidden = false;\n    }\n  }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n  if (evt.dataTransfer) {\n    evt.dataTransfer.dropEffect = 'move';\n  }\n\n  evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n  var evt,\n      sortable = fromEl[expando],\n      onMoveFn = sortable.options.onMove,\n      retVal; // Support for new CustomEvent feature\n\n  if (window.CustomEvent && !IE11OrLess && !Edge) {\n    evt = new CustomEvent('move', {\n      bubbles: true,\n      cancelable: true\n    });\n  } else {\n    evt = document.createEvent('Event');\n    evt.initEvent('move', true, true);\n  }\n\n  evt.to = toEl;\n  evt.from = fromEl;\n  evt.dragged = dragEl;\n  evt.draggedRect = dragRect;\n  evt.related = targetEl || toEl;\n  evt.relatedRect = targetRect || getRect(toEl);\n  evt.willInsertAfter = willInsertAfter;\n  evt.originalEvent = originalEvent;\n  fromEl.dispatchEvent(evt);\n\n  if (onMoveFn) {\n    retVal = onMoveFn.call(sortable, evt, originalEvent);\n  }\n\n  return retVal;\n}\n\nfunction _disableDraggable(el) {\n  el.draggable = false;\n}\n\nfunction _unsilent() {\n  _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n  var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n  var spacer = 10;\n  return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n  var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n      targetLength = vertical ? targetRect.height : targetRect.width,\n      targetS1 = vertical ? targetRect.top : targetRect.left,\n      targetS2 = vertical ? targetRect.bottom : targetRect.right,\n      invert = false;\n\n  if (!invertSwap) {\n    // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n    if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n      // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n      // check if past first invert threshold on side opposite of lastDirection\n      if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n        // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n        pastFirstInvertThresh = true;\n      }\n\n      if (!pastFirstInvertThresh) {\n        // dragEl shadow (target move distance shadow)\n        if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n        : mouseOnAxis > targetS2 - targetMoveDistance) {\n          return -lastDirection;\n        }\n      } else {\n        invert = true;\n      }\n    } else {\n      // Regular\n      if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n        return _getInsertDirection(target);\n      }\n    }\n  }\n\n  invert = invert || invertSwap;\n\n  if (invert) {\n    // Invert of regular\n    if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n      return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n    }\n  }\n\n  return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param  {HTMLElement} target       The target whose position dragEl is being inserted at\n * @return {Number}                   Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n  if (index(dragEl) < index(target)) {\n    return 1;\n  } else {\n    return -1;\n  }\n}\n/**\n * Generate id\n * @param   {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n  var str = el.tagName + el.className + el.src + el.href + el.textContent,\n      i = str.length,\n      sum = 0;\n\n  while (i--) {\n    sum += str.charCodeAt(i);\n  }\n\n  return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n  savedInputChecked.length = 0;\n  var inputs = root.getElementsByTagName('input');\n  var idx = inputs.length;\n\n  while (idx--) {\n    var el = inputs[idx];\n    el.checked && savedInputChecked.push(el);\n  }\n}\n\nfunction _nextTick(fn) {\n  return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n  return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n  on(document, 'touchmove', function (evt) {\n    if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n      evt.preventDefault();\n    }\n  });\n} // Export utils\n\n\nSortable.utils = {\n  on: on,\n  off: off,\n  css: css,\n  find: find,\n  is: function is(el, selector) {\n    return !!closest(el, selector, el, false);\n  },\n  extend: extend,\n  throttle: throttle,\n  closest: closest,\n  toggleClass: toggleClass,\n  clone: clone,\n  index: index,\n  nextTick: _nextTick,\n  cancelNextTick: _cancelNextTick,\n  detectDirection: _detectDirection,\n  getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param  {HTMLElement} element The element\n * @return {Sortable|undefined}         The instance of Sortable\n */\n\nSortable.get = function (element) {\n  return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param  {...SortablePlugin|SortablePlugin[]} plugins       Plugins being mounted\n */\n\n\nSortable.mount = function () {\n  for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n    plugins[_key] = arguments[_key];\n  }\n\n  if (plugins[0].constructor === Array) plugins = plugins[0];\n  plugins.forEach(function (plugin) {\n    if (!plugin.prototype || !plugin.prototype.constructor) {\n      throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n    }\n\n    if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n    PluginManager.mount(plugin);\n  });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement}  el\n * @param {Object}      [options]\n */\n\n\nSortable.create = function (el, options) {\n  return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n    scrollEl,\n    scrollRootEl,\n    scrolling = false,\n    lastAutoScrollX,\n    lastAutoScrollY,\n    touchEvt$1,\n    pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n  function AutoScroll() {\n    this.defaults = {\n      scroll: true,\n      scrollSensitivity: 30,\n      scrollSpeed: 10,\n      bubbleScroll: true\n    }; // Bind all private methods\n\n    for (var fn in this) {\n      if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n        this[fn] = this[fn].bind(this);\n      }\n    }\n  }\n\n  AutoScroll.prototype = {\n    dragStarted: function dragStarted(_ref) {\n      var originalEvent = _ref.originalEvent;\n\n      if (this.sortable.nativeDraggable) {\n        on(document, 'dragover', this._handleAutoScroll);\n      } else {\n        if (this.options.supportPointer) {\n          on(document, 'pointermove', this._handleFallbackAutoScroll);\n        } else if (originalEvent.touches) {\n          on(document, 'touchmove', this._handleFallbackAutoScroll);\n        } else {\n          on(document, 'mousemove', this._handleFallbackAutoScroll);\n        }\n      }\n    },\n    dragOverCompleted: function dragOverCompleted(_ref2) {\n      var originalEvent = _ref2.originalEvent;\n\n      // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n      if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n        this._handleAutoScroll(originalEvent);\n      }\n    },\n    drop: function drop() {\n      if (this.sortable.nativeDraggable) {\n        off(document, 'dragover', this._handleAutoScroll);\n      } else {\n        off(document, 'pointermove', this._handleFallbackAutoScroll);\n        off(document, 'touchmove', this._handleFallbackAutoScroll);\n        off(document, 'mousemove', this._handleFallbackAutoScroll);\n      }\n\n      clearPointerElemChangedInterval();\n      clearAutoScrolls();\n      cancelThrottle();\n    },\n    nulling: function nulling() {\n      touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n      autoScrolls.length = 0;\n    },\n    _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n      this._handleAutoScroll(evt, true);\n    },\n    _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n      var _this = this;\n\n      var x = (evt.touches ? evt.touches[0] : evt).clientX,\n          y = (evt.touches ? evt.touches[0] : evt).clientY,\n          elem = document.elementFromPoint(x, y);\n      touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n      // Edge's autoscroll seems too conditional,\n      // MACOS Safari does not have autoscroll,\n      // Firefox and Chrome are good\n\n      if (fallback || Edge || IE11OrLess || Safari) {\n        autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n        var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n        if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n          pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n          pointerElemChangedInterval = setInterval(function () {\n            var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n            if (newElem !== ogElemScroller) {\n              ogElemScroller = newElem;\n              clearAutoScrolls();\n            }\n\n            autoScroll(evt, _this.options, newElem, fallback);\n          }, 10);\n          lastAutoScrollX = x;\n          lastAutoScrollY = y;\n        }\n      } else {\n        // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n        if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n          clearAutoScrolls();\n          return;\n        }\n\n        autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n      }\n    }\n  };\n  return _extends(AutoScroll, {\n    pluginName: 'scroll',\n    initializeByDefault: true\n  });\n}\n\nfunction clearAutoScrolls() {\n  autoScrolls.forEach(function (autoScroll) {\n    clearInterval(autoScroll.pid);\n  });\n  autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n  clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n  // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n  if (!options.scroll) return;\n  var x = (evt.touches ? evt.touches[0] : evt).clientX,\n      y = (evt.touches ? evt.touches[0] : evt).clientY,\n      sens = options.scrollSensitivity,\n      speed = options.scrollSpeed,\n      winScroller = getWindowScrollingElement();\n  var scrollThisInstance = false,\n      scrollCustomFn; // New scroll root, set scrollEl\n\n  if (scrollRootEl !== rootEl) {\n    scrollRootEl = rootEl;\n    clearAutoScrolls();\n    scrollEl = options.scroll;\n    scrollCustomFn = options.scrollFn;\n\n    if (scrollEl === true) {\n      scrollEl = getParentAutoScrollElement(rootEl, true);\n    }\n  }\n\n  var layersOut = 0;\n  var currentParent = scrollEl;\n\n  do {\n    var el = currentParent,\n        rect = getRect(el),\n        top = rect.top,\n        bottom = rect.bottom,\n        left = rect.left,\n        right = rect.right,\n        width = rect.width,\n        height = rect.height,\n        canScrollX = void 0,\n        canScrollY = void 0,\n        scrollWidth = el.scrollWidth,\n        scrollHeight = el.scrollHeight,\n        elCSS = css(el),\n        scrollPosX = el.scrollLeft,\n        scrollPosY = el.scrollTop;\n\n    if (el === winScroller) {\n      canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n      canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n    } else {\n      canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n      canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n    }\n\n    var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n    var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n    if (!autoScrolls[layersOut]) {\n      for (var i = 0; i <= layersOut; i++) {\n        if (!autoScrolls[i]) {\n          autoScrolls[i] = {};\n        }\n      }\n    }\n\n    if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n      autoScrolls[layersOut].el = el;\n      autoScrolls[layersOut].vx = vx;\n      autoScrolls[layersOut].vy = vy;\n      clearInterval(autoScrolls[layersOut].pid);\n\n      if (vx != 0 || vy != 0) {\n        scrollThisInstance = true;\n        /* jshint loopfunc:true */\n\n        autoScrolls[layersOut].pid = setInterval(function () {\n          // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n          if (isFallback && this.layer === 0) {\n            Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n          }\n\n          var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n          var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n          if (typeof scrollCustomFn === 'function') {\n            if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n              return;\n            }\n          }\n\n          scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n        }.bind({\n          layer: layersOut\n        }), 24);\n      }\n    }\n\n    layersOut++;\n  } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n  scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n  var originalEvent = _ref.originalEvent,\n      putSortable = _ref.putSortable,\n      dragEl = _ref.dragEl,\n      activeSortable = _ref.activeSortable,\n      dispatchSortableEvent = _ref.dispatchSortableEvent,\n      hideGhostForTarget = _ref.hideGhostForTarget,\n      unhideGhostForTarget = _ref.unhideGhostForTarget;\n  if (!originalEvent) return;\n  var toSortable = putSortable || activeSortable;\n  hideGhostForTarget();\n  var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n  var target = document.elementFromPoint(touch.clientX, touch.clientY);\n  unhideGhostForTarget();\n\n  if (toSortable && !toSortable.el.contains(target)) {\n    dispatchSortableEvent('spill');\n    this.onSpill({\n      dragEl: dragEl,\n      putSortable: putSortable\n    });\n  }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n  startIndex: null,\n  dragStart: function dragStart(_ref2) {\n    var oldDraggableIndex = _ref2.oldDraggableIndex;\n    this.startIndex = oldDraggableIndex;\n  },\n  onSpill: function onSpill(_ref3) {\n    var dragEl = _ref3.dragEl,\n        putSortable = _ref3.putSortable;\n    this.sortable.captureAnimationState();\n\n    if (putSortable) {\n      putSortable.captureAnimationState();\n    }\n\n    var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n    if (nextSibling) {\n      this.sortable.el.insertBefore(dragEl, nextSibling);\n    } else {\n      this.sortable.el.appendChild(dragEl);\n    }\n\n    this.sortable.animateAll();\n\n    if (putSortable) {\n      putSortable.animateAll();\n    }\n  },\n  drop: drop\n};\n\n_extends(Revert, {\n  pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n  onSpill: function onSpill(_ref4) {\n    var dragEl = _ref4.dragEl,\n        putSortable = _ref4.putSortable;\n    var parentSortable = putSortable || this.sortable;\n    parentSortable.captureAnimationState();\n    dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n    parentSortable.animateAll();\n  },\n  drop: drop\n};\n\n_extends(Remove, {\n  pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n  function Swap() {\n    this.defaults = {\n      swapClass: 'sortable-swap-highlight'\n    };\n  }\n\n  Swap.prototype = {\n    dragStart: function dragStart(_ref) {\n      var dragEl = _ref.dragEl;\n      lastSwapEl = dragEl;\n    },\n    dragOverValid: function dragOverValid(_ref2) {\n      var completed = _ref2.completed,\n          target = _ref2.target,\n          onMove = _ref2.onMove,\n          activeSortable = _ref2.activeSortable,\n          changed = _ref2.changed,\n          cancel = _ref2.cancel;\n      if (!activeSortable.options.swap) return;\n      var el = this.sortable.el,\n          options = this.options;\n\n      if (target && target !== el) {\n        var prevSwapEl = lastSwapEl;\n\n        if (onMove(target) !== false) {\n          toggleClass(target, options.swapClass, true);\n          lastSwapEl = target;\n        } else {\n          lastSwapEl = null;\n        }\n\n        if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n          toggleClass(prevSwapEl, options.swapClass, false);\n        }\n      }\n\n      changed();\n      completed(true);\n      cancel();\n    },\n    drop: function drop(_ref3) {\n      var activeSortable = _ref3.activeSortable,\n          putSortable = _ref3.putSortable,\n          dragEl = _ref3.dragEl;\n      var toSortable = putSortable || this.sortable;\n      var options = this.options;\n      lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n      if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n        if (dragEl !== lastSwapEl) {\n          toSortable.captureAnimationState();\n          if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n          swapNodes(dragEl, lastSwapEl);\n          toSortable.animateAll();\n          if (toSortable !== activeSortable) activeSortable.animateAll();\n        }\n      }\n    },\n    nulling: function nulling() {\n      lastSwapEl = null;\n    }\n  };\n  return _extends(Swap, {\n    pluginName: 'swap',\n    eventProperties: function eventProperties() {\n      return {\n        swapItem: lastSwapEl\n      };\n    }\n  });\n}\n\nfunction swapNodes(n1, n2) {\n  var p1 = n1.parentNode,\n      p2 = n2.parentNode,\n      i1,\n      i2;\n  if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n  i1 = index(n1);\n  i2 = index(n2);\n\n  if (p1.isEqualNode(p2) && i1 < i2) {\n    i2++;\n  }\n\n  p1.insertBefore(n2, p1.children[i1]);\n  p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n    multiDragClones = [],\n    lastMultiDragSelect,\n    // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n    initialFolding = false,\n    // Initial multi-drag fold when drag started\nfolding = false,\n    // Folding any other time\ndragStarted = false,\n    dragEl$1,\n    clonesFromRect,\n    clonesHidden;\n\nfunction MultiDragPlugin() {\n  function MultiDrag(sortable) {\n    // Bind all private methods\n    for (var fn in this) {\n      if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n        this[fn] = this[fn].bind(this);\n      }\n    }\n\n    if (sortable.options.supportPointer) {\n      on(document, 'pointerup', this._deselectMultiDrag);\n    } else {\n      on(document, 'mouseup', this._deselectMultiDrag);\n      on(document, 'touchend', this._deselectMultiDrag);\n    }\n\n    on(document, 'keydown', this._checkKeyDown);\n    on(document, 'keyup', this._checkKeyUp);\n    this.defaults = {\n      selectedClass: 'sortable-selected',\n      multiDragKey: null,\n      setData: function setData(dataTransfer, dragEl) {\n        var data = '';\n\n        if (multiDragElements.length && multiDragSortable === sortable) {\n          multiDragElements.forEach(function (multiDragElement, i) {\n            data += (!i ? '' : ', ') + multiDragElement.textContent;\n          });\n        } else {\n          data = dragEl.textContent;\n        }\n\n        dataTransfer.setData('Text', data);\n      }\n    };\n  }\n\n  MultiDrag.prototype = {\n    multiDragKeyDown: false,\n    isMultiDrag: false,\n    delayStartGlobal: function delayStartGlobal(_ref) {\n      var dragged = _ref.dragEl;\n      dragEl$1 = dragged;\n    },\n    delayEnded: function delayEnded() {\n      this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n    },\n    setupClone: function setupClone(_ref2) {\n      var sortable = _ref2.sortable,\n          cancel = _ref2.cancel;\n      if (!this.isMultiDrag) return;\n\n      for (var i = 0; i < multiDragElements.length; i++) {\n        multiDragClones.push(clone(multiDragElements[i]));\n        multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n        multiDragClones[i].draggable = false;\n        multiDragClones[i].style['will-change'] = '';\n        toggleClass(multiDragClones[i], this.options.selectedClass, false);\n        multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n      }\n\n      sortable._hideClone();\n\n      cancel();\n    },\n    clone: function clone(_ref3) {\n      var sortable = _ref3.sortable,\n          rootEl = _ref3.rootEl,\n          dispatchSortableEvent = _ref3.dispatchSortableEvent,\n          cancel = _ref3.cancel;\n      if (!this.isMultiDrag) return;\n\n      if (!this.options.removeCloneOnHide) {\n        if (multiDragElements.length && multiDragSortable === sortable) {\n          insertMultiDragClones(true, rootEl);\n          dispatchSortableEvent('clone');\n          cancel();\n        }\n      }\n    },\n    showClone: function showClone(_ref4) {\n      var cloneNowShown = _ref4.cloneNowShown,\n          rootEl = _ref4.rootEl,\n          cancel = _ref4.cancel;\n      if (!this.isMultiDrag) return;\n      insertMultiDragClones(false, rootEl);\n      multiDragClones.forEach(function (clone) {\n        css(clone, 'display', '');\n      });\n      cloneNowShown();\n      clonesHidden = false;\n      cancel();\n    },\n    hideClone: function hideClone(_ref5) {\n      var _this = this;\n\n      var sortable = _ref5.sortable,\n          cloneNowHidden = _ref5.cloneNowHidden,\n          cancel = _ref5.cancel;\n      if (!this.isMultiDrag) return;\n      multiDragClones.forEach(function (clone) {\n        css(clone, 'display', 'none');\n\n        if (_this.options.removeCloneOnHide && clone.parentNode) {\n          clone.parentNode.removeChild(clone);\n        }\n      });\n      cloneNowHidden();\n      clonesHidden = true;\n      cancel();\n    },\n    dragStartGlobal: function dragStartGlobal(_ref6) {\n      var sortable = _ref6.sortable;\n\n      if (!this.isMultiDrag && multiDragSortable) {\n        multiDragSortable.multiDrag._deselectMultiDrag();\n      }\n\n      multiDragElements.forEach(function (multiDragElement) {\n        multiDragElement.sortableIndex = index(multiDragElement);\n      }); // Sort multi-drag elements\n\n      multiDragElements = multiDragElements.sort(function (a, b) {\n        return a.sortableIndex - b.sortableIndex;\n      });\n      dragStarted = true;\n    },\n    dragStarted: function dragStarted(_ref7) {\n      var _this2 = this;\n\n      var sortable = _ref7.sortable;\n      if (!this.isMultiDrag) return;\n\n      if (this.options.sort) {\n        // Capture rects,\n        // hide multi drag elements (by positioning them absolute),\n        // set multi drag elements rects to dragRect,\n        // show multi drag elements,\n        // animate to rects,\n        // unset rects & remove from DOM\n        sortable.captureAnimationState();\n\n        if (this.options.animation) {\n          multiDragElements.forEach(function (multiDragElement) {\n            if (multiDragElement === dragEl$1) return;\n            css(multiDragElement, 'position', 'absolute');\n          });\n          var dragRect = getRect(dragEl$1, false, true, true);\n          multiDragElements.forEach(function (multiDragElement) {\n            if (multiDragElement === dragEl$1) return;\n            setRect(multiDragElement, dragRect);\n          });\n          folding = true;\n          initialFolding = true;\n        }\n      }\n\n      sortable.animateAll(function () {\n        folding = false;\n        initialFolding = false;\n\n        if (_this2.options.animation) {\n          multiDragElements.forEach(function (multiDragElement) {\n            unsetRect(multiDragElement);\n          });\n        } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n        if (_this2.options.sort) {\n          removeMultiDragElements();\n        }\n      });\n    },\n    dragOver: function dragOver(_ref8) {\n      var target = _ref8.target,\n          completed = _ref8.completed,\n          cancel = _ref8.cancel;\n\n      if (folding && ~multiDragElements.indexOf(target)) {\n        completed(false);\n        cancel();\n      }\n    },\n    revert: function revert(_ref9) {\n      var fromSortable = _ref9.fromSortable,\n          rootEl = _ref9.rootEl,\n          sortable = _ref9.sortable,\n          dragRect = _ref9.dragRect;\n\n      if (multiDragElements.length > 1) {\n        // Setup unfold animation\n        multiDragElements.forEach(function (multiDragElement) {\n          sortable.addAnimationState({\n            target: multiDragElement,\n            rect: folding ? getRect(multiDragElement) : dragRect\n          });\n          unsetRect(multiDragElement);\n          multiDragElement.fromRect = dragRect;\n          fromSortable.removeAnimationState(multiDragElement);\n        });\n        folding = false;\n        insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n      }\n    },\n    dragOverCompleted: function dragOverCompleted(_ref10) {\n      var sortable = _ref10.sortable,\n          isOwner = _ref10.isOwner,\n          insertion = _ref10.insertion,\n          activeSortable = _ref10.activeSortable,\n          parentEl = _ref10.parentEl,\n          putSortable = _ref10.putSortable;\n      var options = this.options;\n\n      if (insertion) {\n        // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n        if (isOwner) {\n          activeSortable._hideClone();\n        }\n\n        initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n        if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n          // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n          var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n          multiDragElements.forEach(function (multiDragElement) {\n            if (multiDragElement === dragEl$1) return;\n            setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n            // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n            parentEl.appendChild(multiDragElement);\n          });\n          folding = true;\n        } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n        if (!isOwner) {\n          // Only remove if not folding (folding will remove them anyways)\n          if (!folding) {\n            removeMultiDragElements();\n          }\n\n          if (multiDragElements.length > 1) {\n            var clonesHiddenBefore = clonesHidden;\n\n            activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n            if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n              multiDragClones.forEach(function (clone) {\n                activeSortable.addAnimationState({\n                  target: clone,\n                  rect: clonesFromRect\n                });\n                clone.fromRect = clonesFromRect;\n                clone.thisAnimationDuration = null;\n              });\n            }\n          } else {\n            activeSortable._showClone(sortable);\n          }\n        }\n      }\n    },\n    dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n      var dragRect = _ref11.dragRect,\n          isOwner = _ref11.isOwner,\n          activeSortable = _ref11.activeSortable;\n      multiDragElements.forEach(function (multiDragElement) {\n        multiDragElement.thisAnimationDuration = null;\n      });\n\n      if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n        clonesFromRect = _extends({}, dragRect);\n        var dragMatrix = matrix(dragEl$1, true);\n        clonesFromRect.top -= dragMatrix.f;\n        clonesFromRect.left -= dragMatrix.e;\n      }\n    },\n    dragOverAnimationComplete: function dragOverAnimationComplete() {\n      if (folding) {\n        folding = false;\n        removeMultiDragElements();\n      }\n    },\n    drop: function drop(_ref12) {\n      var evt = _ref12.originalEvent,\n          rootEl = _ref12.rootEl,\n          parentEl = _ref12.parentEl,\n          sortable = _ref12.sortable,\n          dispatchSortableEvent = _ref12.dispatchSortableEvent,\n          oldIndex = _ref12.oldIndex,\n          putSortable = _ref12.putSortable;\n      var toSortable = putSortable || this.sortable;\n      if (!evt) return;\n      var options = this.options,\n          children = parentEl.children; // Multi-drag selection\n\n      if (!dragStarted) {\n        if (options.multiDragKey && !this.multiDragKeyDown) {\n          this._deselectMultiDrag();\n        }\n\n        toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n        if (!~multiDragElements.indexOf(dragEl$1)) {\n          multiDragElements.push(dragEl$1);\n          dispatchEvent({\n            sortable: sortable,\n            rootEl: rootEl,\n            name: 'select',\n            targetEl: dragEl$1,\n            originalEvt: evt\n          }); // Modifier activated, select from last to dragEl\n\n          if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n            var lastIndex = index(lastMultiDragSelect),\n                currentIndex = index(dragEl$1);\n\n            if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n              // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n              // (but previous selection existed)\n              var n, i;\n\n              if (currentIndex > lastIndex) {\n                i = lastIndex;\n                n = currentIndex;\n              } else {\n                i = currentIndex;\n                n = lastIndex + 1;\n              }\n\n              for (; i < n; i++) {\n                if (~multiDragElements.indexOf(children[i])) continue;\n                toggleClass(children[i], options.selectedClass, true);\n                multiDragElements.push(children[i]);\n                dispatchEvent({\n                  sortable: sortable,\n                  rootEl: rootEl,\n                  name: 'select',\n                  targetEl: children[i],\n                  originalEvt: evt\n                });\n              }\n            }\n          } else {\n            lastMultiDragSelect = dragEl$1;\n          }\n\n          multiDragSortable = toSortable;\n        } else {\n          multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n          lastMultiDragSelect = null;\n          dispatchEvent({\n            sortable: sortable,\n            rootEl: rootEl,\n            name: 'deselect',\n            targetEl: dragEl$1,\n            originalEvt: evt\n          });\n        }\n      } // Multi-drag drop\n\n\n      if (dragStarted && this.isMultiDrag) {\n        // Do not \"unfold\" after around dragEl if reverted\n        if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n          var dragRect = getRect(dragEl$1),\n              multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n          if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n          toSortable.captureAnimationState();\n\n          if (!initialFolding) {\n            if (options.animation) {\n              dragEl$1.fromRect = dragRect;\n              multiDragElements.forEach(function (multiDragElement) {\n                multiDragElement.thisAnimationDuration = null;\n\n                if (multiDragElement !== dragEl$1) {\n                  var rect = folding ? getRect(multiDragElement) : dragRect;\n                  multiDragElement.fromRect = rect; // Prepare unfold animation\n\n                  toSortable.addAnimationState({\n                    target: multiDragElement,\n                    rect: rect\n                  });\n                }\n              });\n            } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n            // properly they must all be removed\n\n\n            removeMultiDragElements();\n            multiDragElements.forEach(function (multiDragElement) {\n              if (children[multiDragIndex]) {\n                parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n              } else {\n                parentEl.appendChild(multiDragElement);\n              }\n\n              multiDragIndex++;\n            }); // If initial folding is done, the elements may have changed position because they are now\n            // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n            // must be fired here as Sortable will not.\n\n            if (oldIndex === index(dragEl$1)) {\n              var update = false;\n              multiDragElements.forEach(function (multiDragElement) {\n                if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n                  update = true;\n                  return;\n                }\n              });\n\n              if (update) {\n                dispatchSortableEvent('update');\n              }\n            }\n          } // Must be done after capturing individual rects (scroll bar)\n\n\n          multiDragElements.forEach(function (multiDragElement) {\n            unsetRect(multiDragElement);\n          });\n          toSortable.animateAll();\n        }\n\n        multiDragSortable = toSortable;\n      } // Remove clones if necessary\n\n\n      if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n        multiDragClones.forEach(function (clone) {\n          clone.parentNode && clone.parentNode.removeChild(clone);\n        });\n      }\n    },\n    nullingGlobal: function nullingGlobal() {\n      this.isMultiDrag = dragStarted = false;\n      multiDragClones.length = 0;\n    },\n    destroyGlobal: function destroyGlobal() {\n      this._deselectMultiDrag();\n\n      off(document, 'pointerup', this._deselectMultiDrag);\n      off(document, 'mouseup', this._deselectMultiDrag);\n      off(document, 'touchend', this._deselectMultiDrag);\n      off(document, 'keydown', this._checkKeyDown);\n      off(document, 'keyup', this._checkKeyUp);\n    },\n    _deselectMultiDrag: function _deselectMultiDrag(evt) {\n      if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n      if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n      if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n      if (evt && evt.button !== 0) return;\n\n      while (multiDragElements.length) {\n        var el = multiDragElements[0];\n        toggleClass(el, this.options.selectedClass, false);\n        multiDragElements.shift();\n        dispatchEvent({\n          sortable: this.sortable,\n          rootEl: this.sortable.el,\n          name: 'deselect',\n          targetEl: el,\n          originalEvt: evt\n        });\n      }\n    },\n    _checkKeyDown: function _checkKeyDown(evt) {\n      if (evt.key === this.options.multiDragKey) {\n        this.multiDragKeyDown = true;\n      }\n    },\n    _checkKeyUp: function _checkKeyUp(evt) {\n      if (evt.key === this.options.multiDragKey) {\n        this.multiDragKeyDown = false;\n      }\n    }\n  };\n  return _extends(MultiDrag, {\n    // Static methods & properties\n    pluginName: 'multiDrag',\n    utils: {\n      /**\r\n       * Selects the provided multi-drag item\r\n       * @param  {HTMLElement} el    The element to be selected\r\n       */\n      select: function select(el) {\n        var sortable = el.parentNode[expando];\n        if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n        if (multiDragSortable && multiDragSortable !== sortable) {\n          multiDragSortable.multiDrag._deselectMultiDrag();\n\n          multiDragSortable = sortable;\n        }\n\n        toggleClass(el, sortable.options.selectedClass, true);\n        multiDragElements.push(el);\n      },\n\n      /**\r\n       * Deselects the provided multi-drag item\r\n       * @param  {HTMLElement} el    The element to be deselected\r\n       */\n      deselect: function deselect(el) {\n        var sortable = el.parentNode[expando],\n            index = multiDragElements.indexOf(el);\n        if (!sortable || !sortable.options.multiDrag || !~index) return;\n        toggleClass(el, sortable.options.selectedClass, false);\n        multiDragElements.splice(index, 1);\n      }\n    },\n    eventProperties: function eventProperties() {\n      var _this3 = this;\n\n      var oldIndicies = [],\n          newIndicies = [];\n      multiDragElements.forEach(function (multiDragElement) {\n        oldIndicies.push({\n          multiDragElement: multiDragElement,\n          index: multiDragElement.sortableIndex\n        }); // multiDragElements will already be sorted if folding\n\n        var newIndex;\n\n        if (folding && multiDragElement !== dragEl$1) {\n          newIndex = -1;\n        } else if (folding) {\n          newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n        } else {\n          newIndex = index(multiDragElement);\n        }\n\n        newIndicies.push({\n          multiDragElement: multiDragElement,\n          index: newIndex\n        });\n      });\n      return {\n        items: _toConsumableArray(multiDragElements),\n        clones: [].concat(multiDragClones),\n        oldIndicies: oldIndicies,\n        newIndicies: newIndicies\n      };\n    },\n    optionListeners: {\n      multiDragKey: function multiDragKey(key) {\n        key = key.toLowerCase();\n\n        if (key === 'ctrl') {\n          key = 'Control';\n        } else if (key.length > 1) {\n          key = key.charAt(0).toUpperCase() + key.substr(1);\n        }\n\n        return key;\n      }\n    }\n  });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n  multiDragElements.forEach(function (multiDragElement, i) {\n    var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n    if (target) {\n      rootEl.insertBefore(multiDragElement, target);\n    } else {\n      rootEl.appendChild(multiDragElement);\n    }\n  });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param  {[Boolean]} elementsInserted  Whether the multi-drag elements are inserted\r\n * @param  {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n  multiDragClones.forEach(function (clone, i) {\n    var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n    if (target) {\n      rootEl.insertBefore(clone, target);\n    } else {\n      rootEl.appendChild(clone);\n    }\n  });\n}\n\nfunction removeMultiDragElements() {\n  multiDragElements.forEach(function (multiDragElement) {\n    if (multiDragElement === dragEl$1) return;\n    multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n  });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Sortable);\n\n\n\n//# sourceURL=webpack:///./node_modules/sortablejs/modular/sortable.esm.js?");

/***/ }),

/***/ "./node_modules/spinkit/spinkit.min.css":
/*!**********************************************!*\
  !*** ./node_modules/spinkit/spinkit.min.css ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../css-loader/dist/cjs.js??ref--7-oneOf-3-1!../postcss-loader/src??ref--7-oneOf-3-2!./spinkit.min.css */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/spinkit/spinkit.min.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"48f47d6a\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/spinkit/spinkit.min.css?");

/***/ }),

/***/ "./node_modules/svg-baker-runtime/browser-symbol.js":
/*!**********************************************************!*\
  !*** ./node_modules/svg-baker-runtime/browser-symbol.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\tundefined;\n}(this, (function () { 'use strict';\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n  var id = ref.id;\n  var viewBox = ref.viewBox;\n  var content = ref.content;\n\n  this.id = id;\n  this.viewBox = viewBox;\n  this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n  return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n  return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n    var this$1 = this;\n\n  ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n  var hasImportNode = !!document.importNode;\n  var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n  /**\n   * Fix for browser which are throwing WrongDocumentError\n   * if you insert an element which is not part of the document\n   * @see http://stackoverflow.com/a/7986519/4624403\n   */\n  if (hasImportNode) {\n    return document.importNode(doc, true);\n  }\n\n  return doc;\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n    if (false) {} else {\n        module.exports = factory();\n    }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n    var nonNullObject = val && typeof val === 'object';\n\n    return nonNullObject\n        && Object.prototype.toString.call(val) !== '[object RegExp]'\n        && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n    return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n    var clone = optionsArgument && optionsArgument.clone === true;\n    return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n    var destination = target.slice();\n    source.forEach(function(e, i) {\n        if (typeof destination[i] === 'undefined') {\n            destination[i] = cloneIfNecessary(e, optionsArgument);\n        } else if (isMergeableObject(e)) {\n            destination[i] = deepmerge(target[i], e, optionsArgument);\n        } else if (target.indexOf(e) === -1) {\n            destination.push(cloneIfNecessary(e, optionsArgument));\n        }\n    });\n    return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n    var destination = {};\n    if (isMergeableObject(target)) {\n        Object.keys(target).forEach(function (key) {\n            destination[key] = cloneIfNecessary(target[key], optionsArgument);\n        });\n    }\n    Object.keys(source).forEach(function (key) {\n        if (!isMergeableObject(source[key]) || !target[key]) {\n            destination[key] = cloneIfNecessary(source[key], optionsArgument);\n        } else {\n            destination[key] = deepmerge(target[key], source[key], optionsArgument);\n        }\n    });\n    return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n    var array = Array.isArray(source);\n    var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n    var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n    if (array) {\n        return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n    } else {\n        return mergeObject(target, source, optionsArgument)\n    }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n    if (!Array.isArray(array) || array.length < 2) {\n        throw new Error('first argument should be an array with at least two elements')\n    }\n\n    // we are sure there are at least 2 values, so it is safe to have no initial value\n    return array.reduce(function(prev, next) {\n        return deepmerge(prev, next, optionsArgument)\n    })\n};\n\nreturn deepmerge\n\n}));\n});\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n  svg: {\n    name: 'xmlns',\n    uri: 'http://www.w3.org/2000/svg'\n  },\n  xlink: {\n    name: 'xmlns:xlink',\n    uri: 'http://www.w3.org/1999/xlink'\n  }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n  return Object.keys(attrs).map(function (attr) {\n    var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n    return (attr + \"=\\\"\" + value + \"\\\"\");\n  }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n  if ( content === void 0 ) content = '';\n\n  var attrs = deepmerge(defaultAttrs, attributes || {});\n  var attrsRendered = objectToAttrsString(attrs);\n  return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n  function BrowserSpriteSymbol () {\n    SpriteSymbol$$1.apply(this, arguments);\n  }\n\n  if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n  BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n  BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n  var prototypeAccessors = { isMounted: {} };\n\n  prototypeAccessors.isMounted.get = function () {\n    return !!this.node;\n  };\n\n  /**\n   * @param {Element} node\n   * @return {BrowserSpriteSymbol}\n   */\n  BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n    return new BrowserSpriteSymbol({\n      id: node.getAttribute('id'),\n      viewBox: node.getAttribute('viewBox'),\n      content: node.outerHTML\n    });\n  };\n\n  BrowserSpriteSymbol.prototype.destroy = function destroy () {\n    if (this.isMounted) {\n      this.unmount();\n    }\n    SpriteSymbol$$1.prototype.destroy.call(this);\n  };\n\n  /**\n   * @param {Element|string} target\n   * @return {Element}\n   */\n  BrowserSpriteSymbol.prototype.mount = function mount (target) {\n    if (this.isMounted) {\n      return this.node;\n    }\n\n    var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n    var node = this.render();\n    this.node = node;\n\n    mountTarget.appendChild(node);\n\n    return node;\n  };\n\n  /**\n   * @return {Element}\n   */\n  BrowserSpriteSymbol.prototype.render = function render () {\n    var content = this.stringify();\n    return parse(wrapInSvgString(content)).childNodes[0];\n  };\n\n  BrowserSpriteSymbol.prototype.unmount = function unmount () {\n    this.node.parentNode.removeChild(this.node);\n  };\n\n  Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n  return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nreturn BrowserSpriteSymbol;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/svg-baker-runtime/browser-symbol.js?");

/***/ }),

/***/ "./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js":
/*!************************************************************************!*\
  !*** ./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\tundefined;\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n    if (false) {} else {\n        module.exports = factory();\n    }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n    var nonNullObject = val && typeof val === 'object';\n\n    return nonNullObject\n        && Object.prototype.toString.call(val) !== '[object RegExp]'\n        && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n    return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n    var clone = optionsArgument && optionsArgument.clone === true;\n    return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n    var destination = target.slice();\n    source.forEach(function(e, i) {\n        if (typeof destination[i] === 'undefined') {\n            destination[i] = cloneIfNecessary(e, optionsArgument);\n        } else if (isMergeableObject(e)) {\n            destination[i] = deepmerge(target[i], e, optionsArgument);\n        } else if (target.indexOf(e) === -1) {\n            destination.push(cloneIfNecessary(e, optionsArgument));\n        }\n    });\n    return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n    var destination = {};\n    if (isMergeableObject(target)) {\n        Object.keys(target).forEach(function (key) {\n            destination[key] = cloneIfNecessary(target[key], optionsArgument);\n        });\n    }\n    Object.keys(source).forEach(function (key) {\n        if (!isMergeableObject(source[key]) || !target[key]) {\n            destination[key] = cloneIfNecessary(source[key], optionsArgument);\n        } else {\n            destination[key] = deepmerge(target[key], source[key], optionsArgument);\n        }\n    });\n    return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n    var array = Array.isArray(source);\n    var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n    var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n    if (array) {\n        return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n    } else {\n        return mergeObject(target, source, optionsArgument)\n    }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n    if (!Array.isArray(array) || array.length < 2) {\n        throw new Error('first argument should be an array with at least two elements')\n    }\n\n    // we are sure there are at least 2 values, so it is safe to have no initial value\n    return array.reduce(function(prev, next) {\n        return deepmerge(prev, next, optionsArgument)\n    })\n};\n\nreturn deepmerge\n\n}));\n});\n\n//      \n// An event handler can take an optional event argument\n// and should not return a value\n                                          \n// An array of all currently registered event handlers for a type\n                                            \n// A map of event types and their corresponding event handlers.\n                        \n                                   \n  \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n *  @name mitt\n *  @returns {Mitt}\n */\nfunction mitt(all                 ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param  {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param  {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type        , handler              ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param  {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param  {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type        , handler              ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type  The event type to invoke\n\t\t * @param {Any} [evt]  Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type        , evt     ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n  svg: {\n    name: 'xmlns',\n    uri: 'http://www.w3.org/2000/svg'\n  },\n  xlink: {\n    name: 'xmlns:xlink',\n    uri: 'http://www.w3.org/1999/xlink'\n  }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n  return Object.keys(attrs).map(function (attr) {\n    var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n    return (attr + \"=\\\"\" + value + \"\\\"\");\n  }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n  if ( content === void 0 ) content = '';\n\n  var attrs = deepmerge(defaultAttrs, attributes || {});\n  var attrsRendered = objectToAttrsString(attrs);\n  return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n  attrs: ( obj = {\n    style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n    'aria-hidden': 'true'\n  }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n  this.config = deepmerge(defaultConfig, config || {});\n  this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n  var ref = this;\n    var symbols = ref.symbols;\n  var existing = this.find(symbol.id);\n\n  if (existing) {\n    symbols[symbols.indexOf(existing)] = symbol;\n    return false;\n  }\n\n  symbols.push(symbol);\n  return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n  var ref = this;\n    var symbols = ref.symbols;\n  var symbol = this.find(id);\n\n  if (symbol) {\n    symbols.splice(symbols.indexOf(symbol), 1);\n    symbol.destroy();\n    return true;\n  }\n\n  return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n  return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n  return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n  var ref = this.config;\n    var attrs = ref.attrs;\n  var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n  return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n  return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n  this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n  var id = ref.id;\n  var viewBox = ref.viewBox;\n  var content = ref.content;\n\n  this.id = id;\n  this.viewBox = viewBox;\n  this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n  return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n  return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n    var this$1 = this;\n\n  ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n  var hasImportNode = !!document.importNode;\n  var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n  /**\n   * Fix for browser which are throwing WrongDocumentError\n   * if you insert an element which is not part of the document\n   * @see http://stackoverflow.com/a/7986519/4624403\n   */\n  if (hasImportNode) {\n    return document.importNode(doc, true);\n  }\n\n  return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n  function BrowserSpriteSymbol () {\n    SpriteSymbol$$1.apply(this, arguments);\n  }\n\n  if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n  BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n  BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n  var prototypeAccessors = { isMounted: {} };\n\n  prototypeAccessors.isMounted.get = function () {\n    return !!this.node;\n  };\n\n  /**\n   * @param {Element} node\n   * @return {BrowserSpriteSymbol}\n   */\n  BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n    return new BrowserSpriteSymbol({\n      id: node.getAttribute('id'),\n      viewBox: node.getAttribute('viewBox'),\n      content: node.outerHTML\n    });\n  };\n\n  BrowserSpriteSymbol.prototype.destroy = function destroy () {\n    if (this.isMounted) {\n      this.unmount();\n    }\n    SpriteSymbol$$1.prototype.destroy.call(this);\n  };\n\n  /**\n   * @param {Element|string} target\n   * @return {Element}\n   */\n  BrowserSpriteSymbol.prototype.mount = function mount (target) {\n    if (this.isMounted) {\n      return this.node;\n    }\n\n    var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n    var node = this.render();\n    this.node = node;\n\n    mountTarget.appendChild(node);\n\n    return node;\n  };\n\n  /**\n   * @return {Element}\n   */\n  BrowserSpriteSymbol.prototype.render = function render () {\n    var content = this.stringify();\n    return parse(wrapInSvgString(content)).childNodes[0];\n  };\n\n  BrowserSpriteSymbol.prototype.unmount = function unmount () {\n    this.node.parentNode.removeChild(this.node);\n  };\n\n  Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n  return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n  /**\n   * Should following options be automatically configured:\n   * - `syncUrlsWithBaseTag`\n   * - `locationChangeAngularEmitter`\n   * - `moveGradientsOutsideSymbol`\n   * @type {boolean}\n   */\n  autoConfigure: true,\n\n  /**\n   * Default mounting selector\n   * @type {string}\n   */\n  mountTo: 'body',\n\n  /**\n   * Fix disappearing SVG elements when <base href> exists.\n   * Executes when sprite mounted.\n   * @see http://stackoverflow.com/a/18265336/796152\n   * @see https://github.com/everdimension/angular-svg-base-fix\n   * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n   * @type {boolean}\n   */\n  syncUrlsWithBaseTag: false,\n\n  /**\n   * Should sprite listen custom location change event\n   * @type {boolean}\n   */\n  listenLocationChangeEvent: true,\n\n  /**\n   * Custom window event name which should be emitted to update sprite urls\n   * @type {string}\n   */\n  locationChangeEvent: 'locationChange',\n\n  /**\n   * Emit location change event in Angular automatically\n   * @type {boolean}\n   */\n  locationChangeAngularEmitter: false,\n\n  /**\n   * Selector to find symbols usages when updating sprite urls\n   * @type {string}\n   */\n  usagesToUpdate: 'use[*|href]',\n\n  /**\n   * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n   * Executes when sprite is rendered, but not mounted.\n   * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n   * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n   * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n   * @type {boolean}\n   */\n  moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n  return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar browser = {\n  isChrome: function () { return /chrome/i.test(navigator.userAgent); },\n  isFirefox: function () { return /firefox/i.test(navigator.userAgent); },\n\n  // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n  isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },\n  isEdge: function () { return /edge/i.test(navigator.userAgent); }\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n  var event = document.createEvent('CustomEvent');\n  event.initCustomEvent(name, false, false, data);\n  window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.\n * This trick will trigger IE to read and use any existing SVG <style> tags.\n * @see https://github.com/iconic/SVGInjector/issues/23\n * @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n *\n * @param {Element} node DOM Element to search <style> tags in\n * @return {Array<HTMLStyleElement>}\n */\nvar evalStylesIEWorkaround = function (node) {\n  var updatedNodes = [];\n\n  arrayFrom(node.querySelectorAll('style'))\n    .forEach(function (style) {\n      style.textContent += '';\n      updatedNodes.push(style);\n    });\n\n  return updatedNodes;\n};\n\n/**\n * @param {string} [url] If not provided - current URL will be used\n * @return {string}\n */\nvar getUrlWithoutFragment = function (url) {\n  return (url || window.location.href).split('#')[0];\n};\n\n/* global angular */\n/**\n * @param {string} eventName\n */\nvar locationChangeAngularEmitter = function (eventName) {\n  angular.module('ng').run(['$rootScope', function ($rootScope) {\n    $rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {\n      dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });\n    });\n  }]);\n};\n\nvar defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';\n\n/**\n * @param {Element} svg\n * @param {string} [selector]\n * @return {Element}\n */\nvar moveGradientsOutsideSymbol = function (svg, selector) {\n  if ( selector === void 0 ) selector = defaultSelector;\n\n  arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {\n    arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {\n      symbol.parentNode.insertBefore(node, symbol);\n    });\n  });\n  return svg;\n};\n\n/**\n * @param {NodeList} nodes\n * @param {Function} [matcher]\n * @return {Attr[]}\n */\nfunction selectAttributes(nodes, matcher) {\n  var attrs = arrayFrom(nodes).reduce(function (acc, node) {\n    if (!node.attributes) {\n      return acc;\n    }\n\n    var arrayfied = arrayFrom(node.attributes);\n    var matched = matcher ? arrayfied.filter(matcher) : arrayfied;\n    return acc.concat(matched);\n  }, []);\n\n  return attrs;\n}\n\n/**\n * @param {NodeList|Node} nodes\n * @param {boolean} [clone=true]\n * @return {string}\n */\n\nvar xLinkNS = namespaces_1.xlink.uri;\nvar xLinkAttrName = 'xlink:href';\n\n// eslint-disable-next-line no-useless-escape\nvar specialUrlCharsPattern = /[{}|\\\\\\^\\[\\]`\"<>]/g;\n\nfunction encoder(url) {\n  return url.replace(specialUrlCharsPattern, function (match) {\n    return (\"%\" + (match[0].charCodeAt(0).toString(16).toUpperCase()));\n  });\n}\n\nfunction escapeRegExp(str) {\n  return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\n/**\n * @param {NodeList} nodes\n * @param {string} startsWith\n * @param {string} replaceWith\n * @return {NodeList}\n */\nfunction updateReferences(nodes, startsWith, replaceWith) {\n  arrayFrom(nodes).forEach(function (node) {\n    var href = node.getAttribute(xLinkAttrName);\n    if (href && href.indexOf(startsWith) === 0) {\n      var newUrl = href.replace(startsWith, replaceWith);\n      node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);\n    }\n  });\n\n  return nodes;\n}\n\n/**\n * List of SVG attributes to update url() target in them\n */\nvar attList = [\n  'clipPath',\n  'colorProfile',\n  'src',\n  'cursor',\n  'fill',\n  'filter',\n  'marker',\n  'markerStart',\n  'markerMid',\n  'markerEnd',\n  'mask',\n  'stroke',\n  'style'\n];\n\nvar attSelector = attList.map(function (attr) { return (\"[\" + attr + \"]\"); }).join(',');\n\n/**\n * Update URLs in svg image (like `fill=\"url(...)\"`) and update referencing elements\n * @param {Element} svg\n * @param {NodeList} references\n * @param {string|RegExp} startsWith\n * @param {string} replaceWith\n * @return {void}\n *\n * @example\n * const sprite = document.querySelector('svg.sprite');\n * const usages = document.querySelectorAll('use');\n * updateUrls(sprite, usages, '#', 'prefix#');\n */\nvar updateUrls = function (svg, references, startsWith, replaceWith) {\n  var startsWithEncoded = encoder(startsWith);\n  var replaceWithEncoded = encoder(replaceWith);\n\n  var nodes = svg.querySelectorAll(attSelector);\n  var attrs = selectAttributes(nodes, function (ref) {\n    var localName = ref.localName;\n    var value = ref.value;\n\n    return attList.indexOf(localName) !== -1 && value.indexOf((\"url(\" + startsWithEncoded)) !== -1;\n  });\n\n  attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });\n  updateReferences(references, startsWithEncoded, replaceWithEncoded);\n};\n\n/**\n * Internal emitter events\n * @enum\n * @private\n */\nvar Events = {\n  MOUNT: 'mount',\n  SYMBOL_MOUNT: 'symbol_mount'\n};\n\nvar BrowserSprite = (function (Sprite$$1) {\n  function BrowserSprite(cfg) {\n    var this$1 = this;\n    if ( cfg === void 0 ) cfg = {};\n\n    Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));\n\n    var emitter = mitt();\n    this._emitter = emitter;\n    this.node = null;\n\n    var ref = this;\n    var config = ref.config;\n\n    if (config.autoConfigure) {\n      this._autoConfigure(cfg);\n    }\n\n    if (config.syncUrlsWithBaseTag) {\n      var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\n      emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });\n    }\n\n    var handleLocationChange = this._handleLocationChange.bind(this);\n    this._handleLocationChange = handleLocationChange;\n\n    // Provide way to update sprite urls externally via dispatching custom window event\n    if (config.listenLocationChangeEvent) {\n      window.addEventListener(config.locationChangeEvent, handleLocationChange);\n    }\n\n    // Emit location change event in Angular automatically\n    if (config.locationChangeAngularEmitter) {\n      locationChangeAngularEmitter(config.locationChangeEvent);\n    }\n\n    // After sprite mounted\n    emitter.on(Events.MOUNT, function (spriteNode) {\n      if (config.moveGradientsOutsideSymbol) {\n        moveGradientsOutsideSymbol(spriteNode);\n      }\n    });\n\n    // After symbol mounted into sprite\n    emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {\n      if (config.moveGradientsOutsideSymbol) {\n        moveGradientsOutsideSymbol(symbolNode.parentNode);\n      }\n\n      if (browser.isIE() || browser.isEdge()) {\n        evalStylesIEWorkaround(symbolNode);\n      }\n    });\n  }\n\n  if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;\n  BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );\n  BrowserSprite.prototype.constructor = BrowserSprite;\n\n  var prototypeAccessors = { isMounted: {} };\n\n  /**\n   * @return {boolean}\n   */\n  prototypeAccessors.isMounted.get = function () {\n    return !!this.node;\n  };\n\n  /**\n   * Automatically configure following options\n   * - `syncUrlsWithBaseTag`\n   * - `locationChangeAngularEmitter`\n   * - `moveGradientsOutsideSymbol`\n   * @param {Object} cfg\n   * @private\n   */\n  BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {\n    var ref = this;\n    var config = ref.config;\n\n    if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {\n      config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';\n    }\n\n    if (typeof cfg.locationChangeAngularEmitter === 'undefined') {\n        config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';\n    }\n\n    if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {\n      config.moveGradientsOutsideSymbol = browser.isFirefox();\n    }\n  };\n\n  /**\n   * @param {Event} event\n   * @param {Object} event.detail\n   * @param {string} event.detail.oldUrl\n   * @param {string} event.detail.newUrl\n   * @private\n   */\n  BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {\n    var ref = event.detail;\n    var oldUrl = ref.oldUrl;\n    var newUrl = ref.newUrl;\n    this.updateUrls(oldUrl, newUrl);\n  };\n\n  /**\n   * Add new symbol. If symbol with the same id exists it will be replaced.\n   * If sprite already mounted - `symbol.mount(sprite.node)` will be called.\n   * @fires Events#SYMBOL_MOUNT\n   * @param {BrowserSpriteSymbol} symbol\n   * @return {boolean} `true` - symbol was added, `false` - replaced\n   */\n  BrowserSprite.prototype.add = function add (symbol) {\n    var sprite = this;\n    var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);\n\n    if (this.isMounted && isNewSymbol) {\n      symbol.mount(sprite.node);\n      this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n    }\n\n    return isNewSymbol;\n  };\n\n  /**\n   * Attach to existing DOM node\n   * @param {string|Element} target\n   * @return {Element|null} attached DOM Element. null if node to attach not found.\n   */\n  BrowserSprite.prototype.attach = function attach (target) {\n    var this$1 = this;\n\n    var sprite = this;\n\n    if (sprite.isMounted) {\n      return sprite.node;\n    }\n\n    /** @type Element */\n    var node = typeof target === 'string' ? document.querySelector(target) : target;\n    sprite.node = node;\n\n    // Already added symbols needs to be mounted\n    this.symbols.forEach(function (symbol) {\n      symbol.mount(sprite.node);\n      this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n    });\n\n    // Create symbols from existing DOM nodes, add and mount them\n    arrayFrom(node.querySelectorAll('symbol'))\n      .forEach(function (symbolNode) {\n        var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);\n        symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding\n        sprite.add(symbol);\n      });\n\n    this._emitter.emit(Events.MOUNT, node);\n\n    return node;\n  };\n\n  BrowserSprite.prototype.destroy = function destroy () {\n    var ref = this;\n    var config = ref.config;\n    var symbols = ref.symbols;\n    var _emitter = ref._emitter;\n\n    symbols.forEach(function (s) { return s.destroy(); });\n\n    _emitter.off('*');\n    window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);\n\n    if (this.isMounted) {\n      this.unmount();\n    }\n  };\n\n  /**\n   * @fires Events#MOUNT\n   * @param {string|Element} [target]\n   * @param {boolean} [prepend=false]\n   * @return {Element|null} rendered sprite node. null if mount node not found.\n   */\n  BrowserSprite.prototype.mount = function mount (target, prepend) {\n    if ( target === void 0 ) target = this.config.mountTo;\n    if ( prepend === void 0 ) prepend = false;\n\n    var sprite = this;\n\n    if (sprite.isMounted) {\n      return sprite.node;\n    }\n\n    var mountNode = typeof target === 'string' ? document.querySelector(target) : target;\n    var node = sprite.render();\n    this.node = node;\n\n    if (prepend && mountNode.childNodes[0]) {\n      mountNode.insertBefore(node, mountNode.childNodes[0]);\n    } else {\n      mountNode.appendChild(node);\n    }\n\n    this._emitter.emit(Events.MOUNT, node);\n\n    return node;\n  };\n\n  /**\n   * @return {Element}\n   */\n  BrowserSprite.prototype.render = function render () {\n    return parse(this.stringify());\n  };\n\n  /**\n   * Detach sprite from the DOM\n   */\n  BrowserSprite.prototype.unmount = function unmount () {\n    this.node.parentNode.removeChild(this.node);\n  };\n\n  /**\n   * Update URLs in sprite and usage elements\n   * @param {string} oldUrl\n   * @param {string} newUrl\n   * @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted\n   */\n  BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {\n    if (!this.isMounted) {\n      return false;\n    }\n\n    var usages = document.querySelectorAll(this.config.usagesToUpdate);\n\n    updateUrls(\n      this.node,\n      usages,\n      ((getUrlWithoutFragment(oldUrl)) + \"#\"),\n      ((getUrlWithoutFragment(newUrl)) + \"#\")\n    );\n\n    return true;\n  };\n\n  Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );\n\n  return BrowserSprite;\n}(Sprite));\n\nvar ready$1 = createCommonjsModule(function (module) {\n/*!\n  * domready (c) Dustin Diaz 2014 - License MIT\n  */\n!function (name, definition) {\n\n  { module.exports = definition(); }\n\n}('domready', function () {\n\n  var fns = [], listener\n    , doc = document\n    , hack = doc.documentElement.doScroll\n    , domContentLoaded = 'DOMContentLoaded'\n    , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n\n  if (!loaded)\n  { doc.addEventListener(domContentLoaded, listener = function () {\n    doc.removeEventListener(domContentLoaded, listener);\n    loaded = 1;\n    while (listener = fns.shift()) { listener(); }\n  }); }\n\n  return function (fn) {\n    loaded ? setTimeout(fn, 0) : fns.push(fn);\n  }\n\n});\n});\n\nvar spriteNodeId = '__SVG_SPRITE_NODE__';\nvar spriteGlobalVarName = '__SVG_SPRITE__';\nvar isSpriteExists = !!window[spriteGlobalVarName];\n\n// eslint-disable-next-line import/no-mutable-exports\nvar sprite;\n\nif (isSpriteExists) {\n  sprite = window[spriteGlobalVarName];\n} else {\n  sprite = new BrowserSprite({\n    attrs: {\n      id: spriteNodeId,\n      'aria-hidden': 'true'\n    }\n  });\n  window[spriteGlobalVarName] = sprite;\n}\n\nvar loadSprite = function () {\n  /**\n   * Check for page already contains sprite node\n   * If found - attach to and reuse it's content\n   * If not - render and mount the new sprite\n   */\n  var existing = document.getElementById(spriteNodeId);\n\n  if (existing) {\n    sprite.attach(existing);\n  } else {\n    sprite.mount(document.body, true);\n  }\n};\n\nif (document.body) {\n  loadSprite();\n} else {\n  ready$1(loadSprite);\n}\n\nvar sprite$1 = sprite;\n\nreturn sprite$1;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js?");

/***/ }),

/***/ "./node_modules/throttle-debounce/debounce.js":
/*!****************************************************!*\
  !*** ./node_modules/throttle-debounce/debounce.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* eslint-disable no-undefined */\n\nvar throttle = __webpack_require__(/*! ./throttle */ \"./node_modules/throttle-debounce/throttle.js\");\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param  {Number}   delay         A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param  {Boolean}  [atBegin]     Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n *                                  after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n *                                  (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param  {Function} callback      A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n *                                  to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n\n\n//# sourceURL=webpack:///./node_modules/throttle-debounce/debounce.js?");

/***/ }),

/***/ "./node_modules/throttle-debounce/index.js":
/*!*************************************************!*\
  !*** ./node_modules/throttle-debounce/index.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var throttle = __webpack_require__(/*! ./throttle */ \"./node_modules/throttle-debounce/throttle.js\");\nvar debounce = __webpack_require__(/*! ./debounce */ \"./node_modules/throttle-debounce/debounce.js\");\n\nmodule.exports = {\n\tthrottle: throttle,\n\tdebounce: debounce\n};\n\n\n//# sourceURL=webpack:///./node_modules/throttle-debounce/index.js?");

/***/ }),

/***/ "./node_modules/throttle-debounce/throttle.js":
/*!****************************************************!*\
  !*** ./node_modules/throttle-debounce/throttle.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param  {Number}    delay          A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param  {Boolean}   [noTrailing]   Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n *                                    throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n *                                    after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n *                                    the internal counter is reset)\n * @param  {Function}  callback       A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n *                                    to `callback` when the throttled-function is executed.\n * @param  {Boolean}   [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n *                                    schedule `callback` to execute after `delay` ms.\n *\n * @return {Function}  A new, throttled, function.\n */\nmodule.exports = function ( delay, noTrailing, callback, debounceMode ) {\n\n\t// After wrapper has stopped being called, this timeout ensures that\n\t// `callback` is executed at the proper times in `throttle` and `end`\n\t// debounce modes.\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t// The `wrapper` function encapsulates all of the throttling / debouncing\n\t// functionality and when executed will limit the rate at which `callback`\n\t// is executed.\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t// If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t// to allow future `callback` executions.\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t// Since `wrapper` is being called for the first time and\n\t\t\t// `debounceMode` is true (at begin), execute `callback`.\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t// In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t// `callback`.\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t// In trailing throttle mode, since `delay` time has not been\n\t\t\t// exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t// recent execution.\n\t\t\t//\n\t\t\t// If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t// after `delay` ms.\n\t\t\t//\n\t\t\t// If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t// execute after `delay` ms.\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n};\n\n\n//# sourceURL=webpack:///./node_modules/throttle-debounce/throttle.js?");

/***/ }),

/***/ "./node_modules/tinymce/icons/default/icons.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/icons/default/icons.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("tinymce.IconManager.add('default', {\n  icons: {\n    'accessibility-check': '<svg width=\"24\" height=\"24\"><path d=\"M12 2a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2c0-1.1.9-2 2-2zm8 7h-5v12c0 .6-.4 1-1 1a1 1 0 01-1-1v-5c0-.6-.4-1-1-1a1 1 0 00-1 1v5c0 .6-.4 1-1 1a1 1 0 01-1-1V9H4a1 1 0 110-2h16c.6 0 1 .4 1 1s-.4 1-1 1z\" fill-rule=\"nonzero\"/></svg>',\n    'action-next': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M5.7 7.3a1 1 0 00-1.4 1.4l7.7 7.7 7.7-7.7a1 1 0 10-1.4-1.4L12 13.6 5.7 7.3z\"/></svg>',\n    'action-prev': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M18.3 15.7a1 1 0 001.4-1.4L12 6.6l-7.7 7.7a1 1 0 001.4 1.4L12 9.4l6.3 6.3z\"/></svg>',\n    'align-center': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm3 4h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 110-2zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 010-2zm-3-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2z\" fill-rule=\"evenodd\"/></svg>',\n    'align-justify': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2z\" fill-rule=\"evenodd\"/></svg>',\n    'align-left': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm0 4h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2zm0-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2z\" fill-rule=\"evenodd\"/></svg>',\n    'align-none': '<svg width=\"24\" height=\"24\"><path d=\"M14.2 5L13 7H5a1 1 0 110-2h9.2zm4 0h.8a1 1 0 010 2h-2l1.2-2zm-6.4 4l-1.2 2H5a1 1 0 010-2h6.8zm4 0H19a1 1 0 010 2h-4.4l1.2-2zm-6.4 4l-1.2 2H5a1 1 0 010-2h4.4zm4 0H19a1 1 0 010 2h-6.8l1.2-2zM7 17l-1.2 2H5a1 1 0 010-2h2zm4 0h8a1 1 0 010 2H9.8l1.2-2zm5.2-13.5l1.3.7-9.7 16.3-1.3-.7 9.7-16.3z\" fill-rule=\"evenodd\"/></svg>',\n    'align-right': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm6 4h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm-6-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2z\" fill-rule=\"evenodd\"/></svg>',\n    'arrow-left': '<svg width=\"24\" height=\"24\"><path d=\"M5.6 13l12 6a1 1 0 001.4-1V6a1 1 0 00-1.4-.9l-12 6a1 1 0 000 1.8z\" fill-rule=\"evenodd\"/></svg>',\n    'arrow-right': '<svg width=\"24\" height=\"24\"><path d=\"M18.5 13l-12 6A1 1 0 015 18V6a1 1 0 011.4-.9l12 6a1 1 0 010 1.8z\" fill-rule=\"evenodd\"/></svg>',\n    'bold': '<svg width=\"24\" height=\"24\"><path d=\"M7.8 19c-.3 0-.5 0-.6-.2l-.2-.5V5.7c0-.2 0-.4.2-.5l.6-.2h5c1.5 0 2.7.3 3.5 1 .7.6 1.1 1.4 1.1 2.5a3 3 0 01-.6 1.9c-.4.6-1 1-1.6 1.2.4.1.9.3 1.3.6s.8.7 1 1.2c.4.4.5 1 .5 1.6 0 1.3-.4 2.3-1.3 3-.8.7-2.1 1-3.8 1H7.8zm5-8.3c.6 0 1.2-.1 1.6-.5.4-.3.6-.7.6-1.3 0-1.1-.8-1.7-2.3-1.7H9.3v3.5h3.4zm.5 6c.7 0 1.3-.1 1.7-.4.4-.4.6-.9.6-1.5s-.2-1-.7-1.4c-.4-.3-1-.4-2-.4H9.4v3.8h4z\" fill-rule=\"evenodd\"/></svg>',\n    'bookmark': '<svg width=\"24\" height=\"24\"><path d=\"M6 4v17l6-4 6 4V4c0-.6-.4-1-1-1H7a1 1 0 00-1 1z\" fill-rule=\"nonzero\"/></svg>',\n    'border-style': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"6\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"3\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"6.8\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"10.6\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"14.4\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"18.2\" y=\"16\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"13\" y=\"11\" rx=\"1\"/></g></svg>',\n    'border-width': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"5\" x=\"3\" y=\"5\" rx=\"1\"/><rect width=\"18\" height=\"3.5\" x=\"3\" y=\"11.5\" rx=\"1\"/><rect width=\"18\" height=\"2\" x=\"3\" y=\"17\" rx=\"1\"/></g></svg>',\n    'brightness': '<svg width=\"24\" height=\"24\"><path d=\"M12 17c.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 01-.7.3 1 1 0 01-.7-.3 1 1 0 01-.3-.7v-1c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3zm0-10a1 1 0 01-.7-.3A1 1 0 0111 6V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 01-.7.3zm7 4c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 01-.7.3h-1a1 1 0 01-.7-.3 1 1 0 01-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1zM7 12c0 .3-.1.5-.3.7a1 1 0 01-.7.3H5a1 1 0 01-.7-.3A1 1 0 014 12c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1c.3 0 .5.1.7.3.2.2.3.4.3.7zm10 3.5l.7.8c.2.1.3.4.3.6 0 .3-.1.6-.3.8a1 1 0 01-.8.3 1 1 0 01-.6-.3l-.8-.7a1 1 0 01-.3-.8c0-.2.1-.5.3-.7a1 1 0 011.4 0zm-10-7l-.7-.8a1 1 0 01-.3-.6c0-.3.1-.6.3-.8.2-.2.5-.3.8-.3.2 0 .5.1.7.3l.7.7c.2.2.3.5.3.8 0 .2-.1.5-.3.7a1 1 0 01-.7.3 1 1 0 01-.8-.3zm10 0a1 1 0 01-.8.3 1 1 0 01-.7-.3 1 1 0 01-.3-.7c0-.3.1-.6.3-.8l.8-.7c.1-.2.4-.3.6-.3.3 0 .6.1.8.3.2.2.3.5.3.8 0 .2-.1.5-.3.7l-.7.7zm-10 7c.2-.2.5-.3.8-.3.2 0 .5.1.7.3a1 1 0 010 1.4l-.8.8a1 1 0 01-.6.3 1 1 0 01-.8-.3 1 1 0 01-.3-.8c0-.2.1-.5.3-.6l.7-.8zM12 8a4 4 0 013.7 2.4 4 4 0 010 3.2A4 4 0 0112 16a4 4 0 01-3.7-2.4 4 4 0 010-3.2A4 4 0 0112 8zm0 6.5c.7 0 1.3-.2 1.8-.7.5-.5.7-1.1.7-1.8s-.2-1.3-.7-1.8c-.5-.5-1.1-.7-1.8-.7s-1.3.2-1.8.7c-.5.5-.7 1.1-.7 1.8s.2 1.3.7 1.8c.5.5 1.1.7 1.8.7z\" fill-rule=\"evenodd\"/></svg>',\n    'browse': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2h-4v-2h4V8H5v10h4v2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm-8 9.4l-2.3 2.3a1 1 0 11-1.4-1.4l4-4a1 1 0 011.4 0l4 4a1 1 0 01-1.4 1.4L13 13.4V20a1 1 0 01-2 0v-6.6z\" fill-rule=\"nonzero\"/></svg>',\n    'cancel': '<svg width=\"24\" height=\"24\"><path d=\"M12 4.6a7.4 7.4 0 110 14.8 7.4 7.4 0 010-14.8zM12 3a9 9 0 100 18 9 9 0 000-18zm0 8L14.8 8l1 1.1-2.7 2.8 2.7 2.7-1.1 1.1-2.7-2.7-2.7 2.7-1-1.1 2.6-2.7-2.7-2.7 1-1.1 2.8 2.7z\" fill-rule=\"nonzero\"/></svg>',\n    'cell-background-color': '<svg width=\"24\" height=\"24\"><path d=\"M15.7 2l1.6 1.6-2.7 2.6 5.9 5.8c.7.7.7 1.7 0 2.4l-6.3 6.1a1.7 1.7 0 01-2.4 0l-6.3-6.1c-.7-.7-.7-1.7 0-2.4L15.7 2zM18 12l-4.5-4L9 12h9zM4 16s2 2.4 2 3.8C6 21 5.1 22 4 22s-2-1-2-2.2C2 18.4 4 16 4 16z\"/></svg>',\n    'cell-border-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M5 13v5h2v2H5a2 2 0 01-2-2v-5h2zm8-7V4h6a2 2 0 012 2h-8z\" opacity=\".2\"/><path fill-rule=\"nonzero\" d=\"M13 4v2H5v7H3V6c0-1.1.9-2 2-2h8zm-2.6 14.1l.1-.1.1.1.2.3.2.2.2.2c.4.6.8 1.2.8 1.7 0 .8-.7 1.5-1.5 1.5S9 21.3 9 20.5c0-.5.4-1.1.8-1.7l.2-.2.2-.2.2-.3z\"/><path d=\"M13 11l-2 2H5v-2h6V6h2z\"/><path fill-rule=\"nonzero\" d=\"M18.4 8l1 1-1.8 1.9 4 4c.5.4.5 1.1 0 1.6l-4.3 4.2a1.2 1.2 0 01-1.6 0l-4.4-4.2c-.4-.5-.4-1.2 0-1.7l7-6.8zm1.6 7l-3-3-3 3h6z\"/></g></svg>',\n    'change-case': '<svg width=\"24\" height=\"24\"><path d=\"M18.4 18.2v-.6c-.5.8-1.3 1.2-2.4 1.2-2.2 0-3.3-1.6-3.3-4.8 0-3.1 1-4.7 3.3-4.7 1.1 0 1.8.3 2.4 1.1v-.6c0-.5.4-.8.8-.8s.8.3.8.8v8.4c0 .5-.4.8-.8.8a.8.8 0 01-.8-.8zm-2-7.4c-1.3 0-1.8.9-1.8 3.2 0 2.4.5 3.3 1.7 3.3 1.3 0 1.8-.9 1.8-3.2 0-2.4-.5-3.3-1.7-3.3zM10 15.7H5.5l-.8 2.6a1 1 0 01-1 .7h-.2a.7.7 0 01-.7-1l4-12a1 1 0 012 0l4 12a.7.7 0 01-.8 1h-.2a1 1 0 01-1-.7l-.8-2.6zm-.3-1.5l-2-6.5-1.9 6.5h3.9z\" fill-rule=\"evenodd\"/></svg>',\n    'character-count': '<svg width=\"24\" height=\"24\"><path d=\"M4 11.5h16v1H4v-1zm4.8-6.8V10H7.7V5.8h-1v-1h2zM11 8.3V9h2v1h-3V7.7l2-1v-.9h-2v-1h3v2.4l-2 1zm6.3-3.4V10h-3.1V9h2.1V8h-2.1V6.8h2.1v-1h-2.1v-1h3.1zM5.8 16.4c0-.5.2-.8.5-1 .2-.2.6-.3 1.2-.3l.8.1c.2 0 .4.2.5.3l.4.4v2.8l.2.3H8.2v-.1-.2l-.6.3H7c-.4 0-.7 0-1-.2a1 1 0 01-.3-.9c0-.3 0-.6.3-.8.3-.2.7-.4 1.2-.4l.6-.2h.3v-.2l-.1-.2a.8.8 0 00-.5-.1 1 1 0 00-.4 0l-.3.4h-1zm2.3.8h-.2l-.2.1-.4.1a1 1 0 00-.4.2l-.2.2.1.3.5.1h.4l.4-.4v-.6zm2-3.4h1.2v1.7l.5-.3h.5c.5 0 .9.1 1.2.5.3.4.5.8.5 1.4 0 .6-.2 1.1-.5 1.5-.3.4-.7.6-1.3.6l-.6-.1-.4-.4v.4h-1.1v-5.4zm1.1 3.3c0 .3 0 .6.2.8a.7.7 0 001.2 0l.2-.8c0-.4 0-.6-.2-.8a.7.7 0 00-.6-.3l-.6.3-.2.8zm6.1-.5c0-.2 0-.3-.2-.4a.8.8 0 00-.5-.2c-.3 0-.5.1-.6.3l-.2.9c0 .3 0 .6.2.8.1.2.3.3.6.3.2 0 .4 0 .5-.2l.2-.4h1.1c0 .5-.3.8-.6 1.1a2 2 0 01-1.3.4c-.5 0-1-.2-1.3-.6a2 2 0 01-.5-1.4c0-.6.1-1.1.5-1.5.3-.4.8-.5 1.4-.5.5 0 1 0 1.2.3.4.3.5.7.5 1.2h-1v-.1z\" fill-rule=\"evenodd\"/></svg>',\n    'checklist-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M5 17h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 010-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 110-2zm14.2 11c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 010-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 010-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 8c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 010-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8z\" fill-rule=\"evenodd\"/></svg>',\n    'checklist': '<svg width=\"24\" height=\"24\"><path d=\"M11 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0-6h8a1 1 0 010 2h-8a1 1 0 010-2zM7.2 16c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 010-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 010-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 8c-.2.3-.7.4-1 0L3.8 6.9a.7.7 0 010-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8z\" fill-rule=\"evenodd\"/></svg>',\n    'checkmark': '<svg width=\"24\" height=\"24\"><path d=\"M18.2 5.4a1 1 0 011.6 1.2l-8 12a1 1 0 01-1.5.1l-5-5a1 1 0 111.4-1.4l4.1 4.1 7.4-11z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-down': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 2.2c.3-.3.8-.3 1 0 .4.4.4.9 0 1.2L5.7 7.8c-.3.3-.9.3-1.2 0L.2 3.4a.8.8 0 010-1.2c.3-.3.8-.3 1.1 0L5 6l3.7-3.8z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-left': '<svg width=\"10\" height=\"10\"><path d=\"M7.8 1.3L4 5l3.8 3.7c.3.3.3.8 0 1-.4.4-.9.4-1.2 0L2.2 5.7a.8.8 0 010-1.2L6.6.2C7 0 7.4 0 7.8.2c.3.3.3.8 0 1.1z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-right': '<svg width=\"10\" height=\"10\"><path d=\"M2.2 1.3a.8.8 0 010-1c.4-.4.9-.4 1.2 0l4.4 4.1c.3.4.3.9 0 1.2L3.4 9.8c-.3.3-.8.3-1.2 0a.8.8 0 010-1.1L6 5 2.2 1.3z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-up': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 7.8L5 4 1.3 7.8c-.3.3-.8.3-1 0a.8.8 0 010-1.2l4.1-4.4c.3-.3.9-.3 1.2 0l4.2 4.4c.3.3.3.9 0 1.2-.3.3-.8.3-1.1 0z\" fill-rule=\"nonzero\"/></svg>',\n    'close': '<svg width=\"24\" height=\"24\"><path d=\"M17.3 8.2L13.4 12l3.9 3.8a1 1 0 01-1.5 1.5L12 13.4l-3.8 3.9a1 1 0 01-1.5-1.5l3.9-3.8-3.9-3.8a1 1 0 011.5-1.5l3.8 3.9 3.8-3.9a1 1 0 011.5 1.5z\" fill-rule=\"evenodd\"/></svg>',\n    'code-sample': '<svg width=\"24\" height=\"26\"><path d=\"M7.1 11a2.8 2.8 0 01-.8 2 2.8 2.8 0 01.8 2v1.7c0 .3.1.6.4.8.2.3.5.4.8.4.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.7 0-1.4-.3-2-.8-.5-.6-.8-1.3-.8-2V15c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 01-.4-.4v-.8c0-.2.2-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V9.3c0-.7.3-1.4.8-2 .6-.5 1.3-.8 2-.8.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8V11zm9.8 0V9.3c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 01-.4-.4V7c0-.2.1-.4.4-.4.7 0 1.4.3 2 .8.5.6.8 1.3.8 2V11c0 .3.1.6.4.8.2.3.5.4.8.4.2 0 .4.2.4.4v.8c0 .2-.2.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8v1.7c0 .7-.3 1.4-.8 2-.6.5-1.3.8-2 .8a.4.4 0 01-.4-.4v-.8c0-.2.1-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V15a2.8 2.8 0 01.8-2 2.8 2.8 0 01-.8-2zm-3.3-.4c0 .4-.1.8-.5 1.1-.3.3-.7.5-1.1.5-.4 0-.8-.2-1.1-.5-.4-.3-.5-.7-.5-1.1 0-.5.1-.9.5-1.2.3-.3.7-.4 1.1-.4.4 0 .8.1 1.1.4.4.3.5.7.5 1.2zM12 13c.4 0 .8.1 1.1.5.4.3.5.7.5 1.1 0 1-.1 1.6-.5 2a3 3 0 01-1.1 1c-.4.3-.8.4-1.1.4a.5.5 0 01-.5-.5V17a3 3 0 001-.2l.6-.6c-.6 0-1-.2-1.3-.5-.2-.3-.3-.7-.3-1 0-.5.1-1 .5-1.2.3-.4.7-.5 1.1-.5z\" fill-rule=\"evenodd\"/></svg>',\n    'color-levels': '<svg width=\"24\" height=\"24\"><path d=\"M17.5 11.4A9 9 0 0118 14c0 .5 0 1-.2 1.4 0 .4-.3.9-.5 1.3a6.2 6.2 0 01-3.7 3 5.7 5.7 0 01-3.2 0A5.9 5.9 0 017.6 18a6.2 6.2 0 01-1.4-2.6 6.7 6.7 0 010-2.8c0-.4.1-.9.3-1.3a13.6 13.6 0 012.3-4A20 20 0 0112 4a26.4 26.4 0 013.2 3.4 18.2 18.2 0 012.3 4zm-2 4.5c.4-.7.5-1.4.5-2a7.3 7.3 0 00-1-3.2c.2.6.2 1.2.2 1.9a4.5 4.5 0 01-1.3 3 5.3 5.3 0 01-2.3 1.5 4.9 4.9 0 01-2 .1 4.3 4.3 0 002.4.8 4 4 0 002-.6 4 4 0 001.5-1.5z\" fill-rule=\"evenodd\"/></svg>',\n    'color-picker': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 000 18 1.5 1.5 0 001.1-2.5c-.2-.3-.4-.6-.4-1 0-.8.7-1.5 1.5-1.5H16a5 5 0 005-5c0-4.4-4-8-9-8zm-5.5 9a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm3-4a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm5 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm3 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3z\" fill-rule=\"nonzero\"/></svg>',\n    'color-swatch-remove-color': '<svg width=\"24\" height=\"24\"><path stroke=\"#000\" stroke-width=\"2\" d=\"M21 3L3 21\" fill-rule=\"evenodd\"/></svg>',\n    'color-swatch': '<svg width=\"24\" height=\"24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"1\" fill-rule=\"evenodd\"/></svg>',\n    'comment-add': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M9 19l3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 00-1 1v10c0 .6.4 1 1 1h4v2zm-2 4v-4H5a3 3 0 01-3-3V6a3 3 0 013-3h14a3 3 0 013 3v10a3 3 0 01-3 3h-6.4L7 23z\"/><path d=\"M13 10h2a1 1 0 010 2h-2v2a1 1 0 01-2 0v-2H9a1 1 0 010-2h2V8a1 1 0 012 0v2z\"/></g></svg>',\n    'comment': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M9 19l3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 00-1 1v10c0 .6.4 1 1 1h4v2zm-2 4v-4H5a3 3 0 01-3-3V6a3 3 0 013-3h14a3 3 0 013 3v10a3 3 0 01-3 3h-6.4L7 23z\"/></svg>',\n    'contrast': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 015.7 2.3A8 8 0 1112 4zm-6 8a6 6 0 006 6V6a6 6 0 00-6 6z\" fill-rule=\"evenodd\"/></svg>',\n    'copy': '<svg width=\"24\" height=\"24\"><path d=\"M16 3H6a2 2 0 00-2 2v11h2V5h10V3zm1 4a2 2 0 012 2v10a2 2 0 01-2 2h-7a2 2 0 01-2-2V9c0-1.2.9-2 2-2h7zm0 12V9h-7v10h7z\" fill-rule=\"nonzero\"/></svg>',\n    'crop': '<svg width=\"24\" height=\"24\"><path d=\"M17 8v7h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v2c0 .6-.4 1-1 1a1 1 0 01-1-1v-2H7V9H5a1 1 0 110-2h2V5c0-.6.4-1 1-1s1 .4 1 1v2h7l3-3 1 1-3 3zM9 9v5l5-5H9zm1 6h5v-5l-5 5z\" fill-rule=\"evenodd\"/></svg>',\n    'cut-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M7.2 4.5c.9 0 1.6.4 2.2 1A3.7 3.7 0 0110.5 8v.5l1 1 4-4 1-.5a3.3 3.3 0 012 0c.4 0 .7.3 1 .5L17 8h4v13h-6V10l-1.5 1.5.5.5v4l-2.5-2.5-1 1v.5c0 .4 0 .8-.3 1.2-.2.5-.4.9-.8 1.2-.6.7-1.3 1-2.2 1-.8.2-1.5 0-2-.6l-.5-.8-.2-1c0-.4 0-.8.3-1.2A3.9 3.9 0 017 12.7c.5-.2 1-.3 1.5-.2l1-1-1-1c-.5 0-1 0-1.5-.2-.5-.1-1-.4-1.4-.9-.4-.3-.6-.7-.8-1.2L4.5 7c0-.4 0-.7.2-1 0-.3.3-.6.5-.8.5-.5 1.2-.8 2-.7zm12.3 5h-3v10h3v-10zM8 13.8h-.3l-.4.2a2.8 2.8 0 00-.7.4v.1a2.8 2.8 0 00-.6.8l-.1.4v.7l.2.5.5.2h.7a2.6 2.6 0 00.8-.3 2.4 2.4 0 00.7-.7 2.5 2.5 0 00.3-.8 1.5 1.5 0 000-.8 1 1 0 00-.2-.4 1 1 0 00-.5-.2H8zm3.5-3.7c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4zM7 5.8h-.4a1 1 0 00-.5.3 1 1 0 00-.2.5v.7a2.5 2.5 0 00.3.8l.2.3h.1l.4.4.4.2.4.1h.7L9 9l.2-.4a1.6 1.6 0 000-.8 2.6 2.6 0 00-.3-.8A2.5 2.5 0 007.7 6l-.4-.1H7z\"/></svg>',\n    'cut-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M22 3v5H9l3 3 2-2h4l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8.7.6 1 1.3 1 2.2.2.8 0 1.5-.6 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 01-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 018.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 010-2c0-.4.3-.7.5-1l2 2V3h14zM8.5 15.3h-.3a2.6 2.6 0 00-.8.4 2.5 2.5 0 00-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 00.8-.3L9 18V18l.4-.4.2-.4.1-.4v-.3-.4a1 1 0 00-.2-.5 1 1 0 00-.4-.2h-.5zm7 0H15a1 1 0 00-.4.3 1 1 0 00-.2.5 1.5 1.5 0 000 .7v.4a2.8 2.8 0 00.5.7h.1a2.8 2.8 0 00.8.6l.4.1h.7l.5-.2.2-.5v-.4-.3a2.6 2.6 0 00-.3-.8 2.4 2.4 0 00-.7-.7 2.5 2.5 0 00-.8-.3h-.3zM12 11.6c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4zm8.5-7.1h-11v2h11v-2z\"/></svg>',\n    'cut': '<svg width=\"24\" height=\"24\"><path d=\"M18 15c.6.7 1 1.4 1 2.3 0 .8-.2 1.5-.7 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 01-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 018.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 010-2c0-.4.3-.7.5-1l6 6 6-6 .5 1a3.3 3.3 0 010 2c0 .4-.3.7-.5 1l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8zm-8.5 2.2l.1-.4v-.3-.4a1 1 0 00-.2-.5 1 1 0 00-.4-.2 1.6 1.6 0 00-.8 0 2.6 2.6 0 00-.8.3 2.5 2.5 0 00-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 00.8-.3 2.8 2.8 0 001-1zm2.5-2.8c.4 0 .7-.1 1-.4.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4s-.7.1-1 .4c-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4zm5.4 4l.2-.5v-.4-.3a2.6 2.6 0 00-.3-.8 2.4 2.4 0 00-.7-.7 2.5 2.5 0 00-.8-.3 1.5 1.5 0 00-.8 0 1 1 0 00-.4.2 1 1 0 00-.2.5 1.5 1.5 0 000 .7v.4l.3.4.3.4a2.8 2.8 0 00.8.5l.4.1h.7l.5-.2z\" fill-rule=\"evenodd\"/></svg>',\n    'document-properties': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 00-2 2v14c0 1.1.9 2 2 2h10a2 2 0 002-2V7.6L14.4 3zM17 19H7V5h6v4h4v10z\" fill-rule=\"nonzero\"/></svg>',\n    'drag': '<svg width=\"24\" height=\"24\"><path d=\"M13 5h2v2h-2V5zm0 4h2v2h-2V9zM9 9h2v2H9V9zm4 4h2v2h-2v-2zm-4 0h2v2H9v-2zm0 4h2v2H9v-2zm4 0h2v2h-2v-2zM9 5h2v2H9V5z\" fill-rule=\"evenodd\"/></svg>',\n    'duplicate-column': '<svg width=\"24\" height=\"24\"><path d=\"M17 6v16h-7V6h7zm-2 2h-3v12h3V8zm-2-6v2H8v15H6V2h7z\"/></svg>',\n    'duplicate-row': '<svg width=\"24\" height=\"24\"><path d=\"M22 11v7H6v-7h16zm-2 2H8v3h12v-3zm-1-6v2H4v5H2V7h17z\"/></svg>',\n    'duplicate': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M16 3v2H6v11H4V5c0-1.1.9-2 2-2h10zm3 8h-2V9h-7v10h9a2 2 0 01-2 2h-7a2 2 0 01-2-2V9c0-1.2.9-2 2-2h7a2 2 0 012 2v2z\"/><path d=\"M17 14h1a1 1 0 010 2h-1v1a1 1 0 01-2 0v-1h-1a1 1 0 010-2h1v-1a1 1 0 012 0v1z\"/></g></svg>',\n    'edit-block': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19.8 8.8l-9.4 9.4c-.2.2-.5.4-.9.4l-5.4 1.2 1.2-5.4.5-.8 9.4-9.4c.7-.7 1.8-.7 2.5 0l2.1 2.1c.7.7.7 1.8 0 2.5zm-2-.2l1-.9v-.3l-2.2-2.2a.3.3 0 00-.3 0l-1 1L18 8.5zm-1 1l-2.5-2.4-6 6 2.5 2.5 6-6zm-7 7.1l-2.6-2.4-.3.3-.1.2-.7 3 3.1-.6h.1l.4-.5z\"/></svg>',\n    'edit-image': '<svg width=\"24\" height=\"24\"><path d=\"M18 16h2V7a2 2 0 00-2-2H7v2h11v9zM6 17h15a1 1 0 010 2h-1v1a1 1 0 01-2 0v-1H6a2 2 0 01-2-2V7H3a1 1 0 110-2h1V4a1 1 0 112 0v13zm3-5.3l1.3 2 3-4.7 3.7 6H7l2-3.3z\" fill-rule=\"nonzero\"/></svg>',\n    'embed-page': '<svg width=\"24\" height=\"24\"><path d=\"M19 6V5H5v14h2A13 13 0 0119 6zm0 1.4c-.8.8-1.6 2.4-2.2 4.6H19V7.4zm0 5.6h-2.4c-.4 1.8-.6 3.8-.6 6h3v-6zm-4 6c0-2.2.2-4.2.6-6H13c-.7 1.8-1.1 3.8-1.1 6h3zm-4 0c0-2.2.4-4.2 1-6H9.6A12 12 0 008 19h3zM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 01-1-1V4c0-.6.4-1 1-1zm11.8 9c.4-1.9 1-3.4 1.8-4.5a9.2 9.2 0 00-4 4.5h2.2zm-3.4 0a12 12 0 012.8-4 12 12 0 00-5 4h2.2z\" fill-rule=\"nonzero\"/></svg>',\n    'embed': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 01-1-1V4c0-.6.4-1 1-1zm1 2v14h14V5H5zm4.8 2.6l5.6 4a.5.5 0 010 .8l-5.6 4A.5.5 0 019 16V8a.5.5 0 01.8-.4z\" fill-rule=\"nonzero\"/></svg>',\n    'emoji': '<svg width=\"24\" height=\"24\"><path d=\"M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 00-1 1c0 .6.4 1 1 1zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 00-1 1c0 .6.4 1 1 1zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5zM12 4a8 8 0 100 16 8 8 0 000-16zm0 14.5a6.5 6.5 0 110-13 6.5 6.5 0 010 13z\" fill-rule=\"nonzero\"/></svg>',\n    'export': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M14.4 3L18 7v1h-5V5H7v14h9a1 1 0 012 0c0 1-.8 2-1.9 2H7c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h7.5z\"/><path d=\"M18.1 12c.5 0 .9.4.9 1 0 .5-.3 1-.8 1h-7.3c-.5 0-.9-.4-.9-1 0-.5.3-1 .8-1h7.3z\"/><path d=\"M16.4 9.2a1 1 0 011.4.2l2.4 3.6-2.4 3.6a1 1 0 01-1.7-1v-.2l1.7-2.4-1.6-2.4a1 1 0 01.2-1.4z\"/></g></svg>',\n    'fill': '<svg width=\"24\" height=\"26\"><path d=\"M16.6 12l-9-9-1.4 1.4 2.4 2.4-5.2 5.1c-.5.6-.5 1.6 0 2.2L9 19.6a1.5 1.5 0 002.2 0l5.5-5.5c.5-.6.5-1.6 0-2.2zM5.2 13L10 8.2l4.8 4.8H5.2zM19 14.5s-2 2.2-2 3.5c0 1.1.9 2 2 2a2 2 0 002-2c0-1.3-2-3.5-2-3.5z\" fill-rule=\"nonzero\"/></svg>',\n    'flip-horizontally': '<svg width=\"24\" height=\"24\"><path d=\"M14 19h2v-2h-2v2zm4-8h2V9h-2v2zM4 7v10c0 1.1.9 2 2 2h3v-2H6V7h3V5H6a2 2 0 00-2 2zm14-2v2h2a2 2 0 00-2-2zm-7 16h2V3h-2v18zm7-6h2v-2h-2v2zm-4-8h2V5h-2v2zm4 12a2 2 0 002-2h-2v2z\" fill-rule=\"nonzero\"/></svg>',\n    'flip-vertically': '<svg width=\"24\" height=\"24\"><path d=\"M5 14v2h2v-2H5zm8 4v2h2v-2h-2zm4-14H7a2 2 0 00-2 2v3h2V6h10v3h2V6a2 2 0 00-2-2zm2 14h-2v2a2 2 0 002-2zM3 11v2h18v-2H3zm6 7v2h2v-2H9zm8-4v2h2v-2h-2zM5 18c0 1.1.9 2 2 2v-2H5z\" fill-rule=\"nonzero\"/></svg>',\n    'format-painter': '<svg width=\"24\" height=\"24\"><path d=\"M18 5V4c0-.5-.4-1-1-1H5a1 1 0 00-1 1v4c0 .6.5 1 1 1h12c.6 0 1-.4 1-1V7h1v4H9v9c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-7h8V5h-3z\" fill-rule=\"nonzero\"/></svg>',\n    'format': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M17 5a1 1 0 010 2h-4v11a1 1 0 01-2 0V7H7a1 1 0 110-2h10z\"/></svg>',\n    'fullscreen': '<svg width=\"24\" height=\"24\"><path d=\"M15.3 10l-1.2-1.3 2.9-3h-2.3a.9.9 0 110-1.7H19c.5 0 .9.4.9.9v4.4a.9.9 0 11-1.8 0V7l-2.9 3zm0 4l3 3v-2.3a.9.9 0 111.7 0V19c0 .5-.4.9-.9.9h-4.4a.9.9 0 110-1.8H17l-3-2.9 1.3-1.2zM10 15.4l-2.9 3h2.3a.9.9 0 110 1.7H5a.9.9 0 01-.9-.9v-4.4a.9.9 0 111.8 0V17l2.9-3 1.2 1.3zM8.7 10L5.7 7v2.3a.9.9 0 01-1.7 0V5c0-.5.4-.9.9-.9h4.4a.9.9 0 010 1.8H7l3 2.9-1.3 1.2z\" fill-rule=\"nonzero\"/></svg>',\n    'gallery': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M5 15.7l2.3-2.2c.3-.3.7-.3 1 0L11 16l5.1-5c.3-.4.8-.4 1 0l2 1.9V8H5v7.7zM5 18V19h3l1.8-1.9-2-2L5 17.9zm14-3l-2.5-2.4-6.4 6.5H19v-4zM4 6h16c.6 0 1 .4 1 1v13c0 .6-.4 1-1 1H4a1 1 0 01-1-1V7c0-.6.4-1 1-1zm6 7a2 2 0 110-4 2 2 0 010 4zM4.5 4h15a.5.5 0 110 1h-15a.5.5 0 010-1zm2-2h11a.5.5 0 110 1h-11a.5.5 0 010-1z\"/></svg>',\n    'gamma': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 01-1-1V4c0-.6.4-1 1-1zm1 2v14h14V5H5zm6.5 11.8V14L9.2 8.7a5.1 5.1 0 00-.4-.8l-.1-.2H8 8v-1l.3-.1.3-.1h.7a1 1 0 01.6.5l.1.3a8.5 8.5 0 01.3.6l1.9 4.6 2-5.2a1 1 0 011-.6.5.5 0 01.5.6L13 14v2.8a.7.7 0 01-1.4 0z\" fill-rule=\"nonzero\"/></svg>',\n    'help': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M12 5.5a6.5 6.5 0 00-6 9 6.3 6.3 0 001.4 2l1 1a6.3 6.3 0 003.6 1 6.5 6.5 0 006-9 6.3 6.3 0 00-1.4-2l-1-1a6.3 6.3 0 00-3.6-1zM12 4a7.8 7.8 0 015.7 2.3A8 8 0 1112 4z\"/><path d=\"M9.6 9.7a.7.7 0 01-.7-.8c0-1.1 1.5-1.8 3.2-1.8 1.8 0 3.2.8 3.2 2.4 0 1.4-.4 2.1-1.5 2.8-.2 0-.3.1-.3.2a2 2 0 00-.8.8.8.8 0 01-1.4-.6c.3-.7.8-1 1.3-1.5l.4-.2c.7-.4.8-.6.8-1.5 0-.5-.6-.9-1.7-.9-.5 0-1 .1-1.4.3-.2 0-.3.1-.3.2v-.2c0 .4-.4.8-.8.8z\" fill-rule=\"nonzero\"/><circle cx=\"12\" cy=\"16\" r=\"1\"/></g></svg>',\n    'highlight-bg-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path id=\"tox-icon-highlight-bg-color__color\" d=\"M3 18h18v3H3z\"/><path fill-rule=\"nonzero\" d=\"M7.7 16.7H3l3.3-3.3-.7-.8L10.2 8l4 4.1-4 4.2c-.2.2-.6.2-.8 0l-.6-.7-1.1 1.1zm5-7.5L11 7.4l3-2.9a2 2 0 012.6 0L18 6c.7.7.7 2 0 2.7l-2.9 2.9-1.8-1.8-.5-.6\"/></g></svg>',\n    'home': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"/></svg>',\n    'horizontal-rule': '<svg width=\"24\" height=\"24\"><path d=\"M4 11h16v2H4z\" fill-rule=\"evenodd\"/></svg>',\n    'image-options': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 00-2 2c0 1.1.9 2 2 2a2 2 0 002-2 2 2 0 00-2-2zm12 0a2 2 0 00-2 2c0 1.1.9 2 2 2a2 2 0 002-2 2 2 0 00-2-2zm-6 0a2 2 0 00-2 2c0 1.1.9 2 2 2a2 2 0 002-2 2 2 0 00-2-2z\" fill-rule=\"nonzero\"/></svg>',\n    'image': '<svg width=\"24\" height=\"24\"><path d=\"M5 15.7l3.3-3.2c.3-.3.7-.3 1 0L12 15l4.1-4c.3-.4.8-.4 1 0l2 1.9V5H5v10.7zM5 18V19h3l2.8-2.9-2-2L5 17.9zm14-3l-2.5-2.4-6.4 6.5H19v-4zM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 01-1-1V4c0-.6.4-1 1-1zm6 8a2 2 0 100-4 2 2 0 000 4z\" fill-rule=\"nonzero\"/></svg>',\n    'indent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 110-2zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 010-2zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 010-2zm-5 4h12a1 1 0 010 2H7a1 1 0 010-2zm-2.6-3.8L6.2 12l-1.8-1.2a1 1 0 011.2-1.6l3 2a1 1 0 010 1.6l-3 2a1 1 0 11-1.2-1.6z\" fill-rule=\"evenodd\"/></svg>',\n    'info': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 015.7 2.3A8 8 0 1112 4zm-1 3v2h2V7h-2zm3 10v-1h-1v-5h-3v1h1v4h-1v1h4z\" fill-rule=\"evenodd\"/></svg>',\n    'insert-character': '<svg width=\"24\" height=\"24\"><path d=\"M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 001.8-2.9 6.3 6.3 0 00-.1-4.1 5.8 5.8 0 00-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 00-3.9 1.8 6.3 6.3 0 00-1.3 6 6.2 6.2 0 001.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 014 11c0-1 .2-1.9.6-2.7A7 7 0 016.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 015.7 2 7 7 0 011.7 2.3 6 6 0 01.2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 01-3.6 2.5v.5z\" fill-rule=\"evenodd\"/></svg>',\n    'insert-time': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M12 19a7 7 0 100-14 7 7 0 000 14zm0 2a9 9 0 110-18 9 9 0 010 18z\"/><path d=\"M16 12h-3V7c0-.6-.4-1-1-1a1 1 0 00-1 1v7h5c.6 0 1-.4 1-1s-.4-1-1-1z\"/></g></svg>',\n    'invert': '<svg width=\"24\" height=\"24\"><path d=\"M18 19.3L16.5 18a5.8 5.8 0 01-3.1 1.9 6.1 6.1 0 01-5.5-1.6A5.8 5.8 0 016 14v-.3l.1-1.2A13.9 13.9 0 017.7 9l-3-3 .7-.8 2.8 2.9 9 8.9 1.5 1.6-.7.6zm0-5.5v.3l-.1 1.1-.4 1-1.2-1.2a4.3 4.3 0 00.2-1v-.2c0-.4 0-.8-.2-1.3l-.5-1.4a14.8 14.8 0 00-3-4.2L12 6a26.1 26.1 0 00-2.2 2.5l-1-1a20.9 20.9 0 012.9-3.3L12 4l1 .8a22.2 22.2 0 014 5.4c.6 1.2 1 2.4 1 3.6z\" fill-rule=\"evenodd\"/></svg>',\n    'italic': '<svg width=\"24\" height=\"24\"><path d=\"M16.7 4.7l-.1.9h-.3c-.6 0-1 0-1.4.3-.3.3-.4.6-.5 1.1l-2.1 9.8v.6c0 .5.4.8 1.4.8h.2l-.2.8H8l.2-.8h.2c1.1 0 1.8-.5 2-1.5l2-9.8.1-.5c0-.6-.4-.8-1.4-.8h-.3l.2-.9h5.8z\" fill-rule=\"evenodd\"/></svg>',\n    'language': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 110 18 9 9 0 010-18zm4.3 13.3c-.5 1-1.2 2-2 2.9a7.5 7.5 0 003.2-2.1l-.2-.2a6 6 0 00-1-.6zm-8.6 0c-.5.2-.9.5-1.2.8.9 1 2 1.7 3.2 2a10 10 0 01-2-2.8zm3.6-.8c-.8 0-1.6.1-2.2.3.5 1 1.2 1.9 2.1 2.7zm1.5 0v3c.9-.8 1.6-1.7 2.1-2.7-.6-.2-1.4-.3-2.1-.3zm-6-2.7H4.5c.2 1 .5 2.1 1 3h.3l1.3-1a10 10 0 01-.3-2zm12.7 0h-2.3c0 .7-.1 1.4-.3 2l1.6 1.1c.5-1 .9-2 1-3.1zm-3.8 0h-3V14c1 0 2 .1 2.7.4.2-.5.3-1 .3-1.6zm-4.4 0h-3l.3 1.6c.8-.3 1.7-.4 2.7-.4v-1.3zm-5.5-5c-.7 1-1.1 2.2-1.3 3.5h2.3c0-1 .2-1.8.5-2.6l-1.5-1zm2.9 1.4v.1c-.2.6-.4 1.3-.4 2h3V9.4c-1 0-1.8-.1-2.6-.3zm6.6 0h-.1l-2.4.3v1.8h3l-.5-2.1zm3-1.4l-.3.1-1.3.8c.3.8.5 1.6.5 2.6h2.3a7.5 7.5 0 00-1.3-3.5zm-9 0l2 .2V5.5a9 9 0 00-2 2.2zm3.5-2.3V8c.6 0 1.3 0 1.9-.2a9 9 0 00-2-2.3zm-3-.7h-.1c-1.1.4-2.1 1-3 1.8l1.2.7a10 10 0 011.9-2.5zm4.4 0l.1.1a10 10 0 011.8 2.4l1.1-.7a7.5 7.5 0 00-3-1.8z\"/></svg>',\n    'line-height': '<svg width=\"24\" height=\"24\"><path d=\"M21 5a1 1 0 01.1 2H13a1 1 0 01-.1-2H21zm0 4a1 1 0 01.1 2H13a1 1 0 01-.1-2H21zm0 4a1 1 0 01.1 2H13a1 1 0 01-.1-2H21zm0 4a1 1 0 01.1 2H13a1 1 0 01-.1-2H21zM7 3.6l3.7 3.7a1 1 0 01-1.3 1.5h-.1L8 7.3v9.2l1.3-1.3a1 1 0 011.3 0h.1c.4.4.4 1 0 1.3v.1L7 20.4l-3.7-3.7a1 1 0 011.3-1.5h.1L6 16.7V7.4L4.7 8.7a1 1 0 01-1.3 0h-.1a1 1 0 010-1.3v-.1L7 3.6z\"/></svg>',\n    'line': '<svg width=\"24\" height=\"24\"><path d=\"M15 9l-8 8H4v-3l8-8 3 3zm1-1l-3-3 1-1h1c-.2 0 0 0 0 0l2 2s0 .2 0 0v1l-1 1zM4 18h16v2H4v-2z\" fill-rule=\"evenodd\"/></svg>',\n    'link': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 011.4 1.4l-2.1 2a2 2 0 102.7 2.8l4.8-4.8a1 1 0 000-1.4 1 1 0 111.4-1.3 2.9 2.9 0 010 4L9.6 20a3.9 3.9 0 01-5.5-5.5l2-2zm11.6-.6a1 1 0 01-1.4-1.4l2-2a2 2 0 10-2.6-2.8L11 10.3a1 1 0 000 1.4A1 1 0 119.6 13a2.9 2.9 0 010-4L14.4 4a3.9 3.9 0 015.5 5.5l-2 2z\" fill-rule=\"nonzero\"/></svg>',\n    'list-bull-circle': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M11 16a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 110-6 3 3 0 010 6zM11 26a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 110-6 3 3 0 010 6zM11 36a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 110-6 3 3 0 010 6z\" fill-rule=\"nonzero\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/></g></svg>',\n    'list-bull-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><circle cx=\"11\" cy=\"14\" r=\"3\"/><circle cx=\"11\" cy=\"24\" r=\"3\"/><circle cx=\"11\" cy=\"34\" r=\"3\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/></g></svg>',\n    'list-bull-square': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M8 11h6v6H8zM8 21h6v6H8zM8 31h6v6H8z\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/></g></svg>',\n    'list-num-default-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 17v-4.8l-1.6 1v-1.1l1.6-1h1.2V17zM33.3 17.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm1.7 5.7c0-1.2 1-2 2.2-2 1.3 0 2.1.8 2.1 1.8 0 .7-.3 1.2-1.3 2.2l-1.2 1v.2h2.6v1h-4.3v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H35zm-1.7 4.3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm3.2 7.3v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H35c0-1.1 1-1.8 2.2-1.8 1.2 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.7.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .6 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7zm-3.3 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7z\"/></g></svg>',\n    'list-num-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10 17v-4.8l-1.5 1v-1.1l1.6-1h1.2V17h-1.2zm3.6.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7zm-5 5.7c0-1.2.8-2 2.1-2s2.1.8 2.1 1.8c0 .7-.3 1.2-1.4 2.2l-1.1 1v.2h2.6v1H8.6v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H8.5zm6.3 4.3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zM10 34.4v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H8.6c0-1.1 1-1.8 2.2-1.8 1.3 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.8.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .7 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7zm4.7 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7z\"/></g></svg>',\n    'list-num-lower-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M36.5 16c-.9 0-1.5-.5-1.5-1.3s.6-1.3 1.8-1.4h1v-.4c0-.4-.2-.6-.7-.6-.4 0-.7.1-.8.4h-1.1c0-.8.8-1.4 2-1.4S39 12 39 13V16h-1.2v-.6c-.3.4-.8.7-1.4.7zm.4-.8c.6 0 1-.4 1-.9V14h-1c-.5.1-.7.3-.7.6 0 .4.3.6.7.6zM33.1 16.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7zM37.7 26c-.7 0-1.2-.2-1.5-.7v.7H35v-6.3h1.2v2.5c.3-.5.8-.9 1.5-.9 1.1 0 1.8 1 1.8 2.4 0 1.5-.7 2.4-1.8 2.4zm-.5-3.6c-.6 0-1 .5-1 1.3s.4 1.4 1 1.4c.7 0 1-.6 1-1.4 0-.8-.3-1.3-1-1.3zM33.2 26.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7zm6 7h-1c-.1-.5-.4-.8-1-.8s-1 .5-1 1.4c0 1 .4 1.4 1 1.4.5 0 .9-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7zm-6.1 3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-lower-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.3 15.2c.5 0 1-.4 1-.9V14h-1c-.5.1-.8.3-.8.6 0 .4.3.6.8.6zm-.4.9c-1 0-1.5-.6-1.5-1.4 0-.8.6-1.3 1.7-1.4h1.1v-.4c0-.4-.2-.6-.7-.6-.5 0-.8.1-.9.4h-1c0-.8.8-1.4 2-1.4 1.1 0 1.8.6 1.8 1.6V16h-1.1v-.6h-.1c-.2.4-.7.7-1.3.7zm4.6 0c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm-3.2 10c-.6 0-1.2-.3-1.4-.8v.7H8.5v-6.3H10v2.5c.3-.5.8-.9 1.4-.9 1.2 0 1.9 1 1.9 2.4 0 1.5-.7 2.4-1.9 2.4zm-.4-3.7c-.7 0-1 .5-1 1.3s.3 1.4 1 1.4c.6 0 1-.6 1-1.4 0-.8-.4-1.3-1-1.3zm4 3.7c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm-2.2 7h-1.2c0-.5-.4-.8-.9-.8-.6 0-1 .5-1 1.4 0 1 .4 1.4 1 1.4.5 0 .8-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7zm1.8 3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-lower-greek-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 16c-1.2 0-2-.8-2-2.3 0-1.5.8-2.4 2-2.4.6 0 1 .4 1.3 1v-.9H40v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1-.7h-.2c-.2.4-.7.8-1.3.8zm.3-1c.6 0 1-.5 1-1.3s-.4-1.3-1-1.3-1 .5-1 1.3.4 1.4 1 1.4zM33.3 16.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zM36 21.9c0-1.5.8-2.3 2.1-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.9 1.3.9.3 1.3.8 1.3 1.7 0 1.2-.7 1.9-1.8 1.9-.6 0-1.1-.3-1.4-.8v2.2H36V22zm1.8 1.2v-1h.3c.5 0 .9-.2.9-.7 0-.5-.3-.8-.9-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1 1.3s1-.4 1-1-.4-1-1.2-1h-.3zM33.3 26.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zM37.1 34.6L34.8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.2.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2zm.7 1a2 2 0 00-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1zM33.3 36.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-lower-greek': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.5 15c.7 0 1-.5 1-1.3s-.3-1.3-1-1.3c-.5 0-.9.5-.9 1.3s.4 1.4 1 1.4zm-.3 1c-1.1 0-1.8-.8-1.8-2.3 0-1.5.7-2.4 1.8-2.4.7 0 1.1.4 1.3 1h.1v-.9h1.2v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1.1-.7h-.1c-.2.4-.7.8-1.4.8zm5 .1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7zm-4.9 7v-1h.3c.6 0 1-.2 1-.7 0-.5-.4-.8-1-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1.1 1.3.6 0 1-.4 1-1s-.5-1-1.3-1h-.3zM8.6 22c0-1.5.7-2.3 2-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.8 1.3.8.3 1.3.8 1.3 1.7 0 1.2-.8 1.9-1.9 1.9-.6 0-1.1-.3-1.3-.8v2.2H8.5V22zm6.2 4.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7zm-4.5 8.5L8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.1.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2zm.7 1a2 2 0 00-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1zm4.5.5c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-lower-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M32.9 16v-1.2h-1.3V16H33zm0 10v-1.2h-1.3V26H33zm0 10v-1.2h-1.3V36H33z\"/><path fill-rule=\"nonzero\" d=\"M36 21h-1.5v5H36zM36 31h-1.5v5H36zM39 21h-1.5v5H39zM39 31h-1.5v5H39zM42 31h-1.5v5H42zM36 11h-1.5v5H36zM36 19h-1.5v1H36zM36 29h-1.5v1H36zM39 19h-1.5v1H39zM39 29h-1.5v1H39zM42 29h-1.5v1H42zM36 9h-1.5v1H36z\"/></g></svg>',\n    'list-num-lower-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 16v-1.2h1.3V16H15zm0 10v-1.2h1.3V26H15zm0 10v-1.2h1.3V36H15z\"/><path fill-rule=\"nonzero\" d=\"M12 21h1.5v5H12zM12 31h1.5v5H12zM9 21h1.5v5H9zM9 31h1.5v5H9zM6 31h1.5v5H6zM12 11h1.5v5H12zM12 19h1.5v1H12zM12 29h1.5v1H12zM9 19h1.5v1H9zM9 29h1.5v1H9zM6 29h1.5v1H6zM12 9h1.5v1H12z\"/></g></svg>',\n    'list-num-upper-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M39.3 17l-.5-1.4h-2l-.5 1.4H35l2-6h1.6l2 6h-1.3zm-1.6-4.7l-.7 2.3h1.6l-.8-2.3zM33.4 17c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7zm4.7 9.9h-2.7v-6H38c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7zm-1.4-5v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1zm0 4h1.1c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9h-1.1V26zM33 27.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm4.9 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2zm-4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-upper-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M12.6 17l-.5-1.4h-2L9.5 17H8.3l2-6H12l2 6h-1.3zM11 12.3l-.7 2.3h1.6l-.8-2.3zm4.7 4.8c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7zM11.4 27H8.7v-6h2.6c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7zM10 22v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1zm0 4H11c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9H10V26zm5.4 1.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm-4.1 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2zm4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-upper-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M31.6 17v-1.2H33V17h-1.3zm0 10v-1.2H33V27h-1.3zm0 10v-1.2H33V37h-1.3z\"/><path fill-rule=\"nonzero\" d=\"M34.5 20H36v7h-1.5zM34.5 30H36v7h-1.5zM37.5 20H39v7h-1.5zM37.5 30H39v7h-1.5zM40.5 30H42v7h-1.5zM34.5 10H36v7h-1.5z\"/></g></svg>',\n    'list-num-upper-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 17v-1.2h1.3V17H15zm0 10v-1.2h1.3V27H15zm0 10v-1.2h1.3V37H15z\"/><path fill-rule=\"nonzero\" d=\"M12 20h1.5v7H12zM12 30h1.5v7H12zM9 20h1.5v7H9zM9 30h1.5v7H9zM6 30h1.5v7H6zM12 10h1.5v7H12z\"/></g></svg>',\n    'lock': '<svg width=\"24\" height=\"24\"><path d=\"M16.3 11c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 01-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H8V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h.3zM10 8v3h4V8a1 1 0 00-.3-.7A1 1 0 0013 7h-2a1 1 0 00-.7.3 1 1 0 00-.3.7z\" fill-rule=\"evenodd\"/></svg>',\n    'ltr': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h7a1 1 0 010 2h-1v11a1 1 0 01-2 0V7h-2v11a1 1 0 01-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 017.8 10a3.3 3.3 0 010-2.8 3.4 3.4 0 011.8-1.8L11 5zM4.4 16.2L6.2 15l-1.8-1.2a1 1 0 011.2-1.6l3 2a1 1 0 010 1.6l-3 2a1 1 0 11-1.2-1.6z\" fill-rule=\"evenodd\"/></svg>',\n    'more-drawer': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 00-2 2c0 1.1.9 2 2 2a2 2 0 002-2 2 2 0 00-2-2zm12 0a2 2 0 00-2 2c0 1.1.9 2 2 2a2 2 0 002-2 2 2 0 00-2-2zm-6 0a2 2 0 00-2 2c0 1.1.9 2 2 2a2 2 0 002-2 2 2 0 00-2-2z\" fill-rule=\"nonzero\"/></svg>',\n    'new-document': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 00-2 2v14c0 1.1.9 2 2 2h10a2 2 0 002-2V7.6L14.4 3zM17 19H7V5h6v4h4v10z\" fill-rule=\"nonzero\"/></svg>',\n    'new-tab': '<svg width=\"24\" height=\"24\"><path d=\"M15 13l2-2v8H5V7h8l-2 2H7v8h8v-4zm4-8v5.5l-2-2-5.6 5.5H10v-1.4L15.5 7l-2-2H19z\" fill-rule=\"evenodd\"/></svg>',\n    'non-breaking': '<svg width=\"24\" height=\"24\"><path d=\"M11 11H8a1 1 0 110-2h3V6c0-.6.4-1 1-1s1 .4 1 1v3h3c.6 0 1 .4 1 1s-.4 1-1 1h-3v3c0 .6-.4 1-1 1a1 1 0 01-1-1v-3zm10 4v5H3v-5c0-.6.4-1 1-1s1 .4 1 1v3h14v-3c0-.6.4-1 1-1s1 .4 1 1z\" fill-rule=\"evenodd\"/></svg>',\n    'notice': '<svg width=\"24\" height=\"24\"><path d=\"M17.8 9.8L15.4 4 20 8.5v7L15.5 20h-7L4 15.5v-7L8.5 4h7l2.3 5.8zm0 0l2.2 5.7-2.3-5.8zM13 17v-2h-2v2h2zm0-4V7h-2v6h2z\" fill-rule=\"evenodd\"/></svg>',\n    'ordered-list-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 17h8a1 1 0 010 2H6a1 1 0 010-2zm0-6h8a1 1 0 010 2H6a1 1 0 010-2zm0-6h8a1 1 0 010 2H6a1 1 0 110-2zm13-1v3.5a.5.5 0 11-1 0V5h-.5a.5.5 0 110-1H19zm-1 8.8l.2.2h1.3a.5.5 0 110 1h-1.6a1 1 0 01-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 00-.2-.2h-1.3a.5.5 0 01-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3zm2 4.2v2c0 .6-.4 1-1 1h-1.5a.5.5 0 010-1h1.2a.3.3 0 100-.6h-1.3a.4.4 0 110-.8h1.3a.3.3 0 000-.6h-1.2a.5.5 0 110-1H19c.6 0 1 .4 1 1z\" fill-rule=\"evenodd\"/></svg>',\n    'ordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M10 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 110-2zM6 4v3.5c0 .3-.2.5-.5.5a.5.5 0 01-.5-.5V5h-.5a.5.5 0 010-1H6zm-1 8.8l.2.2h1.3c.3 0 .5.2.5.5s-.2.5-.5.5H4.9a1 1 0 01-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 00-.2-.2H4.5a.5.5 0 01-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3zM7 17v2c0 .6-.4 1-1 1H4.5a.5.5 0 010-1h1.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.4a.4.4 0 110-.8h1.3c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.5a.5.5 0 110-1H6c.6 0 1 .4 1 1z\" fill-rule=\"evenodd\"/></svg>',\n    'orientation': '<svg width=\"24\" height=\"24\"><path d=\"M7.3 6.4L1 13l6.4 6.5 6.5-6.5-6.5-6.5zM3.7 13l3.6-3.7L11 13l-3.7 3.7-3.6-3.7zM12 6l2.8 2.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0L9.2 5.7a.8.8 0 010-1.2L13.6.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L12 4h1a9 9 0 11-4.3 16.9l1.5-1.5A7 7 0 1013 6h-1z\" fill-rule=\"nonzero\"/></svg>',\n    'outdent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 110-2zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 010-2zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 010-2zm-5 4h12a1 1 0 010 2H7a1 1 0 010-2zm1.6-3.8a1 1 0 01-1.2 1.6l-3-2a1 1 0 010-1.6l3-2a1 1 0 011.2 1.6L6.8 12l1.8 1.2z\" fill-rule=\"evenodd\"/></svg>',\n    'page-break': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M5 11c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 010-2zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 010-2zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 010-2zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1h-1a1 1 0 010-2zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 010-2zM7 3v5h10V3c0-.6.4-1 1-1s1 .4 1 1v7H5V3c0-.6.4-1 1-1s1 .4 1 1zM6 22a1 1 0 01-1-1v-7h14v7c0 .6-.4 1-1 1a1 1 0 01-1-1v-5H7v5c0 .6-.4 1-1 1z\"/></g></svg>',\n    'paragraph': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M10 5h7a1 1 0 010 2h-1v11a1 1 0 01-2 0V7h-2v11a1 1 0 01-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 016.8 10a3.3 3.3 0 010-2.8 3.4 3.4 0 011.8-1.8L10 5z\"/></svg>',\n    'paste-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 012.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 01-1-1V5H6v13h7v2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0112 1zm8 7v12h-6V8h6zm-1.5 1.5h-3v9h3v-9zM12 3a1 1 0 100 2 1 1 0 000-2z\"/></svg>',\n    'paste-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 012.8 2H18c1 0 2 .8 2 1.9V18c0 1-.8 2-1.9 2H11v-2h7V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 01-1-1V5H6v2H4V5c0-1 .8-2 1.9-2H9.2A3 3 0 0112 1zm-2 7v12H4V8h6zM8.5 9.5h-3v9h3v-9zM12 3a1 1 0 100 2 1 1 0 000-2z\"/></svg>',\n    'paste-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 012.8 2H18c1 0 2 .8 2 1.9V11h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 01-1-1V5H6v13h14c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0112 1zm10 11v5H8v-5h14zm-1.5 1.5h-11v2h11v-2zM12 3a1 1 0 100 2 1 1 0 000-2z\"/></svg>',\n    'paste-row-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 012.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 01-1-1V5H6v13h12v-4h2v4c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0112 1zm10 7v5H8V8h14zm-1.5 1.5h-11v2h11v-2zM12 3a1 1 0 100 2 1 1 0 000-2z\"/></svg>',\n    'paste-text': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 01-1-1V5H6v13h3V9h9zM9 20H6a2 2 0 01-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0112 1a3 3 0 012.8 2H18a2 2 0 012 2v4h1v12H9v-1zm1.5-9.5v9h9v-9h-9zM12 3a1 1 0 00-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1zm0 9h6v2h-.5l-.5-1h-1v4h.8v1h-3.6v-1h.8v-4h-1l-.5 1H12v-2z\" fill-rule=\"nonzero\"/></svg>',\n    'paste': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 01-1-1V5H6v13h3V9h9zM9 20H6a2 2 0 01-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0112 1a3 3 0 012.8 2H18a2 2 0 012 2v4h1v12H9v-1zm1.5-9.5v9h9v-9h-9zM12 3a1 1 0 00-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1z\" fill-rule=\"nonzero\"/></svg>',\n    'permanent-pen': '<svg width=\"24\" height=\"24\"><path d=\"M10.5 17.5L8 20H3v-3l3.5-3.5a2 2 0 010-3L14 3l1 1-7.3 7.3a1 1 0 000 1.4l3.6 3.6c.4.4 1 .4 1.4 0L20 9l1 1-7.6 7.6a2 2 0 01-2.8 0l-.1-.1z\" fill-rule=\"nonzero\"/></svg>',\n    'plus': '<svg width=\"24\" height=\"24\"><path d=\"M12 4c.5 0 1 .4 1 .9V11h6a1 1 0 01.1 2H13v6a1 1 0 01-2 .1V13H5a1 1 0 01-.1-2H11V5c0-.6.4-1 1-1z\"/></svg>',\n    'preferences': '<svg width=\"24\" height=\"24\"><path d=\"M20.1 13.5l-1.9.2a5.8 5.8 0 01-.6 1.5l1.2 1.5c.4.4.3 1 0 1.4l-.7.7a1 1 0 01-1.4 0l-1.5-1.2a6.2 6.2 0 01-1.5.6l-.2 1.9c0 .5-.5.9-1 .9h-1a1 1 0 01-1-.9l-.2-1.9a5.8 5.8 0 01-1.5-.6l-1.5 1.2a1 1 0 01-1.4 0l-.7-.7a1 1 0 010-1.4l1.2-1.5a6.2 6.2 0 01-.6-1.5l-1.9-.2a1 1 0 01-.9-1v-1c0-.5.4-1 .9-1l1.9-.2a5.8 5.8 0 01.6-1.5L5.2 7.3a1 1 0 010-1.4l.7-.7a1 1 0 011.4 0l1.5 1.2a6.2 6.2 0 011.5-.6l.2-1.9c0-.5.5-.9 1-.9h1c.5 0 1 .4 1 .9l.2 1.9a5.8 5.8 0 011.5.6l1.5-1.2a1 1 0 011.4 0l.7.7c.3.4.4 1 0 1.4l-1.2 1.5a6.2 6.2 0 01.6 1.5l1.9.2c.5 0 .9.5.9 1v1c0 .5-.4 1-.9 1zM12 15a3 3 0 100-6 3 3 0 000 6z\" fill-rule=\"evenodd\"/></svg>',\n    'preview': '<svg width=\"24\" height=\"24\"><path d=\"M3.5 12.5c.5.8 1.1 1.6 1.8 2.3 2 2 4.2 3.2 6.7 3.2s4.7-1.2 6.7-3.2a16.2 16.2 0 002.1-2.8 15.7 15.7 0 00-2.1-2.8c-2-2-4.2-3.2-6.7-3.2a9.3 9.3 0 00-6.7 3.2A16.2 16.2 0 003.2 12c0 .2.2.3.3.5zm-2.4-1l.7-1.2L4 7.8C6.2 5.4 8.9 4 12 4c3 0 5.8 1.4 8.1 3.8a18.2 18.2 0 012.8 3.7v1l-.7 1.2-2.1 2.5c-2.3 2.4-5 3.8-8.1 3.8-3 0-5.8-1.4-8.1-3.8a18.2 18.2 0 01-2.8-3.7 1 1 0 010-1zm12-3.3a2 2 0 102.7 2.6 4 4 0 11-2.6-2.6z\" fill-rule=\"nonzero\"/></svg>',\n    'print': '<svg width=\"24\" height=\"24\"><path d=\"M18 8H6a3 3 0 00-3 3v6h2v3h14v-3h2v-6a3 3 0 00-3-3zm-1 10H7v-4h10v4zm.5-5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm.5-8H6v2h12V5z\" fill-rule=\"nonzero\"/></svg>',\n    'quote': '<svg width=\"24\" height=\"24\"><path d=\"M7.5 17h.9c.4 0 .7-.2.9-.6L11 13V8c0-.6-.4-1-1-1H6a1 1 0 00-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 00.8 1.3zm8 0h.9c.4 0 .7-.2.9-.6L19 13V8c0-.6-.4-1-1-1h-4a1 1 0 00-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 00.8 1.3z\" fill-rule=\"nonzero\"/></svg>',\n    'redo': '<svg width=\"24\" height=\"24\"><path d=\"M17.6 10H12c-2.8 0-4.4 1.4-4.9 3.5-.4 2 .3 4 1.4 4.6a1 1 0 11-1 1.8c-2-1.2-2.9-4.1-2.3-6.8.6-3 3-5.1 6.8-5.1h5.6l-3.3-3.3a1 1 0 111.4-1.4l5 5a1 1 0 010 1.4l-5 5a1 1 0 01-1.4-1.4l3.3-3.3z\" fill-rule=\"nonzero\"/></svg>',\n    'reload': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M5 22.1l-1.2-4.7v-.2a1 1 0 011-1l5 .4a1 1 0 11-.2 2l-2.2-.2a7.8 7.8 0 008.4.2 7.5 7.5 0 003.5-6.4 1 1 0 112 0 9.5 9.5 0 01-4.5 8 9.9 9.9 0 01-10.2 0l.4 1.4a1 1 0 11-2 .5zM13.6 7.4c0-.5.5-1 1-.9l2.8.2a8 8 0 00-9.5-1 7.5 7.5 0 00-3.6 7 1 1 0 01-2 0 9.5 9.5 0 014.5-8.6 10 10 0 0110.9.3l-.3-1a1 1 0 012-.5l1.1 4.8a1 1 0 01-1 1.2l-5-.4a1 1 0 01-.9-1z\"/></g></svg>',\n    'remove-formatting': '<svg width=\"24\" height=\"24\"><path d=\"M13.2 6a1 1 0 010 .2l-2.6 10a1 1 0 01-1 .8h-.2a.8.8 0 01-.8-1l2.6-10H8a1 1 0 110-2h9a1 1 0 010 2h-3.8zM5 18h7a1 1 0 010 2H5a1 1 0 010-2zm13 1.5L16.5 18 15 19.5a.7.7 0 01-1-1l1.5-1.5-1.5-1.5a.7.7 0 011-1l1.5 1.5 1.5-1.5a.7.7 0 011 1L17.5 17l1.5 1.5a.7.7 0 01-1 1z\" fill-rule=\"evenodd\"/></svg>',\n    'remove': '<svg width=\"24\" height=\"24\"><path d=\"M16 7h3a1 1 0 010 2h-1v9a3 3 0 01-3 3H9a3 3 0 01-3-3V9H5a1 1 0 110-2h3V6a3 3 0 013-3h2a3 3 0 013 3v1zm-2 0V6c0-.6-.4-1-1-1h-2a1 1 0 00-1 1v1h4zm2 2H8v9c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V9zm-7 3a1 1 0 012 0v4a1 1 0 01-2 0v-4zm4 0a1 1 0 012 0v4a1 1 0 01-2 0v-4z\" fill-rule=\"nonzero\"/></svg>',\n    'resize-handle': '<svg width=\"10\" height=\"10\"><g fill-rule=\"nonzero\"><path d=\"M8.1 1.1A.5.5 0 119 2l-7 7A.5.5 0 111 8l7-7zM8.1 5.1A.5.5 0 119 6l-3 3A.5.5 0 115 8l3-3z\"/></g></svg>',\n    'resize': '<svg width=\"24\" height=\"24\"><path d=\"M4 5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h6c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 01-.7.3H7.4L18 16.6V13c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v6c0 .3-.1.5-.3.7a1 1 0 01-.7.3h-6a1 1 0 01-.7-.3 1 1 0 01-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3.6L6 7.4V11c0 .3-.1.5-.3.7a1 1 0 01-.7.3 1 1 0 01-.7-.3A1 1 0 014 11V5z\" fill-rule=\"evenodd\"/></svg>',\n    'restore-draft': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M17 13c0 .6-.4 1-1 1h-4V8c0-.6.4-1 1-1s1 .4 1 1v4h2c.6 0 1 .4 1 1z\"/><path d=\"M4.7 10H9a1 1 0 010 2H3a1 1 0 01-1-1V5a1 1 0 112 0v3l2.5-2.4a9.2 9.2 0 0110.8-1.5A9 9 0 0113.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 111.3-1.5 7.2 7.2 0 0011.6-3.7 7 7 0 00-3.5-7.7A7.2 7.2 0 008 7L4.7 10z\" fill-rule=\"nonzero\"/></g></svg>',\n    'rotate-left': '<svg width=\"24\" height=\"24\"><path d=\"M4.7 10H9a1 1 0 010 2H3a1 1 0 01-1-1V5a1 1 0 112 0v3l2.5-2.4a9.2 9.2 0 0110.8-1.5A9 9 0 0113.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 111.3-1.5 7.2 7.2 0 0011.6-3.7 7 7 0 00-3.5-7.7A7.2 7.2 0 008 7L4.7 10z\" fill-rule=\"nonzero\"/></svg>',\n    'rotate-right': '<svg width=\"24\" height=\"24\"><path d=\"M20 8V5a1 1 0 012 0v6c0 .6-.4 1-1 1h-6a1 1 0 010-2h4.3L16 7A7.2 7.2 0 007.7 6a7 7 0 003 13.1c1.9.1 3.7-.5 5-1.7a1 1 0 011.4 1.5A9.2 9.2 0 012.2 14c-.9-3.9 1-8 4.5-9.9 3.5-1.9 8-1.3 10.8 1.5L20 8z\" fill-rule=\"nonzero\"/></svg>',\n    'rtl': '<svg width=\"24\" height=\"24\"><path d=\"M8 5h8v2h-2v12h-2V7h-2v12H8v-7c-.5 0-1 0-1.4-.3A3.4 3.4 0 014.8 10a3.3 3.3 0 010-2.8 3.4 3.4 0 011.8-1.8L8 5zm12 11.2a1 1 0 11-1 1.6l-3-2a1 1 0 010-1.6l3-2a1 1 0 111 1.6L18.4 15l1.8 1.2z\" fill-rule=\"evenodd\"/></svg>',\n    'save': '<svg width=\"24\" height=\"24\"><path d=\"M5 16h14a2 2 0 012 2v2a2 2 0 01-2 2H5a2 2 0 01-2-2v-2c0-1.1.9-2 2-2zm0 2v2h14v-2H5zm10 0h2v2h-2v-2zm-4-6.4L8.7 9.3a1 1 0 10-1.4 1.4l4 4c.4.4 1 .4 1.4 0l4-4a1 1 0 10-1.4-1.4L13 11.6V4a1 1 0 00-2 0v7.6z\" fill-rule=\"nonzero\"/></svg>',\n    'search': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 111.4-1.4l4.3 4.4a1 1 0 01-1.4 1.4l-4.4-4.3zm-5-.3a6 6 0 100-12 6 6 0 000 12z\" fill-rule=\"nonzero\"/></svg>',\n    'select-all': '<svg width=\"24\" height=\"24\"><path d=\"M3 5h2V3a2 2 0 00-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2a2 2 0 00-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8a2 2 0 002-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z\" fill-rule=\"nonzero\"/></svg>',\n    'selected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6c0-1.1.9-2 2-2zm3.6 10.9L7 12.3a.7.7 0 00-1 1L9.6 17 18 8.6a.7.7 0 000-1 .7.7 0 00-1 0l-7.4 7.3z\"/></svg>',\n    'settings': '<svg width=\"24\" height=\"24\"><path d=\"M11 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 01-.2-.6V8H5a1 1 0 110-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.5V6zM8 8h2V6H8v2zm9 2.8v.2h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v.3c0 .2 0 .3-.2.5l-.6.2h-2.4c-.3 0-.4 0-.6-.2a.7.7 0 01-.2-.6V13H5a1 1 0 010-2h8v-.3c0-.2 0-.3.2-.5l.6-.2h2.4c.3 0 .4 0 .6.2l.2.6zM14 13h2v-2h-2v2zm-3 2.8v.2h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 01-.2-.6V18H5a1 1 0 010-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.6zM8 18h2v-2H8v2z\" fill-rule=\"evenodd\"/></svg>',\n    'sharpen': '<svg width=\"24\" height=\"24\"><path d=\"M16 6l4 4-8 9-8-9 4-4h8zm-4 10.2l5.5-6.2-.1-.1H12v-.3h5.1l-.2-.2H12V9h4.6l-.2-.2H12v-.3h4.1l-.2-.2H12V8h3.6l-.2-.2H8.7L6.5 10l.1.1H12v.3H6.9l.2.2H12v.3H7.3l.2.2H12v.3H7.7l.3.2h4v.3H8.2l.2.2H12v.3H8.6l.3.2H12v.3H9l.3.2H12v.3H9.5l.2.2H12v.3h-2l.2.2H12v.3h-1.6l.2.2H12v.3h-1.1l.2.2h.9v.3h-.7l.2.2h.5v.3h-.3l.3.2z\" fill-rule=\"evenodd\"/></svg>',\n    'sourcecode': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M9.8 15.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0l-4.4-4.1a.8.8 0 010-1.2l4.4-4.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L6 12l3.8 3.7zM14.2 15.7c-.3.3-.3.8 0 1 .4.4.9.4 1.2 0l4.4-4.1c.3-.3.3-.9 0-1.2l-4.4-4.2a.8.8 0 00-1.2 0c-.3.3-.3.8 0 1.1L18 12l-3.8 3.7z\"/></g></svg>',\n    'spell-check': '<svg width=\"24\" height=\"24\"><path d=\"M6 8v3H5V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h2c.3 0 .5.1.7.3.2.2.3.4.3.7v6H8V8H6zm0-3v2h2V5H6zm13 0h-3v5h3v1h-3a1 1 0 01-.7-.3 1 1 0 01-.3-.7V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3v1zm-5 1.5l-.1.7c-.1.2-.3.3-.6.3.3 0 .5.1.6.3l.1.7V10c0 .3-.1.5-.3.7a1 1 0 01-.7.3h-3V4h3c.3 0 .5.1.7.3.2.2.3.4.3.7v1.5zM13 10V8h-2v2h2zm0-3V5h-2v2h2zm3 5l1 1-6.5 7L7 15.5l1.3-1 2.2 2.2L16 12z\" fill-rule=\"evenodd\"/></svg>',\n    'strike-through': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M15.6 8.5c-.5-.7-1-1.1-1.3-1.3-.6-.4-1.3-.6-2-.6-2.7 0-2.8 1.7-2.8 2.1 0 1.6 1.8 2 3.2 2.3 4.4.9 4.6 2.8 4.6 3.9 0 1.4-.7 4.1-5 4.1A6.2 6.2 0 017 16.4l1.5-1.1c.4.6 1.6 2 3.7 2 1.6 0 2.5-.4 3-1.2.4-.8.3-2-.8-2.6-.7-.4-1.6-.7-2.9-1-1-.2-3.9-.8-3.9-3.6C7.6 6 10.3 5 12.4 5c2.9 0 4.2 1.6 4.7 2.4l-1.5 1.1z\"/><path d=\"M5 11h14a1 1 0 010 2H5a1 1 0 010-2z\" fill-rule=\"nonzero\"/></g></svg>',\n    'subscript': '<svg width=\"24\" height=\"24\"><path d=\"M10.4 10l4.6 4.6-1.4 1.4L9 11.4 4.4 16 3 14.6 7.6 10 3 5.4 4.4 4 9 8.6 13.6 4 15 5.4 10.4 10zM21 19h-5v-1l1-.8 1.7-1.6c.3-.4.5-.8.5-1.2 0-.3 0-.6-.2-.7-.2-.2-.5-.3-.9-.3a2 2 0 00-.8.2l-.7.3-.4-1.1 1-.6 1.2-.2c.8 0 1.4.3 1.8.7.4.4.6.9.6 1.5s-.2 1.1-.5 1.6a8 8 0 01-1.3 1.3l-.6.6h2.6V19z\" fill-rule=\"nonzero\"/></svg>',\n    'superscript': '<svg width=\"24\" height=\"24\"><path d=\"M15 9.4L10.4 14l4.6 4.6-1.4 1.4L9 15.4 4.4 20 3 18.6 7.6 14 3 9.4 4.4 8 9 12.6 13.6 8 15 9.4zm5.9 1.6h-5v-1l1-.8 1.7-1.6c.3-.5.5-.9.5-1.3 0-.3 0-.5-.2-.7-.2-.2-.5-.3-.9-.3l-.8.2-.7.4-.4-1.2c.2-.2.5-.4 1-.5.3-.2.8-.2 1.2-.2.8 0 1.4.2 1.8.6.4.4.6 1 .6 1.6 0 .5-.2 1-.5 1.5l-1.3 1.4-.6.5h2.6V11z\" fill-rule=\"nonzero\"/></svg>',\n    'table-caption': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"12\" height=\"2\" x=\"3\" y=\"4\" rx=\"1\"/><path d=\"M19 8a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2v-8c0-1.1.9-2 2-2h14zM5 15v3h6v-3H5zm14 0h-6v3h6v-3zm0-5h-6v3h6v-3zM5 13h6v-3H5v3z\"/></g></svg>',\n    'table-cell-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M13 4v9H3V6c0-1.1.9-2 2-2h8zm-2 2H5v5h6V6z\"/><path fill-rule=\"nonzero\" d=\"M13 4h6a2 2 0 012 2v7h-8v-2h6V6h-6V4z\" opacity=\".2\"/><path d=\"M18 20l-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3 .2-2.3 2 .7 3z\"/><path fill-rule=\"nonzero\" d=\"M3 13v5c0 1.1.9 2 2 2h8v-7h-2v5H5v-5H3z\" opacity=\".2\"/></g></svg>',\n    'table-cell-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm-8 9H5v5h6v-5zm8 0h-6v5h6v-5zm-8-7H5v5h6V6z\"/></svg>',\n    'table-cell-select-all': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm0 2H5v12h14V6z\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2z\" opacity=\".2\"/></g></svg>',\n    'table-cell-select-inner': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm0 2H5v12h14V6z\" opacity=\".2\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2z\"/></g></svg>',\n    'table-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v7h-8v7H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm-8 9H5v5h6v-5zm8-7h-6v5h6V6zm-8 0H5v5h6V6z\"/><path d=\"M18 20l-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3 .2-2.3 2 .7 3z\"/></g></svg>',\n    'table-delete-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm-4 4h-2V6h-2v2H9V6H5v12h4v-2h2v2h2v-2h2v2h4V6h-4v2zm.3.5l1 1.2-3 2.3 3 2.3-1 1.2L12 13l-3.3 2.6-1-1.2 3-2.3-3-2.3 1-1.2L12 11l3.3-2.5z\"/></svg>',\n    'table-delete-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm0 2H5v3h2.5v2H5v2h2.5v2H5v3h14v-3h-2.5v-2H19v-2h-2.5V9H19V6zm-4.7 1.8l1.2 1L13 12l2.6 3.3-1.2 1-2.3-3-2.3 3-1.2-1L11 12 8.5 8.7l1.2-1 2.3 3 2.3-3z\"/></svg>',\n    'table-delete-table': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zM5 6v12h14V6H5z\"/><path d=\"M14.4 8.6l1 1-2.3 2.4 2.3 2.4-1 1-2.4-2.3-2.4 2.3-1-1 2.3-2.4-2.3-2.4 1-1 2.4 2.3z\"/></g></svg>',\n    'table-insert-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M20 4c.6 0 1 .4 1 1v2a1 1 0 01-2 0V6h-8v12h8v-1a1 1 0 012 0v2c0 .5-.4 1-.9 1H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h15zM9 13H5v5h4v-5zm7-5c.5 0 1 .4 1 .9V11h2a1 1 0 01.1 2H17v2a1 1 0 01-2 .1V13h-2a1 1 0 01-.1-2H15V9c0-.6.4-1 1-1zM9 6H5v5h4V6z\"/></svg>',\n    'table-insert-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H4a1 1 0 01-1-1v-2a1 1 0 012 0v1h8V6H5v1a1 1 0 11-2 0V5c0-.6.4-1 1-1h15zm0 9h-4v5h4v-5zM8 8c.5 0 1 .4 1 .9V11h2a1 1 0 01.1 2H9v2a1 1 0 01-2 .1V13H5a1 1 0 01-.1-2H7V9c0-.6.4-1 1-1zm11-2h-4v5h4V6z\"/></svg>',\n    'table-insert-row-above': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4a1 1 0 110 2H5v6h14V6h-1a1 1 0 010-2h2c.6 0 1 .4 1 1v13a2 2 0 01-2 2H5a2 2 0 01-2-2V5c0-.6.4-1 1-1h2zm5 10H5v4h6v-4zm8 0h-6v4h6v-4zM12 3c.5 0 1 .4 1 .9V6h2a1 1 0 010 2h-2v2a1 1 0 01-2 .1V8H9a1 1 0 010-2h2V4c0-.6.4-1 1-1z\"/></svg>',\n    'table-insert-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M12 13c.5 0 1 .4 1 .9V16h2a1 1 0 01.1 2H13v2a1 1 0 01-2 .1V18H9a1 1 0 01-.1-2H11v-2c0-.6.4-1 1-1zm6 7a1 1 0 010-2h1v-6H5v6h1a1 1 0 010 2H4a1 1 0 01-1-1V6c0-1.1.9-2 2-2h14a2 2 0 012 2v13c0 .5-.4 1-.9 1H18zM11 6H5v4h6V6zm8 0h-6v4h6V6z\"/></svg>',\n    'table-left-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm0 9h-4v5h4v-5zm-6 0H9v5h4v-5zm0-7H9v5h4V6zm6 0h-4v5h4V6z\"/></svg>',\n    'table-merge-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zM5 15.5V18h3v-2.5H5zm14-5h-9V18h9v-7.5zM19 6h-4v2.5h4V6zM8 6H5v2.5h3V6zm5 0h-3v2.5h3V6zm-8 7.5h3v-3H5v3z\"/></svg>',\n    'table-row-numbering-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 4a2 2 0 00-2 2v13c0 1.1.9 2 2 2h12a2 2 0 002-2V6a2 2 0 00-2-2H6zm0 12h8v3H6v-3zm11 0c.6 0 1 .4 1 1v1a1 1 0 01-2 0v-1c0-.6.4-1 1-1zM6 11h8v3H6v-3zm11 0c.6 0 1 .4 1 1v1a1 1 0 01-2 0v-1c0-.6.4-1 1-1zM6 6h8v3H6V6zm11 0c.6 0 1 .4 1 1v1a1 1 0 11-2 0V7c0-.6.4-1 1-1z\"/></svg>',\n    'table-row-numbering': '<svg width=\"24\" height=\"24\"><path d=\"M18 4a2 2 0 012 2v13a2 2 0 01-2 2H6a2 2 0 01-2-2V6c0-1.1.9-2 2-2h12zm0 12h-8v3h8v-3zM7 16a1 1 0 00-1 1v1a1 1 0 002 0v-1c0-.6-.4-1-1-1zm11-5h-8v3h8v-3zM7 11a1 1 0 00-1 1v1a1 1 0 002 0v-1c0-.6-.4-1-1-1zm11-5h-8v3h8V6zM7 6a1 1 0 00-1 1v1a1 1 0 102 0V7c0-.6-.4-1-1-1z\"/></svg>',\n    'table-row-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zM5 15v3h6v-3H5zm14 0h-6v3h6v-3zm0-9h-6v3h6V6zM5 9h6V6H5v3z\"/></svg>',\n    'table-split-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zM8 15.5H5V18h3v-2.5zm11-5h-9V18h9v-7.5zm-2.5 1l1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2-2-2 1-1 2 2 2-2zm-8.5-1H5v3h3v-3zM19 6h-4v2.5h4V6zM8 6H5v2.5h3V6zm5 0h-3v2.5h3V6z\"/></svg>',\n    'table-top-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zm-8 11H5v3h6v-3zm8 0h-6v3h6v-3zm0-5h-6v3h6v-3zM5 13h6v-3H5v3z\"/></svg>',\n    'table': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h14zM5 14v4h6v-4H5zm14 0h-6v4h6v-4zm0-6h-6v4h6V8zM5 12h6V8H5v4z\"/></svg>',\n    'template': '<svg width=\"24\" height=\"24\"><path d=\"M19 19v-1H5v1h14zM9 16v-4a5 5 0 116 0v4h4a2 2 0 012 2v3H3v-3c0-1.1.9-2 2-2h4zm4 0v-5l.8-.6a3 3 0 10-3.6 0l.8.6v5h2z\" fill-rule=\"nonzero\"/></svg>',\n    'temporary-placeholder': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M9 7.6V6h2.5V4.5a.5.5 0 111 0V6H15v1.6a8 8 0 11-6 0zm-2.6 5.3a.5.5 0 00.3.6c.3 0 .6 0 .6-.3l.1-.2a5 5 0 013.3-2.8c.3-.1.4-.4.4-.6-.1-.3-.4-.5-.6-.4a6 6 0 00-4.1 3.7z\"/><circle cx=\"14\" cy=\"4\" r=\"1\"/><circle cx=\"12\" cy=\"2\" r=\"1\"/><circle cx=\"10\" cy=\"4\" r=\"1\"/></g></svg>',\n    'text-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path id=\"tox-icon-text-color__color\" d=\"M3 18h18v3H3z\"/><path d=\"M8.7 16h-.8a.5.5 0 01-.5-.6l2.7-9c.1-.3.3-.4.5-.4h2.8c.2 0 .4.1.5.4l2.7 9a.5.5 0 01-.5.6h-.8a.5.5 0 01-.4-.4l-.7-2.2c0-.3-.3-.4-.5-.4h-3.4c-.2 0-.4.1-.5.4l-.7 2.2c0 .3-.2.4-.4.4zm2.6-7.6l-.6 2a.5.5 0 00.5.6h1.6a.5.5 0 00.5-.6l-.6-2c0-.3-.3-.4-.5-.4h-.4c-.2 0-.4.1-.5.4z\"/></g></svg>',\n    'toc': '<svg width=\"24\" height=\"24\"><path d=\"M5 5c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 110-2zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 110-2zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 010-2zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 010-2zm0-4c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 110-2zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 010-2zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2z\" fill-rule=\"evenodd\"/></svg>',\n    'translate': '<svg width=\"24\" height=\"24\"><path d=\"M12.7 14.3l-.3.7-.4.7-2.2-2.2-3.1 3c-.3.4-.8.4-1 0a.7.7 0 010-1l3.1-3A12.4 12.4 0 016.7 9H8a10.1 10.1 0 001.7 2.4c.5-.5 1-1.1 1.4-1.8l.9-2H4.7a.7.7 0 110-1.5h4.4v-.7c0-.4.3-.8.7-.8.4 0 .7.4.7.8v.7H15c.4 0 .8.3.8.7 0 .4-.4.8-.8.8h-1.4a12.3 12.3 0 01-1 2.4 13.5 13.5 0 01-1.7 2.3l1.9 1.8zm4.3-3l2.7 7.3a.5.5 0 01-.4.7 1 1 0 01-1-.7l-.6-1.5h-3.4l-.6 1.5a1 1 0 01-1 .7.5.5 0 01-.4-.7l2.7-7.4a1 1 0 012 0zm-2.2 4.4h2.4L16 12.5l-1.2 3.2z\" fill-rule=\"evenodd\"/></svg>',\n    'underline': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.6 0 1 .4 1 1v5.5a4 4 0 01-.4 1.8l-1 1.4a5.3 5.3 0 01-5.5 1 5 5 0 01-1.6-1c-.5-.4-.8-.9-1.1-1.4a4 4 0 01-.4-1.8V6c0-.6.4-1 1-1s1 .4 1 1v5.5c0 .3 0 .6.2 1l.6.7a3.3 3.3 0 002.2.8 3.4 3.4 0 002.2-.8c.3-.2.4-.5.6-.8l.2-.9V6c0-.6.4-1 1-1zM8 17h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 010-2z\" fill-rule=\"evenodd\"/></svg>',\n    'undo': '<svg width=\"24\" height=\"24\"><path d=\"M6.4 8H12c3.7 0 6.2 2 6.8 5.1.6 2.7-.4 5.6-2.3 6.8a1 1 0 01-1-1.8c1.1-.6 1.8-2.7 1.4-4.6-.5-2.1-2.1-3.5-4.9-3.5H6.4l3.3 3.3a1 1 0 11-1.4 1.4l-5-5a1 1 0 010-1.4l5-5a1 1 0 011.4 1.4L6.4 8z\" fill-rule=\"nonzero\"/></svg>',\n    'unlink': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 011.4 1.4l-2 2a2 2 0 102.6 2.8l4.8-4.8a1 1 0 000-1.4 1 1 0 111.4-1.3 2.9 2.9 0 010 4L9.6 20a3.9 3.9 0 01-5.5-5.5l2-2zm11.6-.6a1 1 0 01-1.4-1.4l2.1-2a2 2 0 10-2.7-2.8L11 10.3a1 1 0 000 1.4A1 1 0 119.6 13a2.9 2.9 0 010-4L14.4 4a3.9 3.9 0 015.5 5.5l-2 2zM7.6 6.3a.8.8 0 01-1 1.1L3.3 4.2a.7.7 0 111-1l3.2 3.1zM5.1 8.6a.8.8 0 010 1.5H3a.8.8 0 010-1.5H5zm5-3.5a.8.8 0 01-1.5 0V3a.8.8 0 011.5 0V5zm6 11.8a.8.8 0 011-1l3.2 3.2a.8.8 0 01-1 1L16 17zm-2.2 2a.8.8 0 011.5 0V21a.8.8 0 01-1.5 0V19zm5-3.5a.7.7 0 110-1.5H21a.8.8 0 010 1.5H19z\" fill-rule=\"nonzero\"/></svg>',\n    'unlock': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h-2V8a1 1 0 00-.3-.7A1 1 0 0016 7h-2a1 1 0 00-.7.3 1 1 0 00-.3.7v3h.3c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H4.8c-.3 0-.4 0-.6-.2a.7.7 0 01-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H11V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2z\" fill-rule=\"evenodd\"/></svg>',\n    'unordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 010-2zM4.5 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1z\" fill-rule=\"evenodd\"/></svg>',\n    'unselected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6c0-1.1.9-2 2-2zm0 1a1 1 0 00-1 1v12c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H6z\"/></svg>',\n    'upload': '<svg width=\"24\" height=\"24\"><path d=\"M18 19v-2a1 1 0 012 0v3c0 .6-.4 1-1 1H5a1 1 0 01-1-1v-3a1 1 0 012 0v2h12zM11 6.4L8.7 8.7a1 1 0 01-1.4-1.4l4-4a1 1 0 011.4 0l4 4a1 1 0 11-1.4 1.4L13 6.4V16a1 1 0 01-2 0V6.4z\" fill-rule=\"nonzero\"/></svg>',\n    'user': '<svg width=\"24\" height=\"24\"><path d=\"M12 24a12 12 0 110-24 12 12 0 010 24zm-8.7-5.3a11 11 0 0017.4 0C19.4 16.3 14.6 15 12 15c-2.6 0-7.4 1.3-8.7 3.7zM12 13c2.2 0 4-2 4-4.5S14.2 4 12 4 8 6 8 8.5 9.8 13 12 13z\" fill-rule=\"nonzero\"/></svg>',\n    'vertical-align': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><path d=\"M12 2c.6 0 1 .4 1 1v4l2-1.3a1 1 0 011.2 1.5l-.1.1-4.1 3-4-3a1 1 0 011-1.7l2 1.5V3c0-.6.4-1 1-1zm0 11.8l4 2.9a1 1 0 01-1 1.7l-2-1.5V21c0 .5-.4 1-.9 1H12a1 1 0 01-1-1v-4l-2 1.3a1 1 0 01-1.2-.1l-.1-.1a1 1 0 01.1-1.3l.1-.1 4.1-3z\"/></g></svg>',\n    'visualblocks': '<svg width=\"24\" height=\"24\"><path d=\"M9 19v2H7v-2h2zm-4 0v2a2 2 0 01-2-2h2zm8 0v2h-2v-2h2zm8 0a2 2 0 01-2 2v-2h2zm-4 0v2h-2v-2h2zM15 7a1 1 0 010 2v7a1 1 0 01-2 0V9h-1v7a1 1 0 01-2 0v-4a2.5 2.5 0 01-.2-5H15zM5 15v2H3v-2h2zm16 0v2h-2v-2h2zM5 11v2H3v-2h2zm16 0v2h-2v-2h2zM5 7v2H3V7h2zm16 0v2h-2V7h2zM5 3v2H3c0-1.1.9-2 2-2zm8 0v2h-2V3h2zm6 0a2 2 0 012 2h-2V3zM9 3v2H7V3h2zm8 0v2h-2V3h2z\" fill-rule=\"evenodd\"/></svg>',\n    'visualchars': '<svg width=\"24\" height=\"24\"><path d=\"M10 5h7a1 1 0 010 2h-1v11a1 1 0 01-2 0V7h-2v11a1 1 0 01-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 016.8 10a3.3 3.3 0 010-2.8 3.4 3.4 0 011.8-1.8L10 5z\" fill-rule=\"evenodd\"/></svg>',\n    'warning': '<svg width=\"24\" height=\"24\"><path d=\"M19.8 18.3c.2.5.3.9 0 1.2-.1.3-.5.5-1 .5H5.2c-.5 0-.9-.2-1-.5-.3-.3-.2-.7 0-1.2L11 4.7l.5-.5.5-.2c.2 0 .3 0 .5.2.2 0 .3.3.5.5l6.8 13.6zM12 18c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7a1 1 0 00-.3-.7 1 1 0 00-.7-.3 1 1 0 00-.7.3 1 1 0 00-.3.7c0 .3.1.5.3.7.2.2.4.3.7.3zm.7-3l.3-4a1 1 0 00-.3-.7 1 1 0 00-.7-.3 1 1 0 00-.7.3 1 1 0 00-.3.7l.3 4h1.4z\" fill-rule=\"evenodd\"/></svg>',\n    'zoom-in': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 111.4-1.4l4.3 4.4a1 1 0 01-1.4 1.4l-4.4-4.3zm-5-.3a6 6 0 100-12 6 6 0 000 12zm-1-9a1 1 0 012 0v6a1 1 0 01-2 0V8zm-2 4a1 1 0 010-2h6a1 1 0 010 2H8z\" fill-rule=\"nonzero\"/></svg>',\n    'zoom-out': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 111.4-1.4l4.3 4.4a1 1 0 01-1.4 1.4l-4.4-4.3zm-5-.3a6 6 0 100-12 6 6 0 000 12zm-3-5a1 1 0 010-2h6a1 1 0 010 2H8z\" fill-rule=\"nonzero\"/></svg>',\n  }\n});\n\n//# sourceURL=webpack:///./node_modules/tinymce/icons/default/icons.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/autolink/index.js":
/*!********************************************************!*\
  !*** ./node_modules/tinymce/plugins/autolink/index.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"autolink\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/autolink')\n//   ES2015:\n//     import 'tinymce/plugins/autolink'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/autolink/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/autolink/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/autolink/plugin.js":
/*!*********************************************************!*\
  !*** ./node_modules/tinymce/plugins/autolink/plugin.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var checkRange = function (str, substr, start) {\n      return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    };\n    var contains = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var startsWith = function (str, prefix) {\n      return checkRange(str, prefix, 0);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var link = function () {\n      return /(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-+~=.,%()\\/\\w]*[-+~=%()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g;\n    };\n\n    var defaultLinkPattern = new RegExp('^' + link().source + '$', 'i');\n    var getAutoLinkPattern = function (editor) {\n      return editor.getParam('autolink_pattern', defaultLinkPattern);\n    };\n    var getDefaultLinkTarget = function (editor) {\n      return editor.getParam('default_link_target', false);\n    };\n    var getDefaultLinkProtocol = function (editor) {\n      return editor.getParam('link_default_protocol', 'http', 'string');\n    };\n\n    var rangeEqualsBracketOrSpace = function (rangeString) {\n      return /^[(\\[{ \\u00a0]$/.test(rangeString);\n    };\n    var isTextNode = function (node) {\n      return node.nodeType === 3;\n    };\n    var isElement = function (node) {\n      return node.nodeType === 1;\n    };\n    var handleBracket = function (editor) {\n      return parseCurrentLine(editor, -1);\n    };\n    var handleSpacebar = function (editor) {\n      return parseCurrentLine(editor, 0);\n    };\n    var handleEnter = function (editor) {\n      return parseCurrentLine(editor, -1);\n    };\n    var scopeIndex = function (container, index) {\n      if (index < 0) {\n        index = 0;\n      }\n      if (isTextNode(container)) {\n        var len = container.data.length;\n        if (index > len) {\n          index = len;\n        }\n      }\n      return index;\n    };\n    var setStart = function (rng, container, offset) {\n      if (!isElement(container) || container.hasChildNodes()) {\n        rng.setStart(container, scopeIndex(container, offset));\n      } else {\n        rng.setStartBefore(container);\n      }\n    };\n    var setEnd = function (rng, container, offset) {\n      if (!isElement(container) || container.hasChildNodes()) {\n        rng.setEnd(container, scopeIndex(container, offset));\n      } else {\n        rng.setEndAfter(container);\n      }\n    };\n    var hasProtocol = function (url) {\n      return /^([A-Za-z][A-Za-z\\d.+-]*:\\/\\/)|mailto:/.test(url);\n    };\n    var isPunctuation = function (char) {\n      return /[?!,.;:]/.test(char);\n    };\n    var parseCurrentLine = function (editor, endOffset) {\n      var end, endContainer, bookmark, text, prev, len, rngText;\n      var autoLinkPattern = getAutoLinkPattern(editor);\n      var defaultLinkTarget = getDefaultLinkTarget(editor);\n      if (editor.dom.getParent(editor.selection.getNode(), 'a[href]') !== null) {\n        return;\n      }\n      var rng = editor.selection.getRng().cloneRange();\n      if (rng.startOffset < 5) {\n        prev = rng.endContainer.previousSibling;\n        if (!prev) {\n          if (!rng.endContainer.firstChild || !rng.endContainer.firstChild.nextSibling) {\n            return;\n          }\n          prev = rng.endContainer.firstChild.nextSibling;\n        }\n        len = prev.length;\n        setStart(rng, prev, len);\n        setEnd(rng, prev, len);\n        if (rng.endOffset < 5) {\n          return;\n        }\n        end = rng.endOffset;\n        endContainer = prev;\n      } else {\n        endContainer = rng.endContainer;\n        if (!isTextNode(endContainer) && endContainer.firstChild) {\n          while (!isTextNode(endContainer) && endContainer.firstChild) {\n            endContainer = endContainer.firstChild;\n          }\n          if (isTextNode(endContainer)) {\n            setStart(rng, endContainer, 0);\n            setEnd(rng, endContainer, endContainer.nodeValue.length);\n          }\n        }\n        if (rng.endOffset === 1) {\n          end = 2;\n        } else {\n          end = rng.endOffset - 1 - endOffset;\n        }\n      }\n      var start = end;\n      do {\n        setStart(rng, endContainer, end >= 2 ? end - 2 : 0);\n        setEnd(rng, endContainer, end >= 1 ? end - 1 : 0);\n        end -= 1;\n        rngText = rng.toString();\n      } while (!rangeEqualsBracketOrSpace(rngText) && end - 2 >= 0);\n      if (rangeEqualsBracketOrSpace(rng.toString())) {\n        setStart(rng, endContainer, end);\n        setEnd(rng, endContainer, start);\n        end += 1;\n      } else if (rng.startOffset === 0) {\n        setStart(rng, endContainer, 0);\n        setEnd(rng, endContainer, start);\n      } else {\n        setStart(rng, endContainer, end);\n        setEnd(rng, endContainer, start);\n      }\n      text = rng.toString();\n      if (isPunctuation(text.charAt(text.length - 1))) {\n        setEnd(rng, endContainer, start - 1);\n      }\n      text = rng.toString().trim();\n      var matches = text.match(autoLinkPattern);\n      var protocol = getDefaultLinkProtocol(editor);\n      if (matches) {\n        var url = matches[0];\n        if (startsWith(url, 'www.')) {\n          url = protocol + '://' + url;\n        } else if (contains(url, '@') && !hasProtocol(url)) {\n          url = 'mailto:' + url;\n        }\n        bookmark = editor.selection.getBookmark();\n        editor.selection.setRng(rng);\n        editor.execCommand('createlink', false, url);\n        if (defaultLinkTarget !== false) {\n          editor.dom.setAttrib(editor.selection.getNode(), 'target', defaultLinkTarget);\n        }\n        editor.selection.moveToBookmark(bookmark);\n        editor.nodeChanged();\n      }\n    };\n    var setup = function (editor) {\n      var autoUrlDetectState;\n      editor.on('keydown', function (e) {\n        if (e.keyCode === 13) {\n          return handleEnter(editor);\n        }\n      });\n      if (global.browser.isIE()) {\n        editor.on('focus', function () {\n          if (!autoUrlDetectState) {\n            autoUrlDetectState = true;\n            try {\n              editor.execCommand('AutoUrlDetect', false, true);\n            } catch (ex) {\n            }\n          }\n        });\n        return;\n      }\n      editor.on('keypress', function (e) {\n        if (e.keyCode === 41 || e.keyCode === 93 || e.keyCode === 125) {\n          return handleBracket(editor);\n        }\n      });\n      editor.on('keyup', function (e) {\n        if (e.keyCode === 32) {\n          return handleSpacebar(editor);\n        }\n      });\n    };\n\n    function Plugin () {\n      global$1.add('autolink', function (editor) {\n        setup(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/autolink/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/autoresize/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/tinymce/plugins/autoresize/index.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"autoresize\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/autoresize')\n//   ES2015:\n//     import 'tinymce/plugins/autoresize'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/autoresize/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/autoresize/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/autoresize/plugin.js":
/*!***********************************************************!*\
  !*** ./node_modules/tinymce/plugins/autoresize/plugin.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var hasOwnProperty = Object.hasOwnProperty;\n    var has = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var fireResizeEditor = function (editor) {\n      return editor.fire('ResizeEditor');\n    };\n\n    var getAutoResizeMinHeight = function (editor) {\n      return editor.getParam('min_height', editor.getElement().offsetHeight, 'number');\n    };\n    var getAutoResizeMaxHeight = function (editor) {\n      return editor.getParam('max_height', 0, 'number');\n    };\n    var getAutoResizeOverflowPadding = function (editor) {\n      return editor.getParam('autoresize_overflow_padding', 1, 'number');\n    };\n    var getAutoResizeBottomMargin = function (editor) {\n      return editor.getParam('autoresize_bottom_margin', 50, 'number');\n    };\n    var shouldAutoResizeOnInit = function (editor) {\n      return editor.getParam('autoresize_on_init', true, 'boolean');\n    };\n\n    var isFullscreen = function (editor) {\n      return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();\n    };\n    var wait = function (editor, oldSize, times, interval, callback) {\n      global.setEditorTimeout(editor, function () {\n        resize(editor, oldSize);\n        if (times--) {\n          wait(editor, oldSize, times, interval, callback);\n        } else if (callback) {\n          callback();\n        }\n      }, interval);\n    };\n    var toggleScrolling = function (editor, state) {\n      var body = editor.getBody();\n      if (body) {\n        body.style.overflowY = state ? '' : 'hidden';\n        if (!state) {\n          body.scrollTop = 0;\n        }\n      }\n    };\n    var parseCssValueToInt = function (dom, elm, name, computed) {\n      var value = parseInt(dom.getStyle(elm, name, computed), 10);\n      return isNaN(value) ? 0 : value;\n    };\n    var shouldScrollIntoView = function (trigger) {\n      if ((trigger === null || trigger === void 0 ? void 0 : trigger.type.toLowerCase()) === 'setcontent') {\n        var setContentEvent = trigger;\n        return setContentEvent.selection === true || setContentEvent.paste === true;\n      } else {\n        return false;\n      }\n    };\n    var resize = function (editor, oldSize, trigger) {\n      var dom = editor.dom;\n      var doc = editor.getDoc();\n      if (!doc) {\n        return;\n      }\n      if (isFullscreen(editor)) {\n        toggleScrolling(editor, true);\n        return;\n      }\n      var docEle = doc.documentElement;\n      var resizeBottomMargin = getAutoResizeBottomMargin(editor);\n      var resizeHeight = getAutoResizeMinHeight(editor);\n      var marginTop = parseCssValueToInt(dom, docEle, 'margin-top', true);\n      var marginBottom = parseCssValueToInt(dom, docEle, 'margin-bottom', true);\n      var contentHeight = docEle.offsetHeight + marginTop + marginBottom + resizeBottomMargin;\n      if (contentHeight < 0) {\n        contentHeight = 0;\n      }\n      var containerHeight = editor.getContainer().offsetHeight;\n      var contentAreaHeight = editor.getContentAreaContainer().offsetHeight;\n      var chromeHeight = containerHeight - contentAreaHeight;\n      if (contentHeight + chromeHeight > getAutoResizeMinHeight(editor)) {\n        resizeHeight = contentHeight + chromeHeight;\n      }\n      var maxHeight = getAutoResizeMaxHeight(editor);\n      if (maxHeight && resizeHeight > maxHeight) {\n        resizeHeight = maxHeight;\n        toggleScrolling(editor, true);\n      } else {\n        toggleScrolling(editor, false);\n      }\n      if (resizeHeight !== oldSize.get()) {\n        var deltaSize = resizeHeight - oldSize.get();\n        dom.setStyle(editor.getContainer(), 'height', resizeHeight + 'px');\n        oldSize.set(resizeHeight);\n        fireResizeEditor(editor);\n        if (global$1.browser.isSafari() && global$1.mac) {\n          var win = editor.getWin();\n          win.scrollTo(win.pageXOffset, win.pageYOffset);\n        }\n        if (editor.hasFocus() && shouldScrollIntoView(trigger)) {\n          editor.selection.scrollIntoView();\n        }\n        if (global$1.webkit && deltaSize < 0) {\n          resize(editor, oldSize, trigger);\n        }\n      }\n    };\n    var setup = function (editor, oldSize) {\n      editor.on('init', function () {\n        var overflowPadding = getAutoResizeOverflowPadding(editor);\n        var dom = editor.dom;\n        dom.setStyles(editor.getDoc().documentElement, { height: 'auto' });\n        dom.setStyles(editor.getBody(), {\n          'paddingLeft': overflowPadding,\n          'paddingRight': overflowPadding,\n          'min-height': 0\n        });\n      });\n      editor.on('NodeChange SetContent keyup FullscreenStateChanged ResizeContent', function (e) {\n        resize(editor, oldSize, e);\n      });\n      if (shouldAutoResizeOnInit(editor)) {\n        editor.on('init', function () {\n          wait(editor, oldSize, 20, 100, function () {\n            wait(editor, oldSize, 5, 1000);\n          });\n        });\n      }\n    };\n\n    var register = function (editor, oldSize) {\n      editor.addCommand('mceAutoResize', function () {\n        resize(editor, oldSize);\n      });\n    };\n\n    function Plugin () {\n      global$2.add('autoresize', function (editor) {\n        if (!has(editor.settings, 'resize')) {\n          editor.settings.resize = false;\n        }\n        if (!editor.inline) {\n          var oldSize = Cell(0);\n          register(editor, oldSize);\n          setup(editor, oldSize);\n        }\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/autoresize/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/code/index.js":
/*!****************************************************!*\
  !*** ./node_modules/tinymce/plugins/code/index.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"code\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/code')\n//   ES2015:\n//     import 'tinymce/plugins/code'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/code/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/code/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/code/plugin.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/plugins/code/plugin.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var setContent = function (editor, html) {\n      editor.focus();\n      editor.undoManager.transact(function () {\n        editor.setContent(html);\n      });\n      editor.selection.setCursorLocation();\n      editor.nodeChanged();\n    };\n    var getContent = function (editor) {\n      return editor.getContent({ source_view: true });\n    };\n\n    var open = function (editor) {\n      var editorContent = getContent(editor);\n      editor.windowManager.open({\n        title: 'Source Code',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n              type: 'textarea',\n              name: 'code'\n            }]\n        },\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        initialData: { code: editorContent },\n        onSubmit: function (api) {\n          setContent(editor, api.getData().code);\n          api.close();\n        }\n      });\n    };\n\n    var register$1 = function (editor) {\n      editor.addCommand('mceCodeEditor', function () {\n        open(editor);\n      });\n    };\n\n    var register = function (editor) {\n      var onAction = function () {\n        return editor.execCommand('mceCodeEditor');\n      };\n      editor.ui.registry.addButton('code', {\n        icon: 'sourcecode',\n        tooltip: 'Source code',\n        onAction: onAction\n      });\n      editor.ui.registry.addMenuItem('code', {\n        icon: 'sourcecode',\n        text: 'Source code',\n        onAction: onAction\n      });\n    };\n\n    function Plugin () {\n      global.add('code', function (editor) {\n        register$1(editor);\n        register(editor);\n        return {};\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/code/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/colorpicker/index.js":
/*!***********************************************************!*\
  !*** ./node_modules/tinymce/plugins/colorpicker/index.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"colorpicker\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/colorpicker')\n//   ES2015:\n//     import 'tinymce/plugins/colorpicker'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/colorpicker/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/colorpicker/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/colorpicker/plugin.js":
/*!************************************************************!*\
  !*** ./node_modules/tinymce/plugins/colorpicker/plugin.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    function Plugin () {\n      global.add('colorpicker', function () {\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/colorpicker/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/contextmenu/index.js":
/*!***********************************************************!*\
  !*** ./node_modules/tinymce/plugins/contextmenu/index.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"contextmenu\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/contextmenu')\n//   ES2015:\n//     import 'tinymce/plugins/contextmenu'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/contextmenu/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/contextmenu/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/contextmenu/plugin.js":
/*!************************************************************!*\
  !*** ./node_modules/tinymce/plugins/contextmenu/plugin.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    function Plugin () {\n      global.add('contextmenu', function () {\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/contextmenu/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/fullscreen/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/tinymce/plugins/fullscreen/index.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"fullscreen\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/fullscreen')\n//   ES2015:\n//     import 'tinymce/plugins/fullscreen'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/fullscreen/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/fullscreen/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/fullscreen/plugin.js":
/*!***********************************************************!*\
  !*** ./node_modules/tinymce/plugins/fullscreen/plugin.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var get$5 = function (fullscreenState) {\n      return {\n        isFullscreen: function () {\n          return fullscreenState.get() !== null;\n        }\n      };\n    };\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType$1 = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var isString = isType$1('string');\n    var isArray = isType$1('array');\n    var isBoolean = isSimpleType('boolean');\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n    var isFunction = isSimpleType('function');\n    var isNumber = isSimpleType('number');\n\n    var noop = function () {\n    };\n    var compose = function (fa, fb) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return fa(fb.apply(null, args));\n      };\n    };\n    var compose1 = function (fbc, fab) {\n      return function (a) {\n        return fbc(fab(a));\n      };\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n\n    var singleton = function (doRevoke) {\n      var subject = Cell(Optional.none());\n      var revoke = function () {\n        return subject.get().each(doRevoke);\n      };\n      var clear = function () {\n        revoke();\n        subject.set(Optional.none());\n      };\n      var isSet = function () {\n        return subject.get().isSome();\n      };\n      var get = function () {\n        return subject.get();\n      };\n      var set = function (s) {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear: clear,\n        isSet: isSet,\n        get: get,\n        set: set\n      };\n    };\n    var unbindable = function () {\n      return singleton(function (s) {\n        return s.unbind();\n      });\n    };\n    var value = function () {\n      var subject = singleton(noop);\n      var on = function (f) {\n        return subject.get().each(f);\n      };\n      return __assign(__assign({}, subject), { on: on });\n    };\n\n    var nativePush = Array.prototype.push;\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each$1 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var filter$1 = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var findUntil = function (xs, pred, until) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var find$1 = function (xs, pred) {\n      return findUntil(xs, pred, never);\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind$3 = function (xs, f) {\n      return flatten(map(xs, f));\n    };\n    var get$4 = function (xs, i) {\n      return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    };\n    var head = function (xs) {\n      return get$4(xs, 0);\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    var keys = Object.keys;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n\n    var contains = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n\n    var isSupported$1 = function (dom) {\n      return dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var DOCUMENT = 9;\n    var DOCUMENT_FRAGMENT = 11;\n    var ELEMENT = 1;\n    var TEXT = 3;\n\n    var type = function (element) {\n      return element.dom.nodeType;\n    };\n    var isType = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isElement = isType(ELEMENT);\n    var isText = isType(TEXT);\n    var isDocument = isType(DOCUMENT);\n    var isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var DeviceType = function (os, browser, userAgent, mediaMatch) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isMobile = os.isiOS() || os.isAndroid();\n      var isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      var isPhone = isiPhone || isMobile && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      var isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    var find = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    var detect$3 = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    var unknown$2 = function () {\n      return nu$2(0, 0);\n    };\n    var nu$2 = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu$2,\n      detect: detect$3,\n      unknown: unknown$2\n    };\n\n    var detectBrowser$1 = function (browsers, userAgentData) {\n      return findMap(userAgentData.brands, function (uaBrand) {\n        var lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, function (browser) {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(function (info) {\n          return {\n            current: info.name,\n            version: Version.nu(parseInt(uaBrand.version, 10), 0)\n          };\n        });\n      });\n    };\n\n    var detect$2 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find$1(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$2(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$2(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n        }\n      },\n      {\n        name: 'Chrome',\n        brand: 'Chromium',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains(uastring, 'msie') || contains(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('mac os x'),\n        versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      },\n      {\n        name: 'ChromeOS',\n        search: checkContains('cros'),\n        versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isBrowser = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge),\n        isChrome: isBrowser(chrome),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var chromeos = 'ChromeOS';\n    var unknown = function () {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isOS = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isOSX: isOS(osx),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown,\n      nu: nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    var detect$1 = function (userAgent, userAgentDataOpt, mediaMatch) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = userAgentDataOpt.bind(function (userAgentData) {\n        return detectBrowser$1(browsers, userAgentData);\n      }).orThunk(function () {\n        return detectBrowser(browsers, userAgent);\n      }).fold(Browser.unknown, Browser.nu);\n      var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$1 };\n\n    var mediaMatch = function (query) {\n      return window.matchMedia(query).matches;\n    };\n    var platform = cached(function () {\n      return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch);\n    });\n    var detect = function () {\n      return platform();\n    };\n\n    var is = function (element, selector) {\n      var dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        var elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    };\n    var all$1 = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    var eq = function (e1, e2) {\n      return e1.dom === e2.dom;\n    };\n\n    var owner = function (element) {\n      return SugarElement.fromDom(element.dom.ownerDocument);\n    };\n    var documentOrOwner = function (dos) {\n      return isDocument(dos) ? dos : owner(dos);\n    };\n    var parent = function (element) {\n      return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    };\n    var parents = function (element, isRoot) {\n      var stop = isFunction(isRoot) ? isRoot : never;\n      var dom = element.dom;\n      var ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        var rawParent = dom.parentNode;\n        var p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    var siblings$2 = function (element) {\n      var filterSelf = function (elements) {\n        return filter$1(elements, function (x) {\n          return !eq(element, x);\n        });\n      };\n      return parent(element).map(children).map(filterSelf).getOr([]);\n    };\n    var children = function (element) {\n      return map(element.dom.childNodes, SugarElement.fromDom);\n    };\n\n    var isShadowRoot = function (dos) {\n      return isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    };\n    var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    var isSupported = constant(supported);\n    var getRootNode = supported ? function (e) {\n      return SugarElement.fromDom(e.dom.getRootNode());\n    } : documentOrOwner;\n    var getShadowRoot = function (e) {\n      var r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    var getShadowHost = function (e) {\n      return SugarElement.fromDom(e.dom.host);\n    };\n    var getOriginalEventTarget = function (event) {\n      if (isSupported() && isNonNullable(event.target)) {\n        var el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            var composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    var isOpenShadowHost = function (element) {\n      return isNonNullable(element.dom.shadowRoot);\n    };\n\n    var inBody = function (element) {\n      var dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      var doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(function () {\n        return doc.body.contains(dom);\n      }, compose1(inBody, getShadowHost));\n    };\n    var getBody = function (doc) {\n      var b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    var rawSet = function (dom, key, value) {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set = function (element, key, value) {\n      rawSet(element.dom, key, value);\n    };\n    var get$3 = function (element, key) {\n      var v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    var remove = function (element, key) {\n      element.dom.removeAttribute(key);\n    };\n\n    var internalSet = function (dom, property, value) {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    var setAll = function (element, css) {\n      var dom = element.dom;\n      each(css, function (v, k) {\n        internalSet(dom, k, v);\n      });\n    };\n    var get$2 = function (element, property) {\n      var dom = element.dom;\n      var styles = window.getComputedStyle(dom);\n      var r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    var getUnsafeProperty = function (dom, property) {\n      return isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n    };\n\n    var mkEvent = function (target, x, y, stop, prevent, kill, raw) {\n      return {\n        target: target,\n        x: x,\n        y: y,\n        stop: stop,\n        prevent: prevent,\n        kill: kill,\n        raw: raw\n      };\n    };\n    var fromRawEvent = function (rawEvent) {\n      var target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      var stop = function () {\n        return rawEvent.stopPropagation();\n      };\n      var prevent = function () {\n        return rawEvent.preventDefault();\n      };\n      var kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    var handle = function (filter, handler) {\n      return function (rawEvent) {\n        if (filter(rawEvent)) {\n          handler(fromRawEvent(rawEvent));\n        }\n      };\n    };\n    var binder = function (element, event, filter, handler, useCapture) {\n      var wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return { unbind: curry(unbind, element, event, wrapped, useCapture) };\n    };\n    var bind$2 = function (element, event, filter, handler) {\n      return binder(element, event, filter, handler, false);\n    };\n    var unbind = function (element, event, handler, useCapture) {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    var filter = always;\n    var bind$1 = function (element, event, handler) {\n      return bind$2(element, event, filter, handler);\n    };\n\n    var r = function (left, top) {\n      var translate = function (x, y) {\n        return r(left + x, top + y);\n      };\n      return {\n        left: left,\n        top: top,\n        translate: translate\n      };\n    };\n    var SugarPosition = r;\n\n    var get$1 = function (_DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      var y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n\n    var get = function (_win) {\n      var win = _win === undefined ? window : _win;\n      if (detect().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win['visualViewport']);\n      }\n    };\n    var bounds = function (x, y, width, height) {\n      return {\n        x: x,\n        y: y,\n        width: width,\n        height: height,\n        right: x + width,\n        bottom: y + height\n      };\n    };\n    var getBounds = function (_win) {\n      var win = _win === undefined ? window : _win;\n      var doc = win.document;\n      var scroll = get$1(SugarElement.fromDom(doc));\n      return get(win).fold(function () {\n        var html = win.document.documentElement;\n        var width = html.clientWidth;\n        var height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, function (visualViewport) {\n        return bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height);\n      });\n    };\n    var bind = function (name, callback, _win) {\n      return get(_win).map(function (visualViewport) {\n        var handler = function (e) {\n          return callback(fromRawEvent(e));\n        };\n        visualViewport.addEventListener(name, handler);\n        return {\n          unbind: function () {\n            return visualViewport.removeEventListener(name, handler);\n          }\n        };\n      }).getOrThunk(function () {\n        return { unbind: noop };\n      });\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var fireFullscreenStateChanged = function (editor, state) {\n      editor.fire('FullscreenStateChanged', { state: state });\n    };\n\n    var getFullscreenNative = function (editor) {\n      return editor.getParam('fullscreen_native', false, 'boolean');\n    };\n\n    var getFullscreenRoot = function (editor) {\n      var elem = SugarElement.fromDom(editor.getElement());\n      return getShadowRoot(elem).map(getShadowHost).getOrThunk(function () {\n        return getBody(owner(elem));\n      });\n    };\n    var getFullscreenElement = function (root) {\n      if (root.fullscreenElement !== undefined) {\n        return root.fullscreenElement;\n      } else if (root.msFullscreenElement !== undefined) {\n        return root.msFullscreenElement;\n      } else if (root.webkitFullscreenElement !== undefined) {\n        return root.webkitFullscreenElement;\n      } else {\n        return null;\n      }\n    };\n    var getFullscreenchangeEventName = function () {\n      if (document.fullscreenElement !== undefined) {\n        return 'fullscreenchange';\n      } else if (document.msFullscreenElement !== undefined) {\n        return 'MSFullscreenChange';\n      } else if (document.webkitFullscreenElement !== undefined) {\n        return 'webkitfullscreenchange';\n      } else {\n        return 'fullscreenchange';\n      }\n    };\n    var requestFullscreen = function (sugarElem) {\n      var elem = sugarElem.dom;\n      if (elem.requestFullscreen) {\n        elem.requestFullscreen();\n      } else if (elem.msRequestFullscreen) {\n        elem.msRequestFullscreen();\n      } else if (elem.webkitRequestFullScreen) {\n        elem.webkitRequestFullScreen();\n      }\n    };\n    var exitFullscreen = function (sugarDoc) {\n      var doc = sugarDoc.dom;\n      if (doc.exitFullscreen) {\n        doc.exitFullscreen();\n      } else if (doc.msExitFullscreen) {\n        doc.msExitFullscreen();\n      } else if (doc.webkitCancelFullScreen) {\n        doc.webkitCancelFullScreen();\n      }\n    };\n    var isFullscreenElement = function (elem) {\n      return elem.dom === getFullscreenElement(owner(elem).dom);\n    };\n\n    var ancestors$1 = function (scope, predicate, isRoot) {\n      return filter$1(parents(scope, isRoot), predicate);\n    };\n    var siblings$1 = function (scope, predicate) {\n      return filter$1(siblings$2(scope), predicate);\n    };\n\n    var all = function (selector) {\n      return all$1(selector);\n    };\n    var ancestors = function (scope, selector, isRoot) {\n      return ancestors$1(scope, function (e) {\n        return is(e, selector);\n      }, isRoot);\n    };\n    var siblings = function (scope, selector) {\n      return siblings$1(scope, function (e) {\n        return is(e, selector);\n      });\n    };\n\n    var attr = 'data-ephox-mobile-fullscreen-style';\n    var siblingStyles = 'display:none!important;';\n    var ancestorPosition = 'position:absolute!important;';\n    var ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';\n    var bgFallback = 'background-color:rgb(255,255,255)!important;';\n    var isAndroid = global$1.os.isAndroid();\n    var matchColor = function (editorBody) {\n      var color = get$2(editorBody, 'background-color');\n      return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;\n    };\n    var clobberStyles = function (dom, container, editorBody) {\n      var gatherSiblings = function (element) {\n        return siblings(element, '*:not(.tox-silver-sink)');\n      };\n      var clobber = function (clobberStyle) {\n        return function (element) {\n          var styles = get$3(element, 'style');\n          var backup = styles === undefined ? 'no-styles' : styles.trim();\n          if (backup === clobberStyle) {\n            return;\n          } else {\n            set(element, attr, backup);\n            setAll(element, dom.parseStyle(clobberStyle));\n          }\n        };\n      };\n      var ancestors$1 = ancestors(container, '*');\n      var siblings$1 = bind$3(ancestors$1, gatherSiblings);\n      var bgColor = matchColor(editorBody);\n      each$1(siblings$1, clobber(siblingStyles));\n      each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));\n      var containerStyles = isAndroid === true ? '' : ancestorPosition;\n      clobber(containerStyles + ancestorStyles + bgColor)(container);\n    };\n    var restoreStyles = function (dom) {\n      var clobberedEls = all('[' + attr + ']');\n      each$1(clobberedEls, function (element) {\n        var restore = get$3(element, attr);\n        if (restore !== 'no-styles') {\n          setAll(element, dom.parseStyle(restore));\n        } else {\n          remove(element, 'style');\n        }\n        remove(element, attr);\n      });\n    };\n\n    var DOM = global$2.DOM;\n    var getScrollPos = function () {\n      return getBounds(window);\n    };\n    var setScrollPos = function (pos) {\n      return window.scrollTo(pos.x, pos.y);\n    };\n    var viewportUpdate = get().fold(function () {\n      return {\n        bind: noop,\n        unbind: noop\n      };\n    }, function (visualViewport) {\n      var editorContainer = value();\n      var resizeBinder = unbindable();\n      var scrollBinder = unbindable();\n      var refreshScroll = function () {\n        document.body.scrollTop = 0;\n        document.documentElement.scrollTop = 0;\n      };\n      var refreshVisualViewport = function () {\n        window.requestAnimationFrame(function () {\n          editorContainer.on(function (container) {\n            return setAll(container, {\n              top: visualViewport.offsetTop + 'px',\n              left: visualViewport.offsetLeft + 'px',\n              height: visualViewport.height + 'px',\n              width: visualViewport.width + 'px'\n            });\n          });\n        });\n      };\n      var update = global.throttle(function () {\n        refreshScroll();\n        refreshVisualViewport();\n      }, 50);\n      var bind$1 = function (element) {\n        editorContainer.set(element);\n        update();\n        resizeBinder.set(bind('resize', update));\n        scrollBinder.set(bind('scroll', update));\n      };\n      var unbind = function () {\n        editorContainer.on(function () {\n          resizeBinder.clear();\n          scrollBinder.clear();\n        });\n        editorContainer.clear();\n      };\n      return {\n        bind: bind$1,\n        unbind: unbind\n      };\n    });\n    var toggleFullscreen = function (editor, fullscreenState) {\n      var body = document.body;\n      var documentElement = document.documentElement;\n      var editorContainer = editor.getContainer();\n      var editorContainerS = SugarElement.fromDom(editorContainer);\n      var fullscreenRoot = getFullscreenRoot(editor);\n      var fullscreenInfo = fullscreenState.get();\n      var editorBody = SugarElement.fromDom(editor.getBody());\n      var isTouch = global$1.deviceType.isTouch();\n      var editorContainerStyle = editorContainer.style;\n      var iframe = editor.iframeElement;\n      var iframeStyle = iframe.style;\n      var handleClasses = function (handler) {\n        handler(body, 'tox-fullscreen');\n        handler(documentElement, 'tox-fullscreen');\n        handler(editorContainer, 'tox-fullscreen');\n        getShadowRoot(editorContainerS).map(function (root) {\n          return getShadowHost(root).dom;\n        }).each(function (host) {\n          handler(host, 'tox-fullscreen');\n          handler(host, 'tox-shadowhost');\n        });\n      };\n      var cleanup = function () {\n        if (isTouch) {\n          restoreStyles(editor.dom);\n        }\n        handleClasses(DOM.removeClass);\n        viewportUpdate.unbind();\n        Optional.from(fullscreenState.get()).each(function (info) {\n          return info.fullscreenChangeHandler.unbind();\n        });\n      };\n      if (!fullscreenInfo) {\n        var fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), function (_evt) {\n          if (getFullscreenNative(editor)) {\n            if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {\n              toggleFullscreen(editor, fullscreenState);\n            }\n          }\n        });\n        var newFullScreenInfo = {\n          scrollPos: getScrollPos(),\n          containerWidth: editorContainerStyle.width,\n          containerHeight: editorContainerStyle.height,\n          containerTop: editorContainerStyle.top,\n          containerLeft: editorContainerStyle.left,\n          iframeWidth: iframeStyle.width,\n          iframeHeight: iframeStyle.height,\n          fullscreenChangeHandler: fullscreenChangeHandler\n        };\n        if (isTouch) {\n          clobberStyles(editor.dom, editorContainerS, editorBody);\n        }\n        iframeStyle.width = iframeStyle.height = '100%';\n        editorContainerStyle.width = editorContainerStyle.height = '';\n        handleClasses(DOM.addClass);\n        viewportUpdate.bind(editorContainerS);\n        editor.on('remove', cleanup);\n        fullscreenState.set(newFullScreenInfo);\n        if (getFullscreenNative(editor)) {\n          requestFullscreen(fullscreenRoot);\n        }\n        fireFullscreenStateChanged(editor, true);\n      } else {\n        fullscreenInfo.fullscreenChangeHandler.unbind();\n        if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {\n          exitFullscreen(owner(fullscreenRoot));\n        }\n        iframeStyle.width = fullscreenInfo.iframeWidth;\n        iframeStyle.height = fullscreenInfo.iframeHeight;\n        editorContainerStyle.width = fullscreenInfo.containerWidth;\n        editorContainerStyle.height = fullscreenInfo.containerHeight;\n        editorContainerStyle.top = fullscreenInfo.containerTop;\n        editorContainerStyle.left = fullscreenInfo.containerLeft;\n        cleanup();\n        setScrollPos(fullscreenInfo.scrollPos);\n        fullscreenState.set(null);\n        fireFullscreenStateChanged(editor, false);\n        editor.off('remove', cleanup);\n      }\n    };\n\n    var register$1 = function (editor, fullscreenState) {\n      editor.addCommand('mceFullScreen', function () {\n        toggleFullscreen(editor, fullscreenState);\n      });\n    };\n\n    var makeSetupHandler = function (editor, fullscreenState) {\n      return function (api) {\n        api.setActive(fullscreenState.get() !== null);\n        var editorEventCallback = function (e) {\n          return api.setActive(e.state);\n        };\n        editor.on('FullscreenStateChanged', editorEventCallback);\n        return function () {\n          return editor.off('FullscreenStateChanged', editorEventCallback);\n        };\n      };\n    };\n    var register = function (editor, fullscreenState) {\n      var onAction = function () {\n        return editor.execCommand('mceFullScreen');\n      };\n      editor.ui.registry.addToggleMenuItem('fullscreen', {\n        text: 'Fullscreen',\n        icon: 'fullscreen',\n        shortcut: 'Meta+Shift+F',\n        onAction: onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n      editor.ui.registry.addToggleButton('fullscreen', {\n        tooltip: 'Fullscreen',\n        icon: 'fullscreen',\n        onAction: onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n    };\n\n    function Plugin () {\n      global$3.add('fullscreen', function (editor) {\n        var fullscreenState = Cell(null);\n        if (editor.inline) {\n          return get$5(fullscreenState);\n        }\n        register$1(editor, fullscreenState);\n        register(editor, fullscreenState);\n        editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');\n        return get$5(fullscreenState);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/fullscreen/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/hr/index.js":
/*!**************************************************!*\
  !*** ./node_modules/tinymce/plugins/hr/index.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"hr\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/hr')\n//   ES2015:\n//     import 'tinymce/plugins/hr'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/hr/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/hr/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/hr/plugin.js":
/*!***************************************************!*\
  !*** ./node_modules/tinymce/plugins/hr/plugin.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var register$1 = function (editor) {\n      editor.addCommand('InsertHorizontalRule', function () {\n        editor.execCommand('mceInsertContent', false, '<hr />');\n      });\n    };\n\n    var register = function (editor) {\n      var onAction = function () {\n        return editor.execCommand('InsertHorizontalRule');\n      };\n      editor.ui.registry.addButton('hr', {\n        icon: 'horizontal-rule',\n        tooltip: 'Horizontal line',\n        onAction: onAction\n      });\n      editor.ui.registry.addMenuItem('hr', {\n        icon: 'horizontal-rule',\n        text: 'Horizontal line',\n        onAction: onAction\n      });\n    };\n\n    function Plugin () {\n      global.add('hr', function (editor) {\n        register$1(editor);\n        register(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/hr/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/image/index.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/plugins/image/index.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"image\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/image')\n//   ES2015:\n//     import 'tinymce/plugins/image'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/image/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/image/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/image/plugin.js":
/*!******************************************************!*\
  !*** ./node_modules/tinymce/plugins/image/plugin.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var eq = function (t) {\n      return function (a) {\n        return t === a;\n      };\n    };\n    var isString = isType('string');\n    var isObject = isType('object');\n    var isArray = isType('array');\n    var isNull = eq(null);\n    var isBoolean = isSimpleType('boolean');\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n    var isFunction = isSimpleType('function');\n    var isNumber = isSimpleType('number');\n\n    var noop = function () {\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var keys = Object.keys;\n    var hasOwnProperty = Object.hasOwnProperty;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var objAcc = function (r) {\n      return function (x, i) {\n        r[i] = x;\n      };\n    };\n    var internalFilter = function (obj, pred, onTrue, onFalse) {\n      var r = {};\n      each(obj, function (x, i) {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n      return r;\n    };\n    var filter = function (obj, pred) {\n      var t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    var has = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n    var hasNonNullableKey = function (obj, key) {\n      return has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    };\n\n    var nativePush = Array.prototype.push;\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var get = function (xs, i) {\n      return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    };\n    var head = function (xs) {\n      return get(xs, 0);\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var rawSet = function (dom, key, value) {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set = function (element, key, value) {\n      rawSet(element.dom, key, value);\n    };\n    var remove = function (element, key) {\n      element.dom.removeAttribute(key);\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.XHR');\n\n    var hasDimensions = function (editor) {\n      return editor.getParam('image_dimensions', true, 'boolean');\n    };\n    var hasAdvTab = function (editor) {\n      return editor.getParam('image_advtab', false, 'boolean');\n    };\n    var hasUploadTab = function (editor) {\n      return editor.getParam('image_uploadtab', true, 'boolean');\n    };\n    var getPrependUrl = function (editor) {\n      return editor.getParam('image_prepend_url', '', 'string');\n    };\n    var getClassList = function (editor) {\n      return editor.getParam('image_class_list');\n    };\n    var hasDescription = function (editor) {\n      return editor.getParam('image_description', true, 'boolean');\n    };\n    var hasImageTitle = function (editor) {\n      return editor.getParam('image_title', false, 'boolean');\n    };\n    var hasImageCaption = function (editor) {\n      return editor.getParam('image_caption', false, 'boolean');\n    };\n    var getImageList = function (editor) {\n      return editor.getParam('image_list', false);\n    };\n    var hasUploadUrl = function (editor) {\n      return isNonNullable(editor.getParam('images_upload_url'));\n    };\n    var hasUploadHandler = function (editor) {\n      return isNonNullable(editor.getParam('images_upload_handler'));\n    };\n    var showAccessibilityOptions = function (editor) {\n      return editor.getParam('a11y_advanced_options', false, 'boolean');\n    };\n    var isAutomaticUploadsEnabled = function (editor) {\n      return editor.getParam('automatic_uploads', true, 'boolean');\n    };\n\n    var parseIntAndGetMax = function (val1, val2) {\n      return Math.max(parseInt(val1, 10), parseInt(val2, 10));\n    };\n    var getImageSize = function (url) {\n      return new global$4(function (callback) {\n        var img = document.createElement('img');\n        var done = function (dimensions) {\n          img.onload = img.onerror = null;\n          if (img.parentNode) {\n            img.parentNode.removeChild(img);\n          }\n          callback(dimensions);\n        };\n        img.onload = function () {\n          var width = parseIntAndGetMax(img.width, img.clientWidth);\n          var height = parseIntAndGetMax(img.height, img.clientHeight);\n          var dimensions = {\n            width: width,\n            height: height\n          };\n          done(global$4.resolve(dimensions));\n        };\n        img.onerror = function () {\n          done(global$4.reject('Failed to get image dimensions for: ' + url));\n        };\n        var style = img.style;\n        style.visibility = 'hidden';\n        style.position = 'fixed';\n        style.bottom = style.left = '0px';\n        style.width = style.height = 'auto';\n        document.body.appendChild(img);\n        img.src = url;\n      });\n    };\n    var removePixelSuffix = function (value) {\n      if (value) {\n        value = value.replace(/px$/, '');\n      }\n      return value;\n    };\n    var addPixelSuffix = function (value) {\n      if (value.length > 0 && /^[0-9]+$/.test(value)) {\n        value += 'px';\n      }\n      return value;\n    };\n    var mergeMargins = function (css) {\n      if (css.margin) {\n        var splitMargin = String(css.margin).split(' ');\n        switch (splitMargin.length) {\n        case 1:\n          css['margin-top'] = css['margin-top'] || splitMargin[0];\n          css['margin-right'] = css['margin-right'] || splitMargin[0];\n          css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n          css['margin-left'] = css['margin-left'] || splitMargin[0];\n          break;\n        case 2:\n          css['margin-top'] = css['margin-top'] || splitMargin[0];\n          css['margin-right'] = css['margin-right'] || splitMargin[1];\n          css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n          css['margin-left'] = css['margin-left'] || splitMargin[1];\n          break;\n        case 3:\n          css['margin-top'] = css['margin-top'] || splitMargin[0];\n          css['margin-right'] = css['margin-right'] || splitMargin[1];\n          css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n          css['margin-left'] = css['margin-left'] || splitMargin[1];\n          break;\n        case 4:\n          css['margin-top'] = css['margin-top'] || splitMargin[0];\n          css['margin-right'] = css['margin-right'] || splitMargin[1];\n          css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n          css['margin-left'] = css['margin-left'] || splitMargin[3];\n        }\n        delete css.margin;\n      }\n      return css;\n    };\n    var createImageList = function (editor, callback) {\n      var imageList = getImageList(editor);\n      if (isString(imageList)) {\n        global$2.send({\n          url: imageList,\n          success: function (text) {\n            callback(JSON.parse(text));\n          }\n        });\n      } else if (isFunction(imageList)) {\n        imageList(callback);\n      } else {\n        callback(imageList);\n      }\n    };\n    var waitLoadImage = function (editor, data, imgElm) {\n      var selectImage = function () {\n        imgElm.onload = imgElm.onerror = null;\n        if (editor.selection) {\n          editor.selection.select(imgElm);\n          editor.nodeChanged();\n        }\n      };\n      imgElm.onload = function () {\n        if (!data.width && !data.height && hasDimensions(editor)) {\n          editor.dom.setAttribs(imgElm, {\n            width: String(imgElm.clientWidth),\n            height: String(imgElm.clientHeight)\n          });\n        }\n        selectImage();\n      };\n      imgElm.onerror = selectImage;\n    };\n    var blobToDataUri = function (blob) {\n      return new global$4(function (resolve, reject) {\n        var reader = new FileReader();\n        reader.onload = function () {\n          resolve(reader.result);\n        };\n        reader.onerror = function () {\n          reject(reader.error.message);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n    var isPlaceholderImage = function (imgElm) {\n      return imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder'));\n    };\n    var isSafeImageUrl = function (editor, src) {\n      return global$3.isDomSafe(src, 'img', editor.settings);\n    };\n\n    var DOM = global$5.DOM;\n    var getHspace = function (image) {\n      if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {\n        return removePixelSuffix(image.style.marginLeft);\n      } else {\n        return '';\n      }\n    };\n    var getVspace = function (image) {\n      if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {\n        return removePixelSuffix(image.style.marginTop);\n      } else {\n        return '';\n      }\n    };\n    var getBorder = function (image) {\n      if (image.style.borderWidth) {\n        return removePixelSuffix(image.style.borderWidth);\n      } else {\n        return '';\n      }\n    };\n    var getAttrib = function (image, name) {\n      if (image.hasAttribute(name)) {\n        return image.getAttribute(name);\n      } else {\n        return '';\n      }\n    };\n    var getStyle = function (image, name) {\n      return image.style[name] ? image.style[name] : '';\n    };\n    var hasCaption = function (image) {\n      return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';\n    };\n    var updateAttrib = function (image, name, value) {\n      if (value === '') {\n        image.removeAttribute(name);\n      } else {\n        image.setAttribute(name, value);\n      }\n    };\n    var wrapInFigure = function (image) {\n      var figureElm = DOM.create('figure', { class: 'image' });\n      DOM.insertAfter(figureElm, image);\n      figureElm.appendChild(image);\n      figureElm.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption'));\n      figureElm.contentEditable = 'false';\n    };\n    var removeFigure = function (image) {\n      var figureElm = image.parentNode;\n      DOM.insertAfter(image, figureElm);\n      DOM.remove(figureElm);\n    };\n    var toggleCaption = function (image) {\n      if (hasCaption(image)) {\n        removeFigure(image);\n      } else {\n        wrapInFigure(image);\n      }\n    };\n    var normalizeStyle = function (image, normalizeCss) {\n      var attrValue = image.getAttribute('style');\n      var value = normalizeCss(attrValue !== null ? attrValue : '');\n      if (value.length > 0) {\n        image.setAttribute('style', value);\n        image.setAttribute('data-mce-style', value);\n      } else {\n        image.removeAttribute('style');\n      }\n    };\n    var setSize = function (name, normalizeCss) {\n      return function (image, name, value) {\n        if (image.style[name]) {\n          image.style[name] = addPixelSuffix(value);\n          normalizeStyle(image, normalizeCss);\n        } else {\n          updateAttrib(image, name, value);\n        }\n      };\n    };\n    var getSize = function (image, name) {\n      if (image.style[name]) {\n        return removePixelSuffix(image.style[name]);\n      } else {\n        return getAttrib(image, name);\n      }\n    };\n    var setHspace = function (image, value) {\n      var pxValue = addPixelSuffix(value);\n      image.style.marginLeft = pxValue;\n      image.style.marginRight = pxValue;\n    };\n    var setVspace = function (image, value) {\n      var pxValue = addPixelSuffix(value);\n      image.style.marginTop = pxValue;\n      image.style.marginBottom = pxValue;\n    };\n    var setBorder = function (image, value) {\n      var pxValue = addPixelSuffix(value);\n      image.style.borderWidth = pxValue;\n    };\n    var setBorderStyle = function (image, value) {\n      image.style.borderStyle = value;\n    };\n    var getBorderStyle = function (image) {\n      return getStyle(image, 'borderStyle');\n    };\n    var isFigure = function (elm) {\n      return elm.nodeName === 'FIGURE';\n    };\n    var isImage = function (elm) {\n      return elm.nodeName === 'IMG';\n    };\n    var getIsDecorative = function (image) {\n      return DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation';\n    };\n    var getAlt = function (image) {\n      if (getIsDecorative(image)) {\n        return '';\n      } else {\n        return getAttrib(image, 'alt');\n      }\n    };\n    var defaultData = function () {\n      return {\n        src: '',\n        alt: '',\n        title: '',\n        width: '',\n        height: '',\n        class: '',\n        style: '',\n        caption: false,\n        hspace: '',\n        vspace: '',\n        border: '',\n        borderStyle: '',\n        isDecorative: false\n      };\n    };\n    var getStyleValue = function (normalizeCss, data) {\n      var image = document.createElement('img');\n      updateAttrib(image, 'style', data.style);\n      if (getHspace(image) || data.hspace !== '') {\n        setHspace(image, data.hspace);\n      }\n      if (getVspace(image) || data.vspace !== '') {\n        setVspace(image, data.vspace);\n      }\n      if (getBorder(image) || data.border !== '') {\n        setBorder(image, data.border);\n      }\n      if (getBorderStyle(image) || data.borderStyle !== '') {\n        setBorderStyle(image, data.borderStyle);\n      }\n      return normalizeCss(image.getAttribute('style'));\n    };\n    var create = function (normalizeCss, data) {\n      var image = document.createElement('img');\n      write(normalizeCss, __assign(__assign({}, data), { caption: false }), image);\n      setAlt(image, data.alt, data.isDecorative);\n      if (data.caption) {\n        var figure = DOM.create('figure', { class: 'image' });\n        figure.appendChild(image);\n        figure.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption'));\n        figure.contentEditable = 'false';\n        return figure;\n      } else {\n        return image;\n      }\n    };\n    var read = function (normalizeCss, image) {\n      return {\n        src: getAttrib(image, 'src'),\n        alt: getAlt(image),\n        title: getAttrib(image, 'title'),\n        width: getSize(image, 'width'),\n        height: getSize(image, 'height'),\n        class: getAttrib(image, 'class'),\n        style: normalizeCss(getAttrib(image, 'style')),\n        caption: hasCaption(image),\n        hspace: getHspace(image),\n        vspace: getVspace(image),\n        border: getBorder(image),\n        borderStyle: getStyle(image, 'borderStyle'),\n        isDecorative: getIsDecorative(image)\n      };\n    };\n    var updateProp = function (image, oldData, newData, name, set) {\n      if (newData[name] !== oldData[name]) {\n        set(image, name, newData[name]);\n      }\n    };\n    var setAlt = function (image, alt, isDecorative) {\n      if (isDecorative) {\n        DOM.setAttrib(image, 'role', 'presentation');\n        var sugarImage = SugarElement.fromDom(image);\n        set(sugarImage, 'alt', '');\n      } else {\n        if (isNull(alt)) {\n          var sugarImage = SugarElement.fromDom(image);\n          remove(sugarImage, 'alt');\n        } else {\n          var sugarImage = SugarElement.fromDom(image);\n          set(sugarImage, 'alt', alt);\n        }\n        if (DOM.getAttrib(image, 'role') === 'presentation') {\n          DOM.setAttrib(image, 'role', '');\n        }\n      }\n    };\n    var updateAlt = function (image, oldData, newData) {\n      if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) {\n        setAlt(image, newData.alt, newData.isDecorative);\n      }\n    };\n    var normalized = function (set, normalizeCss) {\n      return function (image, name, value) {\n        set(image, value);\n        normalizeStyle(image, normalizeCss);\n      };\n    };\n    var write = function (normalizeCss, newData, image) {\n      var oldData = read(normalizeCss, image);\n      updateProp(image, oldData, newData, 'caption', function (image, _name, _value) {\n        return toggleCaption(image);\n      });\n      updateProp(image, oldData, newData, 'src', updateAttrib);\n      updateProp(image, oldData, newData, 'title', updateAttrib);\n      updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));\n      updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));\n      updateProp(image, oldData, newData, 'class', updateAttrib);\n      updateProp(image, oldData, newData, 'style', normalized(function (image, value) {\n        return updateAttrib(image, 'style', value);\n      }, normalizeCss));\n      updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));\n      updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));\n      updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));\n      updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));\n      updateAlt(image, oldData, newData);\n    };\n\n    var normalizeCss$1 = function (editor, cssText) {\n      var css = editor.dom.styles.parse(cssText);\n      var mergedCss = mergeMargins(css);\n      var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));\n      return editor.dom.styles.serialize(compressed);\n    };\n    var getSelectedImage = function (editor) {\n      var imgElm = editor.selection.getNode();\n      var figureElm = editor.dom.getParent(imgElm, 'figure.image');\n      if (figureElm) {\n        return editor.dom.select('img', figureElm)[0];\n      }\n      if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) {\n        return null;\n      }\n      return imgElm;\n    };\n    var splitTextBlock = function (editor, figure) {\n      var dom = editor.dom;\n      var textBlockElements = filter(editor.schema.getTextBlockElements(), function (_, parentElm) {\n        return !editor.schema.isValidChild(parentElm, 'figure');\n      });\n      var textBlock = dom.getParent(figure.parentNode, function (node) {\n        return hasNonNullableKey(textBlockElements, node.nodeName);\n      }, editor.getBody());\n      if (textBlock) {\n        return dom.split(textBlock, figure);\n      } else {\n        return figure;\n      }\n    };\n    var readImageDataFromSelection = function (editor) {\n      var image = getSelectedImage(editor);\n      return image ? read(function (css) {\n        return normalizeCss$1(editor, css);\n      }, image) : defaultData();\n    };\n    var insertImageAtCaret = function (editor, data) {\n      var elm = create(function (css) {\n        return normalizeCss$1(editor, css);\n      }, data);\n      editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');\n      editor.focus();\n      editor.selection.setContent(elm.outerHTML);\n      var insertedElm = editor.dom.select('*[data-mce-id=\"__mcenew\"]')[0];\n      editor.dom.setAttrib(insertedElm, 'data-mce-id', null);\n      if (isFigure(insertedElm)) {\n        var figure = splitTextBlock(editor, insertedElm);\n        editor.selection.select(figure);\n      } else {\n        editor.selection.select(insertedElm);\n      }\n    };\n    var syncSrcAttr = function (editor, image) {\n      editor.dom.setAttrib(image, 'src', image.getAttribute('src'));\n    };\n    var deleteImage = function (editor, image) {\n      if (image) {\n        var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;\n        editor.dom.remove(elm);\n        editor.focus();\n        editor.nodeChanged();\n        if (editor.dom.isEmpty(editor.getBody())) {\n          editor.setContent('');\n          editor.selection.setCursorLocation();\n        }\n      }\n    };\n    var writeImageDataToSelection = function (editor, data) {\n      var image = getSelectedImage(editor);\n      write(function (css) {\n        return normalizeCss$1(editor, css);\n      }, data, image);\n      syncSrcAttr(editor, image);\n      if (isFigure(image.parentNode)) {\n        var figure = image.parentNode;\n        splitTextBlock(editor, figure);\n        editor.selection.select(image.parentNode);\n      } else {\n        editor.selection.select(image);\n        waitLoadImage(editor, data, image);\n      }\n    };\n    var sanitizeImageData = function (editor, data) {\n      var src = data.src;\n      return __assign(__assign({}, data), { src: isSafeImageUrl(editor, src) ? src : '' });\n    };\n    var insertOrUpdateImage = function (editor, partialData) {\n      var image = getSelectedImage(editor);\n      if (image) {\n        var selectedImageData = read(function (css) {\n          return normalizeCss$1(editor, css);\n        }, image);\n        var data = __assign(__assign({}, selectedImageData), partialData);\n        var sanitizedData = sanitizeImageData(editor, data);\n        if (data.src) {\n          writeImageDataToSelection(editor, sanitizedData);\n        } else {\n          deleteImage(editor, image);\n        }\n      } else if (partialData.src) {\n        insertImageAtCaret(editor, __assign(__assign({}, defaultData()), partialData));\n      }\n    };\n\n    var deep = function (old, nu) {\n      var bothObjects = isObject(old) && isObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    var baseMerge = function (merger) {\n      return function () {\n        var objects = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          objects[_i] = arguments[_i];\n        }\n        if (objects.length === 0) {\n          throw new Error('Can\\'t merge zero objects');\n        }\n        var ret = {};\n        for (var j = 0; j < objects.length; j++) {\n          var curObject = objects[j];\n          for (var key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    var deepMerge = baseMerge(deep);\n\n    var isNotEmpty = function (s) {\n      return s.length > 0;\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var getValue = function (item) {\n      return isString(item.value) ? item.value : '';\n    };\n    var getText = function (item) {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    var sanitizeList = function (list, extractValue) {\n      var out = [];\n      global.each(list, function (item) {\n        var text = getText(item);\n        if (item.menu !== undefined) {\n          var items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text: text,\n            items: items\n          });\n        } else {\n          var value = extractValue(item);\n          out.push({\n            text: text,\n            value: value\n          });\n        }\n      });\n      return out;\n    };\n    var sanitizer = function (extractor) {\n      if (extractor === void 0) {\n        extractor = getValue;\n      }\n      return function (list) {\n        if (list) {\n          return Optional.from(list).map(function (list) {\n            return sanitizeList(list, extractor);\n          });\n        } else {\n          return Optional.none();\n        }\n      };\n    };\n    var sanitize = function (list) {\n      return sanitizer(getValue)(list);\n    };\n    var isGroup = function (item) {\n      return has(item, 'items');\n    };\n    var findEntryDelegate = function (list, value) {\n      return findMap(list, function (item) {\n        if (isGroup(item)) {\n          return findEntryDelegate(item.items, value);\n        } else if (item.value === value) {\n          return Optional.some(item);\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var findEntry = function (optList, value) {\n      return optList.bind(function (list) {\n        return findEntryDelegate(list, value);\n      });\n    };\n    var ListUtils = {\n      sanitizer: sanitizer,\n      sanitize: sanitize,\n      findEntry: findEntry\n    };\n\n    var makeTab$2 = function (_info) {\n      return {\n        title: 'Advanced',\n        name: 'advanced',\n        items: [\n          {\n            type: 'input',\n            label: 'Style',\n            name: 'style'\n          },\n          {\n            type: 'grid',\n            columns: 2,\n            items: [\n              {\n                type: 'input',\n                label: 'Vertical space',\n                name: 'vspace',\n                inputMode: 'numeric'\n              },\n              {\n                type: 'input',\n                label: 'Horizontal space',\n                name: 'hspace',\n                inputMode: 'numeric'\n              },\n              {\n                type: 'input',\n                label: 'Border width',\n                name: 'border',\n                inputMode: 'numeric'\n              },\n              {\n                type: 'listbox',\n                name: 'borderstyle',\n                label: 'Border style',\n                items: [\n                  {\n                    text: 'Select...',\n                    value: ''\n                  },\n                  {\n                    text: 'Solid',\n                    value: 'solid'\n                  },\n                  {\n                    text: 'Dotted',\n                    value: 'dotted'\n                  },\n                  {\n                    text: 'Dashed',\n                    value: 'dashed'\n                  },\n                  {\n                    text: 'Double',\n                    value: 'double'\n                  },\n                  {\n                    text: 'Groove',\n                    value: 'groove'\n                  },\n                  {\n                    text: 'Ridge',\n                    value: 'ridge'\n                  },\n                  {\n                    text: 'Inset',\n                    value: 'inset'\n                  },\n                  {\n                    text: 'Outset',\n                    value: 'outset'\n                  },\n                  {\n                    text: 'None',\n                    value: 'none'\n                  },\n                  {\n                    text: 'Hidden',\n                    value: 'hidden'\n                  }\n                ]\n              }\n            ]\n          }\n        ]\n      };\n    };\n    var AdvTab = { makeTab: makeTab$2 };\n\n    var collect = function (editor) {\n      var urlListSanitizer = ListUtils.sanitizer(function (item) {\n        return editor.convertURL(item.value || item.url, 'src');\n      });\n      var futureImageList = new global$4(function (completer) {\n        createImageList(editor, function (imageList) {\n          completer(urlListSanitizer(imageList).map(function (items) {\n            return flatten([\n              [{\n                  text: 'None',\n                  value: ''\n                }],\n              items\n            ]);\n          }));\n        });\n      });\n      var classList = ListUtils.sanitize(getClassList(editor));\n      var hasAdvTab$1 = hasAdvTab(editor);\n      var hasUploadTab$1 = hasUploadTab(editor);\n      var hasUploadUrl$1 = hasUploadUrl(editor);\n      var hasUploadHandler$1 = hasUploadHandler(editor);\n      var image = readImageDataFromSelection(editor);\n      var hasDescription$1 = hasDescription(editor);\n      var hasImageTitle$1 = hasImageTitle(editor);\n      var hasDimensions$1 = hasDimensions(editor);\n      var hasImageCaption$1 = hasImageCaption(editor);\n      var hasAccessibilityOptions = showAccessibilityOptions(editor);\n      var automaticUploads = isAutomaticUploadsEnabled(editor);\n      var prependURL = Optional.some(getPrependUrl(editor)).filter(function (preUrl) {\n        return isString(preUrl) && preUrl.length > 0;\n      });\n      return futureImageList.then(function (imageList) {\n        return {\n          image: image,\n          imageList: imageList,\n          classList: classList,\n          hasAdvTab: hasAdvTab$1,\n          hasUploadTab: hasUploadTab$1,\n          hasUploadUrl: hasUploadUrl$1,\n          hasUploadHandler: hasUploadHandler$1,\n          hasDescription: hasDescription$1,\n          hasImageTitle: hasImageTitle$1,\n          hasDimensions: hasDimensions$1,\n          hasImageCaption: hasImageCaption$1,\n          prependURL: prependURL,\n          hasAccessibilityOptions: hasAccessibilityOptions,\n          automaticUploads: automaticUploads\n        };\n      });\n    };\n\n    var makeItems = function (info) {\n      var imageUrl = {\n        name: 'src',\n        type: 'urlinput',\n        filetype: 'image',\n        label: 'Source'\n      };\n      var imageList = info.imageList.map(function (items) {\n        return {\n          name: 'images',\n          type: 'listbox',\n          label: 'Image list',\n          items: items\n        };\n      });\n      var imageDescription = {\n        name: 'alt',\n        type: 'input',\n        label: 'Alternative description',\n        disabled: info.hasAccessibilityOptions && info.image.isDecorative\n      };\n      var imageTitle = {\n        name: 'title',\n        type: 'input',\n        label: 'Image title'\n      };\n      var imageDimensions = {\n        name: 'dimensions',\n        type: 'sizeinput'\n      };\n      var isDecorative = {\n        type: 'label',\n        label: 'Accessibility',\n        items: [{\n            name: 'isDecorative',\n            type: 'checkbox',\n            label: 'Image is decorative'\n          }]\n      };\n      var classList = info.classList.map(function (items) {\n        return {\n          name: 'classes',\n          type: 'listbox',\n          label: 'Class',\n          items: items\n        };\n      });\n      var caption = {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n            type: 'checkbox',\n            name: 'caption',\n            label: 'Show caption'\n          }]\n      };\n      var getDialogContainerType = function (useColumns) {\n        return useColumns ? {\n          type: 'grid',\n          columns: 2\n        } : { type: 'panel' };\n      };\n      return flatten([\n        [imageUrl],\n        imageList.toArray(),\n        info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [],\n        info.hasDescription ? [imageDescription] : [],\n        info.hasImageTitle ? [imageTitle] : [],\n        info.hasDimensions ? [imageDimensions] : [],\n        [__assign(__assign({}, getDialogContainerType(info.classList.isSome() && info.hasImageCaption)), {\n            items: flatten([\n              classList.toArray(),\n              info.hasImageCaption ? [caption] : []\n            ])\n          })]\n      ]);\n    };\n    var makeTab$1 = function (info) {\n      return {\n        title: 'General',\n        name: 'general',\n        items: makeItems(info)\n      };\n    };\n    var MainTab = {\n      makeTab: makeTab$1,\n      makeItems: makeItems\n    };\n\n    var makeTab = function (_info) {\n      var items = [{\n          type: 'dropzone',\n          name: 'fileinput'\n        }];\n      return {\n        title: 'Upload',\n        name: 'upload',\n        items: items\n      };\n    };\n    var UploadTab = { makeTab: makeTab };\n\n    var createState = function (info) {\n      return {\n        prevImage: ListUtils.findEntry(info.imageList, info.image.src),\n        prevAlt: info.image.alt,\n        open: true\n      };\n    };\n    var fromImageData = function (image) {\n      return {\n        src: {\n          value: image.src,\n          meta: {}\n        },\n        images: image.src,\n        alt: image.alt,\n        title: image.title,\n        dimensions: {\n          width: image.width,\n          height: image.height\n        },\n        classes: image.class,\n        caption: image.caption,\n        style: image.style,\n        vspace: image.vspace,\n        border: image.border,\n        hspace: image.hspace,\n        borderstyle: image.borderStyle,\n        fileinput: [],\n        isDecorative: image.isDecorative\n      };\n    };\n    var toImageData = function (data, removeEmptyAlt) {\n      return {\n        src: data.src.value,\n        alt: data.alt.length === 0 && removeEmptyAlt ? null : data.alt,\n        title: data.title,\n        width: data.dimensions.width,\n        height: data.dimensions.height,\n        class: data.classes,\n        style: data.style,\n        caption: data.caption,\n        hspace: data.hspace,\n        vspace: data.vspace,\n        border: data.border,\n        borderStyle: data.borderstyle,\n        isDecorative: data.isDecorative\n      };\n    };\n    var addPrependUrl2 = function (info, srcURL) {\n      if (!/^(?:[a-zA-Z]+:)?\\/\\//.test(srcURL)) {\n        return info.prependURL.bind(function (prependUrl) {\n          if (srcURL.substring(0, prependUrl.length) !== prependUrl) {\n            return Optional.some(prependUrl + srcURL);\n          }\n          return Optional.none();\n        });\n      }\n      return Optional.none();\n    };\n    var addPrependUrl = function (info, api) {\n      var data = api.getData();\n      addPrependUrl2(info, data.src.value).each(function (srcURL) {\n        api.setData({\n          src: {\n            value: srcURL,\n            meta: data.src.meta\n          }\n        });\n      });\n    };\n    var formFillFromMeta2 = function (info, data, meta) {\n      if (info.hasDescription && isString(meta.alt)) {\n        data.alt = meta.alt;\n      }\n      if (info.hasAccessibilityOptions) {\n        data.isDecorative = meta.isDecorative || data.isDecorative || false;\n      }\n      if (info.hasImageTitle && isString(meta.title)) {\n        data.title = meta.title;\n      }\n      if (info.hasDimensions) {\n        if (isString(meta.width)) {\n          data.dimensions.width = meta.width;\n        }\n        if (isString(meta.height)) {\n          data.dimensions.height = meta.height;\n        }\n      }\n      if (isString(meta.class)) {\n        ListUtils.findEntry(info.classList, meta.class).each(function (entry) {\n          data.classes = entry.value;\n        });\n      }\n      if (info.hasImageCaption) {\n        if (isBoolean(meta.caption)) {\n          data.caption = meta.caption;\n        }\n      }\n      if (info.hasAdvTab) {\n        if (isString(meta.style)) {\n          data.style = meta.style;\n        }\n        if (isString(meta.vspace)) {\n          data.vspace = meta.vspace;\n        }\n        if (isString(meta.border)) {\n          data.border = meta.border;\n        }\n        if (isString(meta.hspace)) {\n          data.hspace = meta.hspace;\n        }\n        if (isString(meta.borderstyle)) {\n          data.borderstyle = meta.borderstyle;\n        }\n      }\n    };\n    var formFillFromMeta = function (info, api) {\n      var data = api.getData();\n      var meta = data.src.meta;\n      if (meta !== undefined) {\n        var newData = deepMerge({}, data);\n        formFillFromMeta2(info, newData, meta);\n        api.setData(newData);\n      }\n    };\n    var calculateImageSize = function (helpers, info, state, api) {\n      var data = api.getData();\n      var url = data.src.value;\n      var meta = data.src.meta || {};\n      if (!meta.width && !meta.height && info.hasDimensions) {\n        if (isNotEmpty(url)) {\n          helpers.imageSize(url).then(function (size) {\n            if (state.open) {\n              api.setData({ dimensions: size });\n            }\n          }).catch(function (e) {\n            return console.error(e);\n          });\n        } else {\n          api.setData({\n            dimensions: {\n              width: '',\n              height: ''\n            }\n          });\n        }\n      }\n    };\n    var updateImagesDropdown = function (info, state, api) {\n      var data = api.getData();\n      var image = ListUtils.findEntry(info.imageList, data.src.value);\n      state.prevImage = image;\n      api.setData({\n        images: image.map(function (entry) {\n          return entry.value;\n        }).getOr('')\n      });\n    };\n    var changeSrc = function (helpers, info, state, api) {\n      addPrependUrl(info, api);\n      formFillFromMeta(info, api);\n      calculateImageSize(helpers, info, state, api);\n      updateImagesDropdown(info, state, api);\n    };\n    var changeImages = function (helpers, info, state, api) {\n      var data = api.getData();\n      var image = ListUtils.findEntry(info.imageList, data.images);\n      image.each(function (img) {\n        var updateAlt = data.alt === '' || state.prevImage.map(function (image) {\n          return image.text === data.alt;\n        }).getOr(false);\n        if (updateAlt) {\n          if (img.value === '') {\n            api.setData({\n              src: img,\n              alt: state.prevAlt\n            });\n          } else {\n            api.setData({\n              src: img,\n              alt: img.text\n            });\n          }\n        } else {\n          api.setData({ src: img });\n        }\n      });\n      state.prevImage = image;\n      changeSrc(helpers, info, state, api);\n    };\n    var calcVSpace = function (css) {\n      var matchingTopBottom = css['margin-top'] && css['margin-bottom'] && css['margin-top'] === css['margin-bottom'];\n      return matchingTopBottom ? removePixelSuffix(String(css['margin-top'])) : '';\n    };\n    var calcHSpace = function (css) {\n      var matchingLeftRight = css['margin-right'] && css['margin-left'] && css['margin-right'] === css['margin-left'];\n      return matchingLeftRight ? removePixelSuffix(String(css['margin-right'])) : '';\n    };\n    var calcBorderWidth = function (css) {\n      return css['border-width'] ? removePixelSuffix(String(css['border-width'])) : '';\n    };\n    var calcBorderStyle = function (css) {\n      return css['border-style'] ? String(css['border-style']) : '';\n    };\n    var calcStyle = function (parseStyle, serializeStyle, css) {\n      return serializeStyle(parseStyle(serializeStyle(css)));\n    };\n    var changeStyle2 = function (parseStyle, serializeStyle, data) {\n      var css = mergeMargins(parseStyle(data.style));\n      var dataCopy = deepMerge({}, data);\n      dataCopy.vspace = calcVSpace(css);\n      dataCopy.hspace = calcHSpace(css);\n      dataCopy.border = calcBorderWidth(css);\n      dataCopy.borderstyle = calcBorderStyle(css);\n      dataCopy.style = calcStyle(parseStyle, serializeStyle, css);\n      return dataCopy;\n    };\n    var changeStyle = function (helpers, api) {\n      var data = api.getData();\n      var newData = changeStyle2(helpers.parseStyle, helpers.serializeStyle, data);\n      api.setData(newData);\n    };\n    var changeAStyle = function (helpers, info, api) {\n      var data = deepMerge(fromImageData(info.image), api.getData());\n      var style = getStyleValue(helpers.normalizeCss, toImageData(data, false));\n      api.setData({ style: style });\n    };\n    var changeFileInput = function (helpers, info, state, api) {\n      var data = api.getData();\n      api.block('Uploading image');\n      head(data.fileinput).fold(function () {\n        api.unblock();\n      }, function (file) {\n        var blobUri = URL.createObjectURL(file);\n        var finalize = function () {\n          api.unblock();\n          URL.revokeObjectURL(blobUri);\n        };\n        var updateSrcAndSwitchTab = function (url) {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(function (dataUrl) {\n          var blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          if (info.automaticUploads) {\n            helpers.uploadImage(blobInfo).then(function (result) {\n              updateSrcAndSwitchTab(result.url);\n              finalize();\n            }).catch(function (err) {\n              finalize();\n              helpers.alertErr(err);\n            });\n          } else {\n            helpers.addToBlobCache(blobInfo);\n            updateSrcAndSwitchTab(blobInfo.blobUri());\n            api.unblock();\n          }\n        });\n      });\n    };\n    var changeHandler = function (helpers, info, state) {\n      return function (api, evt) {\n        if (evt.name === 'src') {\n          changeSrc(helpers, info, state, api);\n        } else if (evt.name === 'images') {\n          changeImages(helpers, info, state, api);\n        } else if (evt.name === 'alt') {\n          state.prevAlt = api.getData().alt;\n        } else if (evt.name === 'style') {\n          changeStyle(helpers, api);\n        } else if (evt.name === 'vspace' || evt.name === 'hspace' || evt.name === 'border' || evt.name === 'borderstyle') {\n          changeAStyle(helpers, info, api);\n        } else if (evt.name === 'fileinput') {\n          changeFileInput(helpers, info, state, api);\n        } else if (evt.name === 'isDecorative') {\n          if (api.getData().isDecorative) {\n            api.disable('alt');\n          } else {\n            api.enable('alt');\n          }\n        }\n      };\n    };\n    var closeHandler = function (state) {\n      return function () {\n        state.open = false;\n      };\n    };\n    var makeDialogBody = function (info) {\n      if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) {\n        var tabPanel = {\n          type: 'tabpanel',\n          tabs: flatten([\n            [MainTab.makeTab(info)],\n            info.hasAdvTab ? [AdvTab.makeTab(info)] : [],\n            info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : []\n          ])\n        };\n        return tabPanel;\n      } else {\n        var panel = {\n          type: 'panel',\n          items: MainTab.makeItems(info)\n        };\n        return panel;\n      }\n    };\n    var makeDialog = function (helpers) {\n      return function (info) {\n        var state = createState(info);\n        return {\n          title: 'Insert/Edit Image',\n          size: 'normal',\n          body: makeDialogBody(info),\n          buttons: [\n            {\n              type: 'cancel',\n              name: 'cancel',\n              text: 'Cancel'\n            },\n            {\n              type: 'submit',\n              name: 'save',\n              text: 'Save',\n              primary: true\n            }\n          ],\n          initialData: fromImageData(info.image),\n          onSubmit: helpers.onSubmit(info),\n          onChange: changeHandler(helpers, info, state),\n          onClose: closeHandler(state)\n        };\n      };\n    };\n    var submitHandler = function (editor) {\n      return function (info) {\n        return function (api) {\n          var data = deepMerge(fromImageData(info.image), api.getData());\n          editor.execCommand('mceUpdateImage', false, toImageData(data, info.hasAccessibilityOptions));\n          editor.editorUpload.uploadImagesAuto();\n          api.close();\n        };\n      };\n    };\n    var imageSize = function (editor) {\n      return function (url) {\n        if (!isSafeImageUrl(editor, url)) {\n          return global$4.resolve({\n            width: '',\n            height: ''\n          });\n        } else {\n          return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(function (dimensions) {\n            return {\n              width: String(dimensions.width),\n              height: String(dimensions.height)\n            };\n          });\n        }\n      };\n    };\n    var createBlobCache = function (editor) {\n      return function (file, blobUri, dataUrl) {\n        return editor.editorUpload.blobCache.create({\n          blob: file,\n          blobUri: blobUri,\n          name: file.name ? file.name.replace(/\\.[^\\.]+$/, '') : null,\n          filename: file.name,\n          base64: dataUrl.split(',')[1]\n        });\n      };\n    };\n    var addToBlobCache = function (editor) {\n      return function (blobInfo) {\n        editor.editorUpload.blobCache.add(blobInfo);\n      };\n    };\n    var alertErr = function (editor) {\n      return function (message) {\n        editor.windowManager.alert(message);\n      };\n    };\n    var normalizeCss = function (editor) {\n      return function (cssText) {\n        return normalizeCss$1(editor, cssText);\n      };\n    };\n    var parseStyle = function (editor) {\n      return function (cssText) {\n        return editor.dom.parseStyle(cssText);\n      };\n    };\n    var serializeStyle = function (editor) {\n      return function (stylesArg, name) {\n        return editor.dom.serializeStyle(stylesArg, name);\n      };\n    };\n    var uploadImage = function (editor) {\n      return function (blobInfo) {\n        return global$1(editor).upload([blobInfo], false).then(function (results) {\n          if (results.length === 0) {\n            return global$4.reject('Failed to upload image');\n          } else if (results[0].status === false) {\n            return global$4.reject(results[0].error.message);\n          } else {\n            return results[0];\n          }\n        });\n      };\n    };\n    var Dialog = function (editor) {\n      var helpers = {\n        onSubmit: submitHandler(editor),\n        imageSize: imageSize(editor),\n        addToBlobCache: addToBlobCache(editor),\n        createBlobCache: createBlobCache(editor),\n        alertErr: alertErr(editor),\n        normalizeCss: normalizeCss(editor),\n        parseStyle: parseStyle(editor),\n        serializeStyle: serializeStyle(editor),\n        uploadImage: uploadImage(editor)\n      };\n      var open = function () {\n        collect(editor).then(makeDialog(helpers)).then(editor.windowManager.open);\n      };\n      return { open: open };\n    };\n\n    var register$1 = function (editor) {\n      editor.addCommand('mceImage', Dialog(editor).open);\n      editor.addCommand('mceUpdateImage', function (_ui, data) {\n        editor.undoManager.transact(function () {\n          return insertOrUpdateImage(editor, data);\n        });\n      });\n    };\n\n    var hasImageClass = function (node) {\n      var className = node.attr('class');\n      return className && /\\bimage\\b/.test(className);\n    };\n    var toggleContentEditableState = function (state) {\n      return function (nodes) {\n        var i = nodes.length;\n        var toggleContentEditable = function (node) {\n          node.attr('contenteditable', state ? 'true' : null);\n        };\n        while (i--) {\n          var node = nodes[i];\n          if (hasImageClass(node)) {\n            node.attr('contenteditable', state ? 'false' : null);\n            global.each(node.getAll('figcaption'), toggleContentEditable);\n          }\n        }\n      };\n    };\n    var setup = function (editor) {\n      editor.on('PreInit', function () {\n        editor.parser.addNodeFilter('figure', toggleContentEditableState(true));\n        editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));\n      });\n    };\n\n    var register = function (editor) {\n      editor.ui.registry.addToggleButton('image', {\n        icon: 'image',\n        tooltip: 'Insert/edit image',\n        onAction: Dialog(editor).open,\n        onSetup: function (buttonApi) {\n          buttonApi.setActive(isNonNullable(getSelectedImage(editor)));\n          return editor.selection.selectorChangedWithUnbind('img:not([data-mce-object],[data-mce-placeholder]),figure.image', buttonApi.setActive).unbind;\n        }\n      });\n      editor.ui.registry.addMenuItem('image', {\n        icon: 'image',\n        text: 'Image...',\n        onAction: Dialog(editor).open\n      });\n      editor.ui.registry.addContextMenu('image', {\n        update: function (element) {\n          return isFigure(element) || isImage(element) && !isPlaceholderImage(element) ? ['image'] : [];\n        }\n      });\n    };\n\n    function Plugin () {\n      global$6.add('image', function (editor) {\n        setup(editor);\n        register(editor);\n        register$1(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/image/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/imagetools/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/tinymce/plugins/imagetools/index.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"imagetools\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/imagetools')\n//   ES2015:\n//     import 'tinymce/plugins/imagetools'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/imagetools/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/imagetools/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/imagetools/plugin.js":
/*!***********************************************************!*\
  !*** ./node_modules/tinymce/plugins/imagetools/plugin.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var isArray = isType('array');\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n    var isFunction = isSimpleType('function');\n\n    var noop = function () {\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var exports$1 = {}, module = { exports: exports$1 };\n    (function (define, exports, module, require) {\n      (function (global, factory) {\n        typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EphoxContactWrapper = factory());\n      }(this, function () {\n        var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n        var promise = { exports: {} };\n        (function (module) {\n          (function (root) {\n            var setTimeoutFunc = setTimeout;\n            function noop() {\n            }\n            function bind(fn, thisArg) {\n              return function () {\n                fn.apply(thisArg, arguments);\n              };\n            }\n            function Promise(fn) {\n              if (typeof this !== 'object')\n                throw new TypeError('Promises must be constructed via new');\n              if (typeof fn !== 'function')\n                throw new TypeError('not a function');\n              this._state = 0;\n              this._handled = false;\n              this._value = undefined;\n              this._deferreds = [];\n              doResolve(fn, this);\n            }\n            function handle(self, deferred) {\n              while (self._state === 3) {\n                self = self._value;\n              }\n              if (self._state === 0) {\n                self._deferreds.push(deferred);\n                return;\n              }\n              self._handled = true;\n              Promise._immediateFn(function () {\n                var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n                if (cb === null) {\n                  (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n                  return;\n                }\n                var ret;\n                try {\n                  ret = cb(self._value);\n                } catch (e) {\n                  reject(deferred.promise, e);\n                  return;\n                }\n                resolve(deferred.promise, ret);\n              });\n            }\n            function resolve(self, newValue) {\n              try {\n                if (newValue === self)\n                  throw new TypeError('A promise cannot be resolved with itself.');\n                if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n                  var then = newValue.then;\n                  if (newValue instanceof Promise) {\n                    self._state = 3;\n                    self._value = newValue;\n                    finale(self);\n                    return;\n                  } else if (typeof then === 'function') {\n                    doResolve(bind(then, newValue), self);\n                    return;\n                  }\n                }\n                self._state = 1;\n                self._value = newValue;\n                finale(self);\n              } catch (e) {\n                reject(self, e);\n              }\n            }\n            function reject(self, newValue) {\n              self._state = 2;\n              self._value = newValue;\n              finale(self);\n            }\n            function finale(self) {\n              if (self._state === 2 && self._deferreds.length === 0) {\n                Promise._immediateFn(function () {\n                  if (!self._handled) {\n                    Promise._unhandledRejectionFn(self._value);\n                  }\n                });\n              }\n              for (var i = 0, len = self._deferreds.length; i < len; i++) {\n                handle(self, self._deferreds[i]);\n              }\n              self._deferreds = null;\n            }\n            function Handler(onFulfilled, onRejected, promise) {\n              this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n              this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n              this.promise = promise;\n            }\n            function doResolve(fn, self) {\n              var done = false;\n              try {\n                fn(function (value) {\n                  if (done)\n                    return;\n                  done = true;\n                  resolve(self, value);\n                }, function (reason) {\n                  if (done)\n                    return;\n                  done = true;\n                  reject(self, reason);\n                });\n              } catch (ex) {\n                if (done)\n                  return;\n                done = true;\n                reject(self, ex);\n              }\n            }\n            Promise.prototype['catch'] = function (onRejected) {\n              return this.then(null, onRejected);\n            };\n            Promise.prototype.then = function (onFulfilled, onRejected) {\n              var prom = new this.constructor(noop);\n              handle(this, new Handler(onFulfilled, onRejected, prom));\n              return prom;\n            };\n            Promise.all = function (arr) {\n              var args = Array.prototype.slice.call(arr);\n              return new Promise(function (resolve, reject) {\n                if (args.length === 0)\n                  return resolve([]);\n                var remaining = args.length;\n                function res(i, val) {\n                  try {\n                    if (val && (typeof val === 'object' || typeof val === 'function')) {\n                      var then = val.then;\n                      if (typeof then === 'function') {\n                        then.call(val, function (val) {\n                          res(i, val);\n                        }, reject);\n                        return;\n                      }\n                    }\n                    args[i] = val;\n                    if (--remaining === 0) {\n                      resolve(args);\n                    }\n                  } catch (ex) {\n                    reject(ex);\n                  }\n                }\n                for (var i = 0; i < args.length; i++) {\n                  res(i, args[i]);\n                }\n              });\n            };\n            Promise.resolve = function (value) {\n              if (value && typeof value === 'object' && value.constructor === Promise) {\n                return value;\n              }\n              return new Promise(function (resolve) {\n                resolve(value);\n              });\n            };\n            Promise.reject = function (value) {\n              return new Promise(function (resolve, reject) {\n                reject(value);\n              });\n            };\n            Promise.race = function (values) {\n              return new Promise(function (resolve, reject) {\n                for (var i = 0, len = values.length; i < len; i++) {\n                  values[i].then(resolve, reject);\n                }\n              });\n            };\n            Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) {\n              setImmediate(fn);\n            } : function (fn) {\n              setTimeoutFunc(fn, 0);\n            };\n            Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n              if (typeof console !== 'undefined' && console) {\n                console.warn('Possible Unhandled Promise Rejection:', err);\n              }\n            };\n            Promise._setImmediateFn = function _setImmediateFn(fn) {\n              Promise._immediateFn = fn;\n            };\n            Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {\n              Promise._unhandledRejectionFn = fn;\n            };\n            if (module.exports) {\n              module.exports = Promise;\n            } else if (!root.Promise) {\n              root.Promise = Promise;\n            }\n          }(commonjsGlobal));\n        }(promise));\n        var promisePolyfill = promise.exports;\n        var Global = function () {\n          if (typeof window !== 'undefined') {\n            return window;\n          } else {\n            return Function('return this;')();\n          }\n        }();\n        var promisePolyfill_1 = { boltExport: Global.Promise || promisePolyfill };\n        return promisePolyfill_1;\n      }));\n    }(undefined, exports$1, module));\n    var Promise$1 = module.exports.boltExport;\n\n    var create$1 = function (width, height) {\n      return resize(document.createElement('canvas'), width, height);\n    };\n    var clone = function (canvas) {\n      var tCanvas = create$1(canvas.width, canvas.height);\n      var ctx = get2dContext(tCanvas);\n      ctx.drawImage(canvas, 0, 0);\n      return tCanvas;\n    };\n    var get2dContext = function (canvas) {\n      return canvas.getContext('2d');\n    };\n    var resize = function (canvas, width, height) {\n      canvas.width = width;\n      canvas.height = height;\n      return canvas;\n    };\n\n    var getWidth = function (image) {\n      return image.naturalWidth || image.width;\n    };\n    var getHeight = function (image) {\n      return image.naturalHeight || image.height;\n    };\n\n    var imageToBlob$2 = function (image) {\n      var src = image.src;\n      if (src.indexOf('data:') === 0) {\n        return dataUriToBlob(src);\n      }\n      return anyUriToBlob(src);\n    };\n    var blobToImage$1 = function (blob) {\n      return new Promise$1(function (resolve, reject) {\n        var blobUrl = URL.createObjectURL(blob);\n        var image = new Image();\n        var removeListeners = function () {\n          image.removeEventListener('load', loaded);\n          image.removeEventListener('error', error);\n        };\n        var loaded = function () {\n          removeListeners();\n          resolve(image);\n        };\n        var error = function () {\n          removeListeners();\n          reject('Unable to load data of type ' + blob.type + ': ' + blobUrl);\n        };\n        image.addEventListener('load', loaded);\n        image.addEventListener('error', error);\n        image.src = blobUrl;\n        if (image.complete) {\n          setTimeout(loaded, 0);\n        }\n      });\n    };\n    var anyUriToBlob = function (url) {\n      return new Promise$1(function (resolve, reject) {\n        var xhr = new XMLHttpRequest();\n        xhr.open('GET', url, true);\n        xhr.responseType = 'blob';\n        xhr.onload = function () {\n          if (this.status === 200) {\n            resolve(this.response);\n          }\n        };\n        xhr.onerror = function () {\n          var _this = this;\n          var corsError = function () {\n            var obj = new Error('No access to download image');\n            obj.code = 18;\n            obj.name = 'SecurityError';\n            return obj;\n          };\n          var genericError = function () {\n            return new Error('Error ' + _this.status + ' downloading image');\n          };\n          reject(this.status === 0 ? corsError() : genericError());\n        };\n        xhr.send();\n      });\n    };\n    var dataUriToBlobSync = function (uri) {\n      var data = uri.split(',');\n      var matches = /data:([^;]+)/.exec(data[0]);\n      if (!matches) {\n        return Optional.none();\n      }\n      var mimetype = matches[1];\n      var base64 = data[1];\n      var sliceSize = 1024;\n      var byteCharacters = atob(base64);\n      var bytesLength = byteCharacters.length;\n      var slicesCount = Math.ceil(bytesLength / sliceSize);\n      var byteArrays = new Array(slicesCount);\n      for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n        var begin = sliceIndex * sliceSize;\n        var end = Math.min(begin + sliceSize, bytesLength);\n        var bytes = new Array(end - begin);\n        for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n          bytes[i] = byteCharacters[offset].charCodeAt(0);\n        }\n        byteArrays[sliceIndex] = new Uint8Array(bytes);\n      }\n      return Optional.some(new Blob(byteArrays, { type: mimetype }));\n    };\n    var dataUriToBlob = function (uri) {\n      return new Promise$1(function (resolve, reject) {\n        dataUriToBlobSync(uri).fold(function () {\n          reject('uri is not base64: ' + uri);\n        }, resolve);\n      });\n    };\n    var canvasToBlob = function (canvas, type, quality) {\n      type = type || 'image/png';\n      if (isFunction(HTMLCanvasElement.prototype.toBlob)) {\n        return new Promise$1(function (resolve, reject) {\n          canvas.toBlob(function (blob) {\n            if (blob) {\n              resolve(blob);\n            } else {\n              reject();\n            }\n          }, type, quality);\n        });\n      } else {\n        return dataUriToBlob(canvas.toDataURL(type, quality));\n      }\n    };\n    var canvasToDataURL = function (canvas, type, quality) {\n      type = type || 'image/png';\n      return canvas.toDataURL(type, quality);\n    };\n    var blobToCanvas = function (blob) {\n      return blobToImage$1(blob).then(function (image) {\n        revokeImageUrl(image);\n        var canvas = create$1(getWidth(image), getHeight(image));\n        var context = get2dContext(canvas);\n        context.drawImage(image, 0, 0);\n        return canvas;\n      });\n    };\n    var blobToDataUri = function (blob) {\n      return new Promise$1(function (resolve) {\n        var reader = new FileReader();\n        reader.onloadend = function () {\n          resolve(reader.result);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n    var revokeImageUrl = function (image) {\n      URL.revokeObjectURL(image.src);\n    };\n\n    var blobToImage = function (blob) {\n      return blobToImage$1(blob);\n    };\n    var imageToBlob$1 = function (image) {\n      return imageToBlob$2(image);\n    };\n\n    var nativeIndexOf = Array.prototype.indexOf;\n    var rawIndexOf = function (ts, t) {\n      return nativeIndexOf.call(ts, t);\n    };\n    var contains = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var each$1 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var filter = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldl = function (xs, f, acc) {\n      each$1(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var findUntil = function (xs, pred, until) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var find = function (xs, pred) {\n      return findUntil(xs, pred, never);\n    };\n    var forall = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        var x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    var keys = Object.keys;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n\n    var generate = function (cases) {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      var constructors = [];\n      var adt = {};\n      each$1(cases, function (acase, count) {\n        var keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        var key = keys$1[0];\n        var value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          var argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          var match = function (branches) {\n            var branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            var allReqd = forall(constructors, function (reqKey) {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: function () {\n              var foldArgs = [];\n              for (var _i = 0; _i < arguments.length; _i++) {\n                foldArgs[_i] = arguments[_i];\n              }\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              var target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match: match,\n            log: function (label) {\n              console.log(label, {\n                constructors: constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    var Adt = { generate: generate };\n\n    Adt.generate([\n      {\n        bothErrors: [\n          'error1',\n          'error2'\n        ]\n      },\n      {\n        firstError: [\n          'error1',\n          'value2'\n        ]\n      },\n      {\n        secondError: [\n          'value1',\n          'error2'\n        ]\n      },\n      {\n        bothValues: [\n          'value1',\n          'value2'\n        ]\n      }\n    ]);\n\n    var create = function (getCanvas, blob, uri) {\n      var initialType = blob.type;\n      var getType = constant(initialType);\n      var toBlob = function () {\n        return Promise$1.resolve(blob);\n      };\n      var toDataURL = constant(uri);\n      var toBase64 = function () {\n        return uri.split(',')[1];\n      };\n      var toAdjustedBlob = function (type, quality) {\n        return getCanvas.then(function (canvas) {\n          return canvasToBlob(canvas, type, quality);\n        });\n      };\n      var toAdjustedDataURL = function (type, quality) {\n        return getCanvas.then(function (canvas) {\n          return canvasToDataURL(canvas, type, quality);\n        });\n      };\n      var toAdjustedBase64 = function (type, quality) {\n        return toAdjustedDataURL(type, quality).then(function (dataurl) {\n          return dataurl.split(',')[1];\n        });\n      };\n      var toCanvas = function () {\n        return getCanvas.then(clone);\n      };\n      return {\n        getType: getType,\n        toBlob: toBlob,\n        toDataURL: toDataURL,\n        toBase64: toBase64,\n        toAdjustedBlob: toAdjustedBlob,\n        toAdjustedDataURL: toAdjustedDataURL,\n        toAdjustedBase64: toAdjustedBase64,\n        toCanvas: toCanvas\n      };\n    };\n    var fromBlob = function (blob) {\n      return blobToDataUri(blob).then(function (uri) {\n        return create(blobToCanvas(blob), blob, uri);\n      });\n    };\n    var fromCanvas = function (canvas, type) {\n      return canvasToBlob(canvas, type).then(function (blob) {\n        return create(Promise$1.resolve(canvas), blob, canvas.toDataURL());\n      });\n    };\n\n    var ceilWithPrecision = function (num, precision) {\n      if (precision === void 0) {\n        precision = 2;\n      }\n      var mul = Math.pow(10, precision);\n      var upper = Math.round(num * mul);\n      return Math.ceil(upper / mul);\n    };\n    var rotate$2 = function (ir, angle) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyRotate(canvas, ir.getType(), angle);\n      });\n    };\n    var applyRotate = function (image, type, angle) {\n      var degrees = angle < 0 ? 360 + angle : angle;\n      var rad = degrees * Math.PI / 180;\n      var width = image.width;\n      var height = image.height;\n      var sin = Math.sin(rad);\n      var cos = Math.cos(rad);\n      var newWidth = ceilWithPrecision(Math.abs(width * cos) + Math.abs(height * sin));\n      var newHeight = ceilWithPrecision(Math.abs(width * sin) + Math.abs(height * cos));\n      var canvas = create$1(newWidth, newHeight);\n      var context = get2dContext(canvas);\n      context.translate(newWidth / 2, newHeight / 2);\n      context.rotate(rad);\n      context.drawImage(image, -width / 2, -height / 2);\n      return fromCanvas(canvas, type);\n    };\n    var flip$2 = function (ir, axis) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyFlip(canvas, ir.getType(), axis);\n      });\n    };\n    var applyFlip = function (image, type, axis) {\n      var canvas = create$1(image.width, image.height);\n      var context = get2dContext(canvas);\n      if (axis === 'v') {\n        context.scale(1, -1);\n        context.drawImage(image, 0, -canvas.height);\n      } else {\n        context.scale(-1, 1);\n        context.drawImage(image, -canvas.width, 0);\n      }\n      return fromCanvas(canvas, type);\n    };\n\n    var flip$1 = function (ir, axis) {\n      return flip$2(ir, axis);\n    };\n    var rotate$1 = function (ir, angle) {\n      return rotate$2(ir, angle);\n    };\n\n    var sendRequest = function (url, headers, withCredentials) {\n      if (withCredentials === void 0) {\n        withCredentials = false;\n      }\n      return new Promise$1(function (resolve) {\n        var xhr = new XMLHttpRequest();\n        xhr.onreadystatechange = function () {\n          if (xhr.readyState === 4) {\n            resolve({\n              status: xhr.status,\n              blob: xhr.response\n            });\n          }\n        };\n        xhr.open('GET', url, true);\n        xhr.withCredentials = withCredentials;\n        each(headers, function (value, key) {\n          xhr.setRequestHeader(key, value);\n        });\n        xhr.responseType = 'blob';\n        xhr.send();\n      });\n    };\n    var readBlobText = function (blob) {\n      return new Promise$1(function (resolve, reject) {\n        var reader = new FileReader();\n        reader.onload = function () {\n          resolve(reader.result);\n        };\n        reader.onerror = function (e) {\n          reject(e);\n        };\n        reader.readAsText(blob);\n      });\n    };\n    var parseJson = function (text) {\n      try {\n        return Optional.some(JSON.parse(text));\n      } catch (ex) {\n        return Optional.none();\n      }\n    };\n\n    var friendlyHttpErrors = [\n      {\n        code: 404,\n        message: 'Could not find Image Proxy'\n      },\n      {\n        code: 403,\n        message: 'Rejected request'\n      },\n      {\n        code: 0,\n        message: 'Incorrect Image Proxy URL'\n      }\n    ];\n    var friendlyServiceErrors = [\n      {\n        type: 'not_found',\n        message: 'Failed to load image.'\n      },\n      {\n        type: 'key_missing',\n        message: 'The request did not include an api key.'\n      },\n      {\n        type: 'key_not_found',\n        message: 'The provided api key could not be found.'\n      },\n      {\n        type: 'domain_not_trusted',\n        message: 'The api key is not valid for the request origins.'\n      }\n    ];\n    var traverseJson = function (json, path) {\n      var value = foldl(path, function (result, key) {\n        return isNonNullable(result) ? result[key] : undefined;\n      }, json);\n      return Optional.from(value);\n    };\n    var isServiceErrorCode = function (code, blob) {\n      return (blob === null || blob === void 0 ? void 0 : blob.type) === 'application/json' && (code === 400 || code === 403 || code === 404 || code === 500);\n    };\n    var getHttpErrorMsg = function (status) {\n      var message = find(friendlyHttpErrors, function (error) {\n        return status === error.code;\n      }).fold(constant('Unknown ImageProxy error'), function (error) {\n        return error.message;\n      });\n      return 'ImageProxy HTTP error: ' + message;\n    };\n    var handleHttpError = function (status) {\n      var message = getHttpErrorMsg(status);\n      return Promise$1.reject(message);\n    };\n    var getServiceErrorMsg = function (type) {\n      return find(friendlyServiceErrors, function (error) {\n        return error.type === type;\n      }).fold(constant('Unknown service error'), function (error) {\n        return error.message;\n      });\n    };\n    var getServiceError = function (text) {\n      var serviceError = parseJson(text);\n      var errorMsg = serviceError.bind(function (err) {\n        return traverseJson(err, [\n          'error',\n          'type'\n        ]).map(getServiceErrorMsg);\n      }).getOr('Invalid JSON in service error message');\n      return 'ImageProxy Service error: ' + errorMsg;\n    };\n    var handleServiceError = function (blob) {\n      return readBlobText(blob).then(function (text) {\n        var serviceError = getServiceError(text);\n        return Promise$1.reject(serviceError);\n      });\n    };\n    var handleServiceErrorResponse = function (status, blob) {\n      return isServiceErrorCode(status, blob) ? handleServiceError(blob) : handleHttpError(status);\n    };\n\n    var appendApiKey = function (url, apiKey) {\n      var separator = url.indexOf('?') === -1 ? '?' : '&';\n      if (/[?&]apiKey=/.test(url)) {\n        return url;\n      } else {\n        return url + separator + 'apiKey=' + encodeURIComponent(apiKey);\n      }\n    };\n    var isError = function (status) {\n      return status < 200 || status >= 300;\n    };\n    var requestServiceBlob = function (url, apiKey) {\n      var headers = {\n        'Content-Type': 'application/json;charset=UTF-8',\n        'tiny-api-key': apiKey\n      };\n      return sendRequest(appendApiKey(url, apiKey), headers).then(function (result) {\n        return isError(result.status) ? handleServiceErrorResponse(result.status, result.blob) : Promise$1.resolve(result.blob);\n      });\n    };\n    var requestBlob = function (url, withCredentials) {\n      return sendRequest(url, {}, withCredentials).then(function (result) {\n        return isError(result.status) ? handleHttpError(result.status) : Promise$1.resolve(result.blob);\n      });\n    };\n    var getUrl = function (url, apiKey, withCredentials) {\n      if (withCredentials === void 0) {\n        withCredentials = false;\n      }\n      return apiKey ? requestServiceBlob(url, apiKey) : requestBlob(url, withCredentials);\n    };\n\n    var blobToImageResult = function (blob) {\n      return fromBlob(blob);\n    };\n\n    var ELEMENT = 1;\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var is = function (element, selector) {\n      var dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        var elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var child$1 = function (scope, predicate) {\n      var pred = function (node) {\n        return predicate(SugarElement.fromDom(node));\n      };\n      var result = find(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n\n    var child = function (scope, selector) {\n      return child$1(scope, function (e) {\n        return is(e, selector);\n      });\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    var getToolbarItems = function (editor) {\n      return editor.getParam('imagetools_toolbar', 'rotateleft rotateright flipv fliph editimage imageoptions');\n    };\n    var getProxyUrl = function (editor) {\n      return editor.getParam('imagetools_proxy');\n    };\n    var getCorsHosts = function (editor) {\n      return editor.getParam('imagetools_cors_hosts', [], 'string[]');\n    };\n    var getCredentialsHosts = function (editor) {\n      return editor.getParam('imagetools_credentials_hosts', [], 'string[]');\n    };\n    var getFetchImage = function (editor) {\n      return Optional.from(editor.getParam('imagetools_fetch_image', null, 'function'));\n    };\n    var getApiKey = function (editor) {\n      return editor.getParam('api_key', editor.getParam('imagetools_api_key', '', 'string'), 'string');\n    };\n    var getUploadTimeout = function (editor) {\n      return editor.getParam('images_upload_timeout', 30000, 'number');\n    };\n    var shouldReuseFilename = function (editor) {\n      return editor.getParam('images_reuse_filename', false, 'boolean');\n    };\n\n    var getImageSize = function (img) {\n      var width, height;\n      var isPxValue = function (value) {\n        return /^[0-9\\.]+px$/.test(value);\n      };\n      width = img.style.width;\n      height = img.style.height;\n      if (width || height) {\n        if (isPxValue(width) && isPxValue(height)) {\n          return {\n            w: parseInt(width, 10),\n            h: parseInt(height, 10)\n          };\n        }\n        return null;\n      }\n      width = img.width;\n      height = img.height;\n      if (width && height) {\n        return {\n          w: parseInt(width, 10),\n          h: parseInt(height, 10)\n        };\n      }\n      return null;\n    };\n    var setImageSize = function (img, size) {\n      var width, height;\n      if (size) {\n        width = img.style.width;\n        height = img.style.height;\n        if (width || height) {\n          img.style.width = size.w + 'px';\n          img.style.height = size.h + 'px';\n          img.removeAttribute('data-mce-style');\n        }\n        width = img.width;\n        height = img.height;\n        if (width || height) {\n          img.setAttribute('width', String(size.w));\n          img.setAttribute('height', String(size.h));\n        }\n      }\n    };\n    var getNaturalImageSize = function (img) {\n      return {\n        w: img.naturalWidth,\n        h: img.naturalHeight\n      };\n    };\n\n    var count = 0;\n    var getFigureImg = function (elem) {\n      return child(SugarElement.fromDom(elem), 'img');\n    };\n    var isFigure = function (editor, elem) {\n      return editor.dom.is(elem, 'figure');\n    };\n    var isImage = function (editor, imgNode) {\n      return editor.dom.is(imgNode, 'img:not([data-mce-object],[data-mce-placeholder])');\n    };\n    var getEditableImage = function (editor, node) {\n      var isEditable = function (imgNode) {\n        return isImage(editor, imgNode) && (isLocalImage(editor, imgNode) || isCorsImage(editor, imgNode) || isNonNullable(getProxyUrl(editor)));\n      };\n      if (isFigure(editor, node)) {\n        return getFigureImg(node).bind(function (img) {\n          return isEditable(img.dom) ? Optional.some(img.dom) : Optional.none();\n        });\n      } else {\n        return isEditable(node) ? Optional.some(node) : Optional.none();\n      }\n    };\n    var displayError = function (editor, error) {\n      editor.notificationManager.open({\n        text: error,\n        type: 'error'\n      });\n    };\n    var getSelectedImage = function (editor) {\n      var elem = editor.selection.getNode();\n      var figureElm = editor.dom.getParent(elem, 'figure.image');\n      if (figureElm !== null && isFigure(editor, figureElm)) {\n        return getFigureImg(figureElm);\n      } else if (isImage(editor, elem)) {\n        return Optional.some(SugarElement.fromDom(elem));\n      } else {\n        return Optional.none();\n      }\n    };\n    var extractFilename = function (editor, url, group) {\n      var m = url.match(/(?:\\/|^)(([^\\/\\?]+)\\.(?:[a-z0-9.]+))(?:\\?|$)/i);\n      return isNonNullable(m) ? editor.dom.encode(m[group]) : null;\n    };\n    var createId = function () {\n      return 'imagetools' + count++;\n    };\n    var isLocalImage = function (editor, img) {\n      var url = img.src;\n      return url.indexOf('data:') === 0 || url.indexOf('blob:') === 0 || new global$1(url).host === editor.documentBaseURI.host;\n    };\n    var isCorsImage = function (editor, img) {\n      return global$4.inArray(getCorsHosts(editor), new global$1(img.src).host) !== -1;\n    };\n    var isCorsWithCredentialsImage = function (editor, img) {\n      return global$4.inArray(getCredentialsHosts(editor), new global$1(img.src).host) !== -1;\n    };\n    var defaultFetchImage = function (editor, img) {\n      if (isCorsImage(editor, img)) {\n        return getUrl(img.src, null, isCorsWithCredentialsImage(editor, img));\n      }\n      if (!isLocalImage(editor, img)) {\n        var proxyUrl = getProxyUrl(editor);\n        var src = proxyUrl + (proxyUrl.indexOf('?') === -1 ? '?' : '&') + 'url=' + encodeURIComponent(img.src);\n        var apiKey = getApiKey(editor);\n        return getUrl(src, apiKey, false);\n      }\n      return imageToBlob$1(img);\n    };\n    var imageToBlob = function (editor, img) {\n      return getFetchImage(editor).fold(function () {\n        return defaultFetchImage(editor, img);\n      }, function (customFetchImage) {\n        return customFetchImage(img);\n      });\n    };\n    var findBlob = function (editor, img) {\n      var blobInfo = editor.editorUpload.blobCache.getByUri(img.src);\n      if (blobInfo) {\n        return global$2.resolve(blobInfo.blob());\n      }\n      return imageToBlob(editor, img);\n    };\n    var startTimedUpload = function (editor, imageUploadTimerState) {\n      var imageUploadTimer = global$3.setEditorTimeout(editor, function () {\n        editor.editorUpload.uploadImagesAuto();\n      }, getUploadTimeout(editor));\n      imageUploadTimerState.set(imageUploadTimer);\n    };\n    var cancelTimedUpload = function (imageUploadTimerState) {\n      global$3.clearTimeout(imageUploadTimerState.get());\n    };\n    var updateSelectedImage = function (editor, origBlob, ir, uploadImmediately, imageUploadTimerState, selectedImage, size) {\n      return ir.toBlob().then(function (blob) {\n        var uri, name, filename, blobInfo;\n        var blobCache = editor.editorUpload.blobCache;\n        uri = selectedImage.src;\n        var useFilename = origBlob.type === blob.type;\n        if (shouldReuseFilename(editor)) {\n          blobInfo = blobCache.getByUri(uri);\n          if (isNonNullable(blobInfo)) {\n            uri = blobInfo.uri();\n            name = blobInfo.name();\n            filename = blobInfo.filename();\n          } else {\n            name = extractFilename(editor, uri, 2);\n            filename = extractFilename(editor, uri, 1);\n          }\n        }\n        blobInfo = blobCache.create({\n          id: createId(),\n          blob: blob,\n          base64: ir.toBase64(),\n          uri: uri,\n          name: name,\n          filename: useFilename ? filename : undefined\n        });\n        blobCache.add(blobInfo);\n        editor.undoManager.transact(function () {\n          var imageLoadedHandler = function () {\n            editor.$(selectedImage).off('load', imageLoadedHandler);\n            editor.nodeChanged();\n            if (uploadImmediately) {\n              editor.editorUpload.uploadImagesAuto();\n            } else {\n              cancelTimedUpload(imageUploadTimerState);\n              startTimedUpload(editor, imageUploadTimerState);\n            }\n          };\n          editor.$(selectedImage).on('load', imageLoadedHandler);\n          if (size) {\n            editor.$(selectedImage).attr({\n              width: size.w,\n              height: size.h\n            });\n          }\n          editor.$(selectedImage).attr({ src: blobInfo.blobUri() }).removeAttr('data-mce-src');\n        });\n        return blobInfo;\n      });\n    };\n    var selectedImageOperation = function (editor, imageUploadTimerState, fn, size) {\n      return function () {\n        var imgOpt = getSelectedImage(editor);\n        return imgOpt.fold(function () {\n          displayError(editor, 'Could not find selected image');\n        }, function (img) {\n          return editor._scanForImages().then(function () {\n            return findBlob(editor, img.dom);\n          }).then(function (blob) {\n            return blobToImageResult(blob).then(fn).then(function (imageResult) {\n              return updateSelectedImage(editor, blob, imageResult, false, imageUploadTimerState, img.dom, size);\n            });\n          }).catch(function (error) {\n            displayError(editor, error);\n          });\n        });\n      };\n    };\n    var rotate = function (editor, imageUploadTimerState, angle) {\n      return function () {\n        var imgOpt = getSelectedImage(editor);\n        var flippedSize = imgOpt.map(function (img) {\n          var size = getImageSize(img.dom);\n          return size ? {\n            w: size.h,\n            h: size.w\n          } : null;\n        }).getOrNull();\n        return selectedImageOperation(editor, imageUploadTimerState, function (imageResult) {\n          return rotate$1(imageResult, angle);\n        }, flippedSize)();\n      };\n    };\n    var flip = function (editor, imageUploadTimerState, axis) {\n      return function () {\n        return selectedImageOperation(editor, imageUploadTimerState, function (imageResult) {\n          return flip$1(imageResult, axis);\n        })();\n      };\n    };\n    var handleDialogBlob = function (editor, imageUploadTimerState, img, originalSize, blob) {\n      return blobToImage(blob).then(function (newImage) {\n        var newSize = getNaturalImageSize(newImage);\n        if (originalSize.w !== newSize.w || originalSize.h !== newSize.h) {\n          if (getImageSize(img)) {\n            setImageSize(img, newSize);\n          }\n        }\n        URL.revokeObjectURL(newImage.src);\n        return blob;\n      }).then(blobToImageResult).then(function (imageResult) {\n        return updateSelectedImage(editor, blob, imageResult, true, imageUploadTimerState, img);\n      });\n    };\n\n    var saveState = 'save-state';\n    var disable = 'disable';\n    var enable = 'enable';\n\n    var createState = function (blob) {\n      return {\n        blob: blob,\n        url: URL.createObjectURL(blob)\n      };\n    };\n    var makeOpen = function (editor, imageUploadTimerState) {\n      return function () {\n        var getLoadedSpec = function (currentState) {\n          return {\n            title: 'Edit Image',\n            size: 'large',\n            body: {\n              type: 'panel',\n              items: [{\n                  type: 'imagetools',\n                  name: 'imagetools',\n                  label: 'Edit Image',\n                  currentState: currentState\n                }]\n            },\n            buttons: [\n              {\n                type: 'cancel',\n                name: 'cancel',\n                text: 'Cancel'\n              },\n              {\n                type: 'submit',\n                name: 'save',\n                text: 'Save',\n                primary: true,\n                disabled: true\n              }\n            ],\n            onSubmit: function (api) {\n              var blob = api.getData().imagetools.blob;\n              originalImgOpt.each(function (originalImg) {\n                originalSizeOpt.each(function (originalSize) {\n                  handleDialogBlob(editor, imageUploadTimerState, originalImg.dom, originalSize, blob);\n                });\n              });\n              api.close();\n            },\n            onCancel: noop,\n            onAction: function (api, details) {\n              switch (details.name) {\n              case saveState:\n                if (details.value) {\n                  api.enable('save');\n                } else {\n                  api.disable('save');\n                }\n                break;\n              case disable:\n                api.disable('save');\n                api.disable('cancel');\n                break;\n              case enable:\n                api.enable('cancel');\n                break;\n              }\n            }\n          };\n        };\n        var originalImgOpt = getSelectedImage(editor);\n        var originalSizeOpt = originalImgOpt.map(function (origImg) {\n          return getNaturalImageSize(origImg.dom);\n        });\n        originalImgOpt.each(function (img) {\n          getEditableImage(editor, img.dom).each(function (_) {\n            findBlob(editor, img.dom).then(function (blob) {\n              var state = createState(blob);\n              editor.windowManager.open(getLoadedSpec(state));\n            });\n          });\n        });\n      };\n    };\n\n    var register$2 = function (editor, imageUploadTimerState) {\n      global$4.each({\n        mceImageRotateLeft: rotate(editor, imageUploadTimerState, -90),\n        mceImageRotateRight: rotate(editor, imageUploadTimerState, 90),\n        mceImageFlipVertical: flip(editor, imageUploadTimerState, 'v'),\n        mceImageFlipHorizontal: flip(editor, imageUploadTimerState, 'h'),\n        mceEditImage: makeOpen(editor, imageUploadTimerState)\n      }, function (fn, cmd) {\n        editor.addCommand(cmd, fn);\n      });\n    };\n\n    var setup = function (editor, imageUploadTimerState, lastSelectedImageState) {\n      editor.on('NodeChange', function (e) {\n        var lastSelectedImage = lastSelectedImageState.get();\n        var selectedImage = getEditableImage(editor, e.element);\n        if (lastSelectedImage && !selectedImage.exists(function (img) {\n            return lastSelectedImage.src === img.src;\n          })) {\n          cancelTimedUpload(imageUploadTimerState);\n          editor.editorUpload.uploadImagesAuto();\n          lastSelectedImageState.set(null);\n        }\n        selectedImage.each(lastSelectedImageState.set);\n      });\n    };\n\n    var register$1 = function (editor) {\n      var changeHandlers = [];\n      var cmd = function (command) {\n        return function () {\n          return editor.execCommand(command);\n        };\n      };\n      var isEditableImage = function () {\n        return getSelectedImage(editor).exists(function (element) {\n          return getEditableImage(editor, element.dom).isSome();\n        });\n      };\n      var onSetup = function (api) {\n        var handler = function (isEditableImage) {\n          return api.setDisabled(!isEditableImage);\n        };\n        handler(isEditableImage());\n        changeHandlers = changeHandlers.concat([handler]);\n        return function () {\n          changeHandlers = filter(changeHandlers, function (h) {\n            return h !== handler;\n          });\n        };\n      };\n      editor.on('NodeChange', function () {\n        var isEditable = isEditableImage();\n        each$1(changeHandlers, function (handler) {\n          return handler(isEditable);\n        });\n      });\n      editor.ui.registry.addButton('rotateleft', {\n        tooltip: 'Rotate counterclockwise',\n        icon: 'rotate-left',\n        onAction: cmd('mceImageRotateLeft'),\n        onSetup: onSetup\n      });\n      editor.ui.registry.addButton('rotateright', {\n        tooltip: 'Rotate clockwise',\n        icon: 'rotate-right',\n        onAction: cmd('mceImageRotateRight'),\n        onSetup: onSetup\n      });\n      editor.ui.registry.addButton('flipv', {\n        tooltip: 'Flip vertically',\n        icon: 'flip-vertically',\n        onAction: cmd('mceImageFlipVertical'),\n        onSetup: onSetup\n      });\n      editor.ui.registry.addButton('fliph', {\n        tooltip: 'Flip horizontally',\n        icon: 'flip-horizontally',\n        onAction: cmd('mceImageFlipHorizontal'),\n        onSetup: onSetup\n      });\n      editor.ui.registry.addButton('editimage', {\n        tooltip: 'Edit image',\n        icon: 'edit-image',\n        onAction: cmd('mceEditImage'),\n        onSetup: onSetup\n      });\n      editor.ui.registry.addButton('imageoptions', {\n        tooltip: 'Image options',\n        icon: 'image',\n        onAction: cmd('mceImage')\n      });\n      editor.ui.registry.addContextMenu('imagetools', {\n        update: function (element) {\n          return getEditableImage(editor, element).map(function (_) {\n            return {\n              text: 'Edit image',\n              icon: 'edit-image',\n              onAction: cmd('mceEditImage')\n            };\n          }).toArray();\n        }\n      });\n    };\n\n    var register = function (editor) {\n      editor.ui.registry.addContextToolbar('imagetools', {\n        items: getToolbarItems(editor),\n        predicate: function (elem) {\n          return getEditableImage(editor, elem).isSome();\n        },\n        position: 'node',\n        scope: 'node'\n      });\n    };\n\n    function Plugin () {\n      global$5.add('imagetools', function (editor) {\n        var imageUploadTimerState = Cell(0);\n        var lastSelectedImageState = Cell(null);\n        register$2(editor, imageUploadTimerState);\n        register$1(editor);\n        register(editor);\n        setup(editor, imageUploadTimerState, lastSelectedImageState);\n      });\n    }\n\n    Plugin();\n\n}());\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/imagetools/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/insertdatetime/index.js":
/*!**************************************************************!*\
  !*** ./node_modules/tinymce/plugins/insertdatetime/index.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"insertdatetime\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/insertdatetime')\n//   ES2015:\n//     import 'tinymce/plugins/insertdatetime'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/insertdatetime/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/insertdatetime/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/insertdatetime/plugin.js":
/*!***************************************************************!*\
  !*** ./node_modules/tinymce/plugins/insertdatetime/plugin.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var getDateFormat = function (editor) {\n      return editor.getParam('insertdatetime_dateformat', editor.translate('%Y-%m-%d'));\n    };\n    var getTimeFormat = function (editor) {\n      return editor.getParam('insertdatetime_timeformat', editor.translate('%H:%M:%S'));\n    };\n    var getFormats = function (editor) {\n      return editor.getParam('insertdatetime_formats', [\n        '%H:%M:%S',\n        '%Y-%m-%d',\n        '%I:%M:%S %p',\n        '%D'\n      ]);\n    };\n    var getDefaultDateTime = function (editor) {\n      var formats = getFormats(editor);\n      return formats.length > 0 ? formats[0] : getTimeFormat(editor);\n    };\n    var shouldInsertTimeElement = function (editor) {\n      return editor.getParam('insertdatetime_element', false);\n    };\n\n    var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');\n    var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');\n    var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');\n    var monthsLong = 'January February March April May June July August September October November December'.split(' ');\n    var addZeros = function (value, len) {\n      value = '' + value;\n      if (value.length < len) {\n        for (var i = 0; i < len - value.length; i++) {\n          value = '0' + value;\n        }\n      }\n      return value;\n    };\n    var getDateTime = function (editor, fmt, date) {\n      if (date === void 0) {\n        date = new Date();\n      }\n      fmt = fmt.replace('%D', '%m/%d/%Y');\n      fmt = fmt.replace('%r', '%I:%M:%S %p');\n      fmt = fmt.replace('%Y', '' + date.getFullYear());\n      fmt = fmt.replace('%y', '' + date.getYear());\n      fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));\n      fmt = fmt.replace('%d', addZeros(date.getDate(), 2));\n      fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));\n      fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));\n      fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));\n      fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));\n      fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));\n      fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));\n      fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));\n      fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));\n      fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));\n      fmt = fmt.replace('%%', '%');\n      return fmt;\n    };\n    var updateElement = function (editor, timeElm, computerTime, userTime) {\n      var newTimeElm = editor.dom.create('time', { datetime: computerTime }, userTime);\n      timeElm.parentNode.insertBefore(newTimeElm, timeElm);\n      editor.dom.remove(timeElm);\n      editor.selection.select(newTimeElm, true);\n      editor.selection.collapse(false);\n    };\n    var insertDateTime = function (editor, format) {\n      if (shouldInsertTimeElement(editor)) {\n        var userTime = getDateTime(editor, format);\n        var computerTime = void 0;\n        if (/%[HMSIp]/.test(format)) {\n          computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');\n        } else {\n          computerTime = getDateTime(editor, '%Y-%m-%d');\n        }\n        var timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');\n        if (timeElm) {\n          updateElement(editor, timeElm, computerTime, userTime);\n        } else {\n          editor.insertContent('<time datetime=\"' + computerTime + '\">' + userTime + '</time>');\n        }\n      } else {\n        editor.insertContent(getDateTime(editor, format));\n      }\n    };\n\n    var register$1 = function (editor) {\n      editor.addCommand('mceInsertDate', function (_ui, value) {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getDateFormat(editor));\n      });\n      editor.addCommand('mceInsertTime', function (_ui, value) {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getTimeFormat(editor));\n      });\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var register = function (editor) {\n      var formats = getFormats(editor);\n      var defaultFormat = Cell(getDefaultDateTime(editor));\n      var insertDateTime = function (format) {\n        return editor.execCommand('mceInsertDate', false, format);\n      };\n      editor.ui.registry.addSplitButton('insertdatetime', {\n        icon: 'insert-time',\n        tooltip: 'Insert date/time',\n        select: function (value) {\n          return value === defaultFormat.get();\n        },\n        fetch: function (done) {\n          done(global.map(formats, function (format) {\n            return {\n              type: 'choiceitem',\n              text: getDateTime(editor, format),\n              value: format\n            };\n          }));\n        },\n        onAction: function (_api) {\n          insertDateTime(defaultFormat.get());\n        },\n        onItemAction: function (_api, value) {\n          defaultFormat.set(value);\n          insertDateTime(value);\n        }\n      });\n      var makeMenuItemHandler = function (format) {\n        return function () {\n          defaultFormat.set(format);\n          insertDateTime(format);\n        };\n      };\n      editor.ui.registry.addNestedMenuItem('insertdatetime', {\n        icon: 'insert-time',\n        text: 'Date/time',\n        getSubmenuItems: function () {\n          return global.map(formats, function (format) {\n            return {\n              type: 'menuitem',\n              text: getDateTime(editor, format),\n              onAction: makeMenuItemHandler(format)\n            };\n          });\n        }\n      });\n    };\n\n    function Plugin () {\n      global$1.add('insertdatetime', function (editor) {\n        register$1(editor);\n        register(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/insertdatetime/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/link/index.js":
/*!****************************************************!*\
  !*** ./node_modules/tinymce/plugins/link/index.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"link\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/link')\n//   ES2015:\n//     import 'tinymce/plugins/link'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/link/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/link/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/link/plugin.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/plugins/link/plugin.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var eq = function (t) {\n      return function (a) {\n        return t === a;\n      };\n    };\n    var isString = isType('string');\n    var isArray = isType('array');\n    var isNull = eq(null);\n    var isBoolean = isSimpleType('boolean');\n    var isFunction = isSimpleType('function');\n\n    var noop = function () {\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var tripleEquals = function (a, b) {\n      return a === b;\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var nativeIndexOf = Array.prototype.indexOf;\n    var nativePush = Array.prototype.push;\n    var rawIndexOf = function (ts, t) {\n      return nativeIndexOf.call(ts, t);\n    };\n    var contains = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each$1 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var foldl = function (xs, f, acc) {\n      each$1(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      return flatten(map(xs, f));\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    var is = function (lhs, rhs, comparator) {\n      if (comparator === void 0) {\n        comparator = tripleEquals;\n      }\n      return lhs.exists(function (left) {\n        return comparator(left, rhs);\n      });\n    };\n    var cat = function (arr) {\n      var r = [];\n      var push = function (x) {\n        r.push(x);\n      };\n      for (var i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    var someIf = function (b, a) {\n      return b ? Optional.some(a) : Optional.none();\n    };\n\n    var assumeExternalTargets = function (editor) {\n      var externalTargets = editor.getParam('link_assume_external_targets', false);\n      if (isBoolean(externalTargets) && externalTargets) {\n        return 1;\n      } else if (isString(externalTargets) && (externalTargets === 'http' || externalTargets === 'https')) {\n        return externalTargets;\n      }\n      return 0;\n    };\n    var hasContextToolbar = function (editor) {\n      return editor.getParam('link_context_toolbar', false, 'boolean');\n    };\n    var getLinkList = function (editor) {\n      return editor.getParam('link_list');\n    };\n    var getDefaultLinkTarget = function (editor) {\n      return editor.getParam('default_link_target');\n    };\n    var getTargetList = function (editor) {\n      return editor.getParam('target_list', true);\n    };\n    var getRelList = function (editor) {\n      return editor.getParam('rel_list', [], 'array');\n    };\n    var getLinkClassList = function (editor) {\n      return editor.getParam('link_class_list', [], 'array');\n    };\n    var shouldShowLinkTitle = function (editor) {\n      return editor.getParam('link_title', true, 'boolean');\n    };\n    var allowUnsafeLinkTarget = function (editor) {\n      return editor.getParam('allow_unsafe_link_target', false, 'boolean');\n    };\n    var useQuickLink = function (editor) {\n      return editor.getParam('link_quicklink', false, 'boolean');\n    };\n    var getDefaultLinkProtocol = function (editor) {\n      return editor.getParam('link_default_protocol', 'http', 'string');\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var getValue = function (item) {\n      return isString(item.value) ? item.value : '';\n    };\n    var getText = function (item) {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    var sanitizeList = function (list, extractValue) {\n      var out = [];\n      global$5.each(list, function (item) {\n        var text = getText(item);\n        if (item.menu !== undefined) {\n          var items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text: text,\n            items: items\n          });\n        } else {\n          var value = extractValue(item);\n          out.push({\n            text: text,\n            value: value\n          });\n        }\n      });\n      return out;\n    };\n    var sanitizeWith = function (extracter) {\n      if (extracter === void 0) {\n        extracter = getValue;\n      }\n      return function (list) {\n        return Optional.from(list).map(function (list) {\n          return sanitizeList(list, extracter);\n        });\n      };\n    };\n    var sanitize = function (list) {\n      return sanitizeWith(getValue)(list);\n    };\n    var createUi = function (name, label) {\n      return function (items) {\n        return {\n          name: name,\n          type: 'listbox',\n          label: label,\n          items: items\n        };\n      };\n    };\n    var ListOptions = {\n      sanitize: sanitize,\n      sanitizeWith: sanitizeWith,\n      createUi: createUi,\n      getValue: getValue\n    };\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n\n    var keys = Object.keys;\n    var hasOwnProperty = Object.hasOwnProperty;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var objAcc = function (r) {\n      return function (x, i) {\n        r[i] = x;\n      };\n    };\n    var internalFilter = function (obj, pred, onTrue, onFalse) {\n      var r = {};\n      each(obj, function (x, i) {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n      return r;\n    };\n    var filter = function (obj, pred) {\n      var t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    var has = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n    var hasNonNullableKey = function (obj, key) {\n      return has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    };\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    var isAnchor = function (elm) {\n      return elm && elm.nodeName.toLowerCase() === 'a';\n    };\n    var isLink = function (elm) {\n      return isAnchor(elm) && !!getHref(elm);\n    };\n    var collectNodesInRange = function (rng, predicate) {\n      if (rng.collapsed) {\n        return [];\n      } else {\n        var contents = rng.cloneContents();\n        var walker = new global$4(contents.firstChild, contents);\n        var elements = [];\n        var current = contents.firstChild;\n        do {\n          if (predicate(current)) {\n            elements.push(current);\n          }\n        } while (current = walker.next());\n        return elements;\n      }\n    };\n    var hasProtocol = function (url) {\n      return /^\\w+:/i.test(url);\n    };\n    var getHref = function (elm) {\n      var href = elm.getAttribute('data-mce-href');\n      return href ? href : elm.getAttribute('href');\n    };\n    var applyRelTargetRules = function (rel, isUnsafe) {\n      var rules = ['noopener'];\n      var rels = rel ? rel.split(/\\s+/) : [];\n      var toString = function (rels) {\n        return global$5.trim(rels.sort().join(' '));\n      };\n      var addTargetRules = function (rels) {\n        rels = removeTargetRules(rels);\n        return rels.length > 0 ? rels.concat(rules) : rules;\n      };\n      var removeTargetRules = function (rels) {\n        return rels.filter(function (val) {\n          return global$5.inArray(rules, val) === -1;\n        });\n      };\n      var newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);\n      return newRels.length > 0 ? toString(newRels) : '';\n    };\n    var trimCaretContainers = function (text) {\n      return text.replace(/\\uFEFF/g, '');\n    };\n    var getAnchorElement = function (editor, selectedElm) {\n      selectedElm = selectedElm || editor.selection.getNode();\n      if (isImageFigure(selectedElm)) {\n        return editor.dom.select('a[href]', selectedElm)[0];\n      } else {\n        return editor.dom.getParent(selectedElm, 'a[href]');\n      }\n    };\n    var getAnchorText = function (selection, anchorElm) {\n      var text = anchorElm ? anchorElm.innerText || anchorElm.textContent : selection.getContent({ format: 'text' });\n      return trimCaretContainers(text);\n    };\n    var hasLinks = function (elements) {\n      return global$5.grep(elements, isLink).length > 0;\n    };\n    var hasLinksInSelection = function (rng) {\n      return collectNodesInRange(rng, isLink).length > 0;\n    };\n    var isOnlyTextSelected = function (editor) {\n      var inlineTextElements = editor.schema.getTextInlineElements();\n      var isElement = function (elm) {\n        return elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase());\n      };\n      var elements = collectNodesInRange(editor.selection.getRng(), isElement);\n      return elements.length === 0;\n    };\n    var isImageFigure = function (elm) {\n      return elm && elm.nodeName === 'FIGURE' && /\\bimage\\b/i.test(elm.className);\n    };\n    var getLinkAttrs = function (data) {\n      var attrs = [\n        'title',\n        'rel',\n        'class',\n        'target'\n      ];\n      return foldl(attrs, function (acc, key) {\n        data[key].each(function (value) {\n          acc[key] = value.length > 0 ? value : null;\n        });\n        return acc;\n      }, { href: data.href });\n    };\n    var handleExternalTargets = function (href, assumeExternalTargets) {\n      if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) {\n        return assumeExternalTargets + '://' + href;\n      }\n      return href;\n    };\n    var applyLinkOverrides = function (editor, linkAttrs) {\n      var newLinkAttrs = __assign({}, linkAttrs);\n      if (!(getRelList(editor).length > 0) && allowUnsafeLinkTarget(editor) === false) {\n        var newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank');\n        newLinkAttrs.rel = newRel ? newRel : null;\n      }\n      if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) {\n        newLinkAttrs.target = getDefaultLinkTarget(editor);\n      }\n      newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor));\n      return newLinkAttrs;\n    };\n    var updateLink = function (editor, anchorElm, text, linkAttrs) {\n      text.each(function (text) {\n        if (has(anchorElm, 'innerText')) {\n          anchorElm.innerText = text;\n        } else {\n          anchorElm.textContent = text;\n        }\n      });\n      editor.dom.setAttribs(anchorElm, linkAttrs);\n      editor.selection.select(anchorElm);\n    };\n    var createLink = function (editor, selectedElm, text, linkAttrs) {\n      if (isImageFigure(selectedElm)) {\n        linkImageFigure(editor, selectedElm, linkAttrs);\n      } else {\n        text.fold(function () {\n          editor.execCommand('mceInsertLink', false, linkAttrs);\n        }, function (text) {\n          editor.insertContent(editor.dom.createHTML('a', linkAttrs, editor.dom.encode(text)));\n        });\n      }\n    };\n    var linkDomMutation = function (editor, attachState, data) {\n      var selectedElm = editor.selection.getNode();\n      var anchorElm = getAnchorElement(editor, selectedElm);\n      var linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data));\n      editor.undoManager.transact(function () {\n        if (data.href === attachState.href) {\n          attachState.attach();\n        }\n        if (anchorElm) {\n          editor.focus();\n          updateLink(editor, anchorElm, data.text, linkAttrs);\n        } else {\n          createLink(editor, selectedElm, data.text, linkAttrs);\n        }\n      });\n    };\n    var unlinkSelection = function (editor) {\n      var dom = editor.dom, selection = editor.selection;\n      var bookmark = selection.getBookmark();\n      var rng = selection.getRng().cloneRange();\n      var startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody());\n      var endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody());\n      if (startAnchorElm) {\n        rng.setStartBefore(startAnchorElm);\n      }\n      if (endAnchorElm) {\n        rng.setEndAfter(endAnchorElm);\n      }\n      selection.setRng(rng);\n      editor.execCommand('unlink');\n      selection.moveToBookmark(bookmark);\n    };\n    var unlinkDomMutation = function (editor) {\n      editor.undoManager.transact(function () {\n        var node = editor.selection.getNode();\n        if (isImageFigure(node)) {\n          unlinkImageFigure(editor, node);\n        } else {\n          unlinkSelection(editor);\n        }\n        editor.focus();\n      });\n    };\n    var unwrapOptions = function (data) {\n      var cls = data.class, href = data.href, rel = data.rel, target = data.target, text = data.text, title = data.title;\n      return filter({\n        class: cls.getOrNull(),\n        href: href,\n        rel: rel.getOrNull(),\n        target: target.getOrNull(),\n        text: text.getOrNull(),\n        title: title.getOrNull()\n      }, function (v, _k) {\n        return isNull(v) === false;\n      });\n    };\n    var sanitizeData = function (editor, data) {\n      var href = data.href;\n      return __assign(__assign({}, data), { href: global$3.isDomSafe(href, 'a', editor.settings) ? href : '' });\n    };\n    var link = function (editor, attachState, data) {\n      var sanitizedData = sanitizeData(editor, data);\n      editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);\n    };\n    var unlink = function (editor) {\n      editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);\n    };\n    var unlinkImageFigure = function (editor, fig) {\n      var img = editor.dom.select('img', fig)[0];\n      if (img) {\n        var a = editor.dom.getParents(img, 'a[href]', fig)[0];\n        if (a) {\n          a.parentNode.insertBefore(img, a);\n          editor.dom.remove(a);\n        }\n      }\n    };\n    var linkImageFigure = function (editor, fig, attrs) {\n      var img = editor.dom.select('img', fig)[0];\n      if (img) {\n        var a = editor.dom.create('a', attrs);\n        img.parentNode.insertBefore(a, img);\n        a.appendChild(img);\n      }\n    };\n\n    var isListGroup = function (item) {\n      return hasNonNullableKey(item, 'items');\n    };\n    var findTextByValue = function (value, catalog) {\n      return findMap(catalog, function (item) {\n        if (isListGroup(item)) {\n          return findTextByValue(value, item.items);\n        } else {\n          return someIf(item.value === value, item);\n        }\n      });\n    };\n    var getDelta = function (persistentText, fieldName, catalog, data) {\n      var value = data[fieldName];\n      var hasPersistentText = persistentText.length > 0;\n      return value !== undefined ? findTextByValue(value, catalog).map(function (i) {\n        return {\n          url: {\n            value: i.value,\n            meta: {\n              text: hasPersistentText ? persistentText : i.text,\n              attach: noop\n            }\n          },\n          text: hasPersistentText ? persistentText : i.text\n        };\n      }) : Optional.none();\n    };\n    var findCatalog = function (catalogs, fieldName) {\n      if (fieldName === 'link') {\n        return catalogs.link;\n      } else if (fieldName === 'anchor') {\n        return catalogs.anchor;\n      } else {\n        return Optional.none();\n      }\n    };\n    var init = function (initialData, linkCatalog) {\n      var persistentData = {\n        text: initialData.text,\n        title: initialData.title\n      };\n      var getTitleFromUrlChange = function (url) {\n        return someIf(persistentData.title.length <= 0, Optional.from(url.meta.title).getOr(''));\n      };\n      var getTextFromUrlChange = function (url) {\n        return someIf(persistentData.text.length <= 0, Optional.from(url.meta.text).getOr(url.value));\n      };\n      var onUrlChange = function (data) {\n        var text = getTextFromUrlChange(data.url);\n        var title = getTitleFromUrlChange(data.url);\n        if (text.isSome() || title.isSome()) {\n          return Optional.some(__assign(__assign({}, text.map(function (text) {\n            return { text: text };\n          }).getOr({})), title.map(function (title) {\n            return { title: title };\n          }).getOr({})));\n        } else {\n          return Optional.none();\n        }\n      };\n      var onCatalogChange = function (data, change) {\n        var catalog = findCatalog(linkCatalog, change.name).getOr([]);\n        return getDelta(persistentData.text, change.name, catalog, data);\n      };\n      var onChange = function (getData, change) {\n        var name = change.name;\n        if (name === 'url') {\n          return onUrlChange(getData());\n        } else if (contains([\n            'anchor',\n            'link'\n          ], name)) {\n          return onCatalogChange(getData(), change);\n        } else if (name === 'text' || name === 'title') {\n          persistentData[name] = getData()[name];\n          return Optional.none();\n        } else {\n          return Optional.none();\n        }\n      };\n      return { onChange: onChange };\n    };\n    var DialogChanges = {\n      init: init,\n      getDelta: getDelta\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n    var delayedConfirm = function (editor, message, callback) {\n      var rng = editor.selection.getRng();\n      global$2.setEditorTimeout(editor, function () {\n        editor.windowManager.confirm(message, function (state) {\n          editor.selection.setRng(rng);\n          callback(state);\n        });\n      });\n    };\n    var tryEmailTransform = function (data) {\n      var url = data.href;\n      var suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1;\n      return suggestMailTo ? Optional.some({\n        message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',\n        preprocess: function (oldData) {\n          return __assign(__assign({}, oldData), { href: 'mailto:' + url });\n        }\n      }) : Optional.none();\n    };\n    var tryProtocolTransform = function (assumeExternalTargets, defaultLinkProtocol) {\n      return function (data) {\n        var url = data.href;\n        var suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\\s*www(\\.|\\d\\.)/i.test(url);\n        return suggestProtocol ? Optional.some({\n          message: 'The URL you entered seems to be an external link. Do you want to add the required ' + defaultLinkProtocol + ':// prefix?',\n          preprocess: function (oldData) {\n            return __assign(__assign({}, oldData), { href: defaultLinkProtocol + '://' + url });\n          }\n        }) : Optional.none();\n      };\n    };\n    var preprocess = function (editor, data) {\n      return findMap([\n        tryEmailTransform,\n        tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor))\n      ], function (f) {\n        return f(data);\n      }).fold(function () {\n        return global$1.resolve(data);\n      }, function (transform) {\n        return new global$1(function (callback) {\n          delayedConfirm(editor, transform.message, function (state) {\n            callback(state ? transform.preprocess(data) : data);\n          });\n        });\n      });\n    };\n    var DialogConfirms = { preprocess: preprocess };\n\n    var getAnchors = function (editor) {\n      var anchorNodes = editor.dom.select('a:not([href])');\n      var anchors = bind(anchorNodes, function (anchor) {\n        var id = anchor.name || anchor.id;\n        return id ? [{\n            text: id,\n            value: '#' + id\n          }] : [];\n      });\n      return anchors.length > 0 ? Optional.some([{\n          text: 'None',\n          value: ''\n        }].concat(anchors)) : Optional.none();\n    };\n    var AnchorListOptions = { getAnchors: getAnchors };\n\n    var getClasses = function (editor) {\n      var list = getLinkClassList(editor);\n      if (list.length > 0) {\n        return ListOptions.sanitize(list);\n      }\n      return Optional.none();\n    };\n    var ClassListOptions = { getClasses: getClasses };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.XHR');\n\n    var parseJson = function (text) {\n      try {\n        return Optional.some(JSON.parse(text));\n      } catch (err) {\n        return Optional.none();\n      }\n    };\n    var getLinks = function (editor) {\n      var extractor = function (item) {\n        return editor.convertURL(item.value || item.url, 'href');\n      };\n      var linkList = getLinkList(editor);\n      return new global$1(function (callback) {\n        if (isString(linkList)) {\n          global.send({\n            url: linkList,\n            success: function (text) {\n              return callback(parseJson(text));\n            },\n            error: function (_) {\n              return callback(Optional.none());\n            }\n          });\n        } else if (isFunction(linkList)) {\n          linkList(function (output) {\n            return callback(Optional.some(output));\n          });\n        } else {\n          callback(Optional.from(linkList));\n        }\n      }).then(function (optItems) {\n        return optItems.bind(ListOptions.sanitizeWith(extractor)).map(function (items) {\n          if (items.length > 0) {\n            var noneItem = [{\n                text: 'None',\n                value: ''\n              }];\n            return noneItem.concat(items);\n          } else {\n            return items;\n          }\n        });\n      });\n    };\n    var LinkListOptions = { getLinks: getLinks };\n\n    var getRels = function (editor, initialTarget) {\n      var list = getRelList(editor);\n      if (list.length > 0) {\n        var isTargetBlank_1 = is(initialTarget, '_blank');\n        var enforceSafe = allowUnsafeLinkTarget(editor) === false;\n        var safeRelExtractor = function (item) {\n          return applyRelTargetRules(ListOptions.getValue(item), isTargetBlank_1);\n        };\n        var sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize;\n        return sanitizer(list);\n      }\n      return Optional.none();\n    };\n    var RelOptions = { getRels: getRels };\n\n    var fallbacks = [\n      {\n        text: 'Current window',\n        value: ''\n      },\n      {\n        text: 'New window',\n        value: '_blank'\n      }\n    ];\n    var getTargets = function (editor) {\n      var list = getTargetList(editor);\n      if (isArray(list)) {\n        return ListOptions.sanitize(list).orThunk(function () {\n          return Optional.some(fallbacks);\n        });\n      } else if (list === false) {\n        return Optional.none();\n      }\n      return Optional.some(fallbacks);\n    };\n    var TargetOptions = { getTargets: getTargets };\n\n    var nonEmptyAttr = function (dom, elem, name) {\n      var val = dom.getAttrib(elem, name);\n      return val !== null && val.length > 0 ? Optional.some(val) : Optional.none();\n    };\n    var extractFromAnchor = function (editor, anchor) {\n      var dom = editor.dom;\n      var onlyText = isOnlyTextSelected(editor);\n      var text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none();\n      var url = anchor ? Optional.some(dom.getAttrib(anchor, 'href')) : Optional.none();\n      var target = anchor ? Optional.from(dom.getAttrib(anchor, 'target')) : Optional.none();\n      var rel = nonEmptyAttr(dom, anchor, 'rel');\n      var linkClass = nonEmptyAttr(dom, anchor, 'class');\n      var title = nonEmptyAttr(dom, anchor, 'title');\n      return {\n        url: url,\n        text: text,\n        title: title,\n        target: target,\n        rel: rel,\n        linkClass: linkClass\n      };\n    };\n    var collect = function (editor, linkNode) {\n      return LinkListOptions.getLinks(editor).then(function (links) {\n        var anchor = extractFromAnchor(editor, linkNode);\n        return {\n          anchor: anchor,\n          catalogs: {\n            targets: TargetOptions.getTargets(editor),\n            rels: RelOptions.getRels(editor, anchor.target),\n            classes: ClassListOptions.getClasses(editor),\n            anchor: AnchorListOptions.getAnchors(editor),\n            link: links\n          },\n          optNode: Optional.from(linkNode),\n          flags: { titleEnabled: shouldShowLinkTitle(editor) }\n        };\n      });\n    };\n    var DialogInfo = { collect: collect };\n\n    var handleSubmit = function (editor, info) {\n      return function (api) {\n        var data = api.getData();\n        if (!data.url.value) {\n          unlink(editor);\n          api.close();\n          return;\n        }\n        var getChangedValue = function (key) {\n          return Optional.from(data[key]).filter(function (value) {\n            return !is(info.anchor[key], value);\n          });\n        };\n        var changedData = {\n          href: data.url.value,\n          text: getChangedValue('text'),\n          target: getChangedValue('target'),\n          rel: getChangedValue('rel'),\n          class: getChangedValue('linkClass'),\n          title: getChangedValue('title')\n        };\n        var attachState = {\n          href: data.url.value,\n          attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop\n        };\n        DialogConfirms.preprocess(editor, changedData).then(function (pData) {\n          link(editor, attachState, pData);\n        });\n        api.close();\n      };\n    };\n    var collectData = function (editor) {\n      var anchorNode = getAnchorElement(editor);\n      return DialogInfo.collect(editor, anchorNode);\n    };\n    var getInitialData = function (info, defaultTarget) {\n      var anchor = info.anchor;\n      var url = anchor.url.getOr('');\n      return {\n        url: {\n          value: url,\n          meta: { original: { value: url } }\n        },\n        text: anchor.text.getOr(''),\n        title: anchor.title.getOr(''),\n        anchor: url,\n        link: url,\n        rel: anchor.rel.getOr(''),\n        target: anchor.target.or(defaultTarget).getOr(''),\n        linkClass: anchor.linkClass.getOr('')\n      };\n    };\n    var makeDialog = function (settings, onSubmit, editor) {\n      var urlInput = [{\n          name: 'url',\n          type: 'urlinput',\n          filetype: 'file',\n          label: 'URL'\n        }];\n      var displayText = settings.anchor.text.map(function () {\n        return {\n          name: 'text',\n          type: 'input',\n          label: 'Text to display'\n        };\n      }).toArray();\n      var titleText = settings.flags.titleEnabled ? [{\n          name: 'title',\n          type: 'input',\n          label: 'Title'\n        }] : [];\n      var defaultTarget = Optional.from(getDefaultLinkTarget(editor));\n      var initialData = getInitialData(settings, defaultTarget);\n      var catalogs = settings.catalogs;\n      var dialogDelta = DialogChanges.init(initialData, catalogs);\n      var body = {\n        type: 'panel',\n        items: flatten([\n          urlInput,\n          displayText,\n          titleText,\n          cat([\n            catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')),\n            catalogs.rels.map(ListOptions.createUi('rel', 'Rel')),\n            catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')),\n            catalogs.link.map(ListOptions.createUi('link', 'Link list')),\n            catalogs.classes.map(ListOptions.createUi('linkClass', 'Class'))\n          ])\n        ])\n      };\n      return {\n        title: 'Insert/Edit Link',\n        size: 'normal',\n        body: body,\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        initialData: initialData,\n        onChange: function (api, _a) {\n          var name = _a.name;\n          dialogDelta.onChange(api.getData, { name: name }).each(function (newData) {\n            api.setData(newData);\n          });\n        },\n        onSubmit: onSubmit\n      };\n    };\n    var open$1 = function (editor) {\n      var data = collectData(editor);\n      data.then(function (info) {\n        var onSubmit = handleSubmit(editor, info);\n        return makeDialog(info, onSubmit, editor);\n      }).then(function (spec) {\n        editor.windowManager.open(spec);\n      });\n    };\n\n    var appendClickRemove = function (link, evt) {\n      document.body.appendChild(link);\n      link.dispatchEvent(evt);\n      document.body.removeChild(link);\n    };\n    var open = function (url) {\n      var link = document.createElement('a');\n      link.target = '_blank';\n      link.href = url;\n      link.rel = 'noreferrer noopener';\n      var evt = document.createEvent('MouseEvents');\n      evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n      appendClickRemove(link, evt);\n    };\n\n    var getLink = function (editor, elm) {\n      return editor.dom.getParent(elm, 'a[href]');\n    };\n    var getSelectedLink = function (editor) {\n      return getLink(editor, editor.selection.getStart());\n    };\n    var hasOnlyAltModifier = function (e) {\n      return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n    };\n    var gotoLink = function (editor, a) {\n      if (a) {\n        var href = getHref(a);\n        if (/^#/.test(href)) {\n          var targetEl = editor.$(href);\n          if (targetEl.length) {\n            editor.selection.scrollIntoView(targetEl[0], true);\n          }\n        } else {\n          open(a.href);\n        }\n      }\n    };\n    var openDialog = function (editor) {\n      return function () {\n        open$1(editor);\n      };\n    };\n    var gotoSelectedLink = function (editor) {\n      return function () {\n        gotoLink(editor, getSelectedLink(editor));\n      };\n    };\n    var setupGotoLinks = function (editor) {\n      editor.on('click', function (e) {\n        var link = getLink(editor, e.target);\n        if (link && global$6.metaKeyPressed(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n      editor.on('keydown', function (e) {\n        var link = getSelectedLink(editor);\n        if (link && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n    };\n    var toggleState = function (editor, toggler) {\n      editor.on('NodeChange', toggler);\n      return function () {\n        return editor.off('NodeChange', toggler);\n      };\n    };\n    var toggleActiveState = function (editor) {\n      return function (api) {\n        var updateState = function () {\n          return api.setActive(!editor.mode.isReadOnly() && getAnchorElement(editor, editor.selection.getNode()) !== null);\n        };\n        updateState();\n        return toggleState(editor, updateState);\n      };\n    };\n    var toggleEnabledState = function (editor) {\n      return function (api) {\n        var updateState = function () {\n          return api.setDisabled(getAnchorElement(editor, editor.selection.getNode()) === null);\n        };\n        updateState();\n        return toggleState(editor, updateState);\n      };\n    };\n    var toggleUnlinkState = function (editor) {\n      return function (api) {\n        var hasLinks$1 = function (parents) {\n          return hasLinks(parents) || hasLinksInSelection(editor.selection.getRng());\n        };\n        var parents = editor.dom.getParents(editor.selection.getStart());\n        api.setDisabled(!hasLinks$1(parents));\n        return toggleState(editor, function (e) {\n          return api.setDisabled(!hasLinks$1(e.parents));\n        });\n      };\n    };\n\n    var register = function (editor) {\n      editor.addCommand('mceLink', function () {\n        if (useQuickLink(editor)) {\n          editor.fire('contexttoolbar-show', { toolbarKey: 'quicklink' });\n        } else {\n          openDialog(editor)();\n        }\n      });\n    };\n\n    var setup = function (editor) {\n      editor.addShortcut('Meta+K', '', function () {\n        editor.execCommand('mceLink');\n      });\n    };\n\n    var setupButtons = function (editor) {\n      editor.ui.registry.addToggleButton('link', {\n        icon: 'link',\n        tooltip: 'Insert/edit link',\n        onAction: openDialog(editor),\n        onSetup: toggleActiveState(editor)\n      });\n      editor.ui.registry.addButton('openlink', {\n        icon: 'new-tab',\n        tooltip: 'Open link',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleEnabledState(editor)\n      });\n      editor.ui.registry.addButton('unlink', {\n        icon: 'unlink',\n        tooltip: 'Remove link',\n        onAction: function () {\n          return unlink(editor);\n        },\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    var setupMenuItems = function (editor) {\n      editor.ui.registry.addMenuItem('openlink', {\n        text: 'Open link',\n        icon: 'new-tab',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleEnabledState(editor)\n      });\n      editor.ui.registry.addMenuItem('link', {\n        icon: 'link',\n        text: 'Link...',\n        shortcut: 'Meta+K',\n        onAction: openDialog(editor)\n      });\n      editor.ui.registry.addMenuItem('unlink', {\n        icon: 'unlink',\n        text: 'Remove link',\n        onAction: function () {\n          return unlink(editor);\n        },\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    var setupContextMenu = function (editor) {\n      var inLink = 'link unlink openlink';\n      var noLink = 'link';\n      editor.ui.registry.addContextMenu('link', {\n        update: function (element) {\n          return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink;\n        }\n      });\n    };\n    var setupContextToolbars = function (editor) {\n      var collapseSelectionToEnd = function (editor) {\n        editor.selection.collapse(false);\n      };\n      var onSetupLink = function (buttonApi) {\n        var node = editor.selection.getNode();\n        buttonApi.setDisabled(!getAnchorElement(editor, node));\n        return noop;\n      };\n      var getLinkText = function (value) {\n        var anchor = getAnchorElement(editor);\n        var onlyText = isOnlyTextSelected(editor);\n        if (!anchor && onlyText) {\n          var text = getAnchorText(editor.selection, anchor);\n          return Optional.some(text.length > 0 ? text : value);\n        } else {\n          return Optional.none();\n        }\n      };\n      editor.ui.registry.addContextForm('quicklink', {\n        launch: {\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          onSetup: toggleActiveState(editor)\n        },\n        label: 'Link',\n        predicate: function (node) {\n          return !!getAnchorElement(editor, node) && hasContextToolbar(editor);\n        },\n        initValue: function () {\n          var elm = getAnchorElement(editor);\n          return !!elm ? getHref(elm) : '';\n        },\n        commands: [\n          {\n            type: 'contextformtogglebutton',\n            icon: 'link',\n            tooltip: 'Link',\n            primary: true,\n            onSetup: function (buttonApi) {\n              var node = editor.selection.getNode();\n              buttonApi.setActive(!!getAnchorElement(editor, node));\n              return toggleActiveState(editor)(buttonApi);\n            },\n            onAction: function (formApi) {\n              var value = formApi.getValue();\n              var text = getLinkText(value);\n              var attachState = {\n                href: value,\n                attach: noop\n              };\n              link(editor, attachState, {\n                href: value,\n                text: text,\n                title: Optional.none(),\n                rel: Optional.none(),\n                target: Optional.none(),\n                class: Optional.none()\n              });\n              collapseSelectionToEnd(editor);\n              formApi.hide();\n            }\n          },\n          {\n            type: 'contextformbutton',\n            icon: 'unlink',\n            tooltip: 'Remove link',\n            onSetup: onSetupLink,\n            onAction: function (formApi) {\n              unlink(editor);\n              formApi.hide();\n            }\n          },\n          {\n            type: 'contextformbutton',\n            icon: 'new-tab',\n            tooltip: 'Open link',\n            onSetup: onSetupLink,\n            onAction: function (formApi) {\n              gotoSelectedLink(editor)();\n              formApi.hide();\n            }\n          }\n        ]\n      });\n    };\n\n    function Plugin () {\n      global$7.add('link', function (editor) {\n        setupButtons(editor);\n        setupMenuItems(editor);\n        setupContextMenu(editor);\n        setupContextToolbars(editor);\n        setupGotoLinks(editor);\n        register(editor);\n        setup(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/link/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/lists/index.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/plugins/lists/index.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"lists\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/lists')\n//   ES2015:\n//     import 'tinymce/plugins/lists'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/lists/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/lists/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/lists/plugin.js":
/*!******************************************************!*\
  !*** ./node_modules/tinymce/plugins/lists/plugin.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType$1 = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var isString = isType$1('string');\n    var isObject = isType$1('object');\n    var isArray = isType$1('array');\n    var isBoolean = isSimpleType('boolean');\n    var isFunction = isSimpleType('function');\n    var isNumber = isSimpleType('number');\n\n    var noop = function () {\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var tripleEquals = function (a, b) {\n      return a === b;\n    };\n    var not = function (f) {\n      return function (t) {\n        return !f(t);\n      };\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var nativeSlice = Array.prototype.slice;\n    var nativePush = Array.prototype.push;\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each$1 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var filter$1 = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var groupBy = function (xs, f) {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        var wasType = f(xs[0]);\n        var r = [];\n        var group = [];\n        for (var i = 0, len = xs.length; i < len; i++) {\n          var x = xs[i];\n          var type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    var foldl = function (xs, f, acc) {\n      each$1(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var findUntil = function (xs, pred, until) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var find$1 = function (xs, pred) {\n      return findUntil(xs, pred, never);\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      return flatten(map(xs, f));\n    };\n    var reverse = function (xs) {\n      var r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var get$1 = function (xs, i) {\n      return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    };\n    var head = function (xs) {\n      return get$1(xs, 0);\n    };\n    var last = function (xs) {\n      return get$1(xs, xs.length - 1);\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n    function __spreadArray(to, from, pack) {\n      if (pack || arguments.length === 2)\n        for (var i = 0, l = from.length, ar; i < l; i++) {\n          if (ar || !(i in from)) {\n            if (!ar)\n              ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n          }\n        }\n      return to.concat(ar || Array.prototype.slice.call(from));\n    }\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var DeviceType = function (os, browser, userAgent, mediaMatch) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isMobile = os.isiOS() || os.isAndroid();\n      var isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      var isPhone = isiPhone || isMobile && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      var isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    var find = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    var detect$3 = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    var unknown$2 = function () {\n      return nu$2(0, 0);\n    };\n    var nu$2 = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu$2,\n      detect: detect$3,\n      unknown: unknown$2\n    };\n\n    var detectBrowser$1 = function (browsers, userAgentData) {\n      return findMap(userAgentData.brands, function (uaBrand) {\n        var lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, function (browser) {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(function (info) {\n          return {\n            current: info.name,\n            version: Version.nu(parseInt(uaBrand.version, 10), 0)\n          };\n        });\n      });\n    };\n\n    var detect$2 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find$1(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$2(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$2(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n\n    var contains$1 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var blank = function (r) {\n      return function (s) {\n        return s.replace(r, '');\n      };\n    };\n    var trim = blank(/^\\s+|\\s+$/g);\n    var isNotEmpty = function (s) {\n      return s.length > 0;\n    };\n    var isEmpty$1 = function (s) {\n      return !isNotEmpty(s);\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$1(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n        }\n      },\n      {\n        name: 'Chrome',\n        brand: 'Chromium',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('mac os x'),\n        versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      },\n      {\n        name: 'ChromeOS',\n        search: checkContains('cros'),\n        versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isBrowser = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge),\n        isChrome: isBrowser(chrome),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var chromeos = 'ChromeOS';\n    var unknown = function () {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isOS = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isOSX: isOS(osx),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown,\n      nu: nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    var detect$1 = function (userAgent, userAgentDataOpt, mediaMatch) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = userAgentDataOpt.bind(function (userAgentData) {\n        return detectBrowser$1(browsers, userAgentData);\n      }).orThunk(function () {\n        return detectBrowser(browsers, userAgent);\n      }).fold(Browser.unknown, Browser.nu);\n      var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$1 };\n\n    var mediaMatch = function (query) {\n      return window.matchMedia(query).matches;\n    };\n    var platform = cached(function () {\n      return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch);\n    });\n    var detect = function () {\n      return platform();\n    };\n\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_CONTAINED_BY);\n    };\n\n    var ELEMENT = 1;\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var is$2 = function (element, selector) {\n      var dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        var elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    var eq = function (e1, e2) {\n      return e1.dom === e2.dom;\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom;\n      var d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return documentPositionContainedBy(e1.dom, e2.dom);\n    };\n    var contains = function (e1, e2) {\n      return detect().browser.isIE() ? ieContains(e1, e2) : regularContains(e1, e2);\n    };\n    var is$1 = is$2;\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var keys = Object.keys;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var objAcc = function (r) {\n      return function (x, i) {\n        r[i] = x;\n      };\n    };\n    var internalFilter = function (obj, pred, onTrue, onFalse) {\n      var r = {};\n      each(obj, function (x, i) {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n      return r;\n    };\n    var filter = function (obj, pred) {\n      var t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var name = function (element) {\n      var r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    var type = function (element) {\n      return element.dom.nodeType;\n    };\n    var isType = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isElement = isType(ELEMENT);\n    var isTag = function (tag) {\n      return function (e) {\n        return isElement(e) && name(e) === tag;\n      };\n    };\n\n    var rawSet = function (dom, key, value) {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var setAll = function (element, attrs) {\n      var dom = element.dom;\n      each(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var clone$1 = function (element) {\n      return foldl(element.dom.attributes, function (acc, attr) {\n        acc[attr.name] = attr.value;\n        return acc;\n      }, {});\n    };\n\n    var parent = function (element) {\n      return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    };\n    var children = function (element) {\n      return map(element.dom.childNodes, SugarElement.fromDom);\n    };\n    var child = function (element, index) {\n      var cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    var firstChild = function (element) {\n      return child(element, 0);\n    };\n    var lastChild = function (element) {\n      return child(element, element.dom.childNodes.length - 1);\n    };\n\n    var before$1 = function (marker, element) {\n      var parent$1 = parent(marker);\n      parent$1.each(function (v) {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    var append$1 = function (parent, element) {\n      parent.dom.appendChild(element.dom);\n    };\n\n    var before = function (marker, elements) {\n      each$1(elements, function (x) {\n        before$1(marker, x);\n      });\n    };\n    var append = function (parent, elements) {\n      each$1(elements, function (x) {\n        append$1(parent, x);\n      });\n    };\n\n    var remove = function (element) {\n      var dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    var clone = function (original, isDeep) {\n      return SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    };\n    var deep = function (original) {\n      return clone(original, true);\n    };\n    var shallowAs = function (original, tag) {\n      var nu = SugarElement.fromTag(tag);\n      var attributes = clone$1(original);\n      setAll(nu, attributes);\n      return nu;\n    };\n    var mutate = function (original, tag) {\n      var nu = shallowAs(original, tag);\n      before$1(original, nu);\n      var children$1 = children(original);\n      append(nu, children$1);\n      remove(original);\n      return nu;\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var matchNodeName = function (name) {\n      return function (node) {\n        return node && node.nodeName.toLowerCase() === name;\n      };\n    };\n    var matchNodeNames = function (regex) {\n      return function (node) {\n        return node && regex.test(node.nodeName);\n      };\n    };\n    var isTextNode = function (node) {\n      return node && node.nodeType === 3;\n    };\n    var isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    var isOlUlNode = matchNodeNames(/^(OL|UL)$/);\n    var isOlNode = matchNodeName('ol');\n    var isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n    var isDlItemNode = matchNodeNames(/^(DT|DD)$/);\n    var isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    var isBr = matchNodeName('br');\n    var isFirstChild = function (node) {\n      return node.parentNode.firstChild === node;\n    };\n    var isTextBlock = function (editor, node) {\n      return node && !!editor.schema.getTextBlockElements()[node.nodeName];\n    };\n    var isBlock = function (node, blockElements) {\n      return node && node.nodeName in blockElements;\n    };\n    var isBogusBr = function (dom, node) {\n      if (!isBr(node)) {\n        return false;\n      }\n      return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling);\n    };\n    var isEmpty = function (dom, elm, keepBookmarks) {\n      var empty = dom.isEmpty(elm);\n      if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {\n        return false;\n      }\n      return empty;\n    };\n    var isChildOfBody = function (dom, elm) {\n      return dom.isChildOf(elm, dom.getRoot());\n    };\n\n    var shouldIndentOnTab = function (editor) {\n      return editor.getParam('lists_indent_on_tab', true);\n    };\n    var getForcedRootBlock = function (editor) {\n      var block = editor.getParam('forced_root_block', 'p');\n      if (block === false) {\n        return '';\n      } else if (block === true) {\n        return 'p';\n      } else {\n        return block;\n      }\n    };\n    var getForcedRootBlockAttrs = function (editor) {\n      return editor.getParam('forced_root_block_attrs', {});\n    };\n\n    var createTextBlock = function (editor, contentNode) {\n      var dom = editor.dom;\n      var blockElements = editor.schema.getBlockElements();\n      var fragment = dom.createFragment();\n      var blockName = getForcedRootBlock(editor);\n      var node, textBlock, hasContentNode;\n      if (blockName) {\n        textBlock = dom.create(blockName);\n        if (textBlock.tagName === blockName.toUpperCase()) {\n          dom.setAttribs(textBlock, getForcedRootBlockAttrs(editor));\n        }\n        if (!isBlock(contentNode.firstChild, blockElements)) {\n          fragment.appendChild(textBlock);\n        }\n      }\n      if (contentNode) {\n        while (node = contentNode.firstChild) {\n          var nodeName = node.nodeName;\n          if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {\n            hasContentNode = true;\n          }\n          if (isBlock(node, blockElements)) {\n            fragment.appendChild(node);\n            textBlock = null;\n          } else {\n            if (blockName) {\n              if (!textBlock) {\n                textBlock = dom.create(blockName);\n                fragment.appendChild(textBlock);\n              }\n              textBlock.appendChild(node);\n            } else {\n              fragment.appendChild(node);\n            }\n          }\n        }\n      }\n      if (!blockName) {\n        fragment.appendChild(dom.create('br'));\n      } else {\n        if (!hasContentNode) {\n          textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' }));\n        }\n      }\n      return fragment;\n    };\n\n    var DOM$2 = global$3.DOM;\n    var splitList = function (editor, list, li) {\n      var removeAndKeepBookmarks = function (targetNode) {\n        global$2.each(bookmarks, function (node) {\n          targetNode.parentNode.insertBefore(node, li.parentNode);\n        });\n        DOM$2.remove(targetNode);\n      };\n      var bookmarks = DOM$2.select('span[data-mce-type=\"bookmark\"]', list);\n      var newBlock = createTextBlock(editor, li);\n      var tmpRng = DOM$2.createRng();\n      tmpRng.setStartAfter(li);\n      tmpRng.setEndAfter(list);\n      var fragment = tmpRng.extractContents();\n      for (var node = fragment.firstChild; node; node = node.firstChild) {\n        if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {\n          DOM$2.remove(node);\n          break;\n        }\n      }\n      if (!editor.dom.isEmpty(fragment)) {\n        DOM$2.insertAfter(fragment, list);\n      }\n      DOM$2.insertAfter(newBlock, list);\n      if (isEmpty(editor.dom, li.parentNode)) {\n        removeAndKeepBookmarks(li.parentNode);\n      }\n      DOM$2.remove(li);\n      if (isEmpty(editor.dom, list)) {\n        DOM$2.remove(list);\n      }\n    };\n\n    var isDescriptionDetail = isTag('dd');\n    var isDescriptionTerm = isTag('dt');\n    var outdentDlItem = function (editor, item) {\n      if (isDescriptionDetail(item)) {\n        mutate(item, 'dt');\n      } else if (isDescriptionTerm(item)) {\n        parent(item).each(function (dl) {\n          return splitList(editor, dl.dom, item.dom);\n        });\n      }\n    };\n    var indentDlItem = function (item) {\n      if (isDescriptionTerm(item)) {\n        mutate(item, 'dd');\n      }\n    };\n    var dlIndentation = function (editor, indentation, dlItems) {\n      if (indentation === 'Indent') {\n        each$1(dlItems, indentDlItem);\n      } else {\n        each$1(dlItems, function (item) {\n          return outdentDlItem(editor, item);\n        });\n      }\n    };\n\n    var getNormalizedPoint = function (container, offset) {\n      if (isTextNode(container)) {\n        return {\n          container: container,\n          offset: offset\n        };\n      }\n      var node = global$6.getNode(container, offset);\n      if (isTextNode(node)) {\n        return {\n          container: node,\n          offset: offset >= container.childNodes.length ? node.data.length : 0\n        };\n      } else if (node.previousSibling && isTextNode(node.previousSibling)) {\n        return {\n          container: node.previousSibling,\n          offset: node.previousSibling.data.length\n        };\n      } else if (node.nextSibling && isTextNode(node.nextSibling)) {\n        return {\n          container: node.nextSibling,\n          offset: 0\n        };\n      }\n      return {\n        container: container,\n        offset: offset\n      };\n    };\n    var normalizeRange = function (rng) {\n      var outRng = rng.cloneRange();\n      var rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);\n      outRng.setStart(rangeStart.container, rangeStart.offset);\n      var rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);\n      outRng.setEnd(rangeEnd.container, rangeEnd.offset);\n      return outRng;\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery');\n\n    var getParentList = function (editor, node) {\n      var selectionStart = node || editor.selection.getStart(true);\n      return editor.dom.getParent(selectionStart, 'OL,UL,DL', getClosestListRootElm(editor, selectionStart));\n    };\n    var isParentListSelected = function (parentList, selectedBlocks) {\n      return parentList && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;\n    };\n    var findSubLists = function (parentList) {\n      return filter$1(parentList.querySelectorAll('ol,ul,dl'), isListNode);\n    };\n    var getSelectedSubLists = function (editor) {\n      var parentList = getParentList(editor);\n      var selectedBlocks = editor.selection.getSelectedBlocks();\n      if (isParentListSelected(parentList, selectedBlocks)) {\n        return findSubLists(parentList);\n      } else {\n        return filter$1(selectedBlocks, function (elm) {\n          return isListNode(elm) && parentList !== elm;\n        });\n      }\n    };\n    var findParentListItemsNodes = function (editor, elms) {\n      var listItemsElms = global$2.map(elms, function (elm) {\n        var parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListRootElm(editor, elm));\n        return parentLi ? parentLi : elm;\n      });\n      return global$1.unique(listItemsElms);\n    };\n    var getSelectedListItems = function (editor) {\n      var selectedBlocks = editor.selection.getSelectedBlocks();\n      return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode);\n    };\n    var getSelectedDlItems = function (editor) {\n      return filter$1(getSelectedListItems(editor), isDlItemNode);\n    };\n    var getClosestListRootElm = function (editor, elm) {\n      var parentTableCell = editor.dom.getParents(elm, 'TD,TH');\n      return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();\n    };\n    var findLastParentListNode = function (editor, elm) {\n      var parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListRootElm(editor, elm));\n      return last(parentLists);\n    };\n    var getSelectedLists = function (editor) {\n      var firstList = findLastParentListNode(editor, editor.selection.getStart());\n      var subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);\n      return firstList.toArray().concat(subsequentLists);\n    };\n    var getSelectedListRoots = function (editor) {\n      var selectedLists = getSelectedLists(editor);\n      return getUniqueListRoots(editor, selectedLists);\n    };\n    var getUniqueListRoots = function (editor, lists) {\n      var listRoots = map(lists, function (list) {\n        return findLastParentListNode(editor, list).getOr(list);\n      });\n      return global$1.unique(listRoots);\n    };\n\n    var is = function (lhs, rhs, comparator) {\n      if (comparator === void 0) {\n        comparator = tripleEquals;\n      }\n      return lhs.exists(function (left) {\n        return comparator(left, rhs);\n      });\n    };\n    var lift2 = function (oa, ob, f) {\n      return oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    };\n\n    var fromElements = function (elements, scope) {\n      var doc = scope || document;\n      var fragment = doc.createDocumentFragment();\n      each$1(elements, function (element) {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    var fireListEvent = function (editor, action, element) {\n      return editor.fire('ListMutation', {\n        action: action,\n        element: element\n      });\n    };\n\n    var isSupported = function (dom) {\n      return dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n    };\n\n    var internalSet = function (dom, property, value) {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    var set = function (element, property, value) {\n      var dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    var joinSegment = function (parent, child) {\n      append$1(parent.item, child.list);\n    };\n    var joinSegments = function (segments) {\n      for (var i = 1; i < segments.length; i++) {\n        joinSegment(segments[i - 1], segments[i]);\n      }\n    };\n    var appendSegments = function (head$1, tail) {\n      lift2(last(head$1), head(tail), joinSegment);\n    };\n    var createSegment = function (scope, listType) {\n      var segment = {\n        list: SugarElement.fromTag(listType, scope),\n        item: SugarElement.fromTag('li', scope)\n      };\n      append$1(segment.list, segment.item);\n      return segment;\n    };\n    var createSegments = function (scope, entry, size) {\n      var segments = [];\n      for (var i = 0; i < size; i++) {\n        segments.push(createSegment(scope, entry.listType));\n      }\n      return segments;\n    };\n    var populateSegments = function (segments, entry) {\n      for (var i = 0; i < segments.length - 1; i++) {\n        set(segments[i].item, 'list-style-type', 'none');\n      }\n      last(segments).each(function (segment) {\n        setAll(segment.list, entry.listAttributes);\n        setAll(segment.item, entry.itemAttributes);\n        append(segment.item, entry.content);\n      });\n    };\n    var normalizeSegment = function (segment, entry) {\n      if (name(segment.list) !== entry.listType) {\n        segment.list = mutate(segment.list, entry.listType);\n      }\n      setAll(segment.list, entry.listAttributes);\n    };\n    var createItem = function (scope, attr, content) {\n      var item = SugarElement.fromTag('li', scope);\n      setAll(item, attr);\n      append(item, content);\n      return item;\n    };\n    var appendItem = function (segment, item) {\n      append$1(segment.list, item);\n      segment.item = item;\n    };\n    var writeShallow = function (scope, cast, entry) {\n      var newCast = cast.slice(0, entry.depth);\n      last(newCast).each(function (segment) {\n        var item = createItem(scope, entry.itemAttributes, entry.content);\n        appendItem(segment, item);\n        normalizeSegment(segment, entry);\n      });\n      return newCast;\n    };\n    var writeDeep = function (scope, cast, entry) {\n      var segments = createSegments(scope, entry, entry.depth - cast.length);\n      joinSegments(segments);\n      populateSegments(segments, entry);\n      appendSegments(cast, segments);\n      return cast.concat(segments);\n    };\n    var composeList = function (scope, entries) {\n      var cast = foldl(entries, function (cast, entry) {\n        return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);\n      }, []);\n      return head(cast).map(function (segment) {\n        return segment.list;\n      });\n    };\n\n    var isList = function (el) {\n      return is$1(el, 'OL,UL');\n    };\n    var hasFirstChildList = function (el) {\n      return firstChild(el).exists(isList);\n    };\n    var hasLastChildList = function (el) {\n      return lastChild(el).exists(isList);\n    };\n\n    var isIndented = function (entry) {\n      return entry.depth > 0;\n    };\n    var isSelected = function (entry) {\n      return entry.isSelected;\n    };\n    var cloneItemContent = function (li) {\n      var children$1 = children(li);\n      var content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;\n      return map(content, deep);\n    };\n    var createEntry = function (li, depth, isSelected) {\n      return parent(li).filter(isElement).map(function (list) {\n        return {\n          depth: depth,\n          dirty: false,\n          isSelected: isSelected,\n          content: cloneItemContent(li),\n          itemAttributes: clone$1(li),\n          listAttributes: clone$1(list),\n          listType: name(list)\n        };\n      });\n    };\n\n    var indentEntry = function (indentation, entry) {\n      switch (indentation) {\n      case 'Indent':\n        entry.depth++;\n        break;\n      case 'Outdent':\n        entry.depth--;\n        break;\n      case 'Flatten':\n        entry.depth = 0;\n      }\n      entry.dirty = true;\n    };\n\n    var cloneListProperties = function (target, source) {\n      target.listType = source.listType;\n      target.listAttributes = __assign({}, source.listAttributes);\n    };\n    var cleanListProperties = function (entry) {\n      entry.listAttributes = filter(entry.listAttributes, function (_value, key) {\n        return key !== 'start';\n      });\n    };\n    var closestSiblingEntry = function (entries, start) {\n      var depth = entries[start].depth;\n      var matches = function (entry) {\n        return entry.depth === depth && !entry.dirty;\n      };\n      var until = function (entry) {\n        return entry.depth < depth;\n      };\n      return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(function () {\n        return findUntil(entries.slice(start + 1), matches, until);\n      });\n    };\n    var normalizeEntries = function (entries) {\n      each$1(entries, function (entry, i) {\n        closestSiblingEntry(entries, i).fold(function () {\n          if (entry.dirty) {\n            cleanListProperties(entry);\n          }\n        }, function (matchingEntry) {\n          return cloneListProperties(entry, matchingEntry);\n        });\n      });\n      return entries;\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var parseItem = function (depth, itemSelection, selectionState, item) {\n      return firstChild(item).filter(isList).fold(function () {\n        itemSelection.each(function (selection) {\n          if (eq(selection.start, item)) {\n            selectionState.set(true);\n          }\n        });\n        var currentItemEntry = createEntry(item, depth, selectionState.get());\n        itemSelection.each(function (selection) {\n          if (eq(selection.end, item)) {\n            selectionState.set(false);\n          }\n        });\n        var childListEntries = lastChild(item).filter(isList).map(function (list) {\n          return parseList(depth, itemSelection, selectionState, list);\n        }).getOr([]);\n        return currentItemEntry.toArray().concat(childListEntries);\n      }, function (list) {\n        return parseList(depth, itemSelection, selectionState, list);\n      });\n    };\n    var parseList = function (depth, itemSelection, selectionState, list) {\n      return bind(children(list), function (element) {\n        var parser = isList(element) ? parseList : parseItem;\n        var newDepth = depth + 1;\n        return parser(newDepth, itemSelection, selectionState, element);\n      });\n    };\n    var parseLists = function (lists, itemSelection) {\n      var selectionState = Cell(false);\n      var initialDepth = 0;\n      return map(lists, function (list) {\n        return {\n          sourceList: list,\n          entries: parseList(initialDepth, itemSelection, selectionState, list)\n        };\n      });\n    };\n\n    var outdentedComposer = function (editor, entries) {\n      var normalizedEntries = normalizeEntries(entries);\n      return map(normalizedEntries, function (entry) {\n        var content = fromElements(entry.content);\n        return SugarElement.fromDom(createTextBlock(editor, content.dom));\n      });\n    };\n    var indentedComposer = function (editor, entries) {\n      var normalizedEntries = normalizeEntries(entries);\n      return composeList(editor.contentDocument, normalizedEntries).toArray();\n    };\n    var composeEntries = function (editor, entries) {\n      return bind(groupBy(entries, isIndented), function (entries) {\n        var groupIsIndented = head(entries).exists(isIndented);\n        return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);\n      });\n    };\n    var indentSelectedEntries = function (entries, indentation) {\n      each$1(filter$1(entries, isSelected), function (entry) {\n        return indentEntry(indentation, entry);\n      });\n    };\n    var getItemSelection = function (editor) {\n      var selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom);\n      return lift2(find$1(selectedListItems, not(hasFirstChildList)), find$1(reverse(selectedListItems), not(hasFirstChildList)), function (start, end) {\n        return {\n          start: start,\n          end: end\n        };\n      });\n    };\n    var listIndentation = function (editor, lists, indentation) {\n      var entrySets = parseLists(lists, getItemSelection(editor));\n      each$1(entrySets, function (entrySet) {\n        indentSelectedEntries(entrySet.entries, indentation);\n        var composedLists = composeEntries(editor, entrySet.entries);\n        each$1(composedLists, function (composedList) {\n          fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom);\n        });\n        before(entrySet.sourceList, composedLists);\n        remove(entrySet.sourceList);\n      });\n    };\n\n    var selectionIndentation = function (editor, indentation) {\n      var lists = map(getSelectedListRoots(editor), SugarElement.fromDom);\n      var dlItems = map(getSelectedDlItems(editor), SugarElement.fromDom);\n      var isHandled = false;\n      if (lists.length || dlItems.length) {\n        var bookmark = editor.selection.getBookmark();\n        listIndentation(editor, lists, indentation);\n        dlIndentation(editor, indentation, dlItems);\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.setRng(normalizeRange(editor.selection.getRng()));\n        editor.nodeChanged();\n        isHandled = true;\n      }\n      return isHandled;\n    };\n    var indentListSelection = function (editor) {\n      return selectionIndentation(editor, 'Indent');\n    };\n    var outdentListSelection = function (editor) {\n      return selectionIndentation(editor, 'Outdent');\n    };\n    var flattenListSelection = function (editor) {\n      return selectionIndentation(editor, 'Flatten');\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');\n\n    var DOM$1 = global$3.DOM;\n    var createBookmark = function (rng) {\n      var bookmark = {};\n      var setupEndPoint = function (start) {\n        var container = rng[start ? 'startContainer' : 'endContainer'];\n        var offset = rng[start ? 'startOffset' : 'endOffset'];\n        if (container.nodeType === 1) {\n          var offsetNode = DOM$1.create('span', { 'data-mce-type': 'bookmark' });\n          if (container.hasChildNodes()) {\n            offset = Math.min(offset, container.childNodes.length - 1);\n            if (start) {\n              container.insertBefore(offsetNode, container.childNodes[offset]);\n            } else {\n              DOM$1.insertAfter(offsetNode, container.childNodes[offset]);\n            }\n          } else {\n            container.appendChild(offsetNode);\n          }\n          container = offsetNode;\n          offset = 0;\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      setupEndPoint(true);\n      if (!rng.collapsed) {\n        setupEndPoint();\n      }\n      return bookmark;\n    };\n    var resolveBookmark = function (bookmark) {\n      var restoreEndPoint = function (start) {\n        var node;\n        var nodeIndex = function (container) {\n          var node = container.parentNode.firstChild, idx = 0;\n          while (node) {\n            if (node === container) {\n              return idx;\n            }\n            if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') {\n              idx++;\n            }\n            node = node.nextSibling;\n          }\n          return -1;\n        };\n        var container = node = bookmark[start ? 'startContainer' : 'endContainer'];\n        var offset = bookmark[start ? 'startOffset' : 'endOffset'];\n        if (!container) {\n          return;\n        }\n        if (container.nodeType === 1) {\n          offset = nodeIndex(container);\n          container = container.parentNode;\n          DOM$1.remove(node);\n          if (!container.hasChildNodes() && DOM$1.isBlock(container)) {\n            container.appendChild(DOM$1.create('br'));\n          }\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      restoreEndPoint(true);\n      restoreEndPoint();\n      var rng = DOM$1.createRng();\n      rng.setStart(bookmark.startContainer, bookmark.startOffset);\n      if (bookmark.endContainer) {\n        rng.setEnd(bookmark.endContainer, bookmark.endOffset);\n      }\n      return normalizeRange(rng);\n    };\n\n    var listToggleActionFromListName = function (listName) {\n      switch (listName) {\n      case 'UL':\n        return 'ToggleUlList';\n      case 'OL':\n        return 'ToggleOlList';\n      case 'DL':\n        return 'ToggleDLList';\n      }\n    };\n\n    var isCustomList = function (list) {\n      return /\\btox\\-/.test(list.className);\n    };\n    var listState = function (editor, listName, activate) {\n      var nodeChangeHandler = function (e) {\n        var inList = findUntil(e.parents, isListNode, isTableCellNode).filter(function (list) {\n          return list.nodeName === listName && !isCustomList(list);\n        }).isSome();\n        activate(inList);\n      };\n      var parents = editor.dom.getParents(editor.selection.getNode());\n      nodeChangeHandler({ parents: parents });\n      editor.on('NodeChange', nodeChangeHandler);\n      return function () {\n        return editor.off('NodeChange', nodeChangeHandler);\n      };\n    };\n\n    var updateListStyle = function (dom, el, detail) {\n      var type = detail['list-style-type'] ? detail['list-style-type'] : null;\n      dom.setStyle(el, 'list-style-type', type);\n    };\n    var setAttribs = function (elm, attrs) {\n      global$2.each(attrs, function (value, key) {\n        elm.setAttribute(key, value);\n      });\n    };\n    var updateListAttrs = function (dom, el, detail) {\n      setAttribs(el, detail['list-attributes']);\n      global$2.each(dom.select('li', el), function (li) {\n        setAttribs(li, detail['list-item-attributes']);\n      });\n    };\n    var updateListWithDetails = function (dom, el, detail) {\n      updateListStyle(dom, el, detail);\n      updateListAttrs(dom, el, detail);\n    };\n    var removeStyles = function (dom, element, styles) {\n      global$2.each(styles, function (style) {\n        var _a;\n        return dom.setStyle(element, (_a = {}, _a[style] = '', _a));\n      });\n    };\n    var getEndPointNode = function (editor, rng, start, root) {\n      var container = rng[start ? 'startContainer' : 'endContainer'];\n      var offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (container.nodeType === 1) {\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n      }\n      if (!start && isBr(container.nextSibling)) {\n        container = container.nextSibling;\n      }\n      while (container.parentNode !== root) {\n        if (isTextBlock(editor, container)) {\n          return container;\n        }\n        if (/^(TD|TH)$/.test(container.parentNode.nodeName)) {\n          return container;\n        }\n        container = container.parentNode;\n      }\n      return container;\n    };\n    var getSelectedTextBlocks = function (editor, rng, root) {\n      var textBlocks = [];\n      var dom = editor.dom;\n      var startNode = getEndPointNode(editor, rng, true, root);\n      var endNode = getEndPointNode(editor, rng, false, root);\n      var block;\n      var siblings = [];\n      for (var node = startNode; node; node = node.nextSibling) {\n        siblings.push(node);\n        if (node === endNode) {\n          break;\n        }\n      }\n      global$2.each(siblings, function (node) {\n        if (isTextBlock(editor, node)) {\n          textBlocks.push(node);\n          block = null;\n          return;\n        }\n        if (dom.isBlock(node) || isBr(node)) {\n          if (isBr(node)) {\n            dom.remove(node);\n          }\n          block = null;\n          return;\n        }\n        var nextSibling = node.nextSibling;\n        if (global.isBookmarkNode(node)) {\n          if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {\n            block = null;\n            return;\n          }\n        }\n        if (!block) {\n          block = dom.create('p');\n          node.parentNode.insertBefore(block, node);\n          textBlocks.push(block);\n        }\n        block.appendChild(node);\n      });\n      return textBlocks;\n    };\n    var hasCompatibleStyle = function (dom, sib, detail) {\n      var sibStyle = dom.getStyle(sib, 'list-style-type');\n      var detailStyle = detail ? detail['list-style-type'] : '';\n      detailStyle = detailStyle === null ? '' : detailStyle;\n      return sibStyle === detailStyle;\n    };\n    var applyList = function (editor, listName, detail) {\n      var rng = editor.selection.getRng();\n      var listItemName = 'LI';\n      var root = getClosestListRootElm(editor, editor.selection.getStart(true));\n      var dom = editor.dom;\n      if (dom.getContentEditable(editor.selection.getNode()) === 'false') {\n        return;\n      }\n      listName = listName.toUpperCase();\n      if (listName === 'DL') {\n        listItemName = 'DT';\n      }\n      var bookmark = createBookmark(rng);\n      var selectedTextBlocks = getSelectedTextBlocks(editor, rng, root);\n      global$2.each(selectedTextBlocks, function (block) {\n        var listBlock;\n        var sibling = block.previousSibling;\n        var parent = block.parentNode;\n        if (!isListItemNode(parent)) {\n          if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {\n            listBlock = sibling;\n            block = dom.rename(block, listItemName);\n            sibling.appendChild(block);\n          } else {\n            listBlock = dom.create(listName);\n            block.parentNode.insertBefore(listBlock, block);\n            listBlock.appendChild(block);\n            block = dom.rename(block, listItemName);\n          }\n          removeStyles(dom, block, [\n            'margin',\n            'margin-right',\n            'margin-bottom',\n            'margin-left',\n            'margin-top',\n            'padding',\n            'padding-right',\n            'padding-bottom',\n            'padding-left',\n            'padding-top'\n          ]);\n          updateListWithDetails(dom, listBlock, detail);\n          mergeWithAdjacentLists(editor.dom, listBlock);\n        }\n      });\n      editor.selection.setRng(resolveBookmark(bookmark));\n    };\n    var isValidLists = function (list1, list2) {\n      return list1 && list2 && isListNode(list1) && list1.nodeName === list2.nodeName;\n    };\n    var hasSameListStyle = function (dom, list1, list2) {\n      var targetStyle = dom.getStyle(list1, 'list-style-type', true);\n      var style = dom.getStyle(list2, 'list-style-type', true);\n      return targetStyle === style;\n    };\n    var hasSameClasses = function (elm1, elm2) {\n      return elm1.className === elm2.className;\n    };\n    var shouldMerge = function (dom, list1, list2) {\n      return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);\n    };\n    var mergeWithAdjacentLists = function (dom, listBlock) {\n      var sibling, node;\n      sibling = listBlock.nextSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        while (node = sibling.firstChild) {\n          listBlock.appendChild(node);\n        }\n        dom.remove(sibling);\n      }\n      sibling = listBlock.previousSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        while (node = sibling.lastChild) {\n          listBlock.insertBefore(node, listBlock.firstChild);\n        }\n        dom.remove(sibling);\n      }\n    };\n    var updateList$1 = function (editor, list, listName, detail) {\n      if (list.nodeName !== listName) {\n        var newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    var toggleMultipleLists = function (editor, parentList, lists, listName, detail) {\n      var parentIsList = isListNode(parentList);\n      if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail)) {\n        flattenListSelection(editor);\n      } else {\n        applyList(editor, listName, detail);\n        var bookmark = createBookmark(editor.selection.getRng());\n        var allLists = parentIsList ? __spreadArray([parentList], lists, true) : lists;\n        global$2.each(allLists, function (elm) {\n          updateList$1(editor, elm, listName, detail);\n        });\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    var hasListStyleDetail = function (detail) {\n      return 'list-style-type' in detail;\n    };\n    var toggleSingleList = function (editor, parentList, listName, detail) {\n      if (parentList === editor.getBody()) {\n        return;\n      }\n      if (parentList) {\n        if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n          flattenListSelection(editor);\n        } else {\n          var bookmark = createBookmark(editor.selection.getRng());\n          updateListWithDetails(editor.dom, parentList, detail);\n          var newList = editor.dom.rename(parentList, listName);\n          mergeWithAdjacentLists(editor.dom, newList);\n          editor.selection.setRng(resolveBookmark(bookmark));\n          applyList(editor, listName, detail);\n          fireListEvent(editor, listToggleActionFromListName(listName), newList);\n        }\n      } else {\n        applyList(editor, listName, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), parentList);\n      }\n    };\n    var toggleList = function (editor, listName, _detail) {\n      var parentList = getParentList(editor);\n      var selectedSubLists = getSelectedSubLists(editor);\n      var detail = isObject(_detail) ? _detail : {};\n      if (selectedSubLists.length > 0) {\n        toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);\n      } else {\n        toggleSingleList(editor, parentList, listName, detail);\n      }\n    };\n\n    var DOM = global$3.DOM;\n    var normalizeList = function (dom, list) {\n      var parentNode = list.parentNode;\n      if (parentNode.nodeName === 'LI' && parentNode.firstChild === list) {\n        var sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n          if (isEmpty(dom, parentNode)) {\n            DOM.remove(parentNode);\n          }\n        } else {\n          DOM.setStyle(parentNode, 'listStyleType', 'none');\n        }\n      }\n      if (isListNode(parentNode)) {\n        var sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n        }\n      }\n    };\n    var normalizeLists = function (dom, element) {\n      var lists = global$2.grep(dom.select('ol,ul', element));\n      global$2.each(lists, function (list) {\n        normalizeList(dom, list);\n      });\n    };\n\n    var findNextCaretContainer = function (editor, rng, isForward, root) {\n      var node = rng.startContainer;\n      var offset = rng.startOffset;\n      if (isTextNode(node) && (isForward ? offset < node.data.length : offset > 0)) {\n        return node;\n      }\n      var nonEmptyBlocks = editor.schema.getNonEmptyElements();\n      if (node.nodeType === 1) {\n        node = global$6.getNode(node, offset);\n      }\n      var walker = new global$5(node, root);\n      if (isForward) {\n        if (isBogusBr(editor.dom, node)) {\n          walker.next();\n        }\n      }\n      while (node = walker[isForward ? 'next' : 'prev2']()) {\n        if (node.nodeName === 'LI' && !node.hasChildNodes()) {\n          return node;\n        }\n        if (nonEmptyBlocks[node.nodeName]) {\n          return node;\n        }\n        if (isTextNode(node) && node.data.length > 0) {\n          return node;\n        }\n      }\n    };\n    var hasOnlyOneBlockChild = function (dom, elm) {\n      var childNodes = elm.childNodes;\n      return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);\n    };\n    var unwrapSingleBlockChild = function (dom, elm) {\n      if (hasOnlyOneBlockChild(dom, elm)) {\n        dom.remove(elm.firstChild, true);\n      }\n    };\n    var moveChildren = function (dom, fromElm, toElm) {\n      var node;\n      var targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;\n      unwrapSingleBlockChild(dom, fromElm);\n      if (!isEmpty(dom, fromElm, true)) {\n        while (node = fromElm.firstChild) {\n          targetElm.appendChild(node);\n        }\n      }\n    };\n    var mergeLiElements = function (dom, fromElm, toElm) {\n      var listNode;\n      var ul = fromElm.parentNode;\n      if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) {\n        return;\n      }\n      if (isListNode(toElm.lastChild)) {\n        listNode = toElm.lastChild;\n      }\n      if (ul === toElm.lastChild) {\n        if (isBr(ul.previousSibling)) {\n          dom.remove(ul.previousSibling);\n        }\n      }\n      var node = toElm.lastChild;\n      if (node && isBr(node) && fromElm.hasChildNodes()) {\n        dom.remove(node);\n      }\n      if (isEmpty(dom, toElm, true)) {\n        dom.$(toElm).empty();\n      }\n      moveChildren(dom, fromElm, toElm);\n      if (listNode) {\n        toElm.appendChild(listNode);\n      }\n      var contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm));\n      var nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : [];\n      dom.remove(fromElm);\n      each$1(nestedLists, function (list) {\n        if (isEmpty(dom, list) && list !== dom.getRoot()) {\n          dom.remove(list);\n        }\n      });\n    };\n    var mergeIntoEmptyLi = function (editor, fromLi, toLi) {\n      editor.dom.$(toLi).empty();\n      mergeLiElements(editor.dom, fromLi, toLi);\n      editor.selection.setCursorLocation(toLi, 0);\n    };\n    var mergeForward = function (editor, rng, fromLi, toLi) {\n      var dom = editor.dom;\n      if (dom.isEmpty(toLi)) {\n        mergeIntoEmptyLi(editor, fromLi, toLi);\n      } else {\n        var bookmark = createBookmark(rng);\n        mergeLiElements(dom, fromLi, toLi);\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    var mergeBackward = function (editor, rng, fromLi, toLi) {\n      var bookmark = createBookmark(rng);\n      mergeLiElements(editor.dom, fromLi, toLi);\n      var resolvedBookmark = resolveBookmark(bookmark);\n      editor.selection.setRng(resolvedBookmark);\n    };\n    var backspaceDeleteFromListToListCaret = function (editor, isForward) {\n      var dom = editor.dom, selection = editor.selection;\n      var selectionStartElm = selection.getStart();\n      var root = getClosestListRootElm(editor, selectionStartElm);\n      var li = dom.getParent(selection.getStart(), 'LI', root);\n      if (li) {\n        var ul = li.parentNode;\n        if (ul === editor.getBody() && isEmpty(dom, ul)) {\n          return true;\n        }\n        var rng_1 = normalizeRange(selection.getRng());\n        var otherLi_1 = dom.getParent(findNextCaretContainer(editor, rng_1, isForward, root), 'LI', root);\n        if (otherLi_1 && otherLi_1 !== li) {\n          editor.undoManager.transact(function () {\n            if (isForward) {\n              mergeForward(editor, rng_1, otherLi_1, li);\n            } else {\n              if (isFirstChild(li)) {\n                outdentListSelection(editor);\n              } else {\n                mergeBackward(editor, rng_1, li, otherLi_1);\n              }\n            }\n          });\n          return true;\n        } else if (!otherLi_1) {\n          if (!isForward && rng_1.startOffset === 0 && rng_1.endOffset === 0) {\n            editor.undoManager.transact(function () {\n              flattenListSelection(editor);\n            });\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    var removeBlock = function (dom, block, root) {\n      var parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);\n      dom.remove(block);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        dom.remove(parentBlock);\n      }\n    };\n    var backspaceDeleteIntoListCaret = function (editor, isForward) {\n      var dom = editor.dom;\n      var selectionStartElm = editor.selection.getStart();\n      var root = getClosestListRootElm(editor, selectionStartElm);\n      var block = dom.getParent(selectionStartElm, dom.isBlock, root);\n      if (block && dom.isEmpty(block)) {\n        var rng = normalizeRange(editor.selection.getRng());\n        var otherLi_2 = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        if (otherLi_2) {\n          editor.undoManager.transact(function () {\n            removeBlock(dom, block, root);\n            mergeWithAdjacentLists(dom, otherLi_2.parentNode);\n            editor.selection.select(otherLi_2, true);\n            editor.selection.collapse(isForward);\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    var backspaceDeleteCaret = function (editor, isForward) {\n      return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);\n    };\n    var backspaceDeleteRange = function (editor) {\n      var selectionStartElm = editor.selection.getStart();\n      var root = getClosestListRootElm(editor, selectionStartElm);\n      var startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);\n      if (startListParent || getSelectedListItems(editor).length > 0) {\n        editor.undoManager.transact(function () {\n          editor.execCommand('Delete');\n          normalizeLists(editor.dom, editor.getBody());\n        });\n        return true;\n      }\n      return false;\n    };\n    var backspaceDelete = function (editor, isForward) {\n      return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor);\n    };\n    var setup$1 = function (editor) {\n      editor.on('keydown', function (e) {\n        if (e.keyCode === global$4.BACKSPACE) {\n          if (backspaceDelete(editor, false)) {\n            e.preventDefault();\n          }\n        } else if (e.keyCode === global$4.DELETE) {\n          if (backspaceDelete(editor, true)) {\n            e.preventDefault();\n          }\n        }\n      });\n    };\n\n    var get = function (editor) {\n      return {\n        backspaceDelete: function (isForward) {\n          backspaceDelete(editor, isForward);\n        }\n      };\n    };\n\n    var updateList = function (editor, update) {\n      var parentList = getParentList(editor);\n      editor.undoManager.transact(function () {\n        if (isObject(update.styles)) {\n          editor.dom.setStyles(parentList, update.styles);\n        }\n        if (isObject(update.attrs)) {\n          each(update.attrs, function (v, k) {\n            return editor.dom.setAttrib(parentList, k, v);\n          });\n        }\n      });\n    };\n\n    var parseAlphabeticBase26 = function (str) {\n      var chars = reverse(trim(str).split(''));\n      var values = map(chars, function (char, i) {\n        var charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n        return Math.pow(26, i) * charValue;\n      });\n      return foldl(values, function (sum, v) {\n        return sum + v;\n      }, 0);\n    };\n    var composeAlphabeticBase26 = function (value) {\n      value--;\n      if (value < 0) {\n        return '';\n      } else {\n        var remainder = value % 26;\n        var quotient = Math.floor(value / 26);\n        var rest = composeAlphabeticBase26(quotient);\n        var char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n        return rest + char;\n      }\n    };\n    var isUppercase = function (str) {\n      return /^[A-Z]+$/.test(str);\n    };\n    var isLowercase = function (str) {\n      return /^[a-z]+$/.test(str);\n    };\n    var isNumeric = function (str) {\n      return /^[0-9]+$/.test(str);\n    };\n    var deduceListType = function (start) {\n      if (isNumeric(start)) {\n        return 2;\n      } else if (isUppercase(start)) {\n        return 0;\n      } else if (isLowercase(start)) {\n        return 1;\n      } else if (isEmpty$1(start)) {\n        return 3;\n      } else {\n        return 4;\n      }\n    };\n    var parseStartValue = function (start) {\n      switch (deduceListType(start)) {\n      case 2:\n        return Optional.some({\n          listStyleType: Optional.none(),\n          start: start\n        });\n      case 0:\n        return Optional.some({\n          listStyleType: Optional.some('upper-alpha'),\n          start: parseAlphabeticBase26(start).toString()\n        });\n      case 1:\n        return Optional.some({\n          listStyleType: Optional.some('lower-alpha'),\n          start: parseAlphabeticBase26(start).toString()\n        });\n      case 3:\n        return Optional.some({\n          listStyleType: Optional.none(),\n          start: ''\n        });\n      case 4:\n        return Optional.none();\n      }\n    };\n    var parseDetail = function (detail) {\n      var start = parseInt(detail.start, 10);\n      if (is(detail.listStyleType, 'upper-alpha')) {\n        return composeAlphabeticBase26(start);\n      } else if (is(detail.listStyleType, 'lower-alpha')) {\n        return composeAlphabeticBase26(start).toLowerCase();\n      } else {\n        return detail.start;\n      }\n    };\n\n    var open = function (editor) {\n      var currentList = getParentList(editor);\n      if (!isOlNode(currentList)) {\n        return;\n      }\n      editor.windowManager.open({\n        title: 'List Properties',\n        body: {\n          type: 'panel',\n          items: [{\n              type: 'input',\n              name: 'start',\n              label: 'Start list at number',\n              inputMode: 'numeric'\n            }]\n        },\n        initialData: {\n          start: parseDetail({\n            start: editor.dom.getAttrib(currentList, 'start', '1'),\n            listStyleType: Optional.some(editor.dom.getStyle(currentList, 'list-style-type'))\n          })\n        },\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        onSubmit: function (api) {\n          var data = api.getData();\n          parseStartValue(data.start).each(function (detail) {\n            editor.execCommand('mceListUpdate', false, {\n              attrs: { start: detail.start === '1' ? '' : detail.start },\n              styles: { 'list-style-type': detail.listStyleType.getOr('') }\n            });\n          });\n          api.close();\n        }\n      });\n    };\n\n    var queryListCommandState = function (editor, listName) {\n      return function () {\n        var parentList = getParentList(editor);\n        return parentList && parentList.nodeName === listName;\n      };\n    };\n    var registerDialog = function (editor) {\n      editor.addCommand('mceListProps', function () {\n        open(editor);\n      });\n    };\n    var register$2 = function (editor) {\n      editor.on('BeforeExecCommand', function (e) {\n        var cmd = e.command.toLowerCase();\n        if (cmd === 'indent') {\n          indentListSelection(editor);\n        } else if (cmd === 'outdent') {\n          outdentListSelection(editor);\n        }\n      });\n      editor.addCommand('InsertUnorderedList', function (ui, detail) {\n        toggleList(editor, 'UL', detail);\n      });\n      editor.addCommand('InsertOrderedList', function (ui, detail) {\n        toggleList(editor, 'OL', detail);\n      });\n      editor.addCommand('InsertDefinitionList', function (ui, detail) {\n        toggleList(editor, 'DL', detail);\n      });\n      editor.addCommand('RemoveList', function () {\n        flattenListSelection(editor);\n      });\n      registerDialog(editor);\n      editor.addCommand('mceListUpdate', function (ui, detail) {\n        if (isObject(detail)) {\n          updateList(editor, detail);\n        }\n      });\n      editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));\n      editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));\n      editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));\n    };\n\n    var setupTabKey = function (editor) {\n      editor.on('keydown', function (e) {\n        if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) {\n          return;\n        }\n        editor.undoManager.transact(function () {\n          if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {\n            e.preventDefault();\n          }\n        });\n      });\n    };\n    var setup = function (editor) {\n      if (shouldIndentOnTab(editor)) {\n        setupTabKey(editor);\n      }\n      setup$1(editor);\n    };\n\n    var register$1 = function (editor) {\n      var exec = function (command) {\n        return function () {\n          return editor.execCommand(command);\n        };\n      };\n      if (!editor.hasPlugin('advlist')) {\n        editor.ui.registry.addToggleButton('numlist', {\n          icon: 'ordered-list',\n          active: false,\n          tooltip: 'Numbered list',\n          onAction: exec('InsertOrderedList'),\n          onSetup: function (api) {\n            return listState(editor, 'OL', api.setActive);\n          }\n        });\n        editor.ui.registry.addToggleButton('bullist', {\n          icon: 'unordered-list',\n          active: false,\n          tooltip: 'Bullet list',\n          onAction: exec('InsertUnorderedList'),\n          onSetup: function (api) {\n            return listState(editor, 'UL', api.setActive);\n          }\n        });\n      }\n    };\n\n    var register = function (editor) {\n      var listProperties = {\n        text: 'List properties...',\n        icon: 'ordered-list',\n        onAction: function () {\n          return editor.execCommand('mceListProps');\n        },\n        onSetup: function (api) {\n          return listState(editor, 'OL', function (active) {\n            return api.setDisabled(!active);\n          });\n        }\n      };\n      editor.ui.registry.addMenuItem('listprops', listProperties);\n      editor.ui.registry.addContextMenu('lists', {\n        update: function (node) {\n          var parentList = getParentList(editor, node);\n          return isOlNode(parentList) ? ['listprops'] : [];\n        }\n      });\n    };\n\n    function Plugin () {\n      global$7.add('lists', function (editor) {\n        if (editor.hasPlugin('rtc', true) === false) {\n          setup(editor);\n          register$2(editor);\n        } else {\n          registerDialog(editor);\n        }\n        register$1(editor);\n        register(editor);\n        return get(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/lists/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/media/index.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/plugins/media/index.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"media\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/media')\n//   ES2015:\n//     import 'tinymce/plugins/media'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/media/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/media/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/media/plugin.js":
/*!******************************************************!*\
  !*** ./node_modules/tinymce/plugins/media/plugin.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$9 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isString = isType('string');\n    var isObject = isType('object');\n    var isArray = isType('array');\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n\n    var noop = function () {\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var nativePush = Array.prototype.push;\n    var each$1 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var keys = Object.keys;\n    var hasOwnProperty = Object.hasOwnProperty;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var get$1 = function (obj, key) {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    var has = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n\n    var getScripts = function (editor) {\n      return editor.getParam('media_scripts');\n    };\n    var getAudioTemplateCallback = function (editor) {\n      return editor.getParam('audio_template_callback');\n    };\n    var getVideoTemplateCallback = function (editor) {\n      return editor.getParam('video_template_callback');\n    };\n    var hasLiveEmbeds = function (editor) {\n      return editor.getParam('media_live_embeds', true);\n    };\n    var shouldFilterHtml = function (editor) {\n      return editor.getParam('media_filter_html', true);\n    };\n    var getUrlResolver = function (editor) {\n      return editor.getParam('media_url_resolver');\n    };\n    var hasAltSource = function (editor) {\n      return editor.getParam('media_alt_source', true);\n    };\n    var hasPoster = function (editor) {\n      return editor.getParam('media_poster', true);\n    };\n    var hasDimensions = function (editor) {\n      return editor.getParam('media_dimensions', true);\n    };\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.html.SaxParser');\n\n    var getVideoScriptMatch = function (prefixes, src) {\n      if (prefixes) {\n        for (var i = 0; i < prefixes.length; i++) {\n          if (src.indexOf(prefixes[i].filter) !== -1) {\n            return prefixes[i];\n          }\n        }\n      }\n    };\n\n    var DOM$1 = global$7.DOM;\n    var trimPx = function (value) {\n      return value.replace(/px$/, '');\n    };\n    var getEphoxEmbedData = function (attrs) {\n      var style = attrs.map.style;\n      var styles = style ? DOM$1.parseStyle(style) : {};\n      return {\n        type: 'ephox-embed-iri',\n        source: attrs.map['data-ephox-embed-iri'],\n        altsource: '',\n        poster: '',\n        width: get$1(styles, 'max-width').map(trimPx).getOr(''),\n        height: get$1(styles, 'max-height').map(trimPx).getOr('')\n      };\n    };\n    var htmlToData = function (prefixes, html) {\n      var isEphoxEmbed = Cell(false);\n      var data = {};\n      global$6({\n        validate: false,\n        allow_conditional_comments: true,\n        start: function (name, attrs) {\n          if (isEphoxEmbed.get()) ; else if (has(attrs.map, 'data-ephox-embed-iri')) {\n            isEphoxEmbed.set(true);\n            data = getEphoxEmbedData(attrs);\n          } else {\n            if (!data.source && name === 'param') {\n              data.source = attrs.map.movie;\n            }\n            if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {\n              if (!data.type) {\n                data.type = name;\n              }\n              data = global$8.extend(attrs.map, data);\n            }\n            if (name === 'script') {\n              var videoScript = getVideoScriptMatch(prefixes, attrs.map.src);\n              if (!videoScript) {\n                return;\n              }\n              data = {\n                type: 'script',\n                source: attrs.map.src,\n                width: String(videoScript.width),\n                height: String(videoScript.height)\n              };\n            }\n            if (name === 'source') {\n              if (!data.source) {\n                data.source = attrs.map.src;\n              } else if (!data.altsource) {\n                data.altsource = attrs.map.src;\n              }\n            }\n            if (name === 'img' && !data.poster) {\n              data.poster = attrs.map.src;\n            }\n          }\n        }\n      }).parse(html);\n      data.source = data.source || data.src || data.data;\n      data.altsource = data.altsource || '';\n      data.poster = data.poster || '';\n      return data;\n    };\n\n    var guess = function (url) {\n      var mimes = {\n        mp3: 'audio/mpeg',\n        m4a: 'audio/x-m4a',\n        wav: 'audio/wav',\n        mp4: 'video/mp4',\n        webm: 'video/webm',\n        ogg: 'video/ogg',\n        swf: 'application/x-shockwave-flash'\n      };\n      var fileEnd = url.toLowerCase().split('.').pop();\n      var mime = mimes[fileEnd];\n      return mime ? mime : '';\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.html.Schema');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.html.Writer');\n\n    var DOM = global$7.DOM;\n    var addPx = function (value) {\n      return /^[0-9.]+$/.test(value) ? value + 'px' : value;\n    };\n    var setAttributes = function (attrs, updatedAttrs) {\n      each(updatedAttrs, function (val, name) {\n        var value = '' + val;\n        if (attrs.map[name]) {\n          var i = attrs.length;\n          while (i--) {\n            var attr = attrs[i];\n            if (attr.name === name) {\n              if (value) {\n                attrs.map[name] = value;\n                attr.value = value;\n              } else {\n                delete attrs.map[name];\n                attrs.splice(i, 1);\n              }\n            }\n          }\n        } else if (value) {\n          attrs.push({\n            name: name,\n            value: value\n          });\n          attrs.map[name] = value;\n        }\n      });\n    };\n    var updateEphoxEmbed = function (data, attrs) {\n      var style = attrs.map.style;\n      var styleMap = style ? DOM.parseStyle(style) : {};\n      styleMap['max-width'] = addPx(data.width);\n      styleMap['max-height'] = addPx(data.height);\n      setAttributes(attrs, { style: DOM.serializeStyle(styleMap) });\n    };\n    var sources = [\n      'source',\n      'altsource'\n    ];\n    var updateHtml = function (html, data, updateAll) {\n      var writer = global$4();\n      var isEphoxEmbed = Cell(false);\n      var sourceCount = 0;\n      var hasImage;\n      global$6({\n        validate: false,\n        allow_conditional_comments: true,\n        comment: function (text) {\n          writer.comment(text);\n        },\n        cdata: function (text) {\n          writer.cdata(text);\n        },\n        text: function (text, raw) {\n          writer.text(text, raw);\n        },\n        start: function (name, attrs, empty) {\n          if (isEphoxEmbed.get()) ; else if (has(attrs.map, 'data-ephox-embed-iri')) {\n            isEphoxEmbed.set(true);\n            updateEphoxEmbed(data, attrs);\n          } else {\n            switch (name) {\n            case 'video':\n            case 'object':\n            case 'embed':\n            case 'img':\n            case 'iframe':\n              if (data.height !== undefined && data.width !== undefined) {\n                setAttributes(attrs, {\n                  width: data.width,\n                  height: data.height\n                });\n              }\n              break;\n            }\n            if (updateAll) {\n              switch (name) {\n              case 'video':\n                setAttributes(attrs, {\n                  poster: data.poster,\n                  src: ''\n                });\n                if (data.altsource) {\n                  setAttributes(attrs, { src: '' });\n                }\n                break;\n              case 'iframe':\n                setAttributes(attrs, { src: data.source });\n                break;\n              case 'source':\n                if (sourceCount < 2) {\n                  setAttributes(attrs, {\n                    src: data[sources[sourceCount]],\n                    type: data[sources[sourceCount] + 'mime']\n                  });\n                  if (!data[sources[sourceCount]]) {\n                    return;\n                  }\n                }\n                sourceCount++;\n                break;\n              case 'img':\n                if (!data.poster) {\n                  return;\n                }\n                hasImage = true;\n                break;\n              }\n            }\n          }\n          writer.start(name, attrs, empty);\n        },\n        end: function (name) {\n          if (!isEphoxEmbed.get()) {\n            if (name === 'video' && updateAll) {\n              for (var index = 0; index < 2; index++) {\n                if (data[sources[index]]) {\n                  var attrs = [];\n                  attrs.map = {};\n                  if (sourceCount <= index) {\n                    setAttributes(attrs, {\n                      src: data[sources[index]],\n                      type: data[sources[index] + 'mime']\n                    });\n                    writer.start('source', attrs, true);\n                  }\n                }\n              }\n            }\n            if (data.poster && name === 'object' && updateAll && !hasImage) {\n              var imgAttrs = [];\n              imgAttrs.map = {};\n              setAttributes(imgAttrs, {\n                src: data.poster,\n                width: data.width,\n                height: data.height\n              });\n              writer.start('img', imgAttrs, true);\n            }\n          }\n          writer.end(name);\n        }\n      }, global$5({})).parse(html);\n      return writer.getContent();\n    };\n\n    var urlPatterns = [\n      {\n        regex: /youtu\\.be\\/([\\w\\-_\\?&=.]+)/i,\n        type: 'iframe',\n        w: 560,\n        h: 314,\n        url: 'www.youtube.com/embed/$1',\n        allowFullscreen: true\n      },\n      {\n        regex: /youtube\\.com(.+)v=([^&]+)(&([a-z0-9&=\\-_]+))?/i,\n        type: 'iframe',\n        w: 560,\n        h: 314,\n        url: 'www.youtube.com/embed/$2?$4',\n        allowFullscreen: true\n      },\n      {\n        regex: /youtube.com\\/embed\\/([a-z0-9\\?&=\\-_]+)/i,\n        type: 'iframe',\n        w: 560,\n        h: 314,\n        url: 'www.youtube.com/embed/$1',\n        allowFullscreen: true\n      },\n      {\n        regex: /vimeo\\.com\\/([0-9]+)/,\n        type: 'iframe',\n        w: 425,\n        h: 350,\n        url: 'player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',\n        allowFullscreen: true\n      },\n      {\n        regex: /vimeo\\.com\\/(.*)\\/([0-9]+)/,\n        type: 'iframe',\n        w: 425,\n        h: 350,\n        url: 'player.vimeo.com/video/$2?title=0&amp;byline=0',\n        allowFullscreen: true\n      },\n      {\n        regex: /maps\\.google\\.([a-z]{2,3})\\/maps\\/(.+)msid=(.+)/,\n        type: 'iframe',\n        w: 425,\n        h: 350,\n        url: 'maps.google.com/maps/ms?msid=$2&output=embed\"',\n        allowFullscreen: false\n      },\n      {\n        regex: /dailymotion\\.com\\/video\\/([^_]+)/,\n        type: 'iframe',\n        w: 480,\n        h: 270,\n        url: 'www.dailymotion.com/embed/video/$1',\n        allowFullscreen: true\n      },\n      {\n        regex: /dai\\.ly\\/([^_]+)/,\n        type: 'iframe',\n        w: 480,\n        h: 270,\n        url: 'www.dailymotion.com/embed/video/$1',\n        allowFullscreen: true\n      }\n    ];\n    var getProtocol = function (url) {\n      var protocolMatches = url.match(/^(https?:\\/\\/|www\\.)(.+)$/i);\n      if (protocolMatches && protocolMatches.length > 1) {\n        return protocolMatches[1] === 'www.' ? 'https://' : protocolMatches[1];\n      } else {\n        return 'https://';\n      }\n    };\n    var getUrl = function (pattern, url) {\n      var protocol = getProtocol(url);\n      var match = pattern.regex.exec(url);\n      var newUrl = protocol + pattern.url;\n      var _loop_1 = function (i) {\n        newUrl = newUrl.replace('$' + i, function () {\n          return match[i] ? match[i] : '';\n        });\n      };\n      for (var i = 0; i < match.length; i++) {\n        _loop_1(i);\n      }\n      return newUrl.replace(/\\?$/, '');\n    };\n    var matchPattern = function (url) {\n      var patterns = urlPatterns.filter(function (pattern) {\n        return pattern.regex.test(url);\n      });\n      if (patterns.length > 0) {\n        return global$8.extend({}, patterns[0], { url: getUrl(patterns[0], url) });\n      } else {\n        return null;\n      }\n    };\n\n    var getIframeHtml = function (data) {\n      var allowFullscreen = data.allowfullscreen ? ' allowFullscreen=\"1\"' : '';\n      return '<iframe src=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\"' + allowFullscreen + '></iframe>';\n    };\n    var getFlashHtml = function (data) {\n      var html = '<object data=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" type=\"application/x-shockwave-flash\">';\n      if (data.poster) {\n        html += '<img src=\"' + data.poster + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" />';\n      }\n      html += '</object>';\n      return html;\n    };\n    var getAudioHtml = function (data, audioTemplateCallback) {\n      if (audioTemplateCallback) {\n        return audioTemplateCallback(data);\n      } else {\n        return '<audio controls=\"controls\" src=\"' + data.source + '\">' + (data.altsource ? '\\n<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '</audio>';\n      }\n    };\n    var getVideoHtml = function (data, videoTemplateCallback) {\n      if (videoTemplateCallback) {\n        return videoTemplateCallback(data);\n      } else {\n        return '<video width=\"' + data.width + '\" height=\"' + data.height + '\"' + (data.poster ? ' poster=\"' + data.poster + '\"' : '') + ' controls=\"controls\">\\n' + '<source src=\"' + data.source + '\"' + (data.sourcemime ? ' type=\"' + data.sourcemime + '\"' : '') + ' />\\n' + (data.altsource ? '<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '</video>';\n      }\n    };\n    var getScriptHtml = function (data) {\n      return '<script src=\"' + data.source + '\"></script>';\n    };\n    var dataToHtml = function (editor, dataIn) {\n      var data = global$8.extend({}, dataIn);\n      if (!data.source) {\n        global$8.extend(data, htmlToData(getScripts(editor), data.embed));\n        if (!data.source) {\n          return '';\n        }\n      }\n      if (!data.altsource) {\n        data.altsource = '';\n      }\n      if (!data.poster) {\n        data.poster = '';\n      }\n      data.source = editor.convertURL(data.source, 'source');\n      data.altsource = editor.convertURL(data.altsource, 'source');\n      data.sourcemime = guess(data.source);\n      data.altsourcemime = guess(data.altsource);\n      data.poster = editor.convertURL(data.poster, 'poster');\n      var pattern = matchPattern(data.source);\n      if (pattern) {\n        data.source = pattern.url;\n        data.type = pattern.type;\n        data.allowfullscreen = pattern.allowFullscreen;\n        data.width = data.width || String(pattern.w);\n        data.height = data.height || String(pattern.h);\n      }\n      if (data.embed) {\n        return updateHtml(data.embed, data, true);\n      } else {\n        var videoScript = getVideoScriptMatch(getScripts(editor), data.source);\n        if (videoScript) {\n          data.type = 'script';\n          data.width = String(videoScript.width);\n          data.height = String(videoScript.height);\n        }\n        var audioTemplateCallback = getAudioTemplateCallback(editor);\n        var videoTemplateCallback = getVideoTemplateCallback(editor);\n        data.width = data.width || '300';\n        data.height = data.height || '150';\n        global$8.each(data, function (value, key) {\n          data[key] = editor.dom.encode('' + value);\n        });\n        if (data.type === 'iframe') {\n          return getIframeHtml(data);\n        } else if (data.sourcemime === 'application/x-shockwave-flash') {\n          return getFlashHtml(data);\n        } else if (data.sourcemime.indexOf('audio') !== -1) {\n          return getAudioHtml(data, audioTemplateCallback);\n        } else if (data.type === 'script') {\n          return getScriptHtml(data);\n        } else {\n          return getVideoHtml(data, videoTemplateCallback);\n        }\n      }\n    };\n\n    var isMediaElement = function (element) {\n      return element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri');\n    };\n    var setup$2 = function (editor) {\n      editor.on('click keyup touchend', function () {\n        var selectedNode = editor.selection.getNode();\n        if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {\n          if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {\n            selectedNode.setAttribute('data-mce-selected', '2');\n          }\n        }\n      });\n      editor.on('ObjectSelected', function (e) {\n        var objectType = e.target.getAttribute('data-mce-object');\n        if (objectType === 'script') {\n          e.preventDefault();\n        }\n      });\n      editor.on('ObjectResized', function (e) {\n        var target = e.target;\n        if (target.getAttribute('data-mce-object')) {\n          var html = target.getAttribute('data-mce-html');\n          if (html) {\n            html = unescape(html);\n            target.setAttribute('data-mce-html', escape(updateHtml(html, {\n              width: String(e.width),\n              height: String(e.height)\n            })));\n          }\n        }\n      });\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n    var cache = {};\n    var embedPromise = function (data, dataToHtml, handler) {\n      return new global$3(function (res, rej) {\n        var wrappedResolve = function (response) {\n          if (response.html) {\n            cache[data.source] = response;\n          }\n          return res({\n            url: data.source,\n            html: response.html ? response.html : dataToHtml(data)\n          });\n        };\n        if (cache[data.source]) {\n          wrappedResolve(cache[data.source]);\n        } else {\n          handler({ url: data.source }, wrappedResolve, rej);\n        }\n      });\n    };\n    var defaultPromise = function (data, dataToHtml) {\n      return global$3.resolve({\n        html: dataToHtml(data),\n        url: data.source\n      });\n    };\n    var loadedData = function (editor) {\n      return function (data) {\n        return dataToHtml(editor, data);\n      };\n    };\n    var getEmbedHtml = function (editor, data) {\n      var embedHandler = getUrlResolver(editor);\n      return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));\n    };\n    var isCached = function (url) {\n      return has(cache, url);\n    };\n\n    var extractMeta = function (sourceInput, data) {\n      return get$1(data, sourceInput).bind(function (mainData) {\n        return get$1(mainData, 'meta');\n      });\n    };\n    var getValue = function (data, metaData, sourceInput) {\n      return function (prop) {\n        var _a;\n        var getFromData = function () {\n          return get$1(data, prop);\n        };\n        var getFromMetaData = function () {\n          return get$1(metaData, prop);\n        };\n        var getNonEmptyValue = function (c) {\n          return get$1(c, 'value').bind(function (v) {\n            return v.length > 0 ? Optional.some(v) : Optional.none();\n          });\n        };\n        var getFromValueFirst = function () {\n          return getFromData().bind(function (child) {\n            return isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(function () {\n              return Optional.from(child);\n            });\n          });\n        };\n        var getFromMetaFirst = function () {\n          return getFromMetaData().orThunk(function () {\n            return getFromData().bind(function (child) {\n              return isObject(child) ? getNonEmptyValue(child) : Optional.from(child);\n            });\n          });\n        };\n        return _a = {}, _a[prop] = (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr(''), _a;\n      };\n    };\n    var getDimensions = function (data, metaData) {\n      var dimensions = {};\n      get$1(data, 'dimensions').each(function (dims) {\n        each$1([\n          'width',\n          'height'\n        ], function (prop) {\n          get$1(metaData, prop).orThunk(function () {\n            return get$1(dims, prop);\n          }).each(function (value) {\n            return dimensions[prop] = value;\n          });\n        });\n      });\n      return dimensions;\n    };\n    var unwrap = function (data, sourceInput) {\n      var metaData = sourceInput ? extractMeta(sourceInput, data).getOr({}) : {};\n      var get = getValue(data, metaData, sourceInput);\n      return __assign(__assign(__assign(__assign(__assign({}, get('source')), get('altsource')), get('poster')), get('embed')), getDimensions(data, metaData));\n    };\n    var wrap = function (data) {\n      var wrapped = __assign(__assign({}, data), {\n        source: { value: get$1(data, 'source').getOr('') },\n        altsource: { value: get$1(data, 'altsource').getOr('') },\n        poster: { value: get$1(data, 'poster').getOr('') }\n      });\n      each$1([\n        'width',\n        'height'\n      ], function (prop) {\n        get$1(data, prop).each(function (value) {\n          var dimensions = wrapped.dimensions || {};\n          dimensions[prop] = value;\n          wrapped.dimensions = dimensions;\n        });\n      });\n      return wrapped;\n    };\n    var handleError = function (editor) {\n      return function (error) {\n        var errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';\n        editor.notificationManager.open({\n          type: 'error',\n          text: errorMessage\n        });\n      };\n    };\n    var snippetToData = function (editor, embedSnippet) {\n      return htmlToData(getScripts(editor), embedSnippet);\n    };\n    var getEditorData = function (editor) {\n      var element = editor.selection.getNode();\n      var snippet = isMediaElement(element) ? editor.serializer.serialize(element, { selection: true }) : '';\n      return __assign({ embed: snippet }, htmlToData(getScripts(editor), snippet));\n    };\n    var addEmbedHtml = function (api, editor) {\n      return function (response) {\n        if (isString(response.url) && response.url.trim().length > 0) {\n          var html = response.html;\n          var snippetData = snippetToData(editor, html);\n          var nuData = __assign(__assign({}, snippetData), {\n            source: response.url,\n            embed: html\n          });\n          api.setData(wrap(nuData));\n        }\n      };\n    };\n    var selectPlaceholder = function (editor, beforeObjects) {\n      var afterObjects = editor.dom.select('*[data-mce-object]');\n      for (var i = 0; i < beforeObjects.length; i++) {\n        for (var y = afterObjects.length - 1; y >= 0; y--) {\n          if (beforeObjects[i] === afterObjects[y]) {\n            afterObjects.splice(y, 1);\n          }\n        }\n      }\n      editor.selection.select(afterObjects[0]);\n    };\n    var handleInsert = function (editor, html) {\n      var beforeObjects = editor.dom.select('*[data-mce-object]');\n      editor.insertContent(html);\n      selectPlaceholder(editor, beforeObjects);\n      editor.nodeChanged();\n    };\n    var submitForm = function (prevData, newData, editor) {\n      newData.embed = updateHtml(newData.embed, newData);\n      if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) {\n        handleInsert(editor, newData.embed);\n      } else {\n        getEmbedHtml(editor, newData).then(function (response) {\n          handleInsert(editor, response.html);\n        }).catch(handleError(editor));\n      }\n    };\n    var showDialog = function (editor) {\n      var editorData = getEditorData(editor);\n      var currentData = Cell(editorData);\n      var initialData = wrap(editorData);\n      var handleSource = function (prevData, api) {\n        var serviceData = unwrap(api.getData(), 'source');\n        if (prevData.source !== serviceData.source) {\n          addEmbedHtml(win, editor)({\n            url: serviceData.source,\n            html: ''\n          });\n          getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor));\n        }\n      };\n      var handleEmbed = function (api) {\n        var data = unwrap(api.getData());\n        var dataFromEmbed = snippetToData(editor, data.embed);\n        api.setData(wrap(dataFromEmbed));\n      };\n      var handleUpdate = function (api, sourceInput) {\n        var data = unwrap(api.getData(), sourceInput);\n        var embed = dataToHtml(editor, data);\n        api.setData(wrap(__assign(__assign({}, data), { embed: embed })));\n      };\n      var mediaInput = [{\n          name: 'source',\n          type: 'urlinput',\n          filetype: 'media',\n          label: 'Source'\n        }];\n      var sizeInput = !hasDimensions(editor) ? [] : [{\n          type: 'sizeinput',\n          name: 'dimensions',\n          label: 'Constrain proportions',\n          constrain: true\n        }];\n      var generalTab = {\n        title: 'General',\n        name: 'general',\n        items: flatten([\n          mediaInput,\n          sizeInput\n        ])\n      };\n      var embedTextarea = {\n        type: 'textarea',\n        name: 'embed',\n        label: 'Paste your embed code below:'\n      };\n      var embedTab = {\n        title: 'Embed',\n        items: [embedTextarea]\n      };\n      var advancedFormItems = [];\n      if (hasAltSource(editor)) {\n        advancedFormItems.push({\n          name: 'altsource',\n          type: 'urlinput',\n          filetype: 'media',\n          label: 'Alternative source URL'\n        });\n      }\n      if (hasPoster(editor)) {\n        advancedFormItems.push({\n          name: 'poster',\n          type: 'urlinput',\n          filetype: 'image',\n          label: 'Media poster (Image URL)'\n        });\n      }\n      var advancedTab = {\n        title: 'Advanced',\n        name: 'advanced',\n        items: advancedFormItems\n      };\n      var tabs = [\n        generalTab,\n        embedTab\n      ];\n      if (advancedFormItems.length > 0) {\n        tabs.push(advancedTab);\n      }\n      var body = {\n        type: 'tabpanel',\n        tabs: tabs\n      };\n      var win = editor.windowManager.open({\n        title: 'Insert/Edit Media',\n        size: 'normal',\n        body: body,\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        onSubmit: function (api) {\n          var serviceData = unwrap(api.getData());\n          submitForm(currentData.get(), serviceData, editor);\n          api.close();\n        },\n        onChange: function (api, detail) {\n          switch (detail.name) {\n          case 'source':\n            handleSource(currentData.get(), api);\n            break;\n          case 'embed':\n            handleEmbed(api);\n            break;\n          case 'dimensions':\n          case 'altsource':\n          case 'poster':\n            handleUpdate(api, detail.name);\n            break;\n          }\n          currentData.set(unwrap(api.getData()));\n        },\n        initialData: initialData\n      });\n    };\n\n    var get = function (editor) {\n      var showDialog$1 = function () {\n        showDialog(editor);\n      };\n      return { showDialog: showDialog$1 };\n    };\n\n    var register$1 = function (editor) {\n      var showDialog$1 = function () {\n        showDialog(editor);\n      };\n      editor.addCommand('mceMedia', showDialog$1);\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.html.DomParser');\n\n    var sanitize = function (editor, html) {\n      if (shouldFilterHtml(editor) === false) {\n        return html;\n      }\n      var writer = global$4();\n      var blocked;\n      global$6({\n        validate: false,\n        allow_conditional_comments: false,\n        comment: function (text) {\n          if (!blocked) {\n            writer.comment(text);\n          }\n        },\n        cdata: function (text) {\n          if (!blocked) {\n            writer.cdata(text);\n          }\n        },\n        text: function (text, raw) {\n          if (!blocked) {\n            writer.text(text, raw);\n          }\n        },\n        start: function (name, attrs, empty) {\n          blocked = true;\n          if (name === 'script' || name === 'noscript' || name === 'svg') {\n            return;\n          }\n          for (var i = attrs.length - 1; i >= 0; i--) {\n            var attrName = attrs[i].name;\n            if (attrName.indexOf('on') === 0) {\n              delete attrs.map[attrName];\n              attrs.splice(i, 1);\n            }\n            if (attrName === 'style') {\n              attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name);\n            }\n          }\n          writer.start(name, attrs, empty);\n          blocked = false;\n        },\n        end: function (name) {\n          if (blocked) {\n            return;\n          }\n          writer.end(name);\n        }\n      }, global$5({})).parse(html);\n      return writer.getContent();\n    };\n\n    var isLiveEmbedNode = function (node) {\n      var name = node.name;\n      return name === 'iframe' || name === 'video' || name === 'audio';\n    };\n    var getDimension = function (node, styles, dimension, defaultValue) {\n      if (defaultValue === void 0) {\n        defaultValue = null;\n      }\n      var value = node.attr(dimension);\n      if (isNonNullable(value)) {\n        return value;\n      } else if (!has(styles, dimension)) {\n        return defaultValue;\n      } else {\n        return null;\n      }\n    };\n    var setDimensions = function (node, previewNode, styles) {\n      var useDefaults = previewNode.name === 'img' || node.name === 'video';\n      var defaultWidth = useDefaults ? '300' : null;\n      var fallbackHeight = node.name === 'audio' ? '30' : '150';\n      var defaultHeight = useDefaults ? fallbackHeight : null;\n      previewNode.attr({\n        width: getDimension(node, styles, 'width', defaultWidth),\n        height: getDimension(node, styles, 'height', defaultHeight)\n      });\n    };\n    var appendNodeContent = function (editor, nodeName, previewNode, html) {\n      var newNode = global({\n        forced_root_block: false,\n        validate: false\n      }, editor.schema).parse(html, { context: nodeName });\n      while (newNode.firstChild) {\n        previewNode.append(newNode.firstChild);\n      }\n    };\n    var createPlaceholderNode = function (editor, node) {\n      var name = node.name;\n      var placeHolder = new global$2('img', 1);\n      placeHolder.shortEnded = true;\n      retainAttributesAndInnerHtml(editor, node, placeHolder);\n      setDimensions(node, placeHolder, {});\n      placeHolder.attr({\n        'style': node.attr('style'),\n        'src': global$1.transparentSrc,\n        'data-mce-object': name,\n        'class': 'mce-object mce-object-' + name\n      });\n      return placeHolder;\n    };\n    var createPreviewNode = function (editor, node) {\n      var name = node.name;\n      var previewWrapper = new global$2('span', 1);\n      previewWrapper.attr({\n        'contentEditable': 'false',\n        'style': node.attr('style'),\n        'data-mce-object': name,\n        'class': 'mce-preview-object mce-object-' + name\n      });\n      retainAttributesAndInnerHtml(editor, node, previewWrapper);\n      var styles = editor.dom.parseStyle(node.attr('style'));\n      var previewNode = new global$2(name, 1);\n      setDimensions(node, previewNode, styles);\n      previewNode.attr({\n        src: node.attr('src'),\n        style: node.attr('style'),\n        class: node.attr('class')\n      });\n      if (name === 'iframe') {\n        previewNode.attr({\n          allowfullscreen: node.attr('allowfullscreen'),\n          frameborder: '0'\n        });\n      } else {\n        var attrs = [\n          'controls',\n          'crossorigin',\n          'currentTime',\n          'loop',\n          'muted',\n          'poster',\n          'preload'\n        ];\n        each$1(attrs, function (attrName) {\n          previewNode.attr(attrName, node.attr(attrName));\n        });\n        var sanitizedHtml = previewWrapper.attr('data-mce-html');\n        if (isNonNullable(sanitizedHtml)) {\n          appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml));\n        }\n      }\n      var shimNode = new global$2('span', 1);\n      shimNode.attr('class', 'mce-shim');\n      previewWrapper.append(previewNode);\n      previewWrapper.append(shimNode);\n      return previewWrapper;\n    };\n    var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) {\n      var attribs = sourceNode.attributes;\n      var ai = attribs.length;\n      while (ai--) {\n        var attrName = attribs[ai].name;\n        var attrValue = attribs[ai].value;\n        if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style') {\n          if (attrName === 'data' || attrName === 'src') {\n            attrValue = editor.convertURL(attrValue, attrName);\n          }\n          targetNode.attr('data-mce-p-' + attrName, attrValue);\n        }\n      }\n      var innerHtml = sourceNode.firstChild && sourceNode.firstChild.value;\n      if (innerHtml) {\n        targetNode.attr('data-mce-html', escape(sanitize(editor, innerHtml)));\n        targetNode.firstChild = null;\n      }\n    };\n    var isPageEmbedWrapper = function (node) {\n      var nodeClass = node.attr('class');\n      return nodeClass && /\\btiny-pageembed\\b/.test(nodeClass);\n    };\n    var isWithinEmbedWrapper = function (node) {\n      while (node = node.parent) {\n        if (node.attr('data-ephox-embed-iri') || isPageEmbedWrapper(node)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var placeHolderConverter = function (editor) {\n      return function (nodes) {\n        var i = nodes.length;\n        var node;\n        var videoScript;\n        while (i--) {\n          node = nodes[i];\n          if (!node.parent) {\n            continue;\n          }\n          if (node.parent.attr('data-mce-object')) {\n            continue;\n          }\n          if (node.name === 'script') {\n            videoScript = getVideoScriptMatch(getScripts(editor), node.attr('src'));\n            if (!videoScript) {\n              continue;\n            }\n          }\n          if (videoScript) {\n            if (videoScript.width) {\n              node.attr('width', videoScript.width.toString());\n            }\n            if (videoScript.height) {\n              node.attr('height', videoScript.height.toString());\n            }\n          }\n          if (isLiveEmbedNode(node) && hasLiveEmbeds(editor) && global$1.ceFalse) {\n            if (!isWithinEmbedWrapper(node)) {\n              node.replace(createPreviewNode(editor, node));\n            }\n          } else {\n            if (!isWithinEmbedWrapper(node)) {\n              node.replace(createPlaceholderNode(editor, node));\n            }\n          }\n        }\n      };\n    };\n\n    var setup$1 = function (editor) {\n      editor.on('preInit', function () {\n        var specialElements = editor.schema.getSpecialElements();\n        global$8.each('video audio iframe object'.split(' '), function (name) {\n          specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');\n        });\n        var boolAttrs = editor.schema.getBoolAttrs();\n        global$8.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) {\n          boolAttrs[name] = {};\n        });\n        editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', placeHolderConverter(editor));\n        editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) {\n          var i = nodes.length;\n          var node;\n          var realElm;\n          var ai;\n          var attribs;\n          var innerHtml;\n          var innerNode;\n          var realElmName;\n          var className;\n          while (i--) {\n            node = nodes[i];\n            if (!node.parent) {\n              continue;\n            }\n            realElmName = node.attr(name);\n            realElm = new global$2(realElmName, 1);\n            if (realElmName !== 'audio' && realElmName !== 'script') {\n              className = node.attr('class');\n              if (className && className.indexOf('mce-preview-object') !== -1) {\n                realElm.attr({\n                  width: node.firstChild.attr('width'),\n                  height: node.firstChild.attr('height')\n                });\n              } else {\n                realElm.attr({\n                  width: node.attr('width'),\n                  height: node.attr('height')\n                });\n              }\n            }\n            realElm.attr({ style: node.attr('style') });\n            attribs = node.attributes;\n            ai = attribs.length;\n            while (ai--) {\n              var attrName = attribs[ai].name;\n              if (attrName.indexOf('data-mce-p-') === 0) {\n                realElm.attr(attrName.substr(11), attribs[ai].value);\n              }\n            }\n            if (realElmName === 'script') {\n              realElm.attr('type', 'text/javascript');\n            }\n            innerHtml = node.attr('data-mce-html');\n            if (innerHtml) {\n              innerNode = new global$2('#text', 3);\n              innerNode.raw = true;\n              innerNode.value = sanitize(editor, unescape(innerHtml));\n              realElm.append(innerNode);\n            }\n            node.replace(realElm);\n          }\n        });\n      });\n      editor.on('SetContent', function () {\n        editor.$('span.mce-preview-object').each(function (index, elm) {\n          var $elm = editor.$(elm);\n          if ($elm.find('span.mce-shim').length === 0) {\n            $elm.append('<span class=\"mce-shim\"></span>');\n          }\n        });\n      });\n    };\n\n    var setup = function (editor) {\n      editor.on('ResolveName', function (e) {\n        var name;\n        if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {\n          e.name = name;\n        }\n      });\n    };\n\n    var register = function (editor) {\n      var onAction = function () {\n        return editor.execCommand('mceMedia');\n      };\n      editor.ui.registry.addToggleButton('media', {\n        tooltip: 'Insert/edit media',\n        icon: 'embed',\n        onAction: onAction,\n        onSetup: function (buttonApi) {\n          var selection = editor.selection;\n          buttonApi.setActive(isMediaElement(selection.getNode()));\n          return selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind;\n        }\n      });\n      editor.ui.registry.addMenuItem('media', {\n        icon: 'embed',\n        text: 'Media...',\n        onAction: onAction\n      });\n    };\n\n    function Plugin () {\n      global$9.add('media', function (editor) {\n        register$1(editor);\n        register(editor);\n        setup(editor);\n        setup$1(editor);\n        setup$2(editor);\n        return get(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/media/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/preview/index.js":
/*!*******************************************************!*\
  !*** ./node_modules/tinymce/plugins/preview/index.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"preview\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/preview')\n//   ES2015:\n//     import 'tinymce/plugins/preview'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/preview/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/preview/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/preview/plugin.js":
/*!********************************************************!*\
  !*** ./node_modules/tinymce/plugins/preview/plugin.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var getContentStyle = function (editor) {\n      return editor.getParam('content_style', '', 'string');\n    };\n    var shouldUseContentCssCors = function (editor) {\n      return editor.getParam('content_css_cors', false, 'boolean');\n    };\n    var getBodyClassByHash = function (editor) {\n      var bodyClass = editor.getParam('body_class', '', 'hash');\n      return bodyClass[editor.id] || '';\n    };\n    var getBodyClass = function (editor) {\n      var bodyClass = editor.getParam('body_class', '', 'string');\n      if (bodyClass.indexOf('=') === -1) {\n        return bodyClass;\n      } else {\n        return getBodyClassByHash(editor);\n      }\n    };\n    var getBodyIdByHash = function (editor) {\n      var bodyId = editor.getParam('body_id', '', 'hash');\n      return bodyId[editor.id] || bodyId;\n    };\n    var getBodyId = function (editor) {\n      var bodyId = editor.getParam('body_id', 'tinymce', 'string');\n      if (bodyId.indexOf('=') === -1) {\n        return bodyId;\n      } else {\n        return getBodyIdByHash(editor);\n      }\n    };\n\n    var getPreviewHtml = function (editor) {\n      var headHtml = '';\n      var encode = editor.dom.encode;\n      var contentStyle = getContentStyle(editor);\n      headHtml += '<base href=\"' + encode(editor.documentBaseURI.getURI()) + '\">';\n      var cors = shouldUseContentCssCors(editor) ? ' crossorigin=\"anonymous\"' : '';\n      global.each(editor.contentCSS, function (url) {\n        headHtml += '<link type=\"text/css\" rel=\"stylesheet\" href=\"' + encode(editor.documentBaseURI.toAbsolute(url)) + '\"' + cors + '>';\n      });\n      if (contentStyle) {\n        headHtml += '<style type=\"text/css\">' + contentStyle + '</style>';\n      }\n      var bodyId = getBodyId(editor);\n      var bodyClass = getBodyClass(editor);\n      var isMetaKeyPressed = global$1.mac ? 'e.metaKey' : 'e.ctrlKey && !e.altKey';\n      var preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener(\"click\", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === \"A\" && !(' + isMetaKeyPressed + ')) {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '</script> ';\n      var directionality = editor.getBody().dir;\n      var dirAttr = directionality ? ' dir=\"' + encode(directionality) + '\"' : '';\n      var previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + headHtml + '</head>' + '<body id=\"' + encode(bodyId) + '\" class=\"mce-content-body ' + encode(bodyClass) + '\"' + dirAttr + '>' + editor.getContent() + preventClicksOnLinksScript + '</body>' + '</html>';\n      return previewHtml;\n    };\n\n    var open = function (editor) {\n      var content = getPreviewHtml(editor);\n      var dataApi = editor.windowManager.open({\n        title: 'Preview',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n              name: 'preview',\n              type: 'iframe',\n              sandboxed: true\n            }]\n        },\n        buttons: [{\n            type: 'cancel',\n            name: 'close',\n            text: 'Close',\n            primary: true\n          }],\n        initialData: { preview: content }\n      });\n      dataApi.focus('close');\n    };\n\n    var register$1 = function (editor) {\n      editor.addCommand('mcePreview', function () {\n        open(editor);\n      });\n    };\n\n    var register = function (editor) {\n      var onAction = function () {\n        return editor.execCommand('mcePreview');\n      };\n      editor.ui.registry.addButton('preview', {\n        icon: 'preview',\n        tooltip: 'Preview',\n        onAction: onAction\n      });\n      editor.ui.registry.addMenuItem('preview', {\n        icon: 'preview',\n        text: 'Preview',\n        onAction: onAction\n      });\n    };\n\n    function Plugin () {\n      global$2.add('preview', function (editor) {\n        register$1(editor);\n        register(editor);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/preview/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/searchreplace/index.js":
/*!*************************************************************!*\
  !*** ./node_modules/tinymce/plugins/searchreplace/index.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"searchreplace\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/searchreplace')\n//   ES2015:\n//     import 'tinymce/plugins/searchreplace'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/searchreplace/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/searchreplace/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/searchreplace/plugin.js":
/*!**************************************************************!*\
  !*** ./node_modules/tinymce/plugins/searchreplace/plugin.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType$1 = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var isString = isType$1('string');\n    var isArray = isType$1('array');\n    var isBoolean = isSimpleType('boolean');\n    var isNumber = isSimpleType('number');\n\n    var noop = function () {\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var punctuationStr = '[!-#%-*,-\\\\/:;?@\\\\[-\\\\]_{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uff3f\\uFF5B\\uFF5D\\uFF5F-\\uFF65]';\n\n    var punctuation$1 = constant(punctuationStr);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var punctuation = punctuation$1;\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var nativeSlice = Array.prototype.slice;\n    var nativePush = Array.prototype.push;\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var eachr = function (xs, f) {\n      for (var i = xs.length - 1; i >= 0; i--) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var groupBy = function (xs, f) {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        var wasType = f(xs[0]);\n        var r = [];\n        var group = [];\n        for (var i = 0, len = xs.length; i < len; i++) {\n          var x = xs[i];\n          var type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    var foldl = function (xs, f, acc) {\n      each(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      return flatten(map(xs, f));\n    };\n    var sort = function (xs, comparator) {\n      var copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n\n    var hasOwnProperty = Object.hasOwnProperty;\n    var has = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var DOCUMENT = 9;\n    var DOCUMENT_FRAGMENT = 11;\n    var ELEMENT = 1;\n    var TEXT = 3;\n\n    var type = function (element) {\n      return element.dom.nodeType;\n    };\n    var isType = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isText$1 = isType(TEXT);\n\n    var rawSet = function (dom, key, value) {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set = function (element, key, value) {\n      rawSet(element.dom, key, value);\n    };\n\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionPreceding = function (a, b) {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_PRECEDING);\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    };\n    var all = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    var parent = function (element) {\n      return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    };\n    var children = function (element) {\n      return map(element.dom.childNodes, SugarElement.fromDom);\n    };\n    var spot = function (element, offset) {\n      return {\n        element: element,\n        offset: offset\n      };\n    };\n    var leaf = function (element, offset) {\n      var cs = children(element);\n      return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);\n    };\n\n    var before = function (marker, element) {\n      var parent$1 = parent(marker);\n      parent$1.each(function (v) {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    var append = function (parent, element) {\n      parent.dom.appendChild(element.dom);\n    };\n    var wrap = function (element, wrapper) {\n      before(element, wrapper);\n      append(wrapper, element);\n    };\n\n    var NodeValue = function (is, name) {\n      var get = function (element) {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      var getOption = function (element) {\n        return is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      };\n      var set = function (element, value) {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get: get,\n        getOption: getOption,\n        set: set\n      };\n    };\n\n    var api = NodeValue(isText$1, 'text');\n    var get$1 = function (element) {\n      return api.get(element);\n    };\n\n    var descendants = function (scope, selector) {\n      return all(selector, scope);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var isSimpleBoundary = function (dom, node) {\n      return dom.isBlock(node) || has(dom.schema.getShortEndedElements(), node.nodeName);\n    };\n    var isContentEditableFalse = function (dom, node) {\n      return dom.getContentEditable(node) === 'false';\n    };\n    var isContentEditableTrueInCef = function (dom, node) {\n      return dom.getContentEditable(node) === 'true' && dom.getContentEditableParent(node.parentNode) === 'false';\n    };\n    var isHidden = function (dom, node) {\n      return !dom.isBlock(node) && has(dom.schema.getWhiteSpaceElements(), node.nodeName);\n    };\n    var isBoundary = function (dom, node) {\n      return isSimpleBoundary(dom, node) || isContentEditableFalse(dom, node) || isHidden(dom, node) || isContentEditableTrueInCef(dom, node);\n    };\n    var isText = function (node) {\n      return node.nodeType === 3;\n    };\n    var nuSection = function () {\n      return {\n        sOffset: 0,\n        fOffset: 0,\n        elements: []\n      };\n    };\n    var toLeaf = function (node, offset) {\n      return leaf(SugarElement.fromDom(node), offset);\n    };\n    var walk = function (dom, walkerFn, startNode, callbacks, endNode, skipStart) {\n      if (skipStart === void 0) {\n        skipStart = true;\n      }\n      var next = skipStart ? walkerFn(false) : startNode;\n      while (next) {\n        var isCefNode = isContentEditableFalse(dom, next);\n        if (isCefNode || isHidden(dom, next)) {\n          var stopWalking = isCefNode ? callbacks.cef(next) : callbacks.boundary(next);\n          if (stopWalking) {\n            break;\n          } else {\n            next = walkerFn(true);\n            continue;\n          }\n        } else if (isSimpleBoundary(dom, next)) {\n          if (callbacks.boundary(next)) {\n            break;\n          }\n        } else if (isText(next)) {\n          callbacks.text(next);\n        }\n        if (next === endNode) {\n          break;\n        } else {\n          next = walkerFn(false);\n        }\n      }\n    };\n    var collectTextToBoundary = function (dom, section, node, rootNode, forwards) {\n      if (isBoundary(dom, node)) {\n        return;\n      }\n      var rootBlock = dom.getParent(rootNode, dom.isBlock);\n      var walker = new global(node, rootBlock);\n      var walkerFn = forwards ? walker.next.bind(walker) : walker.prev.bind(walker);\n      walk(dom, walkerFn, node, {\n        boundary: always,\n        cef: always,\n        text: function (next) {\n          if (forwards) {\n            section.fOffset += next.length;\n          } else {\n            section.sOffset += next.length;\n          }\n          section.elements.push(SugarElement.fromDom(next));\n        }\n      });\n    };\n    var collect = function (dom, rootNode, startNode, endNode, callbacks, skipStart) {\n      if (skipStart === void 0) {\n        skipStart = true;\n      }\n      var walker = new global(startNode, rootNode);\n      var sections = [];\n      var current = nuSection();\n      collectTextToBoundary(dom, current, startNode, rootNode, false);\n      var finishSection = function () {\n        if (current.elements.length > 0) {\n          sections.push(current);\n          current = nuSection();\n        }\n        return false;\n      };\n      walk(dom, walker.next.bind(walker), startNode, {\n        boundary: finishSection,\n        cef: function (node) {\n          finishSection();\n          if (callbacks) {\n            sections.push.apply(sections, callbacks.cef(node));\n          }\n          return false;\n        },\n        text: function (next) {\n          current.elements.push(SugarElement.fromDom(next));\n          if (callbacks) {\n            callbacks.text(next, current);\n          }\n        }\n      }, endNode, skipStart);\n      if (endNode) {\n        collectTextToBoundary(dom, current, endNode, rootNode, true);\n      }\n      finishSection();\n      return sections;\n    };\n    var collectRangeSections = function (dom, rng) {\n      var start = toLeaf(rng.startContainer, rng.startOffset);\n      var startNode = start.element.dom;\n      var end = toLeaf(rng.endContainer, rng.endOffset);\n      var endNode = end.element.dom;\n      return collect(dom, rng.commonAncestorContainer, startNode, endNode, {\n        text: function (node, section) {\n          if (node === endNode) {\n            section.fOffset += node.length - end.offset;\n          } else if (node === startNode) {\n            section.sOffset += start.offset;\n          }\n        },\n        cef: function (node) {\n          var sections = bind(descendants(SugarElement.fromDom(node), '*[contenteditable=true]'), function (e) {\n            var ceTrueNode = e.dom;\n            return collect(dom, ceTrueNode, ceTrueNode);\n          });\n          return sort(sections, function (a, b) {\n            return documentPositionPreceding(a.elements[0].dom, b.elements[0].dom) ? 1 : -1;\n          });\n        }\n      }, false);\n    };\n    var fromRng = function (dom, rng) {\n      return rng.collapsed ? [] : collectRangeSections(dom, rng);\n    };\n    var fromNode = function (dom, node) {\n      var rng = dom.createRng();\n      rng.selectNode(node);\n      return fromRng(dom, rng);\n    };\n    var fromNodes = function (dom, nodes) {\n      return bind(nodes, function (node) {\n        return fromNode(dom, node);\n      });\n    };\n\n    var find$2 = function (text, pattern, start, finish) {\n      if (start === void 0) {\n        start = 0;\n      }\n      if (finish === void 0) {\n        finish = text.length;\n      }\n      var regex = pattern.regex;\n      regex.lastIndex = start;\n      var results = [];\n      var match;\n      while (match = regex.exec(text)) {\n        var matchedText = match[pattern.matchIndex];\n        var matchStart = match.index + match[0].indexOf(matchedText);\n        var matchFinish = matchStart + matchedText.length;\n        if (matchFinish > finish) {\n          break;\n        }\n        results.push({\n          start: matchStart,\n          finish: matchFinish\n        });\n        regex.lastIndex = matchFinish;\n      }\n      return results;\n    };\n    var extract = function (elements, matches) {\n      var nodePositions = foldl(elements, function (acc, element) {\n        var content = get$1(element);\n        var start = acc.last;\n        var finish = start + content.length;\n        var positions = bind(matches, function (match, matchIdx) {\n          if (match.start < finish && match.finish > start) {\n            return [{\n                element: element,\n                start: Math.max(start, match.start) - start,\n                finish: Math.min(finish, match.finish) - start,\n                matchId: matchIdx\n              }];\n          } else {\n            return [];\n          }\n        });\n        return {\n          results: acc.results.concat(positions),\n          last: finish\n        };\n      }, {\n        results: [],\n        last: 0\n      }).results;\n      return groupBy(nodePositions, function (position) {\n        return position.matchId;\n      });\n    };\n\n    var find$1 = function (pattern, sections) {\n      return bind(sections, function (section) {\n        var elements = section.elements;\n        var content = map(elements, get$1).join('');\n        var positions = find$2(content, pattern, section.sOffset, content.length - section.fOffset);\n        return extract(elements, positions);\n      });\n    };\n    var mark = function (matches, replacementNode) {\n      eachr(matches, function (match, idx) {\n        eachr(match, function (pos) {\n          var wrapper = SugarElement.fromDom(replacementNode.cloneNode(false));\n          set(wrapper, 'data-mce-index', idx);\n          var textNode = pos.element.dom;\n          if (textNode.length === pos.finish && pos.start === 0) {\n            wrap(pos.element, wrapper);\n          } else {\n            if (textNode.length !== pos.finish) {\n              textNode.splitText(pos.finish);\n            }\n            var matchNode = textNode.splitText(pos.start);\n            wrap(SugarElement.fromDom(matchNode), wrapper);\n          }\n        });\n      });\n    };\n    var findAndMark = function (dom, pattern, node, replacementNode) {\n      var textSections = fromNode(dom, node);\n      var matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      return matches.length;\n    };\n    var findAndMarkInSelection = function (dom, pattern, selection, replacementNode) {\n      var bookmark = selection.getBookmark();\n      var nodes = dom.select('td[data-mce-selected],th[data-mce-selected]');\n      var textSections = nodes.length > 0 ? fromNodes(dom, nodes) : fromRng(dom, selection.getRng());\n      var matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      selection.moveToBookmark(bookmark);\n      return matches.length;\n    };\n\n    var getElmIndex = function (elm) {\n      var value = elm.getAttribute('data-mce-index');\n      if (typeof value === 'number') {\n        return '' + value;\n      }\n      return value;\n    };\n    var markAllMatches = function (editor, currentSearchState, pattern, inSelection) {\n      var marker = editor.dom.create('span', { 'data-mce-bogus': 1 });\n      marker.className = 'mce-match-marker';\n      var node = editor.getBody();\n      done(editor, currentSearchState, false);\n      if (inSelection) {\n        return findAndMarkInSelection(editor.dom, pattern, editor.selection, marker);\n      } else {\n        return findAndMark(editor.dom, pattern, node, marker);\n      }\n    };\n    var unwrap = function (node) {\n      var parentNode = node.parentNode;\n      if (node.firstChild) {\n        parentNode.insertBefore(node.firstChild, node);\n      }\n      node.parentNode.removeChild(node);\n    };\n    var findSpansByIndex = function (editor, index) {\n      var spans = [];\n      var nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      if (nodes.length) {\n        for (var i = 0; i < nodes.length; i++) {\n          var nodeIndex = getElmIndex(nodes[i]);\n          if (nodeIndex === null || !nodeIndex.length) {\n            continue;\n          }\n          if (nodeIndex === index.toString()) {\n            spans.push(nodes[i]);\n          }\n        }\n      }\n      return spans;\n    };\n    var moveSelection = function (editor, currentSearchState, forward) {\n      var searchState = currentSearchState.get();\n      var testIndex = searchState.index;\n      var dom = editor.dom;\n      forward = forward !== false;\n      if (forward) {\n        if (testIndex + 1 === searchState.count) {\n          testIndex = 0;\n        } else {\n          testIndex++;\n        }\n      } else {\n        if (testIndex - 1 === -1) {\n          testIndex = searchState.count - 1;\n        } else {\n          testIndex--;\n        }\n      }\n      dom.removeClass(findSpansByIndex(editor, searchState.index), 'mce-match-marker-selected');\n      var spans = findSpansByIndex(editor, testIndex);\n      if (spans.length) {\n        dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected');\n        editor.selection.scrollIntoView(spans[0]);\n        return testIndex;\n      }\n      return -1;\n    };\n    var removeNode = function (dom, node) {\n      var parent = node.parentNode;\n      dom.remove(node);\n      if (dom.isEmpty(parent)) {\n        dom.remove(parent);\n      }\n    };\n    var escapeSearchText = function (text, wholeWord) {\n      var escapedText = text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&').replace(/\\s/g, '[^\\\\S\\\\r\\\\n\\\\uFEFF]');\n      var wordRegex = '(' + escapedText + ')';\n      return wholeWord ? '(?:^|\\\\s|' + punctuation() + ')' + wordRegex + ('(?=$|\\\\s|' + punctuation() + ')') : wordRegex;\n    };\n    var find = function (editor, currentSearchState, text, matchCase, wholeWord, inSelection) {\n      var selection = editor.selection;\n      var escapedText = escapeSearchText(text, wholeWord);\n      var isForwardSelection = selection.isForward();\n      var pattern = {\n        regex: new RegExp(escapedText, matchCase ? 'g' : 'gi'),\n        matchIndex: 1\n      };\n      var count = markAllMatches(editor, currentSearchState, pattern, inSelection);\n      if (global$2.browser.isSafari()) {\n        selection.setRng(selection.getRng(), isForwardSelection);\n      }\n      if (count) {\n        var newIndex = moveSelection(editor, currentSearchState, true);\n        currentSearchState.set({\n          index: newIndex,\n          count: count,\n          text: text,\n          matchCase: matchCase,\n          wholeWord: wholeWord,\n          inSelection: inSelection\n        });\n      }\n      return count;\n    };\n    var next = function (editor, currentSearchState) {\n      var index = moveSelection(editor, currentSearchState, true);\n      currentSearchState.set(__assign(__assign({}, currentSearchState.get()), { index: index }));\n    };\n    var prev = function (editor, currentSearchState) {\n      var index = moveSelection(editor, currentSearchState, false);\n      currentSearchState.set(__assign(__assign({}, currentSearchState.get()), { index: index }));\n    };\n    var isMatchSpan = function (node) {\n      var matchIndex = getElmIndex(node);\n      return matchIndex !== null && matchIndex.length > 0;\n    };\n    var replace = function (editor, currentSearchState, text, forward, all) {\n      var searchState = currentSearchState.get();\n      var currentIndex = searchState.index;\n      var currentMatchIndex, nextIndex = currentIndex;\n      forward = forward !== false;\n      var node = editor.getBody();\n      var nodes = global$1.grep(global$1.toArray(node.getElementsByTagName('span')), isMatchSpan);\n      for (var i = 0; i < nodes.length; i++) {\n        var nodeIndex = getElmIndex(nodes[i]);\n        var matchIndex = currentMatchIndex = parseInt(nodeIndex, 10);\n        if (all || matchIndex === searchState.index) {\n          if (text.length) {\n            nodes[i].firstChild.nodeValue = text;\n            unwrap(nodes[i]);\n          } else {\n            removeNode(editor.dom, nodes[i]);\n          }\n          while (nodes[++i]) {\n            matchIndex = parseInt(getElmIndex(nodes[i]), 10);\n            if (matchIndex === currentMatchIndex) {\n              removeNode(editor.dom, nodes[i]);\n            } else {\n              i--;\n              break;\n            }\n          }\n          if (forward) {\n            nextIndex--;\n          }\n        } else if (currentMatchIndex > currentIndex) {\n          nodes[i].setAttribute('data-mce-index', String(currentMatchIndex - 1));\n        }\n      }\n      currentSearchState.set(__assign(__assign({}, searchState), {\n        count: all ? 0 : searchState.count - 1,\n        index: nextIndex\n      }));\n      if (forward) {\n        next(editor, currentSearchState);\n      } else {\n        prev(editor, currentSearchState);\n      }\n      return !all && currentSearchState.get().count > 0;\n    };\n    var done = function (editor, currentSearchState, keepEditorSelection) {\n      var startContainer, endContainer;\n      var searchState = currentSearchState.get();\n      var nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      for (var i = 0; i < nodes.length; i++) {\n        var nodeIndex = getElmIndex(nodes[i]);\n        if (nodeIndex !== null && nodeIndex.length) {\n          if (nodeIndex === searchState.index.toString()) {\n            if (!startContainer) {\n              startContainer = nodes[i].firstChild;\n            }\n            endContainer = nodes[i].firstChild;\n          }\n          unwrap(nodes[i]);\n        }\n      }\n      currentSearchState.set(__assign(__assign({}, searchState), {\n        index: -1,\n        count: 0,\n        text: ''\n      }));\n      if (startContainer && endContainer) {\n        var rng = editor.dom.createRng();\n        rng.setStart(startContainer, 0);\n        rng.setEnd(endContainer, endContainer.data.length);\n        if (keepEditorSelection !== false) {\n          editor.selection.setRng(rng);\n        }\n        return rng;\n      }\n    };\n    var hasNext = function (editor, currentSearchState) {\n      return currentSearchState.get().count > 1;\n    };\n    var hasPrev = function (editor, currentSearchState) {\n      return currentSearchState.get().count > 1;\n    };\n\n    var get = function (editor, currentState) {\n      var done$1 = function (keepEditorSelection) {\n        return done(editor, currentState, keepEditorSelection);\n      };\n      var find$1 = function (text, matchCase, wholeWord, inSelection) {\n        if (inSelection === void 0) {\n          inSelection = false;\n        }\n        return find(editor, currentState, text, matchCase, wholeWord, inSelection);\n      };\n      var next$1 = function () {\n        return next(editor, currentState);\n      };\n      var prev$1 = function () {\n        return prev(editor, currentState);\n      };\n      var replace$1 = function (text, forward, all) {\n        return replace(editor, currentState, text, forward, all);\n      };\n      return {\n        done: done$1,\n        find: find$1,\n        next: next$1,\n        prev: prev$1,\n        replace: replace$1\n      };\n    };\n\n    var singleton = function (doRevoke) {\n      var subject = Cell(Optional.none());\n      var revoke = function () {\n        return subject.get().each(doRevoke);\n      };\n      var clear = function () {\n        revoke();\n        subject.set(Optional.none());\n      };\n      var isSet = function () {\n        return subject.get().isSome();\n      };\n      var get = function () {\n        return subject.get();\n      };\n      var set = function (s) {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear: clear,\n        isSet: isSet,\n        get: get,\n        set: set\n      };\n    };\n    var value = function () {\n      var subject = singleton(noop);\n      var on = function (f) {\n        return subject.get().each(f);\n      };\n      return __assign(__assign({}, subject), { on: on });\n    };\n\n    var open = function (editor, currentSearchState) {\n      var dialogApi = value();\n      editor.undoManager.add();\n      var selectedText = global$1.trim(editor.selection.getContent({ format: 'text' }));\n      var updateButtonStates = function (api) {\n        var updateNext = hasNext(editor, currentSearchState) ? api.enable : api.disable;\n        updateNext('next');\n        var updatePrev = hasPrev(editor, currentSearchState) ? api.enable : api.disable;\n        updatePrev('prev');\n      };\n      var updateSearchState = function (api) {\n        var data = api.getData();\n        var current = currentSearchState.get();\n        currentSearchState.set(__assign(__assign({}, current), {\n          matchCase: data.matchcase,\n          wholeWord: data.wholewords,\n          inSelection: data.inselection\n        }));\n      };\n      var disableAll = function (api, disable) {\n        var buttons = [\n          'replace',\n          'replaceall',\n          'prev',\n          'next'\n        ];\n        var toggle = disable ? api.disable : api.enable;\n        each(buttons, toggle);\n      };\n      var notFoundAlert = function (api) {\n        editor.windowManager.alert('Could not find the specified string.', function () {\n          api.focus('findtext');\n        });\n      };\n      var focusButtonIfRequired = function (api, name) {\n        if (global$2.browser.isSafari() && global$2.deviceType.isTouch() && (name === 'find' || name === 'replace' || name === 'replaceall')) {\n          api.focus(name);\n        }\n      };\n      var reset = function (api) {\n        done(editor, currentSearchState, false);\n        disableAll(api, true);\n        updateButtonStates(api);\n      };\n      var doFind = function (api) {\n        var data = api.getData();\n        var last = currentSearchState.get();\n        if (!data.findtext.length) {\n          reset(api);\n          return;\n        }\n        if (last.text === data.findtext && last.matchCase === data.matchcase && last.wholeWord === data.wholewords) {\n          next(editor, currentSearchState);\n        } else {\n          var count = find(editor, currentSearchState, data.findtext, data.matchcase, data.wholewords, data.inselection);\n          if (count <= 0) {\n            notFoundAlert(api);\n          }\n          disableAll(api, count === 0);\n        }\n        updateButtonStates(api);\n      };\n      var initialState = currentSearchState.get();\n      var initialData = {\n        findtext: selectedText,\n        replacetext: '',\n        wholewords: initialState.wholeWord,\n        matchcase: initialState.matchCase,\n        inselection: initialState.inSelection\n      };\n      var spec = {\n        title: 'Find and Replace',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: [\n            {\n              type: 'bar',\n              items: [\n                {\n                  type: 'input',\n                  name: 'findtext',\n                  placeholder: 'Find',\n                  maximized: true,\n                  inputMode: 'search'\n                },\n                {\n                  type: 'button',\n                  name: 'prev',\n                  text: 'Previous',\n                  icon: 'action-prev',\n                  disabled: true,\n                  borderless: true\n                },\n                {\n                  type: 'button',\n                  name: 'next',\n                  text: 'Next',\n                  icon: 'action-next',\n                  disabled: true,\n                  borderless: true\n                }\n              ]\n            },\n            {\n              type: 'input',\n              name: 'replacetext',\n              placeholder: 'Replace with',\n              inputMode: 'search'\n            }\n          ]\n        },\n        buttons: [\n          {\n            type: 'menu',\n            name: 'options',\n            icon: 'preferences',\n            tooltip: 'Preferences',\n            align: 'start',\n            items: [\n              {\n                type: 'togglemenuitem',\n                name: 'matchcase',\n                text: 'Match case'\n              },\n              {\n                type: 'togglemenuitem',\n                name: 'wholewords',\n                text: 'Find whole words only'\n              },\n              {\n                type: 'togglemenuitem',\n                name: 'inselection',\n                text: 'Find in selection'\n              }\n            ]\n          },\n          {\n            type: 'custom',\n            name: 'find',\n            text: 'Find',\n            primary: true\n          },\n          {\n            type: 'custom',\n            name: 'replace',\n            text: 'Replace',\n            disabled: true\n          },\n          {\n            type: 'custom',\n            name: 'replaceall',\n            text: 'Replace all',\n            disabled: true\n          }\n        ],\n        initialData: initialData,\n        onChange: function (api, details) {\n          if (details.name === 'findtext' && currentSearchState.get().count > 0) {\n            reset(api);\n          }\n        },\n        onAction: function (api, details) {\n          var data = api.getData();\n          switch (details.name) {\n          case 'find':\n            doFind(api);\n            break;\n          case 'replace':\n            if (!replace(editor, currentSearchState, data.replacetext)) {\n              reset(api);\n            } else {\n              updateButtonStates(api);\n            }\n            break;\n          case 'replaceall':\n            replace(editor, currentSearchState, data.replacetext, true, true);\n            reset(api);\n            break;\n          case 'prev':\n            prev(editor, currentSearchState);\n            updateButtonStates(api);\n            break;\n          case 'next':\n            next(editor, currentSearchState);\n            updateButtonStates(api);\n            break;\n          case 'matchcase':\n          case 'wholewords':\n          case 'inselection':\n            updateSearchState(api);\n            reset(api);\n            break;\n          }\n          focusButtonIfRequired(api, details.name);\n        },\n        onSubmit: function (api) {\n          doFind(api);\n          focusButtonIfRequired(api, 'find');\n        },\n        onClose: function () {\n          editor.focus();\n          done(editor, currentSearchState);\n          editor.undoManager.add();\n        }\n      };\n      dialogApi.set(editor.windowManager.open(spec, { inline: 'toolbar' }));\n    };\n\n    var register$1 = function (editor, currentSearchState) {\n      editor.addCommand('SearchReplace', function () {\n        open(editor, currentSearchState);\n      });\n    };\n\n    var showDialog = function (editor, currentSearchState) {\n      return function () {\n        open(editor, currentSearchState);\n      };\n    };\n    var register = function (editor, currentSearchState) {\n      editor.ui.registry.addMenuItem('searchreplace', {\n        text: 'Find and replace...',\n        shortcut: 'Meta+F',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.ui.registry.addButton('searchreplace', {\n        tooltip: 'Find and replace',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.shortcuts.add('Meta+F', '', showDialog(editor, currentSearchState));\n    };\n\n    function Plugin () {\n      global$3.add('searchreplace', function (editor) {\n        var currentSearchState = Cell({\n          index: -1,\n          count: 0,\n          text: '',\n          matchCase: false,\n          wholeWord: false,\n          inSelection: false\n        });\n        register$1(editor, currentSearchState);\n        register(editor, currentSearchState);\n        return get(editor, currentSearchState);\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/searchreplace/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/table/index.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/plugins/table/index.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"table\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/table')\n//   ES2015:\n//     import 'tinymce/plugins/table'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/table/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/table/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/table/plugin.js":
/*!******************************************************!*\
  !*** ./node_modules/tinymce/plugins/table/plugin.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType$1 = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var eq$2 = function (t) {\n      return function (a) {\n        return t === a;\n      };\n    };\n    var isString = isType$1('string');\n    var isObject = isType$1('object');\n    var isArray = isType$1('array');\n    var isNull = eq$2(null);\n    var isBoolean = isSimpleType('boolean');\n    var isUndefined = eq$2(undefined);\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n    var isFunction = isSimpleType('function');\n    var isNumber = isSimpleType('number');\n\n    var noop = function () {\n    };\n    var compose = function (fa, fb) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return fa(fb.apply(null, args));\n      };\n    };\n    var compose1 = function (fbc, fab) {\n      return function (a) {\n        return fbc(fab(a));\n      };\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var tripleEquals = function (a, b) {\n      return a === b;\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var not = function (f) {\n      return function (t) {\n        return !f(t);\n      };\n    };\n    var die = function (msg) {\n      return function () {\n        throw new Error(msg);\n      };\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none$2 = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none$2,\n        each: noop,\n        bind: none$2,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none$2();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from$1 = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none$2,\n      from: from$1\n    };\n\n    var nativeSlice = Array.prototype.slice;\n    var nativeIndexOf = Array.prototype.indexOf;\n    var nativePush = Array.prototype.push;\n    var rawIndexOf = function (ts, t) {\n      return nativeIndexOf.call(ts, t);\n    };\n    var contains$2 = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var exists = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var range$1 = function (num, f) {\n      var r = [];\n      for (var i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    var map$1 = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each$2 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var eachr = function (xs, f) {\n      for (var i = xs.length - 1; i >= 0; i--) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var partition = function (xs, pred) {\n      var pass = [];\n      var fail = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        var arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass: pass,\n        fail: fail\n      };\n    };\n    var filter$2 = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldr = function (xs, f, acc) {\n      eachr(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var foldl = function (xs, f, acc) {\n      each$2(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var findUntil = function (xs, pred, until) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var find$1 = function (xs, pred) {\n      return findUntil(xs, pred, never);\n    };\n    var findIndex = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    var flatten$1 = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind$2 = function (xs, f) {\n      return flatten$1(map$1(xs, f));\n    };\n    var forall = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        var x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    var reverse = function (xs) {\n      var r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var mapToObject = function (xs, f) {\n      var r = {};\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    var pure = function (x) {\n      return [x];\n    };\n    var sort$1 = function (xs, comparator) {\n      var copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    var get$d = function (xs, i) {\n      return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    };\n    var head = function (xs) {\n      return get$d(xs, 0);\n    };\n    var last$2 = function (xs) {\n      return get$d(xs, xs.length - 1);\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n    function __spreadArray(to, from, pack) {\n      if (pack || arguments.length === 2)\n        for (var i = 0, l = from.length, ar; i < l; i++) {\n          if (ar || !(i in from)) {\n            if (!ar)\n              ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n          }\n        }\n      return to.concat(ar || Array.prototype.slice.call(from));\n    }\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var DeviceType = function (os, browser, userAgent, mediaMatch) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isMobile = os.isiOS() || os.isAndroid();\n      var isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      var isPhone = isiPhone || isMobile && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      var isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    var find = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    var detect$6 = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    var unknown$2 = function () {\n      return nu$2(0, 0);\n    };\n    var nu$2 = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu$2,\n      detect: detect$6,\n      unknown: unknown$2\n    };\n\n    var detectBrowser$1 = function (browsers, userAgentData) {\n      return findMap(userAgentData.brands, function (uaBrand) {\n        var lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, function (browser) {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(function (info) {\n          return {\n            current: info.name,\n            version: Version.nu(parseInt(uaBrand.version, 10), 0)\n          };\n        });\n      });\n    };\n\n    var detect$5 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find$1(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$5(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$5(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n\n    var removeFromStart = function (str, numChars) {\n      return str.substring(numChars);\n    };\n\n    var checkRange = function (str, substr, start) {\n      return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    };\n    var removeLeading = function (str, prefix) {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    var contains$1 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var startsWith = function (str, prefix) {\n      return checkRange(str, prefix, 0);\n    };\n    var endsWith = function (str, suffix) {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    var blank = function (r) {\n      return function (s) {\n        return s.replace(r, '');\n      };\n    };\n    var trim = blank(/^\\s+|\\s+$/g);\n    var isNotEmpty = function (s) {\n      return s.length > 0;\n    };\n    var isEmpty$1 = function (s) {\n      return !isNotEmpty(s);\n    };\n    var toFloat = function (value) {\n      var num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$1(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n        }\n      },\n      {\n        name: 'Chrome',\n        brand: 'Chromium',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('mac os x'),\n        versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      },\n      {\n        name: 'ChromeOS',\n        search: checkContains('cros'),\n        versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isBrowser = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge),\n        isChrome: isBrowser(chrome),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var chromeos = 'ChromeOS';\n    var unknown = function () {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isOS = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isOSX: isOS(osx),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown,\n      nu: nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    var detect$4 = function (userAgent, userAgentDataOpt, mediaMatch) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = userAgentDataOpt.bind(function (userAgentData) {\n        return detectBrowser$1(browsers, userAgentData);\n      }).orThunk(function () {\n        return detectBrowser(browsers, userAgent);\n      }).fold(Browser.unknown, Browser.nu);\n      var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$4 };\n\n    var mediaMatch = function (query) {\n      return window.matchMedia(query).matches;\n    };\n    var platform = cached(function () {\n      return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch);\n    });\n    var detect$3 = function () {\n      return platform();\n    };\n\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_CONTAINED_BY);\n    };\n\n    var COMMENT = 8;\n    var DOCUMENT = 9;\n    var DOCUMENT_FRAGMENT = 11;\n    var ELEMENT = 1;\n    var TEXT = 3;\n\n    var fromHtml$1 = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    var fromDom$1 = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint$1 = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom$1,\n      fromPoint: fromPoint$1\n    };\n\n    var is$2 = function (element, selector) {\n      var dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        var elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    };\n    var all$1 = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$1(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    var one = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    var eq$1 = function (e1, e2) {\n      return e1.dom === e2.dom;\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom;\n      var d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return documentPositionContainedBy(e1.dom, e2.dom);\n    };\n    var contains = function (e1, e2) {\n      return detect$3().browser.isIE() ? ieContains(e1, e2) : regularContains(e1, e2);\n    };\n    var is$1 = is$2;\n\n    var keys = Object.keys;\n    var hasOwnProperty = Object.hasOwnProperty;\n    var each$1 = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var map = function (obj, f) {\n      return tupleMap(obj, function (x, i) {\n        return {\n          k: i,\n          v: f(x, i)\n        };\n      });\n    };\n    var tupleMap = function (obj, f) {\n      var r = {};\n      each$1(obj, function (x, i) {\n        var tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    var objAcc = function (r) {\n      return function (x, i) {\n        r[i] = x;\n      };\n    };\n    var internalFilter = function (obj, pred, onTrue, onFalse) {\n      var r = {};\n      each$1(obj, function (x, i) {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n      return r;\n    };\n    var filter$1 = function (obj, pred) {\n      var t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    var mapToArray = function (obj, f) {\n      var r = [];\n      each$1(obj, function (value, name) {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    var values = function (obj) {\n      return mapToArray(obj, identity);\n    };\n    var size = function (obj) {\n      return keys(obj).length;\n    };\n    var get$c = function (obj, key) {\n      return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    var has$1 = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n    var hasNonNullableKey = function (obj, key) {\n      return has$1(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    };\n    var isEmpty = function (r) {\n      for (var x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    var validSectionList = [\n      'tfoot',\n      'thead',\n      'tbody',\n      'colgroup'\n    ];\n    var isValidSection = function (parentName) {\n      return contains$2(validSectionList, parentName);\n    };\n    var grid = function (rows, columns) {\n      return {\n        rows: rows,\n        columns: columns\n      };\n    };\n    var address = function (row, column) {\n      return {\n        row: row,\n        column: column\n      };\n    };\n    var detail = function (element, rowspan, colspan) {\n      return {\n        element: element,\n        rowspan: rowspan,\n        colspan: colspan\n      };\n    };\n    var detailnew = function (element, rowspan, colspan, isNew) {\n      return {\n        element: element,\n        rowspan: rowspan,\n        colspan: colspan,\n        isNew: isNew\n      };\n    };\n    var extended = function (element, rowspan, colspan, row, column, isLocked) {\n      return {\n        element: element,\n        rowspan: rowspan,\n        colspan: colspan,\n        row: row,\n        column: column,\n        isLocked: isLocked\n      };\n    };\n    var rowdetail = function (element, cells, section) {\n      return {\n        element: element,\n        cells: cells,\n        section: section\n      };\n    };\n    var rowdetailnew = function (element, cells, section, isNew) {\n      return {\n        element: element,\n        cells: cells,\n        section: section,\n        isNew: isNew\n      };\n    };\n    var elementnew = function (element, isNew, isLocked) {\n      return {\n        element: element,\n        isNew: isNew,\n        isLocked: isLocked\n      };\n    };\n    var rowcells = function (element, cells, section, isNew) {\n      return {\n        element: element,\n        cells: cells,\n        section: section,\n        isNew: isNew\n      };\n    };\n    var bounds = function (startRow, startCol, finishRow, finishCol) {\n      return {\n        startRow: startRow,\n        startCol: startCol,\n        finishRow: finishRow,\n        finishCol: finishCol\n      };\n    };\n    var columnext = function (element, colspan, column) {\n      return {\n        element: element,\n        colspan: colspan,\n        column: column\n      };\n    };\n    var colgroup = function (element, columns) {\n      return {\n        element: element,\n        columns: columns\n      };\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var name = function (element) {\n      var r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    var type$1 = function (element) {\n      return element.dom.nodeType;\n    };\n    var isType = function (t) {\n      return function (element) {\n        return type$1(element) === t;\n      };\n    };\n    var isComment = function (element) {\n      return type$1(element) === COMMENT || name(element) === '#comment';\n    };\n    var isElement = isType(ELEMENT);\n    var isText = isType(TEXT);\n    var isDocument = isType(DOCUMENT);\n    var isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    var isTag = function (tag) {\n      return function (e) {\n        return isElement(e) && name(e) === tag;\n      };\n    };\n\n    var owner = function (element) {\n      return SugarElement.fromDom(element.dom.ownerDocument);\n    };\n    var documentOrOwner = function (dos) {\n      return isDocument(dos) ? dos : owner(dos);\n    };\n    var defaultView = function (element) {\n      return SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    };\n    var parent = function (element) {\n      return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    };\n    var parentElement = function (element) {\n      return Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    };\n    var parents = function (element, isRoot) {\n      var stop = isFunction(isRoot) ? isRoot : never;\n      var dom = element.dom;\n      var ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        var rawParent = dom.parentNode;\n        var p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    var prevSibling = function (element) {\n      return Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    };\n    var nextSibling = function (element) {\n      return Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    };\n    var children$3 = function (element) {\n      return map$1(element.dom.childNodes, SugarElement.fromDom);\n    };\n    var child$3 = function (element, index) {\n      var cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    var firstChild = function (element) {\n      return child$3(element, 0);\n    };\n\n    var isShadowRoot = function (dos) {\n      return isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    };\n    var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    var isSupported$1 = constant(supported);\n    var getRootNode = supported ? function (e) {\n      return SugarElement.fromDom(e.dom.getRootNode());\n    } : documentOrOwner;\n    var getShadowRoot = function (e) {\n      var r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    var getShadowHost = function (e) {\n      return SugarElement.fromDom(e.dom.host);\n    };\n    var getOriginalEventTarget = function (event) {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        var el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            var composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    var isOpenShadowHost = function (element) {\n      return isNonNullable(element.dom.shadowRoot);\n    };\n\n    var inBody = function (element) {\n      var dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      var doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(function () {\n        return doc.body.contains(dom);\n      }, compose1(inBody, getShadowHost));\n    };\n    var body$1 = function () {\n      return getBody$1(SugarElement.fromDom(document));\n    };\n    var getBody$1 = function (doc) {\n      var b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    var ancestors$4 = function (scope, predicate, isRoot) {\n      return filter$2(parents(scope, isRoot), predicate);\n    };\n    var children$2 = function (scope, predicate) {\n      return filter$2(children$3(scope), predicate);\n    };\n    var descendants$1 = function (scope, predicate) {\n      var result = [];\n      each$2(children$3(scope), function (x) {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    var ancestors$3 = function (scope, selector, isRoot) {\n      return ancestors$4(scope, function (e) {\n        return is$2(e, selector);\n      }, isRoot);\n    };\n    var children$1 = function (scope, selector) {\n      return children$2(scope, function (e) {\n        return is$2(e, selector);\n      });\n    };\n    var descendants = function (scope, selector) {\n      return all$1(selector, scope);\n    };\n\n    function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    }\n\n    var ancestor$2 = function (scope, predicate, isRoot) {\n      var element = scope.dom;\n      var stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var closest$2 = function (scope, predicate, isRoot) {\n      var is = function (s, test) {\n        return test(s);\n      };\n      return ClosestOrAncestor(is, ancestor$2, scope, predicate, isRoot);\n    };\n    var child$2 = function (scope, predicate) {\n      var pred = function (node) {\n        return predicate(SugarElement.fromDom(node));\n      };\n      var result = find$1(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    var descendant$1 = function (scope, predicate) {\n      var descend = function (node) {\n        for (var i = 0; i < node.childNodes.length; i++) {\n          var child_1 = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child_1)) {\n            return Optional.some(child_1);\n          }\n          var res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    var ancestor$1 = function (scope, selector, isRoot) {\n      return ancestor$2(scope, function (e) {\n        return is$2(e, selector);\n      }, isRoot);\n    };\n    var child$1 = function (scope, selector) {\n      return child$2(scope, function (e) {\n        return is$2(e, selector);\n      });\n    };\n    var descendant = function (scope, selector) {\n      return one(selector, scope);\n    };\n    var closest$1 = function (scope, selector, isRoot) {\n      var is = function (element, selector) {\n        return is$2(element, selector);\n      };\n      return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot);\n    };\n\n    var rawSet = function (dom, key, value) {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set$2 = function (element, key, value) {\n      rawSet(element.dom, key, value);\n    };\n    var setAll$1 = function (element, attrs) {\n      var dom = element.dom;\n      each$1(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var setOptions = function (element, attrs) {\n      each$1(attrs, function (v, k) {\n        v.fold(function () {\n          remove$7(element, k);\n        }, function (value) {\n          rawSet(element.dom, k, value);\n        });\n      });\n    };\n    var get$b = function (element, key) {\n      var v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    var getOpt = function (element, key) {\n      return Optional.from(get$b(element, key));\n    };\n    var remove$7 = function (element, key) {\n      element.dom.removeAttribute(key);\n    };\n    var clone$2 = function (element) {\n      return foldl(element.dom.attributes, function (acc, attr) {\n        acc[attr.name] = attr.value;\n        return acc;\n      }, {});\n    };\n\n    var is = function (lhs, rhs, comparator) {\n      if (comparator === void 0) {\n        comparator = tripleEquals;\n      }\n      return lhs.exists(function (left) {\n        return comparator(left, rhs);\n      });\n    };\n    var cat = function (arr) {\n      var r = [];\n      var push = function (x) {\n        r.push(x);\n      };\n      for (var i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    var lift2 = function (oa, ob, f) {\n      return oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    };\n    var bindFrom = function (a, f) {\n      return a !== undefined && a !== null ? f(a) : Optional.none();\n    };\n    var flatten = function (oot) {\n      return oot.bind(identity);\n    };\n    var someIf = function (b, a) {\n      return b ? Optional.some(a) : Optional.none();\n    };\n\n    var isSupported = function (dom) {\n      return dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n    };\n\n    var internalSet = function (dom, property, value) {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    var internalRemove = function (dom, property) {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    var set$1 = function (element, property, value) {\n      var dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    var setAll = function (element, css) {\n      var dom = element.dom;\n      each$1(css, function (v, k) {\n        internalSet(dom, k, v);\n      });\n    };\n    var get$a = function (element, property) {\n      var dom = element.dom;\n      var styles = window.getComputedStyle(dom);\n      var r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    var getUnsafeProperty = function (dom, property) {\n      return isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    };\n    var getRaw$2 = function (element, property) {\n      var dom = element.dom;\n      var raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(function (r) {\n        return r.length > 0;\n      });\n    };\n    var remove$6 = function (element, property) {\n      var dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$7(element, 'style');\n      }\n    };\n    var copy$2 = function (source, target) {\n      var sourceDom = source.dom;\n      var targetDom = target.dom;\n      if (isSupported(sourceDom) && isSupported(targetDom)) {\n        targetDom.style.cssText = sourceDom.style.cssText;\n      }\n    };\n\n    var getAttrValue = function (cell, name, fallback) {\n      if (fallback === void 0) {\n        fallback = 0;\n      }\n      return getOpt(cell, name).map(function (value) {\n        return parseInt(value, 10);\n      }).getOr(fallback);\n    };\n    var getSpan = function (cell, type) {\n      return getAttrValue(cell, type, 1);\n    };\n    var hasColspan = function (cellOrCol) {\n      if (isTag('col')(cellOrCol)) {\n        return getAttrValue(cellOrCol, 'span', 1) > 1;\n      } else {\n        return getSpan(cellOrCol, 'colspan') > 1;\n      }\n    };\n    var hasRowspan = function (cell) {\n      return getSpan(cell, 'rowspan') > 1;\n    };\n    var getCssValue = function (element, property) {\n      return parseInt(get$a(element, property), 10);\n    };\n    var minWidth = constant(10);\n    var minHeight = constant(10);\n\n    var firstLayer = function (scope, selector) {\n      return filterFirstLayer(scope, selector, always);\n    };\n    var filterFirstLayer = function (scope, selector, predicate) {\n      return bind$2(children$3(scope), function (x) {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    var lookup = function (tags, element, isRoot) {\n      if (isRoot === void 0) {\n        isRoot = never;\n      }\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      var isRootOrUpperTable = function (elm) {\n        return is$2(elm, 'table') || isRoot(elm);\n      };\n      return ancestor$1(element, tags.join(','), isRootOrUpperTable);\n    };\n    var cell = function (element, isRoot) {\n      return lookup([\n        'td',\n        'th'\n      ], element, isRoot);\n    };\n    var cells$1 = function (ancestor) {\n      return firstLayer(ancestor, 'th,td');\n    };\n    var columns$1 = function (ancestor) {\n      if (is$2(ancestor, 'colgroup')) {\n        return children$1(ancestor, 'col');\n      } else {\n        return bind$2(columnGroups(ancestor), function (columnGroup) {\n          return children$1(columnGroup, 'col');\n        });\n      }\n    };\n    var table = function (element, isRoot) {\n      return closest$1(element, 'table', isRoot);\n    };\n    var rows$1 = function (ancestor) {\n      return firstLayer(ancestor, 'tr');\n    };\n    var columnGroups = function (ancestor) {\n      return table(ancestor).fold(constant([]), function (table) {\n        return children$1(table, 'colgroup');\n      });\n    };\n\n    var fromRowsOrColGroups = function (elems, getSection) {\n      return map$1(elems, function (row) {\n        if (name(row) === 'colgroup') {\n          var cells = map$1(columns$1(row), function (column) {\n            var colspan = getAttrValue(column, 'span', 1);\n            return detail(column, 1, colspan);\n          });\n          return rowdetail(row, cells, 'colgroup');\n        } else {\n          var cells = map$1(cells$1(row), function (cell) {\n            var rowspan = getAttrValue(cell, 'rowspan', 1);\n            var colspan = getAttrValue(cell, 'colspan', 1);\n            return detail(cell, rowspan, colspan);\n          });\n          return rowdetail(row, cells, getSection(row));\n        }\n      });\n    };\n    var getParentSection = function (group) {\n      return parent(group).map(function (parent) {\n        var parentName = name(parent);\n        return isValidSection(parentName) ? parentName : 'tbody';\n      }).getOr('tbody');\n    };\n    var fromTable$1 = function (table) {\n      var rows = rows$1(table);\n      var columnGroups$1 = columnGroups(table);\n      var elems = __spreadArray(__spreadArray([], columnGroups$1, true), rows, true);\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n    var fromPastedRows = function (elems, section) {\n      return fromRowsOrColGroups(elems, function () {\n        return section;\n      });\n    };\n\n    var addCells = function (gridRow, index, cells) {\n      var existingCells = gridRow.cells;\n      var before = existingCells.slice(0, index);\n      var after = existingCells.slice(index);\n      var newCells = before.concat(cells).concat(after);\n      return setCells(gridRow, newCells);\n    };\n    var addCell = function (gridRow, index, cell) {\n      return addCells(gridRow, index, [cell]);\n    };\n    var mutateCell = function (gridRow, index, cell) {\n      var cells = gridRow.cells;\n      cells[index] = cell;\n    };\n    var setCells = function (gridRow, cells) {\n      return rowcells(gridRow.element, cells, gridRow.section, gridRow.isNew);\n    };\n    var mapCells = function (gridRow, f) {\n      var cells = gridRow.cells;\n      var r = map$1(cells, f);\n      return rowcells(gridRow.element, r, gridRow.section, gridRow.isNew);\n    };\n    var getCell = function (gridRow, index) {\n      return gridRow.cells[index];\n    };\n    var getCellElement = function (gridRow, index) {\n      return getCell(gridRow, index).element;\n    };\n    var cellLength = function (gridRow) {\n      return gridRow.cells.length;\n    };\n    var extractGridDetails = function (grid) {\n      var result = partition(grid, function (row) {\n        return row.section === 'colgroup';\n      });\n      return {\n        rows: result.fail,\n        cols: result.pass\n      };\n    };\n    var clone$1 = function (gridRow, cloneRow, cloneCell) {\n      var newCells = map$1(gridRow.cells, cloneCell);\n      return rowcells(cloneRow(gridRow.element), newCells, gridRow.section, true);\n    };\n\n    var LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    var getLockedColumnsFromTable = function (table) {\n      return getOpt(table, LOCKED_COL_ATTR).bind(function (lockedColStr) {\n        return Optional.from(lockedColStr.match(/\\d+/g));\n      }).map(function (lockedCols) {\n        return mapToObject(lockedCols, always);\n      });\n    };\n    var getLockedColumnsFromGrid = function (grid) {\n      var locked = foldl(extractGridDetails(grid).rows, function (acc, row) {\n        each$2(row.cells, function (cell, idx) {\n          if (cell.isLocked) {\n            acc[idx] = true;\n          }\n        });\n        return acc;\n      }, {});\n      var lockedArr = mapToArray(locked, function (_val, key) {\n        return parseInt(key, 10);\n      });\n      return sort$1(lockedArr);\n    };\n\n    var key = function (row, column) {\n      return row + ',' + column;\n    };\n    var getAt = function (warehouse, row, column) {\n      return Optional.from(warehouse.access[key(row, column)]);\n    };\n    var findItem = function (warehouse, item, comparator) {\n      var filtered = filterItems(warehouse, function (detail) {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    var filterItems = function (warehouse, predicate) {\n      var all = bind$2(warehouse.all, function (r) {\n        return r.cells;\n      });\n      return filter$2(all, predicate);\n    };\n    var generateColumns = function (rowData) {\n      var columnsGroup = {};\n      var index = 0;\n      each$2(rowData.cells, function (column) {\n        var colspan = column.colspan;\n        range$1(colspan, function (columnIndex) {\n          var colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    var generate$1 = function (list) {\n      var access = {};\n      var cells = [];\n      var tableOpt = head(list).map(function (rowData) {\n        return rowData.element;\n      }).bind(table);\n      var lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      var maxRows = 0;\n      var maxColumns = 0;\n      var rowCount = 0;\n      var _a = partition(list, function (rowData) {\n          return rowData.section === 'colgroup';\n        }), colgroupRows = _a.pass, rows = _a.fail;\n      each$2(rows, function (rowData) {\n        var currentRow = [];\n        each$2(rowData.cells, function (rowCell) {\n          var start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          var isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          var current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (var occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (var occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              var rowPosition = rowCount + occupiedRowPosition;\n              var columnPosition = start + occupiedColumnPosition;\n              var newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      var _b = last$2(colgroupRows).map(function (rowData) {\n          var columns = generateColumns(rowData);\n          var colgroup$1 = colgroup(rowData.element, values(columns));\n          return {\n            colgroups: [colgroup$1],\n            columns: columns\n          };\n        }).getOrThunk(function () {\n          return {\n            colgroups: [],\n            columns: {}\n          };\n        }), columns = _b.columns, colgroups = _b.colgroups;\n      var grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access: access,\n        all: cells,\n        columns: columns,\n        colgroups: colgroups\n      };\n    };\n    var fromTable = function (table) {\n      var list = fromTable$1(table);\n      return generate$1(list);\n    };\n    var justCells = function (warehouse) {\n      return bind$2(warehouse.all, function (w) {\n        return w.cells;\n      });\n    };\n    var justColumns = function (warehouse) {\n      return values(warehouse.columns);\n    };\n    var hasColumns = function (warehouse) {\n      return keys(warehouse.columns).length > 0;\n    };\n    var getColumnAt = function (warehouse, columnIndex) {\n      return Optional.from(warehouse.columns[columnIndex]);\n    };\n    var Warehouse = {\n      fromTable: fromTable,\n      generate: generate$1,\n      getAt: getAt,\n      findItem: findItem,\n      filterItems: filterItems,\n      justCells: justCells,\n      justColumns: justColumns,\n      hasColumns: hasColumns,\n      getColumnAt: getColumnAt\n    };\n\n    var inSelection = function (bounds, detail) {\n      var leftEdge = detail.column;\n      var rightEdge = detail.column + detail.colspan - 1;\n      var topEdge = detail.row;\n      var bottomEdge = detail.row + detail.rowspan - 1;\n      return leftEdge <= bounds.finishCol && rightEdge >= bounds.startCol && (topEdge <= bounds.finishRow && bottomEdge >= bounds.startRow);\n    };\n    var isWithin = function (bounds, detail) {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    var isRectangular = function (warehouse, bounds) {\n      var isRect = true;\n      var detailIsWithin = curry(isWithin, bounds);\n      for (var i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (var j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    var getBounds = function (detailA, detailB) {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    var getAnyBox = function (warehouse, startCell, finishCell) {\n      var startCoords = Warehouse.findItem(warehouse, startCell, eq$1);\n      var finishCoords = Warehouse.findItem(warehouse, finishCell, eq$1);\n      return startCoords.bind(function (sc) {\n        return finishCoords.map(function (fc) {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    var getBox$1 = function (warehouse, startCell, finishCell) {\n      return getAnyBox(warehouse, startCell, finishCell).bind(function (bounds) {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    var moveBy$1 = function (warehouse, cell, row, column) {\n      return Warehouse.findItem(warehouse, cell, eq$1).bind(function (detail) {\n        var startRow = row > 0 ? detail.row + detail.rowspan - 1 : detail.row;\n        var startCol = column > 0 ? detail.column + detail.colspan - 1 : detail.column;\n        var dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);\n        return dest.map(function (d) {\n          return d.element;\n        });\n      });\n    };\n    var intercepts$1 = function (warehouse, start, finish) {\n      return getAnyBox(warehouse, start, finish).map(function (bounds) {\n        var inside = Warehouse.filterItems(warehouse, curry(inSelection, bounds));\n        return map$1(inside, function (detail) {\n          return detail.element;\n        });\n      });\n    };\n    var parentCell = function (warehouse, innerCell) {\n      var isContainedBy = function (c1, c2) {\n        return contains(c2, c1);\n      };\n      return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(function (detail) {\n        return detail.element;\n      });\n    };\n\n    var moveBy = function (cell, deltaRow, deltaColumn) {\n      return table(cell).bind(function (table) {\n        var warehouse = getWarehouse(table);\n        return moveBy$1(warehouse, cell, deltaRow, deltaColumn);\n      });\n    };\n    var intercepts = function (table, first, last) {\n      var warehouse = getWarehouse(table);\n      return intercepts$1(warehouse, first, last);\n    };\n    var nestedIntercepts = function (table, first, firstTable, last, lastTable) {\n      var warehouse = getWarehouse(table);\n      var optStartCell = eq$1(table, firstTable) ? Optional.some(first) : parentCell(warehouse, first);\n      var optLastCell = eq$1(table, lastTable) ? Optional.some(last) : parentCell(warehouse, last);\n      return optStartCell.bind(function (startCell) {\n        return optLastCell.bind(function (lastCell) {\n          return intercepts$1(warehouse, startCell, lastCell);\n        });\n      });\n    };\n    var getBox = function (table, first, last) {\n      var warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    var getWarehouse = Warehouse.fromTable;\n\n    var before$4 = function (marker, element) {\n      var parent$1 = parent(marker);\n      parent$1.each(function (v) {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    var after$5 = function (marker, element) {\n      var sibling = nextSibling(marker);\n      sibling.fold(function () {\n        var parent$1 = parent(marker);\n        parent$1.each(function (v) {\n          append$1(v, element);\n        });\n      }, function (v) {\n        before$4(v, element);\n      });\n    };\n    var prepend = function (parent, element) {\n      var firstChild$1 = firstChild(parent);\n      firstChild$1.fold(function () {\n        append$1(parent, element);\n      }, function (v) {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    var append$1 = function (parent, element) {\n      parent.dom.appendChild(element.dom);\n    };\n    var appendAt = function (parent, element, index) {\n      child$3(parent, index).fold(function () {\n        append$1(parent, element);\n      }, function (v) {\n        before$4(v, element);\n      });\n    };\n    var wrap = function (element, wrapper) {\n      before$4(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    var before$3 = function (marker, elements) {\n      each$2(elements, function (x) {\n        before$4(marker, x);\n      });\n    };\n    var after$4 = function (marker, elements) {\n      each$2(elements, function (x, i) {\n        var e = i === 0 ? marker : elements[i - 1];\n        after$5(e, x);\n      });\n    };\n    var append = function (parent, elements) {\n      each$2(elements, function (x) {\n        append$1(parent, x);\n      });\n    };\n\n    var empty = function (element) {\n      element.dom.textContent = '';\n      each$2(children$3(element), function (rogue) {\n        remove$5(rogue);\n      });\n    };\n    var remove$5 = function (element) {\n      var dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    var unwrap = function (wrapper) {\n      var children = children$3(wrapper);\n      if (children.length > 0) {\n        before$3(wrapper, children);\n      }\n      remove$5(wrapper);\n    };\n\n    var NodeValue = function (is, name) {\n      var get = function (element) {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      var getOption = function (element) {\n        return is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      };\n      var set = function (element, value) {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get: get,\n        getOption: getOption,\n        set: set\n      };\n    };\n\n    var api$2 = NodeValue(isText, 'text');\n    var get$9 = function (element) {\n      return api$2.get(element);\n    };\n    var getOption = function (element) {\n      return api$2.getOption(element);\n    };\n    var set = function (element, value) {\n      return api$2.set(element, value);\n    };\n\n    var TagBoundaries = [\n      'body',\n      'p',\n      'div',\n      'article',\n      'aside',\n      'figcaption',\n      'figure',\n      'footer',\n      'header',\n      'nav',\n      'section',\n      'ol',\n      'ul',\n      'li',\n      'table',\n      'thead',\n      'tbody',\n      'tfoot',\n      'caption',\n      'tr',\n      'td',\n      'th',\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'blockquote',\n      'pre',\n      'address'\n    ];\n\n    function DomUniverse () {\n      var clone = function (element) {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      var document = function (element) {\n        return documentOrOwner(element).dom;\n      };\n      var isBoundary = function (element) {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains$2(TagBoundaries, name(element));\n      };\n      var isEmptyTag = function (element) {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains$2([\n          'br',\n          'img',\n          'hr',\n          'input'\n        ], name(element));\n      };\n      var isNonEditable = function (element) {\n        return isElement(element) && get$b(element, 'contenteditable') === 'false';\n      };\n      var comparePosition = function (element, other) {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      var copyAttributesTo = function (source, destination) {\n        var as = clone$2(source);\n        setAll$1(destination, as);\n      };\n      var isSpecial = function (element) {\n        var tag = name(element);\n        return contains$2([\n          'script',\n          'noscript',\n          'iframe',\n          'noframes',\n          'noembed',\n          'title',\n          'style',\n          'textarea',\n          'xmp'\n        ], tag);\n      };\n      var getLanguage = function (element) {\n        return isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      };\n      return {\n        up: constant({\n          selector: ancestor$1,\n          closest: closest$1,\n          predicate: ancestor$2,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$a,\n          getRaw: getRaw$2,\n          set: set$1,\n          remove: remove$6\n        }),\n        attrs: constant({\n          get: get$b,\n          set: set$2,\n          remove: remove$7,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before$4,\n          after: after$5,\n          afterAll: after$4,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove$5\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition: comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$3,\n          name: name,\n          parent: parent,\n          document: document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial: isSpecial,\n          getLanguage: getLanguage,\n          getText: get$9,\n          setText: set,\n          isBoundary: isBoundary,\n          isEmptyTag: isEmptyTag,\n          isNonEditable: isNonEditable\n        }),\n        eq: eq$1,\n        is: is$1\n      };\n    }\n\n    var all = function (universe, look, elements, f) {\n      var head = elements[0];\n      var tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    var oneAll = function (universe, look, elements) {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    var unsafeOne = function (universe, look, head, tail) {\n      var start = look(universe, head);\n      return foldr(tail, function (b, a) {\n        var current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    var commonElement = function (universe, start, end) {\n      return start.bind(function (s) {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    var eq = function (universe, item) {\n      return curry(universe.eq, item);\n    };\n    var ancestors$2 = function (universe, start, end, isRoot) {\n      if (isRoot === void 0) {\n        isRoot = never;\n      }\n      var ps1 = [start].concat(universe.up().all(start));\n      var ps2 = [end].concat(universe.up().all(end));\n      var prune = function (path) {\n        var index = findIndex(path, isRoot);\n        return index.fold(function () {\n          return path;\n        }, function (ind) {\n          return path.slice(0, ind + 1);\n        });\n      };\n      var pruned1 = prune(ps1);\n      var pruned2 = prune(ps2);\n      var shared = find$1(pruned1, function (x) {\n        return exists(pruned2, eq(universe, x));\n      });\n      return {\n        firstpath: pruned1,\n        secondpath: pruned2,\n        shared: shared\n      };\n    };\n\n    var sharedOne$1 = oneAll;\n    var ancestors$1 = ancestors$2;\n\n    var universe$3 = DomUniverse();\n    var sharedOne = function (look, elements) {\n      return sharedOne$1(universe$3, function (_universe, element) {\n        return look(element);\n      }, elements);\n    };\n    var ancestors = function (start, finish, isRoot) {\n      return ancestors$1(universe$3, start, finish, isRoot);\n    };\n\n    var lookupTable = function (container) {\n      return ancestor$1(container, 'table');\n    };\n    var identify = function (start, finish, isRoot) {\n      var getIsRoot = function (rootTable) {\n        return function (element) {\n          return isRoot !== undefined && isRoot(element) || eq$1(element, rootTable);\n        };\n      };\n      if (eq$1(start, finish)) {\n        return Optional.some({\n          boxes: Optional.some([start]),\n          start: start,\n          finish: finish\n        });\n      } else {\n        return lookupTable(start).bind(function (startTable) {\n          return lookupTable(finish).bind(function (finishTable) {\n            if (eq$1(startTable, finishTable)) {\n              return Optional.some({\n                boxes: intercepts(startTable, start, finish),\n                start: start,\n                finish: finish\n              });\n            } else if (contains(startTable, finishTable)) {\n              var ancestorCells = ancestors$3(finish, 'td,th', getIsRoot(startTable));\n              var finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;\n              return Optional.some({\n                boxes: nestedIntercepts(startTable, start, startTable, finish, finishTable),\n                start: start,\n                finish: finishCell\n              });\n            } else if (contains(finishTable, startTable)) {\n              var ancestorCells = ancestors$3(start, 'td,th', getIsRoot(finishTable));\n              var startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;\n              return Optional.some({\n                boxes: nestedIntercepts(finishTable, start, startTable, finish, finishTable),\n                start: start,\n                finish: startCell\n              });\n            } else {\n              return ancestors(start, finish).shared.bind(function (lca) {\n                return closest$1(lca, 'table', isRoot).bind(function (lcaTable) {\n                  var finishAncestorCells = ancestors$3(finish, 'td,th', getIsRoot(lcaTable));\n                  var finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;\n                  var startAncestorCells = ancestors$3(start, 'td,th', getIsRoot(lcaTable));\n                  var startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;\n                  return Optional.some({\n                    boxes: nestedIntercepts(lcaTable, start, startTable, finish, finishTable),\n                    start: startCell,\n                    finish: finishCell\n                  });\n                });\n              });\n            }\n          });\n        });\n      }\n    };\n    var retrieve$1 = function (container, selector) {\n      var sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    var getLast = function (boxes, lastSelectedSelector) {\n      return find$1(boxes, function (box) {\n        return is$2(box, lastSelectedSelector);\n      });\n    };\n    var getEdges = function (container, firstSelectedSelector, lastSelectedSelector) {\n      return descendant(container, firstSelectedSelector).bind(function (first) {\n        return descendant(container, lastSelectedSelector).bind(function (last) {\n          return sharedOne(lookupTable, [\n            first,\n            last\n          ]).map(function (table) {\n            return {\n              first: first,\n              last: last,\n              table: table\n            };\n          });\n        });\n      });\n    };\n    var expandTo = function (finish, firstSelectedSelector) {\n      return ancestor$1(finish, 'table').bind(function (table) {\n        return descendant(table, firstSelectedSelector).bind(function (start) {\n          return identify(start, finish).bind(function (identified) {\n            return identified.boxes.map(function (boxes) {\n              return {\n                boxes: boxes,\n                start: identified.start,\n                finish: identified.finish\n              };\n            });\n          });\n        });\n      });\n    };\n    var shiftSelection = function (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) {\n      return getLast(boxes, lastSelectedSelector).bind(function (last) {\n        return moveBy(last, deltaRow, deltaColumn).bind(function (finish) {\n          return expandTo(finish, firstSelectedSelector);\n        });\n      });\n    };\n\n    var retrieve = function (container, selector) {\n      return retrieve$1(container, selector);\n    };\n    var retrieveBox = function (container, firstSelectedSelector, lastSelectedSelector) {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(function (edges) {\n        var isRoot = function (ancestor) {\n          return eq$1(container, ancestor);\n        };\n        var sectionSelector = 'thead,tfoot,tbody,table';\n        var firstAncestor = ancestor$1(edges.first, sectionSelector, isRoot);\n        var lastAncestor = ancestor$1(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(function (fA) {\n          return lastAncestor.bind(function (lA) {\n            return eq$1(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    var generate = function (cases) {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      var constructors = [];\n      var adt = {};\n      each$2(cases, function (acase, count) {\n        var keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        var key = keys$1[0];\n        var value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          var argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          var match = function (branches) {\n            var branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            var allReqd = forall(constructors, function (reqKey) {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: function () {\n              var foldArgs = [];\n              for (var _i = 0; _i < arguments.length; _i++) {\n                foldArgs[_i] = arguments[_i];\n              }\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              var target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match: match,\n            log: function (label) {\n              console.log(label, {\n                constructors: constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    var Adt = { generate: generate };\n\n    var type = Adt.generate([\n      { none: [] },\n      { multiple: ['elements'] },\n      { single: ['element'] }\n    ]);\n    var cata$2 = function (subject, onNone, onMultiple, onSingle) {\n      return subject.fold(onNone, onMultiple, onSingle);\n    };\n    var none$1 = type.none;\n    var multiple = type.multiple;\n    var single = type.single;\n\n    var Selections = function (lazyRoot, getStart, selectedSelector) {\n      var get = function () {\n        return retrieve(lazyRoot(), selectedSelector).fold(function () {\n          return getStart().fold(none$1, single);\n        }, function (cells) {\n          return multiple(cells);\n        });\n      };\n      return { get: get };\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var clone = function (original, isDeep) {\n      return SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    };\n    var shallow = function (original) {\n      return clone(original, false);\n    };\n    var deep = function (original) {\n      return clone(original, true);\n    };\n    var shallowAs = function (original, tag) {\n      var nu = SugarElement.fromTag(tag);\n      var attributes = clone$2(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    var copy$1 = function (original, tag) {\n      var nu = shallowAs(original, tag);\n      var cloneChildren = children$3(deep(original));\n      append(nu, cloneChildren);\n      return nu;\n    };\n    var mutate$1 = function (original, tag) {\n      var nu = shallowAs(original, tag);\n      before$4(original, nu);\n      var children = children$3(original);\n      append(nu, children);\n      remove$5(original);\n      return nu;\n    };\n\n    var Dimension = function (name, getOffset) {\n      var set = function (element, h) {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        var dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      var get = function (element) {\n        var r = getOffset(element);\n        if (r <= 0 || r === null) {\n          var css = get$a(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      var getOuter = get;\n      var aggregate = function (element, properties) {\n        return foldl(properties, function (acc, property) {\n          var val = get$a(element, property);\n          var value = val === undefined ? 0 : parseInt(val, 10);\n          return isNaN(value) ? acc : acc + value;\n        }, 0);\n      };\n      var max = function (element, value, properties) {\n        var cumulativeInclusions = aggregate(element, properties);\n        var absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set: set,\n        get: get,\n        getOuter: getOuter,\n        aggregate: aggregate,\n        max: max\n      };\n    };\n\n    var needManualCalc = function () {\n      var browser = detect$3().browser;\n      return browser.isIE() || browser.isEdge();\n    };\n    var toNumber = function (px, fallback) {\n      return toFloat(px).getOr(fallback);\n    };\n    var getProp = function (element, name, fallback) {\n      return toNumber(get$a(element, name), fallback);\n    };\n    var getBoxSizing = function (element) {\n      return get$a(element, 'box-sizing');\n    };\n    var calcContentBoxSize = function (element, size, upper, lower) {\n      var paddingUpper = getProp(element, 'padding-' + upper, 0);\n      var paddingLower = getProp(element, 'padding-' + lower, 0);\n      var borderUpper = getProp(element, 'border-' + upper + '-width', 0);\n      var borderLower = getProp(element, 'border-' + lower + '-width', 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    var getCalculatedHeight = function (element, boxSizing) {\n      var dom = element.dom;\n      var height = dom.getBoundingClientRect().height || dom.offsetHeight;\n      return boxSizing === 'border-box' ? height : calcContentBoxSize(element, height, 'top', 'bottom');\n    };\n    var getCalculatedWidth = function (element, boxSizing) {\n      var dom = element.dom;\n      var width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    var getHeight$1 = function (element) {\n      return needManualCalc() ? getCalculatedHeight(element, getBoxSizing(element)) : getProp(element, 'height', element.dom.offsetHeight);\n    };\n    var getWidth = function (element) {\n      return needManualCalc() ? getCalculatedWidth(element, getBoxSizing(element)) : getProp(element, 'width', element.dom.offsetWidth);\n    };\n    var getInnerWidth = function (element) {\n      return getCalculatedWidth(element, 'content-box');\n    };\n\n    var api$1 = Dimension('width', function (element) {\n      return element.dom.offsetWidth;\n    });\n    var get$8 = function (element) {\n      return api$1.get(element);\n    };\n    var getOuter$2 = function (element) {\n      return api$1.getOuter(element);\n    };\n    var getInner = getInnerWidth;\n    var getRuntime$1 = getWidth;\n\n    var columns = function (warehouse, isValidCell) {\n      if (isValidCell === void 0) {\n        isValidCell = always;\n      }\n      var grid = warehouse.grid;\n      var cols = range$1(grid.columns, identity);\n      var rowsArr = range$1(grid.rows, identity);\n      return map$1(cols, function (col) {\n        var getBlock = function () {\n          return bind$2(rowsArr, function (r) {\n            return Warehouse.getAt(warehouse, r, col).filter(function (detail) {\n              return detail.column === col;\n            }).toArray();\n          });\n        };\n        var isValid = function (detail) {\n          return detail.colspan === 1 && isValidCell(detail.element);\n        };\n        var getFallback = function () {\n          return Warehouse.getAt(warehouse, 0, col);\n        };\n        return decide(getBlock, isValid, getFallback);\n      });\n    };\n    var decide = function (getBlock, isValid, getFallback) {\n      var inBlock = getBlock();\n      var validInBlock = find$1(inBlock, isValid);\n      var detailOption = validInBlock.orThunk(function () {\n        return Optional.from(inBlock[0]).orThunk(getFallback);\n      });\n      return detailOption.map(function (detail) {\n        return detail.element;\n      });\n    };\n    var rows = function (warehouse) {\n      var grid = warehouse.grid;\n      var rowsArr = range$1(grid.rows, identity);\n      var cols = range$1(grid.columns, identity);\n      return map$1(rowsArr, function (row) {\n        var getBlock = function () {\n          return bind$2(cols, function (c) {\n            return Warehouse.getAt(warehouse, row, c).filter(function (detail) {\n              return detail.row === row;\n            }).fold(constant([]), function (detail) {\n              return [detail];\n            });\n          });\n        };\n        var isSingle = function (detail) {\n          return detail.rowspan === 1;\n        };\n        var getFallback = function () {\n          return Warehouse.getAt(warehouse, row, 0);\n        };\n        return decide(getBlock, isSingle, getFallback);\n      });\n    };\n\n    var deduce = function (xs, index) {\n      if (index < 0 || index >= xs.length - 1) {\n        return Optional.none();\n      }\n      var current = xs[index].fold(function () {\n        var rest = reverse(xs.slice(0, index));\n        return findMap(rest, function (a, i) {\n          return a.map(function (aa) {\n            return {\n              value: aa,\n              delta: i + 1\n            };\n          });\n        });\n      }, function (c) {\n        return Optional.some({\n          value: c,\n          delta: 0\n        });\n      });\n      var next = xs[index + 1].fold(function () {\n        var rest = xs.slice(index + 1);\n        return findMap(rest, function (a, i) {\n          return a.map(function (aa) {\n            return {\n              value: aa,\n              delta: i + 1\n            };\n          });\n        });\n      }, function (n) {\n        return Optional.some({\n          value: n,\n          delta: 1\n        });\n      });\n      return current.bind(function (c) {\n        return next.map(function (n) {\n          var extras = n.delta + c.delta;\n          return Math.abs(n.value - c.value) / extras;\n        });\n      });\n    };\n\n    var onDirection = function (isLtr, isRtl) {\n      return function (element) {\n        return getDirection(element) === 'rtl' ? isRtl : isLtr;\n      };\n    };\n    var getDirection = function (element) {\n      return get$a(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n    };\n\n    var api = Dimension('height', function (element) {\n      var dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    var get$7 = function (element) {\n      return api.get(element);\n    };\n    var getOuter$1 = function (element) {\n      return api.getOuter(element);\n    };\n    var getRuntime = getHeight$1;\n\n    var r = function (left, top) {\n      var translate = function (x, y) {\n        return r(left + x, top + y);\n      };\n      return {\n        left: left,\n        top: top,\n        translate: translate\n      };\n    };\n    var SugarPosition = r;\n\n    var boxPosition = function (dom) {\n      var box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    var firstDefinedOrZero = function (a, b) {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    var absolute = function (element) {\n      var doc = element.dom.ownerDocument;\n      var body = doc.body;\n      var win = doc.defaultView;\n      var html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      var scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      var scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      var clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      var clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    var viewport = function (element) {\n      var dom = element.dom;\n      var doc = dom.ownerDocument;\n      var body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    var rowInfo = function (row, y) {\n      return {\n        row: row,\n        y: y\n      };\n    };\n    var colInfo = function (col, x) {\n      return {\n        col: col,\n        x: x\n      };\n    };\n    var rtlEdge = function (cell) {\n      var pos = absolute(cell);\n      return pos.left + getOuter$2(cell);\n    };\n    var ltrEdge = function (cell) {\n      return absolute(cell).left;\n    };\n    var getLeftEdge = function (index, cell) {\n      return colInfo(index, ltrEdge(cell));\n    };\n    var getRightEdge = function (index, cell) {\n      return colInfo(index, rtlEdge(cell));\n    };\n    var getTop$1 = function (cell) {\n      return absolute(cell).top;\n    };\n    var getTopEdge = function (index, cell) {\n      return rowInfo(index, getTop$1(cell));\n    };\n    var getBottomEdge = function (index, cell) {\n      return rowInfo(index, getTop$1(cell) + getOuter$1(cell));\n    };\n    var findPositions = function (getInnerEdge, getOuterEdge, array) {\n      if (array.length === 0) {\n        return [];\n      }\n      var lines = map$1(array.slice(1), function (cellOption, index) {\n        return cellOption.map(function (cell) {\n          return getInnerEdge(index, cell);\n        });\n      });\n      var lastLine = array[array.length - 1].map(function (cell) {\n        return getOuterEdge(array.length - 1, cell);\n      });\n      return lines.concat([lastLine]);\n    };\n    var negate = function (step) {\n      return -step;\n    };\n    var height = {\n      delta: identity,\n      positions: function (optElements) {\n        return findPositions(getTopEdge, getBottomEdge, optElements);\n      },\n      edge: getTop$1\n    };\n    var ltr$1 = {\n      delta: identity,\n      edge: ltrEdge,\n      positions: function (optElements) {\n        return findPositions(getLeftEdge, getRightEdge, optElements);\n      }\n    };\n    var rtl$1 = {\n      delta: negate,\n      edge: rtlEdge,\n      positions: function (optElements) {\n        return findPositions(getRightEdge, getLeftEdge, optElements);\n      }\n    };\n    var detect$2 = onDirection(ltr$1, rtl$1);\n    var width = {\n      delta: function (amount, table) {\n        return detect$2(table).delta(amount, table);\n      },\n      positions: function (cols, table) {\n        return detect$2(table).positions(cols, table);\n      },\n      edge: function (cell) {\n        return detect$2(cell).edge(cell);\n      }\n    };\n\n    var units = {\n      unsupportedLength: [\n        'em',\n        'ex',\n        'cap',\n        'ch',\n        'ic',\n        'rem',\n        'lh',\n        'rlh',\n        'vw',\n        'vh',\n        'vi',\n        'vb',\n        'vmin',\n        'vmax',\n        'cm',\n        'mm',\n        'Q',\n        'in',\n        'pc',\n        'pt',\n        'px'\n      ],\n      fixed: [\n        'px',\n        'pt'\n      ],\n      relative: ['%'],\n      empty: ['']\n    };\n    var pattern = function () {\n      var decimalDigits = '[0-9]+';\n      var signedInteger = '[+-]?' + decimalDigits;\n      var exponentPart = '[eE]' + signedInteger;\n      var dot = '\\\\.';\n      var opt = function (input) {\n        return '(?:' + input + ')?';\n      };\n      var unsignedDecimalLiteral = [\n        'Infinity',\n        decimalDigits + dot + opt(decimalDigits) + opt(exponentPart),\n        dot + decimalDigits + opt(exponentPart),\n        decimalDigits + opt(exponentPart)\n      ].join('|');\n      var float = '[+-]?(?:' + unsignedDecimalLiteral + ')';\n      return new RegExp('^(' + float + ')(.*)$');\n    }();\n    var isUnit = function (unit, accepted) {\n      return exists(accepted, function (acc) {\n        return exists(units[acc], function (check) {\n          return unit === check;\n        });\n      });\n    };\n    var parse = function (input, accepted) {\n      var match = Optional.from(pattern.exec(input));\n      return match.bind(function (array) {\n        var value = Number(array[1]);\n        var unitRaw = array[2];\n        if (isUnit(unitRaw, accepted)) {\n          return Optional.some({\n            value: value,\n            unit: unitRaw\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n\n    var rPercentageBasedSizeRegex = /(\\d+(\\.\\d+)?)%/;\n    var rPixelBasedSizeRegex = /(\\d+(\\.\\d+)?)px|em/;\n    var isCol$2 = isTag('col');\n    var getPercentSize = function (elm, outerGetter, innerGetter) {\n      var relativeParent = parentElement(elm).getOrThunk(function () {\n        return getBody$1(owner(elm));\n      });\n      return outerGetter(elm) / innerGetter(relativeParent) * 100;\n    };\n    var setPixelWidth = function (cell, amount) {\n      set$1(cell, 'width', amount + 'px');\n    };\n    var setPercentageWidth = function (cell, amount) {\n      set$1(cell, 'width', amount + '%');\n    };\n    var setHeight = function (cell, amount) {\n      set$1(cell, 'height', amount + 'px');\n    };\n    var getHeightValue = function (cell) {\n      return getRuntime(cell) + 'px';\n    };\n    var convert = function (cell, number, getter, setter) {\n      var newSize = table(cell).map(function (table) {\n        var total = getter(table);\n        return Math.floor(number / 100 * total);\n      }).getOr(number);\n      setter(cell, newSize);\n      return newSize;\n    };\n    var normalizePixelSize = function (value, cell, getter, setter) {\n      var number = parseFloat(value);\n      return endsWith(value, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number;\n    };\n    var getTotalHeight = function (cell) {\n      var value = getHeightValue(cell);\n      if (!value) {\n        return get$7(cell);\n      }\n      return normalizePixelSize(value, cell, get$7, setHeight);\n    };\n    var get$6 = function (cell, type, f) {\n      var v = f(cell);\n      var span = getSpan(cell, type);\n      return v / span;\n    };\n    var getRaw$1 = function (element, prop) {\n      return getRaw$2(element, prop).orThunk(function () {\n        return getOpt(element, prop).map(function (val) {\n          return val + 'px';\n        });\n      });\n    };\n    var getRawWidth$1 = function (element) {\n      return getRaw$1(element, 'width');\n    };\n    var getRawHeight = function (element) {\n      return getRaw$1(element, 'height');\n    };\n    var getPercentageWidth = function (cell) {\n      return getPercentSize(cell, get$8, getInner);\n    };\n    var getPixelWidth$1 = function (cell) {\n      return isCol$2(cell) ? get$8(cell) : getRuntime$1(cell);\n    };\n    var getHeight = function (cell) {\n      return get$6(cell, 'rowspan', getTotalHeight);\n    };\n    var getGenericWidth = function (cell) {\n      var width = getRawWidth$1(cell);\n      return width.bind(function (w) {\n        return parse(w, [\n          'fixed',\n          'relative',\n          'empty'\n        ]);\n      });\n    };\n    var setGenericWidth = function (cell, amount, unit) {\n      set$1(cell, 'width', amount + unit);\n    };\n    var getPixelTableWidth = function (table) {\n      return get$8(table) + 'px';\n    };\n    var getPercentTableWidth = function (table) {\n      return getPercentSize(table, get$8, getInner) + '%';\n    };\n    var isPercentSizing$1 = function (table) {\n      return getRawWidth$1(table).exists(function (size) {\n        return rPercentageBasedSizeRegex.test(size);\n      });\n    };\n    var isPixelSizing$1 = function (table) {\n      return getRawWidth$1(table).exists(function (size) {\n        return rPixelBasedSizeRegex.test(size);\n      });\n    };\n    var isNoneSizing$1 = function (table) {\n      return getRawWidth$1(table).isNone();\n    };\n    var percentageBasedSizeRegex = constant(rPercentageBasedSizeRegex);\n\n    var isCol$1 = isTag('col');\n    var getRawW = function (cell) {\n      return getRawWidth$1(cell).getOrThunk(function () {\n        return getPixelWidth$1(cell) + 'px';\n      });\n    };\n    var getRawH = function (cell) {\n      return getRawHeight(cell).getOrThunk(function () {\n        return getHeight(cell) + 'px';\n      });\n    };\n    var justCols = function (warehouse) {\n      return map$1(Warehouse.justColumns(warehouse), function (column) {\n        return Optional.from(column.element);\n      });\n    };\n    var isValidColumn = function (cell) {\n      var browser = detect$3().browser;\n      var supportsColWidths = browser.isChrome() || browser.isFirefox();\n      return isCol$1(cell) ? supportsColWidths : true;\n    };\n    var getDimension = function (cellOpt, index, backups, filter, getter, fallback) {\n      return cellOpt.filter(filter).fold(function () {\n        return fallback(deduce(backups, index));\n      }, function (cell) {\n        return getter(cell);\n      });\n    };\n    var getWidthFrom = function (warehouse, table, getWidth, fallback) {\n      var columnCells = columns(warehouse);\n      var columns$1 = Warehouse.hasColumns(warehouse) ? justCols(warehouse) : columnCells;\n      var backups = [Optional.some(width.edge(table))].concat(map$1(width.positions(columnCells, table), function (pos) {\n        return pos.map(function (p) {\n          return p.x;\n        });\n      }));\n      var colFilter = not(hasColspan);\n      return map$1(columns$1, function (cellOption, c) {\n        return getDimension(cellOption, c, backups, colFilter, function (column) {\n          if (isValidColumn(column)) {\n            return getWidth(column);\n          } else {\n            var cell = bindFrom(columnCells[c], identity);\n            return getDimension(cell, c, backups, colFilter, function (cell) {\n              return fallback(Optional.some(get$8(cell)));\n            }, fallback);\n          }\n        }, fallback);\n      });\n    };\n    var getDeduced = function (deduced) {\n      return deduced.map(function (d) {\n        return d + 'px';\n      }).getOr('');\n    };\n    var getRawWidths = function (warehouse, table) {\n      return getWidthFrom(warehouse, table, getRawW, getDeduced);\n    };\n    var getPercentageWidths = function (warehouse, table, tableSize) {\n      return getWidthFrom(warehouse, table, getPercentageWidth, function (deduced) {\n        return deduced.fold(function () {\n          return tableSize.minCellWidth();\n        }, function (cellWidth) {\n          return cellWidth / tableSize.pixelWidth() * 100;\n        });\n      });\n    };\n    var getPixelWidths = function (warehouse, table, tableSize) {\n      return getWidthFrom(warehouse, table, getPixelWidth$1, function (deduced) {\n        return deduced.getOrThunk(tableSize.minCellWidth);\n      });\n    };\n    var getHeightFrom = function (warehouse, table, direction, getHeight, fallback) {\n      var rows$1 = rows(warehouse);\n      var backups = [Optional.some(direction.edge(table))].concat(map$1(direction.positions(rows$1, table), function (pos) {\n        return pos.map(function (p) {\n          return p.y;\n        });\n      }));\n      return map$1(rows$1, function (cellOption, c) {\n        return getDimension(cellOption, c, backups, not(hasRowspan), getHeight, fallback);\n      });\n    };\n    var getPixelHeights = function (warehouse, table, direction) {\n      return getHeightFrom(warehouse, table, direction, getHeight, function (deduced) {\n        return deduced.getOrThunk(minHeight);\n      });\n    };\n    var getRawHeights = function (warehouse, table, direction) {\n      return getHeightFrom(warehouse, table, direction, getRawH, getDeduced);\n    };\n\n    var widthLookup = function (table, getter) {\n      return function () {\n        if (inBody(table)) {\n          return getter(table);\n        } else {\n          return parseFloat(getRaw$2(table, 'width').getOr('0'));\n        }\n      };\n    };\n    var noneSize = function (table) {\n      var getWidth = widthLookup(table, get$8);\n      var zero = constant(0);\n      var getWidths = function (warehouse, tableSize) {\n        return getPixelWidths(warehouse, table, tableSize);\n      };\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths: getWidths,\n        getCellDelta: zero,\n        singleColumnWidth: constant([0]),\n        minCellWidth: zero,\n        setElementWidth: noop,\n        adjustTableWidth: noop,\n        isRelative: true,\n        label: 'none'\n      };\n    };\n    var percentageSize = function (table) {\n      var getFloatWidth = widthLookup(table, function (elem) {\n        return parseFloat(getPercentTableWidth(elem));\n      });\n      var getWidth = widthLookup(table, get$8);\n      var getCellDelta = function (delta) {\n        return delta / getWidth() * 100;\n      };\n      var singleColumnWidth = function (w, _delta) {\n        return [100 - w];\n      };\n      var minCellWidth = function () {\n        return minWidth() / getWidth() * 100;\n      };\n      var adjustTableWidth = function (delta) {\n        var currentWidth = getFloatWidth();\n        var change = delta / 100 * currentWidth;\n        var newWidth = currentWidth + change;\n        setPercentageWidth(table, newWidth);\n      };\n      var getWidths = function (warehouse, tableSize) {\n        return getPercentageWidths(warehouse, table, tableSize);\n      };\n      return {\n        width: getFloatWidth,\n        pixelWidth: getWidth,\n        getWidths: getWidths,\n        getCellDelta: getCellDelta,\n        singleColumnWidth: singleColumnWidth,\n        minCellWidth: minCellWidth,\n        setElementWidth: setPercentageWidth,\n        adjustTableWidth: adjustTableWidth,\n        isRelative: true,\n        label: 'percent'\n      };\n    };\n    var pixelSize = function (table) {\n      var getWidth = widthLookup(table, get$8);\n      var getCellDelta = identity;\n      var singleColumnWidth = function (w, delta) {\n        var newNext = Math.max(minWidth(), w + delta);\n        return [newNext - w];\n      };\n      var adjustTableWidth = function (delta) {\n        var newWidth = getWidth() + delta;\n        setPixelWidth(table, newWidth);\n      };\n      var getWidths = function (warehouse, tableSize) {\n        return getPixelWidths(warehouse, table, tableSize);\n      };\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths: getWidths,\n        getCellDelta: getCellDelta,\n        singleColumnWidth: singleColumnWidth,\n        minCellWidth: minWidth,\n        setElementWidth: setPixelWidth,\n        adjustTableWidth: adjustTableWidth,\n        isRelative: false,\n        label: 'pixel'\n      };\n    };\n    var chooseSize = function (element, width) {\n      var percentMatch = percentageBasedSizeRegex().exec(width);\n      if (percentMatch !== null) {\n        return percentageSize(element);\n      } else {\n        return pixelSize(element);\n      }\n    };\n    var getTableSize = function (table) {\n      var width = getRawWidth$1(table);\n      return width.fold(function () {\n        return noneSize(table);\n      }, function (w) {\n        return chooseSize(table, w);\n      });\n    };\n    var TableSize = {\n      getTableSize: getTableSize,\n      pixelSize: pixelSize,\n      percentageSize: percentageSize,\n      noneSize: noneSize\n    };\n\n    var statsStruct = function (minRow, minCol, maxRow, maxCol, allCells, selectedCells) {\n      return {\n        minRow: minRow,\n        minCol: minCol,\n        maxRow: maxRow,\n        maxCol: maxCol,\n        allCells: allCells,\n        selectedCells: selectedCells\n      };\n    };\n    var findSelectedStats = function (house, isSelected) {\n      var totalColumns = house.grid.columns;\n      var totalRows = house.grid.rows;\n      var minRow = totalRows;\n      var minCol = totalColumns;\n      var maxRow = 0;\n      var maxCol = 0;\n      var allCells = [];\n      var selectedCells = [];\n      each$1(house.access, function (detail) {\n        allCells.push(detail);\n        if (isSelected(detail)) {\n          selectedCells.push(detail);\n          var startRow = detail.row;\n          var endRow = startRow + detail.rowspan - 1;\n          var startCol = detail.column;\n          var endCol = startCol + detail.colspan - 1;\n          if (startRow < minRow) {\n            minRow = startRow;\n          } else if (endRow > maxRow) {\n            maxRow = endRow;\n          }\n          if (startCol < minCol) {\n            minCol = startCol;\n          } else if (endCol > maxCol) {\n            maxCol = endCol;\n          }\n        }\n      });\n      return statsStruct(minRow, minCol, maxRow, maxCol, allCells, selectedCells);\n    };\n    var makeCell = function (list, seenSelected, rowIndex) {\n      var row = list[rowIndex].element;\n      var td = SugarElement.fromTag('td');\n      append$1(td, SugarElement.fromTag('br'));\n      var f = seenSelected ? append$1 : prepend;\n      f(row, td);\n    };\n    var fillInGaps = function (list, house, stats, isSelected) {\n      var totalColumns = house.grid.columns;\n      var totalRows = house.grid.rows;\n      for (var i = 0; i < totalRows; i++) {\n        var seenSelected = false;\n        for (var j = 0; j < totalColumns; j++) {\n          if (!(i < stats.minRow || i > stats.maxRow || j < stats.minCol || j > stats.maxCol)) {\n            var needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone();\n            if (needCell) {\n              makeCell(list, seenSelected, i);\n            } else {\n              seenSelected = true;\n            }\n          }\n        }\n      }\n    };\n    var clean = function (replica, stats, house, widthDelta) {\n      each$1(house.columns, function (col) {\n        if (col.column < stats.minCol || col.column > stats.maxCol) {\n          remove$5(col.element);\n        }\n      });\n      var emptyRows = filter$2(firstLayer(replica, 'tr'), function (row) {\n        return row.dom.childElementCount === 0;\n      });\n      each$2(emptyRows, remove$5);\n      if (stats.minCol === stats.maxCol || stats.minRow === stats.maxRow) {\n        each$2(firstLayer(replica, 'th,td'), function (cell) {\n          remove$7(cell, 'rowspan');\n          remove$7(cell, 'colspan');\n        });\n      }\n      remove$7(replica, LOCKED_COL_ATTR);\n      remove$7(replica, 'data-snooker-col-series');\n      var tableSize = TableSize.getTableSize(replica);\n      tableSize.adjustTableWidth(widthDelta);\n    };\n    var getTableWidthDelta = function (table, warehouse, tableSize, stats) {\n      if (stats.minCol === 0 && warehouse.grid.columns === stats.maxCol + 1) {\n        return 0;\n      }\n      var colWidths = getPixelWidths(warehouse, table, tableSize);\n      var allColsWidth = foldl(colWidths, function (acc, width) {\n        return acc + width;\n      }, 0);\n      var selectedColsWidth = foldl(colWidths.slice(stats.minCol, stats.maxCol + 1), function (acc, width) {\n        return acc + width;\n      }, 0);\n      var newWidth = selectedColsWidth / allColsWidth * tableSize.pixelWidth();\n      var delta = newWidth - tableSize.pixelWidth();\n      return tableSize.getCellDelta(delta);\n    };\n    var extract$1 = function (table, selectedSelector) {\n      var isSelected = function (detail) {\n        return is$2(detail.element, selectedSelector);\n      };\n      var replica = deep(table);\n      var list = fromTable$1(replica);\n      var tableSize = TableSize.getTableSize(table);\n      var replicaHouse = Warehouse.generate(list);\n      var replicaStats = findSelectedStats(replicaHouse, isSelected);\n      var selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')';\n      var unselectedCells = filterFirstLayer(replica, 'th,td', function (cell) {\n        return is$2(cell, selector);\n      });\n      each$2(unselectedCells, remove$5);\n      fillInGaps(list, replicaHouse, replicaStats, isSelected);\n      var house = Warehouse.fromTable(table);\n      var widthDelta = getTableWidthDelta(table, house, tableSize, replicaStats);\n      clean(replica, replicaStats, replicaHouse, widthDelta);\n      return replica;\n    };\n\n    var nbsp = '\\xA0';\n\n    var getEnd = function (element) {\n      return name(element) === 'img' ? 1 : getOption(element).fold(function () {\n        return children$3(element).length;\n      }, function (v) {\n        return v.length;\n      });\n    };\n    var isTextNodeWithCursorPosition = function (el) {\n      return getOption(el).filter(function (text) {\n        return text.trim().length !== 0 || text.indexOf(nbsp) > -1;\n      }).isSome();\n    };\n    var elementsWithCursorPosition = [\n      'img',\n      'br'\n    ];\n    var isCursorPosition = function (elem) {\n      var hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem));\n    };\n\n    var first = function (element) {\n      return descendant$1(element, isCursorPosition);\n    };\n    var last$1 = function (element) {\n      return descendantRtl(element, isCursorPosition);\n    };\n    var descendantRtl = function (scope, predicate) {\n      var descend = function (element) {\n        var children = children$3(element);\n        for (var i = children.length - 1; i >= 0; i--) {\n          var child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          var res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    var transferableAttributes = {\n      scope: [\n        'row',\n        'col'\n      ]\n    };\n    var createCell = function (doc) {\n      return function () {\n        var td = SugarElement.fromTag('td', doc.dom);\n        append$1(td, SugarElement.fromTag('br', doc.dom));\n        return td;\n      };\n    };\n    var createCol = function (doc) {\n      return function () {\n        return SugarElement.fromTag('col', doc.dom);\n      };\n    };\n    var createColgroup = function (doc) {\n      return function () {\n        return SugarElement.fromTag('colgroup', doc.dom);\n      };\n    };\n    var createRow$1 = function (doc) {\n      return function () {\n        return SugarElement.fromTag('tr', doc.dom);\n      };\n    };\n    var replace$1 = function (cell, tag, attrs) {\n      var replica = copy$1(cell, tag);\n      each$1(attrs, function (v, k) {\n        if (v === null) {\n          remove$7(replica, k);\n        } else {\n          set$2(replica, k, v);\n        }\n      });\n      return replica;\n    };\n    var pasteReplace = function (cell) {\n      return cell;\n    };\n    var cloneFormats = function (oldCell, newCell, formats) {\n      var first$1 = first(oldCell);\n      return first$1.map(function (firstText) {\n        var formatSelector = formats.join(',');\n        var parents = ancestors$3(firstText, formatSelector, function (element) {\n          return eq$1(element, oldCell);\n        });\n        return foldr(parents, function (last, parent) {\n          var clonedFormat = shallow(parent);\n          remove$7(clonedFormat, 'contenteditable');\n          append$1(last, clonedFormat);\n          return clonedFormat;\n        }, newCell);\n      }).getOr(newCell);\n    };\n    var cloneAppropriateAttributes = function (original, clone) {\n      each$1(transferableAttributes, function (validAttributes, attributeName) {\n        return getOpt(original, attributeName).filter(function (attribute) {\n          return contains$2(validAttributes, attribute);\n        }).each(function (attribute) {\n          return set$2(clone, attributeName, attribute);\n        });\n      });\n    };\n    var cellOperations = function (mutate, doc, formatsToClone) {\n      var cloneCss = function (prev, clone) {\n        copy$2(prev.element, clone);\n        remove$6(clone, 'height');\n        if (prev.colspan !== 1) {\n          remove$6(clone, 'width');\n        }\n      };\n      var newCell = function (prev) {\n        var td = SugarElement.fromTag(name(prev.element), doc.dom);\n        var formats = formatsToClone.getOr([\n          'strong',\n          'em',\n          'b',\n          'i',\n          'span',\n          'font',\n          'h1',\n          'h2',\n          'h3',\n          'h4',\n          'h5',\n          'h6',\n          'p',\n          'div'\n        ]);\n        var lastNode = formats.length > 0 ? cloneFormats(prev.element, td, formats) : td;\n        append$1(lastNode, SugarElement.fromTag('br'));\n        cloneCss(prev, td);\n        cloneAppropriateAttributes(prev.element, td);\n        mutate(prev.element, td);\n        return td;\n      };\n      var newCol = function (prev) {\n        var col = SugarElement.fromTag(name(prev.element), doc.dom);\n        cloneCss(prev, col);\n        mutate(prev.element, col);\n        return col;\n      };\n      return {\n        col: newCol,\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: newCell,\n        replace: replace$1,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n    var paste$1 = function (doc) {\n      return {\n        col: createCol(doc),\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: createCell(doc),\n        replace: pasteReplace,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$3(SugarElement.fromDom(div));\n    };\n    var fromDom = function (nodes) {\n      return map$1(nodes, SugarElement.fromDom);\n    };\n\n    var getNodeName = function (elm) {\n      return elm.nodeName.toLowerCase();\n    };\n    var getBody = function (editor) {\n      return SugarElement.fromDom(editor.getBody());\n    };\n    var getPixelWidth = function (elm) {\n      return elm.getBoundingClientRect().width;\n    };\n    var getPixelHeight = function (elm) {\n      return elm.getBoundingClientRect().height;\n    };\n    var getIsRoot = function (editor) {\n      return function (element) {\n        return eq$1(element, getBody(editor));\n      };\n    };\n    var removePxSuffix = function (size) {\n      return size ? size.replace(/px$/, '') : '';\n    };\n    var addPxSuffix = function (size) {\n      return /^\\d+(\\.\\d+)?$/.test(size) ? size + 'px' : size;\n    };\n    var removeDataStyle = function (table) {\n      remove$7(table, 'data-mce-style');\n      var removeStyleAttribute = function (element) {\n        return remove$7(element, 'data-mce-style');\n      };\n      each$2(cells$1(table), removeStyleAttribute);\n      each$2(columns$1(table), removeStyleAttribute);\n      each$2(rows$1(table), removeStyleAttribute);\n    };\n    var getRawWidth = function (editor, elm) {\n      var raw = editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width');\n      return Optional.from(raw).filter(isNotEmpty);\n    };\n    var isPercentage$1 = function (value) {\n      return /^(\\d+(\\.\\d+)?)%$/.test(value);\n    };\n    var isPixel = function (value) {\n      return /^(\\d+(\\.\\d+)?)px$/.test(value);\n    };\n    var getSelectionStart = function (editor) {\n      return SugarElement.fromDom(editor.selection.getStart());\n    };\n    var getSelectionEnd = function (editor) {\n      return SugarElement.fromDom(editor.selection.getEnd());\n    };\n\n    var selection = function (selections) {\n      return cata$2(selections.get(), constant([]), identity, pure);\n    };\n    var unmergable = function (selections) {\n      var hasSpan = function (elem, type) {\n        return getOpt(elem, type).exists(function (span) {\n          return parseInt(span, 10) > 1;\n        });\n      };\n      var hasRowOrColSpan = function (elem) {\n        return hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      };\n      var candidates = selection(selections);\n      return candidates.length > 0 && forall(candidates, hasRowOrColSpan) ? Optional.some(candidates) : Optional.none();\n    };\n    var mergable = function (table, selections, ephemera) {\n      return cata$2(selections.get(), Optional.none, function (cells) {\n        if (cells.length <= 1) {\n          return Optional.none();\n        } else {\n          return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(function (bounds) {\n            return {\n              bounds: bounds,\n              cells: cells\n            };\n          });\n        }\n      }, Optional.none);\n    };\n\n    var strSelected = 'data-mce-selected';\n    var strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    var strAttributeSelector = '[' + strSelected + ']';\n    var strFirstSelected = 'data-mce-first-selected';\n    var strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    var strLastSelected = 'data-mce-last-selected';\n    var strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    var attributeSelector = strAttributeSelector;\n    var ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    var noMenu = function (cell) {\n      return {\n        element: cell,\n        mergable: Optional.none(),\n        unmergable: Optional.none(),\n        selection: [cell]\n      };\n    };\n    var forMenu = function (selections, table, cell) {\n      return {\n        element: cell,\n        mergable: mergable(table, selections, ephemera),\n        unmergable: unmergable(selections),\n        selection: selection(selections)\n      };\n    };\n    var paste = function (element, clipboard, generators) {\n      return {\n        element: element,\n        clipboard: clipboard,\n        generators: generators\n      };\n    };\n    var pasteRows = function (selections, cell, clipboard, generators) {\n      return {\n        selection: selection(selections),\n        clipboard: clipboard,\n        generators: generators\n      };\n    };\n\n    var getSelectionCellFallback = function (element) {\n      return table(element).bind(function (table) {\n        return retrieve(table, ephemera.firstSelectedSelector);\n      }).fold(constant(element), function (cells) {\n        return cells[0];\n      });\n    };\n    var getSelectionFromSelector = function (selector) {\n      return function (initCell, isRoot) {\n        var cellName = name(initCell);\n        var cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n        return closest$1(cell, selector, isRoot);\n      };\n    };\n    var getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    var getSelectionCell = getSelectionFromSelector('th,td');\n    var getCellsFromSelection = function (selections) {\n      return selection(selections);\n    };\n    var getRowsFromSelection = function (selected, selector) {\n      var cellOpt = getSelectionCell(selected);\n      var rowsOpt = cellOpt.bind(function (cell) {\n        return table(cell);\n      }).map(function (table) {\n        return rows$1(table);\n      });\n      return lift2(cellOpt, rowsOpt, function (cell, rows) {\n        return filter$2(rows, function (row) {\n          return exists(fromDom(row.dom.cells), function (rowCell) {\n            return get$b(rowCell, selector) === '1' || eq$1(rowCell, cell);\n          });\n        });\n      }).getOr([]);\n    };\n\n    var extractSelected = function (cells) {\n      return table(cells[0]).map(function (table) {\n        var replica = extract$1(table, attributeSelector);\n        removeDataStyle(replica);\n        return [replica];\n      });\n    };\n    var serializeElements = function (editor, elements) {\n      return map$1(elements, function (elm) {\n        return editor.selection.serializer.serialize(elm.dom, {});\n      }).join('');\n    };\n    var getTextContent = function (elements) {\n      return map$1(elements, function (element) {\n        return element.dom.innerText;\n      }).join('');\n    };\n    var registerEvents = function (editor, selections, actions) {\n      editor.on('BeforeGetContent', function (e) {\n        var multiCellContext = function (cells) {\n          e.preventDefault();\n          extractSelected(cells).each(function (elements) {\n            e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements);\n          });\n        };\n        if (e.selection === true) {\n          cata$2(selections.get(), noop, multiCellContext, noop);\n        }\n      });\n      editor.on('BeforeSetContent', function (e) {\n        if (e.selection === true && e.paste === true) {\n          var selectedCells = getCellsFromSelection(selections);\n          head(selectedCells).each(function (cell) {\n            table(cell).each(function (table) {\n              var elements = filter$2(fromHtml(e.content), function (content) {\n                return name(content) !== 'meta';\n              });\n              var isTable = isTag('table');\n              if (elements.length === 1 && isTable(elements[0])) {\n                e.preventDefault();\n                var doc = SugarElement.fromDom(editor.getDoc());\n                var generators = paste$1(doc);\n                var targets = paste(cell, elements[0], generators);\n                actions.pasteCells(table, targets).each(function () {\n                  editor.focus();\n                });\n              }\n            });\n          });\n        }\n      });\n    };\n\n    var adt$7 = Adt.generate([\n      { none: [] },\n      { only: ['index'] },\n      {\n        left: [\n          'index',\n          'next'\n        ]\n      },\n      {\n        middle: [\n          'prev',\n          'index',\n          'next'\n        ]\n      },\n      {\n        right: [\n          'prev',\n          'index'\n        ]\n      }\n    ]);\n    var ColumnContext = __assign({}, adt$7);\n\n    var neighbours = function (input, index) {\n      if (input.length === 0) {\n        return ColumnContext.none();\n      }\n      if (input.length === 1) {\n        return ColumnContext.only(0);\n      }\n      if (index === 0) {\n        return ColumnContext.left(0, 1);\n      }\n      if (index === input.length - 1) {\n        return ColumnContext.right(index - 1, index);\n      }\n      if (index > 0 && index < input.length - 1) {\n        return ColumnContext.middle(index - 1, index, index + 1);\n      }\n      return ColumnContext.none();\n    };\n    var determine = function (input, column, step, tableSize, resize) {\n      var result = input.slice(0);\n      var context = neighbours(input, column);\n      var onNone = constant(map$1(result, constant(0)));\n      var onOnly = function (index) {\n        return tableSize.singleColumnWidth(result[index], step);\n      };\n      var onLeft = function (index, next) {\n        return resize.calcLeftEdgeDeltas(result, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      };\n      var onMiddle = function (prev, index, next) {\n        return resize.calcMiddleDeltas(result, prev, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      };\n      var onRight = function (prev, index) {\n        return resize.calcRightEdgeDeltas(result, prev, index, step, tableSize.minCellWidth(), tableSize.isRelative);\n      };\n      return context.fold(onNone, onOnly, onLeft, onMiddle, onRight);\n    };\n\n    var total = function (start, end, measures) {\n      var r = 0;\n      for (var i = start; i < end; i++) {\n        r += measures[i] !== undefined ? measures[i] : 0;\n      }\n      return r;\n    };\n    var recalculateWidthForCells = function (warehouse, widths) {\n      var all = Warehouse.justCells(warehouse);\n      return map$1(all, function (cell) {\n        var width = total(cell.column, cell.column + cell.colspan, widths);\n        return {\n          element: cell.element,\n          width: width,\n          colspan: cell.colspan\n        };\n      });\n    };\n    var recalculateWidthForColumns = function (warehouse, widths) {\n      var groups = Warehouse.justColumns(warehouse);\n      return map$1(groups, function (column, index) {\n        return {\n          element: column.element,\n          width: widths[index],\n          colspan: column.colspan\n        };\n      });\n    };\n    var recalculateHeightForCells = function (warehouse, heights) {\n      var all = Warehouse.justCells(warehouse);\n      return map$1(all, function (cell) {\n        var height = total(cell.row, cell.row + cell.rowspan, heights);\n        return {\n          element: cell.element,\n          height: height,\n          rowspan: cell.rowspan\n        };\n      });\n    };\n    var matchRowHeight = function (warehouse, heights) {\n      return map$1(warehouse.all, function (row, i) {\n        return {\n          element: row.element,\n          height: heights[i]\n        };\n      });\n    };\n\n    var sumUp = function (newSize) {\n      return foldr(newSize, function (b, a) {\n        return b + a;\n      }, 0);\n    };\n    var recalculate = function (warehouse, widths) {\n      if (Warehouse.hasColumns(warehouse)) {\n        return recalculateWidthForColumns(warehouse, widths);\n      } else {\n        return recalculateWidthForCells(warehouse, widths);\n      }\n    };\n    var recalculateAndApply = function (warehouse, widths, tableSize) {\n      var newSizes = recalculate(warehouse, widths);\n      each$2(newSizes, function (cell) {\n        tableSize.setElementWidth(cell.element, cell.width);\n      });\n    };\n    var adjustWidth = function (table, delta, index, resizing, tableSize) {\n      var warehouse = Warehouse.fromTable(table);\n      var step = tableSize.getCellDelta(delta);\n      var widths = tableSize.getWidths(warehouse, tableSize);\n      var isLastColumn = index === warehouse.grid.columns - 1;\n      var clampedStep = resizing.clampTableDelta(widths, index, step, tableSize.minCellWidth(), isLastColumn);\n      var deltas = determine(widths, index, clampedStep, tableSize, resizing);\n      var newWidths = map$1(deltas, function (dx, i) {\n        return dx + widths[i];\n      });\n      recalculateAndApply(warehouse, newWidths, tableSize);\n      resizing.resizeTable(tableSize.adjustTableWidth, clampedStep, isLastColumn);\n    };\n    var adjustHeight = function (table, delta, index, direction) {\n      var warehouse = Warehouse.fromTable(table);\n      var heights = getPixelHeights(warehouse, table, direction);\n      var newHeights = map$1(heights, function (dy, i) {\n        return index === i ? Math.max(delta + dy, minHeight()) : dy;\n      });\n      var newCellSizes = recalculateHeightForCells(warehouse, newHeights);\n      var newRowSizes = matchRowHeight(warehouse, newHeights);\n      each$2(newRowSizes, function (row) {\n        setHeight(row.element, row.height);\n      });\n      each$2(newCellSizes, function (cell) {\n        setHeight(cell.element, cell.height);\n      });\n      var total = sumUp(newHeights);\n      setHeight(table, total);\n    };\n    var adjustAndRedistributeWidths$1 = function (_table, list, details, tableSize, resizeBehaviour) {\n      var warehouse = Warehouse.generate(list);\n      var sizes = tableSize.getWidths(warehouse, tableSize);\n      var tablePixelWidth = tableSize.pixelWidth();\n      var _a = resizeBehaviour.calcRedestributedWidths(sizes, tablePixelWidth, details.pixelDelta, tableSize.isRelative), newSizes = _a.newSizes, delta = _a.delta;\n      recalculateAndApply(warehouse, newSizes, tableSize);\n      tableSize.adjustTableWidth(delta);\n    };\n    var adjustWidthTo = function (_table, list, _info, tableSize) {\n      var warehouse = Warehouse.generate(list);\n      var widths = tableSize.getWidths(warehouse, tableSize);\n      recalculateAndApply(warehouse, widths, tableSize);\n    };\n\n    var zero = function (array) {\n      return map$1(array, constant(0));\n    };\n    var surround = function (sizes, startIndex, endIndex, results, f) {\n      return f(sizes.slice(0, startIndex)).concat(results).concat(f(sizes.slice(endIndex)));\n    };\n    var clampDeltaHelper = function (predicate) {\n      return function (sizes, index, delta, minCellSize) {\n        if (!predicate(delta)) {\n          return delta;\n        } else {\n          var newSize = Math.max(minCellSize, sizes[index] - Math.abs(delta));\n          var diff = Math.abs(newSize - sizes[index]);\n          return delta >= 0 ? diff : -diff;\n        }\n      };\n    };\n    var clampNegativeDelta = clampDeltaHelper(function (delta) {\n      return delta < 0;\n    });\n    var clampDelta = clampDeltaHelper(always);\n    var resizeTable = function () {\n      var calcFixedDeltas = function (sizes, index, next, delta, minCellSize) {\n        var clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n        return surround(sizes, index, next + 1, [\n          clampedDelta,\n          0\n        ], zero);\n      };\n      var calcRelativeDeltas = function (sizes, index, delta, minCellSize) {\n        var ratio = (100 + delta) / 100;\n        var newThis = Math.max(minCellSize, (sizes[index] + delta) / ratio);\n        return map$1(sizes, function (size, idx) {\n          var newSize = idx === index ? newThis : size / ratio;\n          return newSize - size;\n        });\n      };\n      var calcLeftEdgeDeltas = function (sizes, index, next, delta, minCellSize, isRelative) {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          return calcFixedDeltas(sizes, index, next, delta, minCellSize);\n        }\n      };\n      var calcMiddleDeltas = function (sizes, _prev, index, next, delta, minCellSize, isRelative) {\n        return calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize, isRelative);\n      };\n      var resizeTable = function (resizer, delta) {\n        return resizer(delta);\n      };\n      var calcRightEdgeDeltas = function (sizes, _prev, index, delta, minCellSize, isRelative) {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          var clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n          return zero(sizes.slice(0, index)).concat([clampedDelta]);\n        }\n      };\n      var calcRedestributedWidths = function (sizes, totalWidth, pixelDelta, isRelative) {\n        if (isRelative) {\n          var tableWidth = totalWidth + pixelDelta;\n          var ratio_1 = tableWidth / totalWidth;\n          var newSizes = map$1(sizes, function (size) {\n            return size / ratio_1;\n          });\n          return {\n            delta: ratio_1 * 100 - 100,\n            newSizes: newSizes\n          };\n        } else {\n          return {\n            delta: pixelDelta,\n            newSizes: sizes\n          };\n        }\n      };\n      return {\n        resizeTable: resizeTable,\n        clampTableDelta: clampNegativeDelta,\n        calcLeftEdgeDeltas: calcLeftEdgeDeltas,\n        calcMiddleDeltas: calcMiddleDeltas,\n        calcRightEdgeDeltas: calcRightEdgeDeltas,\n        calcRedestributedWidths: calcRedestributedWidths\n      };\n    };\n    var preserveTable = function () {\n      var calcLeftEdgeDeltas = function (sizes, index, next, delta, minCellSize) {\n        var idx = delta >= 0 ? next : index;\n        var clampedDelta = clampDelta(sizes, idx, delta, minCellSize);\n        return surround(sizes, index, next + 1, [\n          clampedDelta,\n          -clampedDelta\n        ], zero);\n      };\n      var calcMiddleDeltas = function (sizes, _prev, index, next, delta, minCellSize) {\n        return calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize);\n      };\n      var resizeTable = function (resizer, delta, isLastColumn) {\n        if (isLastColumn) {\n          resizer(delta);\n        }\n      };\n      var calcRightEdgeDeltas = function (sizes, _prev, _index, delta, _minCellSize, isRelative) {\n        if (isRelative) {\n          return zero(sizes);\n        } else {\n          var diff = delta / sizes.length;\n          return map$1(sizes, constant(diff));\n        }\n      };\n      var clampTableDelta = function (sizes, index, delta, minCellSize, isLastColumn) {\n        if (isLastColumn) {\n          if (delta >= 0) {\n            return delta;\n          } else {\n            var maxDelta = foldl(sizes, function (a, b) {\n              return a + b - minCellSize;\n            }, 0);\n            return Math.max(-maxDelta, delta);\n          }\n        } else {\n          return clampNegativeDelta(sizes, index, delta, minCellSize);\n        }\n      };\n      var calcRedestributedWidths = function (sizes, _totalWidth, _pixelDelta, _isRelative) {\n        return {\n          delta: 0,\n          newSizes: sizes\n        };\n      };\n      return {\n        resizeTable: resizeTable,\n        clampTableDelta: clampTableDelta,\n        calcLeftEdgeDeltas: calcLeftEdgeDeltas,\n        calcMiddleDeltas: calcMiddleDeltas,\n        calcRightEdgeDeltas: calcRightEdgeDeltas,\n        calcRedestributedWidths: calcRedestributedWidths\n      };\n    };\n\n    var only = function (element, isResizable) {\n      var parent = Optional.from(element.dom.documentElement).map(SugarElement.fromDom).getOr(element);\n      return {\n        parent: constant(parent),\n        view: constant(element),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable: isResizable\n      };\n    };\n    var detached = function (editable, chrome, isResizable) {\n      var origin = function () {\n        return absolute(chrome);\n      };\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: origin,\n        isResizable: isResizable\n      };\n    };\n    var body = function (editable, chrome, isResizable) {\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable: isResizable\n      };\n    };\n    var ResizeWire = {\n      only: only,\n      detached: detached,\n      body: body\n    };\n\n    var adt$6 = Adt.generate([\n      { invalid: ['raw'] },\n      { pixels: ['value'] },\n      { percent: ['value'] }\n    ]);\n    var validateFor = function (suffix, type, value) {\n      var rawAmount = value.substring(0, value.length - suffix.length);\n      var amount = parseFloat(rawAmount);\n      return rawAmount === amount.toString() ? type(amount) : adt$6.invalid(value);\n    };\n    var from = function (value) {\n      if (endsWith(value, '%')) {\n        return validateFor('%', adt$6.percent, value);\n      }\n      if (endsWith(value, 'px')) {\n        return validateFor('px', adt$6.pixels, value);\n      }\n      return adt$6.invalid(value);\n    };\n    var Size = __assign(__assign({}, adt$6), { from: from });\n\n    var redistributeToPercent = function (widths, totalWidth) {\n      return map$1(widths, function (w) {\n        var colType = Size.from(w);\n        return colType.fold(function () {\n          return w;\n        }, function (px) {\n          var ratio = px / totalWidth * 100;\n          return ratio + '%';\n        }, function (pc) {\n          return pc + '%';\n        });\n      });\n    };\n    var redistributeToPx = function (widths, totalWidth, newTotalWidth) {\n      var scale = newTotalWidth / totalWidth;\n      return map$1(widths, function (w) {\n        var colType = Size.from(w);\n        return colType.fold(function () {\n          return w;\n        }, function (px) {\n          return px * scale + 'px';\n        }, function (pc) {\n          return pc / 100 * newTotalWidth + 'px';\n        });\n      });\n    };\n    var redistributeEmpty = function (newWidthType, columns) {\n      var f = newWidthType.fold(function () {\n        return constant('');\n      }, function (pixels) {\n        var num = pixels / columns;\n        return constant(num + 'px');\n      }, function () {\n        var num = 100 / columns;\n        return constant(num + '%');\n      });\n      return range$1(columns, f);\n    };\n    var redistributeValues = function (newWidthType, widths, totalWidth) {\n      return newWidthType.fold(function () {\n        return widths;\n      }, function (px) {\n        return redistributeToPx(widths, totalWidth, px);\n      }, function (_pc) {\n        return redistributeToPercent(widths, totalWidth);\n      });\n    };\n    var redistribute$1 = function (widths, totalWidth, newWidth) {\n      var newType = Size.from(newWidth);\n      var floats = forall(widths, function (s) {\n        return s === '0px';\n      }) ? redistributeEmpty(newType, widths.length) : redistributeValues(newType, widths, totalWidth);\n      return normalize(floats);\n    };\n    var sum = function (values, fallback) {\n      if (values.length === 0) {\n        return fallback;\n      }\n      return foldr(values, function (rest, v) {\n        return Size.from(v).fold(constant(0), identity, identity) + rest;\n      }, 0);\n    };\n    var roundDown = function (num, unit) {\n      var floored = Math.floor(num);\n      return {\n        value: floored + unit,\n        remainder: num - floored\n      };\n    };\n    var add$3 = function (value, amount) {\n      return Size.from(value).fold(constant(value), function (px) {\n        return px + amount + 'px';\n      }, function (pc) {\n        return pc + amount + '%';\n      });\n    };\n    var normalize = function (values) {\n      if (values.length === 0) {\n        return values;\n      }\n      var scan = foldr(values, function (rest, value) {\n        var info = Size.from(value).fold(function () {\n          return {\n            value: value,\n            remainder: 0\n          };\n        }, function (num) {\n          return roundDown(num, 'px');\n        }, function (num) {\n          return {\n            value: num + '%',\n            remainder: 0\n          };\n        });\n        return {\n          output: [info.value].concat(rest.output),\n          remainder: rest.remainder + info.remainder\n        };\n      }, {\n        output: [],\n        remainder: 0\n      });\n      var r = scan.output;\n      return r.slice(0, r.length - 1).concat([add$3(r[r.length - 1], Math.round(scan.remainder))]);\n    };\n    var validate = Size.from;\n\n    var redistributeToW = function (newWidths, cells, unit) {\n      each$2(cells, function (cell) {\n        var widths = newWidths.slice(cell.column, cell.colspan + cell.column);\n        var w = sum(widths, minWidth());\n        set$1(cell.element, 'width', w + unit);\n      });\n    };\n    var redistributeToColumns = function (newWidths, columns, unit) {\n      each$2(columns, function (column, index) {\n        var width = sum([newWidths[index]], minWidth());\n        set$1(column.element, 'width', width + unit);\n      });\n    };\n    var redistributeToH = function (newHeights, rows, cells, unit) {\n      each$2(cells, function (cell) {\n        var heights = newHeights.slice(cell.row, cell.rowspan + cell.row);\n        var h = sum(heights, minHeight());\n        set$1(cell.element, 'height', h + unit);\n      });\n      each$2(rows, function (row, i) {\n        set$1(row.element, 'height', newHeights[i]);\n      });\n    };\n    var getUnit = function (newSize) {\n      return validate(newSize).fold(constant('px'), constant('px'), constant('%'));\n    };\n    var redistribute = function (table, optWidth, optHeight) {\n      var warehouse = Warehouse.fromTable(table);\n      var rows = warehouse.all;\n      var cells = Warehouse.justCells(warehouse);\n      var columns = Warehouse.justColumns(warehouse);\n      optWidth.each(function (newWidth) {\n        var widthUnit = getUnit(newWidth);\n        var totalWidth = get$8(table);\n        var oldWidths = getRawWidths(warehouse, table);\n        var nuWidths = redistribute$1(oldWidths, totalWidth, newWidth);\n        if (Warehouse.hasColumns(warehouse)) {\n          redistributeToColumns(nuWidths, columns, widthUnit);\n        } else {\n          redistributeToW(nuWidths, cells, widthUnit);\n        }\n        set$1(table, 'width', newWidth);\n      });\n      optHeight.each(function (newHeight) {\n        var hUnit = getUnit(newHeight);\n        var totalHeight = get$7(table);\n        var oldHeights = getRawHeights(warehouse, table, height);\n        var nuHeights = redistribute$1(oldHeights, totalHeight, newHeight);\n        redistributeToH(nuHeights, rows, cells, hUnit);\n        set$1(table, 'height', newHeight);\n      });\n    };\n    var isPercentSizing = isPercentSizing$1;\n    var isPixelSizing = isPixelSizing$1;\n    var isNoneSizing = isNoneSizing$1;\n\n    var getGridSize = function (table) {\n      var warehouse = Warehouse.fromTable(table);\n      return warehouse.grid;\n    };\n\n    var Event = function (fields) {\n      var handlers = [];\n      var bind = function (handler) {\n        if (handler === undefined) {\n          throw new Error('Event bind error: undefined handler');\n        }\n        handlers.push(handler);\n      };\n      var unbind = function (handler) {\n        handlers = filter$2(handlers, function (h) {\n          return h !== handler;\n        });\n      };\n      var trigger = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        var event = {};\n        each$2(fields, function (name, i) {\n          event[name] = args[i];\n        });\n        each$2(handlers, function (handler) {\n          handler(event);\n        });\n      };\n      return {\n        bind: bind,\n        unbind: unbind,\n        trigger: trigger\n      };\n    };\n\n    var create$4 = function (typeDefs) {\n      var registry = map(typeDefs, function (event) {\n        return {\n          bind: event.bind,\n          unbind: event.unbind\n        };\n      });\n      var trigger = map(typeDefs, function (event) {\n        return event.trigger;\n      });\n      return {\n        registry: registry,\n        trigger: trigger\n      };\n    };\n\n    var last = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        cancel();\n        timer = setTimeout(function () {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n\n    var sort = function (arr) {\n      return arr.slice(0).sort();\n    };\n    var reqMessage = function (required, keys) {\n      throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.');\n    };\n    var unsuppMessage = function (unsupported) {\n      throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', '));\n    };\n    var validateStrArr = function (label, array) {\n      if (!isArray(array)) {\n        throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');\n      }\n      each$2(array, function (a) {\n        if (!isString(a)) {\n          throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');\n        }\n      });\n    };\n    var invalidTypeMessage = function (incorrect, type) {\n      throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.');\n    };\n    var checkDupes = function (everything) {\n      var sorted = sort(everything);\n      var dupe = find$1(sorted, function (s, i) {\n        return i < sorted.length - 1 && s === sorted[i + 1];\n      });\n      dupe.each(function (d) {\n        throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');\n      });\n    };\n\n    var base = function (handleUnsupported, required) {\n      return baseWith(handleUnsupported, required, {\n        validate: isFunction,\n        label: 'function'\n      });\n    };\n    var baseWith = function (handleUnsupported, required, pred) {\n      if (required.length === 0) {\n        throw new Error('You must specify at least one required field.');\n      }\n      validateStrArr('required', required);\n      checkDupes(required);\n      return function (obj) {\n        var keys$1 = keys(obj);\n        var allReqd = forall(required, function (req) {\n          return contains$2(keys$1, req);\n        });\n        if (!allReqd) {\n          reqMessage(required, keys$1);\n        }\n        handleUnsupported(required, keys$1);\n        var invalidKeys = filter$2(required, function (key) {\n          return !pred.validate(obj[key], key);\n        });\n        if (invalidKeys.length > 0) {\n          invalidTypeMessage(invalidKeys, pred.label);\n        }\n        return obj;\n      };\n    };\n    var handleExact = function (required, keys) {\n      var unsupported = filter$2(keys, function (key) {\n        return !contains$2(required, key);\n      });\n      if (unsupported.length > 0) {\n        unsuppMessage(unsupported);\n      }\n    };\n    var exactly = function (required) {\n      return base(handleExact, required);\n    };\n\n    var DragMode = exactly([\n      'compare',\n      'extract',\n      'mutate',\n      'sink'\n    ]);\n    var DragSink = exactly([\n      'element',\n      'start',\n      'stop',\n      'destroy'\n    ]);\n    var DragApi = exactly([\n      'forceDrop',\n      'drop',\n      'move',\n      'delayDrop'\n    ]);\n\n    var InDrag = function () {\n      var previous = Optional.none();\n      var reset = function () {\n        previous = Optional.none();\n      };\n      var update = function (mode, nu) {\n        var result = previous.map(function (old) {\n          return mode.compare(old, nu);\n        });\n        previous = Optional.some(nu);\n        return result;\n      };\n      var onEvent = function (event, mode) {\n        var dataOption = mode.extract(event);\n        dataOption.each(function (data) {\n          var offset = update(mode, data);\n          offset.each(function (d) {\n            events.trigger.move(d);\n          });\n        });\n      };\n      var events = create$4({ move: Event(['info']) });\n      return {\n        onEvent: onEvent,\n        reset: reset,\n        events: events.registry\n      };\n    };\n\n    var NoDrag = function () {\n      var events = create$4({ move: Event(['info']) });\n      return {\n        onEvent: noop,\n        reset: noop,\n        events: events.registry\n      };\n    };\n\n    var Movement = function () {\n      var noDragState = NoDrag();\n      var inDragState = InDrag();\n      var dragState = noDragState;\n      var on = function () {\n        dragState.reset();\n        dragState = inDragState;\n      };\n      var off = function () {\n        dragState.reset();\n        dragState = noDragState;\n      };\n      var onEvent = function (event, mode) {\n        dragState.onEvent(event, mode);\n      };\n      var isOn = function () {\n        return dragState === inDragState;\n      };\n      return {\n        on: on,\n        off: off,\n        isOn: isOn,\n        onEvent: onEvent,\n        events: inDragState.events\n      };\n    };\n\n    var setup = function (mutation, mode, settings) {\n      var active = false;\n      var events = create$4({\n        start: Event([]),\n        stop: Event([])\n      });\n      var movement = Movement();\n      var drop = function () {\n        sink.stop();\n        if (movement.isOn()) {\n          movement.off();\n          events.trigger.stop();\n        }\n      };\n      var throttledDrop = last(drop, 200);\n      var go = function (parent) {\n        sink.start(parent);\n        movement.on();\n        events.trigger.start();\n      };\n      var mousemove = function (event) {\n        throttledDrop.cancel();\n        movement.onEvent(event, mode);\n      };\n      movement.events.move.bind(function (event) {\n        mode.mutate(mutation, event.info);\n      });\n      var on = function () {\n        active = true;\n      };\n      var off = function () {\n        active = false;\n      };\n      var runIfActive = function (f) {\n        return function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          if (active) {\n            f.apply(null, args);\n          }\n        };\n      };\n      var sink = mode.sink(DragApi({\n        forceDrop: drop,\n        drop: runIfActive(drop),\n        move: runIfActive(mousemove),\n        delayDrop: runIfActive(throttledDrop.throttle)\n      }), settings);\n      var destroy = function () {\n        sink.destroy();\n      };\n      return {\n        element: sink.element,\n        go: go,\n        on: on,\n        off: off,\n        destroy: destroy,\n        events: events.registry\n      };\n    };\n\n    var mkEvent = function (target, x, y, stop, prevent, kill, raw) {\n      return {\n        target: target,\n        x: x,\n        y: y,\n        stop: stop,\n        prevent: prevent,\n        kill: kill,\n        raw: raw\n      };\n    };\n    var fromRawEvent$1 = function (rawEvent) {\n      var target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      var stop = function () {\n        return rawEvent.stopPropagation();\n      };\n      var prevent = function () {\n        return rawEvent.preventDefault();\n      };\n      var kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    var handle$2 = function (filter, handler) {\n      return function (rawEvent) {\n        if (filter(rawEvent)) {\n          handler(fromRawEvent$1(rawEvent));\n        }\n      };\n    };\n    var binder = function (element, event, filter, handler, useCapture) {\n      var wrapped = handle$2(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return { unbind: curry(unbind, element, event, wrapped, useCapture) };\n    };\n    var bind$1 = function (element, event, filter, handler) {\n      return binder(element, event, filter, handler, false);\n    };\n    var unbind = function (element, event, handler, useCapture) {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    var filter = always;\n    var bind = function (element, event, handler) {\n      return bind$1(element, event, filter, handler);\n    };\n    var fromRawEvent = fromRawEvent$1;\n\n    var read = function (element, attr) {\n      var value = get$b(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    var add$2 = function (element, attr, id) {\n      var old = read(element, attr);\n      var nu = old.concat([id]);\n      set$2(element, attr, nu.join(' '));\n      return true;\n    };\n    var remove$4 = function (element, attr, id) {\n      var nu = filter$2(read(element, attr), function (v) {\n        return v !== id;\n      });\n      if (nu.length > 0) {\n        set$2(element, attr, nu.join(' '));\n      } else {\n        remove$7(element, attr);\n      }\n      return false;\n    };\n\n    var supports = function (element) {\n      return element.dom.classList !== undefined;\n    };\n    var get$5 = function (element) {\n      return read(element, 'class');\n    };\n    var add$1 = function (element, clazz) {\n      return add$2(element, 'class', clazz);\n    };\n    var remove$3 = function (element, clazz) {\n      return remove$4(element, 'class', clazz);\n    };\n\n    var add = function (element, clazz) {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    var cleanClass = function (element) {\n      var classList = supports(element) ? element.dom.classList : get$5(element);\n      if (classList.length === 0) {\n        remove$7(element, 'class');\n      }\n    };\n    var remove$2 = function (element, clazz) {\n      if (supports(element)) {\n        var classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    var has = function (element, clazz) {\n      return supports(element) && element.dom.classList.contains(clazz);\n    };\n\n    var css = function (namespace) {\n      var dashNamespace = namespace.replace(/\\./g, '-');\n      var resolve = function (str) {\n        return dashNamespace + '-' + str;\n      };\n      return { resolve: resolve };\n    };\n\n    var styles$1 = css('ephox-dragster');\n    var resolve$1 = styles$1.resolve;\n\n    var Blocker = function (options) {\n      var settings = __assign({ layerClass: resolve$1('blocker') }, options);\n      var div = SugarElement.fromTag('div');\n      set$2(div, 'role', 'presentation');\n      setAll(div, {\n        position: 'fixed',\n        left: '0px',\n        top: '0px',\n        width: '100%',\n        height: '100%'\n      });\n      add(div, resolve$1('blocker'));\n      add(div, settings.layerClass);\n      var element = constant(div);\n      var destroy = function () {\n        remove$5(div);\n      };\n      return {\n        element: element,\n        destroy: destroy\n      };\n    };\n\n    var compare = function (old, nu) {\n      return SugarPosition(nu.left - old.left, nu.top - old.top);\n    };\n    var extract = function (event) {\n      return Optional.some(SugarPosition(event.x, event.y));\n    };\n    var mutate = function (mutation, info) {\n      mutation.mutate(info.left, info.top);\n    };\n    var sink = function (dragApi, settings) {\n      var blocker = Blocker(settings);\n      var mdown = bind(blocker.element(), 'mousedown', dragApi.forceDrop);\n      var mup = bind(blocker.element(), 'mouseup', dragApi.drop);\n      var mmove = bind(blocker.element(), 'mousemove', dragApi.move);\n      var mout = bind(blocker.element(), 'mouseout', dragApi.delayDrop);\n      var destroy = function () {\n        blocker.destroy();\n        mup.unbind();\n        mmove.unbind();\n        mout.unbind();\n        mdown.unbind();\n      };\n      var start = function (parent) {\n        append$1(parent, blocker.element());\n      };\n      var stop = function () {\n        remove$5(blocker.element());\n      };\n      return DragSink({\n        element: blocker.element,\n        start: start,\n        stop: stop,\n        destroy: destroy\n      });\n    };\n    var MouseDrag = DragMode({\n      compare: compare,\n      extract: extract,\n      sink: sink,\n      mutate: mutate\n    });\n\n    var transform$1 = function (mutation, settings) {\n      if (settings === void 0) {\n        settings = {};\n      }\n      var mode = settings.mode !== undefined ? settings.mode : MouseDrag;\n      return setup(mutation, mode, settings);\n    };\n\n    var closest = function (target) {\n      return closest$1(target, '[contenteditable]');\n    };\n    var isEditable$1 = function (element, assumeEditable) {\n      if (assumeEditable === void 0) {\n        assumeEditable = false;\n      }\n      if (!detect$3().browser.isIE() && inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), function (editable) {\n          return getRaw(editable) === 'true';\n        });\n      }\n    };\n    var getRaw = function (element) {\n      return element.dom.contentEditable;\n    };\n\n    var styles = css('ephox-snooker');\n    var resolve = styles.resolve;\n\n    var Mutation = function () {\n      var events = create$4({\n        drag: Event([\n          'xDelta',\n          'yDelta'\n        ])\n      });\n      var mutate = function (x, y) {\n        events.trigger.drag(x, y);\n      };\n      return {\n        mutate: mutate,\n        events: events.registry\n      };\n    };\n\n    var BarMutation = function () {\n      var events = create$4({\n        drag: Event([\n          'xDelta',\n          'yDelta',\n          'target'\n        ])\n      });\n      var target = Optional.none();\n      var delegate = Mutation();\n      delegate.events.drag.bind(function (event) {\n        target.each(function (t) {\n          events.trigger.drag(event.xDelta, event.yDelta, t);\n        });\n      });\n      var assign = function (t) {\n        target = Optional.some(t);\n      };\n      var get = function () {\n        return target;\n      };\n      return {\n        assign: assign,\n        get: get,\n        mutate: delegate.mutate,\n        events: events.registry\n      };\n    };\n\n    var col = function (column, x, y, w, h) {\n      var bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x - w / 2 + 'px',\n        top: y + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-column': column,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n    var row = function (r, x, y, w, h) {\n      var bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x + 'px',\n        top: y - h / 2 + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-row': r,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n\n    var resizeBar = resolve('resizer-bar');\n    var resizeRowBar = resolve('resizer-rows');\n    var resizeColBar = resolve('resizer-cols');\n    var BAR_THICKNESS = 7;\n    var resizableRows = function (warehouse, isResizable) {\n      return bind$2(warehouse.all, function (row, i) {\n        return isResizable(row.element) ? [i] : [];\n      });\n    };\n    var resizableColumns = function (warehouse, isResizable) {\n      var resizableCols = [];\n      range$1(warehouse.grid.columns, function (index) {\n        var colElmOpt = Warehouse.getColumnAt(warehouse, index).map(function (col) {\n          return col.element;\n        });\n        if (colElmOpt.forall(isResizable)) {\n          resizableCols.push(index);\n        }\n      });\n      return filter$2(resizableCols, function (colIndex) {\n        var columnCells = Warehouse.filterItems(warehouse, function (cell) {\n          return cell.column === colIndex;\n        });\n        return forall(columnCells, function (cell) {\n          return isResizable(cell.element);\n        });\n      });\n    };\n    var destroy = function (wire) {\n      var previous = descendants(wire.parent(), '.' + resizeBar);\n      each$2(previous, remove$5);\n    };\n    var drawBar = function (wire, positions, create) {\n      var origin = wire.origin();\n      each$2(positions, function (cpOption) {\n        cpOption.each(function (cp) {\n          var bar = create(origin, cp);\n          add(bar, resizeBar);\n          append$1(wire.parent(), bar);\n        });\n      });\n    };\n    var refreshCol = function (wire, colPositions, position, tableHeight) {\n      drawBar(wire, colPositions, function (origin, cp) {\n        var colBar = col(cp.col, cp.x - origin.left, position.top - origin.top, BAR_THICKNESS, tableHeight);\n        add(colBar, resizeColBar);\n        return colBar;\n      });\n    };\n    var refreshRow = function (wire, rowPositions, position, tableWidth) {\n      drawBar(wire, rowPositions, function (origin, cp) {\n        var rowBar = row(cp.row, position.left - origin.left, cp.y - origin.top, tableWidth, BAR_THICKNESS);\n        add(rowBar, resizeRowBar);\n        return rowBar;\n      });\n    };\n    var refreshGrid = function (warhouse, wire, table, rows, cols) {\n      var position = absolute(table);\n      var isResizable = wire.isResizable;\n      var rowPositions = rows.length > 0 ? height.positions(rows, table) : [];\n      var resizableRowBars = rowPositions.length > 0 ? resizableRows(warhouse, isResizable) : [];\n      var resizableRowPositions = filter$2(rowPositions, function (_pos, i) {\n        return exists(resizableRowBars, function (barIndex) {\n          return i === barIndex;\n        });\n      });\n      refreshRow(wire, resizableRowPositions, position, getOuter$2(table));\n      var colPositions = cols.length > 0 ? width.positions(cols, table) : [];\n      var resizableColBars = colPositions.length > 0 ? resizableColumns(warhouse, isResizable) : [];\n      var resizableColPositions = filter$2(colPositions, function (_pos, i) {\n        return exists(resizableColBars, function (barIndex) {\n          return i === barIndex;\n        });\n      });\n      refreshCol(wire, resizableColPositions, position, getOuter$1(table));\n    };\n    var refresh = function (wire, table) {\n      destroy(wire);\n      if (wire.isResizable(table)) {\n        var warehouse = Warehouse.fromTable(table);\n        var rows$1 = rows(warehouse);\n        var cols = columns(warehouse);\n        refreshGrid(warehouse, wire, table, rows$1, cols);\n      }\n    };\n    var each = function (wire, f) {\n      var bars = descendants(wire.parent(), '.' + resizeBar);\n      each$2(bars, f);\n    };\n    var hide = function (wire) {\n      each(wire, function (bar) {\n        set$1(bar, 'display', 'none');\n      });\n    };\n    var show = function (wire) {\n      each(wire, function (bar) {\n        set$1(bar, 'display', 'block');\n      });\n    };\n    var isRowBar = function (element) {\n      return has(element, resizeRowBar);\n    };\n    var isColBar = function (element) {\n      return has(element, resizeColBar);\n    };\n\n    var resizeBarDragging = resolve('resizer-bar-dragging');\n    var BarManager = function (wire) {\n      var mutation = BarMutation();\n      var resizing = transform$1(mutation, {});\n      var hoverTable = Optional.none();\n      var getResizer = function (element, type) {\n        return Optional.from(get$b(element, type));\n      };\n      mutation.events.drag.bind(function (event) {\n        getResizer(event.target, 'data-row').each(function (_dataRow) {\n          var currentRow = getCssValue(event.target, 'top');\n          set$1(event.target, 'top', currentRow + event.yDelta + 'px');\n        });\n        getResizer(event.target, 'data-column').each(function (_dataCol) {\n          var currentCol = getCssValue(event.target, 'left');\n          set$1(event.target, 'left', currentCol + event.xDelta + 'px');\n        });\n      });\n      var getDelta = function (target, dir) {\n        var newX = getCssValue(target, dir);\n        var oldX = getAttrValue(target, 'data-initial-' + dir, 0);\n        return newX - oldX;\n      };\n      resizing.events.stop.bind(function () {\n        mutation.get().each(function (target) {\n          hoverTable.each(function (table) {\n            getResizer(target, 'data-row').each(function (row) {\n              var delta = getDelta(target, 'top');\n              remove$7(target, 'data-initial-top');\n              events.trigger.adjustHeight(table, delta, parseInt(row, 10));\n            });\n            getResizer(target, 'data-column').each(function (column) {\n              var delta = getDelta(target, 'left');\n              remove$7(target, 'data-initial-left');\n              events.trigger.adjustWidth(table, delta, parseInt(column, 10));\n            });\n            refresh(wire, table);\n          });\n        });\n      });\n      var handler = function (target, dir) {\n        events.trigger.startAdjust();\n        mutation.assign(target);\n        set$2(target, 'data-initial-' + dir, getCssValue(target, dir));\n        add(target, resizeBarDragging);\n        set$1(target, 'opacity', '0.2');\n        resizing.go(wire.parent());\n      };\n      var mousedown = bind(wire.parent(), 'mousedown', function (event) {\n        if (isRowBar(event.target)) {\n          handler(event.target, 'top');\n        }\n        if (isColBar(event.target)) {\n          handler(event.target, 'left');\n        }\n      });\n      var isRoot = function (e) {\n        return eq$1(e, wire.view());\n      };\n      var findClosestEditableTable = function (target) {\n        return closest$1(target, 'table', isRoot).filter(isEditable$1);\n      };\n      var mouseover = bind(wire.view(), 'mouseover', function (event) {\n        findClosestEditableTable(event.target).fold(function () {\n          if (inBody(event.target)) {\n            destroy(wire);\n          }\n        }, function (table) {\n          hoverTable = Optional.some(table);\n          refresh(wire, table);\n        });\n      });\n      var destroy$1 = function () {\n        mousedown.unbind();\n        mouseover.unbind();\n        resizing.destroy();\n        destroy(wire);\n      };\n      var refresh$1 = function (tbl) {\n        refresh(wire, tbl);\n      };\n      var events = create$4({\n        adjustHeight: Event([\n          'table',\n          'delta',\n          'row'\n        ]),\n        adjustWidth: Event([\n          'table',\n          'delta',\n          'column'\n        ]),\n        startAdjust: Event([])\n      });\n      return {\n        destroy: destroy$1,\n        refresh: refresh$1,\n        on: resizing.on,\n        off: resizing.off,\n        hideBars: curry(hide, wire),\n        showBars: curry(show, wire),\n        events: events.registry\n      };\n    };\n\n    var create$3 = function (wire, resizing, lazySizing) {\n      var hdirection = height;\n      var vdirection = width;\n      var manager = BarManager(wire);\n      var events = create$4({\n        beforeResize: Event([\n          'table',\n          'type'\n        ]),\n        afterResize: Event([\n          'table',\n          'type'\n        ]),\n        startDrag: Event([])\n      });\n      manager.events.adjustHeight.bind(function (event) {\n        var table = event.table;\n        events.trigger.beforeResize(table, 'row');\n        var delta = hdirection.delta(event.delta, table);\n        adjustHeight(table, delta, event.row, hdirection);\n        events.trigger.afterResize(table, 'row');\n      });\n      manager.events.startAdjust.bind(function (_event) {\n        events.trigger.startDrag();\n      });\n      manager.events.adjustWidth.bind(function (event) {\n        var table = event.table;\n        events.trigger.beforeResize(table, 'col');\n        var delta = vdirection.delta(event.delta, table);\n        var tableSize = lazySizing(table);\n        adjustWidth(table, delta, event.column, resizing, tableSize);\n        events.trigger.afterResize(table, 'col');\n      });\n      return {\n        on: manager.on,\n        off: manager.off,\n        hideBars: manager.hideBars,\n        showBars: manager.showBars,\n        destroy: manager.destroy,\n        events: events.registry\n      };\n    };\n    var TableResize = { create: create$3 };\n\n    var fireNewRow = function (editor, row) {\n      return editor.fire('newrow', { node: row });\n    };\n    var fireNewCell = function (editor, cell) {\n      return editor.fire('newcell', { node: cell });\n    };\n    var fireObjectResizeStart = function (editor, target, width, height, origin) {\n      editor.fire('ObjectResizeStart', {\n        target: target,\n        width: width,\n        height: height,\n        origin: origin\n      });\n    };\n    var fireObjectResized = function (editor, target, width, height, origin) {\n      editor.fire('ObjectResized', {\n        target: target,\n        width: width,\n        height: height,\n        origin: origin\n      });\n    };\n    var fireTableSelectionChange = function (editor, cells, start, finish, otherCells) {\n      editor.fire('TableSelectionChange', {\n        cells: cells,\n        start: start,\n        finish: finish,\n        otherCells: otherCells\n      });\n    };\n    var fireTableSelectionClear = function (editor) {\n      editor.fire('TableSelectionClear');\n    };\n    var fireTableModified = function (editor, table, data) {\n      editor.fire('TableModified', __assign(__assign({}, data), { table: table }));\n    };\n    var styleModified = {\n      structure: false,\n      style: true\n    };\n    var structureModified = {\n      structure: true,\n      style: false\n    };\n    var styleAndStructureModified = {\n      structure: true,\n      style: true\n    };\n\n    var defaultTableToolbar = 'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol';\n    var defaultStyles = {\n      'border-collapse': 'collapse',\n      'width': '100%'\n    };\n    var defaultCellBorderWidths = range$1(5, function (i) {\n      var size = i + 1 + 'px';\n      return {\n        title: size,\n        value: size\n      };\n    });\n    var defaultCellBorderStyles = map$1([\n      'Solid',\n      'Dotted',\n      'Dashed',\n      'Double',\n      'Groove',\n      'Ridge',\n      'Inset',\n      'Outset',\n      'None',\n      'Hidden'\n    ], function (type) {\n      return {\n        title: type,\n        value: type.toLowerCase()\n      };\n    });\n    var determineDefaultStyles = function (editor) {\n      var _a;\n      if (isPixelsForced(editor)) {\n        var dom = editor.dom;\n        var parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n        var contentWidth = getInner(SugarElement.fromDom(parentBlock));\n        return __assign(__assign({}, defaultStyles), { width: contentWidth + 'px' });\n      } else if (isResponsiveForced(editor)) {\n        return filter$1(defaultStyles, function (_value, key) {\n          return key !== 'width';\n        });\n      } else {\n        return defaultStyles;\n      }\n    };\n    var defaultAttributes = { border: '1' };\n    var defaultColumnResizingBehaviour = 'preservetable';\n    var getTableSizingMode = function (editor) {\n      return editor.getParam('table_sizing_mode', 'auto');\n    };\n    var getTableResponseWidth = function (editor) {\n      return editor.getParam('table_responsive_width');\n    };\n    var getTableBorderWidths = function (editor) {\n      return editor.getParam('table_border_widths', defaultCellBorderWidths, 'array');\n    };\n    var getTableBorderStyles = function (editor) {\n      return editor.getParam('table_border_styles', defaultCellBorderStyles, 'array');\n    };\n    var getDefaultAttributes = function (editor) {\n      return editor.getParam('table_default_attributes', defaultAttributes, 'object');\n    };\n    var getDefaultStyles = function (editor) {\n      return editor.getParam('table_default_styles', determineDefaultStyles(editor), 'object');\n    };\n    var hasTableResizeBars = function (editor) {\n      return editor.getParam('table_resize_bars', true, 'boolean');\n    };\n    var hasTabNavigation = function (editor) {\n      return editor.getParam('table_tab_navigation', true, 'boolean');\n    };\n    var hasAdvancedCellTab = function (editor) {\n      return editor.getParam('table_cell_advtab', true, 'boolean');\n    };\n    var hasAdvancedRowTab = function (editor) {\n      return editor.getParam('table_row_advtab', true, 'boolean');\n    };\n    var hasAdvancedTableTab = function (editor) {\n      return editor.getParam('table_advtab', true, 'boolean');\n    };\n    var hasAppearanceOptions = function (editor) {\n      return editor.getParam('table_appearance_options', true, 'boolean');\n    };\n    var hasTableGrid = function (editor) {\n      return editor.getParam('table_grid', true, 'boolean');\n    };\n    var shouldStyleWithCss = function (editor) {\n      return editor.getParam('table_style_by_css', false, 'boolean');\n    };\n    var getCellClassList = function (editor) {\n      return editor.getParam('table_cell_class_list', [], 'array');\n    };\n    var getRowClassList = function (editor) {\n      return editor.getParam('table_row_class_list', [], 'array');\n    };\n    var getTableClassList = function (editor) {\n      return editor.getParam('table_class_list', [], 'array');\n    };\n    var isPercentagesForced = function (editor) {\n      return getTableSizingMode(editor) === 'relative' || getTableResponseWidth(editor) === true;\n    };\n    var isPixelsForced = function (editor) {\n      return getTableSizingMode(editor) === 'fixed' || getTableResponseWidth(editor) === false;\n    };\n    var isResponsiveForced = function (editor) {\n      return getTableSizingMode(editor) === 'responsive';\n    };\n    var getToolbar = function (editor) {\n      return editor.getParam('table_toolbar', defaultTableToolbar);\n    };\n    var useColumnGroup = function (editor) {\n      return editor.getParam('table_use_colgroups', false, 'boolean');\n    };\n    var getTableHeaderType = function (editor) {\n      var defaultValue = 'section';\n      var value = editor.getParam('table_header_type', defaultValue, 'string');\n      var validValues = [\n        'section',\n        'cells',\n        'sectionCells',\n        'auto'\n      ];\n      if (!contains$2(validValues, value)) {\n        return defaultValue;\n      } else {\n        return value;\n      }\n    };\n    var getColumnResizingBehaviour = function (editor) {\n      var validModes = [\n        'preservetable',\n        'resizetable'\n      ];\n      var givenMode = editor.getParam('table_column_resizing', defaultColumnResizingBehaviour, 'string');\n      return find$1(validModes, function (mode) {\n        return mode === givenMode;\n      }).getOr(defaultColumnResizingBehaviour);\n    };\n    var isPreserveTableColumnResizing = function (editor) {\n      return getColumnResizingBehaviour(editor) === 'preservetable';\n    };\n    var isResizeTableColumnResizing = function (editor) {\n      return getColumnResizingBehaviour(editor) === 'resizetable';\n    };\n    var getCloneElements = function (editor) {\n      var cloneElements = editor.getParam('table_clone_elements');\n      if (isString(cloneElements)) {\n        return Optional.some(cloneElements.split(/[ ,]/));\n      } else if (Array.isArray(cloneElements)) {\n        return Optional.some(cloneElements);\n      } else {\n        return Optional.none();\n      }\n    };\n    var hasObjectResizing = function (editor) {\n      var objectResizing = editor.getParam('object_resizing', true);\n      return isString(objectResizing) ? objectResizing === 'table' : objectResizing;\n    };\n    var getTableBackgroundColorMap = function (editor) {\n      return editor.getParam('table_background_color_map', [], 'array');\n    };\n    var getTableBorderColorMap = function (editor) {\n      return editor.getParam('table_border_color_map', [], 'array');\n    };\n\n    var get$4 = function (editor, table) {\n      if (isPercentagesForced(editor)) {\n        return TableSize.percentageSize(table);\n      } else if (isPixelsForced(editor)) {\n        return TableSize.pixelSize(table);\n      } else {\n        return TableSize.getTableSize(table);\n      }\n    };\n\n    var cleanupLegacyAttributes = function (element) {\n      remove$7(element, 'width');\n    };\n    var convertToPercentSize = function (table) {\n      var newWidth = getPercentTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    var convertToPixelSize = function (table) {\n      var newWidth = getPixelTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    var convertToNoneSize = function (table) {\n      remove$6(table, 'width');\n      var columns = columns$1(table);\n      var rowElements = columns.length > 0 ? columns : cells$1(table);\n      each$2(rowElements, function (cell) {\n        remove$6(cell, 'width');\n        cleanupLegacyAttributes(cell);\n      });\n      cleanupLegacyAttributes(table);\n    };\n\n    var enforcePercentage = convertToPercentSize;\n    var enforcePixels = convertToPixelSize;\n    var enforceNone = convertToNoneSize;\n    var syncPixels = function (table) {\n      var warehouse = Warehouse.fromTable(table);\n      if (!Warehouse.hasColumns(warehouse)) {\n        each$2(cells$1(table), function (cell) {\n          var computedWidth = get$a(cell, 'width');\n          set$1(cell, 'width', computedWidth);\n          remove$7(cell, 'width');\n        });\n      }\n    };\n\n    var createContainer = function () {\n      var container = SugarElement.fromTag('div');\n      setAll(container, {\n        position: 'static',\n        height: '0',\n        width: '0',\n        padding: '0',\n        margin: '0',\n        border: '0'\n      });\n      append$1(body$1(), container);\n      return container;\n    };\n    var get$3 = function (editor, isResizable) {\n      return editor.inline ? ResizeWire.body(getBody(editor), createContainer(), isResizable) : ResizeWire.only(SugarElement.fromDom(editor.getDoc()), isResizable);\n    };\n    var remove$1 = function (editor, wire) {\n      if (editor.inline) {\n        remove$5(wire.parent());\n      }\n    };\n\n    var barResizerPrefix = 'bar-';\n    var isResizable = function (elm) {\n      return get$b(elm, 'data-mce-resize') !== 'false';\n    };\n    var getResizeHandler = function (editor) {\n      var selectionRng = Optional.none();\n      var resize = Optional.none();\n      var wire = Optional.none();\n      var startW;\n      var startRawW;\n      var isTable = function (elm) {\n        return elm.nodeName === 'TABLE';\n      };\n      var lazyResize = function () {\n        return resize;\n      };\n      var lazyWire = function () {\n        return wire.getOr(ResizeWire.only(SugarElement.fromDom(editor.getBody()), isResizable));\n      };\n      var lazySizing = function (table) {\n        return get$4(editor, table);\n      };\n      var lazyResizingBehaviour = function () {\n        return isPreserveTableColumnResizing(editor) ? preserveTable() : resizeTable();\n      };\n      var getNumColumns = function (table) {\n        return getGridSize(table).columns;\n      };\n      var afterCornerResize = function (table, origin, width) {\n        var isRightEdgeResize = endsWith(origin, 'e');\n        if (startRawW === '') {\n          enforcePercentage(table);\n        }\n        if (width !== startW && startRawW !== '') {\n          set$1(table, 'width', startRawW);\n          var resizing = lazyResizingBehaviour();\n          var tableSize = lazySizing(table);\n          var col = isPreserveTableColumnResizing(editor) || isRightEdgeResize ? getNumColumns(table) - 1 : 0;\n          adjustWidth(table, width - startW, col, resizing, tableSize);\n        } else if (isPercentage$1(startRawW)) {\n          var percentW = parseFloat(startRawW.replace('%', ''));\n          var targetPercentW = width * percentW / startW;\n          set$1(table, 'width', targetPercentW + '%');\n        }\n        if (isPixel(startRawW)) {\n          syncPixels(table);\n        }\n      };\n      var destroy = function () {\n        resize.each(function (sz) {\n          sz.destroy();\n        });\n        wire.each(function (w) {\n          remove$1(editor, w);\n        });\n      };\n      editor.on('init', function () {\n        var rawWire = get$3(editor, isResizable);\n        wire = Optional.some(rawWire);\n        if (hasObjectResizing(editor) && hasTableResizeBars(editor)) {\n          var resizing = lazyResizingBehaviour();\n          var sz = TableResize.create(rawWire, resizing, lazySizing);\n          sz.on();\n          sz.events.startDrag.bind(function (_event) {\n            selectionRng = Optional.some(editor.selection.getRng());\n          });\n          sz.events.beforeResize.bind(function (event) {\n            var rawTable = event.table.dom;\n            fireObjectResizeStart(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n          });\n          sz.events.afterResize.bind(function (event) {\n            var table = event.table;\n            var rawTable = table.dom;\n            removeDataStyle(table);\n            selectionRng.each(function (rng) {\n              editor.selection.setRng(rng);\n              editor.focus();\n            });\n            fireObjectResized(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n            editor.undoManager.add();\n          });\n          resize = Optional.some(sz);\n        }\n      });\n      editor.on('ObjectResizeStart', function (e) {\n        var targetElm = e.target;\n        if (isTable(targetElm)) {\n          var table = SugarElement.fromDom(targetElm);\n          each$2(editor.dom.select('.mce-clonedresizable'), function (clone) {\n            editor.dom.addClass(clone, 'mce-' + getColumnResizingBehaviour(editor) + '-columns');\n          });\n          if (!isPixelSizing(table) && isPixelsForced(editor)) {\n            enforcePixels(table);\n          } else if (!isPercentSizing(table) && isPercentagesForced(editor)) {\n            enforcePercentage(table);\n          }\n          if (isNoneSizing(table) && startsWith(e.origin, barResizerPrefix)) {\n            enforcePercentage(table);\n          }\n          startW = e.width;\n          startRawW = isResponsiveForced(editor) ? '' : getRawWidth(editor, targetElm).getOr('');\n        }\n      });\n      editor.on('ObjectResized', function (e) {\n        var targetElm = e.target;\n        if (isTable(targetElm)) {\n          var table = SugarElement.fromDom(targetElm);\n          var origin_1 = e.origin;\n          if (startsWith(origin_1, 'corner-')) {\n            afterCornerResize(table, origin_1, e.width);\n          }\n          removeDataStyle(table);\n          fireTableModified(editor, table.dom, styleModified);\n        }\n      });\n      editor.on('SwitchMode', function () {\n        lazyResize().each(function (resize) {\n          if (editor.mode.isReadOnly()) {\n            resize.hideBars();\n          } else {\n            resize.showBars();\n          }\n        });\n      });\n      return {\n        lazyResize: lazyResize,\n        lazyWire: lazyWire,\n        destroy: destroy\n      };\n    };\n\n    var point = function (element, offset) {\n      return {\n        element: element,\n        offset: offset\n      };\n    };\n\n    var scan$1 = function (universe, element, direction) {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(function (elem) {\n          return scan$1(universe, elem, direction).orThunk(function () {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    var toEnd = function (universe, element) {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      var children = universe.property().children(element);\n      return children.length;\n    };\n    var freefallRtl$2 = function (universe, element) {\n      var candidate = scan$1(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      var children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    var freefallRtl$1 = freefallRtl$2;\n\n    var universe$2 = DomUniverse();\n    var freefallRtl = function (element) {\n      return freefallRtl$1(universe$2, element);\n    };\n\n    var halve = function (main, other) {\n      var colspan = getSpan(main, 'colspan');\n      if (colspan === 1) {\n        var width = getGenericWidth(main);\n        width.each(function (w) {\n          var newWidth = w.value / 2;\n          setGenericWidth(main, newWidth, w.unit);\n          setGenericWidth(other, newWidth, w.unit);\n        });\n      }\n    };\n\n    var isHeaderCell = isTag('th');\n    var isHeaderCells = function (cells) {\n      return forall(cells, function (cell) {\n        return isHeaderCell(cell.element);\n      });\n    };\n    var getRowHeaderType = function (isHeaderRow, isHeaderCells) {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    var getRowType$1 = function (row) {\n      var isHeaderRow = row.section === 'thead';\n      var isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else if (row.section === 'tfoot') {\n        return { type: 'footer' };\n      } else {\n        return { type: 'body' };\n      }\n    };\n    var findCommonCellType = function (cells) {\n      var headerCells = filter$2(cells, function (cell) {\n        return isHeaderCell(cell.element);\n      });\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    var findCommonRowType = function (rows) {\n      var rowTypes = map$1(rows, function (row) {\n        return getRowType$1(row).type;\n      });\n      var hasHeader = contains$2(rowTypes, 'header');\n      var hasFooter = contains$2(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        var hasBody = contains$2(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n    var findTableRowHeaderType = function (warehouse) {\n      return findMap(warehouse.all, function (row) {\n        var rowType = getRowType$1(row);\n        return rowType.type === 'header' ? Optional.from(rowType.subType) : Optional.none();\n      });\n    };\n\n    var transformCell = function (cell, comparator, substitution) {\n      return elementnew(substitution(cell.element, comparator), true, cell.isLocked);\n    };\n    var transformRow = function (row, section) {\n      return row.section !== section ? rowcells(row.element, row.cells, section, row.isNew) : row;\n    };\n    var section = function () {\n      return {\n        transformRow: transformRow,\n        transformCell: function (cell, comparator, substitution) {\n          var newCell = substitution(cell.element, comparator);\n          var fixedCell = name(newCell) !== 'td' ? mutate$1(newCell, 'td') : newCell;\n          return elementnew(fixedCell, cell.isNew, cell.isLocked);\n        }\n      };\n    };\n    var sectionCells = function () {\n      return {\n        transformRow: transformRow,\n        transformCell: transformCell\n      };\n    };\n    var cells = function () {\n      return {\n        transformRow: function (row, section) {\n          var newSection = section === 'thead' ? 'tbody' : section;\n          return transformRow(row, newSection);\n        },\n        transformCell: transformCell\n      };\n    };\n    var fallback = function () {\n      return {\n        transformRow: identity,\n        transformCell: transformCell\n      };\n    };\n    var getTableSectionType = function (table, fallback) {\n      var warehouse = Warehouse.fromTable(table);\n      var type = findTableRowHeaderType(warehouse).getOr(fallback);\n      switch (type) {\n      case 'section':\n        return section();\n      case 'sectionCells':\n        return sectionCells();\n      case 'cells':\n        return cells();\n      }\n    };\n    var TableSection = {\n      getTableSectionType: getTableSectionType,\n      section: section,\n      sectionCells: sectionCells,\n      cells: cells,\n      fallback: fallback\n    };\n\n    var setIfNot = function (element, property, value, ignore) {\n      if (value === ignore) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, value);\n      }\n    };\n    var insert$1 = function (table, selector, element) {\n      last$2(children$1(table, selector)).fold(function () {\n        return prepend(table, element);\n      }, function (child) {\n        return after$5(child, element);\n      });\n    };\n    var generateSection = function (table, sectionName) {\n      var section = child$1(table, sectionName).getOrThunk(function () {\n        var newSection = SugarElement.fromTag(sectionName, owner(table).dom);\n        if (sectionName === 'thead') {\n          insert$1(table, 'caption,colgroup', newSection);\n        } else if (sectionName === 'colgroup') {\n          insert$1(table, 'caption', newSection);\n        } else {\n          append$1(table, newSection);\n        }\n        return newSection;\n      });\n      empty(section);\n      return section;\n    };\n    var render$1 = function (table, grid) {\n      var newRows = [];\n      var newCells = [];\n      var syncRows = function (gridSection) {\n        return map$1(gridSection, function (row) {\n          if (row.isNew) {\n            newRows.push(row.element);\n          }\n          var tr = row.element;\n          empty(tr);\n          each$2(row.cells, function (cell) {\n            if (cell.isNew) {\n              newCells.push(cell.element);\n            }\n            setIfNot(cell.element, 'colspan', cell.colspan, 1);\n            setIfNot(cell.element, 'rowspan', cell.rowspan, 1);\n            append$1(tr, cell.element);\n          });\n          return tr;\n        });\n      };\n      var syncColGroup = function (gridSection) {\n        return bind$2(gridSection, function (colGroup) {\n          return map$1(colGroup.cells, function (col) {\n            setIfNot(col.element, 'span', col.colspan, 1);\n            return col.element;\n          });\n        });\n      };\n      var renderSection = function (gridSection, sectionName) {\n        var section = generateSection(table, sectionName);\n        var sync = sectionName === 'colgroup' ? syncColGroup : syncRows;\n        var sectionElems = sync(gridSection);\n        append(section, sectionElems);\n      };\n      var removeSection = function (sectionName) {\n        child$1(table, sectionName).each(remove$5);\n      };\n      var renderOrRemoveSection = function (gridSection, sectionName) {\n        if (gridSection.length > 0) {\n          renderSection(gridSection, sectionName);\n        } else {\n          removeSection(sectionName);\n        }\n      };\n      var headSection = [];\n      var bodySection = [];\n      var footSection = [];\n      var columnGroupsSection = [];\n      each$2(grid, function (row) {\n        switch (row.section) {\n        case 'thead':\n          headSection.push(row);\n          break;\n        case 'tbody':\n          bodySection.push(row);\n          break;\n        case 'tfoot':\n          footSection.push(row);\n          break;\n        case 'colgroup':\n          columnGroupsSection.push(row);\n          break;\n        }\n      });\n      renderOrRemoveSection(columnGroupsSection, 'colgroup');\n      renderOrRemoveSection(headSection, 'thead');\n      renderOrRemoveSection(bodySection, 'tbody');\n      renderOrRemoveSection(footSection, 'tfoot');\n      return {\n        newRows: newRows,\n        newCells: newCells\n      };\n    };\n    var copy = function (grid) {\n      return map$1(grid, function (row) {\n        var tr = shallow(row.element);\n        each$2(row.cells, function (cell) {\n          var clonedCell = deep(cell.element);\n          setIfNot(clonedCell, 'colspan', cell.colspan, 1);\n          setIfNot(clonedCell, 'rowspan', cell.rowspan, 1);\n          append$1(tr, clonedCell);\n        });\n        return tr;\n      });\n    };\n\n    var getColumn = function (grid, index) {\n      return map$1(grid, function (row) {\n        return getCell(row, index);\n      });\n    };\n    var getRow = function (grid, index) {\n      return grid[index];\n    };\n    var findDiff = function (xs, comp) {\n      if (xs.length === 0) {\n        return 0;\n      }\n      var first = xs[0];\n      var index = findIndex(xs, function (x) {\n        return !comp(first.element, x.element);\n      });\n      return index.getOr(xs.length);\n    };\n    var subgrid = function (grid, row, column, comparator) {\n      var gridRow = getRow(grid, row);\n      var isColRow = gridRow.section === 'colgroup';\n      var colspan = findDiff(gridRow.cells.slice(column), comparator);\n      var rowspan = isColRow ? 1 : findDiff(getColumn(grid.slice(row), column), comparator);\n      return {\n        colspan: colspan,\n        rowspan: rowspan\n      };\n    };\n\n    var toDetails = function (grid, comparator) {\n      var seen = map$1(grid, function (row) {\n        return map$1(row.cells, never);\n      });\n      var updateSeen = function (rowIndex, columnIndex, rowspan, colspan) {\n        for (var row = rowIndex; row < rowIndex + rowspan; row++) {\n          for (var column = columnIndex; column < columnIndex + colspan; column++) {\n            seen[row][column] = true;\n          }\n        }\n      };\n      return map$1(grid, function (row, rowIndex) {\n        var details = bind$2(row.cells, function (cell, columnIndex) {\n          if (seen[rowIndex][columnIndex] === false) {\n            var result = subgrid(grid, rowIndex, columnIndex, comparator);\n            updateSeen(rowIndex, columnIndex, result.rowspan, result.colspan);\n            return [detailnew(cell.element, result.rowspan, result.colspan, cell.isNew)];\n          } else {\n            return [];\n          }\n        });\n        return rowdetailnew(row.element, details, row.section, row.isNew);\n      });\n    };\n    var toGrid = function (warehouse, generators, isNew) {\n      var grid = [];\n      each$2(warehouse.colgroups, function (colgroup) {\n        var colgroupCols = [];\n        for (var columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          var element = Warehouse.getColumnAt(warehouse, columnIndex).map(function (column) {\n            return elementnew(column.element, isNew, false);\n          }).getOrThunk(function () {\n            return elementnew(generators.colGap(), true, false);\n          });\n          colgroupCols.push(element);\n        }\n        grid.push(rowcells(colgroup.element, colgroupCols, 'colgroup', isNew));\n      });\n      for (var rowIndex = 0; rowIndex < warehouse.grid.rows; rowIndex++) {\n        var rowCells = [];\n        for (var columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          var element = Warehouse.getAt(warehouse, rowIndex, columnIndex).map(function (item) {\n            return elementnew(item.element, isNew, item.isLocked);\n          }).getOrThunk(function () {\n            return elementnew(generators.gap(), true, false);\n          });\n          rowCells.push(element);\n        }\n        var rowDetail = warehouse.all[rowIndex];\n        var row = rowcells(rowDetail.element, rowCells, rowDetail.section, isNew);\n        grid.push(row);\n      }\n      return grid;\n    };\n\n    var fromWarehouse = function (warehouse, generators) {\n      return toGrid(warehouse, generators, false);\n    };\n    var toDetailList = function (grid) {\n      return toDetails(grid, eq$1);\n    };\n    var findInWarehouse = function (warehouse, element) {\n      return findMap(warehouse.all, function (r) {\n        return find$1(r.cells, function (e) {\n          return eq$1(element, e.element);\n        });\n      });\n    };\n    var extractCells = function (warehouse, target, predicate) {\n      var details = map$1(target.selection, function (cell$1) {\n        return cell(cell$1).bind(function (lc) {\n          return findInWarehouse(warehouse, lc);\n        }).filter(predicate);\n      });\n      var cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    var run = function (operation, extract, adjustment, postAction, genWrappers) {\n      return function (wire, table, target, generators, behaviours) {\n        var warehouse = Warehouse.fromTable(table);\n        var tableSection = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.section).getOrThunk(TableSection.fallback);\n        var output = extract(warehouse, target).map(function (info) {\n          var model = fromWarehouse(warehouse, generators);\n          var result = operation(model, info, eq$1, genWrappers(generators), tableSection);\n          var lockedColumns = getLockedColumnsFromGrid(result.grid);\n          var grid = toDetailList(result.grid);\n          return {\n            info: info,\n            grid: grid,\n            cursor: result.cursor,\n            lockedColumns: lockedColumns\n          };\n        });\n        return output.bind(function (out) {\n          var newElements = render$1(table, out.grid);\n          var tableSizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.sizing).getOrThunk(function () {\n            return TableSize.getTableSize(table);\n          });\n          var resizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.resize).getOrThunk(preserveTable);\n          adjustment(table, out.grid, out.info, {\n            sizing: tableSizing,\n            resize: resizing,\n            section: tableSection\n          });\n          postAction(table);\n          refresh(wire, table);\n          remove$7(table, LOCKED_COL_ATTR);\n          if (out.lockedColumns.length > 0) {\n            set$2(table, LOCKED_COL_ATTR, out.lockedColumns.join(','));\n          }\n          return Optional.some({\n            cursor: out.cursor,\n            newRows: newElements.newRows,\n            newCells: newElements.newCells\n          });\n        });\n      };\n    };\n    var onPaste = function (warehouse, target) {\n      return cell(target.element).bind(function (cell) {\n        return findInWarehouse(warehouse, cell).map(function (details) {\n          var value = __assign(__assign({}, details), {\n            generators: target.generators,\n            clipboard: target.clipboard\n          });\n          return value;\n        });\n      });\n    };\n    var onPasteByEditor = function (warehouse, target) {\n      return extractCells(warehouse, target, always).map(function (cells) {\n        return {\n          cells: cells,\n          generators: target.generators,\n          clipboard: target.clipboard\n        };\n      });\n    };\n    var onMergable = function (_warehouse, target) {\n      return target.mergable;\n    };\n    var onUnmergable = function (_warehouse, target) {\n      return target.unmergable;\n    };\n    var onCells = function (warehouse, target) {\n      return extractCells(warehouse, target, always);\n    };\n    var onUnlockedCells = function (warehouse, target) {\n      return extractCells(warehouse, target, function (detail) {\n        return !detail.isLocked;\n      });\n    };\n    var isUnlockedTableCell = function (warehouse, cell) {\n      return findInWarehouse(warehouse, cell).exists(function (detail) {\n        return !detail.isLocked;\n      });\n    };\n    var allUnlocked = function (warehouse, cells) {\n      return forall(cells, function (cell) {\n        return isUnlockedTableCell(warehouse, cell);\n      });\n    };\n    var onUnlockedMergable = function (warehouse, target) {\n      return onMergable(warehouse, target).filter(function (mergeable) {\n        return allUnlocked(warehouse, mergeable.cells);\n      });\n    };\n    var onUnlockedUnmergable = function (warehouse, target) {\n      return onUnmergable(warehouse, target).filter(function (cells) {\n        return allUnlocked(warehouse, cells);\n      });\n    };\n\n    var merge$2 = function (grid, bounds, comparator, substitution) {\n      var rows = extractGridDetails(grid).rows;\n      if (rows.length === 0) {\n        return grid;\n      }\n      for (var i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (var j = bounds.startCol; j <= bounds.finishCol; j++) {\n          var row = rows[i];\n          var isLocked = getCell(row, j).isLocked;\n          mutateCell(row, j, elementnew(substitution(), false, isLocked));\n        }\n      }\n      return grid;\n    };\n    var unmerge = function (grid, target, comparator, substitution) {\n      var rows = extractGridDetails(grid).rows;\n      var first = true;\n      for (var i = 0; i < rows.length; i++) {\n        for (var j = 0; j < cellLength(rows[0]); j++) {\n          var row = rows[i];\n          var currentCell = getCell(row, j);\n          var currentCellElm = currentCell.element;\n          var isToReplace = comparator(currentCellElm, target);\n          if (isToReplace === true && first === false) {\n            mutateCell(row, j, elementnew(substitution(), true, currentCell.isLocked));\n          } else if (isToReplace === true) {\n            first = false;\n          }\n        }\n      }\n      return grid;\n    };\n    var uniqueCells = function (row, comparator) {\n      return foldl(row, function (rest, cell) {\n        return exists(rest, function (currentCell) {\n          return comparator(currentCell.element, cell.element);\n        }) ? rest : rest.concat([cell]);\n      }, []);\n    };\n    var splitCols = function (grid, index, comparator, substitution) {\n      if (index > 0 && index < grid[0].cells.length) {\n        each$2(grid, function (row) {\n          var prevCell = row.cells[index - 1];\n          var current = row.cells[index];\n          var isToReplace = comparator(current.element, prevCell.element);\n          if (isToReplace) {\n            mutateCell(row, index, elementnew(substitution(), true, current.isLocked));\n          }\n        });\n      }\n      return grid;\n    };\n    var splitRows = function (grid, index, comparator, substitution) {\n      var rows = extractGridDetails(grid).rows;\n      if (index > 0 && index < rows.length) {\n        var rowPrevCells = rows[index - 1].cells;\n        var cells = uniqueCells(rowPrevCells, comparator);\n        each$2(cells, function (cell) {\n          var replacement = Optional.none();\n          for (var i = index; i < rows.length; i++) {\n            var _loop_1 = function (j) {\n              var row = rows[i];\n              var current = getCell(row, j);\n              var isToReplace = comparator(current.element, cell.element);\n              if (isToReplace) {\n                if (replacement.isNone()) {\n                  replacement = Optional.some(substitution());\n                }\n                replacement.each(function (sub) {\n                  mutateCell(row, j, elementnew(sub, true, current.isLocked));\n                });\n              }\n            };\n            for (var j = 0; j < cellLength(rows[0]); j++) {\n              _loop_1(j);\n            }\n          }\n        });\n      }\n      return grid;\n    };\n\n    var value$1 = function (o) {\n      var or = function (_opt) {\n        return value$1(o);\n      };\n      var orThunk = function (_f) {\n        return value$1(o);\n      };\n      var map = function (f) {\n        return value$1(f(o));\n      };\n      var mapError = function (_f) {\n        return value$1(o);\n      };\n      var each = function (f) {\n        f(o);\n      };\n      var bind = function (f) {\n        return f(o);\n      };\n      var fold = function (_, onValue) {\n        return onValue(o);\n      };\n      var exists = function (f) {\n        return f(o);\n      };\n      var forall = function (f) {\n        return f(o);\n      };\n      var toOptional = function () {\n        return Optional.some(o);\n      };\n      return {\n        isValue: always,\n        isError: never,\n        getOr: constant(o),\n        getOrThunk: constant(o),\n        getOrDie: constant(o),\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: each,\n        bind: bind,\n        exists: exists,\n        forall: forall,\n        toOptional: toOptional\n      };\n    };\n    var error = function (message) {\n      var getOrThunk = function (f) {\n        return f();\n      };\n      var getOrDie = function () {\n        return die(String(message))();\n      };\n      var or = identity;\n      var orThunk = function (f) {\n        return f();\n      };\n      var map = function (_f) {\n        return error(message);\n      };\n      var mapError = function (f) {\n        return error(f(message));\n      };\n      var bind = function (_f) {\n        return error(message);\n      };\n      var fold = function (onError, _) {\n        return onError(message);\n      };\n      return {\n        isValue: never,\n        isError: always,\n        getOr: identity,\n        getOrThunk: getOrThunk,\n        getOrDie: getOrDie,\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: noop,\n        bind: bind,\n        exists: never,\n        forall: always,\n        toOptional: Optional.none\n      };\n    };\n    var fromOption = function (opt, err) {\n      return opt.fold(function () {\n        return error(err);\n      }, value$1);\n    };\n    var Result = {\n      value: value$1,\n      error: error,\n      fromOption: fromOption\n    };\n\n    var measure = function (startAddress, gridA, gridB) {\n      if (startAddress.row >= gridA.length || startAddress.column > cellLength(gridA[0])) {\n        return Result.error('invalid start address out of table bounds, row: ' + startAddress.row + ', column: ' + startAddress.column);\n      }\n      var rowRemainder = gridA.slice(startAddress.row);\n      var colRemainder = rowRemainder[0].cells.slice(startAddress.column);\n      var colRequired = cellLength(gridB[0]);\n      var rowRequired = gridB.length;\n      return Result.value({\n        rowDelta: rowRemainder.length - rowRequired,\n        colDelta: colRemainder.length - colRequired\n      });\n    };\n    var measureWidth = function (gridA, gridB) {\n      var colLengthA = cellLength(gridA[0]);\n      var colLengthB = cellLength(gridB[0]);\n      return {\n        rowDelta: 0,\n        colDelta: colLengthA - colLengthB\n      };\n    };\n    var measureHeight = function (gridA, gridB) {\n      var rowLengthA = gridA.length;\n      var rowLengthB = gridB.length;\n      return {\n        rowDelta: rowLengthA - rowLengthB,\n        colDelta: 0\n      };\n    };\n    var generateElements = function (amount, row, generators, isLocked) {\n      var generator = row.section === 'colgroup' ? generators.col : generators.cell;\n      return range$1(amount, function (idx) {\n        return elementnew(generator(), true, isLocked(idx));\n      });\n    };\n    var rowFill = function (grid, amount, generators, lockedColumns) {\n      var exampleRow = grid[grid.length - 1];\n      return grid.concat(range$1(amount, function () {\n        var generator = exampleRow.section === 'colgroup' ? generators.colgroup : generators.row;\n        var row = clone$1(exampleRow, generator, identity);\n        var elements = generateElements(row.cells.length, row, generators, function (idx) {\n          return has$1(lockedColumns, idx.toString());\n        });\n        return setCells(row, elements);\n      }));\n    };\n    var colFill = function (grid, amount, generators, startIndex) {\n      return map$1(grid, function (row) {\n        var newChildren = generateElements(amount, row, generators, never);\n        return addCells(row, startIndex, newChildren);\n      });\n    };\n    var lockedColFill = function (grid, generators, lockedColumns) {\n      return map$1(grid, function (row) {\n        return foldl(lockedColumns, function (acc, colNum) {\n          var newChild = generateElements(1, row, generators, always)[0];\n          return addCell(acc, colNum, newChild);\n        }, row);\n      });\n    };\n    var tailor = function (gridA, delta, generators) {\n      var fillCols = delta.colDelta < 0 ? colFill : identity;\n      var fillRows = delta.rowDelta < 0 ? rowFill : identity;\n      var lockedColumns = getLockedColumnsFromGrid(gridA);\n      var gridWidth = cellLength(gridA[0]);\n      var isLastColLocked = exists(lockedColumns, function (locked) {\n        return locked === gridWidth - 1;\n      });\n      var modifiedCols = fillCols(gridA, Math.abs(delta.colDelta), generators, isLastColLocked ? gridWidth - 1 : gridWidth);\n      var newLockedColumns = getLockedColumnsFromGrid(modifiedCols);\n      return fillRows(modifiedCols, Math.abs(delta.rowDelta), generators, mapToObject(newLockedColumns, always));\n    };\n\n    var isSpanning = function (grid, row, col, comparator) {\n      var candidate = getCell(grid[row], col);\n      var matching = curry(comparator, candidate.element);\n      var currentRow = grid[row];\n      return grid.length > 1 && cellLength(currentRow) > 1 && (col > 0 && matching(getCellElement(currentRow, col - 1)) || col < currentRow.cells.length - 1 && matching(getCellElement(currentRow, col + 1)) || row > 0 && matching(getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(getCellElement(grid[row + 1], col)));\n    };\n    var mergeTables = function (startAddress, gridA, gridB, generator, comparator, lockedColumns) {\n      var startRow = startAddress.row;\n      var startCol = startAddress.column;\n      var mergeHeight = gridB.length;\n      var mergeWidth = cellLength(gridB[0]);\n      var endRow = startRow + mergeHeight;\n      var endCol = startCol + mergeWidth + lockedColumns.length;\n      var lockedColumnObj = mapToObject(lockedColumns, always);\n      for (var r = startRow; r < endRow; r++) {\n        var skippedCol = 0;\n        for (var c = startCol; c < endCol; c++) {\n          if (lockedColumnObj[c]) {\n            skippedCol++;\n            continue;\n          }\n          if (isSpanning(gridA, r, c, comparator)) {\n            unmerge(gridA, getCellElement(gridA[r], c), comparator, generator.cell);\n          }\n          var gridBColIndex = c - startCol - skippedCol;\n          var newCell = getCell(gridB[r - startRow], gridBColIndex);\n          var newCellElm = newCell.element;\n          var replacement = generator.replace(newCellElm);\n          mutateCell(gridA[r], c, elementnew(replacement, true, newCell.isLocked));\n        }\n      }\n      return gridA;\n    };\n    var getValidStartAddress = function (currentStartAddress, grid, lockedColumns) {\n      var gridColLength = cellLength(grid[0]);\n      var adjustedRowAddress = extractGridDetails(grid).cols.length + currentStartAddress.row;\n      var possibleColAddresses = range$1(gridColLength - currentStartAddress.column, function (num) {\n        return num + currentStartAddress.column;\n      });\n      var validColAddress = find$1(possibleColAddresses, function (num) {\n        return forall(lockedColumns, function (col) {\n          return col !== num;\n        });\n      }).getOr(gridColLength - 1);\n      return {\n        row: adjustedRowAddress,\n        column: validColAddress\n      };\n    };\n    var getLockedColumnsWithinBounds = function (startAddress, grid, lockedColumns) {\n      return filter$2(lockedColumns, function (colNum) {\n        return colNum >= startAddress.column && colNum <= cellLength(grid[0]) + startAddress.column;\n      });\n    };\n    var merge$1 = function (startAddress, gridA, gridB, generator, comparator) {\n      var lockedColumns = getLockedColumnsFromGrid(gridA);\n      var validStartAddress = getValidStartAddress(startAddress, gridA, lockedColumns);\n      var gridBRows = extractGridDetails(gridB).rows;\n      var lockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, lockedColumns);\n      var result = measure(validStartAddress, gridA, gridBRows);\n      return result.map(function (diff) {\n        var delta = __assign(__assign({}, diff), { colDelta: diff.colDelta - lockedColumnsWithinBounds.length });\n        var fittedGrid = tailor(gridA, delta, generator);\n        var newLockedColumns = getLockedColumnsFromGrid(fittedGrid);\n        var newLockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, newLockedColumns);\n        return mergeTables(validStartAddress, fittedGrid, gridBRows, generator, comparator, newLockedColumnsWithinBounds);\n      });\n    };\n    var insertCols = function (index, gridA, gridB, generator, comparator) {\n      splitCols(gridA, index, comparator, generator.cell);\n      var delta = measureHeight(gridB, gridA);\n      var fittedNewGrid = tailor(gridB, delta, generator);\n      var secondDelta = measureHeight(gridA, fittedNewGrid);\n      var fittedOldGrid = tailor(gridA, secondDelta, generator);\n      return map$1(fittedOldGrid, function (gridRow, i) {\n        return addCells(gridRow, index, fittedNewGrid[i].cells);\n      });\n    };\n    var insertRows = function (index, gridA, gridB, generator, comparator) {\n      splitRows(gridA, index, comparator, generator.cell);\n      var locked = getLockedColumnsFromGrid(gridA);\n      var diff = measureWidth(gridA, gridB);\n      var delta = __assign(__assign({}, diff), { colDelta: diff.colDelta - locked.length });\n      var fittedOldGrid = tailor(gridA, delta, generator);\n      var _a = extractGridDetails(fittedOldGrid), oldCols = _a.cols, oldRows = _a.rows;\n      var newLocked = getLockedColumnsFromGrid(fittedOldGrid);\n      var secondDiff = measureWidth(gridB, gridA);\n      var secondDelta = __assign(__assign({}, secondDiff), { colDelta: secondDiff.colDelta + newLocked.length });\n      var fittedGridB = lockedColFill(gridB, generator, newLocked);\n      var fittedNewGrid = tailor(fittedGridB, secondDelta, generator);\n      return oldCols.concat(oldRows.slice(0, index)).concat(fittedNewGrid).concat(oldRows.slice(index, oldRows.length));\n    };\n\n    var cloneRow = function (row, cloneCell, comparator, substitution) {\n      return clone$1(row, function (elem) {\n        return substitution(elem, comparator);\n      }, cloneCell);\n    };\n    var insertRowAt = function (grid, index, example, comparator, substitution) {\n      var _a = extractGridDetails(grid), rows = _a.rows, cols = _a.cols;\n      var before = rows.slice(0, index);\n      var after = rows.slice(index);\n      var newRow = cloneRow(rows[example], function (ex, c) {\n        var withinSpan = index > 0 && index < rows.length && comparator(getCellElement(rows[index - 1], c), getCellElement(rows[index], c));\n        var ret = withinSpan ? getCell(rows[index], c) : elementnew(substitution(ex.element, comparator), true, ex.isLocked);\n        return ret;\n      }, comparator, substitution);\n      return cols.concat(before).concat([newRow]).concat(after);\n    };\n    var getElementFor = function (row, column, section, withinSpan, example, comparator, substitution) {\n      if (section === 'colgroup' || !withinSpan) {\n        var cell = getCell(row, example);\n        return elementnew(substitution(cell.element, comparator), true, false);\n      } else {\n        return getCell(row, column);\n      }\n    };\n    var insertColumnAt = function (grid, index, example, comparator, substitution) {\n      return map$1(grid, function (row) {\n        var withinSpan = index > 0 && index < cellLength(row) && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n        var sub = getElementFor(row, index, row.section, withinSpan, example, comparator, substitution);\n        return addCell(row, index, sub);\n      });\n    };\n    var deleteColumnsAt = function (grid, columns) {\n      return bind$2(grid, function (row) {\n        var existingCells = row.cells;\n        var cells = foldr(columns, function (acc, column) {\n          return column >= 0 && column < acc.length ? acc.slice(0, column).concat(acc.slice(column + 1)) : acc;\n        }, existingCells);\n        return cells.length > 0 ? [rowcells(row.element, cells, row.section, row.isNew)] : [];\n      });\n    };\n    var deleteRowsAt = function (grid, start, finish) {\n      var _a = extractGridDetails(grid), rows = _a.rows, cols = _a.cols;\n      return cols.concat(rows.slice(0, start)).concat(rows.slice(finish + 1));\n    };\n\n    var notInStartRow = function (grid, rowIndex, colIndex, comparator) {\n      return getCellElement(grid[rowIndex], colIndex) !== undefined && (rowIndex > 0 && comparator(getCellElement(grid[rowIndex - 1], colIndex), getCellElement(grid[rowIndex], colIndex)));\n    };\n    var notInStartColumn = function (row, index, comparator) {\n      return index > 0 && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n    };\n    var isDuplicatedCell = function (grid, rowIndex, colIndex, comparator) {\n      return notInStartRow(grid, rowIndex, colIndex, comparator) || notInStartColumn(grid[rowIndex], colIndex, comparator);\n    };\n    var rowReplacerPredicate = function (targetRow, columnHeaders) {\n      var entireTableIsHeader = forall(columnHeaders, identity) && isHeaderCells(targetRow.cells);\n      return entireTableIsHeader ? always : function (cell, _rowIndex, colIndex) {\n        var type = name(cell.element);\n        return !(type === 'th' && columnHeaders[colIndex]);\n      };\n    };\n    var columnReplacePredicate = function (targetColumn, rowHeaders) {\n      var entireTableIsHeader = forall(rowHeaders, identity) && isHeaderCells(targetColumn);\n      return entireTableIsHeader ? always : function (cell, rowIndex, _colIndex) {\n        var type = name(cell.element);\n        return !(type === 'th' && rowHeaders[rowIndex]);\n      };\n    };\n    var determineScope = function (applyScope, element, newScope, isInHeader) {\n      var hasSpan = function (scope) {\n        return scope === 'row' ? hasRowspan(element) : hasColspan(element);\n      };\n      var getScope = function (scope) {\n        return hasSpan(scope) ? scope + 'group' : scope;\n      };\n      if (applyScope) {\n        return isHeaderCell(element) ? getScope(newScope) : null;\n      } else if (isInHeader && isHeaderCell(element)) {\n        var oppositeScope = newScope === 'row' ? 'col' : 'row';\n        return getScope(oppositeScope);\n      } else {\n        return null;\n      }\n    };\n    var rowScopeGenerator = function (applyScope, columnHeaders) {\n      return function (cell, rowIndex, columnIndex) {\n        return Optional.some(determineScope(applyScope, cell.element, 'col', columnHeaders[columnIndex]));\n      };\n    };\n    var columnScopeGenerator = function (applyScope, rowHeaders) {\n      return function (cell, rowIndex) {\n        return Optional.some(determineScope(applyScope, cell.element, 'row', rowHeaders[rowIndex]));\n      };\n    };\n    var replace = function (cell, comparator, substitute) {\n      return elementnew(substitute(cell.element, comparator), true, cell.isLocked);\n    };\n    var replaceIn = function (grid, targets, comparator, substitute, replacer, genScope, shouldReplace) {\n      var isTarget = function (cell) {\n        return exists(targets, function (target) {\n          return comparator(cell.element, target.element);\n        });\n      };\n      return map$1(grid, function (row, rowIndex) {\n        return mapCells(row, function (cell, colIndex) {\n          if (isTarget(cell)) {\n            var newCell_1 = shouldReplace(cell, rowIndex, colIndex) ? replacer(cell, comparator, substitute) : cell;\n            genScope(newCell_1, rowIndex, colIndex).each(function (scope) {\n              setOptions(newCell_1.element, { scope: Optional.from(scope) });\n            });\n            return newCell_1;\n          } else {\n            return cell;\n          }\n        });\n      });\n    };\n    var getColumnCells = function (rows, columnIndex, comparator) {\n      return bind$2(rows, function (row, i) {\n        return isDuplicatedCell(rows, i, columnIndex, comparator) ? [] : [getCell(row, columnIndex)];\n      });\n    };\n    var getRowCells = function (rows, rowIndex, comparator) {\n      var targetRow = rows[rowIndex];\n      return bind$2(targetRow.cells, function (item, i) {\n        return isDuplicatedCell(rows, rowIndex, i, comparator) ? [] : [item];\n      });\n    };\n    var replaceColumns = function (grid, indexes, applyScope, comparator, substitution) {\n      var rows = extractGridDetails(grid).rows;\n      var targets = bind$2(indexes, function (index) {\n        return getColumnCells(rows, index, comparator);\n      });\n      var rowHeaders = map$1(grid, function (row) {\n        return isHeaderCells(row.cells);\n      });\n      var shouldReplaceCell = columnReplacePredicate(targets, rowHeaders);\n      var scopeGenerator = columnScopeGenerator(applyScope, rowHeaders);\n      return replaceIn(grid, targets, comparator, substitution, replace, scopeGenerator, shouldReplaceCell);\n    };\n    var replaceRows = function (grid, indexes, section, applyScope, comparator, substitution, tableSection) {\n      var _a = extractGridDetails(grid), cols = _a.cols, rows = _a.rows;\n      var targetRow = rows[indexes[0]];\n      var targets = bind$2(indexes, function (index) {\n        return getRowCells(rows, index, comparator);\n      });\n      var columnHeaders = map$1(targetRow.cells, function (_cell, index) {\n        return isHeaderCells(getColumnCells(rows, index, comparator));\n      });\n      var newRows = __spreadArray([], rows, true);\n      each$2(indexes, function (index) {\n        newRows[index] = tableSection.transformRow(rows[index], section);\n      });\n      var newGrid = cols.concat(newRows);\n      var shouldReplaceCell = rowReplacerPredicate(targetRow, columnHeaders);\n      var scopeGenerator = rowScopeGenerator(applyScope, columnHeaders);\n      return replaceIn(newGrid, targets, comparator, substitution, tableSection.transformCell, scopeGenerator, shouldReplaceCell);\n    };\n    var replaceCells = function (grid, details, comparator, substitution) {\n      var rows = extractGridDetails(grid).rows;\n      var targetCells = map$1(details, function (detail) {\n        return getCell(rows[detail.row], detail.column);\n      });\n      return replaceIn(grid, targetCells, comparator, substitution, replace, Optional.none, always);\n    };\n\n    var uniqueColumns = function (details) {\n      var uniqueCheck = function (rest, detail) {\n        var columnExists = exists(rest, function (currentDetail) {\n          return currentDetail.column === detail.column;\n        });\n        return columnExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, uniqueCheck, []).sort(function (detailA, detailB) {\n        return detailA.column - detailB.column;\n      });\n    };\n\n    var isCol = isTag('col');\n    var isColgroup = isTag('colgroup');\n    var isRow$1 = function (element) {\n      return name(element) === 'tr' || isColgroup(element);\n    };\n    var elementToData = function (element) {\n      var colspan = getAttrValue(element, 'colspan', 1);\n      var rowspan = getAttrValue(element, 'rowspan', 1);\n      return {\n        element: element,\n        colspan: colspan,\n        rowspan: rowspan\n      };\n    };\n    var modification = function (generators, toData) {\n      if (toData === void 0) {\n        toData = elementToData;\n      }\n      var nuCell = function (data) {\n        return isCol(data.element) ? generators.col(data) : generators.cell(data);\n      };\n      var nuRow = function (data) {\n        return isColgroup(data.element) ? generators.colgroup(data) : generators.row(data);\n      };\n      var add = function (element) {\n        if (isRow$1(element)) {\n          return nuRow({ element: element });\n        } else {\n          var replacement = nuCell(toData(element));\n          recent = Optional.some({\n            item: element,\n            replacement: replacement\n          });\n          return replacement;\n        }\n      };\n      var recent = Optional.none();\n      var getOrInit = function (element, comparator) {\n        return recent.fold(function () {\n          return add(element);\n        }, function (p) {\n          return comparator(element, p.item) ? p.replacement : add(element);\n        });\n      };\n      return { getOrInit: getOrInit };\n    };\n    var transform = function (tag) {\n      return function (generators) {\n        var list = [];\n        var find = function (element, comparator) {\n          return find$1(list, function (x) {\n            return comparator(x.item, element);\n          });\n        };\n        var makeNew = function (element) {\n          var attrs = tag === 'td' ? { scope: null } : {};\n          var cell = generators.replace(element, tag, attrs);\n          list.push({\n            item: element,\n            sub: cell\n          });\n          return cell;\n        };\n        var replaceOrInit = function (element, comparator) {\n          if (isRow$1(element) || isCol(element)) {\n            return element;\n          } else {\n            return find(element, comparator).fold(function () {\n              return makeNew(element);\n            }, function (p) {\n              return comparator(element, p.item) ? p.sub : makeNew(element);\n            });\n          }\n        };\n        return { replaceOrInit: replaceOrInit };\n      };\n    };\n    var getScopeAttribute = function (cell) {\n      return getOpt(cell, 'scope').map(function (attribute) {\n        return attribute.substr(0, 3);\n      });\n    };\n    var merging = function (generators) {\n      var unmerge = function (cell) {\n        var scope = getScopeAttribute(cell);\n        scope.each(function (attribute) {\n          return set$2(cell, 'scope', attribute);\n        });\n        return function () {\n          var raw = generators.cell({\n            element: cell,\n            colspan: 1,\n            rowspan: 1\n          });\n          remove$6(raw, 'width');\n          remove$6(cell, 'width');\n          scope.each(function (attribute) {\n            return set$2(raw, 'scope', attribute);\n          });\n          return raw;\n        };\n      };\n      var merge = function (cells) {\n        var getScopeProperty = function () {\n          var stringAttributes = cat(map$1(cells, getScopeAttribute));\n          if (stringAttributes.length === 0) {\n            return Optional.none();\n          } else {\n            var baseScope_1 = stringAttributes[0];\n            var scopes_1 = [\n              'row',\n              'col'\n            ];\n            var isMixed = exists(stringAttributes, function (attribute) {\n              return attribute !== baseScope_1 && contains$2(scopes_1, attribute);\n            });\n            return isMixed ? Optional.none() : Optional.from(baseScope_1);\n          }\n        };\n        remove$6(cells[0], 'width');\n        getScopeProperty().fold(function () {\n          return remove$7(cells[0], 'scope');\n        }, function (attribute) {\n          return set$2(cells[0], 'scope', attribute + 'group');\n        });\n        return constant(cells[0]);\n      };\n      return {\n        unmerge: unmerge,\n        merge: merge\n      };\n    };\n    var Generators = {\n      modification: modification,\n      transform: transform,\n      merging: merging\n    };\n\n    var blockList = [\n      'body',\n      'p',\n      'div',\n      'article',\n      'aside',\n      'figcaption',\n      'figure',\n      'footer',\n      'header',\n      'nav',\n      'section',\n      'ol',\n      'ul',\n      'table',\n      'thead',\n      'tfoot',\n      'tbody',\n      'caption',\n      'tr',\n      'td',\n      'th',\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'blockquote',\n      'pre',\n      'address'\n    ];\n    var isList$1 = function (universe, item) {\n      var tagName = universe.property().name(item);\n      return contains$2([\n        'ol',\n        'ul'\n      ], tagName);\n    };\n    var isBlock$1 = function (universe, item) {\n      var tagName = universe.property().name(item);\n      return contains$2(blockList, tagName);\n    };\n    var isEmptyTag$1 = function (universe, item) {\n      return contains$2([\n        'br',\n        'img',\n        'hr',\n        'input'\n      ], universe.property().name(item));\n    };\n\n    var universe$1 = DomUniverse();\n    var isBlock = function (element) {\n      return isBlock$1(universe$1, element);\n    };\n    var isList = function (element) {\n      return isList$1(universe$1, element);\n    };\n    var isEmptyTag = function (element) {\n      return isEmptyTag$1(universe$1, element);\n    };\n\n    var merge = function (cells) {\n      var isBr = function (el) {\n        return name(el) === 'br';\n      };\n      var advancedBr = function (children) {\n        return forall(children, function (c) {\n          return isBr(c) || isText(c) && get$9(c).trim().length === 0;\n        });\n      };\n      var isListItem = function (el) {\n        return name(el) === 'li' || ancestor$2(el, isList).isSome();\n      };\n      var siblingIsBlock = function (el) {\n        return nextSibling(el).map(function (rightSibling) {\n          if (isBlock(rightSibling)) {\n            return true;\n          }\n          if (isEmptyTag(rightSibling)) {\n            return name(rightSibling) === 'img' ? false : true;\n          }\n          return false;\n        }).getOr(false);\n      };\n      var markCell = function (cell) {\n        return last$1(cell).bind(function (rightEdge) {\n          var rightSiblingIsBlock = siblingIsBlock(rightEdge);\n          return parent(rightEdge).map(function (parent) {\n            return rightSiblingIsBlock === true || isListItem(parent) || isBr(rightEdge) || isBlock(parent) && !eq$1(cell, parent) ? [] : [SugarElement.fromTag('br')];\n          });\n        }).getOr([]);\n      };\n      var markContent = function () {\n        var content = bind$2(cells, function (cell) {\n          var children = children$3(cell);\n          return advancedBr(children) ? [] : children.concat(markCell(cell));\n        });\n        return content.length === 0 ? [SugarElement.fromTag('br')] : content;\n      };\n      var contents = markContent();\n      empty(cells[0]);\n      append(cells[0], contents);\n    };\n\n    var isEditable = function (elem) {\n      return isEditable$1(elem, true);\n    };\n    var prune = function (table) {\n      var cells = cells$1(table);\n      if (cells.length === 0) {\n        remove$5(table);\n      }\n    };\n    var outcome = function (grid, cursor) {\n      return {\n        grid: grid,\n        cursor: cursor\n      };\n    };\n    var findEditableCursorPosition = function (rows) {\n      return findMap(rows, function (row) {\n        return findMap(row.cells, function (cell) {\n          var elem = cell.element;\n          return someIf(isEditable(elem), elem);\n        });\n      });\n    };\n    var elementFromGrid = function (grid, row, column) {\n      var _a, _b;\n      var rows = extractGridDetails(grid).rows;\n      return Optional.from((_b = (_a = rows[row]) === null || _a === void 0 ? void 0 : _a.cells[column]) === null || _b === void 0 ? void 0 : _b.element).filter(isEditable).orThunk(function () {\n        return findEditableCursorPosition(rows);\n      });\n    };\n    var bundle = function (grid, row, column) {\n      var cursorElement = elementFromGrid(grid, row, column);\n      return outcome(grid, cursorElement);\n    };\n    var uniqueRows = function (details) {\n      var rowCompilation = function (rest, detail) {\n        var rowExists = exists(rest, function (currentDetail) {\n          return currentDetail.row === detail.row;\n        });\n        return rowExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, rowCompilation, []).sort(function (detailA, detailB) {\n        return detailA.row - detailB.row;\n      });\n    };\n    var opInsertRowsBefore = function (grid, details, comparator, genWrappers) {\n      var targetIndex = details[0].row;\n      var rows = uniqueRows(details);\n      var newGrid = foldr(rows, function (acc, row) {\n        var newG = insertRowAt(acc.grid, targetIndex, row.row + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid: grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    var opInsertRowsAfter = function (grid, details, comparator, genWrappers) {\n      var rows = uniqueRows(details);\n      var target = rows[rows.length - 1];\n      var targetIndex = target.row + target.rowspan;\n      var newGrid = foldr(rows, function (newG, row) {\n        return insertRowAt(newG, targetIndex, row.row, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    var opInsertColumnsBefore = function (grid, extractDetail, comparator, genWrappers) {\n      var details = extractDetail.details;\n      var columns = uniqueColumns(details);\n      var targetIndex = columns[0].column;\n      var newGrid = foldr(columns, function (acc, col) {\n        var newG = insertColumnAt(acc.grid, targetIndex, col.column + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid: grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    var opInsertColumnsAfter = function (grid, extractDetail, comparator, genWrappers) {\n      var details = extractDetail.details;\n      var target = details[details.length - 1];\n      var targetIndex = target.column + target.colspan;\n      var columns = uniqueColumns(details);\n      var newGrid = foldr(columns, function (newG, col) {\n        return insertColumnAt(newG, targetIndex, col.column, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    var opMakeColumnsHeader = function (initialGrid, details, comparator, genWrappers) {\n      var columns = uniqueColumns(details);\n      var columnIndexes = map$1(columns, function (detail) {\n        return detail.column;\n      });\n      var newGrid = replaceColumns(initialGrid, columnIndexes, true, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    var opMakeCellsHeader = function (initialGrid, details, comparator, genWrappers) {\n      var newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    var opUnmakeColumnsHeader = function (initialGrid, details, comparator, genWrappers) {\n      var columns = uniqueColumns(details);\n      var columnIndexes = map$1(columns, function (detail) {\n        return detail.column;\n      });\n      var newGrid = replaceColumns(initialGrid, columnIndexes, false, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    var opUnmakeCellsHeader = function (initialGrid, details, comparator, genWrappers) {\n      var newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    var makeRowsSection = function (section, applyScope) {\n      return function (initialGrid, details, comparator, genWrappers, tableSection) {\n        var rows = uniqueRows(details);\n        var rowIndexes = map$1(rows, function (detail) {\n          return detail.row;\n        });\n        var newGrid = replaceRows(initialGrid, rowIndexes, section, applyScope, comparator, genWrappers.replaceOrInit, tableSection);\n        return bundle(newGrid, details[0].row, details[0].column);\n      };\n    };\n    var opMakeRowsHeader = makeRowsSection('thead', true);\n    var opMakeRowsBody = makeRowsSection('tbody', false);\n    var opMakeRowsFooter = makeRowsSection('tfoot', false);\n    var opEraseColumns = function (grid, extractDetail, _comparator, _genWrappers) {\n      var columns = uniqueColumns(extractDetail.details);\n      var newGrid = deleteColumnsAt(grid, map$1(columns, function (column) {\n        return column.column;\n      }));\n      var maxColIndex = newGrid.length > 0 ? newGrid[0].cells.length - 1 : 0;\n      return bundle(newGrid, columns[0].row, Math.min(columns[0].column, maxColIndex));\n    };\n    var opEraseRows = function (grid, details, _comparator, _genWrappers) {\n      var rows = uniqueRows(details);\n      var newGrid = deleteRowsAt(grid, rows[0].row, rows[rows.length - 1].row);\n      var maxRowIndex = newGrid.length > 0 ? newGrid.length - 1 : 0;\n      return bundle(newGrid, Math.min(details[0].row, maxRowIndex), details[0].column);\n    };\n    var opMergeCells = function (grid, mergable, comparator, genWrappers) {\n      var cells = mergable.cells;\n      merge(cells);\n      var newGrid = merge$2(grid, mergable.bounds, comparator, genWrappers.merge(cells));\n      return outcome(newGrid, Optional.from(cells[0]));\n    };\n    var opUnmergeCells = function (grid, unmergable, comparator, genWrappers) {\n      var unmerge$1 = function (b, cell) {\n        return unmerge(b, cell, comparator, genWrappers.unmerge(cell));\n      };\n      var newGrid = foldr(unmergable, unmerge$1, grid);\n      return outcome(newGrid, Optional.from(unmergable[0]));\n    };\n    var opPasteCells = function (grid, pasteDetails, comparator, _genWrappers) {\n      var gridify = function (table, generators) {\n        var wh = Warehouse.fromTable(table);\n        return toGrid(wh, generators, true);\n      };\n      var gridB = gridify(pasteDetails.clipboard, pasteDetails.generators);\n      var startAddress = address(pasteDetails.row, pasteDetails.column);\n      var mergedGrid = merge$1(startAddress, grid, gridB, pasteDetails.generators, comparator);\n      return mergedGrid.fold(function () {\n        return outcome(grid, Optional.some(pasteDetails.element));\n      }, function (newGrid) {\n        return bundle(newGrid, pasteDetails.row, pasteDetails.column);\n      });\n    };\n    var gridifyRows = function (rows, generators, context) {\n      var pasteDetails = fromPastedRows(rows, context.section);\n      var wh = Warehouse.generate(pasteDetails);\n      return toGrid(wh, generators, true);\n    };\n    var opPasteColsBefore = function (grid, pasteDetails, comparator, _genWrappers) {\n      var rows = extractGridDetails(grid).rows;\n      var index = pasteDetails.cells[0].column;\n      var context = rows[pasteDetails.cells[0].row];\n      var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      var mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    var opPasteColsAfter = function (grid, pasteDetails, comparator, _genWrappers) {\n      var rows = extractGridDetails(grid).rows;\n      var index = pasteDetails.cells[pasteDetails.cells.length - 1].column + pasteDetails.cells[pasteDetails.cells.length - 1].colspan;\n      var context = rows[pasteDetails.cells[0].row];\n      var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      var mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    var opPasteRowsBefore = function (grid, pasteDetails, comparator, _genWrappers) {\n      var rows = extractGridDetails(grid).rows;\n      var index = pasteDetails.cells[0].row;\n      var context = rows[index];\n      var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      var mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    var opPasteRowsAfter = function (grid, pasteDetails, comparator, _genWrappers) {\n      var rows = extractGridDetails(grid).rows;\n      var index = pasteDetails.cells[pasteDetails.cells.length - 1].row + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan;\n      var context = rows[pasteDetails.cells[0].row];\n      var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      var mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    var opGetColumnsType = function (table, target) {\n      var house = Warehouse.fromTable(table);\n      var details = onCells(house, target);\n      return details.bind(function (selectedCells) {\n        var lastSelectedCell = selectedCells[selectedCells.length - 1];\n        var minColRange = selectedCells[0].column;\n        var maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        var selectedColumnCells = flatten$1(map$1(house.all, function (row) {\n          return filter$2(row.cells, function (cell) {\n            return cell.column >= minColRange && cell.column < maxColRange;\n          });\n        }));\n        return findCommonCellType(selectedColumnCells);\n      }).getOr('');\n    };\n    var opGetCellsType = function (table, target) {\n      var house = Warehouse.fromTable(table);\n      var details = onCells(house, target);\n      return details.bind(findCommonCellType).getOr('');\n    };\n    var opGetRowsType = function (table, target) {\n      var house = Warehouse.fromTable(table);\n      var details = onCells(house, target);\n      return details.bind(function (selectedCells) {\n        var lastSelectedCell = selectedCells[selectedCells.length - 1];\n        var minRowRange = selectedCells[0].row;\n        var maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        var selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    var resize = function (table, list, details, behaviours) {\n      return adjustWidthTo(table, list, details, behaviours.sizing);\n    };\n    var adjustAndRedistributeWidths = function (table, list, details, behaviours) {\n      return adjustAndRedistributeWidths$1(table, list, details, behaviours.sizing, behaviours.resize);\n    };\n    var firstColumnIsLocked = function (_warehouse, details) {\n      return exists(details, function (detail) {\n        return detail.column === 0 && detail.isLocked;\n      });\n    };\n    var lastColumnIsLocked = function (warehouse, details) {\n      return exists(details, function (detail) {\n        return detail.column + detail.colspan >= warehouse.grid.columns && detail.isLocked;\n      });\n    };\n    var getColumnsWidth = function (warehouse, details) {\n      var columns$1 = columns(warehouse);\n      var uniqueCols = uniqueColumns(details);\n      return foldl(uniqueCols, function (acc, detail) {\n        var column = columns$1[detail.column];\n        var colWidth = column.map(getOuter$2).getOr(0);\n        return acc + colWidth;\n      }, 0);\n    };\n    var insertColumnsExtractor = function (before) {\n      return function (warehouse, target) {\n        return onCells(warehouse, target).filter(function (details) {\n          var checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n          return !checkLocked(warehouse, details);\n        }).map(function (details) {\n          return {\n            details: details,\n            pixelDelta: getColumnsWidth(warehouse, details)\n          };\n        });\n      };\n    };\n    var eraseColumnsExtractor = function (warehouse, target) {\n      return onUnlockedCells(warehouse, target).map(function (details) {\n        return {\n          details: details,\n          pixelDelta: -getColumnsWidth(warehouse, details)\n        };\n      });\n    };\n    var pasteColumnsExtractor = function (before) {\n      return function (warehouse, target) {\n        return onPasteByEditor(warehouse, target).filter(function (details) {\n          var checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n          return !checkLocked(warehouse, details.cells);\n        });\n      };\n    };\n    var headerCellGenerator = Generators.transform('th');\n    var bodyCellGenerator = Generators.transform('td');\n    var insertRowsBefore = run(opInsertRowsBefore, onCells, noop, noop, Generators.modification);\n    var insertRowsAfter = run(opInsertRowsAfter, onCells, noop, noop, Generators.modification);\n    var insertColumnsBefore = run(opInsertColumnsBefore, insertColumnsExtractor(true), adjustAndRedistributeWidths, noop, Generators.modification);\n    var insertColumnsAfter = run(opInsertColumnsAfter, insertColumnsExtractor(false), adjustAndRedistributeWidths, noop, Generators.modification);\n    var eraseColumns = run(opEraseColumns, eraseColumnsExtractor, adjustAndRedistributeWidths, prune, Generators.modification);\n    var eraseRows = run(opEraseRows, onCells, noop, prune, Generators.modification);\n    var makeColumnsHeader = run(opMakeColumnsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    var unmakeColumnsHeader = run(opUnmakeColumnsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    var makeRowsHeader = run(opMakeRowsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    var makeRowsBody = run(opMakeRowsBody, onUnlockedCells, noop, noop, bodyCellGenerator);\n    var makeRowsFooter = run(opMakeRowsFooter, onUnlockedCells, noop, noop, bodyCellGenerator);\n    var makeCellsHeader = run(opMakeCellsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    var unmakeCellsHeader = run(opUnmakeCellsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    var mergeCells = run(opMergeCells, onUnlockedMergable, resize, noop, Generators.merging);\n    var unmergeCells = run(opUnmergeCells, onUnlockedUnmergable, resize, noop, Generators.merging);\n    var pasteCells = run(opPasteCells, onPaste, resize, noop, Generators.modification);\n    var pasteColsBefore = run(opPasteColsBefore, pasteColumnsExtractor(true), noop, noop, Generators.modification);\n    var pasteColsAfter = run(opPasteColsAfter, pasteColumnsExtractor(false), noop, noop, Generators.modification);\n    var pasteRowsBefore = run(opPasteRowsBefore, onPasteByEditor, noop, noop, Generators.modification);\n    var pasteRowsAfter = run(opPasteRowsAfter, onPasteByEditor, noop, noop, Generators.modification);\n    var getColumnsType = opGetColumnsType;\n    var getCellsType = opGetCellsType;\n    var getRowsType = opGetRowsType;\n\n    var TableActions = function (editor, cellSelection, lazyWire) {\n      var isTableBody = function (editor) {\n        return name(getBody(editor)) === 'table';\n      };\n      var lastRowGuard = function (table) {\n        return isTableBody(editor) === false || getGridSize(table).rows > 1;\n      };\n      var lastColumnGuard = function (table) {\n        return isTableBody(editor) === false || getGridSize(table).columns > 1;\n      };\n      var cloneFormats = getCloneElements(editor);\n      var colMutationOp = isResizeTableColumnResizing(editor) ? noop : halve;\n      var getTableSectionType = function (table) {\n        switch (getTableHeaderType(editor)) {\n        case 'section':\n          return TableSection.section();\n        case 'sectionCells':\n          return TableSection.sectionCells();\n        case 'cells':\n          return TableSection.cells();\n        default:\n          return TableSection.getTableSectionType(table, 'section');\n        }\n      };\n      var setSelectionFromAction = function (table, result) {\n        return result.cursor.fold(function () {\n          var cells = cells$1(table);\n          return head(cells).filter(inBody).map(function (firstCell) {\n            cellSelection.clear(table);\n            var rng = editor.dom.createRng();\n            rng.selectNode(firstCell.dom);\n            editor.selection.setRng(rng);\n            set$2(firstCell, 'data-mce-selected', '1');\n            return rng;\n          });\n        }, function (cell) {\n          var des = freefallRtl(cell);\n          var rng = editor.dom.createRng();\n          rng.setStart(des.element.dom, des.offset);\n          rng.setEnd(des.element.dom, des.offset);\n          editor.selection.setRng(rng);\n          cellSelection.clear(table);\n          return Optional.some(rng);\n        });\n      };\n      var execute = function (operation, guard, mutate, lazyWire, effect) {\n        return function (table, target, noEvents) {\n          if (noEvents === void 0) {\n            noEvents = false;\n          }\n          removeDataStyle(table);\n          var wire = lazyWire();\n          var doc = SugarElement.fromDom(editor.getDoc());\n          var generators = cellOperations(mutate, doc, cloneFormats);\n          var behaviours = {\n            sizing: get$4(editor, table),\n            resize: isResizeTableColumnResizing(editor) ? resizeTable() : preserveTable(),\n            section: getTableSectionType(table)\n          };\n          return guard(table) ? operation(wire, table, target, generators, behaviours).bind(function (result) {\n            each$2(result.newRows, function (row) {\n              fireNewRow(editor, row.dom);\n            });\n            each$2(result.newCells, function (cell) {\n              fireNewCell(editor, cell.dom);\n            });\n            var range = setSelectionFromAction(table, result);\n            if (inBody(table)) {\n              removeDataStyle(table);\n              if (!noEvents) {\n                fireTableModified(editor, table.dom, effect);\n              }\n            }\n            return range.map(function (rng) {\n              return {\n                rng: rng,\n                effect: effect\n              };\n            });\n          }) : Optional.none();\n        };\n      };\n      var deleteRow = execute(eraseRows, lastRowGuard, noop, lazyWire, structureModified);\n      var deleteColumn = execute(eraseColumns, lastColumnGuard, noop, lazyWire, structureModified);\n      var insertRowsBefore$1 = execute(insertRowsBefore, always, noop, lazyWire, structureModified);\n      var insertRowsAfter$1 = execute(insertRowsAfter, always, noop, lazyWire, structureModified);\n      var insertColumnsBefore$1 = execute(insertColumnsBefore, always, colMutationOp, lazyWire, structureModified);\n      var insertColumnsAfter$1 = execute(insertColumnsAfter, always, colMutationOp, lazyWire, structureModified);\n      var mergeCells$1 = execute(mergeCells, always, noop, lazyWire, structureModified);\n      var unmergeCells$1 = execute(unmergeCells, always, noop, lazyWire, structureModified);\n      var pasteColsBefore$1 = execute(pasteColsBefore, always, noop, lazyWire, structureModified);\n      var pasteColsAfter$1 = execute(pasteColsAfter, always, noop, lazyWire, structureModified);\n      var pasteRowsBefore$1 = execute(pasteRowsBefore, always, noop, lazyWire, structureModified);\n      var pasteRowsAfter$1 = execute(pasteRowsAfter, always, noop, lazyWire, structureModified);\n      var pasteCells$1 = execute(pasteCells, always, noop, lazyWire, styleAndStructureModified);\n      var makeCellsHeader$1 = execute(makeCellsHeader, always, noop, lazyWire, structureModified);\n      var unmakeCellsHeader$1 = execute(unmakeCellsHeader, always, noop, lazyWire, structureModified);\n      var makeColumnsHeader$1 = execute(makeColumnsHeader, always, noop, lazyWire, structureModified);\n      var unmakeColumnsHeader$1 = execute(unmakeColumnsHeader, always, noop, lazyWire, structureModified);\n      var makeRowsHeader$1 = execute(makeRowsHeader, always, noop, lazyWire, structureModified);\n      var makeRowsBody$1 = execute(makeRowsBody, always, noop, lazyWire, structureModified);\n      var makeRowsFooter$1 = execute(makeRowsFooter, always, noop, lazyWire, structureModified);\n      var getTableCellType = getCellsType;\n      var getTableColType = getColumnsType;\n      var getTableRowType = getRowsType;\n      return {\n        deleteRow: deleteRow,\n        deleteColumn: deleteColumn,\n        insertRowsBefore: insertRowsBefore$1,\n        insertRowsAfter: insertRowsAfter$1,\n        insertColumnsBefore: insertColumnsBefore$1,\n        insertColumnsAfter: insertColumnsAfter$1,\n        mergeCells: mergeCells$1,\n        unmergeCells: unmergeCells$1,\n        pasteColsBefore: pasteColsBefore$1,\n        pasteColsAfter: pasteColsAfter$1,\n        pasteRowsBefore: pasteRowsBefore$1,\n        pasteRowsAfter: pasteRowsAfter$1,\n        pasteCells: pasteCells$1,\n        makeCellsHeader: makeCellsHeader$1,\n        unmakeCellsHeader: unmakeCellsHeader$1,\n        makeColumnsHeader: makeColumnsHeader$1,\n        unmakeColumnsHeader: unmakeColumnsHeader$1,\n        makeRowsHeader: makeRowsHeader$1,\n        makeRowsBody: makeRowsBody$1,\n        makeRowsFooter: makeRowsFooter$1,\n        getTableRowType: getTableRowType,\n        getTableCellType: getTableCellType,\n        getTableColType: getTableColType\n      };\n    };\n\n    var DefaultRenderOptions = {\n      styles: {\n        'border-collapse': 'collapse',\n        'width': '100%'\n      },\n      attributes: { border: '1' },\n      colGroups: false\n    };\n    var tableHeaderCell = function () {\n      return SugarElement.fromTag('th');\n    };\n    var tableCell = function () {\n      return SugarElement.fromTag('td');\n    };\n    var tableColumn = function () {\n      return SugarElement.fromTag('col');\n    };\n    var createRow = function (columns, rowHeaders, columnHeaders, rowIndex) {\n      var tr = SugarElement.fromTag('tr');\n      for (var j = 0; j < columns; j++) {\n        var td = rowIndex < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell();\n        if (j < columnHeaders) {\n          set$2(td, 'scope', 'row');\n        }\n        if (rowIndex < rowHeaders) {\n          set$2(td, 'scope', 'col');\n        }\n        append$1(td, SugarElement.fromTag('br'));\n        append$1(tr, td);\n      }\n      return tr;\n    };\n    var createGroupRow = function (columns) {\n      var columnGroup = SugarElement.fromTag('colgroup');\n      range$1(columns, function () {\n        return append$1(columnGroup, tableColumn());\n      });\n      return columnGroup;\n    };\n    var createRows = function (rows, columns, rowHeaders, columnHeaders) {\n      return range$1(rows, function (r) {\n        return createRow(columns, rowHeaders, columnHeaders, r);\n      });\n    };\n    var render = function (rows, columns, rowHeaders, columnHeaders, headerType, renderOpts) {\n      if (renderOpts === void 0) {\n        renderOpts = DefaultRenderOptions;\n      }\n      var table = SugarElement.fromTag('table');\n      var rowHeadersGoInThead = headerType !== 'cells';\n      setAll(table, renderOpts.styles);\n      setAll$1(table, renderOpts.attributes);\n      if (renderOpts.colGroups) {\n        append$1(table, createGroupRow(columns));\n      }\n      var actualRowHeaders = Math.min(rows, rowHeaders);\n      if (rowHeadersGoInThead && rowHeaders > 0) {\n        var thead = SugarElement.fromTag('thead');\n        append$1(table, thead);\n        var theadRowHeaders = headerType === 'sectionCells' ? actualRowHeaders : 0;\n        var theadRows = createRows(rowHeaders, columns, theadRowHeaders, columnHeaders);\n        append(thead, theadRows);\n      }\n      var tbody = SugarElement.fromTag('tbody');\n      append$1(table, tbody);\n      var numRows = rowHeadersGoInThead ? rows - actualRowHeaders : rows;\n      var numRowHeaders = rowHeadersGoInThead ? 0 : rowHeaders;\n      var tbodyRows = createRows(numRows, columns, numRowHeaders, columnHeaders);\n      append(tbody, tbodyRows);\n      return table;\n    };\n\n    var get$2 = function (element) {\n      return element.dom.innerHTML;\n    };\n    var getOuter = function (element) {\n      var container = SugarElement.fromTag('div');\n      var clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$2(container);\n    };\n\n    var placeCaretInCell = function (editor, cell) {\n      editor.selection.select(cell.dom, true);\n      editor.selection.collapse(true);\n    };\n    var selectFirstCellInTable = function (editor, tableElm) {\n      descendant(tableElm, 'td,th').each(curry(placeCaretInCell, editor));\n    };\n    var fireEvents = function (editor, table) {\n      each$2(descendants(table, 'tr'), function (row) {\n        fireNewRow(editor, row.dom);\n        each$2(descendants(row, 'th,td'), function (cell) {\n          fireNewCell(editor, cell.dom);\n        });\n      });\n    };\n    var isPercentage = function (width) {\n      return isString(width) && width.indexOf('%') !== -1;\n    };\n    var insert = function (editor, columns, rows, colHeaders, rowHeaders) {\n      var defaultStyles = getDefaultStyles(editor);\n      var options = {\n        styles: defaultStyles,\n        attributes: getDefaultAttributes(editor),\n        colGroups: useColumnGroup(editor)\n      };\n      editor.undoManager.ignore(function () {\n        var table = render(rows, columns, rowHeaders, colHeaders, getTableHeaderType(editor), options);\n        set$2(table, 'data-mce-id', '__mce');\n        var html = getOuter(table);\n        editor.insertContent(html);\n        editor.addVisual();\n      });\n      return descendant(getBody(editor), 'table[data-mce-id=\"__mce\"]').map(function (table) {\n        if (isPixelsForced(editor)) {\n          enforcePixels(table);\n        } else if (isResponsiveForced(editor)) {\n          enforceNone(table);\n        } else if (isPercentagesForced(editor) || isPercentage(defaultStyles.width)) {\n          enforcePercentage(table);\n        }\n        removeDataStyle(table);\n        remove$7(table, 'data-mce-id');\n        fireEvents(editor, table);\n        selectFirstCellInTable(editor, table);\n        return table.dom;\n      }).getOr(null);\n    };\n    var insertTableWithDataValidation = function (editor, rows, columns, options, errorMsg) {\n      if (options === void 0) {\n        options = {};\n      }\n      var checkInput = function (val) {\n        return isNumber(val) && val > 0;\n      };\n      if (checkInput(rows) && checkInput(columns)) {\n        var headerRows = options.headerRows || 0;\n        var headerColumns = options.headerColumns || 0;\n        return insert(editor, columns, rows, headerColumns, headerRows);\n      } else {\n        console.error(errorMsg);\n        return null;\n      }\n    };\n\n    var getClipboardElements = function (getClipboard) {\n      return function () {\n        return getClipboard().fold(function () {\n          return [];\n        }, function (elems) {\n          return map$1(elems, function (e) {\n            return e.dom;\n          });\n        });\n      };\n    };\n    var setClipboardElements = function (setClipboard) {\n      return function (elems) {\n        var elmsOpt = elems.length > 0 ? Optional.some(fromDom(elems)) : Optional.none();\n        setClipboard(elmsOpt);\n      };\n    };\n    var insertTable = function (editor) {\n      return function (columns, rows, options) {\n        if (options === void 0) {\n          options = {};\n        }\n        var table = insertTableWithDataValidation(editor, rows, columns, options, 'Invalid values for insertTable - rows and columns values are required to insert a table.');\n        editor.undoManager.add();\n        return table;\n      };\n    };\n    var getApi = function (editor, clipboard, resizeHandler, selectionTargets) {\n      return {\n        insertTable: insertTable(editor),\n        setClipboardRows: setClipboardElements(clipboard.setRows),\n        getClipboardRows: getClipboardElements(clipboard.getRows),\n        setClipboardCols: setClipboardElements(clipboard.setColumns),\n        getClipboardCols: getClipboardElements(clipboard.getColumns),\n        resizeHandler: resizeHandler,\n        selectionTargets: selectionTargets\n      };\n    };\n\n    var constrainSpan = function (element, property, value) {\n      var currentColspan = getAttrValue(element, property, 1);\n      if (value === 1 || currentColspan <= 1) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, Math.min(value, currentColspan));\n      }\n    };\n    var generateColGroup = function (house, minColRange, maxColRange) {\n      if (Warehouse.hasColumns(house)) {\n        var colsToCopy = filter$2(Warehouse.justColumns(house), function (col) {\n          return col.column >= minColRange && col.column < maxColRange;\n        });\n        var copiedCols = map$1(colsToCopy, function (c) {\n          var clonedCol = deep(c.element);\n          constrainSpan(clonedCol, 'span', maxColRange - minColRange);\n          return clonedCol;\n        });\n        var fakeColgroup = SugarElement.fromTag('colgroup');\n        append(fakeColgroup, copiedCols);\n        return [fakeColgroup];\n      } else {\n        return [];\n      }\n    };\n    var generateRows = function (house, minColRange, maxColRange) {\n      return map$1(house.all, function (row) {\n        var cellsToCopy = filter$2(row.cells, function (cell) {\n          return cell.column >= minColRange && cell.column < maxColRange;\n        });\n        var copiedCells = map$1(cellsToCopy, function (cell) {\n          var clonedCell = deep(cell.element);\n          constrainSpan(clonedCell, 'colspan', maxColRange - minColRange);\n          return clonedCell;\n        });\n        var fakeTR = SugarElement.fromTag('tr');\n        append(fakeTR, copiedCells);\n        return fakeTR;\n      });\n    };\n    var copyCols = function (table, target) {\n      var house = Warehouse.fromTable(table);\n      var details = onUnlockedCells(house, target);\n      return details.map(function (selectedCells) {\n        var lastSelectedCell = selectedCells[selectedCells.length - 1];\n        var minColRange = selectedCells[0].column;\n        var maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        var fakeColGroups = generateColGroup(house, minColRange, maxColRange);\n        var fakeRows = generateRows(house, minColRange, maxColRange);\n        return __spreadArray(__spreadArray([], fakeColGroups, true), fakeRows, true);\n      });\n    };\n\n    var copyRows = function (table, target, generators) {\n      var warehouse = Warehouse.fromTable(table);\n      var details = onCells(warehouse, target);\n      return details.bind(function (selectedCells) {\n        var grid = toGrid(warehouse, generators, false);\n        var rows = extractGridDetails(grid).rows;\n        var slicedGrid = rows.slice(selectedCells[0].row, selectedCells[selectedCells.length - 1].row + selectedCells[selectedCells.length - 1].rowspan);\n        var filteredGrid = bind$2(slicedGrid, function (row) {\n          var newCells = filter$2(row.cells, function (cell) {\n            return !cell.isLocked;\n          });\n          return newCells.length > 0 ? [__assign(__assign({}, row), { cells: newCells })] : [];\n        });\n        var slicedDetails = toDetailList(filteredGrid);\n        return someIf(slicedDetails.length > 0, slicedDetails);\n      }).map(function (slicedDetails) {\n        return copy(slicedDetails);\n      });\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var getTDTHOverallStyle = function (dom, elm, name) {\n      var cells = dom.select('td,th', elm);\n      var firstChildStyle;\n      var checkChildren = function (firstChildStyle, elms) {\n        for (var i = 0; i < elms.length; i++) {\n          var currentStyle = dom.getStyle(elms[i], name);\n          if (typeof firstChildStyle === 'undefined') {\n            firstChildStyle = currentStyle;\n          }\n          if (firstChildStyle !== currentStyle) {\n            return '';\n          }\n        }\n        return firstChildStyle;\n      };\n      return checkChildren(firstChildStyle, cells);\n    };\n    var applyAlign = function (editor, elm, name) {\n      if (name) {\n        editor.formatter.apply('align' + name, {}, elm);\n      }\n    };\n    var applyVAlign = function (editor, elm, name) {\n      if (name) {\n        editor.formatter.apply('valign' + name, {}, elm);\n      }\n    };\n    var unApplyAlign = function (editor, elm) {\n      global$2.each('left center right'.split(' '), function (name) {\n        editor.formatter.remove('align' + name, {}, elm);\n      });\n    };\n    var unApplyVAlign = function (editor, elm) {\n      global$2.each('top middle bottom'.split(' '), function (name) {\n        editor.formatter.remove('valign' + name, {}, elm);\n      });\n    };\n\n    var verticalAlignValues = [\n      {\n        text: 'None',\n        value: ''\n      },\n      {\n        text: 'Top',\n        value: 'top'\n      },\n      {\n        text: 'Middle',\n        value: 'middle'\n      },\n      {\n        text: 'Bottom',\n        value: 'bottom'\n      }\n    ];\n\n    var hexColour = function (value) {\n      return { value: value };\n    };\n    var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    var longformRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n    var isHexString = function (hex) {\n      return shorthandRegex.test(hex) || longformRegex.test(hex);\n    };\n    var normalizeHex = function (hex) {\n      return removeLeading(hex, '#').toUpperCase();\n    };\n    var fromString$1 = function (hex) {\n      return isHexString(hex) ? Optional.some({ value: normalizeHex(hex) }) : Optional.none();\n    };\n    var toHex = function (component) {\n      var hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    var fromRgba = function (rgbaColour) {\n      var value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    var rgbRegex = /^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/;\n    var rgbaRegex = /^rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*(\\d?(?:\\.\\d+)?)\\)/;\n    var rgbaColour = function (red, green, blue, alpha) {\n      return {\n        red: red,\n        green: green,\n        blue: blue,\n        alpha: alpha\n      };\n    };\n    var fromStringValues = function (red, green, blue, alpha) {\n      var r = parseInt(red, 10);\n      var g = parseInt(green, 10);\n      var b = parseInt(blue, 10);\n      var a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    var fromString = function (rgbaString) {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      var rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      var rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n\n    var anyToHex = function (color) {\n      return fromString$1(color).orThunk(function () {\n        return fromString(color).map(fromRgba);\n      }).getOrThunk(function () {\n        var canvas = document.createElement('canvas');\n        canvas.height = 1;\n        canvas.width = 1;\n        var canvasContext = canvas.getContext('2d');\n        canvasContext.clearRect(0, 0, canvas.width, canvas.height);\n        canvasContext.fillStyle = '#FFFFFF';\n        canvasContext.fillStyle = color;\n        canvasContext.fillRect(0, 0, 1, 1);\n        var rgba = canvasContext.getImageData(0, 0, 1, 1).data;\n        var r = rgba[0];\n        var g = rgba[1];\n        var b = rgba[2];\n        var a = rgba[3];\n        return fromRgba(rgbaColour(r, g, b, a));\n      });\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var singleton = function (doRevoke) {\n      var subject = Cell(Optional.none());\n      var revoke = function () {\n        return subject.get().each(doRevoke);\n      };\n      var clear = function () {\n        revoke();\n        subject.set(Optional.none());\n      };\n      var isSet = function () {\n        return subject.get().isSome();\n      };\n      var get = function () {\n        return subject.get();\n      };\n      var set = function (s) {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear: clear,\n        isSet: isSet,\n        get: get,\n        set: set\n      };\n    };\n    var unbindable = function () {\n      return singleton(function (s) {\n        return s.unbind();\n      });\n    };\n    var value = function () {\n      var subject = singleton(noop);\n      var on = function (f) {\n        return subject.get().each(f);\n      };\n      return __assign(__assign({}, subject), { on: on });\n    };\n\n    var onSetupToggle = function (editor, selections, formatName, formatValue) {\n      return function (api) {\n        var boundCallback = unbindable();\n        var isNone = isEmpty$1(formatValue);\n        var init = function () {\n          var selectedCells = getCellsFromSelection(selections);\n          var checkNode = function (cell) {\n            return editor.formatter.match(formatName, { value: formatValue }, cell.dom, isNone);\n          };\n          if (isNone) {\n            api.setActive(!exists(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, function (match) {\n              return api.setActive(!match);\n            }, true));\n          } else {\n            api.setActive(forall(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, api.setActive, false, { value: formatValue }));\n          }\n        };\n        editor.initialized ? init() : editor.on('init', init);\n        return boundCallback.clear;\n      };\n    };\n    var isListGroup = function (item) {\n      return hasNonNullableKey(item, 'menu');\n    };\n    var buildListItems = function (items) {\n      return map$1(items, function (item) {\n        var text = item.text || item.title;\n        if (isListGroup(item)) {\n          return {\n            text: text,\n            items: buildListItems(item.menu)\n          };\n        } else {\n          return {\n            text: text,\n            value: item.value\n          };\n        }\n      });\n    };\n    var buildMenuItems = function (editor, selections, items, format, onAction) {\n      return map$1(items, function (item) {\n        var text = item.text || item.title;\n        if (isListGroup(item)) {\n          return {\n            type: 'nestedmenuitem',\n            text: text,\n            getSubmenuItems: function () {\n              return buildMenuItems(editor, selections, item.menu, format, onAction);\n            }\n          };\n        } else {\n          return {\n            text: text,\n            type: 'togglemenuitem',\n            onAction: function () {\n              return onAction(item.value);\n            },\n            onSetup: onSetupToggle(editor, selections, format, item.value)\n          };\n        }\n      });\n    };\n    var applyTableCellStyle = function (editor, style) {\n      return function (value) {\n        var _a;\n        editor.execCommand('mceTableApplyCellStyle', false, (_a = {}, _a[style] = value, _a));\n      };\n    };\n    var filterNoneItem = function (list) {\n      return bind$2(list, function (item) {\n        if (isListGroup(item)) {\n          return [__assign(__assign({}, item), { menu: filterNoneItem(item.menu) })];\n        } else {\n          return isNotEmpty(item.value) ? [item] : [];\n        }\n      });\n    };\n    var generateMenuItemsCallback = function (editor, selections, items, format, onAction) {\n      return function (callback) {\n        return callback(buildMenuItems(editor, selections, items, format, onAction));\n      };\n    };\n    var buildColorMenu = function (editor, colorList, style) {\n      var colorMap = map$1(colorList, function (entry) {\n        return {\n          text: entry.title,\n          value: '#' + anyToHex(entry.value).value,\n          type: 'choiceitem'\n        };\n      });\n      return [{\n          type: 'fancymenuitem',\n          fancytype: 'colorswatch',\n          initData: {\n            colors: colorMap.length > 0 ? colorMap : undefined,\n            allowCustomColors: false\n          },\n          onAction: function (data) {\n            var _a;\n            var value = data.value === 'remove' ? '' : data.value;\n            editor.execCommand('mceTableApplyCellStyle', false, (_a = {}, _a[style] = value, _a));\n          }\n        }];\n    };\n    var changeRowHeader = function (editor) {\n      return function () {\n        var currentType = editor.queryCommandValue('mceTableRowType');\n        var newType = currentType === 'header' ? 'body' : 'header';\n        editor.execCommand('mceTableRowType', false, { type: newType });\n      };\n    };\n    var changeColumnHeader = function (editor) {\n      return function () {\n        var currentType = editor.queryCommandValue('mceTableColType');\n        var newType = currentType === 'th' ? 'td' : 'th';\n        editor.execCommand('mceTableColType', false, { type: newType });\n      };\n    };\n\n    var getClassList$1 = function (editor) {\n      var classes = buildListItems(getCellClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    var children = [\n      {\n        name: 'width',\n        type: 'input',\n        label: 'Width'\n      },\n      {\n        name: 'height',\n        type: 'input',\n        label: 'Height'\n      },\n      {\n        name: 'celltype',\n        type: 'listbox',\n        label: 'Cell type',\n        items: [\n          {\n            text: 'Cell',\n            value: 'td'\n          },\n          {\n            text: 'Header cell',\n            value: 'th'\n          }\n        ]\n      },\n      {\n        name: 'scope',\n        type: 'listbox',\n        label: 'Scope',\n        items: [\n          {\n            text: 'None',\n            value: ''\n          },\n          {\n            text: 'Row',\n            value: 'row'\n          },\n          {\n            text: 'Column',\n            value: 'col'\n          },\n          {\n            text: 'Row group',\n            value: 'rowgroup'\n          },\n          {\n            text: 'Column group',\n            value: 'colgroup'\n          }\n        ]\n      },\n      {\n        name: 'halign',\n        type: 'listbox',\n        label: 'Horizontal align',\n        items: [\n          {\n            text: 'None',\n            value: ''\n          },\n          {\n            text: 'Left',\n            value: 'left'\n          },\n          {\n            text: 'Center',\n            value: 'center'\n          },\n          {\n            text: 'Right',\n            value: 'right'\n          }\n        ]\n      },\n      {\n        name: 'valign',\n        type: 'listbox',\n        label: 'Vertical align',\n        items: verticalAlignValues\n      }\n    ];\n    var getItems$2 = function (editor) {\n      return children.concat(getClassList$1(editor).toArray());\n    };\n\n    var getAdvancedTab = function (editor, dialogName) {\n      var emptyBorderStyle = [{\n          text: 'Select...',\n          value: ''\n        }];\n      var advTabItems = [\n        {\n          name: 'borderstyle',\n          type: 'listbox',\n          label: 'Border style',\n          items: emptyBorderStyle.concat(buildListItems(getTableBorderStyles(editor)))\n        },\n        {\n          name: 'bordercolor',\n          type: 'colorinput',\n          label: 'Border color'\n        },\n        {\n          name: 'backgroundcolor',\n          type: 'colorinput',\n          label: 'Background color'\n        }\n      ];\n      var borderWidth = {\n        name: 'borderwidth',\n        type: 'input',\n        label: 'Border width'\n      };\n      var items = dialogName === 'cell' ? [borderWidth].concat(advTabItems) : advTabItems;\n      return {\n        title: 'Advanced',\n        name: 'advanced',\n        items: items\n      };\n    };\n\n    var modifiers = function (testTruthy) {\n      return function (editor, node) {\n        var dom = editor.dom;\n        var setAttrib = function (attr, value) {\n          if (!testTruthy || value) {\n            dom.setAttrib(node, attr, value);\n          }\n        };\n        var setStyle = function (prop, value) {\n          if (!testTruthy || value) {\n            dom.setStyle(node, prop, value);\n          }\n        };\n        var setFormat = function (formatName, value) {\n          if (!testTruthy || value) {\n            if (value === '') {\n              editor.formatter.remove(formatName, { value: null }, node, true);\n            } else {\n              editor.formatter.apply(formatName, { value: value }, node);\n            }\n          }\n        };\n        return {\n          setAttrib: setAttrib,\n          setStyle: setStyle,\n          setFormat: setFormat\n        };\n      };\n    };\n    var DomModifier = {\n      normal: modifiers(false),\n      ifTruthy: modifiers(true)\n    };\n\n    var rgbToHex = function (dom) {\n      return function (value) {\n        return startsWith(value, 'rgb') ? dom.toHex(value) : value;\n      };\n    };\n    var extractAdvancedStyles = function (dom, elm) {\n      var element = SugarElement.fromDom(elm);\n      return {\n        borderwidth: getRaw$2(element, 'border-width').getOr(''),\n        borderstyle: getRaw$2(element, 'border-style').getOr(''),\n        bordercolor: getRaw$2(element, 'border-color').map(rgbToHex(dom)).getOr(''),\n        backgroundcolor: getRaw$2(element, 'background-color').map(rgbToHex(dom)).getOr('')\n      };\n    };\n    var getSharedValues = function (data) {\n      var baseData = data[0];\n      var comparisonData = data.slice(1);\n      each$2(comparisonData, function (items) {\n        each$2(keys(baseData), function (key) {\n          each$1(items, function (itemValue, itemKey) {\n            var comparisonValue = baseData[key];\n            if (comparisonValue !== '' && key === itemKey) {\n              if (comparisonValue !== itemValue) {\n                baseData[key] = '';\n              }\n            }\n          });\n        });\n      });\n      return baseData;\n    };\n    var getAlignment = function (formats, formatName, editor, elm) {\n      return find$1(formats, function (name) {\n        return !isUndefined(editor.formatter.matchNode(elm, formatName + name));\n      }).getOr('');\n    };\n    var getHAlignment = curry(getAlignment, [\n      'left',\n      'center',\n      'right'\n    ], 'align');\n    var getVAlignment = curry(getAlignment, [\n      'top',\n      'middle',\n      'bottom'\n    ], 'valign');\n    var extractDataFromSettings = function (editor, hasAdvTableTab) {\n      var style = getDefaultStyles(editor);\n      var attrs = getDefaultAttributes(editor);\n      var extractAdvancedStyleData = function (dom) {\n        return {\n          borderstyle: get$c(style, 'border-style').getOr(''),\n          bordercolor: rgbToHex(dom)(get$c(style, 'border-color').getOr('')),\n          backgroundcolor: rgbToHex(dom)(get$c(style, 'background-color').getOr(''))\n        };\n      };\n      var defaultData = {\n        height: '',\n        width: '100%',\n        cellspacing: '',\n        cellpadding: '',\n        caption: false,\n        class: '',\n        align: '',\n        border: ''\n      };\n      var getBorder = function () {\n        var borderWidth = style['border-width'];\n        if (shouldStyleWithCss(editor) && borderWidth) {\n          return { border: borderWidth };\n        }\n        return get$c(attrs, 'border').fold(function () {\n          return {};\n        }, function (border) {\n          return { border: border };\n        });\n      };\n      var advStyle = hasAdvTableTab ? extractAdvancedStyleData(editor.dom) : {};\n      var getCellPaddingCellSpacing = function () {\n        var spacing = get$c(style, 'border-spacing').or(get$c(attrs, 'cellspacing')).fold(function () {\n          return {};\n        }, function (cellspacing) {\n          return { cellspacing: cellspacing };\n        });\n        var padding = get$c(style, 'border-padding').or(get$c(attrs, 'cellpadding')).fold(function () {\n          return {};\n        }, function (cellpadding) {\n          return { cellpadding: cellpadding };\n        });\n        return __assign(__assign({}, spacing), padding);\n      };\n      var data = __assign(__assign(__assign(__assign(__assign(__assign({}, defaultData), style), attrs), advStyle), getBorder()), getCellPaddingCellSpacing());\n      return data;\n    };\n    var getRowType = function (elm) {\n      return table(SugarElement.fromDom(elm)).map(function (table) {\n        var target = { selection: fromDom(elm.cells) };\n        return getRowsType(table, target);\n      }).getOr('');\n    };\n    var extractDataFromTableElement = function (editor, elm, hasAdvTableTab) {\n      var getBorder = function (dom, elm) {\n        var optBorderWidth = getRaw$2(SugarElement.fromDom(elm), 'border-width');\n        if (shouldStyleWithCss(editor) && optBorderWidth.isSome()) {\n          return optBorderWidth.getOr('');\n        }\n        return dom.getAttrib(elm, 'border') || getTDTHOverallStyle(editor.dom, elm, 'border-width') || getTDTHOverallStyle(editor.dom, elm, 'border');\n      };\n      var dom = editor.dom;\n      var cellspacing = shouldStyleWithCss(editor) ? dom.getStyle(elm, 'border-spacing') || dom.getAttrib(elm, 'cellspacing') : dom.getAttrib(elm, 'cellspacing') || dom.getStyle(elm, 'border-spacing');\n      var cellpadding = shouldStyleWithCss(editor) ? getTDTHOverallStyle(dom, elm, 'padding') || dom.getAttrib(elm, 'cellpadding') : dom.getAttrib(elm, 'cellpadding') || getTDTHOverallStyle(dom, elm, 'padding');\n      return __assign({\n        width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'),\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        cellspacing: cellspacing,\n        cellpadding: cellpadding,\n        border: getBorder(dom, elm),\n        caption: !!dom.select('caption', elm)[0],\n        class: dom.getAttrib(elm, 'class', ''),\n        align: getHAlignment(editor, elm)\n      }, hasAdvTableTab ? extractAdvancedStyles(dom, elm) : {});\n    };\n    var extractDataFromRowElement = function (editor, elm, hasAdvancedRowTab) {\n      var dom = editor.dom;\n      return __assign({\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        class: dom.getAttrib(elm, 'class', ''),\n        type: getRowType(elm),\n        align: getHAlignment(editor, elm)\n      }, hasAdvancedRowTab ? extractAdvancedStyles(dom, elm) : {});\n    };\n    var extractDataFromCellElement = function (editor, cell, hasAdvancedCellTab, column) {\n      var dom = editor.dom;\n      var colElm = column.getOr(cell);\n      var getStyle = function (element, style) {\n        return dom.getStyle(element, style) || dom.getAttrib(element, style);\n      };\n      return __assign({\n        width: getStyle(colElm, 'width'),\n        height: getStyle(cell, 'height'),\n        scope: dom.getAttrib(cell, 'scope'),\n        celltype: getNodeName(cell),\n        class: dom.getAttrib(cell, 'class', ''),\n        halign: getHAlignment(editor, cell),\n        valign: getVAlignment(editor, cell)\n      }, hasAdvancedCellTab ? extractAdvancedStyles(dom, cell) : {});\n    };\n\n    var getSelectedCells = function (table, cells) {\n      var warehouse = Warehouse.fromTable(table);\n      var allCells = Warehouse.justCells(warehouse);\n      var filtered = filter$2(allCells, function (cellA) {\n        return exists(cells, function (cellB) {\n          return eq$1(cellA.element, cellB);\n        });\n      });\n      return map$1(filtered, function (cell) {\n        return {\n          element: cell.element.dom,\n          column: Warehouse.getColumnAt(warehouse, cell.column).map(function (col) {\n            return col.element.dom;\n          })\n        };\n      });\n    };\n    var updateSimpleProps$1 = function (modifier, colModifier, data) {\n      modifier.setAttrib('scope', data.scope);\n      modifier.setAttrib('class', data.class);\n      modifier.setStyle('height', addPxSuffix(data.height));\n      colModifier.setStyle('width', addPxSuffix(data.width));\n    };\n    var updateAdvancedProps$1 = function (modifier, data) {\n      modifier.setFormat('tablecellbackgroundcolor', data.backgroundcolor);\n      modifier.setFormat('tablecellbordercolor', data.bordercolor);\n      modifier.setFormat('tablecellborderstyle', data.borderstyle);\n      modifier.setFormat('tablecellborderwidth', addPxSuffix(data.borderwidth));\n    };\n    var applyStyleData$1 = function (editor, cells, data) {\n      var isSingleCell = cells.length === 1;\n      each$2(cells, function (item) {\n        var cellElm = item.element;\n        var modifier = isSingleCell ? DomModifier.normal(editor, cellElm) : DomModifier.ifTruthy(editor, cellElm);\n        var colModifier = item.column.map(function (col) {\n          return isSingleCell ? DomModifier.normal(editor, col) : DomModifier.ifTruthy(editor, col);\n        }).getOr(modifier);\n        updateSimpleProps$1(modifier, colModifier, data);\n        if (hasAdvancedCellTab(editor)) {\n          updateAdvancedProps$1(modifier, data);\n        }\n        if (isSingleCell) {\n          unApplyAlign(editor, cellElm);\n          unApplyVAlign(editor, cellElm);\n        }\n        if (data.halign) {\n          applyAlign(editor, cellElm, data.halign);\n        }\n        if (data.valign) {\n          applyVAlign(editor, cellElm, data.valign);\n        }\n      });\n    };\n    var applyStructureData$1 = function (editor, data) {\n      editor.execCommand('mceTableCellType', false, {\n        type: data.celltype,\n        no_events: true\n      });\n    };\n    var applyCellData = function (editor, cells, oldData, data) {\n      var modifiedData = filter$1(data, function (value, key) {\n        return oldData[key] !== value;\n      });\n      if (size(modifiedData) > 0 && cells.length >= 1) {\n        table(cells[0]).each(function (table) {\n          var selectedCells = getSelectedCells(table, cells);\n          var styleModified = size(filter$1(modifiedData, function (_value, key) {\n            return key !== 'scope' && key !== 'celltype';\n          })) > 0;\n          var structureModified = has$1(modifiedData, 'celltype');\n          if (styleModified || has$1(modifiedData, 'scope')) {\n            applyStyleData$1(editor, selectedCells, data);\n          }\n          if (structureModified) {\n            applyStructureData$1(editor, data);\n          }\n          fireTableModified(editor, table.dom, {\n            structure: structureModified,\n            style: styleModified\n          });\n        });\n      }\n    };\n    var onSubmitCellForm = function (editor, cells, oldData, api) {\n      var data = api.getData();\n      api.close();\n      editor.undoManager.transact(function () {\n        applyCellData(editor, cells, oldData, data);\n        editor.focus();\n      });\n    };\n    var getData = function (editor, cells) {\n      var cellsData = table(cells[0]).map(function (table) {\n        return map$1(getSelectedCells(table, cells), function (item) {\n          return extractDataFromCellElement(editor, item.element, hasAdvancedCellTab(editor), item.column);\n        });\n      });\n      return getSharedValues(cellsData.getOrDie());\n    };\n    var open$2 = function (editor, selections) {\n      var cells = getCellsFromSelection(selections);\n      if (cells.length === 0) {\n        return;\n      }\n      var data = getData(editor, cells);\n      var dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [\n          {\n            title: 'General',\n            name: 'general',\n            items: getItems$2(editor)\n          },\n          getAdvancedTab(editor, 'cell')\n        ]\n      };\n      var dialogPanel = {\n        type: 'panel',\n        items: [{\n            type: 'grid',\n            columns: 2,\n            items: getItems$2(editor)\n          }]\n      };\n      editor.windowManager.open({\n        title: 'Cell Properties',\n        size: 'normal',\n        body: hasAdvancedCellTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        initialData: data,\n        onSubmit: curry(onSubmitCellForm, editor, cells, data)\n      });\n    };\n\n    var getClassList = function (editor) {\n      var classes = buildListItems(getRowClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    var formChildren = [\n      {\n        type: 'listbox',\n        name: 'type',\n        label: 'Row type',\n        items: [\n          {\n            text: 'Header',\n            value: 'header'\n          },\n          {\n            text: 'Body',\n            value: 'body'\n          },\n          {\n            text: 'Footer',\n            value: 'footer'\n          }\n        ]\n      },\n      {\n        type: 'listbox',\n        name: 'align',\n        label: 'Alignment',\n        items: [\n          {\n            text: 'None',\n            value: ''\n          },\n          {\n            text: 'Left',\n            value: 'left'\n          },\n          {\n            text: 'Center',\n            value: 'center'\n          },\n          {\n            text: 'Right',\n            value: 'right'\n          }\n        ]\n      },\n      {\n        label: 'Height',\n        name: 'height',\n        type: 'input'\n      }\n    ];\n    var getItems$1 = function (editor) {\n      return formChildren.concat(getClassList(editor).toArray());\n    };\n\n    var updateSimpleProps = function (modifier, data) {\n      modifier.setAttrib('class', data.class);\n      modifier.setStyle('height', addPxSuffix(data.height));\n    };\n    var updateAdvancedProps = function (modifier, data) {\n      modifier.setStyle('background-color', data.backgroundcolor);\n      modifier.setStyle('border-color', data.bordercolor);\n      modifier.setStyle('border-style', data.borderstyle);\n    };\n    var applyStyleData = function (editor, rows, data, oldData) {\n      var isSingleRow = rows.length === 1;\n      each$2(rows, function (rowElm) {\n        var modifier = isSingleRow ? DomModifier.normal(editor, rowElm) : DomModifier.ifTruthy(editor, rowElm);\n        updateSimpleProps(modifier, data);\n        if (hasAdvancedRowTab(editor)) {\n          updateAdvancedProps(modifier, data);\n        }\n        if (data.align !== oldData.align) {\n          unApplyAlign(editor, rowElm);\n          applyAlign(editor, rowElm, data.align);\n        }\n      });\n    };\n    var applyStructureData = function (editor, data) {\n      editor.execCommand('mceTableRowType', false, {\n        type: data.type,\n        no_events: true\n      });\n    };\n    var applyRowData = function (editor, rows, oldData, data) {\n      var modifiedData = filter$1(data, function (value, key) {\n        return oldData[key] !== value;\n      });\n      if (size(modifiedData) > 0) {\n        var typeModified_1 = has$1(modifiedData, 'type');\n        var styleModified_1 = typeModified_1 ? size(modifiedData) > 1 : true;\n        if (styleModified_1) {\n          applyStyleData(editor, rows, data, oldData);\n        }\n        if (typeModified_1) {\n          applyStructureData(editor, data);\n        }\n        table(SugarElement.fromDom(rows[0])).each(function (table) {\n          return fireTableModified(editor, table.dom, {\n            structure: typeModified_1,\n            style: styleModified_1\n          });\n        });\n      }\n    };\n    var onSubmitRowForm = function (editor, rows, oldData, api) {\n      var data = api.getData();\n      api.close();\n      editor.undoManager.transact(function () {\n        applyRowData(editor, rows, oldData, data);\n        editor.focus();\n      });\n    };\n    var open$1 = function (editor) {\n      var rows = getRowsFromSelection(getSelectionStart(editor), ephemera.selected);\n      if (rows.length === 0) {\n        return;\n      }\n      var rowsData = map$1(rows, function (rowElm) {\n        return extractDataFromRowElement(editor, rowElm.dom, hasAdvancedRowTab(editor));\n      });\n      var data = getSharedValues(rowsData);\n      var dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [\n          {\n            title: 'General',\n            name: 'general',\n            items: getItems$1(editor)\n          },\n          getAdvancedTab(editor, 'row')\n        ]\n      };\n      var dialogPanel = {\n        type: 'panel',\n        items: [{\n            type: 'grid',\n            columns: 2,\n            items: getItems$1(editor)\n          }]\n      };\n      editor.windowManager.open({\n        title: 'Row Properties',\n        size: 'normal',\n        body: hasAdvancedRowTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        initialData: data,\n        onSubmit: curry(onSubmitRowForm, editor, map$1(rows, function (r) {\n          return r.dom;\n        }), data)\n      });\n    };\n\n    var getItems = function (editor, classes, insertNewTable) {\n      var rowColCountItems = !insertNewTable ? [] : [\n        {\n          type: 'input',\n          name: 'cols',\n          label: 'Cols',\n          inputMode: 'numeric'\n        },\n        {\n          type: 'input',\n          name: 'rows',\n          label: 'Rows',\n          inputMode: 'numeric'\n        }\n      ];\n      var alwaysItems = [\n        {\n          type: 'input',\n          name: 'width',\n          label: 'Width'\n        },\n        {\n          type: 'input',\n          name: 'height',\n          label: 'Height'\n        }\n      ];\n      var appearanceItems = hasAppearanceOptions(editor) ? [\n        {\n          type: 'input',\n          name: 'cellspacing',\n          label: 'Cell spacing',\n          inputMode: 'numeric'\n        },\n        {\n          type: 'input',\n          name: 'cellpadding',\n          label: 'Cell padding',\n          inputMode: 'numeric'\n        },\n        {\n          type: 'input',\n          name: 'border',\n          label: 'Border width'\n        },\n        {\n          type: 'label',\n          label: 'Caption',\n          items: [{\n              type: 'checkbox',\n              name: 'caption',\n              label: 'Show caption'\n            }]\n        }\n      ] : [];\n      var alignmentItem = [{\n          type: 'listbox',\n          name: 'align',\n          label: 'Alignment',\n          items: [\n            {\n              text: 'None',\n              value: ''\n            },\n            {\n              text: 'Left',\n              value: 'left'\n            },\n            {\n              text: 'Center',\n              value: 'center'\n            },\n            {\n              text: 'Right',\n              value: 'right'\n            }\n          ]\n        }];\n      var classListItem = classes.length > 0 ? [{\n          type: 'listbox',\n          name: 'class',\n          label: 'Class',\n          items: classes\n        }] : [];\n      return rowColCountItems.concat(alwaysItems).concat(appearanceItems).concat(alignmentItem).concat(classListItem);\n    };\n\n    var styleTDTH = function (dom, elm, name, value) {\n      if (elm.tagName === 'TD' || elm.tagName === 'TH') {\n        if (isString(name)) {\n          dom.setStyle(elm, name, value);\n        } else {\n          dom.setStyle(elm, name);\n        }\n      } else {\n        if (elm.children) {\n          for (var i = 0; i < elm.children.length; i++) {\n            styleTDTH(dom, elm.children[i], name, value);\n          }\n        }\n      }\n    };\n    var applyDataToElement = function (editor, tableElm, data) {\n      var dom = editor.dom;\n      var attrs = {};\n      var styles = {};\n      attrs.class = data.class;\n      styles.height = addPxSuffix(data.height);\n      if (dom.getAttrib(tableElm, 'width') && !shouldStyleWithCss(editor)) {\n        attrs.width = removePxSuffix(data.width);\n      } else {\n        styles.width = addPxSuffix(data.width);\n      }\n      if (shouldStyleWithCss(editor)) {\n        styles['border-width'] = addPxSuffix(data.border);\n        styles['border-spacing'] = addPxSuffix(data.cellspacing);\n      } else {\n        attrs.border = data.border;\n        attrs.cellpadding = data.cellpadding;\n        attrs.cellspacing = data.cellspacing;\n      }\n      if (shouldStyleWithCss(editor) && tableElm.children) {\n        for (var i = 0; i < tableElm.children.length; i++) {\n          styleTDTH(dom, tableElm.children[i], {\n            'border-width': addPxSuffix(data.border),\n            'padding': addPxSuffix(data.cellpadding)\n          });\n          if (hasAdvancedTableTab(editor)) {\n            styleTDTH(dom, tableElm.children[i], { 'border-color': data.bordercolor });\n          }\n        }\n      }\n      if (hasAdvancedTableTab(editor)) {\n        styles['background-color'] = data.backgroundcolor;\n        styles['border-color'] = data.bordercolor;\n        styles['border-style'] = data.borderstyle;\n      }\n      attrs.style = dom.serializeStyle(__assign(__assign({}, getDefaultStyles(editor)), styles));\n      dom.setAttribs(tableElm, __assign(__assign({}, getDefaultAttributes(editor)), attrs));\n    };\n    var onSubmitTableForm = function (editor, tableElm, oldData, api) {\n      var dom = editor.dom;\n      var data = api.getData();\n      var modifiedData = filter$1(data, function (value, key) {\n        return oldData[key] !== value;\n      });\n      api.close();\n      if (data.class === '') {\n        delete data.class;\n      }\n      editor.undoManager.transact(function () {\n        if (!tableElm) {\n          var cols = parseInt(data.cols, 10) || 1;\n          var rows = parseInt(data.rows, 10) || 1;\n          tableElm = insert(editor, cols, rows, 0, 0);\n        }\n        if (size(modifiedData) > 0) {\n          applyDataToElement(editor, tableElm, data);\n          var captionElm = dom.select('caption', tableElm)[0];\n          if (captionElm && !data.caption || !captionElm && data.caption) {\n            editor.execCommand('mceTableToggleCaption');\n          }\n          if (data.align === '') {\n            unApplyAlign(editor, tableElm);\n          } else {\n            applyAlign(editor, tableElm, data.align);\n          }\n        }\n        editor.focus();\n        editor.addVisual();\n        if (size(modifiedData) > 0) {\n          var captionModified = has$1(modifiedData, 'caption');\n          var styleModified = captionModified ? size(modifiedData) > 1 : true;\n          fireTableModified(editor, tableElm, {\n            structure: captionModified,\n            style: styleModified\n          });\n        }\n      });\n    };\n    var open = function (editor, insertNewTable) {\n      var dom = editor.dom;\n      var tableElm;\n      var data = extractDataFromSettings(editor, hasAdvancedTableTab(editor));\n      if (insertNewTable === false) {\n        tableElm = dom.getParent(editor.selection.getStart(), 'table', editor.getBody());\n        if (tableElm) {\n          data = extractDataFromTableElement(editor, tableElm, hasAdvancedTableTab(editor));\n        } else {\n          if (hasAdvancedTableTab(editor)) {\n            data.borderstyle = '';\n            data.bordercolor = '';\n            data.backgroundcolor = '';\n          }\n        }\n      } else {\n        data.cols = '1';\n        data.rows = '1';\n        if (hasAdvancedTableTab(editor)) {\n          data.borderstyle = '';\n          data.bordercolor = '';\n          data.backgroundcolor = '';\n        }\n      }\n      var classes = buildListItems(getTableClassList(editor));\n      if (classes.length > 0) {\n        if (data.class) {\n          data.class = data.class.replace(/\\s*mce\\-item\\-table\\s*/g, '');\n        }\n      }\n      var generalPanel = {\n        type: 'grid',\n        columns: 2,\n        items: getItems(editor, classes, insertNewTable)\n      };\n      var nonAdvancedForm = function () {\n        return {\n          type: 'panel',\n          items: [generalPanel]\n        };\n      };\n      var advancedForm = function () {\n        return {\n          type: 'tabpanel',\n          tabs: [\n            {\n              title: 'General',\n              name: 'general',\n              items: [generalPanel]\n            },\n            getAdvancedTab(editor, 'table')\n          ]\n        };\n      };\n      var dialogBody = hasAdvancedTableTab(editor) ? advancedForm() : nonAdvancedForm();\n      editor.windowManager.open({\n        title: 'Table Properties',\n        size: 'normal',\n        body: dialogBody,\n        onSubmit: curry(onSubmitTableForm, editor, tableElm, data),\n        buttons: [\n          {\n            type: 'cancel',\n            name: 'cancel',\n            text: 'Cancel'\n          },\n          {\n            type: 'submit',\n            name: 'save',\n            text: 'Save',\n            primary: true\n          }\n        ],\n        initialData: data\n      });\n    };\n\n    var getSelectionStartCellOrCaption = function (editor) {\n      return getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor));\n    };\n    var getSelectionStartCell = function (editor) {\n      return getSelectionCell(getSelectionStart(editor), getIsRoot(editor));\n    };\n    var registerCommands = function (editor, actions, cellSelection, selections, clipboard) {\n      var isRoot = getIsRoot(editor);\n      var eraseTable = function () {\n        return getSelectionStartCellOrCaption(editor).each(function (cellOrCaption) {\n          table(cellOrCaption, isRoot).filter(not(isRoot)).each(function (table) {\n            var cursor = SugarElement.fromText('');\n            after$5(table, cursor);\n            remove$5(table);\n            if (editor.dom.isEmpty(editor.getBody())) {\n              editor.setContent('');\n              editor.selection.setCursorLocation();\n            } else {\n              var rng = editor.dom.createRng();\n              rng.setStart(cursor.dom, 0);\n              rng.setEnd(cursor.dom, 0);\n              editor.selection.setRng(rng);\n              editor.nodeChanged();\n            }\n          });\n        });\n      };\n      var setSizingMode = function (sizing) {\n        return getSelectionStartCellOrCaption(editor).each(function (cellOrCaption) {\n          var isForcedSizing = isResponsiveForced(editor) || isPixelsForced(editor) || isPercentagesForced(editor);\n          if (!isForcedSizing) {\n            table(cellOrCaption, isRoot).each(function (table) {\n              if (sizing === 'relative' && !isPercentSizing(table)) {\n                enforcePercentage(table);\n              } else if (sizing === 'fixed' && !isPixelSizing(table)) {\n                enforcePixels(table);\n              } else if (sizing === 'responsive' && !isNoneSizing(table)) {\n                enforceNone(table);\n              }\n              removeDataStyle(table);\n              fireTableModified(editor, table.dom, structureModified);\n            });\n          }\n        });\n      };\n      var getTableFromCell = function (cell) {\n        return table(cell, isRoot);\n      };\n      var performActionOnSelection = function (action) {\n        return getSelectionStartCell(editor).bind(function (cell) {\n          return getTableFromCell(cell).map(function (table) {\n            return action(table, cell);\n          });\n        });\n      };\n      var toggleTableClass = function (_ui, clazz) {\n        performActionOnSelection(function (table) {\n          editor.formatter.toggle('tableclass', { value: clazz }, table.dom);\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      var toggleTableCellClass = function (_ui, clazz) {\n        performActionOnSelection(function (table) {\n          var selectedCells = getCellsFromSelection(selections);\n          var allHaveClass = forall(selectedCells, function (cell) {\n            return editor.formatter.match('tablecellclass', { value: clazz }, cell.dom);\n          });\n          var formatterAction = allHaveClass ? editor.formatter.remove : editor.formatter.apply;\n          each$2(selectedCells, function (cell) {\n            return formatterAction('tablecellclass', { value: clazz }, cell.dom);\n          });\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      var toggleCaption = function () {\n        getSelectionStartCellOrCaption(editor).each(function (cellOrCaption) {\n          table(cellOrCaption, isRoot).each(function (table) {\n            child$1(table, 'caption').fold(function () {\n              var caption = SugarElement.fromTag('caption');\n              append$1(caption, SugarElement.fromText('Caption'));\n              appendAt(table, caption, 0);\n              editor.selection.setCursorLocation(caption.dom, 0);\n            }, function (caption) {\n              if (isTag('caption')(cellOrCaption)) {\n                one('td', table).each(function (td) {\n                  return editor.selection.setCursorLocation(td.dom, 0);\n                });\n              }\n              remove$5(caption);\n            });\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        });\n      };\n      var postExecute = function (_data) {\n        editor.focus();\n      };\n      var actOnSelection = function (execute, noEvents) {\n        if (noEvents === void 0) {\n          noEvents = false;\n        }\n        return performActionOnSelection(function (table, startCell) {\n          var targets = forMenu(selections, table, startCell);\n          execute(table, targets, noEvents).each(postExecute);\n        });\n      };\n      var copyRowSelection = function () {\n        return performActionOnSelection(function (table, startCell) {\n          var targets = forMenu(selections, table, startCell);\n          var generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), Optional.none());\n          return copyRows(table, targets, generators);\n        });\n      };\n      var copyColSelection = function () {\n        return performActionOnSelection(function (table, startCell) {\n          var targets = forMenu(selections, table, startCell);\n          return copyCols(table, targets);\n        });\n      };\n      var pasteOnSelection = function (execute, getRows) {\n        return getRows().each(function (rows) {\n          var clonedRows = map$1(rows, function (row) {\n            return deep(row);\n          });\n          performActionOnSelection(function (table, startCell) {\n            var generators = paste$1(SugarElement.fromDom(editor.getDoc()));\n            var targets = pasteRows(selections, startCell, clonedRows, generators);\n            execute(table, targets).each(postExecute);\n          });\n        });\n      };\n      var actOnType = function (getAction) {\n        return function (_ui, args) {\n          return get$c(args, 'type').each(function (type) {\n            actOnSelection(getAction(type), args.no_events);\n          });\n        };\n      };\n      each$1({\n        mceTableSplitCells: function () {\n          return actOnSelection(actions.unmergeCells);\n        },\n        mceTableMergeCells: function () {\n          return actOnSelection(actions.mergeCells);\n        },\n        mceTableInsertRowBefore: function () {\n          return actOnSelection(actions.insertRowsBefore);\n        },\n        mceTableInsertRowAfter: function () {\n          return actOnSelection(actions.insertRowsAfter);\n        },\n        mceTableInsertColBefore: function () {\n          return actOnSelection(actions.insertColumnsBefore);\n        },\n        mceTableInsertColAfter: function () {\n          return actOnSelection(actions.insertColumnsAfter);\n        },\n        mceTableDeleteCol: function () {\n          return actOnSelection(actions.deleteColumn);\n        },\n        mceTableDeleteRow: function () {\n          return actOnSelection(actions.deleteRow);\n        },\n        mceTableCutCol: function () {\n          return copyColSelection().each(function (selection) {\n            clipboard.setColumns(selection);\n            actOnSelection(actions.deleteColumn);\n          });\n        },\n        mceTableCutRow: function () {\n          return copyRowSelection().each(function (selection) {\n            clipboard.setRows(selection);\n            actOnSelection(actions.deleteRow);\n          });\n        },\n        mceTableCopyCol: function () {\n          return copyColSelection().each(function (selection) {\n            return clipboard.setColumns(selection);\n          });\n        },\n        mceTableCopyRow: function () {\n          return copyRowSelection().each(function (selection) {\n            return clipboard.setRows(selection);\n          });\n        },\n        mceTablePasteColBefore: function () {\n          return pasteOnSelection(actions.pasteColsBefore, clipboard.getColumns);\n        },\n        mceTablePasteColAfter: function () {\n          return pasteOnSelection(actions.pasteColsAfter, clipboard.getColumns);\n        },\n        mceTablePasteRowBefore: function () {\n          return pasteOnSelection(actions.pasteRowsBefore, clipboard.getRows);\n        },\n        mceTablePasteRowAfter: function () {\n          return pasteOnSelection(actions.pasteRowsAfter, clipboard.getRows);\n        },\n        mceTableDelete: eraseTable,\n        mceTableCellToggleClass: toggleTableCellClass,\n        mceTableToggleClass: toggleTableClass,\n        mceTableToggleCaption: toggleCaption,\n        mceTableSizingMode: function (_ui, sizing) {\n          return setSizingMode(sizing);\n        },\n        mceTableCellType: actOnType(function (type) {\n          return type === 'th' ? actions.makeCellsHeader : actions.unmakeCellsHeader;\n        }),\n        mceTableColType: actOnType(function (type) {\n          return type === 'th' ? actions.makeColumnsHeader : actions.unmakeColumnsHeader;\n        }),\n        mceTableRowType: actOnType(function (type) {\n          switch (type) {\n          case 'header':\n            return actions.makeRowsHeader;\n          case 'footer':\n            return actions.makeRowsFooter;\n          default:\n            return actions.makeRowsBody;\n          }\n        })\n      }, function (func, name) {\n        return editor.addCommand(name, func);\n      });\n      each$1({\n        mceTableProps: curry(open, editor, false),\n        mceTableRowProps: curry(open$1, editor),\n        mceTableCellProps: curry(open$2, editor, selections)\n      }, function (func, name) {\n        return editor.addCommand(name, function () {\n          return func();\n        });\n      });\n      editor.addCommand('mceInsertTable', function (_ui, args) {\n        if (isObject(args) && keys(args).length > 0) {\n          insertTableWithDataValidation(editor, args.rows, args.columns, args.options, 'Invalid values for mceInsertTable - rows and columns values are required to insert a table.');\n        } else {\n          open(editor, true);\n        }\n      });\n      editor.addCommand('mceTableApplyCellStyle', function (_ui, args) {\n        var getFormatName = function (style) {\n          return 'tablecell' + style.toLowerCase().replace('-', '');\n        };\n        if (!isObject(args)) {\n          return;\n        }\n        var cells = getCellsFromSelection(selections);\n        if (cells.length === 0) {\n          return;\n        }\n        var validArgs = filter$1(args, function (value, style) {\n          return editor.formatter.has(getFormatName(style)) && isString(value);\n        });\n        if (isEmpty(validArgs)) {\n          return;\n        }\n        each$1(validArgs, function (value, style) {\n          each$2(cells, function (cell) {\n            DomModifier.normal(editor, cell.dom).setFormat(getFormatName(style), value);\n          });\n        });\n        getTableFromCell(cells[0]).each(function (table) {\n          return fireTableModified(editor, table.dom, styleModified);\n        });\n      });\n    };\n\n    var registerQueryCommands = function (editor, actions, selections) {\n      var isRoot = getIsRoot(editor);\n      var lookupOnSelection = function (action) {\n        return getSelectionCell(getSelectionStart(editor)).bind(function (cell) {\n          return table(cell, isRoot).map(function (table) {\n            var targets = forMenu(selections, table, cell);\n            return action(table, targets);\n          });\n        }).getOr('');\n      };\n      each$1({\n        mceTableRowType: function () {\n          return lookupOnSelection(actions.getTableRowType);\n        },\n        mceTableCellType: function () {\n          return lookupOnSelection(actions.getTableCellType);\n        },\n        mceTableColType: function () {\n          return lookupOnSelection(actions.getTableColType);\n        }\n      }, function (func, name) {\n        return editor.addQueryValueHandler(name, func);\n      });\n    };\n\n    var Clipboard = function () {\n      var rows = value();\n      var cols = value();\n      return {\n        getRows: rows.get,\n        setRows: function (r) {\n          r.fold(rows.clear, rows.set);\n          cols.clear();\n        },\n        clearRows: rows.clear,\n        getColumns: cols.get,\n        setColumns: function (c) {\n          c.fold(cols.clear, cols.set);\n          rows.clear();\n        },\n        clearColumns: cols.clear\n      };\n    };\n\n    var genericBase = {\n      remove_similar: true,\n      inherit: false\n    };\n    var cellBase = __assign({ selector: 'td,th' }, genericBase);\n    var cellFormats = {\n      tablecellbackgroundcolor: __assign({ styles: { backgroundColor: '%value' } }, cellBase),\n      tablecellverticalalign: __assign({ styles: { 'vertical-align': '%value' } }, cellBase),\n      tablecellbordercolor: __assign({ styles: { borderColor: '%value' } }, cellBase),\n      tablecellclass: __assign({ classes: ['%value'] }, cellBase),\n      tableclass: __assign({\n        selector: 'table',\n        classes: ['%value']\n      }, genericBase),\n      tablecellborderstyle: __assign({ styles: { borderStyle: '%value' } }, cellBase),\n      tablecellborderwidth: __assign({ styles: { borderWidth: '%value' } }, cellBase)\n    };\n    var registerFormats = function (editor) {\n      editor.formatter.register(cellFormats);\n    };\n\n    var adt$5 = Adt.generate([\n      { none: ['current'] },\n      { first: ['current'] },\n      {\n        middle: [\n          'current',\n          'target'\n        ]\n      },\n      { last: ['current'] }\n    ]);\n    var none = function (current) {\n      if (current === void 0) {\n        current = undefined;\n      }\n      return adt$5.none(current);\n    };\n    var CellLocation = __assign(__assign({}, adt$5), { none: none });\n\n    var walk = function (all, current, index, direction, isEligible) {\n      if (isEligible === void 0) {\n        isEligible = always;\n      }\n      var forwards = direction === 1;\n      if (!forwards && index <= 0) {\n        return CellLocation.first(all[0]);\n      } else if (forwards && index >= all.length - 1) {\n        return CellLocation.last(all[all.length - 1]);\n      } else {\n        var newIndex = index + direction;\n        var elem = all[newIndex];\n        return isEligible(elem) ? CellLocation.middle(current, elem) : walk(all, current, newIndex, direction, isEligible);\n      }\n    };\n    var detect$1 = function (current, isRoot) {\n      return table(current, isRoot).bind(function (table) {\n        var all = cells$1(table);\n        var index = findIndex(all, function (x) {\n          return eq$1(current, x);\n        });\n        return index.map(function (index) {\n          return {\n            index: index,\n            all: all\n          };\n        });\n      });\n    };\n    var next = function (current, isEligible, isRoot) {\n      var detection = detect$1(current, isRoot);\n      return detection.fold(function () {\n        return CellLocation.none(current);\n      }, function (info) {\n        return walk(info.all, current, info.index, 1, isEligible);\n      });\n    };\n    var prev = function (current, isEligible, isRoot) {\n      var detection = detect$1(current, isRoot);\n      return detection.fold(function () {\n        return CellLocation.none();\n      }, function (info) {\n        return walk(info.all, current, info.index, -1, isEligible);\n      });\n    };\n\n    var create$2 = function (start, soffset, finish, foffset) {\n      return {\n        start: start,\n        soffset: soffset,\n        finish: finish,\n        foffset: foffset\n      };\n    };\n    var SimRange = { create: create$2 };\n\n    var adt$4 = Adt.generate([\n      { before: ['element'] },\n      {\n        on: [\n          'element',\n          'offset'\n        ]\n      },\n      { after: ['element'] }\n    ]);\n    var cata$1 = function (subject, onBefore, onOn, onAfter) {\n      return subject.fold(onBefore, onOn, onAfter);\n    };\n    var getStart$1 = function (situ) {\n      return situ.fold(identity, identity, identity);\n    };\n    var before$2 = adt$4.before;\n    var on = adt$4.on;\n    var after$3 = adt$4.after;\n    var Situ = {\n      before: before$2,\n      on: on,\n      after: after$3,\n      cata: cata$1,\n      getStart: getStart$1\n    };\n\n    var adt$3 = Adt.generate([\n      { domRange: ['rng'] },\n      {\n        relative: [\n          'startSitu',\n          'finishSitu'\n        ]\n      },\n      {\n        exact: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var exactFromRange = function (simRange) {\n      return adt$3.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    };\n    var getStart = function (selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return SugarElement.fromDom(rng.startContainer);\n        },\n        relative: function (startSitu, _finishSitu) {\n          return Situ.getStart(startSitu);\n        },\n        exact: function (start, _soffset, _finish, _foffset) {\n          return start;\n        }\n      });\n    };\n    var domRange = adt$3.domRange;\n    var relative = adt$3.relative;\n    var exact = adt$3.exact;\n    var getWin = function (selection) {\n      var start = getStart(selection);\n      return defaultView(start);\n    };\n    var range = SimRange.create;\n    var SimSelection = {\n      domRange: domRange,\n      relative: relative,\n      exact: exact,\n      exactFromRange: exactFromRange,\n      getWin: getWin,\n      range: range\n    };\n\n    var selectNode = function (win, element) {\n      var rng = win.document.createRange();\n      rng.selectNode(element.dom);\n      return rng;\n    };\n    var selectNodeContents = function (win, element) {\n      var rng = win.document.createRange();\n      selectNodeContentsUsing(rng, element);\n      return rng;\n    };\n    var selectNodeContentsUsing = function (rng, element) {\n      return rng.selectNodeContents(element.dom);\n    };\n    var setStart = function (rng, situ) {\n      situ.fold(function (e) {\n        rng.setStartBefore(e.dom);\n      }, function (e, o) {\n        rng.setStart(e.dom, o);\n      }, function (e) {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    var setFinish = function (rng, situ) {\n      situ.fold(function (e) {\n        rng.setEndBefore(e.dom);\n      }, function (e, o) {\n        rng.setEnd(e.dom, o);\n      }, function (e) {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    var relativeToNative = function (win, startSitu, finishSitu) {\n      var range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    var exactToNative = function (win, start, soffset, finish, foffset) {\n      var rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    var toRect = function (rect) {\n      return {\n        left: rect.left,\n        top: rect.top,\n        right: rect.right,\n        bottom: rect.bottom,\n        width: rect.width,\n        height: rect.height\n      };\n    };\n    var getFirstRect$1 = function (rng) {\n      var rects = rng.getClientRects();\n      var rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n\n    var adt$2 = Adt.generate([\n      {\n        ltr: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      },\n      {\n        rtl: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var fromRange = function (win, type, range) {\n      return type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    };\n    var getRanges = function (win, selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return {\n            ltr: constant(rng),\n            rtl: Optional.none\n          };\n        },\n        relative: function (startSitu, finishSitu) {\n          return {\n            ltr: cached(function () {\n              return relativeToNative(win, startSitu, finishSitu);\n            }),\n            rtl: cached(function () {\n              return Optional.some(relativeToNative(win, finishSitu, startSitu));\n            })\n          };\n        },\n        exact: function (start, soffset, finish, foffset) {\n          return {\n            ltr: cached(function () {\n              return exactToNative(win, start, soffset, finish, foffset);\n            }),\n            rtl: cached(function () {\n              return Optional.some(exactToNative(win, finish, foffset, start, soffset));\n            })\n          };\n        }\n      });\n    };\n    var doDiagnose = function (win, ranges) {\n      var rng = ranges.ltr();\n      if (rng.collapsed) {\n        var reversed = ranges.rtl().filter(function (rev) {\n          return rev.collapsed === false;\n        });\n        return reversed.map(function (rev) {\n          return adt$2.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset);\n        }).getOrThunk(function () {\n          return fromRange(win, adt$2.ltr, rng);\n        });\n      } else {\n        return fromRange(win, adt$2.ltr, rng);\n      }\n    };\n    var diagnose = function (win, selection) {\n      var ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    var asLtrRange = function (win, selection) {\n      var diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: function (start, soffset, finish, foffset) {\n          var rng = win.document.createRange();\n          rng.setStart(start.dom, soffset);\n          rng.setEnd(finish.dom, foffset);\n          return rng;\n        },\n        rtl: function (start, soffset, finish, foffset) {\n          var rng = win.document.createRange();\n          rng.setStart(finish.dom, foffset);\n          rng.setEnd(start.dom, soffset);\n          return rng;\n        }\n      });\n    };\n    adt$2.ltr;\n    adt$2.rtl;\n\n    var searchForPoint = function (rectForOffset, x, y, maxX, length) {\n      if (length === 0) {\n        return 0;\n      } else if (x === maxX) {\n        return length - 1;\n      }\n      var xDelta = maxX;\n      for (var i = 1; i < length; i++) {\n        var rect = rectForOffset(i);\n        var curDeltaX = Math.abs(x - rect.left);\n        if (y <= rect.bottom) {\n          if (y < rect.top || curDeltaX > xDelta) {\n            return i - 1;\n          } else {\n            xDelta = curDeltaX;\n          }\n        }\n      }\n      return 0;\n    };\n    var inRect = function (rect, x, y) {\n      return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n    };\n\n    var locateOffset = function (doc, textnode, x, y, rect) {\n      var rangeForOffset = function (o) {\n        var r = doc.dom.createRange();\n        r.setStart(textnode.dom, o);\n        r.collapse(true);\n        return r;\n      };\n      var rectForOffset = function (o) {\n        var r = rangeForOffset(o);\n        return r.getBoundingClientRect();\n      };\n      var length = get$9(textnode).length;\n      var offset = searchForPoint(rectForOffset, x, y, rect.right, length);\n      return rangeForOffset(offset);\n    };\n    var locate$1 = function (doc, node, x, y) {\n      var r = doc.dom.createRange();\n      r.selectNode(node.dom);\n      var rects = r.getClientRects();\n      var foundRect = findMap(rects, function (rect) {\n        return inRect(rect, x, y) ? Optional.some(rect) : Optional.none();\n      });\n      return foundRect.map(function (rect) {\n        return locateOffset(doc, node, x, y, rect);\n      });\n    };\n\n    var searchInChildren = function (doc, node, x, y) {\n      var r = doc.dom.createRange();\n      var nodes = children$3(node);\n      return findMap(nodes, function (n) {\n        r.selectNode(n.dom);\n        return inRect(r.getBoundingClientRect(), x, y) ? locateNode(doc, n, x, y) : Optional.none();\n      });\n    };\n    var locateNode = function (doc, node, x, y) {\n      return isText(node) ? locate$1(doc, node, x, y) : searchInChildren(doc, node, x, y);\n    };\n    var locate = function (doc, node, x, y) {\n      var r = doc.dom.createRange();\n      r.selectNode(node.dom);\n      var rect = r.getBoundingClientRect();\n      var boundedX = Math.max(rect.left, Math.min(rect.right, x));\n      var boundedY = Math.max(rect.top, Math.min(rect.bottom, y));\n      return locateNode(doc, node, boundedX, boundedY);\n    };\n\n    var COLLAPSE_TO_LEFT = true;\n    var COLLAPSE_TO_RIGHT = false;\n    var getCollapseDirection = function (rect, x) {\n      return x - rect.left < rect.right - x ? COLLAPSE_TO_LEFT : COLLAPSE_TO_RIGHT;\n    };\n    var createCollapsedNode = function (doc, target, collapseDirection) {\n      var r = doc.dom.createRange();\n      r.selectNode(target.dom);\n      r.collapse(collapseDirection);\n      return r;\n    };\n    var locateInElement = function (doc, node, x) {\n      var cursorRange = doc.dom.createRange();\n      cursorRange.selectNode(node.dom);\n      var rect = cursorRange.getBoundingClientRect();\n      var collapseDirection = getCollapseDirection(rect, x);\n      var f = collapseDirection === COLLAPSE_TO_LEFT ? first : last$1;\n      return f(node).map(function (target) {\n        return createCollapsedNode(doc, target, collapseDirection);\n      });\n    };\n    var locateInEmpty = function (doc, node, x) {\n      var rect = node.dom.getBoundingClientRect();\n      var collapseDirection = getCollapseDirection(rect, x);\n      return Optional.some(createCollapsedNode(doc, node, collapseDirection));\n    };\n    var search = function (doc, node, x) {\n      var f = children$3(node).length === 0 ? locateInEmpty : locateInElement;\n      return f(doc, node, x);\n    };\n\n    var caretPositionFromPoint = function (doc, x, y) {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(function (pos) {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        var r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    var caretRangeFromPoint = function (doc, x, y) {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    var searchTextNodes = function (doc, node, x, y) {\n      var r = doc.dom.createRange();\n      r.selectNode(node.dom);\n      var rect = r.getBoundingClientRect();\n      var boundedX = Math.max(rect.left, Math.min(rect.right, x));\n      var boundedY = Math.max(rect.top, Math.min(rect.bottom, y));\n      return locate(doc, node, boundedX, boundedY);\n    };\n    var searchFromPoint = function (doc, x, y) {\n      return SugarElement.fromPoint(doc, x, y).bind(function (elem) {\n        var fallback = function () {\n          return search(doc, elem, x);\n        };\n        return children$3(elem).length === 0 ? fallback() : searchTextNodes(doc, elem, x, y).orThunk(fallback);\n      });\n    };\n    var availableSearch = function () {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return searchFromPoint;\n      }\n    }();\n    var fromPoint = function (win, x, y) {\n      var doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(function (rng) {\n        return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset);\n      });\n    };\n\n    var beforeSpecial = function (element, offset) {\n      var name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2([\n          'br',\n          'img'\n        ], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    var preprocessRelative = function (startSitu, finishSitu) {\n      var start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      var finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    var preprocessExact = function (start, soffset, finish, foffset) {\n      var startSitu = beforeSpecial(start, soffset);\n      var finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n    var preprocess = function (selection) {\n      return selection.match({\n        domRange: function (rng) {\n          var start = SugarElement.fromDom(rng.startContainer);\n          var finish = SugarElement.fromDom(rng.endContainer);\n          return preprocessExact(start, rng.startOffset, finish, rng.endOffset);\n        },\n        relative: preprocessRelative,\n        exact: preprocessExact\n      });\n    };\n\n    var makeRange = function (start, soffset, finish, foffset) {\n      var doc = owner(start);\n      var rng = doc.dom.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    var after$2 = function (start, soffset, finish, foffset) {\n      var r = makeRange(start, soffset, finish, foffset);\n      var same = eq$1(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    var getNativeSelection = function (win) {\n      return Optional.from(win.getSelection());\n    };\n    var doSetNativeRange = function (win, rng) {\n      getNativeSelection(win).each(function (selection) {\n        selection.removeAllRanges();\n        selection.addRange(rng);\n      });\n    };\n    var doSetRange = function (win, start, soffset, finish, foffset) {\n      var rng = exactToNative(win, start, soffset, finish, foffset);\n      doSetNativeRange(win, rng);\n    };\n    var setLegacyRtlRange = function (win, selection, start, soffset, finish, foffset) {\n      selection.collapse(start.dom, soffset);\n      selection.extend(finish.dom, foffset);\n    };\n    var setRangeFromRelative = function (win, relative) {\n      return diagnose(win, relative).match({\n        ltr: function (start, soffset, finish, foffset) {\n          doSetRange(win, start, soffset, finish, foffset);\n        },\n        rtl: function (start, soffset, finish, foffset) {\n          getNativeSelection(win).each(function (selection) {\n            if (selection.setBaseAndExtent) {\n              selection.setBaseAndExtent(start.dom, soffset, finish.dom, foffset);\n            } else if (selection.extend) {\n              try {\n                setLegacyRtlRange(win, selection, start, soffset, finish, foffset);\n              } catch (e) {\n                doSetRange(win, finish, foffset, start, soffset);\n              }\n            } else {\n              doSetRange(win, finish, foffset, start, soffset);\n            }\n          });\n        }\n      });\n    };\n    var setExact = function (win, start, soffset, finish, foffset) {\n      var relative = preprocessExact(start, soffset, finish, foffset);\n      setRangeFromRelative(win, relative);\n    };\n    var setRelative = function (win, startSitu, finishSitu) {\n      var relative = preprocessRelative(startSitu, finishSitu);\n      setRangeFromRelative(win, relative);\n    };\n    var toNative = function (selection) {\n      var win = SimSelection.getWin(selection).dom;\n      var getDomRange = function (start, soffset, finish, foffset) {\n        return exactToNative(win, start, soffset, finish, foffset);\n      };\n      var filtered = preprocess(selection);\n      return diagnose(win, filtered).match({\n        ltr: getDomRange,\n        rtl: getDomRange\n      });\n    };\n    var readRange = function (selection) {\n      if (selection.rangeCount > 0) {\n        var firstRng = selection.getRangeAt(0);\n        var lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Optional.none();\n      }\n    };\n    var doGetExact = function (selection) {\n      if (selection.anchorNode === null || selection.focusNode === null) {\n        return readRange(selection);\n      } else {\n        var anchor = SugarElement.fromDom(selection.anchorNode);\n        var focus_1 = SugarElement.fromDom(selection.focusNode);\n        return after$2(anchor, selection.anchorOffset, focus_1, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus_1, selection.focusOffset)) : readRange(selection);\n      }\n    };\n    var setToElement = function (win, element, selectNodeContents$1) {\n      if (selectNodeContents$1 === void 0) {\n        selectNodeContents$1 = true;\n      }\n      var rngGetter = selectNodeContents$1 ? selectNodeContents : selectNode;\n      var rng = rngGetter(win, element);\n      doSetNativeRange(win, rng);\n    };\n    var getExact = function (win) {\n      return getNativeSelection(win).filter(function (sel) {\n        return sel.rangeCount > 0;\n      }).bind(doGetExact);\n    };\n    var get$1 = function (win) {\n      return getExact(win).map(function (range) {\n        return SimSelection.exact(range.start, range.soffset, range.finish, range.foffset);\n      });\n    };\n    var getFirstRect = function (win, selection) {\n      var rng = asLtrRange(win, selection);\n      return getFirstRect$1(rng);\n    };\n    var getAtPoint = function (win, x, y) {\n      return fromPoint(win, x, y);\n    };\n    var clear = function (win) {\n      getNativeSelection(win).each(function (selection) {\n        return selection.removeAllRanges();\n      });\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var forward = function (editor, isRoot, cell) {\n      return go$1(editor, isRoot, next(cell, isEditable$1));\n    };\n    var backward = function (editor, isRoot, cell) {\n      return go$1(editor, isRoot, prev(cell, isEditable$1));\n    };\n    var getCellFirstCursorPosition = function (editor, cell) {\n      var selection = SimSelection.exact(cell, 0, cell, 0);\n      return toNative(selection);\n    };\n    var go$1 = function (editor, isRoot, cell) {\n      return cell.fold(Optional.none, Optional.none, function (current, next) {\n        return first(next).map(function (cell) {\n          return getCellFirstCursorPosition(editor, cell);\n        });\n      }, function (current) {\n        editor.execCommand('mceTableInsertRowAfter');\n        return forward(editor, isRoot, current);\n      });\n    };\n    var rootElements = [\n      'table',\n      'li',\n      'dl'\n    ];\n    var handle$1 = function (event, editor, cellSelection) {\n      if (event.keyCode === global$1.TAB) {\n        var body_1 = getBody(editor);\n        var isRoot_1 = function (element) {\n          var name$1 = name(element);\n          return eq$1(element, body_1) || contains$2(rootElements, name$1);\n        };\n        var rng = editor.selection.getRng();\n        var container = SugarElement.fromDom(event.shiftKey ? rng.startContainer : rng.endContainer);\n        cell(container, isRoot_1).each(function (cell) {\n          event.preventDefault();\n          table(cell, isRoot_1).each(cellSelection.clear);\n          editor.selection.collapse(event.shiftKey);\n          var navigation = event.shiftKey ? backward : forward;\n          var rng = navigation(editor, isRoot_1, cell);\n          rng.each(function (range) {\n            editor.selection.setRng(range);\n          });\n        });\n      }\n    };\n\n    var create$1 = function (selection, kill) {\n      return {\n        selection: selection,\n        kill: kill\n      };\n    };\n    var Response = { create: create$1 };\n\n    var create = function (start, soffset, finish, foffset) {\n      return {\n        start: Situ.on(start, soffset),\n        finish: Situ.on(finish, foffset)\n      };\n    };\n    var Situs = { create: create };\n\n    var convertToRange = function (win, selection) {\n      var rng = asLtrRange(win, selection);\n      return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset);\n    };\n    var makeSitus = Situs.create;\n\n    var sync = function (container, isRoot, start, soffset, finish, foffset, selectRange) {\n      if (!(eq$1(start, finish) && soffset === foffset)) {\n        return closest$1(start, 'td,th', isRoot).bind(function (s) {\n          return closest$1(finish, 'td,th', isRoot).bind(function (f) {\n            return detect(container, isRoot, s, f, selectRange);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    var detect = function (container, isRoot, start, finish, selectRange) {\n      if (!eq$1(start, finish)) {\n        return identify(start, finish, isRoot).bind(function (cellSel) {\n          var boxes = cellSel.boxes.getOr([]);\n          if (boxes.length > 1) {\n            selectRange(container, boxes, cellSel.start, cellSel.finish);\n            return Optional.some(Response.create(Optional.some(makeSitus(start, 0, start, getEnd(start))), true));\n          } else {\n            return Optional.none();\n          }\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    var update = function (rows, columns, container, selected, annotations) {\n      var updateSelection = function (newSels) {\n        annotations.clearBeforeUpdate(container);\n        annotations.selectRange(container, newSels.boxes, newSels.start, newSels.finish);\n        return newSels.boxes;\n      };\n      return shiftSelection(selected, rows, columns, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(updateSelection);\n    };\n\n    var traverse = function (item, mode) {\n      return {\n        item: item,\n        mode: mode\n      };\n    };\n    var backtrack = function (universe, item, _direction, transition) {\n      if (transition === void 0) {\n        transition = sidestep;\n      }\n      return universe.property().parent(item).map(function (p) {\n        return traverse(p, transition);\n      });\n    };\n    var sidestep = function (universe, item, direction, transition) {\n      if (transition === void 0) {\n        transition = advance;\n      }\n      return direction.sibling(universe, item).map(function (p) {\n        return traverse(p, transition);\n      });\n    };\n    var advance = function (universe, item, direction, transition) {\n      if (transition === void 0) {\n        transition = advance;\n      }\n      var children = universe.property().children(item);\n      var result = direction.first(children);\n      return result.map(function (r) {\n        return traverse(r, transition);\n      });\n    };\n    var successors = [\n      {\n        current: backtrack,\n        next: sidestep,\n        fallback: Optional.none()\n      },\n      {\n        current: sidestep,\n        next: advance,\n        fallback: Optional.some(backtrack)\n      },\n      {\n        current: advance,\n        next: advance,\n        fallback: Optional.some(sidestep)\n      }\n    ];\n    var go = function (universe, item, mode, direction, rules) {\n      if (rules === void 0) {\n        rules = successors;\n      }\n      var ruleOpt = find$1(rules, function (succ) {\n        return succ.current === mode;\n      });\n      return ruleOpt.bind(function (rule) {\n        return rule.current(universe, item, direction, rule.next).orThunk(function () {\n          return rule.fallback.bind(function (fb) {\n            return go(universe, item, fb, direction);\n          });\n        });\n      });\n    };\n\n    var left$1 = function () {\n      var sibling = function (universe, item) {\n        return universe.query().prevSibling(item);\n      };\n      var first = function (children) {\n        return children.length > 0 ? Optional.some(children[children.length - 1]) : Optional.none();\n      };\n      return {\n        sibling: sibling,\n        first: first\n      };\n    };\n    var right$1 = function () {\n      var sibling = function (universe, item) {\n        return universe.query().nextSibling(item);\n      };\n      var first = function (children) {\n        return children.length > 0 ? Optional.some(children[0]) : Optional.none();\n      };\n      return {\n        sibling: sibling,\n        first: first\n      };\n    };\n    var Walkers = {\n      left: left$1,\n      right: right$1\n    };\n\n    var hone = function (universe, item, predicate, mode, direction, isRoot) {\n      var next = go(universe, item, mode, direction);\n      return next.bind(function (n) {\n        if (isRoot(n.item)) {\n          return Optional.none();\n        } else {\n          return predicate(n.item) ? Optional.some(n.item) : hone(universe, n.item, predicate, n.mode, direction, isRoot);\n        }\n      });\n    };\n    var left = function (universe, item, predicate, isRoot) {\n      return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot);\n    };\n    var right = function (universe, item, predicate, isRoot) {\n      return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot);\n    };\n\n    var isLeaf = function (universe) {\n      return function (element) {\n        return universe.property().children(element).length === 0;\n      };\n    };\n    var before$1 = function (universe, item, isRoot) {\n      return seekLeft$1(universe, item, isLeaf(universe), isRoot);\n    };\n    var after$1 = function (universe, item, isRoot) {\n      return seekRight$1(universe, item, isLeaf(universe), isRoot);\n    };\n    var seekLeft$1 = left;\n    var seekRight$1 = right;\n\n    var universe = DomUniverse();\n    var before = function (element, isRoot) {\n      return before$1(universe, element, isRoot);\n    };\n    var after = function (element, isRoot) {\n      return after$1(universe, element, isRoot);\n    };\n    var seekLeft = function (element, predicate, isRoot) {\n      return seekLeft$1(universe, element, predicate, isRoot);\n    };\n    var seekRight = function (element, predicate, isRoot) {\n      return seekRight$1(universe, element, predicate, isRoot);\n    };\n\n    var ancestor = function (scope, predicate, isRoot) {\n      return ancestor$2(scope, predicate, isRoot).isSome();\n    };\n\n    var adt$1 = Adt.generate([\n      { none: ['message'] },\n      { success: [] },\n      { failedUp: ['cell'] },\n      { failedDown: ['cell'] }\n    ]);\n    var isOverlapping = function (bridge, before, after) {\n      var beforeBounds = bridge.getRect(before);\n      var afterBounds = bridge.getRect(after);\n      return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;\n    };\n    var isRow = function (elem) {\n      return closest$1(elem, 'tr');\n    };\n    var verify = function (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) {\n      return closest$1(after, 'td,th', isRoot).bind(function (afterCell) {\n        return closest$1(before, 'td,th', isRoot).map(function (beforeCell) {\n          if (!eq$1(afterCell, beforeCell)) {\n            return sharedOne(isRow, [\n              afterCell,\n              beforeCell\n            ]).fold(function () {\n              return isOverlapping(bridge, beforeCell, afterCell) ? adt$1.success() : failure(beforeCell);\n            }, function (_sharedRow) {\n              return failure(beforeCell);\n            });\n          } else {\n            return eq$1(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$1.none('in same cell');\n          }\n        });\n      }).getOr(adt$1.none('default'));\n    };\n    var cata = function (subject, onNone, onSuccess, onFailedUp, onFailedDown) {\n      return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);\n    };\n    var BeforeAfter = __assign(__assign({}, adt$1), {\n      verify: verify,\n      cata: cata\n    });\n\n    var inParent = function (parent, children, element, index) {\n      return {\n        parent: parent,\n        children: children,\n        element: element,\n        index: index\n      };\n    };\n    var indexInParent = function (element) {\n      return parent(element).bind(function (parent) {\n        var children = children$3(parent);\n        return indexOf(children, element).map(function (index) {\n          return inParent(parent, children, element, index);\n        });\n      });\n    };\n    var indexOf = function (elements, element) {\n      return findIndex(elements, curry(eq$1, element));\n    };\n\n    var isBr = function (elem) {\n      return name(elem) === 'br';\n    };\n    var gatherer = function (cand, gather, isRoot) {\n      return gather(cand, isRoot).bind(function (target) {\n        return isText(target) && get$9(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Optional.some(target);\n      });\n    };\n    var handleBr = function (isRoot, element, direction) {\n      return direction.traverse(element).orThunk(function () {\n        return gatherer(element, direction.gather, isRoot);\n      }).map(direction.relative);\n    };\n    var findBr = function (element, offset) {\n      return child$3(element, offset).filter(isBr).orThunk(function () {\n        return child$3(element, offset - 1).filter(isBr);\n      });\n    };\n    var handleParent = function (isRoot, element, offset, direction) {\n      return findBr(element, offset).bind(function (br) {\n        return direction.traverse(br).fold(function () {\n          return gatherer(br, direction.gather, isRoot).map(direction.relative);\n        }, function (adjacent) {\n          return indexInParent(adjacent).map(function (info) {\n            return Situ.on(info.parent, info.index);\n          });\n        });\n      });\n    };\n    var tryBr = function (isRoot, element, offset, direction) {\n      var target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);\n      return target.map(function (tgt) {\n        return {\n          start: tgt,\n          finish: tgt\n        };\n      });\n    };\n    var process = function (analysis) {\n      return BeforeAfter.cata(analysis, function (_message) {\n        return Optional.none();\n      }, function () {\n        return Optional.none();\n      }, function (cell) {\n        return Optional.some(point(cell, 0));\n      }, function (cell) {\n        return Optional.some(point(cell, getEnd(cell)));\n      });\n    };\n\n    var moveDown = function (caret, amount) {\n      return {\n        left: caret.left,\n        top: caret.top + amount,\n        right: caret.right,\n        bottom: caret.bottom + amount\n      };\n    };\n    var moveUp = function (caret, amount) {\n      return {\n        left: caret.left,\n        top: caret.top - amount,\n        right: caret.right,\n        bottom: caret.bottom - amount\n      };\n    };\n    var translate = function (caret, xDelta, yDelta) {\n      return {\n        left: caret.left + xDelta,\n        top: caret.top + yDelta,\n        right: caret.right + xDelta,\n        bottom: caret.bottom + yDelta\n      };\n    };\n    var getTop = function (caret) {\n      return caret.top;\n    };\n    var getBottom = function (caret) {\n      return caret.bottom;\n    };\n\n    var getPartialBox = function (bridge, element, offset) {\n      if (offset >= 0 && offset < getEnd(element)) {\n        return bridge.getRangedRect(element, offset, element, offset + 1);\n      } else if (offset > 0) {\n        return bridge.getRangedRect(element, offset - 1, element, offset);\n      }\n      return Optional.none();\n    };\n    var toCaret = function (rect) {\n      return {\n        left: rect.left,\n        top: rect.top,\n        right: rect.right,\n        bottom: rect.bottom\n      };\n    };\n    var getElemBox = function (bridge, element) {\n      return Optional.some(bridge.getRect(element));\n    };\n    var getBoxAt = function (bridge, element, offset) {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return getPartialBox(bridge, element, offset).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n    var getEntireBox = function (bridge, element) {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n\n    var JUMP_SIZE = 5;\n    var NUM_RETRIES = 100;\n    var adt = Adt.generate([\n      { none: [] },\n      { retry: ['caret'] }\n    ]);\n    var isOutside = function (caret, box) {\n      return caret.left < box.left || Math.abs(box.right - caret.left) < 1 || caret.left > box.right;\n    };\n    var inOutsideBlock = function (bridge, element, caret) {\n      return closest$2(element, isBlock).fold(never, function (cell) {\n        return getEntireBox(bridge, cell).exists(function (box) {\n          return isOutside(caret, box);\n        });\n      });\n    };\n    var adjustDown = function (bridge, element, guessBox, original, caret) {\n      var lowerCaret = moveDown(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.bottom - original.bottom) < 1) {\n        return adt.retry(lowerCaret);\n      } else if (guessBox.top > caret.bottom) {\n        return adt.retry(lowerCaret);\n      } else if (guessBox.top === caret.bottom) {\n        return adt.retry(moveDown(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt.retry(translate(lowerCaret, JUMP_SIZE, 0)) : adt.none();\n      }\n    };\n    var adjustUp = function (bridge, element, guessBox, original, caret) {\n      var higherCaret = moveUp(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.top - original.top) < 1) {\n        return adt.retry(higherCaret);\n      } else if (guessBox.bottom < caret.top) {\n        return adt.retry(higherCaret);\n      } else if (guessBox.bottom === caret.top) {\n        return adt.retry(moveUp(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt.retry(translate(higherCaret, JUMP_SIZE, 0)) : adt.none();\n      }\n    };\n    var upMovement = {\n      point: getTop,\n      adjuster: adjustUp,\n      move: moveUp,\n      gather: before\n    };\n    var downMovement = {\n      point: getBottom,\n      adjuster: adjustDown,\n      move: moveDown,\n      gather: after\n    };\n    var isAtTable = function (bridge, x, y) {\n      return bridge.elementFromPoint(x, y).filter(function (elm) {\n        return name(elm) === 'table';\n      }).isSome();\n    };\n    var adjustForTable = function (bridge, movement, original, caret, numRetries) {\n      return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);\n    };\n    var adjustTil = function (bridge, movement, original, caret, numRetries) {\n      if (numRetries === 0) {\n        return Optional.some(caret);\n      }\n      if (isAtTable(bridge, caret.left, movement.point(caret))) {\n        return adjustForTable(bridge, movement, original, caret, numRetries - 1);\n      }\n      return bridge.situsFromPoint(caret.left, movement.point(caret)).bind(function (guess) {\n        return guess.start.fold(Optional.none, function (element) {\n          return getEntireBox(bridge, element).bind(function (guessBox) {\n            return movement.adjuster(bridge, element, guessBox, original, caret).fold(Optional.none, function (newCaret) {\n              return adjustTil(bridge, movement, original, newCaret, numRetries - 1);\n            });\n          }).orThunk(function () {\n            return Optional.some(caret);\n          });\n        }, Optional.none);\n      });\n    };\n    var ieTryDown = function (bridge, caret) {\n      return bridge.situsFromPoint(caret.left, caret.bottom + JUMP_SIZE);\n    };\n    var ieTryUp = function (bridge, caret) {\n      return bridge.situsFromPoint(caret.left, caret.top - JUMP_SIZE);\n    };\n    var checkScroll = function (movement, adjusted, bridge) {\n      if (movement.point(adjusted) > bridge.getInnerHeight()) {\n        return Optional.some(movement.point(adjusted) - bridge.getInnerHeight());\n      } else if (movement.point(adjusted) < 0) {\n        return Optional.some(-movement.point(adjusted));\n      } else {\n        return Optional.none();\n      }\n    };\n    var retry = function (movement, bridge, caret) {\n      var moved = movement.move(caret, JUMP_SIZE);\n      var adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved);\n      return checkScroll(movement, adjusted, bridge).fold(function () {\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted));\n      }, function (delta) {\n        bridge.scrollBy(0, delta);\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted) - delta);\n      });\n    };\n    var Retries = {\n      tryUp: curry(retry, upMovement),\n      tryDown: curry(retry, downMovement),\n      ieTryUp: ieTryUp,\n      ieTryDown: ieTryDown,\n      getJumpSize: constant(JUMP_SIZE)\n    };\n\n    var MAX_RETRIES = 20;\n    var findSpot = function (bridge, isRoot, direction) {\n      return bridge.getSelection().bind(function (sel) {\n        return tryBr(isRoot, sel.finish, sel.foffset, direction).fold(function () {\n          return Optional.some(point(sel.finish, sel.foffset));\n        }, function (brNeighbour) {\n          var range = bridge.fromSitus(brNeighbour);\n          var analysis = BeforeAfter.verify(bridge, sel.finish, sel.foffset, range.finish, range.foffset, direction.failure, isRoot);\n          return process(analysis);\n        });\n      });\n    };\n    var scan = function (bridge, isRoot, element, offset, direction, numRetries) {\n      if (numRetries === 0) {\n        return Optional.none();\n      }\n      return tryCursor(bridge, isRoot, element, offset, direction).bind(function (situs) {\n        var range = bridge.fromSitus(situs);\n        var analysis = BeforeAfter.verify(bridge, element, offset, range.finish, range.foffset, direction.failure, isRoot);\n        return BeforeAfter.cata(analysis, function () {\n          return Optional.none();\n        }, function () {\n          return Optional.some(situs);\n        }, function (cell) {\n          if (eq$1(element, cell) && offset === 0) {\n            return tryAgain(bridge, element, offset, moveUp, direction);\n          } else {\n            return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);\n          }\n        }, function (cell) {\n          if (eq$1(element, cell) && offset === getEnd(cell)) {\n            return tryAgain(bridge, element, offset, moveDown, direction);\n          } else {\n            return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);\n          }\n        });\n      });\n    };\n    var tryAgain = function (bridge, element, offset, move, direction) {\n      return getBoxAt(bridge, element, offset).bind(function (box) {\n        return tryAt(bridge, direction, move(box, Retries.getJumpSize()));\n      });\n    };\n    var tryAt = function (bridge, direction, box) {\n      var browser = detect$3().browser;\n      if (browser.isChrome() || browser.isSafari() || browser.isFirefox() || browser.isEdge()) {\n        return direction.otherRetry(bridge, box);\n      } else if (browser.isIE()) {\n        return direction.ieRetry(bridge, box);\n      } else {\n        return Optional.none();\n      }\n    };\n    var tryCursor = function (bridge, isRoot, element, offset, direction) {\n      return getBoxAt(bridge, element, offset).bind(function (box) {\n        return tryAt(bridge, direction, box);\n      });\n    };\n    var handle = function (bridge, isRoot, direction) {\n      return findSpot(bridge, isRoot, direction).bind(function (spot) {\n        return scan(bridge, isRoot, spot.element, spot.offset, direction, MAX_RETRIES).map(bridge.fromSitus);\n      });\n    };\n\n    var inSameTable = function (elem, table) {\n      return ancestor(elem, function (e) {\n        return parent(e).exists(function (p) {\n          return eq$1(p, table);\n        });\n      });\n    };\n    var simulate = function (bridge, isRoot, direction, initial, anchor) {\n      return closest$1(initial, 'td,th', isRoot).bind(function (start) {\n        return closest$1(start, 'table', isRoot).bind(function (table) {\n          if (!inSameTable(anchor, table)) {\n            return Optional.none();\n          }\n          return handle(bridge, isRoot, direction).bind(function (range) {\n            return closest$1(range.finish, 'td,th', isRoot).map(function (finish) {\n              return {\n                start: start,\n                finish: finish,\n                range: range\n              };\n            });\n          });\n        });\n      });\n    };\n    var navigate = function (bridge, isRoot, direction, initial, anchor, precheck) {\n      if (detect$3().browser.isIE()) {\n        return Optional.none();\n      } else {\n        return precheck(initial, isRoot).orThunk(function () {\n          return simulate(bridge, isRoot, direction, initial, anchor).map(function (info) {\n            var range = info.range;\n            return Response.create(Optional.some(makeSitus(range.start, range.soffset, range.finish, range.foffset)), true);\n          });\n        });\n      }\n    };\n    var firstUpCheck = function (initial, isRoot) {\n      return closest$1(initial, 'tr', isRoot).bind(function (startRow) {\n        return closest$1(startRow, 'table', isRoot).bind(function (table) {\n          var rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[0])) {\n            return seekLeft(table, function (element) {\n              return last$1(element).isSome();\n            }, isRoot).map(function (last) {\n              var lastOffset = getEnd(last);\n              return Response.create(Optional.some(makeSitus(last, lastOffset, last, lastOffset)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    var lastDownCheck = function (initial, isRoot) {\n      return closest$1(initial, 'tr', isRoot).bind(function (startRow) {\n        return closest$1(startRow, 'table', isRoot).bind(function (table) {\n          var rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[rows.length - 1])) {\n            return seekRight(table, function (element) {\n              return first(element).isSome();\n            }, isRoot).map(function (first) {\n              return Response.create(Optional.some(makeSitus(first, 0, first, 0)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    var select = function (bridge, container, isRoot, direction, initial, anchor, selectRange) {\n      return simulate(bridge, isRoot, direction, initial, anchor).bind(function (info) {\n        return detect(container, isRoot, info.start, info.finish, selectRange);\n      });\n    };\n\n    var findCell = function (target, isRoot) {\n      return closest$1(target, 'td,th', isRoot);\n    };\n    var MouseSelection = function (bridge, container, isRoot, annotations) {\n      var cursor = value();\n      var clearstate = cursor.clear;\n      var applySelection = function (event) {\n        cursor.on(function (start) {\n          annotations.clearBeforeUpdate(container);\n          findCell(event.target, isRoot).each(function (finish) {\n            identify(start, finish, isRoot).each(function (cellSel) {\n              var boxes = cellSel.boxes.getOr([]);\n              if (boxes.length === 1) {\n                var singleCell = boxes[0];\n                var isNonEditableCell = getRaw(singleCell) === 'false';\n                var isCellClosestContentEditable = is(closest(event.target), singleCell, eq$1);\n                if (isNonEditableCell && isCellClosestContentEditable) {\n                  annotations.selectRange(container, boxes, singleCell, singleCell);\n                  bridge.selectContents(singleCell);\n                }\n              } else if (boxes.length > 1) {\n                annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n                bridge.selectContents(finish);\n              }\n            });\n          });\n        });\n      };\n      var mousedown = function (event) {\n        annotations.clear(container);\n        findCell(event.target, isRoot).each(cursor.set);\n      };\n      var mouseover = function (event) {\n        applySelection(event);\n      };\n      var mouseup = function (event) {\n        applySelection(event);\n        clearstate();\n      };\n      return {\n        clearstate: clearstate,\n        mousedown: mousedown,\n        mouseover: mouseover,\n        mouseup: mouseup\n      };\n    };\n\n    var down = {\n      traverse: nextSibling,\n      gather: after,\n      relative: Situ.before,\n      otherRetry: Retries.tryDown,\n      ieRetry: Retries.ieTryDown,\n      failure: BeforeAfter.failedDown\n    };\n    var up = {\n      traverse: prevSibling,\n      gather: before,\n      relative: Situ.before,\n      otherRetry: Retries.tryUp,\n      ieRetry: Retries.ieTryUp,\n      failure: BeforeAfter.failedUp\n    };\n\n    var isKey = function (key) {\n      return function (keycode) {\n        return keycode === key;\n      };\n    };\n    var isUp = isKey(38);\n    var isDown = isKey(40);\n    var isNavigation = function (keycode) {\n      return keycode >= 37 && keycode <= 40;\n    };\n    var ltr = {\n      isBackward: isKey(37),\n      isForward: isKey(39)\n    };\n    var rtl = {\n      isBackward: isKey(39),\n      isForward: isKey(37)\n    };\n\n    var get = function (_DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      var y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    var by = function (x, y, _DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var win = doc.defaultView;\n      if (win) {\n        win.scrollBy(x, y);\n      }\n    };\n\n    var WindowBridge = function (win) {\n      var elementFromPoint = function (x, y) {\n        return SugarElement.fromPoint(SugarElement.fromDom(win.document), x, y);\n      };\n      var getRect = function (element) {\n        return element.dom.getBoundingClientRect();\n      };\n      var getRangedRect = function (start, soffset, finish, foffset) {\n        var sel = SimSelection.exact(start, soffset, finish, foffset);\n        return getFirstRect(win, sel);\n      };\n      var getSelection = function () {\n        return get$1(win).map(function (exactAdt) {\n          return convertToRange(win, exactAdt);\n        });\n      };\n      var fromSitus = function (situs) {\n        var relative = SimSelection.relative(situs.start, situs.finish);\n        return convertToRange(win, relative);\n      };\n      var situsFromPoint = function (x, y) {\n        return getAtPoint(win, x, y).map(function (exact) {\n          return Situs.create(exact.start, exact.soffset, exact.finish, exact.foffset);\n        });\n      };\n      var clearSelection = function () {\n        clear(win);\n      };\n      var collapseSelection = function (toStart) {\n        if (toStart === void 0) {\n          toStart = false;\n        }\n        get$1(win).each(function (sel) {\n          return sel.fold(function (rng) {\n            return rng.collapse(toStart);\n          }, function (startSitu, finishSitu) {\n            var situ = toStart ? startSitu : finishSitu;\n            setRelative(win, situ, situ);\n          }, function (start, soffset, finish, foffset) {\n            var node = toStart ? start : finish;\n            var offset = toStart ? soffset : foffset;\n            setExact(win, node, offset, node, offset);\n          });\n        });\n      };\n      var selectNode = function (element) {\n        setToElement(win, element, false);\n      };\n      var selectContents = function (element) {\n        setToElement(win, element);\n      };\n      var setSelection = function (sel) {\n        setExact(win, sel.start, sel.soffset, sel.finish, sel.foffset);\n      };\n      var setRelativeSelection = function (start, finish) {\n        setRelative(win, start, finish);\n      };\n      var getInnerHeight = function () {\n        return win.innerHeight;\n      };\n      var getScrollY = function () {\n        var pos = get(SugarElement.fromDom(win.document));\n        return pos.top;\n      };\n      var scrollBy = function (x, y) {\n        by(x, y, SugarElement.fromDom(win.document));\n      };\n      return {\n        elementFromPoint: elementFromPoint,\n        getRect: getRect,\n        getRangedRect: getRangedRect,\n        getSelection: getSelection,\n        fromSitus: fromSitus,\n        situsFromPoint: situsFromPoint,\n        clearSelection: clearSelection,\n        collapseSelection: collapseSelection,\n        setSelection: setSelection,\n        setRelativeSelection: setRelativeSelection,\n        selectNode: selectNode,\n        selectContents: selectContents,\n        getInnerHeight: getInnerHeight,\n        getScrollY: getScrollY,\n        scrollBy: scrollBy\n      };\n    };\n\n    var rc = function (rows, cols) {\n      return {\n        rows: rows,\n        cols: cols\n      };\n    };\n    var mouse = function (win, container, isRoot, annotations) {\n      var bridge = WindowBridge(win);\n      var handlers = MouseSelection(bridge, container, isRoot, annotations);\n      return {\n        clearstate: handlers.clearstate,\n        mousedown: handlers.mousedown,\n        mouseover: handlers.mouseover,\n        mouseup: handlers.mouseup\n      };\n    };\n    var keyboard = function (win, container, isRoot, annotations) {\n      var bridge = WindowBridge(win);\n      var clearToNavigate = function () {\n        annotations.clear(container);\n        return Optional.none();\n      };\n      var keydown = function (event, start, soffset, finish, foffset, direction) {\n        var realEvent = event.raw;\n        var keycode = realEvent.which;\n        var shiftKey = realEvent.shiftKey === true;\n        var handler = retrieve$1(container, annotations.selectedSelector).fold(function () {\n          if (isNavigation(keycode) && !shiftKey) {\n            annotations.clearBeforeUpdate(container);\n          }\n          if (isDown(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, down, finish, start, annotations.selectRange);\n          } else if (isUp(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, up, finish, start, annotations.selectRange);\n          } else if (isDown(keycode)) {\n            return curry(navigate, bridge, isRoot, down, finish, start, lastDownCheck);\n          } else if (isUp(keycode)) {\n            return curry(navigate, bridge, isRoot, up, finish, start, firstUpCheck);\n          } else {\n            return Optional.none;\n          }\n        }, function (selected) {\n          var update$1 = function (attempts) {\n            return function () {\n              var navigation = findMap(attempts, function (delta) {\n                return update(delta.rows, delta.cols, container, selected, annotations);\n              });\n              return navigation.fold(function () {\n                return getEdges(container, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(function (edges) {\n                  var relative = isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;\n                  bridge.setRelativeSelection(Situ.on(edges.first, 0), relative(edges.table));\n                  annotations.clear(container);\n                  return Response.create(Optional.none(), true);\n                });\n              }, function (_) {\n                return Optional.some(Response.create(Optional.none(), true));\n              });\n            };\n          };\n          if (isDown(keycode) && shiftKey) {\n            return update$1([rc(+1, 0)]);\n          } else if (isUp(keycode) && shiftKey) {\n            return update$1([rc(-1, 0)]);\n          } else if (direction.isBackward(keycode) && shiftKey) {\n            return update$1([\n              rc(0, -1),\n              rc(-1, 0)\n            ]);\n          } else if (direction.isForward(keycode) && shiftKey) {\n            return update$1([\n              rc(0, +1),\n              rc(+1, 0)\n            ]);\n          } else if (isNavigation(keycode) && !shiftKey) {\n            return clearToNavigate;\n          } else {\n            return Optional.none;\n          }\n        });\n        return handler();\n      };\n      var keyup = function (event, start, soffset, finish, foffset) {\n        return retrieve$1(container, annotations.selectedSelector).fold(function () {\n          var realEvent = event.raw;\n          var keycode = realEvent.which;\n          var shiftKey = realEvent.shiftKey === true;\n          if (!shiftKey) {\n            return Optional.none();\n          }\n          if (isNavigation(keycode)) {\n            return sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);\n          } else {\n            return Optional.none();\n          }\n        }, Optional.none);\n      };\n      return {\n        keydown: keydown,\n        keyup: keyup\n      };\n    };\n    var external = function (win, container, isRoot, annotations) {\n      var bridge = WindowBridge(win);\n      return function (start, finish) {\n        annotations.clearBeforeUpdate(container);\n        identify(start, finish, isRoot).each(function (cellSel) {\n          var boxes = cellSel.boxes.getOr([]);\n          annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n          bridge.selectContents(finish);\n          bridge.collapseSelection();\n        });\n      };\n    };\n\n    var remove = function (element, classes) {\n      each$2(classes, function (x) {\n        remove$2(element, x);\n      });\n    };\n\n    var addClass = function (clazz) {\n      return function (element) {\n        add(element, clazz);\n      };\n    };\n    var removeClasses = function (classes) {\n      return function (element) {\n        remove(element, classes);\n      };\n    };\n\n    var byClass = function (ephemera) {\n      var addSelectionClass = addClass(ephemera.selected);\n      var removeSelectionClasses = removeClasses([\n        ephemera.selected,\n        ephemera.lastSelected,\n        ephemera.firstSelected\n      ]);\n      var clear = function (container) {\n        var sels = descendants(container, ephemera.selectedSelector);\n        each$2(sels, removeSelectionClasses);\n      };\n      var selectRange = function (container, cells, start, finish) {\n        clear(container);\n        each$2(cells, addSelectionClass);\n        add(start, ephemera.firstSelected);\n        add(finish, ephemera.lastSelected);\n      };\n      return {\n        clearBeforeUpdate: clear,\n        clear: clear,\n        selectRange: selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    var byAttr = function (ephemera, onSelection, onClear) {\n      var removeSelectionAttributes = function (element) {\n        remove$7(element, ephemera.selected);\n        remove$7(element, ephemera.firstSelected);\n        remove$7(element, ephemera.lastSelected);\n      };\n      var addSelectionAttribute = function (element) {\n        set$2(element, ephemera.selected, '1');\n      };\n      var clear = function (container) {\n        clearBeforeUpdate(container);\n        onClear();\n      };\n      var clearBeforeUpdate = function (container) {\n        var sels = descendants(container, ephemera.selectedSelector + ',' + ephemera.firstSelectedSelector + ',' + ephemera.lastSelectedSelector);\n        each$2(sels, removeSelectionAttributes);\n      };\n      var selectRange = function (container, cells, start, finish) {\n        clear(container);\n        each$2(cells, addSelectionAttribute);\n        set$2(start, ephemera.firstSelected, '1');\n        set$2(finish, ephemera.lastSelected, '1');\n        onSelection(cells, start, finish);\n      };\n      return {\n        clearBeforeUpdate: clearBeforeUpdate,\n        clear: clear,\n        selectRange: selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    var SelectionAnnotation = {\n      byClass: byClass,\n      byAttr: byAttr\n    };\n\n    var getUpOrLeftCells = function (grid, selectedCells) {\n      var upGrid = grid.slice(0, selectedCells[selectedCells.length - 1].row + 1);\n      var upDetails = toDetailList(upGrid);\n      return bind$2(upDetails, function (detail) {\n        var slicedCells = detail.cells.slice(0, selectedCells[selectedCells.length - 1].column + 1);\n        return map$1(slicedCells, function (cell) {\n          return cell.element;\n        });\n      });\n    };\n    var getDownOrRightCells = function (grid, selectedCells) {\n      var downGrid = grid.slice(selectedCells[0].row + selectedCells[0].rowspan - 1, grid.length);\n      var downDetails = toDetailList(downGrid);\n      return bind$2(downDetails, function (detail) {\n        var slicedCells = detail.cells.slice(selectedCells[0].column + selectedCells[0].colspan - 1, detail.cells.length);\n        return map$1(slicedCells, function (cell) {\n          return cell.element;\n        });\n      });\n    };\n    var getOtherCells = function (table, target, generators) {\n      var warehouse = Warehouse.fromTable(table);\n      var details = onCells(warehouse, target);\n      return details.map(function (selectedCells) {\n        var grid = toGrid(warehouse, generators, false);\n        var upOrLeftCells = getUpOrLeftCells(grid, selectedCells);\n        var downOrRightCells = getDownOrRightCells(grid, selectedCells);\n        return {\n          upOrLeftCells: upOrLeftCells,\n          downOrRightCells: downOrRightCells\n        };\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var hasInternalTarget = function (e) {\n      return has(SugarElement.fromDom(e.target), 'ephox-snooker-resizer-bar') === false;\n    };\n    function CellSelection (editor, lazyResize, selectionTargets) {\n      var onSelection = function (cells, start, finish) {\n        selectionTargets.targets().each(function (targets) {\n          var tableOpt = table(start);\n          tableOpt.each(function (table) {\n            var cloneFormats = getCloneElements(editor);\n            var generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), cloneFormats);\n            var otherCells = getOtherCells(table, targets, generators);\n            fireTableSelectionChange(editor, cells, start, finish, otherCells);\n          });\n        });\n      };\n      var onClear = function () {\n        return fireTableSelectionClear(editor);\n      };\n      var annotations = SelectionAnnotation.byAttr(ephemera, onSelection, onClear);\n      editor.on('init', function (_e) {\n        var win = editor.getWin();\n        var body = getBody(editor);\n        var isRoot = getIsRoot(editor);\n        var syncSelection = function () {\n          var sel = editor.selection;\n          var start = SugarElement.fromDom(sel.getStart());\n          var end = SugarElement.fromDom(sel.getEnd());\n          var shared = sharedOne(table, [\n            start,\n            end\n          ]);\n          shared.fold(function () {\n            return annotations.clear(body);\n          }, noop);\n        };\n        var mouseHandlers = mouse(win, body, isRoot, annotations);\n        var keyHandlers = keyboard(win, body, isRoot, annotations);\n        var external$1 = external(win, body, isRoot, annotations);\n        var hasShiftKey = function (event) {\n          return event.raw.shiftKey === true;\n        };\n        editor.on('TableSelectorChange', function (e) {\n          return external$1(e.start, e.finish);\n        });\n        var handleResponse = function (event, response) {\n          if (!hasShiftKey(event)) {\n            return;\n          }\n          if (response.kill) {\n            event.kill();\n          }\n          response.selection.each(function (ns) {\n            var relative = SimSelection.relative(ns.start, ns.finish);\n            var rng = asLtrRange(win, relative);\n            editor.selection.setRng(rng);\n          });\n        };\n        var keyup = function (event) {\n          var wrappedEvent = fromRawEvent(event);\n          if (wrappedEvent.raw.shiftKey && isNavigation(wrappedEvent.raw.which)) {\n            var rng = editor.selection.getRng();\n            var start = SugarElement.fromDom(rng.startContainer);\n            var end = SugarElement.fromDom(rng.endContainer);\n            keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(function (response) {\n              handleResponse(wrappedEvent, response);\n            });\n          }\n        };\n        var keydown = function (event) {\n          var wrappedEvent = fromRawEvent(event);\n          lazyResize().each(function (resize) {\n            return resize.hideBars();\n          });\n          var rng = editor.selection.getRng();\n          var start = SugarElement.fromDom(rng.startContainer);\n          var end = SugarElement.fromDom(rng.endContainer);\n          var direction = onDirection(ltr, rtl)(SugarElement.fromDom(editor.selection.getStart()));\n          keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(function (response) {\n            handleResponse(wrappedEvent, response);\n          });\n          lazyResize().each(function (resize) {\n            return resize.showBars();\n          });\n        };\n        var isLeftMouse = function (raw) {\n          return raw.button === 0;\n        };\n        var isLeftButtonPressed = function (raw) {\n          if (raw.buttons === undefined) {\n            return true;\n          }\n          if (global.browser.isEdge() && raw.buttons === 0) {\n            return true;\n          }\n          return (raw.buttons & 1) !== 0;\n        };\n        var dragStart = function (_e) {\n          mouseHandlers.clearstate();\n        };\n        var mouseDown = function (e) {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mousedown(fromRawEvent(e));\n          }\n        };\n        var mouseOver = function (e) {\n          if (isLeftButtonPressed(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseover(fromRawEvent(e));\n          }\n        };\n        var mouseUp = function (e) {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseup(fromRawEvent(e));\n          }\n        };\n        var getDoubleTap = function () {\n          var lastTarget = Cell(SugarElement.fromDom(body));\n          var lastTimeStamp = Cell(0);\n          var touchEnd = function (t) {\n            var target = SugarElement.fromDom(t.target);\n            if (name(target) === 'td' || name(target) === 'th') {\n              var lT = lastTarget.get();\n              var lTS = lastTimeStamp.get();\n              if (eq$1(lT, target) && t.timeStamp - lTS < 300) {\n                t.preventDefault();\n                external$1(target, target);\n              }\n            }\n            lastTarget.set(target);\n            lastTimeStamp.set(t.timeStamp);\n          };\n          return { touchEnd: touchEnd };\n        };\n        var doubleTap = getDoubleTap();\n        editor.on('dragstart', dragStart);\n        editor.on('mousedown', mouseDown);\n        editor.on('mouseover', mouseOver);\n        editor.on('mouseup', mouseUp);\n        editor.on('touchend', doubleTap.touchEnd);\n        editor.on('keyup', keyup);\n        editor.on('keydown', keydown);\n        editor.on('NodeChange', syncSelection);\n      });\n      return { clear: annotations.clear };\n    }\n\n    var child = function (scope, selector) {\n      return child$1(scope, selector).isSome();\n    };\n\n    var getSelectionTargets = function (editor, selections) {\n      var targets = Cell(Optional.none());\n      var changeHandlers = Cell([]);\n      var selectionDetails = Optional.none();\n      var isCaption = isTag('caption');\n      var isDisabledForSelection = function (key) {\n        return selectionDetails.forall(function (details) {\n          return !details[key];\n        });\n      };\n      var getStart = function () {\n        return getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor));\n      };\n      var getEnd = function () {\n        return getSelectionCellOrCaption(getSelectionEnd(editor), getIsRoot(editor));\n      };\n      var findTargets = function () {\n        return getStart().bind(function (startCellOrCaption) {\n          return flatten(lift2(table(startCellOrCaption), getEnd().bind(table), function (startTable, endTable) {\n            if (eq$1(startTable, endTable)) {\n              if (isCaption(startCellOrCaption)) {\n                return Optional.some(noMenu(startCellOrCaption));\n              } else {\n                return Optional.some(forMenu(selections, startTable, startCellOrCaption));\n              }\n            }\n            return Optional.none();\n          }));\n        });\n      };\n      var getExtractedDetails = function (targets) {\n        var tableOpt = table(targets.element);\n        return tableOpt.map(function (table) {\n          var warehouse = Warehouse.fromTable(table);\n          var selectedCells = onCells(warehouse, targets).getOr([]);\n          var locked = foldl(selectedCells, function (acc, cell) {\n            if (cell.isLocked) {\n              acc.onAny = true;\n              if (cell.column === 0) {\n                acc.onFirst = true;\n              } else if (cell.column + cell.colspan >= warehouse.grid.columns) {\n                acc.onLast = true;\n              }\n            }\n            return acc;\n          }, {\n            onAny: false,\n            onFirst: false,\n            onLast: false\n          });\n          return {\n            mergeable: onUnlockedMergable(warehouse, targets).isSome(),\n            unmergeable: onUnlockedUnmergable(warehouse, targets).isSome(),\n            locked: locked\n          };\n        });\n      };\n      var resetTargets = function () {\n        targets.set(cached(findTargets)());\n        selectionDetails = targets.get().bind(getExtractedDetails);\n        each$2(changeHandlers.get(), function (handler) {\n          return handler();\n        });\n      };\n      var setupHandler = function (handler) {\n        handler();\n        changeHandlers.set(changeHandlers.get().concat([handler]));\n        return function () {\n          changeHandlers.set(filter$2(changeHandlers.get(), function (h) {\n            return h !== handler;\n          }));\n        };\n      };\n      var onSetup = function (api, isDisabled) {\n        return setupHandler(function () {\n          return targets.get().fold(function () {\n            api.setDisabled(true);\n          }, function (targets) {\n            api.setDisabled(isDisabled(targets));\n          });\n        });\n      };\n      var onSetupWithToggle = function (api, isDisabled, isActive) {\n        return setupHandler(function () {\n          return targets.get().fold(function () {\n            api.setDisabled(true);\n            api.setActive(false);\n          }, function (targets) {\n            api.setDisabled(isDisabled(targets));\n            api.setActive(isActive(targets));\n          });\n        });\n      };\n      var isDisabledFromLocked = function (lockedDisable) {\n        return selectionDetails.exists(function (details) {\n          return details.locked[lockedDisable];\n        });\n      };\n      var onSetupTable = function (api) {\n        return onSetup(api, function (_) {\n          return false;\n        });\n      };\n      var onSetupCellOrRow = function (api) {\n        return onSetup(api, function (targets) {\n          return isCaption(targets.element);\n        });\n      };\n      var onSetupColumn = function (lockedDisable) {\n        return function (api) {\n          return onSetup(api, function (targets) {\n            return isCaption(targets.element) || isDisabledFromLocked(lockedDisable);\n          });\n        };\n      };\n      var onSetupPasteable = function (getClipboardData) {\n        return function (api) {\n          return onSetup(api, function (targets) {\n            return isCaption(targets.element) || getClipboardData().isNone();\n          });\n        };\n      };\n      var onSetupPasteableColumn = function (getClipboardData, lockedDisable) {\n        return function (api) {\n          return onSetup(api, function (targets) {\n            return isCaption(targets.element) || getClipboardData().isNone() || isDisabledFromLocked(lockedDisable);\n          });\n        };\n      };\n      var onSetupMergeable = function (api) {\n        return onSetup(api, function (_targets) {\n          return isDisabledForSelection('mergeable');\n        });\n      };\n      var onSetupUnmergeable = function (api) {\n        return onSetup(api, function (_targets) {\n          return isDisabledForSelection('unmergeable');\n        });\n      };\n      var onSetupTableWithCaption = function (api) {\n        return onSetupWithToggle(api, never, function (targets) {\n          var tableOpt = table(targets.element, getIsRoot(editor));\n          return tableOpt.exists(function (table) {\n            return child(table, 'caption');\n          });\n        });\n      };\n      var onSetupTableHeaders = function (command, headerType) {\n        return function (api) {\n          return onSetupWithToggle(api, function (targets) {\n            return isCaption(targets.element);\n          }, function () {\n            return editor.queryCommandValue(command) === headerType;\n          });\n        };\n      };\n      var onSetupTableRowHeaders = onSetupTableHeaders('mceTableRowType', 'header');\n      var onSetupTableColumnHeaders = onSetupTableHeaders('mceTableColType', 'th');\n      editor.on('NodeChange ExecCommand TableSelectorChange', resetTargets);\n      return {\n        onSetupTable: onSetupTable,\n        onSetupCellOrRow: onSetupCellOrRow,\n        onSetupColumn: onSetupColumn,\n        onSetupPasteable: onSetupPasteable,\n        onSetupPasteableColumn: onSetupPasteableColumn,\n        onSetupMergeable: onSetupMergeable,\n        onSetupUnmergeable: onSetupUnmergeable,\n        resetTargets: resetTargets,\n        onSetupTableWithCaption: onSetupTableWithCaption,\n        onSetupTableRowHeaders: onSetupTableRowHeaders,\n        onSetupTableColumnHeaders: onSetupTableColumnHeaders,\n        targets: targets.get\n      };\n    };\n\n    var addButtons = function (editor, selections, selectionTargets, clipboard) {\n      editor.ui.registry.addMenuButton('table', {\n        tooltip: 'Table',\n        icon: 'table',\n        fetch: function (callback) {\n          return callback('inserttable | cell row column | advtablesort | tableprops deletetable');\n        }\n      });\n      var cmd = function (command) {\n        return function () {\n          return editor.execCommand(command);\n        };\n      };\n      editor.ui.registry.addButton('tableprops', {\n        tooltip: 'Table properties',\n        onAction: cmd('mceTableProps'),\n        icon: 'table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      editor.ui.registry.addButton('tabledelete', {\n        tooltip: 'Delete table',\n        onAction: cmd('mceTableDelete'),\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      editor.ui.registry.addButton('tablecellprops', {\n        tooltip: 'Cell properties',\n        onAction: cmd('mceTableCellProps'),\n        icon: 'table-cell-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tablemergecells', {\n        tooltip: 'Merge cells',\n        onAction: cmd('mceTableMergeCells'),\n        icon: 'table-merge-cells',\n        onSetup: selectionTargets.onSetupMergeable\n      });\n      editor.ui.registry.addButton('tablesplitcells', {\n        tooltip: 'Split cell',\n        onAction: cmd('mceTableSplitCells'),\n        icon: 'table-split-cells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      });\n      editor.ui.registry.addButton('tableinsertrowbefore', {\n        tooltip: 'Insert row before',\n        onAction: cmd('mceTableInsertRowBefore'),\n        icon: 'table-insert-row-above',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tableinsertrowafter', {\n        tooltip: 'Insert row after',\n        onAction: cmd('mceTableInsertRowAfter'),\n        icon: 'table-insert-row-after',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tabledeleterow', {\n        tooltip: 'Delete row',\n        onAction: cmd('mceTableDeleteRow'),\n        icon: 'table-delete-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tablerowprops', {\n        tooltip: 'Row properties',\n        onAction: cmd('mceTableRowProps'),\n        icon: 'table-row-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tableinsertcolbefore', {\n        tooltip: 'Insert column before',\n        onAction: cmd('mceTableInsertColBefore'),\n        icon: 'table-insert-column-before',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      });\n      editor.ui.registry.addButton('tableinsertcolafter', {\n        tooltip: 'Insert column after',\n        onAction: cmd('mceTableInsertColAfter'),\n        icon: 'table-insert-column-after',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      });\n      editor.ui.registry.addButton('tabledeletecol', {\n        tooltip: 'Delete column',\n        onAction: cmd('mceTableDeleteCol'),\n        icon: 'table-delete-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      editor.ui.registry.addButton('tablecutrow', {\n        tooltip: 'Cut row',\n        icon: 'cut-row',\n        onAction: cmd('mceTableCutRow'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tablecopyrow', {\n        tooltip: 'Copy row',\n        icon: 'duplicate-row',\n        onAction: cmd('mceTableCopyRow'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addButton('tablepasterowbefore', {\n        tooltip: 'Paste row before',\n        icon: 'paste-row-before',\n        onAction: cmd('mceTablePasteRowBefore'),\n        onSetup: selectionTargets.onSetupPasteable(clipboard.getRows)\n      });\n      editor.ui.registry.addButton('tablepasterowafter', {\n        tooltip: 'Paste row after',\n        icon: 'paste-row-after',\n        onAction: cmd('mceTablePasteRowAfter'),\n        onSetup: selectionTargets.onSetupPasteable(clipboard.getRows)\n      });\n      editor.ui.registry.addButton('tablecutcol', {\n        tooltip: 'Cut column',\n        icon: 'cut-column',\n        onAction: cmd('mceTableCutCol'),\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      editor.ui.registry.addButton('tablecopycol', {\n        tooltip: 'Copy column',\n        icon: 'duplicate-column',\n        onAction: cmd('mceTableCopyCol'),\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      editor.ui.registry.addButton('tablepastecolbefore', {\n        tooltip: 'Paste column before',\n        icon: 'paste-column-before',\n        onAction: cmd('mceTablePasteColBefore'),\n        onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onFirst')\n      });\n      editor.ui.registry.addButton('tablepastecolafter', {\n        tooltip: 'Paste column after',\n        icon: 'paste-column-after',\n        onAction: cmd('mceTablePasteColAfter'),\n        onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onLast')\n      });\n      editor.ui.registry.addButton('tableinsertdialog', {\n        tooltip: 'Insert table',\n        onAction: cmd('mceInsertTable'),\n        icon: 'table'\n      });\n      var tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0) {\n        editor.ui.registry.addMenuButton('tableclass', {\n          icon: 'table-classes',\n          tooltip: 'Table styles',\n          fetch: generateMenuItemsCallback(editor, selections, tableClassList, 'tableclass', function (value) {\n            return editor.execCommand('mceTableToggleClass', false, value);\n          }),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      var tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0) {\n        editor.ui.registry.addMenuButton('tablecellclass', {\n          icon: 'table-cell-classes',\n          tooltip: 'Cell styles',\n          fetch: generateMenuItemsCallback(editor, selections, tableCellClassList, 'tablecellclass', function (value) {\n            return editor.execCommand('mceTableCellToggleClass', false, value);\n          }),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      editor.ui.registry.addMenuButton('tablecellvalign', {\n        icon: 'vertical-align',\n        tooltip: 'Vertical align',\n        fetch: generateMenuItemsCallback(editor, selections, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuButton('tablecellborderwidth', {\n        icon: 'border-width',\n        tooltip: 'Border width',\n        fetch: generateMenuItemsCallback(editor, selections, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuButton('tablecellborderstyle', {\n        icon: 'border-style',\n        tooltip: 'Border style',\n        fetch: generateMenuItemsCallback(editor, selections, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addToggleButton('tablecaption', {\n        tooltip: 'Table caption',\n        onAction: cmd('mceTableToggleCaption'),\n        icon: 'table-caption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      editor.ui.registry.addMenuButton('tablecellbackgroundcolor', {\n        icon: 'cell-background-color',\n        tooltip: 'Background color',\n        fetch: function (callback) {\n          return callback(buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color'));\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuButton('tablecellbordercolor', {\n        icon: 'cell-border-color',\n        tooltip: 'Border color',\n        fetch: function (callback) {\n          return callback(buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color'));\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addToggleButton('tablerowheader', {\n        tooltip: 'Row header',\n        icon: 'table-top-header',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      editor.ui.registry.addToggleButton('tablecolheader', {\n        tooltip: 'Column header',\n        icon: 'table-left-header',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableColumnHeaders\n      });\n    };\n    var addToolbars = function (editor) {\n      var isTable = function (table) {\n        return editor.dom.is(table, 'table') && editor.getBody().contains(table);\n      };\n      var toolbar = getToolbar(editor);\n      if (toolbar.length > 0) {\n        editor.ui.registry.addContextToolbar('table', {\n          predicate: isTable,\n          items: toolbar,\n          scope: 'node',\n          position: 'node'\n        });\n      }\n    };\n\n    var addMenuItems = function (editor, selections, selectionTargets, clipboard) {\n      var cmd = function (command) {\n        return function () {\n          return editor.execCommand(command);\n        };\n      };\n      var insertTableAction = function (data) {\n        editor.execCommand('mceInsertTable', false, {\n          rows: data.numRows,\n          columns: data.numColumns\n        });\n      };\n      var tableProperties = {\n        text: 'Table properties',\n        onSetup: selectionTargets.onSetupTable,\n        onAction: cmd('mceTableProps')\n      };\n      var deleteTable = {\n        text: 'Delete table',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable,\n        onAction: cmd('mceTableDelete')\n      };\n      editor.ui.registry.addMenuItem('tableinsertrowbefore', {\n        text: 'Insert row before',\n        icon: 'table-insert-row-above',\n        onAction: cmd('mceTableInsertRowBefore'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tableinsertrowafter', {\n        text: 'Insert row after',\n        icon: 'table-insert-row-after',\n        onAction: cmd('mceTableInsertRowAfter'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tabledeleterow', {\n        text: 'Delete row',\n        icon: 'table-delete-row',\n        onAction: cmd('mceTableDeleteRow'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tablerowprops', {\n        text: 'Row properties',\n        icon: 'table-row-properties',\n        onAction: cmd('mceTableRowProps'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tablecutrow', {\n        text: 'Cut row',\n        icon: 'cut-row',\n        onAction: cmd('mceTableCutRow'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tablecopyrow', {\n        text: 'Copy row',\n        icon: 'duplicate-row',\n        onAction: cmd('mceTableCopyRow'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tablepasterowbefore', {\n        text: 'Paste row before',\n        icon: 'paste-row-before',\n        onAction: cmd('mceTablePasteRowBefore'),\n        onSetup: selectionTargets.onSetupPasteable(clipboard.getRows)\n      });\n      editor.ui.registry.addMenuItem('tablepasterowafter', {\n        text: 'Paste row after',\n        icon: 'paste-row-after',\n        onAction: cmd('mceTablePasteRowAfter'),\n        onSetup: selectionTargets.onSetupPasteable(clipboard.getRows)\n      });\n      var row = {\n        type: 'nestedmenuitem',\n        text: 'Row',\n        getSubmenuItems: constant('tableinsertrowbefore tableinsertrowafter tabledeleterow tablerowprops | tablecutrow tablecopyrow tablepasterowbefore tablepasterowafter')\n      };\n      editor.ui.registry.addMenuItem('tableinsertcolumnbefore', {\n        text: 'Insert column before',\n        icon: 'table-insert-column-before',\n        onAction: cmd('mceTableInsertColBefore'),\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      });\n      editor.ui.registry.addMenuItem('tableinsertcolumnafter', {\n        text: 'Insert column after',\n        icon: 'table-insert-column-after',\n        onAction: cmd('mceTableInsertColAfter'),\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      });\n      editor.ui.registry.addMenuItem('tabledeletecolumn', {\n        text: 'Delete column',\n        icon: 'table-delete-column',\n        onAction: cmd('mceTableDeleteCol'),\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      editor.ui.registry.addMenuItem('tablecutcolumn', {\n        text: 'Cut column',\n        icon: 'cut-column',\n        onAction: cmd('mceTableCutCol'),\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      editor.ui.registry.addMenuItem('tablecopycolumn', {\n        text: 'Copy column',\n        icon: 'duplicate-column',\n        onAction: cmd('mceTableCopyCol'),\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      editor.ui.registry.addMenuItem('tablepastecolumnbefore', {\n        text: 'Paste column before',\n        icon: 'paste-column-before',\n        onAction: cmd('mceTablePasteColBefore'),\n        onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onFirst')\n      });\n      editor.ui.registry.addMenuItem('tablepastecolumnafter', {\n        text: 'Paste column after',\n        icon: 'paste-column-after',\n        onAction: cmd('mceTablePasteColAfter'),\n        onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onLast')\n      });\n      var column = {\n        type: 'nestedmenuitem',\n        text: 'Column',\n        getSubmenuItems: constant('tableinsertcolumnbefore tableinsertcolumnafter tabledeletecolumn | tablecutcolumn tablecopycolumn tablepastecolumnbefore tablepastecolumnafter')\n      };\n      editor.ui.registry.addMenuItem('tablecellprops', {\n        text: 'Cell properties',\n        icon: 'table-cell-properties',\n        onAction: cmd('mceTableCellProps'),\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addMenuItem('tablemergecells', {\n        text: 'Merge cells',\n        icon: 'table-merge-cells',\n        onAction: cmd('mceTableMergeCells'),\n        onSetup: selectionTargets.onSetupMergeable\n      });\n      editor.ui.registry.addMenuItem('tablesplitcells', {\n        text: 'Split cell',\n        icon: 'table-split-cells',\n        onAction: cmd('mceTableSplitCells'),\n        onSetup: selectionTargets.onSetupUnmergeable\n      });\n      var cell = {\n        type: 'nestedmenuitem',\n        text: 'Cell',\n        getSubmenuItems: constant('tablecellprops tablemergecells tablesplitcells')\n      };\n      if (hasTableGrid(editor) === false) {\n        editor.ui.registry.addMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          onAction: cmd('mceInsertTable')\n        });\n      } else {\n        editor.ui.registry.addNestedMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          getSubmenuItems: function () {\n            return [{\n                type: 'fancymenuitem',\n                fancytype: 'inserttable',\n                onAction: insertTableAction\n              }];\n          }\n        });\n      }\n      editor.ui.registry.addMenuItem('inserttabledialog', {\n        text: 'Insert table',\n        icon: 'table',\n        onAction: cmd('mceInsertTable')\n      });\n      editor.ui.registry.addMenuItem('tableprops', tableProperties);\n      editor.ui.registry.addMenuItem('deletetable', deleteTable);\n      editor.ui.registry.addNestedMenuItem('row', row);\n      editor.ui.registry.addNestedMenuItem('column', column);\n      editor.ui.registry.addNestedMenuItem('cell', cell);\n      editor.ui.registry.addContextMenu('table', {\n        update: function () {\n          selectionTargets.resetTargets();\n          return selectionTargets.targets().fold(constant(''), function (targets) {\n            if (name(targets.element) === 'caption') {\n              return 'tableprops deletetable';\n            } else {\n              return 'cell row column | advtablesort | tableprops deletetable';\n            }\n          });\n        }\n      });\n      var tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0) {\n        editor.ui.registry.addNestedMenuItem('tableclass', {\n          icon: 'table-classes',\n          text: 'Table styles',\n          getSubmenuItems: function () {\n            return buildMenuItems(editor, selections, tableClassList, 'tableclass', function (value) {\n              return editor.execCommand('mceTableToggleClass', false, value);\n            });\n          },\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      var tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0) {\n        editor.ui.registry.addNestedMenuItem('tablecellclass', {\n          icon: 'table-cell-classes',\n          text: 'Cell styles',\n          getSubmenuItems: function () {\n            return buildMenuItems(editor, selections, tableCellClassList, 'tablecellclass', function (value) {\n              return editor.execCommand('mceTableCellToggleClass', false, value);\n            });\n          },\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      editor.ui.registry.addNestedMenuItem('tablecellvalign', {\n        icon: 'vertical-align',\n        text: 'Vertical align',\n        getSubmenuItems: function () {\n          return buildMenuItems(editor, selections, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align'));\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addNestedMenuItem('tablecellborderwidth', {\n        icon: 'border-width',\n        text: 'Border width',\n        getSubmenuItems: function () {\n          return buildMenuItems(editor, selections, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width'));\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addNestedMenuItem('tablecellborderstyle', {\n        icon: 'border-style',\n        text: 'Border style',\n        getSubmenuItems: function () {\n          return buildMenuItems(editor, selections, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style'));\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addToggleMenuItem('tablecaption', {\n        icon: 'table-caption',\n        text: 'Table caption',\n        onAction: cmd('mceTableToggleCaption'),\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      editor.ui.registry.addNestedMenuItem('tablecellbackgroundcolor', {\n        icon: 'cell-background-color',\n        text: 'Background color',\n        getSubmenuItems: function () {\n          return buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color');\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addNestedMenuItem('tablecellbordercolor', {\n        icon: 'cell-border-color',\n        text: 'Border color',\n        getSubmenuItems: function () {\n          return buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color');\n        },\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      editor.ui.registry.addToggleMenuItem('tablerowheader', {\n        text: 'Row header',\n        icon: 'table-top-header',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      editor.ui.registry.addToggleMenuItem('tablecolheader', {\n        text: 'Column header',\n        icon: 'table-left-header',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableColumnHeaders\n      });\n    };\n\n    var Plugin = function (editor) {\n      var selections = Selections(function () {\n        return getBody(editor);\n      }, function () {\n        return getSelectionCell(getSelectionStart(editor), getIsRoot(editor));\n      }, ephemera.selectedSelector);\n      var selectionTargets = getSelectionTargets(editor, selections);\n      var resizeHandler = getResizeHandler(editor);\n      var cellSelection = CellSelection(editor, resizeHandler.lazyResize, selectionTargets);\n      var actions = TableActions(editor, cellSelection, resizeHandler.lazyWire);\n      var clipboard = Clipboard();\n      registerCommands(editor, actions, cellSelection, selections, clipboard);\n      registerQueryCommands(editor, actions, selections);\n      registerEvents(editor, selections, actions);\n      addMenuItems(editor, selections, selectionTargets, clipboard);\n      addButtons(editor, selections, selectionTargets, clipboard);\n      addToolbars(editor);\n      editor.on('PreInit', function () {\n        editor.serializer.addTempAttr(ephemera.firstSelected);\n        editor.serializer.addTempAttr(ephemera.lastSelected);\n        registerFormats(editor);\n      });\n      if (hasTabNavigation(editor)) {\n        editor.on('keydown', function (e) {\n          handle$1(e, editor, cellSelection);\n        });\n      }\n      editor.on('remove', function () {\n        resizeHandler.destroy();\n      });\n      return getApi(editor, clipboard, resizeHandler, selectionTargets);\n    };\n    function Plugin$1 () {\n      global$3.add('table', Plugin);\n    }\n\n    Plugin$1();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/table/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/textcolor/index.js":
/*!*********************************************************!*\
  !*** ./node_modules/tinymce/plugins/textcolor/index.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"textcolor\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/textcolor')\n//   ES2015:\n//     import 'tinymce/plugins/textcolor'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/textcolor/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/textcolor/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/textcolor/plugin.js":
/*!**********************************************************!*\
  !*** ./node_modules/tinymce/plugins/textcolor/plugin.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    function Plugin () {\n      global.add('textcolor', function () {\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/textcolor/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/wordcount/index.js":
/*!*********************************************************!*\
  !*** ./node_modules/tinymce/plugins/wordcount/index.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Exports the \"wordcount\" plugin for usage with module loaders\n// Usage:\n//   CommonJS:\n//     require('tinymce/plugins/wordcount')\n//   ES2015:\n//     import 'tinymce/plugins/wordcount'\n__webpack_require__(/*! ./plugin.js */ \"./node_modules/tinymce/plugins/wordcount/plugin.js\");\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/wordcount/index.js?");

/***/ }),

/***/ "./node_modules/tinymce/plugins/wordcount/plugin.js":
/*!**********************************************************!*\
  !*** ./node_modules/tinymce/plugins/wordcount/plugin.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var identity = function (x) {\n      return x;\n    };\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n\n    var zeroWidth = '\\uFEFF';\n    var removeZwsp$1 = function (s) {\n      return s.replace(/\\uFEFF/g, '');\n    };\n\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    var punctuationStr = '[!-#%-*,-\\\\/:;?@\\\\[-\\\\]_{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uff3f\\uFF5B\\uFF5D\\uFF5F-\\uFF65]';\n    var regExps = {\n      aletter: '[A-Za-z\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05F3\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u10a0-\\u10c5\\u10d0-\\u10fa\\u10fc\\u1100-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1a00-\\u1a16\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bc0-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u24B6-\\u24E9\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2d00-\\u2d25\\u2d30-\\u2d65\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005\\u303b\\u303c\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790\\ua791\\ua7a0-\\ua7a9\\ua7fa-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]',\n      midnumlet: '[-\\'\\\\.\\u2018\\u2019\\u2024\\uFE52\\uFF07\\uFF0E]',\n      midletter: '[:\\xB7\\xB7\\u05F4\\u2027\\uFE13\\uFE55\\uFF1A]',\n      midnum: '[\\xB1+*/,;;\\u0589\\u060C\\u060D\\u066C\\u07F8\\u2044\\uFE10\\uFE14\\uFE50\\uFE54\\uFF0C\\uFF1B]',\n      numeric: '[0-9\\u0660-\\u0669\\u066B\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0be6-\\u0bef\\u0c66-\\u0c6f\\u0ce6-\\u0cef\\u0d66-\\u0d6f\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f29\\u1040-\\u1049\\u1090-\\u1099\\u17e0-\\u17e9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19d9\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\ua620-\\ua629\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\uaa50-\\uaa59\\uabf0-\\uabf9]',\n      cr: '\\\\r',\n      lf: '\\\\n',\n      newline: '[\\x0B\\f\\x85\\u2028\\u2029]',\n      extend: '[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0c01-\\u0c03\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d02\\u0d03\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f\\u109a-\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b6-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u19b0-\\u19c0\\u19c8\\u19c9\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1baa\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2\\u1dc0-\\u1de6\\u1dfc-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\uA672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa7b\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe3-\\uabea\\uabec\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]',\n      format: '[\\xAD\\u0600-\\u0603\\u06DD\\u070F\\u17b4\\u17b5\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\uFEFF\\uFFF9-\\uFFFB]',\n      katakana: '[\\u3031-\\u3035\\u309B\\u309C\\u30A0-\\u30fa\\u30fc-\\u30ff\\u31f0-\\u31ff\\u32D0-\\u32FE\\u3300-\\u3357\\uff66-\\uff9d]',\n      extendnumlet: '[=_\\u203f\\u2040\\u2054\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff3f\\u2200-\\u22FF<>]',\n      punctuation: punctuationStr\n    };\n    var characterIndices = {\n      ALETTER: 0,\n      MIDNUMLET: 1,\n      MIDLETTER: 2,\n      MIDNUM: 3,\n      NUMERIC: 4,\n      CR: 5,\n      LF: 6,\n      NEWLINE: 7,\n      EXTEND: 8,\n      FORMAT: 9,\n      KATAKANA: 10,\n      EXTENDNUMLET: 11,\n      AT: 12,\n      OTHER: 13\n    };\n    var SETS$1 = [\n      new RegExp(regExps.aletter),\n      new RegExp(regExps.midnumlet),\n      new RegExp(regExps.midletter),\n      new RegExp(regExps.midnum),\n      new RegExp(regExps.numeric),\n      new RegExp(regExps.cr),\n      new RegExp(regExps.lf),\n      new RegExp(regExps.newline),\n      new RegExp(regExps.extend),\n      new RegExp(regExps.format),\n      new RegExp(regExps.katakana),\n      new RegExp(regExps.extendnumlet),\n      new RegExp('@')\n    ];\n    var EMPTY_STRING$1 = '';\n    var PUNCTUATION$1 = new RegExp('^' + regExps.punctuation + '$');\n    var WHITESPACE$1 = /^\\s+$/;\n\n    var SETS = SETS$1;\n    var OTHER = characterIndices.OTHER;\n    var getType = function (char) {\n      var type = OTHER;\n      var setsLength = SETS.length;\n      for (var j = 0; j < setsLength; ++j) {\n        var set = SETS[j];\n        if (set && set.test(char)) {\n          type = j;\n          break;\n        }\n      }\n      return type;\n    };\n    var memoize = function (func) {\n      var cache = {};\n      return function (char) {\n        if (cache[char]) {\n          return cache[char];\n        } else {\n          var result = func(char);\n          cache[char] = result;\n          return result;\n        }\n      };\n    };\n    var classify = function (characters) {\n      var memoized = memoize(getType);\n      return map(characters, memoized);\n    };\n\n    var isWordBoundary = function (map, index) {\n      var type = map[index];\n      var nextType = map[index + 1];\n      if (index < 0 || index > map.length - 1 && index !== 0) {\n        return false;\n      }\n      if (type === characterIndices.ALETTER && nextType === characterIndices.ALETTER) {\n        return false;\n      }\n      var nextNextType = map[index + 2];\n      if (type === characterIndices.ALETTER && (nextType === characterIndices.MIDLETTER || nextType === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextNextType === characterIndices.ALETTER) {\n        return false;\n      }\n      var prevType = map[index - 1];\n      if ((type === characterIndices.MIDLETTER || type === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextType === characterIndices.ALETTER && prevType === characterIndices.ALETTER) {\n        return false;\n      }\n      if ((type === characterIndices.NUMERIC || type === characterIndices.ALETTER) && (nextType === characterIndices.NUMERIC || nextType === characterIndices.ALETTER)) {\n        return false;\n      }\n      if ((type === characterIndices.MIDNUM || type === characterIndices.MIDNUMLET) && nextType === characterIndices.NUMERIC && prevType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if (type === characterIndices.NUMERIC && (nextType === characterIndices.MIDNUM || nextType === characterIndices.MIDNUMLET) && nextNextType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if (type === characterIndices.EXTEND || type === characterIndices.FORMAT || prevType === characterIndices.EXTEND || prevType === characterIndices.FORMAT || nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT) {\n        return false;\n      }\n      if (type === characterIndices.CR && nextType === characterIndices.LF) {\n        return false;\n      }\n      if (type === characterIndices.NEWLINE || type === characterIndices.CR || type === characterIndices.LF) {\n        return true;\n      }\n      if (nextType === characterIndices.NEWLINE || nextType === characterIndices.CR || nextType === characterIndices.LF) {\n        return true;\n      }\n      if (type === characterIndices.KATAKANA && nextType === characterIndices.KATAKANA) {\n        return false;\n      }\n      if (nextType === characterIndices.EXTENDNUMLET && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTENDNUMLET)) {\n        return false;\n      }\n      if (type === characterIndices.EXTENDNUMLET && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA)) {\n        return false;\n      }\n      if (type === characterIndices.AT) {\n        return false;\n      }\n      return true;\n    };\n\n    var EMPTY_STRING = EMPTY_STRING$1;\n    var WHITESPACE = WHITESPACE$1;\n    var PUNCTUATION = PUNCTUATION$1;\n    var isProtocol = function (str) {\n      return str === 'http' || str === 'https';\n    };\n    var findWordEnd = function (characters, startIndex) {\n      var i;\n      for (i = startIndex; i < characters.length; i++) {\n        if (WHITESPACE.test(characters[i])) {\n          break;\n        }\n      }\n      return i;\n    };\n    var findUrlEnd = function (characters, startIndex) {\n      var endIndex = findWordEnd(characters, startIndex + 1);\n      var peakedWord = characters.slice(startIndex + 1, endIndex).join(EMPTY_STRING);\n      return peakedWord.substr(0, 3) === '://' ? endIndex : startIndex;\n    };\n    var findWords = function (chars, sChars, characterMap, options) {\n      var words = [];\n      var word = [];\n      for (var i = 0; i < characterMap.length; ++i) {\n        word.push(chars[i]);\n        if (isWordBoundary(characterMap, i)) {\n          var ch = sChars[i];\n          if ((options.includeWhitespace || !WHITESPACE.test(ch)) && (options.includePunctuation || !PUNCTUATION.test(ch))) {\n            var startOfWord = i - word.length + 1;\n            var endOfWord = i + 1;\n            var str = sChars.slice(startOfWord, endOfWord).join(EMPTY_STRING);\n            if (isProtocol(str)) {\n              var endOfUrl = findUrlEnd(sChars, i);\n              var url = chars.slice(endOfWord, endOfUrl);\n              Array.prototype.push.apply(word, url);\n              i = endOfUrl;\n            }\n            words.push(word);\n          }\n          word = [];\n        }\n      }\n      return words;\n    };\n    var getDefaultOptions = function () {\n      return {\n        includeWhitespace: false,\n        includePunctuation: false\n      };\n    };\n    var getWords$1 = function (chars, extract, options) {\n      options = __assign(__assign({}, getDefaultOptions()), options);\n      var filteredChars = [];\n      var extractedChars = [];\n      for (var i = 0; i < chars.length; i++) {\n        var ch = extract(chars[i]);\n        if (ch !== zeroWidth) {\n          filteredChars.push(chars[i]);\n          extractedChars.push(ch);\n        }\n      }\n      var characterMap = classify(extractedChars);\n      return findWords(filteredChars, extractedChars, characterMap, options);\n    };\n\n    var getWords = getWords$1;\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var getText = function (node, schema) {\n      var blockElements = schema.getBlockElements();\n      var shortEndedElements = schema.getShortEndedElements();\n      var isNewline = function (node) {\n        return blockElements[node.nodeName] || shortEndedElements[node.nodeName];\n      };\n      var textBlocks = [];\n      var txt = '';\n      var treeWalker = new global$1(node, node);\n      while (node = treeWalker.next()) {\n        if (node.nodeType === 3) {\n          txt += removeZwsp$1(node.data);\n        } else if (isNewline(node) && txt.length) {\n          textBlocks.push(txt);\n          txt = '';\n        }\n      }\n      if (txt.length) {\n        textBlocks.push(txt);\n      }\n      return textBlocks;\n    };\n\n    var removeZwsp = function (text) {\n      return text.replace(/\\u200B/g, '');\n    };\n    var strLen = function (str) {\n      return str.replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, '_').length;\n    };\n    var countWords = function (node, schema) {\n      var text = removeZwsp(getText(node, schema).join('\\n'));\n      return getWords(text.split(''), identity).length;\n    };\n    var countCharacters = function (node, schema) {\n      var text = getText(node, schema).join('');\n      return strLen(text);\n    };\n    var countCharactersWithoutSpaces = function (node, schema) {\n      var text = getText(node, schema).join('').replace(/\\s/g, '');\n      return strLen(text);\n    };\n\n    var createBodyCounter = function (editor, count) {\n      return function () {\n        return count(editor.getBody(), editor.schema);\n      };\n    };\n    var createSelectionCounter = function (editor, count) {\n      return function () {\n        return count(editor.selection.getRng().cloneContents(), editor.schema);\n      };\n    };\n    var createBodyWordCounter = function (editor) {\n      return createBodyCounter(editor, countWords);\n    };\n    var get = function (editor) {\n      return {\n        body: {\n          getWordCount: createBodyWordCounter(editor),\n          getCharacterCount: createBodyCounter(editor, countCharacters),\n          getCharacterCountWithoutSpaces: createBodyCounter(editor, countCharactersWithoutSpaces)\n        },\n        selection: {\n          getWordCount: createSelectionCounter(editor, countWords),\n          getCharacterCount: createSelectionCounter(editor, countCharacters),\n          getCharacterCountWithoutSpaces: createSelectionCounter(editor, countCharactersWithoutSpaces)\n        },\n        getCount: createBodyWordCounter(editor)\n      };\n    };\n\n    var open = function (editor, api) {\n      editor.windowManager.open({\n        title: 'Word Count',\n        body: {\n          type: 'panel',\n          items: [{\n              type: 'table',\n              header: [\n                'Count',\n                'Document',\n                'Selection'\n              ],\n              cells: [\n                [\n                  'Words',\n                  String(api.body.getWordCount()),\n                  String(api.selection.getWordCount())\n                ],\n                [\n                  'Characters (no spaces)',\n                  String(api.body.getCharacterCountWithoutSpaces()),\n                  String(api.selection.getCharacterCountWithoutSpaces())\n                ],\n                [\n                  'Characters',\n                  String(api.body.getCharacterCount()),\n                  String(api.selection.getCharacterCount())\n                ]\n              ]\n            }]\n        },\n        buttons: [{\n            type: 'cancel',\n            name: 'close',\n            text: 'Close',\n            primary: true\n          }]\n      });\n    };\n\n    var register$1 = function (editor, api) {\n      editor.addCommand('mceWordCount', function () {\n        return open(editor, api);\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var fireWordCountUpdate = function (editor, api) {\n      editor.fire('wordCountUpdate', {\n        wordCount: {\n          words: api.body.getWordCount(),\n          characters: api.body.getCharacterCount(),\n          charactersWithoutSpaces: api.body.getCharacterCountWithoutSpaces()\n        }\n      });\n    };\n\n    var updateCount = function (editor, api) {\n      fireWordCountUpdate(editor, api);\n    };\n    var setup = function (editor, api, delay) {\n      var debouncedUpdate = global.debounce(function () {\n        return updateCount(editor, api);\n      }, delay);\n      editor.on('init', function () {\n        updateCount(editor, api);\n        global.setEditorTimeout(editor, function () {\n          editor.on('SetContent BeforeAddUndo Undo Redo ViewUpdate keyup', debouncedUpdate);\n        }, 0);\n      });\n    };\n\n    var register = function (editor) {\n      var onAction = function () {\n        return editor.execCommand('mceWordCount');\n      };\n      editor.ui.registry.addButton('wordcount', {\n        tooltip: 'Word count',\n        icon: 'character-count',\n        onAction: onAction\n      });\n      editor.ui.registry.addMenuItem('wordcount', {\n        text: 'Word count',\n        icon: 'character-count',\n        onAction: onAction\n      });\n    };\n\n    function Plugin (delay) {\n      if (delay === void 0) {\n        delay = 300;\n      }\n      global$2.add('wordcount', function (editor) {\n        var api = get(editor);\n        register$1(editor, api);\n        register(editor);\n        setup(editor, api, delay);\n        return api;\n      });\n    }\n\n    Plugin();\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/tinymce/plugins/wordcount/plugin.js?");

/***/ }),

/***/ "./node_modules/tinymce/themes/silver/theme.js":
/*!*****************************************************!*\
  !*** ./node_modules/tinymce/themes/silver/theme.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType$1 = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var eq$1 = function (t) {\n      return function (a) {\n        return t === a;\n      };\n    };\n    var isString = isType$1('string');\n    var isObject = isType$1('object');\n    var isArray = isType$1('array');\n    var isNull = eq$1(null);\n    var isBoolean = isSimpleType('boolean');\n    var isUndefined = eq$1(undefined);\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n    var isFunction = isSimpleType('function');\n    var isNumber = isSimpleType('number');\n    var isArrayOf = function (value, pred) {\n      if (isArray(value)) {\n        for (var i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    var noop = function () {\n    };\n    var noarg = function (f) {\n      return function () {\n        return f();\n      };\n    };\n    var compose = function (fa, fb) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return fa(fb.apply(null, args));\n      };\n    };\n    var compose1 = function (fbc, fab) {\n      return function (a) {\n        return fbc(fab(a));\n      };\n    };\n    var constant$1 = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity$1 = function (x) {\n      return x;\n    };\n    var tripleEquals = function (a, b) {\n      return a === b;\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var not = function (f) {\n      return function (t) {\n        return !f(t);\n      };\n    };\n    var die = function (msg) {\n      return function () {\n        throw new Error(msg);\n      };\n    };\n    var never = constant$1(false);\n    var always = constant$1(true);\n\n    var global$g = tinymce.util.Tools.resolve('tinymce.ThemeManager');\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n    function __rest(s, e) {\n      var t = {};\n      for (var p in s)\n        if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n          t[p] = s[p];\n      if (s != null && typeof Object.getOwnPropertySymbols === 'function')\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n            t[p[i]] = s[p[i]];\n        }\n      return t;\n    }\n    function __spreadArray(to, from, pack) {\n      if (pack || arguments.length === 2)\n        for (var i = 0, l = from.length, ar; i < l; i++) {\n          if (ar || !(i in from)) {\n            if (!ar)\n              ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n          }\n        }\n      return to.concat(ar || Array.prototype.slice.call(from));\n    }\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity$1;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant$1(null),\n        getOrUndefined: constant$1(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant$1('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant$1(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from$1 = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from$1\n    };\n\n    var nativeSlice = Array.prototype.slice;\n    var nativeIndexOf = Array.prototype.indexOf;\n    var nativePush = Array.prototype.push;\n    var rawIndexOf = function (ts, t) {\n      return nativeIndexOf.call(ts, t);\n    };\n    var indexOf = function (xs, x) {\n      var r = rawIndexOf(xs, x);\n      return r === -1 ? Optional.none() : Optional.some(r);\n    };\n    var contains$2 = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var exists = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var range$2 = function (num, f) {\n      var r = [];\n      for (var i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    var chunk$1 = function (array, size) {\n      var r = [];\n      for (var i = 0; i < array.length; i += size) {\n        var s = nativeSlice.call(array, i, i + size);\n        r.push(s);\n      }\n      return r;\n    };\n    var map$2 = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each$1 = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var eachr = function (xs, f) {\n      for (var i = xs.length - 1; i >= 0; i--) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var partition$3 = function (xs, pred) {\n      var pass = [];\n      var fail = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        var arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass: pass,\n        fail: fail\n      };\n    };\n    var filter$2 = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldr = function (xs, f, acc) {\n      eachr(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var foldl = function (xs, f, acc) {\n      each$1(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var findUntil = function (xs, pred, until) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var find$5 = function (xs, pred) {\n      return findUntil(xs, pred, never);\n    };\n    var findIndex$1 = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind$3 = function (xs, f) {\n      return flatten(map$2(xs, f));\n    };\n    var forall = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        var x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    var reverse = function (xs) {\n      var r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var difference = function (a1, a2) {\n      return filter$2(a1, function (x) {\n        return !contains$2(a2, x);\n      });\n    };\n    var mapToObject = function (xs, f) {\n      var r = {};\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    var pure$2 = function (x) {\n      return [x];\n    };\n    var sort = function (xs, comparator) {\n      var copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    var get$f = function (xs, i) {\n      return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    };\n    var head = function (xs) {\n      return get$f(xs, 0);\n    };\n    var last$2 = function (xs) {\n      return get$f(xs, xs.length - 1);\n    };\n    var from = isFunction(Array.from) ? Array.from : function (x) {\n      return nativeSlice.call(x);\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    var keys = Object.keys;\n    var hasOwnProperty = Object.hasOwnProperty;\n    var each = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var map$1 = function (obj, f) {\n      return tupleMap(obj, function (x, i) {\n        return {\n          k: i,\n          v: f(x, i)\n        };\n      });\n    };\n    var tupleMap = function (obj, f) {\n      var r = {};\n      each(obj, function (x, i) {\n        var tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    var objAcc = function (r) {\n      return function (x, i) {\n        r[i] = x;\n      };\n    };\n    var internalFilter = function (obj, pred, onTrue, onFalse) {\n      var r = {};\n      each(obj, function (x, i) {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n      return r;\n    };\n    var filter$1 = function (obj, pred) {\n      var t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    var mapToArray = function (obj, f) {\n      var r = [];\n      each(obj, function (value, name) {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    var find$4 = function (obj, pred) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        if (pred(x, i, obj)) {\n          return Optional.some(x);\n        }\n      }\n      return Optional.none();\n    };\n    var values = function (obj) {\n      return mapToArray(obj, identity$1);\n    };\n    var get$e = function (obj, key) {\n      return has$2(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    var has$2 = function (obj, key) {\n      return hasOwnProperty.call(obj, key);\n    };\n    var hasNonNullableKey = function (obj, key) {\n      return has$2(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    };\n\n    var is$1 = function (lhs, rhs, comparator) {\n      if (comparator === void 0) {\n        comparator = tripleEquals;\n      }\n      return lhs.exists(function (left) {\n        return comparator(left, rhs);\n      });\n    };\n    var equals = function (lhs, rhs, comparator) {\n      if (comparator === void 0) {\n        comparator = tripleEquals;\n      }\n      return lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    };\n    var cat = function (arr) {\n      var r = [];\n      var push = function (x) {\n        r.push(x);\n      };\n      for (var i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    var sequence = function (arr) {\n      var r = [];\n      for (var i = 0; i < arr.length; i++) {\n        var x = arr[i];\n        if (x.isSome()) {\n          r.push(x.getOrDie());\n        } else {\n          return Optional.none();\n        }\n      }\n      return Optional.some(r);\n    };\n    var lift2 = function (oa, ob, f) {\n      return oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    };\n    var lift3 = function (oa, ob, oc, f) {\n      return oa.isSome() && ob.isSome() && oc.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie(), oc.getOrDie())) : Optional.none();\n    };\n    var mapFrom = function (a, f) {\n      return a !== undefined && a !== null ? Optional.some(f(a)) : Optional.none();\n    };\n    var someIf = function (b, a) {\n      return b ? Optional.some(a) : Optional.none();\n    };\n\n    var addToEnd = function (str, suffix) {\n      return str + suffix;\n    };\n    var removeFromStart = function (str, numChars) {\n      return str.substring(numChars);\n    };\n\n    var checkRange = function (str, substr, start) {\n      return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    };\n    var removeLeading = function (str, prefix) {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    var ensureTrailing = function (str, suffix) {\n      return endsWith(str, suffix) ? str : addToEnd(str, suffix);\n    };\n    var contains$1 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var startsWith = function (str, prefix) {\n      return checkRange(str, prefix, 0);\n    };\n    var endsWith = function (str, suffix) {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    var blank = function (r) {\n      return function (s) {\n        return s.replace(r, '');\n      };\n    };\n    var trim$1 = blank(/^\\s+|\\s+$/g);\n    var isNotEmpty = function (s) {\n      return s.length > 0;\n    };\n    var isEmpty = function (s) {\n      return !isNotEmpty(s);\n    };\n\n    var isSupported$1 = function (dom) {\n      return dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n    };\n\n    var fromHtml$2 = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml$2,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var DOCUMENT = 9;\n    var DOCUMENT_FRAGMENT = 11;\n    var ELEMENT = 1;\n    var TEXT = 3;\n\n    var name$2 = function (element) {\n      var r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    var type = function (element) {\n      return element.dom.nodeType;\n    };\n    var isType = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isElement$2 = isType(ELEMENT);\n    var isText$1 = isType(TEXT);\n    var isDocument = isType(DOCUMENT);\n    var isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var DeviceType = function (os, browser, userAgent, mediaMatch) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isMobile = os.isiOS() || os.isAndroid();\n      var isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      var isPhone = isiPhone || isMobile && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      var isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant$1(isiPad),\n        isiPhone: constant$1(isiPhone),\n        isTablet: constant$1(isTablet),\n        isPhone: constant$1(isPhone),\n        isTouch: constant$1(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant$1(iOSwebview),\n        isDesktop: constant$1(isDesktop)\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    var find$3 = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$d(group(1), group(2));\n    };\n    var detect$4 = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$3();\n      }\n      return find$3(versionRegexes, cleanedAgent);\n    };\n    var unknown$3 = function () {\n      return nu$d(0, 0);\n    };\n    var nu$d = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu$d,\n      detect: detect$4,\n      unknown: unknown$3\n    };\n\n    var detectBrowser$1 = function (browsers, userAgentData) {\n      return findMap(userAgentData.brands, function (uaBrand) {\n        var lcBrand = uaBrand.brand.toLowerCase();\n        return find$5(browsers, function (browser) {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(function (info) {\n          return {\n            current: info.name,\n            version: Version.nu(parseInt(uaBrand.version, 10), 0)\n          };\n        });\n      });\n    };\n\n    var detect$3 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find$5(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$3(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$3(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$1(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n        }\n      },\n      {\n        name: 'Chrome',\n        brand: 'Chromium',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('mac os x'),\n        versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      },\n      {\n        name: 'ChromeOS',\n        search: checkContains('cros'),\n        versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant$1(browsers),\n      oses: constant$1(oses)\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var unknown$2 = function () {\n      return nu$c({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$c = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isBrowser = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge),\n        isChrome: isBrowser(chrome),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    var Browser = {\n      unknown: unknown$2,\n      nu: nu$c,\n      edge: constant$1(edge),\n      chrome: constant$1(chrome),\n      ie: constant$1(ie),\n      opera: constant$1(opera),\n      firefox: constant$1(firefox),\n      safari: constant$1(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var chromeos = 'ChromeOS';\n    var unknown$1 = function () {\n      return nu$b({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$b = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isOS = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isOSX: isOS(osx),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown$1,\n      nu: nu$b,\n      windows: constant$1(windows),\n      ios: constant$1(ios),\n      android: constant$1(android),\n      linux: constant$1(linux),\n      osx: constant$1(osx),\n      solaris: constant$1(solaris),\n      freebsd: constant$1(freebsd),\n      chromeos: constant$1(chromeos)\n    };\n\n    var detect$2 = function (userAgent, userAgentDataOpt, mediaMatch) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = userAgentDataOpt.bind(function (userAgentData) {\n        return detectBrowser$1(browsers, userAgentData);\n      }).orThunk(function () {\n        return detectBrowser(browsers, userAgent);\n      }).fold(Browser.unknown, Browser.nu);\n      var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$2 };\n\n    var mediaMatch = function (query) {\n      return window.matchMedia(query).matches;\n    };\n    var platform = cached(function () {\n      return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch);\n    });\n    var detect$1 = function () {\n      return platform();\n    };\n\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_CONTAINED_BY);\n    };\n\n    var is = function (element, selector) {\n      var dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        var elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    };\n    var all$3 = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$2(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    var one = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    var eq = function (e1, e2) {\n      return e1.dom === e2.dom;\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom;\n      var d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return documentPositionContainedBy(e1.dom, e2.dom);\n    };\n    var contains = function (e1, e2) {\n      return detect$1().browser.isIE() ? ieContains(e1, e2) : regularContains(e1, e2);\n    };\n\n    var owner$4 = function (element) {\n      return SugarElement.fromDom(element.dom.ownerDocument);\n    };\n    var documentOrOwner = function (dos) {\n      return isDocument(dos) ? dos : owner$4(dos);\n    };\n    var documentElement = function (element) {\n      return SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    };\n    var defaultView = function (element) {\n      return SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    };\n    var parent = function (element) {\n      return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    };\n    var parentNode = function (element) {\n      return parent(element);\n    };\n    var offsetParent = function (element) {\n      return Optional.from(element.dom.offsetParent).map(SugarElement.fromDom);\n    };\n    var nextSibling = function (element) {\n      return Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    };\n    var children = function (element) {\n      return map$2(element.dom.childNodes, SugarElement.fromDom);\n    };\n    var child$2 = function (element, index) {\n      var cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    var firstChild = function (element) {\n      return child$2(element, 0);\n    };\n    var spot = function (element, offset) {\n      return {\n        element: element,\n        offset: offset\n      };\n    };\n    var leaf = function (element, offset) {\n      var cs = children(element);\n      return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);\n    };\n\n    var isShadowRoot = function (dos) {\n      return isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    };\n    var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    var isSupported = constant$1(supported);\n    var getRootNode = supported ? function (e) {\n      return SugarElement.fromDom(e.dom.getRootNode());\n    } : documentOrOwner;\n    var getContentContainer = function (dos) {\n      return isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n    };\n    var isInShadowRoot = function (e) {\n      return getShadowRoot(e).isSome();\n    };\n    var getShadowRoot = function (e) {\n      var r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    var getShadowHost = function (e) {\n      return SugarElement.fromDom(e.dom.host);\n    };\n    var getOriginalEventTarget = function (event) {\n      if (isSupported() && isNonNullable(event.target)) {\n        var el = SugarElement.fromDom(event.target);\n        if (isElement$2(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            var composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    var isOpenShadowHost = function (element) {\n      return isNonNullable(element.dom.shadowRoot);\n    };\n\n    var inBody = function (element) {\n      var dom = isText$1(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      var doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(function () {\n        return doc.body.contains(dom);\n      }, compose1(inBody, getShadowHost));\n    };\n    var body = function () {\n      return getBody(SugarElement.fromDom(document));\n    };\n    var getBody = function (doc) {\n      var b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    var rawSet = function (dom, key, value) {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set$8 = function (element, key, value) {\n      rawSet(element.dom, key, value);\n    };\n    var setAll$1 = function (element, attrs) {\n      var dom = element.dom;\n      each(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var get$d = function (element, key) {\n      var v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    var getOpt = function (element, key) {\n      return Optional.from(get$d(element, key));\n    };\n    var has$1 = function (element, key) {\n      var dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    var remove$7 = function (element, key) {\n      element.dom.removeAttribute(key);\n    };\n\n    var internalSet = function (dom, property, value) {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    var internalRemove = function (dom, property) {\n      if (isSupported$1(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    var set$7 = function (element, property, value) {\n      var dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    var setAll = function (element, css) {\n      var dom = element.dom;\n      each(css, function (v, k) {\n        internalSet(dom, k, v);\n      });\n    };\n    var setOptions = function (element, css) {\n      var dom = element.dom;\n      each(css, function (v, k) {\n        v.fold(function () {\n          internalRemove(dom, k);\n        }, function (value) {\n          internalSet(dom, k, value);\n        });\n      });\n    };\n    var get$c = function (element, property) {\n      var dom = element.dom;\n      var styles = window.getComputedStyle(dom);\n      var r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    var getUnsafeProperty = function (dom, property) {\n      return isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n    };\n    var getRaw = function (element, property) {\n      var dom = element.dom;\n      var raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(function (r) {\n        return r.length > 0;\n      });\n    };\n    var getAllRaw = function (element) {\n      var css = {};\n      var dom = element.dom;\n      if (isSupported$1(dom)) {\n        for (var i = 0; i < dom.style.length; i++) {\n          var ruleName = dom.style.item(i);\n          css[ruleName] = dom.style[ruleName];\n        }\n      }\n      return css;\n    };\n    var isValidValue = function (tag, property, value) {\n      var element = SugarElement.fromTag(tag);\n      set$7(element, property, value);\n      var style = getRaw(element, property);\n      return style.isSome();\n    };\n    var remove$6 = function (element, property) {\n      var dom = element.dom;\n      internalRemove(dom, property);\n      if (is$1(getOpt(element, 'style').map(trim$1), '')) {\n        remove$7(element, 'style');\n      }\n    };\n    var reflow = function (e) {\n      return e.dom.offsetWidth;\n    };\n\n    var Dimension = function (name, getOffset) {\n      var set = function (element, h) {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        var dom = element.dom;\n        if (isSupported$1(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      var get = function (element) {\n        var r = getOffset(element);\n        if (r <= 0 || r === null) {\n          var css = get$c(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      var getOuter = get;\n      var aggregate = function (element, properties) {\n        return foldl(properties, function (acc, property) {\n          var val = get$c(element, property);\n          var value = val === undefined ? 0 : parseInt(val, 10);\n          return isNaN(value) ? acc : acc + value;\n        }, 0);\n      };\n      var max = function (element, value, properties) {\n        var cumulativeInclusions = aggregate(element, properties);\n        var absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set: set,\n        get: get,\n        getOuter: getOuter,\n        aggregate: aggregate,\n        max: max\n      };\n    };\n\n    var api$3 = Dimension('height', function (element) {\n      var dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    var get$b = function (element) {\n      return api$3.get(element);\n    };\n    var getOuter$2 = function (element) {\n      return api$3.getOuter(element);\n    };\n    var setMax$1 = function (element, value) {\n      var inclusions = [\n        'margin-top',\n        'border-top-width',\n        'padding-top',\n        'padding-bottom',\n        'border-bottom-width',\n        'margin-bottom'\n      ];\n      var absMax = api$3.max(element, value, inclusions);\n      set$7(element, 'max-height', absMax + 'px');\n    };\n\n    var r$1 = function (left, top) {\n      var translate = function (x, y) {\n        return r$1(left + x, top + y);\n      };\n      return {\n        left: left,\n        top: top,\n        translate: translate\n      };\n    };\n    var SugarPosition = r$1;\n\n    var boxPosition = function (dom) {\n      var box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    var firstDefinedOrZero = function (a, b) {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    var absolute$3 = function (element) {\n      var doc = element.dom.ownerDocument;\n      var body = doc.body;\n      var win = doc.defaultView;\n      var html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      var scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      var scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      var clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      var clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport$1(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    var viewport$1 = function (element) {\n      var dom = element.dom;\n      var doc = dom.ownerDocument;\n      var body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    var api$2 = Dimension('width', function (element) {\n      return element.dom.offsetWidth;\n    });\n    var set$6 = function (element, h) {\n      return api$2.set(element, h);\n    };\n    var get$a = function (element) {\n      return api$2.get(element);\n    };\n    var getOuter$1 = function (element) {\n      return api$2.getOuter(element);\n    };\n    var setMax = function (element, value) {\n      var inclusions = [\n        'margin-left',\n        'border-left-width',\n        'padding-left',\n        'padding-right',\n        'border-right-width',\n        'margin-right'\n      ];\n      var absMax = api$2.max(element, value, inclusions);\n      set$7(element, 'max-width', absMax + 'px');\n    };\n\n    var mkEvent = function (target, x, y, stop, prevent, kill, raw) {\n      return {\n        target: target,\n        x: x,\n        y: y,\n        stop: stop,\n        prevent: prevent,\n        kill: kill,\n        raw: raw\n      };\n    };\n    var fromRawEvent$1 = function (rawEvent) {\n      var target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      var stop = function () {\n        return rawEvent.stopPropagation();\n      };\n      var prevent = function () {\n        return rawEvent.preventDefault();\n      };\n      var kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    var handle = function (filter, handler) {\n      return function (rawEvent) {\n        if (filter(rawEvent)) {\n          handler(fromRawEvent$1(rawEvent));\n        }\n      };\n    };\n    var binder = function (element, event, filter, handler, useCapture) {\n      var wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return { unbind: curry(unbind, element, event, wrapped, useCapture) };\n    };\n    var bind$2 = function (element, event, filter, handler) {\n      return binder(element, event, filter, handler, false);\n    };\n    var capture$1 = function (element, event, filter, handler) {\n      return binder(element, event, filter, handler, true);\n    };\n    var unbind = function (element, event, handler, useCapture) {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    var before$2 = function (marker, element) {\n      var parent$1 = parent(marker);\n      parent$1.each(function (v) {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    var after$2 = function (marker, element) {\n      var sibling = nextSibling(marker);\n      sibling.fold(function () {\n        var parent$1 = parent(marker);\n        parent$1.each(function (v) {\n          append$2(v, element);\n        });\n      }, function (v) {\n        before$2(v, element);\n      });\n    };\n    var prepend$1 = function (parent, element) {\n      var firstChild$1 = firstChild(parent);\n      firstChild$1.fold(function () {\n        append$2(parent, element);\n      }, function (v) {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    var append$2 = function (parent, element) {\n      parent.dom.appendChild(element.dom);\n    };\n    var appendAt = function (parent, element, index) {\n      child$2(parent, index).fold(function () {\n        append$2(parent, element);\n      }, function (v) {\n        before$2(v, element);\n      });\n    };\n\n    var before$1 = function (marker, elements) {\n      each$1(elements, function (x) {\n        before$2(marker, x);\n      });\n    };\n    var append$1 = function (parent, elements) {\n      each$1(elements, function (x) {\n        append$2(parent, x);\n      });\n    };\n\n    var empty = function (element) {\n      element.dom.textContent = '';\n      each$1(children(element), function (rogue) {\n        remove$5(rogue);\n      });\n    };\n    var remove$5 = function (element) {\n      var dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    var unwrap = function (wrapper) {\n      var children$1 = children(wrapper);\n      if (children$1.length > 0) {\n        before$1(wrapper, children$1);\n      }\n      remove$5(wrapper);\n    };\n\n    var get$9 = function (_DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      var y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    var to = function (x, y, _DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var win = doc.defaultView;\n      if (win) {\n        win.scrollTo(x, y);\n      }\n    };\n\n    var get$8 = function (_win) {\n      var win = _win === undefined ? window : _win;\n      if (detect$1().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win['visualViewport']);\n      }\n    };\n    var bounds$1 = function (x, y, width, height) {\n      return {\n        x: x,\n        y: y,\n        width: width,\n        height: height,\n        right: x + width,\n        bottom: y + height\n      };\n    };\n    var getBounds$3 = function (_win) {\n      var win = _win === undefined ? window : _win;\n      var doc = win.document;\n      var scroll = get$9(SugarElement.fromDom(doc));\n      return get$8(win).fold(function () {\n        var html = win.document.documentElement;\n        var width = html.clientWidth;\n        var height = html.clientHeight;\n        return bounds$1(scroll.left, scroll.top, width, height);\n      }, function (visualViewport) {\n        return bounds$1(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height);\n      });\n    };\n\n    var walkUp = function (navigation, doc) {\n      var frame = navigation.view(doc);\n      return frame.fold(constant$1([]), function (f) {\n        var parent = navigation.owner(f);\n        var rest = walkUp(navigation, parent);\n        return [f].concat(rest);\n      });\n    };\n    var pathTo = function (element, navigation) {\n      var d = navigation.owner(element);\n      var paths = walkUp(navigation, d);\n      return Optional.some(paths);\n    };\n\n    var view = function (doc) {\n      var _a;\n      var element = doc.dom === document ? Optional.none() : Optional.from((_a = doc.dom.defaultView) === null || _a === void 0 ? void 0 : _a.frameElement);\n      return element.map(SugarElement.fromDom);\n    };\n    var owner$3 = function (element) {\n      return owner$4(element);\n    };\n\n    var Navigation = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        view: view,\n        owner: owner$3\n    });\n\n    var find$2 = function (element) {\n      var doc = SugarElement.fromDom(document);\n      var scroll = get$9(doc);\n      var path = pathTo(element, Navigation);\n      return path.fold(curry(absolute$3, element), function (frames) {\n        var offset = viewport$1(element);\n        var r = foldr(frames, function (b, a) {\n          var loc = viewport$1(a);\n          return {\n            left: b.left + loc.left,\n            top: b.top + loc.top\n          };\n        }, {\n          left: 0,\n          top: 0\n        });\n        return SugarPosition(r.left + offset.left + scroll.left, r.top + offset.top + scroll.top);\n      });\n    };\n\n    var pointed = function (point, width, height) {\n      return {\n        point: point,\n        width: width,\n        height: height\n      };\n    };\n    var rect = function (x, y, width, height) {\n      return {\n        x: x,\n        y: y,\n        width: width,\n        height: height\n      };\n    };\n    var bounds = function (x, y, width, height) {\n      return {\n        x: x,\n        y: y,\n        width: width,\n        height: height,\n        right: x + width,\n        bottom: y + height\n      };\n    };\n    var box$1 = function (element) {\n      var xy = absolute$3(element);\n      var w = getOuter$1(element);\n      var h = getOuter$2(element);\n      return bounds(xy.left, xy.top, w, h);\n    };\n    var absolute$2 = function (element) {\n      var position = find$2(element);\n      var width = getOuter$1(element);\n      var height = getOuter$2(element);\n      return bounds(position.left, position.top, width, height);\n    };\n    var win = function () {\n      return getBounds$3(window);\n    };\n\n    var value$3 = function (o) {\n      var or = function (_opt) {\n        return value$3(o);\n      };\n      var orThunk = function (_f) {\n        return value$3(o);\n      };\n      var map = function (f) {\n        return value$3(f(o));\n      };\n      var mapError = function (_f) {\n        return value$3(o);\n      };\n      var each = function (f) {\n        f(o);\n      };\n      var bind = function (f) {\n        return f(o);\n      };\n      var fold = function (_, onValue) {\n        return onValue(o);\n      };\n      var exists = function (f) {\n        return f(o);\n      };\n      var forall = function (f) {\n        return f(o);\n      };\n      var toOptional = function () {\n        return Optional.some(o);\n      };\n      return {\n        isValue: always,\n        isError: never,\n        getOr: constant$1(o),\n        getOrThunk: constant$1(o),\n        getOrDie: constant$1(o),\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: each,\n        bind: bind,\n        exists: exists,\n        forall: forall,\n        toOptional: toOptional\n      };\n    };\n    var error$1 = function (message) {\n      var getOrThunk = function (f) {\n        return f();\n      };\n      var getOrDie = function () {\n        return die(String(message))();\n      };\n      var or = identity$1;\n      var orThunk = function (f) {\n        return f();\n      };\n      var map = function (_f) {\n        return error$1(message);\n      };\n      var mapError = function (f) {\n        return error$1(f(message));\n      };\n      var bind = function (_f) {\n        return error$1(message);\n      };\n      var fold = function (onError, _) {\n        return onError(message);\n      };\n      return {\n        isValue: never,\n        isError: always,\n        getOr: identity$1,\n        getOrThunk: getOrThunk,\n        getOrDie: getOrDie,\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: noop,\n        bind: bind,\n        exists: never,\n        forall: always,\n        toOptional: Optional.none\n      };\n    };\n    var fromOption = function (opt, err) {\n      return opt.fold(function () {\n        return error$1(err);\n      }, value$3);\n    };\n    var Result = {\n      value: value$3,\n      error: error$1,\n      fromOption: fromOption\n    };\n\n    var SimpleResultType;\n    (function (SimpleResultType) {\n      SimpleResultType[SimpleResultType['Error'] = 0] = 'Error';\n      SimpleResultType[SimpleResultType['Value'] = 1] = 'Value';\n    }(SimpleResultType || (SimpleResultType = {})));\n    var fold$1 = function (res, onError, onValue) {\n      return res.stype === SimpleResultType.Error ? onError(res.serror) : onValue(res.svalue);\n    };\n    var partition$2 = function (results) {\n      var values = [];\n      var errors = [];\n      each$1(results, function (obj) {\n        fold$1(obj, function (err) {\n          return errors.push(err);\n        }, function (val) {\n          return values.push(val);\n        });\n      });\n      return {\n        values: values,\n        errors: errors\n      };\n    };\n    var mapError = function (res, f) {\n      if (res.stype === SimpleResultType.Error) {\n        return {\n          stype: SimpleResultType.Error,\n          serror: f(res.serror)\n        };\n      } else {\n        return res;\n      }\n    };\n    var map = function (res, f) {\n      if (res.stype === SimpleResultType.Value) {\n        return {\n          stype: SimpleResultType.Value,\n          svalue: f(res.svalue)\n        };\n      } else {\n        return res;\n      }\n    };\n    var bind$1 = function (res, f) {\n      if (res.stype === SimpleResultType.Value) {\n        return f(res.svalue);\n      } else {\n        return res;\n      }\n    };\n    var bindError = function (res, f) {\n      if (res.stype === SimpleResultType.Error) {\n        return f(res.serror);\n      } else {\n        return res;\n      }\n    };\n    var svalue = function (v) {\n      return {\n        stype: SimpleResultType.Value,\n        svalue: v\n      };\n    };\n    var serror = function (e) {\n      return {\n        stype: SimpleResultType.Error,\n        serror: e\n      };\n    };\n    var toResult$1 = function (res) {\n      return fold$1(res, Result.error, Result.value);\n    };\n    var fromResult$1 = function (res) {\n      return res.fold(serror, svalue);\n    };\n    var SimpleResult = {\n      fromResult: fromResult$1,\n      toResult: toResult$1,\n      svalue: svalue,\n      partition: partition$2,\n      serror: serror,\n      bind: bind$1,\n      bindError: bindError,\n      map: map,\n      mapError: mapError,\n      fold: fold$1\n    };\n\n    var field$2 = function (key, newKey, presence, prop) {\n      return {\n        tag: 'field',\n        key: key,\n        newKey: newKey,\n        presence: presence,\n        prop: prop\n      };\n    };\n    var customField$1 = function (newKey, instantiator) {\n      return {\n        tag: 'custom',\n        newKey: newKey,\n        instantiator: instantiator\n      };\n    };\n    var fold = function (value, ifField, ifCustom) {\n      switch (value.tag) {\n      case 'field':\n        return ifField(value.key, value.newKey, value.presence, value.prop);\n      case 'custom':\n        return ifCustom(value.newKey, value.instantiator);\n      }\n    };\n\n    var shallow$1 = function (old, nu) {\n      return nu;\n    };\n    var deep = function (old, nu) {\n      var bothObjects = isObject(old) && isObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    var baseMerge = function (merger) {\n      return function () {\n        var objects = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          objects[_i] = arguments[_i];\n        }\n        if (objects.length === 0) {\n          throw new Error('Can\\'t merge zero objects');\n        }\n        var ret = {};\n        for (var j = 0; j < objects.length; j++) {\n          var curObject = objects[j];\n          for (var key in curObject) {\n            if (has$2(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    var deepMerge = baseMerge(deep);\n    var merge$1 = baseMerge(shallow$1);\n\n    var required$2 = function () {\n      return {\n        tag: 'required',\n        process: {}\n      };\n    };\n    var defaultedThunk = function (fallbackThunk) {\n      return {\n        tag: 'defaultedThunk',\n        process: fallbackThunk\n      };\n    };\n    var defaulted$1 = function (fallback) {\n      return defaultedThunk(constant$1(fallback));\n    };\n    var asOption = function () {\n      return {\n        tag: 'option',\n        process: {}\n      };\n    };\n    var mergeWithThunk = function (baseThunk) {\n      return {\n        tag: 'mergeWithThunk',\n        process: baseThunk\n      };\n    };\n    var mergeWith = function (base) {\n      return mergeWithThunk(constant$1(base));\n    };\n\n    var mergeValues$1 = function (values, base) {\n      return values.length > 0 ? SimpleResult.svalue(deepMerge(base, merge$1.apply(undefined, values))) : SimpleResult.svalue(base);\n    };\n    var mergeErrors$1 = function (errors) {\n      return compose(SimpleResult.serror, flatten)(errors);\n    };\n    var consolidateObj = function (objects, base) {\n      var partition = SimpleResult.partition(objects);\n      return partition.errors.length > 0 ? mergeErrors$1(partition.errors) : mergeValues$1(partition.values, base);\n    };\n    var consolidateArr = function (objects) {\n      var partitions = SimpleResult.partition(objects);\n      return partitions.errors.length > 0 ? mergeErrors$1(partitions.errors) : SimpleResult.svalue(partitions.values);\n    };\n    var ResultCombine = {\n      consolidateObj: consolidateObj,\n      consolidateArr: consolidateArr\n    };\n\n    var formatObj = function (input) {\n      return isObject(input) && keys(input).length > 100 ? ' removed due to size' : JSON.stringify(input, null, 2);\n    };\n    var formatErrors = function (errors) {\n      var es = errors.length > 10 ? errors.slice(0, 10).concat([{\n          path: [],\n          getErrorInfo: constant$1('... (only showing first ten failures)')\n        }]) : errors;\n      return map$2(es, function (e) {\n        return 'Failed path: (' + e.path.join(' > ') + ')\\n' + e.getErrorInfo();\n      });\n    };\n\n    var nu$a = function (path, getErrorInfo) {\n      return SimpleResult.serror([{\n          path: path,\n          getErrorInfo: getErrorInfo\n        }]);\n    };\n    var missingRequired = function (path, key, obj) {\n      return nu$a(path, function () {\n        return 'Could not find valid *required* value for \"' + key + '\" in ' + formatObj(obj);\n      });\n    };\n    var missingKey = function (path, key) {\n      return nu$a(path, function () {\n        return 'Choice schema did not contain choice key: \"' + key + '\"';\n      });\n    };\n    var missingBranch = function (path, branches, branch) {\n      return nu$a(path, function () {\n        return 'The chosen schema: \"' + branch + '\" did not exist in branches: ' + formatObj(branches);\n      });\n    };\n    var unsupportedFields = function (path, unsupported) {\n      return nu$a(path, function () {\n        return 'There are unsupported fields: [' + unsupported.join(', ') + '] specified';\n      });\n    };\n    var custom = function (path, err) {\n      return nu$a(path, constant$1(err));\n    };\n\n    var value$2 = function (validator) {\n      var extract = function (path, val) {\n        return SimpleResult.bindError(validator(val), function (err) {\n          return custom(path, err);\n        });\n      };\n      var toString = constant$1('val');\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var anyValue$1 = value$2(SimpleResult.svalue);\n\n    var requiredAccess = function (path, obj, key, bundle) {\n      return get$e(obj, key).fold(function () {\n        return missingRequired(path, key, obj);\n      }, bundle);\n    };\n    var fallbackAccess = function (obj, key, fallback, bundle) {\n      var v = get$e(obj, key).getOrThunk(function () {\n        return fallback(obj);\n      });\n      return bundle(v);\n    };\n    var optionAccess = function (obj, key, bundle) {\n      return bundle(get$e(obj, key));\n    };\n    var optionDefaultedAccess = function (obj, key, fallback, bundle) {\n      var opt = get$e(obj, key).map(function (val) {\n        return val === true ? fallback(obj) : val;\n      });\n      return bundle(opt);\n    };\n    var extractField = function (field, path, obj, key, prop) {\n      var bundle = function (av) {\n        return prop.extract(path.concat([key]), av);\n      };\n      var bundleAsOption = function (optValue) {\n        return optValue.fold(function () {\n          return SimpleResult.svalue(Optional.none());\n        }, function (ov) {\n          var result = prop.extract(path.concat([key]), ov);\n          return SimpleResult.map(result, Optional.some);\n        });\n      };\n      switch (field.tag) {\n      case 'required':\n        return requiredAccess(path, obj, key, bundle);\n      case 'defaultedThunk':\n        return fallbackAccess(obj, key, field.process, bundle);\n      case 'option':\n        return optionAccess(obj, key, bundleAsOption);\n      case 'defaultedOptionThunk':\n        return optionDefaultedAccess(obj, key, field.process, bundleAsOption);\n      case 'mergeWithThunk': {\n          return fallbackAccess(obj, key, constant$1({}), function (v) {\n            var result = deepMerge(field.process(obj), v);\n            return bundle(result);\n          });\n        }\n      }\n    };\n    var extractFields = function (path, obj, fields) {\n      var success = {};\n      var errors = [];\n      for (var _i = 0, fields_1 = fields; _i < fields_1.length; _i++) {\n        var field = fields_1[_i];\n        fold(field, function (key, newKey, presence, prop) {\n          var result = extractField(presence, path, obj, key, prop);\n          SimpleResult.fold(result, function (err) {\n            errors.push.apply(errors, err);\n          }, function (res) {\n            success[newKey] = res;\n          });\n        }, function (newKey, instantiator) {\n          success[newKey] = instantiator(obj);\n        });\n      }\n      return errors.length > 0 ? SimpleResult.serror(errors) : SimpleResult.svalue(success);\n    };\n    var valueThunk = function (getDelegate) {\n      var extract = function (path, val) {\n        return getDelegate().extract(path, val);\n      };\n      var toString = function () {\n        return getDelegate().toString();\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var getSetKeys = function (obj) {\n      return keys(filter$1(obj, isNonNullable));\n    };\n    var objOfOnly = function (fields) {\n      var delegate = objOf(fields);\n      var fieldNames = foldr(fields, function (acc, value) {\n        return fold(value, function (key) {\n          var _a;\n          return deepMerge(acc, (_a = {}, _a[key] = true, _a));\n        }, constant$1(acc));\n      }, {});\n      var extract = function (path, o) {\n        var keys = isBoolean(o) ? [] : getSetKeys(o);\n        var extra = filter$2(keys, function (k) {\n          return !hasNonNullableKey(fieldNames, k);\n        });\n        return extra.length === 0 ? delegate.extract(path, o) : unsupportedFields(path, extra);\n      };\n      return {\n        extract: extract,\n        toString: delegate.toString\n      };\n    };\n    var objOf = function (values) {\n      var extract = function (path, o) {\n        return extractFields(path, o, values);\n      };\n      var toString = function () {\n        var fieldStrings = map$2(values, function (value) {\n          return fold(value, function (key, _okey, _presence, prop) {\n            return key + ' -> ' + prop.toString();\n          }, function (newKey, _instantiator) {\n            return 'state(' + newKey + ')';\n          });\n        });\n        return 'obj{\\n' + fieldStrings.join('\\n') + '}';\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var arrOf = function (prop) {\n      var extract = function (path, array) {\n        var results = map$2(array, function (a, i) {\n          return prop.extract(path.concat(['[' + i + ']']), a);\n        });\n        return ResultCombine.consolidateArr(results);\n      };\n      var toString = function () {\n        return 'array(' + prop.toString() + ')';\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var oneOf = function (props) {\n      var extract = function (path, val) {\n        var errors = [];\n        for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {\n          var prop = props_1[_i];\n          var res = prop.extract(path, val);\n          if (res.stype === SimpleResultType.Value) {\n            return res;\n          }\n          errors.push(res);\n        }\n        return ResultCombine.consolidateArr(errors);\n      };\n      var toString = function () {\n        return 'oneOf(' + map$2(props, function (prop) {\n          return prop.toString();\n        }).join(', ') + ')';\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var setOf$1 = function (validator, prop) {\n      var validateKeys = function (path, keys) {\n        return arrOf(value$2(validator)).extract(path, keys);\n      };\n      var extract = function (path, o) {\n        var keys$1 = keys(o);\n        var validatedKeys = validateKeys(path, keys$1);\n        return SimpleResult.bind(validatedKeys, function (validKeys) {\n          var schema = map$2(validKeys, function (vk) {\n            return field$2(vk, vk, required$2(), prop);\n          });\n          return objOf(schema).extract(path, o);\n        });\n      };\n      var toString = function () {\n        return 'setOf(' + prop.toString() + ')';\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var thunk = function (_desc, processor) {\n      var getP = cached(processor);\n      var extract = function (path, val) {\n        return getP().extract(path, val);\n      };\n      var toString = function () {\n        return getP().toString();\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n    var arrOfObj = compose(arrOf, objOf);\n\n    var anyValue = constant$1(anyValue$1);\n    var typedValue = function (validator, expectedType) {\n      return value$2(function (a) {\n        var actualType = typeof a;\n        return validator(a) ? SimpleResult.svalue(a) : SimpleResult.serror('Expected type: ' + expectedType + ' but got: ' + actualType);\n      });\n    };\n    var number = typedValue(isNumber, 'number');\n    var string = typedValue(isString, 'string');\n    var boolean = typedValue(isBoolean, 'boolean');\n    var functionProcessor = typedValue(isFunction, 'function');\n    var isPostMessageable = function (val) {\n      if (Object(val) !== val) {\n        return true;\n      }\n      switch ({}.toString.call(val).slice(8, -1)) {\n      case 'Boolean':\n      case 'Number':\n      case 'String':\n      case 'Date':\n      case 'RegExp':\n      case 'Blob':\n      case 'FileList':\n      case 'ImageData':\n      case 'ImageBitmap':\n      case 'ArrayBuffer':\n        return true;\n      case 'Array':\n      case 'Object':\n        return Object.keys(val).every(function (prop) {\n          return isPostMessageable(val[prop]);\n        });\n      default:\n        return false;\n      }\n    };\n    var postMessageable = value$2(function (a) {\n      if (isPostMessageable(a)) {\n        return SimpleResult.svalue(a);\n      } else {\n        return SimpleResult.serror('Expected value to be acceptable for sending via postMessage');\n      }\n    });\n\n    var chooseFrom = function (path, input, branches, ch) {\n      var fields = get$e(branches, ch);\n      return fields.fold(function () {\n        return missingBranch(path, branches, ch);\n      }, function (vp) {\n        return vp.extract(path.concat(['branch: ' + ch]), input);\n      });\n    };\n    var choose$2 = function (key, branches) {\n      var extract = function (path, input) {\n        var choice = get$e(input, key);\n        return choice.fold(function () {\n          return missingKey(path, key);\n        }, function (chosen) {\n          return chooseFrom(path, input, branches, chosen);\n        });\n      };\n      var toString = function () {\n        return 'chooseOn(' + key + '). Possible values: ' + keys(branches);\n      };\n      return {\n        extract: extract,\n        toString: toString\n      };\n    };\n\n    var arrOfVal = function () {\n      return arrOf(anyValue$1);\n    };\n    var valueOf = function (validator) {\n      return value$2(function (v) {\n        return validator(v).fold(SimpleResult.serror, SimpleResult.svalue);\n      });\n    };\n    var setOf = function (validator, prop) {\n      return setOf$1(function (v) {\n        return SimpleResult.fromResult(validator(v));\n      }, prop);\n    };\n    var extractValue = function (label, prop, obj) {\n      var res = prop.extract([label], obj);\n      return SimpleResult.mapError(res, function (errs) {\n        return {\n          input: obj,\n          errors: errs\n        };\n      });\n    };\n    var asRaw = function (label, prop, obj) {\n      return SimpleResult.toResult(extractValue(label, prop, obj));\n    };\n    var getOrDie = function (extraction) {\n      return extraction.fold(function (errInfo) {\n        throw new Error(formatError(errInfo));\n      }, identity$1);\n    };\n    var asRawOrDie$1 = function (label, prop, obj) {\n      return getOrDie(asRaw(label, prop, obj));\n    };\n    var formatError = function (errInfo) {\n      return 'Errors: \\n' + formatErrors(errInfo.errors).join('\\n') + '\\n\\nInput object: ' + formatObj(errInfo.input);\n    };\n    var choose$1 = function (key, branches) {\n      return choose$2(key, map$1(branches, objOf));\n    };\n    var thunkOf = function (desc, schema) {\n      return thunk(desc, schema);\n    };\n\n    var field$1 = field$2;\n    var customField = customField$1;\n    var validateEnum = function (values) {\n      return valueOf(function (value) {\n        return contains$2(values, value) ? Result.value(value) : Result.error('Unsupported value: \"' + value + '\", choose one of \"' + values.join(', ') + '\".');\n      });\n    };\n    var required$1 = function (key) {\n      return field$1(key, key, required$2(), anyValue());\n    };\n    var requiredOf = function (key, schema) {\n      return field$1(key, key, required$2(), schema);\n    };\n    var requiredNumber = function (key) {\n      return requiredOf(key, number);\n    };\n    var requiredString = function (key) {\n      return requiredOf(key, string);\n    };\n    var requiredStringEnum = function (key, values) {\n      return field$1(key, key, required$2(), validateEnum(values));\n    };\n    var requiredBoolean = function (key) {\n      return requiredOf(key, boolean);\n    };\n    var requiredFunction = function (key) {\n      return requiredOf(key, functionProcessor);\n    };\n    var forbid = function (key, message) {\n      return field$1(key, key, asOption(), value$2(function (_v) {\n        return SimpleResult.serror('The field: ' + key + ' is forbidden. ' + message);\n      }));\n    };\n    var requiredObjOf = function (key, objSchema) {\n      return field$1(key, key, required$2(), objOf(objSchema));\n    };\n    var requiredArrayOfObj = function (key, objFields) {\n      return field$1(key, key, required$2(), arrOfObj(objFields));\n    };\n    var requiredArrayOf = function (key, schema) {\n      return field$1(key, key, required$2(), arrOf(schema));\n    };\n    var option = function (key) {\n      return field$1(key, key, asOption(), anyValue());\n    };\n    var optionOf = function (key, schema) {\n      return field$1(key, key, asOption(), schema);\n    };\n    var optionNumber = function (key) {\n      return optionOf(key, number);\n    };\n    var optionString = function (key) {\n      return optionOf(key, string);\n    };\n    var optionFunction = function (key) {\n      return optionOf(key, functionProcessor);\n    };\n    var optionArrayOf = function (key, schema) {\n      return optionOf(key, arrOf(schema));\n    };\n    var optionObjOf = function (key, objSchema) {\n      return optionOf(key, objOf(objSchema));\n    };\n    var optionObjOfOnly = function (key, objSchema) {\n      return optionOf(key, objOfOnly(objSchema));\n    };\n    var defaulted = function (key, fallback) {\n      return field$1(key, key, defaulted$1(fallback), anyValue());\n    };\n    var defaultedOf = function (key, fallback, schema) {\n      return field$1(key, key, defaulted$1(fallback), schema);\n    };\n    var defaultedNumber = function (key, fallback) {\n      return defaultedOf(key, fallback, number);\n    };\n    var defaultedString = function (key, fallback) {\n      return defaultedOf(key, fallback, string);\n    };\n    var defaultedStringEnum = function (key, fallback, values) {\n      return defaultedOf(key, fallback, validateEnum(values));\n    };\n    var defaultedBoolean = function (key, fallback) {\n      return defaultedOf(key, fallback, boolean);\n    };\n    var defaultedFunction = function (key, fallback) {\n      return defaultedOf(key, fallback, functionProcessor);\n    };\n    var defaultedPostMsg = function (key, fallback) {\n      return defaultedOf(key, fallback, postMessageable);\n    };\n    var defaultedArrayOf = function (key, fallback, schema) {\n      return defaultedOf(key, fallback, arrOf(schema));\n    };\n    var defaultedObjOf = function (key, fallback, objSchema) {\n      return defaultedOf(key, fallback, objOf(objSchema));\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var generate$7 = function (cases) {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      var constructors = [];\n      var adt = {};\n      each$1(cases, function (acase, count) {\n        var keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        var key = keys$1[0];\n        var value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          var argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          var match = function (branches) {\n            var branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            var allReqd = forall(constructors, function (reqKey) {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: function () {\n              var foldArgs = [];\n              for (var _i = 0; _i < arguments.length; _i++) {\n                foldArgs[_i] = arguments[_i];\n              }\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              var target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match: match,\n            log: function (label) {\n              console.log(label, {\n                constructors: constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    var Adt = { generate: generate$7 };\n\n    Adt.generate([\n      {\n        bothErrors: [\n          'error1',\n          'error2'\n        ]\n      },\n      {\n        firstError: [\n          'error1',\n          'value2'\n        ]\n      },\n      {\n        secondError: [\n          'value1',\n          'error2'\n        ]\n      },\n      {\n        bothValues: [\n          'value1',\n          'value2'\n        ]\n      }\n    ]);\n    var partition$1 = function (results) {\n      var errors = [];\n      var values = [];\n      each$1(results, function (result) {\n        result.fold(function (err) {\n          errors.push(err);\n        }, function (value) {\n          values.push(value);\n        });\n      });\n      return {\n        errors: errors,\n        values: values\n      };\n    };\n\n    var exclude$1 = function (obj, fields) {\n      var r = {};\n      each(obj, function (v, k) {\n        if (!contains$2(fields, k)) {\n          r[k] = v;\n        }\n      });\n      return r;\n    };\n\n    var wrap$2 = function (key, value) {\n      var _a;\n      return _a = {}, _a[key] = value, _a;\n    };\n    var wrapAll$1 = function (keyvalues) {\n      var r = {};\n      each$1(keyvalues, function (kv) {\n        r[kv.key] = kv.value;\n      });\n      return r;\n    };\n\n    var exclude = function (obj, fields) {\n      return exclude$1(obj, fields);\n    };\n    var wrap$1 = function (key, value) {\n      return wrap$2(key, value);\n    };\n    var wrapAll = function (keyvalues) {\n      return wrapAll$1(keyvalues);\n    };\n    var mergeValues = function (values, base) {\n      return values.length === 0 ? Result.value(base) : Result.value(deepMerge(base, merge$1.apply(undefined, values)));\n    };\n    var mergeErrors = function (errors) {\n      return Result.error(flatten(errors));\n    };\n    var consolidate = function (objs, base) {\n      var partitions = partition$1(objs);\n      return partitions.errors.length > 0 ? mergeErrors(partitions.errors) : mergeValues(partitions.values, base);\n    };\n\n    var ensureIsRoot = function (isRoot) {\n      return isFunction(isRoot) ? isRoot : never;\n    };\n    var ancestor$2 = function (scope, transform, isRoot) {\n      var element = scope.dom;\n      var stop = ensureIsRoot(isRoot);\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = SugarElement.fromDom(element);\n        var transformed = transform(el);\n        if (transformed.isSome()) {\n          return transformed;\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var closest$4 = function (scope, transform, isRoot) {\n      var current = transform(scope);\n      var stop = ensureIsRoot(isRoot);\n      return current.orThunk(function () {\n        return stop(scope) ? Optional.none() : ancestor$2(scope, transform, stop);\n      });\n    };\n\n    var isSource = function (component, simulatedEvent) {\n      return eq(component.element, simulatedEvent.event.target);\n    };\n\n    var defaultEventHandler = {\n      can: always,\n      abort: never,\n      run: noop\n    };\n    var nu$9 = function (parts) {\n      if (!hasNonNullableKey(parts, 'can') && !hasNonNullableKey(parts, 'abort') && !hasNonNullableKey(parts, 'run')) {\n        throw new Error('EventHandler defined by: ' + JSON.stringify(parts, null, 2) + ' does not have can, abort, or run!');\n      }\n      return __assign(__assign({}, defaultEventHandler), parts);\n    };\n    var all$2 = function (handlers, f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return foldl(handlers, function (acc, handler) {\n          return acc && f(handler).apply(undefined, args);\n        }, true);\n      };\n    };\n    var any = function (handlers, f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return foldl(handlers, function (acc, handler) {\n          return acc || f(handler).apply(undefined, args);\n        }, false);\n      };\n    };\n    var read$2 = function (handler) {\n      return isFunction(handler) ? {\n        can: always,\n        abort: never,\n        run: handler\n      } : handler;\n    };\n    var fuse$1 = function (handlers) {\n      var can = all$2(handlers, function (handler) {\n        return handler.can;\n      });\n      var abort = any(handlers, function (handler) {\n        return handler.abort;\n      });\n      var run = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        each$1(handlers, function (handler) {\n          handler.run.apply(undefined, args);\n        });\n      };\n      return {\n        can: can,\n        abort: abort,\n        run: run\n      };\n    };\n\n    var constant = constant$1;\n    var touchstart = constant('touchstart');\n    var touchmove = constant('touchmove');\n    var touchend = constant('touchend');\n    var touchcancel = constant('touchcancel');\n    var mousedown = constant('mousedown');\n    var mousemove = constant('mousemove');\n    var mouseout = constant('mouseout');\n    var mouseup = constant('mouseup');\n    var mouseover = constant('mouseover');\n    var focusin = constant('focusin');\n    var focusout = constant('focusout');\n    var keydown = constant('keydown');\n    var keyup = constant('keyup');\n    var input = constant('input');\n    var change = constant('change');\n    var click = constant('click');\n    var transitioncancel = constant('transitioncancel');\n    var transitionend = constant('transitionend');\n    var transitionstart = constant('transitionstart');\n    var selectstart = constant('selectstart');\n\n    var prefixName = function (name) {\n      return constant$1('alloy.' + name);\n    };\n    var alloy = { tap: prefixName('tap') };\n    var focus$4 = prefixName('focus');\n    var postBlur = prefixName('blur.post');\n    var postPaste = prefixName('paste.post');\n    var receive = prefixName('receive');\n    var execute$5 = prefixName('execute');\n    var focusItem = prefixName('focus.item');\n    var tap = alloy.tap;\n    var longpress = prefixName('longpress');\n    var sandboxClose = prefixName('sandbox.close');\n    var typeaheadCancel = prefixName('typeahead.cancel');\n    var systemInit = prefixName('system.init');\n    var documentTouchmove = prefixName('system.touchmove');\n    var documentTouchend = prefixName('system.touchend');\n    var windowScroll = prefixName('system.scroll');\n    var windowResize = prefixName('system.resize');\n    var attachedToDom = prefixName('system.attached');\n    var detachedFromDom = prefixName('system.detached');\n    var dismissRequested = prefixName('system.dismissRequested');\n    var repositionRequested = prefixName('system.repositionRequested');\n    var focusShifted = prefixName('focusmanager.shifted');\n    var slotVisibility = prefixName('slotcontainer.visibility');\n    var changeTab = prefixName('change.tab');\n    var dismissTab = prefixName('dismiss.tab');\n    var highlight$1 = prefixName('highlight');\n    var dehighlight$1 = prefixName('dehighlight');\n\n    var emit = function (component, event) {\n      dispatchWith(component, component.element, event, {});\n    };\n    var emitWith = function (component, event, properties) {\n      dispatchWith(component, component.element, event, properties);\n    };\n    var emitExecute = function (component) {\n      emit(component, execute$5());\n    };\n    var dispatch = function (component, target, event) {\n      dispatchWith(component, target, event, {});\n    };\n    var dispatchWith = function (component, target, event, properties) {\n      var data = __assign({ target: target }, properties);\n      component.getSystem().triggerEvent(event, target, data);\n    };\n    var dispatchEvent = function (component, target, event, simulatedEvent) {\n      component.getSystem().triggerEvent(event, target, simulatedEvent.event);\n    };\n\n    var derive$2 = function (configs) {\n      return wrapAll(configs);\n    };\n    var abort = function (name, predicate) {\n      return {\n        key: name,\n        value: nu$9({ abort: predicate })\n      };\n    };\n    var can = function (name, predicate) {\n      return {\n        key: name,\n        value: nu$9({ can: predicate })\n      };\n    };\n    var preventDefault = function (name) {\n      return {\n        key: name,\n        value: nu$9({\n          run: function (component, simulatedEvent) {\n            simulatedEvent.event.prevent();\n          }\n        })\n      };\n    };\n    var run$1 = function (name, handler) {\n      return {\n        key: name,\n        value: nu$9({ run: handler })\n      };\n    };\n    var runActionExtra = function (name, action, extra) {\n      return {\n        key: name,\n        value: nu$9({\n          run: function (component, simulatedEvent) {\n            action.apply(undefined, [\n              component,\n              simulatedEvent\n            ].concat(extra));\n          }\n        })\n      };\n    };\n    var runOnName = function (name) {\n      return function (handler) {\n        return run$1(name, handler);\n      };\n    };\n    var runOnSourceName = function (name) {\n      return function (handler) {\n        return {\n          key: name,\n          value: nu$9({\n            run: function (component, simulatedEvent) {\n              if (isSource(component, simulatedEvent)) {\n                handler(component, simulatedEvent);\n              }\n            }\n          })\n        };\n      };\n    };\n    var redirectToUid = function (name, uid) {\n      return run$1(name, function (component, simulatedEvent) {\n        component.getSystem().getByUid(uid).each(function (redirectee) {\n          dispatchEvent(redirectee, redirectee.element, name, simulatedEvent);\n        });\n      });\n    };\n    var redirectToPart = function (name, detail, partName) {\n      var uid = detail.partUids[partName];\n      return redirectToUid(name, uid);\n    };\n    var runWithTarget = function (name, f) {\n      return run$1(name, function (component, simulatedEvent) {\n        var ev = simulatedEvent.event;\n        var target = component.getSystem().getByDom(ev.target).getOrThunk(function () {\n          var closest = closest$4(ev.target, function (el) {\n            return component.getSystem().getByDom(el).toOptional();\n          }, never);\n          return closest.getOr(component);\n        });\n        f(component, target, simulatedEvent);\n      });\n    };\n    var cutter = function (name) {\n      return run$1(name, function (component, simulatedEvent) {\n        simulatedEvent.cut();\n      });\n    };\n    var stopper = function (name) {\n      return run$1(name, function (component, simulatedEvent) {\n        simulatedEvent.stop();\n      });\n    };\n    var runOnSource = function (name, f) {\n      return runOnSourceName(name)(f);\n    };\n    var runOnAttached = runOnSourceName(attachedToDom());\n    var runOnDetached = runOnSourceName(detachedFromDom());\n    var runOnInit = runOnSourceName(systemInit());\n    var runOnExecute$1 = runOnName(execute$5());\n\n    var fromHtml$1 = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      return children(SugarElement.fromDom(div));\n    };\n\n    var get$7 = function (element) {\n      return element.dom.innerHTML;\n    };\n    var set$5 = function (element, content) {\n      var owner = owner$4(element);\n      var docDom = owner.dom;\n      var fragment = SugarElement.fromDom(docDom.createDocumentFragment());\n      var contentElements = fromHtml$1(content, docDom);\n      append$1(fragment, contentElements);\n      empty(element);\n      append$2(element, fragment);\n    };\n    var getOuter = function (element) {\n      var container = SugarElement.fromTag('div');\n      var clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$2(container, clone);\n      return get$7(container);\n    };\n\n    var clone$1 = function (original, isDeep) {\n      return SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    };\n    var shallow = function (original) {\n      return clone$1(original, false);\n    };\n\n    var getHtml = function (element) {\n      if (isShadowRoot(element)) {\n        return '#shadow-root';\n      } else {\n        var clone = shallow(element);\n        return getOuter(clone);\n      }\n    };\n\n    var element = function (elem) {\n      return getHtml(elem);\n    };\n\n    var isRecursive = function (component, originator, target) {\n      return eq(originator, component.element) && !eq(originator, target);\n    };\n    var events$i = derive$2([can(focus$4(), function (component, simulatedEvent) {\n        var event = simulatedEvent.event;\n        var originator = event.originator;\n        var target = event.target;\n        if (isRecursive(component, originator, target)) {\n          console.warn(focus$4() + ' did not get interpreted by the desired target. ' + '\\nOriginator: ' + element(originator) + '\\nTarget: ' + element(target) + '\\nCheck the ' + focus$4() + ' event handlers');\n          return false;\n        } else {\n          return true;\n        }\n      })]);\n\n    var DefaultEvents = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$i\n    });\n\n    var unique = 0;\n    var generate$6 = function (prefix) {\n      var date = new Date();\n      var time = date.getTime();\n      var random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    var prefix$1 = constant$1('alloy-id-');\n    var idAttr$1 = constant$1('data-alloy-id');\n\n    var prefix = prefix$1();\n    var idAttr = idAttr$1();\n    var write = function (label, elem) {\n      var id = generate$6(prefix + label);\n      writeOnly(elem, id);\n      return id;\n    };\n    var writeOnly = function (elem, uid) {\n      Object.defineProperty(elem.dom, idAttr, {\n        value: uid,\n        writable: true\n      });\n    };\n    var read$1 = function (elem) {\n      var id = isElement$2(elem) ? elem.dom[idAttr] : null;\n      return Optional.from(id);\n    };\n    var generate$5 = function (prefix) {\n      return generate$6(prefix);\n    };\n\n    var make$8 = identity$1;\n\n    var NoContextApi = function (getComp) {\n      var getMessage = function (event) {\n        return 'The component must be in a context to execute: ' + event + (getComp ? '\\n' + element(getComp().element) + ' is not in context.' : '');\n      };\n      var fail = function (event) {\n        return function () {\n          throw new Error(getMessage(event));\n        };\n      };\n      var warn = function (event) {\n        return function () {\n          console.warn(getMessage(event));\n        };\n      };\n      return {\n        debugInfo: constant$1('fake'),\n        triggerEvent: warn('triggerEvent'),\n        triggerFocus: warn('triggerFocus'),\n        triggerEscape: warn('triggerEscape'),\n        broadcast: warn('broadcast'),\n        broadcastOn: warn('broadcastOn'),\n        broadcastEvent: warn('broadcastEvent'),\n        build: fail('build'),\n        addToWorld: fail('addToWorld'),\n        removeFromWorld: fail('removeFromWorld'),\n        addToGui: fail('addToGui'),\n        removeFromGui: fail('removeFromGui'),\n        getByUid: fail('getByUid'),\n        getByDom: fail('getByDom'),\n        isConnected: never\n      };\n    };\n    var singleton$1 = NoContextApi();\n\n    var markAsBehaviourApi = function (f, apiName, apiFunction) {\n      var delegate = apiFunction.toString();\n      var endIndex = delegate.indexOf(')') + 1;\n      var openBracketIndex = delegate.indexOf('(');\n      var parameters = delegate.substring(openBracketIndex + 1, endIndex - 1).split(/,\\s*/);\n      f.toFunctionAnnotation = function () {\n        return {\n          name: apiName,\n          parameters: cleanParameters(parameters.slice(0, 1).concat(parameters.slice(3)))\n        };\n      };\n      return f;\n    };\n    var cleanParameters = function (parameters) {\n      return map$2(parameters, function (p) {\n        return endsWith(p, '/*') ? p.substring(0, p.length - '/*'.length) : p;\n      });\n    };\n    var markAsExtraApi = function (f, extraName) {\n      var delegate = f.toString();\n      var endIndex = delegate.indexOf(')') + 1;\n      var openBracketIndex = delegate.indexOf('(');\n      var parameters = delegate.substring(openBracketIndex + 1, endIndex - 1).split(/,\\s*/);\n      f.toFunctionAnnotation = function () {\n        return {\n          name: extraName,\n          parameters: cleanParameters(parameters)\n        };\n      };\n      return f;\n    };\n    var markAsSketchApi = function (f, apiFunction) {\n      var delegate = apiFunction.toString();\n      var endIndex = delegate.indexOf(')') + 1;\n      var openBracketIndex = delegate.indexOf('(');\n      var parameters = delegate.substring(openBracketIndex + 1, endIndex - 1).split(/,\\s*/);\n      f.toFunctionAnnotation = function () {\n        return {\n          name: 'OVERRIDE',\n          parameters: cleanParameters(parameters.slice(1))\n        };\n      };\n      return f;\n    };\n\n    var premadeTag = generate$6('alloy-premade');\n    var premade$1 = function (comp) {\n      return wrap$1(premadeTag, comp);\n    };\n    var getPremade = function (spec) {\n      return get$e(spec, premadeTag);\n    };\n    var makeApi = function (f) {\n      return markAsSketchApi(function (component) {\n        var rest = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n          rest[_i - 1] = arguments[_i];\n        }\n        return f.apply(void 0, __spreadArray([\n          component.getApis(),\n          component\n        ], rest, false));\n      }, f);\n    };\n\n    var NoState = {\n      init: function () {\n        return nu$8({ readState: constant$1('No State required') });\n      }\n    };\n    var nu$8 = function (spec) {\n      return spec;\n    };\n\n    var generateFrom$1 = function (spec, all) {\n      var schema = map$2(all, function (a) {\n        return optionObjOf(a.name(), [\n          required$1('config'),\n          defaulted('state', NoState)\n        ]);\n      });\n      var validated = asRaw('component.behaviours', objOf(schema), spec.behaviours).fold(function (errInfo) {\n        throw new Error(formatError(errInfo) + '\\nComplete spec:\\n' + JSON.stringify(spec, null, 2));\n      }, identity$1);\n      return {\n        list: all,\n        data: map$1(validated, function (optBlobThunk) {\n          var output = optBlobThunk.map(function (blob) {\n            return {\n              config: blob.config,\n              state: blob.state.init(blob.config)\n            };\n          });\n          return constant$1(output);\n        })\n      };\n    };\n    var getBehaviours$3 = function (bData) {\n      return bData.list;\n    };\n    var getData$2 = function (bData) {\n      return bData.data;\n    };\n\n    var byInnerKey = function (data, tuple) {\n      var r = {};\n      each(data, function (detail, key) {\n        each(detail, function (value, indexKey) {\n          var chain = get$e(r, indexKey).getOr([]);\n          r[indexKey] = chain.concat([tuple(key, value)]);\n        });\n      });\n      return r;\n    };\n\n    var nu$7 = function (s) {\n      return {\n        classes: isUndefined(s.classes) ? [] : s.classes,\n        attributes: isUndefined(s.attributes) ? {} : s.attributes,\n        styles: isUndefined(s.styles) ? {} : s.styles\n      };\n    };\n    var merge = function (defnA, mod) {\n      return __assign(__assign({}, defnA), {\n        attributes: __assign(__assign({}, defnA.attributes), mod.attributes),\n        styles: __assign(__assign({}, defnA.styles), mod.styles),\n        classes: defnA.classes.concat(mod.classes)\n      });\n    };\n\n    var combine$2 = function (info, baseMod, behaviours, base) {\n      var modsByBehaviour = __assign({}, baseMod);\n      each$1(behaviours, function (behaviour) {\n        modsByBehaviour[behaviour.name()] = behaviour.exhibit(info, base);\n      });\n      var byAspect = byInnerKey(modsByBehaviour, function (name, modification) {\n        return {\n          name: name,\n          modification: modification\n        };\n      });\n      var combineObjects = function (objects) {\n        return foldr(objects, function (b, a) {\n          return __assign(__assign({}, a.modification), b);\n        }, {});\n      };\n      var combinedClasses = foldr(byAspect.classes, function (b, a) {\n        return a.modification.concat(b);\n      }, []);\n      var combinedAttributes = combineObjects(byAspect.attributes);\n      var combinedStyles = combineObjects(byAspect.styles);\n      return nu$7({\n        classes: combinedClasses,\n        attributes: combinedAttributes,\n        styles: combinedStyles\n      });\n    };\n\n    var sortKeys = function (label, keyName, array, order) {\n      try {\n        var sorted = sort(array, function (a, b) {\n          var aKey = a[keyName];\n          var bKey = b[keyName];\n          var aIndex = order.indexOf(aKey);\n          var bIndex = order.indexOf(bKey);\n          if (aIndex === -1) {\n            throw new Error('The ordering for ' + label + ' does not have an entry for ' + aKey + '.\\nOrder specified: ' + JSON.stringify(order, null, 2));\n          }\n          if (bIndex === -1) {\n            throw new Error('The ordering for ' + label + ' does not have an entry for ' + bKey + '.\\nOrder specified: ' + JSON.stringify(order, null, 2));\n          }\n          if (aIndex < bIndex) {\n            return -1;\n          } else if (bIndex < aIndex) {\n            return 1;\n          } else {\n            return 0;\n          }\n        });\n        return Result.value(sorted);\n      } catch (err) {\n        return Result.error([err]);\n      }\n    };\n\n    var uncurried = function (handler, purpose) {\n      return {\n        handler: handler,\n        purpose: purpose\n      };\n    };\n    var curried = function (handler, purpose) {\n      return {\n        cHandler: handler,\n        purpose: purpose\n      };\n    };\n    var curryArgs = function (descHandler, extraArgs) {\n      return curried(curry.apply(undefined, [descHandler.handler].concat(extraArgs)), descHandler.purpose);\n    };\n    var getCurried = function (descHandler) {\n      return descHandler.cHandler;\n    };\n\n    var behaviourTuple = function (name, handler) {\n      return {\n        name: name,\n        handler: handler\n      };\n    };\n    var nameToHandlers = function (behaviours, info) {\n      var r = {};\n      each$1(behaviours, function (behaviour) {\n        r[behaviour.name()] = behaviour.handlers(info);\n      });\n      return r;\n    };\n    var groupByEvents = function (info, behaviours, base) {\n      var behaviourEvents = __assign(__assign({}, base), nameToHandlers(behaviours, info));\n      return byInnerKey(behaviourEvents, behaviourTuple);\n    };\n    var combine$1 = function (info, eventOrder, behaviours, base) {\n      var byEventName = groupByEvents(info, behaviours, base);\n      return combineGroups(byEventName, eventOrder);\n    };\n    var assemble = function (rawHandler) {\n      var handler = read$2(rawHandler);\n      return function (component, simulatedEvent) {\n        var rest = [];\n        for (var _i = 2; _i < arguments.length; _i++) {\n          rest[_i - 2] = arguments[_i];\n        }\n        var args = [\n          component,\n          simulatedEvent\n        ].concat(rest);\n        if (handler.abort.apply(undefined, args)) {\n          simulatedEvent.stop();\n        } else if (handler.can.apply(undefined, args)) {\n          handler.run.apply(undefined, args);\n        }\n      };\n    };\n    var missingOrderError = function (eventName, tuples) {\n      return Result.error(['The event (' + eventName + ') has more than one behaviour that listens to it.\\nWhen this occurs, you must ' + 'specify an event ordering for the behaviours in your spec (e.g. [ \"listing\", \"toggling\" ]).\\nThe behaviours that ' + 'can trigger it are: ' + JSON.stringify(map$2(tuples, function (c) {\n          return c.name;\n        }), null, 2)]);\n    };\n    var fuse = function (tuples, eventOrder, eventName) {\n      var order = eventOrder[eventName];\n      if (!order) {\n        return missingOrderError(eventName, tuples);\n      } else {\n        return sortKeys('Event: ' + eventName, 'name', tuples, order).map(function (sortedTuples) {\n          var handlers = map$2(sortedTuples, function (tuple) {\n            return tuple.handler;\n          });\n          return fuse$1(handlers);\n        });\n      }\n    };\n    var combineGroups = function (byEventName, eventOrder) {\n      var r = mapToArray(byEventName, function (tuples, eventName) {\n        var combined = tuples.length === 1 ? Result.value(tuples[0].handler) : fuse(tuples, eventOrder, eventName);\n        return combined.map(function (handler) {\n          var assembled = assemble(handler);\n          var purpose = tuples.length > 1 ? filter$2(eventOrder[eventName], function (o) {\n            return exists(tuples, function (t) {\n              return t.name === o;\n            });\n          }).join(' > ') : tuples[0].name;\n          return wrap$1(eventName, uncurried(assembled, purpose));\n        });\n      });\n      return consolidate(r, {});\n    };\n\n    var _a$2;\n    var baseBehaviour = 'alloy.base.behaviour';\n    var schema$z = objOf([\n      field$1('dom', 'dom', required$2(), objOf([\n        required$1('tag'),\n        defaulted('styles', {}),\n        defaulted('classes', []),\n        defaulted('attributes', {}),\n        option('value'),\n        option('innerHtml')\n      ])),\n      required$1('components'),\n      required$1('uid'),\n      defaulted('events', {}),\n      defaulted('apis', {}),\n      field$1('eventOrder', 'eventOrder', mergeWith((_a$2 = {}, _a$2[execute$5()] = [\n        'disabling',\n        baseBehaviour,\n        'toggling',\n        'typeaheadevents'\n      ], _a$2[focus$4()] = [\n        baseBehaviour,\n        'focusing',\n        'keying'\n      ], _a$2[systemInit()] = [\n        baseBehaviour,\n        'disabling',\n        'toggling',\n        'representing'\n      ], _a$2[input()] = [\n        baseBehaviour,\n        'representing',\n        'streaming',\n        'invalidating'\n      ], _a$2[detachedFromDom()] = [\n        baseBehaviour,\n        'representing',\n        'item-events',\n        'tooltipping'\n      ], _a$2[mousedown()] = [\n        'focusing',\n        baseBehaviour,\n        'item-type-events'\n      ], _a$2[touchstart()] = [\n        'focusing',\n        baseBehaviour,\n        'item-type-events'\n      ], _a$2[mouseover()] = [\n        'item-type-events',\n        'tooltipping'\n      ], _a$2[receive()] = [\n        'receiving',\n        'reflecting',\n        'tooltipping'\n      ], _a$2)), anyValue()),\n      option('domModification')\n    ]);\n    var toInfo = function (spec) {\n      return asRaw('custom.definition', schema$z, spec);\n    };\n    var toDefinition = function (detail) {\n      return __assign(__assign({}, detail.dom), {\n        uid: detail.uid,\n        domChildren: map$2(detail.components, function (comp) {\n          return comp.element;\n        })\n      });\n    };\n    var toModification = function (detail) {\n      return detail.domModification.fold(function () {\n        return nu$7({});\n      }, nu$7);\n    };\n    var toEvents = function (info) {\n      return info.events;\n    };\n\n    var read = function (element, attr) {\n      var value = get$d(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    var add$4 = function (element, attr, id) {\n      var old = read(element, attr);\n      var nu = old.concat([id]);\n      set$8(element, attr, nu.join(' '));\n      return true;\n    };\n    var remove$4 = function (element, attr, id) {\n      var nu = filter$2(read(element, attr), function (v) {\n        return v !== id;\n      });\n      if (nu.length > 0) {\n        set$8(element, attr, nu.join(' '));\n      } else {\n        remove$7(element, attr);\n      }\n      return false;\n    };\n\n    var supports = function (element) {\n      return element.dom.classList !== undefined;\n    };\n    var get$6 = function (element) {\n      return read(element, 'class');\n    };\n    var add$3 = function (element, clazz) {\n      return add$4(element, 'class', clazz);\n    };\n    var remove$3 = function (element, clazz) {\n      return remove$4(element, 'class', clazz);\n    };\n\n    var add$2 = function (element, clazz) {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$3(element, clazz);\n      }\n    };\n    var cleanClass = function (element) {\n      var classList = supports(element) ? element.dom.classList : get$6(element);\n      if (classList.length === 0) {\n        remove$7(element, 'class');\n      }\n    };\n    var remove$2 = function (element, clazz) {\n      if (supports(element)) {\n        var classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    var has = function (element, clazz) {\n      return supports(element) && element.dom.classList.contains(clazz);\n    };\n\n    var add$1 = function (element, classes) {\n      each$1(classes, function (x) {\n        add$2(element, x);\n      });\n    };\n    var remove$1 = function (element, classes) {\n      each$1(classes, function (x) {\n        remove$2(element, x);\n      });\n    };\n    var hasAll = function (element, classes) {\n      return forall(classes, function (clazz) {\n        return has(element, clazz);\n      });\n    };\n\n    var get$5 = function (element) {\n      return element.dom.value;\n    };\n    var set$4 = function (element, value) {\n      if (value === undefined) {\n        throw new Error('Value.set was undefined');\n      }\n      element.dom.value = value;\n    };\n\n    var renderToDom = function (definition) {\n      var subject = SugarElement.fromTag(definition.tag);\n      setAll$1(subject, definition.attributes);\n      add$1(subject, definition.classes);\n      setAll(subject, definition.styles);\n      definition.innerHtml.each(function (html) {\n        return set$5(subject, html);\n      });\n      var children = definition.domChildren;\n      append$1(subject, children);\n      definition.value.each(function (value) {\n        set$4(subject, value);\n      });\n      if (!definition.uid) {\n        debugger;\n      }\n      writeOnly(subject, definition.uid);\n      return subject;\n    };\n\n    var getBehaviours$2 = function (spec) {\n      var behaviours = get$e(spec, 'behaviours').getOr({});\n      return bind$3(keys(behaviours), function (name) {\n        var behaviour = behaviours[name];\n        return isNonNullable(behaviour) ? [behaviour.me] : [];\n      });\n    };\n    var generateFrom = function (spec, all) {\n      return generateFrom$1(spec, all);\n    };\n    var generate$4 = function (spec) {\n      var all = getBehaviours$2(spec);\n      return generateFrom(spec, all);\n    };\n\n    var getDomDefinition = function (info, bList, bData) {\n      var definition = toDefinition(info);\n      var infoModification = toModification(info);\n      var baseModification = { 'alloy.base.modification': infoModification };\n      var modification = bList.length > 0 ? combine$2(bData, baseModification, bList, definition) : infoModification;\n      return merge(definition, modification);\n    };\n    var getEvents = function (info, bList, bData) {\n      var baseEvents = { 'alloy.base.behaviour': toEvents(info) };\n      return combine$1(bData, info.eventOrder, bList, baseEvents).getOrDie();\n    };\n    var build$2 = function (spec) {\n      var getMe = function () {\n        return me;\n      };\n      var systemApi = Cell(singleton$1);\n      var info = getOrDie(toInfo(spec));\n      var bBlob = generate$4(spec);\n      var bList = getBehaviours$3(bBlob);\n      var bData = getData$2(bBlob);\n      var modDefinition = getDomDefinition(info, bList, bData);\n      var item = renderToDom(modDefinition);\n      var events = getEvents(info, bList, bData);\n      var subcomponents = Cell(info.components);\n      var connect = function (newApi) {\n        systemApi.set(newApi);\n      };\n      var disconnect = function () {\n        systemApi.set(NoContextApi(getMe));\n      };\n      var syncComponents = function () {\n        var children$1 = children(item);\n        var subs = bind$3(children$1, function (child) {\n          return systemApi.get().getByDom(child).fold(function () {\n            return [];\n          }, pure$2);\n        });\n        subcomponents.set(subs);\n      };\n      var config = function (behaviour) {\n        var b = bData;\n        var f = isFunction(b[behaviour.name()]) ? b[behaviour.name()] : function () {\n          throw new Error('Could not find ' + behaviour.name() + ' in ' + JSON.stringify(spec, null, 2));\n        };\n        return f();\n      };\n      var hasConfigured = function (behaviour) {\n        return isFunction(bData[behaviour.name()]);\n      };\n      var getApis = function () {\n        return info.apis;\n      };\n      var readState = function (behaviourName) {\n        return bData[behaviourName]().map(function (b) {\n          return b.state.readState();\n        }).getOr('not enabled');\n      };\n      var me = {\n        uid: spec.uid,\n        getSystem: systemApi.get,\n        config: config,\n        hasConfigured: hasConfigured,\n        spec: spec,\n        readState: readState,\n        getApis: getApis,\n        connect: connect,\n        disconnect: disconnect,\n        element: item,\n        syncComponents: syncComponents,\n        components: subcomponents.get,\n        events: events\n      };\n      return me;\n    };\n\n    var buildSubcomponents = function (spec) {\n      var components = get$e(spec, 'components').getOr([]);\n      return map$2(components, build$1);\n    };\n    var buildFromSpec = function (userSpec) {\n      var _a = make$8(userSpec), specEvents = _a.events, spec = __rest(_a, ['events']);\n      var components = buildSubcomponents(spec);\n      var completeSpec = __assign(__assign({}, spec), {\n        events: __assign(__assign({}, DefaultEvents), specEvents),\n        components: components\n      });\n      return Result.value(build$2(completeSpec));\n    };\n    var text = function (textContent) {\n      var element = SugarElement.fromText(textContent);\n      return external$2({ element: element });\n    };\n    var external$2 = function (spec) {\n      var extSpec = asRawOrDie$1('external.component', objOfOnly([\n        required$1('element'),\n        option('uid')\n      ]), spec);\n      var systemApi = Cell(NoContextApi());\n      var connect = function (newApi) {\n        systemApi.set(newApi);\n      };\n      var disconnect = function () {\n        systemApi.set(NoContextApi(function () {\n          return me;\n        }));\n      };\n      var uid = extSpec.uid.getOrThunk(function () {\n        return generate$5('external');\n      });\n      writeOnly(extSpec.element, uid);\n      var me = {\n        uid: uid,\n        getSystem: systemApi.get,\n        config: Optional.none,\n        hasConfigured: never,\n        connect: connect,\n        disconnect: disconnect,\n        getApis: function () {\n          return {};\n        },\n        element: extSpec.element,\n        spec: spec,\n        readState: constant$1('No state'),\n        syncComponents: noop,\n        components: constant$1([]),\n        events: {}\n      };\n      return premade$1(me);\n    };\n    var uids = generate$5;\n    var isSketchSpec$1 = function (spec) {\n      return has$2(spec, 'uid');\n    };\n    var build$1 = function (spec) {\n      return getPremade(spec).getOrThunk(function () {\n        var userSpecWithUid = isSketchSpec$1(spec) ? spec : __assign({ uid: uids('') }, spec);\n        return buildFromSpec(userSpecWithUid).getOrDie();\n      });\n    };\n    var premade = premade$1;\n\n    function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    }\n\n    var ancestor$1 = function (scope, predicate, isRoot) {\n      var element = scope.dom;\n      var stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var closest$3 = function (scope, predicate, isRoot) {\n      var is = function (s, test) {\n        return test(s);\n      };\n      return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot);\n    };\n    var child$1 = function (scope, predicate) {\n      var pred = function (node) {\n        return predicate(SugarElement.fromDom(node));\n      };\n      var result = find$5(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    var descendant$1 = function (scope, predicate) {\n      var descend = function (node) {\n        for (var i = 0; i < node.childNodes.length; i++) {\n          var child_1 = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child_1)) {\n            return Optional.some(child_1);\n          }\n          var res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    var closest$2 = function (scope, predicate, isRoot) {\n      return closest$3(scope, predicate, isRoot).isSome();\n    };\n\n    var ancestor = function (scope, selector, isRoot) {\n      return ancestor$1(scope, function (e) {\n        return is(e, selector);\n      }, isRoot);\n    };\n    var child = function (scope, selector) {\n      return child$1(scope, function (e) {\n        return is(e, selector);\n      });\n    };\n    var descendant = function (scope, selector) {\n      return one(selector, scope);\n    };\n    var closest$1 = function (scope, selector, isRoot) {\n      var is$1 = function (element, selector) {\n        return is(element, selector);\n      };\n      return ClosestOrAncestor(is$1, ancestor, scope, selector, isRoot);\n    };\n\n    var find$1 = function (queryElem) {\n      var dependent = closest$3(queryElem, function (elem) {\n        if (!isElement$2(elem)) {\n          return false;\n        }\n        var id = get$d(elem, 'id');\n        return id !== undefined && id.indexOf('aria-owns') > -1;\n      });\n      return dependent.bind(function (dep) {\n        var id = get$d(dep, 'id');\n        var dos = getRootNode(dep);\n        return descendant(dos, '[aria-owns=\"' + id + '\"]');\n      });\n    };\n    var manager = function () {\n      var ariaId = generate$6('aria-owns');\n      var link = function (elem) {\n        set$8(elem, 'aria-owns', ariaId);\n      };\n      var unlink = function (elem) {\n        remove$7(elem, 'aria-owns');\n      };\n      return {\n        id: ariaId,\n        link: link,\n        unlink: unlink\n      };\n    };\n\n    var isAriaPartOf = function (component, queryElem) {\n      return find$1(queryElem).exists(function (owner) {\n        return isPartOf$1(component, owner);\n      });\n    };\n    var isPartOf$1 = function (component, queryElem) {\n      return closest$2(queryElem, function (el) {\n        return eq(el, component.element);\n      }, never) || isAriaPartOf(component, queryElem);\n    };\n\n    var unknown = 'unknown';\n    var EventConfiguration;\n    (function (EventConfiguration) {\n      EventConfiguration[EventConfiguration['STOP'] = 0] = 'STOP';\n      EventConfiguration[EventConfiguration['NORMAL'] = 1] = 'NORMAL';\n      EventConfiguration[EventConfiguration['LOGGING'] = 2] = 'LOGGING';\n    }(EventConfiguration || (EventConfiguration = {})));\n    var eventConfig = Cell({});\n    var makeEventLogger = function (eventName, initialTarget) {\n      var sequence = [];\n      var startTime = new Date().getTime();\n      return {\n        logEventCut: function (_name, target, purpose) {\n          sequence.push({\n            outcome: 'cut',\n            target: target,\n            purpose: purpose\n          });\n        },\n        logEventStopped: function (_name, target, purpose) {\n          sequence.push({\n            outcome: 'stopped',\n            target: target,\n            purpose: purpose\n          });\n        },\n        logNoParent: function (_name, target, purpose) {\n          sequence.push({\n            outcome: 'no-parent',\n            target: target,\n            purpose: purpose\n          });\n        },\n        logEventNoHandlers: function (_name, target) {\n          sequence.push({\n            outcome: 'no-handlers-left',\n            target: target\n          });\n        },\n        logEventResponse: function (_name, target, purpose) {\n          sequence.push({\n            outcome: 'response',\n            purpose: purpose,\n            target: target\n          });\n        },\n        write: function () {\n          var finishTime = new Date().getTime();\n          if (contains$2([\n              'mousemove',\n              'mouseover',\n              'mouseout',\n              systemInit()\n            ], eventName)) {\n            return;\n          }\n          console.log(eventName, {\n            event: eventName,\n            time: finishTime - startTime,\n            target: initialTarget.dom,\n            sequence: map$2(sequence, function (s) {\n              if (!contains$2([\n                  'cut',\n                  'stopped',\n                  'response'\n                ], s.outcome)) {\n                return s.outcome;\n              } else {\n                return '{' + s.purpose + '} ' + s.outcome + ' at (' + element(s.target) + ')';\n              }\n            })\n          });\n        }\n      };\n    };\n    var processEvent = function (eventName, initialTarget, f) {\n      var status = get$e(eventConfig.get(), eventName).orThunk(function () {\n        var patterns = keys(eventConfig.get());\n        return findMap(patterns, function (p) {\n          return eventName.indexOf(p) > -1 ? Optional.some(eventConfig.get()[p]) : Optional.none();\n        });\n      }).getOr(EventConfiguration.NORMAL);\n      switch (status) {\n      case EventConfiguration.NORMAL:\n        return f(noLogger());\n      case EventConfiguration.LOGGING: {\n          var logger = makeEventLogger(eventName, initialTarget);\n          var output = f(logger);\n          logger.write();\n          return output;\n        }\n      case EventConfiguration.STOP:\n        return true;\n      }\n    };\n    var path = [\n      'alloy/data/Fields',\n      'alloy/debugging/Debugging'\n    ];\n    var getTrace = function () {\n      var err = new Error();\n      if (err.stack !== undefined) {\n        var lines = err.stack.split('\\n');\n        return find$5(lines, function (line) {\n          return line.indexOf('alloy') > 0 && !exists(path, function (p) {\n            return line.indexOf(p) > -1;\n          });\n        }).getOr(unknown);\n      } else {\n        return unknown;\n      }\n    };\n    var ignoreEvent = {\n      logEventCut: noop,\n      logEventStopped: noop,\n      logNoParent: noop,\n      logEventNoHandlers: noop,\n      logEventResponse: noop,\n      write: noop\n    };\n    var monitorEvent = function (eventName, initialTarget, f) {\n      return processEvent(eventName, initialTarget, f);\n    };\n    var noLogger = constant$1(ignoreEvent);\n\n    var menuFields = constant$1([\n      required$1('menu'),\n      required$1('selectedMenu')\n    ]);\n    var itemFields = constant$1([\n      required$1('item'),\n      required$1('selectedItem')\n    ]);\n    constant$1(objOf(itemFields().concat(menuFields())));\n    var itemSchema$3 = constant$1(objOf(itemFields()));\n\n    var _initSize = requiredObjOf('initSize', [\n      required$1('numColumns'),\n      required$1('numRows')\n    ]);\n    var itemMarkers = function () {\n      return requiredOf('markers', itemSchema$3());\n    };\n    var tieredMenuMarkers = function () {\n      return requiredObjOf('markers', [required$1('backgroundMenu')].concat(menuFields()).concat(itemFields()));\n    };\n    var markers$1 = function (required) {\n      return requiredObjOf('markers', map$2(required, required$1));\n    };\n    var onPresenceHandler = function (label, fieldName, presence) {\n      getTrace();\n      return field$1(fieldName, fieldName, presence, valueOf(function (f) {\n        return Result.value(function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          return f.apply(undefined, args);\n        });\n      }));\n    };\n    var onHandler = function (fieldName) {\n      return onPresenceHandler('onHandler', fieldName, defaulted$1(noop));\n    };\n    var onKeyboardHandler = function (fieldName) {\n      return onPresenceHandler('onKeyboardHandler', fieldName, defaulted$1(Optional.none));\n    };\n    var onStrictHandler = function (fieldName) {\n      return onPresenceHandler('onHandler', fieldName, required$2());\n    };\n    var onStrictKeyboardHandler = function (fieldName) {\n      return onPresenceHandler('onKeyboardHandler', fieldName, required$2());\n    };\n    var output$1 = function (name, value) {\n      return customField(name, constant$1(value));\n    };\n    var snapshot = function (name) {\n      return customField(name, identity$1);\n    };\n    var initSize = constant$1(_initSize);\n\n    var nu$6 = function (x, y, bubble, direction, placement, boundsRestriction, labelPrefix, alwaysFit) {\n      if (alwaysFit === void 0) {\n        alwaysFit = false;\n      }\n      return {\n        x: x,\n        y: y,\n        bubble: bubble,\n        direction: direction,\n        placement: placement,\n        restriction: boundsRestriction,\n        label: labelPrefix + '-' + placement,\n        alwaysFit: alwaysFit\n      };\n    };\n\n    var adt$a = Adt.generate([\n      { southeast: [] },\n      { southwest: [] },\n      { northeast: [] },\n      { northwest: [] },\n      { south: [] },\n      { north: [] },\n      { east: [] },\n      { west: [] }\n    ]);\n    var cata$2 = function (subject, southeast, southwest, northeast, northwest, south, north, east, west) {\n      return subject.fold(southeast, southwest, northeast, northwest, south, north, east, west);\n    };\n    var cataVertical = function (subject, south, middle, north) {\n      return subject.fold(south, south, north, north, south, north, middle, middle);\n    };\n    var cataHorizontal = function (subject, east, middle, west) {\n      return subject.fold(east, west, east, west, middle, middle, east, west);\n    };\n    var southeast$3 = adt$a.southeast;\n    var southwest$3 = adt$a.southwest;\n    var northeast$3 = adt$a.northeast;\n    var northwest$3 = adt$a.northwest;\n    var south$3 = adt$a.south;\n    var north$3 = adt$a.north;\n    var east$3 = adt$a.east;\n    var west$3 = adt$a.west;\n\n    var cycleBy = function (value, delta, min, max) {\n      var r = value + delta;\n      if (r > max) {\n        return min;\n      } else if (r < min) {\n        return max;\n      } else {\n        return r;\n      }\n    };\n    var clamp$1 = function (value, min, max) {\n      return Math.min(Math.max(value, min), max);\n    };\n\n    var getRestriction = function (anchor, restriction) {\n      switch (restriction) {\n      case 1:\n        return anchor.x;\n      case 0:\n        return anchor.x + anchor.width;\n      case 2:\n        return anchor.y;\n      case 3:\n        return anchor.y + anchor.height;\n      }\n    };\n    var boundsRestriction = function (anchor, restrictions) {\n      return mapToObject([\n        'left',\n        'right',\n        'top',\n        'bottom'\n      ], function (dir) {\n        return get$e(restrictions, dir).map(function (restriction) {\n          return getRestriction(anchor, restriction);\n        });\n      });\n    };\n    var adjustBounds = function (bounds$1, restriction, bubbleOffset) {\n      var applyRestriction = function (dir, current) {\n        return restriction[dir].map(function (pos) {\n          var isVerticalAxis = dir === 'top' || dir === 'bottom';\n          var offset = isVerticalAxis ? bubbleOffset.top : bubbleOffset.left;\n          var comparator = dir === 'left' || dir === 'top' ? Math.max : Math.min;\n          var newPos = comparator(pos, current) + offset;\n          return isVerticalAxis ? clamp$1(newPos, bounds$1.y, bounds$1.bottom) : clamp$1(newPos, bounds$1.x, bounds$1.right);\n        }).getOr(current);\n      };\n      var adjustedLeft = applyRestriction('left', bounds$1.x);\n      var adjustedTop = applyRestriction('top', bounds$1.y);\n      var adjustedRight = applyRestriction('right', bounds$1.right);\n      var adjustedBottom = applyRestriction('bottom', bounds$1.bottom);\n      return bounds(adjustedLeft, adjustedTop, adjustedRight - adjustedLeft, adjustedBottom - adjustedTop);\n    };\n\n    var labelPrefix$2 = 'layout';\n    var eastX$1 = function (anchor) {\n      return anchor.x;\n    };\n    var middleX$1 = function (anchor, element) {\n      return anchor.x + anchor.width / 2 - element.width / 2;\n    };\n    var westX$1 = function (anchor, element) {\n      return anchor.x + anchor.width - element.width;\n    };\n    var northY$2 = function (anchor, element) {\n      return anchor.y - element.height;\n    };\n    var southY$2 = function (anchor) {\n      return anchor.y + anchor.height;\n    };\n    var centreY$1 = function (anchor, element) {\n      return anchor.y + anchor.height / 2 - element.height / 2;\n    };\n    var eastEdgeX$1 = function (anchor) {\n      return anchor.x + anchor.width;\n    };\n    var westEdgeX$1 = function (anchor, element) {\n      return anchor.x - element.width;\n    };\n    var southeast$2 = function (anchor, element, bubbles) {\n      return nu$6(eastX$1(anchor), southY$2(anchor), bubbles.southeast(), southeast$3(), 'southeast', boundsRestriction(anchor, {\n        left: 1,\n        top: 3\n      }), labelPrefix$2);\n    };\n    var southwest$2 = function (anchor, element, bubbles) {\n      return nu$6(westX$1(anchor, element), southY$2(anchor), bubbles.southwest(), southwest$3(), 'southwest', boundsRestriction(anchor, {\n        right: 0,\n        top: 3\n      }), labelPrefix$2);\n    };\n    var northeast$2 = function (anchor, element, bubbles) {\n      return nu$6(eastX$1(anchor), northY$2(anchor, element), bubbles.northeast(), northeast$3(), 'northeast', boundsRestriction(anchor, {\n        left: 1,\n        bottom: 2\n      }), labelPrefix$2);\n    };\n    var northwest$2 = function (anchor, element, bubbles) {\n      return nu$6(westX$1(anchor, element), northY$2(anchor, element), bubbles.northwest(), northwest$3(), 'northwest', boundsRestriction(anchor, {\n        right: 0,\n        bottom: 2\n      }), labelPrefix$2);\n    };\n    var north$2 = function (anchor, element, bubbles) {\n      return nu$6(middleX$1(anchor, element), northY$2(anchor, element), bubbles.north(), north$3(), 'north', boundsRestriction(anchor, { bottom: 2 }), labelPrefix$2);\n    };\n    var south$2 = function (anchor, element, bubbles) {\n      return nu$6(middleX$1(anchor, element), southY$2(anchor), bubbles.south(), south$3(), 'south', boundsRestriction(anchor, { top: 3 }), labelPrefix$2);\n    };\n    var east$2 = function (anchor, element, bubbles) {\n      return nu$6(eastEdgeX$1(anchor), centreY$1(anchor, element), bubbles.east(), east$3(), 'east', boundsRestriction(anchor, { left: 0 }), labelPrefix$2);\n    };\n    var west$2 = function (anchor, element, bubbles) {\n      return nu$6(westEdgeX$1(anchor, element), centreY$1(anchor, element), bubbles.west(), west$3(), 'west', boundsRestriction(anchor, { right: 1 }), labelPrefix$2);\n    };\n    var all$1 = function () {\n      return [\n        southeast$2,\n        southwest$2,\n        northeast$2,\n        northwest$2,\n        south$2,\n        north$2,\n        east$2,\n        west$2\n      ];\n    };\n    var allRtl$1 = function () {\n      return [\n        southwest$2,\n        southeast$2,\n        northwest$2,\n        northeast$2,\n        south$2,\n        north$2,\n        east$2,\n        west$2\n      ];\n    };\n    var aboveOrBelow = function () {\n      return [\n        northeast$2,\n        northwest$2,\n        southeast$2,\n        southwest$2,\n        north$2,\n        south$2\n      ];\n    };\n    var aboveOrBelowRtl = function () {\n      return [\n        northwest$2,\n        northeast$2,\n        southwest$2,\n        southeast$2,\n        north$2,\n        south$2\n      ];\n    };\n    var belowOrAbove = function () {\n      return [\n        southeast$2,\n        southwest$2,\n        northeast$2,\n        northwest$2,\n        south$2,\n        north$2\n      ];\n    };\n    var belowOrAboveRtl = function () {\n      return [\n        southwest$2,\n        southeast$2,\n        northwest$2,\n        northeast$2,\n        south$2,\n        north$2\n      ];\n    };\n\n    var chooseChannels = function (channels, message) {\n      return message.universal ? channels : filter$2(channels, function (ch) {\n        return contains$2(message.channels, ch);\n      });\n    };\n    var events$h = function (receiveConfig) {\n      return derive$2([run$1(receive(), function (component, message) {\n          var channelMap = receiveConfig.channels;\n          var channels = keys(channelMap);\n          var receivingData = message;\n          var targetChannels = chooseChannels(channels, receivingData);\n          each$1(targetChannels, function (ch) {\n            var channelInfo = channelMap[ch];\n            var channelSchema = channelInfo.schema;\n            var data = asRawOrDie$1('channel[' + ch + '] data\\nReceiver: ' + element(component.element), channelSchema, receivingData.data);\n            channelInfo.onReceive(component, data);\n          });\n        })]);\n    };\n\n    var ActiveReceiving = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$h\n    });\n\n    var ReceivingSchema = [requiredOf('channels', setOf(Result.value, objOfOnly([\n        onStrictHandler('onReceive'),\n        defaulted('schema', anyValue())\n      ])))];\n\n    var executeEvent = function (bConfig, bState, executor) {\n      return runOnExecute$1(function (component) {\n        executor(component, bConfig, bState);\n      });\n    };\n    var loadEvent = function (bConfig, bState, f) {\n      return runOnInit(function (component, _simulatedEvent) {\n        f(component, bConfig, bState);\n      });\n    };\n    var create$8 = function (schema, name, active, apis, extra, state) {\n      var configSchema = objOfOnly(schema);\n      var schemaSchema = optionObjOf(name, [optionObjOfOnly('config', schema)]);\n      return doCreate(configSchema, schemaSchema, name, active, apis, extra, state);\n    };\n    var createModes$1 = function (modes, name, active, apis, extra, state) {\n      var configSchema = modes;\n      var schemaSchema = optionObjOf(name, [optionOf('config', modes)]);\n      return doCreate(configSchema, schemaSchema, name, active, apis, extra, state);\n    };\n    var wrapApi = function (bName, apiFunction, apiName) {\n      var f = function (component) {\n        var rest = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n          rest[_i - 1] = arguments[_i];\n        }\n        var args = [component].concat(rest);\n        return component.config({ name: constant$1(bName) }).fold(function () {\n          throw new Error('We could not find any behaviour configuration for: ' + bName + '. Using API: ' + apiName);\n        }, function (info) {\n          var rest = Array.prototype.slice.call(args, 1);\n          return apiFunction.apply(undefined, [\n            component,\n            info.config,\n            info.state\n          ].concat(rest));\n        });\n      };\n      return markAsBehaviourApi(f, apiName, apiFunction);\n    };\n    var revokeBehaviour = function (name) {\n      return {\n        key: name,\n        value: undefined\n      };\n    };\n    var doCreate = function (configSchema, schemaSchema, name, active, apis, extra, state) {\n      var getConfig = function (info) {\n        return hasNonNullableKey(info, name) ? info[name]() : Optional.none();\n      };\n      var wrappedApis = map$1(apis, function (apiF, apiName) {\n        return wrapApi(name, apiF, apiName);\n      });\n      var wrappedExtra = map$1(extra, function (extraF, extraName) {\n        return markAsExtraApi(extraF, extraName);\n      });\n      var me = __assign(__assign(__assign({}, wrappedExtra), wrappedApis), {\n        revoke: curry(revokeBehaviour, name),\n        config: function (spec) {\n          var prepared = asRawOrDie$1(name + '-config', configSchema, spec);\n          return {\n            key: name,\n            value: {\n              config: prepared,\n              me: me,\n              configAsRaw: cached(function () {\n                return asRawOrDie$1(name + '-config', configSchema, spec);\n              }),\n              initialConfig: spec,\n              state: state\n            }\n          };\n        },\n        schema: constant$1(schemaSchema),\n        exhibit: function (info, base) {\n          return lift2(getConfig(info), get$e(active, 'exhibit'), function (behaviourInfo, exhibitor) {\n            return exhibitor(base, behaviourInfo.config, behaviourInfo.state);\n          }).getOrThunk(function () {\n            return nu$7({});\n          });\n        },\n        name: constant$1(name),\n        handlers: function (info) {\n          return getConfig(info).map(function (behaviourInfo) {\n            var getEvents = get$e(active, 'events').getOr(function () {\n              return {};\n            });\n            return getEvents(behaviourInfo.config, behaviourInfo.state);\n          }).getOr({});\n        }\n      });\n      return me;\n    };\n\n    var derive$1 = function (capabilities) {\n      return wrapAll(capabilities);\n    };\n    var simpleSchema = objOfOnly([\n      required$1('fields'),\n      required$1('name'),\n      defaulted('active', {}),\n      defaulted('apis', {}),\n      defaulted('state', NoState),\n      defaulted('extra', {})\n    ]);\n    var create$7 = function (data) {\n      var value = asRawOrDie$1('Creating behaviour: ' + data.name, simpleSchema, data);\n      return create$8(value.fields, value.name, value.active, value.apis, value.extra, value.state);\n    };\n    var modeSchema = objOfOnly([\n      required$1('branchKey'),\n      required$1('branches'),\n      required$1('name'),\n      defaulted('active', {}),\n      defaulted('apis', {}),\n      defaulted('state', NoState),\n      defaulted('extra', {})\n    ]);\n    var createModes = function (data) {\n      var value = asRawOrDie$1('Creating behaviour: ' + data.name, modeSchema, data);\n      return createModes$1(choose$1(value.branchKey, value.branches), value.name, value.active, value.apis, value.extra, value.state);\n    };\n    var revoke = constant$1(undefined);\n\n    var Receiving = create$7({\n      fields: ReceivingSchema,\n      name: 'receiving',\n      active: ActiveReceiving\n    });\n\n    var exhibit$6 = function (base, posConfig) {\n      return nu$7({\n        classes: [],\n        styles: posConfig.useFixed() ? {} : { position: 'relative' }\n      });\n    };\n\n    var ActivePosition = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$6\n    });\n\n    var getDocument = function () {\n      return SugarElement.fromDom(document);\n    };\n\n    var focus$3 = function (element) {\n      return element.dom.focus();\n    };\n    var blur$1 = function (element) {\n      return element.dom.blur();\n    };\n    var hasFocus = function (element) {\n      var root = getRootNode(element).dom;\n      return element.dom === root.activeElement;\n    };\n    var active = function (root) {\n      if (root === void 0) {\n        root = getDocument();\n      }\n      return Optional.from(root.dom.activeElement).map(SugarElement.fromDom);\n    };\n    var search = function (element) {\n      return active(getRootNode(element)).filter(function (e) {\n        return element.dom.contains(e.dom);\n      });\n    };\n\n    var preserve$1 = function (f, container) {\n      var dos = getRootNode(container);\n      var refocus = active(dos).bind(function (focused) {\n        var hasFocus = function (elem) {\n          return eq(focused, elem);\n        };\n        return hasFocus(container) ? Optional.some(container) : descendant$1(container, hasFocus);\n      });\n      var result = f(container);\n      refocus.each(function (oldFocus) {\n        active(dos).filter(function (newFocus) {\n          return eq(newFocus, oldFocus);\n        }).fold(function () {\n          focus$3(oldFocus);\n        }, noop);\n      });\n      return result;\n    };\n\n    var NuPositionCss = function (position, left, top, right, bottom) {\n      var toPx = function (num) {\n        return num + 'px';\n      };\n      return {\n        position: position,\n        left: left.map(toPx),\n        top: top.map(toPx),\n        right: right.map(toPx),\n        bottom: bottom.map(toPx)\n      };\n    };\n    var toOptions = function (position) {\n      return __assign(__assign({}, position), { position: Optional.some(position.position) });\n    };\n    var applyPositionCss = function (element, position) {\n      setOptions(element, toOptions(position));\n    };\n\n    var adt$9 = Adt.generate([\n      { none: [] },\n      {\n        relative: [\n          'x',\n          'y',\n          'width',\n          'height'\n        ]\n      },\n      {\n        fixed: [\n          'x',\n          'y',\n          'width',\n          'height'\n        ]\n      }\n    ]);\n    var positionWithDirection = function (posName, decision, x, y, width, height) {\n      var decisionRect = decision.rect;\n      var decisionX = decisionRect.x - x;\n      var decisionY = decisionRect.y - y;\n      var decisionWidth = decisionRect.width;\n      var decisionHeight = decisionRect.height;\n      var decisionRight = width - (decisionX + decisionWidth);\n      var decisionBottom = height - (decisionY + decisionHeight);\n      var left = Optional.some(decisionX);\n      var top = Optional.some(decisionY);\n      var right = Optional.some(decisionRight);\n      var bottom = Optional.some(decisionBottom);\n      var none = Optional.none();\n      return cata$2(decision.direction, function () {\n        return NuPositionCss(posName, left, top, none, none);\n      }, function () {\n        return NuPositionCss(posName, none, top, right, none);\n      }, function () {\n        return NuPositionCss(posName, left, none, none, bottom);\n      }, function () {\n        return NuPositionCss(posName, none, none, right, bottom);\n      }, function () {\n        return NuPositionCss(posName, left, top, none, none);\n      }, function () {\n        return NuPositionCss(posName, left, none, none, bottom);\n      }, function () {\n        return NuPositionCss(posName, left, top, none, none);\n      }, function () {\n        return NuPositionCss(posName, none, top, right, none);\n      });\n    };\n    var reposition = function (origin, decision) {\n      return origin.fold(function () {\n        var decisionRect = decision.rect;\n        return NuPositionCss('absolute', Optional.some(decisionRect.x), Optional.some(decisionRect.y), Optional.none(), Optional.none());\n      }, function (x, y, width, height) {\n        return positionWithDirection('absolute', decision, x, y, width, height);\n      }, function (x, y, width, height) {\n        return positionWithDirection('fixed', decision, x, y, width, height);\n      });\n    };\n    var toBox = function (origin, element) {\n      var rel = curry(find$2, element);\n      var position = origin.fold(rel, rel, function () {\n        var scroll = get$9();\n        return find$2(element).translate(-scroll.left, -scroll.top);\n      });\n      var width = getOuter$1(element);\n      var height = getOuter$2(element);\n      return bounds(position.left, position.top, width, height);\n    };\n    var viewport = function (origin, getBounds) {\n      return getBounds.fold(function () {\n        return origin.fold(win, win, bounds);\n      }, function (b) {\n        return origin.fold(b, b, function () {\n          var bounds$1 = b();\n          var pos = translate$2(origin, bounds$1.x, bounds$1.y);\n          return bounds(pos.left, pos.top, bounds$1.width, bounds$1.height);\n        });\n      });\n    };\n    var translate$2 = function (origin, x, y) {\n      var pos = SugarPosition(x, y);\n      var removeScroll = function () {\n        var outerScroll = get$9();\n        return pos.translate(-outerScroll.left, -outerScroll.top);\n      };\n      return origin.fold(constant$1(pos), constant$1(pos), removeScroll);\n    };\n    var cata$1 = function (subject, onNone, onRelative, onFixed) {\n      return subject.fold(onNone, onRelative, onFixed);\n    };\n    adt$9.none;\n    var relative$1 = adt$9.relative;\n    var fixed$1 = adt$9.fixed;\n\n    var anchor = function (anchorBox, origin) {\n      return {\n        anchorBox: anchorBox,\n        origin: origin\n      };\n    };\n    var box = function (anchorBox, origin) {\n      return anchor(anchorBox, origin);\n    };\n\n    var placementAttribute = 'data-alloy-placement';\n    var setPlacement$1 = function (element, placement) {\n      set$8(element, placementAttribute, placement);\n    };\n    var getPlacement = function (element) {\n      return getOpt(element, placementAttribute);\n    };\n    var reset$2 = function (element) {\n      return remove$7(element, placementAttribute);\n    };\n\n    var adt$8 = Adt.generate([\n      { fit: ['reposition'] },\n      {\n        nofit: [\n          'reposition',\n          'visibleW',\n          'visibleH',\n          'isVisible'\n        ]\n      }\n    ]);\n    var determinePosition = function (box, bounds) {\n      var boundsX = bounds.x, boundsY = bounds.y, boundsRight = bounds.right, boundsBottom = bounds.bottom;\n      var x = box.x, y = box.y, right = box.right, bottom = box.bottom, width = box.width, height = box.height;\n      var xInBounds = x >= boundsX && x <= boundsRight;\n      var yInBounds = y >= boundsY && y <= boundsBottom;\n      var originInBounds = xInBounds && yInBounds;\n      var rightInBounds = right <= boundsRight && right >= boundsX;\n      var bottomInBounds = bottom <= boundsBottom && bottom >= boundsY;\n      var sizeInBounds = rightInBounds && bottomInBounds;\n      var visibleW = Math.min(width, x >= boundsX ? boundsRight - x : right - boundsX);\n      var visibleH = Math.min(height, y >= boundsY ? boundsBottom - y : bottom - boundsY);\n      return {\n        originInBounds: originInBounds,\n        sizeInBounds: sizeInBounds,\n        visibleW: visibleW,\n        visibleH: visibleH\n      };\n    };\n    var calcReposition = function (box, bounds$1) {\n      var boundsX = bounds$1.x, boundsY = bounds$1.y, boundsRight = bounds$1.right, boundsBottom = bounds$1.bottom;\n      var x = box.x, y = box.y, width = box.width, height = box.height;\n      var maxX = Math.max(boundsX, boundsRight - width);\n      var maxY = Math.max(boundsY, boundsBottom - height);\n      var restrictedX = clamp$1(x, boundsX, maxX);\n      var restrictedY = clamp$1(y, boundsY, maxY);\n      var restrictedWidth = Math.min(restrictedX + width, boundsRight) - restrictedX;\n      var restrictedHeight = Math.min(restrictedY + height, boundsBottom) - restrictedY;\n      return bounds(restrictedX, restrictedY, restrictedWidth, restrictedHeight);\n    };\n    var calcMaxSizes = function (direction, box, bounds) {\n      var upAvailable = constant$1(box.bottom - bounds.y);\n      var downAvailable = constant$1(bounds.bottom - box.y);\n      var maxHeight = cataVertical(direction, downAvailable, downAvailable, upAvailable);\n      var westAvailable = constant$1(box.right - bounds.x);\n      var eastAvailable = constant$1(bounds.right - box.x);\n      var maxWidth = cataHorizontal(direction, eastAvailable, eastAvailable, westAvailable);\n      return {\n        maxWidth: maxWidth,\n        maxHeight: maxHeight\n      };\n    };\n    var attempt = function (candidate, width, height, bounds$1) {\n      var bubble = candidate.bubble;\n      var bubbleOffset = bubble.offset;\n      var adjustedBounds = adjustBounds(bounds$1, candidate.restriction, bubbleOffset);\n      var newX = candidate.x + bubbleOffset.left;\n      var newY = candidate.y + bubbleOffset.top;\n      var box = bounds(newX, newY, width, height);\n      var _a = determinePosition(box, adjustedBounds), originInBounds = _a.originInBounds, sizeInBounds = _a.sizeInBounds, visibleW = _a.visibleW, visibleH = _a.visibleH;\n      var fits = originInBounds && sizeInBounds;\n      var fittedBox = fits ? box : calcReposition(box, adjustedBounds);\n      var isPartlyVisible = fittedBox.width > 0 && fittedBox.height > 0;\n      var _b = calcMaxSizes(candidate.direction, fittedBox, bounds$1), maxWidth = _b.maxWidth, maxHeight = _b.maxHeight;\n      var reposition = {\n        rect: fittedBox,\n        maxHeight: maxHeight,\n        maxWidth: maxWidth,\n        direction: candidate.direction,\n        placement: candidate.placement,\n        classes: {\n          on: bubble.classesOn,\n          off: bubble.classesOff\n        },\n        layout: candidate.label,\n        testY: newY\n      };\n      return fits || candidate.alwaysFit ? adt$8.fit(reposition) : adt$8.nofit(reposition, visibleW, visibleH, isPartlyVisible);\n    };\n    var attempts = function (element, candidates, anchorBox, elementBox, bubbles, bounds) {\n      var panelWidth = elementBox.width;\n      var panelHeight = elementBox.height;\n      var attemptBestFit = function (layout, reposition, visibleW, visibleH, isVisible) {\n        var next = layout(anchorBox, elementBox, bubbles, element, bounds);\n        var attemptLayout = attempt(next, panelWidth, panelHeight, bounds);\n        return attemptLayout.fold(constant$1(attemptLayout), function (newReposition, newVisibleW, newVisibleH, newIsVisible) {\n          var improved = isVisible === newIsVisible ? newVisibleH > visibleH || newVisibleW > visibleW : !isVisible && newIsVisible;\n          return improved ? attemptLayout : adt$8.nofit(reposition, visibleW, visibleH, isVisible);\n        });\n      };\n      var abc = foldl(candidates, function (b, a) {\n        var bestNext = curry(attemptBestFit, a);\n        return b.fold(constant$1(b), bestNext);\n      }, adt$8.nofit({\n        rect: anchorBox,\n        maxHeight: elementBox.height,\n        maxWidth: elementBox.width,\n        direction: southeast$3(),\n        placement: 'southeast',\n        classes: {\n          on: [],\n          off: []\n        },\n        layout: 'none',\n        testY: anchorBox.y\n      }, -1, -1, false));\n      return abc.fold(identity$1, identity$1);\n    };\n\n    var singleton = function (doRevoke) {\n      var subject = Cell(Optional.none());\n      var revoke = function () {\n        return subject.get().each(doRevoke);\n      };\n      var clear = function () {\n        revoke();\n        subject.set(Optional.none());\n      };\n      var isSet = function () {\n        return subject.get().isSome();\n      };\n      var get = function () {\n        return subject.get();\n      };\n      var set = function (s) {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear: clear,\n        isSet: isSet,\n        get: get,\n        set: set\n      };\n    };\n    var destroyable = function () {\n      return singleton(function (s) {\n        return s.destroy();\n      });\n    };\n    var unbindable = function () {\n      return singleton(function (s) {\n        return s.unbind();\n      });\n    };\n    var api$1 = function () {\n      var subject = destroyable();\n      var run = function (f) {\n        return subject.get().each(f);\n      };\n      return __assign(__assign({}, subject), { run: run });\n    };\n    var value$1 = function () {\n      var subject = singleton(noop);\n      var on = function (f) {\n        return subject.get().each(f);\n      };\n      return __assign(__assign({}, subject), { on: on });\n    };\n\n    var filter = always;\n    var bind = function (element, event, handler) {\n      return bind$2(element, event, filter, handler);\n    };\n    var capture = function (element, event, handler) {\n      return capture$1(element, event, filter, handler);\n    };\n    var fromRawEvent = fromRawEvent$1;\n\n    var properties = [\n      'top',\n      'bottom',\n      'right',\n      'left'\n    ];\n    var timerAttr = 'data-alloy-transition-timer';\n    var isTransitioning$1 = function (element, transition) {\n      return hasAll(element, transition.classes);\n    };\n    var shouldApplyTransitionCss = function (transition, decision, lastPlacement) {\n      return lastPlacement.exists(function (placer) {\n        var mode = transition.mode;\n        return mode === 'all' ? true : placer[mode] !== decision[mode];\n      });\n    };\n    var hasChanges = function (position, intermediate) {\n      var round = function (value) {\n        return parseFloat(value).toFixed(3);\n      };\n      return find$4(intermediate, function (value, key) {\n        var newValue = position[key].map(round);\n        var val = value.map(round);\n        return !equals(newValue, val);\n      }).isSome();\n    };\n    var getTransitionDuration = function (element) {\n      var get = function (name) {\n        var style = get$c(element, name);\n        var times = isString(style) ? style.split(/\\s*,\\s*/) : [];\n        return filter$2(times, isNotEmpty);\n      };\n      var parse = function (value) {\n        if (isString(value) && /^[\\d.]+/.test(value)) {\n          var num = parseFloat(value);\n          return endsWith(value, 'ms') ? num : num * 1000;\n        } else {\n          return 0;\n        }\n      };\n      var delay = get('transition-delay');\n      var duration = get('transition-duration');\n      return foldl(duration, function (acc, dur, i) {\n        var time = parse(delay[i]) + parse(dur);\n        return Math.max(acc, time);\n      }, 0);\n    };\n    var setupTransitionListeners = function (element, transition) {\n      var transitionEnd = unbindable();\n      var transitionCancel = unbindable();\n      var timer;\n      var isSourceTransition = function (e) {\n        var _a;\n        var pseudoElement = (_a = e.raw.pseudoElement) !== null && _a !== void 0 ? _a : '';\n        return eq(e.target, element) && isEmpty(pseudoElement) && contains$2(properties, e.raw.propertyName);\n      };\n      var transitionDone = function (e) {\n        if (isNullable(e) || isSourceTransition(e)) {\n          transitionEnd.clear();\n          transitionCancel.clear();\n          var type = e === null || e === void 0 ? void 0 : e.raw.type;\n          if (isNullable(type) || type === transitionend()) {\n            clearTimeout(timer);\n            remove$7(element, timerAttr);\n            remove$1(element, transition.classes);\n          }\n        }\n      };\n      var transitionStarted = function () {\n        transitionEnd.set(bind(element, transitionend(), transitionDone));\n        transitionCancel.set(bind(element, transitioncancel(), transitionDone));\n      };\n      if ('ontransitionstart' in element.dom) {\n        var transitionStart_1 = bind(element, transitionstart(), function (e) {\n          if (isSourceTransition(e)) {\n            transitionStart_1.unbind();\n            transitionStarted();\n          }\n        });\n      } else {\n        transitionStarted();\n      }\n      var duration = getTransitionDuration(element);\n      requestAnimationFrame(function () {\n        timer = setTimeout(transitionDone, duration + 17);\n        set$8(element, timerAttr, timer);\n      });\n    };\n    var startTransitioning = function (element, transition) {\n      add$1(element, transition.classes);\n      getOpt(element, timerAttr).each(function (timerId) {\n        clearTimeout(parseInt(timerId, 10));\n        remove$7(element, timerAttr);\n      });\n      setupTransitionListeners(element, transition);\n    };\n    var applyTransitionCss = function (element, origin, position, transition, decision, lastPlacement) {\n      var shouldTransition = shouldApplyTransitionCss(transition, decision, lastPlacement);\n      if (shouldTransition || isTransitioning$1(element, transition)) {\n        set$7(element, 'position', position.position);\n        var rect = toBox(origin, element);\n        var intermediatePosition_1 = reposition(origin, __assign(__assign({}, decision), { rect: rect }));\n        var intermediateCssOptions = mapToObject(properties, function (prop) {\n          return intermediatePosition_1[prop];\n        });\n        if (hasChanges(position, intermediateCssOptions)) {\n          setOptions(element, intermediateCssOptions);\n          if (shouldTransition) {\n            startTransitioning(element, transition);\n          }\n          reflow(element);\n        }\n      } else {\n        remove$1(element, transition.classes);\n      }\n    };\n\n    var elementSize = function (p) {\n      return {\n        width: getOuter$1(p),\n        height: getOuter$2(p)\n      };\n    };\n    var layout = function (anchorBox, element, bubbles, options) {\n      remove$6(element, 'max-height');\n      remove$6(element, 'max-width');\n      var elementBox = elementSize(element);\n      return attempts(element, options.preference, anchorBox, elementBox, bubbles, options.bounds);\n    };\n    var setClasses = function (element, decision) {\n      var classInfo = decision.classes;\n      remove$1(element, classInfo.off);\n      add$1(element, classInfo.on);\n    };\n    var setHeight = function (element, decision, options) {\n      var maxHeightFunction = options.maxHeightFunction;\n      maxHeightFunction(element, decision.maxHeight);\n    };\n    var setWidth = function (element, decision, options) {\n      var maxWidthFunction = options.maxWidthFunction;\n      maxWidthFunction(element, decision.maxWidth);\n    };\n    var position$2 = function (element, decision, options) {\n      var positionCss = reposition(options.origin, decision);\n      options.transition.each(function (transition) {\n        applyTransitionCss(element, options.origin, positionCss, transition, decision, options.lastPlacement);\n      });\n      applyPositionCss(element, positionCss);\n    };\n    var setPlacement = function (element, decision) {\n      setPlacement$1(element, decision.placement);\n    };\n\n    var setMaxHeight = function (element, maxHeight) {\n      setMax$1(element, Math.floor(maxHeight));\n    };\n    var anchored = constant$1(function (element, available) {\n      setMaxHeight(element, available);\n      setAll(element, {\n        'overflow-x': 'hidden',\n        'overflow-y': 'auto'\n      });\n    });\n    var expandable$1 = constant$1(function (element, available) {\n      setMaxHeight(element, available);\n    });\n\n    var defaultOr = function (options, key, dephault) {\n      return options[key] === undefined ? dephault : options[key];\n    };\n    var simple = function (anchor, element, bubble, layouts, lastPlacement, getBounds, overrideOptions, transition) {\n      var maxHeightFunction = defaultOr(overrideOptions, 'maxHeightFunction', anchored());\n      var maxWidthFunction = defaultOr(overrideOptions, 'maxWidthFunction', noop);\n      var anchorBox = anchor.anchorBox;\n      var origin = anchor.origin;\n      var options = {\n        bounds: viewport(origin, getBounds),\n        origin: origin,\n        preference: layouts,\n        maxHeightFunction: maxHeightFunction,\n        maxWidthFunction: maxWidthFunction,\n        lastPlacement: lastPlacement,\n        transition: transition\n      };\n      return go(anchorBox, element, bubble, options);\n    };\n    var go = function (anchorBox, element, bubble, options) {\n      var decision = layout(anchorBox, element, bubble, options);\n      position$2(element, decision, options);\n      setPlacement(element, decision);\n      setClasses(element, decision);\n      setHeight(element, decision, options);\n      setWidth(element, decision, options);\n      return {\n        layout: decision.layout,\n        placement: decision.placement\n      };\n    };\n\n    var allAlignments = [\n      'valignCentre',\n      'alignLeft',\n      'alignRight',\n      'alignCentre',\n      'top',\n      'bottom',\n      'left',\n      'right',\n      'inset'\n    ];\n    var nu$5 = function (xOffset, yOffset, classes, insetModifier) {\n      if (insetModifier === void 0) {\n        insetModifier = 1;\n      }\n      var insetXOffset = xOffset * insetModifier;\n      var insetYOffset = yOffset * insetModifier;\n      var getClasses = function (prop) {\n        return get$e(classes, prop).getOr([]);\n      };\n      var make = function (xDelta, yDelta, alignmentsOn) {\n        var alignmentsOff = difference(allAlignments, alignmentsOn);\n        return {\n          offset: SugarPosition(xDelta, yDelta),\n          classesOn: bind$3(alignmentsOn, getClasses),\n          classesOff: bind$3(alignmentsOff, getClasses)\n        };\n      };\n      return {\n        southeast: function () {\n          return make(-xOffset, yOffset, [\n            'top',\n            'alignLeft'\n          ]);\n        },\n        southwest: function () {\n          return make(xOffset, yOffset, [\n            'top',\n            'alignRight'\n          ]);\n        },\n        south: function () {\n          return make(-xOffset / 2, yOffset, [\n            'top',\n            'alignCentre'\n          ]);\n        },\n        northeast: function () {\n          return make(-xOffset, -yOffset, [\n            'bottom',\n            'alignLeft'\n          ]);\n        },\n        northwest: function () {\n          return make(xOffset, -yOffset, [\n            'bottom',\n            'alignRight'\n          ]);\n        },\n        north: function () {\n          return make(-xOffset / 2, -yOffset, [\n            'bottom',\n            'alignCentre'\n          ]);\n        },\n        east: function () {\n          return make(xOffset, -yOffset / 2, [\n            'valignCentre',\n            'left'\n          ]);\n        },\n        west: function () {\n          return make(-xOffset, -yOffset / 2, [\n            'valignCentre',\n            'right'\n          ]);\n        },\n        insetNortheast: function () {\n          return make(insetXOffset, insetYOffset, [\n            'top',\n            'alignLeft',\n            'inset'\n          ]);\n        },\n        insetNorthwest: function () {\n          return make(-insetXOffset, insetYOffset, [\n            'top',\n            'alignRight',\n            'inset'\n          ]);\n        },\n        insetNorth: function () {\n          return make(-insetXOffset / 2, insetYOffset, [\n            'top',\n            'alignCentre',\n            'inset'\n          ]);\n        },\n        insetSoutheast: function () {\n          return make(insetXOffset, -insetYOffset, [\n            'bottom',\n            'alignLeft',\n            'inset'\n          ]);\n        },\n        insetSouthwest: function () {\n          return make(-insetXOffset, -insetYOffset, [\n            'bottom',\n            'alignRight',\n            'inset'\n          ]);\n        },\n        insetSouth: function () {\n          return make(-insetXOffset / 2, -insetYOffset, [\n            'bottom',\n            'alignCentre',\n            'inset'\n          ]);\n        },\n        insetEast: function () {\n          return make(-insetXOffset, -insetYOffset / 2, [\n            'valignCentre',\n            'right',\n            'inset'\n          ]);\n        },\n        insetWest: function () {\n          return make(insetXOffset, -insetYOffset / 2, [\n            'valignCentre',\n            'left',\n            'inset'\n          ]);\n        }\n      };\n    };\n    var fallback = function () {\n      return nu$5(0, 0, {});\n    };\n\n    var nu$4 = identity$1;\n\n    var onDirection = function (isLtr, isRtl) {\n      return function (element) {\n        return getDirection(element) === 'rtl' ? isRtl : isLtr;\n      };\n    };\n    var getDirection = function (element) {\n      return get$c(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n    };\n\n    var AttributeValue;\n    (function (AttributeValue) {\n      AttributeValue['TopToBottom'] = 'toptobottom';\n      AttributeValue['BottomToTop'] = 'bottomtotop';\n    }(AttributeValue || (AttributeValue = {})));\n    var Attribute = 'data-alloy-vertical-dir';\n    var isBottomToTopDir = function (el) {\n      return closest$2(el, function (current) {\n        return isElement$2(current) && get$d(current, 'data-alloy-vertical-dir') === AttributeValue.BottomToTop;\n      });\n    };\n\n    var schema$y = function () {\n      return optionObjOf('layouts', [\n        required$1('onLtr'),\n        required$1('onRtl'),\n        option('onBottomLtr'),\n        option('onBottomRtl')\n      ]);\n    };\n    var get$4 = function (elem, info, defaultLtr, defaultRtl, defaultBottomLtr, defaultBottomRtl, dirElement) {\n      var isBottomToTop = dirElement.map(isBottomToTopDir).getOr(false);\n      var customLtr = info.layouts.map(function (ls) {\n        return ls.onLtr(elem);\n      });\n      var customRtl = info.layouts.map(function (ls) {\n        return ls.onRtl(elem);\n      });\n      var ltr = isBottomToTop ? info.layouts.bind(function (ls) {\n        return ls.onBottomLtr.map(function (f) {\n          return f(elem);\n        });\n      }).or(customLtr).getOr(defaultBottomLtr) : customLtr.getOr(defaultLtr);\n      var rtl = isBottomToTop ? info.layouts.bind(function (ls) {\n        return ls.onBottomRtl.map(function (f) {\n          return f(elem);\n        });\n      }).or(customRtl).getOr(defaultBottomRtl) : customRtl.getOr(defaultRtl);\n      var f = onDirection(ltr, rtl);\n      return f(elem);\n    };\n\n    var placement$4 = function (component, anchorInfo, origin) {\n      var hotspot = anchorInfo.hotspot;\n      var anchorBox = toBox(origin, hotspot.element);\n      var layouts = get$4(component.element, anchorInfo, belowOrAbove(), belowOrAboveRtl(), aboveOrBelow(), aboveOrBelowRtl(), Optional.some(anchorInfo.hotspot.element));\n      return Optional.some(nu$4({\n        anchorBox: anchorBox,\n        bubble: anchorInfo.bubble.getOr(fallback()),\n        overrides: anchorInfo.overrides,\n        layouts: layouts,\n        placer: Optional.none()\n      }));\n    };\n    var HotspotAnchor = [\n      required$1('hotspot'),\n      option('bubble'),\n      defaulted('overrides', {}),\n      schema$y(),\n      output$1('placement', placement$4)\n    ];\n\n    var placement$3 = function (component, anchorInfo, origin) {\n      var pos = translate$2(origin, anchorInfo.x, anchorInfo.y);\n      var anchorBox = bounds(pos.left, pos.top, anchorInfo.width, anchorInfo.height);\n      var layouts = get$4(component.element, anchorInfo, all$1(), allRtl$1(), all$1(), allRtl$1(), Optional.none());\n      return Optional.some(nu$4({\n        anchorBox: anchorBox,\n        bubble: anchorInfo.bubble,\n        overrides: anchorInfo.overrides,\n        layouts: layouts,\n        placer: Optional.none()\n      }));\n    };\n    var MakeshiftAnchor = [\n      required$1('x'),\n      required$1('y'),\n      defaulted('height', 0),\n      defaulted('width', 0),\n      defaulted('bubble', fallback()),\n      defaulted('overrides', {}),\n      schema$y(),\n      output$1('placement', placement$3)\n    ];\n\n    var adt$7 = Adt.generate([\n      { screen: ['point'] },\n      {\n        absolute: [\n          'point',\n          'scrollLeft',\n          'scrollTop'\n        ]\n      }\n    ]);\n    var toFixed = function (pos) {\n      return pos.fold(identity$1, function (point, scrollLeft, scrollTop) {\n        return point.translate(-scrollLeft, -scrollTop);\n      });\n    };\n    var toAbsolute = function (pos) {\n      return pos.fold(identity$1, identity$1);\n    };\n    var sum = function (points) {\n      return foldl(points, function (b, a) {\n        return b.translate(a.left, a.top);\n      }, SugarPosition(0, 0));\n    };\n    var sumAsFixed = function (positions) {\n      var points = map$2(positions, toFixed);\n      return sum(points);\n    };\n    var sumAsAbsolute = function (positions) {\n      var points = map$2(positions, toAbsolute);\n      return sum(points);\n    };\n    var screen = adt$7.screen;\n    var absolute$1 = adt$7.absolute;\n\n    var getOffset = function (component, origin, anchorInfo) {\n      var win = defaultView(anchorInfo.root).dom;\n      var hasSameOwner = function (frame) {\n        var frameOwner = owner$4(frame);\n        var compOwner = owner$4(component.element);\n        return eq(frameOwner, compOwner);\n      };\n      return Optional.from(win.frameElement).map(SugarElement.fromDom).filter(hasSameOwner).map(absolute$3);\n    };\n    var getRootPoint = function (component, origin, anchorInfo) {\n      var doc = owner$4(component.element);\n      var outerScroll = get$9(doc);\n      var offset = getOffset(component, origin, anchorInfo).getOr(outerScroll);\n      return absolute$1(offset, outerScroll.left, outerScroll.top);\n    };\n\n    var getBox = function (left, top, width, height) {\n      var point = screen(SugarPosition(left, top));\n      return Optional.some(pointed(point, width, height));\n    };\n    var calcNewAnchor = function (optBox, rootPoint, anchorInfo, origin, elem) {\n      return optBox.map(function (box) {\n        var points = [\n          rootPoint,\n          box.point\n        ];\n        var topLeft = cata$1(origin, function () {\n          return sumAsAbsolute(points);\n        }, function () {\n          return sumAsAbsolute(points);\n        }, function () {\n          return sumAsFixed(points);\n        });\n        var anchorBox = rect(topLeft.left, topLeft.top, box.width, box.height);\n        var layoutsLtr = anchorInfo.showAbove ? aboveOrBelow() : belowOrAbove();\n        var layoutsRtl = anchorInfo.showAbove ? aboveOrBelowRtl() : belowOrAboveRtl();\n        var layouts = get$4(elem, anchorInfo, layoutsLtr, layoutsRtl, layoutsLtr, layoutsRtl, Optional.none());\n        return nu$4({\n          anchorBox: anchorBox,\n          bubble: anchorInfo.bubble.getOr(fallback()),\n          overrides: anchorInfo.overrides,\n          layouts: layouts,\n          placer: Optional.none()\n        });\n      });\n    };\n\n    var placement$2 = function (component, anchorInfo, origin) {\n      var rootPoint = getRootPoint(component, origin, anchorInfo);\n      return anchorInfo.node.filter(inBody).bind(function (target) {\n        var rect = target.dom.getBoundingClientRect();\n        var nodeBox = getBox(rect.left, rect.top, rect.width, rect.height);\n        var elem = anchorInfo.node.getOr(component.element);\n        return calcNewAnchor(nodeBox, rootPoint, anchorInfo, origin, elem);\n      });\n    };\n    var NodeAnchor = [\n      required$1('node'),\n      required$1('root'),\n      option('bubble'),\n      schema$y(),\n      defaulted('overrides', {}),\n      defaulted('showAbove', false),\n      output$1('placement', placement$2)\n    ];\n\n    var zeroWidth = '\\uFEFF';\n    var nbsp = '\\xA0';\n\n    var create$6 = function (start, soffset, finish, foffset) {\n      return {\n        start: start,\n        soffset: soffset,\n        finish: finish,\n        foffset: foffset\n      };\n    };\n    var SimRange = { create: create$6 };\n\n    var adt$6 = Adt.generate([\n      { before: ['element'] },\n      {\n        on: [\n          'element',\n          'offset'\n        ]\n      },\n      { after: ['element'] }\n    ]);\n    var cata = function (subject, onBefore, onOn, onAfter) {\n      return subject.fold(onBefore, onOn, onAfter);\n    };\n    var getStart$1 = function (situ) {\n      return situ.fold(identity$1, identity$1, identity$1);\n    };\n    var before = adt$6.before;\n    var on$1 = adt$6.on;\n    var after$1 = adt$6.after;\n    var Situ = {\n      before: before,\n      on: on$1,\n      after: after$1,\n      cata: cata,\n      getStart: getStart$1\n    };\n\n    var adt$5 = Adt.generate([\n      { domRange: ['rng'] },\n      {\n        relative: [\n          'startSitu',\n          'finishSitu'\n        ]\n      },\n      {\n        exact: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var exactFromRange = function (simRange) {\n      return adt$5.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    };\n    var getStart = function (selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return SugarElement.fromDom(rng.startContainer);\n        },\n        relative: function (startSitu, _finishSitu) {\n          return Situ.getStart(startSitu);\n        },\n        exact: function (start, _soffset, _finish, _foffset) {\n          return start;\n        }\n      });\n    };\n    var domRange = adt$5.domRange;\n    var relative = adt$5.relative;\n    var exact = adt$5.exact;\n    var getWin = function (selection) {\n      var start = getStart(selection);\n      return defaultView(start);\n    };\n    var range$1 = SimRange.create;\n    var SimSelection = {\n      domRange: domRange,\n      relative: relative,\n      exact: exact,\n      exactFromRange: exactFromRange,\n      getWin: getWin,\n      range: range$1\n    };\n\n    var setStart = function (rng, situ) {\n      situ.fold(function (e) {\n        rng.setStartBefore(e.dom);\n      }, function (e, o) {\n        rng.setStart(e.dom, o);\n      }, function (e) {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    var setFinish = function (rng, situ) {\n      situ.fold(function (e) {\n        rng.setEndBefore(e.dom);\n      }, function (e, o) {\n        rng.setEnd(e.dom, o);\n      }, function (e) {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    var relativeToNative = function (win, startSitu, finishSitu) {\n      var range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    var exactToNative = function (win, start, soffset, finish, foffset) {\n      var rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    var toRect = function (rect) {\n      return {\n        left: rect.left,\n        top: rect.top,\n        right: rect.right,\n        bottom: rect.bottom,\n        width: rect.width,\n        height: rect.height\n      };\n    };\n    var getFirstRect$1 = function (rng) {\n      var rects = rng.getClientRects();\n      var rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n    var getBounds$2 = function (rng) {\n      var rect = rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n\n    var adt$4 = Adt.generate([\n      {\n        ltr: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      },\n      {\n        rtl: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var fromRange = function (win, type, range) {\n      return type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    };\n    var getRanges = function (win, selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return {\n            ltr: constant$1(rng),\n            rtl: Optional.none\n          };\n        },\n        relative: function (startSitu, finishSitu) {\n          return {\n            ltr: cached(function () {\n              return relativeToNative(win, startSitu, finishSitu);\n            }),\n            rtl: cached(function () {\n              return Optional.some(relativeToNative(win, finishSitu, startSitu));\n            })\n          };\n        },\n        exact: function (start, soffset, finish, foffset) {\n          return {\n            ltr: cached(function () {\n              return exactToNative(win, start, soffset, finish, foffset);\n            }),\n            rtl: cached(function () {\n              return Optional.some(exactToNative(win, finish, foffset, start, soffset));\n            })\n          };\n        }\n      });\n    };\n    var doDiagnose = function (win, ranges) {\n      var rng = ranges.ltr();\n      if (rng.collapsed) {\n        var reversed = ranges.rtl().filter(function (rev) {\n          return rev.collapsed === false;\n        });\n        return reversed.map(function (rev) {\n          return adt$4.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset);\n        }).getOrThunk(function () {\n          return fromRange(win, adt$4.ltr, rng);\n        });\n      } else {\n        return fromRange(win, adt$4.ltr, rng);\n      }\n    };\n    var diagnose = function (win, selection) {\n      var ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    var asLtrRange = function (win, selection) {\n      var diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: function (start, soffset, finish, foffset) {\n          var rng = win.document.createRange();\n          rng.setStart(start.dom, soffset);\n          rng.setEnd(finish.dom, foffset);\n          return rng;\n        },\n        rtl: function (start, soffset, finish, foffset) {\n          var rng = win.document.createRange();\n          rng.setStart(finish.dom, foffset);\n          rng.setEnd(start.dom, soffset);\n          return rng;\n        }\n      });\n    };\n    adt$4.ltr;\n    adt$4.rtl;\n\n    var NodeValue = function (is, name) {\n      var get = function (element) {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      var getOption = function (element) {\n        return is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      };\n      var set = function (element, value) {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get: get,\n        getOption: getOption,\n        set: set\n      };\n    };\n\n    var api = NodeValue(isText$1, 'text');\n    var get$3 = function (element) {\n      return api.get(element);\n    };\n    var getOption = function (element) {\n      return api.getOption(element);\n    };\n\n    var getEnd = function (element) {\n      return name$2(element) === 'img' ? 1 : getOption(element).fold(function () {\n        return children(element).length;\n      }, function (v) {\n        return v.length;\n      });\n    };\n    var isTextNodeWithCursorPosition = function (el) {\n      return getOption(el).filter(function (text) {\n        return text.trim().length !== 0 || text.indexOf(nbsp) > -1;\n      }).isSome();\n    };\n    var elementsWithCursorPosition = [\n      'img',\n      'br'\n    ];\n    var isCursorPosition = function (elem) {\n      var hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name$2(elem));\n    };\n\n    var last$1 = function (element) {\n      return descendantRtl(element, isCursorPosition);\n    };\n    var descendantRtl = function (scope, predicate) {\n      var descend = function (element) {\n        var children$1 = children(element);\n        for (var i = children$1.length - 1; i >= 0; i--) {\n          var child = children$1[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          var res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    var descendants = function (scope, selector) {\n      return all$3(selector, scope);\n    };\n\n    var makeRange = function (start, soffset, finish, foffset) {\n      var doc = owner$4(start);\n      var rng = doc.dom.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    var after = function (start, soffset, finish, foffset) {\n      var r = makeRange(start, soffset, finish, foffset);\n      var same = eq(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    var getNativeSelection = function (win) {\n      return Optional.from(win.getSelection());\n    };\n    var readRange = function (selection) {\n      if (selection.rangeCount > 0) {\n        var firstRng = selection.getRangeAt(0);\n        var lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Optional.none();\n      }\n    };\n    var doGetExact = function (selection) {\n      if (selection.anchorNode === null || selection.focusNode === null) {\n        return readRange(selection);\n      } else {\n        var anchor = SugarElement.fromDom(selection.anchorNode);\n        var focus_1 = SugarElement.fromDom(selection.focusNode);\n        return after(anchor, selection.anchorOffset, focus_1, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus_1, selection.focusOffset)) : readRange(selection);\n      }\n    };\n    var getExact = function (win) {\n      return getNativeSelection(win).filter(function (sel) {\n        return sel.rangeCount > 0;\n      }).bind(doGetExact);\n    };\n    var getFirstRect = function (win, selection) {\n      var rng = asLtrRange(win, selection);\n      return getFirstRect$1(rng);\n    };\n    var getBounds$1 = function (win, selection) {\n      var rng = asLtrRange(win, selection);\n      return getBounds$2(rng);\n    };\n\n    var point$1 = function (element, offset) {\n      return {\n        element: element,\n        offset: offset\n      };\n    };\n    var descendOnce$1 = function (element, offset) {\n      var children$1 = children(element);\n      if (children$1.length === 0) {\n        return point$1(element, offset);\n      } else if (offset < children$1.length) {\n        return point$1(children$1[offset], 0);\n      } else {\n        var last = children$1[children$1.length - 1];\n        var len = isText$1(last) ? get$3(last).length : children(last).length;\n        return point$1(last, len);\n      }\n    };\n\n    var descendOnce = function (element, offset) {\n      return isText$1(element) ? point$1(element, offset) : descendOnce$1(element, offset);\n    };\n    var getAnchorSelection = function (win, anchorInfo) {\n      var getSelection = anchorInfo.getSelection.getOrThunk(function () {\n        return function () {\n          return getExact(win);\n        };\n      });\n      return getSelection().map(function (sel) {\n        var modStart = descendOnce(sel.start, sel.soffset);\n        var modFinish = descendOnce(sel.finish, sel.foffset);\n        return SimSelection.range(modStart.element, modStart.offset, modFinish.element, modFinish.offset);\n      });\n    };\n    var placement$1 = function (component, anchorInfo, origin) {\n      var win = defaultView(anchorInfo.root).dom;\n      var rootPoint = getRootPoint(component, origin, anchorInfo);\n      var selectionBox = getAnchorSelection(win, anchorInfo).bind(function (sel) {\n        var optRect = getBounds$1(win, SimSelection.exactFromRange(sel)).orThunk(function () {\n          var x = SugarElement.fromText(zeroWidth);\n          before$2(sel.start, x);\n          var rect = getFirstRect(win, SimSelection.exact(x, 0, x, 1));\n          remove$5(x);\n          return rect;\n        });\n        return optRect.bind(function (rawRect) {\n          return getBox(rawRect.left, rawRect.top, rawRect.width, rawRect.height);\n        });\n      });\n      var targetElement = getAnchorSelection(win, anchorInfo).bind(function (sel) {\n        return isElement$2(sel.start) ? Optional.some(sel.start) : parentNode(sel.start);\n      });\n      var elem = targetElement.getOr(component.element);\n      return calcNewAnchor(selectionBox, rootPoint, anchorInfo, origin, elem);\n    };\n    var SelectionAnchor = [\n      option('getSelection'),\n      required$1('root'),\n      option('bubble'),\n      schema$y(),\n      defaulted('overrides', {}),\n      defaulted('showAbove', false),\n      output$1('placement', placement$1)\n    ];\n\n    var labelPrefix$1 = 'link-layout';\n    var eastX = function (anchor) {\n      return anchor.x + anchor.width;\n    };\n    var westX = function (anchor, element) {\n      return anchor.x - element.width;\n    };\n    var northY$1 = function (anchor, element) {\n      return anchor.y - element.height + anchor.height;\n    };\n    var southY$1 = function (anchor) {\n      return anchor.y;\n    };\n    var southeast$1 = function (anchor, element, bubbles) {\n      return nu$6(eastX(anchor), southY$1(anchor), bubbles.southeast(), southeast$3(), 'southeast', boundsRestriction(anchor, {\n        left: 0,\n        top: 2\n      }), labelPrefix$1);\n    };\n    var southwest$1 = function (anchor, element, bubbles) {\n      return nu$6(westX(anchor, element), southY$1(anchor), bubbles.southwest(), southwest$3(), 'southwest', boundsRestriction(anchor, {\n        right: 1,\n        top: 2\n      }), labelPrefix$1);\n    };\n    var northeast$1 = function (anchor, element, bubbles) {\n      return nu$6(eastX(anchor), northY$1(anchor, element), bubbles.northeast(), northeast$3(), 'northeast', boundsRestriction(anchor, {\n        left: 0,\n        bottom: 3\n      }), labelPrefix$1);\n    };\n    var northwest$1 = function (anchor, element, bubbles) {\n      return nu$6(westX(anchor, element), northY$1(anchor, element), bubbles.northwest(), northwest$3(), 'northwest', boundsRestriction(anchor, {\n        right: 1,\n        bottom: 3\n      }), labelPrefix$1);\n    };\n    var all = function () {\n      return [\n        southeast$1,\n        southwest$1,\n        northeast$1,\n        northwest$1\n      ];\n    };\n    var allRtl = function () {\n      return [\n        southwest$1,\n        southeast$1,\n        northwest$1,\n        northeast$1\n      ];\n    };\n\n    var placement = function (component, submenuInfo, origin) {\n      var anchorBox = toBox(origin, submenuInfo.item.element);\n      var layouts = get$4(component.element, submenuInfo, all(), allRtl(), all(), allRtl(), Optional.none());\n      return Optional.some(nu$4({\n        anchorBox: anchorBox,\n        bubble: fallback(),\n        overrides: submenuInfo.overrides,\n        layouts: layouts,\n        placer: Optional.none()\n      }));\n    };\n    var SubmenuAnchor = [\n      required$1('item'),\n      schema$y(),\n      defaulted('overrides', {}),\n      output$1('placement', placement)\n    ];\n\n    var AnchorSchema = choose$1('type', {\n      selection: SelectionAnchor,\n      node: NodeAnchor,\n      hotspot: HotspotAnchor,\n      submenu: SubmenuAnchor,\n      makeshift: MakeshiftAnchor\n    });\n\n    var TransitionSchema = [\n      requiredArrayOf('classes', string),\n      defaultedStringEnum('mode', 'all', [\n        'all',\n        'layout',\n        'placement'\n      ])\n    ];\n    var PositionSchema = [\n      defaulted('useFixed', never),\n      option('getBounds')\n    ];\n    var PlacementSchema = [\n      requiredOf('anchor', AnchorSchema),\n      optionObjOf('transition', TransitionSchema)\n    ];\n\n    var getFixedOrigin = function () {\n      var html = document.documentElement;\n      return fixed$1(0, 0, html.clientWidth, html.clientHeight);\n    };\n    var getRelativeOrigin = function (component) {\n      var position = absolute$3(component.element);\n      var bounds = component.element.dom.getBoundingClientRect();\n      return relative$1(position.left, position.top, bounds.width, bounds.height);\n    };\n    var place = function (component, origin, anchoring, getBounds, placee, lastPlace, transition) {\n      var anchor = box(anchoring.anchorBox, origin);\n      return simple(anchor, placee.element, anchoring.bubble, anchoring.layouts, lastPlace, getBounds, anchoring.overrides, transition);\n    };\n    var position$1 = function (component, posConfig, posState, placee, placementSpec) {\n      positionWithin(component, posConfig, posState, placee, placementSpec, Optional.none());\n    };\n    var positionWithin = function (component, posConfig, posState, placee, placementSpec, boxElement) {\n      var boundsBox = boxElement.map(box$1);\n      return positionWithinBounds(component, posConfig, posState, placee, placementSpec, boundsBox);\n    };\n    var positionWithinBounds = function (component, posConfig, posState, placee, placementSpec, bounds) {\n      var placeeDetail = asRawOrDie$1('placement.info', objOf(PlacementSchema), placementSpec);\n      var anchorage = placeeDetail.anchor;\n      var element = placee.element;\n      var placeeState = posState.get(placee.uid);\n      preserve$1(function () {\n        set$7(element, 'position', 'fixed');\n        var oldVisibility = getRaw(element, 'visibility');\n        set$7(element, 'visibility', 'hidden');\n        var origin = posConfig.useFixed() ? getFixedOrigin() : getRelativeOrigin(component);\n        var placer = anchorage.placement;\n        var getBounds = bounds.map(constant$1).or(posConfig.getBounds);\n        placer(component, anchorage, origin).each(function (anchoring) {\n          var doPlace = anchoring.placer.getOr(place);\n          var newState = doPlace(component, origin, anchoring, getBounds, placee, placeeState, placeeDetail.transition);\n          posState.set(placee.uid, newState);\n        });\n        oldVisibility.fold(function () {\n          remove$6(element, 'visibility');\n        }, function (vis) {\n          set$7(element, 'visibility', vis);\n        });\n        if (getRaw(element, 'left').isNone() && getRaw(element, 'top').isNone() && getRaw(element, 'right').isNone() && getRaw(element, 'bottom').isNone() && is$1(getRaw(element, 'position'), 'fixed')) {\n          remove$6(element, 'position');\n        }\n      }, element);\n    };\n    var getMode = function (component, pConfig, _pState) {\n      return pConfig.useFixed() ? 'fixed' : 'absolute';\n    };\n    var reset$1 = function (component, pConfig, posState, placee) {\n      var element = placee.element;\n      each$1([\n        'position',\n        'left',\n        'right',\n        'top',\n        'bottom'\n      ], function (prop) {\n        return remove$6(element, prop);\n      });\n      reset$2(element);\n      posState.clear(placee.uid);\n    };\n\n    var PositionApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        position: position$1,\n        positionWithin: positionWithin,\n        positionWithinBounds: positionWithinBounds,\n        getMode: getMode,\n        reset: reset$1\n    });\n\n    var init$g = function () {\n      var state = {};\n      var set = function (id, data) {\n        state[id] = data;\n      };\n      var get = function (id) {\n        return get$e(state, id);\n      };\n      var clear = function (id) {\n        if (isNonNullable(id)) {\n          delete state[id];\n        } else {\n          state = {};\n        }\n      };\n      return nu$8({\n        readState: function () {\n          return state;\n        },\n        clear: clear,\n        set: set,\n        get: get\n      });\n    };\n\n    var PositioningState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$g\n    });\n\n    var Positioning = create$7({\n      fields: PositionSchema,\n      name: 'positioning',\n      active: ActivePosition,\n      apis: PositionApis,\n      state: PositioningState\n    });\n\n    var fireDetaching = function (component) {\n      emit(component, detachedFromDom());\n      var children = component.components();\n      each$1(children, fireDetaching);\n    };\n    var fireAttaching = function (component) {\n      var children = component.components();\n      each$1(children, fireAttaching);\n      emit(component, attachedToDom());\n    };\n    var attach$1 = function (parent, child) {\n      append$2(parent.element, child.element);\n    };\n    var detachChildren$1 = function (component) {\n      each$1(component.components(), function (childComp) {\n        return remove$5(childComp.element);\n      });\n      empty(component.element);\n      component.syncComponents();\n    };\n    var replaceChildren = function (component, newChildren) {\n      var subs = component.components();\n      detachChildren$1(component);\n      var deleted = difference(subs, newChildren);\n      each$1(deleted, function (comp) {\n        fireDetaching(comp);\n        component.getSystem().removeFromWorld(comp);\n      });\n      each$1(newChildren, function (childComp) {\n        if (!childComp.getSystem().isConnected()) {\n          component.getSystem().addToWorld(childComp);\n          attach$1(component, childComp);\n          if (inBody(component.element)) {\n            fireAttaching(childComp);\n          }\n        } else {\n          attach$1(component, childComp);\n        }\n        component.syncComponents();\n      });\n    };\n\n    var attach = function (parent, child) {\n      attachWith(parent, child, append$2);\n    };\n    var attachWith = function (parent, child, insertion) {\n      parent.getSystem().addToWorld(child);\n      insertion(parent.element, child.element);\n      if (inBody(parent.element)) {\n        fireAttaching(child);\n      }\n      parent.syncComponents();\n    };\n    var doDetach = function (component) {\n      fireDetaching(component);\n      remove$5(component.element);\n      component.getSystem().removeFromWorld(component);\n    };\n    var detach = function (component) {\n      var parent$1 = parent(component.element).bind(function (p) {\n        return component.getSystem().getByDom(p).toOptional();\n      });\n      doDetach(component);\n      parent$1.each(function (p) {\n        p.syncComponents();\n      });\n    };\n    var detachChildren = function (component) {\n      var subs = component.components();\n      each$1(subs, doDetach);\n      empty(component.element);\n      component.syncComponents();\n    };\n    var attachSystem = function (element, guiSystem) {\n      attachSystemWith(element, guiSystem, append$2);\n    };\n    var attachSystemAfter = function (element, guiSystem) {\n      attachSystemWith(element, guiSystem, after$2);\n    };\n    var attachSystemWith = function (element, guiSystem, inserter) {\n      inserter(element, guiSystem.element);\n      var children$1 = children(guiSystem.element);\n      each$1(children$1, function (child) {\n        guiSystem.getByDom(child).each(fireAttaching);\n      });\n    };\n    var detachSystem = function (guiSystem) {\n      var children$1 = children(guiSystem.element);\n      each$1(children$1, function (child) {\n        guiSystem.getByDom(child).each(fireDetaching);\n      });\n      remove$5(guiSystem.element);\n    };\n\n    var rebuild = function (sandbox, sConfig, sState, data) {\n      sState.get().each(function (_data) {\n        detachChildren(sandbox);\n      });\n      var point = sConfig.getAttachPoint(sandbox);\n      attach(point, sandbox);\n      var built = sandbox.getSystem().build(data);\n      attach(sandbox, built);\n      sState.set(built);\n      return built;\n    };\n    var open$1 = function (sandbox, sConfig, sState, data) {\n      var newState = rebuild(sandbox, sConfig, sState, data);\n      sConfig.onOpen(sandbox, newState);\n      return newState;\n    };\n    var setContent = function (sandbox, sConfig, sState, data) {\n      return sState.get().map(function () {\n        return rebuild(sandbox, sConfig, sState, data);\n      });\n    };\n    var openWhileCloaked = function (sandbox, sConfig, sState, data, transaction) {\n      cloak(sandbox, sConfig);\n      open$1(sandbox, sConfig, sState, data);\n      transaction();\n      decloak(sandbox, sConfig);\n    };\n    var close$1 = function (sandbox, sConfig, sState) {\n      sState.get().each(function (data) {\n        detachChildren(sandbox);\n        detach(sandbox);\n        sConfig.onClose(sandbox, data);\n        sState.clear();\n      });\n    };\n    var isOpen$1 = function (_sandbox, _sConfig, sState) {\n      return sState.isOpen();\n    };\n    var isPartOf = function (sandbox, sConfig, sState, queryElem) {\n      return isOpen$1(sandbox, sConfig, sState) && sState.get().exists(function (data) {\n        return sConfig.isPartOf(sandbox, data, queryElem);\n      });\n    };\n    var getState$2 = function (_sandbox, _sConfig, sState) {\n      return sState.get();\n    };\n    var store = function (sandbox, cssKey, attr, newValue) {\n      getRaw(sandbox.element, cssKey).fold(function () {\n        remove$7(sandbox.element, attr);\n      }, function (v) {\n        set$8(sandbox.element, attr, v);\n      });\n      set$7(sandbox.element, cssKey, newValue);\n    };\n    var restore = function (sandbox, cssKey, attr) {\n      getOpt(sandbox.element, attr).fold(function () {\n        return remove$6(sandbox.element, cssKey);\n      }, function (oldValue) {\n        return set$7(sandbox.element, cssKey, oldValue);\n      });\n    };\n    var cloak = function (sandbox, sConfig, _sState) {\n      var sink = sConfig.getAttachPoint(sandbox);\n      set$7(sandbox.element, 'position', Positioning.getMode(sink));\n      store(sandbox, 'visibility', sConfig.cloakVisibilityAttr, 'hidden');\n    };\n    var hasPosition = function (element) {\n      return exists([\n        'top',\n        'left',\n        'right',\n        'bottom'\n      ], function (pos) {\n        return getRaw(element, pos).isSome();\n      });\n    };\n    var decloak = function (sandbox, sConfig, _sState) {\n      if (!hasPosition(sandbox.element)) {\n        remove$6(sandbox.element, 'position');\n      }\n      restore(sandbox, 'visibility', sConfig.cloakVisibilityAttr);\n    };\n\n    var SandboxApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        cloak: cloak,\n        decloak: decloak,\n        open: open$1,\n        openWhileCloaked: openWhileCloaked,\n        close: close$1,\n        isOpen: isOpen$1,\n        isPartOf: isPartOf,\n        getState: getState$2,\n        setContent: setContent\n    });\n\n    var events$g = function (sandboxConfig, sandboxState) {\n      return derive$2([run$1(sandboxClose(), function (sandbox, _simulatedEvent) {\n          close$1(sandbox, sandboxConfig, sandboxState);\n        })]);\n    };\n\n    var ActiveSandbox = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$g\n    });\n\n    var SandboxSchema = [\n      onHandler('onOpen'),\n      onHandler('onClose'),\n      required$1('isPartOf'),\n      required$1('getAttachPoint'),\n      defaulted('cloakVisibilityAttr', 'data-precloak-visibility')\n    ];\n\n    var init$f = function () {\n      var contents = value$1();\n      var readState = constant$1('not-implemented');\n      return nu$8({\n        readState: readState,\n        isOpen: contents.isSet,\n        clear: contents.clear,\n        set: contents.set,\n        get: contents.get\n      });\n    };\n\n    var SandboxState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$f\n    });\n\n    var Sandboxing = create$7({\n      fields: SandboxSchema,\n      name: 'sandboxing',\n      active: ActiveSandbox,\n      apis: SandboxApis,\n      state: SandboxState\n    });\n\n    var dismissPopups = constant$1('dismiss.popups');\n    var repositionPopups = constant$1('reposition.popups');\n    var mouseReleased = constant$1('mouse.released');\n\n    var schema$x = objOfOnly([\n      defaulted('isExtraPart', never),\n      optionObjOf('fireEventInstead', [defaulted('event', dismissRequested())])\n    ]);\n    var receivingChannel$1 = function (rawSpec) {\n      var _a;\n      var detail = asRawOrDie$1('Dismissal', schema$x, rawSpec);\n      return _a = {}, _a[dismissPopups()] = {\n        schema: objOfOnly([required$1('target')]),\n        onReceive: function (sandbox, data) {\n          if (Sandboxing.isOpen(sandbox)) {\n            var isPart = Sandboxing.isPartOf(sandbox, data.target) || detail.isExtraPart(sandbox, data.target);\n            if (!isPart) {\n              detail.fireEventInstead.fold(function () {\n                return Sandboxing.close(sandbox);\n              }, function (fe) {\n                return emit(sandbox, fe.event);\n              });\n            }\n          }\n        }\n      }, _a;\n    };\n\n    var schema$w = objOfOnly([\n      optionObjOf('fireEventInstead', [defaulted('event', repositionRequested())]),\n      requiredFunction('doReposition')\n    ]);\n    var receivingChannel = function (rawSpec) {\n      var _a;\n      var detail = asRawOrDie$1('Reposition', schema$w, rawSpec);\n      return _a = {}, _a[repositionPopups()] = {\n        onReceive: function (sandbox) {\n          if (Sandboxing.isOpen(sandbox)) {\n            detail.fireEventInstead.fold(function () {\n              return detail.doReposition(sandbox);\n            }, function (fe) {\n              return emit(sandbox, fe.event);\n            });\n          }\n        }\n      }, _a;\n    };\n\n    var onLoad$5 = function (component, repConfig, repState) {\n      repConfig.store.manager.onLoad(component, repConfig, repState);\n    };\n    var onUnload$2 = function (component, repConfig, repState) {\n      repConfig.store.manager.onUnload(component, repConfig, repState);\n    };\n    var setValue$3 = function (component, repConfig, repState, data) {\n      repConfig.store.manager.setValue(component, repConfig, repState, data);\n    };\n    var getValue$3 = function (component, repConfig, repState) {\n      return repConfig.store.manager.getValue(component, repConfig, repState);\n    };\n    var getState$1 = function (component, repConfig, repState) {\n      return repState;\n    };\n\n    var RepresentApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        onLoad: onLoad$5,\n        onUnload: onUnload$2,\n        setValue: setValue$3,\n        getValue: getValue$3,\n        getState: getState$1\n    });\n\n    var events$f = function (repConfig, repState) {\n      var es = repConfig.resetOnDom ? [\n        runOnAttached(function (comp, _se) {\n          onLoad$5(comp, repConfig, repState);\n        }),\n        runOnDetached(function (comp, _se) {\n          onUnload$2(comp, repConfig, repState);\n        })\n      ] : [loadEvent(repConfig, repState, onLoad$5)];\n      return derive$2(es);\n    };\n\n    var ActiveRepresenting = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$f\n    });\n\n    var memory$1 = function () {\n      var data = Cell(null);\n      var readState = function () {\n        return {\n          mode: 'memory',\n          value: data.get()\n        };\n      };\n      var isNotSet = function () {\n        return data.get() === null;\n      };\n      var clear = function () {\n        data.set(null);\n      };\n      return nu$8({\n        set: data.set,\n        get: data.get,\n        isNotSet: isNotSet,\n        clear: clear,\n        readState: readState\n      });\n    };\n    var manual = function () {\n      var readState = noop;\n      return nu$8({ readState: readState });\n    };\n    var dataset = function () {\n      var dataByValue = Cell({});\n      var dataByText = Cell({});\n      var readState = function () {\n        return {\n          mode: 'dataset',\n          dataByValue: dataByValue.get(),\n          dataByText: dataByText.get()\n        };\n      };\n      var clear = function () {\n        dataByValue.set({});\n        dataByText.set({});\n      };\n      var lookup = function (itemString) {\n        return get$e(dataByValue.get(), itemString).orThunk(function () {\n          return get$e(dataByText.get(), itemString);\n        });\n      };\n      var update = function (items) {\n        var currentDataByValue = dataByValue.get();\n        var currentDataByText = dataByText.get();\n        var newDataByValue = {};\n        var newDataByText = {};\n        each$1(items, function (item) {\n          newDataByValue[item.value] = item;\n          get$e(item, 'meta').each(function (meta) {\n            get$e(meta, 'text').each(function (text) {\n              newDataByText[text] = item;\n            });\n          });\n        });\n        dataByValue.set(__assign(__assign({}, currentDataByValue), newDataByValue));\n        dataByText.set(__assign(__assign({}, currentDataByText), newDataByText));\n      };\n      return nu$8({\n        readState: readState,\n        lookup: lookup,\n        update: update,\n        clear: clear\n      });\n    };\n    var init$e = function (spec) {\n      return spec.store.manager.state(spec);\n    };\n\n    var RepresentState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        memory: memory$1,\n        dataset: dataset,\n        manual: manual,\n        init: init$e\n    });\n\n    var setValue$2 = function (component, repConfig, repState, data) {\n      var store = repConfig.store;\n      repState.update([data]);\n      store.setValue(component, data);\n      repConfig.onSetValue(component, data);\n    };\n    var getValue$2 = function (component, repConfig, repState) {\n      var store = repConfig.store;\n      var key = store.getDataKey(component);\n      return repState.lookup(key).getOrThunk(function () {\n        return store.getFallbackEntry(key);\n      });\n    };\n    var onLoad$4 = function (component, repConfig, repState) {\n      var store = repConfig.store;\n      store.initialValue.each(function (data) {\n        setValue$2(component, repConfig, repState, data);\n      });\n    };\n    var onUnload$1 = function (component, repConfig, repState) {\n      repState.clear();\n    };\n    var DatasetStore = [\n      option('initialValue'),\n      required$1('getFallbackEntry'),\n      required$1('getDataKey'),\n      required$1('setValue'),\n      output$1('manager', {\n        setValue: setValue$2,\n        getValue: getValue$2,\n        onLoad: onLoad$4,\n        onUnload: onUnload$1,\n        state: dataset\n      })\n    ];\n\n    var getValue$1 = function (component, repConfig, _repState) {\n      return repConfig.store.getValue(component);\n    };\n    var setValue$1 = function (component, repConfig, _repState, data) {\n      repConfig.store.setValue(component, data);\n      repConfig.onSetValue(component, data);\n    };\n    var onLoad$3 = function (component, repConfig, _repState) {\n      repConfig.store.initialValue.each(function (data) {\n        repConfig.store.setValue(component, data);\n      });\n    };\n    var ManualStore = [\n      required$1('getValue'),\n      defaulted('setValue', noop),\n      option('initialValue'),\n      output$1('manager', {\n        setValue: setValue$1,\n        getValue: getValue$1,\n        onLoad: onLoad$3,\n        onUnload: noop,\n        state: NoState.init\n      })\n    ];\n\n    var setValue = function (component, repConfig, repState, data) {\n      repState.set(data);\n      repConfig.onSetValue(component, data);\n    };\n    var getValue = function (component, repConfig, repState) {\n      return repState.get();\n    };\n    var onLoad$2 = function (component, repConfig, repState) {\n      repConfig.store.initialValue.each(function (initVal) {\n        if (repState.isNotSet()) {\n          repState.set(initVal);\n        }\n      });\n    };\n    var onUnload = function (component, repConfig, repState) {\n      repState.clear();\n    };\n    var MemoryStore = [\n      option('initialValue'),\n      output$1('manager', {\n        setValue: setValue,\n        getValue: getValue,\n        onLoad: onLoad$2,\n        onUnload: onUnload,\n        state: memory$1\n      })\n    ];\n\n    var RepresentSchema = [\n      defaultedOf('store', { mode: 'memory' }, choose$1('mode', {\n        memory: MemoryStore,\n        manual: ManualStore,\n        dataset: DatasetStore\n      })),\n      onHandler('onSetValue'),\n      defaulted('resetOnDom', false)\n    ];\n\n    var Representing = create$7({\n      fields: RepresentSchema,\n      name: 'representing',\n      active: ActiveRepresenting,\n      apis: RepresentApis,\n      extra: {\n        setValueFrom: function (component, source) {\n          var value = Representing.getValue(source);\n          Representing.setValue(component, value);\n        }\n      },\n      state: RepresentState\n    });\n\n    var field = function (name, forbidden) {\n      return defaultedObjOf(name, {}, map$2(forbidden, function (f) {\n        return forbid(f.name(), 'Cannot configure ' + f.name() + ' for ' + name);\n      }).concat([customField('dump', identity$1)]));\n    };\n    var get$2 = function (data) {\n      return data.dump;\n    };\n    var augment = function (data, original) {\n      return __assign(__assign({}, derive$1(original)), data.dump);\n    };\n    var SketchBehaviours = {\n      field: field,\n      augment: augment,\n      get: get$2\n    };\n\n    var _placeholder = 'placeholder';\n    var adt$3 = Adt.generate([\n      {\n        single: [\n          'required',\n          'valueThunk'\n        ]\n      },\n      {\n        multiple: [\n          'required',\n          'valueThunks'\n        ]\n      }\n    ]);\n    var isSubstituted = function (spec) {\n      return has$2(spec, 'uiType');\n    };\n    var subPlaceholder = function (owner, detail, compSpec, placeholders) {\n      if (owner.exists(function (o) {\n          return o !== compSpec.owner;\n        })) {\n        return adt$3.single(true, constant$1(compSpec));\n      }\n      return get$e(placeholders, compSpec.name).fold(function () {\n        throw new Error('Unknown placeholder component: ' + compSpec.name + '\\nKnown: [' + keys(placeholders) + ']\\nNamespace: ' + owner.getOr('none') + '\\nSpec: ' + JSON.stringify(compSpec, null, 2));\n      }, function (newSpec) {\n        return newSpec.replace();\n      });\n    };\n    var scan = function (owner, detail, compSpec, placeholders) {\n      if (isSubstituted(compSpec) && compSpec.uiType === _placeholder) {\n        return subPlaceholder(owner, detail, compSpec, placeholders);\n      } else {\n        return adt$3.single(false, constant$1(compSpec));\n      }\n    };\n    var substitute = function (owner, detail, compSpec, placeholders) {\n      var base = scan(owner, detail, compSpec, placeholders);\n      return base.fold(function (req, valueThunk) {\n        var value = isSubstituted(compSpec) ? valueThunk(detail, compSpec.config, compSpec.validated) : valueThunk(detail);\n        var childSpecs = get$e(value, 'components').getOr([]);\n        var substituted = bind$3(childSpecs, function (c) {\n          return substitute(owner, detail, c, placeholders);\n        });\n        return [__assign(__assign({}, value), { components: substituted })];\n      }, function (req, valuesThunk) {\n        if (isSubstituted(compSpec)) {\n          var values = valuesThunk(detail, compSpec.config, compSpec.validated);\n          var preprocessor = compSpec.validated.preprocess.getOr(identity$1);\n          return preprocessor(values);\n        } else {\n          return valuesThunk(detail);\n        }\n      });\n    };\n    var substituteAll = function (owner, detail, components, placeholders) {\n      return bind$3(components, function (c) {\n        return substitute(owner, detail, c, placeholders);\n      });\n    };\n    var oneReplace = function (label, replacements) {\n      var called = false;\n      var used = function () {\n        return called;\n      };\n      var replace = function () {\n        if (called) {\n          throw new Error('Trying to use the same placeholder more than once: ' + label);\n        }\n        called = true;\n        return replacements;\n      };\n      var required = function () {\n        return replacements.fold(function (req, _) {\n          return req;\n        }, function (req, _) {\n          return req;\n        });\n      };\n      return {\n        name: constant$1(label),\n        required: required,\n        used: used,\n        replace: replace\n      };\n    };\n    var substitutePlaces = function (owner, detail, components, placeholders) {\n      var ps = map$1(placeholders, function (ph, name) {\n        return oneReplace(name, ph);\n      });\n      var outcome = substituteAll(owner, detail, components, ps);\n      each(ps, function (p) {\n        if (p.used() === false && p.required()) {\n          throw new Error('Placeholder: ' + p.name() + ' was not found in components list\\nNamespace: ' + owner.getOr('none') + '\\nComponents: ' + JSON.stringify(detail.components, null, 2));\n        }\n      });\n      return outcome;\n    };\n    var single$2 = adt$3.single;\n    var multiple = adt$3.multiple;\n    var placeholder = constant$1(_placeholder);\n\n    var adt$2 = Adt.generate([\n      { required: ['data'] },\n      { external: ['data'] },\n      { optional: ['data'] },\n      { group: ['data'] }\n    ]);\n    var fFactory = defaulted('factory', { sketch: identity$1 });\n    var fSchema = defaulted('schema', []);\n    var fName = required$1('name');\n    var fPname = field$1('pname', 'pname', defaultedThunk(function (typeSpec) {\n      return '<alloy.' + generate$6(typeSpec.name) + '>';\n    }), anyValue());\n    var fGroupSchema = customField('schema', function () {\n      return [option('preprocess')];\n    });\n    var fDefaults = defaulted('defaults', constant$1({}));\n    var fOverrides = defaulted('overrides', constant$1({}));\n    var requiredSpec = objOf([\n      fFactory,\n      fSchema,\n      fName,\n      fPname,\n      fDefaults,\n      fOverrides\n    ]);\n    var externalSpec = objOf([\n      fFactory,\n      fSchema,\n      fName,\n      fDefaults,\n      fOverrides\n    ]);\n    var optionalSpec = objOf([\n      fFactory,\n      fSchema,\n      fName,\n      fPname,\n      fDefaults,\n      fOverrides\n    ]);\n    var groupSpec = objOf([\n      fFactory,\n      fGroupSchema,\n      fName,\n      required$1('unit'),\n      fPname,\n      fDefaults,\n      fOverrides\n    ]);\n    var asNamedPart = function (part) {\n      return part.fold(Optional.some, Optional.none, Optional.some, Optional.some);\n    };\n    var name$1 = function (part) {\n      var get = function (data) {\n        return data.name;\n      };\n      return part.fold(get, get, get, get);\n    };\n    var asCommon = function (part) {\n      return part.fold(identity$1, identity$1, identity$1, identity$1);\n    };\n    var convert = function (adtConstructor, partSchema) {\n      return function (spec) {\n        var data = asRawOrDie$1('Converting part type', partSchema, spec);\n        return adtConstructor(data);\n      };\n    };\n    var required = convert(adt$2.required, requiredSpec);\n    var external$1 = convert(adt$2.external, externalSpec);\n    var optional = convert(adt$2.optional, optionalSpec);\n    var group = convert(adt$2.group, groupSpec);\n    var original = constant$1('entirety');\n\n    var PartType = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        required: required,\n        external: external$1,\n        optional: optional,\n        group: group,\n        asNamedPart: asNamedPart,\n        name: name$1,\n        asCommon: asCommon,\n        original: original\n    });\n\n    var combine = function (detail, data, partSpec, partValidated) {\n      return deepMerge(data.defaults(detail, partSpec, partValidated), partSpec, { uid: detail.partUids[data.name] }, data.overrides(detail, partSpec, partValidated));\n    };\n    var subs = function (owner, detail, parts) {\n      var internals = {};\n      var externals = {};\n      each$1(parts, function (part) {\n        part.fold(function (data) {\n          internals[data.pname] = single$2(true, function (detail, partSpec, partValidated) {\n            return data.factory.sketch(combine(detail, data, partSpec, partValidated));\n          });\n        }, function (data) {\n          var partSpec = detail.parts[data.name];\n          externals[data.name] = constant$1(data.factory.sketch(combine(detail, data, partSpec[original()]), partSpec));\n        }, function (data) {\n          internals[data.pname] = single$2(false, function (detail, partSpec, partValidated) {\n            return data.factory.sketch(combine(detail, data, partSpec, partValidated));\n          });\n        }, function (data) {\n          internals[data.pname] = multiple(true, function (detail, _partSpec, _partValidated) {\n            var units = detail[data.name];\n            return map$2(units, function (u) {\n              return data.factory.sketch(deepMerge(data.defaults(detail, u, _partValidated), u, data.overrides(detail, u)));\n            });\n          });\n        });\n      });\n      return {\n        internals: constant$1(internals),\n        externals: constant$1(externals)\n      };\n    };\n\n    var generate$3 = function (owner, parts) {\n      var r = {};\n      each$1(parts, function (part) {\n        asNamedPart(part).each(function (np) {\n          var g = doGenerateOne(owner, np.pname);\n          r[np.name] = function (config) {\n            var validated = asRawOrDie$1('Part: ' + np.name + ' in ' + owner, objOf(np.schema), config);\n            return __assign(__assign({}, g), {\n              config: config,\n              validated: validated\n            });\n          };\n        });\n      });\n      return r;\n    };\n    var doGenerateOne = function (owner, pname) {\n      return {\n        uiType: placeholder(),\n        owner: owner,\n        name: pname\n      };\n    };\n    var generateOne$1 = function (owner, pname, config) {\n      return {\n        uiType: placeholder(),\n        owner: owner,\n        name: pname,\n        config: config,\n        validated: {}\n      };\n    };\n    var schemas = function (parts) {\n      return bind$3(parts, function (part) {\n        return part.fold(Optional.none, Optional.some, Optional.none, Optional.none).map(function (data) {\n          return requiredObjOf(data.name, data.schema.concat([snapshot(original())]));\n        }).toArray();\n      });\n    };\n    var names = function (parts) {\n      return map$2(parts, name$1);\n    };\n    var substitutes = function (owner, detail, parts) {\n      return subs(owner, detail, parts);\n    };\n    var components$1 = function (owner, detail, internals) {\n      return substitutePlaces(Optional.some(owner), detail, detail.components, internals);\n    };\n    var getPart = function (component, detail, partKey) {\n      var uid = detail.partUids[partKey];\n      return component.getSystem().getByUid(uid).toOptional();\n    };\n    var getPartOrDie = function (component, detail, partKey) {\n      return getPart(component, detail, partKey).getOrDie('Could not find part: ' + partKey);\n    };\n    var getParts = function (component, detail, partKeys) {\n      var r = {};\n      var uids = detail.partUids;\n      var system = component.getSystem();\n      each$1(partKeys, function (pk) {\n        r[pk] = constant$1(system.getByUid(uids[pk]));\n      });\n      return r;\n    };\n    var getAllParts = function (component, detail) {\n      var system = component.getSystem();\n      return map$1(detail.partUids, function (pUid, _k) {\n        return constant$1(system.getByUid(pUid));\n      });\n    };\n    var getAllPartNames = function (detail) {\n      return keys(detail.partUids);\n    };\n    var getPartsOrDie = function (component, detail, partKeys) {\n      var r = {};\n      var uids = detail.partUids;\n      var system = component.getSystem();\n      each$1(partKeys, function (pk) {\n        r[pk] = constant$1(system.getByUid(uids[pk]).getOrDie());\n      });\n      return r;\n    };\n    var defaultUids = function (baseUid, partTypes) {\n      var partNames = names(partTypes);\n      return wrapAll(map$2(partNames, function (pn) {\n        return {\n          key: pn,\n          value: baseUid + '-' + pn\n        };\n      }));\n    };\n    var defaultUidsSchema = function (partTypes) {\n      return field$1('partUids', 'partUids', mergeWithThunk(function (spec) {\n        return defaultUids(spec.uid, partTypes);\n      }), anyValue());\n    };\n\n    var AlloyParts = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        generate: generate$3,\n        generateOne: generateOne$1,\n        schemas: schemas,\n        names: names,\n        substitutes: substitutes,\n        components: components$1,\n        defaultUids: defaultUids,\n        defaultUidsSchema: defaultUidsSchema,\n        getAllParts: getAllParts,\n        getAllPartNames: getAllPartNames,\n        getPart: getPart,\n        getPartOrDie: getPartOrDie,\n        getParts: getParts,\n        getPartsOrDie: getPartsOrDie\n    });\n\n    var base = function (partSchemas, partUidsSchemas) {\n      var ps = partSchemas.length > 0 ? [requiredObjOf('parts', partSchemas)] : [];\n      return ps.concat([\n        required$1('uid'),\n        defaulted('dom', {}),\n        defaulted('components', []),\n        snapshot('originalSpec'),\n        defaulted('debug.sketcher', {})\n      ]).concat(partUidsSchemas);\n    };\n    var asRawOrDie = function (label, schema, spec, partSchemas, partUidsSchemas) {\n      var baseS = base(partSchemas, partUidsSchemas);\n      return asRawOrDie$1(label + ' [SpecSchema]', objOfOnly(baseS.concat(schema)), spec);\n    };\n\n    var single$1 = function (owner, schema, factory, spec) {\n      var specWithUid = supplyUid(spec);\n      var detail = asRawOrDie(owner, schema, specWithUid, [], []);\n      return factory(detail, specWithUid);\n    };\n    var composite$1 = function (owner, schema, partTypes, factory, spec) {\n      var specWithUid = supplyUid(spec);\n      var partSchemas = schemas(partTypes);\n      var partUidsSchema = defaultUidsSchema(partTypes);\n      var detail = asRawOrDie(owner, schema, specWithUid, partSchemas, [partUidsSchema]);\n      var subs = substitutes(owner, detail, partTypes);\n      var components = components$1(owner, detail, subs.internals());\n      return factory(detail, components, specWithUid, subs.externals());\n    };\n    var hasUid = function (spec) {\n      return has$2(spec, 'uid');\n    };\n    var supplyUid = function (spec) {\n      return hasUid(spec) ? spec : __assign(__assign({}, spec), { uid: generate$5('uid') });\n    };\n\n    var isSketchSpec = function (spec) {\n      return spec.uid !== undefined;\n    };\n    var singleSchema = objOfOnly([\n      required$1('name'),\n      required$1('factory'),\n      required$1('configFields'),\n      defaulted('apis', {}),\n      defaulted('extraApis', {})\n    ]);\n    var compositeSchema = objOfOnly([\n      required$1('name'),\n      required$1('factory'),\n      required$1('configFields'),\n      required$1('partFields'),\n      defaulted('apis', {}),\n      defaulted('extraApis', {})\n    ]);\n    var single = function (rawConfig) {\n      var config = asRawOrDie$1('Sketcher for ' + rawConfig.name, singleSchema, rawConfig);\n      var sketch = function (spec) {\n        return single$1(config.name, config.configFields, config.factory, spec);\n      };\n      var apis = map$1(config.apis, makeApi);\n      var extraApis = map$1(config.extraApis, function (f, k) {\n        return markAsExtraApi(f, k);\n      });\n      return __assign(__assign({\n        name: config.name,\n        configFields: config.configFields,\n        sketch: sketch\n      }, apis), extraApis);\n    };\n    var composite = function (rawConfig) {\n      var config = asRawOrDie$1('Sketcher for ' + rawConfig.name, compositeSchema, rawConfig);\n      var sketch = function (spec) {\n        return composite$1(config.name, config.configFields, config.partFields, config.factory, spec);\n      };\n      var parts = generate$3(config.name, config.partFields);\n      var apis = map$1(config.apis, makeApi);\n      var extraApis = map$1(config.extraApis, function (f, k) {\n        return markAsExtraApi(f, k);\n      });\n      return __assign(__assign({\n        name: config.name,\n        partFields: config.partFields,\n        configFields: config.configFields,\n        sketch: sketch,\n        parts: parts\n      }, apis), extraApis);\n    };\n\n    var inside = function (target) {\n      return name$2(target) === 'input' && get$d(target, 'type') !== 'radio' || name$2(target) === 'textarea';\n    };\n\n    var getCurrent = function (component, composeConfig, _composeState) {\n      return composeConfig.find(component);\n    };\n\n    var ComposeApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getCurrent: getCurrent\n    });\n\n    var ComposeSchema = [required$1('find')];\n\n    var Composing = create$7({\n      fields: ComposeSchema,\n      name: 'composing',\n      apis: ComposeApis\n    });\n\n    var nativeDisabled = [\n      'input',\n      'button',\n      'textarea',\n      'select'\n    ];\n    var onLoad$1 = function (component, disableConfig, disableState) {\n      var f = disableConfig.disabled() ? disable$1 : enable$1;\n      f(component, disableConfig);\n    };\n    var hasNative = function (component, config) {\n      return config.useNative === true && contains$2(nativeDisabled, name$2(component.element));\n    };\n    var nativeIsDisabled = function (component) {\n      return has$1(component.element, 'disabled');\n    };\n    var nativeDisable = function (component) {\n      set$8(component.element, 'disabled', 'disabled');\n    };\n    var nativeEnable = function (component) {\n      remove$7(component.element, 'disabled');\n    };\n    var ariaIsDisabled = function (component) {\n      return get$d(component.element, 'aria-disabled') === 'true';\n    };\n    var ariaDisable = function (component) {\n      set$8(component.element, 'aria-disabled', 'true');\n    };\n    var ariaEnable = function (component) {\n      set$8(component.element, 'aria-disabled', 'false');\n    };\n    var disable$1 = function (component, disableConfig, _disableState) {\n      disableConfig.disableClass.each(function (disableClass) {\n        add$2(component.element, disableClass);\n      });\n      var f = hasNative(component, disableConfig) ? nativeDisable : ariaDisable;\n      f(component);\n      disableConfig.onDisabled(component);\n    };\n    var enable$1 = function (component, disableConfig, _disableState) {\n      disableConfig.disableClass.each(function (disableClass) {\n        remove$2(component.element, disableClass);\n      });\n      var f = hasNative(component, disableConfig) ? nativeEnable : ariaEnable;\n      f(component);\n      disableConfig.onEnabled(component);\n    };\n    var isDisabled = function (component, disableConfig) {\n      return hasNative(component, disableConfig) ? nativeIsDisabled(component) : ariaIsDisabled(component);\n    };\n    var set$3 = function (component, disableConfig, disableState, disabled) {\n      var f = disabled ? disable$1 : enable$1;\n      f(component, disableConfig);\n    };\n\n    var DisableApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        enable: enable$1,\n        disable: disable$1,\n        isDisabled: isDisabled,\n        onLoad: onLoad$1,\n        set: set$3\n    });\n\n    var exhibit$5 = function (base, disableConfig) {\n      return nu$7({ classes: disableConfig.disabled() ? disableConfig.disableClass.toArray() : [] });\n    };\n    var events$e = function (disableConfig, disableState) {\n      return derive$2([\n        abort(execute$5(), function (component, _simulatedEvent) {\n          return isDisabled(component, disableConfig);\n        }),\n        loadEvent(disableConfig, disableState, onLoad$1)\n      ]);\n    };\n\n    var ActiveDisable = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$5,\n        events: events$e\n    });\n\n    var DisableSchema = [\n      defaultedFunction('disabled', never),\n      defaulted('useNative', true),\n      option('disableClass'),\n      onHandler('onDisabled'),\n      onHandler('onEnabled')\n    ];\n\n    var Disabling = create$7({\n      fields: DisableSchema,\n      name: 'disabling',\n      active: ActiveDisable,\n      apis: DisableApis\n    });\n\n    var dehighlightAllExcept = function (component, hConfig, hState, skip) {\n      var highlighted = descendants(component.element, '.' + hConfig.highlightClass);\n      each$1(highlighted, function (h) {\n        if (!exists(skip, function (skipComp) {\n            return skipComp.element === h;\n          })) {\n          remove$2(h, hConfig.highlightClass);\n          component.getSystem().getByDom(h).each(function (target) {\n            hConfig.onDehighlight(component, target);\n            emit(target, dehighlight$1());\n          });\n        }\n      });\n    };\n    var dehighlightAll = function (component, hConfig, hState) {\n      return dehighlightAllExcept(component, hConfig, hState, []);\n    };\n    var dehighlight = function (component, hConfig, hState, target) {\n      if (isHighlighted(component, hConfig, hState, target)) {\n        remove$2(target.element, hConfig.highlightClass);\n        hConfig.onDehighlight(component, target);\n        emit(target, dehighlight$1());\n      }\n    };\n    var highlight = function (component, hConfig, hState, target) {\n      dehighlightAllExcept(component, hConfig, hState, [target]);\n      if (!isHighlighted(component, hConfig, hState, target)) {\n        add$2(target.element, hConfig.highlightClass);\n        hConfig.onHighlight(component, target);\n        emit(target, highlight$1());\n      }\n    };\n    var highlightFirst = function (component, hConfig, hState) {\n      getFirst(component, hConfig).each(function (firstComp) {\n        highlight(component, hConfig, hState, firstComp);\n      });\n    };\n    var highlightLast = function (component, hConfig, hState) {\n      getLast(component, hConfig).each(function (lastComp) {\n        highlight(component, hConfig, hState, lastComp);\n      });\n    };\n    var highlightAt = function (component, hConfig, hState, index) {\n      getByIndex(component, hConfig, hState, index).fold(function (err) {\n        throw err;\n      }, function (firstComp) {\n        highlight(component, hConfig, hState, firstComp);\n      });\n    };\n    var highlightBy = function (component, hConfig, hState, predicate) {\n      var candidates = getCandidates(component, hConfig);\n      var targetComp = find$5(candidates, predicate);\n      targetComp.each(function (c) {\n        highlight(component, hConfig, hState, c);\n      });\n    };\n    var isHighlighted = function (component, hConfig, hState, queryTarget) {\n      return has(queryTarget.element, hConfig.highlightClass);\n    };\n    var getHighlighted = function (component, hConfig, _hState) {\n      return descendant(component.element, '.' + hConfig.highlightClass).bind(function (e) {\n        return component.getSystem().getByDom(e).toOptional();\n      });\n    };\n    var getByIndex = function (component, hConfig, hState, index) {\n      var items = descendants(component.element, '.' + hConfig.itemClass);\n      return Optional.from(items[index]).fold(function () {\n        return Result.error(new Error('No element found with index ' + index));\n      }, component.getSystem().getByDom);\n    };\n    var getFirst = function (component, hConfig, _hState) {\n      return descendant(component.element, '.' + hConfig.itemClass).bind(function (e) {\n        return component.getSystem().getByDom(e).toOptional();\n      });\n    };\n    var getLast = function (component, hConfig, _hState) {\n      var items = descendants(component.element, '.' + hConfig.itemClass);\n      var last = items.length > 0 ? Optional.some(items[items.length - 1]) : Optional.none();\n      return last.bind(function (c) {\n        return component.getSystem().getByDom(c).toOptional();\n      });\n    };\n    var getDelta$2 = function (component, hConfig, hState, delta) {\n      var items = descendants(component.element, '.' + hConfig.itemClass);\n      var current = findIndex$1(items, function (item) {\n        return has(item, hConfig.highlightClass);\n      });\n      return current.bind(function (selected) {\n        var dest = cycleBy(selected, delta, 0, items.length - 1);\n        return component.getSystem().getByDom(items[dest]).toOptional();\n      });\n    };\n    var getPrevious = function (component, hConfig, hState) {\n      return getDelta$2(component, hConfig, hState, -1);\n    };\n    var getNext = function (component, hConfig, hState) {\n      return getDelta$2(component, hConfig, hState, +1);\n    };\n    var getCandidates = function (component, hConfig, _hState) {\n      var items = descendants(component.element, '.' + hConfig.itemClass);\n      return cat(map$2(items, function (i) {\n        return component.getSystem().getByDom(i).toOptional();\n      }));\n    };\n\n    var HighlightApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        dehighlightAll: dehighlightAll,\n        dehighlight: dehighlight,\n        highlight: highlight,\n        highlightFirst: highlightFirst,\n        highlightLast: highlightLast,\n        highlightAt: highlightAt,\n        highlightBy: highlightBy,\n        isHighlighted: isHighlighted,\n        getHighlighted: getHighlighted,\n        getFirst: getFirst,\n        getLast: getLast,\n        getPrevious: getPrevious,\n        getNext: getNext,\n        getCandidates: getCandidates\n    });\n\n    var HighlightSchema = [\n      required$1('highlightClass'),\n      required$1('itemClass'),\n      onHandler('onHighlight'),\n      onHandler('onDehighlight')\n    ];\n\n    var Highlighting = create$7({\n      fields: HighlightSchema,\n      name: 'highlighting',\n      apis: HighlightApis\n    });\n\n    var BACKSPACE = [8];\n    var TAB = [9];\n    var ENTER = [13];\n    var ESCAPE = [27];\n    var SPACE = [32];\n    var LEFT = [37];\n    var UP = [38];\n    var RIGHT = [39];\n    var DOWN = [40];\n\n    var cyclePrev = function (values, index, predicate) {\n      var before = reverse(values.slice(0, index));\n      var after = reverse(values.slice(index + 1));\n      return find$5(before.concat(after), predicate);\n    };\n    var tryPrev = function (values, index, predicate) {\n      var before = reverse(values.slice(0, index));\n      return find$5(before, predicate);\n    };\n    var cycleNext = function (values, index, predicate) {\n      var before = values.slice(0, index);\n      var after = values.slice(index + 1);\n      return find$5(after.concat(before), predicate);\n    };\n    var tryNext = function (values, index, predicate) {\n      var after = values.slice(index + 1);\n      return find$5(after, predicate);\n    };\n\n    var inSet = function (keys) {\n      return function (event) {\n        var raw = event.raw;\n        return contains$2(keys, raw.which);\n      };\n    };\n    var and = function (preds) {\n      return function (event) {\n        return forall(preds, function (pred) {\n          return pred(event);\n        });\n      };\n    };\n    var isShift = function (event) {\n      var raw = event.raw;\n      return raw.shiftKey === true;\n    };\n    var isControl = function (event) {\n      var raw = event.raw;\n      return raw.ctrlKey === true;\n    };\n    var isNotShift = not(isShift);\n\n    var rule = function (matches, action) {\n      return {\n        matches: matches,\n        classification: action\n      };\n    };\n    var choose = function (transitions, event) {\n      var transition = find$5(transitions, function (t) {\n        return t.matches(event);\n      });\n      return transition.map(function (t) {\n        return t.classification;\n      });\n    };\n\n    var reportFocusShifting = function (component, prevFocus, newFocus) {\n      var noChange = prevFocus.exists(function (p) {\n        return newFocus.exists(function (n) {\n          return eq(n, p);\n        });\n      });\n      if (!noChange) {\n        emitWith(component, focusShifted(), {\n          prevFocus: prevFocus,\n          newFocus: newFocus\n        });\n      }\n    };\n    var dom$2 = function () {\n      var get = function (component) {\n        return search(component.element);\n      };\n      var set = function (component, focusee) {\n        var prevFocus = get(component);\n        component.getSystem().triggerFocus(focusee, component.element);\n        var newFocus = get(component);\n        reportFocusShifting(component, prevFocus, newFocus);\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n    var highlights = function () {\n      var get = function (component) {\n        return Highlighting.getHighlighted(component).map(function (item) {\n          return item.element;\n        });\n      };\n      var set = function (component, element) {\n        var prevFocus = get(component);\n        component.getSystem().getByDom(element).fold(noop, function (item) {\n          Highlighting.highlight(component, item);\n        });\n        var newFocus = get(component);\n        reportFocusShifting(component, prevFocus, newFocus);\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var FocusInsideModes;\n    (function (FocusInsideModes) {\n      FocusInsideModes['OnFocusMode'] = 'onFocus';\n      FocusInsideModes['OnEnterOrSpaceMode'] = 'onEnterOrSpace';\n      FocusInsideModes['OnApiMode'] = 'onApi';\n    }(FocusInsideModes || (FocusInsideModes = {})));\n\n    var typical = function (infoSchema, stateInit, getKeydownRules, getKeyupRules, optFocusIn) {\n      var schema = function () {\n        return infoSchema.concat([\n          defaulted('focusManager', dom$2()),\n          defaultedOf('focusInside', 'onFocus', valueOf(function (val) {\n            return contains$2([\n              'onFocus',\n              'onEnterOrSpace',\n              'onApi'\n            ], val) ? Result.value(val) : Result.error('Invalid value for focusInside');\n          })),\n          output$1('handler', me),\n          output$1('state', stateInit),\n          output$1('sendFocusIn', optFocusIn)\n        ]);\n      };\n      var processKey = function (component, simulatedEvent, getRules, keyingConfig, keyingState) {\n        var rules = getRules(component, simulatedEvent, keyingConfig, keyingState);\n        return choose(rules, simulatedEvent.event).bind(function (rule) {\n          return rule(component, simulatedEvent, keyingConfig, keyingState);\n        });\n      };\n      var toEvents = function (keyingConfig, keyingState) {\n        var onFocusHandler = keyingConfig.focusInside !== FocusInsideModes.OnFocusMode ? Optional.none() : optFocusIn(keyingConfig).map(function (focusIn) {\n          return run$1(focus$4(), function (component, simulatedEvent) {\n            focusIn(component, keyingConfig, keyingState);\n            simulatedEvent.stop();\n          });\n        });\n        var tryGoInsideComponent = function (component, simulatedEvent) {\n          var isEnterOrSpace = inSet(SPACE.concat(ENTER))(simulatedEvent.event);\n          if (keyingConfig.focusInside === FocusInsideModes.OnEnterOrSpaceMode && isEnterOrSpace && isSource(component, simulatedEvent)) {\n            optFocusIn(keyingConfig).each(function (focusIn) {\n              focusIn(component, keyingConfig, keyingState);\n              simulatedEvent.stop();\n            });\n          }\n        };\n        var keyboardEvents = [\n          run$1(keydown(), function (component, simulatedEvent) {\n            processKey(component, simulatedEvent, getKeydownRules, keyingConfig, keyingState).fold(function () {\n              tryGoInsideComponent(component, simulatedEvent);\n            }, function (_) {\n              simulatedEvent.stop();\n            });\n          }),\n          run$1(keyup(), function (component, simulatedEvent) {\n            processKey(component, simulatedEvent, getKeyupRules, keyingConfig, keyingState).each(function (_) {\n              simulatedEvent.stop();\n            });\n          })\n        ];\n        return derive$2(onFocusHandler.toArray().concat(keyboardEvents));\n      };\n      var me = {\n        schema: schema,\n        processKey: processKey,\n        toEvents: toEvents\n      };\n      return me;\n    };\n\n    var create$5 = function (cyclicField) {\n      var schema = [\n        option('onEscape'),\n        option('onEnter'),\n        defaulted('selector', '[data-alloy-tabstop=\"true\"]:not(:disabled)'),\n        defaulted('firstTabstop', 0),\n        defaulted('useTabstopAt', always),\n        option('visibilitySelector')\n      ].concat([cyclicField]);\n      var isVisible = function (tabbingConfig, element) {\n        var target = tabbingConfig.visibilitySelector.bind(function (sel) {\n          return closest$1(element, sel);\n        }).getOr(element);\n        return get$b(target) > 0;\n      };\n      var findInitial = function (component, tabbingConfig) {\n        var tabstops = descendants(component.element, tabbingConfig.selector);\n        var visibles = filter$2(tabstops, function (elem) {\n          return isVisible(tabbingConfig, elem);\n        });\n        return Optional.from(visibles[tabbingConfig.firstTabstop]);\n      };\n      var findCurrent = function (component, tabbingConfig) {\n        return tabbingConfig.focusManager.get(component).bind(function (elem) {\n          return closest$1(elem, tabbingConfig.selector);\n        });\n      };\n      var isTabstop = function (tabbingConfig, element) {\n        return isVisible(tabbingConfig, element) && tabbingConfig.useTabstopAt(element);\n      };\n      var focusIn = function (component, tabbingConfig, _tabbingState) {\n        findInitial(component, tabbingConfig).each(function (target) {\n          tabbingConfig.focusManager.set(component, target);\n        });\n      };\n      var goFromTabstop = function (component, tabstops, stopIndex, tabbingConfig, cycle) {\n        return cycle(tabstops, stopIndex, function (elem) {\n          return isTabstop(tabbingConfig, elem);\n        }).fold(function () {\n          return tabbingConfig.cyclic ? Optional.some(true) : Optional.none();\n        }, function (target) {\n          tabbingConfig.focusManager.set(component, target);\n          return Optional.some(true);\n        });\n      };\n      var go = function (component, _simulatedEvent, tabbingConfig, cycle) {\n        var tabstops = descendants(component.element, tabbingConfig.selector);\n        return findCurrent(component, tabbingConfig).bind(function (tabstop) {\n          var optStopIndex = findIndex$1(tabstops, curry(eq, tabstop));\n          return optStopIndex.bind(function (stopIndex) {\n            return goFromTabstop(component, tabstops, stopIndex, tabbingConfig, cycle);\n          });\n        });\n      };\n      var goBackwards = function (component, simulatedEvent, tabbingConfig) {\n        var navigate = tabbingConfig.cyclic ? cyclePrev : tryPrev;\n        return go(component, simulatedEvent, tabbingConfig, navigate);\n      };\n      var goForwards = function (component, simulatedEvent, tabbingConfig) {\n        var navigate = tabbingConfig.cyclic ? cycleNext : tryNext;\n        return go(component, simulatedEvent, tabbingConfig, navigate);\n      };\n      var execute = function (component, simulatedEvent, tabbingConfig) {\n        return tabbingConfig.onEnter.bind(function (f) {\n          return f(component, simulatedEvent);\n        });\n      };\n      var exit = function (component, simulatedEvent, tabbingConfig) {\n        return tabbingConfig.onEscape.bind(function (f) {\n          return f(component, simulatedEvent);\n        });\n      };\n      var getKeydownRules = constant$1([\n        rule(and([\n          isShift,\n          inSet(TAB)\n        ]), goBackwards),\n        rule(inSet(TAB), goForwards),\n        rule(inSet(ESCAPE), exit),\n        rule(and([\n          isNotShift,\n          inSet(ENTER)\n        ]), execute)\n      ]);\n      var getKeyupRules = constant$1([]);\n      return typical(schema, NoState.init, getKeydownRules, getKeyupRules, function () {\n        return Optional.some(focusIn);\n      });\n    };\n\n    var AcyclicType = create$5(customField('cyclic', never));\n\n    var CyclicType = create$5(customField('cyclic', always));\n\n    var doDefaultExecute = function (component, _simulatedEvent, focused) {\n      dispatch(component, focused, execute$5());\n      return Optional.some(true);\n    };\n    var defaultExecute = function (component, simulatedEvent, focused) {\n      var isComplex = inside(focused) && inSet(SPACE)(simulatedEvent.event);\n      return isComplex ? Optional.none() : doDefaultExecute(component, simulatedEvent, focused);\n    };\n    var stopEventForFirefox = function (_component, _simulatedEvent) {\n      return Optional.some(true);\n    };\n\n    var schema$v = [\n      defaulted('execute', defaultExecute),\n      defaulted('useSpace', false),\n      defaulted('useEnter', true),\n      defaulted('useControlEnter', false),\n      defaulted('useDown', false)\n    ];\n    var execute$4 = function (component, simulatedEvent, executeConfig) {\n      return executeConfig.execute(component, simulatedEvent, component.element);\n    };\n    var getKeydownRules$5 = function (component, _simulatedEvent, executeConfig, _executeState) {\n      var spaceExec = executeConfig.useSpace && !inside(component.element) ? SPACE : [];\n      var enterExec = executeConfig.useEnter ? ENTER : [];\n      var downExec = executeConfig.useDown ? DOWN : [];\n      var execKeys = spaceExec.concat(enterExec).concat(downExec);\n      return [rule(inSet(execKeys), execute$4)].concat(executeConfig.useControlEnter ? [rule(and([\n          isControl,\n          inSet(ENTER)\n        ]), execute$4)] : []);\n    };\n    var getKeyupRules$5 = function (component, _simulatedEvent, executeConfig, _executeState) {\n      return executeConfig.useSpace && !inside(component.element) ? [rule(inSet(SPACE), stopEventForFirefox)] : [];\n    };\n    var ExecutionType = typical(schema$v, NoState.init, getKeydownRules$5, getKeyupRules$5, function () {\n      return Optional.none();\n    });\n\n    var flatgrid$1 = function () {\n      var dimensions = value$1();\n      var setGridSize = function (numRows, numColumns) {\n        dimensions.set({\n          numRows: numRows,\n          numColumns: numColumns\n        });\n      };\n      var getNumRows = function () {\n        return dimensions.get().map(function (d) {\n          return d.numRows;\n        });\n      };\n      var getNumColumns = function () {\n        return dimensions.get().map(function (d) {\n          return d.numColumns;\n        });\n      };\n      return nu$8({\n        readState: function () {\n          return dimensions.get().map(function (d) {\n            return {\n              numRows: String(d.numRows),\n              numColumns: String(d.numColumns)\n            };\n          }).getOr({\n            numRows: '?',\n            numColumns: '?'\n          });\n        },\n        setGridSize: setGridSize,\n        getNumRows: getNumRows,\n        getNumColumns: getNumColumns\n      });\n    };\n    var init$d = function (spec) {\n      return spec.state(spec);\n    };\n\n    var KeyingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        flatgrid: flatgrid$1,\n        init: init$d\n    });\n\n    var useH = function (movement) {\n      return function (component, simulatedEvent, config, state) {\n        var move = movement(component.element);\n        return use(move, component, simulatedEvent, config, state);\n      };\n    };\n    var west$1 = function (moveLeft, moveRight) {\n      var movement = onDirection(moveLeft, moveRight);\n      return useH(movement);\n    };\n    var east$1 = function (moveLeft, moveRight) {\n      var movement = onDirection(moveRight, moveLeft);\n      return useH(movement);\n    };\n    var useV = function (move) {\n      return function (component, simulatedEvent, config, state) {\n        return use(move, component, simulatedEvent, config, state);\n      };\n    };\n    var use = function (move, component, simulatedEvent, config, state) {\n      var outcome = config.focusManager.get(component).bind(function (focused) {\n        return move(component.element, focused, config, state);\n      });\n      return outcome.map(function (newFocus) {\n        config.focusManager.set(component, newFocus);\n        return true;\n      });\n    };\n    var north$1 = useV;\n    var south$1 = useV;\n    var move$1 = useV;\n\n    var isHidden$1 = function (dom) {\n      return dom.offsetWidth <= 0 && dom.offsetHeight <= 0;\n    };\n    var isVisible = function (element) {\n      return !isHidden$1(element.dom);\n    };\n\n    var locate = function (candidates, predicate) {\n      return findIndex$1(candidates, predicate).map(function (index) {\n        return {\n          index: index,\n          candidates: candidates\n        };\n      });\n    };\n\n    var locateVisible = function (container, current, selector) {\n      var predicate = function (x) {\n        return eq(x, current);\n      };\n      var candidates = descendants(container, selector);\n      var visible = filter$2(candidates, isVisible);\n      return locate(visible, predicate);\n    };\n    var findIndex = function (elements, target) {\n      return findIndex$1(elements, function (elem) {\n        return eq(target, elem);\n      });\n    };\n\n    var withGrid = function (values, index, numCols, f) {\n      var oldRow = Math.floor(index / numCols);\n      var oldColumn = index % numCols;\n      return f(oldRow, oldColumn).bind(function (address) {\n        var newIndex = address.row * numCols + address.column;\n        return newIndex >= 0 && newIndex < values.length ? Optional.some(values[newIndex]) : Optional.none();\n      });\n    };\n    var cycleHorizontal$1 = function (values, index, numRows, numCols, delta) {\n      return withGrid(values, index, numCols, function (oldRow, oldColumn) {\n        var onLastRow = oldRow === numRows - 1;\n        var colsInRow = onLastRow ? values.length - oldRow * numCols : numCols;\n        var newColumn = cycleBy(oldColumn, delta, 0, colsInRow - 1);\n        return Optional.some({\n          row: oldRow,\n          column: newColumn\n        });\n      });\n    };\n    var cycleVertical$1 = function (values, index, numRows, numCols, delta) {\n      return withGrid(values, index, numCols, function (oldRow, oldColumn) {\n        var newRow = cycleBy(oldRow, delta, 0, numRows - 1);\n        var onLastRow = newRow === numRows - 1;\n        var colsInRow = onLastRow ? values.length - newRow * numCols : numCols;\n        var newCol = clamp$1(oldColumn, 0, colsInRow - 1);\n        return Optional.some({\n          row: newRow,\n          column: newCol\n        });\n      });\n    };\n    var cycleRight$1 = function (values, index, numRows, numCols) {\n      return cycleHorizontal$1(values, index, numRows, numCols, +1);\n    };\n    var cycleLeft$1 = function (values, index, numRows, numCols) {\n      return cycleHorizontal$1(values, index, numRows, numCols, -1);\n    };\n    var cycleUp$1 = function (values, index, numRows, numCols) {\n      return cycleVertical$1(values, index, numRows, numCols, -1);\n    };\n    var cycleDown$1 = function (values, index, numRows, numCols) {\n      return cycleVertical$1(values, index, numRows, numCols, +1);\n    };\n\n    var schema$u = [\n      required$1('selector'),\n      defaulted('execute', defaultExecute),\n      onKeyboardHandler('onEscape'),\n      defaulted('captureTab', false),\n      initSize()\n    ];\n    var focusIn$3 = function (component, gridConfig, _gridState) {\n      descendant(component.element, gridConfig.selector).each(function (first) {\n        gridConfig.focusManager.set(component, first);\n      });\n    };\n    var findCurrent$1 = function (component, gridConfig) {\n      return gridConfig.focusManager.get(component).bind(function (elem) {\n        return closest$1(elem, gridConfig.selector);\n      });\n    };\n    var execute$3 = function (component, simulatedEvent, gridConfig, _gridState) {\n      return findCurrent$1(component, gridConfig).bind(function (focused) {\n        return gridConfig.execute(component, simulatedEvent, focused);\n      });\n    };\n    var doMove$2 = function (cycle) {\n      return function (element, focused, gridConfig, gridState) {\n        return locateVisible(element, focused, gridConfig.selector).bind(function (identified) {\n          return cycle(identified.candidates, identified.index, gridState.getNumRows().getOr(gridConfig.initSize.numRows), gridState.getNumColumns().getOr(gridConfig.initSize.numColumns));\n        });\n      };\n    };\n    var handleTab = function (_component, _simulatedEvent, gridConfig) {\n      return gridConfig.captureTab ? Optional.some(true) : Optional.none();\n    };\n    var doEscape$1 = function (component, simulatedEvent, gridConfig) {\n      return gridConfig.onEscape(component, simulatedEvent);\n    };\n    var moveLeft$3 = doMove$2(cycleLeft$1);\n    var moveRight$3 = doMove$2(cycleRight$1);\n    var moveNorth$1 = doMove$2(cycleUp$1);\n    var moveSouth$1 = doMove$2(cycleDown$1);\n    var getKeydownRules$4 = constant$1([\n      rule(inSet(LEFT), west$1(moveLeft$3, moveRight$3)),\n      rule(inSet(RIGHT), east$1(moveLeft$3, moveRight$3)),\n      rule(inSet(UP), north$1(moveNorth$1)),\n      rule(inSet(DOWN), south$1(moveSouth$1)),\n      rule(and([\n        isShift,\n        inSet(TAB)\n      ]), handleTab),\n      rule(and([\n        isNotShift,\n        inSet(TAB)\n      ]), handleTab),\n      rule(inSet(ESCAPE), doEscape$1),\n      rule(inSet(SPACE.concat(ENTER)), execute$3)\n    ]);\n    var getKeyupRules$4 = constant$1([rule(inSet(SPACE), stopEventForFirefox)]);\n    var FlatgridType = typical(schema$u, flatgrid$1, getKeydownRules$4, getKeyupRules$4, function () {\n      return Optional.some(focusIn$3);\n    });\n\n    var horizontal = function (container, selector, current, delta) {\n      var isDisabledButton = function (candidate) {\n        return name$2(candidate) === 'button' && get$d(candidate, 'disabled') === 'disabled';\n      };\n      var tryCycle = function (initial, index, candidates) {\n        var newIndex = cycleBy(index, delta, 0, candidates.length - 1);\n        if (newIndex === initial) {\n          return Optional.none();\n        } else {\n          return isDisabledButton(candidates[newIndex]) ? tryCycle(initial, newIndex, candidates) : Optional.from(candidates[newIndex]);\n        }\n      };\n      return locateVisible(container, current, selector).bind(function (identified) {\n        var index = identified.index;\n        var candidates = identified.candidates;\n        return tryCycle(index, index, candidates);\n      });\n    };\n\n    var schema$t = [\n      required$1('selector'),\n      defaulted('getInitial', Optional.none),\n      defaulted('execute', defaultExecute),\n      onKeyboardHandler('onEscape'),\n      defaulted('executeOnMove', false),\n      defaulted('allowVertical', true)\n    ];\n    var findCurrent = function (component, flowConfig) {\n      return flowConfig.focusManager.get(component).bind(function (elem) {\n        return closest$1(elem, flowConfig.selector);\n      });\n    };\n    var execute$2 = function (component, simulatedEvent, flowConfig) {\n      return findCurrent(component, flowConfig).bind(function (focused) {\n        return flowConfig.execute(component, simulatedEvent, focused);\n      });\n    };\n    var focusIn$2 = function (component, flowConfig, _state) {\n      flowConfig.getInitial(component).orThunk(function () {\n        return descendant(component.element, flowConfig.selector);\n      }).each(function (first) {\n        flowConfig.focusManager.set(component, first);\n      });\n    };\n    var moveLeft$2 = function (element, focused, info) {\n      return horizontal(element, info.selector, focused, -1);\n    };\n    var moveRight$2 = function (element, focused, info) {\n      return horizontal(element, info.selector, focused, +1);\n    };\n    var doMove$1 = function (movement) {\n      return function (component, simulatedEvent, flowConfig, flowState) {\n        return movement(component, simulatedEvent, flowConfig, flowState).bind(function () {\n          return flowConfig.executeOnMove ? execute$2(component, simulatedEvent, flowConfig) : Optional.some(true);\n        });\n      };\n    };\n    var doEscape = function (component, simulatedEvent, flowConfig) {\n      return flowConfig.onEscape(component, simulatedEvent);\n    };\n    var getKeydownRules$3 = function (_component, _se, flowConfig, _flowState) {\n      var westMovers = LEFT.concat(flowConfig.allowVertical ? UP : []);\n      var eastMovers = RIGHT.concat(flowConfig.allowVertical ? DOWN : []);\n      return [\n        rule(inSet(westMovers), doMove$1(west$1(moveLeft$2, moveRight$2))),\n        rule(inSet(eastMovers), doMove$1(east$1(moveLeft$2, moveRight$2))),\n        rule(inSet(ENTER), execute$2),\n        rule(inSet(SPACE), execute$2),\n        rule(inSet(ESCAPE), doEscape)\n      ];\n    };\n    var getKeyupRules$3 = constant$1([rule(inSet(SPACE), stopEventForFirefox)]);\n    var FlowType = typical(schema$t, NoState.init, getKeydownRules$3, getKeyupRules$3, function () {\n      return Optional.some(focusIn$2);\n    });\n\n    var toCell = function (matrix, rowIndex, columnIndex) {\n      return Optional.from(matrix[rowIndex]).bind(function (row) {\n        return Optional.from(row[columnIndex]).map(function (cell) {\n          return {\n            rowIndex: rowIndex,\n            columnIndex: columnIndex,\n            cell: cell\n          };\n        });\n      });\n    };\n    var cycleHorizontal = function (matrix, rowIndex, startCol, deltaCol) {\n      var row = matrix[rowIndex];\n      var colsInRow = row.length;\n      var newColIndex = cycleBy(startCol, deltaCol, 0, colsInRow - 1);\n      return toCell(matrix, rowIndex, newColIndex);\n    };\n    var cycleVertical = function (matrix, colIndex, startRow, deltaRow) {\n      var nextRowIndex = cycleBy(startRow, deltaRow, 0, matrix.length - 1);\n      var colsInNextRow = matrix[nextRowIndex].length;\n      var nextColIndex = clamp$1(colIndex, 0, colsInNextRow - 1);\n      return toCell(matrix, nextRowIndex, nextColIndex);\n    };\n    var moveHorizontal = function (matrix, rowIndex, startCol, deltaCol) {\n      var row = matrix[rowIndex];\n      var colsInRow = row.length;\n      var newColIndex = clamp$1(startCol + deltaCol, 0, colsInRow - 1);\n      return toCell(matrix, rowIndex, newColIndex);\n    };\n    var moveVertical = function (matrix, colIndex, startRow, deltaRow) {\n      var nextRowIndex = clamp$1(startRow + deltaRow, 0, matrix.length - 1);\n      var colsInNextRow = matrix[nextRowIndex].length;\n      var nextColIndex = clamp$1(colIndex, 0, colsInNextRow - 1);\n      return toCell(matrix, nextRowIndex, nextColIndex);\n    };\n    var cycleRight = function (matrix, startRow, startCol) {\n      return cycleHorizontal(matrix, startRow, startCol, +1);\n    };\n    var cycleLeft = function (matrix, startRow, startCol) {\n      return cycleHorizontal(matrix, startRow, startCol, -1);\n    };\n    var cycleUp = function (matrix, startRow, startCol) {\n      return cycleVertical(matrix, startCol, startRow, -1);\n    };\n    var cycleDown = function (matrix, startRow, startCol) {\n      return cycleVertical(matrix, startCol, startRow, +1);\n    };\n    var moveLeft$1 = function (matrix, startRow, startCol) {\n      return moveHorizontal(matrix, startRow, startCol, -1);\n    };\n    var moveRight$1 = function (matrix, startRow, startCol) {\n      return moveHorizontal(matrix, startRow, startCol, +1);\n    };\n    var moveUp$1 = function (matrix, startRow, startCol) {\n      return moveVertical(matrix, startCol, startRow, -1);\n    };\n    var moveDown$1 = function (matrix, startRow, startCol) {\n      return moveVertical(matrix, startCol, startRow, +1);\n    };\n\n    var schema$s = [\n      requiredObjOf('selectors', [\n        required$1('row'),\n        required$1('cell')\n      ]),\n      defaulted('cycles', true),\n      defaulted('previousSelector', Optional.none),\n      defaulted('execute', defaultExecute)\n    ];\n    var focusIn$1 = function (component, matrixConfig, _state) {\n      var focused = matrixConfig.previousSelector(component).orThunk(function () {\n        var selectors = matrixConfig.selectors;\n        return descendant(component.element, selectors.cell);\n      });\n      focused.each(function (cell) {\n        matrixConfig.focusManager.set(component, cell);\n      });\n    };\n    var execute$1 = function (component, simulatedEvent, matrixConfig) {\n      return search(component.element).bind(function (focused) {\n        return matrixConfig.execute(component, simulatedEvent, focused);\n      });\n    };\n    var toMatrix = function (rows, matrixConfig) {\n      return map$2(rows, function (row) {\n        return descendants(row, matrixConfig.selectors.cell);\n      });\n    };\n    var doMove = function (ifCycle, ifMove) {\n      return function (element, focused, matrixConfig) {\n        var move = matrixConfig.cycles ? ifCycle : ifMove;\n        return closest$1(focused, matrixConfig.selectors.row).bind(function (inRow) {\n          var cellsInRow = descendants(inRow, matrixConfig.selectors.cell);\n          return findIndex(cellsInRow, focused).bind(function (colIndex) {\n            var allRows = descendants(element, matrixConfig.selectors.row);\n            return findIndex(allRows, inRow).bind(function (rowIndex) {\n              var matrix = toMatrix(allRows, matrixConfig);\n              return move(matrix, rowIndex, colIndex).map(function (next) {\n                return next.cell;\n              });\n            });\n          });\n        });\n      };\n    };\n    var moveLeft = doMove(cycleLeft, moveLeft$1);\n    var moveRight = doMove(cycleRight, moveRight$1);\n    var moveNorth = doMove(cycleUp, moveUp$1);\n    var moveSouth = doMove(cycleDown, moveDown$1);\n    var getKeydownRules$2 = constant$1([\n      rule(inSet(LEFT), west$1(moveLeft, moveRight)),\n      rule(inSet(RIGHT), east$1(moveLeft, moveRight)),\n      rule(inSet(UP), north$1(moveNorth)),\n      rule(inSet(DOWN), south$1(moveSouth)),\n      rule(inSet(SPACE.concat(ENTER)), execute$1)\n    ]);\n    var getKeyupRules$2 = constant$1([rule(inSet(SPACE), stopEventForFirefox)]);\n    var MatrixType = typical(schema$s, NoState.init, getKeydownRules$2, getKeyupRules$2, function () {\n      return Optional.some(focusIn$1);\n    });\n\n    var schema$r = [\n      required$1('selector'),\n      defaulted('execute', defaultExecute),\n      defaulted('moveOnTab', false)\n    ];\n    var execute = function (component, simulatedEvent, menuConfig) {\n      return menuConfig.focusManager.get(component).bind(function (focused) {\n        return menuConfig.execute(component, simulatedEvent, focused);\n      });\n    };\n    var focusIn = function (component, menuConfig, _state) {\n      descendant(component.element, menuConfig.selector).each(function (first) {\n        menuConfig.focusManager.set(component, first);\n      });\n    };\n    var moveUp = function (element, focused, info) {\n      return horizontal(element, info.selector, focused, -1);\n    };\n    var moveDown = function (element, focused, info) {\n      return horizontal(element, info.selector, focused, +1);\n    };\n    var fireShiftTab = function (component, simulatedEvent, menuConfig, menuState) {\n      return menuConfig.moveOnTab ? move$1(moveUp)(component, simulatedEvent, menuConfig, menuState) : Optional.none();\n    };\n    var fireTab = function (component, simulatedEvent, menuConfig, menuState) {\n      return menuConfig.moveOnTab ? move$1(moveDown)(component, simulatedEvent, menuConfig, menuState) : Optional.none();\n    };\n    var getKeydownRules$1 = constant$1([\n      rule(inSet(UP), move$1(moveUp)),\n      rule(inSet(DOWN), move$1(moveDown)),\n      rule(and([\n        isShift,\n        inSet(TAB)\n      ]), fireShiftTab),\n      rule(and([\n        isNotShift,\n        inSet(TAB)\n      ]), fireTab),\n      rule(inSet(ENTER), execute),\n      rule(inSet(SPACE), execute)\n    ]);\n    var getKeyupRules$1 = constant$1([rule(inSet(SPACE), stopEventForFirefox)]);\n    var MenuType = typical(schema$r, NoState.init, getKeydownRules$1, getKeyupRules$1, function () {\n      return Optional.some(focusIn);\n    });\n\n    var schema$q = [\n      onKeyboardHandler('onSpace'),\n      onKeyboardHandler('onEnter'),\n      onKeyboardHandler('onShiftEnter'),\n      onKeyboardHandler('onLeft'),\n      onKeyboardHandler('onRight'),\n      onKeyboardHandler('onTab'),\n      onKeyboardHandler('onShiftTab'),\n      onKeyboardHandler('onUp'),\n      onKeyboardHandler('onDown'),\n      onKeyboardHandler('onEscape'),\n      defaulted('stopSpaceKeyup', false),\n      option('focusIn')\n    ];\n    var getKeydownRules = function (component, simulatedEvent, specialInfo) {\n      return [\n        rule(inSet(SPACE), specialInfo.onSpace),\n        rule(and([\n          isNotShift,\n          inSet(ENTER)\n        ]), specialInfo.onEnter),\n        rule(and([\n          isShift,\n          inSet(ENTER)\n        ]), specialInfo.onShiftEnter),\n        rule(and([\n          isShift,\n          inSet(TAB)\n        ]), specialInfo.onShiftTab),\n        rule(and([\n          isNotShift,\n          inSet(TAB)\n        ]), specialInfo.onTab),\n        rule(inSet(UP), specialInfo.onUp),\n        rule(inSet(DOWN), specialInfo.onDown),\n        rule(inSet(LEFT), specialInfo.onLeft),\n        rule(inSet(RIGHT), specialInfo.onRight),\n        rule(inSet(SPACE), specialInfo.onSpace),\n        rule(inSet(ESCAPE), specialInfo.onEscape)\n      ];\n    };\n    var getKeyupRules = function (component, simulatedEvent, specialInfo) {\n      return specialInfo.stopSpaceKeyup ? [rule(inSet(SPACE), stopEventForFirefox)] : [];\n    };\n    var SpecialType = typical(schema$q, NoState.init, getKeydownRules, getKeyupRules, function (specialInfo) {\n      return specialInfo.focusIn;\n    });\n\n    var acyclic = AcyclicType.schema();\n    var cyclic = CyclicType.schema();\n    var flow = FlowType.schema();\n    var flatgrid = FlatgridType.schema();\n    var matrix = MatrixType.schema();\n    var execution = ExecutionType.schema();\n    var menu = MenuType.schema();\n    var special = SpecialType.schema();\n\n    var KeyboardBranches = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        acyclic: acyclic,\n        cyclic: cyclic,\n        flow: flow,\n        flatgrid: flatgrid,\n        matrix: matrix,\n        execution: execution,\n        menu: menu,\n        special: special\n    });\n\n    var isFlatgridState = function (keyState) {\n      return hasNonNullableKey(keyState, 'setGridSize');\n    };\n    var Keying = createModes({\n      branchKey: 'mode',\n      branches: KeyboardBranches,\n      name: 'keying',\n      active: {\n        events: function (keyingConfig, keyingState) {\n          var handler = keyingConfig.handler;\n          return handler.toEvents(keyingConfig, keyingState);\n        }\n      },\n      apis: {\n        focusIn: function (component, keyConfig, keyState) {\n          keyConfig.sendFocusIn(keyConfig).fold(function () {\n            component.getSystem().triggerFocus(component.element, component.element);\n          }, function (sendFocusIn) {\n            sendFocusIn(component, keyConfig, keyState);\n          });\n        },\n        setGridSize: function (component, keyConfig, keyState, numRows, numColumns) {\n          if (!isFlatgridState(keyState)) {\n            console.error('Layout does not support setGridSize');\n          } else {\n            keyState.setGridSize(numRows, numColumns);\n          }\n        }\n      },\n      state: KeyingState\n    });\n\n    var set$2 = function (component, replaceConfig, replaceState, data) {\n      preserve$1(function () {\n        var newChildren = map$2(data, component.getSystem().build);\n        replaceChildren(component, newChildren);\n      }, component.element);\n    };\n    var insert = function (component, replaceConfig, insertion, childSpec) {\n      var child = component.getSystem().build(childSpec);\n      attachWith(component, child, insertion);\n    };\n    var append = function (component, replaceConfig, replaceState, appendee) {\n      insert(component, replaceConfig, append$2, appendee);\n    };\n    var prepend = function (component, replaceConfig, replaceState, prependee) {\n      insert(component, replaceConfig, prepend$1, prependee);\n    };\n    var remove = function (component, replaceConfig, replaceState, removee) {\n      var children = contents(component);\n      var foundChild = find$5(children, function (child) {\n        return eq(removee.element, child.element);\n      });\n      foundChild.each(detach);\n    };\n    var contents = function (component, _replaceConfig) {\n      return component.components();\n    };\n    var replaceAt = function (component, replaceConfig, replaceState, replaceeIndex, replacer) {\n      var children = contents(component);\n      return Optional.from(children[replaceeIndex]).map(function (replacee) {\n        remove(component, replaceConfig, replaceState, replacee);\n        replacer.each(function (r) {\n          insert(component, replaceConfig, function (p, c) {\n            appendAt(p, c, replaceeIndex);\n          }, r);\n        });\n        return replacee;\n      });\n    };\n    var replaceBy = function (component, replaceConfig, replaceState, replaceePred, replacer) {\n      var children = contents(component);\n      return findIndex$1(children, replaceePred).bind(function (replaceeIndex) {\n        return replaceAt(component, replaceConfig, replaceState, replaceeIndex, replacer);\n      });\n    };\n\n    var ReplaceApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        append: append,\n        prepend: prepend,\n        remove: remove,\n        replaceAt: replaceAt,\n        replaceBy: replaceBy,\n        set: set$2,\n        contents: contents\n    });\n\n    var Replacing = create$7({\n      fields: [],\n      name: 'replacing',\n      apis: ReplaceApis\n    });\n\n    var events$d = function (name, eventHandlers) {\n      var events = derive$2(eventHandlers);\n      return create$7({\n        fields: [required$1('enabled')],\n        name: name,\n        active: { events: constant$1(events) }\n      });\n    };\n    var config = function (name, eventHandlers) {\n      var me = events$d(name, eventHandlers);\n      return {\n        key: name,\n        value: {\n          config: {},\n          me: me,\n          configAsRaw: constant$1({}),\n          initialConfig: {},\n          state: NoState\n        }\n      };\n    };\n\n    var focus$2 = function (component, focusConfig) {\n      if (!focusConfig.ignore) {\n        focus$3(component.element);\n        focusConfig.onFocus(component);\n      }\n    };\n    var blur = function (component, focusConfig) {\n      if (!focusConfig.ignore) {\n        blur$1(component.element);\n      }\n    };\n    var isFocused = function (component) {\n      return hasFocus(component.element);\n    };\n\n    var FocusApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        focus: focus$2,\n        blur: blur,\n        isFocused: isFocused\n    });\n\n    var exhibit$4 = function (base, focusConfig) {\n      var mod = focusConfig.ignore ? {} : { attributes: { tabindex: '-1' } };\n      return nu$7(mod);\n    };\n    var events$c = function (focusConfig) {\n      return derive$2([run$1(focus$4(), function (component, simulatedEvent) {\n          focus$2(component, focusConfig);\n          simulatedEvent.stop();\n        })].concat(focusConfig.stopMousedown ? [run$1(mousedown(), function (_, simulatedEvent) {\n          simulatedEvent.event.prevent();\n        })] : []));\n    };\n\n    var ActiveFocus = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$4,\n        events: events$c\n    });\n\n    var FocusSchema = [\n      onHandler('onFocus'),\n      defaulted('stopMousedown', false),\n      defaulted('ignore', false)\n    ];\n\n    var Focusing = create$7({\n      fields: FocusSchema,\n      name: 'focusing',\n      active: ActiveFocus,\n      apis: FocusApis\n    });\n\n    var SetupBehaviourCellState = function (initialState) {\n      var init = function () {\n        var cell = Cell(initialState);\n        var get = function () {\n          return cell.get();\n        };\n        var set = function (newState) {\n          return cell.set(newState);\n        };\n        var clear = function () {\n          return cell.set(initialState);\n        };\n        var readState = function () {\n          return cell.get();\n        };\n        return {\n          get: get,\n          set: set,\n          clear: clear,\n          readState: readState\n        };\n      };\n      return { init: init };\n    };\n\n    var updateAriaState = function (component, toggleConfig, toggleState) {\n      var ariaInfo = toggleConfig.aria;\n      ariaInfo.update(component, ariaInfo, toggleState.get());\n    };\n    var updateClass = function (component, toggleConfig, toggleState) {\n      toggleConfig.toggleClass.each(function (toggleClass) {\n        if (toggleState.get()) {\n          add$2(component.element, toggleClass);\n        } else {\n          remove$2(component.element, toggleClass);\n        }\n      });\n    };\n    var toggle$2 = function (component, toggleConfig, toggleState) {\n      set$1(component, toggleConfig, toggleState, !toggleState.get());\n    };\n    var on = function (component, toggleConfig, toggleState) {\n      toggleState.set(true);\n      updateClass(component, toggleConfig, toggleState);\n      updateAriaState(component, toggleConfig, toggleState);\n    };\n    var off = function (component, toggleConfig, toggleState) {\n      toggleState.set(false);\n      updateClass(component, toggleConfig, toggleState);\n      updateAriaState(component, toggleConfig, toggleState);\n    };\n    var set$1 = function (component, toggleConfig, toggleState, state) {\n      var action = state ? on : off;\n      action(component, toggleConfig, toggleState);\n    };\n    var isOn = function (component, toggleConfig, toggleState) {\n      return toggleState.get();\n    };\n    var onLoad = function (component, toggleConfig, toggleState) {\n      set$1(component, toggleConfig, toggleState, toggleConfig.selected);\n    };\n\n    var ToggleApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        onLoad: onLoad,\n        toggle: toggle$2,\n        isOn: isOn,\n        on: on,\n        off: off,\n        set: set$1\n    });\n\n    var exhibit$3 = function () {\n      return nu$7({});\n    };\n    var events$b = function (toggleConfig, toggleState) {\n      var execute = executeEvent(toggleConfig, toggleState, toggle$2);\n      var load = loadEvent(toggleConfig, toggleState, onLoad);\n      return derive$2(flatten([\n        toggleConfig.toggleOnExecute ? [execute] : [],\n        [load]\n      ]));\n    };\n\n    var ActiveToggle = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$3,\n        events: events$b\n    });\n\n    var updatePressed = function (component, ariaInfo, status) {\n      set$8(component.element, 'aria-pressed', status);\n      if (ariaInfo.syncWithExpanded) {\n        updateExpanded(component, ariaInfo, status);\n      }\n    };\n    var updateSelected = function (component, ariaInfo, status) {\n      set$8(component.element, 'aria-selected', status);\n    };\n    var updateChecked = function (component, ariaInfo, status) {\n      set$8(component.element, 'aria-checked', status);\n    };\n    var updateExpanded = function (component, ariaInfo, status) {\n      set$8(component.element, 'aria-expanded', status);\n    };\n\n    var ToggleSchema = [\n      defaulted('selected', false),\n      option('toggleClass'),\n      defaulted('toggleOnExecute', true),\n      defaultedOf('aria', { mode: 'none' }, choose$1('mode', {\n        pressed: [\n          defaulted('syncWithExpanded', false),\n          output$1('update', updatePressed)\n        ],\n        checked: [output$1('update', updateChecked)],\n        expanded: [output$1('update', updateExpanded)],\n        selected: [output$1('update', updateSelected)],\n        none: [output$1('update', noop)]\n      }))\n    ];\n\n    var Toggling = create$7({\n      fields: ToggleSchema,\n      name: 'toggling',\n      active: ActiveToggle,\n      apis: ToggleApis,\n      state: SetupBehaviourCellState(false)\n    });\n\n    var pointerEvents = function () {\n      var onClick = function (component, simulatedEvent) {\n        simulatedEvent.stop();\n        emitExecute(component);\n      };\n      return [\n        run$1(click(), onClick),\n        run$1(tap(), onClick),\n        cutter(touchstart()),\n        cutter(mousedown())\n      ];\n    };\n    var events$a = function (optAction) {\n      var executeHandler = function (action) {\n        return runOnExecute$1(function (component, simulatedEvent) {\n          action(component);\n          simulatedEvent.stop();\n        });\n      };\n      return derive$2(flatten([\n        optAction.map(executeHandler).toArray(),\n        pointerEvents()\n      ]));\n    };\n\n    var hoverEvent = 'alloy.item-hover';\n    var focusEvent = 'alloy.item-focus';\n    var onHover = function (item) {\n      if (search(item.element).isNone() || Focusing.isFocused(item)) {\n        if (!Focusing.isFocused(item)) {\n          Focusing.focus(item);\n        }\n        emitWith(item, hoverEvent, { item: item });\n      }\n    };\n    var onFocus$1 = function (item) {\n      emitWith(item, focusEvent, { item: item });\n    };\n    var hover = constant$1(hoverEvent);\n    var focus$1 = constant$1(focusEvent);\n\n    var builder$2 = function (detail) {\n      return {\n        dom: detail.dom,\n        domModification: __assign(__assign({}, detail.domModification), { attributes: __assign(__assign(__assign({ 'role': detail.toggling.isSome() ? 'menuitemcheckbox' : 'menuitem' }, detail.domModification.attributes), { 'aria-haspopup': detail.hasSubmenu }), detail.hasSubmenu ? { 'aria-expanded': false } : {}) }),\n        behaviours: SketchBehaviours.augment(detail.itemBehaviours, [\n          detail.toggling.fold(Toggling.revoke, function (tConfig) {\n            return Toggling.config(__assign({ aria: { mode: 'checked' } }, tConfig));\n          }),\n          Focusing.config({\n            ignore: detail.ignoreFocus,\n            stopMousedown: detail.ignoreFocus,\n            onFocus: function (component) {\n              onFocus$1(component);\n            }\n          }),\n          Keying.config({ mode: 'execution' }),\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: detail.data\n            }\n          }),\n          config('item-type-events', __spreadArray(__spreadArray([], pointerEvents(), true), [\n            run$1(mouseover(), onHover),\n            run$1(focusItem(), Focusing.focus)\n          ], false))\n        ]),\n        components: detail.components,\n        eventOrder: detail.eventOrder\n      };\n    };\n    var schema$p = [\n      required$1('data'),\n      required$1('components'),\n      required$1('dom'),\n      defaulted('hasSubmenu', false),\n      option('toggling'),\n      SketchBehaviours.field('itemBehaviours', [\n        Toggling,\n        Focusing,\n        Keying,\n        Representing\n      ]),\n      defaulted('ignoreFocus', false),\n      defaulted('domModification', {}),\n      output$1('builder', builder$2),\n      defaulted('eventOrder', {})\n    ];\n\n    var builder$1 = function (detail) {\n      return {\n        dom: detail.dom,\n        components: detail.components,\n        events: derive$2([stopper(focusItem())])\n      };\n    };\n    var schema$o = [\n      required$1('dom'),\n      required$1('components'),\n      output$1('builder', builder$1)\n    ];\n\n    var owner$2 = constant$1('item-widget');\n    var parts$h = constant$1([required({\n        name: 'widget',\n        overrides: function (detail) {\n          return {\n            behaviours: derive$1([Representing.config({\n                store: {\n                  mode: 'manual',\n                  getValue: function (_component) {\n                    return detail.data;\n                  },\n                  setValue: noop\n                }\n              })])\n          };\n        }\n      })]);\n\n    var builder = function (detail) {\n      var subs = substitutes(owner$2(), detail, parts$h());\n      var components = components$1(owner$2(), detail, subs.internals());\n      var focusWidget = function (component) {\n        return getPart(component, detail, 'widget').map(function (widget) {\n          Keying.focusIn(widget);\n          return widget;\n        });\n      };\n      var onHorizontalArrow = function (component, simulatedEvent) {\n        return inside(simulatedEvent.event.target) ? Optional.none() : function () {\n          if (detail.autofocus) {\n            simulatedEvent.setSource(component.element);\n            return Optional.none();\n          } else {\n            return Optional.none();\n          }\n        }();\n      };\n      return {\n        dom: detail.dom,\n        components: components,\n        domModification: detail.domModification,\n        events: derive$2([\n          runOnExecute$1(function (component, simulatedEvent) {\n            focusWidget(component).each(function (_widget) {\n              simulatedEvent.stop();\n            });\n          }),\n          run$1(mouseover(), onHover),\n          run$1(focusItem(), function (component, _simulatedEvent) {\n            if (detail.autofocus) {\n              focusWidget(component);\n            } else {\n              Focusing.focus(component);\n            }\n          })\n        ]),\n        behaviours: SketchBehaviours.augment(detail.widgetBehaviours, [\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: detail.data\n            }\n          }),\n          Focusing.config({\n            ignore: detail.ignoreFocus,\n            onFocus: function (component) {\n              onFocus$1(component);\n            }\n          }),\n          Keying.config({\n            mode: 'special',\n            focusIn: detail.autofocus ? function (component) {\n              focusWidget(component);\n            } : revoke(),\n            onLeft: onHorizontalArrow,\n            onRight: onHorizontalArrow,\n            onEscape: function (component, simulatedEvent) {\n              if (!Focusing.isFocused(component) && !detail.autofocus) {\n                Focusing.focus(component);\n                return Optional.some(true);\n              } else if (detail.autofocus) {\n                simulatedEvent.setSource(component.element);\n                return Optional.none();\n              } else {\n                return Optional.none();\n              }\n            }\n          })\n        ])\n      };\n    };\n    var schema$n = [\n      required$1('uid'),\n      required$1('data'),\n      required$1('components'),\n      required$1('dom'),\n      defaulted('autofocus', false),\n      defaulted('ignoreFocus', false),\n      SketchBehaviours.field('widgetBehaviours', [\n        Representing,\n        Focusing,\n        Keying\n      ]),\n      defaulted('domModification', {}),\n      defaultUidsSchema(parts$h()),\n      output$1('builder', builder)\n    ];\n\n    var itemSchema$2 = choose$1('type', {\n      widget: schema$n,\n      item: schema$p,\n      separator: schema$o\n    });\n    var configureGrid = function (detail, movementInfo) {\n      return {\n        mode: 'flatgrid',\n        selector: '.' + detail.markers.item,\n        initSize: {\n          numColumns: movementInfo.initSize.numColumns,\n          numRows: movementInfo.initSize.numRows\n        },\n        focusManager: detail.focusManager\n      };\n    };\n    var configureMatrix = function (detail, movementInfo) {\n      return {\n        mode: 'matrix',\n        selectors: {\n          row: movementInfo.rowSelector,\n          cell: '.' + detail.markers.item\n        },\n        focusManager: detail.focusManager\n      };\n    };\n    var configureMenu = function (detail, movementInfo) {\n      return {\n        mode: 'menu',\n        selector: '.' + detail.markers.item,\n        moveOnTab: movementInfo.moveOnTab,\n        focusManager: detail.focusManager\n      };\n    };\n    var parts$g = constant$1([group({\n        factory: {\n          sketch: function (spec) {\n            var itemInfo = asRawOrDie$1('menu.spec item', itemSchema$2, spec);\n            return itemInfo.builder(itemInfo);\n          }\n        },\n        name: 'items',\n        unit: 'item',\n        defaults: function (detail, u) {\n          return has$2(u, 'uid') ? u : __assign(__assign({}, u), { uid: generate$5('item') });\n        },\n        overrides: function (detail, u) {\n          return {\n            type: u.type,\n            ignoreFocus: detail.fakeFocus,\n            domModification: { classes: [detail.markers.item] }\n          };\n        }\n      })]);\n    var schema$m = constant$1([\n      required$1('value'),\n      required$1('items'),\n      required$1('dom'),\n      required$1('components'),\n      defaulted('eventOrder', {}),\n      field('menuBehaviours', [\n        Highlighting,\n        Representing,\n        Composing,\n        Keying\n      ]),\n      defaultedOf('movement', {\n        mode: 'menu',\n        moveOnTab: true\n      }, choose$1('mode', {\n        grid: [\n          initSize(),\n          output$1('config', configureGrid)\n        ],\n        matrix: [\n          output$1('config', configureMatrix),\n          required$1('rowSelector')\n        ],\n        menu: [\n          defaulted('moveOnTab', true),\n          output$1('config', configureMenu)\n        ]\n      })),\n      itemMarkers(),\n      defaulted('fakeFocus', false),\n      defaulted('focusManager', dom$2()),\n      onHandler('onHighlight')\n    ]);\n\n    var focus = constant$1('alloy.menu-focus');\n\n    var make$7 = function (detail, components, _spec, _externals) {\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        markers: detail.markers,\n        behaviours: augment(detail.menuBehaviours, [\n          Highlighting.config({\n            highlightClass: detail.markers.selectedItem,\n            itemClass: detail.markers.item,\n            onHighlight: detail.onHighlight\n          }),\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: detail.value\n            }\n          }),\n          Composing.config({ find: Optional.some }),\n          Keying.config(detail.movement.config(detail, detail.movement))\n        ]),\n        events: derive$2([\n          run$1(focus$1(), function (menu, simulatedEvent) {\n            var event = simulatedEvent.event;\n            menu.getSystem().getByDom(event.target).each(function (item) {\n              Highlighting.highlight(menu, item);\n              simulatedEvent.stop();\n              emitWith(menu, focus(), {\n                menu: menu,\n                item: item\n              });\n            });\n          }),\n          run$1(hover(), function (menu, simulatedEvent) {\n            var item = simulatedEvent.event.item;\n            Highlighting.highlight(menu, item);\n          })\n        ]),\n        components: components,\n        eventOrder: detail.eventOrder,\n        domModification: { attributes: { role: 'menu' } }\n      };\n    };\n\n    var Menu = composite({\n      name: 'Menu',\n      configFields: schema$m(),\n      partFields: parts$g(),\n      factory: make$7\n    });\n\n    var transpose$1 = function (obj) {\n      return tupleMap(obj, function (v, k) {\n        return {\n          k: v,\n          v: k\n        };\n      });\n    };\n    var trace = function (items, byItem, byMenu, finish) {\n      return get$e(byMenu, finish).bind(function (triggerItem) {\n        return get$e(items, triggerItem).bind(function (triggerMenu) {\n          var rest = trace(items, byItem, byMenu, triggerMenu);\n          return Optional.some([triggerMenu].concat(rest));\n        });\n      }).getOr([]);\n    };\n    var generate$2 = function (menus, expansions) {\n      var items = {};\n      each(menus, function (menuItems, menu) {\n        each$1(menuItems, function (item) {\n          items[item] = menu;\n        });\n      });\n      var byItem = expansions;\n      var byMenu = transpose$1(expansions);\n      var menuPaths = map$1(byMenu, function (_triggerItem, submenu) {\n        return [submenu].concat(trace(items, byItem, byMenu, submenu));\n      });\n      return map$1(items, function (menu) {\n        return get$e(menuPaths, menu).getOr([menu]);\n      });\n    };\n\n    var init$c = function () {\n      var expansions = Cell({});\n      var menus = Cell({});\n      var paths = Cell({});\n      var primary = value$1();\n      var directory = Cell({});\n      var clear = function () {\n        expansions.set({});\n        menus.set({});\n        paths.set({});\n        primary.clear();\n      };\n      var isClear = function () {\n        return primary.get().isNone();\n      };\n      var setMenuBuilt = function (menuName, built) {\n        var _a;\n        menus.set(__assign(__assign({}, menus.get()), (_a = {}, _a[menuName] = {\n          type: 'prepared',\n          menu: built\n        }, _a)));\n      };\n      var setContents = function (sPrimary, sMenus, sExpansions, dir) {\n        primary.set(sPrimary);\n        expansions.set(sExpansions);\n        menus.set(sMenus);\n        directory.set(dir);\n        var sPaths = generate$2(dir, sExpansions);\n        paths.set(sPaths);\n      };\n      var getTriggeringItem = function (menuValue) {\n        return find$4(expansions.get(), function (v, _k) {\n          return v === menuValue;\n        });\n      };\n      var getTriggerData = function (menuValue, getItemByValue, path) {\n        return getPreparedMenu(menuValue).bind(function (menu) {\n          return getTriggeringItem(menuValue).bind(function (triggeringItemValue) {\n            return getItemByValue(triggeringItemValue).map(function (triggeredItem) {\n              return {\n                triggeredMenu: menu,\n                triggeringItem: triggeredItem,\n                triggeringPath: path\n              };\n            });\n          });\n        });\n      };\n      var getTriggeringPath = function (itemValue, getItemByValue) {\n        var extraPath = filter$2(lookupItem(itemValue).toArray(), function (menuValue) {\n          return getPreparedMenu(menuValue).isSome();\n        });\n        return get$e(paths.get(), itemValue).bind(function (path) {\n          var revPath = reverse(extraPath.concat(path));\n          var triggers = bind$3(revPath, function (menuValue, menuIndex) {\n            return getTriggerData(menuValue, getItemByValue, revPath.slice(0, menuIndex + 1)).fold(function () {\n              return is$1(primary.get(), menuValue) ? [] : [Optional.none()];\n            }, function (data) {\n              return [Optional.some(data)];\n            });\n          });\n          return sequence(triggers);\n        });\n      };\n      var expand = function (itemValue) {\n        return get$e(expansions.get(), itemValue).map(function (menu) {\n          var current = get$e(paths.get(), itemValue).getOr([]);\n          return [menu].concat(current);\n        });\n      };\n      var collapse = function (itemValue) {\n        return get$e(paths.get(), itemValue).bind(function (path) {\n          return path.length > 1 ? Optional.some(path.slice(1)) : Optional.none();\n        });\n      };\n      var refresh = function (itemValue) {\n        return get$e(paths.get(), itemValue);\n      };\n      var getPreparedMenu = function (menuValue) {\n        return lookupMenu(menuValue).bind(extractPreparedMenu);\n      };\n      var lookupMenu = function (menuValue) {\n        return get$e(menus.get(), menuValue);\n      };\n      var lookupItem = function (itemValue) {\n        return get$e(expansions.get(), itemValue);\n      };\n      var otherMenus = function (path) {\n        var menuValues = directory.get();\n        return difference(keys(menuValues), path);\n      };\n      var getPrimary = function () {\n        return primary.get().bind(getPreparedMenu);\n      };\n      var getMenus = function () {\n        return menus.get();\n      };\n      return {\n        setMenuBuilt: setMenuBuilt,\n        setContents: setContents,\n        expand: expand,\n        refresh: refresh,\n        collapse: collapse,\n        lookupMenu: lookupMenu,\n        lookupItem: lookupItem,\n        otherMenus: otherMenus,\n        getPrimary: getPrimary,\n        getMenus: getMenus,\n        clear: clear,\n        isClear: isClear,\n        getTriggeringPath: getTriggeringPath\n      };\n    };\n    var extractPreparedMenu = function (prep) {\n      return prep.type === 'prepared' ? Optional.some(prep.menu) : Optional.none();\n    };\n    var LayeredState = {\n      init: init$c,\n      extractPreparedMenu: extractPreparedMenu\n    };\n\n    var make$6 = function (detail, _rawUiSpec) {\n      var submenuParentItems = value$1();\n      var buildMenus = function (container, primaryName, menus) {\n        return map$1(menus, function (spec, name) {\n          var makeSketch = function () {\n            return Menu.sketch(__assign(__assign({}, spec), {\n              value: name,\n              markers: detail.markers,\n              fakeFocus: detail.fakeFocus,\n              onHighlight: detail.onHighlight,\n              focusManager: detail.fakeFocus ? highlights() : dom$2()\n            }));\n          };\n          return name === primaryName ? {\n            type: 'prepared',\n            menu: container.getSystem().build(makeSketch())\n          } : {\n            type: 'notbuilt',\n            nbMenu: makeSketch\n          };\n        });\n      };\n      var layeredState = LayeredState.init();\n      var setup = function (container) {\n        var componentMap = buildMenus(container, detail.data.primary, detail.data.menus);\n        var directory = toDirectory();\n        layeredState.setContents(detail.data.primary, componentMap, detail.data.expansions, directory);\n        return layeredState.getPrimary();\n      };\n      var getItemValue = function (item) {\n        return Representing.getValue(item).value;\n      };\n      var getItemByValue = function (_container, menus, itemValue) {\n        return findMap(menus, function (menu) {\n          if (!menu.getSystem().isConnected()) {\n            return Optional.none();\n          }\n          var candidates = Highlighting.getCandidates(menu);\n          return find$5(candidates, function (c) {\n            return getItemValue(c) === itemValue;\n          });\n        });\n      };\n      var toDirectory = function (_container) {\n        return map$1(detail.data.menus, function (data, _menuName) {\n          return bind$3(data.items, function (item) {\n            return item.type === 'separator' ? [] : [item.data.value];\n          });\n        });\n      };\n      var setActiveMenu = function (container, menu) {\n        Highlighting.highlight(container, menu);\n        Highlighting.getHighlighted(menu).orThunk(function () {\n          return Highlighting.getFirst(menu);\n        }).each(function (item) {\n          dispatch(container, item.element, focusItem());\n        });\n      };\n      var getMenus = function (state, menuValues) {\n        return cat(map$2(menuValues, function (mv) {\n          return state.lookupMenu(mv).bind(function (prep) {\n            return prep.type === 'prepared' ? Optional.some(prep.menu) : Optional.none();\n          });\n        }));\n      };\n      var closeOthers = function (container, state, path) {\n        var others = getMenus(state, state.otherMenus(path));\n        each$1(others, function (o) {\n          remove$1(o.element, [detail.markers.backgroundMenu]);\n          if (!detail.stayInDom) {\n            Replacing.remove(container, o);\n          }\n        });\n      };\n      var getSubmenuParents = function (container) {\n        return submenuParentItems.get().getOrThunk(function () {\n          var r = {};\n          var items = descendants(container.element, '.' + detail.markers.item);\n          var parentItems = filter$2(items, function (i) {\n            return get$d(i, 'aria-haspopup') === 'true';\n          });\n          each$1(parentItems, function (i) {\n            container.getSystem().getByDom(i).each(function (itemComp) {\n              var key = getItemValue(itemComp);\n              r[key] = itemComp;\n            });\n          });\n          submenuParentItems.set(r);\n          return r;\n        });\n      };\n      var updateAriaExpansions = function (container, path) {\n        var parentItems = getSubmenuParents(container);\n        each(parentItems, function (v, k) {\n          var expanded = contains$2(path, k);\n          set$8(v.element, 'aria-expanded', expanded);\n        });\n      };\n      var updateMenuPath = function (container, state, path) {\n        return Optional.from(path[0]).bind(function (latestMenuName) {\n          return state.lookupMenu(latestMenuName).bind(function (menuPrep) {\n            if (menuPrep.type === 'notbuilt') {\n              return Optional.none();\n            } else {\n              var activeMenu = menuPrep.menu;\n              var rest = getMenus(state, path.slice(1));\n              each$1(rest, function (r) {\n                add$2(r.element, detail.markers.backgroundMenu);\n              });\n              if (!inBody(activeMenu.element)) {\n                Replacing.append(container, premade(activeMenu));\n              }\n              remove$1(activeMenu.element, [detail.markers.backgroundMenu]);\n              setActiveMenu(container, activeMenu);\n              closeOthers(container, state, path);\n              return Optional.some(activeMenu);\n            }\n          });\n        });\n      };\n      var ExpandHighlightDecision;\n      (function (ExpandHighlightDecision) {\n        ExpandHighlightDecision[ExpandHighlightDecision['HighlightSubmenu'] = 0] = 'HighlightSubmenu';\n        ExpandHighlightDecision[ExpandHighlightDecision['HighlightParent'] = 1] = 'HighlightParent';\n      }(ExpandHighlightDecision || (ExpandHighlightDecision = {})));\n      var buildIfRequired = function (container, menuName, menuPrep) {\n        if (menuPrep.type === 'notbuilt') {\n          var menu = container.getSystem().build(menuPrep.nbMenu());\n          layeredState.setMenuBuilt(menuName, menu);\n          return menu;\n        } else {\n          return menuPrep.menu;\n        }\n      };\n      var expandRight = function (container, item, decision) {\n        if (decision === void 0) {\n          decision = ExpandHighlightDecision.HighlightSubmenu;\n        }\n        if (item.hasConfigured(Disabling) && Disabling.isDisabled(item)) {\n          return Optional.some(item);\n        } else {\n          var value = getItemValue(item);\n          return layeredState.expand(value).bind(function (path) {\n            updateAriaExpansions(container, path);\n            return Optional.from(path[0]).bind(function (menuName) {\n              return layeredState.lookupMenu(menuName).bind(function (activeMenuPrep) {\n                var activeMenu = buildIfRequired(container, menuName, activeMenuPrep);\n                if (!inBody(activeMenu.element)) {\n                  Replacing.append(container, premade(activeMenu));\n                }\n                detail.onOpenSubmenu(container, item, activeMenu, reverse(path));\n                if (decision === ExpandHighlightDecision.HighlightSubmenu) {\n                  Highlighting.highlightFirst(activeMenu);\n                  return updateMenuPath(container, layeredState, path);\n                } else {\n                  Highlighting.dehighlightAll(activeMenu);\n                  return Optional.some(item);\n                }\n              });\n            });\n          });\n        }\n      };\n      var collapseLeft = function (container, item) {\n        var value = getItemValue(item);\n        return layeredState.collapse(value).bind(function (path) {\n          updateAriaExpansions(container, path);\n          return updateMenuPath(container, layeredState, path).map(function (activeMenu) {\n            detail.onCollapseMenu(container, item, activeMenu);\n            return activeMenu;\n          });\n        });\n      };\n      var updateView = function (container, item) {\n        var value = getItemValue(item);\n        return layeredState.refresh(value).bind(function (path) {\n          updateAriaExpansions(container, path);\n          return updateMenuPath(container, layeredState, path);\n        });\n      };\n      var onRight = function (container, item) {\n        return inside(item.element) ? Optional.none() : expandRight(container, item, ExpandHighlightDecision.HighlightSubmenu);\n      };\n      var onLeft = function (container, item) {\n        return inside(item.element) ? Optional.none() : collapseLeft(container, item);\n      };\n      var onEscape = function (container, item) {\n        return collapseLeft(container, item).orThunk(function () {\n          return detail.onEscape(container, item).map(function () {\n            return container;\n          });\n        });\n      };\n      var keyOnItem = function (f) {\n        return function (container, simulatedEvent) {\n          return closest$1(simulatedEvent.getSource(), '.' + detail.markers.item).bind(function (target) {\n            return container.getSystem().getByDom(target).toOptional().bind(function (item) {\n              return f(container, item).map(always);\n            });\n          });\n        };\n      };\n      var events = derive$2([\n        run$1(focus(), function (sandbox, simulatedEvent) {\n          var item = simulatedEvent.event.item;\n          layeredState.lookupItem(getItemValue(item)).each(function () {\n            var menu = simulatedEvent.event.menu;\n            Highlighting.highlight(sandbox, menu);\n            var value = getItemValue(simulatedEvent.event.item);\n            layeredState.refresh(value).each(function (path) {\n              return closeOthers(sandbox, layeredState, path);\n            });\n          });\n        }),\n        runOnExecute$1(function (component, simulatedEvent) {\n          var target = simulatedEvent.event.target;\n          component.getSystem().getByDom(target).each(function (item) {\n            var itemValue = getItemValue(item);\n            if (itemValue.indexOf('collapse-item') === 0) {\n              collapseLeft(component, item);\n            }\n            expandRight(component, item, ExpandHighlightDecision.HighlightSubmenu).fold(function () {\n              detail.onExecute(component, item);\n            }, noop);\n          });\n        }),\n        runOnAttached(function (container, _simulatedEvent) {\n          setup(container).each(function (primary) {\n            Replacing.append(container, premade(primary));\n            detail.onOpenMenu(container, primary);\n            if (detail.highlightImmediately) {\n              setActiveMenu(container, primary);\n            }\n          });\n        })\n      ].concat(detail.navigateOnHover ? [run$1(hover(), function (sandbox, simulatedEvent) {\n          var item = simulatedEvent.event.item;\n          updateView(sandbox, item);\n          expandRight(sandbox, item, ExpandHighlightDecision.HighlightParent);\n          detail.onHover(sandbox, item);\n        })] : []));\n      var getActiveItem = function (container) {\n        return Highlighting.getHighlighted(container).bind(Highlighting.getHighlighted);\n      };\n      var collapseMenuApi = function (container) {\n        getActiveItem(container).each(function (currentItem) {\n          collapseLeft(container, currentItem);\n        });\n      };\n      var highlightPrimary = function (container) {\n        layeredState.getPrimary().each(function (primary) {\n          setActiveMenu(container, primary);\n        });\n      };\n      var extractMenuFromContainer = function (container) {\n        return Optional.from(container.components()[0]).filter(function (comp) {\n          return get$d(comp.element, 'role') === 'menu';\n        });\n      };\n      var repositionMenus = function (container) {\n        var maybeActivePrimary = layeredState.getPrimary().bind(function (primary) {\n          return getActiveItem(container).bind(function (currentItem) {\n            var itemValue = getItemValue(currentItem);\n            var allMenus = values(layeredState.getMenus());\n            var preparedMenus = cat(map$2(allMenus, LayeredState.extractPreparedMenu));\n            return layeredState.getTriggeringPath(itemValue, function (v) {\n              return getItemByValue(container, preparedMenus, v);\n            });\n          }).map(function (triggeringPath) {\n            return {\n              primary: primary,\n              triggeringPath: triggeringPath\n            };\n          });\n        });\n        maybeActivePrimary.fold(function () {\n          extractMenuFromContainer(container).each(function (primaryMenu) {\n            detail.onRepositionMenu(container, primaryMenu, []);\n          });\n        }, function (_a) {\n          var primary = _a.primary, triggeringPath = _a.triggeringPath;\n          detail.onRepositionMenu(container, primary, triggeringPath);\n        });\n      };\n      var apis = {\n        collapseMenu: collapseMenuApi,\n        highlightPrimary: highlightPrimary,\n        repositionMenus: repositionMenus\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        markers: detail.markers,\n        behaviours: augment(detail.tmenuBehaviours, [\n          Keying.config({\n            mode: 'special',\n            onRight: keyOnItem(onRight),\n            onLeft: keyOnItem(onLeft),\n            onEscape: keyOnItem(onEscape),\n            focusIn: function (container, _keyInfo) {\n              layeredState.getPrimary().each(function (primary) {\n                dispatch(container, primary.element, focusItem());\n              });\n            }\n          }),\n          Highlighting.config({\n            highlightClass: detail.markers.selectedMenu,\n            itemClass: detail.markers.menu\n          }),\n          Composing.config({\n            find: function (container) {\n              return Highlighting.getHighlighted(container);\n            }\n          }),\n          Replacing.config({})\n        ]),\n        eventOrder: detail.eventOrder,\n        apis: apis,\n        events: events\n      };\n    };\n    var collapseItem$1 = constant$1('collapse-item');\n\n    var tieredData = function (primary, menus, expansions) {\n      return {\n        primary: primary,\n        menus: menus,\n        expansions: expansions\n      };\n    };\n    var singleData = function (name, menu) {\n      return {\n        primary: name,\n        menus: wrap$1(name, menu),\n        expansions: {}\n      };\n    };\n    var collapseItem = function (text) {\n      return {\n        value: generate$6(collapseItem$1()),\n        meta: { text: text }\n      };\n    };\n    var tieredMenu = single({\n      name: 'TieredMenu',\n      configFields: [\n        onStrictKeyboardHandler('onExecute'),\n        onStrictKeyboardHandler('onEscape'),\n        onStrictHandler('onOpenMenu'),\n        onStrictHandler('onOpenSubmenu'),\n        onHandler('onRepositionMenu'),\n        onHandler('onCollapseMenu'),\n        defaulted('highlightImmediately', true),\n        requiredObjOf('data', [\n          required$1('primary'),\n          required$1('menus'),\n          required$1('expansions')\n        ]),\n        defaulted('fakeFocus', false),\n        onHandler('onHighlight'),\n        onHandler('onHover'),\n        tieredMenuMarkers(),\n        required$1('dom'),\n        defaulted('navigateOnHover', true),\n        defaulted('stayInDom', false),\n        field('tmenuBehaviours', [\n          Keying,\n          Highlighting,\n          Composing,\n          Replacing\n        ]),\n        defaulted('eventOrder', {})\n      ],\n      apis: {\n        collapseMenu: function (apis, tmenu) {\n          apis.collapseMenu(tmenu);\n        },\n        highlightPrimary: function (apis, tmenu) {\n          apis.highlightPrimary(tmenu);\n        },\n        repositionMenus: function (apis, tmenu) {\n          apis.repositionMenus(tmenu);\n        }\n      },\n      factory: make$6,\n      extraApis: {\n        tieredData: tieredData,\n        singleData: singleData,\n        collapseItem: collapseItem\n      }\n    });\n\n    var makeMenu = function (detail, menuSandbox, placementSpec, menuSpec, getBounds) {\n      var lazySink = function () {\n        return detail.lazySink(menuSandbox);\n      };\n      var layouts = menuSpec.type === 'horizontal' ? {\n        layouts: {\n          onLtr: function () {\n            return belowOrAbove();\n          },\n          onRtl: function () {\n            return belowOrAboveRtl();\n          }\n        }\n      } : {};\n      var isFirstTierSubmenu = function (triggeringPaths) {\n        return triggeringPaths.length === 2;\n      };\n      var getSubmenuLayouts = function (triggeringPaths) {\n        return isFirstTierSubmenu(triggeringPaths) ? layouts : {};\n      };\n      return tieredMenu.sketch({\n        dom: { tag: 'div' },\n        data: menuSpec.data,\n        markers: menuSpec.menu.markers,\n        highlightImmediately: menuSpec.menu.highlightImmediately,\n        onEscape: function () {\n          Sandboxing.close(menuSandbox);\n          detail.onEscape.map(function (handler) {\n            return handler(menuSandbox);\n          });\n          return Optional.some(true);\n        },\n        onExecute: function () {\n          return Optional.some(true);\n        },\n        onOpenMenu: function (tmenu, menu) {\n          Positioning.positionWithinBounds(lazySink().getOrDie(), menu, placementSpec, getBounds());\n        },\n        onOpenSubmenu: function (tmenu, item, submenu, triggeringPaths) {\n          var sink = lazySink().getOrDie();\n          Positioning.position(sink, submenu, {\n            anchor: __assign({\n              type: 'submenu',\n              item: item\n            }, getSubmenuLayouts(triggeringPaths))\n          });\n        },\n        onRepositionMenu: function (tmenu, primaryMenu, submenuTriggers) {\n          var sink = lazySink().getOrDie();\n          Positioning.positionWithinBounds(sink, primaryMenu, placementSpec, getBounds());\n          each$1(submenuTriggers, function (st) {\n            var submenuLayouts = getSubmenuLayouts(st.triggeringPath);\n            Positioning.position(sink, st.triggeredMenu, {\n              anchor: __assign({\n                type: 'submenu',\n                item: st.triggeringItem\n              }, submenuLayouts)\n            });\n          });\n        }\n      });\n    };\n    var factory$m = function (detail, spec) {\n      var isPartOfRelated = function (sandbox, queryElem) {\n        var related = detail.getRelated(sandbox);\n        return related.exists(function (rel) {\n          return isPartOf$1(rel, queryElem);\n        });\n      };\n      var setContent = function (sandbox, thing) {\n        Sandboxing.setContent(sandbox, thing);\n      };\n      var showAt = function (sandbox, thing, placementSpec) {\n        showWithin(sandbox, thing, placementSpec, Optional.none());\n      };\n      var showWithin = function (sandbox, thing, placementSpec, boxElement) {\n        showWithinBounds(sandbox, thing, placementSpec, function () {\n          return boxElement.map(function (elem) {\n            return box$1(elem);\n          });\n        });\n      };\n      var showWithinBounds = function (sandbox, thing, placementSpec, getBounds) {\n        var sink = detail.lazySink(sandbox).getOrDie();\n        Sandboxing.openWhileCloaked(sandbox, thing, function () {\n          return Positioning.positionWithinBounds(sink, sandbox, placementSpec, getBounds());\n        });\n        Representing.setValue(sandbox, Optional.some({\n          mode: 'position',\n          config: placementSpec,\n          getBounds: getBounds\n        }));\n      };\n      var showMenuAt = function (sandbox, placementSpec, menuSpec) {\n        showMenuWithinBounds(sandbox, placementSpec, menuSpec, Optional.none);\n      };\n      var showMenuWithinBounds = function (sandbox, placementSpec, menuSpec, getBounds) {\n        var menu = makeMenu(detail, sandbox, placementSpec, menuSpec, getBounds);\n        Sandboxing.open(sandbox, menu);\n        Representing.setValue(sandbox, Optional.some({\n          mode: 'menu',\n          menu: menu\n        }));\n      };\n      var hide = function (sandbox) {\n        if (Sandboxing.isOpen(sandbox)) {\n          Representing.setValue(sandbox, Optional.none());\n          Sandboxing.close(sandbox);\n        }\n      };\n      var getContent = function (sandbox) {\n        return Sandboxing.getState(sandbox);\n      };\n      var reposition = function (sandbox) {\n        if (Sandboxing.isOpen(sandbox)) {\n          Representing.getValue(sandbox).each(function (state) {\n            switch (state.mode) {\n            case 'menu':\n              Sandboxing.getState(sandbox).each(tieredMenu.repositionMenus);\n              break;\n            case 'position':\n              var sink = detail.lazySink(sandbox).getOrDie();\n              Positioning.positionWithinBounds(sink, sandbox, state.config, state.getBounds());\n              break;\n            }\n          });\n        }\n      };\n      var apis = {\n        setContent: setContent,\n        showAt: showAt,\n        showWithin: showWithin,\n        showWithinBounds: showWithinBounds,\n        showMenuAt: showMenuAt,\n        showMenuWithinBounds: showMenuWithinBounds,\n        hide: hide,\n        getContent: getContent,\n        reposition: reposition,\n        isOpen: Sandboxing.isOpen\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        behaviours: augment(detail.inlineBehaviours, [\n          Sandboxing.config({\n            isPartOf: function (sandbox, data, queryElem) {\n              return isPartOf$1(data, queryElem) || isPartOfRelated(sandbox, queryElem);\n            },\n            getAttachPoint: function (sandbox) {\n              return detail.lazySink(sandbox).getOrDie();\n            },\n            onOpen: function (sandbox) {\n              detail.onShow(sandbox);\n            },\n            onClose: function (sandbox) {\n              detail.onHide(sandbox);\n            }\n          }),\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: Optional.none()\n            }\n          }),\n          Receiving.config({\n            channels: __assign(__assign({}, receivingChannel$1(__assign({ isExtraPart: spec.isExtraPart }, detail.fireDismissalEventInstead.map(function (fe) {\n              return { fireEventInstead: { event: fe.event } };\n            }).getOr({})))), receivingChannel(__assign(__assign({}, detail.fireRepositionEventInstead.map(function (fe) {\n              return { fireEventInstead: { event: fe.event } };\n            }).getOr({})), { doReposition: reposition })))\n          })\n        ]),\n        eventOrder: detail.eventOrder,\n        apis: apis\n      };\n    };\n    var InlineView = single({\n      name: 'InlineView',\n      configFields: [\n        required$1('lazySink'),\n        onHandler('onShow'),\n        onHandler('onHide'),\n        optionFunction('onEscape'),\n        field('inlineBehaviours', [\n          Sandboxing,\n          Representing,\n          Receiving\n        ]),\n        optionObjOf('fireDismissalEventInstead', [defaulted('event', dismissRequested())]),\n        optionObjOf('fireRepositionEventInstead', [defaulted('event', repositionRequested())]),\n        defaulted('getRelated', Optional.none),\n        defaulted('isExtraPart', never),\n        defaulted('eventOrder', Optional.none)\n      ],\n      factory: factory$m,\n      apis: {\n        showAt: function (apis, component, anchor, thing) {\n          apis.showAt(component, anchor, thing);\n        },\n        showWithin: function (apis, component, anchor, thing, boxElement) {\n          apis.showWithin(component, anchor, thing, boxElement);\n        },\n        showWithinBounds: function (apis, component, anchor, thing, bounds) {\n          apis.showWithinBounds(component, anchor, thing, bounds);\n        },\n        showMenuAt: function (apis, component, anchor, menuSpec) {\n          apis.showMenuAt(component, anchor, menuSpec);\n        },\n        showMenuWithinBounds: function (apis, component, anchor, menuSpec, bounds) {\n          apis.showMenuWithinBounds(component, anchor, menuSpec, bounds);\n        },\n        hide: function (apis, component) {\n          apis.hide(component);\n        },\n        isOpen: function (apis, component) {\n          return apis.isOpen(component);\n        },\n        getContent: function (apis, component) {\n          return apis.getContent(component);\n        },\n        setContent: function (apis, component, thing) {\n          apis.setContent(component, thing);\n        },\n        reposition: function (apis, component) {\n          apis.reposition(component);\n        }\n      }\n    });\n\n    var labelPrefix = 'layout-inset';\n    var westEdgeX = function (anchor) {\n      return anchor.x;\n    };\n    var middleX = function (anchor, element) {\n      return anchor.x + anchor.width / 2 - element.width / 2;\n    };\n    var eastEdgeX = function (anchor, element) {\n      return anchor.x + anchor.width - element.width;\n    };\n    var northY = function (anchor) {\n      return anchor.y;\n    };\n    var southY = function (anchor, element) {\n      return anchor.y + anchor.height - element.height;\n    };\n    var centreY = function (anchor, element) {\n      return anchor.y + anchor.height / 2 - element.height / 2;\n    };\n    var southwest = function (anchor, element, bubbles) {\n      return nu$6(eastEdgeX(anchor, element), southY(anchor, element), bubbles.insetSouthwest(), northwest$3(), 'southwest', boundsRestriction(anchor, {\n        right: 0,\n        bottom: 3\n      }), labelPrefix);\n    };\n    var southeast = function (anchor, element, bubbles) {\n      return nu$6(westEdgeX(anchor), southY(anchor, element), bubbles.insetSoutheast(), northeast$3(), 'southeast', boundsRestriction(anchor, {\n        left: 1,\n        bottom: 3\n      }), labelPrefix);\n    };\n    var northwest = function (anchor, element, bubbles) {\n      return nu$6(eastEdgeX(anchor, element), northY(anchor), bubbles.insetNorthwest(), southwest$3(), 'northwest', boundsRestriction(anchor, {\n        right: 0,\n        top: 2\n      }), labelPrefix);\n    };\n    var northeast = function (anchor, element, bubbles) {\n      return nu$6(westEdgeX(anchor), northY(anchor), bubbles.insetNortheast(), southeast$3(), 'northeast', boundsRestriction(anchor, {\n        left: 1,\n        top: 2\n      }), labelPrefix);\n    };\n    var north = function (anchor, element, bubbles) {\n      return nu$6(middleX(anchor, element), northY(anchor), bubbles.insetNorth(), south$3(), 'north', boundsRestriction(anchor, { top: 2 }), labelPrefix);\n    };\n    var south = function (anchor, element, bubbles) {\n      return nu$6(middleX(anchor, element), southY(anchor, element), bubbles.insetSouth(), north$3(), 'south', boundsRestriction(anchor, { bottom: 3 }), labelPrefix);\n    };\n    var east = function (anchor, element, bubbles) {\n      return nu$6(eastEdgeX(anchor, element), centreY(anchor, element), bubbles.insetEast(), west$3(), 'east', boundsRestriction(anchor, { right: 0 }), labelPrefix);\n    };\n    var west = function (anchor, element, bubbles) {\n      return nu$6(westEdgeX(anchor), centreY(anchor, element), bubbles.insetWest(), east$3(), 'west', boundsRestriction(anchor, { left: 1 }), labelPrefix);\n    };\n    var lookupPreserveLayout = function (lastPlacement) {\n      switch (lastPlacement) {\n      case 'north':\n        return north;\n      case 'northeast':\n        return northeast;\n      case 'northwest':\n        return northwest;\n      case 'south':\n        return south;\n      case 'southeast':\n        return southeast;\n      case 'southwest':\n        return southwest;\n      case 'east':\n        return east;\n      case 'west':\n        return west;\n      }\n    };\n    var preserve = function (anchor, element, bubbles, placee, bounds) {\n      var layout = getPlacement(placee).map(lookupPreserveLayout).getOr(north);\n      return layout(anchor, element, bubbles, placee, bounds);\n    };\n    var lookupFlippedLayout = function (lastPlacement) {\n      switch (lastPlacement) {\n      case 'north':\n        return south;\n      case 'northeast':\n        return southeast;\n      case 'northwest':\n        return southwest;\n      case 'south':\n        return north;\n      case 'southeast':\n        return northeast;\n      case 'southwest':\n        return northwest;\n      case 'east':\n        return west;\n      case 'west':\n        return east;\n      }\n    };\n    var flip$2 = function (anchor, element, bubbles, placee, bounds) {\n      var layout = getPlacement(placee).map(lookupFlippedLayout).getOr(north);\n      return layout(anchor, element, bubbles, placee, bounds);\n    };\n\n    var global$f = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var factory$l = function (detail) {\n      var events = events$a(detail.action);\n      var tag = detail.dom.tag;\n      var lookupAttr = function (attr) {\n        return get$e(detail.dom, 'attributes').bind(function (attrs) {\n          return get$e(attrs, attr);\n        });\n      };\n      var getModAttributes = function () {\n        if (tag === 'button') {\n          var type = lookupAttr('type').getOr('button');\n          var roleAttrs = lookupAttr('role').map(function (role) {\n            return { role: role };\n          }).getOr({});\n          return __assign({ type: type }, roleAttrs);\n        } else {\n          var role = lookupAttr('role').getOr('button');\n          return { role: role };\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: detail.components,\n        events: events,\n        behaviours: SketchBehaviours.augment(detail.buttonBehaviours, [\n          Focusing.config({}),\n          Keying.config({\n            mode: 'execution',\n            useSpace: true,\n            useEnter: true\n          })\n        ]),\n        domModification: { attributes: getModAttributes() },\n        eventOrder: detail.eventOrder\n      };\n    };\n    var Button = single({\n      name: 'Button',\n      factory: factory$l,\n      configFields: [\n        defaulted('uid', undefined),\n        required$1('dom'),\n        defaulted('components', []),\n        SketchBehaviours.field('buttonBehaviours', [\n          Focusing,\n          Keying\n        ]),\n        option('action'),\n        option('role'),\n        defaulted('eventOrder', {})\n      ]\n    });\n\n    var record = function (spec) {\n      var uid = isSketchSpec(spec) && hasNonNullableKey(spec, 'uid') ? spec.uid : generate$5('memento');\n      var get = function (anyInSystem) {\n        return anyInSystem.getSystem().getByUid(uid).getOrDie();\n      };\n      var getOpt = function (anyInSystem) {\n        return anyInSystem.getSystem().getByUid(uid).toOptional();\n      };\n      var asSpec = function () {\n        return __assign(__assign({}, spec), { uid: uid });\n      };\n      return {\n        get: get,\n        getOpt: getOpt,\n        asSpec: asSpec\n      };\n    };\n\n    var global$e = tinymce.util.Tools.resolve('tinymce.util.I18n');\n\n    var rtlTransform = {\n      'indent': true,\n      'outdent': true,\n      'table-insert-column-after': true,\n      'table-insert-column-before': true,\n      'paste-column-after': true,\n      'paste-column-before': true,\n      'unordered-list': true,\n      'list-bull-circle': true,\n      'list-bull-default': true,\n      'list-bull-square': true\n    };\n    var defaultIconName = 'temporary-placeholder';\n    var defaultIcon = function (icons) {\n      return function () {\n        return get$e(icons, defaultIconName).getOr('!not found!');\n      };\n    };\n    var getIconName = function (name, icons) {\n      var lcName = name.toLowerCase();\n      if (global$e.isRtl()) {\n        var rtlName = ensureTrailing(lcName, '-rtl');\n        return has$2(icons, rtlName) ? rtlName : lcName;\n      } else {\n        return lcName;\n      }\n    };\n    var lookupIcon = function (name, icons) {\n      return get$e(icons, getIconName(name, icons));\n    };\n    var get$1 = function (name, iconProvider) {\n      var icons = iconProvider();\n      return lookupIcon(name, icons).getOrThunk(defaultIcon(icons));\n    };\n    var getOr = function (name, iconProvider, fallbackIcon) {\n      var icons = iconProvider();\n      return lookupIcon(name, icons).or(fallbackIcon).getOrThunk(defaultIcon(icons));\n    };\n    var needsRtlTransform = function (iconName) {\n      return global$e.isRtl() ? has$2(rtlTransform, iconName) : false;\n    };\n    var addFocusableBehaviour = function () {\n      return config('add-focusable', [runOnAttached(function (comp) {\n          child(comp.element, 'svg').each(function (svg) {\n            return set$8(svg, 'focusable', 'false');\n          });\n        })]);\n    };\n    var renderIcon$2 = function (spec, iconName, icons, fallbackIcon) {\n      var _a, _b;\n      var rtlIconClasses = needsRtlTransform(iconName) ? ['tox-icon--flip'] : [];\n      var iconHtml = get$e(icons, getIconName(iconName, icons)).or(fallbackIcon).getOrThunk(defaultIcon(icons));\n      return {\n        dom: {\n          tag: spec.tag,\n          attributes: (_a = spec.attributes) !== null && _a !== void 0 ? _a : {},\n          classes: spec.classes.concat(rtlIconClasses),\n          innerHtml: iconHtml\n        },\n        behaviours: derive$1(__spreadArray(__spreadArray([], (_b = spec.behaviours) !== null && _b !== void 0 ? _b : [], true), [addFocusableBehaviour()], false))\n      };\n    };\n    var render$3 = function (iconName, spec, iconProvider, fallbackIcon) {\n      if (fallbackIcon === void 0) {\n        fallbackIcon = Optional.none();\n      }\n      return renderIcon$2(spec, iconName, iconProvider(), fallbackIcon);\n    };\n    var renderFirst = function (iconNames, spec, iconProvider) {\n      var icons = iconProvider();\n      var iconName = find$5(iconNames, function (name) {\n        return has$2(icons, getIconName(name, icons));\n      });\n      return renderIcon$2(spec, iconName.getOr(defaultIconName), icons, Optional.none());\n    };\n\n    var notificationIconMap = {\n      success: 'checkmark',\n      error: 'warning',\n      err: 'error',\n      warning: 'warning',\n      warn: 'warning',\n      info: 'info'\n    };\n    var factory$k = function (detail) {\n      var memBannerText = record({\n        dom: {\n          tag: 'p',\n          innerHtml: detail.translationProvider(detail.text)\n        },\n        behaviours: derive$1([Replacing.config({})])\n      });\n      var renderPercentBar = function (percent) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-bar'],\n            attributes: { style: 'width: ' + percent + '%' }\n          }\n        };\n      };\n      var renderPercentText = function (percent) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-text'],\n            innerHtml: percent + '%'\n          }\n        };\n      };\n      var memBannerProgress = record({\n        dom: {\n          tag: 'div',\n          classes: detail.progress ? [\n            'tox-progress-bar',\n            'tox-progress-indicator'\n          ] : ['tox-progress-bar']\n        },\n        components: [\n          {\n            dom: {\n              tag: 'div',\n              classes: ['tox-bar-container']\n            },\n            components: [renderPercentBar(0)]\n          },\n          renderPercentText(0)\n        ],\n        behaviours: derive$1([Replacing.config({})])\n      });\n      var updateProgress = function (comp, percent) {\n        if (comp.getSystem().isConnected()) {\n          memBannerProgress.getOpt(comp).each(function (progress) {\n            Replacing.set(progress, [\n              {\n                dom: {\n                  tag: 'div',\n                  classes: ['tox-bar-container']\n                },\n                components: [renderPercentBar(percent)]\n              },\n              renderPercentText(percent)\n            ]);\n          });\n        }\n      };\n      var updateText = function (comp, text$1) {\n        if (comp.getSystem().isConnected()) {\n          var banner = memBannerText.get(comp);\n          Replacing.set(banner, [text(text$1)]);\n        }\n      };\n      var apis = {\n        updateProgress: updateProgress,\n        updateText: updateText\n      };\n      var iconChoices = flatten([\n        detail.icon.toArray(),\n        detail.level.toArray(),\n        detail.level.bind(function (level) {\n          return Optional.from(notificationIconMap[level]);\n        }).toArray()\n      ]);\n      var memButton = record(Button.sketch({\n        dom: {\n          tag: 'button',\n          classes: [\n            'tox-notification__dismiss',\n            'tox-button',\n            'tox-button--naked',\n            'tox-button--icon'\n          ]\n        },\n        components: [render$3('close', {\n            tag: 'div',\n            classes: ['tox-icon'],\n            attributes: { 'aria-label': detail.translationProvider('Close') }\n          }, detail.iconProvider)],\n        action: function (comp) {\n          detail.onAction(comp);\n        }\n      }));\n      var notificationIconSpec = renderFirst(iconChoices, {\n        tag: 'div',\n        classes: ['tox-notification__icon']\n      }, detail.iconProvider);\n      var notificationBodySpec = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-notification__body']\n        },\n        components: [memBannerText.asSpec()],\n        behaviours: derive$1([Replacing.config({})])\n      };\n      var components = [\n        notificationIconSpec,\n        notificationBodySpec\n      ];\n      return {\n        uid: detail.uid,\n        dom: {\n          tag: 'div',\n          attributes: { role: 'alert' },\n          classes: detail.level.map(function (level) {\n            return [\n              'tox-notification',\n              'tox-notification--in',\n              'tox-notification--' + level\n            ];\n          }).getOr([\n            'tox-notification',\n            'tox-notification--in'\n          ])\n        },\n        behaviours: derive$1([\n          Focusing.config({}),\n          config('notification-events', [run$1(focusin(), function (comp) {\n              memButton.getOpt(comp).each(Focusing.focus);\n            })])\n        ]),\n        components: components.concat(detail.progress ? [memBannerProgress.asSpec()] : []).concat(!detail.closeButton ? [] : [memButton.asSpec()]),\n        apis: apis\n      };\n    };\n    var Notification = single({\n      name: 'Notification',\n      factory: factory$k,\n      configFields: [\n        option('level'),\n        required$1('progress'),\n        required$1('icon'),\n        required$1('onAction'),\n        required$1('text'),\n        required$1('iconProvider'),\n        required$1('translationProvider'),\n        defaultedBoolean('closeButton', true)\n      ],\n      apis: {\n        updateProgress: function (apis, comp, percent) {\n          apis.updateProgress(comp, percent);\n        },\n        updateText: function (apis, comp, text) {\n          apis.updateText(comp, text);\n        }\n      }\n    });\n\n    function NotificationManagerImpl (editor, extras, uiMothership) {\n      var sharedBackstage = extras.backstage.shared;\n      var getLayoutDirection = function (rel) {\n        switch (rel) {\n        case 'bc-bc':\n          return south;\n        case 'tc-tc':\n          return north;\n        case 'tc-bc':\n          return north$2;\n        case 'bc-tc':\n        default:\n          return south$2;\n        }\n      };\n      var reposition = function (notifications) {\n        if (notifications.length > 0) {\n          each$1(notifications, function (notification, index) {\n            if (index === 0) {\n              notification.moveRel(null, 'banner');\n            } else {\n              notification.moveRel(notifications[index - 1].getEl(), 'bc-tc');\n            }\n          });\n        }\n      };\n      var open = function (settings, closeCallback) {\n        var hideCloseButton = !settings.closeButton && settings.timeout && (settings.timeout > 0 || settings.timeout < 0);\n        var close = function () {\n          closeCallback();\n          InlineView.hide(notificationWrapper);\n        };\n        var notification = build$1(Notification.sketch({\n          text: settings.text,\n          level: contains$2([\n            'success',\n            'error',\n            'warning',\n            'warn',\n            'info'\n          ], settings.type) ? settings.type : undefined,\n          progress: settings.progressBar === true,\n          icon: Optional.from(settings.icon),\n          closeButton: !hideCloseButton,\n          onAction: close,\n          iconProvider: sharedBackstage.providers.icons,\n          translationProvider: sharedBackstage.providers.translate\n        }));\n        var notificationWrapper = build$1(InlineView.sketch(__assign({\n          dom: {\n            tag: 'div',\n            classes: ['tox-notifications-container']\n          },\n          lazySink: sharedBackstage.getSink,\n          fireDismissalEventInstead: {}\n        }, sharedBackstage.header.isPositionedAtTop() ? {} : { fireRepositionEventInstead: {} })));\n        uiMothership.add(notificationWrapper);\n        if (settings.timeout > 0) {\n          global$f.setTimeout(function () {\n            close();\n          }, settings.timeout);\n        }\n        var getBounds = function () {\n          var contentArea = box$1(SugarElement.fromDom(editor.getContentAreaContainer()));\n          var win$1 = win();\n          var x = clamp$1(win$1.x, contentArea.x, contentArea.right);\n          var y = clamp$1(win$1.y, contentArea.y, contentArea.bottom);\n          var right = Math.max(contentArea.right, win$1.right);\n          var bottom = Math.max(contentArea.bottom, win$1.bottom);\n          return Optional.some(bounds(x, y, right - x, bottom - y));\n        };\n        return {\n          close: close,\n          moveTo: function (x, y) {\n            InlineView.showAt(notificationWrapper, premade(notification), {\n              anchor: {\n                type: 'makeshift',\n                x: x,\n                y: y\n              }\n            });\n          },\n          moveRel: function (element, rel) {\n            var notificationSpec = premade(notification);\n            var anchorOverrides = { maxHeightFunction: expandable$1() };\n            if (rel !== 'banner' && isNonNullable(element)) {\n              var layoutDirection_1 = getLayoutDirection(rel);\n              var nodeAnchor = {\n                type: 'node',\n                root: body(),\n                node: Optional.some(SugarElement.fromDom(element)),\n                overrides: anchorOverrides,\n                layouts: {\n                  onRtl: function () {\n                    return [layoutDirection_1];\n                  },\n                  onLtr: function () {\n                    return [layoutDirection_1];\n                  }\n                }\n              };\n              InlineView.showWithinBounds(notificationWrapper, notificationSpec, { anchor: nodeAnchor }, getBounds);\n            } else {\n              var anchor = __assign(__assign({}, sharedBackstage.anchors.banner()), { overrides: anchorOverrides });\n              InlineView.showWithinBounds(notificationWrapper, notificationSpec, { anchor: anchor }, getBounds);\n            }\n          },\n          text: function (nuText) {\n            Notification.updateText(notification, nuText);\n          },\n          settings: settings,\n          getEl: function () {\n            return notification.element.dom;\n          },\n          progressBar: {\n            value: function (percent) {\n              Notification.updateProgress(notification, percent);\n            }\n          }\n        };\n      };\n      var close = function (notification) {\n        notification.close();\n      };\n      var getArgs = function (notification) {\n        return notification.settings;\n      };\n      return {\n        open: open,\n        close: close,\n        reposition: reposition,\n        getArgs: getArgs\n      };\n    }\n\n    var first = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (isNull(timer)) {\n          timer = setTimeout(function () {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n    var last = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        cancel();\n        timer = setTimeout(function () {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n\n    var global$d = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker');\n\n    var isBoundary = function (dom, node) {\n      return dom.isBlock(node) || contains$2([\n        'BR',\n        'IMG',\n        'HR',\n        'INPUT'\n      ], node.nodeName) || dom.getContentEditable(node) === 'false';\n    };\n    var repeatLeft = function (dom, node, offset, process, rootNode) {\n      var search = global$d(dom, function (node) {\n        return isBoundary(dom, node);\n      });\n      return Optional.from(search.backwards(node, offset, process, rootNode));\n    };\n\n    var autocompleteSelector = '[data-mce-autocompleter]';\n    var create$4 = function (editor, range) {\n      return detect(SugarElement.fromDom(editor.selection.getNode())).getOrThunk(function () {\n        var wrapper = SugarElement.fromHtml('<span data-mce-autocompleter=\"1\" data-mce-bogus=\"1\"></span>', editor.getDoc());\n        append$2(wrapper, SugarElement.fromDom(range.extractContents()));\n        range.insertNode(wrapper.dom);\n        parent(wrapper).each(function (elm) {\n          return elm.dom.normalize();\n        });\n        last$1(wrapper).map(function (last) {\n          editor.selection.setCursorLocation(last.dom, getEnd(last));\n        });\n        return wrapper;\n      });\n    };\n    var detect = function (elm) {\n      return closest$1(elm, autocompleteSelector);\n    };\n\n    var isValidTextRange = function (rng) {\n      return rng.collapsed && rng.startContainer.nodeType === 3;\n    };\n    var getText = function (rng) {\n      return rng.toString().replace(/\\u00A0/g, ' ').replace(/\\uFEFF/g, '');\n    };\n    var isWhitespace = function (chr) {\n      return chr !== '' && ' \\xA0\\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n    };\n\n    var stripTriggerChar = function (text, triggerCh) {\n      return text.substring(triggerCh.length);\n    };\n    var findChar = function (text, index, ch) {\n      var i;\n      for (i = index - 1; i >= 0; i--) {\n        var char = text.charAt(i);\n        if (isWhitespace(char)) {\n          return Optional.none();\n        }\n        if (char === ch) {\n          break;\n        }\n      }\n      return Optional.some(i);\n    };\n    var findStart = function (dom, initRange, ch, minChars) {\n      if (minChars === void 0) {\n        minChars = 0;\n      }\n      if (!isValidTextRange(initRange)) {\n        return Optional.none();\n      }\n      var findTriggerChIndex = function (element, offset, text) {\n        return findChar(text, offset, ch).getOr(offset);\n      };\n      var root = dom.getParent(initRange.startContainer, dom.isBlock) || dom.getRoot();\n      return repeatLeft(dom, initRange.startContainer, initRange.startOffset, findTriggerChIndex, root).bind(function (spot) {\n        var range = initRange.cloneRange();\n        range.setStart(spot.container, spot.offset);\n        range.setEnd(initRange.endContainer, initRange.endOffset);\n        if (range.collapsed) {\n          return Optional.none();\n        }\n        var text = getText(range);\n        var triggerCharIndex = text.lastIndexOf(ch);\n        if (triggerCharIndex !== 0 || stripTriggerChar(text, ch).length < minChars) {\n          return Optional.none();\n        } else {\n          return Optional.some({\n            text: stripTriggerChar(text, ch),\n            range: range,\n            triggerChar: ch\n          });\n        }\n      });\n    };\n    var getContext = function (dom, initRange, ch, minChars) {\n      if (minChars === void 0) {\n        minChars = 0;\n      }\n      return detect(SugarElement.fromDom(initRange.startContainer)).fold(function () {\n        return findStart(dom, initRange, ch, minChars);\n      }, function (elm) {\n        var range = dom.createRng();\n        range.selectNode(elm.dom);\n        var text = getText(range);\n        return Optional.some({\n          range: range,\n          text: stripTriggerChar(text, ch),\n          triggerChar: ch\n        });\n      });\n    };\n\n    var setup$e = function (api, editor) {\n      editor.on('keypress compositionend', api.onKeypress.throttle);\n      editor.on('remove', api.onKeypress.cancel);\n      var redirectKeyToItem = function (item, e) {\n        emitWith(item, keydown(), { raw: e });\n      };\n      editor.on('keydown', function (e) {\n        var getItem = function () {\n          return api.getView().bind(Highlighting.getHighlighted);\n        };\n        if (e.which === 8) {\n          api.onKeypress.throttle(e);\n        }\n        if (api.isActive()) {\n          if (e.which === 27) {\n            api.cancelIfNecessary();\n          }\n          if (api.isMenuOpen()) {\n            if (e.which === 13) {\n              getItem().each(emitExecute);\n              e.preventDefault();\n            } else if (e.which === 40) {\n              getItem().fold(function () {\n                api.getView().each(Highlighting.highlightFirst);\n              }, function (item) {\n                redirectKeyToItem(item, e);\n              });\n              e.preventDefault();\n              e.stopImmediatePropagation();\n            } else if (e.which === 37 || e.which === 38 || e.which === 39) {\n              getItem().each(function (item) {\n                redirectKeyToItem(item, e);\n                e.preventDefault();\n                e.stopImmediatePropagation();\n              });\n            }\n          } else {\n            if (e.which === 13 || e.which === 38 || e.which === 40) {\n              api.cancelIfNecessary();\n            }\n          }\n        }\n      });\n      editor.on('NodeChange', function (e) {\n        if (api.isActive() && !api.isProcessingAction() && detect(SugarElement.fromDom(e.element)).isNone()) {\n          api.cancelIfNecessary();\n        }\n      });\n    };\n    var AutocompleterEditorEvents = { setup: setup$e };\n\n    var global$c = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n    var point = function (container, offset) {\n      return {\n        container: container,\n        offset: offset\n      };\n    };\n\n    var isText = function (node) {\n      return node.nodeType === TEXT;\n    };\n    var isElement$1 = function (node) {\n      return node.nodeType === ELEMENT;\n    };\n    var toLast = function (node) {\n      if (isText(node)) {\n        return point(node, node.data.length);\n      } else {\n        var children = node.childNodes;\n        return children.length > 0 ? toLast(children[children.length - 1]) : point(node, children.length);\n      }\n    };\n    var toLeaf = function (node, offset) {\n      var children = node.childNodes;\n      if (children.length > 0 && offset < children.length) {\n        return toLeaf(children[offset], 0);\n      } else if (children.length > 0 && isElement$1(node) && children.length === offset) {\n        return toLast(children[children.length - 1]);\n      } else {\n        return point(node, offset);\n      }\n    };\n\n    var isPreviousCharContent = function (dom, leaf) {\n      return repeatLeft(dom, leaf.container, leaf.offset, function (element, offset) {\n        return offset === 0 ? -1 : offset;\n      }, dom.getRoot()).filter(function (spot) {\n        var char = spot.container.data.charAt(spot.offset - 1);\n        return !isWhitespace(char);\n      }).isSome();\n    };\n    var isStartOfWord = function (dom) {\n      return function (rng) {\n        var leaf = toLeaf(rng.startContainer, rng.startOffset);\n        return !isPreviousCharContent(dom, leaf);\n      };\n    };\n    var getTriggerContext = function (dom, initRange, database) {\n      return findMap(database.triggerChars, function (ch) {\n        return getContext(dom, initRange, ch);\n      });\n    };\n    var lookup$2 = function (editor, getDatabase) {\n      var database = getDatabase();\n      var rng = editor.selection.getRng();\n      return getTriggerContext(editor.dom, rng, database).bind(function (context) {\n        return lookupWithContext(editor, getDatabase, context);\n      });\n    };\n    var lookupWithContext = function (editor, getDatabase, context, fetchOptions) {\n      if (fetchOptions === void 0) {\n        fetchOptions = {};\n      }\n      var database = getDatabase();\n      var rng = editor.selection.getRng();\n      var startText = rng.startContainer.nodeValue;\n      var autocompleters = filter$2(database.lookupByChar(context.triggerChar), function (autocompleter) {\n        return context.text.length >= autocompleter.minChars && autocompleter.matches.getOrThunk(function () {\n          return isStartOfWord(editor.dom);\n        })(context.range, startText, context.text);\n      });\n      if (autocompleters.length === 0) {\n        return Optional.none();\n      }\n      var lookupData = global$c.all(map$2(autocompleters, function (ac) {\n        var fetchResult = ac.fetch(context.text, ac.maxResults, fetchOptions);\n        return fetchResult.then(function (results) {\n          return {\n            matchText: context.text,\n            items: results,\n            columns: ac.columns,\n            onAction: ac.onAction,\n            highlightOn: ac.highlightOn\n          };\n        });\n      }));\n      return Optional.some({\n        lookupData: lookupData,\n        context: context\n      });\n    };\n\n    var separatorMenuItemSchema = objOf([\n      requiredString('type'),\n      optionString('text')\n    ]);\n    var createSeparatorMenuItem = function (spec) {\n      return asRaw('separatormenuitem', separatorMenuItemSchema, spec);\n    };\n\n    var autocompleterItemSchema = objOf([\n      defaulted('type', 'autocompleteitem'),\n      defaulted('active', false),\n      defaulted('disabled', false),\n      defaulted('meta', {}),\n      requiredString('value'),\n      optionString('text'),\n      optionString('icon')\n    ]);\n    var autocompleterSchema = objOf([\n      requiredString('type'),\n      requiredString('ch'),\n      defaultedNumber('minChars', 1),\n      defaulted('columns', 1),\n      defaultedNumber('maxResults', 10),\n      optionFunction('matches'),\n      requiredFunction('fetch'),\n      requiredFunction('onAction'),\n      defaultedArrayOf('highlightOn', [], string)\n    ]);\n    var createSeparatorItem = function (spec) {\n      return asRaw('Autocompleter.Separator', separatorMenuItemSchema, spec);\n    };\n    var createAutocompleterItem = function (spec) {\n      return asRaw('Autocompleter.Item', autocompleterItemSchema, spec);\n    };\n    var createAutocompleter = function (spec) {\n      return asRaw('Autocompleter', autocompleterSchema, spec);\n    };\n\n    var baseToolbarButtonFields = [\n      defaultedBoolean('disabled', false),\n      optionString('tooltip'),\n      optionString('icon'),\n      optionString('text'),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      })\n    ];\n    var toolbarButtonSchema = objOf([\n      requiredString('type'),\n      requiredFunction('onAction')\n    ].concat(baseToolbarButtonFields));\n    var createToolbarButton = function (spec) {\n      return asRaw('toolbarbutton', toolbarButtonSchema, spec);\n    };\n\n    var baseToolbarToggleButtonFields = [defaultedBoolean('active', false)].concat(baseToolbarButtonFields);\n    var toggleButtonSchema = objOf(baseToolbarToggleButtonFields.concat([\n      requiredString('type'),\n      requiredFunction('onAction')\n    ]));\n    var createToggleButton = function (spec) {\n      return asRaw('ToggleButton', toggleButtonSchema, spec);\n    };\n\n    var contextBarFields = [\n      defaultedFunction('predicate', never),\n      defaultedStringEnum('scope', 'node', [\n        'node',\n        'editor'\n      ]),\n      defaultedStringEnum('position', 'selection', [\n        'node',\n        'selection',\n        'line'\n      ])\n    ];\n\n    var contextButtonFields = baseToolbarButtonFields.concat([\n      defaulted('type', 'contextformbutton'),\n      defaulted('primary', false),\n      requiredFunction('onAction'),\n      customField('original', identity$1)\n    ]);\n    var contextToggleButtonFields = baseToolbarToggleButtonFields.concat([\n      defaulted('type', 'contextformbutton'),\n      defaulted('primary', false),\n      requiredFunction('onAction'),\n      customField('original', identity$1)\n    ]);\n    var launchButtonFields = baseToolbarButtonFields.concat([defaulted('type', 'contextformbutton')]);\n    var launchToggleButtonFields = baseToolbarToggleButtonFields.concat([defaulted('type', 'contextformtogglebutton')]);\n    var toggleOrNormal = choose$1('type', {\n      contextformbutton: contextButtonFields,\n      contextformtogglebutton: contextToggleButtonFields\n    });\n    var contextFormSchema = objOf([\n      defaulted('type', 'contextform'),\n      defaultedFunction('initValue', constant$1('')),\n      optionString('label'),\n      requiredArrayOf('commands', toggleOrNormal),\n      optionOf('launch', choose$1('type', {\n        contextformbutton: launchButtonFields,\n        contextformtogglebutton: launchToggleButtonFields\n      }))\n    ].concat(contextBarFields));\n    var createContextForm = function (spec) {\n      return asRaw('ContextForm', contextFormSchema, spec);\n    };\n\n    var contextToolbarSchema = objOf([\n      defaulted('type', 'contexttoolbar'),\n      requiredString('items')\n    ].concat(contextBarFields));\n    var createContextToolbar = function (spec) {\n      return asRaw('ContextToolbar', contextToolbarSchema, spec);\n    };\n\n    var stringArray = function (a) {\n      var all = {};\n      each$1(a, function (key) {\n        all[key] = {};\n      });\n      return keys(all);\n    };\n\n    var register$b = function (editor) {\n      var popups = editor.ui.registry.getAll().popups;\n      var dataset = map$1(popups, function (popup) {\n        return createAutocompleter(popup).fold(function (err) {\n          throw new Error(formatError(err));\n        }, identity$1);\n      });\n      var triggerChars = stringArray(mapToArray(dataset, function (v) {\n        return v.ch;\n      }));\n      var datasetValues = values(dataset);\n      var lookupByChar = function (ch) {\n        return filter$2(datasetValues, function (dv) {\n          return dv.ch === ch;\n        });\n      };\n      return {\n        dataset: dataset,\n        triggerChars: triggerChars,\n        lookupByChar: lookupByChar\n      };\n    };\n\n    var ItemResponse;\n    (function (ItemResponse) {\n      ItemResponse[ItemResponse['CLOSE_ON_EXECUTE'] = 0] = 'CLOSE_ON_EXECUTE';\n      ItemResponse[ItemResponse['BUBBLE_TO_SANDBOX'] = 1] = 'BUBBLE_TO_SANDBOX';\n    }(ItemResponse || (ItemResponse = {})));\n    var ItemResponse$1 = ItemResponse;\n\n    var navClass = 'tox-menu-nav__js';\n    var selectableClass = 'tox-collection__item';\n    var colorClass = 'tox-swatch';\n    var presetClasses = {\n      normal: navClass,\n      color: colorClass\n    };\n    var tickedClass = 'tox-collection__item--enabled';\n    var groupHeadingClass = 'tox-collection__group-heading';\n    var iconClass = 'tox-collection__item-icon';\n    var textClass = 'tox-collection__item-label';\n    var accessoryClass = 'tox-collection__item-accessory';\n    var caretClass = 'tox-collection__item-caret';\n    var checkmarkClass = 'tox-collection__item-checkmark';\n    var activeClass = 'tox-collection__item--active';\n    var containerClass = 'tox-collection__item-container';\n    var containerColumnClass = 'tox-collection__item-container--column';\n    var containerRowClass = 'tox-collection__item-container--row';\n    var containerAlignRightClass = 'tox-collection__item-container--align-right';\n    var containerAlignLeftClass = 'tox-collection__item-container--align-left';\n    var containerValignTopClass = 'tox-collection__item-container--valign-top';\n    var containerValignMiddleClass = 'tox-collection__item-container--valign-middle';\n    var containerValignBottomClass = 'tox-collection__item-container--valign-bottom';\n    var classForPreset = function (presets) {\n      return get$e(presetClasses, presets).getOr(navClass);\n    };\n\n    var forMenu = function (presets) {\n      if (presets === 'color') {\n        return 'tox-swatches';\n      } else {\n        return 'tox-menu';\n      }\n    };\n    var classes = function (presets) {\n      return {\n        backgroundMenu: 'tox-background-menu',\n        selectedMenu: 'tox-selected-menu',\n        selectedItem: 'tox-collection__item--active',\n        hasIcons: 'tox-menu--has-icons',\n        menu: forMenu(presets),\n        tieredMenu: 'tox-tiered-menu'\n      };\n    };\n\n    var markers = function (presets) {\n      var menuClasses = classes(presets);\n      return {\n        backgroundMenu: menuClasses.backgroundMenu,\n        selectedMenu: menuClasses.selectedMenu,\n        menu: menuClasses.menu,\n        selectedItem: menuClasses.selectedItem,\n        item: classForPreset(presets)\n      };\n    };\n    var dom$1 = function (hasIcons, columns, presets) {\n      var menuClasses = classes(presets);\n      return {\n        tag: 'div',\n        classes: flatten([\n          [\n            menuClasses.menu,\n            'tox-menu-' + columns + '-column'\n          ],\n          hasIcons ? [menuClasses.hasIcons] : []\n        ])\n      };\n    };\n    var components = [Menu.parts.items({})];\n    var part = function (hasIcons, columns, presets) {\n      var menuClasses = classes(presets);\n      var d = {\n        tag: 'div',\n        classes: flatten([[menuClasses.tieredMenu]])\n      };\n      return {\n        dom: d,\n        markers: markers(presets)\n      };\n    };\n\n    var chunk = function (rowDom, numColumns) {\n      return function (items) {\n        var chunks = chunk$1(items, numColumns);\n        return map$2(chunks, function (c) {\n          return {\n            dom: rowDom,\n            components: c\n          };\n        });\n      };\n    };\n    var forSwatch = function (columns) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-menu',\n            'tox-swatches-menu'\n          ]\n        },\n        components: [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-swatches']\n            },\n            components: [Menu.parts.items({\n                preprocess: columns !== 'auto' ? chunk({\n                  tag: 'div',\n                  classes: ['tox-swatches__row']\n                }, columns) : identity$1\n              })]\n          }]\n      };\n    };\n    var forToolbar = function (columns) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-menu',\n            'tox-collection',\n            'tox-collection--toolbar',\n            'tox-collection--toolbar-lg'\n          ]\n        },\n        components: [Menu.parts.items({\n            preprocess: chunk({\n              tag: 'div',\n              classes: ['tox-collection__group']\n            }, columns)\n          })]\n      };\n    };\n    var preprocessCollection = function (items, isSeparator) {\n      var allSplits = [];\n      var currentSplit = [];\n      each$1(items, function (item, i) {\n        if (isSeparator(item, i)) {\n          if (currentSplit.length > 0) {\n            allSplits.push(currentSplit);\n          }\n          currentSplit = [];\n          if (has$2(item.dom, 'innerHtml')) {\n            currentSplit.push(item);\n          }\n        } else {\n          currentSplit.push(item);\n        }\n      });\n      if (currentSplit.length > 0) {\n        allSplits.push(currentSplit);\n      }\n      return map$2(allSplits, function (s) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-collection__group']\n          },\n          components: s\n        };\n      });\n    };\n    var forCollection = function (columns, initItems, _hasIcons) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-menu',\n            'tox-collection'\n          ].concat(columns === 1 ? ['tox-collection--list'] : ['tox-collection--grid'])\n        },\n        components: [Menu.parts.items({\n            preprocess: function (items) {\n              if (columns !== 'auto' && columns > 1) {\n                return chunk({\n                  tag: 'div',\n                  classes: ['tox-collection__group']\n                }, columns)(items);\n              } else {\n                return preprocessCollection(items, function (_item, i) {\n                  return initItems[i].type === 'separator';\n                });\n              }\n            }\n          })]\n      };\n    };\n    var forHorizontalCollection = function (initItems, _hasIcons) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-collection',\n            'tox-collection--horizontal'\n          ]\n        },\n        components: [Menu.parts.items({\n            preprocess: function (items) {\n              return preprocessCollection(items, function (_item, i) {\n                return initItems[i].type === 'separator';\n              });\n            }\n          })]\n      };\n    };\n\n    var menuHasIcons = function (xs) {\n      return exists(xs, function (item) {\n        return 'icon' in item && item.icon !== undefined;\n      });\n    };\n    var handleError = function (error) {\n      console.error(formatError(error));\n      console.log(error);\n      return Optional.none();\n    };\n    var createHorizontalPartialMenuWithAlloyItems = function (value, _hasIcons, items, _columns, _presets) {\n      var structure = forHorizontalCollection(items);\n      return {\n        value: value,\n        dom: structure.dom,\n        components: structure.components,\n        items: items\n      };\n    };\n    var createPartialMenuWithAlloyItems = function (value, hasIcons, items, columns, presets) {\n      if (presets === 'color') {\n        var structure = forSwatch(columns);\n        return {\n          value: value,\n          dom: structure.dom,\n          components: structure.components,\n          items: items\n        };\n      }\n      if (presets === 'normal' && columns === 'auto') {\n        var structure = forCollection(columns, items);\n        return {\n          value: value,\n          dom: structure.dom,\n          components: structure.components,\n          items: items\n        };\n      }\n      if (presets === 'normal' && columns === 1) {\n        var structure = forCollection(1, items);\n        return {\n          value: value,\n          dom: structure.dom,\n          components: structure.components,\n          items: items\n        };\n      }\n      if (presets === 'normal') {\n        var structure = forCollection(columns, items);\n        return {\n          value: value,\n          dom: structure.dom,\n          components: structure.components,\n          items: items\n        };\n      }\n      if (presets === 'listpreview' && columns !== 'auto') {\n        var structure = forToolbar(columns);\n        return {\n          value: value,\n          dom: structure.dom,\n          components: structure.components,\n          items: items\n        };\n      }\n      return {\n        value: value,\n        dom: dom$1(hasIcons, columns, presets),\n        components: components,\n        items: items\n      };\n    };\n\n    var cardImageFields = [\n      requiredString('type'),\n      requiredString('src'),\n      optionString('alt'),\n      defaultedArrayOf('classes', [], string)\n    ];\n    var cardImageSchema = objOf(cardImageFields);\n\n    var cardTextFields = [\n      requiredString('type'),\n      requiredString('text'),\n      optionString('name'),\n      defaultedArrayOf('classes', ['tox-collection__item-label'], string)\n    ];\n    var cardTextSchema = objOf(cardTextFields);\n\n    var itemSchema$1 = valueThunk(function () {\n      return choose$2('type', {\n        cardimage: cardImageSchema,\n        cardtext: cardTextSchema,\n        cardcontainer: cardContainerSchema\n      });\n    });\n    var cardContainerSchema = objOf([\n      requiredString('type'),\n      defaultedString('direction', 'horizontal'),\n      defaultedString('align', 'left'),\n      defaultedString('valign', 'middle'),\n      requiredArrayOf('items', itemSchema$1)\n    ]);\n\n    var commonMenuItemFields = [\n      defaultedBoolean('disabled', false),\n      optionString('text'),\n      optionString('shortcut'),\n      field$1('value', 'value', defaultedThunk(function () {\n        return generate$6('menuitem-value');\n      }), anyValue()),\n      defaulted('meta', {})\n    ];\n\n    var cardMenuItemSchema = objOf([\n      requiredString('type'),\n      optionString('label'),\n      requiredArrayOf('items', itemSchema$1),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      }),\n      defaultedFunction('onAction', noop)\n    ].concat(commonMenuItemFields));\n    var createCardMenuItem = function (spec) {\n      return asRaw('cardmenuitem', cardMenuItemSchema, spec);\n    };\n\n    var choiceMenuItemSchema = objOf([\n      requiredString('type'),\n      defaultedBoolean('active', false),\n      optionString('icon')\n    ].concat(commonMenuItemFields));\n    var createChoiceMenuItem = function (spec) {\n      return asRaw('choicemenuitem', choiceMenuItemSchema, spec);\n    };\n\n    var baseFields = [\n      requiredString('type'),\n      requiredString('fancytype'),\n      defaultedFunction('onAction', noop)\n    ];\n    var insertTableFields = [defaulted('initData', {})].concat(baseFields);\n    var colorSwatchFields = [defaultedObjOf('initData', {}, [\n        defaultedBoolean('allowCustomColors', true),\n        optionArrayOf('colors', anyValue())\n      ])].concat(baseFields);\n    var fancyMenuItemSchema = choose$1('fancytype', {\n      inserttable: insertTableFields,\n      colorswatch: colorSwatchFields\n    });\n    var createFancyMenuItem = function (spec) {\n      return asRaw('fancymenuitem', fancyMenuItemSchema, spec);\n    };\n\n    var menuItemSchema = objOf([\n      requiredString('type'),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      }),\n      defaultedFunction('onAction', noop),\n      optionString('icon')\n    ].concat(commonMenuItemFields));\n    var createMenuItem = function (spec) {\n      return asRaw('menuitem', menuItemSchema, spec);\n    };\n\n    var nestedMenuItemSchema = objOf([\n      requiredString('type'),\n      requiredFunction('getSubmenuItems'),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      }),\n      optionString('icon')\n    ].concat(commonMenuItemFields));\n    var createNestedMenuItem = function (spec) {\n      return asRaw('nestedmenuitem', nestedMenuItemSchema, spec);\n    };\n\n    var toggleMenuItemSchema = objOf([\n      requiredString('type'),\n      optionString('icon'),\n      defaultedBoolean('active', false),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      }),\n      requiredFunction('onAction')\n    ].concat(commonMenuItemFields));\n    var createToggleMenuItem = function (spec) {\n      return asRaw('togglemenuitem', toggleMenuItemSchema, spec);\n    };\n\n    var detectSize = function (comp, margin, selectorClass) {\n      var descendants$1 = descendants(comp.element, '.' + selectorClass);\n      if (descendants$1.length > 0) {\n        var columnLength = findIndex$1(descendants$1, function (c) {\n          var thisTop = c.dom.getBoundingClientRect().top;\n          var cTop = descendants$1[0].dom.getBoundingClientRect().top;\n          return Math.abs(thisTop - cTop) > margin;\n        }).getOr(descendants$1.length);\n        return Optional.some({\n          numColumns: columnLength,\n          numRows: Math.ceil(descendants$1.length / columnLength)\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n\n    var namedEvents = function (name, handlers) {\n      return derive$1([config(name, handlers)]);\n    };\n    var unnamedEvents = function (handlers) {\n      return namedEvents(generate$6('unnamed-events'), handlers);\n    };\n    var SimpleBehaviours = {\n      namedEvents: namedEvents,\n      unnamedEvents: unnamedEvents\n    };\n\n    var ExclusivityChannel = generate$6('tooltip.exclusive');\n    var ShowTooltipEvent = generate$6('tooltip.show');\n    var HideTooltipEvent = generate$6('tooltip.hide');\n\n    var hideAllExclusive = function (component, _tConfig, _tState) {\n      component.getSystem().broadcastOn([ExclusivityChannel], {});\n    };\n    var setComponents = function (component, tConfig, tState, specs) {\n      tState.getTooltip().each(function (tooltip) {\n        if (tooltip.getSystem().isConnected()) {\n          Replacing.set(tooltip, specs);\n        }\n      });\n    };\n\n    var TooltippingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        hideAllExclusive: hideAllExclusive,\n        setComponents: setComponents\n    });\n\n    var events$9 = function (tooltipConfig, state) {\n      var hide = function (comp) {\n        state.getTooltip().each(function (p) {\n          detach(p);\n          tooltipConfig.onHide(comp, p);\n          state.clearTooltip();\n        });\n        state.clearTimer();\n      };\n      var show = function (comp) {\n        if (!state.isShowing()) {\n          hideAllExclusive(comp);\n          var sink = tooltipConfig.lazySink(comp).getOrDie();\n          var popup = comp.getSystem().build({\n            dom: tooltipConfig.tooltipDom,\n            components: tooltipConfig.tooltipComponents,\n            events: derive$2(tooltipConfig.mode === 'normal' ? [\n              run$1(mouseover(), function (_) {\n                emit(comp, ShowTooltipEvent);\n              }),\n              run$1(mouseout(), function (_) {\n                emit(comp, HideTooltipEvent);\n              })\n            ] : []),\n            behaviours: derive$1([Replacing.config({})])\n          });\n          state.setTooltip(popup);\n          attach(sink, popup);\n          tooltipConfig.onShow(comp, popup);\n          Positioning.position(sink, popup, { anchor: tooltipConfig.anchor(comp) });\n        }\n      };\n      return derive$2(flatten([\n        [\n          run$1(ShowTooltipEvent, function (comp) {\n            state.resetTimer(function () {\n              show(comp);\n            }, tooltipConfig.delay);\n          }),\n          run$1(HideTooltipEvent, function (comp) {\n            state.resetTimer(function () {\n              hide(comp);\n            }, tooltipConfig.delay);\n          }),\n          run$1(receive(), function (comp, message) {\n            var receivingData = message;\n            if (!receivingData.universal) {\n              if (contains$2(receivingData.channels, ExclusivityChannel)) {\n                hide(comp);\n              }\n            }\n          }),\n          runOnDetached(function (comp) {\n            hide(comp);\n          })\n        ],\n        tooltipConfig.mode === 'normal' ? [\n          run$1(focusin(), function (comp) {\n            emit(comp, ShowTooltipEvent);\n          }),\n          run$1(postBlur(), function (comp) {\n            emit(comp, HideTooltipEvent);\n          }),\n          run$1(mouseover(), function (comp) {\n            emit(comp, ShowTooltipEvent);\n          }),\n          run$1(mouseout(), function (comp) {\n            emit(comp, HideTooltipEvent);\n          })\n        ] : [\n          run$1(highlight$1(), function (comp, _se) {\n            emit(comp, ShowTooltipEvent);\n          }),\n          run$1(dehighlight$1(), function (comp) {\n            emit(comp, HideTooltipEvent);\n          })\n        ]\n      ]));\n    };\n\n    var ActiveTooltipping = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$9\n    });\n\n    var TooltippingSchema = [\n      required$1('lazySink'),\n      required$1('tooltipDom'),\n      defaulted('exclusive', true),\n      defaulted('tooltipComponents', []),\n      defaulted('delay', 300),\n      defaultedStringEnum('mode', 'normal', [\n        'normal',\n        'follow-highlight'\n      ]),\n      defaulted('anchor', function (comp) {\n        return {\n          type: 'hotspot',\n          hotspot: comp,\n          layouts: {\n            onLtr: constant$1([\n              south$2,\n              north$2,\n              southeast$2,\n              northeast$2,\n              southwest$2,\n              northwest$2\n            ]),\n            onRtl: constant$1([\n              south$2,\n              north$2,\n              southeast$2,\n              northeast$2,\n              southwest$2,\n              northwest$2\n            ])\n          }\n        };\n      }),\n      onHandler('onHide'),\n      onHandler('onShow')\n    ];\n\n    var init$b = function () {\n      var timer = value$1();\n      var popup = value$1();\n      var clearTimer = function () {\n        timer.on(clearTimeout);\n      };\n      var resetTimer = function (f, delay) {\n        clearTimer();\n        timer.set(setTimeout(f, delay));\n      };\n      var readState = constant$1('not-implemented');\n      return nu$8({\n        getTooltip: popup.get,\n        isShowing: popup.isSet,\n        setTooltip: popup.set,\n        clearTooltip: popup.clear,\n        clearTimer: clearTimer,\n        resetTimer: resetTimer,\n        readState: readState\n      });\n    };\n\n    var TooltippingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$b\n    });\n\n    var Tooltipping = create$7({\n      fields: TooltippingSchema,\n      name: 'tooltipping',\n      active: ActiveTooltipping,\n      state: TooltippingState,\n      apis: TooltippingApis\n    });\n\n    var escape = function (text) {\n      return text.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n    };\n\n    var global$b = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$a = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    var getSkinUrl = function (editor) {\n      var skin = editor.getParam('skin');\n      var skinUrl = editor.getParam('skin_url');\n      if (skin !== false) {\n        var skinName = skin ? skin : 'oxide';\n        if (skinUrl) {\n          skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);\n        } else {\n          skinUrl = global$a.baseURL + '/skins/ui/' + skinName;\n        }\n      }\n      return skinUrl;\n    };\n    var isReadOnly = function (editor) {\n      return editor.getParam('readonly', false, 'boolean');\n    };\n    var isSkinDisabled = function (editor) {\n      return editor.getParam('skin') === false;\n    };\n    var getHeightSetting = function (editor) {\n      return editor.getParam('height', Math.max(editor.getElement().offsetHeight, 200));\n    };\n    var getWidthSetting = function (editor) {\n      return editor.getParam('width', global$b.DOM.getStyle(editor.getElement(), 'width'));\n    };\n    var getMinWidthSetting = function (editor) {\n      return Optional.from(editor.getParam('min_width')).filter(isNumber);\n    };\n    var getMinHeightSetting = function (editor) {\n      return Optional.from(editor.getParam('min_height')).filter(isNumber);\n    };\n    var getMaxWidthSetting = function (editor) {\n      return Optional.from(editor.getParam('max_width')).filter(isNumber);\n    };\n    var getMaxHeightSetting = function (editor) {\n      return Optional.from(editor.getParam('max_height')).filter(isNumber);\n    };\n    var getUserStyleFormats = function (editor) {\n      return Optional.from(editor.getParam('style_formats')).filter(isArray);\n    };\n    var isMergeStyleFormats = function (editor) {\n      return editor.getParam('style_formats_merge', false, 'boolean');\n    };\n    var getLineHeightFormats = function (editor) {\n      return editor.getParam('lineheight_formats', '1 1.1 1.2 1.3 1.4 1.5 2', 'string').split(' ');\n    };\n    var getContentLanguages = function (editor) {\n      return editor.getParam('content_langs', undefined, 'array');\n    };\n    var getRemovedMenuItems = function (editor) {\n      return editor.getParam('removed_menuitems', '');\n    };\n    var isMenubarEnabled = function (editor) {\n      return editor.getParam('menubar', true, 'boolean') !== false;\n    };\n    var isToolbarEnabled = function (editor) {\n      var toolbar = editor.getParam('toolbar', true);\n      var isToolbarTrue = toolbar === true;\n      var isToolbarString = isString(toolbar);\n      var isToolbarObjectArray = isArray(toolbar) && toolbar.length > 0;\n      return !isMultipleToolbars(editor) && (isToolbarObjectArray || isToolbarString || isToolbarTrue);\n    };\n    var getMultipleToolbarsSetting = function (editor) {\n      var toolbars = range$2(9, function (num) {\n        return editor.getParam('toolbar' + (num + 1), false, 'string');\n      });\n      var toolbarArray = filter$2(toolbars, function (toolbar) {\n        return typeof toolbar === 'string';\n      });\n      return toolbarArray.length > 0 ? Optional.some(toolbarArray) : Optional.none();\n    };\n    var isMultipleToolbars = function (editor) {\n      return getMultipleToolbarsSetting(editor).fold(function () {\n        var toolbar = editor.getParam('toolbar', [], 'string[]');\n        return toolbar.length > 0;\n      }, always);\n    };\n    var ToolbarMode;\n    (function (ToolbarMode) {\n      ToolbarMode['default'] = 'wrap';\n      ToolbarMode['floating'] = 'floating';\n      ToolbarMode['sliding'] = 'sliding';\n      ToolbarMode['scrolling'] = 'scrolling';\n    }(ToolbarMode || (ToolbarMode = {})));\n    var getToolbarMode = function (editor) {\n      return editor.getParam('toolbar_mode', '', 'string');\n    };\n    var ToolbarLocation;\n    (function (ToolbarLocation) {\n      ToolbarLocation['auto'] = 'auto';\n      ToolbarLocation['top'] = 'top';\n      ToolbarLocation['bottom'] = 'bottom';\n    }(ToolbarLocation || (ToolbarLocation = {})));\n    var getToolbarGroups = function (editor) {\n      return editor.getParam('toolbar_groups', {}, 'object');\n    };\n    var getToolbarLocation = function (editor) {\n      return editor.getParam('toolbar_location', ToolbarLocation.auto, 'string');\n    };\n    var isToolbarLocationBottom = function (editor) {\n      return getToolbarLocation(editor) === ToolbarLocation.bottom;\n    };\n    var fixedContainerSelector = function (editor) {\n      return editor.getParam('fixed_toolbar_container', '', 'string');\n    };\n    var fixedToolbarContainerTarget = function (editor) {\n      return editor.getParam('fixed_toolbar_container_target');\n    };\n    var isToolbarPersist = function (editor) {\n      return editor.getParam('toolbar_persist', false, 'boolean');\n    };\n    var fixedContainerTarget = function (editor) {\n      if (!editor.inline) {\n        return Optional.none();\n      }\n      var selector = fixedContainerSelector(editor);\n      if (selector.length > 0) {\n        return descendant(body(), selector);\n      }\n      var element = fixedToolbarContainerTarget(editor);\n      if (isNonNullable(element)) {\n        return Optional.some(SugarElement.fromDom(element));\n      }\n      return Optional.none();\n    };\n    var useFixedContainer = function (editor) {\n      return editor.inline && fixedContainerTarget(editor).isSome();\n    };\n    var getUiContainer = function (editor) {\n      var fixedContainer = fixedContainerTarget(editor);\n      return fixedContainer.getOrThunk(function () {\n        return getContentContainer(getRootNode(SugarElement.fromDom(editor.getElement())));\n      });\n    };\n    var isDistractionFree = function (editor) {\n      return editor.inline && !isMenubarEnabled(editor) && !isToolbarEnabled(editor) && !isMultipleToolbars(editor);\n    };\n    var isStickyToolbar = function (editor) {\n      var isStickyToolbar = editor.getParam('toolbar_sticky', false, 'boolean');\n      return (isStickyToolbar || editor.inline) && !useFixedContainer(editor) && !isDistractionFree(editor);\n    };\n    var getStickyToolbarOffset = function (editor) {\n      return editor.getParam('toolbar_sticky_offset', 0, 'number');\n    };\n    var isDraggableModal$1 = function (editor) {\n      return editor.getParam('draggable_modal', false, 'boolean');\n    };\n    var getMenus = function (editor) {\n      var menu = editor.getParam('menu');\n      if (menu) {\n        return map$1(menu, function (menu) {\n          return __assign(__assign({}, menu), { items: menu.items });\n        });\n      } else {\n        return {};\n      }\n    };\n    var getMenubar = function (editor) {\n      return editor.getParam('menubar');\n    };\n    var getToolbar = function (editor) {\n      return editor.getParam('toolbar', true);\n    };\n    var getFilePickerCallback = function (editor) {\n      return editor.getParam('file_picker_callback');\n    };\n    var getFilePickerTypes = function (editor) {\n      return editor.getParam('file_picker_types');\n    };\n    var getFileBrowserCallbackTypes = function (editor) {\n      return editor.getParam('file_browser_callback_types');\n    };\n    var noTypeaheadUrls = function (editor) {\n      return editor.getParam('typeahead_urls') === false;\n    };\n    var getAnchorTop = function (editor) {\n      return editor.getParam('anchor_top', '#top');\n    };\n    var getAnchorBottom = function (editor) {\n      return editor.getParam('anchor_bottom', '#bottom');\n    };\n    var getFilePickerValidatorHandler = function (editor) {\n      var handler = editor.getParam('file_picker_validator_handler', undefined, 'function');\n      if (handler === undefined) {\n        return editor.getParam('filepicker_validator_handler', undefined, 'function');\n      } else {\n        return handler;\n      }\n    };\n\n    var ReadOnlyChannel = 'silver.readonly';\n    var ReadOnlyDataSchema = objOf([requiredBoolean('readonly')]);\n    var broadcastReadonly = function (uiComponents, readonly) {\n      var outerContainer = uiComponents.outerContainer;\n      var target = outerContainer.element;\n      if (readonly) {\n        uiComponents.mothership.broadcastOn([dismissPopups()], { target: target });\n        uiComponents.uiMothership.broadcastOn([dismissPopups()], { target: target });\n      }\n      uiComponents.mothership.broadcastOn([ReadOnlyChannel], { readonly: readonly });\n      uiComponents.uiMothership.broadcastOn([ReadOnlyChannel], { readonly: readonly });\n    };\n    var setupReadonlyModeSwitch = function (editor, uiComponents) {\n      editor.on('init', function () {\n        if (editor.mode.isReadOnly()) {\n          broadcastReadonly(uiComponents, true);\n        }\n      });\n      editor.on('SwitchMode', function () {\n        return broadcastReadonly(uiComponents, editor.mode.isReadOnly());\n      });\n      if (isReadOnly(editor)) {\n        editor.setMode('readonly');\n      }\n    };\n    var receivingConfig = function () {\n      var _a;\n      return Receiving.config({\n        channels: (_a = {}, _a[ReadOnlyChannel] = {\n          schema: ReadOnlyDataSchema,\n          onReceive: function (comp, data) {\n            Disabling.set(comp, data.readonly);\n          }\n        }, _a)\n      });\n    };\n\n    var item = function (disabled) {\n      return Disabling.config({\n        disabled: disabled,\n        disableClass: 'tox-collection__item--state-disabled'\n      });\n    };\n    var button = function (disabled) {\n      return Disabling.config({ disabled: disabled });\n    };\n    var splitButton = function (disabled) {\n      return Disabling.config({\n        disabled: disabled,\n        disableClass: 'tox-tbtn--disabled'\n      });\n    };\n    var toolbarButton = function (disabled) {\n      return Disabling.config({\n        disabled: disabled,\n        disableClass: 'tox-tbtn--disabled',\n        useNative: false\n      });\n    };\n    var DisablingConfigs = {\n      item: item,\n      button: button,\n      splitButton: splitButton,\n      toolbarButton: toolbarButton\n    };\n\n    var runWithApi = function (info, comp) {\n      var api = info.getApi(comp);\n      return function (f) {\n        f(api);\n      };\n    };\n    var onControlAttached = function (info, editorOffCell) {\n      return runOnAttached(function (comp) {\n        var run = runWithApi(info, comp);\n        run(function (api) {\n          var onDestroy = info.onSetup(api);\n          if (isFunction(onDestroy)) {\n            editorOffCell.set(onDestroy);\n          }\n        });\n      });\n    };\n    var onControlDetached = function (getApi, editorOffCell) {\n      return runOnDetached(function (comp) {\n        return runWithApi(getApi, comp)(editorOffCell.get());\n      });\n    };\n\n    var _a$1;\n    var onMenuItemExecute = function (info, itemResponse) {\n      return runOnExecute$1(function (comp, simulatedEvent) {\n        runWithApi(info, comp)(info.onAction);\n        if (!info.triggersSubmenu && itemResponse === ItemResponse$1.CLOSE_ON_EXECUTE) {\n          emit(comp, sandboxClose());\n          simulatedEvent.stop();\n        }\n      });\n    };\n    var menuItemEventOrder = (_a$1 = {}, _a$1[execute$5()] = [\n      'disabling',\n      'alloy.base.behaviour',\n      'toggling',\n      'item-events'\n    ], _a$1);\n\n    var componentRenderPipeline = cat;\n    var renderCommonItem = function (spec, structure, itemResponse, providersbackstage) {\n      var editorOffCell = Cell(noop);\n      return {\n        type: 'item',\n        dom: structure.dom,\n        components: componentRenderPipeline(structure.optComponents),\n        data: spec.data,\n        eventOrder: menuItemEventOrder,\n        hasSubmenu: spec.triggersSubmenu,\n        itemBehaviours: derive$1([\n          config('item-events', [\n            onMenuItemExecute(spec, itemResponse),\n            onControlAttached(spec, editorOffCell),\n            onControlDetached(spec, editorOffCell)\n          ]),\n          DisablingConfigs.item(function () {\n            return spec.disabled || providersbackstage.isDisabled();\n          }),\n          receivingConfig(),\n          Replacing.config({})\n        ].concat(spec.itemBehaviours))\n      };\n    };\n    var buildData = function (source) {\n      return {\n        value: source.value,\n        meta: __assign({ text: source.text.getOr('') }, source.meta)\n      };\n    };\n\n    var global$9 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var convertText = function (source) {\n      var mac = {\n        alt: '&#x2325;',\n        ctrl: '&#x2303;',\n        shift: '&#x21E7;',\n        meta: '&#x2318;',\n        access: '&#x2303;&#x2325;'\n      };\n      var other = {\n        meta: 'Ctrl',\n        access: 'Shift+Alt'\n      };\n      var replace = global$9.mac ? mac : other;\n      var shortcut = source.split('+');\n      var updated = map$2(shortcut, function (segment) {\n        var search = segment.toLowerCase().trim();\n        return has$2(replace, search) ? replace[search] : segment;\n      });\n      return global$9.mac ? updated.join('') : updated.join('+');\n    };\n\n    var renderIcon$1 = function (name, icons, classes) {\n      if (classes === void 0) {\n        classes = [iconClass];\n      }\n      return render$3(name, {\n        tag: 'div',\n        classes: classes\n      }, icons);\n    };\n    var renderText = function (text$1) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [textClass]\n        },\n        components: [text(global$e.translate(text$1))]\n      };\n    };\n    var renderHtml = function (html, classes) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: classes,\n          innerHtml: html\n        }\n      };\n    };\n    var renderStyledText = function (style, text$1) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [textClass]\n        },\n        components: [{\n            dom: {\n              tag: style.tag,\n              styles: style.styles\n            },\n            components: [text(global$e.translate(text$1))]\n          }]\n      };\n    };\n    var renderShortcut = function (shortcut) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [accessoryClass],\n          innerHtml: convertText(shortcut)\n        }\n      };\n    };\n    var renderCheckmark = function (icons) {\n      return renderIcon$1('checkmark', icons, [checkmarkClass]);\n    };\n    var renderSubmenuCaret = function (icons) {\n      return renderIcon$1('chevron-right', icons, [caretClass]);\n    };\n    var renderDownwardsCaret = function (icons) {\n      return renderIcon$1('chevron-down', icons, [caretClass]);\n    };\n    var renderContainer = function (container, components) {\n      var directionClass = container.direction === 'vertical' ? containerColumnClass : containerRowClass;\n      var alignClass = container.align === 'left' ? containerAlignLeftClass : containerAlignRightClass;\n      var getValignClass = function () {\n        switch (container.valign) {\n        case 'top':\n          return containerValignTopClass;\n        case 'middle':\n          return containerValignMiddleClass;\n        case 'bottom':\n          return containerValignBottomClass;\n        }\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            containerClass,\n            directionClass,\n            alignClass,\n            getValignClass()\n          ]\n        },\n        components: components\n      };\n    };\n    var renderImage = function (src, classes, alt) {\n      return {\n        dom: {\n          tag: 'img',\n          classes: classes,\n          attributes: {\n            src: src,\n            alt: alt.getOr('')\n          }\n        }\n      };\n    };\n\n    var renderColorStructure = function (item, providerBackstage, fallbackIcon) {\n      var colorPickerCommand = 'custom';\n      var removeColorCommand = 'remove';\n      var itemText = item.ariaLabel;\n      var itemValue = item.value;\n      var iconSvg = item.iconContent.map(function (name) {\n        return getOr(name, providerBackstage.icons, fallbackIcon);\n      });\n      var getDom = function () {\n        var common = colorClass;\n        var icon = iconSvg.getOr('');\n        var attributes = itemText.map(function (text) {\n          return { title: providerBackstage.translate(text) };\n        }).getOr({});\n        var baseDom = {\n          tag: 'div',\n          attributes: attributes,\n          classes: [common]\n        };\n        if (itemValue === colorPickerCommand) {\n          return __assign(__assign({}, baseDom), {\n            tag: 'button',\n            classes: __spreadArray(__spreadArray([], baseDom.classes, true), ['tox-swatches__picker-btn'], false),\n            innerHtml: icon\n          });\n        } else if (itemValue === removeColorCommand) {\n          return __assign(__assign({}, baseDom), {\n            classes: __spreadArray(__spreadArray([], baseDom.classes, true), ['tox-swatch--remove'], false),\n            innerHtml: icon\n          });\n        } else {\n          return __assign(__assign({}, baseDom), {\n            attributes: __assign(__assign({}, baseDom.attributes), { 'data-mce-color': itemValue }),\n            styles: { 'background-color': itemValue }\n          });\n        }\n      };\n      return {\n        dom: getDom(),\n        optComponents: []\n      };\n    };\n    var renderItemDomStructure = function (ariaLabel) {\n      var domTitle = ariaLabel.map(function (label) {\n        return { attributes: { title: global$e.translate(label) } };\n      }).getOr({});\n      return __assign({\n        tag: 'div',\n        classes: [\n          navClass,\n          selectableClass\n        ]\n      }, domTitle);\n    };\n    var renderNormalItemStructure = function (info, providersBackstage, renderIcons, fallbackIcon) {\n      var iconSpec = {\n        tag: 'div',\n        classes: [iconClass]\n      };\n      var renderIcon = function (iconName) {\n        return render$3(iconName, iconSpec, providersBackstage.icons, fallbackIcon);\n      };\n      var renderEmptyIcon = function () {\n        return Optional.some({ dom: iconSpec });\n      };\n      var leftIcon = renderIcons ? info.iconContent.map(renderIcon).orThunk(renderEmptyIcon) : Optional.none();\n      var checkmark = info.checkMark;\n      var textRender = Optional.from(info.meta).fold(function () {\n        return renderText;\n      }, function (meta) {\n        return has$2(meta, 'style') ? curry(renderStyledText, meta.style) : renderText;\n      });\n      var content = info.htmlContent.fold(function () {\n        return info.textContent.map(textRender);\n      }, function (html) {\n        return Optional.some(renderHtml(html, [textClass]));\n      });\n      var menuItem = {\n        dom: renderItemDomStructure(info.ariaLabel),\n        optComponents: [\n          leftIcon,\n          content,\n          info.shortcutContent.map(renderShortcut),\n          checkmark,\n          info.caret\n        ]\n      };\n      return menuItem;\n    };\n    var renderItemStructure = function (info, providersBackstage, renderIcons, fallbackIcon) {\n      if (fallbackIcon === void 0) {\n        fallbackIcon = Optional.none();\n      }\n      if (info.presets === 'color') {\n        return renderColorStructure(info, providersBackstage, fallbackIcon);\n      } else {\n        return renderNormalItemStructure(info, providersBackstage, renderIcons, fallbackIcon);\n      }\n    };\n\n    var tooltipBehaviour = function (meta, sharedBackstage) {\n      return get$e(meta, 'tooltipWorker').map(function (tooltipWorker) {\n        return [Tooltipping.config({\n            lazySink: sharedBackstage.getSink,\n            tooltipDom: {\n              tag: 'div',\n              classes: ['tox-tooltip-worker-container']\n            },\n            tooltipComponents: [],\n            anchor: function (comp) {\n              return {\n                type: 'submenu',\n                item: comp,\n                overrides: { maxHeightFunction: expandable$1 }\n              };\n            },\n            mode: 'follow-highlight',\n            onShow: function (component, _tooltip) {\n              tooltipWorker(function (elm) {\n                Tooltipping.setComponents(component, [external$2({ element: SugarElement.fromDom(elm) })]);\n              });\n            }\n          })];\n      }).getOr([]);\n    };\n    var encodeText = function (text) {\n      return global$b.DOM.encode(text);\n    };\n    var replaceText = function (text, matchText) {\n      var translated = global$e.translate(text);\n      var encoded = encodeText(translated);\n      if (matchText.length > 0) {\n        var escapedMatchRegex = new RegExp(escape(matchText), 'gi');\n        return encoded.replace(escapedMatchRegex, function (match) {\n          return '<span class=\"tox-autocompleter-highlight\">' + match + '</span>';\n        });\n      } else {\n        return encoded;\n      }\n    };\n    var renderAutocompleteItem = function (spec, matchText, useText, presets, onItemValueHandler, itemResponse, sharedBackstage, renderIcons) {\n      if (renderIcons === void 0) {\n        renderIcons = true;\n      }\n      var structure = renderItemStructure({\n        presets: presets,\n        textContent: Optional.none(),\n        htmlContent: useText ? spec.text.map(function (text) {\n          return replaceText(text, matchText);\n        }) : Optional.none(),\n        ariaLabel: spec.text,\n        iconContent: spec.icon,\n        shortcutContent: Optional.none(),\n        checkMark: Optional.none(),\n        caret: Optional.none(),\n        value: spec.value\n      }, sharedBackstage.providers, renderIcons, spec.icon);\n      return renderCommonItem({\n        data: buildData(spec),\n        disabled: spec.disabled,\n        getApi: constant$1({}),\n        onAction: function (_api) {\n          return onItemValueHandler(spec.value, spec.meta);\n        },\n        onSetup: constant$1(noop),\n        triggersSubmenu: false,\n        itemBehaviours: tooltipBehaviour(spec.meta, sharedBackstage)\n      }, structure, itemResponse, sharedBackstage.providers);\n    };\n\n    var render$2 = function (items, extras) {\n      return map$2(items, function (item) {\n        switch (item.type) {\n        case 'cardcontainer':\n          return renderContainer(item, render$2(item.items, extras));\n        case 'cardimage':\n          return renderImage(item.src, item.classes, item.alt);\n        case 'cardtext':\n          var shouldHighlight = item.name.exists(function (name) {\n            return contains$2(extras.cardText.highlightOn, name);\n          });\n          var matchText = shouldHighlight ? Optional.from(extras.cardText.matchText).getOr('') : '';\n          return renderHtml(replaceText(item.text, matchText), item.classes);\n        }\n      });\n    };\n    var renderCardMenuItem = function (spec, itemResponse, sharedBackstage, extras) {\n      var getApi = function (component) {\n        return {\n          isDisabled: function () {\n            return Disabling.isDisabled(component);\n          },\n          setDisabled: function (state) {\n            Disabling.set(component, state);\n            each$1(descendants(component.element, '*'), function (elm) {\n              component.getSystem().getByDom(elm).each(function (comp) {\n                if (comp.hasConfigured(Disabling)) {\n                  Disabling.set(comp, state);\n                }\n              });\n            });\n          }\n        };\n      };\n      var structure = {\n        dom: renderItemDomStructure(spec.label),\n        optComponents: [Optional.some({\n            dom: {\n              tag: 'div',\n              classes: [\n                containerClass,\n                containerRowClass\n              ]\n            },\n            components: render$2(spec.items, extras)\n          })]\n      };\n      return renderCommonItem({\n        data: buildData(__assign({ text: Optional.none() }, spec)),\n        disabled: spec.disabled,\n        getApi: getApi,\n        onAction: spec.onAction,\n        onSetup: spec.onSetup,\n        triggersSubmenu: false,\n        itemBehaviours: Optional.from(extras.itemBehaviours).getOr([])\n      }, structure, itemResponse, sharedBackstage.providers);\n    };\n\n    var renderChoiceItem = function (spec, useText, presets, onItemValueHandler, isSelected, itemResponse, providersBackstage, renderIcons) {\n      if (renderIcons === void 0) {\n        renderIcons = true;\n      }\n      var getApi = function (component) {\n        return {\n          setActive: function (state) {\n            Toggling.set(component, state);\n          },\n          isActive: function () {\n            return Toggling.isOn(component);\n          },\n          isDisabled: function () {\n            return Disabling.isDisabled(component);\n          },\n          setDisabled: function (state) {\n            return Disabling.set(component, state);\n          }\n        };\n      };\n      var structure = renderItemStructure({\n        presets: presets,\n        textContent: useText ? spec.text : Optional.none(),\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        iconContent: spec.icon,\n        shortcutContent: useText ? spec.shortcut : Optional.none(),\n        checkMark: useText ? Optional.some(renderCheckmark(providersBackstage.icons)) : Optional.none(),\n        caret: Optional.none(),\n        value: spec.value\n      }, providersBackstage, renderIcons);\n      return deepMerge(renderCommonItem({\n        data: buildData(spec),\n        disabled: spec.disabled,\n        getApi: getApi,\n        onAction: function (_api) {\n          return onItemValueHandler(spec.value);\n        },\n        onSetup: function (api) {\n          api.setActive(isSelected);\n          return noop;\n        },\n        triggersSubmenu: false,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage), {\n        toggling: {\n          toggleClass: tickedClass,\n          toggleOnExecute: false,\n          selected: spec.active\n        }\n      });\n    };\n\n    var parts$f = generate$3(owner$2(), parts$h());\n\n    var hexColour = function (value) {\n      return { value: value };\n    };\n    var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    var longformRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n    var isHexString = function (hex) {\n      return shorthandRegex.test(hex) || longformRegex.test(hex);\n    };\n    var normalizeHex = function (hex) {\n      return removeLeading(hex, '#').toUpperCase();\n    };\n    var fromString$1 = function (hex) {\n      return isHexString(hex) ? Optional.some({ value: normalizeHex(hex) }) : Optional.none();\n    };\n    var getLongForm = function (hex) {\n      var hexString = hex.value.replace(shorthandRegex, function (m, r, g, b) {\n        return r + r + g + g + b + b;\n      });\n      return { value: hexString };\n    };\n    var extractValues = function (hex) {\n      var longForm = getLongForm(hex);\n      var splitForm = longformRegex.exec(longForm.value);\n      return splitForm === null ? [\n        'FFFFFF',\n        'FF',\n        'FF',\n        'FF'\n      ] : splitForm;\n    };\n    var toHex = function (component) {\n      var hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    var fromRgba = function (rgbaColour) {\n      var value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    var min = Math.min;\n    var max = Math.max;\n    var round$1 = Math.round;\n    var rgbRegex = /^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/;\n    var rgbaRegex = /^rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*(\\d?(?:\\.\\d+)?)\\)/;\n    var rgbaColour = function (red, green, blue, alpha) {\n      return {\n        red: red,\n        green: green,\n        blue: blue,\n        alpha: alpha\n      };\n    };\n    var isRgbaComponent = function (value) {\n      var num = parseInt(value, 10);\n      return num.toString() === value && num >= 0 && num <= 255;\n    };\n    var fromHsv = function (hsv) {\n      var r;\n      var g;\n      var b;\n      var hue = (hsv.hue || 0) % 360;\n      var saturation = hsv.saturation / 100;\n      var brightness = hsv.value / 100;\n      saturation = max(0, min(saturation, 1));\n      brightness = max(0, min(brightness, 1));\n      if (saturation === 0) {\n        r = g = b = round$1(255 * brightness);\n        return rgbaColour(r, g, b, 1);\n      }\n      var side = hue / 60;\n      var chroma = brightness * saturation;\n      var x = chroma * (1 - Math.abs(side % 2 - 1));\n      var match = brightness - chroma;\n      switch (Math.floor(side)) {\n      case 0:\n        r = chroma;\n        g = x;\n        b = 0;\n        break;\n      case 1:\n        r = x;\n        g = chroma;\n        b = 0;\n        break;\n      case 2:\n        r = 0;\n        g = chroma;\n        b = x;\n        break;\n      case 3:\n        r = 0;\n        g = x;\n        b = chroma;\n        break;\n      case 4:\n        r = x;\n        g = 0;\n        b = chroma;\n        break;\n      case 5:\n        r = chroma;\n        g = 0;\n        b = x;\n        break;\n      default:\n        r = g = b = 0;\n      }\n      r = round$1(255 * (r + match));\n      g = round$1(255 * (g + match));\n      b = round$1(255 * (b + match));\n      return rgbaColour(r, g, b, 1);\n    };\n    var fromHex = function (hexColour) {\n      var result = extractValues(hexColour);\n      var red = parseInt(result[1], 16);\n      var green = parseInt(result[2], 16);\n      var blue = parseInt(result[3], 16);\n      return rgbaColour(red, green, blue, 1);\n    };\n    var fromStringValues = function (red, green, blue, alpha) {\n      var r = parseInt(red, 10);\n      var g = parseInt(green, 10);\n      var b = parseInt(blue, 10);\n      var a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    var fromString = function (rgbaString) {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      var rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      var rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n    var toString = function (rgba) {\n      return 'rgba(' + rgba.red + ',' + rgba.green + ',' + rgba.blue + ',' + rgba.alpha + ')';\n    };\n    var red = rgbaColour(255, 0, 0, 1);\n\n    var fireSkinLoaded$1 = function (editor) {\n      return editor.fire('SkinLoaded');\n    };\n    var fireSkinLoadError$1 = function (editor, error) {\n      return editor.fire('SkinLoadError', error);\n    };\n    var fireResizeEditor = function (editor) {\n      return editor.fire('ResizeEditor');\n    };\n    var fireResizeContent = function (editor, e) {\n      return editor.fire('ResizeContent', e);\n    };\n    var fireScrollContent = function (editor, e) {\n      return editor.fire('ScrollContent', e);\n    };\n    var fireTextColorChange = function (editor, data) {\n      return editor.fire('TextColorChange', data);\n    };\n\n    var hsvColour = function (hue, saturation, value) {\n      return {\n        hue: hue,\n        saturation: saturation,\n        value: value\n      };\n    };\n    var fromRgb = function (rgbaColour) {\n      var h = 0;\n      var s = 0;\n      var v = 0;\n      var r = rgbaColour.red / 255;\n      var g = rgbaColour.green / 255;\n      var b = rgbaColour.blue / 255;\n      var minRGB = Math.min(r, Math.min(g, b));\n      var maxRGB = Math.max(r, Math.max(g, b));\n      if (minRGB === maxRGB) {\n        v = minRGB;\n        return hsvColour(0, 0, v * 100);\n      }\n      var d = r === minRGB ? g - b : b === minRGB ? r - g : b - r;\n      h = r === minRGB ? 3 : b === minRGB ? 1 : 5;\n      h = 60 * (h - d / (maxRGB - minRGB));\n      s = (maxRGB - minRGB) / maxRGB;\n      v = maxRGB;\n      return hsvColour(Math.round(h), Math.round(s * 100), Math.round(v * 100));\n    };\n\n    var hexToHsv = function (hex) {\n      return fromRgb(fromHex(hex));\n    };\n    var hsvToHex = function (hsv) {\n      return fromRgba(fromHsv(hsv));\n    };\n    var anyToHex = function (color) {\n      return fromString$1(color).orThunk(function () {\n        return fromString(color).map(fromRgba);\n      }).getOrThunk(function () {\n        var canvas = document.createElement('canvas');\n        canvas.height = 1;\n        canvas.width = 1;\n        var canvasContext = canvas.getContext('2d');\n        canvasContext.clearRect(0, 0, canvas.width, canvas.height);\n        canvasContext.fillStyle = '#FFFFFF';\n        canvasContext.fillStyle = color;\n        canvasContext.fillRect(0, 0, 1, 1);\n        var rgba = canvasContext.getImageData(0, 0, 1, 1).data;\n        var r = rgba[0];\n        var g = rgba[1];\n        var b = rgba[2];\n        var a = rgba[3];\n        return fromRgba(rgbaColour(r, g, b, a));\n      });\n    };\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.util.LocalStorage');\n\n    var storageName = 'tinymce-custom-colors';\n    function ColorCache (max) {\n      if (max === void 0) {\n        max = 10;\n      }\n      var storageString = global$8.getItem(storageName);\n      var localstorage = isString(storageString) ? JSON.parse(storageString) : [];\n      var prune = function (list) {\n        var diff = max - list.length;\n        return diff < 0 ? list.slice(0, max) : list;\n      };\n      var cache = prune(localstorage);\n      var add = function (key) {\n        indexOf(cache, key).each(remove);\n        cache.unshift(key);\n        if (cache.length > max) {\n          cache.pop();\n        }\n        global$8.setItem(storageName, JSON.stringify(cache));\n      };\n      var remove = function (idx) {\n        cache.splice(idx, 1);\n      };\n      var state = function () {\n        return cache.slice(0);\n      };\n      return {\n        add: add,\n        state: state\n      };\n    }\n\n    var choiceItem = 'choiceitem';\n    var defaultColors = [\n      {\n        type: choiceItem,\n        text: 'Light Green',\n        value: '#BFEDD2'\n      },\n      {\n        type: choiceItem,\n        text: 'Light Yellow',\n        value: '#FBEEB8'\n      },\n      {\n        type: choiceItem,\n        text: 'Light Red',\n        value: '#F8CAC6'\n      },\n      {\n        type: choiceItem,\n        text: 'Light Purple',\n        value: '#ECCAFA'\n      },\n      {\n        type: choiceItem,\n        text: 'Light Blue',\n        value: '#C2E0F4'\n      },\n      {\n        type: choiceItem,\n        text: 'Green',\n        value: '#2DC26B'\n      },\n      {\n        type: choiceItem,\n        text: 'Yellow',\n        value: '#F1C40F'\n      },\n      {\n        type: choiceItem,\n        text: 'Red',\n        value: '#E03E2D'\n      },\n      {\n        type: choiceItem,\n        text: 'Purple',\n        value: '#B96AD9'\n      },\n      {\n        type: choiceItem,\n        text: 'Blue',\n        value: '#3598DB'\n      },\n      {\n        type: choiceItem,\n        text: 'Dark Turquoise',\n        value: '#169179'\n      },\n      {\n        type: choiceItem,\n        text: 'Orange',\n        value: '#E67E23'\n      },\n      {\n        type: choiceItem,\n        text: 'Dark Red',\n        value: '#BA372A'\n      },\n      {\n        type: choiceItem,\n        text: 'Dark Purple',\n        value: '#843FA1'\n      },\n      {\n        type: choiceItem,\n        text: 'Dark Blue',\n        value: '#236FA1'\n      },\n      {\n        type: choiceItem,\n        text: 'Light Gray',\n        value: '#ECF0F1'\n      },\n      {\n        type: choiceItem,\n        text: 'Medium Gray',\n        value: '#CED4D9'\n      },\n      {\n        type: choiceItem,\n        text: 'Gray',\n        value: '#95A5A6'\n      },\n      {\n        type: choiceItem,\n        text: 'Dark Gray',\n        value: '#7E8C8D'\n      },\n      {\n        type: choiceItem,\n        text: 'Navy Blue',\n        value: '#34495E'\n      },\n      {\n        type: choiceItem,\n        text: 'Black',\n        value: '#000000'\n      },\n      {\n        type: choiceItem,\n        text: 'White',\n        value: '#ffffff'\n      }\n    ];\n    var colorCache = ColorCache(10);\n    var mapColors = function (colorMap) {\n      var colors = [];\n      for (var i = 0; i < colorMap.length; i += 2) {\n        colors.push({\n          text: colorMap[i + 1],\n          value: '#' + anyToHex(colorMap[i]).value,\n          type: 'choiceitem'\n        });\n      }\n      return colors;\n    };\n    var getColorCols$2 = function (editor, defaultCols) {\n      return editor.getParam('color_cols', defaultCols, 'number');\n    };\n    var hasCustomColors$1 = function (editor) {\n      return editor.getParam('custom_colors') !== false;\n    };\n    var getColorMap = function (editor) {\n      return editor.getParam('color_map');\n    };\n    var getColors$2 = function (editor) {\n      var unmapped = getColorMap(editor);\n      return unmapped !== undefined ? mapColors(unmapped) : defaultColors;\n    };\n    var getCurrentColors = function () {\n      return map$2(colorCache.state(), function (color) {\n        return {\n          type: choiceItem,\n          text: color,\n          value: color\n        };\n      });\n    };\n    var addColor = function (color) {\n      colorCache.add(color);\n    };\n\n    var fallbackColor = '#000000';\n    var getCurrentColor = function (editor, format) {\n      var color;\n      editor.dom.getParents(editor.selection.getStart(), function (elm) {\n        var value;\n        if (value = elm.style[format === 'forecolor' ? 'color' : 'background-color']) {\n          color = color ? color : value;\n        }\n      });\n      return Optional.from(color);\n    };\n    var applyFormat = function (editor, format, value) {\n      editor.undoManager.transact(function () {\n        editor.focus();\n        editor.formatter.apply(format, { value: value });\n        editor.nodeChanged();\n      });\n    };\n    var removeFormat = function (editor, format) {\n      editor.undoManager.transact(function () {\n        editor.focus();\n        editor.formatter.remove(format, { value: null }, null, true);\n        editor.nodeChanged();\n      });\n    };\n    var registerCommands = function (editor) {\n      editor.addCommand('mceApplyTextcolor', function (format, value) {\n        applyFormat(editor, format, value);\n      });\n      editor.addCommand('mceRemoveTextcolor', function (format) {\n        removeFormat(editor, format);\n      });\n    };\n    var calcCols = function (colors) {\n      return Math.max(5, Math.ceil(Math.sqrt(colors)));\n    };\n    var getColorCols$1 = function (editor) {\n      var colors = getColors$2(editor);\n      var defaultCols = calcCols(colors.length);\n      return getColorCols$2(editor, defaultCols);\n    };\n    var getAdditionalColors = function (hasCustom) {\n      var type = 'choiceitem';\n      var remove = {\n        type: type,\n        text: 'Remove color',\n        icon: 'color-swatch-remove-color',\n        value: 'remove'\n      };\n      var custom = {\n        type: type,\n        text: 'Custom color',\n        icon: 'color-picker',\n        value: 'custom'\n      };\n      return hasCustom ? [\n        remove,\n        custom\n      ] : [remove];\n    };\n    var applyColor = function (editor, format, value, onChoice) {\n      if (value === 'custom') {\n        var dialog = colorPickerDialog(editor);\n        dialog(function (colorOpt) {\n          colorOpt.each(function (color) {\n            addColor(color);\n            editor.execCommand('mceApplyTextcolor', format, color);\n            onChoice(color);\n          });\n        }, fallbackColor);\n      } else if (value === 'remove') {\n        onChoice('');\n        editor.execCommand('mceRemoveTextcolor', format);\n      } else {\n        onChoice(value);\n        editor.execCommand('mceApplyTextcolor', format, value);\n      }\n    };\n    var getColors$1 = function (colors, hasCustom) {\n      return colors.concat(getCurrentColors().concat(getAdditionalColors(hasCustom)));\n    };\n    var getFetch$1 = function (colors, hasCustom) {\n      return function (callback) {\n        callback(getColors$1(colors, hasCustom));\n      };\n    };\n    var setIconColor = function (splitButtonApi, name, newColor) {\n      var id = name === 'forecolor' ? 'tox-icon-text-color__color' : 'tox-icon-highlight-bg-color__color';\n      splitButtonApi.setIconFill(id, newColor);\n    };\n    var registerTextColorButton = function (editor, name, format, tooltip, lastColor) {\n      editor.ui.registry.addSplitButton(name, {\n        tooltip: tooltip,\n        presets: 'color',\n        icon: name === 'forecolor' ? 'text-color' : 'highlight-bg-color',\n        select: function (value) {\n          var optCurrentRgb = getCurrentColor(editor, format);\n          return optCurrentRgb.bind(function (currentRgb) {\n            return fromString(currentRgb).map(function (rgba) {\n              var currentHex = fromRgba(rgba).value;\n              return contains$1(value.toLowerCase(), currentHex);\n            });\n          }).getOr(false);\n        },\n        columns: getColorCols$1(editor),\n        fetch: getFetch$1(getColors$2(editor), hasCustomColors$1(editor)),\n        onAction: function (_splitButtonApi) {\n          applyColor(editor, format, lastColor.get(), noop);\n        },\n        onItemAction: function (_splitButtonApi, value) {\n          applyColor(editor, format, value, function (newColor) {\n            lastColor.set(newColor);\n            fireTextColorChange(editor, {\n              name: name,\n              color: newColor\n            });\n          });\n        },\n        onSetup: function (splitButtonApi) {\n          setIconColor(splitButtonApi, name, lastColor.get());\n          var handler = function (e) {\n            if (e.name === name) {\n              setIconColor(splitButtonApi, e.name, e.color);\n            }\n          };\n          editor.on('TextColorChange', handler);\n          return function () {\n            editor.off('TextColorChange', handler);\n          };\n        }\n      });\n    };\n    var registerTextColorMenuItem = function (editor, name, format, text) {\n      editor.ui.registry.addNestedMenuItem(name, {\n        text: text,\n        icon: name === 'forecolor' ? 'text-color' : 'highlight-bg-color',\n        getSubmenuItems: function () {\n          return [{\n              type: 'fancymenuitem',\n              fancytype: 'colorswatch',\n              onAction: function (data) {\n                applyColor(editor, format, data.value, noop);\n              }\n            }];\n        }\n      });\n    };\n    var colorPickerDialog = function (editor) {\n      return function (callback, value) {\n        var isValid = false;\n        var onSubmit = function (api) {\n          var data = api.getData();\n          var hex = data.colorpicker;\n          if (isValid) {\n            callback(Optional.from(hex));\n            api.close();\n          } else {\n            editor.windowManager.alert(editor.translate([\n              'Invalid hex color code: {0}',\n              hex\n            ]));\n          }\n        };\n        var onAction = function (_api, details) {\n          if (details.name === 'hex-valid') {\n            isValid = details.value;\n          }\n        };\n        var initialData = { colorpicker: value };\n        editor.windowManager.open({\n          title: 'Color Picker',\n          size: 'normal',\n          body: {\n            type: 'panel',\n            items: [{\n                type: 'colorpicker',\n                name: 'colorpicker',\n                label: 'Color'\n              }]\n          },\n          buttons: [\n            {\n              type: 'cancel',\n              name: 'cancel',\n              text: 'Cancel'\n            },\n            {\n              type: 'submit',\n              name: 'save',\n              text: 'Save',\n              primary: true\n            }\n          ],\n          initialData: initialData,\n          onAction: onAction,\n          onSubmit: onSubmit,\n          onClose: noop,\n          onCancel: function () {\n            callback(Optional.none());\n          }\n        });\n      };\n    };\n    var register$a = function (editor) {\n      registerCommands(editor);\n      var lastForeColor = Cell(fallbackColor);\n      var lastBackColor = Cell(fallbackColor);\n      registerTextColorButton(editor, 'forecolor', 'forecolor', 'Text color', lastForeColor);\n      registerTextColorButton(editor, 'backcolor', 'hilitecolor', 'Background color', lastBackColor);\n      registerTextColorMenuItem(editor, 'forecolor', 'forecolor', 'Text color');\n      registerTextColorMenuItem(editor, 'backcolor', 'hilitecolor', 'Background color');\n    };\n\n    var createPartialChoiceMenu = function (value, items, onItemValueHandler, columns, presets, itemResponse, select, providersBackstage) {\n      var hasIcons = menuHasIcons(items);\n      var presetItemTypes = presets !== 'color' ? 'normal' : 'color';\n      var alloyItems = createChoiceItems(items, onItemValueHandler, columns, presetItemTypes, itemResponse, select, providersBackstage);\n      return createPartialMenuWithAlloyItems(value, hasIcons, alloyItems, columns, presets);\n    };\n    var createChoiceItems = function (items, onItemValueHandler, columns, itemPresets, itemResponse, select, providersBackstage) {\n      return cat(map$2(items, function (item) {\n        if (item.type === 'choiceitem') {\n          return createChoiceMenuItem(item).fold(handleError, function (d) {\n            return Optional.some(renderChoiceItem(d, columns === 1, itemPresets, onItemValueHandler, select(item.value), itemResponse, providersBackstage, menuHasIcons(items)));\n          });\n        } else {\n          return Optional.none();\n        }\n      }));\n    };\n\n    var deriveMenuMovement = function (columns, presets) {\n      var menuMarkers = markers(presets);\n      if (columns === 1) {\n        return {\n          mode: 'menu',\n          moveOnTab: true\n        };\n      } else if (columns === 'auto') {\n        return {\n          mode: 'grid',\n          selector: '.' + menuMarkers.item,\n          initSize: {\n            numColumns: 1,\n            numRows: 1\n          }\n        };\n      } else {\n        var rowClass = presets === 'color' ? 'tox-swatches__row' : 'tox-collection__group';\n        return {\n          mode: 'matrix',\n          rowSelector: '.' + rowClass\n        };\n      }\n    };\n    var deriveCollectionMovement = function (columns, presets) {\n      if (columns === 1) {\n        return {\n          mode: 'menu',\n          moveOnTab: false,\n          selector: '.tox-collection__item'\n        };\n      } else if (columns === 'auto') {\n        return {\n          mode: 'flatgrid',\n          selector: '.' + 'tox-collection__item',\n          initSize: {\n            numColumns: 1,\n            numRows: 1\n          }\n        };\n      } else {\n        return {\n          mode: 'matrix',\n          selectors: {\n            row: presets === 'color' ? '.tox-swatches__row' : '.tox-collection__group',\n            cell: presets === 'color' ? '.' + colorClass : '.' + selectableClass\n          }\n        };\n      }\n    };\n\n    var renderColorSwatchItem = function (spec, backstage) {\n      var items = getColorItems(spec, backstage);\n      var columns = backstage.colorinput.getColorCols();\n      var presets = 'color';\n      var menuSpec = createPartialChoiceMenu(generate$6('menu-value'), items, function (value) {\n        spec.onAction({ value: value });\n      }, columns, presets, ItemResponse$1.CLOSE_ON_EXECUTE, never, backstage.shared.providers);\n      var widgetSpec = __assign(__assign({}, menuSpec), {\n        markers: markers(presets),\n        movement: deriveMenuMovement(columns, presets)\n      });\n      return {\n        type: 'widget',\n        data: { value: generate$6('widget-id') },\n        dom: {\n          tag: 'div',\n          classes: ['tox-fancymenuitem']\n        },\n        autofocus: true,\n        components: [parts$f.widget(Menu.sketch(widgetSpec))]\n      };\n    };\n    var getColorItems = function (spec, backstage) {\n      var useCustomColors = spec.initData.allowCustomColors && backstage.colorinput.hasCustomColors();\n      return spec.initData.colors.fold(function () {\n        return getColors$1(backstage.colorinput.getColors(), useCustomColors);\n      }, function (colors) {\n        return colors.concat(getAdditionalColors(useCustomColors));\n      });\n    };\n\n    var cellOverEvent = generate$6('cell-over');\n    var cellExecuteEvent = generate$6('cell-execute');\n    var makeCell = function (row, col, labelId) {\n      var _a;\n      var emitCellOver = function (c) {\n        return emitWith(c, cellOverEvent, {\n          row: row,\n          col: col\n        });\n      };\n      var emitExecute = function (c) {\n        return emitWith(c, cellExecuteEvent, {\n          row: row,\n          col: col\n        });\n      };\n      var onClick = function (c, se) {\n        se.stop();\n        emitExecute(c);\n      };\n      return build$1({\n        dom: {\n          tag: 'div',\n          attributes: (_a = { role: 'button' }, _a['aria-labelledby'] = labelId, _a)\n        },\n        behaviours: derive$1([\n          config('insert-table-picker-cell', [\n            run$1(mouseover(), Focusing.focus),\n            run$1(execute$5(), emitExecute),\n            run$1(click(), onClick),\n            run$1(tap(), onClick)\n          ]),\n          Toggling.config({\n            toggleClass: 'tox-insert-table-picker__selected',\n            toggleOnExecute: false\n          }),\n          Focusing.config({ onFocus: emitCellOver })\n        ])\n      });\n    };\n    var makeCells = function (labelId, numRows, numCols) {\n      var cells = [];\n      for (var i = 0; i < numRows; i++) {\n        var row = [];\n        for (var j = 0; j < numCols; j++) {\n          row.push(makeCell(i, j, labelId));\n        }\n        cells.push(row);\n      }\n      return cells;\n    };\n    var selectCells = function (cells, selectedRow, selectedColumn, numRows, numColumns) {\n      for (var i = 0; i < numRows; i++) {\n        for (var j = 0; j < numColumns; j++) {\n          Toggling.set(cells[i][j], i <= selectedRow && j <= selectedColumn);\n        }\n      }\n    };\n    var makeComponents = function (cells) {\n      return bind$3(cells, function (cellRow) {\n        return map$2(cellRow, premade);\n      });\n    };\n    var makeLabelText = function (row, col) {\n      return text(col + 'x' + row);\n    };\n    var renderInsertTableMenuItem = function (spec) {\n      var numRows = 10;\n      var numColumns = 10;\n      var sizeLabelId = generate$6('size-label');\n      var cells = makeCells(sizeLabelId, numRows, numColumns);\n      var emptyLabelText = makeLabelText(0, 0);\n      var memLabel = record({\n        dom: {\n          tag: 'span',\n          classes: ['tox-insert-table-picker__label'],\n          attributes: { id: sizeLabelId }\n        },\n        components: [emptyLabelText],\n        behaviours: derive$1([Replacing.config({})])\n      });\n      return {\n        type: 'widget',\n        data: { value: generate$6('widget-id') },\n        dom: {\n          tag: 'div',\n          classes: ['tox-fancymenuitem']\n        },\n        autofocus: true,\n        components: [parts$f.widget({\n            dom: {\n              tag: 'div',\n              classes: ['tox-insert-table-picker']\n            },\n            components: makeComponents(cells).concat(memLabel.asSpec()),\n            behaviours: derive$1([\n              config('insert-table-picker', [\n                runOnAttached(function (c) {\n                  Replacing.set(memLabel.get(c), [emptyLabelText]);\n                }),\n                runWithTarget(cellOverEvent, function (c, t, e) {\n                  var _a = e.event, row = _a.row, col = _a.col;\n                  selectCells(cells, row, col, numRows, numColumns);\n                  Replacing.set(memLabel.get(c), [makeLabelText(row + 1, col + 1)]);\n                }),\n                runWithTarget(cellExecuteEvent, function (c, _, e) {\n                  var _a = e.event, row = _a.row, col = _a.col;\n                  spec.onAction({\n                    numRows: row + 1,\n                    numColumns: col + 1\n                  });\n                  emit(c, sandboxClose());\n                })\n              ]),\n              Keying.config({\n                initSize: {\n                  numRows: numRows,\n                  numColumns: numColumns\n                },\n                mode: 'flatgrid',\n                selector: '[role=\"button\"]'\n              })\n            ])\n          })]\n      };\n    };\n\n    var fancyMenuItems = {\n      inserttable: renderInsertTableMenuItem,\n      colorswatch: renderColorSwatchItem\n    };\n    var renderFancyMenuItem = function (spec, backstage) {\n      return get$e(fancyMenuItems, spec.fancytype).map(function (render) {\n        return render(spec, backstage);\n      });\n    };\n\n    var renderNestedItem = function (spec, itemResponse, providersBackstage, renderIcons, downwardsCaret) {\n      if (renderIcons === void 0) {\n        renderIcons = true;\n      }\n      if (downwardsCaret === void 0) {\n        downwardsCaret = false;\n      }\n      var caret = downwardsCaret ? renderDownwardsCaret(providersBackstage.icons) : renderSubmenuCaret(providersBackstage.icons);\n      var getApi = function (component) {\n        return {\n          isDisabled: function () {\n            return Disabling.isDisabled(component);\n          },\n          setDisabled: function (state) {\n            return Disabling.set(component, state);\n          }\n        };\n      };\n      var structure = renderItemStructure({\n        presets: 'normal',\n        iconContent: spec.icon,\n        textContent: spec.text,\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        caret: Optional.some(caret),\n        checkMark: Optional.none(),\n        shortcutContent: spec.shortcut\n      }, providersBackstage, renderIcons);\n      return renderCommonItem({\n        data: buildData(spec),\n        getApi: getApi,\n        disabled: spec.disabled,\n        onAction: noop,\n        onSetup: spec.onSetup,\n        triggersSubmenu: true,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage);\n    };\n\n    var renderNormalItem = function (spec, itemResponse, providersBackstage, renderIcons) {\n      if (renderIcons === void 0) {\n        renderIcons = true;\n      }\n      var getApi = function (component) {\n        return {\n          isDisabled: function () {\n            return Disabling.isDisabled(component);\n          },\n          setDisabled: function (state) {\n            return Disabling.set(component, state);\n          }\n        };\n      };\n      var structure = renderItemStructure({\n        presets: 'normal',\n        iconContent: spec.icon,\n        textContent: spec.text,\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        caret: Optional.none(),\n        checkMark: Optional.none(),\n        shortcutContent: spec.shortcut\n      }, providersBackstage, renderIcons);\n      return renderCommonItem({\n        data: buildData(spec),\n        getApi: getApi,\n        disabled: spec.disabled,\n        onAction: spec.onAction,\n        onSetup: spec.onSetup,\n        triggersSubmenu: false,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage);\n    };\n\n    var renderSeparatorItem = function (spec) {\n      var innerHtml = spec.text.fold(function () {\n        return {};\n      }, function (text) {\n        return { innerHtml: text };\n      });\n      return {\n        type: 'separator',\n        dom: __assign({\n          tag: 'div',\n          classes: [\n            selectableClass,\n            groupHeadingClass\n          ]\n        }, innerHtml),\n        components: []\n      };\n    };\n\n    var renderToggleMenuItem = function (spec, itemResponse, providersBackstage, renderIcons) {\n      if (renderIcons === void 0) {\n        renderIcons = true;\n      }\n      var getApi = function (component) {\n        return {\n          setActive: function (state) {\n            Toggling.set(component, state);\n          },\n          isActive: function () {\n            return Toggling.isOn(component);\n          },\n          isDisabled: function () {\n            return Disabling.isDisabled(component);\n          },\n          setDisabled: function (state) {\n            return Disabling.set(component, state);\n          }\n        };\n      };\n      var structure = renderItemStructure({\n        iconContent: spec.icon,\n        textContent: spec.text,\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        checkMark: Optional.some(renderCheckmark(providersBackstage.icons)),\n        caret: Optional.none(),\n        shortcutContent: spec.shortcut,\n        presets: 'normal',\n        meta: spec.meta\n      }, providersBackstage, renderIcons);\n      return deepMerge(renderCommonItem({\n        data: buildData(spec),\n        disabled: spec.disabled,\n        getApi: getApi,\n        onAction: spec.onAction,\n        onSetup: spec.onSetup,\n        triggersSubmenu: false,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage), {\n        toggling: {\n          toggleClass: tickedClass,\n          toggleOnExecute: false,\n          selected: spec.active\n        }\n      });\n    };\n\n    var autocomplete = renderAutocompleteItem;\n    var separator$3 = renderSeparatorItem;\n    var normal = renderNormalItem;\n    var nested = renderNestedItem;\n    var toggle$1 = renderToggleMenuItem;\n    var fancy = renderFancyMenuItem;\n    var card = renderCardMenuItem;\n\n    var FocusMode;\n    (function (FocusMode) {\n      FocusMode[FocusMode['ContentFocus'] = 0] = 'ContentFocus';\n      FocusMode[FocusMode['UiFocus'] = 1] = 'UiFocus';\n    }(FocusMode || (FocusMode = {})));\n    var createMenuItemFromBridge = function (item, itemResponse, backstage, menuHasIcons, isHorizontalMenu) {\n      var providersBackstage = backstage.shared.providers;\n      var parseForHorizontalMenu = function (menuitem) {\n        return !isHorizontalMenu ? menuitem : __assign(__assign({}, menuitem), {\n          shortcut: Optional.none(),\n          icon: menuitem.text.isSome() ? Optional.none() : menuitem.icon\n        });\n      };\n      switch (item.type) {\n      case 'menuitem':\n        return createMenuItem(item).fold(handleError, function (d) {\n          return Optional.some(normal(parseForHorizontalMenu(d), itemResponse, providersBackstage, menuHasIcons));\n        });\n      case 'nestedmenuitem':\n        return createNestedMenuItem(item).fold(handleError, function (d) {\n          return Optional.some(nested(parseForHorizontalMenu(d), itemResponse, providersBackstage, menuHasIcons, isHorizontalMenu));\n        });\n      case 'togglemenuitem':\n        return createToggleMenuItem(item).fold(handleError, function (d) {\n          return Optional.some(toggle$1(parseForHorizontalMenu(d), itemResponse, providersBackstage, menuHasIcons));\n        });\n      case 'separator':\n        return createSeparatorMenuItem(item).fold(handleError, function (d) {\n          return Optional.some(separator$3(d));\n        });\n      case 'fancymenuitem':\n        return createFancyMenuItem(item).fold(handleError, function (d) {\n          return fancy(parseForHorizontalMenu(d), backstage);\n        });\n      default: {\n          console.error('Unknown item in general menu', item);\n          return Optional.none();\n        }\n      }\n    };\n    var createAutocompleteItems = function (items, matchText, onItemValueHandler, columns, itemResponse, sharedBackstage, highlightOn) {\n      var renderText = columns === 1;\n      var renderIcons = !renderText || menuHasIcons(items);\n      return cat(map$2(items, function (item) {\n        switch (item.type) {\n        case 'separator':\n          return createSeparatorItem(item).fold(handleError, function (d) {\n            return Optional.some(separator$3(d));\n          });\n        case 'cardmenuitem':\n          return createCardMenuItem(item).fold(handleError, function (d) {\n            return Optional.some(card(__assign(__assign({}, d), {\n              onAction: function (api) {\n                d.onAction(api);\n                onItemValueHandler(d.value, d.meta);\n              }\n            }), itemResponse, sharedBackstage, {\n              itemBehaviours: tooltipBehaviour(d.meta, sharedBackstage),\n              cardText: {\n                matchText: matchText,\n                highlightOn: highlightOn\n              }\n            }));\n          });\n        case 'autocompleteitem':\n        default:\n          return createAutocompleterItem(item).fold(handleError, function (d) {\n            return Optional.some(autocomplete(d, matchText, renderText, 'normal', onItemValueHandler, itemResponse, sharedBackstage, renderIcons));\n          });\n        }\n      }));\n    };\n    var createPartialMenu = function (value, items, itemResponse, backstage, isHorizontalMenu) {\n      var hasIcons = menuHasIcons(items);\n      var alloyItems = cat(map$2(items, function (item) {\n        var itemHasIcon = function (i) {\n          return isHorizontalMenu ? !has$2(i, 'text') : hasIcons;\n        };\n        var createItem = function (i) {\n          return createMenuItemFromBridge(i, itemResponse, backstage, itemHasIcon(i), isHorizontalMenu);\n        };\n        if (item.type === 'nestedmenuitem' && item.getSubmenuItems().length <= 0) {\n          return createItem(__assign(__assign({}, item), { disabled: true }));\n        } else {\n          return createItem(item);\n        }\n      }));\n      var createPartial = isHorizontalMenu ? createHorizontalPartialMenuWithAlloyItems : createPartialMenuWithAlloyItems;\n      return createPartial(value, hasIcons, alloyItems, 1, 'normal');\n    };\n    var createTieredDataFrom = function (partialMenu) {\n      return tieredMenu.singleData(partialMenu.value, partialMenu);\n    };\n    var createMenuFrom = function (partialMenu, columns, focusMode, presets) {\n      var focusManager = focusMode === FocusMode.ContentFocus ? highlights() : dom$2();\n      var movement = deriveMenuMovement(columns, presets);\n      var menuMarkers = markers(presets);\n      return {\n        dom: partialMenu.dom,\n        components: partialMenu.components,\n        items: partialMenu.items,\n        value: partialMenu.value,\n        markers: {\n          selectedItem: menuMarkers.selectedItem,\n          item: menuMarkers.item\n        },\n        movement: movement,\n        fakeFocus: focusMode === FocusMode.ContentFocus,\n        focusManager: focusManager,\n        menuBehaviours: SimpleBehaviours.unnamedEvents(columns !== 'auto' ? [] : [runOnAttached(function (comp, _se) {\n            detectSize(comp, 4, menuMarkers.item).each(function (_a) {\n              var numColumns = _a.numColumns, numRows = _a.numRows;\n              Keying.setGridSize(comp, numRows, numColumns);\n            });\n          })])\n      };\n    };\n\n    var register$9 = function (editor, sharedBackstage) {\n      var activeAutocompleter = value$1();\n      var processingAction = Cell(false);\n      var autocompleter = build$1(InlineView.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-autocompleter']\n        },\n        components: [],\n        fireDismissalEventInstead: {},\n        inlineBehaviours: derive$1([config('dismissAutocompleter', [run$1(dismissRequested(), function () {\n              return cancelIfNecessary();\n            })])]),\n        lazySink: sharedBackstage.getSink\n      }));\n      var isMenuOpen = function () {\n        return InlineView.isOpen(autocompleter);\n      };\n      var isActive = function () {\n        return activeAutocompleter.get().isSome();\n      };\n      var hideIfNecessary = function () {\n        if (isActive()) {\n          InlineView.hide(autocompleter);\n        }\n      };\n      var cancelIfNecessary = function () {\n        if (isActive()) {\n          var lastElement = activeAutocompleter.get().map(function (ac) {\n            return ac.element;\n          });\n          detect(lastElement.getOr(SugarElement.fromDom(editor.selection.getNode()))).each(unwrap);\n          hideIfNecessary();\n          activeAutocompleter.clear();\n          processingAction.set(false);\n        }\n      };\n      var getAutocompleters = cached(function () {\n        return register$b(editor);\n      });\n      var getCombinedItems = function (triggerChar, matches) {\n        var columns = findMap(matches, function (m) {\n          return Optional.from(m.columns);\n        }).getOr(1);\n        return bind$3(matches, function (match) {\n          var choices = match.items;\n          return createAutocompleteItems(choices, match.matchText, function (itemValue, itemMeta) {\n            var nr = editor.selection.getRng();\n            getContext(editor.dom, nr, triggerChar).fold(function () {\n              return console.error('Lost context. Cursor probably moved');\n            }, function (_a) {\n              var range = _a.range;\n              var autocompleterApi = {\n                hide: function () {\n                  cancelIfNecessary();\n                },\n                reload: function (fetchOptions) {\n                  hideIfNecessary();\n                  load(fetchOptions);\n                }\n              };\n              processingAction.set(true);\n              match.onAction(autocompleterApi, range, itemValue, itemMeta);\n              processingAction.set(false);\n            });\n          }, columns, ItemResponse$1.BUBBLE_TO_SANDBOX, sharedBackstage, match.highlightOn);\n        });\n      };\n      var commenceIfNecessary = function (context) {\n        if (!isActive()) {\n          var wrapper = create$4(editor, context.range);\n          activeAutocompleter.set({\n            triggerChar: context.triggerChar,\n            element: wrapper,\n            matchLength: context.text.length\n          });\n          processingAction.set(false);\n        }\n      };\n      var display = function (ac, context, lookupData, items) {\n        ac.matchLength = context.text.length;\n        var columns = findMap(lookupData, function (ld) {\n          return Optional.from(ld.columns);\n        }).getOr(1);\n        InlineView.showAt(autocompleter, Menu.sketch(createMenuFrom(createPartialMenuWithAlloyItems('autocompleter-value', true, items, columns, 'normal'), columns, FocusMode.ContentFocus, 'normal')), {\n          anchor: {\n            type: 'node',\n            root: SugarElement.fromDom(editor.getBody()),\n            node: Optional.from(ac.element)\n          }\n        });\n        InlineView.getContent(autocompleter).each(Highlighting.highlightFirst);\n      };\n      var doLookup = function (fetchOptions) {\n        return activeAutocompleter.get().map(function (ac) {\n          return getContext(editor.dom, editor.selection.getRng(), ac.triggerChar).bind(function (newContext) {\n            return lookupWithContext(editor, getAutocompleters, newContext, fetchOptions);\n          });\n        }).getOrThunk(function () {\n          return lookup$2(editor, getAutocompleters);\n        });\n      };\n      var load = function (fetchOptions) {\n        doLookup(fetchOptions).fold(cancelIfNecessary, function (lookupInfo) {\n          commenceIfNecessary(lookupInfo.context);\n          lookupInfo.lookupData.then(function (lookupData) {\n            activeAutocompleter.get().map(function (ac) {\n              var context = lookupInfo.context;\n              if (ac.triggerChar === context.triggerChar) {\n                var combinedItems = getCombinedItems(context.triggerChar, lookupData);\n                if (combinedItems.length > 0) {\n                  display(ac, context, lookupData, combinedItems);\n                } else if (context.text.length - ac.matchLength >= 10) {\n                  cancelIfNecessary();\n                } else {\n                  hideIfNecessary();\n                }\n              }\n            });\n          });\n        });\n      };\n      var onKeypress = last(function (e) {\n        if (e.which === 27) {\n          return;\n        }\n        load();\n      }, 50);\n      var autocompleterUiApi = {\n        onKeypress: onKeypress,\n        cancelIfNecessary: cancelIfNecessary,\n        isMenuOpen: isMenuOpen,\n        isActive: isActive,\n        isProcessingAction: processingAction.get,\n        getView: function () {\n          return InlineView.getContent(autocompleter);\n        }\n      };\n      if (editor.hasPlugin('rtc') === false) {\n        AutocompleterEditorEvents.setup(autocompleterUiApi, editor);\n      }\n    };\n    var Autocompleter = { register: register$9 };\n\n    var closest = function (scope, selector, isRoot) {\n      return closest$1(scope, selector, isRoot).isSome();\n    };\n\n    var DelayedFunction = function (fun, delay) {\n      var ref = null;\n      var schedule = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        ref = setTimeout(function () {\n          fun.apply(null, args);\n          ref = null;\n        }, delay);\n      };\n      var cancel = function () {\n        if (ref !== null) {\n          clearTimeout(ref);\n          ref = null;\n        }\n      };\n      return {\n        cancel: cancel,\n        schedule: schedule\n      };\n    };\n\n    var SIGNIFICANT_MOVE = 5;\n    var LONGPRESS_DELAY = 400;\n    var getTouch = function (event) {\n      var raw = event.raw;\n      if (raw.touches === undefined || raw.touches.length !== 1) {\n        return Optional.none();\n      }\n      return Optional.some(raw.touches[0]);\n    };\n    var isFarEnough = function (touch, data) {\n      var distX = Math.abs(touch.clientX - data.x);\n      var distY = Math.abs(touch.clientY - data.y);\n      return distX > SIGNIFICANT_MOVE || distY > SIGNIFICANT_MOVE;\n    };\n    var monitor = function (settings) {\n      var startData = value$1();\n      var longpressFired = Cell(false);\n      var longpress$1 = DelayedFunction(function (event) {\n        settings.triggerEvent(longpress(), event);\n        longpressFired.set(true);\n      }, LONGPRESS_DELAY);\n      var handleTouchstart = function (event) {\n        getTouch(event).each(function (touch) {\n          longpress$1.cancel();\n          var data = {\n            x: touch.clientX,\n            y: touch.clientY,\n            target: event.target\n          };\n          longpress$1.schedule(event);\n          longpressFired.set(false);\n          startData.set(data);\n        });\n        return Optional.none();\n      };\n      var handleTouchmove = function (event) {\n        longpress$1.cancel();\n        getTouch(event).each(function (touch) {\n          startData.on(function (data) {\n            if (isFarEnough(touch, data)) {\n              startData.clear();\n            }\n          });\n        });\n        return Optional.none();\n      };\n      var handleTouchend = function (event) {\n        longpress$1.cancel();\n        var isSame = function (data) {\n          return eq(data.target, event.target);\n        };\n        return startData.get().filter(isSame).map(function (_data) {\n          if (longpressFired.get()) {\n            event.prevent();\n            return false;\n          } else {\n            return settings.triggerEvent(tap(), event);\n          }\n        });\n      };\n      var handlers = wrapAll([\n        {\n          key: touchstart(),\n          value: handleTouchstart\n        },\n        {\n          key: touchmove(),\n          value: handleTouchmove\n        },\n        {\n          key: touchend(),\n          value: handleTouchend\n        }\n      ]);\n      var fireIfReady = function (event, type) {\n        return get$e(handlers, type).bind(function (handler) {\n          return handler(event);\n        });\n      };\n      return { fireIfReady: fireIfReady };\n    };\n\n    var isDangerous = function (event) {\n      var keyEv = event.raw;\n      return keyEv.which === BACKSPACE[0] && !contains$2([\n        'input',\n        'textarea'\n      ], name$2(event.target)) && !closest(event.target, '[contenteditable=\"true\"]');\n    };\n    var isFirefox = function () {\n      return detect$1().browser.isFirefox();\n    };\n    var bindFocus = function (container, handler) {\n      if (isFirefox()) {\n        return capture(container, 'focus', handler);\n      } else {\n        return bind(container, 'focusin', handler);\n      }\n    };\n    var bindBlur = function (container, handler) {\n      if (isFirefox()) {\n        return capture(container, 'blur', handler);\n      } else {\n        return bind(container, 'focusout', handler);\n      }\n    };\n    var setup$d = function (container, rawSettings) {\n      var settings = __assign({ stopBackspace: true }, rawSettings);\n      var pointerEvents = [\n        'touchstart',\n        'touchmove',\n        'touchend',\n        'touchcancel',\n        'gesturestart',\n        'mousedown',\n        'mouseup',\n        'mouseover',\n        'mousemove',\n        'mouseout',\n        'click'\n      ];\n      var tapEvent = monitor(settings);\n      var simpleEvents = map$2(pointerEvents.concat([\n        'selectstart',\n        'input',\n        'contextmenu',\n        'change',\n        'transitionend',\n        'transitioncancel',\n        'drag',\n        'dragstart',\n        'dragend',\n        'dragenter',\n        'dragleave',\n        'dragover',\n        'drop',\n        'keyup'\n      ]), function (type) {\n        return bind(container, type, function (event) {\n          tapEvent.fireIfReady(event, type).each(function (tapStopped) {\n            if (tapStopped) {\n              event.kill();\n            }\n          });\n          var stopped = settings.triggerEvent(type, event);\n          if (stopped) {\n            event.kill();\n          }\n        });\n      });\n      var pasteTimeout = value$1();\n      var onPaste = bind(container, 'paste', function (event) {\n        tapEvent.fireIfReady(event, 'paste').each(function (tapStopped) {\n          if (tapStopped) {\n            event.kill();\n          }\n        });\n        var stopped = settings.triggerEvent('paste', event);\n        if (stopped) {\n          event.kill();\n        }\n        pasteTimeout.set(setTimeout(function () {\n          settings.triggerEvent(postPaste(), event);\n        }, 0));\n      });\n      var onKeydown = bind(container, 'keydown', function (event) {\n        var stopped = settings.triggerEvent('keydown', event);\n        if (stopped) {\n          event.kill();\n        } else if (settings.stopBackspace && isDangerous(event)) {\n          event.prevent();\n        }\n      });\n      var onFocusIn = bindFocus(container, function (event) {\n        var stopped = settings.triggerEvent('focusin', event);\n        if (stopped) {\n          event.kill();\n        }\n      });\n      var focusoutTimeout = value$1();\n      var onFocusOut = bindBlur(container, function (event) {\n        var stopped = settings.triggerEvent('focusout', event);\n        if (stopped) {\n          event.kill();\n        }\n        focusoutTimeout.set(setTimeout(function () {\n          settings.triggerEvent(postBlur(), event);\n        }, 0));\n      });\n      var unbind = function () {\n        each$1(simpleEvents, function (e) {\n          e.unbind();\n        });\n        onKeydown.unbind();\n        onFocusIn.unbind();\n        onFocusOut.unbind();\n        onPaste.unbind();\n        pasteTimeout.on(clearTimeout);\n        focusoutTimeout.on(clearTimeout);\n      };\n      return { unbind: unbind };\n    };\n\n    var derive = function (rawEvent, rawTarget) {\n      var source = get$e(rawEvent, 'target').getOr(rawTarget);\n      return Cell(source);\n    };\n\n    var fromSource = function (event, source) {\n      var stopper = Cell(false);\n      var cutter = Cell(false);\n      var stop = function () {\n        stopper.set(true);\n      };\n      var cut = function () {\n        cutter.set(true);\n      };\n      return {\n        stop: stop,\n        cut: cut,\n        isStopped: stopper.get,\n        isCut: cutter.get,\n        event: event,\n        setSource: source.set,\n        getSource: source.get\n      };\n    };\n    var fromExternal = function (event) {\n      var stopper = Cell(false);\n      var stop = function () {\n        stopper.set(true);\n      };\n      return {\n        stop: stop,\n        cut: noop,\n        isStopped: stopper.get,\n        isCut: never,\n        event: event,\n        setSource: die('Cannot set source of a broadcasted event'),\n        getSource: die('Cannot get source of a broadcasted event')\n      };\n    };\n\n    var adt$1 = Adt.generate([\n      { stopped: [] },\n      { resume: ['element'] },\n      { complete: [] }\n    ]);\n    var doTriggerHandler = function (lookup, eventType, rawEvent, target, source, logger) {\n      var handler = lookup(eventType, target);\n      var simulatedEvent = fromSource(rawEvent, source);\n      return handler.fold(function () {\n        logger.logEventNoHandlers(eventType, target);\n        return adt$1.complete();\n      }, function (handlerInfo) {\n        var descHandler = handlerInfo.descHandler;\n        var eventHandler = getCurried(descHandler);\n        eventHandler(simulatedEvent);\n        if (simulatedEvent.isStopped()) {\n          logger.logEventStopped(eventType, handlerInfo.element, descHandler.purpose);\n          return adt$1.stopped();\n        } else if (simulatedEvent.isCut()) {\n          logger.logEventCut(eventType, handlerInfo.element, descHandler.purpose);\n          return adt$1.complete();\n        } else {\n          return parent(handlerInfo.element).fold(function () {\n            logger.logNoParent(eventType, handlerInfo.element, descHandler.purpose);\n            return adt$1.complete();\n          }, function (parent) {\n            logger.logEventResponse(eventType, handlerInfo.element, descHandler.purpose);\n            return adt$1.resume(parent);\n          });\n        }\n      });\n    };\n    var doTriggerOnUntilStopped = function (lookup, eventType, rawEvent, rawTarget, source, logger) {\n      return doTriggerHandler(lookup, eventType, rawEvent, rawTarget, source, logger).fold(always, function (parent) {\n        return doTriggerOnUntilStopped(lookup, eventType, rawEvent, parent, source, logger);\n      }, never);\n    };\n    var triggerHandler = function (lookup, eventType, rawEvent, target, logger) {\n      var source = derive(rawEvent, target);\n      return doTriggerHandler(lookup, eventType, rawEvent, target, source, logger);\n    };\n    var broadcast = function (listeners, rawEvent, _logger) {\n      var simulatedEvent = fromExternal(rawEvent);\n      each$1(listeners, function (listener) {\n        var descHandler = listener.descHandler;\n        var handler = getCurried(descHandler);\n        handler(simulatedEvent);\n      });\n      return simulatedEvent.isStopped();\n    };\n    var triggerUntilStopped = function (lookup, eventType, rawEvent, logger) {\n      return triggerOnUntilStopped(lookup, eventType, rawEvent, rawEvent.target, logger);\n    };\n    var triggerOnUntilStopped = function (lookup, eventType, rawEvent, rawTarget, logger) {\n      var source = derive(rawEvent, rawTarget);\n      return doTriggerOnUntilStopped(lookup, eventType, rawEvent, rawTarget, source, logger);\n    };\n\n    var eventHandler = function (element, descHandler) {\n      return {\n        element: element,\n        descHandler: descHandler\n      };\n    };\n    var broadcastHandler = function (id, handler) {\n      return {\n        id: id,\n        descHandler: handler\n      };\n    };\n    var EventRegistry = function () {\n      var registry = {};\n      var registerId = function (extraArgs, id, events) {\n        each(events, function (v, k) {\n          var handlers = registry[k] !== undefined ? registry[k] : {};\n          handlers[id] = curryArgs(v, extraArgs);\n          registry[k] = handlers;\n        });\n      };\n      var findHandler = function (handlers, elem) {\n        return read$1(elem).bind(function (id) {\n          return get$e(handlers, id);\n        }).map(function (descHandler) {\n          return eventHandler(elem, descHandler);\n        });\n      };\n      var filterByType = function (type) {\n        return get$e(registry, type).map(function (handlers) {\n          return mapToArray(handlers, function (f, id) {\n            return broadcastHandler(id, f);\n          });\n        }).getOr([]);\n      };\n      var find = function (isAboveRoot, type, target) {\n        return get$e(registry, type).bind(function (handlers) {\n          return closest$4(target, function (elem) {\n            return findHandler(handlers, elem);\n          }, isAboveRoot);\n        });\n      };\n      var unregisterId = function (id) {\n        each(registry, function (handlersById, _eventName) {\n          if (has$2(handlersById, id)) {\n            delete handlersById[id];\n          }\n        });\n      };\n      return {\n        registerId: registerId,\n        unregisterId: unregisterId,\n        filterByType: filterByType,\n        find: find\n      };\n    };\n\n    var Registry = function () {\n      var events = EventRegistry();\n      var components = {};\n      var readOrTag = function (component) {\n        var elem = component.element;\n        return read$1(elem).getOrThunk(function () {\n          return write('uid-', component.element);\n        });\n      };\n      var failOnDuplicate = function (component, tagId) {\n        var conflict = components[tagId];\n        if (conflict === component) {\n          unregister(component);\n        } else {\n          throw new Error('The tagId \"' + tagId + '\" is already used by: ' + element(conflict.element) + '\\nCannot use it for: ' + element(component.element) + '\\n' + 'The conflicting element is' + (inBody(conflict.element) ? ' ' : ' not ') + 'already in the DOM');\n        }\n      };\n      var register = function (component) {\n        var tagId = readOrTag(component);\n        if (hasNonNullableKey(components, tagId)) {\n          failOnDuplicate(component, tagId);\n        }\n        var extraArgs = [component];\n        events.registerId(extraArgs, tagId, component.events);\n        components[tagId] = component;\n      };\n      var unregister = function (component) {\n        read$1(component.element).each(function (tagId) {\n          delete components[tagId];\n          events.unregisterId(tagId);\n        });\n      };\n      var filter = function (type) {\n        return events.filterByType(type);\n      };\n      var find = function (isAboveRoot, type, target) {\n        return events.find(isAboveRoot, type, target);\n      };\n      var getById = function (id) {\n        return get$e(components, id);\n      };\n      return {\n        find: find,\n        filter: filter,\n        register: register,\n        unregister: unregister,\n        getById: getById\n      };\n    };\n\n    var factory$j = function (detail) {\n      var _a = detail.dom, attributes = _a.attributes, domWithoutAttributes = __rest(_a, ['attributes']);\n      return {\n        uid: detail.uid,\n        dom: __assign({\n          tag: 'div',\n          attributes: __assign({ role: 'presentation' }, attributes)\n        }, domWithoutAttributes),\n        components: detail.components,\n        behaviours: get$2(detail.containerBehaviours),\n        events: detail.events,\n        domModification: detail.domModification,\n        eventOrder: detail.eventOrder\n      };\n    };\n    var Container = single({\n      name: 'Container',\n      factory: factory$j,\n      configFields: [\n        defaulted('components', []),\n        field('containerBehaviours', []),\n        defaulted('events', {}),\n        defaulted('domModification', {}),\n        defaulted('eventOrder', {})\n      ]\n    });\n\n    var takeover = function (root) {\n      var isAboveRoot = function (el) {\n        return parent(root.element).fold(always, function (parent) {\n          return eq(el, parent);\n        });\n      };\n      var registry = Registry();\n      var lookup = function (eventName, target) {\n        return registry.find(isAboveRoot, eventName, target);\n      };\n      var domEvents = setup$d(root.element, {\n        triggerEvent: function (eventName, event) {\n          return monitorEvent(eventName, event.target, function (logger) {\n            return triggerUntilStopped(lookup, eventName, event, logger);\n          });\n        }\n      });\n      var systemApi = {\n        debugInfo: constant$1('real'),\n        triggerEvent: function (eventName, target, data) {\n          monitorEvent(eventName, target, function (logger) {\n            return triggerOnUntilStopped(lookup, eventName, data, target, logger);\n          });\n        },\n        triggerFocus: function (target, originator) {\n          read$1(target).fold(function () {\n            focus$3(target);\n          }, function (_alloyId) {\n            monitorEvent(focus$4(), target, function (logger) {\n              triggerHandler(lookup, focus$4(), {\n                originator: originator,\n                kill: noop,\n                prevent: noop,\n                target: target\n              }, target, logger);\n              return false;\n            });\n          });\n        },\n        triggerEscape: function (comp, simulatedEvent) {\n          systemApi.triggerEvent('keydown', comp.element, simulatedEvent.event);\n        },\n        getByUid: function (uid) {\n          return getByUid(uid);\n        },\n        getByDom: function (elem) {\n          return getByDom(elem);\n        },\n        build: build$1,\n        addToGui: function (c) {\n          add(c);\n        },\n        removeFromGui: function (c) {\n          remove(c);\n        },\n        addToWorld: function (c) {\n          addToWorld(c);\n        },\n        removeFromWorld: function (c) {\n          removeFromWorld(c);\n        },\n        broadcast: function (message) {\n          broadcast$1(message);\n        },\n        broadcastOn: function (channels, message) {\n          broadcastOn(channels, message);\n        },\n        broadcastEvent: function (eventName, event) {\n          broadcastEvent(eventName, event);\n        },\n        isConnected: always\n      };\n      var addToWorld = function (component) {\n        component.connect(systemApi);\n        if (!isText$1(component.element)) {\n          registry.register(component);\n          each$1(component.components(), addToWorld);\n          systemApi.triggerEvent(systemInit(), component.element, { target: component.element });\n        }\n      };\n      var removeFromWorld = function (component) {\n        if (!isText$1(component.element)) {\n          each$1(component.components(), removeFromWorld);\n          registry.unregister(component);\n        }\n        component.disconnect();\n      };\n      var add = function (component) {\n        attach(root, component);\n      };\n      var remove = function (component) {\n        detach(component);\n      };\n      var destroy = function () {\n        domEvents.unbind();\n        remove$5(root.element);\n      };\n      var broadcastData = function (data) {\n        var receivers = registry.filter(receive());\n        each$1(receivers, function (receiver) {\n          var descHandler = receiver.descHandler;\n          var handler = getCurried(descHandler);\n          handler(data);\n        });\n      };\n      var broadcast$1 = function (message) {\n        broadcastData({\n          universal: true,\n          data: message\n        });\n      };\n      var broadcastOn = function (channels, message) {\n        broadcastData({\n          universal: false,\n          channels: channels,\n          data: message\n        });\n      };\n      var broadcastEvent = function (eventName, event) {\n        var listeners = registry.filter(eventName);\n        return broadcast(listeners, event);\n      };\n      var getByUid = function (uid) {\n        return registry.getById(uid).fold(function () {\n          return Result.error(new Error('Could not find component with uid: \"' + uid + '\" in system.'));\n        }, Result.value);\n      };\n      var getByDom = function (elem) {\n        var uid = read$1(elem).getOr('not found');\n        return getByUid(uid);\n      };\n      addToWorld(root);\n      return {\n        root: root,\n        element: root.element,\n        destroy: destroy,\n        add: add,\n        remove: remove,\n        getByUid: getByUid,\n        getByDom: getByDom,\n        addToWorld: addToWorld,\n        removeFromWorld: removeFromWorld,\n        broadcast: broadcast$1,\n        broadcastOn: broadcastOn,\n        broadcastEvent: broadcastEvent\n      };\n    };\n\n    var renderBar = function (spec, backstage) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-bar',\n            'tox-form__controls-h-stack'\n          ]\n        },\n        components: map$2(spec.items, backstage.interpreter)\n      };\n    };\n\n    var schema$l = constant$1([\n      defaulted('prefix', 'form-field'),\n      field('fieldBehaviours', [\n        Composing,\n        Representing\n      ])\n    ]);\n    var parts$e = constant$1([\n      optional({\n        schema: [required$1('dom')],\n        name: 'label'\n      }),\n      optional({\n        factory: {\n          sketch: function (spec) {\n            return {\n              uid: spec.uid,\n              dom: {\n                tag: 'span',\n                styles: { display: 'none' },\n                attributes: { 'aria-hidden': 'true' },\n                innerHtml: spec.text\n              }\n            };\n          }\n        },\n        schema: [required$1('text')],\n        name: 'aria-descriptor'\n      }),\n      required({\n        factory: {\n          sketch: function (spec) {\n            var excludeFactory = exclude(spec, ['factory']);\n            return spec.factory.sketch(excludeFactory);\n          }\n        },\n        schema: [required$1('factory')],\n        name: 'field'\n      })\n    ]);\n\n    var factory$i = function (detail, components, _spec, _externals) {\n      var behaviours = augment(detail.fieldBehaviours, [\n        Composing.config({\n          find: function (container) {\n            return getPart(container, detail, 'field');\n          }\n        }),\n        Representing.config({\n          store: {\n            mode: 'manual',\n            getValue: function (field) {\n              return Composing.getCurrent(field).bind(Representing.getValue);\n            },\n            setValue: function (field, value) {\n              Composing.getCurrent(field).each(function (current) {\n                Representing.setValue(current, value);\n              });\n            }\n          }\n        })\n      ]);\n      var events = derive$2([runOnAttached(function (component, _simulatedEvent) {\n          var ps = getParts(component, detail, [\n            'label',\n            'field',\n            'aria-descriptor'\n          ]);\n          ps.field().each(function (field) {\n            var id = generate$6(detail.prefix);\n            ps.label().each(function (label) {\n              set$8(label.element, 'for', id);\n              set$8(field.element, 'id', id);\n            });\n            ps['aria-descriptor']().each(function (descriptor) {\n              var descriptorId = generate$6(detail.prefix);\n              set$8(descriptor.element, 'id', descriptorId);\n              set$8(field.element, 'aria-describedby', descriptorId);\n            });\n          });\n        })]);\n      var apis = {\n        getField: function (container) {\n          return getPart(container, detail, 'field');\n        },\n        getLabel: function (container) {\n          return getPart(container, detail, 'label');\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: behaviours,\n        events: events,\n        apis: apis\n      };\n    };\n    var FormField = composite({\n      name: 'FormField',\n      configFields: schema$l(),\n      partFields: parts$e(),\n      factory: factory$i,\n      apis: {\n        getField: function (apis, comp) {\n          return apis.getField(comp);\n        },\n        getLabel: function (apis, comp) {\n          return apis.getLabel(comp);\n        }\n      }\n    });\n\n    var exhibit$2 = function (base, tabConfig) {\n      return nu$7({\n        attributes: wrapAll([{\n            key: tabConfig.tabAttr,\n            value: 'true'\n          }])\n      });\n    };\n\n    var ActiveTabstopping = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$2\n    });\n\n    var TabstopSchema = [defaulted('tabAttr', 'data-alloy-tabstop')];\n\n    var Tabstopping = create$7({\n      fields: TabstopSchema,\n      name: 'tabstopping',\n      active: ActiveTabstopping\n    });\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.html.Entities');\n\n    var renderFormFieldWith = function (pLabel, pField, extraClasses, extraBehaviours) {\n      var spec = renderFormFieldSpecWith(pLabel, pField, extraClasses, extraBehaviours);\n      return FormField.sketch(spec);\n    };\n    var renderFormField = function (pLabel, pField) {\n      return renderFormFieldWith(pLabel, pField, [], []);\n    };\n    var renderFormFieldSpecWith = function (pLabel, pField, extraClasses, extraBehaviours) {\n      return {\n        dom: renderFormFieldDomWith(extraClasses),\n        components: pLabel.toArray().concat([pField]),\n        fieldBehaviours: derive$1(extraBehaviours)\n      };\n    };\n    var renderFormFieldDom = function () {\n      return renderFormFieldDomWith([]);\n    };\n    var renderFormFieldDomWith = function (extraClasses) {\n      return {\n        tag: 'div',\n        classes: ['tox-form__group'].concat(extraClasses)\n      };\n    };\n    var renderLabel$2 = function (label, providersBackstage) {\n      return FormField.parts.label({\n        dom: {\n          tag: 'label',\n          classes: ['tox-label'],\n          innerHtml: providersBackstage.translate(label)\n        }\n      });\n    };\n\n    var formChangeEvent = generate$6('form-component-change');\n    var formCloseEvent = generate$6('form-close');\n    var formCancelEvent = generate$6('form-cancel');\n    var formActionEvent = generate$6('form-action');\n    var formSubmitEvent = generate$6('form-submit');\n    var formBlockEvent = generate$6('form-block');\n    var formUnblockEvent = generate$6('form-unblock');\n    var formTabChangeEvent = generate$6('form-tabchange');\n    var formResizeEvent = generate$6('form-resize');\n\n    var renderCollection = function (spec, providersBackstage) {\n      var _a;\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var runOnItem = function (f) {\n        return function (comp, se) {\n          closest$1(se.event.target, '[data-collection-item-value]').each(function (target) {\n            f(comp, se, target, get$d(target, 'data-collection-item-value'));\n          });\n        };\n      };\n      var setContents = function (comp, items) {\n        var htmlLines = map$2(items, function (item) {\n          var itemText = global$e.translate(item.text);\n          var textContent = spec.columns === 1 ? '<div class=\"tox-collection__item-label\">' + itemText + '</div>' : '';\n          var iconContent = '<div class=\"tox-collection__item-icon\">' + item.icon + '</div>';\n          var mapItemName = {\n            '_': ' ',\n            ' - ': ' ',\n            '-': ' '\n          };\n          var ariaLabel = itemText.replace(/\\_| \\- |\\-/g, function (match) {\n            return mapItemName[match];\n          });\n          var disabledClass = providersBackstage.isDisabled() ? ' tox-collection__item--state-disabled' : '';\n          return '<div class=\"tox-collection__item' + disabledClass + '\" tabindex=\"-1\" data-collection-item-value=\"' + global$7.encodeAllRaw(item.value) + '\" title=\"' + ariaLabel + '\" aria-label=\"' + ariaLabel + '\">' + iconContent + textContent + '</div>';\n        });\n        var chunks = spec.columns !== 'auto' && spec.columns > 1 ? chunk$1(htmlLines, spec.columns) : [htmlLines];\n        var html = map$2(chunks, function (ch) {\n          return '<div class=\"tox-collection__group\">' + ch.join('') + '</div>';\n        });\n        set$5(comp.element, html.join(''));\n      };\n      var onClick = runOnItem(function (comp, se, tgt, itemValue) {\n        se.stop();\n        if (!providersBackstage.isDisabled()) {\n          emitWith(comp, formActionEvent, {\n            name: spec.name,\n            value: itemValue\n          });\n        }\n      });\n      var collectionEvents = [\n        run$1(mouseover(), runOnItem(function (comp, se, tgt) {\n          focus$3(tgt);\n        })),\n        run$1(click(), onClick),\n        run$1(tap(), onClick),\n        run$1(focusin(), runOnItem(function (comp, se, tgt) {\n          descendant(comp.element, '.' + activeClass).each(function (currentActive) {\n            remove$2(currentActive, activeClass);\n          });\n          add$2(tgt, activeClass);\n        })),\n        run$1(focusout(), runOnItem(function (comp) {\n          descendant(comp.element, '.' + activeClass).each(function (currentActive) {\n            remove$2(currentActive, activeClass);\n          });\n        })),\n        runOnExecute$1(runOnItem(function (comp, se, tgt, itemValue) {\n          emitWith(comp, formActionEvent, {\n            name: spec.name,\n            value: itemValue\n          });\n        }))\n      ];\n      var iterCollectionItems = function (comp, applyAttributes) {\n        return map$2(descendants(comp.element, '.tox-collection__item'), applyAttributes);\n      };\n      var pField = FormField.parts.field({\n        dom: {\n          tag: 'div',\n          classes: ['tox-collection'].concat(spec.columns !== 1 ? ['tox-collection--grid'] : ['tox-collection--list'])\n        },\n        components: [],\n        factory: { sketch: identity$1 },\n        behaviours: derive$1([\n          Disabling.config({\n            disabled: providersBackstage.isDisabled,\n            onDisabled: function (comp) {\n              iterCollectionItems(comp, function (childElm) {\n                add$2(childElm, 'tox-collection__item--state-disabled');\n                set$8(childElm, 'aria-disabled', true);\n              });\n            },\n            onEnabled: function (comp) {\n              iterCollectionItems(comp, function (childElm) {\n                remove$2(childElm, 'tox-collection__item--state-disabled');\n                remove$7(childElm, 'aria-disabled');\n              });\n            }\n          }),\n          receivingConfig(),\n          Replacing.config({}),\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: []\n            },\n            onSetValue: function (comp, items) {\n              setContents(comp, items);\n              if (spec.columns === 'auto') {\n                detectSize(comp, 5, 'tox-collection__item').each(function (_a) {\n                  var numRows = _a.numRows, numColumns = _a.numColumns;\n                  Keying.setGridSize(comp, numRows, numColumns);\n                });\n              }\n              emit(comp, formResizeEvent);\n            }\n          }),\n          Tabstopping.config({}),\n          Keying.config(deriveCollectionMovement(spec.columns, 'normal')),\n          config('collection-events', collectionEvents)\n        ]),\n        eventOrder: (_a = {}, _a[execute$5()] = [\n          'disabling',\n          'alloy.base.behaviour',\n          'collection-events'\n        ], _a)\n      });\n      var extraClasses = ['tox-form__group--collection'];\n      return renderFormFieldWith(pLabel, pField, extraClasses, []);\n    };\n\n    var schema$k = constant$1([\n      option('data'),\n      defaulted('inputAttributes', {}),\n      defaulted('inputStyles', {}),\n      defaulted('tag', 'input'),\n      defaulted('inputClasses', []),\n      onHandler('onSetValue'),\n      defaulted('styles', {}),\n      defaulted('eventOrder', {}),\n      field('inputBehaviours', [\n        Representing,\n        Focusing\n      ]),\n      defaulted('selectOnFocus', true)\n    ]);\n    var focusBehaviours = function (detail) {\n      return derive$1([Focusing.config({\n          onFocus: !detail.selectOnFocus ? noop : function (component) {\n            var input = component.element;\n            var value = get$5(input);\n            input.dom.setSelectionRange(0, value.length);\n          }\n        })]);\n    };\n    var behaviours = function (detail) {\n      return __assign(__assign({}, focusBehaviours(detail)), augment(detail.inputBehaviours, [Representing.config({\n          store: __assign(__assign({ mode: 'manual' }, detail.data.map(function (data) {\n            return { initialValue: data };\n          }).getOr({})), {\n            getValue: function (input) {\n              return get$5(input.element);\n            },\n            setValue: function (input, data) {\n              var current = get$5(input.element);\n              if (current !== data) {\n                set$4(input.element, data);\n              }\n            }\n          }),\n          onSetValue: detail.onSetValue\n        })]));\n    };\n    var dom = function (detail) {\n      return {\n        tag: detail.tag,\n        attributes: __assign({ type: 'text' }, detail.inputAttributes),\n        styles: detail.inputStyles,\n        classes: detail.inputClasses\n      };\n    };\n\n    var factory$h = function (detail, _spec) {\n      return {\n        uid: detail.uid,\n        dom: dom(detail),\n        components: [],\n        behaviours: behaviours(detail),\n        eventOrder: detail.eventOrder\n      };\n    };\n    var Input = single({\n      name: 'Input',\n      configFields: schema$k(),\n      factory: factory$h\n    });\n\n    var exports$1 = {}, module = { exports: exports$1 };\n    (function (define, exports, module, require) {\n      (function (global, factory) {\n        typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EphoxContactWrapper = factory());\n      }(this, function () {\n        var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n        var promise = { exports: {} };\n        (function (module) {\n          (function (root) {\n            var setTimeoutFunc = setTimeout;\n            function noop() {\n            }\n            function bind(fn, thisArg) {\n              return function () {\n                fn.apply(thisArg, arguments);\n              };\n            }\n            function Promise(fn) {\n              if (typeof this !== 'object')\n                throw new TypeError('Promises must be constructed via new');\n              if (typeof fn !== 'function')\n                throw new TypeError('not a function');\n              this._state = 0;\n              this._handled = false;\n              this._value = undefined;\n              this._deferreds = [];\n              doResolve(fn, this);\n            }\n            function handle(self, deferred) {\n              while (self._state === 3) {\n                self = self._value;\n              }\n              if (self._state === 0) {\n                self._deferreds.push(deferred);\n                return;\n              }\n              self._handled = true;\n              Promise._immediateFn(function () {\n                var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n                if (cb === null) {\n                  (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n                  return;\n                }\n                var ret;\n                try {\n                  ret = cb(self._value);\n                } catch (e) {\n                  reject(deferred.promise, e);\n                  return;\n                }\n                resolve(deferred.promise, ret);\n              });\n            }\n            function resolve(self, newValue) {\n              try {\n                if (newValue === self)\n                  throw new TypeError('A promise cannot be resolved with itself.');\n                if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n                  var then = newValue.then;\n                  if (newValue instanceof Promise) {\n                    self._state = 3;\n                    self._value = newValue;\n                    finale(self);\n                    return;\n                  } else if (typeof then === 'function') {\n                    doResolve(bind(then, newValue), self);\n                    return;\n                  }\n                }\n                self._state = 1;\n                self._value = newValue;\n                finale(self);\n              } catch (e) {\n                reject(self, e);\n              }\n            }\n            function reject(self, newValue) {\n              self._state = 2;\n              self._value = newValue;\n              finale(self);\n            }\n            function finale(self) {\n              if (self._state === 2 && self._deferreds.length === 0) {\n                Promise._immediateFn(function () {\n                  if (!self._handled) {\n                    Promise._unhandledRejectionFn(self._value);\n                  }\n                });\n              }\n              for (var i = 0, len = self._deferreds.length; i < len; i++) {\n                handle(self, self._deferreds[i]);\n              }\n              self._deferreds = null;\n            }\n            function Handler(onFulfilled, onRejected, promise) {\n              this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n              this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n              this.promise = promise;\n            }\n            function doResolve(fn, self) {\n              var done = false;\n              try {\n                fn(function (value) {\n                  if (done)\n                    return;\n                  done = true;\n                  resolve(self, value);\n                }, function (reason) {\n                  if (done)\n                    return;\n                  done = true;\n                  reject(self, reason);\n                });\n              } catch (ex) {\n                if (done)\n                  return;\n                done = true;\n                reject(self, ex);\n              }\n            }\n            Promise.prototype['catch'] = function (onRejected) {\n              return this.then(null, onRejected);\n            };\n            Promise.prototype.then = function (onFulfilled, onRejected) {\n              var prom = new this.constructor(noop);\n              handle(this, new Handler(onFulfilled, onRejected, prom));\n              return prom;\n            };\n            Promise.all = function (arr) {\n              var args = Array.prototype.slice.call(arr);\n              return new Promise(function (resolve, reject) {\n                if (args.length === 0)\n                  return resolve([]);\n                var remaining = args.length;\n                function res(i, val) {\n                  try {\n                    if (val && (typeof val === 'object' || typeof val === 'function')) {\n                      var then = val.then;\n                      if (typeof then === 'function') {\n                        then.call(val, function (val) {\n                          res(i, val);\n                        }, reject);\n                        return;\n                      }\n                    }\n                    args[i] = val;\n                    if (--remaining === 0) {\n                      resolve(args);\n                    }\n                  } catch (ex) {\n                    reject(ex);\n                  }\n                }\n                for (var i = 0; i < args.length; i++) {\n                  res(i, args[i]);\n                }\n              });\n            };\n            Promise.resolve = function (value) {\n              if (value && typeof value === 'object' && value.constructor === Promise) {\n                return value;\n              }\n              return new Promise(function (resolve) {\n                resolve(value);\n              });\n            };\n            Promise.reject = function (value) {\n              return new Promise(function (resolve, reject) {\n                reject(value);\n              });\n            };\n            Promise.race = function (values) {\n              return new Promise(function (resolve, reject) {\n                for (var i = 0, len = values.length; i < len; i++) {\n                  values[i].then(resolve, reject);\n                }\n              });\n            };\n            Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) {\n              setImmediate(fn);\n            } : function (fn) {\n              setTimeoutFunc(fn, 0);\n            };\n            Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n              if (typeof console !== 'undefined' && console) {\n                console.warn('Possible Unhandled Promise Rejection:', err);\n              }\n            };\n            Promise._setImmediateFn = function _setImmediateFn(fn) {\n              Promise._immediateFn = fn;\n            };\n            Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {\n              Promise._unhandledRejectionFn = fn;\n            };\n            if (module.exports) {\n              module.exports = Promise;\n            } else if (!root.Promise) {\n              root.Promise = Promise;\n            }\n          }(commonjsGlobal));\n        }(promise));\n        var promisePolyfill = promise.exports;\n        var Global = function () {\n          if (typeof window !== 'undefined') {\n            return window;\n          } else {\n            return Function('return this;')();\n          }\n        }();\n        var promisePolyfill_1 = { boltExport: Global.Promise || promisePolyfill };\n        return promisePolyfill_1;\n      }));\n    }(undefined, exports$1, module));\n    var Promise$1 = module.exports.boltExport;\n\n    var nu$3 = function (baseFn) {\n      var data = Optional.none();\n      var callbacks = [];\n      var map = function (f) {\n        return nu$3(function (nCallback) {\n          get(function (data) {\n            nCallback(f(data));\n          });\n        });\n      };\n      var get = function (nCallback) {\n        if (isReady()) {\n          call(nCallback);\n        } else {\n          callbacks.push(nCallback);\n        }\n      };\n      var set = function (x) {\n        if (!isReady()) {\n          data = Optional.some(x);\n          run(callbacks);\n          callbacks = [];\n        }\n      };\n      var isReady = function () {\n        return data.isSome();\n      };\n      var run = function (cbs) {\n        each$1(cbs, call);\n      };\n      var call = function (cb) {\n        data.each(function (x) {\n          setTimeout(function () {\n            cb(x);\n          }, 0);\n        });\n      };\n      baseFn(set);\n      return {\n        get: get,\n        map: map,\n        isReady: isReady\n      };\n    };\n    var pure$1 = function (a) {\n      return nu$3(function (callback) {\n        callback(a);\n      });\n    };\n    var LazyValue = {\n      nu: nu$3,\n      pure: pure$1\n    };\n\n    var errorReporter = function (err) {\n      setTimeout(function () {\n        throw err;\n      }, 0);\n    };\n    var make$5 = function (run) {\n      var get = function (callback) {\n        run().then(callback, errorReporter);\n      };\n      var map = function (fab) {\n        return make$5(function () {\n          return run().then(fab);\n        });\n      };\n      var bind = function (aFutureB) {\n        return make$5(function () {\n          return run().then(function (v) {\n            return aFutureB(v).toPromise();\n          });\n        });\n      };\n      var anonBind = function (futureB) {\n        return make$5(function () {\n          return run().then(function () {\n            return futureB.toPromise();\n          });\n        });\n      };\n      var toLazy = function () {\n        return LazyValue.nu(get);\n      };\n      var toCached = function () {\n        var cache = null;\n        return make$5(function () {\n          if (cache === null) {\n            cache = run();\n          }\n          return cache;\n        });\n      };\n      var toPromise = run;\n      return {\n        map: map,\n        bind: bind,\n        anonBind: anonBind,\n        toLazy: toLazy,\n        toCached: toCached,\n        toPromise: toPromise,\n        get: get\n      };\n    };\n    var nu$2 = function (baseFn) {\n      return make$5(function () {\n        return new Promise$1(baseFn);\n      });\n    };\n    var pure = function (a) {\n      return make$5(function () {\n        return Promise$1.resolve(a);\n      });\n    };\n    var Future = {\n      nu: nu$2,\n      pure: pure\n    };\n\n    var ariaElements = [\n      'input',\n      'textarea'\n    ];\n    var isAriaElement = function (elem) {\n      var name = name$2(elem);\n      return contains$2(ariaElements, name);\n    };\n    var markValid = function (component, invalidConfig) {\n      var elem = invalidConfig.getRoot(component).getOr(component.element);\n      remove$2(elem, invalidConfig.invalidClass);\n      invalidConfig.notify.each(function (notifyInfo) {\n        if (isAriaElement(component.element)) {\n          set$8(component.element, 'aria-invalid', false);\n        }\n        notifyInfo.getContainer(component).each(function (container) {\n          set$5(container, notifyInfo.validHtml);\n        });\n        notifyInfo.onValid(component);\n      });\n    };\n    var markInvalid = function (component, invalidConfig, invalidState, text) {\n      var elem = invalidConfig.getRoot(component).getOr(component.element);\n      add$2(elem, invalidConfig.invalidClass);\n      invalidConfig.notify.each(function (notifyInfo) {\n        if (isAriaElement(component.element)) {\n          set$8(component.element, 'aria-invalid', true);\n        }\n        notifyInfo.getContainer(component).each(function (container) {\n          set$5(container, text);\n        });\n        notifyInfo.onInvalid(component, text);\n      });\n    };\n    var query = function (component, invalidConfig, _invalidState) {\n      return invalidConfig.validator.fold(function () {\n        return Future.pure(Result.value(true));\n      }, function (validatorInfo) {\n        return validatorInfo.validate(component);\n      });\n    };\n    var run = function (component, invalidConfig, invalidState) {\n      invalidConfig.notify.each(function (notifyInfo) {\n        notifyInfo.onValidate(component);\n      });\n      return query(component, invalidConfig).map(function (valid) {\n        if (component.getSystem().isConnected()) {\n          return valid.fold(function (err) {\n            markInvalid(component, invalidConfig, invalidState, err);\n            return Result.error(err);\n          }, function (v) {\n            markValid(component, invalidConfig);\n            return Result.value(v);\n          });\n        } else {\n          return Result.error('No longer in system');\n        }\n      });\n    };\n    var isInvalid = function (component, invalidConfig) {\n      var elem = invalidConfig.getRoot(component).getOr(component.element);\n      return has(elem, invalidConfig.invalidClass);\n    };\n\n    var InvalidateApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        markValid: markValid,\n        markInvalid: markInvalid,\n        query: query,\n        run: run,\n        isInvalid: isInvalid\n    });\n\n    var events$8 = function (invalidConfig, invalidState) {\n      return invalidConfig.validator.map(function (validatorInfo) {\n        return derive$2([run$1(validatorInfo.onEvent, function (component) {\n            run(component, invalidConfig, invalidState).get(identity$1);\n          })].concat(validatorInfo.validateOnLoad ? [runOnAttached(function (component) {\n            run(component, invalidConfig, invalidState).get(noop);\n          })] : []));\n      }).getOr({});\n    };\n\n    var ActiveInvalidate = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$8\n    });\n\n    var InvalidateSchema = [\n      required$1('invalidClass'),\n      defaulted('getRoot', Optional.none),\n      optionObjOf('notify', [\n        defaulted('aria', 'alert'),\n        defaulted('getContainer', Optional.none),\n        defaulted('validHtml', ''),\n        onHandler('onValid'),\n        onHandler('onInvalid'),\n        onHandler('onValidate')\n      ]),\n      optionObjOf('validator', [\n        required$1('validate'),\n        defaulted('onEvent', 'input'),\n        defaulted('validateOnLoad', true)\n      ])\n    ];\n\n    var Invalidating = create$7({\n      fields: InvalidateSchema,\n      name: 'invalidating',\n      active: ActiveInvalidate,\n      apis: InvalidateApis,\n      extra: {\n        validation: function (validator) {\n          return function (component) {\n            var v = Representing.getValue(component);\n            return Future.pure(validator(v));\n          };\n        }\n      }\n    });\n\n    var getCoupled = function (component, coupleConfig, coupleState, name) {\n      return coupleState.getOrCreate(component, coupleConfig, name);\n    };\n\n    var CouplingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getCoupled: getCoupled\n    });\n\n    var CouplingSchema = [requiredOf('others', setOf(Result.value, anyValue()))];\n\n    var init$a = function () {\n      var coupled = {};\n      var getOrCreate = function (component, coupleConfig, name) {\n        var available = keys(coupleConfig.others);\n        if (!available) {\n          throw new Error('Cannot find coupled component: ' + name + '. Known coupled components: ' + JSON.stringify(available, null, 2));\n        } else {\n          return get$e(coupled, name).getOrThunk(function () {\n            var builder = get$e(coupleConfig.others, name).getOrDie('No information found for coupled component: ' + name);\n            var spec = builder(component);\n            var built = component.getSystem().build(spec);\n            coupled[name] = built;\n            return built;\n          });\n        }\n      };\n      var readState = constant$1({});\n      return nu$8({\n        readState: readState,\n        getOrCreate: getOrCreate\n      });\n    };\n\n    var CouplingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$a\n    });\n\n    var Coupling = create$7({\n      fields: CouplingSchema,\n      name: 'coupling',\n      apis: CouplingApis,\n      state: CouplingState\n    });\n\n    var suffix = constant$1('sink');\n    var partType$1 = constant$1(optional({\n      name: suffix(),\n      overrides: constant$1({\n        dom: { tag: 'div' },\n        behaviours: derive$1([Positioning.config({ useFixed: always })]),\n        events: derive$2([\n          cutter(keydown()),\n          cutter(mousedown()),\n          cutter(click())\n        ])\n      })\n    }));\n\n    var HighlightOnOpen;\n    (function (HighlightOnOpen) {\n      HighlightOnOpen[HighlightOnOpen['HighlightFirst'] = 0] = 'HighlightFirst';\n      HighlightOnOpen[HighlightOnOpen['HighlightNone'] = 1] = 'HighlightNone';\n    }(HighlightOnOpen || (HighlightOnOpen = {})));\n    var getAnchor = function (detail, component) {\n      var hotspot = detail.getHotspot(component).getOr(component);\n      var type = 'hotspot';\n      var overrides = detail.getAnchorOverrides();\n      return detail.layouts.fold(function () {\n        return {\n          type: type,\n          hotspot: hotspot,\n          overrides: overrides\n        };\n      }, function (layouts) {\n        return {\n          type: type,\n          hotspot: hotspot,\n          overrides: overrides,\n          layouts: layouts\n        };\n      });\n    };\n    var fetch = function (detail, mapFetch, component) {\n      var fetcher = detail.fetch;\n      return fetcher(component).map(mapFetch);\n    };\n    var openF = function (detail, mapFetch, anchor, component, sandbox, externals, highlightOnOpen) {\n      var futureData = fetch(detail, mapFetch, component);\n      var getLazySink = getSink(component, detail);\n      return futureData.map(function (tdata) {\n        return tdata.bind(function (data) {\n          return Optional.from(tieredMenu.sketch(__assign(__assign({}, externals.menu()), {\n            uid: generate$5(''),\n            data: data,\n            highlightImmediately: highlightOnOpen === HighlightOnOpen.HighlightFirst,\n            onOpenMenu: function (tmenu, menu) {\n              var sink = getLazySink().getOrDie();\n              Positioning.position(sink, menu, { anchor: anchor });\n              Sandboxing.decloak(sandbox);\n            },\n            onOpenSubmenu: function (tmenu, item, submenu) {\n              var sink = getLazySink().getOrDie();\n              Positioning.position(sink, submenu, {\n                anchor: {\n                  type: 'submenu',\n                  item: item\n                }\n              });\n              Sandboxing.decloak(sandbox);\n            },\n            onRepositionMenu: function (tmenu, primaryMenu, submenuTriggers) {\n              var sink = getLazySink().getOrDie();\n              Positioning.position(sink, primaryMenu, { anchor: anchor });\n              each$1(submenuTriggers, function (st) {\n                Positioning.position(sink, st.triggeredMenu, {\n                  anchor: {\n                    type: 'submenu',\n                    item: st.triggeringItem\n                  }\n                });\n              });\n            },\n            onEscape: function () {\n              Focusing.focus(component);\n              Sandboxing.close(sandbox);\n              return Optional.some(true);\n            }\n          })));\n        });\n      });\n    };\n    var open = function (detail, mapFetch, hotspot, sandbox, externals, onOpenSync, highlightOnOpen) {\n      var anchor = getAnchor(detail, hotspot);\n      var processed = openF(detail, mapFetch, anchor, hotspot, sandbox, externals, highlightOnOpen);\n      return processed.map(function (tdata) {\n        tdata.fold(function () {\n          if (Sandboxing.isOpen(sandbox)) {\n            Sandboxing.close(sandbox);\n          }\n        }, function (data) {\n          Sandboxing.cloak(sandbox);\n          Sandboxing.open(sandbox, data);\n          onOpenSync(sandbox);\n        });\n        return sandbox;\n      });\n    };\n    var close = function (detail, mapFetch, component, sandbox, _externals, _onOpenSync, _highlightOnOpen) {\n      Sandboxing.close(sandbox);\n      return Future.pure(sandbox);\n    };\n    var togglePopup = function (detail, mapFetch, hotspot, externals, onOpenSync, highlightOnOpen) {\n      var sandbox = Coupling.getCoupled(hotspot, 'sandbox');\n      var showing = Sandboxing.isOpen(sandbox);\n      var action = showing ? close : open;\n      return action(detail, mapFetch, hotspot, sandbox, externals, onOpenSync, highlightOnOpen);\n    };\n    var matchWidth = function (hotspot, container, useMinWidth) {\n      var menu = Composing.getCurrent(container).getOr(container);\n      var buttonWidth = get$a(hotspot.element);\n      if (useMinWidth) {\n        set$7(menu.element, 'min-width', buttonWidth + 'px');\n      } else {\n        set$6(menu.element, buttonWidth);\n      }\n    };\n    var getSink = function (anyInSystem, sinkDetail) {\n      return anyInSystem.getSystem().getByUid(sinkDetail.uid + '-' + suffix()).map(function (internalSink) {\n        return function () {\n          return Result.value(internalSink);\n        };\n      }).getOrThunk(function () {\n        return sinkDetail.lazySink.fold(function () {\n          return function () {\n            return Result.error(new Error('No internal sink is specified, nor could an external sink be found'));\n          };\n        }, function (lazySinkFn) {\n          return function () {\n            return lazySinkFn(anyInSystem);\n          };\n        });\n      });\n    };\n    var doRepositionMenus = function (sandbox) {\n      Sandboxing.getState(sandbox).each(function (tmenu) {\n        tieredMenu.repositionMenus(tmenu);\n      });\n    };\n    var makeSandbox$1 = function (detail, hotspot, extras) {\n      var ariaOwner = manager();\n      var onOpen = function (component, menu) {\n        var anchor = getAnchor(detail, hotspot);\n        ariaOwner.link(hotspot.element);\n        if (detail.matchWidth) {\n          matchWidth(anchor.hotspot, menu, detail.useMinWidth);\n        }\n        detail.onOpen(anchor, component, menu);\n        if (extras !== undefined && extras.onOpen !== undefined) {\n          extras.onOpen(component, menu);\n        }\n      };\n      var onClose = function (component, menu) {\n        ariaOwner.unlink(hotspot.element);\n        if (extras !== undefined && extras.onClose !== undefined) {\n          extras.onClose(component, menu);\n        }\n      };\n      var lazySink = getSink(hotspot, detail);\n      return {\n        dom: {\n          tag: 'div',\n          classes: detail.sandboxClasses,\n          attributes: {\n            id: ariaOwner.id,\n            role: 'listbox'\n          }\n        },\n        behaviours: SketchBehaviours.augment(detail.sandboxBehaviours, [\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: hotspot\n            }\n          }),\n          Sandboxing.config({\n            onOpen: onOpen,\n            onClose: onClose,\n            isPartOf: function (container, data, queryElem) {\n              return isPartOf$1(data, queryElem) || isPartOf$1(hotspot, queryElem);\n            },\n            getAttachPoint: function () {\n              return lazySink().getOrDie();\n            }\n          }),\n          Composing.config({\n            find: function (sandbox) {\n              return Sandboxing.getState(sandbox).bind(function (menu) {\n                return Composing.getCurrent(menu);\n              });\n            }\n          }),\n          Receiving.config({ channels: __assign(__assign({}, receivingChannel$1({ isExtraPart: never })), receivingChannel({ doReposition: doRepositionMenus })) })\n        ])\n      };\n    };\n    var repositionMenus = function (comp) {\n      var sandbox = Coupling.getCoupled(comp, 'sandbox');\n      doRepositionMenus(sandbox);\n    };\n\n    var sandboxFields = function () {\n      return [\n        defaulted('sandboxClasses', []),\n        SketchBehaviours.field('sandboxBehaviours', [\n          Composing,\n          Receiving,\n          Sandboxing,\n          Representing\n        ])\n      ];\n    };\n\n    var schema$j = constant$1([\n      required$1('dom'),\n      required$1('fetch'),\n      onHandler('onOpen'),\n      onKeyboardHandler('onExecute'),\n      defaulted('getHotspot', Optional.some),\n      defaulted('getAnchorOverrides', constant$1({})),\n      schema$y(),\n      field('dropdownBehaviours', [\n        Toggling,\n        Coupling,\n        Keying,\n        Focusing\n      ]),\n      required$1('toggleClass'),\n      defaulted('eventOrder', {}),\n      option('lazySink'),\n      defaulted('matchWidth', false),\n      defaulted('useMinWidth', false),\n      option('role')\n    ].concat(sandboxFields()));\n    var parts$d = constant$1([\n      external$1({\n        schema: [tieredMenuMarkers()],\n        name: 'menu',\n        defaults: function (detail) {\n          return { onExecute: detail.onExecute };\n        }\n      }),\n      partType$1()\n    ]);\n\n    var factory$g = function (detail, components, _spec, externals) {\n      var _a;\n      var lookupAttr = function (attr) {\n        return get$e(detail.dom, 'attributes').bind(function (attrs) {\n          return get$e(attrs, attr);\n        });\n      };\n      var switchToMenu = function (sandbox) {\n        Sandboxing.getState(sandbox).each(function (tmenu) {\n          tieredMenu.highlightPrimary(tmenu);\n        });\n      };\n      var action = function (component) {\n        var onOpenSync = switchToMenu;\n        togglePopup(detail, identity$1, component, externals, onOpenSync, HighlightOnOpen.HighlightFirst).get(noop);\n      };\n      var apis = {\n        expand: function (comp) {\n          if (!Toggling.isOn(comp)) {\n            togglePopup(detail, identity$1, comp, externals, noop, HighlightOnOpen.HighlightNone).get(noop);\n          }\n        },\n        open: function (comp) {\n          if (!Toggling.isOn(comp)) {\n            togglePopup(detail, identity$1, comp, externals, noop, HighlightOnOpen.HighlightFirst).get(noop);\n          }\n        },\n        isOpen: Toggling.isOn,\n        close: function (comp) {\n          if (Toggling.isOn(comp)) {\n            togglePopup(detail, identity$1, comp, externals, noop, HighlightOnOpen.HighlightFirst).get(noop);\n          }\n        },\n        repositionMenus: function (comp) {\n          if (Toggling.isOn(comp)) {\n            repositionMenus(comp);\n          }\n        }\n      };\n      var triggerExecute = function (comp, _se) {\n        emitExecute(comp);\n        return Optional.some(true);\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: augment(detail.dropdownBehaviours, [\n          Toggling.config({\n            toggleClass: detail.toggleClass,\n            aria: { mode: 'expanded' }\n          }),\n          Coupling.config({\n            others: {\n              sandbox: function (hotspot) {\n                return makeSandbox$1(detail, hotspot, {\n                  onOpen: function () {\n                    return Toggling.on(hotspot);\n                  },\n                  onClose: function () {\n                    return Toggling.off(hotspot);\n                  }\n                });\n              }\n            }\n          }),\n          Keying.config({\n            mode: 'special',\n            onSpace: triggerExecute,\n            onEnter: triggerExecute,\n            onDown: function (comp, _se) {\n              if (Dropdown.isOpen(comp)) {\n                var sandbox = Coupling.getCoupled(comp, 'sandbox');\n                switchToMenu(sandbox);\n              } else {\n                Dropdown.open(comp);\n              }\n              return Optional.some(true);\n            },\n            onEscape: function (comp, _se) {\n              if (Dropdown.isOpen(comp)) {\n                Dropdown.close(comp);\n                return Optional.some(true);\n              } else {\n                return Optional.none();\n              }\n            }\n          }),\n          Focusing.config({})\n        ]),\n        events: events$a(Optional.some(action)),\n        eventOrder: __assign(__assign({}, detail.eventOrder), (_a = {}, _a[execute$5()] = [\n          'disabling',\n          'toggling',\n          'alloy.base.behaviour'\n        ], _a)),\n        apis: apis,\n        domModification: {\n          attributes: __assign(__assign({ 'aria-haspopup': 'true' }, detail.role.fold(function () {\n            return {};\n          }, function (role) {\n            return { role: role };\n          })), detail.dom.tag === 'button' ? { type: lookupAttr('type').getOr('button') } : {})\n        }\n      };\n    };\n    var Dropdown = composite({\n      name: 'Dropdown',\n      configFields: schema$j(),\n      partFields: parts$d(),\n      factory: factory$g,\n      apis: {\n        open: function (apis, comp) {\n          return apis.open(comp);\n        },\n        expand: function (apis, comp) {\n          return apis.expand(comp);\n        },\n        close: function (apis, comp) {\n          return apis.close(comp);\n        },\n        isOpen: function (apis, comp) {\n          return apis.isOpen(comp);\n        },\n        repositionMenus: function (apis, comp) {\n          return apis.repositionMenus(comp);\n        }\n      }\n    });\n\n    var exhibit$1 = function () {\n      return nu$7({\n        styles: {\n          '-webkit-user-select': 'none',\n          'user-select': 'none',\n          '-ms-user-select': 'none',\n          '-moz-user-select': '-moz-none'\n        },\n        attributes: { unselectable: 'on' }\n      });\n    };\n    var events$7 = function () {\n      return derive$2([abort(selectstart(), always)]);\n    };\n\n    var ActiveUnselecting = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$7,\n        exhibit: exhibit$1\n    });\n\n    var Unselecting = create$7({\n      fields: [],\n      name: 'unselecting',\n      active: ActiveUnselecting\n    });\n\n    var renderPanelButton = function (spec, sharedBackstage) {\n      return Dropdown.sketch({\n        dom: spec.dom,\n        components: spec.components,\n        toggleClass: 'mce-active',\n        dropdownBehaviours: derive$1([\n          DisablingConfigs.button(sharedBackstage.providers.isDisabled),\n          receivingConfig(),\n          Unselecting.config({}),\n          Tabstopping.config({})\n        ]),\n        layouts: spec.layouts,\n        sandboxClasses: ['tox-dialog__popups'],\n        lazySink: sharedBackstage.getSink,\n        fetch: function (comp) {\n          return Future.nu(function (callback) {\n            return spec.fetch(callback);\n          }).map(function (items) {\n            return Optional.from(createTieredDataFrom(deepMerge(createPartialChoiceMenu(generate$6('menu-value'), items, function (value) {\n              spec.onItemAction(comp, value);\n            }, spec.columns, spec.presets, ItemResponse$1.CLOSE_ON_EXECUTE, never, sharedBackstage.providers), { movement: deriveMenuMovement(spec.columns, spec.presets) })));\n          });\n        },\n        parts: { menu: part(false, 1, spec.presets) }\n      });\n    };\n\n    var colorInputChangeEvent = generate$6('color-input-change');\n    var colorSwatchChangeEvent = generate$6('color-swatch-change');\n    var colorPickerCancelEvent = generate$6('color-picker-cancel');\n    var renderColorInput = function (spec, sharedBackstage, colorInputBackstage) {\n      var pField = FormField.parts.field({\n        factory: Input,\n        inputClasses: ['tox-textfield'],\n        onSetValue: function (c) {\n          return Invalidating.run(c).get(noop);\n        },\n        inputBehaviours: derive$1([\n          Disabling.config({ disabled: sharedBackstage.providers.isDisabled }),\n          receivingConfig(),\n          Tabstopping.config({}),\n          Invalidating.config({\n            invalidClass: 'tox-textbox-field-invalid',\n            getRoot: function (comp) {\n              return parent(comp.element);\n            },\n            notify: {\n              onValid: function (comp) {\n                var val = Representing.getValue(comp);\n                emitWith(comp, colorInputChangeEvent, { color: val });\n              }\n            },\n            validator: {\n              validateOnLoad: false,\n              validate: function (input) {\n                var inputValue = Representing.getValue(input);\n                if (inputValue.length === 0) {\n                  return Future.pure(Result.value(true));\n                } else {\n                  var span = SugarElement.fromTag('span');\n                  set$7(span, 'background-color', inputValue);\n                  var res = getRaw(span, 'background-color').fold(function () {\n                    return Result.error('blah');\n                  }, function (_) {\n                    return Result.value(inputValue);\n                  });\n                  return Future.pure(res);\n                }\n              }\n            }\n          })\n        ]),\n        selectOnFocus: false\n      });\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, sharedBackstage.providers);\n      });\n      var emitSwatchChange = function (colorBit, value) {\n        emitWith(colorBit, colorSwatchChangeEvent, { value: value });\n      };\n      var onItemAction = function (comp, value) {\n        memColorButton.getOpt(comp).each(function (colorBit) {\n          if (value === 'custom') {\n            colorInputBackstage.colorPicker(function (valueOpt) {\n              valueOpt.fold(function () {\n                return emit(colorBit, colorPickerCancelEvent);\n              }, function (value) {\n                emitSwatchChange(colorBit, value);\n                addColor(value);\n              });\n            }, '#ffffff');\n          } else if (value === 'remove') {\n            emitSwatchChange(colorBit, '');\n          } else {\n            emitSwatchChange(colorBit, value);\n          }\n        });\n      };\n      var memColorButton = record(renderPanelButton({\n        dom: {\n          tag: 'span',\n          attributes: { 'aria-label': sharedBackstage.providers.translate('Color swatch') }\n        },\n        layouts: {\n          onRtl: function () {\n            return [\n              southwest$2,\n              southeast$2,\n              south$2\n            ];\n          },\n          onLtr: function () {\n            return [\n              southeast$2,\n              southwest$2,\n              south$2\n            ];\n          }\n        },\n        components: [],\n        fetch: getFetch$1(colorInputBackstage.getColors(), colorInputBackstage.hasCustomColors()),\n        columns: colorInputBackstage.getColorCols(),\n        presets: 'color',\n        onItemAction: onItemAction\n      }, sharedBackstage));\n      return FormField.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: pLabel.toArray().concat([{\n            dom: {\n              tag: 'div',\n              classes: ['tox-color-input']\n            },\n            components: [\n              pField,\n              memColorButton.asSpec()\n            ]\n          }]),\n        fieldBehaviours: derive$1([config('form-field-events', [\n            run$1(colorInputChangeEvent, function (comp, se) {\n              memColorButton.getOpt(comp).each(function (colorButton) {\n                set$7(colorButton.element, 'background-color', se.event.color);\n              });\n              emitWith(comp, formChangeEvent, { name: spec.name });\n            }),\n            run$1(colorSwatchChangeEvent, function (comp, se) {\n              FormField.getField(comp).each(function (field) {\n                Representing.setValue(field, se.event.value);\n                Composing.getCurrent(comp).each(Focusing.focus);\n              });\n            }),\n            run$1(colorPickerCancelEvent, function (comp, _se) {\n              FormField.getField(comp).each(function (_field) {\n                Composing.getCurrent(comp).each(Focusing.focus);\n              });\n            })\n          ])])\n      });\n    };\n\n    var labelPart = optional({\n      schema: [required$1('dom')],\n      name: 'label'\n    });\n    var edgePart = function (name) {\n      return optional({\n        name: '' + name + '-edge',\n        overrides: function (detail) {\n          var action = detail.model.manager.edgeActions[name];\n          return action.fold(function () {\n            return {};\n          }, function (a) {\n            return {\n              events: derive$2([\n                runActionExtra(touchstart(), function (comp, se, d) {\n                  return a(comp, d);\n                }, [detail]),\n                runActionExtra(mousedown(), function (comp, se, d) {\n                  return a(comp, d);\n                }, [detail]),\n                runActionExtra(mousemove(), function (comp, se, det) {\n                  if (det.mouseIsDown.get()) {\n                    a(comp, det);\n                  }\n                }, [detail])\n              ])\n            };\n          });\n        }\n      });\n    };\n    var tlEdgePart = edgePart('top-left');\n    var tedgePart = edgePart('top');\n    var trEdgePart = edgePart('top-right');\n    var redgePart = edgePart('right');\n    var brEdgePart = edgePart('bottom-right');\n    var bedgePart = edgePart('bottom');\n    var blEdgePart = edgePart('bottom-left');\n    var ledgePart = edgePart('left');\n    var thumbPart = required({\n      name: 'thumb',\n      defaults: constant$1({ dom: { styles: { position: 'absolute' } } }),\n      overrides: function (detail) {\n        return {\n          events: derive$2([\n            redirectToPart(touchstart(), detail, 'spectrum'),\n            redirectToPart(touchmove(), detail, 'spectrum'),\n            redirectToPart(touchend(), detail, 'spectrum'),\n            redirectToPart(mousedown(), detail, 'spectrum'),\n            redirectToPart(mousemove(), detail, 'spectrum'),\n            redirectToPart(mouseup(), detail, 'spectrum')\n          ])\n        };\n      }\n    });\n    var spectrumPart = required({\n      schema: [customField('mouseIsDown', function () {\n          return Cell(false);\n        })],\n      name: 'spectrum',\n      overrides: function (detail) {\n        var modelDetail = detail.model;\n        var model = modelDetail.manager;\n        var setValueFrom = function (component, simulatedEvent) {\n          return model.getValueFromEvent(simulatedEvent).map(function (value) {\n            return model.setValueFrom(component, detail, value);\n          });\n        };\n        return {\n          behaviours: derive$1([\n            Keying.config({\n              mode: 'special',\n              onLeft: function (spectrum) {\n                return model.onLeft(spectrum, detail);\n              },\n              onRight: function (spectrum) {\n                return model.onRight(spectrum, detail);\n              },\n              onUp: function (spectrum) {\n                return model.onUp(spectrum, detail);\n              },\n              onDown: function (spectrum) {\n                return model.onDown(spectrum, detail);\n              }\n            }),\n            Focusing.config({})\n          ]),\n          events: derive$2([\n            run$1(touchstart(), setValueFrom),\n            run$1(touchmove(), setValueFrom),\n            run$1(mousedown(), setValueFrom),\n            run$1(mousemove(), function (spectrum, se) {\n              if (detail.mouseIsDown.get()) {\n                setValueFrom(spectrum, se);\n              }\n            })\n          ])\n        };\n      }\n    });\n    var SliderParts = [\n      labelPart,\n      ledgePart,\n      redgePart,\n      tedgePart,\n      bedgePart,\n      tlEdgePart,\n      trEdgePart,\n      blEdgePart,\n      brEdgePart,\n      thumbPart,\n      spectrumPart\n    ];\n\n    var _sliderChangeEvent = 'slider.change.value';\n    var sliderChangeEvent = constant$1(_sliderChangeEvent);\n    var isTouchEvent$2 = function (evt) {\n      return evt.type.indexOf('touch') !== -1;\n    };\n    var getEventSource = function (simulatedEvent) {\n      var evt = simulatedEvent.event.raw;\n      if (isTouchEvent$2(evt)) {\n        var touchEvent = evt;\n        return touchEvent.touches !== undefined && touchEvent.touches.length === 1 ? Optional.some(touchEvent.touches[0]).map(function (t) {\n          return SugarPosition(t.clientX, t.clientY);\n        }) : Optional.none();\n      } else {\n        var mouseEvent = evt;\n        return mouseEvent.clientX !== undefined ? Optional.some(mouseEvent).map(function (me) {\n          return SugarPosition(me.clientX, me.clientY);\n        }) : Optional.none();\n      }\n    };\n\n    var t = 'top', r = 'right', b = 'bottom', l = 'left';\n    var minX = function (detail) {\n      return detail.model.minX;\n    };\n    var minY = function (detail) {\n      return detail.model.minY;\n    };\n    var min1X = function (detail) {\n      return detail.model.minX - 1;\n    };\n    var min1Y = function (detail) {\n      return detail.model.minY - 1;\n    };\n    var maxX = function (detail) {\n      return detail.model.maxX;\n    };\n    var maxY = function (detail) {\n      return detail.model.maxY;\n    };\n    var max1X = function (detail) {\n      return detail.model.maxX + 1;\n    };\n    var max1Y = function (detail) {\n      return detail.model.maxY + 1;\n    };\n    var range = function (detail, max, min) {\n      return max(detail) - min(detail);\n    };\n    var xRange = function (detail) {\n      return range(detail, maxX, minX);\n    };\n    var yRange = function (detail) {\n      return range(detail, maxY, minY);\n    };\n    var halfX = function (detail) {\n      return xRange(detail) / 2;\n    };\n    var halfY = function (detail) {\n      return yRange(detail) / 2;\n    };\n    var step = function (detail) {\n      return detail.stepSize;\n    };\n    var snap = function (detail) {\n      return detail.snapToGrid;\n    };\n    var snapStart = function (detail) {\n      return detail.snapStart;\n    };\n    var rounded = function (detail) {\n      return detail.rounded;\n    };\n    var hasEdge = function (detail, edgeName) {\n      return detail[edgeName + '-edge'] !== undefined;\n    };\n    var hasLEdge = function (detail) {\n      return hasEdge(detail, l);\n    };\n    var hasREdge = function (detail) {\n      return hasEdge(detail, r);\n    };\n    var hasTEdge = function (detail) {\n      return hasEdge(detail, t);\n    };\n    var hasBEdge = function (detail) {\n      return hasEdge(detail, b);\n    };\n    var currentValue = function (detail) {\n      return detail.model.value.get();\n    };\n\n    var xValue = function (x) {\n      return { x: x };\n    };\n    var yValue = function (y) {\n      return { y: y };\n    };\n    var xyValue = function (x, y) {\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var fireSliderChange$3 = function (component, value) {\n      emitWith(component, sliderChangeEvent(), { value: value });\n    };\n    var setToTLEdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(min1X(detail), min1Y(detail)));\n    };\n    var setToTEdge = function (edge, detail) {\n      fireSliderChange$3(edge, yValue(min1Y(detail)));\n    };\n    var setToTEdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(halfX(detail), min1Y(detail)));\n    };\n    var setToTREdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(max1X(detail), min1Y(detail)));\n    };\n    var setToREdge = function (edge, detail) {\n      fireSliderChange$3(edge, xValue(max1X(detail)));\n    };\n    var setToREdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(max1X(detail), halfY(detail)));\n    };\n    var setToBREdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(max1X(detail), max1Y(detail)));\n    };\n    var setToBEdge = function (edge, detail) {\n      fireSliderChange$3(edge, yValue(max1Y(detail)));\n    };\n    var setToBEdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(halfX(detail), max1Y(detail)));\n    };\n    var setToBLEdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(min1X(detail), max1Y(detail)));\n    };\n    var setToLEdge = function (edge, detail) {\n      fireSliderChange$3(edge, xValue(min1X(detail)));\n    };\n    var setToLEdgeXY = function (edge, detail) {\n      fireSliderChange$3(edge, xyValue(min1X(detail), halfY(detail)));\n    };\n\n    var reduceBy = function (value, min, max, step) {\n      if (value < min) {\n        return value;\n      } else if (value > max) {\n        return max;\n      } else if (value === min) {\n        return min - 1;\n      } else {\n        return Math.max(min, value - step);\n      }\n    };\n    var increaseBy = function (value, min, max, step) {\n      if (value > max) {\n        return value;\n      } else if (value < min) {\n        return min;\n      } else if (value === max) {\n        return max + 1;\n      } else {\n        return Math.min(max, value + step);\n      }\n    };\n    var capValue = function (value, min, max) {\n      return Math.max(min, Math.min(max, value));\n    };\n    var snapValueOf = function (value, min, max, step, snapStart) {\n      return snapStart.fold(function () {\n        var initValue = value - min;\n        var extraValue = Math.round(initValue / step) * step;\n        return capValue(min + extraValue, min - 1, max + 1);\n      }, function (start) {\n        var remainder = (value - start) % step;\n        var adjustment = Math.round(remainder / step);\n        var rawSteps = Math.floor((value - start) / step);\n        var maxSteps = Math.floor((max - start) / step);\n        var numSteps = Math.min(maxSteps, rawSteps + adjustment);\n        var r = start + numSteps * step;\n        return Math.max(start, r);\n      });\n    };\n    var findOffsetOf = function (value, min, max) {\n      return Math.min(max, Math.max(value, min)) - min;\n    };\n    var findValueOf = function (args) {\n      var min = args.min, max = args.max, range = args.range, value = args.value, step = args.step, snap = args.snap, snapStart = args.snapStart, rounded = args.rounded, hasMinEdge = args.hasMinEdge, hasMaxEdge = args.hasMaxEdge, minBound = args.minBound, maxBound = args.maxBound, screenRange = args.screenRange;\n      var capMin = hasMinEdge ? min - 1 : min;\n      var capMax = hasMaxEdge ? max + 1 : max;\n      if (value < minBound) {\n        return capMin;\n      } else if (value > maxBound) {\n        return capMax;\n      } else {\n        var offset = findOffsetOf(value, minBound, maxBound);\n        var newValue = capValue(offset / screenRange * range + min, capMin, capMax);\n        if (snap && newValue >= min && newValue <= max) {\n          return snapValueOf(newValue, min, max, step, snapStart);\n        } else if (rounded) {\n          return Math.round(newValue);\n        } else {\n          return newValue;\n        }\n      }\n    };\n    var findOffsetOfValue$2 = function (args) {\n      var min = args.min, max = args.max, range = args.range, value = args.value, hasMinEdge = args.hasMinEdge, hasMaxEdge = args.hasMaxEdge, maxBound = args.maxBound, maxOffset = args.maxOffset, centerMinEdge = args.centerMinEdge, centerMaxEdge = args.centerMaxEdge;\n      if (value < min) {\n        return hasMinEdge ? 0 : centerMinEdge;\n      } else if (value > max) {\n        return hasMaxEdge ? maxBound : centerMaxEdge;\n      } else {\n        return (value - min) / range * maxOffset;\n      }\n    };\n\n    var top = 'top', right = 'right', bottom = 'bottom', left = 'left', width = 'width', height = 'height';\n    var getBounds = function (component) {\n      return component.element.dom.getBoundingClientRect();\n    };\n    var getBoundsProperty = function (bounds, property) {\n      return bounds[property];\n    };\n    var getMinXBounds = function (component) {\n      var bounds = getBounds(component);\n      return getBoundsProperty(bounds, left);\n    };\n    var getMaxXBounds = function (component) {\n      var bounds = getBounds(component);\n      return getBoundsProperty(bounds, right);\n    };\n    var getMinYBounds = function (component) {\n      var bounds = getBounds(component);\n      return getBoundsProperty(bounds, top);\n    };\n    var getMaxYBounds = function (component) {\n      var bounds = getBounds(component);\n      return getBoundsProperty(bounds, bottom);\n    };\n    var getXScreenRange = function (component) {\n      var bounds = getBounds(component);\n      return getBoundsProperty(bounds, width);\n    };\n    var getYScreenRange = function (component) {\n      var bounds = getBounds(component);\n      return getBoundsProperty(bounds, height);\n    };\n    var getCenterOffsetOf = function (componentMinEdge, componentMaxEdge, spectrumMinEdge) {\n      return (componentMinEdge + componentMaxEdge) / 2 - spectrumMinEdge;\n    };\n    var getXCenterOffSetOf = function (component, spectrum) {\n      var componentBounds = getBounds(component);\n      var spectrumBounds = getBounds(spectrum);\n      var componentMinEdge = getBoundsProperty(componentBounds, left);\n      var componentMaxEdge = getBoundsProperty(componentBounds, right);\n      var spectrumMinEdge = getBoundsProperty(spectrumBounds, left);\n      return getCenterOffsetOf(componentMinEdge, componentMaxEdge, spectrumMinEdge);\n    };\n    var getYCenterOffSetOf = function (component, spectrum) {\n      var componentBounds = getBounds(component);\n      var spectrumBounds = getBounds(spectrum);\n      var componentMinEdge = getBoundsProperty(componentBounds, top);\n      var componentMaxEdge = getBoundsProperty(componentBounds, bottom);\n      var spectrumMinEdge = getBoundsProperty(spectrumBounds, top);\n      return getCenterOffsetOf(componentMinEdge, componentMaxEdge, spectrumMinEdge);\n    };\n\n    var fireSliderChange$2 = function (spectrum, value) {\n      emitWith(spectrum, sliderChangeEvent(), { value: value });\n    };\n    var sliderValue$2 = function (x) {\n      return { x: x };\n    };\n    var findValueOfOffset$1 = function (spectrum, detail, left) {\n      var args = {\n        min: minX(detail),\n        max: maxX(detail),\n        range: xRange(detail),\n        value: left,\n        step: step(detail),\n        snap: snap(detail),\n        snapStart: snapStart(detail),\n        rounded: rounded(detail),\n        hasMinEdge: hasLEdge(detail),\n        hasMaxEdge: hasREdge(detail),\n        minBound: getMinXBounds(spectrum),\n        maxBound: getMaxXBounds(spectrum),\n        screenRange: getXScreenRange(spectrum)\n      };\n      return findValueOf(args);\n    };\n    var setValueFrom$2 = function (spectrum, detail, value) {\n      var xValue = findValueOfOffset$1(spectrum, detail, value);\n      var sliderVal = sliderValue$2(xValue);\n      fireSliderChange$2(spectrum, sliderVal);\n      return xValue;\n    };\n    var setToMin$2 = function (spectrum, detail) {\n      var min = minX(detail);\n      fireSliderChange$2(spectrum, sliderValue$2(min));\n    };\n    var setToMax$2 = function (spectrum, detail) {\n      var max = maxX(detail);\n      fireSliderChange$2(spectrum, sliderValue$2(max));\n    };\n    var moveBy$2 = function (direction, spectrum, detail) {\n      var f = direction > 0 ? increaseBy : reduceBy;\n      var xValue = f(currentValue(detail).x, minX(detail), maxX(detail), step(detail));\n      fireSliderChange$2(spectrum, sliderValue$2(xValue));\n      return Optional.some(xValue);\n    };\n    var handleMovement$2 = function (direction) {\n      return function (spectrum, detail) {\n        return moveBy$2(direction, spectrum, detail).map(always);\n      };\n    };\n    var getValueFromEvent$2 = function (simulatedEvent) {\n      var pos = getEventSource(simulatedEvent);\n      return pos.map(function (p) {\n        return p.left;\n      });\n    };\n    var findOffsetOfValue$1 = function (spectrum, detail, value, minEdge, maxEdge) {\n      var minOffset = 0;\n      var maxOffset = getXScreenRange(spectrum);\n      var centerMinEdge = minEdge.bind(function (edge) {\n        return Optional.some(getXCenterOffSetOf(edge, spectrum));\n      }).getOr(minOffset);\n      var centerMaxEdge = maxEdge.bind(function (edge) {\n        return Optional.some(getXCenterOffSetOf(edge, spectrum));\n      }).getOr(maxOffset);\n      var args = {\n        min: minX(detail),\n        max: maxX(detail),\n        range: xRange(detail),\n        value: value,\n        hasMinEdge: hasLEdge(detail),\n        hasMaxEdge: hasREdge(detail),\n        minBound: getMinXBounds(spectrum),\n        minOffset: minOffset,\n        maxBound: getMaxXBounds(spectrum),\n        maxOffset: maxOffset,\n        centerMinEdge: centerMinEdge,\n        centerMaxEdge: centerMaxEdge\n      };\n      return findOffsetOfValue$2(args);\n    };\n    var findPositionOfValue$1 = function (slider, spectrum, value, minEdge, maxEdge, detail) {\n      var offset = findOffsetOfValue$1(spectrum, detail, value, minEdge, maxEdge);\n      return getMinXBounds(spectrum) - getMinXBounds(slider) + offset;\n    };\n    var setPositionFromValue$2 = function (slider, thumb, detail, edges) {\n      var value = currentValue(detail);\n      var pos = findPositionOfValue$1(slider, edges.getSpectrum(slider), value.x, edges.getLeftEdge(slider), edges.getRightEdge(slider), detail);\n      var thumbRadius = get$a(thumb.element) / 2;\n      set$7(thumb.element, 'left', pos - thumbRadius + 'px');\n    };\n    var onLeft$2 = handleMovement$2(-1);\n    var onRight$2 = handleMovement$2(1);\n    var onUp$2 = Optional.none;\n    var onDown$2 = Optional.none;\n    var edgeActions$2 = {\n      'top-left': Optional.none(),\n      'top': Optional.none(),\n      'top-right': Optional.none(),\n      'right': Optional.some(setToREdge),\n      'bottom-right': Optional.none(),\n      'bottom': Optional.none(),\n      'bottom-left': Optional.none(),\n      'left': Optional.some(setToLEdge)\n    };\n\n    var HorizontalModel = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setValueFrom: setValueFrom$2,\n        setToMin: setToMin$2,\n        setToMax: setToMax$2,\n        findValueOfOffset: findValueOfOffset$1,\n        getValueFromEvent: getValueFromEvent$2,\n        findPositionOfValue: findPositionOfValue$1,\n        setPositionFromValue: setPositionFromValue$2,\n        onLeft: onLeft$2,\n        onRight: onRight$2,\n        onUp: onUp$2,\n        onDown: onDown$2,\n        edgeActions: edgeActions$2\n    });\n\n    var fireSliderChange$1 = function (spectrum, value) {\n      emitWith(spectrum, sliderChangeEvent(), { value: value });\n    };\n    var sliderValue$1 = function (y) {\n      return { y: y };\n    };\n    var findValueOfOffset = function (spectrum, detail, top) {\n      var args = {\n        min: minY(detail),\n        max: maxY(detail),\n        range: yRange(detail),\n        value: top,\n        step: step(detail),\n        snap: snap(detail),\n        snapStart: snapStart(detail),\n        rounded: rounded(detail),\n        hasMinEdge: hasTEdge(detail),\n        hasMaxEdge: hasBEdge(detail),\n        minBound: getMinYBounds(spectrum),\n        maxBound: getMaxYBounds(spectrum),\n        screenRange: getYScreenRange(spectrum)\n      };\n      return findValueOf(args);\n    };\n    var setValueFrom$1 = function (spectrum, detail, value) {\n      var yValue = findValueOfOffset(spectrum, detail, value);\n      var sliderVal = sliderValue$1(yValue);\n      fireSliderChange$1(spectrum, sliderVal);\n      return yValue;\n    };\n    var setToMin$1 = function (spectrum, detail) {\n      var min = minY(detail);\n      fireSliderChange$1(spectrum, sliderValue$1(min));\n    };\n    var setToMax$1 = function (spectrum, detail) {\n      var max = maxY(detail);\n      fireSliderChange$1(spectrum, sliderValue$1(max));\n    };\n    var moveBy$1 = function (direction, spectrum, detail) {\n      var f = direction > 0 ? increaseBy : reduceBy;\n      var yValue = f(currentValue(detail).y, minY(detail), maxY(detail), step(detail));\n      fireSliderChange$1(spectrum, sliderValue$1(yValue));\n      return Optional.some(yValue);\n    };\n    var handleMovement$1 = function (direction) {\n      return function (spectrum, detail) {\n        return moveBy$1(direction, spectrum, detail).map(always);\n      };\n    };\n    var getValueFromEvent$1 = function (simulatedEvent) {\n      var pos = getEventSource(simulatedEvent);\n      return pos.map(function (p) {\n        return p.top;\n      });\n    };\n    var findOffsetOfValue = function (spectrum, detail, value, minEdge, maxEdge) {\n      var minOffset = 0;\n      var maxOffset = getYScreenRange(spectrum);\n      var centerMinEdge = minEdge.bind(function (edge) {\n        return Optional.some(getYCenterOffSetOf(edge, spectrum));\n      }).getOr(minOffset);\n      var centerMaxEdge = maxEdge.bind(function (edge) {\n        return Optional.some(getYCenterOffSetOf(edge, spectrum));\n      }).getOr(maxOffset);\n      var args = {\n        min: minY(detail),\n        max: maxY(detail),\n        range: yRange(detail),\n        value: value,\n        hasMinEdge: hasTEdge(detail),\n        hasMaxEdge: hasBEdge(detail),\n        minBound: getMinYBounds(spectrum),\n        minOffset: minOffset,\n        maxBound: getMaxYBounds(spectrum),\n        maxOffset: maxOffset,\n        centerMinEdge: centerMinEdge,\n        centerMaxEdge: centerMaxEdge\n      };\n      return findOffsetOfValue$2(args);\n    };\n    var findPositionOfValue = function (slider, spectrum, value, minEdge, maxEdge, detail) {\n      var offset = findOffsetOfValue(spectrum, detail, value, minEdge, maxEdge);\n      return getMinYBounds(spectrum) - getMinYBounds(slider) + offset;\n    };\n    var setPositionFromValue$1 = function (slider, thumb, detail, edges) {\n      var value = currentValue(detail);\n      var pos = findPositionOfValue(slider, edges.getSpectrum(slider), value.y, edges.getTopEdge(slider), edges.getBottomEdge(slider), detail);\n      var thumbRadius = get$b(thumb.element) / 2;\n      set$7(thumb.element, 'top', pos - thumbRadius + 'px');\n    };\n    var onLeft$1 = Optional.none;\n    var onRight$1 = Optional.none;\n    var onUp$1 = handleMovement$1(-1);\n    var onDown$1 = handleMovement$1(1);\n    var edgeActions$1 = {\n      'top-left': Optional.none(),\n      'top': Optional.some(setToTEdge),\n      'top-right': Optional.none(),\n      'right': Optional.none(),\n      'bottom-right': Optional.none(),\n      'bottom': Optional.some(setToBEdge),\n      'bottom-left': Optional.none(),\n      'left': Optional.none()\n    };\n\n    var VerticalModel = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setValueFrom: setValueFrom$1,\n        setToMin: setToMin$1,\n        setToMax: setToMax$1,\n        findValueOfOffset: findValueOfOffset,\n        getValueFromEvent: getValueFromEvent$1,\n        findPositionOfValue: findPositionOfValue,\n        setPositionFromValue: setPositionFromValue$1,\n        onLeft: onLeft$1,\n        onRight: onRight$1,\n        onUp: onUp$1,\n        onDown: onDown$1,\n        edgeActions: edgeActions$1\n    });\n\n    var fireSliderChange = function (spectrum, value) {\n      emitWith(spectrum, sliderChangeEvent(), { value: value });\n    };\n    var sliderValue = function (x, y) {\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var setValueFrom = function (spectrum, detail, value) {\n      var xValue = findValueOfOffset$1(spectrum, detail, value.left);\n      var yValue = findValueOfOffset(spectrum, detail, value.top);\n      var val = sliderValue(xValue, yValue);\n      fireSliderChange(spectrum, val);\n      return val;\n    };\n    var moveBy = function (direction, isVerticalMovement, spectrum, detail) {\n      var f = direction > 0 ? increaseBy : reduceBy;\n      var xValue = isVerticalMovement ? currentValue(detail).x : f(currentValue(detail).x, minX(detail), maxX(detail), step(detail));\n      var yValue = !isVerticalMovement ? currentValue(detail).y : f(currentValue(detail).y, minY(detail), maxY(detail), step(detail));\n      fireSliderChange(spectrum, sliderValue(xValue, yValue));\n      return Optional.some(xValue);\n    };\n    var handleMovement = function (direction, isVerticalMovement) {\n      return function (spectrum, detail) {\n        return moveBy(direction, isVerticalMovement, spectrum, detail).map(always);\n      };\n    };\n    var setToMin = function (spectrum, detail) {\n      var mX = minX(detail);\n      var mY = minY(detail);\n      fireSliderChange(spectrum, sliderValue(mX, mY));\n    };\n    var setToMax = function (spectrum, detail) {\n      var mX = maxX(detail);\n      var mY = maxY(detail);\n      fireSliderChange(spectrum, sliderValue(mX, mY));\n    };\n    var getValueFromEvent = function (simulatedEvent) {\n      return getEventSource(simulatedEvent);\n    };\n    var setPositionFromValue = function (slider, thumb, detail, edges) {\n      var value = currentValue(detail);\n      var xPos = findPositionOfValue$1(slider, edges.getSpectrum(slider), value.x, edges.getLeftEdge(slider), edges.getRightEdge(slider), detail);\n      var yPos = findPositionOfValue(slider, edges.getSpectrum(slider), value.y, edges.getTopEdge(slider), edges.getBottomEdge(slider), detail);\n      var thumbXRadius = get$a(thumb.element) / 2;\n      var thumbYRadius = get$b(thumb.element) / 2;\n      set$7(thumb.element, 'left', xPos - thumbXRadius + 'px');\n      set$7(thumb.element, 'top', yPos - thumbYRadius + 'px');\n    };\n    var onLeft = handleMovement(-1, false);\n    var onRight = handleMovement(1, false);\n    var onUp = handleMovement(-1, true);\n    var onDown = handleMovement(1, true);\n    var edgeActions = {\n      'top-left': Optional.some(setToTLEdgeXY),\n      'top': Optional.some(setToTEdgeXY),\n      'top-right': Optional.some(setToTREdgeXY),\n      'right': Optional.some(setToREdgeXY),\n      'bottom-right': Optional.some(setToBREdgeXY),\n      'bottom': Optional.some(setToBEdgeXY),\n      'bottom-left': Optional.some(setToBLEdgeXY),\n      'left': Optional.some(setToLEdgeXY)\n    };\n\n    var TwoDModel = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setValueFrom: setValueFrom,\n        setToMin: setToMin,\n        setToMax: setToMax,\n        getValueFromEvent: getValueFromEvent,\n        setPositionFromValue: setPositionFromValue,\n        onLeft: onLeft,\n        onRight: onRight,\n        onUp: onUp,\n        onDown: onDown,\n        edgeActions: edgeActions\n    });\n\n    var SliderSchema = [\n      defaulted('stepSize', 1),\n      defaulted('onChange', noop),\n      defaulted('onChoose', noop),\n      defaulted('onInit', noop),\n      defaulted('onDragStart', noop),\n      defaulted('onDragEnd', noop),\n      defaulted('snapToGrid', false),\n      defaulted('rounded', true),\n      option('snapStart'),\n      requiredOf('model', choose$1('mode', {\n        x: [\n          defaulted('minX', 0),\n          defaulted('maxX', 100),\n          customField('value', function (spec) {\n            return Cell(spec.mode.minX);\n          }),\n          required$1('getInitialValue'),\n          output$1('manager', HorizontalModel)\n        ],\n        y: [\n          defaulted('minY', 0),\n          defaulted('maxY', 100),\n          customField('value', function (spec) {\n            return Cell(spec.mode.minY);\n          }),\n          required$1('getInitialValue'),\n          output$1('manager', VerticalModel)\n        ],\n        xy: [\n          defaulted('minX', 0),\n          defaulted('maxX', 100),\n          defaulted('minY', 0),\n          defaulted('maxY', 100),\n          customField('value', function (spec) {\n            return Cell({\n              x: spec.mode.minX,\n              y: spec.mode.minY\n            });\n          }),\n          required$1('getInitialValue'),\n          output$1('manager', TwoDModel)\n        ]\n      })),\n      field('sliderBehaviours', [\n        Keying,\n        Representing\n      ]),\n      customField('mouseIsDown', function () {\n        return Cell(false);\n      })\n    ];\n\n    var sketch$2 = function (detail, components, _spec, _externals) {\n      var _a;\n      var getThumb = function (component) {\n        return getPartOrDie(component, detail, 'thumb');\n      };\n      var getSpectrum = function (component) {\n        return getPartOrDie(component, detail, 'spectrum');\n      };\n      var getLeftEdge = function (component) {\n        return getPart(component, detail, 'left-edge');\n      };\n      var getRightEdge = function (component) {\n        return getPart(component, detail, 'right-edge');\n      };\n      var getTopEdge = function (component) {\n        return getPart(component, detail, 'top-edge');\n      };\n      var getBottomEdge = function (component) {\n        return getPart(component, detail, 'bottom-edge');\n      };\n      var modelDetail = detail.model;\n      var model = modelDetail.manager;\n      var refresh = function (slider, thumb) {\n        model.setPositionFromValue(slider, thumb, detail, {\n          getLeftEdge: getLeftEdge,\n          getRightEdge: getRightEdge,\n          getTopEdge: getTopEdge,\n          getBottomEdge: getBottomEdge,\n          getSpectrum: getSpectrum\n        });\n      };\n      var setValue = function (slider, newValue) {\n        modelDetail.value.set(newValue);\n        var thumb = getThumb(slider);\n        refresh(slider, thumb);\n      };\n      var changeValue = function (slider, newValue) {\n        setValue(slider, newValue);\n        var thumb = getThumb(slider);\n        detail.onChange(slider, thumb, newValue);\n        return Optional.some(true);\n      };\n      var resetToMin = function (slider) {\n        model.setToMin(slider, detail);\n      };\n      var resetToMax = function (slider) {\n        model.setToMax(slider, detail);\n      };\n      var choose = function (slider) {\n        var fireOnChoose = function () {\n          getPart(slider, detail, 'thumb').each(function (thumb) {\n            var value = modelDetail.value.get();\n            detail.onChoose(slider, thumb, value);\n          });\n        };\n        var wasDown = detail.mouseIsDown.get();\n        detail.mouseIsDown.set(false);\n        if (wasDown) {\n          fireOnChoose();\n        }\n      };\n      var onDragStart = function (slider, simulatedEvent) {\n        simulatedEvent.stop();\n        detail.mouseIsDown.set(true);\n        detail.onDragStart(slider, getThumb(slider));\n      };\n      var onDragEnd = function (slider, simulatedEvent) {\n        simulatedEvent.stop();\n        detail.onDragEnd(slider, getThumb(slider));\n        choose(slider);\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: augment(detail.sliderBehaviours, [\n          Keying.config({\n            mode: 'special',\n            focusIn: function (slider) {\n              return getPart(slider, detail, 'spectrum').map(Keying.focusIn).map(always);\n            }\n          }),\n          Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function (_) {\n                return modelDetail.value.get();\n              }\n            }\n          }),\n          Receiving.config({ channels: (_a = {}, _a[mouseReleased()] = { onReceive: choose }, _a) })\n        ]),\n        events: derive$2([\n          run$1(sliderChangeEvent(), function (slider, simulatedEvent) {\n            changeValue(slider, simulatedEvent.event.value);\n          }),\n          runOnAttached(function (slider, _simulatedEvent) {\n            var getInitial = modelDetail.getInitialValue();\n            modelDetail.value.set(getInitial);\n            var thumb = getThumb(slider);\n            refresh(slider, thumb);\n            var spectrum = getSpectrum(slider);\n            detail.onInit(slider, thumb, spectrum, modelDetail.value.get());\n          }),\n          run$1(touchstart(), onDragStart),\n          run$1(touchend(), onDragEnd),\n          run$1(mousedown(), onDragStart),\n          run$1(mouseup(), onDragEnd)\n        ]),\n        apis: {\n          resetToMin: resetToMin,\n          resetToMax: resetToMax,\n          setValue: setValue,\n          refresh: refresh\n        },\n        domModification: { styles: { position: 'relative' } }\n      };\n    };\n\n    var Slider = composite({\n      name: 'Slider',\n      configFields: SliderSchema,\n      partFields: SliderParts,\n      factory: sketch$2,\n      apis: {\n        setValue: function (apis, slider, value) {\n          apis.setValue(slider, value);\n        },\n        resetToMin: function (apis, slider) {\n          apis.resetToMin(slider);\n        },\n        resetToMax: function (apis, slider) {\n          apis.resetToMax(slider);\n        },\n        refresh: function (apis, slider) {\n          apis.refresh(slider);\n        }\n      }\n    });\n\n    var fieldsUpdate = generate$6('rgb-hex-update');\n    var sliderUpdate = generate$6('slider-update');\n    var paletteUpdate = generate$6('palette-update');\n\n    var sliderFactory = function (translate, getClass) {\n      var spectrum = Slider.parts.spectrum({\n        dom: {\n          tag: 'div',\n          classes: [getClass('hue-slider-spectrum')],\n          attributes: { role: 'presentation' }\n        }\n      });\n      var thumb = Slider.parts.thumb({\n        dom: {\n          tag: 'div',\n          classes: [getClass('hue-slider-thumb')],\n          attributes: { role: 'presentation' }\n        }\n      });\n      return Slider.sketch({\n        dom: {\n          tag: 'div',\n          classes: [getClass('hue-slider')],\n          attributes: { role: 'presentation' }\n        },\n        rounded: false,\n        model: {\n          mode: 'y',\n          getInitialValue: constant$1({ y: 0 })\n        },\n        components: [\n          spectrum,\n          thumb\n        ],\n        sliderBehaviours: derive$1([Focusing.config({})]),\n        onChange: function (slider, _thumb, value) {\n          emitWith(slider, sliderUpdate, { value: value });\n        }\n      });\n    };\n\n    var owner$1 = 'form';\n    var schema$i = [field('formBehaviours', [Representing])];\n    var getPartName$1 = function (name) {\n      return '<alloy.field.' + name + '>';\n    };\n    var sketch$1 = function (fSpec) {\n      var parts = function () {\n        var record = [];\n        var field = function (name, config) {\n          record.push(name);\n          return generateOne$1(owner$1, getPartName$1(name), config);\n        };\n        return {\n          field: field,\n          record: constant$1(record)\n        };\n      }();\n      var spec = fSpec(parts);\n      var partNames = parts.record();\n      var fieldParts = map$2(partNames, function (n) {\n        return required({\n          name: n,\n          pname: getPartName$1(n)\n        });\n      });\n      return composite$1(owner$1, schema$i, fieldParts, make$4, spec);\n    };\n    var toResult = function (o, e) {\n      return o.fold(function () {\n        return Result.error(e);\n      }, Result.value);\n    };\n    var make$4 = function (detail, components) {\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: augment(detail.formBehaviours, [Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function (form) {\n                var resPs = getAllParts(form, detail);\n                return map$1(resPs, function (resPThunk, pName) {\n                  return resPThunk().bind(function (v) {\n                    var opt = Composing.getCurrent(v);\n                    return toResult(opt, new Error('Cannot find a current component to extract the value from for form part \\'' + pName + '\\': ' + element(v.element)));\n                  }).map(Representing.getValue);\n                });\n              },\n              setValue: function (form, values) {\n                each(values, function (newValue, key) {\n                  getPart(form, detail, key).each(function (wrapper) {\n                    Composing.getCurrent(wrapper).each(function (field) {\n                      Representing.setValue(field, newValue);\n                    });\n                  });\n                });\n              }\n            }\n          })]),\n        apis: {\n          getField: function (form, key) {\n            return getPart(form, detail, key).bind(Composing.getCurrent);\n          }\n        }\n      };\n    };\n    var Form = {\n      getField: makeApi(function (apis, component, key) {\n        return apis.getField(component, key);\n      }),\n      sketch: sketch$1\n    };\n\n    var validInput = generate$6('valid-input');\n    var invalidInput = generate$6('invalid-input');\n    var validatingInput = generate$6('validating-input');\n    var translatePrefix = 'colorcustom.rgb.';\n    var rgbFormFactory = function (translate, getClass, onValidHexx, onInvalidHexx) {\n      var invalidation = function (label, isValid) {\n        return Invalidating.config({\n          invalidClass: getClass('invalid'),\n          notify: {\n            onValidate: function (comp) {\n              emitWith(comp, validatingInput, { type: label });\n            },\n            onValid: function (comp) {\n              emitWith(comp, validInput, {\n                type: label,\n                value: Representing.getValue(comp)\n              });\n            },\n            onInvalid: function (comp) {\n              emitWith(comp, invalidInput, {\n                type: label,\n                value: Representing.getValue(comp)\n              });\n            }\n          },\n          validator: {\n            validate: function (comp) {\n              var value = Representing.getValue(comp);\n              var res = isValid(value) ? Result.value(true) : Result.error(translate('aria.input.invalid'));\n              return Future.pure(res);\n            },\n            validateOnLoad: false\n          }\n        });\n      };\n      var renderTextField = function (isValid, name, label, description, data) {\n        var helptext = translate(translatePrefix + 'range');\n        var pLabel = FormField.parts.label({\n          dom: {\n            tag: 'label',\n            innerHtml: label,\n            attributes: { 'aria-label': description }\n          }\n        });\n        var pField = FormField.parts.field({\n          data: data,\n          factory: Input,\n          inputAttributes: __assign({ type: 'text' }, name === 'hex' ? { 'aria-live': 'polite' } : {}),\n          inputClasses: [getClass('textfield')],\n          inputBehaviours: derive$1([\n            invalidation(name, isValid),\n            Tabstopping.config({})\n          ]),\n          onSetValue: function (input) {\n            if (Invalidating.isInvalid(input)) {\n              var run = Invalidating.run(input);\n              run.get(noop);\n            }\n          }\n        });\n        var comps = [\n          pLabel,\n          pField\n        ];\n        var concats = name !== 'hex' ? [FormField.parts['aria-descriptor']({ text: helptext })] : [];\n        var components = comps.concat(concats);\n        return {\n          dom: {\n            tag: 'div',\n            attributes: { role: 'presentation' }\n          },\n          components: components\n        };\n      };\n      var copyRgbToHex = function (form, rgba) {\n        var hex = fromRgba(rgba);\n        Form.getField(form, 'hex').each(function (hexField) {\n          if (!Focusing.isFocused(hexField)) {\n            Representing.setValue(form, { hex: hex.value });\n          }\n        });\n        return hex;\n      };\n      var copyRgbToForm = function (form, rgb) {\n        var red = rgb.red;\n        var green = rgb.green;\n        var blue = rgb.blue;\n        Representing.setValue(form, {\n          red: red,\n          green: green,\n          blue: blue\n        });\n      };\n      var memPreview = record({\n        dom: {\n          tag: 'div',\n          classes: [getClass('rgba-preview')],\n          styles: { 'background-color': 'white' },\n          attributes: { role: 'presentation' }\n        }\n      });\n      var updatePreview = function (anyInSystem, hex) {\n        memPreview.getOpt(anyInSystem).each(function (preview) {\n          set$7(preview.element, 'background-color', '#' + hex.value);\n        });\n      };\n      var factory = function () {\n        var state = {\n          red: Cell(Optional.some(255)),\n          green: Cell(Optional.some(255)),\n          blue: Cell(Optional.some(255)),\n          hex: Cell(Optional.some('ffffff'))\n        };\n        var copyHexToRgb = function (form, hex) {\n          var rgb = fromHex(hex);\n          copyRgbToForm(form, rgb);\n          setValueRgb(rgb);\n        };\n        var get = function (prop) {\n          return state[prop].get();\n        };\n        var set = function (prop, value) {\n          state[prop].set(value);\n        };\n        var getValueRgb = function () {\n          return get('red').bind(function (red) {\n            return get('green').bind(function (green) {\n              return get('blue').map(function (blue) {\n                return rgbaColour(red, green, blue, 1);\n              });\n            });\n          });\n        };\n        var setValueRgb = function (rgb) {\n          var red = rgb.red;\n          var green = rgb.green;\n          var blue = rgb.blue;\n          set('red', Optional.some(red));\n          set('green', Optional.some(green));\n          set('blue', Optional.some(blue));\n        };\n        var onInvalidInput = function (form, simulatedEvent) {\n          var data = simulatedEvent.event;\n          if (data.type !== 'hex') {\n            set(data.type, Optional.none());\n          } else {\n            onInvalidHexx(form);\n          }\n        };\n        var onValidHex = function (form, value) {\n          onValidHexx(form);\n          var hex = hexColour(value);\n          set('hex', Optional.some(value));\n          var rgb = fromHex(hex);\n          copyRgbToForm(form, rgb);\n          setValueRgb(rgb);\n          emitWith(form, fieldsUpdate, { hex: hex });\n          updatePreview(form, hex);\n        };\n        var onValidRgb = function (form, prop, value) {\n          var val = parseInt(value, 10);\n          set(prop, Optional.some(val));\n          getValueRgb().each(function (rgb) {\n            var hex = copyRgbToHex(form, rgb);\n            emitWith(form, fieldsUpdate, { hex: hex });\n            updatePreview(form, hex);\n          });\n        };\n        var isHexInputEvent = function (data) {\n          return data.type === 'hex';\n        };\n        var onValidInput = function (form, simulatedEvent) {\n          var data = simulatedEvent.event;\n          if (isHexInputEvent(data)) {\n            onValidHex(form, data.value);\n          } else {\n            onValidRgb(form, data.type, data.value);\n          }\n        };\n        var formPartStrings = function (key) {\n          return {\n            label: translate(translatePrefix + key + '.label'),\n            description: translate(translatePrefix + key + '.description')\n          };\n        };\n        var redStrings = formPartStrings('red');\n        var greenStrings = formPartStrings('green');\n        var blueStrings = formPartStrings('blue');\n        var hexStrings = formPartStrings('hex');\n        return deepMerge(Form.sketch(function (parts) {\n          return {\n            dom: {\n              tag: 'form',\n              classes: [getClass('rgb-form')],\n              attributes: { 'aria-label': translate('aria.color.picker') }\n            },\n            components: [\n              parts.field('red', FormField.sketch(renderTextField(isRgbaComponent, 'red', redStrings.label, redStrings.description, 255))),\n              parts.field('green', FormField.sketch(renderTextField(isRgbaComponent, 'green', greenStrings.label, greenStrings.description, 255))),\n              parts.field('blue', FormField.sketch(renderTextField(isRgbaComponent, 'blue', blueStrings.label, blueStrings.description, 255))),\n              parts.field('hex', FormField.sketch(renderTextField(isHexString, 'hex', hexStrings.label, hexStrings.description, 'ffffff'))),\n              memPreview.asSpec()\n            ],\n            formBehaviours: derive$1([\n              Invalidating.config({ invalidClass: getClass('form-invalid') }),\n              config('rgb-form-events', [\n                run$1(validInput, onValidInput),\n                run$1(invalidInput, onInvalidInput),\n                run$1(validatingInput, onInvalidInput)\n              ])\n            ])\n          };\n        }), {\n          apis: {\n            updateHex: function (form, hex) {\n              Representing.setValue(form, { hex: hex.value });\n              copyHexToRgb(form, hex);\n              updatePreview(form, hex);\n            }\n          }\n        });\n      };\n      var rgbFormSketcher = single({\n        factory: factory,\n        name: 'RgbForm',\n        configFields: [],\n        apis: {\n          updateHex: function (apis, form, hex) {\n            apis.updateHex(form, hex);\n          }\n        },\n        extraApis: {}\n      });\n      return rgbFormSketcher;\n    };\n\n    var paletteFactory = function (_translate, getClass) {\n      var spectrumPart = Slider.parts.spectrum({\n        dom: {\n          tag: 'canvas',\n          attributes: { role: 'presentation' },\n          classes: [getClass('sv-palette-spectrum')]\n        }\n      });\n      var thumbPart = Slider.parts.thumb({\n        dom: {\n          tag: 'div',\n          attributes: { role: 'presentation' },\n          classes: [getClass('sv-palette-thumb')],\n          innerHtml: '<div class=' + getClass('sv-palette-inner-thumb') + ' role=\"presentation\"></div>'\n        }\n      });\n      var setColour = function (canvas, rgba) {\n        var width = canvas.width, height = canvas.height;\n        var ctx = canvas.getContext('2d');\n        if (ctx === null) {\n          return;\n        }\n        ctx.fillStyle = rgba;\n        ctx.fillRect(0, 0, width, height);\n        var grdWhite = ctx.createLinearGradient(0, 0, width, 0);\n        grdWhite.addColorStop(0, 'rgba(255,255,255,1)');\n        grdWhite.addColorStop(1, 'rgba(255,255,255,0)');\n        ctx.fillStyle = grdWhite;\n        ctx.fillRect(0, 0, width, height);\n        var grdBlack = ctx.createLinearGradient(0, 0, 0, height);\n        grdBlack.addColorStop(0, 'rgba(0,0,0,0)');\n        grdBlack.addColorStop(1, 'rgba(0,0,0,1)');\n        ctx.fillStyle = grdBlack;\n        ctx.fillRect(0, 0, width, height);\n      };\n      var setPaletteHue = function (slider, hue) {\n        var canvas = slider.components()[0].element.dom;\n        var hsv = hsvColour(hue, 100, 100);\n        var rgba = fromHsv(hsv);\n        setColour(canvas, toString(rgba));\n      };\n      var setPaletteThumb = function (slider, hex) {\n        var hsv = fromRgb(fromHex(hex));\n        Slider.setValue(slider, {\n          x: hsv.saturation,\n          y: 100 - hsv.value\n        });\n      };\n      var factory = function (_detail) {\n        var getInitialValue = constant$1({\n          x: 0,\n          y: 0\n        });\n        var onChange = function (slider, _thumb, value) {\n          emitWith(slider, paletteUpdate, { value: value });\n        };\n        var onInit = function (_slider, _thumb, spectrum, _value) {\n          setColour(spectrum.element.dom, toString(red));\n        };\n        var sliderBehaviours = derive$1([\n          Composing.config({ find: Optional.some }),\n          Focusing.config({})\n        ]);\n        return Slider.sketch({\n          dom: {\n            tag: 'div',\n            attributes: { role: 'presentation' },\n            classes: [getClass('sv-palette')]\n          },\n          model: {\n            mode: 'xy',\n            getInitialValue: getInitialValue\n          },\n          rounded: false,\n          components: [\n            spectrumPart,\n            thumbPart\n          ],\n          onChange: onChange,\n          onInit: onInit,\n          sliderBehaviours: sliderBehaviours\n        });\n      };\n      var saturationBrightnessPaletteSketcher = single({\n        factory: factory,\n        name: 'SaturationBrightnessPalette',\n        configFields: [],\n        apis: {\n          setHue: function (_apis, slider, hue) {\n            setPaletteHue(slider, hue);\n          },\n          setThumb: function (_apis, slider, hex) {\n            setPaletteThumb(slider, hex);\n          }\n        },\n        extraApis: {}\n      });\n      return saturationBrightnessPaletteSketcher;\n    };\n\n    var makeFactory = function (translate, getClass) {\n      var factory = function (detail) {\n        var rgbForm = rgbFormFactory(translate, getClass, detail.onValidHex, detail.onInvalidHex);\n        var sbPalette = paletteFactory(translate, getClass);\n        var hueSliderToDegrees = function (hue) {\n          return (100 - hue) / 100 * 360;\n        };\n        var hueDegreesToSlider = function (hue) {\n          return 100 - hue / 360 * 100;\n        };\n        var state = {\n          paletteRgba: Cell(red),\n          paletteHue: Cell(0)\n        };\n        var memSlider = record(sliderFactory(translate, getClass));\n        var memPalette = record(sbPalette.sketch({}));\n        var memRgb = record(rgbForm.sketch({}));\n        var updatePalette = function (anyInSystem, _hex, hue) {\n          memPalette.getOpt(anyInSystem).each(function (palette) {\n            sbPalette.setHue(palette, hue);\n          });\n        };\n        var updateFields = function (anyInSystem, hex) {\n          memRgb.getOpt(anyInSystem).each(function (form) {\n            rgbForm.updateHex(form, hex);\n          });\n        };\n        var updateSlider = function (anyInSystem, _hex, hue) {\n          memSlider.getOpt(anyInSystem).each(function (slider) {\n            Slider.setValue(slider, { y: hueDegreesToSlider(hue) });\n          });\n        };\n        var updatePaletteThumb = function (anyInSystem, hex) {\n          memPalette.getOpt(anyInSystem).each(function (palette) {\n            sbPalette.setThumb(palette, hex);\n          });\n        };\n        var updateState = function (hex, hue) {\n          var rgba = fromHex(hex);\n          state.paletteRgba.set(rgba);\n          state.paletteHue.set(hue);\n        };\n        var runUpdates = function (anyInSystem, hex, hue, updates) {\n          updateState(hex, hue);\n          each$1(updates, function (update) {\n            update(anyInSystem, hex, hue);\n          });\n        };\n        var onPaletteUpdate = function () {\n          var updates = [updateFields];\n          return function (form, simulatedEvent) {\n            var value = simulatedEvent.event.value;\n            var oldHue = state.paletteHue.get();\n            var newHsv = hsvColour(oldHue, value.x, 100 - value.y);\n            var newHex = hsvToHex(newHsv);\n            runUpdates(form, newHex, oldHue, updates);\n          };\n        };\n        var onSliderUpdate = function () {\n          var updates = [\n            updatePalette,\n            updateFields\n          ];\n          return function (form, simulatedEvent) {\n            var hue = hueSliderToDegrees(simulatedEvent.event.value.y);\n            var oldRgb = state.paletteRgba.get();\n            var oldHsv = fromRgb(oldRgb);\n            var newHsv = hsvColour(hue, oldHsv.saturation, oldHsv.value);\n            var newHex = hsvToHex(newHsv);\n            runUpdates(form, newHex, hue, updates);\n          };\n        };\n        var onFieldsUpdate = function () {\n          var updates = [\n            updatePalette,\n            updateSlider,\n            updatePaletteThumb\n          ];\n          return function (form, simulatedEvent) {\n            var hex = simulatedEvent.event.hex;\n            var hsv = hexToHsv(hex);\n            runUpdates(form, hex, hsv.hue, updates);\n          };\n        };\n        return {\n          uid: detail.uid,\n          dom: detail.dom,\n          components: [\n            memPalette.asSpec(),\n            memSlider.asSpec(),\n            memRgb.asSpec()\n          ],\n          behaviours: derive$1([\n            config('colour-picker-events', [\n              run$1(fieldsUpdate, onFieldsUpdate()),\n              run$1(paletteUpdate, onPaletteUpdate()),\n              run$1(sliderUpdate, onSliderUpdate())\n            ]),\n            Composing.config({\n              find: function (comp) {\n                return memRgb.getOpt(comp);\n              }\n            }),\n            Keying.config({ mode: 'acyclic' })\n          ])\n        };\n      };\n      var colourPickerSketcher = single({\n        name: 'ColourPicker',\n        configFields: [\n          required$1('dom'),\n          defaulted('onValidHex', noop),\n          defaulted('onInvalidHex', noop)\n        ],\n        factory: factory\n      });\n      return colourPickerSketcher;\n    };\n\n    var self$1 = function () {\n      return Composing.config({ find: Optional.some });\n    };\n    var memento$1 = function (mem) {\n      return Composing.config({ find: mem.getOpt });\n    };\n    var childAt = function (index) {\n      return Composing.config({\n        find: function (comp) {\n          return child$2(comp.element, index).bind(function (element) {\n            return comp.getSystem().getByDom(element).toOptional();\n          });\n        }\n      });\n    };\n    var ComposingConfigs = {\n      self: self$1,\n      memento: memento$1,\n      childAt: childAt\n    };\n\n    var english = {\n      'colorcustom.rgb.red.label': 'R',\n      'colorcustom.rgb.red.description': 'Red component',\n      'colorcustom.rgb.green.label': 'G',\n      'colorcustom.rgb.green.description': 'Green component',\n      'colorcustom.rgb.blue.label': 'B',\n      'colorcustom.rgb.blue.description': 'Blue component',\n      'colorcustom.rgb.hex.label': '#',\n      'colorcustom.rgb.hex.description': 'Hex color code',\n      'colorcustom.rgb.range': 'Range 0 to 255',\n      'colorcustom.sb.saturation': 'Saturation',\n      'colorcustom.sb.brightness': 'Brightness',\n      'colorcustom.sb.picker': 'Saturation and Brightness Picker',\n      'colorcustom.sb.palette': 'Saturation and Brightness Palette',\n      'colorcustom.sb.instructions': 'Use arrow keys to select saturation and brightness, on x and y axes',\n      'colorcustom.hue.hue': 'Hue',\n      'colorcustom.hue.slider': 'Hue Slider',\n      'colorcustom.hue.palette': 'Hue Palette',\n      'colorcustom.hue.instructions': 'Use arrow keys to select a hue',\n      'aria.color.picker': 'Color Picker',\n      'aria.input.invalid': 'Invalid input'\n    };\n    var getEnglishText = function (key) {\n      return english[key];\n    };\n    var translate$1 = function (key) {\n      return getEnglishText(key);\n    };\n    var renderColorPicker = function (_spec) {\n      var getClass = function (key) {\n        return 'tox-' + key;\n      };\n      var colourPickerFactory = makeFactory(translate$1, getClass);\n      var onValidHex = function (form) {\n        emitWith(form, formActionEvent, {\n          name: 'hex-valid',\n          value: true\n        });\n      };\n      var onInvalidHex = function (form) {\n        emitWith(form, formActionEvent, {\n          name: 'hex-valid',\n          value: false\n        });\n      };\n      var memPicker = record(colourPickerFactory.sketch({\n        dom: {\n          tag: 'div',\n          classes: [getClass('color-picker-container')],\n          attributes: { role: 'presentation' }\n        },\n        onValidHex: onValidHex,\n        onInvalidHex: onInvalidHex\n      }));\n      return {\n        dom: { tag: 'div' },\n        components: [memPicker.asSpec()],\n        behaviours: derive$1([\n          Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function (comp) {\n                var picker = memPicker.get(comp);\n                var optRgbForm = Composing.getCurrent(picker);\n                var optHex = optRgbForm.bind(function (rgbForm) {\n                  var formValues = Representing.getValue(rgbForm);\n                  return formValues.hex;\n                });\n                return optHex.map(function (hex) {\n                  return '#' + hex;\n                }).getOr('');\n              },\n              setValue: function (comp, newValue) {\n                var pattern = /^#([a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?)/;\n                var m = pattern.exec(newValue);\n                var picker = memPicker.get(comp);\n                var optRgbForm = Composing.getCurrent(picker);\n                optRgbForm.fold(function () {\n                  console.log('Can not find form');\n                }, function (rgbForm) {\n                  Representing.setValue(rgbForm, { hex: Optional.from(m[1]).getOr('') });\n                  Form.getField(rgbForm, 'hex').each(function (hexField) {\n                    emit(hexField, input());\n                  });\n                });\n              }\n            }\n          }),\n          ComposingConfigs.self()\n        ])\n      };\n    };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    var isOldCustomEditor = function (spec) {\n      return has$2(spec, 'init');\n    };\n    var renderCustomEditor = function (spec) {\n      var editorApi = value$1();\n      var memReplaced = record({ dom: { tag: spec.tag } });\n      var initialValue = value$1();\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-custom-editor']\n        },\n        behaviours: derive$1([\n          config('custom-editor-events', [runOnAttached(function (component) {\n              memReplaced.getOpt(component).each(function (ta) {\n                (isOldCustomEditor(spec) ? spec.init(ta.element.dom) : global$6.load(spec.scriptId, spec.scriptUrl).then(function (init) {\n                  return init(ta.element.dom, spec.settings);\n                })).then(function (ea) {\n                  initialValue.on(function (cvalue) {\n                    ea.setValue(cvalue);\n                  });\n                  initialValue.clear();\n                  editorApi.set(ea);\n                });\n              });\n            })]),\n          Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function () {\n                return editorApi.get().fold(function () {\n                  return initialValue.get().getOr('');\n                }, function (ed) {\n                  return ed.getValue();\n                });\n              },\n              setValue: function (component, value) {\n                editorApi.get().fold(function () {\n                  initialValue.set(value);\n                }, function (ed) {\n                  return ed.setValue(value);\n                });\n              }\n            }\n          }),\n          ComposingConfigs.self()\n        ]),\n        components: [memReplaced.asSpec()]\n      };\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var processors = objOf([\n      defaulted('preprocess', identity$1),\n      defaulted('postprocess', identity$1)\n    ]);\n    var memento = function (mem, rawProcessors) {\n      var ps = asRawOrDie$1('RepresentingConfigs.memento processors', processors, rawProcessors);\n      return Representing.config({\n        store: {\n          mode: 'manual',\n          getValue: function (comp) {\n            var other = mem.get(comp);\n            var rawValue = Representing.getValue(other);\n            return ps.postprocess(rawValue);\n          },\n          setValue: function (comp, rawValue) {\n            var newValue = ps.preprocess(rawValue);\n            var other = mem.get(comp);\n            Representing.setValue(other, newValue);\n          }\n        }\n      });\n    };\n    var withComp = function (optInitialValue, getter, setter) {\n      return Representing.config(deepMerge({\n        store: {\n          mode: 'manual',\n          getValue: getter,\n          setValue: setter\n        }\n      }, optInitialValue.map(function (initialValue) {\n        return { store: { initialValue: initialValue } };\n      }).getOr({})));\n    };\n    var withElement = function (initialValue, getter, setter) {\n      return withComp(initialValue, function (c) {\n        return getter(c.element);\n      }, function (c, v) {\n        return setter(c.element, v);\n      });\n    };\n    var domValue = function (optInitialValue) {\n      return withElement(optInitialValue, get$5, set$4);\n    };\n    var domHtml = function (optInitialValue) {\n      return withElement(optInitialValue, get$7, set$5);\n    };\n    var memory = function (initialValue) {\n      return Representing.config({\n        store: {\n          mode: 'memory',\n          initialValue: initialValue\n        }\n      });\n    };\n    var RepresentingConfigs = {\n      memento: memento,\n      withElement: withElement,\n      withComp: withComp,\n      domValue: domValue,\n      domHtml: domHtml,\n      memory: memory\n    };\n\n    var defaultImageFileTypes = 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp';\n    var filterByExtension = function (files, providersBackstage) {\n      var allowedImageFileTypes = global$5.explode(providersBackstage.getSetting('images_file_types', defaultImageFileTypes, 'string'));\n      var isFileInAllowedTypes = function (file) {\n        return exists(allowedImageFileTypes, function (type) {\n          return endsWith(file.name.toLowerCase(), '.' + type.toLowerCase());\n        });\n      };\n      return filter$2(from(files), isFileInAllowedTypes);\n    };\n    var renderDropZone = function (spec, providersBackstage) {\n      var stopper = function (_, se) {\n        se.stop();\n      };\n      var sequence = function (actions) {\n        return function (comp, se) {\n          each$1(actions, function (a) {\n            a(comp, se);\n          });\n        };\n      };\n      var onDrop = function (comp, se) {\n        if (!Disabling.isDisabled(comp)) {\n          var transferEvent = se.event.raw;\n          handleFiles(comp, transferEvent.dataTransfer.files);\n        }\n      };\n      var onSelect = function (component, simulatedEvent) {\n        var input = simulatedEvent.event.raw.target;\n        handleFiles(component, input.files);\n      };\n      var handleFiles = function (component, files) {\n        Representing.setValue(component, filterByExtension(files, providersBackstage));\n        emitWith(component, formChangeEvent, { name: spec.name });\n      };\n      var memInput = record({\n        dom: {\n          tag: 'input',\n          attributes: {\n            type: 'file',\n            accept: 'image/*'\n          },\n          styles: { display: 'none' }\n        },\n        behaviours: derive$1([config('input-file-events', [\n            cutter(click()),\n            cutter(tap())\n          ])])\n      });\n      var renderField = function (s) {\n        return {\n          uid: s.uid,\n          dom: {\n            tag: 'div',\n            classes: ['tox-dropzone-container']\n          },\n          behaviours: derive$1([\n            RepresentingConfigs.memory([]),\n            ComposingConfigs.self(),\n            Disabling.config({}),\n            Toggling.config({\n              toggleClass: 'dragenter',\n              toggleOnExecute: false\n            }),\n            config('dropzone-events', [\n              run$1('dragenter', sequence([\n                stopper,\n                Toggling.toggle\n              ])),\n              run$1('dragleave', sequence([\n                stopper,\n                Toggling.toggle\n              ])),\n              run$1('dragover', stopper),\n              run$1('drop', sequence([\n                stopper,\n                onDrop\n              ])),\n              run$1(change(), onSelect)\n            ])\n          ]),\n          components: [{\n              dom: {\n                tag: 'div',\n                classes: ['tox-dropzone'],\n                styles: {}\n              },\n              components: [\n                {\n                  dom: {\n                    tag: 'p',\n                    innerHtml: providersBackstage.translate('Drop an image here')\n                  }\n                },\n                Button.sketch({\n                  dom: {\n                    tag: 'button',\n                    innerHtml: providersBackstage.translate('Browse for an image'),\n                    styles: { position: 'relative' },\n                    classes: [\n                      'tox-button',\n                      'tox-button--secondary'\n                    ]\n                  },\n                  components: [memInput.asSpec()],\n                  action: function (comp) {\n                    var inputComp = memInput.get(comp);\n                    inputComp.element.dom.click();\n                  },\n                  buttonBehaviours: derive$1([\n                    Tabstopping.config({}),\n                    DisablingConfigs.button(providersBackstage.isDisabled),\n                    receivingConfig()\n                  ])\n                })\n              ]\n            }]\n        };\n      };\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var pField = FormField.parts.field({ factory: { sketch: renderField } });\n      return renderFormFieldWith(pLabel, pField, ['tox-form__group--stretched'], []);\n    };\n\n    var renderGrid = function (spec, backstage) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-form__grid',\n            'tox-form__grid--' + spec.columns + 'col'\n          ]\n        },\n        components: map$2(spec.items, backstage.interpreter)\n      };\n    };\n\n    var beforeObject = generate$6('alloy-fake-before-tabstop');\n    var afterObject = generate$6('alloy-fake-after-tabstop');\n    var craftWithClasses = function (classes) {\n      return {\n        dom: {\n          tag: 'div',\n          styles: {\n            width: '1px',\n            height: '1px',\n            outline: 'none'\n          },\n          attributes: { tabindex: '0' },\n          classes: classes\n        },\n        behaviours: derive$1([\n          Focusing.config({ ignore: true }),\n          Tabstopping.config({})\n        ])\n      };\n    };\n    var craft = function (spec) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-navobj']\n        },\n        components: [\n          craftWithClasses([beforeObject]),\n          spec,\n          craftWithClasses([afterObject])\n        ],\n        behaviours: derive$1([ComposingConfigs.childAt(1)])\n      };\n    };\n    var triggerTab = function (placeholder, shiftKey) {\n      emitWith(placeholder, keydown(), {\n        raw: {\n          which: 9,\n          shiftKey: shiftKey\n        }\n      });\n    };\n    var onFocus = function (container, targetComp) {\n      var target = targetComp.element;\n      if (has(target, beforeObject)) {\n        triggerTab(container, true);\n      } else if (has(target, afterObject)) {\n        triggerTab(container, false);\n      }\n    };\n    var isPseudoStop = function (element) {\n      return closest(element, [\n        '.' + beforeObject,\n        '.' + afterObject\n      ].join(','), never);\n    };\n\n    var platformNeedsSandboxing = !(detect$1().browser.isIE() || detect$1().browser.isEdge());\n    var getDynamicSource = function (isSandbox) {\n      var cachedValue = Cell('');\n      return {\n        getValue: function (_frameComponent) {\n          return cachedValue.get();\n        },\n        setValue: function (frameComponent, html) {\n          if (!isSandbox) {\n            set$8(frameComponent.element, 'src', 'javascript:\\'\\'');\n            var doc = frameComponent.element.dom.contentWindow.document;\n            doc.open();\n            doc.write(html);\n            doc.close();\n          } else {\n            set$8(frameComponent.element, 'srcdoc', html);\n          }\n          cachedValue.set(html);\n        }\n      };\n    };\n    var renderIFrame = function (spec, providersBackstage) {\n      var isSandbox = platformNeedsSandboxing && spec.sandboxed;\n      var attributes = __assign(__assign({}, spec.label.map(function (title) {\n        return { title: title };\n      }).getOr({})), isSandbox ? { sandbox: 'allow-scripts allow-same-origin' } : {});\n      var sourcing = getDynamicSource(isSandbox);\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var factory = function (newSpec) {\n        return craft({\n          uid: newSpec.uid,\n          dom: {\n            tag: 'iframe',\n            attributes: attributes\n          },\n          behaviours: derive$1([\n            Tabstopping.config({}),\n            Focusing.config({}),\n            RepresentingConfigs.withComp(Optional.none(), sourcing.getValue, sourcing.setValue)\n          ])\n        });\n      };\n      var pField = FormField.parts.field({ factory: { sketch: factory } });\n      return renderFormFieldWith(pLabel, pField, ['tox-form__group--stretched'], []);\n    };\n\n    var create$3 = function (width, height) {\n      return resize$3(document.createElement('canvas'), width, height);\n    };\n    var clone = function (canvas) {\n      var tCanvas = create$3(canvas.width, canvas.height);\n      var ctx = get2dContext(tCanvas);\n      ctx.drawImage(canvas, 0, 0);\n      return tCanvas;\n    };\n    var get2dContext = function (canvas) {\n      return canvas.getContext('2d');\n    };\n    var resize$3 = function (canvas, width, height) {\n      canvas.width = width;\n      canvas.height = height;\n      return canvas;\n    };\n\n    var getWidth$1 = function (image) {\n      return image.naturalWidth || image.width;\n    };\n    var getHeight$1 = function (image) {\n      return image.naturalHeight || image.height;\n    };\n\n    var blobToImage = function (blob) {\n      return new Promise$1(function (resolve, reject) {\n        var blobUrl = URL.createObjectURL(blob);\n        var image = new Image();\n        var removeListeners = function () {\n          image.removeEventListener('load', loaded);\n          image.removeEventListener('error', error);\n        };\n        var loaded = function () {\n          removeListeners();\n          resolve(image);\n        };\n        var error = function () {\n          removeListeners();\n          reject('Unable to load data of type ' + blob.type + ': ' + blobUrl);\n        };\n        image.addEventListener('load', loaded);\n        image.addEventListener('error', error);\n        image.src = blobUrl;\n        if (image.complete) {\n          setTimeout(loaded, 0);\n        }\n      });\n    };\n    var dataUriToBlobSync = function (uri) {\n      var data = uri.split(',');\n      var matches = /data:([^;]+)/.exec(data[0]);\n      if (!matches) {\n        return Optional.none();\n      }\n      var mimetype = matches[1];\n      var base64 = data[1];\n      var sliceSize = 1024;\n      var byteCharacters = atob(base64);\n      var bytesLength = byteCharacters.length;\n      var slicesCount = Math.ceil(bytesLength / sliceSize);\n      var byteArrays = new Array(slicesCount);\n      for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n        var begin = sliceIndex * sliceSize;\n        var end = Math.min(begin + sliceSize, bytesLength);\n        var bytes = new Array(end - begin);\n        for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n          bytes[i] = byteCharacters[offset].charCodeAt(0);\n        }\n        byteArrays[sliceIndex] = new Uint8Array(bytes);\n      }\n      return Optional.some(new Blob(byteArrays, { type: mimetype }));\n    };\n    var dataUriToBlob = function (uri) {\n      return new Promise$1(function (resolve, reject) {\n        dataUriToBlobSync(uri).fold(function () {\n          reject('uri is not base64: ' + uri);\n        }, resolve);\n      });\n    };\n    var canvasToBlob = function (canvas, type, quality) {\n      type = type || 'image/png';\n      if (isFunction(HTMLCanvasElement.prototype.toBlob)) {\n        return new Promise$1(function (resolve, reject) {\n          canvas.toBlob(function (blob) {\n            if (blob) {\n              resolve(blob);\n            } else {\n              reject();\n            }\n          }, type, quality);\n        });\n      } else {\n        return dataUriToBlob(canvas.toDataURL(type, quality));\n      }\n    };\n    var canvasToDataURL = function (canvas, type, quality) {\n      type = type || 'image/png';\n      return canvas.toDataURL(type, quality);\n    };\n    var blobToCanvas = function (blob) {\n      return blobToImage(blob).then(function (image) {\n        revokeImageUrl(image);\n        var canvas = create$3(getWidth$1(image), getHeight$1(image));\n        var context = get2dContext(canvas);\n        context.drawImage(image, 0, 0);\n        return canvas;\n      });\n    };\n    var blobToDataUri = function (blob) {\n      return new Promise$1(function (resolve) {\n        var reader = new FileReader();\n        reader.onloadend = function () {\n          resolve(reader.result);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n    var revokeImageUrl = function (image) {\n      URL.revokeObjectURL(image.src);\n    };\n\n    var create$2 = function (getCanvas, blob, uri) {\n      var initialType = blob.type;\n      var getType = constant$1(initialType);\n      var toBlob = function () {\n        return Promise$1.resolve(blob);\n      };\n      var toDataURL = constant$1(uri);\n      var toBase64 = function () {\n        return uri.split(',')[1];\n      };\n      var toAdjustedBlob = function (type, quality) {\n        return getCanvas.then(function (canvas) {\n          return canvasToBlob(canvas, type, quality);\n        });\n      };\n      var toAdjustedDataURL = function (type, quality) {\n        return getCanvas.then(function (canvas) {\n          return canvasToDataURL(canvas, type, quality);\n        });\n      };\n      var toAdjustedBase64 = function (type, quality) {\n        return toAdjustedDataURL(type, quality).then(function (dataurl) {\n          return dataurl.split(',')[1];\n        });\n      };\n      var toCanvas = function () {\n        return getCanvas.then(clone);\n      };\n      return {\n        getType: getType,\n        toBlob: toBlob,\n        toDataURL: toDataURL,\n        toBase64: toBase64,\n        toAdjustedBlob: toAdjustedBlob,\n        toAdjustedDataURL: toAdjustedDataURL,\n        toAdjustedBase64: toAdjustedBase64,\n        toCanvas: toCanvas\n      };\n    };\n    var fromBlob = function (blob) {\n      return blobToDataUri(blob).then(function (uri) {\n        return create$2(blobToCanvas(blob), blob, uri);\n      });\n    };\n    var fromCanvas = function (canvas, type) {\n      return canvasToBlob(canvas, type).then(function (blob) {\n        return create$2(Promise$1.resolve(canvas), blob, canvas.toDataURL());\n      });\n    };\n\n    var blobToImageResult = function (blob) {\n      return fromBlob(blob);\n    };\n\n    var clamp = function (value, min, max) {\n      var parsedValue = typeof value === 'string' ? parseFloat(value) : value;\n      if (parsedValue > max) {\n        parsedValue = max;\n      } else if (parsedValue < min) {\n        parsedValue = min;\n      }\n      return parsedValue;\n    };\n    var identity = function () {\n      return [\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1\n      ];\n    };\n    var DELTA_INDEX = [\n      0,\n      0.01,\n      0.02,\n      0.04,\n      0.05,\n      0.06,\n      0.07,\n      0.08,\n      0.1,\n      0.11,\n      0.12,\n      0.14,\n      0.15,\n      0.16,\n      0.17,\n      0.18,\n      0.2,\n      0.21,\n      0.22,\n      0.24,\n      0.25,\n      0.27,\n      0.28,\n      0.3,\n      0.32,\n      0.34,\n      0.36,\n      0.38,\n      0.4,\n      0.42,\n      0.44,\n      0.46,\n      0.48,\n      0.5,\n      0.53,\n      0.56,\n      0.59,\n      0.62,\n      0.65,\n      0.68,\n      0.71,\n      0.74,\n      0.77,\n      0.8,\n      0.83,\n      0.86,\n      0.89,\n      0.92,\n      0.95,\n      0.98,\n      1,\n      1.06,\n      1.12,\n      1.18,\n      1.24,\n      1.3,\n      1.36,\n      1.42,\n      1.48,\n      1.54,\n      1.6,\n      1.66,\n      1.72,\n      1.78,\n      1.84,\n      1.9,\n      1.96,\n      2,\n      2.12,\n      2.25,\n      2.37,\n      2.5,\n      2.62,\n      2.75,\n      2.87,\n      3,\n      3.2,\n      3.4,\n      3.6,\n      3.8,\n      4,\n      4.3,\n      4.7,\n      4.9,\n      5,\n      5.5,\n      6,\n      6.5,\n      6.8,\n      7,\n      7.3,\n      7.5,\n      7.8,\n      8,\n      8.4,\n      8.7,\n      9,\n      9.4,\n      9.6,\n      9.8,\n      10\n    ];\n    var multiply = function (matrix1, matrix2) {\n      var col = [];\n      var out = new Array(25);\n      var val;\n      for (var i = 0; i < 5; i++) {\n        for (var j = 0; j < 5; j++) {\n          col[j] = matrix2[j + i * 5];\n        }\n        for (var j = 0; j < 5; j++) {\n          val = 0;\n          for (var k = 0; k < 5; k++) {\n            val += matrix1[j + k * 5] * col[k];\n          }\n          out[j + i * 5] = val;\n        }\n      }\n      return out;\n    };\n    var adjustContrast = function (matrix, value) {\n      var x;\n      value = clamp(value, -1, 1);\n      value *= 100;\n      if (value < 0) {\n        x = 127 + value / 100 * 127;\n      } else {\n        x = value % 1;\n        if (x === 0) {\n          x = DELTA_INDEX[value];\n        } else {\n          x = DELTA_INDEX[Math.floor(value)] * (1 - x) + DELTA_INDEX[Math.floor(value) + 1] * x;\n        }\n        x = x * 127 + 127;\n      }\n      return multiply(matrix, [\n        x / 127,\n        0,\n        0,\n        0,\n        0.5 * (127 - x),\n        0,\n        x / 127,\n        0,\n        0,\n        0.5 * (127 - x),\n        0,\n        0,\n        x / 127,\n        0,\n        0.5 * (127 - x),\n        0,\n        0,\n        0,\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1\n      ]);\n    };\n    var adjustBrightness = function (matrix, value) {\n      value = clamp(255 * value, -255, 255);\n      return multiply(matrix, [\n        1,\n        0,\n        0,\n        0,\n        value,\n        0,\n        1,\n        0,\n        0,\n        value,\n        0,\n        0,\n        1,\n        0,\n        value,\n        0,\n        0,\n        0,\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1\n      ]);\n    };\n    var adjustColors = function (matrix, adjustR, adjustG, adjustB) {\n      adjustR = clamp(adjustR, 0, 2);\n      adjustG = clamp(adjustG, 0, 2);\n      adjustB = clamp(adjustB, 0, 2);\n      return multiply(matrix, [\n        adjustR,\n        0,\n        0,\n        0,\n        0,\n        0,\n        adjustG,\n        0,\n        0,\n        0,\n        0,\n        0,\n        adjustB,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1,\n        0,\n        0,\n        0,\n        0,\n        0,\n        1\n      ]);\n    };\n\n    var colorFilter = function (ir, matrix) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyColorFilter(canvas, ir.getType(), matrix);\n      });\n    };\n    var applyColorFilter = function (canvas, type, matrix) {\n      var context = get2dContext(canvas);\n      var applyMatrix = function (pixelsData, m) {\n        var r, g, b, a;\n        var data = pixelsData.data, m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], m4 = m[4], m5 = m[5], m6 = m[6], m7 = m[7], m8 = m[8], m9 = m[9], m10 = m[10], m11 = m[11], m12 = m[12], m13 = m[13], m14 = m[14], m15 = m[15], m16 = m[16], m17 = m[17], m18 = m[18], m19 = m[19];\n        for (var i = 0; i < data.length; i += 4) {\n          r = data[i];\n          g = data[i + 1];\n          b = data[i + 2];\n          a = data[i + 3];\n          data[i] = r * m0 + g * m1 + b * m2 + a * m3 + m4;\n          data[i + 1] = r * m5 + g * m6 + b * m7 + a * m8 + m9;\n          data[i + 2] = r * m10 + g * m11 + b * m12 + a * m13 + m14;\n          data[i + 3] = r * m15 + g * m16 + b * m17 + a * m18 + m19;\n        }\n        return pixelsData;\n      };\n      var pixels = applyMatrix(context.getImageData(0, 0, canvas.width, canvas.height), matrix);\n      context.putImageData(pixels, 0, 0);\n      return fromCanvas(canvas, type);\n    };\n    var convoluteFilter = function (ir, matrix) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyConvoluteFilter(canvas, ir.getType(), matrix);\n      });\n    };\n    var applyConvoluteFilter = function (canvas, type, matrix) {\n      var context = get2dContext(canvas);\n      var applyMatrix = function (pIn, pOut, aMatrix) {\n        var clamp = function (value, min, max) {\n          if (value > max) {\n            value = max;\n          } else if (value < min) {\n            value = min;\n          }\n          return value;\n        };\n        var side = Math.round(Math.sqrt(aMatrix.length));\n        var halfSide = Math.floor(side / 2);\n        var rgba = pIn.data;\n        var drgba = pOut.data;\n        var w = pIn.width;\n        var h = pIn.height;\n        for (var y = 0; y < h; y++) {\n          for (var x = 0; x < w; x++) {\n            var r = 0;\n            var g = 0;\n            var b = 0;\n            for (var cy = 0; cy < side; cy++) {\n              for (var cx = 0; cx < side; cx++) {\n                var scx = clamp(x + cx - halfSide, 0, w - 1);\n                var scy = clamp(y + cy - halfSide, 0, h - 1);\n                var innerOffset = (scy * w + scx) * 4;\n                var wt = aMatrix[cy * side + cx];\n                r += rgba[innerOffset] * wt;\n                g += rgba[innerOffset + 1] * wt;\n                b += rgba[innerOffset + 2] * wt;\n              }\n            }\n            var offset = (y * w + x) * 4;\n            drgba[offset] = clamp(r, 0, 255);\n            drgba[offset + 1] = clamp(g, 0, 255);\n            drgba[offset + 2] = clamp(b, 0, 255);\n          }\n        }\n        return pOut;\n      };\n      var pixelsIn = context.getImageData(0, 0, canvas.width, canvas.height);\n      var pixelsOut = context.getImageData(0, 0, canvas.width, canvas.height);\n      pixelsOut = applyMatrix(pixelsIn, pixelsOut, matrix);\n      context.putImageData(pixelsOut, 0, 0);\n      return fromCanvas(canvas, type);\n    };\n    var functionColorFilter = function (colorFn) {\n      var filterImpl = function (canvas, type, value) {\n        var context = get2dContext(canvas);\n        var lookup = new Array(256);\n        var applyLookup = function (pixelsData, lookupData) {\n          var data = pixelsData.data;\n          for (var i = 0; i < data.length; i += 4) {\n            data[i] = lookupData[data[i]];\n            data[i + 1] = lookupData[data[i + 1]];\n            data[i + 2] = lookupData[data[i + 2]];\n          }\n          return pixelsData;\n        };\n        for (var i = 0; i < lookup.length; i++) {\n          lookup[i] = colorFn(i, value);\n        }\n        var pixels = applyLookup(context.getImageData(0, 0, canvas.width, canvas.height), lookup);\n        context.putImageData(pixels, 0, 0);\n        return fromCanvas(canvas, type);\n      };\n      return function (ir, value) {\n        return ir.toCanvas().then(function (canvas) {\n          return filterImpl(canvas, ir.getType(), value);\n        });\n      };\n    };\n    var complexAdjustableColorFilter = function (matrixAdjustFn) {\n      return function (ir, adjust) {\n        return colorFilter(ir, matrixAdjustFn(identity(), adjust));\n      };\n    };\n    var basicColorFilter = function (matrix) {\n      return function (ir) {\n        return colorFilter(ir, matrix);\n      };\n    };\n    var basicConvolutionFilter = function (kernel) {\n      return function (ir) {\n        return convoluteFilter(ir, kernel);\n      };\n    };\n    var invert$1 = basicColorFilter([\n      -1,\n      0,\n      0,\n      0,\n      255,\n      0,\n      -1,\n      0,\n      0,\n      255,\n      0,\n      0,\n      -1,\n      0,\n      255,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      0,\n      1\n    ]);\n    var brightness$1 = complexAdjustableColorFilter(adjustBrightness);\n    var contrast$1 = complexAdjustableColorFilter(adjustContrast);\n    var colorize$1 = function (ir, adjustR, adjustG, adjustB) {\n      return colorFilter(ir, adjustColors(identity(), adjustR, adjustG, adjustB));\n    };\n    var sharpen$1 = basicConvolutionFilter([\n      0,\n      -1,\n      0,\n      -1,\n      5,\n      -1,\n      0,\n      -1,\n      0\n    ]);\n    var gamma$1 = functionColorFilter(function (color, value) {\n      return Math.pow(color / 255, 1 - value) * 255;\n    });\n\n    var scale = function (image, dW, dH) {\n      var sW = getWidth$1(image);\n      var sH = getHeight$1(image);\n      var wRatio = dW / sW;\n      var hRatio = dH / sH;\n      var scaleCapped = false;\n      if (wRatio < 0.5 || wRatio > 2) {\n        wRatio = wRatio < 0.5 ? 0.5 : 2;\n        scaleCapped = true;\n      }\n      if (hRatio < 0.5 || hRatio > 2) {\n        hRatio = hRatio < 0.5 ? 0.5 : 2;\n        scaleCapped = true;\n      }\n      var scaled = _scale(image, wRatio, hRatio);\n      return !scaleCapped ? scaled : scaled.then(function (tCanvas) {\n        return scale(tCanvas, dW, dH);\n      });\n    };\n    var _scale = function (image, wRatio, hRatio) {\n      return new Promise$1(function (resolve) {\n        var sW = getWidth$1(image);\n        var sH = getHeight$1(image);\n        var dW = Math.floor(sW * wRatio);\n        var dH = Math.floor(sH * hRatio);\n        var canvas = create$3(dW, dH);\n        var context = get2dContext(canvas);\n        context.drawImage(image, 0, 0, sW, sH, 0, 0, dW, dH);\n        resolve(canvas);\n      });\n    };\n\n    var ceilWithPrecision = function (num, precision) {\n      if (precision === void 0) {\n        precision = 2;\n      }\n      var mul = Math.pow(10, precision);\n      var upper = Math.round(num * mul);\n      return Math.ceil(upper / mul);\n    };\n    var rotate$1 = function (ir, angle) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyRotate(canvas, ir.getType(), angle);\n      });\n    };\n    var applyRotate = function (image, type, angle) {\n      var degrees = angle < 0 ? 360 + angle : angle;\n      var rad = degrees * Math.PI / 180;\n      var width = image.width;\n      var height = image.height;\n      var sin = Math.sin(rad);\n      var cos = Math.cos(rad);\n      var newWidth = ceilWithPrecision(Math.abs(width * cos) + Math.abs(height * sin));\n      var newHeight = ceilWithPrecision(Math.abs(width * sin) + Math.abs(height * cos));\n      var canvas = create$3(newWidth, newHeight);\n      var context = get2dContext(canvas);\n      context.translate(newWidth / 2, newHeight / 2);\n      context.rotate(rad);\n      context.drawImage(image, -width / 2, -height / 2);\n      return fromCanvas(canvas, type);\n    };\n    var flip$1 = function (ir, axis) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyFlip(canvas, ir.getType(), axis);\n      });\n    };\n    var applyFlip = function (image, type, axis) {\n      var canvas = create$3(image.width, image.height);\n      var context = get2dContext(canvas);\n      if (axis === 'v') {\n        context.scale(1, -1);\n        context.drawImage(image, 0, -canvas.height);\n      } else {\n        context.scale(-1, 1);\n        context.drawImage(image, -canvas.width, 0);\n      }\n      return fromCanvas(canvas, type);\n    };\n    var crop$1 = function (ir, x, y, w, h) {\n      return ir.toCanvas().then(function (canvas) {\n        return applyCrop(canvas, ir.getType(), x, y, w, h);\n      });\n    };\n    var applyCrop = function (image, type, x, y, w, h) {\n      var canvas = create$3(w, h);\n      var context = get2dContext(canvas);\n      context.drawImage(image, -x, -y);\n      return fromCanvas(canvas, type);\n    };\n    var resize$2 = function (ir, w, h) {\n      return ir.toCanvas().then(function (canvas) {\n        return scale(canvas, w, h).then(function (newCanvas) {\n          return fromCanvas(newCanvas, ir.getType());\n        });\n      });\n    };\n\n    var invert = function (ir) {\n      return invert$1(ir);\n    };\n    var sharpen = function (ir) {\n      return sharpen$1(ir);\n    };\n    var gamma = function (ir, value) {\n      return gamma$1(ir, value);\n    };\n    var colorize = function (ir, adjustR, adjustG, adjustB) {\n      return colorize$1(ir, adjustR, adjustG, adjustB);\n    };\n    var brightness = function (ir, adjust) {\n      return brightness$1(ir, adjust);\n    };\n    var contrast = function (ir, adjust) {\n      return contrast$1(ir, adjust);\n    };\n    var flip = function (ir, axis) {\n      return flip$1(ir, axis);\n    };\n    var crop = function (ir, x, y, w, h) {\n      return crop$1(ir, x, y, w, h);\n    };\n    var resize$1 = function (ir, w, h) {\n      return resize$2(ir, w, h);\n    };\n    var rotate = function (ir, angle) {\n      return rotate$1(ir, angle);\n    };\n\n    var renderIcon = function (iconName, iconsProvider, behaviours) {\n      return render$3(iconName, {\n        tag: 'span',\n        classes: [\n          'tox-icon',\n          'tox-tbtn__icon-wrap'\n        ],\n        behaviours: behaviours\n      }, iconsProvider);\n    };\n    var renderIconFromPack = function (iconName, iconsProvider) {\n      return renderIcon(iconName, iconsProvider, []);\n    };\n    var renderReplacableIconFromPack = function (iconName, iconsProvider) {\n      return renderIcon(iconName, iconsProvider, [Replacing.config({})]);\n    };\n    var renderLabel$1 = function (text, prefix, providersBackstage) {\n      return {\n        dom: {\n          tag: 'span',\n          innerHtml: providersBackstage.translate(text),\n          classes: [prefix + '__select-label']\n        },\n        behaviours: derive$1([Replacing.config({})])\n      };\n    };\n\n    var _a;\n    var internalToolbarButtonExecute = generate$6('toolbar.button.execute');\n    var onToolbarButtonExecute = function (info) {\n      return runOnExecute$1(function (comp, _simulatedEvent) {\n        runWithApi(info, comp)(function (itemApi) {\n          emitWith(comp, internalToolbarButtonExecute, { buttonApi: itemApi });\n          info.onAction(itemApi);\n        });\n      });\n    };\n    var toolbarButtonEventOrder = (_a = {}, _a[execute$5()] = [\n      'disabling',\n      'alloy.base.behaviour',\n      'toggling',\n      'toolbar-button-events'\n    ], _a);\n\n    var updateMenuText = generate$6('update-menu-text');\n    var updateMenuIcon = generate$6('update-menu-icon');\n    var renderCommonDropdown = function (spec, prefix, sharedBackstage) {\n      var editorOffCell = Cell(noop);\n      var optMemDisplayText = spec.text.map(function (text) {\n        return record(renderLabel$1(text, prefix, sharedBackstage.providers));\n      });\n      var optMemDisplayIcon = spec.icon.map(function (iconName) {\n        return record(renderReplacableIconFromPack(iconName, sharedBackstage.providers.icons));\n      });\n      var onLeftOrRightInMenu = function (comp, se) {\n        var dropdown = Representing.getValue(comp);\n        Focusing.focus(dropdown);\n        emitWith(dropdown, 'keydown', { raw: se.event.raw });\n        Dropdown.close(dropdown);\n        return Optional.some(true);\n      };\n      var role = spec.role.fold(function () {\n        return {};\n      }, function (role) {\n        return { role: role };\n      });\n      var tooltipAttributes = spec.tooltip.fold(function () {\n        return {};\n      }, function (tooltip) {\n        var translatedTooltip = sharedBackstage.providers.translate(tooltip);\n        return {\n          'title': translatedTooltip,\n          'aria-label': translatedTooltip\n        };\n      });\n      var iconSpec = render$3('chevron-down', {\n        tag: 'div',\n        classes: [prefix + '__select-chevron']\n      }, sharedBackstage.providers.icons);\n      var memDropdown = record(Dropdown.sketch(__assign(__assign(__assign({}, spec.uid ? { uid: spec.uid } : {}), role), {\n        dom: {\n          tag: 'button',\n          classes: [\n            prefix,\n            prefix + '--select'\n          ].concat(map$2(spec.classes, function (c) {\n            return prefix + '--' + c;\n          })),\n          attributes: __assign({}, tooltipAttributes)\n        },\n        components: componentRenderPipeline([\n          optMemDisplayIcon.map(function (mem) {\n            return mem.asSpec();\n          }),\n          optMemDisplayText.map(function (mem) {\n            return mem.asSpec();\n          }),\n          Optional.some(iconSpec)\n        ]),\n        matchWidth: true,\n        useMinWidth: true,\n        dropdownBehaviours: derive$1(__spreadArray(__spreadArray([], spec.dropdownBehaviours, true), [\n          DisablingConfigs.button(function () {\n            return spec.disabled || sharedBackstage.providers.isDisabled();\n          }),\n          receivingConfig(),\n          Unselecting.config({}),\n          Replacing.config({}),\n          config('dropdown-events', [\n            onControlAttached(spec, editorOffCell),\n            onControlDetached(spec, editorOffCell)\n          ]),\n          config('menubutton-update-display-text', [\n            run$1(updateMenuText, function (comp, se) {\n              optMemDisplayText.bind(function (mem) {\n                return mem.getOpt(comp);\n              }).each(function (displayText) {\n                Replacing.set(displayText, [text(sharedBackstage.providers.translate(se.event.text))]);\n              });\n            }),\n            run$1(updateMenuIcon, function (comp, se) {\n              optMemDisplayIcon.bind(function (mem) {\n                return mem.getOpt(comp);\n              }).each(function (displayIcon) {\n                Replacing.set(displayIcon, [renderReplacableIconFromPack(se.event.icon, sharedBackstage.providers.icons)]);\n              });\n            })\n          ])\n        ], false)),\n        eventOrder: deepMerge(toolbarButtonEventOrder, {\n          mousedown: [\n            'focusing',\n            'alloy.base.behaviour',\n            'item-type-events',\n            'normal-dropdown-events'\n          ]\n        }),\n        sandboxBehaviours: derive$1([Keying.config({\n            mode: 'special',\n            onLeft: onLeftOrRightInMenu,\n            onRight: onLeftOrRightInMenu\n          })]),\n        lazySink: sharedBackstage.getSink,\n        toggleClass: prefix + '--active',\n        parts: { menu: part(false, spec.columns, spec.presets) },\n        fetch: function (comp) {\n          return Future.nu(curry(spec.fetch, comp));\n        }\n      })));\n      return memDropdown.asSpec();\n    };\n\n    var isMenuItemReference = function (item) {\n      return isString(item);\n    };\n    var isSeparator$1 = function (item) {\n      return item.type === 'separator';\n    };\n    var isExpandingMenuItem = function (item) {\n      return has$2(item, 'getSubmenuItems');\n    };\n    var separator$2 = { type: 'separator' };\n    var unwrapReferences = function (items, menuItems) {\n      var realItems = foldl(items, function (acc, item) {\n        if (isMenuItemReference(item)) {\n          if (item === '') {\n            return acc;\n          } else if (item === '|') {\n            return acc.length > 0 && !isSeparator$1(acc[acc.length - 1]) ? acc.concat([separator$2]) : acc;\n          } else if (has$2(menuItems, item.toLowerCase())) {\n            return acc.concat([menuItems[item.toLowerCase()]]);\n          } else {\n            return acc;\n          }\n        } else {\n          return acc.concat([item]);\n        }\n      }, []);\n      if (realItems.length > 0 && isSeparator$1(realItems[realItems.length - 1])) {\n        realItems.pop();\n      }\n      return realItems;\n    };\n    var getFromExpandingItem = function (item, menuItems) {\n      var submenuItems = item.getSubmenuItems();\n      var rest = expand(submenuItems, menuItems);\n      var newMenus = deepMerge(rest.menus, wrap$1(item.value, rest.items));\n      var newExpansions = deepMerge(rest.expansions, wrap$1(item.value, item.value));\n      return {\n        item: item,\n        menus: newMenus,\n        expansions: newExpansions\n      };\n    };\n    var getFromItem = function (item, menuItems) {\n      return isExpandingMenuItem(item) ? getFromExpandingItem(item, menuItems) : {\n        item: item,\n        menus: {},\n        expansions: {}\n      };\n    };\n    var generateValueIfRequired = function (item) {\n      if (isSeparator$1(item)) {\n        return item;\n      } else {\n        var itemValue = get$e(item, 'value').getOrThunk(function () {\n          return generate$6('generated-menu-item');\n        });\n        return deepMerge({ value: itemValue }, item);\n      }\n    };\n    var expand = function (items, menuItems) {\n      var realItems = unwrapReferences(isString(items) ? items.split(' ') : items, menuItems);\n      return foldr(realItems, function (acc, item) {\n        var itemWithValue = generateValueIfRequired(item);\n        var newData = getFromItem(itemWithValue, menuItems);\n        return {\n          menus: deepMerge(acc.menus, newData.menus),\n          items: [newData.item].concat(acc.items),\n          expansions: deepMerge(acc.expansions, newData.expansions)\n        };\n      }, {\n        menus: {},\n        expansions: {},\n        items: []\n      });\n    };\n\n    var build = function (items, itemResponse, backstage, isHorizontalMenu) {\n      var primary = generate$6('primary-menu');\n      var data = expand(items, backstage.shared.providers.menuItems());\n      if (data.items.length === 0) {\n        return Optional.none();\n      }\n      var mainMenu = createPartialMenu(primary, data.items, itemResponse, backstage, isHorizontalMenu);\n      var submenus = map$1(data.menus, function (menuItems, menuName) {\n        return createPartialMenu(menuName, menuItems, itemResponse, backstage, false);\n      });\n      var menus = deepMerge(submenus, wrap$1(primary, mainMenu));\n      return Optional.from(tieredMenu.tieredData(primary, menus, data.expansions));\n    };\n\n    var getMenuButtonApi = function (component) {\n      return {\n        isDisabled: function () {\n          return Disabling.isDisabled(component);\n        },\n        setDisabled: function (state) {\n          return Disabling.set(component, state);\n        },\n        setActive: function (state) {\n          var elm = component.element;\n          if (state) {\n            add$2(elm, 'tox-tbtn--enabled');\n            set$8(elm, 'aria-pressed', true);\n          } else {\n            remove$2(elm, 'tox-tbtn--enabled');\n            remove$7(elm, 'aria-pressed');\n          }\n        },\n        isActive: function () {\n          return has(component.element, 'tox-tbtn--enabled');\n        }\n      };\n    };\n    var renderMenuButton = function (spec, prefix, backstage, role) {\n      return renderCommonDropdown({\n        text: spec.text,\n        icon: spec.icon,\n        tooltip: spec.tooltip,\n        role: role,\n        fetch: function (_comp, callback) {\n          spec.fetch(function (items) {\n            callback(build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, false));\n          });\n        },\n        onSetup: spec.onSetup,\n        getApi: getMenuButtonApi,\n        columns: 1,\n        presets: 'normal',\n        classes: [],\n        dropdownBehaviours: [Tabstopping.config({})]\n      }, prefix, backstage.shared);\n    };\n    var getFetch = function (items, getButton, backstage) {\n      var getMenuItemAction = function (item) {\n        return function (api) {\n          var newValue = !api.isActive();\n          api.setActive(newValue);\n          item.storage.set(newValue);\n          backstage.shared.getSink().each(function (sink) {\n            getButton().getOpt(sink).each(function (orig) {\n              focus$3(orig.element);\n              emitWith(orig, formActionEvent, {\n                name: item.name,\n                value: item.storage.get()\n              });\n            });\n          });\n        };\n      };\n      var getMenuItemSetup = function (item) {\n        return function (api) {\n          api.setActive(item.storage.get());\n        };\n      };\n      return function (success) {\n        success(map$2(items, function (item) {\n          var text = item.text.fold(function () {\n            return {};\n          }, function (text) {\n            return { text: text };\n          });\n          return __assign(__assign({\n            type: item.type,\n            active: false\n          }, text), {\n            onAction: getMenuItemAction(item),\n            onSetup: getMenuItemSetup(item)\n          });\n        }));\n      };\n    };\n\n    var renderCommonSpec = function (spec, actionOpt, extraBehaviours, dom, components, providersBackstage) {\n      if (extraBehaviours === void 0) {\n        extraBehaviours = [];\n      }\n      var action = actionOpt.fold(function () {\n        return {};\n      }, function (action) {\n        return { action: action };\n      });\n      var common = __assign({\n        buttonBehaviours: derive$1([\n          DisablingConfigs.button(function () {\n            return spec.disabled || providersBackstage.isDisabled();\n          }),\n          receivingConfig(),\n          Tabstopping.config({}),\n          config('button press', [\n            preventDefault('click'),\n            preventDefault('mousedown')\n          ])\n        ].concat(extraBehaviours)),\n        eventOrder: {\n          click: [\n            'button press',\n            'alloy.base.behaviour'\n          ],\n          mousedown: [\n            'button press',\n            'alloy.base.behaviour'\n          ]\n        }\n      }, action);\n      var domFinal = deepMerge(common, { dom: dom });\n      return deepMerge(domFinal, { components: components });\n    };\n    var renderIconButtonSpec = function (spec, action, providersBackstage, extraBehaviours) {\n      if (extraBehaviours === void 0) {\n        extraBehaviours = [];\n      }\n      var tooltipAttributes = spec.tooltip.map(function (tooltip) {\n        return {\n          'aria-label': providersBackstage.translate(tooltip),\n          'title': providersBackstage.translate(tooltip)\n        };\n      }).getOr({});\n      var dom = {\n        tag: 'button',\n        classes: ['tox-tbtn'],\n        attributes: tooltipAttributes\n      };\n      var icon = spec.icon.map(function (iconName) {\n        return renderIconFromPack(iconName, providersBackstage.icons);\n      });\n      var components = componentRenderPipeline([icon]);\n      return renderCommonSpec(spec, action, extraBehaviours, dom, components, providersBackstage);\n    };\n    var renderIconButton = function (spec, action, providersBackstage, extraBehaviours) {\n      if (extraBehaviours === void 0) {\n        extraBehaviours = [];\n      }\n      var iconButtonSpec = renderIconButtonSpec(spec, Optional.some(action), providersBackstage, extraBehaviours);\n      return Button.sketch(iconButtonSpec);\n    };\n    var renderButtonSpec = function (spec, action, providersBackstage, extraBehaviours, extraClasses) {\n      if (extraBehaviours === void 0) {\n        extraBehaviours = [];\n      }\n      if (extraClasses === void 0) {\n        extraClasses = [];\n      }\n      var translatedText = providersBackstage.translate(spec.text);\n      var icon = spec.icon ? spec.icon.map(function (iconName) {\n        return renderIconFromPack(iconName, providersBackstage.icons);\n      }) : Optional.none();\n      var components = icon.isSome() ? componentRenderPipeline([icon]) : [];\n      var innerHtml = icon.isSome() ? {} : { innerHtml: translatedText };\n      var classes = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], !spec.primary && !spec.borderless ? [\n        'tox-button',\n        'tox-button--secondary'\n      ] : ['tox-button'], true), icon.isSome() ? ['tox-button--icon'] : [], true), spec.borderless ? ['tox-button--naked'] : [], true), extraClasses, true);\n      var dom = __assign(__assign({\n        tag: 'button',\n        classes: classes\n      }, innerHtml), { attributes: { title: translatedText } });\n      return renderCommonSpec(spec, action, extraBehaviours, dom, components, providersBackstage);\n    };\n    var renderButton = function (spec, action, providersBackstage, extraBehaviours, extraClasses) {\n      if (extraBehaviours === void 0) {\n        extraBehaviours = [];\n      }\n      if (extraClasses === void 0) {\n        extraClasses = [];\n      }\n      var buttonSpec = renderButtonSpec(spec, Optional.some(action), providersBackstage, extraBehaviours, extraClasses);\n      return Button.sketch(buttonSpec);\n    };\n    var getAction = function (name, buttonType) {\n      return function (comp) {\n        if (buttonType === 'custom') {\n          emitWith(comp, formActionEvent, {\n            name: name,\n            value: {}\n          });\n        } else if (buttonType === 'submit') {\n          emit(comp, formSubmitEvent);\n        } else if (buttonType === 'cancel') {\n          emit(comp, formCancelEvent);\n        } else {\n          console.error('Unknown button type: ', buttonType);\n        }\n      };\n    };\n    var isMenuFooterButtonSpec = function (spec, buttonType) {\n      return buttonType === 'menu';\n    };\n    var isNormalFooterButtonSpec = function (spec, buttonType) {\n      return buttonType === 'custom' || buttonType === 'cancel' || buttonType === 'submit';\n    };\n    var renderFooterButton = function (spec, buttonType, backstage) {\n      if (isMenuFooterButtonSpec(spec, buttonType)) {\n        var getButton = function () {\n          return memButton_1;\n        };\n        var menuButtonSpec = spec;\n        var fixedSpec = __assign(__assign({}, spec), {\n          onSetup: function (api) {\n            api.setDisabled(spec.disabled);\n            return noop;\n          },\n          fetch: getFetch(menuButtonSpec.items, getButton, backstage)\n        });\n        var memButton_1 = record(renderMenuButton(fixedSpec, 'tox-tbtn', backstage, Optional.none()));\n        return memButton_1.asSpec();\n      } else if (isNormalFooterButtonSpec(spec, buttonType)) {\n        var action = getAction(spec.name, buttonType);\n        var buttonSpec = __assign(__assign({}, spec), { borderless: false });\n        return renderButton(buttonSpec, action, backstage.shared.providers, []);\n      } else {\n        console.error('Unknown footer button type: ', buttonType);\n      }\n    };\n    var renderDialogButton = function (spec, providersBackstage) {\n      var action = getAction(spec.name, 'custom');\n      return renderFormField(Optional.none(), FormField.parts.field(__assign({ factory: Button }, renderButtonSpec(spec, Optional.some(action), providersBackstage, [\n        RepresentingConfigs.memory(''),\n        ComposingConfigs.self()\n      ]))));\n    };\n\n    var schema$h = constant$1([\n      defaulted('field1Name', 'field1'),\n      defaulted('field2Name', 'field2'),\n      onStrictHandler('onLockedChange'),\n      markers$1(['lockClass']),\n      defaulted('locked', false),\n      SketchBehaviours.field('coupledFieldBehaviours', [\n        Composing,\n        Representing\n      ])\n    ]);\n    var getField = function (comp, detail, partName) {\n      return getPart(comp, detail, partName).bind(Composing.getCurrent);\n    };\n    var coupledPart = function (selfName, otherName) {\n      return required({\n        factory: FormField,\n        name: selfName,\n        overrides: function (detail) {\n          return {\n            fieldBehaviours: derive$1([config('coupled-input-behaviour', [run$1(input(), function (me) {\n                  getField(me, detail, otherName).each(function (other) {\n                    getPart(me, detail, 'lock').each(function (lock) {\n                      if (Toggling.isOn(lock)) {\n                        detail.onLockedChange(me, other, lock);\n                      }\n                    });\n                  });\n                })])])\n          };\n        }\n      });\n    };\n    var parts$c = constant$1([\n      coupledPart('field1', 'field2'),\n      coupledPart('field2', 'field1'),\n      required({\n        factory: Button,\n        schema: [required$1('dom')],\n        name: 'lock',\n        overrides: function (detail) {\n          return {\n            buttonBehaviours: derive$1([Toggling.config({\n                selected: detail.locked,\n                toggleClass: detail.markers.lockClass,\n                aria: { mode: 'pressed' }\n              })])\n          };\n        }\n      })\n    ]);\n\n    var factory$f = function (detail, components, _spec, _externals) {\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: SketchBehaviours.augment(detail.coupledFieldBehaviours, [\n          Composing.config({ find: Optional.some }),\n          Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function (comp) {\n                var _a;\n                var parts = getPartsOrDie(comp, detail, [\n                  'field1',\n                  'field2'\n                ]);\n                return _a = {}, _a[detail.field1Name] = Representing.getValue(parts.field1()), _a[detail.field2Name] = Representing.getValue(parts.field2()), _a;\n              },\n              setValue: function (comp, value) {\n                var parts = getPartsOrDie(comp, detail, [\n                  'field1',\n                  'field2'\n                ]);\n                if (hasNonNullableKey(value, detail.field1Name)) {\n                  Representing.setValue(parts.field1(), value[detail.field1Name]);\n                }\n                if (hasNonNullableKey(value, detail.field2Name)) {\n                  Representing.setValue(parts.field2(), value[detail.field2Name]);\n                }\n              }\n            }\n          })\n        ]),\n        apis: {\n          getField1: function (component) {\n            return getPart(component, detail, 'field1');\n          },\n          getField2: function (component) {\n            return getPart(component, detail, 'field2');\n          },\n          getLock: function (component) {\n            return getPart(component, detail, 'lock');\n          }\n        }\n      };\n    };\n    var FormCoupledInputs = composite({\n      name: 'FormCoupledInputs',\n      configFields: schema$h(),\n      partFields: parts$c(),\n      factory: factory$f,\n      apis: {\n        getField1: function (apis, component) {\n          return apis.getField1(component);\n        },\n        getField2: function (apis, component) {\n          return apis.getField2(component);\n        },\n        getLock: function (apis, component) {\n          return apis.getLock(component);\n        }\n      }\n    });\n\n    var formatSize = function (size) {\n      var unitDec = {\n        '': 0,\n        'px': 0,\n        'pt': 1,\n        'mm': 1,\n        'pc': 2,\n        'ex': 2,\n        'em': 2,\n        'ch': 2,\n        'rem': 2,\n        'cm': 3,\n        'in': 4,\n        '%': 4\n      };\n      var maxDecimal = function (unit) {\n        return unit in unitDec ? unitDec[unit] : 1;\n      };\n      var numText = size.value.toFixed(maxDecimal(size.unit));\n      if (numText.indexOf('.') !== -1) {\n        numText = numText.replace(/\\.?0*$/, '');\n      }\n      return numText + size.unit;\n    };\n    var parseSize = function (sizeText) {\n      var numPattern = /^\\s*(\\d+(?:\\.\\d+)?)\\s*(|cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)\\s*$/;\n      var match = numPattern.exec(sizeText);\n      if (match !== null) {\n        var value = parseFloat(match[1]);\n        var unit = match[2];\n        return Result.value({\n          value: value,\n          unit: unit\n        });\n      } else {\n        return Result.error(sizeText);\n      }\n    };\n    var convertUnit = function (size, unit) {\n      var inInch = {\n        '': 96,\n        'px': 96,\n        'pt': 72,\n        'cm': 2.54,\n        'pc': 12,\n        'mm': 25.4,\n        'in': 1\n      };\n      var supported = function (u) {\n        return has$2(inInch, u);\n      };\n      if (size.unit === unit) {\n        return Optional.some(size.value);\n      } else if (supported(size.unit) && supported(unit)) {\n        if (inInch[size.unit] === inInch[unit]) {\n          return Optional.some(size.value);\n        } else {\n          return Optional.some(size.value / inInch[size.unit] * inInch[unit]);\n        }\n      } else {\n        return Optional.none();\n      }\n    };\n    var noSizeConversion = function (_input) {\n      return Optional.none();\n    };\n    var ratioSizeConversion = function (scale, unit) {\n      return function (size) {\n        return convertUnit(size, unit).map(function (value) {\n          return {\n            value: value * scale,\n            unit: unit\n          };\n        });\n      };\n    };\n    var makeRatioConverter = function (currentFieldText, otherFieldText) {\n      var cValue = parseSize(currentFieldText).toOptional();\n      var oValue = parseSize(otherFieldText).toOptional();\n      return lift2(cValue, oValue, function (cSize, oSize) {\n        return convertUnit(cSize, oSize.unit).map(function (val) {\n          return oSize.value / val;\n        }).map(function (r) {\n          return ratioSizeConversion(r, oSize.unit);\n        }).getOr(noSizeConversion);\n      }).getOr(noSizeConversion);\n    };\n\n    var renderSizeInput = function (spec, providersBackstage) {\n      var converter = noSizeConversion;\n      var ratioEvent = generate$6('ratio-event');\n      var makeIcon = function (iconName) {\n        return render$3(iconName, {\n          tag: 'span',\n          classes: [\n            'tox-icon',\n            'tox-lock-icon__' + iconName\n          ]\n        }, providersBackstage.icons);\n      };\n      var pLock = FormCoupledInputs.parts.lock({\n        dom: {\n          tag: 'button',\n          classes: [\n            'tox-lock',\n            'tox-button',\n            'tox-button--naked',\n            'tox-button--icon'\n          ],\n          attributes: { title: providersBackstage.translate(spec.label.getOr('Constrain proportions')) }\n        },\n        components: [\n          makeIcon('lock'),\n          makeIcon('unlock')\n        ],\n        buttonBehaviours: derive$1([\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providersBackstage.isDisabled();\n            }\n          }),\n          receivingConfig(),\n          Tabstopping.config({})\n        ])\n      });\n      var formGroup = function (components) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__group']\n          },\n          components: components\n        };\n      };\n      var getFieldPart = function (isField1) {\n        return FormField.parts.field({\n          factory: Input,\n          inputClasses: ['tox-textfield'],\n          inputBehaviours: derive$1([\n            Disabling.config({\n              disabled: function () {\n                return spec.disabled || providersBackstage.isDisabled();\n              }\n            }),\n            receivingConfig(),\n            Tabstopping.config({}),\n            config('size-input-events', [\n              run$1(focusin(), function (component, _simulatedEvent) {\n                emitWith(component, ratioEvent, { isField1: isField1 });\n              }),\n              run$1(change(), function (component, _simulatedEvent) {\n                emitWith(component, formChangeEvent, { name: spec.name });\n              })\n            ])\n          ]),\n          selectOnFocus: false\n        });\n      };\n      var getLabel = function (label) {\n        return {\n          dom: {\n            tag: 'label',\n            classes: ['tox-label'],\n            innerHtml: providersBackstage.translate(label)\n          }\n        };\n      };\n      var widthField = FormCoupledInputs.parts.field1(formGroup([\n        FormField.parts.label(getLabel('Width')),\n        getFieldPart(true)\n      ]));\n      var heightField = FormCoupledInputs.parts.field2(formGroup([\n        FormField.parts.label(getLabel('Height')),\n        getFieldPart(false)\n      ]));\n      return FormCoupledInputs.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-form__controls-h-stack']\n            },\n            components: [\n              widthField,\n              heightField,\n              formGroup([\n                getLabel('&nbsp;'),\n                pLock\n              ])\n            ]\n          }],\n        field1Name: 'width',\n        field2Name: 'height',\n        locked: true,\n        markers: { lockClass: 'tox-locked' },\n        onLockedChange: function (current, other, _lock) {\n          parseSize(Representing.getValue(current)).each(function (size) {\n            converter(size).each(function (newSize) {\n              Representing.setValue(other, formatSize(newSize));\n            });\n          });\n        },\n        coupledFieldBehaviours: derive$1([\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providersBackstage.isDisabled();\n            },\n            onDisabled: function (comp) {\n              FormCoupledInputs.getField1(comp).bind(FormField.getField).each(Disabling.disable);\n              FormCoupledInputs.getField2(comp).bind(FormField.getField).each(Disabling.disable);\n              FormCoupledInputs.getLock(comp).each(Disabling.disable);\n            },\n            onEnabled: function (comp) {\n              FormCoupledInputs.getField1(comp).bind(FormField.getField).each(Disabling.enable);\n              FormCoupledInputs.getField2(comp).bind(FormField.getField).each(Disabling.enable);\n              FormCoupledInputs.getLock(comp).each(Disabling.enable);\n            }\n          }),\n          receivingConfig(),\n          config('size-input-events2', [run$1(ratioEvent, function (component, simulatedEvent) {\n              var isField1 = simulatedEvent.event.isField1;\n              var optCurrent = isField1 ? FormCoupledInputs.getField1(component) : FormCoupledInputs.getField2(component);\n              var optOther = isField1 ? FormCoupledInputs.getField2(component) : FormCoupledInputs.getField1(component);\n              var value1 = optCurrent.map(Representing.getValue).getOr('');\n              var value2 = optOther.map(Representing.getValue).getOr('');\n              converter = makeRatioConverter(value1, value2);\n            })])\n        ])\n      });\n    };\n\n    var undo = constant$1(generate$6('undo'));\n    var redo = constant$1(generate$6('redo'));\n    var zoom = constant$1(generate$6('zoom'));\n    var back = constant$1(generate$6('back'));\n    var apply = constant$1(generate$6('apply'));\n    var swap = constant$1(generate$6('swap'));\n    var transform$1 = constant$1(generate$6('transform'));\n    var tempTransform = constant$1(generate$6('temp-transform'));\n    var transformApply = constant$1(generate$6('transform-apply'));\n    var internal = {\n      undo: undo,\n      redo: redo,\n      zoom: zoom,\n      back: back,\n      apply: apply,\n      swap: swap,\n      transform: transform$1,\n      tempTransform: tempTransform,\n      transformApply: transformApply\n    };\n    var saveState = constant$1('save-state');\n    var disable = constant$1('disable');\n    var enable = constant$1('enable');\n    var external = {\n      formActionEvent: formActionEvent,\n      saveState: saveState,\n      disable: disable,\n      enable: enable\n    };\n\n    var renderEditPanel = function (imagePanel, providersBackstage) {\n      var createButton = function (text, action, disabled, primary) {\n        return record(renderButton({\n          name: text,\n          text: text,\n          disabled: disabled,\n          primary: primary,\n          icon: Optional.none(),\n          borderless: false\n        }, action, providersBackstage));\n      };\n      var createIconButton = function (icon, tooltip, action, disabled) {\n        return record(renderIconButton({\n          name: icon,\n          icon: Optional.some(icon),\n          tooltip: Optional.some(tooltip),\n          disabled: disabled,\n          primary: false,\n          borderless: false\n        }, action, providersBackstage));\n      };\n      var disableAllComponents = function (comps, eventcomp) {\n        comps.map(function (mem) {\n          var component = mem.get(eventcomp);\n          if (component.hasConfigured(Disabling)) {\n            Disabling.disable(component);\n          }\n        });\n      };\n      var enableAllComponents = function (comps, eventcomp) {\n        comps.map(function (mem) {\n          var component = mem.get(eventcomp);\n          if (component.hasConfigured(Disabling)) {\n            Disabling.enable(component);\n          }\n        });\n      };\n      var panelDom = {\n        tag: 'div',\n        classes: [\n          'tox-image-tools__toolbar',\n          'tox-image-tools-edit-panel'\n        ]\n      };\n      var noop$1 = noop;\n      var emit$1 = function (comp, event, data) {\n        emitWith(comp, event, data);\n      };\n      var emitDisable = function (component) {\n        return emit(component, external.disable());\n      };\n      var emitEnable = function (component) {\n        return emit(component, external.enable());\n      };\n      var emitTransform = function (comp, transform) {\n        emitDisable(comp);\n        emit$1(comp, internal.transform(), { transform: transform });\n        emitEnable(comp);\n      };\n      var emitTempTransform = function (comp, transform) {\n        emitDisable(comp);\n        emit$1(comp, internal.tempTransform(), { transform: transform });\n        emitEnable(comp);\n      };\n      var getBackSwap = function (anyInSystem) {\n        return function () {\n          memContainer.getOpt(anyInSystem).each(function (container) {\n            Replacing.set(container, [ButtonPanel]);\n          });\n        };\n      };\n      var emitTransformApply = function (comp, transform) {\n        emitDisable(comp);\n        emit$1(comp, internal.transformApply(), {\n          transform: transform,\n          swap: getBackSwap(comp)\n        });\n        emitEnable(comp);\n      };\n      var createBackButton = function () {\n        return createButton('Back', function (button) {\n          return emit$1(button, internal.back(), { swap: getBackSwap(button) });\n        }, false, false);\n      };\n      var createSpacer = function () {\n        return record({\n          dom: {\n            tag: 'div',\n            classes: ['tox-spacer']\n          },\n          behaviours: derive$1([Disabling.config({})])\n        });\n      };\n      var createApplyButton = function () {\n        return createButton('Apply', function (button) {\n          return emit$1(button, internal.apply(), { swap: getBackSwap(button) });\n        }, true, true);\n      };\n      var makeCropTransform = function () {\n        return function (ir) {\n          var rect = imagePanel.getRect();\n          return crop(ir, rect.x, rect.y, rect.w, rect.h);\n        };\n      };\n      var cropPanelComponents = [\n        createBackButton(),\n        createSpacer(),\n        createButton('Apply', function (button) {\n          var transform = makeCropTransform();\n          emitTransformApply(button, transform);\n          imagePanel.hideCrop();\n        }, false, true)\n      ];\n      var CropPanel = Container.sketch({\n        dom: panelDom,\n        components: cropPanelComponents.map(function (mem) {\n          return mem.asSpec();\n        }),\n        containerBehaviours: derive$1([config('image-tools-crop-buttons-events', [\n            run$1(external.disable(), function (comp, _se) {\n              disableAllComponents(cropPanelComponents, comp);\n            }),\n            run$1(external.enable(), function (comp, _se) {\n              enableAllComponents(cropPanelComponents, comp);\n            })\n          ])])\n      });\n      var memSize = record(renderSizeInput({\n        name: 'size',\n        label: Optional.none(),\n        constrain: true,\n        disabled: false\n      }, providersBackstage));\n      var makeResizeTransform = function (width, height) {\n        return function (ir) {\n          return resize$1(ir, width, height);\n        };\n      };\n      var resizePanelComponents = [\n        createBackButton(),\n        createSpacer(),\n        memSize,\n        createSpacer(),\n        createButton('Apply', function (button) {\n          memSize.getOpt(button).each(function (sizeInput) {\n            var value = Representing.getValue(sizeInput);\n            var width = parseInt(value.width, 10);\n            var height = parseInt(value.height, 10);\n            var transform = makeResizeTransform(width, height);\n            emitTransformApply(button, transform);\n          });\n        }, false, true)\n      ];\n      var ResizePanel = Container.sketch({\n        dom: panelDom,\n        components: resizePanelComponents.map(function (mem) {\n          return mem.asSpec();\n        }),\n        containerBehaviours: derive$1([config('image-tools-resize-buttons-events', [\n            run$1(external.disable(), function (comp, _se) {\n              disableAllComponents(resizePanelComponents, comp);\n            }),\n            run$1(external.enable(), function (comp, _se) {\n              enableAllComponents(resizePanelComponents, comp);\n            })\n          ])])\n      });\n      var makeValueTransform = function (transform, value) {\n        return function (ir) {\n          return transform(ir, value);\n        };\n      };\n      var horizontalFlip = makeValueTransform(flip, 'h');\n      var verticalFlip = makeValueTransform(flip, 'v');\n      var counterclockwiseRotate = makeValueTransform(rotate, -90);\n      var clockwiseRotate = makeValueTransform(rotate, 90);\n      var flipRotateOnAction = function (comp, operation) {\n        emitTempTransform(comp, operation);\n      };\n      var flipRotateComponents = [\n        createBackButton(),\n        createSpacer(),\n        createIconButton('flip-horizontally', 'Flip horizontally', function (button) {\n          flipRotateOnAction(button, horizontalFlip);\n        }, false),\n        createIconButton('flip-vertically', 'Flip vertically', function (button) {\n          flipRotateOnAction(button, verticalFlip);\n        }, false),\n        createIconButton('rotate-left', 'Rotate counterclockwise', function (button) {\n          flipRotateOnAction(button, counterclockwiseRotate);\n        }, false),\n        createIconButton('rotate-right', 'Rotate clockwise', function (button) {\n          flipRotateOnAction(button, clockwiseRotate);\n        }, false),\n        createSpacer(),\n        createApplyButton()\n      ];\n      var FlipRotatePanel = Container.sketch({\n        dom: panelDom,\n        components: flipRotateComponents.map(function (mem) {\n          return mem.asSpec();\n        }),\n        containerBehaviours: derive$1([config('image-tools-fliprotate-buttons-events', [\n            run$1(external.disable(), function (comp, _se) {\n              disableAllComponents(flipRotateComponents, comp);\n            }),\n            run$1(external.enable(), function (comp, _se) {\n              enableAllComponents(flipRotateComponents, comp);\n            })\n          ])])\n      });\n      var makeSlider = function (label, onChoose, min, value, max) {\n        var labelPart = Slider.parts.label({\n          dom: {\n            tag: 'label',\n            classes: ['tox-label'],\n            innerHtml: providersBackstage.translate(label)\n          }\n        });\n        var spectrum = Slider.parts.spectrum({\n          dom: {\n            tag: 'div',\n            classes: ['tox-slider__rail'],\n            attributes: { role: 'presentation' }\n          }\n        });\n        var thumb = Slider.parts.thumb({\n          dom: {\n            tag: 'div',\n            classes: ['tox-slider__handle'],\n            attributes: { role: 'presentation' }\n          }\n        });\n        return record(Slider.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-slider'],\n            attributes: { role: 'presentation' }\n          },\n          model: {\n            mode: 'x',\n            minX: min,\n            maxX: max,\n            getInitialValue: constant$1({ x: value })\n          },\n          components: [\n            labelPart,\n            spectrum,\n            thumb\n          ],\n          sliderBehaviours: derive$1([Focusing.config({})]),\n          onChoose: onChoose\n        }));\n      };\n      var makeVariableSlider = function (label, transform, min, value, max) {\n        var onChoose = function (slider, _thumb, value) {\n          var valTransform = makeValueTransform(transform, value.x / 100);\n          emitTransform(slider, valTransform);\n        };\n        return makeSlider(label, onChoose, min, value, max);\n      };\n      var variableFilterPanelComponents = function (label, transform, min, value, max) {\n        return [\n          createBackButton(),\n          makeVariableSlider(label, transform, min, value, max),\n          createApplyButton()\n        ];\n      };\n      var createVariableFilterPanel = function (label, transform, min, value, max) {\n        var filterPanelComponents = variableFilterPanelComponents(label, transform, min, value, max);\n        return Container.sketch({\n          dom: panelDom,\n          components: filterPanelComponents.map(function (mem) {\n            return mem.asSpec();\n          }),\n          containerBehaviours: derive$1([config('image-tools-filter-panel-buttons-events', [\n              run$1(external.disable(), function (comp, _se) {\n                disableAllComponents(filterPanelComponents, comp);\n              }),\n              run$1(external.enable(), function (comp, _se) {\n                enableAllComponents(filterPanelComponents, comp);\n              })\n            ])])\n        });\n      };\n      var filterPanelComponents = [\n        createBackButton(),\n        createSpacer(),\n        createApplyButton()\n      ];\n      var FilterPanel = Container.sketch({\n        dom: panelDom,\n        components: filterPanelComponents.map(function (mem) {\n          return mem.asSpec();\n        })\n      });\n      var BrightnessPanel = createVariableFilterPanel('Brightness', brightness, -100, 0, 100);\n      var ContrastPanel = createVariableFilterPanel('Contrast', contrast, -100, 0, 100);\n      var GammaPanel = createVariableFilterPanel('Gamma', gamma, -100, 0, 100);\n      var makeColorTransform = function (red, green, blue) {\n        return function (ir) {\n          return colorize(ir, red, green, blue);\n        };\n      };\n      var makeColorSlider = function (label) {\n        var onChoose = function (slider, _thumb, _value) {\n          var redOpt = memRed.getOpt(slider);\n          var blueOpt = memBlue.getOpt(slider);\n          var greenOpt = memGreen.getOpt(slider);\n          redOpt.each(function (red) {\n            blueOpt.each(function (blue) {\n              greenOpt.each(function (green) {\n                var r = Representing.getValue(red).x / 100;\n                var g = Representing.getValue(green).x / 100;\n                var b = Representing.getValue(blue).x / 100;\n                var transform = makeColorTransform(r, g, b);\n                emitTransform(slider, transform);\n              });\n            });\n          });\n        };\n        return makeSlider(label, onChoose, 0, 100, 200);\n      };\n      var memRed = makeColorSlider('R');\n      var memGreen = makeColorSlider('G');\n      var memBlue = makeColorSlider('B');\n      var colorizePanelComponents = [\n        createBackButton(),\n        memRed,\n        memGreen,\n        memBlue,\n        createApplyButton()\n      ];\n      var ColorizePanel = Container.sketch({\n        dom: panelDom,\n        components: colorizePanelComponents.map(function (mem) {\n          return mem.asSpec();\n        })\n      });\n      var getTransformPanelEvent = function (panel, transform, update) {\n        return function (button) {\n          var swap = function () {\n            memContainer.getOpt(button).each(function (container) {\n              Replacing.set(container, [panel]);\n              update(container);\n            });\n          };\n          emit$1(button, internal.swap(), {\n            transform: transform,\n            swap: swap\n          });\n        };\n      };\n      var cropPanelUpdate = function (_anyInSystem) {\n        imagePanel.showCrop();\n      };\n      var resizePanelUpdate = function (anyInSystem) {\n        memSize.getOpt(anyInSystem).each(function (sizeInput) {\n          var measurements = imagePanel.getMeasurements();\n          var width = measurements.width;\n          var height = measurements.height;\n          Representing.setValue(sizeInput, {\n            width: width,\n            height: height\n          });\n        });\n      };\n      var sharpenTransform = Optional.some(sharpen);\n      var invertTransform = Optional.some(invert);\n      var buttonPanelComponents = [\n        createIconButton('crop', 'Crop', getTransformPanelEvent(CropPanel, Optional.none(), cropPanelUpdate), false),\n        createIconButton('resize', 'Resize', getTransformPanelEvent(ResizePanel, Optional.none(), resizePanelUpdate), false),\n        createIconButton('orientation', 'Orientation', getTransformPanelEvent(FlipRotatePanel, Optional.none(), noop$1), false),\n        createIconButton('brightness', 'Brightness', getTransformPanelEvent(BrightnessPanel, Optional.none(), noop$1), false),\n        createIconButton('sharpen', 'Sharpen', getTransformPanelEvent(FilterPanel, sharpenTransform, noop$1), false),\n        createIconButton('contrast', 'Contrast', getTransformPanelEvent(ContrastPanel, Optional.none(), noop$1), false),\n        createIconButton('color-levels', 'Color levels', getTransformPanelEvent(ColorizePanel, Optional.none(), noop$1), false),\n        createIconButton('gamma', 'Gamma', getTransformPanelEvent(GammaPanel, Optional.none(), noop$1), false),\n        createIconButton('invert', 'Invert', getTransformPanelEvent(FilterPanel, invertTransform, noop$1), false)\n      ];\n      var ButtonPanel = Container.sketch({\n        dom: panelDom,\n        components: buttonPanelComponents.map(function (mem) {\n          return mem.asSpec();\n        })\n      });\n      var container = Container.sketch({\n        dom: { tag: 'div' },\n        components: [ButtonPanel],\n        containerBehaviours: derive$1([Replacing.config({})])\n      });\n      var memContainer = record(container);\n      var getApplyButton = function (anyInSystem) {\n        return memContainer.getOpt(anyInSystem).map(function (container) {\n          var panel = container.components()[0];\n          return panel.components()[panel.components().length - 1];\n        });\n      };\n      return {\n        memContainer: memContainer,\n        getApplyButton: getApplyButton\n      };\n    };\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.geom.Rect');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Observable');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var getDocumentSize = function (doc) {\n      var max = Math.max;\n      var documentElement = doc.documentElement;\n      var body = doc.body;\n      var scrollWidth = max(documentElement.scrollWidth, body.scrollWidth);\n      var clientWidth = max(documentElement.clientWidth, body.clientWidth);\n      var offsetWidth = max(documentElement.offsetWidth, body.offsetWidth);\n      var scrollHeight = max(documentElement.scrollHeight, body.scrollHeight);\n      var clientHeight = max(documentElement.clientHeight, body.clientHeight);\n      var offsetHeight = max(documentElement.offsetHeight, body.offsetHeight);\n      return {\n        width: scrollWidth < offsetWidth ? clientWidth : scrollWidth,\n        height: scrollHeight < offsetHeight ? clientHeight : scrollHeight\n      };\n    };\n    var isTouchEvent$1 = function (e) {\n      return isNonNullable(e.changedTouches);\n    };\n    var updateWithTouchData = function (e) {\n      if (isTouchEvent$1(e)) {\n        var keys = 'screenX screenY pageX pageY clientX clientY'.split(' ');\n        for (var i = 0; i < keys.length; i++) {\n          e[keys[i]] = e.changedTouches[0][keys[i]];\n        }\n      }\n    };\n    function DragHelper (id, settings) {\n      var _a, _b, _c;\n      var eventOverlay;\n      var handleEvents = [];\n      var overlayEvents = [];\n      var doc = (_a = settings.document) !== null && _a !== void 0 ? _a : document;\n      var root = (_b = settings.root) !== null && _b !== void 0 ? _b : doc;\n      var sugarDoc = SugarElement.fromDom(doc);\n      var downButton;\n      var startX;\n      var startY;\n      var handleElement = SugarElement.fromDom(root.getElementById((_c = settings.handle) !== null && _c !== void 0 ? _c : id));\n      var start = function (e) {\n        var rawEvent = e.raw;\n        var docSize = getDocumentSize(doc);\n        updateWithTouchData(rawEvent);\n        e.prevent();\n        downButton = rawEvent.button;\n        startX = rawEvent.screenX;\n        startY = rawEvent.screenY;\n        var cursor = get$c(handleElement, 'cursor');\n        eventOverlay = SugarElement.fromTag('div', doc);\n        setAll(eventOverlay, {\n          'position': 'absolute',\n          'top': '0',\n          'left': '0',\n          'width': docSize.width + 'px',\n          'height': docSize.height + 'px',\n          'z-index': 2147483647 + '',\n          'opacity': '0.0001',\n          cursor: cursor\n        });\n        append$2(getBody(sugarDoc), eventOverlay);\n        overlayEvents.push(bind(sugarDoc, 'mousemove', drag), bind(sugarDoc, 'touchmove', drag), bind(sugarDoc, 'mouseup', stop), bind(sugarDoc, 'touchend', stop));\n        settings.start(rawEvent);\n      };\n      var drag = function (e) {\n        var rawEvent = e.raw;\n        updateWithTouchData(rawEvent);\n        if (rawEvent.button !== downButton) {\n          return stop(e);\n        }\n        rawEvent.deltaX = rawEvent.screenX - startX;\n        rawEvent.deltaY = rawEvent.screenY - startY;\n        e.prevent();\n        settings.drag(rawEvent);\n      };\n      var stop = function (e) {\n        updateWithTouchData(e.raw);\n        each$1(overlayEvents, function (e) {\n          return e.unbind();\n        });\n        overlayEvents = [];\n        remove$5(eventOverlay);\n        if (settings.stop) {\n          settings.stop(e.raw);\n        }\n      };\n      var destroy = function () {\n        each$1(overlayEvents.concat(handleEvents), function (e) {\n          return e.unbind();\n        });\n        overlayEvents = [];\n        handleEvents = [];\n        if (isNonNullable(eventOverlay)) {\n          remove$5(eventOverlay);\n        }\n      };\n      handleEvents.push(bind(handleElement, 'mousedown', start), bind(handleElement, 'touchstart', start));\n      return { destroy: destroy };\n    }\n\n    var count = 0;\n    var create$1 = function (currentRect, viewPortRect, clampRect, containerElm, action) {\n      var dragHelpers;\n      var events = [];\n      var prefix = 'tox-';\n      var id = prefix + 'crid-' + count++;\n      var container = SugarElement.fromDom(containerElm);\n      var handles = [\n        {\n          name: 'move',\n          xMul: 0,\n          yMul: 0,\n          deltaX: 1,\n          deltaY: 1,\n          deltaW: 0,\n          deltaH: 0,\n          label: 'Crop Mask'\n        },\n        {\n          name: 'nw',\n          xMul: 0,\n          yMul: 0,\n          deltaX: 1,\n          deltaY: 1,\n          deltaW: -1,\n          deltaH: -1,\n          label: 'Top Left Crop Handle'\n        },\n        {\n          name: 'ne',\n          xMul: 1,\n          yMul: 0,\n          deltaX: 0,\n          deltaY: 1,\n          deltaW: 1,\n          deltaH: -1,\n          label: 'Top Right Crop Handle'\n        },\n        {\n          name: 'sw',\n          xMul: 0,\n          yMul: 1,\n          deltaX: 1,\n          deltaY: 0,\n          deltaW: -1,\n          deltaH: 1,\n          label: 'Bottom Left Crop Handle'\n        },\n        {\n          name: 'se',\n          xMul: 1,\n          yMul: 1,\n          deltaX: 0,\n          deltaY: 0,\n          deltaW: 1,\n          deltaH: 1,\n          label: 'Bottom Right Crop Handle'\n        }\n      ];\n      var blockers = [\n        'top',\n        'right',\n        'bottom',\n        'left'\n      ];\n      var getAbsoluteRect = function (outerRect, relativeRect) {\n        return {\n          x: relativeRect.x + outerRect.x,\n          y: relativeRect.y + outerRect.y,\n          w: relativeRect.w,\n          h: relativeRect.h\n        };\n      };\n      var getRelativeRect = function (outerRect, innerRect) {\n        return {\n          x: innerRect.x - outerRect.x,\n          y: innerRect.y - outerRect.y,\n          w: innerRect.w,\n          h: innerRect.h\n        };\n      };\n      var getInnerRect = function () {\n        return getRelativeRect(clampRect, currentRect);\n      };\n      var moveRect = function (handle, startRect, deltaX, deltaY) {\n        var x = startRect.x + deltaX * handle.deltaX;\n        var y = startRect.y + deltaY * handle.deltaY;\n        var w = Math.max(20, startRect.w + deltaX * handle.deltaW);\n        var h = Math.max(20, startRect.h + deltaY * handle.deltaH);\n        var rect = currentRect = global$4.clamp({\n          x: x,\n          y: y,\n          w: w,\n          h: h\n        }, clampRect, handle.name === 'move');\n        rect = getRelativeRect(clampRect, rect);\n        instance.fire('updateRect', { rect: rect });\n        setInnerRect(rect);\n      };\n      var render = function () {\n        var createDragHelper = function (handle) {\n          var startRect;\n          return DragHelper(id, {\n            document: containerElm.ownerDocument,\n            root: getRootNode(container).dom,\n            handle: id + '-' + handle.name,\n            start: function () {\n              startRect = currentRect;\n            },\n            drag: function (e) {\n              moveRect(handle, startRect, e.deltaX, e.deltaY);\n            }\n          });\n        };\n        var cropContainer = SugarElement.fromTag('div');\n        setAll$1(cropContainer, {\n          id: id,\n          'class': prefix + 'croprect-container',\n          'role': 'grid',\n          'aria-dropeffect': 'execute'\n        });\n        append$2(container, cropContainer);\n        each$1(blockers, function (blocker) {\n          descendant(container, '#' + id).each(function (blockerElm) {\n            var cropBlocker = SugarElement.fromTag('div');\n            setAll$1(cropBlocker, {\n              'id': id + '-' + blocker,\n              'class': prefix + 'croprect-block',\n              'data-mce-bogus': 'all'\n            });\n            set$7(cropBlocker, 'display', 'none');\n            append$2(blockerElm, cropBlocker);\n          });\n        });\n        each$1(handles, function (handle) {\n          descendant(container, '#' + id).each(function (handleElm) {\n            var cropHandle = SugarElement.fromTag('div');\n            setAll$1(cropHandle, {\n              'id': id + '-' + handle.name,\n              'aria-label': handle.label,\n              'aria-grabbed': 'false',\n              'data-mce-bogus': 'all',\n              'role': 'gridcell',\n              'tabindex': '-1',\n              'title': handle.label\n            });\n            add$1(cropHandle, [\n              prefix + 'croprect-handle',\n              prefix + 'croprect-handle-' + handle.name\n            ]);\n            set$7(cropHandle, 'display', 'none');\n            append$2(handleElm, cropHandle);\n          });\n        });\n        dragHelpers = map$2(handles, createDragHelper);\n        repaint(currentRect);\n        var handleFocus = function (e) {\n          set$8(e.target, 'aria-grabbed', e.raw.type === 'focus' ? 'true' : 'false');\n        };\n        var handleKeydown = function (e) {\n          var activeHandle;\n          each$1(handles, function (handle) {\n            if (get$d(e.target, 'id') === id + '-' + handle.name) {\n              activeHandle = handle;\n              return false;\n            }\n          });\n          var moveAndBlock = function (evt, handle, startRect, deltaX, deltaY) {\n            evt.stopPropagation();\n            evt.preventDefault();\n            moveRect(activeHandle, startRect, deltaX, deltaY);\n          };\n          switch (e.raw.keyCode) {\n          case global$2.LEFT:\n            moveAndBlock(e, activeHandle, currentRect, -10, 0);\n            break;\n          case global$2.RIGHT:\n            moveAndBlock(e, activeHandle, currentRect, 10, 0);\n            break;\n          case global$2.UP:\n            moveAndBlock(e, activeHandle, currentRect, 0, -10);\n            break;\n          case global$2.DOWN:\n            moveAndBlock(e, activeHandle, currentRect, 0, 10);\n            break;\n          case global$2.ENTER:\n          case global$2.SPACEBAR:\n            e.prevent();\n            action();\n            break;\n          }\n        };\n        events.push(bind(container, 'focusin', handleFocus), bind(container, 'focusout', handleFocus), bind(container, 'keydown', handleKeydown));\n      };\n      var toggleVisibility = function (state) {\n        var selectors = __spreadArray(__spreadArray([], map$2(handles, function (handle) {\n          return '#' + id + '-' + handle.name;\n        }), true), map$2(blockers, function (blocker) {\n          return '#' + id + '-' + blocker;\n        }), true).join(',');\n        var elems = descendants(container, selectors);\n        if (state) {\n          each$1(elems, function (elm) {\n            return remove$6(elm, 'display');\n          });\n        } else {\n          each$1(elems, function (elm) {\n            return set$7(elm, 'display', 'none');\n          });\n        }\n      };\n      var repaint = function (rect) {\n        var updateElementRect = function (name, newRect) {\n          descendant(container, '#' + id + '-' + name).each(function (elm) {\n            setAll(elm, {\n              left: newRect.x + 'px',\n              top: newRect.y + 'px',\n              width: Math.max(0, newRect.w) + 'px',\n              height: Math.max(0, newRect.h) + 'px'\n            });\n          });\n        };\n        each$1(handles, function (handle) {\n          descendant(container, '#' + id + '-' + handle.name).each(function (elm) {\n            setAll(elm, {\n              left: rect.w * handle.xMul + rect.x + 'px',\n              top: rect.h * handle.yMul + rect.y + 'px'\n            });\n          });\n        });\n        updateElementRect('top', {\n          x: viewPortRect.x,\n          y: viewPortRect.y,\n          w: viewPortRect.w,\n          h: rect.y - viewPortRect.y\n        });\n        updateElementRect('right', {\n          x: rect.x + rect.w,\n          y: rect.y,\n          w: viewPortRect.w - rect.x - rect.w + viewPortRect.x,\n          h: rect.h\n        });\n        updateElementRect('bottom', {\n          x: viewPortRect.x,\n          y: rect.y + rect.h,\n          w: viewPortRect.w,\n          h: viewPortRect.h - rect.y - rect.h + viewPortRect.y\n        });\n        updateElementRect('left', {\n          x: viewPortRect.x,\n          y: rect.y,\n          w: rect.x - viewPortRect.x,\n          h: rect.h\n        });\n        updateElementRect('move', rect);\n      };\n      var setRect = function (rect) {\n        currentRect = rect;\n        repaint(currentRect);\n      };\n      var setViewPortRect = function (rect) {\n        viewPortRect = rect;\n        repaint(currentRect);\n      };\n      var setInnerRect = function (rect) {\n        setRect(getAbsoluteRect(clampRect, rect));\n      };\n      var setClampRect = function (rect) {\n        clampRect = rect;\n        repaint(currentRect);\n      };\n      var destroy = function () {\n        each$1(dragHelpers, function (helper) {\n          return helper.destroy();\n        });\n        dragHelpers = [];\n        each$1(events, function (e) {\n          return e.unbind();\n        });\n        events = [];\n      };\n      render();\n      var instance = __assign(__assign({}, global$3), {\n        toggleVisibility: toggleVisibility,\n        setClampRect: setClampRect,\n        setRect: setRect,\n        getInnerRect: getInnerRect,\n        setInnerRect: setInnerRect,\n        setViewPortRect: setViewPortRect,\n        destroy: destroy\n      });\n      return instance;\n    };\n    var CropRect = { create: create$1 };\n\n    var loadImage = function (image) {\n      return new global$c(function (resolve) {\n        var loaded = function () {\n          image.removeEventListener('load', loaded);\n          resolve(image);\n        };\n        if (image.complete) {\n          resolve(image);\n        } else {\n          image.addEventListener('load', loaded);\n        }\n      });\n    };\n    var renderImagePanel = function (initialUrl) {\n      var memBg = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-image-tools__image-bg'],\n          attributes: { role: 'presentation' }\n        }\n      });\n      var zoomState = Cell(1);\n      var cropRect = api$1();\n      var rectState = Cell({\n        x: 0,\n        y: 0,\n        w: 1,\n        h: 1\n      });\n      var viewRectState = Cell({\n        x: 0,\n        y: 0,\n        w: 1,\n        h: 1\n      });\n      var repaintImg = function (anyInSystem, img) {\n        memContainer.getOpt(anyInSystem).each(function (panel) {\n          var zoom = zoomState.get();\n          var panelW = get$a(panel.element);\n          var panelH = get$b(panel.element);\n          var width = img.dom.naturalWidth * zoom;\n          var height = img.dom.naturalHeight * zoom;\n          var left = Math.max(0, panelW / 2 - width / 2);\n          var top = Math.max(0, panelH / 2 - height / 2);\n          var css = {\n            left: left.toString() + 'px',\n            top: top.toString() + 'px',\n            width: width.toString() + 'px',\n            height: height.toString() + 'px',\n            position: 'absolute'\n          };\n          setAll(img, css);\n          memBg.getOpt(panel).each(function (bg) {\n            setAll(bg.element, css);\n          });\n          cropRect.run(function (cRect) {\n            var rect = rectState.get();\n            cRect.setRect({\n              x: rect.x * zoom + left,\n              y: rect.y * zoom + top,\n              w: rect.w * zoom,\n              h: rect.h * zoom\n            });\n            cRect.setClampRect({\n              x: left,\n              y: top,\n              w: width,\n              h: height\n            });\n            cRect.setViewPortRect({\n              x: 0,\n              y: 0,\n              w: panelW,\n              h: panelH\n            });\n          });\n        });\n      };\n      var zoomFit = function (anyInSystem, img) {\n        memContainer.getOpt(anyInSystem).each(function (panel) {\n          var panelW = get$a(panel.element);\n          var panelH = get$b(panel.element);\n          var width = img.dom.naturalWidth;\n          var height = img.dom.naturalHeight;\n          var zoom = Math.min(panelW / width, panelH / height);\n          if (zoom >= 1) {\n            zoomState.set(1);\n          } else {\n            zoomState.set(zoom);\n          }\n        });\n      };\n      var updateSrc = function (anyInSystem, url) {\n        var img = SugarElement.fromTag('img');\n        set$8(img, 'src', url);\n        return loadImage(img.dom).then(function () {\n          if (anyInSystem.getSystem().isConnected()) {\n            memContainer.getOpt(anyInSystem).map(function (panel) {\n              var aImg = external$2({ element: img });\n              Replacing.replaceAt(panel, 1, Optional.some(aImg));\n              var lastViewRect = viewRectState.get();\n              var viewRect = {\n                x: 0,\n                y: 0,\n                w: img.dom.naturalWidth,\n                h: img.dom.naturalHeight\n              };\n              viewRectState.set(viewRect);\n              var rect = global$4.inflate(viewRect, -20, -20);\n              rectState.set(rect);\n              if (lastViewRect.w !== viewRect.w || lastViewRect.h !== viewRect.h) {\n                zoomFit(panel, img);\n              }\n              repaintImg(panel, img);\n            });\n          }\n        });\n      };\n      var zoom = function (anyInSystem, direction) {\n        var currentZoom = zoomState.get();\n        var newZoom = direction > 0 ? Math.min(2, currentZoom + 0.1) : Math.max(0.1, currentZoom - 0.1);\n        zoomState.set(newZoom);\n        memContainer.getOpt(anyInSystem).each(function (panel) {\n          var img = panel.components()[1].element;\n          repaintImg(panel, img);\n        });\n      };\n      var showCrop = function () {\n        cropRect.run(function (cRect) {\n          cRect.toggleVisibility(true);\n        });\n      };\n      var hideCrop = function () {\n        cropRect.run(function (cRect) {\n          cRect.toggleVisibility(false);\n        });\n      };\n      var getRect = function () {\n        return rectState.get();\n      };\n      var container = Container.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-image-tools__image']\n        },\n        components: [\n          memBg.asSpec(),\n          {\n            dom: {\n              tag: 'img',\n              attributes: { src: initialUrl }\n            }\n          },\n          {\n            dom: { tag: 'div' },\n            behaviours: derive$1([config('image-panel-crop-events', [\n                runOnAttached(function (comp) {\n                  memContainer.getOpt(comp).each(function (container) {\n                    var el = container.element.dom;\n                    var cRect = CropRect.create({\n                      x: 10,\n                      y: 10,\n                      w: 100,\n                      h: 100\n                    }, {\n                      x: 0,\n                      y: 0,\n                      w: 200,\n                      h: 200\n                    }, {\n                      x: 0,\n                      y: 0,\n                      w: 200,\n                      h: 200\n                    }, el, noop);\n                    cRect.toggleVisibility(false);\n                    cRect.on('updateRect', function (e) {\n                      var rect = e.rect;\n                      var zoom = zoomState.get();\n                      var newRect = {\n                        x: Math.round(rect.x / zoom),\n                        y: Math.round(rect.y / zoom),\n                        w: Math.round(rect.w / zoom),\n                        h: Math.round(rect.h / zoom)\n                      };\n                      rectState.set(newRect);\n                    });\n                    cropRect.set(cRect);\n                  });\n                }),\n                runOnDetached(function () {\n                  cropRect.clear();\n                })\n              ])])\n          }\n        ],\n        containerBehaviours: derive$1([\n          Replacing.config({}),\n          config('image-panel-events', [runOnAttached(function (comp) {\n              updateSrc(comp, initialUrl);\n            })])\n        ])\n      });\n      var memContainer = record(container);\n      var getMeasurements = function () {\n        var viewRect = viewRectState.get();\n        return {\n          width: viewRect.w,\n          height: viewRect.h\n        };\n      };\n      return {\n        memContainer: memContainer,\n        updateSrc: updateSrc,\n        zoom: zoom,\n        showCrop: showCrop,\n        hideCrop: hideCrop,\n        getRect: getRect,\n        getMeasurements: getMeasurements\n      };\n    };\n\n    var createButton = function (innerHtml, icon, disabled, action, providersBackstage) {\n      return renderIconButton({\n        name: innerHtml,\n        icon: Optional.some(icon),\n        disabled: disabled,\n        tooltip: Optional.some(innerHtml),\n        primary: false,\n        borderless: false\n      }, action, providersBackstage);\n    };\n    var setButtonEnabled = function (button, enabled) {\n      if (enabled) {\n        Disabling.enable(button);\n      } else {\n        Disabling.disable(button);\n      }\n    };\n    var renderSideBar = function (providersBackstage) {\n      var updateButtonUndoStates = function (anyInSystem, undoEnabled, redoEnabled) {\n        memUndo.getOpt(anyInSystem).each(function (undo) {\n          setButtonEnabled(undo, undoEnabled);\n        });\n        memRedo.getOpt(anyInSystem).each(function (redo) {\n          setButtonEnabled(redo, redoEnabled);\n        });\n      };\n      var memUndo = record(createButton('Undo', 'undo', true, function (button) {\n        emitWith(button, internal.undo(), { direction: 1 });\n      }, providersBackstage));\n      var memRedo = record(createButton('Redo', 'redo', true, function (button) {\n        emitWith(button, internal.redo(), { direction: 1 });\n      }, providersBackstage));\n      var container = Container.sketch({\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-image-tools__toolbar',\n            'tox-image-tools__sidebar'\n          ]\n        },\n        components: [\n          memUndo.asSpec(),\n          memRedo.asSpec(),\n          createButton('Zoom in', 'zoom-in', false, function (button) {\n            emitWith(button, internal.zoom(), { direction: 1 });\n          }, providersBackstage),\n          createButton('Zoom out', 'zoom-out', false, function (button) {\n            emitWith(button, internal.zoom(), { direction: -1 });\n          }, providersBackstage)\n        ]\n      });\n      return {\n        container: container,\n        updateButtonUndoStates: updateButtonUndoStates\n      };\n    };\n\n    function UndoStack () {\n      var data = [];\n      var index = -1;\n      var add = function (state) {\n        var removed = data.splice(++index);\n        data.push(state);\n        return {\n          state: state,\n          removed: removed\n        };\n      };\n      var undo = function () {\n        if (canUndo()) {\n          return data[--index];\n        }\n      };\n      var redo = function () {\n        if (canRedo()) {\n          return data[++index];\n        }\n      };\n      var canUndo = function () {\n        return index > 0;\n      };\n      var canRedo = function () {\n        return index !== -1 && index < data.length - 1;\n      };\n      return {\n        data: data,\n        add: add,\n        undo: undo,\n        redo: redo,\n        canUndo: canUndo,\n        canRedo: canRedo\n      };\n    }\n\n    var makeState = function (initialState) {\n      var blobState = Cell(initialState);\n      var tempState = value$1();\n      var undoStack = UndoStack();\n      undoStack.add(initialState);\n      var getBlobState = function () {\n        return blobState.get();\n      };\n      var setBlobState = function (state) {\n        blobState.set(state);\n      };\n      var getTempState = function () {\n        return tempState.get().getOrThunk(blobState.get);\n      };\n      var updateTempState = function (blob) {\n        var newTempState = createState(blob);\n        destroyTempState();\n        tempState.set(newTempState);\n        return newTempState.url;\n      };\n      var createState = function (blob) {\n        return {\n          blob: blob,\n          url: URL.createObjectURL(blob)\n        };\n      };\n      var destroyState = function (state) {\n        URL.revokeObjectURL(state.url);\n      };\n      var destroyStates = function (states) {\n        global$5.each(states, destroyState);\n      };\n      var destroyTempState = function () {\n        tempState.on(destroyState);\n        tempState.clear();\n      };\n      var addBlobState = function (blob) {\n        var newState = createState(blob);\n        setBlobState(newState);\n        var removed = undoStack.add(newState).removed;\n        destroyStates(removed);\n        return newState.url;\n      };\n      var addTempState = function (blob) {\n        var newState = createState(blob);\n        tempState.set(newState);\n        return newState.url;\n      };\n      var applyTempState = function (postApply) {\n        return tempState.get().fold(noop, function (temp) {\n          addBlobState(temp.blob);\n          postApply();\n        });\n      };\n      var undo = function () {\n        var currentState = undoStack.undo();\n        setBlobState(currentState);\n        return currentState.url;\n      };\n      var redo = function () {\n        var currentState = undoStack.redo();\n        setBlobState(currentState);\n        return currentState.url;\n      };\n      var getHistoryStates = function () {\n        var undoEnabled = undoStack.canUndo();\n        var redoEnabled = undoStack.canRedo();\n        return {\n          undoEnabled: undoEnabled,\n          redoEnabled: redoEnabled\n        };\n      };\n      return {\n        getBlobState: getBlobState,\n        setBlobState: setBlobState,\n        addBlobState: addBlobState,\n        getTempState: getTempState,\n        updateTempState: updateTempState,\n        addTempState: addTempState,\n        applyTempState: applyTempState,\n        destroyTempState: destroyTempState,\n        undo: undo,\n        redo: redo,\n        getHistoryStates: getHistoryStates\n      };\n    };\n\n    var renderImageTools = function (detail, providersBackstage) {\n      var state = makeState(detail.currentState);\n      var zoom = function (anyInSystem, simulatedEvent) {\n        var direction = simulatedEvent.event.direction;\n        imagePanel.zoom(anyInSystem, direction);\n      };\n      var updateButtonUndoStates = function (anyInSystem) {\n        var historyStates = state.getHistoryStates();\n        sideBar.updateButtonUndoStates(anyInSystem, historyStates.undoEnabled, historyStates.redoEnabled);\n        emitWith(anyInSystem, external.formActionEvent, {\n          name: external.saveState(),\n          value: historyStates.undoEnabled\n        });\n      };\n      var disableUndoRedo = function (anyInSystem) {\n        sideBar.updateButtonUndoStates(anyInSystem, false, false);\n      };\n      var undo = function (anyInSystem, _simulatedEvent) {\n        var url = state.undo();\n        updateSrc(anyInSystem, url).then(function (_oImg) {\n          unblock(anyInSystem);\n          updateButtonUndoStates(anyInSystem);\n        });\n      };\n      var redo = function (anyInSystem, _simulatedEvent) {\n        var url = state.redo();\n        updateSrc(anyInSystem, url).then(function (_oImg) {\n          unblock(anyInSystem);\n          updateButtonUndoStates(anyInSystem);\n        });\n      };\n      var imageResultToBlob = function (ir) {\n        return ir.toBlob();\n      };\n      var block = function (anyInSystem) {\n        emitWith(anyInSystem, external.formActionEvent, {\n          name: external.disable(),\n          value: {}\n        });\n      };\n      var unblock = function (anyInSystem) {\n        editPanel.getApplyButton(anyInSystem).each(function (applyButton) {\n          Disabling.enable(applyButton);\n        });\n        emitWith(anyInSystem, external.formActionEvent, {\n          name: external.enable(),\n          value: {}\n        });\n      };\n      var updateSrc = function (anyInSystem, src) {\n        block(anyInSystem);\n        return imagePanel.updateSrc(anyInSystem, src);\n      };\n      var blobManipulate = function (anyInSystem, blob, filter, action, swap) {\n        block(anyInSystem);\n        blobToImageResult(blob).then(filter).then(imageResultToBlob).then(action).then(function (url) {\n          return updateSrc(anyInSystem, url);\n        }).then(function () {\n          updateButtonUndoStates(anyInSystem);\n          swap();\n          unblock(anyInSystem);\n        }).catch(function (err) {\n          console.log(err);\n          if (anyInSystem.getSystem().isConnected()) {\n            unblock(anyInSystem);\n          }\n        });\n      };\n      var manipulate = function (anyInSystem, filter, swap) {\n        var blob = state.getBlobState().blob;\n        var action = function (blob) {\n          return state.updateTempState(blob);\n        };\n        blobManipulate(anyInSystem, blob, filter, action, swap);\n      };\n      var tempManipulate = function (anyInSystem, filter) {\n        var blob = state.getTempState().blob;\n        var action = function (blob) {\n          return state.addTempState(blob);\n        };\n        blobManipulate(anyInSystem, blob, filter, action, noop);\n      };\n      var manipulateApply = function (anyInSystem, filter, swap) {\n        var blob = state.getBlobState().blob;\n        var action = function (blob) {\n          var url = state.addBlobState(blob);\n          destroyTempState(anyInSystem);\n          return url;\n        };\n        blobManipulate(anyInSystem, blob, filter, action, swap);\n      };\n      var apply = function (anyInSystem, simulatedEvent) {\n        var postApply = function () {\n          destroyTempState(anyInSystem);\n          var swap = simulatedEvent.event.swap;\n          swap();\n        };\n        state.applyTempState(postApply);\n      };\n      var destroyTempState = function (anyInSystem) {\n        var currentUrl = state.getBlobState().url;\n        state.destroyTempState();\n        updateButtonUndoStates(anyInSystem);\n        return currentUrl;\n      };\n      var cancel = function (anyInSystem) {\n        var currentUrl = destroyTempState(anyInSystem);\n        updateSrc(anyInSystem, currentUrl).then(function (_oImg) {\n          unblock(anyInSystem);\n        });\n      };\n      var back = function (anyInSystem, simulatedEvent) {\n        cancel(anyInSystem);\n        var swap = simulatedEvent.event.swap;\n        swap();\n        imagePanel.hideCrop();\n      };\n      var transform = function (anyInSystem, simulatedEvent) {\n        return manipulate(anyInSystem, simulatedEvent.event.transform, noop);\n      };\n      var tempTransform = function (anyInSystem, simulatedEvent) {\n        return tempManipulate(anyInSystem, simulatedEvent.event.transform);\n      };\n      var transformApply = function (anyInSystem, simulatedEvent) {\n        return manipulateApply(anyInSystem, simulatedEvent.event.transform, simulatedEvent.event.swap);\n      };\n      var imagePanel = renderImagePanel(detail.currentState.url);\n      var sideBar = renderSideBar(providersBackstage);\n      var editPanel = renderEditPanel(imagePanel, providersBackstage);\n      var swap = function (anyInSystem, simulatedEvent) {\n        disableUndoRedo(anyInSystem);\n        var transform = simulatedEvent.event.transform;\n        var swap = simulatedEvent.event.swap;\n        transform.fold(function () {\n          swap();\n        }, function (transform) {\n          manipulate(anyInSystem, transform, swap);\n        });\n      };\n      return {\n        dom: {\n          tag: 'div',\n          attributes: { role: 'presentation' }\n        },\n        components: [\n          editPanel.memContainer.asSpec(),\n          imagePanel.memContainer.asSpec(),\n          sideBar.container\n        ],\n        behaviours: derive$1([\n          Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function () {\n                return state.getBlobState();\n              }\n            }\n          }),\n          config('image-tools-events', [\n            run$1(internal.undo(), undo),\n            run$1(internal.redo(), redo),\n            run$1(internal.zoom(), zoom),\n            run$1(internal.back(), back),\n            run$1(internal.apply(), apply),\n            run$1(internal.transform(), transform),\n            run$1(internal.tempTransform(), tempTransform),\n            run$1(internal.transformApply(), transformApply),\n            run$1(internal.swap(), swap)\n          ]),\n          ComposingConfigs.self()\n        ])\n      };\n    };\n\n    var renderLabel = function (spec, backstageShared) {\n      var label = {\n        dom: {\n          tag: 'label',\n          innerHtml: backstageShared.providers.translate(spec.label),\n          classes: ['tox-label']\n        }\n      };\n      var comps = map$2(spec.items, backstageShared.interpreter);\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: [label].concat(comps),\n        behaviours: derive$1([\n          ComposingConfigs.self(),\n          Replacing.config({}),\n          RepresentingConfigs.domHtml(Optional.none()),\n          Keying.config({ mode: 'acyclic' })\n        ])\n      };\n    };\n\n    var isSingleListItem = function (item) {\n      return !has$2(item, 'items');\n    };\n    var dataAttribute = 'data-value';\n    var fetchItems = function (dropdownComp, name, items, selectedValue) {\n      return map$2(items, function (item) {\n        if (!isSingleListItem(item)) {\n          return {\n            type: 'nestedmenuitem',\n            text: item.text,\n            getSubmenuItems: function () {\n              return fetchItems(dropdownComp, name, item.items, selectedValue);\n            }\n          };\n        } else {\n          return {\n            type: 'togglemenuitem',\n            text: item.text,\n            value: item.value,\n            active: item.value === selectedValue,\n            onAction: function () {\n              Representing.setValue(dropdownComp, item.value);\n              emitWith(dropdownComp, formChangeEvent, { name: name });\n              Focusing.focus(dropdownComp);\n            }\n          };\n        }\n      });\n    };\n    var findItemByValue = function (items, value) {\n      return findMap(items, function (item) {\n        if (!isSingleListItem(item)) {\n          return findItemByValue(item.items, value);\n        } else {\n          return someIf(item.value === value, item);\n        }\n      });\n    };\n    var renderListBox = function (spec, backstage) {\n      var providersBackstage = backstage.shared.providers;\n      var initialItem = head(spec.items).filter(isSingleListItem);\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var pField = FormField.parts.field({\n        dom: {},\n        factory: {\n          sketch: function (sketchSpec) {\n            return renderCommonDropdown({\n              uid: sketchSpec.uid,\n              text: initialItem.map(function (item) {\n                return item.text;\n              }),\n              icon: Optional.none(),\n              tooltip: spec.label,\n              role: Optional.none(),\n              fetch: function (comp, callback) {\n                var items = fetchItems(comp, spec.name, spec.items, Representing.getValue(comp));\n                callback(build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, false));\n              },\n              onSetup: constant$1(noop),\n              getApi: constant$1({}),\n              columns: 1,\n              presets: 'normal',\n              classes: [],\n              dropdownBehaviours: [\n                Tabstopping.config({}),\n                Representing.config({\n                  store: {\n                    mode: 'manual',\n                    initialValue: initialItem.map(function (item) {\n                      return item.value;\n                    }).getOr(''),\n                    getValue: function (comp) {\n                      return get$d(comp.element, dataAttribute);\n                    },\n                    setValue: function (comp, data) {\n                      findItemByValue(spec.items, data).each(function (item) {\n                        set$8(comp.element, dataAttribute, item.value);\n                        emitWith(comp, updateMenuText, { text: item.text });\n                      });\n                    }\n                  }\n                })\n              ]\n            }, 'tox-listbox', backstage.shared);\n          }\n        }\n      });\n      var listBoxWrap = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-listboxfield']\n        },\n        components: [pField]\n      };\n      return FormField.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: flatten([\n          pLabel.toArray(),\n          [listBoxWrap]\n        ]),\n        fieldBehaviours: derive$1([Disabling.config({\n            disabled: constant$1(spec.disabled),\n            onDisabled: function (comp) {\n              FormField.getField(comp).each(Disabling.disable);\n            },\n            onEnabled: function (comp) {\n              FormField.getField(comp).each(Disabling.enable);\n            }\n          })])\n      });\n    };\n\n    var renderPanel = function (spec, backstage) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: spec.classes\n        },\n        components: map$2(spec.items, backstage.shared.interpreter)\n      };\n    };\n\n    var factory$e = function (detail, _spec) {\n      var options = map$2(detail.options, function (option) {\n        return {\n          dom: {\n            tag: 'option',\n            value: option.value,\n            innerHtml: option.text\n          }\n        };\n      });\n      var initialValues = detail.data.map(function (v) {\n        return wrap$1('initialValue', v);\n      }).getOr({});\n      return {\n        uid: detail.uid,\n        dom: {\n          tag: 'select',\n          classes: detail.selectClasses,\n          attributes: detail.selectAttributes\n        },\n        components: options,\n        behaviours: augment(detail.selectBehaviours, [\n          Focusing.config({}),\n          Representing.config({\n            store: __assign({\n              mode: 'manual',\n              getValue: function (select) {\n                return get$5(select.element);\n              },\n              setValue: function (select, newValue) {\n                var found = find$5(detail.options, function (opt) {\n                  return opt.value === newValue;\n                });\n                if (found.isSome()) {\n                  set$4(select.element, newValue);\n                }\n              }\n            }, initialValues)\n          })\n        ])\n      };\n    };\n    var HtmlSelect = single({\n      name: 'HtmlSelect',\n      configFields: [\n        required$1('options'),\n        field('selectBehaviours', [\n          Focusing,\n          Representing\n        ]),\n        defaulted('selectClasses', []),\n        defaulted('selectAttributes', {}),\n        option('data')\n      ],\n      factory: factory$e\n    });\n\n    var renderSelectBox = function (spec, providersBackstage) {\n      var translatedOptions = map$2(spec.items, function (item) {\n        return {\n          text: providersBackstage.translate(item.text),\n          value: item.value\n        };\n      });\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var pField = FormField.parts.field({\n        dom: {},\n        selectAttributes: { size: spec.size },\n        options: translatedOptions,\n        factory: HtmlSelect,\n        selectBehaviours: derive$1([\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providersBackstage.isDisabled();\n            }\n          }),\n          Tabstopping.config({}),\n          config('selectbox-change', [run$1(change(), function (component, _) {\n              emitWith(component, formChangeEvent, { name: spec.name });\n            })])\n        ])\n      });\n      var chevron = spec.size > 1 ? Optional.none() : Optional.some(render$3('chevron-down', {\n        tag: 'div',\n        classes: ['tox-selectfield__icon-js']\n      }, providersBackstage.icons));\n      var selectWrap = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-selectfield']\n        },\n        components: flatten([\n          [pField],\n          chevron.toArray()\n        ])\n      };\n      return FormField.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: flatten([\n          pLabel.toArray(),\n          [selectWrap]\n        ]),\n        fieldBehaviours: derive$1([\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providersBackstage.isDisabled();\n            },\n            onDisabled: function (comp) {\n              FormField.getField(comp).each(Disabling.disable);\n            },\n            onEnabled: function (comp) {\n              FormField.getField(comp).each(Disabling.enable);\n            }\n          }),\n          receivingConfig()\n        ])\n      });\n    };\n\n    var renderTable = function (spec, providersBackstage) {\n      var renderTh = function (text) {\n        return {\n          dom: {\n            tag: 'th',\n            innerHtml: providersBackstage.translate(text)\n          }\n        };\n      };\n      var renderHeader = function (header) {\n        return {\n          dom: { tag: 'thead' },\n          components: [{\n              dom: { tag: 'tr' },\n              components: map$2(header, renderTh)\n            }]\n        };\n      };\n      var renderTd = function (text) {\n        return {\n          dom: {\n            tag: 'td',\n            innerHtml: providersBackstage.translate(text)\n          }\n        };\n      };\n      var renderTr = function (row) {\n        return {\n          dom: { tag: 'tr' },\n          components: map$2(row, renderTd)\n        };\n      };\n      var renderRows = function (rows) {\n        return {\n          dom: { tag: 'tbody' },\n          components: map$2(rows, renderTr)\n        };\n      };\n      return {\n        dom: {\n          tag: 'table',\n          classes: ['tox-dialog__table']\n        },\n        components: [\n          renderHeader(spec.header),\n          renderRows(spec.cells)\n        ],\n        behaviours: derive$1([\n          Tabstopping.config({}),\n          Focusing.config({})\n        ])\n      };\n    };\n\n    var renderTextField = function (spec, providersBackstage) {\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var baseInputBehaviours = [\n        Disabling.config({\n          disabled: function () {\n            return spec.disabled || providersBackstage.isDisabled();\n          }\n        }),\n        receivingConfig(),\n        Keying.config({\n          mode: 'execution',\n          useEnter: spec.multiline !== true,\n          useControlEnter: spec.multiline === true,\n          execute: function (comp) {\n            emit(comp, formSubmitEvent);\n            return Optional.some(true);\n          }\n        }),\n        config('textfield-change', [\n          run$1(input(), function (component, _) {\n            emitWith(component, formChangeEvent, { name: spec.name });\n          }),\n          run$1(postPaste(), function (component, _) {\n            emitWith(component, formChangeEvent, { name: spec.name });\n          })\n        ]),\n        Tabstopping.config({})\n      ];\n      var validatingBehaviours = spec.validation.map(function (vl) {\n        return Invalidating.config({\n          getRoot: function (input) {\n            return parent(input.element);\n          },\n          invalidClass: 'tox-invalid',\n          validator: {\n            validate: function (input) {\n              var v = Representing.getValue(input);\n              var result = vl.validator(v);\n              return Future.pure(result === true ? Result.value(v) : Result.error(result));\n            },\n            validateOnLoad: vl.validateOnLoad\n          }\n        });\n      }).toArray();\n      var placeholder = spec.placeholder.fold(constant$1({}), function (p) {\n        return { placeholder: providersBackstage.translate(p) };\n      });\n      var inputMode = spec.inputMode.fold(constant$1({}), function (mode) {\n        return { inputmode: mode };\n      });\n      var inputAttributes = __assign(__assign({}, placeholder), inputMode);\n      var pField = FormField.parts.field({\n        tag: spec.multiline === true ? 'textarea' : 'input',\n        inputAttributes: inputAttributes,\n        inputClasses: [spec.classname],\n        inputBehaviours: derive$1(flatten([\n          baseInputBehaviours,\n          validatingBehaviours\n        ])),\n        selectOnFocus: false,\n        factory: Input\n      });\n      var extraClasses = spec.flex ? ['tox-form__group--stretched'] : [];\n      var extraClasses2 = extraClasses.concat(spec.maximized ? ['tox-form-group--maximize'] : []);\n      var extraBehaviours = [\n        Disabling.config({\n          disabled: function () {\n            return spec.disabled || providersBackstage.isDisabled();\n          },\n          onDisabled: function (comp) {\n            FormField.getField(comp).each(Disabling.disable);\n          },\n          onEnabled: function (comp) {\n            FormField.getField(comp).each(Disabling.enable);\n          }\n        }),\n        receivingConfig()\n      ];\n      return renderFormFieldWith(pLabel, pField, extraClasses2, extraBehaviours);\n    };\n    var renderInput = function (spec, providersBackstage) {\n      return renderTextField({\n        name: spec.name,\n        multiline: false,\n        label: spec.label,\n        inputMode: spec.inputMode,\n        placeholder: spec.placeholder,\n        flex: false,\n        disabled: spec.disabled,\n        classname: 'tox-textfield',\n        validation: Optional.none(),\n        maximized: spec.maximized\n      }, providersBackstage);\n    };\n    var renderTextarea = function (spec, providersBackstage) {\n      return renderTextField({\n        name: spec.name,\n        multiline: true,\n        label: spec.label,\n        inputMode: Optional.none(),\n        placeholder: spec.placeholder,\n        flex: true,\n        disabled: spec.disabled,\n        classname: 'tox-textarea',\n        validation: Optional.none(),\n        maximized: spec.maximized\n      }, providersBackstage);\n    };\n\n    var events$6 = function (streamConfig, streamState) {\n      var streams = streamConfig.stream.streams;\n      var processor = streams.setup(streamConfig, streamState);\n      return derive$2([\n        run$1(streamConfig.event, processor),\n        runOnDetached(function () {\n          return streamState.cancel();\n        })\n      ].concat(streamConfig.cancelEvent.map(function (e) {\n        return [run$1(e, function () {\n            return streamState.cancel();\n          })];\n      }).getOr([])));\n    };\n\n    var ActiveStreaming = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$6\n    });\n\n    var throttle = function (_config) {\n      var state = Cell(null);\n      var readState = function () {\n        return { timer: state.get() !== null ? 'set' : 'unset' };\n      };\n      var setTimer = function (t) {\n        state.set(t);\n      };\n      var cancel = function () {\n        var t = state.get();\n        if (t !== null) {\n          t.cancel();\n        }\n      };\n      return nu$8({\n        readState: readState,\n        setTimer: setTimer,\n        cancel: cancel\n      });\n    };\n    var init$9 = function (spec) {\n      return spec.stream.streams.state(spec);\n    };\n\n    var StreamingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        throttle: throttle,\n        init: init$9\n    });\n\n    var setup$c = function (streamInfo, streamState) {\n      var sInfo = streamInfo.stream;\n      var throttler = last(streamInfo.onStream, sInfo.delay);\n      streamState.setTimer(throttler);\n      return function (component, simulatedEvent) {\n        throttler.throttle(component, simulatedEvent);\n        if (sInfo.stopEvent) {\n          simulatedEvent.stop();\n        }\n      };\n    };\n    var StreamingSchema = [\n      requiredOf('stream', choose$1('mode', {\n        throttle: [\n          required$1('delay'),\n          defaulted('stopEvent', true),\n          output$1('streams', {\n            setup: setup$c,\n            state: throttle\n          })\n        ]\n      })),\n      defaulted('event', 'input'),\n      option('cancelEvent'),\n      onStrictHandler('onStream')\n    ];\n\n    var Streaming = create$7({\n      fields: StreamingSchema,\n      name: 'streaming',\n      active: ActiveStreaming,\n      state: StreamingState\n    });\n\n    var setValueFromItem = function (model, input, item) {\n      var itemData = Representing.getValue(item);\n      Representing.setValue(input, itemData);\n      setCursorAtEnd(input);\n    };\n    var setSelectionOn = function (input, f) {\n      var el = input.element;\n      var value = get$5(el);\n      var node = el.dom;\n      if (get$d(el, 'type') !== 'number') {\n        f(node, value);\n      }\n    };\n    var setCursorAtEnd = function (input) {\n      setSelectionOn(input, function (node, value) {\n        return node.setSelectionRange(value.length, value.length);\n      });\n    };\n    var setSelectionToEnd = function (input, startOffset) {\n      setSelectionOn(input, function (node, value) {\n        return node.setSelectionRange(startOffset, value.length);\n      });\n    };\n    var attemptSelectOver = function (model, input, item) {\n      if (!model.selectsOver) {\n        return Optional.none();\n      } else {\n        var currentValue = Representing.getValue(input);\n        var inputDisplay_1 = model.getDisplayText(currentValue);\n        var itemValue = Representing.getValue(item);\n        var itemDisplay = model.getDisplayText(itemValue);\n        return itemDisplay.indexOf(inputDisplay_1) === 0 ? Optional.some(function () {\n          setValueFromItem(model, input, item);\n          setSelectionToEnd(input, inputDisplay_1.length);\n        }) : Optional.none();\n      }\n    };\n\n    var itemExecute = constant$1('alloy.typeahead.itemexecute');\n\n    var make$3 = function (detail, components, spec, externals) {\n      var navigateList = function (comp, simulatedEvent, highlighter) {\n        detail.previewing.set(false);\n        var sandbox = Coupling.getCoupled(comp, 'sandbox');\n        if (Sandboxing.isOpen(sandbox)) {\n          Composing.getCurrent(sandbox).each(function (menu) {\n            Highlighting.getHighlighted(menu).fold(function () {\n              highlighter(menu);\n            }, function () {\n              dispatchEvent(sandbox, menu.element, 'keydown', simulatedEvent);\n            });\n          });\n        } else {\n          var onOpenSync = function (sandbox) {\n            Composing.getCurrent(sandbox).each(highlighter);\n          };\n          open(detail, mapFetch(comp), comp, sandbox, externals, onOpenSync, HighlightOnOpen.HighlightFirst).get(noop);\n        }\n      };\n      var focusBehaviours$1 = focusBehaviours(detail);\n      var mapFetch = function (comp) {\n        return function (tdata) {\n          return tdata.map(function (data) {\n            var menus = values(data.menus);\n            var items = bind$3(menus, function (menu) {\n              return filter$2(menu.items, function (item) {\n                return item.type === 'item';\n              });\n            });\n            var repState = Representing.getState(comp);\n            repState.update(map$2(items, function (item) {\n              return item.data;\n            }));\n            return data;\n          });\n        };\n      };\n      var behaviours = [\n        Focusing.config({}),\n        Representing.config({\n          onSetValue: detail.onSetValue,\n          store: __assign({\n            mode: 'dataset',\n            getDataKey: function (comp) {\n              return get$5(comp.element);\n            },\n            getFallbackEntry: function (itemString) {\n              return {\n                value: itemString,\n                meta: {}\n              };\n            },\n            setValue: function (comp, data) {\n              set$4(comp.element, detail.model.getDisplayText(data));\n            }\n          }, detail.initialData.map(function (d) {\n            return wrap$1('initialValue', d);\n          }).getOr({}))\n        }),\n        Streaming.config({\n          stream: {\n            mode: 'throttle',\n            delay: detail.responseTime,\n            stopEvent: false\n          },\n          onStream: function (component, _simulatedEvent) {\n            var sandbox = Coupling.getCoupled(component, 'sandbox');\n            var focusInInput = Focusing.isFocused(component);\n            if (focusInInput) {\n              if (get$5(component.element).length >= detail.minChars) {\n                var previousValue_1 = Composing.getCurrent(sandbox).bind(function (menu) {\n                  return Highlighting.getHighlighted(menu).map(Representing.getValue);\n                });\n                detail.previewing.set(true);\n                var onOpenSync = function (_sandbox) {\n                  Composing.getCurrent(sandbox).each(function (menu) {\n                    previousValue_1.fold(function () {\n                      if (detail.model.selectsOver) {\n                        Highlighting.highlightFirst(menu);\n                      }\n                    }, function (pv) {\n                      Highlighting.highlightBy(menu, function (item) {\n                        var itemData = Representing.getValue(item);\n                        return itemData.value === pv.value;\n                      });\n                      Highlighting.getHighlighted(menu).orThunk(function () {\n                        Highlighting.highlightFirst(menu);\n                        return Optional.none();\n                      });\n                    });\n                  });\n                };\n                open(detail, mapFetch(component), component, sandbox, externals, onOpenSync, HighlightOnOpen.HighlightFirst).get(noop);\n              }\n            }\n          },\n          cancelEvent: typeaheadCancel()\n        }),\n        Keying.config({\n          mode: 'special',\n          onDown: function (comp, simulatedEvent) {\n            navigateList(comp, simulatedEvent, Highlighting.highlightFirst);\n            return Optional.some(true);\n          },\n          onEscape: function (comp) {\n            var sandbox = Coupling.getCoupled(comp, 'sandbox');\n            if (Sandboxing.isOpen(sandbox)) {\n              Sandboxing.close(sandbox);\n              return Optional.some(true);\n            }\n            return Optional.none();\n          },\n          onUp: function (comp, simulatedEvent) {\n            navigateList(comp, simulatedEvent, Highlighting.highlightLast);\n            return Optional.some(true);\n          },\n          onEnter: function (comp) {\n            var sandbox = Coupling.getCoupled(comp, 'sandbox');\n            var sandboxIsOpen = Sandboxing.isOpen(sandbox);\n            if (sandboxIsOpen && !detail.previewing.get()) {\n              return Composing.getCurrent(sandbox).bind(function (menu) {\n                return Highlighting.getHighlighted(menu);\n              }).map(function (item) {\n                emitWith(comp, itemExecute(), { item: item });\n                return true;\n              });\n            } else {\n              var currentValue = Representing.getValue(comp);\n              emit(comp, typeaheadCancel());\n              detail.onExecute(sandbox, comp, currentValue);\n              if (sandboxIsOpen) {\n                Sandboxing.close(sandbox);\n              }\n              return Optional.some(true);\n            }\n          }\n        }),\n        Toggling.config({\n          toggleClass: detail.markers.openClass,\n          aria: { mode: 'expanded' }\n        }),\n        Coupling.config({\n          others: {\n            sandbox: function (hotspot) {\n              return makeSandbox$1(detail, hotspot, {\n                onOpen: function () {\n                  return Toggling.on(hotspot);\n                },\n                onClose: function () {\n                  return Toggling.off(hotspot);\n                }\n              });\n            }\n          }\n        }),\n        config('typeaheadevents', [\n          runOnExecute$1(function (comp) {\n            var onOpenSync = noop;\n            togglePopup(detail, mapFetch(comp), comp, externals, onOpenSync, HighlightOnOpen.HighlightFirst).get(noop);\n          }),\n          run$1(itemExecute(), function (comp, se) {\n            var sandbox = Coupling.getCoupled(comp, 'sandbox');\n            setValueFromItem(detail.model, comp, se.event.item);\n            emit(comp, typeaheadCancel());\n            detail.onItemExecute(comp, sandbox, se.event.item, Representing.getValue(comp));\n            Sandboxing.close(sandbox);\n            setCursorAtEnd(comp);\n          })\n        ].concat(detail.dismissOnBlur ? [run$1(postBlur(), function (typeahead) {\n            var sandbox = Coupling.getCoupled(typeahead, 'sandbox');\n            if (search(sandbox.element).isNone()) {\n              Sandboxing.close(sandbox);\n            }\n          })] : []))\n      ];\n      return {\n        uid: detail.uid,\n        dom: dom(deepMerge(detail, {\n          inputAttributes: {\n            'role': 'combobox',\n            'aria-autocomplete': 'list',\n            'aria-haspopup': 'true'\n          }\n        })),\n        behaviours: __assign(__assign({}, focusBehaviours$1), augment(detail.typeaheadBehaviours, behaviours)),\n        eventOrder: detail.eventOrder\n      };\n    };\n\n    var schema$g = constant$1([\n      option('lazySink'),\n      required$1('fetch'),\n      defaulted('minChars', 5),\n      defaulted('responseTime', 1000),\n      onHandler('onOpen'),\n      defaulted('getHotspot', Optional.some),\n      defaulted('getAnchorOverrides', constant$1({})),\n      defaulted('layouts', Optional.none()),\n      defaulted('eventOrder', {}),\n      defaultedObjOf('model', {}, [\n        defaulted('getDisplayText', function (itemData) {\n          return itemData.meta !== undefined && itemData.meta.text !== undefined ? itemData.meta.text : itemData.value;\n        }),\n        defaulted('selectsOver', true),\n        defaulted('populateFromBrowse', true)\n      ]),\n      onHandler('onSetValue'),\n      onKeyboardHandler('onExecute'),\n      onHandler('onItemExecute'),\n      defaulted('inputClasses', []),\n      defaulted('inputAttributes', {}),\n      defaulted('inputStyles', {}),\n      defaulted('matchWidth', true),\n      defaulted('useMinWidth', false),\n      defaulted('dismissOnBlur', true),\n      markers$1(['openClass']),\n      option('initialData'),\n      field('typeaheadBehaviours', [\n        Focusing,\n        Representing,\n        Streaming,\n        Keying,\n        Toggling,\n        Coupling\n      ]),\n      customField('previewing', function () {\n        return Cell(true);\n      })\n    ].concat(schema$k()).concat(sandboxFields()));\n    var parts$b = constant$1([external$1({\n        schema: [tieredMenuMarkers()],\n        name: 'menu',\n        overrides: function (detail) {\n          return {\n            fakeFocus: true,\n            onHighlight: function (menu, item) {\n              if (!detail.previewing.get()) {\n                menu.getSystem().getByUid(detail.uid).each(function (input) {\n                  if (detail.model.populateFromBrowse) {\n                    setValueFromItem(detail.model, input, item);\n                  }\n                });\n              } else {\n                menu.getSystem().getByUid(detail.uid).each(function (input) {\n                  attemptSelectOver(detail.model, input, item).fold(function () {\n                    return Highlighting.dehighlight(menu, item);\n                  }, function (fn) {\n                    return fn();\n                  });\n                });\n              }\n              detail.previewing.set(false);\n            },\n            onExecute: function (menu, item) {\n              return menu.getSystem().getByUid(detail.uid).toOptional().map(function (typeahead) {\n                emitWith(typeahead, itemExecute(), { item: item });\n                return true;\n              });\n            },\n            onHover: function (menu, item) {\n              detail.previewing.set(false);\n              menu.getSystem().getByUid(detail.uid).each(function (input) {\n                if (detail.model.populateFromBrowse) {\n                  setValueFromItem(detail.model, input, item);\n                }\n              });\n            }\n          };\n        }\n      })]);\n\n    var Typeahead = composite({\n      name: 'Typeahead',\n      configFields: schema$g(),\n      partFields: parts$b(),\n      factory: make$3\n    });\n\n    var wrap = function (delegate) {\n      var toCached = function () {\n        return wrap(delegate.toCached());\n      };\n      var bindFuture = function (f) {\n        return wrap(delegate.bind(function (resA) {\n          return resA.fold(function (err) {\n            return Future.pure(Result.error(err));\n          }, function (a) {\n            return f(a);\n          });\n        }));\n      };\n      var bindResult = function (f) {\n        return wrap(delegate.map(function (resA) {\n          return resA.bind(f);\n        }));\n      };\n      var mapResult = function (f) {\n        return wrap(delegate.map(function (resA) {\n          return resA.map(f);\n        }));\n      };\n      var mapError = function (f) {\n        return wrap(delegate.map(function (resA) {\n          return resA.mapError(f);\n        }));\n      };\n      var foldResult = function (whenError, whenValue) {\n        return delegate.map(function (res) {\n          return res.fold(whenError, whenValue);\n        });\n      };\n      var withTimeout = function (timeout, errorThunk) {\n        return wrap(Future.nu(function (callback) {\n          var timedOut = false;\n          var timer = setTimeout(function () {\n            timedOut = true;\n            callback(Result.error(errorThunk()));\n          }, timeout);\n          delegate.get(function (result) {\n            if (!timedOut) {\n              clearTimeout(timer);\n              callback(result);\n            }\n          });\n        }));\n      };\n      return __assign(__assign({}, delegate), {\n        toCached: toCached,\n        bindFuture: bindFuture,\n        bindResult: bindResult,\n        mapResult: mapResult,\n        mapError: mapError,\n        foldResult: foldResult,\n        withTimeout: withTimeout\n      });\n    };\n    var nu$1 = function (worker) {\n      return wrap(Future.nu(worker));\n    };\n    var value = function (value) {\n      return wrap(Future.pure(Result.value(value)));\n    };\n    var error = function (error) {\n      return wrap(Future.pure(Result.error(error)));\n    };\n    var fromResult = function (result) {\n      return wrap(Future.pure(result));\n    };\n    var fromFuture = function (future) {\n      return wrap(future.map(Result.value));\n    };\n    var fromPromise = function (promise) {\n      return nu$1(function (completer) {\n        promise.then(function (value) {\n          completer(Result.value(value));\n        }, function (error) {\n          completer(Result.error(error));\n        });\n      });\n    };\n    var FutureResult = {\n      nu: nu$1,\n      wrap: wrap,\n      pure: value,\n      value: value,\n      error: error,\n      fromResult: fromResult,\n      fromFuture: fromFuture,\n      fromPromise: fromPromise\n    };\n\n    var separator$1 = { type: 'separator' };\n    var toMenuItem = function (target) {\n      return {\n        type: 'menuitem',\n        value: target.url,\n        text: target.title,\n        meta: { attach: target.attach },\n        onAction: noop\n      };\n    };\n    var staticMenuItem = function (title, url) {\n      return {\n        type: 'menuitem',\n        value: url,\n        text: title,\n        meta: { attach: undefined },\n        onAction: noop\n      };\n    };\n    var toMenuItems = function (targets) {\n      return map$2(targets, toMenuItem);\n    };\n    var filterLinkTargets = function (type, targets) {\n      return filter$2(targets, function (target) {\n        return target.type === type;\n      });\n    };\n    var filteredTargets = function (type, targets) {\n      return toMenuItems(filterLinkTargets(type, targets));\n    };\n    var headerTargets = function (linkInfo) {\n      return filteredTargets('header', linkInfo.targets);\n    };\n    var anchorTargets = function (linkInfo) {\n      return filteredTargets('anchor', linkInfo.targets);\n    };\n    var anchorTargetTop = function (linkInfo) {\n      return Optional.from(linkInfo.anchorTop).map(function (url) {\n        return staticMenuItem('<top>', url);\n      }).toArray();\n    };\n    var anchorTargetBottom = function (linkInfo) {\n      return Optional.from(linkInfo.anchorBottom).map(function (url) {\n        return staticMenuItem('<bottom>', url);\n      }).toArray();\n    };\n    var historyTargets = function (history) {\n      return map$2(history, function (url) {\n        return staticMenuItem(url, url);\n      });\n    };\n    var joinMenuLists = function (items) {\n      return foldl(items, function (a, b) {\n        var bothEmpty = a.length === 0 || b.length === 0;\n        return bothEmpty ? a.concat(b) : a.concat(separator$1, b);\n      }, []);\n    };\n    var filterByQuery = function (term, menuItems) {\n      var lowerCaseTerm = term.toLowerCase();\n      return filter$2(menuItems, function (item) {\n        var text = item.meta !== undefined && item.meta.text !== undefined ? item.meta.text : item.text;\n        return contains$1(text.toLowerCase(), lowerCaseTerm) || contains$1(item.value.toLowerCase(), lowerCaseTerm);\n      });\n    };\n\n    var getItems = function (fileType, input, urlBackstage) {\n      var urlInputValue = Representing.getValue(input);\n      var term = urlInputValue.meta.text !== undefined ? urlInputValue.meta.text : urlInputValue.value;\n      var info = urlBackstage.getLinkInformation();\n      return info.fold(function () {\n        return [];\n      }, function (linkInfo) {\n        var history = filterByQuery(term, historyTargets(urlBackstage.getHistory(fileType)));\n        return fileType === 'file' ? joinMenuLists([\n          history,\n          filterByQuery(term, headerTargets(linkInfo)),\n          filterByQuery(term, flatten([\n            anchorTargetTop(linkInfo),\n            anchorTargets(linkInfo),\n            anchorTargetBottom(linkInfo)\n          ]))\n        ]) : history;\n      });\n    };\n    var errorId = generate$6('aria-invalid');\n    var renderUrlInput = function (spec, backstage, urlBackstage) {\n      var _a;\n      var providersBackstage = backstage.shared.providers;\n      var updateHistory = function (component) {\n        var urlEntry = Representing.getValue(component);\n        urlBackstage.addToHistory(urlEntry.value, spec.filetype);\n      };\n      var pField = FormField.parts.field({\n        factory: Typeahead,\n        dismissOnBlur: true,\n        inputClasses: ['tox-textfield'],\n        sandboxClasses: ['tox-dialog__popups'],\n        inputAttributes: {\n          'aria-errormessage': errorId,\n          'type': 'url'\n        },\n        minChars: 0,\n        responseTime: 0,\n        fetch: function (input) {\n          var items = getItems(spec.filetype, input, urlBackstage);\n          var tdata = build(items, ItemResponse$1.BUBBLE_TO_SANDBOX, backstage, false);\n          return Future.pure(tdata);\n        },\n        getHotspot: function (comp) {\n          return memUrlBox.getOpt(comp);\n        },\n        onSetValue: function (comp, _newValue) {\n          if (comp.hasConfigured(Invalidating)) {\n            Invalidating.run(comp).get(noop);\n          }\n        },\n        typeaheadBehaviours: derive$1(flatten([\n          urlBackstage.getValidationHandler().map(function (handler) {\n            return Invalidating.config({\n              getRoot: function (comp) {\n                return parent(comp.element);\n              },\n              invalidClass: 'tox-control-wrap--status-invalid',\n              notify: {\n                onInvalid: function (comp, err) {\n                  memInvalidIcon.getOpt(comp).each(function (invalidComp) {\n                    set$8(invalidComp.element, 'title', providersBackstage.translate(err));\n                  });\n                }\n              },\n              validator: {\n                validate: function (input) {\n                  var urlEntry = Representing.getValue(input);\n                  return FutureResult.nu(function (completer) {\n                    handler({\n                      type: spec.filetype,\n                      url: urlEntry.value\n                    }, function (validation) {\n                      if (validation.status === 'invalid') {\n                        var err = Result.error(validation.message);\n                        completer(err);\n                      } else {\n                        var val = Result.value(validation.message);\n                        completer(val);\n                      }\n                    });\n                  });\n                },\n                validateOnLoad: false\n              }\n            });\n          }).toArray(),\n          [\n            Disabling.config({\n              disabled: function () {\n                return spec.disabled || providersBackstage.isDisabled();\n              }\n            }),\n            Tabstopping.config({}),\n            config('urlinput-events', flatten([\n              spec.filetype === 'file' ? [run$1(input(), function (comp) {\n                  emitWith(comp, formChangeEvent, { name: spec.name });\n                })] : [],\n              [\n                run$1(change(), function (comp) {\n                  emitWith(comp, formChangeEvent, { name: spec.name });\n                  updateHistory(comp);\n                }),\n                run$1(postPaste(), function (comp) {\n                  emitWith(comp, formChangeEvent, { name: spec.name });\n                  updateHistory(comp);\n                })\n              ]\n            ]))\n          ]\n        ])),\n        eventOrder: (_a = {}, _a[input()] = [\n          'streaming',\n          'urlinput-events',\n          'invalidating'\n        ], _a),\n        model: {\n          getDisplayText: function (itemData) {\n            return itemData.value;\n          },\n          selectsOver: false,\n          populateFromBrowse: false\n        },\n        markers: { openClass: 'tox-textfield--popup-open' },\n        lazySink: backstage.shared.getSink,\n        parts: { menu: part(false, 1, 'normal') },\n        onExecute: function (_menu, component, _entry) {\n          emitWith(component, formSubmitEvent, {});\n        },\n        onItemExecute: function (typeahead, _sandbox, _item, _value) {\n          updateHistory(typeahead);\n          emitWith(typeahead, formChangeEvent, { name: spec.name });\n        }\n      });\n      var pLabel = spec.label.map(function (label) {\n        return renderLabel$2(label, providersBackstage);\n      });\n      var makeIcon = function (name, errId, icon, label) {\n        if (icon === void 0) {\n          icon = name;\n        }\n        if (label === void 0) {\n          label = name;\n        }\n        return render$3(icon, {\n          tag: 'div',\n          classes: [\n            'tox-icon',\n            'tox-control-wrap__status-icon-' + name\n          ],\n          attributes: __assign({\n            'title': providersBackstage.translate(label),\n            'aria-live': 'polite'\n          }, errId.fold(function () {\n            return {};\n          }, function (id) {\n            return { id: id };\n          }))\n        }, providersBackstage.icons);\n      };\n      var memInvalidIcon = record(makeIcon('invalid', Optional.some(errorId), 'warning'));\n      var memStatus = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-control-wrap__status-icon-wrap']\n        },\n        components: [memInvalidIcon.asSpec()]\n      });\n      var optUrlPicker = urlBackstage.getUrlPicker(spec.filetype);\n      var browseUrlEvent = generate$6('browser.url.event');\n      var memUrlBox = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-control-wrap']\n        },\n        components: [\n          pField,\n          memStatus.asSpec()\n        ],\n        behaviours: derive$1([Disabling.config({\n            disabled: function () {\n              return spec.disabled || providersBackstage.isDisabled();\n            }\n          })])\n      });\n      var memUrlPickerButton = record(renderButton({\n        name: spec.name,\n        icon: Optional.some('browse'),\n        text: spec.label.getOr(''),\n        disabled: spec.disabled,\n        primary: false,\n        borderless: true\n      }, function (component) {\n        return emit(component, browseUrlEvent);\n      }, providersBackstage, [], ['tox-browse-url']));\n      var controlHWrapper = function () {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__controls-h-stack']\n          },\n          components: flatten([\n            [memUrlBox.asSpec()],\n            optUrlPicker.map(function () {\n              return memUrlPickerButton.asSpec();\n            }).toArray()\n          ])\n        };\n      };\n      var openUrlPicker = function (comp) {\n        Composing.getCurrent(comp).each(function (field) {\n          var componentData = Representing.getValue(field);\n          var urlData = __assign({ fieldname: spec.name }, componentData);\n          optUrlPicker.each(function (picker) {\n            picker(urlData).get(function (chosenData) {\n              Representing.setValue(field, chosenData);\n              emitWith(comp, formChangeEvent, { name: spec.name });\n            });\n          });\n        });\n      };\n      return FormField.sketch({\n        dom: renderFormFieldDom(),\n        components: pLabel.toArray().concat([controlHWrapper()]),\n        fieldBehaviours: derive$1([\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providersBackstage.isDisabled();\n            },\n            onDisabled: function (comp) {\n              FormField.getField(comp).each(Disabling.disable);\n              memUrlPickerButton.getOpt(comp).each(Disabling.disable);\n            },\n            onEnabled: function (comp) {\n              FormField.getField(comp).each(Disabling.enable);\n              memUrlPickerButton.getOpt(comp).each(Disabling.enable);\n            }\n          }),\n          receivingConfig(),\n          config('url-input-events', [run$1(browseUrlEvent, openUrlPicker)])\n        ])\n      });\n    };\n\n    var renderAlertBanner = function (spec, providersBackstage) {\n      return Container.sketch({\n        dom: {\n          tag: 'div',\n          attributes: { role: 'alert' },\n          classes: [\n            'tox-notification',\n            'tox-notification--in',\n            'tox-notification--' + spec.level\n          ]\n        },\n        components: [\n          {\n            dom: {\n              tag: 'div',\n              classes: ['tox-notification__icon']\n            },\n            components: [Button.sketch({\n                dom: {\n                  tag: 'button',\n                  classes: [\n                    'tox-button',\n                    'tox-button--naked',\n                    'tox-button--icon'\n                  ],\n                  innerHtml: get$1(spec.icon, providersBackstage.icons),\n                  attributes: { title: providersBackstage.translate(spec.iconTooltip) }\n                },\n                action: function (comp) {\n                  emitWith(comp, formActionEvent, {\n                    name: 'alert-banner',\n                    value: spec.url\n                  });\n                },\n                buttonBehaviours: derive$1([addFocusableBehaviour()])\n              })]\n          },\n          {\n            dom: {\n              tag: 'div',\n              classes: ['tox-notification__body'],\n              innerHtml: providersBackstage.translate(spec.text)\n            }\n          }\n        ]\n      });\n    };\n\n    var renderCheckbox = function (spec, providerBackstage) {\n      var repBehaviour = Representing.config({\n        store: {\n          mode: 'manual',\n          getValue: function (comp) {\n            var el = comp.element.dom;\n            return el.checked;\n          },\n          setValue: function (comp, value) {\n            var el = comp.element.dom;\n            el.checked = value;\n          }\n        }\n      });\n      var toggleCheckboxHandler = function (comp) {\n        comp.element.dom.click();\n        return Optional.some(true);\n      };\n      var pField = FormField.parts.field({\n        factory: { sketch: identity$1 },\n        dom: {\n          tag: 'input',\n          classes: ['tox-checkbox__input'],\n          attributes: { type: 'checkbox' }\n        },\n        behaviours: derive$1([\n          ComposingConfigs.self(),\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providerBackstage.isDisabled();\n            }\n          }),\n          Tabstopping.config({}),\n          Focusing.config({}),\n          repBehaviour,\n          Keying.config({\n            mode: 'special',\n            onEnter: toggleCheckboxHandler,\n            onSpace: toggleCheckboxHandler,\n            stopSpaceKeyup: true\n          }),\n          config('checkbox-events', [run$1(change(), function (component, _) {\n              emitWith(component, formChangeEvent, { name: spec.name });\n            })])\n        ])\n      });\n      var pLabel = FormField.parts.label({\n        dom: {\n          tag: 'span',\n          classes: ['tox-checkbox__label'],\n          innerHtml: providerBackstage.translate(spec.label)\n        },\n        behaviours: derive$1([Unselecting.config({})])\n      });\n      var makeIcon = function (className) {\n        var iconName = className === 'checked' ? 'selected' : 'unselected';\n        return render$3(iconName, {\n          tag: 'span',\n          classes: [\n            'tox-icon',\n            'tox-checkbox-icon__' + className\n          ]\n        }, providerBackstage.icons);\n      };\n      var memIcons = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-checkbox__icons']\n        },\n        components: [\n          makeIcon('checked'),\n          makeIcon('unchecked')\n        ]\n      });\n      return FormField.sketch({\n        dom: {\n          tag: 'label',\n          classes: ['tox-checkbox']\n        },\n        components: [\n          pField,\n          memIcons.asSpec(),\n          pLabel\n        ],\n        fieldBehaviours: derive$1([\n          Disabling.config({\n            disabled: function () {\n              return spec.disabled || providerBackstage.isDisabled();\n            },\n            disableClass: 'tox-checkbox--disabled',\n            onDisabled: function (comp) {\n              FormField.getField(comp).each(Disabling.disable);\n            },\n            onEnabled: function (comp) {\n              FormField.getField(comp).each(Disabling.enable);\n            }\n          }),\n          receivingConfig()\n        ])\n      });\n    };\n\n    var renderHtmlPanel = function (spec) {\n      if (spec.presets === 'presentation') {\n        return Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__group'],\n            innerHtml: spec.html\n          }\n        });\n      } else {\n        return Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__group'],\n            innerHtml: spec.html,\n            attributes: { role: 'document' }\n          },\n          containerBehaviours: derive$1([\n            Tabstopping.config({}),\n            Focusing.config({})\n          ])\n        });\n      }\n    };\n\n    var make$2 = function (render) {\n      return function (parts, spec, backstage) {\n        return get$e(spec, 'name').fold(function () {\n          return render(spec, backstage);\n        }, function (fieldName) {\n          return parts.field(fieldName, render(spec, backstage));\n        });\n      };\n    };\n    var makeIframe = function (render) {\n      return function (parts, spec, backstage) {\n        var iframeSpec = deepMerge(spec, { source: 'dynamic' });\n        return make$2(render)(parts, iframeSpec, backstage);\n      };\n    };\n    var factories = {\n      bar: make$2(function (spec, backstage) {\n        return renderBar(spec, backstage.shared);\n      }),\n      collection: make$2(function (spec, backstage) {\n        return renderCollection(spec, backstage.shared.providers);\n      }),\n      alertbanner: make$2(function (spec, backstage) {\n        return renderAlertBanner(spec, backstage.shared.providers);\n      }),\n      input: make$2(function (spec, backstage) {\n        return renderInput(spec, backstage.shared.providers);\n      }),\n      textarea: make$2(function (spec, backstage) {\n        return renderTextarea(spec, backstage.shared.providers);\n      }),\n      label: make$2(function (spec, backstage) {\n        return renderLabel(spec, backstage.shared);\n      }),\n      iframe: makeIframe(function (spec, backstage) {\n        return renderIFrame(spec, backstage.shared.providers);\n      }),\n      button: make$2(function (spec, backstage) {\n        return renderDialogButton(spec, backstage.shared.providers);\n      }),\n      checkbox: make$2(function (spec, backstage) {\n        return renderCheckbox(spec, backstage.shared.providers);\n      }),\n      colorinput: make$2(function (spec, backstage) {\n        return renderColorInput(spec, backstage.shared, backstage.colorinput);\n      }),\n      colorpicker: make$2(renderColorPicker),\n      dropzone: make$2(function (spec, backstage) {\n        return renderDropZone(spec, backstage.shared.providers);\n      }),\n      grid: make$2(function (spec, backstage) {\n        return renderGrid(spec, backstage.shared);\n      }),\n      listbox: make$2(function (spec, backstage) {\n        return renderListBox(spec, backstage);\n      }),\n      selectbox: make$2(function (spec, backstage) {\n        return renderSelectBox(spec, backstage.shared.providers);\n      }),\n      sizeinput: make$2(function (spec, backstage) {\n        return renderSizeInput(spec, backstage.shared.providers);\n      }),\n      urlinput: make$2(function (spec, backstage) {\n        return renderUrlInput(spec, backstage, backstage.urlinput);\n      }),\n      customeditor: make$2(renderCustomEditor),\n      htmlpanel: make$2(renderHtmlPanel),\n      imagetools: make$2(function (spec, backstage) {\n        return renderImageTools(spec, backstage.shared.providers);\n      }),\n      table: make$2(function (spec, backstage) {\n        return renderTable(spec, backstage.shared.providers);\n      }),\n      panel: make$2(function (spec, backstage) {\n        return renderPanel(spec, backstage);\n      })\n    };\n    var noFormParts = {\n      field: function (_name, spec) {\n        return spec;\n      }\n    };\n    var interpretInForm = function (parts, spec, oldBackstage) {\n      var newBackstage = deepMerge(oldBackstage, {\n        shared: {\n          interpreter: function (childSpec) {\n            return interpretParts(parts, childSpec, newBackstage);\n          }\n        }\n      });\n      return interpretParts(parts, spec, newBackstage);\n    };\n    var interpretParts = function (parts, spec, backstage) {\n      return get$e(factories, spec.type).fold(function () {\n        console.error('Unknown factory type \"' + spec.type + '\", defaulting to container: ', spec);\n        return spec;\n      }, function (factory) {\n        return factory(parts, spec, backstage);\n      });\n    };\n    var interpretWithoutForm = function (spec, backstage) {\n      var parts = noFormParts;\n      return interpretParts(parts, spec, backstage);\n    };\n\n    var bubbleAlignments$2 = {\n      valignCentre: [],\n      alignCentre: [],\n      alignLeft: [],\n      alignRight: [],\n      right: [],\n      left: [],\n      bottom: [],\n      top: []\n    };\n    var getInlineDialogAnchor = function (contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor) {\n      var bubbleSize = 12;\n      var overrides = { maxHeightFunction: expandable$1() };\n      var editableAreaAnchor = function () {\n        return {\n          type: 'node',\n          root: getContentContainer(contentAreaElement()),\n          node: Optional.from(contentAreaElement()),\n          bubble: nu$5(bubbleSize, bubbleSize, bubbleAlignments$2),\n          layouts: {\n            onRtl: function () {\n              return [northeast];\n            },\n            onLtr: function () {\n              return [northwest];\n            }\n          },\n          overrides: overrides\n        };\n      };\n      var standardAnchor = function () {\n        return {\n          type: 'hotspot',\n          hotspot: lazyAnchorbar(),\n          bubble: nu$5(-bubbleSize, bubbleSize, bubbleAlignments$2),\n          layouts: {\n            onRtl: function () {\n              return [southeast$2];\n            },\n            onLtr: function () {\n              return [southwest$2];\n            }\n          },\n          overrides: overrides\n        };\n      };\n      return function () {\n        return lazyUseEditableAreaAnchor() ? editableAreaAnchor() : standardAnchor();\n      };\n    };\n    var getBannerAnchor = function (contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor) {\n      var editableAreaAnchor = function () {\n        return {\n          type: 'node',\n          root: getContentContainer(contentAreaElement()),\n          node: Optional.from(contentAreaElement()),\n          layouts: {\n            onRtl: function () {\n              return [north];\n            },\n            onLtr: function () {\n              return [north];\n            }\n          }\n        };\n      };\n      var standardAnchor = function () {\n        return {\n          type: 'hotspot',\n          hotspot: lazyAnchorbar(),\n          layouts: {\n            onRtl: function () {\n              return [south$2];\n            },\n            onLtr: function () {\n              return [south$2];\n            }\n          }\n        };\n      };\n      return function () {\n        return lazyUseEditableAreaAnchor() ? editableAreaAnchor() : standardAnchor();\n      };\n    };\n    var getCursorAnchor = function (editor, bodyElement) {\n      return function () {\n        return {\n          type: 'selection',\n          root: bodyElement(),\n          getSelection: function () {\n            var rng = editor.selection.getRng();\n            return Optional.some(SimSelection.range(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n          }\n        };\n      };\n    };\n    var getNodeAnchor$1 = function (bodyElement) {\n      return function (element) {\n        return {\n          type: 'node',\n          root: bodyElement(),\n          node: element\n        };\n      };\n    };\n    var getAnchors = function (editor, lazyAnchorbar, isToolbarTop) {\n      var useFixedToolbarContainer = useFixedContainer(editor);\n      var bodyElement = function () {\n        return SugarElement.fromDom(editor.getBody());\n      };\n      var contentAreaElement = function () {\n        return SugarElement.fromDom(editor.getContentAreaContainer());\n      };\n      var lazyUseEditableAreaAnchor = function () {\n        return useFixedToolbarContainer || !isToolbarTop();\n      };\n      return {\n        inlineDialog: getInlineDialogAnchor(contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor),\n        banner: getBannerAnchor(contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor),\n        cursor: getCursorAnchor(editor, bodyElement),\n        node: getNodeAnchor$1(bodyElement)\n      };\n    };\n\n    var colorPicker = function (editor) {\n      return function (callback, value) {\n        var dialog = colorPickerDialog(editor);\n        dialog(callback, value);\n      };\n    };\n    var hasCustomColors = function (editor) {\n      return function () {\n        return hasCustomColors$1(editor);\n      };\n    };\n    var getColors = function (editor) {\n      return function () {\n        return getColors$2(editor);\n      };\n    };\n    var getColorCols = function (editor) {\n      return function () {\n        return getColorCols$1(editor);\n      };\n    };\n    var ColorInputBackstage = function (editor) {\n      return {\n        colorPicker: colorPicker(editor),\n        hasCustomColors: hasCustomColors(editor),\n        getColors: getColors(editor),\n        getColorCols: getColorCols(editor)\n      };\n    };\n\n    var isDraggableModal = function (editor) {\n      return function () {\n        return isDraggableModal$1(editor);\n      };\n    };\n    var DialogBackstage = function (editor) {\n      return { isDraggableModal: isDraggableModal(editor) };\n    };\n\n    var HeaderBackstage = function (editor) {\n      var mode = Cell(isToolbarLocationBottom(editor) ? 'bottom' : 'top');\n      return {\n        isPositionedAtTop: function () {\n          return mode.get() === 'top';\n        },\n        getDockingMode: mode.get,\n        setDockingMode: mode.set\n      };\n    };\n\n    var defaultStyleFormats = [\n      {\n        title: 'Headings',\n        items: [\n          {\n            title: 'Heading 1',\n            format: 'h1'\n          },\n          {\n            title: 'Heading 2',\n            format: 'h2'\n          },\n          {\n            title: 'Heading 3',\n            format: 'h3'\n          },\n          {\n            title: 'Heading 4',\n            format: 'h4'\n          },\n          {\n            title: 'Heading 5',\n            format: 'h5'\n          },\n          {\n            title: 'Heading 6',\n            format: 'h6'\n          }\n        ]\n      },\n      {\n        title: 'Inline',\n        items: [\n          {\n            title: 'Bold',\n            format: 'bold'\n          },\n          {\n            title: 'Italic',\n            format: 'italic'\n          },\n          {\n            title: 'Underline',\n            format: 'underline'\n          },\n          {\n            title: 'Strikethrough',\n            format: 'strikethrough'\n          },\n          {\n            title: 'Superscript',\n            format: 'superscript'\n          },\n          {\n            title: 'Subscript',\n            format: 'subscript'\n          },\n          {\n            title: 'Code',\n            format: 'code'\n          }\n        ]\n      },\n      {\n        title: 'Blocks',\n        items: [\n          {\n            title: 'Paragraph',\n            format: 'p'\n          },\n          {\n            title: 'Blockquote',\n            format: 'blockquote'\n          },\n          {\n            title: 'Div',\n            format: 'div'\n          },\n          {\n            title: 'Pre',\n            format: 'pre'\n          }\n        ]\n      },\n      {\n        title: 'Align',\n        items: [\n          {\n            title: 'Left',\n            format: 'alignleft'\n          },\n          {\n            title: 'Center',\n            format: 'aligncenter'\n          },\n          {\n            title: 'Right',\n            format: 'alignright'\n          },\n          {\n            title: 'Justify',\n            format: 'alignjustify'\n          }\n        ]\n      }\n    ];\n    var isNestedFormat = function (format) {\n      return has$2(format, 'items');\n    };\n    var isBlockFormat = function (format) {\n      return has$2(format, 'block');\n    };\n    var isInlineFormat = function (format) {\n      return has$2(format, 'inline');\n    };\n    var isSelectorFormat = function (format) {\n      return has$2(format, 'selector');\n    };\n    var mapFormats = function (userFormats) {\n      return foldl(userFormats, function (acc, fmt) {\n        if (isNestedFormat(fmt)) {\n          var result = mapFormats(fmt.items);\n          return {\n            customFormats: acc.customFormats.concat(result.customFormats),\n            formats: acc.formats.concat([{\n                title: fmt.title,\n                items: result.formats\n              }])\n          };\n        } else if (isInlineFormat(fmt) || isBlockFormat(fmt) || isSelectorFormat(fmt)) {\n          var formatName = isString(fmt.name) ? fmt.name : fmt.title.toLowerCase();\n          var formatNameWithPrefix = 'custom-' + formatName;\n          return {\n            customFormats: acc.customFormats.concat([{\n                name: formatNameWithPrefix,\n                format: fmt\n              }]),\n            formats: acc.formats.concat([{\n                title: fmt.title,\n                format: formatNameWithPrefix,\n                icon: fmt.icon\n              }])\n          };\n        } else {\n          return __assign(__assign({}, acc), { formats: acc.formats.concat(fmt) });\n        }\n      }, {\n        customFormats: [],\n        formats: []\n      });\n    };\n    var registerCustomFormats = function (editor, userFormats) {\n      var result = mapFormats(userFormats);\n      var registerFormats = function (customFormats) {\n        each$1(customFormats, function (fmt) {\n          if (!editor.formatter.has(fmt.name)) {\n            editor.formatter.register(fmt.name, fmt.format);\n          }\n        });\n      };\n      if (editor.formatter) {\n        registerFormats(result.customFormats);\n      } else {\n        editor.on('init', function () {\n          registerFormats(result.customFormats);\n        });\n      }\n      return result.formats;\n    };\n    var getStyleFormats = function (editor) {\n      return getUserStyleFormats(editor).map(function (userFormats) {\n        var registeredUserFormats = registerCustomFormats(editor, userFormats);\n        return isMergeStyleFormats(editor) ? defaultStyleFormats.concat(registeredUserFormats) : registeredUserFormats;\n      }).getOr(defaultStyleFormats);\n    };\n\n    var processBasic = function (item, isSelectedFor, getPreviewFor) {\n      var formatterSpec = {\n        type: 'formatter',\n        isSelected: isSelectedFor(item.format),\n        getStylePreview: getPreviewFor(item.format)\n      };\n      return deepMerge(item, formatterSpec);\n    };\n    var register$8 = function (editor, formats, isSelectedFor, getPreviewFor) {\n      var enrichSupported = function (item) {\n        return processBasic(item, isSelectedFor, getPreviewFor);\n      };\n      var enrichMenu = function (item) {\n        var submenuSpec = { type: 'submenu' };\n        return deepMerge(item, submenuSpec);\n      };\n      var enrichCustom = function (item) {\n        var formatName = isString(item.name) ? item.name : generate$6(item.title);\n        var formatNameWithPrefix = 'custom-' + formatName;\n        var customSpec = {\n          type: 'formatter',\n          format: formatNameWithPrefix,\n          isSelected: isSelectedFor(formatNameWithPrefix),\n          getStylePreview: getPreviewFor(formatNameWithPrefix)\n        };\n        var newItem = deepMerge(item, customSpec);\n        editor.formatter.register(formatName, newItem);\n        return newItem;\n      };\n      var doEnrich = function (items) {\n        return map$2(items, function (item) {\n          var keys$1 = keys(item);\n          if (hasNonNullableKey(item, 'items')) {\n            var newItems = doEnrich(item.items);\n            return deepMerge(enrichMenu(item), { getStyleItems: constant$1(newItems) });\n          } else if (hasNonNullableKey(item, 'format')) {\n            return enrichSupported(item);\n          } else if (keys$1.length === 1 && contains$2(keys$1, 'title')) {\n            return deepMerge(item, { type: 'separator' });\n          } else {\n            return enrichCustom(item);\n          }\n        });\n      };\n      return doEnrich(formats);\n    };\n\n    var init$8 = function (editor) {\n      var isSelectedFor = function (format) {\n        return function () {\n          return editor.formatter.match(format);\n        };\n      };\n      var getPreviewFor = function (format) {\n        return function () {\n          var fmt = editor.formatter.get(format);\n          return fmt !== undefined ? Optional.some({\n            tag: fmt.length > 0 ? fmt[0].inline || fmt[0].block || 'div' : 'div',\n            styles: editor.dom.parseStyle(editor.formatter.getCssText(format))\n          }) : Optional.none();\n        };\n      };\n      var flatten = function (fmt) {\n        var subs = fmt.items;\n        return subs !== undefined && subs.length > 0 ? bind$3(subs, flatten) : [fmt.format];\n      };\n      var settingsFormats = Cell([]);\n      var settingsFlattenedFormats = Cell([]);\n      var eventsFormats = Cell([]);\n      var eventsFlattenedFormats = Cell([]);\n      var replaceSettings = Cell(false);\n      editor.on('PreInit', function (_e) {\n        var formats = getStyleFormats(editor);\n        var enriched = register$8(editor, formats, isSelectedFor, getPreviewFor);\n        settingsFormats.set(enriched);\n        settingsFlattenedFormats.set(bind$3(enriched, flatten));\n      });\n      editor.on('addStyleModifications', function (e) {\n        var modifications = register$8(editor, e.items, isSelectedFor, getPreviewFor);\n        eventsFormats.set(modifications);\n        replaceSettings.set(e.replace);\n        eventsFlattenedFormats.set(bind$3(modifications, flatten));\n      });\n      var getData = function () {\n        var fromSettings = replaceSettings.get() ? [] : settingsFormats.get();\n        var fromEvents = eventsFormats.get();\n        return fromSettings.concat(fromEvents);\n      };\n      var getFlattenedKeys = function () {\n        var fromSettings = replaceSettings.get() ? [] : settingsFlattenedFormats.get();\n        var fromEvents = eventsFlattenedFormats.get();\n        return fromSettings.concat(fromEvents);\n      };\n      return {\n        getData: getData,\n        getFlattenedKeys: getFlattenedKeys\n      };\n    };\n\n    var isElement = function (node) {\n      return isNonNullable(node) && node.nodeType === 1;\n    };\n    var trim = global$5.trim;\n    var hasContentEditableState = function (value) {\n      return function (node) {\n        if (isElement(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var isContentEditableTrue = hasContentEditableState('true');\n    var isContentEditableFalse = hasContentEditableState('false');\n    var create = function (type, title, url, level, attach) {\n      return {\n        type: type,\n        title: title,\n        url: url,\n        level: level,\n        attach: attach\n      };\n    };\n    var isChildOfContentEditableTrue = function (node) {\n      while (node = node.parentNode) {\n        var value = node.contentEditable;\n        if (value && value !== 'inherit') {\n          return isContentEditableTrue(node);\n        }\n      }\n      return false;\n    };\n    var select = function (selector, root) {\n      return map$2(descendants(SugarElement.fromDom(root), selector), function (element) {\n        return element.dom;\n      });\n    };\n    var getElementText = function (elm) {\n      return elm.innerText || elm.textContent;\n    };\n    var getOrGenerateId = function (elm) {\n      return elm.id ? elm.id : generate$6('h');\n    };\n    var isAnchor = function (elm) {\n      return elm && elm.nodeName === 'A' && (elm.id || elm.name) !== undefined;\n    };\n    var isValidAnchor = function (elm) {\n      return isAnchor(elm) && isEditable(elm);\n    };\n    var isHeader = function (elm) {\n      return elm && /^(H[1-6])$/.test(elm.nodeName);\n    };\n    var isEditable = function (elm) {\n      return isChildOfContentEditableTrue(elm) && !isContentEditableFalse(elm);\n    };\n    var isValidHeader = function (elm) {\n      return isHeader(elm) && isEditable(elm);\n    };\n    var getLevel = function (elm) {\n      return isHeader(elm) ? parseInt(elm.nodeName.substr(1), 10) : 0;\n    };\n    var headerTarget = function (elm) {\n      var headerId = getOrGenerateId(elm);\n      var attach = function () {\n        elm.id = headerId;\n      };\n      return create('header', getElementText(elm), '#' + headerId, getLevel(elm), attach);\n    };\n    var anchorTarget = function (elm) {\n      var anchorId = elm.id || elm.name;\n      var anchorText = getElementText(elm);\n      return create('anchor', anchorText ? anchorText : '#' + anchorId, '#' + anchorId, 0, noop);\n    };\n    var getHeaderTargets = function (elms) {\n      return map$2(filter$2(elms, isValidHeader), headerTarget);\n    };\n    var getAnchorTargets = function (elms) {\n      return map$2(filter$2(elms, isValidAnchor), anchorTarget);\n    };\n    var getTargetElements = function (elm) {\n      var elms = select('h1,h2,h3,h4,h5,h6,a:not([href])', elm);\n      return elms;\n    };\n    var hasTitle = function (target) {\n      return trim(target.title).length > 0;\n    };\n    var find = function (elm) {\n      var elms = getTargetElements(elm);\n      return filter$2(getHeaderTargets(elms).concat(getAnchorTargets(elms)), hasTitle);\n    };\n    var LinkTargets = { find: find };\n\n    var STORAGE_KEY = 'tinymce-url-history';\n    var HISTORY_LENGTH = 5;\n    var isHttpUrl = function (url) {\n      return isString(url) && /^https?/.test(url);\n    };\n    var isArrayOfUrl = function (a) {\n      return isArray(a) && a.length <= HISTORY_LENGTH && forall(a, isHttpUrl);\n    };\n    var isRecordOfUrlArray = function (r) {\n      return isObject(r) && find$4(r, function (value) {\n        return !isArrayOfUrl(value);\n      }).isNone();\n    };\n    var getAllHistory = function () {\n      var unparsedHistory = global$8.getItem(STORAGE_KEY);\n      if (unparsedHistory === null) {\n        return {};\n      }\n      var history;\n      try {\n        history = JSON.parse(unparsedHistory);\n      } catch (e) {\n        if (e instanceof SyntaxError) {\n          console.log('Local storage ' + STORAGE_KEY + ' was not valid JSON', e);\n          return {};\n        }\n        throw e;\n      }\n      if (!isRecordOfUrlArray(history)) {\n        console.log('Local storage ' + STORAGE_KEY + ' was not valid format', history);\n        return {};\n      }\n      return history;\n    };\n    var setAllHistory = function (history) {\n      if (!isRecordOfUrlArray(history)) {\n        throw new Error('Bad format for history:\\n' + JSON.stringify(history));\n      }\n      global$8.setItem(STORAGE_KEY, JSON.stringify(history));\n    };\n    var getHistory = function (fileType) {\n      var history = getAllHistory();\n      return get$e(history, fileType).getOr([]);\n    };\n    var addToHistory = function (url, fileType) {\n      if (!isHttpUrl(url)) {\n        return;\n      }\n      var history = getAllHistory();\n      var items = get$e(history, fileType).getOr([]);\n      var itemsWithoutUrl = filter$2(items, function (item) {\n        return item !== url;\n      });\n      history[fileType] = [url].concat(itemsWithoutUrl).slice(0, HISTORY_LENGTH);\n      setAllHistory(history);\n    };\n\n    var isTruthy = function (value) {\n      return !!value;\n    };\n    var makeMap = function (value) {\n      return map$1(global$5.makeMap(value, /[, ]/), isTruthy);\n    };\n    var getPicker = function (editor) {\n      return Optional.from(getFilePickerCallback(editor)).filter(isFunction);\n    };\n    var getPickerTypes = function (editor) {\n      var optFileTypes = Optional.some(getFilePickerTypes(editor)).filter(isTruthy);\n      var optLegacyTypes = Optional.some(getFileBrowserCallbackTypes(editor)).filter(isTruthy);\n      var optTypes = optFileTypes.or(optLegacyTypes).map(makeMap);\n      return getPicker(editor).fold(never, function (_picker) {\n        return optTypes.fold(always, function (types) {\n          return keys(types).length > 0 ? types : false;\n        });\n      });\n    };\n    var getPickerSetting = function (editor, filetype) {\n      var pickerTypes = getPickerTypes(editor);\n      if (isBoolean(pickerTypes)) {\n        return pickerTypes ? getPicker(editor) : Optional.none();\n      } else {\n        return pickerTypes[filetype] ? getPicker(editor) : Optional.none();\n      }\n    };\n    var getUrlPicker = function (editor, filetype) {\n      return getPickerSetting(editor, filetype).map(function (picker) {\n        return function (entry) {\n          return Future.nu(function (completer) {\n            var handler = function (value, meta) {\n              if (!isString(value)) {\n                throw new Error('Expected value to be string');\n              }\n              if (meta !== undefined && !isObject(meta)) {\n                throw new Error('Expected meta to be a object');\n              }\n              var r = {\n                value: value,\n                meta: meta\n              };\n              completer(r);\n            };\n            var meta = __assign({\n              filetype: filetype,\n              fieldname: entry.fieldname\n            }, Optional.from(entry.meta).getOr({}));\n            picker.call(editor, handler, entry.value, meta);\n          });\n        };\n      });\n    };\n    var getTextSetting = function (value) {\n      return Optional.from(value).filter(isString).getOrUndefined();\n    };\n    var getLinkInformation = function (editor) {\n      if (noTypeaheadUrls(editor)) {\n        return Optional.none();\n      }\n      return Optional.some({\n        targets: LinkTargets.find(editor.getBody()),\n        anchorTop: getTextSetting(getAnchorTop(editor)),\n        anchorBottom: getTextSetting(getAnchorBottom(editor))\n      });\n    };\n    var getValidationHandler = function (editor) {\n      return Optional.from(getFilePickerValidatorHandler(editor));\n    };\n    var UrlInputBackstage = function (editor) {\n      return {\n        getHistory: getHistory,\n        addToHistory: addToHistory,\n        getLinkInformation: function () {\n          return getLinkInformation(editor);\n        },\n        getValidationHandler: function () {\n          return getValidationHandler(editor);\n        },\n        getUrlPicker: function (filetype) {\n          return getUrlPicker(editor, filetype);\n        }\n      };\n    };\n\n    var init$7 = function (sink, editor, lazyAnchorbar) {\n      var contextMenuState = Cell(false);\n      var toolbar = HeaderBackstage(editor);\n      var backstage = {\n        shared: {\n          providers: {\n            icons: function () {\n              return editor.ui.registry.getAll().icons;\n            },\n            menuItems: function () {\n              return editor.ui.registry.getAll().menuItems;\n            },\n            translate: global$e.translate,\n            isDisabled: function () {\n              return editor.mode.isReadOnly() || editor.ui.isDisabled();\n            },\n            getSetting: editor.getParam.bind(editor)\n          },\n          interpreter: function (s) {\n            return interpretWithoutForm(s, backstage);\n          },\n          anchors: getAnchors(editor, lazyAnchorbar, toolbar.isPositionedAtTop),\n          header: toolbar,\n          getSink: function () {\n            return Result.value(sink);\n          }\n        },\n        urlinput: UrlInputBackstage(editor),\n        styleselect: init$8(editor),\n        colorinput: ColorInputBackstage(editor),\n        dialog: DialogBackstage(editor),\n        isContextMenuOpen: function () {\n          return contextMenuState.get();\n        },\n        setContextMenuState: function (state) {\n          return contextMenuState.set(state);\n        }\n      };\n      return backstage;\n    };\n\n    var setup$b = function (editor, mothership, uiMothership) {\n      var broadcastEvent = function (name, evt) {\n        each$1([\n          mothership,\n          uiMothership\n        ], function (ship) {\n          ship.broadcastEvent(name, evt);\n        });\n      };\n      var broadcastOn = function (channel, message) {\n        each$1([\n          mothership,\n          uiMothership\n        ], function (ship) {\n          ship.broadcastOn([channel], message);\n        });\n      };\n      var fireDismissPopups = function (evt) {\n        return broadcastOn(dismissPopups(), { target: evt.target });\n      };\n      var doc = getDocument();\n      var onTouchstart = bind(doc, 'touchstart', fireDismissPopups);\n      var onTouchmove = bind(doc, 'touchmove', function (evt) {\n        return broadcastEvent(documentTouchmove(), evt);\n      });\n      var onTouchend = bind(doc, 'touchend', function (evt) {\n        return broadcastEvent(documentTouchend(), evt);\n      });\n      var onMousedown = bind(doc, 'mousedown', fireDismissPopups);\n      var onMouseup = bind(doc, 'mouseup', function (evt) {\n        if (evt.raw.button === 0) {\n          broadcastOn(mouseReleased(), { target: evt.target });\n        }\n      });\n      var onContentClick = function (raw) {\n        return broadcastOn(dismissPopups(), { target: SugarElement.fromDom(raw.target) });\n      };\n      var onContentMouseup = function (raw) {\n        if (raw.button === 0) {\n          broadcastOn(mouseReleased(), { target: SugarElement.fromDom(raw.target) });\n        }\n      };\n      var onContentMousedown = function () {\n        each$1(editor.editorManager.get(), function (loopEditor) {\n          if (editor !== loopEditor) {\n            loopEditor.fire('DismissPopups', { relatedTarget: editor });\n          }\n        });\n      };\n      var onWindowScroll = function (evt) {\n        return broadcastEvent(windowScroll(), fromRawEvent(evt));\n      };\n      var onWindowResize = function (evt) {\n        broadcastOn(repositionPopups(), {});\n        broadcastEvent(windowResize(), fromRawEvent(evt));\n      };\n      var onEditorResize = function () {\n        return broadcastOn(repositionPopups(), {});\n      };\n      var onEditorProgress = function (evt) {\n        if (evt.state) {\n          broadcastOn(dismissPopups(), { target: SugarElement.fromDom(editor.getContainer()) });\n        }\n      };\n      var onDismissPopups = function (event) {\n        broadcastOn(dismissPopups(), { target: SugarElement.fromDom(event.relatedTarget.getContainer()) });\n      };\n      editor.on('PostRender', function () {\n        editor.on('click', onContentClick);\n        editor.on('tap', onContentClick);\n        editor.on('mouseup', onContentMouseup);\n        editor.on('mousedown', onContentMousedown);\n        editor.on('ScrollWindow', onWindowScroll);\n        editor.on('ResizeWindow', onWindowResize);\n        editor.on('ResizeEditor', onEditorResize);\n        editor.on('AfterProgressState', onEditorProgress);\n        editor.on('DismissPopups', onDismissPopups);\n      });\n      editor.on('remove', function () {\n        editor.off('click', onContentClick);\n        editor.off('tap', onContentClick);\n        editor.off('mouseup', onContentMouseup);\n        editor.off('mousedown', onContentMousedown);\n        editor.off('ScrollWindow', onWindowScroll);\n        editor.off('ResizeWindow', onWindowResize);\n        editor.off('ResizeEditor', onEditorResize);\n        editor.off('AfterProgressState', onEditorProgress);\n        editor.off('DismissPopups', onDismissPopups);\n        onMousedown.unbind();\n        onTouchstart.unbind();\n        onTouchmove.unbind();\n        onTouchend.unbind();\n        onMouseup.unbind();\n      });\n      editor.on('detach', function () {\n        detachSystem(mothership);\n        detachSystem(uiMothership);\n        mothership.destroy();\n        uiMothership.destroy();\n      });\n    };\n\n    var parts$a = AlloyParts;\n    var partType = PartType;\n\n    var schema$f = constant$1([\n      defaulted('shell', false),\n      required$1('makeItem'),\n      defaulted('setupItem', noop),\n      SketchBehaviours.field('listBehaviours', [Replacing])\n    ]);\n    var customListDetail = function () {\n      return { behaviours: derive$1([Replacing.config({})]) };\n    };\n    var itemsPart = optional({\n      name: 'items',\n      overrides: customListDetail\n    });\n    var parts$9 = constant$1([itemsPart]);\n    var name = constant$1('CustomList');\n\n    var factory$d = function (detail, components, _spec, _external) {\n      var setItems = function (list, items) {\n        getListContainer(list).fold(function () {\n          console.error('Custom List was defined to not be a shell, but no item container was specified in components');\n          throw new Error('Custom List was defined to not be a shell, but no item container was specified in components');\n        }, function (container) {\n          var itemComps = Replacing.contents(container);\n          var numListsRequired = items.length;\n          var numListsToAdd = numListsRequired - itemComps.length;\n          var itemsToAdd = numListsToAdd > 0 ? range$2(numListsToAdd, function () {\n            return detail.makeItem();\n          }) : [];\n          var itemsToRemove = itemComps.slice(numListsRequired);\n          each$1(itemsToRemove, function (item) {\n            return Replacing.remove(container, item);\n          });\n          each$1(itemsToAdd, function (item) {\n            return Replacing.append(container, item);\n          });\n          var builtLists = Replacing.contents(container);\n          each$1(builtLists, function (item, i) {\n            detail.setupItem(list, item, items[i], i);\n          });\n        });\n      };\n      var extra = detail.shell ? {\n        behaviours: [Replacing.config({})],\n        components: []\n      } : {\n        behaviours: [],\n        components: components\n      };\n      var getListContainer = function (component) {\n        return detail.shell ? Optional.some(component) : getPart(component, detail, 'items');\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: extra.components,\n        behaviours: augment(detail.listBehaviours, extra.behaviours),\n        apis: { setItems: setItems }\n      };\n    };\n    var CustomList = composite({\n      name: name(),\n      configFields: schema$f(),\n      partFields: parts$9(),\n      factory: factory$d,\n      apis: {\n        setItems: function (apis, list, items) {\n          apis.setItems(list, items);\n        }\n      }\n    });\n\n    var schema$e = constant$1([\n      required$1('dom'),\n      defaulted('shell', true),\n      field('toolbarBehaviours', [Replacing])\n    ]);\n    var enhanceGroups = function () {\n      return { behaviours: derive$1([Replacing.config({})]) };\n    };\n    var parts$8 = constant$1([optional({\n        name: 'groups',\n        overrides: enhanceGroups\n      })]);\n\n    var factory$c = function (detail, components, _spec, _externals) {\n      var setGroups = function (toolbar, groups) {\n        getGroupContainer(toolbar).fold(function () {\n          console.error('Toolbar was defined to not be a shell, but no groups container was specified in components');\n          throw new Error('Toolbar was defined to not be a shell, but no groups container was specified in components');\n        }, function (container) {\n          Replacing.set(container, groups);\n        });\n      };\n      var getGroupContainer = function (component) {\n        return detail.shell ? Optional.some(component) : getPart(component, detail, 'groups');\n      };\n      var extra = detail.shell ? {\n        behaviours: [Replacing.config({})],\n        components: []\n      } : {\n        behaviours: [],\n        components: components\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: extra.components,\n        behaviours: augment(detail.toolbarBehaviours, extra.behaviours),\n        apis: { setGroups: setGroups },\n        domModification: { attributes: { role: 'group' } }\n      };\n    };\n    var Toolbar = composite({\n      name: 'Toolbar',\n      configFields: schema$e(),\n      partFields: parts$8(),\n      factory: factory$c,\n      apis: {\n        setGroups: function (apis, toolbar, groups) {\n          apis.setGroups(toolbar, groups);\n        }\n      }\n    });\n\n    var setup$a = noop;\n    var isDocked$2 = never;\n    var getBehaviours$1 = constant$1([]);\n\n    var StaticHeader = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setup: setup$a,\n        isDocked: isDocked$2,\n        getBehaviours: getBehaviours$1\n    });\n\n    var getOffsetParent = function (element) {\n      var isFixed = is$1(getRaw(element, 'position'), 'fixed');\n      var offsetParent$1 = isFixed ? Optional.none() : offsetParent(element);\n      return offsetParent$1.orThunk(function () {\n        var marker = SugarElement.fromTag('span');\n        return parent(element).bind(function (parent) {\n          append$2(parent, marker);\n          var offsetParent$1 = offsetParent(marker);\n          remove$5(marker);\n          return offsetParent$1;\n        });\n      });\n    };\n    var getOrigin = function (element) {\n      return getOffsetParent(element).map(absolute$3).getOrThunk(function () {\n        return SugarPosition(0, 0);\n      });\n    };\n\n    var morphAdt = Adt.generate([\n      { static: [] },\n      { absolute: ['positionCss'] },\n      { fixed: ['positionCss'] }\n    ]);\n    var appear = function (component, contextualInfo) {\n      var elem = component.element;\n      add$2(elem, contextualInfo.transitionClass);\n      remove$2(elem, contextualInfo.fadeOutClass);\n      add$2(elem, contextualInfo.fadeInClass);\n      contextualInfo.onShow(component);\n    };\n    var disappear = function (component, contextualInfo) {\n      var elem = component.element;\n      add$2(elem, contextualInfo.transitionClass);\n      remove$2(elem, contextualInfo.fadeInClass);\n      add$2(elem, contextualInfo.fadeOutClass);\n      contextualInfo.onHide(component);\n    };\n    var isPartiallyVisible = function (box, viewport) {\n      return box.y < viewport.bottom && box.bottom > viewport.y;\n    };\n    var isTopCompletelyVisible = function (box, viewport) {\n      return box.y >= viewport.y;\n    };\n    var isBottomCompletelyVisible = function (box, viewport) {\n      return box.bottom <= viewport.bottom;\n    };\n    var isVisibleForModes = function (modes, box, viewport) {\n      return forall(modes, function (mode) {\n        switch (mode) {\n        case 'bottom':\n          return isBottomCompletelyVisible(box, viewport);\n        case 'top':\n          return isTopCompletelyVisible(box, viewport);\n        }\n      });\n    };\n    var getPrior = function (elem, state) {\n      return state.getInitialPos().map(function (pos) {\n        return bounds(pos.bounds.x, pos.bounds.y, get$a(elem), get$b(elem));\n      });\n    };\n    var storePrior = function (elem, box, state) {\n      state.setInitialPos({\n        style: getAllRaw(elem),\n        position: get$c(elem, 'position') || 'static',\n        bounds: box\n      });\n    };\n    var revertToOriginal = function (elem, box, state) {\n      return state.getInitialPos().bind(function (position) {\n        state.clearInitialPos();\n        switch (position.position) {\n        case 'static':\n          return Optional.some(morphAdt.static());\n        case 'absolute':\n          var offsetBox_1 = getOffsetParent(elem).map(box$1).getOrThunk(function () {\n            return box$1(body());\n          });\n          return Optional.some(morphAdt.absolute(NuPositionCss('absolute', get$e(position.style, 'left').map(function (_left) {\n            return box.x - offsetBox_1.x;\n          }), get$e(position.style, 'top').map(function (_top) {\n            return box.y - offsetBox_1.y;\n          }), get$e(position.style, 'right').map(function (_right) {\n            return offsetBox_1.right - box.right;\n          }), get$e(position.style, 'bottom').map(function (_bottom) {\n            return offsetBox_1.bottom - box.bottom;\n          }))));\n        default:\n          return Optional.none();\n        }\n      });\n    };\n    var morphToOriginal = function (elem, viewport, state) {\n      return getPrior(elem, state).filter(function (box) {\n        return isVisibleForModes(state.getModes(), box, viewport);\n      }).bind(function (box) {\n        return revertToOriginal(elem, box, state);\n      });\n    };\n    var morphToFixed = function (elem, viewport, state) {\n      var box = box$1(elem);\n      if (!isVisibleForModes(state.getModes(), box, viewport)) {\n        storePrior(elem, box, state);\n        var winBox = win();\n        var left = box.x - winBox.x;\n        var top_1 = viewport.y - winBox.y;\n        var bottom = winBox.bottom - viewport.bottom;\n        var isTop = box.y <= viewport.y;\n        return Optional.some(morphAdt.fixed(NuPositionCss('fixed', Optional.some(left), isTop ? Optional.some(top_1) : Optional.none(), Optional.none(), !isTop ? Optional.some(bottom) : Optional.none())));\n      } else {\n        return Optional.none();\n      }\n    };\n    var getMorph = function (component, viewport, state) {\n      var elem = component.element;\n      var isDocked = is$1(getRaw(elem, 'position'), 'fixed');\n      return isDocked ? morphToOriginal(elem, viewport, state) : morphToFixed(elem, viewport, state);\n    };\n    var getMorphToOriginal = function (component, state) {\n      var elem = component.element;\n      return getPrior(elem, state).bind(function (box) {\n        return revertToOriginal(elem, box, state);\n      });\n    };\n\n    var morphToStatic = function (component, config, state) {\n      state.setDocked(false);\n      each$1([\n        'left',\n        'right',\n        'top',\n        'bottom',\n        'position'\n      ], function (prop) {\n        return remove$6(component.element, prop);\n      });\n      config.onUndocked(component);\n    };\n    var morphToCoord = function (component, config, state, position) {\n      var isDocked = position.position === 'fixed';\n      state.setDocked(isDocked);\n      applyPositionCss(component.element, position);\n      var method = isDocked ? config.onDocked : config.onUndocked;\n      method(component);\n    };\n    var updateVisibility = function (component, config, state, viewport, morphToDocked) {\n      if (morphToDocked === void 0) {\n        morphToDocked = false;\n      }\n      config.contextual.each(function (contextInfo) {\n        contextInfo.lazyContext(component).each(function (box) {\n          var isVisible = isPartiallyVisible(box, viewport);\n          if (isVisible !== state.isVisible()) {\n            state.setVisible(isVisible);\n            if (morphToDocked && !isVisible) {\n              add$1(component.element, [contextInfo.fadeOutClass]);\n              contextInfo.onHide(component);\n            } else {\n              var method = isVisible ? appear : disappear;\n              method(component, contextInfo);\n            }\n          }\n        });\n      });\n    };\n    var refreshInternal = function (component, config, state) {\n      var viewport = config.lazyViewport(component);\n      var isDocked = state.isDocked();\n      if (isDocked) {\n        updateVisibility(component, config, state, viewport);\n      }\n      getMorph(component, viewport, state).each(function (morph) {\n        morph.fold(function () {\n          return morphToStatic(component, config, state);\n        }, function (position) {\n          return morphToCoord(component, config, state, position);\n        }, function (position) {\n          updateVisibility(component, config, state, viewport, true);\n          morphToCoord(component, config, state, position);\n        });\n      });\n    };\n    var resetInternal = function (component, config, state) {\n      var elem = component.element;\n      state.setDocked(false);\n      getMorphToOriginal(component, state).each(function (morph) {\n        morph.fold(function () {\n          return morphToStatic(component, config, state);\n        }, function (position) {\n          return morphToCoord(component, config, state, position);\n        }, noop);\n      });\n      state.setVisible(true);\n      config.contextual.each(function (contextInfo) {\n        remove$1(elem, [\n          contextInfo.fadeInClass,\n          contextInfo.fadeOutClass,\n          contextInfo.transitionClass\n        ]);\n        contextInfo.onShow(component);\n      });\n      refresh$4(component, config, state);\n    };\n    var refresh$4 = function (component, config, state) {\n      if (component.getSystem().isConnected()) {\n        refreshInternal(component, config, state);\n      }\n    };\n    var reset = function (component, config, state) {\n      if (state.isDocked()) {\n        resetInternal(component, config, state);\n      }\n    };\n    var isDocked$1 = function (component, config, state) {\n      return state.isDocked();\n    };\n    var setModes = function (component, config, state, modes) {\n      return state.setModes(modes);\n    };\n    var getModes = function (component, config, state) {\n      return state.getModes();\n    };\n\n    var DockingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        refresh: refresh$4,\n        reset: reset,\n        isDocked: isDocked$1,\n        getModes: getModes,\n        setModes: setModes\n    });\n\n    var events$5 = function (dockInfo, dockState) {\n      return derive$2([\n        runOnSource(transitionend(), function (component, simulatedEvent) {\n          dockInfo.contextual.each(function (contextInfo) {\n            if (has(component.element, contextInfo.transitionClass)) {\n              remove$1(component.element, [\n                contextInfo.transitionClass,\n                contextInfo.fadeInClass\n              ]);\n              var notify = dockState.isVisible() ? contextInfo.onShown : contextInfo.onHidden;\n              notify(component);\n            }\n            simulatedEvent.stop();\n          });\n        }),\n        run$1(windowScroll(), function (component, _) {\n          refresh$4(component, dockInfo, dockState);\n        }),\n        run$1(windowResize(), function (component, _) {\n          reset(component, dockInfo, dockState);\n        })\n      ]);\n    };\n\n    var ActiveDocking = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$5\n    });\n\n    var DockingSchema = [\n      optionObjOf('contextual', [\n        requiredString('fadeInClass'),\n        requiredString('fadeOutClass'),\n        requiredString('transitionClass'),\n        requiredFunction('lazyContext'),\n        onHandler('onShow'),\n        onHandler('onShown'),\n        onHandler('onHide'),\n        onHandler('onHidden')\n      ]),\n      defaultedFunction('lazyViewport', win),\n      defaultedArrayOf('modes', [\n        'top',\n        'bottom'\n      ], string),\n      onHandler('onDocked'),\n      onHandler('onUndocked')\n    ];\n\n    var init$6 = function (spec) {\n      var docked = Cell(false);\n      var visible = Cell(true);\n      var initialBounds = value$1();\n      var modes = Cell(spec.modes);\n      var readState = function () {\n        return 'docked:  ' + docked.get() + ', visible: ' + visible.get() + ', modes: ' + modes.get().join(',');\n      };\n      return nu$8({\n        isDocked: docked.get,\n        setDocked: docked.set,\n        getInitialPos: initialBounds.get,\n        setInitialPos: initialBounds.set,\n        clearInitialPos: initialBounds.clear,\n        isVisible: visible.get,\n        setVisible: visible.set,\n        getModes: modes.get,\n        setModes: modes.set,\n        readState: readState\n      });\n    };\n\n    var DockingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$6\n    });\n\n    var Docking = create$7({\n      fields: DockingSchema,\n      name: 'docking',\n      active: ActiveDocking,\n      apis: DockingApis,\n      state: DockingState\n    });\n\n    var toolbarHeightChange = constant$1(generate$6('toolbar-height-change'));\n\n    var visibility = {\n      fadeInClass: 'tox-editor-dock-fadein',\n      fadeOutClass: 'tox-editor-dock-fadeout',\n      transitionClass: 'tox-editor-dock-transition'\n    };\n    var editorStickyOnClass = 'tox-tinymce--toolbar-sticky-on';\n    var editorStickyOffClass = 'tox-tinymce--toolbar-sticky-off';\n    var scrollFromBehindHeader = function (e, containerHeader) {\n      var doc = owner$4(containerHeader);\n      var viewHeight = doc.dom.defaultView.innerHeight;\n      var scrollPos = get$9(doc);\n      var markerElement = SugarElement.fromDom(e.elm);\n      var markerPos = absolute$2(markerElement);\n      var markerHeight = get$b(markerElement);\n      var markerTop = markerPos.y;\n      var markerBottom = markerTop + markerHeight;\n      var editorHeaderPos = absolute$3(containerHeader);\n      var editorHeaderHeight = get$b(containerHeader);\n      var editorHeaderTop = editorHeaderPos.top;\n      var editorHeaderBottom = editorHeaderTop + editorHeaderHeight;\n      var editorHeaderDockedAtTop = Math.abs(editorHeaderTop - scrollPos.top) < 2;\n      var editorHeaderDockedAtBottom = Math.abs(editorHeaderBottom - (scrollPos.top + viewHeight)) < 2;\n      if (editorHeaderDockedAtTop && markerTop < editorHeaderBottom) {\n        to(scrollPos.left, markerTop - editorHeaderHeight, doc);\n      } else if (editorHeaderDockedAtBottom && markerBottom > editorHeaderTop) {\n        var y = markerTop - viewHeight + markerHeight + editorHeaderHeight;\n        to(scrollPos.left, y, doc);\n      }\n    };\n    var isDockedMode = function (header, mode) {\n      return contains$2(Docking.getModes(header), mode);\n    };\n    var updateIframeContentFlow = function (header) {\n      var getOccupiedHeight = function (elm) {\n        return getOuter$2(elm) + (parseInt(get$c(elm, 'margin-top'), 10) || 0) + (parseInt(get$c(elm, 'margin-bottom'), 10) || 0);\n      };\n      var elm = header.element;\n      parent(elm).each(function (parentElem) {\n        var padding = 'padding-' + Docking.getModes(header)[0];\n        if (Docking.isDocked(header)) {\n          var parentWidth = get$a(parentElem);\n          set$7(elm, 'width', parentWidth + 'px');\n          set$7(parentElem, padding, getOccupiedHeight(elm) + 'px');\n        } else {\n          remove$6(elm, 'width');\n          remove$6(parentElem, padding);\n        }\n      });\n    };\n    var updateSinkVisibility = function (sinkElem, visible) {\n      if (visible) {\n        remove$2(sinkElem, visibility.fadeOutClass);\n        add$1(sinkElem, [\n          visibility.transitionClass,\n          visibility.fadeInClass\n        ]);\n      } else {\n        remove$2(sinkElem, visibility.fadeInClass);\n        add$1(sinkElem, [\n          visibility.fadeOutClass,\n          visibility.transitionClass\n        ]);\n      }\n    };\n    var updateEditorClasses = function (editor, docked) {\n      var editorContainer = SugarElement.fromDom(editor.getContainer());\n      if (docked) {\n        add$2(editorContainer, editorStickyOnClass);\n        remove$2(editorContainer, editorStickyOffClass);\n      } else {\n        add$2(editorContainer, editorStickyOffClass);\n        remove$2(editorContainer, editorStickyOnClass);\n      }\n    };\n    var restoreFocus = function (headerElem, focusedElem) {\n      var ownerDoc = owner$4(focusedElem);\n      active(ownerDoc).filter(function (activeElm) {\n        return !eq(focusedElem, activeElm);\n      }).filter(function (activeElm) {\n        return eq(activeElm, SugarElement.fromDom(ownerDoc.dom.body)) || contains(headerElem, activeElm);\n      }).each(function () {\n        return focus$3(focusedElem);\n      });\n    };\n    var findFocusedElem = function (rootElm, lazySink) {\n      return search(rootElm).orThunk(function () {\n        return lazySink().toOptional().bind(function (sink) {\n          return search(sink.element);\n        });\n      });\n    };\n    var setup$9 = function (editor, sharedBackstage, lazyHeader) {\n      if (!editor.inline) {\n        if (!sharedBackstage.header.isPositionedAtTop()) {\n          editor.on('ResizeEditor', function () {\n            lazyHeader().each(Docking.reset);\n          });\n        }\n        editor.on('ResizeWindow ResizeEditor', function () {\n          lazyHeader().each(updateIframeContentFlow);\n        });\n        editor.on('SkinLoaded', function () {\n          lazyHeader().each(function (comp) {\n            Docking.isDocked(comp) ? Docking.reset(comp) : Docking.refresh(comp);\n          });\n        });\n        editor.on('FullscreenStateChanged', function () {\n          lazyHeader().each(Docking.reset);\n        });\n      }\n      editor.on('AfterScrollIntoView', function (e) {\n        lazyHeader().each(function (header) {\n          Docking.refresh(header);\n          var headerElem = header.element;\n          if (isVisible(headerElem)) {\n            scrollFromBehindHeader(e, headerElem);\n          }\n        });\n      });\n      editor.on('PostRender', function () {\n        updateEditorClasses(editor, false);\n      });\n    };\n    var isDocked = function (lazyHeader) {\n      return lazyHeader().map(Docking.isDocked).getOr(false);\n    };\n    var getIframeBehaviours = function () {\n      var _a;\n      return [Receiving.config({ channels: (_a = {}, _a[toolbarHeightChange()] = { onReceive: updateIframeContentFlow }, _a) })];\n    };\n    var getBehaviours = function (editor, sharedBackstage) {\n      var focusedElm = value$1();\n      var lazySink = sharedBackstage.getSink;\n      var runOnSinkElement = function (f) {\n        lazySink().each(function (sink) {\n          return f(sink.element);\n        });\n      };\n      var onDockingSwitch = function (comp) {\n        if (!editor.inline) {\n          updateIframeContentFlow(comp);\n        }\n        updateEditorClasses(editor, Docking.isDocked(comp));\n        comp.getSystem().broadcastOn([repositionPopups()], {});\n        lazySink().each(function (sink) {\n          return sink.getSystem().broadcastOn([repositionPopups()], {});\n        });\n      };\n      var additionalBehaviours = editor.inline ? [] : getIframeBehaviours();\n      return __spreadArray([\n        Focusing.config({}),\n        Docking.config({\n          contextual: __assign({\n            lazyContext: function (comp) {\n              var headerHeight = getOuter$2(comp.element);\n              var container = editor.inline ? editor.getContentAreaContainer() : editor.getContainer();\n              var box = box$1(SugarElement.fromDom(container));\n              var boxHeight = box.height - headerHeight;\n              var topBound = box.y + (isDockedMode(comp, 'top') ? 0 : headerHeight);\n              return Optional.some(bounds(box.x, topBound, box.width, boxHeight));\n            },\n            onShow: function () {\n              runOnSinkElement(function (elem) {\n                return updateSinkVisibility(elem, true);\n              });\n            },\n            onShown: function (comp) {\n              runOnSinkElement(function (elem) {\n                return remove$1(elem, [\n                  visibility.transitionClass,\n                  visibility.fadeInClass\n                ]);\n              });\n              focusedElm.get().each(function (elem) {\n                restoreFocus(comp.element, elem);\n                focusedElm.clear();\n              });\n            },\n            onHide: function (comp) {\n              findFocusedElem(comp.element, lazySink).fold(focusedElm.clear, focusedElm.set);\n              runOnSinkElement(function (elem) {\n                return updateSinkVisibility(elem, false);\n              });\n            },\n            onHidden: function () {\n              runOnSinkElement(function (elem) {\n                return remove$1(elem, [visibility.transitionClass]);\n              });\n            }\n          }, visibility),\n          lazyViewport: function (comp) {\n            var win$1 = win();\n            var offset = getStickyToolbarOffset(editor);\n            var top = win$1.y + (isDockedMode(comp, 'top') ? offset : 0);\n            var height = win$1.height - (isDockedMode(comp, 'bottom') ? offset : 0);\n            return bounds(win$1.x, top, win$1.width, height);\n          },\n          modes: [sharedBackstage.header.getDockingMode()],\n          onDocked: onDockingSwitch,\n          onUndocked: onDockingSwitch\n        })\n      ], additionalBehaviours, true);\n    };\n\n    var StickyHeader = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setup: setup$9,\n        isDocked: isDocked,\n        getBehaviours: getBehaviours\n    });\n\n    var renderHeader = function (spec) {\n      var editor = spec.editor;\n      var getBehaviours$2 = spec.sticky ? getBehaviours : getBehaviours$1;\n      return {\n        uid: spec.uid,\n        dom: spec.dom,\n        components: spec.components,\n        behaviours: derive$1(getBehaviours$2(editor, spec.sharedBackstage))\n      };\n    };\n\n    var groupToolbarButtonSchema = objOf([\n      requiredString('type'),\n      requiredOf('items', oneOf([\n        arrOfObj([\n          requiredString('name'),\n          requiredArrayOf('items', string)\n        ]),\n        string\n      ]))\n    ].concat(baseToolbarButtonFields));\n    var createGroupToolbarButton = function (spec) {\n      return asRaw('GroupToolbarButton', groupToolbarButtonSchema, spec);\n    };\n\n    var baseMenuButtonFields = [\n      optionString('text'),\n      optionString('tooltip'),\n      optionString('icon'),\n      requiredFunction('fetch'),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      })\n    ];\n\n    var MenuButtonSchema = objOf(__spreadArray([requiredString('type')], baseMenuButtonFields, true));\n    var createMenuButton = function (spec) {\n      return asRaw('menubutton', MenuButtonSchema, spec);\n    };\n\n    var splitButtonSchema = objOf([\n      requiredString('type'),\n      optionString('tooltip'),\n      optionString('icon'),\n      optionString('text'),\n      optionFunction('select'),\n      requiredFunction('fetch'),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      }),\n      defaultedStringEnum('presets', 'normal', [\n        'normal',\n        'color',\n        'listpreview'\n      ]),\n      defaulted('columns', 1),\n      requiredFunction('onAction'),\n      requiredFunction('onItemAction')\n    ]);\n    var createSplitButton = function (spec) {\n      return asRaw('SplitButton', splitButtonSchema, spec);\n    };\n\n    var factory$b = function (detail, spec) {\n      var setMenus = function (comp, menus) {\n        var newMenus = map$2(menus, function (m) {\n          var buttonSpec = {\n            type: 'menubutton',\n            text: m.text,\n            fetch: function (callback) {\n              callback(m.getItems());\n            }\n          };\n          var internal = createMenuButton(buttonSpec).mapError(function (errInfo) {\n            return formatError(errInfo);\n          }).getOrDie();\n          return renderMenuButton(internal, 'tox-mbtn', spec.backstage, Optional.some('menuitem'));\n        });\n        Replacing.set(comp, newMenus);\n      };\n      var apis = {\n        focus: Keying.focusIn,\n        setMenus: setMenus\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: [],\n        behaviours: derive$1([\n          Replacing.config({}),\n          config('menubar-events', [\n            runOnAttached(function (component) {\n              detail.onSetup(component);\n            }),\n            run$1(mouseover(), function (comp, se) {\n              descendant(comp.element, '.' + 'tox-mbtn--active').each(function (activeButton) {\n                closest$1(se.event.target, '.' + 'tox-mbtn').each(function (hoveredButton) {\n                  if (!eq(activeButton, hoveredButton)) {\n                    comp.getSystem().getByDom(activeButton).each(function (activeComp) {\n                      comp.getSystem().getByDom(hoveredButton).each(function (hoveredComp) {\n                        Dropdown.expand(hoveredComp);\n                        Dropdown.close(activeComp);\n                        Focusing.focus(hoveredComp);\n                      });\n                    });\n                  }\n                });\n              });\n            }),\n            run$1(focusShifted(), function (comp, se) {\n              se.event.prevFocus.bind(function (prev) {\n                return comp.getSystem().getByDom(prev).toOptional();\n              }).each(function (prev) {\n                se.event.newFocus.bind(function (nu) {\n                  return comp.getSystem().getByDom(nu).toOptional();\n                }).each(function (nu) {\n                  if (Dropdown.isOpen(prev)) {\n                    Dropdown.expand(nu);\n                    Dropdown.close(prev);\n                  }\n                });\n              });\n            })\n          ]),\n          Keying.config({\n            mode: 'flow',\n            selector: '.' + 'tox-mbtn',\n            onEscape: function (comp) {\n              detail.onEscape(comp);\n              return Optional.some(true);\n            }\n          }),\n          Tabstopping.config({})\n        ]),\n        apis: apis,\n        domModification: { attributes: { role: 'menubar' } }\n      };\n    };\n    var SilverMenubar = single({\n      factory: factory$b,\n      name: 'silver.Menubar',\n      configFields: [\n        required$1('dom'),\n        required$1('uid'),\n        required$1('onEscape'),\n        required$1('backstage'),\n        defaulted('onSetup', noop)\n      ],\n      apis: {\n        focus: function (apis, comp) {\n          apis.focus(comp);\n        },\n        setMenus: function (apis, comp, menus) {\n          apis.setMenus(comp, menus);\n        }\n      }\n    });\n\n    var getAnimationRoot = function (component, slideConfig) {\n      return slideConfig.getAnimationRoot.fold(function () {\n        return component.element;\n      }, function (get) {\n        return get(component);\n      });\n    };\n\n    var getDimensionProperty = function (slideConfig) {\n      return slideConfig.dimension.property;\n    };\n    var getDimension = function (slideConfig, elem) {\n      return slideConfig.dimension.getDimension(elem);\n    };\n    var disableTransitions = function (component, slideConfig) {\n      var root = getAnimationRoot(component, slideConfig);\n      remove$1(root, [\n        slideConfig.shrinkingClass,\n        slideConfig.growingClass\n      ]);\n    };\n    var setShrunk = function (component, slideConfig) {\n      remove$2(component.element, slideConfig.openClass);\n      add$2(component.element, slideConfig.closedClass);\n      set$7(component.element, getDimensionProperty(slideConfig), '0px');\n      reflow(component.element);\n    };\n    var setGrown = function (component, slideConfig) {\n      remove$2(component.element, slideConfig.closedClass);\n      add$2(component.element, slideConfig.openClass);\n      remove$6(component.element, getDimensionProperty(slideConfig));\n    };\n    var doImmediateShrink = function (component, slideConfig, slideState, _calculatedSize) {\n      slideState.setCollapsed();\n      set$7(component.element, getDimensionProperty(slideConfig), getDimension(slideConfig, component.element));\n      reflow(component.element);\n      disableTransitions(component, slideConfig);\n      setShrunk(component, slideConfig);\n      slideConfig.onStartShrink(component);\n      slideConfig.onShrunk(component);\n    };\n    var doStartShrink = function (component, slideConfig, slideState, calculatedSize) {\n      var size = calculatedSize.getOrThunk(function () {\n        return getDimension(slideConfig, component.element);\n      });\n      slideState.setCollapsed();\n      set$7(component.element, getDimensionProperty(slideConfig), size);\n      reflow(component.element);\n      var root = getAnimationRoot(component, slideConfig);\n      remove$2(root, slideConfig.growingClass);\n      add$2(root, slideConfig.shrinkingClass);\n      setShrunk(component, slideConfig);\n      slideConfig.onStartShrink(component);\n    };\n    var doStartSmartShrink = function (component, slideConfig, slideState) {\n      var size = getDimension(slideConfig, component.element);\n      var shrinker = size === '0px' ? doImmediateShrink : doStartShrink;\n      shrinker(component, slideConfig, slideState, Optional.some(size));\n    };\n    var doStartGrow = function (component, slideConfig, slideState) {\n      var root = getAnimationRoot(component, slideConfig);\n      var wasShrinking = has(root, slideConfig.shrinkingClass);\n      var beforeSize = getDimension(slideConfig, component.element);\n      setGrown(component, slideConfig);\n      var fullSize = getDimension(slideConfig, component.element);\n      var startPartialGrow = function () {\n        set$7(component.element, getDimensionProperty(slideConfig), beforeSize);\n        reflow(component.element);\n      };\n      var startCompleteGrow = function () {\n        setShrunk(component, slideConfig);\n      };\n      var setStartSize = wasShrinking ? startPartialGrow : startCompleteGrow;\n      setStartSize();\n      remove$2(root, slideConfig.shrinkingClass);\n      add$2(root, slideConfig.growingClass);\n      setGrown(component, slideConfig);\n      set$7(component.element, getDimensionProperty(slideConfig), fullSize);\n      slideState.setExpanded();\n      slideConfig.onStartGrow(component);\n    };\n    var refresh$3 = function (component, slideConfig, slideState) {\n      if (slideState.isExpanded()) {\n        remove$6(component.element, getDimensionProperty(slideConfig));\n        var fullSize = getDimension(slideConfig, component.element);\n        set$7(component.element, getDimensionProperty(slideConfig), fullSize);\n      }\n    };\n    var grow = function (component, slideConfig, slideState) {\n      if (!slideState.isExpanded()) {\n        doStartGrow(component, slideConfig, slideState);\n      }\n    };\n    var shrink = function (component, slideConfig, slideState) {\n      if (slideState.isExpanded()) {\n        doStartSmartShrink(component, slideConfig, slideState);\n      }\n    };\n    var immediateShrink = function (component, slideConfig, slideState) {\n      if (slideState.isExpanded()) {\n        doImmediateShrink(component, slideConfig, slideState);\n      }\n    };\n    var hasGrown = function (component, slideConfig, slideState) {\n      return slideState.isExpanded();\n    };\n    var hasShrunk = function (component, slideConfig, slideState) {\n      return slideState.isCollapsed();\n    };\n    var isGrowing = function (component, slideConfig, _slideState) {\n      var root = getAnimationRoot(component, slideConfig);\n      return has(root, slideConfig.growingClass) === true;\n    };\n    var isShrinking = function (component, slideConfig, _slideState) {\n      var root = getAnimationRoot(component, slideConfig);\n      return has(root, slideConfig.shrinkingClass) === true;\n    };\n    var isTransitioning = function (component, slideConfig, slideState) {\n      return isGrowing(component, slideConfig) || isShrinking(component, slideConfig);\n    };\n    var toggleGrow = function (component, slideConfig, slideState) {\n      var f = slideState.isExpanded() ? doStartSmartShrink : doStartGrow;\n      f(component, slideConfig, slideState);\n    };\n\n    var SlidingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        refresh: refresh$3,\n        grow: grow,\n        shrink: shrink,\n        immediateShrink: immediateShrink,\n        hasGrown: hasGrown,\n        hasShrunk: hasShrunk,\n        isGrowing: isGrowing,\n        isShrinking: isShrinking,\n        isTransitioning: isTransitioning,\n        toggleGrow: toggleGrow,\n        disableTransitions: disableTransitions\n    });\n\n    var exhibit = function (base, slideConfig, _slideState) {\n      var expanded = slideConfig.expanded;\n      return expanded ? nu$7({\n        classes: [slideConfig.openClass],\n        styles: {}\n      }) : nu$7({\n        classes: [slideConfig.closedClass],\n        styles: wrap$1(slideConfig.dimension.property, '0px')\n      });\n    };\n    var events$4 = function (slideConfig, slideState) {\n      return derive$2([runOnSource(transitionend(), function (component, simulatedEvent) {\n          var raw = simulatedEvent.event.raw;\n          if (raw.propertyName === slideConfig.dimension.property) {\n            disableTransitions(component, slideConfig);\n            if (slideState.isExpanded()) {\n              remove$6(component.element, slideConfig.dimension.property);\n            }\n            var notify = slideState.isExpanded() ? slideConfig.onGrown : slideConfig.onShrunk;\n            notify(component);\n          }\n        })]);\n    };\n\n    var ActiveSliding = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit,\n        events: events$4\n    });\n\n    var SlidingSchema = [\n      required$1('closedClass'),\n      required$1('openClass'),\n      required$1('shrinkingClass'),\n      required$1('growingClass'),\n      option('getAnimationRoot'),\n      onHandler('onShrunk'),\n      onHandler('onStartShrink'),\n      onHandler('onGrown'),\n      onHandler('onStartGrow'),\n      defaulted('expanded', false),\n      requiredOf('dimension', choose$1('property', {\n        width: [\n          output$1('property', 'width'),\n          output$1('getDimension', function (elem) {\n            return get$a(elem) + 'px';\n          })\n        ],\n        height: [\n          output$1('property', 'height'),\n          output$1('getDimension', function (elem) {\n            return get$b(elem) + 'px';\n          })\n        ]\n      }))\n    ];\n\n    var init$5 = function (spec) {\n      var state = Cell(spec.expanded);\n      var readState = function () {\n        return 'expanded: ' + state.get();\n      };\n      return nu$8({\n        isExpanded: function () {\n          return state.get() === true;\n        },\n        isCollapsed: function () {\n          return state.get() === false;\n        },\n        setCollapsed: curry(state.set, false),\n        setExpanded: curry(state.set, true),\n        readState: readState\n      });\n    };\n\n    var SlidingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$5\n    });\n\n    var Sliding = create$7({\n      fields: SlidingSchema,\n      name: 'sliding',\n      active: ActiveSliding,\n      apis: SlidingApis,\n      state: SlidingState\n    });\n\n    var owner = 'container';\n    var schema$d = [field('slotBehaviours', [])];\n    var getPartName = function (name) {\n      return '<alloy.field.' + name + '>';\n    };\n    var sketch = function (sSpec) {\n      var parts = function () {\n        var record = [];\n        var slot = function (name, config) {\n          record.push(name);\n          return generateOne$1(owner, getPartName(name), config);\n        };\n        return {\n          slot: slot,\n          record: constant$1(record)\n        };\n      }();\n      var spec = sSpec(parts);\n      var partNames = parts.record();\n      var fieldParts = map$2(partNames, function (n) {\n        return required({\n          name: n,\n          pname: getPartName(n)\n        });\n      });\n      return composite$1(owner, schema$d, fieldParts, make$1, spec);\n    };\n    var make$1 = function (detail, components) {\n      var getSlotNames = function (_) {\n        return getAllPartNames(detail);\n      };\n      var getSlot = function (container, key) {\n        return getPart(container, detail, key);\n      };\n      var onSlot = function (f, def) {\n        return function (container, key) {\n          return getPart(container, detail, key).map(function (slot) {\n            return f(slot, key);\n          }).getOr(def);\n        };\n      };\n      var onSlots = function (f) {\n        return function (container, keys) {\n          each$1(keys, function (key) {\n            return f(container, key);\n          });\n        };\n      };\n      var doShowing = function (comp, _key) {\n        return get$d(comp.element, 'aria-hidden') !== 'true';\n      };\n      var doShow = function (comp, key) {\n        if (!doShowing(comp)) {\n          var element = comp.element;\n          remove$6(element, 'display');\n          remove$7(element, 'aria-hidden');\n          emitWith(comp, slotVisibility(), {\n            name: key,\n            visible: true\n          });\n        }\n      };\n      var doHide = function (comp, key) {\n        if (doShowing(comp)) {\n          var element = comp.element;\n          set$7(element, 'display', 'none');\n          set$8(element, 'aria-hidden', 'true');\n          emitWith(comp, slotVisibility(), {\n            name: key,\n            visible: false\n          });\n        }\n      };\n      var isShowing = onSlot(doShowing, false);\n      var hideSlot = onSlot(doHide);\n      var hideSlots = onSlots(hideSlot);\n      var hideAllSlots = function (container) {\n        return hideSlots(container, getSlotNames());\n      };\n      var showSlot = onSlot(doShow);\n      var apis = {\n        getSlotNames: getSlotNames,\n        getSlot: getSlot,\n        isShowing: isShowing,\n        hideSlot: hideSlot,\n        hideAllSlots: hideAllSlots,\n        showSlot: showSlot\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: get$2(detail.slotBehaviours),\n        apis: apis\n      };\n    };\n    var slotApis = map$1({\n      getSlotNames: function (apis, c) {\n        return apis.getSlotNames(c);\n      },\n      getSlot: function (apis, c, key) {\n        return apis.getSlot(c, key);\n      },\n      isShowing: function (apis, c, key) {\n        return apis.isShowing(c, key);\n      },\n      hideSlot: function (apis, c, key) {\n        return apis.hideSlot(c, key);\n      },\n      hideAllSlots: function (apis, c) {\n        return apis.hideAllSlots(c);\n      },\n      showSlot: function (apis, c, key) {\n        return apis.showSlot(c, key);\n      }\n    }, function (value) {\n      return makeApi(value);\n    });\n    var SlotContainer = __assign(__assign({}, slotApis), { sketch: sketch });\n\n    var sidebarSchema = objOf([\n      optionString('icon'),\n      optionString('tooltip'),\n      defaultedFunction('onShow', noop),\n      defaultedFunction('onHide', noop),\n      defaultedFunction('onSetup', function () {\n        return noop;\n      })\n    ]);\n    var createSidebar = function (spec) {\n      return asRaw('sidebar', sidebarSchema, spec);\n    };\n\n    var setup$8 = function (editor) {\n      var sidebars = editor.ui.registry.getAll().sidebars;\n      each$1(keys(sidebars), function (name) {\n        var spec = sidebars[name];\n        var isActive = function () {\n          return is$1(Optional.from(editor.queryCommandValue('ToggleSidebar')), name);\n        };\n        editor.ui.registry.addToggleButton(name, {\n          icon: spec.icon,\n          tooltip: spec.tooltip,\n          onAction: function (buttonApi) {\n            editor.execCommand('ToggleSidebar', false, name);\n            buttonApi.setActive(isActive());\n          },\n          onSetup: function (buttonApi) {\n            var handleToggle = function () {\n              return buttonApi.setActive(isActive());\n            };\n            editor.on('ToggleSidebar', handleToggle);\n            return function () {\n              editor.off('ToggleSidebar', handleToggle);\n            };\n          }\n        });\n      });\n    };\n    var getApi = function (comp) {\n      return {\n        element: function () {\n          return comp.element.dom;\n        }\n      };\n    };\n    var makePanels = function (parts, panelConfigs) {\n      var specs = map$2(keys(panelConfigs), function (name) {\n        var spec = panelConfigs[name];\n        var bridged = getOrDie(createSidebar(spec));\n        return {\n          name: name,\n          getApi: getApi,\n          onSetup: bridged.onSetup,\n          onShow: bridged.onShow,\n          onHide: bridged.onHide\n        };\n      });\n      return map$2(specs, function (spec) {\n        var editorOffCell = Cell(noop);\n        return parts.slot(spec.name, {\n          dom: {\n            tag: 'div',\n            classes: ['tox-sidebar__pane']\n          },\n          behaviours: SimpleBehaviours.unnamedEvents([\n            onControlAttached(spec, editorOffCell),\n            onControlDetached(spec, editorOffCell),\n            run$1(slotVisibility(), function (sidepanel, se) {\n              var data = se.event;\n              var optSidePanelSpec = find$5(specs, function (config) {\n                return config.name === data.name;\n              });\n              optSidePanelSpec.each(function (sidePanelSpec) {\n                var handler = data.visible ? sidePanelSpec.onShow : sidePanelSpec.onHide;\n                handler(sidePanelSpec.getApi(sidepanel));\n              });\n            })\n          ])\n        });\n      });\n    };\n    var makeSidebar = function (panelConfigs) {\n      return SlotContainer.sketch(function (parts) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-sidebar__pane-container']\n          },\n          components: makePanels(parts, panelConfigs),\n          slotBehaviours: SimpleBehaviours.unnamedEvents([runOnAttached(function (slotContainer) {\n              return SlotContainer.hideAllSlots(slotContainer);\n            })])\n        };\n      });\n    };\n    var setSidebar = function (sidebar, panelConfigs) {\n      var optSlider = Composing.getCurrent(sidebar);\n      optSlider.each(function (slider) {\n        return Replacing.set(slider, [makeSidebar(panelConfigs)]);\n      });\n    };\n    var toggleSidebar = function (sidebar, name) {\n      var optSlider = Composing.getCurrent(sidebar);\n      optSlider.each(function (slider) {\n        var optSlotContainer = Composing.getCurrent(slider);\n        optSlotContainer.each(function (slotContainer) {\n          if (Sliding.hasGrown(slider)) {\n            if (SlotContainer.isShowing(slotContainer, name)) {\n              Sliding.shrink(slider);\n            } else {\n              SlotContainer.hideAllSlots(slotContainer);\n              SlotContainer.showSlot(slotContainer, name);\n            }\n          } else {\n            SlotContainer.hideAllSlots(slotContainer);\n            SlotContainer.showSlot(slotContainer, name);\n            Sliding.grow(slider);\n          }\n        });\n      });\n    };\n    var whichSidebar = function (sidebar) {\n      var optSlider = Composing.getCurrent(sidebar);\n      return optSlider.bind(function (slider) {\n        var sidebarOpen = Sliding.isGrowing(slider) || Sliding.hasGrown(slider);\n        if (sidebarOpen) {\n          var optSlotContainer = Composing.getCurrent(slider);\n          return optSlotContainer.bind(function (slotContainer) {\n            return find$5(SlotContainer.getSlotNames(slotContainer), function (name) {\n              return SlotContainer.isShowing(slotContainer, name);\n            });\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var fixSize = generate$6('FixSizeEvent');\n    var autoSize = generate$6('AutoSizeEvent');\n    var renderSidebar = function (spec) {\n      return {\n        uid: spec.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-sidebar'],\n          attributes: { role: 'complementary' }\n        },\n        components: [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-sidebar__slider']\n            },\n            components: [],\n            behaviours: derive$1([\n              Tabstopping.config({}),\n              Focusing.config({}),\n              Sliding.config({\n                dimension: { property: 'width' },\n                closedClass: 'tox-sidebar--sliding-closed',\n                openClass: 'tox-sidebar--sliding-open',\n                shrinkingClass: 'tox-sidebar--sliding-shrinking',\n                growingClass: 'tox-sidebar--sliding-growing',\n                onShrunk: function (slider) {\n                  var optSlotContainer = Composing.getCurrent(slider);\n                  optSlotContainer.each(SlotContainer.hideAllSlots);\n                  emit(slider, autoSize);\n                },\n                onGrown: function (slider) {\n                  emit(slider, autoSize);\n                },\n                onStartGrow: function (slider) {\n                  emitWith(slider, fixSize, { width: getRaw(slider.element, 'width').getOr('') });\n                },\n                onStartShrink: function (slider) {\n                  emitWith(slider, fixSize, { width: get$a(slider.element) + 'px' });\n                }\n              }),\n              Replacing.config({}),\n              Composing.config({\n                find: function (comp) {\n                  var children = Replacing.contents(comp);\n                  return head(children);\n                }\n              })\n            ])\n          }],\n        behaviours: derive$1([\n          ComposingConfigs.childAt(0),\n          config('sidebar-sliding-events', [\n            run$1(fixSize, function (comp, se) {\n              set$7(comp.element, 'width', se.event.width);\n            }),\n            run$1(autoSize, function (comp, _se) {\n              remove$6(comp.element, 'width');\n            })\n          ])\n        ])\n      };\n    };\n\n    var block = function (component, config, state, getBusySpec) {\n      set$8(component.element, 'aria-busy', true);\n      var root = config.getRoot(component).getOr(component);\n      var blockerBehaviours = derive$1([\n        Keying.config({\n          mode: 'special',\n          onTab: function () {\n            return Optional.some(true);\n          },\n          onShiftTab: function () {\n            return Optional.some(true);\n          }\n        }),\n        Focusing.config({})\n      ]);\n      var blockSpec = getBusySpec(root, blockerBehaviours);\n      var blocker = root.getSystem().build(blockSpec);\n      Replacing.append(root, premade(blocker));\n      if (blocker.hasConfigured(Keying) && config.focus) {\n        Keying.focusIn(blocker);\n      }\n      if (!state.isBlocked()) {\n        config.onBlock(component);\n      }\n      state.blockWith(function () {\n        return Replacing.remove(root, blocker);\n      });\n    };\n    var unblock = function (component, config, state) {\n      remove$7(component.element, 'aria-busy');\n      if (state.isBlocked()) {\n        config.onUnblock(component);\n      }\n      state.clear();\n    };\n\n    var BlockingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        block: block,\n        unblock: unblock\n    });\n\n    var BlockingSchema = [\n      defaultedFunction('getRoot', Optional.none),\n      defaultedBoolean('focus', true),\n      onHandler('onBlock'),\n      onHandler('onUnblock')\n    ];\n\n    var init$4 = function () {\n      var blocker = destroyable();\n      var blockWith = function (destroy) {\n        blocker.set({ destroy: destroy });\n      };\n      return nu$8({\n        readState: blocker.isSet,\n        blockWith: blockWith,\n        clear: blocker.clear,\n        isBlocked: blocker.isSet\n      });\n    };\n\n    var BlockingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$4\n    });\n\n    var Blocking = create$7({\n      fields: BlockingSchema,\n      name: 'blocking',\n      apis: BlockingApis,\n      state: BlockingState\n    });\n\n    var getAttrs = function (elem) {\n      var attributes = elem.dom.attributes !== undefined ? elem.dom.attributes : [];\n      return foldl(attributes, function (b, attr) {\n        var _a;\n        if (attr.name === 'class') {\n          return b;\n        } else {\n          return __assign(__assign({}, b), (_a = {}, _a[attr.name] = attr.value, _a));\n        }\n      }, {});\n    };\n    var getClasses = function (elem) {\n      return Array.prototype.slice.call(elem.dom.classList, 0);\n    };\n    var fromHtml = function (html) {\n      var elem = SugarElement.fromHtml(html);\n      var children$1 = children(elem);\n      var attrs = getAttrs(elem);\n      var classes = getClasses(elem);\n      var contents = children$1.length === 0 ? {} : { innerHtml: get$7(elem) };\n      return __assign({\n        tag: name$2(elem),\n        classes: classes,\n        attributes: attrs\n      }, contents);\n    };\n\n    var getBusySpec$1 = function (providerBackstage) {\n      return function (_root, _behaviours) {\n        return {\n          dom: {\n            tag: 'div',\n            attributes: {\n              'aria-label': providerBackstage.translate('Loading...'),\n              'tabindex': '0'\n            },\n            classes: ['tox-throbber__busy-spinner']\n          },\n          components: [{ dom: fromHtml('<div class=\"tox-spinner\"><div></div><div></div><div></div></div>') }]\n        };\n      };\n    };\n    var focusBusyComponent = function (throbber) {\n      return Composing.getCurrent(throbber).each(function (comp) {\n        return focus$3(comp.element);\n      });\n    };\n    var toggleEditorTabIndex = function (editor, state) {\n      var tabIndexAttr = 'tabindex';\n      var dataTabIndexAttr = 'data-mce-' + tabIndexAttr;\n      Optional.from(editor.iframeElement).map(SugarElement.fromDom).each(function (iframe) {\n        if (state) {\n          getOpt(iframe, tabIndexAttr).each(function (tabIndex) {\n            return set$8(iframe, dataTabIndexAttr, tabIndex);\n          });\n          set$8(iframe, tabIndexAttr, -1);\n        } else {\n          remove$7(iframe, tabIndexAttr);\n          getOpt(iframe, dataTabIndexAttr).each(function (tabIndex) {\n            set$8(iframe, tabIndexAttr, tabIndex);\n            remove$7(iframe, dataTabIndexAttr);\n          });\n        }\n      });\n    };\n    var toggleThrobber = function (editor, comp, state, providerBackstage) {\n      var element = comp.element;\n      toggleEditorTabIndex(editor, state);\n      if (state) {\n        Blocking.block(comp, getBusySpec$1(providerBackstage));\n        remove$6(element, 'display');\n        remove$7(element, 'aria-hidden');\n        if (editor.hasFocus()) {\n          focusBusyComponent(comp);\n        }\n      } else {\n        var throbberFocus = Composing.getCurrent(comp).exists(function (busyComp) {\n          return hasFocus(busyComp.element);\n        });\n        Blocking.unblock(comp);\n        set$7(element, 'display', 'none');\n        set$8(element, 'aria-hidden', 'true');\n        if (throbberFocus) {\n          editor.focus();\n        }\n      }\n    };\n    var renderThrobber = function (spec) {\n      return {\n        uid: spec.uid,\n        dom: {\n          tag: 'div',\n          attributes: { 'aria-hidden': 'true' },\n          classes: ['tox-throbber'],\n          styles: { display: 'none' }\n        },\n        behaviours: derive$1([\n          Replacing.config({}),\n          Blocking.config({ focus: false }),\n          Composing.config({\n            find: function (comp) {\n              return head(comp.components());\n            }\n          })\n        ]),\n        components: []\n      };\n    };\n    var isFocusEvent = function (event) {\n      return event.type === 'focusin';\n    };\n    var isPasteBinTarget = function (event) {\n      if (isFocusEvent(event)) {\n        var node = event.composed ? head(event.composedPath()) : Optional.from(event.target);\n        return node.map(SugarElement.fromDom).filter(isElement$2).exists(function (targetElm) {\n          return has(targetElm, 'mce-pastebin');\n        });\n      } else {\n        return false;\n      }\n    };\n    var setup$7 = function (editor, lazyThrobber, sharedBackstage) {\n      var throbberState = Cell(false);\n      var timer = value$1();\n      var stealFocus = function (e) {\n        if (throbberState.get() && !isPasteBinTarget(e)) {\n          e.preventDefault();\n          focusBusyComponent(lazyThrobber());\n          editor.editorManager.setActive(editor);\n        }\n      };\n      if (!editor.inline) {\n        editor.on('PreInit', function () {\n          editor.dom.bind(editor.getWin(), 'focusin', stealFocus);\n          editor.on('BeforeExecCommand', function (e) {\n            if (e.command.toLowerCase() === 'mcefocus' && e.value !== true) {\n              stealFocus(e);\n            }\n          });\n        });\n      }\n      var toggle = function (state) {\n        if (state !== throbberState.get()) {\n          throbberState.set(state);\n          toggleThrobber(editor, lazyThrobber(), state, sharedBackstage.providers);\n          editor.fire('AfterProgressState', { state: state });\n        }\n      };\n      editor.on('ProgressState', function (e) {\n        timer.on(global$f.clearTimeout);\n        if (isNumber(e.time)) {\n          var timerId = global$f.setEditorTimeout(editor, function () {\n            return toggle(e.state);\n          }, e.time);\n          timer.set(timerId);\n        } else {\n          toggle(e.state);\n          timer.clear();\n        }\n      });\n    };\n\n    var generate$1 = function (xs, f) {\n      var init = {\n        len: 0,\n        list: []\n      };\n      var r = foldl(xs, function (b, a) {\n        var value = f(a, b.len);\n        return value.fold(constant$1(b), function (v) {\n          return {\n            len: v.finish,\n            list: b.list.concat([v])\n          };\n        });\n      }, init);\n      return r.list;\n    };\n\n    var output = function (within, extra, withinWidth) {\n      return {\n        within: within,\n        extra: extra,\n        withinWidth: withinWidth\n      };\n    };\n    var apportion = function (units, total, len) {\n      var parray = generate$1(units, function (unit, current) {\n        var width = len(unit);\n        return Optional.some({\n          element: unit,\n          start: current,\n          finish: current + width,\n          width: width\n        });\n      });\n      var within = filter$2(parray, function (unit) {\n        return unit.finish <= total;\n      });\n      var withinWidth = foldr(within, function (acc, el) {\n        return acc + el.width;\n      }, 0);\n      var extra = parray.slice(within.length);\n      return {\n        within: within,\n        extra: extra,\n        withinWidth: withinWidth\n      };\n    };\n    var toUnit = function (parray) {\n      return map$2(parray, function (unit) {\n        return unit.element;\n      });\n    };\n    var fitLast = function (within, extra, withinWidth) {\n      var fits = toUnit(within.concat(extra));\n      return output(fits, [], withinWidth);\n    };\n    var overflow = function (within, extra, overflower, withinWidth) {\n      var fits = toUnit(within).concat([overflower]);\n      return output(fits, toUnit(extra), withinWidth);\n    };\n    var fitAll = function (within, extra, withinWidth) {\n      return output(toUnit(within), [], withinWidth);\n    };\n    var tryFit = function (total, units, len) {\n      var divide = apportion(units, total, len);\n      return divide.extra.length === 0 ? Optional.some(divide) : Optional.none();\n    };\n    var partition = function (total, units, len, overflower) {\n      var divide = tryFit(total, units, len).getOrThunk(function () {\n        return apportion(units, total - len(overflower), len);\n      });\n      var within = divide.within;\n      var extra = divide.extra;\n      var withinWidth = divide.withinWidth;\n      if (extra.length === 1 && extra[0].width <= len(overflower)) {\n        return fitLast(within, extra, withinWidth);\n      } else if (extra.length >= 1) {\n        return overflow(within, extra, overflower, withinWidth);\n      } else {\n        return fitAll(within, extra, withinWidth);\n      }\n    };\n\n    var setGroups$1 = function (toolbar, storedGroups) {\n      var bGroups = map$2(storedGroups, function (g) {\n        return premade(g);\n      });\n      Toolbar.setGroups(toolbar, bGroups);\n    };\n    var findFocusedComp = function (comps) {\n      return findMap(comps, function (comp) {\n        return search(comp.element).bind(function (focusedElm) {\n          return comp.getSystem().getByDom(focusedElm).toOptional();\n        });\n      });\n    };\n    var refresh$2 = function (toolbar, detail, setOverflow) {\n      var builtGroups = detail.builtGroups.get();\n      if (builtGroups.length === 0) {\n        return;\n      }\n      var primary = getPartOrDie(toolbar, detail, 'primary');\n      var overflowGroup = Coupling.getCoupled(toolbar, 'overflowGroup');\n      set$7(primary.element, 'visibility', 'hidden');\n      var groups = builtGroups.concat([overflowGroup]);\n      var focusedComp = findFocusedComp(groups);\n      setOverflow([]);\n      setGroups$1(primary, groups);\n      var availableWidth = get$a(primary.element);\n      var overflows = partition(availableWidth, detail.builtGroups.get(), function (comp) {\n        return get$a(comp.element);\n      }, overflowGroup);\n      if (overflows.extra.length === 0) {\n        Replacing.remove(primary, overflowGroup);\n        setOverflow([]);\n      } else {\n        setGroups$1(primary, overflows.within);\n        setOverflow(overflows.extra);\n      }\n      remove$6(primary.element, 'visibility');\n      reflow(primary.element);\n      focusedComp.each(Focusing.focus);\n    };\n\n    var schema$c = constant$1([\n      field('splitToolbarBehaviours', [Coupling]),\n      customField('builtGroups', function () {\n        return Cell([]);\n      })\n    ]);\n\n    var schema$b = constant$1([\n      markers$1(['overflowToggledClass']),\n      optionFunction('getOverflowBounds'),\n      required$1('lazySink'),\n      customField('overflowGroups', function () {\n        return Cell([]);\n      })\n    ].concat(schema$c()));\n    var parts$7 = constant$1([\n      required({\n        factory: Toolbar,\n        schema: schema$e(),\n        name: 'primary'\n      }),\n      external$1({\n        schema: schema$e(),\n        name: 'overflow'\n      }),\n      external$1({ name: 'overflow-button' }),\n      external$1({ name: 'overflow-group' })\n    ]);\n\n    var expandable = constant$1(function (element, available) {\n      setMax(element, Math.floor(available));\n    });\n\n    var schema$a = constant$1([\n      markers$1(['toggledClass']),\n      required$1('lazySink'),\n      requiredFunction('fetch'),\n      optionFunction('getBounds'),\n      optionObjOf('fireDismissalEventInstead', [defaulted('event', dismissRequested())]),\n      schema$y()\n    ]);\n    var parts$6 = constant$1([\n      external$1({\n        name: 'button',\n        overrides: function (detail) {\n          return {\n            dom: { attributes: { 'aria-haspopup': 'true' } },\n            buttonBehaviours: derive$1([Toggling.config({\n                toggleClass: detail.markers.toggledClass,\n                aria: { mode: 'expanded' },\n                toggleOnExecute: false\n              })])\n          };\n        }\n      }),\n      external$1({\n        factory: Toolbar,\n        schema: schema$e(),\n        name: 'toolbar',\n        overrides: function (detail) {\n          return {\n            toolbarBehaviours: derive$1([Keying.config({\n                mode: 'cyclic',\n                onEscape: function (comp) {\n                  getPart(comp, detail, 'button').each(Focusing.focus);\n                  return Optional.none();\n                }\n              })])\n          };\n        }\n      })\n    ]);\n\n    var toggle = function (button, externals) {\n      var toolbarSandbox = Coupling.getCoupled(button, 'toolbarSandbox');\n      if (Sandboxing.isOpen(toolbarSandbox)) {\n        Sandboxing.close(toolbarSandbox);\n      } else {\n        Sandboxing.open(toolbarSandbox, externals.toolbar());\n      }\n    };\n    var position = function (button, toolbar, detail, layouts) {\n      var bounds = detail.getBounds.map(function (bounder) {\n        return bounder();\n      });\n      var sink = detail.lazySink(button).getOrDie();\n      Positioning.positionWithinBounds(sink, toolbar, {\n        anchor: {\n          type: 'hotspot',\n          hotspot: button,\n          layouts: layouts,\n          overrides: { maxWidthFunction: expandable() }\n        }\n      }, bounds);\n    };\n    var setGroups = function (button, toolbar, detail, layouts, groups) {\n      Toolbar.setGroups(toolbar, groups);\n      position(button, toolbar, detail, layouts);\n      Toggling.on(button);\n    };\n    var makeSandbox = function (button, spec, detail) {\n      var ariaOwner = manager();\n      var onOpen = function (sandbox, toolbar) {\n        detail.fetch().get(function (groups) {\n          setGroups(button, toolbar, detail, spec.layouts, groups);\n          ariaOwner.link(button.element);\n          Keying.focusIn(toolbar);\n        });\n      };\n      var onClose = function () {\n        Toggling.off(button);\n        Focusing.focus(button);\n        ariaOwner.unlink(button.element);\n      };\n      return {\n        dom: {\n          tag: 'div',\n          attributes: { id: ariaOwner.id }\n        },\n        behaviours: derive$1([\n          Keying.config({\n            mode: 'special',\n            onEscape: function (comp) {\n              Sandboxing.close(comp);\n              return Optional.some(true);\n            }\n          }),\n          Sandboxing.config({\n            onOpen: onOpen,\n            onClose: onClose,\n            isPartOf: function (container, data, queryElem) {\n              return isPartOf$1(data, queryElem) || isPartOf$1(button, queryElem);\n            },\n            getAttachPoint: function () {\n              return detail.lazySink(button).getOrDie();\n            }\n          }),\n          Receiving.config({\n            channels: __assign(__assign({}, receivingChannel$1(__assign({ isExtraPart: never }, detail.fireDismissalEventInstead.map(function (fe) {\n              return { fireEventInstead: { event: fe.event } };\n            }).getOr({})))), receivingChannel({\n              doReposition: function () {\n                Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox')).each(function (toolbar) {\n                  position(button, toolbar, detail, spec.layouts);\n                });\n              }\n            }))\n          })\n        ])\n      };\n    };\n    var factory$a = function (detail, components, spec, externals) {\n      return __assign(__assign({}, Button.sketch(__assign(__assign({}, externals.button()), {\n        action: function (button) {\n          toggle(button, externals);\n        },\n        buttonBehaviours: SketchBehaviours.augment({ dump: externals.button().buttonBehaviours }, [Coupling.config({\n            others: {\n              toolbarSandbox: function (button) {\n                return makeSandbox(button, spec, detail);\n              }\n            }\n          })])\n      }))), {\n        apis: {\n          setGroups: function (button, groups) {\n            Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox')).each(function (toolbar) {\n              setGroups(button, toolbar, detail, spec.layouts, groups);\n            });\n          },\n          reposition: function (button) {\n            Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox')).each(function (toolbar) {\n              position(button, toolbar, detail, spec.layouts);\n            });\n          },\n          toggle: function (button) {\n            toggle(button, externals);\n          },\n          getToolbar: function (button) {\n            return Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox'));\n          },\n          isOpen: function (button) {\n            return Sandboxing.isOpen(Coupling.getCoupled(button, 'toolbarSandbox'));\n          }\n        }\n      });\n    };\n    var FloatingToolbarButton = composite({\n      name: 'FloatingToolbarButton',\n      factory: factory$a,\n      configFields: schema$a(),\n      partFields: parts$6(),\n      apis: {\n        setGroups: function (apis, button, groups) {\n          apis.setGroups(button, groups);\n        },\n        reposition: function (apis, button) {\n          apis.reposition(button);\n        },\n        toggle: function (apis, button) {\n          apis.toggle(button);\n        },\n        getToolbar: function (apis, button) {\n          return apis.getToolbar(button);\n        },\n        isOpen: function (apis, button) {\n          return apis.isOpen(button);\n        }\n      }\n    });\n\n    var schema$9 = constant$1([\n      required$1('items'),\n      markers$1(['itemSelector']),\n      field('tgroupBehaviours', [Keying])\n    ]);\n    var parts$5 = constant$1([group({\n        name: 'items',\n        unit: 'item'\n      })]);\n\n    var factory$9 = function (detail, components, _spec, _externals) {\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: augment(detail.tgroupBehaviours, [Keying.config({\n            mode: 'flow',\n            selector: detail.markers.itemSelector\n          })]),\n        domModification: { attributes: { role: 'toolbar' } }\n      };\n    };\n    var ToolbarGroup = composite({\n      name: 'ToolbarGroup',\n      configFields: schema$9(),\n      partFields: parts$5(),\n      factory: factory$9\n    });\n\n    var buildGroups = function (comps) {\n      return map$2(comps, function (g) {\n        return premade(g);\n      });\n    };\n    var refresh$1 = function (toolbar, memFloatingToolbarButton, detail) {\n      refresh$2(toolbar, detail, function (overflowGroups) {\n        detail.overflowGroups.set(overflowGroups);\n        memFloatingToolbarButton.getOpt(toolbar).each(function (floatingToolbarButton) {\n          FloatingToolbarButton.setGroups(floatingToolbarButton, buildGroups(overflowGroups));\n        });\n      });\n    };\n    var factory$8 = function (detail, components, spec, externals) {\n      var memFloatingToolbarButton = record(FloatingToolbarButton.sketch({\n        fetch: function () {\n          return Future.nu(function (resolve) {\n            resolve(buildGroups(detail.overflowGroups.get()));\n          });\n        },\n        layouts: {\n          onLtr: function () {\n            return [\n              southwest$2,\n              southeast$2\n            ];\n          },\n          onRtl: function () {\n            return [\n              southeast$2,\n              southwest$2\n            ];\n          },\n          onBottomLtr: function () {\n            return [\n              northwest$2,\n              northeast$2\n            ];\n          },\n          onBottomRtl: function () {\n            return [\n              northeast$2,\n              northwest$2\n            ];\n          }\n        },\n        getBounds: spec.getOverflowBounds,\n        lazySink: detail.lazySink,\n        fireDismissalEventInstead: {},\n        markers: { toggledClass: detail.markers.overflowToggledClass },\n        parts: {\n          button: externals['overflow-button'](),\n          toolbar: externals.overflow()\n        }\n      }));\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: augment(detail.splitToolbarBehaviours, [Coupling.config({\n            others: {\n              overflowGroup: function () {\n                return ToolbarGroup.sketch(__assign(__assign({}, externals['overflow-group']()), { items: [memFloatingToolbarButton.asSpec()] }));\n              }\n            }\n          })]),\n        apis: {\n          setGroups: function (toolbar, groups) {\n            detail.builtGroups.set(map$2(groups, toolbar.getSystem().build));\n            refresh$1(toolbar, memFloatingToolbarButton, detail);\n          },\n          refresh: function (toolbar) {\n            return refresh$1(toolbar, memFloatingToolbarButton, detail);\n          },\n          toggle: function (toolbar) {\n            memFloatingToolbarButton.getOpt(toolbar).each(function (floatingToolbarButton) {\n              FloatingToolbarButton.toggle(floatingToolbarButton);\n            });\n          },\n          isOpen: function (toolbar) {\n            return memFloatingToolbarButton.getOpt(toolbar).map(FloatingToolbarButton.isOpen).getOr(false);\n          },\n          reposition: function (toolbar) {\n            memFloatingToolbarButton.getOpt(toolbar).each(function (floatingToolbarButton) {\n              FloatingToolbarButton.reposition(floatingToolbarButton);\n            });\n          },\n          getOverflow: function (toolbar) {\n            return memFloatingToolbarButton.getOpt(toolbar).bind(FloatingToolbarButton.getToolbar);\n          }\n        },\n        domModification: { attributes: { role: 'group' } }\n      };\n    };\n    var SplitFloatingToolbar = composite({\n      name: 'SplitFloatingToolbar',\n      configFields: schema$b(),\n      partFields: parts$7(),\n      factory: factory$8,\n      apis: {\n        setGroups: function (apis, toolbar, groups) {\n          apis.setGroups(toolbar, groups);\n        },\n        refresh: function (apis, toolbar) {\n          apis.refresh(toolbar);\n        },\n        reposition: function (apis, toolbar) {\n          apis.reposition(toolbar);\n        },\n        toggle: function (apis, toolbar) {\n          apis.toggle(toolbar);\n        },\n        isOpen: function (apis, toolbar) {\n          return apis.isOpen(toolbar);\n        },\n        getOverflow: function (apis, toolbar) {\n          return apis.getOverflow(toolbar);\n        }\n      }\n    });\n\n    var schema$8 = constant$1([\n      markers$1([\n        'closedClass',\n        'openClass',\n        'shrinkingClass',\n        'growingClass',\n        'overflowToggledClass'\n      ]),\n      onHandler('onOpened'),\n      onHandler('onClosed')\n    ].concat(schema$c()));\n    var parts$4 = constant$1([\n      required({\n        factory: Toolbar,\n        schema: schema$e(),\n        name: 'primary'\n      }),\n      required({\n        factory: Toolbar,\n        schema: schema$e(),\n        name: 'overflow',\n        overrides: function (detail) {\n          return {\n            toolbarBehaviours: derive$1([\n              Sliding.config({\n                dimension: { property: 'height' },\n                closedClass: detail.markers.closedClass,\n                openClass: detail.markers.openClass,\n                shrinkingClass: detail.markers.shrinkingClass,\n                growingClass: detail.markers.growingClass,\n                onShrunk: function (comp) {\n                  getPart(comp, detail, 'overflow-button').each(function (button) {\n                    Toggling.off(button);\n                    Focusing.focus(button);\n                  });\n                  detail.onClosed(comp);\n                },\n                onGrown: function (comp) {\n                  Keying.focusIn(comp);\n                  detail.onOpened(comp);\n                },\n                onStartGrow: function (comp) {\n                  getPart(comp, detail, 'overflow-button').each(Toggling.on);\n                }\n              }),\n              Keying.config({\n                mode: 'acyclic',\n                onEscape: function (comp) {\n                  getPart(comp, detail, 'overflow-button').each(Focusing.focus);\n                  return Optional.some(true);\n                }\n              })\n            ])\n          };\n        }\n      }),\n      external$1({\n        name: 'overflow-button',\n        overrides: function (detail) {\n          return {\n            buttonBehaviours: derive$1([Toggling.config({\n                toggleClass: detail.markers.overflowToggledClass,\n                aria: { mode: 'pressed' },\n                toggleOnExecute: false\n              })])\n          };\n        }\n      }),\n      external$1({ name: 'overflow-group' })\n    ]);\n\n    var isOpen = function (toolbar, detail) {\n      return getPart(toolbar, detail, 'overflow').map(Sliding.hasGrown).getOr(false);\n    };\n    var toggleToolbar = function (toolbar, detail) {\n      getPart(toolbar, detail, 'overflow-button').bind(function () {\n        return getPart(toolbar, detail, 'overflow');\n      }).each(function (overf) {\n        refresh(toolbar, detail);\n        Sliding.toggleGrow(overf);\n      });\n    };\n    var refresh = function (toolbar, detail) {\n      getPart(toolbar, detail, 'overflow').each(function (overflow) {\n        refresh$2(toolbar, detail, function (groups) {\n          var builtGroups = map$2(groups, function (g) {\n            return premade(g);\n          });\n          Toolbar.setGroups(overflow, builtGroups);\n        });\n        getPart(toolbar, detail, 'overflow-button').each(function (button) {\n          if (Sliding.hasGrown(overflow)) {\n            Toggling.on(button);\n          }\n        });\n        Sliding.refresh(overflow);\n      });\n    };\n    var factory$7 = function (detail, components, spec, externals) {\n      var toolbarToggleEvent = 'alloy.toolbar.toggle';\n      var doSetGroups = function (toolbar, groups) {\n        var built = map$2(groups, toolbar.getSystem().build);\n        detail.builtGroups.set(built);\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: augment(detail.splitToolbarBehaviours, [\n          Coupling.config({\n            others: {\n              overflowGroup: function (toolbar) {\n                return ToolbarGroup.sketch(__assign(__assign({}, externals['overflow-group']()), {\n                  items: [Button.sketch(__assign(__assign({}, externals['overflow-button']()), {\n                      action: function (_button) {\n                        emit(toolbar, toolbarToggleEvent);\n                      }\n                    }))]\n                }));\n              }\n            }\n          }),\n          config('toolbar-toggle-events', [run$1(toolbarToggleEvent, function (toolbar) {\n              toggleToolbar(toolbar, detail);\n            })])\n        ]),\n        apis: {\n          setGroups: function (toolbar, groups) {\n            doSetGroups(toolbar, groups);\n            refresh(toolbar, detail);\n          },\n          refresh: function (toolbar) {\n            return refresh(toolbar, detail);\n          },\n          toggle: function (toolbar) {\n            return toggleToolbar(toolbar, detail);\n          },\n          isOpen: function (toolbar) {\n            return isOpen(toolbar, detail);\n          }\n        },\n        domModification: { attributes: { role: 'group' } }\n      };\n    };\n    var SplitSlidingToolbar = composite({\n      name: 'SplitSlidingToolbar',\n      configFields: schema$8(),\n      partFields: parts$4(),\n      factory: factory$7,\n      apis: {\n        setGroups: function (apis, toolbar, groups) {\n          apis.setGroups(toolbar, groups);\n        },\n        refresh: function (apis, toolbar) {\n          apis.refresh(toolbar);\n        },\n        toggle: function (apis, toolbar) {\n          apis.toggle(toolbar);\n        },\n        isOpen: function (apis, toolbar) {\n          return apis.isOpen(toolbar);\n        }\n      }\n    });\n\n    var renderToolbarGroupCommon = function (toolbarGroup) {\n      var attributes = toolbarGroup.title.fold(function () {\n        return {};\n      }, function (title) {\n        return { attributes: { title: title } };\n      });\n      return {\n        dom: __assign({\n          tag: 'div',\n          classes: ['tox-toolbar__group']\n        }, attributes),\n        components: [ToolbarGroup.parts.items({})],\n        items: toolbarGroup.items,\n        markers: { itemSelector: '*:not(.tox-split-button) > .tox-tbtn:not([disabled]), ' + '.tox-split-button:not([disabled]), ' + '.tox-toolbar-nav-js:not([disabled])' },\n        tgroupBehaviours: derive$1([\n          Tabstopping.config({}),\n          Focusing.config({})\n        ])\n      };\n    };\n    var renderToolbarGroup = function (toolbarGroup) {\n      return ToolbarGroup.sketch(renderToolbarGroupCommon(toolbarGroup));\n    };\n    var getToolbarbehaviours = function (toolbarSpec, modeName) {\n      var onAttached = runOnAttached(function (component) {\n        var groups = map$2(toolbarSpec.initGroups, renderToolbarGroup);\n        Toolbar.setGroups(component, groups);\n      });\n      return derive$1([\n        DisablingConfigs.toolbarButton(toolbarSpec.providers.isDisabled),\n        receivingConfig(),\n        Keying.config({\n          mode: modeName,\n          onEscape: toolbarSpec.onEscape,\n          selector: '.tox-toolbar__group'\n        }),\n        config('toolbar-events', [onAttached])\n      ]);\n    };\n    var renderMoreToolbarCommon = function (toolbarSpec) {\n      var modeName = toolbarSpec.cyclicKeying ? 'cyclic' : 'acyclic';\n      return {\n        uid: toolbarSpec.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar-overlord']\n        },\n        parts: {\n          'overflow-group': renderToolbarGroupCommon({\n            title: Optional.none(),\n            items: []\n          }),\n          'overflow-button': renderIconButtonSpec({\n            name: 'more',\n            icon: Optional.some('more-drawer'),\n            disabled: false,\n            tooltip: Optional.some('More...'),\n            primary: false,\n            borderless: false\n          }, Optional.none(), toolbarSpec.providers)\n        },\n        splitToolbarBehaviours: getToolbarbehaviours(toolbarSpec, modeName)\n      };\n    };\n    var renderFloatingMoreToolbar = function (toolbarSpec) {\n      var baseSpec = renderMoreToolbarCommon(toolbarSpec);\n      var overflowXOffset = 4;\n      var primary = SplitFloatingToolbar.parts.primary({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__primary']\n        }\n      });\n      return SplitFloatingToolbar.sketch(__assign(__assign({}, baseSpec), {\n        lazySink: toolbarSpec.getSink,\n        getOverflowBounds: function () {\n          var headerElem = toolbarSpec.moreDrawerData.lazyHeader().element;\n          var headerBounds = absolute$2(headerElem);\n          var docElem = documentElement(headerElem);\n          var docBounds = absolute$2(docElem);\n          var height = Math.max(docElem.dom.scrollHeight, docBounds.height);\n          return bounds(headerBounds.x + overflowXOffset, docBounds.y, headerBounds.width - overflowXOffset * 2, height);\n        },\n        parts: __assign(__assign({}, baseSpec.parts), {\n          overflow: {\n            dom: {\n              tag: 'div',\n              classes: ['tox-toolbar__overflow'],\n              attributes: toolbarSpec.attributes\n            }\n          }\n        }),\n        components: [primary],\n        markers: { overflowToggledClass: 'tox-tbtn--enabled' }\n      }));\n    };\n    var renderSlidingMoreToolbar = function (toolbarSpec) {\n      var primary = SplitSlidingToolbar.parts.primary({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__primary']\n        }\n      });\n      var overflow = SplitSlidingToolbar.parts.overflow({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__overflow']\n        }\n      });\n      var baseSpec = renderMoreToolbarCommon(toolbarSpec);\n      return SplitSlidingToolbar.sketch(__assign(__assign({}, baseSpec), {\n        components: [\n          primary,\n          overflow\n        ],\n        markers: {\n          openClass: 'tox-toolbar__overflow--open',\n          closedClass: 'tox-toolbar__overflow--closed',\n          growingClass: 'tox-toolbar__overflow--growing',\n          shrinkingClass: 'tox-toolbar__overflow--shrinking',\n          overflowToggledClass: 'tox-tbtn--enabled'\n        },\n        onOpened: function (comp) {\n          comp.getSystem().broadcastOn([toolbarHeightChange()], { type: 'opened' });\n        },\n        onClosed: function (comp) {\n          comp.getSystem().broadcastOn([toolbarHeightChange()], { type: 'closed' });\n        }\n      }));\n    };\n    var renderToolbar = function (toolbarSpec) {\n      var modeName = toolbarSpec.cyclicKeying ? 'cyclic' : 'acyclic';\n      return Toolbar.sketch({\n        uid: toolbarSpec.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar'].concat(toolbarSpec.type === ToolbarMode.scrolling ? ['tox-toolbar--scrolling'] : [])\n        },\n        components: [Toolbar.parts.groups({})],\n        toolbarBehaviours: getToolbarbehaviours(toolbarSpec, modeName)\n      });\n    };\n\n    var factory$6 = function (detail, components, _spec) {\n      var apis = {\n        getSocket: function (comp) {\n          return parts$a.getPart(comp, detail, 'socket');\n        },\n        setSidebar: function (comp, panelConfigs) {\n          parts$a.getPart(comp, detail, 'sidebar').each(function (sidebar) {\n            return setSidebar(sidebar, panelConfigs);\n          });\n        },\n        toggleSidebar: function (comp, name) {\n          parts$a.getPart(comp, detail, 'sidebar').each(function (sidebar) {\n            return toggleSidebar(sidebar, name);\n          });\n        },\n        whichSidebar: function (comp) {\n          return parts$a.getPart(comp, detail, 'sidebar').bind(whichSidebar).getOrNull();\n        },\n        getHeader: function (comp) {\n          return parts$a.getPart(comp, detail, 'header');\n        },\n        getToolbar: function (comp) {\n          return parts$a.getPart(comp, detail, 'toolbar');\n        },\n        setToolbar: function (comp, groups) {\n          parts$a.getPart(comp, detail, 'toolbar').each(function (toolbar) {\n            toolbar.getApis().setGroups(toolbar, groups);\n          });\n        },\n        setToolbars: function (comp, toolbars) {\n          parts$a.getPart(comp, detail, 'multiple-toolbar').each(function (mToolbar) {\n            CustomList.setItems(mToolbar, toolbars);\n          });\n        },\n        refreshToolbar: function (comp) {\n          var toolbar = parts$a.getPart(comp, detail, 'toolbar');\n          toolbar.each(function (toolbar) {\n            return toolbar.getApis().refresh(toolbar);\n          });\n        },\n        toggleToolbarDrawer: function (comp) {\n          parts$a.getPart(comp, detail, 'toolbar').each(function (toolbar) {\n            mapFrom(toolbar.getApis().toggle, function (toggle) {\n              return toggle(toolbar);\n            });\n          });\n        },\n        isToolbarDrawerToggled: function (comp) {\n          return parts$a.getPart(comp, detail, 'toolbar').bind(function (toolbar) {\n            return Optional.from(toolbar.getApis().isOpen).map(function (isOpen) {\n              return isOpen(toolbar);\n            });\n          }).getOr(false);\n        },\n        getThrobber: function (comp) {\n          return parts$a.getPart(comp, detail, 'throbber');\n        },\n        focusToolbar: function (comp) {\n          var optToolbar = parts$a.getPart(comp, detail, 'toolbar').orThunk(function () {\n            return parts$a.getPart(comp, detail, 'multiple-toolbar');\n          });\n          optToolbar.each(function (toolbar) {\n            Keying.focusIn(toolbar);\n          });\n        },\n        setMenubar: function (comp, menus) {\n          parts$a.getPart(comp, detail, 'menubar').each(function (menubar) {\n            SilverMenubar.setMenus(menubar, menus);\n          });\n        },\n        focusMenubar: function (comp) {\n          parts$a.getPart(comp, detail, 'menubar').each(function (menubar) {\n            SilverMenubar.focus(menubar);\n          });\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        apis: apis,\n        behaviours: detail.behaviours\n      };\n    };\n    var partMenubar = partType.optional({\n      factory: SilverMenubar,\n      name: 'menubar',\n      schema: [required$1('backstage')]\n    });\n    var toolbarFactory = function (spec) {\n      if (spec.type === ToolbarMode.sliding) {\n        return renderSlidingMoreToolbar;\n      } else if (spec.type === ToolbarMode.floating) {\n        return renderFloatingMoreToolbar;\n      } else {\n        return renderToolbar;\n      }\n    };\n    var partMultipleToolbar = partType.optional({\n      factory: {\n        sketch: function (spec) {\n          return CustomList.sketch({\n            uid: spec.uid,\n            dom: spec.dom,\n            listBehaviours: derive$1([Keying.config({\n                mode: 'acyclic',\n                selector: '.tox-toolbar'\n              })]),\n            makeItem: function () {\n              return renderToolbar({\n                type: spec.type,\n                uid: generate$6('multiple-toolbar-item'),\n                cyclicKeying: false,\n                initGroups: [],\n                providers: spec.providers,\n                onEscape: function () {\n                  spec.onEscape();\n                  return Optional.some(true);\n                }\n              });\n            },\n            setupItem: function (_mToolbar, tc, data, _index) {\n              Toolbar.setGroups(tc, data);\n            },\n            shell: true\n          });\n        }\n      },\n      name: 'multiple-toolbar',\n      schema: [\n        required$1('dom'),\n        required$1('onEscape')\n      ]\n    });\n    var partToolbar = partType.optional({\n      factory: {\n        sketch: function (spec) {\n          var renderer = toolbarFactory(spec);\n          var toolbarSpec = {\n            type: spec.type,\n            uid: spec.uid,\n            onEscape: function () {\n              spec.onEscape();\n              return Optional.some(true);\n            },\n            cyclicKeying: false,\n            initGroups: [],\n            getSink: spec.getSink,\n            providers: spec.providers,\n            moreDrawerData: {\n              lazyToolbar: spec.lazyToolbar,\n              lazyMoreButton: spec.lazyMoreButton,\n              lazyHeader: spec.lazyHeader\n            },\n            attributes: spec.attributes\n          };\n          return renderer(toolbarSpec);\n        }\n      },\n      name: 'toolbar',\n      schema: [\n        required$1('dom'),\n        required$1('onEscape'),\n        required$1('getSink')\n      ]\n    });\n    var partHeader = partType.optional({\n      factory: { sketch: renderHeader },\n      name: 'header',\n      schema: [required$1('dom')]\n    });\n    var partSocket = partType.optional({\n      name: 'socket',\n      schema: [required$1('dom')]\n    });\n    var partSidebar = partType.optional({\n      factory: { sketch: renderSidebar },\n      name: 'sidebar',\n      schema: [required$1('dom')]\n    });\n    var partThrobber = partType.optional({\n      factory: { sketch: renderThrobber },\n      name: 'throbber',\n      schema: [required$1('dom')]\n    });\n    var OuterContainer = composite({\n      name: 'OuterContainer',\n      factory: factory$6,\n      configFields: [\n        required$1('dom'),\n        required$1('behaviours')\n      ],\n      partFields: [\n        partHeader,\n        partMenubar,\n        partToolbar,\n        partMultipleToolbar,\n        partSocket,\n        partSidebar,\n        partThrobber\n      ],\n      apis: {\n        getSocket: function (apis, comp) {\n          return apis.getSocket(comp);\n        },\n        setSidebar: function (apis, comp, panelConfigs) {\n          apis.setSidebar(comp, panelConfigs);\n        },\n        toggleSidebar: function (apis, comp, name) {\n          apis.toggleSidebar(comp, name);\n        },\n        whichSidebar: function (apis, comp) {\n          return apis.whichSidebar(comp);\n        },\n        getHeader: function (apis, comp) {\n          return apis.getHeader(comp);\n        },\n        getToolbar: function (apis, comp) {\n          return apis.getToolbar(comp);\n        },\n        setToolbar: function (apis, comp, grps) {\n          var groups = map$2(grps, function (grp) {\n            return renderToolbarGroup(grp);\n          });\n          apis.setToolbar(comp, groups);\n        },\n        setToolbars: function (apis, comp, ts) {\n          var renderedToolbars = map$2(ts, function (g) {\n            return map$2(g, renderToolbarGroup);\n          });\n          apis.setToolbars(comp, renderedToolbars);\n        },\n        refreshToolbar: function (apis, comp) {\n          return apis.refreshToolbar(comp);\n        },\n        toggleToolbarDrawer: function (apis, comp) {\n          apis.toggleToolbarDrawer(comp);\n        },\n        isToolbarDrawerToggled: function (apis, comp) {\n          return apis.isToolbarDrawerToggled(comp);\n        },\n        getThrobber: function (apis, comp) {\n          return apis.getThrobber(comp);\n        },\n        setMenubar: function (apis, comp, menus) {\n          apis.setMenubar(comp, menus);\n        },\n        focusMenubar: function (apis, comp) {\n          apis.focusMenubar(comp);\n        },\n        focusToolbar: function (apis, comp) {\n          apis.focusToolbar(comp);\n        }\n      }\n    });\n\n    var defaultMenubar = 'file edit view insert format tools table help';\n    var defaultMenus = {\n      file: {\n        title: 'File',\n        items: 'newdocument restoredraft | preview | export print | deleteallconversations'\n      },\n      edit: {\n        title: 'Edit',\n        items: 'undo redo | cut copy paste pastetext | selectall | searchreplace'\n      },\n      view: {\n        title: 'View',\n        items: 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments'\n      },\n      insert: {\n        title: 'Insert',\n        items: 'image link media addcomment pageembed template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor toc | insertdatetime'\n      },\n      format: {\n        title: 'Format',\n        items: 'bold italic underline strikethrough superscript subscript codeformat | formats blockformats fontformats fontsizes align lineheight | forecolor backcolor | language | removeformat'\n      },\n      tools: {\n        title: 'Tools',\n        items: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount'\n      },\n      table: {\n        title: 'Table',\n        items: 'inserttable | cell row column | advtablesort | tableprops deletetable'\n      },\n      help: {\n        title: 'Help',\n        items: 'help'\n      }\n    };\n    var make = function (menu, registry, editor) {\n      var removedMenuItems = getRemovedMenuItems(editor).split(/[ ,]/);\n      return {\n        text: menu.title,\n        getItems: function () {\n          return bind$3(menu.items, function (i) {\n            var itemName = i.toLowerCase();\n            if (itemName.trim().length === 0) {\n              return [];\n            } else if (exists(removedMenuItems, function (removedMenuItem) {\n                return removedMenuItem === itemName;\n              })) {\n              return [];\n            } else if (itemName === 'separator' || itemName === '|') {\n              return [{ type: 'separator' }];\n            } else if (registry.menuItems[itemName]) {\n              return [registry.menuItems[itemName]];\n            } else {\n              return [];\n            }\n          });\n        }\n      };\n    };\n    var parseItemsString = function (items) {\n      if (typeof items === 'string') {\n        return items.split(' ');\n      }\n      return items;\n    };\n    var identifyMenus = function (editor, registry) {\n      var rawMenuData = __assign(__assign({}, defaultMenus), registry.menus);\n      var userDefinedMenus = keys(registry.menus).length > 0;\n      var menubar = registry.menubar === undefined || registry.menubar === true ? parseItemsString(defaultMenubar) : parseItemsString(registry.menubar === false ? '' : registry.menubar);\n      var validMenus = filter$2(menubar, function (menuName) {\n        var isDefaultMenu = has$2(defaultMenus, menuName);\n        if (userDefinedMenus) {\n          return isDefaultMenu || get$e(registry.menus, menuName).exists(function (menu) {\n            return has$2(menu, 'items');\n          });\n        } else {\n          return isDefaultMenu;\n        }\n      });\n      var menus = map$2(validMenus, function (menuName) {\n        var menuData = rawMenuData[menuName];\n        return make({\n          title: menuData.title,\n          items: parseItemsString(menuData.items)\n        }, registry, editor);\n      });\n      return filter$2(menus, function (menu) {\n        var isNotSeparator = function (item) {\n          return item.type !== 'separator';\n        };\n        return menu.getItems().length > 0 && exists(menu.getItems(), isNotSeparator);\n      });\n    };\n\n    var fireSkinLoaded = function (editor) {\n      var done = function () {\n        editor._skinLoaded = true;\n        fireSkinLoaded$1(editor);\n      };\n      return function () {\n        if (editor.initialized) {\n          done();\n        } else {\n          editor.on('init', done);\n        }\n      };\n    };\n    var fireSkinLoadError = function (editor, err) {\n      return function () {\n        return fireSkinLoadError$1(editor, { message: err });\n      };\n    };\n\n    var loadStylesheet = function (editor, stylesheetUrl, styleSheetLoader) {\n      return new global$c(function (resolve, reject) {\n        styleSheetLoader.load(stylesheetUrl, resolve, reject);\n        editor.on('remove', function () {\n          return styleSheetLoader.unload(stylesheetUrl);\n        });\n      });\n    };\n    var loadUiSkins = function (editor, skinUrl) {\n      var skinUiCss = skinUrl + '/skin.min.css';\n      return loadStylesheet(editor, skinUiCss, editor.ui.styleSheetLoader);\n    };\n    var loadShadowDomUiSkins = function (editor, skinUrl) {\n      var isInShadowRoot$1 = isInShadowRoot(SugarElement.fromDom(editor.getElement()));\n      if (isInShadowRoot$1) {\n        var shadowDomSkinCss = skinUrl + '/skin.shadowdom.min.css';\n        return loadStylesheet(editor, shadowDomSkinCss, global$b.DOM.styleSheetLoader);\n      } else {\n        return global$c.resolve();\n      }\n    };\n    var loadSkin = function (isInline, editor) {\n      var skinUrl = getSkinUrl(editor);\n      if (skinUrl) {\n        editor.contentCSS.push(skinUrl + (isInline ? '/content.inline' : '/content') + '.min.css');\n      }\n      if (isSkinDisabled(editor) === false && isString(skinUrl)) {\n        global$c.all([\n          loadUiSkins(editor, skinUrl),\n          loadShadowDomUiSkins(editor, skinUrl)\n        ]).then(fireSkinLoaded(editor), fireSkinLoadError(editor, 'Skin could not be loaded'));\n      } else {\n        fireSkinLoaded(editor)();\n      }\n    };\n    var iframe = curry(loadSkin, false);\n    var inline = curry(loadSkin, true);\n\n    var onSetupFormatToggle = function (editor, name) {\n      return function (api) {\n        var boundCallback = unbindable();\n        var init = function () {\n          api.setActive(editor.formatter.match(name));\n          var binding = editor.formatter.formatChanged(name, api.setActive);\n          boundCallback.set(binding);\n        };\n        editor.initialized ? init() : editor.once('init', init);\n        return function () {\n          editor.off('init', init);\n          boundCallback.clear();\n        };\n      };\n    };\n    var onSetupEvent = function (editor, event, f) {\n      return function (api) {\n        var handleEvent = function () {\n          return f(api);\n        };\n        var init = function () {\n          f(api);\n          editor.on(event, handleEvent);\n        };\n        editor.initialized ? init() : editor.once('init', init);\n        return function () {\n          editor.off('init', init);\n          editor.off(event, handleEvent);\n        };\n      };\n    };\n    var onActionToggleFormat$1 = function (editor) {\n      return function (rawItem) {\n        return function () {\n          editor.undoManager.transact(function () {\n            editor.focus();\n            editor.execCommand('mceToggleFormat', false, rawItem.format);\n          });\n        };\n      };\n    };\n    var onActionExecCommand = function (editor, command) {\n      return function () {\n        return editor.execCommand(command);\n      };\n    };\n\n    var generateSelectItems = function (_editor, backstage, spec) {\n      var generateItem = function (rawItem, response, disabled, value) {\n        var translatedText = backstage.shared.providers.translate(rawItem.title);\n        if (rawItem.type === 'separator') {\n          return Optional.some({\n            type: 'separator',\n            text: translatedText\n          });\n        } else if (rawItem.type === 'submenu') {\n          var items = bind$3(rawItem.getStyleItems(), function (si) {\n            return validate(si, response, value);\n          });\n          if (response === 0 && items.length <= 0) {\n            return Optional.none();\n          } else {\n            return Optional.some({\n              type: 'nestedmenuitem',\n              text: translatedText,\n              disabled: items.length <= 0,\n              getSubmenuItems: function () {\n                return bind$3(rawItem.getStyleItems(), function (si) {\n                  return validate(si, response, value);\n                });\n              }\n            });\n          }\n        } else {\n          return Optional.some(__assign({\n            type: 'togglemenuitem',\n            text: translatedText,\n            icon: rawItem.icon,\n            active: rawItem.isSelected(value),\n            disabled: disabled,\n            onAction: spec.onAction(rawItem)\n          }, rawItem.getStylePreview().fold(function () {\n            return {};\n          }, function (preview) {\n            return { meta: { style: preview } };\n          })));\n        }\n      };\n      var validate = function (item, response, value) {\n        var invalid = item.type === 'formatter' && spec.isInvalid(item);\n        if (response === 0) {\n          return invalid ? [] : generateItem(item, response, false, value).toArray();\n        } else {\n          return generateItem(item, response, invalid, value).toArray();\n        }\n      };\n      var validateItems = function (preItems) {\n        var value = spec.getCurrentValue();\n        var response = spec.shouldHide ? 0 : 1;\n        return bind$3(preItems, function (item) {\n          return validate(item, response, value);\n        });\n      };\n      var getFetch = function (backstage, getStyleItems) {\n        return function (comp, callback) {\n          var preItems = getStyleItems();\n          var items = validateItems(preItems);\n          var menu = build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, false);\n          callback(menu);\n        };\n      };\n      return {\n        validateItems: validateItems,\n        getFetch: getFetch\n      };\n    };\n    var createMenuItems = function (editor, backstage, spec) {\n      var dataset = spec.dataset;\n      var getStyleItems = dataset.type === 'basic' ? function () {\n        return map$2(dataset.data, function (d) {\n          return processBasic(d, spec.isSelectedFor, spec.getPreviewFor);\n        });\n      } : dataset.getData;\n      return {\n        items: generateSelectItems(editor, backstage, spec),\n        getStyleItems: getStyleItems\n      };\n    };\n    var createSelectButton = function (editor, backstage, spec) {\n      var _a = createMenuItems(editor, backstage, spec), items = _a.items, getStyleItems = _a.getStyleItems;\n      var getApi = function (comp) {\n        return { getComponent: constant$1(comp) };\n      };\n      var onSetup = onSetupEvent(editor, 'NodeChange', function (api) {\n        var comp = api.getComponent();\n        spec.updateText(comp);\n      });\n      return renderCommonDropdown({\n        text: spec.icon.isSome() ? Optional.none() : spec.text,\n        icon: spec.icon,\n        tooltip: Optional.from(spec.tooltip),\n        role: Optional.none(),\n        fetch: items.getFetch(backstage, getStyleItems),\n        onSetup: onSetup,\n        getApi: getApi,\n        columns: 1,\n        presets: 'normal',\n        classes: spec.icon.isSome() ? [] : ['bespoke'],\n        dropdownBehaviours: []\n      }, 'tox-tbtn', backstage.shared);\n    };\n\n    var process = function (rawFormats) {\n      return map$2(rawFormats, function (item) {\n        var title = item, format = item;\n        var values = item.split('=');\n        if (values.length > 1) {\n          title = values[0];\n          format = values[1];\n        }\n        return {\n          title: title,\n          format: format\n        };\n      });\n    };\n    var buildBasicStaticDataset = function (data) {\n      return {\n        type: 'basic',\n        data: data\n      };\n    };\n    var Delimiter;\n    (function (Delimiter) {\n      Delimiter[Delimiter['SemiColon'] = 0] = 'SemiColon';\n      Delimiter[Delimiter['Space'] = 1] = 'Space';\n    }(Delimiter || (Delimiter = {})));\n    var split = function (rawFormats, delimiter) {\n      if (delimiter === Delimiter.SemiColon) {\n        return rawFormats.replace(/;$/, '').split(';');\n      } else {\n        return rawFormats.split(' ');\n      }\n    };\n    var buildBasicSettingsDataset = function (editor, settingName, defaults, delimiter) {\n      var rawFormats = editor.getParam(settingName, defaults, 'string');\n      var data = process(split(rawFormats, delimiter));\n      return {\n        type: 'basic',\n        data: data\n      };\n    };\n\n    var alignMenuItems = [\n      {\n        title: 'Left',\n        icon: 'align-left',\n        format: 'alignleft',\n        command: 'JustifyLeft'\n      },\n      {\n        title: 'Center',\n        icon: 'align-center',\n        format: 'aligncenter',\n        command: 'JustifyCenter'\n      },\n      {\n        title: 'Right',\n        icon: 'align-right',\n        format: 'alignright',\n        command: 'JustifyRight'\n      },\n      {\n        title: 'Justify',\n        icon: 'align-justify',\n        format: 'alignjustify',\n        command: 'JustifyFull'\n      }\n    ];\n    var getSpec$4 = function (editor) {\n      var getMatchingValue = function () {\n        return find$5(alignMenuItems, function (item) {\n          return editor.formatter.match(item.format);\n        });\n      };\n      var isSelectedFor = function (format) {\n        return function () {\n          return editor.formatter.match(format);\n        };\n      };\n      var getPreviewFor = function (_format) {\n        return Optional.none;\n      };\n      var updateSelectMenuIcon = function (comp) {\n        var match = getMatchingValue();\n        var alignment = match.fold(constant$1('left'), function (item) {\n          return item.title.toLowerCase();\n        });\n        emitWith(comp, updateMenuIcon, { icon: 'align-' + alignment });\n      };\n      var dataset = buildBasicStaticDataset(alignMenuItems);\n      var onAction = function (rawItem) {\n        return function () {\n          return find$5(alignMenuItems, function (item) {\n            return item.format === rawItem.format;\n          }).each(function (item) {\n            return editor.execCommand(item.command);\n          });\n        };\n      };\n      return {\n        tooltip: 'Align',\n        text: Optional.none(),\n        icon: Optional.some('align-left'),\n        isSelectedFor: isSelectedFor,\n        getCurrentValue: Optional.none,\n        getPreviewFor: getPreviewFor,\n        onAction: onAction,\n        updateText: updateSelectMenuIcon,\n        dataset: dataset,\n        shouldHide: false,\n        isInvalid: function (item) {\n          return !editor.formatter.canApply(item.format);\n        }\n      };\n    };\n    var createAlignSelect = function (editor, backstage) {\n      return createSelectButton(editor, backstage, getSpec$4(editor));\n    };\n    var alignSelectMenu = function (editor, backstage) {\n      var menuItems = createMenuItems(editor, backstage, getSpec$4(editor));\n      editor.ui.registry.addNestedMenuItem('align', {\n        text: backstage.shared.providers.translate('Align'),\n        getSubmenuItems: function () {\n          return menuItems.items.validateItems(menuItems.getStyleItems());\n        }\n      });\n    };\n\n    var defaultFontsFormats = 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats';\n    var systemStackFonts = [\n      '-apple-system',\n      'Segoe UI',\n      'Roboto',\n      'Helvetica Neue',\n      'sans-serif'\n    ];\n    var splitFonts = function (fontFamily) {\n      var fonts = fontFamily.split(/\\s*,\\s*/);\n      return map$2(fonts, function (font) {\n        return font.replace(/^['\"]+|['\"]+$/g, '');\n      });\n    };\n    var isSystemFontStack = function (fontFamily) {\n      var matchesSystemStack = function () {\n        var fonts = splitFonts(fontFamily.toLowerCase());\n        return forall(systemStackFonts, function (font) {\n          return fonts.indexOf(font.toLowerCase()) > -1;\n        });\n      };\n      return fontFamily.indexOf('-apple-system') === 0 && matchesSystemStack();\n    };\n    var getSpec$3 = function (editor) {\n      var systemFont = 'System Font';\n      var getMatchingValue = function () {\n        var getFirstFont = function (fontFamily) {\n          return fontFamily ? splitFonts(fontFamily)[0] : '';\n        };\n        var fontFamily = editor.queryCommandValue('FontName');\n        var items = dataset.data;\n        var font = fontFamily ? fontFamily.toLowerCase() : '';\n        var matchOpt = find$5(items, function (item) {\n          var format = item.format;\n          return format.toLowerCase() === font || getFirstFont(format).toLowerCase() === getFirstFont(font).toLowerCase();\n        }).orThunk(function () {\n          return someIf(isSystemFontStack(font), {\n            title: systemFont,\n            format: font\n          });\n        });\n        return {\n          matchOpt: matchOpt,\n          font: fontFamily\n        };\n      };\n      var isSelectedFor = function (item) {\n        return function (valueOpt) {\n          return valueOpt.exists(function (value) {\n            return value.format === item;\n          });\n        };\n      };\n      var getCurrentValue = function () {\n        var matchOpt = getMatchingValue().matchOpt;\n        return matchOpt;\n      };\n      var getPreviewFor = function (item) {\n        return function () {\n          return Optional.some({\n            tag: 'div',\n            styles: item.indexOf('dings') === -1 ? { 'font-family': item } : {}\n          });\n        };\n      };\n      var onAction = function (rawItem) {\n        return function () {\n          editor.undoManager.transact(function () {\n            editor.focus();\n            editor.execCommand('FontName', false, rawItem.format);\n          });\n        };\n      };\n      var updateSelectMenuText = function (comp) {\n        var _a = getMatchingValue(), matchOpt = _a.matchOpt, font = _a.font;\n        var text = matchOpt.fold(constant$1(font), function (item) {\n          return item.title;\n        });\n        emitWith(comp, updateMenuText, { text: text });\n      };\n      var dataset = buildBasicSettingsDataset(editor, 'font_formats', defaultFontsFormats, Delimiter.SemiColon);\n      return {\n        tooltip: 'Fonts',\n        text: Optional.some(systemFont),\n        icon: Optional.none(),\n        isSelectedFor: isSelectedFor,\n        getCurrentValue: getCurrentValue,\n        getPreviewFor: getPreviewFor,\n        onAction: onAction,\n        updateText: updateSelectMenuText,\n        dataset: dataset,\n        shouldHide: false,\n        isInvalid: never\n      };\n    };\n    var createFontSelect = function (editor, backstage) {\n      return createSelectButton(editor, backstage, getSpec$3(editor));\n    };\n    var fontSelectMenu = function (editor, backstage) {\n      var menuItems = createMenuItems(editor, backstage, getSpec$3(editor));\n      editor.ui.registry.addNestedMenuItem('fontformats', {\n        text: backstage.shared.providers.translate('Fonts'),\n        getSubmenuItems: function () {\n          return menuItems.items.validateItems(menuItems.getStyleItems());\n        }\n      });\n    };\n\n    var defaultFontsizeFormats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';\n    var legacyFontSizes = {\n      '8pt': '1',\n      '10pt': '2',\n      '12pt': '3',\n      '14pt': '4',\n      '18pt': '5',\n      '24pt': '6',\n      '36pt': '7'\n    };\n    var keywordFontSizes = {\n      'xx-small': '7pt',\n      'x-small': '8pt',\n      'small': '10pt',\n      'medium': '12pt',\n      'large': '14pt',\n      'x-large': '18pt',\n      'xx-large': '24pt'\n    };\n    var round = function (number, precision) {\n      var factor = Math.pow(10, precision);\n      return Math.round(number * factor) / factor;\n    };\n    var toPt = function (fontSize, precision) {\n      if (/[0-9.]+px$/.test(fontSize)) {\n        return round(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt';\n      } else {\n        return get$e(keywordFontSizes, fontSize).getOr(fontSize);\n      }\n    };\n    var toLegacy = function (fontSize) {\n      return get$e(legacyFontSizes, fontSize).getOr('');\n    };\n    var getSpec$2 = function (editor) {\n      var getMatchingValue = function () {\n        var matchOpt = Optional.none();\n        var items = dataset.data;\n        var fontSize = editor.queryCommandValue('FontSize');\n        if (fontSize) {\n          var _loop_1 = function (precision) {\n            var pt = toPt(fontSize, precision);\n            var legacy = toLegacy(pt);\n            matchOpt = find$5(items, function (item) {\n              return item.format === fontSize || item.format === pt || item.format === legacy;\n            });\n          };\n          for (var precision = 3; matchOpt.isNone() && precision >= 0; precision--) {\n            _loop_1(precision);\n          }\n        }\n        return {\n          matchOpt: matchOpt,\n          size: fontSize\n        };\n      };\n      var isSelectedFor = function (item) {\n        return function (valueOpt) {\n          return valueOpt.exists(function (value) {\n            return value.format === item;\n          });\n        };\n      };\n      var getCurrentValue = function () {\n        var matchOpt = getMatchingValue().matchOpt;\n        return matchOpt;\n      };\n      var getPreviewFor = constant$1(Optional.none);\n      var onAction = function (rawItem) {\n        return function () {\n          editor.undoManager.transact(function () {\n            editor.focus();\n            editor.execCommand('FontSize', false, rawItem.format);\n          });\n        };\n      };\n      var updateSelectMenuText = function (comp) {\n        var _a = getMatchingValue(), matchOpt = _a.matchOpt, size = _a.size;\n        var text = matchOpt.fold(constant$1(size), function (match) {\n          return match.title;\n        });\n        emitWith(comp, updateMenuText, { text: text });\n      };\n      var dataset = buildBasicSettingsDataset(editor, 'fontsize_formats', defaultFontsizeFormats, Delimiter.Space);\n      return {\n        tooltip: 'Font sizes',\n        text: Optional.some('12pt'),\n        icon: Optional.none(),\n        isSelectedFor: isSelectedFor,\n        getPreviewFor: getPreviewFor,\n        getCurrentValue: getCurrentValue,\n        onAction: onAction,\n        updateText: updateSelectMenuText,\n        dataset: dataset,\n        shouldHide: false,\n        isInvalid: never\n      };\n    };\n    var createFontsizeSelect = function (editor, backstage) {\n      return createSelectButton(editor, backstage, getSpec$2(editor));\n    };\n    var fontsizeSelectMenu = function (editor, backstage) {\n      var menuItems = createMenuItems(editor, backstage, getSpec$2(editor));\n      editor.ui.registry.addNestedMenuItem('fontsizes', {\n        text: 'Font sizes',\n        getSubmenuItems: function () {\n          return menuItems.items.validateItems(menuItems.getStyleItems());\n        }\n      });\n    };\n\n    var findNearest = function (editor, getStyles) {\n      var styles = getStyles();\n      var formats = map$2(styles, function (style) {\n        return style.format;\n      });\n      return Optional.from(editor.formatter.closest(formats)).bind(function (fmt) {\n        return find$5(styles, function (data) {\n          return data.format === fmt;\n        });\n      }).orThunk(function () {\n        return someIf(editor.formatter.match('p'), {\n          title: 'Paragraph',\n          format: 'p'\n        });\n      });\n    };\n\n    var defaultBlocks = 'Paragraph=p;' + 'Heading 1=h1;' + 'Heading 2=h2;' + 'Heading 3=h3;' + 'Heading 4=h4;' + 'Heading 5=h5;' + 'Heading 6=h6;' + 'Preformatted=pre';\n    var getSpec$1 = function (editor) {\n      var fallbackFormat = 'Paragraph';\n      var isSelectedFor = function (format) {\n        return function () {\n          return editor.formatter.match(format);\n        };\n      };\n      var getPreviewFor = function (format) {\n        return function () {\n          var fmt = editor.formatter.get(format);\n          return Optional.some({\n            tag: fmt.length > 0 ? fmt[0].inline || fmt[0].block || 'div' : 'div',\n            styles: editor.dom.parseStyle(editor.formatter.getCssText(format))\n          });\n        };\n      };\n      var updateSelectMenuText = function (comp) {\n        var detectedFormat = findNearest(editor, function () {\n          return dataset.data;\n        });\n        var text = detectedFormat.fold(constant$1(fallbackFormat), function (fmt) {\n          return fmt.title;\n        });\n        emitWith(comp, updateMenuText, { text: text });\n      };\n      var dataset = buildBasicSettingsDataset(editor, 'block_formats', defaultBlocks, Delimiter.SemiColon);\n      return {\n        tooltip: 'Blocks',\n        text: Optional.some(fallbackFormat),\n        icon: Optional.none(),\n        isSelectedFor: isSelectedFor,\n        getCurrentValue: Optional.none,\n        getPreviewFor: getPreviewFor,\n        onAction: onActionToggleFormat$1(editor),\n        updateText: updateSelectMenuText,\n        dataset: dataset,\n        shouldHide: false,\n        isInvalid: function (item) {\n          return !editor.formatter.canApply(item.format);\n        }\n      };\n    };\n    var createFormatSelect = function (editor, backstage) {\n      return createSelectButton(editor, backstage, getSpec$1(editor));\n    };\n    var formatSelectMenu = function (editor, backstage) {\n      var menuItems = createMenuItems(editor, backstage, getSpec$1(editor));\n      editor.ui.registry.addNestedMenuItem('blockformats', {\n        text: 'Blocks',\n        getSubmenuItems: function () {\n          return menuItems.items.validateItems(menuItems.getStyleItems());\n        }\n      });\n    };\n\n    var getSpec = function (editor, dataset) {\n      var fallbackFormat = 'Paragraph';\n      var isSelectedFor = function (format) {\n        return function () {\n          return editor.formatter.match(format);\n        };\n      };\n      var getPreviewFor = function (format) {\n        return function () {\n          var fmt = editor.formatter.get(format);\n          return fmt !== undefined ? Optional.some({\n            tag: fmt.length > 0 ? fmt[0].inline || fmt[0].block || 'div' : 'div',\n            styles: editor.dom.parseStyle(editor.formatter.getCssText(format))\n          }) : Optional.none();\n        };\n      };\n      var updateSelectMenuText = function (comp) {\n        var getFormatItems = function (fmt) {\n          var subs = fmt.items;\n          return subs !== undefined && subs.length > 0 ? bind$3(subs, getFormatItems) : [{\n              title: fmt.title,\n              format: fmt.format\n            }];\n        };\n        var flattenedItems = bind$3(getStyleFormats(editor), getFormatItems);\n        var detectedFormat = findNearest(editor, constant$1(flattenedItems));\n        var text = detectedFormat.fold(constant$1(fallbackFormat), function (fmt) {\n          return fmt.title;\n        });\n        emitWith(comp, updateMenuText, { text: text });\n      };\n      return {\n        tooltip: 'Formats',\n        text: Optional.some(fallbackFormat),\n        icon: Optional.none(),\n        isSelectedFor: isSelectedFor,\n        getCurrentValue: Optional.none,\n        getPreviewFor: getPreviewFor,\n        onAction: onActionToggleFormat$1(editor),\n        updateText: updateSelectMenuText,\n        shouldHide: editor.getParam('style_formats_autohide', false, 'boolean'),\n        isInvalid: function (item) {\n          return !editor.formatter.canApply(item.format);\n        },\n        dataset: dataset\n      };\n    };\n    var createStyleSelect = function (editor, backstage) {\n      var dataset = __assign({ type: 'advanced' }, backstage.styleselect);\n      return createSelectButton(editor, backstage, getSpec(editor, dataset));\n    };\n    var styleSelectMenu = function (editor, backstage) {\n      var dataset = __assign({ type: 'advanced' }, backstage.styleselect);\n      var menuItems = createMenuItems(editor, backstage, getSpec(editor, dataset));\n      editor.ui.registry.addNestedMenuItem('formats', {\n        text: 'Formats',\n        getSubmenuItems: function () {\n          return menuItems.items.validateItems(menuItems.getStyleItems());\n        }\n      });\n    };\n\n    var events$3 = function (reflectingConfig, reflectingState) {\n      var update = function (component, data) {\n        reflectingConfig.updateState.each(function (updateState) {\n          var newState = updateState(component, data);\n          reflectingState.set(newState);\n        });\n        reflectingConfig.renderComponents.each(function (renderComponents) {\n          var newComponents = renderComponents(data, reflectingState.get());\n          var newChildren = map$2(newComponents, component.getSystem().build);\n          replaceChildren(component, newChildren);\n        });\n      };\n      return derive$2([\n        run$1(receive(), function (component, message) {\n          var receivingData = message;\n          if (!receivingData.universal) {\n            var channel = reflectingConfig.channel;\n            if (contains$2(receivingData.channels, channel)) {\n              update(component, receivingData.data);\n            }\n          }\n        }),\n        runOnAttached(function (comp, _se) {\n          reflectingConfig.initialData.each(function (rawData) {\n            update(comp, rawData);\n          });\n        })\n      ]);\n    };\n\n    var ActiveReflecting = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$3\n    });\n\n    var getState = function (component, replaceConfig, reflectState) {\n      return reflectState;\n    };\n\n    var ReflectingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getState: getState\n    });\n\n    var ReflectingSchema = [\n      required$1('channel'),\n      option('renderComponents'),\n      option('updateState'),\n      option('initialData')\n    ];\n\n    var init$3 = function () {\n      var cell = Cell(Optional.none());\n      var clear = function () {\n        return cell.set(Optional.none());\n      };\n      var readState = function () {\n        return cell.get().getOr('none');\n      };\n      return {\n        readState: readState,\n        get: cell.get,\n        set: cell.set,\n        clear: clear\n      };\n    };\n\n    var ReflectingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$3\n    });\n\n    var Reflecting = create$7({\n      fields: ReflectingSchema,\n      name: 'reflecting',\n      active: ActiveReflecting,\n      apis: ReflectingApis,\n      state: ReflectingState\n    });\n\n    var schema$7 = constant$1([\n      required$1('toggleClass'),\n      required$1('fetch'),\n      onStrictHandler('onExecute'),\n      defaulted('getHotspot', Optional.some),\n      defaulted('getAnchorOverrides', constant$1({})),\n      schema$y(),\n      onStrictHandler('onItemExecute'),\n      option('lazySink'),\n      required$1('dom'),\n      onHandler('onOpen'),\n      field('splitDropdownBehaviours', [\n        Coupling,\n        Keying,\n        Focusing\n      ]),\n      defaulted('matchWidth', false),\n      defaulted('useMinWidth', false),\n      defaulted('eventOrder', {}),\n      option('role')\n    ].concat(sandboxFields()));\n    var arrowPart = required({\n      factory: Button,\n      schema: [required$1('dom')],\n      name: 'arrow',\n      defaults: function () {\n        return { buttonBehaviours: derive$1([Focusing.revoke()]) };\n      },\n      overrides: function (detail) {\n        return {\n          dom: {\n            tag: 'span',\n            attributes: { role: 'presentation' }\n          },\n          action: function (arrow) {\n            arrow.getSystem().getByUid(detail.uid).each(emitExecute);\n          },\n          buttonBehaviours: derive$1([Toggling.config({\n              toggleOnExecute: false,\n              toggleClass: detail.toggleClass\n            })])\n        };\n      }\n    });\n    var buttonPart = required({\n      factory: Button,\n      schema: [required$1('dom')],\n      name: 'button',\n      defaults: function () {\n        return { buttonBehaviours: derive$1([Focusing.revoke()]) };\n      },\n      overrides: function (detail) {\n        return {\n          dom: {\n            tag: 'span',\n            attributes: { role: 'presentation' }\n          },\n          action: function (btn) {\n            btn.getSystem().getByUid(detail.uid).each(function (splitDropdown) {\n              detail.onExecute(splitDropdown, btn);\n            });\n          }\n        };\n      }\n    });\n    var parts$3 = constant$1([\n      arrowPart,\n      buttonPart,\n      optional({\n        factory: {\n          sketch: function (spec) {\n            return {\n              uid: spec.uid,\n              dom: {\n                tag: 'span',\n                styles: { display: 'none' },\n                attributes: { 'aria-hidden': 'true' },\n                innerHtml: spec.text\n              }\n            };\n          }\n        },\n        schema: [required$1('text')],\n        name: 'aria-descriptor'\n      }),\n      external$1({\n        schema: [tieredMenuMarkers()],\n        name: 'menu',\n        defaults: function (detail) {\n          return {\n            onExecute: function (tmenu, item) {\n              tmenu.getSystem().getByUid(detail.uid).each(function (splitDropdown) {\n                detail.onItemExecute(splitDropdown, tmenu, item);\n              });\n            }\n          };\n        }\n      }),\n      partType$1()\n    ]);\n\n    var factory$5 = function (detail, components, spec, externals) {\n      var _a;\n      var switchToMenu = function (sandbox) {\n        Composing.getCurrent(sandbox).each(function (current) {\n          Highlighting.highlightFirst(current);\n          Keying.focusIn(current);\n        });\n      };\n      var action = function (component) {\n        var onOpenSync = switchToMenu;\n        togglePopup(detail, identity$1, component, externals, onOpenSync, HighlightOnOpen.HighlightFirst).get(noop);\n      };\n      var openMenu = function (comp) {\n        action(comp);\n        return Optional.some(true);\n      };\n      var executeOnButton = function (comp) {\n        var button = getPartOrDie(comp, detail, 'button');\n        emitExecute(button);\n        return Optional.some(true);\n      };\n      var buttonEvents = __assign(__assign({}, derive$2([runOnAttached(function (component, _simulatedEvent) {\n          var ariaDescriptor = getPart(component, detail, 'aria-descriptor');\n          ariaDescriptor.each(function (descriptor) {\n            var descriptorId = generate$6('aria');\n            set$8(descriptor.element, 'id', descriptorId);\n            set$8(component.element, 'aria-describedby', descriptorId);\n          });\n        })])), events$a(Optional.some(action)));\n      var apis = {\n        repositionMenus: function (comp) {\n          if (Toggling.isOn(comp)) {\n            repositionMenus(comp);\n          }\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        apis: apis,\n        eventOrder: __assign(__assign({}, detail.eventOrder), (_a = {}, _a[execute$5()] = [\n          'disabling',\n          'toggling',\n          'alloy.base.behaviour'\n        ], _a)),\n        events: buttonEvents,\n        behaviours: augment(detail.splitDropdownBehaviours, [\n          Coupling.config({\n            others: {\n              sandbox: function (hotspot) {\n                var arrow = getPartOrDie(hotspot, detail, 'arrow');\n                var extras = {\n                  onOpen: function () {\n                    Toggling.on(arrow);\n                    Toggling.on(hotspot);\n                  },\n                  onClose: function () {\n                    Toggling.off(arrow);\n                    Toggling.off(hotspot);\n                  }\n                };\n                return makeSandbox$1(detail, hotspot, extras);\n              }\n            }\n          }),\n          Keying.config({\n            mode: 'special',\n            onSpace: executeOnButton,\n            onEnter: executeOnButton,\n            onDown: openMenu\n          }),\n          Focusing.config({}),\n          Toggling.config({\n            toggleOnExecute: false,\n            aria: { mode: 'expanded' }\n          })\n        ]),\n        domModification: {\n          attributes: {\n            'role': detail.role.getOr('button'),\n            'aria-haspopup': true\n          }\n        }\n      };\n    };\n    var SplitDropdown = composite({\n      name: 'SplitDropdown',\n      configFields: schema$7(),\n      partFields: parts$3(),\n      factory: factory$5,\n      apis: {\n        repositionMenus: function (apis, comp) {\n          return apis.repositionMenus(comp);\n        }\n      }\n    });\n\n    var getButtonApi = function (component) {\n      return {\n        isDisabled: function () {\n          return Disabling.isDisabled(component);\n        },\n        setDisabled: function (state) {\n          return Disabling.set(component, state);\n        }\n      };\n    };\n    var getToggleApi = function (component) {\n      return {\n        setActive: function (state) {\n          Toggling.set(component, state);\n        },\n        isActive: function () {\n          return Toggling.isOn(component);\n        },\n        isDisabled: function () {\n          return Disabling.isDisabled(component);\n        },\n        setDisabled: function (state) {\n          return Disabling.set(component, state);\n        }\n      };\n    };\n    var getTooltipAttributes = function (tooltip, providersBackstage) {\n      return tooltip.map(function (tooltip) {\n        return {\n          'aria-label': providersBackstage.translate(tooltip),\n          'title': providersBackstage.translate(tooltip)\n        };\n      }).getOr({});\n    };\n    var focusButtonEvent = generate$6('focus-button');\n    var renderCommonStructure = function (icon, text, tooltip, receiver, behaviours, providersBackstage) {\n      var _d;\n      return {\n        dom: {\n          tag: 'button',\n          classes: ['tox-tbtn'].concat(text.isSome() ? ['tox-tbtn--select'] : []),\n          attributes: getTooltipAttributes(tooltip, providersBackstage)\n        },\n        components: componentRenderPipeline([\n          icon.map(function (iconName) {\n            return renderIconFromPack(iconName, providersBackstage.icons);\n          }),\n          text.map(function (text) {\n            return renderLabel$1(text, 'tox-tbtn', providersBackstage);\n          })\n        ]),\n        eventOrder: (_d = {}, _d[mousedown()] = [\n          'focusing',\n          'alloy.base.behaviour',\n          'common-button-display-events'\n        ], _d),\n        buttonBehaviours: derive$1([\n          DisablingConfigs.toolbarButton(providersBackstage.isDisabled),\n          receivingConfig(),\n          config('common-button-display-events', [run$1(mousedown(), function (button, se) {\n              se.event.prevent();\n              emit(button, focusButtonEvent);\n            })])\n        ].concat(receiver.map(function (r) {\n          return Reflecting.config({\n            channel: r,\n            initialData: {\n              icon: icon,\n              text: text\n            },\n            renderComponents: function (data, _state) {\n              return componentRenderPipeline([\n                data.icon.map(function (iconName) {\n                  return renderIconFromPack(iconName, providersBackstage.icons);\n                }),\n                data.text.map(function (text) {\n                  return renderLabel$1(text, 'tox-tbtn', providersBackstage);\n                })\n              ]);\n            }\n          });\n        }).toArray()).concat(behaviours.getOr([])))\n      };\n    };\n    var renderFloatingToolbarButton = function (spec, backstage, identifyButtons, attributes) {\n      var sharedBackstage = backstage.shared;\n      return FloatingToolbarButton.sketch({\n        lazySink: sharedBackstage.getSink,\n        fetch: function () {\n          return Future.nu(function (resolve) {\n            resolve(map$2(identifyButtons(spec.items), renderToolbarGroup));\n          });\n        },\n        markers: { toggledClass: 'tox-tbtn--enabled' },\n        parts: {\n          button: renderCommonStructure(spec.icon, spec.text, spec.tooltip, Optional.none(), Optional.none(), sharedBackstage.providers),\n          toolbar: {\n            dom: {\n              tag: 'div',\n              classes: ['tox-toolbar__overflow'],\n              attributes: attributes\n            }\n          }\n        }\n      });\n    };\n    var renderCommonToolbarButton = function (spec, specialisation, providersBackstage) {\n      var editorOffCell = Cell(noop);\n      var structure = renderCommonStructure(spec.icon, spec.text, spec.tooltip, Optional.none(), Optional.none(), providersBackstage);\n      return Button.sketch({\n        dom: structure.dom,\n        components: structure.components,\n        eventOrder: toolbarButtonEventOrder,\n        buttonBehaviours: derive$1([\n          config('toolbar-button-events', [\n            onToolbarButtonExecute({\n              onAction: spec.onAction,\n              getApi: specialisation.getApi\n            }),\n            onControlAttached(specialisation, editorOffCell),\n            onControlDetached(specialisation, editorOffCell)\n          ]),\n          DisablingConfigs.toolbarButton(function () {\n            return spec.disabled || providersBackstage.isDisabled();\n          }),\n          receivingConfig()\n        ].concat(specialisation.toolbarButtonBehaviours))\n      });\n    };\n    var renderToolbarButton = function (spec, providersBackstage) {\n      return renderToolbarButtonWith(spec, providersBackstage, []);\n    };\n    var renderToolbarButtonWith = function (spec, providersBackstage, bonusEvents) {\n      return renderCommonToolbarButton(spec, {\n        toolbarButtonBehaviours: [].concat(bonusEvents.length > 0 ? [config('toolbarButtonWith', bonusEvents)] : []),\n        getApi: getButtonApi,\n        onSetup: spec.onSetup\n      }, providersBackstage);\n    };\n    var renderToolbarToggleButton = function (spec, providersBackstage) {\n      return renderToolbarToggleButtonWith(spec, providersBackstage, []);\n    };\n    var renderToolbarToggleButtonWith = function (spec, providersBackstage, bonusEvents) {\n      return deepMerge(renderCommonToolbarButton(spec, {\n        toolbarButtonBehaviours: [\n          Replacing.config({}),\n          Toggling.config({\n            toggleClass: 'tox-tbtn--enabled',\n            aria: { mode: 'pressed' },\n            toggleOnExecute: false\n          })\n        ].concat(bonusEvents.length > 0 ? [config('toolbarToggleButtonWith', bonusEvents)] : []),\n        getApi: getToggleApi,\n        onSetup: spec.onSetup\n      }, providersBackstage));\n    };\n    var fetchChoices = function (getApi, spec, providersBackstage) {\n      return function (comp) {\n        return Future.nu(function (callback) {\n          return spec.fetch(callback);\n        }).map(function (items) {\n          return Optional.from(createTieredDataFrom(deepMerge(createPartialChoiceMenu(generate$6('menu-value'), items, function (value) {\n            spec.onItemAction(getApi(comp), value);\n          }, spec.columns, spec.presets, ItemResponse$1.CLOSE_ON_EXECUTE, spec.select.getOr(never), providersBackstage), {\n            movement: deriveMenuMovement(spec.columns, spec.presets),\n            menuBehaviours: SimpleBehaviours.unnamedEvents(spec.columns !== 'auto' ? [] : [runOnAttached(function (comp, _se) {\n                detectSize(comp, 4, classForPreset(spec.presets)).each(function (_d) {\n                  var numRows = _d.numRows, numColumns = _d.numColumns;\n                  Keying.setGridSize(comp, numRows, numColumns);\n                });\n              })])\n          })));\n        });\n      };\n    };\n    var renderSplitButton = function (spec, sharedBackstage) {\n      var _d;\n      var displayChannel = generate$6('channel-update-split-dropdown-display');\n      var getApi = function (comp) {\n        return {\n          isDisabled: function () {\n            return Disabling.isDisabled(comp);\n          },\n          setDisabled: function (state) {\n            return Disabling.set(comp, state);\n          },\n          setIconFill: function (id, value) {\n            descendant(comp.element, 'svg path[id=\"' + id + '\"], rect[id=\"' + id + '\"]').each(function (underlinePath) {\n              set$8(underlinePath, 'fill', value);\n            });\n          },\n          setIconStroke: function (id, value) {\n            descendant(comp.element, 'svg path[id=\"' + id + '\"], rect[id=\"' + id + '\"]').each(function (underlinePath) {\n              set$8(underlinePath, 'stroke', value);\n            });\n          },\n          setActive: function (state) {\n            set$8(comp.element, 'aria-pressed', state);\n            descendant(comp.element, 'span').each(function (button) {\n              comp.getSystem().getByDom(button).each(function (buttonComp) {\n                return Toggling.set(buttonComp, state);\n              });\n            });\n          },\n          isActive: function () {\n            return descendant(comp.element, 'span').exists(function (button) {\n              return comp.getSystem().getByDom(button).exists(Toggling.isOn);\n            });\n          }\n        };\n      };\n      var editorOffCell = Cell(noop);\n      var specialisation = {\n        getApi: getApi,\n        onSetup: spec.onSetup\n      };\n      return SplitDropdown.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-split-button'],\n          attributes: __assign({ 'aria-pressed': false }, getTooltipAttributes(spec.tooltip, sharedBackstage.providers))\n        },\n        onExecute: function (button) {\n          spec.onAction(getApi(button));\n        },\n        onItemExecute: function (_a, _b, _c) {\n        },\n        splitDropdownBehaviours: derive$1([\n          DisablingConfigs.splitButton(sharedBackstage.providers.isDisabled),\n          receivingConfig(),\n          config('split-dropdown-events', [\n            run$1(focusButtonEvent, Focusing.focus),\n            onControlAttached(specialisation, editorOffCell),\n            onControlDetached(specialisation, editorOffCell)\n          ]),\n          Unselecting.config({})\n        ]),\n        eventOrder: (_d = {}, _d[attachedToDom()] = [\n          'alloy.base.behaviour',\n          'split-dropdown-events'\n        ], _d),\n        toggleClass: 'tox-tbtn--enabled',\n        lazySink: sharedBackstage.getSink,\n        fetch: fetchChoices(getApi, spec, sharedBackstage.providers),\n        parts: { menu: part(false, spec.columns, spec.presets) },\n        components: [\n          SplitDropdown.parts.button(renderCommonStructure(spec.icon, spec.text, Optional.none(), Optional.some(displayChannel), Optional.some([Toggling.config({\n              toggleClass: 'tox-tbtn--enabled',\n              toggleOnExecute: false\n            })]), sharedBackstage.providers)),\n          SplitDropdown.parts.arrow({\n            dom: {\n              tag: 'button',\n              classes: [\n                'tox-tbtn',\n                'tox-split-button__chevron'\n              ],\n              innerHtml: get$1('chevron-down', sharedBackstage.providers.icons)\n            },\n            buttonBehaviours: derive$1([\n              DisablingConfigs.splitButton(sharedBackstage.providers.isDisabled),\n              receivingConfig(),\n              addFocusableBehaviour()\n            ])\n          }),\n          SplitDropdown.parts['aria-descriptor']({ text: sharedBackstage.providers.translate('To open the popup, press Shift+Enter') })\n        ]\n      });\n    };\n\n    var defaultToolbar = [\n      {\n        name: 'history',\n        items: [\n          'undo',\n          'redo'\n        ]\n      },\n      {\n        name: 'styles',\n        items: ['styleselect']\n      },\n      {\n        name: 'formatting',\n        items: [\n          'bold',\n          'italic'\n        ]\n      },\n      {\n        name: 'alignment',\n        items: [\n          'alignleft',\n          'aligncenter',\n          'alignright',\n          'alignjustify'\n        ]\n      },\n      {\n        name: 'indentation',\n        items: [\n          'outdent',\n          'indent'\n        ]\n      },\n      {\n        name: 'permanent pen',\n        items: ['permanentpen']\n      },\n      {\n        name: 'comments',\n        items: ['addcomment']\n      }\n    ];\n    var renderFromBridge = function (bridgeBuilder, render) {\n      return function (spec, extras, editor) {\n        var internal = bridgeBuilder(spec).mapError(function (errInfo) {\n          return formatError(errInfo);\n        }).getOrDie();\n        return render(internal, extras, editor);\n      };\n    };\n    var types = {\n      button: renderFromBridge(createToolbarButton, function (s, extras) {\n        return renderToolbarButton(s, extras.backstage.shared.providers);\n      }),\n      togglebutton: renderFromBridge(createToggleButton, function (s, extras) {\n        return renderToolbarToggleButton(s, extras.backstage.shared.providers);\n      }),\n      menubutton: renderFromBridge(createMenuButton, function (s, extras) {\n        return renderMenuButton(s, 'tox-tbtn', extras.backstage, Optional.none());\n      }),\n      splitbutton: renderFromBridge(createSplitButton, function (s, extras) {\n        return renderSplitButton(s, extras.backstage.shared);\n      }),\n      grouptoolbarbutton: renderFromBridge(createGroupToolbarButton, function (s, extras, editor) {\n        var _a;\n        var buttons = editor.ui.registry.getAll().buttons;\n        var identify = function (toolbar) {\n          return identifyButtons(editor, {\n            buttons: buttons,\n            toolbar: toolbar,\n            allowToolbarGroups: false\n          }, extras, Optional.none());\n        };\n        var attributes = (_a = {}, _a[Attribute] = extras.backstage.shared.header.isPositionedAtTop() ? AttributeValue.TopToBottom : AttributeValue.BottomToTop, _a);\n        switch (getToolbarMode(editor)) {\n        case ToolbarMode.floating:\n          return renderFloatingToolbarButton(s, extras.backstage, identify, attributes);\n        default:\n          throw new Error('Toolbar groups are only supported when using floating toolbar mode');\n        }\n      }),\n      styleSelectButton: function (editor, extras) {\n        return createStyleSelect(editor, extras.backstage);\n      },\n      fontsizeSelectButton: function (editor, extras) {\n        return createFontsizeSelect(editor, extras.backstage);\n      },\n      fontSelectButton: function (editor, extras) {\n        return createFontSelect(editor, extras.backstage);\n      },\n      formatButton: function (editor, extras) {\n        return createFormatSelect(editor, extras.backstage);\n      },\n      alignMenuButton: function (editor, extras) {\n        return createAlignSelect(editor, extras.backstage);\n      }\n    };\n    var extractFrom = function (spec, extras, editor) {\n      return get$e(types, spec.type).fold(function () {\n        console.error('skipping button defined by', spec);\n        return Optional.none();\n      }, function (render) {\n        return Optional.some(render(spec, extras, editor));\n      });\n    };\n    var bespokeButtons = {\n      styleselect: types.styleSelectButton,\n      fontsizeselect: types.fontsizeSelectButton,\n      fontselect: types.fontSelectButton,\n      formatselect: types.formatButton,\n      align: types.alignMenuButton\n    };\n    var removeUnusedDefaults = function (buttons) {\n      var filteredItemGroups = map$2(defaultToolbar, function (group) {\n        var items = filter$2(group.items, function (subItem) {\n          return has$2(buttons, subItem) || has$2(bespokeButtons, subItem);\n        });\n        return {\n          name: group.name,\n          items: items\n        };\n      });\n      return filter$2(filteredItemGroups, function (group) {\n        return group.items.length > 0;\n      });\n    };\n    var convertStringToolbar = function (strToolbar) {\n      var groupsStrings = strToolbar.split('|');\n      return map$2(groupsStrings, function (g) {\n        return { items: g.trim().split(' ') };\n      });\n    };\n    var isToolbarGroupSettingArray = function (toolbar) {\n      return isArrayOf(toolbar, function (t) {\n        return has$2(t, 'name') && has$2(t, 'items');\n      });\n    };\n    var createToolbar = function (toolbarConfig) {\n      var toolbar = toolbarConfig.toolbar;\n      var buttons = toolbarConfig.buttons;\n      if (toolbar === false) {\n        return [];\n      } else if (toolbar === undefined || toolbar === true) {\n        return removeUnusedDefaults(buttons);\n      } else if (isString(toolbar)) {\n        return convertStringToolbar(toolbar);\n      } else if (isToolbarGroupSettingArray(toolbar)) {\n        return toolbar;\n      } else {\n        console.error('Toolbar type should be string, string[], boolean or ToolbarGroup[]');\n        return [];\n      }\n    };\n    var lookupButton = function (editor, buttons, toolbarItem, allowToolbarGroups, extras, prefixes) {\n      return get$e(buttons, toolbarItem.toLowerCase()).orThunk(function () {\n        return prefixes.bind(function (ps) {\n          return findMap(ps, function (prefix) {\n            return get$e(buttons, prefix + toolbarItem.toLowerCase());\n          });\n        });\n      }).fold(function () {\n        return get$e(bespokeButtons, toolbarItem.toLowerCase()).map(function (r) {\n          return r(editor, extras);\n        }).orThunk(function () {\n          return Optional.none();\n        });\n      }, function (spec) {\n        if (spec.type === 'grouptoolbarbutton' && !allowToolbarGroups) {\n          console.warn('Ignoring the \\'' + toolbarItem + '\\' toolbar button. Group toolbar buttons are only supported when using floating toolbar mode and cannot be nested.');\n          return Optional.none();\n        } else {\n          return extractFrom(spec, extras, editor);\n        }\n      });\n    };\n    var identifyButtons = function (editor, toolbarConfig, extras, prefixes) {\n      var toolbarGroups = createToolbar(toolbarConfig);\n      var groups = map$2(toolbarGroups, function (group) {\n        var items = bind$3(group.items, function (toolbarItem) {\n          return toolbarItem.trim().length === 0 ? [] : lookupButton(editor, toolbarConfig.buttons, toolbarItem, toolbarConfig.allowToolbarGroups, extras, prefixes).toArray();\n        });\n        return {\n          title: Optional.from(editor.translate(group.name)),\n          items: items\n        };\n      });\n      return filter$2(groups, function (group) {\n        return group.items.length > 0;\n      });\n    };\n\n    var setToolbar = function (editor, uiComponents, rawUiConfig, backstage) {\n      var comp = uiComponents.outerContainer;\n      var toolbarConfig = rawUiConfig.toolbar;\n      var toolbarButtonsConfig = rawUiConfig.buttons;\n      if (isArrayOf(toolbarConfig, isString)) {\n        var toolbars = toolbarConfig.map(function (t) {\n          var config = {\n            toolbar: t,\n            buttons: toolbarButtonsConfig,\n            allowToolbarGroups: rawUiConfig.allowToolbarGroups\n          };\n          return identifyButtons(editor, config, { backstage: backstage }, Optional.none());\n        });\n        OuterContainer.setToolbars(comp, toolbars);\n      } else {\n        OuterContainer.setToolbar(comp, identifyButtons(editor, rawUiConfig, { backstage: backstage }, Optional.none()));\n      }\n    };\n\n    var detection = detect$1();\n    var isiOS12 = detection.os.isiOS() && detection.os.version.major <= 12;\n    var setupEvents$1 = function (editor, uiComponents) {\n      var dom = editor.dom;\n      var contentWindow = editor.getWin();\n      var initialDocEle = editor.getDoc().documentElement;\n      var lastWindowDimensions = Cell(SugarPosition(contentWindow.innerWidth, contentWindow.innerHeight));\n      var lastDocumentDimensions = Cell(SugarPosition(initialDocEle.offsetWidth, initialDocEle.offsetHeight));\n      var resizeWindow = function () {\n        var outer = lastWindowDimensions.get();\n        if (outer.left !== contentWindow.innerWidth || outer.top !== contentWindow.innerHeight) {\n          lastWindowDimensions.set(SugarPosition(contentWindow.innerWidth, contentWindow.innerHeight));\n          fireResizeContent(editor);\n        }\n      };\n      var resizeDocument = function () {\n        var docEle = editor.getDoc().documentElement;\n        var inner = lastDocumentDimensions.get();\n        if (inner.left !== docEle.offsetWidth || inner.top !== docEle.offsetHeight) {\n          lastDocumentDimensions.set(SugarPosition(docEle.offsetWidth, docEle.offsetHeight));\n          fireResizeContent(editor);\n        }\n      };\n      var scroll = function (e) {\n        return fireScrollContent(editor, e);\n      };\n      dom.bind(contentWindow, 'resize', resizeWindow);\n      dom.bind(contentWindow, 'scroll', scroll);\n      var elementLoad = capture(SugarElement.fromDom(editor.getBody()), 'load', resizeDocument);\n      var mothership = uiComponents.uiMothership.element;\n      editor.on('hide', function () {\n        set$7(mothership, 'display', 'none');\n      });\n      editor.on('show', function () {\n        remove$6(mothership, 'display');\n      });\n      editor.on('NodeChange', resizeDocument);\n      editor.on('remove', function () {\n        elementLoad.unbind();\n        dom.unbind(contentWindow, 'resize', resizeWindow);\n        dom.unbind(contentWindow, 'scroll', scroll);\n        contentWindow = null;\n      });\n    };\n    var render$1 = function (editor, uiComponents, rawUiConfig, backstage, args) {\n      var lastToolbarWidth = Cell(0);\n      var outerContainer = uiComponents.outerContainer;\n      iframe(editor);\n      var eTargetNode = SugarElement.fromDom(args.targetNode);\n      var uiRoot = getContentContainer(getRootNode(eTargetNode));\n      attachSystemAfter(eTargetNode, uiComponents.mothership);\n      attachSystem(uiRoot, uiComponents.uiMothership);\n      editor.on('PostRender', function () {\n        setToolbar(editor, uiComponents, rawUiConfig, backstage);\n        lastToolbarWidth.set(editor.getWin().innerWidth);\n        OuterContainer.setMenubar(outerContainer, identifyMenus(editor, rawUiConfig));\n        OuterContainer.setSidebar(outerContainer, rawUiConfig.sidebar);\n        setupEvents$1(editor, uiComponents);\n      });\n      var socket = OuterContainer.getSocket(outerContainer).getOrDie('Could not find expected socket element');\n      if (isiOS12) {\n        setAll(socket.element, {\n          'overflow': 'scroll',\n          '-webkit-overflow-scrolling': 'touch'\n        });\n        var limit = first(function () {\n          editor.fire('ScrollContent');\n        }, 20);\n        var unbinder = bind(socket.element, 'scroll', limit.throttle);\n        editor.on('remove', unbinder.unbind);\n      }\n      setupReadonlyModeSwitch(editor, uiComponents);\n      editor.addCommand('ToggleSidebar', function (_ui, value) {\n        OuterContainer.toggleSidebar(outerContainer, value);\n        editor.fire('ToggleSidebar');\n      });\n      editor.addQueryValueHandler('ToggleSidebar', function () {\n        return OuterContainer.whichSidebar(outerContainer);\n      });\n      var toolbarMode = getToolbarMode(editor);\n      var refreshDrawer = function () {\n        OuterContainer.refreshToolbar(uiComponents.outerContainer);\n      };\n      if (toolbarMode === ToolbarMode.sliding || toolbarMode === ToolbarMode.floating) {\n        editor.on('ResizeWindow ResizeEditor ResizeContent', function () {\n          var width = editor.getWin().innerWidth;\n          if (width !== lastToolbarWidth.get()) {\n            refreshDrawer();\n            lastToolbarWidth.set(width);\n          }\n        });\n      }\n      var api = {\n        enable: function () {\n          broadcastReadonly(uiComponents, false);\n        },\n        disable: function () {\n          broadcastReadonly(uiComponents, true);\n        },\n        isDisabled: function () {\n          return Disabling.isDisabled(outerContainer);\n        }\n      };\n      return {\n        iframeContainer: socket.element.dom,\n        editorContainer: outerContainer.element.dom,\n        api: api\n      };\n    };\n\n    var Iframe = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        render: render$1\n    });\n\n    var parseToInt = function (val) {\n      var re = /^[0-9\\.]+(|px)$/i;\n      if (re.test('' + val)) {\n        return Optional.some(parseInt('' + val, 10));\n      }\n      return Optional.none();\n    };\n    var numToPx = function (val) {\n      return isNumber(val) ? val + 'px' : val;\n    };\n    var calcCappedSize = function (size, minSize, maxSize) {\n      var minOverride = minSize.filter(function (min) {\n        return size < min;\n      });\n      var maxOverride = maxSize.filter(function (max) {\n        return size > max;\n      });\n      return minOverride.or(maxOverride).getOr(size);\n    };\n\n    var getHeight = function (editor) {\n      var baseHeight = getHeightSetting(editor);\n      var minHeight = getMinHeightSetting(editor);\n      var maxHeight = getMaxHeightSetting(editor);\n      return parseToInt(baseHeight).map(function (height) {\n        return calcCappedSize(height, minHeight, maxHeight);\n      });\n    };\n    var getHeightWithFallback = function (editor) {\n      var height = getHeight(editor);\n      return height.getOr(getHeightSetting(editor));\n    };\n    var getWidth = function (editor) {\n      var baseWidth = getWidthSetting(editor);\n      var minWidth = getMinWidthSetting(editor);\n      var maxWidth = getMaxWidthSetting(editor);\n      return parseToInt(baseWidth).map(function (width) {\n        return calcCappedSize(width, minWidth, maxWidth);\n      });\n    };\n    var getWidthWithFallback = function (editor) {\n      var width = getWidth(editor);\n      return width.getOr(getWidthSetting(editor));\n    };\n\n    var InlineHeader = function (editor, targetElm, uiComponents, backstage, floatContainer) {\n      var uiMothership = uiComponents.uiMothership, outerContainer = uiComponents.outerContainer;\n      var DOM = global$b.DOM;\n      var useFixedToolbarContainer = useFixedContainer(editor);\n      var isSticky = isStickyToolbar(editor);\n      var editorMaxWidthOpt = getMaxWidthSetting(editor).or(getWidth(editor));\n      var headerBackstage = backstage.shared.header;\n      var isPositionedAtTop = headerBackstage.isPositionedAtTop;\n      var toolbarMode = getToolbarMode(editor);\n      var isSplitToolbar = toolbarMode === ToolbarMode.sliding || toolbarMode === ToolbarMode.floating;\n      var visible = Cell(false);\n      var isVisible = function () {\n        return visible.get() && !editor.removed;\n      };\n      var calcToolbarOffset = function (toolbar) {\n        return isSplitToolbar ? toolbar.fold(constant$1(0), function (tbar) {\n          return tbar.components().length > 1 ? get$b(tbar.components()[1].element) : 0;\n        }) : 0;\n      };\n      var calcMode = function (container) {\n        switch (getToolbarLocation(editor)) {\n        case ToolbarLocation.auto:\n          var toolbar_1 = OuterContainer.getToolbar(outerContainer);\n          var offset = calcToolbarOffset(toolbar_1);\n          var toolbarHeight = get$b(container.element) - offset;\n          var targetBounds = box$1(targetElm);\n          var roomAtTop = targetBounds.y > toolbarHeight;\n          if (roomAtTop) {\n            return 'top';\n          } else {\n            var doc = documentElement(targetElm);\n            var docHeight = Math.max(doc.dom.scrollHeight, get$b(doc));\n            var roomAtBottom = targetBounds.bottom < docHeight - toolbarHeight;\n            if (roomAtBottom) {\n              return 'bottom';\n            } else {\n              var winBounds = win();\n              var isRoomAtBottomViewport = winBounds.bottom < targetBounds.bottom - toolbarHeight;\n              return isRoomAtBottomViewport ? 'bottom' : 'top';\n            }\n          }\n        case ToolbarLocation.bottom:\n          return 'bottom';\n        case ToolbarLocation.top:\n        default:\n          return 'top';\n        }\n      };\n      var setupMode = function (mode) {\n        var container = floatContainer.get();\n        Docking.setModes(container, [mode]);\n        headerBackstage.setDockingMode(mode);\n        var verticalDir = isPositionedAtTop() ? AttributeValue.TopToBottom : AttributeValue.BottomToTop;\n        set$8(container.element, Attribute, verticalDir);\n      };\n      var updateChromeWidth = function () {\n        var maxWidth = editorMaxWidthOpt.getOrThunk(function () {\n          var bodyMargin = parseToInt(get$c(body(), 'margin-left')).getOr(0);\n          return get$a(body()) - absolute$3(targetElm).left + bodyMargin;\n        });\n        set$7(floatContainer.get().element, 'max-width', maxWidth + 'px');\n      };\n      var updateChromePosition = function () {\n        var toolbar = OuterContainer.getToolbar(outerContainer);\n        var offset = calcToolbarOffset(toolbar);\n        var targetBounds = box$1(targetElm);\n        var top = isPositionedAtTop() ? Math.max(targetBounds.y - get$b(floatContainer.get().element) + offset, 0) : targetBounds.bottom;\n        setAll(outerContainer.element, {\n          position: 'absolute',\n          top: Math.round(top) + 'px',\n          left: Math.round(targetBounds.x) + 'px'\n        });\n      };\n      var repositionPopups$1 = function () {\n        uiMothership.broadcastOn([repositionPopups()], {});\n      };\n      var updateChromeUi = function (resetDocking) {\n        if (resetDocking === void 0) {\n          resetDocking = false;\n        }\n        if (!isVisible()) {\n          return;\n        }\n        if (!useFixedToolbarContainer) {\n          updateChromeWidth();\n        }\n        if (isSplitToolbar) {\n          OuterContainer.refreshToolbar(outerContainer);\n        }\n        if (!useFixedToolbarContainer) {\n          updateChromePosition();\n        }\n        if (isSticky) {\n          var floatContainerComp = floatContainer.get();\n          resetDocking ? Docking.reset(floatContainerComp) : Docking.refresh(floatContainerComp);\n        }\n        repositionPopups$1();\n      };\n      var updateMode = function (updateUi) {\n        if (updateUi === void 0) {\n          updateUi = true;\n        }\n        if (useFixedToolbarContainer || !isSticky || !isVisible()) {\n          return;\n        }\n        var currentMode = headerBackstage.getDockingMode();\n        var newMode = calcMode(floatContainer.get());\n        if (newMode !== currentMode) {\n          setupMode(newMode);\n          if (updateUi) {\n            updateChromeUi(true);\n          }\n        }\n      };\n      var show = function () {\n        visible.set(true);\n        set$7(outerContainer.element, 'display', 'flex');\n        DOM.addClass(editor.getBody(), 'mce-edit-focus');\n        remove$6(uiMothership.element, 'display');\n        updateMode(false);\n        updateChromeUi();\n      };\n      var hide = function () {\n        visible.set(false);\n        if (uiComponents.outerContainer) {\n          set$7(outerContainer.element, 'display', 'none');\n          DOM.removeClass(editor.getBody(), 'mce-edit-focus');\n        }\n        set$7(uiMothership.element, 'display', 'none');\n      };\n      return {\n        isVisible: isVisible,\n        isPositionedAtTop: isPositionedAtTop,\n        show: show,\n        hide: hide,\n        update: updateChromeUi,\n        updateMode: updateMode,\n        repositionPopups: repositionPopups$1\n      };\n    };\n\n    var getTargetPosAndBounds = function (targetElm, isToolbarTop) {\n      var bounds = box$1(targetElm);\n      return {\n        pos: isToolbarTop ? bounds.y : bounds.bottom,\n        bounds: bounds\n      };\n    };\n    var setupEvents = function (editor, targetElm, ui, toolbarPersist) {\n      var prevPosAndBounds = Cell(getTargetPosAndBounds(targetElm, ui.isPositionedAtTop()));\n      var resizeContent = function (e) {\n        var _a = getTargetPosAndBounds(targetElm, ui.isPositionedAtTop()), pos = _a.pos, bounds = _a.bounds;\n        var _b = prevPosAndBounds.get(), prevPos = _b.pos, prevBounds = _b.bounds;\n        var hasResized = bounds.height !== prevBounds.height || bounds.width !== prevBounds.width;\n        prevPosAndBounds.set({\n          pos: pos,\n          bounds: bounds\n        });\n        if (hasResized) {\n          fireResizeContent(editor, e);\n        }\n        if (ui.isVisible()) {\n          if (prevPos !== pos) {\n            ui.update(true);\n          } else if (hasResized) {\n            ui.updateMode();\n            ui.repositionPopups();\n          }\n        }\n      };\n      if (!toolbarPersist) {\n        editor.on('activate', ui.show);\n        editor.on('deactivate', ui.hide);\n      }\n      editor.on('SkinLoaded ResizeWindow', function () {\n        return ui.update(true);\n      });\n      editor.on('NodeChange keydown', function (e) {\n        global$f.requestAnimationFrame(function () {\n          return resizeContent(e);\n        });\n      });\n      editor.on('ScrollWindow', function () {\n        return ui.updateMode();\n      });\n      var elementLoad = unbindable();\n      elementLoad.set(capture(SugarElement.fromDom(editor.getBody()), 'load', resizeContent));\n      editor.on('remove', function () {\n        elementLoad.clear();\n      });\n    };\n    var render = function (editor, uiComponents, rawUiConfig, backstage, args) {\n      var mothership = uiComponents.mothership, uiMothership = uiComponents.uiMothership, outerContainer = uiComponents.outerContainer;\n      var floatContainer = Cell(null);\n      var targetElm = SugarElement.fromDom(args.targetNode);\n      var ui = InlineHeader(editor, targetElm, uiComponents, backstage, floatContainer);\n      var toolbarPersist = isToolbarPersist(editor);\n      inline(editor);\n      var render = function () {\n        if (floatContainer.get()) {\n          ui.show();\n          return;\n        }\n        floatContainer.set(OuterContainer.getHeader(outerContainer).getOrDie());\n        var uiContainer = getUiContainer(editor);\n        attachSystem(uiContainer, mothership);\n        attachSystem(uiContainer, uiMothership);\n        setToolbar(editor, uiComponents, rawUiConfig, backstage);\n        OuterContainer.setMenubar(outerContainer, identifyMenus(editor, rawUiConfig));\n        ui.show();\n        setupEvents(editor, targetElm, ui, toolbarPersist);\n        editor.nodeChanged();\n      };\n      editor.on('show', render);\n      editor.on('hide', ui.hide);\n      if (!toolbarPersist) {\n        editor.on('focus', render);\n        editor.on('blur', ui.hide);\n      }\n      editor.on('init', function () {\n        if (editor.hasFocus() || toolbarPersist) {\n          render();\n        }\n      });\n      setupReadonlyModeSwitch(editor, uiComponents);\n      var api = {\n        show: function () {\n          ui.show();\n        },\n        hide: function () {\n          ui.hide();\n        },\n        enable: function () {\n          broadcastReadonly(uiComponents, false);\n        },\n        disable: function () {\n          broadcastReadonly(uiComponents, true);\n        },\n        isDisabled: function () {\n          return Disabling.isDisabled(outerContainer);\n        }\n      };\n      return {\n        editorContainer: outerContainer.element.dom,\n        api: api\n      };\n    };\n\n    var Inline = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        render: render\n    });\n\n    var showContextToolbarEvent = 'contexttoolbar-show';\n    var hideContextToolbarEvent = 'contexttoolbar-hide';\n\n    var getFormApi = function (input) {\n      return {\n        hide: function () {\n          return emit(input, sandboxClose());\n        },\n        getValue: function () {\n          return Representing.getValue(input);\n        }\n      };\n    };\n    var runOnExecute = function (memInput, original) {\n      return run$1(internalToolbarButtonExecute, function (comp, se) {\n        var input = memInput.get(comp);\n        var formApi = getFormApi(input);\n        original.onAction(formApi, se.event.buttonApi);\n      });\n    };\n    var renderContextButton = function (memInput, button, extras) {\n      var _a = button.original; _a.primary; var rest = __rest(_a, ['primary']);\n      var bridged = getOrDie(createToolbarButton(__assign(__assign({}, rest), {\n        type: 'button',\n        onAction: noop\n      })));\n      return renderToolbarButtonWith(bridged, extras.backstage.shared.providers, [runOnExecute(memInput, button)]);\n    };\n    var renderContextToggleButton = function (memInput, button, extras) {\n      var _a = button.original; _a.primary; var rest = __rest(_a, ['primary']);\n      var bridged = getOrDie(createToggleButton(__assign(__assign({}, rest), {\n        type: 'togglebutton',\n        onAction: noop\n      })));\n      return renderToolbarToggleButtonWith(bridged, extras.backstage.shared.providers, [runOnExecute(memInput, button)]);\n    };\n    var generateOne = function (memInput, button, providersBackstage) {\n      var extras = { backstage: { shared: { providers: providersBackstage } } };\n      if (button.type === 'contextformtogglebutton') {\n        return renderContextToggleButton(memInput, button, extras);\n      } else {\n        return renderContextButton(memInput, button, extras);\n      }\n    };\n    var generate = function (memInput, buttons, providersBackstage) {\n      var mementos = map$2(buttons, function (button) {\n        return record(generateOne(memInput, button, providersBackstage));\n      });\n      var asSpecs = function () {\n        return map$2(mementos, function (mem) {\n          return mem.asSpec();\n        });\n      };\n      var findPrimary = function (compInSystem) {\n        return findMap(buttons, function (button, i) {\n          if (button.primary) {\n            return Optional.from(mementos[i]).bind(function (mem) {\n              return mem.getOpt(compInSystem);\n            }).filter(not(Disabling.isDisabled));\n          } else {\n            return Optional.none();\n          }\n        });\n      };\n      return {\n        asSpecs: asSpecs,\n        findPrimary: findPrimary\n      };\n    };\n\n    var buildInitGroups = function (ctx, providers) {\n      var inputAttributes = ctx.label.fold(function () {\n        return {};\n      }, function (label) {\n        return { 'aria-label': label };\n      });\n      var memInput = record(Input.sketch({\n        inputClasses: [\n          'tox-toolbar-textfield',\n          'tox-toolbar-nav-js'\n        ],\n        data: ctx.initValue(),\n        inputAttributes: inputAttributes,\n        selectOnFocus: true,\n        inputBehaviours: derive$1([Keying.config({\n            mode: 'special',\n            onEnter: function (input) {\n              return commands.findPrimary(input).map(function (primary) {\n                emitExecute(primary);\n                return true;\n              });\n            },\n            onLeft: function (comp, se) {\n              se.cut();\n              return Optional.none();\n            },\n            onRight: function (comp, se) {\n              se.cut();\n              return Optional.none();\n            }\n          })])\n      }));\n      var commands = generate(memInput, ctx.commands, providers);\n      return [\n        {\n          title: Optional.none(),\n          items: [memInput.asSpec()]\n        },\n        {\n          title: Optional.none(),\n          items: commands.asSpecs()\n        }\n      ];\n    };\n    var renderContextForm = function (toolbarType, ctx, providers) {\n      return renderToolbar({\n        type: toolbarType,\n        uid: generate$6('context-toolbar'),\n        initGroups: buildInitGroups(ctx, providers),\n        onEscape: Optional.none,\n        cyclicKeying: true,\n        providers: providers\n      });\n    };\n    var ContextForm = {\n      renderContextForm: renderContextForm,\n      buildInitGroups: buildInitGroups\n    };\n\n    var isVerticalOverlap = function (a, b, threshold) {\n      if (threshold === void 0) {\n        threshold = 0.01;\n      }\n      return b.bottom - a.y >= threshold && a.bottom - b.y >= threshold;\n    };\n    var getRangeRect = function (rng) {\n      var rect = rng.getBoundingClientRect();\n      if (rect.height <= 0 && rect.width <= 0) {\n        var leaf$1 = leaf(SugarElement.fromDom(rng.startContainer), rng.startOffset).element;\n        var elm = isText$1(leaf$1) ? parent(leaf$1) : Optional.some(leaf$1);\n        return elm.filter(isElement$2).map(function (e) {\n          return e.dom.getBoundingClientRect();\n        }).getOr(rect);\n      } else {\n        return rect;\n      }\n    };\n    var getSelectionBounds = function (editor) {\n      var rng = editor.selection.getRng();\n      var rect = getRangeRect(rng);\n      if (editor.inline) {\n        var scroll_1 = get$9();\n        return bounds(scroll_1.left + rect.left, scroll_1.top + rect.top, rect.width, rect.height);\n      } else {\n        var bodyPos = absolute$2(SugarElement.fromDom(editor.getBody()));\n        return bounds(bodyPos.x + rect.left, bodyPos.y + rect.top, rect.width, rect.height);\n      }\n    };\n    var getAnchorElementBounds = function (editor, lastElement) {\n      return lastElement.filter(inBody).map(absolute$2).getOrThunk(function () {\n        return getSelectionBounds(editor);\n      });\n    };\n    var getHorizontalBounds = function (contentAreaBox, viewportBounds, margin) {\n      var x = Math.max(contentAreaBox.x + margin, viewportBounds.x);\n      var right = Math.min(contentAreaBox.right - margin, viewportBounds.right);\n      return {\n        x: x,\n        width: right - x\n      };\n    };\n    var getVerticalBounds = function (editor, contentAreaBox, viewportBounds, isToolbarLocationTop, toolbarType, margin) {\n      var container = SugarElement.fromDom(editor.getContainer());\n      var header = descendant(container, '.tox-editor-header').getOr(container);\n      var headerBox = box$1(header);\n      var isToolbarBelowContentArea = headerBox.y >= contentAreaBox.bottom;\n      var isToolbarAbove = isToolbarLocationTop && !isToolbarBelowContentArea;\n      if (editor.inline && isToolbarAbove) {\n        return {\n          y: Math.max(headerBox.bottom + margin, viewportBounds.y),\n          bottom: viewportBounds.bottom\n        };\n      }\n      if (editor.inline && !isToolbarAbove) {\n        return {\n          y: viewportBounds.y,\n          bottom: Math.min(headerBox.y - margin, viewportBounds.bottom)\n        };\n      }\n      var containerBounds = toolbarType === 'line' ? box$1(container) : contentAreaBox;\n      if (isToolbarAbove) {\n        return {\n          y: Math.max(headerBox.bottom + margin, viewportBounds.y),\n          bottom: Math.min(containerBounds.bottom - margin, viewportBounds.bottom)\n        };\n      }\n      return {\n        y: Math.max(containerBounds.y + margin, viewportBounds.y),\n        bottom: Math.min(headerBox.y - margin, viewportBounds.bottom)\n      };\n    };\n    var getContextToolbarBounds = function (editor, sharedBackstage, toolbarType, margin) {\n      if (margin === void 0) {\n        margin = 0;\n      }\n      var viewportBounds = getBounds$3(window);\n      var contentAreaBox = box$1(SugarElement.fromDom(editor.getContentAreaContainer()));\n      var toolbarOrMenubarEnabled = isMenubarEnabled(editor) || isToolbarEnabled(editor) || isMultipleToolbars(editor);\n      var _a = getHorizontalBounds(contentAreaBox, viewportBounds, margin), x = _a.x, width = _a.width;\n      if (editor.inline && !toolbarOrMenubarEnabled) {\n        return bounds(x, viewportBounds.y, width, viewportBounds.height);\n      } else {\n        var isToolbarTop = sharedBackstage.header.isPositionedAtTop();\n        var _b = getVerticalBounds(editor, contentAreaBox, viewportBounds, isToolbarTop, toolbarType, margin), y = _b.y, bottom = _b.bottom;\n        return bounds(x, y, width, bottom - y);\n      }\n    };\n\n    var bubbleSize$1 = 12;\n    var bubbleAlignments$1 = {\n      valignCentre: [],\n      alignCentre: [],\n      alignLeft: ['tox-pop--align-left'],\n      alignRight: ['tox-pop--align-right'],\n      right: ['tox-pop--right'],\n      left: ['tox-pop--left'],\n      bottom: ['tox-pop--bottom'],\n      top: ['tox-pop--top'],\n      inset: ['tox-pop--inset']\n    };\n    var anchorOverrides = {\n      maxHeightFunction: expandable$1(),\n      maxWidthFunction: expandable()\n    };\n    var isEntireElementSelected = function (editor, elem) {\n      var rng = editor.selection.getRng();\n      var leaf$1 = leaf(SugarElement.fromDom(rng.startContainer), rng.startOffset);\n      return rng.startContainer === rng.endContainer && rng.startOffset === rng.endOffset - 1 && eq(leaf$1.element, elem);\n    };\n    var preservePosition = function (elem, position, f) {\n      var currentPosition = getRaw(elem, 'position');\n      set$7(elem, 'position', position);\n      var result = f(elem);\n      currentPosition.each(function (pos) {\n        return set$7(elem, 'position', pos);\n      });\n      return result;\n    };\n    var shouldUseInsetLayouts = function (position) {\n      return position === 'node';\n    };\n    var determineInsetLayout = function (editor, contextbar, elem, data, bounds) {\n      var selectionBounds = getSelectionBounds(editor);\n      var isSameAnchorElement = data.lastElement().exists(function (prev) {\n        return eq(elem, prev);\n      });\n      if (isEntireElementSelected(editor, elem)) {\n        return isSameAnchorElement ? preserve : north;\n      } else if (isSameAnchorElement) {\n        return preservePosition(contextbar, data.getMode(), function () {\n          var isOverlapping = isVerticalOverlap(selectionBounds, box$1(contextbar));\n          return isOverlapping && !data.isReposition() ? flip$2 : preserve;\n        });\n      } else {\n        var yBounds = data.getMode() === 'fixed' ? bounds.y + get$9().top : bounds.y;\n        var contextbarHeight = get$b(contextbar) + bubbleSize$1;\n        return yBounds + contextbarHeight <= selectionBounds.y ? north : south;\n      }\n    };\n    var getAnchorSpec$2 = function (editor, mobile, data, position) {\n      var smartInsetLayout = function (elem) {\n        return function (anchor, element, bubbles, placee, bounds) {\n          var layout = determineInsetLayout(editor, placee, elem, data, bounds);\n          var newAnchor = __assign(__assign({}, anchor), {\n            y: bounds.y,\n            height: bounds.height\n          });\n          return __assign(__assign({}, layout(newAnchor, element, bubbles, placee, bounds)), { alwaysFit: true });\n        };\n      };\n      var getInsetLayouts = function (elem) {\n        return shouldUseInsetLayouts(position) ? [smartInsetLayout(elem)] : [];\n      };\n      var desktopAnchorSpecLayouts = {\n        onLtr: function (elem) {\n          return [\n            north$2,\n            south$2,\n            northeast$2,\n            southeast$2,\n            northwest$2,\n            southwest$2\n          ].concat(getInsetLayouts(elem));\n        },\n        onRtl: function (elem) {\n          return [\n            north$2,\n            south$2,\n            northwest$2,\n            southwest$2,\n            northeast$2,\n            southeast$2\n          ].concat(getInsetLayouts(elem));\n        }\n      };\n      var mobileAnchorSpecLayouts = {\n        onLtr: function (elem) {\n          return [\n            south$2,\n            southeast$2,\n            southwest$2,\n            northeast$2,\n            northwest$2,\n            north$2\n          ].concat(getInsetLayouts(elem));\n        },\n        onRtl: function (elem) {\n          return [\n            south$2,\n            southwest$2,\n            southeast$2,\n            northwest$2,\n            northeast$2,\n            north$2\n          ].concat(getInsetLayouts(elem));\n        }\n      };\n      return mobile ? mobileAnchorSpecLayouts : desktopAnchorSpecLayouts;\n    };\n    var getAnchorLayout = function (editor, position, isTouch, data) {\n      if (position === 'line') {\n        return {\n          bubble: nu$5(bubbleSize$1, 0, bubbleAlignments$1),\n          layouts: {\n            onLtr: function () {\n              return [east$2];\n            },\n            onRtl: function () {\n              return [west$2];\n            }\n          },\n          overrides: anchorOverrides\n        };\n      } else {\n        return {\n          bubble: nu$5(0, bubbleSize$1, bubbleAlignments$1, 1 / bubbleSize$1),\n          layouts: getAnchorSpec$2(editor, isTouch, data, position),\n          overrides: anchorOverrides\n        };\n      }\n    };\n\n    var matchTargetWith = function (elem, candidates) {\n      var ctxs = filter$2(candidates, function (toolbarApi) {\n        return toolbarApi.predicate(elem.dom);\n      });\n      var _a = partition$3(ctxs, function (t) {\n          return t.type === 'contexttoolbar';\n        }), pass = _a.pass, fail = _a.fail;\n      return {\n        contextToolbars: pass,\n        contextForms: fail\n      };\n    };\n    var filterByPositionForStartNode = function (toolbars) {\n      if (toolbars.length <= 1) {\n        return toolbars;\n      } else {\n        var doesPositionExist = function (value) {\n          return exists(toolbars, function (t) {\n            return t.position === value;\n          });\n        };\n        var filterToolbarsByPosition = function (value) {\n          return filter$2(toolbars, function (t) {\n            return t.position === value;\n          });\n        };\n        var hasSelectionToolbars = doesPositionExist('selection');\n        var hasNodeToolbars = doesPositionExist('node');\n        if (hasSelectionToolbars || hasNodeToolbars) {\n          if (hasNodeToolbars && hasSelectionToolbars) {\n            var nodeToolbars = filterToolbarsByPosition('node');\n            var selectionToolbars = map$2(filterToolbarsByPosition('selection'), function (t) {\n              return __assign(__assign({}, t), { position: 'node' });\n            });\n            return nodeToolbars.concat(selectionToolbars);\n          } else {\n            return hasSelectionToolbars ? filterToolbarsByPosition('selection') : filterToolbarsByPosition('node');\n          }\n        } else {\n          return filterToolbarsByPosition('line');\n        }\n      }\n    };\n    var filterByPositionForAncestorNode = function (toolbars) {\n      if (toolbars.length <= 1) {\n        return toolbars;\n      } else {\n        var findPosition_1 = function (value) {\n          return find$5(toolbars, function (t) {\n            return t.position === value;\n          });\n        };\n        var basePosition = findPosition_1('selection').orThunk(function () {\n          return findPosition_1('node');\n        }).orThunk(function () {\n          return findPosition_1('line');\n        }).map(function (t) {\n          return t.position;\n        });\n        return basePosition.fold(function () {\n          return [];\n        }, function (pos) {\n          return filter$2(toolbars, function (t) {\n            return t.position === pos;\n          });\n        });\n      }\n    };\n    var matchStartNode = function (elem, nodeCandidates, editorCandidates) {\n      var nodeMatches = matchTargetWith(elem, nodeCandidates);\n      if (nodeMatches.contextForms.length > 0) {\n        return Optional.some({\n          elem: elem,\n          toolbars: [nodeMatches.contextForms[0]]\n        });\n      } else {\n        var editorMatches = matchTargetWith(elem, editorCandidates);\n        if (editorMatches.contextForms.length > 0) {\n          return Optional.some({\n            elem: elem,\n            toolbars: [editorMatches.contextForms[0]]\n          });\n        } else if (nodeMatches.contextToolbars.length > 0 || editorMatches.contextToolbars.length > 0) {\n          var toolbars = filterByPositionForStartNode(nodeMatches.contextToolbars.concat(editorMatches.contextToolbars));\n          return Optional.some({\n            elem: elem,\n            toolbars: toolbars\n          });\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n    var matchAncestor = function (isRoot, startNode, scopes) {\n      if (isRoot(startNode)) {\n        return Optional.none();\n      } else {\n        return ancestor$2(startNode, function (ancestorElem) {\n          if (isElement$2(ancestorElem)) {\n            var _a = matchTargetWith(ancestorElem, scopes.inNodeScope), contextToolbars = _a.contextToolbars, contextForms = _a.contextForms;\n            var toolbars = contextForms.length > 0 ? contextForms : filterByPositionForAncestorNode(contextToolbars);\n            return toolbars.length > 0 ? Optional.some({\n              elem: ancestorElem,\n              toolbars: toolbars\n            }) : Optional.none();\n          } else {\n            return Optional.none();\n          }\n        }, isRoot);\n      }\n    };\n    var lookup$1 = function (scopes, editor) {\n      var rootElem = SugarElement.fromDom(editor.getBody());\n      var isRoot = function (elem) {\n        return eq(elem, rootElem);\n      };\n      var isOutsideRoot = function (startNode) {\n        return !isRoot(startNode) && !contains(rootElem, startNode);\n      };\n      var startNode = SugarElement.fromDom(editor.selection.getNode());\n      if (isOutsideRoot(startNode)) {\n        return Optional.none();\n      }\n      return matchStartNode(startNode, scopes.inNodeScope, scopes.inEditorScope).orThunk(function () {\n        return matchAncestor(isRoot, startNode, scopes);\n      });\n    };\n\n    var categorise = function (contextToolbars, navigate) {\n      var forms = {};\n      var inNodeScope = [];\n      var inEditorScope = [];\n      var formNavigators = {};\n      var lookupTable = {};\n      var registerForm = function (key, toolbarSpec) {\n        var contextForm = getOrDie(createContextForm(toolbarSpec));\n        forms[key] = contextForm;\n        contextForm.launch.map(function (launch) {\n          formNavigators['form:' + key + ''] = __assign(__assign({}, toolbarSpec.launch), {\n            type: launch.type === 'contextformtogglebutton' ? 'togglebutton' : 'button',\n            onAction: function () {\n              navigate(contextForm);\n            }\n          });\n        });\n        if (contextForm.scope === 'editor') {\n          inEditorScope.push(contextForm);\n        } else {\n          inNodeScope.push(contextForm);\n        }\n        lookupTable[key] = contextForm;\n      };\n      var registerToolbar = function (key, toolbarSpec) {\n        createContextToolbar(toolbarSpec).each(function (contextToolbar) {\n          if (toolbarSpec.scope === 'editor') {\n            inEditorScope.push(contextToolbar);\n          } else {\n            inNodeScope.push(contextToolbar);\n          }\n          lookupTable[key] = contextToolbar;\n        });\n      };\n      var keys$1 = keys(contextToolbars);\n      each$1(keys$1, function (key) {\n        var toolbarApi = contextToolbars[key];\n        if (toolbarApi.type === 'contextform') {\n          registerForm(key, toolbarApi);\n        } else if (toolbarApi.type === 'contexttoolbar') {\n          registerToolbar(key, toolbarApi);\n        }\n      });\n      return {\n        forms: forms,\n        inNodeScope: inNodeScope,\n        inEditorScope: inEditorScope,\n        lookupTable: lookupTable,\n        formNavigators: formNavigators\n      };\n    };\n\n    var forwardSlideEvent = generate$6('forward-slide');\n    var backSlideEvent = generate$6('backward-slide');\n    var changeSlideEvent = generate$6('change-slide-event');\n    var resizingClass = 'tox-pop--resizing';\n    var renderContextToolbar = function (spec) {\n      var stack = Cell([]);\n      return InlineView.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-pop']\n        },\n        fireDismissalEventInstead: { event: 'doNotDismissYet' },\n        onShow: function (comp) {\n          stack.set([]);\n          InlineView.getContent(comp).each(function (c) {\n            remove$6(c.element, 'visibility');\n          });\n          remove$2(comp.element, resizingClass);\n          remove$6(comp.element, 'width');\n        },\n        inlineBehaviours: derive$1([\n          config('context-toolbar-events', [\n            runOnSource(transitionend(), function (comp, se) {\n              if (se.event.raw.propertyName === 'width') {\n                remove$2(comp.element, resizingClass);\n                remove$6(comp.element, 'width');\n              }\n            }),\n            run$1(changeSlideEvent, function (comp, se) {\n              var elem = comp.element;\n              remove$6(elem, 'width');\n              var currentWidth = get$a(elem);\n              InlineView.setContent(comp, se.event.contents);\n              add$2(elem, resizingClass);\n              var newWidth = get$a(elem);\n              set$7(elem, 'width', currentWidth + 'px');\n              InlineView.getContent(comp).each(function (newContents) {\n                se.event.focus.bind(function (f) {\n                  focus$3(f);\n                  return search(elem);\n                }).orThunk(function () {\n                  Keying.focusIn(newContents);\n                  return active(getRootNode(elem));\n                });\n              });\n              global$f.setTimeout(function () {\n                set$7(comp.element, 'width', newWidth + 'px');\n              }, 0);\n            }),\n            run$1(forwardSlideEvent, function (comp, se) {\n              InlineView.getContent(comp).each(function (oldContents) {\n                stack.set(stack.get().concat([{\n                    bar: oldContents,\n                    focus: active(getRootNode(comp.element))\n                  }]));\n              });\n              emitWith(comp, changeSlideEvent, {\n                contents: se.event.forwardContents,\n                focus: Optional.none()\n              });\n            }),\n            run$1(backSlideEvent, function (comp, _se) {\n              last$2(stack.get()).each(function (last) {\n                stack.set(stack.get().slice(0, stack.get().length - 1));\n                emitWith(comp, changeSlideEvent, {\n                  contents: premade(last.bar),\n                  focus: last.focus\n                });\n              });\n            })\n          ]),\n          Keying.config({\n            mode: 'special',\n            onEscape: function (comp) {\n              return last$2(stack.get()).fold(function () {\n                return spec.onEscape();\n              }, function (_) {\n                emit(comp, backSlideEvent);\n                return Optional.some(true);\n              });\n            }\n          })\n        ]),\n        lazySink: function () {\n          return Result.value(spec.sink);\n        }\n      });\n    };\n\n    var transitionClass = 'tox-pop--transition';\n    var register$7 = function (editor, registryContextToolbars, sink, extras) {\n      var backstage = extras.backstage;\n      var sharedBackstage = backstage.shared;\n      var isTouch = detect$1().deviceType.isTouch;\n      var lastElement = value$1();\n      var lastTrigger = value$1();\n      var lastContextPosition = value$1();\n      var contextbar = build$1(renderContextToolbar({\n        sink: sink,\n        onEscape: function () {\n          editor.focus();\n          return Optional.some(true);\n        }\n      }));\n      var getBounds = function () {\n        var position = lastContextPosition.get().getOr('node');\n        var margin = shouldUseInsetLayouts(position) ? 1 : 0;\n        return getContextToolbarBounds(editor, sharedBackstage, position, margin);\n      };\n      var canLaunchToolbar = function () {\n        return !editor.removed && !(isTouch() && backstage.isContextMenuOpen());\n      };\n      var isSameLaunchElement = function (elem) {\n        return is$1(lift2(elem, lastElement.get(), eq), true);\n      };\n      var shouldContextToolbarHide = function () {\n        if (!canLaunchToolbar()) {\n          return true;\n        } else {\n          var contextToolbarBounds = getBounds();\n          var anchorBounds = is$1(lastContextPosition.get(), 'node') ? getAnchorElementBounds(editor, lastElement.get()) : getSelectionBounds(editor);\n          return contextToolbarBounds.height <= 0 || !isVerticalOverlap(anchorBounds, contextToolbarBounds);\n        }\n      };\n      var close = function () {\n        lastElement.clear();\n        lastTrigger.clear();\n        lastContextPosition.clear();\n        InlineView.hide(contextbar);\n      };\n      var hideOrRepositionIfNecessary = function () {\n        if (InlineView.isOpen(contextbar)) {\n          var contextBarEle = contextbar.element;\n          remove$6(contextBarEle, 'display');\n          if (shouldContextToolbarHide()) {\n            set$7(contextBarEle, 'display', 'none');\n          } else {\n            lastTrigger.set(0);\n            InlineView.reposition(contextbar);\n          }\n        }\n      };\n      var wrapInPopDialog = function (toolbarSpec) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-pop__dialog']\n          },\n          components: [toolbarSpec],\n          behaviours: derive$1([\n            Keying.config({ mode: 'acyclic' }),\n            config('pop-dialog-wrap-events', [\n              runOnAttached(function (comp) {\n                editor.shortcuts.add('ctrl+F9', 'focus statusbar', function () {\n                  return Keying.focusIn(comp);\n                });\n              }),\n              runOnDetached(function (_comp) {\n                editor.shortcuts.remove('ctrl+F9');\n              })\n            ])\n          ])\n        };\n      };\n      var getScopes = cached(function () {\n        return categorise(registryContextToolbars, function (toolbarApi) {\n          var alloySpec = buildToolbar([toolbarApi]);\n          emitWith(contextbar, forwardSlideEvent, { forwardContents: wrapInPopDialog(alloySpec) });\n        });\n      });\n      var buildContextToolbarGroups = function (allButtons, ctx) {\n        return identifyButtons(editor, {\n          buttons: allButtons,\n          toolbar: ctx.items,\n          allowToolbarGroups: false\n        }, extras, Optional.some(['form:']));\n      };\n      var buildContextFormGroups = function (ctx, providers) {\n        return ContextForm.buildInitGroups(ctx, providers);\n      };\n      var buildToolbar = function (toolbars) {\n        var buttons = editor.ui.registry.getAll().buttons;\n        var scopes = getScopes();\n        var allButtons = __assign(__assign({}, buttons), scopes.formNavigators);\n        var toolbarType = getToolbarMode(editor) === ToolbarMode.scrolling ? ToolbarMode.scrolling : ToolbarMode.default;\n        var initGroups = flatten(map$2(toolbars, function (ctx) {\n          return ctx.type === 'contexttoolbar' ? buildContextToolbarGroups(allButtons, ctx) : buildContextFormGroups(ctx, sharedBackstage.providers);\n        }));\n        return renderToolbar({\n          type: toolbarType,\n          uid: generate$6('context-toolbar'),\n          initGroups: initGroups,\n          onEscape: Optional.none,\n          cyclicKeying: true,\n          providers: sharedBackstage.providers\n        });\n      };\n      var getAnchor = function (position, element) {\n        var anchorage = position === 'node' ? sharedBackstage.anchors.node(element) : sharedBackstage.anchors.cursor();\n        var anchorLayout = getAnchorLayout(editor, position, isTouch(), {\n          lastElement: lastElement.get,\n          isReposition: function () {\n            return is$1(lastTrigger.get(), 0);\n          },\n          getMode: function () {\n            return Positioning.getMode(sink);\n          }\n        });\n        return deepMerge(anchorage, anchorLayout);\n      };\n      var launchContext = function (toolbarApi, elem) {\n        launchContextToolbar.cancel();\n        if (!canLaunchToolbar()) {\n          return;\n        }\n        var toolbarSpec = buildToolbar(toolbarApi);\n        var position = toolbarApi[0].position;\n        var anchor = getAnchor(position, elem);\n        lastContextPosition.set(position);\n        lastTrigger.set(1);\n        var contextBarEle = contextbar.element;\n        remove$6(contextBarEle, 'display');\n        if (!isSameLaunchElement(elem)) {\n          remove$2(contextBarEle, transitionClass);\n          Positioning.reset(sink, contextbar);\n        }\n        InlineView.showWithinBounds(contextbar, wrapInPopDialog(toolbarSpec), {\n          anchor: anchor,\n          transition: {\n            classes: [transitionClass],\n            mode: 'placement'\n          }\n        }, function () {\n          return Optional.some(getBounds());\n        });\n        elem.fold(lastElement.clear, lastElement.set);\n        if (shouldContextToolbarHide()) {\n          set$7(contextBarEle, 'display', 'none');\n        }\n      };\n      var launchContextToolbar = last(function () {\n        if (!editor.hasFocus() || editor.removed) {\n          return;\n        }\n        if (has(contextbar.element, transitionClass)) {\n          launchContextToolbar.throttle();\n        } else {\n          var scopes = getScopes();\n          lookup$1(scopes, editor).fold(close, function (info) {\n            launchContext(info.toolbars, Optional.some(info.elem));\n          });\n        }\n      }, 17);\n      editor.on('init', function () {\n        editor.on('remove', close);\n        editor.on('ScrollContent ScrollWindow ObjectResized ResizeEditor longpress', hideOrRepositionIfNecessary);\n        editor.on('click keyup focus SetContent', launchContextToolbar.throttle);\n        editor.on(hideContextToolbarEvent, close);\n        editor.on(showContextToolbarEvent, function (e) {\n          var scopes = getScopes();\n          get$e(scopes.lookupTable, e.toolbarKey).each(function (ctx) {\n            launchContext([ctx], someIf(e.target !== editor, e.target));\n            InlineView.getContent(contextbar).each(Keying.focusIn);\n          });\n        });\n        editor.on('focusout', function (_e) {\n          global$f.setEditorTimeout(editor, function () {\n            if (search(sink.element).isNone() && search(contextbar.element).isNone()) {\n              close();\n            }\n          }, 0);\n        });\n        editor.on('SwitchMode', function () {\n          if (editor.mode.isReadOnly()) {\n            close();\n          }\n        });\n        editor.on('AfterProgressState', function (event) {\n          if (event.state) {\n            close();\n          } else if (editor.hasFocus()) {\n            launchContextToolbar.throttle();\n          }\n        });\n        editor.on('NodeChange', function (_e) {\n          search(contextbar.element).fold(launchContextToolbar.throttle, noop);\n        });\n      });\n    };\n\n    var register$6 = function (editor) {\n      var alignToolbarButtons = [\n        {\n          name: 'alignleft',\n          text: 'Align left',\n          cmd: 'JustifyLeft',\n          icon: 'align-left'\n        },\n        {\n          name: 'aligncenter',\n          text: 'Align center',\n          cmd: 'JustifyCenter',\n          icon: 'align-center'\n        },\n        {\n          name: 'alignright',\n          text: 'Align right',\n          cmd: 'JustifyRight',\n          icon: 'align-right'\n        },\n        {\n          name: 'alignjustify',\n          text: 'Justify',\n          cmd: 'JustifyFull',\n          icon: 'align-justify'\n        }\n      ];\n      each$1(alignToolbarButtons, function (item) {\n        editor.ui.registry.addToggleButton(item.name, {\n          tooltip: item.text,\n          icon: item.icon,\n          onAction: onActionExecCommand(editor, item.cmd),\n          onSetup: onSetupFormatToggle(editor, item.name)\n        });\n      });\n      editor.ui.registry.addButton('alignnone', {\n        tooltip: 'No alignment',\n        icon: 'align-none',\n        onAction: onActionExecCommand(editor, 'JustifyNone')\n      });\n    };\n\n    var units = {\n      unsupportedLength: [\n        'em',\n        'ex',\n        'cap',\n        'ch',\n        'ic',\n        'rem',\n        'lh',\n        'rlh',\n        'vw',\n        'vh',\n        'vi',\n        'vb',\n        'vmin',\n        'vmax',\n        'cm',\n        'mm',\n        'Q',\n        'in',\n        'pc',\n        'pt',\n        'px'\n      ],\n      fixed: [\n        'px',\n        'pt'\n      ],\n      relative: ['%'],\n      empty: ['']\n    };\n    var pattern = function () {\n      var decimalDigits = '[0-9]+';\n      var signedInteger = '[+-]?' + decimalDigits;\n      var exponentPart = '[eE]' + signedInteger;\n      var dot = '\\\\.';\n      var opt = function (input) {\n        return '(?:' + input + ')?';\n      };\n      var unsignedDecimalLiteral = [\n        'Infinity',\n        decimalDigits + dot + opt(decimalDigits) + opt(exponentPart),\n        dot + decimalDigits + opt(exponentPart),\n        decimalDigits + opt(exponentPart)\n      ].join('|');\n      var float = '[+-]?(?:' + unsignedDecimalLiteral + ')';\n      return new RegExp('^(' + float + ')(.*)$');\n    }();\n    var isUnit = function (unit, accepted) {\n      return exists(accepted, function (acc) {\n        return exists(units[acc], function (check) {\n          return unit === check;\n        });\n      });\n    };\n    var parse = function (input, accepted) {\n      var match = Optional.from(pattern.exec(input));\n      return match.bind(function (array) {\n        var value = Number(array[1]);\n        var unitRaw = array[2];\n        if (isUnit(unitRaw, accepted)) {\n          return Optional.some({\n            value: value,\n            unit: unitRaw\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var normalise = function (input, accepted) {\n      return parse(input, accepted).map(function (_a) {\n        var value = _a.value, unit = _a.unit;\n        return value + unit;\n      });\n    };\n\n    var registerController = function (editor, spec) {\n      var getMenuItems = function () {\n        var options = spec.getOptions(editor);\n        var initial = spec.getCurrent(editor).map(spec.hash);\n        var current = value$1();\n        return map$2(options, function (value) {\n          return {\n            type: 'togglemenuitem',\n            text: spec.display(value),\n            onSetup: function (api) {\n              var setActive = function (active) {\n                if (active) {\n                  current.on(function (oldApi) {\n                    return oldApi.setActive(false);\n                  });\n                  current.set(api);\n                }\n                api.setActive(active);\n              };\n              setActive(is$1(initial, spec.hash(value)));\n              var unbindWatcher = spec.watcher(editor, value, setActive);\n              return function () {\n                current.clear();\n                unbindWatcher();\n              };\n            },\n            onAction: function () {\n              return spec.setCurrent(editor, value);\n            }\n          };\n        });\n      };\n      editor.ui.registry.addMenuButton(spec.name, {\n        tooltip: spec.text,\n        icon: spec.icon,\n        fetch: function (callback) {\n          return callback(getMenuItems());\n        },\n        onSetup: spec.onToolbarSetup\n      });\n      editor.ui.registry.addNestedMenuItem(spec.name, {\n        type: 'nestedmenuitem',\n        text: spec.text,\n        getSubmenuItems: getMenuItems,\n        onSetup: spec.onMenuSetup\n      });\n    };\n    var lineHeightSpec = {\n      name: 'lineheight',\n      text: 'Line height',\n      icon: 'line-height',\n      getOptions: getLineHeightFormats,\n      hash: function (input) {\n        return normalise(input, [\n          'fixed',\n          'relative',\n          'empty'\n        ]).getOr(input);\n      },\n      display: identity$1,\n      watcher: function (editor, value, callback) {\n        return editor.formatter.formatChanged('lineheight', callback, false, { value: value }).unbind;\n      },\n      getCurrent: function (editor) {\n        return Optional.from(editor.queryCommandValue('LineHeight'));\n      },\n      setCurrent: function (editor, value) {\n        return editor.execCommand('LineHeight', false, value);\n      }\n    };\n    var languageSpec = function (editor) {\n      var settingsOpt = Optional.from(getContentLanguages(editor));\n      return settingsOpt.map(function (settings) {\n        return {\n          name: 'language',\n          text: 'Language',\n          icon: 'language',\n          getOptions: constant$1(settings),\n          hash: function (input) {\n            return isUndefined(input.customCode) ? input.code : input.code + '/' + input.customCode;\n          },\n          display: function (input) {\n            return input.title;\n          },\n          watcher: function (editor, value, callback) {\n            return editor.formatter.formatChanged('lang', callback, false, {\n              value: value.code,\n              customValue: value.customCode\n            }).unbind;\n          },\n          getCurrent: function (editor) {\n            var node = SugarElement.fromDom(editor.selection.getNode());\n            return closest$4(node, function (n) {\n              return Optional.some(n).filter(isElement$2).bind(function (ele) {\n                var codeOpt = getOpt(ele, 'lang');\n                return codeOpt.map(function (code) {\n                  var customCode = getOpt(ele, 'data-mce-lang').getOrUndefined();\n                  return {\n                    code: code,\n                    customCode: customCode,\n                    title: ''\n                  };\n                });\n              });\n            });\n          },\n          setCurrent: function (editor, lang) {\n            return editor.execCommand('Lang', false, lang);\n          },\n          onToolbarSetup: function (api) {\n            var unbinder = unbindable();\n            api.setActive(editor.formatter.match('lang', {}, undefined, true));\n            unbinder.set(editor.formatter.formatChanged('lang', api.setActive, true));\n            return unbinder.clear;\n          }\n        };\n      });\n    };\n    var register$5 = function (editor) {\n      registerController(editor, lineHeightSpec);\n      languageSpec(editor).each(function (spec) {\n        return registerController(editor, spec);\n      });\n    };\n\n    var register$4 = function (editor, backstage) {\n      alignSelectMenu(editor, backstage);\n      fontSelectMenu(editor, backstage);\n      styleSelectMenu(editor, backstage);\n      formatSelectMenu(editor, backstage);\n      fontsizeSelectMenu(editor, backstage);\n    };\n\n    var onSetupOutdentState = function (editor) {\n      return onSetupEvent(editor, 'NodeChange', function (api) {\n        api.setDisabled(!editor.queryCommandState('outdent'));\n      });\n    };\n    var registerButtons$2 = function (editor) {\n      editor.ui.registry.addButton('outdent', {\n        tooltip: 'Decrease indent',\n        icon: 'outdent',\n        onSetup: onSetupOutdentState(editor),\n        onAction: onActionExecCommand(editor, 'outdent')\n      });\n      editor.ui.registry.addButton('indent', {\n        tooltip: 'Increase indent',\n        icon: 'indent',\n        onAction: onActionExecCommand(editor, 'indent')\n      });\n    };\n    var register$3 = function (editor) {\n      registerButtons$2(editor);\n    };\n\n    var onActionToggleFormat = function (editor, fmt) {\n      return function () {\n        editor.execCommand('mceToggleFormat', false, fmt);\n      };\n    };\n    var registerFormatButtons = function (editor) {\n      global$5.each([\n        {\n          name: 'bold',\n          text: 'Bold',\n          icon: 'bold'\n        },\n        {\n          name: 'italic',\n          text: 'Italic',\n          icon: 'italic'\n        },\n        {\n          name: 'underline',\n          text: 'Underline',\n          icon: 'underline'\n        },\n        {\n          name: 'strikethrough',\n          text: 'Strikethrough',\n          icon: 'strike-through'\n        },\n        {\n          name: 'subscript',\n          text: 'Subscript',\n          icon: 'subscript'\n        },\n        {\n          name: 'superscript',\n          text: 'Superscript',\n          icon: 'superscript'\n        }\n      ], function (btn, _idx) {\n        editor.ui.registry.addToggleButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onSetup: onSetupFormatToggle(editor, btn.name),\n          onAction: onActionToggleFormat(editor, btn.name)\n        });\n      });\n      for (var i = 1; i <= 6; i++) {\n        var name_1 = 'h' + i;\n        editor.ui.registry.addToggleButton(name_1, {\n          text: name_1.toUpperCase(),\n          tooltip: 'Heading ' + i,\n          onSetup: onSetupFormatToggle(editor, name_1),\n          onAction: onActionToggleFormat(editor, name_1)\n        });\n      }\n    };\n    var registerCommandButtons = function (editor) {\n      global$5.each([\n        {\n          name: 'cut',\n          text: 'Cut',\n          action: 'Cut',\n          icon: 'cut'\n        },\n        {\n          name: 'copy',\n          text: 'Copy',\n          action: 'Copy',\n          icon: 'copy'\n        },\n        {\n          name: 'paste',\n          text: 'Paste',\n          action: 'Paste',\n          icon: 'paste'\n        },\n        {\n          name: 'help',\n          text: 'Help',\n          action: 'mceHelp',\n          icon: 'help'\n        },\n        {\n          name: 'selectall',\n          text: 'Select all',\n          action: 'SelectAll',\n          icon: 'select-all'\n        },\n        {\n          name: 'newdocument',\n          text: 'New document',\n          action: 'mceNewDocument',\n          icon: 'new-document'\n        },\n        {\n          name: 'removeformat',\n          text: 'Clear formatting',\n          action: 'RemoveFormat',\n          icon: 'remove-formatting'\n        },\n        {\n          name: 'remove',\n          text: 'Remove',\n          action: 'Delete',\n          icon: 'remove'\n        }\n      ], function (btn) {\n        editor.ui.registry.addButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onAction: onActionExecCommand(editor, btn.action)\n        });\n      });\n    };\n    var registerCommandToggleButtons = function (editor) {\n      global$5.each([{\n          name: 'blockquote',\n          text: 'Blockquote',\n          action: 'mceBlockQuote',\n          icon: 'quote'\n        }], function (btn) {\n        editor.ui.registry.addToggleButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onAction: onActionExecCommand(editor, btn.action),\n          onSetup: onSetupFormatToggle(editor, btn.name)\n        });\n      });\n    };\n    var registerButtons$1 = function (editor) {\n      registerFormatButtons(editor);\n      registerCommandButtons(editor);\n      registerCommandToggleButtons(editor);\n    };\n    var registerMenuItems$2 = function (editor) {\n      global$5.each([\n        {\n          name: 'bold',\n          text: 'Bold',\n          action: 'Bold',\n          icon: 'bold',\n          shortcut: 'Meta+B'\n        },\n        {\n          name: 'italic',\n          text: 'Italic',\n          action: 'Italic',\n          icon: 'italic',\n          shortcut: 'Meta+I'\n        },\n        {\n          name: 'underline',\n          text: 'Underline',\n          action: 'Underline',\n          icon: 'underline',\n          shortcut: 'Meta+U'\n        },\n        {\n          name: 'strikethrough',\n          text: 'Strikethrough',\n          action: 'Strikethrough',\n          icon: 'strike-through',\n          shortcut: ''\n        },\n        {\n          name: 'subscript',\n          text: 'Subscript',\n          action: 'Subscript',\n          icon: 'subscript',\n          shortcut: ''\n        },\n        {\n          name: 'superscript',\n          text: 'Superscript',\n          action: 'Superscript',\n          icon: 'superscript',\n          shortcut: ''\n        },\n        {\n          name: 'removeformat',\n          text: 'Clear formatting',\n          action: 'RemoveFormat',\n          icon: 'remove-formatting',\n          shortcut: ''\n        },\n        {\n          name: 'newdocument',\n          text: 'New document',\n          action: 'mceNewDocument',\n          icon: 'new-document',\n          shortcut: ''\n        },\n        {\n          name: 'cut',\n          text: 'Cut',\n          action: 'Cut',\n          icon: 'cut',\n          shortcut: 'Meta+X'\n        },\n        {\n          name: 'copy',\n          text: 'Copy',\n          action: 'Copy',\n          icon: 'copy',\n          shortcut: 'Meta+C'\n        },\n        {\n          name: 'paste',\n          text: 'Paste',\n          action: 'Paste',\n          icon: 'paste',\n          shortcut: 'Meta+V'\n        },\n        {\n          name: 'selectall',\n          text: 'Select all',\n          action: 'SelectAll',\n          icon: 'select-all',\n          shortcut: 'Meta+A'\n        }\n      ], function (btn) {\n        editor.ui.registry.addMenuItem(btn.name, {\n          text: btn.text,\n          icon: btn.icon,\n          shortcut: btn.shortcut,\n          onAction: onActionExecCommand(editor, btn.action)\n        });\n      });\n      editor.ui.registry.addMenuItem('codeformat', {\n        text: 'Code',\n        icon: 'sourcecode',\n        onAction: onActionToggleFormat(editor, 'code')\n      });\n    };\n    var register$2 = function (editor) {\n      registerButtons$1(editor);\n      registerMenuItems$2(editor);\n    };\n\n    var onSetupUndoRedoState = function (editor, type) {\n      return onSetupEvent(editor, 'Undo Redo AddUndo TypingUndo ClearUndos SwitchMode', function (api) {\n        api.setDisabled(editor.mode.isReadOnly() || !editor.undoManager[type]());\n      });\n    };\n    var registerMenuItems$1 = function (editor) {\n      editor.ui.registry.addMenuItem('undo', {\n        text: 'Undo',\n        icon: 'undo',\n        shortcut: 'Meta+Z',\n        onSetup: onSetupUndoRedoState(editor, 'hasUndo'),\n        onAction: onActionExecCommand(editor, 'undo')\n      });\n      editor.ui.registry.addMenuItem('redo', {\n        text: 'Redo',\n        icon: 'redo',\n        shortcut: 'Meta+Y',\n        onSetup: onSetupUndoRedoState(editor, 'hasRedo'),\n        onAction: onActionExecCommand(editor, 'redo')\n      });\n    };\n    var registerButtons = function (editor) {\n      editor.ui.registry.addButton('undo', {\n        tooltip: 'Undo',\n        icon: 'undo',\n        disabled: true,\n        onSetup: onSetupUndoRedoState(editor, 'hasUndo'),\n        onAction: onActionExecCommand(editor, 'undo')\n      });\n      editor.ui.registry.addButton('redo', {\n        tooltip: 'Redo',\n        icon: 'redo',\n        disabled: true,\n        onSetup: onSetupUndoRedoState(editor, 'hasRedo'),\n        onAction: onActionExecCommand(editor, 'redo')\n      });\n    };\n    var register$1 = function (editor) {\n      registerMenuItems$1(editor);\n      registerButtons(editor);\n    };\n\n    var onSetupVisualAidState = function (editor) {\n      return onSetupEvent(editor, 'VisualAid', function (api) {\n        api.setActive(editor.hasVisual);\n      });\n    };\n    var registerMenuItems = function (editor) {\n      editor.ui.registry.addToggleMenuItem('visualaid', {\n        text: 'Visual aids',\n        onSetup: onSetupVisualAidState(editor),\n        onAction: onActionExecCommand(editor, 'mceToggleVisualAid')\n      });\n    };\n    var registerToolbarButton = function (editor) {\n      editor.ui.registry.addButton('visualaid', {\n        tooltip: 'Visual aids',\n        text: 'Visual aids',\n        onAction: onActionExecCommand(editor, 'mceToggleVisualAid')\n      });\n    };\n    var register = function (editor) {\n      registerToolbarButton(editor);\n      registerMenuItems(editor);\n    };\n\n    var setup$6 = function (editor, backstage) {\n      register$6(editor);\n      register$2(editor);\n      register$4(editor, backstage);\n      register$1(editor);\n      register$a(editor);\n      register(editor);\n      register$3(editor);\n      register$5(editor);\n    };\n\n    var nu = function (x, y) {\n      return {\n        type: 'makeshift',\n        x: x,\n        y: y\n      };\n    };\n    var transpose = function (pos, dx, dy) {\n      return nu(pos.x + dx, pos.y + dy);\n    };\n    var isTouchEvent = function (e) {\n      return e.type === 'longpress' || e.type.indexOf('touch') === 0;\n    };\n    var fromPageXY = function (e) {\n      if (isTouchEvent(e)) {\n        var touch = e.touches[0];\n        return nu(touch.pageX, touch.pageY);\n      } else {\n        return nu(e.pageX, e.pageY);\n      }\n    };\n    var fromClientXY = function (e) {\n      if (isTouchEvent(e)) {\n        var touch = e.touches[0];\n        return nu(touch.clientX, touch.clientY);\n      } else {\n        return nu(e.clientX, e.clientY);\n      }\n    };\n    var transposeContentAreaContainer = function (element, pos) {\n      var containerPos = global$b.DOM.getPos(element);\n      return transpose(pos, containerPos.x, containerPos.y);\n    };\n    var getPointAnchor = function (editor, e) {\n      if (e.type === 'contextmenu' || e.type === 'longpress') {\n        if (editor.inline) {\n          return fromPageXY(e);\n        } else {\n          return transposeContentAreaContainer(editor.getContentAreaContainer(), fromClientXY(e));\n        }\n      } else {\n        return getSelectionAnchor(editor);\n      }\n    };\n    var getSelectionAnchor = function (editor) {\n      return {\n        type: 'selection',\n        root: SugarElement.fromDom(editor.selection.getNode())\n      };\n    };\n    var getNodeAnchor = function (editor) {\n      return {\n        type: 'node',\n        node: Optional.some(SugarElement.fromDom(editor.selection.getNode())),\n        root: SugarElement.fromDom(editor.getBody())\n      };\n    };\n    var getAnchorSpec$1 = function (editor, e, anchorType) {\n      switch (anchorType) {\n      case 'node':\n        return getNodeAnchor(editor);\n      case 'point':\n        return getPointAnchor(editor, e);\n      case 'selection':\n        return getSelectionAnchor(editor);\n      }\n    };\n\n    var initAndShow$1 = function (editor, e, buildMenu, backstage, contextmenu, anchorType) {\n      var items = buildMenu();\n      var anchorSpec = getAnchorSpec$1(editor, e, anchorType);\n      build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, false).map(function (menuData) {\n        e.preventDefault();\n        InlineView.showMenuAt(contextmenu, { anchor: anchorSpec }, {\n          menu: { markers: markers('normal') },\n          data: menuData\n        });\n      });\n    };\n\n    var layouts = {\n      onLtr: function () {\n        return [\n          south$2,\n          southeast$2,\n          southwest$2,\n          northeast$2,\n          northwest$2,\n          north$2,\n          north,\n          south,\n          northeast,\n          southeast,\n          northwest,\n          southwest\n        ];\n      },\n      onRtl: function () {\n        return [\n          south$2,\n          southwest$2,\n          southeast$2,\n          northwest$2,\n          northeast$2,\n          north$2,\n          north,\n          south,\n          northwest,\n          southwest,\n          northeast,\n          southeast\n        ];\n      }\n    };\n    var bubbleSize = 12;\n    var bubbleAlignments = {\n      valignCentre: [],\n      alignCentre: [],\n      alignLeft: ['tox-pop--align-left'],\n      alignRight: ['tox-pop--align-right'],\n      right: ['tox-pop--right'],\n      left: ['tox-pop--left'],\n      bottom: ['tox-pop--bottom'],\n      top: ['tox-pop--top']\n    };\n    var isTouchWithinSelection = function (editor, e) {\n      var selection = editor.selection;\n      if (selection.isCollapsed() || e.touches.length < 1) {\n        return false;\n      } else {\n        var touch_1 = e.touches[0];\n        var rng = selection.getRng();\n        var rngRectOpt = getFirstRect(editor.getWin(), SimSelection.domRange(rng));\n        return rngRectOpt.exists(function (rngRect) {\n          return rngRect.left <= touch_1.clientX && rngRect.right >= touch_1.clientX && rngRect.top <= touch_1.clientY && rngRect.bottom >= touch_1.clientY;\n        });\n      }\n    };\n    var setupiOSOverrides = function (editor) {\n      var originalSelection = editor.selection.getRng();\n      var selectionReset = function () {\n        global$f.setEditorTimeout(editor, function () {\n          editor.selection.setRng(originalSelection);\n        }, 10);\n        unbindEventListeners();\n      };\n      editor.once('touchend', selectionReset);\n      var preventMousedown = function (e) {\n        e.preventDefault();\n        e.stopImmediatePropagation();\n      };\n      editor.on('mousedown', preventMousedown, true);\n      var clearSelectionReset = function () {\n        return unbindEventListeners();\n      };\n      editor.once('longpresscancel', clearSelectionReset);\n      var unbindEventListeners = function () {\n        editor.off('touchend', selectionReset);\n        editor.off('longpresscancel', clearSelectionReset);\n        editor.off('mousedown', preventMousedown);\n      };\n    };\n    var getAnchorSpec = function (editor, e, anchorType) {\n      var anchorSpec = getAnchorSpec$1(editor, e, anchorType);\n      var bubbleYOffset = anchorType === 'point' ? bubbleSize : 0;\n      return __assign({\n        bubble: nu$5(0, bubbleYOffset, bubbleAlignments),\n        layouts: layouts,\n        overrides: {\n          maxWidthFunction: expandable(),\n          maxHeightFunction: expandable$1()\n        }\n      }, anchorSpec);\n    };\n    var show = function (editor, e, items, backstage, contextmenu, anchorType, highlightImmediately) {\n      var anchorSpec = getAnchorSpec(editor, e, anchorType);\n      build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, true).map(function (menuData) {\n        e.preventDefault();\n        InlineView.showMenuWithinBounds(contextmenu, { anchor: anchorSpec }, {\n          menu: {\n            markers: markers('normal'),\n            highlightImmediately: highlightImmediately\n          },\n          data: menuData,\n          type: 'horizontal'\n        }, function () {\n          return Optional.some(getContextToolbarBounds(editor, backstage.shared, anchorType === 'node' ? 'node' : 'selection'));\n        });\n        editor.fire(hideContextToolbarEvent);\n      });\n    };\n    var initAndShow = function (editor, e, buildMenu, backstage, contextmenu, anchorType) {\n      var detection = detect$1();\n      var isiOS = detection.os.isiOS();\n      var isOSX = detection.os.isOSX();\n      var isAndroid = detection.os.isAndroid();\n      var isTouch = detection.deviceType.isTouch();\n      var shouldHighlightImmediately = function () {\n        return !(isAndroid || isiOS || isOSX && isTouch);\n      };\n      var open = function () {\n        var items = buildMenu();\n        show(editor, e, items, backstage, contextmenu, anchorType, shouldHighlightImmediately());\n      };\n      if ((isOSX || isiOS) && anchorType !== 'node') {\n        var openiOS_1 = function () {\n          setupiOSOverrides(editor);\n          open();\n        };\n        if (isTouchWithinSelection(editor, e)) {\n          openiOS_1();\n        } else {\n          editor.once('selectionchange', openiOS_1);\n          editor.once('touchend', function () {\n            return editor.off('selectionchange', openiOS_1);\n          });\n        }\n      } else {\n        open();\n      }\n    };\n\n    var patchPipeConfig = function (config) {\n      return typeof config === 'string' ? config.split(/[ ,]/) : config;\n    };\n    var shouldNeverUseNative = function (editor) {\n      return editor.getParam('contextmenu_never_use_native', false, 'boolean');\n    };\n    var getMenuItems = function (editor, name, defaultItems) {\n      var contextMenus = editor.ui.registry.getAll().contextMenus;\n      return Optional.from(editor.getParam(name)).map(patchPipeConfig).getOrThunk(function () {\n        return filter$2(patchPipeConfig(defaultItems), function (item) {\n          return has$2(contextMenus, item);\n        });\n      });\n    };\n    var isContextMenuDisabled = function (editor) {\n      return editor.getParam('contextmenu') === false;\n    };\n    var getContextMenu = function (editor) {\n      return getMenuItems(editor, 'contextmenu', 'link linkchecker image imagetools table spellchecker configurepermanentpen');\n    };\n    var getAvoidOverlapSelector = function (editor) {\n      return editor.getParam('contextmenu_avoid_overlap', '', 'string');\n    };\n\n    var isSeparator = function (item) {\n      return isString(item) ? item === '|' : item.type === 'separator';\n    };\n    var separator = { type: 'separator' };\n    var makeContextItem = function (item) {\n      var commonMenuItem = function (item) {\n        return {\n          text: item.text,\n          icon: item.icon,\n          disabled: item.disabled,\n          shortcut: item.shortcut\n        };\n      };\n      if (isString(item)) {\n        return item;\n      } else {\n        switch (item.type) {\n        case 'separator':\n          return separator;\n        case 'submenu':\n          return __assign(__assign({ type: 'nestedmenuitem' }, commonMenuItem(item)), {\n            getSubmenuItems: function () {\n              var items = item.getSubmenuItems();\n              if (isString(items)) {\n                return items;\n              } else {\n                return map$2(items, makeContextItem);\n              }\n            }\n          });\n        default:\n          return __assign(__assign({ type: 'menuitem' }, commonMenuItem(item)), { onAction: noarg(item.onAction) });\n        }\n      }\n    };\n    var addContextMenuGroup = function (xs, groupItems) {\n      if (groupItems.length === 0) {\n        return xs;\n      }\n      var lastMenuItem = last$2(xs).filter(function (item) {\n        return !isSeparator(item);\n      });\n      var before = lastMenuItem.fold(function () {\n        return [];\n      }, function (_) {\n        return [separator];\n      });\n      return xs.concat(before).concat(groupItems).concat([separator]);\n    };\n    var generateContextMenu = function (contextMenus, menuConfig, selectedElement) {\n      var sections = foldl(menuConfig, function (acc, name) {\n        return get$e(contextMenus, name.toLowerCase()).map(function (menu) {\n          var items = menu.update(selectedElement);\n          if (isString(items)) {\n            return addContextMenuGroup(acc, items.split(' '));\n          } else if (items.length > 0) {\n            var allItems = map$2(items, makeContextItem);\n            return addContextMenuGroup(acc, allItems);\n          } else {\n            return acc;\n          }\n        }).getOrThunk(function () {\n          return acc.concat([name]);\n        });\n      }, []);\n      if (sections.length > 0 && isSeparator(sections[sections.length - 1])) {\n        sections.pop();\n      }\n      return sections;\n    };\n    var isNativeOverrideKeyEvent = function (editor, e) {\n      return e.ctrlKey && !shouldNeverUseNative(editor);\n    };\n    var isTriggeredByKeyboard = function (editor, e) {\n      return e.type !== 'longpress' && (e.button !== 2 || e.target === editor.getBody() && e.pointerType === '');\n    };\n    var getSelectedElement = function (editor, e) {\n      return isTriggeredByKeyboard(editor, e) ? editor.selection.getStart(true) : e.target;\n    };\n    var getAnchorType = function (editor, e) {\n      var selector = getAvoidOverlapSelector(editor);\n      var anchorType = isTriggeredByKeyboard(editor, e) ? 'selection' : 'point';\n      if (isNotEmpty(selector)) {\n        var target = getSelectedElement(editor, e);\n        var selectorExists = closest(SugarElement.fromDom(target), selector);\n        return selectorExists ? 'node' : anchorType;\n      } else {\n        return anchorType;\n      }\n    };\n    var setup$5 = function (editor, lazySink, backstage) {\n      var detection = detect$1();\n      var isTouch = detection.deviceType.isTouch;\n      var contextmenu = build$1(InlineView.sketch({\n        dom: { tag: 'div' },\n        lazySink: lazySink,\n        onEscape: function () {\n          return editor.focus();\n        },\n        onShow: function () {\n          return backstage.setContextMenuState(true);\n        },\n        onHide: function () {\n          return backstage.setContextMenuState(false);\n        },\n        fireDismissalEventInstead: {},\n        inlineBehaviours: derive$1([config('dismissContextMenu', [run$1(dismissRequested(), function (comp, _se) {\n              Sandboxing.close(comp);\n              editor.focus();\n            })])])\n      }));\n      var hideContextMenu = function (_e) {\n        return InlineView.hide(contextmenu);\n      };\n      var showContextMenu = function (e) {\n        if (shouldNeverUseNative(editor)) {\n          e.preventDefault();\n        }\n        if (isNativeOverrideKeyEvent(editor, e) || isContextMenuDisabled(editor)) {\n          return;\n        }\n        var anchorType = getAnchorType(editor, e);\n        var buildMenu = function () {\n          var selectedElement = getSelectedElement(editor, e);\n          var registry = editor.ui.registry.getAll();\n          var menuConfig = getContextMenu(editor);\n          return generateContextMenu(registry.contextMenus, menuConfig, selectedElement);\n        };\n        var initAndShow$2 = isTouch() ? initAndShow : initAndShow$1;\n        initAndShow$2(editor, e, buildMenu, backstage, contextmenu, anchorType);\n      };\n      editor.on('init', function () {\n        var hideEvents = 'ResizeEditor ScrollContent ScrollWindow longpresscancel' + (isTouch() ? '' : ' ResizeWindow');\n        editor.on(hideEvents, hideContextMenu);\n        editor.on('longpress contextmenu', showContextMenu);\n      });\n    };\n\n    var adt = Adt.generate([\n      {\n        offset: [\n          'x',\n          'y'\n        ]\n      },\n      {\n        absolute: [\n          'x',\n          'y'\n        ]\n      },\n      {\n        fixed: [\n          'x',\n          'y'\n        ]\n      }\n    ]);\n    var subtract = function (change) {\n      return function (point) {\n        return point.translate(-change.left, -change.top);\n      };\n    };\n    var add = function (change) {\n      return function (point) {\n        return point.translate(change.left, change.top);\n      };\n    };\n    var transform = function (changes) {\n      return function (x, y) {\n        return foldl(changes, function (rest, f) {\n          return f(rest);\n        }, SugarPosition(x, y));\n      };\n    };\n    var asFixed = function (coord, scroll, origin) {\n      return coord.fold(transform([\n        add(origin),\n        subtract(scroll)\n      ]), transform([subtract(scroll)]), transform([]));\n    };\n    var asAbsolute = function (coord, scroll, origin) {\n      return coord.fold(transform([add(origin)]), transform([]), transform([add(scroll)]));\n    };\n    var asOffset = function (coord, scroll, origin) {\n      return coord.fold(transform([]), transform([subtract(origin)]), transform([\n        add(scroll),\n        subtract(origin)\n      ]));\n    };\n    var withinRange = function (coord1, coord2, xRange, yRange, scroll, origin) {\n      var a1 = asAbsolute(coord1, scroll, origin);\n      var a2 = asAbsolute(coord2, scroll, origin);\n      return Math.abs(a1.left - a2.left) <= xRange && Math.abs(a1.top - a2.top) <= yRange;\n    };\n    var getDeltas = function (coord1, coord2, xRange, yRange, scroll, origin) {\n      var a1 = asAbsolute(coord1, scroll, origin);\n      var a2 = asAbsolute(coord2, scroll, origin);\n      var left = Math.abs(a1.left - a2.left);\n      var top = Math.abs(a1.top - a2.top);\n      return SugarPosition(left, top);\n    };\n    var toStyles = function (coord, scroll, origin) {\n      var stylesOpt = coord.fold(function (x, y) {\n        return {\n          position: Optional.some('absolute'),\n          left: Optional.some(x + 'px'),\n          top: Optional.some(y + 'px')\n        };\n      }, function (x, y) {\n        return {\n          position: Optional.some('absolute'),\n          left: Optional.some(x - origin.left + 'px'),\n          top: Optional.some(y - origin.top + 'px')\n        };\n      }, function (x, y) {\n        return {\n          position: Optional.some('fixed'),\n          left: Optional.some(x + 'px'),\n          top: Optional.some(y + 'px')\n        };\n      });\n      return __assign({\n        right: Optional.none(),\n        bottom: Optional.none()\n      }, stylesOpt);\n    };\n    var translate = function (coord, deltaX, deltaY) {\n      return coord.fold(function (x, y) {\n        return offset(x + deltaX, y + deltaY);\n      }, function (x, y) {\n        return absolute(x + deltaX, y + deltaY);\n      }, function (x, y) {\n        return fixed(x + deltaX, y + deltaY);\n      });\n    };\n    var absorb = function (partialCoord, originalCoord, scroll, origin) {\n      var absorbOne = function (stencil, nu) {\n        return function (optX, optY) {\n          var original = stencil(originalCoord, scroll, origin);\n          return nu(optX.getOr(original.left), optY.getOr(original.top));\n        };\n      };\n      return partialCoord.fold(absorbOne(asOffset, offset), absorbOne(asAbsolute, absolute), absorbOne(asFixed, fixed));\n    };\n    var offset = adt.offset;\n    var absolute = adt.absolute;\n    var fixed = adt.fixed;\n\n    var parseAttrToInt = function (element, name) {\n      var value = get$d(element, name);\n      return isUndefined(value) ? NaN : parseInt(value, 10);\n    };\n    var get = function (component, snapsInfo) {\n      var element = component.element;\n      var x = parseAttrToInt(element, snapsInfo.leftAttr);\n      var y = parseAttrToInt(element, snapsInfo.topAttr);\n      return isNaN(x) || isNaN(y) ? Optional.none() : Optional.some(SugarPosition(x, y));\n    };\n    var set = function (component, snapsInfo, pt) {\n      var element = component.element;\n      set$8(element, snapsInfo.leftAttr, pt.left + 'px');\n      set$8(element, snapsInfo.topAttr, pt.top + 'px');\n    };\n    var clear = function (component, snapsInfo) {\n      var element = component.element;\n      remove$7(element, snapsInfo.leftAttr);\n      remove$7(element, snapsInfo.topAttr);\n    };\n\n    var getCoords = function (component, snapInfo, coord, delta) {\n      return get(component, snapInfo).fold(function () {\n        return coord;\n      }, function (fixed$1) {\n        return fixed(fixed$1.left + delta.left, fixed$1.top + delta.top);\n      });\n    };\n    var moveOrSnap = function (component, snapInfo, coord, delta, scroll, origin) {\n      var newCoord = getCoords(component, snapInfo, coord, delta);\n      var snap = snapInfo.mustSnap ? findClosestSnap(component, snapInfo, newCoord, scroll, origin) : findSnap(component, snapInfo, newCoord, scroll, origin);\n      var fixedCoord = asFixed(newCoord, scroll, origin);\n      set(component, snapInfo, fixedCoord);\n      return snap.fold(function () {\n        return {\n          coord: fixed(fixedCoord.left, fixedCoord.top),\n          extra: Optional.none()\n        };\n      }, function (spanned) {\n        return {\n          coord: spanned.output,\n          extra: spanned.extra\n        };\n      });\n    };\n    var stopDrag = function (component, snapInfo) {\n      clear(component, snapInfo);\n    };\n    var findMatchingSnap = function (snaps, newCoord, scroll, origin) {\n      return findMap(snaps, function (snap) {\n        var sensor = snap.sensor;\n        var inRange = withinRange(newCoord, sensor, snap.range.left, snap.range.top, scroll, origin);\n        return inRange ? Optional.some({\n          output: absorb(snap.output, newCoord, scroll, origin),\n          extra: snap.extra\n        }) : Optional.none();\n      });\n    };\n    var findClosestSnap = function (component, snapInfo, newCoord, scroll, origin) {\n      var snaps = snapInfo.getSnapPoints(component);\n      var matchSnap = findMatchingSnap(snaps, newCoord, scroll, origin);\n      return matchSnap.orThunk(function () {\n        var bestSnap = foldl(snaps, function (acc, snap) {\n          var sensor = snap.sensor;\n          var deltas = getDeltas(newCoord, sensor, snap.range.left, snap.range.top, scroll, origin);\n          return acc.deltas.fold(function () {\n            return {\n              deltas: Optional.some(deltas),\n              snap: Optional.some(snap)\n            };\n          }, function (bestDeltas) {\n            var currAvg = (deltas.left + deltas.top) / 2;\n            var bestAvg = (bestDeltas.left + bestDeltas.top) / 2;\n            if (currAvg <= bestAvg) {\n              return {\n                deltas: Optional.some(deltas),\n                snap: Optional.some(snap)\n              };\n            } else {\n              return acc;\n            }\n          });\n        }, {\n          deltas: Optional.none(),\n          snap: Optional.none()\n        });\n        return bestSnap.snap.map(function (snap) {\n          return {\n            output: absorb(snap.output, newCoord, scroll, origin),\n            extra: snap.extra\n          };\n        });\n      });\n    };\n    var findSnap = function (component, snapInfo, newCoord, scroll, origin) {\n      var snaps = snapInfo.getSnapPoints(component);\n      return findMatchingSnap(snaps, newCoord, scroll, origin);\n    };\n    var snapTo$1 = function (snap, scroll, origin) {\n      return {\n        coord: absorb(snap.output, snap.output, scroll, origin),\n        extra: snap.extra\n      };\n    };\n\n    var snapTo = function (component, dragConfig, _state, snap) {\n      var target = dragConfig.getTarget(component.element);\n      if (dragConfig.repositionTarget) {\n        var doc = owner$4(component.element);\n        var scroll_1 = get$9(doc);\n        var origin_1 = getOrigin(target);\n        var snapPin = snapTo$1(snap, scroll_1, origin_1);\n        var styles = toStyles(snapPin.coord, scroll_1, origin_1);\n        setOptions(target, styles);\n      }\n    };\n\n    var DraggingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        snapTo: snapTo\n    });\n\n    var initialAttribute = 'data-initial-z-index';\n    var resetZIndex = function (blocker) {\n      parent(blocker.element).filter(isElement$2).each(function (root) {\n        getOpt(root, initialAttribute).fold(function () {\n          return remove$6(root, 'z-index');\n        }, function (zIndex) {\n          return set$7(root, 'z-index', zIndex);\n        });\n        remove$7(root, initialAttribute);\n      });\n    };\n    var changeZIndex = function (blocker) {\n      parent(blocker.element).filter(isElement$2).each(function (root) {\n        getRaw(root, 'z-index').each(function (zindex) {\n          set$8(root, initialAttribute, zindex);\n        });\n        set$7(root, 'z-index', get$c(blocker.element, 'z-index'));\n      });\n    };\n    var instigate = function (anyComponent, blocker) {\n      anyComponent.getSystem().addToGui(blocker);\n      changeZIndex(blocker);\n    };\n    var discard = function (blocker) {\n      resetZIndex(blocker);\n      blocker.getSystem().removeFromGui(blocker);\n    };\n    var createComponent = function (component, blockerClass, blockerEvents) {\n      return component.getSystem().build(Container.sketch({\n        dom: {\n          styles: {\n            'left': '0px',\n            'top': '0px',\n            'width': '100%',\n            'height': '100%',\n            'position': 'fixed',\n            'z-index': '1000000000000000'\n          },\n          classes: [blockerClass]\n        },\n        events: blockerEvents\n      }));\n    };\n\n    var SnapSchema = optionObjOf('snaps', [\n      required$1('getSnapPoints'),\n      onHandler('onSensor'),\n      required$1('leftAttr'),\n      required$1('topAttr'),\n      defaulted('lazyViewport', win),\n      defaulted('mustSnap', false)\n    ]);\n\n    var schema$6 = [\n      defaulted('useFixed', never),\n      required$1('blockerClass'),\n      defaulted('getTarget', identity$1),\n      defaulted('onDrag', noop),\n      defaulted('repositionTarget', true),\n      defaulted('onDrop', noop),\n      defaultedFunction('getBounds', win),\n      SnapSchema\n    ];\n\n    var getCurrentCoord = function (target) {\n      return lift3(getRaw(target, 'left'), getRaw(target, 'top'), getRaw(target, 'position'), function (left, top, position) {\n        var nu = position === 'fixed' ? fixed : offset;\n        return nu(parseInt(left, 10), parseInt(top, 10));\n      }).getOrThunk(function () {\n        var location = absolute$3(target);\n        return absolute(location.left, location.top);\n      });\n    };\n    var clampCoords = function (component, coords, scroll, origin, startData) {\n      var bounds = startData.bounds;\n      var absoluteCoord = asAbsolute(coords, scroll, origin);\n      var newX = clamp$1(absoluteCoord.left, bounds.x, bounds.x + bounds.width - startData.width);\n      var newY = clamp$1(absoluteCoord.top, bounds.y, bounds.y + bounds.height - startData.height);\n      var newCoords = absolute(newX, newY);\n      return coords.fold(function () {\n        var offset$1 = asOffset(newCoords, scroll, origin);\n        return offset(offset$1.left, offset$1.top);\n      }, constant$1(newCoords), function () {\n        var fixed$1 = asFixed(newCoords, scroll, origin);\n        return fixed(fixed$1.left, fixed$1.top);\n      });\n    };\n    var calcNewCoord = function (component, optSnaps, currentCoord, scroll, origin, delta, startData) {\n      var newCoord = optSnaps.fold(function () {\n        var translated = translate(currentCoord, delta.left, delta.top);\n        var fixedCoord = asFixed(translated, scroll, origin);\n        return fixed(fixedCoord.left, fixedCoord.top);\n      }, function (snapInfo) {\n        var snapping = moveOrSnap(component, snapInfo, currentCoord, delta, scroll, origin);\n        snapping.extra.each(function (extra) {\n          snapInfo.onSensor(component, extra);\n        });\n        return snapping.coord;\n      });\n      return clampCoords(component, newCoord, scroll, origin, startData);\n    };\n    var dragBy = function (component, dragConfig, startData, delta) {\n      var target = dragConfig.getTarget(component.element);\n      if (dragConfig.repositionTarget) {\n        var doc = owner$4(component.element);\n        var scroll_1 = get$9(doc);\n        var origin_1 = getOrigin(target);\n        var currentCoord = getCurrentCoord(target);\n        var newCoord = calcNewCoord(component, dragConfig.snaps, currentCoord, scroll_1, origin_1, delta, startData);\n        var styles = toStyles(newCoord, scroll_1, origin_1);\n        setOptions(target, styles);\n      }\n      dragConfig.onDrag(component, target, delta);\n    };\n\n    var calcStartData = function (dragConfig, comp) {\n      return {\n        bounds: dragConfig.getBounds(),\n        height: getOuter$2(comp.element),\n        width: getOuter$1(comp.element)\n      };\n    };\n    var move = function (component, dragConfig, dragState, dragMode, event) {\n      var delta = dragState.update(dragMode, event);\n      var dragStartData = dragState.getStartData().getOrThunk(function () {\n        return calcStartData(dragConfig, component);\n      });\n      delta.each(function (dlt) {\n        dragBy(component, dragConfig, dragStartData, dlt);\n      });\n    };\n    var stop = function (component, blocker, dragConfig, dragState) {\n      blocker.each(discard);\n      dragConfig.snaps.each(function (snapInfo) {\n        stopDrag(component, snapInfo);\n      });\n      var target = dragConfig.getTarget(component.element);\n      dragState.reset();\n      dragConfig.onDrop(component, target);\n    };\n    var handlers = function (events) {\n      return function (dragConfig, dragState) {\n        var updateStartState = function (comp) {\n          dragState.setStartData(calcStartData(dragConfig, comp));\n        };\n        return derive$2(__spreadArray([run$1(windowScroll(), function (comp) {\n            dragState.getStartData().each(function () {\n              return updateStartState(comp);\n            });\n          })], events(dragConfig, dragState, updateStartState), true));\n      };\n    };\n\n    var init$2 = function (dragApi) {\n      return derive$2([\n        run$1(mousedown(), dragApi.forceDrop),\n        run$1(mouseup(), dragApi.drop),\n        run$1(mousemove(), function (comp, simulatedEvent) {\n          dragApi.move(simulatedEvent.event);\n        }),\n        run$1(mouseout(), dragApi.delayDrop)\n      ]);\n    };\n\n    var getData$1 = function (event) {\n      return Optional.from(SugarPosition(event.x, event.y));\n    };\n    var getDelta$1 = function (old, nu) {\n      return SugarPosition(nu.left - old.left, nu.top - old.top);\n    };\n\n    var MouseData = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getData: getData$1,\n        getDelta: getDelta$1\n    });\n\n    var events$2 = function (dragConfig, dragState, updateStartState) {\n      return [run$1(mousedown(), function (component, simulatedEvent) {\n          var raw = simulatedEvent.event.raw;\n          if (raw.button !== 0) {\n            return;\n          }\n          simulatedEvent.stop();\n          var stop$1 = function () {\n            return stop(component, Optional.some(blocker), dragConfig, dragState);\n          };\n          var delayDrop = DelayedFunction(stop$1, 200);\n          var dragApi = {\n            drop: stop$1,\n            delayDrop: delayDrop.schedule,\n            forceDrop: stop$1,\n            move: function (event) {\n              delayDrop.cancel();\n              move(component, dragConfig, dragState, MouseData, event);\n            }\n          };\n          var blocker = createComponent(component, dragConfig.blockerClass, init$2(dragApi));\n          var start = function () {\n            updateStartState(component);\n            instigate(component, blocker);\n          };\n          start();\n        })];\n    };\n    var schema$5 = __spreadArray(__spreadArray([], schema$6, true), [output$1('dragger', { handlers: handlers(events$2) })], false);\n\n    var init$1 = function (dragApi) {\n      return derive$2([\n        run$1(touchstart(), dragApi.forceDrop),\n        run$1(touchend(), dragApi.drop),\n        run$1(touchcancel(), dragApi.drop),\n        run$1(touchmove(), function (comp, simulatedEvent) {\n          dragApi.move(simulatedEvent.event);\n        })\n      ]);\n    };\n\n    var getDataFrom = function (touches) {\n      var touch = touches[0];\n      return Optional.some(SugarPosition(touch.clientX, touch.clientY));\n    };\n    var getData = function (event) {\n      var raw = event.raw;\n      var touches = raw.touches;\n      return touches.length === 1 ? getDataFrom(touches) : Optional.none();\n    };\n    var getDelta = function (old, nu) {\n      return SugarPosition(nu.left - old.left, nu.top - old.top);\n    };\n\n    var TouchData = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getData: getData,\n        getDelta: getDelta\n    });\n\n    var events$1 = function (dragConfig, dragState, updateStartState) {\n      var blockerSingleton = value$1();\n      var stopBlocking = function (component) {\n        stop(component, blockerSingleton.get(), dragConfig, dragState);\n        blockerSingleton.clear();\n      };\n      return [\n        run$1(touchstart(), function (component, simulatedEvent) {\n          simulatedEvent.stop();\n          var stop = function () {\n            return stopBlocking(component);\n          };\n          var dragApi = {\n            drop: stop,\n            delayDrop: noop,\n            forceDrop: stop,\n            move: function (event) {\n              move(component, dragConfig, dragState, TouchData, event);\n            }\n          };\n          var blocker = createComponent(component, dragConfig.blockerClass, init$1(dragApi));\n          blockerSingleton.set(blocker);\n          var start = function () {\n            updateStartState(component);\n            instigate(component, blocker);\n          };\n          start();\n        }),\n        run$1(touchmove(), function (component, simulatedEvent) {\n          simulatedEvent.stop();\n          move(component, dragConfig, dragState, TouchData, simulatedEvent.event);\n        }),\n        run$1(touchend(), function (component, simulatedEvent) {\n          simulatedEvent.stop();\n          stopBlocking(component);\n        }),\n        run$1(touchcancel(), stopBlocking)\n      ];\n    };\n    var schema$4 = __spreadArray(__spreadArray([], schema$6, true), [output$1('dragger', { handlers: handlers(events$1) })], false);\n\n    var events = function (dragConfig, dragState, updateStartState) {\n      return __spreadArray(__spreadArray([], events$2(dragConfig, dragState, updateStartState), true), events$1(dragConfig, dragState, updateStartState), true);\n    };\n    var schema$3 = __spreadArray(__spreadArray([], schema$6, true), [output$1('dragger', { handlers: handlers(events) })], false);\n\n    var mouse = schema$5;\n    var touch = schema$4;\n    var mouseOrTouch = schema$3;\n\n    var DraggingBranches = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        mouse: mouse,\n        touch: touch,\n        mouseOrTouch: mouseOrTouch\n    });\n\n    var init = function () {\n      var previous = Optional.none();\n      var startData = Optional.none();\n      var reset = function () {\n        previous = Optional.none();\n        startData = Optional.none();\n      };\n      var calculateDelta = function (mode, nu) {\n        var result = previous.map(function (old) {\n          return mode.getDelta(old, nu);\n        });\n        previous = Optional.some(nu);\n        return result;\n      };\n      var update = function (mode, dragEvent) {\n        return mode.getData(dragEvent).bind(function (nuData) {\n          return calculateDelta(mode, nuData);\n        });\n      };\n      var setStartData = function (data) {\n        startData = Optional.some(data);\n      };\n      var getStartData = function () {\n        return startData;\n      };\n      var readState = constant$1({});\n      return nu$8({\n        readState: readState,\n        reset: reset,\n        update: update,\n        getStartData: getStartData,\n        setStartData: setStartData\n      });\n    };\n\n    var DragState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init\n    });\n\n    var Dragging = createModes({\n      branchKey: 'mode',\n      branches: DraggingBranches,\n      name: 'dragging',\n      active: {\n        events: function (dragConfig, dragState) {\n          var dragger = dragConfig.dragger;\n          return dragger.handlers(dragConfig, dragState);\n        }\n      },\n      extra: {\n        snap: function (sConfig) {\n          return {\n            sensor: sConfig.sensor,\n            range: sConfig.range,\n            output: sConfig.output,\n            extra: Optional.from(sConfig.extra)\n          };\n        }\n      },\n      state: DragState,\n      apis: DraggingApis\n    });\n\n    var snapWidth = 40;\n    var snapOffset = snapWidth / 2;\n    var calcSnap = function (selectorOpt, td, x, y, width, height) {\n      return selectorOpt.fold(function () {\n        return Dragging.snap({\n          sensor: absolute(x - snapOffset, y - snapOffset),\n          range: SugarPosition(width, height),\n          output: absolute(Optional.some(x), Optional.some(y)),\n          extra: { td: td }\n        });\n      }, function (selectorHandle) {\n        var sensorLeft = x - snapOffset;\n        var sensorTop = y - snapOffset;\n        var sensorWidth = snapWidth;\n        var sensorHeight = snapWidth;\n        var rect = selectorHandle.element.dom.getBoundingClientRect();\n        return Dragging.snap({\n          sensor: absolute(sensorLeft, sensorTop),\n          range: SugarPosition(sensorWidth, sensorHeight),\n          output: absolute(Optional.some(x - rect.width / 2), Optional.some(y - rect.height / 2)),\n          extra: { td: td }\n        });\n      });\n    };\n    var getSnapsConfig = function (getSnapPoints, cell, onChange) {\n      var isSameCell = function (cellOpt, td) {\n        return cellOpt.exists(function (currentTd) {\n          return eq(currentTd, td);\n        });\n      };\n      return {\n        getSnapPoints: getSnapPoints,\n        leftAttr: 'data-drag-left',\n        topAttr: 'data-drag-top',\n        onSensor: function (component, extra) {\n          var td = extra.td;\n          if (!isSameCell(cell.get(), td)) {\n            cell.set(td);\n            onChange(td);\n          }\n        },\n        mustSnap: true\n      };\n    };\n    var createSelector = function (snaps) {\n      return record(Button.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-selector']\n        },\n        buttonBehaviours: derive$1([\n          Dragging.config({\n            mode: 'mouseOrTouch',\n            blockerClass: 'blocker',\n            snaps: snaps\n          }),\n          Unselecting.config({})\n        ]),\n        eventOrder: {\n          mousedown: [\n            'dragging',\n            'alloy.base.behaviour'\n          ],\n          touchstart: [\n            'dragging',\n            'alloy.base.behaviour'\n          ]\n        }\n      }));\n    };\n    var setup$4 = function (editor, sink) {\n      var tlTds = Cell([]);\n      var brTds = Cell([]);\n      var isVisible = Cell(false);\n      var startCell = value$1();\n      var finishCell = value$1();\n      var getTopLeftSnap = function (td) {\n        var box = absolute$2(td);\n        return calcSnap(memTopLeft.getOpt(sink), td, box.x, box.y, box.width, box.height);\n      };\n      var getTopLeftSnaps = function () {\n        return map$2(tlTds.get(), function (td) {\n          return getTopLeftSnap(td);\n        });\n      };\n      var getBottomRightSnap = function (td) {\n        var box = absolute$2(td);\n        return calcSnap(memBottomRight.getOpt(sink), td, box.right, box.bottom, box.width, box.height);\n      };\n      var getBottomRightSnaps = function () {\n        return map$2(brTds.get(), function (td) {\n          return getBottomRightSnap(td);\n        });\n      };\n      var topLeftSnaps = getSnapsConfig(getTopLeftSnaps, startCell, function (start) {\n        finishCell.get().each(function (finish) {\n          editor.fire('TableSelectorChange', {\n            start: start,\n            finish: finish\n          });\n        });\n      });\n      var bottomRightSnaps = getSnapsConfig(getBottomRightSnaps, finishCell, function (finish) {\n        startCell.get().each(function (start) {\n          editor.fire('TableSelectorChange', {\n            start: start,\n            finish: finish\n          });\n        });\n      });\n      var memTopLeft = createSelector(topLeftSnaps);\n      var memBottomRight = createSelector(bottomRightSnaps);\n      var topLeft = build$1(memTopLeft.asSpec());\n      var bottomRight = build$1(memBottomRight.asSpec());\n      var showOrHideHandle = function (selector, cell, isAbove, isBelow) {\n        var cellRect = cell.dom.getBoundingClientRect();\n        remove$6(selector.element, 'display');\n        var viewportHeight = defaultView(SugarElement.fromDom(editor.getBody())).dom.innerHeight;\n        var aboveViewport = isAbove(cellRect);\n        var belowViewport = isBelow(cellRect, viewportHeight);\n        if (aboveViewport || belowViewport) {\n          set$7(selector.element, 'display', 'none');\n        }\n      };\n      var snapTo = function (selector, cell, getSnapConfig, pos) {\n        var snap = getSnapConfig(cell);\n        Dragging.snapTo(selector, snap);\n        var isAbove = function (rect) {\n          return rect[pos] < 0;\n        };\n        var isBelow = function (rect, viewportHeight) {\n          return rect[pos] > viewportHeight;\n        };\n        showOrHideHandle(selector, cell, isAbove, isBelow);\n      };\n      var snapTopLeft = function (cell) {\n        return snapTo(topLeft, cell, getTopLeftSnap, 'top');\n      };\n      var snapLastTopLeft = function () {\n        return startCell.get().each(snapTopLeft);\n      };\n      var snapBottomRight = function (cell) {\n        return snapTo(bottomRight, cell, getBottomRightSnap, 'bottom');\n      };\n      var snapLastBottomRight = function () {\n        return finishCell.get().each(snapBottomRight);\n      };\n      if (detect$1().deviceType.isTouch()) {\n        editor.on('TableSelectionChange', function (e) {\n          if (!isVisible.get()) {\n            attach(sink, topLeft);\n            attach(sink, bottomRight);\n            isVisible.set(true);\n          }\n          startCell.set(e.start);\n          finishCell.set(e.finish);\n          e.otherCells.each(function (otherCells) {\n            tlTds.set(otherCells.upOrLeftCells);\n            brTds.set(otherCells.downOrRightCells);\n            snapTopLeft(e.start);\n            snapBottomRight(e.finish);\n          });\n        });\n        editor.on('ResizeEditor ResizeWindow ScrollContent', function () {\n          snapLastTopLeft();\n          snapLastBottomRight();\n        });\n        editor.on('TableSelectionClear', function () {\n          if (isVisible.get()) {\n            detach(topLeft);\n            detach(bottomRight);\n            isVisible.set(false);\n          }\n          startCell.clear();\n          finishCell.clear();\n        });\n      }\n    };\n\n    var isHidden = function (elm) {\n      if (elm.nodeType === 1) {\n        if (elm.nodeName === 'BR' || !!elm.getAttribute('data-mce-bogus')) {\n          return true;\n        }\n        if (elm.getAttribute('data-mce-type') === 'bookmark') {\n          return true;\n        }\n      }\n      return false;\n    };\n    var renderElementPath = function (editor, settings, providersBackstage) {\n      if (!settings.delimiter) {\n        settings.delimiter = '\\xBB';\n      }\n      var getDataPath = function (data) {\n        var parts = data || [];\n        var newPathElements = map$2(parts, function (part, index) {\n          return Button.sketch({\n            dom: {\n              tag: 'div',\n              classes: ['tox-statusbar__path-item'],\n              attributes: {\n                'role': 'button',\n                'data-index': index,\n                'tab-index': -1,\n                'aria-level': index + 1\n              },\n              innerHtml: part.name\n            },\n            action: function (_btn) {\n              editor.focus();\n              editor.selection.select(part.element);\n              editor.nodeChanged();\n            },\n            buttonBehaviours: derive$1([\n              DisablingConfigs.button(providersBackstage.isDisabled),\n              receivingConfig()\n            ])\n          });\n        });\n        var divider = {\n          dom: {\n            tag: 'div',\n            classes: ['tox-statusbar__path-divider'],\n            attributes: { 'aria-hidden': true },\n            innerHtml: ' ' + settings.delimiter + ' '\n          }\n        };\n        return foldl(newPathElements.slice(1), function (acc, element) {\n          var newAcc = acc;\n          newAcc.push(divider);\n          newAcc.push(element);\n          return newAcc;\n        }, [newPathElements[0]]);\n      };\n      var updatePath = function (parents) {\n        var newPath = [];\n        var i = parents.length;\n        while (i-- > 0) {\n          var parent_1 = parents[i];\n          if (parent_1.nodeType === 1 && !isHidden(parent_1)) {\n            var args = editor.fire('ResolveName', {\n              name: parent_1.nodeName.toLowerCase(),\n              target: parent_1\n            });\n            if (!args.isDefaultPrevented()) {\n              newPath.push({\n                name: args.name,\n                element: parent_1\n              });\n            }\n            if (args.isPropagationStopped()) {\n              break;\n            }\n          }\n        }\n        return newPath;\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-statusbar__path'],\n          attributes: { role: 'navigation' }\n        },\n        behaviours: derive$1([\n          Keying.config({\n            mode: 'flow',\n            selector: 'div[role=button]'\n          }),\n          Disabling.config({ disabled: providersBackstage.isDisabled }),\n          receivingConfig(),\n          Tabstopping.config({}),\n          Replacing.config({}),\n          config('elementPathEvents', [runOnAttached(function (comp, _e) {\n              editor.shortcuts.add('alt+F11', 'focus statusbar elementpath', function () {\n                return Keying.focusIn(comp);\n              });\n              editor.on('NodeChange', function (e) {\n                var newPath = updatePath(e.parents);\n                if (newPath.length > 0) {\n                  Replacing.set(comp, getDataPath(newPath));\n                } else {\n                  Replacing.set(comp, []);\n                }\n              });\n            })])\n        ]),\n        components: []\n      };\n    };\n\n    var ResizeTypes;\n    (function (ResizeTypes) {\n      ResizeTypes[ResizeTypes['None'] = 0] = 'None';\n      ResizeTypes[ResizeTypes['Both'] = 1] = 'Both';\n      ResizeTypes[ResizeTypes['Vertical'] = 2] = 'Vertical';\n    }(ResizeTypes || (ResizeTypes = {})));\n    var getDimensions = function (editor, deltas, resizeType, originalHeight, originalWidth) {\n      var dimensions = {};\n      dimensions.height = calcCappedSize(originalHeight + deltas.top, getMinHeightSetting(editor), getMaxHeightSetting(editor));\n      if (resizeType === ResizeTypes.Both) {\n        dimensions.width = calcCappedSize(originalWidth + deltas.left, getMinWidthSetting(editor), getMaxWidthSetting(editor));\n      }\n      return dimensions;\n    };\n    var resize = function (editor, deltas, resizeType) {\n      var container = SugarElement.fromDom(editor.getContainer());\n      var dimensions = getDimensions(editor, deltas, resizeType, get$b(container), get$a(container));\n      each(dimensions, function (val, dim) {\n        return set$7(container, dim, numToPx(val));\n      });\n      fireResizeEditor(editor);\n    };\n\n    var getResizeType = function (editor) {\n      var fallback = !editor.hasPlugin('autoresize');\n      var resize = editor.getParam('resize', fallback);\n      if (resize === false) {\n        return ResizeTypes.None;\n      } else if (resize === 'both') {\n        return ResizeTypes.Both;\n      } else {\n        return ResizeTypes.Vertical;\n      }\n    };\n    var keyboardHandler = function (editor, resizeType, x, y) {\n      var scale = 20;\n      var delta = SugarPosition(x * scale, y * scale);\n      resize(editor, delta, resizeType);\n      return Optional.some(true);\n    };\n    var renderResizeHandler = function (editor, providersBackstage) {\n      var resizeType = getResizeType(editor);\n      if (resizeType === ResizeTypes.None) {\n        return Optional.none();\n      }\n      return Optional.some(render$3('resize-handle', {\n        tag: 'div',\n        classes: ['tox-statusbar__resize-handle'],\n        attributes: { title: providersBackstage.translate('Resize') },\n        behaviours: [\n          Dragging.config({\n            mode: 'mouse',\n            repositionTarget: false,\n            onDrag: function (_comp, _target, delta) {\n              return resize(editor, delta, resizeType);\n            },\n            blockerClass: 'tox-blocker'\n          }),\n          Keying.config({\n            mode: 'special',\n            onLeft: function () {\n              return keyboardHandler(editor, resizeType, -1, 0);\n            },\n            onRight: function () {\n              return keyboardHandler(editor, resizeType, 1, 0);\n            },\n            onUp: function () {\n              return keyboardHandler(editor, resizeType, 0, -1);\n            },\n            onDown: function () {\n              return keyboardHandler(editor, resizeType, 0, 1);\n            }\n          }),\n          Tabstopping.config({}),\n          Focusing.config({})\n        ]\n      }, providersBackstage.icons));\n    };\n\n    var renderWordCount = function (editor, providersBackstage) {\n      var _a;\n      var replaceCountText = function (comp, count, mode) {\n        return Replacing.set(comp, [text(providersBackstage.translate([\n            '{0} ' + mode,\n            count[mode]\n          ]))]);\n      };\n      return Button.sketch({\n        dom: {\n          tag: 'button',\n          classes: ['tox-statusbar__wordcount']\n        },\n        components: [],\n        buttonBehaviours: derive$1([\n          DisablingConfigs.button(providersBackstage.isDisabled),\n          receivingConfig(),\n          Tabstopping.config({}),\n          Replacing.config({}),\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: {\n                mode: 'words',\n                count: {\n                  words: 0,\n                  characters: 0\n                }\n              }\n            }\n          }),\n          config('wordcount-events', [\n            runOnExecute$1(function (comp) {\n              var currentVal = Representing.getValue(comp);\n              var newMode = currentVal.mode === 'words' ? 'characters' : 'words';\n              Representing.setValue(comp, {\n                mode: newMode,\n                count: currentVal.count\n              });\n              replaceCountText(comp, currentVal.count, newMode);\n            }),\n            runOnAttached(function (comp) {\n              editor.on('wordCountUpdate', function (e) {\n                var mode = Representing.getValue(comp).mode;\n                Representing.setValue(comp, {\n                  mode: mode,\n                  count: e.wordCount\n                });\n                replaceCountText(comp, e.wordCount, mode);\n              });\n            })\n          ])\n        ]),\n        eventOrder: (_a = {}, _a[execute$5()] = [\n          'disabling',\n          'alloy.base.behaviour',\n          'wordcount-events'\n        ], _a)\n      });\n    };\n\n    var renderStatusbar = function (editor, providersBackstage) {\n      var renderBranding = function () {\n        var label = global$e.translate([\n          'Powered by {0}',\n          'Tiny'\n        ]);\n        var linkHtml = '<a href=\"https://www.tiny.cloud/?utm_campaign=editor_referral&amp;utm_medium=poweredby&amp;utm_source=tinymce&amp;utm_content=v5\" rel=\"noopener\" target=\"_blank\" tabindex=\"-1\" aria-label=\"' + label + '\">' + label + '</a>';\n        return {\n          dom: {\n            tag: 'span',\n            classes: ['tox-statusbar__branding'],\n            innerHtml: linkHtml\n          }\n        };\n      };\n      var getTextComponents = function () {\n        var components = [];\n        if (editor.getParam('elementpath', true, 'boolean')) {\n          components.push(renderElementPath(editor, {}, providersBackstage));\n        }\n        if (editor.hasPlugin('wordcount')) {\n          components.push(renderWordCount(editor, providersBackstage));\n        }\n        if (editor.getParam('branding', true, 'boolean')) {\n          components.push(renderBranding());\n        }\n        if (components.length > 0) {\n          return [{\n              dom: {\n                tag: 'div',\n                classes: ['tox-statusbar__text-container']\n              },\n              components: components\n            }];\n        }\n        return [];\n      };\n      var getComponents = function () {\n        var components = getTextComponents();\n        var resizeHandler = renderResizeHandler(editor, providersBackstage);\n        return components.concat(resizeHandler.toArray());\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-statusbar']\n        },\n        components: getComponents()\n      };\n    };\n\n    var setup$3 = function (editor) {\n      var _a;\n      var isInline = editor.inline;\n      var mode = isInline ? Inline : Iframe;\n      var header = isStickyToolbar(editor) ? StickyHeader : StaticHeader;\n      var lazyOuterContainer = Optional.none();\n      var platform = detect$1();\n      var isIE = platform.browser.isIE();\n      var platformClasses = isIE ? ['tox-platform-ie'] : [];\n      var isTouch = platform.deviceType.isTouch();\n      var touchPlatformClass = 'tox-platform-touch';\n      var deviceClasses = isTouch ? [touchPlatformClass] : [];\n      var isToolbarBottom = isToolbarLocationBottom(editor);\n      var uiContainer = getUiContainer(editor);\n      var dirAttributes = global$e.isRtl() ? { attributes: { dir: 'rtl' } } : {};\n      var verticalDirAttributes = { attributes: (_a = {}, _a[Attribute] = isToolbarBottom ? AttributeValue.BottomToTop : AttributeValue.TopToBottom, _a) };\n      var lazyHeader = function () {\n        return lazyOuterContainer.bind(OuterContainer.getHeader);\n      };\n      var isHeaderDocked = function () {\n        return header.isDocked(lazyHeader);\n      };\n      var resizeUiMothership = function () {\n        set$7(uiMothership.element, 'width', document.body.clientWidth + 'px');\n      };\n      var makeSinkDefinition = function () {\n        var isGridUiContainer = eq(body(), uiContainer) && get$c(uiContainer, 'display') === 'grid';\n        var sinkSpec = {\n          dom: __assign({\n            tag: 'div',\n            classes: [\n              'tox',\n              'tox-silver-sink',\n              'tox-tinymce-aux'\n            ].concat(platformClasses).concat(deviceClasses)\n          }, dirAttributes),\n          behaviours: derive$1([Positioning.config({\n              useFixed: function () {\n                return isHeaderDocked();\n              }\n            })])\n        };\n        var reactiveWidthSpec = {\n          dom: { styles: { width: document.body.clientWidth + 'px' } },\n          events: derive$2([run$1(windowResize(), resizeUiMothership)])\n        };\n        return deepMerge(sinkSpec, isGridUiContainer ? reactiveWidthSpec : {});\n      };\n      var sink = build$1(makeSinkDefinition());\n      var lazySink = function () {\n        return Result.value(sink);\n      };\n      var memAnchorBar = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-anchorbar']\n        }\n      });\n      var lazyAnchorBar = function () {\n        return lazyOuterContainer.bind(function (container) {\n          return memAnchorBar.getOpt(container);\n        }).getOrDie('Could not find a anchor bar element');\n      };\n      var lazyToolbar = function () {\n        return lazyOuterContainer.bind(function (container) {\n          return OuterContainer.getToolbar(container);\n        }).getOrDie('Could not find more toolbar element');\n      };\n      var lazyThrobber = function () {\n        return lazyOuterContainer.bind(function (container) {\n          return OuterContainer.getThrobber(container);\n        }).getOrDie('Could not find throbber element');\n      };\n      var backstage = init$7(sink, editor, lazyAnchorBar);\n      var partMenubar = OuterContainer.parts.menubar({\n        dom: {\n          tag: 'div',\n          classes: ['tox-menubar']\n        },\n        backstage: backstage,\n        onEscape: function () {\n          editor.focus();\n        }\n      });\n      var toolbarMode = getToolbarMode(editor);\n      var partToolbar = OuterContainer.parts.toolbar(__assign({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar']\n        },\n        getSink: lazySink,\n        providers: backstage.shared.providers,\n        onEscape: function () {\n          editor.focus();\n        },\n        type: toolbarMode,\n        lazyToolbar: lazyToolbar,\n        lazyHeader: function () {\n          return lazyHeader().getOrDie('Could not find header element');\n        }\n      }, verticalDirAttributes));\n      var partMultipleToolbar = OuterContainer.parts['multiple-toolbar']({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar-overlord']\n        },\n        providers: backstage.shared.providers,\n        onEscape: function () {\n          editor.focus();\n        },\n        type: toolbarMode\n      });\n      var partSocket = OuterContainer.parts.socket({\n        dom: {\n          tag: 'div',\n          classes: ['tox-edit-area']\n        }\n      });\n      var partSidebar = OuterContainer.parts.sidebar({\n        dom: {\n          tag: 'div',\n          classes: ['tox-sidebar']\n        }\n      });\n      var partThrobber = OuterContainer.parts.throbber({\n        dom: {\n          tag: 'div',\n          classes: ['tox-throbber']\n        },\n        backstage: backstage\n      });\n      var sb = editor.getParam('statusbar', true, 'boolean');\n      var statusbar = sb && !isInline ? Optional.some(renderStatusbar(editor, backstage.shared.providers)) : Optional.none();\n      var socketSidebarContainer = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-sidebar-wrap']\n        },\n        components: [\n          partSocket,\n          partSidebar\n        ]\n      };\n      var hasMultipleToolbar = isMultipleToolbars(editor);\n      var hasToolbar = isToolbarEnabled(editor);\n      var hasMenubar = isMenubarEnabled(editor);\n      var getPartToolbar = function () {\n        if (hasMultipleToolbar) {\n          return [partMultipleToolbar];\n        } else if (hasToolbar) {\n          return [partToolbar];\n        } else {\n          return [];\n        }\n      };\n      var partHeader = OuterContainer.parts.header({\n        dom: __assign({\n          tag: 'div',\n          classes: ['tox-editor-header']\n        }, verticalDirAttributes),\n        components: flatten([\n          hasMenubar ? [partMenubar] : [],\n          getPartToolbar(),\n          useFixedContainer(editor) ? [] : [memAnchorBar.asSpec()]\n        ]),\n        sticky: isStickyToolbar(editor),\n        editor: editor,\n        sharedBackstage: backstage.shared\n      });\n      var editorComponents = flatten([\n        isToolbarBottom ? [] : [partHeader],\n        isInline ? [] : [socketSidebarContainer],\n        isToolbarBottom ? [partHeader] : []\n      ]);\n      var editorContainer = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-editor-container']\n        },\n        components: editorComponents\n      };\n      var containerComponents = flatten([\n        [editorContainer],\n        isInline ? [] : statusbar.toArray(),\n        [partThrobber]\n      ]);\n      var isHidden = isDistractionFree(editor);\n      var attributes = __assign(__assign({ role: 'application' }, global$e.isRtl() ? { dir: 'rtl' } : {}), isHidden ? { 'aria-hidden': 'true' } : {});\n      var outerContainer = build$1(OuterContainer.sketch({\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox',\n            'tox-tinymce'\n          ].concat(isInline ? ['tox-tinymce-inline'] : []).concat(isToolbarBottom ? ['tox-tinymce--toolbar-bottom'] : []).concat(deviceClasses).concat(platformClasses),\n          styles: __assign({ visibility: 'hidden' }, isHidden ? {\n            opacity: '0',\n            border: '0'\n          } : {}),\n          attributes: attributes\n        },\n        components: containerComponents,\n        behaviours: derive$1([\n          receivingConfig(),\n          Disabling.config({ disableClass: 'tox-tinymce--disabled' }),\n          Keying.config({\n            mode: 'cyclic',\n            selector: '.tox-menubar, .tox-toolbar, .tox-toolbar__primary, .tox-toolbar__overflow--open, .tox-sidebar__overflow--open, .tox-statusbar__path, .tox-statusbar__wordcount, .tox-statusbar__branding a, .tox-statusbar__resize-handle'\n          })\n        ])\n      }));\n      lazyOuterContainer = Optional.some(outerContainer);\n      editor.shortcuts.add('alt+F9', 'focus menubar', function () {\n        OuterContainer.focusMenubar(outerContainer);\n      });\n      editor.shortcuts.add('alt+F10', 'focus toolbar', function () {\n        OuterContainer.focusToolbar(outerContainer);\n      });\n      editor.addCommand('ToggleToolbarDrawer', function () {\n        OuterContainer.toggleToolbarDrawer(outerContainer);\n      });\n      editor.addQueryStateHandler('ToggleToolbarDrawer', function () {\n        return OuterContainer.isToolbarDrawerToggled(outerContainer);\n      });\n      var mothership = takeover(outerContainer);\n      var uiMothership = takeover(sink);\n      setup$b(editor, mothership, uiMothership);\n      var getUi = function () {\n        var channels = {\n          broadcastAll: uiMothership.broadcast,\n          broadcastOn: uiMothership.broadcastOn,\n          register: noop\n        };\n        return { channels: channels };\n      };\n      var setEditorSize = function () {\n        var parsedHeight = numToPx(getHeightWithFallback(editor));\n        var parsedWidth = numToPx(getWidthWithFallback(editor));\n        if (!editor.inline) {\n          if (isValidValue('div', 'width', parsedWidth)) {\n            set$7(outerContainer.element, 'width', parsedWidth);\n          }\n          if (isValidValue('div', 'height', parsedHeight)) {\n            set$7(outerContainer.element, 'height', parsedHeight);\n          } else {\n            set$7(outerContainer.element, 'height', '200px');\n          }\n        }\n        return parsedHeight;\n      };\n      var renderUI = function () {\n        header.setup(editor, backstage.shared, lazyHeader);\n        setup$6(editor, backstage);\n        setup$5(editor, lazySink, backstage);\n        setup$8(editor);\n        setup$7(editor, lazyThrobber, backstage.shared);\n        map$1(getToolbarGroups(editor), function (toolbarGroupButtonConfig, name) {\n          editor.ui.registry.addGroupToolbarButton(name, toolbarGroupButtonConfig);\n        });\n        var _a = editor.ui.registry.getAll(), buttons = _a.buttons, menuItems = _a.menuItems, contextToolbars = _a.contextToolbars, sidebars = _a.sidebars;\n        var toolbarOpt = getMultipleToolbarsSetting(editor);\n        var rawUiConfig = {\n          menuItems: menuItems,\n          menus: getMenus(editor),\n          menubar: getMenubar(editor),\n          toolbar: toolbarOpt.getOrThunk(function () {\n            return getToolbar(editor);\n          }),\n          allowToolbarGroups: toolbarMode === ToolbarMode.floating,\n          buttons: buttons,\n          sidebar: sidebars\n        };\n        register$7(editor, contextToolbars, sink, { backstage: backstage });\n        setup$4(editor, sink);\n        var elm = editor.getElement();\n        var height = setEditorSize();\n        var uiComponents = {\n          mothership: mothership,\n          uiMothership: uiMothership,\n          outerContainer: outerContainer\n        };\n        var args = {\n          targetNode: elm,\n          height: height\n        };\n        return mode.render(editor, uiComponents, rawUiConfig, backstage, args);\n      };\n      return {\n        mothership: mothership,\n        uiMothership: uiMothership,\n        backstage: backstage,\n        renderUI: renderUI,\n        getUi: getUi\n      };\n    };\n\n    var describedBy = function (describedElement, describeElement) {\n      var describeId = Optional.from(get$d(describedElement, 'id')).fold(function () {\n        var id = generate$6('dialog-describe');\n        set$8(describeElement, 'id', id);\n        return id;\n      }, identity$1);\n      set$8(describedElement, 'aria-describedby', describeId);\n    };\n\n    var labelledBy = function (labelledElement, labelElement) {\n      var labelId = getOpt(labelledElement, 'id').fold(function () {\n        var id = generate$6('dialog-label');\n        set$8(labelElement, 'id', id);\n        return id;\n      }, identity$1);\n      set$8(labelledElement, 'aria-labelledby', labelId);\n    };\n\n    var schema$2 = constant$1([\n      required$1('lazySink'),\n      option('dragBlockClass'),\n      defaultedFunction('getBounds', win),\n      defaulted('useTabstopAt', always),\n      defaulted('eventOrder', {}),\n      field('modalBehaviours', [Keying]),\n      onKeyboardHandler('onExecute'),\n      onStrictKeyboardHandler('onEscape')\n    ]);\n    var basic = { sketch: identity$1 };\n    var parts$2 = constant$1([\n      optional({\n        name: 'draghandle',\n        overrides: function (detail, spec) {\n          return {\n            behaviours: derive$1([Dragging.config({\n                mode: 'mouse',\n                getTarget: function (handle) {\n                  return ancestor(handle, '[role=\"dialog\"]').getOr(handle);\n                },\n                blockerClass: detail.dragBlockClass.getOrDie(new Error('The drag blocker class was not specified for a dialog with a drag handle: \\n' + JSON.stringify(spec, null, 2)).message),\n                getBounds: detail.getDragBounds\n              })])\n          };\n        }\n      }),\n      required({\n        schema: [required$1('dom')],\n        name: 'title'\n      }),\n      required({\n        factory: basic,\n        schema: [required$1('dom')],\n        name: 'close'\n      }),\n      required({\n        factory: basic,\n        schema: [required$1('dom')],\n        name: 'body'\n      }),\n      optional({\n        factory: basic,\n        schema: [required$1('dom')],\n        name: 'footer'\n      }),\n      external$1({\n        factory: {\n          sketch: function (spec, detail) {\n            return __assign(__assign({}, spec), {\n              dom: detail.dom,\n              components: detail.components\n            });\n          }\n        },\n        schema: [\n          defaulted('dom', {\n            tag: 'div',\n            styles: {\n              position: 'fixed',\n              left: '0px',\n              top: '0px',\n              right: '0px',\n              bottom: '0px'\n            }\n          }),\n          defaulted('components', [])\n        ],\n        name: 'blocker'\n      })\n    ]);\n\n    var factory$4 = function (detail, components, spec, externals) {\n      var _a;\n      var dialogComp = value$1();\n      var showDialog = function (dialog) {\n        dialogComp.set(dialog);\n        var sink = detail.lazySink(dialog).getOrDie();\n        var externalBlocker = externals.blocker();\n        var blocker = sink.getSystem().build(__assign(__assign({}, externalBlocker), {\n          components: externalBlocker.components.concat([premade(dialog)]),\n          behaviours: derive$1([\n            Focusing.config({}),\n            config('dialog-blocker-events', [runOnSource(focusin(), function () {\n                Keying.focusIn(dialog);\n              })])\n          ])\n        }));\n        attach(sink, blocker);\n        Keying.focusIn(dialog);\n      };\n      var hideDialog = function (dialog) {\n        dialogComp.clear();\n        parent(dialog.element).each(function (blockerDom) {\n          dialog.getSystem().getByDom(blockerDom).each(function (blocker) {\n            detach(blocker);\n          });\n        });\n      };\n      var getDialogBody = function (dialog) {\n        return getPartOrDie(dialog, detail, 'body');\n      };\n      var getDialogFooter = function (dialog) {\n        return getPartOrDie(dialog, detail, 'footer');\n      };\n      var setBusy = function (dialog, getBusySpec) {\n        Blocking.block(dialog, getBusySpec);\n      };\n      var setIdle = function (dialog) {\n        Blocking.unblock(dialog);\n      };\n      var modalEventsId = generate$6('modal-events');\n      var eventOrder = __assign(__assign({}, detail.eventOrder), (_a = {}, _a[attachedToDom()] = [modalEventsId].concat(detail.eventOrder['alloy.system.attached'] || []), _a));\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        apis: {\n          show: showDialog,\n          hide: hideDialog,\n          getBody: getDialogBody,\n          getFooter: getDialogFooter,\n          setIdle: setIdle,\n          setBusy: setBusy\n        },\n        eventOrder: eventOrder,\n        domModification: {\n          attributes: {\n            'role': 'dialog',\n            'aria-modal': 'true'\n          }\n        },\n        behaviours: augment(detail.modalBehaviours, [\n          Replacing.config({}),\n          Keying.config({\n            mode: 'cyclic',\n            onEnter: detail.onExecute,\n            onEscape: detail.onEscape,\n            useTabstopAt: detail.useTabstopAt\n          }),\n          Blocking.config({ getRoot: dialogComp.get }),\n          config(modalEventsId, [runOnAttached(function (c) {\n              labelledBy(c.element, getPartOrDie(c, detail, 'title').element);\n              describedBy(c.element, getPartOrDie(c, detail, 'body').element);\n            })])\n        ])\n      };\n    };\n    var ModalDialog = composite({\n      name: 'ModalDialog',\n      configFields: schema$2(),\n      partFields: parts$2(),\n      factory: factory$4,\n      apis: {\n        show: function (apis, dialog) {\n          apis.show(dialog);\n        },\n        hide: function (apis, dialog) {\n          apis.hide(dialog);\n        },\n        getBody: function (apis, dialog) {\n          return apis.getBody(dialog);\n        },\n        getFooter: function (apis, dialog) {\n          return apis.getFooter(dialog);\n        },\n        setBusy: function (apis, dialog, getBusySpec) {\n          apis.setBusy(dialog, getBusySpec);\n        },\n        setIdle: function (apis, dialog) {\n          apis.setIdle(dialog);\n        }\n      }\n    });\n\n    var dialogToggleMenuItemSchema = objOf([\n      requiredString('type'),\n      requiredString('name')\n    ].concat(commonMenuItemFields));\n    var dialogToggleMenuItemDataProcessor = boolean;\n\n    var baseFooterButtonFields = [\n      field$1('name', 'name', defaultedThunk(function () {\n        return generate$6('button-name');\n      }), string),\n      optionString('icon'),\n      defaultedStringEnum('align', 'end', [\n        'start',\n        'end'\n      ]),\n      defaultedBoolean('primary', false),\n      defaultedBoolean('disabled', false)\n    ];\n    var dialogFooterButtonFields = __spreadArray(__spreadArray([], baseFooterButtonFields, true), [requiredString('text')], false);\n    var normalFooterButtonFields = __spreadArray([requiredStringEnum('type', [\n        'submit',\n        'cancel',\n        'custom'\n      ])], dialogFooterButtonFields, true);\n    var menuFooterButtonFields = __spreadArray([\n      requiredStringEnum('type', ['menu']),\n      optionString('text'),\n      optionString('tooltip'),\n      optionString('icon'),\n      requiredArrayOf('items', dialogToggleMenuItemSchema)\n    ], baseFooterButtonFields, true);\n    var dialogFooterButtonSchema = choose$1('type', {\n      submit: normalFooterButtonFields,\n      cancel: normalFooterButtonFields,\n      custom: normalFooterButtonFields,\n      menu: menuFooterButtonFields\n    });\n\n    var alertBannerFields = [\n      requiredString('type'),\n      requiredString('text'),\n      requiredStringEnum('level', [\n        'info',\n        'warn',\n        'error',\n        'success'\n      ]),\n      requiredString('icon'),\n      defaulted('url', '')\n    ];\n    var alertBannerSchema = objOf(alertBannerFields);\n\n    var createBarFields = function (itemsField) {\n      return [\n        requiredString('type'),\n        itemsField\n      ];\n    };\n\n    var buttonFields = [\n      requiredString('type'),\n      requiredString('text'),\n      defaultedBoolean('disabled', false),\n      defaultedBoolean('primary', false),\n      field$1('name', 'name', defaultedThunk(function () {\n        return generate$6('button-name');\n      }), string),\n      optionString('icon'),\n      defaultedBoolean('borderless', false)\n    ];\n    var buttonSchema = objOf(buttonFields);\n\n    var checkboxFields = [\n      requiredString('type'),\n      requiredString('name'),\n      requiredString('label'),\n      defaultedBoolean('disabled', false)\n    ];\n    var checkboxSchema = objOf(checkboxFields);\n    var checkboxDataProcessor = boolean;\n\n    var formComponentFields = [\n      requiredString('type'),\n      requiredString('name')\n    ];\n    var formComponentWithLabelFields = formComponentFields.concat([optionString('label')]);\n\n    var collectionFields = formComponentWithLabelFields.concat([defaulted('columns', 'auto')]);\n    var collectionSchema = objOf(collectionFields);\n    var collectionDataProcessor = arrOfObj([\n      requiredString('value'),\n      requiredString('text'),\n      requiredString('icon')\n    ]);\n\n    var colorInputFields = formComponentWithLabelFields;\n    var colorInputSchema = objOf(colorInputFields);\n    var colorInputDataProcessor = string;\n\n    var colorPickerFields = formComponentWithLabelFields;\n    var colorPickerSchema = objOf(colorPickerFields);\n    var colorPickerDataProcessor = string;\n\n    var customEditorFields = formComponentFields.concat([\n      defaultedString('tag', 'textarea'),\n      requiredString('scriptId'),\n      requiredString('scriptUrl'),\n      defaultedPostMsg('settings', undefined)\n    ]);\n    var customEditorFieldsOld = formComponentFields.concat([\n      defaultedString('tag', 'textarea'),\n      requiredFunction('init')\n    ]);\n    var customEditorSchema = valueOf(function (v) {\n      return asRaw('customeditor.old', objOfOnly(customEditorFieldsOld), v).orThunk(function () {\n        return asRaw('customeditor.new', objOfOnly(customEditorFields), v);\n      });\n    });\n    var customEditorDataProcessor = string;\n\n    var dropZoneFields = formComponentWithLabelFields;\n    var dropZoneSchema = objOf(dropZoneFields);\n    var dropZoneDataProcessor = arrOfVal();\n\n    var createGridFields = function (itemsField) {\n      return [\n        requiredString('type'),\n        requiredNumber('columns'),\n        itemsField\n      ];\n    };\n\n    var htmlPanelFields = [\n      requiredString('type'),\n      requiredString('html'),\n      defaultedStringEnum('presets', 'presentation', [\n        'presentation',\n        'document'\n      ])\n    ];\n    var htmlPanelSchema = objOf(htmlPanelFields);\n\n    var iframeFields = formComponentWithLabelFields.concat([defaultedBoolean('sandboxed', true)]);\n    var iframeSchema = objOf(iframeFields);\n    var iframeDataProcessor = string;\n\n    var imageToolsFields = formComponentWithLabelFields.concat([requiredOf('currentState', objOf([\n        required$1('blob'),\n        requiredString('url')\n      ]))]);\n    var imageToolsSchema = objOf(imageToolsFields);\n\n    var inputFields = formComponentWithLabelFields.concat([\n      optionString('inputMode'),\n      optionString('placeholder'),\n      defaultedBoolean('maximized', false),\n      defaultedBoolean('disabled', false)\n    ]);\n    var inputSchema = objOf(inputFields);\n    var inputDataProcessor = string;\n\n    var createLabelFields = function (itemsField) {\n      return [\n        requiredString('type'),\n        requiredString('label'),\n        itemsField\n      ];\n    };\n\n    var listBoxSingleItemFields = [\n      requiredString('text'),\n      requiredString('value')\n    ];\n    var listBoxNestedItemFields = [\n      requiredString('text'),\n      requiredArrayOf('items', thunkOf('items', function () {\n        return listBoxItemSchema;\n      }))\n    ];\n    var listBoxItemSchema = oneOf([\n      objOf(listBoxSingleItemFields),\n      objOf(listBoxNestedItemFields)\n    ]);\n    var listBoxFields = formComponentWithLabelFields.concat([\n      requiredArrayOf('items', listBoxItemSchema),\n      defaultedBoolean('disabled', false)\n    ]);\n    var listBoxSchema = objOf(listBoxFields);\n    var listBoxDataProcessor = string;\n\n    var selectBoxFields = formComponentWithLabelFields.concat([\n      requiredArrayOfObj('items', [\n        requiredString('text'),\n        requiredString('value')\n      ]),\n      defaultedNumber('size', 1),\n      defaultedBoolean('disabled', false)\n    ]);\n    var selectBoxSchema = objOf(selectBoxFields);\n    var selectBoxDataProcessor = string;\n\n    var sizeInputFields = formComponentWithLabelFields.concat([\n      defaultedBoolean('constrain', true),\n      defaultedBoolean('disabled', false)\n    ]);\n    var sizeInputSchema = objOf(sizeInputFields);\n    var sizeInputDataProcessor = objOf([\n      requiredString('width'),\n      requiredString('height')\n    ]);\n\n    var tableFields = [\n      requiredString('type'),\n      requiredArrayOf('header', string),\n      requiredArrayOf('cells', arrOf(string))\n    ];\n    var tableSchema = objOf(tableFields);\n\n    var textAreaFields = formComponentWithLabelFields.concat([\n      optionString('placeholder'),\n      defaultedBoolean('maximized', false),\n      defaultedBoolean('disabled', false)\n    ]);\n    var textAreaSchema = objOf(textAreaFields);\n    var textAreaDataProcessor = string;\n\n    var urlInputFields = formComponentWithLabelFields.concat([\n      defaultedStringEnum('filetype', 'file', [\n        'image',\n        'media',\n        'file'\n      ]),\n      defaulted('disabled', false)\n    ]);\n    var urlInputSchema = objOf(urlInputFields);\n    var urlInputDataProcessor = objOf([\n      requiredString('value'),\n      defaulted('meta', {})\n    ]);\n\n    var createItemsField = function (name) {\n      return field$1('items', 'items', required$2(), arrOf(valueOf(function (v) {\n        return asRaw('Checking item of ' + name, itemSchema, v).fold(function (sErr) {\n          return Result.error(formatError(sErr));\n        }, function (passValue) {\n          return Result.value(passValue);\n        });\n      })));\n    };\n    var itemSchema = valueThunk(function () {\n      return choose$2('type', {\n        alertbanner: alertBannerSchema,\n        bar: objOf(createBarFields(createItemsField('bar'))),\n        button: buttonSchema,\n        checkbox: checkboxSchema,\n        colorinput: colorInputSchema,\n        colorpicker: colorPickerSchema,\n        dropzone: dropZoneSchema,\n        grid: objOf(createGridFields(createItemsField('grid'))),\n        iframe: iframeSchema,\n        input: inputSchema,\n        listbox: listBoxSchema,\n        selectbox: selectBoxSchema,\n        sizeinput: sizeInputSchema,\n        textarea: textAreaSchema,\n        urlinput: urlInputSchema,\n        customeditor: customEditorSchema,\n        htmlpanel: htmlPanelSchema,\n        imagetools: imageToolsSchema,\n        collection: collectionSchema,\n        label: objOf(createLabelFields(createItemsField('label'))),\n        table: tableSchema,\n        panel: panelSchema\n      });\n    });\n    var panelFields = [\n      requiredString('type'),\n      defaulted('classes', []),\n      requiredArrayOf('items', itemSchema)\n    ];\n    var panelSchema = objOf(panelFields);\n\n    var tabFields = [\n      field$1('name', 'name', defaultedThunk(function () {\n        return generate$6('tab-name');\n      }), string),\n      requiredString('title'),\n      requiredArrayOf('items', itemSchema)\n    ];\n    var tabPanelFields = [\n      requiredString('type'),\n      requiredArrayOfObj('tabs', tabFields)\n    ];\n    var tabPanelSchema = objOf(tabPanelFields);\n\n    var dialogButtonFields = dialogFooterButtonFields;\n    var dialogButtonSchema = dialogFooterButtonSchema;\n    var dialogSchema = objOf([\n      requiredString('title'),\n      requiredOf('body', choose$2('type', {\n        panel: panelSchema,\n        tabpanel: tabPanelSchema\n      })),\n      defaultedString('size', 'normal'),\n      requiredArrayOf('buttons', dialogButtonSchema),\n      defaulted('initialData', {}),\n      defaultedFunction('onAction', noop),\n      defaultedFunction('onChange', noop),\n      defaultedFunction('onSubmit', noop),\n      defaultedFunction('onClose', noop),\n      defaultedFunction('onCancel', noop),\n      defaulted('onTabChange', noop)\n    ]);\n    var createDialog = function (spec) {\n      return asRaw('dialog', dialogSchema, spec);\n    };\n\n    var urlDialogButtonSchema = objOf(__spreadArray([requiredStringEnum('type', [\n        'cancel',\n        'custom'\n      ])], dialogButtonFields, true));\n    var urlDialogSchema = objOf([\n      requiredString('title'),\n      requiredString('url'),\n      optionNumber('height'),\n      optionNumber('width'),\n      optionArrayOf('buttons', urlDialogButtonSchema),\n      defaultedFunction('onAction', noop),\n      defaultedFunction('onCancel', noop),\n      defaultedFunction('onClose', noop),\n      defaultedFunction('onMessage', noop)\n    ]);\n    var createUrlDialog = function (spec) {\n      return asRaw('dialog', urlDialogSchema, spec);\n    };\n\n    var getAllObjects = function (obj) {\n      if (isObject(obj)) {\n        return [obj].concat(bind$3(values(obj), getAllObjects));\n      } else if (isArray(obj)) {\n        return bind$3(obj, getAllObjects);\n      } else {\n        return [];\n      }\n    };\n\n    var isNamedItem = function (obj) {\n      return isString(obj.type) && isString(obj.name);\n    };\n    var dataProcessors = {\n      checkbox: checkboxDataProcessor,\n      colorinput: colorInputDataProcessor,\n      colorpicker: colorPickerDataProcessor,\n      dropzone: dropZoneDataProcessor,\n      input: inputDataProcessor,\n      iframe: iframeDataProcessor,\n      sizeinput: sizeInputDataProcessor,\n      selectbox: selectBoxDataProcessor,\n      listbox: listBoxDataProcessor,\n      size: sizeInputDataProcessor,\n      textarea: textAreaDataProcessor,\n      urlinput: urlInputDataProcessor,\n      customeditor: customEditorDataProcessor,\n      collection: collectionDataProcessor,\n      togglemenuitem: dialogToggleMenuItemDataProcessor\n    };\n    var getDataProcessor = function (item) {\n      return Optional.from(dataProcessors[item.type]);\n    };\n    var getNamedItems = function (structure) {\n      return filter$2(getAllObjects(structure), isNamedItem);\n    };\n\n    var createDataValidator = function (structure) {\n      var namedItems = getNamedItems(structure);\n      var fields = bind$3(namedItems, function (item) {\n        return getDataProcessor(item).fold(function () {\n          return [];\n        }, function (schema) {\n          return [requiredOf(item.name, schema)];\n        });\n      });\n      return objOf(fields);\n    };\n\n    var extract = function (structure) {\n      var internalDialog = getOrDie(createDialog(structure));\n      var dataValidator = createDataValidator(structure);\n      var initialData = structure.initialData;\n      return {\n        internalDialog: internalDialog,\n        dataValidator: dataValidator,\n        initialData: initialData\n      };\n    };\n    var DialogManager = {\n      open: function (factory, structure) {\n        var extraction = extract(structure);\n        return factory(extraction.internalDialog, extraction.initialData, extraction.dataValidator);\n      },\n      openUrl: function (factory, structure) {\n        var internalDialog = getOrDie(createUrlDialog(structure));\n        return factory(internalDialog);\n      },\n      redial: function (structure) {\n        return extract(structure);\n      }\n    };\n\n    var toValidValues = function (values) {\n      var errors = [];\n      var result = {};\n      each(values, function (value, name) {\n        value.fold(function () {\n          errors.push(name);\n        }, function (v) {\n          result[name] = v;\n        });\n      });\n      return errors.length > 0 ? Result.error(errors) : Result.value(result);\n    };\n\n    var renderBodyPanel = function (spec, backstage) {\n      var memForm = record(Form.sketch(function (parts) {\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-form'].concat(spec.classes)\n          },\n          components: map$2(spec.items, function (item) {\n            return interpretInForm(parts, item, backstage);\n          })\n        };\n      }));\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__body']\n        },\n        components: [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-dialog__body-content']\n            },\n            components: [memForm.asSpec()]\n          }],\n        behaviours: derive$1([\n          Keying.config({\n            mode: 'acyclic',\n            useTabstopAt: not(isPseudoStop)\n          }),\n          ComposingConfigs.memento(memForm),\n          RepresentingConfigs.memento(memForm, {\n            postprocess: function (formValue) {\n              return toValidValues(formValue).fold(function (err) {\n                console.error(err);\n                return {};\n              }, identity$1);\n            }\n          })\n        ])\n      };\n    };\n\n    var factory$3 = function (detail, _spec) {\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: detail.components,\n        events: events$a(detail.action),\n        behaviours: augment(detail.tabButtonBehaviours, [\n          Focusing.config({}),\n          Keying.config({\n            mode: 'execution',\n            useSpace: true,\n            useEnter: true\n          }),\n          Representing.config({\n            store: {\n              mode: 'memory',\n              initialValue: detail.value\n            }\n          })\n        ]),\n        domModification: detail.domModification\n      };\n    };\n    var TabButton = single({\n      name: 'TabButton',\n      configFields: [\n        defaulted('uid', undefined),\n        required$1('value'),\n        field$1('dom', 'dom', mergeWithThunk(function () {\n          return {\n            attributes: {\n              'role': 'tab',\n              'id': generate$6('aria'),\n              'aria-selected': 'false'\n            }\n          };\n        }), anyValue()),\n        option('action'),\n        defaulted('domModification', {}),\n        field('tabButtonBehaviours', [\n          Focusing,\n          Keying,\n          Representing\n        ]),\n        required$1('view')\n      ],\n      factory: factory$3\n    });\n\n    var schema$1 = constant$1([\n      required$1('tabs'),\n      required$1('dom'),\n      defaulted('clickToDismiss', false),\n      field('tabbarBehaviours', [\n        Highlighting,\n        Keying\n      ]),\n      markers$1([\n        'tabClass',\n        'selectedClass'\n      ])\n    ]);\n    var tabsPart = group({\n      factory: TabButton,\n      name: 'tabs',\n      unit: 'tab',\n      overrides: function (barDetail) {\n        var dismissTab$1 = function (tabbar, button) {\n          Highlighting.dehighlight(tabbar, button);\n          emitWith(tabbar, dismissTab(), {\n            tabbar: tabbar,\n            button: button\n          });\n        };\n        var changeTab$1 = function (tabbar, button) {\n          Highlighting.highlight(tabbar, button);\n          emitWith(tabbar, changeTab(), {\n            tabbar: tabbar,\n            button: button\n          });\n        };\n        return {\n          action: function (button) {\n            var tabbar = button.getSystem().getByUid(barDetail.uid).getOrDie();\n            var activeButton = Highlighting.isHighlighted(tabbar, button);\n            var response = function () {\n              if (activeButton && barDetail.clickToDismiss) {\n                return dismissTab$1;\n              } else if (!activeButton) {\n                return changeTab$1;\n              } else {\n                return noop;\n              }\n            }();\n            response(tabbar, button);\n          },\n          domModification: { classes: [barDetail.markers.tabClass] }\n        };\n      }\n    });\n    var parts$1 = constant$1([tabsPart]);\n\n    var factory$2 = function (detail, components, _spec, _externals) {\n      return {\n        'uid': detail.uid,\n        'dom': detail.dom,\n        components: components,\n        'debug.sketcher': 'Tabbar',\n        'domModification': { attributes: { role: 'tablist' } },\n        'behaviours': augment(detail.tabbarBehaviours, [\n          Highlighting.config({\n            highlightClass: detail.markers.selectedClass,\n            itemClass: detail.markers.tabClass,\n            onHighlight: function (tabbar, tab) {\n              set$8(tab.element, 'aria-selected', 'true');\n            },\n            onDehighlight: function (tabbar, tab) {\n              set$8(tab.element, 'aria-selected', 'false');\n            }\n          }),\n          Keying.config({\n            mode: 'flow',\n            getInitial: function (tabbar) {\n              return Highlighting.getHighlighted(tabbar).map(function (tab) {\n                return tab.element;\n              });\n            },\n            selector: '.' + detail.markers.tabClass,\n            executeOnMove: true\n          })\n        ])\n      };\n    };\n    var Tabbar = composite({\n      name: 'Tabbar',\n      configFields: schema$1(),\n      partFields: parts$1(),\n      factory: factory$2\n    });\n\n    var factory$1 = function (detail, _spec) {\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        behaviours: augment(detail.tabviewBehaviours, [Replacing.config({})]),\n        domModification: { attributes: { role: 'tabpanel' } }\n      };\n    };\n    var Tabview = single({\n      name: 'Tabview',\n      configFields: [field('tabviewBehaviours', [Replacing])],\n      factory: factory$1\n    });\n\n    var schema = constant$1([\n      defaulted('selectFirst', true),\n      onHandler('onChangeTab'),\n      onHandler('onDismissTab'),\n      defaulted('tabs', []),\n      field('tabSectionBehaviours', [])\n    ]);\n    var barPart = required({\n      factory: Tabbar,\n      schema: [\n        required$1('dom'),\n        requiredObjOf('markers', [\n          required$1('tabClass'),\n          required$1('selectedClass')\n        ])\n      ],\n      name: 'tabbar',\n      defaults: function (detail) {\n        return { tabs: detail.tabs };\n      }\n    });\n    var viewPart = required({\n      factory: Tabview,\n      name: 'tabview'\n    });\n    var parts = constant$1([\n      barPart,\n      viewPart\n    ]);\n\n    var factory = function (detail, components, _spec, _externals) {\n      var changeTab$1 = function (button) {\n        var tabValue = Representing.getValue(button);\n        getPart(button, detail, 'tabview').each(function (tabview) {\n          var tabWithValue = find$5(detail.tabs, function (t) {\n            return t.value === tabValue;\n          });\n          tabWithValue.each(function (tabData) {\n            var panel = tabData.view();\n            getOpt(button.element, 'id').each(function (id) {\n              set$8(tabview.element, 'aria-labelledby', id);\n            });\n            Replacing.set(tabview, panel);\n            detail.onChangeTab(tabview, button, panel);\n          });\n        });\n      };\n      var changeTabBy = function (section, byPred) {\n        getPart(section, detail, 'tabbar').each(function (tabbar) {\n          byPred(tabbar).each(emitExecute);\n        });\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: components,\n        behaviours: get$2(detail.tabSectionBehaviours),\n        events: derive$2(flatten([\n          detail.selectFirst ? [runOnAttached(function (section, _simulatedEvent) {\n              changeTabBy(section, Highlighting.getFirst);\n            })] : [],\n          [\n            run$1(changeTab(), function (section, simulatedEvent) {\n              var button = simulatedEvent.event.button;\n              changeTab$1(button);\n            }),\n            run$1(dismissTab(), function (section, simulatedEvent) {\n              var button = simulatedEvent.event.button;\n              detail.onDismissTab(section, button);\n            })\n          ]\n        ])),\n        apis: {\n          getViewItems: function (section) {\n            return getPart(section, detail, 'tabview').map(function (tabview) {\n              return Replacing.contents(tabview);\n            }).getOr([]);\n          },\n          showTab: function (section, tabKey) {\n            var getTabIfNotActive = function (tabbar) {\n              var candidates = Highlighting.getCandidates(tabbar);\n              var optTab = find$5(candidates, function (c) {\n                return Representing.getValue(c) === tabKey;\n              });\n              return optTab.filter(function (tab) {\n                return !Highlighting.isHighlighted(tabbar, tab);\n              });\n            };\n            changeTabBy(section, getTabIfNotActive);\n          }\n        }\n      };\n    };\n    var TabSection = composite({\n      name: 'TabSection',\n      configFields: schema(),\n      partFields: parts(),\n      factory: factory,\n      apis: {\n        getViewItems: function (apis, component) {\n          return apis.getViewItems(component);\n        },\n        showTab: function (apis, component, tabKey) {\n          apis.showTab(component, tabKey);\n        }\n      }\n    });\n\n    var measureHeights = function (allTabs, tabview, tabviewComp) {\n      return map$2(allTabs, function (_tab, i) {\n        Replacing.set(tabviewComp, allTabs[i].view());\n        var rect = tabview.dom.getBoundingClientRect();\n        Replacing.set(tabviewComp, []);\n        return rect.height;\n      });\n    };\n    var getMaxHeight = function (heights) {\n      return head(sort(heights, function (a, b) {\n        if (a > b) {\n          return -1;\n        } else if (a < b) {\n          return +1;\n        } else {\n          return 0;\n        }\n      }));\n    };\n    var getMaxTabviewHeight = function (dialog, tabview, tablist) {\n      var documentElement$1 = documentElement(dialog).dom;\n      var rootElm = ancestor(dialog, '.tox-dialog-wrap').getOr(dialog);\n      var isFixed = get$c(rootElm, 'position') === 'fixed';\n      var maxHeight;\n      if (isFixed) {\n        maxHeight = Math.max(documentElement$1.clientHeight, window.innerHeight);\n      } else {\n        maxHeight = Math.max(documentElement$1.offsetHeight, documentElement$1.scrollHeight);\n      }\n      var tabviewHeight = get$b(tabview);\n      var isTabListBeside = tabview.dom.offsetLeft >= tablist.dom.offsetLeft + get$a(tablist);\n      var currentTabHeight = isTabListBeside ? Math.max(get$b(tablist), tabviewHeight) : tabviewHeight;\n      var dialogTopMargin = parseInt(get$c(dialog, 'margin-top'), 10) || 0;\n      var dialogBottomMargin = parseInt(get$c(dialog, 'margin-bottom'), 10) || 0;\n      var dialogHeight = get$b(dialog) + dialogTopMargin + dialogBottomMargin;\n      var chromeHeight = dialogHeight - currentTabHeight;\n      return maxHeight - chromeHeight;\n    };\n    var showTab = function (allTabs, comp) {\n      head(allTabs).each(function (tab) {\n        return TabSection.showTab(comp, tab.value);\n      });\n    };\n    var setTabviewHeight = function (tabview, height) {\n      set$7(tabview, 'height', height + 'px');\n      if (!detect$1().browser.isIE()) {\n        set$7(tabview, 'flex-basis', height + 'px');\n      } else {\n        remove$6(tabview, 'flex-basis');\n      }\n    };\n    var updateTabviewHeight = function (dialogBody, tabview, maxTabHeight) {\n      ancestor(dialogBody, '[role=\"dialog\"]').each(function (dialog) {\n        descendant(dialog, '[role=\"tablist\"]').each(function (tablist) {\n          maxTabHeight.get().map(function (height) {\n            set$7(tabview, 'height', '0');\n            set$7(tabview, 'flex-basis', '0');\n            return Math.min(height, getMaxTabviewHeight(dialog, tabview, tablist));\n          }).each(function (height) {\n            setTabviewHeight(tabview, height);\n          });\n        });\n      });\n    };\n    var getTabview = function (dialog) {\n      return descendant(dialog, '[role=\"tabpanel\"]');\n    };\n    var setMode = function (allTabs) {\n      var smartTabHeight = function () {\n        var maxTabHeight = value$1();\n        var extraEvents = [\n          runOnAttached(function (comp) {\n            var dialog = comp.element;\n            getTabview(dialog).each(function (tabview) {\n              set$7(tabview, 'visibility', 'hidden');\n              comp.getSystem().getByDom(tabview).toOptional().each(function (tabviewComp) {\n                var heights = measureHeights(allTabs, tabview, tabviewComp);\n                var maxTabHeightOpt = getMaxHeight(heights);\n                maxTabHeightOpt.fold(maxTabHeight.clear, maxTabHeight.set);\n              });\n              updateTabviewHeight(dialog, tabview, maxTabHeight);\n              remove$6(tabview, 'visibility');\n              showTab(allTabs, comp);\n              global$f.requestAnimationFrame(function () {\n                updateTabviewHeight(dialog, tabview, maxTabHeight);\n              });\n            });\n          }),\n          run$1(windowResize(), function (comp) {\n            var dialog = comp.element;\n            getTabview(dialog).each(function (tabview) {\n              updateTabviewHeight(dialog, tabview, maxTabHeight);\n            });\n          }),\n          run$1(formResizeEvent, function (comp, _se) {\n            var dialog = comp.element;\n            getTabview(dialog).each(function (tabview) {\n              var oldFocus = active(getRootNode(tabview));\n              set$7(tabview, 'visibility', 'hidden');\n              var oldHeight = getRaw(tabview, 'height').map(function (h) {\n                return parseInt(h, 10);\n              });\n              remove$6(tabview, 'height');\n              remove$6(tabview, 'flex-basis');\n              var newHeight = tabview.dom.getBoundingClientRect().height;\n              var hasGrown = oldHeight.forall(function (h) {\n                return newHeight > h;\n              });\n              if (hasGrown) {\n                maxTabHeight.set(newHeight);\n                updateTabviewHeight(dialog, tabview, maxTabHeight);\n              } else {\n                oldHeight.each(function (h) {\n                  setTabviewHeight(tabview, h);\n                });\n              }\n              remove$6(tabview, 'visibility');\n              oldFocus.each(focus$3);\n            });\n          })\n        ];\n        var selectFirst = false;\n        return {\n          extraEvents: extraEvents,\n          selectFirst: selectFirst\n        };\n      }();\n      var naiveTabHeight = function () {\n        var extraEvents = [];\n        var selectFirst = true;\n        return {\n          extraEvents: extraEvents,\n          selectFirst: selectFirst\n        };\n      }();\n      return {\n        smartTabHeight: smartTabHeight,\n        naiveTabHeight: naiveTabHeight\n      };\n    };\n\n    var SendDataToSectionChannel = 'send-data-to-section';\n    var SendDataToViewChannel = 'send-data-to-view';\n    var renderTabPanel = function (spec, backstage) {\n      var storedValue = Cell({});\n      var updateDataWithForm = function (form) {\n        var formData = Representing.getValue(form);\n        var validData = toValidValues(formData).getOr({});\n        var currentData = storedValue.get();\n        var newData = deepMerge(currentData, validData);\n        storedValue.set(newData);\n      };\n      var setDataOnForm = function (form) {\n        var tabData = storedValue.get();\n        Representing.setValue(form, tabData);\n      };\n      var oldTab = Cell(null);\n      var allTabs = map$2(spec.tabs, function (tab) {\n        return {\n          value: tab.name,\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__body-nav-item'],\n            innerHtml: backstage.shared.providers.translate(tab.title)\n          },\n          view: function () {\n            return [Form.sketch(function (parts) {\n                return {\n                  dom: {\n                    tag: 'div',\n                    classes: ['tox-form']\n                  },\n                  components: map$2(tab.items, function (item) {\n                    return interpretInForm(parts, item, backstage);\n                  }),\n                  formBehaviours: derive$1([\n                    Keying.config({\n                      mode: 'acyclic',\n                      useTabstopAt: not(isPseudoStop)\n                    }),\n                    config('TabView.form.events', [\n                      runOnAttached(setDataOnForm),\n                      runOnDetached(updateDataWithForm)\n                    ]),\n                    Receiving.config({\n                      channels: wrapAll([\n                        {\n                          key: SendDataToSectionChannel,\n                          value: { onReceive: updateDataWithForm }\n                        },\n                        {\n                          key: SendDataToViewChannel,\n                          value: { onReceive: setDataOnForm }\n                        }\n                      ])\n                    })\n                  ])\n                };\n              })];\n          }\n        };\n      });\n      var tabMode = setMode(allTabs).smartTabHeight;\n      return TabSection.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__body']\n        },\n        onChangeTab: function (section, button, _viewItems) {\n          var name = Representing.getValue(button);\n          emitWith(section, formTabChangeEvent, {\n            name: name,\n            oldName: oldTab.get()\n          });\n          oldTab.set(name);\n        },\n        tabs: allTabs,\n        components: [\n          TabSection.parts.tabbar({\n            dom: {\n              tag: 'div',\n              classes: ['tox-dialog__body-nav']\n            },\n            components: [Tabbar.parts.tabs({})],\n            markers: {\n              tabClass: 'tox-tab',\n              selectedClass: 'tox-dialog__body-nav-item--active'\n            },\n            tabbarBehaviours: derive$1([Tabstopping.config({})])\n          }),\n          TabSection.parts.tabview({\n            dom: {\n              tag: 'div',\n              classes: ['tox-dialog__body-content']\n            }\n          })\n        ],\n        selectFirst: tabMode.selectFirst,\n        tabSectionBehaviours: derive$1([\n          config('tabpanel', tabMode.extraEvents),\n          Keying.config({ mode: 'acyclic' }),\n          Composing.config({\n            find: function (comp) {\n              return head(TabSection.getViewItems(comp));\n            }\n          }),\n          Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: function (tsection) {\n                tsection.getSystem().broadcastOn([SendDataToSectionChannel], {});\n                return storedValue.get();\n              },\n              setValue: function (tsection, value) {\n                storedValue.set(value);\n                tsection.getSystem().broadcastOn([SendDataToViewChannel], {});\n              }\n            }\n          })\n        ])\n      });\n    };\n\n    var dialogChannel = generate$6('update-dialog');\n    var titleChannel = generate$6('update-title');\n    var bodyChannel = generate$6('update-body');\n    var footerChannel = generate$6('update-footer');\n    var bodySendMessageChannel = generate$6('body-send-message');\n\n    var renderBody = function (spec, id, backstage, ariaAttrs) {\n      var renderComponents = function (incoming) {\n        switch (incoming.body.type) {\n        case 'tabpanel': {\n            return [renderTabPanel(incoming.body, backstage)];\n          }\n        default: {\n            return [renderBodyPanel(incoming.body, backstage)];\n          }\n        }\n      };\n      var updateState = function (_comp, incoming) {\n        return Optional.some({\n          isTabPanel: function () {\n            return incoming.body.type === 'tabpanel';\n          }\n        });\n      };\n      var ariaAttributes = { 'aria-live': 'polite' };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__content-js'],\n          attributes: __assign(__assign({}, id.map(function (x) {\n            return { id: x };\n          }).getOr({})), ariaAttrs ? ariaAttributes : {})\n        },\n        components: [],\n        behaviours: derive$1([\n          ComposingConfigs.childAt(0),\n          Reflecting.config({\n            channel: bodyChannel,\n            updateState: updateState,\n            renderComponents: renderComponents,\n            initialData: spec\n          })\n        ])\n      };\n    };\n    var renderInlineBody = function (spec, contentId, backstage, ariaAttrs) {\n      return renderBody(spec, Optional.some(contentId), backstage, ariaAttrs);\n    };\n    var renderModalBody = function (spec, backstage) {\n      var bodySpec = renderBody(spec, Optional.none(), backstage, false);\n      return ModalDialog.parts.body(bodySpec);\n    };\n    var renderIframeBody = function (spec) {\n      var bodySpec = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__content-js']\n        },\n        components: [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-dialog__body-iframe']\n            },\n            components: [craft({\n                dom: {\n                  tag: 'iframe',\n                  attributes: { src: spec.url }\n                },\n                behaviours: derive$1([\n                  Tabstopping.config({}),\n                  Focusing.config({})\n                ])\n              })]\n          }],\n        behaviours: derive$1([Keying.config({\n            mode: 'acyclic',\n            useTabstopAt: not(isPseudoStop)\n          })])\n      };\n      return ModalDialog.parts.body(bodySpec);\n    };\n\n    var isTouch = global$9.deviceType.isTouch();\n    var hiddenHeader = function (title, close) {\n      return {\n        dom: {\n          tag: 'div',\n          styles: { display: 'none' },\n          classes: ['tox-dialog__header']\n        },\n        components: [\n          title,\n          close\n        ]\n      };\n    };\n    var pClose = function (onClose, providersBackstage) {\n      return ModalDialog.parts.close(Button.sketch({\n        dom: {\n          tag: 'button',\n          classes: [\n            'tox-button',\n            'tox-button--icon',\n            'tox-button--naked'\n          ],\n          attributes: {\n            'type': 'button',\n            'aria-label': providersBackstage.translate('Close')\n          }\n        },\n        action: onClose,\n        buttonBehaviours: derive$1([Tabstopping.config({})])\n      }));\n    };\n    var pUntitled = function () {\n      return ModalDialog.parts.title({\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__title'],\n          innerHtml: '',\n          styles: { display: 'none' }\n        }\n      });\n    };\n    var pBodyMessage = function (message, providersBackstage) {\n      return ModalDialog.parts.body({\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__body']\n        },\n        components: [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-dialog__body-content']\n            },\n            components: [{ dom: fromHtml('<p>' + providersBackstage.translate(message) + '</p>') }]\n          }]\n      });\n    };\n    var pFooter = function (buttons) {\n      return ModalDialog.parts.footer({\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__footer']\n        },\n        components: buttons\n      });\n    };\n    var pFooterGroup = function (startButtons, endButtons) {\n      return [\n        Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__footer-start']\n          },\n          components: startButtons\n        }),\n        Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__footer-end']\n          },\n          components: endButtons\n        })\n      ];\n    };\n    var renderDialog$1 = function (spec) {\n      var _a;\n      var dialogClass = 'tox-dialog';\n      var blockerClass = dialogClass + '-wrap';\n      var blockerBackdropClass = blockerClass + '__backdrop';\n      var scrollLockClass = dialogClass + '__disable-scroll';\n      return ModalDialog.sketch({\n        lazySink: spec.lazySink,\n        onEscape: function (comp) {\n          spec.onEscape(comp);\n          return Optional.some(true);\n        },\n        useTabstopAt: function (elem) {\n          return !isPseudoStop(elem);\n        },\n        dom: {\n          tag: 'div',\n          classes: [dialogClass].concat(spec.extraClasses),\n          styles: __assign({ position: 'relative' }, spec.extraStyles)\n        },\n        components: __spreadArray([\n          spec.header,\n          spec.body\n        ], spec.footer.toArray(), true),\n        parts: {\n          blocker: {\n            dom: fromHtml('<div class=\"' + blockerClass + '\"></div>'),\n            components: [{\n                dom: {\n                  tag: 'div',\n                  classes: isTouch ? [\n                    blockerBackdropClass,\n                    blockerBackdropClass + '--opaque'\n                  ] : [blockerBackdropClass]\n                }\n              }]\n          }\n        },\n        dragBlockClass: blockerClass,\n        modalBehaviours: derive$1(__spreadArray([\n          Focusing.config({}),\n          config('dialog-events', spec.dialogEvents.concat([runOnSource(focusin(), function (comp, _se) {\n              Keying.focusIn(comp);\n            })])),\n          config('scroll-lock', [\n            runOnAttached(function () {\n              add$2(body(), scrollLockClass);\n            }),\n            runOnDetached(function () {\n              remove$2(body(), scrollLockClass);\n            })\n          ])\n        ], spec.extraBehaviours, true)),\n        eventOrder: __assign((_a = {}, _a[execute$5()] = ['dialog-events'], _a[attachedToDom()] = [\n          'scroll-lock',\n          'dialog-events',\n          'alloy.base.behaviour'\n        ], _a[detachedFromDom()] = [\n          'alloy.base.behaviour',\n          'dialog-events',\n          'scroll-lock'\n        ], _a), spec.eventOrder)\n      });\n    };\n\n    var renderClose = function (providersBackstage) {\n      return Button.sketch({\n        dom: {\n          tag: 'button',\n          classes: [\n            'tox-button',\n            'tox-button--icon',\n            'tox-button--naked'\n          ],\n          attributes: {\n            'type': 'button',\n            'aria-label': providersBackstage.translate('Close'),\n            'title': providersBackstage.translate('Close')\n          }\n        },\n        components: [render$3('close', {\n            tag: 'div',\n            classes: ['tox-icon']\n          }, providersBackstage.icons)],\n        action: function (comp) {\n          emit(comp, formCancelEvent);\n        }\n      });\n    };\n    var renderTitle = function (spec, id, providersBackstage) {\n      var renderComponents = function (data) {\n        return [text(providersBackstage.translate(data.title))];\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__title'],\n          attributes: __assign({}, id.map(function (x) {\n            return { id: x };\n          }).getOr({}))\n        },\n        components: renderComponents(spec),\n        behaviours: derive$1([Reflecting.config({\n            channel: titleChannel,\n            renderComponents: renderComponents\n          })])\n      };\n    };\n    var renderDragHandle = function () {\n      return { dom: fromHtml('<div class=\"tox-dialog__draghandle\"></div>') };\n    };\n    var renderInlineHeader = function (spec, titleId, providersBackstage) {\n      return Container.sketch({\n        dom: fromHtml('<div class=\"tox-dialog__header\"></div>'),\n        components: [\n          renderTitle(spec, Optional.some(titleId), providersBackstage),\n          renderDragHandle(),\n          renderClose(providersBackstage)\n        ],\n        containerBehaviours: derive$1([Dragging.config({\n            mode: 'mouse',\n            blockerClass: 'blocker',\n            getTarget: function (handle) {\n              return closest$1(handle, '[role=\"dialog\"]').getOrDie();\n            },\n            snaps: {\n              getSnapPoints: function () {\n                return [];\n              },\n              leftAttr: 'data-drag-left',\n              topAttr: 'data-drag-top'\n            }\n          })])\n      });\n    };\n    var renderModalHeader = function (spec, providersBackstage) {\n      var pTitle = ModalDialog.parts.title(renderTitle(spec, Optional.none(), providersBackstage));\n      var pHandle = ModalDialog.parts.draghandle(renderDragHandle());\n      var pClose = ModalDialog.parts.close(renderClose(providersBackstage));\n      var components = [pTitle].concat(spec.draggable ? [pHandle] : []).concat([pClose]);\n      return Container.sketch({\n        dom: fromHtml('<div class=\"tox-dialog__header\"></div>'),\n        components: components\n      });\n    };\n\n    var getHeader = function (title, backstage) {\n      return renderModalHeader({\n        title: backstage.shared.providers.translate(title),\n        draggable: backstage.dialog.isDraggableModal()\n      }, backstage.shared.providers);\n    };\n    var getBusySpec = function (message, bs, providers) {\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__busy-spinner'],\n          attributes: { 'aria-label': providers.translate(message) },\n          styles: {\n            left: '0px',\n            right: '0px',\n            bottom: '0px',\n            top: '0px',\n            position: 'absolute'\n          }\n        },\n        behaviours: bs,\n        components: [{ dom: fromHtml('<div class=\"tox-spinner\"><div></div><div></div><div></div></div>') }]\n      };\n    };\n    var getEventExtras = function (lazyDialog, providers, extra) {\n      return {\n        onClose: function () {\n          return extra.closeWindow();\n        },\n        onBlock: function (blockEvent) {\n          ModalDialog.setBusy(lazyDialog(), function (_comp, bs) {\n            return getBusySpec(blockEvent.message, bs, providers);\n          });\n        },\n        onUnblock: function () {\n          ModalDialog.setIdle(lazyDialog());\n        }\n      };\n    };\n    var renderModalDialog = function (spec, initialData, dialogEvents, backstage) {\n      var _a;\n      var updateState = function (_comp, incoming) {\n        return Optional.some(incoming);\n      };\n      return build$1(renderDialog$1(__assign(__assign({}, spec), {\n        lazySink: backstage.shared.getSink,\n        extraBehaviours: __spreadArray([\n          Reflecting.config({\n            channel: dialogChannel,\n            updateState: updateState,\n            initialData: initialData\n          }),\n          RepresentingConfigs.memory({})\n        ], spec.extraBehaviours, true),\n        onEscape: function (comp) {\n          emit(comp, formCancelEvent);\n        },\n        dialogEvents: dialogEvents,\n        eventOrder: (_a = {}, _a[receive()] = [\n          Reflecting.name(),\n          Receiving.name()\n        ], _a[attachedToDom()] = [\n          'scroll-lock',\n          Reflecting.name(),\n          'messages',\n          'dialog-events',\n          'alloy.base.behaviour'\n        ], _a[detachedFromDom()] = [\n          'alloy.base.behaviour',\n          'dialog-events',\n          'messages',\n          Reflecting.name(),\n          'scroll-lock'\n        ], _a)\n      })));\n    };\n    var mapMenuButtons = function (buttons) {\n      var mapItems = function (button) {\n        var items = map$2(button.items, function (item) {\n          var cell = Cell(false);\n          return __assign(__assign({}, item), { storage: cell });\n        });\n        return __assign(__assign({}, button), { items: items });\n      };\n      return map$2(buttons, function (button) {\n        if (button.type === 'menu') {\n          return mapItems(button);\n        }\n        return button;\n      });\n    };\n    var extractCellsToObject = function (buttons) {\n      return foldl(buttons, function (acc, button) {\n        if (button.type === 'menu') {\n          var menuButton = button;\n          return foldl(menuButton.items, function (innerAcc, item) {\n            innerAcc[item.name] = item.storage;\n            return innerAcc;\n          }, acc);\n        }\n        return acc;\n      }, {});\n    };\n\n    var initCommonEvents = function (fireApiEvent, extras) {\n      return [\n        runWithTarget(focusin(), onFocus),\n        fireApiEvent(formCloseEvent, function (_api, spec) {\n          extras.onClose();\n          spec.onClose();\n        }),\n        fireApiEvent(formCancelEvent, function (api, spec, _event, self) {\n          spec.onCancel(api);\n          emit(self, formCloseEvent);\n        }),\n        run$1(formUnblockEvent, function (_c, _se) {\n          return extras.onUnblock();\n        }),\n        run$1(formBlockEvent, function (_c, se) {\n          return extras.onBlock(se.event);\n        })\n      ];\n    };\n    var initUrlDialog = function (getInstanceApi, extras) {\n      var fireApiEvent = function (eventName, f) {\n        return run$1(eventName, function (c, se) {\n          withSpec(c, function (spec, _c) {\n            f(getInstanceApi(), spec, se.event, c);\n          });\n        });\n      };\n      var withSpec = function (c, f) {\n        Reflecting.getState(c).get().each(function (currentDialog) {\n          f(currentDialog, c);\n        });\n      };\n      return __spreadArray(__spreadArray([], initCommonEvents(fireApiEvent, extras), true), [fireApiEvent(formActionEvent, function (api, spec, event) {\n          spec.onAction(api, { name: event.name });\n        })], false);\n    };\n    var initDialog = function (getInstanceApi, extras, getSink) {\n      var fireApiEvent = function (eventName, f) {\n        return run$1(eventName, function (c, se) {\n          withSpec(c, function (spec, _c) {\n            f(getInstanceApi(), spec, se.event, c);\n          });\n        });\n      };\n      var withSpec = function (c, f) {\n        Reflecting.getState(c).get().each(function (currentDialogInit) {\n          f(currentDialogInit.internalDialog, c);\n        });\n      };\n      return __spreadArray(__spreadArray([], initCommonEvents(fireApiEvent, extras), true), [\n        fireApiEvent(formSubmitEvent, function (api, spec) {\n          return spec.onSubmit(api);\n        }),\n        fireApiEvent(formChangeEvent, function (api, spec, event) {\n          spec.onChange(api, { name: event.name });\n        }),\n        fireApiEvent(formActionEvent, function (api, spec, event, component) {\n          var focusIn = function () {\n            return Keying.focusIn(component);\n          };\n          var isDisabled = function (focused) {\n            return has$1(focused, 'disabled') || getOpt(focused, 'aria-disabled').exists(function (val) {\n              return val === 'true';\n            });\n          };\n          var rootNode = getRootNode(component.element);\n          var current = active(rootNode);\n          spec.onAction(api, {\n            name: event.name,\n            value: event.value\n          });\n          active(rootNode).fold(focusIn, function (focused) {\n            if (isDisabled(focused)) {\n              focusIn();\n            } else if (current.exists(function (cur) {\n                return contains(focused, cur) && isDisabled(cur);\n              })) {\n              focusIn();\n            } else {\n              getSink().toOptional().filter(function (sink) {\n                return !contains(sink.element, focused);\n              }).each(focusIn);\n            }\n          });\n        }),\n        fireApiEvent(formTabChangeEvent, function (api, spec, event) {\n          spec.onTabChange(api, {\n            newTabName: event.name,\n            oldTabName: event.oldName\n          });\n        }),\n        runOnDetached(function (component) {\n          var api = getInstanceApi();\n          Representing.setValue(component, api.getData());\n        })\n      ], false);\n    };\n    var SilverDialogEvents = {\n      initUrlDialog: initUrlDialog,\n      initDialog: initDialog\n    };\n\n    var makeButton = function (button, backstage) {\n      return renderFooterButton(button, button.type, backstage);\n    };\n    var lookup = function (compInSystem, footerButtons, buttonName) {\n      return find$5(footerButtons, function (button) {\n        return button.name === buttonName;\n      }).bind(function (memButton) {\n        return memButton.memento.getOpt(compInSystem);\n      });\n    };\n    var renderComponents = function (_data, state) {\n      var footerButtons = state.map(function (s) {\n        return s.footerButtons;\n      }).getOr([]);\n      var buttonGroups = partition$3(footerButtons, function (button) {\n        return button.align === 'start';\n      });\n      var makeGroup = function (edge, buttons) {\n        return Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__footer-' + edge]\n          },\n          components: map$2(buttons, function (button) {\n            return button.memento.asSpec();\n          })\n        });\n      };\n      var startButtons = makeGroup('start', buttonGroups.pass);\n      var endButtons = makeGroup('end', buttonGroups.fail);\n      return [\n        startButtons,\n        endButtons\n      ];\n    };\n    var renderFooter = function (initSpec, backstage) {\n      var updateState = function (_comp, data) {\n        var footerButtons = map$2(data.buttons, function (button) {\n          var memButton = record(makeButton(button, backstage));\n          return {\n            name: button.name,\n            align: button.align,\n            memento: memButton\n          };\n        });\n        var lookupByName = function (compInSystem, buttonName) {\n          return lookup(compInSystem, footerButtons, buttonName);\n        };\n        return Optional.some({\n          lookupByName: lookupByName,\n          footerButtons: footerButtons\n        });\n      };\n      return {\n        dom: fromHtml('<div class=\"tox-dialog__footer\"></div>'),\n        components: [],\n        behaviours: derive$1([Reflecting.config({\n            channel: footerChannel,\n            initialData: initSpec,\n            updateState: updateState,\n            renderComponents: renderComponents\n          })])\n      };\n    };\n    var renderInlineFooter = function (initSpec, backstage) {\n      return renderFooter(initSpec, backstage);\n    };\n    var renderModalFooter = function (initSpec, backstage) {\n      return ModalDialog.parts.footer(renderFooter(initSpec, backstage));\n    };\n\n    var getCompByName = function (access, name) {\n      var root = access.getRoot();\n      if (root.getSystem().isConnected()) {\n        var form_1 = Composing.getCurrent(access.getFormWrapper()).getOr(access.getFormWrapper());\n        return Form.getField(form_1, name).fold(function () {\n          var footer = access.getFooter();\n          var footerState = Reflecting.getState(footer);\n          return footerState.get().bind(function (f) {\n            return f.lookupByName(form_1, name);\n          });\n        }, function (comp) {\n          return Optional.some(comp);\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    var validateData$1 = function (access, data) {\n      var root = access.getRoot();\n      return Reflecting.getState(root).get().map(function (dialogState) {\n        return getOrDie(asRaw('data', dialogState.dataValidator, data));\n      }).getOr(data);\n    };\n    var getDialogApi = function (access, doRedial, menuItemStates) {\n      var withRoot = function (f) {\n        var root = access.getRoot();\n        if (root.getSystem().isConnected()) {\n          f(root);\n        }\n      };\n      var getData = function () {\n        var root = access.getRoot();\n        var valueComp = root.getSystem().isConnected() ? access.getFormWrapper() : root;\n        var representedValues = Representing.getValue(valueComp);\n        var menuItemCurrentState = map$1(menuItemStates, function (cell) {\n          return cell.get();\n        });\n        return __assign(__assign({}, representedValues), menuItemCurrentState);\n      };\n      var setData = function (newData) {\n        withRoot(function (_) {\n          var prevData = instanceApi.getData();\n          var mergedData = __assign(__assign({}, prevData), newData);\n          var newInternalData = validateData$1(access, mergedData);\n          var form = access.getFormWrapper();\n          Representing.setValue(form, newInternalData);\n          each(menuItemStates, function (v, k) {\n            if (has$2(mergedData, k)) {\n              v.set(mergedData[k]);\n            }\n          });\n        });\n      };\n      var disable = function (name) {\n        getCompByName(access, name).each(Disabling.disable);\n      };\n      var enable = function (name) {\n        getCompByName(access, name).each(Disabling.enable);\n      };\n      var focus = function (name) {\n        getCompByName(access, name).each(Focusing.focus);\n      };\n      var block = function (message) {\n        if (!isString(message)) {\n          throw new Error('The dialogInstanceAPI.block function should be passed a blocking message of type string as an argument');\n        }\n        withRoot(function (root) {\n          emitWith(root, formBlockEvent, { message: message });\n        });\n      };\n      var unblock = function () {\n        withRoot(function (root) {\n          emit(root, formUnblockEvent);\n        });\n      };\n      var showTab = function (name) {\n        withRoot(function (_) {\n          var body = access.getBody();\n          var bodyState = Reflecting.getState(body);\n          if (bodyState.get().exists(function (b) {\n              return b.isTabPanel();\n            })) {\n            Composing.getCurrent(body).each(function (tabSection) {\n              TabSection.showTab(tabSection, name);\n            });\n          }\n        });\n      };\n      var redial = function (d) {\n        withRoot(function (root) {\n          var dialogInit = doRedial(d);\n          root.getSystem().broadcastOn([dialogChannel], dialogInit);\n          root.getSystem().broadcastOn([titleChannel], dialogInit.internalDialog);\n          root.getSystem().broadcastOn([bodyChannel], dialogInit.internalDialog);\n          root.getSystem().broadcastOn([footerChannel], dialogInit.internalDialog);\n          instanceApi.setData(dialogInit.initialData);\n        });\n      };\n      var close = function () {\n        withRoot(function (root) {\n          emit(root, formCloseEvent);\n        });\n      };\n      var instanceApi = {\n        getData: getData,\n        setData: setData,\n        disable: disable,\n        enable: enable,\n        focus: focus,\n        block: block,\n        unblock: unblock,\n        showTab: showTab,\n        redial: redial,\n        close: close\n      };\n      return instanceApi;\n    };\n\n    var getDialogSizeClasses = function (size) {\n      switch (size) {\n      case 'large':\n        return ['tox-dialog--width-lg'];\n      case 'medium':\n        return ['tox-dialog--width-md'];\n      default:\n        return [];\n      }\n    };\n    var renderDialog = function (dialogInit, extra, backstage) {\n      var header = getHeader(dialogInit.internalDialog.title, backstage);\n      var body = renderModalBody({ body: dialogInit.internalDialog.body }, backstage);\n      var storagedMenuButtons = mapMenuButtons(dialogInit.internalDialog.buttons);\n      var objOfCells = extractCellsToObject(storagedMenuButtons);\n      var footer = renderModalFooter({ buttons: storagedMenuButtons }, backstage);\n      var dialogEvents = SilverDialogEvents.initDialog(function () {\n        return instanceApi;\n      }, getEventExtras(function () {\n        return dialog;\n      }, backstage.shared.providers, extra), backstage.shared.getSink);\n      var dialogSize = getDialogSizeClasses(dialogInit.internalDialog.size);\n      var spec = {\n        header: header,\n        body: body,\n        footer: Optional.some(footer),\n        extraClasses: dialogSize,\n        extraBehaviours: [],\n        extraStyles: {}\n      };\n      var dialog = renderModalDialog(spec, dialogInit, dialogEvents, backstage);\n      var modalAccess = function () {\n        var getForm = function () {\n          var outerForm = ModalDialog.getBody(dialog);\n          return Composing.getCurrent(outerForm).getOr(outerForm);\n        };\n        return {\n          getRoot: constant$1(dialog),\n          getBody: function () {\n            return ModalDialog.getBody(dialog);\n          },\n          getFooter: function () {\n            return ModalDialog.getFooter(dialog);\n          },\n          getFormWrapper: getForm\n        };\n      }();\n      var instanceApi = getDialogApi(modalAccess, extra.redial, objOfCells);\n      return {\n        dialog: dialog,\n        instanceApi: instanceApi\n      };\n    };\n\n    var renderInlineDialog = function (dialogInit, extra, backstage, ariaAttrs) {\n      var _a, _b;\n      var dialogLabelId = generate$6('dialog-label');\n      var dialogContentId = generate$6('dialog-content');\n      var updateState = function (_comp, incoming) {\n        return Optional.some(incoming);\n      };\n      var memHeader = record(renderInlineHeader({\n        title: dialogInit.internalDialog.title,\n        draggable: true\n      }, dialogLabelId, backstage.shared.providers));\n      var memBody = record(renderInlineBody({ body: dialogInit.internalDialog.body }, dialogContentId, backstage, ariaAttrs));\n      var storagedMenuButtons = mapMenuButtons(dialogInit.internalDialog.buttons);\n      var objOfCells = extractCellsToObject(storagedMenuButtons);\n      var memFooter = record(renderInlineFooter({ buttons: storagedMenuButtons }, backstage));\n      var dialogEvents = SilverDialogEvents.initDialog(function () {\n        return instanceApi;\n      }, {\n        onBlock: function (event) {\n          Blocking.block(dialog, function (_comp, bs) {\n            return getBusySpec(event.message, bs, backstage.shared.providers);\n          });\n        },\n        onUnblock: function () {\n          Blocking.unblock(dialog);\n        },\n        onClose: function () {\n          return extra.closeWindow();\n        }\n      }, backstage.shared.getSink);\n      var dialog = build$1({\n        dom: {\n          tag: 'div',\n          classes: [\n            'tox-dialog',\n            'tox-dialog-inline'\n          ],\n          attributes: (_a = { role: 'dialog' }, _a['aria-labelledby'] = dialogLabelId, _a['aria-describedby'] = dialogContentId, _a)\n        },\n        eventOrder: (_b = {}, _b[receive()] = [\n          Reflecting.name(),\n          Receiving.name()\n        ], _b[execute$5()] = ['execute-on-form'], _b[attachedToDom()] = [\n          'reflecting',\n          'execute-on-form'\n        ], _b),\n        behaviours: derive$1([\n          Keying.config({\n            mode: 'cyclic',\n            onEscape: function (c) {\n              emit(c, formCloseEvent);\n              return Optional.some(true);\n            },\n            useTabstopAt: function (elem) {\n              return !isPseudoStop(elem) && (name$2(elem) !== 'button' || get$d(elem, 'disabled') !== 'disabled');\n            }\n          }),\n          Reflecting.config({\n            channel: dialogChannel,\n            updateState: updateState,\n            initialData: dialogInit\n          }),\n          Focusing.config({}),\n          config('execute-on-form', dialogEvents.concat([runOnSource(focusin(), function (comp, _se) {\n              Keying.focusIn(comp);\n            })])),\n          Blocking.config({\n            getRoot: function () {\n              return Optional.some(dialog);\n            }\n          }),\n          Replacing.config({}),\n          RepresentingConfigs.memory({})\n        ]),\n        components: [\n          memHeader.asSpec(),\n          memBody.asSpec(),\n          memFooter.asSpec()\n        ]\n      });\n      var instanceApi = getDialogApi({\n        getRoot: constant$1(dialog),\n        getFooter: function () {\n          return memFooter.get(dialog);\n        },\n        getBody: function () {\n          return memBody.get(dialog);\n        },\n        getFormWrapper: function () {\n          var body = memBody.get(dialog);\n          return Composing.getCurrent(body).getOr(body);\n        }\n      }, extra.redial, objOfCells);\n      return {\n        dialog: dialog,\n        instanceApi: instanceApi\n      };\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    var getUrlDialogApi = function (root) {\n      var withRoot = function (f) {\n        if (root.getSystem().isConnected()) {\n          f(root);\n        }\n      };\n      var block = function (message) {\n        if (!isString(message)) {\n          throw new Error('The urlDialogInstanceAPI.block function should be passed a blocking message of type string as an argument');\n        }\n        withRoot(function (root) {\n          emitWith(root, formBlockEvent, { message: message });\n        });\n      };\n      var unblock = function () {\n        withRoot(function (root) {\n          emit(root, formUnblockEvent);\n        });\n      };\n      var close = function () {\n        withRoot(function (root) {\n          emit(root, formCloseEvent);\n        });\n      };\n      var sendMessage = function (data) {\n        withRoot(function (root) {\n          root.getSystem().broadcastOn([bodySendMessageChannel], data);\n        });\n      };\n      return {\n        block: block,\n        unblock: unblock,\n        close: close,\n        sendMessage: sendMessage\n      };\n    };\n\n    var SUPPORTED_MESSAGE_ACTIONS = [\n      'insertContent',\n      'setContent',\n      'execCommand',\n      'close',\n      'block',\n      'unblock'\n    ];\n    var isSupportedMessage = function (data) {\n      return isObject(data) && SUPPORTED_MESSAGE_ACTIONS.indexOf(data.mceAction) !== -1;\n    };\n    var isCustomMessage = function (data) {\n      return !isSupportedMessage(data) && isObject(data) && has$2(data, 'mceAction');\n    };\n    var handleMessage = function (editor, api, data) {\n      switch (data.mceAction) {\n      case 'insertContent':\n        editor.insertContent(data.content);\n        break;\n      case 'setContent':\n        editor.setContent(data.content);\n        break;\n      case 'execCommand':\n        var ui = isBoolean(data.ui) ? data.ui : false;\n        editor.execCommand(data.cmd, ui, data.value);\n        break;\n      case 'close':\n        api.close();\n        break;\n      case 'block':\n        api.block(data.message);\n        break;\n      case 'unblock':\n        api.unblock();\n        break;\n      }\n    };\n    var renderUrlDialog = function (internalDialog, extra, editor, backstage) {\n      var _a;\n      var header = getHeader(internalDialog.title, backstage);\n      var body = renderIframeBody(internalDialog);\n      var footer = internalDialog.buttons.bind(function (buttons) {\n        if (buttons.length === 0) {\n          return Optional.none();\n        } else {\n          return Optional.some(renderModalFooter({ buttons: buttons }, backstage));\n        }\n      });\n      var dialogEvents = SilverDialogEvents.initUrlDialog(function () {\n        return instanceApi;\n      }, getEventExtras(function () {\n        return dialog;\n      }, backstage.shared.providers, extra));\n      var styles = __assign(__assign({}, internalDialog.height.fold(function () {\n        return {};\n      }, function (height) {\n        return {\n          'height': height + 'px',\n          'max-height': height + 'px'\n        };\n      })), internalDialog.width.fold(function () {\n        return {};\n      }, function (width) {\n        return {\n          'width': width + 'px',\n          'max-width': width + 'px'\n        };\n      }));\n      var classes = internalDialog.width.isNone() && internalDialog.height.isNone() ? ['tox-dialog--width-lg'] : [];\n      var iframeUri = new global$1(internalDialog.url, { base_uri: new global$1(window.location.href) });\n      var iframeDomain = iframeUri.protocol + '://' + iframeUri.host + (iframeUri.port ? ':' + iframeUri.port : '');\n      var messageHandlerUnbinder = unbindable();\n      var extraBehaviours = [\n        config('messages', [\n          runOnAttached(function () {\n            var unbind = bind(SugarElement.fromDom(window), 'message', function (e) {\n              if (iframeUri.isSameOrigin(new global$1(e.raw.origin))) {\n                var data = e.raw.data;\n                if (isSupportedMessage(data)) {\n                  handleMessage(editor, instanceApi, data);\n                } else if (isCustomMessage(data)) {\n                  internalDialog.onMessage(instanceApi, data);\n                }\n              }\n            });\n            messageHandlerUnbinder.set(unbind);\n          }),\n          runOnDetached(messageHandlerUnbinder.clear)\n        ]),\n        Receiving.config({\n          channels: (_a = {}, _a[bodySendMessageChannel] = {\n            onReceive: function (comp, data) {\n              descendant(comp.element, 'iframe').each(function (iframeEle) {\n                var iframeWin = iframeEle.dom.contentWindow;\n                iframeWin.postMessage(data, iframeDomain);\n              });\n            }\n          }, _a)\n        })\n      ];\n      var spec = {\n        header: header,\n        body: body,\n        footer: footer,\n        extraClasses: classes,\n        extraBehaviours: extraBehaviours,\n        extraStyles: styles\n      };\n      var dialog = renderModalDialog(spec, internalDialog, dialogEvents, backstage);\n      var instanceApi = getUrlDialogApi(dialog);\n      return {\n        dialog: dialog,\n        instanceApi: instanceApi\n      };\n    };\n\n    var setup$2 = function (extras) {\n      var sharedBackstage = extras.backstage.shared;\n      var open = function (message, callback) {\n        var closeDialog = function () {\n          ModalDialog.hide(alertDialog);\n          callback();\n        };\n        var memFooterClose = record(renderFooterButton({\n          name: 'close-alert',\n          text: 'OK',\n          primary: true,\n          align: 'end',\n          disabled: false,\n          icon: Optional.none()\n        }, 'cancel', extras.backstage));\n        var titleSpec = pUntitled();\n        var closeSpec = pClose(closeDialog, sharedBackstage.providers);\n        var alertDialog = build$1(renderDialog$1({\n          lazySink: function () {\n            return sharedBackstage.getSink();\n          },\n          header: hiddenHeader(titleSpec, closeSpec),\n          body: pBodyMessage(message, sharedBackstage.providers),\n          footer: Optional.some(pFooter(pFooterGroup([], [memFooterClose.asSpec()]))),\n          onEscape: closeDialog,\n          extraClasses: ['tox-alert-dialog'],\n          extraBehaviours: [],\n          extraStyles: {},\n          dialogEvents: [run$1(formCancelEvent, closeDialog)],\n          eventOrder: {}\n        }));\n        ModalDialog.show(alertDialog);\n        var footerCloseButton = memFooterClose.get(alertDialog);\n        Focusing.focus(footerCloseButton);\n      };\n      return { open: open };\n    };\n\n    var setup$1 = function (extras) {\n      var sharedBackstage = extras.backstage.shared;\n      var open = function (message, callback) {\n        var closeDialog = function (state) {\n          ModalDialog.hide(confirmDialog);\n          callback(state);\n        };\n        var memFooterYes = record(renderFooterButton({\n          name: 'yes',\n          text: 'Yes',\n          primary: true,\n          align: 'end',\n          disabled: false,\n          icon: Optional.none()\n        }, 'submit', extras.backstage));\n        var footerNo = renderFooterButton({\n          name: 'no',\n          text: 'No',\n          primary: false,\n          align: 'end',\n          disabled: false,\n          icon: Optional.none()\n        }, 'cancel', extras.backstage);\n        var titleSpec = pUntitled();\n        var closeSpec = pClose(function () {\n          return closeDialog(false);\n        }, sharedBackstage.providers);\n        var confirmDialog = build$1(renderDialog$1({\n          lazySink: function () {\n            return sharedBackstage.getSink();\n          },\n          header: hiddenHeader(titleSpec, closeSpec),\n          body: pBodyMessage(message, sharedBackstage.providers),\n          footer: Optional.some(pFooter(pFooterGroup([], [\n            footerNo,\n            memFooterYes.asSpec()\n          ]))),\n          onEscape: function () {\n            return closeDialog(false);\n          },\n          extraClasses: ['tox-confirm-dialog'],\n          extraBehaviours: [],\n          extraStyles: {},\n          dialogEvents: [\n            run$1(formCancelEvent, function () {\n              return closeDialog(false);\n            }),\n            run$1(formSubmitEvent, function () {\n              return closeDialog(true);\n            })\n          ],\n          eventOrder: {}\n        }));\n        ModalDialog.show(confirmDialog);\n        var footerYesButton = memFooterYes.get(confirmDialog);\n        Focusing.focus(footerYesButton);\n      };\n      return { open: open };\n    };\n\n    var validateData = function (data, validator) {\n      return getOrDie(asRaw('data', validator, data));\n    };\n    var isAlertOrConfirmDialog = function (target) {\n      return closest(target, '.tox-alert-dialog') || closest(target, '.tox-confirm-dialog');\n    };\n    var inlineAdditionalBehaviours = function (editor, isStickyToolbar, isToolbarLocationTop) {\n      if (isStickyToolbar && isToolbarLocationTop) {\n        return [];\n      } else {\n        return [Docking.config({\n            contextual: {\n              lazyContext: function () {\n                return Optional.some(box$1(SugarElement.fromDom(editor.getContentAreaContainer())));\n              },\n              fadeInClass: 'tox-dialog-dock-fadein',\n              fadeOutClass: 'tox-dialog-dock-fadeout',\n              transitionClass: 'tox-dialog-dock-transition'\n            },\n            modes: ['top']\n          })];\n      }\n    };\n    var setup = function (extras) {\n      var backstage = extras.backstage;\n      var editor = extras.editor;\n      var isStickyToolbar$1 = isStickyToolbar(editor);\n      var alertDialog = setup$2(extras);\n      var confirmDialog = setup$1(extras);\n      var open = function (config, params, closeWindow) {\n        if (params !== undefined && params.inline === 'toolbar') {\n          return openInlineDialog(config, backstage.shared.anchors.inlineDialog(), closeWindow, params.ariaAttrs);\n        } else if (params !== undefined && params.inline === 'cursor') {\n          return openInlineDialog(config, backstage.shared.anchors.cursor(), closeWindow, params.ariaAttrs);\n        } else {\n          return openModalDialog(config, closeWindow);\n        }\n      };\n      var openUrl = function (config, closeWindow) {\n        return openModalUrlDialog(config, closeWindow);\n      };\n      var openModalUrlDialog = function (config, closeWindow) {\n        var factory = function (contents) {\n          var dialog = renderUrlDialog(contents, {\n            closeWindow: function () {\n              ModalDialog.hide(dialog.dialog);\n              closeWindow(dialog.instanceApi);\n            }\n          }, editor, backstage);\n          ModalDialog.show(dialog.dialog);\n          return dialog.instanceApi;\n        };\n        return DialogManager.openUrl(factory, config);\n      };\n      var openModalDialog = function (config, closeWindow) {\n        var factory = function (contents, internalInitialData, dataValidator) {\n          var initialData = internalInitialData;\n          var dialogInit = {\n            dataValidator: dataValidator,\n            initialData: initialData,\n            internalDialog: contents\n          };\n          var dialog = renderDialog(dialogInit, {\n            redial: DialogManager.redial,\n            closeWindow: function () {\n              ModalDialog.hide(dialog.dialog);\n              closeWindow(dialog.instanceApi);\n            }\n          }, backstage);\n          ModalDialog.show(dialog.dialog);\n          dialog.instanceApi.setData(initialData);\n          return dialog.instanceApi;\n        };\n        return DialogManager.open(factory, config);\n      };\n      var openInlineDialog = function (config$1, anchor, closeWindow, ariaAttrs) {\n        var factory = function (contents, internalInitialData, dataValidator) {\n          var initialData = validateData(internalInitialData, dataValidator);\n          var inlineDialog = value$1();\n          var isToolbarLocationTop = backstage.shared.header.isPositionedAtTop();\n          var dialogInit = {\n            dataValidator: dataValidator,\n            initialData: initialData,\n            internalDialog: contents\n          };\n          var refreshDocking = function () {\n            return inlineDialog.on(function (dialog) {\n              InlineView.reposition(dialog);\n              Docking.refresh(dialog);\n            });\n          };\n          var dialogUi = renderInlineDialog(dialogInit, {\n            redial: DialogManager.redial,\n            closeWindow: function () {\n              inlineDialog.on(InlineView.hide);\n              editor.off('ResizeEditor', refreshDocking);\n              inlineDialog.clear();\n              closeWindow(dialogUi.instanceApi);\n            }\n          }, backstage, ariaAttrs);\n          var inlineDialogComp = build$1(InlineView.sketch(__assign(__assign({\n            lazySink: backstage.shared.getSink,\n            dom: {\n              tag: 'div',\n              classes: []\n            },\n            fireDismissalEventInstead: {}\n          }, isToolbarLocationTop ? {} : { fireRepositionEventInstead: {} }), {\n            inlineBehaviours: derive$1(__spreadArray([config('window-manager-inline-events', [run$1(dismissRequested(), function (_comp, _se) {\n                  emit(dialogUi.dialog, formCancelEvent);\n                })])], inlineAdditionalBehaviours(editor, isStickyToolbar$1, isToolbarLocationTop), true)),\n            isExtraPart: function (_comp, target) {\n              return isAlertOrConfirmDialog(target);\n            }\n          })));\n          inlineDialog.set(inlineDialogComp);\n          InlineView.showWithin(inlineDialogComp, premade(dialogUi.dialog), { anchor: anchor }, Optional.some(body()));\n          if (!isStickyToolbar$1 || !isToolbarLocationTop) {\n            Docking.refresh(inlineDialogComp);\n            editor.on('ResizeEditor', refreshDocking);\n          }\n          dialogUi.instanceApi.setData(initialData);\n          Keying.focusIn(dialogUi.dialog);\n          return dialogUi.instanceApi;\n        };\n        return DialogManager.open(factory, config$1);\n      };\n      var confirm = function (message, callback) {\n        confirmDialog.open(message, function (state) {\n          callback(state);\n        });\n      };\n      var alert = function (message, callback) {\n        alertDialog.open(message, function () {\n          callback();\n        });\n      };\n      var close = function (instanceApi) {\n        instanceApi.close();\n      };\n      return {\n        open: open,\n        openUrl: openUrl,\n        alert: alert,\n        close: close,\n        confirm: confirm\n      };\n    };\n\n    function Theme () {\n      global$g.add('silver', function (editor) {\n        var _a = setup$3(editor), uiMothership = _a.uiMothership, backstage = _a.backstage, renderUI = _a.renderUI, getUi = _a.getUi;\n        Autocompleter.register(editor, backstage.shared);\n        var windowMgr = setup({\n          editor: editor,\n          backstage: backstage\n        });\n        return {\n          renderUI: renderUI,\n          getWindowManagerImpl: constant$1(windowMgr),\n          getNotificationManagerImpl: function () {\n            return NotificationManagerImpl(editor, { backstage: backstage }, uiMothership);\n          },\n          ui: getUi()\n        };\n      });\n    }\n\n    Theme();\n\n}());\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/tinymce/themes/silver/theme.js?");

/***/ }),

/***/ "./node_modules/tinymce/tinymce.js":
/*!*****************************************!*\
  !*** ./node_modules/tinymce/tinymce.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.10.4 (2022-04-27)\n */\n(function () {\n    'use strict';\n\n    var typeOf$1 = function (x) {\n      if (x === null) {\n        return 'null';\n      }\n      if (x === undefined) {\n        return 'undefined';\n      }\n      var t = typeof x;\n      if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      }\n      if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      }\n      return t;\n    };\n    var isEquatableType = function (x) {\n      return [\n        'undefined',\n        'boolean',\n        'number',\n        'string',\n        'function',\n        'xml',\n        'null'\n      ].indexOf(x) !== -1;\n    };\n\n    var sort$1 = function (xs, compareFn) {\n      var clone = Array.prototype.slice.call(xs);\n      return clone.sort(compareFn);\n    };\n\n    var contramap = function (eqa, f) {\n      return eq$2(function (x, y) {\n        return eqa.eq(f(x), f(y));\n      });\n    };\n    var eq$2 = function (f) {\n      return { eq: f };\n    };\n    var tripleEq = eq$2(function (x, y) {\n      return x === y;\n    });\n    var eqString = tripleEq;\n    var eqArray = function (eqa) {\n      return eq$2(function (x, y) {\n        if (x.length !== y.length) {\n          return false;\n        }\n        var len = x.length;\n        for (var i = 0; i < len; i++) {\n          if (!eqa.eq(x[i], y[i])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqSortedArray = function (eqa, compareFn) {\n      return contramap(eqArray(eqa), function (xs) {\n        return sort$1(xs, compareFn);\n      });\n    };\n    var eqRecord = function (eqa) {\n      return eq$2(function (x, y) {\n        var kx = Object.keys(x);\n        var ky = Object.keys(y);\n        if (!eqSortedArray(eqString).eq(kx, ky)) {\n          return false;\n        }\n        var len = kx.length;\n        for (var i = 0; i < len; i++) {\n          var q = kx[i];\n          if (!eqa.eq(x[q], y[q])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqAny = eq$2(function (x, y) {\n      if (x === y) {\n        return true;\n      }\n      var tx = typeOf$1(x);\n      var ty = typeOf$1(y);\n      if (tx !== ty) {\n        return false;\n      }\n      if (isEquatableType(tx)) {\n        return x === y;\n      } else if (tx === 'array') {\n        return eqArray(eqAny).eq(x, y);\n      } else if (tx === 'object') {\n        return eqRecord(eqAny).eq(x, y);\n      }\n      return false;\n    });\n\n    var typeOf = function (x) {\n      var t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    var isType$1 = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isSimpleType = function (type) {\n      return function (value) {\n        return typeof value === type;\n      };\n    };\n    var eq$1 = function (t) {\n      return function (a) {\n        return t === a;\n      };\n    };\n    var isString$1 = isType$1('string');\n    var isObject = isType$1('object');\n    var isArray$1 = isType$1('array');\n    var isNull = eq$1(null);\n    var isBoolean = isSimpleType('boolean');\n    var isUndefined = eq$1(undefined);\n    var isNullable = function (a) {\n      return a === null || a === undefined;\n    };\n    var isNonNullable = function (a) {\n      return !isNullable(a);\n    };\n    var isFunction = isSimpleType('function');\n    var isNumber = isSimpleType('number');\n\n    var noop = function () {\n    };\n    var compose = function (fa, fb) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return fa(fb.apply(null, args));\n      };\n    };\n    var compose1 = function (fbc, fab) {\n      return function (a) {\n        return fbc(fab(a));\n      };\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    var tripleEquals = function (a, b) {\n      return a === b;\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var not = function (f) {\n      return function (t) {\n        return !f(t);\n      };\n    };\n    var die = function (msg) {\n      return function () {\n        throw new Error(msg);\n      };\n    };\n    var apply = function (f) {\n      return f();\n    };\n    var call = function (f) {\n      f();\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var call = function (thunk) {\n        return thunk();\n      };\n      var id = identity;\n      var me = {\n        fold: function (n, _s) {\n          return n();\n        },\n        isSome: never,\n        isNone: always,\n        getOr: id,\n        getOrThunk: call,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: constant(null),\n        getOrUndefined: constant(undefined),\n        or: id,\n        orThunk: call,\n        map: none,\n        each: noop,\n        bind: none,\n        exists: never,\n        forall: always,\n        filter: function () {\n          return none();\n        },\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = constant(a);\n      var self = function () {\n        return me;\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        isSome: always,\n        isNone: never,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: function (f) {\n          return some(f(a));\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from$1 = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Optional = {\n      some: some,\n      none: none,\n      from: from$1\n    };\n\n    var nativeSlice = Array.prototype.slice;\n    var nativeIndexOf = Array.prototype.indexOf;\n    var nativePush = Array.prototype.push;\n    var rawIndexOf = function (ts, t) {\n      return nativeIndexOf.call(ts, t);\n    };\n    var indexOf$2 = function (xs, x) {\n      var r = rawIndexOf(xs, x);\n      return r === -1 ? Optional.none() : Optional.some(r);\n    };\n    var contains$3 = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var exists = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var map$3 = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    var each$k = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var eachr = function (xs, f) {\n      for (var i = xs.length - 1; i >= 0; i--) {\n        var x = xs[i];\n        f(x, i);\n      }\n    };\n    var partition = function (xs, pred) {\n      var pass = [];\n      var fail = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        var arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass: pass,\n        fail: fail\n      };\n    };\n    var filter$4 = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldr = function (xs, f, acc) {\n      eachr(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var foldl = function (xs, f, acc) {\n      each$k(xs, function (x, i) {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    var findUntil$1 = function (xs, pred, until) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var find$3 = function (xs, pred) {\n      return findUntil$1(xs, pred, never);\n    };\n    var findIndex$2 = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      return flatten(map$3(xs, f));\n    };\n    var forall = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        var x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    var reverse = function (xs) {\n      var r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var difference = function (a1, a2) {\n      return filter$4(a1, function (x) {\n        return !contains$3(a2, x);\n      });\n    };\n    var mapToObject = function (xs, f) {\n      var r = {};\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    var sort = function (xs, comparator) {\n      var copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    var get$a = function (xs, i) {\n      return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    };\n    var head = function (xs) {\n      return get$a(xs, 0);\n    };\n    var last$2 = function (xs) {\n      return get$a(xs, xs.length - 1);\n    };\n    var from = isFunction(Array.from) ? Array.from : function (x) {\n      return nativeSlice.call(x);\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    var keys = Object.keys;\n    var hasOwnProperty$1 = Object.hasOwnProperty;\n    var each$j = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i);\n      }\n    };\n    var map$2 = function (obj, f) {\n      return tupleMap(obj, function (x, i) {\n        return {\n          k: i,\n          v: f(x, i)\n        };\n      });\n    };\n    var tupleMap = function (obj, f) {\n      var r = {};\n      each$j(obj, function (x, i) {\n        var tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    var objAcc = function (r) {\n      return function (x, i) {\n        r[i] = x;\n      };\n    };\n    var internalFilter = function (obj, pred, onTrue, onFalse) {\n      var r = {};\n      each$j(obj, function (x, i) {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n      return r;\n    };\n    var bifilter = function (obj, pred) {\n      var t = {};\n      var f = {};\n      internalFilter(obj, pred, objAcc(t), objAcc(f));\n      return {\n        t: t,\n        f: f\n      };\n    };\n    var filter$3 = function (obj, pred) {\n      var t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    var mapToArray = function (obj, f) {\n      var r = [];\n      each$j(obj, function (value, name) {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    var values = function (obj) {\n      return mapToArray(obj, identity);\n    };\n    var get$9 = function (obj, key) {\n      return has$2(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    var has$2 = function (obj, key) {\n      return hasOwnProperty$1.call(obj, key);\n    };\n    var hasNonNullableKey = function (obj, key) {\n      return has$2(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    };\n    var equal$1 = function (a1, a2, eq) {\n      if (eq === void 0) {\n        eq = eqAny;\n      }\n      return eqRecord(eq).eq(a1, a2);\n    };\n\n    var isArray = Array.isArray;\n    var toArray$1 = function (obj) {\n      if (!isArray(obj)) {\n        var array = [];\n        for (var i = 0, l = obj.length; i < l; i++) {\n          array[i] = obj[i];\n        }\n        return array;\n      } else {\n        return obj;\n      }\n    };\n    var each$i = function (o, cb, s) {\n      var n, l;\n      if (!o) {\n        return false;\n      }\n      s = s || o;\n      if (o.length !== undefined) {\n        for (n = 0, l = o.length; n < l; n++) {\n          if (cb.call(s, o[n], n, o) === false) {\n            return false;\n          }\n        }\n      } else {\n        for (n in o) {\n          if (has$2(o, n)) {\n            if (cb.call(s, o[n], n, o) === false) {\n              return false;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    var map$1 = function (array, callback) {\n      var out = [];\n      each$i(array, function (item, index) {\n        out.push(callback(item, index, array));\n      });\n      return out;\n    };\n    var filter$2 = function (a, f) {\n      var o = [];\n      each$i(a, function (v, index) {\n        if (!f || f(v, index, a)) {\n          o.push(v);\n        }\n      });\n      return o;\n    };\n    var indexOf$1 = function (a, v) {\n      if (a) {\n        for (var i = 0, l = a.length; i < l; i++) {\n          if (a[i] === v) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    var reduce = function (collection, iteratee, accumulator, thisArg) {\n      var acc = isUndefined(accumulator) ? collection[0] : accumulator;\n      for (var i = 0; i < collection.length; i++) {\n        acc = iteratee.call(thisArg, acc, collection[i], i);\n      }\n      return acc;\n    };\n    var findIndex$1 = function (array, predicate, thisArg) {\n      var i, l;\n      for (i = 0, l = array.length; i < l; i++) {\n        if (predicate.call(thisArg, array[i], i, array)) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var last$1 = function (collection) {\n      return collection[collection.length - 1];\n    };\n\n    var __assign = function () {\n      __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s)\n            if (Object.prototype.hasOwnProperty.call(s, p))\n              t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n    function __rest(s, e) {\n      var t = {};\n      for (var p in s)\n        if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n          t[p] = s[p];\n      if (s != null && typeof Object.getOwnPropertySymbols === 'function')\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n            t[p[i]] = s[p[i]];\n        }\n      return t;\n    }\n    function __spreadArray(to, from, pack) {\n      if (pack || arguments.length === 2)\n        for (var i = 0, l = from.length, ar; i < l; i++) {\n          if (ar || !(i in from)) {\n            if (!ar)\n              ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n          }\n        }\n      return to.concat(ar || Array.prototype.slice.call(from));\n    }\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var DeviceType = function (os, browser, userAgent, mediaMatch) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isMobile = os.isiOS() || os.isAndroid();\n      var isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      var isPhone = isiPhone || isMobile && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      var isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    var find$2 = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$4(group(1), group(2));\n    };\n    var detect$3 = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find$2(versionRegexes, cleanedAgent);\n    };\n    var unknown$2 = function () {\n      return nu$4(0, 0);\n    };\n    var nu$4 = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu$4,\n      detect: detect$3,\n      unknown: unknown$2\n    };\n\n    var detectBrowser$1 = function (browsers, userAgentData) {\n      return findMap(userAgentData.brands, function (uaBrand) {\n        var lcBrand = uaBrand.brand.toLowerCase();\n        return find$3(browsers, function (browser) {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(function (info) {\n          return {\n            current: info.name,\n            version: Version.nu(parseInt(uaBrand.version, 10), 0)\n          };\n        });\n      });\n    };\n\n    var detect$2 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find$3(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$2(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$2(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n\n    var removeFromStart = function (str, numChars) {\n      return str.substring(numChars);\n    };\n\n    var checkRange = function (str, substr, start) {\n      return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    };\n    var removeLeading = function (str, prefix) {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    var contains$2 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var startsWith = function (str, prefix) {\n      return checkRange(str, prefix, 0);\n    };\n    var blank = function (r) {\n      return function (s) {\n        return s.replace(r, '');\n      };\n    };\n    var trim$4 = blank(/^\\s+|\\s+$/g);\n    var lTrim = blank(/^\\s+/g);\n    var rTrim = blank(/\\s+$/g);\n    var isNotEmpty = function (s) {\n      return s.length > 0;\n    };\n    var isEmpty$3 = function (s) {\n      return !isNotEmpty(s);\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$2(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          return contains$2(uastring, 'edge/') && contains$2(uastring, 'chrome') && contains$2(uastring, 'safari') && contains$2(uastring, 'applewebkit');\n        }\n      },\n      {\n        name: 'Chrome',\n        brand: 'Chromium',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$2(uastring, 'chrome') && !contains$2(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$2(uastring, 'msie') || contains$2(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$2(uastring, 'safari') || contains$2(uastring, 'mobile/')) && contains$2(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$2(uastring, 'iphone') || contains$2(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('mac os x'),\n        versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      },\n      {\n        name: 'ChromeOS',\n        search: checkContains('cros'),\n        versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie$1 = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var unknown$1 = function () {\n      return nu$3({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$3 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isBrowser = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge),\n        isChrome: isBrowser(chrome),\n        isIE: isBrowser(ie$1),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$3,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie$1),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var chromeos = 'ChromeOS';\n    var unknown = function () {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$2 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      var isOS = function (name) {\n        return function () {\n          return current === name;\n        };\n      };\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isOSX: isOS(osx),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown,\n      nu: nu$2,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    var detect$1 = function (userAgent, userAgentDataOpt, mediaMatch) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = userAgentDataOpt.bind(function (userAgentData) {\n        return detectBrowser$1(browsers, userAgentData);\n      }).orThunk(function () {\n        return detectBrowser(browsers, userAgent);\n      }).fold(Browser.unknown, Browser.nu);\n      var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$1 };\n\n    var mediaMatch = function (query) {\n      return window.matchMedia(query).matches;\n    };\n    var platform$2 = cached(function () {\n      return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch);\n    });\n    var detect = function () {\n      return platform$2();\n    };\n\n    var userAgent = navigator.userAgent;\n    var platform$1 = detect();\n    var browser$4 = platform$1.browser;\n    var os = platform$1.os;\n    var deviceType = platform$1.deviceType;\n    var webkit = /WebKit/.test(userAgent) && !browser$4.isEdge();\n    var fileApi = 'FormData' in window && 'FileReader' in window && 'URL' in window && !!URL.createObjectURL;\n    var windowsPhone = userAgent.indexOf('Windows Phone') !== -1;\n    var Env = {\n      opera: browser$4.isOpera(),\n      webkit: webkit,\n      ie: browser$4.isIE() || browser$4.isEdge() ? browser$4.version.major : false,\n      gecko: browser$4.isFirefox(),\n      mac: os.isOSX() || os.isiOS(),\n      iOS: deviceType.isiPad() || deviceType.isiPhone(),\n      android: os.isAndroid(),\n      contentEditable: true,\n      transparentSrc: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n      caretAfter: true,\n      range: window.getSelection && 'Range' in window,\n      documentMode: browser$4.isIE() ? document.documentMode || 7 : 10,\n      fileApi: fileApi,\n      ceFalse: true,\n      cacheSuffix: null,\n      container: null,\n      experimentalShadowDom: false,\n      canHaveCSP: !browser$4.isIE(),\n      desktop: deviceType.isDesktop(),\n      windowsPhone: windowsPhone,\n      browser: {\n        current: browser$4.current,\n        version: browser$4.version,\n        isChrome: browser$4.isChrome,\n        isEdge: browser$4.isEdge,\n        isFirefox: browser$4.isFirefox,\n        isIE: browser$4.isIE,\n        isOpera: browser$4.isOpera,\n        isSafari: browser$4.isSafari\n      },\n      os: {\n        current: os.current,\n        version: os.version,\n        isAndroid: os.isAndroid,\n        isChromeOS: os.isChromeOS,\n        isFreeBSD: os.isFreeBSD,\n        isiOS: os.isiOS,\n        isLinux: os.isLinux,\n        isOSX: os.isOSX,\n        isSolaris: os.isSolaris,\n        isWindows: os.isWindows\n      },\n      deviceType: {\n        isDesktop: deviceType.isDesktop,\n        isiPad: deviceType.isiPad,\n        isiPhone: deviceType.isiPhone,\n        isPhone: deviceType.isPhone,\n        isTablet: deviceType.isTablet,\n        isTouch: deviceType.isTouch,\n        isWebView: deviceType.isWebView\n      }\n    };\n\n    var whiteSpaceRegExp$2 = /^\\s*|\\s*$/g;\n    var trim$3 = function (str) {\n      return str === null || str === undefined ? '' : ('' + str).replace(whiteSpaceRegExp$2, '');\n    };\n    var is$3 = function (obj, type) {\n      if (!type) {\n        return obj !== undefined;\n      }\n      if (type === 'array' && isArray(obj)) {\n        return true;\n      }\n      return typeof obj === type;\n    };\n    var makeMap$4 = function (items, delim, map) {\n      var i;\n      items = items || [];\n      delim = delim || ',';\n      if (typeof items === 'string') {\n        items = items.split(delim);\n      }\n      map = map || {};\n      i = items.length;\n      while (i--) {\n        map[items[i]] = {};\n      }\n      return map;\n    };\n    var hasOwnProperty = has$2;\n    var create$9 = function (s, p, root) {\n      var self = this;\n      var sp, scn, c, de = 0;\n      s = /^((static) )?([\\w.]+)(:([\\w.]+))?/.exec(s);\n      var cn = s[3].match(/(^|\\.)(\\w+)$/i)[2];\n      var ns = self.createNS(s[3].replace(/\\.\\w+$/, ''), root);\n      if (ns[cn]) {\n        return;\n      }\n      if (s[2] === 'static') {\n        ns[cn] = p;\n        if (this.onCreate) {\n          this.onCreate(s[2], s[3], ns[cn]);\n        }\n        return;\n      }\n      if (!p[cn]) {\n        p[cn] = function () {\n        };\n        de = 1;\n      }\n      ns[cn] = p[cn];\n      self.extend(ns[cn].prototype, p);\n      if (s[5]) {\n        sp = self.resolve(s[5]).prototype;\n        scn = s[5].match(/\\.(\\w+)$/i)[1];\n        c = ns[cn];\n        if (de) {\n          ns[cn] = function () {\n            return sp[scn].apply(this, arguments);\n          };\n        } else {\n          ns[cn] = function () {\n            this.parent = sp[scn];\n            return c.apply(this, arguments);\n          };\n        }\n        ns[cn].prototype[cn] = ns[cn];\n        self.each(sp, function (f, n) {\n          ns[cn].prototype[n] = sp[n];\n        });\n        self.each(p, function (f, n) {\n          if (sp[n]) {\n            ns[cn].prototype[n] = function () {\n              this.parent = sp[n];\n              return f.apply(this, arguments);\n            };\n          } else {\n            if (n !== cn) {\n              ns[cn].prototype[n] = f;\n            }\n          }\n        });\n      }\n      self.each(p.static, function (f, n) {\n        ns[cn][n] = f;\n      });\n    };\n    var extend$6 = function (obj) {\n      var exts = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        exts[_i - 1] = arguments[_i];\n      }\n      for (var i = 0; i < exts.length; i++) {\n        var ext = exts[i];\n        for (var name_1 in ext) {\n          if (has$2(ext, name_1)) {\n            var value = ext[name_1];\n            if (value !== undefined) {\n              obj[name_1] = value;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    var walk$3 = function (o, f, n, s) {\n      s = s || this;\n      if (o) {\n        if (n) {\n          o = o[n];\n        }\n        each$i(o, function (o, i) {\n          if (f.call(s, o, i, n) === false) {\n            return false;\n          }\n          walk$3(o, f, n, s);\n        });\n      }\n    };\n    var createNS = function (n, o) {\n      var i, v;\n      o = o || window;\n      n = n.split('.');\n      for (i = 0; i < n.length; i++) {\n        v = n[i];\n        if (!o[v]) {\n          o[v] = {};\n        }\n        o = o[v];\n      }\n      return o;\n    };\n    var resolve$3 = function (n, o) {\n      var i, l;\n      o = o || window;\n      n = n.split('.');\n      for (i = 0, l = n.length; i < l; i++) {\n        o = o[n[i]];\n        if (!o) {\n          break;\n        }\n      }\n      return o;\n    };\n    var explode$4 = function (s, d) {\n      if (!s || is$3(s, 'array')) {\n        return s;\n      }\n      return map$1(s.split(d || ','), trim$3);\n    };\n    var _addCacheSuffix = function (url) {\n      var cacheSuffix = Env.cacheSuffix;\n      if (cacheSuffix) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + cacheSuffix;\n      }\n      return url;\n    };\n    var Tools = {\n      trim: trim$3,\n      isArray: isArray,\n      is: is$3,\n      toArray: toArray$1,\n      makeMap: makeMap$4,\n      each: each$i,\n      map: map$1,\n      grep: filter$2,\n      inArray: indexOf$1,\n      hasOwn: hasOwnProperty,\n      extend: extend$6,\n      create: create$9,\n      walk: walk$3,\n      createNS: createNS,\n      resolve: resolve$3,\n      explode: explode$4,\n      _addCacheSuffix: _addCacheSuffix\n    };\n\n    var fromHtml$1 = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw new Error('HTML must have a single root node');\n      }\n      return fromDom$2(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom$2(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom$2(node);\n    };\n    var fromDom$2 = function (node) {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return { dom: node };\n    };\n    var fromPoint$1 = function (docElm, x, y) {\n      return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$2);\n    };\n    var SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom$2,\n      fromPoint: fromPoint$1\n    };\n\n    var toArray = function (target, f) {\n      var r = [];\n      var recurse = function (e) {\n        r.push(e);\n        return f(e);\n      };\n      var cur = f(target);\n      do {\n        cur = cur.bind(recurse);\n      } while (cur.isSome());\n      return r;\n    };\n\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_CONTAINED_BY);\n    };\n\n    var COMMENT = 8;\n    var DOCUMENT = 9;\n    var DOCUMENT_FRAGMENT = 11;\n    var ELEMENT = 1;\n    var TEXT = 3;\n\n    var is$2 = function (element, selector) {\n      var dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        var elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    };\n    var all = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$3(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    var one = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    var eq = function (e1, e2) {\n      return e1.dom === e2.dom;\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom;\n      var d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return documentPositionContainedBy(e1.dom, e2.dom);\n    };\n    var contains$1 = function (e1, e2) {\n      return detect().browser.isIE() ? ieContains(e1, e2) : regularContains(e1, e2);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var name = function (element) {\n      var r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    var type = function (element) {\n      return element.dom.nodeType;\n    };\n    var isType = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isComment$1 = function (element) {\n      return type(element) === COMMENT || name(element) === '#comment';\n    };\n    var isElement$6 = isType(ELEMENT);\n    var isText$8 = isType(TEXT);\n    var isDocument$2 = isType(DOCUMENT);\n    var isDocumentFragment$1 = isType(DOCUMENT_FRAGMENT);\n    var isTag = function (tag) {\n      return function (e) {\n        return isElement$6(e) && name(e) === tag;\n      };\n    };\n\n    var owner$1 = function (element) {\n      return SugarElement.fromDom(element.dom.ownerDocument);\n    };\n    var documentOrOwner = function (dos) {\n      return isDocument$2(dos) ? dos : owner$1(dos);\n    };\n    var documentElement = function (element) {\n      return SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    };\n    var defaultView = function (element) {\n      return SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    };\n    var parent = function (element) {\n      return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    };\n    var parents$1 = function (element, isRoot) {\n      var stop = isFunction(isRoot) ? isRoot : never;\n      var dom = element.dom;\n      var ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        var rawParent = dom.parentNode;\n        var p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    var siblings = function (element) {\n      var filterSelf = function (elements) {\n        return filter$4(elements, function (x) {\n          return !eq(element, x);\n        });\n      };\n      return parent(element).map(children).map(filterSelf).getOr([]);\n    };\n    var prevSibling = function (element) {\n      return Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    };\n    var nextSibling = function (element) {\n      return Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    };\n    var prevSiblings = function (element) {\n      return reverse(toArray(element, prevSibling));\n    };\n    var nextSiblings = function (element) {\n      return toArray(element, nextSibling);\n    };\n    var children = function (element) {\n      return map$3(element.dom.childNodes, SugarElement.fromDom);\n    };\n    var child$1 = function (element, index) {\n      var cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    var firstChild = function (element) {\n      return child$1(element, 0);\n    };\n    var lastChild = function (element) {\n      return child$1(element, element.dom.childNodes.length - 1);\n    };\n    var childNodesCount = function (element) {\n      return element.dom.childNodes.length;\n    };\n\n    var getHead = function (doc) {\n      var b = doc.dom.head;\n      if (b === null || b === undefined) {\n        throw new Error('Head is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    var isShadowRoot = function (dos) {\n      return isDocumentFragment$1(dos) && isNonNullable(dos.dom.host);\n    };\n    var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    var isSupported$1 = constant(supported);\n    var getRootNode = supported ? function (e) {\n      return SugarElement.fromDom(e.dom.getRootNode());\n    } : documentOrOwner;\n    var getStyleContainer = function (dos) {\n      return isShadowRoot(dos) ? dos : getHead(documentOrOwner(dos));\n    };\n    var getShadowRoot = function (e) {\n      var r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    var getShadowHost = function (e) {\n      return SugarElement.fromDom(e.dom.host);\n    };\n    var getOriginalEventTarget = function (event) {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        var el = SugarElement.fromDom(event.target);\n        if (isElement$6(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            var composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    var isOpenShadowHost = function (element) {\n      return isNonNullable(element.dom.shadowRoot);\n    };\n\n    var before$4 = function (marker, element) {\n      var parent$1 = parent(marker);\n      parent$1.each(function (v) {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    var after$3 = function (marker, element) {\n      var sibling = nextSibling(marker);\n      sibling.fold(function () {\n        var parent$1 = parent(marker);\n        parent$1.each(function (v) {\n          append$1(v, element);\n        });\n      }, function (v) {\n        before$4(v, element);\n      });\n    };\n    var prepend = function (parent, element) {\n      var firstChild$1 = firstChild(parent);\n      firstChild$1.fold(function () {\n        append$1(parent, element);\n      }, function (v) {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    var append$1 = function (parent, element) {\n      parent.dom.appendChild(element.dom);\n    };\n    var wrap$3 = function (element, wrapper) {\n      before$4(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    var before$3 = function (marker, elements) {\n      each$k(elements, function (x) {\n        before$4(marker, x);\n      });\n    };\n    var append = function (parent, elements) {\n      each$k(elements, function (x) {\n        append$1(parent, x);\n      });\n    };\n\n    var empty = function (element) {\n      element.dom.textContent = '';\n      each$k(children(element), function (rogue) {\n        remove$7(rogue);\n      });\n    };\n    var remove$7 = function (element) {\n      var dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    var unwrap = function (wrapper) {\n      var children$1 = children(wrapper);\n      if (children$1.length > 0) {\n        before$3(wrapper, children$1);\n      }\n      remove$7(wrapper);\n    };\n\n    var inBody = function (element) {\n      var dom = isText$8(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      var doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(function () {\n        return doc.body.contains(dom);\n      }, compose1(inBody, getShadowHost));\n    };\n\n    var r = function (left, top) {\n      var translate = function (x, y) {\n        return r(left + x, top + y);\n      };\n      return {\n        left: left,\n        top: top,\n        translate: translate\n      };\n    };\n    var SugarPosition = r;\n\n    var boxPosition = function (dom) {\n      var box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    var firstDefinedOrZero = function (a, b) {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    var absolute = function (element) {\n      var doc = element.dom.ownerDocument;\n      var body = doc.body;\n      var win = doc.defaultView;\n      var html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      var scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      var scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      var clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      var clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    var viewport = function (element) {\n      var dom = element.dom;\n      var doc = dom.ownerDocument;\n      var body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    var get$8 = function (_DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      var y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    var to = function (x, y, _DOC) {\n      var doc = _DOC !== undefined ? _DOC.dom : document;\n      var win = doc.defaultView;\n      if (win) {\n        win.scrollTo(x, y);\n      }\n    };\n    var intoView = function (element, alignToTop) {\n      var isSafari = detect().browser.isSafari();\n      if (isSafari && isFunction(element.dom.scrollIntoViewIfNeeded)) {\n        element.dom.scrollIntoViewIfNeeded(false);\n      } else {\n        element.dom.scrollIntoView(alignToTop);\n      }\n    };\n\n    var get$7 = function (_win) {\n      var win = _win === undefined ? window : _win;\n      if (detect().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win['visualViewport']);\n      }\n    };\n    var bounds = function (x, y, width, height) {\n      return {\n        x: x,\n        y: y,\n        width: width,\n        height: height,\n        right: x + width,\n        bottom: y + height\n      };\n    };\n    var getBounds = function (_win) {\n      var win = _win === undefined ? window : _win;\n      var doc = win.document;\n      var scroll = get$8(SugarElement.fromDom(doc));\n      return get$7(win).fold(function () {\n        var html = win.document.documentElement;\n        var width = html.clientWidth;\n        var height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, function (visualViewport) {\n        return bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height);\n      });\n    };\n\n    var isNodeType = function (type) {\n      return function (node) {\n        return !!node && node.nodeType === type;\n      };\n    };\n    var isRestrictedNode = function (node) {\n      return !!node && !Object.getPrototypeOf(node);\n    };\n    var isElement$5 = isNodeType(1);\n    var matchNodeNames = function (names) {\n      var lowercasedNames = names.map(function (s) {\n        return s.toLowerCase();\n      });\n      return function (node) {\n        if (node && node.nodeName) {\n          var nodeName = node.nodeName.toLowerCase();\n          return contains$3(lowercasedNames, nodeName);\n        }\n        return false;\n      };\n    };\n    var matchStyleValues = function (name, values) {\n      var items = values.toLowerCase().split(' ');\n      return function (node) {\n        if (isElement$5(node)) {\n          for (var i = 0; i < items.length; i++) {\n            var computed = node.ownerDocument.defaultView.getComputedStyle(node, null);\n            var cssValue = computed ? computed.getPropertyValue(name) : null;\n            if (cssValue === items[i]) {\n              return true;\n            }\n          }\n        }\n        return false;\n      };\n    };\n    var hasAttribute = function (attrName) {\n      return function (node) {\n        return isElement$5(node) && node.hasAttribute(attrName);\n      };\n    };\n    var hasAttributeValue = function (attrName, attrValue) {\n      return function (node) {\n        return isElement$5(node) && node.getAttribute(attrName) === attrValue;\n      };\n    };\n    var isBogus$2 = function (node) {\n      return isElement$5(node) && node.hasAttribute('data-mce-bogus');\n    };\n    var isBogusAll$1 = function (node) {\n      return isElement$5(node) && node.getAttribute('data-mce-bogus') === 'all';\n    };\n    var isTable$3 = function (node) {\n      return isElement$5(node) && node.tagName === 'TABLE';\n    };\n    var hasContentEditableState = function (value) {\n      return function (node) {\n        if (isElement$5(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var isTextareaOrInput = matchNodeNames([\n      'textarea',\n      'input'\n    ]);\n    var isText$7 = isNodeType(3);\n    var isComment = isNodeType(8);\n    var isDocument$1 = isNodeType(9);\n    var isDocumentFragment = isNodeType(11);\n    var isBr$5 = matchNodeNames(['br']);\n    var isImg = matchNodeNames(['img']);\n    var isContentEditableTrue$4 = hasContentEditableState('true');\n    var isContentEditableFalse$b = hasContentEditableState('false');\n    var isTableCell$5 = matchNodeNames([\n      'td',\n      'th'\n    ]);\n    var isMedia$2 = matchNodeNames([\n      'video',\n      'audio',\n      'object',\n      'embed'\n    ]);\n\n    var is$1 = function (lhs, rhs, comparator) {\n      if (comparator === void 0) {\n        comparator = tripleEquals;\n      }\n      return lhs.exists(function (left) {\n        return comparator(left, rhs);\n      });\n    };\n    var cat = function (arr) {\n      var r = [];\n      var push = function (x) {\n        r.push(x);\n      };\n      for (var i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    var lift2 = function (oa, ob, f) {\n      return oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    };\n    var lift3 = function (oa, ob, oc, f) {\n      return oa.isSome() && ob.isSome() && oc.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie(), oc.getOrDie())) : Optional.none();\n    };\n    var someIf = function (b, a) {\n      return b ? Optional.some(a) : Optional.none();\n    };\n\n    var isSupported = function (dom) {\n      return dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n    };\n\n    var rawSet = function (dom, key, value) {\n      if (isString$1(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set$1 = function (element, key, value) {\n      rawSet(element.dom, key, value);\n    };\n    var setAll$1 = function (element, attrs) {\n      var dom = element.dom;\n      each$j(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var get$6 = function (element, key) {\n      var v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    var getOpt = function (element, key) {\n      return Optional.from(get$6(element, key));\n    };\n    var has$1 = function (element, key) {\n      var dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    var remove$6 = function (element, key) {\n      element.dom.removeAttribute(key);\n    };\n    var clone$3 = function (element) {\n      return foldl(element.dom.attributes, function (acc, attr) {\n        acc[attr.name] = attr.value;\n        return acc;\n      }, {});\n    };\n\n    var internalSet = function (dom, property, value) {\n      if (!isString$1(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    var setAll = function (element, css) {\n      var dom = element.dom;\n      each$j(css, function (v, k) {\n        internalSet(dom, k, v);\n      });\n    };\n    var get$5 = function (element, property) {\n      var dom = element.dom;\n      var styles = window.getComputedStyle(dom);\n      var r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    var getUnsafeProperty = function (dom, property) {\n      return isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    };\n    var getRaw = function (element, property) {\n      var dom = element.dom;\n      var raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(function (r) {\n        return r.length > 0;\n      });\n    };\n    var getAllRaw = function (element) {\n      var css = {};\n      var dom = element.dom;\n      if (isSupported(dom)) {\n        for (var i = 0; i < dom.style.length; i++) {\n          var ruleName = dom.style.item(i);\n          css[ruleName] = dom.style[ruleName];\n        }\n      }\n      return css;\n    };\n    var reflow = function (e) {\n      return e.dom.offsetWidth;\n    };\n\n    var browser$3 = detect().browser;\n    var firstElement = function (nodes) {\n      return find$3(nodes, isElement$6);\n    };\n    var getTableCaptionDeltaY = function (elm) {\n      if (browser$3.isFirefox() && name(elm) === 'table') {\n        return firstElement(children(elm)).filter(function (elm) {\n          return name(elm) === 'caption';\n        }).bind(function (caption) {\n          return firstElement(nextSiblings(caption)).map(function (body) {\n            var bodyTop = body.dom.offsetTop;\n            var captionTop = caption.dom.offsetTop;\n            var captionHeight = caption.dom.offsetHeight;\n            return bodyTop <= captionTop ? -captionHeight : 0;\n          });\n        }).getOr(0);\n      } else {\n        return 0;\n      }\n    };\n    var hasChild = function (elm, child) {\n      return elm.children && contains$3(elm.children, child);\n    };\n    var getPos = function (body, elm, rootElm) {\n      var x = 0, y = 0;\n      var doc = body.ownerDocument;\n      rootElm = rootElm ? rootElm : body;\n      if (elm) {\n        if (rootElm === body && elm.getBoundingClientRect && get$5(SugarElement.fromDom(body), 'position') === 'static') {\n          var pos = elm.getBoundingClientRect();\n          x = pos.left + (doc.documentElement.scrollLeft || body.scrollLeft) - doc.documentElement.clientLeft;\n          y = pos.top + (doc.documentElement.scrollTop || body.scrollTop) - doc.documentElement.clientTop;\n          return {\n            x: x,\n            y: y\n          };\n        }\n        var offsetParent = elm;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          var castOffsetParent = offsetParent;\n          x += castOffsetParent.offsetLeft || 0;\n          y += castOffsetParent.offsetTop || 0;\n          offsetParent = castOffsetParent.offsetParent;\n        }\n        offsetParent = elm.parentNode;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          x -= offsetParent.scrollLeft || 0;\n          y -= offsetParent.scrollTop || 0;\n          offsetParent = offsetParent.parentNode;\n        }\n        y += getTableCaptionDeltaY(SugarElement.fromDom(elm));\n      }\n      return {\n        x: x,\n        y: y\n      };\n    };\n\n    var exports$1 = {}, module$1 = { exports: exports$1 };\n    (function (define, exports, module, require) {\n      (function (global, factory) {\n        typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EphoxContactWrapper = factory());\n      }(this, function () {\n        var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n        var promise = { exports: {} };\n        (function (module) {\n          (function (root) {\n            var setTimeoutFunc = setTimeout;\n            function noop() {\n            }\n            function bind(fn, thisArg) {\n              return function () {\n                fn.apply(thisArg, arguments);\n              };\n            }\n            function Promise(fn) {\n              if (typeof this !== 'object')\n                throw new TypeError('Promises must be constructed via new');\n              if (typeof fn !== 'function')\n                throw new TypeError('not a function');\n              this._state = 0;\n              this._handled = false;\n              this._value = undefined;\n              this._deferreds = [];\n              doResolve(fn, this);\n            }\n            function handle(self, deferred) {\n              while (self._state === 3) {\n                self = self._value;\n              }\n              if (self._state === 0) {\n                self._deferreds.push(deferred);\n                return;\n              }\n              self._handled = true;\n              Promise._immediateFn(function () {\n                var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n                if (cb === null) {\n                  (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n                  return;\n                }\n                var ret;\n                try {\n                  ret = cb(self._value);\n                } catch (e) {\n                  reject(deferred.promise, e);\n                  return;\n                }\n                resolve(deferred.promise, ret);\n              });\n            }\n            function resolve(self, newValue) {\n              try {\n                if (newValue === self)\n                  throw new TypeError('A promise cannot be resolved with itself.');\n                if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n                  var then = newValue.then;\n                  if (newValue instanceof Promise) {\n                    self._state = 3;\n                    self._value = newValue;\n                    finale(self);\n                    return;\n                  } else if (typeof then === 'function') {\n                    doResolve(bind(then, newValue), self);\n                    return;\n                  }\n                }\n                self._state = 1;\n                self._value = newValue;\n                finale(self);\n              } catch (e) {\n                reject(self, e);\n              }\n            }\n            function reject(self, newValue) {\n              self._state = 2;\n              self._value = newValue;\n              finale(self);\n            }\n            function finale(self) {\n              if (self._state === 2 && self._deferreds.length === 0) {\n                Promise._immediateFn(function () {\n                  if (!self._handled) {\n                    Promise._unhandledRejectionFn(self._value);\n                  }\n                });\n              }\n              for (var i = 0, len = self._deferreds.length; i < len; i++) {\n                handle(self, self._deferreds[i]);\n              }\n              self._deferreds = null;\n            }\n            function Handler(onFulfilled, onRejected, promise) {\n              this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n              this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n              this.promise = promise;\n            }\n            function doResolve(fn, self) {\n              var done = false;\n              try {\n                fn(function (value) {\n                  if (done)\n                    return;\n                  done = true;\n                  resolve(self, value);\n                }, function (reason) {\n                  if (done)\n                    return;\n                  done = true;\n                  reject(self, reason);\n                });\n              } catch (ex) {\n                if (done)\n                  return;\n                done = true;\n                reject(self, ex);\n              }\n            }\n            Promise.prototype['catch'] = function (onRejected) {\n              return this.then(null, onRejected);\n            };\n            Promise.prototype.then = function (onFulfilled, onRejected) {\n              var prom = new this.constructor(noop);\n              handle(this, new Handler(onFulfilled, onRejected, prom));\n              return prom;\n            };\n            Promise.all = function (arr) {\n              var args = Array.prototype.slice.call(arr);\n              return new Promise(function (resolve, reject) {\n                if (args.length === 0)\n                  return resolve([]);\n                var remaining = args.length;\n                function res(i, val) {\n                  try {\n                    if (val && (typeof val === 'object' || typeof val === 'function')) {\n                      var then = val.then;\n                      if (typeof then === 'function') {\n                        then.call(val, function (val) {\n                          res(i, val);\n                        }, reject);\n                        return;\n                      }\n                    }\n                    args[i] = val;\n                    if (--remaining === 0) {\n                      resolve(args);\n                    }\n                  } catch (ex) {\n                    reject(ex);\n                  }\n                }\n                for (var i = 0; i < args.length; i++) {\n                  res(i, args[i]);\n                }\n              });\n            };\n            Promise.resolve = function (value) {\n              if (value && typeof value === 'object' && value.constructor === Promise) {\n                return value;\n              }\n              return new Promise(function (resolve) {\n                resolve(value);\n              });\n            };\n            Promise.reject = function (value) {\n              return new Promise(function (resolve, reject) {\n                reject(value);\n              });\n            };\n            Promise.race = function (values) {\n              return new Promise(function (resolve, reject) {\n                for (var i = 0, len = values.length; i < len; i++) {\n                  values[i].then(resolve, reject);\n                }\n              });\n            };\n            Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) {\n              setImmediate(fn);\n            } : function (fn) {\n              setTimeoutFunc(fn, 0);\n            };\n            Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n              if (typeof console !== 'undefined' && console) {\n                console.warn('Possible Unhandled Promise Rejection:', err);\n              }\n            };\n            Promise._setImmediateFn = function _setImmediateFn(fn) {\n              Promise._immediateFn = fn;\n            };\n            Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {\n              Promise._unhandledRejectionFn = fn;\n            };\n            if (module.exports) {\n              module.exports = Promise;\n            } else if (!root.Promise) {\n              root.Promise = Promise;\n            }\n          }(commonjsGlobal));\n        }(promise));\n        var promisePolyfill = promise.exports;\n        var Global = function () {\n          if (typeof window !== 'undefined') {\n            return window;\n          } else {\n            return Function('return this;')();\n          }\n        }();\n        var promisePolyfill_1 = { boltExport: Global.Promise || promisePolyfill };\n        return promisePolyfill_1;\n      }));\n    }(undefined, exports$1, module$1));\n    var Promise$1 = module$1.exports.boltExport;\n\n    var nu$1 = function (baseFn) {\n      var data = Optional.none();\n      var callbacks = [];\n      var map = function (f) {\n        return nu$1(function (nCallback) {\n          get(function (data) {\n            nCallback(f(data));\n          });\n        });\n      };\n      var get = function (nCallback) {\n        if (isReady()) {\n          call(nCallback);\n        } else {\n          callbacks.push(nCallback);\n        }\n      };\n      var set = function (x) {\n        if (!isReady()) {\n          data = Optional.some(x);\n          run(callbacks);\n          callbacks = [];\n        }\n      };\n      var isReady = function () {\n        return data.isSome();\n      };\n      var run = function (cbs) {\n        each$k(cbs, call);\n      };\n      var call = function (cb) {\n        data.each(function (x) {\n          setTimeout(function () {\n            cb(x);\n          }, 0);\n        });\n      };\n      baseFn(set);\n      return {\n        get: get,\n        map: map,\n        isReady: isReady\n      };\n    };\n    var pure$1 = function (a) {\n      return nu$1(function (callback) {\n        callback(a);\n      });\n    };\n    var LazyValue = {\n      nu: nu$1,\n      pure: pure$1\n    };\n\n    var errorReporter = function (err) {\n      setTimeout(function () {\n        throw err;\n      }, 0);\n    };\n    var make = function (run) {\n      var get = function (callback) {\n        run().then(callback, errorReporter);\n      };\n      var map = function (fab) {\n        return make(function () {\n          return run().then(fab);\n        });\n      };\n      var bind = function (aFutureB) {\n        return make(function () {\n          return run().then(function (v) {\n            return aFutureB(v).toPromise();\n          });\n        });\n      };\n      var anonBind = function (futureB) {\n        return make(function () {\n          return run().then(function () {\n            return futureB.toPromise();\n          });\n        });\n      };\n      var toLazy = function () {\n        return LazyValue.nu(get);\n      };\n      var toCached = function () {\n        var cache = null;\n        return make(function () {\n          if (cache === null) {\n            cache = run();\n          }\n          return cache;\n        });\n      };\n      var toPromise = run;\n      return {\n        map: map,\n        bind: bind,\n        anonBind: anonBind,\n        toLazy: toLazy,\n        toCached: toCached,\n        toPromise: toPromise,\n        get: get\n      };\n    };\n    var nu = function (baseFn) {\n      return make(function () {\n        return new Promise$1(baseFn);\n      });\n    };\n    var pure = function (a) {\n      return make(function () {\n        return Promise$1.resolve(a);\n      });\n    };\n    var Future = {\n      nu: nu,\n      pure: pure\n    };\n\n    var par$1 = function (asyncValues, nu) {\n      return nu(function (callback) {\n        var r = [];\n        var count = 0;\n        var cb = function (i) {\n          return function (value) {\n            r[i] = value;\n            count++;\n            if (count >= asyncValues.length) {\n              callback(r);\n            }\n          };\n        };\n        if (asyncValues.length === 0) {\n          callback([]);\n        } else {\n          each$k(asyncValues, function (asyncValue, i) {\n            asyncValue.get(cb(i));\n          });\n        }\n      });\n    };\n\n    var par = function (futures) {\n      return par$1(futures, Future.nu);\n    };\n\n    var value$1 = function (o) {\n      var or = function (_opt) {\n        return value$1(o);\n      };\n      var orThunk = function (_f) {\n        return value$1(o);\n      };\n      var map = function (f) {\n        return value$1(f(o));\n      };\n      var mapError = function (_f) {\n        return value$1(o);\n      };\n      var each = function (f) {\n        f(o);\n      };\n      var bind = function (f) {\n        return f(o);\n      };\n      var fold = function (_, onValue) {\n        return onValue(o);\n      };\n      var exists = function (f) {\n        return f(o);\n      };\n      var forall = function (f) {\n        return f(o);\n      };\n      var toOptional = function () {\n        return Optional.some(o);\n      };\n      return {\n        isValue: always,\n        isError: never,\n        getOr: constant(o),\n        getOrThunk: constant(o),\n        getOrDie: constant(o),\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: each,\n        bind: bind,\n        exists: exists,\n        forall: forall,\n        toOptional: toOptional\n      };\n    };\n    var error = function (message) {\n      var getOrThunk = function (f) {\n        return f();\n      };\n      var getOrDie = function () {\n        return die(String(message))();\n      };\n      var or = identity;\n      var orThunk = function (f) {\n        return f();\n      };\n      var map = function (_f) {\n        return error(message);\n      };\n      var mapError = function (f) {\n        return error(f(message));\n      };\n      var bind = function (_f) {\n        return error(message);\n      };\n      var fold = function (onError, _) {\n        return onError(message);\n      };\n      return {\n        isValue: never,\n        isError: always,\n        getOr: identity,\n        getOrThunk: getOrThunk,\n        getOrDie: getOrDie,\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: noop,\n        bind: bind,\n        exists: never,\n        forall: always,\n        toOptional: Optional.none\n      };\n    };\n    var fromOption = function (opt, err) {\n      return opt.fold(function () {\n        return error(err);\n      }, value$1);\n    };\n    var Result = {\n      value: value$1,\n      error: error,\n      fromOption: fromOption\n    };\n\n    var generate$1 = function (cases) {\n      if (!isArray$1(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      var constructors = [];\n      var adt = {};\n      each$k(cases, function (acase, count) {\n        var keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        var key = keys$1[0];\n        var value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray$1(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          var argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          var match = function (branches) {\n            var branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            var allReqd = forall(constructors, function (reqKey) {\n              return contains$3(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: function () {\n              var foldArgs = [];\n              for (var _i = 0; _i < arguments.length; _i++) {\n                foldArgs[_i] = arguments[_i];\n              }\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              var target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match: match,\n            log: function (label) {\n              console.log(label, {\n                constructors: constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    var Adt = { generate: generate$1 };\n\n    Adt.generate([\n      {\n        bothErrors: [\n          'error1',\n          'error2'\n        ]\n      },\n      {\n        firstError: [\n          'error1',\n          'value2'\n        ]\n      },\n      {\n        secondError: [\n          'value1',\n          'error2'\n        ]\n      },\n      {\n        bothValues: [\n          'value1',\n          'value2'\n        ]\n      }\n    ]);\n    var unite = function (result) {\n      return result.fold(identity, identity);\n    };\n\n    function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    }\n\n    var ancestor$3 = function (scope, predicate, isRoot) {\n      var element = scope.dom;\n      var stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var closest$3 = function (scope, predicate, isRoot) {\n      var is = function (s, test) {\n        return test(s);\n      };\n      return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);\n    };\n    var sibling$2 = function (scope, predicate) {\n      var element = scope.dom;\n      if (!element.parentNode) {\n        return Optional.none();\n      }\n      return child(SugarElement.fromDom(element.parentNode), function (x) {\n        return !eq(scope, x) && predicate(x);\n      });\n    };\n    var child = function (scope, predicate) {\n      var pred = function (node) {\n        return predicate(SugarElement.fromDom(node));\n      };\n      var result = find$3(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n\n    var ancestor$2 = function (scope, selector, isRoot) {\n      return ancestor$3(scope, function (e) {\n        return is$2(e, selector);\n      }, isRoot);\n    };\n    var descendant = function (scope, selector) {\n      return one(selector, scope);\n    };\n    var closest$2 = function (scope, selector, isRoot) {\n      var is = function (element, selector) {\n        return is$2(element, selector);\n      };\n      return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);\n    };\n\n    var promiseObj = window.Promise ? window.Promise : Promise$1;\n\n    var requestAnimationFramePromise;\n    var requestAnimationFrame = function (callback, element) {\n      var requestAnimationFrameFunc = window.requestAnimationFrame;\n      var vendors = [\n        'ms',\n        'moz',\n        'webkit'\n      ];\n      var featurefill = function (cb) {\n        window.setTimeout(cb, 0);\n      };\n      for (var i = 0; i < vendors.length && !requestAnimationFrameFunc; i++) {\n        requestAnimationFrameFunc = window[vendors[i] + 'RequestAnimationFrame'];\n      }\n      if (!requestAnimationFrameFunc) {\n        requestAnimationFrameFunc = featurefill;\n      }\n      requestAnimationFrameFunc(callback, element);\n    };\n    var wrappedSetTimeout = function (callback, time) {\n      if (typeof time !== 'number') {\n        time = 0;\n      }\n      return setTimeout(callback, time);\n    };\n    var wrappedSetInterval = function (callback, time) {\n      if (typeof time !== 'number') {\n        time = 1;\n      }\n      return setInterval(callback, time);\n    };\n    var wrappedClearTimeout = function (id) {\n      return clearTimeout(id);\n    };\n    var wrappedClearInterval = function (id) {\n      return clearInterval(id);\n    };\n    var debounce = function (callback, time) {\n      var timer;\n      var func = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        clearTimeout(timer);\n        timer = wrappedSetTimeout(function () {\n          callback.apply(this, args);\n        }, time);\n      };\n      func.stop = function () {\n        clearTimeout(timer);\n      };\n      return func;\n    };\n    var Delay = {\n      requestAnimationFrame: function (callback, element) {\n        if (requestAnimationFramePromise) {\n          requestAnimationFramePromise.then(callback);\n          return;\n        }\n        requestAnimationFramePromise = new promiseObj(function (resolve) {\n          if (!element) {\n            element = document.body;\n          }\n          requestAnimationFrame(resolve, element);\n        }).then(callback);\n      },\n      setTimeout: wrappedSetTimeout,\n      setInterval: wrappedSetInterval,\n      setEditorTimeout: function (editor, callback, time) {\n        return wrappedSetTimeout(function () {\n          if (!editor.removed) {\n            callback();\n          }\n        }, time);\n      },\n      setEditorInterval: function (editor, callback, time) {\n        var timer = wrappedSetInterval(function () {\n          if (!editor.removed) {\n            callback();\n          } else {\n            clearInterval(timer);\n          }\n        }, time);\n        return timer;\n      },\n      debounce: debounce,\n      throttle: debounce,\n      clearInterval: wrappedClearInterval,\n      clearTimeout: wrappedClearTimeout\n    };\n\n    var StyleSheetLoader = function (documentOrShadowRoot, settings) {\n      if (settings === void 0) {\n        settings = {};\n      }\n      var idCount = 0;\n      var loadedStates = {};\n      var edos = SugarElement.fromDom(documentOrShadowRoot);\n      var doc = documentOrOwner(edos);\n      var maxLoadTime = settings.maxLoadTime || 5000;\n      var _setReferrerPolicy = function (referrerPolicy) {\n        settings.referrerPolicy = referrerPolicy;\n      };\n      var addStyle = function (element) {\n        append$1(getStyleContainer(edos), element);\n      };\n      var removeStyle = function (id) {\n        var styleContainer = getStyleContainer(edos);\n        descendant(styleContainer, '#' + id).each(remove$7);\n      };\n      var getOrCreateState = function (url) {\n        return get$9(loadedStates, url).getOrThunk(function () {\n          return {\n            id: 'mce-u' + idCount++,\n            passed: [],\n            failed: [],\n            count: 0\n          };\n        });\n      };\n      var load = function (url, success, failure) {\n        var link;\n        var urlWithSuffix = Tools._addCacheSuffix(url);\n        var state = getOrCreateState(urlWithSuffix);\n        loadedStates[urlWithSuffix] = state;\n        state.count++;\n        var resolve = function (callbacks, status) {\n          var i = callbacks.length;\n          while (i--) {\n            callbacks[i]();\n          }\n          state.status = status;\n          state.passed = [];\n          state.failed = [];\n          if (link) {\n            link.onload = null;\n            link.onerror = null;\n            link = null;\n          }\n        };\n        var passed = function () {\n          return resolve(state.passed, 2);\n        };\n        var failed = function () {\n          return resolve(state.failed, 3);\n        };\n        var wait = function (testCallback, waitCallback) {\n          if (!testCallback()) {\n            if (Date.now() - startTime < maxLoadTime) {\n              Delay.setTimeout(waitCallback);\n            } else {\n              failed();\n            }\n          }\n        };\n        var waitForWebKitLinkLoaded = function () {\n          wait(function () {\n            var styleSheets = documentOrShadowRoot.styleSheets;\n            var i = styleSheets.length;\n            while (i--) {\n              var styleSheet = styleSheets[i];\n              var owner = styleSheet.ownerNode;\n              if (owner && owner.id === link.id) {\n                passed();\n                return true;\n              }\n            }\n            return false;\n          }, waitForWebKitLinkLoaded);\n        };\n        if (success) {\n          state.passed.push(success);\n        }\n        if (failure) {\n          state.failed.push(failure);\n        }\n        if (state.status === 1) {\n          return;\n        }\n        if (state.status === 2) {\n          passed();\n          return;\n        }\n        if (state.status === 3) {\n          failed();\n          return;\n        }\n        state.status = 1;\n        var linkElem = SugarElement.fromTag('link', doc.dom);\n        setAll$1(linkElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        var startTime = Date.now();\n        if (settings.contentCssCors) {\n          set$1(linkElem, 'crossOrigin', 'anonymous');\n        }\n        if (settings.referrerPolicy) {\n          set$1(linkElem, 'referrerpolicy', settings.referrerPolicy);\n        }\n        link = linkElem.dom;\n        link.onload = waitForWebKitLinkLoaded;\n        link.onerror = failed;\n        addStyle(linkElem);\n        set$1(linkElem, 'href', urlWithSuffix);\n      };\n      var loadF = function (url) {\n        return Future.nu(function (resolve) {\n          load(url, compose(resolve, constant(Result.value(url))), compose(resolve, constant(Result.error(url))));\n        });\n      };\n      var loadAll = function (urls, success, failure) {\n        par(map$3(urls, loadF)).get(function (result) {\n          var parts = partition(result, function (r) {\n            return r.isValue();\n          });\n          if (parts.fail.length > 0) {\n            failure(parts.fail.map(unite));\n          } else {\n            success(parts.pass.map(unite));\n          }\n        });\n      };\n      var unload = function (url) {\n        var urlWithSuffix = Tools._addCacheSuffix(url);\n        get$9(loadedStates, urlWithSuffix).each(function (state) {\n          var count = --state.count;\n          if (count === 0) {\n            delete loadedStates[urlWithSuffix];\n            removeStyle(state.id);\n          }\n        });\n      };\n      var unloadAll = function (urls) {\n        each$k(urls, function (url) {\n          unload(url);\n        });\n      };\n      return {\n        load: load,\n        loadAll: loadAll,\n        unload: unload,\n        unloadAll: unloadAll,\n        _setReferrerPolicy: _setReferrerPolicy\n      };\n    };\n\n    var create$8 = function () {\n      var map = new WeakMap();\n      var forElement = function (referenceElement, settings) {\n        var root = getRootNode(referenceElement);\n        var rootDom = root.dom;\n        return Optional.from(map.get(rootDom)).getOrThunk(function () {\n          var sl = StyleSheetLoader(rootDom, settings);\n          map.set(rootDom, sl);\n          return sl;\n        });\n      };\n      return { forElement: forElement };\n    };\n    var instance = create$8();\n\n    var DomTreeWalker = function () {\n      function DomTreeWalker(startNode, rootNode) {\n        this.node = startNode;\n        this.rootNode = rootNode;\n        this.current = this.current.bind(this);\n        this.next = this.next.bind(this);\n        this.prev = this.prev.bind(this);\n        this.prev2 = this.prev2.bind(this);\n      }\n      DomTreeWalker.prototype.current = function () {\n        return this.node;\n      };\n      DomTreeWalker.prototype.next = function (shallow) {\n        this.node = this.findSibling(this.node, 'firstChild', 'nextSibling', shallow);\n        return this.node;\n      };\n      DomTreeWalker.prototype.prev = function (shallow) {\n        this.node = this.findSibling(this.node, 'lastChild', 'previousSibling', shallow);\n        return this.node;\n      };\n      DomTreeWalker.prototype.prev2 = function (shallow) {\n        this.node = this.findPreviousNode(this.node, 'lastChild', 'previousSibling', shallow);\n        return this.node;\n      };\n      DomTreeWalker.prototype.findSibling = function (node, startName, siblingName, shallow) {\n        var sibling, parent;\n        if (node) {\n          if (!shallow && node[startName]) {\n            return node[startName];\n          }\n          if (node !== this.rootNode) {\n            sibling = node[siblingName];\n            if (sibling) {\n              return sibling;\n            }\n            for (parent = node.parentNode; parent && parent !== this.rootNode; parent = parent.parentNode) {\n              sibling = parent[siblingName];\n              if (sibling) {\n                return sibling;\n              }\n            }\n          }\n        }\n      };\n      DomTreeWalker.prototype.findPreviousNode = function (node, startName, siblingName, shallow) {\n        var sibling, parent, child;\n        if (node) {\n          sibling = node[siblingName];\n          if (this.rootNode && sibling === this.rootNode) {\n            return;\n          }\n          if (sibling) {\n            if (!shallow) {\n              for (child = sibling[startName]; child; child = child[startName]) {\n                if (!child[startName]) {\n                  return child;\n                }\n              }\n            }\n            return sibling;\n          }\n          parent = node.parentNode;\n          if (parent && parent !== this.rootNode) {\n            return parent;\n          }\n        }\n      };\n      return DomTreeWalker;\n    }();\n\n    var blocks = [\n      'article',\n      'aside',\n      'details',\n      'div',\n      'dt',\n      'figcaption',\n      'footer',\n      'form',\n      'fieldset',\n      'header',\n      'hgroup',\n      'html',\n      'main',\n      'nav',\n      'section',\n      'summary',\n      'body',\n      'p',\n      'dl',\n      'multicol',\n      'dd',\n      'figure',\n      'address',\n      'center',\n      'blockquote',\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'listing',\n      'xmp',\n      'pre',\n      'plaintext',\n      'menu',\n      'dir',\n      'ul',\n      'ol',\n      'li',\n      'hr',\n      'table',\n      'tbody',\n      'thead',\n      'tfoot',\n      'th',\n      'tr',\n      'td',\n      'caption'\n    ];\n    var tableCells = [\n      'td',\n      'th'\n    ];\n    var tableSections = [\n      'thead',\n      'tbody',\n      'tfoot'\n    ];\n    var textBlocks = [\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'p',\n      'div',\n      'address',\n      'pre',\n      'form',\n      'blockquote',\n      'center',\n      'dir',\n      'fieldset',\n      'header',\n      'footer',\n      'article',\n      'section',\n      'hgroup',\n      'aside',\n      'nav',\n      'figure'\n    ];\n    var headings = [\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6'\n    ];\n    var listItems$1 = [\n      'li',\n      'dd',\n      'dt'\n    ];\n    var lists = [\n      'ul',\n      'ol',\n      'dl'\n    ];\n    var wsElements = [\n      'pre',\n      'script',\n      'textarea',\n      'style'\n    ];\n    var lazyLookup = function (items) {\n      var lookup;\n      return function (node) {\n        lookup = lookup ? lookup : mapToObject(items, always);\n        return has$2(lookup, name(node));\n      };\n    };\n    var isHeading = lazyLookup(headings);\n    var isBlock$2 = lazyLookup(blocks);\n    var isTable$2 = function (node) {\n      return name(node) === 'table';\n    };\n    var isInline$1 = function (node) {\n      return isElement$6(node) && !isBlock$2(node);\n    };\n    var isBr$4 = function (node) {\n      return isElement$6(node) && name(node) === 'br';\n    };\n    var isTextBlock$2 = lazyLookup(textBlocks);\n    var isList = lazyLookup(lists);\n    var isListItem = lazyLookup(listItems$1);\n    var isTableSection = lazyLookup(tableSections);\n    var isTableCell$4 = lazyLookup(tableCells);\n    var isWsPreserveElement = lazyLookup(wsElements);\n\n    var ancestor$1 = function (scope, selector, isRoot) {\n      return ancestor$2(scope, selector, isRoot).isSome();\n    };\n\n    var zeroWidth = '\\uFEFF';\n    var nbsp = '\\xA0';\n    var isZwsp$1 = function (char) {\n      return char === zeroWidth;\n    };\n    var removeZwsp = function (s) {\n      return s.replace(/\\uFEFF/g, '');\n    };\n\n    var ZWSP$1 = zeroWidth;\n    var isZwsp = isZwsp$1;\n    var trim$2 = removeZwsp;\n\n    var isElement$4 = isElement$5;\n    var isText$6 = isText$7;\n    var isCaretContainerBlock$1 = function (node) {\n      if (isText$6(node)) {\n        node = node.parentNode;\n      }\n      return isElement$4(node) && node.hasAttribute('data-mce-caret');\n    };\n    var isCaretContainerInline = function (node) {\n      return isText$6(node) && isZwsp(node.data);\n    };\n    var isCaretContainer$2 = function (node) {\n      return isCaretContainerBlock$1(node) || isCaretContainerInline(node);\n    };\n    var hasContent = function (node) {\n      return node.firstChild !== node.lastChild || !isBr$5(node.firstChild);\n    };\n    var insertInline$1 = function (node, before) {\n      var doc = node.ownerDocument;\n      var textNode = doc.createTextNode(ZWSP$1);\n      var parentNode = node.parentNode;\n      if (!before) {\n        var sibling = node.nextSibling;\n        if (isText$6(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (startsWithCaretContainer$1(sibling)) {\n            sibling.splitText(1);\n            return sibling;\n          }\n        }\n        if (node.nextSibling) {\n          parentNode.insertBefore(textNode, node.nextSibling);\n        } else {\n          parentNode.appendChild(textNode);\n        }\n      } else {\n        var sibling = node.previousSibling;\n        if (isText$6(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (endsWithCaretContainer$1(sibling)) {\n            return sibling.splitText(sibling.data.length - 1);\n          }\n        }\n        parentNode.insertBefore(textNode, node);\n      }\n      return textNode;\n    };\n    var isBeforeInline = function (pos) {\n      var container = pos.container();\n      if (!isText$7(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset()) === ZWSP$1 || pos.isAtStart() && isCaretContainerInline(container.previousSibling);\n    };\n    var isAfterInline = function (pos) {\n      var container = pos.container();\n      if (!isText$7(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset() - 1) === ZWSP$1 || pos.isAtEnd() && isCaretContainerInline(container.nextSibling);\n    };\n    var createBogusBr = function () {\n      var br = document.createElement('br');\n      br.setAttribute('data-mce-bogus', '1');\n      return br;\n    };\n    var insertBlock$1 = function (blockName, node, before) {\n      var doc = node.ownerDocument;\n      var blockNode = doc.createElement(blockName);\n      blockNode.setAttribute('data-mce-caret', before ? 'before' : 'after');\n      blockNode.setAttribute('data-mce-bogus', 'all');\n      blockNode.appendChild(createBogusBr());\n      var parentNode = node.parentNode;\n      if (!before) {\n        if (node.nextSibling) {\n          parentNode.insertBefore(blockNode, node.nextSibling);\n        } else {\n          parentNode.appendChild(blockNode);\n        }\n      } else {\n        parentNode.insertBefore(blockNode, node);\n      }\n      return blockNode;\n    };\n    var startsWithCaretContainer$1 = function (node) {\n      return isText$6(node) && node.data[0] === ZWSP$1;\n    };\n    var endsWithCaretContainer$1 = function (node) {\n      return isText$6(node) && node.data[node.data.length - 1] === ZWSP$1;\n    };\n    var trimBogusBr = function (elm) {\n      var brs = elm.getElementsByTagName('br');\n      var lastBr = brs[brs.length - 1];\n      if (isBogus$2(lastBr)) {\n        lastBr.parentNode.removeChild(lastBr);\n      }\n    };\n    var showCaretContainerBlock = function (caretContainer) {\n      if (caretContainer && caretContainer.hasAttribute('data-mce-caret')) {\n        trimBogusBr(caretContainer);\n        caretContainer.removeAttribute('data-mce-caret');\n        caretContainer.removeAttribute('data-mce-bogus');\n        caretContainer.removeAttribute('style');\n        caretContainer.removeAttribute('_moz_abspos');\n        return caretContainer;\n      }\n      return null;\n    };\n    var isRangeInCaretContainerBlock = function (range) {\n      return isCaretContainerBlock$1(range.startContainer);\n    };\n\n    var isContentEditableTrue$3 = isContentEditableTrue$4;\n    var isContentEditableFalse$a = isContentEditableFalse$b;\n    var isBr$3 = isBr$5;\n    var isText$5 = isText$7;\n    var isInvalidTextElement = matchNodeNames([\n      'script',\n      'style',\n      'textarea'\n    ]);\n    var isAtomicInline = matchNodeNames([\n      'img',\n      'input',\n      'textarea',\n      'hr',\n      'iframe',\n      'video',\n      'audio',\n      'object',\n      'embed'\n    ]);\n    var isTable$1 = matchNodeNames(['table']);\n    var isCaretContainer$1 = isCaretContainer$2;\n    var isCaretCandidate$3 = function (node) {\n      if (isCaretContainer$1(node)) {\n        return false;\n      }\n      if (isText$5(node)) {\n        return !isInvalidTextElement(node.parentNode);\n      }\n      return isAtomicInline(node) || isBr$3(node) || isTable$1(node) || isNonUiContentEditableFalse(node);\n    };\n    var isUnselectable = function (node) {\n      return isElement$5(node) && node.getAttribute('unselectable') === 'true';\n    };\n    var isNonUiContentEditableFalse = function (node) {\n      return isUnselectable(node) === false && isContentEditableFalse$a(node);\n    };\n    var isInEditable = function (node, root) {\n      for (node = node.parentNode; node && node !== root; node = node.parentNode) {\n        if (isNonUiContentEditableFalse(node)) {\n          return false;\n        }\n        if (isContentEditableTrue$3(node)) {\n          return true;\n        }\n      }\n      return true;\n    };\n    var isAtomicContentEditableFalse = function (node) {\n      if (!isNonUiContentEditableFalse(node)) {\n        return false;\n      }\n      return foldl(from(node.getElementsByTagName('*')), function (result, elm) {\n        return result || isContentEditableTrue$3(elm);\n      }, false) !== true;\n    };\n    var isAtomic$1 = function (node) {\n      return isAtomicInline(node) || isAtomicContentEditableFalse(node);\n    };\n    var isEditableCaretCandidate$1 = function (node, root) {\n      return isCaretCandidate$3(node) && isInEditable(node, root);\n    };\n\n    var whiteSpaceRegExp$1 = /^[ \\t\\r\\n]*$/;\n    var isWhitespaceText = function (text) {\n      return whiteSpaceRegExp$1.test(text);\n    };\n\n    var hasWhitespacePreserveParent = function (node, rootNode) {\n      var rootElement = SugarElement.fromDom(rootNode);\n      var startNode = SugarElement.fromDom(node);\n      return ancestor$1(startNode, 'pre,code', curry(eq, rootElement));\n    };\n    var isWhitespace = function (node, rootNode) {\n      return isText$7(node) && isWhitespaceText(node.data) && hasWhitespacePreserveParent(node, rootNode) === false;\n    };\n    var isNamedAnchor = function (node) {\n      return isElement$5(node) && node.nodeName === 'A' && !node.hasAttribute('href') && (node.hasAttribute('name') || node.hasAttribute('id'));\n    };\n    var isContent$1 = function (node, rootNode) {\n      return isCaretCandidate$3(node) && isWhitespace(node, rootNode) === false || isNamedAnchor(node) || isBookmark(node);\n    };\n    var isBookmark = hasAttribute('data-mce-bookmark');\n    var isBogus$1 = hasAttribute('data-mce-bogus');\n    var isBogusAll = hasAttributeValue('data-mce-bogus', 'all');\n    var isEmptyNode = function (targetNode, skipBogus) {\n      var brCount = 0;\n      if (isContent$1(targetNode, targetNode)) {\n        return false;\n      } else {\n        var node = targetNode.firstChild;\n        if (!node) {\n          return true;\n        }\n        var walker = new DomTreeWalker(node, targetNode);\n        do {\n          if (skipBogus) {\n            if (isBogusAll(node)) {\n              node = walker.next(true);\n              continue;\n            }\n            if (isBogus$1(node)) {\n              node = walker.next();\n              continue;\n            }\n          }\n          if (isBr$5(node)) {\n            brCount++;\n            node = walker.next();\n            continue;\n          }\n          if (isContent$1(node, targetNode)) {\n            return false;\n          }\n          node = walker.next();\n        } while (node);\n        return brCount <= 1;\n      }\n    };\n    var isEmpty$2 = function (elm, skipBogus) {\n      if (skipBogus === void 0) {\n        skipBogus = true;\n      }\n      return isEmptyNode(elm.dom, skipBogus);\n    };\n\n    var isSpan = function (node) {\n      return node.nodeName.toLowerCase() === 'span';\n    };\n    var isInlineContent = function (node, root) {\n      return isNonNullable(node) && (isContent$1(node, root) || isInline$1(SugarElement.fromDom(node)));\n    };\n    var surroundedByInlineContent = function (node, root) {\n      var prev = new DomTreeWalker(node, root).prev(false);\n      var next = new DomTreeWalker(node, root).next(false);\n      var prevIsInline = isUndefined(prev) || isInlineContent(prev, root);\n      var nextIsInline = isUndefined(next) || isInlineContent(next, root);\n      return prevIsInline && nextIsInline;\n    };\n    var isBookmarkNode$2 = function (node) {\n      return isSpan(node) && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n    var isKeepTextNode = function (node, root) {\n      return isText$7(node) && node.data.length > 0 && surroundedByInlineContent(node, root);\n    };\n    var isKeepElement = function (node) {\n      return isElement$5(node) ? node.childNodes.length > 0 : false;\n    };\n    var isDocument = function (node) {\n      return isDocumentFragment(node) || isDocument$1(node);\n    };\n    var trimNode = function (dom, node, root) {\n      var rootNode = root || node;\n      if (isElement$5(node) && isBookmarkNode$2(node)) {\n        return node;\n      }\n      var children = node.childNodes;\n      for (var i = children.length - 1; i >= 0; i--) {\n        trimNode(dom, children[i], rootNode);\n      }\n      if (isElement$5(node)) {\n        var currentChildren = node.childNodes;\n        if (currentChildren.length === 1 && isBookmarkNode$2(currentChildren[0])) {\n          node.parentNode.insertBefore(currentChildren[0], node);\n        }\n      }\n      if (!isDocument(node) && !isContent$1(node, rootNode) && !isKeepElement(node) && !isKeepTextNode(node, rootNode)) {\n        dom.remove(node);\n      }\n      return node;\n    };\n\n    var makeMap$3 = Tools.makeMap;\n    var attrsCharsRegExp = /[&<>\\\"\\u0060\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    var textCharsRegExp = /[<>&\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    var rawCharsRegExp = /[<>&\\\"\\']/g;\n    var entityRegExp = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi;\n    var asciiMap = {\n      128: '\\u20AC',\n      130: '\\u201A',\n      131: '\\u0192',\n      132: '\\u201E',\n      133: '\\u2026',\n      134: '\\u2020',\n      135: '\\u2021',\n      136: '\\u02c6',\n      137: '\\u2030',\n      138: '\\u0160',\n      139: '\\u2039',\n      140: '\\u0152',\n      142: '\\u017d',\n      145: '\\u2018',\n      146: '\\u2019',\n      147: '\\u201C',\n      148: '\\u201D',\n      149: '\\u2022',\n      150: '\\u2013',\n      151: '\\u2014',\n      152: '\\u02DC',\n      153: '\\u2122',\n      154: '\\u0161',\n      155: '\\u203A',\n      156: '\\u0153',\n      158: '\\u017e',\n      159: '\\u0178'\n    };\n    var baseEntities = {\n      '\"': '&quot;',\n      '\\'': '&#39;',\n      '<': '&lt;',\n      '>': '&gt;',\n      '&': '&amp;',\n      '`': '&#96;'\n    };\n    var reverseEntities = {\n      '&lt;': '<',\n      '&gt;': '>',\n      '&amp;': '&',\n      '&quot;': '\"',\n      '&apos;': '\\''\n    };\n    var nativeDecode = function (text) {\n      var elm = SugarElement.fromTag('div').dom;\n      elm.innerHTML = text;\n      return elm.textContent || elm.innerText || text;\n    };\n    var buildEntitiesLookup = function (items, radix) {\n      var i, chr, entity;\n      var lookup = {};\n      if (items) {\n        items = items.split(',');\n        radix = radix || 10;\n        for (i = 0; i < items.length; i += 2) {\n          chr = String.fromCharCode(parseInt(items[i], radix));\n          if (!baseEntities[chr]) {\n            entity = '&' + items[i + 1] + ';';\n            lookup[chr] = entity;\n            lookup[entity] = chr;\n          }\n        }\n        return lookup;\n      }\n    };\n    var namedEntities = buildEntitiesLookup('50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' + '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' + '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' + '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' + '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' + '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' + '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' + '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' + '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' + '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' + 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' + 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' + 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' + 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' + 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' + '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' + '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' + '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' + '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' + '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' + 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' + 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' + 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' + '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' + '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro', 32);\n    var encodeRaw = function (text, attr) {\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n        return baseEntities[chr] || chr;\n      });\n    };\n    var encodeAllRaw = function (text) {\n      return ('' + text).replace(rawCharsRegExp, function (chr) {\n        return baseEntities[chr] || chr;\n      });\n    };\n    var encodeNumeric = function (text, attr) {\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n        if (chr.length > 1) {\n          return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n        }\n        return baseEntities[chr] || '&#' + chr.charCodeAt(0) + ';';\n      });\n    };\n    var encodeNamed = function (text, attr, entities) {\n      entities = entities || namedEntities;\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n        return baseEntities[chr] || entities[chr] || chr;\n      });\n    };\n    var getEncodeFunc = function (name, entities) {\n      var entitiesMap = buildEntitiesLookup(entities) || namedEntities;\n      var encodeNamedAndNumeric = function (text, attr) {\n        return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n          if (baseEntities[chr] !== undefined) {\n            return baseEntities[chr];\n          }\n          if (entitiesMap[chr] !== undefined) {\n            return entitiesMap[chr];\n          }\n          if (chr.length > 1) {\n            return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n          }\n          return '&#' + chr.charCodeAt(0) + ';';\n        });\n      };\n      var encodeCustomNamed = function (text, attr) {\n        return encodeNamed(text, attr, entitiesMap);\n      };\n      var nameMap = makeMap$3(name.replace(/\\+/g, ','));\n      if (nameMap.named && nameMap.numeric) {\n        return encodeNamedAndNumeric;\n      }\n      if (nameMap.named) {\n        if (entities) {\n          return encodeCustomNamed;\n        }\n        return encodeNamed;\n      }\n      if (nameMap.numeric) {\n        return encodeNumeric;\n      }\n      return encodeRaw;\n    };\n    var decode = function (text) {\n      return text.replace(entityRegExp, function (all, numeric) {\n        if (numeric) {\n          if (numeric.charAt(0).toLowerCase() === 'x') {\n            numeric = parseInt(numeric.substr(1), 16);\n          } else {\n            numeric = parseInt(numeric, 10);\n          }\n          if (numeric > 65535) {\n            numeric -= 65536;\n            return String.fromCharCode(55296 + (numeric >> 10), 56320 + (numeric & 1023));\n          }\n          return asciiMap[numeric] || String.fromCharCode(numeric);\n        }\n        return reverseEntities[all] || namedEntities[all] || nativeDecode(all);\n      });\n    };\n    var Entities = {\n      encodeRaw: encodeRaw,\n      encodeAllRaw: encodeAllRaw,\n      encodeNumeric: encodeNumeric,\n      encodeNamed: encodeNamed,\n      getEncodeFunc: getEncodeFunc,\n      decode: decode\n    };\n\n    var mapCache = {}, dummyObj = {};\n    var makeMap$2 = Tools.makeMap, each$h = Tools.each, extend$5 = Tools.extend, explode$3 = Tools.explode, inArray$2 = Tools.inArray;\n    var split$1 = function (items, delim) {\n      items = Tools.trim(items);\n      return items ? items.split(delim || ' ') : [];\n    };\n    var compileSchema = function (type) {\n      var schema = {};\n      var globalAttributes, blockContent;\n      var phrasingContent, flowContent, html4BlockContent, html4PhrasingContent;\n      var add = function (name, attributes, children) {\n        var ni, attributesOrder, element;\n        var arrayToMap = function (array, obj) {\n          var map = {};\n          var i, l;\n          for (i = 0, l = array.length; i < l; i++) {\n            map[array[i]] = obj || {};\n          }\n          return map;\n        };\n        children = children || [];\n        attributes = attributes || '';\n        if (typeof children === 'string') {\n          children = split$1(children);\n        }\n        var names = split$1(name);\n        ni = names.length;\n        while (ni--) {\n          attributesOrder = split$1([\n            globalAttributes,\n            attributes\n          ].join(' '));\n          element = {\n            attributes: arrayToMap(attributesOrder),\n            attributesOrder: attributesOrder,\n            children: arrayToMap(children, dummyObj)\n          };\n          schema[names[ni]] = element;\n        }\n      };\n      var addAttrs = function (name, attributes) {\n        var ni, schemaItem, i, l;\n        var names = split$1(name);\n        ni = names.length;\n        var attrs = split$1(attributes);\n        while (ni--) {\n          schemaItem = schema[names[ni]];\n          for (i = 0, l = attrs.length; i < l; i++) {\n            schemaItem.attributes[attrs[i]] = {};\n            schemaItem.attributesOrder.push(attrs[i]);\n          }\n        }\n      };\n      if (mapCache[type]) {\n        return mapCache[type];\n      }\n      globalAttributes = 'id accesskey class dir lang style tabindex title role';\n      blockContent = 'address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul';\n      phrasingContent = 'a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd ' + 'label map noscript object q s samp script select small span strong sub sup ' + 'textarea u var #text #comment';\n      if (type !== 'html4') {\n        globalAttributes += ' contenteditable contextmenu draggable dropzone ' + 'hidden spellcheck translate';\n        blockContent += ' article aside details dialog figure main header footer hgroup section nav';\n        phrasingContent += ' audio canvas command datalist mark meter output picture ' + 'progress time wbr video ruby bdi keygen';\n      }\n      if (type !== 'html5-strict') {\n        globalAttributes += ' xml:lang';\n        html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        phrasingContent = [\n          phrasingContent,\n          html4PhrasingContent\n        ].join(' ');\n        each$h(split$1(html4PhrasingContent), function (name) {\n          add(name, '', phrasingContent);\n        });\n        html4BlockContent = 'center dir isindex noframes';\n        blockContent = [\n          blockContent,\n          html4BlockContent\n        ].join(' ');\n        flowContent = [\n          blockContent,\n          phrasingContent\n        ].join(' ');\n        each$h(split$1(html4BlockContent), function (name) {\n          add(name, '', flowContent);\n        });\n      }\n      flowContent = flowContent || [\n        blockContent,\n        phrasingContent\n      ].join(' ');\n      add('html', 'manifest', 'head body');\n      add('head', '', 'base command link meta noscript script style title');\n      add('title hr noscript br');\n      add('base', 'href target');\n      add('link', 'href rel media hreflang type sizes hreflang');\n      add('meta', 'name http-equiv content charset');\n      add('style', 'media type scoped');\n      add('script', 'src async defer type charset');\n      add('body', 'onafterprint onbeforeprint onbeforeunload onblur onerror onfocus ' + 'onhashchange onload onmessage onoffline ononline onpagehide onpageshow ' + 'onpopstate onresize onscroll onstorage onunload', flowContent);\n      add('address dt dd div caption', '', flowContent);\n      add('h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn', '', phrasingContent);\n      add('blockquote', 'cite', flowContent);\n      add('ol', 'reversed start type', 'li');\n      add('ul', '', 'li');\n      add('li', 'value', flowContent);\n      add('dl', '', 'dt dd');\n      add('a', 'href target rel media hreflang type', phrasingContent);\n      add('q', 'cite', phrasingContent);\n      add('ins del', 'cite datetime', flowContent);\n      add('img', 'src sizes srcset alt usemap ismap width height');\n      add('iframe', 'src name width height', flowContent);\n      add('embed', 'src type width height');\n      add('object', 'data type typemustmatch name usemap form width height', [\n        flowContent,\n        'param'\n      ].join(' '));\n      add('param', 'name value');\n      add('map', 'name', [\n        flowContent,\n        'area'\n      ].join(' '));\n      add('area', 'alt coords shape href target rel media hreflang type');\n      add('table', 'border', 'caption colgroup thead tfoot tbody tr' + (type === 'html4' ? ' col' : ''));\n      add('colgroup', 'span', 'col');\n      add('col', 'span');\n      add('tbody thead tfoot', '', 'tr');\n      add('tr', '', 'td th');\n      add('td', 'colspan rowspan headers', flowContent);\n      add('th', 'colspan rowspan headers scope abbr', flowContent);\n      add('form', 'accept-charset action autocomplete enctype method name novalidate target', flowContent);\n      add('fieldset', 'disabled form name', [\n        flowContent,\n        'legend'\n      ].join(' '));\n      add('label', 'form for', phrasingContent);\n      add('input', 'accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate ' + 'formtarget height list max maxlength min multiple name pattern readonly required size src step type value width');\n      add('button', 'disabled form formaction formenctype formmethod formnovalidate formtarget name type value', type === 'html4' ? flowContent : phrasingContent);\n      add('select', 'disabled form multiple name required size', 'option optgroup');\n      add('optgroup', 'disabled label', 'option');\n      add('option', 'disabled label selected value');\n      add('textarea', 'cols dirname disabled form maxlength name readonly required rows wrap');\n      add('menu', 'type label', [\n        flowContent,\n        'li'\n      ].join(' '));\n      add('noscript', '', flowContent);\n      if (type !== 'html4') {\n        add('wbr');\n        add('ruby', '', [\n          phrasingContent,\n          'rt rp'\n        ].join(' '));\n        add('figcaption', '', flowContent);\n        add('mark rt rp summary bdi', '', phrasingContent);\n        add('canvas', 'width height', flowContent);\n        add('video', 'src crossorigin poster preload autoplay mediagroup loop ' + 'muted controls width height buffered', [\n          flowContent,\n          'track source'\n        ].join(' '));\n        add('audio', 'src crossorigin preload autoplay mediagroup loop muted controls ' + 'buffered volume', [\n          flowContent,\n          'track source'\n        ].join(' '));\n        add('picture', '', 'img source');\n        add('source', 'src srcset type media sizes');\n        add('track', 'kind src srclang label default');\n        add('datalist', '', [\n          phrasingContent,\n          'option'\n        ].join(' '));\n        add('article section nav aside main header footer', '', flowContent);\n        add('hgroup', '', 'h1 h2 h3 h4 h5 h6');\n        add('figure', '', [\n          flowContent,\n          'figcaption'\n        ].join(' '));\n        add('time', 'datetime', phrasingContent);\n        add('dialog', 'open', flowContent);\n        add('command', 'type label icon disabled checked radiogroup command');\n        add('output', 'for form name', phrasingContent);\n        add('progress', 'value max', phrasingContent);\n        add('meter', 'value min max low high optimum', phrasingContent);\n        add('details', 'open', [\n          flowContent,\n          'summary'\n        ].join(' '));\n        add('keygen', 'autofocus challenge disabled form keytype name');\n      }\n      if (type !== 'html5-strict') {\n        addAttrs('script', 'language xml:space');\n        addAttrs('style', 'xml:space');\n        addAttrs('object', 'declare classid code codebase codetype archive standby align border hspace vspace');\n        addAttrs('embed', 'align name hspace vspace');\n        addAttrs('param', 'valuetype type');\n        addAttrs('a', 'charset name rev shape coords');\n        addAttrs('br', 'clear');\n        addAttrs('applet', 'codebase archive code object alt name width height align hspace vspace');\n        addAttrs('img', 'name longdesc align border hspace vspace');\n        addAttrs('iframe', 'longdesc frameborder marginwidth marginheight scrolling align');\n        addAttrs('font basefont', 'size color face');\n        addAttrs('input', 'usemap align');\n        addAttrs('select');\n        addAttrs('textarea');\n        addAttrs('h1 h2 h3 h4 h5 h6 div p legend caption', 'align');\n        addAttrs('ul', 'type compact');\n        addAttrs('li', 'type');\n        addAttrs('ol dl menu dir', 'compact');\n        addAttrs('pre', 'width xml:space');\n        addAttrs('hr', 'align noshade size width');\n        addAttrs('isindex', 'prompt');\n        addAttrs('table', 'summary width frame rules cellspacing cellpadding align bgcolor');\n        addAttrs('col', 'width align char charoff valign');\n        addAttrs('colgroup', 'width align char charoff valign');\n        addAttrs('thead', 'align char charoff valign');\n        addAttrs('tr', 'align char charoff valign bgcolor');\n        addAttrs('th', 'axis align char charoff valign nowrap bgcolor width height');\n        addAttrs('form', 'accept');\n        addAttrs('td', 'abbr axis scope align char charoff valign nowrap bgcolor width height');\n        addAttrs('tfoot', 'align char charoff valign');\n        addAttrs('tbody', 'align char charoff valign');\n        addAttrs('area', 'nohref');\n        addAttrs('body', 'background bgcolor text link vlink alink');\n      }\n      if (type !== 'html4') {\n        addAttrs('input button select textarea', 'autofocus');\n        addAttrs('input textarea', 'placeholder');\n        addAttrs('a', 'download');\n        addAttrs('link script img', 'crossorigin');\n        addAttrs('img', 'loading');\n        addAttrs('iframe', 'sandbox seamless allowfullscreen loading');\n      }\n      each$h(split$1('a form meter progress dfn'), function (name) {\n        if (schema[name]) {\n          delete schema[name].children[name];\n        }\n      });\n      delete schema.caption.children.table;\n      delete schema.script;\n      mapCache[type] = schema;\n      return schema;\n    };\n    var compileElementMap = function (value, mode) {\n      var styles;\n      if (value) {\n        styles = {};\n        if (typeof value === 'string') {\n          value = { '*': value };\n        }\n        each$h(value, function (value, key) {\n          styles[key] = styles[key.toUpperCase()] = mode === 'map' ? makeMap$2(value, /[, ]/) : explode$3(value, /[, ]/);\n        });\n      }\n      return styles;\n    };\n    var Schema = function (settings) {\n      var elements = {};\n      var children = {};\n      var patternElements = [];\n      var customElementsMap = {}, specialElements = {};\n      var createLookupTable = function (option, defaultValue, extendWith) {\n        var value = settings[option];\n        if (!value) {\n          value = mapCache[option];\n          if (!value) {\n            value = makeMap$2(defaultValue, ' ', makeMap$2(defaultValue.toUpperCase(), ' '));\n            value = extend$5(value, extendWith);\n            mapCache[option] = value;\n          }\n        } else {\n          value = makeMap$2(value, /[, ]/, makeMap$2(value.toUpperCase(), /[, ]/));\n        }\n        return value;\n      };\n      settings = settings || {};\n      var schemaItems = compileSchema(settings.schema);\n      if (settings.verify_html === false) {\n        settings.valid_elements = '*[*]';\n      }\n      var validStyles = compileElementMap(settings.valid_styles);\n      var invalidStyles = compileElementMap(settings.invalid_styles, 'map');\n      var validClasses = compileElementMap(settings.valid_classes, 'map');\n      var whiteSpaceElementsMap = createLookupTable('whitespace_elements', 'pre script noscript style textarea video audio iframe object code');\n      var selfClosingElementsMap = createLookupTable('self_closing_elements', 'colgroup dd dt li option p td tfoot th thead tr');\n      var shortEndedElementsMap = createLookupTable('short_ended_elements', 'area base basefont br col frame hr img input isindex link ' + 'meta param embed source wbr track');\n      var boolAttrMap = createLookupTable('boolean_attributes', 'checked compact declare defer disabled ismap multiple nohref noresize ' + 'noshade nowrap readonly selected autoplay loop controls');\n      var nonEmptyOrMoveCaretBeforeOnEnter = 'td th iframe video audio object script code';\n      var nonEmptyElementsMap = createLookupTable('non_empty_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' pre', shortEndedElementsMap);\n      var moveCaretBeforeOnEnterElementsMap = createLookupTable('move_caret_before_on_enter_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' table', shortEndedElementsMap);\n      var textBlockElementsMap = createLookupTable('text_block_elements', 'h1 h2 h3 h4 h5 h6 p div address pre form ' + 'blockquote center dir fieldset header footer article section hgroup aside main nav figure');\n      var blockElementsMap = createLookupTable('block_elements', 'hr table tbody thead tfoot ' + 'th tr td li ol ul caption dl dt dd noscript menu isindex option ' + 'datalist select optgroup figcaption details summary', textBlockElementsMap);\n      var textInlineElementsMap = createLookupTable('text_inline_elements', 'span strong b em i font strike u var cite ' + 'dfn code mark q sup sub samp');\n      each$h((settings.special || 'script noscript iframe noframes noembed title style textarea xmp').split(' '), function (name) {\n        specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');\n      });\n      var patternToRegExp = function (str) {\n        return new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$');\n      };\n      var addValidElements = function (validElements) {\n        var ei, el, ai, al, matches, element, attr, attrData, elementName, attrName, attrType, attributes, attributesOrder, prefix, outputName, globalAttributes, globalAttributesOrder, value;\n        var elementRuleRegExp = /^([#+\\-])?([^\\[!\\/]+)(?:\\/([^\\[!]+))?(?:(!?)\\[([^\\]]+)])?$/, attrRuleRegExp = /^([!\\-])?(\\w+[\\\\:]:\\w+|[^=:<]+)?(?:([=:<])(.*))?$/, hasPatternsRegExp = /[*?+]/;\n        if (validElements) {\n          var validElementsArr = split$1(validElements, ',');\n          if (elements['@']) {\n            globalAttributes = elements['@'].attributes;\n            globalAttributesOrder = elements['@'].attributesOrder;\n          }\n          for (ei = 0, el = validElementsArr.length; ei < el; ei++) {\n            matches = elementRuleRegExp.exec(validElementsArr[ei]);\n            if (matches) {\n              prefix = matches[1];\n              elementName = matches[2];\n              outputName = matches[3];\n              attrData = matches[5];\n              attributes = {};\n              attributesOrder = [];\n              element = {\n                attributes: attributes,\n                attributesOrder: attributesOrder\n              };\n              if (prefix === '#') {\n                element.paddEmpty = true;\n              }\n              if (prefix === '-') {\n                element.removeEmpty = true;\n              }\n              if (matches[4] === '!') {\n                element.removeEmptyAttrs = true;\n              }\n              if (globalAttributes) {\n                each$j(globalAttributes, function (value, key) {\n                  attributes[key] = value;\n                });\n                attributesOrder.push.apply(attributesOrder, globalAttributesOrder);\n              }\n              if (attrData) {\n                attrData = split$1(attrData, '|');\n                for (ai = 0, al = attrData.length; ai < al; ai++) {\n                  matches = attrRuleRegExp.exec(attrData[ai]);\n                  if (matches) {\n                    attr = {};\n                    attrType = matches[1];\n                    attrName = matches[2].replace(/[\\\\:]:/g, ':');\n                    prefix = matches[3];\n                    value = matches[4];\n                    if (attrType === '!') {\n                      element.attributesRequired = element.attributesRequired || [];\n                      element.attributesRequired.push(attrName);\n                      attr.required = true;\n                    }\n                    if (attrType === '-') {\n                      delete attributes[attrName];\n                      attributesOrder.splice(inArray$2(attributesOrder, attrName), 1);\n                      continue;\n                    }\n                    if (prefix) {\n                      if (prefix === '=') {\n                        element.attributesDefault = element.attributesDefault || [];\n                        element.attributesDefault.push({\n                          name: attrName,\n                          value: value\n                        });\n                        attr.defaultValue = value;\n                      }\n                      if (prefix === ':') {\n                        element.attributesForced = element.attributesForced || [];\n                        element.attributesForced.push({\n                          name: attrName,\n                          value: value\n                        });\n                        attr.forcedValue = value;\n                      }\n                      if (prefix === '<') {\n                        attr.validValues = makeMap$2(value, '?');\n                      }\n                    }\n                    if (hasPatternsRegExp.test(attrName)) {\n                      element.attributePatterns = element.attributePatterns || [];\n                      attr.pattern = patternToRegExp(attrName);\n                      element.attributePatterns.push(attr);\n                    } else {\n                      if (!attributes[attrName]) {\n                        attributesOrder.push(attrName);\n                      }\n                      attributes[attrName] = attr;\n                    }\n                  }\n                }\n              }\n              if (!globalAttributes && elementName === '@') {\n                globalAttributes = attributes;\n                globalAttributesOrder = attributesOrder;\n              }\n              if (outputName) {\n                element.outputName = elementName;\n                elements[outputName] = element;\n              }\n              if (hasPatternsRegExp.test(elementName)) {\n                element.pattern = patternToRegExp(elementName);\n                patternElements.push(element);\n              } else {\n                elements[elementName] = element;\n              }\n            }\n          }\n        }\n      };\n      var setValidElements = function (validElements) {\n        elements = {};\n        patternElements = [];\n        addValidElements(validElements);\n        each$h(schemaItems, function (element, name) {\n          children[name] = element.children;\n        });\n      };\n      var addCustomElements = function (customElements) {\n        var customElementRegExp = /^(~)?(.+)$/;\n        if (customElements) {\n          mapCache.text_block_elements = mapCache.block_elements = null;\n          each$h(split$1(customElements, ','), function (rule) {\n            var matches = customElementRegExp.exec(rule), inline = matches[1] === '~', cloneName = inline ? 'span' : 'div', name = matches[2];\n            children[name] = children[cloneName];\n            customElementsMap[name] = cloneName;\n            if (!inline) {\n              blockElementsMap[name.toUpperCase()] = {};\n              blockElementsMap[name] = {};\n            }\n            if (!elements[name]) {\n              var customRule = elements[cloneName];\n              customRule = extend$5({}, customRule);\n              delete customRule.removeEmptyAttrs;\n              delete customRule.removeEmpty;\n              elements[name] = customRule;\n            }\n            each$h(children, function (element, elmName) {\n              if (element[cloneName]) {\n                children[elmName] = element = extend$5({}, children[elmName]);\n                element[name] = element[cloneName];\n              }\n            });\n          });\n        }\n      };\n      var addValidChildren = function (validChildren) {\n        var childRuleRegExp = /^([+\\-]?)([A-Za-z0-9_\\-.\\u00b7\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u037d\\u037f-\\u1fff\\u200c-\\u200d\\u203f-\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]+)\\[([^\\]]+)]$/;\n        mapCache[settings.schema] = null;\n        if (validChildren) {\n          each$h(split$1(validChildren, ','), function (rule) {\n            var matches = childRuleRegExp.exec(rule);\n            var parent, prefix;\n            if (matches) {\n              prefix = matches[1];\n              if (prefix) {\n                parent = children[matches[2]];\n              } else {\n                parent = children[matches[2]] = { '#comment': {} };\n              }\n              parent = children[matches[2]];\n              each$h(split$1(matches[3], '|'), function (child) {\n                if (prefix === '-') {\n                  delete parent[child];\n                } else {\n                  parent[child] = {};\n                }\n              });\n            }\n          });\n        }\n      };\n      var getElementRule = function (name) {\n        var element = elements[name], i;\n        if (element) {\n          return element;\n        }\n        i = patternElements.length;\n        while (i--) {\n          element = patternElements[i];\n          if (element.pattern.test(name)) {\n            return element;\n          }\n        }\n      };\n      if (!settings.valid_elements) {\n        each$h(schemaItems, function (element, name) {\n          elements[name] = {\n            attributes: element.attributes,\n            attributesOrder: element.attributesOrder\n          };\n          children[name] = element.children;\n        });\n        if (settings.schema !== 'html5') {\n          each$h(split$1('strong/b em/i'), function (item) {\n            var items = split$1(item, '/');\n            elements[items[1]].outputName = items[0];\n          });\n        }\n        each$h(split$1('ol ul sub sup blockquote span font a table tbody strong em b i'), function (name) {\n          if (elements[name]) {\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$h(split$1('p h1 h2 h3 h4 h5 h6 th td pre div address caption li'), function (name) {\n          elements[name].paddEmpty = true;\n        });\n        each$h(split$1('span'), function (name) {\n          elements[name].removeEmptyAttrs = true;\n        });\n      } else {\n        setValidElements(settings.valid_elements);\n      }\n      addCustomElements(settings.custom_elements);\n      addValidChildren(settings.valid_children);\n      addValidElements(settings.extended_valid_elements);\n      addValidChildren('+ol[ul|ol],+ul[ul|ol]');\n      each$h({\n        dd: 'dl',\n        dt: 'dl',\n        li: 'ul ol',\n        td: 'tr',\n        th: 'tr',\n        tr: 'tbody thead tfoot',\n        tbody: 'table',\n        thead: 'table',\n        tfoot: 'table',\n        legend: 'fieldset',\n        area: 'map',\n        param: 'video audio object'\n      }, function (parents, item) {\n        if (elements[item]) {\n          elements[item].parentsRequired = split$1(parents);\n        }\n      });\n      if (settings.invalid_elements) {\n        each$h(explode$3(settings.invalid_elements), function (item) {\n          if (elements[item]) {\n            delete elements[item];\n          }\n        });\n      }\n      if (!getElementRule('span')) {\n        addValidElements('span[!data-mce-type|*]');\n      }\n      var getValidStyles = constant(validStyles);\n      var getInvalidStyles = constant(invalidStyles);\n      var getValidClasses = constant(validClasses);\n      var getBoolAttrs = constant(boolAttrMap);\n      var getBlockElements = constant(blockElementsMap);\n      var getTextBlockElements = constant(textBlockElementsMap);\n      var getTextInlineElements = constant(textInlineElementsMap);\n      var getShortEndedElements = constant(shortEndedElementsMap);\n      var getSelfClosingElements = constant(selfClosingElementsMap);\n      var getNonEmptyElements = constant(nonEmptyElementsMap);\n      var getMoveCaretBeforeOnEnterElements = constant(moveCaretBeforeOnEnterElementsMap);\n      var getWhiteSpaceElements = constant(whiteSpaceElementsMap);\n      var getSpecialElements = constant(specialElements);\n      var isValidChild = function (name, child) {\n        var parent = children[name.toLowerCase()];\n        return !!(parent && parent[child.toLowerCase()]);\n      };\n      var isValid = function (name, attr) {\n        var attrPatterns, i;\n        var rule = getElementRule(name);\n        if (rule) {\n          if (attr) {\n            if (rule.attributes[attr]) {\n              return true;\n            }\n            attrPatterns = rule.attributePatterns;\n            if (attrPatterns) {\n              i = attrPatterns.length;\n              while (i--) {\n                if (attrPatterns[i].pattern.test(name)) {\n                  return true;\n                }\n              }\n            }\n          } else {\n            return true;\n          }\n        }\n        return false;\n      };\n      var getCustomElements = constant(customElementsMap);\n      return {\n        children: children,\n        elements: elements,\n        getValidStyles: getValidStyles,\n        getValidClasses: getValidClasses,\n        getBlockElements: getBlockElements,\n        getInvalidStyles: getInvalidStyles,\n        getShortEndedElements: getShortEndedElements,\n        getTextBlockElements: getTextBlockElements,\n        getTextInlineElements: getTextInlineElements,\n        getBoolAttrs: getBoolAttrs,\n        getElementRule: getElementRule,\n        getSelfClosingElements: getSelfClosingElements,\n        getNonEmptyElements: getNonEmptyElements,\n        getMoveCaretBeforeOnEnterElements: getMoveCaretBeforeOnEnterElements,\n        getWhiteSpaceElements: getWhiteSpaceElements,\n        getSpecialElements: getSpecialElements,\n        isValidChild: isValidChild,\n        isValid: isValid,\n        getCustomElements: getCustomElements,\n        addValidElements: addValidElements,\n        setValidElements: setValidElements,\n        addCustomElements: addCustomElements,\n        addValidChildren: addValidChildren\n      };\n    };\n\n    var toHex = function (match, r, g, b) {\n      var hex = function (val) {\n        val = parseInt(val, 10).toString(16);\n        return val.length > 1 ? val : '0' + val;\n      };\n      return '#' + hex(r) + hex(g) + hex(b);\n    };\n    var Styles = function (settings, schema) {\n      var _this = this;\n      var rgbRegExp = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/gi;\n      var urlOrStrRegExp = /(?:url(?:(?:\\(\\s*\\\"([^\\\"]+)\\\"\\s*\\))|(?:\\(\\s*\\'([^\\']+)\\'\\s*\\))|(?:\\(\\s*([^)\\s]+)\\s*\\))))|(?:\\'([^\\']+)\\')|(?:\\\"([^\\\"]+)\\\")/gi;\n      var styleRegExp = /\\s*([^:]+):\\s*([^;]+);?/g;\n      var trimRightRegExp = /\\s+$/;\n      var i;\n      var encodingLookup = {};\n      var validStyles;\n      var invalidStyles;\n      var invisibleChar = zeroWidth;\n      settings = settings || {};\n      if (schema) {\n        validStyles = schema.getValidStyles();\n        invalidStyles = schema.getInvalidStyles();\n      }\n      var encodingItems = ('\\\\\" \\\\\\' \\\\; \\\\: ; : ' + invisibleChar).split(' ');\n      for (i = 0; i < encodingItems.length; i++) {\n        encodingLookup[encodingItems[i]] = invisibleChar + i;\n        encodingLookup[invisibleChar + i] = encodingItems[i];\n      }\n      return {\n        toHex: function (color) {\n          return color.replace(rgbRegExp, toHex);\n        },\n        parse: function (css) {\n          var styles = {};\n          var matches, name, value, isEncoded;\n          var urlConverter = settings.url_converter;\n          var urlConverterScope = settings.url_converter_scope || _this;\n          var compress = function (prefix, suffix, noJoin) {\n            var top = styles[prefix + '-top' + suffix];\n            if (!top) {\n              return;\n            }\n            var right = styles[prefix + '-right' + suffix];\n            if (!right) {\n              return;\n            }\n            var bottom = styles[prefix + '-bottom' + suffix];\n            if (!bottom) {\n              return;\n            }\n            var left = styles[prefix + '-left' + suffix];\n            if (!left) {\n              return;\n            }\n            var box = [\n              top,\n              right,\n              bottom,\n              left\n            ];\n            i = box.length - 1;\n            while (i--) {\n              if (box[i] !== box[i + 1]) {\n                break;\n              }\n            }\n            if (i > -1 && noJoin) {\n              return;\n            }\n            styles[prefix + suffix] = i === -1 ? box[0] : box.join(' ');\n            delete styles[prefix + '-top' + suffix];\n            delete styles[prefix + '-right' + suffix];\n            delete styles[prefix + '-bottom' + suffix];\n            delete styles[prefix + '-left' + suffix];\n          };\n          var canCompress = function (key) {\n            var value = styles[key], i;\n            if (!value) {\n              return;\n            }\n            value = value.split(' ');\n            i = value.length;\n            while (i--) {\n              if (value[i] !== value[0]) {\n                return false;\n              }\n            }\n            styles[key] = value[0];\n            return true;\n          };\n          var compress2 = function (target, a, b, c) {\n            if (!canCompress(a)) {\n              return;\n            }\n            if (!canCompress(b)) {\n              return;\n            }\n            if (!canCompress(c)) {\n              return;\n            }\n            styles[target] = styles[a] + ' ' + styles[b] + ' ' + styles[c];\n            delete styles[a];\n            delete styles[b];\n            delete styles[c];\n          };\n          var encode = function (str) {\n            isEncoded = true;\n            return encodingLookup[str];\n          };\n          var decode = function (str, keepSlashes) {\n            if (isEncoded) {\n              str = str.replace(/\\uFEFF[0-9]/g, function (str) {\n                return encodingLookup[str];\n              });\n            }\n            if (!keepSlashes) {\n              str = str.replace(/\\\\([\\'\\\";:])/g, '$1');\n            }\n            return str;\n          };\n          var decodeSingleHexSequence = function (escSeq) {\n            return String.fromCharCode(parseInt(escSeq.slice(1), 16));\n          };\n          var decodeHexSequences = function (value) {\n            return value.replace(/\\\\[0-9a-f]+/gi, decodeSingleHexSequence);\n          };\n          var processUrl = function (match, url, url2, url3, str, str2) {\n            str = str || str2;\n            if (str) {\n              str = decode(str);\n              return '\\'' + str.replace(/\\'/g, '\\\\\\'') + '\\'';\n            }\n            url = decode(url || url2 || url3);\n            if (!settings.allow_script_urls) {\n              var scriptUrl = url.replace(/[\\s\\r\\n]+/g, '');\n              if (/(java|vb)script:/i.test(scriptUrl)) {\n                return '';\n              }\n              if (!settings.allow_svg_data_urls && /^data:image\\/svg/i.test(scriptUrl)) {\n                return '';\n              }\n            }\n            if (urlConverter) {\n              url = urlConverter.call(urlConverterScope, url, 'style');\n            }\n            return 'url(\\'' + url.replace(/\\'/g, '\\\\\\'') + '\\')';\n          };\n          if (css) {\n            css = css.replace(/[\\u0000-\\u001F]/g, '');\n            css = css.replace(/\\\\[\\\"\\';:\\uFEFF]/g, encode).replace(/\\\"[^\\\"]+\\\"|\\'[^\\']+\\'/g, function (str) {\n              return str.replace(/[;:]/g, encode);\n            });\n            while (matches = styleRegExp.exec(css)) {\n              styleRegExp.lastIndex = matches.index + matches[0].length;\n              name = matches[1].replace(trimRightRegExp, '').toLowerCase();\n              value = matches[2].replace(trimRightRegExp, '');\n              if (name && value) {\n                name = decodeHexSequences(name);\n                value = decodeHexSequences(value);\n                if (name.indexOf(invisibleChar) !== -1 || name.indexOf('\"') !== -1) {\n                  continue;\n                }\n                if (!settings.allow_script_urls && (name === 'behavior' || /expression\\s*\\(|\\/\\*|\\*\\//.test(value))) {\n                  continue;\n                }\n                if (name === 'font-weight' && value === '700') {\n                  value = 'bold';\n                } else if (name === 'color' || name === 'background-color') {\n                  value = value.toLowerCase();\n                }\n                value = value.replace(rgbRegExp, toHex);\n                value = value.replace(urlOrStrRegExp, processUrl);\n                styles[name] = isEncoded ? decode(value, true) : value;\n              }\n            }\n            compress('border', '', true);\n            compress('border', '-width');\n            compress('border', '-color');\n            compress('border', '-style');\n            compress('padding', '');\n            compress('margin', '');\n            compress2('border', 'border-width', 'border-style', 'border-color');\n            if (styles.border === 'medium none') {\n              delete styles.border;\n            }\n            if (styles['border-image'] === 'none') {\n              delete styles['border-image'];\n            }\n          }\n          return styles;\n        },\n        serialize: function (styles, elementName) {\n          var css = '';\n          var serializeStyles = function (name) {\n            var value;\n            var styleList = validStyles[name];\n            if (styleList) {\n              for (var i_1 = 0, l = styleList.length; i_1 < l; i_1++) {\n                name = styleList[i_1];\n                value = styles[name];\n                if (value) {\n                  css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n                }\n              }\n            }\n          };\n          var isValid = function (name, elementName) {\n            var styleMap = invalidStyles['*'];\n            if (styleMap && styleMap[name]) {\n              return false;\n            }\n            styleMap = invalidStyles[elementName];\n            return !(styleMap && styleMap[name]);\n          };\n          if (elementName && validStyles) {\n            serializeStyles('*');\n            serializeStyles(elementName);\n          } else {\n            each$j(styles, function (value, name) {\n              if (value && (!invalidStyles || isValid(name, elementName))) {\n                css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n              }\n            });\n          }\n          return css;\n        }\n      };\n    };\n\n    var deprecated = {\n      keyLocation: true,\n      layerX: true,\n      layerY: true,\n      returnValue: true,\n      webkitMovementX: true,\n      webkitMovementY: true,\n      keyIdentifier: true,\n      mozPressure: true\n    };\n    var isNativeEvent = function (event) {\n      return event instanceof Event || isFunction(event.initEvent);\n    };\n    var hasIsDefaultPrevented = function (event) {\n      return event.isDefaultPrevented === always || event.isDefaultPrevented === never;\n    };\n    var needsNormalizing = function (event) {\n      return isNullable(event.preventDefault) || isNativeEvent(event);\n    };\n    var clone$2 = function (originalEvent, data) {\n      var event = data !== null && data !== void 0 ? data : {};\n      for (var name_1 in originalEvent) {\n        if (!has$2(deprecated, name_1)) {\n          event[name_1] = originalEvent[name_1];\n        }\n      }\n      if (isNonNullable(event.composedPath)) {\n        event.composedPath = function () {\n          return originalEvent.composedPath();\n        };\n      }\n      return event;\n    };\n    var normalize$3 = function (type, originalEvent, fallbackTarget, data) {\n      var _a;\n      var event = clone$2(originalEvent, data);\n      event.type = type;\n      if (isNullable(event.target)) {\n        event.target = (_a = event.srcElement) !== null && _a !== void 0 ? _a : fallbackTarget;\n      }\n      if (needsNormalizing(originalEvent)) {\n        event.preventDefault = function () {\n          event.defaultPrevented = true;\n          event.isDefaultPrevented = always;\n          if (isFunction(originalEvent.preventDefault)) {\n            originalEvent.preventDefault();\n          } else if (isNativeEvent(originalEvent)) {\n            originalEvent.returnValue = false;\n          }\n        };\n        event.stopPropagation = function () {\n          event.cancelBubble = true;\n          event.isPropagationStopped = always;\n          if (isFunction(originalEvent.stopPropagation)) {\n            originalEvent.stopPropagation();\n          } else if (isNativeEvent(originalEvent)) {\n            originalEvent.cancelBubble = true;\n          }\n        };\n        event.stopImmediatePropagation = function () {\n          event.isImmediatePropagationStopped = always;\n          event.stopPropagation();\n        };\n        if (!hasIsDefaultPrevented(event)) {\n          event.isDefaultPrevented = event.defaultPrevented === true ? always : never;\n          event.isPropagationStopped = event.cancelBubble === true ? always : never;\n          event.isImmediatePropagationStopped = never;\n        }\n      }\n      return event;\n    };\n\n    var eventExpandoPrefix = 'mce-data-';\n    var mouseEventRe = /^(?:mouse|contextmenu)|click/;\n    var addEvent = function (target, name, callback, capture) {\n      if (target.addEventListener) {\n        target.addEventListener(name, callback, capture || false);\n      } else if (target.attachEvent) {\n        target.attachEvent('on' + name, callback);\n      }\n    };\n    var removeEvent = function (target, name, callback, capture) {\n      if (target.removeEventListener) {\n        target.removeEventListener(name, callback, capture || false);\n      } else if (target.detachEvent) {\n        target.detachEvent('on' + name, callback);\n      }\n    };\n    var isMouseEvent = function (event) {\n      return isNonNullable(event) && mouseEventRe.test(event.type);\n    };\n    var fix = function (originalEvent, data) {\n      var event = normalize$3(originalEvent.type, originalEvent, document, data);\n      if (isMouseEvent(originalEvent) && isUndefined(originalEvent.pageX) && !isUndefined(originalEvent.clientX)) {\n        var eventDoc = event.target.ownerDocument || document;\n        var doc = eventDoc.documentElement;\n        var body = eventDoc.body;\n        var mouseEvent = event;\n        mouseEvent.pageX = originalEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n        mouseEvent.pageY = originalEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n      }\n      if (isUndefined(event.metaKey)) {\n        event.metaKey = false;\n      }\n      return event;\n    };\n    var bindOnReady = function (win, callback, eventUtils) {\n      var doc = win.document, event = { type: 'ready' };\n      if (eventUtils.domLoaded) {\n        callback(event);\n        return;\n      }\n      var isDocReady = function () {\n        return doc.readyState === 'complete' || doc.readyState === 'interactive' && doc.body;\n      };\n      var readyHandler = function () {\n        removeEvent(win, 'DOMContentLoaded', readyHandler);\n        removeEvent(win, 'load', readyHandler);\n        if (!eventUtils.domLoaded) {\n          eventUtils.domLoaded = true;\n          callback(event);\n        }\n        win = null;\n      };\n      if (isDocReady()) {\n        readyHandler();\n      } else {\n        addEvent(win, 'DOMContentLoaded', readyHandler);\n      }\n      if (!eventUtils.domLoaded) {\n        addEvent(win, 'load', readyHandler);\n      }\n    };\n    var EventUtils = function () {\n      function EventUtils() {\n        this.domLoaded = false;\n        this.events = {};\n        this.count = 1;\n        this.expando = eventExpandoPrefix + (+new Date()).toString(32);\n        this.hasMouseEnterLeave = 'onmouseenter' in document.documentElement;\n        this.hasFocusIn = 'onfocusin' in document.documentElement;\n        this.count = 1;\n      }\n      EventUtils.prototype.bind = function (target, names, callback, scope) {\n        var self = this;\n        var id, callbackList, i, name, fakeName, nativeHandler, capture;\n        var win = window;\n        var defaultNativeHandler = function (evt) {\n          self.executeHandlers(fix(evt || win.event), id);\n        };\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return;\n        }\n        if (!target[self.expando]) {\n          id = self.count++;\n          target[self.expando] = id;\n          self.events[id] = {};\n        } else {\n          id = target[self.expando];\n        }\n        scope = scope || target;\n        var namesList = names.split(' ');\n        i = namesList.length;\n        while (i--) {\n          name = namesList[i];\n          nativeHandler = defaultNativeHandler;\n          fakeName = capture = false;\n          if (name === 'DOMContentLoaded') {\n            name = 'ready';\n          }\n          if (self.domLoaded && name === 'ready' && target.readyState === 'complete') {\n            callback.call(scope, fix({ type: name }));\n            continue;\n          }\n          if (!self.hasMouseEnterLeave) {\n            fakeName = self.mouseEnterLeave[name];\n            if (fakeName) {\n              nativeHandler = function (evt) {\n                var current = evt.currentTarget;\n                var related = evt.relatedTarget;\n                if (related && current.contains) {\n                  related = current.contains(related);\n                } else {\n                  while (related && related !== current) {\n                    related = related.parentNode;\n                  }\n                }\n                if (!related) {\n                  evt = fix(evt || win.event);\n                  evt.type = evt.type === 'mouseout' ? 'mouseleave' : 'mouseenter';\n                  evt.target = current;\n                  self.executeHandlers(evt, id);\n                }\n              };\n            }\n          }\n          if (!self.hasFocusIn && (name === 'focusin' || name === 'focusout')) {\n            capture = true;\n            fakeName = name === 'focusin' ? 'focus' : 'blur';\n            nativeHandler = function (evt) {\n              evt = fix(evt || win.event);\n              evt.type = evt.type === 'focus' ? 'focusin' : 'focusout';\n              self.executeHandlers(evt, id);\n            };\n          }\n          callbackList = self.events[id][name];\n          if (!callbackList) {\n            self.events[id][name] = callbackList = [{\n                func: callback,\n                scope: scope\n              }];\n            callbackList.fakeName = fakeName;\n            callbackList.capture = capture;\n            callbackList.nativeHandler = nativeHandler;\n            if (name === 'ready') {\n              bindOnReady(target, nativeHandler, self);\n            } else {\n              addEvent(target, fakeName || name, nativeHandler, capture);\n            }\n          } else {\n            if (name === 'ready' && self.domLoaded) {\n              callback(fix({ type: name }));\n            } else {\n              callbackList.push({\n                func: callback,\n                scope: scope\n              });\n            }\n          }\n        }\n        target = callbackList = null;\n        return callback;\n      };\n      EventUtils.prototype.unbind = function (target, names, callback) {\n        var callbackList, i, ci, name, eventMap;\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return this;\n        }\n        var id = target[this.expando];\n        if (id) {\n          eventMap = this.events[id];\n          if (names) {\n            var namesList = names.split(' ');\n            i = namesList.length;\n            while (i--) {\n              name = namesList[i];\n              callbackList = eventMap[name];\n              if (callbackList) {\n                if (callback) {\n                  ci = callbackList.length;\n                  while (ci--) {\n                    if (callbackList[ci].func === callback) {\n                      var nativeHandler = callbackList.nativeHandler;\n                      var fakeName = callbackList.fakeName, capture = callbackList.capture;\n                      callbackList = callbackList.slice(0, ci).concat(callbackList.slice(ci + 1));\n                      callbackList.nativeHandler = nativeHandler;\n                      callbackList.fakeName = fakeName;\n                      callbackList.capture = capture;\n                      eventMap[name] = callbackList;\n                    }\n                  }\n                }\n                if (!callback || callbackList.length === 0) {\n                  delete eventMap[name];\n                  removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n                }\n              }\n            }\n          } else {\n            each$j(eventMap, function (callbackList, name) {\n              removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n            });\n            eventMap = {};\n          }\n          for (name in eventMap) {\n            if (has$2(eventMap, name)) {\n              return this;\n            }\n          }\n          delete this.events[id];\n          try {\n            delete target[this.expando];\n          } catch (ex) {\n            target[this.expando] = null;\n          }\n        }\n        return this;\n      };\n      EventUtils.prototype.fire = function (target, name, args) {\n        var id;\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return this;\n        }\n        var event = fix({\n          type: name,\n          target: target\n        }, args);\n        do {\n          id = target[this.expando];\n          if (id) {\n            this.executeHandlers(event, id);\n          }\n          target = target.parentNode || target.ownerDocument || target.defaultView || target.parentWindow;\n        } while (target && !event.isPropagationStopped());\n        return this;\n      };\n      EventUtils.prototype.clean = function (target) {\n        var i, children;\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return this;\n        }\n        if (target[this.expando]) {\n          this.unbind(target);\n        }\n        if (!target.getElementsByTagName) {\n          target = target.document;\n        }\n        if (target && target.getElementsByTagName) {\n          this.unbind(target);\n          children = target.getElementsByTagName('*');\n          i = children.length;\n          while (i--) {\n            target = children[i];\n            if (target[this.expando]) {\n              this.unbind(target);\n            }\n          }\n        }\n        return this;\n      };\n      EventUtils.prototype.destroy = function () {\n        this.events = {};\n      };\n      EventUtils.prototype.cancel = function (e) {\n        if (e) {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n        }\n        return false;\n      };\n      EventUtils.prototype.executeHandlers = function (evt, id) {\n        var container = this.events[id];\n        var callbackList = container && container[evt.type];\n        if (callbackList) {\n          for (var i = 0, l = callbackList.length; i < l; i++) {\n            var callback = callbackList[i];\n            if (callback && callback.func.call(callback.scope, evt) === false) {\n              evt.preventDefault();\n            }\n            if (evt.isImmediatePropagationStopped()) {\n              return;\n            }\n          }\n        }\n      };\n      EventUtils.Event = new EventUtils();\n      return EventUtils;\n    }();\n\n    var support, Expr, getText, isXML, tokenize, compile, select$1, outermostContext, sortInput, hasDuplicate, setDocument, document$1, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains, expando = 'sizzle' + -new Date(), preferredDoc = window.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), sortOrder = function (a, b) {\n        if (a === b) {\n          hasDuplicate = true;\n        }\n        return 0;\n      }, strundefined = typeof undefined, MAX_NEGATIVE = 1 << 31, hasOwn = {}.hasOwnProperty, arr = [], pop = arr.pop, push_native = arr.push, push$1 = arr.push, slice$1 = arr.slice, indexOf = arr.indexOf || function (elem) {\n        var i = 0, len = this.length;\n        for (; i < len; i++) {\n          if (this[i] === elem) {\n            return i;\n          }\n        }\n        return -1;\n      }, booleans = 'checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', whitespace = '[\\\\x20\\\\t\\\\r\\\\n\\\\f]', identifier = '(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+', attributes = '\\\\[' + whitespace + '*(' + identifier + ')(?:' + whitespace + '*([*^$|!~]?=)' + whitespace + '*(?:\\'((?:\\\\\\\\.|[^\\\\\\\\\\'])*)\\'|\"((?:\\\\\\\\.|[^\\\\\\\\\"])*)\"|(' + identifier + '))|)' + whitespace + '*\\\\]', pseudos = ':(' + identifier + ')(?:\\\\((' + '(\\'((?:\\\\\\\\.|[^\\\\\\\\\\'])*)\\'|\"((?:\\\\\\\\.|[^\\\\\\\\\"])*)\")|' + '((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|' + attributes + ')*)|' + '.*' + ')\\\\)|)', rtrim = new RegExp('^' + whitespace + '+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)' + whitespace + '+$', 'g'), rcomma = new RegExp('^' + whitespace + '*,' + whitespace + '*'), rcombinators = new RegExp('^' + whitespace + '*([>+~]|' + whitespace + ')' + whitespace + '*'), rattributeQuotes = new RegExp('=' + whitespace + '*([^\\\\]\\'\"]*?)' + whitespace + '*\\\\]', 'g'), rpseudo = new RegExp(pseudos), ridentifier = new RegExp('^' + identifier + '$'), matchExpr = {\n        ID: new RegExp('^#(' + identifier + ')'),\n        CLASS: new RegExp('^\\\\.(' + identifier + ')'),\n        TAG: new RegExp('^(' + identifier + '|[*])'),\n        ATTR: new RegExp('^' + attributes),\n        PSEUDO: new RegExp('^' + pseudos),\n        CHILD: new RegExp('^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(' + whitespace + '*(even|odd|(([+-]|)(\\\\d*)n|)' + whitespace + '*(?:([+-]|)' + whitespace + '*(\\\\d+)|))' + whitespace + '*\\\\)|)', 'i'),\n        bool: new RegExp('^(?:' + booleans + ')$', 'i'),\n        needsContext: new RegExp('^' + whitespace + '*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(' + whitespace + '*((?:-\\\\d)?\\\\d*)' + whitespace + '*\\\\)|)(?=[^-]|$)', 'i')\n      }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\\d$/i, rnative = /^[^{]+\\{\\s*\\[native \\w/, rquickExpr$1 = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/, rsibling = /[+~]/, rescape = /'|\\\\/g, runescape = new RegExp('\\\\\\\\([\\\\da-f]{1,6}' + whitespace + '?|(' + whitespace + ')|.)', 'ig'), funescape = function (_, escaped, escapedWhitespace) {\n        var high = '0x' + escaped - 65536;\n        return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320);\n      };\n    try {\n      push$1.apply(arr = slice$1.call(preferredDoc.childNodes), preferredDoc.childNodes);\n      arr[preferredDoc.childNodes.length].nodeType;\n    } catch (e) {\n      push$1 = {\n        apply: arr.length ? function (target, els) {\n          push_native.apply(target, slice$1.call(els));\n        } : function (target, els) {\n          var j = target.length, i = 0;\n          while (target[j++] = els[i++]) {\n          }\n          target.length = j - 1;\n        }\n      };\n    }\n    var Sizzle = function (selector, context, results, seed) {\n      var match, elem, m, nodeType, i, groups, old, nid, newContext, newSelector;\n      if ((context ? context.ownerDocument || context : preferredDoc) !== document$1) {\n        setDocument(context);\n      }\n      context = context || document$1;\n      results = results || [];\n      if (!selector || typeof selector !== 'string') {\n        return results;\n      }\n      if ((nodeType = context.nodeType) !== 1 && nodeType !== 9) {\n        return [];\n      }\n      if (documentIsHTML && !seed) {\n        if (match = rquickExpr$1.exec(selector)) {\n          if (m = match[1]) {\n            if (nodeType === 9) {\n              elem = context.getElementById(m);\n              if (elem && elem.parentNode) {\n                if (elem.id === m) {\n                  results.push(elem);\n                  return results;\n                }\n              } else {\n                return results;\n              }\n            } else {\n              if (context.ownerDocument && (elem = context.ownerDocument.getElementById(m)) && contains(context, elem) && elem.id === m) {\n                results.push(elem);\n                return results;\n              }\n            }\n          } else if (match[2]) {\n            push$1.apply(results, context.getElementsByTagName(selector));\n            return results;\n          } else if ((m = match[3]) && support.getElementsByClassName) {\n            push$1.apply(results, context.getElementsByClassName(m));\n            return results;\n          }\n        }\n        if (support.qsa && (!rbuggyQSA || !rbuggyQSA.test(selector))) {\n          nid = old = expando;\n          newContext = context;\n          newSelector = nodeType === 9 && selector;\n          if (nodeType === 1 && context.nodeName.toLowerCase() !== 'object') {\n            groups = tokenize(selector);\n            if (old = context.getAttribute('id')) {\n              nid = old.replace(rescape, '\\\\$&');\n            } else {\n              context.setAttribute('id', nid);\n            }\n            nid = '[id=\\'' + nid + '\\'] ';\n            i = groups.length;\n            while (i--) {\n              groups[i] = nid + toSelector(groups[i]);\n            }\n            newContext = rsibling.test(selector) && testContext(context.parentNode) || context;\n            newSelector = groups.join(',');\n          }\n          if (newSelector) {\n            try {\n              push$1.apply(results, newContext.querySelectorAll(newSelector));\n              return results;\n            } catch (qsaError) {\n            } finally {\n              if (!old) {\n                context.removeAttribute('id');\n              }\n            }\n          }\n        }\n      }\n      return select$1(selector.replace(rtrim, '$1'), context, results, seed);\n    };\n    function createCache() {\n      var keys = [];\n      function cache(key, value) {\n        if (keys.push(key + ' ') > Expr.cacheLength) {\n          delete cache[keys.shift()];\n        }\n        return cache[key + ' '] = value;\n      }\n      return cache;\n    }\n    function markFunction(fn) {\n      fn[expando] = true;\n      return fn;\n    }\n    function siblingCheck(a, b) {\n      var cur = b && a, diff = cur && a.nodeType === 1 && b.nodeType === 1 && (~b.sourceIndex || MAX_NEGATIVE) - (~a.sourceIndex || MAX_NEGATIVE);\n      if (diff) {\n        return diff;\n      }\n      if (cur) {\n        while (cur = cur.nextSibling) {\n          if (cur === b) {\n            return -1;\n          }\n        }\n      }\n      return a ? 1 : -1;\n    }\n    function createInputPseudo(type) {\n      return function (elem) {\n        var name = elem.nodeName.toLowerCase();\n        return name === 'input' && elem.type === type;\n      };\n    }\n    function createButtonPseudo(type) {\n      return function (elem) {\n        var name = elem.nodeName.toLowerCase();\n        return (name === 'input' || name === 'button') && elem.type === type;\n      };\n    }\n    function createPositionalPseudo(fn) {\n      return markFunction(function (argument) {\n        argument = +argument;\n        return markFunction(function (seed, matches) {\n          var j, matchIndexes = fn([], seed.length, argument), i = matchIndexes.length;\n          while (i--) {\n            if (seed[j = matchIndexes[i]]) {\n              seed[j] = !(matches[j] = seed[j]);\n            }\n          }\n        });\n      });\n    }\n    function testContext(context) {\n      return context && typeof context.getElementsByTagName !== strundefined && context;\n    }\n    support = Sizzle.support = {};\n    isXML = Sizzle.isXML = function (elem) {\n      var documentElement = elem && (elem.ownerDocument || elem).documentElement;\n      return documentElement ? documentElement.nodeName !== 'HTML' : false;\n    };\n    setDocument = Sizzle.setDocument = function (node) {\n      var hasCompare, doc = node ? node.ownerDocument || node : preferredDoc, parent = doc.defaultView;\n      function getTop(win) {\n        try {\n          return win.top;\n        } catch (ex) {\n        }\n        return null;\n      }\n      if (doc === document$1 || doc.nodeType !== 9 || !doc.documentElement) {\n        return document$1;\n      }\n      document$1 = doc;\n      docElem = doc.documentElement;\n      documentIsHTML = !isXML(doc);\n      if (parent && parent !== getTop(parent)) {\n        if (parent.addEventListener) {\n          parent.addEventListener('unload', function () {\n            setDocument();\n          }, false);\n        } else if (parent.attachEvent) {\n          parent.attachEvent('onunload', function () {\n            setDocument();\n          });\n        }\n      }\n      support.attributes = true;\n      support.getElementsByTagName = true;\n      support.getElementsByClassName = rnative.test(doc.getElementsByClassName);\n      support.getById = true;\n      Expr.find.ID = function (id, context) {\n        if (typeof context.getElementById !== strundefined && documentIsHTML) {\n          var m = context.getElementById(id);\n          return m && m.parentNode ? [m] : [];\n        }\n      };\n      Expr.filter.ID = function (id) {\n        var attrId = id.replace(runescape, funescape);\n        return function (elem) {\n          return elem.getAttribute('id') === attrId;\n        };\n      };\n      Expr.find.TAG = support.getElementsByTagName ? function (tag, context) {\n        if (typeof context.getElementsByTagName !== strundefined) {\n          return context.getElementsByTagName(tag);\n        }\n      } : function (tag, context) {\n        var elem, tmp = [], i = 0, results = context.getElementsByTagName(tag);\n        if (tag === '*') {\n          while (elem = results[i++]) {\n            if (elem.nodeType === 1) {\n              tmp.push(elem);\n            }\n          }\n          return tmp;\n        }\n        return results;\n      };\n      Expr.find.CLASS = support.getElementsByClassName && function (className, context) {\n        if (documentIsHTML) {\n          return context.getElementsByClassName(className);\n        }\n      };\n      rbuggyMatches = [];\n      rbuggyQSA = [];\n      support.disconnectedMatch = true;\n      rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join('|'));\n      rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join('|'));\n      hasCompare = rnative.test(docElem.compareDocumentPosition);\n      contains = hasCompare || rnative.test(docElem.contains) ? function (a, b) {\n        var adown = a.nodeType === 9 ? a.documentElement : a, bup = b && b.parentNode;\n        return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n      } : function (a, b) {\n        if (b) {\n          while (b = b.parentNode) {\n            if (b === a) {\n              return true;\n            }\n          }\n        }\n        return false;\n      };\n      sortOrder = hasCompare ? function (a, b) {\n        if (a === b) {\n          hasDuplicate = true;\n          return 0;\n        }\n        var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n        if (compare) {\n          return compare;\n        }\n        compare = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1;\n        if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {\n          if (a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a)) {\n            return -1;\n          }\n          if (b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b)) {\n            return 1;\n          }\n          return sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0;\n        }\n        return compare & 4 ? -1 : 1;\n      } : function (a, b) {\n        if (a === b) {\n          hasDuplicate = true;\n          return 0;\n        }\n        var cur, i = 0, aup = a.parentNode, bup = b.parentNode, ap = [a], bp = [b];\n        if (!aup || !bup) {\n          return a === doc ? -1 : b === doc ? 1 : aup ? -1 : bup ? 1 : sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0;\n        } else if (aup === bup) {\n          return siblingCheck(a, b);\n        }\n        cur = a;\n        while (cur = cur.parentNode) {\n          ap.unshift(cur);\n        }\n        cur = b;\n        while (cur = cur.parentNode) {\n          bp.unshift(cur);\n        }\n        while (ap[i] === bp[i]) {\n          i++;\n        }\n        return i ? siblingCheck(ap[i], bp[i]) : ap[i] === preferredDoc ? -1 : bp[i] === preferredDoc ? 1 : 0;\n      };\n      return doc;\n    };\n    Sizzle.matches = function (expr, elements) {\n      return Sizzle(expr, null, null, elements);\n    };\n    Sizzle.matchesSelector = function (elem, expr) {\n      if ((elem.ownerDocument || elem) !== document$1) {\n        setDocument(elem);\n      }\n      expr = expr.replace(rattributeQuotes, '=\\'$1\\']');\n      if (support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) {\n        try {\n          var ret = matches.call(elem, expr);\n          if (ret || support.disconnectedMatch || elem.document && elem.document.nodeType !== 11) {\n            return ret;\n          }\n        } catch (e) {\n        }\n      }\n      return Sizzle(expr, document$1, null, [elem]).length > 0;\n    };\n    Sizzle.contains = function (context, elem) {\n      if ((context.ownerDocument || context) !== document$1) {\n        setDocument(context);\n      }\n      return contains(context, elem);\n    };\n    Sizzle.attr = function (elem, name) {\n      if ((elem.ownerDocument || elem) !== document$1) {\n        setDocument(elem);\n      }\n      var fn = Expr.attrHandle[name.toLowerCase()], val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined;\n      return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;\n    };\n    Sizzle.error = function (msg) {\n      throw new Error('Syntax error, unrecognized expression: ' + msg);\n    };\n    Sizzle.uniqueSort = function (results) {\n      var elem, duplicates = [], j = 0, i = 0;\n      hasDuplicate = !support.detectDuplicates;\n      sortInput = !support.sortStable && results.slice(0);\n      results.sort(sortOrder);\n      if (hasDuplicate) {\n        while (elem = results[i++]) {\n          if (elem === results[i]) {\n            j = duplicates.push(i);\n          }\n        }\n        while (j--) {\n          results.splice(duplicates[j], 1);\n        }\n      }\n      sortInput = null;\n      return results;\n    };\n    getText = Sizzle.getText = function (elem) {\n      var node, ret = '', i = 0, nodeType = elem.nodeType;\n      if (!nodeType) {\n        while (node = elem[i++]) {\n          ret += getText(node);\n        }\n      } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) {\n        if (typeof elem.textContent === 'string') {\n          return elem.textContent;\n        } else {\n          for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n            ret += getText(elem);\n          }\n        }\n      } else if (nodeType === 3 || nodeType === 4) {\n        return elem.nodeValue;\n      }\n      return ret;\n    };\n    Expr = Sizzle.selectors = {\n      cacheLength: 50,\n      createPseudo: markFunction,\n      match: matchExpr,\n      attrHandle: {},\n      find: {},\n      relative: {\n        '>': {\n          dir: 'parentNode',\n          first: true\n        },\n        ' ': { dir: 'parentNode' },\n        '+': {\n          dir: 'previousSibling',\n          first: true\n        },\n        '~': { dir: 'previousSibling' }\n      },\n      preFilter: {\n        ATTR: function (match) {\n          match[1] = match[1].replace(runescape, funescape);\n          match[3] = (match[3] || match[4] || match[5] || '').replace(runescape, funescape);\n          if (match[2] === '~=') {\n            match[3] = ' ' + match[3] + ' ';\n          }\n          return match.slice(0, 4);\n        },\n        CHILD: function (match) {\n          match[1] = match[1].toLowerCase();\n          if (match[1].slice(0, 3) === 'nth') {\n            if (!match[3]) {\n              Sizzle.error(match[0]);\n            }\n            match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === 'even' || match[3] === 'odd'));\n            match[5] = +(match[7] + match[8] || match[3] === 'odd');\n          } else if (match[3]) {\n            Sizzle.error(match[0]);\n          }\n          return match;\n        },\n        PSEUDO: function (match) {\n          var excess, unquoted = !match[6] && match[2];\n          if (matchExpr.CHILD.test(match[0])) {\n            return null;\n          }\n          if (match[3]) {\n            match[2] = match[4] || match[5] || '';\n          } else if (unquoted && rpseudo.test(unquoted) && (excess = tokenize(unquoted, true)) && (excess = unquoted.indexOf(')', unquoted.length - excess) - unquoted.length)) {\n            match[0] = match[0].slice(0, excess);\n            match[2] = unquoted.slice(0, excess);\n          }\n          return match.slice(0, 3);\n        }\n      },\n      filter: {\n        TAG: function (nodeNameSelector) {\n          var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();\n          return nodeNameSelector === '*' ? function () {\n            return true;\n          } : function (elem) {\n            return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n          };\n        },\n        CLASS: function (className) {\n          var pattern = classCache[className + ' '];\n          return pattern || (pattern = new RegExp('(^|' + whitespace + ')' + className + '(' + whitespace + '|$)')) && classCache(className, function (elem) {\n            return pattern.test(typeof elem.className === 'string' && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute('class') || '');\n          });\n        },\n        ATTR: function (name, operator, check) {\n          return function (elem) {\n            var result = Sizzle.attr(elem, name);\n            if (result == null) {\n              return operator === '!=';\n            }\n            if (!operator) {\n              return true;\n            }\n            result += '';\n            return operator === '=' ? result === check : operator === '!=' ? result !== check : operator === '^=' ? check && result.indexOf(check) === 0 : operator === '*=' ? check && result.indexOf(check) > -1 : operator === '$=' ? check && result.slice(-check.length) === check : operator === '~=' ? (' ' + result + ' ').indexOf(check) > -1 : operator === '|=' ? result === check || result.slice(0, check.length + 1) === check + '-' : false;\n          };\n        },\n        CHILD: function (type, what, argument, first, last) {\n          var simple = type.slice(0, 3) !== 'nth', forward = type.slice(-4) !== 'last', ofType = what === 'of-type';\n          return first === 1 && last === 0 ? function (elem) {\n            return !!elem.parentNode;\n          } : function (elem, context, xml) {\n            var cache, outerCache, node, diff, nodeIndex, start, dir = simple !== forward ? 'nextSibling' : 'previousSibling', parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType;\n            if (parent) {\n              if (simple) {\n                while (dir) {\n                  node = elem;\n                  while (node = node[dir]) {\n                    if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) {\n                      return false;\n                    }\n                  }\n                  start = dir = type === 'only' && !start && 'nextSibling';\n                }\n                return true;\n              }\n              start = [forward ? parent.firstChild : parent.lastChild];\n              if (forward && useCache) {\n                outerCache = parent[expando] || (parent[expando] = {});\n                cache = outerCache[type] || [];\n                nodeIndex = cache[0] === dirruns && cache[1];\n                diff = cache[0] === dirruns && cache[2];\n                node = nodeIndex && parent.childNodes[nodeIndex];\n                while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n                  if (node.nodeType === 1 && ++diff && node === elem) {\n                    outerCache[type] = [\n                      dirruns,\n                      nodeIndex,\n                      diff\n                    ];\n                    break;\n                  }\n                }\n              } else if (useCache && (cache = (elem[expando] || (elem[expando] = {}))[type]) && cache[0] === dirruns) {\n                diff = cache[1];\n              } else {\n                while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n                  if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) {\n                    if (useCache) {\n                      (node[expando] || (node[expando] = {}))[type] = [\n                        dirruns,\n                        diff\n                      ];\n                    }\n                    if (node === elem) {\n                      break;\n                    }\n                  }\n                }\n              }\n              diff -= last;\n              return diff === first || diff % first === 0 && diff / first >= 0;\n            }\n          };\n        },\n        PSEUDO: function (pseudo, argument) {\n          var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error('unsupported pseudo: ' + pseudo);\n          if (fn[expando]) {\n            return fn(argument);\n          }\n          if (fn.length > 1) {\n            args = [\n              pseudo,\n              pseudo,\n              '',\n              argument\n            ];\n            return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) {\n              var idx, matched = fn(seed, argument), i = matched.length;\n              while (i--) {\n                idx = indexOf.call(seed, matched[i]);\n                seed[idx] = !(matches[idx] = matched[i]);\n              }\n            }) : function (elem) {\n              return fn(elem, 0, args);\n            };\n          }\n          return fn;\n        }\n      },\n      pseudos: {\n        not: markFunction(function (selector) {\n          var input = [], results = [], matcher = compile(selector.replace(rtrim, '$1'));\n          return matcher[expando] ? markFunction(function (seed, matches, context, xml) {\n            var elem, unmatched = matcher(seed, null, xml, []), i = seed.length;\n            while (i--) {\n              if (elem = unmatched[i]) {\n                seed[i] = !(matches[i] = elem);\n              }\n            }\n          }) : function (elem, context, xml) {\n            input[0] = elem;\n            matcher(input, null, xml, results);\n            input[0] = null;\n            return !results.pop();\n          };\n        }),\n        has: markFunction(function (selector) {\n          return function (elem) {\n            return Sizzle(selector, elem).length > 0;\n          };\n        }),\n        contains: markFunction(function (text) {\n          text = text.replace(runescape, funescape);\n          return function (elem) {\n            return (elem.textContent || elem.innerText || getText(elem)).indexOf(text) > -1;\n          };\n        }),\n        lang: markFunction(function (lang) {\n          if (!ridentifier.test(lang || '')) {\n            Sizzle.error('unsupported lang: ' + lang);\n          }\n          lang = lang.replace(runescape, funescape).toLowerCase();\n          return function (elem) {\n            var elemLang;\n            do {\n              if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute('xml:lang') || elem.getAttribute('lang')) {\n                elemLang = elemLang.toLowerCase();\n                return elemLang === lang || elemLang.indexOf(lang + '-') === 0;\n              }\n            } while ((elem = elem.parentNode) && elem.nodeType === 1);\n            return false;\n          };\n        }),\n        target: function (elem) {\n          var hash = window.location && window.location.hash;\n          return hash && hash.slice(1) === elem.id;\n        },\n        root: function (elem) {\n          return elem === docElem;\n        },\n        focus: function (elem) {\n          return elem === document$1.activeElement && (!document$1.hasFocus || document$1.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n        },\n        enabled: function (elem) {\n          return elem.disabled === false;\n        },\n        disabled: function (elem) {\n          return elem.disabled === true;\n        },\n        checked: function (elem) {\n          var nodeName = elem.nodeName.toLowerCase();\n          return nodeName === 'input' && !!elem.checked || nodeName === 'option' && !!elem.selected;\n        },\n        selected: function (elem) {\n          if (elem.parentNode) {\n            elem.parentNode.selectedIndex;\n          }\n          return elem.selected === true;\n        },\n        empty: function (elem) {\n          for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n            if (elem.nodeType < 6) {\n              return false;\n            }\n          }\n          return true;\n        },\n        parent: function (elem) {\n          return !Expr.pseudos.empty(elem);\n        },\n        header: function (elem) {\n          return rheader.test(elem.nodeName);\n        },\n        input: function (elem) {\n          return rinputs.test(elem.nodeName);\n        },\n        button: function (elem) {\n          var name = elem.nodeName.toLowerCase();\n          return name === 'input' && elem.type === 'button' || name === 'button';\n        },\n        text: function (elem) {\n          var attr;\n          return elem.nodeName.toLowerCase() === 'input' && elem.type === 'text' && ((attr = elem.getAttribute('type')) == null || attr.toLowerCase() === 'text');\n        },\n        first: createPositionalPseudo(function () {\n          return [0];\n        }),\n        last: createPositionalPseudo(function (matchIndexes, length) {\n          return [length - 1];\n        }),\n        eq: createPositionalPseudo(function (matchIndexes, length, argument) {\n          return [argument < 0 ? argument + length : argument];\n        }),\n        even: createPositionalPseudo(function (matchIndexes, length) {\n          var i = 0;\n          for (; i < length; i += 2) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        }),\n        odd: createPositionalPseudo(function (matchIndexes, length) {\n          var i = 1;\n          for (; i < length; i += 2) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        }),\n        lt: createPositionalPseudo(function (matchIndexes, length, argument) {\n          var i = argument < 0 ? argument + length : argument;\n          for (; --i >= 0;) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        }),\n        gt: createPositionalPseudo(function (matchIndexes, length, argument) {\n          var i = argument < 0 ? argument + length : argument;\n          for (; ++i < length;) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        })\n      }\n    };\n    Expr.pseudos.nth = Expr.pseudos.eq;\n    each$k([\n      'radio',\n      'checkbox',\n      'file',\n      'password',\n      'image'\n    ], function (i) {\n      Expr.pseudos[i] = createInputPseudo(i);\n    });\n    each$k([\n      'submit',\n      'reset'\n    ], function (i) {\n      Expr.pseudos[i] = createButtonPseudo(i);\n    });\n    function setFilters() {\n    }\n    setFilters.prototype = Expr.filters = Expr.pseudos;\n    Expr.setFilters = new setFilters();\n    tokenize = Sizzle.tokenize = function (selector, parseOnly) {\n      var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + ' '];\n      if (cached) {\n        return parseOnly ? 0 : cached.slice(0);\n      }\n      soFar = selector;\n      groups = [];\n      preFilters = Expr.preFilter;\n      while (soFar) {\n        if (!matched || (match = rcomma.exec(soFar))) {\n          if (match) {\n            soFar = soFar.slice(match[0].length) || soFar;\n          }\n          groups.push(tokens = []);\n        }\n        matched = false;\n        if (match = rcombinators.exec(soFar)) {\n          matched = match.shift();\n          tokens.push({\n            value: matched,\n            type: match[0].replace(rtrim, ' ')\n          });\n          soFar = soFar.slice(matched.length);\n        }\n        for (type in Expr.filter) {\n          if (!Expr.filter.hasOwnProperty(type)) {\n            continue;\n          }\n          if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {\n            matched = match.shift();\n            tokens.push({\n              value: matched,\n              type: type,\n              matches: match\n            });\n            soFar = soFar.slice(matched.length);\n          }\n        }\n        if (!matched) {\n          break;\n        }\n      }\n      return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : tokenCache(selector, groups).slice(0);\n    };\n    function toSelector(tokens) {\n      var i = 0, len = tokens.length, selector = '';\n      for (; i < len; i++) {\n        selector += tokens[i].value;\n      }\n      return selector;\n    }\n    function addCombinator(matcher, combinator, base) {\n      var dir = combinator.dir, checkNonElements = base && dir === 'parentNode', doneName = done++;\n      return combinator.first ? function (elem, context, xml) {\n        while (elem = elem[dir]) {\n          if (elem.nodeType === 1 || checkNonElements) {\n            return matcher(elem, context, xml);\n          }\n        }\n      } : function (elem, context, xml) {\n        var oldCache, outerCache, newCache = [\n            dirruns,\n            doneName\n          ];\n        if (xml) {\n          while (elem = elem[dir]) {\n            if (elem.nodeType === 1 || checkNonElements) {\n              if (matcher(elem, context, xml)) {\n                return true;\n              }\n            }\n          }\n        } else {\n          while (elem = elem[dir]) {\n            if (elem.nodeType === 1 || checkNonElements) {\n              outerCache = elem[expando] || (elem[expando] = {});\n              if ((oldCache = outerCache[dir]) && oldCache[0] === dirruns && oldCache[1] === doneName) {\n                return newCache[2] = oldCache[2];\n              } else {\n                outerCache[dir] = newCache;\n                if (newCache[2] = matcher(elem, context, xml)) {\n                  return true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }\n    function elementMatcher(matchers) {\n      return matchers.length > 1 ? function (elem, context, xml) {\n        var i = matchers.length;\n        while (i--) {\n          if (!matchers[i](elem, context, xml)) {\n            return false;\n          }\n        }\n        return true;\n      } : matchers[0];\n    }\n    function multipleContexts(selector, contexts, results) {\n      var i = 0, len = contexts.length;\n      for (; i < len; i++) {\n        Sizzle(selector, contexts[i], results);\n      }\n      return results;\n    }\n    function condense(unmatched, map, filter, context, xml) {\n      var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null;\n      for (; i < len; i++) {\n        if (elem = unmatched[i]) {\n          if (!filter || filter(elem, context, xml)) {\n            newUnmatched.push(elem);\n            if (mapped) {\n              map.push(i);\n            }\n          }\n        }\n      }\n      return newUnmatched;\n    }\n    function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {\n      if (postFilter && !postFilter[expando]) {\n        postFilter = setMatcher(postFilter);\n      }\n      if (postFinder && !postFinder[expando]) {\n        postFinder = setMatcher(postFinder, postSelector);\n      }\n      return markFunction(function (seed, results, context, xml) {\n        var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, elems = seed || multipleContexts(selector || '*', context.nodeType ? [context] : context, []), matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems, matcherOut = matcher ? postFinder || (seed ? preFilter : preexisting || postFilter) ? [] : results : matcherIn;\n        if (matcher) {\n          matcher(matcherIn, matcherOut, context, xml);\n        }\n        if (postFilter) {\n          temp = condense(matcherOut, postMap);\n          postFilter(temp, [], context, xml);\n          i = temp.length;\n          while (i--) {\n            if (elem = temp[i]) {\n              matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);\n            }\n          }\n        }\n        if (seed) {\n          if (postFinder || preFilter) {\n            if (postFinder) {\n              temp = [];\n              i = matcherOut.length;\n              while (i--) {\n                if (elem = matcherOut[i]) {\n                  temp.push(matcherIn[i] = elem);\n                }\n              }\n              postFinder(null, matcherOut = [], temp, xml);\n            }\n            i = matcherOut.length;\n            while (i--) {\n              if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf.call(seed, elem) : preMap[i]) > -1) {\n                seed[temp] = !(results[temp] = elem);\n              }\n            }\n          }\n        } else {\n          matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);\n          if (postFinder) {\n            postFinder(null, results, matcherOut, xml);\n          } else {\n            push$1.apply(results, matcherOut);\n          }\n        }\n      });\n    }\n    function matcherFromTokens(tokens) {\n      var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[tokens[0].type], implicitRelative = leadingRelative || Expr.relative[' '], i = leadingRelative ? 1 : 0, matchContext = addCombinator(function (elem) {\n          return elem === checkContext;\n        }, implicitRelative, true), matchAnyContext = addCombinator(function (elem) {\n          return indexOf.call(checkContext, elem) > -1;\n        }, implicitRelative, true), matchers = [function (elem, context, xml) {\n            var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml));\n            checkContext = null;\n            return ret;\n          }];\n      for (; i < len; i++) {\n        if (matcher = Expr.relative[tokens[i].type]) {\n          matchers = [addCombinator(elementMatcher(matchers), matcher)];\n        } else {\n          matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches);\n          if (matcher[expando]) {\n            j = ++i;\n            for (; j < len; j++) {\n              if (Expr.relative[tokens[j].type]) {\n                break;\n              }\n            }\n            return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(tokens.slice(0, i - 1).concat({ value: tokens[i - 2].type === ' ' ? '*' : '' })).replace(rtrim, '$1'), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));\n          }\n          matchers.push(matcher);\n        }\n      }\n      return elementMatcher(matchers);\n    }\n    function matcherFromGroupMatchers(elementMatchers, setMatchers) {\n      var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function (seed, context, xml, results, outermost) {\n          var elem, j, matcher, matchedCount = 0, i = '0', unmatched = seed && [], setMatched = [], contextBackup = outermostContext, elems = seed || byElement && Expr.find.TAG('*', outermost), dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1, len = elems.length;\n          if (outermost) {\n            outermostContext = context !== document$1 && context;\n          }\n          for (; i !== len && (elem = elems[i]) != null; i++) {\n            if (byElement && elem) {\n              j = 0;\n              while (matcher = elementMatchers[j++]) {\n                if (matcher(elem, context, xml)) {\n                  results.push(elem);\n                  break;\n                }\n              }\n              if (outermost) {\n                dirruns = dirrunsUnique;\n              }\n            }\n            if (bySet) {\n              if (elem = !matcher && elem) {\n                matchedCount--;\n              }\n              if (seed) {\n                unmatched.push(elem);\n              }\n            }\n          }\n          matchedCount += i;\n          if (bySet && i !== matchedCount) {\n            j = 0;\n            while (matcher = setMatchers[j++]) {\n              matcher(unmatched, setMatched, context, xml);\n            }\n            if (seed) {\n              if (matchedCount > 0) {\n                while (i--) {\n                  if (!(unmatched[i] || setMatched[i])) {\n                    setMatched[i] = pop.call(results);\n                  }\n                }\n              }\n              setMatched = condense(setMatched);\n            }\n            push$1.apply(results, setMatched);\n            if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) {\n              Sizzle.uniqueSort(results);\n            }\n          }\n          if (outermost) {\n            dirruns = dirrunsUnique;\n            outermostContext = contextBackup;\n          }\n          return unmatched;\n        };\n      return bySet ? markFunction(superMatcher) : superMatcher;\n    }\n    compile = Sizzle.compile = function (selector, match) {\n      var i, setMatchers = [], elementMatchers = [], cached = compilerCache[selector + ' '];\n      if (!cached) {\n        if (!match) {\n          match = tokenize(selector);\n        }\n        i = match.length;\n        while (i--) {\n          cached = matcherFromTokens(match[i]);\n          if (cached[expando]) {\n            setMatchers.push(cached);\n          } else {\n            elementMatchers.push(cached);\n          }\n        }\n        cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers));\n        cached.selector = selector;\n      }\n      return cached;\n    };\n    select$1 = Sizzle.select = function (selector, context, results, seed) {\n      var i, tokens, token, type, find, compiled = typeof selector === 'function' && selector, match = !seed && tokenize(selector = compiled.selector || selector);\n      results = results || [];\n      if (match.length === 1) {\n        tokens = match[0] = match[0].slice(0);\n        if (tokens.length > 2 && (token = tokens[0]).type === 'ID' && support.getById && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {\n          context = (Expr.find.ID(token.matches[0].replace(runescape, funescape), context) || [])[0];\n          if (!context) {\n            return results;\n          } else if (compiled) {\n            context = context.parentNode;\n          }\n          selector = selector.slice(tokens.shift().value.length);\n        }\n        i = matchExpr.needsContext.test(selector) ? 0 : tokens.length;\n        while (i--) {\n          token = tokens[i];\n          if (Expr.relative[type = token.type]) {\n            break;\n          }\n          if (find = Expr.find[type]) {\n            if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) {\n              tokens.splice(i, 1);\n              selector = seed.length && toSelector(tokens);\n              if (!selector) {\n                push$1.apply(results, seed);\n                return results;\n              }\n              break;\n            }\n          }\n        }\n      }\n      (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, rsibling.test(selector) && testContext(context.parentNode) || context);\n      return results;\n    };\n    support.sortStable = expando.split('').sort(sortOrder).join('') === expando;\n    support.detectDuplicates = !!hasDuplicate;\n    setDocument();\n    support.sortDetached = true;\n\n    var doc = document;\n    var push = Array.prototype.push;\n    var slice = Array.prototype.slice;\n    var rquickExpr = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/;\n    var Event$1 = EventUtils.Event;\n    var skipUniques = Tools.makeMap('children,contents,next,prev');\n    var isDefined = function (obj) {\n      return typeof obj !== 'undefined';\n    };\n    var isString = function (obj) {\n      return typeof obj === 'string';\n    };\n    var isWindow = function (obj) {\n      return obj && obj === obj.window;\n    };\n    var createFragment$1 = function (html, fragDoc) {\n      fragDoc = fragDoc || doc;\n      var container = fragDoc.createElement('div');\n      var frag = fragDoc.createDocumentFragment();\n      container.innerHTML = html;\n      var node;\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    var domManipulate = function (targetNodes, sourceItem, callback, reverse) {\n      var i;\n      if (isString(sourceItem)) {\n        sourceItem = createFragment$1(sourceItem, getElementDocument(targetNodes[0]));\n      } else if (sourceItem.length && !sourceItem.nodeType) {\n        sourceItem = DomQuery.makeArray(sourceItem);\n        if (reverse) {\n          for (i = sourceItem.length - 1; i >= 0; i--) {\n            domManipulate(targetNodes, sourceItem[i], callback, reverse);\n          }\n        } else {\n          for (i = 0; i < sourceItem.length; i++) {\n            domManipulate(targetNodes, sourceItem[i], callback, reverse);\n          }\n        }\n        return targetNodes;\n      }\n      if (sourceItem.nodeType) {\n        i = targetNodes.length;\n        while (i--) {\n          callback.call(targetNodes[i], sourceItem);\n        }\n      }\n      return targetNodes;\n    };\n    var hasClass = function (node, className) {\n      return node && className && (' ' + node.className + ' ').indexOf(' ' + className + ' ') !== -1;\n    };\n    var wrap$2 = function (elements, wrapper, all) {\n      var lastParent, newWrapper;\n      wrapper = DomQuery(wrapper)[0];\n      elements.each(function () {\n        var self = this;\n        if (!all || lastParent !== self.parentNode) {\n          lastParent = self.parentNode;\n          newWrapper = wrapper.cloneNode(false);\n          self.parentNode.insertBefore(newWrapper, self);\n          newWrapper.appendChild(self);\n        } else {\n          newWrapper.appendChild(self);\n        }\n      });\n      return elements;\n    };\n    var numericCssMap = Tools.makeMap('fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom', ' ');\n    var booleanMap = Tools.makeMap('checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected', ' ');\n    var propFix = {\n      for: 'htmlFor',\n      class: 'className',\n      readonly: 'readOnly'\n    };\n    var cssFix = { float: 'cssFloat' };\n    var attrHooks = {}, cssHooks = {};\n    var DomQueryConstructor = function (selector, context) {\n      return new DomQuery.fn.init(selector, context);\n    };\n    var inArray$1 = function (item, array) {\n      var i;\n      if (array.indexOf) {\n        return array.indexOf(item);\n      }\n      i = array.length;\n      while (i--) {\n        if (array[i] === item) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var whiteSpaceRegExp = /^\\s*|\\s*$/g;\n    var trim$1 = function (str) {\n      return str === null || str === undefined ? '' : ('' + str).replace(whiteSpaceRegExp, '');\n    };\n    var each$g = function (obj, callback) {\n      var length, key, i, value;\n      if (obj) {\n        length = obj.length;\n        if (length === undefined) {\n          for (key in obj) {\n            if (obj.hasOwnProperty(key)) {\n              value = obj[key];\n              if (callback.call(value, key, value) === false) {\n                break;\n              }\n            }\n          }\n        } else {\n          for (i = 0; i < length; i++) {\n            value = obj[i];\n            if (callback.call(value, i, value) === false) {\n              break;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    var grep$2 = function (array, callback) {\n      var out = [];\n      each$g(array, function (i, item) {\n        if (callback(item, i)) {\n          out.push(item);\n        }\n      });\n      return out;\n    };\n    var getElementDocument = function (element) {\n      if (!element) {\n        return doc;\n      }\n      if (element.nodeType === 9) {\n        return element;\n      }\n      return element.ownerDocument;\n    };\n    DomQueryConstructor.fn = DomQueryConstructor.prototype = {\n      constructor: DomQueryConstructor,\n      selector: '',\n      context: null,\n      length: 0,\n      init: function (selector, context) {\n        var self = this;\n        var match, node;\n        if (!selector) {\n          return self;\n        }\n        if (selector.nodeType) {\n          self.context = self[0] = selector;\n          self.length = 1;\n          return self;\n        }\n        if (context && context.nodeType) {\n          self.context = context;\n        } else {\n          if (context) {\n            return DomQuery(selector).attr(context);\n          }\n          self.context = context = document;\n        }\n        if (isString(selector)) {\n          self.selector = selector;\n          if (selector.charAt(0) === '<' && selector.charAt(selector.length - 1) === '>' && selector.length >= 3) {\n            match = [\n              null,\n              selector,\n              null\n            ];\n          } else {\n            match = rquickExpr.exec(selector);\n          }\n          if (match) {\n            if (match[1]) {\n              node = createFragment$1(selector, getElementDocument(context)).firstChild;\n              while (node) {\n                push.call(self, node);\n                node = node.nextSibling;\n              }\n            } else {\n              node = getElementDocument(context).getElementById(match[2]);\n              if (!node) {\n                return self;\n              }\n              if (node.id !== match[2]) {\n                return self.find(selector);\n              }\n              self.length = 1;\n              self[0] = node;\n            }\n          } else {\n            return DomQuery(context).find(selector);\n          }\n        } else {\n          this.add(selector, false);\n        }\n        return self;\n      },\n      toArray: function () {\n        return Tools.toArray(this);\n      },\n      add: function (items, sort) {\n        var self = this;\n        var nodes, i;\n        if (isString(items)) {\n          return self.add(DomQuery(items));\n        }\n        if (sort !== false) {\n          nodes = DomQuery.unique(self.toArray().concat(DomQuery.makeArray(items)));\n          self.length = nodes.length;\n          for (i = 0; i < nodes.length; i++) {\n            self[i] = nodes[i];\n          }\n        } else {\n          push.apply(self, DomQuery.makeArray(items));\n        }\n        return self;\n      },\n      attr: function (name, value) {\n        var self = this;\n        var hook;\n        if (typeof name === 'object') {\n          each$g(name, function (name, value) {\n            self.attr(name, value);\n          });\n        } else if (isDefined(value)) {\n          this.each(function () {\n            var hook;\n            if (this.nodeType === 1) {\n              hook = attrHooks[name];\n              if (hook && hook.set) {\n                hook.set(this, value);\n                return;\n              }\n              if (value === null) {\n                this.removeAttribute(name, 2);\n              } else {\n                this.setAttribute(name, value, 2);\n              }\n            }\n          });\n        } else {\n          if (self[0] && self[0].nodeType === 1) {\n            hook = attrHooks[name];\n            if (hook && hook.get) {\n              return hook.get(self[0], name);\n            }\n            if (booleanMap[name]) {\n              return self.prop(name) ? name : undefined;\n            }\n            value = self[0].getAttribute(name, 2);\n            if (value === null) {\n              value = undefined;\n            }\n          }\n          return value;\n        }\n        return self;\n      },\n      removeAttr: function (name) {\n        return this.attr(name, null);\n      },\n      prop: function (name, value) {\n        var self = this;\n        name = propFix[name] || name;\n        if (typeof name === 'object') {\n          each$g(name, function (name, value) {\n            self.prop(name, value);\n          });\n        } else if (isDefined(value)) {\n          this.each(function () {\n            if (this.nodeType === 1) {\n              this[name] = value;\n            }\n          });\n        } else {\n          if (self[0] && self[0].nodeType && name in self[0]) {\n            return self[0][name];\n          }\n          return value;\n        }\n        return self;\n      },\n      css: function (name, value) {\n        var self = this;\n        var elm, hook;\n        var camel = function (name) {\n          return name.replace(/-(\\D)/g, function (a, b) {\n            return b.toUpperCase();\n          });\n        };\n        var dashed = function (name) {\n          return name.replace(/[A-Z]/g, function (a) {\n            return '-' + a;\n          });\n        };\n        if (typeof name === 'object') {\n          each$g(name, function (name, value) {\n            self.css(name, value);\n          });\n        } else {\n          if (isDefined(value)) {\n            name = camel(name);\n            if (typeof value === 'number' && !numericCssMap[name]) {\n              value = value.toString() + 'px';\n            }\n            self.each(function () {\n              var style = this.style;\n              hook = cssHooks[name];\n              if (hook && hook.set) {\n                hook.set(this, value);\n                return;\n              }\n              try {\n                this.style[cssFix[name] || name] = value;\n              } catch (ex) {\n              }\n              if (value === null || value === '') {\n                if (style.removeProperty) {\n                  style.removeProperty(dashed(name));\n                } else {\n                  style.removeAttribute(name);\n                }\n              }\n            });\n          } else {\n            elm = self[0];\n            hook = cssHooks[name];\n            if (hook && hook.get) {\n              return hook.get(elm);\n            }\n            if (elm.ownerDocument.defaultView) {\n              try {\n                return elm.ownerDocument.defaultView.getComputedStyle(elm, null).getPropertyValue(dashed(name));\n              } catch (ex) {\n                return undefined;\n              }\n            } else if (elm.currentStyle) {\n              return elm.currentStyle[camel(name)];\n            } else {\n              return '';\n            }\n          }\n        }\n        return self;\n      },\n      remove: function () {\n        var self = this;\n        var node, i = this.length;\n        while (i--) {\n          node = self[i];\n          Event$1.clean(node);\n          if (node.parentNode) {\n            node.parentNode.removeChild(node);\n          }\n        }\n        return this;\n      },\n      empty: function () {\n        var self = this;\n        var node, i = this.length;\n        while (i--) {\n          node = self[i];\n          while (node.firstChild) {\n            node.removeChild(node.firstChild);\n          }\n        }\n        return this;\n      },\n      html: function (value) {\n        var self = this;\n        var i;\n        if (isDefined(value)) {\n          i = self.length;\n          try {\n            while (i--) {\n              self[i].innerHTML = value;\n            }\n          } catch (ex) {\n            DomQuery(self[i]).empty().append(value);\n          }\n          return self;\n        }\n        return self[0] ? self[0].innerHTML : '';\n      },\n      text: function (value) {\n        var self = this;\n        var i;\n        if (isDefined(value)) {\n          i = self.length;\n          while (i--) {\n            if ('innerText' in self[i]) {\n              self[i].innerText = value;\n            } else {\n              self[0].textContent = value;\n            }\n          }\n          return self;\n        }\n        return self[0] ? self[0].innerText || self[0].textContent : '';\n      },\n      append: function () {\n        return domManipulate(this, arguments, function (node) {\n          if (this.nodeType === 1 || this.host && this.host.nodeType === 1) {\n            this.appendChild(node);\n          }\n        });\n      },\n      prepend: function () {\n        return domManipulate(this, arguments, function (node) {\n          if (this.nodeType === 1 || this.host && this.host.nodeType === 1) {\n            this.insertBefore(node, this.firstChild);\n          }\n        }, true);\n      },\n      before: function () {\n        var self = this;\n        if (self[0] && self[0].parentNode) {\n          return domManipulate(self, arguments, function (node) {\n            this.parentNode.insertBefore(node, this);\n          });\n        }\n        return self;\n      },\n      after: function () {\n        var self = this;\n        if (self[0] && self[0].parentNode) {\n          return domManipulate(self, arguments, function (node) {\n            this.parentNode.insertBefore(node, this.nextSibling);\n          }, true);\n        }\n        return self;\n      },\n      appendTo: function (val) {\n        DomQuery(val).append(this);\n        return this;\n      },\n      prependTo: function (val) {\n        DomQuery(val).prepend(this);\n        return this;\n      },\n      replaceWith: function (content) {\n        return this.before(content).remove();\n      },\n      wrap: function (content) {\n        return wrap$2(this, content);\n      },\n      wrapAll: function (content) {\n        return wrap$2(this, content, true);\n      },\n      wrapInner: function (content) {\n        this.each(function () {\n          DomQuery(this).contents().wrapAll(content);\n        });\n        return this;\n      },\n      unwrap: function () {\n        return this.parent().each(function () {\n          DomQuery(this).replaceWith(this.childNodes);\n        });\n      },\n      clone: function () {\n        var result = [];\n        this.each(function () {\n          result.push(this.cloneNode(true));\n        });\n        return DomQuery(result);\n      },\n      addClass: function (className) {\n        return this.toggleClass(className, true);\n      },\n      removeClass: function (className) {\n        return this.toggleClass(className, false);\n      },\n      toggleClass: function (className, state) {\n        var self = this;\n        if (typeof className !== 'string') {\n          return self;\n        }\n        if (className.indexOf(' ') !== -1) {\n          each$g(className.split(' '), function () {\n            self.toggleClass(this, state);\n          });\n        } else {\n          self.each(function (index, node) {\n            var classState = hasClass(node, className);\n            if (classState !== state) {\n              var existingClassName = node.className;\n              if (classState) {\n                node.className = trim$1((' ' + existingClassName + ' ').replace(' ' + className + ' ', ' '));\n              } else {\n                node.className += existingClassName ? ' ' + className : className;\n              }\n            }\n          });\n        }\n        return self;\n      },\n      hasClass: function (className) {\n        return hasClass(this[0], className);\n      },\n      each: function (callback) {\n        return each$g(this, callback);\n      },\n      on: function (name, callback) {\n        return this.each(function () {\n          Event$1.bind(this, name, callback);\n        });\n      },\n      off: function (name, callback) {\n        return this.each(function () {\n          Event$1.unbind(this, name, callback);\n        });\n      },\n      trigger: function (name) {\n        return this.each(function () {\n          if (typeof name === 'object') {\n            Event$1.fire(this, name.type, name);\n          } else {\n            Event$1.fire(this, name);\n          }\n        });\n      },\n      show: function () {\n        return this.css('display', '');\n      },\n      hide: function () {\n        return this.css('display', 'none');\n      },\n      slice: function () {\n        return DomQuery(slice.apply(this, arguments));\n      },\n      eq: function (index) {\n        return index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n      },\n      first: function () {\n        return this.eq(0);\n      },\n      last: function () {\n        return this.eq(-1);\n      },\n      find: function (selector) {\n        var i, l;\n        var ret = [];\n        for (i = 0, l = this.length; i < l; i++) {\n          DomQuery.find(selector, this[i], ret);\n        }\n        return DomQuery(ret);\n      },\n      filter: function (selector) {\n        if (typeof selector === 'function') {\n          return DomQuery(grep$2(this.toArray(), function (item, i) {\n            return selector(i, item);\n          }));\n        }\n        return DomQuery(DomQuery.filter(selector, this.toArray()));\n      },\n      closest: function (selector) {\n        var result = [];\n        if (selector instanceof DomQuery) {\n          selector = selector[0];\n        }\n        this.each(function (i, node) {\n          while (node) {\n            if (typeof selector === 'string' && DomQuery(node).is(selector)) {\n              result.push(node);\n              break;\n            } else if (node === selector) {\n              result.push(node);\n              break;\n            }\n            node = node.parentNode;\n          }\n        });\n        return DomQuery(result);\n      },\n      offset: function (offset) {\n        var elm, doc, docElm;\n        var x = 0, y = 0, pos;\n        if (!offset) {\n          elm = this[0];\n          if (elm) {\n            doc = elm.ownerDocument;\n            docElm = doc.documentElement;\n            if (elm.getBoundingClientRect) {\n              pos = elm.getBoundingClientRect();\n              x = pos.left + (docElm.scrollLeft || doc.body.scrollLeft) - docElm.clientLeft;\n              y = pos.top + (docElm.scrollTop || doc.body.scrollTop) - docElm.clientTop;\n            }\n          }\n          return {\n            left: x,\n            top: y\n          };\n        }\n        return this.css(offset);\n      },\n      push: push,\n      sort: Array.prototype.sort,\n      splice: Array.prototype.splice\n    };\n    Tools.extend(DomQueryConstructor, {\n      extend: Tools.extend,\n      makeArray: function (object) {\n        if (isWindow(object) || object.nodeType) {\n          return [object];\n        }\n        return Tools.toArray(object);\n      },\n      inArray: inArray$1,\n      isArray: Tools.isArray,\n      each: each$g,\n      trim: trim$1,\n      grep: grep$2,\n      find: Sizzle,\n      expr: Sizzle.selectors,\n      unique: Sizzle.uniqueSort,\n      text: Sizzle.getText,\n      contains: Sizzle.contains,\n      filter: function (expr, elems, not) {\n        var i = elems.length;\n        if (not) {\n          expr = ':not(' + expr + ')';\n        }\n        while (i--) {\n          if (elems[i].nodeType !== 1) {\n            elems.splice(i, 1);\n          }\n        }\n        if (elems.length === 1) {\n          elems = DomQuery.find.matchesSelector(elems[0], expr) ? [elems[0]] : [];\n        } else {\n          elems = DomQuery.find.matches(expr, elems);\n        }\n        return elems;\n      }\n    });\n    var dir = function (el, prop, until) {\n      var matched = [];\n      var cur = el[prop];\n      if (typeof until !== 'string' && until instanceof DomQuery) {\n        until = until[0];\n      }\n      while (cur && cur.nodeType !== 9) {\n        if (until !== undefined) {\n          if (cur === until) {\n            break;\n          }\n          if (typeof until === 'string' && DomQuery(cur).is(until)) {\n            break;\n          }\n        }\n        if (cur.nodeType === 1) {\n          matched.push(cur);\n        }\n        cur = cur[prop];\n      }\n      return matched;\n    };\n    var sibling$1 = function (node, siblingName, nodeType, until) {\n      var result = [];\n      if (until instanceof DomQuery) {\n        until = until[0];\n      }\n      for (; node; node = node[siblingName]) {\n        if (nodeType && node.nodeType !== nodeType) {\n          continue;\n        }\n        if (until !== undefined) {\n          if (node === until) {\n            break;\n          }\n          if (typeof until === 'string' && DomQuery(node).is(until)) {\n            break;\n          }\n        }\n        result.push(node);\n      }\n      return result;\n    };\n    var firstSibling = function (node, siblingName, nodeType) {\n      for (node = node[siblingName]; node; node = node[siblingName]) {\n        if (node.nodeType === nodeType) {\n          return node;\n        }\n      }\n      return null;\n    };\n    each$g({\n      parent: function (node) {\n        var parent = node.parentNode;\n        return parent && parent.nodeType !== 11 ? parent : null;\n      },\n      parents: function (node) {\n        return dir(node, 'parentNode');\n      },\n      next: function (node) {\n        return firstSibling(node, 'nextSibling', 1);\n      },\n      prev: function (node) {\n        return firstSibling(node, 'previousSibling', 1);\n      },\n      children: function (node) {\n        return sibling$1(node.firstChild, 'nextSibling', 1);\n      },\n      contents: function (node) {\n        return Tools.toArray((node.nodeName === 'iframe' ? node.contentDocument || node.contentWindow.document : node).childNodes);\n      }\n    }, function (name, fn) {\n      DomQueryConstructor.fn[name] = function (selector) {\n        var self = this;\n        var result = [];\n        self.each(function () {\n          var nodes = fn.call(result, this, selector, result);\n          if (nodes) {\n            if (DomQuery.isArray(nodes)) {\n              result.push.apply(result, nodes);\n            } else {\n              result.push(nodes);\n            }\n          }\n        });\n        if (this.length > 1) {\n          if (!skipUniques[name]) {\n            result = DomQuery.unique(result);\n          }\n          if (name.indexOf('parents') === 0) {\n            result = result.reverse();\n          }\n        }\n        var wrappedResult = DomQuery(result);\n        if (selector) {\n          return wrappedResult.filter(selector);\n        }\n        return wrappedResult;\n      };\n    });\n    each$g({\n      parentsUntil: function (node, until) {\n        return dir(node, 'parentNode', until);\n      },\n      nextUntil: function (node, until) {\n        return sibling$1(node, 'nextSibling', 1, until).slice(1);\n      },\n      prevUntil: function (node, until) {\n        return sibling$1(node, 'previousSibling', 1, until).slice(1);\n      }\n    }, function (name, fn) {\n      DomQueryConstructor.fn[name] = function (selector, filter) {\n        var self = this;\n        var result = [];\n        self.each(function () {\n          var nodes = fn.call(result, this, selector, result);\n          if (nodes) {\n            if (DomQuery.isArray(nodes)) {\n              result.push.apply(result, nodes);\n            } else {\n              result.push(nodes);\n            }\n          }\n        });\n        if (this.length > 1) {\n          result = DomQuery.unique(result);\n          if (name.indexOf('parents') === 0 || name === 'prevUntil') {\n            result = result.reverse();\n          }\n        }\n        var wrappedResult = DomQuery(result);\n        if (filter) {\n          return wrappedResult.filter(filter);\n        }\n        return wrappedResult;\n      };\n    });\n    DomQueryConstructor.fn.is = function (selector) {\n      return !!selector && this.filter(selector).length > 0;\n    };\n    DomQueryConstructor.fn.init.prototype = DomQueryConstructor.fn;\n    DomQueryConstructor.overrideDefaults = function (callback) {\n      var defaults;\n      var sub = function (selector, context) {\n        defaults = defaults || callback();\n        if (arguments.length === 0) {\n          selector = defaults.element;\n        }\n        if (!context) {\n          context = defaults.context;\n        }\n        return new sub.fn.init(selector, context);\n      };\n      DomQuery.extend(sub, this);\n      return sub;\n    };\n    DomQueryConstructor.attrHooks = attrHooks;\n    DomQueryConstructor.cssHooks = cssHooks;\n    var DomQuery = DomQueryConstructor;\n\n    var each$f = Tools.each;\n    var grep$1 = Tools.grep;\n    var isIE = Env.ie;\n    var simpleSelectorRe = /^([a-z0-9],?)+$/i;\n    var setupAttrHooks = function (styles, settings, getContext) {\n      var keepValues = settings.keep_values;\n      var keepUrlHook = {\n        set: function ($elm, value, name) {\n          if (settings.url_converter && value !== null) {\n            value = settings.url_converter.call(settings.url_converter_scope || getContext(), value, name, $elm[0]);\n          }\n          $elm.attr('data-mce-' + name, value).attr(name, value);\n        },\n        get: function ($elm, name) {\n          return $elm.attr('data-mce-' + name) || $elm.attr(name);\n        }\n      };\n      var attrHooks = {\n        style: {\n          set: function ($elm, value) {\n            if (value !== null && typeof value === 'object') {\n              $elm.css(value);\n              return;\n            }\n            if (keepValues) {\n              $elm.attr('data-mce-style', value);\n            }\n            if (value !== null && typeof value === 'string') {\n              $elm.removeAttr('style');\n              $elm.css(styles.parse(value));\n            } else {\n              $elm.attr('style', value);\n            }\n          },\n          get: function ($elm) {\n            var value = $elm.attr('data-mce-style') || $elm.attr('style');\n            value = styles.serialize(styles.parse(value), $elm[0].nodeName);\n            return value;\n          }\n        }\n      };\n      if (keepValues) {\n        attrHooks.href = attrHooks.src = keepUrlHook;\n      }\n      return attrHooks;\n    };\n    var updateInternalStyleAttr = function (styles, $elm) {\n      var rawValue = $elm.attr('style');\n      var value = styles.serialize(styles.parse(rawValue), $elm[0].nodeName);\n      if (!value) {\n        value = null;\n      }\n      $elm.attr('data-mce-style', value);\n    };\n    var findNodeIndex = function (node, normalized) {\n      var idx = 0, lastNodeType, nodeType;\n      if (node) {\n        for (lastNodeType = node.nodeType, node = node.previousSibling; node; node = node.previousSibling) {\n          nodeType = node.nodeType;\n          if (normalized && nodeType === 3) {\n            if (nodeType === lastNodeType || !node.nodeValue.length) {\n              continue;\n            }\n          }\n          idx++;\n          lastNodeType = nodeType;\n        }\n      }\n      return idx;\n    };\n    var DOMUtils = function (doc, settings) {\n      if (settings === void 0) {\n        settings = {};\n      }\n      var addedStyles = {};\n      var win = window;\n      var files = {};\n      var counter = 0;\n      var stdMode = true;\n      var boxModel = true;\n      var styleSheetLoader = instance.forElement(SugarElement.fromDom(doc), {\n        contentCssCors: settings.contentCssCors,\n        referrerPolicy: settings.referrerPolicy\n      });\n      var boundEvents = [];\n      var schema = settings.schema ? settings.schema : Schema({});\n      var styles = Styles({\n        url_converter: settings.url_converter,\n        url_converter_scope: settings.url_converter_scope\n      }, settings.schema);\n      var events = settings.ownEvents ? new EventUtils() : EventUtils.Event;\n      var blockElementsMap = schema.getBlockElements();\n      var $ = DomQuery.overrideDefaults(function () {\n        return {\n          context: doc,\n          element: self.getRoot()\n        };\n      });\n      var isBlock = function (node) {\n        if (typeof node === 'string') {\n          return !!blockElementsMap[node];\n        } else if (node) {\n          var type = node.nodeType;\n          if (type) {\n            return !!(type === 1 && blockElementsMap[node.nodeName]);\n          }\n        }\n        return false;\n      };\n      var get = function (elm) {\n        return elm && doc && isString$1(elm) ? doc.getElementById(elm) : elm;\n      };\n      var $$ = function (elm) {\n        return $(typeof elm === 'string' ? get(elm) : elm);\n      };\n      var getAttrib = function (elm, name, defaultVal) {\n        var hook, value;\n        var $elm = $$(elm);\n        if ($elm.length) {\n          hook = attrHooks[name];\n          if (hook && hook.get) {\n            value = hook.get($elm, name);\n          } else {\n            value = $elm.attr(name);\n          }\n        }\n        if (typeof value === 'undefined') {\n          value = defaultVal || '';\n        }\n        return value;\n      };\n      var getAttribs = function (elm) {\n        var node = get(elm);\n        if (!node) {\n          return [];\n        }\n        return node.attributes;\n      };\n      var setAttrib = function (elm, name, value) {\n        if (value === '') {\n          value = null;\n        }\n        var $elm = $$(elm);\n        var originalValue = $elm.attr(name);\n        if (!$elm.length) {\n          return;\n        }\n        var hook = attrHooks[name];\n        if (hook && hook.set) {\n          hook.set($elm, value, name);\n        } else {\n          $elm.attr(name, value);\n        }\n        if (originalValue !== value && settings.onSetAttrib) {\n          settings.onSetAttrib({\n            attrElm: $elm,\n            attrName: name,\n            attrValue: value\n          });\n        }\n      };\n      var clone = function (node, deep) {\n        if (!isIE || node.nodeType !== 1 || deep) {\n          return node.cloneNode(deep);\n        } else {\n          var clone_1 = doc.createElement(node.nodeName);\n          each$f(getAttribs(node), function (attr) {\n            setAttrib(clone_1, attr.nodeName, getAttrib(node, attr.nodeName));\n          });\n          return clone_1;\n        }\n      };\n      var getRoot = function () {\n        return settings.root_element || doc.body;\n      };\n      var getViewPort = function (argWin) {\n        var vp = getBounds(argWin);\n        return {\n          x: vp.x,\n          y: vp.y,\n          w: vp.width,\n          h: vp.height\n        };\n      };\n      var getPos$1 = function (elm, rootElm) {\n        return getPos(doc.body, get(elm), rootElm);\n      };\n      var setStyle = function (elm, name, value) {\n        var $elm = isString$1(name) ? $$(elm).css(name, value) : $$(elm).css(name);\n        if (settings.update_styles) {\n          updateInternalStyleAttr(styles, $elm);\n        }\n      };\n      var setStyles = function (elm, stylesArg) {\n        var $elm = $$(elm).css(stylesArg);\n        if (settings.update_styles) {\n          updateInternalStyleAttr(styles, $elm);\n        }\n      };\n      var getStyle = function (elm, name, computed) {\n        var $elm = $$(elm);\n        if (computed) {\n          return $elm.css(name);\n        }\n        name = name.replace(/-(\\D)/g, function (a, b) {\n          return b.toUpperCase();\n        });\n        if (name === 'float') {\n          name = Env.browser.isIE() ? 'styleFloat' : 'cssFloat';\n        }\n        return $elm[0] && $elm[0].style ? $elm[0].style[name] : undefined;\n      };\n      var getSize = function (elm) {\n        var w, h;\n        elm = get(elm);\n        w = getStyle(elm, 'width');\n        h = getStyle(elm, 'height');\n        if (w.indexOf('px') === -1) {\n          w = 0;\n        }\n        if (h.indexOf('px') === -1) {\n          h = 0;\n        }\n        return {\n          w: parseInt(w, 10) || elm.offsetWidth || elm.clientWidth,\n          h: parseInt(h, 10) || elm.offsetHeight || elm.clientHeight\n        };\n      };\n      var getRect = function (elm) {\n        elm = get(elm);\n        var pos = getPos$1(elm);\n        var size = getSize(elm);\n        return {\n          x: pos.x,\n          y: pos.y,\n          w: size.w,\n          h: size.h\n        };\n      };\n      var is = function (elm, selector) {\n        var i;\n        if (!elm) {\n          return false;\n        }\n        if (!Array.isArray(elm)) {\n          if (selector === '*') {\n            return elm.nodeType === 1;\n          }\n          if (simpleSelectorRe.test(selector)) {\n            var selectors = selector.toLowerCase().split(/,/);\n            var elmName = elm.nodeName.toLowerCase();\n            for (i = selectors.length - 1; i >= 0; i--) {\n              if (selectors[i] === elmName) {\n                return true;\n              }\n            }\n            return false;\n          }\n          if (elm.nodeType && elm.nodeType !== 1) {\n            return false;\n          }\n        }\n        var elms = !Array.isArray(elm) ? [elm] : elm;\n        return Sizzle(selector, elms[0].ownerDocument || elms[0], null, elms).length > 0;\n      };\n      var getParents = function (elm, selector, root, collect) {\n        var result = [];\n        var selectorVal;\n        var node = get(elm);\n        collect = collect === undefined;\n        root = root || (getRoot().nodeName !== 'BODY' ? getRoot().parentNode : null);\n        if (Tools.is(selector, 'string')) {\n          selectorVal = selector;\n          if (selector === '*') {\n            selector = function (node) {\n              return node.nodeType === 1;\n            };\n          } else {\n            selector = function (node) {\n              return is(node, selectorVal);\n            };\n          }\n        }\n        while (node) {\n          if (node === root || isNullable(node.nodeType) || isDocument$1(node) || isDocumentFragment(node)) {\n            break;\n          }\n          if (!selector || typeof selector === 'function' && selector(node)) {\n            if (collect) {\n              result.push(node);\n            } else {\n              return [node];\n            }\n          }\n          node = node.parentNode;\n        }\n        return collect ? result : null;\n      };\n      var getParent = function (node, selector, root) {\n        var parents = getParents(node, selector, root, false);\n        return parents && parents.length > 0 ? parents[0] : null;\n      };\n      var _findSib = function (node, selector, name) {\n        var func = selector;\n        if (node) {\n          if (typeof selector === 'string') {\n            func = function (node) {\n              return is(node, selector);\n            };\n          }\n          for (node = node[name]; node; node = node[name]) {\n            if (typeof func === 'function' && func(node)) {\n              return node;\n            }\n          }\n        }\n        return null;\n      };\n      var getNext = function (node, selector) {\n        return _findSib(node, selector, 'nextSibling');\n      };\n      var getPrev = function (node, selector) {\n        return _findSib(node, selector, 'previousSibling');\n      };\n      var select = function (selector, scope) {\n        return Sizzle(selector, get(scope) || settings.root_element || doc, []);\n      };\n      var run = function (elm, func, scope) {\n        var result;\n        var node = typeof elm === 'string' ? get(elm) : elm;\n        if (!node) {\n          return false;\n        }\n        if (Tools.isArray(node) && (node.length || node.length === 0)) {\n          result = [];\n          each$f(node, function (elm, i) {\n            if (elm) {\n              result.push(func.call(scope, typeof elm === 'string' ? get(elm) : elm, i));\n            }\n          });\n          return result;\n        }\n        var context = scope ? scope : this;\n        return func.call(context, node);\n      };\n      var setAttribs = function (elm, attrs) {\n        $$(elm).each(function (i, node) {\n          each$f(attrs, function (value, name) {\n            setAttrib(node, name, value);\n          });\n        });\n      };\n      var setHTML = function (elm, html) {\n        var $elm = $$(elm);\n        if (isIE) {\n          $elm.each(function (i, target) {\n            if (target.canHaveHTML === false) {\n              return;\n            }\n            while (target.firstChild) {\n              target.removeChild(target.firstChild);\n            }\n            try {\n              target.innerHTML = '<br>' + html;\n              target.removeChild(target.firstChild);\n            } catch (ex) {\n              DomQuery('<div></div>').html('<br>' + html).contents().slice(1).appendTo(target);\n            }\n            return html;\n          });\n        } else {\n          $elm.html(html);\n        }\n      };\n      var add = function (parentElm, name, attrs, html, create) {\n        return run(parentElm, function (parentElm) {\n          var newElm = typeof name === 'string' ? doc.createElement(name) : name;\n          setAttribs(newElm, attrs);\n          if (html) {\n            if (typeof html !== 'string' && html.nodeType) {\n              newElm.appendChild(html);\n            } else if (typeof html === 'string') {\n              setHTML(newElm, html);\n            }\n          }\n          return !create ? parentElm.appendChild(newElm) : newElm;\n        });\n      };\n      var create = function (name, attrs, html) {\n        return add(doc.createElement(name), name, attrs, html, true);\n      };\n      var decode = Entities.decode;\n      var encode = Entities.encodeAllRaw;\n      var createHTML = function (name, attrs, html) {\n        var outHtml = '', key;\n        outHtml += '<' + name;\n        for (key in attrs) {\n          if (hasNonNullableKey(attrs, key)) {\n            outHtml += ' ' + key + '=\"' + encode(attrs[key]) + '\"';\n          }\n        }\n        if (typeof html !== 'undefined') {\n          return outHtml + '>' + html + '</' + name + '>';\n        }\n        return outHtml + ' />';\n      };\n      var createFragment = function (html) {\n        var node;\n        var container = doc.createElement('div');\n        var frag = doc.createDocumentFragment();\n        frag.appendChild(container);\n        if (html) {\n          container.innerHTML = html;\n        }\n        while (node = container.firstChild) {\n          frag.appendChild(node);\n        }\n        frag.removeChild(container);\n        return frag;\n      };\n      var remove = function (node, keepChildren) {\n        var $node = $$(node);\n        if (keepChildren) {\n          $node.each(function () {\n            var child;\n            while (child = this.firstChild) {\n              if (child.nodeType === 3 && child.data.length === 0) {\n                this.removeChild(child);\n              } else {\n                this.parentNode.insertBefore(child, this);\n              }\n            }\n          }).remove();\n        } else {\n          $node.remove();\n        }\n        return $node.length > 1 ? $node.toArray() : $node[0];\n      };\n      var removeAllAttribs = function (e) {\n        return run(e, function (e) {\n          var i;\n          var attrs = e.attributes;\n          for (i = attrs.length - 1; i >= 0; i--) {\n            e.removeAttributeNode(attrs.item(i));\n          }\n        });\n      };\n      var parseStyle = function (cssText) {\n        return styles.parse(cssText);\n      };\n      var serializeStyle = function (stylesArg, name) {\n        return styles.serialize(stylesArg, name);\n      };\n      var addStyle = function (cssText) {\n        var head, styleElm;\n        if (self !== DOMUtils.DOM && doc === document) {\n          if (addedStyles[cssText]) {\n            return;\n          }\n          addedStyles[cssText] = true;\n        }\n        styleElm = doc.getElementById('mceDefaultStyles');\n        if (!styleElm) {\n          styleElm = doc.createElement('style');\n          styleElm.id = 'mceDefaultStyles';\n          styleElm.type = 'text/css';\n          head = doc.getElementsByTagName('head')[0];\n          if (head.firstChild) {\n            head.insertBefore(styleElm, head.firstChild);\n          } else {\n            head.appendChild(styleElm);\n          }\n        }\n        if (styleElm.styleSheet) {\n          styleElm.styleSheet.cssText += cssText;\n        } else {\n          styleElm.appendChild(doc.createTextNode(cssText));\n        }\n      };\n      var loadCSS = function (urls) {\n        if (!urls) {\n          urls = '';\n        }\n        each$k(urls.split(','), function (url) {\n          files[url] = true;\n          styleSheetLoader.load(url, noop);\n        });\n      };\n      var toggleClass = function (elm, cls, state) {\n        $$(elm).toggleClass(cls, state).each(function () {\n          if (this.className === '') {\n            DomQuery(this).attr('class', null);\n          }\n        });\n      };\n      var addClass = function (elm, cls) {\n        $$(elm).addClass(cls);\n      };\n      var removeClass = function (elm, cls) {\n        toggleClass(elm, cls, false);\n      };\n      var hasClass = function (elm, cls) {\n        return $$(elm).hasClass(cls);\n      };\n      var show = function (elm) {\n        $$(elm).show();\n      };\n      var hide = function (elm) {\n        $$(elm).hide();\n      };\n      var isHidden = function (elm) {\n        return $$(elm).css('display') === 'none';\n      };\n      var uniqueId = function (prefix) {\n        return (!prefix ? 'mce_' : prefix) + counter++;\n      };\n      var getOuterHTML = function (elm) {\n        var node = typeof elm === 'string' ? get(elm) : elm;\n        return isElement$5(node) ? node.outerHTML : DomQuery('<div></div>').append(DomQuery(node).clone()).html();\n      };\n      var setOuterHTML = function (elm, html) {\n        $$(elm).each(function () {\n          try {\n            if ('outerHTML' in this) {\n              this.outerHTML = html;\n              return;\n            }\n          } catch (ex) {\n          }\n          remove(DomQuery(this).html(html), true);\n        });\n      };\n      var insertAfter = function (node, reference) {\n        var referenceNode = get(reference);\n        return run(node, function (node) {\n          var parent = referenceNode.parentNode;\n          var nextSibling = referenceNode.nextSibling;\n          if (nextSibling) {\n            parent.insertBefore(node, nextSibling);\n          } else {\n            parent.appendChild(node);\n          }\n          return node;\n        });\n      };\n      var replace = function (newElm, oldElm, keepChildren) {\n        return run(oldElm, function (oldElm) {\n          if (Tools.is(oldElm, 'array')) {\n            newElm = newElm.cloneNode(true);\n          }\n          if (keepChildren) {\n            each$f(grep$1(oldElm.childNodes), function (node) {\n              newElm.appendChild(node);\n            });\n          }\n          return oldElm.parentNode.replaceChild(newElm, oldElm);\n        });\n      };\n      var rename = function (elm, name) {\n        var newElm;\n        if (elm.nodeName !== name.toUpperCase()) {\n          newElm = create(name);\n          each$f(getAttribs(elm), function (attrNode) {\n            setAttrib(newElm, attrNode.nodeName, getAttrib(elm, attrNode.nodeName));\n          });\n          replace(newElm, elm, true);\n        }\n        return newElm || elm;\n      };\n      var findCommonAncestor = function (a, b) {\n        var ps = a, pe;\n        while (ps) {\n          pe = b;\n          while (pe && ps !== pe) {\n            pe = pe.parentNode;\n          }\n          if (ps === pe) {\n            break;\n          }\n          ps = ps.parentNode;\n        }\n        if (!ps && a.ownerDocument) {\n          return a.ownerDocument.documentElement;\n        }\n        return ps;\n      };\n      var toHex = function (rgbVal) {\n        return styles.toHex(Tools.trim(rgbVal));\n      };\n      var isNonEmptyElement = function (node) {\n        if (isElement$5(node)) {\n          var isNamedAnchor = node.nodeName.toLowerCase() === 'a' && !getAttrib(node, 'href') && getAttrib(node, 'id');\n          if (getAttrib(node, 'name') || getAttrib(node, 'data-mce-bookmark') || isNamedAnchor) {\n            return true;\n          }\n        }\n        return false;\n      };\n      var isEmpty = function (node, elements) {\n        var type, name, brCount = 0;\n        if (isNonEmptyElement(node)) {\n          return false;\n        }\n        node = node.firstChild;\n        if (node) {\n          var walker = new DomTreeWalker(node, node.parentNode);\n          var whitespace = schema ? schema.getWhiteSpaceElements() : {};\n          elements = elements || (schema ? schema.getNonEmptyElements() : null);\n          do {\n            type = node.nodeType;\n            if (isElement$5(node)) {\n              var bogusVal = node.getAttribute('data-mce-bogus');\n              if (bogusVal) {\n                node = walker.next(bogusVal === 'all');\n                continue;\n              }\n              name = node.nodeName.toLowerCase();\n              if (elements && elements[name]) {\n                if (name === 'br') {\n                  brCount++;\n                  node = walker.next();\n                  continue;\n                }\n                return false;\n              }\n              if (isNonEmptyElement(node)) {\n                return false;\n              }\n            }\n            if (type === 8) {\n              return false;\n            }\n            if (type === 3 && !isWhitespaceText(node.nodeValue)) {\n              return false;\n            }\n            if (type === 3 && node.parentNode && whitespace[node.parentNode.nodeName] && isWhitespaceText(node.nodeValue)) {\n              return false;\n            }\n            node = walker.next();\n          } while (node);\n        }\n        return brCount <= 1;\n      };\n      var createRng = function () {\n        return doc.createRange();\n      };\n      var split = function (parentElm, splitElm, replacementElm) {\n        var range = createRng();\n        var beforeFragment;\n        var afterFragment;\n        var parentNode;\n        if (parentElm && splitElm) {\n          range.setStart(parentElm.parentNode, findNodeIndex(parentElm));\n          range.setEnd(splitElm.parentNode, findNodeIndex(splitElm));\n          beforeFragment = range.extractContents();\n          range = createRng();\n          range.setStart(splitElm.parentNode, findNodeIndex(splitElm) + 1);\n          range.setEnd(parentElm.parentNode, findNodeIndex(parentElm) + 1);\n          afterFragment = range.extractContents();\n          parentNode = parentElm.parentNode;\n          parentNode.insertBefore(trimNode(self, beforeFragment), parentElm);\n          if (replacementElm) {\n            parentNode.insertBefore(replacementElm, parentElm);\n          } else {\n            parentNode.insertBefore(splitElm, parentElm);\n          }\n          parentNode.insertBefore(trimNode(self, afterFragment), parentElm);\n          remove(parentElm);\n          return replacementElm || splitElm;\n        }\n      };\n      var bind = function (target, name, func, scope) {\n        if (Tools.isArray(target)) {\n          var i = target.length;\n          var rv = [];\n          while (i--) {\n            rv[i] = bind(target[i], name, func, scope);\n          }\n          return rv;\n        }\n        if (settings.collect && (target === doc || target === win)) {\n          boundEvents.push([\n            target,\n            name,\n            func,\n            scope\n          ]);\n        }\n        var output = events.bind(target, name, func, scope || self);\n        return output;\n      };\n      var unbind = function (target, name, func) {\n        if (Tools.isArray(target)) {\n          var i = target.length;\n          var rv = [];\n          while (i--) {\n            rv[i] = unbind(target[i], name, func);\n          }\n          return rv;\n        } else {\n          if (boundEvents.length > 0 && (target === doc || target === win)) {\n            var i = boundEvents.length;\n            while (i--) {\n              var item = boundEvents[i];\n              if (target === item[0] && (!name || name === item[1]) && (!func || func === item[2])) {\n                events.unbind(item[0], item[1], item[2]);\n              }\n            }\n          }\n          return events.unbind(target, name, func);\n        }\n      };\n      var fire = function (target, name, evt) {\n        return events.fire(target, name, evt);\n      };\n      var getContentEditable = function (node) {\n        if (node && isElement$5(node)) {\n          var contentEditable = node.getAttribute('data-mce-contenteditable');\n          if (contentEditable && contentEditable !== 'inherit') {\n            return contentEditable;\n          }\n          return node.contentEditable !== 'inherit' ? node.contentEditable : null;\n        } else {\n          return null;\n        }\n      };\n      var getContentEditableParent = function (node) {\n        var root = getRoot();\n        var state = null;\n        for (; node && node !== root; node = node.parentNode) {\n          state = getContentEditable(node);\n          if (state !== null) {\n            break;\n          }\n        }\n        return state;\n      };\n      var destroy = function () {\n        if (boundEvents.length > 0) {\n          var i = boundEvents.length;\n          while (i--) {\n            var item = boundEvents[i];\n            events.unbind(item[0], item[1], item[2]);\n          }\n        }\n        each$j(files, function (_, url) {\n          styleSheetLoader.unload(url);\n          delete files[url];\n        });\n        if (Sizzle.setDocument) {\n          Sizzle.setDocument();\n        }\n      };\n      var isChildOf = function (node, parent) {\n        if (!isIE) {\n          return node === parent || parent.contains(node);\n        } else {\n          while (node) {\n            if (parent === node) {\n              return true;\n            }\n            node = node.parentNode;\n          }\n          return false;\n        }\n      };\n      var dumpRng = function (r) {\n        return 'startContainer: ' + r.startContainer.nodeName + ', startOffset: ' + r.startOffset + ', endContainer: ' + r.endContainer.nodeName + ', endOffset: ' + r.endOffset;\n      };\n      var self = {\n        doc: doc,\n        settings: settings,\n        win: win,\n        files: files,\n        stdMode: stdMode,\n        boxModel: boxModel,\n        styleSheetLoader: styleSheetLoader,\n        boundEvents: boundEvents,\n        styles: styles,\n        schema: schema,\n        events: events,\n        isBlock: isBlock,\n        $: $,\n        $$: $$,\n        root: null,\n        clone: clone,\n        getRoot: getRoot,\n        getViewPort: getViewPort,\n        getRect: getRect,\n        getSize: getSize,\n        getParent: getParent,\n        getParents: getParents,\n        get: get,\n        getNext: getNext,\n        getPrev: getPrev,\n        select: select,\n        is: is,\n        add: add,\n        create: create,\n        createHTML: createHTML,\n        createFragment: createFragment,\n        remove: remove,\n        setStyle: setStyle,\n        getStyle: getStyle,\n        setStyles: setStyles,\n        removeAllAttribs: removeAllAttribs,\n        setAttrib: setAttrib,\n        setAttribs: setAttribs,\n        getAttrib: getAttrib,\n        getPos: getPos$1,\n        parseStyle: parseStyle,\n        serializeStyle: serializeStyle,\n        addStyle: addStyle,\n        loadCSS: loadCSS,\n        addClass: addClass,\n        removeClass: removeClass,\n        hasClass: hasClass,\n        toggleClass: toggleClass,\n        show: show,\n        hide: hide,\n        isHidden: isHidden,\n        uniqueId: uniqueId,\n        setHTML: setHTML,\n        getOuterHTML: getOuterHTML,\n        setOuterHTML: setOuterHTML,\n        decode: decode,\n        encode: encode,\n        insertAfter: insertAfter,\n        replace: replace,\n        rename: rename,\n        findCommonAncestor: findCommonAncestor,\n        toHex: toHex,\n        run: run,\n        getAttribs: getAttribs,\n        isEmpty: isEmpty,\n        createRng: createRng,\n        nodeIndex: findNodeIndex,\n        split: split,\n        bind: bind,\n        unbind: unbind,\n        fire: fire,\n        getContentEditable: getContentEditable,\n        getContentEditableParent: getContentEditableParent,\n        destroy: destroy,\n        isChildOf: isChildOf,\n        dumpRng: dumpRng\n      };\n      var attrHooks = setupAttrHooks(styles, settings, constant(self));\n      return self;\n    };\n    DOMUtils.DOM = DOMUtils(document);\n    DOMUtils.nodeIndex = findNodeIndex;\n\n    var DOM$a = DOMUtils.DOM;\n    var each$e = Tools.each, grep = Tools.grep;\n    var QUEUED = 0;\n    var LOADING = 1;\n    var LOADED = 2;\n    var FAILED = 3;\n    var ScriptLoader = function () {\n      function ScriptLoader(settings) {\n        if (settings === void 0) {\n          settings = {};\n        }\n        this.states = {};\n        this.queue = [];\n        this.scriptLoadedCallbacks = {};\n        this.queueLoadedCallbacks = [];\n        this.loading = 0;\n        this.settings = settings;\n      }\n      ScriptLoader.prototype._setReferrerPolicy = function (referrerPolicy) {\n        this.settings.referrerPolicy = referrerPolicy;\n      };\n      ScriptLoader.prototype.loadScript = function (url, success, failure) {\n        var dom = DOM$a;\n        var elm;\n        var cleanup = function () {\n          dom.remove(id);\n          if (elm) {\n            elm.onerror = elm.onload = elm = null;\n          }\n        };\n        var done = function () {\n          cleanup();\n          success();\n        };\n        var error = function () {\n          cleanup();\n          if (isFunction(failure)) {\n            failure();\n          } else {\n            if (typeof console !== 'undefined' && console.log) {\n              console.log('Failed to load script: ' + url);\n            }\n          }\n        };\n        var id = dom.uniqueId();\n        elm = document.createElement('script');\n        elm.id = id;\n        elm.type = 'text/javascript';\n        elm.src = Tools._addCacheSuffix(url);\n        if (this.settings.referrerPolicy) {\n          dom.setAttrib(elm, 'referrerpolicy', this.settings.referrerPolicy);\n        }\n        elm.onload = done;\n        elm.onerror = error;\n        (document.getElementsByTagName('head')[0] || document.body).appendChild(elm);\n      };\n      ScriptLoader.prototype.isDone = function (url) {\n        return this.states[url] === LOADED;\n      };\n      ScriptLoader.prototype.markDone = function (url) {\n        this.states[url] = LOADED;\n      };\n      ScriptLoader.prototype.add = function (url, success, scope, failure) {\n        var state = this.states[url];\n        this.queue.push(url);\n        if (state === undefined) {\n          this.states[url] = QUEUED;\n        }\n        if (success) {\n          if (!this.scriptLoadedCallbacks[url]) {\n            this.scriptLoadedCallbacks[url] = [];\n          }\n          this.scriptLoadedCallbacks[url].push({\n            success: success,\n            failure: failure,\n            scope: scope || this\n          });\n        }\n      };\n      ScriptLoader.prototype.load = function (url, success, scope, failure) {\n        return this.add(url, success, scope, failure);\n      };\n      ScriptLoader.prototype.remove = function (url) {\n        delete this.states[url];\n        delete this.scriptLoadedCallbacks[url];\n      };\n      ScriptLoader.prototype.loadQueue = function (success, scope, failure) {\n        this.loadScripts(this.queue, success, scope, failure);\n      };\n      ScriptLoader.prototype.loadScripts = function (scripts, success, scope, failure) {\n        var self = this;\n        var failures = [];\n        var execCallbacks = function (name, url) {\n          each$e(self.scriptLoadedCallbacks[url], function (callback) {\n            if (isFunction(callback[name])) {\n              callback[name].call(callback.scope);\n            }\n          });\n          self.scriptLoadedCallbacks[url] = undefined;\n        };\n        self.queueLoadedCallbacks.push({\n          success: success,\n          failure: failure,\n          scope: scope || this\n        });\n        var loadScripts = function () {\n          var loadingScripts = grep(scripts);\n          scripts.length = 0;\n          each$e(loadingScripts, function (url) {\n            if (self.states[url] === LOADED) {\n              execCallbacks('success', url);\n              return;\n            }\n            if (self.states[url] === FAILED) {\n              execCallbacks('failure', url);\n              return;\n            }\n            if (self.states[url] !== LOADING) {\n              self.states[url] = LOADING;\n              self.loading++;\n              self.loadScript(url, function () {\n                self.states[url] = LOADED;\n                self.loading--;\n                execCallbacks('success', url);\n                loadScripts();\n              }, function () {\n                self.states[url] = FAILED;\n                self.loading--;\n                failures.push(url);\n                execCallbacks('failure', url);\n                loadScripts();\n              });\n            }\n          });\n          if (!self.loading) {\n            var notifyCallbacks = self.queueLoadedCallbacks.slice(0);\n            self.queueLoadedCallbacks.length = 0;\n            each$e(notifyCallbacks, function (callback) {\n              if (failures.length === 0) {\n                if (isFunction(callback.success)) {\n                  callback.success.call(callback.scope);\n                }\n              } else {\n                if (isFunction(callback.failure)) {\n                  callback.failure.call(callback.scope, failures);\n                }\n              }\n            });\n          }\n        };\n        loadScripts();\n      };\n      ScriptLoader.ScriptLoader = new ScriptLoader();\n      return ScriptLoader;\n    }();\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      return {\n        get: get,\n        set: set\n      };\n    };\n\n    var isRaw = function (str) {\n      return isObject(str) && has$2(str, 'raw');\n    };\n    var isTokenised = function (str) {\n      return isArray$1(str) && str.length > 1;\n    };\n    var data = {};\n    var currentCode = Cell('en');\n    var getLanguageData = function () {\n      return get$9(data, currentCode.get());\n    };\n    var getData = function () {\n      return map$2(data, function (value) {\n        return __assign({}, value);\n      });\n    };\n    var setCode = function (newCode) {\n      if (newCode) {\n        currentCode.set(newCode);\n      }\n    };\n    var getCode = function () {\n      return currentCode.get();\n    };\n    var add$4 = function (code, items) {\n      var langData = data[code];\n      if (!langData) {\n        data[code] = langData = {};\n      }\n      each$j(items, function (translation, name) {\n        langData[name.toLowerCase()] = translation;\n      });\n    };\n    var translate = function (text) {\n      var langData = getLanguageData().getOr({});\n      var toString = function (obj) {\n        if (isFunction(obj)) {\n          return Object.prototype.toString.call(obj);\n        }\n        return !isEmpty(obj) ? '' + obj : '';\n      };\n      var isEmpty = function (text) {\n        return text === '' || text === null || text === undefined;\n      };\n      var getLangData = function (text) {\n        var textstr = toString(text);\n        return get$9(langData, textstr.toLowerCase()).map(toString).getOr(textstr);\n      };\n      var removeContext = function (str) {\n        return str.replace(/{context:\\w+}$/, '');\n      };\n      if (isEmpty(text)) {\n        return '';\n      }\n      if (isRaw(text)) {\n        return toString(text.raw);\n      }\n      if (isTokenised(text)) {\n        var values_1 = text.slice(1);\n        var substitued = getLangData(text[0]).replace(/\\{([0-9]+)\\}/g, function ($1, $2) {\n          return has$2(values_1, $2) ? toString(values_1[$2]) : $1;\n        });\n        return removeContext(substitued);\n      }\n      return removeContext(getLangData(text));\n    };\n    var isRtl$1 = function () {\n      return getLanguageData().bind(function (items) {\n        return get$9(items, '_dir');\n      }).exists(function (dir) {\n        return dir === 'rtl';\n      });\n    };\n    var hasCode = function (code) {\n      return has$2(data, code);\n    };\n    var I18n = {\n      getData: getData,\n      setCode: setCode,\n      getCode: getCode,\n      add: add$4,\n      translate: translate,\n      isRtl: isRtl$1,\n      hasCode: hasCode\n    };\n\n    var AddOnManager = function () {\n      var items = [];\n      var urls = {};\n      var lookup = {};\n      var _listeners = [];\n      var runListeners = function (name, state) {\n        var matchedListeners = filter$4(_listeners, function (listener) {\n          return listener.name === name && listener.state === state;\n        });\n        each$k(matchedListeners, function (listener) {\n          return listener.callback();\n        });\n      };\n      var get = function (name) {\n        if (lookup[name]) {\n          return lookup[name].instance;\n        }\n        return undefined;\n      };\n      var dependencies = function (name) {\n        var result;\n        if (lookup[name]) {\n          result = lookup[name].dependencies;\n        }\n        return result || [];\n      };\n      var requireLangPack = function (name, languages) {\n        if (AddOnManager.languageLoad !== false) {\n          waitFor(name, function () {\n            var language = I18n.getCode();\n            var wrappedLanguages = ',' + (languages || '') + ',';\n            if (!language || languages && wrappedLanguages.indexOf(',' + language + ',') === -1) {\n              return;\n            }\n            ScriptLoader.ScriptLoader.add(urls[name] + '/langs/' + language + '.js');\n          }, 'loaded');\n        }\n      };\n      var add = function (id, addOn, dependencies) {\n        var addOnConstructor = addOn;\n        items.push(addOnConstructor);\n        lookup[id] = {\n          instance: addOnConstructor,\n          dependencies: dependencies\n        };\n        runListeners(id, 'added');\n        return addOnConstructor;\n      };\n      var remove = function (name) {\n        delete urls[name];\n        delete lookup[name];\n      };\n      var createUrl = function (baseUrl, dep) {\n        if (typeof dep === 'object') {\n          return dep;\n        }\n        return typeof baseUrl === 'string' ? {\n          prefix: '',\n          resource: dep,\n          suffix: ''\n        } : {\n          prefix: baseUrl.prefix,\n          resource: dep,\n          suffix: baseUrl.suffix\n        };\n      };\n      var addComponents = function (pluginName, scripts) {\n        var pluginUrl = urls[pluginName];\n        each$k(scripts, function (script) {\n          ScriptLoader.ScriptLoader.add(pluginUrl + '/' + script);\n        });\n      };\n      var loadDependencies = function (name, addOnUrl, success, scope) {\n        var deps = dependencies(name);\n        each$k(deps, function (dep) {\n          var newUrl = createUrl(addOnUrl, dep);\n          load(newUrl.resource, newUrl, undefined, undefined);\n        });\n        if (success) {\n          if (scope) {\n            success.call(scope);\n          } else {\n            success.call(ScriptLoader);\n          }\n        }\n      };\n      var load = function (name, addOnUrl, success, scope, failure) {\n        if (urls[name]) {\n          return;\n        }\n        var urlString = typeof addOnUrl === 'string' ? addOnUrl : addOnUrl.prefix + addOnUrl.resource + addOnUrl.suffix;\n        if (urlString.indexOf('/') !== 0 && urlString.indexOf('://') === -1) {\n          urlString = AddOnManager.baseURL + '/' + urlString;\n        }\n        urls[name] = urlString.substring(0, urlString.lastIndexOf('/'));\n        var done = function () {\n          runListeners(name, 'loaded');\n          loadDependencies(name, addOnUrl, success, scope);\n        };\n        if (lookup[name]) {\n          done();\n        } else {\n          ScriptLoader.ScriptLoader.add(urlString, done, scope, failure);\n        }\n      };\n      var waitFor = function (name, callback, state) {\n        if (state === void 0) {\n          state = 'added';\n        }\n        if (has$2(lookup, name) && state === 'added') {\n          callback();\n        } else if (has$2(urls, name) && state === 'loaded') {\n          callback();\n        } else {\n          _listeners.push({\n            name: name,\n            state: state,\n            callback: callback\n          });\n        }\n      };\n      return {\n        items: items,\n        urls: urls,\n        lookup: lookup,\n        _listeners: _listeners,\n        get: get,\n        dependencies: dependencies,\n        requireLangPack: requireLangPack,\n        add: add,\n        remove: remove,\n        createUrl: createUrl,\n        addComponents: addComponents,\n        load: load,\n        waitFor: waitFor\n      };\n    };\n    AddOnManager.languageLoad = true;\n    AddOnManager.baseURL = '';\n    AddOnManager.PluginManager = AddOnManager();\n    AddOnManager.ThemeManager = AddOnManager();\n\n    var singleton = function (doRevoke) {\n      var subject = Cell(Optional.none());\n      var revoke = function () {\n        return subject.get().each(doRevoke);\n      };\n      var clear = function () {\n        revoke();\n        subject.set(Optional.none());\n      };\n      var isSet = function () {\n        return subject.get().isSome();\n      };\n      var get = function () {\n        return subject.get();\n      };\n      var set = function (s) {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear: clear,\n        isSet: isSet,\n        get: get,\n        set: set\n      };\n    };\n    var value = function () {\n      var subject = singleton(noop);\n      var on = function (f) {\n        return subject.get().each(f);\n      };\n      return __assign(__assign({}, subject), { on: on });\n    };\n\n    var first = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (isNull(timer)) {\n          timer = setTimeout(function () {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n    var last = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        cancel();\n        timer = setTimeout(function () {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n\n    var read$4 = function (element, attr) {\n      var value = get$6(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    var add$3 = function (element, attr, id) {\n      var old = read$4(element, attr);\n      var nu = old.concat([id]);\n      set$1(element, attr, nu.join(' '));\n      return true;\n    };\n    var remove$5 = function (element, attr, id) {\n      var nu = filter$4(read$4(element, attr), function (v) {\n        return v !== id;\n      });\n      if (nu.length > 0) {\n        set$1(element, attr, nu.join(' '));\n      } else {\n        remove$6(element, attr);\n      }\n      return false;\n    };\n\n    var supports = function (element) {\n      return element.dom.classList !== undefined;\n    };\n    var get$4 = function (element) {\n      return read$4(element, 'class');\n    };\n    var add$2 = function (element, clazz) {\n      return add$3(element, 'class', clazz);\n    };\n    var remove$4 = function (element, clazz) {\n      return remove$5(element, 'class', clazz);\n    };\n\n    var add$1 = function (element, clazz) {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$2(element, clazz);\n      }\n    };\n    var cleanClass = function (element) {\n      var classList = supports(element) ? element.dom.classList : get$4(element);\n      if (classList.length === 0) {\n        remove$6(element, 'class');\n      }\n    };\n    var remove$3 = function (element, clazz) {\n      if (supports(element)) {\n        var classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$4(element, clazz);\n      }\n      cleanClass(element);\n    };\n    var has = function (element, clazz) {\n      return supports(element) && element.dom.classList.contains(clazz);\n    };\n\n    var descendants$1 = function (scope, predicate) {\n      var result = [];\n      each$k(children(scope), function (x) {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    var descendants = function (scope, selector) {\n      return all(selector, scope);\n    };\n\n    var annotation = constant('mce-annotation');\n    var dataAnnotation = constant('data-mce-annotation');\n    var dataAnnotationId = constant('data-mce-annotation-uid');\n\n    var identify = function (editor, annotationName) {\n      var rng = editor.selection.getRng();\n      var start = SugarElement.fromDom(rng.startContainer);\n      var root = SugarElement.fromDom(editor.getBody());\n      var selector = annotationName.fold(function () {\n        return '.' + annotation();\n      }, function (an) {\n        return '[' + dataAnnotation() + '=\"' + an + '\"]';\n      });\n      var newStart = child$1(start, rng.startOffset).getOr(start);\n      var closest = closest$2(newStart, selector, function (n) {\n        return eq(n, root);\n      });\n      var getAttr = function (c, property) {\n        if (has$1(c, property)) {\n          return Optional.some(get$6(c, property));\n        } else {\n          return Optional.none();\n        }\n      };\n      return closest.bind(function (c) {\n        return getAttr(c, '' + dataAnnotationId()).bind(function (uid) {\n          return getAttr(c, '' + dataAnnotation()).map(function (name) {\n            var elements = findMarkers(editor, uid);\n            return {\n              uid: uid,\n              name: name,\n              elements: elements\n            };\n          });\n        });\n      });\n    };\n    var isAnnotation = function (elem) {\n      return isElement$6(elem) && has(elem, annotation());\n    };\n    var findMarkers = function (editor, uid) {\n      var body = SugarElement.fromDom(editor.getBody());\n      return descendants(body, '[' + dataAnnotationId() + '=\"' + uid + '\"]');\n    };\n    var findAll = function (editor, name) {\n      var body = SugarElement.fromDom(editor.getBody());\n      var markers = descendants(body, '[' + dataAnnotation() + '=\"' + name + '\"]');\n      var directory = {};\n      each$k(markers, function (m) {\n        var uid = get$6(m, dataAnnotationId());\n        var nodesAlready = get$9(directory, uid).getOr([]);\n        directory[uid] = nodesAlready.concat([m]);\n      });\n      return directory;\n    };\n\n    var setup$n = function (editor, _registry) {\n      var changeCallbacks = Cell({});\n      var initData = function () {\n        return {\n          listeners: [],\n          previous: value()\n        };\n      };\n      var withCallbacks = function (name, f) {\n        updateCallbacks(name, function (data) {\n          f(data);\n          return data;\n        });\n      };\n      var updateCallbacks = function (name, f) {\n        var callbackMap = changeCallbacks.get();\n        var data = get$9(callbackMap, name).getOrThunk(initData);\n        var outputData = f(data);\n        callbackMap[name] = outputData;\n        changeCallbacks.set(callbackMap);\n      };\n      var fireCallbacks = function (name, uid, elements) {\n        withCallbacks(name, function (data) {\n          each$k(data.listeners, function (f) {\n            return f(true, name, {\n              uid: uid,\n              nodes: map$3(elements, function (elem) {\n                return elem.dom;\n              })\n            });\n          });\n        });\n      };\n      var fireNoAnnotation = function (name) {\n        withCallbacks(name, function (data) {\n          each$k(data.listeners, function (f) {\n            return f(false, name);\n          });\n        });\n      };\n      var onNodeChange = last(function () {\n        var callbackMap = changeCallbacks.get();\n        var annotations = sort(keys(callbackMap));\n        each$k(annotations, function (name) {\n          updateCallbacks(name, function (data) {\n            var prev = data.previous.get();\n            identify(editor, Optional.some(name)).fold(function () {\n              if (prev.isSome()) {\n                fireNoAnnotation(name);\n                data.previous.clear();\n              }\n            }, function (_a) {\n              var uid = _a.uid, name = _a.name, elements = _a.elements;\n              if (!is$1(prev, uid)) {\n                fireCallbacks(name, uid, elements);\n                data.previous.set(uid);\n              }\n            });\n            return {\n              previous: data.previous,\n              listeners: data.listeners\n            };\n          });\n        });\n      }, 30);\n      editor.on('remove', function () {\n        onNodeChange.cancel();\n      });\n      editor.on('NodeChange', function () {\n        onNodeChange.throttle();\n      });\n      var addListener = function (name, f) {\n        updateCallbacks(name, function (data) {\n          return {\n            previous: data.previous,\n            listeners: data.listeners.concat([f])\n          };\n        });\n      };\n      return { addListener: addListener };\n    };\n\n    var setup$m = function (editor, registry) {\n      var identifyParserNode = function (span) {\n        return Optional.from(span.attr(dataAnnotation())).bind(registry.lookup);\n      };\n      editor.on('init', function () {\n        editor.serializer.addNodeFilter('span', function (spans) {\n          each$k(spans, function (span) {\n            identifyParserNode(span).each(function (settings) {\n              if (settings.persistent === false) {\n                span.unwrap();\n              }\n            });\n          });\n        });\n      });\n    };\n\n    var create$7 = function () {\n      var annotations = {};\n      var register = function (name, settings) {\n        annotations[name] = {\n          name: name,\n          settings: settings\n        };\n      };\n      var lookup = function (name) {\n        return get$9(annotations, name).map(function (a) {\n          return a.settings;\n        });\n      };\n      return {\n        register: register,\n        lookup: lookup\n      };\n    };\n\n    var unique = 0;\n    var generate = function (prefix) {\n      var date = new Date();\n      var time = date.getTime();\n      var random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    var add = function (element, classes) {\n      each$k(classes, function (x) {\n        add$1(element, x);\n      });\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      return children(SugarElement.fromDom(div));\n    };\n    var fromDom$1 = function (nodes) {\n      return map$3(nodes, SugarElement.fromDom);\n    };\n\n    var get$3 = function (element) {\n      return element.dom.innerHTML;\n    };\n    var set = function (element, content) {\n      var owner = owner$1(element);\n      var docDom = owner.dom;\n      var fragment = SugarElement.fromDom(docDom.createDocumentFragment());\n      var contentElements = fromHtml(content, docDom);\n      append(fragment, contentElements);\n      empty(element);\n      append$1(element, fragment);\n    };\n\n    var clone$1 = function (original, isDeep) {\n      return SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    };\n    var shallow = function (original) {\n      return clone$1(original, false);\n    };\n    var deep$1 = function (original) {\n      return clone$1(original, true);\n    };\n\n    var TextWalker = function (startNode, rootNode, isBoundary) {\n      if (isBoundary === void 0) {\n        isBoundary = never;\n      }\n      var walker = new DomTreeWalker(startNode, rootNode);\n      var walk = function (direction) {\n        var next;\n        do {\n          next = walker[direction]();\n        } while (next && !isText$7(next) && !isBoundary(next));\n        return Optional.from(next).filter(isText$7);\n      };\n      return {\n        current: function () {\n          return Optional.from(walker.current()).filter(isText$7);\n        },\n        next: function () {\n          return walk('next');\n        },\n        prev: function () {\n          return walk('prev');\n        },\n        prev2: function () {\n          return walk('prev2');\n        }\n      };\n    };\n\n    var TextSeeker = function (dom, isBoundary) {\n      var isBlockBoundary = isBoundary ? isBoundary : function (node) {\n        return dom.isBlock(node) || isBr$5(node) || isContentEditableFalse$b(node);\n      };\n      var walk = function (node, offset, walker, process) {\n        if (isText$7(node)) {\n          var newOffset = process(node, offset, node.data);\n          if (newOffset !== -1) {\n            return Optional.some({\n              container: node,\n              offset: newOffset\n            });\n          }\n        }\n        return walker().bind(function (next) {\n          return walk(next.container, next.offset, walker, process);\n        });\n      };\n      var backwards = function (node, offset, process, root) {\n        var walker = TextWalker(node, root, isBlockBoundary);\n        return walk(node, offset, function () {\n          return walker.prev().map(function (prev) {\n            return {\n              container: prev,\n              offset: prev.length\n            };\n          });\n        }, process).getOrNull();\n      };\n      var forwards = function (node, offset, process, root) {\n        var walker = TextWalker(node, root, isBlockBoundary);\n        return walk(node, offset, function () {\n          return walker.next().map(function (next) {\n            return {\n              container: next,\n              offset: 0\n            };\n          });\n        }, process).getOrNull();\n      };\n      return {\n        backwards: backwards,\n        forwards: forwards\n      };\n    };\n\n    var round$2 = Math.round;\n    var clone = function (rect) {\n      if (!rect) {\n        return {\n          left: 0,\n          top: 0,\n          bottom: 0,\n          right: 0,\n          width: 0,\n          height: 0\n        };\n      }\n      return {\n        left: round$2(rect.left),\n        top: round$2(rect.top),\n        bottom: round$2(rect.bottom),\n        right: round$2(rect.right),\n        width: round$2(rect.width),\n        height: round$2(rect.height)\n      };\n    };\n    var collapse = function (rect, toStart) {\n      rect = clone(rect);\n      if (toStart) {\n        rect.right = rect.left;\n      } else {\n        rect.left = rect.left + rect.width;\n        rect.right = rect.left;\n      }\n      rect.width = 0;\n      return rect;\n    };\n    var isEqual = function (rect1, rect2) {\n      return rect1.left === rect2.left && rect1.top === rect2.top && rect1.bottom === rect2.bottom && rect1.right === rect2.right;\n    };\n    var isValidOverflow = function (overflowY, rect1, rect2) {\n      return overflowY >= 0 && overflowY <= Math.min(rect1.height, rect2.height) / 2;\n    };\n    var isAbove$1 = function (rect1, rect2) {\n      var halfHeight = Math.min(rect2.height / 2, rect1.height / 2);\n      if (rect1.bottom - halfHeight < rect2.top) {\n        return true;\n      }\n      if (rect1.top > rect2.bottom) {\n        return false;\n      }\n      return isValidOverflow(rect2.top - rect1.bottom, rect1, rect2);\n    };\n    var isBelow$1 = function (rect1, rect2) {\n      if (rect1.top > rect2.bottom) {\n        return true;\n      }\n      if (rect1.bottom < rect2.top) {\n        return false;\n      }\n      return isValidOverflow(rect2.bottom - rect1.top, rect1, rect2);\n    };\n    var containsXY = function (rect, clientX, clientY) {\n      return clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;\n    };\n\n    var clamp$2 = function (value, min, max) {\n      return Math.min(Math.max(value, min), max);\n    };\n\n    var getSelectedNode = function (range) {\n      var startContainer = range.startContainer, startOffset = range.startOffset;\n      if (startContainer.hasChildNodes() && range.endOffset === startOffset + 1) {\n        return startContainer.childNodes[startOffset];\n      }\n      return null;\n    };\n    var getNode$1 = function (container, offset) {\n      if (isElement$5(container) && container.hasChildNodes()) {\n        var childNodes = container.childNodes;\n        var safeOffset = clamp$2(offset, 0, childNodes.length - 1);\n        return childNodes[safeOffset];\n      } else {\n        return container;\n      }\n    };\n    var getNodeUnsafe = function (container, offset) {\n      if (offset < 0 && isElement$5(container) && container.hasChildNodes()) {\n        return undefined;\n      } else {\n        return getNode$1(container, offset);\n      }\n    };\n\n    var extendingChars = new RegExp('[\\u0300-\\u036f\\u0483-\\u0487\\u0488-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u0610-\\u061a' + '\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7-\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0' + '\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08e3-\\u0902\\u093a\\u093c' + '\\u0941-\\u0948\\u094d\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2-\\u09e3' + '\\u0a01-\\u0a02\\u0a3c\\u0a41-\\u0a42\\u0a47-\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70-\\u0a71\\u0a75\\u0a81-\\u0a82\\u0abc' + '\\u0ac1-\\u0ac5\\u0ac7-\\u0ac8\\u0acd\\u0ae2-\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57' + '\\u0b62-\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c00\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55-\\u0c56' + '\\u0c62-\\u0c63\\u0c81\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc-\\u0ccd\\u0cd5-\\u0cd6\\u0ce2-\\u0ce3\\u0d01\\u0d3e\\u0d41-\\u0d44' + '\\u0d4d\\u0d57\\u0d62-\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9' + '\\u0ebb-\\u0ebc\\u0ec8-\\u0ecd\\u0f18-\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97' + '\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039-\\u103a\\u103d-\\u103e\\u1058-\\u1059\\u105e-\\u1060\\u1071-\\u1074' + '\\u1082\\u1085-\\u1086\\u108d\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17b4-\\u17b5' + '\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193b\\u1a17-\\u1a18' + '\\u1a1b\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1ab0-\\u1abd\\u1ABE\\u1b00-\\u1b03\\u1b34' + '\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80-\\u1b81\\u1ba2-\\u1ba5\\u1ba8-\\u1ba9\\u1bab-\\u1bad\\u1be6\\u1be8-\\u1be9' + '\\u1bed\\u1bef-\\u1bf1\\u1c2c-\\u1c33\\u1c36-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1cf4\\u1cf8-\\u1cf9' + '\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u200c-\\u200d\\u20d0-\\u20dc\\u20DD-\\u20E0\\u20e1\\u20E2-\\u20E4\\u20e5-\\u20f0\\u2cef-\\u2cf1' + '\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302d\\u302e-\\u302f\\u3099-\\u309a\\ua66f\\uA670-\\uA672\\ua674-\\ua67d\\ua69e-\\ua69f\\ua6f0-\\ua6f1' + '\\ua802\\ua806\\ua80b\\ua825-\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc' + '\\ua9e5\\uaa29-\\uaa2e\\uaa31-\\uaa32\\uaa35-\\uaa36\\uaa43\\uaa4c\\uaa7c\\uaab0\\uaab2-\\uaab4\\uaab7-\\uaab8\\uaabe-\\uaabf\\uaac1' + '\\uaaec-\\uaaed\\uaaf6\\uabe5\\uabe8\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\uff9e-\\uff9f]');\n    var isExtendingChar = function (ch) {\n      return typeof ch === 'string' && ch.charCodeAt(0) >= 768 && extendingChars.test(ch);\n    };\n\n    var or = function () {\n      var args = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n      }\n      return function (x) {\n        for (var i = 0; i < args.length; i++) {\n          if (args[i](x)) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var and = function () {\n      var args = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n      }\n      return function (x) {\n        for (var i = 0; i < args.length; i++) {\n          if (!args[i](x)) {\n            return false;\n          }\n        }\n        return true;\n      };\n    };\n\n    var isElement$3 = isElement$5;\n    var isCaretCandidate$2 = isCaretCandidate$3;\n    var isBlock$1 = matchStyleValues('display', 'block table');\n    var isFloated = matchStyleValues('float', 'left right');\n    var isValidElementCaretCandidate = and(isElement$3, isCaretCandidate$2, not(isFloated));\n    var isNotPre = not(matchStyleValues('white-space', 'pre pre-line pre-wrap'));\n    var isText$4 = isText$7;\n    var isBr$2 = isBr$5;\n    var nodeIndex$1 = DOMUtils.nodeIndex;\n    var resolveIndex$1 = getNodeUnsafe;\n    var createRange$1 = function (doc) {\n      return 'createRange' in doc ? doc.createRange() : DOMUtils.DOM.createRng();\n    };\n    var isWhiteSpace$1 = function (chr) {\n      return chr && /[\\r\\n\\t ]/.test(chr);\n    };\n    var isRange = function (rng) {\n      return !!rng.setStart && !!rng.setEnd;\n    };\n    var isHiddenWhiteSpaceRange = function (range) {\n      var container = range.startContainer;\n      var offset = range.startOffset;\n      if (isWhiteSpace$1(range.toString()) && isNotPre(container.parentNode) && isText$7(container)) {\n        var text = container.data;\n        if (isWhiteSpace$1(text[offset - 1]) || isWhiteSpace$1(text[offset + 1])) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var getBrClientRect = function (brNode) {\n      var doc = brNode.ownerDocument;\n      var rng = createRange$1(doc);\n      var nbsp$1 = doc.createTextNode(nbsp);\n      var parentNode = brNode.parentNode;\n      parentNode.insertBefore(nbsp$1, brNode);\n      rng.setStart(nbsp$1, 0);\n      rng.setEnd(nbsp$1, 1);\n      var clientRect = clone(rng.getBoundingClientRect());\n      parentNode.removeChild(nbsp$1);\n      return clientRect;\n    };\n    var getBoundingClientRectWebKitText = function (rng) {\n      var sc = rng.startContainer;\n      var ec = rng.endContainer;\n      var so = rng.startOffset;\n      var eo = rng.endOffset;\n      if (sc === ec && isText$7(ec) && so === 0 && eo === 1) {\n        var newRng = rng.cloneRange();\n        newRng.setEndAfter(ec);\n        return getBoundingClientRect$1(newRng);\n      } else {\n        return null;\n      }\n    };\n    var isZeroRect = function (r) {\n      return r.left === 0 && r.right === 0 && r.top === 0 && r.bottom === 0;\n    };\n    var getBoundingClientRect$1 = function (item) {\n      var clientRect;\n      var clientRects = item.getClientRects();\n      if (clientRects.length > 0) {\n        clientRect = clone(clientRects[0]);\n      } else {\n        clientRect = clone(item.getBoundingClientRect());\n      }\n      if (!isRange(item) && isBr$2(item) && isZeroRect(clientRect)) {\n        return getBrClientRect(item);\n      }\n      if (isZeroRect(clientRect) && isRange(item)) {\n        return getBoundingClientRectWebKitText(item);\n      }\n      return clientRect;\n    };\n    var collapseAndInflateWidth = function (clientRect, toStart) {\n      var newClientRect = collapse(clientRect, toStart);\n      newClientRect.width = 1;\n      newClientRect.right = newClientRect.left + 1;\n      return newClientRect;\n    };\n    var getCaretPositionClientRects = function (caretPosition) {\n      var clientRects = [];\n      var addUniqueAndValidRect = function (clientRect) {\n        if (clientRect.height === 0) {\n          return;\n        }\n        if (clientRects.length > 0) {\n          if (isEqual(clientRect, clientRects[clientRects.length - 1])) {\n            return;\n          }\n        }\n        clientRects.push(clientRect);\n      };\n      var addCharacterOffset = function (container, offset) {\n        var range = createRange$1(container.ownerDocument);\n        if (offset < container.data.length) {\n          if (isExtendingChar(container.data[offset])) {\n            return clientRects;\n          }\n          if (isExtendingChar(container.data[offset - 1])) {\n            range.setStart(container, offset);\n            range.setEnd(container, offset + 1);\n            if (!isHiddenWhiteSpaceRange(range)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n              return clientRects;\n            }\n          }\n        }\n        if (offset > 0) {\n          range.setStart(container, offset - 1);\n          range.setEnd(container, offset);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n          }\n        }\n        if (offset < container.data.length) {\n          range.setStart(container, offset);\n          range.setEnd(container, offset + 1);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), true));\n          }\n        }\n      };\n      var container = caretPosition.container();\n      var offset = caretPosition.offset();\n      if (isText$4(container)) {\n        addCharacterOffset(container, offset);\n        return clientRects;\n      }\n      if (isElement$3(container)) {\n        if (caretPosition.isAtEnd()) {\n          var node = resolveIndex$1(container, offset);\n          if (isText$4(node)) {\n            addCharacterOffset(node, node.data.length);\n          }\n          if (isValidElementCaretCandidate(node) && !isBr$2(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n          }\n        } else {\n          var node = resolveIndex$1(container, offset);\n          if (isText$4(node)) {\n            addCharacterOffset(node, 0);\n          }\n          if (isValidElementCaretCandidate(node) && caretPosition.isAtEnd()) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n            return clientRects;\n          }\n          var beforeNode = resolveIndex$1(caretPosition.container(), caretPosition.offset() - 1);\n          if (isValidElementCaretCandidate(beforeNode) && !isBr$2(beforeNode)) {\n            if (isBlock$1(beforeNode) || isBlock$1(node) || !isValidElementCaretCandidate(node)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(beforeNode), false));\n            }\n          }\n          if (isValidElementCaretCandidate(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), true));\n          }\n        }\n      }\n      return clientRects;\n    };\n    var CaretPosition = function (container, offset, clientRects) {\n      var isAtStart = function () {\n        if (isText$4(container)) {\n          return offset === 0;\n        }\n        return offset === 0;\n      };\n      var isAtEnd = function () {\n        if (isText$4(container)) {\n          return offset >= container.data.length;\n        }\n        return offset >= container.childNodes.length;\n      };\n      var toRange = function () {\n        var range = createRange$1(container.ownerDocument);\n        range.setStart(container, offset);\n        range.setEnd(container, offset);\n        return range;\n      };\n      var getClientRects = function () {\n        if (!clientRects) {\n          clientRects = getCaretPositionClientRects(CaretPosition(container, offset));\n        }\n        return clientRects;\n      };\n      var isVisible = function () {\n        return getClientRects().length > 0;\n      };\n      var isEqual = function (caretPosition) {\n        return caretPosition && container === caretPosition.container() && offset === caretPosition.offset();\n      };\n      var getNode = function (before) {\n        return resolveIndex$1(container, before ? offset - 1 : offset);\n      };\n      return {\n        container: constant(container),\n        offset: constant(offset),\n        toRange: toRange,\n        getClientRects: getClientRects,\n        isVisible: isVisible,\n        isAtStart: isAtStart,\n        isAtEnd: isAtEnd,\n        isEqual: isEqual,\n        getNode: getNode\n      };\n    };\n    CaretPosition.fromRangeStart = function (range) {\n      return CaretPosition(range.startContainer, range.startOffset);\n    };\n    CaretPosition.fromRangeEnd = function (range) {\n      return CaretPosition(range.endContainer, range.endOffset);\n    };\n    CaretPosition.after = function (node) {\n      return CaretPosition(node.parentNode, nodeIndex$1(node) + 1);\n    };\n    CaretPosition.before = function (node) {\n      return CaretPosition(node.parentNode, nodeIndex$1(node));\n    };\n    CaretPosition.isAbove = function (pos1, pos2) {\n      return lift2(head(pos2.getClientRects()), last$2(pos1.getClientRects()), isAbove$1).getOr(false);\n    };\n    CaretPosition.isBelow = function (pos1, pos2) {\n      return lift2(last$2(pos2.getClientRects()), head(pos1.getClientRects()), isBelow$1).getOr(false);\n    };\n    CaretPosition.isAtStart = function (pos) {\n      return pos ? pos.isAtStart() : false;\n    };\n    CaretPosition.isAtEnd = function (pos) {\n      return pos ? pos.isAtEnd() : false;\n    };\n    CaretPosition.isTextPosition = function (pos) {\n      return pos ? isText$7(pos.container()) : false;\n    };\n    CaretPosition.isElementPosition = function (pos) {\n      return CaretPosition.isTextPosition(pos) === false;\n    };\n\n    var trimEmptyTextNode$1 = function (dom, node) {\n      if (isText$7(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    var insertNode = function (dom, rng, node) {\n      rng.insertNode(node);\n      trimEmptyTextNode$1(dom, node.previousSibling);\n      trimEmptyTextNode$1(dom, node.nextSibling);\n    };\n    var insertFragment = function (dom, rng, frag) {\n      var firstChild = Optional.from(frag.firstChild);\n      var lastChild = Optional.from(frag.lastChild);\n      rng.insertNode(frag);\n      firstChild.each(function (child) {\n        return trimEmptyTextNode$1(dom, child.previousSibling);\n      });\n      lastChild.each(function (child) {\n        return trimEmptyTextNode$1(dom, child.nextSibling);\n      });\n    };\n    var rangeInsertNode = function (dom, rng, node) {\n      if (isDocumentFragment(node)) {\n        insertFragment(dom, rng, node);\n      } else {\n        insertNode(dom, rng, node);\n      }\n    };\n\n    var isText$3 = isText$7;\n    var isBogus = isBogus$2;\n    var nodeIndex = DOMUtils.nodeIndex;\n    var normalizedParent = function (node) {\n      var parentNode = node.parentNode;\n      if (isBogus(parentNode)) {\n        return normalizedParent(parentNode);\n      }\n      return parentNode;\n    };\n    var getChildNodes = function (node) {\n      if (!node) {\n        return [];\n      }\n      return reduce(node.childNodes, function (result, node) {\n        if (isBogus(node) && node.nodeName !== 'BR') {\n          result = result.concat(getChildNodes(node));\n        } else {\n          result.push(node);\n        }\n        return result;\n      }, []);\n    };\n    var normalizedTextOffset = function (node, offset) {\n      while (node = node.previousSibling) {\n        if (!isText$3(node)) {\n          break;\n        }\n        offset += node.data.length;\n      }\n      return offset;\n    };\n    var equal = function (a) {\n      return function (b) {\n        return a === b;\n      };\n    };\n    var normalizedNodeIndex = function (node) {\n      var nodes, index;\n      nodes = getChildNodes(normalizedParent(node));\n      index = findIndex$1(nodes, equal(node), node);\n      nodes = nodes.slice(0, index + 1);\n      var numTextFragments = reduce(nodes, function (result, node, i) {\n        if (isText$3(node) && isText$3(nodes[i - 1])) {\n          result++;\n        }\n        return result;\n      }, 0);\n      nodes = filter$2(nodes, matchNodeNames([node.nodeName]));\n      index = findIndex$1(nodes, equal(node), node);\n      return index - numTextFragments;\n    };\n    var createPathItem = function (node) {\n      var name;\n      if (isText$3(node)) {\n        name = 'text()';\n      } else {\n        name = node.nodeName.toLowerCase();\n      }\n      return name + '[' + normalizedNodeIndex(node) + ']';\n    };\n    var parentsUntil$1 = function (root, node, predicate) {\n      var parents = [];\n      for (node = node.parentNode; node !== root; node = node.parentNode) {\n        if (predicate && predicate(node)) {\n          break;\n        }\n        parents.push(node);\n      }\n      return parents;\n    };\n    var create$6 = function (root, caretPosition) {\n      var container, offset, path = [], outputOffset, childNodes, parents;\n      container = caretPosition.container();\n      offset = caretPosition.offset();\n      if (isText$3(container)) {\n        outputOffset = normalizedTextOffset(container, offset);\n      } else {\n        childNodes = container.childNodes;\n        if (offset >= childNodes.length) {\n          outputOffset = 'after';\n          offset = childNodes.length - 1;\n        } else {\n          outputOffset = 'before';\n        }\n        container = childNodes[offset];\n      }\n      path.push(createPathItem(container));\n      parents = parentsUntil$1(root, container);\n      parents = filter$2(parents, not(isBogus$2));\n      path = path.concat(map$1(parents, function (node) {\n        return createPathItem(node);\n      }));\n      return path.reverse().join('/') + ',' + outputOffset;\n    };\n    var resolvePathItem = function (node, name, index) {\n      var nodes = getChildNodes(node);\n      nodes = filter$2(nodes, function (node, index) {\n        return !isText$3(node) || !isText$3(nodes[index - 1]);\n      });\n      nodes = filter$2(nodes, matchNodeNames([name]));\n      return nodes[index];\n    };\n    var findTextPosition = function (container, offset) {\n      var node = container, targetOffset = 0, dataLen;\n      while (isText$3(node)) {\n        dataLen = node.data.length;\n        if (offset >= targetOffset && offset <= targetOffset + dataLen) {\n          container = node;\n          offset = offset - targetOffset;\n          break;\n        }\n        if (!isText$3(node.nextSibling)) {\n          container = node;\n          offset = dataLen;\n          break;\n        }\n        targetOffset += dataLen;\n        node = node.nextSibling;\n      }\n      if (isText$3(container) && offset > container.data.length) {\n        offset = container.data.length;\n      }\n      return CaretPosition(container, offset);\n    };\n    var resolve$2 = function (root, path) {\n      var offset;\n      if (!path) {\n        return null;\n      }\n      var parts = path.split(',');\n      var paths = parts[0].split('/');\n      offset = parts.length > 1 ? parts[1] : 'before';\n      var container = reduce(paths, function (result, value) {\n        var match = /([\\w\\-\\(\\)]+)\\[([0-9]+)\\]/.exec(value);\n        if (!match) {\n          return null;\n        }\n        if (match[1] === 'text()') {\n          match[1] = '#text';\n        }\n        return resolvePathItem(result, match[1], parseInt(match[2], 10));\n      }, root);\n      if (!container) {\n        return null;\n      }\n      if (!isText$3(container)) {\n        if (offset === 'after') {\n          offset = nodeIndex(container) + 1;\n        } else {\n          offset = nodeIndex(container);\n        }\n        return CaretPosition(container.parentNode, offset);\n      }\n      return findTextPosition(container, parseInt(offset, 10));\n    };\n\n    var isContentEditableFalse$9 = isContentEditableFalse$b;\n    var getNormalizedTextOffset = function (trim, container, offset) {\n      var node, trimmedOffset;\n      trimmedOffset = trim(container.data.slice(0, offset)).length;\n      for (node = container.previousSibling; node && isText$7(node); node = node.previousSibling) {\n        trimmedOffset += trim(node.data).length;\n      }\n      return trimmedOffset;\n    };\n    var getPoint = function (dom, trim, normalized, rng, start) {\n      var container = rng[start ? 'startContainer' : 'endContainer'];\n      var offset = rng[start ? 'startOffset' : 'endOffset'];\n      var point = [];\n      var childNodes, after = 0;\n      var root = dom.getRoot();\n      if (isText$7(container)) {\n        point.push(normalized ? getNormalizedTextOffset(trim, container, offset) : offset);\n      } else {\n        childNodes = container.childNodes;\n        if (offset >= childNodes.length && childNodes.length) {\n          after = 1;\n          offset = Math.max(0, childNodes.length - 1);\n        }\n        point.push(dom.nodeIndex(childNodes[offset], normalized) + after);\n      }\n      for (; container && container !== root; container = container.parentNode) {\n        point.push(dom.nodeIndex(container, normalized));\n      }\n      return point;\n    };\n    var getLocation = function (trim, selection, normalized, rng) {\n      var dom = selection.dom, bookmark = {};\n      bookmark.start = getPoint(dom, trim, normalized, rng, true);\n      if (!selection.isCollapsed()) {\n        bookmark.end = getPoint(dom, trim, normalized, rng, false);\n      }\n      if (isRangeInCaretContainerBlock(rng)) {\n        bookmark.isFakeCaret = true;\n      }\n      return bookmark;\n    };\n    var findIndex = function (dom, name, element) {\n      var count = 0;\n      Tools.each(dom.select(name), function (node) {\n        if (node.getAttribute('data-mce-bogus') === 'all') {\n          return;\n        }\n        if (node === element) {\n          return false;\n        }\n        count++;\n      });\n      return count;\n    };\n    var moveEndPoint$1 = function (rng, start) {\n      var container, offset, childNodes;\n      var prefix = start ? 'start' : 'end';\n      container = rng[prefix + 'Container'];\n      offset = rng[prefix + 'Offset'];\n      if (isElement$5(container) && container.nodeName === 'TR') {\n        childNodes = container.childNodes;\n        container = childNodes[Math.min(start ? offset : offset - 1, childNodes.length - 1)];\n        if (container) {\n          offset = start ? 0 : container.childNodes.length;\n          rng['set' + (start ? 'Start' : 'End')](container, offset);\n        }\n      }\n    };\n    var normalizeTableCellSelection = function (rng) {\n      moveEndPoint$1(rng, true);\n      moveEndPoint$1(rng, false);\n      return rng;\n    };\n    var findSibling = function (node, offset) {\n      var sibling;\n      if (isElement$5(node)) {\n        node = getNode$1(node, offset);\n        if (isContentEditableFalse$9(node)) {\n          return node;\n        }\n      }\n      if (isCaretContainer$2(node)) {\n        if (isText$7(node) && isCaretContainerBlock$1(node)) {\n          node = node.parentNode;\n        }\n        sibling = node.previousSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n        sibling = node.nextSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n      }\n    };\n    var findAdjacentContentEditableFalseElm = function (rng) {\n      return findSibling(rng.startContainer, rng.startOffset) || findSibling(rng.endContainer, rng.endOffset);\n    };\n    var getOffsetBookmark = function (trim, normalized, selection) {\n      var element = selection.getNode();\n      var name = element ? element.nodeName : null;\n      var rng = selection.getRng();\n      if (isContentEditableFalse$9(element) || name === 'IMG') {\n        return {\n          name: name,\n          index: findIndex(selection.dom, name, element)\n        };\n      }\n      var sibling = findAdjacentContentEditableFalseElm(rng);\n      if (sibling) {\n        name = sibling.tagName;\n        return {\n          name: name,\n          index: findIndex(selection.dom, name, sibling)\n        };\n      }\n      return getLocation(trim, selection, normalized, rng);\n    };\n    var getCaretBookmark = function (selection) {\n      var rng = selection.getRng();\n      return {\n        start: create$6(selection.dom.getRoot(), CaretPosition.fromRangeStart(rng)),\n        end: create$6(selection.dom.getRoot(), CaretPosition.fromRangeEnd(rng))\n      };\n    };\n    var getRangeBookmark = function (selection) {\n      return { rng: selection.getRng() };\n    };\n    var createBookmarkSpan = function (dom, id, filled) {\n      var args = {\n        'data-mce-type': 'bookmark',\n        id: id,\n        'style': 'overflow:hidden;line-height:0px'\n      };\n      return filled ? dom.create('span', args, '&#xFEFF;') : dom.create('span', args);\n    };\n    var getPersistentBookmark = function (selection, filled) {\n      var dom = selection.dom;\n      var rng = selection.getRng();\n      var id = dom.uniqueId();\n      var collapsed = selection.isCollapsed();\n      var element = selection.getNode();\n      var name = element.nodeName;\n      if (name === 'IMG') {\n        return {\n          name: name,\n          index: findIndex(dom, name, element)\n        };\n      }\n      var rng2 = normalizeTableCellSelection(rng.cloneRange());\n      if (!collapsed) {\n        rng2.collapse(false);\n        var endBookmarkNode = createBookmarkSpan(dom, id + '_end', filled);\n        rangeInsertNode(dom, rng2, endBookmarkNode);\n      }\n      rng = normalizeTableCellSelection(rng);\n      rng.collapse(true);\n      var startBookmarkNode = createBookmarkSpan(dom, id + '_start', filled);\n      rangeInsertNode(dom, rng, startBookmarkNode);\n      selection.moveToBookmark({\n        id: id,\n        keep: true\n      });\n      return { id: id };\n    };\n    var getBookmark$2 = function (selection, type, normalized) {\n      if (type === 2) {\n        return getOffsetBookmark(trim$2, normalized, selection);\n      } else if (type === 3) {\n        return getCaretBookmark(selection);\n      } else if (type) {\n        return getRangeBookmark(selection);\n      } else {\n        return getPersistentBookmark(selection, false);\n      }\n    };\n    var getUndoBookmark = curry(getOffsetBookmark, identity, true);\n\n    var DOM$9 = DOMUtils.DOM;\n    var defaultPreviewStyles = 'font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow';\n    var getBodySetting = function (editor, name, defaultValue) {\n      var value = editor.getParam(name, defaultValue);\n      if (value.indexOf('=') !== -1) {\n        var bodyObj = editor.getParam(name, '', 'hash');\n        return get$9(bodyObj, editor.id).getOr(defaultValue);\n      } else {\n        return value;\n      }\n    };\n    var getIframeAttrs = function (editor) {\n      return editor.getParam('iframe_attrs', {});\n    };\n    var getDocType = function (editor) {\n      return editor.getParam('doctype', '<!DOCTYPE html>');\n    };\n    var getDocumentBaseUrl = function (editor) {\n      return editor.getParam('document_base_url', '');\n    };\n    var getBodyId = function (editor) {\n      return getBodySetting(editor, 'body_id', 'tinymce');\n    };\n    var getBodyClass = function (editor) {\n      return getBodySetting(editor, 'body_class', '');\n    };\n    var getContentSecurityPolicy = function (editor) {\n      return editor.getParam('content_security_policy', '');\n    };\n    var shouldPutBrInPre$1 = function (editor) {\n      return editor.getParam('br_in_pre', true);\n    };\n    var getForcedRootBlock = function (editor) {\n      if (editor.getParam('force_p_newlines', false)) {\n        return 'p';\n      }\n      var block = editor.getParam('forced_root_block', 'p');\n      if (block === false) {\n        return '';\n      } else if (block === true) {\n        return 'p';\n      } else {\n        return block;\n      }\n    };\n    var getForcedRootBlockAttrs = function (editor) {\n      return editor.getParam('forced_root_block_attrs', {});\n    };\n    var getBrNewLineSelector = function (editor) {\n      return editor.getParam('br_newline_selector', '.mce-toc h2,figcaption,caption');\n    };\n    var getNoNewLineSelector = function (editor) {\n      return editor.getParam('no_newline_selector', '');\n    };\n    var shouldKeepStyles = function (editor) {\n      return editor.getParam('keep_styles', true);\n    };\n    var shouldEndContainerOnEmptyBlock = function (editor) {\n      return editor.getParam('end_container_on_empty_block', false);\n    };\n    var getFontStyleValues = function (editor) {\n      return Tools.explode(editor.getParam('font_size_style_values', 'xx-small,x-small,small,medium,large,x-large,xx-large'));\n    };\n    var getFontSizeClasses = function (editor) {\n      return Tools.explode(editor.getParam('font_size_classes', ''));\n    };\n    var getImagesDataImgFilter = function (editor) {\n      return editor.getParam('images_dataimg_filter', always, 'function');\n    };\n    var isAutomaticUploadsEnabled = function (editor) {\n      return editor.getParam('automatic_uploads', true, 'boolean');\n    };\n    var shouldReuseFileName = function (editor) {\n      return editor.getParam('images_reuse_filename', false, 'boolean');\n    };\n    var shouldReplaceBlobUris = function (editor) {\n      return editor.getParam('images_replace_blob_uris', true, 'boolean');\n    };\n    var getIconPackName = function (editor) {\n      return editor.getParam('icons', '', 'string');\n    };\n    var getIconsUrl = function (editor) {\n      return editor.getParam('icons_url', '', 'string');\n    };\n    var getImageUploadUrl = function (editor) {\n      return editor.getParam('images_upload_url', '', 'string');\n    };\n    var getImageUploadBasePath = function (editor) {\n      return editor.getParam('images_upload_base_path', '', 'string');\n    };\n    var getImagesUploadCredentials = function (editor) {\n      return editor.getParam('images_upload_credentials', false, 'boolean');\n    };\n    var getImagesUploadHandler = function (editor) {\n      return editor.getParam('images_upload_handler', null, 'function');\n    };\n    var shouldUseContentCssCors = function (editor) {\n      return editor.getParam('content_css_cors', false, 'boolean');\n    };\n    var getReferrerPolicy = function (editor) {\n      return editor.getParam('referrer_policy', '', 'string');\n    };\n    var getLanguageCode = function (editor) {\n      return editor.getParam('language', 'en', 'string');\n    };\n    var getLanguageUrl = function (editor) {\n      return editor.getParam('language_url', '', 'string');\n    };\n    var shouldIndentUseMargin = function (editor) {\n      return editor.getParam('indent_use_margin', false);\n    };\n    var getIndentation = function (editor) {\n      return editor.getParam('indentation', '40px', 'string');\n    };\n    var getContentCss = function (editor) {\n      var contentCss = editor.getParam('content_css');\n      if (isString$1(contentCss)) {\n        return map$3(contentCss.split(','), trim$4);\n      } else if (isArray$1(contentCss)) {\n        return contentCss;\n      } else if (contentCss === false || editor.inline) {\n        return [];\n      } else {\n        return ['default'];\n      }\n    };\n    var getFontCss = function (editor) {\n      var fontCss = editor.getParam('font_css', []);\n      return isArray$1(fontCss) ? fontCss : map$3(fontCss.split(','), trim$4);\n    };\n    var getDirectionality = function (editor) {\n      return editor.getParam('directionality', I18n.isRtl() ? 'rtl' : undefined);\n    };\n    var getInlineBoundarySelector = function (editor) {\n      return editor.getParam('inline_boundaries_selector', 'a[href],code,.mce-annotation', 'string');\n    };\n    var getObjectResizing = function (editor) {\n      var selector = editor.getParam('object_resizing');\n      if (selector === false || Env.iOS) {\n        return false;\n      } else {\n        return isString$1(selector) ? selector : 'table,img,figure.image,div,video,iframe';\n      }\n    };\n    var getResizeImgProportional = function (editor) {\n      return editor.getParam('resize_img_proportional', true, 'boolean');\n    };\n    var getPlaceholder = function (editor) {\n      return editor.getParam('placeholder', DOM$9.getAttrib(editor.getElement(), 'placeholder'), 'string');\n    };\n    var getEventRoot = function (editor) {\n      return editor.getParam('event_root');\n    };\n    var getServiceMessage = function (editor) {\n      return editor.getParam('service_message');\n    };\n    var getTheme = function (editor) {\n      return editor.getParam('theme');\n    };\n    var shouldValidate = function (editor) {\n      return editor.getParam('validate');\n    };\n    var isInlineBoundariesEnabled = function (editor) {\n      return editor.getParam('inline_boundaries') !== false;\n    };\n    var getFormats = function (editor) {\n      return editor.getParam('formats');\n    };\n    var getPreviewStyles = function (editor) {\n      var style = editor.getParam('preview_styles', defaultPreviewStyles);\n      if (isString$1(style)) {\n        return style;\n      } else {\n        return '';\n      }\n    };\n    var canFormatEmptyLines = function (editor) {\n      return editor.getParam('format_empty_lines', false, 'boolean');\n    };\n    var getCustomUiSelector = function (editor) {\n      return editor.getParam('custom_ui_selector', '', 'string');\n    };\n    var getThemeUrl = function (editor) {\n      return editor.getParam('theme_url');\n    };\n    var isInline = function (editor) {\n      return editor.getParam('inline');\n    };\n    var hasHiddenInput = function (editor) {\n      return editor.getParam('hidden_input');\n    };\n    var shouldPatchSubmit = function (editor) {\n      return editor.getParam('submit_patch');\n    };\n    var isEncodingXml = function (editor) {\n      return editor.getParam('encoding') === 'xml';\n    };\n    var shouldAddFormSubmitTrigger = function (editor) {\n      return editor.getParam('add_form_submit_trigger');\n    };\n    var shouldAddUnloadTrigger = function (editor) {\n      return editor.getParam('add_unload_trigger');\n    };\n    var hasForcedRootBlock = function (editor) {\n      return getForcedRootBlock(editor) !== '';\n    };\n    var getCustomUndoRedoLevels = function (editor) {\n      return editor.getParam('custom_undo_redo_levels', 0, 'number');\n    };\n    var shouldDisableNodeChange = function (editor) {\n      return editor.getParam('disable_nodechange');\n    };\n    var isReadOnly$1 = function (editor) {\n      return editor.getParam('readonly');\n    };\n    var hasContentCssCors = function (editor) {\n      return editor.getParam('content_css_cors');\n    };\n    var getPlugins = function (editor) {\n      return editor.getParam('plugins', '', 'string');\n    };\n    var getExternalPlugins$1 = function (editor) {\n      return editor.getParam('external_plugins');\n    };\n    var shouldBlockUnsupportedDrop = function (editor) {\n      return editor.getParam('block_unsupported_drop', true, 'boolean');\n    };\n    var isVisualAidsEnabled = function (editor) {\n      return editor.getParam('visual', true, 'boolean');\n    };\n    var getVisualAidsTableClass = function (editor) {\n      return editor.getParam('visual_table_class', 'mce-item-table', 'string');\n    };\n    var getVisualAidsAnchorClass = function (editor) {\n      return editor.getParam('visual_anchor_class', 'mce-item-anchor', 'string');\n    };\n    var getIframeAriaText = function (editor) {\n      return editor.getParam('iframe_aria_text', 'Rich Text Area. Press ALT-0 for help.', 'string');\n    };\n\n    var isElement$2 = isElement$5;\n    var isText$2 = isText$7;\n    var removeNode$1 = function (node) {\n      var parentNode = node.parentNode;\n      if (parentNode) {\n        parentNode.removeChild(node);\n      }\n    };\n    var trimCount = function (text) {\n      var trimmedText = trim$2(text);\n      return {\n        count: text.length - trimmedText.length,\n        text: trimmedText\n      };\n    };\n    var deleteZwspChars = function (caretContainer) {\n      var idx;\n      while ((idx = caretContainer.data.lastIndexOf(ZWSP$1)) !== -1) {\n        caretContainer.deleteData(idx, 1);\n      }\n    };\n    var removeUnchanged = function (caretContainer, pos) {\n      remove$2(caretContainer);\n      return pos;\n    };\n    var removeTextAndReposition = function (caretContainer, pos) {\n      var before = trimCount(caretContainer.data.substr(0, pos.offset()));\n      var after = trimCount(caretContainer.data.substr(pos.offset()));\n      var text = before.text + after.text;\n      if (text.length > 0) {\n        deleteZwspChars(caretContainer);\n        return CaretPosition(caretContainer, pos.offset() - before.count);\n      } else {\n        return pos;\n      }\n    };\n    var removeElementAndReposition = function (caretContainer, pos) {\n      var parentNode = pos.container();\n      var newPosition = indexOf$2(from(parentNode.childNodes), caretContainer).map(function (index) {\n        return index < pos.offset() ? CaretPosition(parentNode, pos.offset() - 1) : pos;\n      }).getOr(pos);\n      remove$2(caretContainer);\n      return newPosition;\n    };\n    var removeTextCaretContainer = function (caretContainer, pos) {\n      return isText$2(caretContainer) && pos.container() === caretContainer ? removeTextAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    };\n    var removeElementCaretContainer = function (caretContainer, pos) {\n      return pos.container() === caretContainer.parentNode ? removeElementAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    };\n    var removeAndReposition = function (container, pos) {\n      return CaretPosition.isTextPosition(pos) ? removeTextCaretContainer(container, pos) : removeElementCaretContainer(container, pos);\n    };\n    var remove$2 = function (caretContainerNode) {\n      if (isElement$2(caretContainerNode) && isCaretContainer$2(caretContainerNode)) {\n        if (hasContent(caretContainerNode)) {\n          caretContainerNode.removeAttribute('data-mce-caret');\n        } else {\n          removeNode$1(caretContainerNode);\n        }\n      }\n      if (isText$2(caretContainerNode)) {\n        deleteZwspChars(caretContainerNode);\n        if (caretContainerNode.data.length === 0) {\n          removeNode$1(caretContainerNode);\n        }\n      }\n    };\n\n    var browser$2 = detect().browser;\n    var isContentEditableFalse$8 = isContentEditableFalse$b;\n    var isMedia$1 = isMedia$2;\n    var isTableCell$3 = isTableCell$5;\n    var inlineFakeCaretSelector = '*[contentEditable=false],video,audio,embed,object';\n    var getAbsoluteClientRect = function (root, element, before) {\n      var clientRect = collapse(element.getBoundingClientRect(), before);\n      var scrollX;\n      var scrollY;\n      if (root.tagName === 'BODY') {\n        var docElm = root.ownerDocument.documentElement;\n        scrollX = root.scrollLeft || docElm.scrollLeft;\n        scrollY = root.scrollTop || docElm.scrollTop;\n      } else {\n        var rootRect = root.getBoundingClientRect();\n        scrollX = root.scrollLeft - rootRect.left;\n        scrollY = root.scrollTop - rootRect.top;\n      }\n      clientRect.left += scrollX;\n      clientRect.right += scrollX;\n      clientRect.top += scrollY;\n      clientRect.bottom += scrollY;\n      clientRect.width = 1;\n      var margin = element.offsetWidth - element.clientWidth;\n      if (margin > 0) {\n        if (before) {\n          margin *= -1;\n        }\n        clientRect.left += margin;\n        clientRect.right += margin;\n      }\n      return clientRect;\n    };\n    var trimInlineCaretContainers = function (root) {\n      var fakeCaretTargetNodes = descendants(SugarElement.fromDom(root), inlineFakeCaretSelector);\n      for (var i = 0; i < fakeCaretTargetNodes.length; i++) {\n        var node = fakeCaretTargetNodes[i].dom;\n        var sibling = node.previousSibling;\n        if (endsWithCaretContainer$1(sibling)) {\n          var data = sibling.data;\n          if (data.length === 1) {\n            sibling.parentNode.removeChild(sibling);\n          } else {\n            sibling.deleteData(data.length - 1, 1);\n          }\n        }\n        sibling = node.nextSibling;\n        if (startsWithCaretContainer$1(sibling)) {\n          var data = sibling.data;\n          if (data.length === 1) {\n            sibling.parentNode.removeChild(sibling);\n          } else {\n            sibling.deleteData(0, 1);\n          }\n        }\n      }\n    };\n    var FakeCaret = function (editor, root, isBlock, hasFocus) {\n      var lastVisualCaret = value();\n      var cursorInterval;\n      var caretContainerNode;\n      var rootBlock = getForcedRootBlock(editor);\n      var caretBlock = rootBlock.length > 0 ? rootBlock : 'p';\n      var show = function (before, element) {\n        var rng;\n        hide();\n        if (isTableCell$3(element)) {\n          return null;\n        }\n        if (isBlock(element)) {\n          caretContainerNode = insertBlock$1(caretBlock, element, before);\n          var clientRect = getAbsoluteClientRect(root, element, before);\n          DomQuery(caretContainerNode).css('top', clientRect.top);\n          var caret = DomQuery('<div class=\"mce-visual-caret\" data-mce-bogus=\"all\"></div>').css(__assign({}, clientRect)).appendTo(root)[0];\n          lastVisualCaret.set({\n            caret: caret,\n            element: element,\n            before: before\n          });\n          if (before) {\n            DomQuery(caret).addClass('mce-visual-caret-before');\n          }\n          startBlink();\n          rng = element.ownerDocument.createRange();\n          rng.setStart(caretContainerNode, 0);\n          rng.setEnd(caretContainerNode, 0);\n        } else {\n          caretContainerNode = insertInline$1(element, before);\n          rng = element.ownerDocument.createRange();\n          if (isInlineFakeCaretTarget(caretContainerNode.nextSibling)) {\n            rng.setStart(caretContainerNode, 0);\n            rng.setEnd(caretContainerNode, 0);\n          } else {\n            rng.setStart(caretContainerNode, 1);\n            rng.setEnd(caretContainerNode, 1);\n          }\n          return rng;\n        }\n        return rng;\n      };\n      var hide = function () {\n        trimInlineCaretContainers(root);\n        if (caretContainerNode) {\n          remove$2(caretContainerNode);\n          caretContainerNode = null;\n        }\n        lastVisualCaret.on(function (caretState) {\n          DomQuery(caretState.caret).remove();\n          lastVisualCaret.clear();\n        });\n        if (cursorInterval) {\n          Delay.clearInterval(cursorInterval);\n          cursorInterval = undefined;\n        }\n      };\n      var startBlink = function () {\n        cursorInterval = Delay.setInterval(function () {\n          if (hasFocus()) {\n            DomQuery('div.mce-visual-caret', root).toggleClass('mce-visual-caret-hidden');\n          } else {\n            DomQuery('div.mce-visual-caret', root).addClass('mce-visual-caret-hidden');\n          }\n        }, 500);\n      };\n      var reposition = function () {\n        lastVisualCaret.on(function (caretState) {\n          var clientRect = getAbsoluteClientRect(root, caretState.element, caretState.before);\n          DomQuery(caretState.caret).css(__assign({}, clientRect));\n        });\n      };\n      var destroy = function () {\n        return Delay.clearInterval(cursorInterval);\n      };\n      var getCss = function () {\n        return '.mce-visual-caret {' + 'position: absolute;' + 'background-color: black;' + 'background-color: currentcolor;' + '}' + '.mce-visual-caret-hidden {' + 'display: none;' + '}' + '*[data-mce-caret] {' + 'position: absolute;' + 'left: -1000px;' + 'right: auto;' + 'top: 0;' + 'margin: 0;' + 'padding: 0;' + '}';\n      };\n      return {\n        show: show,\n        hide: hide,\n        getCss: getCss,\n        reposition: reposition,\n        destroy: destroy\n      };\n    };\n    var isFakeCaretTableBrowser = function () {\n      return browser$2.isIE() || browser$2.isEdge() || browser$2.isFirefox();\n    };\n    var isInlineFakeCaretTarget = function (node) {\n      return isContentEditableFalse$8(node) || isMedia$1(node);\n    };\n    var isFakeCaretTarget = function (node) {\n      return isInlineFakeCaretTarget(node) || isTable$3(node) && isFakeCaretTableBrowser();\n    };\n\n    var isContentEditableFalse$7 = isContentEditableFalse$b;\n    var isMedia = isMedia$2;\n    var isBlockLike = matchStyleValues('display', 'block table table-cell table-caption list-item');\n    var isCaretContainer = isCaretContainer$2;\n    var isCaretContainerBlock = isCaretContainerBlock$1;\n    var isElement$1 = isElement$5;\n    var isCaretCandidate$1 = isCaretCandidate$3;\n    var isForwards = function (direction) {\n      return direction > 0;\n    };\n    var isBackwards = function (direction) {\n      return direction < 0;\n    };\n    var skipCaretContainers = function (walk, shallow) {\n      var node;\n      while (node = walk(shallow)) {\n        if (!isCaretContainerBlock(node)) {\n          return node;\n        }\n      }\n      return null;\n    };\n    var findNode$1 = function (node, direction, predicateFn, rootNode, shallow) {\n      var walker = new DomTreeWalker(node, rootNode);\n      var isCefOrCaretContainer = isContentEditableFalse$7(node) || isCaretContainerBlock(node);\n      if (isBackwards(direction)) {\n        if (isCefOrCaretContainer) {\n          node = skipCaretContainers(walker.prev.bind(walker), true);\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n        while (node = skipCaretContainers(walker.prev.bind(walker), shallow)) {\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n      }\n      if (isForwards(direction)) {\n        if (isCefOrCaretContainer) {\n          node = skipCaretContainers(walker.next.bind(walker), true);\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n        while (node = skipCaretContainers(walker.next.bind(walker), shallow)) {\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n      }\n      return null;\n    };\n    var getParentBlock$2 = function (node, rootNode) {\n      while (node && node !== rootNode) {\n        if (isBlockLike(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var isInSameBlock = function (caretPosition1, caretPosition2, rootNode) {\n      return getParentBlock$2(caretPosition1.container(), rootNode) === getParentBlock$2(caretPosition2.container(), rootNode);\n    };\n    var getChildNodeAtRelativeOffset = function (relativeOffset, caretPosition) {\n      if (!caretPosition) {\n        return null;\n      }\n      var container = caretPosition.container();\n      var offset = caretPosition.offset();\n      if (!isElement$1(container)) {\n        return null;\n      }\n      return container.childNodes[offset + relativeOffset];\n    };\n    var beforeAfter = function (before, node) {\n      var range = node.ownerDocument.createRange();\n      if (before) {\n        range.setStartBefore(node);\n        range.setEndBefore(node);\n      } else {\n        range.setStartAfter(node);\n        range.setEndAfter(node);\n      }\n      return range;\n    };\n    var isNodesInSameBlock = function (root, node1, node2) {\n      return getParentBlock$2(node1, root) === getParentBlock$2(node2, root);\n    };\n    var lean = function (left, root, node) {\n      var siblingName = left ? 'previousSibling' : 'nextSibling';\n      while (node && node !== root) {\n        var sibling = node[siblingName];\n        if (isCaretContainer(sibling)) {\n          sibling = sibling[siblingName];\n        }\n        if (isContentEditableFalse$7(sibling) || isMedia(sibling)) {\n          if (isNodesInSameBlock(root, sibling, node)) {\n            return sibling;\n          }\n          break;\n        }\n        if (isCaretCandidate$1(sibling)) {\n          break;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var before$2 = curry(beforeAfter, true);\n    var after$2 = curry(beforeAfter, false);\n    var normalizeRange = function (direction, root, range) {\n      var node;\n      var leanLeft = curry(lean, true, root);\n      var leanRight = curry(lean, false, root);\n      var container = range.startContainer;\n      var offset = range.startOffset;\n      if (isCaretContainerBlock$1(container)) {\n        if (!isElement$1(container)) {\n          container = container.parentNode;\n        }\n        var location_1 = container.getAttribute('data-mce-caret');\n        if (location_1 === 'before') {\n          node = container.nextSibling;\n          if (isFakeCaretTarget(node)) {\n            return before$2(node);\n          }\n        }\n        if (location_1 === 'after') {\n          node = container.previousSibling;\n          if (isFakeCaretTarget(node)) {\n            return after$2(node);\n          }\n        }\n      }\n      if (!range.collapsed) {\n        return range;\n      }\n      if (isText$7(container)) {\n        if (isCaretContainer(container)) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (endsWithCaretContainer$1(container) && offset >= container.data.length - 1) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (startsWithCaretContainer$1(container) && offset <= 1) {\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          return range;\n        }\n        if (offset === container.data.length) {\n          node = leanRight(container);\n          if (node) {\n            return before$2(node);\n          }\n          return range;\n        }\n        if (offset === 0) {\n          node = leanLeft(container);\n          if (node) {\n            return after$2(node);\n          }\n          return range;\n        }\n      }\n      return range;\n    };\n    var getRelativeCefElm = function (forward, caretPosition) {\n      return Optional.from(getChildNodeAtRelativeOffset(forward ? 0 : -1, caretPosition)).filter(isContentEditableFalse$7);\n    };\n    var getNormalizedRangeEndPoint = function (direction, root, range) {\n      var normalizedRange = normalizeRange(direction, root, range);\n      if (direction === -1) {\n        return CaretPosition.fromRangeStart(normalizedRange);\n      }\n      return CaretPosition.fromRangeEnd(normalizedRange);\n    };\n    var getElementFromPosition = function (pos) {\n      return Optional.from(pos.getNode()).map(SugarElement.fromDom);\n    };\n    var getElementFromPrevPosition = function (pos) {\n      return Optional.from(pos.getNode(true)).map(SugarElement.fromDom);\n    };\n    var getVisualCaretPosition = function (walkFn, caretPosition) {\n      while (caretPosition = walkFn(caretPosition)) {\n        if (caretPosition.isVisible()) {\n          return caretPosition;\n        }\n      }\n      return caretPosition;\n    };\n    var isMoveInsideSameBlock = function (from, to) {\n      var inSameBlock = isInSameBlock(from, to);\n      if (!inSameBlock && isBr$5(from.getNode())) {\n        return true;\n      }\n      return inSameBlock;\n    };\n\n    var HDirection;\n    (function (HDirection) {\n      HDirection[HDirection['Backwards'] = -1] = 'Backwards';\n      HDirection[HDirection['Forwards'] = 1] = 'Forwards';\n    }(HDirection || (HDirection = {})));\n    var isContentEditableFalse$6 = isContentEditableFalse$b;\n    var isText$1 = isText$7;\n    var isElement = isElement$5;\n    var isBr$1 = isBr$5;\n    var isCaretCandidate = isCaretCandidate$3;\n    var isAtomic = isAtomic$1;\n    var isEditableCaretCandidate = isEditableCaretCandidate$1;\n    var getParents$3 = function (node, root) {\n      var parents = [];\n      while (node && node !== root) {\n        parents.push(node);\n        node = node.parentNode;\n      }\n      return parents;\n    };\n    var nodeAtIndex = function (container, offset) {\n      if (container.hasChildNodes() && offset < container.childNodes.length) {\n        return container.childNodes[offset];\n      }\n      return null;\n    };\n    var getCaretCandidatePosition = function (direction, node) {\n      if (isForwards(direction)) {\n        if (isCaretCandidate(node.previousSibling) && !isText$1(node.previousSibling)) {\n          return CaretPosition.before(node);\n        }\n        if (isText$1(node)) {\n          return CaretPosition(node, 0);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isCaretCandidate(node.nextSibling) && !isText$1(node.nextSibling)) {\n          return CaretPosition.after(node);\n        }\n        if (isText$1(node)) {\n          return CaretPosition(node, node.data.length);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isBr$1(node)) {\n          return CaretPosition.before(node);\n        }\n        return CaretPosition.after(node);\n      }\n      return CaretPosition.before(node);\n    };\n    var moveForwardFromBr = function (root, nextNode) {\n      var nextSibling = nextNode.nextSibling;\n      if (nextSibling && isCaretCandidate(nextSibling)) {\n        if (isText$1(nextSibling)) {\n          return CaretPosition(nextSibling, 0);\n        } else {\n          return CaretPosition.before(nextSibling);\n        }\n      } else {\n        return findCaretPosition$1(HDirection.Forwards, CaretPosition.after(nextNode), root);\n      }\n    };\n    var findCaretPosition$1 = function (direction, startPos, root) {\n      var node;\n      var nextNode;\n      var innerNode;\n      var caretPosition;\n      if (!isElement(root) || !startPos) {\n        return null;\n      }\n      if (startPos.isEqual(CaretPosition.after(root)) && root.lastChild) {\n        caretPosition = CaretPosition.after(root.lastChild);\n        if (isBackwards(direction) && isCaretCandidate(root.lastChild) && isElement(root.lastChild)) {\n          return isBr$1(root.lastChild) ? CaretPosition.before(root.lastChild) : caretPosition;\n        }\n      } else {\n        caretPosition = startPos;\n      }\n      var container = caretPosition.container();\n      var offset = caretPosition.offset();\n      if (isText$1(container)) {\n        if (isBackwards(direction) && offset > 0) {\n          return CaretPosition(container, --offset);\n        }\n        if (isForwards(direction) && offset < container.length) {\n          return CaretPosition(container, ++offset);\n        }\n        node = container;\n      } else {\n        if (isBackwards(direction) && offset > 0) {\n          nextNode = nodeAtIndex(container, offset - 1);\n          if (isCaretCandidate(nextNode)) {\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode$1(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$1(innerNode)) {\n                  return CaretPosition(innerNode, innerNode.data.length);\n                }\n                return CaretPosition.after(innerNode);\n              }\n            }\n            if (isText$1(nextNode)) {\n              return CaretPosition(nextNode, nextNode.data.length);\n            }\n            return CaretPosition.before(nextNode);\n          }\n        }\n        if (isForwards(direction) && offset < container.childNodes.length) {\n          nextNode = nodeAtIndex(container, offset);\n          if (isCaretCandidate(nextNode)) {\n            if (isBr$1(nextNode)) {\n              return moveForwardFromBr(root, nextNode);\n            }\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode$1(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$1(innerNode)) {\n                  return CaretPosition(innerNode, 0);\n                }\n                return CaretPosition.before(innerNode);\n              }\n            }\n            if (isText$1(nextNode)) {\n              return CaretPosition(nextNode, 0);\n            }\n            return CaretPosition.after(nextNode);\n          }\n        }\n        node = nextNode ? nextNode : caretPosition.getNode();\n      }\n      if (isForwards(direction) && caretPosition.isAtEnd() || isBackwards(direction) && caretPosition.isAtStart()) {\n        node = findNode$1(node, direction, always, root, true);\n        if (isEditableCaretCandidate(node, root)) {\n          return getCaretCandidatePosition(direction, node);\n        }\n      }\n      nextNode = findNode$1(node, direction, isEditableCaretCandidate, root);\n      var rootContentEditableFalseElm = last$1(filter$4(getParents$3(container, root), isContentEditableFalse$6));\n      if (rootContentEditableFalseElm && (!nextNode || !rootContentEditableFalseElm.contains(nextNode))) {\n        if (isForwards(direction)) {\n          caretPosition = CaretPosition.after(rootContentEditableFalseElm);\n        } else {\n          caretPosition = CaretPosition.before(rootContentEditableFalseElm);\n        }\n        return caretPosition;\n      }\n      if (nextNode) {\n        return getCaretCandidatePosition(direction, nextNode);\n      }\n      return null;\n    };\n    var CaretWalker = function (root) {\n      return {\n        next: function (caretPosition) {\n          return findCaretPosition$1(HDirection.Forwards, caretPosition, root);\n        },\n        prev: function (caretPosition) {\n          return findCaretPosition$1(HDirection.Backwards, caretPosition, root);\n        }\n      };\n    };\n\n    var walkToPositionIn = function (forward, root, start) {\n      var position = forward ? CaretPosition.before(start) : CaretPosition.after(start);\n      return fromPosition(forward, root, position);\n    };\n    var afterElement = function (node) {\n      return isBr$5(node) ? CaretPosition.before(node) : CaretPosition.after(node);\n    };\n    var isBeforeOrStart = function (position) {\n      if (CaretPosition.isTextPosition(position)) {\n        return position.offset() === 0;\n      } else {\n        return isCaretCandidate$3(position.getNode());\n      }\n    };\n    var isAfterOrEnd = function (position) {\n      if (CaretPosition.isTextPosition(position)) {\n        var container = position.container();\n        return position.offset() === container.data.length;\n      } else {\n        return isCaretCandidate$3(position.getNode(true));\n      }\n    };\n    var isBeforeAfterSameElement = function (from, to) {\n      return !CaretPosition.isTextPosition(from) && !CaretPosition.isTextPosition(to) && from.getNode() === to.getNode(true);\n    };\n    var isAtBr = function (position) {\n      return !CaretPosition.isTextPosition(position) && isBr$5(position.getNode());\n    };\n    var shouldSkipPosition = function (forward, from, to) {\n      if (forward) {\n        return !isBeforeAfterSameElement(from, to) && !isAtBr(from) && isAfterOrEnd(from) && isBeforeOrStart(to);\n      } else {\n        return !isBeforeAfterSameElement(to, from) && isBeforeOrStart(from) && isAfterOrEnd(to);\n      }\n    };\n    var fromPosition = function (forward, root, pos) {\n      var walker = CaretWalker(root);\n      return Optional.from(forward ? walker.next(pos) : walker.prev(pos));\n    };\n    var navigate = function (forward, root, from) {\n      return fromPosition(forward, root, from).bind(function (to) {\n        if (isInSameBlock(from, to, root) && shouldSkipPosition(forward, from, to)) {\n          return fromPosition(forward, root, to);\n        } else {\n          return Optional.some(to);\n        }\n      });\n    };\n    var navigateIgnore = function (forward, root, from, ignoreFilter) {\n      return navigate(forward, root, from).bind(function (pos) {\n        return ignoreFilter(pos) ? navigateIgnore(forward, root, pos, ignoreFilter) : Optional.some(pos);\n      });\n    };\n    var positionIn = function (forward, element) {\n      var startNode = forward ? element.firstChild : element.lastChild;\n      if (isText$7(startNode)) {\n        return Optional.some(CaretPosition(startNode, forward ? 0 : startNode.data.length));\n      } else if (startNode) {\n        if (isCaretCandidate$3(startNode)) {\n          return Optional.some(forward ? CaretPosition.before(startNode) : afterElement(startNode));\n        } else {\n          return walkToPositionIn(forward, element, startNode);\n        }\n      } else {\n        return Optional.none();\n      }\n    };\n    var nextPosition = curry(fromPosition, true);\n    var prevPosition = curry(fromPosition, false);\n    var firstPositionIn = curry(positionIn, true);\n    var lastPositionIn = curry(positionIn, false);\n\n    var CARET_ID$1 = '_mce_caret';\n    var isCaretNode = function (node) {\n      return isElement$5(node) && node.id === CARET_ID$1;\n    };\n    var getParentCaretContainer = function (body, node) {\n      while (node && node !== body) {\n        if (node.id === CARET_ID$1) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n\n    var isStringPathBookmark = function (bookmark) {\n      return isString$1(bookmark.start);\n    };\n    var isRangeBookmark = function (bookmark) {\n      return has$2(bookmark, 'rng');\n    };\n    var isIdBookmark = function (bookmark) {\n      return has$2(bookmark, 'id');\n    };\n    var isIndexBookmark = function (bookmark) {\n      return has$2(bookmark, 'name');\n    };\n    var isPathBookmark = function (bookmark) {\n      return Tools.isArray(bookmark.start);\n    };\n\n    var addBogus = function (dom, node) {\n      if (isElement$5(node) && dom.isBlock(node) && !node.innerHTML && !Env.ie) {\n        node.innerHTML = '<br data-mce-bogus=\"1\" />';\n      }\n      return node;\n    };\n    var resolveCaretPositionBookmark = function (dom, bookmark) {\n      var pos;\n      var rng = dom.createRng();\n      pos = resolve$2(dom.getRoot(), bookmark.start);\n      rng.setStart(pos.container(), pos.offset());\n      pos = resolve$2(dom.getRoot(), bookmark.end);\n      rng.setEnd(pos.container(), pos.offset());\n      return rng;\n    };\n    var insertZwsp = function (node, rng) {\n      var textNode = node.ownerDocument.createTextNode(ZWSP$1);\n      node.appendChild(textNode);\n      rng.setStart(textNode, 0);\n      rng.setEnd(textNode, 0);\n    };\n    var isEmpty$1 = function (node) {\n      return node.hasChildNodes() === false;\n    };\n    var tryFindRangePosition = function (node, rng) {\n      return lastPositionIn(node).fold(never, function (pos) {\n        rng.setStart(pos.container(), pos.offset());\n        rng.setEnd(pos.container(), pos.offset());\n        return true;\n      });\n    };\n    var padEmptyCaretContainer = function (root, node, rng) {\n      if (isEmpty$1(node) && getParentCaretContainer(root, node)) {\n        insertZwsp(node, rng);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var setEndPoint = function (dom, start, bookmark, rng) {\n      var point = bookmark[start ? 'start' : 'end'];\n      var i, node, offset, children;\n      var root = dom.getRoot();\n      if (point) {\n        offset = point[0];\n        for (node = root, i = point.length - 1; i >= 1; i--) {\n          children = node.childNodes;\n          if (padEmptyCaretContainer(root, node, rng)) {\n            return true;\n          }\n          if (point[i] > children.length - 1) {\n            if (padEmptyCaretContainer(root, node, rng)) {\n              return true;\n            }\n            return tryFindRangePosition(node, rng);\n          }\n          node = children[point[i]];\n        }\n        if (node.nodeType === 3) {\n          offset = Math.min(point[0], node.nodeValue.length);\n        }\n        if (node.nodeType === 1) {\n          offset = Math.min(point[0], node.childNodes.length);\n        }\n        if (start) {\n          rng.setStart(node, offset);\n        } else {\n          rng.setEnd(node, offset);\n        }\n      }\n      return true;\n    };\n    var isValidTextNode = function (node) {\n      return isText$7(node) && node.data.length > 0;\n    };\n    var restoreEndPoint = function (dom, suffix, bookmark) {\n      var marker = dom.get(bookmark.id + '_' + suffix), node, idx, next, prev;\n      var keep = bookmark.keep;\n      var container, offset;\n      if (marker) {\n        node = marker.parentNode;\n        if (suffix === 'start') {\n          if (!keep) {\n            idx = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              node = marker.firstChild;\n              idx = 1;\n            } else if (isValidTextNode(marker.nextSibling)) {\n              node = marker.nextSibling;\n              idx = 0;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              node = marker.previousSibling;\n              idx = marker.previousSibling.data.length;\n            } else {\n              node = marker.parentNode;\n              idx = dom.nodeIndex(marker) + 1;\n            }\n          }\n          container = node;\n          offset = idx;\n        } else {\n          if (!keep) {\n            idx = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              node = marker.firstChild;\n              idx = 1;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              node = marker.previousSibling;\n              idx = marker.previousSibling.data.length;\n            } else {\n              node = marker.parentNode;\n              idx = dom.nodeIndex(marker);\n            }\n          }\n          container = node;\n          offset = idx;\n        }\n        if (!keep) {\n          prev = marker.previousSibling;\n          next = marker.nextSibling;\n          Tools.each(Tools.grep(marker.childNodes), function (node) {\n            if (isText$7(node)) {\n              node.nodeValue = node.nodeValue.replace(/\\uFEFF/g, '');\n            }\n          });\n          while (marker = dom.get(bookmark.id + '_' + suffix)) {\n            dom.remove(marker, true);\n          }\n          if (prev && next && prev.nodeType === next.nodeType && isText$7(prev) && !Env.opera) {\n            idx = prev.nodeValue.length;\n            prev.appendData(next.nodeValue);\n            dom.remove(next);\n            container = prev;\n            offset = idx;\n          }\n        }\n        return Optional.some(CaretPosition(container, offset));\n      } else {\n        return Optional.none();\n      }\n    };\n    var resolvePaths = function (dom, bookmark) {\n      var rng = dom.createRng();\n      if (setEndPoint(dom, true, bookmark, rng) && setEndPoint(dom, false, bookmark, rng)) {\n        return Optional.some(rng);\n      } else {\n        return Optional.none();\n      }\n    };\n    var resolveId = function (dom, bookmark) {\n      var startPos = restoreEndPoint(dom, 'start', bookmark);\n      var endPos = restoreEndPoint(dom, 'end', bookmark);\n      return lift2(startPos, endPos.or(startPos), function (spos, epos) {\n        var rng = dom.createRng();\n        rng.setStart(addBogus(dom, spos.container()), spos.offset());\n        rng.setEnd(addBogus(dom, epos.container()), epos.offset());\n        return rng;\n      });\n    };\n    var resolveIndex = function (dom, bookmark) {\n      return Optional.from(dom.select(bookmark.name)[bookmark.index]).map(function (elm) {\n        var rng = dom.createRng();\n        rng.selectNode(elm);\n        return rng;\n      });\n    };\n    var resolve$1 = function (selection, bookmark) {\n      var dom = selection.dom;\n      if (bookmark) {\n        if (isPathBookmark(bookmark)) {\n          return resolvePaths(dom, bookmark);\n        } else if (isStringPathBookmark(bookmark)) {\n          return Optional.some(resolveCaretPositionBookmark(dom, bookmark));\n        } else if (isIdBookmark(bookmark)) {\n          return resolveId(dom, bookmark);\n        } else if (isIndexBookmark(bookmark)) {\n          return resolveIndex(dom, bookmark);\n        } else if (isRangeBookmark(bookmark)) {\n          return Optional.some(bookmark.rng);\n        }\n      }\n      return Optional.none();\n    };\n\n    var getBookmark$1 = function (selection, type, normalized) {\n      return getBookmark$2(selection, type, normalized);\n    };\n    var moveToBookmark = function (selection, bookmark) {\n      resolve$1(selection, bookmark).each(function (rng) {\n        selection.setRng(rng);\n      });\n    };\n    var isBookmarkNode$1 = function (node) {\n      return isElement$5(node) && node.tagName === 'SPAN' && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n\n    var is = function (expected) {\n      return function (actual) {\n        return expected === actual;\n      };\n    };\n    var isNbsp = is(nbsp);\n    var isWhiteSpace = function (chr) {\n      return chr !== '' && ' \\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n    };\n    var isContent = function (chr) {\n      return !isWhiteSpace(chr) && !isNbsp(chr);\n    };\n\n    var isNode = function (node) {\n      return !!node.nodeType;\n    };\n    var isInlineBlock = function (node) {\n      return node && /^(IMG)$/.test(node.nodeName);\n    };\n    var moveStart = function (dom, selection, rng) {\n      var offset = rng.startOffset;\n      var container = rng.startContainer;\n      if (container === rng.endContainer) {\n        if (isInlineBlock(container.childNodes[offset])) {\n          return;\n        }\n      }\n      if (isElement$5(container)) {\n        var nodes = container.childNodes;\n        var walker = void 0;\n        if (offset < nodes.length) {\n          container = nodes[offset];\n          walker = new DomTreeWalker(container, dom.getParent(container, dom.isBlock));\n        } else {\n          container = nodes[nodes.length - 1];\n          walker = new DomTreeWalker(container, dom.getParent(container, dom.isBlock));\n          walker.next(true);\n        }\n        for (var node = walker.current(); node; node = walker.next()) {\n          if (isText$7(node) && !isWhiteSpaceNode$1(node)) {\n            rng.setStart(node, 0);\n            selection.setRng(rng);\n            return;\n          }\n        }\n      }\n    };\n    var getNonWhiteSpaceSibling = function (node, next, inc) {\n      if (node) {\n        var nextName = next ? 'nextSibling' : 'previousSibling';\n        for (node = inc ? node : node[nextName]; node; node = node[nextName]) {\n          if (isElement$5(node) || !isWhiteSpaceNode$1(node)) {\n            return node;\n          }\n        }\n      }\n    };\n    var isTextBlock$1 = function (editor, name) {\n      if (isNode(name)) {\n        name = name.nodeName;\n      }\n      return !!editor.schema.getTextBlockElements()[name.toLowerCase()];\n    };\n    var isValid = function (ed, parent, child) {\n      return ed.schema.isValidChild(parent, child);\n    };\n    var isWhiteSpaceNode$1 = function (node, allowSpaces) {\n      if (allowSpaces === void 0) {\n        allowSpaces = false;\n      }\n      if (isNonNullable(node) && isText$7(node)) {\n        var data = allowSpaces ? node.data.replace(/ /g, '\\xA0') : node.data;\n        return isWhitespaceText(data);\n      } else {\n        return false;\n      }\n    };\n    var isEmptyTextNode$1 = function (node) {\n      return isNonNullable(node) && isText$7(node) && node.length === 0;\n    };\n    var replaceVars = function (value, vars) {\n      if (isFunction(value)) {\n        value = value(vars);\n      } else if (isNonNullable(vars)) {\n        value = value.replace(/%(\\w+)/g, function (str, name) {\n          return vars[name] || str;\n        });\n      }\n      return value;\n    };\n    var isEq$5 = function (str1, str2) {\n      str1 = str1 || '';\n      str2 = str2 || '';\n      str1 = '' + (str1.nodeName || str1);\n      str2 = '' + (str2.nodeName || str2);\n      return str1.toLowerCase() === str2.toLowerCase();\n    };\n    var normalizeStyleValue = function (dom, value, name) {\n      if (name === 'color' || name === 'backgroundColor') {\n        value = dom.toHex(value);\n      }\n      if (name === 'fontWeight' && value === 700) {\n        value = 'bold';\n      }\n      if (name === 'fontFamily') {\n        value = value.replace(/[\\'\\\"]/g, '').replace(/,\\s+/g, ',');\n      }\n      return '' + value;\n    };\n    var getStyle = function (dom, node, name) {\n      return normalizeStyleValue(dom, dom.getStyle(node, name), name);\n    };\n    var getTextDecoration = function (dom, node) {\n      var decoration;\n      dom.getParent(node, function (n) {\n        decoration = dom.getStyle(n, 'text-decoration');\n        return decoration && decoration !== 'none';\n      });\n      return decoration;\n    };\n    var getParents$2 = function (dom, node, selector) {\n      return dom.getParents(node, selector, dom.getRoot());\n    };\n    var isVariableFormatName = function (editor, formatName) {\n      var hasVariableValues = function (format) {\n        var isVariableValue = function (val) {\n          return val.length > 1 && val.charAt(0) === '%';\n        };\n        return exists([\n          'styles',\n          'attributes'\n        ], function (key) {\n          return get$9(format, key).exists(function (field) {\n            var fieldValues = isArray$1(field) ? field : values(field);\n            return exists(fieldValues, isVariableValue);\n          });\n        });\n      };\n      return exists(editor.formatter.get(formatName), hasVariableValues);\n    };\n    var areSimilarFormats = function (editor, formatName, otherFormatName) {\n      var validKeys = [\n        'inline',\n        'block',\n        'selector',\n        'attributes',\n        'styles',\n        'classes'\n      ];\n      var filterObj = function (format) {\n        return filter$3(format, function (_, key) {\n          return exists(validKeys, function (validKey) {\n            return validKey === key;\n          });\n        });\n      };\n      return exists(editor.formatter.get(formatName), function (fmt1) {\n        var filteredFmt1 = filterObj(fmt1);\n        return exists(editor.formatter.get(otherFormatName), function (fmt2) {\n          var filteredFmt2 = filterObj(fmt2);\n          return equal$1(filteredFmt1, filteredFmt2);\n        });\n      });\n    };\n    var isBlockFormat = function (format) {\n      return hasNonNullableKey(format, 'block');\n    };\n    var isSelectorFormat = function (format) {\n      return hasNonNullableKey(format, 'selector');\n    };\n    var isInlineFormat = function (format) {\n      return hasNonNullableKey(format, 'inline');\n    };\n    var isMixedFormat = function (format) {\n      return isSelectorFormat(format) && isInlineFormat(format) && is$1(get$9(format, 'mixed'), true);\n    };\n    var shouldExpandToSelector = function (format) {\n      return isSelectorFormat(format) && format.expand !== false && !isInlineFormat(format);\n    };\n\n    var isBookmarkNode = isBookmarkNode$1;\n    var getParents$1 = getParents$2;\n    var isWhiteSpaceNode = isWhiteSpaceNode$1;\n    var isTextBlock = isTextBlock$1;\n    var isBogusBr = function (node) {\n      return isBr$5(node) && node.getAttribute('data-mce-bogus') && !node.nextSibling;\n    };\n    var findParentContentEditable = function (dom, node) {\n      var parent = node;\n      while (parent) {\n        if (isElement$5(parent) && dom.getContentEditable(parent)) {\n          return dom.getContentEditable(parent) === 'false' ? parent : node;\n        }\n        parent = parent.parentNode;\n      }\n      return node;\n    };\n    var walkText = function (start, node, offset, predicate) {\n      var str = node.data;\n      for (var i = offset; start ? i >= 0 : i < str.length; start ? i-- : i++) {\n        if (predicate(str.charAt(i))) {\n          return start ? i + 1 : i;\n        }\n      }\n      return -1;\n    };\n    var findSpace = function (start, node, offset) {\n      return walkText(start, node, offset, function (c) {\n        return isNbsp(c) || isWhiteSpace(c);\n      });\n    };\n    var findContent = function (start, node, offset) {\n      return walkText(start, node, offset, isContent);\n    };\n    var findWordEndPoint = function (dom, body, container, offset, start, includeTrailingSpaces) {\n      var lastTextNode;\n      var rootNode = dom.getParent(container, dom.isBlock) || body;\n      var walk = function (container, offset, pred) {\n        var textSeeker = TextSeeker(dom);\n        var walker = start ? textSeeker.backwards : textSeeker.forwards;\n        return Optional.from(walker(container, offset, function (text, textOffset) {\n          if (isBookmarkNode(text.parentNode)) {\n            return -1;\n          } else {\n            lastTextNode = text;\n            return pred(start, text, textOffset);\n          }\n        }, rootNode));\n      };\n      var spaceResult = walk(container, offset, findSpace);\n      return spaceResult.bind(function (result) {\n        return includeTrailingSpaces ? walk(result.container, result.offset + (start ? -1 : 0), findContent) : Optional.some(result);\n      }).orThunk(function () {\n        return lastTextNode ? Optional.some({\n          container: lastTextNode,\n          offset: start ? 0 : lastTextNode.length\n        }) : Optional.none();\n      });\n    };\n    var findSelectorEndPoint = function (dom, formatList, rng, container, siblingName) {\n      if (isText$7(container) && isEmpty$3(container.data) && container[siblingName]) {\n        container = container[siblingName];\n      }\n      var parents = getParents$1(dom, container);\n      for (var i = 0; i < parents.length; i++) {\n        for (var y = 0; y < formatList.length; y++) {\n          var curFormat = formatList[y];\n          if (isNonNullable(curFormat.collapsed) && curFormat.collapsed !== rng.collapsed) {\n            continue;\n          }\n          if (isSelectorFormat(curFormat) && dom.is(parents[i], curFormat.selector)) {\n            return parents[i];\n          }\n        }\n      }\n      return container;\n    };\n    var findBlockEndPoint = function (editor, formatList, container, siblingName) {\n      var node = container;\n      var dom = editor.dom;\n      var root = dom.getRoot();\n      var format = formatList[0];\n      if (isBlockFormat(format)) {\n        node = format.wrapper ? null : dom.getParent(container, format.block, root);\n      }\n      if (!node) {\n        var scopeRoot = dom.getParent(container, 'LI,TD,TH');\n        node = dom.getParent(isText$7(container) ? container.parentNode : container, function (node) {\n          return node !== root && isTextBlock(editor, node);\n        }, scopeRoot);\n      }\n      if (node && isBlockFormat(format) && format.wrapper) {\n        node = getParents$1(dom, node, 'ul,ol').reverse()[0] || node;\n      }\n      if (!node) {\n        node = container;\n        while (node[siblingName] && !dom.isBlock(node[siblingName])) {\n          node = node[siblingName];\n          if (isEq$5(node, 'br')) {\n            break;\n          }\n        }\n      }\n      return node || container;\n    };\n    var isAtBlockBoundary$1 = function (dom, root, container, siblingName) {\n      var parent = container.parentNode;\n      if (isNonNullable(container[siblingName])) {\n        return false;\n      } else if (parent === root || isNullable(parent) || dom.isBlock(parent)) {\n        return true;\n      } else {\n        return isAtBlockBoundary$1(dom, root, parent, siblingName);\n      }\n    };\n    var findParentContainer = function (dom, formatList, container, offset, start) {\n      var parent = container;\n      var siblingName = start ? 'previousSibling' : 'nextSibling';\n      var root = dom.getRoot();\n      if (isText$7(container) && !isWhiteSpaceNode(container)) {\n        if (start ? offset > 0 : offset < container.data.length) {\n          return container;\n        }\n      }\n      while (true) {\n        if (!formatList[0].block_expand && dom.isBlock(parent)) {\n          return parent;\n        }\n        for (var sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) {\n          var allowSpaces = isText$7(sibling) && !isAtBlockBoundary$1(dom, root, sibling, siblingName);\n          if (!isBookmarkNode(sibling) && !isBogusBr(sibling) && !isWhiteSpaceNode(sibling, allowSpaces)) {\n            return parent;\n          }\n        }\n        if (parent === root || parent.parentNode === root) {\n          container = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return container;\n    };\n    var isSelfOrParentBookmark = function (container) {\n      return isBookmarkNode(container.parentNode) || isBookmarkNode(container);\n    };\n    var expandRng = function (editor, rng, formatList, includeTrailingSpace) {\n      if (includeTrailingSpace === void 0) {\n        includeTrailingSpace = false;\n      }\n      var startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset;\n      var dom = editor.dom;\n      var format = formatList[0];\n      if (isElement$5(startContainer) && startContainer.hasChildNodes()) {\n        startContainer = getNode$1(startContainer, startOffset);\n        if (isText$7(startContainer)) {\n          startOffset = 0;\n        }\n      }\n      if (isElement$5(endContainer) && endContainer.hasChildNodes()) {\n        endContainer = getNode$1(endContainer, rng.collapsed ? endOffset : endOffset - 1);\n        if (isText$7(endContainer)) {\n          endOffset = endContainer.nodeValue.length;\n        }\n      }\n      startContainer = findParentContentEditable(dom, startContainer);\n      endContainer = findParentContentEditable(dom, endContainer);\n      if (isSelfOrParentBookmark(startContainer)) {\n        startContainer = isBookmarkNode(startContainer) ? startContainer : startContainer.parentNode;\n        if (rng.collapsed) {\n          startContainer = startContainer.previousSibling || startContainer;\n        } else {\n          startContainer = startContainer.nextSibling || startContainer;\n        }\n        if (isText$7(startContainer)) {\n          startOffset = rng.collapsed ? startContainer.length : 0;\n        }\n      }\n      if (isSelfOrParentBookmark(endContainer)) {\n        endContainer = isBookmarkNode(endContainer) ? endContainer : endContainer.parentNode;\n        if (rng.collapsed) {\n          endContainer = endContainer.nextSibling || endContainer;\n        } else {\n          endContainer = endContainer.previousSibling || endContainer;\n        }\n        if (isText$7(endContainer)) {\n          endOffset = rng.collapsed ? 0 : endContainer.length;\n        }\n      }\n      if (rng.collapsed) {\n        var startPoint = findWordEndPoint(dom, editor.getBody(), startContainer, startOffset, true, includeTrailingSpace);\n        startPoint.each(function (_a) {\n          var container = _a.container, offset = _a.offset;\n          startContainer = container;\n          startOffset = offset;\n        });\n        var endPoint = findWordEndPoint(dom, editor.getBody(), endContainer, endOffset, false, includeTrailingSpace);\n        endPoint.each(function (_a) {\n          var container = _a.container, offset = _a.offset;\n          endContainer = container;\n          endOffset = offset;\n        });\n      }\n      if (isInlineFormat(format) || format.block_expand) {\n        if (!isInlineFormat(format) || (!isText$7(startContainer) || startOffset === 0)) {\n          startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n        }\n        if (!isInlineFormat(format) || (!isText$7(endContainer) || endOffset === endContainer.nodeValue.length)) {\n          endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n        }\n      }\n      if (shouldExpandToSelector(format)) {\n        startContainer = findSelectorEndPoint(dom, formatList, rng, startContainer, 'previousSibling');\n        endContainer = findSelectorEndPoint(dom, formatList, rng, endContainer, 'nextSibling');\n      }\n      if (isBlockFormat(format) || isSelectorFormat(format)) {\n        startContainer = findBlockEndPoint(editor, formatList, startContainer, 'previousSibling');\n        endContainer = findBlockEndPoint(editor, formatList, endContainer, 'nextSibling');\n        if (isBlockFormat(format)) {\n          if (!dom.isBlock(startContainer)) {\n            startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n          }\n          if (!dom.isBlock(endContainer)) {\n            endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n          }\n        }\n      }\n      if (isElement$5(startContainer)) {\n        startOffset = dom.nodeIndex(startContainer);\n        startContainer = startContainer.parentNode;\n      }\n      if (isElement$5(endContainer)) {\n        endOffset = dom.nodeIndex(endContainer) + 1;\n        endContainer = endContainer.parentNode;\n      }\n      return {\n        startContainer: startContainer,\n        startOffset: startOffset,\n        endContainer: endContainer,\n        endOffset: endOffset\n      };\n    };\n\n    var walk$2 = function (dom, rng, callback) {\n      var startOffset = rng.startOffset;\n      var startContainer = getNode$1(rng.startContainer, startOffset);\n      var endOffset = rng.endOffset;\n      var endContainer = getNode$1(rng.endContainer, endOffset - 1);\n      var exclude = function (nodes) {\n        var firstNode = nodes[0];\n        if (isText$7(firstNode) && firstNode === startContainer && startOffset >= firstNode.data.length) {\n          nodes.splice(0, 1);\n        }\n        var lastNode = nodes[nodes.length - 1];\n        if (endOffset === 0 && nodes.length > 0 && lastNode === endContainer && isText$7(lastNode)) {\n          nodes.splice(nodes.length - 1, 1);\n        }\n        return nodes;\n      };\n      var collectSiblings = function (node, name, endNode) {\n        var siblings = [];\n        for (; node && node !== endNode; node = node[name]) {\n          siblings.push(node);\n        }\n        return siblings;\n      };\n      var findEndPoint = function (node, root) {\n        return dom.getParent(node, function (node) {\n          return node.parentNode === root;\n        }, root);\n      };\n      var walkBoundary = function (startNode, endNode, next) {\n        var siblingName = next ? 'nextSibling' : 'previousSibling';\n        for (var node = startNode, parent_1 = node.parentNode; node && node !== endNode; node = parent_1) {\n          parent_1 = node.parentNode;\n          var siblings_1 = collectSiblings(node === startNode ? node : node[siblingName], siblingName);\n          if (siblings_1.length) {\n            if (!next) {\n              siblings_1.reverse();\n            }\n            callback(exclude(siblings_1));\n          }\n        }\n      };\n      if (startContainer === endContainer) {\n        return callback(exclude([startContainer]));\n      }\n      var ancestor = dom.findCommonAncestor(startContainer, endContainer);\n      if (dom.isChildOf(startContainer, endContainer)) {\n        return walkBoundary(startContainer, ancestor, true);\n      }\n      if (dom.isChildOf(endContainer, startContainer)) {\n        return walkBoundary(endContainer, ancestor);\n      }\n      var startPoint = findEndPoint(startContainer, ancestor) || startContainer;\n      var endPoint = findEndPoint(endContainer, ancestor) || endContainer;\n      walkBoundary(startContainer, startPoint, true);\n      var siblings = collectSiblings(startPoint === startContainer ? startPoint : startPoint.nextSibling, 'nextSibling', endPoint === endContainer ? endPoint.nextSibling : endPoint);\n      if (siblings.length) {\n        callback(exclude(siblings));\n      }\n      walkBoundary(endContainer, endPoint);\n    };\n\n    var getRanges = function (selection) {\n      var ranges = [];\n      if (selection) {\n        for (var i = 0; i < selection.rangeCount; i++) {\n          ranges.push(selection.getRangeAt(i));\n        }\n      }\n      return ranges;\n    };\n    var getSelectedNodes = function (ranges) {\n      return bind(ranges, function (range) {\n        var node = getSelectedNode(range);\n        return node ? [SugarElement.fromDom(node)] : [];\n      });\n    };\n    var hasMultipleRanges = function (selection) {\n      return getRanges(selection).length > 1;\n    };\n\n    var getCellsFromRanges = function (ranges) {\n      return filter$4(getSelectedNodes(ranges), isTableCell$4);\n    };\n    var getCellsFromElement = function (elm) {\n      return descendants(elm, 'td[data-mce-selected],th[data-mce-selected]');\n    };\n    var getCellsFromElementOrRanges = function (ranges, element) {\n      var selectedCells = getCellsFromElement(element);\n      return selectedCells.length > 0 ? selectedCells : getCellsFromRanges(ranges);\n    };\n    var getCellsFromEditor = function (editor) {\n      return getCellsFromElementOrRanges(getRanges(editor.selection.getSel()), SugarElement.fromDom(editor.getBody()));\n    };\n    var getClosestTable = function (cell, isRoot) {\n      return ancestor$2(cell, 'table', isRoot);\n    };\n\n    var getStartNode = function (rng) {\n      var sc = rng.startContainer, so = rng.startOffset;\n      if (isText$7(sc)) {\n        return so === 0 ? Optional.some(SugarElement.fromDom(sc)) : Optional.none();\n      } else {\n        return Optional.from(sc.childNodes[so]).map(SugarElement.fromDom);\n      }\n    };\n    var getEndNode = function (rng) {\n      var ec = rng.endContainer, eo = rng.endOffset;\n      if (isText$7(ec)) {\n        return eo === ec.data.length ? Optional.some(SugarElement.fromDom(ec)) : Optional.none();\n      } else {\n        return Optional.from(ec.childNodes[eo - 1]).map(SugarElement.fromDom);\n      }\n    };\n    var getFirstChildren = function (node) {\n      return firstChild(node).fold(constant([node]), function (child) {\n        return [node].concat(getFirstChildren(child));\n      });\n    };\n    var getLastChildren$1 = function (node) {\n      return lastChild(node).fold(constant([node]), function (child) {\n        if (name(child) === 'br') {\n          return prevSibling(child).map(function (sibling) {\n            return [node].concat(getLastChildren$1(sibling));\n          }).getOr([]);\n        } else {\n          return [node].concat(getLastChildren$1(child));\n        }\n      });\n    };\n    var hasAllContentsSelected = function (elm, rng) {\n      return lift2(getStartNode(rng), getEndNode(rng), function (startNode, endNode) {\n        var start = find$3(getFirstChildren(elm), curry(eq, startNode));\n        var end = find$3(getLastChildren$1(elm), curry(eq, endNode));\n        return start.isSome() && end.isSome();\n      }).getOr(false);\n    };\n    var moveEndPoint = function (dom, rng, node, start) {\n      var root = node, walker = new DomTreeWalker(node, root);\n      var moveCaretBeforeOnEnterElementsMap = filter$3(dom.schema.getMoveCaretBeforeOnEnterElements(), function (_, name) {\n        return !contains$3([\n          'td',\n          'th',\n          'table'\n        ], name.toLowerCase());\n      });\n      do {\n        if (isText$7(node) && Tools.trim(node.nodeValue).length !== 0) {\n          if (start) {\n            rng.setStart(node, 0);\n          } else {\n            rng.setEnd(node, node.nodeValue.length);\n          }\n          return;\n        }\n        if (moveCaretBeforeOnEnterElementsMap[node.nodeName]) {\n          if (start) {\n            rng.setStartBefore(node);\n          } else {\n            if (node.nodeName === 'BR') {\n              rng.setEndBefore(node);\n            } else {\n              rng.setEndAfter(node);\n            }\n          }\n          return;\n        }\n      } while (node = start ? walker.next() : walker.prev());\n      if (root.nodeName === 'BODY') {\n        if (start) {\n          rng.setStart(root, 0);\n        } else {\n          rng.setEnd(root, root.childNodes.length);\n        }\n      }\n    };\n    var hasAnyRanges = function (editor) {\n      var sel = editor.selection.getSel();\n      return sel && sel.rangeCount > 0;\n    };\n    var runOnRanges = function (editor, executor) {\n      var fakeSelectionNodes = getCellsFromEditor(editor);\n      if (fakeSelectionNodes.length > 0) {\n        each$k(fakeSelectionNodes, function (elem) {\n          var node = elem.dom;\n          var fakeNodeRng = editor.dom.createRng();\n          fakeNodeRng.setStartBefore(node);\n          fakeNodeRng.setEndAfter(node);\n          executor(fakeNodeRng, true);\n        });\n      } else {\n        executor(editor.selection.getRng(), false);\n      }\n    };\n    var preserve = function (selection, fillBookmark, executor) {\n      var bookmark = getPersistentBookmark(selection, fillBookmark);\n      executor(bookmark);\n      selection.moveToBookmark(bookmark);\n    };\n\n    var NodeValue = function (is, name) {\n      var get = function (element) {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      var getOption = function (element) {\n        return is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      };\n      var set = function (element, value) {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get: get,\n        getOption: getOption,\n        set: set\n      };\n    };\n\n    var api$1 = NodeValue(isText$8, 'text');\n    var get$2 = function (element) {\n      return api$1.get(element);\n    };\n\n    var isZeroWidth = function (elem) {\n      return isText$8(elem) && get$2(elem) === ZWSP$1;\n    };\n    var context = function (editor, elem, wrapName, nodeName) {\n      return parent(elem).fold(function () {\n        return 'skipping';\n      }, function (parent) {\n        if (nodeName === 'br' || isZeroWidth(elem)) {\n          return 'valid';\n        } else if (isAnnotation(elem)) {\n          return 'existing';\n        } else if (isCaretNode(elem.dom)) {\n          return 'caret';\n        } else if (!isValid(editor, wrapName, nodeName) || !isValid(editor, name(parent), wrapName)) {\n          return 'invalid-child';\n        } else {\n          return 'valid';\n        }\n      });\n    };\n\n    var applyWordGrab = function (editor, rng) {\n      var r = expandRng(editor, rng, [{ inline: 'span' }]);\n      rng.setStart(r.startContainer, r.startOffset);\n      rng.setEnd(r.endContainer, r.endOffset);\n      editor.selection.setRng(rng);\n    };\n    var makeAnnotation = function (eDoc, _a, annotationName, decorate) {\n      var _b = _a.uid, uid = _b === void 0 ? generate('mce-annotation') : _b, data = __rest(_a, ['uid']);\n      var master = SugarElement.fromTag('span', eDoc);\n      add$1(master, annotation());\n      set$1(master, '' + dataAnnotationId(), uid);\n      set$1(master, '' + dataAnnotation(), annotationName);\n      var _c = decorate(uid, data), _d = _c.attributes, attributes = _d === void 0 ? {} : _d, _e = _c.classes, classes = _e === void 0 ? [] : _e;\n      setAll$1(master, attributes);\n      add(master, classes);\n      return master;\n    };\n    var annotate = function (editor, rng, annotationName, decorate, data) {\n      var newWrappers = [];\n      var master = makeAnnotation(editor.getDoc(), data, annotationName, decorate);\n      var wrapper = value();\n      var finishWrapper = function () {\n        wrapper.clear();\n      };\n      var getOrOpenWrapper = function () {\n        return wrapper.get().getOrThunk(function () {\n          var nu = shallow(master);\n          newWrappers.push(nu);\n          wrapper.set(nu);\n          return nu;\n        });\n      };\n      var processElements = function (elems) {\n        each$k(elems, processElement);\n      };\n      var processElement = function (elem) {\n        var ctx = context(editor, elem, 'span', name(elem));\n        switch (ctx) {\n        case 'invalid-child': {\n            finishWrapper();\n            var children$1 = children(elem);\n            processElements(children$1);\n            finishWrapper();\n            break;\n          }\n        case 'valid': {\n            var w = getOrOpenWrapper();\n            wrap$3(elem, w);\n            break;\n          }\n        }\n      };\n      var processNodes = function (nodes) {\n        var elems = map$3(nodes, SugarElement.fromDom);\n        processElements(elems);\n      };\n      walk$2(editor.dom, rng, function (nodes) {\n        finishWrapper();\n        processNodes(nodes);\n      });\n      return newWrappers;\n    };\n    var annotateWithBookmark = function (editor, name, settings, data) {\n      editor.undoManager.transact(function () {\n        var selection = editor.selection;\n        var initialRng = selection.getRng();\n        var hasFakeSelection = getCellsFromEditor(editor).length > 0;\n        if (initialRng.collapsed && !hasFakeSelection) {\n          applyWordGrab(editor, initialRng);\n        }\n        if (selection.getRng().collapsed && !hasFakeSelection) {\n          var wrapper = makeAnnotation(editor.getDoc(), data, name, settings.decorate);\n          set(wrapper, nbsp);\n          selection.getRng().insertNode(wrapper.dom);\n          selection.select(wrapper.dom);\n        } else {\n          preserve(selection, false, function () {\n            runOnRanges(editor, function (selectionRng) {\n              annotate(editor, selectionRng, name, settings.decorate, data);\n            });\n          });\n        }\n      });\n    };\n\n    var Annotator = function (editor) {\n      var registry = create$7();\n      setup$m(editor, registry);\n      var changes = setup$n(editor);\n      return {\n        register: function (name, settings) {\n          registry.register(name, settings);\n        },\n        annotate: function (name, data) {\n          registry.lookup(name).each(function (settings) {\n            annotateWithBookmark(editor, name, settings, data);\n          });\n        },\n        annotationChanged: function (name, callback) {\n          changes.addListener(name, callback);\n        },\n        remove: function (name) {\n          identify(editor, Optional.some(name)).each(function (_a) {\n            var elements = _a.elements;\n            each$k(elements, unwrap);\n          });\n        },\n        getAll: function (name) {\n          var directory = findAll(editor, name);\n          return map$2(directory, function (elems) {\n            return map$3(elems, function (elem) {\n              return elem.dom;\n            });\n          });\n        }\n      };\n    };\n\n    var BookmarkManager = function (selection) {\n      return {\n        getBookmark: curry(getBookmark$1, selection),\n        moveToBookmark: curry(moveToBookmark, selection)\n      };\n    };\n    BookmarkManager.isBookmarkNode = isBookmarkNode$1;\n\n    var getContentEditableRoot$1 = function (root, node) {\n      while (node && node !== root) {\n        if (isContentEditableTrue$4(node) || isContentEditableFalse$b(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n\n    var isXYWithinRange = function (clientX, clientY, range) {\n      if (range.collapsed) {\n        return false;\n      }\n      if (Env.browser.isIE() && range.startOffset === range.endOffset - 1 && range.startContainer === range.endContainer) {\n        var elm = range.startContainer.childNodes[range.startOffset];\n        if (isElement$5(elm)) {\n          return exists(elm.getClientRects(), function (rect) {\n            return containsXY(rect, clientX, clientY);\n          });\n        }\n      }\n      return exists(range.getClientRects(), function (rect) {\n        return containsXY(rect, clientX, clientY);\n      });\n    };\n\n    var firePreProcess = function (editor, args) {\n      return editor.fire('PreProcess', args);\n    };\n    var firePostProcess = function (editor, args) {\n      return editor.fire('PostProcess', args);\n    };\n    var fireRemove = function (editor) {\n      return editor.fire('remove');\n    };\n    var fireDetach = function (editor) {\n      return editor.fire('detach');\n    };\n    var fireSwitchMode = function (editor, mode) {\n      return editor.fire('SwitchMode', { mode: mode });\n    };\n    var fireObjectResizeStart = function (editor, target, width, height, origin) {\n      editor.fire('ObjectResizeStart', {\n        target: target,\n        width: width,\n        height: height,\n        origin: origin\n      });\n    };\n    var fireObjectResized = function (editor, target, width, height, origin) {\n      editor.fire('ObjectResized', {\n        target: target,\n        width: width,\n        height: height,\n        origin: origin\n      });\n    };\n    var firePreInit = function (editor) {\n      return editor.fire('PreInit');\n    };\n    var firePostRender = function (editor) {\n      return editor.fire('PostRender');\n    };\n    var fireInit = function (editor) {\n      return editor.fire('Init');\n    };\n    var firePlaceholderToggle = function (editor, state) {\n      return editor.fire('PlaceholderToggle', { state: state });\n    };\n    var fireError = function (editor, errorType, error) {\n      return editor.fire(errorType, error);\n    };\n    var fireFormatApply = function (editor, format, node, vars) {\n      return editor.fire('FormatApply', {\n        format: format,\n        node: node,\n        vars: vars\n      });\n    };\n    var fireFormatRemove = function (editor, format, node, vars) {\n      return editor.fire('FormatRemove', {\n        format: format,\n        node: node,\n        vars: vars\n      });\n    };\n\n    var VK = {\n      BACKSPACE: 8,\n      DELETE: 46,\n      DOWN: 40,\n      ENTER: 13,\n      ESC: 27,\n      LEFT: 37,\n      RIGHT: 39,\n      SPACEBAR: 32,\n      TAB: 9,\n      UP: 38,\n      PAGE_UP: 33,\n      PAGE_DOWN: 34,\n      END: 35,\n      HOME: 36,\n      modifierPressed: function (e) {\n        return e.shiftKey || e.ctrlKey || e.altKey || VK.metaKeyPressed(e);\n      },\n      metaKeyPressed: function (e) {\n        return Env.mac ? e.metaKey : e.ctrlKey && !e.altKey;\n      }\n    };\n\n    var isContentEditableFalse$5 = isContentEditableFalse$b;\n    var ControlSelection = function (selection, editor) {\n      var elementSelectionAttr = 'data-mce-selected';\n      var dom = editor.dom, each = Tools.each;\n      var selectedElm, selectedElmGhost, resizeHelper, selectedHandle, resizeBackdrop;\n      var startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted;\n      var width, height;\n      var editableDoc = editor.getDoc(), rootDocument = document;\n      var abs = Math.abs, round = Math.round, rootElement = editor.getBody();\n      var startScrollWidth, startScrollHeight;\n      var resizeHandles = {\n        nw: [\n          0,\n          0,\n          -1,\n          -1\n        ],\n        ne: [\n          1,\n          0,\n          1,\n          -1\n        ],\n        se: [\n          1,\n          1,\n          1,\n          1\n        ],\n        sw: [\n          0,\n          1,\n          -1,\n          1\n        ]\n      };\n      var isImage = function (elm) {\n        return elm && (elm.nodeName === 'IMG' || editor.dom.is(elm, 'figure.image'));\n      };\n      var isMedia = function (elm) {\n        return isMedia$2(elm) || dom.hasClass(elm, 'mce-preview-object');\n      };\n      var isEventOnImageOutsideRange = function (evt, range) {\n        if (evt.type === 'longpress' || evt.type.indexOf('touch') === 0) {\n          var touch = evt.touches[0];\n          return isImage(evt.target) && !isXYWithinRange(touch.clientX, touch.clientY, range);\n        } else {\n          return isImage(evt.target) && !isXYWithinRange(evt.clientX, evt.clientY, range);\n        }\n      };\n      var contextMenuSelectImage = function (evt) {\n        var target = evt.target;\n        if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) {\n          editor.selection.select(target);\n        }\n      };\n      var getResizeTargets = function (elm) {\n        if (dom.is(elm, 'figure.image')) {\n          return [elm.querySelector('img')];\n        } else if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return [\n            elm,\n            elm.firstElementChild\n          ];\n        } else {\n          return [elm];\n        }\n      };\n      var isResizable = function (elm) {\n        var selector = getObjectResizing(editor);\n        if (!selector) {\n          return false;\n        }\n        if (elm.getAttribute('data-mce-resize') === 'false') {\n          return false;\n        }\n        if (elm === editor.getBody()) {\n          return false;\n        }\n        if (dom.hasClass(elm, 'mce-preview-object')) {\n          return is$2(SugarElement.fromDom(elm.firstElementChild), selector);\n        } else {\n          return is$2(SugarElement.fromDom(elm), selector);\n        }\n      };\n      var createGhostElement = function (elm) {\n        if (isMedia(elm)) {\n          return dom.create('img', { src: Env.transparentSrc });\n        } else {\n          return elm.cloneNode(true);\n        }\n      };\n      var setSizeProp = function (element, name, value) {\n        if (isNonNullable(value)) {\n          var targets = getResizeTargets(element);\n          each$k(targets, function (target) {\n            if (target.style[name] || !editor.schema.isValid(target.nodeName.toLowerCase(), name)) {\n              dom.setStyle(target, name, value);\n            } else {\n              dom.setAttrib(target, name, '' + value);\n            }\n          });\n        }\n      };\n      var setGhostElmSize = function (ghostElm, width, height) {\n        setSizeProp(ghostElm, 'width', width);\n        setSizeProp(ghostElm, 'height', height);\n      };\n      var resizeGhostElement = function (e) {\n        var deltaX, deltaY, proportional;\n        var resizeHelperX, resizeHelperY;\n        deltaX = e.screenX - startX;\n        deltaY = e.screenY - startY;\n        width = deltaX * selectedHandle[2] + startW;\n        height = deltaY * selectedHandle[3] + startH;\n        width = width < 5 ? 5 : width;\n        height = height < 5 ? 5 : height;\n        if ((isImage(selectedElm) || isMedia(selectedElm)) && getResizeImgProportional(editor) !== false) {\n          proportional = !VK.modifierPressed(e);\n        } else {\n          proportional = VK.modifierPressed(e);\n        }\n        if (proportional) {\n          if (abs(deltaX) > abs(deltaY)) {\n            height = round(width * ratio);\n            width = round(height / ratio);\n          } else {\n            width = round(height / ratio);\n            height = round(width * ratio);\n          }\n        }\n        setGhostElmSize(selectedElmGhost, width, height);\n        resizeHelperX = selectedHandle.startPos.x + deltaX;\n        resizeHelperY = selectedHandle.startPos.y + deltaY;\n        resizeHelperX = resizeHelperX > 0 ? resizeHelperX : 0;\n        resizeHelperY = resizeHelperY > 0 ? resizeHelperY : 0;\n        dom.setStyles(resizeHelper, {\n          left: resizeHelperX,\n          top: resizeHelperY,\n          display: 'block'\n        });\n        resizeHelper.innerHTML = width + ' &times; ' + height;\n        if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {\n          dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));\n        }\n        if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {\n          dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));\n        }\n        deltaX = rootElement.scrollWidth - startScrollWidth;\n        deltaY = rootElement.scrollHeight - startScrollHeight;\n        if (deltaX + deltaY !== 0) {\n          dom.setStyles(resizeHelper, {\n            left: resizeHelperX - deltaX,\n            top: resizeHelperY - deltaY\n          });\n        }\n        if (!resizeStarted) {\n          fireObjectResizeStart(editor, selectedElm, startW, startH, 'corner-' + selectedHandle.name);\n          resizeStarted = true;\n        }\n      };\n      var endGhostResize = function () {\n        var wasResizeStarted = resizeStarted;\n        resizeStarted = false;\n        if (wasResizeStarted) {\n          setSizeProp(selectedElm, 'width', width);\n          setSizeProp(selectedElm, 'height', height);\n        }\n        dom.unbind(editableDoc, 'mousemove', resizeGhostElement);\n        dom.unbind(editableDoc, 'mouseup', endGhostResize);\n        if (rootDocument !== editableDoc) {\n          dom.unbind(rootDocument, 'mousemove', resizeGhostElement);\n          dom.unbind(rootDocument, 'mouseup', endGhostResize);\n        }\n        dom.remove(selectedElmGhost);\n        dom.remove(resizeHelper);\n        dom.remove(resizeBackdrop);\n        showResizeRect(selectedElm);\n        if (wasResizeStarted) {\n          fireObjectResized(editor, selectedElm, width, height, 'corner-' + selectedHandle.name);\n          dom.setAttrib(selectedElm, 'style', dom.getAttrib(selectedElm, 'style'));\n        }\n        editor.nodeChanged();\n      };\n      var showResizeRect = function (targetElm) {\n        unbindResizeHandleEvents();\n        var position = dom.getPos(targetElm, rootElement);\n        var selectedElmX = position.x;\n        var selectedElmY = position.y;\n        var rect = targetElm.getBoundingClientRect();\n        var targetWidth = rect.width || rect.right - rect.left;\n        var targetHeight = rect.height || rect.bottom - rect.top;\n        if (selectedElm !== targetElm) {\n          hideResizeRect();\n          selectedElm = targetElm;\n          width = height = 0;\n        }\n        var e = editor.fire('ObjectSelected', { target: targetElm });\n        var selectedValue = dom.getAttrib(selectedElm, elementSelectionAttr, '1');\n        if (isResizable(targetElm) && !e.isDefaultPrevented()) {\n          each(resizeHandles, function (handle, name) {\n            var handleElm;\n            var startDrag = function (e) {\n              var target = getResizeTargets(selectedElm)[0];\n              startX = e.screenX;\n              startY = e.screenY;\n              startW = target.clientWidth;\n              startH = target.clientHeight;\n              ratio = startH / startW;\n              selectedHandle = handle;\n              selectedHandle.name = name;\n              selectedHandle.startPos = {\n                x: targetWidth * handle[0] + selectedElmX,\n                y: targetHeight * handle[1] + selectedElmY\n              };\n              startScrollWidth = rootElement.scrollWidth;\n              startScrollHeight = rootElement.scrollHeight;\n              resizeBackdrop = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-backdrop',\n                'data-mce-bogus': 'all'\n              });\n              dom.setStyles(resizeBackdrop, {\n                position: 'fixed',\n                left: '0',\n                top: '0',\n                width: '100%',\n                height: '100%'\n              });\n              selectedElmGhost = createGhostElement(selectedElm);\n              dom.addClass(selectedElmGhost, 'mce-clonedresizable');\n              dom.setAttrib(selectedElmGhost, 'data-mce-bogus', 'all');\n              selectedElmGhost.contentEditable = 'false';\n              dom.setStyles(selectedElmGhost, {\n                left: selectedElmX,\n                top: selectedElmY,\n                margin: 0\n              });\n              setGhostElmSize(selectedElmGhost, targetWidth, targetHeight);\n              selectedElmGhost.removeAttribute(elementSelectionAttr);\n              rootElement.appendChild(selectedElmGhost);\n              dom.bind(editableDoc, 'mousemove', resizeGhostElement);\n              dom.bind(editableDoc, 'mouseup', endGhostResize);\n              if (rootDocument !== editableDoc) {\n                dom.bind(rootDocument, 'mousemove', resizeGhostElement);\n                dom.bind(rootDocument, 'mouseup', endGhostResize);\n              }\n              resizeHelper = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-helper',\n                'data-mce-bogus': 'all'\n              }, startW + ' &times; ' + startH);\n            };\n            handleElm = dom.get('mceResizeHandle' + name);\n            if (handleElm) {\n              dom.remove(handleElm);\n            }\n            handleElm = dom.add(rootElement, 'div', {\n              'id': 'mceResizeHandle' + name,\n              'data-mce-bogus': 'all',\n              'class': 'mce-resizehandle',\n              'unselectable': true,\n              'style': 'cursor:' + name + '-resize; margin:0; padding:0'\n            });\n            if (Env.ie === 11) {\n              handleElm.contentEditable = false;\n            }\n            dom.bind(handleElm, 'mousedown', function (e) {\n              e.stopImmediatePropagation();\n              e.preventDefault();\n              startDrag(e);\n            });\n            handle.elm = handleElm;\n            dom.setStyles(handleElm, {\n              left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2,\n              top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2\n            });\n          });\n        } else {\n          hideResizeRect();\n        }\n        if (!dom.getAttrib(selectedElm, elementSelectionAttr)) {\n          selectedElm.setAttribute(elementSelectionAttr, selectedValue);\n        }\n      };\n      var hideResizeRect = function () {\n        unbindResizeHandleEvents();\n        if (selectedElm) {\n          selectedElm.removeAttribute(elementSelectionAttr);\n        }\n        each$j(resizeHandles, function (value, name) {\n          var handleElm = dom.get('mceResizeHandle' + name);\n          if (handleElm) {\n            dom.unbind(handleElm);\n            dom.remove(handleElm);\n          }\n        });\n      };\n      var updateResizeRect = function (e) {\n        var startElm, controlElm;\n        var isChildOrEqual = function (node, parent) {\n          if (node) {\n            do {\n              if (node === parent) {\n                return true;\n              }\n            } while (node = node.parentNode);\n          }\n        };\n        if (resizeStarted || editor.removed) {\n          return;\n        }\n        each(dom.select('img[data-mce-selected],hr[data-mce-selected]'), function (img) {\n          img.removeAttribute(elementSelectionAttr);\n        });\n        controlElm = e.type === 'mousedown' ? e.target : selection.getNode();\n        controlElm = dom.$(controlElm).closest('table,img,figure.image,hr,video,span.mce-preview-object')[0];\n        if (isChildOrEqual(controlElm, rootElement)) {\n          disableGeckoResize();\n          startElm = selection.getStart(true);\n          if (isChildOrEqual(startElm, controlElm) && isChildOrEqual(selection.getEnd(true), controlElm)) {\n            showResizeRect(controlElm);\n            return;\n          }\n        }\n        hideResizeRect();\n      };\n      var isWithinContentEditableFalse = function (elm) {\n        return isContentEditableFalse$5(getContentEditableRoot$1(editor.getBody(), elm));\n      };\n      var unbindResizeHandleEvents = function () {\n        each$j(resizeHandles, function (handle) {\n          if (handle.elm) {\n            dom.unbind(handle.elm);\n            delete handle.elm;\n          }\n        });\n      };\n      var disableGeckoResize = function () {\n        try {\n          editor.getDoc().execCommand('enableObjectResizing', false, 'false');\n        } catch (ex) {\n        }\n      };\n      editor.on('init', function () {\n        disableGeckoResize();\n        if (Env.browser.isIE() || Env.browser.isEdge()) {\n          editor.on('mousedown click', function (e) {\n            var target = e.target, nodeName = target.nodeName;\n            if (!resizeStarted && /^(TABLE|IMG|HR)$/.test(nodeName) && !isWithinContentEditableFalse(target)) {\n              if (e.button !== 2) {\n                editor.selection.select(target, nodeName === 'TABLE');\n              }\n              if (e.type === 'mousedown') {\n                editor.nodeChanged();\n              }\n            }\n          });\n          var handleMSControlSelect_1 = function (e) {\n            var delayedSelect = function (node) {\n              Delay.setEditorTimeout(editor, function () {\n                return editor.selection.select(node);\n              });\n            };\n            if (isWithinContentEditableFalse(e.target) || isMedia$2(e.target)) {\n              e.preventDefault();\n              delayedSelect(e.target);\n              return;\n            }\n            if (/^(TABLE|IMG|HR)$/.test(e.target.nodeName)) {\n              e.preventDefault();\n              if (e.target.tagName === 'IMG') {\n                delayedSelect(e.target);\n              }\n            }\n          };\n          dom.bind(rootElement, 'mscontrolselect', handleMSControlSelect_1);\n          editor.on('remove', function () {\n            return dom.unbind(rootElement, 'mscontrolselect', handleMSControlSelect_1);\n          });\n        }\n        var throttledUpdateResizeRect = Delay.throttle(function (e) {\n          if (!editor.composing) {\n            updateResizeRect(e);\n          }\n        });\n        editor.on('nodechange ResizeEditor ResizeWindow ResizeContent drop FullscreenStateChanged', throttledUpdateResizeRect);\n        editor.on('keyup compositionend', function (e) {\n          if (selectedElm && selectedElm.nodeName === 'TABLE') {\n            throttledUpdateResizeRect(e);\n          }\n        });\n        editor.on('hide blur', hideResizeRect);\n        editor.on('contextmenu longpress', contextMenuSelectImage, true);\n      });\n      editor.on('remove', unbindResizeHandleEvents);\n      var destroy = function () {\n        selectedElm = selectedElmGhost = resizeBackdrop = null;\n      };\n      return {\n        isResizable: isResizable,\n        showResizeRect: showResizeRect,\n        hideResizeRect: hideResizeRect,\n        updateResizeRect: updateResizeRect,\n        destroy: destroy\n      };\n    };\n\n    var hasCeProperty = function (node) {\n      return isContentEditableTrue$4(node) || isContentEditableFalse$b(node);\n    };\n    var findParent$1 = function (node, rootNode, predicate) {\n      while (node && node !== rootNode) {\n        if (predicate(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var findClosestIeRange = function (clientX, clientY, doc) {\n      var rects;\n      var element = doc.elementFromPoint(clientX, clientY);\n      var rng = doc.body.createTextRange();\n      if (!element || element.tagName === 'HTML') {\n        element = doc.body;\n      }\n      rng.moveToElementText(element);\n      rects = Tools.toArray(rng.getClientRects());\n      rects = rects.sort(function (a, b) {\n        a = Math.abs(Math.max(a.top - clientY, a.bottom - clientY));\n        b = Math.abs(Math.max(b.top - clientY, b.bottom - clientY));\n        return a - b;\n      });\n      if (rects.length > 0) {\n        clientY = (rects[0].bottom + rects[0].top) / 2;\n        try {\n          rng.moveToPoint(clientX, clientY);\n          rng.collapse(true);\n          return rng;\n        } catch (ex) {\n        }\n      }\n      return null;\n    };\n    var moveOutOfContentEditableFalse = function (rng, rootNode) {\n      var parentElement = rng && rng.parentElement ? rng.parentElement() : null;\n      return isContentEditableFalse$b(findParent$1(parentElement, rootNode, hasCeProperty)) ? null : rng;\n    };\n    var fromPoint = function (clientX, clientY, doc) {\n      var rng, point;\n      var pointDoc = doc;\n      if (pointDoc.caretPositionFromPoint) {\n        point = pointDoc.caretPositionFromPoint(clientX, clientY);\n        if (point) {\n          rng = doc.createRange();\n          rng.setStart(point.offsetNode, point.offset);\n          rng.collapse(true);\n        }\n      } else if (pointDoc.caretRangeFromPoint) {\n        rng = pointDoc.caretRangeFromPoint(clientX, clientY);\n      } else if (pointDoc.body.createTextRange) {\n        rng = pointDoc.body.createTextRange();\n        try {\n          rng.moveToPoint(clientX, clientY);\n          rng.collapse(true);\n        } catch (ex) {\n          rng = findClosestIeRange(clientX, clientY, doc);\n        }\n        return moveOutOfContentEditableFalse(rng, doc.body);\n      }\n      return rng;\n    };\n\n    var isEq$4 = function (rng1, rng2) {\n      return rng1 && rng2 && (rng1.startContainer === rng2.startContainer && rng1.startOffset === rng2.startOffset) && (rng1.endContainer === rng2.endContainer && rng1.endOffset === rng2.endOffset);\n    };\n\n    var findParent = function (node, rootNode, predicate) {\n      while (node && node !== rootNode) {\n        if (predicate(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var hasParent$1 = function (node, rootNode, predicate) {\n      return findParent(node, rootNode, predicate) !== null;\n    };\n    var hasParentWithName = function (node, rootNode, name) {\n      return hasParent$1(node, rootNode, function (node) {\n        return node.nodeName === name;\n      });\n    };\n    var isTable = function (node) {\n      return node && node.nodeName === 'TABLE';\n    };\n    var isTableCell$2 = function (node) {\n      return node && /^(TD|TH|CAPTION)$/.test(node.nodeName);\n    };\n    var isCeFalseCaretContainer = function (node, rootNode) {\n      return isCaretContainer$2(node) && hasParent$1(node, rootNode, isCaretNode) === false;\n    };\n    var hasBrBeforeAfter = function (dom, node, left) {\n      var walker = new DomTreeWalker(node, dom.getParent(node.parentNode, dom.isBlock) || dom.getRoot());\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (isBr$5(node)) {\n          return true;\n        }\n      }\n    };\n    var isPrevNode = function (node, name) {\n      return node.previousSibling && node.previousSibling.nodeName === name;\n    };\n    var hasContentEditableFalseParent = function (body, node) {\n      while (node && node !== body) {\n        if (isContentEditableFalse$b(node)) {\n          return true;\n        }\n        node = node.parentNode;\n      }\n      return false;\n    };\n    var findTextNodeRelative = function (dom, isAfterNode, collapsed, left, startNode) {\n      var lastInlineElement;\n      var body = dom.getRoot();\n      var node;\n      var nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      var parentBlockContainer = dom.getParent(startNode.parentNode, dom.isBlock) || body;\n      if (left && isBr$5(startNode) && isAfterNode && dom.isEmpty(parentBlockContainer)) {\n        return Optional.some(CaretPosition(startNode.parentNode, dom.nodeIndex(startNode)));\n      }\n      var walker = new DomTreeWalker(startNode, parentBlockContainer);\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (dom.getContentEditableParent(node) === 'false' || isCeFalseCaretContainer(node, body)) {\n          return Optional.none();\n        }\n        if (isText$7(node) && node.nodeValue.length > 0) {\n          if (hasParentWithName(node, body, 'A') === false) {\n            return Optional.some(CaretPosition(node, left ? node.nodeValue.length : 0));\n          }\n          return Optional.none();\n        }\n        if (dom.isBlock(node) || nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          return Optional.none();\n        }\n        lastInlineElement = node;\n      }\n      if (collapsed && lastInlineElement) {\n        return Optional.some(CaretPosition(lastInlineElement, 0));\n      }\n      return Optional.none();\n    };\n    var normalizeEndPoint = function (dom, collapsed, start, rng) {\n      var container, offset;\n      var body = dom.getRoot();\n      var node;\n      var directionLeft, normalized = false;\n      container = rng[(start ? 'start' : 'end') + 'Container'];\n      offset = rng[(start ? 'start' : 'end') + 'Offset'];\n      var isAfterNode = isElement$5(container) && offset === container.childNodes.length;\n      var nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      directionLeft = start;\n      if (isCaretContainer$2(container)) {\n        return Optional.none();\n      }\n      if (isElement$5(container) && offset > container.childNodes.length - 1) {\n        directionLeft = false;\n      }\n      if (isDocument$1(container)) {\n        container = body;\n        offset = 0;\n      }\n      if (container === body) {\n        if (directionLeft) {\n          node = container.childNodes[offset > 0 ? offset - 1 : 0];\n          if (node) {\n            if (isCaretContainer$2(node)) {\n              return Optional.none();\n            }\n            if (nonEmptyElementsMap[node.nodeName] || isTable(node)) {\n              return Optional.none();\n            }\n          }\n        }\n        if (container.hasChildNodes()) {\n          offset = Math.min(!directionLeft && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1);\n          container = container.childNodes[offset];\n          offset = isText$7(container) && isAfterNode ? container.data.length : 0;\n          if (!collapsed && container === body.lastChild && isTable(container)) {\n            return Optional.none();\n          }\n          if (hasContentEditableFalseParent(body, container) || isCaretContainer$2(container)) {\n            return Optional.none();\n          }\n          if (container.hasChildNodes() && isTable(container) === false) {\n            node = container;\n            var walker = new DomTreeWalker(container, body);\n            do {\n              if (isContentEditableFalse$b(node) || isCaretContainer$2(node)) {\n                normalized = false;\n                break;\n              }\n              if (isText$7(node) && node.nodeValue.length > 0) {\n                offset = directionLeft ? 0 : node.nodeValue.length;\n                container = node;\n                normalized = true;\n                break;\n              }\n              if (nonEmptyElementsMap[node.nodeName.toLowerCase()] && !isTableCell$2(node)) {\n                offset = dom.nodeIndex(node);\n                container = node.parentNode;\n                if (!directionLeft) {\n                  offset++;\n                }\n                normalized = true;\n                break;\n              }\n            } while (node = directionLeft ? walker.next() : walker.prev());\n          }\n        }\n      }\n      if (collapsed) {\n        if (isText$7(container) && offset === 0) {\n          findTextNodeRelative(dom, isAfterNode, collapsed, true, container).each(function (pos) {\n            container = pos.container();\n            offset = pos.offset();\n            normalized = true;\n          });\n        }\n        if (isElement$5(container)) {\n          node = container.childNodes[offset];\n          if (!node) {\n            node = container.childNodes[offset - 1];\n          }\n          if (node && isBr$5(node) && !isPrevNode(node, 'A') && !hasBrBeforeAfter(dom, node, false) && !hasBrBeforeAfter(dom, node, true)) {\n            findTextNodeRelative(dom, isAfterNode, collapsed, true, node).each(function (pos) {\n              container = pos.container();\n              offset = pos.offset();\n              normalized = true;\n            });\n          }\n        }\n      }\n      if (directionLeft && !collapsed && isText$7(container) && offset === container.nodeValue.length) {\n        findTextNodeRelative(dom, isAfterNode, collapsed, false, container).each(function (pos) {\n          container = pos.container();\n          offset = pos.offset();\n          normalized = true;\n        });\n      }\n      return normalized ? Optional.some(CaretPosition(container, offset)) : Optional.none();\n    };\n    var normalize$2 = function (dom, rng) {\n      var collapsed = rng.collapsed, normRng = rng.cloneRange();\n      var startPos = CaretPosition.fromRangeStart(rng);\n      normalizeEndPoint(dom, collapsed, true, normRng).each(function (pos) {\n        if (!collapsed || !CaretPosition.isAbove(startPos, pos)) {\n          normRng.setStart(pos.container(), pos.offset());\n        }\n      });\n      if (!collapsed) {\n        normalizeEndPoint(dom, collapsed, false, normRng).each(function (pos) {\n          normRng.setEnd(pos.container(), pos.offset());\n        });\n      }\n      if (collapsed) {\n        normRng.collapse(true);\n      }\n      return isEq$4(rng, normRng) ? Optional.none() : Optional.some(normRng);\n    };\n\n    var splitText = function (node, offset) {\n      return node.splitText(offset);\n    };\n    var split = function (rng) {\n      var startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset;\n      if (startContainer === endContainer && isText$7(startContainer)) {\n        if (startOffset > 0 && startOffset < startContainer.nodeValue.length) {\n          endContainer = splitText(startContainer, startOffset);\n          startContainer = endContainer.previousSibling;\n          if (endOffset > startOffset) {\n            endOffset = endOffset - startOffset;\n            startContainer = endContainer = splitText(endContainer, endOffset).previousSibling;\n            endOffset = endContainer.nodeValue.length;\n            startOffset = 0;\n          } else {\n            endOffset = 0;\n          }\n        }\n      } else {\n        if (isText$7(startContainer) && startOffset > 0 && startOffset < startContainer.nodeValue.length) {\n          startContainer = splitText(startContainer, startOffset);\n          startOffset = 0;\n        }\n        if (isText$7(endContainer) && endOffset > 0 && endOffset < endContainer.nodeValue.length) {\n          endContainer = splitText(endContainer, endOffset).previousSibling;\n          endOffset = endContainer.nodeValue.length;\n        }\n      }\n      return {\n        startContainer: startContainer,\n        startOffset: startOffset,\n        endContainer: endContainer,\n        endOffset: endOffset\n      };\n    };\n\n    var RangeUtils = function (dom) {\n      var walk = function (rng, callback) {\n        return walk$2(dom, rng, callback);\n      };\n      var split$1 = split;\n      var normalize = function (rng) {\n        return normalize$2(dom, rng).fold(never, function (normalizedRng) {\n          rng.setStart(normalizedRng.startContainer, normalizedRng.startOffset);\n          rng.setEnd(normalizedRng.endContainer, normalizedRng.endOffset);\n          return true;\n        });\n      };\n      return {\n        walk: walk,\n        split: split$1,\n        normalize: normalize\n      };\n    };\n    RangeUtils.compareRanges = isEq$4;\n    RangeUtils.getCaretRangeFromPoint = fromPoint;\n    RangeUtils.getSelectedNode = getSelectedNode;\n    RangeUtils.getNode = getNode$1;\n\n    var Dimension = function (name, getOffset) {\n      var set = function (element, h) {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        var dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      var get = function (element) {\n        var r = getOffset(element);\n        if (r <= 0 || r === null) {\n          var css = get$5(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      var getOuter = get;\n      var aggregate = function (element, properties) {\n        return foldl(properties, function (acc, property) {\n          var val = get$5(element, property);\n          var value = val === undefined ? 0 : parseInt(val, 10);\n          return isNaN(value) ? acc : acc + value;\n        }, 0);\n      };\n      var max = function (element, value, properties) {\n        var cumulativeInclusions = aggregate(element, properties);\n        var absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set: set,\n        get: get,\n        getOuter: getOuter,\n        aggregate: aggregate,\n        max: max\n      };\n    };\n\n    var api = Dimension('height', function (element) {\n      var dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    var get$1 = function (element) {\n      return api.get(element);\n    };\n\n    var walkUp = function (navigation, doc) {\n      var frame = navigation.view(doc);\n      return frame.fold(constant([]), function (f) {\n        var parent = navigation.owner(f);\n        var rest = walkUp(navigation, parent);\n        return [f].concat(rest);\n      });\n    };\n    var pathTo = function (element, navigation) {\n      var d = navigation.owner(element);\n      return walkUp(navigation, d);\n    };\n\n    var view = function (doc) {\n      var _a;\n      var element = doc.dom === document ? Optional.none() : Optional.from((_a = doc.dom.defaultView) === null || _a === void 0 ? void 0 : _a.frameElement);\n      return element.map(SugarElement.fromDom);\n    };\n    var owner = function (element) {\n      return documentOrOwner(element);\n    };\n\n    var Navigation = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        view: view,\n        owner: owner\n    });\n\n    var find$1 = function (element) {\n      var doc = SugarElement.fromDom(document);\n      var scroll = get$8(doc);\n      var frames = pathTo(element, Navigation);\n      var offset = viewport(element);\n      var r = foldr(frames, function (b, a) {\n        var loc = viewport(a);\n        return {\n          left: b.left + loc.left,\n          top: b.top + loc.top\n        };\n      }, {\n        left: 0,\n        top: 0\n      });\n      return SugarPosition(r.left + offset.left + scroll.left, r.top + offset.top + scroll.top);\n    };\n\n    var excludeFromDescend = function (element) {\n      return name(element) === 'textarea';\n    };\n    var fireScrollIntoViewEvent = function (editor, data) {\n      var scrollEvent = editor.fire('ScrollIntoView', data);\n      return scrollEvent.isDefaultPrevented();\n    };\n    var fireAfterScrollIntoViewEvent = function (editor, data) {\n      editor.fire('AfterScrollIntoView', data);\n    };\n    var descend = function (element, offset) {\n      var children$1 = children(element);\n      if (children$1.length === 0 || excludeFromDescend(element)) {\n        return {\n          element: element,\n          offset: offset\n        };\n      } else if (offset < children$1.length && !excludeFromDescend(children$1[offset])) {\n        return {\n          element: children$1[offset],\n          offset: 0\n        };\n      } else {\n        var last = children$1[children$1.length - 1];\n        if (excludeFromDescend(last)) {\n          return {\n            element: element,\n            offset: offset\n          };\n        } else {\n          if (name(last) === 'img') {\n            return {\n              element: last,\n              offset: 1\n            };\n          } else if (isText$8(last)) {\n            return {\n              element: last,\n              offset: get$2(last).length\n            };\n          } else {\n            return {\n              element: last,\n              offset: children(last).length\n            };\n          }\n        }\n      }\n    };\n    var markerInfo = function (element, cleanupFun) {\n      var pos = absolute(element);\n      var height = get$1(element);\n      return {\n        element: element,\n        bottom: pos.top + height,\n        height: height,\n        pos: pos,\n        cleanup: cleanupFun\n      };\n    };\n    var createMarker = function (element, offset) {\n      var startPoint = descend(element, offset);\n      var span = SugarElement.fromHtml('<span data-mce-bogus=\"all\" style=\"display: inline-block;\">' + ZWSP$1 + '</span>');\n      before$4(startPoint.element, span);\n      return markerInfo(span, function () {\n        return remove$7(span);\n      });\n    };\n    var elementMarker = function (element) {\n      return markerInfo(SugarElement.fromDom(element), noop);\n    };\n    var withMarker = function (editor, f, rng, alignToTop) {\n      preserveWith(editor, function (_s, _e) {\n        return applyWithMarker(editor, f, rng, alignToTop);\n      }, rng);\n    };\n    var withScrollEvents = function (editor, doc, f, marker, alignToTop) {\n      var data = {\n        elm: marker.element.dom,\n        alignToTop: alignToTop\n      };\n      if (fireScrollIntoViewEvent(editor, data)) {\n        return;\n      }\n      var scrollTop = get$8(doc).top;\n      f(doc, scrollTop, marker, alignToTop);\n      fireAfterScrollIntoViewEvent(editor, data);\n    };\n    var applyWithMarker = function (editor, f, rng, alignToTop) {\n      var body = SugarElement.fromDom(editor.getBody());\n      var doc = SugarElement.fromDom(editor.getDoc());\n      reflow(body);\n      var marker = createMarker(SugarElement.fromDom(rng.startContainer), rng.startOffset);\n      withScrollEvents(editor, doc, f, marker, alignToTop);\n      marker.cleanup();\n    };\n    var withElement = function (editor, element, f, alignToTop) {\n      var doc = SugarElement.fromDom(editor.getDoc());\n      withScrollEvents(editor, doc, f, elementMarker(element), alignToTop);\n    };\n    var preserveWith = function (editor, f, rng) {\n      var startElement = rng.startContainer;\n      var startOffset = rng.startOffset;\n      var endElement = rng.endContainer;\n      var endOffset = rng.endOffset;\n      f(SugarElement.fromDom(startElement), SugarElement.fromDom(endElement));\n      var newRng = editor.dom.createRng();\n      newRng.setStart(startElement, startOffset);\n      newRng.setEnd(endElement, endOffset);\n      editor.selection.setRng(rng);\n    };\n    var scrollToMarker = function (marker, viewHeight, alignToTop, doc) {\n      var pos = marker.pos;\n      if (alignToTop) {\n        to(pos.left, pos.top, doc);\n      } else {\n        var y = pos.top - viewHeight + marker.height;\n        to(pos.left, y, doc);\n      }\n    };\n    var intoWindowIfNeeded = function (doc, scrollTop, viewHeight, marker, alignToTop) {\n      var viewportBottom = viewHeight + scrollTop;\n      var markerTop = marker.pos.top;\n      var markerBottom = marker.bottom;\n      var largerThanViewport = markerBottom - markerTop >= viewHeight;\n      if (markerTop < scrollTop) {\n        scrollToMarker(marker, viewHeight, alignToTop !== false, doc);\n      } else if (markerTop > viewportBottom) {\n        var align = largerThanViewport ? alignToTop !== false : alignToTop === true;\n        scrollToMarker(marker, viewHeight, align, doc);\n      } else if (markerBottom > viewportBottom && !largerThanViewport) {\n        scrollToMarker(marker, viewHeight, alignToTop === true, doc);\n      }\n    };\n    var intoWindow = function (doc, scrollTop, marker, alignToTop) {\n      var viewHeight = doc.dom.defaultView.innerHeight;\n      intoWindowIfNeeded(doc, scrollTop, viewHeight, marker, alignToTop);\n    };\n    var intoFrame = function (doc, scrollTop, marker, alignToTop) {\n      var frameViewHeight = doc.dom.defaultView.innerHeight;\n      intoWindowIfNeeded(doc, scrollTop, frameViewHeight, marker, alignToTop);\n      var op = find$1(marker.element);\n      var viewportBounds = getBounds(window);\n      if (op.top < viewportBounds.y) {\n        intoView(marker.element, alignToTop !== false);\n      } else if (op.top > viewportBounds.bottom) {\n        intoView(marker.element, alignToTop === true);\n      }\n    };\n    var rangeIntoWindow = function (editor, rng, alignToTop) {\n      return withMarker(editor, intoWindow, rng, alignToTop);\n    };\n    var elementIntoWindow = function (editor, element, alignToTop) {\n      return withElement(editor, element, intoWindow, alignToTop);\n    };\n    var rangeIntoFrame = function (editor, rng, alignToTop) {\n      return withMarker(editor, intoFrame, rng, alignToTop);\n    };\n    var elementIntoFrame = function (editor, element, alignToTop) {\n      return withElement(editor, element, intoFrame, alignToTop);\n    };\n    var scrollElementIntoView = function (editor, element, alignToTop) {\n      var scroller = editor.inline ? elementIntoWindow : elementIntoFrame;\n      scroller(editor, element, alignToTop);\n    };\n    var scrollRangeIntoView = function (editor, rng, alignToTop) {\n      var scroller = editor.inline ? rangeIntoWindow : rangeIntoFrame;\n      scroller(editor, rng, alignToTop);\n    };\n\n    var getDocument = function () {\n      return SugarElement.fromDom(document);\n    };\n\n    var focus$1 = function (element) {\n      return element.dom.focus();\n    };\n    var hasFocus$1 = function (element) {\n      var root = getRootNode(element).dom;\n      return element.dom === root.activeElement;\n    };\n    var active = function (root) {\n      if (root === void 0) {\n        root = getDocument();\n      }\n      return Optional.from(root.dom.activeElement).map(SugarElement.fromDom);\n    };\n    var search = function (element) {\n      return active(getRootNode(element)).filter(function (e) {\n        return element.dom.contains(e.dom);\n      });\n    };\n\n    var create$5 = function (start, soffset, finish, foffset) {\n      return {\n        start: start,\n        soffset: soffset,\n        finish: finish,\n        foffset: foffset\n      };\n    };\n    var SimRange = { create: create$5 };\n\n    var adt$1 = Adt.generate([\n      { before: ['element'] },\n      {\n        on: [\n          'element',\n          'offset'\n        ]\n      },\n      { after: ['element'] }\n    ]);\n    var cata = function (subject, onBefore, onOn, onAfter) {\n      return subject.fold(onBefore, onOn, onAfter);\n    };\n    var getStart$2 = function (situ) {\n      return situ.fold(identity, identity, identity);\n    };\n    var before$1 = adt$1.before;\n    var on = adt$1.on;\n    var after$1 = adt$1.after;\n    var Situ = {\n      before: before$1,\n      on: on,\n      after: after$1,\n      cata: cata,\n      getStart: getStart$2\n    };\n\n    var adt = Adt.generate([\n      { domRange: ['rng'] },\n      {\n        relative: [\n          'startSitu',\n          'finishSitu'\n        ]\n      },\n      {\n        exact: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var exactFromRange = function (simRange) {\n      return adt.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    };\n    var getStart$1 = function (selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return SugarElement.fromDom(rng.startContainer);\n        },\n        relative: function (startSitu, _finishSitu) {\n          return Situ.getStart(startSitu);\n        },\n        exact: function (start, _soffset, _finish, _foffset) {\n          return start;\n        }\n      });\n    };\n    var domRange = adt.domRange;\n    var relative = adt.relative;\n    var exact = adt.exact;\n    var getWin = function (selection) {\n      var start = getStart$1(selection);\n      return defaultView(start);\n    };\n    var range = SimRange.create;\n    var SimSelection = {\n      domRange: domRange,\n      relative: relative,\n      exact: exact,\n      exactFromRange: exactFromRange,\n      getWin: getWin,\n      range: range\n    };\n\n    var browser$1 = detect().browser;\n    var clamp$1 = function (offset, element) {\n      var max = isText$8(element) ? get$2(element).length : children(element).length + 1;\n      if (offset > max) {\n        return max;\n      } else if (offset < 0) {\n        return 0;\n      }\n      return offset;\n    };\n    var normalizeRng = function (rng) {\n      return SimSelection.range(rng.start, clamp$1(rng.soffset, rng.start), rng.finish, clamp$1(rng.foffset, rng.finish));\n    };\n    var isOrContains = function (root, elm) {\n      return !isRestrictedNode(elm.dom) && (contains$1(root, elm) || eq(root, elm));\n    };\n    var isRngInRoot = function (root) {\n      return function (rng) {\n        return isOrContains(root, rng.start) && isOrContains(root, rng.finish);\n      };\n    };\n    var shouldStore = function (editor) {\n      return editor.inline === true || browser$1.isIE();\n    };\n    var nativeRangeToSelectionRange = function (r) {\n      return SimSelection.range(SugarElement.fromDom(r.startContainer), r.startOffset, SugarElement.fromDom(r.endContainer), r.endOffset);\n    };\n    var readRange = function (win) {\n      var selection = win.getSelection();\n      var rng = !selection || selection.rangeCount === 0 ? Optional.none() : Optional.from(selection.getRangeAt(0));\n      return rng.map(nativeRangeToSelectionRange);\n    };\n    var getBookmark = function (root) {\n      var win = defaultView(root);\n      return readRange(win.dom).filter(isRngInRoot(root));\n    };\n    var validate = function (root, bookmark) {\n      return Optional.from(bookmark).filter(isRngInRoot(root)).map(normalizeRng);\n    };\n    var bookmarkToNativeRng = function (bookmark) {\n      var rng = document.createRange();\n      try {\n        rng.setStart(bookmark.start.dom, bookmark.soffset);\n        rng.setEnd(bookmark.finish.dom, bookmark.foffset);\n        return Optional.some(rng);\n      } catch (_) {\n        return Optional.none();\n      }\n    };\n    var store = function (editor) {\n      var newBookmark = shouldStore(editor) ? getBookmark(SugarElement.fromDom(editor.getBody())) : Optional.none();\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    var storeNative = function (editor, rng) {\n      var root = SugarElement.fromDom(editor.getBody());\n      var range = shouldStore(editor) ? Optional.from(rng) : Optional.none();\n      var newBookmark = range.map(nativeRangeToSelectionRange).filter(isRngInRoot(root));\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    var getRng = function (editor) {\n      var bookmark = editor.bookmark ? editor.bookmark : Optional.none();\n      return bookmark.bind(function (x) {\n        return validate(SugarElement.fromDom(editor.getBody()), x);\n      }).bind(bookmarkToNativeRng);\n    };\n    var restore = function (editor) {\n      getRng(editor).each(function (rng) {\n        return editor.selection.setRng(rng);\n      });\n    };\n\n    var isEditorUIElement$1 = function (elm) {\n      var className = elm.className.toString();\n      return className.indexOf('tox-') !== -1 || className.indexOf('mce-') !== -1;\n    };\n    var FocusManager = { isEditorUIElement: isEditorUIElement$1 };\n\n    var isManualNodeChange = function (e) {\n      return e.type === 'nodechange' && e.selectionChange;\n    };\n    var registerPageMouseUp = function (editor, throttledStore) {\n      var mouseUpPage = function () {\n        throttledStore.throttle();\n      };\n      DOMUtils.DOM.bind(document, 'mouseup', mouseUpPage);\n      editor.on('remove', function () {\n        DOMUtils.DOM.unbind(document, 'mouseup', mouseUpPage);\n      });\n    };\n    var registerFocusOut = function (editor) {\n      editor.on('focusout', function () {\n        store(editor);\n      });\n    };\n    var registerMouseUp = function (editor, throttledStore) {\n      editor.on('mouseup touchend', function (_e) {\n        throttledStore.throttle();\n      });\n    };\n    var registerEditorEvents = function (editor, throttledStore) {\n      var browser = detect().browser;\n      if (browser.isIE()) {\n        registerFocusOut(editor);\n      } else {\n        registerMouseUp(editor, throttledStore);\n      }\n      editor.on('keyup NodeChange', function (e) {\n        if (!isManualNodeChange(e)) {\n          store(editor);\n        }\n      });\n    };\n    var register$3 = function (editor) {\n      var throttledStore = first(function () {\n        store(editor);\n      }, 0);\n      editor.on('init', function () {\n        if (editor.inline) {\n          registerPageMouseUp(editor, throttledStore);\n        }\n        registerEditorEvents(editor, throttledStore);\n      });\n      editor.on('remove', function () {\n        throttledStore.cancel();\n      });\n    };\n\n    var documentFocusInHandler;\n    var DOM$8 = DOMUtils.DOM;\n    var isEditorUIElement = function (elm) {\n      return FocusManager.isEditorUIElement(elm);\n    };\n    var isEditorContentAreaElement = function (elm) {\n      var classList = elm.classList;\n      if (classList !== undefined) {\n        return classList.contains('tox-edit-area') || classList.contains('tox-edit-area__iframe') || classList.contains('mce-content-body');\n      } else {\n        return false;\n      }\n    };\n    var isUIElement = function (editor, elm) {\n      var customSelector = getCustomUiSelector(editor);\n      var parent = DOM$8.getParent(elm, function (elm) {\n        return isEditorUIElement(elm) || (customSelector ? editor.dom.is(elm, customSelector) : false);\n      });\n      return parent !== null;\n    };\n    var getActiveElement = function (editor) {\n      try {\n        var root = getRootNode(SugarElement.fromDom(editor.getElement()));\n        return active(root).fold(function () {\n          return document.body;\n        }, function (x) {\n          return x.dom;\n        });\n      } catch (ex) {\n        return document.body;\n      }\n    };\n    var registerEvents$1 = function (editorManager, e) {\n      var editor = e.editor;\n      register$3(editor);\n      editor.on('focusin', function () {\n        var focusedEditor = editorManager.focusedEditor;\n        if (focusedEditor !== editor) {\n          if (focusedEditor) {\n            focusedEditor.fire('blur', { focusedEditor: editor });\n          }\n          editorManager.setActive(editor);\n          editorManager.focusedEditor = editor;\n          editor.fire('focus', { blurredEditor: focusedEditor });\n          editor.focus(true);\n        }\n      });\n      editor.on('focusout', function () {\n        Delay.setEditorTimeout(editor, function () {\n          var focusedEditor = editorManager.focusedEditor;\n          if (!isUIElement(editor, getActiveElement(editor)) && focusedEditor === editor) {\n            editor.fire('blur', { focusedEditor: null });\n            editorManager.focusedEditor = null;\n          }\n        });\n      });\n      if (!documentFocusInHandler) {\n        documentFocusInHandler = function (e) {\n          var activeEditor = editorManager.activeEditor;\n          if (activeEditor) {\n            getOriginalEventTarget(e).each(function (target) {\n              if (target.ownerDocument === document) {\n                if (target !== document.body && !isUIElement(activeEditor, target) && editorManager.focusedEditor === activeEditor) {\n                  activeEditor.fire('blur', { focusedEditor: null });\n                  editorManager.focusedEditor = null;\n                }\n              }\n            });\n          }\n        };\n        DOM$8.bind(document, 'focusin', documentFocusInHandler);\n      }\n    };\n    var unregisterDocumentEvents = function (editorManager, e) {\n      if (editorManager.focusedEditor === e.editor) {\n        editorManager.focusedEditor = null;\n      }\n      if (!editorManager.activeEditor) {\n        DOM$8.unbind(document, 'focusin', documentFocusInHandler);\n        documentFocusInHandler = null;\n      }\n    };\n    var setup$l = function (editorManager) {\n      editorManager.on('AddEditor', curry(registerEvents$1, editorManager));\n      editorManager.on('RemoveEditor', curry(unregisterDocumentEvents, editorManager));\n    };\n\n    var getContentEditableHost = function (editor, node) {\n      return editor.dom.getParent(node, function (node) {\n        return editor.dom.getContentEditable(node) === 'true';\n      });\n    };\n    var getCollapsedNode = function (rng) {\n      return rng.collapsed ? Optional.from(getNode$1(rng.startContainer, rng.startOffset)).map(SugarElement.fromDom) : Optional.none();\n    };\n    var getFocusInElement = function (root, rng) {\n      return getCollapsedNode(rng).bind(function (node) {\n        if (isTableSection(node)) {\n          return Optional.some(node);\n        } else if (contains$1(root, node) === false) {\n          return Optional.some(root);\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var normalizeSelection$1 = function (editor, rng) {\n      getFocusInElement(SugarElement.fromDom(editor.getBody()), rng).bind(function (elm) {\n        return firstPositionIn(elm.dom);\n      }).fold(function () {\n        editor.selection.normalize();\n        return;\n      }, function (caretPos) {\n        return editor.selection.setRng(caretPos.toRange());\n      });\n    };\n    var focusBody = function (body) {\n      if (body.setActive) {\n        try {\n          body.setActive();\n        } catch (ex) {\n          body.focus();\n        }\n      } else {\n        body.focus();\n      }\n    };\n    var hasElementFocus = function (elm) {\n      return hasFocus$1(elm) || search(elm).isSome();\n    };\n    var hasIframeFocus = function (editor) {\n      return editor.iframeElement && hasFocus$1(SugarElement.fromDom(editor.iframeElement));\n    };\n    var hasInlineFocus = function (editor) {\n      var rawBody = editor.getBody();\n      return rawBody && hasElementFocus(SugarElement.fromDom(rawBody));\n    };\n    var hasUiFocus = function (editor) {\n      var dos = getRootNode(SugarElement.fromDom(editor.getElement()));\n      return active(dos).filter(function (elem) {\n        return !isEditorContentAreaElement(elem.dom) && isUIElement(editor, elem.dom);\n      }).isSome();\n    };\n    var hasFocus = function (editor) {\n      return editor.inline ? hasInlineFocus(editor) : hasIframeFocus(editor);\n    };\n    var hasEditorOrUiFocus = function (editor) {\n      return hasFocus(editor) || hasUiFocus(editor);\n    };\n    var focusEditor = function (editor) {\n      var selection = editor.selection;\n      var body = editor.getBody();\n      var rng = selection.getRng();\n      editor.quirks.refreshContentEditable();\n      if (editor.bookmark !== undefined && hasFocus(editor) === false) {\n        getRng(editor).each(function (bookmarkRng) {\n          editor.selection.setRng(bookmarkRng);\n          rng = bookmarkRng;\n        });\n      }\n      var contentEditableHost = getContentEditableHost(editor, selection.getNode());\n      if (editor.$.contains(body, contentEditableHost)) {\n        focusBody(contentEditableHost);\n        normalizeSelection$1(editor, rng);\n        activateEditor(editor);\n        return;\n      }\n      if (!editor.inline) {\n        if (!Env.opera) {\n          focusBody(body);\n        }\n        editor.getWin().focus();\n      }\n      if (Env.gecko || editor.inline) {\n        focusBody(body);\n        normalizeSelection$1(editor, rng);\n      }\n      activateEditor(editor);\n    };\n    var activateEditor = function (editor) {\n      return editor.editorManager.setActive(editor);\n    };\n    var focus = function (editor, skipFocus) {\n      if (editor.removed) {\n        return;\n      }\n      if (skipFocus) {\n        activateEditor(editor);\n      } else {\n        focusEditor(editor);\n      }\n    };\n\n    var getEndpointElement = function (root, rng, start, real, resolve) {\n      var container = start ? rng.startContainer : rng.endContainer;\n      var offset = start ? rng.startOffset : rng.endOffset;\n      return Optional.from(container).map(SugarElement.fromDom).map(function (elm) {\n        return !real || !rng.collapsed ? child$1(elm, resolve(elm, offset)).getOr(elm) : elm;\n      }).bind(function (elm) {\n        return isElement$6(elm) ? Optional.some(elm) : parent(elm).filter(isElement$6);\n      }).map(function (elm) {\n        return elm.dom;\n      }).getOr(root);\n    };\n    var getStart = function (root, rng, real) {\n      return getEndpointElement(root, rng, true, real, function (elm, offset) {\n        return Math.min(childNodesCount(elm), offset);\n      });\n    };\n    var getEnd = function (root, rng, real) {\n      return getEndpointElement(root, rng, false, real, function (elm, offset) {\n        return offset > 0 ? offset - 1 : offset;\n      });\n    };\n    var skipEmptyTextNodes = function (node, forwards) {\n      var orig = node;\n      while (node && isText$7(node) && node.length === 0) {\n        node = forwards ? node.nextSibling : node.previousSibling;\n      }\n      return node || orig;\n    };\n    var getNode = function (root, rng) {\n      var elm, startContainer, endContainer;\n      if (!rng) {\n        return root;\n      }\n      startContainer = rng.startContainer;\n      endContainer = rng.endContainer;\n      var startOffset = rng.startOffset;\n      var endOffset = rng.endOffset;\n      elm = rng.commonAncestorContainer;\n      if (!rng.collapsed) {\n        if (startContainer === endContainer) {\n          if (endOffset - startOffset < 2) {\n            if (startContainer.hasChildNodes()) {\n              elm = startContainer.childNodes[startOffset];\n            }\n          }\n        }\n        if (startContainer.nodeType === 3 && endContainer.nodeType === 3) {\n          if (startContainer.length === startOffset) {\n            startContainer = skipEmptyTextNodes(startContainer.nextSibling, true);\n          } else {\n            startContainer = startContainer.parentNode;\n          }\n          if (endOffset === 0) {\n            endContainer = skipEmptyTextNodes(endContainer.previousSibling, false);\n          } else {\n            endContainer = endContainer.parentNode;\n          }\n          if (startContainer && startContainer === endContainer) {\n            return startContainer;\n          }\n        }\n      }\n      if (elm && elm.nodeType === 3) {\n        return elm.parentNode;\n      }\n      return elm;\n    };\n    var getSelectedBlocks = function (dom, rng, startElm, endElm) {\n      var node;\n      var selectedBlocks = [];\n      var root = dom.getRoot();\n      startElm = dom.getParent(startElm || getStart(root, rng, rng.collapsed), dom.isBlock);\n      endElm = dom.getParent(endElm || getEnd(root, rng, rng.collapsed), dom.isBlock);\n      if (startElm && startElm !== root) {\n        selectedBlocks.push(startElm);\n      }\n      if (startElm && endElm && startElm !== endElm) {\n        node = startElm;\n        var walker = new DomTreeWalker(startElm, root);\n        while ((node = walker.next()) && node !== endElm) {\n          if (dom.isBlock(node)) {\n            selectedBlocks.push(node);\n          }\n        }\n      }\n      if (endElm && startElm !== endElm && endElm !== root) {\n        selectedBlocks.push(endElm);\n      }\n      return selectedBlocks;\n    };\n    var select = function (dom, node, content) {\n      return Optional.from(node).map(function (node) {\n        var idx = dom.nodeIndex(node);\n        var rng = dom.createRng();\n        rng.setStart(node.parentNode, idx);\n        rng.setEnd(node.parentNode, idx + 1);\n        if (content) {\n          moveEndPoint(dom, rng, node, true);\n          moveEndPoint(dom, rng, node, false);\n        }\n        return rng;\n      });\n    };\n\n    var processRanges = function (editor, ranges) {\n      return map$3(ranges, function (range) {\n        var evt = editor.fire('GetSelectionRange', { range: range });\n        return evt.range !== range ? evt.range : range;\n      });\n    };\n\n    var typeLookup = {\n      '#text': 3,\n      '#comment': 8,\n      '#cdata': 4,\n      '#pi': 7,\n      '#doctype': 10,\n      '#document-fragment': 11\n    };\n    var walk$1 = function (node, root, prev) {\n      var startName = prev ? 'lastChild' : 'firstChild';\n      var siblingName = prev ? 'prev' : 'next';\n      if (node[startName]) {\n        return node[startName];\n      }\n      if (node !== root) {\n        var sibling = node[siblingName];\n        if (sibling) {\n          return sibling;\n        }\n        for (var parent_1 = node.parent; parent_1 && parent_1 !== root; parent_1 = parent_1.parent) {\n          sibling = parent_1[siblingName];\n          if (sibling) {\n            return sibling;\n          }\n        }\n      }\n    };\n    var isEmptyTextNode = function (node) {\n      if (!isWhitespaceText(node.value)) {\n        return false;\n      }\n      var parentNode = node.parent;\n      if (parentNode && (parentNode.name !== 'span' || parentNode.attr('style')) && /^[ ]+$/.test(node.value)) {\n        return false;\n      }\n      return true;\n    };\n    var isNonEmptyElement = function (node) {\n      var isNamedAnchor = node.name === 'a' && !node.attr('href') && node.attr('id');\n      return node.attr('name') || node.attr('id') && !node.firstChild || node.attr('data-mce-bookmark') || isNamedAnchor;\n    };\n    var AstNode = function () {\n      function AstNode(name, type) {\n        this.name = name;\n        this.type = type;\n        if (type === 1) {\n          this.attributes = [];\n          this.attributes.map = {};\n        }\n      }\n      AstNode.create = function (name, attrs) {\n        var node = new AstNode(name, typeLookup[name] || 1);\n        if (attrs) {\n          each$j(attrs, function (value, attrName) {\n            node.attr(attrName, value);\n          });\n        }\n        return node;\n      };\n      AstNode.prototype.replace = function (node) {\n        var self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        self.insert(node, self);\n        self.remove();\n        return self;\n      };\n      AstNode.prototype.attr = function (name, value) {\n        var self = this;\n        var attrs;\n        if (typeof name !== 'string') {\n          if (name !== undefined && name !== null) {\n            each$j(name, function (value, key) {\n              self.attr(key, value);\n            });\n          }\n          return self;\n        }\n        if (attrs = self.attributes) {\n          if (value !== undefined) {\n            if (value === null) {\n              if (name in attrs.map) {\n                delete attrs.map[name];\n                var i = attrs.length;\n                while (i--) {\n                  if (attrs[i].name === name) {\n                    attrs.splice(i, 1);\n                    return self;\n                  }\n                }\n              }\n              return self;\n            }\n            if (name in attrs.map) {\n              var i = attrs.length;\n              while (i--) {\n                if (attrs[i].name === name) {\n                  attrs[i].value = value;\n                  break;\n                }\n              }\n            } else {\n              attrs.push({\n                name: name,\n                value: value\n              });\n            }\n            attrs.map[name] = value;\n            return self;\n          }\n          return attrs.map[name];\n        }\n      };\n      AstNode.prototype.clone = function () {\n        var self = this;\n        var clone = new AstNode(self.name, self.type);\n        var selfAttrs;\n        if (selfAttrs = self.attributes) {\n          var cloneAttrs = [];\n          cloneAttrs.map = {};\n          for (var i = 0, l = selfAttrs.length; i < l; i++) {\n            var selfAttr = selfAttrs[i];\n            if (selfAttr.name !== 'id') {\n              cloneAttrs[cloneAttrs.length] = {\n                name: selfAttr.name,\n                value: selfAttr.value\n              };\n              cloneAttrs.map[selfAttr.name] = selfAttr.value;\n            }\n          }\n          clone.attributes = cloneAttrs;\n        }\n        clone.value = self.value;\n        clone.shortEnded = self.shortEnded;\n        return clone;\n      };\n      AstNode.prototype.wrap = function (wrapper) {\n        var self = this;\n        self.parent.insert(wrapper, self);\n        wrapper.append(self);\n        return self;\n      };\n      AstNode.prototype.unwrap = function () {\n        var self = this;\n        for (var node = self.firstChild; node;) {\n          var next = node.next;\n          self.insert(node, self, true);\n          node = next;\n        }\n        self.remove();\n      };\n      AstNode.prototype.remove = function () {\n        var self = this, parent = self.parent, next = self.next, prev = self.prev;\n        if (parent) {\n          if (parent.firstChild === self) {\n            parent.firstChild = next;\n            if (next) {\n              next.prev = null;\n            }\n          } else {\n            prev.next = next;\n          }\n          if (parent.lastChild === self) {\n            parent.lastChild = prev;\n            if (prev) {\n              prev.next = null;\n            }\n          } else {\n            next.prev = prev;\n          }\n          self.parent = self.next = self.prev = null;\n        }\n        return self;\n      };\n      AstNode.prototype.append = function (node) {\n        var self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        var last = self.lastChild;\n        if (last) {\n          last.next = node;\n          node.prev = last;\n          self.lastChild = node;\n        } else {\n          self.lastChild = self.firstChild = node;\n        }\n        node.parent = self;\n        return node;\n      };\n      AstNode.prototype.insert = function (node, refNode, before) {\n        if (node.parent) {\n          node.remove();\n        }\n        var parent = refNode.parent || this;\n        if (before) {\n          if (refNode === parent.firstChild) {\n            parent.firstChild = node;\n          } else {\n            refNode.prev.next = node;\n          }\n          node.prev = refNode.prev;\n          node.next = refNode;\n          refNode.prev = node;\n        } else {\n          if (refNode === parent.lastChild) {\n            parent.lastChild = node;\n          } else {\n            refNode.next.prev = node;\n          }\n          node.next = refNode.next;\n          node.prev = refNode;\n          refNode.next = node;\n        }\n        node.parent = parent;\n        return node;\n      };\n      AstNode.prototype.getAll = function (name) {\n        var self = this;\n        var collection = [];\n        for (var node = self.firstChild; node; node = walk$1(node, self)) {\n          if (node.name === name) {\n            collection.push(node);\n          }\n        }\n        return collection;\n      };\n      AstNode.prototype.children = function () {\n        var self = this;\n        var collection = [];\n        for (var node = self.firstChild; node; node = node.next) {\n          collection.push(node);\n        }\n        return collection;\n      };\n      AstNode.prototype.empty = function () {\n        var self = this;\n        if (self.firstChild) {\n          var nodes = [];\n          for (var node = self.firstChild; node; node = walk$1(node, self)) {\n            nodes.push(node);\n          }\n          var i = nodes.length;\n          while (i--) {\n            var node = nodes[i];\n            node.parent = node.firstChild = node.lastChild = node.next = node.prev = null;\n          }\n        }\n        self.firstChild = self.lastChild = null;\n        return self;\n      };\n      AstNode.prototype.isEmpty = function (elements, whitespace, predicate) {\n        if (whitespace === void 0) {\n          whitespace = {};\n        }\n        var self = this;\n        var node = self.firstChild;\n        if (isNonEmptyElement(self)) {\n          return false;\n        }\n        if (node) {\n          do {\n            if (node.type === 1) {\n              if (node.attr('data-mce-bogus')) {\n                continue;\n              }\n              if (elements[node.name]) {\n                return false;\n              }\n              if (isNonEmptyElement(node)) {\n                return false;\n              }\n            }\n            if (node.type === 8) {\n              return false;\n            }\n            if (node.type === 3 && !isEmptyTextNode(node)) {\n              return false;\n            }\n            if (node.type === 3 && node.parent && whitespace[node.parent.name] && isWhitespaceText(node.value)) {\n              return false;\n            }\n            if (predicate && predicate(node)) {\n              return false;\n            }\n          } while (node = walk$1(node, self));\n        }\n        return true;\n      };\n      AstNode.prototype.walk = function (prev) {\n        return walk$1(this, null, prev);\n      };\n      return AstNode;\n    }();\n\n    var extractBase64DataUris = function (html) {\n      var dataImageUri = /data:[^;]+;base64,([a-z0-9\\+\\/=\\s]+)/gi;\n      var chunks = [];\n      var uris = {};\n      var prefix = generate('img');\n      var matches;\n      var index = 0;\n      var count = 0;\n      while (matches = dataImageUri.exec(html)) {\n        var uri = matches[0];\n        var imageId = prefix + '_' + count++;\n        uris[imageId] = uri;\n        if (index < matches.index) {\n          chunks.push(html.substr(index, matches.index - index));\n        }\n        chunks.push(imageId);\n        index = matches.index + uri.length;\n      }\n      var re = new RegExp(prefix + '_[0-9]+', 'g');\n      if (index === 0) {\n        return {\n          prefix: prefix,\n          uris: uris,\n          html: html,\n          re: re\n        };\n      } else {\n        if (index < html.length) {\n          chunks.push(html.substr(index));\n        }\n        return {\n          prefix: prefix,\n          uris: uris,\n          html: chunks.join(''),\n          re: re\n        };\n      }\n    };\n    var restoreDataUris = function (html, result) {\n      return html.replace(result.re, function (imageId) {\n        return get$9(result.uris, imageId).getOr(imageId);\n      });\n    };\n    var parseDataUri$1 = function (uri) {\n      var matches = /data:([^;]+);base64,([a-z0-9\\+\\/=\\s]+)/i.exec(uri);\n      if (matches) {\n        return Optional.some({\n          type: matches[1],\n          data: decodeURIComponent(matches[2])\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n\n    var each$d = Tools.each, trim = Tools.trim;\n    var queryParts = 'source protocol authority userInfo user password host port relative path directory file query anchor'.split(' ');\n    var DEFAULT_PORTS = {\n      ftp: 21,\n      http: 80,\n      https: 443,\n      mailto: 25\n    };\n    var safeSvgDataUrlElements = [\n      'img',\n      'video'\n    ];\n    var blockSvgDataUris = function (allowSvgDataUrls, tagName) {\n      if (isNonNullable(allowSvgDataUrls)) {\n        return !allowSvgDataUrls;\n      } else {\n        return isNonNullable(tagName) ? !contains$3(safeSvgDataUrlElements, tagName) : true;\n      }\n    };\n    var isInvalidUri = function (settings, uri, tagName) {\n      if (settings.allow_html_data_urls) {\n        return false;\n      } else if (/^data:image\\//i.test(uri)) {\n        return blockSvgDataUris(settings.allow_svg_data_urls, tagName) && /^data:image\\/svg\\+xml/i.test(uri);\n      } else {\n        return /^data:/i.test(uri);\n      }\n    };\n    var URI = function () {\n      function URI(url, settings) {\n        url = trim(url);\n        this.settings = settings || {};\n        var baseUri = this.settings.base_uri;\n        var self = this;\n        if (/^([\\w\\-]+):([^\\/]{2})/i.test(url) || /^\\s*#/.test(url)) {\n          self.source = url;\n          return;\n        }\n        var isProtocolRelative = url.indexOf('//') === 0;\n        if (url.indexOf('/') === 0 && !isProtocolRelative) {\n          url = (baseUri ? baseUri.protocol || 'http' : 'http') + '://mce_host' + url;\n        }\n        if (!/^[\\w\\-]*:?\\/\\//.test(url)) {\n          var baseUrl = this.settings.base_uri ? this.settings.base_uri.path : new URI(document.location.href).directory;\n          if (this.settings.base_uri && this.settings.base_uri.protocol == '') {\n            url = '//mce_host' + self.toAbsPath(baseUrl, url);\n          } else {\n            var match = /([^#?]*)([#?]?.*)/.exec(url);\n            url = (baseUri && baseUri.protocol || 'http') + '://mce_host' + self.toAbsPath(baseUrl, match[1]) + match[2];\n          }\n        }\n        url = url.replace(/@@/g, '(mce_at)');\n        var urlMatch = /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*):?([^:@\\/]*))?@)?(\\[[a-zA-Z0-9:.%]+\\]|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/.exec(url);\n        each$d(queryParts, function (v, i) {\n          var part = urlMatch[i];\n          if (part) {\n            part = part.replace(/\\(mce_at\\)/g, '@@');\n          }\n          self[v] = part;\n        });\n        if (baseUri) {\n          if (!self.protocol) {\n            self.protocol = baseUri.protocol;\n          }\n          if (!self.userInfo) {\n            self.userInfo = baseUri.userInfo;\n          }\n          if (!self.port && self.host === 'mce_host') {\n            self.port = baseUri.port;\n          }\n          if (!self.host || self.host === 'mce_host') {\n            self.host = baseUri.host;\n          }\n          self.source = '';\n        }\n        if (isProtocolRelative) {\n          self.protocol = '';\n        }\n      }\n      URI.parseDataUri = function (uri) {\n        var type;\n        var uriComponents = decodeURIComponent(uri).split(',');\n        var matches = /data:([^;]+)/.exec(uriComponents[0]);\n        if (matches) {\n          type = matches[1];\n        }\n        return {\n          type: type,\n          data: uriComponents[1]\n        };\n      };\n      URI.isDomSafe = function (uri, context, options) {\n        if (options === void 0) {\n          options = {};\n        }\n        if (options.allow_script_urls) {\n          return true;\n        } else {\n          var decodedUri = Entities.decode(uri).replace(/[\\s\\u0000-\\u001F]+/g, '');\n          try {\n            decodedUri = decodeURIComponent(decodedUri);\n          } catch (ex) {\n            decodedUri = unescape(decodedUri);\n          }\n          if (/((java|vb)script|mhtml):/i.test(decodedUri)) {\n            return false;\n          }\n          return !isInvalidUri(options, decodedUri, context);\n        }\n      };\n      URI.getDocumentBaseUrl = function (loc) {\n        var baseUrl;\n        if (loc.protocol.indexOf('http') !== 0 && loc.protocol !== 'file:') {\n          baseUrl = loc.href;\n        } else {\n          baseUrl = loc.protocol + '//' + loc.host + loc.pathname;\n        }\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(baseUrl)) {\n          baseUrl = baseUrl.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(baseUrl)) {\n            baseUrl += '/';\n          }\n        }\n        return baseUrl;\n      };\n      URI.prototype.setPath = function (path) {\n        var pathMatch = /^(.*?)\\/?(\\w+)?$/.exec(path);\n        this.path = pathMatch[0];\n        this.directory = pathMatch[1];\n        this.file = pathMatch[2];\n        this.source = '';\n        this.getURI();\n      };\n      URI.prototype.toRelative = function (uri) {\n        var output;\n        if (uri === './') {\n          return uri;\n        }\n        var relativeUri = new URI(uri, { base_uri: this });\n        if (relativeUri.host !== 'mce_host' && this.host !== relativeUri.host && relativeUri.host || this.port !== relativeUri.port || this.protocol !== relativeUri.protocol && relativeUri.protocol !== '') {\n          return relativeUri.getURI();\n        }\n        var tu = this.getURI(), uu = relativeUri.getURI();\n        if (tu === uu || tu.charAt(tu.length - 1) === '/' && tu.substr(0, tu.length - 1) === uu) {\n          return tu;\n        }\n        output = this.toRelPath(this.path, relativeUri.path);\n        if (relativeUri.query) {\n          output += '?' + relativeUri.query;\n        }\n        if (relativeUri.anchor) {\n          output += '#' + relativeUri.anchor;\n        }\n        return output;\n      };\n      URI.prototype.toAbsolute = function (uri, noHost) {\n        var absoluteUri = new URI(uri, { base_uri: this });\n        return absoluteUri.getURI(noHost && this.isSameOrigin(absoluteUri));\n      };\n      URI.prototype.isSameOrigin = function (uri) {\n        if (this.host == uri.host && this.protocol == uri.protocol) {\n          if (this.port == uri.port) {\n            return true;\n          }\n          var defaultPort = DEFAULT_PORTS[this.protocol];\n          if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) {\n            return true;\n          }\n        }\n        return false;\n      };\n      URI.prototype.toRelPath = function (base, path) {\n        var breakPoint = 0, out = '', i, l;\n        var normalizedBase = base.substring(0, base.lastIndexOf('/')).split('/');\n        var items = path.split('/');\n        if (normalizedBase.length >= items.length) {\n          for (i = 0, l = normalizedBase.length; i < l; i++) {\n            if (i >= items.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (normalizedBase.length < items.length) {\n          for (i = 0, l = items.length; i < l; i++) {\n            if (i >= normalizedBase.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (breakPoint === 1) {\n          return path;\n        }\n        for (i = 0, l = normalizedBase.length - (breakPoint - 1); i < l; i++) {\n          out += '../';\n        }\n        for (i = breakPoint - 1, l = items.length; i < l; i++) {\n          if (i !== breakPoint - 1) {\n            out += '/' + items[i];\n          } else {\n            out += items[i];\n          }\n        }\n        return out;\n      };\n      URI.prototype.toAbsPath = function (base, path) {\n        var i, nb = 0, o = [], outPath;\n        var tr = /\\/$/.test(path) ? '/' : '';\n        var normalizedBase = base.split('/');\n        var normalizedPath = path.split('/');\n        each$d(normalizedBase, function (k) {\n          if (k) {\n            o.push(k);\n          }\n        });\n        normalizedBase = o;\n        for (i = normalizedPath.length - 1, o = []; i >= 0; i--) {\n          if (normalizedPath[i].length === 0 || normalizedPath[i] === '.') {\n            continue;\n          }\n          if (normalizedPath[i] === '..') {\n            nb++;\n            continue;\n          }\n          if (nb > 0) {\n            nb--;\n            continue;\n          }\n          o.push(normalizedPath[i]);\n        }\n        i = normalizedBase.length - nb;\n        if (i <= 0) {\n          outPath = reverse(o).join('/');\n        } else {\n          outPath = normalizedBase.slice(0, i).join('/') + '/' + reverse(o).join('/');\n        }\n        if (outPath.indexOf('/') !== 0) {\n          outPath = '/' + outPath;\n        }\n        if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) {\n          outPath += tr;\n        }\n        return outPath;\n      };\n      URI.prototype.getURI = function (noProtoHost) {\n        if (noProtoHost === void 0) {\n          noProtoHost = false;\n        }\n        var s;\n        if (!this.source || noProtoHost) {\n          s = '';\n          if (!noProtoHost) {\n            if (this.protocol) {\n              s += this.protocol + '://';\n            } else {\n              s += '//';\n            }\n            if (this.userInfo) {\n              s += this.userInfo + '@';\n            }\n            if (this.host) {\n              s += this.host;\n            }\n            if (this.port) {\n              s += ':' + this.port;\n            }\n          }\n          if (this.path) {\n            s += this.path;\n          }\n          if (this.query) {\n            s += '?' + this.query;\n          }\n          if (this.anchor) {\n            s += '#' + this.anchor;\n          }\n          this.source = s;\n        }\n        return this.source;\n      };\n      return URI;\n    }();\n\n    var filteredClobberElements = Tools.makeMap('button,fieldset,form,iframe,img,image,input,object,output,select,textarea');\n    var isValidPrefixAttrName = function (name) {\n      return name.indexOf('data-') === 0 || name.indexOf('aria-') === 0;\n    };\n    var findMatchingEndTagIndex = function (schema, html, startIndex) {\n      var startTagRegExp = /<([!?\\/])?([A-Za-z0-9\\-_:.]+)/g;\n      var endTagRegExp = /(?:\\s(?:[^'\">]+(?:\"[^\"]*\"|'[^']*'))*[^\"'>]*(?:\"[^\">]*|'[^'>]*)?|\\s*|\\/)>/g;\n      var shortEndedElements = schema.getShortEndedElements();\n      var count = 1, index = startIndex;\n      while (count !== 0) {\n        startTagRegExp.lastIndex = index;\n        while (true) {\n          var startMatch = startTagRegExp.exec(html);\n          if (startMatch === null) {\n            return index;\n          } else if (startMatch[1] === '!') {\n            if (startsWith(startMatch[2], '--')) {\n              index = findCommentEndIndex(html, false, startMatch.index + '!--'.length);\n            } else {\n              index = findCommentEndIndex(html, true, startMatch.index + 1);\n            }\n            break;\n          } else {\n            endTagRegExp.lastIndex = startTagRegExp.lastIndex;\n            var endMatch = endTagRegExp.exec(html);\n            if (isNull(endMatch) || endMatch.index !== startTagRegExp.lastIndex) {\n              continue;\n            }\n            if (startMatch[1] === '/') {\n              count -= 1;\n            } else if (!has$2(shortEndedElements, startMatch[2])) {\n              count += 1;\n            }\n            index = startTagRegExp.lastIndex + endMatch[0].length;\n            break;\n          }\n        }\n      }\n      return index;\n    };\n    var isConditionalComment = function (html, startIndex) {\n      return /^\\s*\\[if [\\w\\W]+\\]>.*<!\\[endif\\](--!?)?>/.test(html.substr(startIndex));\n    };\n    var findCommentEndIndex = function (html, isBogus, startIndex) {\n      if (startIndex === void 0) {\n        startIndex = 0;\n      }\n      var lcHtml = html.toLowerCase();\n      if (lcHtml.indexOf('[if ', startIndex) !== -1 && isConditionalComment(lcHtml, startIndex)) {\n        var endIfIndex = lcHtml.indexOf('[endif]', startIndex);\n        return lcHtml.indexOf('>', endIfIndex);\n      } else {\n        if (isBogus) {\n          var endIndex = lcHtml.indexOf('>', startIndex);\n          return endIndex !== -1 ? endIndex : lcHtml.length;\n        } else {\n          var endCommentRegexp = /--!?>/g;\n          endCommentRegexp.lastIndex = startIndex;\n          var match = endCommentRegexp.exec(html);\n          return match ? match.index + match[0].length : lcHtml.length;\n        }\n      }\n    };\n    var checkBogusAttribute = function (regExp, attrString) {\n      var matches = regExp.exec(attrString);\n      if (matches) {\n        var name_1 = matches[1];\n        var value = matches[2];\n        return typeof name_1 === 'string' && name_1.toLowerCase() === 'data-mce-bogus' ? value : null;\n      } else {\n        return null;\n      }\n    };\n    var SaxParser = function (settings, schema) {\n      var _a;\n      if (schema === void 0) {\n        schema = Schema();\n      }\n      settings = settings || {};\n      var doc = (_a = settings.document) !== null && _a !== void 0 ? _a : document;\n      var form = doc.createElement('form');\n      if (settings.fix_self_closing !== false) {\n        settings.fix_self_closing = true;\n      }\n      var comment = settings.comment ? settings.comment : noop;\n      var cdata = settings.cdata ? settings.cdata : noop;\n      var text = settings.text ? settings.text : noop;\n      var start = settings.start ? settings.start : noop;\n      var end = settings.end ? settings.end : noop;\n      var pi = settings.pi ? settings.pi : noop;\n      var doctype = settings.doctype ? settings.doctype : noop;\n      var parseInternal = function (base64Extract, format) {\n        if (format === void 0) {\n          format = 'html';\n        }\n        var html = base64Extract.html;\n        var matches, index = 0, value, endRegExp;\n        var stack = [];\n        var attrList, i, textData, name;\n        var isInternalElement, isShortEnded;\n        var elementRule, isValidElement, attr, attribsValue, validAttributesMap, validAttributePatterns;\n        var attributesRequired, attributesDefault, attributesForced;\n        var anyAttributesRequired, attrValue, idCount = 0;\n        var decode = Entities.decode;\n        var filteredUrlAttrs = Tools.makeMap('src,href,data,background,action,formaction,poster,xlink:href');\n        var parsingMode = format === 'html' ? 0 : 1;\n        var processEndTag = function (name) {\n          var pos, i;\n          pos = stack.length;\n          while (pos--) {\n            if (stack[pos].name === name) {\n              break;\n            }\n          }\n          if (pos >= 0) {\n            for (i = stack.length - 1; i >= pos; i--) {\n              name = stack[i];\n              if (name.valid) {\n                end(name.name);\n              }\n            }\n            stack.length = pos;\n          }\n        };\n        var processText = function (value, raw) {\n          return text(restoreDataUris(value, base64Extract), raw);\n        };\n        var processComment = function (value) {\n          if (value === '') {\n            return;\n          }\n          if (value.charAt(0) === '>') {\n            value = ' ' + value;\n          }\n          if (!settings.allow_conditional_comments && value.substr(0, 3).toLowerCase() === '[if') {\n            value = ' ' + value;\n          }\n          comment(restoreDataUris(value, base64Extract));\n        };\n        var processAttr = function (value) {\n          return restoreDataUris(value, base64Extract);\n        };\n        var processMalformedComment = function (value, startIndex) {\n          var startTag = value || '';\n          var isBogus = !startsWith(startTag, '--');\n          var endIndex = findCommentEndIndex(html, isBogus, startIndex);\n          value = html.substr(startIndex, endIndex - startIndex);\n          processComment(isBogus ? startTag + value : value);\n          return endIndex + 1;\n        };\n        var parseAttribute = function (tagName, name, value, val2, val3) {\n          name = name.toLowerCase();\n          value = processAttr(name in fillAttrsMap ? name : decode(value || val2 || val3 || ''));\n          if (validate && !isInternalElement && isValidPrefixAttrName(name) === false) {\n            var attrRule = validAttributesMap[name];\n            if (!attrRule && validAttributePatterns) {\n              var i_1 = validAttributePatterns.length;\n              while (i_1--) {\n                attrRule = validAttributePatterns[i_1];\n                if (attrRule.pattern.test(name)) {\n                  break;\n                }\n              }\n              if (i_1 === -1) {\n                attrRule = null;\n              }\n            }\n            if (!attrRule) {\n              return;\n            }\n            if (attrRule.validValues && !(value in attrRule.validValues)) {\n              return;\n            }\n          }\n          var isNameOrId = name === 'name' || name === 'id';\n          if (isNameOrId && tagName in filteredClobberElements && (value in doc || value in form)) {\n            return;\n          }\n          if (filteredUrlAttrs[name] && !URI.isDomSafe(value, tagName, settings)) {\n            return;\n          }\n          if (isInternalElement && (name in filteredUrlAttrs || name.indexOf('on') === 0)) {\n            return;\n          }\n          attrList.map[name] = value;\n          attrList.push({\n            name: name,\n            value: value\n          });\n        };\n        var tokenRegExp = new RegExp('<(?:' + '(?:!--([\\\\w\\\\W]*?)--!?>)|' + '(?:!\\\\[CDATA\\\\[([\\\\w\\\\W]*?)\\\\]\\\\]>)|' + '(?:![Dd][Oo][Cc][Tt][Yy][Pp][Ee]([\\\\w\\\\W]*?)>)|' + '(?:!(--)?)|' + '(?:\\\\?([^\\\\s\\\\/<>]+) ?([\\\\w\\\\W]*?)[?/]>)|' + '(?:\\\\/([A-Za-z][A-Za-z0-9\\\\-_\\\\:\\\\.]*)>)|' + '(?:([A-Za-z][A-Za-z0-9\\\\-_:.]*)(\\\\s(?:[^\\'\">]+(?:\"[^\"]*\"|\\'[^\\']*\\'))*[^\"\\'>]*(?:\"[^\">]*|\\'[^\\'>]*)?|\\\\s*|\\\\/)>)' + ')', 'g');\n        var attrRegExp = /([\\w:\\-]+)(?:\\s*=\\s*(?:(?:\\\"((?:[^\\\"])*)\\\")|(?:\\'((?:[^\\'])*)\\')|([^>\\s]+)))?/g;\n        var shortEndedElements = schema.getShortEndedElements();\n        var selfClosing = settings.self_closing_elements || schema.getSelfClosingElements();\n        var fillAttrsMap = schema.getBoolAttrs();\n        var validate = settings.validate;\n        var removeInternalElements = settings.remove_internals;\n        var fixSelfClosing = settings.fix_self_closing;\n        var specialElements = schema.getSpecialElements();\n        var processHtml = html + '>';\n        while (matches = tokenRegExp.exec(processHtml)) {\n          var matchText = matches[0];\n          if (index < matches.index) {\n            processText(decode(html.substr(index, matches.index - index)));\n          }\n          if (value = matches[7]) {\n            value = value.toLowerCase();\n            if (value.charAt(0) === ':') {\n              value = value.substr(1);\n            }\n            processEndTag(value);\n          } else if (value = matches[8]) {\n            if (matches.index + matchText.length > html.length) {\n              processText(decode(html.substr(matches.index)));\n              index = matches.index + matchText.length;\n              continue;\n            }\n            value = value.toLowerCase();\n            if (value.charAt(0) === ':') {\n              value = value.substr(1);\n            }\n            isShortEnded = value in shortEndedElements;\n            if (fixSelfClosing && selfClosing[value] && stack.length > 0 && stack[stack.length - 1].name === value) {\n              processEndTag(value);\n            }\n            var bogusValue = checkBogusAttribute(attrRegExp, matches[9]);\n            if (bogusValue !== null) {\n              if (bogusValue === 'all') {\n                index = findMatchingEndTagIndex(schema, html, tokenRegExp.lastIndex);\n                tokenRegExp.lastIndex = index;\n                continue;\n              }\n              isValidElement = false;\n            }\n            if (!validate || (elementRule = schema.getElementRule(value))) {\n              isValidElement = true;\n              if (validate) {\n                validAttributesMap = elementRule.attributes;\n                validAttributePatterns = elementRule.attributePatterns;\n              }\n              if (attribsValue = matches[9]) {\n                isInternalElement = attribsValue.indexOf('data-mce-type') !== -1;\n                if (isInternalElement && removeInternalElements) {\n                  isValidElement = false;\n                }\n                attrList = [];\n                attrList.map = {};\n                attribsValue.replace(attrRegExp, function (match, name, val, val2, val3) {\n                  parseAttribute(value, name, val, val2, val3);\n                  return '';\n                });\n              } else {\n                attrList = [];\n                attrList.map = {};\n              }\n              if (validate && !isInternalElement) {\n                attributesRequired = elementRule.attributesRequired;\n                attributesDefault = elementRule.attributesDefault;\n                attributesForced = elementRule.attributesForced;\n                anyAttributesRequired = elementRule.removeEmptyAttrs;\n                if (anyAttributesRequired && !attrList.length) {\n                  isValidElement = false;\n                }\n                if (attributesForced) {\n                  i = attributesForced.length;\n                  while (i--) {\n                    attr = attributesForced[i];\n                    name = attr.name;\n                    attrValue = attr.value;\n                    if (attrValue === '{$uid}') {\n                      attrValue = 'mce_' + idCount++;\n                    }\n                    attrList.map[name] = attrValue;\n                    attrList.push({\n                      name: name,\n                      value: attrValue\n                    });\n                  }\n                }\n                if (attributesDefault) {\n                  i = attributesDefault.length;\n                  while (i--) {\n                    attr = attributesDefault[i];\n                    name = attr.name;\n                    if (!(name in attrList.map)) {\n                      attrValue = attr.value;\n                      if (attrValue === '{$uid}') {\n                        attrValue = 'mce_' + idCount++;\n                      }\n                      attrList.map[name] = attrValue;\n                      attrList.push({\n                        name: name,\n                        value: attrValue\n                      });\n                    }\n                  }\n                }\n                if (attributesRequired) {\n                  i = attributesRequired.length;\n                  while (i--) {\n                    if (attributesRequired[i] in attrList.map) {\n                      break;\n                    }\n                  }\n                  if (i === -1) {\n                    isValidElement = false;\n                  }\n                }\n                if (attr = attrList.map['data-mce-bogus']) {\n                  if (attr === 'all') {\n                    index = findMatchingEndTagIndex(schema, html, tokenRegExp.lastIndex);\n                    tokenRegExp.lastIndex = index;\n                    continue;\n                  }\n                  isValidElement = false;\n                }\n              }\n              if (isValidElement) {\n                start(value, attrList, isShortEnded);\n              }\n            } else {\n              isValidElement = false;\n            }\n            if (endRegExp = specialElements[value]) {\n              endRegExp.lastIndex = index = matches.index + matchText.length;\n              if (matches = endRegExp.exec(html)) {\n                if (isValidElement) {\n                  textData = html.substr(index, matches.index - index);\n                }\n                index = matches.index + matches[0].length;\n              } else {\n                textData = html.substr(index);\n                index = html.length;\n              }\n              if (isValidElement) {\n                if (textData.length > 0) {\n                  processText(textData, true);\n                }\n                end(value);\n              }\n              tokenRegExp.lastIndex = index;\n              continue;\n            }\n            if (!isShortEnded) {\n              if (!attribsValue || attribsValue.indexOf('/') !== attribsValue.length - 1) {\n                stack.push({\n                  name: value,\n                  valid: isValidElement\n                });\n              } else if (isValidElement) {\n                end(value);\n              }\n            }\n          } else if (value = matches[1]) {\n            processComment(value);\n          } else if (value = matches[2]) {\n            var isValidCdataSection = parsingMode === 1 || settings.preserve_cdata || stack.length > 0 && schema.isValidChild(stack[stack.length - 1].name, '#cdata');\n            if (isValidCdataSection) {\n              cdata(value);\n            } else {\n              index = processMalformedComment('', matches.index + 2);\n              tokenRegExp.lastIndex = index;\n              continue;\n            }\n          } else if (value = matches[3]) {\n            doctype(value);\n          } else if ((value = matches[4]) || matchText === '<!') {\n            index = processMalformedComment(value, matches.index + matchText.length);\n            tokenRegExp.lastIndex = index;\n            continue;\n          } else if (value = matches[5]) {\n            if (parsingMode === 1) {\n              pi(value, matches[6]);\n            } else {\n              index = processMalformedComment('?', matches.index + 2);\n              tokenRegExp.lastIndex = index;\n              continue;\n            }\n          }\n          index = matches.index + matchText.length;\n        }\n        if (index < html.length) {\n          processText(decode(html.substr(index)));\n        }\n        for (i = stack.length - 1; i >= 0; i--) {\n          value = stack[i];\n          if (value.valid) {\n            end(value.name);\n          }\n        }\n      };\n      var parse = function (html, format) {\n        if (format === void 0) {\n          format = 'html';\n        }\n        parseInternal(extractBase64DataUris(html), format);\n      };\n      return { parse: parse };\n    };\n    SaxParser.findEndTag = findMatchingEndTagIndex;\n\n    var trimHtml = function (tempAttrs, html) {\n      var trimContentRegExp = new RegExp(['\\\\s?(' + tempAttrs.join('|') + ')=\"[^\"]+\"'].join('|'), 'gi');\n      return html.replace(trimContentRegExp, '');\n    };\n    var trimInternal = function (serializer, html) {\n      var bogusAllRegExp = /<(\\w+) [^>]*data-mce-bogus=\"all\"[^>]*>/g;\n      var schema = serializer.schema;\n      var content = trimHtml(serializer.getTempAttrs(), html);\n      var shortEndedElements = schema.getShortEndedElements();\n      var matches;\n      while (matches = bogusAllRegExp.exec(content)) {\n        var index = bogusAllRegExp.lastIndex;\n        var matchLength = matches[0].length;\n        var endTagIndex = void 0;\n        if (shortEndedElements[matches[1]]) {\n          endTagIndex = index;\n        } else {\n          endTagIndex = SaxParser.findEndTag(schema, content, index);\n        }\n        content = content.substring(0, index - matchLength) + content.substring(endTagIndex);\n        bogusAllRegExp.lastIndex = index - matchLength;\n      }\n      return trim$2(content);\n    };\n    var trimExternal = trimInternal;\n\n    var trimEmptyContents = function (editor, html) {\n      var blockName = getForcedRootBlock(editor);\n      var emptyRegExp = new RegExp('^(<' + blockName + '[^>]*>(&nbsp;|&#160;|\\\\s|\\xA0|<br \\\\/>|)<\\\\/' + blockName + '>[\\r\\n]*|<br \\\\/>[\\r\\n]*)$');\n      return html.replace(emptyRegExp, '');\n    };\n    var setupArgs$3 = function (args, format) {\n      return __assign(__assign({}, args), {\n        format: format,\n        get: true,\n        getInner: true\n      });\n    };\n    var getContentFromBody = function (editor, args, format, body) {\n      var defaultedArgs = setupArgs$3(args, format);\n      var updatedArgs = args.no_events ? defaultedArgs : editor.fire('BeforeGetContent', defaultedArgs);\n      var content;\n      if (updatedArgs.format === 'raw') {\n        content = Tools.trim(trimExternal(editor.serializer, body.innerHTML));\n      } else if (updatedArgs.format === 'text') {\n        content = editor.dom.isEmpty(body) ? '' : trim$2(body.innerText || body.textContent);\n      } else if (updatedArgs.format === 'tree') {\n        content = editor.serializer.serialize(body, updatedArgs);\n      } else {\n        content = trimEmptyContents(editor, editor.serializer.serialize(body, updatedArgs));\n      }\n      if (!contains$3([\n          'text',\n          'tree'\n        ], updatedArgs.format) && !isWsPreserveElement(SugarElement.fromDom(body))) {\n        updatedArgs.content = Tools.trim(content);\n      } else {\n        updatedArgs.content = content;\n      }\n      if (updatedArgs.no_events) {\n        return updatedArgs.content;\n      } else {\n        return editor.fire('GetContent', updatedArgs).content;\n      }\n    };\n    var getContentInternal = function (editor, args, format) {\n      return Optional.from(editor.getBody()).fold(constant(args.format === 'tree' ? new AstNode('body', 11) : ''), function (body) {\n        return getContentFromBody(editor, args, format, body);\n      });\n    };\n\n    var each$c = Tools.each;\n    var ElementUtils = function (dom) {\n      var compare = function (node1, node2) {\n        if (node1.nodeName !== node2.nodeName) {\n          return false;\n        }\n        var getAttribs = function (node) {\n          var attribs = {};\n          each$c(dom.getAttribs(node), function (attr) {\n            var name = attr.nodeName.toLowerCase();\n            if (name.indexOf('_') !== 0 && name !== 'style' && name.indexOf('data-') !== 0) {\n              attribs[name] = dom.getAttrib(node, name);\n            }\n          });\n          return attribs;\n        };\n        var compareObjects = function (obj1, obj2) {\n          var value, name;\n          for (name in obj1) {\n            if (has$2(obj1, name)) {\n              value = obj2[name];\n              if (typeof value === 'undefined') {\n                return false;\n              }\n              if (obj1[name] !== value) {\n                return false;\n              }\n              delete obj2[name];\n            }\n          }\n          for (name in obj2) {\n            if (has$2(obj2, name)) {\n              return false;\n            }\n          }\n          return true;\n        };\n        if (!compareObjects(getAttribs(node1), getAttribs(node2))) {\n          return false;\n        }\n        if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) {\n          return false;\n        }\n        return !isBookmarkNode$1(node1) && !isBookmarkNode$1(node2);\n      };\n      return { compare: compare };\n    };\n\n    var makeMap$1 = Tools.makeMap;\n    var Writer = function (settings) {\n      var html = [];\n      settings = settings || {};\n      var indent = settings.indent;\n      var indentBefore = makeMap$1(settings.indent_before || '');\n      var indentAfter = makeMap$1(settings.indent_after || '');\n      var encode = Entities.getEncodeFunc(settings.entity_encoding || 'raw', settings.entities);\n      var htmlOutput = settings.element_format === 'html';\n      return {\n        start: function (name, attrs, empty) {\n          var i, l, attr, value;\n          if (indent && indentBefore[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n          html.push('<', name);\n          if (attrs) {\n            for (i = 0, l = attrs.length; i < l; i++) {\n              attr = attrs[i];\n              html.push(' ', attr.name, '=\"', encode(attr.value, true), '\"');\n            }\n          }\n          if (!empty || htmlOutput) {\n            html[html.length] = '>';\n          } else {\n            html[html.length] = ' />';\n          }\n          if (empty && indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        end: function (name) {\n          var value;\n          html.push('</', name, '>');\n          if (indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        text: function (text, raw) {\n          if (text.length > 0) {\n            html[html.length] = raw ? text : encode(text);\n          }\n        },\n        cdata: function (text) {\n          html.push('<![CDATA[', text, ']]>');\n        },\n        comment: function (text) {\n          html.push('<!--', text, '-->');\n        },\n        pi: function (name, text) {\n          if (text) {\n            html.push('<?', name, ' ', encode(text), '?>');\n          } else {\n            html.push('<?', name, '?>');\n          }\n          if (indent) {\n            html.push('\\n');\n          }\n        },\n        doctype: function (text) {\n          html.push('<!DOCTYPE', text, '>', indent ? '\\n' : '');\n        },\n        reset: function () {\n          html.length = 0;\n        },\n        getContent: function () {\n          return html.join('').replace(/\\n$/, '');\n        }\n      };\n    };\n\n    var HtmlSerializer = function (settings, schema) {\n      if (schema === void 0) {\n        schema = Schema();\n      }\n      var writer = Writer(settings);\n      settings = settings || {};\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      var serialize = function (node) {\n        var validate = settings.validate;\n        var handlers = {\n          3: function (node) {\n            writer.text(node.value, node.raw);\n          },\n          8: function (node) {\n            writer.comment(node.value);\n          },\n          7: function (node) {\n            writer.pi(node.name, node.value);\n          },\n          10: function (node) {\n            writer.doctype(node.value);\n          },\n          4: function (node) {\n            writer.cdata(node.value);\n          },\n          11: function (node) {\n            if (node = node.firstChild) {\n              do {\n                walk(node);\n              } while (node = node.next);\n            }\n          }\n        };\n        writer.reset();\n        var walk = function (node) {\n          var handler = handlers[node.type];\n          if (!handler) {\n            var name_1 = node.name;\n            var isEmpty = node.shortEnded;\n            var attrs = node.attributes;\n            if (validate && attrs && attrs.length > 1) {\n              var sortedAttrs = [];\n              sortedAttrs.map = {};\n              var elementRule = schema.getElementRule(node.name);\n              if (elementRule) {\n                for (var i = 0, l = elementRule.attributesOrder.length; i < l; i++) {\n                  var attrName = elementRule.attributesOrder[i];\n                  if (attrName in attrs.map) {\n                    var attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                for (var i = 0, l = attrs.length; i < l; i++) {\n                  var attrName = attrs[i].name;\n                  if (!(attrName in sortedAttrs.map)) {\n                    var attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                attrs = sortedAttrs;\n              }\n            }\n            writer.start(node.name, attrs, isEmpty);\n            if (!isEmpty) {\n              if (node = node.firstChild) {\n                do {\n                  walk(node);\n                } while (node = node.next);\n              }\n              writer.end(name_1);\n            }\n          } else {\n            handler(node);\n          }\n        };\n        if (node.type === 1 && !settings.inner) {\n          walk(node);\n        } else {\n          handlers[11](node);\n        }\n        return writer.getContent();\n      };\n      return { serialize: serialize };\n    };\n\n    var nonInheritableStyles = new Set();\n    (function () {\n      var nonInheritableStylesArr = [\n        'margin',\n        'margin-left',\n        'margin-right',\n        'margin-top',\n        'margin-bottom',\n        'padding',\n        'padding-left',\n        'padding-right',\n        'padding-top',\n        'padding-bottom',\n        'border',\n        'border-width',\n        'border-style',\n        'border-color',\n        'background',\n        'background-attachment',\n        'background-clip',\n        'background-color',\n        'background-image',\n        'background-origin',\n        'background-position',\n        'background-repeat',\n        'background-size',\n        'float',\n        'position',\n        'left',\n        'right',\n        'top',\n        'bottom',\n        'z-index',\n        'display',\n        'transform',\n        'width',\n        'max-width',\n        'min-width',\n        'height',\n        'max-height',\n        'min-height',\n        'overflow',\n        'overflow-x',\n        'overflow-y',\n        'text-overflow',\n        'vertical-align',\n        'transition',\n        'transition-delay',\n        'transition-duration',\n        'transition-property',\n        'transition-timing-function'\n      ];\n      each$k(nonInheritableStylesArr, function (style) {\n        nonInheritableStyles.add(style);\n      });\n    }());\n    var shorthandStyleProps = [\n      'font',\n      'text-decoration',\n      'text-emphasis'\n    ];\n    var getStyleProps = function (dom, node) {\n      return keys(dom.parseStyle(dom.getAttrib(node, 'style')));\n    };\n    var isNonInheritableStyle = function (style) {\n      return nonInheritableStyles.has(style);\n    };\n    var hasInheritableStyles = function (dom, node) {\n      return forall(getStyleProps(dom, node), function (style) {\n        return !isNonInheritableStyle(style);\n      });\n    };\n    var getLonghandStyleProps = function (styles) {\n      return filter$4(styles, function (style) {\n        return exists(shorthandStyleProps, function (prop) {\n          return startsWith(style, prop);\n        });\n      });\n    };\n    var hasStyleConflict = function (dom, node, parentNode) {\n      var nodeStyleProps = getStyleProps(dom, node);\n      var parentNodeStyleProps = getStyleProps(dom, parentNode);\n      var valueMismatch = function (prop) {\n        var nodeValue = dom.getStyle(node, prop);\n        var parentValue = dom.getStyle(parentNode, prop);\n        return isNotEmpty(nodeValue) && isNotEmpty(parentValue) && nodeValue !== parentValue;\n      };\n      return exists(nodeStyleProps, function (nodeStyleProp) {\n        var propExists = function (props) {\n          return exists(props, function (prop) {\n            return prop === nodeStyleProp;\n          });\n        };\n        if (!propExists(parentNodeStyleProps) && propExists(shorthandStyleProps)) {\n          var longhandProps = getLonghandStyleProps(parentNodeStyleProps);\n          return exists(longhandProps, valueMismatch);\n        } else {\n          return valueMismatch(nodeStyleProp);\n        }\n      });\n    };\n\n    var isChar = function (forward, predicate, pos) {\n      return Optional.from(pos.container()).filter(isText$7).exists(function (text) {\n        var delta = forward ? 0 : -1;\n        return predicate(text.data.charAt(pos.offset() + delta));\n      });\n    };\n    var isBeforeSpace = curry(isChar, true, isWhiteSpace);\n    var isAfterSpace = curry(isChar, false, isWhiteSpace);\n    var isEmptyText = function (pos) {\n      var container = pos.container();\n      return isText$7(container) && (container.data.length === 0 || isZwsp(container.data) && BookmarkManager.isBookmarkNode(container.parentNode));\n    };\n    var matchesElementPosition = function (before, predicate) {\n      return function (pos) {\n        return Optional.from(getChildNodeAtRelativeOffset(before ? 0 : -1, pos)).filter(predicate).isSome();\n      };\n    };\n    var isImageBlock = function (node) {\n      return isImg(node) && get$5(SugarElement.fromDom(node), 'display') === 'block';\n    };\n    var isCefNode = function (node) {\n      return isContentEditableFalse$b(node) && !isBogusAll$1(node);\n    };\n    var isBeforeImageBlock = matchesElementPosition(true, isImageBlock);\n    var isAfterImageBlock = matchesElementPosition(false, isImageBlock);\n    var isBeforeMedia = matchesElementPosition(true, isMedia$2);\n    var isAfterMedia = matchesElementPosition(false, isMedia$2);\n    var isBeforeTable = matchesElementPosition(true, isTable$3);\n    var isAfterTable = matchesElementPosition(false, isTable$3);\n    var isBeforeContentEditableFalse = matchesElementPosition(true, isCefNode);\n    var isAfterContentEditableFalse = matchesElementPosition(false, isCefNode);\n\n    var getLastChildren = function (elm) {\n      var children = [];\n      var rawNode = elm.dom;\n      while (rawNode) {\n        children.push(SugarElement.fromDom(rawNode));\n        rawNode = rawNode.lastChild;\n      }\n      return children;\n    };\n    var removeTrailingBr = function (elm) {\n      var allBrs = descendants(elm, 'br');\n      var brs = filter$4(getLastChildren(elm).slice(-1), isBr$4);\n      if (allBrs.length === brs.length) {\n        each$k(brs, remove$7);\n      }\n    };\n    var fillWithPaddingBr = function (elm) {\n      empty(elm);\n      append$1(elm, SugarElement.fromHtml('<br data-mce-bogus=\"1\">'));\n    };\n    var trimBlockTrailingBr = function (elm) {\n      lastChild(elm).each(function (lastChild) {\n        prevSibling(lastChild).each(function (lastChildPrevSibling) {\n          if (isBlock$2(elm) && isBr$4(lastChild) && isBlock$2(lastChildPrevSibling)) {\n            remove$7(lastChild);\n          }\n        });\n      });\n    };\n\n    var dropLast = function (xs) {\n      return xs.slice(0, -1);\n    };\n    var parentsUntil = function (start, root, predicate) {\n      if (contains$1(root, start)) {\n        return dropLast(parents$1(start, function (elm) {\n          return predicate(elm) || eq(elm, root);\n        }));\n      } else {\n        return [];\n      }\n    };\n    var parents = function (start, root) {\n      return parentsUntil(start, root, never);\n    };\n    var parentsAndSelf = function (start, root) {\n      return [start].concat(parents(start, root));\n    };\n\n    var navigateIgnoreEmptyTextNodes = function (forward, root, from) {\n      return navigateIgnore(forward, root, from, isEmptyText);\n    };\n    var getClosestBlock$1 = function (root, pos) {\n      return find$3(parentsAndSelf(SugarElement.fromDom(pos.container()), root), isBlock$2);\n    };\n    var isAtBeforeAfterBlockBoundary = function (forward, root, pos) {\n      return navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(function (newPos) {\n        return getClosestBlock$1(root, pos).fold(function () {\n          return isInSameBlock(newPos, pos, root.dom) === false;\n        }, function (fromBlock) {\n          return isInSameBlock(newPos, pos, root.dom) === false && contains$1(fromBlock, SugarElement.fromDom(newPos.container()));\n        });\n      });\n    };\n    var isAtBlockBoundary = function (forward, root, pos) {\n      return getClosestBlock$1(root, pos).fold(function () {\n        return navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(function (newPos) {\n          return isInSameBlock(newPos, pos, root.dom) === false;\n        });\n      }, function (parent) {\n        return navigateIgnoreEmptyTextNodes(forward, parent.dom, pos).isNone();\n      });\n    };\n    var isAtStartOfBlock = curry(isAtBlockBoundary, false);\n    var isAtEndOfBlock = curry(isAtBlockBoundary, true);\n    var isBeforeBlock = curry(isAtBeforeAfterBlockBoundary, false);\n    var isAfterBlock = curry(isAtBeforeAfterBlockBoundary, true);\n\n    var isBr = function (pos) {\n      return getElementFromPosition(pos).exists(isBr$4);\n    };\n    var findBr = function (forward, root, pos) {\n      var parentBlocks = filter$4(parentsAndSelf(SugarElement.fromDom(pos.container()), root), isBlock$2);\n      var scope = head(parentBlocks).getOr(root);\n      return fromPosition(forward, scope.dom, pos).filter(isBr);\n    };\n    var isBeforeBr$1 = function (root, pos) {\n      return getElementFromPosition(pos).exists(isBr$4) || findBr(true, root, pos).isSome();\n    };\n    var isAfterBr = function (root, pos) {\n      return getElementFromPrevPosition(pos).exists(isBr$4) || findBr(false, root, pos).isSome();\n    };\n    var findPreviousBr = curry(findBr, false);\n    var findNextBr = curry(findBr, true);\n\n    var isInMiddleOfText = function (pos) {\n      return CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd();\n    };\n    var getClosestBlock = function (root, pos) {\n      var parentBlocks = filter$4(parentsAndSelf(SugarElement.fromDom(pos.container()), root), isBlock$2);\n      return head(parentBlocks).getOr(root);\n    };\n    var hasSpaceBefore = function (root, pos) {\n      if (isInMiddleOfText(pos)) {\n        return isAfterSpace(pos);\n      } else {\n        return isAfterSpace(pos) || prevPosition(getClosestBlock(root, pos).dom, pos).exists(isAfterSpace);\n      }\n    };\n    var hasSpaceAfter = function (root, pos) {\n      if (isInMiddleOfText(pos)) {\n        return isBeforeSpace(pos);\n      } else {\n        return isBeforeSpace(pos) || nextPosition(getClosestBlock(root, pos).dom, pos).exists(isBeforeSpace);\n      }\n    };\n    var isPreValue = function (value) {\n      return contains$3([\n        'pre',\n        'pre-wrap'\n      ], value);\n    };\n    var isInPre = function (pos) {\n      return getElementFromPosition(pos).bind(function (elm) {\n        return closest$3(elm, isElement$6);\n      }).exists(function (elm) {\n        return isPreValue(get$5(elm, 'white-space'));\n      });\n    };\n    var isAtBeginningOfBody = function (root, pos) {\n      return prevPosition(root.dom, pos).isNone();\n    };\n    var isAtEndOfBody = function (root, pos) {\n      return nextPosition(root.dom, pos).isNone();\n    };\n    var isAtLineBoundary = function (root, pos) {\n      return isAtBeginningOfBody(root, pos) || isAtEndOfBody(root, pos) || isAtStartOfBlock(root, pos) || isAtEndOfBlock(root, pos) || isAfterBr(root, pos) || isBeforeBr$1(root, pos);\n    };\n    var needsToHaveNbsp = function (root, pos) {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtLineBoundary(root, pos) || hasSpaceBefore(root, pos) || hasSpaceAfter(root, pos);\n      }\n    };\n    var needsToBeNbspLeft = function (root, pos) {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtStartOfBlock(root, pos) || isBeforeBlock(root, pos) || isAfterBr(root, pos) || hasSpaceBefore(root, pos);\n      }\n    };\n    var leanRight = function (pos) {\n      var container = pos.container();\n      var offset = pos.offset();\n      if (isText$7(container) && offset < container.data.length) {\n        return CaretPosition(container, offset + 1);\n      } else {\n        return pos;\n      }\n    };\n    var needsToBeNbspRight = function (root, pos) {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtEndOfBlock(root, pos) || isAfterBlock(root, pos) || isBeforeBr$1(root, pos) || hasSpaceAfter(root, pos);\n      }\n    };\n    var needsToBeNbsp = function (root, pos) {\n      return needsToBeNbspLeft(root, pos) || needsToBeNbspRight(root, leanRight(pos));\n    };\n    var isNbspAt = function (text, offset) {\n      return isNbsp(text.charAt(offset));\n    };\n    var hasNbsp = function (pos) {\n      var container = pos.container();\n      return isText$7(container) && contains$2(container.data, nbsp);\n    };\n    var normalizeNbspMiddle = function (text) {\n      var chars = text.split('');\n      return map$3(chars, function (chr, i) {\n        if (isNbsp(chr) && i > 0 && i < chars.length - 1 && isContent(chars[i - 1]) && isContent(chars[i + 1])) {\n          return ' ';\n        } else {\n          return chr;\n        }\n      }).join('');\n    };\n    var normalizeNbspAtStart = function (root, node) {\n      var text = node.data;\n      var firstPos = CaretPosition(node, 0);\n      if (isNbspAt(text, 0) && !needsToBeNbsp(root, firstPos)) {\n        node.data = ' ' + text.slice(1);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var normalizeNbspInMiddleOfTextNode = function (node) {\n      var text = node.data;\n      var newText = normalizeNbspMiddle(text);\n      if (newText !== text) {\n        node.data = newText;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var normalizeNbspAtEnd = function (root, node) {\n      var text = node.data;\n      var lastPos = CaretPosition(node, text.length - 1);\n      if (isNbspAt(text, text.length - 1) && !needsToBeNbsp(root, lastPos)) {\n        node.data = text.slice(0, -1) + ' ';\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var normalizeNbsps = function (root, pos) {\n      return Optional.some(pos).filter(hasNbsp).bind(function (pos) {\n        var container = pos.container();\n        var normalized = normalizeNbspAtStart(root, container) || normalizeNbspInMiddleOfTextNode(container) || normalizeNbspAtEnd(root, container);\n        return normalized ? Optional.some(pos) : Optional.none();\n      });\n    };\n    var normalizeNbspsInEditor = function (editor) {\n      var root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        normalizeNbsps(root, CaretPosition.fromRangeStart(editor.selection.getRng())).each(function (pos) {\n          editor.selection.setRng(pos.toRange());\n        });\n      }\n    };\n\n    var normalizeContent = function (content, isStartOfContent, isEndOfContent) {\n      var result = foldl(content, function (acc, c) {\n        if (isWhiteSpace(c) || isNbsp(c)) {\n          if (acc.previousCharIsSpace || acc.str === '' && isStartOfContent || acc.str.length === content.length - 1 && isEndOfContent) {\n            return {\n              previousCharIsSpace: false,\n              str: acc.str + nbsp\n            };\n          } else {\n            return {\n              previousCharIsSpace: true,\n              str: acc.str + ' '\n            };\n          }\n        } else {\n          return {\n            previousCharIsSpace: false,\n            str: acc.str + c\n          };\n        }\n      }, {\n        previousCharIsSpace: false,\n        str: ''\n      });\n      return result.str;\n    };\n    var normalize$1 = function (node, offset, count) {\n      if (count === 0) {\n        return;\n      }\n      var elm = SugarElement.fromDom(node);\n      var root = ancestor$3(elm, isBlock$2).getOr(elm);\n      var whitespace = node.data.slice(offset, offset + count);\n      var isEndOfContent = offset + count >= node.data.length && needsToBeNbspRight(root, CaretPosition(node, node.data.length));\n      var isStartOfContent = offset === 0 && needsToBeNbspLeft(root, CaretPosition(node, 0));\n      node.replaceData(offset, count, normalizeContent(whitespace, isStartOfContent, isEndOfContent));\n    };\n    var normalizeWhitespaceAfter = function (node, offset) {\n      var content = node.data.slice(offset);\n      var whitespaceCount = content.length - lTrim(content).length;\n      normalize$1(node, offset, whitespaceCount);\n    };\n    var normalizeWhitespaceBefore = function (node, offset) {\n      var content = node.data.slice(0, offset);\n      var whitespaceCount = content.length - rTrim(content).length;\n      normalize$1(node, offset - whitespaceCount, whitespaceCount);\n    };\n    var mergeTextNodes = function (prevNode, nextNode, normalizeWhitespace, mergeToPrev) {\n      if (mergeToPrev === void 0) {\n        mergeToPrev = true;\n      }\n      var whitespaceOffset = rTrim(prevNode.data).length;\n      var newNode = mergeToPrev ? prevNode : nextNode;\n      var removeNode = mergeToPrev ? nextNode : prevNode;\n      if (mergeToPrev) {\n        newNode.appendData(removeNode.data);\n      } else {\n        newNode.insertData(0, removeNode.data);\n      }\n      remove$7(SugarElement.fromDom(removeNode));\n      if (normalizeWhitespace) {\n        normalizeWhitespaceAfter(newNode, whitespaceOffset);\n      }\n      return newNode;\n    };\n\n    var needsReposition = function (pos, elm) {\n      var container = pos.container();\n      var offset = pos.offset();\n      return CaretPosition.isTextPosition(pos) === false && container === elm.parentNode && offset > CaretPosition.before(elm).offset();\n    };\n    var reposition = function (elm, pos) {\n      return needsReposition(pos, elm) ? CaretPosition(pos.container(), pos.offset() - 1) : pos;\n    };\n    var beforeOrStartOf = function (node) {\n      return isText$7(node) ? CaretPosition(node, 0) : CaretPosition.before(node);\n    };\n    var afterOrEndOf = function (node) {\n      return isText$7(node) ? CaretPosition(node, node.data.length) : CaretPosition.after(node);\n    };\n    var getPreviousSiblingCaretPosition = function (elm) {\n      if (isCaretCandidate$3(elm.previousSibling)) {\n        return Optional.some(afterOrEndOf(elm.previousSibling));\n      } else {\n        return elm.previousSibling ? lastPositionIn(elm.previousSibling) : Optional.none();\n      }\n    };\n    var getNextSiblingCaretPosition = function (elm) {\n      if (isCaretCandidate$3(elm.nextSibling)) {\n        return Optional.some(beforeOrStartOf(elm.nextSibling));\n      } else {\n        return elm.nextSibling ? firstPositionIn(elm.nextSibling) : Optional.none();\n      }\n    };\n    var findCaretPositionBackwardsFromElm = function (rootElement, elm) {\n      var startPosition = CaretPosition.before(elm.previousSibling ? elm.previousSibling : elm.parentNode);\n      return prevPosition(rootElement, startPosition).fold(function () {\n        return nextPosition(rootElement, CaretPosition.after(elm));\n      }, Optional.some);\n    };\n    var findCaretPositionForwardsFromElm = function (rootElement, elm) {\n      return nextPosition(rootElement, CaretPosition.after(elm)).fold(function () {\n        return prevPosition(rootElement, CaretPosition.before(elm));\n      }, Optional.some);\n    };\n    var findCaretPositionBackwards = function (rootElement, elm) {\n      return getPreviousSiblingCaretPosition(elm).orThunk(function () {\n        return getNextSiblingCaretPosition(elm);\n      }).orThunk(function () {\n        return findCaretPositionBackwardsFromElm(rootElement, elm);\n      });\n    };\n    var findCaretPositionForward = function (rootElement, elm) {\n      return getNextSiblingCaretPosition(elm).orThunk(function () {\n        return getPreviousSiblingCaretPosition(elm);\n      }).orThunk(function () {\n        return findCaretPositionForwardsFromElm(rootElement, elm);\n      });\n    };\n    var findCaretPosition = function (forward, rootElement, elm) {\n      return forward ? findCaretPositionForward(rootElement, elm) : findCaretPositionBackwards(rootElement, elm);\n    };\n    var findCaretPosOutsideElmAfterDelete = function (forward, rootElement, elm) {\n      return findCaretPosition(forward, rootElement, elm).map(curry(reposition, elm));\n    };\n    var setSelection$1 = function (editor, forward, pos) {\n      pos.fold(function () {\n        editor.focus();\n      }, function (pos) {\n        editor.selection.setRng(pos.toRange(), forward);\n      });\n    };\n    var eqRawNode = function (rawNode) {\n      return function (elm) {\n        return elm.dom === rawNode;\n      };\n    };\n    var isBlock = function (editor, elm) {\n      return elm && has$2(editor.schema.getBlockElements(), name(elm));\n    };\n    var paddEmptyBlock = function (elm) {\n      if (isEmpty$2(elm)) {\n        var br = SugarElement.fromHtml('<br data-mce-bogus=\"1\">');\n        empty(elm);\n        append$1(elm, br);\n        return Optional.some(CaretPosition.before(br.dom));\n      } else {\n        return Optional.none();\n      }\n    };\n    var deleteNormalized = function (elm, afterDeletePosOpt, normalizeWhitespace) {\n      var prevTextOpt = prevSibling(elm).filter(isText$8);\n      var nextTextOpt = nextSibling(elm).filter(isText$8);\n      remove$7(elm);\n      return lift3(prevTextOpt, nextTextOpt, afterDeletePosOpt, function (prev, next, pos) {\n        var prevNode = prev.dom, nextNode = next.dom;\n        var offset = prevNode.data.length;\n        mergeTextNodes(prevNode, nextNode, normalizeWhitespace);\n        return pos.container() === nextNode ? CaretPosition(prevNode, offset) : pos;\n      }).orThunk(function () {\n        if (normalizeWhitespace) {\n          prevTextOpt.each(function (elm) {\n            return normalizeWhitespaceBefore(elm.dom, elm.dom.length);\n          });\n          nextTextOpt.each(function (elm) {\n            return normalizeWhitespaceAfter(elm.dom, 0);\n          });\n        }\n        return afterDeletePosOpt;\n      });\n    };\n    var isInlineElement = function (editor, element) {\n      return has$2(editor.schema.getTextInlineElements(), name(element));\n    };\n    var deleteElement$2 = function (editor, forward, elm, moveCaret) {\n      if (moveCaret === void 0) {\n        moveCaret = true;\n      }\n      var afterDeletePos = findCaretPosOutsideElmAfterDelete(forward, editor.getBody(), elm.dom);\n      var parentBlock = ancestor$3(elm, curry(isBlock, editor), eqRawNode(editor.getBody()));\n      var normalizedAfterDeletePos = deleteNormalized(elm, afterDeletePos, isInlineElement(editor, elm));\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      } else {\n        parentBlock.bind(paddEmptyBlock).fold(function () {\n          if (moveCaret) {\n            setSelection$1(editor, forward, normalizedAfterDeletePos);\n          }\n        }, function (paddPos) {\n          if (moveCaret) {\n            setSelection$1(editor, forward, Optional.some(paddPos));\n          }\n        });\n      }\n    };\n\n    var isRootFromElement = function (root) {\n      return function (cur) {\n        return eq(root, cur);\n      };\n    };\n    var getTableCells = function (table) {\n      return descendants(table, 'td,th');\n    };\n    var getTableDetailsFromRange = function (rng, isRoot) {\n      var getTable = function (node) {\n        return getClosestTable(SugarElement.fromDom(node), isRoot);\n      };\n      var startTable = getTable(rng.startContainer);\n      var endTable = getTable(rng.endContainer);\n      var isStartInTable = startTable.isSome();\n      var isEndInTable = endTable.isSome();\n      var isSameTable = lift2(startTable, endTable, eq).getOr(false);\n      var isMultiTable = !isSameTable && isStartInTable && isEndInTable;\n      return {\n        startTable: startTable,\n        endTable: endTable,\n        isStartInTable: isStartInTable,\n        isEndInTable: isEndInTable,\n        isSameTable: isSameTable,\n        isMultiTable: isMultiTable\n      };\n    };\n\n    var tableCellRng = function (start, end) {\n      return {\n        start: start,\n        end: end\n      };\n    };\n    var tableSelection = function (rng, table, cells) {\n      return {\n        rng: rng,\n        table: table,\n        cells: cells\n      };\n    };\n    var deleteAction = Adt.generate([\n      {\n        singleCellTable: [\n          'rng',\n          'cell'\n        ]\n      },\n      { fullTable: ['table'] },\n      {\n        partialTable: [\n          'cells',\n          'outsideDetails'\n        ]\n      },\n      {\n        multiTable: [\n          'startTableCells',\n          'endTableCells',\n          'betweenRng'\n        ]\n      }\n    ]);\n    var getClosestCell$1 = function (container, isRoot) {\n      return closest$2(SugarElement.fromDom(container), 'td,th', isRoot);\n    };\n    var isExpandedCellRng = function (cellRng) {\n      return !eq(cellRng.start, cellRng.end);\n    };\n    var getTableFromCellRng = function (cellRng, isRoot) {\n      return getClosestTable(cellRng.start, isRoot).bind(function (startParentTable) {\n        return getClosestTable(cellRng.end, isRoot).bind(function (endParentTable) {\n          return someIf(eq(startParentTable, endParentTable), startParentTable);\n        });\n      });\n    };\n    var isSingleCellTable = function (cellRng, isRoot) {\n      return !isExpandedCellRng(cellRng) && getTableFromCellRng(cellRng, isRoot).exists(function (table) {\n        var rows = table.dom.rows;\n        return rows.length === 1 && rows[0].cells.length === 1;\n      });\n    };\n    var getCellRng = function (rng, isRoot) {\n      var startCell = getClosestCell$1(rng.startContainer, isRoot);\n      var endCell = getClosestCell$1(rng.endContainer, isRoot);\n      return lift2(startCell, endCell, tableCellRng);\n    };\n    var getCellRangeFromStartTable = function (isRoot) {\n      return function (startCell) {\n        return getClosestTable(startCell, isRoot).bind(function (table) {\n          return last$2(getTableCells(table)).map(function (endCell) {\n            return tableCellRng(startCell, endCell);\n          });\n        });\n      };\n    };\n    var getCellRangeFromEndTable = function (isRoot) {\n      return function (endCell) {\n        return getClosestTable(endCell, isRoot).bind(function (table) {\n          return head(getTableCells(table)).map(function (startCell) {\n            return tableCellRng(startCell, endCell);\n          });\n        });\n      };\n    };\n    var getTableSelectionFromCellRng = function (isRoot) {\n      return function (cellRng) {\n        return getTableFromCellRng(cellRng, isRoot).map(function (table) {\n          return tableSelection(cellRng, table, getTableCells(table));\n        });\n      };\n    };\n    var getTableSelections = function (cellRng, selectionDetails, rng, isRoot) {\n      if (rng.collapsed || !cellRng.forall(isExpandedCellRng)) {\n        return Optional.none();\n      } else if (selectionDetails.isSameTable) {\n        var sameTableSelection = cellRng.bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: sameTableSelection,\n          end: sameTableSelection\n        });\n      } else {\n        var startCell = getClosestCell$1(rng.startContainer, isRoot);\n        var endCell = getClosestCell$1(rng.endContainer, isRoot);\n        var startTableSelection = startCell.bind(getCellRangeFromStartTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        var endTableSelection = endCell.bind(getCellRangeFromEndTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: startTableSelection,\n          end: endTableSelection\n        });\n      }\n    };\n    var getCellIndex = function (cells, cell) {\n      return findIndex$2(cells, function (x) {\n        return eq(x, cell);\n      });\n    };\n    var getSelectedCells = function (tableSelection) {\n      return lift2(getCellIndex(tableSelection.cells, tableSelection.rng.start), getCellIndex(tableSelection.cells, tableSelection.rng.end), function (startIndex, endIndex) {\n        return tableSelection.cells.slice(startIndex, endIndex + 1);\n      });\n    };\n    var isSingleCellTableContentSelected = function (optCellRng, rng, isRoot) {\n      return optCellRng.exists(function (cellRng) {\n        return isSingleCellTable(cellRng, isRoot) && hasAllContentsSelected(cellRng.start, rng);\n      });\n    };\n    var unselectCells = function (rng, selectionDetails) {\n      var startTable = selectionDetails.startTable, endTable = selectionDetails.endTable;\n      var otherContentRng = rng.cloneRange();\n      startTable.each(function (table) {\n        return otherContentRng.setStartAfter(table.dom);\n      });\n      endTable.each(function (table) {\n        return otherContentRng.setEndBefore(table.dom);\n      });\n      return otherContentRng;\n    };\n    var handleSingleTable = function (cellRng, selectionDetails, rng, isRoot) {\n      return getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(function (_a) {\n        var start = _a.start, end = _a.end;\n        return start.or(end);\n      }).bind(function (tableSelection) {\n        var isSameTable = selectionDetails.isSameTable;\n        var selectedCells = getSelectedCells(tableSelection).getOr([]);\n        if (isSameTable && tableSelection.cells.length === selectedCells.length) {\n          return Optional.some(deleteAction.fullTable(tableSelection.table));\n        } else if (selectedCells.length > 0) {\n          if (isSameTable) {\n            return Optional.some(deleteAction.partialTable(selectedCells, Optional.none()));\n          } else {\n            var otherContentRng = unselectCells(rng, selectionDetails);\n            return Optional.some(deleteAction.partialTable(selectedCells, Optional.some(__assign(__assign({}, selectionDetails), { rng: otherContentRng }))));\n          }\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var handleMultiTable = function (cellRng, selectionDetails, rng, isRoot) {\n      return getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(function (_a) {\n        var start = _a.start, end = _a.end;\n        var startTableSelectedCells = start.bind(getSelectedCells).getOr([]);\n        var endTableSelectedCells = end.bind(getSelectedCells).getOr([]);\n        if (startTableSelectedCells.length > 0 && endTableSelectedCells.length > 0) {\n          var otherContentRng = unselectCells(rng, selectionDetails);\n          return Optional.some(deleteAction.multiTable(startTableSelectedCells, endTableSelectedCells, otherContentRng));\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var getActionFromRange = function (root, rng) {\n      var isRoot = isRootFromElement(root);\n      var optCellRng = getCellRng(rng, isRoot);\n      var selectionDetails = getTableDetailsFromRange(rng, isRoot);\n      if (isSingleCellTableContentSelected(optCellRng, rng, isRoot)) {\n        return optCellRng.map(function (cellRng) {\n          return deleteAction.singleCellTable(rng, cellRng.start);\n        });\n      } else if (selectionDetails.isMultiTable) {\n        return handleMultiTable(optCellRng, selectionDetails, rng, isRoot);\n      } else {\n        return handleSingleTable(optCellRng, selectionDetails, rng, isRoot);\n      }\n    };\n\n    var freefallRtl = function (root) {\n      var child = isComment$1(root) ? prevSibling(root) : lastChild(root);\n      return child.bind(freefallRtl).orThunk(function () {\n        return Optional.some(root);\n      });\n    };\n    var cleanCells = function (cells) {\n      return each$k(cells, function (cell) {\n        remove$6(cell, 'contenteditable');\n        fillWithPaddingBr(cell);\n      });\n    };\n    var getOutsideBlock = function (editor, container) {\n      return Optional.from(editor.dom.getParent(container, editor.dom.isBlock)).map(SugarElement.fromDom);\n    };\n    var handleEmptyBlock = function (editor, startInTable, emptyBlock) {\n      emptyBlock.each(function (block) {\n        if (startInTable) {\n          remove$7(block);\n        } else {\n          fillWithPaddingBr(block);\n          editor.selection.setCursorLocation(block.dom, 0);\n        }\n      });\n    };\n    var deleteContentInsideCell = function (editor, cell, rng, isFirstCellInSelection) {\n      var insideTableRng = rng.cloneRange();\n      if (isFirstCellInSelection) {\n        insideTableRng.setStart(rng.startContainer, rng.startOffset);\n        insideTableRng.setEndAfter(cell.dom.lastChild);\n      } else {\n        insideTableRng.setStartBefore(cell.dom.firstChild);\n        insideTableRng.setEnd(rng.endContainer, rng.endOffset);\n      }\n      deleteCellContents(editor, insideTableRng, cell, false);\n    };\n    var collapseAndRestoreCellSelection = function (editor) {\n      var selectedCells = getCellsFromEditor(editor);\n      var selectedNode = SugarElement.fromDom(editor.selection.getNode());\n      if (isTableCell$5(selectedNode.dom) && isEmpty$2(selectedNode)) {\n        editor.selection.setCursorLocation(selectedNode.dom, 0);\n      } else {\n        editor.selection.collapse(true);\n      }\n      if (selectedCells.length > 1 && exists(selectedCells, function (cell) {\n          return eq(cell, selectedNode);\n        })) {\n        set$1(selectedNode, 'data-mce-selected', '1');\n      }\n    };\n    var emptySingleTableCells = function (editor, cells, outsideDetails) {\n      var editorRng = editor.selection.getRng();\n      var cellsToClean = outsideDetails.bind(function (_a) {\n        var rng = _a.rng, isStartInTable = _a.isStartInTable;\n        var outsideBlock = getOutsideBlock(editor, isStartInTable ? rng.endContainer : rng.startContainer);\n        rng.deleteContents();\n        handleEmptyBlock(editor, isStartInTable, outsideBlock.filter(isEmpty$2));\n        var endPointCell = isStartInTable ? cells[0] : cells[cells.length - 1];\n        deleteContentInsideCell(editor, endPointCell, editorRng, isStartInTable);\n        if (!isEmpty$2(endPointCell)) {\n          return Optional.some(isStartInTable ? cells.slice(1) : cells.slice(0, -1));\n        } else {\n          return Optional.none();\n        }\n      }).getOr(cells);\n      cleanCells(cellsToClean);\n      collapseAndRestoreCellSelection(editor);\n      return true;\n    };\n    var emptyMultiTableCells = function (editor, startTableCells, endTableCells, betweenRng) {\n      var rng = editor.selection.getRng();\n      var startCell = startTableCells[0];\n      var endCell = endTableCells[endTableCells.length - 1];\n      deleteContentInsideCell(editor, startCell, rng, true);\n      deleteContentInsideCell(editor, endCell, rng, false);\n      var startTableCellsToClean = isEmpty$2(startCell) ? startTableCells : startTableCells.slice(1);\n      var endTableCellsToClean = isEmpty$2(endCell) ? endTableCells : endTableCells.slice(0, -1);\n      cleanCells(startTableCellsToClean.concat(endTableCellsToClean));\n      betweenRng.deleteContents();\n      collapseAndRestoreCellSelection(editor);\n      return true;\n    };\n    var deleteCellContents = function (editor, rng, cell, moveSelection) {\n      if (moveSelection === void 0) {\n        moveSelection = true;\n      }\n      rng.deleteContents();\n      var lastNode = freefallRtl(cell).getOr(cell);\n      var lastBlock = SugarElement.fromDom(editor.dom.getParent(lastNode.dom, editor.dom.isBlock));\n      if (isEmpty$2(lastBlock)) {\n        fillWithPaddingBr(lastBlock);\n        if (moveSelection) {\n          editor.selection.setCursorLocation(lastBlock.dom, 0);\n        }\n      }\n      if (!eq(cell, lastBlock)) {\n        var additionalCleanupNodes = is$1(parent(lastBlock), cell) ? [] : siblings(lastBlock);\n        each$k(additionalCleanupNodes.concat(children(cell)), function (node) {\n          if (!eq(node, lastBlock) && !contains$1(node, lastBlock) && isEmpty$2(node)) {\n            remove$7(node);\n          }\n        });\n      }\n      return true;\n    };\n    var deleteTableElement = function (editor, table) {\n      deleteElement$2(editor, false, table);\n      return true;\n    };\n    var deleteCellRange = function (editor, rootElm, rng) {\n      return getActionFromRange(rootElm, rng).map(function (action) {\n        return action.fold(curry(deleteCellContents, editor), curry(deleteTableElement, editor), curry(emptySingleTableCells, editor), curry(emptyMultiTableCells, editor));\n      });\n    };\n    var deleteCaptionRange = function (editor, caption) {\n      return emptyElement(editor, caption);\n    };\n    var deleteTableRange = function (editor, rootElm, rng, startElm) {\n      return getParentCaption(rootElm, startElm).fold(function () {\n        return deleteCellRange(editor, rootElm, rng);\n      }, function (caption) {\n        return deleteCaptionRange(editor, caption);\n      }).getOr(false);\n    };\n    var deleteRange$2 = function (editor, startElm, selectedCells) {\n      var rootNode = SugarElement.fromDom(editor.getBody());\n      var rng = editor.selection.getRng();\n      return selectedCells.length !== 0 ? emptySingleTableCells(editor, selectedCells, Optional.none()) : deleteTableRange(editor, rootNode, rng, startElm);\n    };\n    var getParentCell = function (rootElm, elm) {\n      return find$3(parentsAndSelf(elm, rootElm), isTableCell$4);\n    };\n    var getParentCaption = function (rootElm, elm) {\n      return find$3(parentsAndSelf(elm, rootElm), isTag('caption'));\n    };\n    var deleteBetweenCells = function (editor, rootElm, forward, fromCell, from) {\n      return navigate(forward, editor.getBody(), from).bind(function (to) {\n        return getParentCell(rootElm, SugarElement.fromDom(to.getNode())).map(function (toCell) {\n          return eq(toCell, fromCell) === false;\n        });\n      });\n    };\n    var emptyElement = function (editor, elm) {\n      fillWithPaddingBr(elm);\n      editor.selection.setCursorLocation(elm.dom, 0);\n      return Optional.some(true);\n    };\n    var isDeleteOfLastCharPos = function (fromCaption, forward, from, to) {\n      return firstPositionIn(fromCaption.dom).bind(function (first) {\n        return lastPositionIn(fromCaption.dom).map(function (last) {\n          return forward ? from.isEqual(first) && to.isEqual(last) : from.isEqual(last) && to.isEqual(first);\n        });\n      }).getOr(true);\n    };\n    var emptyCaretCaption = function (editor, elm) {\n      return emptyElement(editor, elm);\n    };\n    var validateCaretCaption = function (rootElm, fromCaption, to) {\n      return getParentCaption(rootElm, SugarElement.fromDom(to.getNode())).map(function (toCaption) {\n        return eq(toCaption, fromCaption) === false;\n      });\n    };\n    var deleteCaretInsideCaption = function (editor, rootElm, forward, fromCaption, from) {\n      return navigate(forward, editor.getBody(), from).bind(function (to) {\n        return isDeleteOfLastCharPos(fromCaption, forward, from, to) ? emptyCaretCaption(editor, fromCaption) : validateCaretCaption(rootElm, fromCaption, to);\n      }).or(Optional.some(true));\n    };\n    var deleteCaretCells = function (editor, forward, rootElm, startElm) {\n      var from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getParentCell(rootElm, startElm).bind(function (fromCell) {\n        return isEmpty$2(fromCell) ? emptyElement(editor, fromCell) : deleteBetweenCells(editor, rootElm, forward, fromCell, from);\n      }).getOr(false);\n    };\n    var deleteCaretCaption = function (editor, forward, rootElm, fromCaption) {\n      var from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isEmpty$2(fromCaption) ? emptyElement(editor, fromCaption) : deleteCaretInsideCaption(editor, rootElm, forward, fromCaption, from);\n    };\n    var isNearTable = function (forward, pos) {\n      return forward ? isBeforeTable(pos) : isAfterTable(pos);\n    };\n    var isBeforeOrAfterTable = function (editor, forward) {\n      var fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isNearTable(forward, fromPos) || fromPosition(forward, editor.getBody(), fromPos).exists(function (pos) {\n        return isNearTable(forward, pos);\n      });\n    };\n    var deleteCaret$3 = function (editor, forward, startElm) {\n      var rootElm = SugarElement.fromDom(editor.getBody());\n      return getParentCaption(rootElm, startElm).fold(function () {\n        return deleteCaretCells(editor, forward, rootElm, startElm) || isBeforeOrAfterTable(editor, forward);\n      }, function (fromCaption) {\n        return deleteCaretCaption(editor, forward, rootElm, fromCaption).getOr(false);\n      });\n    };\n    var backspaceDelete$9 = function (editor, forward) {\n      var startElm = SugarElement.fromDom(editor.selection.getStart(true));\n      var cells = getCellsFromEditor(editor);\n      return editor.selection.isCollapsed() && cells.length === 0 ? deleteCaret$3(editor, forward, startElm) : deleteRange$2(editor, startElm, cells);\n    };\n\n    var createRange = function (sc, so, ec, eo) {\n      var rng = document.createRange();\n      rng.setStart(sc, so);\n      rng.setEnd(ec, eo);\n      return rng;\n    };\n    var normalizeBlockSelectionRange = function (rng) {\n      var startPos = CaretPosition.fromRangeStart(rng);\n      var endPos = CaretPosition.fromRangeEnd(rng);\n      var rootNode = rng.commonAncestorContainer;\n      return fromPosition(false, rootNode, endPos).map(function (newEndPos) {\n        if (!isInSameBlock(startPos, endPos, rootNode) && isInSameBlock(startPos, newEndPos, rootNode)) {\n          return createRange(startPos.container(), startPos.offset(), newEndPos.container(), newEndPos.offset());\n        } else {\n          return rng;\n        }\n      }).getOr(rng);\n    };\n    var normalize = function (rng) {\n      return rng.collapsed ? rng : normalizeBlockSelectionRange(rng);\n    };\n\n    var hasOnlyOneChild$1 = function (node) {\n      return node.firstChild && node.firstChild === node.lastChild;\n    };\n    var isPaddingNode = function (node) {\n      return node.name === 'br' || node.value === nbsp;\n    };\n    var isPaddedEmptyBlock = function (schema, node) {\n      var blockElements = schema.getBlockElements();\n      return blockElements[node.name] && hasOnlyOneChild$1(node) && isPaddingNode(node.firstChild);\n    };\n    var isEmptyFragmentElement = function (schema, node) {\n      var nonEmptyElements = schema.getNonEmptyElements();\n      return node && (node.isEmpty(nonEmptyElements) || isPaddedEmptyBlock(schema, node));\n    };\n    var isListFragment = function (schema, fragment) {\n      var firstChild = fragment.firstChild;\n      var lastChild = fragment.lastChild;\n      if (firstChild && firstChild.name === 'meta') {\n        firstChild = firstChild.next;\n      }\n      if (lastChild && lastChild.attr('id') === 'mce_marker') {\n        lastChild = lastChild.prev;\n      }\n      if (isEmptyFragmentElement(schema, lastChild)) {\n        lastChild = lastChild.prev;\n      }\n      if (!firstChild || firstChild !== lastChild) {\n        return false;\n      }\n      return firstChild.name === 'ul' || firstChild.name === 'ol';\n    };\n    var cleanupDomFragment = function (domFragment) {\n      var firstChild = domFragment.firstChild;\n      var lastChild = domFragment.lastChild;\n      if (firstChild && firstChild.nodeName === 'META') {\n        firstChild.parentNode.removeChild(firstChild);\n      }\n      if (lastChild && lastChild.id === 'mce_marker') {\n        lastChild.parentNode.removeChild(lastChild);\n      }\n      return domFragment;\n    };\n    var toDomFragment = function (dom, serializer, fragment) {\n      var html = serializer.serialize(fragment);\n      var domFragment = dom.createFragment(html);\n      return cleanupDomFragment(domFragment);\n    };\n    var listItems = function (elm) {\n      return filter$4(elm.childNodes, function (child) {\n        return child.nodeName === 'LI';\n      });\n    };\n    var isPadding = function (node) {\n      return node.data === nbsp || isBr$5(node);\n    };\n    var isListItemPadded = function (node) {\n      return node && node.firstChild && node.firstChild === node.lastChild && isPadding(node.firstChild);\n    };\n    var isEmptyOrPadded = function (elm) {\n      return !elm.firstChild || isListItemPadded(elm);\n    };\n    var trimListItems = function (elms) {\n      return elms.length > 0 && isEmptyOrPadded(elms[elms.length - 1]) ? elms.slice(0, -1) : elms;\n    };\n    var getParentLi = function (dom, node) {\n      var parentBlock = dom.getParent(node, dom.isBlock);\n      return parentBlock && parentBlock.nodeName === 'LI' ? parentBlock : null;\n    };\n    var isParentBlockLi = function (dom, node) {\n      return !!getParentLi(dom, node);\n    };\n    var getSplit = function (parentNode, rng) {\n      var beforeRng = rng.cloneRange();\n      var afterRng = rng.cloneRange();\n      beforeRng.setStartBefore(parentNode);\n      afterRng.setEndAfter(parentNode);\n      return [\n        beforeRng.cloneContents(),\n        afterRng.cloneContents()\n      ];\n    };\n    var findFirstIn = function (node, rootNode) {\n      var caretPos = CaretPosition.before(node);\n      var caretWalker = CaretWalker(rootNode);\n      var newCaretPos = caretWalker.next(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    var findLastOf = function (node, rootNode) {\n      var caretPos = CaretPosition.after(node);\n      var caretWalker = CaretWalker(rootNode);\n      var newCaretPos = caretWalker.prev(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    var insertMiddle = function (target, elms, rootNode, rng) {\n      var parts = getSplit(target, rng);\n      var parentElm = target.parentNode;\n      parentElm.insertBefore(parts[0], target);\n      Tools.each(elms, function (li) {\n        parentElm.insertBefore(li, target);\n      });\n      parentElm.insertBefore(parts[1], target);\n      parentElm.removeChild(target);\n      return findLastOf(elms[elms.length - 1], rootNode);\n    };\n    var insertBefore$1 = function (target, elms, rootNode) {\n      var parentElm = target.parentNode;\n      Tools.each(elms, function (elm) {\n        parentElm.insertBefore(elm, target);\n      });\n      return findFirstIn(target, rootNode);\n    };\n    var insertAfter$1 = function (target, elms, rootNode, dom) {\n      dom.insertAfter(elms.reverse(), target);\n      return findLastOf(elms[0], rootNode);\n    };\n    var insertAtCaret$1 = function (serializer, dom, rng, fragment) {\n      var domFragment = toDomFragment(dom, serializer, fragment);\n      var liTarget = getParentLi(dom, rng.startContainer);\n      var liElms = trimListItems(listItems(domFragment.firstChild));\n      var BEGINNING = 1, END = 2;\n      var rootNode = dom.getRoot();\n      var isAt = function (location) {\n        var caretPos = CaretPosition.fromRangeStart(rng);\n        var caretWalker = CaretWalker(dom.getRoot());\n        var newPos = location === BEGINNING ? caretWalker.prev(caretPos) : caretWalker.next(caretPos);\n        return newPos ? getParentLi(dom, newPos.getNode()) !== liTarget : true;\n      };\n      if (isAt(BEGINNING)) {\n        return insertBefore$1(liTarget, liElms, rootNode);\n      } else if (isAt(END)) {\n        return insertAfter$1(liTarget, liElms, rootNode, dom);\n      }\n      return insertMiddle(liTarget, liElms, rootNode, rng);\n    };\n\n    var trimOrPadLeftRight = function (dom, rng, html) {\n      var root = SugarElement.fromDom(dom.getRoot());\n      if (needsToBeNbspLeft(root, CaretPosition.fromRangeStart(rng))) {\n        html = html.replace(/^ /, '&nbsp;');\n      } else {\n        html = html.replace(/^&nbsp;/, ' ');\n      }\n      if (needsToBeNbspRight(root, CaretPosition.fromRangeEnd(rng))) {\n        html = html.replace(/(&nbsp;| )(<br( \\/)>)?$/, '&nbsp;');\n      } else {\n        html = html.replace(/&nbsp;(<br( \\/)?>)?$/, ' ');\n      }\n      return html;\n    };\n\n    var isTableCell$1 = isTableCell$5;\n    var isTableCellContentSelected = function (dom, rng, cell) {\n      if (cell !== null) {\n        var endCell = dom.getParent(rng.endContainer, isTableCell$1);\n        return cell === endCell && hasAllContentsSelected(SugarElement.fromDom(cell), rng);\n      } else {\n        return false;\n      }\n    };\n    var validInsertion = function (editor, value, parentNode) {\n      if (parentNode.getAttribute('data-mce-bogus') === 'all') {\n        parentNode.parentNode.insertBefore(editor.dom.createFragment(value), parentNode);\n      } else {\n        var node = parentNode.firstChild;\n        var node2 = parentNode.lastChild;\n        if (!node || node === node2 && node.nodeName === 'BR') {\n          editor.dom.setHTML(parentNode, value);\n        } else {\n          editor.selection.setContent(value);\n        }\n      }\n    };\n    var trimBrsFromTableCell = function (dom, elm) {\n      Optional.from(dom.getParent(elm, 'td,th')).map(SugarElement.fromDom).each(trimBlockTrailingBr);\n    };\n    var reduceInlineTextElements = function (editor, merge) {\n      var textInlineElements = editor.schema.getTextInlineElements();\n      var dom = editor.dom;\n      if (merge) {\n        var root_1 = editor.getBody();\n        var elementUtils_1 = ElementUtils(dom);\n        Tools.each(dom.select('*[data-mce-fragment]'), function (node) {\n          var isInline = isNonNullable(textInlineElements[node.nodeName.toLowerCase()]);\n          if (isInline && hasInheritableStyles(dom, node)) {\n            for (var parentNode = node.parentNode; isNonNullable(parentNode) && parentNode !== root_1; parentNode = parentNode.parentNode) {\n              var styleConflict = hasStyleConflict(dom, node, parentNode);\n              if (styleConflict) {\n                break;\n              }\n              if (elementUtils_1.compare(parentNode, node)) {\n                dom.remove(node, true);\n                break;\n              }\n            }\n          }\n        });\n      }\n    };\n    var markFragmentElements = function (fragment) {\n      var node = fragment;\n      while (node = node.walk()) {\n        if (node.type === 1) {\n          node.attr('data-mce-fragment', '1');\n        }\n      }\n    };\n    var unmarkFragmentElements = function (elm) {\n      Tools.each(elm.getElementsByTagName('*'), function (elm) {\n        elm.removeAttribute('data-mce-fragment');\n      });\n    };\n    var isPartOfFragment = function (node) {\n      return !!node.getAttribute('data-mce-fragment');\n    };\n    var canHaveChildren = function (editor, node) {\n      return node && !editor.schema.getShortEndedElements()[node.nodeName];\n    };\n    var moveSelectionToMarker = function (editor, marker) {\n      var nextRng;\n      var dom = editor.dom;\n      var selection = editor.selection;\n      if (!marker) {\n        return;\n      }\n      selection.scrollIntoView(marker);\n      var parentEditableElm = getContentEditableRoot$1(editor.getBody(), marker);\n      if (dom.getContentEditable(parentEditableElm) === 'false') {\n        dom.remove(marker);\n        selection.select(parentEditableElm);\n        return;\n      }\n      var rng = dom.createRng();\n      var node = marker.previousSibling;\n      if (isText$7(node)) {\n        rng.setStart(node, node.nodeValue.length);\n        if (!Env.ie) {\n          var node2 = marker.nextSibling;\n          if (isText$7(node2)) {\n            node.appendData(node2.data);\n            node2.parentNode.removeChild(node2);\n          }\n        }\n      } else {\n        rng.setStartBefore(marker);\n        rng.setEndBefore(marker);\n      }\n      var findNextCaretRng = function (rng) {\n        var caretPos = CaretPosition.fromRangeStart(rng);\n        var caretWalker = CaretWalker(editor.getBody());\n        caretPos = caretWalker.next(caretPos);\n        if (caretPos) {\n          return caretPos.toRange();\n        }\n      };\n      var parentBlock = dom.getParent(marker, dom.isBlock);\n      dom.remove(marker);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        editor.$(parentBlock).empty();\n        rng.setStart(parentBlock, 0);\n        rng.setEnd(parentBlock, 0);\n        if (!isTableCell$1(parentBlock) && !isPartOfFragment(parentBlock) && (nextRng = findNextCaretRng(rng))) {\n          rng = nextRng;\n          dom.remove(parentBlock);\n        } else {\n          dom.add(parentBlock, dom.create('br', { 'data-mce-bogus': '1' }));\n        }\n      }\n      selection.setRng(rng);\n    };\n    var deleteSelectedContent = function (editor) {\n      var dom = editor.dom;\n      var rng = normalize(editor.selection.getRng());\n      editor.selection.setRng(rng);\n      var startCell = dom.getParent(rng.startContainer, isTableCell$1);\n      if (isTableCellContentSelected(dom, rng, startCell)) {\n        deleteCellContents(editor, rng, SugarElement.fromDom(startCell));\n      } else {\n        editor.getDoc().execCommand('Delete', false, null);\n      }\n    };\n    var insertHtmlAtCaret = function (editor, value, details) {\n      var parentNode;\n      var rng, node;\n      var selection = editor.selection;\n      var dom = editor.dom;\n      if (/^ | $/.test(value)) {\n        value = trimOrPadLeftRight(dom, selection.getRng(), value);\n      }\n      var parser = editor.parser;\n      var merge = details.merge;\n      var serializer = HtmlSerializer({ validate: shouldValidate(editor) }, editor.schema);\n      var bookmarkHtml = '<span id=\"mce_marker\" data-mce-type=\"bookmark\">&#xFEFF;</span>';\n      var args = editor.fire('BeforeSetContent', {\n        content: value,\n        format: 'html',\n        selection: true,\n        paste: details.paste\n      });\n      if (args.isDefaultPrevented()) {\n        editor.fire('SetContent', {\n          content: args.content,\n          format: 'html',\n          selection: true,\n          paste: details.paste\n        });\n        return;\n      }\n      value = args.content;\n      if (value.indexOf('{$caret}') === -1) {\n        value += '{$caret}';\n      }\n      value = value.replace(/\\{\\$caret\\}/, bookmarkHtml);\n      rng = selection.getRng();\n      var caretElement = rng.startContainer || (rng.parentElement ? rng.parentElement() : null);\n      var body = editor.getBody();\n      if (caretElement === body && selection.isCollapsed()) {\n        if (dom.isBlock(body.firstChild) && canHaveChildren(editor, body.firstChild) && dom.isEmpty(body.firstChild)) {\n          rng = dom.createRng();\n          rng.setStart(body.firstChild, 0);\n          rng.setEnd(body.firstChild, 0);\n          selection.setRng(rng);\n        }\n      }\n      if (!selection.isCollapsed()) {\n        deleteSelectedContent(editor);\n      }\n      parentNode = selection.getNode();\n      var parserArgs = {\n        context: parentNode.nodeName.toLowerCase(),\n        data: details.data,\n        insert: true\n      };\n      var fragment = parser.parse(value, parserArgs);\n      if (details.paste === true && isListFragment(editor.schema, fragment) && isParentBlockLi(dom, parentNode)) {\n        rng = insertAtCaret$1(serializer, dom, selection.getRng(), fragment);\n        selection.setRng(rng);\n        editor.fire('SetContent', args);\n        return;\n      }\n      markFragmentElements(fragment);\n      node = fragment.lastChild;\n      if (node.attr('id') === 'mce_marker') {\n        var marker = node;\n        for (node = node.prev; node; node = node.walk(true)) {\n          if (node.type === 3 || !dom.isBlock(node.name)) {\n            if (editor.schema.isValidChild(node.parent.name, 'span')) {\n              node.parent.insert(marker, node, node.name === 'br');\n            }\n            break;\n          }\n        }\n      }\n      editor._selectionOverrides.showBlockCaretContainer(parentNode);\n      if (!parserArgs.invalid) {\n        value = serializer.serialize(fragment);\n        validInsertion(editor, value, parentNode);\n      } else {\n        editor.selection.setContent(bookmarkHtml);\n        parentNode = selection.getNode();\n        var rootNode = editor.getBody();\n        if (parentNode.nodeType === 9) {\n          parentNode = node = rootNode;\n        } else {\n          node = parentNode;\n        }\n        while (node !== rootNode) {\n          parentNode = node;\n          node = node.parentNode;\n        }\n        value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode);\n        value = serializer.serialize(parser.parse(value.replace(/<span (id=\"mce_marker\"|id=mce_marker).+?<\\/span>/i, function () {\n          return serializer.serialize(fragment);\n        })));\n        if (parentNode === rootNode) {\n          dom.setHTML(rootNode, value);\n        } else {\n          dom.setOuterHTML(parentNode, value);\n        }\n      }\n      reduceInlineTextElements(editor, merge);\n      moveSelectionToMarker(editor, dom.get('mce_marker'));\n      unmarkFragmentElements(editor.getBody());\n      trimBrsFromTableCell(dom, selection.getStart());\n      editor.fire('SetContent', args);\n      editor.addVisual();\n    };\n\n    var traverse = function (node, fn) {\n      fn(node);\n      if (node.firstChild) {\n        traverse(node.firstChild, fn);\n      }\n      if (node.next) {\n        traverse(node.next, fn);\n      }\n    };\n    var findMatchingNodes = function (nodeFilters, attributeFilters, node) {\n      var nodeMatches = {};\n      var attrMatches = {};\n      var matches = [];\n      if (node.firstChild) {\n        traverse(node.firstChild, function (node) {\n          each$k(nodeFilters, function (filter) {\n            if (filter.name === node.name) {\n              if (nodeMatches[filter.name]) {\n                nodeMatches[filter.name].nodes.push(node);\n              } else {\n                nodeMatches[filter.name] = {\n                  filter: filter,\n                  nodes: [node]\n                };\n              }\n            }\n          });\n          each$k(attributeFilters, function (filter) {\n            if (typeof node.attr(filter.name) === 'string') {\n              if (attrMatches[filter.name]) {\n                attrMatches[filter.name].nodes.push(node);\n              } else {\n                attrMatches[filter.name] = {\n                  filter: filter,\n                  nodes: [node]\n                };\n              }\n            }\n          });\n        });\n      }\n      for (var name_1 in nodeMatches) {\n        if (has$2(nodeMatches, name_1)) {\n          matches.push(nodeMatches[name_1]);\n        }\n      }\n      for (var name_2 in attrMatches) {\n        if (has$2(attrMatches, name_2)) {\n          matches.push(attrMatches[name_2]);\n        }\n      }\n      return matches;\n    };\n    var filter$1 = function (nodeFilters, attributeFilters, node) {\n      var matches = findMatchingNodes(nodeFilters, attributeFilters, node);\n      each$k(matches, function (match) {\n        each$k(match.filter.callbacks, function (callback) {\n          callback(match.nodes, match.filter.name, {});\n        });\n      });\n    };\n\n    var defaultFormat$1 = 'html';\n    var isTreeNode = function (content) {\n      return content instanceof AstNode;\n    };\n    var moveSelection = function (editor) {\n      if (hasFocus(editor)) {\n        firstPositionIn(editor.getBody()).each(function (pos) {\n          var node = pos.getNode();\n          var caretPos = isTable$3(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    var setEditorHtml = function (editor, html, noSelection) {\n      editor.dom.setHTML(editor.getBody(), html);\n      if (noSelection !== true) {\n        moveSelection(editor);\n      }\n    };\n    var setContentString = function (editor, body, content, args) {\n      if (content.length === 0 || /^\\s+$/.test(content)) {\n        var padd = '<br data-mce-bogus=\"1\">';\n        if (body.nodeName === 'TABLE') {\n          content = '<tr><td>' + padd + '</td></tr>';\n        } else if (/^(UL|OL)$/.test(body.nodeName)) {\n          content = '<li>' + padd + '</li>';\n        }\n        var forcedRootBlockName = getForcedRootBlock(editor);\n        if (forcedRootBlockName && editor.schema.isValidChild(body.nodeName.toLowerCase(), forcedRootBlockName.toLowerCase())) {\n          content = padd;\n          content = editor.dom.createHTML(forcedRootBlockName, getForcedRootBlockAttrs(editor), content);\n        } else if (!content) {\n          content = '<br data-mce-bogus=\"1\">';\n        }\n        setEditorHtml(editor, content, args.no_selection);\n        editor.fire('SetContent', args);\n      } else {\n        if (args.format !== 'raw') {\n          content = HtmlSerializer({ validate: editor.validate }, editor.schema).serialize(editor.parser.parse(content, {\n            isRootContent: true,\n            insert: true\n          }));\n        }\n        args.content = isWsPreserveElement(SugarElement.fromDom(body)) ? content : Tools.trim(content);\n        setEditorHtml(editor, args.content, args.no_selection);\n        if (!args.no_events) {\n          editor.fire('SetContent', args);\n        }\n      }\n      return args.content;\n    };\n    var setContentTree = function (editor, body, content, args) {\n      filter$1(editor.parser.getNodeFilters(), editor.parser.getAttributeFilters(), content);\n      var html = HtmlSerializer({ validate: editor.validate }, editor.schema).serialize(content);\n      args.content = isWsPreserveElement(SugarElement.fromDom(body)) ? html : Tools.trim(html);\n      setEditorHtml(editor, args.content, args.no_selection);\n      if (!args.no_events) {\n        editor.fire('SetContent', args);\n      }\n      return content;\n    };\n    var setupArgs$2 = function (args, content) {\n      return __assign(__assign({ format: defaultFormat$1 }, args), {\n        set: true,\n        content: isTreeNode(content) ? '' : content\n      });\n    };\n    var setContentInternal = function (editor, content, args) {\n      var defaultedArgs = setupArgs$2(args, content);\n      var updatedArgs = args.no_events ? defaultedArgs : editor.fire('BeforeSetContent', defaultedArgs);\n      if (!isTreeNode(content)) {\n        content = updatedArgs.content;\n      }\n      return Optional.from(editor.getBody()).fold(constant(content), function (body) {\n        return isTreeNode(content) ? setContentTree(editor, body, content, updatedArgs) : setContentString(editor, body, content, updatedArgs);\n      });\n    };\n\n    var sibling = function (scope, predicate) {\n      return sibling$2(scope, predicate).isSome();\n    };\n\n    var ensureIsRoot = function (isRoot) {\n      return isFunction(isRoot) ? isRoot : never;\n    };\n    var ancestor = function (scope, transform, isRoot) {\n      var element = scope.dom;\n      var stop = ensureIsRoot(isRoot);\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = SugarElement.fromDom(element);\n        var transformed = transform(el);\n        if (transformed.isSome()) {\n          return transformed;\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    var closest$1 = function (scope, transform, isRoot) {\n      var current = transform(scope);\n      var stop = ensureIsRoot(isRoot);\n      return current.orThunk(function () {\n        return stop(scope) ? Optional.none() : ancestor(scope, transform, stop);\n      });\n    };\n\n    var isEq$3 = isEq$5;\n    var matchesUnInheritedFormatSelector = function (ed, node, name) {\n      var formatList = ed.formatter.get(name);\n      if (formatList) {\n        for (var i = 0; i < formatList.length; i++) {\n          var format = formatList[i];\n          if (isSelectorFormat(format) && format.inherit === false && ed.dom.is(node, format.selector)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    var matchParents = function (editor, node, name, vars, similar) {\n      var root = editor.dom.getRoot();\n      if (node === root) {\n        return false;\n      }\n      node = editor.dom.getParent(node, function (node) {\n        if (matchesUnInheritedFormatSelector(editor, node, name)) {\n          return true;\n        }\n        return node.parentNode === root || !!matchNode(editor, node, name, vars, true);\n      });\n      return !!matchNode(editor, node, name, vars, similar);\n    };\n    var matchName$1 = function (dom, node, format) {\n      if (isEq$3(node, format.inline)) {\n        return true;\n      }\n      if (isEq$3(node, format.block)) {\n        return true;\n      }\n      if (format.selector) {\n        return node.nodeType === 1 && dom.is(node, format.selector);\n      }\n    };\n    var matchItems = function (dom, node, format, itemName, similar, vars) {\n      var items = format[itemName];\n      if (isFunction(format.onmatch)) {\n        return format.onmatch(node, format, itemName);\n      }\n      if (items) {\n        if (isUndefined(items.length)) {\n          for (var key in items) {\n            if (has$2(items, key)) {\n              var value = itemName === 'attributes' ? dom.getAttrib(node, key) : getStyle(dom, node, key);\n              var expectedValue = replaceVars(items[key], vars);\n              var isEmptyValue = isNullable(value) || isEmpty$3(value);\n              if (isEmptyValue && isNullable(expectedValue)) {\n                continue;\n              }\n              if (similar && isEmptyValue && !format.exact) {\n                return false;\n              }\n              if ((!similar || format.exact) && !isEq$3(value, normalizeStyleValue(dom, expectedValue, key))) {\n                return false;\n              }\n            }\n          }\n        } else {\n          for (var i = 0; i < items.length; i++) {\n            if (itemName === 'attributes' ? dom.getAttrib(node, items[i]) : getStyle(dom, node, items[i])) {\n              return true;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    var matchNode = function (ed, node, name, vars, similar) {\n      var formatList = ed.formatter.get(name);\n      var dom = ed.dom;\n      if (formatList && node) {\n        for (var i = 0; i < formatList.length; i++) {\n          var format = formatList[i];\n          if (matchName$1(ed.dom, node, format) && matchItems(dom, node, format, 'attributes', similar, vars) && matchItems(dom, node, format, 'styles', similar, vars)) {\n            var classes = format.classes;\n            if (classes) {\n              for (var x = 0; x < classes.length; x++) {\n                if (!ed.dom.hasClass(node, replaceVars(classes[x], vars))) {\n                  return;\n                }\n              }\n            }\n            return format;\n          }\n        }\n      }\n    };\n    var match$2 = function (editor, name, vars, node, similar) {\n      if (node) {\n        return matchParents(editor, node, name, vars, similar);\n      }\n      node = editor.selection.getNode();\n      if (matchParents(editor, node, name, vars, similar)) {\n        return true;\n      }\n      var startNode = editor.selection.getStart();\n      if (startNode !== node) {\n        if (matchParents(editor, startNode, name, vars, similar)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var matchAll = function (editor, names, vars) {\n      var matchedFormatNames = [];\n      var checkedMap = {};\n      var startElement = editor.selection.getStart();\n      editor.dom.getParent(startElement, function (node) {\n        for (var i = 0; i < names.length; i++) {\n          var name_1 = names[i];\n          if (!checkedMap[name_1] && matchNode(editor, node, name_1, vars)) {\n            checkedMap[name_1] = true;\n            matchedFormatNames.push(name_1);\n          }\n        }\n      }, editor.dom.getRoot());\n      return matchedFormatNames;\n    };\n    var closest = function (editor, names) {\n      var isRoot = function (elm) {\n        return eq(elm, SugarElement.fromDom(editor.getBody()));\n      };\n      var match = function (elm, name) {\n        return matchNode(editor, elm.dom, name) ? Optional.some(name) : Optional.none();\n      };\n      return Optional.from(editor.selection.getStart(true)).bind(function (rawElm) {\n        return closest$1(SugarElement.fromDom(rawElm), function (elm) {\n          return findMap(names, function (name) {\n            return match(elm, name);\n          });\n        }, isRoot);\n      }).getOrNull();\n    };\n    var canApply = function (editor, name) {\n      var formatList = editor.formatter.get(name);\n      var dom = editor.dom;\n      if (formatList) {\n        var startNode = editor.selection.getStart();\n        var parents = getParents$2(dom, startNode);\n        for (var x = formatList.length - 1; x >= 0; x--) {\n          var format = formatList[x];\n          if (!isSelectorFormat(format) || isNonNullable(format.defaultBlock)) {\n            return true;\n          }\n          for (var i = parents.length - 1; i >= 0; i--) {\n            if (dom.is(parents[i], format.selector)) {\n              return true;\n            }\n          }\n        }\n      }\n      return false;\n    };\n    var matchAllOnNode = function (editor, node, formatNames) {\n      return foldl(formatNames, function (acc, name) {\n        var matchSimilar = isVariableFormatName(editor, name);\n        if (editor.formatter.matchNode(node, name, {}, matchSimilar)) {\n          return acc.concat([name]);\n        } else {\n          return acc;\n        }\n      }, []);\n    };\n\n    var ZWSP = ZWSP$1, CARET_ID = '_mce_caret';\n    var importNode = function (ownerDocument, node) {\n      return ownerDocument.importNode(node, true);\n    };\n    var getEmptyCaretContainers = function (node) {\n      var nodes = [];\n      while (node) {\n        if (node.nodeType === 3 && node.nodeValue !== ZWSP || node.childNodes.length > 1) {\n          return [];\n        }\n        if (node.nodeType === 1) {\n          nodes.push(node);\n        }\n        node = node.firstChild;\n      }\n      return nodes;\n    };\n    var isCaretContainerEmpty = function (node) {\n      return getEmptyCaretContainers(node).length > 0;\n    };\n    var findFirstTextNode = function (node) {\n      if (node) {\n        var walker = new DomTreeWalker(node, node);\n        for (node = walker.current(); node; node = walker.next()) {\n          if (isText$7(node)) {\n            return node;\n          }\n        }\n      }\n      return null;\n    };\n    var createCaretContainer = function (fill) {\n      var caretContainer = SugarElement.fromTag('span');\n      setAll$1(caretContainer, {\n        'id': CARET_ID,\n        'data-mce-bogus': '1',\n        'data-mce-type': 'format-caret'\n      });\n      if (fill) {\n        append$1(caretContainer, SugarElement.fromText(ZWSP));\n      }\n      return caretContainer;\n    };\n    var trimZwspFromCaretContainer = function (caretContainerNode) {\n      var textNode = findFirstTextNode(caretContainerNode);\n      if (textNode && textNode.nodeValue.charAt(0) === ZWSP) {\n        textNode.deleteData(0, 1);\n      }\n      return textNode;\n    };\n    var removeCaretContainerNode = function (editor, node, moveCaret) {\n      if (moveCaret === void 0) {\n        moveCaret = true;\n      }\n      var dom = editor.dom, selection = editor.selection;\n      if (isCaretContainerEmpty(node)) {\n        deleteElement$2(editor, false, SugarElement.fromDom(node), moveCaret);\n      } else {\n        var rng = selection.getRng();\n        var block = dom.getParent(node, dom.isBlock);\n        var startContainer = rng.startContainer;\n        var startOffset = rng.startOffset;\n        var endContainer = rng.endContainer;\n        var endOffset = rng.endOffset;\n        var textNode = trimZwspFromCaretContainer(node);\n        dom.remove(node, true);\n        if (startContainer === textNode && startOffset > 0) {\n          rng.setStart(textNode, startOffset - 1);\n        }\n        if (endContainer === textNode && endOffset > 0) {\n          rng.setEnd(textNode, endOffset - 1);\n        }\n        if (block && dom.isEmpty(block)) {\n          fillWithPaddingBr(SugarElement.fromDom(block));\n        }\n        selection.setRng(rng);\n      }\n    };\n    var removeCaretContainer = function (editor, node, moveCaret) {\n      if (moveCaret === void 0) {\n        moveCaret = true;\n      }\n      var dom = editor.dom, selection = editor.selection;\n      if (!node) {\n        node = getParentCaretContainer(editor.getBody(), selection.getStart());\n        if (!node) {\n          while (node = dom.get(CARET_ID)) {\n            removeCaretContainerNode(editor, node, false);\n          }\n        }\n      } else {\n        removeCaretContainerNode(editor, node, moveCaret);\n      }\n    };\n    var insertCaretContainerNode = function (editor, caretContainer, formatNode) {\n      var dom = editor.dom, block = dom.getParent(formatNode, curry(isTextBlock$1, editor));\n      if (block && dom.isEmpty(block)) {\n        formatNode.parentNode.replaceChild(caretContainer, formatNode);\n      } else {\n        removeTrailingBr(SugarElement.fromDom(formatNode));\n        if (dom.isEmpty(formatNode)) {\n          formatNode.parentNode.replaceChild(caretContainer, formatNode);\n        } else {\n          dom.insertAfter(caretContainer, formatNode);\n        }\n      }\n    };\n    var appendNode = function (parentNode, node) {\n      parentNode.appendChild(node);\n      return node;\n    };\n    var insertFormatNodesIntoCaretContainer = function (formatNodes, caretContainer) {\n      var innerMostFormatNode = foldr(formatNodes, function (parentNode, formatNode) {\n        return appendNode(parentNode, formatNode.cloneNode(false));\n      }, caretContainer);\n      return appendNode(innerMostFormatNode, innerMostFormatNode.ownerDocument.createTextNode(ZWSP));\n    };\n    var cleanFormatNode = function (editor, caretContainer, formatNode, name, vars, similar) {\n      var formatter = editor.formatter;\n      var dom = editor.dom;\n      var validFormats = filter$4(keys(formatter.get()), function (formatName) {\n        return formatName !== name && !contains$2(formatName, 'removeformat');\n      });\n      var matchedFormats = matchAllOnNode(editor, formatNode, validFormats);\n      var uniqueFormats = filter$4(matchedFormats, function (fmtName) {\n        return !areSimilarFormats(editor, fmtName, name);\n      });\n      if (uniqueFormats.length > 0) {\n        var clonedFormatNode = formatNode.cloneNode(false);\n        dom.add(caretContainer, clonedFormatNode);\n        formatter.remove(name, vars, clonedFormatNode, similar);\n        dom.remove(clonedFormatNode);\n        return Optional.some(clonedFormatNode);\n      } else {\n        return Optional.none();\n      }\n    };\n    var applyCaretFormat = function (editor, name, vars) {\n      var caretContainer, textNode;\n      var selection = editor.selection;\n      var selectionRng = selection.getRng();\n      var offset = selectionRng.startOffset;\n      var container = selectionRng.startContainer;\n      var text = container.nodeValue;\n      caretContainer = getParentCaretContainer(editor.getBody(), selection.getStart());\n      if (caretContainer) {\n        textNode = findFirstTextNode(caretContainer);\n      }\n      var wordcharRegex = /[^\\s\\u00a0\\u00ad\\u200b\\ufeff]/;\n      if (text && offset > 0 && offset < text.length && wordcharRegex.test(text.charAt(offset)) && wordcharRegex.test(text.charAt(offset - 1))) {\n        var bookmark = selection.getBookmark();\n        selectionRng.collapse(true);\n        var rng = expandRng(editor, selectionRng, editor.formatter.get(name));\n        rng = split(rng);\n        editor.formatter.apply(name, vars, rng);\n        selection.moveToBookmark(bookmark);\n      } else {\n        if (!caretContainer || textNode.nodeValue !== ZWSP) {\n          caretContainer = importNode(editor.getDoc(), createCaretContainer(true).dom);\n          textNode = caretContainer.firstChild;\n          selectionRng.insertNode(caretContainer);\n          offset = 1;\n          editor.formatter.apply(name, vars, caretContainer);\n        } else {\n          editor.formatter.apply(name, vars, caretContainer);\n        }\n        selection.setCursorLocation(textNode, offset);\n      }\n    };\n    var removeCaretFormat = function (editor, name, vars, similar) {\n      var dom = editor.dom;\n      var selection = editor.selection;\n      var hasContentAfter, node, formatNode;\n      var parents = [];\n      var rng = selection.getRng();\n      var container = rng.startContainer;\n      var offset = rng.startOffset;\n      node = container;\n      if (container.nodeType === 3) {\n        if (offset !== container.nodeValue.length) {\n          hasContentAfter = true;\n        }\n        node = node.parentNode;\n      }\n      while (node) {\n        if (matchNode(editor, node, name, vars, similar)) {\n          formatNode = node;\n          break;\n        }\n        if (node.nextSibling) {\n          hasContentAfter = true;\n        }\n        parents.push(node);\n        node = node.parentNode;\n      }\n      if (!formatNode) {\n        return;\n      }\n      if (hasContentAfter) {\n        var bookmark = selection.getBookmark();\n        rng.collapse(true);\n        var expandedRng = expandRng(editor, rng, editor.formatter.get(name), true);\n        expandedRng = split(expandedRng);\n        editor.formatter.remove(name, vars, expandedRng, similar);\n        selection.moveToBookmark(bookmark);\n      } else {\n        var caretContainer = getParentCaretContainer(editor.getBody(), formatNode);\n        var newCaretContainer = createCaretContainer(false).dom;\n        insertCaretContainerNode(editor, newCaretContainer, caretContainer !== null ? caretContainer : formatNode);\n        var cleanedFormatNode = cleanFormatNode(editor, newCaretContainer, formatNode, name, vars, similar);\n        var caretTextNode = insertFormatNodesIntoCaretContainer(parents.concat(cleanedFormatNode.toArray()), newCaretContainer);\n        removeCaretContainerNode(editor, caretContainer, false);\n        selection.setCursorLocation(caretTextNode, 1);\n        if (dom.isEmpty(formatNode)) {\n          dom.remove(formatNode);\n        }\n      }\n    };\n    var disableCaretContainer = function (editor, keyCode) {\n      var selection = editor.selection, body = editor.getBody();\n      removeCaretContainer(editor, null, false);\n      if ((keyCode === 8 || keyCode === 46) && selection.isCollapsed() && selection.getStart().innerHTML === ZWSP) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()));\n      }\n      if (keyCode === 37 || keyCode === 39) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()));\n      }\n    };\n    var setup$k = function (editor) {\n      editor.on('mouseup keydown', function (e) {\n        disableCaretContainer(editor, e.keyCode);\n      });\n    };\n    var replaceWithCaretFormat = function (targetNode, formatNodes) {\n      var caretContainer = createCaretContainer(false);\n      var innerMost = insertFormatNodesIntoCaretContainer(formatNodes, caretContainer.dom);\n      before$4(SugarElement.fromDom(targetNode), caretContainer);\n      remove$7(SugarElement.fromDom(targetNode));\n      return CaretPosition(innerMost, 0);\n    };\n    var isFormatElement = function (editor, element) {\n      var inlineElements = editor.schema.getTextInlineElements();\n      return has$2(inlineElements, name(element)) && !isCaretNode(element.dom) && !isBogus$2(element.dom);\n    };\n    var isEmptyCaretFormatElement = function (element) {\n      return isCaretNode(element.dom) && isCaretContainerEmpty(element.dom);\n    };\n\n    var postProcessHooks = {};\n    var filter = filter$2;\n    var each$b = each$i;\n    var addPostProcessHook = function (name, hook) {\n      var hooks = postProcessHooks[name];\n      if (!hooks) {\n        postProcessHooks[name] = [];\n      }\n      postProcessHooks[name].push(hook);\n    };\n    var postProcess$1 = function (name, editor) {\n      each$b(postProcessHooks[name], function (hook) {\n        hook(editor);\n      });\n    };\n    addPostProcessHook('pre', function (editor) {\n      var rng = editor.selection.getRng();\n      var blocks;\n      var hasPreSibling = function (pre) {\n        return isPre(pre.previousSibling) && indexOf$1(blocks, pre.previousSibling) !== -1;\n      };\n      var joinPre = function (pre1, pre2) {\n        DomQuery(pre2).remove();\n        DomQuery(pre1).append('<br><br>').append(pre2.childNodes);\n      };\n      var isPre = matchNodeNames(['pre']);\n      if (!rng.collapsed) {\n        blocks = editor.selection.getSelectedBlocks();\n        each$b(filter(filter(blocks, isPre), hasPreSibling), function (pre) {\n          joinPre(pre.previousSibling, pre);\n        });\n      }\n    });\n\n    var each$a = Tools.each;\n    var isElementNode$1 = function (node) {\n      return isElement$5(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    };\n    var findElementSibling = function (node, siblingName) {\n      for (var sibling = node; sibling; sibling = sibling[siblingName]) {\n        if (isText$7(sibling) && isNotEmpty(sibling.data)) {\n          return node;\n        }\n        if (isElement$5(sibling) && !isBookmarkNode$1(sibling)) {\n          return sibling;\n        }\n      }\n      return node;\n    };\n    var mergeSiblingsNodes = function (dom, prev, next) {\n      var elementUtils = ElementUtils(dom);\n      if (prev && next) {\n        prev = findElementSibling(prev, 'previousSibling');\n        next = findElementSibling(next, 'nextSibling');\n        if (elementUtils.compare(prev, next)) {\n          for (var sibling = prev.nextSibling; sibling && sibling !== next;) {\n            var tmpSibling = sibling;\n            sibling = sibling.nextSibling;\n            prev.appendChild(tmpSibling);\n          }\n          dom.remove(next);\n          Tools.each(Tools.grep(next.childNodes), function (node) {\n            prev.appendChild(node);\n          });\n          return prev;\n        }\n      }\n      return next;\n    };\n    var mergeSiblings = function (dom, format, vars, node) {\n      if (node && format.merge_siblings !== false) {\n        var newNode = mergeSiblingsNodes(dom, getNonWhiteSpaceSibling(node), node);\n        mergeSiblingsNodes(dom, newNode, getNonWhiteSpaceSibling(newNode, true));\n      }\n    };\n    var clearChildStyles = function (dom, format, node) {\n      if (format.clear_child_styles) {\n        var selector = format.links ? '*:not(a)' : '*';\n        each$a(dom.select(selector, node), function (node) {\n          if (isElementNode$1(node)) {\n            each$a(format.styles, function (value, name) {\n              dom.setStyle(node, name, '');\n            });\n          }\n        });\n      }\n    };\n    var processChildElements = function (node, filter, process) {\n      each$a(node.childNodes, function (node) {\n        if (isElementNode$1(node)) {\n          if (filter(node)) {\n            process(node);\n          }\n          if (node.hasChildNodes()) {\n            processChildElements(node, filter, process);\n          }\n        }\n      });\n    };\n    var unwrapEmptySpan = function (dom, node) {\n      if (node.nodeName === 'SPAN' && dom.getAttribs(node).length === 0) {\n        dom.remove(node, true);\n      }\n    };\n    var hasStyle = function (dom, name) {\n      return function (node) {\n        return !!(node && getStyle(dom, node, name));\n      };\n    };\n    var applyStyle = function (dom, name, value) {\n      return function (node) {\n        dom.setStyle(node, name, value);\n        if (node.getAttribute('style') === '') {\n          node.removeAttribute('style');\n        }\n        unwrapEmptySpan(dom, node);\n      };\n    };\n\n    var removeResult = Adt.generate([\n      { keep: [] },\n      { rename: ['name'] },\n      { removed: [] }\n    ]);\n    var MCE_ATTR_RE = /^(src|href|style)$/;\n    var each$9 = Tools.each;\n    var isEq$2 = isEq$5;\n    var isTableCellOrRow = function (node) {\n      return /^(TR|TH|TD)$/.test(node.nodeName);\n    };\n    var isChildOfInlineParent = function (dom, node, parent) {\n      return dom.isChildOf(node, parent) && node !== parent && !dom.isBlock(parent);\n    };\n    var getContainer = function (ed, rng, start) {\n      var container = rng[start ? 'startContainer' : 'endContainer'];\n      var offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement$5(container)) {\n        var lastIdx = container.childNodes.length - 1;\n        if (!start && offset) {\n          offset--;\n        }\n        container = container.childNodes[offset > lastIdx ? lastIdx : offset];\n      }\n      if (isText$7(container) && start && offset >= container.nodeValue.length) {\n        container = new DomTreeWalker(container, ed.getBody()).next() || container;\n      }\n      if (isText$7(container) && !start && offset === 0) {\n        container = new DomTreeWalker(container, ed.getBody()).prev() || container;\n      }\n      return container;\n    };\n    var normalizeTableSelection = function (node, start) {\n      var prop = start ? 'firstChild' : 'lastChild';\n      if (isTableCellOrRow(node) && node[prop]) {\n        var childNode = node[prop];\n        if (node.nodeName === 'TR') {\n          return childNode[prop] || childNode;\n        } else {\n          return childNode;\n        }\n      }\n      return node;\n    };\n    var wrap$1 = function (dom, node, name, attrs) {\n      var wrapper = dom.create(name, attrs);\n      node.parentNode.insertBefore(wrapper, node);\n      wrapper.appendChild(node);\n      return wrapper;\n    };\n    var wrapWithSiblings = function (dom, node, next, name, attrs) {\n      var start = SugarElement.fromDom(node);\n      var wrapper = SugarElement.fromDom(dom.create(name, attrs));\n      var siblings = next ? nextSiblings(start) : prevSiblings(start);\n      append(wrapper, siblings);\n      if (next) {\n        before$4(start, wrapper);\n        prepend(wrapper, start);\n      } else {\n        after$3(start, wrapper);\n        append$1(wrapper, start);\n      }\n      return wrapper.dom;\n    };\n    var matchName = function (dom, node, format) {\n      if (isInlineFormat(format) && isEq$2(node, format.inline)) {\n        return true;\n      }\n      if (isBlockFormat(format) && isEq$2(node, format.block)) {\n        return true;\n      }\n      if (isSelectorFormat(format)) {\n        return isElement$5(node) && dom.is(node, format.selector);\n      }\n    };\n    var isColorFormatAndAnchor = function (node, format) {\n      return format.links && node.nodeName === 'A';\n    };\n    var find = function (dom, node, next, inc) {\n      var sibling = getNonWhiteSpaceSibling(node, next, inc);\n      return isNullable(sibling) || sibling.nodeName === 'BR' || dom.isBlock(sibling);\n    };\n    var removeNode = function (ed, node, format) {\n      var parentNode = node.parentNode;\n      var rootBlockElm;\n      var dom = ed.dom, forcedRootBlock = getForcedRootBlock(ed);\n      if (isBlockFormat(format)) {\n        if (!forcedRootBlock) {\n          if (dom.isBlock(node) && !dom.isBlock(parentNode)) {\n            if (!find(dom, node, false) && !find(dom, node.firstChild, true, true)) {\n              node.insertBefore(dom.create('br'), node.firstChild);\n            }\n            if (!find(dom, node, true) && !find(dom, node.lastChild, false, true)) {\n              node.appendChild(dom.create('br'));\n            }\n          }\n        } else {\n          if (parentNode === dom.getRoot()) {\n            if (!format.list_block || !isEq$2(node, format.list_block)) {\n              each$k(from(node.childNodes), function (node) {\n                if (isValid(ed, forcedRootBlock, node.nodeName.toLowerCase())) {\n                  if (!rootBlockElm) {\n                    rootBlockElm = wrap$1(dom, node, forcedRootBlock);\n                    dom.setAttribs(rootBlockElm, ed.settings.forced_root_block_attrs);\n                  } else {\n                    rootBlockElm.appendChild(node);\n                  }\n                } else {\n                  rootBlockElm = null;\n                }\n              });\n            }\n          }\n        }\n      }\n      if (isMixedFormat(format) && !isEq$2(format.inline, node)) {\n        return;\n      }\n      dom.remove(node, true);\n    };\n    var removeFormatInternal = function (ed, format, vars, node, compareNode) {\n      var stylesModified;\n      var dom = ed.dom;\n      if (!matchName(dom, node, format) && !isColorFormatAndAnchor(node, format)) {\n        return removeResult.keep();\n      }\n      var elm = node;\n      if (isInlineFormat(format) && format.remove === 'all' && isArray$1(format.preserve_attributes)) {\n        var attrsToPreserve = filter$4(dom.getAttribs(elm), function (attr) {\n          return contains$3(format.preserve_attributes, attr.name.toLowerCase());\n        });\n        dom.removeAllAttribs(elm);\n        each$k(attrsToPreserve, function (attr) {\n          return dom.setAttrib(elm, attr.name, attr.value);\n        });\n        if (attrsToPreserve.length > 0) {\n          return removeResult.rename('span');\n        }\n      }\n      if (format.remove !== 'all') {\n        each$9(format.styles, function (value, name) {\n          value = normalizeStyleValue(dom, replaceVars(value, vars), name + '');\n          if (isNumber(name)) {\n            name = value;\n            compareNode = null;\n          }\n          if (format.remove_similar || (!compareNode || isEq$2(getStyle(dom, compareNode, name), value))) {\n            dom.setStyle(elm, name, '');\n          }\n          stylesModified = true;\n        });\n        if (stylesModified && dom.getAttrib(elm, 'style') === '') {\n          elm.removeAttribute('style');\n          elm.removeAttribute('data-mce-style');\n        }\n        each$9(format.attributes, function (value, name) {\n          var valueOut;\n          value = replaceVars(value, vars);\n          if (isNumber(name)) {\n            name = value;\n            compareNode = null;\n          }\n          if (format.remove_similar || (!compareNode || isEq$2(dom.getAttrib(compareNode, name), value))) {\n            if (name === 'class') {\n              value = dom.getAttrib(elm, name);\n              if (value) {\n                valueOut = '';\n                each$k(value.split(/\\s+/), function (cls) {\n                  if (/mce\\-\\w+/.test(cls)) {\n                    valueOut += (valueOut ? ' ' : '') + cls;\n                  }\n                });\n                if (valueOut) {\n                  dom.setAttrib(elm, name, valueOut);\n                  return;\n                }\n              }\n            }\n            if (MCE_ATTR_RE.test(name)) {\n              elm.removeAttribute('data-mce-' + name);\n            }\n            if (name === 'style' && matchNodeNames(['li'])(elm) && dom.getStyle(elm, 'list-style-type') === 'none') {\n              elm.removeAttribute(name);\n              dom.setStyle(elm, 'list-style-type', 'none');\n              return;\n            }\n            if (name === 'class') {\n              elm.removeAttribute('className');\n            }\n            elm.removeAttribute(name);\n          }\n        });\n        each$9(format.classes, function (value) {\n          value = replaceVars(value, vars);\n          if (!compareNode || dom.hasClass(compareNode, value)) {\n            dom.removeClass(elm, value);\n          }\n        });\n        var attrs = dom.getAttribs(elm);\n        for (var i = 0; i < attrs.length; i++) {\n          var attrName = attrs[i].nodeName;\n          if (attrName.indexOf('_') !== 0 && attrName.indexOf('data-') !== 0) {\n            return removeResult.keep();\n          }\n        }\n      }\n      if (format.remove !== 'none') {\n        removeNode(ed, elm, format);\n        return removeResult.removed();\n      }\n      return removeResult.keep();\n    };\n    var removeFormat$1 = function (ed, format, vars, node, compareNode) {\n      return removeFormatInternal(ed, format, vars, node, compareNode).fold(never, function (newName) {\n        ed.dom.rename(node, newName);\n        return true;\n      }, always);\n    };\n    var findFormatRoot = function (editor, container, name, vars, similar) {\n      var formatRoot;\n      each$k(getParents$2(editor.dom, container.parentNode).reverse(), function (parent) {\n        if (!formatRoot && parent.id !== '_start' && parent.id !== '_end') {\n          var format = matchNode(editor, parent, name, vars, similar);\n          if (format && format.split !== false) {\n            formatRoot = parent;\n          }\n        }\n      });\n      return formatRoot;\n    };\n    var removeFormatFromClone = function (editor, format, vars, clone) {\n      return removeFormatInternal(editor, format, vars, clone, clone).fold(constant(clone), function (newName) {\n        var fragment = editor.dom.createFragment();\n        fragment.appendChild(clone);\n        return editor.dom.rename(clone, newName);\n      }, constant(null));\n    };\n    var wrapAndSplit = function (editor, formatList, formatRoot, container, target, split, format, vars) {\n      var clone, lastClone, firstClone;\n      var dom = editor.dom;\n      if (formatRoot) {\n        var formatRootParent = formatRoot.parentNode;\n        for (var parent_1 = container.parentNode; parent_1 && parent_1 !== formatRootParent; parent_1 = parent_1.parentNode) {\n          clone = dom.clone(parent_1, false);\n          for (var i = 0; i < formatList.length; i++) {\n            clone = removeFormatFromClone(editor, formatList[i], vars, clone);\n            if (clone === null) {\n              break;\n            }\n          }\n          if (clone) {\n            if (lastClone) {\n              clone.appendChild(lastClone);\n            }\n            if (!firstClone) {\n              firstClone = clone;\n            }\n            lastClone = clone;\n          }\n        }\n        if (split && (!format.mixed || !dom.isBlock(formatRoot))) {\n          container = dom.split(formatRoot, container);\n        }\n        if (lastClone) {\n          target.parentNode.insertBefore(lastClone, target);\n          firstClone.appendChild(target);\n          if (isInlineFormat(format)) {\n            mergeSiblings(dom, format, vars, lastClone);\n          }\n        }\n      }\n      return container;\n    };\n    var remove$1 = function (ed, name, vars, node, similar) {\n      var formatList = ed.formatter.get(name);\n      var format = formatList[0];\n      var contentEditable = true;\n      var dom = ed.dom;\n      var selection = ed.selection;\n      var splitToFormatRoot = function (container) {\n        var formatRoot = findFormatRoot(ed, container, name, vars, similar);\n        return wrapAndSplit(ed, formatList, formatRoot, container, container, true, format, vars);\n      };\n      var isRemoveBookmarkNode = function (node) {\n        return isBookmarkNode$1(node) && isElement$5(node) && (node.id === '_start' || node.id === '_end');\n      };\n      var removeNodeFormat = function (node) {\n        return exists(formatList, function (fmt) {\n          return removeFormat$1(ed, fmt, vars, node, node);\n        });\n      };\n      var process = function (node) {\n        var lastContentEditable = true;\n        var hasContentEditableState = false;\n        if (isElement$5(node) && dom.getContentEditable(node)) {\n          lastContentEditable = contentEditable;\n          contentEditable = dom.getContentEditable(node) === 'true';\n          hasContentEditableState = true;\n        }\n        var children = from(node.childNodes);\n        if (contentEditable && !hasContentEditableState) {\n          var removed = removeNodeFormat(node);\n          var currentNodeMatches = removed || exists(formatList, function (f) {\n            return matchName$1(dom, node, f);\n          });\n          var parentNode = node.parentNode;\n          if (!currentNodeMatches && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n            removeNodeFormat(parentNode);\n          }\n        }\n        if (format.deep) {\n          if (children.length) {\n            for (var i = 0; i < children.length; i++) {\n              process(children[i]);\n            }\n            if (hasContentEditableState) {\n              contentEditable = lastContentEditable;\n            }\n          }\n        }\n        var textDecorations = [\n          'underline',\n          'line-through',\n          'overline'\n        ];\n        each$k(textDecorations, function (decoration) {\n          if (isElement$5(node) && ed.dom.getStyle(node, 'text-decoration') === decoration && node.parentNode && getTextDecoration(dom, node.parentNode) === decoration) {\n            removeFormat$1(ed, {\n              deep: false,\n              exact: true,\n              inline: 'span',\n              styles: { textDecoration: decoration }\n            }, null, node);\n          }\n        });\n      };\n      var unwrap = function (start) {\n        var node = dom.get(start ? '_start' : '_end');\n        var out = node[start ? 'firstChild' : 'lastChild'];\n        if (isRemoveBookmarkNode(out)) {\n          out = out[start ? 'firstChild' : 'lastChild'];\n        }\n        if (isText$7(out) && out.data.length === 0) {\n          out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling;\n        }\n        dom.remove(node, true);\n        return out;\n      };\n      var removeRngStyle = function (rng) {\n        var startContainer, endContainer;\n        var expandedRng = expandRng(ed, rng, formatList, rng.collapsed);\n        if (format.split) {\n          expandedRng = split(expandedRng);\n          startContainer = getContainer(ed, expandedRng, true);\n          endContainer = getContainer(ed, expandedRng);\n          if (startContainer !== endContainer) {\n            startContainer = normalizeTableSelection(startContainer, true);\n            endContainer = normalizeTableSelection(endContainer, false);\n            if (isChildOfInlineParent(dom, startContainer, endContainer)) {\n              var marker = Optional.from(startContainer.firstChild).getOr(startContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', {\n                'id': '_start',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(true);\n              return;\n            }\n            if (isChildOfInlineParent(dom, endContainer, startContainer)) {\n              var marker = Optional.from(endContainer.lastChild).getOr(endContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', {\n                'id': '_end',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(false);\n              return;\n            }\n            startContainer = wrap$1(dom, startContainer, 'span', {\n              'id': '_start',\n              'data-mce-type': 'bookmark'\n            });\n            endContainer = wrap$1(dom, endContainer, 'span', {\n              'id': '_end',\n              'data-mce-type': 'bookmark'\n            });\n            var newRng = dom.createRng();\n            newRng.setStartAfter(startContainer);\n            newRng.setEndBefore(endContainer);\n            walk$2(dom, newRng, function (nodes) {\n              each$k(nodes, function (n) {\n                if (!isBookmarkNode$1(n) && !isBookmarkNode$1(n.parentNode)) {\n                  splitToFormatRoot(n);\n                }\n              });\n            });\n            splitToFormatRoot(startContainer);\n            splitToFormatRoot(endContainer);\n            startContainer = unwrap(true);\n            endContainer = unwrap();\n          } else {\n            startContainer = endContainer = splitToFormatRoot(startContainer);\n          }\n          expandedRng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer;\n          expandedRng.startOffset = dom.nodeIndex(startContainer);\n          expandedRng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer;\n          expandedRng.endOffset = dom.nodeIndex(endContainer) + 1;\n        }\n        walk$2(dom, expandedRng, function (nodes) {\n          each$k(nodes, process);\n        });\n      };\n      if (node) {\n        if (isNode(node)) {\n          var rng = dom.createRng();\n          rng.setStartBefore(node);\n          rng.setEndAfter(node);\n          removeRngStyle(rng);\n        } else {\n          removeRngStyle(node);\n        }\n        fireFormatRemove(ed, name, node, vars);\n        return;\n      }\n      if (dom.getContentEditable(selection.getNode()) === 'false') {\n        node = selection.getNode();\n        for (var i = 0; i < formatList.length; i++) {\n          if (formatList[i].ceFalseOverride) {\n            if (removeFormat$1(ed, formatList[i], vars, node, node)) {\n              break;\n            }\n          }\n        }\n        fireFormatRemove(ed, name, node, vars);\n        return;\n      }\n      if (!selection.isCollapsed() || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n        preserve(selection, true, function () {\n          runOnRanges(ed, removeRngStyle);\n        });\n        if (isInlineFormat(format) && match$2(ed, name, vars, selection.getStart())) {\n          moveStart(dom, selection, selection.getRng());\n        }\n        ed.nodeChanged();\n      } else {\n        removeCaretFormat(ed, name, vars, similar);\n      }\n      fireFormatRemove(ed, name, node, vars);\n    };\n\n    var each$8 = Tools.each;\n    var mergeTextDecorationsAndColor = function (dom, format, vars, node) {\n      var processTextDecorationsAndColor = function (n) {\n        if (n.nodeType === 1 && n.parentNode && n.parentNode.nodeType === 1) {\n          var textDecoration = getTextDecoration(dom, n.parentNode);\n          if (dom.getStyle(n, 'color') && textDecoration) {\n            dom.setStyle(n, 'text-decoration', textDecoration);\n          } else if (dom.getStyle(n, 'text-decoration') === textDecoration) {\n            dom.setStyle(n, 'text-decoration', null);\n          }\n        }\n      };\n      if (format.styles && (format.styles.color || format.styles.textDecoration)) {\n        Tools.walk(node, processTextDecorationsAndColor, 'childNodes');\n        processTextDecorationsAndColor(node);\n      }\n    };\n    var mergeBackgroundColorAndFontSize = function (dom, format, vars, node) {\n      if (format.styles && format.styles.backgroundColor) {\n        processChildElements(node, hasStyle(dom, 'fontSize'), applyStyle(dom, 'backgroundColor', replaceVars(format.styles.backgroundColor, vars)));\n      }\n    };\n    var mergeSubSup = function (dom, format, vars, node) {\n      if (isInlineFormat(format) && (format.inline === 'sub' || format.inline === 'sup')) {\n        processChildElements(node, hasStyle(dom, 'fontSize'), applyStyle(dom, 'fontSize', ''));\n        dom.remove(dom.select(format.inline === 'sup' ? 'sub' : 'sup', node), true);\n      }\n    };\n    var mergeWithChildren = function (editor, formatList, vars, node) {\n      each$8(formatList, function (format) {\n        if (isInlineFormat(format)) {\n          each$8(editor.dom.select(format.inline, node), function (child) {\n            if (!isElementNode$1(child)) {\n              return;\n            }\n            removeFormat$1(editor, format, vars, child, format.exact ? child : null);\n          });\n        }\n        clearChildStyles(editor.dom, format, node);\n      });\n    };\n    var mergeWithParents = function (editor, format, name, vars, node) {\n      if (matchNode(editor, node.parentNode, name, vars)) {\n        if (removeFormat$1(editor, format, vars, node)) {\n          return;\n        }\n      }\n      if (format.merge_with_parents) {\n        editor.dom.getParent(node.parentNode, function (parent) {\n          if (matchNode(editor, parent, name, vars)) {\n            removeFormat$1(editor, format, vars, node);\n            return true;\n          }\n        });\n      }\n    };\n\n    var each$7 = Tools.each;\n    var isElementNode = function (node) {\n      return isElement$5(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    };\n    var canFormatBR = function (editor, format, node, parentName) {\n      if (canFormatEmptyLines(editor) && isInlineFormat(format)) {\n        var validBRParentElements = __assign(__assign({}, editor.schema.getTextBlockElements()), {\n          td: {},\n          th: {},\n          li: {},\n          dt: {},\n          dd: {},\n          figcaption: {},\n          caption: {},\n          details: {},\n          summary: {}\n        });\n        var hasCaretNodeSibling = sibling(SugarElement.fromDom(node), function (sibling) {\n          return isCaretNode(sibling.dom);\n        });\n        return hasNonNullableKey(validBRParentElements, parentName) && isEmpty$2(SugarElement.fromDom(node.parentNode), false) && !hasCaretNodeSibling;\n      } else {\n        return false;\n      }\n    };\n    var applyFormat$1 = function (ed, name, vars, node) {\n      var formatList = ed.formatter.get(name);\n      var format = formatList[0];\n      var isCollapsed = !node && ed.selection.isCollapsed();\n      var dom = ed.dom;\n      var selection = ed.selection;\n      var setElementFormat = function (elm, fmt) {\n        if (fmt === void 0) {\n          fmt = format;\n        }\n        if (isFunction(fmt.onformat)) {\n          fmt.onformat(elm, fmt, vars, node);\n        }\n        each$7(fmt.styles, function (value, name) {\n          dom.setStyle(elm, name, replaceVars(value, vars));\n        });\n        if (fmt.styles) {\n          var styleVal = dom.getAttrib(elm, 'style');\n          if (styleVal) {\n            dom.setAttrib(elm, 'data-mce-style', styleVal);\n          }\n        }\n        each$7(fmt.attributes, function (value, name) {\n          dom.setAttrib(elm, name, replaceVars(value, vars));\n        });\n        each$7(fmt.classes, function (value) {\n          value = replaceVars(value, vars);\n          if (!dom.hasClass(elm, value)) {\n            dom.addClass(elm, value);\n          }\n        });\n      };\n      var applyNodeStyle = function (formatList, node) {\n        var found = false;\n        each$7(formatList, function (format) {\n          if (!isSelectorFormat(format)) {\n            return false;\n          }\n          if (isNonNullable(format.collapsed) && format.collapsed !== isCollapsed) {\n            return;\n          }\n          if (dom.is(node, format.selector) && !isCaretNode(node)) {\n            setElementFormat(node, format);\n            found = true;\n            return false;\n          }\n        });\n        return found;\n      };\n      var createWrapElement = function (wrapName) {\n        if (isString$1(wrapName)) {\n          var wrapElm = dom.create(wrapName);\n          setElementFormat(wrapElm);\n          return wrapElm;\n        } else {\n          return null;\n        }\n      };\n      var applyRngStyle = function (dom, rng, nodeSpecific) {\n        var newWrappers = [];\n        var contentEditable = true;\n        var wrapName = format.inline || format.block;\n        var wrapElm = createWrapElement(wrapName);\n        walk$2(dom, rng, function (nodes) {\n          var currentWrapElm;\n          var process = function (node) {\n            var hasContentEditableState = false;\n            var lastContentEditable = contentEditable;\n            var nodeName = node.nodeName.toLowerCase();\n            var parentNode = node.parentNode;\n            var parentName = parentNode.nodeName.toLowerCase();\n            if (isElement$5(node) && dom.getContentEditable(node)) {\n              lastContentEditable = contentEditable;\n              contentEditable = dom.getContentEditable(node) === 'true';\n              hasContentEditableState = true;\n            }\n            if (isBr$5(node) && !canFormatBR(ed, format, node, parentName)) {\n              currentWrapElm = null;\n              if (isBlockFormat(format)) {\n                dom.remove(node);\n              }\n              return;\n            }\n            if (isBlockFormat(format) && format.wrapper && matchNode(ed, node, name, vars)) {\n              currentWrapElm = null;\n              return;\n            }\n            if (contentEditable && !hasContentEditableState && isBlockFormat(format) && !format.wrapper && isTextBlock$1(ed, nodeName) && isValid(ed, parentName, wrapName)) {\n              var elm = dom.rename(node, wrapName);\n              setElementFormat(elm);\n              newWrappers.push(elm);\n              currentWrapElm = null;\n              return;\n            }\n            if (isSelectorFormat(format)) {\n              var found = applyNodeStyle(formatList, node);\n              if (!found && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n                found = applyNodeStyle(formatList, parentNode);\n              }\n              if (!isInlineFormat(format) || found) {\n                currentWrapElm = null;\n                return;\n              }\n            }\n            if (contentEditable && !hasContentEditableState && isValid(ed, wrapName, nodeName) && isValid(ed, parentName, wrapName) && !(!nodeSpecific && isText$7(node) && isZwsp(node.data)) && !isCaretNode(node) && (!isInlineFormat(format) || !dom.isBlock(node))) {\n              if (!currentWrapElm) {\n                currentWrapElm = dom.clone(wrapElm, false);\n                node.parentNode.insertBefore(currentWrapElm, node);\n                newWrappers.push(currentWrapElm);\n              }\n              currentWrapElm.appendChild(node);\n            } else {\n              currentWrapElm = null;\n              each$k(from(node.childNodes), process);\n              if (hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm = null;\n            }\n          };\n          each$k(nodes, process);\n        });\n        if (format.links === true) {\n          each$k(newWrappers, function (node) {\n            var process = function (node) {\n              if (node.nodeName === 'A') {\n                setElementFormat(node, format);\n              }\n              each$k(from(node.childNodes), process);\n            };\n            process(node);\n          });\n        }\n        each$k(newWrappers, function (node) {\n          var getChildCount = function (node) {\n            var count = 0;\n            each$k(node.childNodes, function (node) {\n              if (!isEmptyTextNode$1(node) && !isBookmarkNode$1(node)) {\n                count++;\n              }\n            });\n            return count;\n          };\n          var mergeStyles = function (node) {\n            var childElement = find$3(node.childNodes, isElementNode).filter(function (child) {\n              return matchName$1(dom, child, format);\n            });\n            return childElement.map(function (child) {\n              var clone = dom.clone(child, false);\n              setElementFormat(clone);\n              dom.replace(clone, node, true);\n              dom.remove(child, true);\n              return clone;\n            }).getOr(node);\n          };\n          var childCount = getChildCount(node);\n          if ((newWrappers.length > 1 || !dom.isBlock(node)) && childCount === 0) {\n            dom.remove(node, true);\n            return;\n          }\n          if (isInlineFormat(format) || isBlockFormat(format) && format.wrapper) {\n            if (!format.exact && childCount === 1) {\n              node = mergeStyles(node);\n            }\n            mergeWithChildren(ed, formatList, vars, node);\n            mergeWithParents(ed, format, name, vars, node);\n            mergeBackgroundColorAndFontSize(dom, format, vars, node);\n            mergeTextDecorationsAndColor(dom, format, vars, node);\n            mergeSubSup(dom, format, vars, node);\n            mergeSiblings(dom, format, vars, node);\n          }\n        });\n      };\n      if (dom.getContentEditable(selection.getNode()) === 'false') {\n        node = selection.getNode();\n        for (var i = 0, l = formatList.length; i < l; i++) {\n          var formatItem = formatList[i];\n          if (formatItem.ceFalseOverride && isSelectorFormat(formatItem) && dom.is(node, formatItem.selector)) {\n            setElementFormat(node, formatItem);\n            break;\n          }\n        }\n        fireFormatApply(ed, name, node, vars);\n        return;\n      }\n      if (format) {\n        if (node) {\n          if (isNode(node)) {\n            if (!applyNodeStyle(formatList, node)) {\n              var rng = dom.createRng();\n              rng.setStartBefore(node);\n              rng.setEndAfter(node);\n              applyRngStyle(dom, expandRng(ed, rng, formatList), true);\n            }\n          } else {\n            applyRngStyle(dom, node, true);\n          }\n        } else {\n          if (!isCollapsed || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n            var curSelNode = selection.getNode();\n            var firstFormat = formatList[0];\n            if (!ed.settings.forced_root_block && firstFormat.defaultBlock && !dom.getParent(curSelNode, dom.isBlock)) {\n              applyFormat$1(ed, firstFormat.defaultBlock);\n            }\n            selection.setRng(normalize(selection.getRng()));\n            preserve(selection, true, function () {\n              runOnRanges(ed, function (selectionRng, fake) {\n                var expandedRng = fake ? selectionRng : expandRng(ed, selectionRng, formatList);\n                applyRngStyle(dom, expandedRng, false);\n              });\n            });\n            moveStart(dom, selection, selection.getRng());\n            ed.nodeChanged();\n          } else {\n            applyCaretFormat(ed, name, vars);\n          }\n        }\n        postProcess$1(name, ed);\n      }\n      fireFormatApply(ed, name, node, vars);\n    };\n\n    var hasVars = function (value) {\n      return has$2(value, 'vars');\n    };\n    var setup$j = function (registeredFormatListeners, editor) {\n      registeredFormatListeners.set({});\n      editor.on('NodeChange', function (e) {\n        updateAndFireChangeCallbacks(editor, e.element, registeredFormatListeners.get());\n      });\n      editor.on('FormatApply FormatRemove', function (e) {\n        var element = Optional.from(e.node).map(function (nodeOrRange) {\n          return isNode(nodeOrRange) ? nodeOrRange : nodeOrRange.startContainer;\n        }).bind(function (node) {\n          return isElement$5(node) ? Optional.some(node) : Optional.from(node.parentElement);\n        }).getOrThunk(function () {\n          return fallbackElement(editor);\n        });\n        updateAndFireChangeCallbacks(editor, element, registeredFormatListeners.get());\n      });\n    };\n    var fallbackElement = function (editor) {\n      return editor.selection.getStart();\n    };\n    var matchingNode = function (editor, parents, format, similar, vars) {\n      var isMatchingNode = function (node) {\n        var matchingFormat = editor.formatter.matchNode(node, format, vars !== null && vars !== void 0 ? vars : {}, similar);\n        return !isUndefined(matchingFormat);\n      };\n      var isUnableToMatch = function (node) {\n        if (matchesUnInheritedFormatSelector(editor, node, format)) {\n          return true;\n        } else {\n          if (!similar) {\n            return isNonNullable(editor.formatter.matchNode(node, format, vars, true));\n          } else {\n            return false;\n          }\n        }\n      };\n      return findUntil$1(parents, isMatchingNode, isUnableToMatch);\n    };\n    var getParents = function (editor, elm) {\n      var element = elm !== null && elm !== void 0 ? elm : fallbackElement(editor);\n      return filter$4(getParents$2(editor.dom, element), function (node) {\n        return isElement$5(node) && !isBogus$2(node);\n      });\n    };\n    var updateAndFireChangeCallbacks = function (editor, elm, registeredCallbacks) {\n      var parents = getParents(editor, elm);\n      each$j(registeredCallbacks, function (data, format) {\n        var runIfChanged = function (spec) {\n          var match = matchingNode(editor, parents, format, spec.similar, hasVars(spec) ? spec.vars : undefined);\n          var isSet = match.isSome();\n          if (spec.state.get() !== isSet) {\n            spec.state.set(isSet);\n            var node_1 = match.getOr(elm);\n            if (hasVars(spec)) {\n              spec.callback(isSet, {\n                node: node_1,\n                format: format,\n                parents: parents\n              });\n            } else {\n              each$k(spec.callbacks, function (callback) {\n                return callback(isSet, {\n                  node: node_1,\n                  format: format,\n                  parents: parents\n                });\n              });\n            }\n          }\n        };\n        each$k([\n          data.withSimilar,\n          data.withoutSimilar\n        ], runIfChanged);\n        each$k(data.withVars, runIfChanged);\n      });\n    };\n    var addListeners = function (editor, registeredFormatListeners, formats, callback, similar, vars) {\n      var formatChangeItems = registeredFormatListeners.get();\n      each$k(formats.split(','), function (format) {\n        var group = get$9(formatChangeItems, format).getOrThunk(function () {\n          var base = {\n            withSimilar: {\n              state: Cell(false),\n              similar: true,\n              callbacks: []\n            },\n            withoutSimilar: {\n              state: Cell(false),\n              similar: false,\n              callbacks: []\n            },\n            withVars: []\n          };\n          formatChangeItems[format] = base;\n          return base;\n        });\n        var getCurrent = function () {\n          var parents = getParents(editor);\n          return matchingNode(editor, parents, format, similar, vars).isSome();\n        };\n        if (isUndefined(vars)) {\n          var toAppendTo = similar ? group.withSimilar : group.withoutSimilar;\n          toAppendTo.callbacks.push(callback);\n          if (toAppendTo.callbacks.length === 1) {\n            toAppendTo.state.set(getCurrent());\n          }\n        } else {\n          group.withVars.push({\n            state: Cell(getCurrent()),\n            similar: similar,\n            vars: vars,\n            callback: callback\n          });\n        }\n      });\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    var removeListeners = function (registeredFormatListeners, formats, callback) {\n      var formatChangeItems = registeredFormatListeners.get();\n      each$k(formats.split(','), function (format) {\n        return get$9(formatChangeItems, format).each(function (group) {\n          formatChangeItems[format] = {\n            withSimilar: __assign(__assign({}, group.withSimilar), {\n              callbacks: filter$4(group.withSimilar.callbacks, function (cb) {\n                return cb !== callback;\n              })\n            }),\n            withoutSimilar: __assign(__assign({}, group.withoutSimilar), {\n              callbacks: filter$4(group.withoutSimilar.callbacks, function (cb) {\n                return cb !== callback;\n              })\n            }),\n            withVars: filter$4(group.withVars, function (item) {\n              return item.callback !== callback;\n            })\n          };\n        });\n      });\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    var formatChangedInternal = function (editor, registeredFormatListeners, formats, callback, similar, vars) {\n      if (registeredFormatListeners.get() === null) {\n        setup$j(registeredFormatListeners, editor);\n      }\n      addListeners(editor, registeredFormatListeners, formats, callback, similar, vars);\n      return {\n        unbind: function () {\n          return removeListeners(registeredFormatListeners, formats, callback);\n        }\n      };\n    };\n\n    var toggle = function (editor, name, vars, node) {\n      var fmt = editor.formatter.get(name);\n      if (match$2(editor, name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) {\n        remove$1(editor, name, vars, node);\n      } else {\n        applyFormat$1(editor, name, vars, node);\n      }\n    };\n\n    var fromElements = function (elements, scope) {\n      var doc = scope || document;\n      var fragment = doc.createDocumentFragment();\n      each$k(elements, function (element) {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    var tableModel = function (element, width, rows) {\n      return {\n        element: element,\n        width: width,\n        rows: rows\n      };\n    };\n    var tableRow = function (element, cells) {\n      return {\n        element: element,\n        cells: cells\n      };\n    };\n    var cellPosition = function (x, y) {\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var getSpan = function (td, key) {\n      var value = parseInt(get$6(td, key), 10);\n      return isNaN(value) ? 1 : value;\n    };\n    var fillout = function (table, x, y, tr, td) {\n      var rowspan = getSpan(td, 'rowspan');\n      var colspan = getSpan(td, 'colspan');\n      var rows = table.rows;\n      for (var y2 = y; y2 < y + rowspan; y2++) {\n        if (!rows[y2]) {\n          rows[y2] = tableRow(deep$1(tr), []);\n        }\n        for (var x2 = x; x2 < x + colspan; x2++) {\n          var cells = rows[y2].cells;\n          cells[x2] = y2 === y && x2 === x ? td : shallow(td);\n        }\n      }\n    };\n    var cellExists = function (table, x, y) {\n      var rows = table.rows;\n      var cells = rows[y] ? rows[y].cells : [];\n      return !!cells[x];\n    };\n    var skipCellsX = function (table, x, y) {\n      while (cellExists(table, x, y)) {\n        x++;\n      }\n      return x;\n    };\n    var getWidth = function (rows) {\n      return foldl(rows, function (acc, row) {\n        return row.cells.length > acc ? row.cells.length : acc;\n      }, 0);\n    };\n    var findElementPos = function (table, element) {\n      var rows = table.rows;\n      for (var y = 0; y < rows.length; y++) {\n        var cells = rows[y].cells;\n        for (var x = 0; x < cells.length; x++) {\n          if (eq(cells[x], element)) {\n            return Optional.some(cellPosition(x, y));\n          }\n        }\n      }\n      return Optional.none();\n    };\n    var extractRows = function (table, sx, sy, ex, ey) {\n      var newRows = [];\n      var rows = table.rows;\n      for (var y = sy; y <= ey; y++) {\n        var cells = rows[y].cells;\n        var slice = sx < ex ? cells.slice(sx, ex + 1) : cells.slice(ex, sx + 1);\n        newRows.push(tableRow(rows[y].element, slice));\n      }\n      return newRows;\n    };\n    var subTable = function (table, startPos, endPos) {\n      var sx = startPos.x, sy = startPos.y;\n      var ex = endPos.x, ey = endPos.y;\n      var newRows = sy < ey ? extractRows(table, sx, sy, ex, ey) : extractRows(table, sx, ey, ex, sy);\n      return tableModel(table.element, getWidth(newRows), newRows);\n    };\n    var createDomTable = function (table, rows) {\n      var tableElement = shallow(table.element);\n      var tableBody = SugarElement.fromTag('tbody');\n      append(tableBody, rows);\n      append$1(tableElement, tableBody);\n      return tableElement;\n    };\n    var modelRowsToDomRows = function (table) {\n      return map$3(table.rows, function (row) {\n        var cells = map$3(row.cells, function (cell) {\n          var td = deep$1(cell);\n          remove$6(td, 'colspan');\n          remove$6(td, 'rowspan');\n          return td;\n        });\n        var tr = shallow(row.element);\n        append(tr, cells);\n        return tr;\n      });\n    };\n    var fromDom = function (tableElm) {\n      var table = tableModel(shallow(tableElm), 0, []);\n      each$k(descendants(tableElm, 'tr'), function (tr, y) {\n        each$k(descendants(tr, 'td,th'), function (td, x) {\n          fillout(table, skipCellsX(table, x, y), y, tr, td);\n        });\n      });\n      return tableModel(table.element, getWidth(table.rows), table.rows);\n    };\n    var toDom = function (table) {\n      return createDomTable(table, modelRowsToDomRows(table));\n    };\n    var subsection = function (table, startElement, endElement) {\n      return findElementPos(table, startElement).bind(function (startPos) {\n        return findElementPos(table, endElement).map(function (endPos) {\n          return subTable(table, startPos, endPos);\n        });\n      });\n    };\n\n    var findParentListContainer = function (parents) {\n      return find$3(parents, function (elm) {\n        return name(elm) === 'ul' || name(elm) === 'ol';\n      });\n    };\n    var getFullySelectedListWrappers = function (parents, rng) {\n      return find$3(parents, function (elm) {\n        return name(elm) === 'li' && hasAllContentsSelected(elm, rng);\n      }).fold(constant([]), function (_li) {\n        return findParentListContainer(parents).map(function (listCont) {\n          var listElm = SugarElement.fromTag(name(listCont));\n          var listStyles = filter$3(getAllRaw(listCont), function (_style, name) {\n            return startsWith(name, 'list-style');\n          });\n          setAll(listElm, listStyles);\n          return [\n            SugarElement.fromTag('li'),\n            listElm\n          ];\n        }).getOr([]);\n      });\n    };\n    var wrap = function (innerElm, elms) {\n      var wrapped = foldl(elms, function (acc, elm) {\n        append$1(elm, acc);\n        return elm;\n      }, innerElm);\n      return elms.length > 0 ? fromElements([wrapped]) : wrapped;\n    };\n    var directListWrappers = function (commonAnchorContainer) {\n      if (isListItem(commonAnchorContainer)) {\n        return parent(commonAnchorContainer).filter(isList).fold(constant([]), function (listElm) {\n          return [\n            commonAnchorContainer,\n            listElm\n          ];\n        });\n      } else {\n        return isList(commonAnchorContainer) ? [commonAnchorContainer] : [];\n      }\n    };\n    var getWrapElements = function (rootNode, rng) {\n      var commonAnchorContainer = SugarElement.fromDom(rng.commonAncestorContainer);\n      var parents = parentsAndSelf(commonAnchorContainer, rootNode);\n      var wrapElements = filter$4(parents, function (elm) {\n        return isInline$1(elm) || isHeading(elm);\n      });\n      var listWrappers = getFullySelectedListWrappers(parents, rng);\n      var allWrappers = wrapElements.concat(listWrappers.length ? listWrappers : directListWrappers(commonAnchorContainer));\n      return map$3(allWrappers, shallow);\n    };\n    var emptyFragment = function () {\n      return fromElements([]);\n    };\n    var getFragmentFromRange = function (rootNode, rng) {\n      return wrap(SugarElement.fromDom(rng.cloneContents()), getWrapElements(rootNode, rng));\n    };\n    var getParentTable = function (rootElm, cell) {\n      return ancestor$2(cell, 'table', curry(eq, rootElm));\n    };\n    var getTableFragment = function (rootNode, selectedTableCells) {\n      return getParentTable(rootNode, selectedTableCells[0]).bind(function (tableElm) {\n        var firstCell = selectedTableCells[0];\n        var lastCell = selectedTableCells[selectedTableCells.length - 1];\n        var fullTableModel = fromDom(tableElm);\n        return subsection(fullTableModel, firstCell, lastCell).map(function (sectionedTableModel) {\n          return fromElements([toDom(sectionedTableModel)]);\n        });\n      }).getOrThunk(emptyFragment);\n    };\n    var getSelectionFragment = function (rootNode, ranges) {\n      return ranges.length > 0 && ranges[0].collapsed ? emptyFragment() : getFragmentFromRange(rootNode, ranges[0]);\n    };\n    var read$3 = function (rootNode, ranges) {\n      var selectedCells = getCellsFromElementOrRanges(ranges, rootNode);\n      return selectedCells.length > 0 ? getTableFragment(rootNode, selectedCells) : getSelectionFragment(rootNode, ranges);\n    };\n\n    var trimLeadingCollapsibleText = function (text) {\n      return text.replace(/^[ \\f\\n\\r\\t\\v]+/, '');\n    };\n    var isCollapsibleWhitespace = function (text, index) {\n      return index >= 0 && index < text.length && isWhiteSpace(text.charAt(index));\n    };\n    var getInnerText = function (bin, shouldTrim) {\n      var text = trim$2(bin.innerText);\n      return shouldTrim ? trimLeadingCollapsibleText(text) : text;\n    };\n    var getContextNodeName = function (parentBlockOpt) {\n      return parentBlockOpt.map(function (block) {\n        return block.nodeName;\n      }).getOr('div').toLowerCase();\n    };\n    var getTextContent = function (editor) {\n      return Optional.from(editor.selection.getRng()).map(function (rng) {\n        var parentBlockOpt = Optional.from(editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock));\n        var body = editor.getBody();\n        var contextNodeName = getContextNodeName(parentBlockOpt);\n        var shouldTrimSpaces = Env.browser.isIE() && contextNodeName !== 'pre';\n        var bin = editor.dom.add(body, contextNodeName, {\n          'data-mce-bogus': 'all',\n          'style': 'overflow: hidden; opacity: 0;'\n        }, rng.cloneContents());\n        var text = getInnerText(bin, shouldTrimSpaces);\n        var nonRenderedText = trim$2(bin.textContent);\n        editor.dom.remove(bin);\n        if (isCollapsibleWhitespace(nonRenderedText, 0) || isCollapsibleWhitespace(nonRenderedText, nonRenderedText.length - 1)) {\n          var parentBlock = parentBlockOpt.getOr(body);\n          var parentBlockText = getInnerText(parentBlock, shouldTrimSpaces);\n          var textIndex = parentBlockText.indexOf(text);\n          if (textIndex === -1) {\n            return text;\n          } else {\n            var hasProceedingSpace = isCollapsibleWhitespace(parentBlockText, textIndex - 1);\n            var hasTrailingSpace = isCollapsibleWhitespace(parentBlockText, textIndex + text.length);\n            return (hasProceedingSpace ? ' ' : '') + text + (hasTrailingSpace ? ' ' : '');\n          }\n        } else {\n          return text;\n        }\n      }).getOr('');\n    };\n    var getSerializedContent = function (editor, args) {\n      var rng = editor.selection.getRng(), tmpElm = editor.dom.create('body');\n      var sel = editor.selection.getSel();\n      var ranges = processRanges(editor, getRanges(sel));\n      var fragment = args.contextual ? read$3(SugarElement.fromDom(editor.getBody()), ranges).dom : rng.cloneContents();\n      if (fragment) {\n        tmpElm.appendChild(fragment);\n      }\n      return editor.selection.serializer.serialize(tmpElm, args);\n    };\n    var setupArgs$1 = function (args, format) {\n      return __assign(__assign({}, args), {\n        format: format,\n        get: true,\n        selection: true\n      });\n    };\n    var getSelectedContentInternal = function (editor, format, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      var defaultedArgs = setupArgs$1(args, format);\n      var updatedArgs = editor.fire('BeforeGetContent', defaultedArgs);\n      if (updatedArgs.isDefaultPrevented()) {\n        editor.fire('GetContent', updatedArgs);\n        return updatedArgs.content;\n      }\n      if (updatedArgs.format === 'text') {\n        return getTextContent(editor);\n      } else {\n        updatedArgs.getInner = true;\n        var content = getSerializedContent(editor, updatedArgs);\n        if (updatedArgs.format === 'tree') {\n          return content;\n        } else {\n          updatedArgs.content = editor.selection.isCollapsed() ? '' : content;\n          editor.fire('GetContent', updatedArgs);\n          return updatedArgs.content;\n        }\n      }\n    };\n\n    var KEEP = 0, INSERT = 1, DELETE = 2;\n    var diff = function (left, right) {\n      var size = left.length + right.length + 2;\n      var vDown = new Array(size);\n      var vUp = new Array(size);\n      var snake = function (start, end, diag) {\n        return {\n          start: start,\n          end: end,\n          diag: diag\n        };\n      };\n      var buildScript = function (start1, end1, start2, end2, script) {\n        var middle = getMiddleSnake(start1, end1, start2, end2);\n        if (middle === null || middle.start === end1 && middle.diag === end1 - end2 || middle.end === start1 && middle.diag === start1 - start2) {\n          var i = start1;\n          var j = start2;\n          while (i < end1 || j < end2) {\n            if (i < end1 && j < end2 && left[i] === right[j]) {\n              script.push([\n                KEEP,\n                left[i]\n              ]);\n              ++i;\n              ++j;\n            } else {\n              if (end1 - start1 > end2 - start2) {\n                script.push([\n                  DELETE,\n                  left[i]\n                ]);\n                ++i;\n              } else {\n                script.push([\n                  INSERT,\n                  right[j]\n                ]);\n                ++j;\n              }\n            }\n          }\n        } else {\n          buildScript(start1, middle.start, start2, middle.start - middle.diag, script);\n          for (var i2 = middle.start; i2 < middle.end; ++i2) {\n            script.push([\n              KEEP,\n              left[i2]\n            ]);\n          }\n          buildScript(middle.end, end1, middle.end - middle.diag, end2, script);\n        }\n      };\n      var buildSnake = function (start, diag, end1, end2) {\n        var end = start;\n        while (end - diag < end2 && end < end1 && left[end] === right[end - diag]) {\n          ++end;\n        }\n        return snake(start, end, diag);\n      };\n      var getMiddleSnake = function (start1, end1, start2, end2) {\n        var m = end1 - start1;\n        var n = end2 - start2;\n        if (m === 0 || n === 0) {\n          return null;\n        }\n        var delta = m - n;\n        var sum = n + m;\n        var offset = (sum % 2 === 0 ? sum : sum + 1) / 2;\n        vDown[1 + offset] = start1;\n        vUp[1 + offset] = end1 + 1;\n        var d, k, i, x, y;\n        for (d = 0; d <= offset; ++d) {\n          for (k = -d; k <= d; k += 2) {\n            i = k + offset;\n            if (k === -d || k !== d && vDown[i - 1] < vDown[i + 1]) {\n              vDown[i] = vDown[i + 1];\n            } else {\n              vDown[i] = vDown[i - 1] + 1;\n            }\n            x = vDown[i];\n            y = x - start1 + start2 - k;\n            while (x < end1 && y < end2 && left[x] === right[y]) {\n              vDown[i] = ++x;\n              ++y;\n            }\n            if (delta % 2 !== 0 && delta - d <= k && k <= delta + d) {\n              if (vUp[i - delta] <= vDown[i]) {\n                return buildSnake(vUp[i - delta], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n          for (k = delta - d; k <= delta + d; k += 2) {\n            i = k + offset - delta;\n            if (k === delta - d || k !== delta + d && vUp[i + 1] <= vUp[i - 1]) {\n              vUp[i] = vUp[i + 1] - 1;\n            } else {\n              vUp[i] = vUp[i - 1];\n            }\n            x = vUp[i] - 1;\n            y = x - start1 + start2 - k;\n            while (x >= start1 && y >= start2 && left[x] === right[y]) {\n              vUp[i] = x--;\n              y--;\n            }\n            if (delta % 2 === 0 && -d <= k && k <= d) {\n              if (vUp[i] <= vDown[i + delta]) {\n                return buildSnake(vUp[i], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n        }\n      };\n      var script = [];\n      buildScript(0, left.length, 0, right.length, script);\n      return script;\n    };\n\n    var getOuterHtml = function (elm) {\n      if (isElement$5(elm)) {\n        return elm.outerHTML;\n      } else if (isText$7(elm)) {\n        return Entities.encodeRaw(elm.data, false);\n      } else if (isComment(elm)) {\n        return '<!--' + elm.data + '-->';\n      }\n      return '';\n    };\n    var createFragment = function (html) {\n      var node;\n      var container = document.createElement('div');\n      var frag = document.createDocumentFragment();\n      if (html) {\n        container.innerHTML = html;\n      }\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    var insertAt = function (elm, html, index) {\n      var fragment = createFragment(html);\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        var target = elm.childNodes[index];\n        target.parentNode.insertBefore(fragment, target);\n      } else {\n        elm.appendChild(fragment);\n      }\n    };\n    var removeAt = function (elm, index) {\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        var target = elm.childNodes[index];\n        target.parentNode.removeChild(target);\n      }\n    };\n    var applyDiff = function (diff, elm) {\n      var index = 0;\n      each$k(diff, function (action) {\n        if (action[0] === KEEP) {\n          index++;\n        } else if (action[0] === INSERT) {\n          insertAt(elm, action[1], index);\n          index++;\n        } else if (action[0] === DELETE) {\n          removeAt(elm, index);\n        }\n      });\n    };\n    var read$2 = function (elm) {\n      return filter$4(map$3(from(elm.childNodes), getOuterHtml), function (item) {\n        return item.length > 0;\n      });\n    };\n    var write = function (fragments, elm) {\n      var currentFragments = map$3(from(elm.childNodes), getOuterHtml);\n      applyDiff(diff(currentFragments, fragments), elm);\n      return elm;\n    };\n\n    var lazyTempDocument = cached(function () {\n      return document.implementation.createHTMLDocument('undo');\n    });\n    var hasIframes = function (html) {\n      return html.indexOf('</iframe>') !== -1;\n    };\n    var createFragmentedLevel = function (fragments) {\n      return {\n        type: 'fragmented',\n        fragments: fragments,\n        content: '',\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    var createCompleteLevel = function (content) {\n      return {\n        type: 'complete',\n        fragments: null,\n        content: content,\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    var createFromEditor = function (editor) {\n      var fragments = read$2(editor.getBody());\n      var trimmedFragments = bind(fragments, function (html) {\n        var trimmed = trimInternal(editor.serializer, html);\n        return trimmed.length > 0 ? [trimmed] : [];\n      });\n      var content = trimmedFragments.join('');\n      return hasIframes(content) ? createFragmentedLevel(trimmedFragments) : createCompleteLevel(content);\n    };\n    var applyToEditor = function (editor, level, before) {\n      var bookmark = before ? level.beforeBookmark : level.bookmark;\n      if (level.type === 'fragmented') {\n        write(level.fragments, editor.getBody());\n      } else {\n        editor.setContent(level.content, {\n          format: 'raw',\n          no_selection: isNonNullable(bookmark) && isPathBookmark(bookmark) ? !bookmark.isFakeCaret : true\n        });\n      }\n      editor.selection.moveToBookmark(bookmark);\n    };\n    var getLevelContent = function (level) {\n      return level.type === 'fragmented' ? level.fragments.join('') : level.content;\n    };\n    var getCleanLevelContent = function (level) {\n      var elm = SugarElement.fromTag('body', lazyTempDocument());\n      set(elm, getLevelContent(level));\n      each$k(descendants(elm, '*[data-mce-bogus]'), unwrap);\n      return get$3(elm);\n    };\n    var hasEqualContent = function (level1, level2) {\n      return getLevelContent(level1) === getLevelContent(level2);\n    };\n    var hasEqualCleanedContent = function (level1, level2) {\n      return getCleanLevelContent(level1) === getCleanLevelContent(level2);\n    };\n    var isEq$1 = function (level1, level2) {\n      if (!level1 || !level2) {\n        return false;\n      } else if (hasEqualContent(level1, level2)) {\n        return true;\n      } else {\n        return hasEqualCleanedContent(level1, level2);\n      }\n    };\n\n    var isUnlocked = function (locks) {\n      return locks.get() === 0;\n    };\n\n    var setTyping = function (undoManager, typing, locks) {\n      if (isUnlocked(locks)) {\n        undoManager.typing = typing;\n      }\n    };\n    var endTyping = function (undoManager, locks) {\n      if (undoManager.typing) {\n        setTyping(undoManager, false, locks);\n        undoManager.add();\n      }\n    };\n    var endTypingLevelIgnoreLocks = function (undoManager) {\n      if (undoManager.typing) {\n        undoManager.typing = false;\n        undoManager.add();\n      }\n    };\n\n    var beforeChange$1 = function (editor, locks, beforeBookmark) {\n      if (isUnlocked(locks)) {\n        beforeBookmark.set(getUndoBookmark(editor.selection));\n      }\n    };\n    var addUndoLevel$1 = function (editor, undoManager, index, locks, beforeBookmark, level, event) {\n      var currentLevel = createFromEditor(editor);\n      level = level || {};\n      level = Tools.extend(level, currentLevel);\n      if (isUnlocked(locks) === false || editor.removed) {\n        return null;\n      }\n      var lastLevel = undoManager.data[index.get()];\n      if (editor.fire('BeforeAddUndo', {\n          level: level,\n          lastLevel: lastLevel,\n          originalEvent: event\n        }).isDefaultPrevented()) {\n        return null;\n      }\n      if (lastLevel && isEq$1(lastLevel, level)) {\n        return null;\n      }\n      if (undoManager.data[index.get()]) {\n        beforeBookmark.get().each(function (bm) {\n          undoManager.data[index.get()].beforeBookmark = bm;\n        });\n      }\n      var customUndoRedoLevels = getCustomUndoRedoLevels(editor);\n      if (customUndoRedoLevels) {\n        if (undoManager.data.length > customUndoRedoLevels) {\n          for (var i = 0; i < undoManager.data.length - 1; i++) {\n            undoManager.data[i] = undoManager.data[i + 1];\n          }\n          undoManager.data.length--;\n          index.set(undoManager.data.length);\n        }\n      }\n      level.bookmark = getUndoBookmark(editor.selection);\n      if (index.get() < undoManager.data.length - 1) {\n        undoManager.data.length = index.get() + 1;\n      }\n      undoManager.data.push(level);\n      index.set(undoManager.data.length - 1);\n      var args = {\n        level: level,\n        lastLevel: lastLevel,\n        originalEvent: event\n      };\n      if (index.get() > 0) {\n        editor.setDirty(true);\n        editor.fire('AddUndo', args);\n        editor.fire('change', args);\n      } else {\n        editor.fire('AddUndo', args);\n      }\n      return level;\n    };\n    var clear$1 = function (editor, undoManager, index) {\n      undoManager.data = [];\n      index.set(0);\n      undoManager.typing = false;\n      editor.fire('ClearUndos');\n    };\n    var extra$1 = function (editor, undoManager, index, callback1, callback2) {\n      if (undoManager.transact(callback1)) {\n        var bookmark = undoManager.data[index.get()].bookmark;\n        var lastLevel = undoManager.data[index.get() - 1];\n        applyToEditor(editor, lastLevel, true);\n        if (undoManager.transact(callback2)) {\n          undoManager.data[index.get() - 1].beforeBookmark = bookmark;\n        }\n      }\n    };\n    var redo$1 = function (editor, index, data) {\n      var level;\n      if (index.get() < data.length - 1) {\n        index.set(index.get() + 1);\n        level = data[index.get()];\n        applyToEditor(editor, level, false);\n        editor.setDirty(true);\n        editor.fire('Redo', { level: level });\n      }\n      return level;\n    };\n    var undo$1 = function (editor, undoManager, locks, index) {\n      var level;\n      if (undoManager.typing) {\n        undoManager.add();\n        undoManager.typing = false;\n        setTyping(undoManager, false, locks);\n      }\n      if (index.get() > 0) {\n        index.set(index.get() - 1);\n        level = undoManager.data[index.get()];\n        applyToEditor(editor, level, true);\n        editor.setDirty(true);\n        editor.fire('Undo', { level: level });\n      }\n      return level;\n    };\n    var reset$1 = function (undoManager) {\n      undoManager.clear();\n      undoManager.add();\n    };\n    var hasUndo$1 = function (editor, undoManager, index) {\n      return index.get() > 0 || undoManager.typing && undoManager.data[0] && !isEq$1(createFromEditor(editor), undoManager.data[0]);\n    };\n    var hasRedo$1 = function (undoManager, index) {\n      return index.get() < undoManager.data.length - 1 && !undoManager.typing;\n    };\n    var transact$1 = function (undoManager, locks, callback) {\n      endTyping(undoManager, locks);\n      undoManager.beforeChange();\n      undoManager.ignore(callback);\n      return undoManager.add();\n    };\n    var ignore$1 = function (locks, callback) {\n      try {\n        locks.set(locks.get() + 1);\n        callback();\n      } finally {\n        locks.set(locks.get() - 1);\n      }\n    };\n\n    var addVisualInternal = function (editor, elm) {\n      var dom = editor.dom;\n      var scope = isNonNullable(elm) ? elm : editor.getBody();\n      if (isUndefined(editor.hasVisual)) {\n        editor.hasVisual = isVisualAidsEnabled(editor);\n      }\n      each$k(dom.select('table,a', scope), function (matchedElm) {\n        switch (matchedElm.nodeName) {\n        case 'TABLE':\n          var cls = getVisualAidsTableClass(editor);\n          var value = dom.getAttrib(matchedElm, 'border');\n          if ((!value || value === '0') && editor.hasVisual) {\n            dom.addClass(matchedElm, cls);\n          } else {\n            dom.removeClass(matchedElm, cls);\n          }\n          break;\n        case 'A':\n          if (!dom.getAttrib(matchedElm, 'href')) {\n            var value_1 = dom.getAttrib(matchedElm, 'name') || matchedElm.id;\n            var cls_1 = getVisualAidsAnchorClass(editor);\n            if (value_1 && editor.hasVisual) {\n              dom.addClass(matchedElm, cls_1);\n            } else {\n              dom.removeClass(matchedElm, cls_1);\n            }\n          }\n          break;\n        }\n      });\n      editor.fire('VisualAid', {\n        element: elm,\n        hasVisual: editor.hasVisual\n      });\n    };\n\n    var makePlainAdaptor = function (editor) {\n      return {\n        undoManager: {\n          beforeChange: function (locks, beforeBookmark) {\n            return beforeChange$1(editor, locks, beforeBookmark);\n          },\n          add: function (undoManager, index, locks, beforeBookmark, level, event) {\n            return addUndoLevel$1(editor, undoManager, index, locks, beforeBookmark, level, event);\n          },\n          undo: function (undoManager, locks, index) {\n            return undo$1(editor, undoManager, locks, index);\n          },\n          redo: function (index, data) {\n            return redo$1(editor, index, data);\n          },\n          clear: function (undoManager, index) {\n            return clear$1(editor, undoManager, index);\n          },\n          reset: function (undoManager) {\n            return reset$1(undoManager);\n          },\n          hasUndo: function (undoManager, index) {\n            return hasUndo$1(editor, undoManager, index);\n          },\n          hasRedo: function (undoManager, index) {\n            return hasRedo$1(undoManager, index);\n          },\n          transact: function (undoManager, locks, callback) {\n            return transact$1(undoManager, locks, callback);\n          },\n          ignore: function (locks, callback) {\n            return ignore$1(locks, callback);\n          },\n          extra: function (undoManager, index, callback1, callback2) {\n            return extra$1(editor, undoManager, index, callback1, callback2);\n          }\n        },\n        formatter: {\n          match: function (name, vars, node, similar) {\n            return match$2(editor, name, vars, node, similar);\n          },\n          matchAll: function (names, vars) {\n            return matchAll(editor, names, vars);\n          },\n          matchNode: function (node, name, vars, similar) {\n            return matchNode(editor, node, name, vars, similar);\n          },\n          canApply: function (name) {\n            return canApply(editor, name);\n          },\n          closest: function (names) {\n            return closest(editor, names);\n          },\n          apply: function (name, vars, node) {\n            return applyFormat$1(editor, name, vars, node);\n          },\n          remove: function (name, vars, node, similar) {\n            return remove$1(editor, name, vars, node, similar);\n          },\n          toggle: function (name, vars, node) {\n            return toggle(editor, name, vars, node);\n          },\n          formatChanged: function (registeredFormatListeners, formats, callback, similar, vars) {\n            return formatChangedInternal(editor, registeredFormatListeners, formats, callback, similar, vars);\n          }\n        },\n        editor: {\n          getContent: function (args, format) {\n            return getContentInternal(editor, args, format);\n          },\n          setContent: function (content, args) {\n            return setContentInternal(editor, content, args);\n          },\n          insertContent: function (value, details) {\n            return insertHtmlAtCaret(editor, value, details);\n          },\n          addVisual: function (elm) {\n            return addVisualInternal(editor, elm);\n          }\n        },\n        selection: {\n          getContent: function (format, args) {\n            return getSelectedContentInternal(editor, format, args);\n          }\n        },\n        raw: {\n          getModel: function () {\n            return Optional.none();\n          }\n        }\n      };\n    };\n    var makeRtcAdaptor = function (rtcEditor) {\n      var defaultVars = function (vars) {\n        return isObject(vars) ? vars : {};\n      };\n      var undoManager = rtcEditor.undoManager, formatter = rtcEditor.formatter, editor = rtcEditor.editor, selection = rtcEditor.selection, raw = rtcEditor.raw;\n      return {\n        undoManager: {\n          beforeChange: undoManager.beforeChange,\n          add: undoManager.add,\n          undo: undoManager.undo,\n          redo: undoManager.redo,\n          clear: undoManager.clear,\n          reset: undoManager.reset,\n          hasUndo: undoManager.hasUndo,\n          hasRedo: undoManager.hasRedo,\n          transact: function (_undoManager, _locks, fn) {\n            return undoManager.transact(fn);\n          },\n          ignore: function (_locks, callback) {\n            return undoManager.ignore(callback);\n          },\n          extra: function (_undoManager, _index, callback1, callback2) {\n            return undoManager.extra(callback1, callback2);\n          }\n        },\n        formatter: {\n          match: function (name, vars, _node, similar) {\n            return formatter.match(name, defaultVars(vars), similar);\n          },\n          matchAll: formatter.matchAll,\n          matchNode: formatter.matchNode,\n          canApply: function (name) {\n            return formatter.canApply(name);\n          },\n          closest: function (names) {\n            return formatter.closest(names);\n          },\n          apply: function (name, vars, _node) {\n            return formatter.apply(name, defaultVars(vars));\n          },\n          remove: function (name, vars, _node, _similar) {\n            return formatter.remove(name, defaultVars(vars));\n          },\n          toggle: function (name, vars, _node) {\n            return formatter.toggle(name, defaultVars(vars));\n          },\n          formatChanged: function (_rfl, formats, callback, similar, vars) {\n            return formatter.formatChanged(formats, callback, similar, vars);\n          }\n        },\n        editor: {\n          getContent: function (args, _format) {\n            return editor.getContent(args);\n          },\n          setContent: function (content, args) {\n            return editor.setContent(content, args);\n          },\n          insertContent: function (content, _details) {\n            return editor.insertContent(content);\n          },\n          addVisual: editor.addVisual\n        },\n        selection: {\n          getContent: function (_format, args) {\n            return selection.getContent(args);\n          }\n        },\n        raw: {\n          getModel: function () {\n            return Optional.some(raw.getRawModel());\n          }\n        }\n      };\n    };\n    var makeNoopAdaptor = function () {\n      var nul = constant(null);\n      var empty = constant('');\n      return {\n        undoManager: {\n          beforeChange: noop,\n          add: nul,\n          undo: nul,\n          redo: nul,\n          clear: noop,\n          reset: noop,\n          hasUndo: never,\n          hasRedo: never,\n          transact: nul,\n          ignore: noop,\n          extra: noop\n        },\n        formatter: {\n          match: never,\n          matchAll: constant([]),\n          matchNode: constant(undefined),\n          canApply: never,\n          closest: empty,\n          apply: noop,\n          remove: noop,\n          toggle: noop,\n          formatChanged: constant({ unbind: noop })\n        },\n        editor: {\n          getContent: empty,\n          setContent: empty,\n          insertContent: noop,\n          addVisual: noop\n        },\n        selection: { getContent: empty },\n        raw: { getModel: constant(Optional.none()) }\n      };\n    };\n    var isRtc = function (editor) {\n      return has$2(editor.plugins, 'rtc');\n    };\n    var getRtcSetup = function (editor) {\n      return get$9(editor.plugins, 'rtc').bind(function (rtcPlugin) {\n        return Optional.from(rtcPlugin.setup);\n      });\n    };\n    var setup$i = function (editor) {\n      var editorCast = editor;\n      return getRtcSetup(editor).fold(function () {\n        editorCast.rtcInstance = makePlainAdaptor(editor);\n        return Optional.none();\n      }, function (setup) {\n        editorCast.rtcInstance = makeNoopAdaptor();\n        return Optional.some(function () {\n          return setup().then(function (rtcEditor) {\n            editorCast.rtcInstance = makeRtcAdaptor(rtcEditor);\n            return rtcEditor.rtc.isRemote;\n          });\n        });\n      });\n    };\n    var getRtcInstanceWithFallback = function (editor) {\n      return editor.rtcInstance ? editor.rtcInstance : makePlainAdaptor(editor);\n    };\n    var getRtcInstanceWithError = function (editor) {\n      var rtcInstance = editor.rtcInstance;\n      if (!rtcInstance) {\n        throw new Error('Failed to get RTC instance not yet initialized.');\n      } else {\n        return rtcInstance;\n      }\n    };\n    var beforeChange = function (editor, locks, beforeBookmark) {\n      getRtcInstanceWithError(editor).undoManager.beforeChange(locks, beforeBookmark);\n    };\n    var addUndoLevel = function (editor, undoManager, index, locks, beforeBookmark, level, event) {\n      return getRtcInstanceWithError(editor).undoManager.add(undoManager, index, locks, beforeBookmark, level, event);\n    };\n    var undo = function (editor, undoManager, locks, index) {\n      return getRtcInstanceWithError(editor).undoManager.undo(undoManager, locks, index);\n    };\n    var redo = function (editor, index, data) {\n      return getRtcInstanceWithError(editor).undoManager.redo(index, data);\n    };\n    var clear = function (editor, undoManager, index) {\n      getRtcInstanceWithError(editor).undoManager.clear(undoManager, index);\n    };\n    var reset = function (editor, undoManager) {\n      getRtcInstanceWithError(editor).undoManager.reset(undoManager);\n    };\n    var hasUndo = function (editor, undoManager, index) {\n      return getRtcInstanceWithError(editor).undoManager.hasUndo(undoManager, index);\n    };\n    var hasRedo = function (editor, undoManager, index) {\n      return getRtcInstanceWithError(editor).undoManager.hasRedo(undoManager, index);\n    };\n    var transact = function (editor, undoManager, locks, callback) {\n      return getRtcInstanceWithError(editor).undoManager.transact(undoManager, locks, callback);\n    };\n    var ignore = function (editor, locks, callback) {\n      getRtcInstanceWithError(editor).undoManager.ignore(locks, callback);\n    };\n    var extra = function (editor, undoManager, index, callback1, callback2) {\n      getRtcInstanceWithError(editor).undoManager.extra(undoManager, index, callback1, callback2);\n    };\n    var matchFormat = function (editor, name, vars, node, similar) {\n      return getRtcInstanceWithError(editor).formatter.match(name, vars, node, similar);\n    };\n    var matchAllFormats = function (editor, names, vars) {\n      return getRtcInstanceWithError(editor).formatter.matchAll(names, vars);\n    };\n    var matchNodeFormat = function (editor, node, name, vars, similar) {\n      return getRtcInstanceWithError(editor).formatter.matchNode(node, name, vars, similar);\n    };\n    var canApplyFormat = function (editor, name) {\n      return getRtcInstanceWithError(editor).formatter.canApply(name);\n    };\n    var closestFormat = function (editor, names) {\n      return getRtcInstanceWithError(editor).formatter.closest(names);\n    };\n    var applyFormat = function (editor, name, vars, node) {\n      getRtcInstanceWithError(editor).formatter.apply(name, vars, node);\n    };\n    var removeFormat = function (editor, name, vars, node, similar) {\n      getRtcInstanceWithError(editor).formatter.remove(name, vars, node, similar);\n    };\n    var toggleFormat = function (editor, name, vars, node) {\n      getRtcInstanceWithError(editor).formatter.toggle(name, vars, node);\n    };\n    var formatChanged = function (editor, registeredFormatListeners, formats, callback, similar, vars) {\n      return getRtcInstanceWithError(editor).formatter.formatChanged(registeredFormatListeners, formats, callback, similar, vars);\n    };\n    var getContent$2 = function (editor, args, format) {\n      return getRtcInstanceWithFallback(editor).editor.getContent(args, format);\n    };\n    var setContent$2 = function (editor, content, args) {\n      return getRtcInstanceWithFallback(editor).editor.setContent(content, args);\n    };\n    var insertContent = function (editor, value, details) {\n      return getRtcInstanceWithFallback(editor).editor.insertContent(value, details);\n    };\n    var getSelectedContent = function (editor, format, args) {\n      return getRtcInstanceWithError(editor).selection.getContent(format, args);\n    };\n    var addVisual$1 = function (editor, elm) {\n      return getRtcInstanceWithError(editor).editor.addVisual(elm);\n    };\n\n    var getContent$1 = function (editor, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      var format = args.format ? args.format : 'html';\n      return getSelectedContent(editor, format, args);\n    };\n\n    var removeEmpty = function (text) {\n      if (text.dom.length === 0) {\n        remove$7(text);\n        return Optional.none();\n      } else {\n        return Optional.some(text);\n      }\n    };\n    var walkPastBookmark = function (node, start) {\n      return node.filter(function (elm) {\n        return BookmarkManager.isBookmarkNode(elm.dom);\n      }).bind(start ? nextSibling : prevSibling);\n    };\n    var merge = function (outer, inner, rng, start) {\n      var outerElm = outer.dom;\n      var innerElm = inner.dom;\n      var oldLength = start ? outerElm.length : innerElm.length;\n      if (start) {\n        mergeTextNodes(outerElm, innerElm, false, !start);\n        rng.setStart(innerElm, oldLength);\n      } else {\n        mergeTextNodes(innerElm, outerElm, false, !start);\n        rng.setEnd(innerElm, oldLength);\n      }\n    };\n    var normalizeTextIfRequired = function (inner, start) {\n      parent(inner).each(function (root) {\n        var text = inner.dom;\n        if (start && needsToBeNbspLeft(root, CaretPosition(text, 0))) {\n          normalizeWhitespaceAfter(text, 0);\n        } else if (!start && needsToBeNbspRight(root, CaretPosition(text, text.length))) {\n          normalizeWhitespaceBefore(text, text.length);\n        }\n      });\n    };\n    var mergeAndNormalizeText = function (outerNode, innerNode, rng, start) {\n      outerNode.bind(function (outer) {\n        var normalizer = start ? normalizeWhitespaceBefore : normalizeWhitespaceAfter;\n        normalizer(outer.dom, start ? outer.dom.length : 0);\n        return innerNode.filter(isText$8).map(function (inner) {\n          return merge(outer, inner, rng, start);\n        });\n      }).orThunk(function () {\n        var innerTextNode = walkPastBookmark(innerNode, start).or(innerNode).filter(isText$8);\n        return innerTextNode.map(function (inner) {\n          return normalizeTextIfRequired(inner, start);\n        });\n      });\n    };\n    var rngSetContent = function (rng, fragment) {\n      var firstChild = Optional.from(fragment.firstChild).map(SugarElement.fromDom);\n      var lastChild = Optional.from(fragment.lastChild).map(SugarElement.fromDom);\n      rng.deleteContents();\n      rng.insertNode(fragment);\n      var prevText = firstChild.bind(prevSibling).filter(isText$8).bind(removeEmpty);\n      var nextText = lastChild.bind(nextSibling).filter(isText$8).bind(removeEmpty);\n      mergeAndNormalizeText(prevText, firstChild, rng, true);\n      mergeAndNormalizeText(nextText, lastChild, rng, false);\n      rng.collapse(false);\n    };\n    var setupArgs = function (args, content) {\n      return __assign(__assign({ format: 'html' }, args), {\n        set: true,\n        selection: true,\n        content: content\n      });\n    };\n    var cleanContent = function (editor, args) {\n      if (args.format !== 'raw') {\n        var rng = editor.selection.getRng();\n        var contextBlock = editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock);\n        var contextArgs = contextBlock ? { context: contextBlock.nodeName.toLowerCase() } : {};\n        var node = editor.parser.parse(args.content, __assign(__assign({\n          isRootContent: true,\n          forced_root_block: false\n        }, contextArgs), args));\n        return HtmlSerializer({ validate: editor.validate }, editor.schema).serialize(node);\n      } else {\n        return args.content;\n      }\n    };\n    var setContent$1 = function (editor, content, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      var defaultedArgs = setupArgs(args, content);\n      var updatedArgs = defaultedArgs;\n      if (!defaultedArgs.no_events) {\n        var eventArgs = editor.fire('BeforeSetContent', defaultedArgs);\n        if (eventArgs.isDefaultPrevented()) {\n          editor.fire('SetContent', eventArgs);\n          return;\n        } else {\n          updatedArgs = eventArgs;\n        }\n      }\n      updatedArgs.content = cleanContent(editor, updatedArgs);\n      var rng = editor.selection.getRng();\n      rngSetContent(rng, rng.createContextualFragment(updatedArgs.content));\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n      if (!updatedArgs.no_events) {\n        editor.fire('SetContent', updatedArgs);\n      }\n    };\n\n    var deleteFromCallbackMap = function (callbackMap, selector, callback) {\n      if (callbackMap && has$2(callbackMap, selector)) {\n        var newCallbacks = filter$4(callbackMap[selector], function (cb) {\n          return cb !== callback;\n        });\n        if (newCallbacks.length === 0) {\n          delete callbackMap[selector];\n        } else {\n          callbackMap[selector] = newCallbacks;\n        }\n      }\n    };\n    function SelectorChanged (dom, editor) {\n      var selectorChangedData;\n      var currentSelectors;\n      var findMatchingNode = function (selector, nodes) {\n        return find$3(nodes, function (node) {\n          return dom.is(node, selector);\n        });\n      };\n      var getParents = function (elem) {\n        return dom.getParents(elem, null, dom.getRoot());\n      };\n      return {\n        selectorChangedWithUnbind: function (selector, callback) {\n          if (!selectorChangedData) {\n            selectorChangedData = {};\n            currentSelectors = {};\n            editor.on('NodeChange', function (e) {\n              var node = e.element;\n              var parents = getParents(node);\n              var matchedSelectors = {};\n              Tools.each(selectorChangedData, function (callbacks, selector) {\n                findMatchingNode(selector, parents).each(function (node) {\n                  if (!currentSelectors[selector]) {\n                    each$k(callbacks, function (callback) {\n                      callback(true, {\n                        node: node,\n                        selector: selector,\n                        parents: parents\n                      });\n                    });\n                    currentSelectors[selector] = callbacks;\n                  }\n                  matchedSelectors[selector] = callbacks;\n                });\n              });\n              Tools.each(currentSelectors, function (callbacks, selector) {\n                if (!matchedSelectors[selector]) {\n                  delete currentSelectors[selector];\n                  Tools.each(callbacks, function (callback) {\n                    callback(false, {\n                      node: node,\n                      selector: selector,\n                      parents: parents\n                    });\n                  });\n                }\n              });\n            });\n          }\n          if (!selectorChangedData[selector]) {\n            selectorChangedData[selector] = [];\n          }\n          selectorChangedData[selector].push(callback);\n          findMatchingNode(selector, getParents(editor.selection.getStart())).each(function () {\n            currentSelectors[selector] = selectorChangedData[selector];\n          });\n          return {\n            unbind: function () {\n              deleteFromCallbackMap(selectorChangedData, selector, callback);\n              deleteFromCallbackMap(currentSelectors, selector, callback);\n            }\n          };\n        }\n      };\n    }\n\n    var isNativeIeSelection = function (rng) {\n      return !!rng.select;\n    };\n    var isAttachedToDom = function (node) {\n      return !!(node && node.ownerDocument) && contains$1(SugarElement.fromDom(node.ownerDocument), SugarElement.fromDom(node));\n    };\n    var isValidRange = function (rng) {\n      if (!rng) {\n        return false;\n      } else if (isNativeIeSelection(rng)) {\n        return true;\n      } else {\n        return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer);\n      }\n    };\n    var EditorSelection = function (dom, win, serializer, editor) {\n      var selectedRange;\n      var explicitRange;\n      var selectorChangedWithUnbind = SelectorChanged(dom, editor).selectorChangedWithUnbind;\n      var setCursorLocation = function (node, offset) {\n        var rng = dom.createRng();\n        if (isNonNullable(node) && isNonNullable(offset)) {\n          rng.setStart(node, offset);\n          rng.setEnd(node, offset);\n          setRng(rng);\n          collapse(false);\n        } else {\n          moveEndPoint(dom, rng, editor.getBody(), true);\n          setRng(rng);\n        }\n      };\n      var getContent = function (args) {\n        return getContent$1(editor, args);\n      };\n      var setContent = function (content, args) {\n        return setContent$1(editor, content, args);\n      };\n      var getStart$1 = function (real) {\n        return getStart(editor.getBody(), getRng$1(), real);\n      };\n      var getEnd$1 = function (real) {\n        return getEnd(editor.getBody(), getRng$1(), real);\n      };\n      var getBookmark = function (type, normalized) {\n        return bookmarkManager.getBookmark(type, normalized);\n      };\n      var moveToBookmark = function (bookmark) {\n        return bookmarkManager.moveToBookmark(bookmark);\n      };\n      var select$1 = function (node, content) {\n        select(dom, node, content).each(setRng);\n        return node;\n      };\n      var isCollapsed = function () {\n        var rng = getRng$1(), sel = getSel();\n        if (!rng || rng.item) {\n          return false;\n        }\n        if (rng.compareEndPoints) {\n          return rng.compareEndPoints('StartToEnd', rng) === 0;\n        }\n        return !sel || rng.collapsed;\n      };\n      var collapse = function (toStart) {\n        var rng = getRng$1();\n        rng.collapse(!!toStart);\n        setRng(rng);\n      };\n      var getSel = function () {\n        return win.getSelection ? win.getSelection() : win.document.selection;\n      };\n      var getRng$1 = function () {\n        var selection, rng, elm;\n        var tryCompareBoundaryPoints = function (how, sourceRange, destinationRange) {\n          try {\n            return sourceRange.compareBoundaryPoints(how, destinationRange);\n          } catch (ex) {\n            return -1;\n          }\n        };\n        var doc = win.document;\n        if (editor.bookmark !== undefined && hasFocus(editor) === false) {\n          var bookmark = getRng(editor);\n          if (bookmark.isSome()) {\n            return bookmark.map(function (r) {\n              return processRanges(editor, [r])[0];\n            }).getOr(doc.createRange());\n          }\n        }\n        try {\n          if ((selection = getSel()) && !isRestrictedNode(selection.anchorNode)) {\n            if (selection.rangeCount > 0) {\n              rng = selection.getRangeAt(0);\n            } else {\n              rng = selection.createRange ? selection.createRange() : doc.createRange();\n            }\n            rng = processRanges(editor, [rng])[0];\n          }\n        } catch (ex) {\n        }\n        if (!rng) {\n          rng = doc.createRange ? doc.createRange() : doc.body.createTextRange();\n        }\n        if (rng.setStart && rng.startContainer.nodeType === 9 && rng.collapsed) {\n          elm = dom.getRoot();\n          rng.setStart(elm, 0);\n          rng.setEnd(elm, 0);\n        }\n        if (selectedRange && explicitRange) {\n          if (tryCompareBoundaryPoints(rng.START_TO_START, rng, selectedRange) === 0 && tryCompareBoundaryPoints(rng.END_TO_END, rng, selectedRange) === 0) {\n            rng = explicitRange;\n          } else {\n            selectedRange = null;\n            explicitRange = null;\n          }\n        }\n        return rng;\n      };\n      var setRng = function (rng, forward) {\n        var node;\n        if (!isValidRange(rng)) {\n          return;\n        }\n        var ieRange = isNativeIeSelection(rng) ? rng : null;\n        if (ieRange) {\n          explicitRange = null;\n          try {\n            ieRange.select();\n          } catch (ex) {\n          }\n          return;\n        }\n        var sel = getSel();\n        var evt = editor.fire('SetSelectionRange', {\n          range: rng,\n          forward: forward\n        });\n        rng = evt.range;\n        if (sel) {\n          explicitRange = rng;\n          try {\n            sel.removeAllRanges();\n            sel.addRange(rng);\n          } catch (ex) {\n          }\n          if (forward === false && sel.extend) {\n            sel.collapse(rng.endContainer, rng.endOffset);\n            sel.extend(rng.startContainer, rng.startOffset);\n          }\n          selectedRange = sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n        }\n        if (!rng.collapsed && rng.startContainer === rng.endContainer && sel.setBaseAndExtent && !Env.ie) {\n          if (rng.endOffset - rng.startOffset < 2) {\n            if (rng.startContainer.hasChildNodes()) {\n              node = rng.startContainer.childNodes[rng.startOffset];\n              if (node && node.tagName === 'IMG') {\n                sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset);\n                if (sel.anchorNode !== rng.startContainer || sel.focusNode !== rng.endContainer) {\n                  sel.setBaseAndExtent(node, 0, node, 1);\n                }\n              }\n            }\n          }\n        }\n        editor.fire('AfterSetSelectionRange', {\n          range: rng,\n          forward: forward\n        });\n      };\n      var setNode = function (elm) {\n        setContent(dom.getOuterHTML(elm));\n        return elm;\n      };\n      var getNode$1 = function () {\n        return getNode(editor.getBody(), getRng$1());\n      };\n      var getSelectedBlocks$1 = function (startElm, endElm) {\n        return getSelectedBlocks(dom, getRng$1(), startElm, endElm);\n      };\n      var isForward = function () {\n        var sel = getSel();\n        var anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n        var focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n        if (!sel || !anchorNode || !focusNode || isRestrictedNode(anchorNode) || isRestrictedNode(focusNode)) {\n          return true;\n        }\n        var anchorRange = dom.createRng();\n        anchorRange.setStart(anchorNode, sel.anchorOffset);\n        anchorRange.collapse(true);\n        var focusRange = dom.createRng();\n        focusRange.setStart(focusNode, sel.focusOffset);\n        focusRange.collapse(true);\n        return anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, focusRange) <= 0;\n      };\n      var normalize = function () {\n        var rng = getRng$1();\n        var sel = getSel();\n        if (!hasMultipleRanges(sel) && hasAnyRanges(editor)) {\n          var normRng = normalize$2(dom, rng);\n          normRng.each(function (normRng) {\n            setRng(normRng, isForward());\n          });\n          return normRng.getOr(rng);\n        }\n        return rng;\n      };\n      var selectorChanged = function (selector, callback) {\n        selectorChangedWithUnbind(selector, callback);\n        return exports;\n      };\n      var getScrollContainer = function () {\n        var scrollContainer;\n        var node = dom.getRoot();\n        while (node && node.nodeName !== 'BODY') {\n          if (node.scrollHeight > node.clientHeight) {\n            scrollContainer = node;\n            break;\n          }\n          node = node.parentNode;\n        }\n        return scrollContainer;\n      };\n      var scrollIntoView = function (elm, alignToTop) {\n        if (isNonNullable(elm)) {\n          scrollElementIntoView(editor, elm, alignToTop);\n        } else {\n          scrollRangeIntoView(editor, getRng$1(), alignToTop);\n        }\n      };\n      var placeCaretAt = function (clientX, clientY) {\n        return setRng(fromPoint(clientX, clientY, editor.getDoc()));\n      };\n      var getBoundingClientRect = function () {\n        var rng = getRng$1();\n        return rng.collapsed ? CaretPosition.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect();\n      };\n      var destroy = function () {\n        win = selectedRange = explicitRange = null;\n        controlSelection.destroy();\n      };\n      var exports = {\n        bookmarkManager: null,\n        controlSelection: null,\n        dom: dom,\n        win: win,\n        serializer: serializer,\n        editor: editor,\n        collapse: collapse,\n        setCursorLocation: setCursorLocation,\n        getContent: getContent,\n        setContent: setContent,\n        getBookmark: getBookmark,\n        moveToBookmark: moveToBookmark,\n        select: select$1,\n        isCollapsed: isCollapsed,\n        isForward: isForward,\n        setNode: setNode,\n        getNode: getNode$1,\n        getSel: getSel,\n        setRng: setRng,\n        getRng: getRng$1,\n        getStart: getStart$1,\n        getEnd: getEnd$1,\n        getSelectedBlocks: getSelectedBlocks$1,\n        normalize: normalize,\n        selectorChanged: selectorChanged,\n        selectorChangedWithUnbind: selectorChangedWithUnbind,\n        getScrollContainer: getScrollContainer,\n        scrollIntoView: scrollIntoView,\n        placeCaretAt: placeCaretAt,\n        getBoundingClientRect: getBoundingClientRect,\n        destroy: destroy\n      };\n      var bookmarkManager = BookmarkManager(exports);\n      var controlSelection = ControlSelection(exports, editor);\n      exports.bookmarkManager = bookmarkManager;\n      exports.controlSelection = controlSelection;\n      return exports;\n    };\n\n    var removeAttrs = function (node, names) {\n      each$k(names, function (name) {\n        node.attr(name, null);\n      });\n    };\n    var addFontToSpansFilter = function (domParser, styles, fontSizes) {\n      domParser.addNodeFilter('font', function (nodes) {\n        each$k(nodes, function (node) {\n          var props = styles.parse(node.attr('style'));\n          var color = node.attr('color');\n          var face = node.attr('face');\n          var size = node.attr('size');\n          if (color) {\n            props.color = color;\n          }\n          if (face) {\n            props['font-family'] = face;\n          }\n          if (size) {\n            props['font-size'] = fontSizes[parseInt(node.attr('size'), 10) - 1];\n          }\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n          removeAttrs(node, [\n            'color',\n            'face',\n            'size'\n          ]);\n        });\n      });\n    };\n    var addStrikeToSpanFilter = function (domParser, styles) {\n      domParser.addNodeFilter('strike', function (nodes) {\n        each$k(nodes, function (node) {\n          var props = styles.parse(node.attr('style'));\n          props['text-decoration'] = 'line-through';\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n        });\n      });\n    };\n    var addFilters = function (domParser, settings) {\n      var styles = Styles();\n      if (settings.convert_fonts_to_spans) {\n        addFontToSpansFilter(domParser, styles, Tools.explode(settings.font_size_legacy_values));\n      }\n      addStrikeToSpanFilter(domParser, styles);\n    };\n    var register$2 = function (domParser, settings) {\n      if (settings.inline_styles) {\n        addFilters(domParser, settings);\n      }\n    };\n\n    var blobUriToBlob = function (url) {\n      return new promiseObj(function (resolve, reject) {\n        var rejectWithError = function () {\n          reject('Cannot convert ' + url + ' to Blob. Resource might not exist or is inaccessible.');\n        };\n        try {\n          var xhr_1 = new XMLHttpRequest();\n          xhr_1.open('GET', url, true);\n          xhr_1.responseType = 'blob';\n          xhr_1.onload = function () {\n            if (xhr_1.status === 200) {\n              resolve(xhr_1.response);\n            } else {\n              rejectWithError();\n            }\n          };\n          xhr_1.onerror = rejectWithError;\n          xhr_1.send();\n        } catch (ex) {\n          rejectWithError();\n        }\n      });\n    };\n    var parseDataUri = function (uri) {\n      var type;\n      var uriParts = decodeURIComponent(uri).split(',');\n      var matches = /data:([^;]+)/.exec(uriParts[0]);\n      if (matches) {\n        type = matches[1];\n      }\n      return {\n        type: type,\n        data: uriParts[1]\n      };\n    };\n    var buildBlob = function (type, data) {\n      var str;\n      try {\n        str = atob(data);\n      } catch (e) {\n        return Optional.none();\n      }\n      var arr = new Uint8Array(str.length);\n      for (var i = 0; i < arr.length; i++) {\n        arr[i] = str.charCodeAt(i);\n      }\n      return Optional.some(new Blob([arr], { type: type }));\n    };\n    var dataUriToBlob = function (uri) {\n      return new promiseObj(function (resolve) {\n        var _a = parseDataUri(uri), type = _a.type, data = _a.data;\n        buildBlob(type, data).fold(function () {\n          return resolve(new Blob([]));\n        }, resolve);\n      });\n    };\n    var uriToBlob = function (url) {\n      if (url.indexOf('blob:') === 0) {\n        return blobUriToBlob(url);\n      }\n      if (url.indexOf('data:') === 0) {\n        return dataUriToBlob(url);\n      }\n      return null;\n    };\n    var blobToDataUri = function (blob) {\n      return new promiseObj(function (resolve) {\n        var reader = new FileReader();\n        reader.onloadend = function () {\n          resolve(reader.result);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n\n    var count$1 = 0;\n    var uniqueId = function (prefix) {\n      return (prefix || 'blobid') + count$1++;\n    };\n    var imageToBlobInfo = function (blobCache, img, resolve, reject) {\n      var base64, blobInfo;\n      if (img.src.indexOf('blob:') === 0) {\n        blobInfo = blobCache.getByUri(img.src);\n        if (blobInfo) {\n          resolve({\n            image: img,\n            blobInfo: blobInfo\n          });\n        } else {\n          uriToBlob(img.src).then(function (blob) {\n            blobToDataUri(blob).then(function (dataUri) {\n              base64 = parseDataUri(dataUri).data;\n              blobInfo = blobCache.create(uniqueId(), blob, base64);\n              blobCache.add(blobInfo);\n              resolve({\n                image: img,\n                blobInfo: blobInfo\n              });\n            });\n          }, function (err) {\n            reject(err);\n          });\n        }\n        return;\n      }\n      var _a = parseDataUri(img.src), data = _a.data, type = _a.type;\n      base64 = data;\n      blobInfo = blobCache.getByData(base64, type);\n      if (blobInfo) {\n        resolve({\n          image: img,\n          blobInfo: blobInfo\n        });\n      } else {\n        uriToBlob(img.src).then(function (blob) {\n          blobInfo = blobCache.create(uniqueId(), blob, base64);\n          blobCache.add(blobInfo);\n          resolve({\n            image: img,\n            blobInfo: blobInfo\n          });\n        }, function (err) {\n          reject(err);\n        });\n      }\n    };\n    var getAllImages = function (elm) {\n      return elm ? from(elm.getElementsByTagName('img')) : [];\n    };\n    var ImageScanner = function (uploadStatus, blobCache) {\n      var cachedPromises = {};\n      var findAll = function (elm, predicate) {\n        if (!predicate) {\n          predicate = always;\n        }\n        var images = filter$4(getAllImages(elm), function (img) {\n          var src = img.src;\n          if (!Env.fileApi) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === Env.transparentSrc) {\n            return false;\n          }\n          if (src.indexOf('blob:') === 0) {\n            return !uploadStatus.isUploaded(src) && predicate(img);\n          }\n          if (src.indexOf('data:') === 0) {\n            return predicate(img);\n          }\n          return false;\n        });\n        var promises = map$3(images, function (img) {\n          if (cachedPromises[img.src] !== undefined) {\n            return new promiseObj(function (resolve) {\n              cachedPromises[img.src].then(function (imageInfo) {\n                if (typeof imageInfo === 'string') {\n                  return imageInfo;\n                }\n                resolve({\n                  image: img,\n                  blobInfo: imageInfo.blobInfo\n                });\n              });\n            });\n          }\n          var newPromise = new promiseObj(function (resolve, reject) {\n            imageToBlobInfo(blobCache, img, resolve, reject);\n          }).then(function (result) {\n            delete cachedPromises[result.image.src];\n            return result;\n          }).catch(function (error) {\n            delete cachedPromises[img.src];\n            return error;\n          });\n          cachedPromises[img.src] = newPromise;\n          return newPromise;\n        });\n        return promiseObj.all(promises);\n      };\n      return { findAll: findAll };\n    };\n\n    var paddEmptyNode = function (settings, args, blockElements, node) {\n      var brPreferred = settings.padd_empty_with_br || args.insert;\n      if (brPreferred && blockElements[node.name]) {\n        node.empty().append(new AstNode('br', 1)).shortEnded = true;\n      } else {\n        node.empty().append(new AstNode('#text', 3)).value = nbsp;\n      }\n    };\n    var isPaddedWithNbsp = function (node) {\n      return hasOnlyChild(node, '#text') && node.firstChild.value === nbsp;\n    };\n    var hasOnlyChild = function (node, name) {\n      return node && node.firstChild && node.firstChild === node.lastChild && node.firstChild.name === name;\n    };\n    var isPadded = function (schema, node) {\n      var rule = schema.getElementRule(node.name);\n      return rule && rule.paddEmpty;\n    };\n    var isEmpty = function (schema, nonEmptyElements, whitespaceElements, node) {\n      return node.isEmpty(nonEmptyElements, whitespaceElements, function (node) {\n        return isPadded(schema, node);\n      });\n    };\n    var isLineBreakNode = function (node, blockElements) {\n      return node && (has$2(blockElements, node.name) || node.name === 'br');\n    };\n\n    var isBogusImage = function (img) {\n      return isNonNullable(img.attr('data-mce-bogus'));\n    };\n    var isInternalImageSource = function (img) {\n      return img.attr('src') === Env.transparentSrc || isNonNullable(img.attr('data-mce-placeholder'));\n    };\n    var isValidDataImg = function (img, settings) {\n      if (settings.images_dataimg_filter) {\n        var imgElem_1 = new Image();\n        imgElem_1.src = img.attr('src');\n        each$j(img.attributes.map, function (value, key) {\n          imgElem_1.setAttribute(key, value);\n        });\n        return settings.images_dataimg_filter(imgElem_1);\n      } else {\n        return true;\n      }\n    };\n    var registerBase64ImageFilter = function (parser, settings) {\n      var blobCache = settings.blob_cache;\n      var processImage = function (img) {\n        var inputSrc = img.attr('src');\n        if (isInternalImageSource(img) || isBogusImage(img)) {\n          return;\n        }\n        parseDataUri$1(inputSrc).filter(function () {\n          return isValidDataImg(img, settings);\n        }).bind(function (_a) {\n          var type = _a.type, data = _a.data;\n          return Optional.from(blobCache.getByData(data, type)).orThunk(function () {\n            return buildBlob(type, data).map(function (blob) {\n              var blobInfo = blobCache.create(uniqueId(), blob, data);\n              blobCache.add(blobInfo);\n              return blobInfo;\n            });\n          });\n        }).each(function (blobInfo) {\n          img.attr('src', blobInfo.blobUri());\n        });\n      };\n      if (blobCache) {\n        parser.addAttributeFilter('src', function (nodes) {\n          return each$k(nodes, processImage);\n        });\n      }\n    };\n    var register$1 = function (parser, settings) {\n      var schema = parser.schema;\n      if (settings.remove_trailing_brs) {\n        parser.addNodeFilter('br', function (nodes, _, args) {\n          var i;\n          var l = nodes.length;\n          var node;\n          var blockElements = Tools.extend({}, schema.getBlockElements());\n          var nonEmptyElements = schema.getNonEmptyElements();\n          var parent, lastParent, prev, prevName;\n          var whiteSpaceElements = schema.getWhiteSpaceElements();\n          var elementRule, textNode;\n          blockElements.body = 1;\n          for (i = 0; i < l; i++) {\n            node = nodes[i];\n            parent = node.parent;\n            if (blockElements[node.parent.name] && node === parent.lastChild) {\n              prev = node.prev;\n              while (prev) {\n                prevName = prev.name;\n                if (prevName !== 'span' || prev.attr('data-mce-type') !== 'bookmark') {\n                  if (prevName === 'br') {\n                    node = null;\n                  }\n                  break;\n                }\n                prev = prev.prev;\n              }\n              if (node) {\n                node.remove();\n                if (isEmpty(schema, nonEmptyElements, whiteSpaceElements, parent)) {\n                  elementRule = schema.getElementRule(parent.name);\n                  if (elementRule) {\n                    if (elementRule.removeEmpty) {\n                      parent.remove();\n                    } else if (elementRule.paddEmpty) {\n                      paddEmptyNode(settings, args, blockElements, parent);\n                    }\n                  }\n                }\n              }\n            } else {\n              lastParent = node;\n              while (parent && parent.firstChild === lastParent && parent.lastChild === lastParent) {\n                lastParent = parent;\n                if (blockElements[parent.name]) {\n                  break;\n                }\n                parent = parent.parent;\n              }\n              if (lastParent === parent && settings.padd_empty_with_br !== true) {\n                textNode = new AstNode('#text', 3);\n                textNode.value = nbsp;\n                node.replace(textNode);\n              }\n            }\n          }\n        });\n      }\n      parser.addAttributeFilter('href', function (nodes) {\n        var i = nodes.length;\n        var appendRel = function (rel) {\n          var parts = rel.split(' ').filter(function (p) {\n            return p.length > 0;\n          });\n          return parts.concat(['noopener']).sort().join(' ');\n        };\n        var addNoOpener = function (rel) {\n          var newRel = rel ? Tools.trim(rel) : '';\n          if (!/\\b(noopener)\\b/g.test(newRel)) {\n            return appendRel(newRel);\n          } else {\n            return newRel;\n          }\n        };\n        if (!settings.allow_unsafe_link_target) {\n          while (i--) {\n            var node = nodes[i];\n            if (node.name === 'a' && node.attr('target') === '_blank') {\n              node.attr('rel', addNoOpener(node.attr('rel')));\n            }\n          }\n        }\n      });\n      if (!settings.allow_html_in_named_anchor) {\n        parser.addAttributeFilter('id,name', function (nodes) {\n          var i = nodes.length, sibling, prevSibling, parent, node;\n          while (i--) {\n            node = nodes[i];\n            if (node.name === 'a' && node.firstChild && !node.attr('href')) {\n              parent = node.parent;\n              sibling = node.lastChild;\n              do {\n                prevSibling = sibling.prev;\n                parent.insert(sibling, node);\n                sibling = prevSibling;\n              } while (sibling);\n            }\n          }\n        });\n      }\n      if (settings.fix_list_elements) {\n        parser.addNodeFilter('ul,ol', function (nodes) {\n          var i = nodes.length, node, parentNode;\n          while (i--) {\n            node = nodes[i];\n            parentNode = node.parent;\n            if (parentNode.name === 'ul' || parentNode.name === 'ol') {\n              if (node.prev && node.prev.name === 'li') {\n                node.prev.append(node);\n              } else {\n                var li = new AstNode('li', 1);\n                li.attr('style', 'list-style-type: none');\n                node.wrap(li);\n              }\n            }\n          }\n        });\n      }\n      if (settings.validate && schema.getValidClasses()) {\n        parser.addAttributeFilter('class', function (nodes) {\n          var validClasses = schema.getValidClasses();\n          var i = nodes.length;\n          while (i--) {\n            var node = nodes[i];\n            var classList = node.attr('class').split(' ');\n            var classValue = '';\n            for (var ci = 0; ci < classList.length; ci++) {\n              var className = classList[ci];\n              var valid = false;\n              var validClassesMap = validClasses['*'];\n              if (validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              validClassesMap = validClasses[node.name];\n              if (!valid && validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              if (valid) {\n                if (classValue) {\n                  classValue += ' ';\n                }\n                classValue += className;\n              }\n            }\n            if (!classValue.length) {\n              classValue = null;\n            }\n            node.attr('class', classValue);\n          }\n        });\n      }\n      registerBase64ImageFilter(parser, settings);\n    };\n\n    var makeMap = Tools.makeMap, each$6 = Tools.each, explode$2 = Tools.explode, extend$4 = Tools.extend;\n    var DomParser = function (settings, schema) {\n      if (schema === void 0) {\n        schema = Schema();\n      }\n      var nodeFilters = {};\n      var attributeFilters = [];\n      var matchedNodes = {};\n      var matchedAttributes = {};\n      settings = settings || {};\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      settings.root_name = settings.root_name || 'body';\n      var fixInvalidChildren = function (nodes) {\n        var nonSplitableElements = makeMap('tr,td,th,tbody,thead,tfoot,table');\n        var nonEmptyElements = schema.getNonEmptyElements();\n        var whitespaceElements = schema.getWhiteSpaceElements();\n        var textBlockElements = schema.getTextBlockElements();\n        var specialElements = schema.getSpecialElements();\n        var removeOrUnwrapInvalidNode = function (node, originalNodeParent) {\n          if (originalNodeParent === void 0) {\n            originalNodeParent = node.parent;\n          }\n          if (specialElements[node.name]) {\n            node.empty().remove();\n          } else {\n            var children = node.children();\n            for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {\n              var childNode = children_1[_i];\n              if (!schema.isValidChild(originalNodeParent.name, childNode.name)) {\n                removeOrUnwrapInvalidNode(childNode, originalNodeParent);\n              }\n            }\n            node.unwrap();\n          }\n        };\n        for (var ni = 0; ni < nodes.length; ni++) {\n          var node = nodes[ni];\n          var parent_1 = void 0, newParent = void 0, tempNode = void 0;\n          if (!node.parent || node.fixed) {\n            continue;\n          }\n          if (textBlockElements[node.name] && node.parent.name === 'li') {\n            var sibling = node.next;\n            while (sibling) {\n              if (textBlockElements[sibling.name]) {\n                sibling.name = 'li';\n                sibling.fixed = true;\n                node.parent.insert(sibling, node.parent);\n              } else {\n                break;\n              }\n              sibling = sibling.next;\n            }\n            node.unwrap();\n            continue;\n          }\n          var parents = [node];\n          for (parent_1 = node.parent; parent_1 && !schema.isValidChild(parent_1.name, node.name) && !nonSplitableElements[parent_1.name]; parent_1 = parent_1.parent) {\n            parents.push(parent_1);\n          }\n          if (parent_1 && parents.length > 1) {\n            if (schema.isValidChild(parent_1.name, node.name)) {\n              parents.reverse();\n              newParent = filterNode(parents[0].clone());\n              var currentNode = newParent;\n              for (var i = 0; i < parents.length - 1; i++) {\n                if (schema.isValidChild(currentNode.name, parents[i].name)) {\n                  tempNode = filterNode(parents[i].clone());\n                  currentNode.append(tempNode);\n                } else {\n                  tempNode = currentNode;\n                }\n                for (var childNode = parents[i].firstChild; childNode && childNode !== parents[i + 1];) {\n                  var nextNode = childNode.next;\n                  tempNode.append(childNode);\n                  childNode = nextNode;\n                }\n                currentNode = tempNode;\n              }\n              if (!isEmpty(schema, nonEmptyElements, whitespaceElements, newParent)) {\n                parent_1.insert(newParent, parents[0], true);\n                parent_1.insert(node, newParent);\n              } else {\n                parent_1.insert(node, parents[0], true);\n              }\n              parent_1 = parents[0];\n              if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent_1) || hasOnlyChild(parent_1, 'br')) {\n                parent_1.empty().remove();\n              }\n            } else {\n              removeOrUnwrapInvalidNode(node);\n            }\n          } else if (node.parent) {\n            if (node.name === 'li') {\n              var sibling = node.prev;\n              if (sibling && (sibling.name === 'ul' || sibling.name === 'ol')) {\n                sibling.append(node);\n                continue;\n              }\n              sibling = node.next;\n              if (sibling && (sibling.name === 'ul' || sibling.name === 'ol')) {\n                sibling.insert(node, sibling.firstChild, true);\n                continue;\n              }\n              node.wrap(filterNode(new AstNode('ul', 1)));\n              continue;\n            }\n            if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) {\n              node.wrap(filterNode(new AstNode('div', 1)));\n            } else {\n              removeOrUnwrapInvalidNode(node);\n            }\n          }\n        }\n      };\n      var filterNode = function (node) {\n        var name = node.name;\n        if (name in nodeFilters) {\n          var list = matchedNodes[name];\n          if (list) {\n            list.push(node);\n          } else {\n            matchedNodes[name] = [node];\n          }\n        }\n        var i = attributeFilters.length;\n        while (i--) {\n          var attrName = attributeFilters[i].name;\n          if (attrName in node.attributes.map) {\n            var list = matchedAttributes[attrName];\n            if (list) {\n              list.push(node);\n            } else {\n              matchedAttributes[attrName] = [node];\n            }\n          }\n        }\n        return node;\n      };\n      var addNodeFilter = function (name, callback) {\n        each$6(explode$2(name), function (name) {\n          var list = nodeFilters[name];\n          if (!list) {\n            nodeFilters[name] = list = [];\n          }\n          list.push(callback);\n        });\n      };\n      var getNodeFilters = function () {\n        var out = [];\n        for (var name_1 in nodeFilters) {\n          if (has$2(nodeFilters, name_1)) {\n            out.push({\n              name: name_1,\n              callbacks: nodeFilters[name_1]\n            });\n          }\n        }\n        return out;\n      };\n      var addAttributeFilter = function (name, callback) {\n        each$6(explode$2(name), function (name) {\n          var i;\n          for (i = 0; i < attributeFilters.length; i++) {\n            if (attributeFilters[i].name === name) {\n              attributeFilters[i].callbacks.push(callback);\n              return;\n            }\n          }\n          attributeFilters.push({\n            name: name,\n            callbacks: [callback]\n          });\n        });\n      };\n      var getAttributeFilters = function () {\n        return [].concat(attributeFilters);\n      };\n      var parse = function (html, args) {\n        var nodes, i, l, fi, fl, list, name;\n        var invalidChildren = [];\n        var node;\n        var getRootBlockName = function (name) {\n          if (name === false) {\n            return '';\n          } else if (name === true) {\n            return 'p';\n          } else {\n            return name;\n          }\n        };\n        args = args || {};\n        matchedNodes = {};\n        matchedAttributes = {};\n        var blockElements = extend$4(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n        var nonEmptyElements = schema.getNonEmptyElements();\n        var children = schema.children;\n        var validate = settings.validate;\n        var forcedRootBlockName = 'forced_root_block' in args ? args.forced_root_block : settings.forced_root_block;\n        var rootBlockName = getRootBlockName(forcedRootBlockName);\n        var whiteSpaceElements = schema.getWhiteSpaceElements();\n        var startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n        var endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n        var allWhiteSpaceRegExp = /[ \\t\\r\\n]+/g;\n        var isAllWhiteSpaceRegExp = /^[ \\t\\r\\n]+$/;\n        var isInWhiteSpacePreservedElement = has$2(whiteSpaceElements, args.context) || has$2(whiteSpaceElements, settings.root_name);\n        var addRootBlocks = function () {\n          var node = rootNode.firstChild, rootBlockNode = null;\n          var trim = function (rootBlock) {\n            if (rootBlock) {\n              node = rootBlock.firstChild;\n              if (node && node.type === 3) {\n                node.value = node.value.replace(startWhiteSpaceRegExp, '');\n              }\n              node = rootBlock.lastChild;\n              if (node && node.type === 3) {\n                node.value = node.value.replace(endWhiteSpaceRegExp, '');\n              }\n            }\n          };\n          if (!schema.isValidChild(rootNode.name, rootBlockName.toLowerCase())) {\n            return;\n          }\n          while (node) {\n            var next = node.next;\n            if (node.type === 3 || node.type === 1 && node.name !== 'p' && !blockElements[node.name] && !node.attr('data-mce-type')) {\n              if (!rootBlockNode) {\n                rootBlockNode = createNode(rootBlockName, 1);\n                rootBlockNode.attr(settings.forced_root_block_attrs);\n                rootNode.insert(rootBlockNode, node);\n                rootBlockNode.append(node);\n              } else {\n                rootBlockNode.append(node);\n              }\n            } else {\n              trim(rootBlockNode);\n              rootBlockNode = null;\n            }\n            node = next;\n          }\n          trim(rootBlockNode);\n        };\n        var createNode = function (name, type) {\n          var node = new AstNode(name, type);\n          var list;\n          if (name in nodeFilters) {\n            list = matchedNodes[name];\n            if (list) {\n              list.push(node);\n            } else {\n              matchedNodes[name] = [node];\n            }\n          }\n          return node;\n        };\n        var removeWhitespaceBefore = function (node) {\n          var blockElements = schema.getBlockElements();\n          for (var textNode = node.prev; textNode && textNode.type === 3;) {\n            var textVal = textNode.value.replace(endWhiteSpaceRegExp, '');\n            if (textVal.length > 0) {\n              textNode.value = textVal;\n              return;\n            }\n            var textNodeNext = textNode.next;\n            if (textNodeNext) {\n              if (textNodeNext.type === 3 && textNodeNext.value.length) {\n                textNode = textNode.prev;\n                continue;\n              }\n              if (!blockElements[textNodeNext.name] && textNodeNext.name !== 'script' && textNodeNext.name !== 'style') {\n                textNode = textNode.prev;\n                continue;\n              }\n            }\n            var sibling = textNode.prev;\n            textNode.remove();\n            textNode = sibling;\n          }\n        };\n        var cloneAndExcludeBlocks = function (input) {\n          var output = {};\n          for (var name_2 in input) {\n            if (name_2 !== 'li' && name_2 !== 'p') {\n              output[name_2] = input[name_2];\n            }\n          }\n          return output;\n        };\n        var parser = SaxParser({\n          validate: validate,\n          document: settings.document,\n          allow_html_data_urls: settings.allow_html_data_urls,\n          allow_svg_data_urls: settings.allow_svg_data_urls,\n          allow_script_urls: settings.allow_script_urls,\n          allow_conditional_comments: settings.allow_conditional_comments,\n          preserve_cdata: settings.preserve_cdata,\n          self_closing_elements: cloneAndExcludeBlocks(schema.getSelfClosingElements()),\n          cdata: function (text) {\n            node.append(createNode('#cdata', 4)).value = text;\n          },\n          text: function (text, raw) {\n            var textNode;\n            if (!isInWhiteSpacePreservedElement) {\n              text = text.replace(allWhiteSpaceRegExp, ' ');\n              if (isLineBreakNode(node.lastChild, blockElements)) {\n                text = text.replace(startWhiteSpaceRegExp, '');\n              }\n            }\n            if (text.length !== 0) {\n              textNode = createNode('#text', 3);\n              textNode.raw = !!raw;\n              node.append(textNode).value = text;\n            }\n          },\n          comment: function (text) {\n            node.append(createNode('#comment', 8)).value = text;\n          },\n          pi: function (name, text) {\n            node.append(createNode(name, 7)).value = text;\n            removeWhitespaceBefore(node);\n          },\n          doctype: function (text) {\n            var newNode = node.append(createNode('#doctype', 10));\n            newNode.value = text;\n            removeWhitespaceBefore(node);\n          },\n          start: function (name, attrs, empty) {\n            var elementRule = validate ? schema.getElementRule(name) : {};\n            if (elementRule) {\n              var newNode = createNode(elementRule.outputName || name, 1);\n              newNode.attributes = attrs;\n              newNode.shortEnded = empty;\n              node.append(newNode);\n              var parent_2 = children[node.name];\n              if (parent_2 && children[newNode.name] && !parent_2[newNode.name]) {\n                invalidChildren.push(newNode);\n              }\n              var attrFiltersLen = attributeFilters.length;\n              while (attrFiltersLen--) {\n                var attrName = attributeFilters[attrFiltersLen].name;\n                if (attrName in attrs.map) {\n                  list = matchedAttributes[attrName];\n                  if (list) {\n                    list.push(newNode);\n                  } else {\n                    matchedAttributes[attrName] = [newNode];\n                  }\n                }\n              }\n              if (blockElements[name]) {\n                removeWhitespaceBefore(newNode);\n              }\n              if (!empty) {\n                node = newNode;\n              }\n              if (!isInWhiteSpacePreservedElement && whiteSpaceElements[name]) {\n                isInWhiteSpacePreservedElement = true;\n              }\n            }\n          },\n          end: function (name) {\n            var textNode, text, sibling, tempNode;\n            var elementRule = validate ? schema.getElementRule(name) : {};\n            if (elementRule) {\n              if (blockElements[name]) {\n                if (!isInWhiteSpacePreservedElement) {\n                  textNode = node.firstChild;\n                  if (textNode && textNode.type === 3) {\n                    text = textNode.value.replace(startWhiteSpaceRegExp, '');\n                    if (text.length > 0) {\n                      textNode.value = text;\n                      textNode = textNode.next;\n                    } else {\n                      sibling = textNode.next;\n                      textNode.remove();\n                      textNode = sibling;\n                      while (textNode && textNode.type === 3) {\n                        text = textNode.value;\n                        sibling = textNode.next;\n                        if (text.length === 0 || isAllWhiteSpaceRegExp.test(text)) {\n                          textNode.remove();\n                          textNode = sibling;\n                        }\n                        textNode = sibling;\n                      }\n                    }\n                  }\n                  textNode = node.lastChild;\n                  if (textNode && textNode.type === 3) {\n                    text = textNode.value.replace(endWhiteSpaceRegExp, '');\n                    if (text.length > 0) {\n                      textNode.value = text;\n                      textNode = textNode.prev;\n                    } else {\n                      sibling = textNode.prev;\n                      textNode.remove();\n                      textNode = sibling;\n                      while (textNode && textNode.type === 3) {\n                        text = textNode.value;\n                        sibling = textNode.prev;\n                        if (text.length === 0 || isAllWhiteSpaceRegExp.test(text)) {\n                          textNode.remove();\n                          textNode = sibling;\n                        }\n                        textNode = sibling;\n                      }\n                    }\n                  }\n                }\n              }\n              if (isInWhiteSpacePreservedElement && whiteSpaceElements[name]) {\n                isInWhiteSpacePreservedElement = false;\n              }\n              if (elementRule.removeEmpty && isEmpty(schema, nonEmptyElements, whiteSpaceElements, node)) {\n                tempNode = node.parent;\n                if (blockElements[node.name]) {\n                  node.empty().remove();\n                } else {\n                  node.unwrap();\n                }\n                node = tempNode;\n                return;\n              }\n              if (elementRule.paddEmpty && (isPaddedWithNbsp(node) || isEmpty(schema, nonEmptyElements, whiteSpaceElements, node))) {\n                paddEmptyNode(settings, args, blockElements, node);\n              }\n              node = node.parent;\n            }\n          }\n        }, schema);\n        var rootNode = node = new AstNode(args.context || settings.root_name, 11);\n        parser.parse(html, args.format);\n        if (validate && invalidChildren.length) {\n          if (!args.context) {\n            fixInvalidChildren(invalidChildren);\n          } else {\n            args.invalid = true;\n          }\n        }\n        if (rootBlockName && (rootNode.name === 'body' || args.isRootContent)) {\n          addRootBlocks();\n        }\n        if (!args.invalid) {\n          for (name in matchedNodes) {\n            if (!has$2(matchedNodes, name)) {\n              continue;\n            }\n            list = nodeFilters[name];\n            nodes = matchedNodes[name];\n            fi = nodes.length;\n            while (fi--) {\n              if (!nodes[fi].parent) {\n                nodes.splice(fi, 1);\n              }\n            }\n            for (i = 0, l = list.length; i < l; i++) {\n              list[i](nodes, name, args);\n            }\n          }\n          for (i = 0, l = attributeFilters.length; i < l; i++) {\n            list = attributeFilters[i];\n            if (list.name in matchedAttributes) {\n              nodes = matchedAttributes[list.name];\n              fi = nodes.length;\n              while (fi--) {\n                if (!nodes[fi].parent) {\n                  nodes.splice(fi, 1);\n                }\n              }\n              for (fi = 0, fl = list.callbacks.length; fi < fl; fi++) {\n                list.callbacks[fi](nodes, list.name, args);\n              }\n            }\n          }\n        }\n        return rootNode;\n      };\n      var exports = {\n        schema: schema,\n        addAttributeFilter: addAttributeFilter,\n        getAttributeFilters: getAttributeFilters,\n        addNodeFilter: addNodeFilter,\n        getNodeFilters: getNodeFilters,\n        filterNode: filterNode,\n        parse: parse\n      };\n      register$1(exports, settings);\n      register$2(exports, settings);\n      return exports;\n    };\n\n    var register = function (htmlParser, settings, dom) {\n      htmlParser.addAttributeFilter('data-mce-tabindex', function (nodes, name) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          node.attr('tabindex', node.attr('data-mce-tabindex'));\n          node.attr(name, null);\n        }\n      });\n      htmlParser.addAttributeFilter('src,href,style', function (nodes, name) {\n        var internalName = 'data-mce-' + name;\n        var urlConverter = settings.url_converter;\n        var urlConverterScope = settings.url_converter_scope;\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          var value = node.attr(internalName);\n          if (value !== undefined) {\n            node.attr(name, value.length > 0 ? value : null);\n            node.attr(internalName, null);\n          } else {\n            value = node.attr(name);\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n            } else if (urlConverter) {\n              value = urlConverter.call(urlConverterScope, value, name, node.name);\n            }\n            node.attr(name, value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('class', function (nodes) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          var value = node.attr('class');\n          if (value) {\n            value = node.attr('class').replace(/(?:^|\\s)mce-item-\\w+(?!\\S)/g, '');\n            node.attr('class', value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', function (nodes, name, args) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          if (node.attr('data-mce-type') === 'bookmark' && !args.cleanup) {\n            var hasChildren = Optional.from(node.firstChild).exists(function (firstChild) {\n              return !isZwsp(firstChild.value);\n            });\n            if (hasChildren) {\n              node.unwrap();\n            } else {\n              node.remove();\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('noscript', function (nodes) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i].firstChild;\n          if (node) {\n            node.value = Entities.decode(node.value);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('script,style', function (nodes, name) {\n        var trim = function (value) {\n          return value.replace(/(<!--\\[CDATA\\[|\\]\\]-->)/g, '\\n').replace(/^[\\r\\n]*|[\\r\\n]*$/g, '').replace(/^\\s*((<!--)?(\\s*\\/\\/)?\\s*<!\\[CDATA\\[|(<!--\\s*)?\\/\\*\\s*<!\\[CDATA\\[\\s*\\*\\/|(\\/\\/)?\\s*<!--|\\/\\*\\s*<!--\\s*\\*\\/)\\s*[\\r\\n]*/gi, '').replace(/\\s*(\\/\\*\\s*\\]\\]>\\s*\\*\\/(-->)?|\\s*\\/\\/\\s*\\]\\]>(-->)?|\\/\\/\\s*(-->)?|\\]\\]>|\\/\\*\\s*-->\\s*\\*\\/|\\s*-->\\s*)\\s*$/g, '');\n        };\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          var value = node.firstChild ? node.firstChild.value : '';\n          if (name === 'script') {\n            var type = node.attr('type');\n            if (type) {\n              node.attr('type', type === 'mce-no/type' ? null : type.replace(/^mce\\-/, ''));\n            }\n            if (settings.element_format === 'xhtml' && value.length > 0) {\n              node.firstChild.value = '// <![CDATA[\\n' + trim(value) + '\\n// ]]>';\n            }\n          } else {\n            if (settings.element_format === 'xhtml' && value.length > 0) {\n              node.firstChild.value = '<!--\\n' + trim(value) + '\\n-->';\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('#comment', function (nodes) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          if (settings.preserve_cdata && node.value.indexOf('[CDATA[') === 0) {\n            node.name = '#cdata';\n            node.type = 4;\n            node.value = dom.decode(node.value.replace(/^\\[CDATA\\[|\\]\\]$/g, ''));\n          } else if (node.value.indexOf('mce:protected ') === 0) {\n            node.name = '#text';\n            node.type = 3;\n            node.raw = true;\n            node.value = unescape(node.value).substr(14);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('xml:namespace,input', function (nodes, name) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          if (node.type === 7) {\n            node.remove();\n          } else if (node.type === 1) {\n            if (name === 'input' && !node.attr('type')) {\n              node.attr('type', 'text');\n            }\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', function (nodes) {\n        each$k(nodes, function (node) {\n          if (node.attr('data-mce-type') === 'format-caret') {\n            if (node.isEmpty(htmlParser.schema.getNonEmptyElements())) {\n              node.remove();\n            } else {\n              node.unwrap();\n            }\n          }\n        });\n      });\n      htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style,' + 'data-mce-selected,data-mce-expando,' + 'data-mce-type,data-mce-resize,data-mce-placeholder', function (nodes, name) {\n        var i = nodes.length;\n        while (i--) {\n          nodes[i].attr(name, null);\n        }\n      });\n    };\n    var trimTrailingBr = function (rootNode) {\n      var isBr = function (node) {\n        return node && node.name === 'br';\n      };\n      var brNode1 = rootNode.lastChild;\n      if (isBr(brNode1)) {\n        var brNode2 = brNode1.prev;\n        if (isBr(brNode2)) {\n          brNode1.remove();\n          brNode2.remove();\n        }\n      }\n    };\n\n    var preProcess = function (editor, node, args) {\n      var oldDoc;\n      var dom = editor.dom;\n      var clonedNode = node.cloneNode(true);\n      var impl = document.implementation;\n      if (impl.createHTMLDocument) {\n        var doc_1 = impl.createHTMLDocument('');\n        Tools.each(clonedNode.nodeName === 'BODY' ? clonedNode.childNodes : [clonedNode], function (node) {\n          doc_1.body.appendChild(doc_1.importNode(node, true));\n        });\n        if (clonedNode.nodeName !== 'BODY') {\n          clonedNode = doc_1.body.firstChild;\n        } else {\n          clonedNode = doc_1.body;\n        }\n        oldDoc = dom.doc;\n        dom.doc = doc_1;\n      }\n      firePreProcess(editor, __assign(__assign({}, args), { node: clonedNode }));\n      if (oldDoc) {\n        dom.doc = oldDoc;\n      }\n      return clonedNode;\n    };\n    var shouldFireEvent = function (editor, args) {\n      return editor && editor.hasEventListeners('PreProcess') && !args.no_events;\n    };\n    var process = function (editor, node, args) {\n      return shouldFireEvent(editor, args) ? preProcess(editor, node, args) : node;\n    };\n\n    var addTempAttr = function (htmlParser, tempAttrs, name) {\n      if (Tools.inArray(tempAttrs, name) === -1) {\n        htmlParser.addAttributeFilter(name, function (nodes, name) {\n          var i = nodes.length;\n          while (i--) {\n            nodes[i].attr(name, null);\n          }\n        });\n        tempAttrs.push(name);\n      }\n    };\n    var postProcess = function (editor, args, content) {\n      if (!args.no_events && editor) {\n        var outArgs = firePostProcess(editor, __assign(__assign({}, args), { content: content }));\n        return outArgs.content;\n      } else {\n        return content;\n      }\n    };\n    var getHtmlFromNode = function (dom, node, args) {\n      var html = trim$2(args.getInner ? node.innerHTML : dom.getOuterHTML(node));\n      return args.selection || isWsPreserveElement(SugarElement.fromDom(node)) ? html : Tools.trim(html);\n    };\n    var parseHtml = function (htmlParser, html, args) {\n      var parserArgs = args.selection ? __assign({ forced_root_block: false }, args) : args;\n      var rootNode = htmlParser.parse(html, parserArgs);\n      trimTrailingBr(rootNode);\n      return rootNode;\n    };\n    var serializeNode = function (settings, schema, node) {\n      var htmlSerializer = HtmlSerializer(settings, schema);\n      return htmlSerializer.serialize(node);\n    };\n    var toHtml = function (editor, settings, schema, rootNode, args) {\n      var content = serializeNode(settings, schema, rootNode);\n      return postProcess(editor, args, content);\n    };\n    var DomSerializerImpl = function (settings, editor) {\n      var tempAttrs = ['data-mce-selected'];\n      var dom = editor && editor.dom ? editor.dom : DOMUtils.DOM;\n      var schema = editor && editor.schema ? editor.schema : Schema(settings);\n      settings.entity_encoding = settings.entity_encoding || 'named';\n      settings.remove_trailing_brs = 'remove_trailing_brs' in settings ? settings.remove_trailing_brs : true;\n      var htmlParser = DomParser(settings, schema);\n      register(htmlParser, settings, dom);\n      var serialize = function (node, parserArgs) {\n        if (parserArgs === void 0) {\n          parserArgs = {};\n        }\n        var args = __assign({ format: 'html' }, parserArgs);\n        var targetNode = process(editor, node, args);\n        var html = getHtmlFromNode(dom, targetNode, args);\n        var rootNode = parseHtml(htmlParser, html, args);\n        return args.format === 'tree' ? rootNode : toHtml(editor, settings, schema, rootNode, args);\n      };\n      return {\n        schema: schema,\n        addNodeFilter: htmlParser.addNodeFilter,\n        addAttributeFilter: htmlParser.addAttributeFilter,\n        serialize: serialize,\n        addRules: schema.addValidElements,\n        setRules: schema.setValidElements,\n        addTempAttr: curry(addTempAttr, htmlParser, tempAttrs),\n        getTempAttrs: constant(tempAttrs),\n        getNodeFilters: htmlParser.getNodeFilters,\n        getAttributeFilters: htmlParser.getAttributeFilters\n      };\n    };\n\n    var DomSerializer = function (settings, editor) {\n      var domSerializer = DomSerializerImpl(settings, editor);\n      return {\n        schema: domSerializer.schema,\n        addNodeFilter: domSerializer.addNodeFilter,\n        addAttributeFilter: domSerializer.addAttributeFilter,\n        serialize: domSerializer.serialize,\n        addRules: domSerializer.addRules,\n        setRules: domSerializer.setRules,\n        addTempAttr: domSerializer.addTempAttr,\n        getTempAttrs: domSerializer.getTempAttrs,\n        getNodeFilters: domSerializer.getNodeFilters,\n        getAttributeFilters: domSerializer.getAttributeFilters\n      };\n    };\n\n    var defaultFormat = 'html';\n    var getContent = function (editor, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      var format = args.format ? args.format : defaultFormat;\n      return getContent$2(editor, args, format);\n    };\n\n    var setContent = function (editor, content, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      return setContent$2(editor, content, args);\n    };\n\n    var DOM$7 = DOMUtils.DOM;\n    var restoreOriginalStyles = function (editor) {\n      DOM$7.setStyle(editor.id, 'display', editor.orgDisplay);\n    };\n    var safeDestroy = function (x) {\n      return Optional.from(x).each(function (x) {\n        return x.destroy();\n      });\n    };\n    var clearDomReferences = function (editor) {\n      editor.contentAreaContainer = editor.formElement = editor.container = editor.editorContainer = null;\n      editor.bodyElement = editor.contentDocument = editor.contentWindow = null;\n      editor.iframeElement = editor.targetElm = null;\n      if (editor.selection) {\n        editor.selection = editor.selection.win = editor.selection.dom = editor.selection.dom.doc = null;\n      }\n    };\n    var restoreForm = function (editor) {\n      var form = editor.formElement;\n      if (form) {\n        if (form._mceOldSubmit) {\n          form.submit = form._mceOldSubmit;\n          form._mceOldSubmit = null;\n        }\n        DOM$7.unbind(form, 'submit reset', editor.formEventDelegate);\n      }\n    };\n    var remove = function (editor) {\n      if (!editor.removed) {\n        var _selectionOverrides = editor._selectionOverrides, editorUpload = editor.editorUpload;\n        var body = editor.getBody();\n        var element = editor.getElement();\n        if (body) {\n          editor.save({ is_removing: true });\n        }\n        editor.removed = true;\n        editor.unbindAllNativeEvents();\n        if (editor.hasHiddenInput && element) {\n          DOM$7.remove(element.nextSibling);\n        }\n        fireRemove(editor);\n        editor.editorManager.remove(editor);\n        if (!editor.inline && body) {\n          restoreOriginalStyles(editor);\n        }\n        fireDetach(editor);\n        DOM$7.remove(editor.getContainer());\n        safeDestroy(_selectionOverrides);\n        safeDestroy(editorUpload);\n        editor.destroy();\n      }\n    };\n    var destroy = function (editor, automatic) {\n      var selection = editor.selection, dom = editor.dom;\n      if (editor.destroyed) {\n        return;\n      }\n      if (!automatic && !editor.removed) {\n        editor.remove();\n        return;\n      }\n      if (!automatic) {\n        editor.editorManager.off('beforeunload', editor._beforeUnload);\n        if (editor.theme && editor.theme.destroy) {\n          editor.theme.destroy();\n        }\n        safeDestroy(selection);\n        safeDestroy(dom);\n      }\n      restoreForm(editor);\n      clearDomReferences(editor);\n      editor.destroyed = true;\n    };\n\n    var deep = function (old, nu) {\n      var bothObjects = isObject(old) && isObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    var baseMerge = function (merger) {\n      return function () {\n        var objects = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          objects[_i] = arguments[_i];\n        }\n        if (objects.length === 0) {\n          throw new Error('Can\\'t merge zero objects');\n        }\n        var ret = {};\n        for (var j = 0; j < objects.length; j++) {\n          var curObject = objects[j];\n          for (var key in curObject) {\n            if (has$2(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    var deepMerge = baseMerge(deep);\n\n    var deprecatedSettings = ('autoresize_on_init,content_editable_state,convert_fonts_to_spans,inline_styles,padd_empty_with_br,block_elements,' + 'boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,' + 'force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,' + 'non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,' + 'tab_focus,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,' + 'paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists').split(',');\n    var deprecatedPlugins = 'bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor'.split(',');\n    var movedToPremiumPlugins = 'imagetools,toc'.split(',');\n    var getDeprecatedSettings = function (settings) {\n      var settingNames = filter$4(deprecatedSettings, function (setting) {\n        return has$2(settings, setting);\n      });\n      var forcedRootBlock = settings.forced_root_block;\n      if (forcedRootBlock === false || forcedRootBlock === '') {\n        settingNames.push('forced_root_block (false only)');\n      }\n      return sort(settingNames);\n    };\n    var getDeprecatedPlugins = function (settings) {\n      var plugins = Tools.makeMap(settings.plugins, ' ');\n      var hasPlugin = function (plugin) {\n        return has$2(plugins, plugin);\n      };\n      var pluginNames = __spreadArray(__spreadArray([], filter$4(deprecatedPlugins, hasPlugin), true), bind(movedToPremiumPlugins, function (plugin) {\n        return hasPlugin(plugin) ? [plugin + ' (moving to premium)'] : [];\n      }), true);\n      return sort(pluginNames);\n    };\n    var logDeprecationsWarning = function (rawSettings, finalSettings) {\n      var deprecatedSettings = getDeprecatedSettings(rawSettings);\n      var deprecatedPlugins = getDeprecatedPlugins(finalSettings);\n      var hasDeprecatedPlugins = deprecatedPlugins.length > 0;\n      var hasDeprecatedSettings = deprecatedSettings.length > 0;\n      var isLegacyMobileTheme = finalSettings.theme === 'mobile';\n      if (hasDeprecatedPlugins || hasDeprecatedSettings || isLegacyMobileTheme) {\n        var listJoiner = '\\n- ';\n        var themesMessage = isLegacyMobileTheme ? '\\n\\nThemes:' + listJoiner + 'mobile' : '';\n        var pluginsMessage = hasDeprecatedPlugins ? '\\n\\nPlugins:' + listJoiner + deprecatedPlugins.join(listJoiner) : '';\n        var settingsMessage = hasDeprecatedSettings ? '\\n\\nSettings:' + listJoiner + deprecatedSettings.join(listJoiner) : '';\n        console.warn('The following deprecated features are currently enabled, these will be removed in TinyMCE 6.0. ' + 'See https://www.tiny.cloud/docs/release-notes/6.0-upcoming-changes/ for more information.' + themesMessage + pluginsMessage + settingsMessage);\n      }\n    };\n\n    var sectionResult = function (sections, settings) {\n      return {\n        sections: constant(sections),\n        settings: constant(settings)\n      };\n    };\n    var deviceDetection = detect().deviceType;\n    var isTouch = deviceDetection.isTouch();\n    var isPhone = deviceDetection.isPhone();\n    var isTablet = deviceDetection.isTablet();\n    var legacyMobilePlugins = [\n      'lists',\n      'autolink',\n      'autosave'\n    ];\n    var defaultTouchSettings = {\n      table_grid: false,\n      object_resizing: false,\n      resize: false\n    };\n    var normalizePlugins = function (plugins) {\n      var pluginNames = isArray$1(plugins) ? plugins.join(' ') : plugins;\n      var trimmedPlugins = map$3(isString$1(pluginNames) ? pluginNames.split(' ') : [], trim$4);\n      return filter$4(trimmedPlugins, function (item) {\n        return item.length > 0;\n      });\n    };\n    var filterLegacyMobilePlugins = function (plugins) {\n      return filter$4(plugins, curry(contains$3, legacyMobilePlugins));\n    };\n    var extractSections = function (keys, settings) {\n      var result = bifilter(settings, function (value, key) {\n        return contains$3(keys, key);\n      });\n      return sectionResult(result.t, result.f);\n    };\n    var getSection = function (sectionResult, name, defaults) {\n      if (defaults === void 0) {\n        defaults = {};\n      }\n      var sections = sectionResult.sections();\n      var sectionSettings = get$9(sections, name).getOr({});\n      return Tools.extend({}, defaults, sectionSettings);\n    };\n    var hasSection = function (sectionResult, name) {\n      return has$2(sectionResult.sections(), name);\n    };\n    var isSectionTheme = function (sectionResult, name, theme) {\n      var section = sectionResult.sections();\n      return hasSection(sectionResult, name) && section[name].theme === theme;\n    };\n    var getSectionConfig = function (sectionResult, name) {\n      return hasSection(sectionResult, name) ? sectionResult.sections()[name] : {};\n    };\n    var getToolbarMode = function (settings, defaultVal) {\n      return get$9(settings, 'toolbar_mode').orThunk(function () {\n        return get$9(settings, 'toolbar_drawer').map(function (val) {\n          return val === false ? 'wrap' : val;\n        });\n      }).getOr(defaultVal);\n    };\n    var getDefaultSettings = function (settings, id, documentBaseUrl, isTouch, editor) {\n      var baseDefaults = {\n        id: id,\n        theme: 'silver',\n        toolbar_mode: getToolbarMode(settings, 'floating'),\n        plugins: '',\n        document_base_url: documentBaseUrl,\n        add_form_submit_trigger: true,\n        submit_patch: true,\n        add_unload_trigger: true,\n        convert_urls: true,\n        relative_urls: true,\n        remove_script_host: true,\n        object_resizing: true,\n        doctype: '<!DOCTYPE html>',\n        visual: true,\n        font_size_legacy_values: 'xx-small,small,medium,large,x-large,xx-large,300%',\n        forced_root_block: 'p',\n        hidden_input: true,\n        inline_styles: true,\n        convert_fonts_to_spans: true,\n        indent: true,\n        indent_before: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',\n        indent_after: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',\n        entity_encoding: 'named',\n        url_converter: editor.convertURL,\n        url_converter_scope: editor\n      };\n      return __assign(__assign({}, baseDefaults), isTouch ? defaultTouchSettings : {});\n    };\n    var getDefaultMobileSettings = function (mobileSettings, isPhone) {\n      var defaultMobileSettings = {\n        resize: false,\n        toolbar_mode: getToolbarMode(mobileSettings, 'scrolling'),\n        toolbar_sticky: false\n      };\n      var defaultPhoneSettings = { menubar: false };\n      return __assign(__assign(__assign({}, defaultTouchSettings), defaultMobileSettings), isPhone ? defaultPhoneSettings : {});\n    };\n    var getExternalPlugins = function (overrideSettings, settings) {\n      var userDefinedExternalPlugins = settings.external_plugins ? settings.external_plugins : {};\n      if (overrideSettings && overrideSettings.external_plugins) {\n        return Tools.extend({}, overrideSettings.external_plugins, userDefinedExternalPlugins);\n      } else {\n        return userDefinedExternalPlugins;\n      }\n    };\n    var combinePlugins = function (forcedPlugins, plugins) {\n      return [].concat(normalizePlugins(forcedPlugins)).concat(normalizePlugins(plugins));\n    };\n    var getPlatformPlugins = function (isMobileDevice, sectionResult, desktopPlugins, mobilePlugins) {\n      if (isMobileDevice && isSectionTheme(sectionResult, 'mobile', 'mobile')) {\n        return filterLegacyMobilePlugins(mobilePlugins);\n      } else if (isMobileDevice && hasSection(sectionResult, 'mobile')) {\n        return mobilePlugins;\n      } else {\n        return desktopPlugins;\n      }\n    };\n    var processPlugins = function (isMobileDevice, sectionResult, defaultOverrideSettings, settings) {\n      var forcedPlugins = normalizePlugins(defaultOverrideSettings.forced_plugins);\n      var desktopPlugins = normalizePlugins(settings.plugins);\n      var mobileConfig = getSectionConfig(sectionResult, 'mobile');\n      var mobilePlugins = mobileConfig.plugins ? normalizePlugins(mobileConfig.plugins) : desktopPlugins;\n      var platformPlugins = getPlatformPlugins(isMobileDevice, sectionResult, desktopPlugins, mobilePlugins);\n      var combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);\n      if (Env.browser.isIE() && contains$3(combinedPlugins, 'rtc')) {\n        throw new Error('RTC plugin is not supported on IE 11.');\n      }\n      return Tools.extend(settings, { plugins: combinedPlugins.join(' ') });\n    };\n    var isOnMobile = function (isMobileDevice, sectionResult) {\n      return isMobileDevice && hasSection(sectionResult, 'mobile');\n    };\n    var combineSettings = function (isMobileDevice, isPhone, defaultSettings, defaultOverrideSettings, settings) {\n      var defaultDeviceSettings = isMobileDevice ? { mobile: getDefaultMobileSettings(settings.mobile || {}, isPhone) } : {};\n      var sectionResult = extractSections(['mobile'], deepMerge(defaultDeviceSettings, settings));\n      var extendedSettings = Tools.extend(defaultSettings, defaultOverrideSettings, sectionResult.settings(), isOnMobile(isMobileDevice, sectionResult) ? getSection(sectionResult, 'mobile') : {}, {\n        validate: true,\n        external_plugins: getExternalPlugins(defaultOverrideSettings, sectionResult.settings())\n      });\n      return processPlugins(isMobileDevice, sectionResult, defaultOverrideSettings, extendedSettings);\n    };\n    var getEditorSettings = function (editor, id, documentBaseUrl, defaultOverrideSettings, settings) {\n      var defaultSettings = getDefaultSettings(settings, id, documentBaseUrl, isTouch, editor);\n      var finalSettings = combineSettings(isPhone || isTablet, isPhone, defaultSettings, defaultOverrideSettings, settings);\n      if (finalSettings.deprecation_warnings !== false) {\n        logDeprecationsWarning(settings, finalSettings);\n      }\n      return finalSettings;\n    };\n    var getFiltered = function (predicate, editor, name) {\n      return Optional.from(editor.settings[name]).filter(predicate);\n    };\n    var getParamObject = function (value) {\n      var output = {};\n      if (typeof value === 'string') {\n        each$k(value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(','), function (val) {\n          var arr = val.split('=');\n          if (arr.length > 1) {\n            output[Tools.trim(arr[0])] = Tools.trim(arr[1]);\n          } else {\n            output[Tools.trim(arr[0])] = Tools.trim(arr[0]);\n          }\n        });\n      } else {\n        output = value;\n      }\n      return output;\n    };\n    var isArrayOf = function (p) {\n      return function (a) {\n        return isArray$1(a) && forall(a, p);\n      };\n    };\n    var getParam = function (editor, name, defaultVal, type) {\n      var value = name in editor.settings ? editor.settings[name] : defaultVal;\n      if (type === 'hash') {\n        return getParamObject(value);\n      } else if (type === 'string') {\n        return getFiltered(isString$1, editor, name).getOr(defaultVal);\n      } else if (type === 'number') {\n        return getFiltered(isNumber, editor, name).getOr(defaultVal);\n      } else if (type === 'boolean') {\n        return getFiltered(isBoolean, editor, name).getOr(defaultVal);\n      } else if (type === 'object') {\n        return getFiltered(isObject, editor, name).getOr(defaultVal);\n      } else if (type === 'array') {\n        return getFiltered(isArray$1, editor, name).getOr(defaultVal);\n      } else if (type === 'string[]') {\n        return getFiltered(isArrayOf(isString$1), editor, name).getOr(defaultVal);\n      } else if (type === 'function') {\n        return getFiltered(isFunction, editor, name).getOr(defaultVal);\n      } else {\n        return value;\n      }\n    };\n\n    var CreateIconManager = function () {\n      var lookup = {};\n      var add = function (id, iconPack) {\n        lookup[id] = iconPack;\n      };\n      var get = function (id) {\n        if (lookup[id]) {\n          return lookup[id];\n        }\n        return { icons: {} };\n      };\n      var has = function (id) {\n        return has$2(lookup, id);\n      };\n      return {\n        add: add,\n        get: get,\n        has: has\n      };\n    };\n    var IconManager = CreateIconManager();\n\n    var getProp = function (propName, elm) {\n      var rawElm = elm.dom;\n      return rawElm[propName];\n    };\n    var getComputedSizeProp = function (propName, elm) {\n      return parseInt(get$5(elm, propName), 10);\n    };\n    var getClientWidth = curry(getProp, 'clientWidth');\n    var getClientHeight = curry(getProp, 'clientHeight');\n    var getMarginTop = curry(getComputedSizeProp, 'margin-top');\n    var getMarginLeft = curry(getComputedSizeProp, 'margin-left');\n    var getBoundingClientRect = function (elm) {\n      return elm.dom.getBoundingClientRect();\n    };\n    var isInsideElementContentArea = function (bodyElm, clientX, clientY) {\n      var clientWidth = getClientWidth(bodyElm);\n      var clientHeight = getClientHeight(bodyElm);\n      return clientX >= 0 && clientY >= 0 && clientX <= clientWidth && clientY <= clientHeight;\n    };\n    var transpose = function (inline, elm, clientX, clientY) {\n      var clientRect = getBoundingClientRect(elm);\n      var deltaX = inline ? clientRect.left + elm.dom.clientLeft + getMarginLeft(elm) : 0;\n      var deltaY = inline ? clientRect.top + elm.dom.clientTop + getMarginTop(elm) : 0;\n      var x = clientX - deltaX;\n      var y = clientY - deltaY;\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var isXYInContentArea = function (editor, clientX, clientY) {\n      var bodyElm = SugarElement.fromDom(editor.getBody());\n      var targetElm = editor.inline ? bodyElm : documentElement(bodyElm);\n      var transposedPoint = transpose(editor.inline, targetElm, clientX, clientY);\n      return isInsideElementContentArea(targetElm, transposedPoint.x, transposedPoint.y);\n    };\n    var fromDomSafe = function (node) {\n      return Optional.from(node).map(SugarElement.fromDom);\n    };\n    var isEditorAttachedToDom = function (editor) {\n      var rawContainer = editor.inline ? editor.getBody() : editor.getContentAreaContainer();\n      return fromDomSafe(rawContainer).map(inBody).getOr(false);\n    };\n\n    var NotificationManagerImpl = function () {\n      var unimplemented = function () {\n        throw new Error('Theme did not provide a NotificationManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        close: unimplemented,\n        reposition: unimplemented,\n        getArgs: unimplemented\n      };\n    };\n\n    var NotificationManager = function (editor) {\n      var notifications = [];\n      var getImplementation = function () {\n        var theme = editor.theme;\n        return theme && theme.getNotificationManagerImpl ? theme.getNotificationManagerImpl() : NotificationManagerImpl();\n      };\n      var getTopNotification = function () {\n        return Optional.from(notifications[0]);\n      };\n      var isEqual = function (a, b) {\n        return a.type === b.type && a.text === b.text && !a.progressBar && !a.timeout && !b.progressBar && !b.timeout;\n      };\n      var reposition = function () {\n        if (notifications.length > 0) {\n          getImplementation().reposition(notifications);\n        }\n      };\n      var addNotification = function (notification) {\n        notifications.push(notification);\n      };\n      var closeNotification = function (notification) {\n        findIndex$2(notifications, function (otherNotification) {\n          return otherNotification === notification;\n        }).each(function (index) {\n          notifications.splice(index, 1);\n        });\n      };\n      var open = function (spec, fireEvent) {\n        if (fireEvent === void 0) {\n          fireEvent = true;\n        }\n        if (editor.removed || !isEditorAttachedToDom(editor)) {\n          return;\n        }\n        if (fireEvent) {\n          editor.fire('BeforeOpenNotification', { notification: spec });\n        }\n        return find$3(notifications, function (notification) {\n          return isEqual(getImplementation().getArgs(notification), spec);\n        }).getOrThunk(function () {\n          editor.editorManager.setActive(editor);\n          var notification = getImplementation().open(spec, function () {\n            closeNotification(notification);\n            reposition();\n            getTopNotification().fold(function () {\n              return editor.focus();\n            }, function (top) {\n              return focus$1(SugarElement.fromDom(top.getEl()));\n            });\n          });\n          addNotification(notification);\n          reposition();\n          editor.fire('OpenNotification', { notification: __assign({}, notification) });\n          return notification;\n        });\n      };\n      var close = function () {\n        getTopNotification().each(function (notification) {\n          getImplementation().close(notification);\n          closeNotification(notification);\n          reposition();\n        });\n      };\n      var getNotifications = constant(notifications);\n      var registerEvents = function (editor) {\n        editor.on('SkinLoaded', function () {\n          var serviceMessage = getServiceMessage(editor);\n          if (serviceMessage) {\n            open({\n              text: serviceMessage,\n              type: 'warning',\n              timeout: 0\n            }, false);\n          }\n          reposition();\n        });\n        editor.on('show ResizeEditor ResizeWindow NodeChange', function () {\n          Delay.requestAnimationFrame(reposition);\n        });\n        editor.on('remove', function () {\n          each$k(notifications.slice(), function (notification) {\n            getImplementation().close(notification);\n          });\n        });\n      };\n      registerEvents(editor);\n      return {\n        open: open,\n        close: close,\n        getNotifications: getNotifications\n      };\n    };\n\n    var PluginManager = AddOnManager.PluginManager;\n\n    var ThemeManager = AddOnManager.ThemeManager;\n\n    function WindowManagerImpl () {\n      var unimplemented = function () {\n        throw new Error('Theme did not provide a WindowManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        openUrl: unimplemented,\n        alert: unimplemented,\n        confirm: unimplemented,\n        close: unimplemented,\n        getParams: unimplemented,\n        setParams: unimplemented\n      };\n    }\n\n    var WindowManager = function (editor) {\n      var dialogs = [];\n      var getImplementation = function () {\n        var theme = editor.theme;\n        return theme && theme.getWindowManagerImpl ? theme.getWindowManagerImpl() : WindowManagerImpl();\n      };\n      var funcBind = function (scope, f) {\n        return function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          return f ? f.apply(scope, args) : undefined;\n        };\n      };\n      var fireOpenEvent = function (dialog) {\n        editor.fire('OpenWindow', { dialog: dialog });\n      };\n      var fireCloseEvent = function (dialog) {\n        editor.fire('CloseWindow', { dialog: dialog });\n      };\n      var addDialog = function (dialog) {\n        dialogs.push(dialog);\n        fireOpenEvent(dialog);\n      };\n      var closeDialog = function (dialog) {\n        fireCloseEvent(dialog);\n        dialogs = filter$4(dialogs, function (otherDialog) {\n          return otherDialog !== dialog;\n        });\n        if (dialogs.length === 0) {\n          editor.focus();\n        }\n      };\n      var getTopDialog = function () {\n        return Optional.from(dialogs[dialogs.length - 1]);\n      };\n      var storeSelectionAndOpenDialog = function (openDialog) {\n        editor.editorManager.setActive(editor);\n        store(editor);\n        var dialog = openDialog();\n        addDialog(dialog);\n        return dialog;\n      };\n      var open = function (args, params) {\n        return storeSelectionAndOpenDialog(function () {\n          return getImplementation().open(args, params, closeDialog);\n        });\n      };\n      var openUrl = function (args) {\n        return storeSelectionAndOpenDialog(function () {\n          return getImplementation().openUrl(args, closeDialog);\n        });\n      };\n      var alert = function (message, callback, scope) {\n        var windowManagerImpl = getImplementation();\n        windowManagerImpl.alert(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      var confirm = function (message, callback, scope) {\n        var windowManagerImpl = getImplementation();\n        windowManagerImpl.confirm(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      var close = function () {\n        getTopDialog().each(function (dialog) {\n          getImplementation().close(dialog);\n          closeDialog(dialog);\n        });\n      };\n      editor.on('remove', function () {\n        each$k(dialogs, function (dialog) {\n          getImplementation().close(dialog);\n        });\n      });\n      return {\n        open: open,\n        openUrl: openUrl,\n        alert: alert,\n        confirm: confirm,\n        close: close\n      };\n    };\n\n    var displayNotification = function (editor, message) {\n      editor.notificationManager.open({\n        type: 'error',\n        text: message\n      });\n    };\n    var displayError = function (editor, message) {\n      if (editor._skinLoaded) {\n        displayNotification(editor, message);\n      } else {\n        editor.on('SkinLoaded', function () {\n          displayNotification(editor, message);\n        });\n      }\n    };\n    var uploadError = function (editor, message) {\n      displayError(editor, I18n.translate([\n        'Failed to upload image: {0}',\n        message\n      ]));\n    };\n    var logError = function (editor, errorType, msg) {\n      fireError(editor, errorType, { message: msg });\n      console.error(msg);\n    };\n    var createLoadError = function (type, url, name) {\n      return name ? 'Failed to load ' + type + ': ' + name + ' from url ' + url : 'Failed to load ' + type + ' url: ' + url;\n    };\n    var pluginLoadError = function (editor, url, name) {\n      logError(editor, 'PluginLoadError', createLoadError('plugin', url, name));\n    };\n    var iconsLoadError = function (editor, url, name) {\n      logError(editor, 'IconsLoadError', createLoadError('icons', url, name));\n    };\n    var languageLoadError = function (editor, url, name) {\n      logError(editor, 'LanguageLoadError', createLoadError('language', url, name));\n    };\n    var pluginInitError = function (editor, name, err) {\n      var message = I18n.translate([\n        'Failed to initialize plugin: {0}',\n        name\n      ]);\n      fireError(editor, 'PluginLoadError', { message: message });\n      initError(message, err);\n      displayError(editor, message);\n    };\n    var initError = function (message) {\n      var x = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        x[_i - 1] = arguments[_i];\n      }\n      var console = window.console;\n      if (console) {\n        if (console.error) {\n          console.error.apply(console, __spreadArray([message], x, false));\n        } else {\n          console.log.apply(console, __spreadArray([message], x, false));\n        }\n      }\n    };\n\n    var isContentCssSkinName = function (url) {\n      return /^[a-z0-9\\-]+$/i.test(url);\n    };\n    var getContentCssUrls = function (editor) {\n      return transformToUrls(editor, getContentCss(editor));\n    };\n    var getFontCssUrls = function (editor) {\n      return transformToUrls(editor, getFontCss(editor));\n    };\n    var transformToUrls = function (editor, cssLinks) {\n      var skinUrl = editor.editorManager.baseURL + '/skins/content';\n      var suffix = editor.editorManager.suffix;\n      var contentCssFile = 'content' + suffix + '.css';\n      var inline = editor.inline === true;\n      return map$3(cssLinks, function (url) {\n        if (isContentCssSkinName(url) && !inline) {\n          return skinUrl + '/' + url + '/' + contentCssFile;\n        } else {\n          return editor.documentBaseURI.toAbsolute(url);\n        }\n      });\n    };\n    var appendContentCssFromSettings = function (editor) {\n      editor.contentCSS = editor.contentCSS.concat(getContentCssUrls(editor), getFontCssUrls(editor));\n    };\n\n    var UploadStatus = function () {\n      var PENDING = 1, UPLOADED = 2;\n      var blobUriStatuses = {};\n      var createStatus = function (status, resultUri) {\n        return {\n          status: status,\n          resultUri: resultUri\n        };\n      };\n      var hasBlobUri = function (blobUri) {\n        return blobUri in blobUriStatuses;\n      };\n      var getResultUri = function (blobUri) {\n        var result = blobUriStatuses[blobUri];\n        return result ? result.resultUri : null;\n      };\n      var isPending = function (blobUri) {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === PENDING : false;\n      };\n      var isUploaded = function (blobUri) {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === UPLOADED : false;\n      };\n      var markPending = function (blobUri) {\n        blobUriStatuses[blobUri] = createStatus(PENDING, null);\n      };\n      var markUploaded = function (blobUri, resultUri) {\n        blobUriStatuses[blobUri] = createStatus(UPLOADED, resultUri);\n      };\n      var removeFailed = function (blobUri) {\n        delete blobUriStatuses[blobUri];\n      };\n      var destroy = function () {\n        blobUriStatuses = {};\n      };\n      return {\n        hasBlobUri: hasBlobUri,\n        getResultUri: getResultUri,\n        isPending: isPending,\n        isUploaded: isUploaded,\n        markPending: markPending,\n        markUploaded: markUploaded,\n        removeFailed: removeFailed,\n        destroy: destroy\n      };\n    };\n\n    var count = 0;\n    var seed = function () {\n      var rnd = function () {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      var now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    var uuid = function (prefix) {\n      return prefix + count++ + seed();\n    };\n\n    var BlobCache = function () {\n      var cache = [];\n      var mimeToExt = function (mime) {\n        var mimes = {\n          'image/jpeg': 'jpg',\n          'image/jpg': 'jpg',\n          'image/gif': 'gif',\n          'image/png': 'png',\n          'image/apng': 'apng',\n          'image/avif': 'avif',\n          'image/svg+xml': 'svg',\n          'image/webp': 'webp',\n          'image/bmp': 'bmp',\n          'image/tiff': 'tiff'\n        };\n        return mimes[mime.toLowerCase()] || 'dat';\n      };\n      var create = function (o, blob, base64, name, filename) {\n        if (isString$1(o)) {\n          var id = o;\n          return toBlobInfo({\n            id: id,\n            name: name,\n            filename: filename,\n            blob: blob,\n            base64: base64\n          });\n        } else if (isObject(o)) {\n          return toBlobInfo(o);\n        } else {\n          throw new Error('Unknown input type');\n        }\n      };\n      var toBlobInfo = function (o) {\n        if (!o.blob || !o.base64) {\n          throw new Error('blob and base64 representations of the image are required for BlobInfo to be created');\n        }\n        var id = o.id || uuid('blobid');\n        var name = o.name || id;\n        var blob = o.blob;\n        return {\n          id: constant(id),\n          name: constant(name),\n          filename: constant(o.filename || name + '.' + mimeToExt(blob.type)),\n          blob: constant(blob),\n          base64: constant(o.base64),\n          blobUri: constant(o.blobUri || URL.createObjectURL(blob)),\n          uri: constant(o.uri)\n        };\n      };\n      var add = function (blobInfo) {\n        if (!get(blobInfo.id())) {\n          cache.push(blobInfo);\n        }\n      };\n      var findFirst = function (predicate) {\n        return find$3(cache, predicate).getOrUndefined();\n      };\n      var get = function (id) {\n        return findFirst(function (cachedBlobInfo) {\n          return cachedBlobInfo.id() === id;\n        });\n      };\n      var getByUri = function (blobUri) {\n        return findFirst(function (blobInfo) {\n          return blobInfo.blobUri() === blobUri;\n        });\n      };\n      var getByData = function (base64, type) {\n        return findFirst(function (blobInfo) {\n          return blobInfo.base64() === base64 && blobInfo.blob().type === type;\n        });\n      };\n      var removeByUri = function (blobUri) {\n        cache = filter$4(cache, function (blobInfo) {\n          if (blobInfo.blobUri() === blobUri) {\n            URL.revokeObjectURL(blobInfo.blobUri());\n            return false;\n          }\n          return true;\n        });\n      };\n      var destroy = function () {\n        each$k(cache, function (cachedBlobInfo) {\n          URL.revokeObjectURL(cachedBlobInfo.blobUri());\n        });\n        cache = [];\n      };\n      return {\n        create: create,\n        add: add,\n        get: get,\n        getByUri: getByUri,\n        getByData: getByData,\n        findFirst: findFirst,\n        removeByUri: removeByUri,\n        destroy: destroy\n      };\n    };\n\n    var Uploader = function (uploadStatus, settings) {\n      var pendingPromises = {};\n      var pathJoin = function (path1, path2) {\n        if (path1) {\n          return path1.replace(/\\/$/, '') + '/' + path2.replace(/^\\//, '');\n        }\n        return path2;\n      };\n      var defaultHandler = function (blobInfo, success, failure, progress) {\n        var xhr = new XMLHttpRequest();\n        xhr.open('POST', settings.url);\n        xhr.withCredentials = settings.credentials;\n        xhr.upload.onprogress = function (e) {\n          progress(e.loaded / e.total * 100);\n        };\n        xhr.onerror = function () {\n          failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);\n        };\n        xhr.onload = function () {\n          if (xhr.status < 200 || xhr.status >= 300) {\n            failure('HTTP Error: ' + xhr.status);\n            return;\n          }\n          var json = JSON.parse(xhr.responseText);\n          if (!json || typeof json.location !== 'string') {\n            failure('Invalid JSON: ' + xhr.responseText);\n            return;\n          }\n          success(pathJoin(settings.basePath, json.location));\n        };\n        var formData = new FormData();\n        formData.append('file', blobInfo.blob(), blobInfo.filename());\n        xhr.send(formData);\n      };\n      var noUpload = function () {\n        return new promiseObj(function (resolve) {\n          resolve([]);\n        });\n      };\n      var handlerSuccess = function (blobInfo, url) {\n        return {\n          url: url,\n          blobInfo: blobInfo,\n          status: true\n        };\n      };\n      var handlerFailure = function (blobInfo, message, options) {\n        return {\n          url: '',\n          blobInfo: blobInfo,\n          status: false,\n          error: {\n            message: message,\n            options: options\n          }\n        };\n      };\n      var resolvePending = function (blobUri, result) {\n        Tools.each(pendingPromises[blobUri], function (resolve) {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      var uploadBlobInfo = function (blobInfo, handler, openNotification) {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new promiseObj(function (resolve) {\n          var notification, progress;\n          try {\n            var closeNotification_1 = function () {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            var success = function (url) {\n              closeNotification_1();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            var failure = function (error, options) {\n              var failureOptions = options ? options : {};\n              closeNotification_1();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error, failureOptions));\n              resolve(handlerFailure(blobInfo, error, failureOptions));\n            };\n            progress = function (percent) {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(function () {\n                return Optional.from(openNotification).map(apply);\n              }).each(function (n) {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, success, failure, progress);\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex.message, {}));\n          }\n        });\n      };\n      var isDefaultHandler = function (handler) {\n        return handler === defaultHandler;\n      };\n      var pendingUploadBlobInfo = function (blobInfo) {\n        var blobUri = blobInfo.blobUri();\n        return new promiseObj(function (resolve) {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      var uploadBlobs = function (blobInfos, openNotification) {\n        blobInfos = Tools.grep(blobInfos, function (blobInfo) {\n          return !uploadStatus.isUploaded(blobInfo.blobUri());\n        });\n        return promiseObj.all(Tools.map(blobInfos, function (blobInfo) {\n          return uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, settings.handler, openNotification);\n        }));\n      };\n      var upload = function (blobInfos, openNotification) {\n        return !settings.url && isDefaultHandler(settings.handler) ? noUpload() : uploadBlobs(blobInfos, openNotification);\n      };\n      if (isFunction(settings.handler) === false) {\n        settings.handler = defaultHandler;\n      }\n      return { upload: upload };\n    };\n\n    var openNotification = function (editor) {\n      return function () {\n        return editor.notificationManager.open({\n          text: editor.translate('Image uploading...'),\n          type: 'info',\n          timeout: -1,\n          progressBar: true\n        });\n      };\n    };\n    var createUploader = function (editor, uploadStatus) {\n      return Uploader(uploadStatus, {\n        url: getImageUploadUrl(editor),\n        basePath: getImageUploadBasePath(editor),\n        credentials: getImagesUploadCredentials(editor),\n        handler: getImagesUploadHandler(editor)\n      });\n    };\n    var ImageUploader = function (editor) {\n      var uploadStatus = UploadStatus();\n      var uploader = createUploader(editor, uploadStatus);\n      return {\n        upload: function (blobInfos, showNotification) {\n          if (showNotification === void 0) {\n            showNotification = true;\n          }\n          return uploader.upload(blobInfos, showNotification ? openNotification(editor) : undefined);\n        }\n      };\n    };\n\n    var UploadChangeHandler = function (editor) {\n      var lastChangedLevel = Cell(null);\n      editor.on('change AddUndo', function (e) {\n        lastChangedLevel.set(__assign({}, e.level));\n      });\n      var fireIfChanged = function () {\n        var data = editor.undoManager.data;\n        last$2(data).filter(function (level) {\n          return !isEq$1(lastChangedLevel.get(), level);\n        }).each(function (level) {\n          editor.setDirty(true);\n          editor.fire('change', {\n            level: level,\n            lastLevel: get$a(data, data.length - 2).getOrNull()\n          });\n        });\n      };\n      return { fireIfChanged: fireIfChanged };\n    };\n    var EditorUpload = function (editor) {\n      var blobCache = BlobCache();\n      var uploader, imageScanner;\n      var uploadStatus = UploadStatus();\n      var urlFilters = [];\n      var changeHandler = UploadChangeHandler(editor);\n      var aliveGuard = function (callback) {\n        return function (result) {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      var cacheInvalidator = function (url) {\n        return url + (url.indexOf('?') === -1 ? '?' : '&') + new Date().getTime();\n      };\n      var replaceString = function (content, search, replace) {\n        var index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      var replaceImageUrl = function (content, targetUrl, replacementUrl) {\n        var replacementString = 'src=\"' + replacementUrl + '\"' + (replacementUrl === Env.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, 'src=\"' + targetUrl + '\"', replacementString);\n        content = replaceString(content, 'data-mce-src=\"' + targetUrl + '\"', 'data-mce-src=\"' + replacementUrl + '\"');\n        return content;\n      };\n      var replaceUrlInUndoStack = function (targetUrl, replacementUrl) {\n        each$k(editor.undoManager.data, function (level) {\n          if (level.type === 'fragmented') {\n            level.fragments = map$3(level.fragments, function (fragment) {\n              return replaceImageUrl(fragment, targetUrl, replacementUrl);\n            });\n          } else {\n            level.content = replaceImageUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      var replaceImageUriInView = function (image, resultUri) {\n        var src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(image.src, resultUri);\n        editor.$(image).attr({\n          'src': shouldReuseFileName(editor) ? cacheInvalidator(resultUri) : resultUri,\n          'data-mce-src': src\n        });\n      };\n      var uploadImages = function (callback) {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForImages().then(aliveGuard(function (imageInfos) {\n          var blobInfos = map$3(imageInfos, function (imageInfo) {\n            return imageInfo.blobInfo;\n          });\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(function (result) {\n            var imagesToRemove = [];\n            var filteredResult = map$3(result, function (uploadInfo, index) {\n              var blobInfo = imageInfos[index].blobInfo;\n              var image = imageInfos[index].image;\n              if (uploadInfo.status && shouldReplaceBlobUris(editor)) {\n                blobCache.removeByUri(image.src);\n                if (isRtc(editor)) ; else {\n                  replaceImageUriInView(image, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.options.remove) {\n                  replaceUrlInUndoStack(image.getAttribute('src'), Env.transparentSrc);\n                  imagesToRemove.push(image);\n                }\n                uploadError(editor, uploadInfo.error.message);\n              }\n              return {\n                element: image,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo: blobInfo\n              };\n            });\n            if (filteredResult.length > 0) {\n              changeHandler.fireIfChanged();\n            }\n            if (imagesToRemove.length > 0) {\n              if (isRtc(editor)) {\n                console.error('Removing images on failed uploads is currently unsupported for RTC');\n              } else {\n                editor.undoManager.transact(function () {\n                  each$k(imagesToRemove, function (element) {\n                    editor.dom.remove(element);\n                    blobCache.removeByUri(element.src);\n                  });\n                });\n              }\n            }\n            if (callback) {\n              callback(filteredResult);\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      var uploadImagesAuto = function (callback) {\n        if (isAutomaticUploadsEnabled(editor)) {\n          return uploadImages(callback);\n        }\n      };\n      var isValidDataUriImage = function (imgElm) {\n        if (forall(urlFilters, function (filter) {\n            return filter(imgElm);\n          }) === false) {\n          return false;\n        }\n        if (imgElm.getAttribute('src').indexOf('data:') === 0) {\n          var dataImgFilter = getImagesDataImgFilter(editor);\n          return dataImgFilter(imgElm);\n        }\n        return true;\n      };\n      var addFilter = function (filter) {\n        urlFilters.push(filter);\n      };\n      var scanForImages = function () {\n        if (!imageScanner) {\n          imageScanner = ImageScanner(uploadStatus, blobCache);\n        }\n        return imageScanner.findAll(editor.getBody(), isValidDataUriImage).then(aliveGuard(function (result) {\n          result = filter$4(result, function (resultItem) {\n            if (typeof resultItem === 'string') {\n              displayError(editor, resultItem);\n              return false;\n            }\n            return true;\n          });\n          if (isRtc(editor)) ; else {\n            each$k(result, function (resultItem) {\n              replaceUrlInUndoStack(resultItem.image.src, resultItem.blobInfo.blobUri());\n              resultItem.image.src = resultItem.blobInfo.blobUri();\n              resultItem.image.removeAttribute('data-mce-src');\n            });\n          }\n          return result;\n        }));\n      };\n      var destroy = function () {\n        blobCache.destroy();\n        uploadStatus.destroy();\n        imageScanner = uploader = null;\n      };\n      var replaceBlobUris = function (content) {\n        return content.replace(/src=\"(blob:[^\"]+)\"/g, function (match, blobUri) {\n          var resultUri = uploadStatus.getResultUri(blobUri);\n          if (resultUri) {\n            return 'src=\"' + resultUri + '\"';\n          }\n          var blobInfo = blobCache.getByUri(blobUri);\n          if (!blobInfo) {\n            blobInfo = foldl(editor.editorManager.get(), function (result, editor) {\n              return result || editor.editorUpload && editor.editorUpload.blobCache.getByUri(blobUri);\n            }, null);\n          }\n          if (blobInfo) {\n            var blob = blobInfo.blob();\n            return 'src=\"data:' + blob.type + ';base64,' + blobInfo.base64() + '\"';\n          }\n          return match;\n        });\n      };\n      editor.on('SetContent', function () {\n        if (isAutomaticUploadsEnabled(editor)) {\n          uploadImagesAuto();\n        } else {\n          scanForImages();\n        }\n      });\n      editor.on('RawSaveContent', function (e) {\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('GetContent', function (e) {\n        if (e.source_view || e.format === 'raw' || e.format === 'tree') {\n          return;\n        }\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('PostRender', function () {\n        editor.parser.addNodeFilter('img', function (images) {\n          each$k(images, function (img) {\n            var src = img.attr('src');\n            if (blobCache.getByUri(src)) {\n              return;\n            }\n            var resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              img.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      return {\n        blobCache: blobCache,\n        addFilter: addFilter,\n        uploadImages: uploadImages,\n        uploadImagesAuto: uploadImagesAuto,\n        scanForImages: scanForImages,\n        destroy: destroy\n      };\n    };\n\n    var get = function (dom) {\n      var formats = {\n        valigntop: [{\n            selector: 'td,th',\n            styles: { verticalAlign: 'top' }\n          }],\n        valignmiddle: [{\n            selector: 'td,th',\n            styles: { verticalAlign: 'middle' }\n          }],\n        valignbottom: [{\n            selector: 'td,th',\n            styles: { verticalAlign: 'bottom' }\n          }],\n        alignleft: [\n          {\n            selector: 'figure.image',\n            collapsed: false,\n            classes: 'align-left',\n            ceFalseOverride: true,\n            preview: 'font-family font-size'\n          },\n          {\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'left' },\n            inherit: false,\n            preview: false,\n            defaultBlock: 'div'\n          },\n          {\n            selector: 'img,table,audio,video',\n            collapsed: false,\n            styles: { float: 'left' },\n            preview: 'font-family font-size'\n          }\n        ],\n        aligncenter: [\n          {\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'center' },\n            inherit: false,\n            preview: 'font-family font-size',\n            defaultBlock: 'div'\n          },\n          {\n            selector: 'figure.image',\n            collapsed: false,\n            classes: 'align-center',\n            ceFalseOverride: true,\n            preview: 'font-family font-size'\n          },\n          {\n            selector: 'img,audio,video',\n            collapsed: false,\n            styles: {\n              display: 'block',\n              marginLeft: 'auto',\n              marginRight: 'auto'\n            },\n            preview: false\n          },\n          {\n            selector: 'table',\n            collapsed: false,\n            styles: {\n              marginLeft: 'auto',\n              marginRight: 'auto'\n            },\n            preview: 'font-family font-size'\n          }\n        ],\n        alignright: [\n          {\n            selector: 'figure.image',\n            collapsed: false,\n            classes: 'align-right',\n            ceFalseOverride: true,\n            preview: 'font-family font-size'\n          },\n          {\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'right' },\n            inherit: false,\n            preview: 'font-family font-size',\n            defaultBlock: 'div'\n          },\n          {\n            selector: 'img,table,audio,video',\n            collapsed: false,\n            styles: { float: 'right' },\n            preview: 'font-family font-size'\n          }\n        ],\n        alignjustify: [{\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'justify' },\n            inherit: false,\n            defaultBlock: 'div',\n            preview: 'font-family font-size'\n          }],\n        bold: [\n          {\n            inline: 'strong',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          },\n          {\n            inline: 'span',\n            styles: { fontWeight: 'bold' }\n          },\n          {\n            inline: 'b',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          }\n        ],\n        italic: [\n          {\n            inline: 'em',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          },\n          {\n            inline: 'span',\n            styles: { fontStyle: 'italic' }\n          },\n          {\n            inline: 'i',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          }\n        ],\n        underline: [\n          {\n            inline: 'span',\n            styles: { textDecoration: 'underline' },\n            exact: true\n          },\n          {\n            inline: 'u',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          }\n        ],\n        strikethrough: [\n          {\n            inline: 'span',\n            styles: { textDecoration: 'line-through' },\n            exact: true\n          },\n          {\n            inline: 'strike',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          },\n          {\n            inline: 's',\n            remove: 'all',\n            preserve_attributes: [\n              'class',\n              'style'\n            ]\n          }\n        ],\n        forecolor: {\n          inline: 'span',\n          styles: { color: '%value' },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        hilitecolor: {\n          inline: 'span',\n          styles: { backgroundColor: '%value' },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        fontname: {\n          inline: 'span',\n          toggle: false,\n          styles: { fontFamily: '%value' },\n          clear_child_styles: true\n        },\n        fontsize: {\n          inline: 'span',\n          toggle: false,\n          styles: { fontSize: '%value' },\n          clear_child_styles: true\n        },\n        lineheight: {\n          selector: 'h1,h2,h3,h4,h5,h6,p,li,td,th,div',\n          defaultBlock: 'p',\n          styles: { lineHeight: '%value' }\n        },\n        fontsize_class: {\n          inline: 'span',\n          attributes: { class: '%value' }\n        },\n        blockquote: {\n          block: 'blockquote',\n          wrapper: true,\n          remove: 'all'\n        },\n        subscript: { inline: 'sub' },\n        superscript: { inline: 'sup' },\n        code: { inline: 'code' },\n        link: {\n          inline: 'a',\n          selector: 'a',\n          remove: 'all',\n          split: true,\n          deep: true,\n          onmatch: function (node, _fmt, _itemName) {\n            return isElement$5(node) && node.hasAttribute('href');\n          },\n          onformat: function (elm, _fmt, vars) {\n            Tools.each(vars, function (value, key) {\n              dom.setAttrib(elm, key, value);\n            });\n          }\n        },\n        lang: {\n          inline: 'span',\n          clear_child_styles: true,\n          remove_similar: true,\n          attributes: {\n            'lang': '%value',\n            'data-mce-lang': function (vars) {\n              var _a;\n              return (_a = vars === null || vars === void 0 ? void 0 : vars.customValue) !== null && _a !== void 0 ? _a : null;\n            }\n          }\n        },\n        removeformat: [\n          {\n            selector: 'b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small',\n            remove: 'all',\n            split: true,\n            expand: false,\n            block_expand: true,\n            deep: true\n          },\n          {\n            selector: 'span',\n            attributes: [\n              'style',\n              'class'\n            ],\n            remove: 'empty',\n            split: true,\n            expand: false,\n            deep: true\n          },\n          {\n            selector: '*',\n            attributes: [\n              'style',\n              'class'\n            ],\n            split: false,\n            expand: false,\n            deep: true\n          }\n        ]\n      };\n      Tools.each('p h1 h2 h3 h4 h5 h6 div address pre dt dd samp'.split(/\\s/), function (name) {\n        formats[name] = {\n          block: name,\n          remove: 'all'\n        };\n      });\n      return formats;\n    };\n\n    var FormatRegistry = function (editor) {\n      var formats = {};\n      var get$1 = function (name) {\n        return isNonNullable(name) ? formats[name] : formats;\n      };\n      var has = function (name) {\n        return has$2(formats, name);\n      };\n      var register = function (name, format) {\n        if (name) {\n          if (!isString$1(name)) {\n            each$j(name, function (format, name) {\n              register(name, format);\n            });\n          } else {\n            if (!isArray$1(format)) {\n              format = [format];\n            }\n            each$k(format, function (format) {\n              if (isUndefined(format.deep)) {\n                format.deep = !isSelectorFormat(format);\n              }\n              if (isUndefined(format.split)) {\n                format.split = !isSelectorFormat(format) || isInlineFormat(format);\n              }\n              if (isUndefined(format.remove) && isSelectorFormat(format) && !isInlineFormat(format)) {\n                format.remove = 'none';\n              }\n              if (isSelectorFormat(format) && isInlineFormat(format)) {\n                format.mixed = true;\n                format.block_expand = true;\n              }\n              if (isString$1(format.classes)) {\n                format.classes = format.classes.split(/\\s+/);\n              }\n            });\n            formats[name] = format;\n          }\n        }\n      };\n      var unregister = function (name) {\n        if (name && formats[name]) {\n          delete formats[name];\n        }\n        return formats;\n      };\n      register(get(editor.dom));\n      register(getFormats(editor));\n      return {\n        get: get$1,\n        has: has,\n        register: register,\n        unregister: unregister\n      };\n    };\n\n    var each$5 = Tools.each;\n    var dom = DOMUtils.DOM;\n    var parsedSelectorToHtml = function (ancestry, editor) {\n      var elm, item, fragment;\n      var schema = editor && editor.schema || Schema({});\n      var decorate = function (elm, item) {\n        if (item.classes.length) {\n          dom.addClass(elm, item.classes.join(' '));\n        }\n        dom.setAttribs(elm, item.attrs);\n      };\n      var createElement = function (sItem) {\n        item = typeof sItem === 'string' ? {\n          name: sItem,\n          classes: [],\n          attrs: {}\n        } : sItem;\n        var elm = dom.create(item.name);\n        decorate(elm, item);\n        return elm;\n      };\n      var getRequiredParent = function (elm, candidate) {\n        var name = typeof elm !== 'string' ? elm.nodeName.toLowerCase() : elm;\n        var elmRule = schema.getElementRule(name);\n        var parentsRequired = elmRule && elmRule.parentsRequired;\n        if (parentsRequired && parentsRequired.length) {\n          return candidate && Tools.inArray(parentsRequired, candidate) !== -1 ? candidate : parentsRequired[0];\n        } else {\n          return false;\n        }\n      };\n      var wrapInHtml = function (elm, ancestry, siblings) {\n        var parent, parentCandidate;\n        var ancestor = ancestry.length > 0 && ancestry[0];\n        var ancestorName = ancestor && ancestor.name;\n        var parentRequired = getRequiredParent(elm, ancestorName);\n        if (parentRequired) {\n          if (ancestorName === parentRequired) {\n            parentCandidate = ancestry[0];\n            ancestry = ancestry.slice(1);\n          } else {\n            parentCandidate = parentRequired;\n          }\n        } else if (ancestor) {\n          parentCandidate = ancestry[0];\n          ancestry = ancestry.slice(1);\n        } else if (!siblings) {\n          return elm;\n        }\n        if (parentCandidate) {\n          parent = createElement(parentCandidate);\n          parent.appendChild(elm);\n        }\n        if (siblings) {\n          if (!parent) {\n            parent = dom.create('div');\n            parent.appendChild(elm);\n          }\n          Tools.each(siblings, function (sibling) {\n            var siblingElm = createElement(sibling);\n            parent.insertBefore(siblingElm, elm);\n          });\n        }\n        return wrapInHtml(parent, ancestry, parentCandidate && parentCandidate.siblings);\n      };\n      if (ancestry && ancestry.length) {\n        item = ancestry[0];\n        elm = createElement(item);\n        fragment = dom.create('div');\n        fragment.appendChild(wrapInHtml(elm, ancestry.slice(1), item.siblings));\n        return fragment;\n      } else {\n        return '';\n      }\n    };\n    var parseSelectorItem = function (item) {\n      var tagName;\n      var obj = {\n        classes: [],\n        attrs: {}\n      };\n      item = obj.selector = Tools.trim(item);\n      if (item !== '*') {\n        tagName = item.replace(/(?:([#\\.]|::?)([\\w\\-]+)|(\\[)([^\\]]+)\\]?)/g, function ($0, $1, $2, $3, $4) {\n          switch ($1) {\n          case '#':\n            obj.attrs.id = $2;\n            break;\n          case '.':\n            obj.classes.push($2);\n            break;\n          case ':':\n            if (Tools.inArray('checked disabled enabled read-only required'.split(' '), $2) !== -1) {\n              obj.attrs[$2] = $2;\n            }\n            break;\n          }\n          if ($3 === '[') {\n            var m = $4.match(/([\\w\\-]+)(?:\\=\\\"([^\\\"]+))?/);\n            if (m) {\n              obj.attrs[m[1]] = m[2];\n            }\n          }\n          return '';\n        });\n      }\n      obj.name = tagName || 'div';\n      return obj;\n    };\n    var parseSelector = function (selector) {\n      if (!selector || typeof selector !== 'string') {\n        return [];\n      }\n      selector = selector.split(/\\s*,\\s*/)[0];\n      selector = selector.replace(/\\s*(~\\+|~|\\+|>)\\s*/g, '$1');\n      return Tools.map(selector.split(/(?:>|\\s+(?![^\\[\\]]+\\]))/), function (item) {\n        var siblings = Tools.map(item.split(/(?:~\\+|~|\\+)/), parseSelectorItem);\n        var obj = siblings.pop();\n        if (siblings.length) {\n          obj.siblings = siblings;\n        }\n        return obj;\n      }).reverse();\n    };\n    var getCssText = function (editor, format) {\n      var name, previewFrag;\n      var previewCss = '', parentFontSize;\n      var previewStyles = getPreviewStyles(editor);\n      if (previewStyles === '') {\n        return '';\n      }\n      var removeVars = function (val) {\n        return val.replace(/%(\\w+)/g, '');\n      };\n      if (typeof format === 'string') {\n        format = editor.formatter.get(format);\n        if (!format) {\n          return;\n        }\n        format = format[0];\n      }\n      if ('preview' in format) {\n        var previewOpt = get$9(format, 'preview');\n        if (is$1(previewOpt, false)) {\n          return '';\n        } else {\n          previewStyles = previewOpt.getOr(previewStyles);\n        }\n      }\n      name = format.block || format.inline || 'span';\n      var items = parseSelector(format.selector);\n      if (items.length) {\n        if (!items[0].name) {\n          items[0].name = name;\n        }\n        name = format.selector;\n        previewFrag = parsedSelectorToHtml(items, editor);\n      } else {\n        previewFrag = parsedSelectorToHtml([name], editor);\n      }\n      var previewElm = dom.select(name, previewFrag)[0] || previewFrag.firstChild;\n      each$5(format.styles, function (value, name) {\n        var newValue = removeVars(value);\n        if (newValue) {\n          dom.setStyle(previewElm, name, newValue);\n        }\n      });\n      each$5(format.attributes, function (value, name) {\n        var newValue = removeVars(value);\n        if (newValue) {\n          dom.setAttrib(previewElm, name, newValue);\n        }\n      });\n      each$5(format.classes, function (value) {\n        var newValue = removeVars(value);\n        if (!dom.hasClass(previewElm, newValue)) {\n          dom.addClass(previewElm, newValue);\n        }\n      });\n      editor.fire('PreviewFormats');\n      dom.setStyles(previewFrag, {\n        position: 'absolute',\n        left: -65535\n      });\n      editor.getBody().appendChild(previewFrag);\n      parentFontSize = dom.getStyle(editor.getBody(), 'fontSize', true);\n      parentFontSize = /px$/.test(parentFontSize) ? parseInt(parentFontSize, 10) : 0;\n      each$5(previewStyles.split(' '), function (name) {\n        var value = dom.getStyle(previewElm, name, true);\n        if (name === 'background-color' && /transparent|rgba\\s*\\([^)]+,\\s*0\\)/.test(value)) {\n          value = dom.getStyle(editor.getBody(), name, true);\n          if (dom.toHex(value).toLowerCase() === '#ffffff') {\n            return;\n          }\n        }\n        if (name === 'color') {\n          if (dom.toHex(value).toLowerCase() === '#000000') {\n            return;\n          }\n        }\n        if (name === 'font-size') {\n          if (/em|%$/.test(value)) {\n            if (parentFontSize === 0) {\n              return;\n            }\n            var numValue = parseFloat(value) / (/%$/.test(value) ? 100 : 1);\n            value = numValue * parentFontSize + 'px';\n          }\n        }\n        if (name === 'border' && value) {\n          previewCss += 'padding:0 2px;';\n        }\n        previewCss += name + ':' + value + ';';\n      });\n      editor.fire('AfterPreviewFormats');\n      dom.remove(previewFrag);\n      return previewCss;\n    };\n\n    var setup$h = function (editor) {\n      editor.addShortcut('meta+b', '', 'Bold');\n      editor.addShortcut('meta+i', '', 'Italic');\n      editor.addShortcut('meta+u', '', 'Underline');\n      for (var i = 1; i <= 6; i++) {\n        editor.addShortcut('access+' + i, '', [\n          'FormatBlock',\n          false,\n          'h' + i\n        ]);\n      }\n      editor.addShortcut('access+7', '', [\n        'FormatBlock',\n        false,\n        'p'\n      ]);\n      editor.addShortcut('access+8', '', [\n        'FormatBlock',\n        false,\n        'div'\n      ]);\n      editor.addShortcut('access+9', '', [\n        'FormatBlock',\n        false,\n        'address'\n      ]);\n    };\n\n    var Formatter = function (editor) {\n      var formats = FormatRegistry(editor);\n      var formatChangeState = Cell(null);\n      setup$h(editor);\n      setup$k(editor);\n      return {\n        get: formats.get,\n        has: formats.has,\n        register: formats.register,\n        unregister: formats.unregister,\n        apply: function (name, vars, node) {\n          applyFormat(editor, name, vars, node);\n        },\n        remove: function (name, vars, node, similar) {\n          removeFormat(editor, name, vars, node, similar);\n        },\n        toggle: function (name, vars, node) {\n          toggleFormat(editor, name, vars, node);\n        },\n        match: function (name, vars, node, similar) {\n          return matchFormat(editor, name, vars, node, similar);\n        },\n        closest: function (names) {\n          return closestFormat(editor, names);\n        },\n        matchAll: function (names, vars) {\n          return matchAllFormats(editor, names, vars);\n        },\n        matchNode: function (node, name, vars, similar) {\n          return matchNodeFormat(editor, node, name, vars, similar);\n        },\n        canApply: function (name) {\n          return canApplyFormat(editor, name);\n        },\n        formatChanged: function (formats, callback, similar, vars) {\n          return formatChanged(editor, formatChangeState, formats, callback, similar, vars);\n        },\n        getCssText: curry(getCssText, editor)\n      };\n    };\n\n    var shouldIgnoreCommand = function (cmd) {\n      switch (cmd.toLowerCase()) {\n      case 'undo':\n      case 'redo':\n      case 'mcerepaint':\n      case 'mcefocus':\n        return true;\n      default:\n        return false;\n      }\n    };\n    var registerEvents = function (editor, undoManager, locks) {\n      var isFirstTypedCharacter = Cell(false);\n      var addNonTypingUndoLevel = function (e) {\n        setTyping(undoManager, false, locks);\n        undoManager.add({}, e);\n      };\n      editor.on('init', function () {\n        undoManager.add();\n      });\n      editor.on('BeforeExecCommand', function (e) {\n        var cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          endTyping(undoManager, locks);\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('ExecCommand', function (e) {\n        var cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('ObjectResizeStart cut', function () {\n        undoManager.beforeChange();\n      });\n      editor.on('SaveContent ObjectResized blur', addNonTypingUndoLevel);\n      editor.on('dragend', addNonTypingUndoLevel);\n      editor.on('keyup', function (e) {\n        var keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45 || e.ctrlKey) {\n          addNonTypingUndoLevel();\n          editor.nodeChanged();\n        }\n        if (keyCode === 46 || keyCode === 8) {\n          editor.nodeChanged();\n        }\n        if (isFirstTypedCharacter.get() && undoManager.typing && isEq$1(createFromEditor(editor), undoManager.data[0]) === false) {\n          if (editor.isDirty() === false) {\n            editor.setDirty(true);\n            editor.fire('change', {\n              level: undoManager.data[0],\n              lastLevel: null\n            });\n          }\n          editor.fire('TypingUndo');\n          isFirstTypedCharacter.set(false);\n          editor.nodeChanged();\n        }\n      });\n      editor.on('keydown', function (e) {\n        var keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45) {\n          if (undoManager.typing) {\n            addNonTypingUndoLevel(e);\n          }\n          return;\n        }\n        var modKey = e.ctrlKey && !e.altKey || e.metaKey;\n        if ((keyCode < 16 || keyCode > 20) && keyCode !== 224 && keyCode !== 91 && !undoManager.typing && !modKey) {\n          undoManager.beforeChange();\n          setTyping(undoManager, true, locks);\n          undoManager.add({}, e);\n          isFirstTypedCharacter.set(true);\n        }\n      });\n      editor.on('mousedown', function (e) {\n        if (undoManager.typing) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      var isInsertReplacementText = function (event) {\n        return event.inputType === 'insertReplacementText';\n      };\n      var isInsertTextDataNull = function (event) {\n        return event.inputType === 'insertText' && event.data === null;\n      };\n      var isInsertFromPasteOrDrop = function (event) {\n        return event.inputType === 'insertFromPaste' || event.inputType === 'insertFromDrop';\n      };\n      editor.on('input', function (e) {\n        if (e.inputType && (isInsertReplacementText(e) || isInsertTextDataNull(e) || isInsertFromPasteOrDrop(e))) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('AddUndo Undo Redo ClearUndos', function (e) {\n        if (!e.isDefaultPrevented()) {\n          editor.nodeChanged();\n        }\n      });\n    };\n    var addKeyboardShortcuts = function (editor) {\n      editor.addShortcut('meta+z', '', 'Undo');\n      editor.addShortcut('meta+y,meta+shift+z', '', 'Redo');\n    };\n\n    var UndoManager = function (editor) {\n      var beforeBookmark = value();\n      var locks = Cell(0);\n      var index = Cell(0);\n      var undoManager = {\n        data: [],\n        typing: false,\n        beforeChange: function () {\n          beforeChange(editor, locks, beforeBookmark);\n        },\n        add: function (level, event) {\n          return addUndoLevel(editor, undoManager, index, locks, beforeBookmark, level, event);\n        },\n        undo: function () {\n          return undo(editor, undoManager, locks, index);\n        },\n        redo: function () {\n          return redo(editor, index, undoManager.data);\n        },\n        clear: function () {\n          clear(editor, undoManager, index);\n        },\n        reset: function () {\n          reset(editor, undoManager);\n        },\n        hasUndo: function () {\n          return hasUndo(editor, undoManager, index);\n        },\n        hasRedo: function () {\n          return hasRedo(editor, undoManager, index);\n        },\n        transact: function (callback) {\n          return transact(editor, undoManager, locks, callback);\n        },\n        ignore: function (callback) {\n          ignore(editor, locks, callback);\n        },\n        extra: function (callback1, callback2) {\n          extra(editor, undoManager, index, callback1, callback2);\n        }\n      };\n      if (!isRtc(editor)) {\n        registerEvents(editor, undoManager, locks);\n      }\n      addKeyboardShortcuts(editor);\n      return undoManager;\n    };\n\n    var nonTypingKeycodes = [\n      9,\n      27,\n      VK.HOME,\n      VK.END,\n      19,\n      20,\n      44,\n      144,\n      145,\n      33,\n      34,\n      45,\n      16,\n      17,\n      18,\n      91,\n      92,\n      93,\n      VK.DOWN,\n      VK.UP,\n      VK.LEFT,\n      VK.RIGHT\n    ].concat(Env.browser.isFirefox() ? [224] : []);\n    var placeholderAttr = 'data-mce-placeholder';\n    var isKeyboardEvent = function (e) {\n      return e.type === 'keydown' || e.type === 'keyup';\n    };\n    var isDeleteEvent = function (e) {\n      var keyCode = e.keyCode;\n      return keyCode === VK.BACKSPACE || keyCode === VK.DELETE;\n    };\n    var isNonTypingKeyboardEvent = function (e) {\n      if (isKeyboardEvent(e)) {\n        var keyCode = e.keyCode;\n        return !isDeleteEvent(e) && (VK.metaKeyPressed(e) || e.altKey || keyCode >= 112 && keyCode <= 123 || contains$3(nonTypingKeycodes, keyCode));\n      } else {\n        return false;\n      }\n    };\n    var isTypingKeyboardEvent = function (e) {\n      return isKeyboardEvent(e) && !(isDeleteEvent(e) || e.type === 'keyup' && e.keyCode === 229);\n    };\n    var isVisuallyEmpty = function (dom, rootElm, forcedRootBlock) {\n      if (isEmpty$2(SugarElement.fromDom(rootElm), false)) {\n        var isForcedRootBlockFalse = forcedRootBlock === '';\n        var firstElement = rootElm.firstElementChild;\n        if (!firstElement) {\n          return true;\n        } else if (dom.getStyle(rootElm.firstElementChild, 'padding-left') || dom.getStyle(rootElm.firstElementChild, 'padding-right')) {\n          return false;\n        } else {\n          return isForcedRootBlockFalse ? !dom.isBlock(firstElement) : forcedRootBlock === firstElement.nodeName.toLowerCase();\n        }\n      } else {\n        return false;\n      }\n    };\n    var setup$g = function (editor) {\n      var dom = editor.dom;\n      var rootBlock = getForcedRootBlock(editor);\n      var placeholder = getPlaceholder(editor);\n      var updatePlaceholder = function (e, initial) {\n        if (isNonTypingKeyboardEvent(e)) {\n          return;\n        }\n        var body = editor.getBody();\n        var showPlaceholder = isTypingKeyboardEvent(e) ? false : isVisuallyEmpty(dom, body, rootBlock);\n        var isPlaceholderShown = dom.getAttrib(body, placeholderAttr) !== '';\n        if (isPlaceholderShown !== showPlaceholder || initial) {\n          dom.setAttrib(body, placeholderAttr, showPlaceholder ? placeholder : null);\n          dom.setAttrib(body, 'aria-placeholder', showPlaceholder ? placeholder : null);\n          firePlaceholderToggle(editor, showPlaceholder);\n          editor.on(showPlaceholder ? 'keydown' : 'keyup', updatePlaceholder);\n          editor.off(showPlaceholder ? 'keyup' : 'keydown', updatePlaceholder);\n        }\n      };\n      if (placeholder) {\n        editor.on('init', function (e) {\n          updatePlaceholder(e, true);\n          editor.on('change SetContent ExecCommand', updatePlaceholder);\n          editor.on('paste', function (e) {\n            return Delay.setEditorTimeout(editor, function () {\n              return updatePlaceholder(e);\n            });\n          });\n        });\n      }\n    };\n\n    var strongRtl = /[\\u0591-\\u07FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFC]/;\n    var hasStrongRtl = function (text) {\n      return strongRtl.test(text);\n    };\n\n    var isInlineTarget = function (editor, elm) {\n      return is$2(SugarElement.fromDom(elm), getInlineBoundarySelector(editor));\n    };\n    var isRtl = function (element) {\n      return DOMUtils.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl(element.textContent);\n    };\n    var findInlineParents = function (isInlineTarget, rootNode, pos) {\n      return filter$4(DOMUtils.DOM.getParents(pos.container(), '*', rootNode), isInlineTarget);\n    };\n    var findRootInline = function (isInlineTarget, rootNode, pos) {\n      var parents = findInlineParents(isInlineTarget, rootNode, pos);\n      return Optional.from(parents[parents.length - 1]);\n    };\n    var hasSameParentBlock = function (rootNode, node1, node2) {\n      var block1 = getParentBlock$2(node1, rootNode);\n      var block2 = getParentBlock$2(node2, rootNode);\n      return block1 && block1 === block2;\n    };\n    var isAtZwsp = function (pos) {\n      return isBeforeInline(pos) || isAfterInline(pos);\n    };\n    var normalizePosition = function (forward, pos) {\n      if (!pos) {\n        return pos;\n      }\n      var container = pos.container(), offset = pos.offset();\n      if (forward) {\n        if (isCaretContainerInline(container)) {\n          if (isText$7(container.nextSibling)) {\n            return CaretPosition(container.nextSibling, 0);\n          } else {\n            return CaretPosition.after(container);\n          }\n        } else {\n          return isBeforeInline(pos) ? CaretPosition(container, offset + 1) : pos;\n        }\n      } else {\n        if (isCaretContainerInline(container)) {\n          if (isText$7(container.previousSibling)) {\n            return CaretPosition(container.previousSibling, container.previousSibling.data.length);\n          } else {\n            return CaretPosition.before(container);\n          }\n        } else {\n          return isAfterInline(pos) ? CaretPosition(container, offset - 1) : pos;\n        }\n      }\n    };\n    var normalizeForwards = curry(normalizePosition, true);\n    var normalizeBackwards = curry(normalizePosition, false);\n\n    var isBeforeRoot = function (rootNode) {\n      return function (elm) {\n        return eq(rootNode, SugarElement.fromDom(elm.dom.parentNode));\n      };\n    };\n    var isTextBlockOrListItem = function (element) {\n      return isTextBlock$2(element) || isListItem(element);\n    };\n    var getParentBlock$1 = function (rootNode, elm) {\n      if (contains$1(rootNode, elm)) {\n        return closest$3(elm, isTextBlockOrListItem, isBeforeRoot(rootNode));\n      } else {\n        return Optional.none();\n      }\n    };\n    var placeCaretInEmptyBody = function (editor) {\n      var body = editor.getBody();\n      var node = body.firstChild && editor.dom.isBlock(body.firstChild) ? body.firstChild : body;\n      editor.selection.setCursorLocation(node, 0);\n    };\n    var paddEmptyBody = function (editor) {\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        placeCaretInEmptyBody(editor);\n      }\n    };\n    var willDeleteLastPositionInElement = function (forward, fromPos, elm) {\n      return lift2(firstPositionIn(elm), lastPositionIn(elm), function (firstPos, lastPos) {\n        var normalizedFirstPos = normalizePosition(true, firstPos);\n        var normalizedLastPos = normalizePosition(false, lastPos);\n        var normalizedFromPos = normalizePosition(false, fromPos);\n        if (forward) {\n          return nextPosition(elm, normalizedFromPos).exists(function (nextPos) {\n            return nextPos.isEqual(normalizedLastPos) && fromPos.isEqual(normalizedFirstPos);\n          });\n        } else {\n          return prevPosition(elm, normalizedFromPos).exists(function (prevPos) {\n            return prevPos.isEqual(normalizedFirstPos) && fromPos.isEqual(normalizedLastPos);\n          });\n        }\n      }).getOr(true);\n    };\n\n    var blockPosition = function (block, position) {\n      return {\n        block: block,\n        position: position\n      };\n    };\n    var blockBoundary = function (from, to) {\n      return {\n        from: from,\n        to: to\n      };\n    };\n    var getBlockPosition = function (rootNode, pos) {\n      var rootElm = SugarElement.fromDom(rootNode);\n      var containerElm = SugarElement.fromDom(pos.container());\n      return getParentBlock$1(rootElm, containerElm).map(function (block) {\n        return blockPosition(block, pos);\n      });\n    };\n    var isDifferentBlocks = function (blockBoundary) {\n      return eq(blockBoundary.from.block, blockBoundary.to.block) === false;\n    };\n    var hasSameParent = function (blockBoundary) {\n      return parent(blockBoundary.from.block).bind(function (parent1) {\n        return parent(blockBoundary.to.block).filter(function (parent2) {\n          return eq(parent1, parent2);\n        });\n      }).isSome();\n    };\n    var isEditable$1 = function (blockBoundary) {\n      return isContentEditableFalse$b(blockBoundary.from.block.dom) === false && isContentEditableFalse$b(blockBoundary.to.block.dom) === false;\n    };\n    var skipLastBr = function (rootNode, forward, blockPosition) {\n      if (isBr$5(blockPosition.position.getNode()) && isEmpty$2(blockPosition.block) === false) {\n        return positionIn(false, blockPosition.block.dom).bind(function (lastPositionInBlock) {\n          if (lastPositionInBlock.isEqual(blockPosition.position)) {\n            return fromPosition(forward, rootNode, lastPositionInBlock).bind(function (to) {\n              return getBlockPosition(rootNode, to);\n            });\n          } else {\n            return Optional.some(blockPosition);\n          }\n        }).getOr(blockPosition);\n      } else {\n        return blockPosition;\n      }\n    };\n    var readFromRange = function (rootNode, forward, rng) {\n      var fromBlockPos = getBlockPosition(rootNode, CaretPosition.fromRangeStart(rng));\n      var toBlockPos = fromBlockPos.bind(function (blockPos) {\n        return fromPosition(forward, rootNode, blockPos.position).bind(function (to) {\n          return getBlockPosition(rootNode, to).map(function (blockPos) {\n            return skipLastBr(rootNode, forward, blockPos);\n          });\n        });\n      });\n      return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(function (blockBoundary) {\n        return isDifferentBlocks(blockBoundary) && hasSameParent(blockBoundary) && isEditable$1(blockBoundary);\n      });\n    };\n    var read$1 = function (rootNode, forward, rng) {\n      return rng.collapsed ? readFromRange(rootNode, forward, rng) : Optional.none();\n    };\n\n    var getChildrenUntilBlockBoundary = function (block) {\n      var children$1 = children(block);\n      return findIndex$2(children$1, isBlock$2).fold(constant(children$1), function (index) {\n        return children$1.slice(0, index);\n      });\n    };\n    var extractChildren = function (block) {\n      var children = getChildrenUntilBlockBoundary(block);\n      each$k(children, remove$7);\n      return children;\n    };\n    var removeEmptyRoot = function (rootNode, block) {\n      var parents = parentsAndSelf(block, rootNode);\n      return find$3(parents.reverse(), function (element) {\n        return isEmpty$2(element);\n      }).each(remove$7);\n    };\n    var isEmptyBefore = function (el) {\n      return filter$4(prevSiblings(el), function (el) {\n        return !isEmpty$2(el);\n      }).length === 0;\n    };\n    var nestedBlockMerge = function (rootNode, fromBlock, toBlock, insertionPoint) {\n      if (isEmpty$2(toBlock)) {\n        fillWithPaddingBr(toBlock);\n        return firstPositionIn(toBlock.dom);\n      }\n      if (isEmptyBefore(insertionPoint) && isEmpty$2(fromBlock)) {\n        before$4(insertionPoint, SugarElement.fromTag('br'));\n      }\n      var position = prevPosition(toBlock.dom, CaretPosition.before(insertionPoint.dom));\n      each$k(extractChildren(fromBlock), function (child) {\n        before$4(insertionPoint, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    var sidelongBlockMerge = function (rootNode, fromBlock, toBlock) {\n      if (isEmpty$2(toBlock)) {\n        remove$7(toBlock);\n        if (isEmpty$2(fromBlock)) {\n          fillWithPaddingBr(fromBlock);\n        }\n        return firstPositionIn(fromBlock.dom);\n      }\n      var position = lastPositionIn(toBlock.dom);\n      each$k(extractChildren(fromBlock), function (child) {\n        append$1(toBlock, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    var findInsertionPoint = function (toBlock, block) {\n      var parentsAndSelf$1 = parentsAndSelf(block, toBlock);\n      return Optional.from(parentsAndSelf$1[parentsAndSelf$1.length - 1]);\n    };\n    var getInsertionPoint = function (fromBlock, toBlock) {\n      return contains$1(toBlock, fromBlock) ? findInsertionPoint(toBlock, fromBlock) : Optional.none();\n    };\n    var trimBr = function (first, block) {\n      positionIn(first, block.dom).map(function (position) {\n        return position.getNode();\n      }).map(SugarElement.fromDom).filter(isBr$4).each(remove$7);\n    };\n    var mergeBlockInto = function (rootNode, fromBlock, toBlock) {\n      trimBr(true, fromBlock);\n      trimBr(false, toBlock);\n      return getInsertionPoint(fromBlock, toBlock).fold(curry(sidelongBlockMerge, rootNode, fromBlock, toBlock), curry(nestedBlockMerge, rootNode, fromBlock, toBlock));\n    };\n    var mergeBlocks = function (rootNode, forward, block1, block2) {\n      return forward ? mergeBlockInto(rootNode, block2, block1) : mergeBlockInto(rootNode, block1, block2);\n    };\n\n    var backspaceDelete$8 = function (editor, forward) {\n      var rootNode = SugarElement.fromDom(editor.getBody());\n      var position = read$1(rootNode.dom, forward, editor.selection.getRng()).bind(function (blockBoundary) {\n        return mergeBlocks(rootNode, forward, blockBoundary.from.block, blockBoundary.to.block);\n      });\n      position.each(function (pos) {\n        editor.selection.setRng(pos.toRange());\n      });\n      return position.isSome();\n    };\n\n    var deleteRangeMergeBlocks = function (rootNode, selection) {\n      var rng = selection.getRng();\n      return lift2(getParentBlock$1(rootNode, SugarElement.fromDom(rng.startContainer)), getParentBlock$1(rootNode, SugarElement.fromDom(rng.endContainer)), function (block1, block2) {\n        if (eq(block1, block2) === false) {\n          rng.deleteContents();\n          mergeBlocks(rootNode, true, block1, block2).each(function (pos) {\n            selection.setRng(pos.toRange());\n          });\n          return true;\n        } else {\n          return false;\n        }\n      }).getOr(false);\n    };\n    var isRawNodeInTable = function (root, rawNode) {\n      var node = SugarElement.fromDom(rawNode);\n      var isRoot = curry(eq, root);\n      return ancestor$3(node, isTableCell$4, isRoot).isSome();\n    };\n    var isSelectionInTable = function (root, rng) {\n      return isRawNodeInTable(root, rng.startContainer) || isRawNodeInTable(root, rng.endContainer);\n    };\n    var isEverythingSelected = function (root, rng) {\n      var noPrevious = prevPosition(root.dom, CaretPosition.fromRangeStart(rng)).isNone();\n      var noNext = nextPosition(root.dom, CaretPosition.fromRangeEnd(rng)).isNone();\n      return !isSelectionInTable(root, rng) && noPrevious && noNext;\n    };\n    var emptyEditor = function (editor) {\n      editor.setContent('');\n      editor.selection.setCursorLocation();\n      return true;\n    };\n    var deleteRange$1 = function (editor) {\n      var rootNode = SugarElement.fromDom(editor.getBody());\n      var rng = editor.selection.getRng();\n      return isEverythingSelected(rootNode, rng) ? emptyEditor(editor) : deleteRangeMergeBlocks(rootNode, editor.selection);\n    };\n    var backspaceDelete$7 = function (editor, _forward) {\n      return editor.selection.isCollapsed() ? false : deleteRange$1(editor);\n    };\n\n    var isContentEditableTrue$2 = isContentEditableTrue$4;\n    var isContentEditableFalse$4 = isContentEditableFalse$b;\n    var showCaret = function (direction, editor, node, before, scrollIntoView) {\n      return Optional.from(editor._selectionOverrides.showCaret(direction, node, before, scrollIntoView));\n    };\n    var getNodeRange = function (node) {\n      var rng = node.ownerDocument.createRange();\n      rng.selectNode(node);\n      return rng;\n    };\n    var selectNode = function (editor, node) {\n      var e = editor.fire('BeforeObjectSelected', { target: node });\n      if (e.isDefaultPrevented()) {\n        return Optional.none();\n      }\n      return Optional.some(getNodeRange(node));\n    };\n    var renderCaretAtRange = function (editor, range, scrollIntoView) {\n      var normalizedRange = normalizeRange(1, editor.getBody(), range);\n      var caretPosition = CaretPosition.fromRangeStart(normalizedRange);\n      var caretPositionNode = caretPosition.getNode();\n      if (isInlineFakeCaretTarget(caretPositionNode)) {\n        return showCaret(1, editor, caretPositionNode, !caretPosition.isAtEnd(), false);\n      }\n      var caretPositionBeforeNode = caretPosition.getNode(true);\n      if (isInlineFakeCaretTarget(caretPositionBeforeNode)) {\n        return showCaret(1, editor, caretPositionBeforeNode, false, false);\n      }\n      var ceRoot = editor.dom.getParent(caretPosition.getNode(), function (node) {\n        return isContentEditableFalse$4(node) || isContentEditableTrue$2(node);\n      });\n      if (isInlineFakeCaretTarget(ceRoot)) {\n        return showCaret(1, editor, ceRoot, false, scrollIntoView);\n      }\n      return Optional.none();\n    };\n    var renderRangeCaret = function (editor, range, scrollIntoView) {\n      return range.collapsed ? renderCaretAtRange(editor, range, scrollIntoView).getOr(range) : range;\n    };\n\n    var isBeforeBoundary = function (pos) {\n      return isBeforeContentEditableFalse(pos) || isBeforeMedia(pos);\n    };\n    var isAfterBoundary = function (pos) {\n      return isAfterContentEditableFalse(pos) || isAfterMedia(pos);\n    };\n    var trimEmptyTextNode = function (dom, node) {\n      if (isText$7(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    var deleteContentAndShowCaret = function (editor, range, node, direction, forward, peekCaretPosition) {\n      showCaret(direction, editor, peekCaretPosition.getNode(!forward), forward, true).each(function (caretRange) {\n        if (range.collapsed) {\n          var deleteRange = range.cloneRange();\n          if (forward) {\n            deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset);\n          } else {\n            deleteRange.setStart(caretRange.endContainer, caretRange.endOffset);\n          }\n          deleteRange.deleteContents();\n        } else {\n          range.deleteContents();\n        }\n        editor.selection.setRng(caretRange);\n      });\n      trimEmptyTextNode(editor.dom, node);\n      return true;\n    };\n    var deleteBoundaryText = function (editor, forward) {\n      var range = editor.selection.getRng();\n      if (!isText$7(range.commonAncestorContainer)) {\n        return false;\n      }\n      var direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      var caretWalker = CaretWalker(editor.getBody());\n      var getNextPosFn = curry(getVisualCaretPosition, forward ? caretWalker.next : caretWalker.prev);\n      var isBeforeFn = forward ? isBeforeBoundary : isAfterBoundary;\n      var caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      var nextCaretPosition = normalizePosition(forward, getNextPosFn(caretPosition));\n      if (!nextCaretPosition || !isMoveInsideSameBlock(caretPosition, nextCaretPosition)) {\n        return false;\n      } else if (isBeforeFn(nextCaretPosition)) {\n        return deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, nextCaretPosition);\n      }\n      var peekCaretPosition = getNextPosFn(nextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {\n          return deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, peekCaretPosition);\n        }\n      }\n      return false;\n    };\n    var backspaceDelete$6 = function (editor, forward) {\n      return deleteBoundaryText(editor, forward);\n    };\n\n    var isCompoundElement = function (node) {\n      return isTableCell$4(SugarElement.fromDom(node)) || isListItem(SugarElement.fromDom(node));\n    };\n    var DeleteAction = Adt.generate([\n      { remove: ['element'] },\n      { moveToElement: ['element'] },\n      { moveToPosition: ['position'] }\n    ]);\n    var isAtContentEditableBlockCaret = function (forward, from) {\n      var elm = from.getNode(forward === false);\n      var caretLocation = forward ? 'after' : 'before';\n      return isElement$5(elm) && elm.getAttribute('data-mce-caret') === caretLocation;\n    };\n    var isDeleteFromCefDifferentBlocks = function (root, forward, from, to) {\n      var inSameBlock = function (elm) {\n        return isInline$1(SugarElement.fromDom(elm)) && !isInSameBlock(from, to, root);\n      };\n      return getRelativeCefElm(!forward, from).fold(function () {\n        return getRelativeCefElm(forward, to).fold(never, inSameBlock);\n      }, inSameBlock);\n    };\n    var deleteEmptyBlockOrMoveToCef = function (root, forward, from, to) {\n      var toCefElm = to.getNode(forward === false);\n      return getParentBlock$1(SugarElement.fromDom(root), SugarElement.fromDom(from.getNode())).map(function (blockElm) {\n        return isEmpty$2(blockElm) ? DeleteAction.remove(blockElm.dom) : DeleteAction.moveToElement(toCefElm);\n      }).orThunk(function () {\n        return Optional.some(DeleteAction.moveToElement(toCefElm));\n      });\n    };\n    var findCefPosition = function (root, forward, from) {\n      return fromPosition(forward, root, from).bind(function (to) {\n        if (isCompoundElement(to.getNode())) {\n          return Optional.none();\n        } else if (isDeleteFromCefDifferentBlocks(root, forward, from, to)) {\n          return Optional.none();\n        } else if (forward && isContentEditableFalse$b(to.getNode())) {\n          return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n        } else if (forward === false && isContentEditableFalse$b(to.getNode(true))) {\n          return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n        } else if (forward && isAfterContentEditableFalse(from)) {\n          return Optional.some(DeleteAction.moveToPosition(to));\n        } else if (forward === false && isBeforeContentEditableFalse(from)) {\n          return Optional.some(DeleteAction.moveToPosition(to));\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    var getContentEditableBlockAction = function (forward, elm) {\n      if (forward && isContentEditableFalse$b(elm.nextSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.nextSibling));\n      } else if (forward === false && isContentEditableFalse$b(elm.previousSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.previousSibling));\n      } else {\n        return Optional.none();\n      }\n    };\n    var skipMoveToActionFromInlineCefToContent = function (root, from, deleteAction) {\n      return deleteAction.fold(function (elm) {\n        return Optional.some(DeleteAction.remove(elm));\n      }, function (elm) {\n        return Optional.some(DeleteAction.moveToElement(elm));\n      }, function (to) {\n        if (isInSameBlock(from, to, root)) {\n          return Optional.none();\n        } else {\n          return Optional.some(DeleteAction.moveToPosition(to));\n        }\n      });\n    };\n    var getContentEditableAction = function (root, forward, from) {\n      if (isAtContentEditableBlockCaret(forward, from)) {\n        return getContentEditableBlockAction(forward, from.getNode(forward === false)).fold(function () {\n          return findCefPosition(root, forward, from);\n        }, Optional.some);\n      } else {\n        return findCefPosition(root, forward, from).bind(function (deleteAction) {\n          return skipMoveToActionFromInlineCefToContent(root, from, deleteAction);\n        });\n      }\n    };\n    var read = function (root, forward, rng) {\n      var normalizedRange = normalizeRange(forward ? 1 : -1, root, rng);\n      var from = CaretPosition.fromRangeStart(normalizedRange);\n      var rootElement = SugarElement.fromDom(root);\n      if (forward === false && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode(true)));\n      } else if (forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode()));\n      } else if (forward === false && isBeforeContentEditableFalse(from) && isAfterBr(rootElement, from)) {\n        return findPreviousBr(rootElement, from).map(function (br) {\n          return DeleteAction.remove(br.getNode());\n        });\n      } else if (forward && isAfterContentEditableFalse(from) && isBeforeBr$1(rootElement, from)) {\n        return findNextBr(rootElement, from).map(function (br) {\n          return DeleteAction.remove(br.getNode());\n        });\n      } else {\n        return getContentEditableAction(root, forward, from);\n      }\n    };\n\n    var deleteElement$1 = function (editor, forward) {\n      return function (element) {\n        editor._selectionOverrides.hideFakeCaret();\n        deleteElement$2(editor, forward, SugarElement.fromDom(element));\n        return true;\n      };\n    };\n    var moveToElement = function (editor, forward) {\n      return function (element) {\n        var pos = forward ? CaretPosition.before(element) : CaretPosition.after(element);\n        editor.selection.setRng(pos.toRange());\n        return true;\n      };\n    };\n    var moveToPosition = function (editor) {\n      return function (pos) {\n        editor.selection.setRng(pos.toRange());\n        return true;\n      };\n    };\n    var getAncestorCe = function (editor, node) {\n      return Optional.from(getContentEditableRoot$1(editor.getBody(), node));\n    };\n    var backspaceDeleteCaret = function (editor, forward) {\n      var selectedNode = editor.selection.getNode();\n      return getAncestorCe(editor, selectedNode).filter(isContentEditableFalse$b).fold(function () {\n        return read(editor.getBody(), forward, editor.selection.getRng()).exists(function (deleteAction) {\n          return deleteAction.fold(deleteElement$1(editor, forward), moveToElement(editor, forward), moveToPosition(editor));\n        });\n      }, always);\n    };\n    var deleteOffscreenSelection = function (rootElement) {\n      each$k(descendants(rootElement, '.mce-offscreen-selection'), remove$7);\n    };\n    var backspaceDeleteRange = function (editor, forward) {\n      var selectedNode = editor.selection.getNode();\n      if (isContentEditableFalse$b(selectedNode) && !isTableCell$5(selectedNode)) {\n        var hasCefAncestor = getAncestorCe(editor, selectedNode.parentNode).filter(isContentEditableFalse$b);\n        return hasCefAncestor.fold(function () {\n          deleteOffscreenSelection(SugarElement.fromDom(editor.getBody()));\n          deleteElement$2(editor, forward, SugarElement.fromDom(editor.selection.getNode()));\n          paddEmptyBody(editor);\n          return true;\n        }, always);\n      }\n      return false;\n    };\n    var paddEmptyElement = function (editor) {\n      var dom = editor.dom, selection = editor.selection;\n      var ceRoot = getContentEditableRoot$1(editor.getBody(), selection.getNode());\n      if (isContentEditableTrue$4(ceRoot) && dom.isBlock(ceRoot) && dom.isEmpty(ceRoot)) {\n        var br = dom.create('br', { 'data-mce-bogus': '1' });\n        dom.setHTML(ceRoot, '');\n        ceRoot.appendChild(br);\n        selection.setRng(CaretPosition.before(br).toRange());\n      }\n      return true;\n    };\n    var backspaceDelete$5 = function (editor, forward) {\n      if (editor.selection.isCollapsed()) {\n        return backspaceDeleteCaret(editor, forward);\n      } else {\n        return backspaceDeleteRange(editor, forward);\n      }\n    };\n\n    var deleteCaret$2 = function (editor, forward) {\n      var fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return fromPosition(forward, editor.getBody(), fromPos).filter(function (pos) {\n        return forward ? isBeforeImageBlock(pos) : isAfterImageBlock(pos);\n      }).bind(function (pos) {\n        return Optional.from(getChildNodeAtRelativeOffset(forward ? 0 : -1, pos));\n      }).exists(function (elm) {\n        editor.selection.select(elm);\n        return true;\n      });\n    };\n    var backspaceDelete$4 = function (editor, forward) {\n      return editor.selection.isCollapsed() ? deleteCaret$2(editor, forward) : false;\n    };\n\n    var isText = isText$7;\n    var startsWithCaretContainer = function (node) {\n      return isText(node) && node.data[0] === ZWSP$1;\n    };\n    var endsWithCaretContainer = function (node) {\n      return isText(node) && node.data[node.data.length - 1] === ZWSP$1;\n    };\n    var createZwsp = function (node) {\n      return node.ownerDocument.createTextNode(ZWSP$1);\n    };\n    var insertBefore = function (node) {\n      if (isText(node.previousSibling)) {\n        if (endsWithCaretContainer(node.previousSibling)) {\n          return node.previousSibling;\n        } else {\n          node.previousSibling.appendData(ZWSP$1);\n          return node.previousSibling;\n        }\n      } else if (isText(node)) {\n        if (startsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.insertData(0, ZWSP$1);\n          return node;\n        }\n      } else {\n        var newNode = createZwsp(node);\n        node.parentNode.insertBefore(newNode, node);\n        return newNode;\n      }\n    };\n    var insertAfter = function (node) {\n      if (isText(node.nextSibling)) {\n        if (startsWithCaretContainer(node.nextSibling)) {\n          return node.nextSibling;\n        } else {\n          node.nextSibling.insertData(0, ZWSP$1);\n          return node.nextSibling;\n        }\n      } else if (isText(node)) {\n        if (endsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.appendData(ZWSP$1);\n          return node;\n        }\n      } else {\n        var newNode = createZwsp(node);\n        if (node.nextSibling) {\n          node.parentNode.insertBefore(newNode, node.nextSibling);\n        } else {\n          node.parentNode.appendChild(newNode);\n        }\n        return newNode;\n      }\n    };\n    var insertInline = function (before, node) {\n      return before ? insertBefore(node) : insertAfter(node);\n    };\n    var insertInlineBefore = curry(insertInline, true);\n    var insertInlineAfter = curry(insertInline, false);\n\n    var insertInlinePos = function (pos, before) {\n      if (isText$7(pos.container())) {\n        return insertInline(before, pos.container());\n      } else {\n        return insertInline(before, pos.getNode());\n      }\n    };\n    var isPosCaretContainer = function (pos, caret) {\n      var caretNode = caret.get();\n      return caretNode && pos.container() === caretNode && isCaretContainerInline(caretNode);\n    };\n    var renderCaret = function (caret, location) {\n      return location.fold(function (element) {\n        remove$2(caret.get());\n        var text = insertInlineBefore(element);\n        caret.set(text);\n        return Optional.some(CaretPosition(text, text.length - 1));\n      }, function (element) {\n        return firstPositionIn(element).map(function (pos) {\n          if (!isPosCaretContainer(pos, caret)) {\n            remove$2(caret.get());\n            var text = insertInlinePos(pos, true);\n            caret.set(text);\n            return CaretPosition(text, 1);\n          } else {\n            return CaretPosition(caret.get(), 1);\n          }\n        });\n      }, function (element) {\n        return lastPositionIn(element).map(function (pos) {\n          if (!isPosCaretContainer(pos, caret)) {\n            remove$2(caret.get());\n            var text = insertInlinePos(pos, false);\n            caret.set(text);\n            return CaretPosition(text, text.length - 1);\n          } else {\n            return CaretPosition(caret.get(), caret.get().length - 1);\n          }\n        });\n      }, function (element) {\n        remove$2(caret.get());\n        var text = insertInlineAfter(element);\n        caret.set(text);\n        return Optional.some(CaretPosition(text, 1));\n      });\n    };\n\n    var evaluateUntil = function (fns, args) {\n      for (var i = 0; i < fns.length; i++) {\n        var result = fns[i].apply(null, args);\n        if (result.isSome()) {\n          return result;\n        }\n      }\n      return Optional.none();\n    };\n\n    var Location = Adt.generate([\n      { before: ['element'] },\n      { start: ['element'] },\n      { end: ['element'] },\n      { after: ['element'] }\n    ]);\n    var rescope$1 = function (rootNode, node) {\n      var parentBlock = getParentBlock$2(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    var before = function (isInlineTarget, rootNode, pos) {\n      var nPos = normalizeForwards(pos);\n      var scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(function () {\n        return nextPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(function (inline) {\n          return Location.before(inline);\n        });\n      }, Optional.none);\n    };\n    var isNotInsideFormatCaretContainer = function (rootNode, elm) {\n      return getParentCaretContainer(rootNode, elm) === null;\n    };\n    var findInsideRootInline = function (isInlineTarget, rootNode, pos) {\n      return findRootInline(isInlineTarget, rootNode, pos).filter(curry(isNotInsideFormatCaretContainer, rootNode));\n    };\n    var start$1 = function (isInlineTarget, rootNode, pos) {\n      var nPos = normalizeBackwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(function (inline) {\n        var prevPos = prevPosition(inline, nPos);\n        return prevPos.isNone() ? Optional.some(Location.start(inline)) : Optional.none();\n      });\n    };\n    var end = function (isInlineTarget, rootNode, pos) {\n      var nPos = normalizeForwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(function (inline) {\n        var nextPos = nextPosition(inline, nPos);\n        return nextPos.isNone() ? Optional.some(Location.end(inline)) : Optional.none();\n      });\n    };\n    var after = function (isInlineTarget, rootNode, pos) {\n      var nPos = normalizeBackwards(pos);\n      var scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(function () {\n        return prevPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(function (inline) {\n          return Location.after(inline);\n        });\n      }, Optional.none);\n    };\n    var isValidLocation = function (location) {\n      return isRtl(getElement(location)) === false;\n    };\n    var readLocation = function (isInlineTarget, rootNode, pos) {\n      var location = evaluateUntil([\n        before,\n        start$1,\n        end,\n        after\n      ], [\n        isInlineTarget,\n        rootNode,\n        pos\n      ]);\n      return location.filter(isValidLocation);\n    };\n    var getElement = function (location) {\n      return location.fold(identity, identity, identity, identity);\n    };\n    var getName = function (location) {\n      return location.fold(constant('before'), constant('start'), constant('end'), constant('after'));\n    };\n    var outside = function (location) {\n      return location.fold(Location.before, Location.before, Location.after, Location.after);\n    };\n    var inside = function (location) {\n      return location.fold(Location.start, Location.start, Location.end, Location.end);\n    };\n    var isEq = function (location1, location2) {\n      return getName(location1) === getName(location2) && getElement(location1) === getElement(location2);\n    };\n    var betweenInlines = function (forward, isInlineTarget, rootNode, from, to, location) {\n      return lift2(findRootInline(isInlineTarget, rootNode, from), findRootInline(isInlineTarget, rootNode, to), function (fromInline, toInline) {\n        if (fromInline !== toInline && hasSameParentBlock(rootNode, fromInline, toInline)) {\n          return Location.after(forward ? fromInline : toInline);\n        } else {\n          return location;\n        }\n      }).getOr(location);\n    };\n    var skipNoMovement = function (fromLocation, toLocation) {\n      return fromLocation.fold(always, function (fromLocation) {\n        return !isEq(fromLocation, toLocation);\n      });\n    };\n    var findLocationTraverse = function (forward, isInlineTarget, rootNode, fromLocation, pos) {\n      var from = normalizePosition(forward, pos);\n      var to = fromPosition(forward, rootNode, from).map(curry(normalizePosition, forward));\n      var location = to.fold(function () {\n        return fromLocation.map(outside);\n      }, function (to) {\n        return readLocation(isInlineTarget, rootNode, to).map(curry(betweenInlines, forward, isInlineTarget, rootNode, from, to)).filter(curry(skipNoMovement, fromLocation));\n      });\n      return location.filter(isValidLocation);\n    };\n    var findLocationSimple = function (forward, location) {\n      if (forward) {\n        return location.fold(compose(Optional.some, Location.start), Optional.none, compose(Optional.some, Location.after), Optional.none);\n      } else {\n        return location.fold(Optional.none, compose(Optional.some, Location.before), Optional.none, compose(Optional.some, Location.end));\n      }\n    };\n    var findLocation$1 = function (forward, isInlineTarget, rootNode, pos) {\n      var from = normalizePosition(forward, pos);\n      var fromLocation = readLocation(isInlineTarget, rootNode, from);\n      return readLocation(isInlineTarget, rootNode, from).bind(curry(findLocationSimple, forward)).orThunk(function () {\n        return findLocationTraverse(forward, isInlineTarget, rootNode, fromLocation, pos);\n      });\n    };\n    curry(findLocation$1, false);\n    curry(findLocation$1, true);\n\n    var hasSelectionModifyApi = function (editor) {\n      return isFunction(editor.selection.getSel().modify);\n    };\n    var moveRel = function (forward, selection, pos) {\n      var delta = forward ? 1 : -1;\n      selection.setRng(CaretPosition(pos.container(), pos.offset() + delta).toRange());\n      selection.getSel().modify('move', forward ? 'forward' : 'backward', 'word');\n      return true;\n    };\n    var moveByWord = function (forward, editor) {\n      var rng = editor.selection.getRng();\n      var pos = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      if (!hasSelectionModifyApi(editor)) {\n        return false;\n      } else if (forward && isBeforeInline(pos)) {\n        return moveRel(true, editor.selection, pos);\n      } else if (!forward && isAfterInline(pos)) {\n        return moveRel(false, editor.selection, pos);\n      } else {\n        return false;\n      }\n    };\n\n    var BreakType;\n    (function (BreakType) {\n      BreakType[BreakType['Br'] = 0] = 'Br';\n      BreakType[BreakType['Block'] = 1] = 'Block';\n      BreakType[BreakType['Wrap'] = 2] = 'Wrap';\n      BreakType[BreakType['Eol'] = 3] = 'Eol';\n    }(BreakType || (BreakType = {})));\n    var flip = function (direction, positions) {\n      return direction === HDirection.Backwards ? reverse(positions) : positions;\n    };\n    var walk = function (direction, caretWalker, pos) {\n      return direction === HDirection.Forwards ? caretWalker.next(pos) : caretWalker.prev(pos);\n    };\n    var getBreakType = function (scope, direction, currentPos, nextPos) {\n      if (isBr$5(nextPos.getNode(direction === HDirection.Forwards))) {\n        return BreakType.Br;\n      } else if (isInSameBlock(currentPos, nextPos) === false) {\n        return BreakType.Block;\n      } else {\n        return BreakType.Wrap;\n      }\n    };\n    var getPositionsUntil = function (predicate, direction, scope, start) {\n      var caretWalker = CaretWalker(scope);\n      var currentPos = start;\n      var positions = [];\n      while (currentPos) {\n        var nextPos = walk(direction, caretWalker, currentPos);\n        if (!nextPos) {\n          break;\n        }\n        if (isBr$5(nextPos.getNode(false))) {\n          if (direction === HDirection.Forwards) {\n            return {\n              positions: flip(direction, positions).concat([nextPos]),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          } else {\n            return {\n              positions: flip(direction, positions),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          }\n        }\n        if (!nextPos.isVisible()) {\n          currentPos = nextPos;\n          continue;\n        }\n        if (predicate(currentPos, nextPos)) {\n          var breakType = getBreakType(scope, direction, currentPos, nextPos);\n          return {\n            positions: flip(direction, positions),\n            breakType: breakType,\n            breakAt: Optional.some(nextPos)\n          };\n        }\n        positions.push(nextPos);\n        currentPos = nextPos;\n      }\n      return {\n        positions: flip(direction, positions),\n        breakType: BreakType.Eol,\n        breakAt: Optional.none()\n      };\n    };\n    var getAdjacentLinePositions = function (direction, getPositionsUntilBreak, scope, start) {\n      return getPositionsUntilBreak(scope, start).breakAt.map(function (pos) {\n        var positions = getPositionsUntilBreak(scope, pos).positions;\n        return direction === HDirection.Backwards ? positions.concat(pos) : [pos].concat(positions);\n      }).getOr([]);\n    };\n    var findClosestHorizontalPositionFromPoint = function (positions, x) {\n      return foldl(positions, function (acc, newPos) {\n        return acc.fold(function () {\n          return Optional.some(newPos);\n        }, function (lastPos) {\n          return lift2(head(lastPos.getClientRects()), head(newPos.getClientRects()), function (lastRect, newRect) {\n            var lastDist = Math.abs(x - lastRect.left);\n            var newDist = Math.abs(x - newRect.left);\n            return newDist <= lastDist ? newPos : lastPos;\n          }).or(acc);\n        });\n      }, Optional.none());\n    };\n    var findClosestHorizontalPosition = function (positions, pos) {\n      return head(pos.getClientRects()).bind(function (targetRect) {\n        return findClosestHorizontalPositionFromPoint(positions, targetRect.left);\n      });\n    };\n    var getPositionsUntilPreviousLine = curry(getPositionsUntil, CaretPosition.isAbove, -1);\n    var getPositionsUntilNextLine = curry(getPositionsUntil, CaretPosition.isBelow, 1);\n    var getPositionsAbove = curry(getAdjacentLinePositions, -1, getPositionsUntilPreviousLine);\n    var getPositionsBelow = curry(getAdjacentLinePositions, 1, getPositionsUntilNextLine);\n    var isAtFirstLine = function (scope, pos) {\n      return getPositionsUntilPreviousLine(scope, pos).breakAt.isNone();\n    };\n    var isAtLastLine = function (scope, pos) {\n      return getPositionsUntilNextLine(scope, pos).breakAt.isNone();\n    };\n    var getFirstLinePositions = function (scope) {\n      return firstPositionIn(scope).map(function (pos) {\n        return [pos].concat(getPositionsUntilNextLine(scope, pos).positions);\n      }).getOr([]);\n    };\n    var getLastLinePositions = function (scope) {\n      return lastPositionIn(scope).map(function (pos) {\n        return getPositionsUntilPreviousLine(scope, pos).positions.concat(pos);\n      }).getOr([]);\n    };\n\n    var getNodeClientRects = function (node) {\n      var toArrayWithNode = function (clientRects) {\n        return map$3(clientRects, function (rect) {\n          var clientRect = clone(rect);\n          clientRect.node = node;\n          return clientRect;\n        });\n      };\n      if (isElement$5(node)) {\n        return toArrayWithNode(node.getClientRects());\n      }\n      if (isText$7(node)) {\n        var rng = node.ownerDocument.createRange();\n        rng.setStart(node, 0);\n        rng.setEnd(node, node.data.length);\n        return toArrayWithNode(rng.getClientRects());\n      }\n    };\n    var getClientRects = function (nodes) {\n      return bind(nodes, getNodeClientRects);\n    };\n\n    var VDirection;\n    (function (VDirection) {\n      VDirection[VDirection['Up'] = -1] = 'Up';\n      VDirection[VDirection['Down'] = 1] = 'Down';\n    }(VDirection || (VDirection = {})));\n    var findUntil = function (direction, root, predicateFn, node) {\n      while (node = findNode$1(node, direction, isEditableCaretCandidate$1, root)) {\n        if (predicateFn(node)) {\n          return;\n        }\n      }\n    };\n    var walkUntil$1 = function (direction, isAboveFn, isBeflowFn, root, predicateFn, caretPosition) {\n      var line = 0;\n      var result = [];\n      var add = function (node) {\n        var clientRects = getClientRects([node]);\n        if (direction === -1) {\n          clientRects = clientRects.reverse();\n        }\n        for (var i = 0; i < clientRects.length; i++) {\n          var clientRect = clientRects[i];\n          if (isBeflowFn(clientRect, targetClientRect)) {\n            continue;\n          }\n          if (result.length > 0 && isAboveFn(clientRect, last$1(result))) {\n            line++;\n          }\n          clientRect.line = line;\n          if (predicateFn(clientRect)) {\n            return true;\n          }\n          result.push(clientRect);\n        }\n      };\n      var targetClientRect = last$1(caretPosition.getClientRects());\n      if (!targetClientRect) {\n        return result;\n      }\n      var node = caretPosition.getNode();\n      add(node);\n      findUntil(direction, root, add, node);\n      return result;\n    };\n    var aboveLineNumber = function (lineNumber, clientRect) {\n      return clientRect.line > lineNumber;\n    };\n    var isLineNumber = function (lineNumber, clientRect) {\n      return clientRect.line === lineNumber;\n    };\n    var upUntil = curry(walkUntil$1, VDirection.Up, isAbove$1, isBelow$1);\n    var downUntil = curry(walkUntil$1, VDirection.Down, isBelow$1, isAbove$1);\n    var positionsUntil = function (direction, root, predicateFn, node) {\n      var caretWalker = CaretWalker(root);\n      var walkFn;\n      var isBelowFn;\n      var isAboveFn;\n      var caretPosition;\n      var result = [];\n      var line = 0;\n      var getClientRect = function (caretPosition) {\n        if (direction === 1) {\n          return last$1(caretPosition.getClientRects());\n        }\n        return last$1(caretPosition.getClientRects());\n      };\n      if (direction === 1) {\n        walkFn = caretWalker.next;\n        isBelowFn = isBelow$1;\n        isAboveFn = isAbove$1;\n        caretPosition = CaretPosition.after(node);\n      } else {\n        walkFn = caretWalker.prev;\n        isBelowFn = isAbove$1;\n        isAboveFn = isBelow$1;\n        caretPosition = CaretPosition.before(node);\n      }\n      var targetClientRect = getClientRect(caretPosition);\n      do {\n        if (!caretPosition.isVisible()) {\n          continue;\n        }\n        var rect = getClientRect(caretPosition);\n        if (isAboveFn(rect, targetClientRect)) {\n          continue;\n        }\n        if (result.length > 0 && isBelowFn(rect, last$1(result))) {\n          line++;\n        }\n        var clientRect = clone(rect);\n        clientRect.position = caretPosition;\n        clientRect.line = line;\n        if (predicateFn(clientRect)) {\n          return result;\n        }\n        result.push(clientRect);\n      } while (caretPosition = walkFn(caretPosition));\n      return result;\n    };\n    var isAboveLine = function (lineNumber) {\n      return function (clientRect) {\n        return aboveLineNumber(lineNumber, clientRect);\n      };\n    };\n    var isLine = function (lineNumber) {\n      return function (clientRect) {\n        return isLineNumber(lineNumber, clientRect);\n      };\n    };\n\n    var isContentEditableFalse$3 = isContentEditableFalse$b;\n    var findNode = findNode$1;\n    var distanceToRectLeft = function (clientRect, clientX) {\n      return Math.abs(clientRect.left - clientX);\n    };\n    var distanceToRectRight = function (clientRect, clientX) {\n      return Math.abs(clientRect.right - clientX);\n    };\n    var isInsideX = function (clientX, clientRect) {\n      return clientX >= clientRect.left && clientX <= clientRect.right;\n    };\n    var isInsideY = function (clientY, clientRect) {\n      return clientY >= clientRect.top && clientY <= clientRect.bottom;\n    };\n    var isNodeClientRect = function (rect) {\n      return hasNonNullableKey(rect, 'node');\n    };\n    var findClosestClientRect = function (clientRects, clientX, allowInside) {\n      if (allowInside === void 0) {\n        allowInside = always;\n      }\n      return reduce(clientRects, function (oldClientRect, clientRect) {\n        if (isInsideX(clientX, clientRect)) {\n          return allowInside(clientRect) ? clientRect : oldClientRect;\n        }\n        if (isInsideX(clientX, oldClientRect)) {\n          return allowInside(oldClientRect) ? oldClientRect : clientRect;\n        }\n        var oldDistance = Math.min(distanceToRectLeft(oldClientRect, clientX), distanceToRectRight(oldClientRect, clientX));\n        var newDistance = Math.min(distanceToRectLeft(clientRect, clientX), distanceToRectRight(clientRect, clientX));\n        if (newDistance === oldDistance && isNodeClientRect(clientRect) && isContentEditableFalse$3(clientRect.node)) {\n          return clientRect;\n        }\n        if (newDistance < oldDistance) {\n          return clientRect;\n        }\n        return oldClientRect;\n      });\n    };\n    var walkUntil = function (direction, root, predicateFn, startNode, includeChildren) {\n      var node = findNode(startNode, direction, isEditableCaretCandidate$1, root, !includeChildren);\n      do {\n        if (!node || predicateFn(node)) {\n          return;\n        }\n      } while (node = findNode(node, direction, isEditableCaretCandidate$1, root));\n    };\n    var findLineNodeRects = function (root, targetNodeRect, includeChildren) {\n      if (includeChildren === void 0) {\n        includeChildren = true;\n      }\n      var clientRects = [];\n      var collect = function (checkPosFn, node) {\n        var lineRects = filter$4(getClientRects([node]), function (clientRect) {\n          return !checkPosFn(clientRect, targetNodeRect);\n        });\n        clientRects = clientRects.concat(lineRects);\n        return lineRects.length === 0;\n      };\n      clientRects.push(targetNodeRect);\n      walkUntil(VDirection.Up, root, curry(collect, isAbove$1), targetNodeRect.node, includeChildren);\n      walkUntil(VDirection.Down, root, curry(collect, isBelow$1), targetNodeRect.node, includeChildren);\n      return clientRects;\n    };\n    var getFakeCaretTargets = function (root) {\n      return filter$4(from(root.getElementsByTagName('*')), isFakeCaretTarget);\n    };\n    var caretInfo = function (clientRect, clientX) {\n      return {\n        node: clientRect.node,\n        before: distanceToRectLeft(clientRect, clientX) < distanceToRectRight(clientRect, clientX)\n      };\n    };\n    var closestFakeCaret = function (root, clientX, clientY) {\n      var fakeTargetNodeRects = getClientRects(getFakeCaretTargets(root));\n      var targetNodeRects = filter$4(fakeTargetNodeRects, curry(isInsideY, clientY));\n      var checkInside = function (clientRect) {\n        return !isTable$3(clientRect.node) && !isMedia$2(clientRect.node);\n      };\n      var closestNodeRect = findClosestClientRect(targetNodeRects, clientX, checkInside);\n      if (closestNodeRect) {\n        var includeChildren = checkInside(closestNodeRect);\n        closestNodeRect = findClosestClientRect(findLineNodeRects(root, closestNodeRect, includeChildren), clientX, checkInside);\n        if (closestNodeRect && isFakeCaretTarget(closestNodeRect.node)) {\n          return caretInfo(closestNodeRect, clientX);\n        }\n      }\n      return null;\n    };\n\n    var moveToRange = function (editor, rng) {\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, editor.selection.getRng());\n    };\n    var renderRangeCaretOpt = function (editor, range, scrollIntoView) {\n      return Optional.some(renderRangeCaret(editor, range, scrollIntoView));\n    };\n    var moveHorizontally = function (editor, direction, range, isBefore, isAfter, isElement) {\n      var forwards = direction === HDirection.Forwards;\n      var caretWalker = CaretWalker(editor.getBody());\n      var getNextPosFn = curry(getVisualCaretPosition, forwards ? caretWalker.next : caretWalker.prev);\n      var isBeforeFn = forwards ? isBefore : isAfter;\n      if (!range.collapsed) {\n        var node = getSelectedNode(range);\n        if (isElement(node)) {\n          return showCaret(direction, editor, node, direction === HDirection.Backwards, false);\n        }\n      }\n      var caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      if (isBeforeFn(caretPosition)) {\n        return selectNode(editor, caretPosition.getNode(!forwards));\n      }\n      var nextCaretPosition = normalizePosition(forwards, getNextPosFn(caretPosition));\n      var rangeIsInContainerBlock = isRangeInCaretContainerBlock(range);\n      if (!nextCaretPosition) {\n        return rangeIsInContainerBlock ? Optional.some(range) : Optional.none();\n      }\n      if (isBeforeFn(nextCaretPosition)) {\n        return showCaret(direction, editor, nextCaretPosition.getNode(!forwards), forwards, false);\n      }\n      var peekCaretPosition = getNextPosFn(nextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {\n          return showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, false);\n        }\n      }\n      if (rangeIsInContainerBlock) {\n        return renderRangeCaretOpt(editor, nextCaretPosition.toRange(), false);\n      }\n      return Optional.none();\n    };\n    var moveVertically = function (editor, direction, range, isBefore, isAfter, isElement) {\n      var caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      var caretClientRect = last$1(caretPosition.getClientRects());\n      var forwards = direction === VDirection.Down;\n      if (!caretClientRect) {\n        return Optional.none();\n      }\n      var walkerFn = forwards ? downUntil : upUntil;\n      var linePositions = walkerFn(editor.getBody(), isAboveLine(1), caretPosition);\n      var nextLinePositions = filter$4(linePositions, isLine(1));\n      var clientX = caretClientRect.left;\n      var nextLineRect = findClosestClientRect(nextLinePositions, clientX);\n      if (nextLineRect && isElement(nextLineRect.node)) {\n        var dist1 = Math.abs(clientX - nextLineRect.left);\n        var dist2 = Math.abs(clientX - nextLineRect.right);\n        return showCaret(direction, editor, nextLineRect.node, dist1 < dist2, false);\n      }\n      var currentNode;\n      if (isBefore(caretPosition)) {\n        currentNode = caretPosition.getNode();\n      } else if (isAfter(caretPosition)) {\n        currentNode = caretPosition.getNode(true);\n      } else {\n        currentNode = getSelectedNode(range);\n      }\n      if (currentNode) {\n        var caretPositions = positionsUntil(direction, editor.getBody(), isAboveLine(1), currentNode);\n        var closestNextLineRect = findClosestClientRect(filter$4(caretPositions, isLine(1)), clientX);\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n        closestNextLineRect = last$1(filter$4(caretPositions, isLine(0)));\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n      }\n      if (nextLinePositions.length === 0) {\n        return getLineEndPoint(editor, forwards).filter(forwards ? isAfter : isBefore).map(function (pos) {\n          return renderRangeCaret(editor, pos.toRange(), false);\n        });\n      }\n      return Optional.none();\n    };\n    var getLineEndPoint = function (editor, forward) {\n      var rng = editor.selection.getRng();\n      var body = editor.getBody();\n      if (forward) {\n        var from = CaretPosition.fromRangeEnd(rng);\n        var result = getPositionsUntilNextLine(body, from);\n        return last$2(result.positions);\n      } else {\n        var from = CaretPosition.fromRangeStart(rng);\n        var result = getPositionsUntilPreviousLine(body, from);\n        return head(result.positions);\n      }\n    };\n    var moveToLineEndPoint$3 = function (editor, forward, isElementPosition) {\n      return getLineEndPoint(editor, forward).filter(isElementPosition).exists(function (pos) {\n        editor.selection.setRng(pos.toRange());\n        return true;\n      });\n    };\n\n    var setCaretPosition = function (editor, pos) {\n      var rng = editor.dom.createRng();\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      editor.selection.setRng(rng);\n    };\n    var setSelected = function (state, elm) {\n      if (state) {\n        elm.setAttribute('data-mce-selected', 'inline-boundary');\n      } else {\n        elm.removeAttribute('data-mce-selected');\n      }\n    };\n    var renderCaretLocation = function (editor, caret, location) {\n      return renderCaret(caret, location).map(function (pos) {\n        setCaretPosition(editor, pos);\n        return location;\n      });\n    };\n    var findLocation = function (editor, caret, forward) {\n      var rootNode = editor.getBody();\n      var from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      var isInlineTarget$1 = curry(isInlineTarget, editor);\n      var location = findLocation$1(forward, isInlineTarget$1, rootNode, from);\n      return location.bind(function (location) {\n        return renderCaretLocation(editor, caret, location);\n      });\n    };\n    var toggleInlines = function (isInlineTarget, dom, elms) {\n      var inlineBoundaries = map$3(descendants(SugarElement.fromDom(dom.getRoot()), '*[data-mce-selected=\"inline-boundary\"]'), function (e) {\n        return e.dom;\n      });\n      var selectedInlines = filter$4(inlineBoundaries, isInlineTarget);\n      var targetInlines = filter$4(elms, isInlineTarget);\n      each$k(difference(selectedInlines, targetInlines), curry(setSelected, false));\n      each$k(difference(targetInlines, selectedInlines), curry(setSelected, true));\n    };\n    var safeRemoveCaretContainer = function (editor, caret) {\n      if (editor.selection.isCollapsed() && editor.composing !== true && caret.get()) {\n        var pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (CaretPosition.isTextPosition(pos) && isAtZwsp(pos) === false) {\n          setCaretPosition(editor, removeAndReposition(caret.get(), pos));\n          caret.set(null);\n        }\n      }\n    };\n    var renderInsideInlineCaret = function (isInlineTarget, editor, caret, elms) {\n      if (editor.selection.isCollapsed()) {\n        var inlines = filter$4(elms, isInlineTarget);\n        each$k(inlines, function (_inline) {\n          var pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n          readLocation(isInlineTarget, editor.getBody(), pos).bind(function (location) {\n            return renderCaretLocation(editor, caret, location);\n          });\n        });\n      }\n    };\n    var move$2 = function (editor, caret, forward) {\n      return isInlineBoundariesEnabled(editor) ? findLocation(editor, caret, forward).isSome() : false;\n    };\n    var moveWord = function (forward, editor, _caret) {\n      return isInlineBoundariesEnabled(editor) ? moveByWord(forward, editor) : false;\n    };\n    var setupSelectedState = function (editor) {\n      var caret = Cell(null);\n      var isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.on('NodeChange', function (e) {\n        if (isInlineBoundariesEnabled(editor) && !(Env.browser.isIE() && e.initial)) {\n          toggleInlines(isInlineTarget$1, editor.dom, e.parents);\n          safeRemoveCaretContainer(editor, caret);\n          renderInsideInlineCaret(isInlineTarget$1, editor, caret, e.parents);\n        }\n      });\n      return caret;\n    };\n    var moveNextWord = curry(moveWord, true);\n    var movePrevWord = curry(moveWord, false);\n    var moveToLineEndPoint$2 = function (editor, forward, caret) {\n      if (isInlineBoundariesEnabled(editor)) {\n        var linePoint = getLineEndPoint(editor, forward).getOrThunk(function () {\n          var rng = editor.selection.getRng();\n          return forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n        });\n        return readLocation(curry(isInlineTarget, editor), editor.getBody(), linePoint).exists(function (loc) {\n          var outsideLoc = outside(loc);\n          return renderCaret(caret, outsideLoc).exists(function (pos) {\n            setCaretPosition(editor, pos);\n            return true;\n          });\n        });\n      } else {\n        return false;\n      }\n    };\n\n    var rangeFromPositions = function (from, to) {\n      var range = document.createRange();\n      range.setStart(from.container(), from.offset());\n      range.setEnd(to.container(), to.offset());\n      return range;\n    };\n    var hasOnlyTwoOrLessPositionsLeft = function (elm) {\n      return lift2(firstPositionIn(elm), lastPositionIn(elm), function (firstPos, lastPos) {\n        var normalizedFirstPos = normalizePosition(true, firstPos);\n        var normalizedLastPos = normalizePosition(false, lastPos);\n        return nextPosition(elm, normalizedFirstPos).forall(function (pos) {\n          return pos.isEqual(normalizedLastPos);\n        });\n      }).getOr(true);\n    };\n    var setCaretLocation = function (editor, caret) {\n      return function (location) {\n        return renderCaret(caret, location).exists(function (pos) {\n          setCaretPosition(editor, pos);\n          return true;\n        });\n      };\n    };\n    var deleteFromTo = function (editor, caret, from, to) {\n      var rootNode = editor.getBody();\n      var isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.undoManager.ignore(function () {\n        editor.selection.setRng(rangeFromPositions(from, to));\n        editor.execCommand('Delete');\n        readLocation(isInlineTarget$1, rootNode, CaretPosition.fromRangeStart(editor.selection.getRng())).map(inside).map(setCaretLocation(editor, caret));\n      });\n      editor.nodeChanged();\n    };\n    var rescope = function (rootNode, node) {\n      var parentBlock = getParentBlock$2(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    var backspaceDeleteCollapsed = function (editor, caret, forward, from) {\n      var rootNode = rescope(editor.getBody(), from.container());\n      var isInlineTarget$1 = curry(isInlineTarget, editor);\n      var fromLocation = readLocation(isInlineTarget$1, rootNode, from);\n      return fromLocation.bind(function (location) {\n        if (forward) {\n          return location.fold(constant(Optional.some(inside(location))), Optional.none, constant(Optional.some(outside(location))), Optional.none);\n        } else {\n          return location.fold(Optional.none, constant(Optional.some(outside(location))), Optional.none, constant(Optional.some(inside(location))));\n        }\n      }).map(setCaretLocation(editor, caret)).getOrThunk(function () {\n        var toPosition = navigate(forward, rootNode, from);\n        var toLocation = toPosition.bind(function (pos) {\n          return readLocation(isInlineTarget$1, rootNode, pos);\n        });\n        return lift2(fromLocation, toLocation, function () {\n          return findRootInline(isInlineTarget$1, rootNode, from).exists(function (elm) {\n            if (hasOnlyTwoOrLessPositionsLeft(elm)) {\n              deleteElement$2(editor, forward, SugarElement.fromDom(elm));\n              return true;\n            } else {\n              return false;\n            }\n          });\n        }).orThunk(function () {\n          return toLocation.bind(function (_) {\n            return toPosition.map(function (to) {\n              if (forward) {\n                deleteFromTo(editor, caret, from, to);\n              } else {\n                deleteFromTo(editor, caret, to, from);\n              }\n              return true;\n            });\n          });\n        }).getOr(false);\n      });\n    };\n    var backspaceDelete$3 = function (editor, caret, forward) {\n      if (editor.selection.isCollapsed() && isInlineBoundariesEnabled(editor)) {\n        var from = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return backspaceDeleteCollapsed(editor, caret, forward, from);\n      }\n      return false;\n    };\n\n    var getParentInlines = function (rootElm, startElm) {\n      var parents = parentsAndSelf(startElm, rootElm);\n      return findIndex$2(parents, isBlock$2).fold(constant(parents), function (index) {\n        return parents.slice(0, index);\n      });\n    };\n    var hasOnlyOneChild = function (elm) {\n      return childNodesCount(elm) === 1;\n    };\n    var deleteLastPosition = function (forward, editor, target, parentInlines) {\n      var isFormatElement$1 = curry(isFormatElement, editor);\n      var formatNodes = map$3(filter$4(parentInlines, isFormatElement$1), function (elm) {\n        return elm.dom;\n      });\n      if (formatNodes.length === 0) {\n        deleteElement$2(editor, forward, target);\n      } else {\n        var pos = replaceWithCaretFormat(target.dom, formatNodes);\n        editor.selection.setRng(pos.toRange());\n      }\n    };\n    var deleteCaret$1 = function (editor, forward) {\n      var rootElm = SugarElement.fromDom(editor.getBody());\n      var startElm = SugarElement.fromDom(editor.selection.getStart());\n      var parentInlines = filter$4(getParentInlines(rootElm, startElm), hasOnlyOneChild);\n      return last$2(parentInlines).exists(function (target) {\n        var fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (willDeleteLastPositionInElement(forward, fromPos, target.dom) && !isEmptyCaretFormatElement(target)) {\n          deleteLastPosition(forward, editor, target, parentInlines);\n          return true;\n        } else {\n          return false;\n        }\n      });\n    };\n    var backspaceDelete$2 = function (editor, forward) {\n      return editor.selection.isCollapsed() ? deleteCaret$1(editor, forward) : false;\n    };\n\n    var deleteElement = function (editor, forward, element) {\n      editor._selectionOverrides.hideFakeCaret();\n      deleteElement$2(editor, forward, SugarElement.fromDom(element));\n      return true;\n    };\n    var deleteCaret = function (editor, forward) {\n      var isNearMedia = forward ? isBeforeMedia : isAfterMedia;\n      var direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      var fromPos = getNormalizedRangeEndPoint(direction, editor.getBody(), editor.selection.getRng());\n      if (isNearMedia(fromPos)) {\n        return deleteElement(editor, forward, fromPos.getNode(!forward));\n      } else {\n        return Optional.from(normalizePosition(forward, fromPos)).filter(function (pos) {\n          return isNearMedia(pos) && isMoveInsideSameBlock(fromPos, pos);\n        }).exists(function (pos) {\n          return deleteElement(editor, forward, pos.getNode(!forward));\n        });\n      }\n    };\n    var deleteRange = function (editor, forward) {\n      var selectedNode = editor.selection.getNode();\n      return isMedia$2(selectedNode) ? deleteElement(editor, forward, selectedNode) : false;\n    };\n    var backspaceDelete$1 = function (editor, forward) {\n      return editor.selection.isCollapsed() ? deleteCaret(editor, forward) : deleteRange(editor, forward);\n    };\n\n    var isEditable = function (target) {\n      return closest$3(target, function (elm) {\n        return isContentEditableTrue$4(elm.dom) || isContentEditableFalse$b(elm.dom);\n      }).exists(function (elm) {\n        return isContentEditableTrue$4(elm.dom);\n      });\n    };\n    var parseIndentValue = function (value) {\n      var number = parseInt(value, 10);\n      return isNaN(number) ? 0 : number;\n    };\n    var getIndentStyleName = function (useMargin, element) {\n      var indentStyleName = useMargin || isTable$2(element) ? 'margin' : 'padding';\n      var suffix = get$5(element, 'direction') === 'rtl' ? '-right' : '-left';\n      return indentStyleName + suffix;\n    };\n    var indentElement = function (dom, command, useMargin, value, unit, element) {\n      var indentStyleName = getIndentStyleName(useMargin, SugarElement.fromDom(element));\n      if (command === 'outdent') {\n        var styleValue = Math.max(0, parseIndentValue(element.style[indentStyleName]) - value);\n        dom.setStyle(element, indentStyleName, styleValue ? styleValue + unit : '');\n      } else {\n        var styleValue = parseIndentValue(element.style[indentStyleName]) + value + unit;\n        dom.setStyle(element, indentStyleName, styleValue);\n      }\n    };\n    var validateBlocks = function (editor, blocks) {\n      return forall(blocks, function (block) {\n        var indentStyleName = getIndentStyleName(shouldIndentUseMargin(editor), block);\n        var intentValue = getRaw(block, indentStyleName).map(parseIndentValue).getOr(0);\n        var contentEditable = editor.dom.getContentEditable(block.dom);\n        return contentEditable !== 'false' && intentValue > 0;\n      });\n    };\n    var canOutdent = function (editor) {\n      var blocks = getBlocksToIndent(editor);\n      return !editor.mode.isReadOnly() && (blocks.length > 1 || validateBlocks(editor, blocks));\n    };\n    var isListComponent = function (el) {\n      return isList(el) || isListItem(el);\n    };\n    var parentIsListComponent = function (el) {\n      return parent(el).exists(isListComponent);\n    };\n    var getBlocksToIndent = function (editor) {\n      return filter$4(fromDom$1(editor.selection.getSelectedBlocks()), function (el) {\n        return !isListComponent(el) && !parentIsListComponent(el) && isEditable(el);\n      });\n    };\n    var handle = function (editor, command) {\n      var dom = editor.dom, selection = editor.selection, formatter = editor.formatter;\n      var indentation = getIndentation(editor);\n      var indentUnit = /[a-z%]+$/i.exec(indentation)[0];\n      var indentValue = parseInt(indentation, 10);\n      var useMargin = shouldIndentUseMargin(editor);\n      var forcedRootBlock = getForcedRootBlock(editor);\n      if (!editor.queryCommandState('InsertUnorderedList') && !editor.queryCommandState('InsertOrderedList')) {\n        if (forcedRootBlock === '' && !dom.getParent(selection.getNode(), dom.isBlock)) {\n          formatter.apply('div');\n        }\n      }\n      each$k(getBlocksToIndent(editor), function (block) {\n        indentElement(dom, command, useMargin, indentValue, indentUnit, block.dom);\n      });\n    };\n\n    var backspaceDelete = function (editor, _forward) {\n      if (editor.selection.isCollapsed() && canOutdent(editor)) {\n        var dom = editor.dom;\n        var rng = editor.selection.getRng();\n        var pos = CaretPosition.fromRangeStart(rng);\n        var block = dom.getParent(rng.startContainer, dom.isBlock);\n        if (block !== null && isAtStartOfBlock(SugarElement.fromDom(block), pos)) {\n          handle(editor, 'outdent');\n          return true;\n        }\n      }\n      return false;\n    };\n\n    var nativeCommand = function (editor, command) {\n      editor.getDoc().execCommand(command, false, null);\n    };\n    var deleteCommand = function (editor, caret) {\n      if (backspaceDelete(editor)) {\n        return;\n      } else if (backspaceDelete$5(editor, false)) {\n        return;\n      } else if (backspaceDelete$6(editor, false)) {\n        return;\n      } else if (backspaceDelete$3(editor, caret, false)) {\n        return;\n      } else if (backspaceDelete$8(editor, false)) {\n        return;\n      } else if (backspaceDelete$9(editor)) {\n        return;\n      } else if (backspaceDelete$4(editor, false)) {\n        return;\n      } else if (backspaceDelete$1(editor, false)) {\n        return;\n      } else if (backspaceDelete$7(editor)) {\n        return;\n      } else if (backspaceDelete$2(editor, false)) {\n        return;\n      } else {\n        nativeCommand(editor, 'Delete');\n        paddEmptyBody(editor);\n      }\n    };\n    var forwardDeleteCommand = function (editor, caret) {\n      if (backspaceDelete$5(editor, true)) {\n        return;\n      } else if (backspaceDelete$6(editor, true)) {\n        return;\n      } else if (backspaceDelete$3(editor, caret, true)) {\n        return;\n      } else if (backspaceDelete$8(editor, true)) {\n        return;\n      } else if (backspaceDelete$9(editor)) {\n        return;\n      } else if (backspaceDelete$4(editor, true)) {\n        return;\n      } else if (backspaceDelete$1(editor, true)) {\n        return;\n      } else if (backspaceDelete$7(editor)) {\n        return;\n      } else if (backspaceDelete$2(editor, true)) {\n        return;\n      } else {\n        nativeCommand(editor, 'ForwardDelete');\n      }\n    };\n    var setup$f = function (editor, caret) {\n      editor.addCommand('delete', function () {\n        deleteCommand(editor, caret);\n      });\n      editor.addCommand('forwardDelete', function () {\n        forwardDeleteCommand(editor, caret);\n      });\n    };\n\n    var SIGNIFICANT_MOVE = 5;\n    var LONGPRESS_DELAY = 400;\n    var getTouch = function (event) {\n      if (event.touches === undefined || event.touches.length !== 1) {\n        return Optional.none();\n      }\n      return Optional.some(event.touches[0]);\n    };\n    var isFarEnough = function (touch, data) {\n      var distX = Math.abs(touch.clientX - data.x);\n      var distY = Math.abs(touch.clientY - data.y);\n      return distX > SIGNIFICANT_MOVE || distY > SIGNIFICANT_MOVE;\n    };\n    var setup$e = function (editor) {\n      var startData = value();\n      var longpressFired = Cell(false);\n      var debounceLongpress = last(function (e) {\n        editor.fire('longpress', __assign(__assign({}, e), { type: 'longpress' }));\n        longpressFired.set(true);\n      }, LONGPRESS_DELAY);\n      editor.on('touchstart', function (e) {\n        getTouch(e).each(function (touch) {\n          debounceLongpress.cancel();\n          var data = {\n            x: touch.clientX,\n            y: touch.clientY,\n            target: e.target\n          };\n          debounceLongpress.throttle(e);\n          longpressFired.set(false);\n          startData.set(data);\n        });\n      }, true);\n      editor.on('touchmove', function (e) {\n        debounceLongpress.cancel();\n        getTouch(e).each(function (touch) {\n          startData.on(function (data) {\n            if (isFarEnough(touch, data)) {\n              startData.clear();\n              longpressFired.set(false);\n              editor.fire('longpresscancel');\n            }\n          });\n        });\n      }, true);\n      editor.on('touchend touchcancel', function (e) {\n        debounceLongpress.cancel();\n        if (e.type === 'touchcancel') {\n          return;\n        }\n        startData.get().filter(function (data) {\n          return data.target.isEqualNode(e.target);\n        }).each(function () {\n          if (longpressFired.get()) {\n            e.preventDefault();\n          } else {\n            editor.fire('tap', __assign(__assign({}, e), { type: 'tap' }));\n          }\n        });\n      }, true);\n    };\n\n    var isBlockElement = function (blockElements, node) {\n      return has$2(blockElements, node.nodeName);\n    };\n    var isValidTarget = function (blockElements, node) {\n      if (isText$7(node)) {\n        return true;\n      } else if (isElement$5(node)) {\n        return !isBlockElement(blockElements, node) && !isBookmarkNode$1(node);\n      } else {\n        return false;\n      }\n    };\n    var hasBlockParent = function (blockElements, root, node) {\n      return exists(parents(SugarElement.fromDom(node), SugarElement.fromDom(root)), function (elm) {\n        return isBlockElement(blockElements, elm.dom);\n      });\n    };\n    var shouldRemoveTextNode = function (blockElements, node) {\n      if (isText$7(node)) {\n        if (node.nodeValue.length === 0) {\n          return true;\n        } else if (/^\\s+$/.test(node.nodeValue) && (!node.nextSibling || isBlockElement(blockElements, node.nextSibling))) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var addRootBlocks = function (editor) {\n      var dom = editor.dom, selection = editor.selection;\n      var schema = editor.schema, blockElements = schema.getBlockElements();\n      var node = selection.getStart();\n      var rootNode = editor.getBody();\n      var rootBlockNode, tempNode, wrapped;\n      var forcedRootBlock = getForcedRootBlock(editor);\n      if (!node || !isElement$5(node) || !forcedRootBlock) {\n        return;\n      }\n      var rootNodeName = rootNode.nodeName.toLowerCase();\n      if (!schema.isValidChild(rootNodeName, forcedRootBlock.toLowerCase()) || hasBlockParent(blockElements, rootNode, node)) {\n        return;\n      }\n      var rng = selection.getRng();\n      var startContainer = rng.startContainer;\n      var startOffset = rng.startOffset;\n      var endContainer = rng.endContainer;\n      var endOffset = rng.endOffset;\n      var restoreSelection = hasFocus(editor);\n      node = rootNode.firstChild;\n      while (node) {\n        if (isValidTarget(blockElements, node)) {\n          if (shouldRemoveTextNode(blockElements, node)) {\n            tempNode = node;\n            node = node.nextSibling;\n            dom.remove(tempNode);\n            continue;\n          }\n          if (!rootBlockNode) {\n            rootBlockNode = dom.create(forcedRootBlock, getForcedRootBlockAttrs(editor));\n            node.parentNode.insertBefore(rootBlockNode, node);\n            wrapped = true;\n          }\n          tempNode = node;\n          node = node.nextSibling;\n          rootBlockNode.appendChild(tempNode);\n        } else {\n          rootBlockNode = null;\n          node = node.nextSibling;\n        }\n      }\n      if (wrapped && restoreSelection) {\n        rng.setStart(startContainer, startOffset);\n        rng.setEnd(endContainer, endOffset);\n        selection.setRng(rng);\n        editor.nodeChanged();\n      }\n    };\n    var setup$d = function (editor) {\n      if (getForcedRootBlock(editor)) {\n        editor.on('NodeChange', curry(addRootBlocks, editor));\n      }\n    };\n\n    var findBlockCaretContainer = function (editor) {\n      return descendant(SugarElement.fromDom(editor.getBody()), '*[data-mce-caret]').map(function (elm) {\n        return elm.dom;\n      }).getOrNull();\n    };\n    var removeIeControlRect = function (editor) {\n      editor.selection.setRng(editor.selection.getRng());\n    };\n    var showBlockCaretContainer = function (editor, blockCaretContainer) {\n      if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n        showCaretContainerBlock(blockCaretContainer);\n        removeIeControlRect(editor);\n        editor.selection.scrollIntoView(blockCaretContainer);\n      }\n    };\n    var handleBlockContainer = function (editor, e) {\n      var blockCaretContainer = findBlockCaretContainer(editor);\n      if (!blockCaretContainer) {\n        return;\n      }\n      if (e.type === 'compositionstart') {\n        e.preventDefault();\n        e.stopPropagation();\n        showBlockCaretContainer(editor, blockCaretContainer);\n        return;\n      }\n      if (hasContent(blockCaretContainer)) {\n        showBlockCaretContainer(editor, blockCaretContainer);\n        editor.undoManager.add();\n      }\n    };\n    var setup$c = function (editor) {\n      editor.on('keyup compositionstart', curry(handleBlockContainer, editor));\n    };\n\n    var isContentEditableFalse$2 = isContentEditableFalse$b;\n    var moveToCeFalseHorizontally = function (direction, editor, range) {\n      return moveHorizontally(editor, direction, range, isBeforeContentEditableFalse, isAfterContentEditableFalse, isContentEditableFalse$2);\n    };\n    var moveToCeFalseVertically = function (direction, editor, range) {\n      var isBefore = function (caretPosition) {\n        return isBeforeContentEditableFalse(caretPosition) || isBeforeTable(caretPosition);\n      };\n      var isAfter = function (caretPosition) {\n        return isAfterContentEditableFalse(caretPosition) || isAfterTable(caretPosition);\n      };\n      return moveVertically(editor, direction, range, isBefore, isAfter, isContentEditableFalse$2);\n    };\n    var createTextBlock = function (editor) {\n      var textBlock = editor.dom.create(getForcedRootBlock(editor));\n      if (!Env.ie || Env.ie >= 11) {\n        textBlock.innerHTML = '<br data-mce-bogus=\"1\">';\n      }\n      return textBlock;\n    };\n    var exitPreBlock = function (editor, direction, range) {\n      var caretWalker = CaretWalker(editor.getBody());\n      var getVisualCaretPosition$1 = curry(getVisualCaretPosition, direction === 1 ? caretWalker.next : caretWalker.prev);\n      if (range.collapsed && hasForcedRootBlock(editor)) {\n        var pre = editor.dom.getParent(range.startContainer, 'PRE');\n        if (!pre) {\n          return;\n        }\n        var caretPos = getVisualCaretPosition$1(CaretPosition.fromRangeStart(range));\n        if (!caretPos) {\n          var newBlock = createTextBlock(editor);\n          if (direction === 1) {\n            editor.$(pre).after(newBlock);\n          } else {\n            editor.$(pre).before(newBlock);\n          }\n          editor.selection.select(newBlock, true);\n          editor.selection.collapse();\n        }\n      }\n    };\n    var getHorizontalRange = function (editor, forward) {\n      var direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      var range = editor.selection.getRng();\n      return moveToCeFalseHorizontally(direction, editor, range).orThunk(function () {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    var getVerticalRange = function (editor, down) {\n      var direction = down ? 1 : -1;\n      var range = editor.selection.getRng();\n      return moveToCeFalseVertically(direction, editor, range).orThunk(function () {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    var moveH$2 = function (editor, forward) {\n      return getHorizontalRange(editor, forward).exists(function (newRange) {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    var moveV$3 = function (editor, down) {\n      return getVerticalRange(editor, down).exists(function (newRange) {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    var moveToLineEndPoint$1 = function (editor, forward) {\n      var isCefPosition = forward ? isAfterContentEditableFalse : isBeforeContentEditableFalse;\n      return moveToLineEndPoint$3(editor, forward, isCefPosition);\n    };\n\n    var isTarget = function (node) {\n      return contains$3(['figcaption'], name(node));\n    };\n    var rangeBefore = function (target) {\n      var rng = document.createRange();\n      rng.setStartBefore(target.dom);\n      rng.setEndBefore(target.dom);\n      return rng;\n    };\n    var insertElement = function (root, elm, forward) {\n      if (forward) {\n        append$1(root, elm);\n      } else {\n        prepend(root, elm);\n      }\n    };\n    var insertBr = function (root, forward) {\n      var br = SugarElement.fromTag('br');\n      insertElement(root, br, forward);\n      return rangeBefore(br);\n    };\n    var insertBlock = function (root, forward, blockName, attrs) {\n      var block = SugarElement.fromTag(blockName);\n      var br = SugarElement.fromTag('br');\n      setAll$1(block, attrs);\n      append$1(block, br);\n      insertElement(root, block, forward);\n      return rangeBefore(br);\n    };\n    var insertEmptyLine = function (root, rootBlockName, attrs, forward) {\n      if (rootBlockName === '') {\n        return insertBr(root, forward);\n      } else {\n        return insertBlock(root, forward, rootBlockName, attrs);\n      }\n    };\n    var getClosestTargetBlock = function (pos, root) {\n      var isRoot = curry(eq, root);\n      return closest$3(SugarElement.fromDom(pos.container()), isBlock$2, isRoot).filter(isTarget);\n    };\n    var isAtFirstOrLastLine = function (root, forward, pos) {\n      return forward ? isAtLastLine(root.dom, pos) : isAtFirstLine(root.dom, pos);\n    };\n    var moveCaretToNewEmptyLine = function (editor, forward) {\n      var root = SugarElement.fromDom(editor.getBody());\n      var pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      var rootBlock = getForcedRootBlock(editor);\n      var rootBlockAttrs = getForcedRootBlockAttrs(editor);\n      return getClosestTargetBlock(pos, root).exists(function () {\n        if (isAtFirstOrLastLine(root, forward, pos)) {\n          var rng = insertEmptyLine(root, rootBlock, rootBlockAttrs, forward);\n          editor.selection.setRng(rng);\n          return true;\n        } else {\n          return false;\n        }\n      });\n    };\n    var moveV$2 = function (editor, forward) {\n      if (editor.selection.isCollapsed()) {\n        return moveCaretToNewEmptyLine(editor, forward);\n      } else {\n        return false;\n      }\n    };\n\n    var defaultPatterns = function (patterns) {\n      return map$3(patterns, function (pattern) {\n        return __assign({\n          shiftKey: false,\n          altKey: false,\n          ctrlKey: false,\n          metaKey: false,\n          keyCode: 0,\n          action: noop\n        }, pattern);\n      });\n    };\n    var matchesEvent = function (pattern, evt) {\n      return evt.keyCode === pattern.keyCode && evt.shiftKey === pattern.shiftKey && evt.altKey === pattern.altKey && evt.ctrlKey === pattern.ctrlKey && evt.metaKey === pattern.metaKey;\n    };\n    var match$1 = function (patterns, evt) {\n      return bind(defaultPatterns(patterns), function (pattern) {\n        return matchesEvent(pattern, evt) ? [pattern] : [];\n      });\n    };\n    var action = function (f) {\n      var x = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        x[_i - 1] = arguments[_i];\n      }\n      return function () {\n        return f.apply(null, x);\n      };\n    };\n    var execute = function (patterns, evt) {\n      return find$3(match$1(patterns, evt), function (pattern) {\n        return pattern.action();\n      });\n    };\n\n    var moveH$1 = function (editor, forward) {\n      var direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      var range = editor.selection.getRng();\n      return moveHorizontally(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(function (newRange) {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    var moveV$1 = function (editor, down) {\n      var direction = down ? 1 : -1;\n      var range = editor.selection.getRng();\n      return moveVertically(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(function (newRange) {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    var moveToLineEndPoint = function (editor, forward) {\n      var isNearMedia = forward ? isAfterMedia : isBeforeMedia;\n      return moveToLineEndPoint$3(editor, forward, isNearMedia);\n    };\n\n    var deflate = function (rect, delta) {\n      return {\n        left: rect.left - delta,\n        top: rect.top - delta,\n        right: rect.right + delta * 2,\n        bottom: rect.bottom + delta * 2,\n        width: rect.width + delta,\n        height: rect.height + delta\n      };\n    };\n    var getCorners = function (getYAxisValue, tds) {\n      return bind(tds, function (td) {\n        var rect = deflate(clone(td.getBoundingClientRect()), -1);\n        return [\n          {\n            x: rect.left,\n            y: getYAxisValue(rect),\n            cell: td\n          },\n          {\n            x: rect.right,\n            y: getYAxisValue(rect),\n            cell: td\n          }\n        ];\n      });\n    };\n    var findClosestCorner = function (corners, x, y) {\n      return foldl(corners, function (acc, newCorner) {\n        return acc.fold(function () {\n          return Optional.some(newCorner);\n        }, function (oldCorner) {\n          var oldDist = Math.sqrt(Math.abs(oldCorner.x - x) + Math.abs(oldCorner.y - y));\n          var newDist = Math.sqrt(Math.abs(newCorner.x - x) + Math.abs(newCorner.y - y));\n          return Optional.some(newDist < oldDist ? newCorner : oldCorner);\n        });\n      }, Optional.none());\n    };\n    var getClosestCell = function (getYAxisValue, isTargetCorner, table, x, y) {\n      var cells = descendants(SugarElement.fromDom(table), 'td,th,caption').map(function (e) {\n        return e.dom;\n      });\n      var corners = filter$4(getCorners(getYAxisValue, cells), function (corner) {\n        return isTargetCorner(corner, y);\n      });\n      return findClosestCorner(corners, x, y).map(function (corner) {\n        return corner.cell;\n      });\n    };\n    var getBottomValue = function (rect) {\n      return rect.bottom;\n    };\n    var getTopValue = function (rect) {\n      return rect.top;\n    };\n    var isAbove = function (corner, y) {\n      return corner.y < y;\n    };\n    var isBelow = function (corner, y) {\n      return corner.y > y;\n    };\n    var getClosestCellAbove = curry(getClosestCell, getBottomValue, isAbove);\n    var getClosestCellBelow = curry(getClosestCell, getTopValue, isBelow);\n    var findClosestPositionInAboveCell = function (table, pos) {\n      return head(pos.getClientRects()).bind(function (rect) {\n        return getClosestCellAbove(table, rect.left, rect.top);\n      }).bind(function (cell) {\n        return findClosestHorizontalPosition(getLastLinePositions(cell), pos);\n      });\n    };\n    var findClosestPositionInBelowCell = function (table, pos) {\n      return last$2(pos.getClientRects()).bind(function (rect) {\n        return getClosestCellBelow(table, rect.left, rect.top);\n      }).bind(function (cell) {\n        return findClosestHorizontalPosition(getFirstLinePositions(cell), pos);\n      });\n    };\n\n    var hasNextBreak = function (getPositionsUntil, scope, lineInfo) {\n      return lineInfo.breakAt.exists(function (breakPos) {\n        return getPositionsUntil(scope, breakPos).breakAt.isSome();\n      });\n    };\n    var startsWithWrapBreak = function (lineInfo) {\n      return lineInfo.breakType === BreakType.Wrap && lineInfo.positions.length === 0;\n    };\n    var startsWithBrBreak = function (lineInfo) {\n      return lineInfo.breakType === BreakType.Br && lineInfo.positions.length === 1;\n    };\n    var isAtTableCellLine = function (getPositionsUntil, scope, pos) {\n      var lineInfo = getPositionsUntil(scope, pos);\n      if (startsWithWrapBreak(lineInfo) || !isBr$5(pos.getNode()) && startsWithBrBreak(lineInfo)) {\n        return !hasNextBreak(getPositionsUntil, scope, lineInfo);\n      } else {\n        return lineInfo.breakAt.isNone();\n      }\n    };\n    var isAtFirstTableCellLine = curry(isAtTableCellLine, getPositionsUntilPreviousLine);\n    var isAtLastTableCellLine = curry(isAtTableCellLine, getPositionsUntilNextLine);\n    var isCaretAtStartOrEndOfTable = function (forward, rng, table) {\n      var caretPos = CaretPosition.fromRangeStart(rng);\n      return positionIn(!forward, table).exists(function (pos) {\n        return pos.isEqual(caretPos);\n      });\n    };\n    var navigateHorizontally = function (editor, forward, table, _td) {\n      var rng = editor.selection.getRng();\n      var direction = forward ? 1 : -1;\n      if (isFakeCaretTableBrowser() && isCaretAtStartOrEndOfTable(forward, rng, table)) {\n        showCaret(direction, editor, table, !forward, false).each(function (newRng) {\n          moveToRange(editor, newRng);\n        });\n        return true;\n      }\n      return false;\n    };\n    var getClosestAbovePosition = function (root, table, start) {\n      return findClosestPositionInAboveCell(table, start).orThunk(function () {\n        return head(start.getClientRects()).bind(function (rect) {\n          return findClosestHorizontalPositionFromPoint(getPositionsAbove(root, CaretPosition.before(table)), rect.left);\n        });\n      }).getOr(CaretPosition.before(table));\n    };\n    var getClosestBelowPosition = function (root, table, start) {\n      return findClosestPositionInBelowCell(table, start).orThunk(function () {\n        return head(start.getClientRects()).bind(function (rect) {\n          return findClosestHorizontalPositionFromPoint(getPositionsBelow(root, CaretPosition.after(table)), rect.left);\n        });\n      }).getOr(CaretPosition.after(table));\n    };\n    var getTable = function (previous, pos) {\n      var node = pos.getNode(previous);\n      return isElement$5(node) && node.nodeName === 'TABLE' ? Optional.some(node) : Optional.none();\n    };\n    var renderBlock = function (down, editor, table, pos) {\n      var forcedRootBlock = getForcedRootBlock(editor);\n      if (forcedRootBlock) {\n        editor.undoManager.transact(function () {\n          var element = SugarElement.fromTag(forcedRootBlock);\n          setAll$1(element, getForcedRootBlockAttrs(editor));\n          append$1(element, SugarElement.fromTag('br'));\n          if (down) {\n            after$3(SugarElement.fromDom(table), element);\n          } else {\n            before$4(SugarElement.fromDom(table), element);\n          }\n          var rng = editor.dom.createRng();\n          rng.setStart(element.dom, 0);\n          rng.setEnd(element.dom, 0);\n          moveToRange(editor, rng);\n        });\n      } else {\n        moveToRange(editor, pos.toRange());\n      }\n    };\n    var moveCaret = function (editor, down, pos) {\n      var table = down ? getTable(true, pos) : getTable(false, pos);\n      var last = down === false;\n      table.fold(function () {\n        return moveToRange(editor, pos.toRange());\n      }, function (table) {\n        return positionIn(last, editor.getBody()).filter(function (lastPos) {\n          return lastPos.isEqual(pos);\n        }).fold(function () {\n          return moveToRange(editor, pos.toRange());\n        }, function (_) {\n          return renderBlock(down, editor, table, pos);\n        });\n      });\n    };\n    var navigateVertically = function (editor, down, table, td) {\n      var rng = editor.selection.getRng();\n      var pos = CaretPosition.fromRangeStart(rng);\n      var root = editor.getBody();\n      if (!down && isAtFirstTableCellLine(td, pos)) {\n        var newPos = getClosestAbovePosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else if (down && isAtLastTableCellLine(td, pos)) {\n        var newPos = getClosestBelowPosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var move$1 = function (editor, forward, mover) {\n      return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(function (td) {\n        return Optional.from(editor.dom.getParent(td, 'table')).map(function (table) {\n          return mover(editor, forward, table, td);\n        });\n      }).getOr(false);\n    };\n    var moveH = function (editor, forward) {\n      return move$1(editor, forward, navigateHorizontally);\n    };\n    var moveV = function (editor, forward) {\n      return move$1(editor, forward, navigateVertically);\n    };\n\n    var executeKeydownOverride$3 = function (editor, caret, evt) {\n      var os = detect().os;\n      execute([\n        {\n          keyCode: VK.RIGHT,\n          action: action(moveH$2, editor, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: action(moveH$2, editor, false)\n        },\n        {\n          keyCode: VK.UP,\n          action: action(moveV$3, editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: action(moveV$3, editor, true)\n        },\n        {\n          keyCode: VK.RIGHT,\n          action: action(moveH, editor, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: action(moveH, editor, false)\n        },\n        {\n          keyCode: VK.UP,\n          action: action(moveV, editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: action(moveV, editor, true)\n        },\n        {\n          keyCode: VK.RIGHT,\n          action: action(moveH$1, editor, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: action(moveH$1, editor, false)\n        },\n        {\n          keyCode: VK.UP,\n          action: action(moveV$1, editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: action(moveV$1, editor, true)\n        },\n        {\n          keyCode: VK.RIGHT,\n          action: action(move$2, editor, caret, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: action(move$2, editor, caret, false)\n        },\n        {\n          keyCode: VK.RIGHT,\n          ctrlKey: !os.isOSX(),\n          altKey: os.isOSX(),\n          action: action(moveNextWord, editor, caret)\n        },\n        {\n          keyCode: VK.LEFT,\n          ctrlKey: !os.isOSX(),\n          altKey: os.isOSX(),\n          action: action(movePrevWord, editor, caret)\n        },\n        {\n          keyCode: VK.UP,\n          action: action(moveV$2, editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: action(moveV$2, editor, true)\n        }\n      ], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var setup$b = function (editor, caret) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride$3(editor, caret, evt);\n        }\n      });\n    };\n\n    var executeKeydownOverride$2 = function (editor, caret, evt) {\n      execute([\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete, editor, false)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$5, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$5, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$6, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$6, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$3, editor, caret, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$3, editor, caret, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$9, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$9, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$4, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$4, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$1, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$1, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$7, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$7, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$8, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$8, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(backspaceDelete$2, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(backspaceDelete$2, editor, true)\n        }\n      ], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var executeKeyupOverride = function (editor, evt) {\n      execute([\n        {\n          keyCode: VK.BACKSPACE,\n          action: action(paddEmptyElement, editor)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: action(paddEmptyElement, editor)\n        }\n      ], evt);\n    };\n    var setup$a = function (editor, caret) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride$2(editor, caret, evt);\n        }\n      });\n      editor.on('keyup', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeyupOverride(editor, evt);\n        }\n      });\n    };\n\n    var firstNonWhiteSpaceNodeSibling = function (node) {\n      while (node) {\n        if (node.nodeType === 1 || node.nodeType === 3 && node.data && /[\\r\\n\\s]/.test(node.data)) {\n          return node;\n        }\n        node = node.nextSibling;\n      }\n    };\n    var moveToCaretPosition = function (editor, root) {\n      var node, lastNode = root;\n      var dom = editor.dom;\n      var moveCaretBeforeOnEnterElementsMap = editor.schema.getMoveCaretBeforeOnEnterElements();\n      if (!root) {\n        return;\n      }\n      if (/^(LI|DT|DD)$/.test(root.nodeName)) {\n        var firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild);\n        if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) {\n          root.insertBefore(dom.doc.createTextNode(nbsp), root.firstChild);\n        }\n      }\n      var rng = dom.createRng();\n      root.normalize();\n      if (root.hasChildNodes()) {\n        var walker = new DomTreeWalker(root, root);\n        while (node = walker.current()) {\n          if (isText$7(node)) {\n            rng.setStart(node, 0);\n            rng.setEnd(node, 0);\n            break;\n          }\n          if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) {\n            rng.setStartBefore(node);\n            rng.setEndBefore(node);\n            break;\n          }\n          lastNode = node;\n          node = walker.next();\n        }\n        if (!node) {\n          rng.setStart(lastNode, 0);\n          rng.setEnd(lastNode, 0);\n        }\n      } else {\n        if (isBr$5(root)) {\n          if (root.nextSibling && dom.isBlock(root.nextSibling)) {\n            rng.setStartBefore(root);\n            rng.setEndBefore(root);\n          } else {\n            rng.setStartAfter(root);\n            rng.setEndAfter(root);\n          }\n        } else {\n          rng.setStart(root, 0);\n          rng.setEnd(root, 0);\n        }\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    var getEditableRoot$1 = function (dom, node) {\n      var root = dom.getRoot();\n      var parent, editableRoot;\n      parent = node;\n      while (parent !== root && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    var getParentBlock = function (editor) {\n      return Optional.from(editor.dom.getParent(editor.selection.getStart(true), editor.dom.isBlock));\n    };\n    var getParentBlockName = function (editor) {\n      return getParentBlock(editor).fold(constant(''), function (parentBlock) {\n        return parentBlock.nodeName.toUpperCase();\n      });\n    };\n    var isListItemParentBlock = function (editor) {\n      return getParentBlock(editor).filter(function (elm) {\n        return isListItem(SugarElement.fromDom(elm));\n      }).isSome();\n    };\n\n    var hasFirstChild = function (elm, name) {\n      return elm.firstChild && elm.firstChild.nodeName === name;\n    };\n    var isFirstChild = function (elm) {\n      var _a;\n      return ((_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === elm;\n    };\n    var hasParent = function (elm, parentName) {\n      return elm && elm.parentNode && elm.parentNode.nodeName === parentName;\n    };\n    var isListBlock = function (elm) {\n      return elm && /^(OL|UL|LI)$/.test(elm.nodeName);\n    };\n    var isNestedList = function (elm) {\n      return isListBlock(elm) && isListBlock(elm.parentNode);\n    };\n    var getContainerBlock = function (containerBlock) {\n      var containerBlockParent = containerBlock.parentNode;\n      if (/^(LI|DT|DD)$/.test(containerBlockParent.nodeName)) {\n        return containerBlockParent;\n      }\n      return containerBlock;\n    };\n    var isFirstOrLastLi = function (containerBlock, parentBlock, first) {\n      var node = containerBlock[first ? 'firstChild' : 'lastChild'];\n      while (node) {\n        if (isElement$5(node)) {\n          break;\n        }\n        node = node[first ? 'nextSibling' : 'previousSibling'];\n      }\n      return node === parentBlock;\n    };\n    var insert$3 = function (editor, createNewBlock, containerBlock, parentBlock, newBlockName) {\n      var dom = editor.dom;\n      var rng = editor.selection.getRng();\n      if (containerBlock === editor.getBody()) {\n        return;\n      }\n      if (isNestedList(containerBlock)) {\n        newBlockName = 'LI';\n      }\n      var newBlock = newBlockName ? createNewBlock(newBlockName) : dom.create('BR');\n      if (isFirstOrLastLi(containerBlock, parentBlock, true) && isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        if (hasParent(containerBlock, 'LI')) {\n          var containerBlockParent = getContainerBlock(containerBlock);\n          dom.insertAfter(newBlock, containerBlockParent);\n          if (isFirstChild(containerBlock)) {\n            dom.remove(containerBlockParent);\n          } else {\n            dom.remove(containerBlock);\n          }\n        } else {\n          dom.replace(newBlock, containerBlock);\n        }\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, true)) {\n        if (hasParent(containerBlock, 'LI')) {\n          dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n          newBlock.appendChild(dom.doc.createTextNode(' '));\n          newBlock.appendChild(containerBlock);\n        } else {\n          containerBlock.parentNode.insertBefore(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n        dom.remove(parentBlock);\n      } else {\n        containerBlock = getContainerBlock(containerBlock);\n        var tmpRng = rng.cloneRange();\n        tmpRng.setStartAfter(parentBlock);\n        tmpRng.setEndAfter(containerBlock);\n        var fragment = tmpRng.extractContents();\n        if (newBlockName === 'LI' && hasFirstChild(fragment, 'LI')) {\n          newBlock = fragment.firstChild;\n          dom.insertAfter(fragment, containerBlock);\n        } else {\n          dom.insertAfter(fragment, containerBlock);\n          dom.insertAfter(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      }\n      moveToCaretPosition(editor, newBlock);\n    };\n\n    var trimZwsp = function (fragment) {\n      each$k(descendants$1(SugarElement.fromDom(fragment), isText$8), function (text) {\n        var rawNode = text.dom;\n        rawNode.nodeValue = trim$2(rawNode.nodeValue);\n      });\n    };\n    var isEmptyAnchor = function (dom, elm) {\n      return elm && elm.nodeName === 'A' && dom.isEmpty(elm);\n    };\n    var isTableCell = function (node) {\n      return node && /^(TD|TH|CAPTION)$/.test(node.nodeName);\n    };\n    var emptyBlock = function (elm) {\n      elm.innerHTML = '<br data-mce-bogus=\"1\">';\n    };\n    var containerAndSiblingName = function (container, nodeName) {\n      return container.nodeName === nodeName || container.previousSibling && container.previousSibling.nodeName === nodeName;\n    };\n    var canSplitBlock = function (dom, node) {\n      return node && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && dom.getContentEditable(node) !== 'true';\n    };\n    var trimInlineElementsOnLeftSideOfBlock = function (dom, nonEmptyElementsMap, block) {\n      var node = block;\n      var firstChilds = [];\n      var i;\n      if (!node) {\n        return;\n      }\n      while (node = node.firstChild) {\n        if (dom.isBlock(node)) {\n          return;\n        }\n        if (isElement$5(node) && !nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          firstChilds.push(node);\n        }\n      }\n      i = firstChilds.length;\n      while (i--) {\n        node = firstChilds[i];\n        if (!node.hasChildNodes() || node.firstChild === node.lastChild && node.firstChild.nodeValue === '') {\n          dom.remove(node);\n        } else {\n          if (isEmptyAnchor(dom, node)) {\n            dom.remove(node);\n          }\n        }\n      }\n    };\n    var normalizeZwspOffset = function (start, container, offset) {\n      if (isText$7(container) === false) {\n        return offset;\n      } else if (start) {\n        return offset === 1 && container.data.charAt(offset - 1) === ZWSP$1 ? 0 : offset;\n      } else {\n        return offset === container.data.length - 1 && container.data.charAt(offset) === ZWSP$1 ? container.data.length : offset;\n      }\n    };\n    var includeZwspInRange = function (rng) {\n      var newRng = rng.cloneRange();\n      newRng.setStart(rng.startContainer, normalizeZwspOffset(true, rng.startContainer, rng.startOffset));\n      newRng.setEnd(rng.endContainer, normalizeZwspOffset(false, rng.endContainer, rng.endOffset));\n      return newRng;\n    };\n    var trimLeadingLineBreaks = function (node) {\n      do {\n        if (isText$7(node)) {\n          node.nodeValue = node.nodeValue.replace(/^[\\r\\n]+/, '');\n        }\n        node = node.firstChild;\n      } while (node);\n    };\n    var getEditableRoot = function (dom, node) {\n      var root = dom.getRoot();\n      var parent, editableRoot;\n      parent = node;\n      while (parent !== root && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    var applyAttributes = function (editor, node, forcedRootBlockAttrs) {\n      var dom = editor.dom;\n      Optional.from(forcedRootBlockAttrs.style).map(dom.parseStyle).each(function (attrStyles) {\n        var currentStyles = getAllRaw(SugarElement.fromDom(node));\n        var newStyles = __assign(__assign({}, currentStyles), attrStyles);\n        dom.setStyles(node, newStyles);\n      });\n      var attrClassesOpt = Optional.from(forcedRootBlockAttrs.class).map(function (attrClasses) {\n        return attrClasses.split(/\\s+/);\n      });\n      var currentClassesOpt = Optional.from(node.className).map(function (currentClasses) {\n        return filter$4(currentClasses.split(/\\s+/), function (clazz) {\n          return clazz !== '';\n        });\n      });\n      lift2(attrClassesOpt, currentClassesOpt, function (attrClasses, currentClasses) {\n        var filteredClasses = filter$4(currentClasses, function (clazz) {\n          return !contains$3(attrClasses, clazz);\n        });\n        var newClasses = __spreadArray(__spreadArray([], attrClasses, true), filteredClasses, true);\n        dom.setAttrib(node, 'class', newClasses.join(' '));\n      });\n      var appliedAttrs = [\n        'style',\n        'class'\n      ];\n      var remainingAttrs = filter$3(forcedRootBlockAttrs, function (_, attrs) {\n        return !contains$3(appliedAttrs, attrs);\n      });\n      dom.setAttribs(node, remainingAttrs);\n    };\n    var setForcedBlockAttrs = function (editor, node) {\n      var forcedRootBlockName = getForcedRootBlock(editor);\n      if (forcedRootBlockName && forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) {\n        var forcedRootBlockAttrs = getForcedRootBlockAttrs(editor);\n        applyAttributes(editor, node, forcedRootBlockAttrs);\n      }\n    };\n    var wrapSelfAndSiblingsInDefaultBlock = function (editor, newBlockName, rng, container, offset) {\n      var newBlock, parentBlock, startNode, node, next, rootBlockName;\n      var blockName = newBlockName || 'P';\n      var dom = editor.dom, editableRoot = getEditableRoot(dom, container);\n      parentBlock = dom.getParent(container, dom.isBlock);\n      if (!parentBlock || !canSplitBlock(dom, parentBlock)) {\n        parentBlock = parentBlock || editableRoot;\n        if (parentBlock === editor.getBody() || isTableCell(parentBlock)) {\n          rootBlockName = parentBlock.nodeName.toLowerCase();\n        } else {\n          rootBlockName = parentBlock.parentNode.nodeName.toLowerCase();\n        }\n        if (!parentBlock.hasChildNodes()) {\n          newBlock = dom.create(blockName);\n          setForcedBlockAttrs(editor, newBlock);\n          parentBlock.appendChild(newBlock);\n          rng.setStart(newBlock, 0);\n          rng.setEnd(newBlock, 0);\n          return newBlock;\n        }\n        node = container;\n        while (node.parentNode !== parentBlock) {\n          node = node.parentNode;\n        }\n        while (node && !dom.isBlock(node)) {\n          startNode = node;\n          node = node.previousSibling;\n        }\n        if (startNode && editor.schema.isValidChild(rootBlockName, blockName.toLowerCase())) {\n          newBlock = dom.create(blockName);\n          setForcedBlockAttrs(editor, newBlock);\n          startNode.parentNode.insertBefore(newBlock, startNode);\n          node = startNode;\n          while (node && !dom.isBlock(node)) {\n            next = node.nextSibling;\n            newBlock.appendChild(node);\n            node = next;\n          }\n          rng.setStart(container, offset);\n          rng.setEnd(container, offset);\n        }\n      }\n      return container;\n    };\n    var addBrToBlockIfNeeded = function (dom, block) {\n      block.normalize();\n      var lastChild = block.lastChild;\n      if (!lastChild || /^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true))) {\n        dom.add(block, 'br');\n      }\n    };\n    var insert$2 = function (editor, evt) {\n      var tmpRng, container, offset, parentBlock;\n      var newBlock, fragment, containerBlock, parentBlockName, newBlockName, isAfterLastNodeInContainer;\n      var dom = editor.dom;\n      var schema = editor.schema, nonEmptyElementsMap = schema.getNonEmptyElements();\n      var rng = editor.selection.getRng();\n      var createNewBlock = function (name) {\n        var node = container, block, clonedNode, caretNode;\n        var textInlineElements = schema.getTextInlineElements();\n        if (name || parentBlockName === 'TABLE' || parentBlockName === 'HR') {\n          block = dom.create(name || newBlockName);\n        } else {\n          block = parentBlock.cloneNode(false);\n        }\n        caretNode = block;\n        if (shouldKeepStyles(editor) === false) {\n          dom.setAttrib(block, 'style', null);\n          dom.setAttrib(block, 'class', null);\n        } else {\n          do {\n            if (textInlineElements[node.nodeName]) {\n              if (isCaretNode(node) || isBookmarkNode$1(node)) {\n                continue;\n              }\n              clonedNode = node.cloneNode(false);\n              dom.setAttrib(clonedNode, 'id', '');\n              if (block.hasChildNodes()) {\n                clonedNode.appendChild(block.firstChild);\n                block.appendChild(clonedNode);\n              } else {\n                caretNode = clonedNode;\n                block.appendChild(clonedNode);\n              }\n            }\n          } while ((node = node.parentNode) && node !== editableRoot);\n        }\n        setForcedBlockAttrs(editor, block);\n        emptyBlock(caretNode);\n        return block;\n      };\n      var isCaretAtStartOrEndOfBlock = function (start) {\n        var node, name;\n        var normalizedOffset = normalizeZwspOffset(start, container, offset);\n        if (isText$7(container) && (start ? normalizedOffset > 0 : normalizedOffset < container.nodeValue.length)) {\n          return false;\n        }\n        if (container.parentNode === parentBlock && isAfterLastNodeInContainer && !start) {\n          return true;\n        }\n        if (start && isElement$5(container) && container === parentBlock.firstChild) {\n          return true;\n        }\n        if (containerAndSiblingName(container, 'TABLE') || containerAndSiblingName(container, 'HR')) {\n          return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start;\n        }\n        var walker = new DomTreeWalker(container, parentBlock);\n        if (isText$7(container)) {\n          if (start && normalizedOffset === 0) {\n            walker.prev();\n          } else if (!start && normalizedOffset === container.nodeValue.length) {\n            walker.next();\n          }\n        }\n        while (node = walker.current()) {\n          if (isElement$5(node)) {\n            if (!node.getAttribute('data-mce-bogus')) {\n              name = node.nodeName.toLowerCase();\n              if (nonEmptyElementsMap[name] && name !== 'br') {\n                return false;\n              }\n            }\n          } else if (isText$7(node) && !isWhitespaceText(node.nodeValue)) {\n            return false;\n          }\n          if (start) {\n            walker.prev();\n          } else {\n            walker.next();\n          }\n        }\n        return true;\n      };\n      var insertNewBlockAfter = function () {\n        if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName !== 'HGROUP') {\n          newBlock = createNewBlock(newBlockName);\n        } else {\n          newBlock = createNewBlock();\n        }\n        if (shouldEndContainerOnEmptyBlock(editor) && canSplitBlock(dom, containerBlock) && dom.isEmpty(parentBlock)) {\n          newBlock = dom.split(containerBlock, parentBlock);\n        } else {\n          dom.insertAfter(newBlock, parentBlock);\n        }\n        moveToCaretPosition(editor, newBlock);\n      };\n      normalize$2(dom, rng).each(function (normRng) {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      newBlockName = getForcedRootBlock(editor);\n      var shiftKey = !!(evt && evt.shiftKey);\n      var ctrlKey = !!(evt && evt.ctrlKey);\n      if (isElement$5(container) && container.hasChildNodes()) {\n        isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$7(container)) {\n          offset = container.nodeValue.length;\n        } else {\n          offset = 0;\n        }\n      }\n      var editableRoot = getEditableRoot(dom, container);\n      if (!editableRoot) {\n        return;\n      }\n      if (newBlockName && !shiftKey || !newBlockName && shiftKey) {\n        container = wrapSelfAndSiblingsInDefaultBlock(editor, newBlockName, rng, container, offset);\n      }\n      parentBlock = dom.getParent(container, dom.isBlock);\n      containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      var containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      if (containerBlockName === 'LI' && !ctrlKey) {\n        parentBlock = containerBlock;\n        containerBlock = containerBlock.parentNode;\n        parentBlockName = containerBlockName;\n      }\n      if (/^(LI|DT|DD)$/.test(parentBlockName)) {\n        if (dom.isEmpty(parentBlock)) {\n          insert$3(editor, createNewBlock, containerBlock, parentBlock, newBlockName);\n          return;\n        }\n      }\n      if (newBlockName && parentBlock === editor.getBody()) {\n        return;\n      }\n      newBlockName = newBlockName || 'P';\n      if (isCaretContainerBlock$1(parentBlock)) {\n        newBlock = showCaretContainerBlock(parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        setForcedBlockAttrs(editor, newBlock);\n        moveToCaretPosition(editor, newBlock);\n      } else if (isCaretAtStartOrEndOfBlock()) {\n        insertNewBlockAfter();\n      } else if (isCaretAtStartOrEndOfBlock(true)) {\n        newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock);\n        moveToCaretPosition(editor, containerAndSiblingName(parentBlock, 'HR') ? newBlock : parentBlock);\n      } else {\n        tmpRng = includeZwspInRange(rng).cloneRange();\n        tmpRng.setEndAfter(parentBlock);\n        fragment = tmpRng.extractContents();\n        trimZwsp(fragment);\n        trimLeadingLineBreaks(fragment);\n        newBlock = fragment.firstChild;\n        dom.insertAfter(fragment, parentBlock);\n        trimInlineElementsOnLeftSideOfBlock(dom, nonEmptyElementsMap, newBlock);\n        addBrToBlockIfNeeded(dom, parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        newBlock.normalize();\n        if (dom.isEmpty(newBlock)) {\n          dom.remove(newBlock);\n          insertNewBlockAfter();\n        } else {\n          setForcedBlockAttrs(editor, newBlock);\n          moveToCaretPosition(editor, newBlock);\n        }\n      }\n      dom.setAttrib(newBlock, 'id', '');\n      editor.fire('NewBlock', { newBlock: newBlock });\n    };\n\n    var hasRightSideContent = function (schema, container, parentBlock) {\n      var walker = new DomTreeWalker(container, parentBlock);\n      var node;\n      var nonEmptyElementsMap = schema.getNonEmptyElements();\n      while (node = walker.next()) {\n        if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || node.length > 0) {\n          return true;\n        }\n      }\n    };\n    var moveSelectionToBr = function (editor, brElm, extraBr) {\n      var rng = editor.dom.createRng();\n      if (!extraBr) {\n        rng.setStartAfter(brElm);\n        rng.setEndAfter(brElm);\n      } else {\n        rng.setStartBefore(brElm);\n        rng.setEndBefore(brElm);\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    var insertBrAtCaret = function (editor, evt) {\n      var selection = editor.selection;\n      var dom = editor.dom;\n      var rng = selection.getRng();\n      var brElm;\n      var extraBr;\n      normalize$2(dom, rng).each(function (normRng) {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      var offset = rng.startOffset;\n      var container = rng.startContainer;\n      if (container.nodeType === 1 && container.hasChildNodes()) {\n        var isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && container.nodeType === 3) {\n          offset = container.nodeValue.length;\n        } else {\n          offset = 0;\n        }\n      }\n      var parentBlock = dom.getParent(container, dom.isBlock);\n      var containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      var containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      var isControlKey = !!(evt && evt.ctrlKey);\n      if (containerBlockName === 'LI' && !isControlKey) {\n        parentBlock = containerBlock;\n      }\n      if (container && container.nodeType === 3 && offset >= container.nodeValue.length) {\n        if (!hasRightSideContent(editor.schema, container, parentBlock)) {\n          brElm = dom.create('br');\n          rng.insertNode(brElm);\n          rng.setStartAfter(brElm);\n          rng.setEndAfter(brElm);\n          extraBr = true;\n        }\n      }\n      brElm = dom.create('br');\n      rangeInsertNode(dom, rng, brElm);\n      moveSelectionToBr(editor, brElm, extraBr);\n      editor.undoManager.add();\n    };\n    var insertBrBefore = function (editor, inline) {\n      var br = SugarElement.fromTag('br');\n      before$4(SugarElement.fromDom(inline), br);\n      editor.undoManager.add();\n    };\n    var insertBrAfter = function (editor, inline) {\n      if (!hasBrAfter(editor.getBody(), inline)) {\n        after$3(SugarElement.fromDom(inline), SugarElement.fromTag('br'));\n      }\n      var br = SugarElement.fromTag('br');\n      after$3(SugarElement.fromDom(inline), br);\n      moveSelectionToBr(editor, br.dom, false);\n      editor.undoManager.add();\n    };\n    var isBeforeBr = function (pos) {\n      return isBr$5(pos.getNode());\n    };\n    var hasBrAfter = function (rootNode, startNode) {\n      if (isBeforeBr(CaretPosition.after(startNode))) {\n        return true;\n      } else {\n        return nextPosition(rootNode, CaretPosition.after(startNode)).map(function (pos) {\n          return isBr$5(pos.getNode());\n        }).getOr(false);\n      }\n    };\n    var isAnchorLink = function (elm) {\n      return elm && elm.nodeName === 'A' && 'href' in elm;\n    };\n    var isInsideAnchor = function (location) {\n      return location.fold(never, isAnchorLink, isAnchorLink, never);\n    };\n    var readInlineAnchorLocation = function (editor) {\n      var isInlineTarget$1 = curry(isInlineTarget, editor);\n      var position = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return readLocation(isInlineTarget$1, editor.getBody(), position).filter(isInsideAnchor);\n    };\n    var insertBrOutsideAnchor = function (editor, location) {\n      location.fold(noop, curry(insertBrBefore, editor), curry(insertBrAfter, editor), noop);\n    };\n    var insert$1 = function (editor, evt) {\n      var anchorLocation = readInlineAnchorLocation(editor);\n      if (anchorLocation.isSome()) {\n        anchorLocation.each(curry(insertBrOutsideAnchor, editor));\n      } else {\n        insertBrAtCaret(editor, evt);\n      }\n    };\n\n    var matchesSelector = function (editor, selector) {\n      return getParentBlock(editor).filter(function (parentBlock) {\n        return selector.length > 0 && is$2(SugarElement.fromDom(parentBlock), selector);\n      }).isSome();\n    };\n    var shouldInsertBr = function (editor) {\n      return matchesSelector(editor, getBrNewLineSelector(editor));\n    };\n    var shouldBlockNewLine$1 = function (editor) {\n      return matchesSelector(editor, getNoNewLineSelector(editor));\n    };\n\n    var newLineAction = Adt.generate([\n      { br: [] },\n      { block: [] },\n      { none: [] }\n    ]);\n    var shouldBlockNewLine = function (editor, _shiftKey) {\n      return shouldBlockNewLine$1(editor);\n    };\n    var isBrMode = function (requiredState) {\n      return function (editor, _shiftKey) {\n        var brMode = getForcedRootBlock(editor) === '';\n        return brMode === requiredState;\n      };\n    };\n    var inListBlock = function (requiredState) {\n      return function (editor, _shiftKey) {\n        return isListItemParentBlock(editor) === requiredState;\n      };\n    };\n    var inBlock = function (blockName, requiredState) {\n      return function (editor, _shiftKey) {\n        var state = getParentBlockName(editor) === blockName.toUpperCase();\n        return state === requiredState;\n      };\n    };\n    var inPreBlock = function (requiredState) {\n      return inBlock('pre', requiredState);\n    };\n    var inSummaryBlock = function () {\n      return inBlock('summary', true);\n    };\n    var shouldPutBrInPre = function (requiredState) {\n      return function (editor, _shiftKey) {\n        return shouldPutBrInPre$1(editor) === requiredState;\n      };\n    };\n    var inBrContext = function (editor, _shiftKey) {\n      return shouldInsertBr(editor);\n    };\n    var hasShiftKey = function (_editor, shiftKey) {\n      return shiftKey;\n    };\n    var canInsertIntoEditableRoot = function (editor) {\n      var forcedRootBlock = getForcedRootBlock(editor);\n      var rootEditable = getEditableRoot$1(editor.dom, editor.selection.getStart());\n      return rootEditable && editor.schema.isValidChild(rootEditable.nodeName, forcedRootBlock ? forcedRootBlock : 'P');\n    };\n    var match = function (predicates, action) {\n      return function (editor, shiftKey) {\n        var isMatch = foldl(predicates, function (res, p) {\n          return res && p(editor, shiftKey);\n        }, true);\n        return isMatch ? Optional.some(action) : Optional.none();\n      };\n    };\n    var getAction = function (editor, evt) {\n      return evaluateUntil([\n        match([shouldBlockNewLine], newLineAction.none()),\n        match([inSummaryBlock()], newLineAction.br()),\n        match([\n          inPreBlock(true),\n          shouldPutBrInPre(false),\n          hasShiftKey\n        ], newLineAction.br()),\n        match([\n          inPreBlock(true),\n          shouldPutBrInPre(false)\n        ], newLineAction.block()),\n        match([\n          inPreBlock(true),\n          shouldPutBrInPre(true),\n          hasShiftKey\n        ], newLineAction.block()),\n        match([\n          inPreBlock(true),\n          shouldPutBrInPre(true)\n        ], newLineAction.br()),\n        match([\n          inListBlock(true),\n          hasShiftKey\n        ], newLineAction.br()),\n        match([inListBlock(true)], newLineAction.block()),\n        match([\n          isBrMode(true),\n          hasShiftKey,\n          canInsertIntoEditableRoot\n        ], newLineAction.block()),\n        match([isBrMode(true)], newLineAction.br()),\n        match([inBrContext], newLineAction.br()),\n        match([\n          isBrMode(false),\n          hasShiftKey\n        ], newLineAction.br()),\n        match([canInsertIntoEditableRoot], newLineAction.block())\n      ], [\n        editor,\n        !!(evt && evt.shiftKey)\n      ]).getOr(newLineAction.none());\n    };\n\n    var insert = function (editor, evt) {\n      getAction(editor, evt).fold(function () {\n        insert$1(editor, evt);\n      }, function () {\n        insert$2(editor, evt);\n      }, noop);\n    };\n\n    var handleEnterKeyEvent = function (editor, event) {\n      if (event.isDefaultPrevented()) {\n        return;\n      }\n      event.preventDefault();\n      endTypingLevelIgnoreLocks(editor.undoManager);\n      editor.undoManager.transact(function () {\n        if (editor.selection.isCollapsed() === false) {\n          editor.execCommand('Delete');\n        }\n        insert(editor, event);\n      });\n    };\n    var setup$9 = function (editor) {\n      editor.on('keydown', function (event) {\n        if (event.keyCode === VK.ENTER) {\n          handleEnterKeyEvent(editor, event);\n        }\n      });\n    };\n\n    var executeKeydownOverride$1 = function (editor, caret, evt) {\n      execute([\n        {\n          keyCode: VK.END,\n          action: action(moveToLineEndPoint$1, editor, true)\n        },\n        {\n          keyCode: VK.HOME,\n          action: action(moveToLineEndPoint$1, editor, false)\n        },\n        {\n          keyCode: VK.END,\n          action: action(moveToLineEndPoint, editor, true)\n        },\n        {\n          keyCode: VK.HOME,\n          action: action(moveToLineEndPoint, editor, false)\n        },\n        {\n          keyCode: VK.END,\n          action: action(moveToLineEndPoint$2, editor, true, caret)\n        },\n        {\n          keyCode: VK.HOME,\n          action: action(moveToLineEndPoint$2, editor, false, caret)\n        }\n      ], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var setup$8 = function (editor, caret) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride$1(editor, caret, evt);\n        }\n      });\n    };\n\n    var browser = detect().browser;\n    var setupIeInput = function (editor) {\n      var keypressThrotter = first(function () {\n        if (!editor.composing) {\n          normalizeNbspsInEditor(editor);\n        }\n      }, 0);\n      if (browser.isIE()) {\n        editor.on('keypress', function (_e) {\n          keypressThrotter.throttle();\n        });\n        editor.on('remove', function (_e) {\n          keypressThrotter.cancel();\n        });\n      }\n    };\n    var setup$7 = function (editor) {\n      setupIeInput(editor);\n      editor.on('input', function (e) {\n        if (e.isComposing === false) {\n          normalizeNbspsInEditor(editor);\n        }\n      });\n    };\n\n    var platform = detect();\n    var executeKeyupAction = function (editor, caret, evt) {\n      execute([\n        {\n          keyCode: VK.PAGE_UP,\n          action: action(moveToLineEndPoint$2, editor, false, caret)\n        },\n        {\n          keyCode: VK.PAGE_DOWN,\n          action: action(moveToLineEndPoint$2, editor, true, caret)\n        }\n      ], evt);\n    };\n    var stopImmediatePropagation = function (e) {\n      return e.stopImmediatePropagation();\n    };\n    var isPageUpDown = function (evt) {\n      return evt.keyCode === VK.PAGE_UP || evt.keyCode === VK.PAGE_DOWN;\n    };\n    var setNodeChangeBlocker = function (blocked, editor, block) {\n      if (block && !blocked.get()) {\n        editor.on('NodeChange', stopImmediatePropagation, true);\n      } else if (!block && blocked.get()) {\n        editor.off('NodeChange', stopImmediatePropagation);\n      }\n      blocked.set(block);\n    };\n    var setup$6 = function (editor, caret) {\n      if (platform.os.isOSX()) {\n        return;\n      }\n      var blocked = Cell(false);\n      editor.on('keydown', function (evt) {\n        if (isPageUpDown(evt)) {\n          setNodeChangeBlocker(blocked, editor, true);\n        }\n      });\n      editor.on('keyup', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeyupAction(editor, caret, evt);\n        }\n        if (isPageUpDown(evt) && blocked.get()) {\n          setNodeChangeBlocker(blocked, editor, false);\n          editor.nodeChanged();\n        }\n      });\n    };\n\n    var insertTextAtPosition = function (text, pos) {\n      var container = pos.container();\n      var offset = pos.offset();\n      if (isText$7(container)) {\n        container.insertData(offset, text);\n        return Optional.some(CaretPosition(container, offset + text.length));\n      } else {\n        return getElementFromPosition(pos).map(function (elm) {\n          var textNode = SugarElement.fromText(text);\n          if (pos.isAtEnd()) {\n            after$3(elm, textNode);\n          } else {\n            before$4(elm, textNode);\n          }\n          return CaretPosition(textNode.dom, text.length);\n        });\n      }\n    };\n    var insertNbspAtPosition = curry(insertTextAtPosition, nbsp);\n    var insertSpaceAtPosition = curry(insertTextAtPosition, ' ');\n\n    var locationToCaretPosition = function (root) {\n      return function (location) {\n        return location.fold(function (element) {\n          return prevPosition(root.dom, CaretPosition.before(element));\n        }, function (element) {\n          return firstPositionIn(element);\n        }, function (element) {\n          return lastPositionIn(element);\n        }, function (element) {\n          return nextPosition(root.dom, CaretPosition.after(element));\n        });\n      };\n    };\n    var insertInlineBoundarySpaceOrNbsp = function (root, pos) {\n      return function (checkPos) {\n        return needsToHaveNbsp(root, checkPos) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n      };\n    };\n    var setSelection = function (editor) {\n      return function (pos) {\n        editor.selection.setRng(pos.toRange());\n        editor.nodeChanged();\n        return true;\n      };\n    };\n    var insertSpaceOrNbspAtSelection = function (editor) {\n      var pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      var root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        var isInlineTarget$1 = curry(isInlineTarget, editor);\n        var caretPosition = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return readLocation(isInlineTarget$1, editor.getBody(), caretPosition).bind(locationToCaretPosition(root)).bind(insertInlineBoundarySpaceOrNbsp(root, pos)).exists(setSelection(editor));\n      } else {\n        return false;\n      }\n    };\n\n    var executeKeydownOverride = function (editor, evt) {\n      execute([{\n          keyCode: VK.SPACEBAR,\n          action: action(insertSpaceOrNbspAtSelection, editor)\n        }], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var setup$5 = function (editor) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride(editor, evt);\n        }\n      });\n    };\n\n    var registerKeyboardOverrides = function (editor) {\n      var caret = setupSelectedState(editor);\n      setup$c(editor);\n      setup$b(editor, caret);\n      setup$a(editor, caret);\n      setup$9(editor);\n      setup$5(editor);\n      setup$7(editor);\n      setup$8(editor, caret);\n      setup$6(editor, caret);\n      return caret;\n    };\n    var setup$4 = function (editor) {\n      if (!isRtc(editor)) {\n        return registerKeyboardOverrides(editor);\n      } else {\n        return Cell(null);\n      }\n    };\n\n    var NodeChange = function () {\n      function NodeChange(editor) {\n        this.lastPath = [];\n        this.editor = editor;\n        var lastRng;\n        var self = this;\n        if (!('onselectionchange' in editor.getDoc())) {\n          editor.on('NodeChange click mouseup keyup focus', function (e) {\n            var nativeRng = editor.selection.getRng();\n            var fakeRng = {\n              startContainer: nativeRng.startContainer,\n              startOffset: nativeRng.startOffset,\n              endContainer: nativeRng.endContainer,\n              endOffset: nativeRng.endOffset\n            };\n            if (e.type === 'nodechange' || !isEq$4(fakeRng, lastRng)) {\n              editor.fire('SelectionChange');\n            }\n            lastRng = fakeRng;\n          });\n        }\n        editor.on('contextmenu', function () {\n          editor.fire('SelectionChange');\n        });\n        editor.on('SelectionChange', function () {\n          var startElm = editor.selection.getStart(true);\n          if (!startElm || !Env.range && editor.selection.isCollapsed()) {\n            return;\n          }\n          if (hasAnyRanges(editor) && !self.isSameElementPath(startElm) && editor.dom.isChildOf(startElm, editor.getBody())) {\n            editor.nodeChanged({ selectionChange: true });\n          }\n        });\n        editor.on('mouseup', function (e) {\n          if (!e.isDefaultPrevented() && hasAnyRanges(editor)) {\n            if (editor.selection.getNode().nodeName === 'IMG') {\n              Delay.setEditorTimeout(editor, function () {\n                editor.nodeChanged();\n              });\n            } else {\n              editor.nodeChanged();\n            }\n          }\n        });\n      }\n      NodeChange.prototype.nodeChanged = function (args) {\n        var selection = this.editor.selection;\n        var node, parents, root;\n        if (this.editor.initialized && selection && !shouldDisableNodeChange(this.editor) && !this.editor.mode.isReadOnly()) {\n          root = this.editor.getBody();\n          node = selection.getStart(true) || root;\n          if (node.ownerDocument !== this.editor.getDoc() || !this.editor.dom.isChildOf(node, root)) {\n            node = root;\n          }\n          parents = [];\n          this.editor.dom.getParent(node, function (node) {\n            if (node === root) {\n              return true;\n            }\n            parents.push(node);\n          });\n          args = args || {};\n          args.element = node;\n          args.parents = parents;\n          this.editor.fire('NodeChange', args);\n        }\n      };\n      NodeChange.prototype.isSameElementPath = function (startElm) {\n        var i;\n        var currentPath = this.editor.$(startElm).parentsUntil(this.editor.getBody()).add(startElm);\n        if (currentPath.length === this.lastPath.length) {\n          for (i = currentPath.length; i >= 0; i--) {\n            if (currentPath[i] !== this.lastPath[i]) {\n              break;\n            }\n          }\n          if (i === -1) {\n            this.lastPath = currentPath;\n            return true;\n          }\n        }\n        this.lastPath = currentPath;\n        return false;\n      };\n      return NodeChange;\n    }();\n\n    var preventSummaryToggle = function (editor) {\n      editor.on('click', function (e) {\n        if (editor.dom.getParent(e.target, 'details')) {\n          e.preventDefault();\n        }\n      });\n    };\n    var filterDetails = function (editor) {\n      editor.parser.addNodeFilter('details', function (elms) {\n        each$k(elms, function (details) {\n          details.attr('data-mce-open', details.attr('open'));\n          details.attr('open', 'open');\n        });\n      });\n      editor.serializer.addNodeFilter('details', function (elms) {\n        each$k(elms, function (details) {\n          var open = details.attr('data-mce-open');\n          details.attr('open', isString$1(open) ? open : null);\n          details.attr('data-mce-open', null);\n        });\n      });\n    };\n    var setup$3 = function (editor) {\n      preventSummaryToggle(editor);\n      filterDetails(editor);\n    };\n\n    var isTextBlockNode = function (node) {\n      return isElement$5(node) && isTextBlock$2(SugarElement.fromDom(node));\n    };\n    var normalizeSelection = function (editor) {\n      var rng = editor.selection.getRng();\n      var startPos = CaretPosition.fromRangeStart(rng);\n      var endPos = CaretPosition.fromRangeEnd(rng);\n      if (CaretPosition.isElementPosition(startPos)) {\n        var container = startPos.container();\n        if (isTextBlockNode(container)) {\n          firstPositionIn(container).each(function (pos) {\n            return rng.setStart(pos.container(), pos.offset());\n          });\n        }\n      }\n      if (CaretPosition.isElementPosition(endPos)) {\n        var container = startPos.container();\n        if (isTextBlockNode(container)) {\n          lastPositionIn(container).each(function (pos) {\n            return rng.setEnd(pos.container(), pos.offset());\n          });\n        }\n      }\n      editor.selection.setRng(normalize(rng));\n    };\n    var setup$2 = function (editor) {\n      editor.on('click', function (e) {\n        if (e.detail >= 3) {\n          normalizeSelection(editor);\n        }\n      });\n    };\n\n    var getAbsolutePosition = function (elm) {\n      var clientRect = elm.getBoundingClientRect();\n      var doc = elm.ownerDocument;\n      var docElem = doc.documentElement;\n      var win = doc.defaultView;\n      return {\n        top: clientRect.top + win.pageYOffset - docElem.clientTop,\n        left: clientRect.left + win.pageXOffset - docElem.clientLeft\n      };\n    };\n    var getBodyPosition = function (editor) {\n      return editor.inline ? getAbsolutePosition(editor.getBody()) : {\n        left: 0,\n        top: 0\n      };\n    };\n    var getScrollPosition = function (editor) {\n      var body = editor.getBody();\n      return editor.inline ? {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      } : {\n        left: 0,\n        top: 0\n      };\n    };\n    var getBodyScroll = function (editor) {\n      var body = editor.getBody(), docElm = editor.getDoc().documentElement;\n      var inlineScroll = {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      };\n      var iframeScroll = {\n        left: body.scrollLeft || docElm.scrollLeft,\n        top: body.scrollTop || docElm.scrollTop\n      };\n      return editor.inline ? inlineScroll : iframeScroll;\n    };\n    var getMousePosition = function (editor, event) {\n      if (event.target.ownerDocument !== editor.getDoc()) {\n        var iframePosition = getAbsolutePosition(editor.getContentAreaContainer());\n        var scrollPosition = getBodyScroll(editor);\n        return {\n          left: event.pageX - iframePosition.left + scrollPosition.left,\n          top: event.pageY - iframePosition.top + scrollPosition.top\n        };\n      }\n      return {\n        left: event.pageX,\n        top: event.pageY\n      };\n    };\n    var calculatePosition = function (bodyPosition, scrollPosition, mousePosition) {\n      return {\n        pageX: mousePosition.left - bodyPosition.left + scrollPosition.left,\n        pageY: mousePosition.top - bodyPosition.top + scrollPosition.top\n      };\n    };\n    var calc = function (editor, event) {\n      return calculatePosition(getBodyPosition(editor), getScrollPosition(editor), getMousePosition(editor, event));\n    };\n\n    var isContentEditableFalse$1 = isContentEditableFalse$b, isContentEditableTrue$1 = isContentEditableTrue$4;\n    var isDraggable = function (rootElm, elm) {\n      return isContentEditableFalse$1(elm) && elm !== rootElm;\n    };\n    var isValidDropTarget = function (editor, targetElement, dragElement) {\n      if (targetElement === dragElement || editor.dom.isChildOf(targetElement, dragElement)) {\n        return false;\n      }\n      return !isContentEditableFalse$1(targetElement);\n    };\n    var cloneElement = function (elm) {\n      var cloneElm = elm.cloneNode(true);\n      cloneElm.removeAttribute('data-mce-selected');\n      return cloneElm;\n    };\n    var createGhost = function (editor, elm, width, height) {\n      var dom = editor.dom;\n      var clonedElm = elm.cloneNode(true);\n      dom.setStyles(clonedElm, {\n        width: width,\n        height: height\n      });\n      dom.setAttrib(clonedElm, 'data-mce-selected', null);\n      var ghostElm = dom.create('div', {\n        'class': 'mce-drag-container',\n        'data-mce-bogus': 'all',\n        'unselectable': 'on',\n        'contenteditable': 'false'\n      });\n      dom.setStyles(ghostElm, {\n        position: 'absolute',\n        opacity: 0.5,\n        overflow: 'hidden',\n        border: 0,\n        padding: 0,\n        margin: 0,\n        width: width,\n        height: height\n      });\n      dom.setStyles(clonedElm, {\n        margin: 0,\n        boxSizing: 'border-box'\n      });\n      ghostElm.appendChild(clonedElm);\n      return ghostElm;\n    };\n    var appendGhostToBody = function (ghostElm, bodyElm) {\n      if (ghostElm.parentNode !== bodyElm) {\n        bodyElm.appendChild(ghostElm);\n      }\n    };\n    var moveGhost = function (ghostElm, position, width, height, maxX, maxY) {\n      var overflowX = 0, overflowY = 0;\n      ghostElm.style.left = position.pageX + 'px';\n      ghostElm.style.top = position.pageY + 'px';\n      if (position.pageX + width > maxX) {\n        overflowX = position.pageX + width - maxX;\n      }\n      if (position.pageY + height > maxY) {\n        overflowY = position.pageY + height - maxY;\n      }\n      ghostElm.style.width = width - overflowX + 'px';\n      ghostElm.style.height = height - overflowY + 'px';\n    };\n    var removeElement = function (elm) {\n      if (elm && elm.parentNode) {\n        elm.parentNode.removeChild(elm);\n      }\n    };\n    var isLeftMouseButtonPressed = function (e) {\n      return e.button === 0;\n    };\n    var applyRelPos = function (state, position) {\n      return {\n        pageX: position.pageX - state.relX,\n        pageY: position.pageY + 5\n      };\n    };\n    var start = function (state, editor) {\n      return function (e) {\n        if (isLeftMouseButtonPressed(e)) {\n          var ceElm = find$3(editor.dom.getParents(e.target), or(isContentEditableFalse$1, isContentEditableTrue$1)).getOr(null);\n          if (isDraggable(editor.getBody(), ceElm)) {\n            var elmPos = editor.dom.getPos(ceElm);\n            var bodyElm = editor.getBody();\n            var docElm = editor.getDoc().documentElement;\n            state.set({\n              element: ceElm,\n              dragging: false,\n              screenX: e.screenX,\n              screenY: e.screenY,\n              maxX: (editor.inline ? bodyElm.scrollWidth : docElm.offsetWidth) - 2,\n              maxY: (editor.inline ? bodyElm.scrollHeight : docElm.offsetHeight) - 2,\n              relX: e.pageX - elmPos.x,\n              relY: e.pageY - elmPos.y,\n              width: ceElm.offsetWidth,\n              height: ceElm.offsetHeight,\n              ghost: createGhost(editor, ceElm, ceElm.offsetWidth, ceElm.offsetHeight)\n            });\n          }\n        }\n      };\n    };\n    var move = function (state, editor) {\n      var throttledPlaceCaretAt = Delay.throttle(function (clientX, clientY) {\n        editor._selectionOverrides.hideFakeCaret();\n        editor.selection.placeCaretAt(clientX, clientY);\n      }, 0);\n      editor.on('remove', throttledPlaceCaretAt.stop);\n      return function (e) {\n        return state.on(function (state) {\n          var movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY));\n          if (!state.dragging && movement > 10) {\n            var args = editor.fire('dragstart', { target: state.element });\n            if (args.isDefaultPrevented()) {\n              return;\n            }\n            state.dragging = true;\n            editor.focus();\n          }\n          if (state.dragging) {\n            var targetPos = applyRelPos(state, calc(editor, e));\n            appendGhostToBody(state.ghost, editor.getBody());\n            moveGhost(state.ghost, targetPos, state.width, state.height, state.maxX, state.maxY);\n            throttledPlaceCaretAt(e.clientX, e.clientY);\n          }\n        });\n      };\n    };\n    var getRawTarget = function (selection) {\n      var rng = selection.getSel().getRangeAt(0);\n      var startContainer = rng.startContainer;\n      return startContainer.nodeType === 3 ? startContainer.parentNode : startContainer;\n    };\n    var drop = function (state, editor) {\n      return function (e) {\n        state.on(function (state) {\n          if (state.dragging) {\n            if (isValidDropTarget(editor, getRawTarget(editor.selection), state.element)) {\n              var targetClone_1 = cloneElement(state.element);\n              var args = editor.fire('drop', {\n                clientX: e.clientX,\n                clientY: e.clientY\n              });\n              if (!args.isDefaultPrevented()) {\n                editor.undoManager.transact(function () {\n                  removeElement(state.element);\n                  editor.insertContent(editor.dom.getOuterHTML(targetClone_1));\n                  editor._selectionOverrides.hideFakeCaret();\n                });\n              }\n            }\n            editor.fire('dragend');\n          }\n        });\n        removeDragState(state);\n      };\n    };\n    var stop = function (state, editor) {\n      return function () {\n        state.on(function (state) {\n          if (state.dragging) {\n            editor.fire('dragend');\n          }\n        });\n        removeDragState(state);\n      };\n    };\n    var removeDragState = function (state) {\n      state.on(function (state) {\n        removeElement(state.ghost);\n      });\n      state.clear();\n    };\n    var bindFakeDragEvents = function (editor) {\n      var state = value();\n      var pageDom = DOMUtils.DOM;\n      var rootDocument = document;\n      var dragStartHandler = start(state, editor);\n      var dragHandler = move(state, editor);\n      var dropHandler = drop(state, editor);\n      var dragEndHandler = stop(state, editor);\n      editor.on('mousedown', dragStartHandler);\n      editor.on('mousemove', dragHandler);\n      editor.on('mouseup', dropHandler);\n      pageDom.bind(rootDocument, 'mousemove', dragHandler);\n      pageDom.bind(rootDocument, 'mouseup', dragEndHandler);\n      editor.on('remove', function () {\n        pageDom.unbind(rootDocument, 'mousemove', dragHandler);\n        pageDom.unbind(rootDocument, 'mouseup', dragEndHandler);\n      });\n      editor.on('keydown', function (e) {\n        if (e.keyCode === VK.ESC) {\n          dragEndHandler();\n        }\n      });\n    };\n    var blockIeDrop = function (editor) {\n      editor.on('drop', function (e) {\n        var realTarget = typeof e.clientX !== 'undefined' ? editor.getDoc().elementFromPoint(e.clientX, e.clientY) : null;\n        if (isContentEditableFalse$1(realTarget) || editor.dom.getContentEditableParent(realTarget) === 'false') {\n          e.preventDefault();\n        }\n      });\n    };\n    var blockUnsupportedFileDrop = function (editor) {\n      var preventFileDrop = function (e) {\n        if (!e.isDefaultPrevented()) {\n          var dataTransfer = e.dataTransfer;\n          if (dataTransfer && (contains$3(dataTransfer.types, 'Files') || dataTransfer.files.length > 0)) {\n            e.preventDefault();\n            if (e.type === 'drop') {\n              displayError(editor, 'Dropped file type is not supported');\n            }\n          }\n        }\n      };\n      var preventFileDropIfUIElement = function (e) {\n        if (isUIElement(editor, e.target)) {\n          preventFileDrop(e);\n        }\n      };\n      var setup = function () {\n        var pageDom = DOMUtils.DOM;\n        var dom = editor.dom;\n        var doc = document;\n        var editorRoot = editor.inline ? editor.getBody() : editor.getDoc();\n        var eventNames = [\n          'drop',\n          'dragover'\n        ];\n        each$k(eventNames, function (name) {\n          pageDom.bind(doc, name, preventFileDropIfUIElement);\n          dom.bind(editorRoot, name, preventFileDrop);\n        });\n        editor.on('remove', function () {\n          each$k(eventNames, function (name) {\n            pageDom.unbind(doc, name, preventFileDropIfUIElement);\n            dom.unbind(editorRoot, name, preventFileDrop);\n          });\n        });\n      };\n      editor.on('init', function () {\n        Delay.setEditorTimeout(editor, setup, 0);\n      });\n    };\n    var init$2 = function (editor) {\n      bindFakeDragEvents(editor);\n      blockIeDrop(editor);\n      if (shouldBlockUnsupportedDrop(editor)) {\n        blockUnsupportedFileDrop(editor);\n      }\n    };\n\n    var setup$1 = function (editor) {\n      var renderFocusCaret = first(function () {\n        if (!editor.removed && editor.getBody().contains(document.activeElement)) {\n          var rng = editor.selection.getRng();\n          if (rng.collapsed) {\n            var caretRange = renderRangeCaret(editor, rng, false);\n            editor.selection.setRng(caretRange);\n          }\n        }\n      }, 0);\n      editor.on('focus', function () {\n        renderFocusCaret.throttle();\n      });\n      editor.on('blur', function () {\n        renderFocusCaret.cancel();\n      });\n    };\n\n    var setup = function (editor) {\n      editor.on('init', function () {\n        editor.on('focusin', function (e) {\n          var target = e.target;\n          if (isMedia$2(target)) {\n            var ceRoot = getContentEditableRoot$1(editor.getBody(), target);\n            var node = isContentEditableFalse$b(ceRoot) ? ceRoot : target;\n            if (editor.selection.getNode() !== node) {\n              selectNode(editor, node).each(function (rng) {\n                return editor.selection.setRng(rng);\n              });\n            }\n          }\n        });\n      });\n    };\n\n    var isContentEditableTrue = isContentEditableTrue$4;\n    var isContentEditableFalse = isContentEditableFalse$b;\n    var getContentEditableRoot = function (editor, node) {\n      return getContentEditableRoot$1(editor.getBody(), node);\n    };\n    var SelectionOverrides = function (editor) {\n      var selection = editor.selection, dom = editor.dom;\n      var isBlock = dom.isBlock;\n      var rootNode = editor.getBody();\n      var fakeCaret = FakeCaret(editor, rootNode, isBlock, function () {\n        return hasFocus(editor);\n      });\n      var realSelectionId = 'sel-' + dom.uniqueId();\n      var elementSelectionAttr = 'data-mce-selected';\n      var selectedElement;\n      var isFakeSelectionElement = function (node) {\n        return dom.hasClass(node, 'mce-offscreen-selection');\n      };\n      var isFakeSelectionTargetElement = function (node) {\n        return node !== rootNode && (isContentEditableFalse(node) || isMedia$2(node)) && dom.isChildOf(node, rootNode);\n      };\n      var isNearFakeSelectionElement = function (pos) {\n        return isBeforeContentEditableFalse(pos) || isAfterContentEditableFalse(pos) || isBeforeMedia(pos) || isAfterMedia(pos);\n      };\n      var getRealSelectionElement = function () {\n        var container = dom.get(realSelectionId);\n        return container ? container.getElementsByTagName('*')[0] : container;\n      };\n      var setRange = function (range) {\n        if (range) {\n          selection.setRng(range);\n        }\n      };\n      var getRange = selection.getRng;\n      var showCaret = function (direction, node, before, scrollIntoView) {\n        if (scrollIntoView === void 0) {\n          scrollIntoView = true;\n        }\n        var e = editor.fire('ShowCaret', {\n          target: node,\n          direction: direction,\n          before: before\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        if (scrollIntoView) {\n          selection.scrollIntoView(node, direction === -1);\n        }\n        return fakeCaret.show(before, node);\n      };\n      var showBlockCaretContainer = function (blockCaretContainer) {\n        if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n          showCaretContainerBlock(blockCaretContainer);\n          setRange(getRange());\n          selection.scrollIntoView(blockCaretContainer);\n        }\n      };\n      var registerEvents = function () {\n        editor.on('mouseup', function (e) {\n          var range = getRange();\n          if (range.collapsed && isXYInContentArea(editor, e.clientX, e.clientY)) {\n            renderCaretAtRange(editor, range, false).each(setRange);\n          }\n        });\n        editor.on('click', function (e) {\n          var contentEditableRoot = getContentEditableRoot(editor, e.target);\n          if (contentEditableRoot) {\n            if (isContentEditableFalse(contentEditableRoot)) {\n              e.preventDefault();\n              editor.focus();\n            }\n            if (isContentEditableTrue(contentEditableRoot)) {\n              if (dom.isChildOf(contentEditableRoot, selection.getNode())) {\n                removeElementSelection();\n              }\n            }\n          }\n        });\n        editor.on('blur NewBlock', removeElementSelection);\n        editor.on('ResizeWindow FullscreenStateChanged', fakeCaret.reposition);\n        var hasNormalCaretPosition = function (elm) {\n          var start = elm.firstChild;\n          if (isNullable(start)) {\n            return false;\n          }\n          var startPos = CaretPosition.before(start);\n          if (isBr$5(startPos.getNode()) && elm.childNodes.length === 1) {\n            return !isNearFakeSelectionElement(startPos);\n          } else {\n            var caretWalker = CaretWalker(elm);\n            var newPos = caretWalker.next(startPos);\n            return newPos && !isNearFakeSelectionElement(newPos);\n          }\n        };\n        var isInSameBlock = function (node1, node2) {\n          var block1 = dom.getParent(node1, isBlock);\n          var block2 = dom.getParent(node2, isBlock);\n          return block1 === block2;\n        };\n        var hasBetterMouseTarget = function (targetNode, caretNode) {\n          var targetBlock = dom.getParent(targetNode, isBlock);\n          var caretBlock = dom.getParent(caretNode, isBlock);\n          if (isNullable(targetBlock)) {\n            return false;\n          }\n          if (targetNode !== caretBlock && dom.isChildOf(targetBlock, caretBlock) && isContentEditableFalse(getContentEditableRoot(editor, targetBlock)) === false) {\n            return true;\n          }\n          return !dom.isChildOf(caretBlock, targetBlock) && !isInSameBlock(targetBlock, caretBlock) && hasNormalCaretPosition(targetBlock);\n        };\n        editor.on('tap', function (e) {\n          var targetElm = e.target;\n          var contentEditableRoot = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(contentEditableRoot)) {\n            e.preventDefault();\n            selectNode(editor, contentEditableRoot).each(setElementSelection);\n          } else if (isFakeSelectionTargetElement(targetElm)) {\n            selectNode(editor, targetElm).each(setElementSelection);\n          }\n        }, true);\n        editor.on('mousedown', function (e) {\n          var targetElm = e.target;\n          if (targetElm !== rootNode && targetElm.nodeName !== 'HTML' && !dom.isChildOf(targetElm, rootNode)) {\n            return;\n          }\n          if (isXYInContentArea(editor, e.clientX, e.clientY) === false) {\n            return;\n          }\n          var contentEditableRoot = getContentEditableRoot(editor, targetElm);\n          if (contentEditableRoot) {\n            if (isContentEditableFalse(contentEditableRoot)) {\n              e.preventDefault();\n              selectNode(editor, contentEditableRoot).each(setElementSelection);\n            } else {\n              removeElementSelection();\n              if (!(isContentEditableTrue(contentEditableRoot) && e.shiftKey) && !isXYWithinRange(e.clientX, e.clientY, selection.getRng())) {\n                hideFakeCaret();\n                selection.placeCaretAt(e.clientX, e.clientY);\n              }\n            }\n          } else if (isFakeSelectionTargetElement(targetElm)) {\n            selectNode(editor, targetElm).each(setElementSelection);\n          } else if (isFakeCaretTarget(targetElm) === false) {\n            removeElementSelection();\n            hideFakeCaret();\n            var fakeCaretInfo = closestFakeCaret(rootNode, e.clientX, e.clientY);\n            if (fakeCaretInfo) {\n              if (!hasBetterMouseTarget(targetElm, fakeCaretInfo.node)) {\n                e.preventDefault();\n                var range = showCaret(1, fakeCaretInfo.node, fakeCaretInfo.before, false);\n                setRange(range);\n                editor.getBody().focus();\n              }\n            }\n          }\n        });\n        editor.on('keypress', function (e) {\n          if (VK.modifierPressed(e)) {\n            return;\n          }\n          if (isContentEditableFalse(selection.getNode())) {\n            e.preventDefault();\n          }\n        });\n        editor.on('GetSelectionRange', function (e) {\n          var rng = e.range;\n          if (selectedElement) {\n            if (!selectedElement.parentNode) {\n              selectedElement = null;\n              return;\n            }\n            rng = rng.cloneRange();\n            rng.selectNode(selectedElement);\n            e.range = rng;\n          }\n        });\n        editor.on('SetSelectionRange', function (e) {\n          e.range = normalizeShortEndedElementSelection(e.range);\n          var rng = setElementSelection(e.range, e.forward);\n          if (rng) {\n            e.range = rng;\n          }\n        });\n        var isPasteBin = function (node) {\n          return node.id === 'mcepastebin';\n        };\n        editor.on('AfterSetSelectionRange', function (e) {\n          var rng = e.range;\n          var parentNode = rng.startContainer.parentNode;\n          if (!isRangeInCaretContainer(rng) && !isPasteBin(parentNode)) {\n            hideFakeCaret();\n          }\n          if (!isFakeSelectionElement(parentNode)) {\n            removeElementSelection();\n          }\n        });\n        editor.on('copy', function (e) {\n          var clipboardData = e.clipboardData;\n          if (!e.isDefaultPrevented() && e.clipboardData && !Env.ie) {\n            var realSelectionElement = getRealSelectionElement();\n            if (realSelectionElement) {\n              e.preventDefault();\n              clipboardData.clearData();\n              clipboardData.setData('text/html', realSelectionElement.outerHTML);\n              clipboardData.setData('text/plain', realSelectionElement.outerText || realSelectionElement.innerText);\n            }\n          }\n        });\n        init$2(editor);\n        setup$1(editor);\n        setup(editor);\n      };\n      var isWithinCaretContainer = function (node) {\n        return isCaretContainer$2(node) || startsWithCaretContainer$1(node) || endsWithCaretContainer$1(node);\n      };\n      var isRangeInCaretContainer = function (rng) {\n        return isWithinCaretContainer(rng.startContainer) || isWithinCaretContainer(rng.endContainer);\n      };\n      var normalizeShortEndedElementSelection = function (rng) {\n        var shortEndedElements = editor.schema.getShortEndedElements();\n        var newRng = dom.createRng();\n        var startContainer = rng.startContainer;\n        var startOffset = rng.startOffset;\n        var endContainer = rng.endContainer;\n        var endOffset = rng.endOffset;\n        if (has$2(shortEndedElements, startContainer.nodeName.toLowerCase())) {\n          if (startOffset === 0) {\n            newRng.setStartBefore(startContainer);\n          } else {\n            newRng.setStartAfter(startContainer);\n          }\n        } else {\n          newRng.setStart(startContainer, startOffset);\n        }\n        if (has$2(shortEndedElements, endContainer.nodeName.toLowerCase())) {\n          if (endOffset === 0) {\n            newRng.setEndBefore(endContainer);\n          } else {\n            newRng.setEndAfter(endContainer);\n          }\n        } else {\n          newRng.setEnd(endContainer, endOffset);\n        }\n        return newRng;\n      };\n      var setupOffscreenSelection = function (node, targetClone, origTargetClone) {\n        var $ = editor.$;\n        var $realSelectionContainer = descendant(SugarElement.fromDom(editor.getBody()), '#' + realSelectionId).fold(function () {\n          return $([]);\n        }, function (elm) {\n          return $([elm.dom]);\n        });\n        if ($realSelectionContainer.length === 0) {\n          $realSelectionContainer = $('<div data-mce-bogus=\"all\" class=\"mce-offscreen-selection\"></div>').attr('id', realSelectionId);\n          $realSelectionContainer.appendTo(editor.getBody());\n        }\n        var newRange = dom.createRng();\n        if (targetClone === origTargetClone && Env.ie) {\n          $realSelectionContainer.empty().append('<p style=\"font-size: 0\" data-mce-bogus=\"all\">\\xA0</p>').append(targetClone);\n          newRange.setStartAfter($realSelectionContainer[0].firstChild.firstChild);\n          newRange.setEndAfter(targetClone);\n        } else {\n          $realSelectionContainer.empty().append(nbsp).append(targetClone).append(nbsp);\n          newRange.setStart($realSelectionContainer[0].firstChild, 1);\n          newRange.setEnd($realSelectionContainer[0].lastChild, 0);\n        }\n        $realSelectionContainer.css({ top: dom.getPos(node, editor.getBody()).y });\n        $realSelectionContainer[0].focus();\n        var sel = selection.getSel();\n        sel.removeAllRanges();\n        sel.addRange(newRange);\n        return newRange;\n      };\n      var selectElement = function (elm) {\n        var targetClone = elm.cloneNode(true);\n        var e = editor.fire('ObjectSelected', {\n          target: elm,\n          targetClone: targetClone\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        var range = setupOffscreenSelection(elm, e.targetClone, targetClone);\n        var nodeElm = SugarElement.fromDom(elm);\n        each$k(descendants(SugarElement.fromDom(editor.getBody()), '*[data-mce-selected]'), function (elm) {\n          if (!eq(nodeElm, elm)) {\n            remove$6(elm, elementSelectionAttr);\n          }\n        });\n        if (!dom.getAttrib(elm, elementSelectionAttr)) {\n          elm.setAttribute(elementSelectionAttr, '1');\n        }\n        selectedElement = elm;\n        hideFakeCaret();\n        return range;\n      };\n      var setElementSelection = function (range, forward) {\n        if (!range) {\n          return null;\n        }\n        if (range.collapsed) {\n          if (!isRangeInCaretContainer(range)) {\n            var dir = forward ? 1 : -1;\n            var caretPosition = getNormalizedRangeEndPoint(dir, rootNode, range);\n            var beforeNode = caretPosition.getNode(!forward);\n            if (isFakeCaretTarget(beforeNode)) {\n              return showCaret(dir, beforeNode, forward ? !caretPosition.isAtEnd() : false, false);\n            }\n            var afterNode = caretPosition.getNode(forward);\n            if (isFakeCaretTarget(afterNode)) {\n              return showCaret(dir, afterNode, forward ? false : !caretPosition.isAtEnd(), false);\n            }\n          }\n          return null;\n        }\n        var startContainer = range.startContainer;\n        var startOffset = range.startOffset;\n        var endOffset = range.endOffset;\n        if (startContainer.nodeType === 3 && startOffset === 0 && isContentEditableFalse(startContainer.parentNode)) {\n          startContainer = startContainer.parentNode;\n          startOffset = dom.nodeIndex(startContainer);\n          startContainer = startContainer.parentNode;\n        }\n        if (startContainer.nodeType !== 1) {\n          return null;\n        }\n        if (endOffset === startOffset + 1 && startContainer === range.endContainer) {\n          var node = startContainer.childNodes[startOffset];\n          if (isFakeSelectionTargetElement(node)) {\n            return selectElement(node);\n          }\n        }\n        return null;\n      };\n      var removeElementSelection = function () {\n        if (selectedElement) {\n          selectedElement.removeAttribute(elementSelectionAttr);\n        }\n        descendant(SugarElement.fromDom(editor.getBody()), '#' + realSelectionId).each(remove$7);\n        selectedElement = null;\n      };\n      var destroy = function () {\n        fakeCaret.destroy();\n        selectedElement = null;\n      };\n      var hideFakeCaret = function () {\n        fakeCaret.hide();\n      };\n      if (Env.ceFalse && !isRtc(editor)) {\n        registerEvents();\n      }\n      return {\n        showCaret: showCaret,\n        showBlockCaretContainer: showBlockCaretContainer,\n        hideFakeCaret: hideFakeCaret,\n        destroy: destroy\n      };\n    };\n\n    var Quirks = function (editor) {\n      var each = Tools.each;\n      var BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE, dom = editor.dom, selection = editor.selection, parser = editor.parser;\n      var isGecko = Env.gecko, isIE = Env.ie, isWebKit = Env.webkit;\n      var mceInternalUrlPrefix = 'data:text/mce-internal,';\n      var mceInternalDataType = isIE ? 'Text' : 'URL';\n      var setEditorCommandState = function (cmd, state) {\n        try {\n          editor.getDoc().execCommand(cmd, false, state);\n        } catch (ex) {\n        }\n      };\n      var isDefaultPrevented = function (e) {\n        return e.isDefaultPrevented();\n      };\n      var setMceInternalContent = function (e) {\n        var selectionHtml, internalContent;\n        if (e.dataTransfer) {\n          if (editor.selection.isCollapsed() && e.target.tagName === 'IMG') {\n            selection.select(e.target);\n          }\n          selectionHtml = editor.selection.getContent();\n          if (selectionHtml.length > 0) {\n            internalContent = mceInternalUrlPrefix + escape(editor.id) + ',' + escape(selectionHtml);\n            e.dataTransfer.setData(mceInternalDataType, internalContent);\n          }\n        }\n      };\n      var getMceInternalContent = function (e) {\n        var internalContent;\n        if (e.dataTransfer) {\n          internalContent = e.dataTransfer.getData(mceInternalDataType);\n          if (internalContent && internalContent.indexOf(mceInternalUrlPrefix) >= 0) {\n            internalContent = internalContent.substr(mceInternalUrlPrefix.length).split(',');\n            return {\n              id: unescape(internalContent[0]),\n              html: unescape(internalContent[1])\n            };\n          }\n        }\n        return null;\n      };\n      var insertClipboardContents = function (content, internal) {\n        if (editor.queryCommandSupported('mceInsertClipboardContent')) {\n          editor.execCommand('mceInsertClipboardContent', false, {\n            content: content,\n            internal: internal\n          });\n        } else {\n          editor.execCommand('mceInsertContent', false, content);\n        }\n      };\n      var emptyEditorWhenDeleting = function () {\n        var serializeRng = function (rng) {\n          var body = dom.create('body');\n          var contents = rng.cloneContents();\n          body.appendChild(contents);\n          return selection.serializer.serialize(body, { format: 'html' });\n        };\n        var allContentsSelected = function (rng) {\n          var selection = serializeRng(rng);\n          var allRng = dom.createRng();\n          allRng.selectNode(editor.getBody());\n          var allSelection = serializeRng(allRng);\n          return selection === allSelection;\n        };\n        editor.on('keydown', function (e) {\n          var keyCode = e.keyCode;\n          var isCollapsed, body;\n          if (!isDefaultPrevented(e) && (keyCode === DELETE || keyCode === BACKSPACE)) {\n            isCollapsed = editor.selection.isCollapsed();\n            body = editor.getBody();\n            if (isCollapsed && !dom.isEmpty(body)) {\n              return;\n            }\n            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {\n              return;\n            }\n            e.preventDefault();\n            editor.setContent('');\n            if (body.firstChild && dom.isBlock(body.firstChild)) {\n              editor.selection.setCursorLocation(body.firstChild, 0);\n            } else {\n              editor.selection.setCursorLocation(body, 0);\n            }\n            editor.nodeChanged();\n          }\n        });\n      };\n      var selectAll = function () {\n        editor.shortcuts.add('meta+a', null, 'SelectAll');\n      };\n      var documentElementEditingFocus = function () {\n        if (!editor.inline) {\n          dom.bind(editor.getDoc(), 'mousedown mouseup', function (e) {\n            var rng;\n            if (e.target === editor.getDoc().documentElement) {\n              rng = selection.getRng();\n              editor.getBody().focus();\n              if (e.type === 'mousedown') {\n                if (isCaretContainer$2(rng.startContainer)) {\n                  return;\n                }\n                selection.placeCaretAt(e.clientX, e.clientY);\n              } else {\n                selection.setRng(rng);\n              }\n            }\n          });\n        }\n      };\n      var removeHrOnBackspace = function () {\n        editor.on('keydown', function (e) {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (!editor.getBody().getElementsByTagName('hr').length) {\n              return;\n            }\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              var node = selection.getNode();\n              var previousSibling = node.previousSibling;\n              if (node.nodeName === 'HR') {\n                dom.remove(node);\n                e.preventDefault();\n                return;\n              }\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'hr') {\n                dom.remove(previousSibling);\n                e.preventDefault();\n              }\n            }\n          }\n        });\n      };\n      var focusBody = function () {\n        if (!Range.prototype.getClientRects) {\n          editor.on('mousedown', function (e) {\n            if (!isDefaultPrevented(e) && e.target.nodeName === 'HTML') {\n              var body_1 = editor.getBody();\n              body_1.blur();\n              Delay.setEditorTimeout(editor, function () {\n                body_1.focus();\n              });\n            }\n          });\n        }\n      };\n      var selectControlElements = function () {\n        editor.on('click', function (e) {\n          var target = e.target;\n          if (/^(IMG|HR)$/.test(target.nodeName) && dom.getContentEditableParent(target) !== 'false') {\n            e.preventDefault();\n            editor.selection.select(target);\n            editor.nodeChanged();\n          }\n          if (target.nodeName === 'A' && dom.hasClass(target, 'mce-item-anchor')) {\n            e.preventDefault();\n            selection.select(target);\n          }\n        });\n      };\n      var removeStylesWhenDeletingAcrossBlockElements = function () {\n        var getAttributeApplyFunction = function () {\n          var template = dom.getAttribs(selection.getStart().cloneNode(false));\n          return function () {\n            var target = selection.getStart();\n            if (target !== editor.getBody()) {\n              dom.setAttrib(target, 'style', null);\n              each(template, function (attr) {\n                target.setAttributeNode(attr.cloneNode(true));\n              });\n            }\n          };\n        };\n        var isSelectionAcrossElements = function () {\n          return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) !== dom.getParent(selection.getEnd(), dom.isBlock);\n        };\n        editor.on('keypress', function (e) {\n          var applyAttributes;\n          if (!isDefaultPrevented(e) && (e.keyCode === 8 || e.keyCode === 46) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            editor.getDoc().execCommand('delete', false, null);\n            applyAttributes();\n            e.preventDefault();\n            return false;\n          }\n        });\n        dom.bind(editor.getDoc(), 'cut', function (e) {\n          var applyAttributes;\n          if (!isDefaultPrevented(e) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            Delay.setEditorTimeout(editor, function () {\n              applyAttributes();\n            });\n          }\n        });\n      };\n      var disableBackspaceIntoATable = function () {\n        editor.on('keydown', function (e) {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              var previousSibling = selection.getNode().previousSibling;\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'table') {\n                e.preventDefault();\n                return false;\n              }\n            }\n          }\n        });\n      };\n      var removeBlockQuoteOnBackSpace = function () {\n        editor.on('keydown', function (e) {\n          var rng, parent;\n          if (isDefaultPrevented(e) || e.keyCode !== VK.BACKSPACE) {\n            return;\n          }\n          rng = selection.getRng();\n          var container = rng.startContainer;\n          var offset = rng.startOffset;\n          var root = dom.getRoot();\n          parent = container;\n          if (!rng.collapsed || offset !== 0) {\n            return;\n          }\n          while (parent && parent.parentNode && parent.parentNode.firstChild === parent && parent.parentNode !== root) {\n            parent = parent.parentNode;\n          }\n          if (parent.tagName === 'BLOCKQUOTE') {\n            editor.formatter.toggle('blockquote', null, parent);\n            rng = dom.createRng();\n            rng.setStart(container, 0);\n            rng.setEnd(container, 0);\n            selection.setRng(rng);\n          }\n        });\n      };\n      var setGeckoEditingOptions = function () {\n        var setOpts = function () {\n          setEditorCommandState('StyleWithCSS', false);\n          setEditorCommandState('enableInlineTableEditing', false);\n          if (!getObjectResizing(editor)) {\n            setEditorCommandState('enableObjectResizing', false);\n          }\n        };\n        if (!isReadOnly$1(editor)) {\n          editor.on('BeforeExecCommand mousedown', setOpts);\n        }\n      };\n      var addBrAfterLastLinks = function () {\n        var fixLinks = function () {\n          each(dom.select('a'), function (node) {\n            var parentNode = node.parentNode;\n            var root = dom.getRoot();\n            if (parentNode.lastChild === node) {\n              while (parentNode && !dom.isBlock(parentNode)) {\n                if (parentNode.parentNode.lastChild !== parentNode || parentNode === root) {\n                  return;\n                }\n                parentNode = parentNode.parentNode;\n              }\n              dom.add(parentNode, 'br', { 'data-mce-bogus': 1 });\n            }\n          });\n        };\n        editor.on('SetContent ExecCommand', function (e) {\n          if (e.type === 'setcontent' || e.command === 'mceInsertLink') {\n            fixLinks();\n          }\n        });\n      };\n      var setDefaultBlockType = function () {\n        if (getForcedRootBlock(editor)) {\n          editor.on('init', function () {\n            setEditorCommandState('DefaultParagraphSeparator', getForcedRootBlock(editor));\n          });\n        }\n      };\n      var normalizeSelection = function () {\n        editor.on('keyup focusin mouseup', function (e) {\n          if (!VK.modifierPressed(e)) {\n            selection.normalize();\n          }\n        }, true);\n      };\n      var showBrokenImageIcon = function () {\n        editor.contentStyles.push('img:-moz-broken {' + '-moz-force-broken-image-icon:1;' + 'min-width:24px;' + 'min-height:24px' + '}');\n      };\n      var restoreFocusOnKeyDown = function () {\n        if (!editor.inline) {\n          editor.on('keydown', function () {\n            if (document.activeElement === document.body) {\n              editor.getWin().focus();\n            }\n          });\n        }\n      };\n      var bodyHeight = function () {\n        if (!editor.inline) {\n          editor.contentStyles.push('body {min-height: 150px}');\n          editor.on('click', function (e) {\n            var rng;\n            if (e.target.nodeName === 'HTML') {\n              if (Env.ie > 11) {\n                editor.getBody().focus();\n                return;\n              }\n              rng = editor.selection.getRng();\n              editor.getBody().focus();\n              editor.selection.setRng(rng);\n              editor.selection.normalize();\n              editor.nodeChanged();\n            }\n          });\n        }\n      };\n      var blockCmdArrowNavigation = function () {\n        if (Env.mac) {\n          editor.on('keydown', function (e) {\n            if (VK.metaKeyPressed(e) && !e.shiftKey && (e.keyCode === 37 || e.keyCode === 39)) {\n              e.preventDefault();\n              var selection_1 = editor.selection.getSel();\n              selection_1.modify('move', e.keyCode === 37 ? 'backward' : 'forward', 'lineboundary');\n            }\n          });\n        }\n      };\n      var disableAutoUrlDetect = function () {\n        setEditorCommandState('AutoUrlDetect', false);\n      };\n      var tapLinksAndImages = function () {\n        editor.on('click', function (e) {\n          var elm = e.target;\n          do {\n            if (elm.tagName === 'A') {\n              e.preventDefault();\n              return;\n            }\n          } while (elm = elm.parentNode);\n        });\n        editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}');\n      };\n      var blockFormSubmitInsideEditor = function () {\n        editor.on('init', function () {\n          editor.dom.bind(editor.getBody(), 'submit', function (e) {\n            e.preventDefault();\n          });\n        });\n      };\n      var removeAppleInterchangeBrs = function () {\n        parser.addNodeFilter('br', function (nodes) {\n          var i = nodes.length;\n          while (i--) {\n            if (nodes[i].attr('class') === 'Apple-interchange-newline') {\n              nodes[i].remove();\n            }\n          }\n        });\n      };\n      var ieInternalDragAndDrop = function () {\n        editor.on('dragstart', function (e) {\n          setMceInternalContent(e);\n        });\n        editor.on('drop', function (e) {\n          if (!isDefaultPrevented(e)) {\n            var internalContent = getMceInternalContent(e);\n            if (internalContent && internalContent.id !== editor.id) {\n              e.preventDefault();\n              var rng = fromPoint(e.x, e.y, editor.getDoc());\n              selection.setRng(rng);\n              insertClipboardContents(internalContent.html, true);\n            }\n          }\n        });\n      };\n      var refreshContentEditable = noop;\n      var isHidden = function () {\n        if (!isGecko || editor.removed) {\n          return false;\n        }\n        var sel = editor.selection.getSel();\n        return !sel || !sel.rangeCount || sel.rangeCount === 0;\n      };\n      var setupRtc = function () {\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          blockFormSubmitInsideEditor();\n          selectAll();\n          if (Env.iOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          }\n        }\n        if (isGecko) {\n          focusBody();\n          setGeckoEditingOptions();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n        }\n      };\n      var setup = function () {\n        removeBlockQuoteOnBackSpace();\n        emptyEditorWhenDeleting();\n        if (!Env.windowsPhone) {\n          normalizeSelection();\n        }\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          setDefaultBlockType();\n          blockFormSubmitInsideEditor();\n          disableBackspaceIntoATable();\n          removeAppleInterchangeBrs();\n          if (Env.iOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          } else {\n            selectAll();\n          }\n        }\n        if (Env.ie >= 11) {\n          bodyHeight();\n          disableBackspaceIntoATable();\n        }\n        if (Env.ie) {\n          selectAll();\n          disableAutoUrlDetect();\n          ieInternalDragAndDrop();\n        }\n        if (isGecko) {\n          removeHrOnBackspace();\n          focusBody();\n          removeStylesWhenDeletingAcrossBlockElements();\n          setGeckoEditingOptions();\n          addBrAfterLastLinks();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n          disableBackspaceIntoATable();\n        }\n      };\n      if (isRtc(editor)) {\n        setupRtc();\n      } else {\n        setup();\n      }\n      return {\n        refreshContentEditable: refreshContentEditable,\n        isHidden: isHidden\n      };\n    };\n\n    var DOM$6 = DOMUtils.DOM;\n    var appendStyle = function (editor, text) {\n      var body = SugarElement.fromDom(editor.getBody());\n      var container = getStyleContainer(getRootNode(body));\n      var style = SugarElement.fromTag('style');\n      set$1(style, 'type', 'text/css');\n      append$1(style, SugarElement.fromText(text));\n      append$1(container, style);\n      editor.on('remove', function () {\n        remove$7(style);\n      });\n    };\n    var getRootName = function (editor) {\n      return editor.inline ? editor.getElement().nodeName.toLowerCase() : undefined;\n    };\n    var removeUndefined = function (obj) {\n      return filter$3(obj, function (v) {\n        return isUndefined(v) === false;\n      });\n    };\n    var mkParserSettings = function (editor) {\n      var settings = editor.settings;\n      var blobCache = editor.editorUpload.blobCache;\n      return removeUndefined({\n        allow_conditional_comments: settings.allow_conditional_comments,\n        allow_html_data_urls: settings.allow_html_data_urls,\n        allow_svg_data_urls: settings.allow_svg_data_urls,\n        allow_html_in_named_anchor: settings.allow_html_in_named_anchor,\n        allow_script_urls: settings.allow_script_urls,\n        allow_unsafe_link_target: settings.allow_unsafe_link_target,\n        convert_fonts_to_spans: settings.convert_fonts_to_spans,\n        fix_list_elements: settings.fix_list_elements,\n        font_size_legacy_values: settings.font_size_legacy_values,\n        forced_root_block: settings.forced_root_block,\n        forced_root_block_attrs: settings.forced_root_block_attrs,\n        padd_empty_with_br: settings.padd_empty_with_br,\n        preserve_cdata: settings.preserve_cdata,\n        remove_trailing_brs: settings.remove_trailing_brs,\n        inline_styles: settings.inline_styles,\n        root_name: getRootName(editor),\n        validate: true,\n        blob_cache: blobCache,\n        document: editor.getDoc(),\n        images_dataimg_filter: settings.images_dataimg_filter\n      });\n    };\n    var mkSerializerSettings = function (editor) {\n      var settings = editor.settings;\n      return __assign(__assign({}, mkParserSettings(editor)), removeUndefined({\n        url_converter: settings.url_converter,\n        url_converter_scope: settings.url_converter_scope,\n        element_format: settings.element_format,\n        entities: settings.entities,\n        entity_encoding: settings.entity_encoding,\n        indent: settings.indent,\n        indent_after: settings.indent_after,\n        indent_before: settings.indent_before,\n        block_elements: settings.block_elements,\n        boolean_attributes: settings.boolean_attributes,\n        custom_elements: settings.custom_elements,\n        extended_valid_elements: settings.extended_valid_elements,\n        invalid_elements: settings.invalid_elements,\n        invalid_styles: settings.invalid_styles,\n        move_caret_before_on_enter_elements: settings.move_caret_before_on_enter_elements,\n        non_empty_elements: settings.non_empty_elements,\n        schema: settings.schema,\n        self_closing_elements: settings.self_closing_elements,\n        short_ended_elements: settings.short_ended_elements,\n        special: settings.special,\n        text_block_elements: settings.text_block_elements,\n        text_inline_elements: settings.text_inline_elements,\n        valid_children: settings.valid_children,\n        valid_classes: settings.valid_classes,\n        valid_elements: settings.valid_elements,\n        valid_styles: settings.valid_styles,\n        verify_html: settings.verify_html,\n        whitespace_elements: settings.whitespace_elements\n      }));\n    };\n    var createParser = function (editor) {\n      var parser = DomParser(mkParserSettings(editor), editor.schema);\n      parser.addAttributeFilter('src,href,style,tabindex', function (nodes, name) {\n        var i = nodes.length, node, value;\n        var dom = editor.dom;\n        var internalName = 'data-mce-' + name;\n        while (i--) {\n          node = nodes[i];\n          value = node.attr(name);\n          if (value && !node.attr(internalName)) {\n            if (value.indexOf('data:') === 0 || value.indexOf('blob:') === 0) {\n              continue;\n            }\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n              if (!value.length) {\n                value = null;\n              }\n              node.attr(internalName, value);\n              node.attr(name, value);\n            } else if (name === 'tabindex') {\n              node.attr(internalName, value);\n              node.attr(name, null);\n            } else {\n              node.attr(internalName, editor.convertURL(value, name, node.name));\n            }\n          }\n        }\n      });\n      parser.addNodeFilter('script', function (nodes) {\n        var i = nodes.length;\n        while (i--) {\n          var node = nodes[i];\n          var type = node.attr('type') || 'no/type';\n          if (type.indexOf('mce-') !== 0) {\n            node.attr('type', 'mce-' + type);\n          }\n        }\n      });\n      if (editor.settings.preserve_cdata) {\n        parser.addNodeFilter('#cdata', function (nodes) {\n          var i = nodes.length;\n          while (i--) {\n            var node = nodes[i];\n            node.type = 8;\n            node.name = '#comment';\n            node.value = '[CDATA[' + editor.dom.encode(node.value) + ']]';\n          }\n        });\n      }\n      parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', function (nodes) {\n        var i = nodes.length;\n        var nonEmptyElements = editor.schema.getNonEmptyElements();\n        while (i--) {\n          var node = nodes[i];\n          if (node.isEmpty(nonEmptyElements) && node.getAll('br').length === 0) {\n            node.append(new AstNode('br', 1)).shortEnded = true;\n          }\n        }\n      });\n      return parser;\n    };\n    var autoFocus = function (editor) {\n      if (editor.settings.auto_focus) {\n        Delay.setEditorTimeout(editor, function () {\n          var focusEditor;\n          if (editor.settings.auto_focus === true) {\n            focusEditor = editor;\n          } else {\n            focusEditor = editor.editorManager.get(editor.settings.auto_focus);\n          }\n          if (!focusEditor.destroyed) {\n            focusEditor.focus();\n          }\n        }, 100);\n      }\n    };\n    var moveSelectionToFirstCaretPosition = function (editor) {\n      var root = editor.dom.getRoot();\n      if (!editor.inline && (!hasAnyRanges(editor) || editor.selection.getStart(true) === root)) {\n        firstPositionIn(root).each(function (pos) {\n          var node = pos.getNode();\n          var caretPos = isTable$3(node) ? firstPositionIn(node).getOr(pos) : pos;\n          if (Env.browser.isIE()) {\n            storeNative(editor, caretPos.toRange());\n          } else {\n            editor.selection.setRng(caretPos.toRange());\n          }\n        });\n      }\n    };\n    var initEditor = function (editor) {\n      editor.bindPendingEventDelegates();\n      editor.initialized = true;\n      fireInit(editor);\n      editor.focus(true);\n      moveSelectionToFirstCaretPosition(editor);\n      editor.nodeChanged({ initial: true });\n      editor.execCallback('init_instance_callback', editor);\n      autoFocus(editor);\n    };\n    var getStyleSheetLoader$1 = function (editor) {\n      return editor.inline ? editor.ui.styleSheetLoader : editor.dom.styleSheetLoader;\n    };\n    var makeStylesheetLoadingPromises = function (editor, css, framedFonts) {\n      var promises = [new promiseObj(function (resolve, reject) {\n          return getStyleSheetLoader$1(editor).loadAll(css, resolve, reject);\n        })];\n      if (editor.inline) {\n        return promises;\n      } else {\n        return promises.concat([new promiseObj(function (resolve, reject) {\n            return editor.ui.styleSheetLoader.loadAll(framedFonts, resolve, reject);\n          })]);\n      }\n    };\n    var loadContentCss = function (editor) {\n      var styleSheetLoader = getStyleSheetLoader$1(editor);\n      var fontCss = getFontCss(editor);\n      var css = editor.contentCSS;\n      var removeCss = function () {\n        styleSheetLoader.unloadAll(css);\n        if (!editor.inline) {\n          editor.ui.styleSheetLoader.unloadAll(fontCss);\n        }\n      };\n      var loaded = function () {\n        if (editor.removed) {\n          removeCss();\n        } else {\n          editor.on('remove', removeCss);\n        }\n      };\n      if (editor.contentStyles.length > 0) {\n        var contentCssText_1 = '';\n        Tools.each(editor.contentStyles, function (style) {\n          contentCssText_1 += style + '\\r\\n';\n        });\n        editor.dom.addStyle(contentCssText_1);\n      }\n      var allStylesheets = promiseObj.all(makeStylesheetLoadingPromises(editor, css, fontCss)).then(loaded).catch(loaded);\n      if (editor.settings.content_style) {\n        appendStyle(editor, editor.settings.content_style);\n      }\n      return allStylesheets;\n    };\n    var preInit = function (editor) {\n      var settings = editor.settings, doc = editor.getDoc(), body = editor.getBody();\n      firePreInit(editor);\n      if (!settings.browser_spellcheck && !settings.gecko_spellcheck) {\n        doc.body.spellcheck = false;\n        DOM$6.setAttrib(body, 'spellcheck', 'false');\n      }\n      editor.quirks = Quirks(editor);\n      firePostRender(editor);\n      var directionality = getDirectionality(editor);\n      if (directionality !== undefined) {\n        body.dir = directionality;\n      }\n      if (settings.protect) {\n        editor.on('BeforeSetContent', function (e) {\n          Tools.each(settings.protect, function (pattern) {\n            e.content = e.content.replace(pattern, function (str) {\n              return '<!--mce:protected ' + escape(str) + '-->';\n            });\n          });\n        });\n      }\n      editor.on('SetContent', function () {\n        editor.addVisual(editor.getBody());\n      });\n      editor.on('compositionstart compositionend', function (e) {\n        editor.composing = e.type === 'compositionstart';\n      });\n    };\n    var loadInitialContent = function (editor) {\n      if (!isRtc(editor)) {\n        editor.load({\n          initial: true,\n          format: 'html'\n        });\n      }\n      editor.startContent = editor.getContent({ format: 'raw' });\n    };\n    var initEditorWithInitialContent = function (editor) {\n      if (editor.removed !== true) {\n        loadInitialContent(editor);\n        initEditor(editor);\n      }\n    };\n    var initContentBody = function (editor, skipWrite) {\n      var settings = editor.settings;\n      var targetElm = editor.getElement();\n      var doc = editor.getDoc();\n      if (!settings.inline) {\n        editor.getElement().style.visibility = editor.orgVisibility;\n      }\n      if (!skipWrite && !editor.inline) {\n        doc.open();\n        doc.write(editor.iframeHTML);\n        doc.close();\n      }\n      if (editor.inline) {\n        DOM$6.addClass(targetElm, 'mce-content-body');\n        editor.contentDocument = doc = document;\n        editor.contentWindow = window;\n        editor.bodyElement = targetElm;\n        editor.contentAreaContainer = targetElm;\n      }\n      var body = editor.getBody();\n      body.disabled = true;\n      editor.readonly = !!settings.readonly;\n      if (!editor.readonly) {\n        if (editor.inline && DOM$6.getStyle(body, 'position', true) === 'static') {\n          body.style.position = 'relative';\n        }\n        body.contentEditable = editor.getParam('content_editable_state', true);\n      }\n      body.disabled = false;\n      editor.editorUpload = EditorUpload(editor);\n      editor.schema = Schema(settings);\n      editor.dom = DOMUtils(doc, {\n        keep_values: true,\n        url_converter: editor.convertURL,\n        url_converter_scope: editor,\n        hex_colors: settings.force_hex_style_colors,\n        update_styles: true,\n        root_element: editor.inline ? editor.getBody() : null,\n        collect: function () {\n          return editor.inline;\n        },\n        schema: editor.schema,\n        contentCssCors: shouldUseContentCssCors(editor),\n        referrerPolicy: getReferrerPolicy(editor),\n        onSetAttrib: function (e) {\n          editor.fire('SetAttrib', e);\n        }\n      });\n      editor.parser = createParser(editor);\n      editor.serializer = DomSerializer(mkSerializerSettings(editor), editor);\n      editor.selection = EditorSelection(editor.dom, editor.getWin(), editor.serializer, editor);\n      editor.annotator = Annotator(editor);\n      editor.formatter = Formatter(editor);\n      editor.undoManager = UndoManager(editor);\n      editor._nodeChangeDispatcher = new NodeChange(editor);\n      editor._selectionOverrides = SelectionOverrides(editor);\n      setup$e(editor);\n      setup$3(editor);\n      if (!isRtc(editor)) {\n        setup$2(editor);\n      }\n      var caret = setup$4(editor);\n      setup$f(editor, caret);\n      setup$d(editor);\n      setup$g(editor);\n      var setupRtcThunk = setup$i(editor);\n      preInit(editor);\n      setupRtcThunk.fold(function () {\n        loadContentCss(editor).then(function () {\n          return initEditorWithInitialContent(editor);\n        });\n      }, function (setupRtc) {\n        editor.setProgressState(true);\n        loadContentCss(editor).then(function () {\n          setupRtc().then(function (_rtcMode) {\n            editor.setProgressState(false);\n            initEditorWithInitialContent(editor);\n          }, function (err) {\n            editor.notificationManager.open({\n              type: 'error',\n              text: String(err)\n            });\n            initEditorWithInitialContent(editor);\n          });\n        });\n      });\n    };\n\n    var DOM$5 = DOMUtils.DOM;\n    var relaxDomain = function (editor, ifr) {\n      if (document.domain !== window.location.hostname && Env.browser.isIE()) {\n        var bodyUuid = uuid('mce');\n        editor[bodyUuid] = function () {\n          initContentBody(editor);\n        };\n        var domainRelaxUrl = 'javascript:(function(){' + 'document.open();document.domain=\"' + document.domain + '\";' + 'var ed = window.parent.tinymce.get(\"' + editor.id + '\");document.write(ed.iframeHTML);' + 'document.close();ed.' + bodyUuid + '(true);})()';\n        DOM$5.setAttrib(ifr, 'src', domainRelaxUrl);\n        return true;\n      }\n      return false;\n    };\n    var createIframeElement = function (id, title, height, customAttrs) {\n      var iframe = SugarElement.fromTag('iframe');\n      setAll$1(iframe, customAttrs);\n      setAll$1(iframe, {\n        id: id + '_ifr',\n        frameBorder: '0',\n        allowTransparency: 'true',\n        title: title\n      });\n      add$1(iframe, 'tox-edit-area__iframe');\n      return iframe;\n    };\n    var getIframeHtml = function (editor) {\n      var iframeHTML = getDocType(editor) + '<html><head>';\n      if (getDocumentBaseUrl(editor) !== editor.documentBaseUrl) {\n        iframeHTML += '<base href=\"' + editor.documentBaseURI.getURI() + '\" />';\n      }\n      iframeHTML += '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />';\n      var bodyId = getBodyId(editor);\n      var bodyClass = getBodyClass(editor);\n      var translatedAriaText = editor.translate(getIframeAriaText(editor));\n      if (getContentSecurityPolicy(editor)) {\n        iframeHTML += '<meta http-equiv=\"Content-Security-Policy\" content=\"' + getContentSecurityPolicy(editor) + '\" />';\n      }\n      iframeHTML += '</head>' + ('<body id=\"' + bodyId + '\" class=\"mce-content-body ' + bodyClass + '\" data-id=\"' + editor.id + '\" aria-label=\"' + translatedAriaText + '\">') + '<br>' + '</body></html>';\n      return iframeHTML;\n    };\n    var createIframe = function (editor, o) {\n      var iframeTitle = editor.translate('Rich Text Area');\n      var ifr = createIframeElement(editor.id, iframeTitle, o.height, getIframeAttrs(editor)).dom;\n      ifr.onload = function () {\n        ifr.onload = null;\n        editor.fire('load');\n      };\n      var isDomainRelaxed = relaxDomain(editor, ifr);\n      editor.contentAreaContainer = o.iframeContainer;\n      editor.iframeElement = ifr;\n      editor.iframeHTML = getIframeHtml(editor);\n      DOM$5.add(o.iframeContainer, ifr);\n      return isDomainRelaxed;\n    };\n    var init$1 = function (editor, boxInfo) {\n      var isDomainRelaxed = createIframe(editor, boxInfo);\n      if (boxInfo.editorContainer) {\n        DOM$5.get(boxInfo.editorContainer).style.display = editor.orgDisplay;\n        editor.hidden = DOM$5.isHidden(boxInfo.editorContainer);\n      }\n      editor.getElement().style.display = 'none';\n      DOM$5.setAttrib(editor.id, 'aria-hidden', 'true');\n      if (!isDomainRelaxed) {\n        initContentBody(editor);\n      }\n    };\n\n    var DOM$4 = DOMUtils.DOM;\n    var initPlugin = function (editor, initializedPlugins, plugin) {\n      var Plugin = PluginManager.get(plugin);\n      var pluginUrl = PluginManager.urls[plugin] || editor.documentBaseUrl.replace(/\\/$/, '');\n      plugin = Tools.trim(plugin);\n      if (Plugin && Tools.inArray(initializedPlugins, plugin) === -1) {\n        Tools.each(PluginManager.dependencies(plugin), function (dep) {\n          initPlugin(editor, initializedPlugins, dep);\n        });\n        if (editor.plugins[plugin]) {\n          return;\n        }\n        try {\n          var pluginInstance = new Plugin(editor, pluginUrl, editor.$);\n          editor.plugins[plugin] = pluginInstance;\n          if (pluginInstance.init) {\n            pluginInstance.init(editor, pluginUrl);\n            initializedPlugins.push(plugin);\n          }\n        } catch (e) {\n          pluginInitError(editor, plugin, e);\n        }\n      }\n    };\n    var trimLegacyPrefix = function (name) {\n      return name.replace(/^\\-/, '');\n    };\n    var initPlugins = function (editor) {\n      var initializedPlugins = [];\n      Tools.each(getPlugins(editor).split(/[ ,]/), function (name) {\n        initPlugin(editor, initializedPlugins, trimLegacyPrefix(name));\n      });\n    };\n    var initIcons = function (editor) {\n      var iconPackName = Tools.trim(getIconPackName(editor));\n      var currentIcons = editor.ui.registry.getAll().icons;\n      var loadIcons = __assign(__assign({}, IconManager.get('default').icons), IconManager.get(iconPackName).icons);\n      each$j(loadIcons, function (svgData, icon) {\n        if (!has$2(currentIcons, icon)) {\n          editor.ui.registry.addIcon(icon, svgData);\n        }\n      });\n    };\n    var initTheme = function (editor) {\n      var theme = getTheme(editor);\n      if (isString$1(theme)) {\n        editor.settings.theme = trimLegacyPrefix(theme);\n        var Theme = ThemeManager.get(theme);\n        editor.theme = new Theme(editor, ThemeManager.urls[theme]);\n        if (editor.theme.init) {\n          editor.theme.init(editor, ThemeManager.urls[theme] || editor.documentBaseUrl.replace(/\\/$/, ''), editor.$);\n        }\n      } else {\n        editor.theme = {};\n      }\n    };\n    var renderFromLoadedTheme = function (editor) {\n      return editor.theme.renderUI();\n    };\n    var renderFromThemeFunc = function (editor) {\n      var elm = editor.getElement();\n      var theme = getTheme(editor);\n      var info = theme(editor, elm);\n      if (info.editorContainer.nodeType) {\n        info.editorContainer.id = info.editorContainer.id || editor.id + '_parent';\n      }\n      if (info.iframeContainer && info.iframeContainer.nodeType) {\n        info.iframeContainer.id = info.iframeContainer.id || editor.id + '_iframecontainer';\n      }\n      info.height = info.iframeHeight ? info.iframeHeight : elm.offsetHeight;\n      return info;\n    };\n    var createThemeFalseResult = function (element) {\n      return {\n        editorContainer: element,\n        iframeContainer: element,\n        api: {}\n      };\n    };\n    var renderThemeFalseIframe = function (targetElement) {\n      var iframeContainer = DOM$4.create('div');\n      DOM$4.insertAfter(iframeContainer, targetElement);\n      return createThemeFalseResult(iframeContainer);\n    };\n    var renderThemeFalse = function (editor) {\n      var targetElement = editor.getElement();\n      return editor.inline ? createThemeFalseResult(null) : renderThemeFalseIframe(targetElement);\n    };\n    var renderThemeUi = function (editor) {\n      var elm = editor.getElement();\n      editor.orgDisplay = elm.style.display;\n      if (isString$1(getTheme(editor))) {\n        return renderFromLoadedTheme(editor);\n      } else if (isFunction(getTheme(editor))) {\n        return renderFromThemeFunc(editor);\n      } else {\n        return renderThemeFalse(editor);\n      }\n    };\n    var augmentEditorUiApi = function (editor, api) {\n      var uiApiFacade = {\n        show: Optional.from(api.show).getOr(noop),\n        hide: Optional.from(api.hide).getOr(noop),\n        disable: Optional.from(api.disable).getOr(noop),\n        isDisabled: Optional.from(api.isDisabled).getOr(never),\n        enable: function () {\n          if (!editor.mode.isReadOnly()) {\n            Optional.from(api.enable).map(call);\n          }\n        }\n      };\n      editor.ui = __assign(__assign({}, editor.ui), uiApiFacade);\n    };\n    var init = function (editor) {\n      editor.fire('ScriptsLoaded');\n      initIcons(editor);\n      initTheme(editor);\n      initPlugins(editor);\n      var renderInfo = renderThemeUi(editor);\n      augmentEditorUiApi(editor, Optional.from(renderInfo.api).getOr({}));\n      var boxInfo = {\n        editorContainer: renderInfo.editorContainer,\n        iframeContainer: renderInfo.iframeContainer\n      };\n      editor.editorContainer = boxInfo.editorContainer ? boxInfo.editorContainer : null;\n      appendContentCssFromSettings(editor);\n      if (editor.inline) {\n        return initContentBody(editor);\n      } else {\n        return init$1(editor, boxInfo);\n      }\n    };\n\n    var DOM$3 = DOMUtils.DOM;\n    var hasSkipLoadPrefix = function (name) {\n      return name.charAt(0) === '-';\n    };\n    var loadLanguage = function (scriptLoader, editor) {\n      var languageCode = getLanguageCode(editor);\n      var languageUrl = getLanguageUrl(editor);\n      if (I18n.hasCode(languageCode) === false && languageCode !== 'en') {\n        var url_1 = languageUrl !== '' ? languageUrl : editor.editorManager.baseURL + '/langs/' + languageCode + '.js';\n        scriptLoader.add(url_1, noop, undefined, function () {\n          languageLoadError(editor, url_1, languageCode);\n        });\n      }\n    };\n    var loadTheme = function (scriptLoader, editor, suffix, callback) {\n      var theme = getTheme(editor);\n      if (isString$1(theme)) {\n        if (!hasSkipLoadPrefix(theme) && !has$2(ThemeManager.urls, theme)) {\n          var themeUrl = getThemeUrl(editor);\n          if (themeUrl) {\n            ThemeManager.load(theme, editor.documentBaseURI.toAbsolute(themeUrl));\n          } else {\n            ThemeManager.load(theme, 'themes/' + theme + '/theme' + suffix + '.js');\n          }\n        }\n        scriptLoader.loadQueue(function () {\n          ThemeManager.waitFor(theme, callback);\n        });\n      } else {\n        callback();\n      }\n    };\n    var getIconsUrlMetaFromUrl = function (editor) {\n      return Optional.from(getIconsUrl(editor)).filter(function (url) {\n        return url.length > 0;\n      }).map(function (url) {\n        return {\n          url: url,\n          name: Optional.none()\n        };\n      });\n    };\n    var getIconsUrlMetaFromName = function (editor, name, suffix) {\n      return Optional.from(name).filter(function (name) {\n        return name.length > 0 && !IconManager.has(name);\n      }).map(function (name) {\n        return {\n          url: editor.editorManager.baseURL + '/icons/' + name + '/icons' + suffix + '.js',\n          name: Optional.some(name)\n        };\n      });\n    };\n    var loadIcons = function (scriptLoader, editor, suffix) {\n      var defaultIconsUrl = getIconsUrlMetaFromName(editor, 'default', suffix);\n      var customIconsUrl = getIconsUrlMetaFromUrl(editor).orThunk(function () {\n        return getIconsUrlMetaFromName(editor, getIconPackName(editor), '');\n      });\n      each$k(cat([\n        defaultIconsUrl,\n        customIconsUrl\n      ]), function (urlMeta) {\n        scriptLoader.add(urlMeta.url, noop, undefined, function () {\n          iconsLoadError(editor, urlMeta.url, urlMeta.name.getOrUndefined());\n        });\n      });\n    };\n    var loadPlugins = function (editor, suffix) {\n      Tools.each(getExternalPlugins$1(editor), function (url, name) {\n        PluginManager.load(name, url, noop, undefined, function () {\n          pluginLoadError(editor, url, name);\n        });\n        editor.settings.plugins += ' ' + name;\n      });\n      Tools.each(getPlugins(editor).split(/[ ,]/), function (plugin) {\n        plugin = Tools.trim(plugin);\n        if (plugin && !PluginManager.urls[plugin]) {\n          if (hasSkipLoadPrefix(plugin)) {\n            plugin = plugin.substr(1, plugin.length);\n            var dependencies = PluginManager.dependencies(plugin);\n            Tools.each(dependencies, function (depPlugin) {\n              var defaultSettings = {\n                prefix: 'plugins/',\n                resource: depPlugin,\n                suffix: '/plugin' + suffix + '.js'\n              };\n              var dep = PluginManager.createUrl(defaultSettings, depPlugin);\n              PluginManager.load(dep.resource, dep, noop, undefined, function () {\n                pluginLoadError(editor, dep.prefix + dep.resource + dep.suffix, dep.resource);\n              });\n            });\n          } else {\n            var url_2 = {\n              prefix: 'plugins/',\n              resource: plugin,\n              suffix: '/plugin' + suffix + '.js'\n            };\n            PluginManager.load(plugin, url_2, noop, undefined, function () {\n              pluginLoadError(editor, url_2.prefix + url_2.resource + url_2.suffix, plugin);\n            });\n          }\n        }\n      });\n    };\n    var loadScripts = function (editor, suffix) {\n      var scriptLoader = ScriptLoader.ScriptLoader;\n      loadTheme(scriptLoader, editor, suffix, function () {\n        loadLanguage(scriptLoader, editor);\n        loadIcons(scriptLoader, editor, suffix);\n        loadPlugins(editor, suffix);\n        scriptLoader.loadQueue(function () {\n          if (!editor.removed) {\n            init(editor);\n          }\n        }, editor, function () {\n          if (!editor.removed) {\n            init(editor);\n          }\n        });\n      });\n    };\n    var getStyleSheetLoader = function (element, editor) {\n      return instance.forElement(element, {\n        contentCssCors: hasContentCssCors(editor),\n        referrerPolicy: getReferrerPolicy(editor)\n      });\n    };\n    var render = function (editor) {\n      var id = editor.id;\n      I18n.setCode(getLanguageCode(editor));\n      var readyHandler = function () {\n        DOM$3.unbind(window, 'ready', readyHandler);\n        editor.render();\n      };\n      if (!EventUtils.Event.domLoaded) {\n        DOM$3.bind(window, 'ready', readyHandler);\n        return;\n      }\n      if (!editor.getElement()) {\n        return;\n      }\n      if (!Env.contentEditable) {\n        return;\n      }\n      var element = SugarElement.fromDom(editor.getElement());\n      var snapshot = clone$3(element);\n      editor.on('remove', function () {\n        eachr(element.dom.attributes, function (attr) {\n          return remove$6(element, attr.name);\n        });\n        setAll$1(element, snapshot);\n      });\n      editor.ui.styleSheetLoader = getStyleSheetLoader(element, editor);\n      if (!isInline(editor)) {\n        editor.orgVisibility = editor.getElement().style.visibility;\n        editor.getElement().style.visibility = 'hidden';\n      } else {\n        editor.inline = true;\n      }\n      var form = editor.getElement().form || DOM$3.getParent(id, 'form');\n      if (form) {\n        editor.formElement = form;\n        if (hasHiddenInput(editor) && !isTextareaOrInput(editor.getElement())) {\n          DOM$3.insertAfter(DOM$3.create('input', {\n            type: 'hidden',\n            name: id\n          }), id);\n          editor.hasHiddenInput = true;\n        }\n        editor.formEventDelegate = function (e) {\n          editor.fire(e.type, e);\n        };\n        DOM$3.bind(form, 'submit reset', editor.formEventDelegate);\n        editor.on('reset', function () {\n          editor.resetContent();\n        });\n        if (shouldPatchSubmit(editor) && !form.submit.nodeType && !form.submit.length && !form._mceOldSubmit) {\n          form._mceOldSubmit = form.submit;\n          form.submit = function () {\n            editor.editorManager.triggerSave();\n            editor.setDirty(false);\n            return form._mceOldSubmit(form);\n          };\n        }\n      }\n      editor.windowManager = WindowManager(editor);\n      editor.notificationManager = NotificationManager(editor);\n      if (isEncodingXml(editor)) {\n        editor.on('GetContent', function (e) {\n          if (e.save) {\n            e.content = DOM$3.encode(e.content);\n          }\n        });\n      }\n      if (shouldAddFormSubmitTrigger(editor)) {\n        editor.on('submit', function () {\n          if (editor.initialized) {\n            editor.save();\n          }\n        });\n      }\n      if (shouldAddUnloadTrigger(editor)) {\n        editor._beforeUnload = function () {\n          if (editor.initialized && !editor.destroyed && !editor.isHidden()) {\n            editor.save({\n              format: 'raw',\n              no_events: true,\n              set_dirty: false\n            });\n          }\n        };\n        editor.editorManager.on('BeforeUnload', editor._beforeUnload);\n      }\n      editor.editorManager.add(editor);\n      loadScripts(editor, editor.suffix);\n    };\n\n    var addVisual = function (editor, elm) {\n      return addVisual$1(editor, elm);\n    };\n\n    var legacyPropNames = {\n      'font-size': 'size',\n      'font-family': 'face'\n    };\n    var getSpecifiedFontProp = function (propName, rootElm, elm) {\n      var getProperty = function (elm) {\n        return getRaw(elm, propName).orThunk(function () {\n          if (name(elm) === 'font') {\n            return get$9(legacyPropNames, propName).bind(function (legacyPropName) {\n              return getOpt(elm, legacyPropName);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      };\n      var isRoot = function (elm) {\n        return eq(SugarElement.fromDom(rootElm), elm);\n      };\n      return closest$1(SugarElement.fromDom(elm), function (elm) {\n        return getProperty(elm);\n      }, isRoot);\n    };\n    var normalizeFontFamily = function (fontFamily) {\n      return fontFamily.replace(/[\\'\\\"\\\\]/g, '').replace(/,\\s+/g, ',');\n    };\n    var getComputedFontProp = function (propName, elm) {\n      return Optional.from(DOMUtils.DOM.getStyle(elm, propName, true));\n    };\n    var getFontProp = function (propName) {\n      return function (rootElm, elm) {\n        return Optional.from(elm).map(SugarElement.fromDom).filter(isElement$6).bind(function (element) {\n          return getSpecifiedFontProp(propName, rootElm, element.dom).or(getComputedFontProp(propName, element.dom));\n        }).getOr('');\n      };\n    };\n    var getFontSize = getFontProp('font-size');\n    var getFontFamily = compose(normalizeFontFamily, getFontProp('font-family'));\n\n    var findFirstCaretElement = function (editor) {\n      return firstPositionIn(editor.getBody()).map(function (caret) {\n        var container = caret.container();\n        return isText$7(container) ? container.parentNode : container;\n      });\n    };\n    var getCaretElement = function (editor) {\n      return Optional.from(editor.selection.getRng()).bind(function (rng) {\n        var root = editor.getBody();\n        var atStartOfNode = rng.startContainer === root && rng.startOffset === 0;\n        return atStartOfNode ? Optional.none() : Optional.from(editor.selection.getStart(true));\n      });\n    };\n    var bindRange = function (editor, binder) {\n      return getCaretElement(editor).orThunk(curry(findFirstCaretElement, editor)).map(SugarElement.fromDom).filter(isElement$6).bind(binder);\n    };\n    var mapRange = function (editor, mapper) {\n      return bindRange(editor, compose1(Optional.some, mapper));\n    };\n\n    var fromFontSizeNumber = function (editor, value) {\n      if (/^[0-9.]+$/.test(value)) {\n        var fontSizeNumber = parseInt(value, 10);\n        if (fontSizeNumber >= 1 && fontSizeNumber <= 7) {\n          var fontSizes = getFontStyleValues(editor);\n          var fontClasses = getFontSizeClasses(editor);\n          if (fontClasses) {\n            return fontClasses[fontSizeNumber - 1] || value;\n          } else {\n            return fontSizes[fontSizeNumber - 1] || value;\n          }\n        } else {\n          return value;\n        }\n      } else {\n        return value;\n      }\n    };\n    var normalizeFontNames = function (font) {\n      var fonts = font.split(/\\s*,\\s*/);\n      return map$3(fonts, function (font) {\n        if (font.indexOf(' ') !== -1 && !(startsWith(font, '\"') || startsWith(font, '\\''))) {\n          return '\\'' + font + '\\'';\n        } else {\n          return font;\n        }\n      }).join(',');\n    };\n    var fontNameAction = function (editor, value) {\n      var font = fromFontSizeNumber(editor, value);\n      editor.formatter.toggle('fontname', { value: normalizeFontNames(font) });\n      editor.nodeChanged();\n    };\n    var fontNameQuery = function (editor) {\n      return mapRange(editor, function (elm) {\n        return getFontFamily(editor.getBody(), elm.dom);\n      }).getOr('');\n    };\n    var fontSizeAction = function (editor, value) {\n      editor.formatter.toggle('fontsize', { value: fromFontSizeNumber(editor, value) });\n      editor.nodeChanged();\n    };\n    var fontSizeQuery = function (editor) {\n      return mapRange(editor, function (elm) {\n        return getFontSize(editor.getBody(), elm.dom);\n      }).getOr('');\n    };\n\n    var lineHeightQuery = function (editor) {\n      return mapRange(editor, function (elm) {\n        var root = SugarElement.fromDom(editor.getBody());\n        var specifiedStyle = closest$1(elm, function (elm) {\n          return getRaw(elm, 'line-height');\n        }, curry(eq, root));\n        var computedStyle = function () {\n          var lineHeight = parseFloat(get$5(elm, 'line-height'));\n          var fontSize = parseFloat(get$5(elm, 'font-size'));\n          return String(lineHeight / fontSize);\n        };\n        return specifiedStyle.getOrThunk(computedStyle);\n      }).getOr('');\n    };\n    var lineHeightAction = function (editor, lineHeight) {\n      editor.formatter.toggle('lineheight', { value: String(lineHeight) });\n      editor.nodeChanged();\n    };\n\n    var processValue = function (value) {\n      if (typeof value !== 'string') {\n        var details = Tools.extend({\n          paste: value.paste,\n          data: { paste: value.paste }\n        }, value);\n        return {\n          content: value.content,\n          details: details\n        };\n      }\n      return {\n        content: value,\n        details: {}\n      };\n    };\n    var insertAtCaret = function (editor, value) {\n      var result = processValue(value);\n      insertContent(editor, result.content, result.details);\n    };\n\n    var each$4 = Tools.each;\n    var map = Tools.map, inArray = Tools.inArray;\n    var EditorCommands = function () {\n      function EditorCommands(editor) {\n        this.commands = {\n          state: {},\n          exec: {},\n          value: {}\n        };\n        this.editor = editor;\n        this.setupCommands(editor);\n      }\n      EditorCommands.prototype.execCommand = function (command, ui, value, args) {\n        var func, state = false;\n        var self = this;\n        if (self.editor.removed) {\n          return;\n        }\n        if (command.toLowerCase() !== 'mcefocus') {\n          if (!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(command) && (!args || !args.skip_focus)) {\n            self.editor.focus();\n          } else {\n            restore(self.editor);\n          }\n        }\n        args = self.editor.fire('BeforeExecCommand', {\n          command: command,\n          ui: ui,\n          value: value\n        });\n        if (args.isDefaultPrevented()) {\n          return false;\n        }\n        var customCommand = command.toLowerCase();\n        if (func = self.commands.exec[customCommand]) {\n          func(customCommand, ui, value);\n          self.editor.fire('ExecCommand', {\n            command: command,\n            ui: ui,\n            value: value\n          });\n          return true;\n        }\n        each$4(this.editor.plugins, function (p) {\n          if (p.execCommand && p.execCommand(command, ui, value)) {\n            self.editor.fire('ExecCommand', {\n              command: command,\n              ui: ui,\n              value: value\n            });\n            state = true;\n            return false;\n          }\n        });\n        if (state) {\n          return state;\n        }\n        if (self.editor.theme && self.editor.theme.execCommand && self.editor.theme.execCommand(command, ui, value)) {\n          self.editor.fire('ExecCommand', {\n            command: command,\n            ui: ui,\n            value: value\n          });\n          return true;\n        }\n        try {\n          state = self.editor.getDoc().execCommand(command, ui, value);\n        } catch (ex) {\n        }\n        if (state) {\n          self.editor.fire('ExecCommand', {\n            command: command,\n            ui: ui,\n            value: value\n          });\n          return true;\n        }\n        return false;\n      };\n      EditorCommands.prototype.queryCommandState = function (command) {\n        var func;\n        if (this.editor.quirks.isHidden() || this.editor.removed) {\n          return;\n        }\n        command = command.toLowerCase();\n        if (func = this.commands.state[command]) {\n          return func(command);\n        }\n        try {\n          return this.editor.getDoc().queryCommandState(command);\n        } catch (ex) {\n        }\n        return false;\n      };\n      EditorCommands.prototype.queryCommandValue = function (command) {\n        var func;\n        if (this.editor.quirks.isHidden() || this.editor.removed) {\n          return;\n        }\n        command = command.toLowerCase();\n        if (func = this.commands.value[command]) {\n          return func(command);\n        }\n        try {\n          return this.editor.getDoc().queryCommandValue(command);\n        } catch (ex) {\n        }\n      };\n      EditorCommands.prototype.addCommands = function (commandList, type) {\n        if (type === void 0) {\n          type = 'exec';\n        }\n        var self = this;\n        each$4(commandList, function (callback, command) {\n          each$4(command.toLowerCase().split(','), function (command) {\n            self.commands[type][command] = callback;\n          });\n        });\n      };\n      EditorCommands.prototype.addCommand = function (command, callback, scope) {\n        var _this = this;\n        command = command.toLowerCase();\n        this.commands.exec[command] = function (command, ui, value, args) {\n          return callback.call(scope || _this.editor, ui, value, args);\n        };\n      };\n      EditorCommands.prototype.queryCommandSupported = function (command) {\n        command = command.toLowerCase();\n        if (this.commands.exec[command]) {\n          return true;\n        }\n        try {\n          return this.editor.getDoc().queryCommandSupported(command);\n        } catch (ex) {\n        }\n        return false;\n      };\n      EditorCommands.prototype.addQueryStateHandler = function (command, callback, scope) {\n        var _this = this;\n        command = command.toLowerCase();\n        this.commands.state[command] = function () {\n          return callback.call(scope || _this.editor);\n        };\n      };\n      EditorCommands.prototype.addQueryValueHandler = function (command, callback, scope) {\n        var _this = this;\n        command = command.toLowerCase();\n        this.commands.value[command] = function () {\n          return callback.call(scope || _this.editor);\n        };\n      };\n      EditorCommands.prototype.hasCustomCommand = function (command) {\n        command = command.toLowerCase();\n        return !!this.commands.exec[command];\n      };\n      EditorCommands.prototype.execNativeCommand = function (command, ui, value) {\n        if (ui === undefined) {\n          ui = false;\n        }\n        if (value === undefined) {\n          value = null;\n        }\n        return this.editor.getDoc().execCommand(command, ui, value);\n      };\n      EditorCommands.prototype.isFormatMatch = function (name) {\n        return this.editor.formatter.match(name);\n      };\n      EditorCommands.prototype.toggleFormat = function (name, value) {\n        this.editor.formatter.toggle(name, value);\n        this.editor.nodeChanged();\n      };\n      EditorCommands.prototype.storeSelection = function (type) {\n        this.selectionBookmark = this.editor.selection.getBookmark(type);\n      };\n      EditorCommands.prototype.restoreSelection = function () {\n        this.editor.selection.moveToBookmark(this.selectionBookmark);\n      };\n      EditorCommands.prototype.setupCommands = function (editor) {\n        var self = this;\n        this.addCommands({\n          'mceResetDesignMode,mceBeginUndoLevel': noop,\n          'mceEndUndoLevel,mceAddUndoLevel': function () {\n            editor.undoManager.add();\n          },\n          'mceFocus': function (_command, _ui, value) {\n            focus(editor, value);\n          },\n          'Cut,Copy,Paste': function (command) {\n            var doc = editor.getDoc();\n            var failed;\n            try {\n              self.execNativeCommand(command);\n            } catch (ex) {\n              failed = true;\n            }\n            if (command === 'paste' && !doc.queryCommandEnabled(command)) {\n              failed = true;\n            }\n            if (failed || !doc.queryCommandSupported(command)) {\n              var msg = editor.translate('Your browser doesn\\'t support direct access to the clipboard. ' + 'Please use the Ctrl+X/C/V keyboard shortcuts instead.');\n              if (Env.mac) {\n                msg = msg.replace(/Ctrl\\+/g, '\\u2318+');\n              }\n              editor.notificationManager.open({\n                text: msg,\n                type: 'error'\n              });\n            }\n          },\n          'unlink': function () {\n            if (editor.selection.isCollapsed()) {\n              var elm = editor.dom.getParent(editor.selection.getStart(), 'a');\n              if (elm) {\n                editor.dom.remove(elm, true);\n              }\n              return;\n            }\n            editor.formatter.remove('link');\n          },\n          'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone': function (command) {\n            var align = command.substring(7);\n            if (align === 'full') {\n              align = 'justify';\n            }\n            each$4('left,center,right,justify'.split(','), function (name) {\n              if (align !== name) {\n                editor.formatter.remove('align' + name);\n              }\n            });\n            if (align !== 'none') {\n              self.toggleFormat('align' + align);\n            }\n          },\n          'InsertUnorderedList,InsertOrderedList': function (command) {\n            var listParent;\n            self.execNativeCommand(command);\n            var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n            if (listElm) {\n              listParent = listElm.parentNode;\n              if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) {\n                self.storeSelection();\n                editor.dom.split(listParent, listElm);\n                self.restoreSelection();\n              }\n            }\n          },\n          'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': function (command) {\n            self.toggleFormat(command);\n          },\n          'ForeColor,HiliteColor': function (command, ui, value) {\n            self.toggleFormat(command, { value: value });\n          },\n          'FontName': function (command, ui, value) {\n            fontNameAction(editor, value);\n          },\n          'FontSize': function (command, ui, value) {\n            fontSizeAction(editor, value);\n          },\n          'LineHeight': function (command, ui, value) {\n            lineHeightAction(editor, value);\n          },\n          'Lang': function (command, ui, lang) {\n            self.toggleFormat(command, {\n              value: lang.code,\n              customValue: lang.customCode\n            });\n          },\n          'RemoveFormat': function (command) {\n            editor.formatter.remove(command);\n          },\n          'mceBlockQuote': function () {\n            self.toggleFormat('blockquote');\n          },\n          'FormatBlock': function (command, ui, value) {\n            return self.toggleFormat(value || 'p');\n          },\n          'mceCleanup': function () {\n            var bookmark = editor.selection.getBookmark();\n            editor.setContent(editor.getContent());\n            editor.selection.moveToBookmark(bookmark);\n          },\n          'mceRemoveNode': function (command, ui, value) {\n            var node = value || editor.selection.getNode();\n            if (node !== editor.getBody()) {\n              self.storeSelection();\n              editor.dom.remove(node, true);\n              self.restoreSelection();\n            }\n          },\n          'mceSelectNodeDepth': function (command, ui, value) {\n            var counter = 0;\n            editor.dom.getParent(editor.selection.getNode(), function (node) {\n              if (node.nodeType === 1 && counter++ === value) {\n                editor.selection.select(node);\n                return false;\n              }\n            }, editor.getBody());\n          },\n          'mceSelectNode': function (command, ui, value) {\n            editor.selection.select(value);\n          },\n          'mceInsertContent': function (command, ui, value) {\n            insertAtCaret(editor, value);\n          },\n          'mceInsertRawHTML': function (command, ui, value) {\n            editor.selection.setContent('tiny_mce_marker');\n            var content = editor.getContent();\n            editor.setContent(content.replace(/tiny_mce_marker/g, function () {\n              return value;\n            }));\n          },\n          'mceInsertNewLine': function (command, ui, value) {\n            insert(editor, value);\n          },\n          'mceToggleFormat': function (command, ui, value) {\n            self.toggleFormat(value);\n          },\n          'mceSetContent': function (command, ui, value) {\n            editor.setContent(value);\n          },\n          'Indent,Outdent': function (command) {\n            handle(editor, command);\n          },\n          'mceRepaint': noop,\n          'InsertHorizontalRule': function () {\n            editor.execCommand('mceInsertContent', false, '<hr />');\n          },\n          'mceToggleVisualAid': function () {\n            editor.hasVisual = !editor.hasVisual;\n            editor.addVisual();\n          },\n          'mceReplaceContent': function (command, ui, value) {\n            editor.execCommand('mceInsertContent', false, value.replace(/\\{\\$selection\\}/g, editor.selection.getContent({ format: 'text' })));\n          },\n          'mceInsertLink': function (command, ui, value) {\n            if (typeof value === 'string') {\n              value = { href: value };\n            }\n            var anchor = editor.dom.getParent(editor.selection.getNode(), 'a');\n            value.href = value.href.replace(/ /g, '%20');\n            if (!anchor || !value.href) {\n              editor.formatter.remove('link');\n            }\n            if (value.href) {\n              editor.formatter.apply('link', value, anchor);\n            }\n          },\n          'selectAll': function () {\n            var editingHost = editor.dom.getParent(editor.selection.getStart(), isContentEditableTrue$4);\n            if (editingHost) {\n              var rng = editor.dom.createRng();\n              rng.selectNodeContents(editingHost);\n              editor.selection.setRng(rng);\n            }\n          },\n          'mceNewDocument': function () {\n            editor.setContent('');\n          },\n          'InsertLineBreak': function (command, ui, value) {\n            insert$1(editor, value);\n            return true;\n          }\n        });\n        var alignStates = function (name) {\n          return function () {\n            var selection = editor.selection;\n            var nodes = selection.isCollapsed() ? [editor.dom.getParent(selection.getNode(), editor.dom.isBlock)] : selection.getSelectedBlocks();\n            var matches = map(nodes, function (node) {\n              return !!editor.formatter.matchNode(node, name);\n            });\n            return inArray(matches, true) !== -1;\n          };\n        };\n        self.addCommands({\n          'JustifyLeft': alignStates('alignleft'),\n          'JustifyCenter': alignStates('aligncenter'),\n          'JustifyRight': alignStates('alignright'),\n          'JustifyFull': alignStates('alignjustify'),\n          'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': function (command) {\n            return self.isFormatMatch(command);\n          },\n          'mceBlockQuote': function () {\n            return self.isFormatMatch('blockquote');\n          },\n          'Outdent': function () {\n            return canOutdent(editor);\n          },\n          'InsertUnorderedList,InsertOrderedList': function (command) {\n            var list = editor.dom.getParent(editor.selection.getNode(), 'ul,ol');\n            return list && (command === 'insertunorderedlist' && list.tagName === 'UL' || command === 'insertorderedlist' && list.tagName === 'OL');\n          }\n        }, 'state');\n        self.addCommands({\n          Undo: function () {\n            editor.undoManager.undo();\n          },\n          Redo: function () {\n            editor.undoManager.redo();\n          }\n        });\n        self.addQueryValueHandler('FontName', function () {\n          return fontNameQuery(editor);\n        }, this);\n        self.addQueryValueHandler('FontSize', function () {\n          return fontSizeQuery(editor);\n        }, this);\n        self.addQueryValueHandler('LineHeight', function () {\n          return lineHeightQuery(editor);\n        }, this);\n      };\n      return EditorCommands;\n    }();\n\n    var internalContentEditableAttr = 'data-mce-contenteditable';\n    var toggleClass = function (elm, cls, state) {\n      if (has(elm, cls) && state === false) {\n        remove$3(elm, cls);\n      } else if (state) {\n        add$1(elm, cls);\n      }\n    };\n    var setEditorCommandState = function (editor, cmd, state) {\n      try {\n        editor.getDoc().execCommand(cmd, false, String(state));\n      } catch (ex) {\n      }\n    };\n    var setContentEditable = function (elm, state) {\n      elm.dom.contentEditable = state ? 'true' : 'false';\n    };\n    var switchOffContentEditableTrue = function (elm) {\n      each$k(descendants(elm, '*[contenteditable=\"true\"]'), function (elm) {\n        set$1(elm, internalContentEditableAttr, 'true');\n        setContentEditable(elm, false);\n      });\n    };\n    var switchOnContentEditableTrue = function (elm) {\n      each$k(descendants(elm, '*[' + internalContentEditableAttr + '=\"true\"]'), function (elm) {\n        remove$6(elm, internalContentEditableAttr);\n        setContentEditable(elm, true);\n      });\n    };\n    var removeFakeSelection = function (editor) {\n      Optional.from(editor.selection.getNode()).each(function (elm) {\n        elm.removeAttribute('data-mce-selected');\n      });\n    };\n    var restoreFakeSelection = function (editor) {\n      editor.selection.setRng(editor.selection.getRng());\n    };\n    var toggleReadOnly = function (editor, state) {\n      var body = SugarElement.fromDom(editor.getBody());\n      toggleClass(body, 'mce-content-readonly', state);\n      if (state) {\n        editor.selection.controlSelection.hideResizeRect();\n        editor._selectionOverrides.hideFakeCaret();\n        removeFakeSelection(editor);\n        editor.readonly = true;\n        setContentEditable(body, false);\n        switchOffContentEditableTrue(body);\n      } else {\n        editor.readonly = false;\n        setContentEditable(body, true);\n        switchOnContentEditableTrue(body);\n        setEditorCommandState(editor, 'StyleWithCSS', false);\n        setEditorCommandState(editor, 'enableInlineTableEditing', false);\n        setEditorCommandState(editor, 'enableObjectResizing', false);\n        if (hasEditorOrUiFocus(editor)) {\n          editor.focus();\n        }\n        restoreFakeSelection(editor);\n        editor.nodeChanged();\n      }\n    };\n    var isReadOnly = function (editor) {\n      return editor.readonly;\n    };\n    var registerFilters = function (editor) {\n      editor.parser.addAttributeFilter('contenteditable', function (nodes) {\n        if (isReadOnly(editor)) {\n          each$k(nodes, function (node) {\n            node.attr(internalContentEditableAttr, node.attr('contenteditable'));\n            node.attr('contenteditable', 'false');\n          });\n        }\n      });\n      editor.serializer.addAttributeFilter(internalContentEditableAttr, function (nodes) {\n        if (isReadOnly(editor)) {\n          each$k(nodes, function (node) {\n            node.attr('contenteditable', node.attr(internalContentEditableAttr));\n          });\n        }\n      });\n      editor.serializer.addTempAttr(internalContentEditableAttr);\n    };\n    var registerReadOnlyContentFilters = function (editor) {\n      if (editor.serializer) {\n        registerFilters(editor);\n      } else {\n        editor.on('PreInit', function () {\n          registerFilters(editor);\n        });\n      }\n    };\n    var isClickEvent = function (e) {\n      return e.type === 'click';\n    };\n    var getAnchorHrefOpt = function (editor, elm) {\n      var isRoot = function (elm) {\n        return eq(elm, SugarElement.fromDom(editor.getBody()));\n      };\n      return closest$2(elm, 'a', isRoot).bind(function (a) {\n        return getOpt(a, 'href');\n      });\n    };\n    var processReadonlyEvents = function (editor, e) {\n      if (isClickEvent(e) && !VK.metaKeyPressed(e)) {\n        var elm = SugarElement.fromDom(e.target);\n        getAnchorHrefOpt(editor, elm).each(function (href) {\n          e.preventDefault();\n          if (/^#/.test(href)) {\n            var targetEl = editor.dom.select(href + ',[name=\"' + removeLeading(href, '#') + '\"]');\n            if (targetEl.length) {\n              editor.selection.scrollIntoView(targetEl[0], true);\n            }\n          } else {\n            window.open(href, '_blank', 'rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes');\n          }\n        });\n      }\n    };\n    var registerReadOnlySelectionBlockers = function (editor) {\n      editor.on('ShowCaret', function (e) {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n      editor.on('ObjectSelected', function (e) {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    var nativeEvents = Tools.makeMap('focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange ' + 'mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover ' + 'draggesture dragdrop drop drag submit ' + 'compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel', ' ');\n    var EventDispatcher = function () {\n      function EventDispatcher(settings) {\n        this.bindings = {};\n        this.settings = settings || {};\n        this.scope = this.settings.scope || this;\n        this.toggleEvent = this.settings.toggleEvent || never;\n      }\n      EventDispatcher.isNative = function (name) {\n        return !!nativeEvents[name.toLowerCase()];\n      };\n      EventDispatcher.prototype.fire = function (name, args) {\n        var lcName = name.toLowerCase();\n        var event = normalize$3(lcName, args || {}, this.scope);\n        if (this.settings.beforeFire) {\n          this.settings.beforeFire(event);\n        }\n        var handlers = this.bindings[lcName];\n        if (handlers) {\n          for (var i = 0, l = handlers.length; i < l; i++) {\n            var callback = handlers[i];\n            if (callback.removed) {\n              continue;\n            }\n            if (callback.once) {\n              this.off(lcName, callback.func);\n            }\n            if (event.isImmediatePropagationStopped()) {\n              return event;\n            }\n            if (callback.func.call(this.scope, event) === false) {\n              event.preventDefault();\n              return event;\n            }\n          }\n        }\n        return event;\n      };\n      EventDispatcher.prototype.on = function (name, callback, prepend, extra) {\n        if (callback === false) {\n          callback = never;\n        }\n        if (callback) {\n          var wrappedCallback = {\n            func: callback,\n            removed: false\n          };\n          if (extra) {\n            Tools.extend(wrappedCallback, extra);\n          }\n          var names = name.toLowerCase().split(' ');\n          var i = names.length;\n          while (i--) {\n            var currentName = names[i];\n            var handlers = this.bindings[currentName];\n            if (!handlers) {\n              handlers = [];\n              this.toggleEvent(currentName, true);\n            }\n            if (prepend) {\n              handlers = __spreadArray([wrappedCallback], handlers, true);\n            } else {\n              handlers = __spreadArray(__spreadArray([], handlers, true), [wrappedCallback], false);\n            }\n            this.bindings[currentName] = handlers;\n          }\n        }\n        return this;\n      };\n      EventDispatcher.prototype.off = function (name, callback) {\n        var _this = this;\n        if (name) {\n          var names = name.toLowerCase().split(' ');\n          var i = names.length;\n          while (i--) {\n            var currentName = names[i];\n            var handlers = this.bindings[currentName];\n            if (!currentName) {\n              each$j(this.bindings, function (_value, bindingName) {\n                _this.toggleEvent(bindingName, false);\n                delete _this.bindings[bindingName];\n              });\n              return this;\n            }\n            if (handlers) {\n              if (!callback) {\n                handlers.length = 0;\n              } else {\n                var filteredHandlers = partition(handlers, function (handler) {\n                  return handler.func === callback;\n                });\n                handlers = filteredHandlers.fail;\n                this.bindings[currentName] = handlers;\n                each$k(filteredHandlers.pass, function (handler) {\n                  handler.removed = true;\n                });\n              }\n              if (!handlers.length) {\n                this.toggleEvent(name, false);\n                delete this.bindings[currentName];\n              }\n            }\n          }\n        } else {\n          each$j(this.bindings, function (_value, name) {\n            _this.toggleEvent(name, false);\n          });\n          this.bindings = {};\n        }\n        return this;\n      };\n      EventDispatcher.prototype.once = function (name, callback, prepend) {\n        return this.on(name, callback, prepend, { once: true });\n      };\n      EventDispatcher.prototype.has = function (name) {\n        name = name.toLowerCase();\n        return !(!this.bindings[name] || this.bindings[name].length === 0);\n      };\n      return EventDispatcher;\n    }();\n\n    var getEventDispatcher = function (obj) {\n      if (!obj._eventDispatcher) {\n        obj._eventDispatcher = new EventDispatcher({\n          scope: obj,\n          toggleEvent: function (name, state) {\n            if (EventDispatcher.isNative(name) && obj.toggleNativeEvent) {\n              obj.toggleNativeEvent(name, state);\n            }\n          }\n        });\n      }\n      return obj._eventDispatcher;\n    };\n    var Observable = {\n      fire: function (name, args, bubble) {\n        var self = this;\n        if (self.removed && name !== 'remove' && name !== 'detach') {\n          return args;\n        }\n        var dispatcherArgs = getEventDispatcher(self).fire(name, args);\n        if (bubble !== false && self.parent) {\n          var parent_1 = self.parent();\n          while (parent_1 && !dispatcherArgs.isPropagationStopped()) {\n            parent_1.fire(name, dispatcherArgs, false);\n            parent_1 = parent_1.parent();\n          }\n        }\n        return dispatcherArgs;\n      },\n      on: function (name, callback, prepend) {\n        return getEventDispatcher(this).on(name, callback, prepend);\n      },\n      off: function (name, callback) {\n        return getEventDispatcher(this).off(name, callback);\n      },\n      once: function (name, callback) {\n        return getEventDispatcher(this).once(name, callback);\n      },\n      hasEventListeners: function (name) {\n        return getEventDispatcher(this).has(name);\n      }\n    };\n\n    var DOM$2 = DOMUtils.DOM;\n    var customEventRootDelegates;\n    var getEventTarget = function (editor, eventName) {\n      if (eventName === 'selectionchange') {\n        return editor.getDoc();\n      }\n      if (!editor.inline && /^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(eventName)) {\n        return editor.getDoc().documentElement;\n      }\n      var eventRoot = getEventRoot(editor);\n      if (eventRoot) {\n        if (!editor.eventRoot) {\n          editor.eventRoot = DOM$2.select(eventRoot)[0];\n        }\n        return editor.eventRoot;\n      }\n      return editor.getBody();\n    };\n    var isListening = function (editor) {\n      return !editor.hidden && !isReadOnly(editor);\n    };\n    var fireEvent = function (editor, eventName, e) {\n      if (isListening(editor)) {\n        editor.fire(eventName, e);\n      } else if (isReadOnly(editor)) {\n        processReadonlyEvents(editor, e);\n      }\n    };\n    var bindEventDelegate = function (editor, eventName) {\n      var delegate;\n      if (!editor.delegates) {\n        editor.delegates = {};\n      }\n      if (editor.delegates[eventName] || editor.removed) {\n        return;\n      }\n      var eventRootElm = getEventTarget(editor, eventName);\n      if (getEventRoot(editor)) {\n        if (!customEventRootDelegates) {\n          customEventRootDelegates = {};\n          editor.editorManager.on('removeEditor', function () {\n            if (!editor.editorManager.activeEditor) {\n              if (customEventRootDelegates) {\n                each$j(customEventRootDelegates, function (_value, name) {\n                  editor.dom.unbind(getEventTarget(editor, name));\n                });\n                customEventRootDelegates = null;\n              }\n            }\n          });\n        }\n        if (customEventRootDelegates[eventName]) {\n          return;\n        }\n        delegate = function (e) {\n          var target = e.target;\n          var editors = editor.editorManager.get();\n          var i = editors.length;\n          while (i--) {\n            var body = editors[i].getBody();\n            if (body === target || DOM$2.isChildOf(target, body)) {\n              fireEvent(editors[i], eventName, e);\n            }\n          }\n        };\n        customEventRootDelegates[eventName] = delegate;\n        DOM$2.bind(eventRootElm, eventName, delegate);\n      } else {\n        delegate = function (e) {\n          fireEvent(editor, eventName, e);\n        };\n        DOM$2.bind(eventRootElm, eventName, delegate);\n        editor.delegates[eventName] = delegate;\n      }\n    };\n    var EditorObservable = __assign(__assign({}, Observable), {\n      bindPendingEventDelegates: function () {\n        var self = this;\n        Tools.each(self._pendingNativeEvents, function (name) {\n          bindEventDelegate(self, name);\n        });\n      },\n      toggleNativeEvent: function (name, state) {\n        var self = this;\n        if (name === 'focus' || name === 'blur') {\n          return;\n        }\n        if (self.removed) {\n          return;\n        }\n        if (state) {\n          if (self.initialized) {\n            bindEventDelegate(self, name);\n          } else {\n            if (!self._pendingNativeEvents) {\n              self._pendingNativeEvents = [name];\n            } else {\n              self._pendingNativeEvents.push(name);\n            }\n          }\n        } else if (self.initialized) {\n          self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]);\n          delete self.delegates[name];\n        }\n      },\n      unbindAllNativeEvents: function () {\n        var self = this;\n        var body = self.getBody();\n        var dom = self.dom;\n        if (self.delegates) {\n          each$j(self.delegates, function (value, name) {\n            self.dom.unbind(getEventTarget(self, name), name, value);\n          });\n          delete self.delegates;\n        }\n        if (!self.inline && body && dom) {\n          body.onload = null;\n          dom.unbind(self.getWin());\n          dom.unbind(self.getDoc());\n        }\n        if (dom) {\n          dom.unbind(body);\n          dom.unbind(self.getContainer());\n        }\n      }\n    });\n\n    var defaultModes = [\n      'design',\n      'readonly'\n    ];\n    var switchToMode = function (editor, activeMode, availableModes, mode) {\n      var oldMode = availableModes[activeMode.get()];\n      var newMode = availableModes[mode];\n      try {\n        newMode.activate();\n      } catch (e) {\n        console.error('problem while activating editor mode ' + mode + ':', e);\n        return;\n      }\n      oldMode.deactivate();\n      if (oldMode.editorReadOnly !== newMode.editorReadOnly) {\n        toggleReadOnly(editor, newMode.editorReadOnly);\n      }\n      activeMode.set(mode);\n      fireSwitchMode(editor, mode);\n    };\n    var setMode = function (editor, availableModes, activeMode, mode) {\n      if (mode === activeMode.get()) {\n        return;\n      } else if (!has$2(availableModes, mode)) {\n        throw new Error('Editor mode \\'' + mode + '\\' is invalid');\n      }\n      if (editor.initialized) {\n        switchToMode(editor, activeMode, availableModes, mode);\n      } else {\n        editor.on('init', function () {\n          return switchToMode(editor, activeMode, availableModes, mode);\n        });\n      }\n    };\n    var registerMode = function (availableModes, mode, api) {\n      var _a;\n      if (contains$3(defaultModes, mode)) {\n        throw new Error('Cannot override default mode ' + mode);\n      }\n      return __assign(__assign({}, availableModes), (_a = {}, _a[mode] = __assign(__assign({}, api), {\n        deactivate: function () {\n          try {\n            api.deactivate();\n          } catch (e) {\n            console.error('problem while deactivating editor mode ' + mode + ':', e);\n          }\n        }\n      }), _a));\n    };\n\n    var create$4 = function (editor) {\n      var activeMode = Cell('design');\n      var availableModes = Cell({\n        design: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: false\n        },\n        readonly: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: true\n        }\n      });\n      registerReadOnlyContentFilters(editor);\n      registerReadOnlySelectionBlockers(editor);\n      return {\n        isReadOnly: function () {\n          return isReadOnly(editor);\n        },\n        set: function (mode) {\n          return setMode(editor, availableModes.get(), activeMode, mode);\n        },\n        get: function () {\n          return activeMode.get();\n        },\n        register: function (mode, api) {\n          availableModes.set(registerMode(availableModes.get(), mode, api));\n        }\n      };\n    };\n\n    var each$3 = Tools.each, explode$1 = Tools.explode;\n    var keyCodeLookup = {\n      f1: 112,\n      f2: 113,\n      f3: 114,\n      f4: 115,\n      f5: 116,\n      f6: 117,\n      f7: 118,\n      f8: 119,\n      f9: 120,\n      f10: 121,\n      f11: 122,\n      f12: 123\n    };\n    var modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access');\n    var parseShortcut = function (pattern) {\n      var key;\n      var shortcut = {};\n      each$3(explode$1(pattern.toLowerCase(), '+'), function (value) {\n        if (value in modifierNames) {\n          shortcut[value] = true;\n        } else {\n          if (/^[0-9]{2,}$/.test(value)) {\n            shortcut.keyCode = parseInt(value, 10);\n          } else {\n            shortcut.charCode = value.charCodeAt(0);\n            shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0);\n          }\n        }\n      });\n      var id = [shortcut.keyCode];\n      for (key in modifierNames) {\n        if (shortcut[key]) {\n          id.push(key);\n        } else {\n          shortcut[key] = false;\n        }\n      }\n      shortcut.id = id.join(',');\n      if (shortcut.access) {\n        shortcut.alt = true;\n        if (Env.mac) {\n          shortcut.ctrl = true;\n        } else {\n          shortcut.shift = true;\n        }\n      }\n      if (shortcut.meta) {\n        if (Env.mac) {\n          shortcut.meta = true;\n        } else {\n          shortcut.ctrl = true;\n          shortcut.meta = false;\n        }\n      }\n      return shortcut;\n    };\n    var Shortcuts = function () {\n      function Shortcuts(editor) {\n        this.shortcuts = {};\n        this.pendingPatterns = [];\n        this.editor = editor;\n        var self = this;\n        editor.on('keyup keypress keydown', function (e) {\n          if ((self.hasModifier(e) || self.isFunctionKey(e)) && !e.isDefaultPrevented()) {\n            each$3(self.shortcuts, function (shortcut) {\n              if (self.matchShortcut(e, shortcut)) {\n                self.pendingPatterns = shortcut.subpatterns.slice(0);\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(shortcut);\n                }\n                return true;\n              }\n            });\n            if (self.matchShortcut(e, self.pendingPatterns[0])) {\n              if (self.pendingPatterns.length === 1) {\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(self.pendingPatterns[0]);\n                }\n              }\n              self.pendingPatterns.shift();\n            }\n          }\n        });\n      }\n      Shortcuts.prototype.add = function (pattern, desc, cmdFunc, scope) {\n        var self = this;\n        var func = self.normalizeCommandFunc(cmdFunc);\n        each$3(explode$1(Tools.trim(pattern)), function (pattern) {\n          var shortcut = self.createShortcut(pattern, desc, func, scope);\n          self.shortcuts[shortcut.id] = shortcut;\n        });\n        return true;\n      };\n      Shortcuts.prototype.remove = function (pattern) {\n        var shortcut = this.createShortcut(pattern);\n        if (this.shortcuts[shortcut.id]) {\n          delete this.shortcuts[shortcut.id];\n          return true;\n        }\n        return false;\n      };\n      Shortcuts.prototype.normalizeCommandFunc = function (cmdFunc) {\n        var self = this;\n        var cmd = cmdFunc;\n        if (typeof cmd === 'string') {\n          return function () {\n            self.editor.execCommand(cmd, false, null);\n          };\n        } else if (Tools.isArray(cmd)) {\n          return function () {\n            self.editor.execCommand(cmd[0], cmd[1], cmd[2]);\n          };\n        } else {\n          return cmd;\n        }\n      };\n      Shortcuts.prototype.createShortcut = function (pattern, desc, cmdFunc, scope) {\n        var shortcuts = Tools.map(explode$1(pattern, '>'), parseShortcut);\n        shortcuts[shortcuts.length - 1] = Tools.extend(shortcuts[shortcuts.length - 1], {\n          func: cmdFunc,\n          scope: scope || this.editor\n        });\n        return Tools.extend(shortcuts[0], {\n          desc: this.editor.translate(desc),\n          subpatterns: shortcuts.slice(1)\n        });\n      };\n      Shortcuts.prototype.hasModifier = function (e) {\n        return e.altKey || e.ctrlKey || e.metaKey;\n      };\n      Shortcuts.prototype.isFunctionKey = function (e) {\n        return e.type === 'keydown' && e.keyCode >= 112 && e.keyCode <= 123;\n      };\n      Shortcuts.prototype.matchShortcut = function (e, shortcut) {\n        if (!shortcut) {\n          return false;\n        }\n        if (shortcut.ctrl !== e.ctrlKey || shortcut.meta !== e.metaKey) {\n          return false;\n        }\n        if (shortcut.alt !== e.altKey || shortcut.shift !== e.shiftKey) {\n          return false;\n        }\n        if (e.keyCode === shortcut.keyCode || e.charCode && e.charCode === shortcut.charCode) {\n          e.preventDefault();\n          return true;\n        }\n        return false;\n      };\n      Shortcuts.prototype.executeShortcutAction = function (shortcut) {\n        return shortcut.func ? shortcut.func.call(shortcut.scope) : null;\n      };\n      return Shortcuts;\n    }();\n\n    var create$3 = function () {\n      var buttons = {};\n      var menuItems = {};\n      var popups = {};\n      var icons = {};\n      var contextMenus = {};\n      var contextToolbars = {};\n      var sidebars = {};\n      var add = function (collection, type) {\n        return function (name, spec) {\n          return collection[name.toLowerCase()] = __assign(__assign({}, spec), { type: type });\n        };\n      };\n      var addIcon = function (name, svgData) {\n        return icons[name.toLowerCase()] = svgData;\n      };\n      return {\n        addButton: add(buttons, 'button'),\n        addGroupToolbarButton: add(buttons, 'grouptoolbarbutton'),\n        addToggleButton: add(buttons, 'togglebutton'),\n        addMenuButton: add(buttons, 'menubutton'),\n        addSplitButton: add(buttons, 'splitbutton'),\n        addMenuItem: add(menuItems, 'menuitem'),\n        addNestedMenuItem: add(menuItems, 'nestedmenuitem'),\n        addToggleMenuItem: add(menuItems, 'togglemenuitem'),\n        addAutocompleter: add(popups, 'autocompleter'),\n        addContextMenu: add(contextMenus, 'contextmenu'),\n        addContextToolbar: add(contextToolbars, 'contexttoolbar'),\n        addContextForm: add(contextToolbars, 'contextform'),\n        addSidebar: add(sidebars, 'sidebar'),\n        addIcon: addIcon,\n        getAll: function () {\n          return {\n            buttons: buttons,\n            menuItems: menuItems,\n            icons: icons,\n            popups: popups,\n            contextMenus: contextMenus,\n            contextToolbars: contextToolbars,\n            sidebars: sidebars\n          };\n        }\n      };\n    };\n\n    var registry = function () {\n      var bridge = create$3();\n      return {\n        addAutocompleter: bridge.addAutocompleter,\n        addButton: bridge.addButton,\n        addContextForm: bridge.addContextForm,\n        addContextMenu: bridge.addContextMenu,\n        addContextToolbar: bridge.addContextToolbar,\n        addIcon: bridge.addIcon,\n        addMenuButton: bridge.addMenuButton,\n        addMenuItem: bridge.addMenuItem,\n        addNestedMenuItem: bridge.addNestedMenuItem,\n        addSidebar: bridge.addSidebar,\n        addSplitButton: bridge.addSplitButton,\n        addToggleButton: bridge.addToggleButton,\n        addGroupToolbarButton: bridge.addGroupToolbarButton,\n        addToggleMenuItem: bridge.addToggleMenuItem,\n        getAll: bridge.getAll\n      };\n    };\n\n    var DOM$1 = DOMUtils.DOM;\n    var extend$3 = Tools.extend, each$2 = Tools.each;\n    var resolve = Tools.resolve;\n    var ie = Env.ie;\n    var Editor = function () {\n      function Editor(id, settings, editorManager) {\n        var _this = this;\n        this.plugins = {};\n        this.contentCSS = [];\n        this.contentStyles = [];\n        this.loadedCSS = {};\n        this.isNotDirty = false;\n        this.editorManager = editorManager;\n        this.documentBaseUrl = editorManager.documentBaseURL;\n        extend$3(this, EditorObservable);\n        this.settings = getEditorSettings(this, id, this.documentBaseUrl, editorManager.defaultSettings, settings);\n        if (this.settings.suffix) {\n          editorManager.suffix = this.settings.suffix;\n        }\n        this.suffix = editorManager.suffix;\n        if (this.settings.base_url) {\n          editorManager._setBaseUrl(this.settings.base_url);\n        }\n        this.baseUri = editorManager.baseURI;\n        if (this.settings.referrer_policy) {\n          ScriptLoader.ScriptLoader._setReferrerPolicy(this.settings.referrer_policy);\n          DOMUtils.DOM.styleSheetLoader._setReferrerPolicy(this.settings.referrer_policy);\n        }\n        AddOnManager.languageLoad = this.settings.language_load;\n        AddOnManager.baseURL = editorManager.baseURL;\n        this.id = id;\n        this.setDirty(false);\n        this.documentBaseURI = new URI(this.settings.document_base_url, { base_uri: this.baseUri });\n        this.baseURI = this.baseUri;\n        this.inline = !!this.settings.inline;\n        this.shortcuts = new Shortcuts(this);\n        this.editorCommands = new EditorCommands(this);\n        if (this.settings.cache_suffix) {\n          Env.cacheSuffix = this.settings.cache_suffix.replace(/^[\\?\\&]+/, '');\n        }\n        this.ui = {\n          registry: registry(),\n          styleSheetLoader: undefined,\n          show: noop,\n          hide: noop,\n          enable: noop,\n          disable: noop,\n          isDisabled: never\n        };\n        var self = this;\n        var modeInstance = create$4(self);\n        this.mode = modeInstance;\n        this.setMode = modeInstance.set;\n        editorManager.fire('SetupEditor', { editor: this });\n        this.execCallback('setup', this);\n        this.$ = DomQuery.overrideDefaults(function () {\n          return {\n            context: _this.inline ? _this.getBody() : _this.getDoc(),\n            element: _this.getBody()\n          };\n        });\n      }\n      Editor.prototype.render = function () {\n        render(this);\n      };\n      Editor.prototype.focus = function (skipFocus) {\n        this.execCommand('mceFocus', false, skipFocus);\n      };\n      Editor.prototype.hasFocus = function () {\n        return hasFocus(this);\n      };\n      Editor.prototype.execCallback = function (name) {\n        var x = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n          x[_i - 1] = arguments[_i];\n        }\n        var self = this;\n        var callback = self.settings[name], scope;\n        if (!callback) {\n          return;\n        }\n        if (self.callbackLookup && (scope = self.callbackLookup[name])) {\n          callback = scope.func;\n          scope = scope.scope;\n        }\n        if (typeof callback === 'string') {\n          scope = callback.replace(/\\.\\w+$/, '');\n          scope = scope ? resolve(scope) : 0;\n          callback = resolve(callback);\n          self.callbackLookup = self.callbackLookup || {};\n          self.callbackLookup[name] = {\n            func: callback,\n            scope: scope\n          };\n        }\n        return callback.apply(scope || self, x);\n      };\n      Editor.prototype.translate = function (text) {\n        return I18n.translate(text);\n      };\n      Editor.prototype.getParam = function (name, defaultVal, type) {\n        return getParam(this, name, defaultVal, type);\n      };\n      Editor.prototype.hasPlugin = function (name, loaded) {\n        var hasPlugin = contains$3(getPlugins(this).split(/[ ,]/), name);\n        if (hasPlugin) {\n          return loaded ? PluginManager.get(name) !== undefined : true;\n        } else {\n          return false;\n        }\n      };\n      Editor.prototype.nodeChanged = function (args) {\n        this._nodeChangeDispatcher.nodeChanged(args);\n      };\n      Editor.prototype.addCommand = function (name, callback, scope) {\n        this.editorCommands.addCommand(name, callback, scope);\n      };\n      Editor.prototype.addQueryStateHandler = function (name, callback, scope) {\n        this.editorCommands.addQueryStateHandler(name, callback, scope);\n      };\n      Editor.prototype.addQueryValueHandler = function (name, callback, scope) {\n        this.editorCommands.addQueryValueHandler(name, callback, scope);\n      };\n      Editor.prototype.addShortcut = function (pattern, desc, cmdFunc, scope) {\n        this.shortcuts.add(pattern, desc, cmdFunc, scope);\n      };\n      Editor.prototype.execCommand = function (cmd, ui, value, args) {\n        return this.editorCommands.execCommand(cmd, ui, value, args);\n      };\n      Editor.prototype.queryCommandState = function (cmd) {\n        return this.editorCommands.queryCommandState(cmd);\n      };\n      Editor.prototype.queryCommandValue = function (cmd) {\n        return this.editorCommands.queryCommandValue(cmd);\n      };\n      Editor.prototype.queryCommandSupported = function (cmd) {\n        return this.editorCommands.queryCommandSupported(cmd);\n      };\n      Editor.prototype.show = function () {\n        var self = this;\n        if (self.hidden) {\n          self.hidden = false;\n          if (self.inline) {\n            self.getBody().contentEditable = 'true';\n          } else {\n            DOM$1.show(self.getContainer());\n            DOM$1.hide(self.id);\n          }\n          self.load();\n          self.fire('show');\n        }\n      };\n      Editor.prototype.hide = function () {\n        var self = this, doc = self.getDoc();\n        if (!self.hidden) {\n          if (ie && doc && !self.inline) {\n            doc.execCommand('SelectAll');\n          }\n          self.save();\n          if (self.inline) {\n            self.getBody().contentEditable = 'false';\n            if (self === self.editorManager.focusedEditor) {\n              self.editorManager.focusedEditor = null;\n            }\n          } else {\n            DOM$1.hide(self.getContainer());\n            DOM$1.setStyle(self.id, 'display', self.orgDisplay);\n          }\n          self.hidden = true;\n          self.fire('hide');\n        }\n      };\n      Editor.prototype.isHidden = function () {\n        return !!this.hidden;\n      };\n      Editor.prototype.setProgressState = function (state, time) {\n        this.fire('ProgressState', {\n          state: state,\n          time: time\n        });\n      };\n      Editor.prototype.load = function (args) {\n        var self = this;\n        var elm = self.getElement(), html;\n        if (self.removed) {\n          return '';\n        }\n        if (elm) {\n          args = args || {};\n          args.load = true;\n          var value = isTextareaOrInput(elm) ? elm.value : elm.innerHTML;\n          html = self.setContent(value, args);\n          args.element = elm;\n          if (!args.no_events) {\n            self.fire('LoadContent', args);\n          }\n          args.element = elm = null;\n          return html;\n        }\n      };\n      Editor.prototype.save = function (args) {\n        var self = this;\n        var elm = self.getElement(), html, form;\n        if (!elm || !self.initialized || self.removed) {\n          return;\n        }\n        args = args || {};\n        args.save = true;\n        args.element = elm;\n        html = args.content = self.getContent(args);\n        if (!args.no_events) {\n          self.fire('SaveContent', args);\n        }\n        if (args.format === 'raw') {\n          self.fire('RawSaveContent', args);\n        }\n        html = args.content;\n        if (!isTextareaOrInput(elm)) {\n          if (args.is_removing || !self.inline) {\n            elm.innerHTML = html;\n          }\n          if (form = DOM$1.getParent(self.id, 'form')) {\n            each$2(form.elements, function (elm) {\n              if (elm.name === self.id) {\n                elm.value = html;\n                return false;\n              }\n            });\n          }\n        } else {\n          elm.value = html;\n        }\n        args.element = elm = null;\n        if (args.set_dirty !== false) {\n          self.setDirty(false);\n        }\n        return html;\n      };\n      Editor.prototype.setContent = function (content, args) {\n        return setContent(this, content, args);\n      };\n      Editor.prototype.getContent = function (args) {\n        return getContent(this, args);\n      };\n      Editor.prototype.insertContent = function (content, args) {\n        if (args) {\n          content = extend$3({ content: content }, args);\n        }\n        this.execCommand('mceInsertContent', false, content);\n      };\n      Editor.prototype.resetContent = function (initialContent) {\n        if (initialContent === undefined) {\n          setContent(this, this.startContent, { format: 'raw' });\n        } else {\n          setContent(this, initialContent);\n        }\n        this.undoManager.reset();\n        this.setDirty(false);\n        this.nodeChanged();\n      };\n      Editor.prototype.isDirty = function () {\n        return !this.isNotDirty;\n      };\n      Editor.prototype.setDirty = function (state) {\n        var oldState = !this.isNotDirty;\n        this.isNotDirty = !state;\n        if (state && state !== oldState) {\n          this.fire('dirty');\n        }\n      };\n      Editor.prototype.getContainer = function () {\n        var self = this;\n        if (!self.container) {\n          self.container = DOM$1.get(self.editorContainer || self.id + '_parent');\n        }\n        return self.container;\n      };\n      Editor.prototype.getContentAreaContainer = function () {\n        return this.contentAreaContainer;\n      };\n      Editor.prototype.getElement = function () {\n        if (!this.targetElm) {\n          this.targetElm = DOM$1.get(this.id);\n        }\n        return this.targetElm;\n      };\n      Editor.prototype.getWin = function () {\n        var self = this;\n        var elm;\n        if (!self.contentWindow) {\n          elm = self.iframeElement;\n          if (elm) {\n            self.contentWindow = elm.contentWindow;\n          }\n        }\n        return self.contentWindow;\n      };\n      Editor.prototype.getDoc = function () {\n        var self = this;\n        var win;\n        if (!self.contentDocument) {\n          win = self.getWin();\n          if (win) {\n            self.contentDocument = win.document;\n          }\n        }\n        return self.contentDocument;\n      };\n      Editor.prototype.getBody = function () {\n        var doc = this.getDoc();\n        return this.bodyElement || (doc ? doc.body : null);\n      };\n      Editor.prototype.convertURL = function (url, name, elm) {\n        var self = this, settings = self.settings;\n        if (settings.urlconverter_callback) {\n          return self.execCallback('urlconverter_callback', url, elm, true, name);\n        }\n        if (!settings.convert_urls || elm && elm.nodeName === 'LINK' || url.indexOf('file:') === 0 || url.length === 0) {\n          return url;\n        }\n        if (settings.relative_urls) {\n          return self.documentBaseURI.toRelative(url);\n        }\n        url = self.documentBaseURI.toAbsolute(url, settings.remove_script_host);\n        return url;\n      };\n      Editor.prototype.addVisual = function (elm) {\n        addVisual(this, elm);\n      };\n      Editor.prototype.remove = function () {\n        remove(this);\n      };\n      Editor.prototype.destroy = function (automatic) {\n        destroy(this, automatic);\n      };\n      Editor.prototype.uploadImages = function (callback) {\n        return this.editorUpload.uploadImages(callback);\n      };\n      Editor.prototype._scanForImages = function () {\n        return this.editorUpload.scanForImages();\n      };\n      Editor.prototype.addButton = function () {\n        throw new Error('editor.addButton has been removed in tinymce 5x, use editor.ui.registry.addButton or editor.ui.registry.addToggleButton or editor.ui.registry.addSplitButton instead');\n      };\n      Editor.prototype.addSidebar = function () {\n        throw new Error('editor.addSidebar has been removed in tinymce 5x, use editor.ui.registry.addSidebar instead');\n      };\n      Editor.prototype.addMenuItem = function () {\n        throw new Error('editor.addMenuItem has been removed in tinymce 5x, use editor.ui.registry.addMenuItem instead');\n      };\n      Editor.prototype.addContextToolbar = function () {\n        throw new Error('editor.addContextToolbar has been removed in tinymce 5x, use editor.ui.registry.addContextToolbar instead');\n      };\n      return Editor;\n    }();\n\n    var DOM = DOMUtils.DOM;\n    var explode = Tools.explode, each$1 = Tools.each, extend$2 = Tools.extend;\n    var instanceCounter = 0, boundGlobalEvents = false;\n    var beforeUnloadDelegate;\n    var legacyEditors = [];\n    var editors = [];\n    var isValidLegacyKey = function (id) {\n      return id !== 'length';\n    };\n    var globalEventDelegate = function (e) {\n      var type = e.type;\n      each$1(EditorManager.get(), function (editor) {\n        switch (type) {\n        case 'scroll':\n          editor.fire('ScrollWindow', e);\n          break;\n        case 'resize':\n          editor.fire('ResizeWindow', e);\n          break;\n        }\n      });\n    };\n    var toggleGlobalEvents = function (state) {\n      if (state !== boundGlobalEvents) {\n        if (state) {\n          DomQuery(window).on('resize scroll', globalEventDelegate);\n        } else {\n          DomQuery(window).off('resize scroll', globalEventDelegate);\n        }\n        boundGlobalEvents = state;\n      }\n    };\n    var removeEditorFromList = function (targetEditor) {\n      var oldEditors = editors;\n      delete legacyEditors[targetEditor.id];\n      for (var i = 0; i < legacyEditors.length; i++) {\n        if (legacyEditors[i] === targetEditor) {\n          legacyEditors.splice(i, 1);\n          break;\n        }\n      }\n      editors = filter$4(editors, function (editor) {\n        return targetEditor !== editor;\n      });\n      if (EditorManager.activeEditor === targetEditor) {\n        EditorManager.activeEditor = editors.length > 0 ? editors[0] : null;\n      }\n      if (EditorManager.focusedEditor === targetEditor) {\n        EditorManager.focusedEditor = null;\n      }\n      return oldEditors.length !== editors.length;\n    };\n    var purgeDestroyedEditor = function (editor) {\n      if (editor && editor.initialized && !(editor.getContainer() || editor.getBody()).parentNode) {\n        removeEditorFromList(editor);\n        editor.unbindAllNativeEvents();\n        editor.destroy(true);\n        editor.removed = true;\n        editor = null;\n      }\n      return editor;\n    };\n    var isQuirksMode = document.compatMode !== 'CSS1Compat';\n    var EditorManager = __assign(__assign({}, Observable), {\n      baseURI: null,\n      baseURL: null,\n      defaultSettings: {},\n      documentBaseURL: null,\n      suffix: null,\n      $: DomQuery,\n      majorVersion: '5',\n      minorVersion: '10.4',\n      releaseDate: '2022-04-27',\n      editors: legacyEditors,\n      i18n: I18n,\n      activeEditor: null,\n      focusedEditor: null,\n      settings: {},\n      setup: function () {\n        var self = this;\n        var baseURL, documentBaseURL, suffix = '';\n        documentBaseURL = URI.getDocumentBaseUrl(document.location);\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(documentBaseURL)) {\n          documentBaseURL = documentBaseURL.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(documentBaseURL)) {\n            documentBaseURL += '/';\n          }\n        }\n        var preInit = window.tinymce || window.tinyMCEPreInit;\n        if (preInit) {\n          baseURL = preInit.base || preInit.baseURL;\n          suffix = preInit.suffix;\n        } else {\n          var scripts = document.getElementsByTagName('script');\n          for (var i = 0; i < scripts.length; i++) {\n            var src = scripts[i].src || '';\n            if (src === '') {\n              continue;\n            }\n            var srcScript = src.substring(src.lastIndexOf('/'));\n            if (/tinymce(\\.full|\\.jquery|)(\\.min|\\.dev|)\\.js/.test(src)) {\n              if (srcScript.indexOf('.min') !== -1) {\n                suffix = '.min';\n              }\n              baseURL = src.substring(0, src.lastIndexOf('/'));\n              break;\n            }\n          }\n          if (!baseURL && document.currentScript) {\n            var src = document.currentScript.src;\n            if (src.indexOf('.min') !== -1) {\n              suffix = '.min';\n            }\n            baseURL = src.substring(0, src.lastIndexOf('/'));\n          }\n        }\n        self.baseURL = new URI(documentBaseURL).toAbsolute(baseURL);\n        self.documentBaseURL = documentBaseURL;\n        self.baseURI = new URI(self.baseURL);\n        self.suffix = suffix;\n        setup$l(self);\n      },\n      overrideDefaults: function (defaultSettings) {\n        var baseUrl = defaultSettings.base_url;\n        if (baseUrl) {\n          this._setBaseUrl(baseUrl);\n        }\n        var suffix = defaultSettings.suffix;\n        if (defaultSettings.suffix) {\n          this.suffix = suffix;\n        }\n        this.defaultSettings = defaultSettings;\n        var pluginBaseUrls = defaultSettings.plugin_base_urls;\n        if (pluginBaseUrls !== undefined) {\n          each$j(pluginBaseUrls, function (pluginBaseUrl, pluginName) {\n            AddOnManager.PluginManager.urls[pluginName] = pluginBaseUrl;\n          });\n        }\n      },\n      init: function (settings) {\n        var self = this;\n        var result;\n        var invalidInlineTargets = Tools.makeMap('area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu', ' ');\n        var isInvalidInlineTarget = function (settings, elm) {\n          return settings.inline && elm.tagName.toLowerCase() in invalidInlineTargets;\n        };\n        var createId = function (elm) {\n          var id = elm.id;\n          if (!id) {\n            id = get$9(elm, 'name').filter(function (name) {\n              return !DOM.get(name);\n            }).getOrThunk(DOM.uniqueId);\n            elm.setAttribute('id', id);\n          }\n          return id;\n        };\n        var execCallback = function (name) {\n          var callback = settings[name];\n          if (!callback) {\n            return;\n          }\n          return callback.apply(self, []);\n        };\n        var hasClass = function (elm, className) {\n          return className.constructor === RegExp ? className.test(elm.className) : DOM.hasClass(elm, className);\n        };\n        var findTargets = function (settings) {\n          var targets = [];\n          if (Env.browser.isIE() && Env.browser.version.major < 11) {\n            initError('TinyMCE does not support the browser you are using. For a list of supported' + ' browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/');\n            return [];\n          } else if (isQuirksMode) {\n            initError('Failed to initialize the editor as the document is not in standards mode. ' + 'TinyMCE requires standards mode.');\n            return [];\n          }\n          if (settings.types) {\n            each$1(settings.types, function (type) {\n              targets = targets.concat(DOM.select(type.selector));\n            });\n            return targets;\n          } else if (settings.selector) {\n            return DOM.select(settings.selector);\n          } else if (settings.target) {\n            return [settings.target];\n          }\n          switch (settings.mode) {\n          case 'exact':\n            var l = settings.elements || '';\n            if (l.length > 0) {\n              each$1(explode(l), function (id) {\n                var elm = DOM.get(id);\n                if (elm) {\n                  targets.push(elm);\n                } else {\n                  each$1(document.forms, function (f) {\n                    each$1(f.elements, function (e) {\n                      if (e.name === id) {\n                        id = 'mce_editor_' + instanceCounter++;\n                        DOM.setAttrib(e, 'id', id);\n                        targets.push(e);\n                      }\n                    });\n                  });\n                }\n              });\n            }\n            break;\n          case 'textareas':\n          case 'specific_textareas':\n            each$1(DOM.select('textarea'), function (elm) {\n              if (settings.editor_deselector && hasClass(elm, settings.editor_deselector)) {\n                return;\n              }\n              if (!settings.editor_selector || hasClass(elm, settings.editor_selector)) {\n                targets.push(elm);\n              }\n            });\n            break;\n          }\n          return targets;\n        };\n        var provideResults = function (editors) {\n          result = editors;\n        };\n        var initEditors = function () {\n          var initCount = 0;\n          var editors = [];\n          var targets;\n          var createEditor = function (id, settings, targetElm) {\n            var editor = new Editor(id, settings, self);\n            editors.push(editor);\n            editor.on('init', function () {\n              if (++initCount === targets.length) {\n                provideResults(editors);\n              }\n            });\n            editor.targetElm = editor.targetElm || targetElm;\n            editor.render();\n          };\n          DOM.unbind(window, 'ready', initEditors);\n          execCallback('onpageload');\n          targets = DomQuery.unique(findTargets(settings));\n          if (settings.types) {\n            each$1(settings.types, function (type) {\n              Tools.each(targets, function (elm) {\n                if (DOM.is(elm, type.selector)) {\n                  createEditor(createId(elm), extend$2({}, settings, type), elm);\n                  return false;\n                }\n                return true;\n              });\n            });\n            return;\n          }\n          Tools.each(targets, function (elm) {\n            purgeDestroyedEditor(self.get(elm.id));\n          });\n          targets = Tools.grep(targets, function (elm) {\n            return !self.get(elm.id);\n          });\n          if (targets.length === 0) {\n            provideResults([]);\n          } else {\n            each$1(targets, function (elm) {\n              if (isInvalidInlineTarget(settings, elm)) {\n                initError('Could not initialize inline editor on invalid inline target element', elm);\n              } else {\n                createEditor(createId(elm), settings, elm);\n              }\n            });\n          }\n        };\n        self.settings = settings;\n        DOM.bind(window, 'ready', initEditors);\n        return new promiseObj(function (resolve) {\n          if (result) {\n            resolve(result);\n          } else {\n            provideResults = function (editors) {\n              resolve(editors);\n            };\n          }\n        });\n      },\n      get: function (id) {\n        if (arguments.length === 0) {\n          return editors.slice(0);\n        } else if (isString$1(id)) {\n          return find$3(editors, function (editor) {\n            return editor.id === id;\n          }).getOr(null);\n        } else if (isNumber(id)) {\n          return editors[id] ? editors[id] : null;\n        } else {\n          return null;\n        }\n      },\n      add: function (editor) {\n        var self = this;\n        var existingEditor = legacyEditors[editor.id];\n        if (existingEditor === editor) {\n          return editor;\n        }\n        if (self.get(editor.id) === null) {\n          if (isValidLegacyKey(editor.id)) {\n            legacyEditors[editor.id] = editor;\n          }\n          legacyEditors.push(editor);\n          editors.push(editor);\n        }\n        toggleGlobalEvents(true);\n        self.activeEditor = editor;\n        self.fire('AddEditor', { editor: editor });\n        if (!beforeUnloadDelegate) {\n          beforeUnloadDelegate = function (e) {\n            var event = self.fire('BeforeUnload');\n            if (event.returnValue) {\n              e.preventDefault();\n              e.returnValue = event.returnValue;\n              return event.returnValue;\n            }\n          };\n          window.addEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        return editor;\n      },\n      createEditor: function (id, settings) {\n        return this.add(new Editor(id, settings, this));\n      },\n      remove: function (selector) {\n        var self = this;\n        var i, editor;\n        if (!selector) {\n          for (i = editors.length - 1; i >= 0; i--) {\n            self.remove(editors[i]);\n          }\n          return;\n        }\n        if (isString$1(selector)) {\n          each$1(DOM.select(selector), function (elm) {\n            editor = self.get(elm.id);\n            if (editor) {\n              self.remove(editor);\n            }\n          });\n          return;\n        }\n        editor = selector;\n        if (isNull(self.get(editor.id))) {\n          return null;\n        }\n        if (removeEditorFromList(editor)) {\n          self.fire('RemoveEditor', { editor: editor });\n        }\n        if (editors.length === 0) {\n          window.removeEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        editor.remove();\n        toggleGlobalEvents(editors.length > 0);\n        return editor;\n      },\n      execCommand: function (cmd, ui, value) {\n        var self = this, editor = self.get(value);\n        switch (cmd) {\n        case 'mceAddEditor':\n          if (!self.get(value)) {\n            new Editor(value, self.settings, self).render();\n          }\n          return true;\n        case 'mceRemoveEditor':\n          if (editor) {\n            editor.remove();\n          }\n          return true;\n        case 'mceToggleEditor':\n          if (!editor) {\n            self.execCommand('mceAddEditor', false, value);\n            return true;\n          }\n          if (editor.isHidden()) {\n            editor.show();\n          } else {\n            editor.hide();\n          }\n          return true;\n        }\n        if (self.activeEditor) {\n          return self.activeEditor.execCommand(cmd, ui, value);\n        }\n        return false;\n      },\n      triggerSave: function () {\n        each$1(editors, function (editor) {\n          editor.save();\n        });\n      },\n      addI18n: function (code, items) {\n        I18n.add(code, items);\n      },\n      translate: function (text) {\n        return I18n.translate(text);\n      },\n      setActive: function (editor) {\n        var activeEditor = this.activeEditor;\n        if (this.activeEditor !== editor) {\n          if (activeEditor) {\n            activeEditor.fire('deactivate', { relatedTarget: editor });\n          }\n          editor.fire('activate', { relatedTarget: activeEditor });\n        }\n        this.activeEditor = editor;\n      },\n      _setBaseUrl: function (baseUrl) {\n        this.baseURL = new URI(this.documentBaseURL).toAbsolute(baseUrl.replace(/\\/+$/, ''));\n        this.baseURI = new URI(this.baseURL);\n      }\n    });\n    EditorManager.setup();\n\n    var min$1 = Math.min, max$1 = Math.max, round$1 = Math.round;\n    var relativePosition = function (rect, targetRect, rel) {\n      var x = targetRect.x;\n      var y = targetRect.y;\n      var w = rect.w;\n      var h = rect.h;\n      var targetW = targetRect.w;\n      var targetH = targetRect.h;\n      var relChars = (rel || '').split('');\n      if (relChars[0] === 'b') {\n        y += targetH;\n      }\n      if (relChars[1] === 'r') {\n        x += targetW;\n      }\n      if (relChars[0] === 'c') {\n        y += round$1(targetH / 2);\n      }\n      if (relChars[1] === 'c') {\n        x += round$1(targetW / 2);\n      }\n      if (relChars[3] === 'b') {\n        y -= h;\n      }\n      if (relChars[4] === 'r') {\n        x -= w;\n      }\n      if (relChars[3] === 'c') {\n        y -= round$1(h / 2);\n      }\n      if (relChars[4] === 'c') {\n        x -= round$1(w / 2);\n      }\n      return create$2(x, y, w, h);\n    };\n    var findBestRelativePosition = function (rect, targetRect, constrainRect, rels) {\n      var pos, i;\n      for (i = 0; i < rels.length; i++) {\n        pos = relativePosition(rect, targetRect, rels[i]);\n        if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) {\n          return rels[i];\n        }\n      }\n      return null;\n    };\n    var inflate = function (rect, w, h) {\n      return create$2(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2);\n    };\n    var intersect = function (rect, cropRect) {\n      var x1 = max$1(rect.x, cropRect.x);\n      var y1 = max$1(rect.y, cropRect.y);\n      var x2 = min$1(rect.x + rect.w, cropRect.x + cropRect.w);\n      var y2 = min$1(rect.y + rect.h, cropRect.y + cropRect.h);\n      if (x2 - x1 < 0 || y2 - y1 < 0) {\n        return null;\n      }\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    var clamp = function (rect, clampRect, fixedSize) {\n      var x1 = rect.x;\n      var y1 = rect.y;\n      var x2 = rect.x + rect.w;\n      var y2 = rect.y + rect.h;\n      var cx2 = clampRect.x + clampRect.w;\n      var cy2 = clampRect.y + clampRect.h;\n      var underflowX1 = max$1(0, clampRect.x - x1);\n      var underflowY1 = max$1(0, clampRect.y - y1);\n      var overflowX2 = max$1(0, x2 - cx2);\n      var overflowY2 = max$1(0, y2 - cy2);\n      x1 += underflowX1;\n      y1 += underflowY1;\n      if (fixedSize) {\n        x2 += underflowX1;\n        y2 += underflowY1;\n        x1 -= overflowX2;\n        y1 -= overflowY2;\n      }\n      x2 -= overflowX2;\n      y2 -= overflowY2;\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    var create$2 = function (x, y, w, h) {\n      return {\n        x: x,\n        y: y,\n        w: w,\n        h: h\n      };\n    };\n    var fromClientRect = function (clientRect) {\n      return create$2(clientRect.left, clientRect.top, clientRect.width, clientRect.height);\n    };\n    var Rect = {\n      inflate: inflate,\n      relativePosition: relativePosition,\n      findBestRelativePosition: findBestRelativePosition,\n      intersect: intersect,\n      clamp: clamp,\n      create: create$2,\n      fromClientRect: fromClientRect\n    };\n\n    var awaiter = function (resolveCb, rejectCb, timeout) {\n      if (timeout === void 0) {\n        timeout = 1000;\n      }\n      var done = false;\n      var timer = null;\n      var complete = function (completer) {\n        return function () {\n          var args = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n          }\n          if (!done) {\n            done = true;\n            if (timer !== null) {\n              clearTimeout(timer);\n              timer = null;\n            }\n            completer.apply(null, args);\n          }\n        };\n      };\n      var resolve = complete(resolveCb);\n      var reject = complete(rejectCb);\n      var start = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!done && timer === null) {\n          timer = setTimeout(function () {\n            return reject.apply(null, args);\n          }, timeout);\n        }\n      };\n      return {\n        start: start,\n        resolve: resolve,\n        reject: reject\n      };\n    };\n    var create$1 = function () {\n      var tasks = {};\n      var resultFns = {};\n      var load = function (id, url) {\n        var loadErrMsg = 'Script at URL \"' + url + '\" failed to load';\n        var runErrMsg = 'Script at URL \"' + url + '\" did not call `tinymce.Resource.add(\\'' + id + '\\', data)` within 1 second';\n        if (tasks[id] !== undefined) {\n          return tasks[id];\n        } else {\n          var task = new promiseObj(function (resolve, reject) {\n            var waiter = awaiter(resolve, reject);\n            resultFns[id] = waiter.resolve;\n            ScriptLoader.ScriptLoader.loadScript(url, function () {\n              return waiter.start(runErrMsg);\n            }, function () {\n              return waiter.reject(loadErrMsg);\n            });\n          });\n          tasks[id] = task;\n          return task;\n        }\n      };\n      var add = function (id, data) {\n        if (resultFns[id] !== undefined) {\n          resultFns[id](data);\n          delete resultFns[id];\n        }\n        tasks[id] = promiseObj.resolve(data);\n      };\n      return {\n        load: load,\n        add: add\n      };\n    };\n    var Resource = create$1();\n\n    var each = Tools.each, extend$1 = Tools.extend;\n    var extendClass, initializing;\n    var Class = function () {\n    };\n    Class.extend = extendClass = function (props) {\n      var self = this;\n      var _super = self.prototype;\n      var Class = function () {\n        var i, mixins, mixin;\n        var self = this;\n        if (!initializing) {\n          if (self.init) {\n            self.init.apply(self, arguments);\n          }\n          mixins = self.Mixins;\n          if (mixins) {\n            i = mixins.length;\n            while (i--) {\n              mixin = mixins[i];\n              if (mixin.init) {\n                mixin.init.apply(self, arguments);\n              }\n            }\n          }\n        }\n      };\n      var dummy = function () {\n        return this;\n      };\n      var createMethod = function (name, fn) {\n        return function () {\n          var self = this;\n          var tmp = self._super;\n          self._super = _super[name];\n          var ret = fn.apply(self, arguments);\n          self._super = tmp;\n          return ret;\n        };\n      };\n      initializing = true;\n      var prototype = new self();\n      initializing = false;\n      if (props.Mixins) {\n        each(props.Mixins, function (mixin) {\n          for (var name_1 in mixin) {\n            if (name_1 !== 'init') {\n              props[name_1] = mixin[name_1];\n            }\n          }\n        });\n        if (_super.Mixins) {\n          props.Mixins = _super.Mixins.concat(props.Mixins);\n        }\n      }\n      if (props.Methods) {\n        each(props.Methods.split(','), function (name) {\n          props[name] = dummy;\n        });\n      }\n      if (props.Properties) {\n        each(props.Properties.split(','), function (name) {\n          var fieldName = '_' + name;\n          props[name] = function (value) {\n            var self = this;\n            if (value !== undefined) {\n              self[fieldName] = value;\n              return self;\n            }\n            return self[fieldName];\n          };\n        });\n      }\n      if (props.Statics) {\n        each(props.Statics, function (func, name) {\n          Class[name] = func;\n        });\n      }\n      if (props.Defaults && _super.Defaults) {\n        props.Defaults = extend$1({}, _super.Defaults, props.Defaults);\n      }\n      each$j(props, function (member, name) {\n        if (typeof member === 'function' && _super[name]) {\n          prototype[name] = createMethod(name, member);\n        } else {\n          prototype[name] = member;\n        }\n      });\n      Class.prototype = prototype;\n      Class.constructor = Class;\n      Class.extend = extendClass;\n      return Class;\n    };\n\n    var min = Math.min, max = Math.max, round = Math.round;\n    var Color = function (value) {\n      var self = {};\n      var r = 0, g = 0, b = 0;\n      var rgb2hsv = function (r, g, b) {\n        var h, s, v;\n        h = 0;\n        s = 0;\n        v = 0;\n        r = r / 255;\n        g = g / 255;\n        b = b / 255;\n        var minRGB = min(r, min(g, b));\n        var maxRGB = max(r, max(g, b));\n        if (minRGB === maxRGB) {\n          v = minRGB;\n          return {\n            h: 0,\n            s: 0,\n            v: v * 100\n          };\n        }\n        var d = r === minRGB ? g - b : b === minRGB ? r - g : b - r;\n        h = r === minRGB ? 3 : b === minRGB ? 1 : 5;\n        h = 60 * (h - d / (maxRGB - minRGB));\n        s = (maxRGB - minRGB) / maxRGB;\n        v = maxRGB;\n        return {\n          h: round(h),\n          s: round(s * 100),\n          v: round(v * 100)\n        };\n      };\n      var hsvToRgb = function (hue, saturation, brightness) {\n        hue = (parseInt(hue, 10) || 0) % 360;\n        saturation = parseInt(saturation, 10) / 100;\n        brightness = parseInt(brightness, 10) / 100;\n        saturation = max(0, min(saturation, 1));\n        brightness = max(0, min(brightness, 1));\n        if (saturation === 0) {\n          r = g = b = round(255 * brightness);\n          return;\n        }\n        var side = hue / 60;\n        var chroma = brightness * saturation;\n        var x = chroma * (1 - Math.abs(side % 2 - 1));\n        var match = brightness - chroma;\n        switch (Math.floor(side)) {\n        case 0:\n          r = chroma;\n          g = x;\n          b = 0;\n          break;\n        case 1:\n          r = x;\n          g = chroma;\n          b = 0;\n          break;\n        case 2:\n          r = 0;\n          g = chroma;\n          b = x;\n          break;\n        case 3:\n          r = 0;\n          g = x;\n          b = chroma;\n          break;\n        case 4:\n          r = x;\n          g = 0;\n          b = chroma;\n          break;\n        case 5:\n          r = chroma;\n          g = 0;\n          b = x;\n          break;\n        default:\n          r = g = b = 0;\n        }\n        r = round(255 * (r + match));\n        g = round(255 * (g + match));\n        b = round(255 * (b + match));\n      };\n      var toHex = function () {\n        var hex = function (val) {\n          val = parseInt(val, 10).toString(16);\n          return val.length > 1 ? val : '0' + val;\n        };\n        return '#' + hex(r) + hex(g) + hex(b);\n      };\n      var toRgb = function () {\n        return {\n          r: r,\n          g: g,\n          b: b\n        };\n      };\n      var toHsv = function () {\n        return rgb2hsv(r, g, b);\n      };\n      var parse = function (value) {\n        var matches;\n        if (typeof value === 'object') {\n          if ('r' in value) {\n            r = value.r;\n            g = value.g;\n            b = value.b;\n          } else if ('v' in value) {\n            hsvToRgb(value.h, value.s, value.v);\n          }\n        } else {\n          if (matches = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)[^\\)]*\\)/gi.exec(value)) {\n            r = parseInt(matches[1], 10);\n            g = parseInt(matches[2], 10);\n            b = parseInt(matches[3], 10);\n          } else if (matches = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(value)) {\n            r = parseInt(matches[1], 16);\n            g = parseInt(matches[2], 16);\n            b = parseInt(matches[3], 16);\n          } else if (matches = /#([0-F])([0-F])([0-F])/gi.exec(value)) {\n            r = parseInt(matches[1] + matches[1], 16);\n            g = parseInt(matches[2] + matches[2], 16);\n            b = parseInt(matches[3] + matches[3], 16);\n          }\n        }\n        r = r < 0 ? 0 : r > 255 ? 255 : r;\n        g = g < 0 ? 0 : g > 255 ? 255 : g;\n        b = b < 0 ? 0 : b > 255 ? 255 : b;\n        return self;\n      };\n      if (value) {\n        parse(value);\n      }\n      self.toRgb = toRgb;\n      self.toHsv = toHsv;\n      self.toHex = toHex;\n      self.parse = parse;\n      return self;\n    };\n\n    var serialize = function (obj) {\n      var data = JSON.stringify(obj);\n      if (!isString$1(data)) {\n        return data;\n      }\n      return data.replace(/[\\u0080-\\uFFFF]/g, function (match) {\n        var hexCode = match.charCodeAt(0).toString(16);\n        return '\\\\u' + '0000'.substring(hexCode.length) + hexCode;\n      });\n    };\n    var JSONUtils = {\n      serialize: serialize,\n      parse: function (text) {\n        try {\n          return JSON.parse(text);\n        } catch (ex) {\n        }\n      }\n    };\n\n    var JSONP = {\n      callbacks: {},\n      count: 0,\n      send: function (settings) {\n        var self = this, dom = DOMUtils.DOM, count = settings.count !== undefined ? settings.count : self.count;\n        var id = 'tinymce_jsonp_' + count;\n        self.callbacks[count] = function (json) {\n          dom.remove(id);\n          delete self.callbacks[count];\n          settings.callback(json);\n        };\n        dom.add(dom.doc.body, 'script', {\n          id: id,\n          src: settings.url,\n          type: 'text/javascript'\n        });\n        self.count++;\n      }\n    };\n\n    var XHR = __assign(__assign({}, Observable), {\n      send: function (settings) {\n        var xhr, count = 0;\n        var ready = function () {\n          if (!settings.async || xhr.readyState === 4 || count++ > 10000) {\n            if (settings.success && count < 10000 && xhr.status === 200) {\n              settings.success.call(settings.success_scope, '' + xhr.responseText, xhr, settings);\n            } else if (settings.error) {\n              settings.error.call(settings.error_scope, count > 10000 ? 'TIMED_OUT' : 'GENERAL', xhr, settings);\n            }\n            xhr = null;\n          } else {\n            Delay.setTimeout(ready, 10);\n          }\n        };\n        settings.scope = settings.scope || this;\n        settings.success_scope = settings.success_scope || settings.scope;\n        settings.error_scope = settings.error_scope || settings.scope;\n        settings.async = settings.async !== false;\n        settings.data = settings.data || '';\n        XHR.fire('beforeInitialize', { settings: settings });\n        xhr = new XMLHttpRequest();\n        if (xhr.overrideMimeType) {\n          xhr.overrideMimeType(settings.content_type);\n        }\n        xhr.open(settings.type || (settings.data ? 'POST' : 'GET'), settings.url, settings.async);\n        if (settings.crossDomain) {\n          xhr.withCredentials = true;\n        }\n        if (settings.content_type) {\n          xhr.setRequestHeader('Content-Type', settings.content_type);\n        }\n        if (settings.requestheaders) {\n          Tools.each(settings.requestheaders, function (header) {\n            xhr.setRequestHeader(header.key, header.value);\n          });\n        }\n        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n        xhr = XHR.fire('beforeSend', {\n          xhr: xhr,\n          settings: settings\n        }).xhr;\n        xhr.send(settings.data);\n        if (!settings.async) {\n          return ready();\n        }\n        Delay.setTimeout(ready, 10);\n      }\n    });\n\n    var extend = Tools.extend;\n    var JSONRequest = function () {\n      function JSONRequest(settings) {\n        this.settings = extend({}, settings);\n        this.count = 0;\n      }\n      JSONRequest.sendRPC = function (o) {\n        return new JSONRequest().send(o);\n      };\n      JSONRequest.prototype.send = function (args) {\n        var ecb = args.error, scb = args.success;\n        var xhrArgs = extend(this.settings, args);\n        xhrArgs.success = function (c, x) {\n          c = JSONUtils.parse(c);\n          if (typeof c === 'undefined') {\n            c = { error: 'JSON Parse error.' };\n          }\n          if (c.error) {\n            ecb.call(xhrArgs.error_scope || xhrArgs.scope, c.error, x);\n          } else {\n            scb.call(xhrArgs.success_scope || xhrArgs.scope, c.result);\n          }\n        };\n        xhrArgs.error = function (ty, x) {\n          if (ecb) {\n            ecb.call(xhrArgs.error_scope || xhrArgs.scope, ty, x);\n          }\n        };\n        xhrArgs.data = JSONUtils.serialize({\n          id: args.id || 'c' + this.count++,\n          method: args.method,\n          params: args.params\n        });\n        xhrArgs.content_type = 'application/json';\n        XHR.send(xhrArgs);\n      };\n      return JSONRequest;\n    }();\n\n    var create = function () {\n      return function () {\n        var data = {};\n        var keys = [];\n        var storage = {\n          getItem: function (key) {\n            var item = data[key];\n            return item ? item : null;\n          },\n          setItem: function (key, value) {\n            keys.push(key);\n            data[key] = String(value);\n          },\n          key: function (index) {\n            return keys[index];\n          },\n          removeItem: function (key) {\n            keys = keys.filter(function (k) {\n              return k === key;\n            });\n            delete data[key];\n          },\n          clear: function () {\n            keys = [];\n            data = {};\n          },\n          length: 0\n        };\n        Object.defineProperty(storage, 'length', {\n          get: function () {\n            return keys.length;\n          },\n          configurable: false,\n          enumerable: false\n        });\n        return storage;\n      }();\n    };\n\n    var localStorage;\n    try {\n      var test = '__storage_test__';\n      localStorage = window.localStorage;\n      localStorage.setItem(test, test);\n      localStorage.removeItem(test);\n    } catch (e) {\n      localStorage = create();\n    }\n    var LocalStorage = localStorage;\n\n    var publicApi = {\n      geom: { Rect: Rect },\n      util: {\n        Promise: promiseObj,\n        Delay: Delay,\n        Tools: Tools,\n        VK: VK,\n        URI: URI,\n        Class: Class,\n        EventDispatcher: EventDispatcher,\n        Observable: Observable,\n        I18n: I18n,\n        XHR: XHR,\n        JSON: JSONUtils,\n        JSONRequest: JSONRequest,\n        JSONP: JSONP,\n        LocalStorage: LocalStorage,\n        Color: Color,\n        ImageUploader: ImageUploader\n      },\n      dom: {\n        EventUtils: EventUtils,\n        Sizzle: Sizzle,\n        DomQuery: DomQuery,\n        TreeWalker: DomTreeWalker,\n        TextSeeker: TextSeeker,\n        DOMUtils: DOMUtils,\n        ScriptLoader: ScriptLoader,\n        RangeUtils: RangeUtils,\n        Serializer: DomSerializer,\n        StyleSheetLoader: StyleSheetLoader,\n        ControlSelection: ControlSelection,\n        BookmarkManager: BookmarkManager,\n        Selection: EditorSelection,\n        Event: EventUtils.Event\n      },\n      html: {\n        Styles: Styles,\n        Entities: Entities,\n        Node: AstNode,\n        Schema: Schema,\n        SaxParser: SaxParser,\n        DomParser: DomParser,\n        Writer: Writer,\n        Serializer: HtmlSerializer\n      },\n      Env: Env,\n      AddOnManager: AddOnManager,\n      Annotator: Annotator,\n      Formatter: Formatter,\n      UndoManager: UndoManager,\n      EditorCommands: EditorCommands,\n      WindowManager: WindowManager,\n      NotificationManager: NotificationManager,\n      EditorObservable: EditorObservable,\n      Shortcuts: Shortcuts,\n      Editor: Editor,\n      FocusManager: FocusManager,\n      EditorManager: EditorManager,\n      DOM: DOMUtils.DOM,\n      ScriptLoader: ScriptLoader.ScriptLoader,\n      PluginManager: PluginManager,\n      ThemeManager: ThemeManager,\n      IconManager: IconManager,\n      Resource: Resource,\n      trim: Tools.trim,\n      isArray: Tools.isArray,\n      is: Tools.is,\n      toArray: Tools.toArray,\n      makeMap: Tools.makeMap,\n      each: Tools.each,\n      map: Tools.map,\n      grep: Tools.grep,\n      inArray: Tools.inArray,\n      extend: Tools.extend,\n      create: Tools.create,\n      walk: Tools.walk,\n      createNS: Tools.createNS,\n      resolve: Tools.resolve,\n      explode: Tools.explode,\n      _addCacheSuffix: Tools._addCacheSuffix,\n      isOpera: Env.opera,\n      isWebKit: Env.webkit,\n      isIE: Env.ie,\n      isGecko: Env.gecko,\n      isMac: Env.mac\n    };\n    var tinymce = Tools.extend(EditorManager, publicApi);\n\n    var exportToModuleLoaders = function (tinymce) {\n      if (true) {\n        try {\n          module.exports = tinymce;\n        } catch (_) {\n        }\n      }\n    };\n    var exportToWindowGlobal = function (tinymce) {\n      window.tinymce = tinymce;\n      window.tinyMCE = tinymce;\n    };\n    exportToWindowGlobal(tinymce);\n    exportToModuleLoaders(tinymce);\n\n}());\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/tinymce/tinymce.js?");

/***/ }),

/***/ "./node_modules/vue-clipboard2/vue-clipboard.js":
/*!******************************************************!*\
  !*** ./node_modules/vue-clipboard2/vue-clipboard.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Clipboard = __webpack_require__(/*! clipboard/dist/clipboard.min.js */ \"./node_modules/clipboard/dist/clipboard.min.js\") // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n  autoSetContainer: false,\n  appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n  install: function (Vue) {\n    var globalPrototype = Vue.version.slice(0, 2) === '3.' ? Vue.config.globalProperties : Vue.prototype\n    globalPrototype.$clipboardConfig = VueClipboardConfig\n    globalPrototype.$copyText = function (text, container) {\n      return new Promise(function (resolve, reject) {\n        var fakeElement = document.createElement('button')\n        var clipboard = new Clipboard(fakeElement, {\n          text: function () { return text },\n          action: function () { return 'copy' },\n          container: typeof container === 'object' ? container : document.body\n        })\n        clipboard.on('success', function (e) {\n          clipboard.destroy()\n          resolve(e)\n        })\n        clipboard.on('error', function (e) {\n          clipboard.destroy()\n          reject(e)\n        })\n        if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n        fakeElement.click()\n        if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n      })\n    }\n\n    Vue.directive('clipboard', {\n      bind: function (el, binding, vnode) {\n        if (binding.arg === 'success') {\n          el._vClipboard_success = binding.value\n        } else if (binding.arg === 'error') {\n          el._vClipboard_error = binding.value\n        } else {\n          var clipboard = new Clipboard(el, {\n            text: function () { return binding.value },\n            action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n            container: VueClipboardConfig.autoSetContainer ? el : undefined\n          })\n          clipboard.on('success', function (e) {\n            var callback = el._vClipboard_success\n            callback && callback(e)\n          })\n          clipboard.on('error', function (e) {\n            var callback = el._vClipboard_error\n            callback && callback(e)\n          })\n          el._vClipboard = clipboard\n        }\n      },\n      update: function (el, binding) {\n        if (binding.arg === 'success') {\n          el._vClipboard_success = binding.value\n        } else if (binding.arg === 'error') {\n          el._vClipboard_error = binding.value\n        } else {\n          el._vClipboard.text = function () { return binding.value }\n          el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n        }\n      },\n      unbind: function (el, binding) {\n        // FIXME: investigate why $element._vClipboard was missing\n        if (!el._vClipboard) return\n        if (binding.arg === 'success') {\n          delete el._vClipboard_success\n        } else if (binding.arg === 'error') {\n          delete el._vClipboard_error\n        } else {\n          el._vClipboard.destroy()\n          delete el._vClipboard\n        }\n      }\n    })\n  },\n  config: VueClipboardConfig\n}\n\nif (true) {\n  module.exports = VueClipboard\n} else {}\n\n\n//# sourceURL=webpack:///./node_modules/vue-clipboard2/vue-clipboard.js?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/index.js":
/*!*************************************************!*\
  !*** ./node_modules/vue-contextmenujs/index.js ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/index */ \"./node_modules/vue-contextmenujs/src/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_src_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/index.js?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Contextmenu.vue":
/*!***********************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Contextmenu.vue ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _Contextmenu_vue_vue_type_template_id_1ee512b4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Contextmenu.vue?vue&type=template&id=1ee512b4& */ \"./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=template&id=1ee512b4&\");\n/* harmony import */ var _Contextmenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Contextmenu.vue?vue&type=script&lang=js& */ \"./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Contextmenu.vue?vue&type=style&index=0&module=true&lang=css& */ \"./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css&\");\n/* harmony import */ var _vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\nvar cssModules = {}\nvar disposed = false\n\nfunction injectStyles (context) {\n  if (disposed) return\n  \n        cssModules[\"$style\"] = (_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_2__[\"default\"].locals || _Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n        Object.defineProperty(this, \"$style\", {\n          configurable: true,\n          get: function () {\n            return cssModules[\"$style\"]\n          }\n        })\n      \n}\n\n\n  module.hot && false\n\n\n\n        module.hot && false\n\n/* normalize component */\n\nvar component = Object(_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _Contextmenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _Contextmenu_vue_vue_type_template_id_1ee512b4___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _Contextmenu_vue_vue_type_template_id_1ee512b4___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  injectStyles,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"node_modules/vue-contextmenujs/src/components/Contextmenu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=script&lang=js&":
/*!************************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_dist_cjs_js_ref_13_0_babel_loader_lib_index_js_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../cache-loader/dist/cjs.js??ref--13-0!../../../babel-loader/lib!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Contextmenu.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_cache_loader_dist_cjs_js_ref_13_0_babel_loader_lib_index_js_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css&":
/*!********************************************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css& ***!
  \********************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _vue_style_loader_index_js_ref_7_oneOf_0_0_css_loader_dist_cjs_js_ref_7_oneOf_0_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_0_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../vue-style-loader??ref--7-oneOf-0-0!../../../css-loader/dist/cjs.js??ref--7-oneOf-0-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src??ref--7-oneOf-0-2!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Contextmenu.vue?vue&type=style&index=0&module=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css&\");\n/* harmony import */ var _vue_style_loader_index_js_ref_7_oneOf_0_0_css_loader_dist_cjs_js_ref_7_oneOf_0_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_0_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_style_loader_index_js_ref_7_oneOf_0_0_css_loader_dist_cjs_js_ref_7_oneOf_0_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_0_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (default from non-harmony) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _vue_style_loader_index_js_ref_7_oneOf_0_0_css_loader_dist_cjs_js_ref_7_oneOf_0_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_0_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a; });\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _vue_style_loader_index_js_ref_7_oneOf_0_0_css_loader_dist_cjs_js_ref_7_oneOf_0_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_0_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _vue_style_loader_index_js_ref_7_oneOf_0_0_css_loader_dist_cjs_js_ref_7_oneOf_0_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_0_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_style_index_0_module_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n \n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=template&id=1ee512b4&":
/*!******************************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=template&id=1ee512b4& ***!
  \******************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_template_id_1ee512b4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Contextmenu.vue?vue&type=template&id=1ee512b4& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=template&id=1ee512b4&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_template_id_1ee512b4___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Contextmenu_vue_vue_type_template_id_1ee512b4___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Submenu.vue":
/*!*******************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Submenu.vue ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Submenu_vue_vue_type_template_id_e3a2c392_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Submenu.vue?vue&type=template&id=e3a2c392&scoped=true& */ \"./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=template&id=e3a2c392&scoped=true&\");\n/* harmony import */ var _Submenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Submenu.vue?vue&type=script&lang=js& */ \"./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Submenu_vue_vue_type_style_index_0_id_e3a2c392_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css& */ \"./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css&\");\n/* harmony import */ var _Submenu_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Submenu.vue?vue&type=style&index=1&lang=css& */ \"./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css&\");\n/* harmony import */ var _vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n  _Submenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _Submenu_vue_vue_type_template_id_e3a2c392_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _Submenu_vue_vue_type_template_id_e3a2c392_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"e3a2c392\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"node_modules/vue-contextmenujs/src/components/Submenu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=script&lang=js&":
/*!********************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=script&lang=js& ***!
  \********************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_dist_cjs_js_ref_13_0_babel_loader_lib_index_js_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../cache-loader/dist/cjs.js??ref--13-0!../../../babel-loader/lib!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Submenu.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_cache_loader_dist_cjs_js_ref_13_0_babel_loader_lib_index_js_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css&":
/*!****************************************************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css& ***!
  \****************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_0_id_e3a2c392_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../vue-style-loader??ref--7-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src??ref--7-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css&\");\n/* harmony import */ var _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_0_id_e3a2c392_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_0_id_e3a2c392_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_0_id_e3a2c392_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_0_id_e3a2c392_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css&":
/*!****************************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css& ***!
  \****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../vue-style-loader??ref--7-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src??ref--7-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Submenu.vue?vue&type=style&index=1&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css&\");\n/* harmony import */ var _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _vue_style_loader_index_js_ref_7_oneOf_1_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_7_oneOf_1_2_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=template&id=e3a2c392&scoped=true&":
/*!**************************************************************************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=template&id=e3a2c392&scoped=true& ***!
  \**************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_template_id_e3a2c392_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Submenu.vue?vue&type=template&id=e3a2c392&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=template&id=e3a2c392&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_template_id_e3a2c392_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_cache_loader_dist_cjs_js_ref_1_0_vue_loader_lib_index_js_vue_loader_options_Submenu_vue_vue_type_template_id_e3a2c392_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/constant.js":
/*!********************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/constant.js ***!
  \********************************************************/
/*! exports provided: SUBMENU_X_OFFSET, SUBMENU_Y_OFFSET, SUBMENU_OPEN_TREND_LEFT, SUBMENU_OPEN_TREND_RIGHT, COMPONENT_NAME */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SUBMENU_X_OFFSET\", function() { return SUBMENU_X_OFFSET; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SUBMENU_Y_OFFSET\", function() { return SUBMENU_Y_OFFSET; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SUBMENU_OPEN_TREND_LEFT\", function() { return SUBMENU_OPEN_TREND_LEFT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SUBMENU_OPEN_TREND_RIGHT\", function() { return SUBMENU_OPEN_TREND_RIGHT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COMPONENT_NAME\", function() { return COMPONENT_NAME; });\nvar SUBMENU_X_OFFSET = 3;\nvar SUBMENU_Y_OFFSET = -8;\nvar SUBMENU_OPEN_TREND_LEFT = \"left\";\nvar SUBMENU_OPEN_TREND_RIGHT = \"right\";\nvar COMPONENT_NAME = \"contextmenu-submenu\";\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/constant.js?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/index.js":
/*!*****************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/index.js ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _components_Contextmenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Contextmenu */ \"./node_modules/vue-contextmenujs/src/components/Contextmenu.vue\");\n/* harmony import */ var _components_Submenu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Submenu */ \"./node_modules/vue-contextmenujs/src/components/Submenu.vue\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constant */ \"./node_modules/vue-contextmenujs/src/constant.js\");\n\n\n\n\nvar ContextmenuConstructor = vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(_components_Contextmenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component(_constant__WEBPACK_IMPORTED_MODULE_3__[\"COMPONENT_NAME\"], _components_Submenu__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nfunction install(Vue) {\n  var lastInstance = null;\n\n  var ContextmenuProxy = function ContextmenuProxy(options) {\n    var instance = new ContextmenuConstructor();\n    instance.items = options.items;\n    instance.position.x = options.x || 0;\n    instance.position.y = options.y || 0;\n\n    if (options.event) {\n      instance.position.x = options.event.clientX;\n      instance.position.y = options.event.clientY;\n    }\n\n    instance.customClass = options.customClass;\n    options.minWidth && (instance.style.minWidth = options.minWidth);\n    options.zIndex && (instance.style.zIndex = options.zIndex);\n    ContextmenuProxy.destroy();\n    lastInstance = instance;\n    instance.$mount();\n  };\n\n  ContextmenuProxy.destroy = function () {\n    if (lastInstance) {\n      lastInstance.$destroy();\n      lastInstance = null;\n    }\n  };\n\n  Vue.prototype.$contextmenu = ContextmenuProxy;\n}\n\nif (window && window.Vue) {\n  install(window.Vue);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  install: install\n});\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/index.js?");

/***/ }),

/***/ "./node_modules/vue-contextmenujs/src/util.js":
/*!****************************************************!*\
  !*** ./node_modules/vue-contextmenujs/src/util.js ***!
  \****************************************************/
/*! exports provided: hasClass, getElementsByClassName, uuid */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasClass\", function() { return hasClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getElementsByClassName\", function() { return getElementsByClassName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uuid\", function() { return uuid; });\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js */ \"./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\nfunction hasClass(el, className) {\n  if (!className) {\n    return true;\n  }\n\n  if (!el || !el.className || typeof el.className !== 'string') {\n    return false;\n  }\n\n  var _iterator = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el.className.split(/\\s+/)),\n      _step;\n\n  try {\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var cn = _step.value;\n\n      if (cn === className) {\n        return true;\n      }\n    }\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n\n  return false;\n}\nfunction getElementsByClassName(className) {\n  var els = [];\n\n  var _iterator2 = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document.getElementsByClassName(className) || []),\n      _step2;\n\n  try {\n    for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n      var el = _step2.value;\n      els.push(el);\n    }\n  } catch (err) {\n    _iterator2.e(err);\n  } finally {\n    _iterator2.f();\n  }\n\n  return els;\n}\nfunction uuid() {\n  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n    var r = Math.random() * 16 | 0,\n        v = c == 'x' ? r : r & 0x3 | 0x8;\n    return v.toString(16);\n  });\n}\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/util.js?");

/***/ }),

/***/ "./node_modules/vue-cookies/vue-cookies.js":
/*!*************************************************!*\
  !*** ./node_modules/vue-cookies/vue-cookies.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/**\r\n * Vue Cookies v1.8.1\r\n * https://github.com/cmp-cc/vue-cookies\r\n *\r\n * Copyright 2016, cmp-cc\r\n * Released under the MIT license\r\n */\r\n\r\n (function () {\r\n\r\n  var defaultConfig = {\r\n    expires: '1d',\r\n    path: '; path=/',\r\n    domain: '',\r\n    secure: '',\r\n    sameSite: '; SameSite=Lax'\r\n  };\r\n\r\n  var VueCookies = {\r\n    // install of Vue\r\n    install: function (Vue, options) {\r\n      if (options) this.config(options.expires, options.path, options.domain, options.secure, options.sameSite);\r\n      if (Vue.prototype) Vue.prototype.$cookies = this;\r\n      if (Vue.config && Vue.config.globalProperties) {\r\n        Vue.config.globalProperties.$cookies = this;\r\n        Vue.provide('$cookies', this);\r\n      }\r\n      Vue.$cookies = this;\r\n    },\r\n    config: function (expires, path, domain, secure, sameSite) {\r\n      defaultConfig.expires = expires ? expires : '1d';\r\n      defaultConfig.path = path ? '; path=' + path : '; path=/';\r\n      defaultConfig.domain = domain ? '; domain=' + domain : '';\r\n      defaultConfig.secure = secure ? '; Secure' : '';\r\n      defaultConfig.sameSite = sameSite ? '; SameSite=' + sameSite : '; SameSite=Lax';\r\n    },\r\n    get: function (key) {\r\n      var value = decodeURIComponent(document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\r\n\r\n      if (value && value.substring(0, 1) === '{' && value.substring(value.length - 1, value.length) === '}') {\r\n        try {\r\n          value = JSON.parse(value);\r\n        } catch (e) {\r\n          return value;\r\n        }\r\n      }\r\n      return value;\r\n    },\r\n    set: function (key, value, expires, path, domain, secure, sameSite) {\r\n      if (!key) {\r\n        throw new Error('Cookie name is not found in the first argument.');\r\n      } else if (/^(?:expires|max\\-age|path|domain|secure|SameSite)$/i.test(key)) {\r\n        throw new Error('Cookie name illegality. Cannot be set to [\"expires\",\"max-age\",\"path\",\"domain\",\"secure\",\"SameSite\"]\\t current key name: ' + key);\r\n      }\r\n      // support json object\r\n      if (value && value.constructor === Object) {\r\n        value = JSON.stringify(value);\r\n      }\r\n      var _expires = '';\r\n      expires = expires == undefined ? defaultConfig.expires : expires;\r\n      if (expires && expires != 0) {\r\n        switch (expires.constructor) {\r\n          case Number:\r\n            if (expires === Infinity || expires === -1) _expires = '; expires=Fri, 31 Dec 9999 23:59:59 GMT';\r\n            else _expires = '; max-age=' + expires;\r\n            break;\r\n          case String:\r\n            if (/^(?:\\d+(y|m|d|h|min|s))$/i.test(expires)) {\r\n              // get capture number group\r\n              var _expireTime = expires.replace(/^(\\d+)(?:y|m|d|h|min|s)$/i, '$1');\r\n              // get capture type group , to lower case\r\n              switch (expires.replace(/^(?:\\d+)(y|m|d|h|min|s)$/i, '$1').toLowerCase()) {\r\n                  // Frequency sorting\r\n                case 'm':\r\n                  _expires = '; max-age=' + +_expireTime * 2592000;\r\n                  break; // 60 * 60 * 24 * 30\r\n                case 'd':\r\n                  _expires = '; max-age=' + +_expireTime * 86400;\r\n                  break; // 60 * 60 * 24\r\n                case 'h':\r\n                  _expires = '; max-age=' + +_expireTime * 3600;\r\n                  break; // 60 * 60\r\n                case 'min':\r\n                  _expires = '; max-age=' + +_expireTime * 60;\r\n                  break; // 60\r\n                case 's':\r\n                  _expires = '; max-age=' + _expireTime;\r\n                  break;\r\n                case 'y':\r\n                  _expires = '; max-age=' + +_expireTime * 31104000;\r\n                  break; // 60 * 60 * 24 * 30 * 12\r\n                default:\r\n                  new Error('unknown exception of \"set operation\"');\r\n              }\r\n            } else {\r\n              _expires = '; expires=' + expires;\r\n            }\r\n            break;\r\n          case Date:\r\n            _expires = '; expires=' + expires.toUTCString();\r\n            break;\r\n        }\r\n      }\r\n      document.cookie =\r\n          encodeURIComponent(key) + '=' + encodeURIComponent(value) +\r\n          _expires +\r\n          (domain ? '; domain=' + domain : defaultConfig.domain) +\r\n          (path ? '; path=' + path : defaultConfig.path) +\r\n          (secure == undefined ? defaultConfig.secure : secure ? '; Secure' : '') +\r\n          (sameSite == undefined ? defaultConfig.sameSite : (sameSite ? '; SameSite=' + sameSite : ''));\r\n      return this;\r\n    },\r\n    remove: function (key, path, domain) {\r\n      if (!key || !this.isKey(key)) {\r\n        return false;\r\n      }\r\n      document.cookie = encodeURIComponent(key) +\r\n          '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' +\r\n          (domain ? '; domain=' + domain : defaultConfig.domain) +\r\n          (path ? '; path=' + path : defaultConfig.path) +\r\n          '; SameSite=Lax';\r\n      return true;\r\n    },\r\n    isKey: function (key) {\r\n      return (new RegExp('(?:^|;\\\\s*)' + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=')).test(document.cookie);\r\n    },\r\n    keys: function () {\r\n      if (!document.cookie) return [];\r\n      var _keys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, '').split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n      for (var _index = 0; _index < _keys.length; _index++) {\r\n        _keys[_index] = decodeURIComponent(_keys[_index]);\r\n      }\r\n      return _keys;\r\n    }\r\n  };\r\n\r\n  if (true) {\r\n    module.exports = VueCookies;\r\n  } else {}\r\n  // vue-cookies can exist independently,no dependencies library\r\n  if (typeof window !== 'undefined') {\r\n    window.$cookies = VueCookies;\r\n  }\r\n\r\n})();\r\n\n\n//# sourceURL=webpack:///./node_modules/vue-cookies/vue-cookies.js?");

/***/ }),

/***/ "./node_modules/vue-i18n/dist/vue-i18n.esm.js":
/*!****************************************************!*\
  !*** ./node_modules/vue-i18n/dist/vue-i18n.esm.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*!\n * vue-i18n v8.27.1 \n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\n/*  */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n  'compactDisplay',\n  'currency',\n  'currencyDisplay',\n  'currencySign',\n  'localeMatcher',\n  'notation',\n  'numberingSystem',\n  'signDisplay',\n  'style',\n  'unit',\n  'unitDisplay',\n  'useGrouping',\n  'minimumIntegerDigits',\n  'minimumFractionDigits',\n  'maximumFractionDigits',\n  'minimumSignificantDigits',\n  'maximumSignificantDigits'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n  if (typeof console !== 'undefined') {\n    console.warn('[vue-i18n] ' + msg);\n    /* istanbul ignore if */\n    if (err) {\n      console.warn(err.stack);\n    }\n  }\n}\n\nfunction error (msg, err) {\n  if (typeof console !== 'undefined') {\n    console.error('[vue-i18n] ' + msg);\n    /* istanbul ignore if */\n    if (err) {\n      console.error(err.stack);\n    }\n  }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n  return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n  return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n  return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n  return val === null || val === undefined\n}\n\nfunction isFunction (val) {\n  return typeof val === 'function'\n}\n\nfunction parseArgs () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  var locale = null;\n  var params = null;\n  if (args.length === 1) {\n    if (isObject(args[0]) || isArray(args[0])) {\n      params = args[0];\n    } else if (typeof args[0] === 'string') {\n      locale = args[0];\n    }\n  } else if (args.length === 2) {\n    if (typeof args[0] === 'string') {\n      locale = args[0];\n    }\n    /* istanbul ignore if */\n    if (isObject(args[1]) || isArray(args[1])) {\n      params = args[1];\n    }\n  }\n\n  return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n  return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n  if (arr.delete(item)) {\n    return arr\n  }\n}\n\nfunction arrayFrom (arr) {\n  var ret = [];\n  arr.forEach(function (a) { return ret.push(a); });\n  return ret\n}\n\nfunction includes (arr, item) {\n  return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n  var arguments$1 = arguments;\n\n  var output = Object(target);\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments$1[i];\n    if (source !== undefined && source !== null) {\n      var key = (void 0);\n      for (key in source) {\n        if (hasOwn(source, key)) {\n          if (isObject(source[key])) {\n            output[key] = merge(output[key], source[key]);\n          } else {\n            output[key] = source[key];\n          }\n        }\n      }\n    }\n  }\n  return output\n}\n\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = isArray(a);\n      var isArrayB = isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/**\n * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.\n * @param rawText The raw input from the user that should be escaped.\n */\nfunction escapeHtml(rawText) {\n  return rawText\n    .replace(/</g, '&lt;')\n    .replace(/>/g, '&gt;')\n    .replace(/\"/g, '&quot;')\n    .replace(/'/g, '&apos;')\n}\n\n/**\n * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.\n * This method performs an in-place operation on the params object.\n *\n * @param {any} params Parameters as provided from `parseArgs().params`.\n *                     May be either an array of strings or a string->any map.\n *\n * @returns The manipulated `params` object.\n */\nfunction escapeParams(params) {\n  if(params != null) {\n    Object.keys(params).forEach(function (key) {\n      if(typeof(params[key]) == 'string') {\n        params[key] = escapeHtml(params[key]);\n      }\n    });\n  }\n  return params\n}\n\n/*  */\n\nfunction extend (Vue) {\n  if (!Vue.prototype.hasOwnProperty('$i18n')) {\n    // $FlowFixMe\n    Object.defineProperty(Vue.prototype, '$i18n', {\n      get: function get () { return this._i18n }\n    });\n  }\n\n  Vue.prototype.$t = function (key) {\n    var values = [], len = arguments.length - 1;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n    var i18n = this.$i18n;\n    return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n  };\n\n  Vue.prototype.$tc = function (key, choice) {\n    var values = [], len = arguments.length - 2;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n    var i18n = this.$i18n;\n    return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n  };\n\n  Vue.prototype.$te = function (key, locale) {\n    var i18n = this.$i18n;\n    return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n  };\n\n  Vue.prototype.$d = function (value) {\n    var ref;\n\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n    return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n  };\n\n  Vue.prototype.$n = function (value) {\n    var ref;\n\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n    return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n  };\n}\n\n/*  */\n\n/**\n * Mixin\n * \n * If `bridge` mode, empty mixin is returned,\n * else regulary mixin implementation is returned.\n */\nfunction defineMixin (bridge) {\n  if ( bridge === void 0 ) bridge = false;\n\n  function mounted () {\n    if (this !== this.$root && this.$options.__INTLIFY_META__ && this.$el) {\n      this.$el.setAttribute('data-intlify', this.$options.__INTLIFY_META__);\n    }\n  }\n\n  return bridge\n    ? { mounted: mounted } // delegate `vue-i18n-bridge` mixin implementation\n    : { // regulary \n    beforeCreate: function beforeCreate () {\n      var options = this.$options;\n      options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n      if (options.i18n) {\n        if (options.i18n instanceof VueI18n) {\n          // init locale messages via custom blocks\n          if ((options.__i18nBridge || options.__i18n)) {\n            try {\n              var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n              var _i18n = options.__i18nBridge || options.__i18n;\n              _i18n.forEach(function (resource) {\n                localeMessages = merge(localeMessages, JSON.parse(resource));\n              });\n              Object.keys(localeMessages).forEach(function (locale) {\n                options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n              });\n            } catch (e) {\n              if (true) {\n                error(\"Cannot parse locale messages via custom blocks.\", e);\n              }\n            }\n          }\n          this._i18n = options.i18n;\n          this._i18nWatcher = this._i18n.watchI18nData();\n        } else if (isPlainObject(options.i18n)) {\n          var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n            ? this.$root.$i18n\n            : null;\n          // component local i18n\n          if (rootI18n) {\n            options.i18n.root = this.$root;\n            options.i18n.formatter = rootI18n.formatter;\n            options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n            options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n            options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n            options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n            options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n            options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n          }\n\n          // init locale messages via custom blocks\n          if ((options.__i18nBridge || options.__i18n)) {\n            try {\n              var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n              var _i18n$1 = options.__i18nBridge || options.__i18n;\n              _i18n$1.forEach(function (resource) {\n                localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n              });\n              options.i18n.messages = localeMessages$1;\n            } catch (e) {\n              if (true) {\n                warn(\"Cannot parse locale messages via custom blocks.\", e);\n              }\n            }\n          }\n\n          var ref = options.i18n;\n          var sharedMessages = ref.sharedMessages;\n          if (sharedMessages && isPlainObject(sharedMessages)) {\n            options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n          }\n\n          this._i18n = new VueI18n(options.i18n);\n          this._i18nWatcher = this._i18n.watchI18nData();\n\n          if (options.i18n.sync === undefined || !!options.i18n.sync) {\n            this._localeWatcher = this.$i18n.watchLocale();\n          }\n\n          if (rootI18n) {\n            rootI18n.onComponentInstanceCreated(this._i18n);\n          }\n        } else {\n          if (true) {\n            warn(\"Cannot be interpreted 'i18n' option.\");\n          }\n        }\n      } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n        // root i18n\n        this._i18n = this.$root.$i18n;\n      } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n        // parent i18n\n        this._i18n = options.parent.$i18n;\n      }\n    },\n\n    beforeMount: function beforeMount () {\n      var options = this.$options;\n      options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n      if (options.i18n) {\n        if (options.i18n instanceof VueI18n) {\n          // init locale messages via custom blocks\n          this._i18n.subscribeDataChanging(this);\n          this._subscribing = true;\n        } else if (isPlainObject(options.i18n)) {\n          this._i18n.subscribeDataChanging(this);\n          this._subscribing = true;\n        } else {\n          if (true) {\n            warn(\"Cannot be interpreted 'i18n' option.\");\n          }\n        }\n      } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n        this._i18n.subscribeDataChanging(this);\n        this._subscribing = true;\n      } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n        this._i18n.subscribeDataChanging(this);\n        this._subscribing = true;\n      }\n    },\n\n    mounted: mounted,\n\n    beforeDestroy: function beforeDestroy () {\n      if (!this._i18n) { return }\n\n      var self = this;\n      this.$nextTick(function () {\n        if (self._subscribing) {\n          self._i18n.unsubscribeDataChanging(self);\n          delete self._subscribing;\n        }\n\n        if (self._i18nWatcher) {\n          self._i18nWatcher();\n          self._i18n.destroyVM();\n          delete self._i18nWatcher;\n        }\n\n        if (self._localeWatcher) {\n          self._localeWatcher();\n          delete self._localeWatcher;\n        }\n      });\n    }\n  }\n}\n\n/*  */\n\nvar interpolationComponent = {\n  name: 'i18n',\n  functional: true,\n  props: {\n    tag: {\n      type: [String, Boolean, Object],\n      default: 'span'\n    },\n    path: {\n      type: String,\n      required: true\n    },\n    locale: {\n      type: String\n    },\n    places: {\n      type: [Array, Object]\n    }\n  },\n  render: function render (h, ref) {\n    var data = ref.data;\n    var parent = ref.parent;\n    var props = ref.props;\n    var slots = ref.slots;\n\n    var $i18n = parent.$i18n;\n    if (!$i18n) {\n      if (true) {\n        warn('Cannot find VueI18n instance!');\n      }\n      return\n    }\n\n    var path = props.path;\n    var locale = props.locale;\n    var places = props.places;\n    var params = slots();\n    var children = $i18n.i(\n      path,\n      locale,\n      onlyHasDefaultPlace(params) || places\n        ? useLegacyPlaces(params.default, places)\n        : params\n    );\n\n    var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n    return tag ? h(tag, data, children) : children\n  }\n};\n\nfunction onlyHasDefaultPlace (params) {\n  var prop;\n  for (prop in params) {\n    if (prop !== 'default') { return false }\n  }\n  return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n  var params = places ? createParamsFromPlaces(places) : {};\n\n  if (!children) { return params }\n\n  // Filter empty text nodes\n  children = children.filter(function (child) {\n    return child.tag || child.text.trim() !== ''\n  });\n\n  var everyPlace = children.every(vnodeHasPlaceAttribute);\n  if ( true && everyPlace) {\n    warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n  }\n\n  return children.reduce(\n    everyPlace ? assignChildPlace : assignChildIndex,\n    params\n  )\n}\n\nfunction createParamsFromPlaces (places) {\n  if (true) {\n    warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n  }\n\n  return Array.isArray(places)\n    ? places.reduce(assignChildIndex, {})\n    : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n  if (child.data && child.data.attrs && child.data.attrs.place) {\n    params[child.data.attrs.place] = child;\n  }\n  return params\n}\n\nfunction assignChildIndex (params, child, index) {\n  params[index] = child;\n  return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n  return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/*  */\n\nvar numberComponent = {\n  name: 'i18n-n',\n  functional: true,\n  props: {\n    tag: {\n      type: [String, Boolean, Object],\n      default: 'span'\n    },\n    value: {\n      type: Number,\n      required: true\n    },\n    format: {\n      type: [String, Object]\n    },\n    locale: {\n      type: String\n    }\n  },\n  render: function render (h, ref) {\n    var props = ref.props;\n    var parent = ref.parent;\n    var data = ref.data;\n\n    var i18n = parent.$i18n;\n\n    if (!i18n) {\n      if (true) {\n        warn('Cannot find VueI18n instance!');\n      }\n      return null\n    }\n\n    var key = null;\n    var options = null;\n\n    if (isString(props.format)) {\n      key = props.format;\n    } else if (isObject(props.format)) {\n      if (props.format.key) {\n        key = props.format.key;\n      }\n\n      // Filter out number format options only\n      options = Object.keys(props.format).reduce(function (acc, prop) {\n        var obj;\n\n        if (includes(numberFormatKeys, prop)) {\n          return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n        }\n        return acc\n      }, null);\n    }\n\n    var locale = props.locale || i18n.locale;\n    var parts = i18n._ntp(props.value, locale, key, options);\n\n    var values = parts.map(function (part, index) {\n      var obj;\n\n      var slot = data.scopedSlots && data.scopedSlots[part.type];\n      return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n    });\n\n    var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n    return tag\n      ? h(tag, {\n        attrs: data.attrs,\n        'class': data['class'],\n        staticClass: data.staticClass\n      }, values)\n      : values\n  }\n};\n\n/*  */\n\nfunction bind (el, binding, vnode) {\n  if (!assert(el, vnode)) { return }\n\n  t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n  if (!assert(el, vnode)) { return }\n\n  var i18n = vnode.context.$i18n;\n  if (localeEqual(el, vnode) &&\n    (looseEqual(binding.value, binding.oldValue) &&\n     looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n  t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n  var vm = vnode.context;\n  if (!vm) {\n    warn('Vue instance does not exists in VNode context');\n    return\n  }\n\n  var i18n = vnode.context.$i18n || {};\n  if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n    el.textContent = '';\n  }\n  el._vt = undefined;\n  delete el['_vt'];\n  el._locale = undefined;\n  delete el['_locale'];\n  el._localeMessage = undefined;\n  delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n  var vm = vnode.context;\n  if (!vm) {\n    warn('Vue instance does not exists in VNode context');\n    return false\n  }\n\n  if (!vm.$i18n) {\n    warn('VueI18n instance does not exists in Vue instance');\n    return false\n  }\n\n  return true\n}\n\nfunction localeEqual (el, vnode) {\n  var vm = vnode.context;\n  return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n  var ref$1, ref$2;\n\n  var value = binding.value;\n\n  var ref = parseValue(value);\n  var path = ref.path;\n  var locale = ref.locale;\n  var args = ref.args;\n  var choice = ref.choice;\n  if (!path && !locale && !args) {\n    warn('value type not supported');\n    return\n  }\n\n  if (!path) {\n    warn('`path` is required in v-t directive');\n    return\n  }\n\n  var vm = vnode.context;\n  if (choice != null) {\n    el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n  } else {\n    el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n  }\n  el._locale = vm.$i18n.locale;\n  el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n  var path;\n  var locale;\n  var args;\n  var choice;\n\n  if (isString(value)) {\n    path = value;\n  } else if (isPlainObject(value)) {\n    path = value.path;\n    locale = value.locale;\n    args = value.args;\n    choice = value.choice;\n  }\n\n  return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n  var params = [];\n\n  locale && params.push(locale);\n  if (args && (Array.isArray(args) || isPlainObject(args))) {\n    params.push(args);\n  }\n\n  return params\n}\n\nvar Vue;\n\nfunction install (_Vue, options) {\n  if ( options === void 0 ) options = { bridge: false };\n\n  /* istanbul ignore if */\n  if ( true && install.installed && _Vue === Vue) {\n    warn('already installed.');\n    return\n  }\n  install.installed = true;\n\n  Vue = _Vue;\n\n  var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n  /* istanbul ignore if */\n  if ( true && version < 2) {\n    warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n    return\n  }\n\n  extend(Vue);\n  Vue.mixin(defineMixin(options.bridge));\n  Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n  Vue.component(interpolationComponent.name, interpolationComponent);\n  Vue.component(numberComponent.name, numberComponent);\n\n  // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n  var strats = Vue.config.optionMergeStrategies;\n  strats.i18n = function (parentVal, childVal) {\n    return childVal === undefined\n      ? parentVal\n      : childVal\n  };\n}\n\n/*  */\n\nvar BaseFormatter = function BaseFormatter () {\n  this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n  if (!values) {\n    return [message]\n  }\n  var tokens = this._caches[message];\n  if (!tokens) {\n    tokens = parse(message);\n    this._caches[message] = tokens;\n  }\n  return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n  var tokens = [];\n  var position = 0;\n\n  var text = '';\n  while (position < format.length) {\n    var char = format[position++];\n    if (char === '{') {\n      if (text) {\n        tokens.push({ type: 'text', value: text });\n      }\n\n      text = '';\n      var sub = '';\n      char = format[position++];\n      while (char !== undefined && char !== '}') {\n        sub += char;\n        char = format[position++];\n      }\n      var isClosed = char === '}';\n\n      var type = RE_TOKEN_LIST_VALUE.test(sub)\n        ? 'list'\n        : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n          ? 'named'\n          : 'unknown';\n      tokens.push({ value: sub, type: type });\n    } else if (char === '%') {\n      // when found rails i18n syntax, skip text capture\n      if (format[(position)] !== '{') {\n        text += char;\n      }\n    } else {\n      text += char;\n    }\n  }\n\n  text && tokens.push({ type: 'text', value: text });\n\n  return tokens\n}\n\nfunction compile (tokens, values) {\n  var compiled = [];\n  var index = 0;\n\n  var mode = Array.isArray(values)\n    ? 'list'\n    : isObject(values)\n      ? 'named'\n      : 'unknown';\n  if (mode === 'unknown') { return compiled }\n\n  while (index < tokens.length) {\n    var token = tokens[index];\n    switch (token.type) {\n      case 'text':\n        compiled.push(token.value);\n        break\n      case 'list':\n        compiled.push(values[parseInt(token.value, 10)]);\n        break\n      case 'named':\n        if (mode === 'named') {\n          compiled.push((values)[token.value]);\n        } else {\n          if (true) {\n            warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n          }\n        }\n        break\n      case 'unknown':\n        if (true) {\n          warn(\"Detect 'unknown' type of token!\");\n        }\n        break\n    }\n    index++;\n  }\n\n  return compiled\n}\n\n/*  */\n\n/**\n *  Path parser\n *  - Inspired:\n *    Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n  'ws': [BEFORE_PATH],\n  'ident': [IN_IDENT, APPEND],\n  '[': [IN_SUB_PATH],\n  'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n  'ws': [IN_PATH],\n  '.': [BEFORE_IDENT],\n  '[': [IN_SUB_PATH],\n  'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n  'ws': [BEFORE_IDENT],\n  'ident': [IN_IDENT, APPEND],\n  '0': [IN_IDENT, APPEND],\n  'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n  'ident': [IN_IDENT, APPEND],\n  '0': [IN_IDENT, APPEND],\n  'number': [IN_IDENT, APPEND],\n  'ws': [IN_PATH, PUSH],\n  '.': [BEFORE_IDENT, PUSH],\n  '[': [IN_SUB_PATH, PUSH],\n  'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n  \"'\": [IN_SINGLE_QUOTE, APPEND],\n  '\"': [IN_DOUBLE_QUOTE, APPEND],\n  '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n  ']': [IN_PATH, PUSH_SUB_PATH],\n  'eof': ERROR,\n  'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n  \"'\": [IN_SUB_PATH, APPEND],\n  'eof': ERROR,\n  'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n  '\"': [IN_SUB_PATH, APPEND],\n  'eof': ERROR,\n  'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n  return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n  var a = str.charCodeAt(0);\n  var b = str.charCodeAt(str.length - 1);\n  return a === b && (a === 0x22 || a === 0x27)\n    ? str.slice(1, -1)\n    : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n  if (ch === undefined || ch === null) { return 'eof' }\n\n  var code = ch.charCodeAt(0);\n\n  switch (code) {\n    case 0x5B: // [\n    case 0x5D: // ]\n    case 0x2E: // .\n    case 0x22: // \"\n    case 0x27: // '\n      return ch\n\n    case 0x5F: // _\n    case 0x24: // $\n    case 0x2D: // -\n      return 'ident'\n\n    case 0x09: // Tab\n    case 0x0A: // Newline\n    case 0x0D: // Return\n    case 0xA0:  // No-break space\n    case 0xFEFF:  // Byte Order Mark\n    case 0x2028:  // Line Separator\n    case 0x2029:  // Paragraph Separator\n      return 'ws'\n  }\n\n  return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n  var trimmed = path.trim();\n  // invalid leading 0\n  if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n  return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n  var keys = [];\n  var index = -1;\n  var mode = BEFORE_PATH;\n  var subPathDepth = 0;\n  var c;\n  var key;\n  var newChar;\n  var type;\n  var transition;\n  var action;\n  var typeMap;\n  var actions = [];\n\n  actions[PUSH] = function () {\n    if (key !== undefined) {\n      keys.push(key);\n      key = undefined;\n    }\n  };\n\n  actions[APPEND] = function () {\n    if (key === undefined) {\n      key = newChar;\n    } else {\n      key += newChar;\n    }\n  };\n\n  actions[INC_SUB_PATH_DEPTH] = function () {\n    actions[APPEND]();\n    subPathDepth++;\n  };\n\n  actions[PUSH_SUB_PATH] = function () {\n    if (subPathDepth > 0) {\n      subPathDepth--;\n      mode = IN_SUB_PATH;\n      actions[APPEND]();\n    } else {\n      subPathDepth = 0;\n      if (key === undefined) { return false }\n      key = formatSubPath(key);\n      if (key === false) {\n        return false\n      } else {\n        actions[PUSH]();\n      }\n    }\n  };\n\n  function maybeUnescapeQuote () {\n    var nextChar = path[index + 1];\n    if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n      (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n      index++;\n      newChar = '\\\\' + nextChar;\n      actions[APPEND]();\n      return true\n    }\n  }\n\n  while (mode !== null) {\n    index++;\n    c = path[index];\n\n    if (c === '\\\\' && maybeUnescapeQuote()) {\n      continue\n    }\n\n    type = getPathCharType(c);\n    typeMap = pathStateMachine[mode];\n    transition = typeMap[type] || typeMap['else'] || ERROR;\n\n    if (transition === ERROR) {\n      return // parse error\n    }\n\n    mode = transition[0];\n    action = actions[transition[1]];\n    if (action) {\n      newChar = transition[2];\n      newChar = newChar === undefined\n        ? c\n        : newChar;\n      if (action() === false) {\n        return\n      }\n    }\n\n    if (mode === AFTER_PATH) {\n      return keys\n    }\n  }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n  this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n  var hit = this._cache[path];\n  if (!hit) {\n    hit = parse$1(path);\n    if (hit) {\n      this._cache[path] = hit;\n    }\n  }\n  return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n  if (!isObject(obj)) { return null }\n\n  var paths = this.parsePath(path);\n  if (paths.length === 0) {\n    return null\n  } else {\n    var length = paths.length;\n    var last = obj;\n    var i = 0;\n    while (i < length) {\n      var value = last[paths[i]];\n      if (value === undefined || value === null) {\n        return null\n      }\n      last = value;\n      i++;\n    }\n\n    return last\n  }\n};\n\n/*  */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|./]+|\\([\\w\\-_:|./]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n  'upper': function (str) { return str.toLocaleUpperCase(); },\n  'lower': function (str) { return str.toLocaleLowerCase(); },\n  'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n  var this$1 = this;\n  if ( options === void 0 ) options = {};\n\n  // Auto install if it is not done yet and `window` has `Vue`.\n  // To allow users to avoid auto-installation in some cases,\n  // this code should be placed here. See #290\n  /* istanbul ignore if */\n  if (!Vue && typeof window !== 'undefined' && window.Vue) {\n    install(window.Vue);\n  }\n\n  var locale = options.locale || 'en-US';\n  var fallbackLocale = options.fallbackLocale === false\n    ? false\n    : options.fallbackLocale || 'en-US';\n  var messages = options.messages || {};\n  var dateTimeFormats = options.dateTimeFormats || options.datetimeFormats || {};\n  var numberFormats = options.numberFormats || {};\n\n  this._vm = null;\n  this._formatter = options.formatter || defaultFormatter;\n  this._modifiers = options.modifiers || {};\n  this._missing = options.missing || null;\n  this._root = options.root || null;\n  this._sync = options.sync === undefined ? true : !!options.sync;\n  this._fallbackRoot = options.fallbackRoot === undefined\n    ? true\n    : !!options.fallbackRoot;\n  this._fallbackRootWithEmptyString = options.fallbackRootWithEmptyString === undefined\n    ? true\n    : !!options.fallbackRootWithEmptyString;\n  this._formatFallbackMessages = options.formatFallbackMessages === undefined\n    ? false\n    : !!options.formatFallbackMessages;\n  this._silentTranslationWarn = options.silentTranslationWarn === undefined\n    ? false\n    : options.silentTranslationWarn;\n  this._silentFallbackWarn = options.silentFallbackWarn === undefined\n    ? false\n    : !!options.silentFallbackWarn;\n  this._dateTimeFormatters = {};\n  this._numberFormatters = {};\n  this._path = new I18nPath();\n  this._dataListeners = new Set();\n  this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n  this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n    ? false\n    : !!options.preserveDirectiveContent;\n  this.pluralizationRules = options.pluralizationRules || {};\n  this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n  this._postTranslation = options.postTranslation || null;\n  this._escapeParameterHtml = options.escapeParameterHtml || false;\n\n  if ('__VUE_I18N_BRIDGE__' in options) {\n    this.__VUE_I18N_BRIDGE__ = options.__VUE_I18N_BRIDGE__;\n  }\n\n  /**\n   * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n   * @param choicesLength {number} an overall amount of available choices\n   * @returns a final choice index\n  */\n  this.getChoiceIndex = function (choice, choicesLength) {\n    var thisPrototype = Object.getPrototypeOf(this$1);\n    if (thisPrototype && thisPrototype.getChoiceIndex) {\n      var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n      return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n    }\n\n    // Default (old) getChoiceIndex implementation - english-compatible\n    var defaultImpl = function (_choice, _choicesLength) {\n      _choice = Math.abs(_choice);\n\n      if (_choicesLength === 2) {\n        return _choice\n          ? _choice > 1\n            ? 1\n            : 0\n          : 1\n      }\n\n      return _choice ? Math.min(_choice, 2) : 0\n    };\n\n    if (this$1.locale in this$1.pluralizationRules) {\n      return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n    } else {\n      return defaultImpl(choice, choicesLength)\n    }\n  };\n\n\n  this._exist = function (message, key) {\n    if (!message || !key) { return false }\n    if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n    // fallback for flat key\n    if (message[key]) { return true }\n    return false\n  };\n\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    Object.keys(messages).forEach(function (locale) {\n      this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n    });\n  }\n\n  this._initVM({\n    locale: locale,\n    fallbackLocale: fallbackLocale,\n    messages: messages,\n    dateTimeFormats: dateTimeFormats,\n    numberFormats: numberFormats\n  });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true },sync: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n  var paths = [];\n\n  var fn = function (level, locale, message, paths) {\n    if (isPlainObject(message)) {\n      Object.keys(message).forEach(function (key) {\n        var val = message[key];\n        if (isPlainObject(val)) {\n          paths.push(key);\n          paths.push('.');\n          fn(level, locale, val, paths);\n          paths.pop();\n          paths.pop();\n        } else {\n          paths.push(key);\n          fn(level, locale, val, paths);\n          paths.pop();\n        }\n      });\n    } else if (isArray(message)) {\n      message.forEach(function (item, index) {\n        if (isPlainObject(item)) {\n          paths.push((\"[\" + index + \"]\"));\n          paths.push('.');\n          fn(level, locale, item, paths);\n          paths.pop();\n          paths.pop();\n        } else {\n          paths.push((\"[\" + index + \"]\"));\n          fn(level, locale, item, paths);\n          paths.pop();\n        }\n      });\n    } else if (isString(message)) {\n      var ret = htmlTagMatcher.test(message);\n      if (ret) {\n        var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n        if (level === 'warn') {\n          warn(msg);\n        } else if (level === 'error') {\n          error(msg);\n        }\n      }\n    }\n  };\n\n  fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n  var silent = Vue.config.silent;\n  Vue.config.silent = true;\n  this._vm = new Vue({ data: data, __VUE18N__INSTANCE__: true });\n  Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n  this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n  this._dataListeners.add(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n  remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n    var this$1 = this;\n  return this._vm.$watch('$data', function () {\n    var listeners = arrayFrom(this$1._dataListeners);\n    var i = listeners.length;\n    while(i--) {\n      Vue.nextTick(function () {\n        listeners[i] && listeners[i].$forceUpdate();\n      });\n    }\n  }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale (composer) {\n  if (!composer) {\n    /* istanbul ignore if */\n    if (!this._sync || !this._root) { return null }\n    var target = this._vm;\n    return this._root.$i18n.vm.$watch('locale', function (val) {\n      target.$set(target, 'locale', val);\n      target.$forceUpdate();\n    }, { immediate: true })\n  } else {\n    // deal with vue-i18n-bridge\n    if (!this.__VUE_I18N_BRIDGE__) { return null }\n    var self = this;\n    var target$1 = this._vm;\n    return this.vm.$watch('locale', function (val) {\n      target$1.$set(target$1, 'locale', val);\n      if (self.__VUE_I18N_BRIDGE__ && composer) {\n        composer.locale.value = val;\n      }\n      target$1.$forceUpdate();\n    }, { immediate: true })\n  }\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n  if (this._componentInstanceCreatedListener) {\n    this._componentInstanceCreatedListener(newI18n, this);\n  }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n  this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n  this._localeChainCache = {};\n  this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n    var this$1 = this;\n\n  var orgLevel = this._warnHtmlInMessage;\n  this._warnHtmlInMessage = level;\n  if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n    var messages = this._getMessages();\n    Object.keys(messages).forEach(function (locale) {\n      this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n    });\n  }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nprototypeAccessors.sync.get = function () { return this._sync };\nprototypeAccessors.sync.set = function (val) { this._sync = val; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n  if (!isNull(result)) { return result }\n  if (this._missing) {\n    var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n    if (isString(missingRet)) {\n      return missingRet\n    }\n  } else {\n    if ( true && !this._isSilentTranslationWarn(key)) {\n      warn(\n        \"Cannot translate the value of keypath '\" + key + \"'. \" +\n        'Use the value of keypath as default.'\n      );\n    }\n  }\n\n  if (this._formatFallbackMessages) {\n    var parsedArgs = parseArgs.apply(void 0, values);\n    return this._render(key, interpolateMode, parsedArgs.params, key)\n  } else {\n    return key\n  }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n  return (this._fallbackRootWithEmptyString? !val : isNull(val)) && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n  return this._silentFallbackWarn instanceof RegExp\n    ? this._silentFallbackWarn.test(key)\n    : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n  return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n  return this._silentTranslationWarn instanceof RegExp\n    ? this._silentTranslationWarn.test(key)\n    : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n  locale,\n  message,\n  key,\n  host,\n  interpolateMode,\n  values,\n  visitedLinkStack\n) {\n  if (!message) { return null }\n\n  var pathRet = this._path.getPathValue(message, key);\n  if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n  var ret;\n  if (isNull(pathRet)) {\n    /* istanbul ignore else */\n    if (isPlainObject(message)) {\n      ret = message[key];\n      if (!(isString(ret) || isFunction(ret))) {\n        if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n          warn((\"Value of key '\" + key + \"' is not a string or function !\"));\n        }\n        return null\n      }\n    } else {\n      return null\n    }\n  } else {\n    /* istanbul ignore else */\n    if (isString(pathRet) || isFunction(pathRet)) {\n      ret = pathRet;\n    } else {\n      if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n        warn((\"Value of key '\" + key + \"' is not a string or function!\"));\n      }\n      return null\n    }\n  }\n\n  // Check for the existence of links within the translated string\n  if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n    ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n  }\n\n  return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n  locale,\n  message,\n  str,\n  host,\n  interpolateMode,\n  values,\n  visitedLinkStack\n) {\n  var ret = str;\n\n  // Match all the links within the local\n  // We are going to replace each of\n  // them with its translation\n  var matches = ret.match(linkKeyMatcher);\n\n  // eslint-disable-next-line no-autofix/prefer-const\n  for (var idx in matches) {\n    // ie compatible: filter custom array\n    // prototype method\n    if (!matches.hasOwnProperty(idx)) {\n      continue\n    }\n    var link = matches[idx];\n    var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n    var linkPrefix = linkKeyPrefixMatches[0];\n      var formatterName = linkKeyPrefixMatches[1];\n\n    // Remove the leading @:, @.case: and the brackets\n    var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n    if (includes(visitedLinkStack, linkPlaceholder)) {\n      if (true) {\n        warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n      }\n      return ret\n    }\n    visitedLinkStack.push(linkPlaceholder);\n\n    // Translate the link\n    var translated = this._interpolate(\n      locale, message, linkPlaceholder, host,\n      interpolateMode === 'raw' ? 'string' : interpolateMode,\n      interpolateMode === 'raw' ? undefined : values,\n      visitedLinkStack\n    );\n\n    if (this._isFallbackRoot(translated)) {\n      if ( true && !this._isSilentTranslationWarn(linkPlaceholder)) {\n        warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n      }\n      /* istanbul ignore if */\n      if (!this._root) { throw Error('unexpected error') }\n      var root = this._root.$i18n;\n      translated = root._translate(\n        root._getMessages(), root.locale, root.fallbackLocale,\n        linkPlaceholder, host, interpolateMode, values\n      );\n    }\n    translated = this._warnDefault(\n      locale, linkPlaceholder, translated, host,\n      isArray(values) ? values : [values],\n      interpolateMode\n    );\n\n    if (this._modifiers.hasOwnProperty(formatterName)) {\n      translated = this._modifiers[formatterName](translated);\n    } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n      translated = defaultModifiers[formatterName](translated);\n    }\n\n    visitedLinkStack.pop();\n\n    // Replace the link with the translated\n    ret = !translated ? ret : ret.replace(link, translated);\n  }\n\n  return ret\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext (values, formatter, path, interpolateMode) {\n    var this$1 = this;\n\n  var _list = isArray(values) ? values : [];\n  var _named = isObject(values) ? values : {};\n  var list = function (index) { return _list[index]; };\n  var named = function (key) { return _named[key]; };\n  var messages = this._getMessages();\n  var locale = this.locale;\n\n  return {\n    list: list,\n    named: named,\n    values: values,\n    formatter: formatter,\n    path: path,\n    messages: messages,\n    locale: locale,\n    linked: function (linkedKey) { return this$1._interpolate(locale, messages[locale] || {}, linkedKey, null, interpolateMode, undefined, [linkedKey]); }\n  }\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n  if (isFunction(message)) {\n    return message(\n      this._createMessageContext(values, this._formatter || defaultFormatter, path, interpolateMode)\n    )\n  }\n\n  var ret = this._formatter.interpolate(message, values, path);\n\n  // If the custom formatter refuses to work - apply the default one\n  if (!ret) {\n    ret = defaultFormatter.interpolate(message, values, path);\n  }\n\n  // if interpolateMode is **not** 'string' ('row'),\n  // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n  return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n  var follow = false;\n  if (!includes(chain, item)) {\n    follow = true;\n    if (item) {\n      follow = item[item.length - 1] !== '!';\n      item = item.replace(/!/g, '');\n      chain.push(item);\n      if (blocks && blocks[item]) {\n        follow = blocks[item];\n      }\n    }\n  }\n  return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n  var follow;\n  var tokens = locale.split('-');\n  do {\n    var item = tokens.join('-');\n    follow = this._appendItemToChain(chain, item, blocks);\n    tokens.splice(-1, 1);\n  } while (tokens.length && (follow === true))\n  return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n  var follow = true;\n  for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n    var locale = block[i];\n    if (isString(locale)) {\n      follow = this._appendLocaleToChain(chain, locale, blocks);\n    }\n  }\n  return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n  if (start === '') { return [] }\n\n  if (!this._localeChainCache) {\n    this._localeChainCache = {};\n  }\n\n  var chain = this._localeChainCache[start];\n  if (!chain) {\n    if (!fallbackLocale) {\n      fallbackLocale = this.fallbackLocale;\n    }\n    chain = [];\n\n    // first block defined by start\n    var block = [start];\n\n    // while any intervening block found\n    while (isArray(block)) {\n      block = this._appendBlockToChain(\n        chain,\n        block,\n        fallbackLocale\n      );\n    }\n\n    // last block defined by default\n    var defaults;\n    if (isArray(fallbackLocale)) {\n      defaults = fallbackLocale;\n    } else if (isObject(fallbackLocale)) {\n      /* $FlowFixMe */\n      if (fallbackLocale['default']) {\n        defaults = fallbackLocale['default'];\n      } else {\n        defaults = null;\n      }\n    } else {\n      defaults = fallbackLocale;\n    }\n\n    // convert defaults to array\n    if (isString(defaults)) {\n      block = [defaults];\n    } else {\n      block = defaults;\n    }\n    if (block) {\n      this._appendBlockToChain(\n        chain,\n        block,\n        null\n      );\n    }\n    this._localeChainCache[start] = chain;\n  }\n  return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n  messages,\n  locale,\n  fallback,\n  key,\n  host,\n  interpolateMode,\n  args\n) {\n  var chain = this._getLocaleChain(locale, fallback);\n  var res;\n  for (var i = 0; i < chain.length; i++) {\n    var step = chain[i];\n    res =\n      this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n    if (!isNull(res)) {\n      if (step !== locale && \"development\" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n      }\n      return res\n    }\n  }\n  return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n    var ref;\n\n    var values = [], len = arguments.length - 4;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n  if (!key) { return '' }\n\n  var parsedArgs = parseArgs.apply(void 0, values);\n  if(this._escapeParameterHtml) {\n    parsedArgs.params = escapeParams(parsedArgs.params);\n  }\n\n  var locale = parsedArgs.locale || _locale;\n\n  var ret = this._translate(\n    messages, locale, this.fallbackLocale, key,\n    host, 'string', parsedArgs.params\n  );\n  if (this._isFallbackRoot(ret)) {\n    if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n  } else {\n    ret = this._warnDefault(locale, key, ret, host, values, 'string');\n    if (this._postTranslation && ret !== null && ret !== undefined) {\n      ret = this._postTranslation(ret, key);\n    }\n    return ret\n  }\n};\n\nVueI18n.prototype.t = function t (key) {\n    var ref;\n\n    var values = [], len = arguments.length - 1;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n  return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n  var ret =\n    this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n  if (this._isFallbackRoot(ret)) {\n    if ( true && !this._isSilentTranslationWarn(key)) {\n      warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n    }\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.i(key, locale, values)\n  } else {\n    return this._warnDefault(locale, key, ret, host, [values], 'raw')\n  }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n  /* istanbul ignore if */\n  if (!key) { return '' }\n\n  if (!isString(locale)) {\n    locale = this.locale;\n  }\n\n  return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n  key,\n  _locale,\n  messages,\n  host,\n  choice\n) {\n    var ref;\n\n    var values = [], len = arguments.length - 5;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n  if (!key) { return '' }\n  if (choice === undefined) {\n    choice = 1;\n  }\n\n  var predefined = { 'count': choice, 'n': choice };\n  var parsedArgs = parseArgs.apply(void 0, values);\n  parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n  values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n  return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n  /* istanbul ignore if */\n  if (!message || !isString(message)) { return null }\n  var choices = message.split('|');\n\n  choice = this.getChoiceIndex(choice, choices.length);\n  if (!choices[choice]) { return message }\n  return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n    var ref;\n\n    var values = [], len = arguments.length - 2;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n  return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n    var args = [], len = arguments.length - 3;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n  var _locale = parseArgs.apply(void 0, args).locale || locale;\n  return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n  return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n  return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n  }\n  this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n  }\n  this._vm.$set(this._vm.messages, locale, merge(\n    typeof this._vm.messages[locale] !== 'undefined' && Object.keys(this._vm.messages[locale]).length\n      ? Object.assign({}, this._vm.messages[locale])\n      : {},\n    message\n  ));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n  return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n  this._vm.$set(this._vm.dateTimeFormats, locale, format);\n  this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n  this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n  this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n  // eslint-disable-next-line no-autofix/prefer-const\n  for (var key in format) {\n    var id = locale + \"__\" + key;\n\n    if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n      continue\n    }\n\n    delete this._dateTimeFormatters[id];\n  }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n  value,\n  locale,\n  fallback,\n  dateTimeFormats,\n  key\n) {\n  var _locale = locale;\n  var formats = dateTimeFormats[_locale];\n\n  var chain = this._getLocaleChain(locale, fallback);\n  for (var i = 0; i < chain.length; i++) {\n    var current = _locale;\n    var step = chain[i];\n    formats = dateTimeFormats[step];\n    _locale = step;\n    // fallback locale\n    if (isNull(formats) || isNull(formats[key])) {\n      if (step !== locale && \"development\" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n      }\n    } else {\n      break\n    }\n  }\n\n  if (isNull(formats) || isNull(formats[key])) {\n    return null\n  } else {\n    var format = formats[key];\n    var id = _locale + \"__\" + key;\n    var formatter = this._dateTimeFormatters[id];\n    if (!formatter) {\n      formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n    }\n    return formatter.format(value)\n  }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n  /* istanbul ignore if */\n  if ( true && !VueI18n.availabilities.dateTimeFormat) {\n    warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n    return ''\n  }\n\n  if (!key) {\n    return new Intl.DateTimeFormat(locale).format(value)\n  }\n\n  var ret =\n    this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n  if (this._isFallbackRoot(ret)) {\n    if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.d(value, key, locale)\n  } else {\n    return ret || ''\n  }\n};\n\nVueI18n.prototype.d = function d (value) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n  var locale = this.locale;\n  var key = null;\n\n  if (args.length === 1) {\n    if (isString(args[0])) {\n      key = args[0];\n    } else if (isObject(args[0])) {\n      if (args[0].locale) {\n        locale = args[0].locale;\n      }\n      if (args[0].key) {\n        key = args[0].key;\n      }\n    }\n  } else if (args.length === 2) {\n    if (isString(args[0])) {\n      key = args[0];\n    }\n    if (isString(args[1])) {\n      locale = args[1];\n    }\n  }\n\n  return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n  return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n  this._vm.$set(this._vm.numberFormats, locale, format);\n  this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n  this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n  this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n  // eslint-disable-next-line no-autofix/prefer-const\n  for (var key in format) {\n    var id = locale + \"__\" + key;\n\n    if (!this._numberFormatters.hasOwnProperty(id)) {\n      continue\n    }\n\n    delete this._numberFormatters[id];\n  }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n  value,\n  locale,\n  fallback,\n  numberFormats,\n  key,\n  options\n) {\n  var _locale = locale;\n  var formats = numberFormats[_locale];\n\n  var chain = this._getLocaleChain(locale, fallback);\n  for (var i = 0; i < chain.length; i++) {\n    var current = _locale;\n    var step = chain[i];\n    formats = numberFormats[step];\n    _locale = step;\n    // fallback locale\n    if (isNull(formats) || isNull(formats[key])) {\n      if (step !== locale && \"development\" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n      }\n    } else {\n      break\n    }\n  }\n\n  if (isNull(formats) || isNull(formats[key])) {\n    return null\n  } else {\n    var format = formats[key];\n\n    var formatter;\n    if (options) {\n      // If options specified - create one time number formatter\n      formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n    } else {\n      var id = _locale + \"__\" + key;\n      formatter = this._numberFormatters[id];\n      if (!formatter) {\n        formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n      }\n    }\n    return formatter\n  }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n  /* istanbul ignore if */\n  if (!VueI18n.availabilities.numberFormat) {\n    if (true) {\n      warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n    }\n    return ''\n  }\n\n  if (!key) {\n    var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n    return nf.format(value)\n  }\n\n  var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n  var ret = formatter && formatter.format(value);\n  if (this._isFallbackRoot(ret)) {\n    if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n  } else {\n    return ret || ''\n  }\n};\n\nVueI18n.prototype.n = function n (value) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n  var locale = this.locale;\n  var key = null;\n  var options = null;\n\n  if (args.length === 1) {\n    if (isString(args[0])) {\n      key = args[0];\n    } else if (isObject(args[0])) {\n      if (args[0].locale) {\n        locale = args[0].locale;\n      }\n      if (args[0].key) {\n        key = args[0].key;\n      }\n\n      // Filter out number format options only\n      options = Object.keys(args[0]).reduce(function (acc, key) {\n          var obj;\n\n        if (includes(numberFormatKeys, key)) {\n          return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n        }\n        return acc\n      }, null);\n    }\n  } else if (args.length === 2) {\n    if (isString(args[0])) {\n      key = args[0];\n    }\n    if (isString(args[1])) {\n      locale = args[1];\n    }\n  }\n\n  return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n  /* istanbul ignore if */\n  if (!VueI18n.availabilities.numberFormat) {\n    if (true) {\n      warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n    }\n    return []\n  }\n\n  if (!key) {\n    var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n    return nf.formatToParts(value)\n  }\n\n  var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n  var ret = formatter && formatter.formatToParts(value);\n  if (this._isFallbackRoot(ret)) {\n    if ( true && !this._isSilentTranslationWarn(key)) {\n      warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n._ntp(value, locale, key, options)\n  } else {\n    return ret || []\n  }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n  get: function get () {\n    if (!availabilities) {\n      var intlDefined = typeof Intl !== 'undefined';\n      availabilities = {\n        dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n        numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n      };\n    }\n\n    return availabilities\n  }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.27.1';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueI18n);\n\n\n//# sourceURL=webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm.js?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js":
/*!********************************************************************!*\
  !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* 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\nfunction 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\n\n//# sourceURL=webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js?");

/***/ }),

/***/ "./node_modules/vue-meta/dist/vue-meta.esm.js":
/*!****************************************************!*\
  !*** ./node_modules/vue-meta/dist/vue-meta.esm.js ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! deepmerge */ \"./node_modules/vue-meta/node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * vue-meta v2.4.0\n * (c) 2020\n * - Declan de Wet\n * - Sébastien Chopin (@Atinux)\n * - Pim (@pimlie)\n * - All the amazing contributors\n * @license MIT\n */\n\n\n\nvar version = \"2.4.0\";\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\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\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(Object(source), true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(Object(source)).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n  return arr2;\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n  var it;\n\n  if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n    if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n      if (it) o = it;\n      var i = 0;\n\n      var F = function () {};\n\n      return {\n        s: F,\n        n: function () {\n          if (i >= o.length) return {\n            done: true\n          };\n          return {\n            done: false,\n            value: o[i++]\n          };\n        },\n        e: function (e) {\n          throw e;\n        },\n        f: F\n      };\n    }\n\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n\n  var normalCompletion = true,\n      didErr = false,\n      err;\n  return {\n    s: function () {\n      it = o[Symbol.iterator]();\n    },\n    n: function () {\n      var step = it.next();\n      normalCompletion = step.done;\n      return step;\n    },\n    e: function (e) {\n      didErr = true;\n      err = e;\n    },\n    f: function () {\n      try {\n        if (!normalCompletion && it.return != null) it.return();\n      } finally {\n        if (didErr) throw err;\n      }\n    }\n  };\n}\n\n/**\n * checks if passed argument is an array\n * @param  {any}  arg - the object to check\n * @return {Boolean} - true if `arg` is an array\n */\nfunction isArray(arg) {\n  return Array.isArray(arg);\n}\nfunction isUndefined(arg) {\n  return typeof arg === 'undefined';\n}\nfunction isObject(arg) {\n  return _typeof(arg) === 'object';\n}\nfunction isPureObject(arg) {\n  return _typeof(arg) === 'object' && arg !== null;\n}\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\n\nfunction hasGlobalWindowFn() {\n  try {\n    return !isUndefined(window);\n  } catch (e) {\n    return false;\n  }\n}\nvar hasGlobalWindow = hasGlobalWindowFn();\n\nvar _global = hasGlobalWindow ? window : global;\n\nvar console = _global.console || {};\nfunction warn(str) {\n  /* istanbul ignore next */\n  if (!console || !console.warn) {\n    return;\n  }\n\n  console.warn(str);\n}\nvar showWarningNotSupported = function showWarningNotSupported() {\n  return warn('This vue app/component has no vue-meta configuration');\n};\n\n/**\n * These are constant variables used throughout the application.\n */\n// set some sane defaults\nvar defaultInfo = {\n  title: undefined,\n  titleChunk: '',\n  titleTemplate: '%s',\n  htmlAttrs: {},\n  bodyAttrs: {},\n  headAttrs: {},\n  base: [],\n  link: [],\n  meta: [],\n  style: [],\n  script: [],\n  noscript: [],\n  __dangerouslyDisableSanitizers: [],\n  __dangerouslyDisableSanitizersByTagID: {}\n};\nvar rootConfigKey = '_vueMeta'; // This is the name of the component option that contains all the information that\n// gets converted to the various meta tags & attributes for the page.\n\nvar keyName = 'metaInfo'; // This is the attribute vue-meta arguments on elements to know which it should\n// manage and which it should ignore.\n\nvar attribute = 'data-vue-meta'; // This is the attribute that goes on the `html` tag to inform `vue-meta`\n// that the server has already generated the meta tags for the initial render.\n\nvar ssrAttribute = 'data-vue-meta-server-rendered'; // This is the property that tells vue-meta to overwrite (instead of append)\n// an item in a tag list. For example, if you have two `meta` tag list items\n// that both have `vmid` of \"description\", then vue-meta will overwrite the\n// shallowest one with the deepest one.\n\nvar tagIDKeyName = 'vmid'; // This is the key name for possible meta templates\n\nvar metaTemplateKeyName = 'template'; // This is the key name for the content-holding property\n\nvar contentKeyName = 'content'; // The id used for the ssr app\n\nvar ssrAppId = 'ssr'; // How long meta update\n\nvar debounceWait = 10; // How long meta update\n\nvar waitOnDestroyed = true;\nvar defaultOptions = {\n  keyName: keyName,\n  attribute: attribute,\n  ssrAttribute: ssrAttribute,\n  tagIDKeyName: tagIDKeyName,\n  contentKeyName: contentKeyName,\n  metaTemplateKeyName: metaTemplateKeyName,\n  waitOnDestroyed: waitOnDestroyed,\n  debounceWait: debounceWait,\n  ssrAppId: ssrAppId\n}; // might be a bit ugly, but minimizes the browser bundles a bit\n\nvar defaultInfoKeys = Object.keys(defaultInfo); // The metaInfo property keys which are used to disable escaping\n\nvar disableOptionKeys = [defaultInfoKeys[12], defaultInfoKeys[13]]; // List of metaInfo property keys which are configuration options (and dont generate html)\n\nvar metaInfoOptionKeys = [defaultInfoKeys[1], defaultInfoKeys[2], 'changed'].concat(disableOptionKeys); // List of metaInfo property keys which only generates attributes and no tags\n\nvar metaInfoAttributeKeys = [defaultInfoKeys[3], defaultInfoKeys[4], defaultInfoKeys[5]]; // HTML elements which support the onload event\n\nvar tagsSupportingOnload = ['link', 'style', 'script']; // HTML elements which dont have a head tag (shortened to our needs)\n// see: https://www.w3.org/TR/html52/document-metadata.html\n\nvar tagsWithoutEndTag = ['base', 'meta', 'link']; // HTML elements which can have inner content (shortened to our needs)\n\nvar tagsWithInnerContent = ['noscript', 'script', 'style']; // Attributes which are inserted as childNodes instead of HTMLAttribute\n\nvar tagAttributeAsInnerContent = ['innerHTML', 'cssText', 'json'];\nvar tagProperties = ['once', 'skip', 'template']; // Attributes which should be added with data- prefix\n\nvar commonDataAttributes = ['body', 'pbody']; // from: https://github.com/kangax/html-minifier/blob/gh-pages/src/htmlminifier.js#L202\n\nvar booleanHtmlAttributes = ['allowfullscreen', 'amp', 'amp-boilerplate', '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', 'truespeed', 'typemustmatch', 'visible'];\n\nvar batchId = null;\nfunction triggerUpdate(_ref, rootVm, hookName) {\n  var debounceWait = _ref.debounceWait;\n\n  // if an update was triggered during initialization or when an update was triggered by the\n  // metaInfo watcher, set initialized to null\n  // then we keep falsy value but know we need to run a triggerUpdate after initialization\n  if (!rootVm[rootConfigKey].initialized && (rootVm[rootConfigKey].initializing || hookName === 'watcher')) {\n    rootVm[rootConfigKey].initialized = null;\n  }\n\n  if (rootVm[rootConfigKey].initialized && !rootVm[rootConfigKey].pausing) {\n    // batch potential DOM updates to prevent extraneous re-rendering\n    // eslint-disable-next-line no-void\n    batchUpdate(function () {\n      return void rootVm.$meta().refresh();\n    }, debounceWait);\n  }\n}\n/**\n * Performs a batched update.\n *\n * @param  {(null|Number)} id - the ID of this update\n * @param  {Function} callback - the update to perform\n * @return {Number} id - a new ID\n */\n\nfunction batchUpdate(callback, timeout) {\n  timeout = timeout === undefined ? 10 : timeout;\n\n  if (!timeout) {\n    callback();\n    return;\n  }\n\n  clearTimeout(batchId);\n  batchId = setTimeout(function () {\n    callback();\n  }, timeout);\n  return batchId;\n}\n\n/*\n * To reduce build size, this file provides simple polyfills without\n * overly excessive type checking and without modifying\n * the global Array.prototype\n * The polyfills are automatically removed in the commonjs build\n * Also, only files in client/ & shared/ should use these functions\n * files in server/ still use normal js function\n */\nfunction find(array, predicate, thisArg) {\n  if ( !Array.prototype.find) {\n    // idx needs to be a Number, for..in returns string\n    for (var idx = 0; idx < array.length; idx++) {\n      if (predicate.call(thisArg, array[idx], idx, array)) {\n        return array[idx];\n      }\n    }\n\n    return;\n  }\n\n  return array.find(predicate, thisArg);\n}\nfunction findIndex(array, predicate, thisArg) {\n  if ( !Array.prototype.findIndex) {\n    // idx needs to be a Number, for..in returns string\n    for (var idx = 0; idx < array.length; idx++) {\n      if (predicate.call(thisArg, array[idx], idx, array)) {\n        return idx;\n      }\n    }\n\n    return -1;\n  }\n\n  return array.findIndex(predicate, thisArg);\n}\nfunction toArray(arg) {\n  if ( !Array.from) {\n    return Array.prototype.slice.call(arg);\n  }\n\n  return Array.from(arg);\n}\nfunction includes(array, value) {\n  if ( !Array.prototype.includes) {\n    for (var idx in array) {\n      if (array[idx] === value) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  return array.includes(value);\n}\n\nvar querySelector = function querySelector(arg, el) {\n  return (el || document).querySelectorAll(arg);\n};\nfunction getTag(tags, tag) {\n  if (!tags[tag]) {\n    tags[tag] = document.getElementsByTagName(tag)[0];\n  }\n\n  return tags[tag];\n}\nfunction getElementsKey(_ref) {\n  var body = _ref.body,\n      pbody = _ref.pbody;\n  return body ? 'body' : pbody ? 'pbody' : 'head';\n}\nfunction queryElements(parentNode, _ref2, attributes) {\n  var appId = _ref2.appId,\n      attribute = _ref2.attribute,\n      type = _ref2.type,\n      tagIDKeyName = _ref2.tagIDKeyName;\n  attributes = attributes || {};\n  var queries = [\"\".concat(type, \"[\").concat(attribute, \"=\\\"\").concat(appId, \"\\\"]\"), \"\".concat(type, \"[data-\").concat(tagIDKeyName, \"]\")].map(function (query) {\n    for (var key in attributes) {\n      var val = attributes[key];\n      var attributeValue = val && val !== true ? \"=\\\"\".concat(val, \"\\\"\") : '';\n      query += \"[data-\".concat(key).concat(attributeValue, \"]\");\n    }\n\n    return query;\n  });\n  return toArray(querySelector(queries.join(', '), parentNode));\n}\nfunction removeElementsByAppId(_ref3, appId) {\n  var attribute = _ref3.attribute;\n  toArray(querySelector(\"[\".concat(attribute, \"=\\\"\").concat(appId, \"\\\"]\"))).map(function (el) {\n    return el.remove();\n  });\n}\nfunction removeAttribute(el, attributeName) {\n  el.removeAttribute(attributeName);\n}\n\nfunction hasMetaInfo(vm) {\n  vm = vm || this;\n  return vm && (vm[rootConfigKey] === true || isObject(vm[rootConfigKey]));\n} // a component is in a metaInfo branch when itself has meta info or one of its (grand-)children has\n\nfunction inMetaInfoBranch(vm) {\n  vm = vm || this;\n  return vm && !isUndefined(vm[rootConfigKey]);\n}\n\nfunction pause(rootVm, refresh) {\n  rootVm[rootConfigKey].pausing = true;\n  return function () {\n    return resume(rootVm, refresh);\n  };\n}\nfunction resume(rootVm, refresh) {\n  rootVm[rootConfigKey].pausing = false;\n\n  if (refresh || refresh === undefined) {\n    return rootVm.$meta().refresh();\n  }\n}\n\nfunction addNavGuards(rootVm) {\n  var router = rootVm.$router; // return when nav guards already added or no router exists\n\n  if (rootVm[rootConfigKey].navGuards || !router) {\n    /* istanbul ignore next */\n    return;\n  }\n\n  rootVm[rootConfigKey].navGuards = true;\n  router.beforeEach(function (to, from, next) {\n    pause(rootVm);\n    next();\n  });\n  router.afterEach(function () {\n    rootVm.$nextTick(function () {\n      var _resume = resume(rootVm),\n          metaInfo = _resume.metaInfo;\n\n      if (metaInfo && isFunction(metaInfo.afterNavigation)) {\n        metaInfo.afterNavigation(metaInfo);\n      }\n    });\n  });\n}\n\nvar appId = 1;\nfunction createMixin(Vue, options) {\n  // for which Vue lifecycle hooks should the metaInfo be refreshed\n  var updateOnLifecycleHook = ['activated', 'deactivated', 'beforeMount'];\n  var wasServerRendered = false; // watch for client side component updates\n\n  return {\n    beforeCreate: function beforeCreate() {\n      var _this2 = this;\n\n      var rootKey = '$root';\n      var $root = this[rootKey];\n      var $options = this.$options;\n      var devtoolsEnabled = Vue.config.devtools;\n      Object.defineProperty(this, '_hasMetaInfo', {\n        configurable: true,\n        get: function get() {\n          // Show deprecation warning once when devtools enabled\n          if (devtoolsEnabled && !$root[rootConfigKey].deprecationWarningShown) {\n            warn('VueMeta DeprecationWarning: _hasMetaInfo has been deprecated and will be removed in a future version. Please use hasMetaInfo(vm) instead');\n            $root[rootConfigKey].deprecationWarningShown = true;\n          }\n\n          return hasMetaInfo(this);\n        }\n      });\n\n      if (this === $root) {\n        $root.$once('hook:beforeMount', function () {\n          wasServerRendered = this.$el && this.$el.nodeType === 1 && this.$el.hasAttribute('data-server-rendered'); // In most cases when you have a SSR app it will be the first app thats gonna be\n          // initiated, if we cant detect the data-server-rendered attribute from Vue but we\n          // do see our own ssrAttribute then _assume_ the Vue app with appId 1 is the ssr app\n          // attempted fix for #404 & #562, but we rly need to refactor how we pass appIds from\n          // ssr to the client\n\n          if (!wasServerRendered && $root[rootConfigKey] && $root[rootConfigKey].appId === 1) {\n            var htmlTag = getTag({}, 'html');\n            wasServerRendered = htmlTag && htmlTag.hasAttribute(options.ssrAttribute);\n          }\n        });\n      } // Add a marker to know if it uses metaInfo\n      // _vnode is used to know that it's attached to a real component\n      // useful if we use some mixin to add some meta tags (like nuxt-i18n)\n\n\n      if (isUndefined($options[options.keyName]) || $options[options.keyName] === null) {\n        return;\n      }\n\n      if (!$root[rootConfigKey]) {\n        $root[rootConfigKey] = {\n          appId: appId\n        };\n        appId++;\n\n        if (devtoolsEnabled && $root.$options[options.keyName]) {\n          // use nextTick so the children should be added to $root\n          this.$nextTick(function () {\n            // find the first child that lists fnOptions\n            var child = find($root.$children, function (c) {\n              return c.$vnode && c.$vnode.fnOptions;\n            });\n\n            if (child && child.$vnode.fnOptions[options.keyName]) {\n              warn(\"VueMeta has detected a possible global mixin which adds a \".concat(options.keyName, \" property to all Vue components on the page. This could cause severe performance issues. If possible, use $meta().addApp to add meta information instead\"));\n            }\n          });\n        }\n      } // to speed up updates we keep track of branches which have a component with vue-meta info defined\n      // if _vueMeta = true it has info, if _vueMeta = false a child has info\n\n\n      if (!this[rootConfigKey]) {\n        this[rootConfigKey] = true;\n        var parent = this.$parent;\n\n        while (parent && parent !== $root) {\n          if (isUndefined(parent[rootConfigKey])) {\n            parent[rootConfigKey] = false;\n          }\n\n          parent = parent.$parent;\n        }\n      } // coerce function-style metaInfo to a computed prop so we can observe\n      // it on creation\n\n\n      if (isFunction($options[options.keyName])) {\n        $options.computed = $options.computed || {};\n        $options.computed.$metaInfo = $options[options.keyName];\n\n        if (!this.$isServer) {\n          // if computed $metaInfo exists, watch it for updates & trigger a refresh\n          // when it changes (i.e. automatically handle async actions that affect metaInfo)\n          // credit for this suggestion goes to [Sébastien Chopin](https://github.com/Atinux)\n          this.$on('hook:created', function () {\n            this.$watch('$metaInfo', function () {\n              triggerUpdate(options, this[rootKey], 'watcher');\n            });\n          });\n        }\n      } // force an initial refresh on page load and prevent other lifecycleHooks\n      // to triggerUpdate until this initial refresh is finished\n      // this is to make sure that when a page is opened in an inactive tab which\n      // has throttled rAF/timers we still immediately set the page title\n\n\n      if (isUndefined($root[rootConfigKey].initialized)) {\n        $root[rootConfigKey].initialized = this.$isServer;\n\n        if (!$root[rootConfigKey].initialized) {\n          if (!$root[rootConfigKey].initializedSsr) {\n            $root[rootConfigKey].initializedSsr = true;\n            this.$on('hook:beforeMount', function () {\n              var $root = this[rootKey]; // if this Vue-app was server rendered, set the appId to 'ssr'\n              // only one SSR app per page is supported\n\n              if (wasServerRendered) {\n                $root[rootConfigKey].appId = options.ssrAppId;\n              }\n            });\n          } // we use the mounted hook here as on page load\n\n\n          this.$on('hook:mounted', function () {\n            var $root = this[rootKey];\n\n            if ($root[rootConfigKey].initialized) {\n              return;\n            } // used in triggerUpdate to check if a change was triggered\n            // during initialization\n\n\n            $root[rootConfigKey].initializing = true; // refresh meta in nextTick so all child components have loaded\n\n            this.$nextTick(function () {\n              var _$root$$meta$refresh = $root.$meta().refresh(),\n                  tags = _$root$$meta$refresh.tags,\n                  metaInfo = _$root$$meta$refresh.metaInfo; // After ssr hydration (identifier by tags === false) check\n              // if initialized was set to null in triggerUpdate. That'd mean\n              // that during initilazation changes where triggered which need\n              // to be applied OR a metaInfo watcher was triggered before the\n              // current hook was called\n              // (during initialization all changes are blocked)\n\n\n              if (tags === false && $root[rootConfigKey].initialized === null) {\n                this.$nextTick(function () {\n                  return triggerUpdate(options, $root, 'init');\n                });\n              }\n\n              $root[rootConfigKey].initialized = true;\n              delete $root[rootConfigKey].initializing; // add the navigation guards if they havent been added yet\n              // they are needed for the afterNavigation callback\n\n              if (!options.refreshOnceOnNavigation && metaInfo.afterNavigation) {\n                addNavGuards($root);\n              }\n            });\n          }); // add the navigation guards if requested\n\n          if (options.refreshOnceOnNavigation) {\n            addNavGuards($root);\n          }\n        }\n      }\n\n      this.$on('hook:destroyed', function () {\n        var _this = this;\n\n        // do not trigger refresh:\n        // - when user configured to not wait for transitions on destroyed\n        // - when the component doesnt have a parent\n        // - doesnt have metaInfo defined\n        if (!this.$parent || !hasMetaInfo(this)) {\n          return;\n        }\n\n        delete this._hasMetaInfo;\n        this.$nextTick(function () {\n          if (!options.waitOnDestroyed || !_this.$el || !_this.$el.offsetParent) {\n            triggerUpdate(options, _this.$root, 'destroyed');\n            return;\n          } // Wait that element is hidden before refreshing meta tags (to support animations)\n\n\n          var interval = setInterval(function () {\n            if (_this.$el && _this.$el.offsetParent !== null) {\n              /* istanbul ignore next line */\n              return;\n            }\n\n            clearInterval(interval);\n            triggerUpdate(options, _this.$root, 'destroyed');\n          }, 50);\n        });\n      }); // do not trigger refresh on the server side\n\n      if (this.$isServer) {\n        /* istanbul ignore next */\n        return;\n      } // no need to add this hooks on server side\n\n\n      updateOnLifecycleHook.forEach(function (lifecycleHook) {\n        _this2.$on(\"hook:\".concat(lifecycleHook), function () {\n          triggerUpdate(options, this[rootKey], lifecycleHook);\n        });\n      });\n    }\n  };\n}\n\nfunction setOptions(options) {\n  // combine options\n  options = isObject(options) ? options : {}; // The options are set like this so they can\n  // be minified by terser while keeping the\n  // user api intact\n  // terser --mangle-properties keep_quoted=strict\n\n  /* eslint-disable dot-notation */\n\n  return {\n    keyName: options['keyName'] || defaultOptions.keyName,\n    attribute: options['attribute'] || defaultOptions.attribute,\n    ssrAttribute: options['ssrAttribute'] || defaultOptions.ssrAttribute,\n    tagIDKeyName: options['tagIDKeyName'] || defaultOptions.tagIDKeyName,\n    contentKeyName: options['contentKeyName'] || defaultOptions.contentKeyName,\n    metaTemplateKeyName: options['metaTemplateKeyName'] || defaultOptions.metaTemplateKeyName,\n    debounceWait: isUndefined(options['debounceWait']) ? defaultOptions.debounceWait : options['debounceWait'],\n    waitOnDestroyed: isUndefined(options['waitOnDestroyed']) ? defaultOptions.waitOnDestroyed : options['waitOnDestroyed'],\n    ssrAppId: options['ssrAppId'] || defaultOptions.ssrAppId,\n    refreshOnceOnNavigation: !!options['refreshOnceOnNavigation']\n  };\n  /* eslint-enable dot-notation */\n}\nfunction getOptions(options) {\n  var optionsCopy = {};\n\n  for (var key in options) {\n    optionsCopy[key] = options[key];\n  }\n\n  return optionsCopy;\n}\n\nfunction ensureIsArray(arg, key) {\n  if (!key || !isObject(arg)) {\n    return isArray(arg) ? arg : [];\n  }\n\n  if (!isArray(arg[key])) {\n    arg[key] = [];\n  }\n\n  return arg;\n}\n\nvar serverSequences = [[/&/g, '&amp;'], [/</g, '&lt;'], [/>/g, '&gt;'], [/\"/g, '&quot;'], [/'/g, '&#x27;']];\nvar clientSequences = [[/&/g, \"&\"], [/</g, \"<\"], [/>/g, \">\"], [/\"/g, \"\\\"\"], [/'/g, \"'\"]]; // sanitizes potentially dangerous characters\n\nfunction escape(info, options, escapeOptions, escapeKeys) {\n  var tagIDKeyName = options.tagIDKeyName;\n  var _escapeOptions$doEsca = escapeOptions.doEscape,\n      doEscape = _escapeOptions$doEsca === void 0 ? function (v) {\n    return v;\n  } : _escapeOptions$doEsca;\n  var escaped = {};\n\n  for (var key in info) {\n    var value = info[key]; // no need to escape configuration options\n\n    if (includes(metaInfoOptionKeys, key)) {\n      escaped[key] = value;\n      continue;\n    } // do not use destructuring for disableOptionKeys, it increases transpiled size\n    // due to var checks while we are guaranteed the structure of the cb\n\n\n    var disableKey = disableOptionKeys[0];\n\n    if (escapeOptions[disableKey] && includes(escapeOptions[disableKey], key)) {\n      // this info[key] doesnt need to escaped if the option is listed in __dangerouslyDisableSanitizers\n      escaped[key] = value;\n      continue;\n    }\n\n    var tagId = info[tagIDKeyName];\n\n    if (tagId) {\n      disableKey = disableOptionKeys[1]; // keys which are listed in __dangerouslyDisableSanitizersByTagID for the current vmid do not need to be escaped\n\n      if (escapeOptions[disableKey] && escapeOptions[disableKey][tagId] && includes(escapeOptions[disableKey][tagId], key)) {\n        escaped[key] = value;\n        continue;\n      }\n    }\n\n    if (isString(value)) {\n      escaped[key] = doEscape(value);\n    } else if (isArray(value)) {\n      escaped[key] = value.map(function (v) {\n        if (isPureObject(v)) {\n          return escape(v, options, escapeOptions, true);\n        }\n\n        return doEscape(v);\n      });\n    } else if (isPureObject(value)) {\n      escaped[key] = escape(value, options, escapeOptions, true);\n    } else {\n      escaped[key] = value;\n    }\n\n    if (escapeKeys) {\n      var escapedKey = doEscape(key);\n\n      if (key !== escapedKey) {\n        escaped[escapedKey] = escaped[key];\n        delete escaped[key];\n      }\n    }\n  }\n\n  return escaped;\n}\nfunction escapeMetaInfo(options, info, escapeSequences) {\n  escapeSequences = escapeSequences || []; // do not use destructuring for seq, it increases transpiled size\n  // due to var checks while we are guaranteed the structure of the cb\n\n  var escapeOptions = {\n    doEscape: function doEscape(value) {\n      return escapeSequences.reduce(function (val, seq) {\n        return val.replace(seq[0], seq[1]);\n      }, value);\n    }\n  };\n  disableOptionKeys.forEach(function (disableKey, index) {\n    if (index === 0) {\n      ensureIsArray(info, disableKey);\n    } else if (index === 1) {\n      for (var key in info[disableKey]) {\n        ensureIsArray(info[disableKey], key);\n      }\n    }\n\n    escapeOptions[disableKey] = info[disableKey];\n  }); // begin sanitization\n\n  return escape(info, options, escapeOptions);\n}\n\nfunction applyTemplate(_ref, headObject, template, chunk) {\n  var component = _ref.component,\n      metaTemplateKeyName = _ref.metaTemplateKeyName,\n      contentKeyName = _ref.contentKeyName;\n\n  if (template === true || headObject[metaTemplateKeyName] === true) {\n    // abort, template was already applied\n    return false;\n  }\n\n  if (isUndefined(template) && headObject[metaTemplateKeyName]) {\n    template = headObject[metaTemplateKeyName];\n    headObject[metaTemplateKeyName] = true;\n  } // return early if no template defined\n\n\n  if (!template) {\n    // cleanup faulty template properties\n    delete headObject[metaTemplateKeyName];\n    return false;\n  }\n\n  if (isUndefined(chunk)) {\n    chunk = headObject[contentKeyName];\n  }\n\n  headObject[contentKeyName] = isFunction(template) ? template.call(component, chunk) : template.replace(/%s/g, chunk);\n  return true;\n}\n\nfunction _arrayMerge(_ref, target, source) {\n  var component = _ref.component,\n      tagIDKeyName = _ref.tagIDKeyName,\n      metaTemplateKeyName = _ref.metaTemplateKeyName,\n      contentKeyName = _ref.contentKeyName;\n  // we concat the arrays without merging objects contained in,\n  // but we check for a `vmid` property on each object in the array\n  // using an O(1) lookup associative array exploit\n  var destination = [];\n\n  if (!target.length && !source.length) {\n    return destination;\n  }\n\n  target.forEach(function (targetItem, targetIndex) {\n    // no tagID so no need to check for duplicity\n    if (!targetItem[tagIDKeyName]) {\n      destination.push(targetItem);\n      return;\n    }\n\n    var sourceIndex = findIndex(source, function (item) {\n      return item[tagIDKeyName] === targetItem[tagIDKeyName];\n    });\n    var sourceItem = source[sourceIndex]; // source doesnt contain any duplicate vmid's, we can keep targetItem\n\n    if (sourceIndex === -1) {\n      destination.push(targetItem);\n      return;\n    } // when sourceItem explictly defines contentKeyName or innerHTML as undefined, its\n    // an indication that we need to skip the default behaviour or child has preference over parent\n    // which means we keep the targetItem and ignore/remove the sourceItem\n\n\n    if (contentKeyName in sourceItem && sourceItem[contentKeyName] === undefined || 'innerHTML' in sourceItem && sourceItem.innerHTML === undefined) {\n      destination.push(targetItem); // remove current index from source array so its not concatenated to destination below\n\n      source.splice(sourceIndex, 1);\n      return;\n    } // we now know that targetItem is a duplicate and we should ignore it in favor of sourceItem\n    // if source specifies null as content then ignore both the target as the source\n\n\n    if (sourceItem[contentKeyName] === null || sourceItem.innerHTML === null) {\n      // remove current index from source array so its not concatenated to destination below\n      source.splice(sourceIndex, 1);\n      return;\n    } // now we only need to check if the target has a template to combine it with the source\n\n\n    var targetTemplate = targetItem[metaTemplateKeyName];\n\n    if (!targetTemplate) {\n      return;\n    }\n\n    var sourceTemplate = sourceItem[metaTemplateKeyName];\n\n    if (!sourceTemplate) {\n      // use parent template and child content\n      applyTemplate({\n        component: component,\n        metaTemplateKeyName: metaTemplateKeyName,\n        contentKeyName: contentKeyName\n      }, sourceItem, targetTemplate); // set template to true to indicate template was already applied\n\n      sourceItem.template = true;\n      return;\n    }\n\n    if (!sourceItem[contentKeyName]) {\n      // use parent content and child template\n      applyTemplate({\n        component: component,\n        metaTemplateKeyName: metaTemplateKeyName,\n        contentKeyName: contentKeyName\n      }, sourceItem, undefined, targetItem[contentKeyName]);\n    }\n  });\n  return destination.concat(source);\n}\nvar warningShown = false;\nfunction merge(target, source, options) {\n  options = options || {}; // remove properties explicitly set to false so child components can\n  // optionally _not_ overwrite the parents content\n  // (for array properties this is checked in arrayMerge)\n\n  if (source.title === undefined) {\n    delete source.title;\n  }\n\n  metaInfoAttributeKeys.forEach(function (attrKey) {\n    if (!source[attrKey]) {\n      return;\n    }\n\n    for (var key in source[attrKey]) {\n      if (key in source[attrKey] && source[attrKey][key] === undefined) {\n        if (includes(booleanHtmlAttributes, key) && !warningShown) {\n          warn('VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details');\n          warningShown = true;\n        }\n\n        delete source[attrKey][key];\n      }\n    }\n  });\n  return deepmerge__WEBPACK_IMPORTED_MODULE_0___default()(target, source, {\n    arrayMerge: function arrayMerge(t, s) {\n      return _arrayMerge(options, t, s);\n    }\n  });\n}\n\nfunction getComponentMetaInfo(options, component) {\n  return getComponentOption(options || {}, component, defaultInfo);\n}\n/**\n * Returns the `opts.option` $option value of the given `opts.component`.\n * If methods are encountered, they will be bound to the component context.\n * If `opts.deep` is true, will recursively merge all child component\n * `opts.option` $option values into the returned result.\n *\n * @param  {Object} opts - options\n * @param  {Object} opts.component - Vue component to fetch option data from\n * @param  {Boolean} opts.deep - look for data in child components as well?\n * @param  {Function} opts.arrayMerge - how should arrays be merged?\n * @param  {String} opts.keyName - the name of the option to look for\n * @param  {Object} [result={}] - result so far\n * @return {Object} result - final aggregated result\n */\n\nfunction getComponentOption(options, component, result) {\n  result = result || {};\n\n  if (component._inactive) {\n    return result;\n  }\n\n  options = options || {};\n  var _options = options,\n      keyName = _options.keyName;\n  var $metaInfo = component.$metaInfo,\n      $options = component.$options,\n      $children = component.$children; // only collect option data if it exists\n\n  if ($options[keyName]) {\n    // if $metaInfo exists then [keyName] was defined as a function\n    // and set to the computed prop $metaInfo in the mixin\n    // using the computed prop should be a small performance increase\n    // because Vue caches those internally\n    var data = $metaInfo || $options[keyName]; // only merge data with result when its an object\n    // eg it could be a function when metaInfo() returns undefined\n    // dueo to the or statement above\n\n    if (isObject(data)) {\n      result = merge(result, data, options);\n    }\n  } // collect & aggregate child options if deep = true\n\n\n  if ($children.length) {\n    $children.forEach(function (childComponent) {\n      // check if the childComponent is in a branch\n      // return otherwise so we dont walk all component branches unnecessarily\n      if (!inMetaInfoBranch(childComponent)) {\n        return;\n      }\n\n      result = getComponentOption(options, childComponent, result);\n    });\n  }\n\n  return result;\n}\n\nvar callbacks = [];\nfunction isDOMComplete(d) {\n  return (d || document).readyState === 'complete';\n}\nfunction addCallback(query, callback) {\n  if (arguments.length === 1) {\n    callback = query;\n    query = '';\n  }\n\n  callbacks.push([query, callback]);\n}\nfunction addCallbacks(_ref, type, tags, autoAddListeners) {\n  var tagIDKeyName = _ref.tagIDKeyName;\n  var hasAsyncCallback = false;\n  tags.forEach(function (tag) {\n    if (!tag[tagIDKeyName] || !tag.callback) {\n      return;\n    }\n\n    hasAsyncCallback = true;\n    addCallback(\"\".concat(type, \"[data-\").concat(tagIDKeyName, \"=\\\"\").concat(tag[tagIDKeyName], \"\\\"]\"), tag.callback);\n  });\n\n  if (!autoAddListeners || !hasAsyncCallback) {\n    return hasAsyncCallback;\n  }\n\n  return addListeners();\n}\nfunction addListeners() {\n  if (isDOMComplete()) {\n    applyCallbacks();\n    return;\n  } // Instead of using a MutationObserver, we just apply\n\n  /* istanbul ignore next */\n\n\n  document.onreadystatechange = function () {\n    applyCallbacks();\n  };\n}\nfunction applyCallbacks(matchElement) {\n  callbacks.forEach(function (args) {\n    // do not use destructuring for args, it increases transpiled size\n    // due to var checks while we are guaranteed the structure of the cb\n    var query = args[0];\n    var callback = args[1];\n    var selector = \"\".concat(query, \"[onload=\\\"this.__vm_l=1\\\"]\");\n    var elements = [];\n\n    if (!matchElement) {\n      elements = toArray(querySelector(selector));\n    }\n\n    if (matchElement && matchElement.matches(selector)) {\n      elements = [matchElement];\n    }\n\n    elements.forEach(function (element) {\n      /* __vm_cb: whether the load callback has been called\n       * __vm_l: set by onload attribute, whether the element was loaded\n       * __vm_ev: whether the event listener was added or not\n       */\n      if (element.__vm_cb) {\n        return;\n      }\n\n      var onload = function onload() {\n        /* Mark that the callback for this element has already been called,\n         * this prevents the callback to run twice in some (rare) conditions\n         */\n        element.__vm_cb = true;\n        /* onload needs to be removed because we only need the\n         * attribute after ssr and if we dont remove it the node\n         * will fail isEqualNode on the client\n         */\n\n        removeAttribute(element, 'onload');\n        callback(element);\n      };\n      /* IE9 doesnt seem to load scripts synchronously,\n       * causing a script sometimes/often already to be loaded\n       * when we add the event listener below (thus adding an onload event\n       * listener has no use because it will never be triggered).\n       * Therefore we add the onload attribute during ssr, and\n       * check here if it was already loaded or not\n       */\n\n\n      if (element.__vm_l) {\n        onload();\n        return;\n      }\n\n      if (!element.__vm_ev) {\n        element.__vm_ev = true;\n        element.addEventListener('load', onload);\n      }\n    });\n  });\n}\n\n// instead of adding it to the html\n\nvar attributeMap = {};\n/**\n * Updates the document's html tag attributes\n *\n * @param  {Object} attrs - the new document html attributes\n * @param  {HTMLElement} tag - the HTMLElement tag to update with new attrs\n */\n\nfunction updateAttribute(appId, options, type, attrs, tag) {\n  var _ref = options || {},\n      attribute = _ref.attribute;\n\n  var vueMetaAttrString = tag.getAttribute(attribute);\n\n  if (vueMetaAttrString) {\n    attributeMap[type] = JSON.parse(decodeURI(vueMetaAttrString));\n    removeAttribute(tag, attribute);\n  }\n\n  var data = attributeMap[type] || {};\n  var toUpdate = []; // remove attributes from the map\n  // which have been removed for this appId\n\n  for (var attr in data) {\n    if (data[attr] !== undefined && appId in data[attr]) {\n      toUpdate.push(attr);\n\n      if (!attrs[attr]) {\n        delete data[attr][appId];\n      }\n    }\n  }\n\n  for (var _attr in attrs) {\n    var attrData = data[_attr];\n\n    if (!attrData || attrData[appId] !== attrs[_attr]) {\n      toUpdate.push(_attr);\n\n      if (attrs[_attr] !== undefined) {\n        data[_attr] = data[_attr] || {};\n        data[_attr][appId] = attrs[_attr];\n      }\n    }\n  }\n\n  for (var _i = 0, _toUpdate = toUpdate; _i < _toUpdate.length; _i++) {\n    var _attr2 = _toUpdate[_i];\n    var _attrData = data[_attr2];\n    var attrValues = [];\n\n    for (var _appId in _attrData) {\n      Array.prototype.push.apply(attrValues, [].concat(_attrData[_appId]));\n    }\n\n    if (attrValues.length) {\n      var attrValue = includes(booleanHtmlAttributes, _attr2) && attrValues.some(Boolean) ? '' : attrValues.filter(function (v) {\n        return v !== undefined;\n      }).join(' ');\n      tag.setAttribute(_attr2, attrValue);\n    } else {\n      removeAttribute(tag, _attr2);\n    }\n  }\n\n  attributeMap[type] = data;\n}\n\n/**\n * Updates the document title\n *\n * @param  {String} title - the new title of the document\n */\nfunction updateTitle(title) {\n  if (!title && title !== '') {\n    return;\n  }\n\n  document.title = title;\n}\n\n/**\n * Updates meta tags inside <head> and <body> on the client. Borrowed from `react-helmet`:\n * https://github.com/nfl/react-helmet/blob/004d448f8de5f823d10f838b02317521180f34da/src/Helmet.js#L195-L245\n *\n * @param  {('meta'|'base'|'link'|'style'|'script'|'noscript')} type - the name of the tag\n * @param  {(Array<Object>|Object)} tags - an array of tag objects or a single object in case of base\n * @return {Object} - a representation of what tags changed\n */\n\nfunction updateTag(appId, options, type, tags, head, body) {\n  var _ref = options || {},\n      attribute = _ref.attribute,\n      tagIDKeyName = _ref.tagIDKeyName;\n\n  var dataAttributes = commonDataAttributes.slice();\n  dataAttributes.push(tagIDKeyName);\n  var newElements = [];\n  var queryOptions = {\n    appId: appId,\n    attribute: attribute,\n    type: type,\n    tagIDKeyName: tagIDKeyName\n  };\n  var currentElements = {\n    head: queryElements(head, queryOptions),\n    pbody: queryElements(body, queryOptions, {\n      pbody: true\n    }),\n    body: queryElements(body, queryOptions, {\n      body: true\n    })\n  };\n\n  if (tags.length > 1) {\n    // remove duplicates that could have been found by merging tags\n    // which include a mixin with metaInfo and that mixin is used\n    // by multiple components on the same page\n    var found = [];\n    tags = tags.filter(function (x) {\n      var k = JSON.stringify(x);\n      var res = !includes(found, k);\n      found.push(k);\n      return res;\n    });\n  }\n\n  tags.forEach(function (tag) {\n    if (tag.skip) {\n      return;\n    }\n\n    var newElement = document.createElement(type);\n\n    if (!tag.once) {\n      newElement.setAttribute(attribute, appId);\n    }\n\n    Object.keys(tag).forEach(function (attr) {\n      /* istanbul ignore next */\n      if (includes(tagProperties, attr)) {\n        return;\n      }\n\n      if (attr === 'innerHTML') {\n        newElement.innerHTML = tag.innerHTML;\n        return;\n      }\n\n      if (attr === 'json') {\n        newElement.innerHTML = JSON.stringify(tag.json);\n        return;\n      }\n\n      if (attr === 'cssText') {\n        if (newElement.styleSheet) {\n          /* istanbul ignore next */\n          newElement.styleSheet.cssText = tag.cssText;\n        } else {\n          newElement.appendChild(document.createTextNode(tag.cssText));\n        }\n\n        return;\n      }\n\n      if (attr === 'callback') {\n        newElement.onload = function () {\n          return tag[attr](newElement);\n        };\n\n        return;\n      }\n\n      var _attr = includes(dataAttributes, attr) ? \"data-\".concat(attr) : attr;\n\n      var isBooleanAttribute = includes(booleanHtmlAttributes, attr);\n\n      if (isBooleanAttribute && !tag[attr]) {\n        return;\n      }\n\n      var value = isBooleanAttribute ? '' : tag[attr];\n      newElement.setAttribute(_attr, value);\n    });\n    var oldElements = currentElements[getElementsKey(tag)]; // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n    var indexToDelete;\n    var hasEqualElement = oldElements.some(function (existingTag, index) {\n      indexToDelete = index;\n      return newElement.isEqualNode(existingTag);\n    });\n\n    if (hasEqualElement && (indexToDelete || indexToDelete === 0)) {\n      oldElements.splice(indexToDelete, 1);\n    } else {\n      newElements.push(newElement);\n    }\n  });\n  var oldElements = [];\n\n  for (var _type in currentElements) {\n    Array.prototype.push.apply(oldElements, currentElements[_type]);\n  } // remove old elements\n\n\n  oldElements.forEach(function (element) {\n    element.parentNode.removeChild(element);\n  }); // insert new elements\n\n  newElements.forEach(function (element) {\n    if (element.hasAttribute('data-body')) {\n      body.appendChild(element);\n      return;\n    }\n\n    if (element.hasAttribute('data-pbody')) {\n      body.insertBefore(element, body.firstChild);\n      return;\n    }\n\n    head.appendChild(element);\n  });\n  return {\n    oldTags: oldElements,\n    newTags: newElements\n  };\n}\n\n/**\n * Performs client-side updates when new meta info is received\n *\n * @param  {Object} newInfo - the meta info to update to\n */\n\nfunction updateClientMetaInfo(appId, options, newInfo) {\n  options = options || {};\n  var _options = options,\n      ssrAttribute = _options.ssrAttribute,\n      ssrAppId = _options.ssrAppId; // only cache tags for current update\n\n  var tags = {};\n  var htmlTag = getTag(tags, 'html'); // if this is a server render, then dont update\n\n  if (appId === ssrAppId && htmlTag.hasAttribute(ssrAttribute)) {\n    // remove the server render attribute so we can update on (next) changes\n    removeAttribute(htmlTag, ssrAttribute); // add load callbacks if the\n\n    var addLoadListeners = false;\n    tagsSupportingOnload.forEach(function (type) {\n      if (newInfo[type] && addCallbacks(options, type, newInfo[type])) {\n        addLoadListeners = true;\n      }\n    });\n\n    if (addLoadListeners) {\n      addListeners();\n    }\n\n    return false;\n  } // initialize tracked changes\n\n\n  var tagsAdded = {};\n  var tagsRemoved = {};\n\n  for (var type in newInfo) {\n    // ignore these\n    if (includes(metaInfoOptionKeys, type)) {\n      continue;\n    }\n\n    if (type === 'title') {\n      // update the title\n      updateTitle(newInfo.title);\n      continue;\n    }\n\n    if (includes(metaInfoAttributeKeys, type)) {\n      var tagName = type.substr(0, 4);\n      updateAttribute(appId, options, type, newInfo[type], getTag(tags, tagName));\n      continue;\n    } // tags should always be an array, ignore if it isnt\n\n\n    if (!isArray(newInfo[type])) {\n      continue;\n    }\n\n    var _updateTag = updateTag(appId, options, type, newInfo[type], getTag(tags, 'head'), getTag(tags, 'body')),\n        oldTags = _updateTag.oldTags,\n        newTags = _updateTag.newTags;\n\n    if (newTags.length) {\n      tagsAdded[type] = newTags;\n      tagsRemoved[type] = oldTags;\n    }\n  }\n\n  return {\n    tagsAdded: tagsAdded,\n    tagsRemoved: tagsRemoved\n  };\n}\n\nvar appsMetaInfo;\nfunction addApp(rootVm, appId, options) {\n  return {\n    set: function set(metaInfo) {\n      return setMetaInfo(rootVm, appId, options, metaInfo);\n    },\n    remove: function remove() {\n      return removeMetaInfo(rootVm, appId, options);\n    }\n  };\n}\nfunction setMetaInfo(rootVm, appId, options, metaInfo) {\n  // if a vm exists _and_ its mounted then immediately update\n  if (rootVm && rootVm.$el) {\n    return updateClientMetaInfo(appId, options, metaInfo);\n  } // store for later, the info\n  // will be set on the first refresh\n\n\n  appsMetaInfo = appsMetaInfo || {};\n  appsMetaInfo[appId] = metaInfo;\n}\nfunction removeMetaInfo(rootVm, appId, options) {\n  if (rootVm && rootVm.$el) {\n    var tags = {};\n\n    var _iterator = _createForOfIteratorHelper(metaInfoAttributeKeys),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var type = _step.value;\n        var tagName = type.substr(0, 4);\n        updateAttribute(appId, options, type, {}, getTag(tags, tagName));\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n\n    return removeElementsByAppId(options, appId);\n  }\n\n  if (appsMetaInfo[appId]) {\n    delete appsMetaInfo[appId];\n    clearAppsMetaInfo();\n  }\n}\nfunction getAppsMetaInfo() {\n  return appsMetaInfo;\n}\nfunction clearAppsMetaInfo(force) {\n  if (force || !Object.keys(appsMetaInfo).length) {\n    appsMetaInfo = undefined;\n  }\n}\n\n/**\n * Returns the correct meta info for the given component\n * (child components will overwrite parent meta info)\n *\n * @param  {Object} component - the Vue instance to get meta info from\n * @return {Object} - returned meta info\n */\n\nfunction getMetaInfo(options, info, escapeSequences, component) {\n  options = options || {};\n  escapeSequences = escapeSequences || [];\n  var _options = options,\n      tagIDKeyName = _options.tagIDKeyName; // Remove all \"template\" tags from meta\n  // backup the title chunk in case user wants access to it\n\n  if (info.title) {\n    info.titleChunk = info.title;\n  } // replace title with populated template\n\n\n  if (info.titleTemplate && info.titleTemplate !== '%s') {\n    applyTemplate({\n      component: component,\n      contentKeyName: 'title'\n    }, info, info.titleTemplate, info.titleChunk || '');\n  } // convert base tag to an array so it can be handled the same way\n  // as the other tags\n\n\n  if (info.base) {\n    info.base = Object.keys(info.base).length ? [info.base] : [];\n  }\n\n  if (info.meta) {\n    // remove meta items with duplicate vmid's\n    info.meta = info.meta.filter(function (metaItem, index, arr) {\n      var hasVmid = !!metaItem[tagIDKeyName];\n\n      if (!hasVmid) {\n        return true;\n      }\n\n      var isFirstItemForVmid = index === findIndex(arr, function (item) {\n        return item[tagIDKeyName] === metaItem[tagIDKeyName];\n      });\n      return isFirstItemForVmid;\n    }); // apply templates if needed\n\n    info.meta.forEach(function (metaObject) {\n      return applyTemplate(options, metaObject);\n    });\n  }\n\n  return escapeMetaInfo(options, info, escapeSequences);\n}\n\n/**\n * When called, will update the current meta info with new meta info.\n * Useful when updating meta info as the result of an asynchronous\n * action that resolves after the initial render takes place.\n *\n * Credit to [Sébastien Chopin](https://github.com/Atinux) for the suggestion\n * to implement this method.\n *\n * @return {Object} - new meta info\n */\n\nfunction refresh(rootVm, options) {\n  options = options || {}; // make sure vue-meta was initiated\n\n  if (!rootVm[rootConfigKey]) {\n    showWarningNotSupported();\n    return {};\n  } // collect & aggregate all metaInfo $options\n\n\n  var rawInfo = getComponentMetaInfo(options, rootVm);\n  var metaInfo = getMetaInfo(options, rawInfo, clientSequences, rootVm);\n  var appId = rootVm[rootConfigKey].appId;\n  var tags = updateClientMetaInfo(appId, options, metaInfo); // emit \"event\" with new info\n\n  if (tags && isFunction(metaInfo.changed)) {\n    metaInfo.changed(metaInfo, tags.tagsAdded, tags.tagsRemoved);\n    tags = {\n      addedTags: tags.tagsAdded,\n      removedTags: tags.tagsRemoved\n    };\n  }\n\n  var appsMetaInfo = getAppsMetaInfo();\n\n  if (appsMetaInfo) {\n    for (var additionalAppId in appsMetaInfo) {\n      updateClientMetaInfo(additionalAppId, options, appsMetaInfo[additionalAppId]);\n      delete appsMetaInfo[additionalAppId];\n    }\n\n    clearAppsMetaInfo(true);\n  }\n\n  return {\n    vm: rootVm,\n    metaInfo: metaInfo,\n    // eslint-disable-line object-shorthand\n    tags: tags\n  };\n}\n\n/**\n * Generates tag attributes for use on the server.\n *\n * @param  {('bodyAttrs'|'htmlAttrs'|'headAttrs')} type - the type of attributes to generate\n * @param  {Object} data - the attributes to generate\n * @return {Object} - the attribute generator\n */\n\nfunction attributeGenerator(options, type, data, _ref) {\n  var addSsrAttribute = _ref.addSsrAttribute;\n\n  var _ref2 = options || {},\n      attribute = _ref2.attribute,\n      ssrAttribute = _ref2.ssrAttribute;\n\n  var attributeStr = '';\n\n  for (var attr in data) {\n    var attrData = data[attr];\n    var attrValues = [];\n\n    for (var appId in attrData) {\n      attrValues.push.apply(attrValues, _toConsumableArray([].concat(attrData[appId])));\n    }\n\n    if (attrValues.length) {\n      attributeStr += booleanHtmlAttributes.includes(attr) && attrValues.some(Boolean) ? \"\".concat(attr) : \"\".concat(attr, \"=\\\"\").concat(attrValues.join(' '), \"\\\"\");\n      attributeStr += ' ';\n    }\n  }\n\n  if (attributeStr) {\n    attributeStr += \"\".concat(attribute, \"=\\\"\").concat(encodeURI(JSON.stringify(data)), \"\\\"\");\n  }\n\n  if (type === 'htmlAttrs' && addSsrAttribute) {\n    return \"\".concat(ssrAttribute).concat(attributeStr ? ' ' : '').concat(attributeStr);\n  }\n\n  return attributeStr;\n}\n\n/**\n * Generates title output for the server\n *\n * @param  {'title'} type - the string \"title\"\n * @param  {String} data - the title text\n * @return {Object} - the title generator\n */\nfunction titleGenerator(options, type, data, generatorOptions) {\n  var _ref = generatorOptions || {},\n      ln = _ref.ln;\n\n  if (!data) {\n    return '';\n  }\n\n  return \"<\".concat(type, \">\").concat(data, \"</\").concat(type, \">\").concat(ln ? '\\n' : '');\n}\n\n/**\n * Generates meta, base, link, style, script, noscript tags for use on the server\n *\n * @param  {('meta'|'base'|'link'|'style'|'script'|'noscript')} the name of the tag\n * @param  {(Array<Object>|Object)} tags - an array of tag objects or a single object in case of base\n * @return {Object} - the tag generator\n */\n\nfunction tagGenerator(options, type, tags, generatorOptions) {\n  var _ref = options || {},\n      ssrAppId = _ref.ssrAppId,\n      attribute = _ref.attribute,\n      tagIDKeyName = _ref.tagIDKeyName;\n\n  var _ref2 = generatorOptions || {},\n      appId = _ref2.appId,\n      _ref2$isSSR = _ref2.isSSR,\n      isSSR = _ref2$isSSR === void 0 ? true : _ref2$isSSR,\n      _ref2$body = _ref2.body,\n      body = _ref2$body === void 0 ? false : _ref2$body,\n      _ref2$pbody = _ref2.pbody,\n      pbody = _ref2$pbody === void 0 ? false : _ref2$pbody,\n      _ref2$ln = _ref2.ln,\n      ln = _ref2$ln === void 0 ? false : _ref2$ln;\n\n  var dataAttributes = [tagIDKeyName].concat(_toConsumableArray(commonDataAttributes));\n\n  if (!tags || !tags.length) {\n    return '';\n  } // build a string containing all tags of this type\n\n\n  return tags.reduce(function (tagsStr, tag) {\n    if (tag.skip) {\n      return tagsStr;\n    }\n\n    var tagKeys = Object.keys(tag);\n\n    if (tagKeys.length === 0) {\n      return tagsStr; // Bail on empty tag object\n    }\n\n    if (Boolean(tag.body) !== body || Boolean(tag.pbody) !== pbody) {\n      return tagsStr;\n    }\n\n    var attrs = tag.once ? '' : \" \".concat(attribute, \"=\\\"\").concat(appId || (isSSR === false ? '1' : ssrAppId), \"\\\"\"); // build a string containing all attributes of this tag\n\n    for (var attr in tag) {\n      // these attributes are treated as children on the tag\n      if (tagAttributeAsInnerContent.includes(attr) || tagProperties.includes(attr)) {\n        continue;\n      }\n\n      if (attr === 'callback') {\n        attrs += ' onload=\"this.__vm_l=1\"';\n        continue;\n      } // these form the attribute list for this tag\n\n\n      var prefix = '';\n\n      if (dataAttributes.includes(attr)) {\n        prefix = 'data-';\n      }\n\n      var isBooleanAttr = !prefix && booleanHtmlAttributes.includes(attr);\n\n      if (isBooleanAttr && !tag[attr]) {\n        continue;\n      }\n\n      attrs += \" \".concat(prefix).concat(attr) + (isBooleanAttr ? '' : \"=\\\"\".concat(tag[attr], \"\\\"\"));\n    }\n\n    var json = '';\n\n    if (tag.json) {\n      json = JSON.stringify(tag.json);\n    } // grab child content from one of these attributes, if possible\n\n\n    var content = tag.innerHTML || tag.cssText || json; // generate tag exactly without any other redundant attribute\n    // these tags have no end tag\n\n    var hasEndTag = !tagsWithoutEndTag.includes(type); // these tag types will have content inserted\n\n    var hasContent = hasEndTag && tagsWithInnerContent.includes(type); // the final string for this specific tag\n\n    return \"\".concat(tagsStr, \"<\").concat(type).concat(attrs).concat(!hasContent && hasEndTag ? '/' : '', \">\") + (hasContent ? \"\".concat(content, \"</\").concat(type, \">\") : '') + (ln ? '\\n' : '');\n  }, '');\n}\n\n/**\n * Converts a meta info property to one that can be stringified on the server\n *\n * @param  {String} type - the type of data to convert\n * @param  {(String|Object|Array<Object>)} data - the data value\n * @return {Object} - the new injector\n */\n\nfunction generateServerInjector(options, metaInfo, globalInjectOptions) {\n  var serverInjector = {\n    data: metaInfo,\n    extraData: undefined,\n    addInfo: function addInfo(appId, metaInfo) {\n      this.extraData = this.extraData || {};\n      this.extraData[appId] = metaInfo;\n    },\n    callInjectors: function callInjectors(opts) {\n      var m = this.injectors; // only call title for the head\n\n      return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.base.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts);\n    },\n    injectors: {\n      head: function head(ln) {\n        return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n          ln: ln\n        }));\n      },\n      bodyPrepend: function bodyPrepend(ln) {\n        return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n          ln: ln,\n          pbody: true\n        }));\n      },\n      bodyAppend: function bodyAppend(ln) {\n        return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n          ln: ln,\n          body: true\n        }));\n      }\n    }\n  };\n\n  var _loop = function _loop(type) {\n    if (metaInfoOptionKeys.includes(type)) {\n      return \"continue\";\n    }\n\n    serverInjector.injectors[type] = {\n      text: function text(injectOptions) {\n        var addSsrAttribute = injectOptions === true;\n        injectOptions = _objectSpread2(_objectSpread2({\n          addSsrAttribute: addSsrAttribute\n        }, globalInjectOptions), injectOptions);\n\n        if (type === 'title') {\n          return titleGenerator(options, type, serverInjector.data[type], injectOptions);\n        }\n\n        if (metaInfoAttributeKeys.includes(type)) {\n          var attributeData = {};\n          var data = serverInjector.data[type];\n\n          if (data) {\n            var appId = injectOptions.isSSR === false ? '1' : options.ssrAppId;\n\n            for (var attr in data) {\n              attributeData[attr] = _defineProperty({}, appId, data[attr]);\n            }\n          }\n\n          if (serverInjector.extraData) {\n            for (var _appId in serverInjector.extraData) {\n              var _data = serverInjector.extraData[_appId][type];\n\n              if (_data) {\n                for (var _attr in _data) {\n                  attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, _appId, _data[_attr]));\n                }\n              }\n            }\n          }\n\n          return attributeGenerator(options, type, attributeData, injectOptions);\n        }\n\n        var str = tagGenerator(options, type, serverInjector.data[type], injectOptions);\n\n        if (serverInjector.extraData) {\n          for (var _appId2 in serverInjector.extraData) {\n            var _data2 = serverInjector.extraData[_appId2][type];\n            var extraStr = tagGenerator(options, type, _data2, _objectSpread2({\n              appId: _appId2\n            }, injectOptions));\n            str = \"\".concat(str).concat(extraStr);\n          }\n        }\n\n        return str;\n      }\n    };\n  };\n\n  for (var type in defaultInfo) {\n    var _ret = _loop(type);\n\n    if (_ret === \"continue\") continue;\n  }\n\n  return serverInjector;\n}\n\n/**\n * Converts the state of the meta info object such that each item\n * can be compiled to a tag string on the server\n *\n * @vm {Object} - Vue instance - ideally the root component\n * @return {Object} - server meta info with `toString` methods\n */\n\nfunction inject(rootVm, options, injectOptions) {\n  // make sure vue-meta was initiated\n  if (!rootVm[rootConfigKey]) {\n    showWarningNotSupported();\n    return {};\n  } // collect & aggregate all metaInfo $options\n\n\n  var rawInfo = getComponentMetaInfo(options, rootVm);\n  var metaInfo = getMetaInfo(options, rawInfo, serverSequences, rootVm); // generate server injector\n\n  var serverInjector = generateServerInjector(options, metaInfo, injectOptions); // add meta info from additional apps\n\n  var appsMetaInfo = getAppsMetaInfo();\n\n  if (appsMetaInfo) {\n    for (var additionalAppId in appsMetaInfo) {\n      serverInjector.addInfo(additionalAppId, appsMetaInfo[additionalAppId]);\n      delete appsMetaInfo[additionalAppId];\n    }\n\n    clearAppsMetaInfo(true);\n  }\n\n  return serverInjector.injectors;\n}\n\nfunction $meta(options) {\n  options = options || {};\n  /**\n   * Returns an injector for server-side rendering.\n   * @this {Object} - the Vue instance (a root component)\n   * @return {Object} - injector\n   */\n\n  var $root = this.$root;\n  return {\n    getOptions: function getOptions$1() {\n      return getOptions(options);\n    },\n    setOptions: function setOptions(newOptions) {\n      var refreshNavKey = 'refreshOnceOnNavigation';\n\n      if (newOptions && newOptions[refreshNavKey]) {\n        options.refreshOnceOnNavigation = !!newOptions[refreshNavKey];\n        addNavGuards($root);\n      }\n\n      var debounceWaitKey = 'debounceWait';\n\n      if (newOptions && debounceWaitKey in newOptions) {\n        var debounceWait = parseInt(newOptions[debounceWaitKey]);\n\n        if (!isNaN(debounceWait)) {\n          options.debounceWait = debounceWait;\n        }\n      }\n\n      var waitOnDestroyedKey = 'waitOnDestroyed';\n\n      if (newOptions && waitOnDestroyedKey in newOptions) {\n        options.waitOnDestroyed = !!newOptions[waitOnDestroyedKey];\n      }\n    },\n    refresh: function refresh$1() {\n      return refresh($root, options);\n    },\n    inject: function inject$1(injectOptions) {\n      return  inject($root, options, injectOptions) ;\n    },\n    pause: function pause$1() {\n      return pause($root);\n    },\n    resume: function resume$1() {\n      return resume($root);\n    },\n    addApp: function addApp$1(appId) {\n      return addApp($root, appId, options);\n    }\n  };\n}\n\nfunction generate(rawInfo, options) {\n  options = setOptions(options);\n  var metaInfo = getMetaInfo(options, rawInfo, serverSequences);\n  var serverInjector = generateServerInjector(options, metaInfo);\n  return serverInjector.injectors;\n}\n\n/**\n * Plugin install function.\n * @param {Function} Vue - the Vue constructor.\n */\n\nfunction install(Vue, options) {\n  if (Vue.__vuemeta_installed) {\n    return;\n  }\n\n  Vue.__vuemeta_installed = true;\n  options = setOptions(options);\n\n  Vue.prototype.$meta = function () {\n    return $meta.call(this, options);\n  };\n\n  Vue.mixin(createMixin(Vue, options));\n}\n\nvar index = {\n  version: version,\n  install: install,\n  generate: function generate$1(metaInfo, options) {\n    return  generate(metaInfo, options) ;\n  },\n  hasMetaInfo: hasMetaInfo\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/vue-meta/dist/vue-meta.esm.js?");

/***/ }),

/***/ "./node_modules/vue-meta/node_modules/deepmerge/dist/cjs.js":
/*!******************************************************************!*\
  !*** ./node_modules/vue-meta/node_modules/deepmerge/dist/cjs.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n\n\n//# sourceURL=webpack:///./node_modules/vue-meta/node_modules/deepmerge/dist/cjs.js?");

/***/ }),

/***/ "./node_modules/vue-router/dist/vue-router.esm.js":
/*!********************************************************!*\
  !*** ./node_modules/vue-router/dist/vue-router.esm.js ***!
  \********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*!\n  * vue-router v3.5.4\n  * (c) 2022 Evan You\n  * @license MIT\n  */\n/*  */\n\nfunction assert (condition, message) {\n  if (!condition) {\n    throw new Error((\"[vue-router] \" + message))\n  }\n}\n\nfunction warn (condition, message) {\n  if (!condition) {\n    typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n  }\n}\n\nfunction extend (a, b) {\n  for (var key in b) {\n    a[key] = b[key];\n  }\n  return a\n}\n\n/*  */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n    .replace(encodeReserveRE, encodeReserveReplacer)\n    .replace(commaRE, ','); };\n\nfunction decode (str) {\n  try {\n    return decodeURIComponent(str)\n  } catch (err) {\n    if (true) {\n      warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n    }\n  }\n  return str\n}\n\nfunction resolveQuery (\n  query,\n  extraQuery,\n  _parseQuery\n) {\n  if ( extraQuery === void 0 ) extraQuery = {};\n\n  var parse = _parseQuery || parseQuery;\n  var parsedQuery;\n  try {\n    parsedQuery = parse(query || '');\n  } catch (e) {\n     true && warn(false, e.message);\n    parsedQuery = {};\n  }\n  for (var key in extraQuery) {\n    var value = extraQuery[key];\n    parsedQuery[key] = Array.isArray(value)\n      ? value.map(castQueryParamValue)\n      : castQueryParamValue(value);\n  }\n  return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n  var res = {};\n\n  query = query.trim().replace(/^(\\?|#|&)/, '');\n\n  if (!query) {\n    return res\n  }\n\n  query.split('&').forEach(function (param) {\n    var parts = param.replace(/\\+/g, ' ').split('=');\n    var key = decode(parts.shift());\n    var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n    if (res[key] === undefined) {\n      res[key] = val;\n    } else if (Array.isArray(res[key])) {\n      res[key].push(val);\n    } else {\n      res[key] = [res[key], val];\n    }\n  });\n\n  return res\n}\n\nfunction stringifyQuery (obj) {\n  var res = obj\n    ? Object.keys(obj)\n      .map(function (key) {\n        var val = obj[key];\n\n        if (val === undefined) {\n          return ''\n        }\n\n        if (val === null) {\n          return encode(key)\n        }\n\n        if (Array.isArray(val)) {\n          var result = [];\n          val.forEach(function (val2) {\n            if (val2 === undefined) {\n              return\n            }\n            if (val2 === null) {\n              result.push(encode(key));\n            } else {\n              result.push(encode(key) + '=' + encode(val2));\n            }\n          });\n          return result.join('&')\n        }\n\n        return encode(key) + '=' + encode(val)\n      })\n      .filter(function (x) { return x.length > 0; })\n      .join('&')\n    : null;\n  return res ? (\"?\" + res) : ''\n}\n\n/*  */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n  record,\n  location,\n  redirectedFrom,\n  router\n) {\n  var stringifyQuery = router && router.options.stringifyQuery;\n\n  var query = location.query || {};\n  try {\n    query = clone(query);\n  } catch (e) {}\n\n  var route = {\n    name: location.name || (record && record.name),\n    meta: (record && record.meta) || {},\n    path: location.path || '/',\n    hash: location.hash || '',\n    query: query,\n    params: location.params || {},\n    fullPath: getFullPath(location, stringifyQuery),\n    matched: record ? formatMatch(record) : []\n  };\n  if (redirectedFrom) {\n    route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n  }\n  return Object.freeze(route)\n}\n\nfunction clone (value) {\n  if (Array.isArray(value)) {\n    return value.map(clone)\n  } else if (value && typeof value === 'object') {\n    var res = {};\n    for (var key in value) {\n      res[key] = clone(value[key]);\n    }\n    return res\n  } else {\n    return value\n  }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n  path: '/'\n});\n\nfunction formatMatch (record) {\n  var res = [];\n  while (record) {\n    res.unshift(record);\n    record = record.parent;\n  }\n  return res\n}\n\nfunction getFullPath (\n  ref,\n  _stringifyQuery\n) {\n  var path = ref.path;\n  var query = ref.query; if ( query === void 0 ) query = {};\n  var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n  var stringify = _stringifyQuery || stringifyQuery;\n  return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n  if (b === START) {\n    return a === b\n  } else if (!b) {\n    return false\n  } else if (a.path && b.path) {\n    return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n      a.hash === b.hash &&\n      isObjectEqual(a.query, b.query))\n  } else if (a.name && b.name) {\n    return (\n      a.name === b.name &&\n      (onlyPath || (\n        a.hash === b.hash &&\n      isObjectEqual(a.query, b.query) &&\n      isObjectEqual(a.params, b.params))\n      )\n    )\n  } else {\n    return false\n  }\n}\n\nfunction isObjectEqual (a, b) {\n  if ( a === void 0 ) a = {};\n  if ( b === void 0 ) b = {};\n\n  // handle null value #1566\n  if (!a || !b) { return a === b }\n  var aKeys = Object.keys(a).sort();\n  var bKeys = Object.keys(b).sort();\n  if (aKeys.length !== bKeys.length) {\n    return false\n  }\n  return aKeys.every(function (key, i) {\n    var aVal = a[key];\n    var bKey = bKeys[i];\n    if (bKey !== key) { return false }\n    var bVal = b[key];\n    // query values can be null and undefined\n    if (aVal == null || bVal == null) { return aVal === bVal }\n    // check nested equality\n    if (typeof aVal === 'object' && typeof bVal === 'object') {\n      return isObjectEqual(aVal, bVal)\n    }\n    return String(aVal) === String(bVal)\n  })\n}\n\nfunction isIncludedRoute (current, target) {\n  return (\n    current.path.replace(trailingSlashRE, '/').indexOf(\n      target.path.replace(trailingSlashRE, '/')\n    ) === 0 &&\n    (!target.hash || current.hash === target.hash) &&\n    queryIncludes(current.query, target.query)\n  )\n}\n\nfunction queryIncludes (current, target) {\n  for (var key in target) {\n    if (!(key in current)) {\n      return false\n    }\n  }\n  return true\n}\n\nfunction handleRouteEntered (route) {\n  for (var i = 0; i < route.matched.length; i++) {\n    var record = route.matched[i];\n    for (var name in record.instances) {\n      var instance = record.instances[name];\n      var cbs = record.enteredCbs[name];\n      if (!instance || !cbs) { continue }\n      delete record.enteredCbs[name];\n      for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n        if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n      }\n    }\n  }\n}\n\nvar View = {\n  name: 'RouterView',\n  functional: true,\n  props: {\n    name: {\n      type: String,\n      default: 'default'\n    }\n  },\n  render: function render (_, ref) {\n    var props = ref.props;\n    var children = ref.children;\n    var parent = ref.parent;\n    var data = ref.data;\n\n    // used by devtools to display a router-view badge\n    data.routerView = true;\n\n    // directly use parent context's createElement() function\n    // so that components rendered by router-view can resolve named slots\n    var h = parent.$createElement;\n    var name = props.name;\n    var route = parent.$route;\n    var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n    // determine current view depth, also check to see if the tree\n    // has been toggled inactive but kept-alive.\n    var depth = 0;\n    var inactive = false;\n    while (parent && parent._routerRoot !== parent) {\n      var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n      if (vnodeData.routerView) {\n        depth++;\n      }\n      if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n        inactive = true;\n      }\n      parent = parent.$parent;\n    }\n    data.routerViewDepth = depth;\n\n    // render previous view if the tree is inactive and kept-alive\n    if (inactive) {\n      var cachedData = cache[name];\n      var cachedComponent = cachedData && cachedData.component;\n      if (cachedComponent) {\n        // #2301\n        // pass props\n        if (cachedData.configProps) {\n          fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n        }\n        return h(cachedComponent, data, children)\n      } else {\n        // render previous empty view\n        return h()\n      }\n    }\n\n    var matched = route.matched[depth];\n    var component = matched && matched.components[name];\n\n    // render empty node if no matched route or no config component\n    if (!matched || !component) {\n      cache[name] = null;\n      return h()\n    }\n\n    // cache component\n    cache[name] = { component: component };\n\n    // attach instance registration hook\n    // this will be called in the instance's injected lifecycle hooks\n    data.registerRouteInstance = function (vm, val) {\n      // val could be undefined for unregistration\n      var current = matched.instances[name];\n      if (\n        (val && current !== vm) ||\n        (!val && current === vm)\n      ) {\n        matched.instances[name] = val;\n      }\n    }\n\n    // also register instance in prepatch hook\n    // in case the same component instance is reused across different routes\n    ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n      matched.instances[name] = vnode.componentInstance;\n    };\n\n    // register instance in init hook\n    // in case kept-alive component be actived when routes changed\n    data.hook.init = function (vnode) {\n      if (vnode.data.keepAlive &&\n        vnode.componentInstance &&\n        vnode.componentInstance !== matched.instances[name]\n      ) {\n        matched.instances[name] = vnode.componentInstance;\n      }\n\n      // if the route transition has already been confirmed then we weren't\n      // able to call the cbs during confirmation as the component was not\n      // registered yet, so we call it here.\n      handleRouteEntered(route);\n    };\n\n    var configProps = matched.props && matched.props[name];\n    // save route and configProps in cache\n    if (configProps) {\n      extend(cache[name], {\n        route: route,\n        configProps: configProps\n      });\n      fillPropsinData(component, data, route, configProps);\n    }\n\n    return h(component, data, children)\n  }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n  // resolve props\n  var propsToPass = data.props = resolveProps(route, configProps);\n  if (propsToPass) {\n    // clone to prevent mutation\n    propsToPass = data.props = extend({}, propsToPass);\n    // pass non-declared props as attrs\n    var attrs = data.attrs = data.attrs || {};\n    for (var key in propsToPass) {\n      if (!component.props || !(key in component.props)) {\n        attrs[key] = propsToPass[key];\n        delete propsToPass[key];\n      }\n    }\n  }\n}\n\nfunction resolveProps (route, config) {\n  switch (typeof config) {\n    case 'undefined':\n      return\n    case 'object':\n      return config\n    case 'function':\n      return config(route)\n    case 'boolean':\n      return config ? route.params : undefined\n    default:\n      if (true) {\n        warn(\n          false,\n          \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n          \"expecting an object, function or boolean.\"\n        );\n      }\n  }\n}\n\n/*  */\n\nfunction resolvePath (\n  relative,\n  base,\n  append\n) {\n  var firstChar = relative.charAt(0);\n  if (firstChar === '/') {\n    return relative\n  }\n\n  if (firstChar === '?' || firstChar === '#') {\n    return base + relative\n  }\n\n  var stack = base.split('/');\n\n  // remove trailing segment if:\n  // - not appending\n  // - appending to trailing slash (last segment is empty)\n  if (!append || !stack[stack.length - 1]) {\n    stack.pop();\n  }\n\n  // resolve relative path\n  var segments = relative.replace(/^\\//, '').split('/');\n  for (var i = 0; i < segments.length; i++) {\n    var segment = segments[i];\n    if (segment === '..') {\n      stack.pop();\n    } else if (segment !== '.') {\n      stack.push(segment);\n    }\n  }\n\n  // ensure leading slash\n  if (stack[0] !== '') {\n    stack.unshift('');\n  }\n\n  return stack.join('/')\n}\n\nfunction parsePath (path) {\n  var hash = '';\n  var query = '';\n\n  var hashIndex = path.indexOf('#');\n  if (hashIndex >= 0) {\n    hash = path.slice(hashIndex);\n    path = path.slice(0, hashIndex);\n  }\n\n  var queryIndex = path.indexOf('?');\n  if (queryIndex >= 0) {\n    query = path.slice(queryIndex + 1);\n    path = path.slice(0, queryIndex);\n  }\n\n  return {\n    path: path,\n    query: query,\n    hash: hash\n  }\n}\n\nfunction cleanPath (path) {\n  return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n  return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n  // Match escaped characters that would otherwise appear in future matches.\n  // This allows the user to escape special characters that won't transform.\n  '(\\\\\\\\.)',\n  // Match Express-style parameters and un-named parameters with a prefix\n  // and optional suffixes. Matches appear as:\n  //\n  // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n  // \"/route(\\\\d+)\"  => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n  // \"/*\"            => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n  '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param  {string}  str\n * @param  {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n  var tokens = [];\n  var key = 0;\n  var index = 0;\n  var path = '';\n  var defaultDelimiter = options && options.delimiter || '/';\n  var res;\n\n  while ((res = PATH_REGEXP.exec(str)) != null) {\n    var m = res[0];\n    var escaped = res[1];\n    var offset = res.index;\n    path += str.slice(index, offset);\n    index = offset + m.length;\n\n    // Ignore already escaped sequences.\n    if (escaped) {\n      path += escaped[1];\n      continue\n    }\n\n    var next = str[index];\n    var prefix = res[2];\n    var name = res[3];\n    var capture = res[4];\n    var group = res[5];\n    var modifier = res[6];\n    var asterisk = res[7];\n\n    // Push the current path onto the tokens.\n    if (path) {\n      tokens.push(path);\n      path = '';\n    }\n\n    var partial = prefix != null && next != null && next !== prefix;\n    var repeat = modifier === '+' || modifier === '*';\n    var optional = modifier === '?' || modifier === '*';\n    var delimiter = res[2] || defaultDelimiter;\n    var pattern = capture || group;\n\n    tokens.push({\n      name: name || key++,\n      prefix: prefix || '',\n      delimiter: delimiter,\n      optional: optional,\n      repeat: repeat,\n      partial: partial,\n      asterisk: !!asterisk,\n      pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n    });\n  }\n\n  // Match any characters still remaining.\n  if (index < str.length) {\n    path += str.substr(index);\n  }\n\n  // If the path exists, push it onto the end.\n  if (path) {\n    tokens.push(path);\n  }\n\n  return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param  {string}             str\n * @param  {Object=}            options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n  return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param  {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n  return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n    return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n  })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param  {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n  return encodeURI(str).replace(/[?#]/g, function (c) {\n    return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n  })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n  // Compile all the tokens into regexps.\n  var matches = new Array(tokens.length);\n\n  // Compile all the patterns before compilation.\n  for (var i = 0; i < tokens.length; i++) {\n    if (typeof tokens[i] === 'object') {\n      matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n    }\n  }\n\n  return function (obj, opts) {\n    var path = '';\n    var data = obj || {};\n    var options = opts || {};\n    var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n    for (var i = 0; i < tokens.length; i++) {\n      var token = tokens[i];\n\n      if (typeof token === 'string') {\n        path += token;\n\n        continue\n      }\n\n      var value = data[token.name];\n      var segment;\n\n      if (value == null) {\n        if (token.optional) {\n          // Prepend partial segment prefixes.\n          if (token.partial) {\n            path += token.prefix;\n          }\n\n          continue\n        } else {\n          throw new TypeError('Expected \"' + token.name + '\" to be defined')\n        }\n      }\n\n      if (isarray(value)) {\n        if (!token.repeat) {\n          throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n        }\n\n        if (value.length === 0) {\n          if (token.optional) {\n            continue\n          } else {\n            throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n          }\n        }\n\n        for (var j = 0; j < value.length; j++) {\n          segment = encode(value[j]);\n\n          if (!matches[i].test(segment)) {\n            throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n          }\n\n          path += (j === 0 ? token.prefix : token.delimiter) + segment;\n        }\n\n        continue\n      }\n\n      segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n      if (!matches[i].test(segment)) {\n        throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n      }\n\n      path += token.prefix + segment;\n    }\n\n    return path\n  }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param  {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n  return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param  {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n  return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param  {!RegExp} re\n * @param  {Array}   keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n  re.keys = keys;\n  return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param  {Object} options\n * @return {string}\n */\nfunction flags (options) {\n  return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param  {!RegExp} path\n * @param  {!Array}  keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n  // Use a negative lookahead to match only capturing groups.\n  var groups = path.source.match(/\\((?!\\?)/g);\n\n  if (groups) {\n    for (var i = 0; i < groups.length; i++) {\n      keys.push({\n        name: i,\n        prefix: null,\n        delimiter: null,\n        optional: false,\n        repeat: false,\n        partial: false,\n        asterisk: false,\n        pattern: null\n      });\n    }\n  }\n\n  return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param  {!Array}  path\n * @param  {Array}   keys\n * @param  {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n  var parts = [];\n\n  for (var i = 0; i < path.length; i++) {\n    parts.push(pathToRegexp(path[i], keys, options).source);\n  }\n\n  var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n  return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param  {string}  path\n * @param  {!Array}  keys\n * @param  {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n  return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param  {!Array}          tokens\n * @param  {(Array|Object)=} keys\n * @param  {Object=}         options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n  if (!isarray(keys)) {\n    options = /** @type {!Object} */ (keys || options);\n    keys = [];\n  }\n\n  options = options || {};\n\n  var strict = options.strict;\n  var end = options.end !== false;\n  var route = '';\n\n  // Iterate over the tokens and create our regexp string.\n  for (var i = 0; i < tokens.length; i++) {\n    var token = tokens[i];\n\n    if (typeof token === 'string') {\n      route += escapeString(token);\n    } else {\n      var prefix = escapeString(token.prefix);\n      var capture = '(?:' + token.pattern + ')';\n\n      keys.push(token);\n\n      if (token.repeat) {\n        capture += '(?:' + prefix + capture + ')*';\n      }\n\n      if (token.optional) {\n        if (!token.partial) {\n          capture = '(?:' + prefix + '(' + capture + '))?';\n        } else {\n          capture = prefix + '(' + capture + ')?';\n        }\n      } else {\n        capture = prefix + '(' + capture + ')';\n      }\n\n      route += capture;\n    }\n  }\n\n  var delimiter = escapeString(options.delimiter || '/');\n  var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n  // In non-strict mode we allow a slash at the end of match. If the path to\n  // match already ends with a slash, we remove it for consistency. The slash\n  // is valid at the end of a path match, not in the middle. This is important\n  // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n  if (!strict) {\n    route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n  }\n\n  if (end) {\n    route += '$';\n  } else {\n    // In non-ending mode, we need the capturing groups to match as much as\n    // possible by using a positive lookahead to the end or next path segment.\n    route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n  }\n\n  return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param  {(string|RegExp|Array)} path\n * @param  {(Array|Object)=}       keys\n * @param  {Object=}               options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n  if (!isarray(keys)) {\n    options = /** @type {!Object} */ (keys || options);\n    keys = [];\n  }\n\n  options = options || {};\n\n  if (path instanceof RegExp) {\n    return regexpToRegexp(path, /** @type {!Array} */ (keys))\n  }\n\n  if (isarray(path)) {\n    return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n  }\n\n  return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/*  */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n  path,\n  params,\n  routeMsg\n) {\n  params = params || {};\n  try {\n    var filler =\n      regexpCompileCache[path] ||\n      (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n    // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n    // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n    if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n    return filler(params, { pretty: true })\n  } catch (e) {\n    if (true) {\n      // Fix #3072 no warn if `pathMatch` is string\n      warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n    }\n    return ''\n  } finally {\n    // delete the 0 if it was added\n    delete params[0];\n  }\n}\n\n/*  */\n\nfunction normalizeLocation (\n  raw,\n  current,\n  append,\n  router\n) {\n  var next = typeof raw === 'string' ? { path: raw } : raw;\n  // named target\n  if (next._normalized) {\n    return next\n  } else if (next.name) {\n    next = extend({}, raw);\n    var params = next.params;\n    if (params && typeof params === 'object') {\n      next.params = extend({}, params);\n    }\n    return next\n  }\n\n  // relative params\n  if (!next.path && next.params && current) {\n    next = extend({}, next);\n    next._normalized = true;\n    var params$1 = extend(extend({}, current.params), next.params);\n    if (current.name) {\n      next.name = current.name;\n      next.params = params$1;\n    } else if (current.matched.length) {\n      var rawPath = current.matched[current.matched.length - 1].path;\n      next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n    } else if (true) {\n      warn(false, \"relative params navigation requires a current route.\");\n    }\n    return next\n  }\n\n  var parsedPath = parsePath(next.path || '');\n  var basePath = (current && current.path) || '/';\n  var path = parsedPath.path\n    ? resolvePath(parsedPath.path, basePath, append || next.append)\n    : basePath;\n\n  var query = resolveQuery(\n    parsedPath.query,\n    next.query,\n    router && router.options.parseQuery\n  );\n\n  var hash = next.hash || parsedPath.hash;\n  if (hash && hash.charAt(0) !== '#') {\n    hash = \"#\" + hash;\n  }\n\n  return {\n    _normalized: true,\n    path: path,\n    query: query,\n    hash: hash\n  }\n}\n\n/*  */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n  name: 'RouterLink',\n  props: {\n    to: {\n      type: toTypes,\n      required: true\n    },\n    tag: {\n      type: String,\n      default: 'a'\n    },\n    custom: Boolean,\n    exact: Boolean,\n    exactPath: Boolean,\n    append: Boolean,\n    replace: Boolean,\n    activeClass: String,\n    exactActiveClass: String,\n    ariaCurrentValue: {\n      type: String,\n      default: 'page'\n    },\n    event: {\n      type: eventTypes,\n      default: 'click'\n    }\n  },\n  render: function render (h) {\n    var this$1 = this;\n\n    var router = this.$router;\n    var current = this.$route;\n    var ref = router.resolve(\n      this.to,\n      current,\n      this.append\n    );\n    var location = ref.location;\n    var route = ref.route;\n    var href = ref.href;\n\n    var classes = {};\n    var globalActiveClass = router.options.linkActiveClass;\n    var globalExactActiveClass = router.options.linkExactActiveClass;\n    // Support global empty active class\n    var activeClassFallback =\n      globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n    var exactActiveClassFallback =\n      globalExactActiveClass == null\n        ? 'router-link-exact-active'\n        : globalExactActiveClass;\n    var activeClass =\n      this.activeClass == null ? activeClassFallback : this.activeClass;\n    var exactActiveClass =\n      this.exactActiveClass == null\n        ? exactActiveClassFallback\n        : this.exactActiveClass;\n\n    var compareTarget = route.redirectedFrom\n      ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n      : route;\n\n    classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n    classes[activeClass] = this.exact || this.exactPath\n      ? classes[exactActiveClass]\n      : isIncludedRoute(current, compareTarget);\n\n    var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n    var handler = function (e) {\n      if (guardEvent(e)) {\n        if (this$1.replace) {\n          router.replace(location, noop);\n        } else {\n          router.push(location, noop);\n        }\n      }\n    };\n\n    var on = { click: guardEvent };\n    if (Array.isArray(this.event)) {\n      this.event.forEach(function (e) {\n        on[e] = handler;\n      });\n    } else {\n      on[this.event] = handler;\n    }\n\n    var data = { class: classes };\n\n    var scopedSlot =\n      !this.$scopedSlots.$hasNormal &&\n      this.$scopedSlots.default &&\n      this.$scopedSlots.default({\n        href: href,\n        route: route,\n        navigate: handler,\n        isActive: classes[activeClass],\n        isExactActive: classes[exactActiveClass]\n      });\n\n    if (scopedSlot) {\n      if ( true && !this.custom) {\n        !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an <a> element. Use the custom prop to remove this warning:\\n<router-link v-slot=\"{ navigate, href }\" custom></router-link>\\n');\n        warnedCustomSlot = true;\n      }\n      if (scopedSlot.length === 1) {\n        return scopedSlot[0]\n      } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n        if (true) {\n          warn(\n            false,\n            (\"<router-link> with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n          );\n        }\n        return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n      }\n    }\n\n    if (true) {\n      if ('tag' in this.$options.propsData && !warnedTagProp) {\n        warn(\n          false,\n          \"<router-link>'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n        );\n        warnedTagProp = true;\n      }\n      if ('event' in this.$options.propsData && !warnedEventProp) {\n        warn(\n          false,\n          \"<router-link>'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n        );\n        warnedEventProp = true;\n      }\n    }\n\n    if (this.tag === 'a') {\n      data.on = on;\n      data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n    } else {\n      // find the first <a> child and apply listener and href\n      var a = findAnchor(this.$slots.default);\n      if (a) {\n        // in case the <a> is a static node\n        a.isStatic = false;\n        var aData = (a.data = extend({}, a.data));\n        aData.on = aData.on || {};\n        // transform existing events in both objects into arrays so we can push later\n        for (var event in aData.on) {\n          var handler$1 = aData.on[event];\n          if (event in on) {\n            aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n          }\n        }\n        // append new listeners for router-link\n        for (var event$1 in on) {\n          if (event$1 in aData.on) {\n            // on[event] is always a function\n            aData.on[event$1].push(on[event$1]);\n          } else {\n            aData.on[event$1] = handler;\n          }\n        }\n\n        var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n        aAttrs.href = href;\n        aAttrs['aria-current'] = ariaCurrentValue;\n      } else {\n        // doesn't have <a> child, apply listener to self\n        data.on = on;\n      }\n    }\n\n    return h(this.tag, data, this.$slots.default)\n  }\n};\n\nfunction guardEvent (e) {\n  // don't redirect with control keys\n  if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n  // don't redirect when preventDefault called\n  if (e.defaultPrevented) { return }\n  // don't redirect on right click\n  if (e.button !== undefined && e.button !== 0) { return }\n  // don't redirect if `target=\"_blank\"`\n  if (e.currentTarget && e.currentTarget.getAttribute) {\n    var target = e.currentTarget.getAttribute('target');\n    if (/\\b_blank\\b/i.test(target)) { return }\n  }\n  // this may be a Weex event which doesn't have this method\n  if (e.preventDefault) {\n    e.preventDefault();\n  }\n  return true\n}\n\nfunction findAnchor (children) {\n  if (children) {\n    var child;\n    for (var i = 0; i < children.length; i++) {\n      child = children[i];\n      if (child.tag === 'a') {\n        return child\n      }\n      if (child.children && (child = findAnchor(child.children))) {\n        return child\n      }\n    }\n  }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n  if (install.installed && _Vue === Vue) { return }\n  install.installed = true;\n\n  _Vue = Vue;\n\n  var isDef = function (v) { return v !== undefined; };\n\n  var registerInstance = function (vm, callVal) {\n    var i = vm.$options._parentVnode;\n    if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n      i(vm, callVal);\n    }\n  };\n\n  Vue.mixin({\n    beforeCreate: function beforeCreate () {\n      if (isDef(this.$options.router)) {\n        this._routerRoot = this;\n        this._router = this.$options.router;\n        this._router.init(this);\n        Vue.util.defineReactive(this, '_route', this._router.history.current);\n      } else {\n        this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n      }\n      registerInstance(this, this);\n    },\n    destroyed: function destroyed () {\n      registerInstance(this);\n    }\n  });\n\n  Object.defineProperty(Vue.prototype, '$router', {\n    get: function get () { return this._routerRoot._router }\n  });\n\n  Object.defineProperty(Vue.prototype, '$route', {\n    get: function get () { return this._routerRoot._route }\n  });\n\n  Vue.component('RouterView', View);\n  Vue.component('RouterLink', Link);\n\n  var strats = Vue.config.optionMergeStrategies;\n  // use the same hook merging strategy for route hooks\n  strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/*  */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/*  */\n\nfunction createRouteMap (\n  routes,\n  oldPathList,\n  oldPathMap,\n  oldNameMap,\n  parentRoute\n) {\n  // the path list is used to control path matching priority\n  var pathList = oldPathList || [];\n  // $flow-disable-line\n  var pathMap = oldPathMap || Object.create(null);\n  // $flow-disable-line\n  var nameMap = oldNameMap || Object.create(null);\n\n  routes.forEach(function (route) {\n    addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n  });\n\n  // ensure wildcard routes are always at the end\n  for (var i = 0, l = pathList.length; i < l; i++) {\n    if (pathList[i] === '*') {\n      pathList.push(pathList.splice(i, 1)[0]);\n      l--;\n      i--;\n    }\n  }\n\n  if (true) {\n    // warn if routes do not include leading slashes\n    var found = pathList\n    // check for missing leading slash\n      .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n    if (found.length > 0) {\n      var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n      warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n    }\n  }\n\n  return {\n    pathList: pathList,\n    pathMap: pathMap,\n    nameMap: nameMap\n  }\n}\n\nfunction addRouteRecord (\n  pathList,\n  pathMap,\n  nameMap,\n  route,\n  parent,\n  matchAs\n) {\n  var path = route.path;\n  var name = route.name;\n  if (true) {\n    assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n    assert(\n      typeof route.component !== 'string',\n      \"route config \\\"component\\\" for path: \" + (String(\n        path || name\n      )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n    );\n\n    warn(\n      // eslint-disable-next-line no-control-regex\n      !/[^\\u0000-\\u007F]+/.test(path),\n      \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n        \"your path is correctly encoded before passing it to the router. Use \" +\n        \"encodeURI to encode static segments of your path.\"\n    );\n  }\n\n  var pathToRegexpOptions =\n    route.pathToRegexpOptions || {};\n  var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n  if (typeof route.caseSensitive === 'boolean') {\n    pathToRegexpOptions.sensitive = route.caseSensitive;\n  }\n\n  var record = {\n    path: normalizedPath,\n    regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n    components: route.components || { default: route.component },\n    alias: route.alias\n      ? typeof route.alias === 'string'\n        ? [route.alias]\n        : route.alias\n      : [],\n    instances: {},\n    enteredCbs: {},\n    name: name,\n    parent: parent,\n    matchAs: matchAs,\n    redirect: route.redirect,\n    beforeEnter: route.beforeEnter,\n    meta: route.meta || {},\n    props:\n      route.props == null\n        ? {}\n        : route.components\n          ? route.props\n          : { default: route.props }\n  };\n\n  if (route.children) {\n    // Warn if route is named, does not redirect and has a default child route.\n    // If users navigate to this route by name, the default child will\n    // not be rendered (GH Issue #629)\n    if (true) {\n      if (\n        route.name &&\n        !route.redirect &&\n        route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n      ) {\n        warn(\n          false,\n          \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n            \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n            \"the default child route will not be rendered. Remove the name from \" +\n            \"this route and use the name of the default child route for named \" +\n            \"links instead.\"\n        );\n      }\n    }\n    route.children.forEach(function (child) {\n      var childMatchAs = matchAs\n        ? cleanPath((matchAs + \"/\" + (child.path)))\n        : undefined;\n      addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n    });\n  }\n\n  if (!pathMap[record.path]) {\n    pathList.push(record.path);\n    pathMap[record.path] = record;\n  }\n\n  if (route.alias !== undefined) {\n    var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n    for (var i = 0; i < aliases.length; ++i) {\n      var alias = aliases[i];\n      if ( true && alias === path) {\n        warn(\n          false,\n          (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n        );\n        // skip in dev to make it work\n        continue\n      }\n\n      var aliasRoute = {\n        path: alias,\n        children: route.children\n      };\n      addRouteRecord(\n        pathList,\n        pathMap,\n        nameMap,\n        aliasRoute,\n        parent,\n        record.path || '/' // matchAs\n      );\n    }\n  }\n\n  if (name) {\n    if (!nameMap[name]) {\n      nameMap[name] = record;\n    } else if ( true && !matchAs) {\n      warn(\n        false,\n        \"Duplicate named routes definition: \" +\n          \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n      );\n    }\n  }\n}\n\nfunction compileRouteRegex (\n  path,\n  pathToRegexpOptions\n) {\n  var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n  if (true) {\n    var keys = Object.create(null);\n    regex.keys.forEach(function (key) {\n      warn(\n        !keys[key.name],\n        (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n      );\n      keys[key.name] = true;\n    });\n  }\n  return regex\n}\n\nfunction normalizePath (\n  path,\n  parent,\n  strict\n) {\n  if (!strict) { path = path.replace(/\\/$/, ''); }\n  if (path[0] === '/') { return path }\n  if (parent == null) { return path }\n  return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/*  */\n\n\n\nfunction createMatcher (\n  routes,\n  router\n) {\n  var ref = createRouteMap(routes);\n  var pathList = ref.pathList;\n  var pathMap = ref.pathMap;\n  var nameMap = ref.nameMap;\n\n  function addRoutes (routes) {\n    createRouteMap(routes, pathList, pathMap, nameMap);\n  }\n\n  function addRoute (parentOrRoute, route) {\n    var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n    // $flow-disable-line\n    createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n    // add aliases of parent\n    if (parent && parent.alias.length) {\n      createRouteMap(\n        // $flow-disable-line route is defined if parent is\n        parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n        pathList,\n        pathMap,\n        nameMap,\n        parent\n      );\n    }\n  }\n\n  function getRoutes () {\n    return pathList.map(function (path) { return pathMap[path]; })\n  }\n\n  function match (\n    raw,\n    currentRoute,\n    redirectedFrom\n  ) {\n    var location = normalizeLocation(raw, currentRoute, false, router);\n    var name = location.name;\n\n    if (name) {\n      var record = nameMap[name];\n      if (true) {\n        warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n      }\n      if (!record) { return _createRoute(null, location) }\n      var paramNames = record.regex.keys\n        .filter(function (key) { return !key.optional; })\n        .map(function (key) { return key.name; });\n\n      if (typeof location.params !== 'object') {\n        location.params = {};\n      }\n\n      if (currentRoute && typeof currentRoute.params === 'object') {\n        for (var key in currentRoute.params) {\n          if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n            location.params[key] = currentRoute.params[key];\n          }\n        }\n      }\n\n      location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n      return _createRoute(record, location, redirectedFrom)\n    } else if (location.path) {\n      location.params = {};\n      for (var i = 0; i < pathList.length; i++) {\n        var path = pathList[i];\n        var record$1 = pathMap[path];\n        if (matchRoute(record$1.regex, location.path, location.params)) {\n          return _createRoute(record$1, location, redirectedFrom)\n        }\n      }\n    }\n    // no match\n    return _createRoute(null, location)\n  }\n\n  function redirect (\n    record,\n    location\n  ) {\n    var originalRedirect = record.redirect;\n    var redirect = typeof originalRedirect === 'function'\n      ? originalRedirect(createRoute(record, location, null, router))\n      : originalRedirect;\n\n    if (typeof redirect === 'string') {\n      redirect = { path: redirect };\n    }\n\n    if (!redirect || typeof redirect !== 'object') {\n      if (true) {\n        warn(\n          false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n        );\n      }\n      return _createRoute(null, location)\n    }\n\n    var re = redirect;\n    var name = re.name;\n    var path = re.path;\n    var query = location.query;\n    var hash = location.hash;\n    var params = location.params;\n    query = re.hasOwnProperty('query') ? re.query : query;\n    hash = re.hasOwnProperty('hash') ? re.hash : hash;\n    params = re.hasOwnProperty('params') ? re.params : params;\n\n    if (name) {\n      // resolved named direct\n      var targetRecord = nameMap[name];\n      if (true) {\n        assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n      }\n      return match({\n        _normalized: true,\n        name: name,\n        query: query,\n        hash: hash,\n        params: params\n      }, undefined, location)\n    } else if (path) {\n      // 1. resolve relative redirect\n      var rawPath = resolveRecordPath(path, record);\n      // 2. resolve params\n      var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n      // 3. rematch with existing query and hash\n      return match({\n        _normalized: true,\n        path: resolvedPath,\n        query: query,\n        hash: hash\n      }, undefined, location)\n    } else {\n      if (true) {\n        warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n      }\n      return _createRoute(null, location)\n    }\n  }\n\n  function alias (\n    record,\n    location,\n    matchAs\n  ) {\n    var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n    var aliasedMatch = match({\n      _normalized: true,\n      path: aliasedPath\n    });\n    if (aliasedMatch) {\n      var matched = aliasedMatch.matched;\n      var aliasedRecord = matched[matched.length - 1];\n      location.params = aliasedMatch.params;\n      return _createRoute(aliasedRecord, location)\n    }\n    return _createRoute(null, location)\n  }\n\n  function _createRoute (\n    record,\n    location,\n    redirectedFrom\n  ) {\n    if (record && record.redirect) {\n      return redirect(record, redirectedFrom || location)\n    }\n    if (record && record.matchAs) {\n      return alias(record, location, record.matchAs)\n    }\n    return createRoute(record, location, redirectedFrom, router)\n  }\n\n  return {\n    match: match,\n    addRoute: addRoute,\n    getRoutes: getRoutes,\n    addRoutes: addRoutes\n  }\n}\n\nfunction matchRoute (\n  regex,\n  path,\n  params\n) {\n  var m = path.match(regex);\n\n  if (!m) {\n    return false\n  } else if (!params) {\n    return true\n  }\n\n  for (var i = 1, len = m.length; i < len; ++i) {\n    var key = regex.keys[i - 1];\n    if (key) {\n      // Fix #1994: using * with props: true generates a param named 0\n      params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n    }\n  }\n\n  return true\n}\n\nfunction resolveRecordPath (path, record) {\n  return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/*  */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n  inBrowser && window.performance && window.performance.now\n    ? window.performance\n    : Date;\n\nfunction genStateKey () {\n  return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n  return _key\n}\n\nfunction setStateKey (key) {\n  return (_key = key)\n}\n\n/*  */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n  // Prevent browser scroll behavior on History popstate\n  if ('scrollRestoration' in window.history) {\n    window.history.scrollRestoration = 'manual';\n  }\n  // Fix for #1585 for Firefox\n  // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n  // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n  // window.location.protocol + '//' + window.location.host\n  // location.host contains the port and location.hostname doesn't\n  var protocolAndPath = window.location.protocol + '//' + window.location.host;\n  var absolutePath = window.location.href.replace(protocolAndPath, '');\n  // preserve existing history state as it could be overriden by the user\n  var stateCopy = extend({}, window.history.state);\n  stateCopy.key = getStateKey();\n  window.history.replaceState(stateCopy, '', absolutePath);\n  window.addEventListener('popstate', handlePopState);\n  return function () {\n    window.removeEventListener('popstate', handlePopState);\n  }\n}\n\nfunction handleScroll (\n  router,\n  to,\n  from,\n  isPop\n) {\n  if (!router.app) {\n    return\n  }\n\n  var behavior = router.options.scrollBehavior;\n  if (!behavior) {\n    return\n  }\n\n  if (true) {\n    assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n  }\n\n  // wait until re-render finishes before scrolling\n  router.app.$nextTick(function () {\n    var position = getScrollPosition();\n    var shouldScroll = behavior.call(\n      router,\n      to,\n      from,\n      isPop ? position : null\n    );\n\n    if (!shouldScroll) {\n      return\n    }\n\n    if (typeof shouldScroll.then === 'function') {\n      shouldScroll\n        .then(function (shouldScroll) {\n          scrollToPosition((shouldScroll), position);\n        })\n        .catch(function (err) {\n          if (true) {\n            assert(false, err.toString());\n          }\n        });\n    } else {\n      scrollToPosition(shouldScroll, position);\n    }\n  });\n}\n\nfunction saveScrollPosition () {\n  var key = getStateKey();\n  if (key) {\n    positionStore[key] = {\n      x: window.pageXOffset,\n      y: window.pageYOffset\n    };\n  }\n}\n\nfunction handlePopState (e) {\n  saveScrollPosition();\n  if (e.state && e.state.key) {\n    setStateKey(e.state.key);\n  }\n}\n\nfunction getScrollPosition () {\n  var key = getStateKey();\n  if (key) {\n    return positionStore[key]\n  }\n}\n\nfunction getElementPosition (el, offset) {\n  var docEl = document.documentElement;\n  var docRect = docEl.getBoundingClientRect();\n  var elRect = el.getBoundingClientRect();\n  return {\n    x: elRect.left - docRect.left - offset.x,\n    y: elRect.top - docRect.top - offset.y\n  }\n}\n\nfunction isValidPosition (obj) {\n  return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n  return {\n    x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n    y: isNumber(obj.y) ? obj.y : window.pageYOffset\n  }\n}\n\nfunction normalizeOffset (obj) {\n  return {\n    x: isNumber(obj.x) ? obj.x : 0,\n    y: isNumber(obj.y) ? obj.y : 0\n  }\n}\n\nfunction isNumber (v) {\n  return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n  var isObject = typeof shouldScroll === 'object';\n  if (isObject && typeof shouldScroll.selector === 'string') {\n    // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n    // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n    var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n      ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n      : document.querySelector(shouldScroll.selector);\n\n    if (el) {\n      var offset =\n        shouldScroll.offset && typeof shouldScroll.offset === 'object'\n          ? shouldScroll.offset\n          : {};\n      offset = normalizeOffset(offset);\n      position = getElementPosition(el, offset);\n    } else if (isValidPosition(shouldScroll)) {\n      position = normalizePosition(shouldScroll);\n    }\n  } else if (isObject && isValidPosition(shouldScroll)) {\n    position = normalizePosition(shouldScroll);\n  }\n\n  if (position) {\n    // $flow-disable-line\n    if ('scrollBehavior' in document.documentElement.style) {\n      window.scrollTo({\n        left: position.x,\n        top: position.y,\n        // $flow-disable-line\n        behavior: shouldScroll.behavior\n      });\n    } else {\n      window.scrollTo(position.x, position.y);\n    }\n  }\n}\n\n/*  */\n\nvar supportsPushState =\n  inBrowser &&\n  (function () {\n    var ua = window.navigator.userAgent;\n\n    if (\n      (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n      ua.indexOf('Mobile Safari') !== -1 &&\n      ua.indexOf('Chrome') === -1 &&\n      ua.indexOf('Windows Phone') === -1\n    ) {\n      return false\n    }\n\n    return window.history && typeof window.history.pushState === 'function'\n  })();\n\nfunction pushState (url, replace) {\n  saveScrollPosition();\n  // try...catch the pushState call to get around Safari\n  // DOM Exception 18 where it limits to 100 pushState calls\n  var history = window.history;\n  try {\n    if (replace) {\n      // preserve existing history state as it could be overriden by the user\n      var stateCopy = extend({}, history.state);\n      stateCopy.key = getStateKey();\n      history.replaceState(stateCopy, '', url);\n    } else {\n      history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n    }\n  } catch (e) {\n    window.location[replace ? 'replace' : 'assign'](url);\n  }\n}\n\nfunction replaceState (url) {\n  pushState(url, true);\n}\n\n/*  */\n\nfunction runQueue (queue, fn, cb) {\n  var step = function (index) {\n    if (index >= queue.length) {\n      cb();\n    } else {\n      if (queue[index]) {\n        fn(queue[index], function () {\n          step(index + 1);\n        });\n      } else {\n        step(index + 1);\n      }\n    }\n  };\n  step(0);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n  redirected: 2,\n  aborted: 4,\n  cancelled: 8,\n  duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n  return createRouterError(\n    from,\n    to,\n    NavigationFailureType.redirected,\n    (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n      to\n    )) + \"\\\" via a navigation guard.\")\n  )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n  var error = createRouterError(\n    from,\n    to,\n    NavigationFailureType.duplicated,\n    (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n  );\n  // backwards compatible with the first introduction of Errors\n  error.name = 'NavigationDuplicated';\n  return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n  return createRouterError(\n    from,\n    to,\n    NavigationFailureType.cancelled,\n    (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n  )\n}\n\nfunction createNavigationAbortedError (from, to) {\n  return createRouterError(\n    from,\n    to,\n    NavigationFailureType.aborted,\n    (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n  )\n}\n\nfunction createRouterError (from, to, type, message) {\n  var error = new Error(message);\n  error._isRouter = true;\n  error.from = from;\n  error.to = to;\n  error.type = type;\n\n  return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n  if (typeof to === 'string') { return to }\n  if ('path' in to) { return to.path }\n  var location = {};\n  propertiesToLog.forEach(function (key) {\n    if (key in to) { location[key] = to[key]; }\n  });\n  return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n  return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n  return (\n    isError(err) &&\n    err._isRouter &&\n    (errorType == null || err.type === errorType)\n  )\n}\n\n/*  */\n\nfunction resolveAsyncComponents (matched) {\n  return function (to, from, next) {\n    var hasAsync = false;\n    var pending = 0;\n    var error = null;\n\n    flatMapComponents(matched, function (def, _, match, key) {\n      // if it's a function and doesn't have cid attached,\n      // assume it's an async component resolve function.\n      // we are not using Vue's default async resolving mechanism because\n      // we want to halt the navigation until the incoming component has been\n      // resolved.\n      if (typeof def === 'function' && def.cid === undefined) {\n        hasAsync = true;\n        pending++;\n\n        var resolve = once(function (resolvedDef) {\n          if (isESModule(resolvedDef)) {\n            resolvedDef = resolvedDef.default;\n          }\n          // save resolved on async factory in case it's used elsewhere\n          def.resolved = typeof resolvedDef === 'function'\n            ? resolvedDef\n            : _Vue.extend(resolvedDef);\n          match.components[key] = resolvedDef;\n          pending--;\n          if (pending <= 0) {\n            next();\n          }\n        });\n\n        var reject = once(function (reason) {\n          var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n           true && warn(false, msg);\n          if (!error) {\n            error = isError(reason)\n              ? reason\n              : new Error(msg);\n            next(error);\n          }\n        });\n\n        var res;\n        try {\n          res = def(resolve, reject);\n        } catch (e) {\n          reject(e);\n        }\n        if (res) {\n          if (typeof res.then === 'function') {\n            res.then(resolve, reject);\n          } else {\n            // new syntax in Vue 2.3\n            var comp = res.component;\n            if (comp && typeof comp.then === 'function') {\n              comp.then(resolve, reject);\n            }\n          }\n        }\n      }\n    });\n\n    if (!hasAsync) { next(); }\n  }\n}\n\nfunction flatMapComponents (\n  matched,\n  fn\n) {\n  return flatten(matched.map(function (m) {\n    return Object.keys(m.components).map(function (key) { return fn(\n      m.components[key],\n      m.instances[key],\n      m, key\n    ); })\n  }))\n}\n\nfunction flatten (arr) {\n  return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n  typeof Symbol === 'function' &&\n  typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n  return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n  var called = false;\n  return function () {\n    var args = [], len = arguments.length;\n    while ( len-- ) args[ len ] = arguments[ len ];\n\n    if (called) { return }\n    called = true;\n    return fn.apply(this, args)\n  }\n}\n\n/*  */\n\nvar History = function History (router, base) {\n  this.router = router;\n  this.base = normalizeBase(base);\n  // start with a route object that stands for \"nowhere\"\n  this.current = START;\n  this.pending = null;\n  this.ready = false;\n  this.readyCbs = [];\n  this.readyErrorCbs = [];\n  this.errorCbs = [];\n  this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n  this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n  if (this.ready) {\n    cb();\n  } else {\n    this.readyCbs.push(cb);\n    if (errorCb) {\n      this.readyErrorCbs.push(errorCb);\n    }\n  }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n  this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n  location,\n  onComplete,\n  onAbort\n) {\n    var this$1 = this;\n\n  var route;\n  // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n  try {\n    route = this.router.match(location, this.current);\n  } catch (e) {\n    this.errorCbs.forEach(function (cb) {\n      cb(e);\n    });\n    // Exception should still be thrown\n    throw e\n  }\n  var prev = this.current;\n  this.confirmTransition(\n    route,\n    function () {\n      this$1.updateRoute(route);\n      onComplete && onComplete(route);\n      this$1.ensureURL();\n      this$1.router.afterHooks.forEach(function (hook) {\n        hook && hook(route, prev);\n      });\n\n      // fire ready cbs once\n      if (!this$1.ready) {\n        this$1.ready = true;\n        this$1.readyCbs.forEach(function (cb) {\n          cb(route);\n        });\n      }\n    },\n    function (err) {\n      if (onAbort) {\n        onAbort(err);\n      }\n      if (err && !this$1.ready) {\n        // Initial redirection should not mark the history as ready yet\n        // because it's triggered by the redirection instead\n        // https://github.com/vuejs/vue-router/issues/3225\n        // https://github.com/vuejs/vue-router/issues/3331\n        if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n          this$1.ready = true;\n          this$1.readyErrorCbs.forEach(function (cb) {\n            cb(err);\n          });\n        }\n      }\n    }\n  );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n    var this$1 = this;\n\n  var current = this.current;\n  this.pending = route;\n  var abort = function (err) {\n    // changed after adding errors with\n    // https://github.com/vuejs/vue-router/pull/3047 before that change,\n    // redirect and aborted navigation would produce an err == null\n    if (!isNavigationFailure(err) && isError(err)) {\n      if (this$1.errorCbs.length) {\n        this$1.errorCbs.forEach(function (cb) {\n          cb(err);\n        });\n      } else {\n        if (true) {\n          warn(false, 'uncaught error during route navigation:');\n        }\n        console.error(err);\n      }\n    }\n    onAbort && onAbort(err);\n  };\n  var lastRouteIndex = route.matched.length - 1;\n  var lastCurrentIndex = current.matched.length - 1;\n  if (\n    isSameRoute(route, current) &&\n    // in the case the route map has been dynamically appended to\n    lastRouteIndex === lastCurrentIndex &&\n    route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n  ) {\n    this.ensureURL();\n    if (route.hash) {\n      handleScroll(this.router, current, route, false);\n    }\n    return abort(createNavigationDuplicatedError(current, route))\n  }\n\n  var ref = resolveQueue(\n    this.current.matched,\n    route.matched\n  );\n    var updated = ref.updated;\n    var deactivated = ref.deactivated;\n    var activated = ref.activated;\n\n  var queue = [].concat(\n    // in-component leave guards\n    extractLeaveGuards(deactivated),\n    // global before hooks\n    this.router.beforeHooks,\n    // in-component update hooks\n    extractUpdateHooks(updated),\n    // in-config enter guards\n    activated.map(function (m) { return m.beforeEnter; }),\n    // async components\n    resolveAsyncComponents(activated)\n  );\n\n  var iterator = function (hook, next) {\n    if (this$1.pending !== route) {\n      return abort(createNavigationCancelledError(current, route))\n    }\n    try {\n      hook(route, current, function (to) {\n        if (to === false) {\n          // next(false) -> abort navigation, ensure current URL\n          this$1.ensureURL(true);\n          abort(createNavigationAbortedError(current, route));\n        } else if (isError(to)) {\n          this$1.ensureURL(true);\n          abort(to);\n        } else if (\n          typeof to === 'string' ||\n          (typeof to === 'object' &&\n            (typeof to.path === 'string' || typeof to.name === 'string'))\n        ) {\n          // next('/') or next({ path: '/' }) -> redirect\n          abort(createNavigationRedirectedError(current, route));\n          if (typeof to === 'object' && to.replace) {\n            this$1.replace(to);\n          } else {\n            this$1.push(to);\n          }\n        } else {\n          // confirm transition and pass on the value\n          next(to);\n        }\n      });\n    } catch (e) {\n      abort(e);\n    }\n  };\n\n  runQueue(queue, iterator, function () {\n    // wait until async components are resolved before\n    // extracting in-component enter guards\n    var enterGuards = extractEnterGuards(activated);\n    var queue = enterGuards.concat(this$1.router.resolveHooks);\n    runQueue(queue, iterator, function () {\n      if (this$1.pending !== route) {\n        return abort(createNavigationCancelledError(current, route))\n      }\n      this$1.pending = null;\n      onComplete(route);\n      if (this$1.router.app) {\n        this$1.router.app.$nextTick(function () {\n          handleRouteEntered(route);\n        });\n      }\n    });\n  });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n  this.current = route;\n  this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n  // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n  // clean up event listeners\n  // https://github.com/vuejs/vue-router/issues/2341\n  this.listeners.forEach(function (cleanupListener) {\n    cleanupListener();\n  });\n  this.listeners = [];\n\n  // reset current history route\n  // https://github.com/vuejs/vue-router/issues/3294\n  this.current = START;\n  this.pending = null;\n};\n\nfunction normalizeBase (base) {\n  if (!base) {\n    if (inBrowser) {\n      // respect <base> tag\n      var baseEl = document.querySelector('base');\n      base = (baseEl && baseEl.getAttribute('href')) || '/';\n      // strip full URL origin\n      base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n    } else {\n      base = '/';\n    }\n  }\n  // make sure there's the starting slash\n  if (base.charAt(0) !== '/') {\n    base = '/' + base;\n  }\n  // remove trailing slash\n  return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n  current,\n  next\n) {\n  var i;\n  var max = Math.max(current.length, next.length);\n  for (i = 0; i < max; i++) {\n    if (current[i] !== next[i]) {\n      break\n    }\n  }\n  return {\n    updated: next.slice(0, i),\n    activated: next.slice(i),\n    deactivated: current.slice(i)\n  }\n}\n\nfunction extractGuards (\n  records,\n  name,\n  bind,\n  reverse\n) {\n  var guards = flatMapComponents(records, function (def, instance, match, key) {\n    var guard = extractGuard(def, name);\n    if (guard) {\n      return Array.isArray(guard)\n        ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n        : bind(guard, instance, match, key)\n    }\n  });\n  return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n  def,\n  key\n) {\n  if (typeof def !== 'function') {\n    // extend now so that global mixins are applied.\n    def = _Vue.extend(def);\n  }\n  return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n  return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n  return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n  if (instance) {\n    return function boundRouteGuard () {\n      return guard.apply(instance, arguments)\n    }\n  }\n}\n\nfunction extractEnterGuards (\n  activated\n) {\n  return extractGuards(\n    activated,\n    'beforeRouteEnter',\n    function (guard, _, match, key) {\n      return bindEnterGuard(guard, match, key)\n    }\n  )\n}\n\nfunction bindEnterGuard (\n  guard,\n  match,\n  key\n) {\n  return function routeEnterGuard (to, from, next) {\n    return guard(to, from, function (cb) {\n      if (typeof cb === 'function') {\n        if (!match.enteredCbs[key]) {\n          match.enteredCbs[key] = [];\n        }\n        match.enteredCbs[key].push(cb);\n      }\n      next(cb);\n    })\n  }\n}\n\n/*  */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n  function HTML5History (router, base) {\n    History.call(this, router, base);\n\n    this._startLocation = getLocation(this.base);\n  }\n\n  if ( History ) HTML5History.__proto__ = History;\n  HTML5History.prototype = Object.create( History && History.prototype );\n  HTML5History.prototype.constructor = HTML5History;\n\n  HTML5History.prototype.setupListeners = function setupListeners () {\n    var this$1 = this;\n\n    if (this.listeners.length > 0) {\n      return\n    }\n\n    var router = this.router;\n    var expectScroll = router.options.scrollBehavior;\n    var supportsScroll = supportsPushState && expectScroll;\n\n    if (supportsScroll) {\n      this.listeners.push(setupScroll());\n    }\n\n    var handleRoutingEvent = function () {\n      var current = this$1.current;\n\n      // Avoiding first `popstate` event dispatched in some browsers but first\n      // history route not updated since async guard at the same time.\n      var location = getLocation(this$1.base);\n      if (this$1.current === START && location === this$1._startLocation) {\n        return\n      }\n\n      this$1.transitionTo(location, function (route) {\n        if (supportsScroll) {\n          handleScroll(router, route, current, true);\n        }\n      });\n    };\n    window.addEventListener('popstate', handleRoutingEvent);\n    this.listeners.push(function () {\n      window.removeEventListener('popstate', handleRoutingEvent);\n    });\n  };\n\n  HTML5History.prototype.go = function go (n) {\n    window.history.go(n);\n  };\n\n  HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(location, function (route) {\n      pushState(cleanPath(this$1.base + route.fullPath));\n      handleScroll(this$1.router, route, fromRoute, false);\n      onComplete && onComplete(route);\n    }, onAbort);\n  };\n\n  HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(location, function (route) {\n      replaceState(cleanPath(this$1.base + route.fullPath));\n      handleScroll(this$1.router, route, fromRoute, false);\n      onComplete && onComplete(route);\n    }, onAbort);\n  };\n\n  HTML5History.prototype.ensureURL = function ensureURL (push) {\n    if (getLocation(this.base) !== this.current.fullPath) {\n      var current = cleanPath(this.base + this.current.fullPath);\n      push ? pushState(current) : replaceState(current);\n    }\n  };\n\n  HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n    return getLocation(this.base)\n  };\n\n  return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n  var path = window.location.pathname;\n  var pathLowerCase = path.toLowerCase();\n  var baseLowerCase = base.toLowerCase();\n  // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n  // https://github.com/vuejs/vue-router/issues/3555\n  // so we ensure the trailing slash in the base\n  if (base && ((pathLowerCase === baseLowerCase) ||\n    (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n    path = path.slice(base.length);\n  }\n  return (path || '/') + window.location.search + window.location.hash\n}\n\n/*  */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n  function HashHistory (router, base, fallback) {\n    History.call(this, router, base);\n    // check history fallback deeplinking\n    if (fallback && checkFallback(this.base)) {\n      return\n    }\n    ensureSlash();\n  }\n\n  if ( History ) HashHistory.__proto__ = History;\n  HashHistory.prototype = Object.create( History && History.prototype );\n  HashHistory.prototype.constructor = HashHistory;\n\n  // this is delayed until the app mounts\n  // to avoid the hashchange listener being fired too early\n  HashHistory.prototype.setupListeners = function setupListeners () {\n    var this$1 = this;\n\n    if (this.listeners.length > 0) {\n      return\n    }\n\n    var router = this.router;\n    var expectScroll = router.options.scrollBehavior;\n    var supportsScroll = supportsPushState && expectScroll;\n\n    if (supportsScroll) {\n      this.listeners.push(setupScroll());\n    }\n\n    var handleRoutingEvent = function () {\n      var current = this$1.current;\n      if (!ensureSlash()) {\n        return\n      }\n      this$1.transitionTo(getHash(), function (route) {\n        if (supportsScroll) {\n          handleScroll(this$1.router, route, current, true);\n        }\n        if (!supportsPushState) {\n          replaceHash(route.fullPath);\n        }\n      });\n    };\n    var eventType = supportsPushState ? 'popstate' : 'hashchange';\n    window.addEventListener(\n      eventType,\n      handleRoutingEvent\n    );\n    this.listeners.push(function () {\n      window.removeEventListener(eventType, handleRoutingEvent);\n    });\n  };\n\n  HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(\n      location,\n      function (route) {\n        pushHash(route.fullPath);\n        handleScroll(this$1.router, route, fromRoute, false);\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(\n      location,\n      function (route) {\n        replaceHash(route.fullPath);\n        handleScroll(this$1.router, route, fromRoute, false);\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  HashHistory.prototype.go = function go (n) {\n    window.history.go(n);\n  };\n\n  HashHistory.prototype.ensureURL = function ensureURL (push) {\n    var current = this.current.fullPath;\n    if (getHash() !== current) {\n      push ? pushHash(current) : replaceHash(current);\n    }\n  };\n\n  HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n    return getHash()\n  };\n\n  return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n  var location = getLocation(base);\n  if (!/^\\/#/.test(location)) {\n    window.location.replace(cleanPath(base + '/#' + location));\n    return true\n  }\n}\n\nfunction ensureSlash () {\n  var path = getHash();\n  if (path.charAt(0) === '/') {\n    return true\n  }\n  replaceHash('/' + path);\n  return false\n}\n\nfunction getHash () {\n  // We can't use window.location.hash here because it's not\n  // consistent across browsers - Firefox will pre-decode it!\n  var href = window.location.href;\n  var index = href.indexOf('#');\n  // empty path\n  if (index < 0) { return '' }\n\n  href = href.slice(index + 1);\n\n  return href\n}\n\nfunction getUrl (path) {\n  var href = window.location.href;\n  var i = href.indexOf('#');\n  var base = i >= 0 ? href.slice(0, i) : href;\n  return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n  if (supportsPushState) {\n    pushState(getUrl(path));\n  } else {\n    window.location.hash = path;\n  }\n}\n\nfunction replaceHash (path) {\n  if (supportsPushState) {\n    replaceState(getUrl(path));\n  } else {\n    window.location.replace(getUrl(path));\n  }\n}\n\n/*  */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n  function AbstractHistory (router, base) {\n    History.call(this, router, base);\n    this.stack = [];\n    this.index = -1;\n  }\n\n  if ( History ) AbstractHistory.__proto__ = History;\n  AbstractHistory.prototype = Object.create( History && History.prototype );\n  AbstractHistory.prototype.constructor = AbstractHistory;\n\n  AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    this.transitionTo(\n      location,\n      function (route) {\n        this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n        this$1.index++;\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    this.transitionTo(\n      location,\n      function (route) {\n        this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  AbstractHistory.prototype.go = function go (n) {\n    var this$1 = this;\n\n    var targetIndex = this.index + n;\n    if (targetIndex < 0 || targetIndex >= this.stack.length) {\n      return\n    }\n    var route = this.stack[targetIndex];\n    this.confirmTransition(\n      route,\n      function () {\n        var prev = this$1.current;\n        this$1.index = targetIndex;\n        this$1.updateRoute(route);\n        this$1.router.afterHooks.forEach(function (hook) {\n          hook && hook(route, prev);\n        });\n      },\n      function (err) {\n        if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n          this$1.index = targetIndex;\n        }\n      }\n    );\n  };\n\n  AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n    var current = this.stack[this.stack.length - 1];\n    return current ? current.fullPath : '/'\n  };\n\n  AbstractHistory.prototype.ensureURL = function ensureURL () {\n    // noop\n  };\n\n  return AbstractHistory;\n}(History));\n\n/*  */\n\nvar VueRouter = function VueRouter (options) {\n  if ( options === void 0 ) options = {};\n\n  if (true) {\n    warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n  }\n  this.app = null;\n  this.apps = [];\n  this.options = options;\n  this.beforeHooks = [];\n  this.resolveHooks = [];\n  this.afterHooks = [];\n  this.matcher = createMatcher(options.routes || [], this);\n\n  var mode = options.mode || 'hash';\n  this.fallback =\n    mode === 'history' && !supportsPushState && options.fallback !== false;\n  if (this.fallback) {\n    mode = 'hash';\n  }\n  if (!inBrowser) {\n    mode = 'abstract';\n  }\n  this.mode = mode;\n\n  switch (mode) {\n    case 'history':\n      this.history = new HTML5History(this, options.base);\n      break\n    case 'hash':\n      this.history = new HashHistory(this, options.base, this.fallback);\n      break\n    case 'abstract':\n      this.history = new AbstractHistory(this, options.base);\n      break\n    default:\n      if (true) {\n        assert(false, (\"invalid mode: \" + mode));\n      }\n  }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n  return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n  return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n    var this$1 = this;\n\n   true &&\n    assert(\n      install.installed,\n      \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n        \"before creating root instance.\"\n    );\n\n  this.apps.push(app);\n\n  // set up app destroyed handler\n  // https://github.com/vuejs/vue-router/issues/2639\n  app.$once('hook:destroyed', function () {\n    // clean out app from this.apps array once destroyed\n    var index = this$1.apps.indexOf(app);\n    if (index > -1) { this$1.apps.splice(index, 1); }\n    // ensure we still have a main app or null if no apps\n    // we do not release the router so it can be reused\n    if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n\n    if (!this$1.app) { this$1.history.teardown(); }\n  });\n\n  // main app previously initialized\n  // return as we don't need to set up new history listener\n  if (this.app) {\n    return\n  }\n\n  this.app = app;\n\n  var history = this.history;\n\n  if (history instanceof HTML5History || history instanceof HashHistory) {\n    var handleInitialScroll = function (routeOrError) {\n      var from = history.current;\n      var expectScroll = this$1.options.scrollBehavior;\n      var supportsScroll = supportsPushState && expectScroll;\n\n      if (supportsScroll && 'fullPath' in routeOrError) {\n        handleScroll(this$1, routeOrError, from, false);\n      }\n    };\n    var setupListeners = function (routeOrError) {\n      history.setupListeners();\n      handleInitialScroll(routeOrError);\n    };\n    history.transitionTo(\n      history.getCurrentLocation(),\n      setupListeners,\n      setupListeners\n    );\n  }\n\n  history.listen(function (route) {\n    this$1.apps.forEach(function (app) {\n      app._route = route;\n    });\n  });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n  return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n  return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n  return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n  this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n  this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n  // $flow-disable-line\n  if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve, reject) {\n      this$1.history.push(location, resolve, reject);\n    })\n  } else {\n    this.history.push(location, onComplete, onAbort);\n  }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n  // $flow-disable-line\n  if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve, reject) {\n      this$1.history.replace(location, resolve, reject);\n    })\n  } else {\n    this.history.replace(location, onComplete, onAbort);\n  }\n};\n\nVueRouter.prototype.go = function go (n) {\n  this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n  this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n  this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n  var route = to\n    ? to.matched\n      ? to\n      : this.resolve(to).route\n    : this.currentRoute;\n  if (!route) {\n    return []\n  }\n  return [].concat.apply(\n    [],\n    route.matched.map(function (m) {\n      return Object.keys(m.components).map(function (key) {\n        return m.components[key]\n      })\n    })\n  )\n};\n\nVueRouter.prototype.resolve = function resolve (\n  to,\n  current,\n  append\n) {\n  current = current || this.history.current;\n  var location = normalizeLocation(to, current, append, this);\n  var route = this.match(location, current);\n  var fullPath = route.redirectedFrom || route.fullPath;\n  var base = this.history.base;\n  var href = createHref(base, fullPath, this.mode);\n  return {\n    location: location,\n    route: route,\n    href: href,\n    // for backwards compat\n    normalizedTo: location,\n    resolved: route\n  }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n  return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n  this.matcher.addRoute(parentOrRoute, route);\n  if (this.history.current !== START) {\n    this.history.transitionTo(this.history.getCurrentLocation());\n  }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n  if (true) {\n    warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n  }\n  this.matcher.addRoutes(routes);\n  if (this.history.current !== START) {\n    this.history.transitionTo(this.history.getCurrentLocation());\n  }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n  list.push(fn);\n  return function () {\n    var i = list.indexOf(fn);\n    if (i > -1) { list.splice(i, 1); }\n  }\n}\n\nfunction createHref (base, fullPath, mode) {\n  var path = mode === 'hash' ? '#' + fullPath : fullPath;\n  return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.5.4';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n  window.Vue.use(VueRouter);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueRouter);\n\n\n//# sourceURL=webpack:///./node_modules/vue-router/dist/vue-router.esm.js?");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-0-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-0-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-0-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js??ref--7-oneOf-0-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src??ref--7-oneOf-0-2!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Contextmenu.vue?vue&type=style&index=0&module=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?vue&type=style&index=0&module=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"eab10b82\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Contextmenu.vue?./node_modules/vue-style-loader??ref--7-oneOf-0-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-0-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-0-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src??ref--7-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=0&id=e3a2c392&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"415104c1\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src??ref--7-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--1-0!../../../vue-loader/lib??vue-loader-options!./Submenu.vue?vue&type=style&index=1&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./node_modules/vue-contextmenujs/src/components/Submenu.vue?vue&type=style&index=1&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"103c3fa9\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/vue-contextmenujs/src/components/Submenu.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"79614756\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b9e8f6b8\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"812bd316\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"169bcdd5\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/home/index.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"989cba0c\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/market/index.vue?./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"061880aa\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"edf59708\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1d3a16ca\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5a659114\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a0543fc4\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"41080f45\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2aff234d\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"423d7688\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c59fae9c\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0bf43a32\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5a686a65\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"fedccd3c\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8d9c9b5a\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1a97c096\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9b4655fe\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true& ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"69497a3b\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"99217e24\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ff5fe936\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0049c6c6\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"37e5fba5\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b6c28d60\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"66f12dd8\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"02aa0803\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=1&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d48e03a8\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"039870d1\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"287519af\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5fd46269\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"43cc6152\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true& ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"03756ffa\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/layout/index.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c72c69e2\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/404.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"669d9e58\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/login.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3bb3620e\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/lib/addStylesClient.js":
/*!**************************************************************!*\
  !*** ./node_modules/vue-style-loader/lib/addStylesClient.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addStylesClient; });\n/* harmony import */ var _listToStyles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./listToStyles */ \"./node_modules/vue-style-loader/lib/listToStyles.js\");\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\n\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<StyleObjectPart>\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 <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nfunction addStylesClient (parentId, list, _isProduction, _options) {\n  isProduction = _isProduction\n\n  options = _options || {}\n\n  var styles = Object(_listToStyles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentId, list)\n  addStylesToDom(styles)\n\n  return function update (newList) {\n    var mayRemove = []\n    for (var i = 0; i < styles.length; i++) {\n      var item = styles[i]\n      var domStyle = stylesInDom[item.id]\n      domStyle.refs--\n      mayRemove.push(domStyle)\n    }\n    if (newList) {\n      styles = Object(_listToStyles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentId, newList)\n      addStylesToDom(styles)\n    } else {\n      styles = []\n    }\n    for (var i = 0; i < mayRemove.length; i++) {\n      var domStyle = mayRemove[i]\n      if (domStyle.refs === 0) {\n        for (var j = 0; j < domStyle.parts.length; j++) {\n          domStyle.parts[j]()\n        }\n        delete stylesInDom[domStyle.id]\n      }\n    }\n  }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n  for (var i = 0; i < styles.length; i++) {\n    var item = styles[i]\n    var domStyle = stylesInDom[item.id]\n    if (domStyle) {\n      domStyle.refs++\n      for (var j = 0; j < domStyle.parts.length; j++) {\n        domStyle.parts[j](item.parts[j])\n      }\n      for (; j < item.parts.length; j++) {\n        domStyle.parts.push(addStyle(item.parts[j]))\n      }\n      if (domStyle.parts.length > item.parts.length) {\n        domStyle.parts.length = item.parts.length\n      }\n    } else {\n      var parts = []\n      for (var j = 0; j < item.parts.length; j++) {\n        parts.push(addStyle(item.parts[j]))\n      }\n      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n    }\n  }\n}\n\nfunction createStyleElement () {\n  var styleElement = document.createElement('style')\n  styleElement.type = 'text/css'\n  head.appendChild(styleElement)\n  return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n  var update, remove\n  var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n  if (styleElement) {\n    if (isProduction) {\n      // has SSR styles and in production mode.\n      // simply do nothing.\n      return noop\n    } else {\n      // has SSR styles but in dev mode.\n      // for some reason Chrome can't handle source map in server-rendered\n      // style tags - source maps in <style> only works if the style tag is\n      // created and inserted dynamically. So we remove the server rendered\n      // styles and inject new ones.\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  if (isOldIE) {\n    // use singleton mode for IE9.\n    var styleIndex = singletonCounter++\n    styleElement = singletonElement || (singletonElement = createStyleElement())\n    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n  } else {\n    // use multi-style-tag mode in all other cases\n    styleElement = createStyleElement()\n    update = applyToTag.bind(null, styleElement)\n    remove = function () {\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  update(obj)\n\n  return function updateStyle (newObj /* StyleObjectPart */) {\n    if (newObj) {\n      if (newObj.css === obj.css &&\n          newObj.media === obj.media &&\n          newObj.sourceMap === obj.sourceMap) {\n        return\n      }\n      update(obj = newObj)\n    } else {\n      remove()\n    }\n  }\n}\n\nvar replaceText = (function () {\n  var textStore = []\n\n  return function (index, replacement) {\n    textStore[index] = replacement\n    return textStore.filter(Boolean).join('\\n')\n  }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n  var css = remove ? '' : obj.css\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = replaceText(index, css)\n  } else {\n    var cssNode = document.createTextNode(css)\n    var childNodes = styleElement.childNodes\n    if (childNodes[index]) styleElement.removeChild(childNodes[index])\n    if (childNodes.length) {\n      styleElement.insertBefore(cssNode, childNodes[index])\n    } else {\n      styleElement.appendChild(cssNode)\n    }\n  }\n}\n\nfunction applyToTag (styleElement, obj) {\n  var css = obj.css\n  var media = obj.media\n  var sourceMap = obj.sourceMap\n\n  if (media) {\n    styleElement.setAttribute('media', media)\n  }\n  if (options.ssrId) {\n    styleElement.setAttribute(ssrIdKey, obj.id)\n  }\n\n  if (sourceMap) {\n    // https://developer.chrome.com/devtools/docs/javascript-debugging\n    // this makes source maps inside style tags work properly in Chrome\n    css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n    // http://stackoverflow.com/a/26603875\n    css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n  }\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild)\n    }\n    styleElement.appendChild(document.createTextNode(css))\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js?");

/***/ }),

/***/ "./node_modules/vue-style-loader/lib/listToStyles.js":
/*!***********************************************************!*\
  !*** ./node_modules/vue-style-loader/lib/listToStyles.js ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return listToStyles; });\n/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nfunction 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\n//# sourceURL=webpack:///./node_modules/vue-style-loader/lib/listToStyles.js?");

/***/ }),

/***/ "./node_modules/vue/dist/vue.runtime.esm.js":
/*!**************************************************!*\
  !*** ./node_modules/vue/dist/vue.runtime.esm.js ***!
  \**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/*  */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n  return v === undefined || v === null\n}\n\nfunction isDef (v) {\n  return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n  return v === true\n}\n\nfunction isFalse (v) {\n  return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n  return (\n    typeof value === 'string' ||\n    typeof value === 'number' ||\n    // $flow-disable-line\n    typeof value === 'symbol' ||\n    typeof value === 'boolean'\n  )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n  return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n  return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n  return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n  var n = parseFloat(String(val));\n  return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n  return (\n    isDef(val) &&\n    typeof val.then === 'function' &&\n    typeof val.catch === 'function'\n  )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n  return val == null\n    ? ''\n    : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n      ? JSON.stringify(val, null, 2)\n      : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n  var n = parseFloat(val);\n  return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n  str,\n  expectsLowerCase\n) {\n  var map = Object.create(null);\n  var list = str.split(',');\n  for (var i = 0; i < list.length; i++) {\n    map[list[i]] = true;\n  }\n  return expectsLowerCase\n    ? function (val) { return map[val.toLowerCase()]; }\n    : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n  if (arr.length) {\n    var index = arr.indexOf(item);\n    if (index > -1) {\n      return arr.splice(index, 1)\n    }\n  }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n  var cache = Object.create(null);\n  return (function cachedFn (str) {\n    var hit = cache[str];\n    return hit || (cache[str] = fn(str))\n  })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n  return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n  return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n  return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n  function boundFn (a) {\n    var l = arguments.length;\n    return l\n      ? l > 1\n        ? fn.apply(ctx, arguments)\n        : fn.call(ctx, a)\n      : fn.call(ctx)\n  }\n\n  boundFn._length = fn.length;\n  return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n  return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n  ? nativeBind\n  : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n  start = start || 0;\n  var i = list.length - start;\n  var ret = new Array(i);\n  while (i--) {\n    ret[i] = list[i + start];\n  }\n  return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n  for (var key in _from) {\n    to[key] = _from[key];\n  }\n  return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n  var res = {};\n  for (var i = 0; i < arr.length; i++) {\n    if (arr[i]) {\n      extend(res, arr[i]);\n    }\n  }\n  return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = Array.isArray(a);\n      var isArrayB = Array.isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (a instanceof Date && b instanceof Date) {\n        return a.getTime() === b.getTime()\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n  for (var i = 0; i < arr.length; i++) {\n    if (looseEqual(arr[i], val)) { return i }\n  }\n  return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n  var called = false;\n  return function () {\n    if (!called) {\n      called = true;\n      fn.apply(this, arguments);\n    }\n  }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n  'component',\n  'directive',\n  'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n  'beforeCreate',\n  'created',\n  'beforeMount',\n  'mounted',\n  'beforeUpdate',\n  'updated',\n  'beforeDestroy',\n  'destroyed',\n  'activated',\n  'deactivated',\n  'errorCaptured',\n  'serverPrefetch'\n];\n\n/*  */\n\n\n\nvar config = ({\n  /**\n   * Option merge strategies (used in core/util/options)\n   */\n  // $flow-disable-line\n  optionMergeStrategies: Object.create(null),\n\n  /**\n   * Whether to suppress warnings.\n   */\n  silent: false,\n\n  /**\n   * Show production mode tip message on boot?\n   */\n  productionTip: \"development\" !== 'production',\n\n  /**\n   * Whether to enable devtools\n   */\n  devtools: \"development\" !== 'production',\n\n  /**\n   * Whether to record perf\n   */\n  performance: false,\n\n  /**\n   * Error handler for watcher errors\n   */\n  errorHandler: null,\n\n  /**\n   * Warn handler for watcher warns\n   */\n  warnHandler: null,\n\n  /**\n   * Ignore certain custom elements\n   */\n  ignoredElements: [],\n\n  /**\n   * Custom user key aliases for v-on\n   */\n  // $flow-disable-line\n  keyCodes: Object.create(null),\n\n  /**\n   * Check if a tag is reserved so that it cannot be registered as a\n   * component. This is platform-dependent and may be overwritten.\n   */\n  isReservedTag: no,\n\n  /**\n   * Check if an attribute is reserved so that it cannot be used as a component\n   * prop. This is platform-dependent and may be overwritten.\n   */\n  isReservedAttr: no,\n\n  /**\n   * Check if a tag is an unknown element.\n   * Platform-dependent.\n   */\n  isUnknownElement: no,\n\n  /**\n   * Get the namespace of an element\n   */\n  getTagNamespace: noop,\n\n  /**\n   * Parse the real tag name for the specific platform.\n   */\n  parsePlatformTagName: identity,\n\n  /**\n   * Check if an attribute must be bound using property, e.g. value\n   * Platform-dependent.\n   */\n  mustUseProp: no,\n\n  /**\n   * Perform updates asynchronously. Intended to be used by Vue Test Utils\n   * This will significantly reduce performance if set to false.\n   */\n  async: true,\n\n  /**\n   * Exposed for legacy reasons\n   */\n  _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/*  */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar 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/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n  var c = (str + '').charCodeAt(0);\n  return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n  Object.defineProperty(obj, key, {\n    value: val,\n    enumerable: !!enumerable,\n    writable: true,\n    configurable: true\n  });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n  if (bailRE.test(path)) {\n    return\n  }\n  var segments = path.split('.');\n  return function (obj) {\n    for (var i = 0; i < segments.length; i++) {\n      if (!obj) { return }\n      obj = obj[segments[i]];\n    }\n    return obj\n  }\n}\n\n/*  */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n  try {\n    var opts = {};\n    Object.defineProperty(opts, 'passive', ({\n      get: function get () {\n        /* istanbul ignore next */\n        supportsPassive = true;\n      }\n    })); // https://github.com/facebook/flow/issues/285\n    window.addEventListener('test-passive', null, opts);\n  } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n  if (_isServer === undefined) {\n    /* istanbul ignore if */\n    if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n      // detect presence of vue-server-renderer and avoid\n      // Webpack shimming the process\n      _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n    } else {\n      _isServer = false;\n    }\n  }\n  return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n  return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n  typeof Symbol !== 'undefined' && isNative(Symbol) &&\n  typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n  // use native Set when available.\n  _Set = Set;\n} else {\n  // a non-standard Set polyfill that only works with primitive keys.\n  _Set = /*@__PURE__*/(function () {\n    function Set () {\n      this.set = Object.create(null);\n    }\n    Set.prototype.has = function has (key) {\n      return this.set[key] === true\n    };\n    Set.prototype.add = function add (key) {\n      this.set[key] = true;\n    };\n    Set.prototype.clear = function clear () {\n      this.set = Object.create(null);\n    };\n\n    return Set;\n  }());\n}\n\n/*  */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (true) {\n  var hasConsole = typeof console !== 'undefined';\n  var classifyRE = /(?:^|[-_])(\\w)/g;\n  var classify = function (str) { return str\n    .replace(classifyRE, function (c) { return c.toUpperCase(); })\n    .replace(/[-_]/g, ''); };\n\n  warn = function (msg, vm) {\n    var trace = vm ? generateComponentTrace(vm) : '';\n\n    if (config.warnHandler) {\n      config.warnHandler.call(null, msg, vm, trace);\n    } else if (hasConsole && (!config.silent)) {\n      console.error((\"[Vue warn]: \" + msg + trace));\n    }\n  };\n\n  tip = function (msg, vm) {\n    if (hasConsole && (!config.silent)) {\n      console.warn(\"[Vue tip]: \" + msg + (\n        vm ? generateComponentTrace(vm) : ''\n      ));\n    }\n  };\n\n  formatComponentName = function (vm, includeFile) {\n    if (vm.$root === vm) {\n      return '<Root>'\n    }\n    var options = typeof vm === 'function' && vm.cid != null\n      ? vm.options\n      : vm._isVue\n        ? vm.$options || vm.constructor.options\n        : vm;\n    var name = options.name || options._componentTag;\n    var file = options.__file;\n    if (!name && file) {\n      var match = file.match(/([^/\\\\]+)\\.vue$/);\n      name = match && match[1];\n    }\n\n    return (\n      (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n      (file && includeFile !== false ? (\" at \" + file) : '')\n    )\n  };\n\n  var repeat = function (str, n) {\n    var res = '';\n    while (n) {\n      if (n % 2 === 1) { res += str; }\n      if (n > 1) { str += str; }\n      n >>= 1;\n    }\n    return res\n  };\n\n  generateComponentTrace = function (vm) {\n    if (vm._isVue && vm.$parent) {\n      var tree = [];\n      var currentRecursiveSequence = 0;\n      while (vm) {\n        if (tree.length > 0) {\n          var last = tree[tree.length - 1];\n          if (last.constructor === vm.constructor) {\n            currentRecursiveSequence++;\n            vm = vm.$parent;\n            continue\n          } else if (currentRecursiveSequence > 0) {\n            tree[tree.length - 1] = [last, currentRecursiveSequence];\n            currentRecursiveSequence = 0;\n          }\n        }\n        tree.push(vm);\n        vm = vm.$parent;\n      }\n      return '\\n\\nfound in\\n\\n' + tree\n        .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n            ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n            : formatComponentName(vm))); })\n        .join('\\n')\n    } else {\n      return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n    }\n  };\n}\n\n/*  */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n  this.id = uid++;\n  this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n  this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n  remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n  if (Dep.target) {\n    Dep.target.addDep(this);\n  }\n};\n\nDep.prototype.notify = function notify () {\n  // stabilize the subscriber list first\n  var subs = this.subs.slice();\n  if ( true && !config.async) {\n    // subs aren't sorted in scheduler if not running async\n    // we need to sort them now to make sure they fire in correct\n    // order\n    subs.sort(function (a, b) { return a.id - b.id; });\n  }\n  for (var i = 0, l = subs.length; i < l; i++) {\n    subs[i].update();\n  }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n  targetStack.push(target);\n  Dep.target = target;\n}\n\nfunction popTarget () {\n  targetStack.pop();\n  Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*  */\n\nvar VNode = function VNode (\n  tag,\n  data,\n  children,\n  text,\n  elm,\n  context,\n  componentOptions,\n  asyncFactory\n) {\n  this.tag = tag;\n  this.data = data;\n  this.children = children;\n  this.text = text;\n  this.elm = elm;\n  this.ns = undefined;\n  this.context = context;\n  this.fnContext = undefined;\n  this.fnOptions = undefined;\n  this.fnScopeId = undefined;\n  this.key = data && data.key;\n  this.componentOptions = componentOptions;\n  this.componentInstance = undefined;\n  this.parent = undefined;\n  this.raw = false;\n  this.isStatic = false;\n  this.isRootInsert = true;\n  this.isComment = false;\n  this.isCloned = false;\n  this.isOnce = false;\n  this.asyncFactory = asyncFactory;\n  this.asyncMeta = undefined;\n  this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n  return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n  if ( text === void 0 ) text = '';\n\n  var node = new VNode();\n  node.text = text;\n  node.isComment = true;\n  return node\n};\n\nfunction createTextVNode (val) {\n  return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n  var cloned = new VNode(\n    vnode.tag,\n    vnode.data,\n    // #7975\n    // clone children array to avoid mutating original in case of cloning\n    // a child.\n    vnode.children && vnode.children.slice(),\n    vnode.text,\n    vnode.elm,\n    vnode.context,\n    vnode.componentOptions,\n    vnode.asyncFactory\n  );\n  cloned.ns = vnode.ns;\n  cloned.isStatic = vnode.isStatic;\n  cloned.key = vnode.key;\n  cloned.isComment = vnode.isComment;\n  cloned.fnContext = vnode.fnContext;\n  cloned.fnOptions = vnode.fnOptions;\n  cloned.fnScopeId = vnode.fnScopeId;\n  cloned.asyncMeta = vnode.asyncMeta;\n  cloned.isCloned = true;\n  return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n  'push',\n  'pop',\n  'shift',\n  'unshift',\n  'splice',\n  'sort',\n  'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n  // cache original method\n  var original = arrayProto[method];\n  def(arrayMethods, method, function mutator () {\n    var args = [], len = arguments.length;\n    while ( len-- ) args[ len ] = arguments[ len ];\n\n    var result = original.apply(this, args);\n    var ob = this.__ob__;\n    var inserted;\n    switch (method) {\n      case 'push':\n      case 'unshift':\n        inserted = args;\n        break\n      case 'splice':\n        inserted = args.slice(2);\n        break\n    }\n    if (inserted) { ob.observeArray(inserted); }\n    // notify change\n    ob.dep.notify();\n    return result\n  });\n});\n\n/*  */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n  shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n  this.value = value;\n  this.dep = new Dep();\n  this.vmCount = 0;\n  def(value, '__ob__', this);\n  if (Array.isArray(value)) {\n    if (hasProto) {\n      protoAugment(value, arrayMethods);\n    } else {\n      copyAugment(value, arrayMethods, arrayKeys);\n    }\n    this.observeArray(value);\n  } else {\n    this.walk(value);\n  }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n  var keys = Object.keys(obj);\n  for (var i = 0; i < keys.length; i++) {\n    defineReactive$$1(obj, keys[i]);\n  }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n  for (var i = 0, l = items.length; i < l; i++) {\n    observe(items[i]);\n  }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n  /* eslint-disable no-proto */\n  target.__proto__ = src;\n  /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n  for (var i = 0, l = keys.length; i < l; i++) {\n    var key = keys[i];\n    def(target, key, src[key]);\n  }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n  if (!isObject(value) || value instanceof VNode) {\n    return\n  }\n  var ob;\n  if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n    ob = value.__ob__;\n  } else if (\n    shouldObserve &&\n    !isServerRendering() &&\n    (Array.isArray(value) || isPlainObject(value)) &&\n    Object.isExtensible(value) &&\n    !value._isVue\n  ) {\n    ob = new Observer(value);\n  }\n  if (asRootData && ob) {\n    ob.vmCount++;\n  }\n  return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n  obj,\n  key,\n  val,\n  customSetter,\n  shallow\n) {\n  var dep = new Dep();\n\n  var property = Object.getOwnPropertyDescriptor(obj, key);\n  if (property && property.configurable === false) {\n    return\n  }\n\n  // cater for pre-defined getter/setters\n  var getter = property && property.get;\n  var setter = property && property.set;\n  if ((!getter || setter) && arguments.length === 2) {\n    val = obj[key];\n  }\n\n  var childOb = !shallow && observe(val);\n  Object.defineProperty(obj, key, {\n    enumerable: true,\n    configurable: true,\n    get: function reactiveGetter () {\n      var value = getter ? getter.call(obj) : val;\n      if (Dep.target) {\n        dep.depend();\n        if (childOb) {\n          childOb.dep.depend();\n          if (Array.isArray(value)) {\n            dependArray(value);\n          }\n        }\n      }\n      return value\n    },\n    set: function reactiveSetter (newVal) {\n      var value = getter ? getter.call(obj) : val;\n      /* eslint-disable no-self-compare */\n      if (newVal === value || (newVal !== newVal && value !== value)) {\n        return\n      }\n      /* eslint-enable no-self-compare */\n      if ( true && customSetter) {\n        customSetter();\n      }\n      // #7981: for accessor properties without setter\n      if (getter && !setter) { return }\n      if (setter) {\n        setter.call(obj, newVal);\n      } else {\n        val = newVal;\n      }\n      childOb = !shallow && observe(newVal);\n      dep.notify();\n    }\n  });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n  if ( true &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.length = Math.max(target.length, key);\n    target.splice(key, 1, val);\n    return val\n  }\n  if (key in target && !(key in Object.prototype)) {\n    target[key] = val;\n    return val\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n     true && warn(\n      'Avoid adding reactive properties to a Vue instance or its root $data ' +\n      'at runtime - declare it upfront in the data option.'\n    );\n    return val\n  }\n  if (!ob) {\n    target[key] = val;\n    return val\n  }\n  defineReactive$$1(ob.value, key, val);\n  ob.dep.notify();\n  return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n  if ( true &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.splice(key, 1);\n    return\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n     true && warn(\n      'Avoid deleting properties on a Vue instance or its root $data ' +\n      '- just set it to null.'\n    );\n    return\n  }\n  if (!hasOwn(target, key)) {\n    return\n  }\n  delete target[key];\n  if (!ob) {\n    return\n  }\n  ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n  for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n    e = value[i];\n    e && e.__ob__ && e.__ob__.dep.depend();\n    if (Array.isArray(e)) {\n      dependArray(e);\n    }\n  }\n}\n\n/*  */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (true) {\n  strats.el = strats.propsData = function (parent, child, vm, key) {\n    if (!vm) {\n      warn(\n        \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n        'creation with the `new` keyword.'\n      );\n    }\n    return defaultStrat(parent, child)\n  };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n  if (!from) { return to }\n  var key, toVal, fromVal;\n\n  var keys = hasSymbol\n    ? Reflect.ownKeys(from)\n    : Object.keys(from);\n\n  for (var i = 0; i < keys.length; i++) {\n    key = keys[i];\n    // in case the object is already observed...\n    if (key === '__ob__') { continue }\n    toVal = to[key];\n    fromVal = from[key];\n    if (!hasOwn(to, key)) {\n      set(to, key, fromVal);\n    } else if (\n      toVal !== fromVal &&\n      isPlainObject(toVal) &&\n      isPlainObject(fromVal)\n    ) {\n      mergeData(toVal, fromVal);\n    }\n  }\n  return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    // in a Vue.extend merge, both should be functions\n    if (!childVal) {\n      return parentVal\n    }\n    if (!parentVal) {\n      return childVal\n    }\n    // when parentVal & childVal are both present,\n    // we need to return a function that returns the\n    // merged result of both functions... no need to\n    // check if parentVal is a function here because\n    // it has to be a function to pass previous merges.\n    return function mergedDataFn () {\n      return mergeData(\n        typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n        typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n      )\n    }\n  } else {\n    return function mergedInstanceDataFn () {\n      // instance merge\n      var instanceData = typeof childVal === 'function'\n        ? childVal.call(vm, vm)\n        : childVal;\n      var defaultData = typeof parentVal === 'function'\n        ? parentVal.call(vm, vm)\n        : parentVal;\n      if (instanceData) {\n        return mergeData(instanceData, defaultData)\n      } else {\n        return defaultData\n      }\n    }\n  }\n}\n\nstrats.data = function (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    if (childVal && typeof childVal !== 'function') {\n       true && warn(\n        'The \"data\" option should be a function ' +\n        'that returns a per-instance value in component ' +\n        'definitions.',\n        vm\n      );\n\n      return parentVal\n    }\n    return mergeDataOrFn(parentVal, childVal)\n  }\n\n  return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n  parentVal,\n  childVal\n) {\n  var res = childVal\n    ? parentVal\n      ? parentVal.concat(childVal)\n      : Array.isArray(childVal)\n        ? childVal\n        : [childVal]\n    : parentVal;\n  return res\n    ? dedupeHooks(res)\n    : res\n}\n\nfunction dedupeHooks (hooks) {\n  var res = [];\n  for (var i = 0; i < hooks.length; i++) {\n    if (res.indexOf(hooks[i]) === -1) {\n      res.push(hooks[i]);\n    }\n  }\n  return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n  strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  var res = Object.create(parentVal || null);\n  if (childVal) {\n     true && assertObjectType(key, childVal, vm);\n    return extend(res, childVal)\n  } else {\n    return res\n  }\n}\n\nASSET_TYPES.forEach(function (type) {\n  strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  // work around Firefox's Object.prototype.watch...\n  if (parentVal === nativeWatch) { parentVal = undefined; }\n  if (childVal === nativeWatch) { childVal = undefined; }\n  /* istanbul ignore if */\n  if (!childVal) { return Object.create(parentVal || null) }\n  if (true) {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = {};\n  extend(ret, parentVal);\n  for (var key$1 in childVal) {\n    var parent = ret[key$1];\n    var child = childVal[key$1];\n    if (parent && !Array.isArray(parent)) {\n      parent = [parent];\n    }\n    ret[key$1] = parent\n      ? parent.concat(child)\n      : Array.isArray(child) ? child : [child];\n  }\n  return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  if (childVal && \"development\" !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = Object.create(null);\n  extend(ret, parentVal);\n  if (childVal) { extend(ret, childVal); }\n  return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n  return childVal === undefined\n    ? parentVal\n    : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n  for (var key in options.components) {\n    validateComponentName(key);\n  }\n}\n\nfunction validateComponentName (name) {\n  if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n    warn(\n      'Invalid component name: \"' + name + '\". Component names ' +\n      'should conform to valid custom element name in html5 specification.'\n    );\n  }\n  if (isBuiltInTag(name) || config.isReservedTag(name)) {\n    warn(\n      'Do not use built-in or reserved HTML elements as component ' +\n      'id: ' + name\n    );\n  }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n  var props = options.props;\n  if (!props) { return }\n  var res = {};\n  var i, val, name;\n  if (Array.isArray(props)) {\n    i = props.length;\n    while (i--) {\n      val = props[i];\n      if (typeof val === 'string') {\n        name = camelize(val);\n        res[name] = { type: null };\n      } else if (true) {\n        warn('props must be strings when using array syntax.');\n      }\n    }\n  } else if (isPlainObject(props)) {\n    for (var key in props) {\n      val = props[key];\n      name = camelize(key);\n      res[name] = isPlainObject(val)\n        ? val\n        : { type: val };\n    }\n  } else if (true) {\n    warn(\n      \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(props)) + \".\",\n      vm\n    );\n  }\n  options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n  var inject = options.inject;\n  if (!inject) { return }\n  var normalized = options.inject = {};\n  if (Array.isArray(inject)) {\n    for (var i = 0; i < inject.length; i++) {\n      normalized[inject[i]] = { from: inject[i] };\n    }\n  } else if (isPlainObject(inject)) {\n    for (var key in inject) {\n      var val = inject[key];\n      normalized[key] = isPlainObject(val)\n        ? extend({ from: key }, val)\n        : { from: val };\n    }\n  } else if (true) {\n    warn(\n      \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(inject)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n  var dirs = options.directives;\n  if (dirs) {\n    for (var key in dirs) {\n      var def$$1 = dirs[key];\n      if (typeof def$$1 === 'function') {\n        dirs[key] = { bind: def$$1, update: def$$1 };\n      }\n    }\n  }\n}\n\nfunction assertObjectType (name, value, vm) {\n  if (!isPlainObject(value)) {\n    warn(\n      \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n      \"but got \" + (toRawType(value)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n  parent,\n  child,\n  vm\n) {\n  if (true) {\n    checkComponents(child);\n  }\n\n  if (typeof child === 'function') {\n    child = child.options;\n  }\n\n  normalizeProps(child, vm);\n  normalizeInject(child, vm);\n  normalizeDirectives(child);\n\n  // Apply extends and mixins on the child options,\n  // but only if it is a raw options object that isn't\n  // the result of another mergeOptions call.\n  // Only merged options has the _base property.\n  if (!child._base) {\n    if (child.extends) {\n      parent = mergeOptions(parent, child.extends, vm);\n    }\n    if (child.mixins) {\n      for (var i = 0, l = child.mixins.length; i < l; i++) {\n        parent = mergeOptions(parent, child.mixins[i], vm);\n      }\n    }\n  }\n\n  var options = {};\n  var key;\n  for (key in parent) {\n    mergeField(key);\n  }\n  for (key in child) {\n    if (!hasOwn(parent, key)) {\n      mergeField(key);\n    }\n  }\n  function mergeField (key) {\n    var strat = strats[key] || defaultStrat;\n    options[key] = strat(parent[key], child[key], vm, key);\n  }\n  return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n  options,\n  type,\n  id,\n  warnMissing\n) {\n  /* istanbul ignore if */\n  if (typeof id !== 'string') {\n    return\n  }\n  var assets = options[type];\n  // check local registration variations first\n  if (hasOwn(assets, id)) { return assets[id] }\n  var camelizedId = camelize(id);\n  if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n  var PascalCaseId = capitalize(camelizedId);\n  if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n  // fallback to prototype chain\n  var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n  if ( true && warnMissing && !res) {\n    warn(\n      'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n      options\n    );\n  }\n  return res\n}\n\n/*  */\n\n\n\nfunction validateProp (\n  key,\n  propOptions,\n  propsData,\n  vm\n) {\n  var prop = propOptions[key];\n  var absent = !hasOwn(propsData, key);\n  var value = propsData[key];\n  // boolean casting\n  var booleanIndex = getTypeIndex(Boolean, prop.type);\n  if (booleanIndex > -1) {\n    if (absent && !hasOwn(prop, 'default')) {\n      value = false;\n    } else if (value === '' || value === hyphenate(key)) {\n      // only cast empty string / same name to boolean if\n      // boolean has higher priority\n      var stringIndex = getTypeIndex(String, prop.type);\n      if (stringIndex < 0 || booleanIndex < stringIndex) {\n        value = true;\n      }\n    }\n  }\n  // check default value\n  if (value === undefined) {\n    value = getPropDefaultValue(vm, prop, key);\n    // since the default value is a fresh copy,\n    // make sure to observe it.\n    var prevShouldObserve = shouldObserve;\n    toggleObserving(true);\n    observe(value);\n    toggleObserving(prevShouldObserve);\n  }\n  if (\n    true\n  ) {\n    assertProp(prop, key, value, vm, absent);\n  }\n  return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n  // no default, return undefined\n  if (!hasOwn(prop, 'default')) {\n    return undefined\n  }\n  var def = prop.default;\n  // warn against non-factory defaults for Object & Array\n  if ( true && isObject(def)) {\n    warn(\n      'Invalid default value for prop \"' + key + '\": ' +\n      'Props with type Object/Array must use a factory function ' +\n      'to return the default value.',\n      vm\n    );\n  }\n  // the raw prop value was also undefined from previous render,\n  // return previous default value to avoid unnecessary watcher trigger\n  if (vm && vm.$options.propsData &&\n    vm.$options.propsData[key] === undefined &&\n    vm._props[key] !== undefined\n  ) {\n    return vm._props[key]\n  }\n  // call factory function for non-Function types\n  // a value is Function if its prototype is function even across different execution context\n  return typeof def === 'function' && getType(prop.type) !== 'Function'\n    ? def.call(vm)\n    : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n  prop,\n  name,\n  value,\n  vm,\n  absent\n) {\n  if (prop.required && absent) {\n    warn(\n      'Missing required prop: \"' + name + '\"',\n      vm\n    );\n    return\n  }\n  if (value == null && !prop.required) {\n    return\n  }\n  var type = prop.type;\n  var valid = !type || type === true;\n  var expectedTypes = [];\n  if (type) {\n    if (!Array.isArray(type)) {\n      type = [type];\n    }\n    for (var i = 0; i < type.length && !valid; i++) {\n      var assertedType = assertType(value, type[i], vm);\n      expectedTypes.push(assertedType.expectedType || '');\n      valid = assertedType.valid;\n    }\n  }\n\n  var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n  if (!valid && haveExpectedTypes) {\n    warn(\n      getInvalidTypeMessage(name, value, expectedTypes),\n      vm\n    );\n    return\n  }\n  var validator = prop.validator;\n  if (validator) {\n    if (!validator(value)) {\n      warn(\n        'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n        vm\n      );\n    }\n  }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n  var valid;\n  var expectedType = getType(type);\n  if (simpleCheckRE.test(expectedType)) {\n    var t = typeof value;\n    valid = t === expectedType.toLowerCase();\n    // for primitive wrapper objects\n    if (!valid && t === 'object') {\n      valid = value instanceof type;\n    }\n  } else if (expectedType === 'Object') {\n    valid = isPlainObject(value);\n  } else if (expectedType === 'Array') {\n    valid = Array.isArray(value);\n  } else {\n    try {\n      valid = value instanceof type;\n    } catch (e) {\n      warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n      valid = false;\n    }\n  }\n  return {\n    valid: valid,\n    expectedType: expectedType\n  }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n  var match = fn && fn.toString().match(functionTypeCheckRE);\n  return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n  return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n  if (!Array.isArray(expectedTypes)) {\n    return isSameType(expectedTypes, type) ? 0 : -1\n  }\n  for (var i = 0, len = expectedTypes.length; i < len; i++) {\n    if (isSameType(expectedTypes[i], type)) {\n      return i\n    }\n  }\n  return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n  var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n    \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n  var expectedType = expectedTypes[0];\n  var receivedType = toRawType(value);\n  // check if we need to specify expected value\n  if (\n    expectedTypes.length === 1 &&\n    isExplicable(expectedType) &&\n    isExplicable(typeof value) &&\n    !isBoolean(expectedType, receivedType)\n  ) {\n    message += \" with value \" + (styleValue(value, expectedType));\n  }\n  message += \", got \" + receivedType + \" \";\n  // check if we need to specify received value\n  if (isExplicable(receivedType)) {\n    message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n  }\n  return message\n}\n\nfunction styleValue (value, type) {\n  if (type === 'String') {\n    return (\"\\\"\" + value + \"\\\"\")\n  } else if (type === 'Number') {\n    return (\"\" + (Number(value)))\n  } else {\n    return (\"\" + value)\n  }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n  return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/*  */\n\nfunction handleError (err, vm, info) {\n  // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n  // See: https://github.com/vuejs/vuex/issues/1505\n  pushTarget();\n  try {\n    if (vm) {\n      var cur = vm;\n      while ((cur = cur.$parent)) {\n        var hooks = cur.$options.errorCaptured;\n        if (hooks) {\n          for (var i = 0; i < hooks.length; i++) {\n            try {\n              var capture = hooks[i].call(cur, err, vm, info) === false;\n              if (capture) { return }\n            } catch (e) {\n              globalHandleError(e, cur, 'errorCaptured hook');\n            }\n          }\n        }\n      }\n    }\n    globalHandleError(err, vm, info);\n  } finally {\n    popTarget();\n  }\n}\n\nfunction invokeWithErrorHandling (\n  handler,\n  context,\n  args,\n  vm,\n  info\n) {\n  var res;\n  try {\n    res = args ? handler.apply(context, args) : handler.call(context);\n    if (res && !res._isVue && isPromise(res) && !res._handled) {\n      res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n      // issue #9511\n      // avoid catch triggering multiple times when nested calls\n      res._handled = true;\n    }\n  } catch (e) {\n    handleError(e, vm, info);\n  }\n  return res\n}\n\nfunction globalHandleError (err, vm, info) {\n  if (config.errorHandler) {\n    try {\n      return config.errorHandler.call(null, err, vm, info)\n    } catch (e) {\n      // if the user intentionally throws the original error in the handler,\n      // do not log it twice\n      if (e !== err) {\n        logError(e, null, 'config.errorHandler');\n      }\n    }\n  }\n  logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n  if (true) {\n    warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n  }\n  /* istanbul ignore else */\n  if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n    console.error(err);\n  } else {\n    throw err\n  }\n}\n\n/*  */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n  pending = false;\n  var copies = callbacks.slice(0);\n  callbacks.length = 0;\n  for (var i = 0; i < copies.length; i++) {\n    copies[i]();\n  }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n  var p = Promise.resolve();\n  timerFunc = function () {\n    p.then(flushCallbacks);\n    // In problematic UIWebViews, Promise.then doesn't completely break, but\n    // it can get stuck in a weird state where callbacks are pushed into the\n    // microtask queue but the queue isn't being flushed, until the browser\n    // needs to do some other work, e.g. handle a timer. Therefore we can\n    // \"force\" the microtask queue to be flushed by adding an empty timer.\n    if (isIOS) { setTimeout(noop); }\n  };\n  isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n  isNative(MutationObserver) ||\n  // PhantomJS and iOS 7.x\n  MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n  // Use MutationObserver where native Promise is not available,\n  // e.g. PhantomJS, iOS7, Android 4.4\n  // (#6466 MutationObserver is unreliable in IE11)\n  var counter = 1;\n  var observer = new MutationObserver(flushCallbacks);\n  var textNode = document.createTextNode(String(counter));\n  observer.observe(textNode, {\n    characterData: true\n  });\n  timerFunc = function () {\n    counter = (counter + 1) % 2;\n    textNode.data = String(counter);\n  };\n  isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n  // Fallback to setImmediate.\n  // Technically it leverages the (macro) task queue,\n  // but it is still a better choice than setTimeout.\n  timerFunc = function () {\n    setImmediate(flushCallbacks);\n  };\n} else {\n  // Fallback to setTimeout.\n  timerFunc = function () {\n    setTimeout(flushCallbacks, 0);\n  };\n}\n\nfunction nextTick (cb, ctx) {\n  var _resolve;\n  callbacks.push(function () {\n    if (cb) {\n      try {\n        cb.call(ctx);\n      } catch (e) {\n        handleError(e, ctx, 'nextTick');\n      }\n    } else if (_resolve) {\n      _resolve(ctx);\n    }\n  });\n  if (!pending) {\n    pending = true;\n    timerFunc();\n  }\n  // $flow-disable-line\n  if (!cb && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve) {\n      _resolve = resolve;\n    })\n  }\n}\n\n/*  */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (true) {\n  var allowedGlobals = makeMap(\n    'Infinity,undefined,NaN,isFinite,isNaN,' +\n    'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n    'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n    'require' // for Webpack/Browserify\n  );\n\n  var warnNonPresent = function (target, key) {\n    warn(\n      \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n      'referenced during render. Make sure that this property is reactive, ' +\n      'either in the data option, or for class-based components, by ' +\n      'initializing the property. ' +\n      'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n      target\n    );\n  };\n\n  var warnReservedPrefix = function (target, key) {\n    warn(\n      \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n      'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n      'prevent conflicts with Vue internals. ' +\n      'See: https://vuejs.org/v2/api/#data',\n      target\n    );\n  };\n\n  var hasProxy =\n    typeof Proxy !== 'undefined' && isNative(Proxy);\n\n  if (hasProxy) {\n    var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n    config.keyCodes = new Proxy(config.keyCodes, {\n      set: function set (target, key, value) {\n        if (isBuiltInModifier(key)) {\n          warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n          return false\n        } else {\n          target[key] = value;\n          return true\n        }\n      }\n    });\n  }\n\n  var hasHandler = {\n    has: function has (target, key) {\n      var has = key in target;\n      var isAllowed = allowedGlobals(key) ||\n        (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n      if (!has && !isAllowed) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return has || !isAllowed\n    }\n  };\n\n  var getHandler = {\n    get: function get (target, key) {\n      if (typeof key === 'string' && !(key in target)) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return target[key]\n    }\n  };\n\n  initProxy = function initProxy (vm) {\n    if (hasProxy) {\n      // determine which proxy handler to use\n      var options = vm.$options;\n      var handlers = options.render && options.render._withStripped\n        ? getHandler\n        : hasHandler;\n      vm._renderProxy = new Proxy(vm, handlers);\n    } else {\n      vm._renderProxy = vm;\n    }\n  };\n}\n\n/*  */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n  _traverse(val, seenObjects);\n  seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n  var i, keys;\n  var isA = Array.isArray(val);\n  if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n    return\n  }\n  if (val.__ob__) {\n    var depId = val.__ob__.dep.id;\n    if (seen.has(depId)) {\n      return\n    }\n    seen.add(depId);\n  }\n  if (isA) {\n    i = val.length;\n    while (i--) { _traverse(val[i], seen); }\n  } else {\n    keys = Object.keys(val);\n    i = keys.length;\n    while (i--) { _traverse(val[keys[i]], seen); }\n  }\n}\n\nvar mark;\nvar measure;\n\nif (true) {\n  var perf = inBrowser && window.performance;\n  /* istanbul ignore if */\n  if (\n    perf &&\n    perf.mark &&\n    perf.measure &&\n    perf.clearMarks &&\n    perf.clearMeasures\n  ) {\n    mark = function (tag) { return perf.mark(tag); };\n    measure = function (name, startTag, endTag) {\n      perf.measure(name, startTag, endTag);\n      perf.clearMarks(startTag);\n      perf.clearMarks(endTag);\n      // perf.clearMeasures(name)\n    };\n  }\n}\n\n/*  */\n\nvar normalizeEvent = cached(function (name) {\n  var passive = name.charAt(0) === '&';\n  name = passive ? name.slice(1) : name;\n  var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n  name = once$$1 ? name.slice(1) : name;\n  var capture = name.charAt(0) === '!';\n  name = capture ? name.slice(1) : name;\n  return {\n    name: name,\n    once: once$$1,\n    capture: capture,\n    passive: passive\n  }\n});\n\nfunction createFnInvoker (fns, vm) {\n  function invoker () {\n    var arguments$1 = arguments;\n\n    var fns = invoker.fns;\n    if (Array.isArray(fns)) {\n      var cloned = fns.slice();\n      for (var i = 0; i < cloned.length; i++) {\n        invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n      }\n    } else {\n      // return handler return value for single handlers\n      return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n    }\n  }\n  invoker.fns = fns;\n  return invoker\n}\n\nfunction updateListeners (\n  on,\n  oldOn,\n  add,\n  remove$$1,\n  createOnceHandler,\n  vm\n) {\n  var name, def$$1, cur, old, event;\n  for (name in on) {\n    def$$1 = cur = on[name];\n    old = oldOn[name];\n    event = normalizeEvent(name);\n    if (isUndef(cur)) {\n       true && warn(\n        \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n        vm\n      );\n    } else if (isUndef(old)) {\n      if (isUndef(cur.fns)) {\n        cur = on[name] = createFnInvoker(cur, vm);\n      }\n      if (isTrue(event.once)) {\n        cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n      }\n      add(event.name, cur, event.capture, event.passive, event.params);\n    } else if (cur !== old) {\n      old.fns = cur;\n      on[name] = old;\n    }\n  }\n  for (name in oldOn) {\n    if (isUndef(on[name])) {\n      event = normalizeEvent(name);\n      remove$$1(event.name, oldOn[name], event.capture);\n    }\n  }\n}\n\n/*  */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n  if (def instanceof VNode) {\n    def = def.data.hook || (def.data.hook = {});\n  }\n  var invoker;\n  var oldHook = def[hookKey];\n\n  function wrappedHook () {\n    hook.apply(this, arguments);\n    // important: remove merged hook to ensure it's called only once\n    // and prevent memory leak\n    remove(invoker.fns, wrappedHook);\n  }\n\n  if (isUndef(oldHook)) {\n    // no existing hook\n    invoker = createFnInvoker([wrappedHook]);\n  } else {\n    /* istanbul ignore if */\n    if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n      // already a merged invoker\n      invoker = oldHook;\n      invoker.fns.push(wrappedHook);\n    } else {\n      // existing plain hook\n      invoker = createFnInvoker([oldHook, wrappedHook]);\n    }\n  }\n\n  invoker.merged = true;\n  def[hookKey] = invoker;\n}\n\n/*  */\n\nfunction extractPropsFromVNodeData (\n  data,\n  Ctor,\n  tag\n) {\n  // we are only extracting raw values here.\n  // validation and default values are handled in the child\n  // component itself.\n  var propOptions = Ctor.options.props;\n  if (isUndef(propOptions)) {\n    return\n  }\n  var res = {};\n  var attrs = data.attrs;\n  var props = data.props;\n  if (isDef(attrs) || isDef(props)) {\n    for (var key in propOptions) {\n      var altKey = hyphenate(key);\n      if (true) {\n        var keyInLowerCase = key.toLowerCase();\n        if (\n          key !== keyInLowerCase &&\n          attrs && hasOwn(attrs, keyInLowerCase)\n        ) {\n          tip(\n            \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n            (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n            \" \\\"\" + key + \"\\\". \" +\n            \"Note that HTML attributes are case-insensitive and camelCased \" +\n            \"props need to use their kebab-case equivalents when using in-DOM \" +\n            \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n          );\n        }\n      }\n      checkProp(res, props, key, altKey, true) ||\n      checkProp(res, attrs, key, altKey, false);\n    }\n  }\n  return res\n}\n\nfunction checkProp (\n  res,\n  hash,\n  key,\n  altKey,\n  preserve\n) {\n  if (isDef(hash)) {\n    if (hasOwn(hash, key)) {\n      res[key] = hash[key];\n      if (!preserve) {\n        delete hash[key];\n      }\n      return true\n    } else if (hasOwn(hash, altKey)) {\n      res[key] = hash[altKey];\n      if (!preserve) {\n        delete hash[altKey];\n      }\n      return true\n    }\n  }\n  return false\n}\n\n/*  */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n  for (var i = 0; i < children.length; i++) {\n    if (Array.isArray(children[i])) {\n      return Array.prototype.concat.apply([], children)\n    }\n  }\n  return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n  return isPrimitive(children)\n    ? [createTextVNode(children)]\n    : Array.isArray(children)\n      ? normalizeArrayChildren(children)\n      : undefined\n}\n\nfunction isTextNode (node) {\n  return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n  var res = [];\n  var i, c, lastIndex, last;\n  for (i = 0; i < children.length; i++) {\n    c = children[i];\n    if (isUndef(c) || typeof c === 'boolean') { continue }\n    lastIndex = res.length - 1;\n    last = res[lastIndex];\n    //  nested\n    if (Array.isArray(c)) {\n      if (c.length > 0) {\n        c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n        // merge adjacent text nodes\n        if (isTextNode(c[0]) && isTextNode(last)) {\n          res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n          c.shift();\n        }\n        res.push.apply(res, c);\n      }\n    } else if (isPrimitive(c)) {\n      if (isTextNode(last)) {\n        // merge adjacent text nodes\n        // this is necessary for SSR hydration because text nodes are\n        // essentially merged when rendered to HTML strings\n        res[lastIndex] = createTextVNode(last.text + c);\n      } else if (c !== '') {\n        // convert primitive to vnode\n        res.push(createTextVNode(c));\n      }\n    } else {\n      if (isTextNode(c) && isTextNode(last)) {\n        // merge adjacent text nodes\n        res[lastIndex] = createTextVNode(last.text + c.text);\n      } else {\n        // default key for nested array children (likely generated by v-for)\n        if (isTrue(children._isVList) &&\n          isDef(c.tag) &&\n          isUndef(c.key) &&\n          isDef(nestedIndex)) {\n          c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n        }\n        res.push(c);\n      }\n    }\n  }\n  return res\n}\n\n/*  */\n\nfunction initProvide (vm) {\n  var provide = vm.$options.provide;\n  if (provide) {\n    vm._provided = typeof provide === 'function'\n      ? provide.call(vm)\n      : provide;\n  }\n}\n\nfunction initInjections (vm) {\n  var result = resolveInject(vm.$options.inject, vm);\n  if (result) {\n    toggleObserving(false);\n    Object.keys(result).forEach(function (key) {\n      /* istanbul ignore else */\n      if (true) {\n        defineReactive$$1(vm, key, result[key], function () {\n          warn(\n            \"Avoid mutating an injected value directly since the changes will be \" +\n            \"overwritten whenever the provided component re-renders. \" +\n            \"injection being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        });\n      } else {}\n    });\n    toggleObserving(true);\n  }\n}\n\nfunction resolveInject (inject, vm) {\n  if (inject) {\n    // inject is :any because flow is not smart enough to figure out cached\n    var result = Object.create(null);\n    var keys = hasSymbol\n      ? Reflect.ownKeys(inject)\n      : Object.keys(inject);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n      // #6574 in case the inject object is observed...\n      if (key === '__ob__') { continue }\n      var provideKey = inject[key].from;\n      var source = vm;\n      while (source) {\n        if (source._provided && hasOwn(source._provided, provideKey)) {\n          result[key] = source._provided[provideKey];\n          break\n        }\n        source = source.$parent;\n      }\n      if (!source) {\n        if ('default' in inject[key]) {\n          var provideDefault = inject[key].default;\n          result[key] = typeof provideDefault === 'function'\n            ? provideDefault.call(vm)\n            : provideDefault;\n        } else if (true) {\n          warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n        }\n      }\n    }\n    return result\n  }\n}\n\n/*  */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n  children,\n  context\n) {\n  if (!children || !children.length) {\n    return {}\n  }\n  var slots = {};\n  for (var i = 0, l = children.length; i < l; i++) {\n    var child = children[i];\n    var data = child.data;\n    // remove slot attribute if the node is resolved as a Vue slot node\n    if (data && data.attrs && data.attrs.slot) {\n      delete data.attrs.slot;\n    }\n    // named slots should only be respected if the vnode was rendered in the\n    // same context.\n    if ((child.context === context || child.fnContext === context) &&\n      data && data.slot != null\n    ) {\n      var name = data.slot;\n      var slot = (slots[name] || (slots[name] = []));\n      if (child.tag === 'template') {\n        slot.push.apply(slot, child.children || []);\n      } else {\n        slot.push(child);\n      }\n    } else {\n      (slots.default || (slots.default = [])).push(child);\n    }\n  }\n  // ignore slots that contains only whitespace\n  for (var name$1 in slots) {\n    if (slots[name$1].every(isWhitespace)) {\n      delete slots[name$1];\n    }\n  }\n  return slots\n}\n\nfunction isWhitespace (node) {\n  return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/*  */\n\nfunction isAsyncPlaceholder (node) {\n  return node.isComment && node.asyncFactory\n}\n\n/*  */\n\nfunction normalizeScopedSlots (\n  slots,\n  normalSlots,\n  prevSlots\n) {\n  var res;\n  var hasNormalSlots = Object.keys(normalSlots).length > 0;\n  var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n  var key = slots && slots.$key;\n  if (!slots) {\n    res = {};\n  } else if (slots._normalized) {\n    // fast path 1: child component re-render only, parent did not change\n    return slots._normalized\n  } else if (\n    isStable &&\n    prevSlots &&\n    prevSlots !== emptyObject &&\n    key === prevSlots.$key &&\n    !hasNormalSlots &&\n    !prevSlots.$hasNormal\n  ) {\n    // fast path 2: stable scoped slots w/ no normal slots to proxy,\n    // only need to normalize once\n    return prevSlots\n  } else {\n    res = {};\n    for (var key$1 in slots) {\n      if (slots[key$1] && key$1[0] !== '$') {\n        res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n      }\n    }\n  }\n  // expose normal slots on scopedSlots\n  for (var key$2 in normalSlots) {\n    if (!(key$2 in res)) {\n      res[key$2] = proxyNormalSlot(normalSlots, key$2);\n    }\n  }\n  // avoriaz seems to mock a non-extensible $scopedSlots object\n  // and when that is passed down this would cause an error\n  if (slots && Object.isExtensible(slots)) {\n    (slots)._normalized = res;\n  }\n  def(res, '$stable', isStable);\n  def(res, '$key', key);\n  def(res, '$hasNormal', hasNormalSlots);\n  return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n  var normalized = function () {\n    var res = arguments.length ? fn.apply(null, arguments) : fn({});\n    res = res && typeof res === 'object' && !Array.isArray(res)\n      ? [res] // single vnode\n      : normalizeChildren(res);\n    var vnode = res && res[0];\n    return res && (\n      !vnode ||\n      (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n    ) ? undefined\n      : res\n  };\n  // this is a slot using the new v-slot syntax without scope. although it is\n  // compiled as a scoped slot, render fn users would expect it to be present\n  // on this.$slots because the usage is semantically a normal slot.\n  if (fn.proxy) {\n    Object.defineProperty(normalSlots, key, {\n      get: normalized,\n      enumerable: true,\n      configurable: true\n    });\n  }\n  return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n  return function () { return slots[key]; }\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n  val,\n  render\n) {\n  var ret, i, l, keys, key;\n  if (Array.isArray(val) || typeof val === 'string') {\n    ret = new Array(val.length);\n    for (i = 0, l = val.length; i < l; i++) {\n      ret[i] = render(val[i], i);\n    }\n  } else if (typeof val === 'number') {\n    ret = new Array(val);\n    for (i = 0; i < val; i++) {\n      ret[i] = render(i + 1, i);\n    }\n  } else if (isObject(val)) {\n    if (hasSymbol && val[Symbol.iterator]) {\n      ret = [];\n      var iterator = val[Symbol.iterator]();\n      var result = iterator.next();\n      while (!result.done) {\n        ret.push(render(result.value, ret.length));\n        result = iterator.next();\n      }\n    } else {\n      keys = Object.keys(val);\n      ret = new Array(keys.length);\n      for (i = 0, l = keys.length; i < l; i++) {\n        key = keys[i];\n        ret[i] = render(val[key], key, i);\n      }\n    }\n  }\n  if (!isDef(ret)) {\n    ret = [];\n  }\n  (ret)._isVList = true;\n  return ret\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n  name,\n  fallbackRender,\n  props,\n  bindObject\n) {\n  var scopedSlotFn = this.$scopedSlots[name];\n  var nodes;\n  if (scopedSlotFn) {\n    // scoped slot\n    props = props || {};\n    if (bindObject) {\n      if ( true && !isObject(bindObject)) {\n        warn('slot v-bind without argument expects an Object', this);\n      }\n      props = extend(extend({}, bindObject), props);\n    }\n    nodes =\n      scopedSlotFn(props) ||\n      (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n  } else {\n    nodes =\n      this.$slots[name] ||\n      (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n  }\n\n  var target = props && props.slot;\n  if (target) {\n    return this.$createElement('template', { slot: target }, nodes)\n  } else {\n    return nodes\n  }\n}\n\n/*  */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n  return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/*  */\n\nfunction isKeyNotMatch (expect, actual) {\n  if (Array.isArray(expect)) {\n    return expect.indexOf(actual) === -1\n  } else {\n    return expect !== actual\n  }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n  eventKeyCode,\n  key,\n  builtInKeyCode,\n  eventKeyName,\n  builtInKeyName\n) {\n  var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n  if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n    return isKeyNotMatch(builtInKeyName, eventKeyName)\n  } else if (mappedKeyCode) {\n    return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n  } else if (eventKeyName) {\n    return hyphenate(eventKeyName) !== key\n  }\n  return eventKeyCode === undefined\n}\n\n/*  */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n  data,\n  tag,\n  value,\n  asProp,\n  isSync\n) {\n  if (value) {\n    if (!isObject(value)) {\n       true && warn(\n        'v-bind without argument expects an Object or Array value',\n        this\n      );\n    } else {\n      if (Array.isArray(value)) {\n        value = toObject(value);\n      }\n      var hash;\n      var loop = function ( key ) {\n        if (\n          key === 'class' ||\n          key === 'style' ||\n          isReservedAttribute(key)\n        ) {\n          hash = data;\n        } else {\n          var type = data.attrs && data.attrs.type;\n          hash = asProp || config.mustUseProp(tag, type, key)\n            ? data.domProps || (data.domProps = {})\n            : data.attrs || (data.attrs = {});\n        }\n        var camelizedKey = camelize(key);\n        var hyphenatedKey = hyphenate(key);\n        if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n          hash[key] = value[key];\n\n          if (isSync) {\n            var on = data.on || (data.on = {});\n            on[(\"update:\" + key)] = function ($event) {\n              value[key] = $event;\n            };\n          }\n        }\n      };\n\n      for (var key in value) loop( key );\n    }\n  }\n  return data\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n  index,\n  isInFor\n) {\n  var cached = this._staticTrees || (this._staticTrees = []);\n  var tree = cached[index];\n  // if has already-rendered static tree and not inside v-for,\n  // we can reuse the same tree.\n  if (tree && !isInFor) {\n    return tree\n  }\n  // otherwise, render a fresh tree.\n  tree = cached[index] = this.$options.staticRenderFns[index].call(\n    this._renderProxy,\n    null,\n    this // for render fns generated for functional component templates\n  );\n  markStatic(tree, (\"__static__\" + index), false);\n  return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n  tree,\n  index,\n  key\n) {\n  markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n  return tree\n}\n\nfunction markStatic (\n  tree,\n  key,\n  isOnce\n) {\n  if (Array.isArray(tree)) {\n    for (var i = 0; i < tree.length; i++) {\n      if (tree[i] && typeof tree[i] !== 'string') {\n        markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n      }\n    }\n  } else {\n    markStaticNode(tree, key, isOnce);\n  }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n  node.isStatic = true;\n  node.key = key;\n  node.isOnce = isOnce;\n}\n\n/*  */\n\nfunction bindObjectListeners (data, value) {\n  if (value) {\n    if (!isPlainObject(value)) {\n       true && warn(\n        'v-on without argument expects an Object value',\n        this\n      );\n    } else {\n      var on = data.on = data.on ? extend({}, data.on) : {};\n      for (var key in value) {\n        var existing = on[key];\n        var ours = value[key];\n        on[key] = existing ? [].concat(existing, ours) : ours;\n      }\n    }\n  }\n  return data\n}\n\n/*  */\n\nfunction resolveScopedSlots (\n  fns, // see flow/vnode\n  res,\n  // the following are added in 2.6\n  hasDynamicKeys,\n  contentHashKey\n) {\n  res = res || { $stable: !hasDynamicKeys };\n  for (var i = 0; i < fns.length; i++) {\n    var slot = fns[i];\n    if (Array.isArray(slot)) {\n      resolveScopedSlots(slot, res, hasDynamicKeys);\n    } else if (slot) {\n      // marker for reverse proxying v-slot without scope on this.$slots\n      if (slot.proxy) {\n        slot.fn.proxy = true;\n      }\n      res[slot.key] = slot.fn;\n    }\n  }\n  if (contentHashKey) {\n    (res).$key = contentHashKey;\n  }\n  return res\n}\n\n/*  */\n\nfunction bindDynamicKeys (baseObj, values) {\n  for (var i = 0; i < values.length; i += 2) {\n    var key = values[i];\n    if (typeof key === 'string' && key) {\n      baseObj[values[i]] = values[i + 1];\n    } else if ( true && key !== '' && key !== null) {\n      // null is a special value for explicitly removing a binding\n      warn(\n        (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n        this\n      );\n    }\n  }\n  return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n  return typeof value === 'string' ? symbol + value : value\n}\n\n/*  */\n\nfunction installRenderHelpers (target) {\n  target._o = markOnce;\n  target._n = toNumber;\n  target._s = toString;\n  target._l = renderList;\n  target._t = renderSlot;\n  target._q = looseEqual;\n  target._i = looseIndexOf;\n  target._m = renderStatic;\n  target._f = resolveFilter;\n  target._k = checkKeyCodes;\n  target._b = bindObjectProps;\n  target._v = createTextVNode;\n  target._e = createEmptyVNode;\n  target._u = resolveScopedSlots;\n  target._g = bindObjectListeners;\n  target._d = bindDynamicKeys;\n  target._p = prependModifier;\n}\n\n/*  */\n\nfunction FunctionalRenderContext (\n  data,\n  props,\n  children,\n  parent,\n  Ctor\n) {\n  var this$1 = this;\n\n  var options = Ctor.options;\n  // ensure the createElement function in functional components\n  // gets a unique context - this is necessary for correct named slot check\n  var contextVm;\n  if (hasOwn(parent, '_uid')) {\n    contextVm = Object.create(parent);\n    // $flow-disable-line\n    contextVm._original = parent;\n  } else {\n    // the context vm passed in is a functional context as well.\n    // in this case we want to make sure we are able to get a hold to the\n    // real context instance.\n    contextVm = parent;\n    // $flow-disable-line\n    parent = parent._original;\n  }\n  var isCompiled = isTrue(options._compiled);\n  var needNormalization = !isCompiled;\n\n  this.data = data;\n  this.props = props;\n  this.children = children;\n  this.parent = parent;\n  this.listeners = data.on || emptyObject;\n  this.injections = resolveInject(options.inject, parent);\n  this.slots = function () {\n    if (!this$1.$slots) {\n      normalizeScopedSlots(\n        data.scopedSlots,\n        this$1.$slots = resolveSlots(children, parent)\n      );\n    }\n    return this$1.$slots\n  };\n\n  Object.defineProperty(this, 'scopedSlots', ({\n    enumerable: true,\n    get: function get () {\n      return normalizeScopedSlots(data.scopedSlots, this.slots())\n    }\n  }));\n\n  // support for compiled functional template\n  if (isCompiled) {\n    // exposing $options for renderStatic()\n    this.$options = options;\n    // pre-resolve slots for renderSlot()\n    this.$slots = this.slots();\n    this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n  }\n\n  if (options._scopeId) {\n    this._c = function (a, b, c, d) {\n      var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n      if (vnode && !Array.isArray(vnode)) {\n        vnode.fnScopeId = options._scopeId;\n        vnode.fnContext = parent;\n      }\n      return vnode\n    };\n  } else {\n    this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n  }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n  Ctor,\n  propsData,\n  data,\n  contextVm,\n  children\n) {\n  var options = Ctor.options;\n  var props = {};\n  var propOptions = options.props;\n  if (isDef(propOptions)) {\n    for (var key in propOptions) {\n      props[key] = validateProp(key, propOptions, propsData || emptyObject);\n    }\n  } else {\n    if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n    if (isDef(data.props)) { mergeProps(props, data.props); }\n  }\n\n  var renderContext = new FunctionalRenderContext(\n    data,\n    props,\n    children,\n    contextVm,\n    Ctor\n  );\n\n  var vnode = options.render.call(null, renderContext._c, renderContext);\n\n  if (vnode instanceof VNode) {\n    return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n  } else if (Array.isArray(vnode)) {\n    var vnodes = normalizeChildren(vnode) || [];\n    var res = new Array(vnodes.length);\n    for (var i = 0; i < vnodes.length; i++) {\n      res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n    }\n    return res\n  }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n  // #7817 clone node before setting fnContext, otherwise if the node is reused\n  // (e.g. it was from a cached normal slot) the fnContext causes named slots\n  // that should not be matched to match.\n  var clone = cloneVNode(vnode);\n  clone.fnContext = contextVm;\n  clone.fnOptions = options;\n  if (true) {\n    (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n  }\n  if (data.slot) {\n    (clone.data || (clone.data = {})).slot = data.slot;\n  }\n  return clone\n}\n\nfunction mergeProps (to, from) {\n  for (var key in from) {\n    to[camelize(key)] = from[key];\n  }\n}\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n  init: function init (vnode, hydrating) {\n    if (\n      vnode.componentInstance &&\n      !vnode.componentInstance._isDestroyed &&\n      vnode.data.keepAlive\n    ) {\n      // kept-alive components, treat as a patch\n      var mountedNode = vnode; // work around flow\n      componentVNodeHooks.prepatch(mountedNode, mountedNode);\n    } else {\n      var child = vnode.componentInstance = createComponentInstanceForVnode(\n        vnode,\n        activeInstance\n      );\n      child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n    }\n  },\n\n  prepatch: function prepatch (oldVnode, vnode) {\n    var options = vnode.componentOptions;\n    var child = vnode.componentInstance = oldVnode.componentInstance;\n    updateChildComponent(\n      child,\n      options.propsData, // updated props\n      options.listeners, // updated listeners\n      vnode, // new parent vnode\n      options.children // new children\n    );\n  },\n\n  insert: function insert (vnode) {\n    var context = vnode.context;\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isMounted) {\n      componentInstance._isMounted = true;\n      callHook(componentInstance, 'mounted');\n    }\n    if (vnode.data.keepAlive) {\n      if (context._isMounted) {\n        // vue-router#1212\n        // During updates, a kept-alive component's child components may\n        // change, so directly walking the tree here may call activated hooks\n        // on incorrect children. Instead we push them into a queue which will\n        // be processed after the whole patch process ended.\n        queueActivatedComponent(componentInstance);\n      } else {\n        activateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  },\n\n  destroy: function destroy (vnode) {\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isDestroyed) {\n      if (!vnode.data.keepAlive) {\n        componentInstance.$destroy();\n      } else {\n        deactivateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n  Ctor,\n  data,\n  context,\n  children,\n  tag\n) {\n  if (isUndef(Ctor)) {\n    return\n  }\n\n  var baseCtor = context.$options._base;\n\n  // plain options object: turn it into a constructor\n  if (isObject(Ctor)) {\n    Ctor = baseCtor.extend(Ctor);\n  }\n\n  // if at this stage it's not a constructor or an async component factory,\n  // reject.\n  if (typeof Ctor !== 'function') {\n    if (true) {\n      warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n    }\n    return\n  }\n\n  // async component\n  var asyncFactory;\n  if (isUndef(Ctor.cid)) {\n    asyncFactory = Ctor;\n    Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n    if (Ctor === undefined) {\n      // return a placeholder node for async component, which is rendered\n      // as a comment node but preserves all the raw information for the node.\n      // the information will be used for async server-rendering and hydration.\n      return createAsyncPlaceholder(\n        asyncFactory,\n        data,\n        context,\n        children,\n        tag\n      )\n    }\n  }\n\n  data = data || {};\n\n  // resolve constructor options in case global mixins are applied after\n  // component constructor creation\n  resolveConstructorOptions(Ctor);\n\n  // transform component v-model data into props & events\n  if (isDef(data.model)) {\n    transformModel(Ctor.options, data);\n  }\n\n  // extract props\n  var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n  // functional component\n  if (isTrue(Ctor.options.functional)) {\n    return createFunctionalComponent(Ctor, propsData, data, context, children)\n  }\n\n  // extract listeners, since these needs to be treated as\n  // child component listeners instead of DOM listeners\n  var listeners = data.on;\n  // replace with listeners with .native modifier\n  // so it gets processed during parent component patch.\n  data.on = data.nativeOn;\n\n  if (isTrue(Ctor.options.abstract)) {\n    // abstract components do not keep anything\n    // other than props & listeners & slot\n\n    // work around flow\n    var slot = data.slot;\n    data = {};\n    if (slot) {\n      data.slot = slot;\n    }\n  }\n\n  // install component management hooks onto the placeholder node\n  installComponentHooks(data);\n\n  // return a placeholder vnode\n  var name = Ctor.options.name || tag;\n  var vnode = new VNode(\n    (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n    data, undefined, undefined, undefined, context,\n    { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n    asyncFactory\n  );\n\n  return vnode\n}\n\nfunction createComponentInstanceForVnode (\n  // we know it's MountedComponentVNode but flow doesn't\n  vnode,\n  // activeInstance in lifecycle state\n  parent\n) {\n  var options = {\n    _isComponent: true,\n    _parentVnode: vnode,\n    parent: parent\n  };\n  // check inline-template render functions\n  var inlineTemplate = vnode.data.inlineTemplate;\n  if (isDef(inlineTemplate)) {\n    options.render = inlineTemplate.render;\n    options.staticRenderFns = inlineTemplate.staticRenderFns;\n  }\n  return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n  var hooks = data.hook || (data.hook = {});\n  for (var i = 0; i < hooksToMerge.length; i++) {\n    var key = hooksToMerge[i];\n    var existing = hooks[key];\n    var toMerge = componentVNodeHooks[key];\n    if (existing !== toMerge && !(existing && existing._merged)) {\n      hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n    }\n  }\n}\n\nfunction mergeHook$1 (f1, f2) {\n  var merged = function (a, b) {\n    // flow complains about extra args which is why we use any\n    f1(a, b);\n    f2(a, b);\n  };\n  merged._merged = true;\n  return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n  var prop = (options.model && options.model.prop) || 'value';\n  var event = (options.model && options.model.event) || 'input'\n  ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n  var on = data.on || (data.on = {});\n  var existing = on[event];\n  var callback = data.model.callback;\n  if (isDef(existing)) {\n    if (\n      Array.isArray(existing)\n        ? existing.indexOf(callback) === -1\n        : existing !== callback\n    ) {\n      on[event] = [callback].concat(existing);\n    }\n  } else {\n    on[event] = callback;\n  }\n}\n\n/*  */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType,\n  alwaysNormalize\n) {\n  if (Array.isArray(data) || isPrimitive(data)) {\n    normalizationType = children;\n    children = data;\n    data = undefined;\n  }\n  if (isTrue(alwaysNormalize)) {\n    normalizationType = ALWAYS_NORMALIZE;\n  }\n  return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType\n) {\n  if (isDef(data) && isDef((data).__ob__)) {\n     true && warn(\n      \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n      'Always create fresh vnode data objects in each render!',\n      context\n    );\n    return createEmptyVNode()\n  }\n  // object syntax in v-bind\n  if (isDef(data) && isDef(data.is)) {\n    tag = data.is;\n  }\n  if (!tag) {\n    // in case of component :is set to falsy value\n    return createEmptyVNode()\n  }\n  // warn against non-primitive key\n  if ( true &&\n    isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n  ) {\n    {\n      warn(\n        'Avoid using non-primitive value as key, ' +\n        'use string/number value instead.',\n        context\n      );\n    }\n  }\n  // support single function children as default scoped slot\n  if (Array.isArray(children) &&\n    typeof children[0] === 'function'\n  ) {\n    data = data || {};\n    data.scopedSlots = { default: children[0] };\n    children.length = 0;\n  }\n  if (normalizationType === ALWAYS_NORMALIZE) {\n    children = normalizeChildren(children);\n  } else if (normalizationType === SIMPLE_NORMALIZE) {\n    children = simpleNormalizeChildren(children);\n  }\n  var vnode, ns;\n  if (typeof tag === 'string') {\n    var Ctor;\n    ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n    if (config.isReservedTag(tag)) {\n      // platform built-in elements\n      if ( true && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n        warn(\n          (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n          context\n        );\n      }\n      vnode = new VNode(\n        config.parsePlatformTagName(tag), data, children,\n        undefined, undefined, context\n      );\n    } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n      // component\n      vnode = createComponent(Ctor, data, context, children, tag);\n    } else {\n      // unknown or unlisted namespaced elements\n      // check at runtime because it may get assigned a namespace when its\n      // parent normalizes children\n      vnode = new VNode(\n        tag, data, children,\n        undefined, undefined, context\n      );\n    }\n  } else {\n    // direct component options / constructor\n    vnode = createComponent(tag, data, context, children);\n  }\n  if (Array.isArray(vnode)) {\n    return vnode\n  } else if (isDef(vnode)) {\n    if (isDef(ns)) { applyNS(vnode, ns); }\n    if (isDef(data)) { registerDeepBindings(data); }\n    return vnode\n  } else {\n    return createEmptyVNode()\n  }\n}\n\nfunction applyNS (vnode, ns, force) {\n  vnode.ns = ns;\n  if (vnode.tag === 'foreignObject') {\n    // use default namespace inside foreignObject\n    ns = undefined;\n    force = true;\n  }\n  if (isDef(vnode.children)) {\n    for (var i = 0, l = vnode.children.length; i < l; i++) {\n      var child = vnode.children[i];\n      if (isDef(child.tag) && (\n        isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n        applyNS(child, ns, force);\n      }\n    }\n  }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n  if (isObject(data.style)) {\n    traverse(data.style);\n  }\n  if (isObject(data.class)) {\n    traverse(data.class);\n  }\n}\n\n/*  */\n\nfunction initRender (vm) {\n  vm._vnode = null; // the root of the child tree\n  vm._staticTrees = null; // v-once cached trees\n  var options = vm.$options;\n  var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n  var renderContext = parentVnode && parentVnode.context;\n  vm.$slots = resolveSlots(options._renderChildren, renderContext);\n  vm.$scopedSlots = emptyObject;\n  // bind the createElement fn to this instance\n  // so that we get proper render context inside it.\n  // args order: tag, data, children, normalizationType, alwaysNormalize\n  // internal version is used by render functions compiled from templates\n  vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n  // normalization is always applied for the public version, used in\n  // user-written render functions.\n  vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n  // $attrs & $listeners are exposed for easier HOC creation.\n  // they need to be reactive so that HOCs using them are always updated\n  var parentData = parentVnode && parentVnode.data;\n\n  /* istanbul ignore else */\n  if (true) {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n    }, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n    }, true);\n  } else {}\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n  // install runtime convenience helpers\n  installRenderHelpers(Vue.prototype);\n\n  Vue.prototype.$nextTick = function (fn) {\n    return nextTick(fn, this)\n  };\n\n  Vue.prototype._render = function () {\n    var vm = this;\n    var ref = vm.$options;\n    var render = ref.render;\n    var _parentVnode = ref._parentVnode;\n\n    if (_parentVnode) {\n      vm.$scopedSlots = normalizeScopedSlots(\n        _parentVnode.data.scopedSlots,\n        vm.$slots,\n        vm.$scopedSlots\n      );\n    }\n\n    // set parent vnode. this allows render functions to have access\n    // to the data on the placeholder node.\n    vm.$vnode = _parentVnode;\n    // render self\n    var vnode;\n    try {\n      // There's no need to maintain a stack because all render fns are called\n      // separately from one another. Nested component's render fns are called\n      // when parent component is patched.\n      currentRenderingInstance = vm;\n      vnode = render.call(vm._renderProxy, vm.$createElement);\n    } catch (e) {\n      handleError(e, vm, \"render\");\n      // return error render result,\n      // or previous vnode to prevent render error causing blank component\n      /* istanbul ignore else */\n      if ( true && vm.$options.renderError) {\n        try {\n          vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n        } catch (e) {\n          handleError(e, vm, \"renderError\");\n          vnode = vm._vnode;\n        }\n      } else {\n        vnode = vm._vnode;\n      }\n    } finally {\n      currentRenderingInstance = null;\n    }\n    // if the returned array contains only a single node, allow it\n    if (Array.isArray(vnode) && vnode.length === 1) {\n      vnode = vnode[0];\n    }\n    // return empty vnode in case the render function errored out\n    if (!(vnode instanceof VNode)) {\n      if ( true && Array.isArray(vnode)) {\n        warn(\n          'Multiple root nodes returned from render function. Render function ' +\n          'should return a single root node.',\n          vm\n        );\n      }\n      vnode = createEmptyVNode();\n    }\n    // set parent\n    vnode.parent = _parentVnode;\n    return vnode\n  };\n}\n\n/*  */\n\nfunction ensureCtor (comp, base) {\n  if (\n    comp.__esModule ||\n    (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n  ) {\n    comp = comp.default;\n  }\n  return isObject(comp)\n    ? base.extend(comp)\n    : comp\n}\n\nfunction createAsyncPlaceholder (\n  factory,\n  data,\n  context,\n  children,\n  tag\n) {\n  var node = createEmptyVNode();\n  node.asyncFactory = factory;\n  node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n  return node\n}\n\nfunction resolveAsyncComponent (\n  factory,\n  baseCtor\n) {\n  if (isTrue(factory.error) && isDef(factory.errorComp)) {\n    return factory.errorComp\n  }\n\n  if (isDef(factory.resolved)) {\n    return factory.resolved\n  }\n\n  var owner = currentRenderingInstance;\n  if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n    // already pending\n    factory.owners.push(owner);\n  }\n\n  if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n    return factory.loadingComp\n  }\n\n  if (owner && !isDef(factory.owners)) {\n    var owners = factory.owners = [owner];\n    var sync = true;\n    var timerLoading = null;\n    var timerTimeout = null\n\n    ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n    var forceRender = function (renderCompleted) {\n      for (var i = 0, l = owners.length; i < l; i++) {\n        (owners[i]).$forceUpdate();\n      }\n\n      if (renderCompleted) {\n        owners.length = 0;\n        if (timerLoading !== null) {\n          clearTimeout(timerLoading);\n          timerLoading = null;\n        }\n        if (timerTimeout !== null) {\n          clearTimeout(timerTimeout);\n          timerTimeout = null;\n        }\n      }\n    };\n\n    var resolve = once(function (res) {\n      // cache resolved\n      factory.resolved = ensureCtor(res, baseCtor);\n      // invoke callbacks only if this is not a synchronous resolve\n      // (async resolves are shimmed as synchronous during SSR)\n      if (!sync) {\n        forceRender(true);\n      } else {\n        owners.length = 0;\n      }\n    });\n\n    var reject = once(function (reason) {\n       true && warn(\n        \"Failed to resolve async component: \" + (String(factory)) +\n        (reason ? (\"\\nReason: \" + reason) : '')\n      );\n      if (isDef(factory.errorComp)) {\n        factory.error = true;\n        forceRender(true);\n      }\n    });\n\n    var res = factory(resolve, reject);\n\n    if (isObject(res)) {\n      if (isPromise(res)) {\n        // () => Promise\n        if (isUndef(factory.resolved)) {\n          res.then(resolve, reject);\n        }\n      } else if (isPromise(res.component)) {\n        res.component.then(resolve, reject);\n\n        if (isDef(res.error)) {\n          factory.errorComp = ensureCtor(res.error, baseCtor);\n        }\n\n        if (isDef(res.loading)) {\n          factory.loadingComp = ensureCtor(res.loading, baseCtor);\n          if (res.delay === 0) {\n            factory.loading = true;\n          } else {\n            timerLoading = setTimeout(function () {\n              timerLoading = null;\n              if (isUndef(factory.resolved) && isUndef(factory.error)) {\n                factory.loading = true;\n                forceRender(false);\n              }\n            }, res.delay || 200);\n          }\n        }\n\n        if (isDef(res.timeout)) {\n          timerTimeout = setTimeout(function () {\n            timerTimeout = null;\n            if (isUndef(factory.resolved)) {\n              reject(\n                 true\n                  ? (\"timeout (\" + (res.timeout) + \"ms)\")\n                  : undefined\n              );\n            }\n          }, res.timeout);\n        }\n      }\n    }\n\n    sync = false;\n    // return in case resolved synchronously\n    return factory.loading\n      ? factory.loadingComp\n      : factory.resolved\n  }\n}\n\n/*  */\n\nfunction getFirstComponentChild (children) {\n  if (Array.isArray(children)) {\n    for (var i = 0; i < children.length; i++) {\n      var c = children[i];\n      if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n        return c\n      }\n    }\n  }\n}\n\n/*  */\n\n/*  */\n\nfunction initEvents (vm) {\n  vm._events = Object.create(null);\n  vm._hasHookEvent = false;\n  // init parent attached events\n  var listeners = vm.$options._parentListeners;\n  if (listeners) {\n    updateComponentListeners(vm, listeners);\n  }\n}\n\nvar target;\n\nfunction add (event, fn) {\n  target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n  target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n  var _target = target;\n  return function onceHandler () {\n    var res = fn.apply(null, arguments);\n    if (res !== null) {\n      _target.$off(event, onceHandler);\n    }\n  }\n}\n\nfunction updateComponentListeners (\n  vm,\n  listeners,\n  oldListeners\n) {\n  target = vm;\n  updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n  target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n  var hookRE = /^hook:/;\n  Vue.prototype.$on = function (event, fn) {\n    var vm = this;\n    if (Array.isArray(event)) {\n      for (var i = 0, l = event.length; i < l; i++) {\n        vm.$on(event[i], fn);\n      }\n    } else {\n      (vm._events[event] || (vm._events[event] = [])).push(fn);\n      // optimize hook:event cost by using a boolean flag marked at registration\n      // instead of a hash lookup\n      if (hookRE.test(event)) {\n        vm._hasHookEvent = true;\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$once = function (event, fn) {\n    var vm = this;\n    function on () {\n      vm.$off(event, on);\n      fn.apply(vm, arguments);\n    }\n    on.fn = fn;\n    vm.$on(event, on);\n    return vm\n  };\n\n  Vue.prototype.$off = function (event, fn) {\n    var vm = this;\n    // all\n    if (!arguments.length) {\n      vm._events = Object.create(null);\n      return vm\n    }\n    // array of events\n    if (Array.isArray(event)) {\n      for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n        vm.$off(event[i$1], fn);\n      }\n      return vm\n    }\n    // specific event\n    var cbs = vm._events[event];\n    if (!cbs) {\n      return vm\n    }\n    if (!fn) {\n      vm._events[event] = null;\n      return vm\n    }\n    // specific handler\n    var cb;\n    var i = cbs.length;\n    while (i--) {\n      cb = cbs[i];\n      if (cb === fn || cb.fn === fn) {\n        cbs.splice(i, 1);\n        break\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$emit = function (event) {\n    var vm = this;\n    if (true) {\n      var lowerCaseEvent = event.toLowerCase();\n      if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n        tip(\n          \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n          (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n          \"Note that HTML attributes are case-insensitive and you cannot use \" +\n          \"v-on to listen to camelCase events when using in-DOM templates. \" +\n          \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n        );\n      }\n    }\n    var cbs = vm._events[event];\n    if (cbs) {\n      cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n      var args = toArray(arguments, 1);\n      var info = \"event handler for \\\"\" + event + \"\\\"\";\n      for (var i = 0, l = cbs.length; i < l; i++) {\n        invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n      }\n    }\n    return vm\n  };\n}\n\n/*  */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n  var prevActiveInstance = activeInstance;\n  activeInstance = vm;\n  return function () {\n    activeInstance = prevActiveInstance;\n  }\n}\n\nfunction initLifecycle (vm) {\n  var options = vm.$options;\n\n  // locate first non-abstract parent\n  var parent = options.parent;\n  if (parent && !options.abstract) {\n    while (parent.$options.abstract && parent.$parent) {\n      parent = parent.$parent;\n    }\n    parent.$children.push(vm);\n  }\n\n  vm.$parent = parent;\n  vm.$root = parent ? parent.$root : vm;\n\n  vm.$children = [];\n  vm.$refs = {};\n\n  vm._watcher = null;\n  vm._inactive = null;\n  vm._directInactive = false;\n  vm._isMounted = false;\n  vm._isDestroyed = false;\n  vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n  Vue.prototype._update = function (vnode, hydrating) {\n    var vm = this;\n    var prevEl = vm.$el;\n    var prevVnode = vm._vnode;\n    var restoreActiveInstance = setActiveInstance(vm);\n    vm._vnode = vnode;\n    // Vue.prototype.__patch__ is injected in entry points\n    // based on the rendering backend used.\n    if (!prevVnode) {\n      // initial render\n      vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n    } else {\n      // updates\n      vm.$el = vm.__patch__(prevVnode, vnode);\n    }\n    restoreActiveInstance();\n    // update __vue__ reference\n    if (prevEl) {\n      prevEl.__vue__ = null;\n    }\n    if (vm.$el) {\n      vm.$el.__vue__ = vm;\n    }\n    // if parent is an HOC, update its $el as well\n    if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n      vm.$parent.$el = vm.$el;\n    }\n    // updated hook is called by the scheduler to ensure that children are\n    // updated in a parent's updated hook.\n  };\n\n  Vue.prototype.$forceUpdate = function () {\n    var vm = this;\n    if (vm._watcher) {\n      vm._watcher.update();\n    }\n  };\n\n  Vue.prototype.$destroy = function () {\n    var vm = this;\n    if (vm._isBeingDestroyed) {\n      return\n    }\n    callHook(vm, 'beforeDestroy');\n    vm._isBeingDestroyed = true;\n    // remove self from parent\n    var parent = vm.$parent;\n    if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n      remove(parent.$children, vm);\n    }\n    // teardown watchers\n    if (vm._watcher) {\n      vm._watcher.teardown();\n    }\n    var i = vm._watchers.length;\n    while (i--) {\n      vm._watchers[i].teardown();\n    }\n    // remove reference from data ob\n    // frozen object may not have observer.\n    if (vm._data.__ob__) {\n      vm._data.__ob__.vmCount--;\n    }\n    // call the last hook...\n    vm._isDestroyed = true;\n    // invoke destroy hooks on current rendered tree\n    vm.__patch__(vm._vnode, null);\n    // fire destroyed hook\n    callHook(vm, 'destroyed');\n    // turn off all instance listeners.\n    vm.$off();\n    // remove __vue__ reference\n    if (vm.$el) {\n      vm.$el.__vue__ = null;\n    }\n    // release circular reference (#6759)\n    if (vm.$vnode) {\n      vm.$vnode.parent = null;\n    }\n  };\n}\n\nfunction mountComponent (\n  vm,\n  el,\n  hydrating\n) {\n  vm.$el = el;\n  if (!vm.$options.render) {\n    vm.$options.render = createEmptyVNode;\n    if (true) {\n      /* istanbul ignore if */\n      if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n        vm.$options.el || el) {\n        warn(\n          'You are using the runtime-only build of Vue where the template ' +\n          'compiler is not available. Either pre-compile the templates into ' +\n          'render functions, or use the compiler-included build.',\n          vm\n        );\n      } else {\n        warn(\n          'Failed to mount component: template or render function not defined.',\n          vm\n        );\n      }\n    }\n  }\n  callHook(vm, 'beforeMount');\n\n  var updateComponent;\n  /* istanbul ignore if */\n  if ( true && config.performance && mark) {\n    updateComponent = function () {\n      var name = vm._name;\n      var id = vm._uid;\n      var startTag = \"vue-perf-start:\" + id;\n      var endTag = \"vue-perf-end:\" + id;\n\n      mark(startTag);\n      var vnode = vm._render();\n      mark(endTag);\n      measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n      mark(startTag);\n      vm._update(vnode, hydrating);\n      mark(endTag);\n      measure((\"vue \" + name + \" patch\"), startTag, endTag);\n    };\n  } else {\n    updateComponent = function () {\n      vm._update(vm._render(), hydrating);\n    };\n  }\n\n  // we set this to vm._watcher inside the watcher's constructor\n  // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n  // component's mounted hook), which relies on vm._watcher being already defined\n  new Watcher(vm, updateComponent, noop, {\n    before: function before () {\n      if (vm._isMounted && !vm._isDestroyed) {\n        callHook(vm, 'beforeUpdate');\n      }\n    }\n  }, true /* isRenderWatcher */);\n  hydrating = false;\n\n  // manually mounted instance, call mounted on self\n  // mounted is called for render-created child components in its inserted hook\n  if (vm.$vnode == null) {\n    vm._isMounted = true;\n    callHook(vm, 'mounted');\n  }\n  return vm\n}\n\nfunction updateChildComponent (\n  vm,\n  propsData,\n  listeners,\n  parentVnode,\n  renderChildren\n) {\n  if (true) {\n    isUpdatingChildComponent = true;\n  }\n\n  // determine whether component has slot children\n  // we need to do this before overwriting $options._renderChildren.\n\n  // check if there are dynamic scopedSlots (hand-written or compiled but with\n  // dynamic slot names). Static scoped slots compiled from template has the\n  // \"$stable\" marker.\n  var newScopedSlots = parentVnode.data.scopedSlots;\n  var oldScopedSlots = vm.$scopedSlots;\n  var hasDynamicScopedSlot = !!(\n    (newScopedSlots && !newScopedSlots.$stable) ||\n    (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n    (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n    (!newScopedSlots && vm.$scopedSlots.$key)\n  );\n\n  // Any static slot children from the parent may have changed during parent's\n  // update. Dynamic scoped slots may also have changed. In such cases, a forced\n  // update is necessary to ensure correctness.\n  var needsForceUpdate = !!(\n    renderChildren ||               // has new static slots\n    vm.$options._renderChildren ||  // has old static slots\n    hasDynamicScopedSlot\n  );\n\n  vm.$options._parentVnode = parentVnode;\n  vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n  if (vm._vnode) { // update child tree's parent\n    vm._vnode.parent = parentVnode;\n  }\n  vm.$options._renderChildren = renderChildren;\n\n  // update $attrs and $listeners hash\n  // these are also reactive so they may trigger child update if the child\n  // used them during render\n  vm.$attrs = parentVnode.data.attrs || emptyObject;\n  vm.$listeners = listeners || emptyObject;\n\n  // update props\n  if (propsData && vm.$options.props) {\n    toggleObserving(false);\n    var props = vm._props;\n    var propKeys = vm.$options._propKeys || [];\n    for (var i = 0; i < propKeys.length; i++) {\n      var key = propKeys[i];\n      var propOptions = vm.$options.props; // wtf flow?\n      props[key] = validateProp(key, propOptions, propsData, vm);\n    }\n    toggleObserving(true);\n    // keep a copy of raw propsData\n    vm.$options.propsData = propsData;\n  }\n\n  // update listeners\n  listeners = listeners || emptyObject;\n  var oldListeners = vm.$options._parentListeners;\n  vm.$options._parentListeners = listeners;\n  updateComponentListeners(vm, listeners, oldListeners);\n\n  // resolve slots + force update if has children\n  if (needsForceUpdate) {\n    vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n    vm.$forceUpdate();\n  }\n\n  if (true) {\n    isUpdatingChildComponent = false;\n  }\n}\n\nfunction isInInactiveTree (vm) {\n  while (vm && (vm = vm.$parent)) {\n    if (vm._inactive) { return true }\n  }\n  return false\n}\n\nfunction activateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = false;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  } else if (vm._directInactive) {\n    return\n  }\n  if (vm._inactive || vm._inactive === null) {\n    vm._inactive = false;\n    for (var i = 0; i < vm.$children.length; i++) {\n      activateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'activated');\n  }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = true;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  }\n  if (!vm._inactive) {\n    vm._inactive = true;\n    for (var i = 0; i < vm.$children.length; i++) {\n      deactivateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'deactivated');\n  }\n}\n\nfunction callHook (vm, hook) {\n  // #7573 disable dep collection when invoking lifecycle hooks\n  pushTarget();\n  var handlers = vm.$options[hook];\n  var info = hook + \" hook\";\n  if (handlers) {\n    for (var i = 0, j = handlers.length; i < j; i++) {\n      invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n    }\n  }\n  if (vm._hasHookEvent) {\n    vm.$emit('hook:' + hook);\n  }\n  popTarget();\n}\n\n/*  */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n  index = queue.length = activatedChildren.length = 0;\n  has = {};\n  if (true) {\n    circular = {};\n  }\n  waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n  var performance = window.performance;\n  if (\n    performance &&\n    typeof performance.now === 'function' &&\n    getNow() > document.createEvent('Event').timeStamp\n  ) {\n    // if the event timestamp, although evaluated AFTER the Date.now(), is\n    // smaller than it, it means the event is using a hi-res timestamp,\n    // and we need to use the hi-res version for event listener timestamps as\n    // well.\n    getNow = function () { return performance.now(); };\n  }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n  currentFlushTimestamp = getNow();\n  flushing = true;\n  var watcher, id;\n\n  // Sort queue before flush.\n  // This ensures that:\n  // 1. Components are updated from parent to child. (because parent is always\n  //    created before the child)\n  // 2. A component's user watchers are run before its render watcher (because\n  //    user watchers are created before the render watcher)\n  // 3. If a component is destroyed during a parent component's watcher run,\n  //    its watchers can be skipped.\n  queue.sort(function (a, b) { return a.id - b.id; });\n\n  // do not cache length because more watchers might be pushed\n  // as we run existing watchers\n  for (index = 0; index < queue.length; index++) {\n    watcher = queue[index];\n    if (watcher.before) {\n      watcher.before();\n    }\n    id = watcher.id;\n    has[id] = null;\n    watcher.run();\n    // in dev build, check and stop circular updates.\n    if ( true && has[id] != null) {\n      circular[id] = (circular[id] || 0) + 1;\n      if (circular[id] > MAX_UPDATE_COUNT) {\n        warn(\n          'You may have an infinite update loop ' + (\n            watcher.user\n              ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n              : \"in a component render function.\"\n          ),\n          watcher.vm\n        );\n        break\n      }\n    }\n  }\n\n  // keep copies of post queues before resetting state\n  var activatedQueue = activatedChildren.slice();\n  var updatedQueue = queue.slice();\n\n  resetSchedulerState();\n\n  // call component updated and activated hooks\n  callActivatedHooks(activatedQueue);\n  callUpdatedHooks(updatedQueue);\n\n  // devtool hook\n  /* istanbul ignore if */\n  if (devtools && config.devtools) {\n    devtools.emit('flush');\n  }\n}\n\nfunction callUpdatedHooks (queue) {\n  var i = queue.length;\n  while (i--) {\n    var watcher = queue[i];\n    var vm = watcher.vm;\n    if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n      callHook(vm, 'updated');\n    }\n  }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n  // setting _inactive to false here so that a render function can\n  // rely on checking whether it's in an inactive tree (e.g. router-view)\n  vm._inactive = false;\n  activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n  for (var i = 0; i < queue.length; i++) {\n    queue[i]._inactive = true;\n    activateChildComponent(queue[i], true /* true */);\n  }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n  var id = watcher.id;\n  if (has[id] == null) {\n    has[id] = true;\n    if (!flushing) {\n      queue.push(watcher);\n    } else {\n      // if already flushing, splice the watcher based on its id\n      // if already past its id, it will be run next immediately.\n      var i = queue.length - 1;\n      while (i > index && queue[i].id > watcher.id) {\n        i--;\n      }\n      queue.splice(i + 1, 0, watcher);\n    }\n    // queue the flush\n    if (!waiting) {\n      waiting = true;\n\n      if ( true && !config.async) {\n        flushSchedulerQueue();\n        return\n      }\n      nextTick(flushSchedulerQueue);\n    }\n  }\n}\n\n/*  */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n  vm,\n  expOrFn,\n  cb,\n  options,\n  isRenderWatcher\n) {\n  this.vm = vm;\n  if (isRenderWatcher) {\n    vm._watcher = this;\n  }\n  vm._watchers.push(this);\n  // options\n  if (options) {\n    this.deep = !!options.deep;\n    this.user = !!options.user;\n    this.lazy = !!options.lazy;\n    this.sync = !!options.sync;\n    this.before = options.before;\n  } else {\n    this.deep = this.user = this.lazy = this.sync = false;\n  }\n  this.cb = cb;\n  this.id = ++uid$2; // uid for batching\n  this.active = true;\n  this.dirty = this.lazy; // for lazy watchers\n  this.deps = [];\n  this.newDeps = [];\n  this.depIds = new _Set();\n  this.newDepIds = new _Set();\n  this.expression =  true\n    ? expOrFn.toString()\n    : undefined;\n  // parse expression for getter\n  if (typeof expOrFn === 'function') {\n    this.getter = expOrFn;\n  } else {\n    this.getter = parsePath(expOrFn);\n    if (!this.getter) {\n      this.getter = noop;\n       true && warn(\n        \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n        'Watcher only accepts simple dot-delimited paths. ' +\n        'For full control, use a function instead.',\n        vm\n      );\n    }\n  }\n  this.value = this.lazy\n    ? undefined\n    : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n  pushTarget(this);\n  var value;\n  var vm = this.vm;\n  try {\n    value = this.getter.call(vm, vm);\n  } catch (e) {\n    if (this.user) {\n      handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n    } else {\n      throw e\n    }\n  } finally {\n    // \"touch\" every property so they are all tracked as\n    // dependencies for deep watching\n    if (this.deep) {\n      traverse(value);\n    }\n    popTarget();\n    this.cleanupDeps();\n  }\n  return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n  var id = dep.id;\n  if (!this.newDepIds.has(id)) {\n    this.newDepIds.add(id);\n    this.newDeps.push(dep);\n    if (!this.depIds.has(id)) {\n      dep.addSub(this);\n    }\n  }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n  var i = this.deps.length;\n  while (i--) {\n    var dep = this.deps[i];\n    if (!this.newDepIds.has(dep.id)) {\n      dep.removeSub(this);\n    }\n  }\n  var tmp = this.depIds;\n  this.depIds = this.newDepIds;\n  this.newDepIds = tmp;\n  this.newDepIds.clear();\n  tmp = this.deps;\n  this.deps = this.newDeps;\n  this.newDeps = tmp;\n  this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n  /* istanbul ignore else */\n  if (this.lazy) {\n    this.dirty = true;\n  } else if (this.sync) {\n    this.run();\n  } else {\n    queueWatcher(this);\n  }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n  if (this.active) {\n    var value = this.get();\n    if (\n      value !== this.value ||\n      // Deep watchers and watchers on Object/Arrays should fire even\n      // when the value is the same, because the value may\n      // have mutated.\n      isObject(value) ||\n      this.deep\n    ) {\n      // set new value\n      var oldValue = this.value;\n      this.value = value;\n      if (this.user) {\n        var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n        invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n      } else {\n        this.cb.call(this.vm, value, oldValue);\n      }\n    }\n  }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n  this.value = this.get();\n  this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n  var i = this.deps.length;\n  while (i--) {\n    this.deps[i].depend();\n  }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n  if (this.active) {\n    // remove self from vm's watcher list\n    // this is a somewhat expensive operation so we skip it\n    // if the vm is being destroyed.\n    if (!this.vm._isBeingDestroyed) {\n      remove(this.vm._watchers, this);\n    }\n    var i = this.deps.length;\n    while (i--) {\n      this.deps[i].removeSub(this);\n    }\n    this.active = false;\n  }\n};\n\n/*  */\n\nvar sharedPropertyDefinition = {\n  enumerable: true,\n  configurable: true,\n  get: noop,\n  set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n  sharedPropertyDefinition.get = function proxyGetter () {\n    return this[sourceKey][key]\n  };\n  sharedPropertyDefinition.set = function proxySetter (val) {\n    this[sourceKey][key] = val;\n  };\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n  vm._watchers = [];\n  var opts = vm.$options;\n  if (opts.props) { initProps(vm, opts.props); }\n  if (opts.methods) { initMethods(vm, opts.methods); }\n  if (opts.data) {\n    initData(vm);\n  } else {\n    observe(vm._data = {}, true /* asRootData */);\n  }\n  if (opts.computed) { initComputed(vm, opts.computed); }\n  if (opts.watch && opts.watch !== nativeWatch) {\n    initWatch(vm, opts.watch);\n  }\n}\n\nfunction initProps (vm, propsOptions) {\n  var propsData = vm.$options.propsData || {};\n  var props = vm._props = {};\n  // cache prop keys so that future props updates can iterate using Array\n  // instead of dynamic object key enumeration.\n  var keys = vm.$options._propKeys = [];\n  var isRoot = !vm.$parent;\n  // root instance props should be converted\n  if (!isRoot) {\n    toggleObserving(false);\n  }\n  var loop = function ( key ) {\n    keys.push(key);\n    var value = validateProp(key, propsOptions, propsData, vm);\n    /* istanbul ignore else */\n    if (true) {\n      var hyphenatedKey = hyphenate(key);\n      if (isReservedAttribute(hyphenatedKey) ||\n          config.isReservedAttr(hyphenatedKey)) {\n        warn(\n          (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n          vm\n        );\n      }\n      defineReactive$$1(props, key, value, function () {\n        if (!isRoot && !isUpdatingChildComponent) {\n          warn(\n            \"Avoid mutating a prop directly since the value will be \" +\n            \"overwritten whenever the parent component re-renders. \" +\n            \"Instead, use a data or computed property based on the prop's \" +\n            \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        }\n      });\n    } else {}\n    // static props are already proxied on the component's prototype\n    // during Vue.extend(). We only need to proxy props defined at\n    // instantiation here.\n    if (!(key in vm)) {\n      proxy(vm, \"_props\", key);\n    }\n  };\n\n  for (var key in propsOptions) loop( key );\n  toggleObserving(true);\n}\n\nfunction initData (vm) {\n  var data = vm.$options.data;\n  data = vm._data = typeof data === 'function'\n    ? getData(data, vm)\n    : data || {};\n  if (!isPlainObject(data)) {\n    data = {};\n     true && warn(\n      'data functions should return an object:\\n' +\n      'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n      vm\n    );\n  }\n  // proxy data on instance\n  var keys = Object.keys(data);\n  var props = vm.$options.props;\n  var methods = vm.$options.methods;\n  var i = keys.length;\n  while (i--) {\n    var key = keys[i];\n    if (true) {\n      if (methods && hasOwn(methods, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n          vm\n        );\n      }\n    }\n    if (props && hasOwn(props, key)) {\n       true && warn(\n        \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n        \"Use prop default value instead.\",\n        vm\n      );\n    } else if (!isReserved(key)) {\n      proxy(vm, \"_data\", key);\n    }\n  }\n  // observe data\n  observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n  // #7573 disable dep collection when invoking data getters\n  pushTarget();\n  try {\n    return data.call(vm, vm)\n  } catch (e) {\n    handleError(e, vm, \"data()\");\n    return {}\n  } finally {\n    popTarget();\n  }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n  // $flow-disable-line\n  var watchers = vm._computedWatchers = Object.create(null);\n  // computed properties are just getters during SSR\n  var isSSR = isServerRendering();\n\n  for (var key in computed) {\n    var userDef = computed[key];\n    var getter = typeof userDef === 'function' ? userDef : userDef.get;\n    if ( true && getter == null) {\n      warn(\n        (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n        vm\n      );\n    }\n\n    if (!isSSR) {\n      // create internal watcher for the computed property.\n      watchers[key] = new Watcher(\n        vm,\n        getter || noop,\n        noop,\n        computedWatcherOptions\n      );\n    }\n\n    // component-defined computed properties are already defined on the\n    // component prototype. We only need to define computed properties defined\n    // at instantiation here.\n    if (!(key in vm)) {\n      defineComputed(vm, key, userDef);\n    } else if (true) {\n      if (key in vm.$data) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n      } else if (vm.$options.props && key in vm.$options.props) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n      } else if (vm.$options.methods && key in vm.$options.methods) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n      }\n    }\n  }\n}\n\nfunction defineComputed (\n  target,\n  key,\n  userDef\n) {\n  var shouldCache = !isServerRendering();\n  if (typeof userDef === 'function') {\n    sharedPropertyDefinition.get = shouldCache\n      ? createComputedGetter(key)\n      : createGetterInvoker(userDef);\n    sharedPropertyDefinition.set = noop;\n  } else {\n    sharedPropertyDefinition.get = userDef.get\n      ? shouldCache && userDef.cache !== false\n        ? createComputedGetter(key)\n        : createGetterInvoker(userDef.get)\n      : noop;\n    sharedPropertyDefinition.set = userDef.set || noop;\n  }\n  if ( true &&\n      sharedPropertyDefinition.set === noop) {\n    sharedPropertyDefinition.set = function () {\n      warn(\n        (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n        this\n      );\n    };\n  }\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n  return function computedGetter () {\n    var watcher = this._computedWatchers && this._computedWatchers[key];\n    if (watcher) {\n      if (watcher.dirty) {\n        watcher.evaluate();\n      }\n      if (Dep.target) {\n        watcher.depend();\n      }\n      return watcher.value\n    }\n  }\n}\n\nfunction createGetterInvoker(fn) {\n  return function computedGetter () {\n    return fn.call(this, this)\n  }\n}\n\nfunction initMethods (vm, methods) {\n  var props = vm.$options.props;\n  for (var key in methods) {\n    if (true) {\n      if (typeof methods[key] !== 'function') {\n        warn(\n          \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n          \"Did you reference the function correctly?\",\n          vm\n        );\n      }\n      if (props && hasOwn(props, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n          vm\n        );\n      }\n      if ((key in vm) && isReserved(key)) {\n        warn(\n          \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n          \"Avoid defining component methods that start with _ or $.\"\n        );\n      }\n    }\n    vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n  }\n}\n\nfunction initWatch (vm, watch) {\n  for (var key in watch) {\n    var handler = watch[key];\n    if (Array.isArray(handler)) {\n      for (var i = 0; i < handler.length; i++) {\n        createWatcher(vm, key, handler[i]);\n      }\n    } else {\n      createWatcher(vm, key, handler);\n    }\n  }\n}\n\nfunction createWatcher (\n  vm,\n  expOrFn,\n  handler,\n  options\n) {\n  if (isPlainObject(handler)) {\n    options = handler;\n    handler = handler.handler;\n  }\n  if (typeof handler === 'string') {\n    handler = vm[handler];\n  }\n  return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n  // flow somehow has problems with directly declared definition object\n  // when using Object.defineProperty, so we have to procedurally build up\n  // the object here.\n  var dataDef = {};\n  dataDef.get = function () { return this._data };\n  var propsDef = {};\n  propsDef.get = function () { return this._props };\n  if (true) {\n    dataDef.set = function () {\n      warn(\n        'Avoid replacing instance root $data. ' +\n        'Use nested data properties instead.',\n        this\n      );\n    };\n    propsDef.set = function () {\n      warn(\"$props is readonly.\", this);\n    };\n  }\n  Object.defineProperty(Vue.prototype, '$data', dataDef);\n  Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n  Vue.prototype.$set = set;\n  Vue.prototype.$delete = del;\n\n  Vue.prototype.$watch = function (\n    expOrFn,\n    cb,\n    options\n  ) {\n    var vm = this;\n    if (isPlainObject(cb)) {\n      return createWatcher(vm, expOrFn, cb, options)\n    }\n    options = options || {};\n    options.user = true;\n    var watcher = new Watcher(vm, expOrFn, cb, options);\n    if (options.immediate) {\n      var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n      pushTarget();\n      invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n      popTarget();\n    }\n    return function unwatchFn () {\n      watcher.teardown();\n    }\n  };\n}\n\n/*  */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n  Vue.prototype._init = function (options) {\n    var vm = this;\n    // a uid\n    vm._uid = uid$3++;\n\n    var startTag, endTag;\n    /* istanbul ignore if */\n    if ( true && config.performance && mark) {\n      startTag = \"vue-perf-start:\" + (vm._uid);\n      endTag = \"vue-perf-end:\" + (vm._uid);\n      mark(startTag);\n    }\n\n    // a flag to avoid this being observed\n    vm._isVue = true;\n    // merge options\n    if (options && options._isComponent) {\n      // optimize internal component instantiation\n      // since dynamic options merging is pretty slow, and none of the\n      // internal component options needs special treatment.\n      initInternalComponent(vm, options);\n    } else {\n      vm.$options = mergeOptions(\n        resolveConstructorOptions(vm.constructor),\n        options || {},\n        vm\n      );\n    }\n    /* istanbul ignore else */\n    if (true) {\n      initProxy(vm);\n    } else {}\n    // expose real self\n    vm._self = vm;\n    initLifecycle(vm);\n    initEvents(vm);\n    initRender(vm);\n    callHook(vm, 'beforeCreate');\n    initInjections(vm); // resolve injections before data/props\n    initState(vm);\n    initProvide(vm); // resolve provide after data/props\n    callHook(vm, 'created');\n\n    /* istanbul ignore if */\n    if ( true && config.performance && mark) {\n      vm._name = formatComponentName(vm, false);\n      mark(endTag);\n      measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n    }\n\n    if (vm.$options.el) {\n      vm.$mount(vm.$options.el);\n    }\n  };\n}\n\nfunction initInternalComponent (vm, options) {\n  var opts = vm.$options = Object.create(vm.constructor.options);\n  // doing this because it's faster than dynamic enumeration.\n  var parentVnode = options._parentVnode;\n  opts.parent = options.parent;\n  opts._parentVnode = parentVnode;\n\n  var vnodeComponentOptions = parentVnode.componentOptions;\n  opts.propsData = vnodeComponentOptions.propsData;\n  opts._parentListeners = vnodeComponentOptions.listeners;\n  opts._renderChildren = vnodeComponentOptions.children;\n  opts._componentTag = vnodeComponentOptions.tag;\n\n  if (options.render) {\n    opts.render = options.render;\n    opts.staticRenderFns = options.staticRenderFns;\n  }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n  var options = Ctor.options;\n  if (Ctor.super) {\n    var superOptions = resolveConstructorOptions(Ctor.super);\n    var cachedSuperOptions = Ctor.superOptions;\n    if (superOptions !== cachedSuperOptions) {\n      // super option changed,\n      // need to resolve new options.\n      Ctor.superOptions = superOptions;\n      // check if there are any late-modified/attached options (#4976)\n      var modifiedOptions = resolveModifiedOptions(Ctor);\n      // update base extend options\n      if (modifiedOptions) {\n        extend(Ctor.extendOptions, modifiedOptions);\n      }\n      options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n      if (options.name) {\n        options.components[options.name] = Ctor;\n      }\n    }\n  }\n  return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n  var modified;\n  var latest = Ctor.options;\n  var sealed = Ctor.sealedOptions;\n  for (var key in latest) {\n    if (latest[key] !== sealed[key]) {\n      if (!modified) { modified = {}; }\n      modified[key] = latest[key];\n    }\n  }\n  return modified\n}\n\nfunction Vue (options) {\n  if ( true &&\n    !(this instanceof Vue)\n  ) {\n    warn('Vue is a constructor and should be called with the `new` keyword');\n  }\n  this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/*  */\n\nfunction initUse (Vue) {\n  Vue.use = function (plugin) {\n    var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n    if (installedPlugins.indexOf(plugin) > -1) {\n      return this\n    }\n\n    // additional parameters\n    var args = toArray(arguments, 1);\n    args.unshift(this);\n    if (typeof plugin.install === 'function') {\n      plugin.install.apply(plugin, args);\n    } else if (typeof plugin === 'function') {\n      plugin.apply(null, args);\n    }\n    installedPlugins.push(plugin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initMixin$1 (Vue) {\n  Vue.mixin = function (mixin) {\n    this.options = mergeOptions(this.options, mixin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initExtend (Vue) {\n  /**\n   * Each instance constructor, including Vue, has a unique\n   * cid. This enables us to create wrapped \"child\n   * constructors\" for prototypal inheritance and cache them.\n   */\n  Vue.cid = 0;\n  var cid = 1;\n\n  /**\n   * Class inheritance\n   */\n  Vue.extend = function (extendOptions) {\n    extendOptions = extendOptions || {};\n    var Super = this;\n    var SuperId = Super.cid;\n    var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n    if (cachedCtors[SuperId]) {\n      return cachedCtors[SuperId]\n    }\n\n    var name = extendOptions.name || Super.options.name;\n    if ( true && name) {\n      validateComponentName(name);\n    }\n\n    var Sub = function VueComponent (options) {\n      this._init(options);\n    };\n    Sub.prototype = Object.create(Super.prototype);\n    Sub.prototype.constructor = Sub;\n    Sub.cid = cid++;\n    Sub.options = mergeOptions(\n      Super.options,\n      extendOptions\n    );\n    Sub['super'] = Super;\n\n    // For props and computed properties, we define the proxy getters on\n    // the Vue instances at extension time, on the extended prototype. This\n    // avoids Object.defineProperty calls for each instance created.\n    if (Sub.options.props) {\n      initProps$1(Sub);\n    }\n    if (Sub.options.computed) {\n      initComputed$1(Sub);\n    }\n\n    // allow further extension/mixin/plugin usage\n    Sub.extend = Super.extend;\n    Sub.mixin = Super.mixin;\n    Sub.use = Super.use;\n\n    // create asset registers, so extended classes\n    // can have their private assets too.\n    ASSET_TYPES.forEach(function (type) {\n      Sub[type] = Super[type];\n    });\n    // enable recursive self-lookup\n    if (name) {\n      Sub.options.components[name] = Sub;\n    }\n\n    // keep a reference to the super options at extension time.\n    // later at instantiation we can check if Super's options have\n    // been updated.\n    Sub.superOptions = Super.options;\n    Sub.extendOptions = extendOptions;\n    Sub.sealedOptions = extend({}, Sub.options);\n\n    // cache constructor\n    cachedCtors[SuperId] = Sub;\n    return Sub\n  };\n}\n\nfunction initProps$1 (Comp) {\n  var props = Comp.options.props;\n  for (var key in props) {\n    proxy(Comp.prototype, \"_props\", key);\n  }\n}\n\nfunction initComputed$1 (Comp) {\n  var computed = Comp.options.computed;\n  for (var key in computed) {\n    defineComputed(Comp.prototype, key, computed[key]);\n  }\n}\n\n/*  */\n\nfunction initAssetRegisters (Vue) {\n  /**\n   * Create asset registration methods.\n   */\n  ASSET_TYPES.forEach(function (type) {\n    Vue[type] = function (\n      id,\n      definition\n    ) {\n      if (!definition) {\n        return this.options[type + 's'][id]\n      } else {\n        /* istanbul ignore if */\n        if ( true && type === 'component') {\n          validateComponentName(id);\n        }\n        if (type === 'component' && isPlainObject(definition)) {\n          definition.name = definition.name || id;\n          definition = this.options._base.extend(definition);\n        }\n        if (type === 'directive' && typeof definition === 'function') {\n          definition = { bind: definition, update: definition };\n        }\n        this.options[type + 's'][id] = definition;\n        return definition\n      }\n    };\n  });\n}\n\n/*  */\n\n\n\n\n\nfunction getComponentName (opts) {\n  return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n  if (Array.isArray(pattern)) {\n    return pattern.indexOf(name) > -1\n  } else if (typeof pattern === 'string') {\n    return pattern.split(',').indexOf(name) > -1\n  } else if (isRegExp(pattern)) {\n    return pattern.test(name)\n  }\n  /* istanbul ignore next */\n  return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n  var cache = keepAliveInstance.cache;\n  var keys = keepAliveInstance.keys;\n  var _vnode = keepAliveInstance._vnode;\n  for (var key in cache) {\n    var entry = cache[key];\n    if (entry) {\n      var name = entry.name;\n      if (name && !filter(name)) {\n        pruneCacheEntry(cache, key, keys, _vnode);\n      }\n    }\n  }\n}\n\nfunction pruneCacheEntry (\n  cache,\n  key,\n  keys,\n  current\n) {\n  var entry = cache[key];\n  if (entry && (!current || entry.tag !== current.tag)) {\n    entry.componentInstance.$destroy();\n  }\n  cache[key] = null;\n  remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n  name: 'keep-alive',\n  abstract: true,\n\n  props: {\n    include: patternTypes,\n    exclude: patternTypes,\n    max: [String, Number]\n  },\n\n  methods: {\n    cacheVNode: function cacheVNode() {\n      var ref = this;\n      var cache = ref.cache;\n      var keys = ref.keys;\n      var vnodeToCache = ref.vnodeToCache;\n      var keyToCache = ref.keyToCache;\n      if (vnodeToCache) {\n        var tag = vnodeToCache.tag;\n        var componentInstance = vnodeToCache.componentInstance;\n        var componentOptions = vnodeToCache.componentOptions;\n        cache[keyToCache] = {\n          name: getComponentName(componentOptions),\n          tag: tag,\n          componentInstance: componentInstance,\n        };\n        keys.push(keyToCache);\n        // prune oldest entry\n        if (this.max && keys.length > parseInt(this.max)) {\n          pruneCacheEntry(cache, keys[0], keys, this._vnode);\n        }\n        this.vnodeToCache = null;\n      }\n    }\n  },\n\n  created: function created () {\n    this.cache = Object.create(null);\n    this.keys = [];\n  },\n\n  destroyed: function destroyed () {\n    for (var key in this.cache) {\n      pruneCacheEntry(this.cache, key, this.keys);\n    }\n  },\n\n  mounted: function mounted () {\n    var this$1 = this;\n\n    this.cacheVNode();\n    this.$watch('include', function (val) {\n      pruneCache(this$1, function (name) { return matches(val, name); });\n    });\n    this.$watch('exclude', function (val) {\n      pruneCache(this$1, function (name) { return !matches(val, name); });\n    });\n  },\n\n  updated: function updated () {\n    this.cacheVNode();\n  },\n\n  render: function render () {\n    var slot = this.$slots.default;\n    var vnode = getFirstComponentChild(slot);\n    var componentOptions = vnode && vnode.componentOptions;\n    if (componentOptions) {\n      // check pattern\n      var name = getComponentName(componentOptions);\n      var ref = this;\n      var include = ref.include;\n      var exclude = ref.exclude;\n      if (\n        // not included\n        (include && (!name || !matches(include, name))) ||\n        // excluded\n        (exclude && name && matches(exclude, name))\n      ) {\n        return vnode\n      }\n\n      var ref$1 = this;\n      var cache = ref$1.cache;\n      var keys = ref$1.keys;\n      var key = vnode.key == null\n        // same constructor may get registered as different local components\n        // so cid alone is not enough (#3269)\n        ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n        : vnode.key;\n      if (cache[key]) {\n        vnode.componentInstance = cache[key].componentInstance;\n        // make current key freshest\n        remove(keys, key);\n        keys.push(key);\n      } else {\n        // delay setting the cache until update\n        this.vnodeToCache = vnode;\n        this.keyToCache = key;\n      }\n\n      vnode.data.keepAlive = true;\n    }\n    return vnode || (slot && slot[0])\n  }\n};\n\nvar builtInComponents = {\n  KeepAlive: KeepAlive\n};\n\n/*  */\n\nfunction initGlobalAPI (Vue) {\n  // config\n  var configDef = {};\n  configDef.get = function () { return config; };\n  if (true) {\n    configDef.set = function () {\n      warn(\n        'Do not replace the Vue.config object, set individual fields instead.'\n      );\n    };\n  }\n  Object.defineProperty(Vue, 'config', configDef);\n\n  // exposed util methods.\n  // NOTE: these are not considered part of the public API - avoid relying on\n  // them unless you are aware of the risk.\n  Vue.util = {\n    warn: warn,\n    extend: extend,\n    mergeOptions: mergeOptions,\n    defineReactive: defineReactive$$1\n  };\n\n  Vue.set = set;\n  Vue.delete = del;\n  Vue.nextTick = nextTick;\n\n  // 2.6 explicit observable API\n  Vue.observable = function (obj) {\n    observe(obj);\n    return obj\n  };\n\n  Vue.options = Object.create(null);\n  ASSET_TYPES.forEach(function (type) {\n    Vue.options[type + 's'] = Object.create(null);\n  });\n\n  // this is used to identify the \"base\" constructor to extend all plain-object\n  // components with in Weex's multi-instance scenarios.\n  Vue.options._base = Vue;\n\n  extend(Vue.options.components, builtInComponents);\n\n  initUse(Vue);\n  initMixin$1(Vue);\n  initExtend(Vue);\n  initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n  get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n  get: function get () {\n    /* istanbul ignore next */\n    return this.$vnode && this.$vnode.ssrContext\n  }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n  value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/*  */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n  return (\n    (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n    (attr === 'selected' && tag === 'option') ||\n    (attr === 'checked' && tag === 'input') ||\n    (attr === 'muted' && tag === 'video')\n  )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n  return isFalsyAttrValue(value) || value === 'false'\n    ? 'false'\n    // allow arbitrary string value for contenteditable\n    : key === 'contenteditable' && isValidContentEditableValue(value)\n      ? value\n      : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n  'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n  'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n  'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n  'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n  'required,reversed,scoped,seamless,selected,sortable,' +\n  'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n  return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n  return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n  return val == null || val === false\n};\n\n/*  */\n\nfunction genClassForVnode (vnode) {\n  var data = vnode.data;\n  var parentNode = vnode;\n  var childNode = vnode;\n  while (isDef(childNode.componentInstance)) {\n    childNode = childNode.componentInstance._vnode;\n    if (childNode && childNode.data) {\n      data = mergeClassData(childNode.data, data);\n    }\n  }\n  while (isDef(parentNode = parentNode.parent)) {\n    if (parentNode && parentNode.data) {\n      data = mergeClassData(data, parentNode.data);\n    }\n  }\n  return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n  return {\n    staticClass: concat(child.staticClass, parent.staticClass),\n    class: isDef(child.class)\n      ? [child.class, parent.class]\n      : parent.class\n  }\n}\n\nfunction renderClass (\n  staticClass,\n  dynamicClass\n) {\n  if (isDef(staticClass) || isDef(dynamicClass)) {\n    return concat(staticClass, stringifyClass(dynamicClass))\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction concat (a, b) {\n  return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n  if (Array.isArray(value)) {\n    return stringifyArray(value)\n  }\n  if (isObject(value)) {\n    return stringifyObject(value)\n  }\n  if (typeof value === 'string') {\n    return value\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction stringifyArray (value) {\n  var res = '';\n  var stringified;\n  for (var i = 0, l = value.length; i < l; i++) {\n    if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n      if (res) { res += ' '; }\n      res += stringified;\n    }\n  }\n  return res\n}\n\nfunction stringifyObject (value) {\n  var res = '';\n  for (var key in value) {\n    if (value[key]) {\n      if (res) { res += ' '; }\n      res += key;\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar namespaceMap = {\n  svg: 'http://www.w3.org/2000/svg',\n  math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n  'html,body,base,head,link,meta,style,title,' +\n  'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n  'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n  'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n  's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n  'embed,object,param,source,canvas,script,noscript,del,ins,' +\n  'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n  'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n  'output,progress,select,textarea,' +\n  'details,dialog,menu,menuitem,summary,' +\n  'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n  'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n  'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n  'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n  true\n);\n\nvar isReservedTag = function (tag) {\n  return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n  if (isSVG(tag)) {\n    return 'svg'\n  }\n  // basic support for MathML\n  // note it doesn't support other MathML elements being component roots\n  if (tag === 'math') {\n    return 'math'\n  }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n  /* istanbul ignore if */\n  if (!inBrowser) {\n    return true\n  }\n  if (isReservedTag(tag)) {\n    return false\n  }\n  tag = tag.toLowerCase();\n  /* istanbul ignore if */\n  if (unknownElementCache[tag] != null) {\n    return unknownElementCache[tag]\n  }\n  var el = document.createElement(tag);\n  if (tag.indexOf('-') > -1) {\n    // http://stackoverflow.com/a/28210364/1070244\n    return (unknownElementCache[tag] = (\n      el.constructor === window.HTMLUnknownElement ||\n      el.constructor === window.HTMLElement\n    ))\n  } else {\n    return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n  }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/*  */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n  if (typeof el === 'string') {\n    var selected = document.querySelector(el);\n    if (!selected) {\n       true && warn(\n        'Cannot find element: ' + el\n      );\n      return document.createElement('div')\n    }\n    return selected\n  } else {\n    return el\n  }\n}\n\n/*  */\n\nfunction createElement$1 (tagName, vnode) {\n  var elm = document.createElement(tagName);\n  if (tagName !== 'select') {\n    return elm\n  }\n  // false or null will remove the attribute but undefined will not\n  if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n    elm.setAttribute('multiple', 'multiple');\n  }\n  return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n  return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n  return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n  return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n  parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n  node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n  node.appendChild(child);\n}\n\nfunction parentNode (node) {\n  return node.parentNode\n}\n\nfunction nextSibling (node) {\n  return node.nextSibling\n}\n\nfunction tagName (node) {\n  return node.tagName\n}\n\nfunction setTextContent (node, text) {\n  node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n  node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n  createElement: createElement$1,\n  createElementNS: createElementNS,\n  createTextNode: createTextNode,\n  createComment: createComment,\n  insertBefore: insertBefore,\n  removeChild: removeChild,\n  appendChild: appendChild,\n  parentNode: parentNode,\n  nextSibling: nextSibling,\n  tagName: tagName,\n  setTextContent: setTextContent,\n  setStyleScope: setStyleScope\n});\n\n/*  */\n\nvar ref = {\n  create: function create (_, vnode) {\n    registerRef(vnode);\n  },\n  update: function update (oldVnode, vnode) {\n    if (oldVnode.data.ref !== vnode.data.ref) {\n      registerRef(oldVnode, true);\n      registerRef(vnode);\n    }\n  },\n  destroy: function destroy (vnode) {\n    registerRef(vnode, true);\n  }\n};\n\nfunction registerRef (vnode, isRemoval) {\n  var key = vnode.data.ref;\n  if (!isDef(key)) { return }\n\n  var vm = vnode.context;\n  var ref = vnode.componentInstance || vnode.elm;\n  var refs = vm.$refs;\n  if (isRemoval) {\n    if (Array.isArray(refs[key])) {\n      remove(refs[key], ref);\n    } else if (refs[key] === ref) {\n      refs[key] = undefined;\n    }\n  } else {\n    if (vnode.data.refInFor) {\n      if (!Array.isArray(refs[key])) {\n        refs[key] = [ref];\n      } else if (refs[key].indexOf(ref) < 0) {\n        // $flow-disable-line\n        refs[key].push(ref);\n      }\n    } else {\n      refs[key] = ref;\n    }\n  }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n  return (\n    a.key === b.key &&\n    a.asyncFactory === b.asyncFactory && (\n      (\n        a.tag === b.tag &&\n        a.isComment === b.isComment &&\n        isDef(a.data) === isDef(b.data) &&\n        sameInputType(a, b)\n      ) || (\n        isTrue(a.isAsyncPlaceholder) &&\n        isUndef(b.asyncFactory.error)\n      )\n    )\n  )\n}\n\nfunction sameInputType (a, b) {\n  if (a.tag !== 'input') { return true }\n  var i;\n  var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n  var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n  return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n  var i, key;\n  var map = {};\n  for (i = beginIdx; i <= endIdx; ++i) {\n    key = children[i].key;\n    if (isDef(key)) { map[key] = i; }\n  }\n  return map\n}\n\nfunction createPatchFunction (backend) {\n  var i, j;\n  var cbs = {};\n\n  var modules = backend.modules;\n  var nodeOps = backend.nodeOps;\n\n  for (i = 0; i < hooks.length; ++i) {\n    cbs[hooks[i]] = [];\n    for (j = 0; j < modules.length; ++j) {\n      if (isDef(modules[j][hooks[i]])) {\n        cbs[hooks[i]].push(modules[j][hooks[i]]);\n      }\n    }\n  }\n\n  function emptyNodeAt (elm) {\n    return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n  }\n\n  function createRmCb (childElm, listeners) {\n    function remove$$1 () {\n      if (--remove$$1.listeners === 0) {\n        removeNode(childElm);\n      }\n    }\n    remove$$1.listeners = listeners;\n    return remove$$1\n  }\n\n  function removeNode (el) {\n    var parent = nodeOps.parentNode(el);\n    // element may have already been removed due to v-html / v-text\n    if (isDef(parent)) {\n      nodeOps.removeChild(parent, el);\n    }\n  }\n\n  function isUnknownElement$$1 (vnode, inVPre) {\n    return (\n      !inVPre &&\n      !vnode.ns &&\n      !(\n        config.ignoredElements.length &&\n        config.ignoredElements.some(function (ignore) {\n          return isRegExp(ignore)\n            ? ignore.test(vnode.tag)\n            : ignore === vnode.tag\n        })\n      ) &&\n      config.isUnknownElement(vnode.tag)\n    )\n  }\n\n  var creatingElmInVPre = 0;\n\n  function createElm (\n    vnode,\n    insertedVnodeQueue,\n    parentElm,\n    refElm,\n    nested,\n    ownerArray,\n    index\n  ) {\n    if (isDef(vnode.elm) && isDef(ownerArray)) {\n      // This vnode was used in a previous render!\n      // now it's used as a new node, overwriting its elm would cause\n      // potential patch errors down the road when it's used as an insertion\n      // reference node. Instead, we clone the node on-demand before creating\n      // associated DOM element for it.\n      vnode = ownerArray[index] = cloneVNode(vnode);\n    }\n\n    vnode.isRootInsert = !nested; // for transition enter check\n    if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n      return\n    }\n\n    var data = vnode.data;\n    var children = vnode.children;\n    var tag = vnode.tag;\n    if (isDef(tag)) {\n      if (true) {\n        if (data && data.pre) {\n          creatingElmInVPre++;\n        }\n        if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n          warn(\n            'Unknown custom element: <' + tag + '> - did you ' +\n            'register the component correctly? For recursive components, ' +\n            'make sure to provide the \"name\" option.',\n            vnode.context\n          );\n        }\n      }\n\n      vnode.elm = vnode.ns\n        ? nodeOps.createElementNS(vnode.ns, tag)\n        : nodeOps.createElement(tag, vnode);\n      setScope(vnode);\n\n      /* istanbul ignore if */\n      {\n        createChildren(vnode, children, insertedVnodeQueue);\n        if (isDef(data)) {\n          invokeCreateHooks(vnode, insertedVnodeQueue);\n        }\n        insert(parentElm, vnode.elm, refElm);\n      }\n\n      if ( true && data && data.pre) {\n        creatingElmInVPre--;\n      }\n    } else if (isTrue(vnode.isComment)) {\n      vnode.elm = nodeOps.createComment(vnode.text);\n      insert(parentElm, vnode.elm, refElm);\n    } else {\n      vnode.elm = nodeOps.createTextNode(vnode.text);\n      insert(parentElm, vnode.elm, refElm);\n    }\n  }\n\n  function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n    var i = vnode.data;\n    if (isDef(i)) {\n      var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n      if (isDef(i = i.hook) && isDef(i = i.init)) {\n        i(vnode, false /* hydrating */);\n      }\n      // after calling the init hook, if the vnode is a child component\n      // it should've created a child instance and mounted it. the child\n      // component also has set the placeholder vnode's elm.\n      // in that case we can just return the element and be done.\n      if (isDef(vnode.componentInstance)) {\n        initComponent(vnode, insertedVnodeQueue);\n        insert(parentElm, vnode.elm, refElm);\n        if (isTrue(isReactivated)) {\n          reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n        }\n        return true\n      }\n    }\n  }\n\n  function initComponent (vnode, insertedVnodeQueue) {\n    if (isDef(vnode.data.pendingInsert)) {\n      insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n      vnode.data.pendingInsert = null;\n    }\n    vnode.elm = vnode.componentInstance.$el;\n    if (isPatchable(vnode)) {\n      invokeCreateHooks(vnode, insertedVnodeQueue);\n      setScope(vnode);\n    } else {\n      // empty component root.\n      // skip all element-related modules except for ref (#3455)\n      registerRef(vnode);\n      // make sure to invoke the insert hook\n      insertedVnodeQueue.push(vnode);\n    }\n  }\n\n  function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n    var i;\n    // hack for #4339: a reactivated component with inner transition\n    // does not trigger because the inner node's created hooks are not called\n    // again. It's not ideal to involve module-specific logic in here but\n    // there doesn't seem to be a better way to do it.\n    var innerNode = vnode;\n    while (innerNode.componentInstance) {\n      innerNode = innerNode.componentInstance._vnode;\n      if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n        for (i = 0; i < cbs.activate.length; ++i) {\n          cbs.activate[i](emptyNode, innerNode);\n        }\n        insertedVnodeQueue.push(innerNode);\n        break\n      }\n    }\n    // unlike a newly created component,\n    // a reactivated keep-alive component doesn't insert itself\n    insert(parentElm, vnode.elm, refElm);\n  }\n\n  function insert (parent, elm, ref$$1) {\n    if (isDef(parent)) {\n      if (isDef(ref$$1)) {\n        if (nodeOps.parentNode(ref$$1) === parent) {\n          nodeOps.insertBefore(parent, elm, ref$$1);\n        }\n      } else {\n        nodeOps.appendChild(parent, elm);\n      }\n    }\n  }\n\n  function createChildren (vnode, children, insertedVnodeQueue) {\n    if (Array.isArray(children)) {\n      if (true) {\n        checkDuplicateKeys(children);\n      }\n      for (var i = 0; i < children.length; ++i) {\n        createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n      }\n    } else if (isPrimitive(vnode.text)) {\n      nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n    }\n  }\n\n  function isPatchable (vnode) {\n    while (vnode.componentInstance) {\n      vnode = vnode.componentInstance._vnode;\n    }\n    return isDef(vnode.tag)\n  }\n\n  function invokeCreateHooks (vnode, insertedVnodeQueue) {\n    for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n      cbs.create[i$1](emptyNode, vnode);\n    }\n    i = vnode.data.hook; // Reuse variable\n    if (isDef(i)) {\n      if (isDef(i.create)) { i.create(emptyNode, vnode); }\n      if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n    }\n  }\n\n  // set scope id attribute for scoped CSS.\n  // this is implemented as a special case to avoid the overhead\n  // of going through the normal attribute patching process.\n  function setScope (vnode) {\n    var i;\n    if (isDef(i = vnode.fnScopeId)) {\n      nodeOps.setStyleScope(vnode.elm, i);\n    } else {\n      var ancestor = vnode;\n      while (ancestor) {\n        if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n          nodeOps.setStyleScope(vnode.elm, i);\n        }\n        ancestor = ancestor.parent;\n      }\n    }\n    // for slot content they should also get the scopeId from the host instance.\n    if (isDef(i = activeInstance) &&\n      i !== vnode.context &&\n      i !== vnode.fnContext &&\n      isDef(i = i.$options._scopeId)\n    ) {\n      nodeOps.setStyleScope(vnode.elm, i);\n    }\n  }\n\n  function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n    for (; startIdx <= endIdx; ++startIdx) {\n      createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n    }\n  }\n\n  function invokeDestroyHook (vnode) {\n    var i, j;\n    var data = vnode.data;\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n      for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n    }\n    if (isDef(i = vnode.children)) {\n      for (j = 0; j < vnode.children.length; ++j) {\n        invokeDestroyHook(vnode.children[j]);\n      }\n    }\n  }\n\n  function removeVnodes (vnodes, startIdx, endIdx) {\n    for (; startIdx <= endIdx; ++startIdx) {\n      var ch = vnodes[startIdx];\n      if (isDef(ch)) {\n        if (isDef(ch.tag)) {\n          removeAndInvokeRemoveHook(ch);\n          invokeDestroyHook(ch);\n        } else { // Text node\n          removeNode(ch.elm);\n        }\n      }\n    }\n  }\n\n  function removeAndInvokeRemoveHook (vnode, rm) {\n    if (isDef(rm) || isDef(vnode.data)) {\n      var i;\n      var listeners = cbs.remove.length + 1;\n      if (isDef(rm)) {\n        // we have a recursively passed down rm callback\n        // increase the listeners count\n        rm.listeners += listeners;\n      } else {\n        // directly removing\n        rm = createRmCb(vnode.elm, listeners);\n      }\n      // recursively invoke hooks on child component root node\n      if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n        removeAndInvokeRemoveHook(i, rm);\n      }\n      for (i = 0; i < cbs.remove.length; ++i) {\n        cbs.remove[i](vnode, rm);\n      }\n      if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n        i(vnode, rm);\n      } else {\n        rm();\n      }\n    } else {\n      removeNode(vnode.elm);\n    }\n  }\n\n  function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n    var oldStartIdx = 0;\n    var newStartIdx = 0;\n    var oldEndIdx = oldCh.length - 1;\n    var oldStartVnode = oldCh[0];\n    var oldEndVnode = oldCh[oldEndIdx];\n    var newEndIdx = newCh.length - 1;\n    var newStartVnode = newCh[0];\n    var newEndVnode = newCh[newEndIdx];\n    var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n    // removeOnly is a special flag used only by <transition-group>\n    // to ensure removed elements stay in correct relative positions\n    // during leaving transitions\n    var canMove = !removeOnly;\n\n    if (true) {\n      checkDuplicateKeys(newCh);\n    }\n\n    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n      if (isUndef(oldStartVnode)) {\n        oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n      } else if (isUndef(oldEndVnode)) {\n        oldEndVnode = oldCh[--oldEndIdx];\n      } else if (sameVnode(oldStartVnode, newStartVnode)) {\n        patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n        oldStartVnode = oldCh[++oldStartIdx];\n        newStartVnode = newCh[++newStartIdx];\n      } else if (sameVnode(oldEndVnode, newEndVnode)) {\n        patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n        oldEndVnode = oldCh[--oldEndIdx];\n        newEndVnode = newCh[--newEndIdx];\n      } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n        patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n        canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n        oldStartVnode = oldCh[++oldStartIdx];\n        newEndVnode = newCh[--newEndIdx];\n      } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n        patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n        canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n        oldEndVnode = oldCh[--oldEndIdx];\n        newStartVnode = newCh[++newStartIdx];\n      } else {\n        if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n        idxInOld = isDef(newStartVnode.key)\n          ? oldKeyToIdx[newStartVnode.key]\n          : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n        if (isUndef(idxInOld)) { // New element\n          createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n        } else {\n          vnodeToMove = oldCh[idxInOld];\n          if (sameVnode(vnodeToMove, newStartVnode)) {\n            patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n            oldCh[idxInOld] = undefined;\n            canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n          } else {\n            // same key but different element. treat as new element\n            createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n          }\n        }\n        newStartVnode = newCh[++newStartIdx];\n      }\n    }\n    if (oldStartIdx > oldEndIdx) {\n      refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n      addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n    } else if (newStartIdx > newEndIdx) {\n      removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n    }\n  }\n\n  function checkDuplicateKeys (children) {\n    var seenKeys = {};\n    for (var i = 0; i < children.length; i++) {\n      var vnode = children[i];\n      var key = vnode.key;\n      if (isDef(key)) {\n        if (seenKeys[key]) {\n          warn(\n            (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n            vnode.context\n          );\n        } else {\n          seenKeys[key] = true;\n        }\n      }\n    }\n  }\n\n  function findIdxInOld (node, oldCh, start, end) {\n    for (var i = start; i < end; i++) {\n      var c = oldCh[i];\n      if (isDef(c) && sameVnode(node, c)) { return i }\n    }\n  }\n\n  function patchVnode (\n    oldVnode,\n    vnode,\n    insertedVnodeQueue,\n    ownerArray,\n    index,\n    removeOnly\n  ) {\n    if (oldVnode === vnode) {\n      return\n    }\n\n    if (isDef(vnode.elm) && isDef(ownerArray)) {\n      // clone reused vnode\n      vnode = ownerArray[index] = cloneVNode(vnode);\n    }\n\n    var elm = vnode.elm = oldVnode.elm;\n\n    if (isTrue(oldVnode.isAsyncPlaceholder)) {\n      if (isDef(vnode.asyncFactory.resolved)) {\n        hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n      } else {\n        vnode.isAsyncPlaceholder = true;\n      }\n      return\n    }\n\n    // reuse element for static trees.\n    // note we only do this if the vnode is cloned -\n    // if the new node is not cloned it means the render functions have been\n    // reset by the hot-reload-api and we need to do a proper re-render.\n    if (isTrue(vnode.isStatic) &&\n      isTrue(oldVnode.isStatic) &&\n      vnode.key === oldVnode.key &&\n      (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n    ) {\n      vnode.componentInstance = oldVnode.componentInstance;\n      return\n    }\n\n    var i;\n    var data = vnode.data;\n    if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n      i(oldVnode, vnode);\n    }\n\n    var oldCh = oldVnode.children;\n    var ch = vnode.children;\n    if (isDef(data) && isPatchable(vnode)) {\n      for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n      if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n    }\n    if (isUndef(vnode.text)) {\n      if (isDef(oldCh) && isDef(ch)) {\n        if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n      } else if (isDef(ch)) {\n        if (true) {\n          checkDuplicateKeys(ch);\n        }\n        if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n        addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n      } else if (isDef(oldCh)) {\n        removeVnodes(oldCh, 0, oldCh.length - 1);\n      } else if (isDef(oldVnode.text)) {\n        nodeOps.setTextContent(elm, '');\n      }\n    } else if (oldVnode.text !== vnode.text) {\n      nodeOps.setTextContent(elm, vnode.text);\n    }\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n    }\n  }\n\n  function invokeInsertHook (vnode, queue, initial) {\n    // delay insert hooks for component root nodes, invoke them after the\n    // element is really inserted\n    if (isTrue(initial) && isDef(vnode.parent)) {\n      vnode.parent.data.pendingInsert = queue;\n    } else {\n      for (var i = 0; i < queue.length; ++i) {\n        queue[i].data.hook.insert(queue[i]);\n      }\n    }\n  }\n\n  var hydrationBailed = false;\n  // list of modules that can skip create hook during hydration because they\n  // are already rendered on the client or has no need for initialization\n  // Note: style is excluded because it relies on initial clone for future\n  // deep updates (#7063).\n  var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n  // Note: this is a browser-only function so we can assume elms are DOM nodes.\n  function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n    var i;\n    var tag = vnode.tag;\n    var data = vnode.data;\n    var children = vnode.children;\n    inVPre = inVPre || (data && data.pre);\n    vnode.elm = elm;\n\n    if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n      vnode.isAsyncPlaceholder = true;\n      return true\n    }\n    // assert node match\n    if (true) {\n      if (!assertNodeMatch(elm, vnode, inVPre)) {\n        return false\n      }\n    }\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n      if (isDef(i = vnode.componentInstance)) {\n        // child component. it should have hydrated its own tree.\n        initComponent(vnode, insertedVnodeQueue);\n        return true\n      }\n    }\n    if (isDef(tag)) {\n      if (isDef(children)) {\n        // empty element, allow client to pick up and populate children\n        if (!elm.hasChildNodes()) {\n          createChildren(vnode, children, insertedVnodeQueue);\n        } else {\n          // v-html and domProps: innerHTML\n          if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n            if (i !== elm.innerHTML) {\n              /* istanbul ignore if */\n              if ( true &&\n                typeof console !== 'undefined' &&\n                !hydrationBailed\n              ) {\n                hydrationBailed = true;\n                console.warn('Parent: ', elm);\n                console.warn('server innerHTML: ', i);\n                console.warn('client innerHTML: ', elm.innerHTML);\n              }\n              return false\n            }\n          } else {\n            // iterate and compare children lists\n            var childrenMatch = true;\n            var childNode = elm.firstChild;\n            for (var i$1 = 0; i$1 < children.length; i$1++) {\n              if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n                childrenMatch = false;\n                break\n              }\n              childNode = childNode.nextSibling;\n            }\n            // if childNode is not null, it means the actual childNodes list is\n            // longer than the virtual children list.\n            if (!childrenMatch || childNode) {\n              /* istanbul ignore if */\n              if ( true &&\n                typeof console !== 'undefined' &&\n                !hydrationBailed\n              ) {\n                hydrationBailed = true;\n                console.warn('Parent: ', elm);\n                console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n              }\n              return false\n            }\n          }\n        }\n      }\n      if (isDef(data)) {\n        var fullInvoke = false;\n        for (var key in data) {\n          if (!isRenderedModule(key)) {\n            fullInvoke = true;\n            invokeCreateHooks(vnode, insertedVnodeQueue);\n            break\n          }\n        }\n        if (!fullInvoke && data['class']) {\n          // ensure collecting deps for deep class bindings for future updates\n          traverse(data['class']);\n        }\n      }\n    } else if (elm.data !== vnode.text) {\n      elm.data = vnode.text;\n    }\n    return true\n  }\n\n  function assertNodeMatch (node, vnode, inVPre) {\n    if (isDef(vnode.tag)) {\n      return vnode.tag.indexOf('vue-component') === 0 || (\n        !isUnknownElement$$1(vnode, inVPre) &&\n        vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n      )\n    } else {\n      return node.nodeType === (vnode.isComment ? 8 : 3)\n    }\n  }\n\n  return function patch (oldVnode, vnode, hydrating, removeOnly) {\n    if (isUndef(vnode)) {\n      if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n      return\n    }\n\n    var isInitialPatch = false;\n    var insertedVnodeQueue = [];\n\n    if (isUndef(oldVnode)) {\n      // empty mount (likely as component), create new root element\n      isInitialPatch = true;\n      createElm(vnode, insertedVnodeQueue);\n    } else {\n      var isRealElement = isDef(oldVnode.nodeType);\n      if (!isRealElement && sameVnode(oldVnode, vnode)) {\n        // patch existing root node\n        patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n      } else {\n        if (isRealElement) {\n          // mounting to a real element\n          // check if this is server-rendered content and if we can perform\n          // a successful hydration.\n          if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n            oldVnode.removeAttribute(SSR_ATTR);\n            hydrating = true;\n          }\n          if (isTrue(hydrating)) {\n            if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n              invokeInsertHook(vnode, insertedVnodeQueue, true);\n              return oldVnode\n            } else if (true) {\n              warn(\n                'The client-side rendered virtual DOM tree is not matching ' +\n                'server-rendered content. This is likely caused by incorrect ' +\n                'HTML markup, for example nesting block-level elements inside ' +\n                '<p>, or missing <tbody>. Bailing hydration and performing ' +\n                'full client-side render.'\n              );\n            }\n          }\n          // either not server-rendered, or hydration failed.\n          // create an empty node and replace it\n          oldVnode = emptyNodeAt(oldVnode);\n        }\n\n        // replacing existing element\n        var oldElm = oldVnode.elm;\n        var parentElm = nodeOps.parentNode(oldElm);\n\n        // create new node\n        createElm(\n          vnode,\n          insertedVnodeQueue,\n          // extremely rare edge case: do not insert if old element is in a\n          // leaving transition. Only happens when combining transition +\n          // keep-alive + HOCs. (#4590)\n          oldElm._leaveCb ? null : parentElm,\n          nodeOps.nextSibling(oldElm)\n        );\n\n        // update parent placeholder node element, recursively\n        if (isDef(vnode.parent)) {\n          var ancestor = vnode.parent;\n          var patchable = isPatchable(vnode);\n          while (ancestor) {\n            for (var i = 0; i < cbs.destroy.length; ++i) {\n              cbs.destroy[i](ancestor);\n            }\n            ancestor.elm = vnode.elm;\n            if (patchable) {\n              for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n                cbs.create[i$1](emptyNode, ancestor);\n              }\n              // #6513\n              // invoke insert hooks that may have been merged by create hooks.\n              // e.g. for directives that uses the \"inserted\" hook.\n              var insert = ancestor.data.hook.insert;\n              if (insert.merged) {\n                // start at index 1 to avoid re-invoking component mounted hook\n                for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n                  insert.fns[i$2]();\n                }\n              }\n            } else {\n              registerRef(ancestor);\n            }\n            ancestor = ancestor.parent;\n          }\n        }\n\n        // destroy old node\n        if (isDef(parentElm)) {\n          removeVnodes([oldVnode], 0, 0);\n        } else if (isDef(oldVnode.tag)) {\n          invokeDestroyHook(oldVnode);\n        }\n      }\n    }\n\n    invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n    return vnode.elm\n  }\n}\n\n/*  */\n\nvar directives = {\n  create: updateDirectives,\n  update: updateDirectives,\n  destroy: function unbindDirectives (vnode) {\n    updateDirectives(vnode, emptyNode);\n  }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n  if (oldVnode.data.directives || vnode.data.directives) {\n    _update(oldVnode, vnode);\n  }\n}\n\nfunction _update (oldVnode, vnode) {\n  var isCreate = oldVnode === emptyNode;\n  var isDestroy = vnode === emptyNode;\n  var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n  var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n  var dirsWithInsert = [];\n  var dirsWithPostpatch = [];\n\n  var key, oldDir, dir;\n  for (key in newDirs) {\n    oldDir = oldDirs[key];\n    dir = newDirs[key];\n    if (!oldDir) {\n      // new directive, bind\n      callHook$1(dir, 'bind', vnode, oldVnode);\n      if (dir.def && dir.def.inserted) {\n        dirsWithInsert.push(dir);\n      }\n    } else {\n      // existing directive, update\n      dir.oldValue = oldDir.value;\n      dir.oldArg = oldDir.arg;\n      callHook$1(dir, 'update', vnode, oldVnode);\n      if (dir.def && dir.def.componentUpdated) {\n        dirsWithPostpatch.push(dir);\n      }\n    }\n  }\n\n  if (dirsWithInsert.length) {\n    var callInsert = function () {\n      for (var i = 0; i < dirsWithInsert.length; i++) {\n        callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n      }\n    };\n    if (isCreate) {\n      mergeVNodeHook(vnode, 'insert', callInsert);\n    } else {\n      callInsert();\n    }\n  }\n\n  if (dirsWithPostpatch.length) {\n    mergeVNodeHook(vnode, 'postpatch', function () {\n      for (var i = 0; i < dirsWithPostpatch.length; i++) {\n        callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n      }\n    });\n  }\n\n  if (!isCreate) {\n    for (key in oldDirs) {\n      if (!newDirs[key]) {\n        // no longer present, unbind\n        callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n      }\n    }\n  }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n  dirs,\n  vm\n) {\n  var res = Object.create(null);\n  if (!dirs) {\n    // $flow-disable-line\n    return res\n  }\n  var i, dir;\n  for (i = 0; i < dirs.length; i++) {\n    dir = dirs[i];\n    if (!dir.modifiers) {\n      // $flow-disable-line\n      dir.modifiers = emptyModifiers;\n    }\n    res[getRawDirName(dir)] = dir;\n    dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n  }\n  // $flow-disable-line\n  return res\n}\n\nfunction getRawDirName (dir) {\n  return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n  var fn = dir.def && dir.def[hook];\n  if (fn) {\n    try {\n      fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n    } catch (e) {\n      handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n    }\n  }\n}\n\nvar baseModules = [\n  ref,\n  directives\n];\n\n/*  */\n\nfunction updateAttrs (oldVnode, vnode) {\n  var opts = vnode.componentOptions;\n  if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n    return\n  }\n  if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n    return\n  }\n  var key, cur, old;\n  var elm = vnode.elm;\n  var oldAttrs = oldVnode.data.attrs || {};\n  var attrs = vnode.data.attrs || {};\n  // clone observed objects, as the user probably wants to mutate it\n  if (isDef(attrs.__ob__)) {\n    attrs = vnode.data.attrs = extend({}, attrs);\n  }\n\n  for (key in attrs) {\n    cur = attrs[key];\n    old = oldAttrs[key];\n    if (old !== cur) {\n      setAttr(elm, key, cur, vnode.data.pre);\n    }\n  }\n  // #4391: in IE9, setting type can reset value for input[type=radio]\n  // #6666: IE/Edge forces progress value down to 1 before setting a max\n  /* istanbul ignore if */\n  if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n    setAttr(elm, 'value', attrs.value);\n  }\n  for (key in oldAttrs) {\n    if (isUndef(attrs[key])) {\n      if (isXlink(key)) {\n        elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n      } else if (!isEnumeratedAttr(key)) {\n        elm.removeAttribute(key);\n      }\n    }\n  }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n  if (isInPre || el.tagName.indexOf('-') > -1) {\n    baseSetAttr(el, key, value);\n  } else if (isBooleanAttr(key)) {\n    // set attribute for blank value\n    // e.g. <option disabled>Select one</option>\n    if (isFalsyAttrValue(value)) {\n      el.removeAttribute(key);\n    } else {\n      // technically allowfullscreen is a boolean attribute for <iframe>,\n      // but Flash expects a value of \"true\" when used on <embed> tag\n      value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n        ? 'true'\n        : key;\n      el.setAttribute(key, value);\n    }\n  } else if (isEnumeratedAttr(key)) {\n    el.setAttribute(key, convertEnumeratedValue(key, value));\n  } else if (isXlink(key)) {\n    if (isFalsyAttrValue(value)) {\n      el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n    } else {\n      el.setAttributeNS(xlinkNS, key, value);\n    }\n  } else {\n    baseSetAttr(el, key, value);\n  }\n}\n\nfunction baseSetAttr (el, key, value) {\n  if (isFalsyAttrValue(value)) {\n    el.removeAttribute(key);\n  } else {\n    // #7138: IE10 & 11 fires input event when setting placeholder on\n    // <textarea>... block the first input event and remove the blocker\n    // immediately.\n    /* istanbul ignore if */\n    if (\n      isIE && !isIE9 &&\n      el.tagName === 'TEXTAREA' &&\n      key === 'placeholder' && value !== '' && !el.__ieph\n    ) {\n      var blocker = function (e) {\n        e.stopImmediatePropagation();\n        el.removeEventListener('input', blocker);\n      };\n      el.addEventListener('input', blocker);\n      // $flow-disable-line\n      el.__ieph = true; /* IE placeholder patched */\n    }\n    el.setAttribute(key, value);\n  }\n}\n\nvar attrs = {\n  create: updateAttrs,\n  update: updateAttrs\n};\n\n/*  */\n\nfunction updateClass (oldVnode, vnode) {\n  var el = vnode.elm;\n  var data = vnode.data;\n  var oldData = oldVnode.data;\n  if (\n    isUndef(data.staticClass) &&\n    isUndef(data.class) && (\n      isUndef(oldData) || (\n        isUndef(oldData.staticClass) &&\n        isUndef(oldData.class)\n      )\n    )\n  ) {\n    return\n  }\n\n  var cls = genClassForVnode(vnode);\n\n  // handle transition classes\n  var transitionClass = el._transitionClasses;\n  if (isDef(transitionClass)) {\n    cls = concat(cls, stringifyClass(transitionClass));\n  }\n\n  // set the class\n  if (cls !== el._prevClass) {\n    el.setAttribute('class', cls);\n    el._prevClass = cls;\n  }\n}\n\nvar klass = {\n  create: updateClass,\n  update: updateClass\n};\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/*  */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n  /* istanbul ignore if */\n  if (isDef(on[RANGE_TOKEN])) {\n    // IE input[type=range] only supports `change` event\n    var event = isIE ? 'change' : 'input';\n    on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n    delete on[RANGE_TOKEN];\n  }\n  // This was originally intended to fix #4521 but no longer necessary\n  // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n  /* istanbul ignore if */\n  if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n    on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n    delete on[CHECKBOX_RADIO_TOKEN];\n  }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n  var _target = target$1; // save current target element in closure\n  return function onceHandler () {\n    var res = handler.apply(null, arguments);\n    if (res !== null) {\n      remove$2(event, onceHandler, capture, _target);\n    }\n  }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n  name,\n  handler,\n  capture,\n  passive\n) {\n  // async edge case #6566: inner click event triggers patch, event handler\n  // attached to outer element during patch, and triggered again. This\n  // happens because browsers fire microtask ticks between event propagation.\n  // the solution is simple: we save the timestamp when a handler is attached,\n  // and the handler would only fire if the event passed to it was fired\n  // AFTER it was attached.\n  if (useMicrotaskFix) {\n    var attachedTimestamp = currentFlushTimestamp;\n    var original = handler;\n    handler = original._wrapper = function (e) {\n      if (\n        // no bubbling, should always fire.\n        // this is just a safety net in case event.timeStamp is unreliable in\n        // certain weird environments...\n        e.target === e.currentTarget ||\n        // event is fired after handler attachment\n        e.timeStamp >= attachedTimestamp ||\n        // bail for environments that have buggy event.timeStamp implementations\n        // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n        // #9681 QtWebEngine event.timeStamp is negative value\n        e.timeStamp <= 0 ||\n        // #9448 bail if event is fired in another document in a multi-page\n        // electron/nw.js app, since event.timeStamp will be using a different\n        // starting reference\n        e.target.ownerDocument !== document\n      ) {\n        return original.apply(this, arguments)\n      }\n    };\n  }\n  target$1.addEventListener(\n    name,\n    handler,\n    supportsPassive\n      ? { capture: capture, passive: passive }\n      : capture\n  );\n}\n\nfunction remove$2 (\n  name,\n  handler,\n  capture,\n  _target\n) {\n  (_target || target$1).removeEventListener(\n    name,\n    handler._wrapper || handler,\n    capture\n  );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n  if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n    return\n  }\n  var on = vnode.data.on || {};\n  var oldOn = oldVnode.data.on || {};\n  target$1 = vnode.elm;\n  normalizeEvents(on);\n  updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n  target$1 = undefined;\n}\n\nvar events = {\n  create: updateDOMListeners,\n  update: updateDOMListeners\n};\n\n/*  */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n  if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n    return\n  }\n  var key, cur;\n  var elm = vnode.elm;\n  var oldProps = oldVnode.data.domProps || {};\n  var props = vnode.data.domProps || {};\n  // clone observed objects, as the user probably wants to mutate it\n  if (isDef(props.__ob__)) {\n    props = vnode.data.domProps = extend({}, props);\n  }\n\n  for (key in oldProps) {\n    if (!(key in props)) {\n      elm[key] = '';\n    }\n  }\n\n  for (key in props) {\n    cur = props[key];\n    // ignore children if the node has textContent or innerHTML,\n    // as these will throw away existing DOM nodes and cause removal errors\n    // on subsequent patches (#3360)\n    if (key === 'textContent' || key === 'innerHTML') {\n      if (vnode.children) { vnode.children.length = 0; }\n      if (cur === oldProps[key]) { continue }\n      // #6601 work around Chrome version <= 55 bug where single textNode\n      // replaced by innerHTML/textContent retains its parentNode property\n      if (elm.childNodes.length === 1) {\n        elm.removeChild(elm.childNodes[0]);\n      }\n    }\n\n    if (key === 'value' && elm.tagName !== 'PROGRESS') {\n      // store value as _value as well since\n      // non-string values will be stringified\n      elm._value = cur;\n      // avoid resetting cursor position when value is the same\n      var strCur = isUndef(cur) ? '' : String(cur);\n      if (shouldUpdateValue(elm, strCur)) {\n        elm.value = strCur;\n      }\n    } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n      // IE doesn't support innerHTML for SVG elements\n      svgContainer = svgContainer || document.createElement('div');\n      svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n      var svg = svgContainer.firstChild;\n      while (elm.firstChild) {\n        elm.removeChild(elm.firstChild);\n      }\n      while (svg.firstChild) {\n        elm.appendChild(svg.firstChild);\n      }\n    } else if (\n      // skip the update if old and new VDOM state is the same.\n      // `value` is handled separately because the DOM value may be temporarily\n      // out of sync with VDOM state due to focus, composition and modifiers.\n      // This  #4521 by skipping the unnecessary `checked` update.\n      cur !== oldProps[key]\n    ) {\n      // some property updates can throw\n      // e.g. `value` on <progress> w/ non-finite value\n      try {\n        elm[key] = cur;\n      } catch (e) {}\n    }\n  }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n  return (!elm.composing && (\n    elm.tagName === 'OPTION' ||\n    isNotInFocusAndDirty(elm, checkVal) ||\n    isDirtyWithModifiers(elm, checkVal)\n  ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n  // return true when textbox (.number and .trim) loses focus and its value is\n  // not equal to the updated value\n  var notInFocus = true;\n  // #6157\n  // work around IE bug when accessing document.activeElement in an iframe\n  try { notInFocus = document.activeElement !== elm; } catch (e) {}\n  return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n  var value = elm.value;\n  var modifiers = elm._vModifiers; // injected by v-model runtime\n  if (isDef(modifiers)) {\n    if (modifiers.number) {\n      return toNumber(value) !== toNumber(newVal)\n    }\n    if (modifiers.trim) {\n      return value.trim() !== newVal.trim()\n    }\n  }\n  return value !== newVal\n}\n\nvar domProps = {\n  create: updateDOMProps,\n  update: updateDOMProps\n};\n\n/*  */\n\nvar parseStyleText = cached(function (cssText) {\n  var res = {};\n  var listDelimiter = /;(?![^(]*\\))/g;\n  var propertyDelimiter = /:(.+)/;\n  cssText.split(listDelimiter).forEach(function (item) {\n    if (item) {\n      var tmp = item.split(propertyDelimiter);\n      tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n    }\n  });\n  return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n  var style = normalizeStyleBinding(data.style);\n  // static style is pre-processed into an object during compilation\n  // and is always a fresh object, so it's safe to merge into it\n  return data.staticStyle\n    ? extend(data.staticStyle, style)\n    : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n  if (Array.isArray(bindingStyle)) {\n    return toObject(bindingStyle)\n  }\n  if (typeof bindingStyle === 'string') {\n    return parseStyleText(bindingStyle)\n  }\n  return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n  var res = {};\n  var styleData;\n\n  if (checkChild) {\n    var childNode = vnode;\n    while (childNode.componentInstance) {\n      childNode = childNode.componentInstance._vnode;\n      if (\n        childNode && childNode.data &&\n        (styleData = normalizeStyleData(childNode.data))\n      ) {\n        extend(res, styleData);\n      }\n    }\n  }\n\n  if ((styleData = normalizeStyleData(vnode.data))) {\n    extend(res, styleData);\n  }\n\n  var parentNode = vnode;\n  while ((parentNode = parentNode.parent)) {\n    if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n      extend(res, styleData);\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n  /* istanbul ignore if */\n  if (cssVarRE.test(name)) {\n    el.style.setProperty(name, val);\n  } else if (importantRE.test(val)) {\n    el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n  } else {\n    var normalizedName = normalize(name);\n    if (Array.isArray(val)) {\n      // Support values array created by autoprefixer, e.g.\n      // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n      // Set them one by one, and the browser will only set those it can recognize\n      for (var i = 0, len = val.length; i < len; i++) {\n        el.style[normalizedName] = val[i];\n      }\n    } else {\n      el.style[normalizedName] = val;\n    }\n  }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n  emptyStyle = emptyStyle || document.createElement('div').style;\n  prop = camelize(prop);\n  if (prop !== 'filter' && (prop in emptyStyle)) {\n    return prop\n  }\n  var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n  for (var i = 0; i < vendorNames.length; i++) {\n    var name = vendorNames[i] + capName;\n    if (name in emptyStyle) {\n      return name\n    }\n  }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n  var data = vnode.data;\n  var oldData = oldVnode.data;\n\n  if (isUndef(data.staticStyle) && isUndef(data.style) &&\n    isUndef(oldData.staticStyle) && isUndef(oldData.style)\n  ) {\n    return\n  }\n\n  var cur, name;\n  var el = vnode.elm;\n  var oldStaticStyle = oldData.staticStyle;\n  var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n  // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n  var oldStyle = oldStaticStyle || oldStyleBinding;\n\n  var style = normalizeStyleBinding(vnode.data.style) || {};\n\n  // store normalized style under a different key for next diff\n  // make sure to clone it if it's reactive, since the user likely wants\n  // to mutate it.\n  vnode.data.normalizedStyle = isDef(style.__ob__)\n    ? extend({}, style)\n    : style;\n\n  var newStyle = getStyle(vnode, true);\n\n  for (name in oldStyle) {\n    if (isUndef(newStyle[name])) {\n      setProp(el, name, '');\n    }\n  }\n  for (name in newStyle) {\n    cur = newStyle[name];\n    if (cur !== oldStyle[name]) {\n      // ie9 setting to null has no effect, must use empty string\n      setProp(el, name, cur == null ? '' : cur);\n    }\n  }\n}\n\nvar style = {\n  create: updateStyle,\n  update: updateStyle\n};\n\n/*  */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n  /* istanbul ignore if */\n  if (!cls || !(cls = cls.trim())) {\n    return\n  }\n\n  /* istanbul ignore else */\n  if (el.classList) {\n    if (cls.indexOf(' ') > -1) {\n      cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n    } else {\n      el.classList.add(cls);\n    }\n  } else {\n    var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n    if (cur.indexOf(' ' + cls + ' ') < 0) {\n      el.setAttribute('class', (cur + cls).trim());\n    }\n  }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n  /* istanbul ignore if */\n  if (!cls || !(cls = cls.trim())) {\n    return\n  }\n\n  /* istanbul ignore else */\n  if (el.classList) {\n    if (cls.indexOf(' ') > -1) {\n      cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n    } else {\n      el.classList.remove(cls);\n    }\n    if (!el.classList.length) {\n      el.removeAttribute('class');\n    }\n  } else {\n    var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n    var tar = ' ' + cls + ' ';\n    while (cur.indexOf(tar) >= 0) {\n      cur = cur.replace(tar, ' ');\n    }\n    cur = cur.trim();\n    if (cur) {\n      el.setAttribute('class', cur);\n    } else {\n      el.removeAttribute('class');\n    }\n  }\n}\n\n/*  */\n\nfunction resolveTransition (def$$1) {\n  if (!def$$1) {\n    return\n  }\n  /* istanbul ignore else */\n  if (typeof def$$1 === 'object') {\n    var res = {};\n    if (def$$1.css !== false) {\n      extend(res, autoCssTransition(def$$1.name || 'v'));\n    }\n    extend(res, def$$1);\n    return res\n  } else if (typeof def$$1 === 'string') {\n    return autoCssTransition(def$$1)\n  }\n}\n\nvar autoCssTransition = cached(function (name) {\n  return {\n    enterClass: (name + \"-enter\"),\n    enterToClass: (name + \"-enter-to\"),\n    enterActiveClass: (name + \"-enter-active\"),\n    leaveClass: (name + \"-leave\"),\n    leaveToClass: (name + \"-leave-to\"),\n    leaveActiveClass: (name + \"-leave-active\")\n  }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n  /* istanbul ignore if */\n  if (window.ontransitionend === undefined &&\n    window.onwebkittransitionend !== undefined\n  ) {\n    transitionProp = 'WebkitTransition';\n    transitionEndEvent = 'webkitTransitionEnd';\n  }\n  if (window.onanimationend === undefined &&\n    window.onwebkitanimationend !== undefined\n  ) {\n    animationProp = 'WebkitAnimation';\n    animationEndEvent = 'webkitAnimationEnd';\n  }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n  ? window.requestAnimationFrame\n    ? window.requestAnimationFrame.bind(window)\n    : setTimeout\n  : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n  raf(function () {\n    raf(fn);\n  });\n}\n\nfunction addTransitionClass (el, cls) {\n  var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n  if (transitionClasses.indexOf(cls) < 0) {\n    transitionClasses.push(cls);\n    addClass(el, cls);\n  }\n}\n\nfunction removeTransitionClass (el, cls) {\n  if (el._transitionClasses) {\n    remove(el._transitionClasses, cls);\n  }\n  removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n  el,\n  expectedType,\n  cb\n) {\n  var ref = getTransitionInfo(el, expectedType);\n  var type = ref.type;\n  var timeout = ref.timeout;\n  var propCount = ref.propCount;\n  if (!type) { return cb() }\n  var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n  var ended = 0;\n  var end = function () {\n    el.removeEventListener(event, onEnd);\n    cb();\n  };\n  var onEnd = function (e) {\n    if (e.target === el) {\n      if (++ended >= propCount) {\n        end();\n      }\n    }\n  };\n  setTimeout(function () {\n    if (ended < propCount) {\n      end();\n    }\n  }, timeout + 1);\n  el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n  var styles = window.getComputedStyle(el);\n  // JSDOM may return undefined for transition properties\n  var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n  var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n  var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n  var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n  var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n  var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n  var type;\n  var timeout = 0;\n  var propCount = 0;\n  /* istanbul ignore if */\n  if (expectedType === TRANSITION) {\n    if (transitionTimeout > 0) {\n      type = TRANSITION;\n      timeout = transitionTimeout;\n      propCount = transitionDurations.length;\n    }\n  } else if (expectedType === ANIMATION) {\n    if (animationTimeout > 0) {\n      type = ANIMATION;\n      timeout = animationTimeout;\n      propCount = animationDurations.length;\n    }\n  } else {\n    timeout = Math.max(transitionTimeout, animationTimeout);\n    type = timeout > 0\n      ? transitionTimeout > animationTimeout\n        ? TRANSITION\n        : ANIMATION\n      : null;\n    propCount = type\n      ? type === TRANSITION\n        ? transitionDurations.length\n        : animationDurations.length\n      : 0;\n  }\n  var hasTransform =\n    type === TRANSITION &&\n    transformRE.test(styles[transitionProp + 'Property']);\n  return {\n    type: type,\n    timeout: timeout,\n    propCount: propCount,\n    hasTransform: hasTransform\n  }\n}\n\nfunction getTimeout (delays, durations) {\n  /* istanbul ignore next */\n  while (delays.length < durations.length) {\n    delays = delays.concat(delays);\n  }\n\n  return Math.max.apply(null, durations.map(function (d, i) {\n    return toMs(d) + toMs(delays[i])\n  }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n  return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/*  */\n\nfunction enter (vnode, toggleDisplay) {\n  var el = vnode.elm;\n\n  // call leave callback now\n  if (isDef(el._leaveCb)) {\n    el._leaveCb.cancelled = true;\n    el._leaveCb();\n  }\n\n  var data = resolveTransition(vnode.data.transition);\n  if (isUndef(data)) {\n    return\n  }\n\n  /* istanbul ignore if */\n  if (isDef(el._enterCb) || el.nodeType !== 1) {\n    return\n  }\n\n  var css = data.css;\n  var type = data.type;\n  var enterClass = data.enterClass;\n  var enterToClass = data.enterToClass;\n  var enterActiveClass = data.enterActiveClass;\n  var appearClass = data.appearClass;\n  var appearToClass = data.appearToClass;\n  var appearActiveClass = data.appearActiveClass;\n  var beforeEnter = data.beforeEnter;\n  var enter = data.enter;\n  var afterEnter = data.afterEnter;\n  var enterCancelled = data.enterCancelled;\n  var beforeAppear = data.beforeAppear;\n  var appear = data.appear;\n  var afterAppear = data.afterAppear;\n  var appearCancelled = data.appearCancelled;\n  var duration = data.duration;\n\n  // activeInstance will always be the <transition> component managing this\n  // transition. One edge case to check is when the <transition> is placed\n  // as the root node of a child component. In that case we need to check\n  // <transition>'s parent for appear check.\n  var context = activeInstance;\n  var transitionNode = activeInstance.$vnode;\n  while (transitionNode && transitionNode.parent) {\n    context = transitionNode.context;\n    transitionNode = transitionNode.parent;\n  }\n\n  var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n  if (isAppear && !appear && appear !== '') {\n    return\n  }\n\n  var startClass = isAppear && appearClass\n    ? appearClass\n    : enterClass;\n  var activeClass = isAppear && appearActiveClass\n    ? appearActiveClass\n    : enterActiveClass;\n  var toClass = isAppear && appearToClass\n    ? appearToClass\n    : enterToClass;\n\n  var beforeEnterHook = isAppear\n    ? (beforeAppear || beforeEnter)\n    : beforeEnter;\n  var enterHook = isAppear\n    ? (typeof appear === 'function' ? appear : enter)\n    : enter;\n  var afterEnterHook = isAppear\n    ? (afterAppear || afterEnter)\n    : afterEnter;\n  var enterCancelledHook = isAppear\n    ? (appearCancelled || enterCancelled)\n    : enterCancelled;\n\n  var explicitEnterDuration = toNumber(\n    isObject(duration)\n      ? duration.enter\n      : duration\n  );\n\n  if ( true && explicitEnterDuration != null) {\n    checkDuration(explicitEnterDuration, 'enter', vnode);\n  }\n\n  var expectsCSS = css !== false && !isIE9;\n  var userWantsControl = getHookArgumentsLength(enterHook);\n\n  var cb = el._enterCb = once(function () {\n    if (expectsCSS) {\n      removeTransitionClass(el, toClass);\n      removeTransitionClass(el, activeClass);\n    }\n    if (cb.cancelled) {\n      if (expectsCSS) {\n        removeTransitionClass(el, startClass);\n      }\n      enterCancelledHook && enterCancelledHook(el);\n    } else {\n      afterEnterHook && afterEnterHook(el);\n    }\n    el._enterCb = null;\n  });\n\n  if (!vnode.data.show) {\n    // remove pending leave element on enter by injecting an insert hook\n    mergeVNodeHook(vnode, 'insert', function () {\n      var parent = el.parentNode;\n      var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n      if (pendingNode &&\n        pendingNode.tag === vnode.tag &&\n        pendingNode.elm._leaveCb\n      ) {\n        pendingNode.elm._leaveCb();\n      }\n      enterHook && enterHook(el, cb);\n    });\n  }\n\n  // start enter transition\n  beforeEnterHook && beforeEnterHook(el);\n  if (expectsCSS) {\n    addTransitionClass(el, startClass);\n    addTransitionClass(el, activeClass);\n    nextFrame(function () {\n      removeTransitionClass(el, startClass);\n      if (!cb.cancelled) {\n        addTransitionClass(el, toClass);\n        if (!userWantsControl) {\n          if (isValidDuration(explicitEnterDuration)) {\n            setTimeout(cb, explicitEnterDuration);\n          } else {\n            whenTransitionEnds(el, type, cb);\n          }\n        }\n      }\n    });\n  }\n\n  if (vnode.data.show) {\n    toggleDisplay && toggleDisplay();\n    enterHook && enterHook(el, cb);\n  }\n\n  if (!expectsCSS && !userWantsControl) {\n    cb();\n  }\n}\n\nfunction leave (vnode, rm) {\n  var el = vnode.elm;\n\n  // call enter callback now\n  if (isDef(el._enterCb)) {\n    el._enterCb.cancelled = true;\n    el._enterCb();\n  }\n\n  var data = resolveTransition(vnode.data.transition);\n  if (isUndef(data) || el.nodeType !== 1) {\n    return rm()\n  }\n\n  /* istanbul ignore if */\n  if (isDef(el._leaveCb)) {\n    return\n  }\n\n  var css = data.css;\n  var type = data.type;\n  var leaveClass = data.leaveClass;\n  var leaveToClass = data.leaveToClass;\n  var leaveActiveClass = data.leaveActiveClass;\n  var beforeLeave = data.beforeLeave;\n  var leave = data.leave;\n  var afterLeave = data.afterLeave;\n  var leaveCancelled = data.leaveCancelled;\n  var delayLeave = data.delayLeave;\n  var duration = data.duration;\n\n  var expectsCSS = css !== false && !isIE9;\n  var userWantsControl = getHookArgumentsLength(leave);\n\n  var explicitLeaveDuration = toNumber(\n    isObject(duration)\n      ? duration.leave\n      : duration\n  );\n\n  if ( true && isDef(explicitLeaveDuration)) {\n    checkDuration(explicitLeaveDuration, 'leave', vnode);\n  }\n\n  var cb = el._leaveCb = once(function () {\n    if (el.parentNode && el.parentNode._pending) {\n      el.parentNode._pending[vnode.key] = null;\n    }\n    if (expectsCSS) {\n      removeTransitionClass(el, leaveToClass);\n      removeTransitionClass(el, leaveActiveClass);\n    }\n    if (cb.cancelled) {\n      if (expectsCSS) {\n        removeTransitionClass(el, leaveClass);\n      }\n      leaveCancelled && leaveCancelled(el);\n    } else {\n      rm();\n      afterLeave && afterLeave(el);\n    }\n    el._leaveCb = null;\n  });\n\n  if (delayLeave) {\n    delayLeave(performLeave);\n  } else {\n    performLeave();\n  }\n\n  function performLeave () {\n    // the delayed leave may have already been cancelled\n    if (cb.cancelled) {\n      return\n    }\n    // record leaving element\n    if (!vnode.data.show && el.parentNode) {\n      (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n    }\n    beforeLeave && beforeLeave(el);\n    if (expectsCSS) {\n      addTransitionClass(el, leaveClass);\n      addTransitionClass(el, leaveActiveClass);\n      nextFrame(function () {\n        removeTransitionClass(el, leaveClass);\n        if (!cb.cancelled) {\n          addTransitionClass(el, leaveToClass);\n          if (!userWantsControl) {\n            if (isValidDuration(explicitLeaveDuration)) {\n              setTimeout(cb, explicitLeaveDuration);\n            } else {\n              whenTransitionEnds(el, type, cb);\n            }\n          }\n        }\n      });\n    }\n    leave && leave(el, cb);\n    if (!expectsCSS && !userWantsControl) {\n      cb();\n    }\n  }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n  if (typeof val !== 'number') {\n    warn(\n      \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n      \"got \" + (JSON.stringify(val)) + \".\",\n      vnode.context\n    );\n  } else if (isNaN(val)) {\n    warn(\n      \"<transition> explicit \" + name + \" duration is NaN - \" +\n      'the duration expression might be incorrect.',\n      vnode.context\n    );\n  }\n}\n\nfunction isValidDuration (val) {\n  return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n  if (isUndef(fn)) {\n    return false\n  }\n  var invokerFns = fn.fns;\n  if (isDef(invokerFns)) {\n    // invoker\n    return getHookArgumentsLength(\n      Array.isArray(invokerFns)\n        ? invokerFns[0]\n        : invokerFns\n    )\n  } else {\n    return (fn._length || fn.length) > 1\n  }\n}\n\nfunction _enter (_, vnode) {\n  if (vnode.data.show !== true) {\n    enter(vnode);\n  }\n}\n\nvar transition = inBrowser ? {\n  create: _enter,\n  activate: _enter,\n  remove: function remove$$1 (vnode, rm) {\n    /* istanbul ignore else */\n    if (vnode.data.show !== true) {\n      leave(vnode, rm);\n    } else {\n      rm();\n    }\n  }\n} : {};\n\nvar platformModules = [\n  attrs,\n  klass,\n  events,\n  domProps,\n  style,\n  transition\n];\n\n/*  */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n  // http://www.matts411.com/post/internet-explorer-9-oninput/\n  document.addEventListener('selectionchange', function () {\n    var el = document.activeElement;\n    if (el && el.vmodel) {\n      trigger(el, 'input');\n    }\n  });\n}\n\nvar directive = {\n  inserted: function inserted (el, binding, vnode, oldVnode) {\n    if (vnode.tag === 'select') {\n      // #6903\n      if (oldVnode.elm && !oldVnode.elm._vOptions) {\n        mergeVNodeHook(vnode, 'postpatch', function () {\n          directive.componentUpdated(el, binding, vnode);\n        });\n      } else {\n        setSelected(el, binding, vnode.context);\n      }\n      el._vOptions = [].map.call(el.options, getValue);\n    } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n      el._vModifiers = binding.modifiers;\n      if (!binding.modifiers.lazy) {\n        el.addEventListener('compositionstart', onCompositionStart);\n        el.addEventListener('compositionend', onCompositionEnd);\n        // Safari < 10.2 & UIWebView doesn't fire compositionend when\n        // switching focus before confirming composition choice\n        // this also fixes the issue where some browsers e.g. iOS Chrome\n        // fires \"change\" instead of \"input\" on autocomplete.\n        el.addEventListener('change', onCompositionEnd);\n        /* istanbul ignore if */\n        if (isIE9) {\n          el.vmodel = true;\n        }\n      }\n    }\n  },\n\n  componentUpdated: function componentUpdated (el, binding, vnode) {\n    if (vnode.tag === 'select') {\n      setSelected(el, binding, vnode.context);\n      // in case the options rendered by v-for have changed,\n      // it's possible that the value is out-of-sync with the rendered options.\n      // detect such cases and filter out values that no longer has a matching\n      // option in the DOM.\n      var prevOptions = el._vOptions;\n      var curOptions = el._vOptions = [].map.call(el.options, getValue);\n      if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n        // trigger change event if\n        // no matching option found for at least one value\n        var needReset = el.multiple\n          ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n          : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n        if (needReset) {\n          trigger(el, 'change');\n        }\n      }\n    }\n  }\n};\n\nfunction setSelected (el, binding, vm) {\n  actuallySetSelected(el, binding, vm);\n  /* istanbul ignore if */\n  if (isIE || isEdge) {\n    setTimeout(function () {\n      actuallySetSelected(el, binding, vm);\n    }, 0);\n  }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n  var value = binding.value;\n  var isMultiple = el.multiple;\n  if (isMultiple && !Array.isArray(value)) {\n     true && warn(\n      \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n      \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n      vm\n    );\n    return\n  }\n  var selected, option;\n  for (var i = 0, l = el.options.length; i < l; i++) {\n    option = el.options[i];\n    if (isMultiple) {\n      selected = looseIndexOf(value, getValue(option)) > -1;\n      if (option.selected !== selected) {\n        option.selected = selected;\n      }\n    } else {\n      if (looseEqual(getValue(option), value)) {\n        if (el.selectedIndex !== i) {\n          el.selectedIndex = i;\n        }\n        return\n      }\n    }\n  }\n  if (!isMultiple) {\n    el.selectedIndex = -1;\n  }\n}\n\nfunction hasNoMatchingOption (value, options) {\n  return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n  return '_value' in option\n    ? option._value\n    : option.value\n}\n\nfunction onCompositionStart (e) {\n  e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n  // prevent triggering an input event for no reason\n  if (!e.target.composing) { return }\n  e.target.composing = false;\n  trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n  var e = document.createEvent('HTMLEvents');\n  e.initEvent(type, true, true);\n  el.dispatchEvent(e);\n}\n\n/*  */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n  return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n    ? locateNode(vnode.componentInstance._vnode)\n    : vnode\n}\n\nvar show = {\n  bind: function bind (el, ref, vnode) {\n    var value = ref.value;\n\n    vnode = locateNode(vnode);\n    var transition$$1 = vnode.data && vnode.data.transition;\n    var originalDisplay = el.__vOriginalDisplay =\n      el.style.display === 'none' ? '' : el.style.display;\n    if (value && transition$$1) {\n      vnode.data.show = true;\n      enter(vnode, function () {\n        el.style.display = originalDisplay;\n      });\n    } else {\n      el.style.display = value ? originalDisplay : 'none';\n    }\n  },\n\n  update: function update (el, ref, vnode) {\n    var value = ref.value;\n    var oldValue = ref.oldValue;\n\n    /* istanbul ignore if */\n    if (!value === !oldValue) { return }\n    vnode = locateNode(vnode);\n    var transition$$1 = vnode.data && vnode.data.transition;\n    if (transition$$1) {\n      vnode.data.show = true;\n      if (value) {\n        enter(vnode, function () {\n          el.style.display = el.__vOriginalDisplay;\n        });\n      } else {\n        leave(vnode, function () {\n          el.style.display = 'none';\n        });\n      }\n    } else {\n      el.style.display = value ? el.__vOriginalDisplay : 'none';\n    }\n  },\n\n  unbind: function unbind (\n    el,\n    binding,\n    vnode,\n    oldVnode,\n    isDestroy\n  ) {\n    if (!isDestroy) {\n      el.style.display = el.__vOriginalDisplay;\n    }\n  }\n};\n\nvar platformDirectives = {\n  model: directive,\n  show: show\n};\n\n/*  */\n\nvar transitionProps = {\n  name: String,\n  appear: Boolean,\n  css: Boolean,\n  mode: String,\n  type: String,\n  enterClass: String,\n  leaveClass: String,\n  enterToClass: String,\n  leaveToClass: String,\n  enterActiveClass: String,\n  leaveActiveClass: String,\n  appearClass: String,\n  appearActiveClass: String,\n  appearToClass: String,\n  duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n  var compOptions = vnode && vnode.componentOptions;\n  if (compOptions && compOptions.Ctor.options.abstract) {\n    return getRealChild(getFirstComponentChild(compOptions.children))\n  } else {\n    return vnode\n  }\n}\n\nfunction extractTransitionData (comp) {\n  var data = {};\n  var options = comp.$options;\n  // props\n  for (var key in options.propsData) {\n    data[key] = comp[key];\n  }\n  // events.\n  // extract listeners and pass them directly to the transition methods\n  var listeners = options._parentListeners;\n  for (var key$1 in listeners) {\n    data[camelize(key$1)] = listeners[key$1];\n  }\n  return data\n}\n\nfunction placeholder (h, rawChild) {\n  if (/\\d-keep-alive$/.test(rawChild.tag)) {\n    return h('keep-alive', {\n      props: rawChild.componentOptions.propsData\n    })\n  }\n}\n\nfunction hasParentTransition (vnode) {\n  while ((vnode = vnode.parent)) {\n    if (vnode.data.transition) {\n      return true\n    }\n  }\n}\n\nfunction isSameChild (child, oldChild) {\n  return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n  name: 'transition',\n  props: transitionProps,\n  abstract: true,\n\n  render: function render (h) {\n    var this$1 = this;\n\n    var children = this.$slots.default;\n    if (!children) {\n      return\n    }\n\n    // filter out text nodes (possible whitespaces)\n    children = children.filter(isNotTextNode);\n    /* istanbul ignore if */\n    if (!children.length) {\n      return\n    }\n\n    // warn multiple elements\n    if ( true && children.length > 1) {\n      warn(\n        '<transition> can only be used on a single element. Use ' +\n        '<transition-group> for lists.',\n        this.$parent\n      );\n    }\n\n    var mode = this.mode;\n\n    // warn invalid mode\n    if ( true &&\n      mode && mode !== 'in-out' && mode !== 'out-in'\n    ) {\n      warn(\n        'invalid <transition> mode: ' + mode,\n        this.$parent\n      );\n    }\n\n    var rawChild = children[0];\n\n    // if this is a component root node and the component's\n    // parent container node also has transition, skip.\n    if (hasParentTransition(this.$vnode)) {\n      return rawChild\n    }\n\n    // apply transition data to child\n    // use getRealChild() to ignore abstract components e.g. keep-alive\n    var child = getRealChild(rawChild);\n    /* istanbul ignore if */\n    if (!child) {\n      return rawChild\n    }\n\n    if (this._leaving) {\n      return placeholder(h, rawChild)\n    }\n\n    // ensure a key that is unique to the vnode type and to this transition\n    // component instance. This key will be used to remove pending leaving nodes\n    // during entering.\n    var id = \"__transition-\" + (this._uid) + \"-\";\n    child.key = child.key == null\n      ? child.isComment\n        ? id + 'comment'\n        : id + child.tag\n      : isPrimitive(child.key)\n        ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n        : child.key;\n\n    var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n    var oldRawChild = this._vnode;\n    var oldChild = getRealChild(oldRawChild);\n\n    // mark v-show\n    // so that the transition module can hand over the control to the directive\n    if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n      child.data.show = true;\n    }\n\n    if (\n      oldChild &&\n      oldChild.data &&\n      !isSameChild(child, oldChild) &&\n      !isAsyncPlaceholder(oldChild) &&\n      // #6687 component root is a comment node\n      !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n    ) {\n      // replace old child transition data with fresh one\n      // important for dynamic transitions!\n      var oldData = oldChild.data.transition = extend({}, data);\n      // handle transition mode\n      if (mode === 'out-in') {\n        // return placeholder node and queue update when leave finishes\n        this._leaving = true;\n        mergeVNodeHook(oldData, 'afterLeave', function () {\n          this$1._leaving = false;\n          this$1.$forceUpdate();\n        });\n        return placeholder(h, rawChild)\n      } else if (mode === 'in-out') {\n        if (isAsyncPlaceholder(child)) {\n          return oldRawChild\n        }\n        var delayedLeave;\n        var performLeave = function () { delayedLeave(); };\n        mergeVNodeHook(data, 'afterEnter', performLeave);\n        mergeVNodeHook(data, 'enterCancelled', performLeave);\n        mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n      }\n    }\n\n    return rawChild\n  }\n};\n\n/*  */\n\nvar props = extend({\n  tag: String,\n  moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n  props: props,\n\n  beforeMount: function beforeMount () {\n    var this$1 = this;\n\n    var update = this._update;\n    this._update = function (vnode, hydrating) {\n      var restoreActiveInstance = setActiveInstance(this$1);\n      // force removing pass\n      this$1.__patch__(\n        this$1._vnode,\n        this$1.kept,\n        false, // hydrating\n        true // removeOnly (!important, avoids unnecessary moves)\n      );\n      this$1._vnode = this$1.kept;\n      restoreActiveInstance();\n      update.call(this$1, vnode, hydrating);\n    };\n  },\n\n  render: function render (h) {\n    var tag = this.tag || this.$vnode.data.tag || 'span';\n    var map = Object.create(null);\n    var prevChildren = this.prevChildren = this.children;\n    var rawChildren = this.$slots.default || [];\n    var children = this.children = [];\n    var transitionData = extractTransitionData(this);\n\n    for (var i = 0; i < rawChildren.length; i++) {\n      var c = rawChildren[i];\n      if (c.tag) {\n        if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n          children.push(c);\n          map[c.key] = c\n          ;(c.data || (c.data = {})).transition = transitionData;\n        } else if (true) {\n          var opts = c.componentOptions;\n          var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n          warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n        }\n      }\n    }\n\n    if (prevChildren) {\n      var kept = [];\n      var removed = [];\n      for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n        var c$1 = prevChildren[i$1];\n        c$1.data.transition = transitionData;\n        c$1.data.pos = c$1.elm.getBoundingClientRect();\n        if (map[c$1.key]) {\n          kept.push(c$1);\n        } else {\n          removed.push(c$1);\n        }\n      }\n      this.kept = h(tag, null, kept);\n      this.removed = removed;\n    }\n\n    return h(tag, null, children)\n  },\n\n  updated: function updated () {\n    var children = this.prevChildren;\n    var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n    if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n      return\n    }\n\n    // we divide the work into three loops to avoid mixing DOM reads and writes\n    // in each iteration - which helps prevent layout thrashing.\n    children.forEach(callPendingCbs);\n    children.forEach(recordPosition);\n    children.forEach(applyTranslation);\n\n    // force reflow to put everything in position\n    // assign to this to avoid being removed in tree-shaking\n    // $flow-disable-line\n    this._reflow = document.body.offsetHeight;\n\n    children.forEach(function (c) {\n      if (c.data.moved) {\n        var el = c.elm;\n        var s = el.style;\n        addTransitionClass(el, moveClass);\n        s.transform = s.WebkitTransform = s.transitionDuration = '';\n        el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n          if (e && e.target !== el) {\n            return\n          }\n          if (!e || /transform$/.test(e.propertyName)) {\n            el.removeEventListener(transitionEndEvent, cb);\n            el._moveCb = null;\n            removeTransitionClass(el, moveClass);\n          }\n        });\n      }\n    });\n  },\n\n  methods: {\n    hasMove: function hasMove (el, moveClass) {\n      /* istanbul ignore if */\n      if (!hasTransition) {\n        return false\n      }\n      /* istanbul ignore if */\n      if (this._hasMove) {\n        return this._hasMove\n      }\n      // Detect whether an element with the move class applied has\n      // CSS transitions. Since the element may be inside an entering\n      // transition at this very moment, we make a clone of it and remove\n      // all other transition classes applied to ensure only the move class\n      // is applied.\n      var clone = el.cloneNode();\n      if (el._transitionClasses) {\n        el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n      }\n      addClass(clone, moveClass);\n      clone.style.display = 'none';\n      this.$el.appendChild(clone);\n      var info = getTransitionInfo(clone);\n      this.$el.removeChild(clone);\n      return (this._hasMove = info.hasTransform)\n    }\n  }\n};\n\nfunction callPendingCbs (c) {\n  /* istanbul ignore if */\n  if (c.elm._moveCb) {\n    c.elm._moveCb();\n  }\n  /* istanbul ignore if */\n  if (c.elm._enterCb) {\n    c.elm._enterCb();\n  }\n}\n\nfunction recordPosition (c) {\n  c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n  var oldPos = c.data.pos;\n  var newPos = c.data.newPos;\n  var dx = oldPos.left - newPos.left;\n  var dy = oldPos.top - newPos.top;\n  if (dx || dy) {\n    c.data.moved = true;\n    var s = c.elm.style;\n    s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n    s.transitionDuration = '0s';\n  }\n}\n\nvar platformComponents = {\n  Transition: Transition,\n  TransitionGroup: TransitionGroup\n};\n\n/*  */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n  el,\n  hydrating\n) {\n  el = el && inBrowser ? query(el) : undefined;\n  return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n  setTimeout(function () {\n    if (config.devtools) {\n      if (devtools) {\n        devtools.emit('init', Vue);\n      } else if (\n        true\n      ) {\n        console[console.info ? 'info' : 'log'](\n          'Download the Vue Devtools extension for a better development experience:\\n' +\n          'https://github.com/vuejs/vue-devtools'\n        );\n      }\n    }\n    if ( true &&\n      config.productionTip !== false &&\n      typeof console !== 'undefined'\n    ) {\n      console[console.info ? 'info' : 'log'](\n        \"You are running Vue in development mode.\\n\" +\n        \"Make sure to turn on production mode when deploying for production.\\n\" +\n        \"See more tips at https://vuejs.org/guide/deployment.html\"\n      );\n    }\n  }, 0);\n}\n\n/*  */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/vue/dist/vue.runtime.esm.js?");

/***/ }),

/***/ "./node_modules/vuedraggable/dist/vuedraggable.umd.js":
/*!************************************************************!*\
  !*** ./node_modules/vuedraggable/dist/vuedraggable.umd.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\"));\n\telse {}\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE_a352__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"01f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(\"2d00\");\nvar $export = __webpack_require__(\"5ca1\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar $iterCreate = __webpack_require__(\"41a0\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar getPrototypeOf = __webpack_require__(\"38fd\");\nvar ITERATOR = __webpack_require__(\"2b4c\")('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\n\n/***/ }),\n\n/***/ \"02f4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar defined = __webpack_require__(\"be13\");\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\n\n/***/ }),\n\n/***/ \"0390\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(\"02f4\")(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\n\n/***/ }),\n\n/***/ \"0bfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(\"cb7c\");\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\n\n/***/ }),\n\n/***/ \"0d58\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(\"ce10\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"1495\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar anObject = __webpack_require__(\"cb7c\");\nvar getKeys = __webpack_require__(\"0d58\");\n\nmodule.exports = __webpack_require__(\"9e1e\") ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"214f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(\"b0c5\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar fails = __webpack_require__(\"79e5\");\nvar defined = __webpack_require__(\"be13\");\nvar wks = __webpack_require__(\"2b4c\");\nvar regexpExec = __webpack_require__(\"520a\");\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  // #replace needs built-in support for named groups.\n  // #match works fine because it just return the exec results, even if it has\n  // a \"grops\" property.\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n  // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n  var SYMBOL = wks(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n    re.exec = function () { execCalled = true; return null; };\n    if (KEY === 'split') {\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n    }\n    re[SYMBOL]('');\n    return !execCalled;\n  }) : undefined;\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var fns = exec(\n      defined,\n      SYMBOL,\n      ''[KEY],\n      function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n        if (regexp.exec === regexpExec) {\n          if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n            // The native String method already delegates to @@method (this\n            // polyfilled function), leasing to infinite recursion.\n            // We avoid it by directly calling the native @@method method.\n            return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n          }\n          return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n        }\n        return { done: false };\n      }\n    );\n    var strfn = fns[0];\n    var rxfn = fns[1];\n\n    redefine(String.prototype, KEY, strfn);\n    hide(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function (string, arg) { return rxfn.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function (string) { return rxfn.call(string, this); }\n    );\n  }\n};\n\n\n/***/ }),\n\n/***/ \"230e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nvar document = __webpack_require__(\"7726\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"23c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"2d95\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"2621\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"2aba\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar has = __webpack_require__(\"69a8\");\nvar SRC = __webpack_require__(\"ca5a\")('src');\nvar $toString = __webpack_require__(\"fa5b\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(\"8378\").inspectSource = function (it) {\n  return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"2aeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(\"cb7c\");\nvar dPs = __webpack_require__(\"1495\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(\"230e\")('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(\"fab2\").appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"2b4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"5537\")('wks');\nvar uid = __webpack_require__(\"ca5a\");\nvar Symbol = __webpack_require__(\"7726\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"2d95\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"2fdb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(\"5ca1\");\nvar context = __webpack_require__(\"d2c8\");\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(INCLUDES), 'String', {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~context(this, searchString, INCLUDES)\n      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"32e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar createDesc = __webpack_require__(\"4630\");\nmodule.exports = __webpack_require__(\"9e1e\") ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ \"38fd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(\"69a8\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IE_PROTO = __webpack_require__(\"613b\")('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\n\n/***/ }),\n\n/***/ \"41a0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(\"2aeb\");\nvar descriptor = __webpack_require__(\"4630\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(\"32e9\")(IteratorPrototype, __webpack_require__(\"2b4c\")('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\n\n/***/ }),\n\n/***/ \"456d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(\"4bf8\");\nvar $keys = __webpack_require__(\"0d58\");\n\n__webpack_require__(\"5eda\")('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ \"4588\":\n/***/ (function(module, exports) {\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\n\n/***/ }),\n\n/***/ \"4630\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ \"4bf8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"5147\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (KEY) {\n  var re = /./;\n  try {\n    '/./'[KEY](re);\n  } catch (e) {\n    try {\n      re[MATCH] = false;\n      return !'/./'[KEY](re);\n    } catch (f) { /* empty */ }\n  } return true;\n};\n\n\n/***/ }),\n\n/***/ \"520a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(\"0bfb\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/,\n      re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n    match = nativeExec.call(re, str);\n\n    if (UPDATES_LAST_INDEX_WRONG && match) {\n      re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      // eslint-disable-next-line no-loop-func\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ \"52a7\":\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"5537\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(\"8378\");\nvar global = __webpack_require__(\"7726\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(\"2d00\") ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"5ca1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar core = __webpack_require__(\"8378\");\nvar hide = __webpack_require__(\"32e9\");\nvar redefine = __webpack_require__(\"2aba\");\nvar ctx = __webpack_require__(\"9b43\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if (target) redefine(target, key, out, type & $export.U);\n    // export\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"5eda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(\"5ca1\");\nvar core = __webpack_require__(\"8378\");\nvar fails = __webpack_require__(\"79e5\");\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"5f1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(\"23c6\");\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (typeof exec === 'function') {\n    var result = exec.call(R, S);\n    if (typeof result !== 'object') {\n      throw new TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n  if (classof(R) !== 'RegExp') {\n    throw new TypeError('RegExp#exec called on incompatible receiver');\n  }\n  return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n\n/***/ \"613b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"5537\")('keys');\nvar uid = __webpack_require__(\"ca5a\");\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"626a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"2d95\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"6762\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(\"5ca1\");\nvar $includes = __webpack_require__(\"c366\")(true);\n\n$export($export.P, 'Array', {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n__webpack_require__(\"9c6c\")('includes');\n\n\n/***/ }),\n\n/***/ \"6821\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"626a\");\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"69a8\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"6a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"d3f4\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"7333\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(\"0d58\");\nvar gOPS = __webpack_require__(\"2621\");\nvar pIE = __webpack_require__(\"52a7\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IObject = __webpack_require__(\"626a\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(\"79e5\")(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"7726\":\n/***/ (function(module, exports) {\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\n\n/***/ }),\n\n/***/ \"77f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"79e5\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"7f20\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(\"86cc\").f;\nvar has = __webpack_require__(\"69a8\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"84f2\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"86cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"c69a\");\nvar toPrimitive = __webpack_require__(\"6a99\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"9e1e\") ? 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\n\n/***/ }),\n\n/***/ \"9b43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"d8e8\");\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\n\n/***/ }),\n\n/***/ \"9c6c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(\"2b4c\")('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(\"32e9\")(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ \"9def\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"4588\");\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"9e1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"79e5\")(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"a352\":\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_a352__;\n\n/***/ }),\n\n/***/ \"a481\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar toLength = __webpack_require__(\"9def\");\nvar toInteger = __webpack_require__(\"4588\");\nvar advanceStringIndex = __webpack_require__(\"0390\");\nvar regExpExec = __webpack_require__(\"5f1b\");\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(\"214f\")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = defined(this);\n      var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n      return fn !== undefined\n        ? fn.call(searchValue, O, replaceValue)\n        : $replace.call(String(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n    function (regexp, replaceValue) {\n      var res = maybeCallNative($replace, regexp, this, replaceValue);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var functionalReplace = typeof replaceValue === 'function';\n      if (!functionalReplace) replaceValue = String(replaceValue);\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n        results.push(result);\n        if (!global) break;\n        var matchStr = String(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n        var matched = String(result[0]);\n        var position = max(min(toInteger(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = [matched].concat(captures, position, S);\n          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n          var replacement = String(replaceValue.apply(undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + S.slice(nextSourcePosition);\n    }\n  ];\n\n    // https://tc39.github.io/ecma262/#sec-getsubstitution\n  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n    var tailPos = position + matched.length;\n    var m = captures.length;\n    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n    if (namedCaptures !== undefined) {\n      namedCaptures = toObject(namedCaptures);\n      symbols = SUBSTITUTION_SYMBOLS;\n    }\n    return $replace.call(replacement, symbols, function (match, ch) {\n      var capture;\n      switch (ch.charAt(0)) {\n        case '$': return '$';\n        case '&': return matched;\n        case '`': return str.slice(0, position);\n        case \"'\": return str.slice(tailPos);\n        case '<':\n          capture = namedCaptures[ch.slice(1, -1)];\n          break;\n        default: // \\d\\d?\n          var n = +ch;\n          if (n === 0) return match;\n          if (n > m) {\n            var f = floor(n / 10);\n            if (f === 0) return match;\n            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n            return match;\n          }\n          capture = captures[n - 1];\n      }\n      return capture === undefined ? '' : capture;\n    });\n  }\n});\n\n\n/***/ }),\n\n/***/ \"aae3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(\"d3f4\");\nvar cof = __webpack_require__(\"2d95\");\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ \"ac6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(\"cadf\");\nvar getKeys = __webpack_require__(\"0d58\");\nvar redefine = __webpack_require__(\"2aba\");\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar wks = __webpack_require__(\"2b4c\");\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n  CSSRuleList: true, // TODO: Not spec compliant, should be false.\n  CSSStyleDeclaration: false,\n  CSSValueList: false,\n  ClientRectList: false,\n  DOMRectList: false,\n  DOMStringList: false,\n  DOMTokenList: true,\n  DataTransferItemList: false,\n  FileList: false,\n  HTMLAllCollection: false,\n  HTMLCollection: false,\n  HTMLFormElement: false,\n  HTMLSelectElement: false,\n  MediaList: true, // TODO: Not spec compliant, should be false.\n  MimeTypeArray: false,\n  NamedNodeMap: false,\n  NodeList: true,\n  PaintRequestList: false,\n  Plugin: false,\n  PluginArray: false,\n  SVGLengthList: false,\n  SVGNumberList: false,\n  SVGPathSegList: false,\n  SVGPointList: false,\n  SVGStringList: false,\n  SVGTransformList: false,\n  SourceBufferList: false,\n  StyleSheetList: true, // TODO: Not spec compliant, should be false.\n  TextTrackCueList: false,\n  TextTrackList: false,\n  TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n  var NAME = collections[i];\n  var explicit = DOMIterables[NAME];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  var key;\n  if (proto) {\n    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n  }\n}\n\n\n/***/ }),\n\n/***/ \"b0c5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(\"520a\");\n__webpack_require__(\"5ca1\")({\n  target: 'RegExp',\n  proto: true,\n  forced: regexpExec !== /./.exec\n}, {\n  exec: regexpExec\n});\n\n\n/***/ }),\n\n/***/ \"be13\":\n/***/ (function(module, exports) {\n\n// 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\n\n/***/ }),\n\n/***/ \"c366\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(\"6821\");\nvar toLength = __webpack_require__(\"9def\");\nvar toAbsoluteIndex = __webpack_require__(\"77f1\");\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\n\n/***/ }),\n\n/***/ \"c649\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return insertNodeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return camelize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return console; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return removeNode; });\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"a481\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction getConsole() {\n  if (typeof window !== \"undefined\") {\n    return window.console;\n  }\n\n  return global.console;\n}\n\nvar console = getConsole();\n\nfunction cached(fn) {\n  var cache = Object.create(null);\n  return function cachedFn(str) {\n    var hit = cache[str];\n    return hit || (cache[str] = fn(str));\n  };\n}\n\nvar regex = /-(\\w)/g;\nvar camelize = cached(function (str) {\n  return str.replace(regex, function (_, c) {\n    return c ? c.toUpperCase() : \"\";\n  });\n});\n\nfunction removeNode(node) {\n  if (node.parentElement !== null) {\n    node.parentElement.removeChild(node);\n  }\n}\n\nfunction insertNodeAt(fatherNode, node, position) {\n  var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;\n  fatherNode.insertBefore(node, refNode);\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"c69a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"9e1e\") && !__webpack_require__(\"79e5\")(function () {\n  return Object.defineProperty(__webpack_require__(\"230e\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar 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\n/***/ }),\n\n/***/ \"ca5a\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"cadf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(\"9c6c\");\nvar step = __webpack_require__(\"d53b\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar toIObject = __webpack_require__(\"6821\");\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 = __webpack_require__(\"01f9\")(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\n\n/***/ }),\n\n/***/ \"cb7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"ce10\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"69a8\");\nvar toIObject = __webpack_require__(\"6821\");\nvar arrayIndexOf = __webpack_require__(\"c366\")(false);\nvar IE_PROTO = __webpack_require__(\"613b\")('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\n\n/***/ }),\n\n/***/ \"d2c8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(\"aae3\");\nvar defined = __webpack_require__(\"be13\");\n\nmodule.exports = function (that, searchString, NAME) {\n  if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n  return String(defined(that));\n};\n\n\n/***/ }),\n\n/***/ \"d3f4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"d53b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"d8e8\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"e11e\":\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"f559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(\"5ca1\");\nvar toLength = __webpack_require__(\"9def\");\nvar context = __webpack_require__(\"d2c8\");\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(STARTS_WITH), 'String', {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = context(this, searchString, STARTS_WITH);\n    var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return $startsWith\n      ? $startsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"f6fd\":\n/***/ (function(module, exports) {\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\n\n/***/ }),\n\n/***/ \"f751\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(\"5ca1\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(\"7333\") });\n\n\n/***/ }),\n\n/***/ \"fa5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"5537\")('native-function-to-string', Function.toString);\n\n\n/***/ }),\n\n/***/ \"fab2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(\"7726\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n  if (true) {\n    __webpack_require__(\"f6fd\")\n  }\n\n  var setPublicPath_i\n  if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n    __webpack_require__.p = setPublicPath_i[1] // eslint-disable-line\n  }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js\nvar es6_object_assign = __webpack_require__(\"f751\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js\nvar es6_string_starts_with = __webpack_require__(\"f559\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js\nvar web_dom_iterable = __webpack_require__(\"ac6a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js\nvar es6_array_iterator = __webpack_require__(\"cadf\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js\nvar es6_object_keys = __webpack_require__(\"456d\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\nfunction _iterableToArrayLimit(arr, i) {\n  if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n\n  return arr2;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n\n\n\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js\nvar es7_array_includes = __webpack_require__(\"6762\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js\nvar es6_string_includes = __webpack_require__(\"2fdb\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: external {\"commonjs\":\"sortablejs\",\"commonjs2\":\"sortablejs\",\"amd\":\"sortablejs\",\"root\":\"Sortable\"}\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __webpack_require__(\"a352\");\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_);\n\n// EXTERNAL MODULE: ./src/util/helper.js\nvar helper = __webpack_require__(\"c649\");\n\n// CONCATENATED MODULE: ./src/vuedraggable.js\n\n\n\n\n\n\n\n\n\n\n\n\nfunction buildAttribute(object, propName, value) {\n  if (value === undefined) {\n    return object;\n  }\n\n  object = object || {};\n  object[propName] = value;\n  return object;\n}\n\nfunction computeVmIndex(vnodes, element) {\n  return vnodes.map(function (elt) {\n    return elt.elm;\n  }).indexOf(element);\n}\n\nfunction _computeIndexes(slots, children, isTransition, footerOffset) {\n  if (!slots) {\n    return [];\n  }\n\n  var elmFromNodes = slots.map(function (elt) {\n    return elt.elm;\n  });\n  var footerIndex = children.length - footerOffset;\n\n  var rawIndexes = _toConsumableArray(children).map(function (elt, idx) {\n    return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt);\n  });\n\n  return isTransition ? rawIndexes.filter(function (ind) {\n    return ind !== -1;\n  }) : rawIndexes;\n}\n\nfunction emit(evtName, evtData) {\n  var _this = this;\n\n  this.$nextTick(function () {\n    return _this.$emit(evtName.toLowerCase(), evtData);\n  });\n}\n\nfunction delegateAndEmit(evtName) {\n  var _this2 = this;\n\n  return function (evtData) {\n    if (_this2.realList !== null) {\n      _this2[\"onDrag\" + evtName](evtData);\n    }\n\n    emit.call(_this2, evtName, evtData);\n  };\n}\n\nfunction isTransitionName(name) {\n  return [\"transition-group\", \"TransitionGroup\"].includes(name);\n}\n\nfunction vuedraggable_isTransition(slots) {\n  if (!slots || slots.length !== 1) {\n    return false;\n  }\n\n  var _slots = _slicedToArray(slots, 1),\n      componentOptions = _slots[0].componentOptions;\n\n  if (!componentOptions) {\n    return false;\n  }\n\n  return isTransitionName(componentOptions.tag);\n}\n\nfunction getSlot(slot, scopedSlot, key) {\n  return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined);\n}\n\nfunction computeChildrenAndOffsets(children, slot, scopedSlot) {\n  var headerOffset = 0;\n  var footerOffset = 0;\n  var header = getSlot(slot, scopedSlot, \"header\");\n\n  if (header) {\n    headerOffset = header.length;\n    children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header);\n  }\n\n  var footer = getSlot(slot, scopedSlot, \"footer\");\n\n  if (footer) {\n    footerOffset = footer.length;\n    children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer);\n  }\n\n  return {\n    children: children,\n    headerOffset: headerOffset,\n    footerOffset: footerOffset\n  };\n}\n\nfunction getComponentAttributes($attrs, componentData) {\n  var attributes = null;\n\n  var update = function update(name, value) {\n    attributes = buildAttribute(attributes, name, value);\n  };\n\n  var attrs = Object.keys($attrs).filter(function (key) {\n    return key === \"id\" || key.startsWith(\"data-\");\n  }).reduce(function (res, key) {\n    res[key] = $attrs[key];\n    return res;\n  }, {});\n  update(\"attrs\", attrs);\n\n  if (!componentData) {\n    return attributes;\n  }\n\n  var on = componentData.on,\n      props = componentData.props,\n      componentDataAttrs = componentData.attrs;\n  update(\"on\", on);\n  update(\"props\", props);\n  Object.assign(attributes.attrs, componentDataAttrs);\n  return attributes;\n}\n\nvar eventsListened = [\"Start\", \"Add\", \"Remove\", \"Update\", \"End\"];\nvar eventsToEmit = [\"Choose\", \"Unchoose\", \"Sort\", \"Filter\", \"Clone\"];\nvar readonlyProperties = [\"Move\"].concat(eventsListened, eventsToEmit).map(function (evt) {\n  return \"on\" + evt;\n});\nvar draggingElement = null;\nvar props = {\n  options: Object,\n  list: {\n    type: Array,\n    required: false,\n    default: null\n  },\n  value: {\n    type: Array,\n    required: false,\n    default: null\n  },\n  noTransitionOnDrag: {\n    type: Boolean,\n    default: false\n  },\n  clone: {\n    type: Function,\n    default: function _default(original) {\n      return original;\n    }\n  },\n  element: {\n    type: String,\n    default: \"div\"\n  },\n  tag: {\n    type: String,\n    default: null\n  },\n  move: {\n    type: Function,\n    default: null\n  },\n  componentData: {\n    type: Object,\n    required: false,\n    default: null\n  }\n};\nvar draggableComponent = {\n  name: \"draggable\",\n  inheritAttrs: false,\n  props: props,\n  data: function data() {\n    return {\n      transitionMode: false,\n      noneFunctionalComponentMode: false\n    };\n  },\n  render: function render(h) {\n    var slots = this.$slots.default;\n    this.transitionMode = vuedraggable_isTransition(slots);\n\n    var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots),\n        children = _computeChildrenAndOf.children,\n        headerOffset = _computeChildrenAndOf.headerOffset,\n        footerOffset = _computeChildrenAndOf.footerOffset;\n\n    this.headerOffset = headerOffset;\n    this.footerOffset = footerOffset;\n    var attributes = getComponentAttributes(this.$attrs, this.componentData);\n    return h(this.getTag(), attributes, children);\n  },\n  created: function created() {\n    if (this.list !== null && this.value !== null) {\n      helper[\"b\" /* console */].error(\"Value and list props are mutually exclusive! Please set one or another.\");\n    }\n\n    if (this.element !== \"div\") {\n      helper[\"b\" /* console */].warn(\"Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props\");\n    }\n\n    if (this.options !== undefined) {\n      helper[\"b\" /* console */].warn(\"Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props\");\n    }\n  },\n  mounted: function mounted() {\n    var _this3 = this;\n\n    this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional();\n\n    if (this.noneFunctionalComponentMode && this.transitionMode) {\n      throw new Error(\"Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: \".concat(this.getTag()));\n    }\n\n    var optionsAdded = {};\n    eventsListened.forEach(function (elt) {\n      optionsAdded[\"on\" + elt] = delegateAndEmit.call(_this3, elt);\n    });\n    eventsToEmit.forEach(function (elt) {\n      optionsAdded[\"on\" + elt] = emit.bind(_this3, elt);\n    });\n    var attributes = Object.keys(this.$attrs).reduce(function (res, key) {\n      res[Object(helper[\"a\" /* camelize */])(key)] = _this3.$attrs[key];\n      return res;\n    }, {});\n    var options = Object.assign({}, this.options, attributes, optionsAdded, {\n      onMove: function onMove(evt, originalEvent) {\n        return _this3.onDragMove(evt, originalEvent);\n      }\n    });\n    !(\"draggable\" in options) && (options.draggable = \">*\");\n    this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options);\n    this.computeIndexes();\n  },\n  beforeDestroy: function beforeDestroy() {\n    if (this._sortable !== undefined) this._sortable.destroy();\n  },\n  computed: {\n    rootContainer: function rootContainer() {\n      return this.transitionMode ? this.$el.children[0] : this.$el;\n    },\n    realList: function realList() {\n      return this.list ? this.list : this.value;\n    }\n  },\n  watch: {\n    options: {\n      handler: function handler(newOptionValue) {\n        this.updateOptions(newOptionValue);\n      },\n      deep: true\n    },\n    $attrs: {\n      handler: function handler(newOptionValue) {\n        this.updateOptions(newOptionValue);\n      },\n      deep: true\n    },\n    realList: function realList() {\n      this.computeIndexes();\n    }\n  },\n  methods: {\n    getIsFunctional: function getIsFunctional() {\n      var fnOptions = this._vnode.fnOptions;\n      return fnOptions && fnOptions.functional;\n    },\n    getTag: function getTag() {\n      return this.tag || this.element;\n    },\n    updateOptions: function updateOptions(newOptionValue) {\n      for (var property in newOptionValue) {\n        var value = Object(helper[\"a\" /* camelize */])(property);\n\n        if (readonlyProperties.indexOf(value) === -1) {\n          this._sortable.option(value, newOptionValue[property]);\n        }\n      }\n    },\n    getChildrenNodes: function getChildrenNodes() {\n      if (this.noneFunctionalComponentMode) {\n        return this.$children[0].$slots.default;\n      }\n\n      var rawNodes = this.$slots.default;\n      return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;\n    },\n    computeIndexes: function computeIndexes() {\n      var _this4 = this;\n\n      this.$nextTick(function () {\n        _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset);\n      });\n    },\n    getUnderlyingVm: function getUnderlyingVm(htmlElt) {\n      var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);\n\n      if (index === -1) {\n        //Edge case during move callback: related element might be\n        //an element different from collection\n        return null;\n      }\n\n      var element = this.realList[index];\n      return {\n        index: index,\n        element: element\n      };\n    },\n    getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {\n      var vue = _ref.__vue__;\n\n      if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) {\n        if (!(\"realList\" in vue) && vue.$children.length === 1 && \"realList\" in vue.$children[0]) return vue.$children[0];\n        return vue;\n      }\n\n      return vue.$parent;\n    },\n    emitChanges: function emitChanges(evt) {\n      var _this5 = this;\n\n      this.$nextTick(function () {\n        _this5.$emit(\"change\", evt);\n      });\n    },\n    alterList: function alterList(onList) {\n      if (this.list) {\n        onList(this.list);\n        return;\n      }\n\n      var newList = _toConsumableArray(this.value);\n\n      onList(newList);\n      this.$emit(\"input\", newList);\n    },\n    spliceList: function spliceList() {\n      var _arguments = arguments;\n\n      var spliceList = function spliceList(list) {\n        return list.splice.apply(list, _toConsumableArray(_arguments));\n      };\n\n      this.alterList(spliceList);\n    },\n    updatePosition: function updatePosition(oldIndex, newIndex) {\n      var updatePosition = function updatePosition(list) {\n        return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\n      };\n\n      this.alterList(updatePosition);\n    },\n    getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {\n      var to = _ref2.to,\n          related = _ref2.related;\n      var component = this.getUnderlyingPotencialDraggableComponent(to);\n\n      if (!component) {\n        return {\n          component: component\n        };\n      }\n\n      var list = component.realList;\n      var context = {\n        list: list,\n        component: component\n      };\n\n      if (to !== related && list && component.getUnderlyingVm) {\n        var destination = component.getUnderlyingVm(related);\n\n        if (destination) {\n          return Object.assign(destination, context);\n        }\n      }\n\n      return context;\n    },\n    getVmIndex: function getVmIndex(domIndex) {\n      var indexes = this.visibleIndexes;\n      var numberIndexes = indexes.length;\n      return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];\n    },\n    getComponent: function getComponent() {\n      return this.$slots.default[0].componentInstance;\n    },\n    resetTransitionData: function resetTransitionData(index) {\n      if (!this.noTransitionOnDrag || !this.transitionMode) {\n        return;\n      }\n\n      var nodes = this.getChildrenNodes();\n      nodes[index].data = null;\n      var transitionContainer = this.getComponent();\n      transitionContainer.children = [];\n      transitionContainer.kept = undefined;\n    },\n    onDragStart: function onDragStart(evt) {\n      this.context = this.getUnderlyingVm(evt.item);\n      evt.item._underlying_vm_ = this.clone(this.context.element);\n      draggingElement = evt.item;\n    },\n    onDragAdd: function onDragAdd(evt) {\n      var element = evt.item._underlying_vm_;\n\n      if (element === undefined) {\n        return;\n      }\n\n      Object(helper[\"d\" /* removeNode */])(evt.item);\n      var newIndex = this.getVmIndex(evt.newIndex);\n      this.spliceList(newIndex, 0, element);\n      this.computeIndexes();\n      var added = {\n        element: element,\n        newIndex: newIndex\n      };\n      this.emitChanges({\n        added: added\n      });\n    },\n    onDragRemove: function onDragRemove(evt) {\n      Object(helper[\"c\" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex);\n\n      if (evt.pullMode === \"clone\") {\n        Object(helper[\"d\" /* removeNode */])(evt.clone);\n        return;\n      }\n\n      var oldIndex = this.context.index;\n      this.spliceList(oldIndex, 1);\n      var removed = {\n        element: this.context.element,\n        oldIndex: oldIndex\n      };\n      this.resetTransitionData(oldIndex);\n      this.emitChanges({\n        removed: removed\n      });\n    },\n    onDragUpdate: function onDragUpdate(evt) {\n      Object(helper[\"d\" /* removeNode */])(evt.item);\n      Object(helper[\"c\" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex);\n      var oldIndex = this.context.index;\n      var newIndex = this.getVmIndex(evt.newIndex);\n      this.updatePosition(oldIndex, newIndex);\n      var moved = {\n        element: this.context.element,\n        oldIndex: oldIndex,\n        newIndex: newIndex\n      };\n      this.emitChanges({\n        moved: moved\n      });\n    },\n    updateProperty: function updateProperty(evt, propertyName) {\n      evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset);\n    },\n    computeFutureIndex: function computeFutureIndex(relatedContext, evt) {\n      if (!relatedContext.element) {\n        return 0;\n      }\n\n      var domChildren = _toConsumableArray(evt.to.children).filter(function (el) {\n        return el.style[\"display\"] !== \"none\";\n      });\n\n      var currentDOMIndex = domChildren.indexOf(evt.related);\n      var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);\n      var draggedInList = domChildren.indexOf(draggingElement) !== -1;\n      return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\n    },\n    onDragMove: function onDragMove(evt, originalEvent) {\n      var onMove = this.move;\n\n      if (!onMove || !this.realList) {\n        return true;\n      }\n\n      var relatedContext = this.getRelatedContextFromMoveEvent(evt);\n      var draggedContext = this.context;\n      var futureIndex = this.computeFutureIndex(relatedContext, evt);\n      Object.assign(draggedContext, {\n        futureIndex: futureIndex\n      });\n      var sendEvt = Object.assign({}, evt, {\n        relatedContext: relatedContext,\n        draggedContext: draggedContext\n      });\n      return onMove(sendEvt, originalEvent);\n    },\n    onDragEnd: function onDragEnd() {\n      this.computeIndexes();\n      draggingElement = null;\n    }\n  }\n};\n\nif (typeof window !== \"undefined\" && \"Vue\" in window) {\n  window.Vue.component(\"draggable\", draggableComponent);\n}\n\n/* harmony default export */ var vuedraggable = (draggableComponent);\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (vuedraggable);\n\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=vuedraggable.umd.js.map\n\n//# sourceURL=webpack:///./node_modules/vuedraggable/dist/vuedraggable.umd.js?");

/***/ }),

/***/ "./node_modules/vuex/dist/vuex.esm.js":
/*!********************************************!*\
  !*** ./node_modules/vuex/dist/vuex.esm.js ***!
  \********************************************/
/*! exports provided: default, Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Store\", function() { return Store; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createLogger\", function() { return createLogger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createNamespacedHelpers\", function() { return createNamespacedHelpers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapActions\", function() { return mapActions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapGetters\", function() { return mapGetters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapMutations\", function() { return mapMutations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapState\", function() { return mapState; });\n/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n  var version = Number(Vue.version.split('.')[0]);\n\n  if (version >= 2) {\n    Vue.mixin({ beforeCreate: vuexInit });\n  } else {\n    // override init and inject vuex init procedure\n    // for 1.x backwards compatibility.\n    var _init = Vue.prototype._init;\n    Vue.prototype._init = function (options) {\n      if ( options === void 0 ) options = {};\n\n      options.init = options.init\n        ? [vuexInit].concat(options.init)\n        : vuexInit;\n      _init.call(this, options);\n    };\n  }\n\n  /**\n   * Vuex init hook, injected into each instances init hooks list.\n   */\n\n  function vuexInit () {\n    var options = this.$options;\n    // store injection\n    if (options.store) {\n      this.$store = typeof options.store === 'function'\n        ? options.store()\n        : options.store;\n    } else if (options.parent && options.parent.$store) {\n      this.$store = options.parent.$store;\n    }\n  }\n}\n\nvar target = typeof window !== 'undefined'\n  ? window\n  : typeof global !== 'undefined'\n    ? global\n    : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n  if (!devtoolHook) { return }\n\n  store._devtoolHook = devtoolHook;\n\n  devtoolHook.emit('vuex:init', store);\n\n  devtoolHook.on('vuex:travel-to-state', function (targetState) {\n    store.replaceState(targetState);\n  });\n\n  store.subscribe(function (mutation, state) {\n    devtoolHook.emit('vuex:mutation', mutation, state);\n  }, { prepend: true });\n\n  store.subscribeAction(function (action, state) {\n    devtoolHook.emit('vuex:action', action, state);\n  }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n  return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n  if ( cache === void 0 ) cache = [];\n\n  // just return if obj is immutable value\n  if (obj === null || typeof obj !== 'object') {\n    return obj\n  }\n\n  // if obj is hit, it is in circular structure\n  var hit = find(cache, function (c) { return c.original === obj; });\n  if (hit) {\n    return hit.copy\n  }\n\n  var copy = Array.isArray(obj) ? [] : {};\n  // put the copy into cache at first\n  // because we want to refer it in recursive deepCopy\n  cache.push({\n    original: obj,\n    copy: copy\n  });\n\n  Object.keys(obj).forEach(function (key) {\n    copy[key] = deepCopy(obj[key], cache);\n  });\n\n  return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n  Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n  return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n  if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n  return function () {\n    return fn(arg)\n  }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n  this.runtime = runtime;\n  // Store some children item\n  this._children = Object.create(null);\n  // Store the origin module object which passed by programmer\n  this._rawModule = rawModule;\n  var rawState = rawModule.state;\n\n  // Store the origin module's state\n  this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n  return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n  this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n  delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n  return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n  return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n  this._rawModule.namespaced = rawModule.namespaced;\n  if (rawModule.actions) {\n    this._rawModule.actions = rawModule.actions;\n  }\n  if (rawModule.mutations) {\n    this._rawModule.mutations = rawModule.mutations;\n  }\n  if (rawModule.getters) {\n    this._rawModule.getters = rawModule.getters;\n  }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n  forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n  if (this._rawModule.getters) {\n    forEachValue(this._rawModule.getters, fn);\n  }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n  if (this._rawModule.actions) {\n    forEachValue(this._rawModule.actions, fn);\n  }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n  if (this._rawModule.mutations) {\n    forEachValue(this._rawModule.mutations, fn);\n  }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n  // register root module (Vuex.Store options)\n  this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n  return path.reduce(function (module, key) {\n    return module.getChild(key)\n  }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n  var module = this.root;\n  return path.reduce(function (namespace, key) {\n    module = module.getChild(key);\n    return namespace + (module.namespaced ? key + '/' : '')\n  }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n  update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n    var this$1 = this;\n    if ( runtime === void 0 ) runtime = true;\n\n  if ((true)) {\n    assertRawModule(path, rawModule);\n  }\n\n  var newModule = new Module(rawModule, runtime);\n  if (path.length === 0) {\n    this.root = newModule;\n  } else {\n    var parent = this.get(path.slice(0, -1));\n    parent.addChild(path[path.length - 1], newModule);\n  }\n\n  // register nested modules\n  if (rawModule.modules) {\n    forEachValue(rawModule.modules, function (rawChildModule, key) {\n      this$1.register(path.concat(key), rawChildModule, runtime);\n    });\n  }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n  var parent = this.get(path.slice(0, -1));\n  var key = path[path.length - 1];\n  var child = parent.getChild(key);\n\n  if (!child) {\n    if ((true)) {\n      console.warn(\n        \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n        \"not registered\"\n      );\n    }\n    return\n  }\n\n  if (!child.runtime) {\n    return\n  }\n\n  parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n  var parent = this.get(path.slice(0, -1));\n  var key = path[path.length - 1];\n\n  if (parent) {\n    return parent.hasChild(key)\n  }\n\n  return false\n};\n\nfunction update (path, targetModule, newModule) {\n  if ((true)) {\n    assertRawModule(path, newModule);\n  }\n\n  // update target module\n  targetModule.update(newModule);\n\n  // update nested modules\n  if (newModule.modules) {\n    for (var key in newModule.modules) {\n      if (!targetModule.getChild(key)) {\n        if ((true)) {\n          console.warn(\n            \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n            'manual reload is needed'\n          );\n        }\n        return\n      }\n      update(\n        path.concat(key),\n        targetModule.getChild(key),\n        newModule.modules[key]\n      );\n    }\n  }\n}\n\nvar functionAssert = {\n  assert: function (value) { return typeof value === 'function'; },\n  expected: 'function'\n};\n\nvar objectAssert = {\n  assert: function (value) { return typeof value === 'function' ||\n    (typeof value === 'object' && typeof value.handler === 'function'); },\n  expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n  getters: functionAssert,\n  mutations: functionAssert,\n  actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n  Object.keys(assertTypes).forEach(function (key) {\n    if (!rawModule[key]) { return }\n\n    var assertOptions = assertTypes[key];\n\n    forEachValue(rawModule[key], function (value, type) {\n      assert(\n        assertOptions.assert(value),\n        makeAssertionMessage(path, key, type, value, assertOptions.expected)\n      );\n    });\n  });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n  var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n  if (path.length > 0) {\n    buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n  }\n  buf += \" is \" + (JSON.stringify(value)) + \".\";\n  return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n  var this$1 = this;\n  if ( options === void 0 ) options = {};\n\n  // Auto install if it is not done yet and `window` has `Vue`.\n  // To allow users to avoid auto-installation in some cases,\n  // this code should be placed here. See #731\n  if (!Vue && typeof window !== 'undefined' && window.Vue) {\n    install(window.Vue);\n  }\n\n  if ((true)) {\n    assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n    assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n    assert(this instanceof Store, \"store must be called with the new operator.\");\n  }\n\n  var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n  var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n  // store internal state\n  this._committing = false;\n  this._actions = Object.create(null);\n  this._actionSubscribers = [];\n  this._mutations = Object.create(null);\n  this._wrappedGetters = Object.create(null);\n  this._modules = new ModuleCollection(options);\n  this._modulesNamespaceMap = Object.create(null);\n  this._subscribers = [];\n  this._watcherVM = new Vue();\n  this._makeLocalGettersCache = Object.create(null);\n\n  // bind commit and dispatch to self\n  var store = this;\n  var ref = this;\n  var dispatch = ref.dispatch;\n  var commit = ref.commit;\n  this.dispatch = function boundDispatch (type, payload) {\n    return dispatch.call(store, type, payload)\n  };\n  this.commit = function boundCommit (type, payload, options) {\n    return commit.call(store, type, payload, options)\n  };\n\n  // strict mode\n  this.strict = strict;\n\n  var state = this._modules.root.state;\n\n  // init root module.\n  // this also recursively registers all sub-modules\n  // and collects all module getters inside this._wrappedGetters\n  installModule(this, state, [], this._modules.root);\n\n  // initialize the store vm, which is responsible for the reactivity\n  // (also registers _wrappedGetters as computed properties)\n  resetStoreVM(this, state);\n\n  // apply plugins\n  plugins.forEach(function (plugin) { return plugin(this$1); });\n\n  var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n  if (useDevtools) {\n    devtoolPlugin(this);\n  }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n  return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n  if ((true)) {\n    assert(false, \"use store.replaceState() to explicit replace store state.\");\n  }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n    var this$1 = this;\n\n  // check object-style commit\n  var ref = unifyObjectStyle(_type, _payload, _options);\n    var type = ref.type;\n    var payload = ref.payload;\n    var options = ref.options;\n\n  var mutation = { type: type, payload: payload };\n  var entry = this._mutations[type];\n  if (!entry) {\n    if ((true)) {\n      console.error((\"[vuex] unknown mutation type: \" + type));\n    }\n    return\n  }\n  this._withCommit(function () {\n    entry.forEach(function commitIterator (handler) {\n      handler(payload);\n    });\n  });\n\n  this._subscribers\n    .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n    .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n  if (\n    ( true) &&\n    options && options.silent\n  ) {\n    console.warn(\n      \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n      'Use the filter functionality in the vue-devtools'\n    );\n  }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n    var this$1 = this;\n\n  // check object-style dispatch\n  var ref = unifyObjectStyle(_type, _payload);\n    var type = ref.type;\n    var payload = ref.payload;\n\n  var action = { type: type, payload: payload };\n  var entry = this._actions[type];\n  if (!entry) {\n    if ((true)) {\n      console.error((\"[vuex] unknown action type: \" + type));\n    }\n    return\n  }\n\n  try {\n    this._actionSubscribers\n      .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n      .filter(function (sub) { return sub.before; })\n      .forEach(function (sub) { return sub.before(action, this$1.state); });\n  } catch (e) {\n    if ((true)) {\n      console.warn(\"[vuex] error in before action subscribers: \");\n      console.error(e);\n    }\n  }\n\n  var result = entry.length > 1\n    ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n    : entry[0](payload);\n\n  return new Promise(function (resolve, reject) {\n    result.then(function (res) {\n      try {\n        this$1._actionSubscribers\n          .filter(function (sub) { return sub.after; })\n          .forEach(function (sub) { return sub.after(action, this$1.state); });\n      } catch (e) {\n        if ((true)) {\n          console.warn(\"[vuex] error in after action subscribers: \");\n          console.error(e);\n        }\n      }\n      resolve(res);\n    }, function (error) {\n      try {\n        this$1._actionSubscribers\n          .filter(function (sub) { return sub.error; })\n          .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n      } catch (e) {\n        if ((true)) {\n          console.warn(\"[vuex] error in error action subscribers: \");\n          console.error(e);\n        }\n      }\n      reject(error);\n    });\n  })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n  return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n  var subs = typeof fn === 'function' ? { before: fn } : fn;\n  return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n    var this$1 = this;\n\n  if ((true)) {\n    assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n  }\n  return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n    var this$1 = this;\n\n  this._withCommit(function () {\n    this$1._vm._data.$$state = state;\n  });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n    if ( options === void 0 ) options = {};\n\n  if (typeof path === 'string') { path = [path]; }\n\n  if ((true)) {\n    assert(Array.isArray(path), \"module path must be a string or an Array.\");\n    assert(path.length > 0, 'cannot register the root module by using registerModule.');\n  }\n\n  this._modules.register(path, rawModule);\n  installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n  // reset store to update getters...\n  resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n    var this$1 = this;\n\n  if (typeof path === 'string') { path = [path]; }\n\n  if ((true)) {\n    assert(Array.isArray(path), \"module path must be a string or an Array.\");\n  }\n\n  this._modules.unregister(path);\n  this._withCommit(function () {\n    var parentState = getNestedState(this$1.state, path.slice(0, -1));\n    Vue.delete(parentState, path[path.length - 1]);\n  });\n  resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n  if (typeof path === 'string') { path = [path]; }\n\n  if ((true)) {\n    assert(Array.isArray(path), \"module path must be a string or an Array.\");\n  }\n\n  return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n  this._modules.update(newOptions);\n  resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n  var committing = this._committing;\n  this._committing = true;\n  fn();\n  this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n  if (subs.indexOf(fn) < 0) {\n    options && options.prepend\n      ? subs.unshift(fn)\n      : subs.push(fn);\n  }\n  return function () {\n    var i = subs.indexOf(fn);\n    if (i > -1) {\n      subs.splice(i, 1);\n    }\n  }\n}\n\nfunction resetStore (store, hot) {\n  store._actions = Object.create(null);\n  store._mutations = Object.create(null);\n  store._wrappedGetters = Object.create(null);\n  store._modulesNamespaceMap = Object.create(null);\n  var state = store.state;\n  // init all modules\n  installModule(store, state, [], store._modules.root, true);\n  // reset vm\n  resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n  var oldVm = store._vm;\n\n  // bind store public getters\n  store.getters = {};\n  // reset local getters cache\n  store._makeLocalGettersCache = Object.create(null);\n  var wrappedGetters = store._wrappedGetters;\n  var computed = {};\n  forEachValue(wrappedGetters, function (fn, key) {\n    // use computed to leverage its lazy-caching mechanism\n    // direct inline function use will lead to closure preserving oldVm.\n    // using partial to return function with only arguments preserved in closure environment.\n    computed[key] = partial(fn, store);\n    Object.defineProperty(store.getters, key, {\n      get: function () { return store._vm[key]; },\n      enumerable: true // for local getters\n    });\n  });\n\n  // use a Vue instance to store the state tree\n  // suppress warnings just in case the user has added\n  // some funky global mixins\n  var silent = Vue.config.silent;\n  Vue.config.silent = true;\n  store._vm = new Vue({\n    data: {\n      $$state: state\n    },\n    computed: computed\n  });\n  Vue.config.silent = silent;\n\n  // enable strict mode for new vm\n  if (store.strict) {\n    enableStrictMode(store);\n  }\n\n  if (oldVm) {\n    if (hot) {\n      // dispatch changes in all subscribed watchers\n      // to force getter re-evaluation for hot reloading.\n      store._withCommit(function () {\n        oldVm._data.$$state = null;\n      });\n    }\n    Vue.nextTick(function () { return oldVm.$destroy(); });\n  }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n  var isRoot = !path.length;\n  var namespace = store._modules.getNamespace(path);\n\n  // register in namespace map\n  if (module.namespaced) {\n    if (store._modulesNamespaceMap[namespace] && (\"development\" !== 'production')) {\n      console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n    }\n    store._modulesNamespaceMap[namespace] = module;\n  }\n\n  // set state\n  if (!isRoot && !hot) {\n    var parentState = getNestedState(rootState, path.slice(0, -1));\n    var moduleName = path[path.length - 1];\n    store._withCommit(function () {\n      if ((true)) {\n        if (moduleName in parentState) {\n          console.warn(\n            (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n          );\n        }\n      }\n      Vue.set(parentState, moduleName, module.state);\n    });\n  }\n\n  var local = module.context = makeLocalContext(store, namespace, path);\n\n  module.forEachMutation(function (mutation, key) {\n    var namespacedType = namespace + key;\n    registerMutation(store, namespacedType, mutation, local);\n  });\n\n  module.forEachAction(function (action, key) {\n    var type = action.root ? key : namespace + key;\n    var handler = action.handler || action;\n    registerAction(store, type, handler, local);\n  });\n\n  module.forEachGetter(function (getter, key) {\n    var namespacedType = namespace + key;\n    registerGetter(store, namespacedType, getter, local);\n  });\n\n  module.forEachChild(function (child, key) {\n    installModule(store, rootState, path.concat(key), child, hot);\n  });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n  var noNamespace = namespace === '';\n\n  var local = {\n    dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n      var args = unifyObjectStyle(_type, _payload, _options);\n      var payload = args.payload;\n      var options = args.options;\n      var type = args.type;\n\n      if (!options || !options.root) {\n        type = namespace + type;\n        if (( true) && !store._actions[type]) {\n          console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n          return\n        }\n      }\n\n      return store.dispatch(type, payload)\n    },\n\n    commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n      var args = unifyObjectStyle(_type, _payload, _options);\n      var payload = args.payload;\n      var options = args.options;\n      var type = args.type;\n\n      if (!options || !options.root) {\n        type = namespace + type;\n        if (( true) && !store._mutations[type]) {\n          console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n          return\n        }\n      }\n\n      store.commit(type, payload, options);\n    }\n  };\n\n  // getters and state object must be gotten lazily\n  // because they will be changed by vm update\n  Object.defineProperties(local, {\n    getters: {\n      get: noNamespace\n        ? function () { return store.getters; }\n        : function () { return makeLocalGetters(store, namespace); }\n    },\n    state: {\n      get: function () { return getNestedState(store.state, path); }\n    }\n  });\n\n  return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n  if (!store._makeLocalGettersCache[namespace]) {\n    var gettersProxy = {};\n    var splitPos = namespace.length;\n    Object.keys(store.getters).forEach(function (type) {\n      // skip if the target getter is not match this namespace\n      if (type.slice(0, splitPos) !== namespace) { return }\n\n      // extract local getter type\n      var localType = type.slice(splitPos);\n\n      // Add a port to the getters proxy.\n      // Define as getter property because\n      // we do not want to evaluate the getters in this time.\n      Object.defineProperty(gettersProxy, localType, {\n        get: function () { return store.getters[type]; },\n        enumerable: true\n      });\n    });\n    store._makeLocalGettersCache[namespace] = gettersProxy;\n  }\n\n  return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n  var entry = store._mutations[type] || (store._mutations[type] = []);\n  entry.push(function wrappedMutationHandler (payload) {\n    handler.call(store, local.state, payload);\n  });\n}\n\nfunction registerAction (store, type, handler, local) {\n  var entry = store._actions[type] || (store._actions[type] = []);\n  entry.push(function wrappedActionHandler (payload) {\n    var res = handler.call(store, {\n      dispatch: local.dispatch,\n      commit: local.commit,\n      getters: local.getters,\n      state: local.state,\n      rootGetters: store.getters,\n      rootState: store.state\n    }, payload);\n    if (!isPromise(res)) {\n      res = Promise.resolve(res);\n    }\n    if (store._devtoolHook) {\n      return res.catch(function (err) {\n        store._devtoolHook.emit('vuex:error', err);\n        throw err\n      })\n    } else {\n      return res\n    }\n  });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n  if (store._wrappedGetters[type]) {\n    if ((true)) {\n      console.error((\"[vuex] duplicate getter key: \" + type));\n    }\n    return\n  }\n  store._wrappedGetters[type] = function wrappedGetter (store) {\n    return rawGetter(\n      local.state, // local state\n      local.getters, // local getters\n      store.state, // root state\n      store.getters // root getters\n    )\n  };\n}\n\nfunction enableStrictMode (store) {\n  store._vm.$watch(function () { return this._data.$$state }, function () {\n    if ((true)) {\n      assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n    }\n  }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n  return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n  if (isObject(type) && type.type) {\n    options = payload;\n    payload = type;\n    type = type.type;\n  }\n\n  if ((true)) {\n    assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n  }\n\n  return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n  if (Vue && _Vue === Vue) {\n    if ((true)) {\n      console.error(\n        '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n      );\n    }\n    return\n  }\n  Vue = _Vue;\n  applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n  var res = {};\n  if (( true) && !isValidMap(states)) {\n    console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n  }\n  normalizeMap(states).forEach(function (ref) {\n    var key = ref.key;\n    var val = ref.val;\n\n    res[key] = function mappedState () {\n      var state = this.$store.state;\n      var getters = this.$store.getters;\n      if (namespace) {\n        var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n        if (!module) {\n          return\n        }\n        state = module.context.state;\n        getters = module.context.getters;\n      }\n      return typeof val === 'function'\n        ? val.call(this, state, getters)\n        : state[val]\n    };\n    // mark vuex getter for devtools\n    res[key].vuex = true;\n  });\n  return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n  var res = {};\n  if (( true) && !isValidMap(mutations)) {\n    console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n  }\n  normalizeMap(mutations).forEach(function (ref) {\n    var key = ref.key;\n    var val = ref.val;\n\n    res[key] = function mappedMutation () {\n      var args = [], len = arguments.length;\n      while ( len-- ) args[ len ] = arguments[ len ];\n\n      // Get the commit method from store\n      var commit = this.$store.commit;\n      if (namespace) {\n        var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n        if (!module) {\n          return\n        }\n        commit = module.context.commit;\n      }\n      return typeof val === 'function'\n        ? val.apply(this, [commit].concat(args))\n        : commit.apply(this.$store, [val].concat(args))\n    };\n  });\n  return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n  var res = {};\n  if (( true) && !isValidMap(getters)) {\n    console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n  }\n  normalizeMap(getters).forEach(function (ref) {\n    var key = ref.key;\n    var val = ref.val;\n\n    // The namespace has been mutated by normalizeNamespace\n    val = namespace + val;\n    res[key] = function mappedGetter () {\n      if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n        return\n      }\n      if (( true) && !(val in this.$store.getters)) {\n        console.error((\"[vuex] unknown getter: \" + val));\n        return\n      }\n      return this.$store.getters[val]\n    };\n    // mark vuex getter for devtools\n    res[key].vuex = true;\n  });\n  return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n  var res = {};\n  if (( true) && !isValidMap(actions)) {\n    console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n  }\n  normalizeMap(actions).forEach(function (ref) {\n    var key = ref.key;\n    var val = ref.val;\n\n    res[key] = function mappedAction () {\n      var args = [], len = arguments.length;\n      while ( len-- ) args[ len ] = arguments[ len ];\n\n      // get dispatch function from store\n      var dispatch = this.$store.dispatch;\n      if (namespace) {\n        var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n        if (!module) {\n          return\n        }\n        dispatch = module.context.dispatch;\n      }\n      return typeof val === 'function'\n        ? val.apply(this, [dispatch].concat(args))\n        : dispatch.apply(this.$store, [val].concat(args))\n    };\n  });\n  return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n  mapState: mapState.bind(null, namespace),\n  mapGetters: mapGetters.bind(null, namespace),\n  mapMutations: mapMutations.bind(null, namespace),\n  mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n  if (!isValidMap(map)) {\n    return []\n  }\n  return Array.isArray(map)\n    ? map.map(function (key) { return ({ key: key, val: key }); })\n    : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n  return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n  return function (namespace, map) {\n    if (typeof namespace !== 'string') {\n      map = namespace;\n      namespace = '';\n    } else if (namespace.charAt(namespace.length - 1) !== '/') {\n      namespace += '/';\n    }\n    return fn(namespace, map)\n  }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n  var module = store._modulesNamespaceMap[namespace];\n  if (( true) && !module) {\n    console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n  }\n  return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n  if ( ref === void 0 ) ref = {};\n  var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n  var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n  var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n  var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n  var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n  var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n  var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n  var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n  var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n  return function (store) {\n    var prevState = deepCopy(store.state);\n\n    if (typeof logger === 'undefined') {\n      return\n    }\n\n    if (logMutations) {\n      store.subscribe(function (mutation, state) {\n        var nextState = deepCopy(state);\n\n        if (filter(mutation, prevState, nextState)) {\n          var formattedTime = getFormattedTime();\n          var formattedMutation = mutationTransformer(mutation);\n          var message = \"mutation \" + (mutation.type) + formattedTime;\n\n          startMessage(logger, message, collapsed);\n          logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n          logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n          logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n          endMessage(logger);\n        }\n\n        prevState = nextState;\n      });\n    }\n\n    if (logActions) {\n      store.subscribeAction(function (action, state) {\n        if (actionFilter(action, state)) {\n          var formattedTime = getFormattedTime();\n          var formattedAction = actionTransformer(action);\n          var message = \"action \" + (action.type) + formattedTime;\n\n          startMessage(logger, message, collapsed);\n          logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n          endMessage(logger);\n        }\n      });\n    }\n  }\n}\n\nfunction startMessage (logger, message, collapsed) {\n  var startMessage = collapsed\n    ? logger.groupCollapsed\n    : logger.group;\n\n  // render\n  try {\n    startMessage.call(logger, message);\n  } catch (e) {\n    logger.log(message);\n  }\n}\n\nfunction endMessage (logger) {\n  try {\n    logger.groupEnd();\n  } catch (e) {\n    logger.log('—— log end ——');\n  }\n}\n\nfunction getFormattedTime () {\n  var time = new Date();\n  return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n  return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n  return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n  Store: Store,\n  install: install,\n  version: '3.6.2',\n  mapState: mapState,\n  mapMutations: mapMutations,\n  mapGetters: mapGetters,\n  mapActions: mapActions,\n  createNamespacedHelpers: createNamespacedHelpers,\n  createLogger: createLogger\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/vuex/dist/vuex.esm.js?");

/***/ }),

/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
  !*** (webpack)/buildin/global.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("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\n//# sourceURL=webpack:///(webpack)/buildin/global.js?");

/***/ }),

/***/ "./node_modules/webpack/buildin/harmony-module.js":
/*!*******************************************!*\
  !*** (webpack)/buildin/harmony-module.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n//# sourceURL=webpack:///(webpack)/buildin/harmony-module.js?");

/***/ }),

/***/ "./src/App.vue":
/*!*********************!*\
  !*** ./src/App.vue ***!
  \*********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=7ba5bd90&scoped=true& */ \"./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&\");\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ \"./src/App.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css& */ \"./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"7ba5bd90\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/App.vue?vue&type=script&lang=js&":
/*!**********************************************!*\
  !*** ./src/App.vue?vue&type=script&lang=js& ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/babel-loader/lib!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css&":
/*!******************************************************************************!*\
  !*** ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css& ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/vue-style-loader??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&":
/*!****************************************************************!*\
  !*** ./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true& ***!
  \****************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=template&id=7ba5bd90&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/api/index.js":
/*!**************************!*\
  !*** ./src/api/index.js ***!
  \**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ \"./node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/router/index */ \"./src/router/index.js\");\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/store/index */ \"./src/store/index.js\");\n\n\n\n\n\n // import { Message } from 'element-ui'\n\nvar toLogin = function toLogin() {\n  _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].dispatch('user/logout').then(function () {\n    _router_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].push({\n      path: '/login'\n    });\n  });\n};\n\nvar api = axios__WEBPACK_IMPORTED_MODULE_1___default.a.create({\n  baseURL: \"https://demoweb.gcreate.com.tw/lujiaoxiang/public\",\n  timeout: 10000,\n  responseType: 'json' // headers: {\n  //     lang:window.localStorage.getItem('faljxadmin_lang')\n  // }\n  // withCredentials: true\n\n});\napi.interceptors.request.use(function (request) {\n  // request.headers['lang'] = `${window.localStorage.getItem('faljxadmin_lang')}`\n  if (request.method == 'post') {\n    if (request.data instanceof FormData) {\n      if (_store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getters['user/isLogin']) {\n        // 如果是 FormData 类型（上传图片）\n        request.data.append('token', _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state.user.token);\n        request.data.append('lang', _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state.settings.defaultLang);\n      }\n    } else {\n      // 带上 token\n      if (request.data == undefined) {\n        request.data = {};\n      }\n\n      if (_store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getters['user/isLogin']) {\n        request.data.token = _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state.user.token;\n        request.data.lang = _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state.settings.defaultLang;\n      }\n\n      request.data = qs__WEBPACK_IMPORTED_MODULE_2___default.a.stringify(request.data);\n    }\n  } else {\n    // 带上 token\n    if (request.params == undefined) {\n      request.params = {};\n    }\n\n    if (_store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getters['user/isLogin']) {\n      request.params.token = _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state.user.token;\n      request.params.lang = _store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state.settings.defaultLang;\n    }\n  }\n\n  return request;\n});\napi.interceptors.response.use(function (response) {\n  // console.log(response)\n  if (response.data.code != 2000) {\n    // 如果接口请求时发现 token 失效，则立马跳转到登录页\n    if (response.data.code == 3000) {\n      toLogin();\n    } // console.log(response)\n    // Message.error(response.data.data)\n\n\n    return Promise.reject(response.data);\n  }\n\n  return Promise.resolve(response.data);\n}, function (error) {\n  console.log(888);\n  return Promise.reject(error);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (api);\n\n//# sourceURL=webpack:///./src/api/index.js?");

/***/ }),

/***/ "./src/assets/icons sync \\.svg$":
/*!***************************************************!*\
  !*** ./src/assets/icons sync nonrecursive \.svg$ ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var map = {\n\t\"./404.svg\": \"./src/assets/icons/404.svg\",\n\t\"./api.svg\": \"./src/assets/icons/api.svg\",\n\t\"./app.svg\": \"./src/assets/icons/app.svg\",\n\t\"./dd.svg\": \"./src/assets/icons/dd.svg\",\n\t\"./dn.svg\": \"./src/assets/icons/dn.svg\",\n\t\"./example-crown.svg\": \"./src/assets/icons/example-crown.svg\",\n\t\"./example-emotion-laugh-line.svg\": \"./src/assets/icons/example-emotion-laugh-line.svg\",\n\t\"./example-emotion-line.svg\": \"./src/assets/icons/example-emotion-line.svg\",\n\t\"./example-emotion-unhappy-line.svg\": \"./src/assets/icons/example-emotion-unhappy-line.svg\",\n\t\"./example-star.svg\": \"./src/assets/icons/example-star.svg\",\n\t\"./example-vip.svg\": \"./src/assets/icons/example-vip.svg\",\n\t\"./eye-open.svg\": \"./src/assets/icons/eye-open.svg\",\n\t\"./eye.svg\": \"./src/assets/icons/eye.svg\",\n\t\"./fl.svg\": \"./src/assets/icons/fl.svg\",\n\t\"./home.svg\": \"./src/assets/icons/home.svg\",\n\t\"./hy.svg\": \"./src/assets/icons/hy.svg\",\n\t\"./image-load-fail.svg\": \"./src/assets/icons/image-load-fail.svg\",\n\t\"./index-component.svg\": \"./src/assets/icons/index-component.svg\",\n\t\"./index-document.svg\": \"./src/assets/icons/index-document.svg\",\n\t\"./index-page.svg\": \"./src/assets/icons/index-page.svg\",\n\t\"./jcxx.svg\": \"./src/assets/icons/jcxx.svg\",\n\t\"./jg.svg\": \"./src/assets/icons/jg.svg\",\n\t\"./js.svg\": \"./src/assets/icons/js.svg\",\n\t\"./loading-audio.svg\": \"./src/assets/icons/loading-audio.svg\",\n\t\"./loading-ball-triangle.svg\": \"./src/assets/icons/loading-ball-triangle.svg\",\n\t\"./loading-bars.svg\": \"./src/assets/icons/loading-bars.svg\",\n\t\"./loading-circles.svg\": \"./src/assets/icons/loading-circles.svg\",\n\t\"./loading-grid.svg\": \"./src/assets/icons/loading-grid.svg\",\n\t\"./loading-hearts.svg\": \"./src/assets/icons/loading-hearts.svg\",\n\t\"./loading-oval.svg\": \"./src/assets/icons/loading-oval.svg\",\n\t\"./loading-puff.svg\": \"./src/assets/icons/loading-puff.svg\",\n\t\"./loading-rings.svg\": \"./src/assets/icons/loading-rings.svg\",\n\t\"./loading-spinning-circles.svg\": \"./src/assets/icons/loading-spinning-circles.svg\",\n\t\"./loading-tail-spin.svg\": \"./src/assets/icons/loading-tail-spin.svg\",\n\t\"./loading-three-dots.svg\": \"./src/assets/icons/loading-three-dots.svg\",\n\t\"./mark.svg\": \"./src/assets/icons/mark.svg\",\n\t\"./password.svg\": \"./src/assets/icons/password.svg\",\n\t\"./pt.svg\": \"./src/assets/icons/pt.svg\",\n\t\"./qz.svg\": \"./src/assets/icons/qz.svg\",\n\t\"./sidebar-breadcrumb.svg\": \"./src/assets/icons/sidebar-breadcrumb.svg\",\n\t\"./sidebar-default.svg\": \"./src/assets/icons/sidebar-default.svg\",\n\t\"./sidebar-menu.svg\": \"./src/assets/icons/sidebar-menu.svg\",\n\t\"./sj.svg\": \"./src/assets/icons/sj.svg\",\n\t\"./sp.svg\": \"./src/assets/icons/sp.svg\",\n\t\"./spgl.svg\": \"./src/assets/icons/spgl.svg\",\n\t\"./team.svg\": \"./src/assets/icons/team.svg\",\n\t\"./tg.svg\": \"./src/assets/icons/tg.svg\",\n\t\"./toolbar-collapse.svg\": \"./src/assets/icons/toolbar-collapse.svg\",\n\t\"./toolbar-reload.svg\": \"./src/assets/icons/toolbar-reload.svg\",\n\t\"./toolbar-theme.svg\": \"./src/assets/icons/toolbar-theme.svg\",\n\t\"./user.svg\": \"./src/assets/icons/user.svg\",\n\t\"./weal.svg\": \"./src/assets/icons/weal.svg\",\n\t\"./xyxx.svg\": \"./src/assets/icons/xyxx.svg\",\n\t\"./yhj.svg\": \"./src/assets/icons/yhj.svg\",\n\t\"./ym.svg\": \"./src/assets/icons/ym.svg\",\n\t\"./zd.svg\": \"./src/assets/icons/zd.svg\",\n\t\"./zj.svg\": \"./src/assets/icons/zj.svg\",\n\t\"./zzh.svg\": \"./src/assets/icons/zzh.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/assets/icons sync \\\\.svg$\";\n\n//# sourceURL=webpack:///./src/assets/icons_sync_nonrecursive_\\.svg$?");

/***/ }),

/***/ "./src/assets/icons/404.svg":
/*!**********************************!*\
  !*** ./src/assets/icons/404.svg ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-404\",\n  \"use\": \"icon-404-usage\",\n  \"viewBox\": \"0 0 859 586\",\n  \"content\": \"<symbol viewBox=\\\"0 0 859 586\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-404\\\">\\r\\n    <!-- Generator: Sketch 54 (76480) - https://sketchapp.com -->\\r\\n    <title>500-彩色-01</title>\\r\\n    <desc>Created with Sketch.</desc>\\r\\n    <g id=\\\"icon-404_页面1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n        <g id=\\\"icon-404_500-彩色-01\\\" transform=\\\"translate(-1.000000, -1.000000)\\\">\\r\\n            <g id=\\\"icon-404_图层_2\\\" transform=\\\"translate(1.000000, 1.000000)\\\">\\r\\n                <ellipse id=\\\"icon-404_椭圆形\\\" fill=\\\"#E7F4FE\\\" fill-rule=\\\"nonzero\\\" cx=\\\"452\\\" cy=\\\"344\\\" rx=\\\"406.2\\\" ry=\\\"241.1\\\" />\\r\\n                <g id=\\\"icon-404_编组\\\" transform=\\\"translate(646.000000, 401.000000)\\\" fill=\\\"#96CEF7\\\" fill-rule=\\\"nonzero\\\">\\r\\n                    <path d=\\\"M20.7,9.5 L20.7,5.7 C20.7,2.6 23.2,0.1 26.3,0.1 L119.2,0.1 C122.3,0.1 124.8,2.6 124.8,5.7 L124.8,9.6 C124.8,12.7 122.3,15.1 119.3,15.1 L78.4,15.1 C75.3,15.1 72.8,17.6 72.8,20.7 L72.8,24.8 C72.8,27.9 75.3,30.4 78.4,30.4 L86.2,30.4 C89.2,30.4 91.7,32.8 91.8,35.9 L91.9,42.5 C91.9,45.6 89.4,48.1 86.3,48.1 L6.2,48.1 C3.1,48.1 0.6,45.6 0.6,42.5 L0.6,36.1 C0.6,33 3.1,30.6 6.1,30.5 L42.5,30.3 C45.5,30.3 48,27.9 48,24.8 L48.1,20.4 C48.2,17.3 45.6,14.7 42.5,14.7 L26.4,14.9 C23.3,15.1 20.7,12.6 20.7,9.5 Z\\\" id=\\\"icon-404_路径\\\" />\\r\\n                    <circle id=\\\"icon-404_椭圆形\\\" cx=\\\"144.6\\\" cy=\\\"8.4\\\" r=\\\"8.2\\\" />\\r\\n                </g>\\r\\n                <g id=\\\"icon-404_编组\\\" transform=\\\"translate(0.000000, 249.000000)\\\" fill=\\\"#96CEF7\\\" fill-rule=\\\"nonzero\\\">\\r\\n                    <path d=\\\"M158.3,12 L158.3,7.5 C158.3,3.8 155.3,0.8 151.6,0.8 L40.3,0.8 C36.6,0.8 33.6,3.8 33.6,7.5 L33.6,12.1 C33.6,15.8 36.6,18.7 40.2,18.7 L89.2,18.7 C92.9,18.7 95.9,21.7 95.9,25.4 L95.9,30.3 C95.9,34 92.9,37 89.2,37 L79.9,37 C76.3,37 73.3,39.9 73.2,43.5 L73.1,51.4 C73,55.1 76,58.2 79.8,58.2 L175.8,58.2 C179.5,58.2 182.5,55.2 182.5,51.5 L182.5,43.9 C182.5,40.2 179.5,37.3 175.9,37.2 L132.3,36.9 C128.7,36.9 125.8,34 125.7,30.4 L125.6,25.2 C125.5,21.5 128.6,18.4 132.3,18.4 L151.6,18.6 C155.2,18.7 158.3,15.7 158.3,12 Z\\\" id=\\\"icon-404_路径\\\" />\\r\\n                    <circle id=\\\"icon-404_椭圆形\\\" cx=\\\"9.9\\\" cy=\\\"10.6\\\" r=\\\"9.8\\\" />\\r\\n                </g>\\r\\n                <g id=\\\"icon-404_XMLID_3_\\\" transform=\\\"translate(306.000000, 202.000000)\\\" fill-rule=\\\"nonzero\\\">\\r\\n                    <g id=\\\"icon-404_编组\\\">\\r\\n                        <path d=\\\"M207.5,152.8 C207.5,152.8 205.5,167.9 218.6,174.6 L218.6,174.6 C213.1,184.2 206.2,193 198.3,200.7 L198.3,200.7 C178.2,164.9 157.7,186.2 157.7,186.2 C157.7,186.2 145.1,159.7 126.7,164.3 C144.9,152.4 163.5,139 181.6,125.3 C186.5,152.3 207.5,152.8 207.5,152.8 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#96CEF7\\\" />\\r\\n                        <path d=\\\"M218.7,174.6 L218.7,174.6 C205.6,167.9 207.5,152.8 207.5,152.8 C207.5,152.8 186.5,152.2 181.7,125.2 C198.4,112.5 214.7,99.4 230,86.7 C232.6,96.3 234,106.4 233.9,116.9 C233.9,138 228.4,157.6 218.7,174.6 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#309EED\\\" />\\r\\n                        <path d=\\\"M198.4,200.7 L198.4,200.7 C177.4,221 148.9,233.5 117.4,233.5 C114.6,233.5 111.9,233.4 109.2,233.2 L109.2,233.2 C109.2,233.2 100.2,217.1 112.9,208 C112.9,208 96.3,190.5 113.4,172.8 C117.8,170.1 122.3,167.2 126.7,164.3 C145.1,159.7 157.7,186.2 157.7,186.2 C157.7,186.2 178.3,164.9 198.4,200.7 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#309EED\\\" />\\r\\n                        <path d=\\\"M230,86.8 C214.7,99.5 198.4,112.6 181.7,125.3 C181.6,124.8 181.5,124.3 181.5,123.8 C177.3,95.3 205.7,84.4 205.7,84.4 C205.7,84.4 200.7,63.6 224.7,71.6 C226.8,76.4 228.6,81.5 230,86.8 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#309EED\\\" />\\r\\n                        <path d=\\\"M181.4,123.7 C181.5,124.2 181.6,124.7 181.6,125.2 C163.5,139 144.9,152.3 126.7,164.2 C123.7,164.9 120.6,166.5 117.3,169.1 C115.8,170.3 114.5,171.5 113.3,172.7 C88.3,188.2 64.3,200.5 43.4,207 C18.6,186.7 2.4,156.3 0.9,122.1 C0.9,122.1 0.9,122 0.9,122 C1.3,111.4 2.9,101 5.6,91.1 C10.4,92.2 23.3,94.8 29.1,90.6 C36.4,85.4 28.4,142.4 59.7,142.4 C91,142.4 93.4,90.2 93.4,90.2 C93.4,90.2 120.1,91.4 106.7,61.1 C106.7,61.1 124.5,62.6 129.3,44.7 C132.7,32.2 127.1,19.1 116.5,11.6 C112.3,8.6 106.8,5.2 99.6,1.5 C105.3,0.6 111.2,0.2 117.2,0.2 C165.4,0.2 206.8,29.5 224.5,71.2 C200.5,63.2 205.5,84 205.5,84 C205.5,84 177.2,95.2 181.4,123.7 Z M152,117 C152,117 159.6,110.4 157.8,104.2 C156,98 147.5,104.9 147.5,104.9 C147.5,104.9 146.9,86.2 130.5,92.8 C114.1,99.5 125,117 125,117 C137.8,130.8 152,117 152,117 Z\\\" id=\\\"icon-404_形状\\\" fill=\\\"#96CEF7\\\" />\\r\\n                        <path d=\\\"M157.8,104.2 C159.6,110.4 152,117 152,117 C152,117 137.7,130.8 125,117 C125,117 114.1,99.5 130.5,92.8 C146.9,86.1 147.5,104.9 147.5,104.9 C147.5,104.9 156,98 157.8,104.2 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#309EED\\\" />\\r\\n                        <path d=\\\"M43.6,207.1 C64.5,200.6 88.5,188.3 113.5,172.8 C96.4,190.5 113,208 113,208 C100.3,217.1 109.3,233.2 109.3,233.2 L109.3,233.2 C84.4,231.5 61.7,222 43.6,207.1 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#96CEF7\\\" />\\r\\n                        <path d=\\\"M129.5,44.9 C124.6,62.8 106.9,61.3 106.9,61.3 C120.2,91.6 93.6,90.4 93.6,90.4 C93.6,90.4 91.2,142.6 59.9,142.6 C28.6,142.6 36.6,85.6 29.3,90.8 C23.4,95 10.5,92.4 5.8,91.3 C12.5,66.2 26,44 44.2,26.5 C59.9,13.8 79,5.1 99.9,1.9 C107.1,5.6 112.6,9 116.8,12 C127.3,19.3 132.9,32.4 129.5,44.9 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#309EED\\\" />\\r\\n                    </g>\\r\\n                </g>\\r\\n                <circle id=\\\"icon-404_椭圆形\\\" cx=\\\"423.4\\\" cy=\\\"319\\\" r=\\\"116.5\\\" />\\r\\n                <path d=\\\"M487,419.1 C484.6,420.5 482.1,421.9 479.6,423.2\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#000000\\\" />\\r\\n                <path d=\\\"M459.6,429.9 C448.3,433.5 436.3,435.5 423.8,435.5 C359.5,435.5 307.3,383.3 307.3,319 C307.3,254.7 359.5,202.5 423.8,202.5 C488.1,202.5 540.3,254.6 540.3,319 C540.3,358.8 520.3,394 489.8,415\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#000000\\\" stroke-width=\\\"2\\\" />\\r\\n                <path d=\\\"M445.5,470.4 C523.151236,470.4 586.1,407.451236 586.1,329.8 C586.1,252.148764 523.151236,189.2 445.5,189.2 C367.848764,189.2 304.9,252.148764 304.9,329.8 C304.9,407.451236 367.848764,470.4 445.5,470.4 Z\\\" id=\\\"icon-404_椭圆形\\\" stroke=\\\"#5C5C5C\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-dasharray=\\\"3.0047,3.0047\\\" />\\r\\n                <path d=\\\"M441.4,524 C547.217758,524 633,438.217758 633,332.4 C633,226.582242 547.217758,140.8 441.4,140.8 C335.582242,140.8 249.8,226.582242 249.8,332.4 C249.8,438.217758 335.582242,524 441.4,524 Z\\\" id=\\\"icon-404_椭圆形\\\" stroke=\\\"#5C5C5C\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-dasharray=\\\"2.994,2.994\\\" />\\r\\n                <path d=\\\"M303.3,324 C303.3,324 236.4,436.7 338.2,411.2 C440,385.7 668.8,176 668.8,176\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#EF706D\\\" stroke-width=\\\"2\\\" stroke-dasharray=\\\"3,3\\\" />\\r\\n                <path d=\\\"M304.8,330.5 C304.8,330.5 254.3,415.6 331.2,396.3 C408.1,377.1 652.2,153.4 652.2,153.4\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#EF706D\\\" stroke-width=\\\"2\\\" stroke-dasharray=\\\"3,3\\\" />\\r\\n                <g id=\\\"icon-404_XMLID_1_\\\" transform=\\\"translate(624.000000, 0.000000)\\\">\\r\\n                    <g id=\\\"icon-404_编组\\\" transform=\\\"translate(0.000000, 19.000000)\\\" fill-rule=\\\"nonzero\\\">\\r\\n                        <path d=\\\"M161.4,96 C179.2,122.5 186,145.3 176.8,154.4 C163.1,168.1 118.5,145.6 77.2,104.1 C59.5,86.3 45.3,68 35.9,51.7 C34.9,50 34,48.4 33.2,46.8 C31.4,43.5 29.9,40.3 28.6,37.2 C22.2,22.2 21.3,10.3 27.4,4.3 C35.9,-4.2 56.1,1.2 80.1,16.3 C95,25.6 111.2,38.7 127,54.6 C136.3,64 144.7,73.5 151.9,82.8 C155.3,87.3 158.5,91.7 161.4,96 Z M138.4,118.4 C143.7,113.1 130.7,91.5 109.3,70.1 C88,48.7 66.4,35.6 61.1,40.8 C55.8,46 68.9,67.7 90.2,89.1 C111.5,110.5 133.2,123.7 138.4,118.4 Z\\\" id=\\\"icon-404_形状\\\" fill=\\\"#AFD7A3\\\" />\\r\\n                        <path d=\\\"M167.3,47.8 C172.5,60.9 174.4,78.5 161.3,96 C158.4,91.7 155.2,87.3 151.7,82.8 C172.5,69.5 165.6,44 165.6,44 C166.3,45.2 166.8,46.5 167.3,47.8 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#E7B976\\\" />\\r\\n                        <path d=\\\"M109.4,70.2 C130.7,91.6 143.8,113.2 138.5,118.5 C133.2,123.7 111.7,110.6 90.3,89.2 C68.9,67.8 55.9,46.2 61.2,40.9 C66.5,35.6 88,48.7 109.4,70.2 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#E7B976\\\" />\\r\\n                        <path d=\\\"M165.6,44 C165.6,44 172.4,69.5 151.8,82.8 C144.6,73.5 136.3,64 126.9,54.6 C111.1,38.7 94.8,25.7 80,16.3 C80,16.3 101.3,-3.4 138.4,16.1 C141.9,17.9 145.2,20.1 148.3,22.5 C150.6,24.3 152.8,26.3 154.8,28.4 C159.2,33 162.9,38.2 165.6,44 Z M132.3,24.4 C133,23.2 132.7,21.7 131.5,20.9 C130.3,20.2 128.7,20.5 128,21.7 C127.3,22.9 127.6,24.5 128.8,25.2 C130,25.9 131.6,25.6 132.3,24.4 Z M120.4,23.4 C121.9,23.5 123.3,22.7 123.7,21.3 C124,20.2 123.6,18.9 121.2,17.8 C117.1,15.8 109.4,16.3 106.2,16.6 C104.9,16.7 103.6,17.2 102.7,18 C99.6,20.6 102.7,23.8 106.3,23.1 C109.6,22.3 117.1,23 120.4,23.4 Z\\\" id=\\\"icon-404_形状\\\" fill=\\\"#FED37C\\\" />\\r\\n                        <path d=\\\"M176,2.8 C177.2,3.5 154.8,28.4 154.8,28.4 C152.8,26.3 150.6,24.3 148.3,22.5 C148.3,22.6 174.8,2.1 176,2.8 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#AFD7A3\\\" />\\r\\n                        <path d=\\\"M131.5,20.9 C132.7,21.6 133.1,23.2 132.3,24.4 C131.6,25.6 130,26 128.8,25.2 C127.6,24.5 127.2,22.9 128,21.7 C128.7,20.5 130.3,20.2 131.5,20.9 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#FFFFFF\\\" />\\r\\n                        <path d=\\\"M123.7,21.2 C123.3,22.6 121.9,23.5 120.4,23.3 C117.1,22.9 109.6,22.2 106.3,22.9 C102.7,23.7 99.6,20.5 102.7,17.8 C103.7,16.9 104.9,16.5 106.2,16.4 C109.4,16.1 117.1,15.6 121.2,17.6 C123.6,18.9 124,20.2 123.7,21.2 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#FFFFFF\\\" />\\r\\n                        <path d=\\\"M3.9,161.6 C3.7,161.7 3.5,161.7 3.3,161.8 C2.2,159.9 1.1,158.1 0,156.2 C1.2,158 2.6,159.8 3.9,161.6 Z\\\" id=\\\"icon-404_路径\\\" fill=\\\"#D8D7D7\\\" />\\r\\n                    </g>\\r\\n                    <g id=\\\"icon-404_编组\\\" transform=\\\"translate(23.000000, 0.000000)\\\" stroke=\\\"#000000\\\" stroke-width=\\\"2\\\">\\r\\n                        <path d=\\\"M10.2,65.9 C8.4,62.6 6.9,59.4 5.6,56.3\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M12.9,70.8 C11.9,69.1 11,67.5 10.2,65.9\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M5.6,56.3 C-0.8,41.3 -1.7,29.4 4.4,23.4 C12.9,14.9 33.1,20.3 57.1,35.4 C72,44.7 88.2,57.8 104,73.7 C113.3,83.1 121.7,92.6 128.9,101.9 C132.4,106.4 135.6,110.8 138.5,115.1 C156.3,141.6 163.1,164.4 153.9,173.5 C140.2,187.2 95.6,164.7 54.3,123.2 C36.6,105.4 22.4,87.1 13,70.8\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M57,35.4 C57,35.4 78.3,15.7 115.4,35.2 C118.9,37 122.2,39.2 125.3,41.6 C127.6,43.4 129.8,45.4 131.8,47.5 C136.2,52.1 139.9,57.3 142.7,63.1 C143.3,64.3 143.9,65.6 144.4,66.9 C149.6,80 151.5,97.6 138.4,115.1\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M115.4,137.4 C110.1,142.6 88.6,129.5 67.2,108.1 C45.8,86.7 32.8,65.1 38.1,59.8 C43.4,54.6 64.9,67.7 86.3,89.1 C107.7,110.6 120.7,132.2 115.4,137.4 Z\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M125.3,41.6 C125.3,41.6 151.8,21.2 153,21.9 C154.2,22.6 131.8,47.5 131.8,47.5\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M149.4,15.2 L155.5,0.8\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M156.8,19.8 L166.9,10.1\\\" id=\\\"icon-404_路径\\\" />\\r\\n                        <path d=\\\"M159.3,25.7 L172.2,25\\\" id=\\\"icon-404_路径\\\" />\\r\\n                    </g>\\r\\n                </g>\\r\\n                <path d=\\\"M624,70.7 C624,70.7 631.6,66.6 639,70.7\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#FFFFFF\\\" />\\r\\n                <path d=\\\"M657.2,22.8 C657.2,22.8 671.2,17.5 716.5,48.2\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#FFFFFF\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\r\\n                <path d=\\\"M720.5,51 C720.5,51 776.5,94.6 796.4,142.7\\\" id=\\\"icon-404_路径\\\" stroke=\\\"#FFFFFF\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\r\\n            </g>\\r\\n        </g>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/404.svg?");

/***/ }),

/***/ "./src/assets/icons/api.svg":
/*!**********************************!*\
  !*** ./src/assets/icons/api.svg ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-api\",\n  \"use\": \"icon-api-usage\",\n  \"viewBox\": \"0 0 1121 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1121 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-api\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M1121.335259 662.764396H814.255549V371.961528H1121.335259z m-226.885882-80.193827H1041.141431V452.155356H894.449377zM963.165463 290.802868h-306.991997V0h306.991997z m-226.798169-80.193828h146.604342V80.193828h-146.604342zM921.314309 1023.98747H614.247131V733.184601h307.067178z m-226.873351-80.193828h146.679524V813.378429H694.440958z\\\" p-id=\\\"17929\\\" /><path d=\\\"M0 479.057879h865.692372v80.193828H0z\\\" p-id=\\\"17930\\\" /><path d=\\\"M149.849686 545.631287L92.974719 489.094638 464.322263 115.529233h248.31267v80.193828H497.690414l-347.840728 349.908226zM654.331514 918.68295h-149.110399L242.63645 542.085216l65.784-45.860846L547.072269 838.489122h107.259245v80.193828z\\\" p-id=\\\"17931\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/api.svg?");

/***/ }),

/***/ "./src/assets/icons/app.svg":
/*!**********************************!*\
  !*** ./src/assets/icons/app.svg ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-app\",\n  \"use\": \"icon-app-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-app\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M798.723234 174.782745c0-60.576657-49.106418-109.683075-109.683075-109.683075l-354.708628 0c-60.576657 0-109.683075 49.106418-109.683075 109.683075l0 673.980161c0 60.576657 49.106418 109.683075 109.683075 109.683075l354.708628 0c60.576657 0 109.683075-49.106418 109.683075-109.683075L798.723234 174.782745zM264.557398 237.015112l494.256894 0 0 529.049305-494.256894 0L264.557398 237.015112zM334.356091 105.008612 689.016623 105.008612c38.548968 0 69.798692 31.249725 69.798692 69.798692l0 22.298865-494.256894 0 0-22.298865C264.557398 136.25936 295.807123 105.008612 334.356091 105.008612zM689.016623 918.53704 334.356091 918.53704c-38.548968 0-69.798692-31.249725-69.798692-69.798692l0-43.788296 494.256894 0 0 43.788296C758.814292 887.287315 727.564567 918.53704 689.016623 918.53704z\\\" p-id=\\\"5433\\\" /><path d=\\\"M513.173732 829.943282c-16.70752 0-30.30112 13.5936-30.30112 30.30112 0 16.70752 13.5936 30.30112 30.30112 30.30112s30.299073-13.5936 30.299073-30.30112C543.472805 843.536882 529.881253 829.943282 513.173732 829.943282z\\\" p-id=\\\"5434\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/app.svg?");

/***/ }),

/***/ "./src/assets/icons/dd.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/dd.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-dd\",\n  \"use\": \"icon-dd-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-dd\\\"><path d=\\\"M800.037628 928.016126 223.962372 928.016126c-52.980346 0-95.983874-43.003528-95.983874-95.983874l0-639.892491c0-52.980346 43.003528-95.983874 95.983874-95.983874l575.903242 0c52.980346 0 95.983874 43.003528 95.983874 95.983874l0 639.892491C896.021502 884.840585 852.84596 928.016126 800.037628 928.016126zM223.962372 159.973123c-17.545439 0-31.994625 14.449185-31.994625 31.994625l0 639.892491c0 17.717453 14.449185 31.994625 31.994625 31.994625l575.903242 0c17.717453 0 31.994625-14.277171 31.994625-31.994625l0-639.892491c0-17.545439-14.277171-31.994625-31.994625-31.994625L223.962372 159.973123z\\\" p-id=\\\"2687\\\" /><path d=\\\"M640.924576 544.768688 287.779607 544.768688c-17.717453 0-31.994625-14.277171-31.994625-31.994625 0-17.717453 14.277171-31.994625 31.994625-31.994625l353.144969 0c17.717453 0 31.994625 14.277171 31.994625 31.994625C672.9192 530.491517 658.642029 544.768688 640.924576 544.768688z\\\" p-id=\\\"2688\\\" /><path d=\\\"M734.84428 735.532337l-447.236687 0c-17.717453 0-31.994625-14.277171-31.994625-31.994625s14.277171-31.994625 31.994625-31.994625l447.236687 0c17.717453 0 31.994625 14.277171 31.994625 31.994625S752.561734 735.532337 734.84428 735.532337z\\\" p-id=\\\"2689\\\" /><path d=\\\"M255.784982 305.325046c0 26.490173 21.501764 47.991937 47.991937 47.991937s47.991937-21.501764 47.991937-47.991937-21.501764-47.991937-47.991937-47.991937S255.784982 278.834873 255.784982 305.325046z\\\" p-id=\\\"2690\\\" /><path d=\\\"M463.061986 305.325046c0 26.490173 21.501764 47.991937 47.991937 47.991937s47.991937-21.501764 47.991937-47.991937-21.501764-47.991937-47.991937-47.991937S463.061986 278.834873 463.061986 305.325046z\\\" p-id=\\\"2691\\\" /><path d=\\\"M671.199059 305.325046c0 26.490173 21.501764 47.991937 47.991937 47.991937s47.991937-21.501764 47.991937-47.991937-21.501764-47.991937-47.991937-47.991937S671.199059 278.834873 671.199059 305.325046z\\\" p-id=\\\"2692\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/dd.svg?");

/***/ }),

/***/ "./src/assets/icons/dn.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/dn.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-dn\",\n  \"use\": \"icon-dn-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-dn\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M554.666667 682.666667v85.333333h128v42.666667H384v-42.666667h128v-85.333333H170.666667V213.333333h725.333333v469.333334h-341.333333z m0-42.666667h298.666666V256H213.333333v384h341.333334z\\\" fill=\\\"#444444\\\" p-id=\\\"4510\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/dn.svg?");

/***/ }),

/***/ "./src/assets/icons/example-crown.svg":
/*!********************************************!*\
  !*** ./src/assets/icons/example-crown.svg ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-example-crown\",\n  \"use\": \"icon-example-crown-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-example-crown\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M136.533333 273.066667l669.047467 422.058666c10.6496 6.724267 15.837867 20.48 12.6976 33.5872-3.106133 13.073067-13.824 22.186667-26.077867 22.2208H238.421333c-27.306667 0-50.346667-22.4256-53.725866-52.3264L136.533333 273.066667z\\\" fill=\\\"#DCA54F\\\" p-id=\\\"1009\\\" /><path d=\\\"M834.218667 698.606933c-3.345067 29.9008-26.385067 52.3264-53.691734 52.3264H245.794133c-12.288 0-41.984-9.1136-45.124266-22.186666-3.1744-13.073067 2.048-26.862933 12.6976-33.5872L882.346667 273.066667l-48.128 425.506133z\\\" fill=\\\"#DCA54F\\\" p-id=\\\"1010\\\" /><path d=\\\"M512 170.666667l298.427733 490.5984a61.44 61.44 0 0 1 2.184534 59.323733c-9.489067 18.705067-27.818667 30.344533-47.7184 30.344533H512V170.666667z\\\" fill=\\\"#E7B15C\\\" p-id=\\\"1011\\\" /><path d=\\\"M512 170.666667L196.061867 666.0096a61.44 61.44 0 0 0-2.184534 59.323733c9.489067 18.705067 27.3408 25.6 47.240534 25.6H512V170.666667z\\\" fill=\\\"#F2D59C\\\" p-id=\\\"1012\\\" /><path d=\\\"M459.776 153.326933c0 18.193067 9.966933 34.986667 26.112 44.100267a53.3504 53.3504 0 0 0 52.224 0c16.145067-9.1136 26.112-25.941333 26.112-44.100267C564.224 125.201067 540.842667 102.4 512 102.4s-52.224 22.801067-52.224 50.926933z m391.543467 101.853867c-0.4096 18.432 9.454933 35.669333 25.770666 45.021867 16.315733 9.3184 36.522667 9.3184 52.872534 0 16.315733-9.352533 26.180267-26.589867 25.770666-45.056-0.6144-27.648-23.825067-49.800533-52.224-49.800534-28.3648 0-51.541333 22.152533-52.189866 49.834667z m-783.018667 0c-0.443733 18.432 9.4208 35.669333 25.736533 45.021867 16.315733 9.3184 36.522667 9.3184 52.872534 0 16.315733-9.352533 26.180267-26.589867 25.770666-45.056-0.6144-27.648-23.825067-49.800533-52.224-49.800534-28.3648 0-51.541333 22.152533-52.189866 49.834667z\\\" fill=\\\"#E7B15C\\\" p-id=\\\"1013\\\" /><path d=\\\"M204.8 819.2m34.133333 0l546.133334 0q34.133333 0 34.133333 34.133333l0 0q0 34.133333-34.133333 34.133334l-546.133334 0q-34.133333 0-34.133333-34.133334l0 0q0-34.133333 34.133333-34.133333Z\\\" fill=\\\"#DCA54F\\\" p-id=\\\"1014\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/example-crown.svg?");

/***/ }),

/***/ "./src/assets/icons/example-emotion-laugh-line.svg":
/*!*********************************************************!*\
  !*** ./src/assets/icons/example-emotion-laugh-line.svg ***!
  \*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-example-emotion-laugh-line\",\n  \"use\": \"icon-example-emotion-laugh-line-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-example-emotion-laugh-line\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m0 85.333334a341.333333 341.333333 0 1 0 0 682.666666 341.333333 341.333333 0 0 0 0-682.666666z m0 298.666666c85.333333 0 156.458667 14.208 213.333333 42.666667a213.333333 213.333333 0 0 1-426.666666 0c56.874667-28.458667 128-42.666667 213.333333-42.666667zM362.666667 298.666667a106.666667 106.666667 0 0 1 104.533333 85.333333h-209.066667A106.666667 106.666667 0 0 1 362.666667 298.666667z m298.666666 0a106.666667 106.666667 0 0 1 104.533334 85.333333h-209.066667a106.666667 106.666667 0 0 1 104.533333-85.333333z\\\" p-id=\\\"1667\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/example-emotion-laugh-line.svg?");

/***/ }),

/***/ "./src/assets/icons/example-emotion-line.svg":
/*!***************************************************!*\
  !*** ./src/assets/icons/example-emotion-line.svg ***!
  \***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-example-emotion-line\",\n  \"use\": \"icon-example-emotion-line-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-example-emotion-line\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M512 938.666667C276.352 938.666667 85.333333 747.648 85.333333 512S276.352 85.333333 512 85.333333s426.666667 191.018667 426.666667 426.666667-191.018667 426.666667-426.666667 426.666667z m0-85.333334a341.333333 341.333333 0 1 0 0-682.666666 341.333333 341.333333 0 0 0 0 682.666666z m-170.666667-298.666666h341.333334a170.666667 170.666667 0 1 1-341.333334 0z m0-85.333334a64 64 0 1 1 0-128 64 64 0 0 1 0 128z m341.333334 0a64 64 0 1 1 0-128 64 64 0 0 1 0 128z\\\" p-id=\\\"1530\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/example-emotion-line.svg?");

/***/ }),

/***/ "./src/assets/icons/example-emotion-unhappy-line.svg":
/*!***********************************************************!*\
  !*** ./src/assets/icons/example-emotion-unhappy-line.svg ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-example-emotion-unhappy-line\",\n  \"use\": \"icon-example-emotion-unhappy-line-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-example-emotion-unhappy-line\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M512 938.666667C276.352 938.666667 85.333333 747.648 85.333333 512S276.352 85.333333 512 85.333333s426.666667 191.018667 426.666667 426.666667-191.018667 426.666667-426.666667 426.666667z m0-85.333334a341.333333 341.333333 0 1 0 0-682.666666 341.333333 341.333333 0 0 0 0 682.666666z m-213.333333-128a213.333333 213.333333 0 0 1 426.666666 0h-85.333333a128 128 0 0 0-256 0H298.666667z m42.666666-256a64 64 0 1 1 0-128 64 64 0 0 1 0 128z m341.333334 0a64 64 0 1 1 0-128 64 64 0 0 1 0 128z\\\" p-id=\\\"1804\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/example-emotion-unhappy-line.svg?");

/***/ }),

/***/ "./src/assets/icons/example-star.svg":
/*!*******************************************!*\
  !*** ./src/assets/icons/example-star.svg ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-example-star\",\n  \"use\": \"icon-example-star-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-example-star\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M512 768l-249.941333 131.413333a28.444444 28.444444 0 0 1-41.244445-30.008889l47.701334-278.300444-202.183112-197.091556a28.444444 28.444444 0 0 1 15.758223-48.526222l279.438222-40.590222 124.956444-253.212444a28.444444 28.444444 0 0 1 51.029334 0l124.956444 253.212444 279.438222 40.590222a28.444444 28.444444 0 0 1 15.758223 48.526222l-202.183112 197.12 47.729778 278.272a28.444444 28.444444 0 0 1-41.272889 29.980445L512 768z\\\" fill=\\\"#FFC500\\\" p-id=\\\"873\\\" /><path d=\\\"M512 768l-249.941333 131.413333a28.444444 28.444444 0 0 1-41.244445-30.008889l47.701334-278.300444c36.124444-190.805333 67.128889-286.208 93.013333-286.208 38.826667 0 393.955556 261.774222 393.955555 286.208 0 16.298667-81.180444 75.264-243.484444 176.896z\\\" fill=\\\"#FED902\\\" p-id=\\\"874\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/example-star.svg?");

/***/ }),

/***/ "./src/assets/icons/example-vip.svg":
/*!******************************************!*\
  !*** ./src/assets/icons/example-vip.svg ***!
  \******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-example-vip\",\n  \"use\": \"icon-example-vip-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-example-vip\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M270.218971 121.212343h483.474286a29.257143 29.257143 0 0 1 23.3472 11.644343l188.416 249.885257a29.257143 29.257143 0 0 1-1.8432 37.419886L533.942857 887.749486a29.257143 29.257143 0 0 1-43.037257 0.058514L60.416 421.595429a29.257143 29.257143 0 0 1-1.930971-37.390629l188.328228-251.260343a29.257143 29.257143 0 0 1 23.405714-11.702857z\\\" fill=\\\"#FFA100\\\" p-id=\\\"1151\\\" /><path d=\\\"M768.292571 121.212343l197.163886 261.558857a29.257143 29.257143 0 0 1-1.8432 37.390629L532.714057 889.066057a11.702857 11.702857 0 0 1-20.304457-7.899428L512 257.024l256.292571-135.840914z\\\" fill=\\\"#FFC663\\\" p-id=\\\"1152\\\" /><path d=\\\"M721.598171 386.340571a29.257143 29.257143 0 0 1 0.994743 1.024l22.7328 23.873829a29.257143 29.257143 0 0 1 0 40.3456l-189.410743 198.890057-22.7328 23.873829a29.257143 29.257143 0 0 1-1.726171 1.667657l1.755429-1.667657a29.4912 29.4912 0 0 1-19.456 9.0112 28.935314 28.935314 0 0 1-18.080915-4.9152 30.193371 30.193371 0 0 1-4.856685-4.096l1.960228 1.872457-0.965486-0.877714-0.994742-0.994743-22.7328-23.873829-189.410743-198.890057a29.257143 29.257143 0 0 1 0-40.374857l22.7328-23.844572a29.257143 29.257143 0 0 1 42.364343 0L512 563.960686l168.228571-176.596115a29.257143 29.257143 0 0 1 41.3696-1.024z\\\" fill=\\\"#FFFFFF\\\" p-id=\\\"1153\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/example-vip.svg?");

/***/ }),

/***/ "./src/assets/icons/eye-open.svg":
/*!***************************************!*\
  !*** ./src/assets/icons/eye-open.svg ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-eye-open\",\n  \"use\": \"icon-eye-open-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-eye-open\\\"><defs><style></style></defs><path d=\\\"M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/eye-open.svg?");

/***/ }),

/***/ "./src/assets/icons/eye.svg":
/*!**********************************!*\
  !*** ./src/assets/icons/eye.svg ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-eye\",\n  \"use\": \"icon-eye-usage\",\n  \"viewBox\": \"0 0 128 64\",\n  \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 64\\\" id=\\\"icon-eye\\\"><path d=\\\"M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/eye.svg?");

/***/ }),

/***/ "./src/assets/icons/fl.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/fl.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-fl\",\n  \"use\": \"icon-fl-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-fl\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M256 234.666667a21.333333 21.333333 0 0 0-21.333333 21.333333v170.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h170.666667a21.333333 21.333333 0 0 0 21.333333-21.333333V256a21.333333 21.333333 0 0 0-21.333333-21.333333H256z m0-42.666667h170.666667A64 64 0 0 1 490.666667 256v170.666667a64 64 0 0 1-64 64H256A64 64 0 0 1 192 426.666667V256A64 64 0 0 1 256 192zM533.333333 298.666667a21.333333 21.333333 0 1 1 42.666667 0 106.666667 106.666667 0 1 0 213.333333 0 21.333333 21.333333 0 1 1 42.666667 0 149.333333 149.333333 0 0 1-298.666667 0zM256 576a21.333333 21.333333 0 0 0-21.333333 21.333333v170.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h170.666667a21.333333 21.333333 0 0 0 21.333333-21.333333v-170.666667a21.333333 21.333333 0 0 0-21.333333-21.333333H256z m0-42.666667h170.666667a64 64 0 0 1 64 64v170.666667a64 64 0 0 1-64 64H256A64 64 0 0 1 192 768v-170.666667A64 64 0 0 1 256 533.333333zM597.333333 576a21.333333 21.333333 0 0 0-21.333333 21.333333v170.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h170.666667a21.333333 21.333333 0 0 0 21.333333-21.333333v-170.666667a21.333333 21.333333 0 0 0-21.333333-21.333333h-170.666667z m0-42.666667h170.666667a64 64 0 0 1 64 64v170.666667a64 64 0 0 1-64 64h-170.666667a64 64 0 0 1-64-64v-170.666667a64 64 0 0 1 64-64z\\\" fill=\\\"#333333\\\" p-id=\\\"1516\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/fl.svg?");

/***/ }),

/***/ "./src/assets/icons/home.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/home.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-home\",\n  \"use\": \"icon-home-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-home\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M958.400956 451.54921c-0.058328-5.760191-2.597151-11.215436-6.965645-14.97097L524.345166 69.511143c-7.498788-6.445806-18.581194-6.445806-26.079982 0L309.582871 231.6755l0-102.017488c0-11.04966-8.901741-19.532869-19.951401-19.532869l-88.034009 0c-11.048637 0-19.928888 8.482185-19.928888 19.532869l0 211.954343L71.176063 436.57824c-4.423753 3.800559-6.967692 9.341762-6.967692 15.173584l0 105.500822c0 7.819083 4.554736 14.921851 11.660574 18.183128 2.670829 1.226944 5.51562 1.824555 8.343015 1.824555 4.699022 0 9.346879-1.654686 13.048177-4.836145l53.29788-45.825698 0 324.100516c0 60.677964 49.364291 110.042255 110.042255 110.042255L764.792447 960.741257c60.677964 0 110.042255-49.364291 110.042255-110.042255L874.834702 527.026228l51.585889 44.335764c5.955642 5.119601 14.356986 6.282077 21.481244 2.965541 7.122211-3.313465 11.645225-10.488889 11.565407-18.342764L958.400956 451.54921zM221.578538 150.034085l48.095391 0 0 115.941616-48.095391 41.336454L221.578538 150.034085zM570.718333 920.725892 436.666244 920.725892 436.666244 700.642404c0-11.031241 8.976442-20.007683 20.007683-20.007683l94.0357 0c11.031241 0 20.007683 8.976442 20.007683 20.007683L570.71731 920.725892zM834.818313 495.895207l0 354.803795c0 38.612413-31.414477 70.02689-70.02689 70.02689l-154.058748 0L610.732675 700.642404c0-33.096792-26.926256-60.023048-60.023048-60.023048l-94.0357 0c-33.096792 0-60.023048 26.926256-60.023048 60.023048l0 220.084511L260.59925 920.726915c-38.612413 0-70.02689-31.414477-70.02689-70.02689L190.57236 495.895207c0-1.172709-0.121773-2.314719-0.315178-3.432169l322.113255-276.958846 322.70268 277.348726C834.921667 493.848595 834.818313 494.858598 834.818313 495.895207zM525.411451 173.947727c-7.502881-6.445806-18.587334-6.446829-26.086122 0.00307L104.223736 513.663896l0-52.726875 407.081439-349.870436 407.176606 349.9523 0.521886 51.205219L525.411451 173.947727z\\\" p-id=\\\"2163\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/home.svg?");

/***/ }),

/***/ "./src/assets/icons/hy.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/hy.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-hy\",\n  \"use\": \"icon-hy-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-hy\\\"><path d=\\\"M512 256a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0-42.666667a42.666667 42.666667 0 1 1 0-85.333333 42.666667 42.666667 0 0 1 0 85.333333z m-202.218667 317.397334a21.333333 21.333333 0 0 0 26.069334-4.458667L512 330.56l176.149333 195.712a21.333333 21.333333 0 0 0 26.069334 4.458667l196.522666-107.2L835.136 896H188.949333l-14.122666-91.968H738.346667a21.333333 21.333333 0 1 0 0-42.666667H149.973333a21.333333 21.333333 0 0 0-21.077333 24.576l20.693333 134.634667A21.333333 21.333333 0 0 0 170.666667 938.666667h682.666666a21.333333 21.333333 0 0 0 21.056-17.962667l85.333334-533.333333a21.333333 21.333333 0 0 0-31.274667-22.101334l-219.861333 119.936-180.736-200.810666a21.333333 21.333333 0 0 0-31.701334 0l-180.736 200.810666L95.573333 365.269333a21.333333 21.333333 0 0 0-31.274666 22.208l46.165333 278.677334A21.333333 21.333333 0 0 0 152.533333 659.2L113.536 423.68l196.266667 107.050667z\\\" fill=\\\"#3D3D3D\\\" p-id=\\\"3645\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/hy.svg?");

/***/ }),

/***/ "./src/assets/icons/image-load-fail.svg":
/*!**********************************************!*\
  !*** ./src/assets/icons/image-load-fail.svg ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-image-load-fail\",\n  \"use\": \"icon-image-load-fail-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-image-load-fail\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M776 328m-72 0a72 72 0 1 0 144 0 72 72 0 1 0-144 0Z\\\" p-id=\\\"1593\\\" /><path d=\\\"M999.904 116.608a32 32 0 0 0-21.952-10.912l-456.192-31.904a31.552 31.552 0 0 0-27.2 11.904l-92.192 114.848a32 32 0 0 0 0.672 40.896l146.144 169.952-147.456 194.656 36.48-173.376a32 32 0 0 0-11.136-31.424L235.616 245.504l79.616-125.696a32 32 0 0 0-29.28-49.024l-240.192 16.768a32 32 0 0 0-29.696 34.176l55.808 798.016a32.064 32.064 0 0 0 34.304 29.696l176.512-13.184c17.632-1.312 30.848-16.672 29.504-34.272s-16.576-31.04-34.304-29.536l-144.448 10.784-6.432-92.512 125.312-12.576a32 32 0 0 0 28.672-35.04 32.16 32.16 0 0 0-35.04-28.672l-123.392 12.416L82.144 149.184l145.152-10.144-60.96 96.224a32 32 0 0 0 6.848 41.952l198.4 161.344-58.752 279.296a30.912 30.912 0 0 0 0.736 14.752 31.68 31.68 0 0 0 1.408 11.04l51.52 154.56a31.968 31.968 0 0 0 27.456 21.76l523.104 47.552a32.064 32.064 0 0 0 34.848-29.632L1007.68 139.84a32.064 32.064 0 0 0-7.776-23.232z m-98.912 630.848l-412.576-39.648a31.52 31.52 0 0 0-34.912 28.768 32 32 0 0 0 28.8 34.912l414.24 39.808-6.272 89.536-469.728-42.72-39.584-118.72 234.816-310.016a31.936 31.936 0 0 0-1.248-40.192L468.896 219.84l65.088-81.056 407.584 28.48-40.576 580.192z\\\" p-id=\\\"1594\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/image-load-fail.svg?");

/***/ }),

/***/ "./src/assets/icons/index-component.svg":
/*!**********************************************!*\
  !*** ./src/assets/icons/index-component.svg ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-index-component\",\n  \"use\": \"icon-index-component-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-index-component\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M972.09863 1016.986301H259.506849c-19.638356 0-35.068493-15.430137-35.068493-35.068493V768.70137c-8.416438 5.610959-18.235616 9.819178-28.054794 12.624657h-1.40274c-12.624658 4.208219-26.652055 5.610959-39.276712 5.610959-77.150685 0-138.871233-63.123288-138.871233-138.871233 0-77.150685 63.123288-138.871233 138.871233-138.871232 14.027397 0 28.054795 2.805479 42.082191 7.013698 1.40274 0 2.805479 1.40274 4.20822 1.40274 7.013699 2.805479 14.027397 5.610959 19.638356 8.416438l2.805479 1.40274V269.326027c0-19.638356 15.430137-35.068493 35.068493-35.068493h228.646576l-4.20822-8.416438c-7.013699-11.221918-12.624658-22.443836-15.430137-35.068493v-1.40274c-4.208219-12.624658-5.610959-26.652055-5.610958-39.276712C462.90411 72.942466 526.027397 11.221918 601.775342 11.221918c77.150685 0 138.871233 63.123288 138.871233 138.871233 0 14.027397-2.805479 28.054795-7.013698 42.082191 0 1.40274-1.40274 2.805479-1.40274 4.20822-2.805479 7.013699-5.610959 14.027397-8.416438 19.638356l-7.013699 16.832877h255.29863c19.638356 0 35.068493 15.430137 35.068493 35.068493v314.213698c0 11.221918-5.610959 22.443836-15.430137 29.457535-9.819178 7.013699-22.443836 7.013699-33.665753 2.805479L897.753425 587.747945c-1.40274 0-1.40274-1.40274-2.80548-1.40274-2.805479-1.40274-7.013699-4.208219-11.221918-5.610958h-1.402739c-7.013699-2.805479-14.027397-2.805479-21.041096-2.80548-37.873973 0-68.734247 30.860274-68.734247 68.734247s30.860274 68.734247 68.734247 68.734246c7.013699 0 14.027397-1.40274 19.638356-2.805479 7.013699-1.40274 12.624658-5.610959 18.235616-8.416439 1.40274-1.40274 2.805479-1.40274 4.20822-2.805479l53.304109-25.249315c11.221918-5.610959 23.846575-4.208219 33.665754 1.40274s16.832877 18.235616 16.832876 29.457534V981.917808c0 19.638356-15.430137 35.068493-35.068493 35.068493z m-677.523288-70.136986h642.454795v-182.356164h-1.40274c-11.221918 7.013699-22.443836 12.624658-35.068493 16.832876h-1.40274c-12.624658 4.208219-26.652055 5.610959-39.276712 5.610959-77.150685 0-138.871233-63.123288-138.871233-138.871233 0-77.150685 63.123288-138.871233 138.871233-138.871232 14.027397 0 28.054795 2.805479 42.082192 7.013698 1.40274 0 2.805479 1.40274 4.208219 1.40274 7.013699 2.805479 14.027397 5.610959 19.638356 8.416438l9.819178 4.208219v-224.438356H662.093151c-11.221918 0-22.443836-5.610959-29.457535-15.430137-7.013699-9.819178-7.013699-22.443836-2.805479-33.665753l29.457534-67.331507c0-1.40274 1.40274-1.40274 1.40274-2.805479 1.40274-2.805479 4.208219-7.013699 5.610959-11.221918v-1.40274c2.805479-7.013699 2.805479-14.027397 2.805479-21.041096 0-37.873973-30.860274-68.734247-68.734246-68.734246s-68.734247 30.860274-68.734247 68.734246c0 7.013699 1.40274 14.027397 2.80548 19.638356 1.40274 7.013699 5.610959 12.624658 8.416438 18.235617 1.40274 1.40274 1.40274 2.805479 2.805479 4.208219l28.054795 60.317808c5.610959 11.221918 4.208219 23.846575-1.40274 33.665754s-18.235616 16.832877-29.457534 16.832876H294.575342v274.936987c0 11.221918-5.610959 22.443836-15.430137 29.457534-9.819178 7.013699-22.443836 7.013699-33.665753 2.805479L192.175342 589.150685c-1.40274 0-1.40274-1.40274-2.805479-1.40274-2.805479-1.40274-7.013699-4.208219-11.221918-5.610959h-1.40274c-7.013699-2.805479-14.027397-2.805479-21.041095-2.805479-37.873973 0-68.734247 30.860274-68.734247 68.734246s30.860274 68.734247 68.734247 68.734247c7.013699 0 14.027397-1.40274 19.638356-2.805479 7.013699-1.40274 12.624658-5.610959 18.235616-8.416439 1.40274-1.40274 2.805479-1.40274 4.208219-2.805479l46.290411-22.443836c11.221918-5.610959 23.846575-4.208219 33.665754 1.40274 9.819178 7.013699 16.832877 18.235616 16.832876 29.457534v235.660274z\\\" p-id=\\\"2909\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/index-component.svg?");

/***/ }),

/***/ "./src/assets/icons/index-document.svg":
/*!*********************************************!*\
  !*** ./src/assets/icons/index-document.svg ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-index-document\",\n  \"use\": \"icon-index-document-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-index-document\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M346.96 320.528l329.936 0 0 48-329.936 0 0-48Z\\\" p-id=\\\"2439\\\" /><path d=\\\"M346.96 435.568l329.936 0 0 48-329.936 0 0-48Z\\\" p-id=\\\"2440\\\" /><path d=\\\"M816.24 127.984l-608 0c-8.848 0-16 7.152-16 16l0 533.168c-0.176 1.536-0.464 3.056-0.464 4.64 0 78.592 58.896 143.552 134.848 153.424l-0.464 0.352 474.096 60.448c17.664 0 32-14.32 32-32L832.256 143.984C832.24 135.136 825.072 127.984 816.24 127.984zM752.24 803.296l-317.44-186.16c-7.456-4.736-13.504-1.424-13.504 7.424l0 54.752 0-0.224c-0.064 0.912 0 1.776 0 2.704 0 41.28-33.392 74.864-74.672 74.864s-74.384-30.848-74.384-72.128c0-1.456 0.144-3.52 0-4.928l0-2.048L272.24 207.984l480 0L752.24 803.296z\\\" p-id=\\\"2441\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/index-document.svg?");

/***/ }),

/***/ "./src/assets/icons/index-page.svg":
/*!*****************************************!*\
  !*** ./src/assets/icons/index-page.svg ***!
  \*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-index-page\",\n  \"use\": \"icon-index-page-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-index-page\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M0 60.235294l0 903.529412 1024 0 0-903.529412-1024 0zM963.764706 120.470588l0 180.705882-903.529412 0 0-180.705882 903.529412 0zM60.235294 903.529412l0-542.117647 903.529412 0 0 542.117647-903.529412 0zM421.647059 240.941176l-60.235294 0 0-60.235294 60.235294 0 0 60.235294zM301.176471 240.941176l-60.235294 0 0-60.235294 60.235294 0 0 60.235294zM180.705882 240.941176l-60.235294 0 0-60.235294 60.235294 0 0 60.235294z\\\" p-id=\\\"9982\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/index-page.svg?");

/***/ }),

/***/ "./src/assets/icons/jcxx.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/jcxx.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-jcxx\",\n  \"use\": \"icon-jcxx-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-jcxx\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M201.152 395.2l-132.608-57.92a64 64 0 0 1 0-117.28L486.688 37.44a64 64 0 0 1 51.2 0l418.144 182.56a64 64 0 0 1 0 117.312l-133.184 58.144 132.608 57.92a64 64 0 0 1 0 117.28l-132.608 57.92 133.184 58.112a64 64 0 0 1 0 117.312L537.92 986.56a64 64 0 0 1-51.2 0L68.544 804a64 64 0 0 1 0-117.312l132.608-57.888-133.184-58.144a64 64 0 0 1 0-117.312l133.184-58.144z m336.736 360.32a64 64 0 0 1-51.2 0L278.72 664.8l-184.608 80.576 418.144 182.56 418.144-182.56-184.576-80.576-207.968 90.784z m-0.576-233.344a64 64 0 0 1-51.2 0l-207.968-90.752L93.568 512l418.144 182.56L929.856 512l-184.608-80.576-207.936 90.752zM512.32 96.096L94.144 278.656l418.144 182.528 418.144-182.528L512.32 96.096z\\\" fill=\\\"#2A2A37\\\" p-id=\\\"8966\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/jcxx.svg?");

/***/ }),

/***/ "./src/assets/icons/jg.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/jg.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-jg\",\n  \"use\": \"icon-jg-usage\",\n  \"viewBox\": \"0 0 1157 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1157 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-jg\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M0 1024v-60.237913h86.817391V120.475826C86.817391 53.960348 138.640696 0 202.573913 0h405.147826c63.933217 0 115.756522 53.960348 115.756522 120.475826v240.951652h231.513043c63.933217 0 115.756522 53.915826 115.756522 120.475826v481.858783H1157.565217V1024H0zM665.6 120.475826c0-33.302261-25.911652-60.237913-57.878261-60.237913h-405.147826c-31.966609 0-57.878261 26.935652-57.878261 60.237913v843.286261h520.904348V120.475826z m347.269565 361.427478c0-33.302261-25.911652-60.237913-57.878261-60.237913h-231.513043v542.096696h289.391304V481.903304z m-57.878261 150.572522h-173.634782v-60.237913h173.634782v60.237913z m0 180.713739h-173.634782v-60.237913h173.634782v60.237913z m-578.782608-481.903304h-173.634783V271.048348h173.634783v60.237913z m0 180.713739h-173.634783v-60.237913h173.634783V512z m0 180.713739h-173.634783v-60.237913h173.634783v60.237913z m231.513043-361.427478h-173.634782V271.048348h173.634782v60.237913z m0 180.713739h-173.634782v-60.237913h173.634782V512z m0 180.713739h-173.634782v-60.237913h173.634782v60.237913z\\\" fill=\\\"\\\" p-id=\\\"9869\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/jg.svg?");

/***/ }),

/***/ "./src/assets/icons/js.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/js.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-js\",\n  \"use\": \"icon-js-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-js\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M583.998674 481.547556c57.999258-26.399662 94.898785-83.59893 94.898785-147.098117 0-89.798851-68.399124-154.398024-158.397972-154.398024s-158.997965 65.199165-158.997965 154.898017c0 65.59916 38.099512 119.49847 98.698737 145.098143 26.399662 11.299855 80.098975 16.699786 123.798415 1.499981z m-137.398241 56.299279c-3.299958-1.099986-6.99991-1.799977-10.299869-3.199959-80.298972-33.799567-136.498253-112.298563-136.498252-199.19745 0-118.998477 92.398817-219.697188 220.397179-219.697188 130.698327 0 220.397179 100.398715 220.397178 219.297193 0 84.198922-53.399316 161.997926-130.198333 197.097477-59.699236 25.999667-119.198474 20.499738-163.797903 5.699927z m-244.196875 388.795024c-28.89963-0.099999-58.899246-13.099832-74.099051-36.999527-14.699812-23.099704-12.899835-55.49929-1.299983-80.198973 40.299484-85.998899 145.798134-230.797046 399.99488-234.696996 261.396654-4.799939 356.495437 150.298076 389.895009 242.696893 8.799887 24.299689 10.199869 46.399406-4.299945 72.899067-17.099781 27.499648-46.699402 34.199562-74.099052 34.199562h-66.299151c-14.699812 0-26.399662-14.999808-26.399662-29.699619s11.999846-27.899643 26.599659-27.899643h67.899131c10.199869 0 15.499802-0.199997 21.09973-8.099897 2.899963-4.099948 6.299919-13.199831 2.399969-23.899694-34.899553-96.498765-128.89835-201.59742-338.395668-201.597419-205.897364 0-293.096248 105.49865-338.395668 193.297526-3.89995 8.299894-4.69994 20.29974 0.299996 27.999641 5.399931 8.499891 11.499853 12.199844 22.099717 12.199844h450.79423c14.699812 0 27.699645 14.599813 27.699645 29.299625 0 14.699812-11.999846 30.399611-26.699658 30.399611\\\" fill=\\\"\\\" p-id=\\\"6602\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/js.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-audio.svg":
/*!********************************************!*\
  !*** ./src/assets/icons/loading-audio.svg ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-audio\",\n  \"use\": \"icon-loading-audio-usage\",\n  \"viewBox\": \"0 0 55 80\",\n  \"content\": \"<symbol viewBox=\\\"0 0 55 80\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"#FFF\\\" id=\\\"icon-loading-audio\\\">\\r\\n    <g transform=\\\"matrix(1 0 0 -1 0 80)\\\">\\r\\n        <rect width=\\\"10\\\" height=\\\"20\\\" rx=\\\"3\\\">\\r\\n            <animate attributeName=\\\"height\\\" begin=\\\"0s\\\" dur=\\\"4.3s\\\" values=\\\"20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </rect>\\r\\n        <rect x=\\\"15\\\" width=\\\"10\\\" height=\\\"80\\\" rx=\\\"3\\\">\\r\\n            <animate attributeName=\\\"height\\\" begin=\\\"0s\\\" dur=\\\"2s\\\" values=\\\"80;55;33;5;75;23;73;33;12;14;60;80\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </rect>\\r\\n        <rect x=\\\"30\\\" width=\\\"10\\\" height=\\\"50\\\" rx=\\\"3\\\">\\r\\n            <animate attributeName=\\\"height\\\" begin=\\\"0s\\\" dur=\\\"1.4s\\\" values=\\\"50;34;78;23;56;23;34;76;80;54;21;50\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </rect>\\r\\n        <rect x=\\\"45\\\" width=\\\"10\\\" height=\\\"30\\\" rx=\\\"3\\\">\\r\\n            <animate attributeName=\\\"height\\\" begin=\\\"0s\\\" dur=\\\"2s\\\" values=\\\"30;45;13;80;56;72;45;76;34;23;67;30\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </rect>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-audio.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-ball-triangle.svg":
/*!****************************************************!*\
  !*** ./src/assets/icons/loading-ball-triangle.svg ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-ball-triangle\",\n  \"use\": \"icon-loading-ball-triangle-usage\",\n  \"viewBox\": \"0 0 57 57\",\n  \"content\": \"<symbol viewBox=\\\"0 0 57 57\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"#fff\\\" id=\\\"icon-loading-ball-triangle\\\">\\r\\n    <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n        <g transform=\\\"translate(1 1)\\\" stroke-width=\\\"2\\\">\\r\\n            <circle cx=\\\"5\\\" cy=\\\"50\\\" r=\\\"5\\\">\\r\\n                <animate attributeName=\\\"cy\\\" begin=\\\"0s\\\" dur=\\\"2.2s\\\" values=\\\"50;5;50;50\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n                <animate attributeName=\\\"cx\\\" begin=\\\"0s\\\" dur=\\\"2.2s\\\" values=\\\"5;27;49;5\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"27\\\" cy=\\\"5\\\" r=\\\"5\\\">\\r\\n                <animate attributeName=\\\"cy\\\" begin=\\\"0s\\\" dur=\\\"2.2s\\\" from=\\\"5\\\" to=\\\"5\\\" values=\\\"5;50;50;5\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n                <animate attributeName=\\\"cx\\\" begin=\\\"0s\\\" dur=\\\"2.2s\\\" from=\\\"27\\\" to=\\\"27\\\" values=\\\"27;49;5;27\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"49\\\" cy=\\\"50\\\" r=\\\"5\\\">\\r\\n                <animate attributeName=\\\"cy\\\" begin=\\\"0s\\\" dur=\\\"2.2s\\\" values=\\\"50;50;5;50\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n                <animate attributeName=\\\"cx\\\" from=\\\"49\\\" to=\\\"49\\\" begin=\\\"0s\\\" dur=\\\"2.2s\\\" values=\\\"49;5;27;49\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n        </g>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-ball-triangle.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-bars.svg":
/*!*******************************************!*\
  !*** ./src/assets/icons/loading-bars.svg ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-bars\",\n  \"use\": \"icon-loading-bars-usage\",\n  \"viewBox\": \"0 0 135 140\",\n  \"content\": \"<symbol viewBox=\\\"0 0 135 140\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"#fff\\\" id=\\\"icon-loading-bars\\\">\\r\\n    <rect y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\">\\r\\n        <animate attributeName=\\\"height\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"y\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </rect>\\r\\n    <rect x=\\\"30\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\">\\r\\n        <animate attributeName=\\\"height\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"y\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </rect>\\r\\n    <rect x=\\\"60\\\" width=\\\"15\\\" height=\\\"140\\\" rx=\\\"6\\\">\\r\\n        <animate attributeName=\\\"height\\\" begin=\\\"0s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"y\\\" begin=\\\"0s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </rect>\\r\\n    <rect x=\\\"90\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\">\\r\\n        <animate attributeName=\\\"height\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"y\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </rect>\\r\\n    <rect x=\\\"120\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\">\\r\\n        <animate attributeName=\\\"height\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"y\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </rect>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-bars.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-circles.svg":
/*!**********************************************!*\
  !*** ./src/assets/icons/loading-circles.svg ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-circles\",\n  \"use\": \"icon-loading-circles-usage\",\n  \"viewBox\": \"0 0 135 135\",\n  \"content\": \"<symbol viewBox=\\\"0 0 135 135\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"#fff\\\" id=\\\"icon-loading-circles\\\">\\r\\n    <path d=\\\"M67.447 58c5.523 0 10-4.477 10-10s-4.477-10-10-10-10 4.477-10 10 4.477 10 10 10zm9.448 9.447c0 5.523 4.477 10 10 10 5.522 0 10-4.477 10-10s-4.478-10-10-10c-5.523 0-10 4.477-10 10zm-9.448 9.448c-5.523 0-10 4.477-10 10 0 5.522 4.477 10 10 10s10-4.478 10-10c0-5.523-4.477-10-10-10zM58 67.447c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10z\\\">\\r\\n        <animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 67 67\\\" to=\\\"-360 67 67\\\" dur=\\\"2.5s\\\" repeatCount=\\\"indefinite\\\" />\\r\\n    </path>\\r\\n    <path d=\\\"M28.19 40.31c6.627 0 12-5.374 12-12 0-6.628-5.373-12-12-12-6.628 0-12 5.372-12 12 0 6.626 5.372 12 12 12zm30.72-19.825c4.686 4.687 12.284 4.687 16.97 0 4.686-4.686 4.686-12.284 0-16.97-4.686-4.687-12.284-4.687-16.97 0-4.687 4.686-4.687 12.284 0 16.97zm35.74 7.705c0 6.627 5.37 12 12 12 6.626 0 12-5.373 12-12 0-6.628-5.374-12-12-12-6.63 0-12 5.372-12 12zm19.822 30.72c-4.686 4.686-4.686 12.284 0 16.97 4.687 4.686 12.285 4.686 16.97 0 4.687-4.686 4.687-12.284 0-16.97-4.685-4.687-12.283-4.687-16.97 0zm-7.704 35.74c-6.627 0-12 5.37-12 12 0 6.626 5.373 12 12 12s12-5.374 12-12c0-6.63-5.373-12-12-12zm-30.72 19.822c-4.686-4.686-12.284-4.686-16.97 0-4.686 4.687-4.686 12.285 0 16.97 4.686 4.687 12.284 4.687 16.97 0 4.687-4.685 4.687-12.283 0-16.97zm-35.74-7.704c0-6.627-5.372-12-12-12-6.626 0-12 5.373-12 12s5.374 12 12 12c6.628 0 12-5.373 12-12zm-19.823-30.72c4.687-4.686 4.687-12.284 0-16.97-4.686-4.686-12.284-4.686-16.97 0-4.687 4.686-4.687 12.284 0 16.97 4.686 4.687 12.284 4.687 16.97 0z\\\">\\r\\n        <animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 67 67\\\" to=\\\"360 67 67\\\" dur=\\\"8s\\\" repeatCount=\\\"indefinite\\\" />\\r\\n    </path>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-circles.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-grid.svg":
/*!*******************************************!*\
  !*** ./src/assets/icons/loading-grid.svg ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-grid\",\n  \"use\": \"icon-loading-grid-usage\",\n  \"viewBox\": \"0 0 105 105\",\n  \"content\": \"<symbol viewBox=\\\"0 0 105 105\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"#fff\\\" id=\\\"icon-loading-grid\\\">\\r\\n    <circle cx=\\\"12.5\\\" cy=\\\"12.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"12.5\\\" cy=\\\"52.5\\\" r=\\\"12.5\\\" fill-opacity=\\\".5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"100ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"52.5\\\" cy=\\\"12.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"300ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"52.5\\\" cy=\\\"52.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"600ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"92.5\\\" cy=\\\"12.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"800ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"92.5\\\" cy=\\\"52.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"400ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"12.5\\\" cy=\\\"92.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"700ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"52.5\\\" cy=\\\"92.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"500ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"92.5\\\" cy=\\\"92.5\\\" r=\\\"12.5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"200ms\\\" dur=\\\"1s\\\" values=\\\"1;.2;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-grid.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-hearts.svg":
/*!*********************************************!*\
  !*** ./src/assets/icons/loading-hearts.svg ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-hearts\",\n  \"use\": \"icon-loading-hearts-usage\",\n  \"viewBox\": \"0 0 140 64\",\n  \"content\": \"<symbol viewBox=\\\"0 0 140 64\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"#fff\\\" id=\\\"icon-loading-hearts\\\">\\r\\n    <path d=\\\"M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.717-6.002 11.47-7.65 17.305-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z\\\" fill-opacity=\\\".5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.4s\\\" values=\\\"0.5;1;0.5\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </path>\\r\\n    <path d=\\\"M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.592-2.32 17.307 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z\\\" fill-opacity=\\\".5\\\">\\r\\n        <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0.7s\\\" dur=\\\"1.4s\\\" values=\\\"0.5;1;0.5\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </path>\\r\\n    <path d=\\\"M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z\\\"></path>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-hearts.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-oval.svg":
/*!*******************************************!*\
  !*** ./src/assets/icons/loading-oval.svg ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-oval\",\n  \"use\": \"icon-loading-oval-usage\",\n  \"viewBox\": \"0 0 38 38\",\n  \"content\": \"<symbol viewBox=\\\"0 0 38 38\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"#fff\\\" id=\\\"icon-loading-oval\\\">\\r\\n    <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n        <g transform=\\\"translate(1 1)\\\" stroke-width=\\\"2\\\">\\r\\n            <circle stroke-opacity=\\\".5\\\" cx=\\\"18\\\" cy=\\\"18\\\" r=\\\"18\\\" />\\r\\n            <path d=\\\"M36 18c0-9.94-8.06-18-18-18\\\">\\r\\n                <animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 18 18\\\" to=\\\"360 18 18\\\" dur=\\\"1s\\\" repeatCount=\\\"indefinite\\\" />\\r\\n            </path>\\r\\n        </g>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-oval.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-puff.svg":
/*!*******************************************!*\
  !*** ./src/assets/icons/loading-puff.svg ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-puff\",\n  \"use\": \"icon-loading-puff-usage\",\n  \"viewBox\": \"0 0 44 44\",\n  \"content\": \"<symbol viewBox=\\\"0 0 44 44\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"#fff\\\" id=\\\"icon-loading-puff\\\">\\r\\n    <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" stroke-width=\\\"2\\\">\\r\\n        <circle cx=\\\"22\\\" cy=\\\"22\\\" r=\\\"1\\\">\\r\\n            <animate attributeName=\\\"r\\\" begin=\\\"0s\\\" dur=\\\"1.8s\\\" values=\\\"1; 20\\\" calcMode=\\\"spline\\\" keyTimes=\\\"0; 1\\\" keySplines=\\\"0.165, 0.84, 0.44, 1\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            <animate attributeName=\\\"stroke-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.8s\\\" values=\\\"1; 0\\\" calcMode=\\\"spline\\\" keyTimes=\\\"0; 1\\\" keySplines=\\\"0.3, 0.61, 0.355, 1\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </circle>\\r\\n        <circle cx=\\\"22\\\" cy=\\\"22\\\" r=\\\"1\\\">\\r\\n            <animate attributeName=\\\"r\\\" begin=\\\"-0.9s\\\" dur=\\\"1.8s\\\" values=\\\"1; 20\\\" calcMode=\\\"spline\\\" keyTimes=\\\"0; 1\\\" keySplines=\\\"0.165, 0.84, 0.44, 1\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            <animate attributeName=\\\"stroke-opacity\\\" begin=\\\"-0.9s\\\" dur=\\\"1.8s\\\" values=\\\"1; 0\\\" calcMode=\\\"spline\\\" keyTimes=\\\"0; 1\\\" keySplines=\\\"0.3, 0.61, 0.355, 1\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </circle>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-puff.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-rings.svg":
/*!********************************************!*\
  !*** ./src/assets/icons/loading-rings.svg ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-rings\",\n  \"use\": \"icon-loading-rings-usage\",\n  \"viewBox\": \"0 0 45 45\",\n  \"content\": \"<symbol viewBox=\\\"0 0 45 45\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"#fff\\\" id=\\\"icon-loading-rings\\\">\\r\\n    <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(1 1)\\\" stroke-width=\\\"2\\\">\\r\\n        <circle cx=\\\"22\\\" cy=\\\"22\\\" r=\\\"6\\\" stroke-opacity=\\\"0\\\">\\r\\n            <animate attributeName=\\\"r\\\" begin=\\\"1.5s\\\" dur=\\\"3s\\\" values=\\\"6;22\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            <animate attributeName=\\\"stroke-opacity\\\" begin=\\\"1.5s\\\" dur=\\\"3s\\\" values=\\\"1;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            <animate attributeName=\\\"stroke-width\\\" begin=\\\"1.5s\\\" dur=\\\"3s\\\" values=\\\"2;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </circle>\\r\\n        <circle cx=\\\"22\\\" cy=\\\"22\\\" r=\\\"6\\\" stroke-opacity=\\\"0\\\">\\r\\n            <animate attributeName=\\\"r\\\" begin=\\\"3s\\\" dur=\\\"3s\\\" values=\\\"6;22\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            <animate attributeName=\\\"stroke-opacity\\\" begin=\\\"3s\\\" dur=\\\"3s\\\" values=\\\"1;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            <animate attributeName=\\\"stroke-width\\\" begin=\\\"3s\\\" dur=\\\"3s\\\" values=\\\"2;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </circle>\\r\\n        <circle cx=\\\"22\\\" cy=\\\"22\\\" r=\\\"8\\\">\\r\\n            <animate attributeName=\\\"r\\\" begin=\\\"0s\\\" dur=\\\"1.5s\\\" values=\\\"6;1;2;3;4;5;6\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        </circle>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-rings.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-spinning-circles.svg":
/*!*******************************************************!*\
  !*** ./src/assets/icons/loading-spinning-circles.svg ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-spinning-circles\",\n  \"use\": \"icon-loading-spinning-circles-usage\",\n  \"viewBox\": \"0 0 58 58\",\n  \"content\": \"<symbol viewBox=\\\"0 0 58 58\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-loading-spinning-circles\\\">\\r\\n    <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n        <g transform=\\\"translate(2 1)\\\" stroke=\\\"#FFF\\\" stroke-width=\\\"1.5\\\">\\r\\n            <circle cx=\\\"42.601\\\" cy=\\\"11.462\\\" r=\\\"5\\\" fill-opacity=\\\"1\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"1;0;0;0;0;0;0;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"49.063\\\" cy=\\\"27.063\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;1;0;0;0;0;0;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"42.601\\\" cy=\\\"42.663\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;0;1;0;0;0;0;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"27\\\" cy=\\\"49.125\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;0;0;1;0;0;0;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"11.399\\\" cy=\\\"42.663\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;0;0;0;1;0;0;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"4.938\\\" cy=\\\"27.063\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;0;0;0;0;1;0;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"11.399\\\" cy=\\\"11.462\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;0;0;0;0;0;1;0\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n            <circle cx=\\\"27\\\" cy=\\\"5\\\" r=\\\"5\\\" fill-opacity=\\\"0\\\" fill=\\\"#fff\\\">\\r\\n                <animate attributeName=\\\"fill-opacity\\\" begin=\\\"0s\\\" dur=\\\"1.3s\\\" values=\\\"0;0;0;0;0;0;0;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n            </circle>\\r\\n        </g>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-spinning-circles.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-tail-spin.svg":
/*!************************************************!*\
  !*** ./src/assets/icons/loading-tail-spin.svg ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-tail-spin\",\n  \"use\": \"icon-loading-tail-spin-usage\",\n  \"viewBox\": \"0 0 38 38\",\n  \"content\": \"<symbol viewBox=\\\"0 0 38 38\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-loading-tail-spin\\\">\\r\\n    <defs>\\r\\n        <linearGradient x1=\\\"8.042%\\\" y1=\\\"0%\\\" x2=\\\"65.682%\\\" y2=\\\"23.865%\\\" id=\\\"icon-loading-tail-spin_a\\\">\\r\\n            <stop stop-color=\\\"#fff\\\" stop-opacity=\\\"0\\\" offset=\\\"0%\\\" />\\r\\n            <stop stop-color=\\\"#fff\\\" stop-opacity=\\\".631\\\" offset=\\\"63.146%\\\" />\\r\\n            <stop stop-color=\\\"#fff\\\" offset=\\\"100%\\\" />\\r\\n        </linearGradient>\\r\\n    </defs>\\r\\n    <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n        <g transform=\\\"translate(1 1)\\\">\\r\\n            <path d=\\\"M36 18c0-9.94-8.06-18-18-18\\\" id=\\\"icon-loading-tail-spin_Oval-2\\\" stroke=\\\"url(#icon-loading-tail-spin_a)\\\" stroke-width=\\\"2\\\">\\r\\n                <animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 18 18\\\" to=\\\"360 18 18\\\" dur=\\\"0.9s\\\" repeatCount=\\\"indefinite\\\" />\\r\\n            </path>\\r\\n            <circle fill=\\\"#fff\\\" cx=\\\"36\\\" cy=\\\"18\\\" r=\\\"1\\\">\\r\\n                <animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 18 18\\\" to=\\\"360 18 18\\\" dur=\\\"0.9s\\\" repeatCount=\\\"indefinite\\\" />\\r\\n            </circle>\\r\\n        </g>\\r\\n    </g>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-tail-spin.svg?");

/***/ }),

/***/ "./src/assets/icons/loading-three-dots.svg":
/*!*************************************************!*\
  !*** ./src/assets/icons/loading-three-dots.svg ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-loading-three-dots\",\n  \"use\": \"icon-loading-three-dots-usage\",\n  \"viewBox\": \"0 0 120 30\",\n  \"content\": \"<symbol viewBox=\\\"0 0 120 30\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"#fff\\\" id=\\\"icon-loading-three-dots\\\">\\r\\n    <circle cx=\\\"15\\\" cy=\\\"15\\\" r=\\\"15\\\">\\r\\n        <animate attributeName=\\\"r\\\" from=\\\"15\\\" to=\\\"15\\\" begin=\\\"0s\\\" dur=\\\"0.8s\\\" values=\\\"15;9;15\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"fill-opacity\\\" from=\\\"1\\\" to=\\\"1\\\" begin=\\\"0s\\\" dur=\\\"0.8s\\\" values=\\\"1;.5;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"60\\\" cy=\\\"15\\\" r=\\\"9\\\" fill-opacity=\\\"0.3\\\">\\r\\n        <animate attributeName=\\\"r\\\" from=\\\"9\\\" to=\\\"9\\\" begin=\\\"0s\\\" dur=\\\"0.8s\\\" values=\\\"9;15;9\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"fill-opacity\\\" from=\\\"0.5\\\" to=\\\"0.5\\\" begin=\\\"0s\\\" dur=\\\"0.8s\\\" values=\\\".5;1;.5\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n    <circle cx=\\\"105\\\" cy=\\\"15\\\" r=\\\"15\\\">\\r\\n        <animate attributeName=\\\"r\\\" from=\\\"15\\\" to=\\\"15\\\" begin=\\\"0s\\\" dur=\\\"0.8s\\\" values=\\\"15;9;15\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n        <animate attributeName=\\\"fill-opacity\\\" from=\\\"1\\\" to=\\\"1\\\" begin=\\\"0s\\\" dur=\\\"0.8s\\\" values=\\\"1;.5;1\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"></animate>\\r\\n    </circle>\\r\\n</symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/loading-three-dots.svg?");

/***/ }),

/***/ "./src/assets/icons/mark.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/mark.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-mark\",\n  \"use\": \"icon-mark-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-mark\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M201.18558 845.839321l55.642275 0c46.025243 0 83.463923-37.384445 83.463923-83.463923L340.291778 539.833929c0-46.02422-37.438681-83.463923-83.463923-83.463923L201.18558 456.370005c-46.02422 0-83.463923 37.439704-83.463923 83.463923L117.721657 762.376421C117.721657 808.454876 155.160337 845.839321 201.18558 845.839321zM173.363931 539.833929c0-15.32401 12.497639-27.821649 27.821649-27.821649l55.642275 0c15.32401 0 27.821649 12.497639 27.821649 27.821649L284.649504 762.376421c0 15.32401-12.497639 27.821649-27.821649 27.821649L201.18558 790.19807c-15.322987 0-27.821649-12.497639-27.821649-27.821649L173.363931 539.833929z\\\" p-id=\\\"16128\\\" /><path d=\\\"M467.877595 845.839321l55.642275 0c46.02422 0 83.463923-37.384445 83.463923-83.463923L606.983793 372.907105c0-46.02422-37.439704-83.463923-83.463923-83.463923l-55.642275 0c-46.025243 0-83.463923 37.439704-83.463923 83.463923L384.413672 762.376421C384.413672 808.454876 421.852352 845.839321 467.877595 845.839321zM440.055946 372.907105c0-15.322987 12.497639-27.821649 27.821649-27.821649l55.642275 0c15.322987 0 27.821649 12.498662 27.821649 27.821649L551.341518 762.376421c0 15.32401-12.498662 27.821649-27.821649 27.821649l-55.642275 0c-15.32401 0-27.821649-12.497639-27.821649-27.821649L440.055946 372.907105z\\\" p-id=\\\"16129\\\" /><path d=\\\"M734.568586 845.839321l55.642275 0c46.025243 0 83.463923-37.384445 83.463923-83.463923L873.674784 150.338007c0-46.02422-37.438681-83.463923-83.463923-83.463923l-55.642275 0c-46.02422 0-83.463923 37.439704-83.463923 83.463923L651.104663 762.376421C651.104663 808.454876 688.544367 845.839321 734.568586 845.839321zM706.746938 150.338007c0-15.322987 12.497639-27.821649 27.821649-27.821649l55.642275 0c15.32401 0 27.821649 12.498662 27.821649 27.821649L818.03251 762.376421c0 15.32401-12.497639 27.821649-27.821649 27.821649l-55.642275 0c-15.32401 0-27.821649-12.497639-27.821649-27.821649L706.746938 150.338007z\\\" p-id=\\\"16130\\\" /><path d=\\\"M929.316036 901.481595 94.681918 901.481595c-15.377222 0-27.821649 12.497639-27.821649 27.821649 0 15.431457 12.443403 27.821649 27.821649 27.821649l834.634118 0c15.377222 0 27.821649-12.389168 27.821649-27.821649C957.137685 913.979234 944.694281 901.481595 929.316036 901.481595z\\\" p-id=\\\"16131\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/mark.svg?");

/***/ }),

/***/ "./src/assets/icons/password.svg":
/*!***************************************!*\
  !*** ./src/assets/icons/password.svg ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-password\",\n  \"use\": \"icon-password-usage\",\n  \"viewBox\": \"0 0 128 128\",\n  \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-password\\\"><path d=\\\"M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/password.svg?");

/***/ }),

/***/ "./src/assets/icons/pt.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/pt.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-pt\",\n  \"use\": \"icon-pt-usage\",\n  \"viewBox\": \"0 0 1194 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1194 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-pt\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M1072.297773 0.000853H122.111898A79.018601 79.018601 0 0 0 42.666631 78.507455v624.639479c0 43.349297 35.58397 78.506601 79.445267 78.506601H554.666204v159.317201H417.706319a16.383986 16.383986 0 0 0-16.46932 16.639986v45.141296c0 9.215992 6.826661 16.639986 16.981319 16.639986h360.618366c9.386659 0 17.066652-7.253327 17.066653-16.639986v-45.226629a17.237319 17.237319 0 0 0-16.72532-16.554653H639.999467V781.568202h432.554306a79.018601 79.018601 0 0 0 79.445267-78.506601V78.336788A79.274601 79.274601 0 0 0 1072.297773 0.000853z m0 705.620746H123.391897V78.336788h949.076543v627.199477h-0.170667z\\\" p-id=\\\"13524\\\" /><path d=\\\"M372.47969 297.472605c0 9.557325 8.277326 17.407985 17.066652 17.407986h445.524962c9.386659 0 17.066652-6.997328 17.066653-17.407986v-40.191966a17.663985 17.663985 0 0 0-17.066653-17.407986H389.546342c-9.386659 0-17.066652 6.826661-17.066652 17.407986v40.106633z m0 224.853146c0 9.557325 8.277326 17.322652 17.066652 17.322653h445.524962c9.386659 0 17.066652-6.826661 17.066653-17.322653v-40.277299a17.663985 17.663985 0 0 0-17.066653-17.322653H389.546342c-9.386659 0-17.066652 6.826661-17.066652 17.322653v40.277299z\\\" p-id=\\\"13525\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/pt.svg?");

/***/ }),

/***/ "./src/assets/icons/qz.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/qz.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-qz\",\n  \"use\": \"icon-qz-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-qz\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M896.1 656.8H873c0-0.8 0.2-1.5 0.2-2.3V556c0-36.1-29.5-65.7-65.7-65.7H544.9v-98.5h65.7c36.1 0 65.7-29.5 65.7-65.7v-98.5c0-36.1-29.5-65.7-65.7-65.7h-197c-36.1 0-65.7 29.5-65.7 65.7v98.5c0 36.1 29.5 65.7 65.7 65.7h65.7v98.5H216.6c-36.1 0-65.7 29.5-65.7 65.7v98.5c0 0.8 0.2 1.5 0.2 2.3H128c-35.1 0-63.6 28.5-63.6 63.6v65c0 35.1 28.5 63.6 63.6 63.6h111.4c35.1 0 63.6-28.5 63.6-63.6v-65c0-35.1-28.5-63.6-63.6-63.6h-23.1c0-0.8 0.2-1.5 0.2-2.3V556h262.6v98.5c0 0.8 0.2 1.5 0.2 2.3h-26c-35.1 0-63.6 28.5-63.6 63.6v65c0 35.1 28.5 63.6 63.6 63.6h111.4c35.1 0 63.6-28.5 63.6-63.6v-65c0-35.1-28.5-63.6-63.6-63.6h-20.2c0-0.8 0.2-1.5 0.2-2.3V556h262.6v98.5c0 0.8 0.2 1.5 0.2 2.3h-23.1c-35.1 0-63.6 28.5-63.6 63.6v65c0 35.1 28.5 63.6 63.6 63.6h111.4c35.1 0 63.6-28.5 63.6-63.6v-65c0.3-35.1-28.2-63.6-63.3-63.6z m-654 63.6v65c0 1.4-1.1 2.5-2.5 2.5H128.1c-1.4 0-2.6-1.1-2.6-2.5v-65c0-1.4 1.1-2.5 2.6-2.5h111.4c1.4 0 2.6 1.1 2.6 2.5z m325.3 0v65c0 1.4-1.1 2.5-2.6 2.5H453.5c-1.4 0-2.5-1.1-2.5-2.5v-65c0-1.4 1.1-2.5 2.5-2.5h111.4c1.4 0 2.5 1.1 2.5 2.5zM413.6 326.2v-98.5h197v98.5h-197z m485.1 459.2c0 1.4-1.1 2.5-2.5 2.5H784.7c-1.4 0-2.6-1.1-2.6-2.5v-65c0-1.4 1.1-2.5 2.6-2.5h111.4c1.4 0 2.5 1.1 2.5 2.5v65z\\\" p-id=\\\"11702\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/qz.svg?");

/***/ }),

/***/ "./src/assets/icons/sidebar-breadcrumb.svg":
/*!*************************************************!*\
  !*** ./src/assets/icons/sidebar-breadcrumb.svg ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-sidebar-breadcrumb\",\n  \"use\": \"icon-sidebar-breadcrumb-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-sidebar-breadcrumb\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M165.415385 827.076923c-11.815385 0-19.692308-7.876923-19.692308-19.692308V214.646154c0-11.815385 7.876923-19.692308 19.692308-19.692308h159.507692c7.876923 0 17.723077 3.938462 23.630769 9.846154L576.984615 492.307692c7.876923 9.846154 7.876923 25.6 0 37.415385L346.584615 817.230769c-5.907692 7.876923-15.753846 11.815385-25.6 11.815385L165.415385 827.076923z m706.953846-334.769231L641.969231 206.769231c-9.846154-11.815385-27.569231-15.753846-41.353846-3.938462l-45.292308 37.415385c-13.784615 9.846154-15.753846 29.538462-3.938462 41.353846L738.461538 512 551.384615 744.369231c-9.846154 11.815385-7.876923 31.507692 3.938462 41.353846l45.292308 37.415385c13.784615 9.846154 29.538462 7.876923 41.353846-3.938462L872.369231 531.692308c7.876923-15.753846 7.876923-29.538462 0-39.384616z\\\" p-id=\\\"2783\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/sidebar-breadcrumb.svg?");

/***/ }),

/***/ "./src/assets/icons/sidebar-default.svg":
/*!**********************************************!*\
  !*** ./src/assets/icons/sidebar-default.svg ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-sidebar-default\",\n  \"use\": \"icon-sidebar-default-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-sidebar-default\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M487 71.425a75 75 0 0 1 72.575 0l335.7 185.5a75 75 0 0 1 38.75 65.65V690.85a75 75 0 0 1-38.75 65.625l-335.7 185.55a75 75 0 0 1-72.55 0l-335.7-185.5a75 75 0 0 1-38.75-65.675V322.6a75 75 0 0 1 38.75-65.6L487 71.4v0.025zM859 322.6L523.275 137.1l-335.7 185.5v368.25l335.7 185.5 335.75-185.5V322.6z m-601.75 37.1A37.5 37.5 0 0 1 308.2 345l215.1 118.875L738.45 345a37.5 37.5 0 0 1 36.25 65.625l-213.9 118.25V764.55a37.5 37.5 0 0 1-75 0v-235.7l-213.9-118.2a37.5 37.5 0 0 1-14.65-51v0.05z\\\" p-id=\\\"9747\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/sidebar-default.svg?");

/***/ }),

/***/ "./src/assets/icons/sidebar-menu.svg":
/*!*******************************************!*\
  !*** ./src/assets/icons/sidebar-menu.svg ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-sidebar-menu\",\n  \"use\": \"icon-sidebar-menu-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-sidebar-menu\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M913.6 135.2H380.2c-26.7 0-44.4 17.8-44.4 44.4V224c0 26.7 17.8 44.4 44.4 44.4h533.3c26.7 0 44.4-17.8 44.4-44.4v-44.4c0.1-26.6-17.7-44.4-44.3-44.4zM158 135.2h-44.4c-22.2 0-44.4 22.2-44.4 44.4V224c0 22.2 22.2 44.4 44.4 44.4H158c22.2 0 44.4-22.2 44.4-44.4v-44.4c0.1-22.2-22.1-44.4-44.4-44.4zM158 446.3h-44.4c-22.2 0-44.4 22.2-44.4 44.4v44.4c0 22.2 22.2 44.4 44.4 44.4H158c22.2 0 44.4-22.2 44.4-44.4v-44.4c0.1-22.2-22.1-44.4-44.4-44.4zM913.6 446.3H380.2c-26.7 0-44.4 17.8-44.4 44.4v44.4c0 26.7 17.8 44.4 44.4 44.4h533.3c26.7 0 44.4-17.8 44.4-44.4v-44.4c0.1-26.6-17.7-44.4-44.3-44.4zM158 757.4h-44.4c-22.2 0-44.4 22.2-44.4 44.4v44.4c0 22.2 22.2 44.4 44.4 44.4H158c22.2 0 44.4-22.2 44.4-44.4v-44.4c0.1-22.2-22.1-44.4-44.4-44.4zM913.6 757.4H380.2c-26.7 0-44.4 17.8-44.4 44.4v44.4c0 26.7 17.8 44.4 44.4 44.4h533.3c26.7 0 44.4-17.8 44.4-44.4v-44.4c0.1-26.6-17.7-44.4-44.3-44.4z\\\" p-id=\\\"3547\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/sidebar-menu.svg?");

/***/ }),

/***/ "./src/assets/icons/sj.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/sj.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-sj\",\n  \"use\": \"icon-sj-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-sj\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M382.302164 347.969975C373.395456 347.969975 366.205703 355.181202 366.205703 364.06645L366.205703 953.561673C366.205703 962.446921 373.395456 969.658075 382.302164 969.658075 391.165945 969.658075 398.398625 962.446921 398.398625 953.561673L398.398625 364.06645C398.398625 355.181202 391.165945 347.969975 382.302164 347.969975L382.302164 347.969975ZM89.239318 592.206921C80.35407 592.206921 73.142857 599.418075 73.142857 608.303323L73.142857 953.561673C73.142857 962.446921 80.35407 969.658075 89.239318 969.658075 98.124559 969.658075 105.335771 962.446921 105.335771 953.561673L105.335771 608.303323C105.335771 599.418075 98.124559 592.206921 89.239318 592.206921L89.239318 592.206921ZM968.384936 392.26741C959.499696 392.26741 952.309943 399.478638 952.309943 408.363886L952.309943 953.561673C952.309943 962.446921 959.499696 969.658075 968.384936 969.658075 977.270184 969.658075 984.502857 962.446921 984.502857 953.561673L984.502857 408.363886C984.502857 399.478638 977.270184 392.26741 968.384936 392.26741L968.384936 392.26741ZM963.448693 209.818843C972.333941 209.711543 979.480766 202.43595 979.394918 193.550702L978.19305 89.052526C978.150122 84.588398 976.218551 80.338944 972.913408 77.312805 969.608272 74.308169 965.251496 72.84875 960.723024 73.192155L856.58967 82.012965C847.72589 82.764142 841.158532 90.533376 841.888241 99.397193 842.639411 108.260937 850.558866 114.635118 859.293879 114.098615L922.585154 108.733147 675.536713 380.698843 392.81852 103.732517C386.6804 97.723173 376.958142 97.551433 370.669787 103.346176L78.894658 370.204014C72.327303 376.213358 71.876602 386.386286 77.885945 392.953637 83.895289 399.520987 94.068253 399.950263 100.614144 393.96235L381.164683 137.384814 664.95597 415.381358C667.960642 418.343131 672.016955 419.974217 676.223495 419.974217L676.695654 419.974217C681.052431 419.845486 685.194584 417.93536 688.134868 414.71605L946.472294 130.345326 947.180537 193.915538C947.287852 202.736421 954.456137 209.818843 963.298458 209.818843L963.448693 209.818843 963.448693 209.818843ZM675.34355 591.584475C666.458309 591.584475 659.247097 598.795703 659.247097 607.680951L659.247097 953.561673C659.247097 962.446921 666.458309 969.658075 675.34355 969.658075 684.228798 969.658075 691.440011 962.446921 691.440011 953.561673L691.440011 607.680951C691.440011 598.795703 684.228798 591.584475 675.34355 591.584475L675.34355 591.584475Z\\\" p-id=\\\"15175\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/sj.svg?");

/***/ }),

/***/ "./src/assets/icons/sp.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/sp.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-sp\",\n  \"use\": \"icon-sp-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-sp\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M830.904679 268.49508 745.113757 268.49508C708.080306 154.440441 619.198999 83.83129 511.984139 83.83129S315.919694 154.440441 278.855544 268.49508l-85.760223 0c-48.204885 0-87.411839 39.987736-87.411839 89.202625l0 493.345128c0 49.152467 39.20593 89.125877 87.411839 89.125877l637.809357 0c46.275953 0 83.83129-36.910655 86.830601-83.310428 0.121773-1.039679 0.579191-1.89721 0.579191-2.937912l0-2.877537 0-23.627117L918.314471 357.697705C918.314471 308.481793 879.10854 268.49508 830.904679 268.49508M511.984139 148.33335c75.719542 0 136.780223 43.629683 168.947853 120.160707L343.068008 268.494057C375.234615 191.963033 436.264597 148.33335 511.984139 148.33335M826.71117 881.95589 197.28883 881.95589c-18.945491 0-34.30941-15.793708-34.30941-35.19764L162.97942 361.951589c0-19.404955 15.363919-35.166941 34.30941-35.166941l68.007907 0c-3.091408 19.939121-4.622274 39.83424-4.622274 59.360969 0 15.364943 1.010003 30.973432 3.03001 47.517223-16.068977 10.497075-25.863041 28.387537-25.863041 47.914266 0 31.494295 25.159006 57.141418 56.101739 57.141418 30.882358 0 56.07104-25.647123 56.07104-57.141418 0-19.388583-9.824763-37.386492-25.892717-47.914266-2.539846-16.771989-3.764744-32.351825-3.764744-47.517223 0-19.863397 1.836835-39.803541 5.448082-59.360969l372.35759 0c3.612271 19.465331 5.448082 39.405475 5.448082 59.360969 0 15.395642-1.254573 31.157627-3.795443 48.083112-15.578814 10.559497-25.066909 28.387537-25.066909 47.348378 0 31.494295 25.130354 57.141418 56.041364 57.141418 30.943756 0 56.101739-25.647123 56.101739-57.141418 0-19.894096-10.039657-37.983079-26.536376-48.38908 1.957585-16.160051 2.907213-31.616068 2.907213-47.042409 0-19.618826-1.528819-39.512922-4.559852-59.360969l68.007907 0c18.883069 0 34.248012 15.761985 34.248012 35.166941L860.958158 846.881047C860.897783 866.22358 845.565587 881.95589 826.71117 881.95589\\\" p-id=\\\"10737\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/sp.svg?");

/***/ }),

/***/ "./src/assets/icons/spgl.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/spgl.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-spgl\",\n  \"use\": \"icon-spgl-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-spgl\\\"><path d=\\\"M691.2 870.4H307.2c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h384c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6z\\\" p-id=\\\"2710\\\" /><path d=\\\"M874.496 998.4H149.504c-42.496 0-76.8-34.304-76.8-76.8l0.512-7.168 58.368-614.4c3.584-39.936 36.352-69.632 76.288-69.632h608.256c39.936 0 72.704 29.696 76.288 69.632l58.368 614.4c2.048 20.48-4.096 40.448-17.408 56.32-12.8 15.872-31.744 25.6-52.224 27.648h-6.656zM207.872 281.6a25.6 25.6 0 0 0-25.6 23.04l-58.368 614.4c0 16.384 11.264 28.16 25.6 28.16h724.48c9.216-1.024 15.36-4.096 19.968-9.216s6.144-11.776 5.632-18.432l-58.368-614.4a25.2416 25.2416 0 0 0-25.6-23.04H207.872z\\\" p-id=\\\"2711\\\" /><path d=\\\"M716.8 384c-14.336 0-25.6-11.264-25.6-25.6V256c0-98.816-80.384-179.2-179.2-179.2S332.8 157.184 332.8 256v102.4c0 14.336-11.264 25.6-25.6 25.6s-25.6-11.264-25.6-25.6V256C281.6 129.024 385.024 25.6 512 25.6s230.4 103.424 230.4 230.4v102.4c0 14.336-11.264 25.6-25.6 25.6z\\\" p-id=\\\"2712\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/spgl.svg?");

/***/ }),

/***/ "./src/assets/icons/team.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/team.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-team\",\n  \"use\": \"icon-team-usage\",\n  \"viewBox\": \"0 0 1229 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1229 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-team\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M1211.695289 803.721446l-53.344646 6.830301a195.5515 195.5515 0 0 1-21.58375 51.432162l32.922048 42.006347a19.876174 19.876174 0 0 1-1.707575 26.501566l-32.375624 31.965805a20.490901 20.490901 0 0 1-26.84308 1.707576l-42.621075-32.443927a200.196104 200.196104 0 0 1-52.115192 21.310537l-6.8303 52.661616a20.490901 20.490901 0 0 1-20.490901 17.553872h-45.831316a20.490901 20.490901 0 0 1-20.490901-17.553872l-6.8303-52.661616a200.605922 200.605922 0 0 1-52.115192-21.310537l-42.552772 32.443927a20.490901 20.490901 0 0 1-26.84308-1.707576l-32.375624-31.965805a19.944477 19.944477 0 0 1-1.707575-26.501566l32.853745-42.006347a195.141682 195.141682 0 0 1-21.583749-51.432162l-53.344646-6.830301a20.490901 20.490901 0 0 1-17.758781-19.944477v-45.216588a20.490901 20.490901 0 0 1 17.758781-19.944477l53.344646-6.830301a195.209985 195.209985 0 0 1 21.583749-51.432162l-32.853745-42.006347a19.944477 19.944477 0 0 1 1.707575-26.501566l32.375624-31.965805a20.490901 20.490901 0 0 1 26.84308-1.707575l42.552772 32.443926a200.810831 200.810831 0 0 1 52.115192-21.310537l6.8303-52.661616a20.490901 20.490901 0 0 1 20.490901-17.553872h45.831316a20.490901 20.490901 0 0 1 20.490901 17.553872l6.8303 52.661616a200.401013 200.401013 0 0 1 52.115192 21.310537l42.621075-32.443926a20.490901 20.490901 0 0 1 26.84308 1.707575l32.375624 31.965805a19.876174 19.876174 0 0 1 1.707575 26.501566l-32.922048 42.006347a195.619803 195.619803 0 0 1 21.58375 51.432162l53.344646 6.830301a20.490901 20.490901 0 0 1 17.758781 19.944477v45.216588a20.490901 20.490901 0 0 1-17.758781 19.944477z m-247.666692-137.425643a94.872872 94.872872 0 1 0 96.102326 94.872872 95.624205 95.624205 0 0 0-96.102326-94.804569zM1092.848062 477.5063v-204.909012H68.303004v546.424031h546.424031a385.024033 385.024033 0 0 0 0 68.303004H68.303004c-22.471688 0-68.303004 22.198476-68.303004 0V40.367075A40.503681 40.503681 0 0 1 40.981802 0.136606h1068.873708c22.471688 0 51.500465 45.421498 51.500465 67.619974v409.818023c-19.671265-13.728904-46.582649 8.879391-68.507913-0.068303z m0-409.818023H68.303004v133.464069h1024.545058z m-602.705706 566.914932a176.836477 176.836477 0 0 1 56.281675 116.115106l-409.818023-0.751333a202.586709 202.586709 0 0 1 151.837577-191.24841 113.861107 113.861107 0 0 1-64.614641-103.68396 108.806685 108.806685 0 0 1 215.905795-23.701143 114.749046 114.749046 0 0 1-62.155734 127.385103 196.166227 196.166227 0 0 1 112.563351 75.884637z m-3.893271-90.979601a9.289209 9.289209 0 0 1-6.830301-5.259332 10.996784 10.996784 0 0 1 0-9.289208l0.819636-0.956242a9.972239 9.972239 0 0 1 2.04909-2.390605 159.487514 159.487514 0 0 0 37.29344-103.615657 162.766058 162.766058 0 0 0-16.392721-71.718154 91.18451 91.18451 0 0 1 40.640288-9.494118 103.069233 103.069233 0 0 1 98.356325 107.167413 109.626321 109.626321 0 0 1-46.582648 91.116208 174.650781 174.650781 0 0 1 70.761912 45.284891c7.581633 6.078967 17.144054 16.529327 17.144054 20.490901a9.76733 9.76733 0 0 1-9.289209 10.177148c-2.253999 0-6.8303-4.166483-12.157935-8.059755L655.708837 602.500797a94.258145 94.258145 0 0 0-37.361743-7.649936 96.170629 96.170629 0 0 0-56.896402 18.783326 240.972998 240.972998 0 0 0-75.26991-69.873973z\\\" p-id=\\\"7557\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/team.svg?");

/***/ }),

/***/ "./src/assets/icons/tg.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/tg.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-tg\",\n  \"use\": \"icon-tg-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-tg\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M78.186 463.802c0 17.759 64.939 54.195 106.683 77.619 9.169 5.15 17.24 9.682 23.877 13.636h0.027l146.916 88.626 3.116 1.883v3.67l0.044 240.052c0.844 11.891 2.467 22.252 6.832 29.229l-0.02 0.013c3.85 6.15 10.467 9.868 21.758 9.868 25.825 0 29.019-25.038 29.019-53.181 0-6.257-0.095-11.036-0.187-15.678-0.091-4.935-0.195-9.877-0.208-14.853-0.053-25.628-0.034-51.269-0.02-76.905l0.012-53.404c0-12.786-0.37-23.188-0.655-31.689-1.369-40.136-1.428-41.778 36.128-70.771 12.525-9.665 23.611-19.677 34.739-29.737 11.337-10.238 22.767-20.56 35.408-30.396 11.65-9.063 22.586-19.018 33.374-28.83 11.162-10.162 22.22-20.212 33.943-29.216 22.138-17 54.332-45.641 86.485-74.237 33.195-29.525 66.373-59.031 88.951-76.128 15.49-11.732 23.618-22.213 26.856-31.167 2.172-6.004 2.042-11.278 0.48-15.667-1.57-4.428-4.638-8.128-8.267-10.909-4.882-3.734-10.617-5.772-15.174-5.772-12.936 0-33.683 19.565-44.528 29.792l-2.408 2.258-0.235 0.204-70.011 59.997c-6.062 5.636-9.877 8.409-13.75 11.226l-0.016-0.018c-3.124 2.278-6.338 4.615-11.244 8.992l-0.105 0.079-212.984 182.92-0.006-0.009c-28.986 26.259-29.733 25.791-58.998 6.578l-0.012 0.021c-6.149-4.031-13.76-9.027-22.856-14.482-4.896-2.933-13.117-8.006-23.202-14.218-40.816-25.16-113.045-69.685-127.475-73.049l-19.272-4.493 18.207-7.786 691.605-295.682 9.031-3.856v9.818c0 19.402-4.784 40.771-9.031 59.804-1.807 8.095-3.531 15.778-4.735 22.85-2.66 15.57-5.491 29.965-8.185 43.711-2.465 12.617-4.841 24.709-6.851 36.467l-0.024 0.104-60.841 320.037c-4.418 26.589-9.186 53.979-14.295 80.929-5.166 27.288-10.683 54.076-16.5 79.058l-2.123 9.129-7.795-5.228c-23.83-15.959-48.368-31.389-73.109-46.925-14.539-9.137-29.168-18.33-43.016-27.215-5.32-3.408-12.618-8.465-20.95-14.226-32.218-22.284-80.766-55.857-104.889-55.857-0.936 0-6.889 2.478-12.857 7.314-3.273 2.648-6.247 5.972-7.727 9.849-1.383 3.616-1.493 7.957 0.708 13.014 3.61 8.29 12.896 18.298 31.316 30.123 12.603 8.083 24.636 15.414 36.481 22.614 16.63 10.117 32.902 20.019 49.923 31.519l4.174 2.823c38.882 26.287 148.359 100.288 173.621 100.288 7.087 0 12.033-4.467 15.523-10.564 4.101-7.18 6.371-16.577 7.729-24.551l0.024-0.105 133.674-708.343v-0.045c0.863-4.356 1.774-8.201 2.629-11.856 3.474-14.688 6.167-26.09-2.791-37.149-14.254-17.57-42.226-4.902-73.924 9.456-5.63 2.544-11.431 5.181-16.557 7.39-32.649 14.096-65.845 27.835-99.007 41.563-32.063 13.266-64.16 26.556-98.641 41.438l-0.081 0.027L156.54 411.831l-0.104 0.024c-4.318 1.714-8.693 3.313-13.355 5.008-26.981 9.825-64.895 23.641-64.895 46.939z\\\" fill=\\\"#8B8B8C\\\" p-id=\\\"14378\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/tg.svg?");

/***/ }),

/***/ "./src/assets/icons/toolbar-collapse.svg":
/*!***********************************************!*\
  !*** ./src/assets/icons/toolbar-collapse.svg ***!
  \***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-toolbar-collapse\",\n  \"use\": \"icon-toolbar-collapse-usage\",\n  \"viewBox\": \"0 0 1028 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1028 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-toolbar-collapse\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M989.866667 234.666667h-490.666667c-17.066667 0-34.133333-21.333333-34.133333-42.666667 0-25.6 12.8-42.666667 34.133333-42.666667h490.666667c17.066667 0 34.133333 17.066667 34.133333 42.666667 0 21.333333-12.8 42.666667-34.133333 42.666667z m-473.6 128h465.066666c25.6 0 46.933333 21.333333 46.933334 42.666666 0 25.6-21.333333 42.666667-46.933334 42.666667H516.266667c-25.6 0-46.933333-17.066667-46.933334-42.666667s21.333333-42.666667 46.933334-42.666666z m0 298.666666c-25.6 0-46.933333-21.333333-46.933334-42.666666 0-25.6 21.333333-42.666667 46.933334-42.666667h465.066666c25.6 0 46.933333 17.066667 46.933334 42.666667s-21.333333 42.666667-46.933334 42.666666H516.266667z m4.266666 128h452.266667c29.866667 0 51.2 17.066667 51.2 42.666667s-21.333333 42.666667-51.2 42.666667h-452.266667c-29.866667 0-51.2-17.066667-51.2-42.666667s21.333333-42.666667 51.2-42.666667z m-192 25.6c-17.066667 17.066667-46.933333 17.066667-64 0l-251.733333-273.066666c-17.066667-17.066667-17.066667-51.2 0-68.266667l251.733333-273.066667c17.066667-17.066667 46.933333-17.066667 64 0s17.066667 51.2 0 68.266667l-221.866666 238.933333 221.866666 238.933334c17.066667 21.333333 17.066667 51.2 0 68.266666z\\\" p-id=\\\"8812\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/toolbar-collapse.svg?");

/***/ }),

/***/ "./src/assets/icons/toolbar-reload.svg":
/*!*********************************************!*\
  !*** ./src/assets/icons/toolbar-reload.svg ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-toolbar-reload\",\n  \"use\": \"icon-toolbar-reload-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-toolbar-reload\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M960 416V192l-73.056 73.056a447.712 447.712 0 0 0-373.6-201.088C265.92 63.968 65.312 264.544 65.312 512S265.92 960.032 513.344 960.032a448.064 448.064 0 0 0 415.232-279.488 38.368 38.368 0 1 0-71.136-28.896 371.36 371.36 0 0 1-344.096 231.584c-205.024 0-371.232-166.208-371.232-371.232S308.32 140.768 513.344 140.768c132.448 0 251.936 70.08 318.016 179.84L736 416h224z\\\" p-id=\\\"4700\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/toolbar-reload.svg?");

/***/ }),

/***/ "./src/assets/icons/toolbar-theme.svg":
/*!********************************************!*\
  !*** ./src/assets/icons/toolbar-theme.svg ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-toolbar-theme\",\n  \"use\": \"icon-toolbar-theme-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-toolbar-theme\\\"><defs><style type=\\\"text/css\\\"></style></defs><path d=\\\"M524.48 965.12a456 456 0 0 1-147.52-24.64 32 32 0 0 1-19.52-40.64 32 32 0 0 1 40.96-19.84 362.24 362.24 0 0 0 126.08 21.12 384 384 0 0 0 125.76-21.44 184.64 184.64 0 0 1-7.36-57.92 192 192 0 0 1 243.2-177.92 384 384 0 0 0-19.84-299.52 32 32 0 1 1 56.96-29.12 448 448 0 0 1 18.24 363.2 51.52 51.52 0 0 1-65.92 29.44 121.6 121.6 0 0 0-45.76-7.36 128 128 0 0 0-122.88 122.88 114.56 114.56 0 0 0 7.36 45.76 51.52 51.52 0 0 1-29.44 65.92 437.12 437.12 0 0 1-160.32 30.08z m137.28-89.6zM130.24 684.8a32 32 0 0 1-30.08-21.44 441.28 441.28 0 0 1-24.64-146.24 448 448 0 0 1 448-448 441.92 441.92 0 0 1 201.92 48.32 32 32 0 0 1-29.12 56.96 375.68 375.68 0 0 0-172.8-41.28A384 384 0 0 0 160 642.24a32 32 0 0 1-19.52 40.96 40.32 40.32 0 0 1-10.24 1.6z\\\" p-id=\\\"5217\\\" /><path d=\\\"M399.04 756.8a56 56 0 0 1-40.64-17.6l-89.28-97.6a55.04 55.04 0 0 1 8-81.28L849.28 136a48.96 48.96 0 0 1 68.48 0 49.6 49.6 0 0 1-5.76 69.12L440.32 738.24a54.72 54.72 0 0 1-40.96 18.56z m6.72-61.12z m-82.56-89.92l75.84 82.56L757.12 283.84z\\\" p-id=\\\"5218\\\" /><path d=\\\"M236.48 930.88h-7.68a169.92 169.92 0 0 1-117.44-54.72 91.84 91.84 0 0 1-30.08-71.04l2.24-16.32 66.56-34.56-4.48-41.28v-2.24a83.52 83.52 0 0 1 23.68-59.84c92.8-74.88 155.52-43.52 192-3.84a169.28 169.28 0 0 1-124.48 283.84z m-84.16-105.6A61.44 61.44 0 0 0 160 832a104.64 104.64 0 0 0 148.8 6.4 105.28 105.28 0 0 0 6.4-148.8c-19.84-21.44-46.08-35.52-101.76 8.32a56.32 56.32 0 0 0-2.56 12.8l4.8 42.24a55.04 55.04 0 0 1-29.44 54.72z m60.16-128z\\\" p-id=\\\"5219\\\" /><path d=\\\"M236.16 454.08m-39.68 0a39.68 39.68 0 1 0 79.36 0 39.68 39.68 0 1 0-79.36 0Z\\\" p-id=\\\"5220\\\" /><path d=\\\"M285.76 325.44m-29.76 0a29.76 29.76 0 1 0 59.52 0 29.76 29.76 0 1 0-59.52 0Z\\\" p-id=\\\"5221\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/toolbar-theme.svg?");

/***/ }),

/***/ "./src/assets/icons/user.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/user.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-user\",\n  \"use\": \"icon-user-usage\",\n  \"viewBox\": \"0 0 130 130\",\n  \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 130 130\\\" id=\\\"icon-user\\\"><path d=\\\"M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z\\\" stroke=\\\"#979797\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/user.svg?");

/***/ }),

/***/ "./src/assets/icons/weal.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/weal.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-weal\",\n  \"use\": \"icon-weal-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-weal\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M256 970.666667A117.333333 117.333333 0 0 1 138.666667 853.333333v-394.666666H85.333333a32 32 0 0 1-31.701333-27.648L53.333333 426.666667V256A32 32 0 0 1 85.333333 224h159.189334a117.376 117.376 0 0 1 183.466666-143.616l83.968 83.968 84.053334-83.968a117.504 117.504 0 0 1 153.258666-10.922667l6.314667 4.992 6.4 5.930667a117.333333 117.333333 0 0 1 17.28 143.616H938.666667a32 32 0 0 1 32 32v170.666667a32 32 0 0 1-32 32h-53.333334V853.333333a117.333333 117.333333 0 0 1-110.165333 117.12L768 970.666667z m224-512h-277.333333V853.333333c0 27.605333 20.992 50.346667 47.872 53.077334L256 906.666667h224v-448z m341.333333 0h-277.333333v448H768a53.333333 53.333333 0 0 0 53.077333-47.872L821.333333 853.333333v-394.666666z m-341.333333-170.666667h-362.666667v106.666667h362.666667v-106.666667z m426.666667 0h-362.666667v106.666667h362.666667v-106.666667zM382.72 125.653333a53.333333 53.333333 0 1 0-75.434667 75.434667l22.869334 22.869333h150.912z m330.581333-3.157333a53.333333 53.333333 0 0 0-72.021333 3.157333l-98.389333 98.304h150.869333l22.016-21.930666 4.096-4.394667c17.706667-21.034667 16.469333-52.394667-2.133333-71.04z\\\" p-id=\\\"3194\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/weal.svg?");

/***/ }),

/***/ "./src/assets/icons/xyxx.svg":
/*!***********************************!*\
  !*** ./src/assets/icons/xyxx.svg ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-xyxx\",\n  \"use\": \"icon-xyxx-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-xyxx\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M510.955102 62.693878a167.183673 167.183673 0 1 1-167.183673 167.183673 167.183673 167.183673 0 0 1 167.183673-167.183673m0-62.693878a229.877551 229.877551 0 1 0 229.877551 229.877551 229.877551 229.877551 0 0 0-229.877551-229.877551z\\\" fill=\\\"#8a8a8a\\\" p-id=\\\"2016\\\" /><path d=\\\"M922.853878 779.493878h-62.693878c0-164.675918-118.282449-298.840816-263.732245-298.840817h-161.959184c-146.285714 0-263.732245 133.955918-263.732244 298.840817h-62.693878c0-199.366531 146.285714-361.534694 326.635102-361.534694h161.959184c179.722449 0 326.217143 162.168163 326.217143 361.534694z\\\" fill=\\\"#8a8a8a\\\" p-id=\\\"2017\\\" /><path d=\\\"M512.20898 992.653061a31.346939 31.346939 0 0 1-31.346939-31.346939c0-45.557551-152.346122-118.073469-438.857143-135.836734a31.346939 31.346939 0 0 1 3.970612-62.693878c229.877551 14.210612 496.953469 74.814694 496.95347 198.530612a31.346939 31.346939 0 0 1-30.72 31.346939z\\\" fill=\\\"#8a8a8a\\\" p-id=\\\"2018\\\" /><path d=\\\"M512.20898 992.653061a31.346939 31.346939 0 0 1-31.346939-31.346939c0-123.715918 267.702857-184.11102 497.162449-198.530612a31.346939 31.346939 0 0 1 3.970612 62.693878c-285.884082 17.763265-438.857143 90.488163-438.857143 135.836734a31.346939 31.346939 0 0 1-30.928979 31.346939z\\\" fill=\\\"#8a8a8a\\\" p-id=\\\"2019\\\" /><path d=\\\"M971.964082 1024h-919.510204a31.346939 31.346939 0 0 1 0-62.693878h919.510204a31.346939 31.346939 0 0 1 0 62.693878z\\\" fill=\\\"#8a8a8a\\\" p-id=\\\"2020\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/xyxx.svg?");

/***/ }),

/***/ "./src/assets/icons/yhj.svg":
/*!**********************************!*\
  !*** ./src/assets/icons/yhj.svg ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-yhj\",\n  \"use\": \"icon-yhj-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-yhj\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M1009.770667 393.536C1018.282667 390.528 1024 382.464 1024 373.397333l0-131.242667c0-52.352-42.56-94.976-94.912-94.976L94.976 147.178667c-52.352 0-94.954667 42.624-94.954667 94.976l0 131.242667c0 9.045333 5.696 17.130667 14.250667 20.138667C64.426667 411.264 98.133333 458.858667 98.133333 512c0 53.12-33.706667 100.757333-83.882667 118.506667C5.696 633.450667 0 641.578667 0 650.624l0 131.242667c0 52.330667 42.602667 94.954667 94.954667 94.954667L929.066667 876.821333c52.330667 0 94.933333-42.624 94.933333-94.954667l0-131.242667c0-9.045333-5.674667-17.130667-14.229333-20.117333-50.218667-17.749333-83.946667-65.365333-83.946667-118.506667S959.552 411.285333 1009.770667 393.536zM883.114667 512c0 66.048 38.869333 125.717333 98.154667 152.981333l0 116.885333c0 28.778667-23.402667 52.202667-52.202667 52.202667L94.954667 834.069333c-28.8 0-52.224-23.424-52.224-52.202667l0-116.885333c59.264-27.264 98.133333-86.933333 98.133333-152.981333 0-66.048-38.869333-125.738667-98.133333-152.981333l0-116.864c0-28.8 23.402667-52.224 52.224-52.224L929.066667 189.930667c28.778667 0 52.202667 23.402667 52.202667 52.224l0 116.864C921.962667 386.282667 883.114667 445.952 883.114667 512z\\\" p-id=\\\"11980\\\" /><path d=\\\"M683.690667 392.533333l-144.682667 0 86.293333-86.208c8.384-8.362667 8.384-21.888 0-30.229333-8.341333-8.341333-21.824-8.341333-30.208 0L512 359.104l-83.008-82.986667c-8.384-8.362667-21.866667-8.362667-30.208 0-8.362667 8.362667-8.362667 21.866667 0 30.208l86.229333 86.208-144.768 0c-11.776 0-21.354667 9.557333-21.354667 21.354667 0 11.797333 9.578667 21.376 21.354667 21.376l150.4 0 0 79.893333L364.8 515.157333c-11.818667 0-21.376 9.557333-21.376 21.376 0 11.818667 9.557333 21.333333 21.376 21.333333l125.845333 0 0 174.869333c0 11.84 9.557333 21.376 21.354667 21.376 11.84 0 21.376-9.578667 21.376-21.376L533.376 557.866667l125.76 0c11.861333 0 21.418667-9.536 21.418667-21.333333s-9.536-21.376-21.376-21.376l-125.781333 0 0-79.893333 150.357333 0c11.776 0 21.312-9.6 21.312-21.376C705.045333 402.112 695.509333 392.533333 683.690667 392.533333z\\\" p-id=\\\"11981\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/yhj.svg?");

/***/ }),

/***/ "./src/assets/icons/ym.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/ym.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-ym\",\n  \"use\": \"icon-ym-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-ym\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M207.644444 0C139.377778 0 85.333333 54.044444 85.333333 119.466667v785.066666C85.333333 969.955556 139.377778 1024 207.644444 1024h611.555556c65.422222 0 122.311111-54.044444 122.311111-119.466667V241.777778L694.044444 0H207.644444z m577.422223 952.888889H236.088889c-45.511111 0-73.955556-25.6-73.955556-71.111111V145.066667c0-45.511111 28.444444-68.266667 73.955556-68.266667h432.355555v130.844444c0 25.6 22.755556 48.355556 48.355556 48.355556h150.755556v625.777778c2.844444 45.511111-34.133333 71.111111-82.488889 71.111111z m-119.466667-258.844445H358.4c-17.066667 0-31.288889-14.222222-31.288889-31.288888 0-17.066667 14.222222-31.288889 31.288889-31.288889h304.355556c17.066667 0 31.288889 14.222222 31.288888 31.288889s-11.377778 31.288889-28.444444 31.288888z m0-119.466666H358.4c-17.066667 0-31.288889-14.222222-31.288889-31.288889 0-17.066667 14.222222-31.288889 31.288889-31.288889h304.355556c17.066667 0 31.288889 14.222222 31.288888 31.288889s-11.377778 31.288889-28.444444 31.288889z m0-122.311111H358.4c-17.066667 0-31.288889-14.222222-31.288889-31.288889 0-17.066667 14.222222-31.288889 31.288889-31.288889h304.355556c17.066667 0 31.288889 14.222222 31.288888 31.288889s-11.377778 31.288889-28.444444 31.288889z\\\" fill=\\\"#666666\\\" p-id=\\\"2394\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/ym.svg?");

/***/ }),

/***/ "./src/assets/icons/zd.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/zd.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-zd\",\n  \"use\": \"icon-zd-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-zd\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M827.038443359375 190.79316406249995l-15.517089843750004-15.517089843750004c-13.965820312500002-12.413671875-26.3794921875-23.27607421875-41.89746093750001-32.586328125-48.10253906249999-34.13759765625-103.96582031250001-57.413671875-162.93076171875-71.3794921875C586.5213535156249 66.65556640624999 566.3486972656249 63.55214843750002 544.625650390625 62h-35.68974609375c-9.31025390625 0-20.172656250000003 0-29.48291015625 1.5521484375-20.172656250000003 1.5512695312499998-41.89746093750001 4.6546875-62.068359375000014 9.31025390625-58.9658203125 12.413671875-114.8291015625 35.68974609375-162.931640625 69.82734374999998l-41.89746093750001 32.586328125-21.723046875 21.72392578125C107.03844335937504 282.34443359375 60.486294921875015 395.6205078125 62.03844335937504 515.10341796875c1.5512695312499998 119.48291015625 48.10253906249999 232.75898437499998 135 316.55214843749997l15.517089843750004 15.517089843750004c13.965820312500002 12.413671875 26.3794921875 23.275195312500003 41.89658203125 32.586328125 45 31.034179687500007 94.65468750000001 54.31025390625 147.41367187499998 66.72392578125 20.172656250000003 4.6546875 40.34443359375 9.31025390625 60.51708984375 10.8615234375 17.068359375 1.5521484375 32.586328125 3.10341796875 49.65556640625 3.10341796875h3.1025390624999996c15.517968749999998 0 31.035058593749998-1.5512695312499998 46.5521484375-3.1025390624999996 20.172656250000003-3.104296875 41.89746093750001-6.20771484375 60.51708984375-10.863281249999998 52.758984375-13.964941406249999 102.41455078125-37.241015625 145.86328125-68.2751953125l41.895703125-32.586328125c93.10341796875-83.7931640625 152.068359375-204.82734375 150.51708984375-339.82734375 0-117.931640625-46.55126953125-229.65556640625002-133.4478515625-315z m82.24101562499999 294.82734374999995H687.382876953125c-3.1025390624999996-76.0341796875-10.8615234375-150.51708984375-24.82734375-220.34443359375 38.7931640625-13.965820312500002 74.48291015625001-32.586328125 108.6205078125-55.86240234375 79.13759765625 68.27607421875001 130.3453125 166.0341796875 138.10341796875002 276.20683593750005zM616.003384765625 746.31025390625c-35.68974609375-7.75810546875-71.37861328125-12.413671875-108.6205078125-12.413671875-34.13759765625 0-68.27607421875001 4.65556640625-100.8615234375 12.413671875-10.863281249999998-66.72392578125-15.517968749999998-136.55126953125003-17.06923828125-207.93164062500003h242.068359375c1.5521484375 71.38037109375001-4.6546875 139.65556640625-15.517089843750004 207.93164062500003z m-201.72392578125002-467.06835937499994c31.034179687500007 7.75810546875 63.620507812499994 10.8615234375 97.758984375 10.8615234375h3.1025390624999996c32.587207031249996 0 63.62138671875-3.10341796875 94.65556640624999-10.862402343749999 12.413671875 66.7248046875 20.172656250000003 135 23.27607421875 206.3794921875h-242.068359375c3.1025390624999996-69.82734374999998 10.8615234375-139.65468749999997 23.275195312500003-206.3794921875z m311.8974609375-102.41455078125a334.3974609375 334.3974609375 0 0 1-74.4837890625 37.24189453125c-7.75810546875-27.931640625000004-15.517089843750004-55.86240234375-23.275195312500003-82.24189453124998 34.13671875 9.31025390625 66.72392578125 24.82822265625 97.75810546875 45zM508.934146484375 113.20683593750005h3.1025390624999996c18.62138671875 0 37.24189453125 1.5521484375 54.3111328125 3.10341796875 12.413671875 35.68974609375 23.27607421875 72.931640625 32.586328125 111.72392578125-26.3794921875 6.2068359375-54.31025390625 9.31025390625-83.7931640625 9.31025390625h-3.10341796875c-29.48291015625 0-58.9658203125-3.1025390624999996-86.89746093750001-9.31025390625 9.3111328125-38.7931640625 20.172656250000003-76.0341796875 32.587207031249996-111.72392578125 17.068359375-1.5512695312499998 34.13759765625-3.1025390624999996 51.2068359375-3.1025390624999996zM395.658951171875 131.82734374999995c-7.758984374999999 26.3794921875-15.517089843750004 54.31025390625-23.27607421875 82.24189453124998a334.3974609375 334.3974609375 0 0 1-74.48291015625001-37.24189453125c31.034179687500007-20.171777343749998 63.62138671875-35.68974609375 97.758984375-45z m-141.20683593750002 77.586328125c34.13759765625 23.27607421875 69.82734374999998 41.89746093750001 108.6205078125 55.86240234375-13.965820312500002 71.3794921875-21.72392578125 145.86152343749998-24.82734375 220.34443359375H114.79654882812497c7.758984374999999-110.17265625 58.9658203125-207.93164062500003 139.65556640625-276.20683593750005zM114.79654882812497 538.3794921875001h221.8974609375c0 76.0341796875 6.20595703125 152.068359375 18.61962890625 223.4478515625-35.6888671875 13.965820312500002-69.82734374999998 31.034179687500007-100.8615234375 52.758984375-80.68974609375-68.27607421875001-131.89746093749997-166.0341796875-139.65556640625-276.20683593750005z m183.10341796875 308.7931640625c20.172656250000003-13.965820312500002 43.44873046875001-24.82822265625 66.7248046875-34.1384765625 4.6546875 24.82822265625 10.8615234375 51.2068359375 18.6205078125 74.48291015625001-31.034179687500007-9.31025390625-58.9658203125-23.27607421875-85.34531249999999-40.34443359375z m217.24189453125 63.620507812499994h-3.10341796875c-23.27607421875 0-46.5521484375-1.5521484375-68.27607421875001-6.2068359375-10.862402343749999-34.1384765625-20.172656250000003-69.82734374999998-26.3794921875-107.068359375 29.48291015625-7.758984374999999 60.51708984375-10.863281249999998 93.10341796875-10.863281249999998h3.10341796875c32.586328125 0 65.17265625 4.65556640625 94.65556640624999 10.863281249999998-7.758984374999999 37.241015625-17.068359375 72.9298828125-26.3794921875 107.068359375-23.27607421875 3.1025390624999996-45 4.6546875-66.72392578125 6.2068359375zM640.830728515625 889.068359375l18.6205078125-74.48291015625001c23.27607421875 9.31025390625 45 20.172656250000003 66.72392578125 34.13759765625-26.3794921875 15.517089843750004-54.31025390625 29.48291015625-85.34443359375 40.345312500000006z m128.7931640625-74.48291015625001c-31.034179687500007-21.72392578125-65.17265625-40.345312500000006-100.86240234375-52.758984375 12.413671875-71.3794921875 18.6205078125-147.41367187499998 18.6205078125-223.4478515625h221.8974609375c-7.758984374999999 110.17265625-58.9658203125 207.93164062500003-139.65556640625 276.20683593750005z\\\" p-id=\\\"3364\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/zd.svg?");

/***/ }),

/***/ "./src/assets/icons/zj.svg":
/*!*********************************!*\
  !*** ./src/assets/icons/zj.svg ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-zj\",\n  \"use\": \"icon-zj-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-zj\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M355.413333 181.333333c121.898667 0 225.237333 53.888 228.906667 132.608l0.064 4.330667v401.066667c0 81.066667-104.853333 136.938667-228.992 136.938666-124.117333 0-228.992-55.872-228.992-136.938666V586.24 452.266667 318.272v0.021333c0-81.066667 104.874667-136.938667 228.992-136.938666z m311.466667 230.037334c121.898667 0 225.237333 53.888 228.906667 132.629333l0.064 4.309333v133.12c0 81.066667-104.853333 136.917333-228.992 136.917334-16.469333 0-32.597333-0.981333-48.213334-2.88v-64.597334c15.146667 2.24 31.338667 3.477333 48.213334 3.477334 91.328 0 161.749333-36.394667 164.906666-70.549334l0.106667-2.389333v-36.608c-26.176 15.893333-58.986667 27.690667-95.829333 34.368-22.165333 4.010667-45.44 6.08-69.184 6.08-16.362667 0-32.512-0.981333-48.213334-2.901333v-64.576c15.488 2.304 31.701333 3.477333 48.213334 3.477333 19.946667 0 39.402667-1.706667 57.770666-5.056 65.834667-11.925333 107.242667-42.218667 107.242667-67.882667 0-34.816-71.552-72.938667-165.013333-72.938666-16.874667 0-33.066667 1.258667-48.213334 3.498666v-64.618666a399.914667 399.914667 0 0 1 48.213334-2.88z m-146.453333 271.36c-26.197333 15.893333-59.008 27.690667-95.850667 34.368-22.165333 4.010667-45.44 6.08-69.184 6.08a389.12 389.12 0 0 1-69.162667-6.08c-36.842667-6.677333-69.653333-18.474667-95.829333-34.346667v36.586667l0.106667 2.389333c3.157333 34.154667 73.557333 70.549333 164.906666 70.549333 93.44 0 164.992-38.101333 164.992-72.938666z m0-133.973334c-26.197333 15.872-59.008 27.690667-95.850667 34.346667-22.165333 4.032-45.44 6.08-69.184 6.08a389.12 389.12 0 0 1-69.162667-6.08c-36.842667-6.656-69.653333-18.474667-95.829333-34.346667v37.482667l0.128 2.496c2.56 25.109333 43.392 53.845333 107.093333 65.386667 18.368 3.328 37.845333 5.056 57.770667 5.056 19.946667 0 39.402667-1.706667 57.770667-5.056 65.834667-11.946667 107.242667-42.218667 107.242666-67.882667v-0.874667z m-330.026667-133.994666v37.482666l0.128 2.517334c2.56 25.109333 43.392 53.824 107.093333 65.386666 18.368 3.328 37.845333 5.034667 57.770667 5.034667 19.946667 0 39.402667-1.706667 57.770667-5.034667 65.834667-11.946667 107.242667-42.24 107.242666-67.882666v-37.504c-26.176 15.872-58.986667 27.690667-95.829333 34.346666-22.165333 4.053333-45.44 6.101333-69.184 6.101334a389.12 389.12 0 0 1-69.162667-6.08c-36.842667-6.677333-69.653333-18.474667-95.829333-34.368z m164.992-169.429334c-93.44 0-164.992 38.101333-164.992 72.938667 0 25.664 41.386667 55.957333 107.242667 67.882667 18.346667 3.328 37.824 5.056 57.749333 5.056 19.946667 0 39.402667-1.728 57.770667-5.056 65.834667-11.946667 107.242667-42.218667 107.242666-67.882667 0-34.837333-71.552-72.938667-165.013333-72.938667z\\\" p-id=\\\"2307\\\" fill=\\\"#8a8a8a\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/zj.svg?");

/***/ }),

/***/ "./src/assets/icons/zzh.svg":
/*!**********************************!*\
  !*** ./src/assets/icons/zzh.svg ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/svg-baker-runtime/browser-symbol.js */ \"./node_modules/svg-baker-runtime/browser-symbol.js\");\n/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js */ \"./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\");\n/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({\n  \"id\": \"icon-zzh\",\n  \"use\": \"icon-zzh-usage\",\n  \"viewBox\": \"0 0 1024 1024\",\n  \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" id=\\\"icon-zzh\\\"><defs><style type=\\\"text/css\\\">@font-face { font-family: feedback-iconfont; src: url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944\\\") format(\\\"woff2\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944\\\") format(\\\"woff\\\"), url(\\\"//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944\\\") format(\\\"truetype\\\"); }\\n</style></defs><path d=\\\"M658.139429 502.784A402.432 402.432 0 0 1 914.285714 877.714286a36.571429 36.571429 0 1 1-73.142857 0 329.142857 329.142857 0 0 0-658.285714 0 36.571429 36.571429 0 1 1-73.142857 0 402.432 402.432 0 0 1 256.146285-374.930286 255.707429 255.707429 0 0 1-108.032-241.225143 109.714286 109.714286 0 0 0 11.702858 211.456 36.571429 36.571429 0 0 1 10.678857 67.437714 36.425143 36.425143 0 0 1-20.260572 10.971429A182.857143 182.857143 0 0 0 109.714286 731.428571a36.571429 36.571429 0 1 1-73.142857 0c0-97.572571 54.930286-183.661714 137.069714-226.742857a182.784 182.784 0 0 1 58.514286-311.588571 36.571429 36.571429 0 0 1 39.716571 10.459428 256.073143 256.073143 0 0 1 480.256 0 36.571429 36.571429 0 0 1 39.643429-10.459428 182.857143 182.857143 0 0 1 58.587428 311.588571A256.219429 256.219429 0 0 1 987.428571 731.428571a36.571429 36.571429 0 1 1-73.142857 0 182.857143 182.857143 0 0 0-150.235428-179.931428 36.425143 36.425143 0 0 1-20.260572-11.044572 36.498286 36.498286 0 0 1 10.678857-67.437714 109.714286 109.714286 0 0 0 11.702858-211.456 255.707429 255.707429 0 0 1-108.032 241.225143zM329.142857 292.571429a182.857143 182.857143 0 1 0 365.714286 0 182.857143 182.857143 0 0 0-365.714286 0z\\\" fill=\\\"#646464\\\" p-id=\\\"5715\\\" /></symbol>\"\n});\nvar result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);\n/* harmony default export */ __webpack_exports__[\"default\"] = (symbol);\n\n//# sourceURL=webpack:///./src/assets/icons/zzh.svg?");

/***/ }),

/***/ "./src/assets/images/ljxlogo.jpg":
/*!***************************************!*\
  !*** ./src/assets/images/ljxlogo.jpg ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__.p + \"img/ljxlogo.29763664.jpg\";\n\n//# sourceURL=webpack:///./src/assets/images/ljxlogo.jpg?");

/***/ }),

/***/ "./src/assets/styles/reset.scss":
/*!**************************************!*\
  !*** ./src/assets/styles/reset.scss ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-3-1!../../../node_modules/postcss-loader/src??ref--9-oneOf-3-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-3-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-3-4!./reset.scss */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./src/assets/styles/reset.scss\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5546aecf\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/assets/styles/reset.scss?");

/***/ }),

/***/ "./src/components sync recursive index.(vue|js)$":
/*!*********************************************!*\
  !*** ./src/components sync index.(vue|js)$ ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var map = {\n\t\"./AbsoluteContainer/index.vue\": \"./src/components/AbsoluteContainer/index.vue\",\n\t\"./AmapMarker/index.vue\": \"./src/components/AmapMarker/index.vue\",\n\t\"./Auth/index.vue\": \"./src/components/Auth/index.vue\",\n\t\"./AuthAll/index.vue\": \"./src/components/AuthAll/index.vue\",\n\t\"./BatchActionBar/index.vue\": \"./src/components/BatchActionBar/index.vue\",\n\t\"./CascaderArea/index.vue\": \"./src/components/CascaderArea/index.vue\",\n\t\"./Chip/index.vue\": \"./src/components/Chip/index.vue\",\n\t\"./ColorfulCard/index.vue\": \"./src/components/ColorfulCard/index.vue\",\n\t\"./Copyright/index.vue\": \"./src/components/Copyright/index.vue\",\n\t\"./Editor/index.vue\": \"./src/components/Editor/index.vue\",\n\t\"./FileUpload/index.vue\": \"./src/components/FileUpload/index.vue\",\n\t\"./FixedActionBar/index.vue\": \"./src/components/FixedActionBar/index.vue\",\n\t\"./IconPicker/index.vue\": \"./src/components/IconPicker/index.vue\",\n\t\"./ImagePreview/index.vue\": \"./src/components/ImagePreview/index.vue\",\n\t\"./ImageUpload/index.vue\": \"./src/components/ImageUpload/index.vue\",\n\t\"./ImagesUpload/index.vue\": \"./src/components/ImagesUpload/index.vue\",\n\t\"./PageHeader/index.vue\": \"./src/components/PageHeader/index.vue\",\n\t\"./PageMain/index.vue\": \"./src/components/PageMain/index.vue\",\n\t\"./Result/index.vue\": \"./src/components/Result/index.vue\",\n\t\"./SearchBar/index.vue\": \"./src/components/SearchBar/index.vue\",\n\t\"./SpinkitLoading/index.js\": \"./src/components/SpinkitLoading/index.js\",\n\t\"./SvgIcon/index.vue\": \"./src/components/SvgIcon/index.vue\",\n\t\"./Trend/index.vue\": \"./src/components/Trend/index.vue\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/components sync recursive index.(vue|js)$\";\n\n//# sourceURL=webpack:///./src/components_sync_index.(vue%7Cjs)$?");

/***/ }),

/***/ "./src/components/AbsoluteContainer/index.vue":
/*!****************************************************!*\
  !*** ./src/components/AbsoluteContainer/index.vue ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_121c36cd_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=121c36cd&scoped=true& */ \"./src/components/AbsoluteContainer/index.vue?vue&type=template&id=121c36cd&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/AbsoluteContainer/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_121c36cd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true& */ \"./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_121c36cd_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_121c36cd_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"121c36cd\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AbsoluteContainer/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?");

/***/ }),

/***/ "./src/components/AbsoluteContainer/index.vue?vue&type=script&lang=js&":
/*!*****************************************************************************!*\
  !*** ./src/components/AbsoluteContainer/index.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?");

/***/ }),

/***/ "./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true&":
/*!**************************************************************************************************************!*\
  !*** ./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true& ***!
  \**************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_121c36cd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=style&index=0&id=121c36cd&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_121c36cd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_121c36cd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_121c36cd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_121c36cd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?");

/***/ }),

/***/ "./src/components/AbsoluteContainer/index.vue?vue&type=template&id=121c36cd&scoped=true&":
/*!***********************************************************************************************!*\
  !*** ./src/components/AbsoluteContainer/index.vue?vue&type=template&id=121c36cd&scoped=true& ***!
  \***********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_121c36cd_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=121c36cd&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AbsoluteContainer/index.vue?vue&type=template&id=121c36cd&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_121c36cd_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_121c36cd_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/AbsoluteContainer/index.vue?");

/***/ }),

/***/ "./src/components/AmapMarker/index.vue":
/*!*********************************************!*\
  !*** ./src/components/AmapMarker/index.vue ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_28fd3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=28fd3be8&scoped=true& */ \"./src/components/AmapMarker/index.vue?vue&type=template&id=28fd3be8&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/AmapMarker/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_28fd3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true& */ \"./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_28fd3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_28fd3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"28fd3be8\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AmapMarker/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?");

/***/ }),

/***/ "./src/components/AmapMarker/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************!*\
  !*** ./src/components/AmapMarker/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?");

/***/ }),

/***/ "./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true&":
/*!*******************************************************************************************************!*\
  !*** ./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true& ***!
  \*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_28fd3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=style&index=0&id=28fd3be8&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_28fd3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_28fd3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_28fd3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_28fd3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?");

/***/ }),

/***/ "./src/components/AmapMarker/index.vue?vue&type=template&id=28fd3be8&scoped=true&":
/*!****************************************************************************************!*\
  !*** ./src/components/AmapMarker/index.vue?vue&type=template&id=28fd3be8&scoped=true& ***!
  \****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_28fd3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=28fd3be8&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AmapMarker/index.vue?vue&type=template&id=28fd3be8&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_28fd3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_28fd3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/AmapMarker/index.vue?");

/***/ }),

/***/ "./src/components/Auth/index.vue":
/*!***************************************!*\
  !*** ./src/components/Auth/index.vue ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_224f8b4a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=224f8b4a& */ \"./src/components/Auth/index.vue?vue&type=template&id=224f8b4a&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/Auth/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_224f8b4a___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_224f8b4a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Auth/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/Auth/index.vue?");

/***/ }),

/***/ "./src/components/Auth/index.vue?vue&type=script&lang=js&":
/*!****************************************************************!*\
  !*** ./src/components/Auth/index.vue?vue&type=script&lang=js& ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Auth/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/Auth/index.vue?");

/***/ }),

/***/ "./src/components/Auth/index.vue?vue&type=template&id=224f8b4a&":
/*!**********************************************************************!*\
  !*** ./src/components/Auth/index.vue?vue&type=template&id=224f8b4a& ***!
  \**********************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_224f8b4a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=224f8b4a& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Auth/index.vue?vue&type=template&id=224f8b4a&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_224f8b4a___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_224f8b4a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/Auth/index.vue?");

/***/ }),

/***/ "./src/components/AuthAll/index.vue":
/*!******************************************!*\
  !*** ./src/components/AuthAll/index.vue ***!
  \******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_09e3a01c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=09e3a01c& */ \"./src/components/AuthAll/index.vue?vue&type=template&id=09e3a01c&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/AuthAll/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_09e3a01c___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_09e3a01c___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AuthAll/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/AuthAll/index.vue?");

/***/ }),

/***/ "./src/components/AuthAll/index.vue?vue&type=script&lang=js&":
/*!*******************************************************************!*\
  !*** ./src/components/AuthAll/index.vue?vue&type=script&lang=js& ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AuthAll/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/AuthAll/index.vue?");

/***/ }),

/***/ "./src/components/AuthAll/index.vue?vue&type=template&id=09e3a01c&":
/*!*************************************************************************!*\
  !*** ./src/components/AuthAll/index.vue?vue&type=template&id=09e3a01c& ***!
  \*************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_09e3a01c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=09e3a01c& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AuthAll/index.vue?vue&type=template&id=09e3a01c&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_09e3a01c___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_09e3a01c___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/AuthAll/index.vue?");

/***/ }),

/***/ "./src/components/BatchActionBar/index.vue":
/*!*************************************************!*\
  !*** ./src/components/BatchActionBar/index.vue ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_0c14e654_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=0c14e654&scoped=true& */ \"./src/components/BatchActionBar/index.vue?vue&type=template&id=0c14e654&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/BatchActionBar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_0c14e654_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true& */ \"./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_0c14e654_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_0c14e654_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"0c14e654\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/BatchActionBar/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?");

/***/ }),

/***/ "./src/components/BatchActionBar/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************!*\
  !*** ./src/components/BatchActionBar/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?");

/***/ }),

/***/ "./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true&":
/*!***********************************************************************************************************!*\
  !*** ./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true& ***!
  \***********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0c14e654_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=style&index=0&id=0c14e654&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0c14e654_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0c14e654_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0c14e654_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0c14e654_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?");

/***/ }),

/***/ "./src/components/BatchActionBar/index.vue?vue&type=template&id=0c14e654&scoped=true&":
/*!********************************************************************************************!*\
  !*** ./src/components/BatchActionBar/index.vue?vue&type=template&id=0c14e654&scoped=true& ***!
  \********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0c14e654_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=0c14e654&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/BatchActionBar/index.vue?vue&type=template&id=0c14e654&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0c14e654_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0c14e654_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/BatchActionBar/index.vue?");

/***/ }),

/***/ "./src/components/CascaderArea/index.vue":
/*!***********************************************!*\
  !*** ./src/components/CascaderArea/index.vue ***!
  \***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_595dd2de_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=595dd2de&scoped=true& */ \"./src/components/CascaderArea/index.vue?vue&type=template&id=595dd2de&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/CascaderArea/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_595dd2de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true& */ \"./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_595dd2de_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_595dd2de_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"595dd2de\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/CascaderArea/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?");

/***/ }),

/***/ "./src/components/CascaderArea/index.vue?vue&type=script&lang=js&":
/*!************************************************************************!*\
  !*** ./src/components/CascaderArea/index.vue?vue&type=script&lang=js& ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?");

/***/ }),

/***/ "./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true&":
/*!*********************************************************************************************************!*\
  !*** ./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true& ***!
  \*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_595dd2de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=style&index=0&id=595dd2de&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_595dd2de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_595dd2de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_595dd2de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_595dd2de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?");

/***/ }),

/***/ "./src/components/CascaderArea/index.vue?vue&type=template&id=595dd2de&scoped=true&":
/*!******************************************************************************************!*\
  !*** ./src/components/CascaderArea/index.vue?vue&type=template&id=595dd2de&scoped=true& ***!
  \******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_595dd2de_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=595dd2de&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CascaderArea/index.vue?vue&type=template&id=595dd2de&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_595dd2de_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_595dd2de_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/CascaderArea/index.vue?");

/***/ }),

/***/ "./src/components/Chip/index.vue":
/*!***************************************!*\
  !*** ./src/components/Chip/index.vue ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_2f201802_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=2f201802&scoped=true& */ \"./src/components/Chip/index.vue?vue&type=template&id=2f201802&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/Chip/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_2f201802_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true& */ \"./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_2f201802_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_2f201802_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"2f201802\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Chip/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?");

/***/ }),

/***/ "./src/components/Chip/index.vue?vue&type=script&lang=js&":
/*!****************************************************************!*\
  !*** ./src/components/Chip/index.vue?vue&type=script&lang=js& ***!
  \****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?");

/***/ }),

/***/ "./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true&":
/*!*************************************************************************************************!*\
  !*** ./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true& ***!
  \*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2f201802_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=style&index=0&id=2f201802&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2f201802_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2f201802_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2f201802_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2f201802_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?");

/***/ }),

/***/ "./src/components/Chip/index.vue?vue&type=template&id=2f201802&scoped=true&":
/*!**********************************************************************************!*\
  !*** ./src/components/Chip/index.vue?vue&type=template&id=2f201802&scoped=true& ***!
  \**********************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2f201802_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=2f201802&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Chip/index.vue?vue&type=template&id=2f201802&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2f201802_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2f201802_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/Chip/index.vue?");

/***/ }),

/***/ "./src/components/ColorfulCard/index.vue":
/*!***********************************************!*\
  !*** ./src/components/ColorfulCard/index.vue ***!
  \***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_1503bb9d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=1503bb9d&scoped=true& */ \"./src/components/ColorfulCard/index.vue?vue&type=template&id=1503bb9d&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/ColorfulCard/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_1503bb9d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true& */ \"./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_1503bb9d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_1503bb9d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"1503bb9d\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ColorfulCard/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?");

/***/ }),

/***/ "./src/components/ColorfulCard/index.vue?vue&type=script&lang=js&":
/*!************************************************************************!*\
  !*** ./src/components/ColorfulCard/index.vue?vue&type=script&lang=js& ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?");

/***/ }),

/***/ "./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true&":
/*!*********************************************************************************************************!*\
  !*** ./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true& ***!
  \*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1503bb9d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=style&index=0&id=1503bb9d&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1503bb9d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1503bb9d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1503bb9d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1503bb9d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?");

/***/ }),

/***/ "./src/components/ColorfulCard/index.vue?vue&type=template&id=1503bb9d&scoped=true&":
/*!******************************************************************************************!*\
  !*** ./src/components/ColorfulCard/index.vue?vue&type=template&id=1503bb9d&scoped=true& ***!
  \******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_1503bb9d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=1503bb9d&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorfulCard/index.vue?vue&type=template&id=1503bb9d&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_1503bb9d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_1503bb9d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/ColorfulCard/index.vue?");

/***/ }),

/***/ "./src/components/Copyright/index.vue":
/*!********************************************!*\
  !*** ./src/components/Copyright/index.vue ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_faa3b4ec_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=faa3b4ec&scoped=true& */ \"./src/components/Copyright/index.vue?vue&type=template&id=faa3b4ec&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/Copyright/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_faa3b4ec_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true& */ \"./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_faa3b4ec_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_faa3b4ec_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"faa3b4ec\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Copyright/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?");

/***/ }),

/***/ "./src/components/Copyright/index.vue?vue&type=script&lang=js&":
/*!*********************************************************************!*\
  !*** ./src/components/Copyright/index.vue?vue&type=script&lang=js& ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?");

/***/ }),

/***/ "./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true&":
/*!******************************************************************************************************!*\
  !*** ./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true& ***!
  \******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_faa3b4ec_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=style&index=0&id=faa3b4ec&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_faa3b4ec_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_faa3b4ec_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_faa3b4ec_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_faa3b4ec_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?");

/***/ }),

/***/ "./src/components/Copyright/index.vue?vue&type=template&id=faa3b4ec&scoped=true&":
/*!***************************************************************************************!*\
  !*** ./src/components/Copyright/index.vue?vue&type=template&id=faa3b4ec&scoped=true& ***!
  \***************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_faa3b4ec_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=faa3b4ec&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Copyright/index.vue?vue&type=template&id=faa3b4ec&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_faa3b4ec_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_faa3b4ec_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/Copyright/index.vue?");

/***/ }),

/***/ "./src/components/Editor/index.vue":
/*!*****************************************!*\
  !*** ./src/components/Editor/index.vue ***!
  \*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_7480c5e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=7480c5e0&scoped=true& */ \"./src/components/Editor/index.vue?vue&type=template&id=7480c5e0&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/Editor/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_7480c5e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true& */ \"./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_7480c5e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_7480c5e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"7480c5e0\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Editor/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?");

/***/ }),

/***/ "./src/components/Editor/index.vue?vue&type=script&lang=js&":
/*!******************************************************************!*\
  !*** ./src/components/Editor/index.vue?vue&type=script&lang=js& ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?");

/***/ }),

/***/ "./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true&":
/*!***************************************************************************************************!*\
  !*** ./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true& ***!
  \***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7480c5e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=style&index=0&id=7480c5e0&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7480c5e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7480c5e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7480c5e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7480c5e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?");

/***/ }),

/***/ "./src/components/Editor/index.vue?vue&type=template&id=7480c5e0&scoped=true&":
/*!************************************************************************************!*\
  !*** ./src/components/Editor/index.vue?vue&type=template&id=7480c5e0&scoped=true& ***!
  \************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7480c5e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=7480c5e0&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Editor/index.vue?vue&type=template&id=7480c5e0&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7480c5e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7480c5e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/Editor/index.vue?");

/***/ }),

/***/ "./src/components/FileUpload/index.vue":
/*!*********************************************!*\
  !*** ./src/components/FileUpload/index.vue ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_211f81e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=211f81e0&scoped=true& */ \"./src/components/FileUpload/index.vue?vue&type=template&id=211f81e0&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/FileUpload/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_211f81e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true& */ \"./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_211f81e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_211f81e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"211f81e0\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/FileUpload/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?");

/***/ }),

/***/ "./src/components/FileUpload/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************!*\
  !*** ./src/components/FileUpload/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?");

/***/ }),

/***/ "./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true&":
/*!*******************************************************************************************************!*\
  !*** ./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true& ***!
  \*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_211f81e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=style&index=0&id=211f81e0&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_211f81e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_211f81e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_211f81e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_211f81e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?");

/***/ }),

/***/ "./src/components/FileUpload/index.vue?vue&type=template&id=211f81e0&scoped=true&":
/*!****************************************************************************************!*\
  !*** ./src/components/FileUpload/index.vue?vue&type=template&id=211f81e0&scoped=true& ***!
  \****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_211f81e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=211f81e0&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FileUpload/index.vue?vue&type=template&id=211f81e0&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_211f81e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_211f81e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/FileUpload/index.vue?");

/***/ }),

/***/ "./src/components/FixedActionBar/index.vue":
/*!*************************************************!*\
  !*** ./src/components/FixedActionBar/index.vue ***!
  \*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_5f6be348_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=5f6be348&scoped=true& */ \"./src/components/FixedActionBar/index.vue?vue&type=template&id=5f6be348&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/FixedActionBar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_5f6be348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true& */ \"./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_5f6be348_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_5f6be348_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"5f6be348\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/FixedActionBar/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?");

/***/ }),

/***/ "./src/components/FixedActionBar/index.vue?vue&type=script&lang=js&":
/*!**************************************************************************!*\
  !*** ./src/components/FixedActionBar/index.vue?vue&type=script&lang=js& ***!
  \**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?");

/***/ }),

/***/ "./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true&":
/*!***********************************************************************************************************!*\
  !*** ./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true& ***!
  \***********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5f6be348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=style&index=0&id=5f6be348&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5f6be348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5f6be348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5f6be348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5f6be348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?");

/***/ }),

/***/ "./src/components/FixedActionBar/index.vue?vue&type=template&id=5f6be348&scoped=true&":
/*!********************************************************************************************!*\
  !*** ./src/components/FixedActionBar/index.vue?vue&type=template&id=5f6be348&scoped=true& ***!
  \********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_5f6be348_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=5f6be348&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/FixedActionBar/index.vue?vue&type=template&id=5f6be348&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_5f6be348_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_5f6be348_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/FixedActionBar/index.vue?");

/***/ }),

/***/ "./src/components/IconPicker/element.json":
/*!************************************************!*\
  !*** ./src/components/IconPicker/element.json ***!
  \************************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, default */
/***/ (function(module) {

eval("module.exports = JSON.parse(\"[\\\"platform-eleme\\\",\\\"eleme\\\",\\\"delete-solid\\\",\\\"delete\\\",\\\"s-tools\\\",\\\"setting\\\",\\\"user-solid\\\",\\\"user\\\",\\\"phone\\\",\\\"phone-outline\\\",\\\"more\\\",\\\"more-outline\\\",\\\"star-on\\\",\\\"star-off\\\",\\\"s-goods\\\",\\\"goods\\\",\\\"warning\\\",\\\"warning-outline\\\",\\\"question\\\",\\\"info\\\",\\\"remove\\\",\\\"circle-plus\\\",\\\"success\\\",\\\"error\\\",\\\"zoom-in\\\",\\\"zoom-out\\\",\\\"remove-outline\\\",\\\"circle-plus-outline\\\",\\\"circle-check\\\",\\\"circle-close\\\",\\\"s-help\\\",\\\"help\\\",\\\"minus\\\",\\\"plus\\\",\\\"check\\\",\\\"close\\\",\\\"picture\\\",\\\"picture-outline\\\",\\\"picture-outline-round\\\",\\\"upload\\\",\\\"upload2\\\",\\\"download\\\",\\\"camera-solid\\\",\\\"camera\\\",\\\"video-camera-solid\\\",\\\"video-camera\\\",\\\"message-solid\\\",\\\"bell\\\",\\\"s-cooperation\\\",\\\"s-order\\\",\\\"s-platform\\\",\\\"s-fold\\\",\\\"s-unfold\\\",\\\"s-operation\\\",\\\"s-promotion\\\",\\\"s-home\\\",\\\"s-release\\\",\\\"s-ticket\\\",\\\"s-management\\\",\\\"s-open\\\",\\\"s-shop\\\",\\\"s-marketing\\\",\\\"s-flag\\\",\\\"s-comment\\\",\\\"s-finance\\\",\\\"s-claim\\\",\\\"s-custom\\\",\\\"s-opportunity\\\",\\\"s-data\\\",\\\"s-check\\\",\\\"s-grid\\\",\\\"menu\\\",\\\"share\\\",\\\"d-caret\\\",\\\"caret-left\\\",\\\"caret-right\\\",\\\"caret-bottom\\\",\\\"caret-top\\\",\\\"bottom-left\\\",\\\"bottom-right\\\",\\\"back\\\",\\\"right\\\",\\\"bottom\\\",\\\"top\\\",\\\"top-left\\\",\\\"top-right\\\",\\\"arrow-left\\\",\\\"arrow-right\\\",\\\"arrow-down\\\",\\\"arrow-up\\\",\\\"d-arrow-left\\\",\\\"d-arrow-right\\\",\\\"video-pause\\\",\\\"video-play\\\",\\\"refresh\\\",\\\"refresh-right\\\",\\\"refresh-left\\\",\\\"finished\\\",\\\"sort\\\",\\\"sort-up\\\",\\\"sort-down\\\",\\\"rank\\\",\\\"loading\\\",\\\"view\\\",\\\"c-scale-to-original\\\",\\\"date\\\",\\\"edit\\\",\\\"edit-outline\\\",\\\"folder\\\",\\\"folder-opened\\\",\\\"folder-add\\\",\\\"folder-remove\\\",\\\"folder-delete\\\",\\\"folder-checked\\\",\\\"tickets\\\",\\\"document-remove\\\",\\\"document-delete\\\",\\\"document-copy\\\",\\\"document-checked\\\",\\\"document\\\",\\\"document-add\\\",\\\"printer\\\",\\\"paperclip\\\",\\\"takeaway-box\\\",\\\"search\\\",\\\"monitor\\\",\\\"attract\\\",\\\"mobile\\\",\\\"scissors\\\",\\\"umbrella\\\",\\\"headset\\\",\\\"brush\\\",\\\"mouse\\\",\\\"coordinate\\\",\\\"magic-stick\\\",\\\"reading\\\",\\\"data-line\\\",\\\"data-board\\\",\\\"pie-chart\\\",\\\"data-analysis\\\",\\\"collection-tag\\\",\\\"film\\\",\\\"suitcase\\\",\\\"suitcase-1\\\",\\\"receiving\\\",\\\"collection\\\",\\\"files\\\",\\\"notebook-1\\\",\\\"notebook-2\\\",\\\"toilet-paper\\\",\\\"office-building\\\",\\\"school\\\",\\\"table-lamp\\\",\\\"house\\\",\\\"no-smoking\\\",\\\"smoking\\\",\\\"shopping-cart-full\\\",\\\"shopping-cart-1\\\",\\\"shopping-cart-2\\\",\\\"shopping-bag-1\\\",\\\"shopping-bag-2\\\",\\\"sold-out\\\",\\\"sell\\\",\\\"present\\\",\\\"box\\\",\\\"bank-card\\\",\\\"money\\\",\\\"coin\\\",\\\"wallet\\\",\\\"discount\\\",\\\"price-tag\\\",\\\"news\\\",\\\"guide\\\",\\\"male\\\",\\\"female\\\",\\\"thumb\\\",\\\"cpu\\\",\\\"link\\\",\\\"connection\\\",\\\"open\\\",\\\"turn-off\\\",\\\"set-up\\\",\\\"chat-round\\\",\\\"chat-line-round\\\",\\\"chat-square\\\",\\\"chat-dot-round\\\",\\\"chat-dot-square\\\",\\\"chat-line-square\\\",\\\"message\\\",\\\"postcard\\\",\\\"position\\\",\\\"turn-off-microphone\\\",\\\"microphone\\\",\\\"close-notification\\\",\\\"bangzhu\\\",\\\"time\\\",\\\"odometer\\\",\\\"crop\\\",\\\"aim\\\",\\\"switch-button\\\",\\\"full-screen\\\",\\\"copy-document\\\",\\\"mic\\\",\\\"stopwatch\\\",\\\"medal-1\\\",\\\"medal\\\",\\\"trophy\\\",\\\"trophy-1\\\",\\\"first-aid-kit\\\",\\\"discover\\\",\\\"place\\\",\\\"location\\\",\\\"location-outline\\\",\\\"location-information\\\",\\\"add-location\\\",\\\"delete-location\\\",\\\"map-location\\\",\\\"alarm-clock\\\",\\\"timer\\\",\\\"watch-1\\\",\\\"watch\\\",\\\"lock\\\",\\\"unlock\\\",\\\"key\\\",\\\"service\\\",\\\"mobile-phone\\\",\\\"bicycle\\\",\\\"truck\\\",\\\"ship\\\",\\\"basketball\\\",\\\"football\\\",\\\"soccer\\\",\\\"baseball\\\",\\\"wind-power\\\",\\\"light-rain\\\",\\\"lightning\\\",\\\"heavy-rain\\\",\\\"sunrise\\\",\\\"sunrise-1\\\",\\\"sunset\\\",\\\"sunny\\\",\\\"cloudy\\\",\\\"partly-cloudy\\\",\\\"cloudy-and-sunny\\\",\\\"moon\\\",\\\"moon-night\\\",\\\"dish\\\",\\\"dish-1\\\",\\\"food\\\",\\\"chicken\\\",\\\"fork-spoon\\\",\\\"knife-fork\\\",\\\"burger\\\",\\\"tableware\\\",\\\"sugar\\\",\\\"dessert\\\",\\\"ice-cream\\\",\\\"hot-water\\\",\\\"water-cup\\\",\\\"coffee-cup\\\",\\\"cold-drink\\\",\\\"goblet\\\",\\\"goblet-full\\\",\\\"goblet-square\\\",\\\"goblet-square-full\\\",\\\"refrigerator\\\",\\\"grape\\\",\\\"watermelon\\\",\\\"cherry\\\",\\\"apple\\\",\\\"pear\\\",\\\"orange\\\",\\\"coffee\\\",\\\"ice-tea\\\",\\\"ice-drink\\\",\\\"milk-tea\\\",\\\"potato-strips\\\",\\\"lollipop\\\",\\\"ice-cream-square\\\",\\\"ice-cream-round\\\"]\");\n\n//# sourceURL=webpack:///./src/components/IconPicker/element.json?");

/***/ }),

/***/ "./src/components/IconPicker/index.vue":
/*!*********************************************!*\
  !*** ./src/components/IconPicker/index.vue ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_98c64b4c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=98c64b4c&scoped=true& */ \"./src/components/IconPicker/index.vue?vue&type=template&id=98c64b4c&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/IconPicker/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_98c64b4c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true& */ \"./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_98c64b4c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_98c64b4c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"98c64b4c\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/IconPicker/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?");

/***/ }),

/***/ "./src/components/IconPicker/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************!*\
  !*** ./src/components/IconPicker/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?");

/***/ }),

/***/ "./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true&":
/*!*******************************************************************************************************!*\
  !*** ./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true& ***!
  \*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_98c64b4c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=style&index=0&id=98c64b4c&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_98c64b4c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_98c64b4c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_98c64b4c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_98c64b4c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?");

/***/ }),

/***/ "./src/components/IconPicker/index.vue?vue&type=template&id=98c64b4c&scoped=true&":
/*!****************************************************************************************!*\
  !*** ./src/components/IconPicker/index.vue?vue&type=template&id=98c64b4c&scoped=true& ***!
  \****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_98c64b4c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=98c64b4c&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/IconPicker/index.vue?vue&type=template&id=98c64b4c&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_98c64b4c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_98c64b4c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/IconPicker/index.vue?");

/***/ }),

/***/ "./src/components/IconPicker/remix.json":
/*!**********************************************!*\
  !*** ./src/components/IconPicker/remix.json ***!
  \**********************************************/
/*! exports provided: Buildings, Business, Communication, Design, Development, Device, Document, Editor, Finance, Health & Medical, Logos, Map, Media, System, User&Faces, Weather, Others, default */
/***/ (function(module) {

eval("module.exports = JSON.parse(\"{\\\"Buildings\\\":{\\\"home\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-2\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-3\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-4\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-5\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-6\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-7\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-8\\\":[\\\"house\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\"],\\\"home-gear\\\":[\\\"house\\\",\\\"房子\\\",\\\"工厂\\\"],\\\"home-wifi\\\":[\\\"smart home\\\",\\\"房子\\\",\\\"家具\\\",\\\"智能家居\\\"],\\\"home-smile\\\":[\\\"house\\\",\\\"smart home\\\",\\\"smile\\\",\\\"房子\\\",\\\"智能家居\\\",\\\"微笑\\\"],\\\"home-smile-2\\\":[\\\"house\\\",\\\"smart home\\\",\\\"smile\\\",\\\"房子\\\",\\\"智能家居\\\",\\\"微笑\\\"],\\\"home-heart\\\":[\\\"house\\\",\\\"心\\\",\\\"房子\\\",\\\"家\\\",\\\"主页\\\",\\\"孤儿院\\\"],\\\"building\\\":[\\\"city\\\",\\\"office\\\",\\\"enterprise\\\",\\\"建筑\\\",\\\"城市\\\",\\\"楼\\\",\\\"办公楼\\\",\\\"写字楼\\\",\\\"企业\\\"],\\\"building-2\\\":[\\\"city\\\",\\\"office\\\",\\\"construction\\\",\\\"enterprise\\\",\\\"城市\\\",\\\"建筑\\\",\\\"楼\\\",\\\"企业\\\"],\\\"building-3\\\":[\\\"factory\\\",\\\"plant\\\",\\\"enterprise\\\",\\\"工厂\\\",\\\"建筑\\\",\\\"楼\\\",\\\"企业\\\"],\\\"building-4\\\":[\\\"city\\\",\\\"office\\\",\\\"enterprise\\\",\\\"建筑\\\",\\\"城市\\\",\\\"楼\\\",\\\"办公楼\\\",\\\"写字楼\\\",\\\"企业\\\"],\\\"hotel\\\":[\\\"building\\\",\\\"hotel\\\",\\\"office\\\",\\\"enterprise\\\",\\\"tavern\\\",\\\"建筑\\\",\\\"酒店\\\",\\\"楼\\\",\\\"办公楼\\\",\\\"写字楼\\\",\\\"企业\\\"],\\\"community\\\":[\\\"building\\\",\\\"hotel\\\",\\\"社区\\\",\\\"建筑\\\",\\\"酒店\\\"],\\\"government\\\":[\\\"building\\\",\\\"政府\\\",\\\"建筑\\\",\\\"大会堂\\\"],\\\"bank\\\":[\\\"bank\\\",\\\"finance\\\",\\\"savings\\\",\\\"banking\\\",\\\"银行\\\",\\\"交易所\\\"],\\\"store\\\":[\\\"shop\\\",\\\"mall\\\",\\\"supermarket\\\",\\\"商店\\\",\\\"超市\\\",\\\"店铺\\\",\\\"商家\\\"],\\\"store-2\\\":[\\\"shop\\\",\\\"mall\\\",\\\"supermarket\\\",\\\"商店\\\",\\\"超市\\\",\\\"店铺\\\",\\\"商家\\\"],\\\"store-3\\\":[\\\"shop\\\",\\\"mall\\\",\\\"supermarket\\\",\\\"商店\\\",\\\"超市\\\",\\\"店铺\\\",\\\"商家\\\"],\\\"hospital\\\":[\\\"medical\\\",\\\"health\\\",\\\"医院\\\"],\\\"ancient-gate\\\":[\\\"historical\\\",\\\"genre\\\",\\\"scenic\\\",\\\"trip\\\",\\\"travel\\\",\\\"旅行\\\",\\\"旅游\\\",\\\"城门\\\",\\\"古代\\\",\\\"历史\\\",\\\"景区\\\"],\\\"ancient-pavilion\\\":[\\\"historical\\\",\\\"genre\\\",\\\"scenic\\\",\\\"trip\\\",\\\"travel\\\",\\\"旅行\\\",\\\"旅游\\\",\\\"凉亭\\\",\\\"古代\\\",\\\"历史\\\",\\\"景区\\\"]},\\\"Business\\\":{\\\"mail\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"收件箱\\\"],\\\"mail-open\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"收件箱\\\"],\\\"mail-send\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"发送\\\",\\\"发件箱\\\"],\\\"mail-unread\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"未读\\\"],\\\"mail-add\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"add\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"新增\\\",\\\"添加\\\"],\\\"mail-check\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"read\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"已读\\\"],\\\"mail-close\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"failed\\\",\\\"x\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"失败\\\"],\\\"mail-download\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"download\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"下載\\\"],\\\"mail-forbid\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"privacy\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"禁止\\\"],\\\"mail-lock\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"lock\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"加密\\\"],\\\"mail-settings\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"settings\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"设置\\\"],\\\"mail-star\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"favorite\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"收藏\\\",\\\"喜欢\\\"],\\\"mail-volume\\\":[\\\"envelope\\\",\\\"email\\\",\\\"inbox\\\",\\\"promotional email\\\",\\\"email campaign\\\",\\\"subscription\\\",\\\"信封\\\",\\\"邮箱\\\",\\\"邮件\\\",\\\"收件箱\\\",\\\"推广\\\",\\\"订阅\\\"],\\\"inbox\\\":[\\\"收件箱\\\"],\\\"inbox-archive\\\":[\\\"收件箱\\\",\\\"归档\\\",\\\"收纳\\\"],\\\"inbox-unarchive\\\":[\\\"unzip\\\",\\\"unpack\\\",\\\"extract\\\",\\\"收件箱\\\",\\\"取消归档\\\",\\\"还原\\\",\\\"解压缩\\\"],\\\"cloud\\\":[\\\"weather\\\",\\\"云端\\\"],\\\"cloud-off\\\":[\\\"offline-mode\\\",\\\"connection-fail\\\",\\\"slash\\\",\\\"weather\\\",\\\"云端\\\",\\\"断网\\\",\\\"无信号\\\",\\\"连接失败\\\"],\\\"attachment\\\":[\\\"annex\\\",\\\"paperclip\\\",\\\"附件\\\",\\\"曲别针\\\"],\\\"profile\\\":[\\\"id\\\",\\\"档案\\\",\\\"资料\\\",\\\"身份证\\\",\\\"证件\\\"],\\\"archive\\\":[\\\"box\\\",\\\"收纳\\\",\\\"归档\\\",\\\"存档\\\",\\\"盒子\\\",\\\"纸箱\\\"],\\\"archive-drawer\\\":[\\\"night table\\\",\\\"收纳\\\",\\\"抽屉\\\",\\\"归档\\\",\\\"存档\\\",\\\"床头柜\\\"],\\\"at\\\":[\\\"@\\\",\\\"mention\\\",\\\"提到\\\",\\\"在\\\"],\\\"award\\\":[\\\"medal\\\",\\\"achievement\\\",\\\"badge\\\",\\\"成就\\\",\\\"奖牌\\\",\\\"金牌\\\",\\\"勋章\\\"],\\\"medal\\\":[\\\"award\\\",\\\"achievement\\\",\\\"badge\\\",\\\"成就\\\",\\\"奖牌\\\",\\\"金牌\\\",\\\"勋章\\\"],\\\"medal-2\\\":[\\\"award\\\",\\\"achievement\\\",\\\"badge\\\",\\\"成就\\\",\\\"奖牌\\\",\\\"金牌\\\",\\\"勋章\\\"],\\\"bar-chart\\\":[\\\"statistics\\\",\\\"rhythm\\\",\\\"柱状图\\\",\\\"统计\\\",\\\"韵律\\\",\\\"节奏\\\"],\\\"bar-chart-horizontal\\\":[\\\"statistics\\\",\\\"rhythm\\\",\\\"柱状图\\\",\\\"统计\\\",\\\"韵律\\\",\\\"节奏\\\"],\\\"bar-chart-2\\\":[\\\"statistics\\\",\\\"rhythm\\\",\\\"柱状图\\\",\\\"统计\\\",\\\"排行\\\",\\\"节奏\\\"],\\\"bar-chart-box\\\":[\\\"statistics\\\",\\\"rhythm\\\",\\\"柱状图\\\",\\\"统计\\\",\\\"节奏\\\"],\\\"bar-chart-grouped\\\":[\\\"statistics\\\",\\\"rhythm\\\",\\\"柱状图\\\",\\\"统计\\\",\\\"分组\\\"],\\\"bubble-chart\\\":[\\\"data\\\",\\\"analysis\\\",\\\"statistics\\\",\\\"气泡图\\\",\\\"统计\\\"],\\\"pie-chart\\\":[\\\"data\\\",\\\"analysis\\\",\\\"饼图\\\",\\\"饼状图\\\",\\\"数据\\\",\\\"分析\\\"],\\\"pie-chart-2\\\":[\\\"data\\\",\\\"analysis\\\",\\\"饼图\\\",\\\"饼状图\\\",\\\"数据\\\",\\\"分析\\\"],\\\"pie-chart-box\\\":[\\\"data\\\",\\\"analysis\\\",\\\"饼图\\\",\\\"饼状图\\\",\\\"数据\\\",\\\"分析\\\"],\\\"donut-chart\\\":[\\\"data\\\",\\\"analysis\\\",\\\"环形图\\\",\\\"数据\\\",\\\"分析\\\"],\\\"line-chart\\\":[\\\"data\\\",\\\"analysis\\\",\\\"stats\\\",\\\"折线图\\\",\\\"数据\\\",\\\"分析\\\"],\\\"bookmark\\\":[\\\"tag\\\",\\\"书签\\\",\\\"标记\\\"],\\\"bookmark-2\\\":[\\\"tag\\\",\\\"书签\\\",\\\"标记\\\"],\\\"bookmark-3\\\":[\\\"tag\\\",\\\"书签\\\",\\\"标记\\\",\\\"荣誉\\\"],\\\"briefcase\\\":[\\\"bag\\\",\\\"baggage\\\",\\\"公文包\\\",\\\"行李箱\\\",\\\"旅行箱\\\",\\\"皮包\\\"],\\\"briefcase-2\\\":[\\\"bag\\\",\\\"baggage\\\",\\\"公文包\\\",\\\"行李箱\\\",\\\"旅行箱\\\",\\\"皮包\\\"],\\\"briefcase-3\\\":[\\\"bag\\\",\\\"baggage\\\",\\\"公文包\\\",\\\"行李箱\\\",\\\"旅行箱\\\",\\\"皮包\\\"],\\\"briefcase-4\\\":[\\\"bag\\\",\\\"baggage\\\",\\\"公文包\\\",\\\"行李箱\\\",\\\"旅行箱\\\",\\\"皮包\\\"],\\\"briefcase-5\\\":[\\\"bag\\\",\\\"baggage\\\",\\\"公文包\\\",\\\"行李箱\\\",\\\"旅行箱\\\",\\\"皮包\\\"],\\\"calculator\\\":[\\\"计算器\\\",\\\"计算机\\\"],\\\"calendar\\\":[\\\"date\\\",\\\"plan\\\",\\\"schedule\\\",\\\"agenda\\\",\\\"日历\\\",\\\"日期\\\",\\\"月份\\\",\\\"计划\\\",\\\"日程\\\",\\\"时间表\\\"],\\\"calendar-2\\\":[\\\"date\\\",\\\"plan\\\",\\\"schedule\\\",\\\"agenda\\\",\\\"日历\\\",\\\"日期\\\",\\\"月份\\\",\\\"计划\\\",\\\"日程\\\",\\\"时间表\\\"],\\\"calendar-event\\\":[\\\"date\\\",\\\"plan\\\",\\\"schedule\\\",\\\"agenda\\\",\\\"日历\\\",\\\"日期\\\",\\\"月份\\\",\\\"计划\\\",\\\"日程\\\",\\\"时间表\\\"],\\\"calendar-todo\\\":[\\\"date\\\",\\\"plan\\\",\\\"schedule\\\",\\\"agenda\\\",\\\"日历\\\",\\\"日期\\\",\\\"月份\\\",\\\"计划\\\",\\\"日程\\\",\\\"时间表\\\"],\\\"calendar-check\\\":[\\\"date\\\",\\\"plan\\\",\\\"schedule\\\",\\\"agenda\\\",\\\"check-in\\\",\\\"punch\\\",\\\"日历\\\",\\\"日期\\\",\\\"月份\\\",\\\"计划\\\",\\\"日程\\\",\\\"时间表\\\",\\\"签到\\\",\\\"打卡\\\"],\\\"customer-service\\\":[\\\"headset\\\",\\\"客服\\\",\\\"售后\\\",\\\"耳机\\\",\\\"耳麦\\\"],\\\"customer-service-2\\\":[\\\"headset\\\",\\\"客服\\\",\\\"售后\\\",\\\"耳机\\\",\\\"耳麦\\\"],\\\"flag\\\":[\\\"banner\\\",\\\"pin\\\",\\\"旗帜\\\",\\\"旗子\\\",\\\"国旗\\\",\\\"标记\\\"],\\\"flag-2\\\":[\\\"banner\\\",\\\"pin\\\",\\\"旗帜\\\",\\\"旗子\\\",\\\"国旗\\\",\\\"标记\\\"],\\\"global\\\":[\\\"earth\\\",\\\"union\\\",\\\"world\\\",\\\"language\\\",\\\"地球\\\",\\\"联合\\\",\\\"世界\\\",\\\"全球\\\",\\\"语言\\\"],\\\"honour\\\":[\\\"honor\\\",\\\"glory\\\",\\\"锦旗\\\",\\\"荣誉\\\",\\\"荣耀\\\",\\\"军衔\\\"],\\\"links\\\":[\\\"connection\\\",\\\"address\\\",\\\"联系\\\",\\\"链接\\\",\\\"地址\\\"],\\\"printer\\\":[\\\"打印机\\\"],\\\"printer-cloud\\\":[\\\"打印机\\\",\\\"云打印\\\"],\\\"record-mail\\\":[\\\"voice mail\\\",\\\"tape\\\",\\\"录音\\\",\\\"留言\\\",\\\"语音信箱\\\",\\\"磁带\\\"],\\\"reply\\\":[\\\"forward\\\",\\\"回复全部\\\",\\\"回复所有\\\"],\\\"reply-all\\\":[\\\"forward\\\",\\\"回复\\\",\\\"答复\\\",\\\"留言\\\",\\\"转发\\\"],\\\"send-plane\\\":[\\\"发送\\\",\\\"纸飞机\\\"],\\\"send-plane-2\\\":[\\\"发送\\\",\\\"纸飞机\\\"],\\\"projector\\\":[\\\"projection\\\",\\\"meeting\\\",\\\"投影仪\\\",\\\"会议室\\\"],\\\"projector-2\\\":[\\\"projection\\\",\\\"meeting\\\",\\\"投影仪\\\",\\\"会议室\\\",\\\"极米\\\"],\\\"slideshow\\\":[\\\"presentation\\\",\\\"meeting\\\",\\\"PPT\\\",\\\"keynote\\\",\\\"投影\\\",\\\"放映\\\",\\\"演示\\\",\\\"演讲\\\",\\\"幻灯片\\\",\\\"会议室\\\"],\\\"slideshow-2\\\":[\\\"presentation\\\",\\\"meeting\\\",\\\"投影\\\",\\\"放映\\\",\\\"演示\\\",\\\"演讲\\\",\\\"幻灯片\\\",\\\"会议室\\\"],\\\"slideshow-3\\\":[\\\"presentation\\\",\\\"meeting\\\",\\\"投影\\\",\\\"放映\\\",\\\"演示\\\",\\\"演讲\\\",\\\"视频会议\\\",\\\"幻灯片\\\",\\\"会议室\\\"],\\\"slideshow-4\\\":[\\\"presentation\\\",\\\"meeting\\\",\\\"投影\\\",\\\"放映\\\",\\\"演示\\\",\\\"演讲\\\",\\\"可视对讲\\\",\\\"幻灯片\\\",\\\"会议室\\\"],\\\"window\\\":[\\\"browser\\\",\\\"program\\\",\\\"web\\\",\\\"窗口\\\",\\\"浏览器\\\",\\\"程序\\\",\\\"网站\\\"],\\\"window-2\\\":[\\\"browser\\\",\\\"program\\\",\\\"web\\\",\\\"窗口\\\",\\\"浏览器\\\",\\\"程序\\\",\\\"网站\\\"],\\\"stack\\\":[\\\"layers\\\",\\\"图层\\\",\\\"叠加\\\",\\\"堆栈\\\"],\\\"service\\\":[\\\"heart\\\",\\\"handshake\\\",\\\"cooperation\\\",\\\"服务\\\",\\\"握手\\\",\\\"心\\\",\\\"合作\\\"],\\\"registered\\\":[\\\"注册\\\",\\\"商标\\\"],\\\"trademark\\\":[\\\"注册\\\",\\\"商标\\\"],\\\"advertisement\\\":[\\\"ad\\\",\\\"广告\\\",\\\"推广\\\"],\\\"copyleft\\\":[\\\"著佐权\\\"],\\\"copyright\\\":[\\\"版权\\\"],\\\"creative-commons\\\":[\\\"知识共享\\\"],\\\"creative-commons-by\\\":[\\\"attribution\\\",\\\"copyright\\\",\\\"版权\\\",\\\"知识共享\\\",\\\"署名\\\"],\\\"creative-commons-nc\\\":[\\\"noncommercial\\\",\\\"copyright\\\",\\\"版权\\\",\\\"知识共享\\\",\\\"非商业用途\\\"],\\\"creative-commons-nd\\\":[\\\"no derivative works\\\",\\\"copyright\\\",\\\"版权\\\",\\\"知识共享\\\",\\\"禁止演绎\\\"],\\\"creative-commons-sa\\\":[\\\"share alike\\\",\\\"copyright\\\",\\\"版权\\\",\\\"知识共享\\\",\\\"相同方式共享\\\"],\\\"creative-commons-zero\\\":[\\\"cc0\\\",\\\"copyright\\\",\\\"版权\\\",\\\"知识共享\\\"]},\\\"Communication\\\":{\\\"chat-1\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-2\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-3\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-4\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"message\\\":[\\\"chat\\\",\\\"comment\\\",\\\"reply\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"message-2\\\":[\\\"chat\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"message-3\\\":[\\\"chat\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-check\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"已阅\\\"],\\\"chat-delete\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"清除\\\",\\\"删除\\\"],\\\"chat-forward\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"转发\\\"],\\\"chat-upload\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"上传\\\"],\\\"chat-download\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"下載\\\"],\\\"chat-new\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-settings\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"设置\\\"],\\\"chat-smile\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-smile-2\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-smile-3\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\"],\\\"chat-heart\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"心\\\",\\\"点赞\\\",\\\"收藏\\\"],\\\"chat-off\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"slash\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"禁止\\\",\\\"关闭\\\"],\\\"feedback\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"反馈\\\"],\\\"discuss\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"讨论\\\",\\\"群聊\\\"],\\\"question-answer\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"讨论\\\",\\\"群聊\\\"],\\\"questionnaire\\\":[\\\"message\\\",\\\"comment\\\",\\\"help\\\",\\\"消息\\\",\\\"聊天\\\",\\\"回复\\\",\\\"评论\\\",\\\"讨论\\\",\\\"调查问卷\\\",\\\"帮助\\\"],\\\"video-chat\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"视频聊天\\\"],\\\"chat-voice\\\":[\\\"message\\\",\\\"comment\\\",\\\"消息\\\",\\\"语音消息\\\"],\\\"chat-quote\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"引用回复\\\"],\\\"chat-follow-up\\\":[\\\"message\\\",\\\"reply\\\",\\\"comment\\\",\\\"消息\\\",\\\"+1\\\",\\\"跟帖\\\"],\\\"chat-poll\\\":[\\\"message\\\",\\\"vote\\\",\\\"questionnaire\\\",\\\"消息\\\",\\\"投票\\\",\\\"问卷调查\\\"],\\\"chat-history\\\":[\\\"message\\\",\\\"历史消息\\\",\\\"消息记录\\\"],\\\"chat-private\\\":[\\\"message\\\",\\\"私密消息\\\",\\\"密聊\\\"]},\\\"Design\\\":{\\\"pencil\\\":[\\\"edit\\\",\\\"铅笔\\\",\\\"编辑\\\"],\\\"edit\\\":[\\\"pencil\\\",\\\"铅笔\\\",\\\"编辑\\\"],\\\"edit-2\\\":[\\\"pencil\\\",\\\"铅笔\\\",\\\"编辑\\\"],\\\"ball-pen\\\":[\\\"圆珠笔\\\"],\\\"quill-pen\\\":[\\\"羽毛笔\\\",\\\"钢笔\\\",\\\"编辑\\\"],\\\"pen-nib\\\":[\\\"钢笔\\\",\\\"笔尖\\\"],\\\"ink-bottle\\\":[\\\"墨水瓶\\\"],\\\"mark-pen\\\":[\\\"马克笔\\\"],\\\"markup\\\":[\\\"标记\\\",\\\"马克\\\"],\\\"edit-box\\\":[\\\"编辑\\\"],\\\"edit-circle\\\":[\\\"编辑\\\"],\\\"sip\\\":[\\\"吸管\\\",\\\"取色器\\\"],\\\"brush\\\":[\\\"笔刷\\\",\\\"画笔\\\",\\\"刷子\\\"],\\\"brush-2\\\":[\\\"刷子\\\"],\\\"brush-3\\\":[\\\"刷子\\\"],\\\"brush-4\\\":[\\\"刷子\\\"],\\\"paint-brush\\\":[\\\"填色\\\",\\\"填充\\\",\\\"刷子\\\"],\\\"contrast\\\":[\\\"brightness\\\",\\\"tonalit\\\",\\\"对比度\\\",\\\"亮度\\\",\\\"色调\\\"],\\\"contrast-2\\\":[\\\"moon\\\",\\\"dark\\\",\\\"brightness\\\",\\\"tonalit\\\",\\\"月亮\\\",\\\"夜间\\\",\\\"对比度\\\",\\\"亮度\\\",\\\"色调\\\"],\\\"drop\\\":[\\\"water\\\",\\\"blur\\\",\\\"模糊\\\",\\\"水\\\",\\\"滴\\\"],\\\"blur-off\\\":[\\\"water\\\",\\\"drop\\\",\\\"slash\\\",\\\"模糊\\\",\\\"水\\\",\\\"滴\\\",\\\"禁止\\\",\\\"关闭\\\"],\\\"contrast-drop\\\":[\\\"water\\\",\\\"brightness\\\",\\\"tonalit\\\",\\\"水\\\",\\\"对比度\\\",\\\"亮度\\\",\\\"色调\\\",\\\"滴\\\"],\\\"contrast-drop-2\\\":[\\\"water\\\",\\\"brightness\\\",\\\"tonalit\\\",\\\"水\\\",\\\"对比度\\\",\\\"亮度\\\",\\\"色调\\\",\\\"滴\\\"],\\\"compasses\\\":[\\\"圆规\\\"],\\\"compasses-2\\\":[\\\"圆规\\\"],\\\"scissors\\\":[\\\"剪刀\\\",\\\"裁剪\\\"],\\\"scissors-cut\\\":[\\\"剪刀\\\",\\\"裁剪\\\"],\\\"scissors-2\\\":[\\\"剪刀\\\",\\\"裁剪\\\",\\\"截屏\\\"],\\\"slice\\\":[\\\"knife\\\",\\\"切图\\\",\\\"切片\\\",\\\"刀\\\"],\\\"eraser\\\":[\\\"remove formatting\\\",\\\"橡皮\\\",\\\"擦除\\\",\\\"清除格式\\\"],\\\"ruler\\\":[\\\"尺子\\\"],\\\"ruler-2\\\":[\\\"尺子\\\"],\\\"pencil-ruler\\\":[\\\"design\\\",\\\"铅笔\\\",\\\"尺子\\\",\\\"文具\\\",\\\"设计\\\"],\\\"pencil-ruler-2\\\":[\\\"design\\\",\\\"铅笔\\\",\\\"尺子\\\",\\\"文具\\\",\\\"设计\\\"],\\\"t-box\\\":[\\\"文字\\\",\\\"字体\\\",\\\"字号\\\"],\\\"input-method\\\":[\\\"输入法\\\",\\\"文字\\\"],\\\"artboard\\\":[\\\"grid\\\",\\\"crop\\\",\\\"画板\\\",\\\"裁切\\\"],\\\"artboard-2\\\":[\\\"画板\\\"],\\\"crop\\\":[\\\"裁切\\\"],\\\"crop-2\\\":[\\\"裁切\\\"],\\\"screenshot\\\":[\\\"capture\\\",\\\"屏幕截图\\\",\\\"截屏\\\"],\\\"screenshot-2\\\":[\\\"capture\\\",\\\"屏幕截图\\\",\\\"截屏\\\"],\\\"drag-move\\\":[\\\"arrow\\\",\\\"拖拽\\\",\\\"移动\\\",\\\"箭头\\\"],\\\"drag-move-2\\\":[\\\"arrow\\\",\\\"拖拽\\\",\\\"移动\\\",\\\"箭头\\\"],\\\"focus\\\":[\\\"aim\\\",\\\"target\\\",\\\"焦点\\\",\\\"聚焦\\\",\\\"目标\\\",\\\"靶心\\\"],\\\"focus-2\\\":[\\\"aim\\\",\\\"target\\\",\\\"bullseye\\\",\\\"焦点\\\",\\\"聚焦\\\",\\\"目标\\\",\\\"靶心\\\"],\\\"focus-3\\\":[\\\"aim\\\",\\\"target\\\",\\\"bullseye\\\",\\\"焦点\\\",\\\"聚焦\\\",\\\"目标\\\",\\\"靶心\\\"],\\\"paint\\\":[\\\"填色\\\",\\\"填充\\\",\\\"油漆桶\\\"],\\\"palette\\\":[\\\"调色盘\\\",\\\"色板\\\"],\\\"pantone\\\":[\\\"色板\\\",\\\"潘通色\\\",\\\"色号\\\"],\\\"shape\\\":[\\\"border\\\",\\\"形状\\\",\\\"描边\\\",\\\"边框\\\"],\\\"shape-2\\\":[\\\"border\\\",\\\"形状\\\",\\\"描边\\\",\\\"边框\\\"],\\\"magic\\\":[\\\"fantasy\\\",\\\"magic stick\\\",\\\"beautify\\\",\\\"魔法棒\\\",\\\"美化\\\",\\\"幻想\\\",\\\"魔幻\\\"],\\\"anticlockwise\\\":[\\\"rotate\\\",\\\"left\\\",\\\"左翻转\\\",\\\"左旋转\\\"],\\\"anticlockwise-2\\\":[\\\"rotate\\\",\\\"left\\\",\\\"左翻转\\\",\\\"左旋转\\\"],\\\"clockwise\\\":[\\\"rotate\\\",\\\"right\\\",\\\"右翻转\\\",\\\"右旋转\\\"],\\\"clockwise-2\\\":[\\\"rotate\\\",\\\"right\\\",\\\"右翻转\\\",\\\"右旋转\\\"],\\\"hammer\\\":[\\\"锤子\\\"],\\\"tools\\\":[\\\"settings\\\",\\\"工具\\\",\\\"设置\\\"],\\\"drag-drop\\\":[\\\"drag and drop\\\",\\\"mouse\\\",\\\"拖拽\\\",\\\"鼠标\\\"],\\\"table\\\":[\\\"表格\\\"],\\\"table-alt\\\":[\\\"表格\\\"],\\\"layout\\\":[\\\"布局\\\"],\\\"layout-2\\\":[\\\"collage\\\",\\\"布局\\\",\\\"拼贴画\\\"],\\\"layout-3\\\":[\\\"collage\\\",\\\"布局\\\",\\\"拼贴画\\\"],\\\"layout-4\\\":[\\\"collage\\\",\\\"布局\\\",\\\"拼贴画\\\"],\\\"layout-5\\\":[\\\"collage\\\",\\\"布局\\\",\\\"拼贴画\\\"],\\\"layout-6\\\":[\\\"collage\\\",\\\"布局\\\",\\\"拼贴画\\\"],\\\"layout-column\\\":[\\\"左右布局\\\"],\\\"layout-row\\\":[\\\"上下布局\\\"],\\\"layout-top\\\":[\\\"顶部布局\\\",\\\"顶部导航\\\"],\\\"layout-right\\\":[\\\"右侧布局\\\",\\\"右侧导航\\\"],\\\"layout-bottom\\\":[\\\"底部布局\\\",\\\"底部导航\\\"],\\\"layout-left\\\":[\\\"左侧布局\\\",\\\"左侧导航\\\"],\\\"layout-top-2\\\":[\\\"顶部布局\\\",\\\"顶部导航\\\"],\\\"layout-right-2\\\":[\\\"右侧布局\\\",\\\"右侧导航\\\"],\\\"layout-bottom-2\\\":[\\\"底部布局\\\",\\\"底部导航\\\"],\\\"layout-left-2\\\":[\\\"左侧布局\\\",\\\"左侧导航\\\"],\\\"layout-grid\\\":[\\\"卡片布局\\\",\\\"网格\\\"],\\\"layout-masonry\\\":[\\\"collage\\\",\\\"瀑布流布局\\\",\\\"拼贴画\\\"],\\\"collage\\\":[\\\"瀑布流布局\\\",\\\"拼贴画\\\"],\\\"grid\\\":[\\\"table\\\",\\\"网格\\\",\\\"表格\\\"]},\\\"Development\\\":{\\\"bug\\\":[\\\"虫子\\\"],\\\"bug-2\\\":[\\\"虫子\\\"],\\\"code\\\":[\\\"代码\\\",\\\"编程\\\"],\\\"code-s\\\":[\\\"代码\\\",\\\"编程\\\"],\\\"code-s-slash\\\":[\\\"代码\\\",\\\"编程\\\"],\\\"code-box\\\":[\\\"代码\\\",\\\"编程\\\"],\\\"terminal-box\\\":[\\\"code\\\",\\\"command line\\\",\\\"终端\\\",\\\"代码\\\",\\\"命令行\\\"],\\\"terminal\\\":[\\\"code\\\",\\\"command line\\\",\\\"终端\\\",\\\"代码\\\",\\\"命令行\\\"],\\\"terminal-window\\\":[\\\"code\\\",\\\"command line\\\",\\\"终端\\\",\\\"代码\\\",\\\"命令行\\\"],\\\"parentheses\\\":[\\\"code\\\",\\\"math\\\",\\\"小括号\\\"],\\\"brackets\\\":[\\\"code\\\",\\\"math\\\",\\\"中括号\\\"],\\\"braces\\\":[\\\"code\\\",\\\"math\\\",\\\"大括号\\\",\\\"花括号\\\"],\\\"command\\\":[\\\"apple key\\\",\\\"花键\\\",\\\"苹果键\\\"],\\\"cursor\\\":[\\\"mouse\\\",\\\"指针\\\",\\\"鼠标\\\"],\\\"git-commit\\\":[\\\"node\\\",\\\"提交\\\"],\\\"git-pull-request\\\":[\\\"合并申请\\\"],\\\"git-merge\\\":[\\\"合并\\\"],\\\"git-branch\\\":[\\\"分支\\\"],\\\"git-repository\\\":[\\\"仓库\\\"],\\\"git-repository-commits\\\":[\\\"仓库\\\",\\\"提交\\\"],\\\"git-repository-private\\\":[\\\"私密仓库\\\",\\\"私人仓库\\\"],\\\"html5\\\":[\\\"html\\\",\\\"h5\\\"],\\\"css3\\\":[\\\"css\\\"]},\\\"Device\\\":{\\\"tv\\\":[\\\"电视\\\"],\\\"tv-2\\\":[\\\"monitor\\\",\\\"电视\\\",\\\"显示器\\\"],\\\"computer\\\":[\\\"monitor\\\",\\\"电脑\\\",\\\"显示器\\\"],\\\"mac\\\":[\\\"monitor\\\",\\\"显示器\\\"],\\\"macbook\\\":[\\\"laptop\\\",\\\"笔记本\\\"],\\\"cellphone\\\":[\\\"手机\\\",\\\"电话\\\"],\\\"smartphone\\\":[\\\"mobile\\\",\\\"手机\\\"],\\\"tablet\\\":[\\\"平板电脑\\\"],\\\"device\\\":[\\\"设备\\\"],\\\"phone\\\":[\\\"电话\\\"],\\\"database\\\":[\\\"storage\\\",\\\"数据库\\\",\\\"存储\\\"],\\\"database-2\\\":[\\\"storage\\\",\\\"数据库\\\",\\\"存储\\\"],\\\"server\\\":[\\\"服务器\\\"],\\\"hard-drive\\\":[\\\"disc\\\",\\\"storage\\\",\\\"硬盘\\\",\\\"存储\\\"],\\\"hard-drive-2\\\":[\\\"disc\\\",\\\"server\\\",\\\"storage\\\",\\\"硬盘\\\",\\\"服务器\\\",\\\"存储\\\"],\\\"install\\\":[\\\"安装\\\"],\\\"uninstall\\\":[\\\"卸載\\\"],\\\"save\\\":[\\\"floppy\\\",\\\"保存\\\",\\\"软盘\\\"],\\\"save-2\\\":[\\\"floppy\\\",\\\"保存\\\",\\\"软盘\\\"],\\\"save-3\\\":[\\\"floppy\\\",\\\"保存\\\",\\\"软盘\\\"],\\\"sd-card\\\":[\\\"内存卡\\\"],\\\"sd-card-mini\\\":[\\\"内存卡\\\"],\\\"sim-card\\\":[\\\"电话卡\\\"],\\\"sim-card-2\\\":[\\\"电话卡\\\"],\\\"dual-sim-1\\\":[\\\"sim card\\\",\\\"电话卡\\\",\\\"卡槽\\\",\\\"双卡双待\\\"],\\\"dual-sim-2\\\":[\\\"sim card\\\",\\\"电话卡\\\",\\\"卡槽\\\",\\\"双卡双待\\\"],\\\"u-disk\\\":[\\\"U盘\\\",\\\"优盘\\\"],\\\"battery\\\":[\\\"电池\\\"],\\\"battery-charge\\\":[\\\"电池\\\",\\\"充电\\\"],\\\"battery-low\\\":[\\\"电池\\\",\\\"低电量\\\"],\\\"battery-2\\\":[\\\"电池\\\"],\\\"battery-2-charge\\\":[\\\"电池\\\",\\\"充电\\\"],\\\"battery-saver\\\":[\\\"电池\\\",\\\"省电模式\\\"],\\\"battery-share\\\":[\\\"电池共享\\\",\\\"共享电量\\\"],\\\"cast\\\":[\\\"mirroring\\\",\\\"投屏\\\",\\\"无线\\\",\\\"广播\\\"],\\\"airplay\\\":[\\\"mirroring\\\",\\\"投屏\\\",\\\"无线\\\"],\\\"cpu\\\":[\\\"中央处理器\\\"],\\\"gradienter\\\":[\\\"水平仪\\\"],\\\"keyboard\\\":[\\\"input\\\",\\\"键盘\\\",\\\"输入\\\"],\\\"keyboard-box\\\":[\\\"input\\\",\\\"键盘\\\",\\\"输入\\\"],\\\"mouse\\\":[\\\"鼠标\\\"],\\\"sensor\\\":[\\\"capacitor\\\",\\\"传感器\\\",\\\"电容器\\\"],\\\"router\\\":[\\\"wifi\\\",\\\"signal tower\\\",\\\"radio\\\",\\\"station\\\",\\\"路由器\\\",\\\"信号塔\\\",\\\"广播\\\",\\\"基站\\\",\\\"流量\\\"],\\\"radar\\\":[\\\"satellite receiver\\\",\\\"雷达\\\",\\\"卫星接收器\\\",\\\"锅\\\"],\\\"gamepad\\\":[\\\"consoles\\\",\\\"controller\\\",\\\"游戏手柄\\\"],\\\"remote-control\\\":[\\\"controller\\\",\\\"遥控器\\\"],\\\"remote-control-2\\\":[\\\"controller\\\",\\\"遥控器\\\"],\\\"device-recover\\\":[\\\"恢复出厂设置\\\"],\\\"hotspot\\\":[\\\"手机热点\\\"],\\\"phone-find\\\":[\\\"找回手机\\\"],\\\"phone-lock\\\":[\\\"锁定手机\\\"],\\\"rotate-lock\\\":[\\\"锁定旋转屏幕\\\"],\\\"restart\\\":[\\\"reload\\\",\\\"refresh\\\",\\\"重启\\\"],\\\"shut-down\\\":[\\\"power off\\\",\\\"关机\\\"],\\\"fingerprint\\\":[\\\"指纹\\\"],\\\"fingerprint-2\\\":[\\\"指纹\\\"],\\\"barcode\\\":[\\\"scan\\\",\\\"扫码\\\",\\\"条形码\\\",\\\"条码\\\"],\\\"barcode-box\\\":[\\\"scan\\\",\\\"扫码\\\",\\\"条形码\\\",\\\"条码\\\"],\\\"qr-code\\\":[\\\"二维码\\\"],\\\"qr-scan\\\":[\\\"二维码\\\",\\\"扫描\\\"],\\\"qr-scan-2\\\":[\\\"二维码\\\",\\\"扫描\\\"],\\\"scan\\\":[\\\"扫描\\\"],\\\"scan-2\\\":[\\\"扫描\\\"],\\\"rss\\\":[\\\"feed\\\",\\\"subscribe\\\",\\\"订阅\\\"],\\\"gps\\\":[\\\"signal\\\",\\\"定位\\\",\\\"信号\\\"],\\\"base-station\\\":[\\\"wifi\\\",\\\"signal tower\\\",\\\"router\\\",\\\"cast\\\",\\\"基站\\\",\\\"信号塔\\\",\\\"路由器\\\",\\\"广播\\\",\\\"流量\\\"],\\\"bluetooth\\\":[\\\"wireless\\\",\\\"蓝牙\\\",\\\"无线\\\"],\\\"bluetooth-connect\\\":[\\\"wireless\\\",\\\"蓝牙\\\",\\\"连接\\\",\\\"无线\\\"],\\\"wifi\\\":[\\\"无线网\\\"],\\\"wifi-off\\\":[\\\"slash\\\",\\\"offline\\\",\\\"connection-fail\\\",\\\"无线网\\\",\\\"关闭\\\",\\\"断网\\\",\\\"链接失败\\\"],\\\"signal-wifi\\\":[\\\"cellular\\\",\\\"strength\\\",\\\"无线网\\\",\\\"信号\\\"],\\\"signal-wifi-1\\\":[\\\"cellular\\\",\\\"strength\\\",\\\"无线网\\\",\\\"信号\\\"],\\\"signal-wifi-2\\\":[\\\"cellular\\\",\\\"strength\\\",\\\"无线网\\\",\\\"信号\\\"],\\\"signal-wifi-3\\\":[\\\"cellular\\\",\\\"strength\\\",\\\"无线网\\\",\\\"信号\\\"],\\\"signal-wifi-error\\\":[\\\"cellular\\\",\\\"offline\\\",\\\"connection-fail\\\",\\\"无线网\\\",\\\"断网\\\",\\\"链接失败\\\",\\\"无信号\\\"],\\\"signal-wifi-off\\\":[\\\"cellular\\\",\\\"slash\\\",\\\"offline\\\",\\\"connection-fail\\\",\\\"无线网\\\",\\\"关闭\\\",\\\"断网\\\",\\\"链接失败\\\"],\\\"wireless-charging\\\":[\\\"power\\\",\\\"flash\\\",\\\"无线充电\\\",\\\"闪充\\\"],\\\"dashboard-2\\\":[\\\"仪表盘\\\"],\\\"dashboard-3\\\":[\\\"仪表盘\\\"],\\\"usb\\\":[\\\"优盘\\\"]},\\\"Document\\\":{\\\"file\\\":[\\\"new\\\",\\\"paper\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\"],\\\"file-2\\\":[\\\"new\\\",\\\"paper\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\"],\\\"file-3\\\":[\\\"new\\\",\\\"paper\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\"],\\\"file-4\\\":[\\\"new\\\",\\\"paper\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\"],\\\"sticky-note\\\":[\\\"new\\\",\\\"paper\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\",\\\"便签纸\\\",\\\"便利贴\\\"],\\\"sticky-note-2\\\":[\\\"new\\\",\\\"paper\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\",\\\"便签纸\\\",\\\"便利贴\\\"],\\\"file-edit\\\":[\\\"文件\\\",\\\"文档\\\",\\\"编辑\\\"],\\\"draft\\\":[\\\"草稿箱\\\",\\\"文件\\\",\\\"文档\\\",\\\"编辑\\\"],\\\"file-paper\\\":[\\\"文件\\\",\\\"文档\\\",\\\"纸\\\",\\\"谱\\\"],\\\"file-paper-2\\\":[\\\"文件\\\",\\\"文档\\\",\\\"纸\\\",\\\"谱\\\"],\\\"file-text\\\":[\\\"文件\\\",\\\"文档\\\",\\\"文本\\\"],\\\"file-list\\\":[\\\"清单\\\",\\\"列表\\\"],\\\"file-list-2\\\":[\\\"清单\\\",\\\"列表\\\"],\\\"file-list-3\\\":[\\\"newspaper\\\",\\\"清单\\\",\\\"列表\\\",\\\"报纸\\\"],\\\"bill\\\":[\\\"账单\\\"],\\\"file-copy\\\":[\\\"duplicate\\\",\\\"clone\\\",\\\"复制\\\",\\\"克隆\\\"],\\\"file-copy-2\\\":[\\\"duplicate\\\",\\\"clone\\\",\\\"复制\\\",\\\"克隆\\\"],\\\"clipboard\\\":[\\\"copy\\\",\\\"复制\\\",\\\"剪切板\\\"],\\\"survey\\\":[\\\"research\\\",\\\"questionnaire\\\",\\\"调查\\\",\\\"问卷\\\",\\\"调研\\\"],\\\"article\\\":[\\\"newspaper\\\",\\\"文章\\\",\\\"报纸\\\"],\\\"newspaper\\\":[\\\"报纸\\\"],\\\"file-zip\\\":[\\\"7z\\\",\\\"rar\\\",\\\"压缩包\\\"],\\\"file-mark\\\":[\\\"文件\\\",\\\"文档\\\",\\\"标记\\\"],\\\"task\\\":[\\\"todo\\\",\\\"任务\\\",\\\"待办\\\"],\\\"todo\\\":[\\\"待办\\\"],\\\"book\\\":[\\\"read\\\",\\\"dictionary\\\",\\\"booklet\\\",\\\"书\\\",\\\"阅读\\\",\\\"字典\\\",\\\"小册子\\\"],\\\"book-mark\\\":[\\\"read\\\",\\\"dictionary\\\",\\\"booklet\\\",\\\"书\\\",\\\"阅读\\\",\\\"字典\\\",\\\"小册子\\\",\\\"书签\\\"],\\\"book-2\\\":[\\\"read\\\",\\\"dictionary\\\",\\\"booklet\\\",\\\"书\\\",\\\"阅读\\\",\\\"字典\\\",\\\"小册子\\\"],\\\"book-3\\\":[\\\"read\\\",\\\"dictionary\\\",\\\"booklet\\\",\\\"书\\\",\\\"阅读\\\",\\\"字典\\\",\\\"小册子\\\"],\\\"book-open\\\":[\\\"read\\\",\\\"booklet\\\",\\\"magazine\\\",\\\"书\\\",\\\"阅读\\\",\\\"小册子\\\",\\\"杂志\\\"],\\\"book-read\\\":[\\\"booklet\\\",\\\"magazine\\\",\\\"书\\\",\\\"阅读\\\",\\\"小册子\\\",\\\"杂志\\\"],\\\"contacts-book\\\":[\\\"通讯录\\\",\\\"联系人\\\"],\\\"contacts-book-2\\\":[\\\"通讯录\\\",\\\"联系人\\\"],\\\"contacts-book-upload\\\":[\\\"upload\\\",\\\"通讯录\\\",\\\"联系人\\\",\\\"上传\\\"],\\\"booklet\\\":[\\\"notebook\\\",\\\"手册\\\",\\\"笔记本\\\",\\\"小册子\\\"],\\\"file-code\\\":[\\\"config\\\",\\\"文件\\\",\\\"文档\\\",\\\"代码\\\",\\\"脚本\\\",\\\"配置文件\\\"],\\\"file-pdf\\\":[\\\"文件\\\",\\\"文档\\\"],\\\"file-word\\\":[\\\"文档\\\"],\\\"file-ppt\\\":[\\\"文件\\\",\\\"文档\\\"],\\\"file-excel\\\":[\\\"文档\\\",\\\"表单\\\"],\\\"file-word-2\\\":[\\\"文档\\\"],\\\"file-ppt-2\\\":[\\\"文件\\\",\\\"文档\\\"],\\\"file-excel-2\\\":[\\\"文档\\\",\\\"表单\\\"],\\\"file-hwp\\\":[\\\"文件\\\",\\\"文档\\\",\\\"hangul word processor\\\"],\\\"keynote\\\":[\\\"演示文稿\\\",\\\"幻灯片\\\",\\\"讲演\\\"],\\\"numbers\\\":[\\\"表格\\\"],\\\"pages\\\":[\\\"文稿\\\"],\\\"file-search\\\":[\\\"文件\\\",\\\"文档\\\",\\\"搜索\\\"],\\\"file-add\\\":[\\\"new\\\",\\\"文件\\\",\\\"文档\\\",\\\"新建\\\"],\\\"file-reduce\\\":[\\\"文件\\\",\\\"文档\\\",\\\"减\\\"],\\\"file-settings\\\":[\\\"文件\\\",\\\"文档\\\",\\\"设置\\\"],\\\"file-upload\\\":[\\\"文件\\\",\\\"文档\\\",\\\"上传\\\"],\\\"file-transfer\\\":[\\\"文件\\\",\\\"文档\\\",\\\"传输\\\"],\\\"file-download\\\":[\\\"文件\\\",\\\"文档\\\",\\\"下載\\\"],\\\"file-lock\\\":[\\\"文件\\\",\\\"文档\\\",\\\"锁\\\"],\\\"file-chart\\\":[\\\"report\\\",\\\"文件\\\",\\\"文档\\\",\\\"柱状图\\\",\\\"报表\\\"],\\\"file-chart-2\\\":[\\\"report\\\",\\\"文件\\\",\\\"文档\\\",\\\"饼图\\\",\\\"报表\\\"],\\\"file-music\\\":[\\\"文件\\\",\\\"文档\\\",\\\"音乐\\\"],\\\"file-gif\\\":[\\\"文件\\\",\\\"文档\\\",\\\"动图\\\"],\\\"file-forbid\\\":[\\\"文件\\\",\\\"文档\\\",\\\"禁用\\\"],\\\"file-info\\\":[\\\"文件\\\",\\\"文档\\\",\\\"信息\\\"],\\\"file-warning\\\":[\\\"alert\\\",\\\"文件\\\",\\\"文档\\\",\\\"警告\\\",\\\"提醒\\\"],\\\"file-unknow\\\":[\\\"文件\\\",\\\"文档\\\",\\\"未知\\\",\\\"问号\\\"],\\\"file-user\\\":[\\\"文件\\\",\\\"文档\\\",\\\"用户\\\"],\\\"file-shield\\\":[\\\"protected\\\",\\\"secured\\\",\\\"文件\\\",\\\"文档\\\",\\\"盾牌\\\",\\\"保护\\\",\\\"安全\\\"],\\\"file-shield-2\\\":[\\\"protected\\\",\\\"secured\\\",\\\"文件\\\",\\\"文档\\\",\\\"盾牌\\\",\\\"保护\\\",\\\"安全\\\"],\\\"file-damage\\\":[\\\"breakdown\\\",\\\"broken\\\",\\\"文件\\\",\\\"文档\\\",\\\"损坏\\\",\\\"破损\\\",\\\"破裂\\\"],\\\"file-history\\\":[\\\"record\\\",\\\"文件\\\",\\\"文档\\\",\\\"记录\\\",\\\"历史\\\"],\\\"file-shred\\\":[\\\"shredder\\\",\\\"shred\\\",\\\"destroy\\\",\\\"cut\\\",\\\"文档\\\",\\\"销毁\\\",\\\"碎纸机\\\",\\\"破裂\\\",\\\"粉碎\\\"],\\\"file-cloud\\\":[\\\"文件\\\",\\\"文档\\\",\\\"云\\\"],\\\"folder\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\"],\\\"folder-2\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\"],\\\"folder-3\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\"],\\\"folder-4\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\"],\\\"folder-5\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\"],\\\"folders\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"批量\\\"],\\\"folder-add\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"添加\\\"],\\\"folder-reduce\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"减\\\"],\\\"folder-settings\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"设置\\\"],\\\"folder-upload\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"上传\\\"],\\\"folder-transfer\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"传输\\\"],\\\"folder-download\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"下載\\\"],\\\"folder-lock\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"锁\\\"],\\\"folder-chart\\\":[\\\"report\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"柱状图\\\",\\\"报表\\\"],\\\"folder-chart-2\\\":[\\\"report\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"饼图\\\",\\\"报表\\\"],\\\"folder-music\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"音乐\\\"],\\\"folder-forbid\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"禁用\\\"],\\\"folder-info\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"信息\\\"],\\\"folder-warning\\\":[\\\"alert\\\",\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"警告\\\",\\\"提醒\\\"],\\\"folder-unknow\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"未知\\\"],\\\"folder-user\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"用户\\\"],\\\"folder-shield\\\":[\\\"directory\\\",\\\"file\\\",\\\"protected\\\",\\\"secured\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"保护\\\",\\\"盾牌\\\",\\\"安全\\\"],\\\"folder-shield-2\\\":[\\\"directory\\\",\\\"file\\\",\\\"protected\\\",\\\"secured\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"保护\\\",\\\"盾牌\\\",\\\"安全\\\"],\\\"folder-shared\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"分享\\\"],\\\"folder-received\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"接收\\\"],\\\"folder-open\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"打开\\\"],\\\"folder-keyhole\\\":[\\\"directory\\\",\\\"encryption\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"打开\\\",\\\"加密文档\\\"],\\\"folder-zip\\\":[\\\"directory\\\",\\\"file\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"打开\\\",\\\"压缩\\\"],\\\"folder-history\\\":[\\\"directory\\\",\\\"file\\\",\\\"record\\\",\\\"文件夹\\\",\\\"目录\\\",\\\"文档\\\",\\\"记录\\\",\\\"历史\\\"],\\\"markdown\\\":[\\\"arrow\\\",\\\"箭头\\\",\\\"下\\\"]},\\\"Editor\\\":{\\\"bold\\\":[\\\"加粗\\\"],\\\"italic\\\":[\\\"斜体\\\"],\\\"heading\\\":[\\\"标题\\\"],\\\"text\\\":[\\\"字体\\\"],\\\"font-color\\\":[\\\"文字色\\\"],\\\"font-size\\\":[\\\"字号\\\",\\\"字体大小\\\"],\\\"font-size-2\\\":[\\\"字号\\\",\\\"字体大小\\\"],\\\"underline\\\":[\\\"下划线\\\"],\\\"emphasis\\\":[\\\"着重号\\\"],\\\"emphasis-cn\\\":[\\\"着重号\\\"],\\\"strikethrough\\\":[\\\"remove formatting\\\",\\\"删除线\\\"],\\\"strikethrough-2\\\":[\\\"remove formatting\\\",\\\"删除线\\\"],\\\"format-clear\\\":[\\\"remove formatting\\\",\\\"清除格式\\\"],\\\"align-left\\\":[\\\"左对齐\\\"],\\\"align-center\\\":[\\\"居中对齐\\\"],\\\"align-right\\\":[\\\"右对齐\\\"],\\\"align-justify\\\":[\\\"排列对齐\\\"],\\\"align-top\\\":[\\\"顶部对齐\\\"],\\\"align-vertically\\\":[\\\"垂直对齐\\\"],\\\"align-bottom\\\":[\\\"底部对齐\\\"],\\\"list-check\\\":[\\\"check list\\\",\\\"清单列表\\\"],\\\"list-check-2\\\":[\\\"check list\\\",\\\"清单列表\\\"],\\\"list-ordered\\\":[\\\"number list\\\",\\\"有序列表\\\"],\\\"list-unordered\\\":[\\\"bullet list\\\",\\\"无序列表\\\"],\\\"indent-decrease\\\":[\\\"indent more\\\",\\\"缩进\\\"],\\\"indent-increase\\\":[\\\"indent less\\\",\\\"缩进\\\"],\\\"line-height\\\":[\\\"行高\\\"],\\\"text-spacing\\\":[\\\"字间距\\\"],\\\"text-wrap\\\":[\\\"文本换行\\\"],\\\"attachment-2\\\":[\\\"annex\\\",\\\"paperclip\\\",\\\"附件\\\",\\\"曲别针\\\"],\\\"link\\\":[\\\"connection\\\",\\\"address\\\",\\\"联系\\\",\\\"链接\\\",\\\"地址\\\"],\\\"link-unlink\\\":[\\\"connection\\\",\\\"remove address\\\",\\\"去除链接\\\"],\\\"link-m\\\":[\\\"connection\\\",\\\"address\\\",\\\"联系\\\",\\\"链接\\\",\\\"地址\\\"],\\\"link-unlink-m\\\":[\\\"connection\\\",\\\"remove address\\\",\\\"去除链接\\\"],\\\"separator\\\":[\\\"分割线\\\"],\\\"space\\\":[\\\"空格\\\"],\\\"page-separator\\\":[\\\"insert\\\",\\\"分页符\\\",\\\"插入\\\"],\\\"code-view\\\":[\\\"代码视图\\\"],\\\"double-quotes-l\\\":[\\\"left\\\",\\\"quotaion marks\\\",\\\"双引号\\\"],\\\"double-quotes-r\\\":[\\\"right\\\",\\\"quotaion marks\\\",\\\"双引号\\\"],\\\"single-quotes-l\\\":[\\\"left\\\",\\\"quotaion marks\\\",\\\"单引号\\\"],\\\"single-quotes-r\\\":[\\\"right\\\",\\\"quotaion marks\\\",\\\"单引号\\\"],\\\"table-2\\\":[\\\"表格\\\"],\\\"subscript\\\":[\\\"角标\\\",\\\"下标\\\",\\\"脚注\\\"],\\\"subscript-2\\\":[\\\"角标\\\",\\\"下标\\\",\\\"脚注\\\"],\\\"superscript\\\":[\\\"角标\\\",\\\"上标\\\"],\\\"superscript-2\\\":[\\\"角标\\\",\\\"上标\\\"],\\\"paragraph\\\":[\\\"段落\\\"],\\\"text-direction-l\\\":[\\\"文本左对齐\\\"],\\\"text-direction-r\\\":[\\\"文本左对齐\\\"],\\\"functions\\\":[\\\"功能\\\"],\\\"omega\\\":[\\\"Ω\\\",\\\"特殊符号\\\"],\\\"hashtag\\\":[\\\"#\\\",\\\"井号\\\"],\\\"asterisk\\\":[\\\"*\\\",\\\"星号\\\"],\\\"question-mark\\\":[\\\"问号\\\"],\\\"translate\\\":[\\\"translator\\\",\\\"翻译\\\"],\\\"translate-2\\\":[\\\"translator\\\",\\\"翻译\\\"],\\\"a-b\\\":[\\\"a/b testing\\\",\\\"ab testing\\\",\\\"ab测试\\\"],\\\"english-input\\\":[\\\"英文输入法\\\"],\\\"pinyin-input\\\":[\\\"拼音输入法\\\"],\\\"wubi-input\\\":[\\\"五笔输入法\\\"],\\\"input-cursor-move\\\":[\\\"移动输入光标\\\"],\\\"number-1\\\":[\\\"1\\\",\\\"一\\\",\\\"数字\\\"],\\\"number-2\\\":[\\\"2\\\",\\\"二\\\",\\\"数字\\\"],\\\"number-3\\\":[\\\"3\\\",\\\"三\\\",\\\"数字\\\"],\\\"number-4\\\":[\\\"4\\\",\\\"四\\\",\\\"数字\\\"],\\\"number-5\\\":[\\\"5\\\",\\\"五\\\",\\\"数字\\\"],\\\"number-6\\\":[\\\"6\\\",\\\"六\\\",\\\"数字\\\"],\\\"number-7\\\":[\\\"7\\\",\\\"七\\\",\\\"数字\\\"],\\\"number-8\\\":[\\\"8\\\",\\\"八\\\",\\\"数字\\\"],\\\"number-9\\\":[\\\"9\\\",\\\"九\\\",\\\"数字\\\"],\\\"number-0\\\":[\\\"0\\\",\\\"零\\\",\\\"数字\\\"],\\\"sort-asc\\\":[\\\"ranking\\\",\\\"ordering\\\",\\\"sorting\\\",\\\"ascending\\\",\\\"descending\\\",\\\"升序排列\\\",\\\"排序\\\"],\\\"sort-desc\\\":[\\\"ranking\\\",\\\"ordering\\\",\\\"降序排列\\\",\\\"排序\\\"],\\\"bring-forward\\\":[\\\"arrange\\\",\\\"层级\\\",\\\"向上一层\\\"],\\\"send-backward\\\":[\\\"arrange\\\",\\\"层级\\\",\\\"向下一层\\\"],\\\"bring-to-front\\\":[\\\"arrange\\\",\\\"层级\\\",\\\"移到最前面\\\"],\\\"send-to-back\\\":[\\\"arrange\\\",\\\"层级\\\",\\\"移到最后面\\\"],\\\"h-1\\\":[\\\"heading\\\",\\\"一级标题\\\"],\\\"h-2\\\":[\\\"heading\\\",\\\"一级标题\\\"],\\\"h-3\\\":[\\\"heading\\\",\\\"一级标题\\\"],\\\"h-4\\\":[\\\"heading\\\",\\\"一级标题\\\"],\\\"h-5\\\":[\\\"heading\\\",\\\"一级标题\\\"],\\\"h-6\\\":[\\\"heading\\\",\\\"一级标题\\\"],\\\"insert-column-left\\\":[\\\"添加列\\\",\\\"左侧\\\"],\\\"insert-column-right\\\":[\\\"添加列\\\",\\\"右侧\\\"],\\\"insert-row-top\\\":[\\\"添加行\\\",\\\"顶部\\\"],\\\"insert-row-bottom\\\":[\\\"添加行\\\",\\\"底部\\\"],\\\"delete-column\\\":[\\\"删除列\\\",\\\"底部\\\"],\\\"delete-row\\\":[\\\"添加行\\\",\\\"底部\\\"],\\\"merge-cells-horizontal\\\":[\\\"合并单元格\\\"],\\\"merge-cells-vertical\\\":[\\\"合并单元格\\\"],\\\"split-cells-horizontal\\\":[\\\"拆分单元格\\\"],\\\"split-cells-vertical\\\":[\\\"拆分单元格\\\"],\\\"flow-chart\\\":[\\\"流程图\\\"],\\\"mind-map\\\":[\\\"mindmap\\\",\\\"脑图\\\",\\\"思维导图\\\"],\\\"node-tree\\\":[\\\"节点\\\",\\\"层级关系图\\\"],\\\"organization-chart\\\":[\\\"组织架构图\\\",\\\"局域网\\\"],\\\"rounded-corner\\\":[\\\"圆角\\\"]},\\\"Finance\\\":{\\\"wallet\\\":[\\\"钱包\\\",\\\"卡包\\\"],\\\"wallet-2\\\":[\\\"钱包\\\",\\\"卡包\\\"],\\\"wallet-3\\\":[\\\"钱包\\\",\\\"卡包\\\"],\\\"bank-card\\\":[\\\"credit\\\",\\\"purchase\\\",\\\"payment\\\",\\\"cc\\\",\\\"银行卡\\\",\\\"信用卡\\\",\\\"购买\\\",\\\"消费\\\",\\\"支付\\\"],\\\"bank-card-2\\\":[\\\"credit\\\",\\\"purchase\\\",\\\"payment\\\",\\\"cc\\\",\\\"银行卡\\\",\\\"信用卡\\\",\\\"购买\\\",\\\"消费\\\",\\\"支付\\\"],\\\"secure-payment\\\":[\\\"credit\\\",\\\"purchase\\\",\\\"payment\\\",\\\"cc\\\",\\\"银行卡\\\",\\\"信用卡\\\",\\\"购买\\\",\\\"消费\\\",\\\"支付\\\",\\\"安全\\\"],\\\"refund\\\":[\\\"credit card\\\",\\\"repayment\\\",\\\"cc\\\",\\\"银行卡\\\",\\\"信用卡还款\\\"],\\\"refund-2\\\":[\\\"credit card\\\",\\\"repayment\\\",\\\"cc\\\",\\\"银行卡\\\",\\\"信用卡还款\\\"],\\\"safe\\\":[\\\"保险柜\\\",\\\"保险箱\\\"],\\\"safe-2\\\":[\\\"保险柜\\\",\\\"保险箱\\\"],\\\"price-tag\\\":[\\\"label\\\",\\\"标签\\\",\\\"价签\\\"],\\\"price-tag-2\\\":[\\\"label\\\",\\\"标签\\\",\\\"价签\\\"],\\\"price-tag-3\\\":[\\\"label\\\",\\\"标签\\\",\\\"价签\\\"],\\\"ticket\\\":[\\\"coupon\\\",\\\"票\\\",\\\"优惠券\\\",\\\"代金券\\\"],\\\"ticket-2\\\":[\\\"coupon\\\",\\\"票\\\",\\\"优惠券\\\",\\\"代金券\\\"],\\\"coupon\\\":[\\\"ticket\\\",\\\"票\\\",\\\"优惠券\\\",\\\"代金券\\\"],\\\"coupon-2\\\":[\\\"ticket\\\",\\\"票\\\",\\\"优惠券\\\",\\\"代金券\\\"],\\\"coupon-3\\\":[\\\"ticket\\\",\\\"票\\\",\\\"优惠券\\\",\\\"代金券\\\"],\\\"coupon-4\\\":[\\\"优惠券\\\",\\\"代金券\\\"],\\\"coupon-5\\\":[\\\"优惠券\\\",\\\"代金券\\\"],\\\"shopping-bag\\\":[\\\"purse\\\",\\\"购物袋\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"shopping-bag-2\\\":[\\\"购物袋\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"shopping-bag-3\\\":[\\\"购物袋\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"shopping-basket\\\":[\\\"购物篮\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"shopping-basket-2\\\":[\\\"购物篮\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"shopping-cart\\\":[\\\"购物车\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"shopping-cart-2\\\":[\\\"购物车\\\",\\\"购买\\\",\\\"消费\\\",\\\"商城\\\"],\\\"vip\\\":[\\\"会员\\\"],\\\"vip-crown\\\":[\\\"king\\\",\\\"queen\\\",\\\"皇冠\\\",\\\"会员\\\",\\\"国王\\\",\\\"女王\\\",\\\"王后\\\"],\\\"vip-crown-2\\\":[\\\"king\\\",\\\"queen\\\",\\\"皇冠\\\",\\\"会员\\\",\\\"国王\\\",\\\"女王\\\",\\\"王后\\\"],\\\"vip-diamond\\\":[\\\"钻石\\\",\\\"会员\\\"],\\\"trophy\\\":[\\\"奖品\\\",\\\"奖杯\\\",\\\"金杯\\\"],\\\"exchange\\\":[\\\"swap\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\"],\\\"exchange-box\\\":[\\\"swap\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\"],\\\"swap\\\":[\\\"exchange\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\"],\\\"swap-box\\\":[\\\"exchange\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\"],\\\"exchange-dollar\\\":[\\\"swap\\\",\\\"transfer\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\",\\\"美元\\\",\\\"转账\\\"],\\\"exchange-cny\\\":[\\\"swap\\\",\\\"transfer\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\",\\\"人民币\\\",\\\"转账\\\"],\\\"exchange-funds\\\":[\\\"swap\\\",\\\"transfer\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\",\\\"基金\\\",\\\"股票\\\",\\\"转账\\\"],\\\"increase-decrease\\\":[\\\"计算器\\\"],\\\"percent\\\":[\\\"百分之\\\",\\\"百分比\\\"],\\\"copper-coin\\\":[\\\"currency\\\",\\\"payment\\\",\\\"铜币\\\",\\\"硬币\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\"],\\\"copper-diamond\\\":[\\\"currency\\\",\\\"coins\\\",\\\"金币\\\",\\\"钻石\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\"],\\\"money-cny-box\\\":[\\\"currency\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"人民币\\\"],\\\"money-cny-circle\\\":[\\\"currency\\\",\\\"coins\\\",\\\"金币\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"人民币\\\"],\\\"money-dollar-box\\\":[\\\"currency\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"美元\\\"],\\\"money-dollar-circle\\\":[\\\"currency\\\",\\\"coins\\\",\\\"金币\\\",\\\"payment\\\",\\\"cent\\\",\\\"penny\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"美元\\\",\\\"美分\\\",\\\"便士\\\"],\\\"money-euro-box\\\":[\\\"currency\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"欧元\\\"],\\\"money-euro-circle\\\":[\\\"currency\\\",\\\"coins\\\",\\\"金币\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"欧元\\\"],\\\"money-pound-box\\\":[\\\"currency\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"英镑\\\"],\\\"money-pound-circle\\\":[\\\"currency\\\",\\\"coins\\\",\\\"金币\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"支付\\\",\\\"英镑\\\"],\\\"bit-coin\\\":[\\\"currency\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\",\\\"比特币\\\"],\\\"coin\\\":[\\\"金币\\\",\\\"硬币\\\"],\\\"coins\\\":[\\\"金币\\\",\\\"硬币\\\"],\\\"currency\\\":[\\\"cash\\\",\\\"payment\\\",\\\"货币\\\",\\\"钱\\\"],\\\"funds\\\":[\\\"foundation\\\",\\\"stock\\\",\\\"基金\\\",\\\"股票\\\"],\\\"funds-box\\\":[\\\"foundation\\\",\\\"stock\\\",\\\"基金\\\",\\\"股票\\\"],\\\"red-packet\\\":[\\\"红包\\\"],\\\"water-flash\\\":[\\\"水电费\\\"],\\\"stock\\\":[\\\"股票\\\"],\\\"auction\\\":[\\\"hammer\\\",\\\"拍卖\\\",\\\"锤子\\\"],\\\"gift\\\":[\\\"present\\\",\\\"礼物\\\"],\\\"gift-2\\\":[\\\"present\\\",\\\"礼物\\\"],\\\"hand-coin\\\":[\\\"donate\\\",\\\"business\\\",\\\"捐赠\\\"],\\\"hand-heart\\\":[\\\"help\\\",\\\"donate\\\",\\\"volunteer\\\",\\\"welfare\\\",\\\"帮助\\\",\\\"爱心\\\",\\\"捐赠\\\",\\\"志愿者\\\",\\\"公益\\\"],\\\"24-hours\\\":[\\\"last\\\",\\\"24小时营业\\\"]},\\\"Health & Medical\\\":{\\\"heart\\\":[\\\"like\\\",\\\"love\\\",\\\"favorite\\\",\\\"心\\\",\\\"喜欢\\\",\\\"爱\\\",\\\"收藏\\\"],\\\"heart-2\\\":[\\\"like\\\",\\\"love\\\",\\\"favorite\\\",\\\"心\\\",\\\"喜欢\\\",\\\"爱\\\",\\\"收藏\\\"],\\\"heart-3\\\":[\\\"like\\\",\\\"love\\\",\\\"favorite\\\",\\\"心\\\",\\\"喜欢\\\",\\\"爱\\\",\\\"收藏\\\"],\\\"heart-add\\\":[\\\"like\\\",\\\"love\\\",\\\"favorite\\\",\\\"心\\\",\\\"喜欢\\\",\\\"爱\\\",\\\"收藏\\\"],\\\"dislike\\\":[\\\"like\\\",\\\"love\\\",\\\"remove favorite\\\",\\\"心\\\",\\\"不喜欢\\\",\\\"取消收藏\\\"],\\\"hearts\\\":[\\\"romance\\\",\\\"爱情\\\",\\\"浪漫\\\",\\\"心\\\"],\\\"heart-pulse\\\":[\\\"heart rate\\\",\\\"脉搏\\\",\\\"心率\\\"],\\\"pulse\\\":[\\\"wave\\\",\\\"heart rate\\\",\\\"脉搏\\\",\\\"心率\\\",\\\"波\\\"],\\\"empathize\\\":[\\\"care\\\",\\\"heart\\\",\\\"同理心\\\",\\\"关爱\\\",\\\"心\\\"],\\\"nurse\\\":[\\\"doctors\\\",\\\"医生\\\",\\\"护士\\\"],\\\"dossier\\\":[\\\"病例\\\"],\\\"health-book\\\":[\\\"健康手册\\\",\\\"医疗手册\\\"],\\\"first-aid-kit\\\":[\\\"case\\\",\\\"急救箱\\\"],\\\"capsule\\\":[\\\"medicine\\\",\\\" 胶囊\\\",\\\"药\\\"],\\\"medicine-bottle\\\":[\\\"药瓶\\\"],\\\"flask\\\":[\\\"testing\\\",\\\"experimental\\\",\\\"experiment\\\",\\\"烧瓶\\\",\\\"实验\\\",\\\"试验\\\"],\\\"test-tube\\\":[\\\"testing\\\",\\\"experimental\\\",\\\"experiment\\\",\\\"试管\\\",\\\"实验\\\",\\\"试验\\\"],\\\"microscope\\\":[\\\"testing\\\",\\\"experimental\\\",\\\"experiment\\\",\\\"显微镜\\\",\\\"实验\\\",\\\"试验\\\"],\\\"hand-sanitizer\\\":[\\\"alcohol\\\",\\\"酒精消毒洗手液\\\"],\\\"mental-health\\\":[\\\"心理健康\\\"],\\\"psychotherapy\\\":[\\\"心理治疗\\\"],\\\"stethoscope\\\":[\\\"听诊器\\\"],\\\"syringe\\\":[\\\"注射器\\\"],\\\"thermometer\\\":[\\\"体温计\\\"],\\\"infrared-thermometer\\\":[\\\"红外线体温计\\\",\\\"体温枪\\\"],\\\"surgical-mask\\\":[\\\"外科医用口罩\\\"],\\\"virus\\\":[\\\"病毒\\\"],\\\"lungs\\\":[\\\"肺部\\\"],\\\"rest-time\\\":[\\\"close\\\",\\\"休息时间\\\",\\\"打烊\\\"],\\\"zzz\\\":[\\\"睡觉\\\"]},\\\"Logos\\\":{\\\"alipay\\\":[\\\"zhifubao\\\",\\\"支付宝\\\"],\\\"amazon\\\":[\\\"亚马逊\\\"],\\\"android\\\":[\\\"applications\\\",\\\"安卓\\\",\\\"应用\\\"],\\\"angularjs\\\":[\\\"angular\\\",\\\"programing framework\\\"],\\\"app-store\\\":[\\\"applications\\\",\\\"苹果应用商店\\\"],\\\"apple\\\":[\\\"苹果\\\"],\\\"baidu\\\":[\\\"du\\\",\\\"claw\\\",\\\"百度\\\",\\\"爪\\\"],\\\"behance\\\":[\\\"behance\\\"],\\\"bilibili\\\":[\\\"哔哩哔哩\\\"],\\\"centos\\\":[\\\"linux\\\",\\\"system\\\",\\\"系统\\\"],\\\"chrome\\\":[\\\"谷歌浏览器\\\"],\\\"codepen\\\":[\\\"代码笔\\\"],\\\"coreos\\\":[\\\"linux\\\",\\\"system\\\",\\\"系统\\\"],\\\"dingding\\\":[\\\"钉钉\\\"],\\\"discord\\\":[\\\"game\\\",\\\"chat\\\"],\\\"disqus\\\":[\\\"comments\\\"],\\\"douban\\\":[\\\"豆瓣\\\"],\\\"dribbble\\\":[\\\"追波\\\"],\\\"drive\\\":[\\\"google drive\\\",\\\"谷歌云端硬盘\\\"],\\\"dropbox\\\":[\\\"多宝箱\\\"],\\\"edge\\\":[\\\"microsoft edge\\\",\\\"edge浏览器\\\"],\\\"evernote\\\":[\\\"印象笔记\\\"],\\\"facebook\\\":[\\\"脸书\\\"],\\\"facebook-circle\\\":[\\\"脸书\\\"],\\\"facebook-box\\\":[\\\"脸书\\\"],\\\"finder\\\":[\\\"macintosh\\\",\\\"仿达\\\"],\\\"firefox\\\":[\\\"火狐浏览器\\\"],\\\"flutter\\\":[\\\"google\\\"],\\\"gatsby\\\":[\\\"gatsby\\\"],\\\"github\\\":[\\\"github\\\"],\\\"gitlab\\\":[\\\"gitlab\\\"],\\\"google\\\":[\\\"谷歌\\\"],\\\"google-play\\\":[\\\"applications\\\",\\\"谷歌应用商店\\\"],\\\"honor-of-kings\\\":[\\\"game\\\",\\\"王者荣耀\\\"],\\\"ie\\\":[\\\"internet explorer\\\",\\\"浏览器\\\"],\\\"instagram\\\":[\\\"照片墙\\\"],\\\"invision\\\":[\\\"invision\\\"],\\\"kakao-talk\\\":[\\\"kakao talk\\\",\\\"chat\\\"],\\\"line\\\":[\\\"连我\\\"],\\\"linkedin\\\":[\\\"领英\\\"],\\\"linkedin-box\\\":[\\\"领英\\\"],\\\"mastercard\\\":[\\\"bank card\\\",\\\"银行卡\\\"],\\\"mastodon\\\":[\\\"mastodon\\\",\\\"长毛象\\\"],\\\"medium\\\":[\\\"媒体\\\"],\\\"messenger\\\":[\\\"facebook\\\",\\\"脸书\\\",\\\"信使\\\"],\\\"microsoft\\\":[\\\"windows\\\",\\\"窗户\\\",\\\"微软\\\"],\\\"mini-program\\\":[\\\"微信小程序\\\"],\\\"netease-cloud-music\\\":[\\\"netease cloud music\\\",\\\"网易云音乐\\\"],\\\"netflix\\\":[\\\"网飞\\\"],\\\"npmjs\\\":[\\\"npm\\\",\\\"nodejs\\\"],\\\"open-source\\\":[\\\"opensource\\\",\\\"开源\\\"],\\\"opera\\\":[\\\"欧朋浏览器\\\"],\\\"patreon\\\":[\\\"donate\\\",\\\"money\\\",\\\"捐赠\\\",\\\"打赏\\\"],\\\"paypal\\\":[\\\"贝宝\\\"],\\\"pinterest\\\":[\\\"拼趣\\\"],\\\"pixelfed\\\":[\\\"photography\\\",\\\"pixelfed\\\"],\\\"playstation\\\":[\\\"ps\\\"],\\\"product-hunt\\\":[\\\"product hunt\\\"],\\\"qq\\\":[\\\"penguin\\\",\\\"tencent\\\",\\\"腾讯\\\",\\\"企鹅\\\"],\\\"reactjs\\\":[\\\"react\\\",\\\"programing framework\\\",\\\"facebook\\\"],\\\"reddit\\\":[\\\"reddit\\\"],\\\"remixicon\\\":[\\\"remix icon\\\",\\\"图标\\\"],\\\"safari\\\":[\\\"safari浏览器\\\"],\\\"skype\\\":[\\\"skype\\\"],\\\"slack\\\":[\\\"slack\\\"],\\\"snapchat\\\":[\\\"ghost\\\",\\\"色拉布\\\",\\\"幽灵\\\"],\\\"soundcloud\\\":[\\\"声云\\\"],\\\"spectrum\\\":[\\\"spectrum\\\"],\\\"spotify\\\":[\\\"music\\\",\\\"音乐\\\"],\\\"stack-overflow\\\":[\\\"stack overflow\\\"],\\\"stackshare\\\":[\\\"share\\\",\\\"分享\\\",\\\"技术栈\\\"],\\\"steam\\\":[\\\"game\\\",\\\"store\\\"],\\\"switch\\\":[\\\"nintendo\\\",\\\"任天堂\\\"],\\\"taobao\\\":[\\\"淘宝\\\"],\\\"telegram\\\":[\\\"telegram\\\"],\\\"trello\\\":[\\\"trello\\\"],\\\"tumblr\\\":[\\\"汤博乐\\\"],\\\"twitch\\\":[\\\"twitch\\\"],\\\"twitter\\\":[\\\"推特\\\"],\\\"ubuntu\\\":[\\\"linux\\\",\\\"system\\\",\\\"系统\\\"],\\\"unsplash\\\":[\\\"photos\\\"],\\\"vimeo\\\":[\\\"视频\\\"],\\\"visa\\\":[\\\"bank card\\\",\\\"银行卡\\\"],\\\"vuejs\\\":[\\\"vue\\\",\\\"programing framework\\\"],\\\"wechat\\\":[\\\"微信\\\"],\\\"wechat-2\\\":[\\\"微信\\\"],\\\"wechat-pay\\\":[\\\"微信支付\\\"],\\\"weibo\\\":[\\\"新浪微博\\\"],\\\"whatsapp\\\":[\\\"瓦次艾普\\\"],\\\"windows\\\":[\\\"microsoft\\\",\\\"窗户\\\",\\\"微软\\\"],\\\"xbox\\\":[\\\"xbox\\\"],\\\"xing\\\":[\\\"xing\\\"],\\\"youtube\\\":[\\\"优兔\\\",\\\"油管\\\"],\\\"zcool\\\":[\\\"zcool\\\",\\\"站酷\\\"],\\\"zhihu\\\":[\\\"知乎\\\"]},\\\"Map\\\":{\\\"map-pin\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\"],\\\"map-pin-2\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\"],\\\"map-pin-3\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\"],\\\"map-pin-4\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\"],\\\"map-pin-5\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\"],\\\"map-pin-add\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\",\\\"新增\\\",\\\"添加\\\"],\\\"map-pin-range\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\",\\\"范围\\\"],\\\"map-pin-time\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\",\\\"时间\\\"],\\\"map-pin-user\\\":[\\\"location\\\",\\\"navigation\\\",\\\"地图\\\",\\\"坐标\\\",\\\"定位\\\",\\\"导航\\\",\\\"位置\\\",\\\"用户\\\"],\\\"pin-distance\\\":[\\\"坐标\\\",\\\"距离\\\"],\\\"pushpin\\\":[\\\"图钉\\\"],\\\"pushpin-2\\\":[\\\"图钉\\\"],\\\"compass\\\":[\\\"navigation\\\",\\\"safari\\\",\\\"direction\\\",\\\"discover\\\",\\\"指南针\\\",\\\"导航\\\",\\\"方向\\\",\\\"发现\\\",\\\"探索\\\"],\\\"compass-2\\\":[\\\"navigation\\\",\\\"direction\\\",\\\"discover\\\",\\\"指南针\\\",\\\"导航\\\",\\\"方向\\\",\\\"发现\\\",\\\"探索\\\"],\\\"compass-3\\\":[\\\"navigation\\\",\\\"safari\\\",\\\"direction\\\",\\\"discover\\\",\\\"指南针\\\",\\\"导航\\\",\\\"方向\\\",\\\"发现\\\",\\\"探索\\\"],\\\"compass-4\\\":[\\\"navigation\\\",\\\"direction\\\",\\\"discover\\\",\\\"指南针\\\",\\\"导航\\\",\\\"方向\\\",\\\"发现\\\",\\\"探索\\\"],\\\"compass-discover\\\":[\\\"navigation\\\",\\\"direction\\\",\\\"指南针\\\",\\\"导航\\\",\\\"方向\\\",\\\"发现\\\",\\\"探索\\\"],\\\"anchor\\\":[\\\"锚\\\"],\\\"china-railway\\\":[\\\"中铁\\\",\\\"铁路\\\",\\\"火车\\\"],\\\"space-ship\\\":[\\\"太空飞船\\\"],\\\"rocket\\\":[\\\"火箭\\\"],\\\"rocket-2\\\":[\\\"space ship\\\",\\\"火箭\\\",\\\"太空飞船\\\"],\\\"map\\\":[\\\"navigation\\\",\\\"travel\\\",\\\"地图\\\",\\\"导航\\\",\\\"旅行\\\"],\\\"map-2\\\":[\\\"location\\\",\\\"navigation\\\",\\\"travel\\\",\\\"地图\\\",\\\"定位\\\",\\\"导航\\\",\\\"旅行\\\"],\\\"treasure-map\\\":[\\\"thriller\\\",\\\"adventure\\\",\\\"地图\\\",\\\"藏宝图\\\"],\\\"road-map\\\":[\\\"navigation\\\",\\\"travel\\\",\\\"地图\\\",\\\"导航\\\",\\\"旅行\\\"],\\\"earth\\\":[\\\"global\\\",\\\"union\\\",\\\"world\\\",\\\"language\\\",\\\"地球\\\",\\\"全球\\\",\\\"联合\\\",\\\"世界\\\",\\\"语言\\\"],\\\"globe\\\":[\\\"earth\\\",\\\"地球仪\\\"],\\\"parking\\\":[\\\"停车场\\\"],\\\"parking-box\\\":[\\\"停车场\\\"],\\\"route\\\":[\\\"path\\\",\\\"路线\\\"],\\\"guide\\\":[\\\"path\\\",\\\"指引\\\",\\\"路线\\\"],\\\"gas-station\\\":[\\\"加气站\\\",\\\"加油站\\\"],\\\"charging-pile\\\":[\\\"充电桩\\\"],\\\"charging-pile-2\\\":[\\\"充电桩\\\"],\\\"car\\\":[\\\"汽车\\\"],\\\"car-washing\\\":[\\\"汽车\\\",\\\"洗车\\\"],\\\"roadster\\\":[\\\"car\\\",\\\"汽车\\\",\\\"跑车\\\"],\\\"taxi\\\":[\\\"car\\\",\\\"出租车\\\",\\\"汽车\\\"],\\\"taxi-wifi\\\":[\\\"car\\\",\\\"出租车\\\",\\\"汽车\\\"],\\\"police-car\\\":[\\\"汽车\\\",\\\"警车\\\"],\\\"bus\\\":[\\\"大巴\\\",\\\"巴士\\\"],\\\"bus-2\\\":[\\\"大巴\\\",\\\"巴士\\\"],\\\"bus-wifi\\\":[\\\"大巴\\\",\\\"巴士\\\"],\\\"truck\\\":[\\\"van\\\",\\\"delivery\\\",\\\"卡车\\\",\\\"货车\\\",\\\"运输\\\"],\\\"train\\\":[\\\"火车\\\"],\\\"train-wifi\\\":[\\\"火车\\\"],\\\"subway\\\":[\\\"地铁\\\"],\\\"subway-wifi\\\":[\\\"地铁\\\"],\\\"flight-takeoff\\\":[\\\"airplane\\\",\\\"plane\\\",\\\"origin\\\",\\\"起飞\\\",\\\"出发\\\",\\\"始发\\\",\\\"起点\\\",\\\"飞机\\\"],\\\"flight-land\\\":[\\\"airplane\\\",\\\"plane\\\",\\\"destination\\\",\\\"着陆\\\",\\\"到达\\\",\\\"抵达\\\",\\\"终点\\\",\\\"飞机\\\"],\\\"plane\\\":[\\\"fight\\\",\\\"飞机\\\",\\\"航班\\\"],\\\"sailboat\\\":[\\\"帆船\\\"],\\\"ship\\\":[\\\"轮船\\\",\\\"航海\\\",\\\"海运\\\"],\\\"ship-2\\\":[\\\"轮船\\\"],\\\"bike\\\":[\\\"自行车\\\"],\\\"e-bike\\\":[\\\"take out\\\",\\\"takeaway\\\",\\\"电动车\\\",\\\"外卖\\\"],\\\"e-bike-2\\\":[\\\"take out\\\",\\\"takeaway\\\",\\\"电动车\\\",\\\"外卖\\\"],\\\"takeaway\\\":[\\\"take out\\\",\\\"takeaway\\\",\\\"电动车\\\",\\\"外卖\\\"],\\\"motorbike\\\":[\\\"摩托车\\\"],\\\"caravan\\\":[\\\"房车\\\"],\\\"walk\\\":[\\\"步行\\\"],\\\"run\\\":[\\\"奔跑\\\",\\\"跑步\\\"],\\\"riding\\\":[\\\"bike\\\",\\\"骑行\\\",\\\"自行车\\\"],\\\"barricade\\\":[\\\"路障\\\"],\\\"footprint\\\":[\\\"脚印\\\",\\\"足迹\\\"],\\\"traffic-light\\\":[\\\"交通\\\",\\\"信号灯\\\"],\\\"signal-tower\\\":[\\\"base station\\\",\\\"antenna\\\",\\\"信号塔\\\",\\\"基站\\\",\\\"天线\\\"],\\\"restaurant\\\":[\\\"餐厅\\\",\\\"饭店\\\"],\\\"restaurant-2\\\":[\\\"餐厅\\\",\\\"饭店\\\"],\\\"cup\\\":[\\\"tea\\\",\\\"coffee\\\",\\\"杯子\\\",\\\"咖啡\\\",\\\"茶\\\"],\\\"goblet\\\":[\\\"cup\\\",\\\"wine glass\\\",\\\"高脚杯\\\",\\\"酒杯\\\"],\\\"hotel-bed\\\":[\\\"酒店\\\",\\\"床\\\"],\\\"navigation\\\":[\\\"gps\\\",\\\"导航\\\"],\\\"oil\\\":[\\\"汽油\\\",\\\"机油\\\"],\\\"direction\\\":[\\\"right\\\",\\\"方向\\\",\\\"右转\\\"],\\\"steering\\\":[\\\"drive\\\",\\\"方向盘\\\",\\\"驾车\\\"],\\\"steering-2\\\":[\\\"drive\\\",\\\"方向盘\\\",\\\"驾车\\\"],\\\"lifebuoy\\\":[\\\"life ring\\\",\\\"救生圈\\\"],\\\"passport\\\":[\\\"passports\\\",\\\"护照\\\"],\\\"suitcase\\\":[\\\"travel\\\",\\\"旅行\\\",\\\"行李箱\\\"],\\\"suitcase-2\\\":[\\\"travel\\\",\\\"旅行\\\",\\\"行李箱\\\",\\\"拉杆箱\\\"],\\\"suitcase-3\\\":[\\\"travel\\\",\\\"旅行\\\",\\\"boarding case\\\",\\\"行李箱\\\",\\\"拉杆箱\\\",\\\"登机箱\\\"],\\\"luggage-deposit\\\":[\\\"consignment\\\",\\\"行李箱\\\",\\\"行李寄存\\\",\\\"托运\\\"],\\\"luggage-cart\\\":[\\\"行李车\\\"]},\\\"Media\\\":{\\\"image\\\":[\\\"picture\\\",\\\"photo\\\",\\\"图片\\\",\\\"照片\\\"],\\\"image-2\\\":[\\\"picture\\\",\\\"photo\\\",\\\"图片\\\",\\\"照片\\\"],\\\"image-add\\\":[\\\"picture\\\",\\\"photo\\\",\\\"图片\\\",\\\"照片\\\",\\\"添加\\\"],\\\"image-edit\\\":[\\\"picture\\\",\\\"photo\\\",\\\"图片\\\",\\\"照片\\\",\\\"编辑\\\"],\\\"landscape\\\":[\\\"picture\\\",\\\"image\\\",\\\"photo\\\",\\\"图片\\\",\\\"照片\\\"],\\\"gallery\\\":[\\\"picture\\\",\\\"image\\\",\\\"图片\\\",\\\"相册\\\"],\\\"gallery-upload\\\":[\\\"picture\\\",\\\"image\\\",\\\"图片\\\",\\\"相册\\\",\\\"上传\\\"],\\\"video\\\":[\\\"视频\\\"],\\\"movie\\\":[\\\"film\\\",\\\"video\\\",\\\"电影\\\",\\\"硬盘\\\",\\\"视频\\\"],\\\"movie-2\\\":[\\\"film\\\",\\\"video\\\",\\\"电影\\\",\\\"硬盘\\\",\\\"视频\\\"],\\\"film\\\":[\\\"movie\\\",\\\"video\\\",\\\"影片\\\",\\\"电影\\\",\\\"视频\\\"],\\\"clapperboard\\\":[\\\"movie\\\",\\\"film\\\",\\\"场记板\\\",\\\"电影\\\"],\\\"vidicon\\\":[\\\"video\\\",\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\",\\\"视频\\\"],\\\"vidicon-2\\\":[\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\"],\\\"live\\\":[\\\"video\\\",\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\",\\\"视频\\\",\\\"直播\\\"],\\\"video-add\\\":[\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\",\\\"视频\\\",\\\"添加\\\"],\\\"video-upload\\\":[\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\",\\\"视频\\\",\\\"上传\\\"],\\\"video-download\\\":[\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\",\\\"视频\\\",\\\"下載\\\"],\\\"dv\\\":[\\\"vidicon\\\",\\\"camera\\\",\\\"摄像机\\\",\\\"摄影机\\\"],\\\"camera\\\":[\\\"photo\\\",\\\"照相机\\\",\\\"拍照\\\",\\\"照片\\\"],\\\"camera-off\\\":[\\\"photo\\\",\\\"slash\\\",\\\"照相机\\\",\\\"拍照\\\",\\\"照片\\\",\\\"禁止\\\",\\\"关闭\\\"],\\\"camera-2\\\":[\\\"photo\\\",\\\"照相机\\\",\\\"拍照\\\",\\\"照片\\\"],\\\"camera-3\\\":[\\\"photo\\\",\\\"照相机\\\",\\\"拍照\\\",\\\"照片\\\"],\\\"camera-lens\\\":[\\\"aperture\\\",\\\"photo\\\",\\\"照相机\\\",\\\"拍照\\\",\\\"照片\\\",\\\"朋友圈\\\"],\\\"camera-switch\\\":[\\\"照相机\\\",\\\"拍照\\\",\\\"翻转\\\"],\\\"polaroid\\\":[\\\"camera\\\",\\\"相机\\\",\\\"宝丽来\\\"],\\\"polaroid-2\\\":[\\\"camera\\\",\\\"相机\\\",\\\"宝丽来\\\"],\\\"phone-camera\\\":[\\\"手机相机\\\",\\\"手机摄像头\\\"],\\\"webcam\\\":[\\\"摄像头\\\"],\\\"mv\\\":[\\\"music video\\\",\\\"音乐\\\"],\\\"music\\\":[\\\"音乐\\\"],\\\"music-2\\\":[\\\"音乐\\\"],\\\"disc\\\":[\\\"music\\\",\\\"album\\\",\\\"音乐\\\",\\\"唱片\\\"],\\\"album\\\":[\\\"music\\\",\\\"唱片\\\",\\\"音乐\\\"],\\\"dvd\\\":[\\\"cd\\\",\\\"dvd\\\",\\\"record\\\",\\\"光盘\\\",\\\"刻录\\\"],\\\"headphone\\\":[\\\"music\\\",\\\"headset\\\",\\\"耳机\\\",\\\"音乐\\\"],\\\"radio\\\":[\\\"收音机\\\",\\\"电台\\\"],\\\"radio-2\\\":[\\\"收音机\\\",\\\"电台\\\"],\\\"tape\\\":[\\\"录音\\\",\\\"磁带\\\"],\\\"mic\\\":[\\\"record\\\",\\\"voice\\\",\\\"话筒\\\",\\\"语音\\\",\\\"录音\\\",\\\"声音\\\"],\\\"mic-2\\\":[\\\"record\\\",\\\"voice\\\",\\\"话筒\\\",\\\"语音\\\",\\\"录音\\\",\\\"声音\\\"],\\\"mic-off\\\":[\\\"record\\\",\\\"voice\\\",\\\"slash\\\",\\\"关闭话筒\\\",\\\"关闭语音\\\",\\\"录音\\\",\\\"关闭声音\\\",\\\"静音\\\",\\\"禁止\\\"],\\\"volume-down\\\":[\\\"trumpet\\\",\\\"sound\\\",\\\"speaker\\\",\\\"音量低\\\",\\\"喇叭\\\",\\\"声音\\\",\\\"扬声器\\\"],\\\"volume-mute\\\":[\\\"trumpet\\\",\\\"sound\\\",\\\"off\\\",\\\"音量低\\\",\\\"喇叭\\\",\\\"声音\\\",\\\"静音\\\"],\\\"volume-up\\\":[\\\"trumpet\\\",\\\"sound\\\",\\\"speaker\\\",\\\"音量高\\\",\\\"喇叭\\\",\\\"声音\\\",\\\"扬声器\\\"],\\\"volume-vibrate\\\":[\\\"trumpet\\\",\\\"sound\\\",\\\"speaker\\\",\\\"喇叭\\\",\\\"声音\\\",\\\"扬声器\\\",\\\"震动模式\\\"],\\\"volume-off-vibrate\\\":[\\\"trumpet\\\",\\\"sound\\\",\\\"speaker\\\",\\\"静音\\\",\\\"喇叭\\\",\\\"声音\\\",\\\"扬声器\\\",\\\"静音模式\\\"],\\\"speaker\\\":[\\\"音响\\\"],\\\"speaker-2\\\":[\\\"音响\\\"],\\\"speaker-3\\\":[\\\"音响\\\"],\\\"surround-sound\\\":[\\\"环绕立体声\\\"],\\\"broadcast\\\":[\\\"广播\\\"],\\\"notification\\\":[\\\"bell\\\",\\\"alarm\\\",\\\"通知\\\",\\\"铃铛\\\",\\\"提醒\\\"],\\\"notification-2\\\":[\\\"bell\\\",\\\"alarm\\\",\\\"通知\\\",\\\"铃铛\\\",\\\"提醒\\\"],\\\"notification-3\\\":[\\\"bell\\\",\\\"alarm\\\",\\\"通知\\\",\\\"铃铛\\\",\\\"提醒\\\"],\\\"notification-4\\\":[\\\"bell\\\",\\\"alarm\\\",\\\"通知\\\",\\\"铃铛\\\",\\\"提醒\\\"],\\\"notification-off\\\":[\\\"bell\\\",\\\"alarm\\\",\\\"silent\\\",\\\"slash\\\",\\\"通知\\\",\\\"铃铛\\\",\\\"提醒\\\",\\\"免打扰\\\",\\\"静音\\\",\\\"关闭\\\",\\\"禁止\\\"],\\\"play-circle\\\":[\\\"start\\\",\\\"播放\\\",\\\"开始\\\"],\\\"pause-circle\\\":[\\\"暂停\\\"],\\\"record-circle\\\":[\\\"录音\\\"],\\\"stop-circle\\\":[\\\"停止\\\"],\\\"eject\\\":[\\\"推出\\\"],\\\"play\\\":[\\\"start\\\",\\\"播放\\\",\\\"开始\\\"],\\\"pause\\\":[\\\"暂停\\\"],\\\"stop\\\":[\\\"停止\\\"],\\\"rewind\\\":[\\\"fast\\\",\\\"快退\\\"],\\\"speed\\\":[\\\"fast\\\",\\\"快进\\\"],\\\"skip-back\\\":[\\\"上一曲\\\"],\\\"skip-forward\\\":[\\\"下一曲\\\"],\\\"play-mini\\\":[\\\"播放\\\"],\\\"pause-mini\\\":[\\\"暂停\\\"],\\\"stop-mini\\\":[\\\"停止\\\"],\\\"rewind-mini\\\":[\\\"fast\\\",\\\"快退\\\"],\\\"speed-mini\\\":[\\\"fast\\\",\\\"快进\\\"],\\\"skip-back-mini\\\":[\\\"上一曲\\\"],\\\"skip-forward-mini\\\":[\\\"下一曲\\\"],\\\"repeat\\\":[\\\"循环播放\\\"],\\\"repeat-2\\\":[\\\"循环播放\\\"],\\\"repeat-one\\\":[\\\"单曲循环\\\"],\\\"order-play\\\":[\\\"顺序播放\\\"],\\\"shuffle\\\":[\\\"随机播放\\\"],\\\"play-list\\\":[\\\"播放列表\\\"],\\\"play-list-2\\\":[\\\"播放列表\\\"],\\\"play-list-add\\\":[\\\"列表\\\",\\\"添加\\\"],\\\"fullscreen\\\":[\\\"maximize\\\",\\\"全屏\\\",\\\"最大化\\\"],\\\"fullscreen-exit\\\":[\\\"minimize\\\",\\\"退出全屏\\\",\\\"最小化\\\"],\\\"equalizer\\\":[\\\"sliders\\\",\\\"controls\\\",\\\"settings\\\",\\\"filter\\\",\\\"均衡器\\\",\\\"控制器\\\",\\\"设置\\\",\\\"筛选\\\"],\\\"sound-module\\\":[\\\"sliders\\\",\\\"controls\\\",\\\"settings\\\",\\\"filter\\\",\\\"均衡器\\\",\\\"控制器\\\",\\\"设置\\\",\\\"筛选\\\"],\\\"rhythm\\\":[\\\"节奏\\\",\\\"韵律\\\"],\\\"voiceprint\\\":[\\\"声纹\\\"],\\\"hq\\\":[\\\"high quality\\\",\\\"高质量\\\",\\\"高品质\\\"],\\\"hd\\\":[\\\"high definition\\\",\\\"高清晰度\\\"],\\\"4k\\\":[\\\"high definition\\\",\\\"high quality\\\",\\\"高清晰度\\\",\\\"高品质\\\",\\\"超清\\\"],\\\"closed-captioning\\\":[\\\"隐藏字幕\\\"],\\\"aspect-ratio\\\":[\\\"宽高比\\\",\\\"比例\\\"],\\\"picture-in-picture\\\":[\\\"画中画\\\",\\\"小窗\\\"],\\\"picture-in-picture-2\\\":[\\\"画中画\\\",\\\"小窗\\\"],\\\"picture-in-picture-exit\\\":[\\\"退出画中画\\\",\\\"退出小窗\\\"]},\\\"System\\\":{\\\"apps\\\":[\\\"应用\\\"],\\\"apps-2\\\":[\\\"应用\\\"],\\\"function\\\":[\\\"layout\\\",\\\"功能\\\",\\\"应用\\\",\\\"卡片布局\\\"],\\\"dashboard\\\":[\\\"仪表盘\\\"],\\\"menu\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\"],\\\"menu-2\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\"],\\\"menu-3\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\"],\\\"menu-4\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\"],\\\"menu-5\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\"],\\\"menu-add\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\",\\\"添加\\\"],\\\"menu-fold\\\":[\\\"navigation\\\",\\\"hamburger\\\",\\\"导航\\\",\\\"菜单\\\",\\\"汉堡包\\\",\\\"展开\\\"],\\\"more\\\":[\\\"ellipsis\\\",\\\"更多\\\",\\\"省略\\\"],\\\"more-2\\\":[\\\"ellipsis\\\",\\\"更多\\\",\\\"省略\\\"],\\\"star\\\":[\\\"favorite\\\",\\\"like\\\",\\\"mark\\\",\\\"星星\\\",\\\"星标\\\",\\\"喜欢\\\"],\\\"star-s\\\":[\\\"favorite\\\",\\\"like\\\",\\\"mark\\\",\\\"星星\\\",\\\"星标\\\",\\\"喜欢\\\",\\\"半星\\\"],\\\"star-half\\\":[\\\"favorite\\\",\\\"like\\\",\\\"mark\\\",\\\"星星\\\",\\\"星标\\\",\\\"喜欢\\\"],\\\"star-half-s\\\":[\\\"favorite\\\",\\\"like\\\",\\\"mark\\\",\\\"星星\\\",\\\"星标\\\",\\\"喜欢\\\",\\\"半星\\\"],\\\"settings\\\":[\\\"edit\\\",\\\"gear\\\",\\\"preferences\\\",\\\"偏好设置\\\",\\\"编辑\\\",\\\"齿轮\\\"],\\\"settings-2\\\":[\\\"edit\\\",\\\"gear\\\",\\\"preferences\\\",\\\"偏好设置\\\",\\\"编辑\\\",\\\"齿轮\\\"],\\\"settings-3\\\":[\\\"edit\\\",\\\"gear\\\",\\\"preferences\\\",\\\"偏好设置\\\",\\\"编辑\\\",\\\"齿轮\\\"],\\\"settings-4\\\":[\\\"edit\\\",\\\"gear\\\",\\\"preferences\\\",\\\"偏好设置\\\",\\\"编辑\\\",\\\"齿轮\\\"],\\\"settings-5\\\":[\\\"edit\\\",\\\"gear\\\",\\\"preferences\\\",\\\"偏好设置\\\",\\\"编辑\\\",\\\"齿轮\\\"],\\\"settings-6\\\":[\\\"edit\\\",\\\"gear\\\",\\\"preferences\\\",\\\"偏好设置\\\",\\\"编辑\\\",\\\"齿轮\\\"],\\\"list-settings\\\":[\\\"列表\\\",\\\"设置\\\"],\\\"forbid\\\":[\\\"slash\\\",\\\"ban\\\",\\\"禁止\\\",\\\"禁用\\\"],\\\"forbid-2\\\":[\\\"slash\\\",\\\"ban\\\",\\\"禁止\\\",\\\"禁用\\\"],\\\"information\\\":[\\\"信息\\\"],\\\"error-warning\\\":[\\\"alert\\\",\\\"警告\\\",\\\"错误\\\"],\\\"question\\\":[\\\"help\\\",\\\"问号\\\",\\\"帮助\\\"],\\\"alert\\\":[\\\"提醒\\\",\\\"警告\\\"],\\\"spam\\\":[\\\"alert\\\",\\\"垃圾邮件\\\",\\\"警告\\\"],\\\"spam-2\\\":[\\\"alert\\\",\\\"垃圾邮件\\\",\\\"警告\\\"],\\\"spam-3\\\":[\\\"alert\\\",\\\"垃圾邮件\\\",\\\"警告\\\"],\\\"checkbox-blank\\\":[\\\"复选框\\\",\\\"空\\\"],\\\"checkbox\\\":[\\\"复选框\\\"],\\\"checkbox-indeterminate\\\":[\\\"复选框\\\"],\\\"add-box\\\":[\\\"plus\\\",\\\"new\\\",\\\"复选框\\\",\\\"添加\\\",\\\"加号\\\",\\\"新增\\\"],\\\"checkbox-blank-circle\\\":[\\\"复选框\\\",\\\"空\\\"],\\\"checkbox-circle\\\":[\\\"复选框\\\"],\\\"indeterminate-circle\\\":[\\\"slash\\\",\\\"ban\\\",\\\"复选框\\\",\\\"禁\\\"],\\\"add-circle\\\":[\\\"plus\\\",\\\"new\\\",\\\"复选框\\\",\\\"添加\\\",\\\"加号\\\",\\\"新增\\\"],\\\"close-circle\\\":[\\\"cancel\\\",\\\"remove\\\",\\\"delete\\\",\\\"empty\\\",\\\"x\\\",\\\"关闭\\\",\\\"取消\\\",\\\"移除\\\",\\\"删除\\\",\\\"清空\\\"],\\\"radio-button\\\":[\\\"单选框\\\"],\\\"checkbox-multiple-blank\\\":[\\\"复选框\\\",\\\"空\\\"],\\\"checkbox-multiple\\\":[\\\"复选框\\\",\\\"空\\\"],\\\"check\\\":[\\\"对勾\\\"],\\\"check-double\\\":[\\\"read\\\",\\\"done\\\",\\\"double-tick\\\",\\\"双对勾\\\",\\\"已读\\\"],\\\"close\\\":[\\\"cancel\\\",\\\"remove\\\",\\\"delete\\\",\\\"empty\\\",\\\"x\\\",\\\"关闭\\\",\\\"取消\\\",\\\"移除\\\",\\\"删除\\\",\\\"清空\\\"],\\\"add\\\":[\\\"plus\\\",\\\"new\\\",\\\"添加\\\",\\\"新增\\\",\\\"加号\\\"],\\\"subtract\\\":[\\\"减\\\"],\\\"divide\\\":[\\\"除以\\\"],\\\"arrow-left-up\\\":[\\\"corner\\\",\\\"左上\\\"],\\\"arrow-up\\\":[\\\"箭头\\\",\\\"向上\\\"],\\\"arrow-right-up\\\":[\\\"corner\\\",\\\"右上\\\"],\\\"arrow-right\\\":[\\\"forward\\\",\\\"箭头\\\",\\\"向右\\\"],\\\"arrow-right-down\\\":[\\\"corner\\\",\\\"右下\\\"],\\\"arrow-down\\\":[\\\"箭头\\\",\\\"向下\\\"],\\\"arrow-left-down\\\":[\\\"corner\\\",\\\"箭头\\\",\\\"左下\\\"],\\\"arrow-left\\\":[\\\"backward\\\",\\\"箭头\\\",\\\"向左\\\",\\\"返回\\\"],\\\"arrow-up-circle\\\":[\\\"箭头\\\",\\\"向上\\\"],\\\"arrow-right-circle\\\":[\\\"forward\\\",\\\"箭头\\\",\\\"向右\\\"],\\\"arrow-down-circle\\\":[\\\"箭头\\\",\\\"向下\\\",\\\"下載\\\"],\\\"arrow-left-circle\\\":[\\\"backward\\\",\\\"箭头\\\",\\\"向左\\\",\\\"返回\\\"],\\\"arrow-up-s\\\":[\\\"箭头\\\",\\\"向上\\\"],\\\"arrow-down-s\\\":[\\\"箭头\\\",\\\"向下\\\"],\\\"arrow-right-s\\\":[\\\"forward\\\",\\\"箭头\\\",\\\"向右\\\"],\\\"arrow-left-s\\\":[\\\"backward\\\",\\\"箭头\\\",\\\"向左\\\",\\\"返回\\\"],\\\"arrow-drop-up\\\":[\\\"箭头\\\",\\\"向上\\\"],\\\"arrow-drop-right\\\":[\\\"forward\\\",\\\"箭头\\\",\\\"向右\\\"],\\\"arrow-drop-down\\\":[\\\"箭头\\\",\\\"向下\\\"],\\\"arrow-drop-left\\\":[\\\"backward\\\",\\\"箭头\\\",\\\"向左\\\",\\\"返回\\\"],\\\"arrow-left-right\\\":[\\\"exchange\\\",\\\"swap\\\",\\\"箭头\\\",\\\"左右\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\"],\\\"arrow-up-down\\\":[\\\"exchange\\\",\\\"swap\\\",\\\"箭头\\\",\\\"上下\\\",\\\"交换\\\",\\\"换算\\\",\\\"兑换\\\"],\\\"arrow-go-back\\\":[\\\"undo\\\",\\\"箭头\\\",\\\"返回\\\",\\\"撤销\\\",\\\"撤回\\\"],\\\"arrow-go-forward\\\":[\\\"redo\\\",\\\"箭头\\\",\\\"重做\\\",\\\"撤回\\\"],\\\"download\\\":[\\\"下載\\\"],\\\"upload\\\":[\\\"上传\\\"],\\\"download-2\\\":[\\\"下載\\\"],\\\"upload-2\\\":[\\\"上传\\\"],\\\"download-cloud\\\":[\\\"下載\\\",\\\"云\\\"],\\\"download-cloud-2\\\":[\\\"下載\\\",\\\"云\\\"],\\\"upload-cloud\\\":[\\\"上传\\\",\\\"云\\\"],\\\"upload-cloud-2\\\":[\\\"上传\\\",\\\"云\\\"],\\\"login-box\\\":[\\\"sign in\\\",\\\"登录\\\"],\\\"logout-box\\\":[\\\"sign out\\\",\\\"登出\\\",\\\"注销\\\"],\\\"logout-box-r\\\":[\\\"sign out\\\",\\\"登出\\\",\\\"注销\\\"],\\\"login-circle\\\":[\\\"sign in\\\",\\\"登录\\\"],\\\"logout-circle\\\":[\\\"sign out\\\",\\\"登出\\\",\\\"注销\\\"],\\\"logout-circle-r\\\":[\\\"sign out\\\",\\\"登出\\\",\\\"注销\\\"],\\\"refresh\\\":[\\\"synchronization\\\",\\\"reload\\\",\\\"restart\\\",\\\"spinner\\\",\\\"loader\\\",\\\"ajax\\\",\\\"update\\\",\\\"刷新\\\",\\\"同步\\\"],\\\"shield\\\":[\\\"safety\\\",\\\"protect\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\"],\\\"shield-cross\\\":[\\\"safety\\\",\\\"protect\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\",\\\"闪电\\\"],\\\"shield-flash\\\":[\\\"safety\\\",\\\"protect\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\"],\\\"shield-star\\\":[\\\"safety\\\",\\\"protect\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\",\\\"星星\\\"],\\\"shield-user\\\":[\\\"safety\\\",\\\"protect\\\",\\\"user protected\\\",\\\"guarantor\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\",\\\"用户\\\"],\\\"shield-keyhole\\\":[\\\"safety\\\",\\\"protect\\\",\\\"guarantor\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\",\\\"钥匙孔\\\"],\\\"shield-check\\\":[\\\"safety\\\",\\\"protect\\\",\\\"盾牌\\\",\\\"卫士\\\",\\\"安全\\\",\\\"防御\\\"],\\\"delete-back\\\":[\\\"backspace\\\",\\\"删除\\\",\\\"退格\\\"],\\\"delete-back-2\\\":[\\\"backspace\\\",\\\"删除\\\",\\\"退格\\\"],\\\"delete-bin\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"delete-bin-2\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"delete-bin-3\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"delete-bin-4\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"delete-bin-5\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"delete-bin-6\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"delete-bin-7\\\":[\\\"trash\\\",\\\"remove\\\",\\\"ash-bin\\\",\\\"garbage\\\",\\\"dustbin\\\",\\\"uninstall\\\",\\\"卸載\\\",\\\"删除\\\",\\\"垃圾桶\\\"],\\\"lock\\\":[\\\"security\\\",\\\"password\\\",\\\"锁子\\\",\\\"安全\\\",\\\"密码\\\"],\\\"lock-2\\\":[\\\"security\\\",\\\"password\\\",\\\"锁子\\\",\\\"安全\\\",\\\"密码\\\"],\\\"lock-password\\\":[\\\"security\\\",\\\"锁子\\\",\\\"安全\\\",\\\"密码\\\"],\\\"lock-unlock\\\":[\\\"security\\\",\\\"password\\\",\\\"锁子\\\",\\\"安全\\\",\\\"密码\\\"],\\\"eye\\\":[\\\"watch\\\",\\\"view\\\",\\\"眼睛\\\",\\\"查看\\\"],\\\"eye-off\\\":[\\\"slash\\\",\\\"眼睛\\\",\\\"不可见\\\",\\\"关闭\\\",\\\"禁止\\\"],\\\"eye-2\\\":[\\\"watch\\\",\\\"view\\\",\\\"眼睛\\\",\\\"查看\\\"],\\\"eye-close\\\":[\\\"x\\\",\\\"闭眼\\\"],\\\"search\\\":[\\\"搜索\\\",\\\"放大镜\\\"],\\\"search-2\\\":[\\\"搜索\\\",\\\"放大镜\\\"],\\\"search-eye\\\":[\\\"搜索\\\",\\\"放大镜\\\",\\\"眼睛\\\"],\\\"zoom-in\\\":[\\\"放大\\\",\\\"放大镜\\\"],\\\"zoom-out\\\":[\\\"缩小\\\",\\\"放大镜\\\"],\\\"find-replace\\\":[\\\"查找\\\",\\\"搜索\\\",\\\"替换\\\"],\\\"share\\\":[\\\"分享\\\",\\\"转发\\\"],\\\"share-box\\\":[\\\"分享\\\",\\\"转发\\\"],\\\"share-circle\\\":[\\\"分享\\\",\\\"转发\\\"],\\\"share-forward\\\":[\\\"分享\\\",\\\"转发\\\"],\\\"share-forward-2\\\":[\\\"分享\\\",\\\"转发\\\"],\\\"share-forward-box\\\":[\\\"分享\\\",\\\"转发\\\"],\\\"side-bar\\\":[\\\"侧边栏\\\"],\\\"time\\\":[\\\"clock\\\",\\\"时间\\\",\\\"时钟\\\",\\\"钟表\\\"],\\\"timer\\\":[\\\"chronograph\\\",\\\"stopwatch\\\",\\\"秒表\\\",\\\"计时器\\\"],\\\"timer-2\\\":[\\\"chronograph\\\",\\\"stopwatch\\\",\\\"秒表\\\",\\\"计时器\\\"],\\\"timer-flash\\\":[\\\"chronograph\\\",\\\"stopwatch\\\",\\\"秒表\\\",\\\"计时器\\\",\\\"闪电\\\"],\\\"alarm\\\":[\\\"闹钟\\\"],\\\"history\\\":[\\\"record\\\",\\\"recent\\\",\\\"time machine\\\",\\\"历史记录\\\",\\\"最近\\\"],\\\"thumb-down\\\":[\\\"dislike\\\",\\\"bad\\\",\\\"不喜欢\\\",\\\"不好\\\"],\\\"thumb-up\\\":[\\\"like\\\",\\\"good\\\",\\\"喜欢\\\",\\\"好\\\"],\\\"alarm-warning\\\":[\\\"alert\\\",\\\"report\\\",\\\"police light\\\",\\\"告警\\\",\\\"举报\\\",\\\"警灯\\\"],\\\"notification-badge\\\":[\\\"red dot\\\",\\\"通知\\\",\\\"小红点\\\"],\\\"toggle\\\":[\\\"switch\\\",\\\"开关\\\",\\\"触发器\\\"],\\\"filter\\\":[\\\"filtration\\\",\\\"筛选\\\",\\\"过滤\\\"],\\\"filter-2\\\":[\\\"filtration\\\",\\\"筛选\\\",\\\"过滤\\\"],\\\"filter-3\\\":[\\\"filtration\\\",\\\"筛选\\\",\\\"过滤\\\"],\\\"filter-off\\\":[\\\"filtration\\\",\\\"clear-filter\\\",\\\"筛选\\\",\\\"过滤\\\"],\\\"loader\\\":[\\\"loader\\\",\\\"spinner\\\",\\\"ajax\\\",\\\"waiting\\\",\\\"delay\\\",\\\"加載中\\\",\\\"載入中\\\",\\\"正在加載\\\"],\\\"loader-2\\\":[\\\"loader\\\",\\\"spinner\\\",\\\"ajax\\\",\\\"waiting\\\",\\\"delay\\\",\\\"加載中\\\",\\\"載入中\\\",\\\"正在加載\\\"],\\\"loader-3\\\":[\\\"loader\\\",\\\"spinner\\\",\\\"ajax\\\",\\\"waiting\\\",\\\"delay\\\",\\\"加載中\\\",\\\"載入中\\\",\\\"正在加載\\\"],\\\"loader-4\\\":[\\\"loader\\\",\\\"spinner\\\",\\\"ajax\\\",\\\"waiting\\\",\\\"delay\\\",\\\"加載中\\\",\\\"載入中\\\",\\\"正在加載\\\"],\\\"loader-5\\\":[\\\"loader\\\",\\\"spinner\\\",\\\"ajax\\\",\\\"waiting\\\",\\\"delay\\\",\\\"加載中\\\",\\\"載入中\\\",\\\"正在加載\\\"],\\\"external-link\\\":[\\\"外链\\\"]},\\\"User&Faces\\\":{\\\"user\\\":[\\\"用户\\\"],\\\"user-2\\\":[\\\"用户\\\"],\\\"user-3\\\":[\\\"用户\\\"],\\\"user-4\\\":[\\\"用户\\\"],\\\"user-5\\\":[\\\"用户\\\"],\\\"user-6\\\":[\\\"用户\\\"],\\\"user-smile\\\":[\\\"用户\\\",\\\"微笑\\\"],\\\"account-box\\\":[\\\"用户\\\",\\\"账户\\\"],\\\"account-circle\\\":[\\\"用户\\\",\\\"账户\\\"],\\\"account-pin-box\\\":[\\\"用户\\\",\\\"账户\\\"],\\\"account-pin-circle\\\":[\\\"用户\\\",\\\"账户\\\"],\\\"user-add\\\":[\\\"用户\\\",\\\"添加\\\",\\\"新增\\\"],\\\"user-follow\\\":[\\\"关注\\\"],\\\"user-unfollow\\\":[\\\"用户\\\",\\\"取消关注\\\"],\\\"user-shared\\\":[\\\"transfer\\\",\\\"用户\\\",\\\"我分享的\\\",\\\"发送\\\"],\\\"user-shared-2\\\":[\\\"transfer\\\",\\\"用户\\\",\\\"我分享的\\\",\\\"发送\\\"],\\\"user-received\\\":[\\\"用户\\\",\\\"我接收的\\\",\\\"收取\\\"],\\\"user-received-2\\\":[\\\"用户\\\",\\\"我接收的\\\",\\\"收取\\\"],\\\"user-location\\\":[\\\"用户\\\",\\\"定位\\\"],\\\"user-search\\\":[\\\"用户\\\",\\\"查找\\\"],\\\"user-settings\\\":[\\\"admin\\\",\\\"用户\\\",\\\"设置\\\",\\\"管理员\\\"],\\\"user-star\\\":[\\\"用户\\\",\\\"关注\\\"],\\\"user-heart\\\":[\\\"用户\\\",\\\"关注\\\"],\\\"admin\\\":[\\\"admin\\\",\\\"用户\\\",\\\"管理员\\\"],\\\"contacts\\\":[\\\"联系人\\\"],\\\"group\\\":[\\\"team\\\",\\\"团队\\\",\\\"群组\\\"],\\\"group-2\\\":[\\\"team\\\",\\\"团队\\\",\\\"群组\\\"],\\\"team\\\":[\\\"团队\\\",\\\"小组\\\",\\\"群主\\\"],\\\"user-voice\\\":[\\\"用户\\\",\\\"录音\\\",\\\"演讲\\\"],\\\"emotion\\\":[\\\"表情\\\",\\\"笑脸\\\"],\\\"emotion-2\\\":[\\\"表情\\\",\\\"笑脸\\\"],\\\"emotion-happy\\\":[\\\"表情\\\",\\\"开心\\\"],\\\"emotion-normal\\\":[\\\"表情\\\",\\\"一般\\\"],\\\"emotion-unhappy\\\":[\\\"表情\\\",\\\"不开心\\\"],\\\"emotion-laugh\\\":[\\\"comedy\\\",\\\"happy\\\",\\\"表情\\\",\\\"大笑\\\",\\\"笑脸\\\",\\\"开心\\\",\\\"喜剧\\\"],\\\"emotion-sad\\\":[\\\"drama\\\",\\\"tears\\\",\\\"悲剧\\\",\\\"哭泣\\\",\\\"泪\\\"],\\\"skull\\\":[\\\"ghost\\\",\\\"骷髅\\\",\\\"鬼怪\\\"],\\\"skull-2\\\":[\\\"ghost\\\",\\\"horror\\\",\\\"thriller\\\",\\\"骷髅\\\",\\\"鬼怪\\\",\\\"恐惧\\\",\\\"恐怖\\\"],\\\"men\\\":[\\\"gender\\\",\\\"man\\\",\\\"male\\\",\\\"男人\\\",\\\"男性\\\"],\\\"women\\\":[\\\"gender\\\",\\\"woman\\\",\\\"female\\\",\\\"女人\\\",\\\"女性\\\"],\\\"travesti\\\":[\\\"女人\\\",\\\"女性\\\"],\\\"genderless\\\":[\\\"女人\\\",\\\"女性\\\"],\\\"open-arm\\\":[\\\"张开双臂\\\"],\\\"body-scan\\\":[\\\"gesture recognition\\\",\\\"body\\\",\\\"扫描身体\\\",\\\"体态识别\\\",\\\"动作之别\\\",\\\"手势识别\\\"],\\\"parent\\\":[\\\"patriarch\\\",\\\"父母\\\",\\\"亲子\\\",\\\"家长\\\"],\\\"robot\\\":[\\\"mechanic\\\",\\\"机器人\\\"],\\\"aliens\\\":[\\\"science fiction\\\",\\\"ET\\\",\\\"外星人\\\",\\\"科幻小说\\\"],\\\"bear-smile\\\":[\\\"cartoon\\\",\\\"anime\\\",\\\"cartoon\\\",\\\"小熊\\\",\\\"微笑\\\",\\\"儿童\\\",\\\"动画片\\\",\\\"卡通\\\",\\\"动漫\\\"],\\\"mickey\\\":[\\\"cartoon\\\",\\\"disney\\\",\\\"迪士尼\\\",\\\"米老鼠\\\",\\\"微笑\\\",\\\"儿童\\\",\\\"动画片\\\"],\\\"criminal\\\":[\\\"horror\\\",\\\"thriller\\\",\\\"罪犯\\\",\\\"犯罪\\\",\\\"恐怖\\\"],\\\"ghost\\\":[\\\"horror\\\",\\\"thriller\\\",\\\"鬼怪\\\",\\\"恐怖\\\",\\\"恐惧\\\"],\\\"ghost-2\\\":[\\\"horror\\\",\\\"鬼怪\\\",\\\"恐怖\\\",\\\"恐惧\\\"],\\\"ghost-smile\\\":[\\\"鬼怪\\\",\\\"笑\\\"],\\\"star-smile\\\":[\\\"animation\\\",\\\"动画\\\",\\\"微笑\\\",\\\"星星\\\"],\\\"spy\\\":[\\\"incognito mode\\\",\\\"detective\\\",\\\"secret\\\",\\\"间谍\\\",\\\"侦探\\\",\\\"无痕模式\\\",\\\"隐私模式\\\"]},\\\"Weather\\\":{\\\"sun\\\":[\\\"light mode\\\",\\\"sunny\\\",\\\"太阳\\\",\\\"白天模式\\\",\\\"晴天\\\"],\\\"moon\\\":[\\\"dark mode\\\",\\\"night\\\",\\\"月亮\\\",\\\"夜间模式\\\",\\\"月牙\\\"],\\\"flashlight\\\":[\\\"闪电\\\"],\\\"cloudy\\\":[\\\"多云\\\"],\\\"cloudy-2\\\":[\\\"多云\\\"],\\\"mist\\\":[\\\"雾气\\\",\\\"雾霾\\\"],\\\"foggy\\\":[\\\"大雾\\\"],\\\"cloud-windy\\\":[\\\"风\\\"],\\\"windy\\\":[\\\"大风\\\",\\\"刮风\\\"],\\\"rainy\\\":[\\\"下雨\\\",\\\"雨天\\\"],\\\"drizzle\\\":[\\\"小雨\\\"],\\\"showers\\\":[\\\"中雨\\\"],\\\"heavy-showers\\\":[\\\"大雨\\\"],\\\"thunderstorms\\\":[\\\"雷暴\\\",\\\"雷阵雨\\\"],\\\"hail\\\":[\\\"冰雹\\\"],\\\"snowy\\\":[\\\"下雪\\\",\\\"雪天\\\"],\\\"sun-cloudy\\\":[\\\"晴转多云\\\"],\\\"moon-cloudy\\\":[\\\"夜间多云\\\"],\\\"tornado\\\":[\\\"龙卷风\\\"],\\\"typhoon\\\":[\\\"cyclone\\\",\\\"tornado\\\",\\\"龙卷风\\\",\\\"旋风\\\",\\\"台风\\\"],\\\"haze\\\":[\\\"阴霾\\\",\\\"薄雾\\\"],\\\"haze-2\\\":[\\\"阴霾\\\",\\\"薄雾\\\"],\\\"sun-foggy\\\":[\\\"薄雾\\\"],\\\"moon-foggy\\\":[\\\"薄雾\\\"],\\\"moon-clear\\\":[\\\"夜间模式\\\",\\\"夜间无云\\\"],\\\"temp-hot\\\":[\\\"temperature\\\",\\\"温度\\\",\\\"高温\\\",\\\"热\\\"],\\\"temp-cold\\\":[\\\"temperature\\\",\\\"温度\\\",\\\"低温\\\",\\\"冷\\\"],\\\"celsius\\\":[\\\"temperature\\\",\\\"温度\\\",\\\"摄氏度\\\"],\\\"fahrenheit\\\":[\\\"temperature\\\",\\\"温度\\\",\\\"华氏度\\\"],\\\"fire\\\":[\\\"hot\\\",\\\"火\\\",\\\"热门\\\"],\\\"blaze\\\":[\\\"火灾\\\"],\\\"earthquake\\\":[\\\"地震\\\"],\\\"flood\\\":[\\\"洪水\\\"],\\\"meteor\\\":[\\\"流星\\\",\\\"陨石\\\"],\\\"rainbow\\\":[\\\"彩虹\\\"]},\\\"Others\\\":{\\\"basketball\\\":[\\\"sports\\\",\\\"运动\\\",\\\"篮球\\\"],\\\"bell\\\":[\\\"cartoon\\\",\\\"anime\\\",\\\"doraemon\\\",\\\"铃铛\\\",\\\"哆啦A梦\\\",\\\"卡通\\\",\\\"动漫\\\"],\\\"billiards\\\":[\\\"sports\\\",\\\"运动\\\",\\\"台球\\\",\\\"8\\\"],\\\"boxing\\\":[\\\"sports\\\",\\\"运动\\\",\\\"拳击\\\"],\\\"cake\\\":[\\\"anniversary\\\",\\\"蛋糕\\\"],\\\"cake-2\\\":[\\\"anniversary\\\",\\\"蛋糕\\\"],\\\"cake-3\\\":[\\\"蛋糕\\\"],\\\"door-lock\\\":[\\\"门锁\\\"],\\\"door-lock-box\\\":[\\\"门锁\\\"],\\\"football\\\":[\\\"sports\\\",\\\"运动\\\",\\\"足球\\\"],\\\"game\\\":[\\\"pac man\\\",\\\"游戏\\\",\\\"吃豆人\\\"],\\\"handbag\\\":[\\\"fashion\\\",\\\"时尚\\\",\\\"手提包\\\",\\\"女包\\\"],\\\"key\\\":[\\\"password\\\",\\\"钥匙\\\",\\\"密码\\\"],\\\"key-2\\\":[\\\"password\\\",\\\"钥匙\\\",\\\"密码\\\"],\\\"knife\\\":[\\\"刀\\\"],\\\"knife-blood\\\":[\\\"crime\\\",\\\"刀\\\",\\\"犯罪\\\",\\\"血\\\",\\\"杀人\\\"],\\\"lightbulb\\\":[\\\"energy\\\",\\\"creativity\\\",\\\"灯泡\\\",\\\"能源\\\"],\\\"lightbulb-flash\\\":[\\\"energy\\\",\\\"creativity\\\",\\\"灯泡\\\",\\\"能源\\\",\\\"闪电\\\"],\\\"outlet\\\":[\\\"插座\\\"],\\\"outlet-2\\\":[\\\"插座\\\"],\\\"ping-pong\\\":[\\\"sports\\\",\\\"table tennis\\\",\\\"运动\\\",\\\"乒乓球\\\"],\\\"plug\\\":[\\\"二脚插头\\\"],\\\"plug-2\\\":[\\\"三脚插头\\\"],\\\"reserved\\\":[\\\"已预定\\\"],\\\"shirt\\\":[\\\"clothes\\\",\\\"衬衫\\\",\\\"衣服\\\"],\\\"sword\\\":[\\\"war\\\",\\\"刀剑\\\",\\\"战争\\\",\\\"战斗\\\",\\\"玄幻\\\"],\\\"t-shirt\\\":[\\\"skin\\\",\\\"theme\\\",\\\"T恤\\\",\\\"皮肤\\\",\\\"主题\\\"],\\\"t-shirt-2\\\":[\\\"skin\\\",\\\"theme\\\",\\\"T恤\\\",\\\"皮肤\\\",\\\"主题\\\"],\\\"t-shirt-air\\\":[\\\"dry\\\",\\\"T恤\\\",\\\"风干\\\",\\\"烘干\\\"],\\\"umbrella\\\":[\\\"protect\\\",\\\"雨伞\\\",\\\"保护\\\"],\\\"character-recognition\\\":[\\\"ocr\\\",\\\"文字识别\\\"],\\\"voice-recognition\\\":[\\\"asr\\\",\\\"语音识别\\\"],\\\"leaf\\\":[\\\"energy\\\",\\\"ecology\\\",\\\"树叶\\\",\\\"节能\\\",\\\"环保\\\",\\\"语音识别\\\"],\\\"plant\\\":[\\\"植物\\\"],\\\"seedling\\\":[\\\"树苗\\\",\\\"植物\\\"],\\\"recycle\\\":[\\\"recyclable\\\",\\\"可回收\\\"],\\\"scales\\\":[\\\"balance\\\",\\\"称\\\",\\\"天平\\\",\\\"天秤\\\"],\\\"scales-2\\\":[\\\"厨房称\\\"],\\\"scales-3\\\":[\\\"balance\\\",\\\"称\\\",\\\"天平\\\",\\\"天秤\\\"],\\\"fridge\\\":[\\\"refrigerator\\\",\\\"电冰箱\\\"],\\\"wheelchair\\\":[\\\"accessbility\\\",\\\"轮椅\\\",\\\"可访问性\\\",\\\"辅助功能\\\"],\\\"cactus\\\":[\\\"desertr\\\",\\\"仙人掌\\\",\\\"沙漠\\\"],\\\"door\\\":[\\\"门\\\"],\\\"door-open\\\":[\\\"开门\\\"],\\\"door-closed\\\":[\\\"关门\\\"]}}\");\n\n//# sourceURL=webpack:///./src/components/IconPicker/remix.json?");

/***/ }),

/***/ "./src/components/ImagePreview/index.vue":
/*!***********************************************!*\
  !*** ./src/components/ImagePreview/index.vue ***!
  \***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_4b9dcf40_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=4b9dcf40&scoped=true& */ \"./src/components/ImagePreview/index.vue?vue&type=template&id=4b9dcf40&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/ImagePreview/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_4b9dcf40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true& */ \"./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_4b9dcf40_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_4b9dcf40_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"4b9dcf40\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ImagePreview/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?");

/***/ }),

/***/ "./src/components/ImagePreview/index.vue?vue&type=script&lang=js&":
/*!************************************************************************!*\
  !*** ./src/components/ImagePreview/index.vue?vue&type=script&lang=js& ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?");

/***/ }),

/***/ "./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true&":
/*!*********************************************************************************************************!*\
  !*** ./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true& ***!
  \*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b9dcf40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=style&index=0&id=4b9dcf40&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b9dcf40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b9dcf40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b9dcf40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b9dcf40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?");

/***/ }),

/***/ "./src/components/ImagePreview/index.vue?vue&type=template&id=4b9dcf40&scoped=true&":
/*!******************************************************************************************!*\
  !*** ./src/components/ImagePreview/index.vue?vue&type=template&id=4b9dcf40&scoped=true& ***!
  \******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_4b9dcf40_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=4b9dcf40&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagePreview/index.vue?vue&type=template&id=4b9dcf40&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_4b9dcf40_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_4b9dcf40_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/ImagePreview/index.vue?");

/***/ }),

/***/ "./src/components/ImageUpload/index.vue":
/*!**********************************************!*\
  !*** ./src/components/ImageUpload/index.vue ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_82a94682_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=82a94682&scoped=true& */ \"./src/components/ImageUpload/index.vue?vue&type=template&id=82a94682&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/ImageUpload/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_82a94682_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true& */ \"./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_82a94682_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_82a94682_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"82a94682\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ImageUpload/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImageUpload/index.vue?vue&type=script&lang=js&":
/*!***********************************************************************!*\
  !*** ./src/components/ImageUpload/index.vue?vue&type=script&lang=js& ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true&":
/*!********************************************************************************************************!*\
  !*** ./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true& ***!
  \********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_82a94682_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=style&index=0&id=82a94682&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_82a94682_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_82a94682_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_82a94682_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_82a94682_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImageUpload/index.vue?vue&type=template&id=82a94682&scoped=true&":
/*!*****************************************************************************************!*\
  !*** ./src/components/ImageUpload/index.vue?vue&type=template&id=82a94682&scoped=true& ***!
  \*****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_82a94682_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=82a94682&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImageUpload/index.vue?vue&type=template&id=82a94682&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_82a94682_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_82a94682_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/ImageUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImagesUpload/index.vue":
/*!***********************************************!*\
  !*** ./src/components/ImagesUpload/index.vue ***!
  \***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_6e0b63e8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=6e0b63e8&scoped=true& */ \"./src/components/ImagesUpload/index.vue?vue&type=template&id=6e0b63e8&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/ImagesUpload/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_6e0b63e8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true& */ \"./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_6e0b63e8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_6e0b63e8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"6e0b63e8\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ImagesUpload/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImagesUpload/index.vue?vue&type=script&lang=js&":
/*!************************************************************************!*\
  !*** ./src/components/ImagesUpload/index.vue?vue&type=script&lang=js& ***!
  \************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true&":
/*!*********************************************************************************************************!*\
  !*** ./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true& ***!
  \*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6e0b63e8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=style&index=0&id=6e0b63e8&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6e0b63e8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6e0b63e8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6e0b63e8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6e0b63e8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?");

/***/ }),

/***/ "./src/components/ImagesUpload/index.vue?vue&type=template&id=6e0b63e8&scoped=true&":
/*!******************************************************************************************!*\
  !*** ./src/components/ImagesUpload/index.vue?vue&type=template&id=6e0b63e8&scoped=true& ***!
  \******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_6e0b63e8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=6e0b63e8&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ImagesUpload/index.vue?vue&type=template&id=6e0b63e8&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_6e0b63e8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_6e0b63e8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/ImagesUpload/index.vue?");

/***/ }),

/***/ "./src/components/PageHeader/index.vue":
/*!*********************************************!*\
  !*** ./src/components/PageHeader/index.vue ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_944088a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=944088a2&scoped=true& */ \"./src/components/PageHeader/index.vue?vue&type=template&id=944088a2&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/PageHeader/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_944088a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true& */ \"./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_944088a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_944088a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"944088a2\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/PageHeader/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?");

/***/ }),

/***/ "./src/components/PageHeader/index.vue?vue&type=script&lang=js&":
/*!**********************************************************************!*\
  !*** ./src/components/PageHeader/index.vue?vue&type=script&lang=js& ***!
  \**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?");

/***/ }),

/***/ "./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true&":
/*!*******************************************************************************************************!*\
  !*** ./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true& ***!
  \*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_944088a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=style&index=0&id=944088a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_944088a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_944088a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_944088a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_944088a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?");

/***/ }),

/***/ "./src/components/PageHeader/index.vue?vue&type=template&id=944088a2&scoped=true&":
/*!****************************************************************************************!*\
  !*** ./src/components/PageHeader/index.vue?vue&type=template&id=944088a2&scoped=true& ***!
  \****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_944088a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=944088a2&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageHeader/index.vue?vue&type=template&id=944088a2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_944088a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_944088a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/PageHeader/index.vue?");

/***/ }),

/***/ "./src/components/PageMain/index.vue":
/*!*******************************************!*\
  !*** ./src/components/PageMain/index.vue ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_4b45bd9b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=4b45bd9b&scoped=true& */ \"./src/components/PageMain/index.vue?vue&type=template&id=4b45bd9b&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/PageMain/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_4b45bd9b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true& */ \"./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_4b45bd9b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_4b45bd9b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"4b45bd9b\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/PageMain/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?");

/***/ }),

/***/ "./src/components/PageMain/index.vue?vue&type=script&lang=js&":
/*!********************************************************************!*\
  !*** ./src/components/PageMain/index.vue?vue&type=script&lang=js& ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?");

/***/ }),

/***/ "./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true&":
/*!*****************************************************************************************************!*\
  !*** ./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true& ***!
  \*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b45bd9b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=style&index=0&id=4b45bd9b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b45bd9b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b45bd9b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b45bd9b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4b45bd9b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?");

/***/ }),

/***/ "./src/components/PageMain/index.vue?vue&type=template&id=4b45bd9b&scoped=true&":
/*!**************************************************************************************!*\
  !*** ./src/components/PageMain/index.vue?vue&type=template&id=4b45bd9b&scoped=true& ***!
  \**************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_4b45bd9b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=4b45bd9b&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PageMain/index.vue?vue&type=template&id=4b45bd9b&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_4b45bd9b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_4b45bd9b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/PageMain/index.vue?");

/***/ }),

/***/ "./src/components/Result/index.vue":
/*!*****************************************!*\
  !*** ./src/components/Result/index.vue ***!
  \*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_16a5d090_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=16a5d090&scoped=true& */ \"./src/components/Result/index.vue?vue&type=template&id=16a5d090&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/Result/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_16a5d090_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true& */ \"./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_16a5d090_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_16a5d090_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"16a5d090\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Result/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?");

/***/ }),

/***/ "./src/components/Result/index.vue?vue&type=script&lang=js&":
/*!******************************************************************!*\
  !*** ./src/components/Result/index.vue?vue&type=script&lang=js& ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/Result/index.vue?");

/***/ }),

/***/ "./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true&":
/*!***************************************************************************************************!*\
  !*** ./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true& ***!
  \***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_16a5d090_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=style&index=0&id=16a5d090&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_16a5d090_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_16a5d090_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_16a5d090_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_16a5d090_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?");

/***/ }),

/***/ "./src/components/Result/index.vue?vue&type=template&id=16a5d090&scoped=true&":
/*!************************************************************************************!*\
  !*** ./src/components/Result/index.vue?vue&type=template&id=16a5d090&scoped=true& ***!
  \************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_16a5d090_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=16a5d090&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Result/index.vue?vue&type=template&id=16a5d090&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_16a5d090_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_16a5d090_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/Result/index.vue?");

/***/ }),

/***/ "./src/components/SearchBar/index.vue":
/*!********************************************!*\
  !*** ./src/components/SearchBar/index.vue ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_673b0be4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=673b0be4&scoped=true& */ \"./src/components/SearchBar/index.vue?vue&type=template&id=673b0be4&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/SearchBar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_673b0be4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true& */ \"./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_673b0be4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_673b0be4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"673b0be4\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/SearchBar/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?");

/***/ }),

/***/ "./src/components/SearchBar/index.vue?vue&type=script&lang=js&":
/*!*********************************************************************!*\
  !*** ./src/components/SearchBar/index.vue?vue&type=script&lang=js& ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?");

/***/ }),

/***/ "./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true&":
/*!******************************************************************************************************!*\
  !*** ./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true& ***!
  \******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_673b0be4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=style&index=0&id=673b0be4&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_673b0be4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_673b0be4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_673b0be4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_673b0be4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?");

/***/ }),

/***/ "./src/components/SearchBar/index.vue?vue&type=template&id=673b0be4&scoped=true&":
/*!***************************************************************************************!*\
  !*** ./src/components/SearchBar/index.vue?vue&type=template&id=673b0be4&scoped=true& ***!
  \***************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_673b0be4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=673b0be4&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SearchBar/index.vue?vue&type=template&id=673b0be4&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_673b0be4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_673b0be4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/SearchBar/index.vue?");

/***/ }),

/***/ "./src/components/SpinkitLoading/index.js":
/*!************************************************!*\
  !*** ./src/components/SpinkitLoading/index.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\n\n\nvar component = __webpack_require__(/*! ./main.vue */ \"./src/components/SpinkitLoading/main.vue\").default;\n\nvar constructor = vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(component);\nvar instance;\n\nvar spinkitLoading = function spinkitLoading(options) {\n  options = options || {};\n  instance = new constructor({\n    data: options\n  });\n  instance.vm = instance.$mount();\n  instance.dom = instance.vm.$el;\n  document.body.appendChild(instance.dom);\n  instance.show = true;\n  return instance.vm;\n};\n\nvar SpinkitLoadingClose = function SpinkitLoadingClose() {\n  instance.show = false;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  install: function install(Vue) {\n    Vue.prototype[\"$\".concat(component.name)] = spinkitLoading;\n    Vue.prototype[\"$\".concat(component.name)].close = SpinkitLoadingClose;\n  }\n});\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/index.js?");

/***/ }),

/***/ "./src/components/SpinkitLoading/main.vue":
/*!************************************************!*\
  !*** ./src/components/SpinkitLoading/main.vue ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _main_vue_vue_type_template_id_5bcdbe20_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./main.vue?vue&type=template&id=5bcdbe20&scoped=true& */ \"./src/components/SpinkitLoading/main.vue?vue&type=template&id=5bcdbe20&scoped=true&\");\n/* harmony import */ var _main_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./main.vue?vue&type=script&lang=js& */ \"./src/components/SpinkitLoading/main.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _main_vue_vue_type_style_index_0_id_5bcdbe20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true& */ \"./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _main_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _main_vue_vue_type_template_id_5bcdbe20_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _main_vue_vue_type_template_id_5bcdbe20_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"5bcdbe20\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/SpinkitLoading/main.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?");

/***/ }),

/***/ "./src/components/SpinkitLoading/main.vue?vue&type=script&lang=js&":
/*!*************************************************************************!*\
  !*** ./src/components/SpinkitLoading/main.vue?vue&type=script&lang=js& ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./main.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?");

/***/ }),

/***/ "./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true&":
/*!**********************************************************************************************************!*\
  !*** ./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true& ***!
  \**********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_5bcdbe20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=style&index=0&id=5bcdbe20&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_5bcdbe20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_5bcdbe20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_5bcdbe20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_5bcdbe20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?");

/***/ }),

/***/ "./src/components/SpinkitLoading/main.vue?vue&type=template&id=5bcdbe20&scoped=true&":
/*!*******************************************************************************************!*\
  !*** ./src/components/SpinkitLoading/main.vue?vue&type=template&id=5bcdbe20&scoped=true& ***!
  \*******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_template_id_5bcdbe20_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./main.vue?vue&type=template&id=5bcdbe20&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SpinkitLoading/main.vue?vue&type=template&id=5bcdbe20&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_template_id_5bcdbe20_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_template_id_5bcdbe20_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/SpinkitLoading/main.vue?");

/***/ }),

/***/ "./src/components/SvgIcon/index.vue":
/*!******************************************!*\
  !*** ./src/components/SvgIcon/index.vue ***!
  \******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_c8a70580_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=c8a70580&scoped=true& */ \"./src/components/SvgIcon/index.vue?vue&type=template&id=c8a70580&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/SvgIcon/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_c8a70580_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css& */ \"./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_c8a70580_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_c8a70580_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"c8a70580\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/SvgIcon/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?");

/***/ }),

/***/ "./src/components/SvgIcon/index.vue?vue&type=script&lang=js&":
/*!*******************************************************************!*\
  !*** ./src/components/SvgIcon/index.vue?vue&type=script&lang=js& ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?");

/***/ }),

/***/ "./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css&":
/*!***************************************************************************************************!*\
  !*** ./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css& ***!
  \***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c8a70580_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=style&index=0&id=c8a70580&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c8a70580_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c8a70580_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c8a70580_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c8a70580_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?");

/***/ }),

/***/ "./src/components/SvgIcon/index.vue?vue&type=template&id=c8a70580&scoped=true&":
/*!*************************************************************************************!*\
  !*** ./src/components/SvgIcon/index.vue?vue&type=template&id=c8a70580&scoped=true& ***!
  \*************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_c8a70580_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=c8a70580&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SvgIcon/index.vue?vue&type=template&id=c8a70580&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_c8a70580_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_c8a70580_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/SvgIcon/index.vue?");

/***/ }),

/***/ "./src/components/Trend/index.vue":
/*!****************************************!*\
  !*** ./src/components/Trend/index.vue ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_7925d3e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=7925d3e0&scoped=true& */ \"./src/components/Trend/index.vue?vue&type=template&id=7925d3e0&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/components/Trend/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_7925d3e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true& */ \"./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_7925d3e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_7925d3e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"7925d3e0\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Trend/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?");

/***/ }),

/***/ "./src/components/Trend/index.vue?vue&type=script&lang=js&":
/*!*****************************************************************!*\
  !*** ./src/components/Trend/index.vue?vue&type=script&lang=js& ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?");

/***/ }),

/***/ "./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true&":
/*!**************************************************************************************************!*\
  !*** ./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true& ***!
  \**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7925d3e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=style&index=0&id=7925d3e0&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7925d3e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7925d3e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7925d3e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_7925d3e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?");

/***/ }),

/***/ "./src/components/Trend/index.vue?vue&type=template&id=7925d3e0&scoped=true&":
/*!***********************************************************************************!*\
  !*** ./src/components/Trend/index.vue?vue&type=template&id=7925d3e0&scoped=true& ***!
  \***********************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7925d3e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=7925d3e0&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Trend/index.vue?vue&type=template&id=7925d3e0&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7925d3e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7925d3e0_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/Trend/index.vue?");

/***/ }),

/***/ "./src/components/autoRegister.js":
/*!****************************************!*\
  !*** ./src/components/autoRegister.js ***!
  \****************************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n\n\n\n\n\n\n\n/**\r\n * 全局组件自动注册\r\n *\r\n * 全局组件各个组件按文件夹区分，文件夹名称与组件名无关联，但建议与组件名保持一致\r\n * 文件夹内至少保留一个文件名为 index 的组件入口，例如 index.vue\r\n * 普通组件必须设置 name 并保证其唯一，自动注册会将组件的 name 设为组件名，可参考 SvgIcon 组件写法\r\n * 如果组件是通过 js 进行调用，则确保组件入口文件为 index.js，可参考 ExampleNotice 组件\r\n */\n\n\nvar componentsContext = __webpack_require__(\"./src/components sync recursive index.(vue|js)$\");\n\ncomponentsContext.keys().forEach(function (file_name) {\n  // 获取文件中的 default 模块\n  var componentConfig = componentsContext(file_name).default;\n\n  if (/.vue$/.test(file_name)) {\n    vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].component(componentConfig.name, componentConfig);\n  } else {\n    vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].use(componentConfig);\n  }\n});\n\n//# sourceURL=webpack:///./src/components/autoRegister.js?");

/***/ }),

/***/ "./src/lang/index.js":
/*!***************************!*\
  !*** ./src/lang/index.js ***!
  \***************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var vue_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-i18n */ \"./node_modules/vue-i18n/dist/vue-i18n.esm.js\");\n/* harmony import */ var element_ui_lib_locale_lang_zh_CN__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-ui/lib/locale/lang/zh-CN */ \"./node_modules/element-ui/lib/locale/lang/zh-CN.js\");\n/* harmony import */ var element_ui_lib_locale_lang_zh_CN__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale_lang_zh_CN__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var element_ui_lib_locale_lang_zh_TW__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! element-ui/lib/locale/lang/zh-TW */ \"./node_modules/element-ui/lib/locale/lang/zh-TW.js\");\n/* harmony import */ var element_ui_lib_locale_lang_zh_TW__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale_lang_zh_TW__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! element-ui/lib/locale/lang/en */ \"./node_modules/element-ui/lib/locale/lang/en.js\");\n/* harmony import */ var element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _packages_zh_CN__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./packages/zh-CN */ \"./src/lang/packages/zh-CN.js\");\n/* harmony import */ var _packages_zh_TW__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./packages/zh-TW */ \"./src/lang/packages/zh-TW.js\");\n/* harmony import */ var _packages_en__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./packages/en */ \"./src/lang/packages/en.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/store */ \"./src/store/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_5__[\"default\"].use(vue_i18n__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\nvar messages = {\n  'zh-CN': Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, element_ui_lib_locale_lang_zh_CN__WEBPACK_IMPORTED_MODULE_7___default.a), _packages_zh_CN__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n  'tc': Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, element_ui_lib_locale_lang_zh_TW__WEBPACK_IMPORTED_MODULE_8___default.a), _packages_zh_TW__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n  'en': Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_9___default.a), _packages_en__WEBPACK_IMPORTED_MODULE_12__[\"default\"])\n};\n\nif (!_store__WEBPACK_IMPORTED_MODULE_13__[\"default\"].state.settings.defaultLang) {\n  var lang = navigator.language || navigator.browserLanguage;\n  Object.keys(messages).map(function (key) {\n    lang.includes(key) && _store__WEBPACK_IMPORTED_MODULE_13__[\"default\"].commit('settings/setDefaultLang', key);\n  });\n}\n\nvar i18n = new vue_i18n__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n  silentTranslationWarn: true,\n  fallbackLocale: 'tc',\n  locale: _store__WEBPACK_IMPORTED_MODULE_13__[\"default\"].state.settings.defaultLang,\n  messages: messages\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (i18n);\n\n//# sourceURL=webpack:///./src/lang/index.js?");

/***/ }),

/***/ "./src/lang/packages/en.js":
/*!*********************************!*\
  !*** ./src/lang/packages/en.js ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\n\nvar _app;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  app: (_app = {\n    logoname: 'THE ALLEY',\n    profile: 'Profile',\n    login: 'Login',\n    Loading: 'Loading',\n    logout: 'Logout',\n    Bindmembershiplevel: 'Bind membership level',\n    account: 'Account',\n    starttime: 'start time',\n    Endtime: 'End time',\n    password: 'Password',\n    removetheshelf: 'Are you sure to remove the shelf？',\n    captcha: 'Captcha',\n    price: 'price',\n    Recommendedornot: 'Recommended or not',\n    label: 'label',\n    sendCaptcha: 'Send captcha',\n    newPassword: 'New password',\n    picture: 'picture',\n    Cover: 'Cover',\n    Lowershelf: 'Lower shelf commodity',\n    yes: 'yes',\n    no: 'no',\n    Suspendsales: 'Suspend sales',\n    goLogin: 'Go login',\n    Startdate: 'Start date',\n    Enddate: 'End date',\n    check: 'Submit',\n    Suggestedpicturesize: 'Suggested picture size',\n    nickname: 'Nick name',\n    ExportData: 'Export Data',\n    Sales: 'Sales',\n    date: 'date',\n    Totalsales: 'Total sales',\n    Listorder: 'List of order',\n    Classificationname: 'Classification name',\n    OrderTime: 'Order time',\n    Putaway: 'Putaway commodity',\n    ProductManagement: 'Product Management',\n    fixture: 'Order Time',\n    Notice: 'Notice',\n    Systempush: 'Latest news',\n    money: 'Money',\n    state: 'State',\n    originalprice: 'original price',\n    subtitle: 'subtitle',\n    ordernumber: 'Order number',\n    stock: 'stock',\n    phone: 'Phone',\n    edit: 'Edit',\n    add: 'Add to',\n    Selling: 'Selling',\n    Levels1: 'Levels 1',\n    Levels2: 'Levels 2',\n    Levels3: 'Levels 3',\n    Levels4: 'Levels 4',\n    Levels5: 'Levels 5',\n    Levels6: 'Levels 6',\n    Levels7: 'Levels 7',\n    Levels8: 'Levels 8',\n    Levels9: 'Levels 9',\n    Levels10: 'Levels 10',\n    datastatistics: 'Data statistics',\n    accountmanagement: 'Account management',\n    Memberpush: 'Member push',\n    Salesstatistics: 'Sales Report',\n    THEALLEY: 'THE ALLEY',\n    headportrait: 'Head portrait',\n    Tradename: 'Trade name',\n    Purchaserecord: 'Purchase record',\n    operation: 'Operation',\n    normal: 'Normal',\n    Deactivate: 'Deactivate',\n    accountnumber: 'Phone Number',\n    Viewdetails: 'View details',\n    push: 'Push',\n    Consumptionamount: 'Consumption amount',\n    balance: 'balance',\n    PermissionSettings: 'Permission',\n    CommodityMap: 'Commodity Map',\n    Disable: 'Disable',\n    Enable: 'Enable',\n    cancel: 'cancel',\n    Pushcontent: 'Push content',\n    Registrationtime: 'Registration time',\n    securitysetting: 'Security setting',\n    Accountpassword: 'Account password',\n    Budgetrevenue: 'Budget revenue',\n    realincome: 'Real income',\n    Monthlysales: 'Monthly sales',\n    Englishversion: 'English version',\n    Commoditymanagement: 'Commodity management',\n    tip1: 'The title and content cannot be empty',\n    Newproducts: 'New products',\n    Openingtime: 'Opening time',\n    Closingtime: 'Closing time',\n    delete: 'delete',\n    todelete: 'Are you sure to delete',\n    OrderRemarks: 'Notes',\n    Outerchain: 'Outer chain',\n    tips: 'Account or nickname cannot be empty',\n    Numberofcommodities: 'Order Quantity',\n    Completiontime: 'Completion time',\n    whole: 'All',\n    Unpaid: 'Unpaid',\n    Tobeserved: 'Take Orders',\n    Tobepickedup: 'Ready',\n    Completed: 'Completed',\n    Pickupmealcode: 'Order Number',\n    CommodityDetails: 'Order Details',\n    Details: 'Details',\n    title: 'title',\n    Specifications: 'Specifications',\n    Creationtime: 'Creation time',\n    Newaccount: 'New account'\n  }, Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"Memberpush\", 'Member push'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"success\", 'success'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"Rememberme\", 'Remember me'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"editing\", 'Please start editing'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"Managebackground\", 'THE ALLEY Merchant background'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"Sorry\", 'Sorry, the page you visited does not exist'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"later\", 'Seconds later, return to the home page'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"f\", 'zh-TW'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"e\", 'English'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"amount\", 'Amount'), Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_app, \"ToppingManagement\", 'Topping Management'), _app),\n  route: {\n    login: 'Login',\n    dashboard: 'Dashboard',\n    personal: {\n      setting: 'Personal Setting',\n      editpassword: 'Edit Password'\n    },\n    i18n: 'I18N'\n  }\n});\n\n//# sourceURL=webpack:///./src/lang/packages/en.js?");

/***/ }),

/***/ "./src/lang/packages/zh-CN.js":
/*!************************************!*\
  !*** ./src/lang/packages/zh-CN.js ***!
  \************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  app: {\n    profile: '个人设置',\n    login: '登 录',\n    logout: '退出登录',\n    account: '用户名',\n    password: '密码',\n    captcha: '验证码',\n    sendCaptcha: '发送验证码',\n    newPassword: '新密码',\n    goLogin: '去登录',\n    check: '确 认',\n    nickname: '昵称',\n    Listorder: '订单列表',\n    OrderTime: '下单时间',\n    fixture: '成交时间',\n    money: '金额',\n    state: '状态',\n    ordernumber: '订单号',\n    phone: '手机',\n    edit: '编辑',\n    add: '添加',\n    datastatistics: '数据统计',\n    accountmanagement: '账号管理',\n    Memberpush: '会员推播',\n    Salesstatistics: '销售统计',\n    THEALLEY: '鹿角巷',\n    headportrait: '头像',\n    Tradename: '商品名称',\n    Purchaserecord: '购买记录',\n    operation: '操作',\n    normal: '正常',\n    Deactivate: '停用',\n    accountnumber: '账号',\n    Viewdetails: '查看详情',\n    push: '推送',\n    Consumptionamount: '消费金额',\n    balance: '余额',\n    PermissionSettings: '权限设置',\n    CommodityMap: '商品图',\n    Disable: '禁用',\n    Enable: '启用',\n    cancel: '取消',\n    Pushcontent: '推送内容',\n    Registrationtime: '注册时间',\n    securitysetting: '安全设置',\n    Accountpassword: '账户密码',\n    Budgetrevenue: '预算收入',\n    realincome: '实际收入',\n    Monthlysales: '月度销售额',\n    Englishversion: '英文版',\n    Commoditymanagement: '商品管理',\n    Newproducts: '新增商品',\n    Openingtime: '营业开始时间',\n    Closingtime: '营业结束时间',\n    delete: '删除',\n    todelete: '是否确定删除',\n    OrderRemarks: '订单备注',\n    Numberofcommodities: '商品数'\n  },\n  route: {\n    login: '登录',\n    // dashboard: '控制台',\n    personal: {\n      setting: '个人设置',\n      editpassword: '修改密码'\n    },\n    i18n: '国际化'\n  }\n});\n\n//# sourceURL=webpack:///./src/lang/packages/zh-CN.js?");

/***/ }),

/***/ "./src/lang/packages/zh-TW.js":
/*!************************************!*\
  !*** ./src/lang/packages/zh-TW.js ***!
  \************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  app: {\n    profile: '我的資料',\n    logoname: '鹿角巷',\n    login: '登 入',\n    logout: '退出登入',\n    account: '帳號',\n    password: '密碼',\n    captcha: '驗證碼',\n    Classificationname: '分類名稱',\n    sendCaptcha: '發送驗證碼',\n    Selling: '販售中',\n    Suspendsales: '暫停販售',\n    newPassword: '新密碼',\n    Recommendedornot: '是否推薦',\n    stock: '庫存',\n    label: '標籤',\n    goLogin: '去登入',\n    ExportData: '導出數據',\n    Sales: '銷售額',\n    date: '日期',\n    Totalsales: '總銷售',\n    check: '確 認',\n    Cover: '封面圖',\n    originalprice: '原價',\n    nickname: '暱稱',\n    ProductManagement: '商品管理',\n    Putaway: '上架商品',\n    Lowershelf: '下架商品',\n    yes: '是',\n    Startdate: '開始日期',\n    Enddate: '結束日期',\n    no: '否',\n    Bindmembershiplevel: '綁定會員等級',\n    Listorder: '訂單列表',\n    price: '售價',\n    OrderTime: '下單時間',\n    removetheshelf: '是否確定下架？',\n    fixture: '成交時間',\n    money: '金額',\n    state: '狀態',\n    subtitle: '子標題',\n    ordernumber: '訂單號',\n    phone: '手機',\n    edit: '編輯',\n    add: '添加',\n    Levels1: '1級',\n    Levels2: '2級',\n    Levels3: '3級',\n    Levels4: '4級',\n    Levels5: '5級',\n    Levels6: '6級',\n    Levels7: '7級',\n    Levels8: '8級',\n    Levels9: '9級',\n    Levels10: '10級',\n    datastatistics: '數據統計',\n    accountmanagement: '帳號管理',\n    editing: '請開始編輯',\n    Memberpush: '會員推播',\n    Salesstatistics: '銷售統計',\n    THEALLEY: '鹿角巷',\n    headportrait: '頭像',\n    Tradename: '商品名稱',\n    Purchaserecord: '購買記錄',\n    operation: '操作',\n    normal: '正常',\n    Deactivate: '停用',\n    accountnumber: '帳號',\n    Viewdetails: '查看詳情',\n    push: '推送',\n    Consumptionamount: '消費金額',\n    balance: '餘額',\n    PermissionSettings: '權限設置',\n    CommodityMap: '商品圖',\n    Disable: '禁用',\n    Systempush: '最新消息',\n    starttime: '開始時間',\n    Endtime: '結束時間',\n    Enable: '啟用',\n    cancel: '取消',\n    picture: '圖片',\n    Notice: '公告',\n    Pushcontent: '推送内容',\n    Registrationtime: '註冊時間',\n    tip1: '標題和內容不能為空',\n    Suggestedpicturesize: '圖片大小建議',\n    securitysetting: '安全設置',\n    Accountpassword: '帳戶密碼',\n    Budgetrevenue: '預算收入',\n    realincome: '實際收入',\n    Monthlysales: '月度銷售額',\n    Englishversion: '英文版',\n    Commoditymanagement: '商品管理',\n    Newproducts: '新增商品',\n    Openingtime: '營業開始時間',\n    Closingtime: '營業結束時間',\n    delete: '刪除',\n    todelete: '是否確定刪除',\n    OrderRemarks: '訂單備註',\n    Numberofcommodities: '商品數',\n    Completiontime: '完成時間',\n    tips: '帳號或名稱不能為空!',\n    whole: '全部',\n    Unpaid: '未支付',\n    Tobeserved: '待出餐',\n    Tobepickedup: '待取餐',\n    Completed: '已完成',\n    Pickupmealcode: '取餐號碼',\n    CommodityDetails: '商品明细',\n    Details: '詳情',\n    title: '標題',\n    Specifications: '規格',\n    Creationtime: '創建時間',\n    Newaccount: '新增帳號',\n    success: '操作成功',\n    Outerchain: '外鏈',\n    Loading: '載入中…',\n    Rememberme: '記住我',\n    Sorry: '抱歉，你訪問的頁面不存在',\n    later: '秒後，返回首頁',\n    Managebackground: '鹿角巷商戶管理後臺',\n    f: '繁體',\n    e: '英文',\n    amount: '數量',\n    ToppingManagement: '配料管理'\n  },\n  route: {\n    login: '登錄',\n    dashboard: '歡迎頁',\n    personal: {\n      setting: '我的設置',\n      editpassword: '修改密碼'\n    },\n    i18n: '國際化'\n  }\n});\n\n//# sourceURL=webpack:///./src/lang/packages/zh-TW.js?");

/***/ }),

/***/ "./src/layout/components/Logo/index.vue":
/*!**********************************************!*\
  !*** ./src/layout/components/Logo/index.vue ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_8cb22f4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=8cb22f4a&scoped=true& */ \"./src/layout/components/Logo/index.vue?vue&type=template&id=8cb22f4a&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/Logo/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_8cb22f4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true& */ \"./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_8cb22f4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_8cb22f4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"8cb22f4a\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/Logo/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?");

/***/ }),

/***/ "./src/layout/components/Logo/index.vue?vue&type=script&lang=js&":
/*!***********************************************************************!*\
  !*** ./src/layout/components/Logo/index.vue?vue&type=script&lang=js& ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?");

/***/ }),

/***/ "./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true&":
/*!********************************************************************************************************!*\
  !*** ./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true& ***!
  \********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cb22f4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=style&index=0&id=8cb22f4a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cb22f4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cb22f4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cb22f4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cb22f4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?");

/***/ }),

/***/ "./src/layout/components/Logo/index.vue?vue&type=template&id=8cb22f4a&scoped=true&":
/*!*****************************************************************************************!*\
  !*** ./src/layout/components/Logo/index.vue?vue&type=template&id=8cb22f4a&scoped=true& ***!
  \*****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_8cb22f4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=8cb22f4a&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Logo/index.vue?vue&type=template&id=8cb22f4a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_8cb22f4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_8cb22f4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Logo/index.vue?");

/***/ }),

/***/ "./src/layout/components/Search/index.vue":
/*!************************************************!*\
  !*** ./src/layout/components/Search/index.vue ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_8cef2250_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=8cef2250&scoped=true& */ \"./src/layout/components/Search/index.vue?vue&type=template&id=8cef2250&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/Search/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_8cef2250_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true& */ \"./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_8cef2250_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_8cef2250_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"8cef2250\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/Search/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?");

/***/ }),

/***/ "./src/layout/components/Search/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************!*\
  !*** ./src/layout/components/Search/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?");

/***/ }),

/***/ "./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true&":
/*!**********************************************************************************************************!*\
  !*** ./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true& ***!
  \**********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cef2250_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=style&index=0&id=8cef2250&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cef2250_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cef2250_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cef2250_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8cef2250_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?");

/***/ }),

/***/ "./src/layout/components/Search/index.vue?vue&type=template&id=8cef2250&scoped=true&":
/*!*******************************************************************************************!*\
  !*** ./src/layout/components/Search/index.vue?vue&type=template&id=8cef2250&scoped=true& ***!
  \*******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_8cef2250_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=8cef2250&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Search/index.vue?vue&type=template&id=8cef2250&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_8cef2250_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_8cef2250_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Search/index.vue?");

/***/ }),

/***/ "./src/layout/components/SidebarItem/index.vue":
/*!*****************************************************!*\
  !*** ./src/layout/components/SidebarItem/index.vue ***!
  \*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_0769ddf5_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=0769ddf5&scoped=true& */ \"./src/layout/components/SidebarItem/index.vue?vue&type=template&id=0769ddf5&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/SidebarItem/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_0769ddf5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true& */ \"./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=1&lang=scss& */ \"./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_0769ddf5_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_0769ddf5_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"0769ddf5\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/SidebarItem/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?");

/***/ }),

/***/ "./src/layout/components/SidebarItem/index.vue?vue&type=script&lang=js&":
/*!******************************************************************************!*\
  !*** ./src/layout/components/SidebarItem/index.vue?vue&type=script&lang=js& ***!
  \******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?");

/***/ }),

/***/ "./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true&":
/*!***************************************************************************************************************!*\
  !*** ./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true& ***!
  \***************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0769ddf5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=0&id=0769ddf5&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0769ddf5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0769ddf5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0769ddf5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0769ddf5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?");

/***/ }),

/***/ "./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss&":
/*!***************************************************************************************!*\
  !*** ./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss& ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=1&lang=scss& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=style&index=1&lang=scss&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?");

/***/ }),

/***/ "./src/layout/components/SidebarItem/index.vue?vue&type=template&id=0769ddf5&scoped=true&":
/*!************************************************************************************************!*\
  !*** ./src/layout/components/SidebarItem/index.vue?vue&type=template&id=0769ddf5&scoped=true& ***!
  \************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0769ddf5_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=0769ddf5&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/SidebarItem/index.vue?vue&type=template&id=0769ddf5&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0769ddf5_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0769ddf5_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/SidebarItem/index.vue?");

/***/ }),

/***/ "./src/layout/components/Tabbar/index.vue":
/*!************************************************!*\
  !*** ./src/layout/components/Tabbar/index.vue ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_223493e4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=223493e4&scoped=true& */ \"./src/layout/components/Tabbar/index.vue?vue&type=template&id=223493e4&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/Tabbar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_223493e4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true& */ \"./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_223493e4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_223493e4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"223493e4\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/Tabbar/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/Tabbar/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************!*\
  !*** ./src/layout/components/Tabbar/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true&":
/*!**********************************************************************************************************!*\
  !*** ./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true& ***!
  \**********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_223493e4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=style&index=0&id=223493e4&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_223493e4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_223493e4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_223493e4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_223493e4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/Tabbar/index.vue?vue&type=template&id=223493e4&scoped=true&":
/*!*******************************************************************************************!*\
  !*** ./src/layout/components/Tabbar/index.vue?vue&type=template&id=223493e4&scoped=true& ***!
  \*******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_223493e4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=223493e4&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Tabbar/index.vue?vue&type=template&id=223493e4&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_223493e4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_223493e4_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Tabbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/ThemeSetting/index.vue":
/*!******************************************************!*\
  !*** ./src/layout/components/ThemeSetting/index.vue ***!
  \******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_0fc836f7_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=0fc836f7&scoped=true& */ \"./src/layout/components/ThemeSetting/index.vue?vue&type=template&id=0fc836f7&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/ThemeSetting/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_0fc836f7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true& */ \"./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_0fc836f7_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_0fc836f7_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"0fc836f7\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/ThemeSetting/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?");

/***/ }),

/***/ "./src/layout/components/ThemeSetting/index.vue?vue&type=script&lang=js&":
/*!*******************************************************************************!*\
  !*** ./src/layout/components/ThemeSetting/index.vue?vue&type=script&lang=js& ***!
  \*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?");

/***/ }),

/***/ "./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true&":
/*!****************************************************************************************************************!*\
  !*** ./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true& ***!
  \****************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0fc836f7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=style&index=0&id=0fc836f7&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0fc836f7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0fc836f7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0fc836f7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0fc836f7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?");

/***/ }),

/***/ "./src/layout/components/ThemeSetting/index.vue?vue&type=template&id=0fc836f7&scoped=true&":
/*!*************************************************************************************************!*\
  !*** ./src/layout/components/ThemeSetting/index.vue?vue&type=template&id=0fc836f7&scoped=true& ***!
  \*************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0fc836f7_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=0fc836f7&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/ThemeSetting/index.vue?vue&type=template&id=0fc836f7&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0fc836f7_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_0fc836f7_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/ThemeSetting/index.vue?");

/***/ }),

/***/ "./src/layout/components/Topbar/index.vue":
/*!************************************************!*\
  !*** ./src/layout/components/Topbar/index.vue ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_33068c4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=33068c4e&scoped=true& */ \"./src/layout/components/Topbar/index.vue?vue&type=template&id=33068c4e&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/Topbar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_33068c4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true& */ \"./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_33068c4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_33068c4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"33068c4e\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/Topbar/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/Topbar/index.vue?vue&type=script&lang=js&":
/*!*************************************************************************!*\
  !*** ./src/layout/components/Topbar/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true&":
/*!**********************************************************************************************************!*\
  !*** ./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true& ***!
  \**********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_33068c4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=style&index=0&id=33068c4e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_33068c4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_33068c4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_33068c4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_33068c4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/Topbar/index.vue?vue&type=template&id=33068c4e&scoped=true&":
/*!*******************************************************************************************!*\
  !*** ./src/layout/components/Topbar/index.vue?vue&type=template&id=33068c4e&scoped=true& ***!
  \*******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_33068c4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=33068c4e&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/Topbar/index.vue?vue&type=template&id=33068c4e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_33068c4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_33068c4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/Topbar/index.vue?");

/***/ }),

/***/ "./src/layout/components/UserMenu/index.vue":
/*!**************************************************!*\
  !*** ./src/layout/components/UserMenu/index.vue ***!
  \**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_46bd2d3a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=46bd2d3a&scoped=true& */ \"./src/layout/components/UserMenu/index.vue?vue&type=template&id=46bd2d3a&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/components/UserMenu/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_46bd2d3a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true& */ \"./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_46bd2d3a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_46bd2d3a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"46bd2d3a\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/components/UserMenu/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?");

/***/ }),

/***/ "./src/layout/components/UserMenu/index.vue?vue&type=script&lang=js&":
/*!***************************************************************************!*\
  !*** ./src/layout/components/UserMenu/index.vue?vue&type=script&lang=js& ***!
  \***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?");

/***/ }),

/***/ "./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true&":
/*!************************************************************************************************************!*\
  !*** ./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true& ***!
  \************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_46bd2d3a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=style&index=0&id=46bd2d3a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_46bd2d3a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_46bd2d3a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_46bd2d3a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_46bd2d3a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?");

/***/ }),

/***/ "./src/layout/components/UserMenu/index.vue?vue&type=template&id=46bd2d3a&scoped=true&":
/*!*********************************************************************************************!*\
  !*** ./src/layout/components/UserMenu/index.vue?vue&type=template&id=46bd2d3a&scoped=true& ***!
  \*********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_46bd2d3a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=46bd2d3a&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/components/UserMenu/index.vue?vue&type=template&id=46bd2d3a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_46bd2d3a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_46bd2d3a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/components/UserMenu/index.vue?");

/***/ }),

/***/ "./src/layout/empty.vue":
/*!******************************!*\
  !*** ./src/layout/empty.vue ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _empty_vue_vue_type_template_id_21f3cafe___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./empty.vue?vue&type=template&id=21f3cafe& */ \"./src/layout/empty.vue?vue&type=template&id=21f3cafe&\");\n/* harmony import */ var _empty_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./empty.vue?vue&type=script&lang=js& */ \"./src/layout/empty.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _empty_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _empty_vue_vue_type_template_id_21f3cafe___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _empty_vue_vue_type_template_id_21f3cafe___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/empty.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/empty.vue?");

/***/ }),

/***/ "./src/layout/empty.vue?vue&type=script&lang=js&":
/*!*******************************************************!*\
  !*** ./src/layout/empty.vue?vue&type=script&lang=js& ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_empty_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./empty.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/empty.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_empty_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/empty.vue?");

/***/ }),

/***/ "./src/layout/empty.vue?vue&type=template&id=21f3cafe&":
/*!*************************************************************!*\
  !*** ./src/layout/empty.vue?vue&type=template&id=21f3cafe& ***!
  \*************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_empty_vue_vue_type_template_id_21f3cafe___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./empty.vue?vue&type=template&id=21f3cafe& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/empty.vue?vue&type=template&id=21f3cafe&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_empty_vue_vue_type_template_id_21f3cafe___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_empty_vue_vue_type_template_id_21f3cafe___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/empty.vue?");

/***/ }),

/***/ "./src/layout/index.vue":
/*!******************************!*\
  !*** ./src/layout/index.vue ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_13877386_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=13877386&scoped=true& */ \"./src/layout/index.vue?vue&type=template&id=13877386&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/layout/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_13877386_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true& */ \"./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_13877386_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_13877386_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"13877386\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/layout/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/layout/index.vue?");

/***/ }),

/***/ "./src/layout/index.vue?vue&type=script&lang=js&":
/*!*******************************************************!*\
  !*** ./src/layout/index.vue?vue&type=script&lang=js& ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/layout/index.vue?");

/***/ }),

/***/ "./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true&":
/*!****************************************************************************************!*\
  !*** ./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true& ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_13877386_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_13877386_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_13877386_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_13877386_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_13877386_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/layout/index.vue?");

/***/ }),

/***/ "./src/layout/index.vue?vue&type=template&id=13877386&scoped=true&":
/*!*************************************************************************!*\
  !*** ./src/layout/index.vue?vue&type=template&id=13877386&scoped=true& ***!
  \*************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_13877386_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=13877386&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/layout/index.vue?vue&type=template&id=13877386&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_13877386_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_13877386_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/layout/index.vue?");

/***/ }),

/***/ "./src/main.js":
/*!*********************!*\
  !*** ./src/main.js ***!
  \*********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.object.assign.js */ \"./node_modules/core-js/modules/es.object.assign.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.promise.finally.js */ \"./node_modules/core-js/modules/es.promise.finally.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./App.vue */ \"./src/App.vue\");\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./router/index */ \"./src/router/index.js\");\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./store/index */ \"./src/store/index.js\");\n/* harmony import */ var _lang__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./lang */ \"./src/lang/index.js\");\n/* harmony import */ var echarts__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! echarts */ \"./node_modules/echarts/index.js\");\n/* harmony import */ var _util_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/util/api */ \"./src/util/api.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./api */ \"./src/api/index.js\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! dayjs */ \"./node_modules/dayjs/dayjs.min.js\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _util_auth__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./util/auth */ \"./src/util/auth.js\");\n/* harmony import */ var _util_tabbar__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./util/tabbar */ \"./src/util/tabbar.js\");\n/* harmony import */ var vue_cookies__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! vue-cookies */ \"./node_modules/vue-cookies/vue-cookies.js\");\n/* harmony import */ var vue_cookies__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(vue_cookies__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var vue_meta__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! vue-meta */ \"./node_modules/vue-meta/dist/vue-meta.esm.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var element_ui_lib_theme_chalk_index_css__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! element-ui/lib/theme-chalk/index.css */ \"./node_modules/element-ui/lib/theme-chalk/index.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_index_css__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_index_css__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var hotkeys_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! hotkeys-js */ \"./node_modules/hotkeys-js/dist/hotkeys.esm.js\");\n/* harmony import */ var vue_contextmenujs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! vue-contextmenujs */ \"./node_modules/vue-contextmenujs/index.js\");\n/* harmony import */ var vue_clipboard2__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! vue-clipboard2 */ \"./node_modules/vue-clipboard2/vue-clipboard.js\");\n/* harmony import */ var vue_clipboard2__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(vue_clipboard2__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var mavon_editor__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! mavon-editor */ \"./node_modules/mavon-editor/dist/mavon-editor.js\");\n/* harmony import */ var mavon_editor__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(mavon_editor__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var mavon_editor_dist_css_index_css__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! mavon-editor/dist/css/index.css */ \"./node_modules/mavon-editor/dist/css/index.css\");\n/* harmony import */ var mavon_editor_dist_css_index_css__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(mavon_editor_dist_css_index_css__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var _components_autoRegister__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./components/autoRegister */ \"./src/components/autoRegister.js\");\n/* harmony import */ var remixicon_fonts_remixicon_css__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! remixicon/fonts/remixicon.css */ \"./node_modules/remixicon/fonts/remixicon.css\");\n/* harmony import */ var remixicon_fonts_remixicon_css__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(remixicon_fonts_remixicon_css__WEBPACK_IMPORTED_MODULE_28__);\n/* harmony import */ var _assets_styles_reset_scss__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./assets/styles/reset.scss */ \"./src/assets/styles/reset.scss\");\n/* harmony import */ var _assets_styles_reset_scss__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_assets_styles_reset_scss__WEBPACK_IMPORTED_MODULE_29__);\n/* harmony import */ var _util_error_log__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./util/error.log */ \"./src/util/error.log.js\");\n/* harmony import */ var _mock__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./mock */ \"./src/mock/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.echarts = echarts__WEBPACK_IMPORTED_MODULE_12__; // import VueClipboard from 'vue-clipboard2'\n// Vue.use(VueClipboard)\n\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.get = _util_api__WEBPACK_IMPORTED_MODULE_13__[\"getsync\"];\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.post = _util_api__WEBPACK_IMPORTED_MODULE_13__[\"postsync\"];\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.$api = _api__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.$dayjs = dayjs__WEBPACK_IMPORTED_MODULE_15___default.a;\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(_util_auth__WEBPACK_IMPORTED_MODULE_16__[\"default\"]);\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(_util_tabbar__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(vue_cookies__WEBPACK_IMPORTED_MODULE_18___default.a);\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(vue_meta__WEBPACK_IMPORTED_MODULE_19__[\"default\"]);\n\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.$ELEMENT = element_ui__WEBPACK_IMPORTED_MODULE_20___default.a;\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(element_ui__WEBPACK_IMPORTED_MODULE_20___default.a, {\n  size: _store_index__WEBPACK_IMPORTED_MODULE_10__[\"default\"].state.settings.elementSize,\n  i18n: function i18n(key, value) {\n    return _lang__WEBPACK_IMPORTED_MODULE_11__[\"default\"].t(key, value);\n  }\n});\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.$hotkeys = hotkeys_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"];\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(vue_contextmenujs__WEBPACK_IMPORTED_MODULE_23__[\"default\"]);\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(vue_clipboard2__WEBPACK_IMPORTED_MODULE_24___default.a); // 富文本\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].use(mavon_editor__WEBPACK_IMPORTED_MODULE_25___default.a); // 全局组件自动注册\n\n // 自动加載 svg 图标\n\nvar req = __webpack_require__(\"./src/assets/icons sync \\\\.svg$\");\n\nvar requireAll = function requireAll(requireContext) {\n  return requireContext.keys().map(requireContext);\n};\n\nrequireAll(req);\n\n // 错误日志\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].config.productionTip = false;\nvue__WEBPACK_IMPORTED_MODULE_7__[\"default\"].prototype.$eventBus = new vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n  router: _router_index__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n  store: _store_index__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n  i18n: _lang__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n  render: function render(h) {\n    return h(_App_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n  }\n}).$mount('#app');\n\n//# sourceURL=webpack:///./src/main.js?");

/***/ }),

/***/ "./src/mock/index.js":
/*!***************************!*\
  !*** ./src/mock/index.js ***!
  \***************************/
/*! exports provided: param2Obj */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"param2Obj\", function() { return param2Obj; });\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js */ \"./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.regexp.dot-all.js */ \"./node_modules/core-js/modules/es.regexp.dot-all.js\");\n/* harmony import */ var core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.regexp.sticky.js */ \"./node_modules/core-js/modules/es.regexp.sticky.js\");\n/* harmony import */ var core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11__);\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Mock = __webpack_require__(/*! mockjs */ \"./node_modules/mockjs/dist/mock.js\");\n\nfunction param2Obj(url) {\n  var search = decodeURIComponent(url.split('?')[1]).replace(/\\+/g, ' ');\n\n  if (!search) {\n    return {};\n  }\n\n  var obj = {};\n  var searchArr = search.split('&');\n  searchArr.forEach(function (v) {\n    var index = v.indexOf('=');\n\n    if (index !== -1) {\n      var name = v.substring(0, index);\n      var val = v.substring(index + 1, v.length);\n      obj[name] = val;\n    }\n  });\n  return obj;\n}\n\nfunction XHR2ExpressReqWrap(respond) {\n  return function (options) {\n    var result = null;\n\n    if (respond instanceof Function) {\n      var body = options.body,\n          type = options.type,\n          url = options.url; // https://expressjs.com/en/4x/api.html#req\n\n      result = respond({\n        method: type,\n        body: JSON.parse(body),\n        query: param2Obj(url)\n      });\n    } else {\n      result = respond;\n    }\n\n    return Mock.mock(result);\n  };\n}\n\nvar mocksContext = __webpack_require__(\"./src/mock/modules sync recursive .js$\");\n\nmocksContext.keys().forEach(function (file_name) {\n  // 获取文件中的 default 模块\n  var mocks = mocksContext(file_name);\n\n  var _iterator = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(mocks),\n      _step;\n\n  try {\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var mock = _step.value;\n      Mock.mock(new RegExp(\"\".concat(\"https://demoweb.gcreate.com.tw/lujiaoxiang/public\", \"mock/\").concat(mock.url)), mock.type || 'get', XHR2ExpressReqWrap(mock.result));\n    }\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n});\n\n//# sourceURL=webpack:///./src/mock/index.js?");

/***/ }),

/***/ "./src/mock/modules sync recursive .js$":
/*!************************************!*\
  !*** ./src/mock/modules sync .js$ ***!
  \************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var map = {\n\t\"./member.js\": \"./src/mock/modules/member.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/mock/modules sync recursive .js$\";\n\n//# sourceURL=webpack:///./src/mock/modules_sync_.js$?");

/***/ }),

/***/ "./src/mock/modules/member.js":
/*!************************************!*\
  !*** ./src/mock/modules/member.js ***!
  \************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = [{\n  url: 'member/login',\n  type: 'post',\n  result: function result(option) {\n    return {\n      error: '',\n      state: 1,\n      data: {\n        account: option.body.account,\n        token: '@string',\n        failure_time: Date.parse(new Date()) / 1000 + 24 * 60 * 60\n      }\n    };\n  }\n}, {\n  url: 'member/permission',\n  type: 'get',\n  result: function result(option) {\n    var permissions = [];\n\n    if (option.query.account == 'admin') {\n      permissions = ['permission.browse', 'permission.create', 'permission.edit', 'permission.remove'];\n    } else if (option.query.account == 'test') {\n      permissions = ['permission.browse'];\n    }\n\n    return {\n      error: '',\n      state: 1,\n      data: {\n        permissions: permissions\n      }\n    };\n  }\n}];\n\n//# sourceURL=webpack:///./src/mock/modules/member.js?");

/***/ }),

/***/ "./src/router/index.js":
/*!*****************************!*\
  !*** ./src/router/index.js ***!
  \*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js */ \"./node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"./node_modules/regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue-router */ \"./node_modules/vue-router/dist/vue-router.esm.js\");\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/store/index */ \"./src/store/index.js\");\n/* harmony import */ var nprogress__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! nprogress */ \"./node_modules/nprogress/nprogress.js\");\n/* harmony import */ var nprogress__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(nprogress__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var nprogress_nprogress_css__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! nprogress/nprogress.css */ \"./node_modules/nprogress/nprogress.css\");\n/* harmony import */ var nprogress_nprogress_css__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(nprogress_nprogress_css__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/layout */ \"./src/layout/index.vue\");\n/* harmony import */ var _layout_empty__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/layout/empty */ \"./src/layout/empty.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // progress bar style\n\nvue__WEBPACK_IMPORTED_MODULE_10__[\"default\"].use(vue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n\n\nvar constantRoutes = [{\n  path: '/login',\n  name: 'login',\n  component: function component() {\n    return Promise.resolve().then(function () {\n      return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/login */ \"./src/views/login.vue\"));\n    });\n  },\n  meta: {\n    title: '登录',\n    i18n: 'route.login'\n  }\n}, {\n  path: '/',\n  component: _layout__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n  redirect: '/home',\n  children: [{\n    path: 'personal',\n    component: _layout_empty__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n    redirect: '/personal/setting',\n    meta: {\n      title: '个人中心',\n      breadcrumb: false\n    },\n    children: [{\n      path: 'setting',\n      name: 'personalSetting',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/personal/setting */ \"./src/views/personal/setting.vue\"));\n        });\n      },\n      meta: {\n        title: '个人设置',\n        i18n: 'route.personal.setting'\n      }\n    }, {\n      path: 'edit/password',\n      name: 'personalEditPassword',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/personal/edit.password */ \"./src/views/personal/edit.password.vue\"));\n        });\n      },\n      meta: {\n        title: '修改密码',\n        i18n: 'route.personal.editpassword'\n      }\n    }]\n  }, {\n    path: 'reload',\n    name: 'reload',\n    component: function component() {\n      return Promise.resolve().then(function () {\n        return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/reload */ \"./src/views/reload.vue\"));\n      });\n    }\n  }]\n}]; // // 平台设置\n// import GoodsManage from './modules/GoodsManage'\n// // 数据中心\n// import DC from './modules/DC'\n// // 营销中心\n// import marke from './modules/marke'\n// // 资金对账\n// import Cash from './modules/Cash'\n// // api配置\n// import apisetting from './modules/apisetting'\n// 当 children 不为空的主导航只有一项时，则隐藏\n// 所有路由都要放在这里\n\nvar asyncRoutes = [{\n  children: [{\n    path: '/home',\n    component: _layout__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n    redirect: '/home/index',\n    name: 'home',\n    meta: {\n      title: '订单列表',\n      icon: 'dd',\n      i18n: 'app.Listorder'\n    },\n    children: [{\n      path: 'index',\n      name: 'home_basicsdata',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/home/index.vue */ \"./src/views/home/index.vue\"));\n        });\n      },\n      meta: {\n        title: '订单列表',\n        sidebar: false,\n        breadcrumb: true,\n        activeMenu: '/home',\n        i18n: 'app.Listorder'\n      }\n    }]\n  }, {\n    path: '/bank',\n    component: _layout__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n    redirect: '/bank/index',\n    name: 'bank',\n    meta: {\n      title: '账号管理',\n      icon: 'js',\n      i18n: 'app.accountmanagement'\n    },\n    children: [{\n      path: 'index',\n      name: 'bank_basicsdata',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/bank/index.vue */ \"./src/views/bank/index.vue\"));\n        });\n      },\n      meta: {\n        title: '账号管理',\n        sidebar: false,\n        breadcrumb: true,\n        activeMenu: '/bank',\n        i18n: 'app.accountmanagement'\n      }\n    }]\n  }, // {\n  //     path: '/vip',\n  //     component: Layout,\n  //     redirect: '/vip/index',\n  //     name: 'vip',\n  //     meta: {\n  //         title: '会员推播',\n  //         icon: 'hy',\n  //         i18n: 'app.Memberpush'\n  //     },\n  //     children: [\n  //         {\n  //             path: 'index',\n  //             name: 'vip_basicsdata',\n  //             component: () => import('@/views/vip/index.vue'),\n  //             meta: {\n  //                 title: '会员推播',\n  //                 sidebar: false,\n  //                 breadcrumb: true,\n  //                 activeMenu: '/vip',\n  //                 i18n: 'app.Memberpush'\n  //             }\n  //         }\n  //     ]\n  // },\n  {\n    path: '/shops',\n    component: _layout__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n    redirect: '/shops/index',\n    name: 'shops',\n    meta: {\n      title: '商品管理',\n      icon: 'spgl',\n      i18n: 'app.ProductManagement'\n    },\n    children: [{\n      path: 'index',\n      name: 'shop_shops',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/shops/index.vue */ \"./src/views/shops/index.vue\"));\n        });\n      },\n      meta: {\n        title: '商品管理',\n        sidebar: false,\n        breadcrumb: true,\n        activeMenu: '/shops',\n        i18n: 'app.ProductManagement'\n      }\n    }]\n  }, {\n    path: '/mixs',\n    component: _layout__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n    redirect: '/mixs/index',\n    name: 'mixs',\n    meta: {\n      title: '配料管理',\n      icon: 'spgl',\n      i18n: 'app.ToppingManagement'\n    },\n    children: [{\n      path: 'index',\n      name: 'shop_shops',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/mixs/index.vue */ \"./src/views/mixs/index.vue\"));\n        });\n      },\n      meta: {\n        title: '配料管理',\n        sidebar: false,\n        breadcrumb: true,\n        activeMenu: '/mixs',\n        i18n: 'app.ToppingManagement'\n      }\n    }]\n  }, {\n    path: '/market',\n    component: _layout__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n    redirect: '/market/index',\n    name: 'market',\n    meta: {\n      title: '销售统计',\n      icon: 'sj',\n      i18n: 'app.Salesstatistics'\n    },\n    children: [{\n      path: 'index',\n      name: 'market_basicsdata',\n      component: function component() {\n        return Promise.resolve().then(function () {\n          return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/market/index.vue */ \"./src/views/market/index.vue\"));\n        });\n      },\n      meta: {\n        title: '销售统计',\n        sidebar: false,\n        breadcrumb: true,\n        activeMenu: '/market',\n        i18n: 'app.Salesstatistics'\n      }\n    }]\n  }]\n}];\nvar lastRoute = [{\n  path: '*',\n  component: function component() {\n    return Promise.resolve().then(function () {\n      return Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_interopRequireWildcard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(__webpack_require__(/*! @/views/404 */ \"./src/views/404.vue\"));\n    });\n  },\n  meta: {\n    title: '404',\n    sidebar: false\n  }\n}];\nvar router = new vue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n  routes: constantRoutes\n}); // 解决路由在 push/replace 了相同地址报错的问题\n\nvar originalPush = vue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.push;\n\nvue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.push = function push(location) {\n  return originalPush.call(this, location).catch(function (err) {\n    return err;\n  });\n};\n\nvar originalReplace = vue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.replace;\n\nvue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.replace = function replace(location) {\n  return originalReplace.call(this, location).catch(function (err) {\n    return err;\n  });\n};\n\nrouter.beforeEach( /*#__PURE__*/function () {\n  var _ref = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/regeneratorRuntime.mark(function _callee(to, from, next) {\n    var accessRoutes;\n    return regeneratorRuntime.wrap(function _callee$(_context) {\n      while (1) {\n        switch (_context.prev = _context.next) {\n          case 0:\n            _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.settings.enableProgress && nprogress__WEBPACK_IMPORTED_MODULE_13___default.a.start(); // 已经登录，但还没根据权限动态生成并挂載路由\n\n            if (!(_store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].getters['user/isLogin'] && !_store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.menu.isGenerate)) {\n              _context.next = 10;\n              break;\n            }\n\n            // 挂載动态路由的同时，根据当前帐号复原固定标签栏\n            _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.settings.enableTabbar && _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].commit('tabbar/recoveryStorage', _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.user.account);\n            /**\n                 * 重置 matcher\n                 * https://blog.csdn.net/baidu_28647571/article/details/101711682\n                 */\n\n            router.matcher = new vue_router__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n              routes: constantRoutes\n            }).matcher;\n            _context.next = 6;\n            return _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].dispatch('menu/generateRoutes', {\n              asyncRoutes: asyncRoutes,\n              currentPath: to.path\n            });\n\n          case 6:\n            accessRoutes = _context.sent;\n            accessRoutes.push.apply(accessRoutes, lastRoute);\n            accessRoutes.forEach(function (route) {\n              router.addRoute(route);\n            });\n            next(Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, to), {}, {\n              replace: true\n            }));\n\n          case 10:\n            if (_store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.menu.isGenerate) {\n              _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].commit('menu/setHeaderActived', to.path);\n            } // console.log(store)\n\n\n            if (!_store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].getters['user/isLogin']) {\n              _context.next = 15;\n              break;\n            }\n\n            if (to.name) {\n              if (to.matched.length !== 0) {\n                // 如果已登录状态下，进入登录页会强制跳转到控制台页面\n                if (to.name == 'login') {\n                  console.log('tologin');\n                  next({\n                    path: '/'\n                  });\n                } else if (!_store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.settings.enableDashboard && to.name == 'dashboard') {\n                  // 如果未开启控制台页面，则默认进入第一个固定标签栏或者侧边栏导航第一个模块\n                  if (_store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.settings.enableTabbar && _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.tabbar.list.length > 0) {\n                    // console.log('store.state.tabbar.list[0].path', store.state.tabbar.list[0].path)\n                    next({\n                      path: _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.tabbar.list[0].path,\n                      replace: true\n                    });\n                  } else {\n                    // console.log(store.getters['menu/sidebarRoutes'][0].path, 'store.getters[menu/sidebarRoutes][0].path')\n                    next({\n                      path: _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].getters['menu/sidebarRoutes'][0].path,\n                      replace: true\n                    });\n                  }\n                }\n              } else {\n                console.log('404'); // 如果是通过 name 跳转，并且 name 对应的路由没有权限时，需要做这步处理，手动指向到 404 页面\n\n                next({\n                  path: '/'\n                });\n              }\n            }\n\n            _context.next = 19;\n            break;\n\n          case 15:\n            if (!to.query.token) {\n              _context.next = 18;\n              break;\n            }\n\n            // console.log('loginByToken')\n            _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].dispatch('user/loginByToken', to.query.token).then(function () {\n              next({\n                path: '/'\n              });\n            });\n            return _context.abrupt(\"return\");\n\n          case 18:\n            if (to.name != 'login') {\n              console.log('login');\n              next({\n                name: 'login'\n              });\n            }\n\n          case 19:\n            next();\n\n          case 20:\n          case \"end\":\n            return _context.stop();\n        }\n      }\n    }, _callee);\n  }));\n\n  return function (_x, _x2, _x3) {\n    return _ref.apply(this, arguments);\n  };\n}());\nrouter.afterEach(function () {\n  _store_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"].state.settings.enableProgress && nprogress__WEBPACK_IMPORTED_MODULE_13___default.a.done();\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (router);\n\n//# sourceURL=webpack:///./src/router/index.js?");

/***/ }),

/***/ "./src/settings.js":
/*!*************************!*\
  !*** ./src/settings.js ***!
  \*************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar globalSettings = {\n  /**\n     * 是否开启权限功能，权限功能提供以下鉴权支持：\n     * 1、路由鉴权\n     * 2、鉴权组件：<Auth></Auth>、<AuthAll></AuthAll>\n     * 3、鉴权指令：v-auth、v-auth-all\n     * 4、鉴权函数：this.$auth()、this.$authAll()\n     */\n  openPermission: false,\n\n  /**\n     * 布局类型，当设置为非 adaption 时，请去 ./src/assets/styles/resources/layout.scss 里设置 $g-app-width\n     * adaption 自适应\n     * adaption-min-width 自适应（有最小宽度）\n     * center 定宽居中\n     * center-max-width 定宽居中（有最大宽度）\n     */\n  layout: 'adaption',\n\n  /**\n     * 主题，默认提供 5 款\n     * default 默认\n     * vue-cli Vue CLI 风格\n     * gitee 码云风格\n     * freshness 清新\n     * elegant 素雅\n     * pure-white 纯白\n     */\n  theme: 'default',\n  // Element 组件默认尺寸，支持：large、medium、small、mini\n  elementSize: 'large',\n  // 是否显示头部\n  showHeader: false,\n  // 是否开启侧边栏展开收起按钮\n  enableSidebarCollapse: true,\n  // 侧边栏是否收起\n  sidebarCollapse: false,\n  // 切换侧边栏同时跳转页面\n  switchSidebarAndPageJump: true,\n  // 是否开启标签栏\n  enableTabbar: false,\n  // 顶部导航栏（包含标签栏）是否固定\n  topbarFixed: true,\n  // 是否开启面包屑导航\n  enableBreadcrumb: false,\n  // 是否显示底部版权信息，同时在路由 meta 对象里可以单独设置某个路由是否显示底部版权信息\n  showCopyright: false,\n  // 版权信息配置，格式为：Copyright © [dates] <company>\n  copyrightDates: '2022',\n  copyrightCompany: '鹿角巷',\n  copyrightWebsite: '#',\n  // 是否开启导航搜索\n  enableNavSearch: true,\n  // 是否开启通知中心\n  enableNotification: false,\n  // 是否开启国际化\n  enableI18n: true,\n  // 默认语言，留空则跟随系统\n  defaultLang: localStorage.getItem('faljxadmin_lang'),\n  // 是否开启移动端适配，开启后当页面宽度小于 992px 时自动切换为移动端展示\n  enableMobileAdaptation: true,\n  // 是否开启全屏\n  enableFullscreen: false,\n  // 是否开启页面刷新\n  enablePageReload: false,\n  // 是否开启載入进度条\n  enableProgress: true,\n  // 是否开启动态标题\n  enableDynamicTitle: true,\n  // 是否开启控制台\n  enableDashboard: true,\n  // 控制台名称\n  dashboardTitle: '控制台',\n  // localStorage sessionStorage 前缀\n  storagePrefix: 'faljxadmin_',\n  // 是否开启扁平化路由，开启后三级以及三级以上的嵌套路由均为被处理成二级，但侧边栏导航的层级效果不变\n  enableFlatRoutes: false,\n  // 是否在非开发环境开启错误日志功能，具体业务代码在 ./util/error.log.js\n  enableErrorLog: false,\n  // 是否开启主题配置（建议在生产环境关闭）\n  enableThemeSetting: true\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (globalSettings);\n\n//# sourceURL=webpack:///./src/settings.js?");

/***/ }),

/***/ "./src/store/index.js":
/*!****************************!*\
  !*** ./src/store/index.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].use(vuex__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar modules = {};\n\nvar require_module = __webpack_require__(\"./src/store/modules sync .js$\");\n\nrequire_module.keys().forEach(function (file_name) {\n  modules[file_name.slice(2, -3)] = require_module(file_name).default;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (new vuex__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Store({\n  modules: modules,\n  strict: \"development\" !== 'production'\n}));\n\n//# sourceURL=webpack:///./src/store/index.js?");

/***/ }),

/***/ "./src/store/modules sync .js$":
/*!**************************************************!*\
  !*** ./src/store/modules sync nonrecursive .js$ ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var map = {\n\t\"./keepAlive.js\": \"./src/store/modules/keepAlive.js\",\n\t\"./menu.js\": \"./src/store/modules/menu.js\",\n\t\"./menuBadge.js\": \"./src/store/modules/menuBadge.js\",\n\t\"./settings.js\": \"./src/store/modules/settings.js\",\n\t\"./tabbar.js\": \"./src/store/modules/tabbar.js\",\n\t\"./user.js\": \"./src/store/modules/user.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/store/modules sync .js$\";\n\n//# sourceURL=webpack:///./src/store/modules_sync_nonrecursive_.js$?");

/***/ }),

/***/ "./src/store/modules/keepAlive.js":
/*!****************************************!*\
  !*** ./src/store/modules/keepAlive.js ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nvar state = {\n  list: []\n};\nvar getters = {};\nvar actions = {};\nvar mutations = {\n  add: function add(state, name) {\n    if (typeof name === 'string') {\n      !state.list.includes(name) && state.list.push(name);\n    } else {\n      name.map(function (v) {\n        v && !state.list.includes(v) && state.list.push(v);\n      });\n    }\n  },\n  remove: function remove(state, name) {\n    if (typeof name === 'string') {\n      state.list = state.list.filter(function (v) {\n        return v != name;\n      });\n    } else {\n      state.list = state.list.filter(function (v) {\n        return !name.includes(v);\n      });\n    }\n  },\n  clean: function clean(state) {\n    state.list = [];\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  namespaced: true,\n  state: state,\n  actions: actions,\n  getters: getters,\n  mutations: mutations\n});\n\n//# sourceURL=webpack:///./src/store/modules/keepAlive.js?");

/***/ }),

/***/ "./src/store/modules/menu.js":
/*!***********************************!*\
  !*** ./src/store/modules/menu.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"./node_modules/regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/util */ \"./src/util/index.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction hasPermission(permissions, route) {\n  var isAuth = false;\n\n  if (route.meta && route.meta.auth) {\n    isAuth = permissions.some(function (auth) {\n      if (typeof route.meta.auth == 'string') {\n        return route.meta.auth === auth;\n      } else {\n        return route.meta.auth.some(function (routeAuth) {\n          return routeAuth === auth;\n        });\n      }\n    });\n  } else {\n    isAuth = true;\n  }\n\n  return isAuth;\n}\n\nfunction filterAsyncRoutes(routes, permissions) {\n  var res = [];\n  routes.forEach(function (route) {\n    var tmp = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({}, route);\n\n    if (hasPermission(permissions, tmp)) {\n      if (tmp.children) {\n        tmp.children = filterAsyncRoutes(tmp.children, permissions);\n        tmp.children.length && res.push(tmp);\n      } else {\n        res.push(tmp);\n      }\n    }\n  });\n  return res;\n} // 将多层嵌套路由处理成平级\n\n\nfunction flatAsyncRoutes(routes, breadcrumb) {\n  var baseUrl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n  var res = [];\n  routes.forEach(function (route) {\n    var tmp = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({}, route);\n\n    if (tmp.children) {\n      var childrenBaseUrl = '';\n\n      if (baseUrl == '') {\n        childrenBaseUrl = tmp.path;\n      } else if (tmp.path != '') {\n        childrenBaseUrl = \"\".concat(baseUrl, \"/\").concat(tmp.path);\n      }\n\n      var childrenBreadcrumb = Object(_util__WEBPACK_IMPORTED_MODULE_9__[\"deepClone\"])(breadcrumb);\n\n      if (route.meta.breadcrumb !== false) {\n        childrenBreadcrumb.push({\n          path: childrenBaseUrl,\n          title: route.meta.title,\n          i18n: route.meta.i18n\n        });\n      }\n\n      var tmpRoute = Object(_util__WEBPACK_IMPORTED_MODULE_9__[\"deepClone\"])(route);\n      tmpRoute.path = childrenBaseUrl;\n      tmpRoute.meta.breadcrumbNeste = childrenBreadcrumb;\n      delete tmpRoute.children;\n      res.push(tmpRoute);\n      var childrenRoutes = flatAsyncRoutes(tmp.children, childrenBreadcrumb, childrenBaseUrl);\n      childrenRoutes.map(function (item) {\n        // 如果 path 一样则覆盖，因为子路由的 path 可能设置为空，导致和父路由一样，直接注册会提示路由重复\n        if (res.some(function (v) {\n          return v.path == item.path;\n        })) {\n          res.forEach(function (v, i) {\n            if (v.path == item.path) {\n              res[i] = item;\n            }\n          });\n        } else {\n          res.push(item);\n        }\n      });\n    } else {\n      if (baseUrl != '') {\n        if (tmp.path != '') {\n          tmp.path = \"\".concat(baseUrl, \"/\").concat(tmp.path);\n        } else {\n          tmp.path = baseUrl;\n        }\n      } // 处理面包屑导航\n\n\n      var tmpBreadcrumb = Object(_util__WEBPACK_IMPORTED_MODULE_9__[\"deepClone\"])(breadcrumb);\n\n      if (tmp.meta.breadcrumb !== false) {\n        tmpBreadcrumb.push({\n          path: tmp.path,\n          title: tmp.meta.title,\n          i18n: tmp.meta.i18n\n        });\n      }\n\n      tmp.meta.breadcrumbNeste = tmpBreadcrumb;\n      res.push(tmp);\n    }\n  });\n  return res;\n}\n\nvar state = {\n  isGenerate: false,\n  routes: [],\n  headerActived: 0\n};\nvar getters = {\n  sidebarRoutes: function sidebarRoutes(state) {\n    return state.routes[state.headerActived].children;\n  }\n};\nvar actions = {\n  // 根据权限动态生成路由\n  generateRoutes: function generateRoutes(_ref, data) {\n    var rootState = _ref.rootState,\n        dispatch = _ref.dispatch,\n        commit = _ref.commit;\n    // eslint-disable-next-line no-async-promise-executor\n    return new Promise( /*#__PURE__*/function () {\n      var _ref2 = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resolve) {\n        var accessedRoutes, permissions, routes;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!rootState.settings.openPermission) {\n                  _context.next = 7;\n                  break;\n                }\n\n                _context.next = 3;\n                return dispatch('user/getPermissions', null, {\n                  root: true\n                });\n\n              case 3:\n                permissions = _context.sent;\n                accessedRoutes = filterAsyncRoutes(data.asyncRoutes, permissions);\n                _context.next = 8;\n                break;\n\n              case 7:\n                accessedRoutes = data.asyncRoutes;\n\n              case 8:\n                commit('setRoutes', accessedRoutes);\n                commit('setHeaderActived', data.currentPath);\n                routes = [];\n                accessedRoutes.map(function (item) {\n                  routes.push.apply(routes, Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(item.children));\n                });\n\n                if (rootState.settings.enableFlatRoutes) {\n                  routes.map(function (item) {\n                    if (item.children) {\n                      item.children = flatAsyncRoutes(item.children, [{\n                        path: item.path,\n                        title: item.meta.title,\n                        i18n: item.meta.i18n\n                      }]);\n                    }\n                  });\n                }\n\n                resolve(routes);\n\n              case 14:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      return function (_x) {\n        return _ref2.apply(this, arguments);\n      };\n    }());\n  }\n};\nvar mutations = {\n  invalidRoutes: function invalidRoutes(state) {\n    state.isGenerate = false;\n    state.headerActived = 0;\n  },\n  setRoutes: function setRoutes(state, routes) {\n    state.isGenerate = true;\n    var newRoutes = Object(_util__WEBPACK_IMPORTED_MODULE_9__[\"deepClone\"])(routes);\n    state.routes = newRoutes.filter(function (item) {\n      return item.children.length != 0;\n    });\n  },\n  // 根据路由判断属于哪个头部导航\n  setHeaderActived: function setHeaderActived(state, path) {\n    state.routes.map(function (item, index) {\n      if (item.children.some(function (r) {\n        return path.indexOf(r.path + '/') === 0 || path == r.path;\n      })) {\n        state.headerActived = index;\n      }\n    });\n  },\n  // 切换头部导航\n  switchHeaderActived: function switchHeaderActived(state, index) {\n    state.headerActived = index;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  namespaced: true,\n  state: state,\n  actions: actions,\n  getters: getters,\n  mutations: mutations\n});\n\n//# sourceURL=webpack:///./src/store/modules/menu.js?");

/***/ }),

/***/ "./src/store/modules/menuBadge.js":
/*!****************************************!*\
  !*** ./src/store/modules/menuBadge.js ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar state = {\n  dot: true,\n  number: 10,\n  text: '热门'\n};\nvar getters = {};\nvar actions = {};\nvar mutations = {\n  switchDot: function switchDot(state) {\n    state.dot = !state.dot;\n  },\n  setNumber: function setNumber(state, number) {\n    state.number = number;\n  },\n  setText: function setText(state, text) {\n    state.text = text;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  namespaced: true,\n  state: state,\n  actions: actions,\n  getters: getters,\n  mutations: mutations\n});\n\n//# sourceURL=webpack:///./src/store/modules/menuBadge.js?");

/***/ }),

/***/ "./src/store/modules/settings.js":
/*!***************************************!*\
  !*** ./src/store/modules/settings.js ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/settings */ \"./src/settings.js\");\n\n\n/**\n * 存放全局公用状态\n */\n\n\nvar state = Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, _settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"]), {}, {\n  // 侧边栏是否收起（用于记录 pc 模式下最后的状态）\n  sidebarCollapseLastStatus: _settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sidebarCollapse,\n  // 显示模式，支持：mobile、pc\n  mode: 'pc',\n  // 页面标题\n  title: ''\n});\n\nvar getters = {\n  lang: function lang(state) {\n    console.log(state);\n    var retn = state.settings.defaultLang;\n    return retn;\n  }\n};\nvar actions = {};\nvar mutations = {\n  // 设置访问模式，页面宽度小于 992px 时切换为移动端展示\n  setMode: function setMode(state, width) {\n    if (state.enableMobileAdaptation && width < 992) {\n      state.mode = 'mobile';\n    } else {\n      state.mode = 'pc';\n    }\n  },\n  // 设置网页标题\n  setTitle: function setTitle(state, title) {\n    state.title = title;\n  },\n  // 切换侧边栏导航展开/收起\n  toggleSidebarCollapse: function toggleSidebarCollapse(state) {\n    state.sidebarCollapse = !state.sidebarCollapse;\n\n    if (state.mode == 'pc') {\n      state.sidebarCollapseLastStatus = !state.sidebarCollapseLastStatus;\n    }\n  },\n  setDefaultLang: function setDefaultLang(state, lang) {\n    state.defaultLang = lang;\n  },\n  // 更新主题配置\n  updateThemeSetting: function updateThemeSetting(state, data) {\n    Object.assign(state, data);\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  namespaced: true,\n  state: state,\n  actions: actions,\n  getters: getters,\n  mutations: mutations\n});\n\n//# sourceURL=webpack:///./src/store/modules/settings.js?");

/***/ }),

/***/ "./src/store/modules/tabbar.js":
/*!*************************************!*\
  !*** ./src/store/modules/tabbar.js ***!
  \*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/util/storage */ \"./src/util/storage.js\");\n\n\n\n\n\n\n\n\n\nvar state = {\n  list: []\n};\nvar getters = {};\nvar actions = {\n  add: function add(_ref, route) {\n    var rootState = _ref.rootState,\n        commit = _ref.commit;\n    return new Promise(function (resolve) {\n      var names = [];\n      route.matched.map(function (v, i) {\n        if (i > 0) {\n          v.components.default.name && names.push(v.components.default.name);\n        }\n      });\n      commit('add', {\n        route: route,\n        name: names\n      }); // 更新固定标签页的数据，数据会记录在 localstorage 里\n\n      commit('updateStorage', rootState.user.account); // 增加标签页缓存\n\n      commit('keepAlive/add', names, {\n        root: true\n      });\n      resolve();\n    });\n  },\n  remove: function remove(_ref2, path) {\n    var rootState = _ref2.rootState,\n        state = _ref2.state,\n        commit = _ref2.commit;\n    var name;\n    state.list.map(function (v) {\n      if (v.path == path) {\n        name = v.name;\n      }\n    });\n    commit('remove', path);\n    commit('updateStorage', rootState.user.account);\n    name && commit('keepAlive/remove', name, {\n      root: true\n    });\n  },\n  removeOtherSide: function removeOtherSide(_ref3, path) {\n    var rootState = _ref3.rootState,\n        state = _ref3.state,\n        commit = _ref3.commit;\n    var names = [];\n    state.list.map(function (v) {\n      if (v.path != path && !v.isPin) {\n        names.push(v.name);\n      }\n    });\n    commit('removeOtherSide', path);\n    commit('updateStorage', rootState.user.account);\n    names.map(function (v) {\n      commit('keepAlive/remove', v, {\n        root: true\n      });\n    });\n  },\n  removeLeftSide: function removeLeftSide(_ref4, path) {\n    var rootState = _ref4.rootState,\n        state = _ref4.state,\n        commit = _ref4.commit;\n    var index = ~~Object.keys(state.list).find(function (i) {\n      return state.list[i].path == path;\n    });\n    var names = [];\n    state.list.map(function (v, i) {\n      if (i < index && !v.isPin) {\n        names.push(v.name);\n      }\n    });\n    commit('removeLeftSide', path);\n    commit('updateStorage', rootState.user.account);\n    names.map(function (v) {\n      commit('keepAlive/remove', v, {\n        root: true\n      });\n    });\n  },\n  removeRightSide: function removeRightSide(_ref5, path) {\n    var rootState = _ref5.rootState,\n        commit = _ref5.commit;\n    var index = ~~Object.keys(state.list).find(function (i) {\n      return state.list[i].path == path;\n    });\n    var names = [];\n    state.list.map(function (v, i) {\n      if (i > index && !v.isPin) {\n        names.push(v.name);\n      }\n    });\n    commit('removeRightSide', path);\n    commit('updateStorage', rootState.user.account);\n    names.map(function (v) {\n      commit('keepAlive/remove', v, {\n        root: true\n      });\n    });\n  },\n  pin: function pin(_ref6, path) {\n    var rootState = _ref6.rootState,\n        commit = _ref6.commit;\n    commit('pin', path);\n    commit('updateStorage', rootState.user.account);\n  },\n  unPin: function unPin(_ref7, path) {\n    var rootState = _ref7.rootState,\n        commit = _ref7.commit;\n    commit('unPin', path);\n    commit('updateStorage', rootState.user.account);\n  }\n};\nvar mutations = {\n  // 根据 localstorage 数据复原当前帐号的固定标签页\n  recoveryStorage: function recoveryStorage(state, account) {\n    if (_util_storage__WEBPACK_IMPORTED_MODULE_8__[\"default\"].local.get('tabbarPinData') != null) {\n      state.list = JSON.parse(_util_storage__WEBPACK_IMPORTED_MODULE_8__[\"default\"].local.get('tabbarPinData'))[account] || [];\n    }\n  },\n  // 更新 localstorage 数据\n  updateStorage: function updateStorage(state, account) {\n    var data = JSON.parse(_util_storage__WEBPACK_IMPORTED_MODULE_8__[\"default\"].local.get('tabbarPinData')) || {};\n    data[account] = state.list.filter(function (item) {\n      return item.isPin;\n    });\n    _util_storage__WEBPACK_IMPORTED_MODULE_8__[\"default\"].local.set('tabbarPinData', JSON.stringify(data));\n  },\n  // 清空所有标签页，登出的时候需要清空\n  clean: function clean(state) {\n    state.list = [];\n  },\n  // 添加标签页\n  add: function add(state, data) {\n    if (data.route.name != 'reload') {\n      if (!state.list.some(function (item) {\n        return item.path == (data.route.meta.activeMenu || data.route.fullPath);\n      })) {\n        state.list.push({\n          path: data.route.meta.activeMenu || data.route.fullPath,\n          title: data.route.meta.title,\n          i18n: data.route.meta.i18n,\n          name: data.name,\n          isPin: false\n        });\n      }\n    }\n  },\n  // 删除指定标签页\n  remove: function remove(state, path) {\n    state.list = state.list.filter(function (item) {\n      return item.path != path;\n    });\n  },\n  // 删除两侧非固定标签页\n  removeOtherSide: function removeOtherSide(state, path) {\n    state.list = state.list.filter(function (item) {\n      return item.path == path || item.isPin;\n    });\n  },\n  // 删除左侧非固定标签页\n  removeLeftSide: function removeLeftSide(state, path) {\n    // 查找指定路由对应在标签页列表里的下标\n    var index = ~~Object.keys(state.list).find(function (i) {\n      return state.list[i].path == path;\n    });\n    state.list = state.list.filter(function (item, i) {\n      return i >= index || item.isPin;\n    });\n  },\n  // 删除右侧非固定标签页\n  removeRightSide: function removeRightSide(state, path) {\n    // 查找指定路由对应在标签页列表里的下标\n    var index = ~~Object.keys(state.list).find(function (i) {\n      return state.list[i].path == path;\n    });\n    state.list = state.list.filter(function (item, i) {\n      return i <= index || item.isPin;\n    });\n  },\n  // 固定标签页（移动到最后一个固定标签页后面，如果没有则移动至第一个）\n  pin: function pin(state, path) {\n    var index = ~~Object.keys(state.list).find(function (i) {\n      return state.list[i].path == path;\n    });\n    var toIndex = -1;\n    state.list.map(function (item, index) {\n      if (item.isPin) {\n        toIndex = index;\n      }\n    });\n    state.list.splice(toIndex + 1, 0, state.list[index]);\n    state.list.splice(index + 1, 1); // 修改状态\n\n    state.list.map(function (item) {\n      if (item.path == path) {\n        item.isPin = true;\n      }\n    });\n  },\n  // 取消固定标签页（移动到最后一个固定标签页后面）\n  unPin: function unPin(state, path) {\n    var index = Object.keys(state.list).find(function (i) {\n      return state.list[i].path == path;\n    });\n    index = ~~index;\n    var toIndex = -1;\n    state.list.map(function (item, index) {\n      if (item.isPin) {\n        toIndex = index;\n      }\n    });\n    state.list.splice(toIndex + 1, 0, state.list[index]);\n    state.list.splice(index, 1); // 修改状态\n\n    state.list.map(function (item) {\n      if (item.path == path) {\n        item.isPin = false;\n      }\n    });\n  },\n  sort: function sort(state, data) {\n    state.list = data;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  namespaced: true,\n  state: state,\n  actions: actions,\n  getters: getters,\n  mutations: mutations\n});\n\n//# sourceURL=webpack:///./src/store/modules/tabbar.js?");

/***/ }),

/***/ "./src/store/modules/user.js":
/*!***********************************!*\
  !*** ./src/store/modules/user.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/util/storage */ \"./src/util/storage.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/api */ \"./src/api/index.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nvar state = {\n  account: _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.get('account') || '',\n  uid: _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.get('uid'),\n  token: _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.get('token') || '',\n  failure_time: _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.get('failure_time') || '',\n  permissions: []\n};\nvar getters = {\n  isLogin: function isLogin(state) {\n    var retn = false;\n\n    if (state.token) {\n      // let unix = Date.parse(new Date())\n      // if (unix < state.failure_time * 1000) {\n      retn = true; // }\n    }\n\n    return retn;\n  }\n};\nvar actions = {\n  login: function login(_ref, data) {\n    var commit = _ref.commit;\n    return new Promise(function (resolve, reject) {\n      // 通过 mock 进行登录\n      Object(_api__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('/web/adminlogin', {\n        params: data\n      }).then(function (res) {\n        if (res.code == 2000) {\n          res.data.failure_time = new Date(res.time).valueOf();\n          commit('setUserData', res.data);\n          resolve();\n        }\n      }).catch(function (error) {\n        element_ui__WEBPACK_IMPORTED_MODULE_4__[\"Message\"].error(error.msg);\n        reject(error);\n      });\n    });\n  },\n  logout: function logout(_ref2) {\n    var commit = _ref2.commit;\n    commit('removeUserData');\n    commit('menu/invalidRoutes', null, {\n      root: true\n    });\n    commit('tabbar/clean', null, {\n      root: true\n    });\n  },\n  loginByToken: function loginByToken(_ref3, token) {\n    var commit = _ref3.commit;\n    return new Promise(function (resolve) {\n      _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.set('token', token);\n      commit('setToken', token);\n      resolve();\n    });\n  },\n  // 获取我的权限\n  getPermissions: function getPermissions(_ref4) {\n    var commit = _ref4.commit;\n    return new Promise(function (resolve) {\n      // 通过 mock 获取权限\n      _api__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('/admin/home/loginRule').then(function (res) {\n        commit('setPermissions', res.data);\n        resolve(res.data);\n      }); // api.post('/admin/getAuth')\n      // .then(res => {\n      //     commit('setPermissions', [res.data+''])\n      //     resolve([res.data+''])\n      // })\n    });\n  }\n};\nvar mutations = {\n  setUserData: function setUserData(state, data) {\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.set('account', data.name);\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.set('token', data.token);\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.set('uid', data.uid);\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.set('store', data.store);\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.set('failure_time', data.failure_time);\n    state.account = data.username;\n    state.token = data.token;\n    state.uid = data.uid;\n    state.failure_time = data.failure_time;\n  },\n  setToken: function setToken(state, data) {\n    state.token = data;\n  },\n  removeUserData: function removeUserData(state) {\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.remove('account');\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.remove('token');\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.remove('failure_time');\n    _util_storage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].local.remove('uid');\n    state.account = '';\n    state.token = '';\n    state.uid = '';\n    state.failure_time = '';\n  },\n  setPermissions: function setPermissions(state, permissions) {\n    state.permissions = permissions;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  namespaced: true,\n  state: state,\n  actions: actions,\n  getters: getters,\n  mutations: mutations\n});\n\n//# sourceURL=webpack:///./src/store/modules/user.js?");

/***/ }),

/***/ "./src/util/api.js":
/*!*************************!*\
  !*** ./src/util/api.js ***!
  \*************************/
/*! exports provided: getsync, postsync */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getsync\", function() { return getsync; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"postsync\", function() { return postsync; });\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/api */ \"./src/api/index.js\");\n\n\nfunction getsync(url, params) {\n  return new Promise(function (resolve, reject) {\n    Object(_api__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(url, {\n      params: params\n    }).then(function (res) {\n      resolve(res);\n    }).catch(function (rej) {\n      reject(rej);\n    });\n  });\n}\nfunction postsync(url, data) {\n  return new Promise(function (resolve, reject) {\n    _api__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(url, data).then(function (res) {\n      resolve(res);\n    }).catch(function (rej) {\n      reject(rej);\n    });\n  });\n}\n\n//# sourceURL=webpack:///./src/util/api.js?");

/***/ }),

/***/ "./src/util/area.js":
/*!**************************!*\
  !*** ./src/util/area.js ***!
  \**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar area = [{\n  'name': '北京市',\n  'code': '110000',\n  'region': 'north',\n  'provinceLevelCity': true,\n  'children': [{\n    'name': '市辖区',\n    'code': '110100',\n    'children': [{\n      'name': '东城区',\n      'code': '110101'\n    }, {\n      'name': '西城区',\n      'code': '110102'\n    }, {\n      'name': '朝阳区',\n      'code': '110105'\n    }, {\n      'name': '丰台区',\n      'code': '110106'\n    }, {\n      'name': '石景山区',\n      'code': '110107'\n    }, {\n      'name': '海淀区',\n      'code': '110108'\n    }, {\n      'name': '门头沟区',\n      'code': '110109'\n    }, {\n      'name': '房山区',\n      'code': '110111'\n    }, {\n      'name': '通州区',\n      'code': '110112'\n    }, {\n      'name': '顺义区',\n      'code': '110113'\n    }, {\n      'name': '昌平区',\n      'code': '110114'\n    }, {\n      'name': '大兴区',\n      'code': '110115'\n    }, {\n      'name': '怀柔区',\n      'code': '110116'\n    }, {\n      'name': '平谷区',\n      'code': '110117'\n    }, {\n      'name': '密云区',\n      'code': '110118'\n    }, {\n      'name': '延庆区',\n      'code': '110119'\n    }]\n  }]\n}, {\n  'name': '天津市',\n  'code': '120000',\n  'region': 'north',\n  'provinceLevelCity': true,\n  'children': [{\n    'name': '市辖区',\n    'code': '120100',\n    'children': [{\n      'name': '和平区',\n      'code': '120101'\n    }, {\n      'name': '河东区',\n      'code': '120102'\n    }, {\n      'name': '河西区',\n      'code': '120103'\n    }, {\n      'name': '南开区',\n      'code': '120104'\n    }, {\n      'name': '河北区',\n      'code': '120105'\n    }, {\n      'name': '红桥区',\n      'code': '120106'\n    }, {\n      'name': '东丽区',\n      'code': '120110'\n    }, {\n      'name': '西青区',\n      'code': '120111'\n    }, {\n      'name': '津南区',\n      'code': '120112'\n    }, {\n      'name': '北辰区',\n      'code': '120113'\n    }, {\n      'name': '武清区',\n      'code': '120114'\n    }, {\n      'name': '宝坻区',\n      'code': '120115'\n    }, {\n      'name': '滨海新区',\n      'code': '120116'\n    }, {\n      'name': '宁河区',\n      'code': '120117'\n    }, {\n      'name': '静海区',\n      'code': '120118'\n    }, {\n      'name': '蓟州区',\n      'code': '120119'\n    }]\n  }]\n}, {\n  'name': '河北省',\n  'code': '130000',\n  'region': 'north',\n  'children': [{\n    'name': '石家庄市',\n    'code': '130100',\n    'children': [{\n      'name': '长安区',\n      'code': '130102'\n    }, {\n      'name': '桥西区',\n      'code': '130104'\n    }, {\n      'name': '新华区',\n      'code': '130105'\n    }, {\n      'name': '井陉矿区',\n      'code': '130107'\n    }, {\n      'name': '裕华区',\n      'code': '130108'\n    }, {\n      'name': '藁城区',\n      'code': '130109'\n    }, {\n      'name': '鹿泉区',\n      'code': '130110'\n    }, {\n      'name': '栾城区',\n      'code': '130111'\n    }, {\n      'name': '井陉县',\n      'code': '130121'\n    }, {\n      'name': '正定县',\n      'code': '130123'\n    }, {\n      'name': '行唐县',\n      'code': '130125'\n    }, {\n      'name': '灵寿县',\n      'code': '130126'\n    }, {\n      'name': '高邑县',\n      'code': '130127'\n    }, {\n      'name': '深泽县',\n      'code': '130128'\n    }, {\n      'name': '赞皇县',\n      'code': '130129'\n    }, {\n      'name': '无极县',\n      'code': '130130'\n    }, {\n      'name': '平山县',\n      'code': '130131'\n    }, {\n      'name': '元氏县',\n      'code': '130132'\n    }, {\n      'name': '赵县',\n      'code': '130133'\n    }, {\n      'name': '辛集市',\n      'code': '130181'\n    }, {\n      'name': '晋州市',\n      'code': '130183'\n    }, {\n      'name': '新乐市',\n      'code': '130184'\n    }]\n  }, {\n    'name': '唐山市',\n    'code': '130200',\n    'children': [{\n      'name': '路南区',\n      'code': '130202'\n    }, {\n      'name': '路北区',\n      'code': '130203'\n    }, {\n      'name': '古冶区',\n      'code': '130204'\n    }, {\n      'name': '开平区',\n      'code': '130205'\n    }, {\n      'name': '丰南区',\n      'code': '130207'\n    }, {\n      'name': '丰润区',\n      'code': '130208'\n    }, {\n      'name': '曹妃甸区',\n      'code': '130209'\n    }, {\n      'name': '滦南县',\n      'code': '130224'\n    }, {\n      'name': '乐亭县',\n      'code': '130225'\n    }, {\n      'name': '迁西县',\n      'code': '130227'\n    }, {\n      'name': '玉田县',\n      'code': '130229'\n    }, {\n      'name': '遵化市',\n      'code': '130281'\n    }, {\n      'name': '迁安市',\n      'code': '130283'\n    }, {\n      'name': '滦州市',\n      'code': '130284'\n    }]\n  }, {\n    'name': '秦皇岛市',\n    'code': '130300',\n    'children': [{\n      'name': '海港区',\n      'code': '130302'\n    }, {\n      'name': '山海关区',\n      'code': '130303'\n    }, {\n      'name': '北戴河区',\n      'code': '130304'\n    }, {\n      'name': '抚宁区',\n      'code': '130306'\n    }, {\n      'name': '青龙满族自治县',\n      'code': '130321'\n    }, {\n      'name': '昌黎县',\n      'code': '130322'\n    }, {\n      'name': '卢龙县',\n      'code': '130324'\n    }]\n  }, {\n    'name': '邯郸市',\n    'code': '130400',\n    'children': [{\n      'name': '邯山区',\n      'code': '130402'\n    }, {\n      'name': '丛台区',\n      'code': '130403'\n    }, {\n      'name': '复兴区',\n      'code': '130404'\n    }, {\n      'name': '峰峰矿区',\n      'code': '130406'\n    }, {\n      'name': '肥乡区',\n      'code': '130407'\n    }, {\n      'name': '永年区',\n      'code': '130408'\n    }, {\n      'name': '临漳县',\n      'code': '130423'\n    }, {\n      'name': '成安县',\n      'code': '130424'\n    }, {\n      'name': '大名县',\n      'code': '130425'\n    }, {\n      'name': '涉县',\n      'code': '130426'\n    }, {\n      'name': '磁县',\n      'code': '130427'\n    }, {\n      'name': '邱县',\n      'code': '130430'\n    }, {\n      'name': '鸡泽县',\n      'code': '130431'\n    }, {\n      'name': '广平县',\n      'code': '130432'\n    }, {\n      'name': '馆陶县',\n      'code': '130433'\n    }, {\n      'name': '魏县',\n      'code': '130434'\n    }, {\n      'name': '曲周县',\n      'code': '130435'\n    }, {\n      'name': '武安市',\n      'code': '130481'\n    }]\n  }, {\n    'name': '邢台市',\n    'code': '130500',\n    'children': [{\n      'name': '桥东区',\n      'code': '130502'\n    }, {\n      'name': '桥西区',\n      'code': '130503'\n    }, {\n      'name': '邢台县',\n      'code': '130521'\n    }, {\n      'name': '临城县',\n      'code': '130522'\n    }, {\n      'name': '内丘县',\n      'code': '130523'\n    }, {\n      'name': '柏乡县',\n      'code': '130524'\n    }, {\n      'name': '隆尧县',\n      'code': '130525'\n    }, {\n      'name': '任县',\n      'code': '130526'\n    }, {\n      'name': '南和县',\n      'code': '130527'\n    }, {\n      'name': '宁晋县',\n      'code': '130528'\n    }, {\n      'name': '巨鹿县',\n      'code': '130529'\n    }, {\n      'name': '新河县',\n      'code': '130530'\n    }, {\n      'name': '广宗县',\n      'code': '130531'\n    }, {\n      'name': '平乡县',\n      'code': '130532'\n    }, {\n      'name': '威县',\n      'code': '130533'\n    }, {\n      'name': '清河县',\n      'code': '130534'\n    }, {\n      'name': '临西县',\n      'code': '130535'\n    }, {\n      'name': '南宫市',\n      'code': '130581'\n    }, {\n      'name': '沙河市',\n      'code': '130582'\n    }]\n  }, {\n    'name': '保定市',\n    'code': '130600',\n    'children': [{\n      'name': '竞秀区',\n      'code': '130602'\n    }, {\n      'name': '莲池区',\n      'code': '130606'\n    }, {\n      'name': '满城区',\n      'code': '130607'\n    }, {\n      'name': '清苑区',\n      'code': '130608'\n    }, {\n      'name': '徐水区',\n      'code': '130609'\n    }, {\n      'name': '涞水县',\n      'code': '130623'\n    }, {\n      'name': '阜平县',\n      'code': '130624'\n    }, {\n      'name': '定兴县',\n      'code': '130626'\n    }, {\n      'name': '唐县',\n      'code': '130627'\n    }, {\n      'name': '高阳县',\n      'code': '130628'\n    }, {\n      'name': '容城县',\n      'code': '130629'\n    }, {\n      'name': '涞源县',\n      'code': '130630'\n    }, {\n      'name': '望都县',\n      'code': '130631'\n    }, {\n      'name': '安新县',\n      'code': '130632'\n    }, {\n      'name': '易县',\n      'code': '130633'\n    }, {\n      'name': '曲阳县',\n      'code': '130634'\n    }, {\n      'name': '蠡县',\n      'code': '130635'\n    }, {\n      'name': '顺平县',\n      'code': '130636'\n    }, {\n      'name': '博野县',\n      'code': '130637'\n    }, {\n      'name': '雄县',\n      'code': '130638'\n    }, {\n      'name': '涿州市',\n      'code': '130681'\n    }, {\n      'name': '定州市',\n      'code': '130682'\n    }, {\n      'name': '安国市',\n      'code': '130683'\n    }, {\n      'name': '高碑店市',\n      'code': '130684'\n    }]\n  }, {\n    'name': '张家口市',\n    'code': '130700',\n    'children': [{\n      'name': '桥东区',\n      'code': '130702'\n    }, {\n      'name': '桥西区',\n      'code': '130703'\n    }, {\n      'name': '宣化区',\n      'code': '130705'\n    }, {\n      'name': '下花园区',\n      'code': '130706'\n    }, {\n      'name': '万全区',\n      'code': '130708'\n    }, {\n      'name': '崇礼区',\n      'code': '130709'\n    }, {\n      'name': '张北县',\n      'code': '130722'\n    }, {\n      'name': '康保县',\n      'code': '130723'\n    }, {\n      'name': '沽源县',\n      'code': '130724'\n    }, {\n      'name': '尚义县',\n      'code': '130725'\n    }, {\n      'name': '蔚县',\n      'code': '130726'\n    }, {\n      'name': '阳原县',\n      'code': '130727'\n    }, {\n      'name': '怀安县',\n      'code': '130728'\n    }, {\n      'name': '怀来县',\n      'code': '130730'\n    }, {\n      'name': '涿鹿县',\n      'code': '130731'\n    }, {\n      'name': '赤城县',\n      'code': '130732'\n    }]\n  }, {\n    'name': '承德市',\n    'code': '130800',\n    'children': [{\n      'name': '双桥区',\n      'code': '130802'\n    }, {\n      'name': '双滦区',\n      'code': '130803'\n    }, {\n      'name': '鹰手营子矿区',\n      'code': '130804'\n    }, {\n      'name': '承德县',\n      'code': '130821'\n    }, {\n      'name': '兴隆县',\n      'code': '130822'\n    }, {\n      'name': '滦平县',\n      'code': '130824'\n    }, {\n      'name': '隆化县',\n      'code': '130825'\n    }, {\n      'name': '丰宁满族自治县',\n      'code': '130826'\n    }, {\n      'name': '宽城满族自治县',\n      'code': '130827'\n    }, {\n      'name': '围场满族蒙古族自治县',\n      'code': '130828'\n    }, {\n      'name': '平泉市',\n      'code': '130881'\n    }]\n  }, {\n    'name': '沧州市',\n    'code': '130900',\n    'children': [{\n      'name': '新华区',\n      'code': '130902'\n    }, {\n      'name': '运河区',\n      'code': '130903'\n    }, {\n      'name': '沧县',\n      'code': '130921'\n    }, {\n      'name': '青县',\n      'code': '130922'\n    }, {\n      'name': '东光县',\n      'code': '130923'\n    }, {\n      'name': '海兴县',\n      'code': '130924'\n    }, {\n      'name': '盐山县',\n      'code': '130925'\n    }, {\n      'name': '肃宁县',\n      'code': '130926'\n    }, {\n      'name': '南皮县',\n      'code': '130927'\n    }, {\n      'name': '吴桥县',\n      'code': '130928'\n    }, {\n      'name': '献县',\n      'code': '130929'\n    }, {\n      'name': '孟村回族自治县',\n      'code': '130930'\n    }, {\n      'name': '泊头市',\n      'code': '130981'\n    }, {\n      'name': '任丘市',\n      'code': '130982'\n    }, {\n      'name': '黄骅市',\n      'code': '130983'\n    }, {\n      'name': '河间市',\n      'code': '130984'\n    }]\n  }, {\n    'name': '廊坊市',\n    'code': '131000',\n    'children': [{\n      'name': '安次区',\n      'code': '131002'\n    }, {\n      'name': '广阳区',\n      'code': '131003'\n    }, {\n      'name': '固安县',\n      'code': '131022'\n    }, {\n      'name': '永清县',\n      'code': '131023'\n    }, {\n      'name': '香河县',\n      'code': '131024'\n    }, {\n      'name': '大城县',\n      'code': '131025'\n    }, {\n      'name': '文安县',\n      'code': '131026'\n    }, {\n      'name': '大厂回族自治县',\n      'code': '131028'\n    }, {\n      'name': '霸州市',\n      'code': '131081'\n    }, {\n      'name': '三河市',\n      'code': '131082'\n    }]\n  }, {\n    'name': '衡水市',\n    'code': '131100',\n    'children': [{\n      'name': '桃城区',\n      'code': '131102'\n    }, {\n      'name': '冀州区',\n      'code': '131103'\n    }, {\n      'name': '枣强县',\n      'code': '131121'\n    }, {\n      'name': '武邑县',\n      'code': '131122'\n    }, {\n      'name': '武强县',\n      'code': '131123'\n    }, {\n      'name': '饶阳县',\n      'code': '131124'\n    }, {\n      'name': '安平县',\n      'code': '131125'\n    }, {\n      'name': '故城县',\n      'code': '131126'\n    }, {\n      'name': '景县',\n      'code': '131127'\n    }, {\n      'name': '阜城县',\n      'code': '131128'\n    }, {\n      'name': '深州市',\n      'code': '131182'\n    }]\n  }]\n}, {\n  'name': '山西省',\n  'code': '140000',\n  'region': 'north',\n  'children': [{\n    'name': '太原市',\n    'code': '140100',\n    'children': [{\n      'name': '小店区',\n      'code': '140105'\n    }, {\n      'name': '迎泽区',\n      'code': '140106'\n    }, {\n      'name': '杏花岭区',\n      'code': '140107'\n    }, {\n      'name': '尖草坪区',\n      'code': '140108'\n    }, {\n      'name': '万柏林区',\n      'code': '140109'\n    }, {\n      'name': '晋源区',\n      'code': '140110'\n    }, {\n      'name': '清徐县',\n      'code': '140121'\n    }, {\n      'name': '阳曲县',\n      'code': '140122'\n    }, {\n      'name': '娄烦县',\n      'code': '140123'\n    }, {\n      'name': '古交市',\n      'code': '140181'\n    }]\n  }, {\n    'name': '大同市',\n    'code': '140200',\n    'children': [{\n      'name': '新荣区',\n      'code': '140212'\n    }, {\n      'name': '平城区',\n      'code': '140213'\n    }, {\n      'name': '云冈区',\n      'code': '140214'\n    }, {\n      'name': '云州区',\n      'code': '140215'\n    }, {\n      'name': '阳高县',\n      'code': '140221'\n    }, {\n      'name': '天镇县',\n      'code': '140222'\n    }, {\n      'name': '广灵县',\n      'code': '140223'\n    }, {\n      'name': '灵丘县',\n      'code': '140224'\n    }, {\n      'name': '浑源县',\n      'code': '140225'\n    }, {\n      'name': '左云县',\n      'code': '140226'\n    }]\n  }, {\n    'name': '阳泉市',\n    'code': '140300',\n    'children': [{\n      'name': '城区',\n      'code': '140302'\n    }, {\n      'name': '矿区',\n      'code': '140303'\n    }, {\n      'name': '郊区',\n      'code': '140311'\n    }, {\n      'name': '平定县',\n      'code': '140321'\n    }, {\n      'name': '盂县',\n      'code': '140322'\n    }]\n  }, {\n    'name': '长治市',\n    'code': '140400',\n    'children': [{\n      'name': '潞州区',\n      'code': '140403'\n    }, {\n      'name': '上党区',\n      'code': '140404'\n    }, {\n      'name': '屯留区',\n      'code': '140405'\n    }, {\n      'name': '潞城区',\n      'code': '140406'\n    }, {\n      'name': '襄垣县',\n      'code': '140423'\n    }, {\n      'name': '平顺县',\n      'code': '140425'\n    }, {\n      'name': '黎城县',\n      'code': '140426'\n    }, {\n      'name': '壶关县',\n      'code': '140427'\n    }, {\n      'name': '长子县',\n      'code': '140428'\n    }, {\n      'name': '武乡县',\n      'code': '140429'\n    }, {\n      'name': '沁县',\n      'code': '140430'\n    }, {\n      'name': '沁源县',\n      'code': '140431'\n    }]\n  }, {\n    'name': '晋城市',\n    'code': '140500',\n    'children': [{\n      'name': '城区',\n      'code': '140502'\n    }, {\n      'name': '沁水县',\n      'code': '140521'\n    }, {\n      'name': '阳城县',\n      'code': '140522'\n    }, {\n      'name': '陵川县',\n      'code': '140524'\n    }, {\n      'name': '泽州县',\n      'code': '140525'\n    }, {\n      'name': '高平市',\n      'code': '140581'\n    }]\n  }, {\n    'name': '朔州市',\n    'code': '140600',\n    'children': [{\n      'name': '朔城区',\n      'code': '140602'\n    }, {\n      'name': '平鲁区',\n      'code': '140603'\n    }, {\n      'name': '山阴县',\n      'code': '140621'\n    }, {\n      'name': '应县',\n      'code': '140622'\n    }, {\n      'name': '右玉县',\n      'code': '140623'\n    }, {\n      'name': '怀仁市',\n      'code': '140681'\n    }]\n  }, {\n    'name': '晋中市',\n    'code': '140700',\n    'children': [{\n      'name': '榆次区',\n      'code': '140702'\n    }, {\n      'name': '榆社县',\n      'code': '140721'\n    }, {\n      'name': '左权县',\n      'code': '140722'\n    }, {\n      'name': '和顺县',\n      'code': '140723'\n    }, {\n      'name': '昔阳县',\n      'code': '140724'\n    }, {\n      'name': '寿阳县',\n      'code': '140725'\n    }, {\n      'name': '太谷县',\n      'code': '140726'\n    }, {\n      'name': '祁县',\n      'code': '140727'\n    }, {\n      'name': '平遥县',\n      'code': '140728'\n    }, {\n      'name': '灵石县',\n      'code': '140729'\n    }, {\n      'name': '介休市',\n      'code': '140781'\n    }]\n  }, {\n    'name': '运城市',\n    'code': '140800',\n    'children': [{\n      'name': '盐湖区',\n      'code': '140802'\n    }, {\n      'name': '临猗县',\n      'code': '140821'\n    }, {\n      'name': '万荣县',\n      'code': '140822'\n    }, {\n      'name': '闻喜县',\n      'code': '140823'\n    }, {\n      'name': '稷山县',\n      'code': '140824'\n    }, {\n      'name': '新绛县',\n      'code': '140825'\n    }, {\n      'name': '绛县',\n      'code': '140826'\n    }, {\n      'name': '垣曲县',\n      'code': '140827'\n    }, {\n      'name': '夏县',\n      'code': '140828'\n    }, {\n      'name': '平陆县',\n      'code': '140829'\n    }, {\n      'name': '芮城县',\n      'code': '140830'\n    }, {\n      'name': '永济市',\n      'code': '140881'\n    }, {\n      'name': '河津市',\n      'code': '140882'\n    }]\n  }, {\n    'name': '忻州市',\n    'code': '140900',\n    'children': [{\n      'name': '忻府区',\n      'code': '140902'\n    }, {\n      'name': '定襄县',\n      'code': '140921'\n    }, {\n      'name': '五台县',\n      'code': '140922'\n    }, {\n      'name': '代县',\n      'code': '140923'\n    }, {\n      'name': '繁峙县',\n      'code': '140924'\n    }, {\n      'name': '宁武县',\n      'code': '140925'\n    }, {\n      'name': '静乐县',\n      'code': '140926'\n    }, {\n      'name': '神池县',\n      'code': '140927'\n    }, {\n      'name': '五寨县',\n      'code': '140928'\n    }, {\n      'name': '岢岚县',\n      'code': '140929'\n    }, {\n      'name': '河曲县',\n      'code': '140930'\n    }, {\n      'name': '保德县',\n      'code': '140931'\n    }, {\n      'name': '偏关县',\n      'code': '140932'\n    }, {\n      'name': '原平市',\n      'code': '140981'\n    }]\n  }, {\n    'name': '临汾市',\n    'code': '141000',\n    'children': [{\n      'name': '尧都区',\n      'code': '141002'\n    }, {\n      'name': '曲沃县',\n      'code': '141021'\n    }, {\n      'name': '翼城县',\n      'code': '141022'\n    }, {\n      'name': '襄汾县',\n      'code': '141023'\n    }, {\n      'name': '洪洞县',\n      'code': '141024'\n    }, {\n      'name': '古县',\n      'code': '141025'\n    }, {\n      'name': '安泽县',\n      'code': '141026'\n    }, {\n      'name': '浮山县',\n      'code': '141027'\n    }, {\n      'name': '吉县',\n      'code': '141028'\n    }, {\n      'name': '乡宁县',\n      'code': '141029'\n    }, {\n      'name': '大宁县',\n      'code': '141030'\n    }, {\n      'name': '隰县',\n      'code': '141031'\n    }, {\n      'name': '永和县',\n      'code': '141032'\n    }, {\n      'name': '蒲县',\n      'code': '141033'\n    }, {\n      'name': '汾西县',\n      'code': '141034'\n    }, {\n      'name': '侯马市',\n      'code': '141081'\n    }, {\n      'name': '霍州市',\n      'code': '141082'\n    }]\n  }, {\n    'name': '吕梁市',\n    'code': '141100',\n    'children': [{\n      'name': '离石区',\n      'code': '141102'\n    }, {\n      'name': '文水县',\n      'code': '141121'\n    }, {\n      'name': '交城县',\n      'code': '141122'\n    }, {\n      'name': '兴县',\n      'code': '141123'\n    }, {\n      'name': '临县',\n      'code': '141124'\n    }, {\n      'name': '柳林县',\n      'code': '141125'\n    }, {\n      'name': '石楼县',\n      'code': '141126'\n    }, {\n      'name': '岚县',\n      'code': '141127'\n    }, {\n      'name': '方山县',\n      'code': '141128'\n    }, {\n      'name': '中阳县',\n      'code': '141129'\n    }, {\n      'name': '交口县',\n      'code': '141130'\n    }, {\n      'name': '孝义市',\n      'code': '141181'\n    }, {\n      'name': '汾阳市',\n      'code': '141182'\n    }]\n  }]\n}, {\n  'name': '内蒙古自治区',\n  'code': '150000',\n  'region': 'north',\n  'autonomousRegion': true,\n  'children': [{\n    'name': '呼和浩特市',\n    'code': '150100',\n    'children': [{\n      'name': '新城区',\n      'code': '150102'\n    }, {\n      'name': '回民区',\n      'code': '150103'\n    }, {\n      'name': '玉泉区',\n      'code': '150104'\n    }, {\n      'name': '赛罕区',\n      'code': '150105'\n    }, {\n      'name': '土默特左旗',\n      'code': '150121'\n    }, {\n      'name': '托克托县',\n      'code': '150122'\n    }, {\n      'name': '和林格尔县',\n      'code': '150123'\n    }, {\n      'name': '清水河县',\n      'code': '150124'\n    }, {\n      'name': '武川县',\n      'code': '150125'\n    }]\n  }, {\n    'name': '包头市',\n    'code': '150200',\n    'children': [{\n      'name': '东河区',\n      'code': '150202'\n    }, {\n      'name': '昆都仑区',\n      'code': '150203'\n    }, {\n      'name': '青山区',\n      'code': '150204'\n    }, {\n      'name': '石拐区',\n      'code': '150205'\n    }, {\n      'name': '白云鄂博矿区',\n      'code': '150206'\n    }, {\n      'name': '九原区',\n      'code': '150207'\n    }, {\n      'name': '土默特右旗',\n      'code': '150221'\n    }, {\n      'name': '固阳县',\n      'code': '150222'\n    }, {\n      'name': '达尔罕茂明安联合旗',\n      'code': '150223'\n    }]\n  }, {\n    'name': '乌海市',\n    'code': '150300',\n    'children': [{\n      'name': '海勃湾区',\n      'code': '150302'\n    }, {\n      'name': '海南区',\n      'code': '150303'\n    }, {\n      'name': '乌达区',\n      'code': '150304'\n    }]\n  }, {\n    'name': '赤峰市',\n    'code': '150400',\n    'children': [{\n      'name': '红山区',\n      'code': '150402'\n    }, {\n      'name': '元宝山区',\n      'code': '150403'\n    }, {\n      'name': '松山区',\n      'code': '150404'\n    }, {\n      'name': '阿鲁科尔沁旗',\n      'code': '150421'\n    }, {\n      'name': '巴林左旗',\n      'code': '150422'\n    }, {\n      'name': '巴林右旗',\n      'code': '150423'\n    }, {\n      'name': '林西县',\n      'code': '150424'\n    }, {\n      'name': '克什克腾旗',\n      'code': '150425'\n    }, {\n      'name': '翁牛特旗',\n      'code': '150426'\n    }, {\n      'name': '喀喇沁旗',\n      'code': '150428'\n    }, {\n      'name': '宁城县',\n      'code': '150429'\n    }, {\n      'name': '敖汉旗',\n      'code': '150430'\n    }]\n  }, {\n    'name': '通辽市',\n    'code': '150500',\n    'children': [{\n      'name': '科尔沁区',\n      'code': '150502'\n    }, {\n      'name': '科尔沁左翼中旗',\n      'code': '150521'\n    }, {\n      'name': '科尔沁左翼后旗',\n      'code': '150522'\n    }, {\n      'name': '开鲁县',\n      'code': '150523'\n    }, {\n      'name': '库伦旗',\n      'code': '150524'\n    }, {\n      'name': '奈曼旗',\n      'code': '150525'\n    }, {\n      'name': '扎鲁特旗',\n      'code': '150526'\n    }, {\n      'name': '霍林郭勒市',\n      'code': '150581'\n    }]\n  }, {\n    'name': '鄂尔多斯市',\n    'code': '150600',\n    'children': [{\n      'name': '东胜区',\n      'code': '150602'\n    }, {\n      'name': '康巴什区',\n      'code': '150603'\n    }, {\n      'name': '达拉特旗',\n      'code': '150621'\n    }, {\n      'name': '准格尔旗',\n      'code': '150622'\n    }, {\n      'name': '鄂托克前旗',\n      'code': '150623'\n    }, {\n      'name': '鄂托克旗',\n      'code': '150624'\n    }, {\n      'name': '杭锦旗',\n      'code': '150625'\n    }, {\n      'name': '乌审旗',\n      'code': '150626'\n    }, {\n      'name': '伊金霍洛旗',\n      'code': '150627'\n    }]\n  }, {\n    'name': '呼伦贝尔市',\n    'code': '150700',\n    'children': [{\n      'name': '海拉尔区',\n      'code': '150702'\n    }, {\n      'name': '扎赉诺尔区',\n      'code': '150703'\n    }, {\n      'name': '阿荣旗',\n      'code': '150721'\n    }, {\n      'name': '莫力达瓦达斡尔族自治旗',\n      'code': '150722'\n    }, {\n      'name': '鄂伦春自治旗',\n      'code': '150723'\n    }, {\n      'name': '鄂温克族自治旗',\n      'code': '150724'\n    }, {\n      'name': '陈巴尔虎旗',\n      'code': '150725'\n    }, {\n      'name': '新巴尔虎左旗',\n      'code': '150726'\n    }, {\n      'name': '新巴尔虎右旗',\n      'code': '150727'\n    }, {\n      'name': '满洲里市',\n      'code': '150781'\n    }, {\n      'name': '牙克石市',\n      'code': '150782'\n    }, {\n      'name': '扎兰屯市',\n      'code': '150783'\n    }, {\n      'name': '额尔古纳市',\n      'code': '150784'\n    }, {\n      'name': '根河市',\n      'code': '150785'\n    }]\n  }, {\n    'name': '巴彦淖尔市',\n    'code': '150800',\n    'children': [{\n      'name': '临河区',\n      'code': '150802'\n    }, {\n      'name': '五原县',\n      'code': '150821'\n    }, {\n      'name': '磴口县',\n      'code': '150822'\n    }, {\n      'name': '乌拉特前旗',\n      'code': '150823'\n    }, {\n      'name': '乌拉特中旗',\n      'code': '150824'\n    }, {\n      'name': '乌拉特后旗',\n      'code': '150825'\n    }, {\n      'name': '杭锦后旗',\n      'code': '150826'\n    }]\n  }, {\n    'name': '乌兰察布市',\n    'code': '150900',\n    'children': [{\n      'name': '集宁区',\n      'code': '150902'\n    }, {\n      'name': '卓资县',\n      'code': '150921'\n    }, {\n      'name': '化德县',\n      'code': '150922'\n    }, {\n      'name': '商都县',\n      'code': '150923'\n    }, {\n      'name': '兴和县',\n      'code': '150924'\n    }, {\n      'name': '凉城县',\n      'code': '150925'\n    }, {\n      'name': '察哈尔右翼前旗',\n      'code': '150926'\n    }, {\n      'name': '察哈尔右翼中旗',\n      'code': '150927'\n    }, {\n      'name': '察哈尔右翼后旗',\n      'code': '150928'\n    }, {\n      'name': '四子王旗',\n      'code': '150929'\n    }, {\n      'name': '丰镇市',\n      'code': '150981'\n    }]\n  }, {\n    'name': '兴安盟',\n    'code': '152200',\n    'children': [{\n      'name': '乌兰浩特市',\n      'code': '152201'\n    }, {\n      'name': '阿尔山市',\n      'code': '152202'\n    }, {\n      'name': '科尔沁右翼前旗',\n      'code': '152221'\n    }, {\n      'name': '科尔沁右翼中旗',\n      'code': '152222'\n    }, {\n      'name': '扎赉特旗',\n      'code': '152223'\n    }, {\n      'name': '突泉县',\n      'code': '152224'\n    }]\n  }, {\n    'name': '锡林郭勒盟',\n    'code': '152500',\n    'children': [{\n      'name': '二连浩特市',\n      'code': '152501'\n    }, {\n      'name': '锡林浩特市',\n      'code': '152502'\n    }, {\n      'name': '阿巴嘎旗',\n      'code': '152522'\n    }, {\n      'name': '苏尼特左旗',\n      'code': '152523'\n    }, {\n      'name': '苏尼特右旗',\n      'code': '152524'\n    }, {\n      'name': '东乌珠穆沁旗',\n      'code': '152525'\n    }, {\n      'name': '西乌珠穆沁旗',\n      'code': '152526'\n    }, {\n      'name': '太仆寺旗',\n      'code': '152527'\n    }, {\n      'name': '镶黄旗',\n      'code': '152528'\n    }, {\n      'name': '正镶白旗',\n      'code': '152529'\n    }, {\n      'name': '正蓝旗',\n      'code': '152530'\n    }, {\n      'name': '多伦县',\n      'code': '152531'\n    }]\n  }, {\n    'name': '阿拉善盟',\n    'code': '152900',\n    'children': [{\n      'name': '阿拉善左旗',\n      'code': '152921'\n    }, {\n      'name': '阿拉善右旗',\n      'code': '152922'\n    }, {\n      'name': '额济纳旗',\n      'code': '152923'\n    }]\n  }]\n}, {\n  'name': '辽宁省',\n  'code': '210000',\n  'region': 'northeast',\n  'children': [{\n    'name': '沈阳市',\n    'code': '210100',\n    'children': [{\n      'name': '和平区',\n      'code': '210102'\n    }, {\n      'name': '沈河区',\n      'code': '210103'\n    }, {\n      'name': '大东区',\n      'code': '210104'\n    }, {\n      'name': '皇姑区',\n      'code': '210105'\n    }, {\n      'name': '铁西区',\n      'code': '210106'\n    }, {\n      'name': '苏家屯区',\n      'code': '210111'\n    }, {\n      'name': '浑南区',\n      'code': '210112'\n    }, {\n      'name': '沈北新区',\n      'code': '210113'\n    }, {\n      'name': '于洪区',\n      'code': '210114'\n    }, {\n      'name': '辽中区',\n      'code': '210115'\n    }, {\n      'name': '康平县',\n      'code': '210123'\n    }, {\n      'name': '法库县',\n      'code': '210124'\n    }, {\n      'name': '新民市',\n      'code': '210181'\n    }]\n  }, {\n    'name': '大连市',\n    'code': '210200',\n    'children': [{\n      'name': '中山区',\n      'code': '210202'\n    }, {\n      'name': '西岗区',\n      'code': '210203'\n    }, {\n      'name': '沙河口区',\n      'code': '210204'\n    }, {\n      'name': '甘井子区',\n      'code': '210211'\n    }, {\n      'name': '旅顺口区',\n      'code': '210212'\n    }, {\n      'name': '金州区',\n      'code': '210213'\n    }, {\n      'name': '普兰店区',\n      'code': '210214'\n    }, {\n      'name': '长海县',\n      'code': '210224'\n    }, {\n      'name': '瓦房店市',\n      'code': '210281'\n    }, {\n      'name': '庄河市',\n      'code': '210283'\n    }]\n  }, {\n    'name': '鞍山市',\n    'code': '210300',\n    'children': [{\n      'name': '铁东区',\n      'code': '210302'\n    }, {\n      'name': '铁西区',\n      'code': '210303'\n    }, {\n      'name': '立山区',\n      'code': '210304'\n    }, {\n      'name': '千山区',\n      'code': '210311'\n    }, {\n      'name': '台安县',\n      'code': '210321'\n    }, {\n      'name': '岫岩满族自治县',\n      'code': '210323'\n    }, {\n      'name': '海城市',\n      'code': '210381'\n    }]\n  }, {\n    'name': '抚顺市',\n    'code': '210400',\n    'children': [{\n      'name': '新抚区',\n      'code': '210402'\n    }, {\n      'name': '东洲区',\n      'code': '210403'\n    }, {\n      'name': '望花区',\n      'code': '210404'\n    }, {\n      'name': '顺城区',\n      'code': '210411'\n    }, {\n      'name': '抚顺县',\n      'code': '210421'\n    }, {\n      'name': '新宾满族自治县',\n      'code': '210422'\n    }, {\n      'name': '清原满族自治县',\n      'code': '210423'\n    }]\n  }, {\n    'name': '本溪市',\n    'code': '210500',\n    'children': [{\n      'name': '平山区',\n      'code': '210502'\n    }, {\n      'name': '溪湖区',\n      'code': '210503'\n    }, {\n      'name': '明山区',\n      'code': '210504'\n    }, {\n      'name': '南芬区',\n      'code': '210505'\n    }, {\n      'name': '本溪满族自治县',\n      'code': '210521'\n    }, {\n      'name': '桓仁满族自治县',\n      'code': '210522'\n    }]\n  }, {\n    'name': '丹东市',\n    'code': '210600',\n    'children': [{\n      'name': '元宝区',\n      'code': '210602'\n    }, {\n      'name': '振兴区',\n      'code': '210603'\n    }, {\n      'name': '振安区',\n      'code': '210604'\n    }, {\n      'name': '宽甸满族自治县',\n      'code': '210624'\n    }, {\n      'name': '东港市',\n      'code': '210681'\n    }, {\n      'name': '凤城市',\n      'code': '210682'\n    }]\n  }, {\n    'name': '锦州市',\n    'code': '210700',\n    'children': [{\n      'name': '古塔区',\n      'code': '210702'\n    }, {\n      'name': '凌河区',\n      'code': '210703'\n    }, {\n      'name': '太和区',\n      'code': '210711'\n    }, {\n      'name': '黑山县',\n      'code': '210726'\n    }, {\n      'name': '义县',\n      'code': '210727'\n    }, {\n      'name': '凌海市',\n      'code': '210781'\n    }, {\n      'name': '北镇市',\n      'code': '210782'\n    }]\n  }, {\n    'name': '营口市',\n    'code': '210800',\n    'children': [{\n      'name': '站前区',\n      'code': '210802'\n    }, {\n      'name': '西市区',\n      'code': '210803'\n    }, {\n      'name': '鲅鱼圈区',\n      'code': '210804'\n    }, {\n      'name': '老边区',\n      'code': '210811'\n    }, {\n      'name': '盖州市',\n      'code': '210881'\n    }, {\n      'name': '大石桥市',\n      'code': '210882'\n    }]\n  }, {\n    'name': '阜新市',\n    'code': '210900',\n    'children': [{\n      'name': '海州区',\n      'code': '210902'\n    }, {\n      'name': '新邱区',\n      'code': '210903'\n    }, {\n      'name': '太平区',\n      'code': '210904'\n    }, {\n      'name': '清河门区',\n      'code': '210905'\n    }, {\n      'name': '细河区',\n      'code': '210911'\n    }, {\n      'name': '阜新蒙古族自治县',\n      'code': '210921'\n    }, {\n      'name': '彰武县',\n      'code': '210922'\n    }]\n  }, {\n    'name': '辽阳市',\n    'code': '211000',\n    'children': [{\n      'name': '白塔区',\n      'code': '211002'\n    }, {\n      'name': '文圣区',\n      'code': '211003'\n    }, {\n      'name': '宏伟区',\n      'code': '211004'\n    }, {\n      'name': '弓长岭区',\n      'code': '211005'\n    }, {\n      'name': '太子河区',\n      'code': '211011'\n    }, {\n      'name': '辽阳县',\n      'code': '211021'\n    }, {\n      'name': '灯塔市',\n      'code': '211081'\n    }]\n  }, {\n    'name': '盘锦市',\n    'code': '211100',\n    'children': [{\n      'name': '双台子区',\n      'code': '211102'\n    }, {\n      'name': '兴隆台区',\n      'code': '211103'\n    }, {\n      'name': '大洼区',\n      'code': '211104'\n    }, {\n      'name': '盘山县',\n      'code': '211122'\n    }]\n  }, {\n    'name': '铁岭市',\n    'code': '211200',\n    'children': [{\n      'name': '银州区',\n      'code': '211202'\n    }, {\n      'name': '清河区',\n      'code': '211204'\n    }, {\n      'name': '铁岭县',\n      'code': '211221'\n    }, {\n      'name': '西丰县',\n      'code': '211223'\n    }, {\n      'name': '昌图县',\n      'code': '211224'\n    }, {\n      'name': '调兵山市',\n      'code': '211281'\n    }, {\n      'name': '开原市',\n      'code': '211282'\n    }]\n  }, {\n    'name': '朝阳市',\n    'code': '211300',\n    'children': [{\n      'name': '双塔区',\n      'code': '211302'\n    }, {\n      'name': '龙城区',\n      'code': '211303'\n    }, {\n      'name': '朝阳县',\n      'code': '211321'\n    }, {\n      'name': '建平县',\n      'code': '211322'\n    }, {\n      'name': '喀喇沁左翼蒙古族自治县',\n      'code': '211324'\n    }, {\n      'name': '北票市',\n      'code': '211381'\n    }, {\n      'name': '凌源市',\n      'code': '211382'\n    }]\n  }, {\n    'name': '葫芦岛市',\n    'code': '211400',\n    'children': [{\n      'name': '连山区',\n      'code': '211402'\n    }, {\n      'name': '龙港区',\n      'code': '211403'\n    }, {\n      'name': '南票区',\n      'code': '211404'\n    }, {\n      'name': '绥中县',\n      'code': '211421'\n    }, {\n      'name': '建昌县',\n      'code': '211422'\n    }, {\n      'name': '兴城市',\n      'code': '211481'\n    }]\n  }]\n}, {\n  'name': '吉林省',\n  'code': '220000',\n  'region': 'northeast',\n  'children': [{\n    'name': '长春市',\n    'code': '220100',\n    'children': [{\n      'name': '南关区',\n      'code': '220102'\n    }, {\n      'name': '宽城区',\n      'code': '220103'\n    }, {\n      'name': '朝阳区',\n      'code': '220104'\n    }, {\n      'name': '二道区',\n      'code': '220105'\n    }, {\n      'name': '绿园区',\n      'code': '220106'\n    }, {\n      'name': '双阳区',\n      'code': '220112'\n    }, {\n      'name': '九台区',\n      'code': '220113'\n    }, {\n      'name': '农安县',\n      'code': '220122'\n    }, {\n      'name': '榆树市',\n      'code': '220182'\n    }, {\n      'name': '德惠市',\n      'code': '220183'\n    }]\n  }, {\n    'name': '吉林市',\n    'code': '220200',\n    'children': [{\n      'name': '昌邑区',\n      'code': '220202'\n    }, {\n      'name': '龙潭区',\n      'code': '220203'\n    }, {\n      'name': '船营区',\n      'code': '220204'\n    }, {\n      'name': '丰满区',\n      'code': '220211'\n    }, {\n      'name': '永吉县',\n      'code': '220221'\n    }, {\n      'name': '蛟河市',\n      'code': '220281'\n    }, {\n      'name': '桦甸市',\n      'code': '220282'\n    }, {\n      'name': '舒兰市',\n      'code': '220283'\n    }, {\n      'name': '磐石市',\n      'code': '220284'\n    }]\n  }, {\n    'name': '四平市',\n    'code': '220300',\n    'children': [{\n      'name': '铁西区',\n      'code': '220302'\n    }, {\n      'name': '铁东区',\n      'code': '220303'\n    }, {\n      'name': '梨树县',\n      'code': '220322'\n    }, {\n      'name': '伊通满族自治县',\n      'code': '220323'\n    }, {\n      'name': '公主岭市',\n      'code': '220381'\n    }, {\n      'name': '双辽市',\n      'code': '220382'\n    }]\n  }, {\n    'name': '辽源市',\n    'code': '220400',\n    'children': [{\n      'name': '龙山区',\n      'code': '220402'\n    }, {\n      'name': '西安区',\n      'code': '220403'\n    }, {\n      'name': '东丰县',\n      'code': '220421'\n    }, {\n      'name': '东辽县',\n      'code': '220422'\n    }]\n  }, {\n    'name': '通化市',\n    'code': '220500',\n    'children': [{\n      'name': '东昌区',\n      'code': '220502'\n    }, {\n      'name': '二道江区',\n      'code': '220503'\n    }, {\n      'name': '通化县',\n      'code': '220521'\n    }, {\n      'name': '辉南县',\n      'code': '220523'\n    }, {\n      'name': '柳河县',\n      'code': '220524'\n    }, {\n      'name': '梅河口市',\n      'code': '220581'\n    }, {\n      'name': '集安市',\n      'code': '220582'\n    }]\n  }, {\n    'name': '白山市',\n    'code': '220600',\n    'children': [{\n      'name': '浑江区',\n      'code': '220602'\n    }, {\n      'name': '江源区',\n      'code': '220605'\n    }, {\n      'name': '抚松县',\n      'code': '220621'\n    }, {\n      'name': '靖宇县',\n      'code': '220622'\n    }, {\n      'name': '长白朝鲜族自治县',\n      'code': '220623'\n    }, {\n      'name': '临江市',\n      'code': '220681'\n    }]\n  }, {\n    'name': '松原市',\n    'code': '220700',\n    'children': [{\n      'name': '宁江区',\n      'code': '220702'\n    }, {\n      'name': '前郭尔罗斯蒙古族自治县',\n      'code': '220721'\n    }, {\n      'name': '长岭县',\n      'code': '220722'\n    }, {\n      'name': '乾安县',\n      'code': '220723'\n    }, {\n      'name': '扶余市',\n      'code': '220781'\n    }]\n  }, {\n    'name': '白城市',\n    'code': '220800',\n    'children': [{\n      'name': '洮北区',\n      'code': '220802'\n    }, {\n      'name': '镇赉县',\n      'code': '220821'\n    }, {\n      'name': '通榆县',\n      'code': '220822'\n    }, {\n      'name': '洮南市',\n      'code': '220881'\n    }, {\n      'name': '大安市',\n      'code': '220882'\n    }]\n  }, {\n    'name': '延边朝鲜族自治州',\n    'code': '222400',\n    'children': [{\n      'name': '延吉市',\n      'code': '222401'\n    }, {\n      'name': '图们市',\n      'code': '222402'\n    }, {\n      'name': '敦化市',\n      'code': '222403'\n    }, {\n      'name': '珲春市',\n      'code': '222404'\n    }, {\n      'name': '龙井市',\n      'code': '222405'\n    }, {\n      'name': '和龙市',\n      'code': '222406'\n    }, {\n      'name': '汪清县',\n      'code': '222424'\n    }, {\n      'name': '安图县',\n      'code': '222426'\n    }]\n  }]\n}, {\n  'name': '黑龙江省',\n  'code': '230000',\n  'region': 'northeast',\n  'children': [{\n    'name': '哈尔滨市',\n    'code': '230100',\n    'children': [{\n      'name': '道里区',\n      'code': '230102'\n    }, {\n      'name': '南岗区',\n      'code': '230103'\n    }, {\n      'name': '道外区',\n      'code': '230104'\n    }, {\n      'name': '平房区',\n      'code': '230108'\n    }, {\n      'name': '松北区',\n      'code': '230109'\n    }, {\n      'name': '香坊区',\n      'code': '230110'\n    }, {\n      'name': '呼兰区',\n      'code': '230111'\n    }, {\n      'name': '阿城区',\n      'code': '230112'\n    }, {\n      'name': '双城区',\n      'code': '230113'\n    }, {\n      'name': '依兰县',\n      'code': '230123'\n    }, {\n      'name': '方正县',\n      'code': '230124'\n    }, {\n      'name': '宾县',\n      'code': '230125'\n    }, {\n      'name': '巴彦县',\n      'code': '230126'\n    }, {\n      'name': '木兰县',\n      'code': '230127'\n    }, {\n      'name': '通河县',\n      'code': '230128'\n    }, {\n      'name': '延寿县',\n      'code': '230129'\n    }, {\n      'name': '尚志市',\n      'code': '230183'\n    }, {\n      'name': '五常市',\n      'code': '230184'\n    }]\n  }, {\n    'name': '齐齐哈尔市',\n    'code': '230200',\n    'children': [{\n      'name': '龙沙区',\n      'code': '230202'\n    }, {\n      'name': '建华区',\n      'code': '230203'\n    }, {\n      'name': '铁锋区',\n      'code': '230204'\n    }, {\n      'name': '昂昂溪区',\n      'code': '230205'\n    }, {\n      'name': '富拉尔基区',\n      'code': '230206'\n    }, {\n      'name': '碾子山区',\n      'code': '230207'\n    }, {\n      'name': '梅里斯达斡尔族区',\n      'code': '230208'\n    }, {\n      'name': '龙江县',\n      'code': '230221'\n    }, {\n      'name': '依安县',\n      'code': '230223'\n    }, {\n      'name': '泰来县',\n      'code': '230224'\n    }, {\n      'name': '甘南县',\n      'code': '230225'\n    }, {\n      'name': '富裕县',\n      'code': '230227'\n    }, {\n      'name': '克山县',\n      'code': '230229'\n    }, {\n      'name': '克东县',\n      'code': '230230'\n    }, {\n      'name': '拜泉县',\n      'code': '230231'\n    }, {\n      'name': '讷河市',\n      'code': '230281'\n    }]\n  }, {\n    'name': '鸡西市',\n    'code': '230300',\n    'children': [{\n      'name': '鸡冠区',\n      'code': '230302'\n    }, {\n      'name': '恒山区',\n      'code': '230303'\n    }, {\n      'name': '滴道区',\n      'code': '230304'\n    }, {\n      'name': '梨树区',\n      'code': '230305'\n    }, {\n      'name': '城子河区',\n      'code': '230306'\n    }, {\n      'name': '麻山区',\n      'code': '230307'\n    }, {\n      'name': '鸡东县',\n      'code': '230321'\n    }, {\n      'name': '虎林市',\n      'code': '230381'\n    }, {\n      'name': '密山市',\n      'code': '230382'\n    }]\n  }, {\n    'name': '鹤岗市',\n    'code': '230400',\n    'children': [{\n      'name': '向阳区',\n      'code': '230402'\n    }, {\n      'name': '工农区',\n      'code': '230403'\n    }, {\n      'name': '南山区',\n      'code': '230404'\n    }, {\n      'name': '兴安区',\n      'code': '230405'\n    }, {\n      'name': '东山区',\n      'code': '230406'\n    }, {\n      'name': '兴山区',\n      'code': '230407'\n    }, {\n      'name': '萝北县',\n      'code': '230421'\n    }, {\n      'name': '绥滨县',\n      'code': '230422'\n    }]\n  }, {\n    'name': '双鸭山市',\n    'code': '230500',\n    'children': [{\n      'name': '尖山区',\n      'code': '230502'\n    }, {\n      'name': '岭东区',\n      'code': '230503'\n    }, {\n      'name': '四方台区',\n      'code': '230505'\n    }, {\n      'name': '宝山区',\n      'code': '230506'\n    }, {\n      'name': '集贤县',\n      'code': '230521'\n    }, {\n      'name': '友谊县',\n      'code': '230522'\n    }, {\n      'name': '宝清县',\n      'code': '230523'\n    }, {\n      'name': '饶河县',\n      'code': '230524'\n    }]\n  }, {\n    'name': '大庆市',\n    'code': '230600',\n    'children': [{\n      'name': '萨尔图区',\n      'code': '230602'\n    }, {\n      'name': '龙凤区',\n      'code': '230603'\n    }, {\n      'name': '让胡路区',\n      'code': '230604'\n    }, {\n      'name': '红岗区',\n      'code': '230605'\n    }, {\n      'name': '大同区',\n      'code': '230606'\n    }, {\n      'name': '肇州县',\n      'code': '230621'\n    }, {\n      'name': '肇源县',\n      'code': '230622'\n    }, {\n      'name': '林甸县',\n      'code': '230623'\n    }, {\n      'name': '杜尔伯特蒙古族自治县',\n      'code': '230624'\n    }]\n  }, {\n    'name': '伊春市',\n    'code': '230700',\n    'children': [{\n      'name': '伊春区',\n      'code': '230702'\n    }, {\n      'name': '南岔区',\n      'code': '230703'\n    }, {\n      'name': '友好区',\n      'code': '230704'\n    }, {\n      'name': '西林区',\n      'code': '230705'\n    }, {\n      'name': '翠峦区',\n      'code': '230706'\n    }, {\n      'name': '新青区',\n      'code': '230707'\n    }, {\n      'name': '美溪区',\n      'code': '230708'\n    }, {\n      'name': '金山屯区',\n      'code': '230709'\n    }, {\n      'name': '五营区',\n      'code': '230710'\n    }, {\n      'name': '乌马河区',\n      'code': '230711'\n    }, {\n      'name': '汤旺河区',\n      'code': '230712'\n    }, {\n      'name': '带岭区',\n      'code': '230713'\n    }, {\n      'name': '乌伊岭区',\n      'code': '230714'\n    }, {\n      'name': '红星区',\n      'code': '230715'\n    }, {\n      'name': '上甘岭区',\n      'code': '230716'\n    }, {\n      'name': '嘉荫县',\n      'code': '230722'\n    }, {\n      'name': '铁力市',\n      'code': '230781'\n    }]\n  }, {\n    'name': '佳木斯市',\n    'code': '230800',\n    'children': [{\n      'name': '向阳区',\n      'code': '230803'\n    }, {\n      'name': '前进区',\n      'code': '230804'\n    }, {\n      'name': '东风区',\n      'code': '230805'\n    }, {\n      'name': '郊区',\n      'code': '230811'\n    }, {\n      'name': '桦南县',\n      'code': '230822'\n    }, {\n      'name': '桦川县',\n      'code': '230826'\n    }, {\n      'name': '汤原县',\n      'code': '230828'\n    }, {\n      'name': '同江市',\n      'code': '230881'\n    }, {\n      'name': '富锦市',\n      'code': '230882'\n    }, {\n      'name': '抚远市',\n      'code': '230883'\n    }]\n  }, {\n    'name': '七台河市',\n    'code': '230900',\n    'children': [{\n      'name': '新兴区',\n      'code': '230902'\n    }, {\n      'name': '桃山区',\n      'code': '230903'\n    }, {\n      'name': '茄子河区',\n      'code': '230904'\n    }, {\n      'name': '勃利县',\n      'code': '230921'\n    }]\n  }, {\n    'name': '牡丹江市',\n    'code': '231000',\n    'children': [{\n      'name': '东安区',\n      'code': '231002'\n    }, {\n      'name': '阳明区',\n      'code': '231003'\n    }, {\n      'name': '爱民区',\n      'code': '231004'\n    }, {\n      'name': '西安区',\n      'code': '231005'\n    }, {\n      'name': '林口县',\n      'code': '231025'\n    }, {\n      'name': '绥芬河市',\n      'code': '231081'\n    }, {\n      'name': '海林市',\n      'code': '231083'\n    }, {\n      'name': '宁安市',\n      'code': '231084'\n    }, {\n      'name': '穆棱市',\n      'code': '231085'\n    }, {\n      'name': '东宁市',\n      'code': '231086'\n    }]\n  }, {\n    'name': '黑河市',\n    'code': '231100',\n    'children': [{\n      'name': '爱辉区',\n      'code': '231102'\n    }, {\n      'name': '嫩江县',\n      'code': '231121'\n    }, {\n      'name': '逊克县',\n      'code': '231123'\n    }, {\n      'name': '孙吴县',\n      'code': '231124'\n    }, {\n      'name': '北安市',\n      'code': '231181'\n    }, {\n      'name': '五大连池市',\n      'code': '231182'\n    }]\n  }, {\n    'name': '绥化市',\n    'code': '231200',\n    'children': [{\n      'name': '北林区',\n      'code': '231202'\n    }, {\n      'name': '望奎县',\n      'code': '231221'\n    }, {\n      'name': '兰西县',\n      'code': '231222'\n    }, {\n      'name': '青冈县',\n      'code': '231223'\n    }, {\n      'name': '庆安县',\n      'code': '231224'\n    }, {\n      'name': '明水县',\n      'code': '231225'\n    }, {\n      'name': '绥棱县',\n      'code': '231226'\n    }, {\n      'name': '安达市',\n      'code': '231281'\n    }, {\n      'name': '肇东市',\n      'code': '231282'\n    }, {\n      'name': '海伦市',\n      'code': '231283'\n    }]\n  }, {\n    'name': '大兴安岭地区',\n    'code': '232700',\n    'children': [{\n      'name': '漠河市',\n      'code': '232701'\n    }, {\n      'name': '呼玛县',\n      'code': '232721'\n    }, {\n      'name': '塔河县',\n      'code': '232722'\n    }]\n  }]\n}, {\n  'name': '上海市',\n  'code': '310000',\n  'region': 'east',\n  'provinceLevelCity': true,\n  'children': [{\n    'name': '市辖区',\n    'code': '310100',\n    'children': [{\n      'name': '黄浦区',\n      'code': '310101'\n    }, {\n      'name': '徐汇区',\n      'code': '310104'\n    }, {\n      'name': '长宁区',\n      'code': '310105'\n    }, {\n      'name': '静安区',\n      'code': '310106'\n    }, {\n      'name': '普陀区',\n      'code': '310107'\n    }, {\n      'name': '虹口区',\n      'code': '310109'\n    }, {\n      'name': '杨浦区',\n      'code': '310110'\n    }, {\n      'name': '闵行区',\n      'code': '310112'\n    }, {\n      'name': '宝山区',\n      'code': '310113'\n    }, {\n      'name': '嘉定区',\n      'code': '310114'\n    }, {\n      'name': '浦东新区',\n      'code': '310115'\n    }, {\n      'name': '金山区',\n      'code': '310116'\n    }, {\n      'name': '松江区',\n      'code': '310117'\n    }, {\n      'name': '青浦区',\n      'code': '310118'\n    }, {\n      'name': '奉贤区',\n      'code': '310120'\n    }, {\n      'name': '崇明区',\n      'code': '310151'\n    }]\n  }]\n}, {\n  'name': '江苏省',\n  'code': '320000',\n  'region': 'east',\n  'children': [{\n    'name': '南京市',\n    'code': '320100',\n    'children': [{\n      'name': '玄武区',\n      'code': '320102'\n    }, {\n      'name': '秦淮区',\n      'code': '320104'\n    }, {\n      'name': '建邺区',\n      'code': '320105'\n    }, {\n      'name': '鼓楼区',\n      'code': '320106'\n    }, {\n      'name': '浦口区',\n      'code': '320111'\n    }, {\n      'name': '栖霞区',\n      'code': '320113'\n    }, {\n      'name': '雨花台区',\n      'code': '320114'\n    }, {\n      'name': '江宁区',\n      'code': '320115'\n    }, {\n      'name': '六合区',\n      'code': '320116'\n    }, {\n      'name': '溧水区',\n      'code': '320117'\n    }, {\n      'name': '高淳区',\n      'code': '320118'\n    }]\n  }, {\n    'name': '无锡市',\n    'code': '320200',\n    'children': [{\n      'name': '锡山区',\n      'code': '320205'\n    }, {\n      'name': '惠山区',\n      'code': '320206'\n    }, {\n      'name': '滨湖区',\n      'code': '320211'\n    }, {\n      'name': '梁溪区',\n      'code': '320213'\n    }, {\n      'name': '新吴区',\n      'code': '320214'\n    }, {\n      'name': '江阴市',\n      'code': '320281'\n    }, {\n      'name': '宜兴市',\n      'code': '320282'\n    }]\n  }, {\n    'name': '徐州市',\n    'code': '320300',\n    'children': [{\n      'name': '鼓楼区',\n      'code': '320302'\n    }, {\n      'name': '云龙区',\n      'code': '320303'\n    }, {\n      'name': '贾汪区',\n      'code': '320305'\n    }, {\n      'name': '泉山区',\n      'code': '320311'\n    }, {\n      'name': '铜山区',\n      'code': '320312'\n    }, {\n      'name': '丰县',\n      'code': '320321'\n    }, {\n      'name': '沛县',\n      'code': '320322'\n    }, {\n      'name': '睢宁县',\n      'code': '320324'\n    }, {\n      'name': '新沂市',\n      'code': '320381'\n    }, {\n      'name': '邳州市',\n      'code': '320382'\n    }]\n  }, {\n    'name': '常州市',\n    'code': '320400',\n    'children': [{\n      'name': '天宁区',\n      'code': '320402'\n    }, {\n      'name': '钟楼区',\n      'code': '320404'\n    }, {\n      'name': '新北区',\n      'code': '320411'\n    }, {\n      'name': '武进区',\n      'code': '320412'\n    }, {\n      'name': '金坛区',\n      'code': '320413'\n    }, {\n      'name': '溧阳市',\n      'code': '320481'\n    }]\n  }, {\n    'name': '苏州市',\n    'code': '320500',\n    'children': [{\n      'name': '虎丘区',\n      'code': '320505'\n    }, {\n      'name': '吴中区',\n      'code': '320506'\n    }, {\n      'name': '相城区',\n      'code': '320507'\n    }, {\n      'name': '姑苏区',\n      'code': '320508'\n    }, {\n      'name': '吴江区',\n      'code': '320509'\n    }, {\n      'name': '常熟市',\n      'code': '320581'\n    }, {\n      'name': '张家港市',\n      'code': '320582'\n    }, {\n      'name': '昆山市',\n      'code': '320583'\n    }, {\n      'name': '太仓市',\n      'code': '320585'\n    }]\n  }, {\n    'name': '南通市',\n    'code': '320600',\n    'children': [{\n      'name': '崇川区',\n      'code': '320602'\n    }, {\n      'name': '港闸区',\n      'code': '320611'\n    }, {\n      'name': '通州区',\n      'code': '320612'\n    }, {\n      'name': '如东县',\n      'code': '320623'\n    }, {\n      'name': '启东市',\n      'code': '320681'\n    }, {\n      'name': '如皋市',\n      'code': '320682'\n    }, {\n      'name': '海门市',\n      'code': '320684'\n    }, {\n      'name': '海安市',\n      'code': '320685'\n    }]\n  }, {\n    'name': '连云港市',\n    'code': '320700',\n    'children': [{\n      'name': '连云区',\n      'code': '320703'\n    }, {\n      'name': '海州区',\n      'code': '320706'\n    }, {\n      'name': '赣榆区',\n      'code': '320707'\n    }, {\n      'name': '东海县',\n      'code': '320722'\n    }, {\n      'name': '灌云县',\n      'code': '320723'\n    }, {\n      'name': '灌南县',\n      'code': '320724'\n    }]\n  }, {\n    'name': '淮安市',\n    'code': '320800',\n    'children': [{\n      'name': '淮安区',\n      'code': '320803'\n    }, {\n      'name': '淮阴区',\n      'code': '320804'\n    }, {\n      'name': '清江浦区',\n      'code': '320812'\n    }, {\n      'name': '洪泽区',\n      'code': '320813'\n    }, {\n      'name': '涟水县',\n      'code': '320826'\n    }, {\n      'name': '盱眙县',\n      'code': '320830'\n    }, {\n      'name': '金湖县',\n      'code': '320831'\n    }]\n  }, {\n    'name': '盐城市',\n    'code': '320900',\n    'children': [{\n      'name': '亭湖区',\n      'code': '320902'\n    }, {\n      'name': '盐都区',\n      'code': '320903'\n    }, {\n      'name': '大丰区',\n      'code': '320904'\n    }, {\n      'name': '响水县',\n      'code': '320921'\n    }, {\n      'name': '滨海县',\n      'code': '320922'\n    }, {\n      'name': '阜宁县',\n      'code': '320923'\n    }, {\n      'name': '射阳县',\n      'code': '320924'\n    }, {\n      'name': '建湖县',\n      'code': '320925'\n    }, {\n      'name': '东台市',\n      'code': '320981'\n    }]\n  }, {\n    'name': '扬州市',\n    'code': '321000',\n    'children': [{\n      'name': '广陵区',\n      'code': '321002'\n    }, {\n      'name': '邗江区',\n      'code': '321003'\n    }, {\n      'name': '江都区',\n      'code': '321012'\n    }, {\n      'name': '宝应县',\n      'code': '321023'\n    }, {\n      'name': '仪征市',\n      'code': '321081'\n    }, {\n      'name': '高邮市',\n      'code': '321084'\n    }]\n  }, {\n    'name': '镇江市',\n    'code': '321100',\n    'children': [{\n      'name': '京口区',\n      'code': '321102'\n    }, {\n      'name': '润州区',\n      'code': '321111'\n    }, {\n      'name': '丹徒区',\n      'code': '321112'\n    }, {\n      'name': '丹阳市',\n      'code': '321181'\n    }, {\n      'name': '扬中市',\n      'code': '321182'\n    }, {\n      'name': '句容市',\n      'code': '321183'\n    }]\n  }, {\n    'name': '泰州市',\n    'code': '321200',\n    'children': [{\n      'name': '海陵区',\n      'code': '321202'\n    }, {\n      'name': '高港区',\n      'code': '321203'\n    }, {\n      'name': '姜堰区',\n      'code': '321204'\n    }, {\n      'name': '兴化市',\n      'code': '321281'\n    }, {\n      'name': '靖江市',\n      'code': '321282'\n    }, {\n      'name': '泰兴市',\n      'code': '321283'\n    }]\n  }, {\n    'name': '宿迁市',\n    'code': '321300',\n    'children': [{\n      'name': '宿城区',\n      'code': '321302'\n    }, {\n      'name': '宿豫区',\n      'code': '321311'\n    }, {\n      'name': '沭阳县',\n      'code': '321322'\n    }, {\n      'name': '泗阳县',\n      'code': '321323'\n    }, {\n      'name': '泗洪县',\n      'code': '321324'\n    }]\n  }]\n}, {\n  'name': '浙江省',\n  'code': '330000',\n  'region': 'east',\n  'children': [{\n    'name': '杭州市',\n    'code': '330100',\n    'children': [{\n      'name': '上城区',\n      'code': '330102'\n    }, {\n      'name': '下城区',\n      'code': '330103'\n    }, {\n      'name': '江干区',\n      'code': '330104'\n    }, {\n      'name': '拱墅区',\n      'code': '330105'\n    }, {\n      'name': '西湖区',\n      'code': '330106'\n    }, {\n      'name': '滨江区',\n      'code': '330108'\n    }, {\n      'name': '萧山区',\n      'code': '330109'\n    }, {\n      'name': '余杭区',\n      'code': '330110'\n    }, {\n      'name': '富阳区',\n      'code': '330111'\n    }, {\n      'name': '临安区',\n      'code': '330112'\n    }, {\n      'name': '桐庐县',\n      'code': '330122'\n    }, {\n      'name': '淳安县',\n      'code': '330127'\n    }, {\n      'name': '建德市',\n      'code': '330182'\n    }]\n  }, {\n    'name': '宁波市',\n    'code': '330200',\n    'children': [{\n      'name': '海曙区',\n      'code': '330203'\n    }, {\n      'name': '江北区',\n      'code': '330205'\n    }, {\n      'name': '北仑区',\n      'code': '330206'\n    }, {\n      'name': '镇海区',\n      'code': '330211'\n    }, {\n      'name': '鄞州区',\n      'code': '330212'\n    }, {\n      'name': '奉化区',\n      'code': '330213'\n    }, {\n      'name': '象山县',\n      'code': '330225'\n    }, {\n      'name': '宁海县',\n      'code': '330226'\n    }, {\n      'name': '余姚市',\n      'code': '330281'\n    }, {\n      'name': '慈溪市',\n      'code': '330282'\n    }]\n  }, {\n    'name': '温州市',\n    'code': '330300',\n    'children': [{\n      'name': '鹿城区',\n      'code': '330302'\n    }, {\n      'name': '龙湾区',\n      'code': '330303'\n    }, {\n      'name': '瓯海区',\n      'code': '330304'\n    }, {\n      'name': '洞头区',\n      'code': '330305'\n    }, {\n      'name': '永嘉县',\n      'code': '330324'\n    }, {\n      'name': '平阳县',\n      'code': '330326'\n    }, {\n      'name': '苍南县',\n      'code': '330327'\n    }, {\n      'name': '文成县',\n      'code': '330328'\n    }, {\n      'name': '泰顺县',\n      'code': '330329'\n    }, {\n      'name': '瑞安市',\n      'code': '330381'\n    }, {\n      'name': '乐清市',\n      'code': '330382'\n    }]\n  }, {\n    'name': '嘉兴市',\n    'code': '330400',\n    'children': [{\n      'name': '南湖区',\n      'code': '330402'\n    }, {\n      'name': '秀洲区',\n      'code': '330411'\n    }, {\n      'name': '嘉善县',\n      'code': '330421'\n    }, {\n      'name': '海盐县',\n      'code': '330424'\n    }, {\n      'name': '海宁市',\n      'code': '330481'\n    }, {\n      'name': '平湖市',\n      'code': '330482'\n    }, {\n      'name': '桐乡市',\n      'code': '330483'\n    }]\n  }, {\n    'name': '湖州市',\n    'code': '330500',\n    'children': [{\n      'name': '吴兴区',\n      'code': '330502'\n    }, {\n      'name': '南浔区',\n      'code': '330503'\n    }, {\n      'name': '德清县',\n      'code': '330521'\n    }, {\n      'name': '长兴县',\n      'code': '330522'\n    }, {\n      'name': '安吉县',\n      'code': '330523'\n    }]\n  }, {\n    'name': '绍兴市',\n    'code': '330600',\n    'children': [{\n      'name': '越城区',\n      'code': '330602'\n    }, {\n      'name': '柯桥区',\n      'code': '330603'\n    }, {\n      'name': '上虞区',\n      'code': '330604'\n    }, {\n      'name': '新昌县',\n      'code': '330624'\n    }, {\n      'name': '诸暨市',\n      'code': '330681'\n    }, {\n      'name': '嵊州市',\n      'code': '330683'\n    }]\n  }, {\n    'name': '金华市',\n    'code': '330700',\n    'children': [{\n      'name': '婺城区',\n      'code': '330702'\n    }, {\n      'name': '金东区',\n      'code': '330703'\n    }, {\n      'name': '武义县',\n      'code': '330723'\n    }, {\n      'name': '浦江县',\n      'code': '330726'\n    }, {\n      'name': '磐安县',\n      'code': '330727'\n    }, {\n      'name': '兰溪市',\n      'code': '330781'\n    }, {\n      'name': '义乌市',\n      'code': '330782'\n    }, {\n      'name': '东阳市',\n      'code': '330783'\n    }, {\n      'name': '永康市',\n      'code': '330784'\n    }]\n  }, {\n    'name': '衢州市',\n    'code': '330800',\n    'children': [{\n      'name': '柯城区',\n      'code': '330802'\n    }, {\n      'name': '衢江区',\n      'code': '330803'\n    }, {\n      'name': '常山县',\n      'code': '330822'\n    }, {\n      'name': '开化县',\n      'code': '330824'\n    }, {\n      'name': '龙游县',\n      'code': '330825'\n    }, {\n      'name': '江山市',\n      'code': '330881'\n    }]\n  }, {\n    'name': '舟山市',\n    'code': '330900',\n    'children': [{\n      'name': '定海区',\n      'code': '330902'\n    }, {\n      'name': '普陀区',\n      'code': '330903'\n    }, {\n      'name': '岱山县',\n      'code': '330921'\n    }, {\n      'name': '嵊泗县',\n      'code': '330922'\n    }]\n  }, {\n    'name': '台州市',\n    'code': '331000',\n    'children': [{\n      'name': '椒江区',\n      'code': '331002'\n    }, {\n      'name': '黄岩区',\n      'code': '331003'\n    }, {\n      'name': '路桥区',\n      'code': '331004'\n    }, {\n      'name': '三门县',\n      'code': '331022'\n    }, {\n      'name': '天台县',\n      'code': '331023'\n    }, {\n      'name': '仙居县',\n      'code': '331024'\n    }, {\n      'name': '温岭市',\n      'code': '331081'\n    }, {\n      'name': '临海市',\n      'code': '331082'\n    }, {\n      'name': '玉环市',\n      'code': '331083'\n    }]\n  }, {\n    'name': '丽水市',\n    'code': '331100',\n    'children': [{\n      'name': '莲都区',\n      'code': '331102'\n    }, {\n      'name': '青田县',\n      'code': '331121'\n    }, {\n      'name': '缙云县',\n      'code': '331122'\n    }, {\n      'name': '遂昌县',\n      'code': '331123'\n    }, {\n      'name': '松阳县',\n      'code': '331124'\n    }, {\n      'name': '云和县',\n      'code': '331125'\n    }, {\n      'name': '庆元县',\n      'code': '331126'\n    }, {\n      'name': '景宁畲族自治县',\n      'code': '331127'\n    }, {\n      'name': '龙泉市',\n      'code': '331181'\n    }]\n  }]\n}, {\n  'name': '安徽省',\n  'code': '340000',\n  'region': 'east',\n  'children': [{\n    'name': '合肥市',\n    'code': '340100',\n    'children': [{\n      'name': '瑶海区',\n      'code': '340102'\n    }, {\n      'name': '庐阳区',\n      'code': '340103'\n    }, {\n      'name': '蜀山区',\n      'code': '340104'\n    }, {\n      'name': '包河区',\n      'code': '340111'\n    }, {\n      'name': '长丰县',\n      'code': '340121'\n    }, {\n      'name': '肥东县',\n      'code': '340122'\n    }, {\n      'name': '肥西县',\n      'code': '340123'\n    }, {\n      'name': '庐江县',\n      'code': '340124'\n    }, {\n      'name': '巢湖市',\n      'code': '340181'\n    }]\n  }, {\n    'name': '芜湖市',\n    'code': '340200',\n    'children': [{\n      'name': '镜湖区',\n      'code': '340202'\n    }, {\n      'name': '弋江区',\n      'code': '340203'\n    }, {\n      'name': '鸠江区',\n      'code': '340207'\n    }, {\n      'name': '三山区',\n      'code': '340208'\n    }, {\n      'name': '芜湖县',\n      'code': '340221'\n    }, {\n      'name': '繁昌县',\n      'code': '340222'\n    }, {\n      'name': '南陵县',\n      'code': '340223'\n    }, {\n      'name': '无为县',\n      'code': '340225'\n    }]\n  }, {\n    'name': '蚌埠市',\n    'code': '340300',\n    'children': [{\n      'name': '龙子湖区',\n      'code': '340302'\n    }, {\n      'name': '蚌山区',\n      'code': '340303'\n    }, {\n      'name': '禹会区',\n      'code': '340304'\n    }, {\n      'name': '淮上区',\n      'code': '340311'\n    }, {\n      'name': '怀远县',\n      'code': '340321'\n    }, {\n      'name': '五河县',\n      'code': '340322'\n    }, {\n      'name': '固镇县',\n      'code': '340323'\n    }]\n  }, {\n    'name': '淮南市',\n    'code': '340400',\n    'children': [{\n      'name': '大通区',\n      'code': '340402'\n    }, {\n      'name': '田家庵区',\n      'code': '340403'\n    }, {\n      'name': '谢家集区',\n      'code': '340404'\n    }, {\n      'name': '八公山区',\n      'code': '340405'\n    }, {\n      'name': '潘集区',\n      'code': '340406'\n    }, {\n      'name': '凤台县',\n      'code': '340421'\n    }, {\n      'name': '寿县',\n      'code': '340422'\n    }]\n  }, {\n    'name': '马鞍山市',\n    'code': '340500',\n    'children': [{\n      'name': '花山区',\n      'code': '340503'\n    }, {\n      'name': '雨山区',\n      'code': '340504'\n    }, {\n      'name': '博望区',\n      'code': '340506'\n    }, {\n      'name': '当涂县',\n      'code': '340521'\n    }, {\n      'name': '含山县',\n      'code': '340522'\n    }, {\n      'name': '和县',\n      'code': '340523'\n    }]\n  }, {\n    'name': '淮北市',\n    'code': '340600',\n    'children': [{\n      'name': '杜集区',\n      'code': '340602'\n    }, {\n      'name': '相山区',\n      'code': '340603'\n    }, {\n      'name': '烈山区',\n      'code': '340604'\n    }, {\n      'name': '濉溪县',\n      'code': '340621'\n    }]\n  }, {\n    'name': '铜陵市',\n    'code': '340700',\n    'children': [{\n      'name': '铜官区',\n      'code': '340705'\n    }, {\n      'name': '义安区',\n      'code': '340706'\n    }, {\n      'name': '郊区',\n      'code': '340711'\n    }, {\n      'name': '枞阳县',\n      'code': '340722'\n    }]\n  }, {\n    'name': '安庆市',\n    'code': '340800',\n    'children': [{\n      'name': '迎江区',\n      'code': '340802'\n    }, {\n      'name': '大观区',\n      'code': '340803'\n    }, {\n      'name': '宜秀区',\n      'code': '340811'\n    }, {\n      'name': '怀宁县',\n      'code': '340822'\n    }, {\n      'name': '太湖县',\n      'code': '340825'\n    }, {\n      'name': '宿松县',\n      'code': '340826'\n    }, {\n      'name': '望江县',\n      'code': '340827'\n    }, {\n      'name': '岳西县',\n      'code': '340828'\n    }, {\n      'name': '桐城市',\n      'code': '340881'\n    }, {\n      'name': '潜山市',\n      'code': '340882'\n    }]\n  }, {\n    'name': '黄山市',\n    'code': '341000',\n    'children': [{\n      'name': '屯溪区',\n      'code': '341002'\n    }, {\n      'name': '黄山区',\n      'code': '341003'\n    }, {\n      'name': '徽州区',\n      'code': '341004'\n    }, {\n      'name': '歙县',\n      'code': '341021'\n    }, {\n      'name': '休宁县',\n      'code': '341022'\n    }, {\n      'name': '黟县',\n      'code': '341023'\n    }, {\n      'name': '祁门县',\n      'code': '341024'\n    }]\n  }, {\n    'name': '滁州市',\n    'code': '341100',\n    'children': [{\n      'name': '琅琊区',\n      'code': '341102'\n    }, {\n      'name': '南谯区',\n      'code': '341103'\n    }, {\n      'name': '来安县',\n      'code': '341122'\n    }, {\n      'name': '全椒县',\n      'code': '341124'\n    }, {\n      'name': '定远县',\n      'code': '341125'\n    }, {\n      'name': '凤阳县',\n      'code': '341126'\n    }, {\n      'name': '天长市',\n      'code': '341181'\n    }, {\n      'name': '明光市',\n      'code': '341182'\n    }]\n  }, {\n    'name': '阜阳市',\n    'code': '341200',\n    'children': [{\n      'name': '颍州区',\n      'code': '341202'\n    }, {\n      'name': '颍东区',\n      'code': '341203'\n    }, {\n      'name': '颍泉区',\n      'code': '341204'\n    }, {\n      'name': '临泉县',\n      'code': '341221'\n    }, {\n      'name': '太和县',\n      'code': '341222'\n    }, {\n      'name': '阜南县',\n      'code': '341225'\n    }, {\n      'name': '颍上县',\n      'code': '341226'\n    }, {\n      'name': '界首市',\n      'code': '341282'\n    }]\n  }, {\n    'name': '宿州市',\n    'code': '341300',\n    'children': [{\n      'name': '埇桥区',\n      'code': '341302'\n    }, {\n      'name': '砀山县',\n      'code': '341321'\n    }, {\n      'name': '萧县',\n      'code': '341322'\n    }, {\n      'name': '灵璧县',\n      'code': '341323'\n    }, {\n      'name': '泗县',\n      'code': '341324'\n    }]\n  }, {\n    'name': '六安市',\n    'code': '341500',\n    'children': [{\n      'name': '金安区',\n      'code': '341502'\n    }, {\n      'name': '裕安区',\n      'code': '341503'\n    }, {\n      'name': '叶集区',\n      'code': '341504'\n    }, {\n      'name': '霍邱县',\n      'code': '341522'\n    }, {\n      'name': '舒城县',\n      'code': '341523'\n    }, {\n      'name': '金寨县',\n      'code': '341524'\n    }, {\n      'name': '霍山县',\n      'code': '341525'\n    }]\n  }, {\n    'name': '亳州市',\n    'code': '341600',\n    'children': [{\n      'name': '谯城区',\n      'code': '341602'\n    }, {\n      'name': '涡阳县',\n      'code': '341621'\n    }, {\n      'name': '蒙城县',\n      'code': '341622'\n    }, {\n      'name': '利辛县',\n      'code': '341623'\n    }]\n  }, {\n    'name': '池州市',\n    'code': '341700',\n    'children': [{\n      'name': '贵池区',\n      'code': '341702'\n    }, {\n      'name': '东至县',\n      'code': '341721'\n    }, {\n      'name': '石台县',\n      'code': '341722'\n    }, {\n      'name': '青阳县',\n      'code': '341723'\n    }]\n  }, {\n    'name': '宣城市',\n    'code': '341800',\n    'children': [{\n      'name': '宣州区',\n      'code': '341802'\n    }, {\n      'name': '郎溪县',\n      'code': '341821'\n    }, {\n      'name': '广德县',\n      'code': '341822'\n    }, {\n      'name': '泾县',\n      'code': '341823'\n    }, {\n      'name': '绩溪县',\n      'code': '341824'\n    }, {\n      'name': '旌德县',\n      'code': '341825'\n    }, {\n      'name': '宁国市',\n      'code': '341881'\n    }]\n  }]\n}, {\n  'name': '福建省',\n  'code': '350000',\n  'region': 'east',\n  'children': [{\n    'name': '福州市',\n    'code': '350100',\n    'children': [{\n      'name': '鼓楼区',\n      'code': '350102'\n    }, {\n      'name': '台江区',\n      'code': '350103'\n    }, {\n      'name': '仓山区',\n      'code': '350104'\n    }, {\n      'name': '马尾区',\n      'code': '350105'\n    }, {\n      'name': '晋安区',\n      'code': '350111'\n    }, {\n      'name': '长乐区',\n      'code': '350112'\n    }, {\n      'name': '闽侯县',\n      'code': '350121'\n    }, {\n      'name': '连江县',\n      'code': '350122'\n    }, {\n      'name': '罗源县',\n      'code': '350123'\n    }, {\n      'name': '闽清县',\n      'code': '350124'\n    }, {\n      'name': '永泰县',\n      'code': '350125'\n    }, {\n      'name': '平潭县',\n      'code': '350128'\n    }, {\n      'name': '福清市',\n      'code': '350181'\n    }]\n  }, {\n    'name': '厦门市',\n    'code': '350200',\n    'children': [{\n      'name': '思明区',\n      'code': '350203'\n    }, {\n      'name': '海沧区',\n      'code': '350205'\n    }, {\n      'name': '湖里区',\n      'code': '350206'\n    }, {\n      'name': '集美区',\n      'code': '350211'\n    }, {\n      'name': '同安区',\n      'code': '350212'\n    }, {\n      'name': '翔安区',\n      'code': '350213'\n    }]\n  }, {\n    'name': '莆田市',\n    'code': '350300',\n    'children': [{\n      'name': '城厢区',\n      'code': '350302'\n    }, {\n      'name': '涵江区',\n      'code': '350303'\n    }, {\n      'name': '荔城区',\n      'code': '350304'\n    }, {\n      'name': '秀屿区',\n      'code': '350305'\n    }, {\n      'name': '仙游县',\n      'code': '350322'\n    }]\n  }, {\n    'name': '三明市',\n    'code': '350400',\n    'children': [{\n      'name': '梅列区',\n      'code': '350402'\n    }, {\n      'name': '三元区',\n      'code': '350403'\n    }, {\n      'name': '明溪县',\n      'code': '350421'\n    }, {\n      'name': '清流县',\n      'code': '350423'\n    }, {\n      'name': '宁化县',\n      'code': '350424'\n    }, {\n      'name': '大田县',\n      'code': '350425'\n    }, {\n      'name': '尤溪县',\n      'code': '350426'\n    }, {\n      'name': '沙县',\n      'code': '350427'\n    }, {\n      'name': '将乐县',\n      'code': '350428'\n    }, {\n      'name': '泰宁县',\n      'code': '350429'\n    }, {\n      'name': '建宁县',\n      'code': '350430'\n    }, {\n      'name': '永安市',\n      'code': '350481'\n    }]\n  }, {\n    'name': '泉州市',\n    'code': '350500',\n    'children': [{\n      'name': '鲤城区',\n      'code': '350502'\n    }, {\n      'name': '丰泽区',\n      'code': '350503'\n    }, {\n      'name': '洛江区',\n      'code': '350504'\n    }, {\n      'name': '泉港区',\n      'code': '350505'\n    }, {\n      'name': '惠安县',\n      'code': '350521'\n    }, {\n      'name': '安溪县',\n      'code': '350524'\n    }, {\n      'name': '永春县',\n      'code': '350525'\n    }, {\n      'name': '德化县',\n      'code': '350526'\n    }, {\n      'name': '金门县',\n      'code': '350527'\n    }, {\n      'name': '石狮市',\n      'code': '350581'\n    }, {\n      'name': '晋江市',\n      'code': '350582'\n    }, {\n      'name': '南安市',\n      'code': '350583'\n    }]\n  }, {\n    'name': '漳州市',\n    'code': '350600',\n    'children': [{\n      'name': '芗城区',\n      'code': '350602'\n    }, {\n      'name': '龙文区',\n      'code': '350603'\n    }, {\n      'name': '云霄县',\n      'code': '350622'\n    }, {\n      'name': '漳浦县',\n      'code': '350623'\n    }, {\n      'name': '诏安县',\n      'code': '350624'\n    }, {\n      'name': '长泰县',\n      'code': '350625'\n    }, {\n      'name': '东山县',\n      'code': '350626'\n    }, {\n      'name': '南靖县',\n      'code': '350627'\n    }, {\n      'name': '平和县',\n      'code': '350628'\n    }, {\n      'name': '华安县',\n      'code': '350629'\n    }, {\n      'name': '龙海市',\n      'code': '350681'\n    }]\n  }, {\n    'name': '南平市',\n    'code': '350700',\n    'children': [{\n      'name': '延平区',\n      'code': '350702'\n    }, {\n      'name': '建阳区',\n      'code': '350703'\n    }, {\n      'name': '顺昌县',\n      'code': '350721'\n    }, {\n      'name': '浦城县',\n      'code': '350722'\n    }, {\n      'name': '光泽县',\n      'code': '350723'\n    }, {\n      'name': '松溪县',\n      'code': '350724'\n    }, {\n      'name': '政和县',\n      'code': '350725'\n    }, {\n      'name': '邵武市',\n      'code': '350781'\n    }, {\n      'name': '武夷山市',\n      'code': '350782'\n    }, {\n      'name': '建瓯市',\n      'code': '350783'\n    }]\n  }, {\n    'name': '龙岩市',\n    'code': '350800',\n    'children': [{\n      'name': '新罗区',\n      'code': '350802'\n    }, {\n      'name': '永定区',\n      'code': '350803'\n    }, {\n      'name': '长汀县',\n      'code': '350821'\n    }, {\n      'name': '上杭县',\n      'code': '350823'\n    }, {\n      'name': '武平县',\n      'code': '350824'\n    }, {\n      'name': '连城县',\n      'code': '350825'\n    }, {\n      'name': '漳平市',\n      'code': '350881'\n    }]\n  }, {\n    'name': '宁德市',\n    'code': '350900',\n    'children': [{\n      'name': '蕉城区',\n      'code': '350902'\n    }, {\n      'name': '霞浦县',\n      'code': '350921'\n    }, {\n      'name': '古田县',\n      'code': '350922'\n    }, {\n      'name': '屏南县',\n      'code': '350923'\n    }, {\n      'name': '寿宁县',\n      'code': '350924'\n    }, {\n      'name': '周宁县',\n      'code': '350925'\n    }, {\n      'name': '柘荣县',\n      'code': '350926'\n    }, {\n      'name': '福安市',\n      'code': '350981'\n    }, {\n      'name': '福鼎市',\n      'code': '350982'\n    }]\n  }]\n}, {\n  'name': '江西省',\n  'code': '360000',\n  'region': 'east',\n  'children': [{\n    'name': '南昌市',\n    'code': '360100',\n    'children': [{\n      'name': '东湖区',\n      'code': '360102'\n    }, {\n      'name': '西湖区',\n      'code': '360103'\n    }, {\n      'name': '青云谱区',\n      'code': '360104'\n    }, {\n      'name': '湾里区',\n      'code': '360105'\n    }, {\n      'name': '青山湖区',\n      'code': '360111'\n    }, {\n      'name': '新建区',\n      'code': '360112'\n    }, {\n      'name': '南昌县',\n      'code': '360121'\n    }, {\n      'name': '安义县',\n      'code': '360123'\n    }, {\n      'name': '进贤县',\n      'code': '360124'\n    }]\n  }, {\n    'name': '景德镇市',\n    'code': '360200',\n    'children': [{\n      'name': '昌江区',\n      'code': '360202'\n    }, {\n      'name': '珠山区',\n      'code': '360203'\n    }, {\n      'name': '浮梁县',\n      'code': '360222'\n    }, {\n      'name': '乐平市',\n      'code': '360281'\n    }]\n  }, {\n    'name': '萍乡市',\n    'code': '360300',\n    'children': [{\n      'name': '安源区',\n      'code': '360302'\n    }, {\n      'name': '湘东区',\n      'code': '360313'\n    }, {\n      'name': '莲花县',\n      'code': '360321'\n    }, {\n      'name': '上栗县',\n      'code': '360322'\n    }, {\n      'name': '芦溪县',\n      'code': '360323'\n    }]\n  }, {\n    'name': '九江市',\n    'code': '360400',\n    'children': [{\n      'name': '濂溪区',\n      'code': '360402'\n    }, {\n      'name': '浔阳区',\n      'code': '360403'\n    }, {\n      'name': '柴桑区',\n      'code': '360404'\n    }, {\n      'name': '武宁县',\n      'code': '360423'\n    }, {\n      'name': '修水县',\n      'code': '360424'\n    }, {\n      'name': '永修县',\n      'code': '360425'\n    }, {\n      'name': '德安县',\n      'code': '360426'\n    }, {\n      'name': '都昌县',\n      'code': '360428'\n    }, {\n      'name': '湖口县',\n      'code': '360429'\n    }, {\n      'name': '彭泽县',\n      'code': '360430'\n    }, {\n      'name': '瑞昌市',\n      'code': '360481'\n    }, {\n      'name': '共青城市',\n      'code': '360482'\n    }, {\n      'name': '庐山市',\n      'code': '360483'\n    }]\n  }, {\n    'name': '新余市',\n    'code': '360500',\n    'children': [{\n      'name': '渝水区',\n      'code': '360502'\n    }, {\n      'name': '分宜县',\n      'code': '360521'\n    }]\n  }, {\n    'name': '鹰潭市',\n    'code': '360600',\n    'children': [{\n      'name': '月湖区',\n      'code': '360602'\n    }, {\n      'name': '余江区',\n      'code': '360603'\n    }, {\n      'name': '贵溪市',\n      'code': '360681'\n    }]\n  }, {\n    'name': '赣州市',\n    'code': '360700',\n    'children': [{\n      'name': '章贡区',\n      'code': '360702'\n    }, {\n      'name': '南康区',\n      'code': '360703'\n    }, {\n      'name': '赣县区',\n      'code': '360704'\n    }, {\n      'name': '信丰县',\n      'code': '360722'\n    }, {\n      'name': '大余县',\n      'code': '360723'\n    }, {\n      'name': '上犹县',\n      'code': '360724'\n    }, {\n      'name': '崇义县',\n      'code': '360725'\n    }, {\n      'name': '安远县',\n      'code': '360726'\n    }, {\n      'name': '龙南县',\n      'code': '360727'\n    }, {\n      'name': '定南县',\n      'code': '360728'\n    }, {\n      'name': '全南县',\n      'code': '360729'\n    }, {\n      'name': '宁都县',\n      'code': '360730'\n    }, {\n      'name': '于都县',\n      'code': '360731'\n    }, {\n      'name': '兴国县',\n      'code': '360732'\n    }, {\n      'name': '会昌县',\n      'code': '360733'\n    }, {\n      'name': '寻乌县',\n      'code': '360734'\n    }, {\n      'name': '石城县',\n      'code': '360735'\n    }, {\n      'name': '瑞金市',\n      'code': '360781'\n    }]\n  }, {\n    'name': '吉安市',\n    'code': '360800',\n    'children': [{\n      'name': '吉州区',\n      'code': '360802'\n    }, {\n      'name': '青原区',\n      'code': '360803'\n    }, {\n      'name': '吉安县',\n      'code': '360821'\n    }, {\n      'name': '吉水县',\n      'code': '360822'\n    }, {\n      'name': '峡江县',\n      'code': '360823'\n    }, {\n      'name': '新干县',\n      'code': '360824'\n    }, {\n      'name': '永丰县',\n      'code': '360825'\n    }, {\n      'name': '泰和县',\n      'code': '360826'\n    }, {\n      'name': '遂川县',\n      'code': '360827'\n    }, {\n      'name': '万安县',\n      'code': '360828'\n    }, {\n      'name': '安福县',\n      'code': '360829'\n    }, {\n      'name': '永新县',\n      'code': '360830'\n    }, {\n      'name': '井冈山市',\n      'code': '360881'\n    }]\n  }, {\n    'name': '宜春市',\n    'code': '360900',\n    'children': [{\n      'name': '袁州区',\n      'code': '360902'\n    }, {\n      'name': '奉新县',\n      'code': '360921'\n    }, {\n      'name': '万載县',\n      'code': '360922'\n    }, {\n      'name': '上高县',\n      'code': '360923'\n    }, {\n      'name': '宜丰县',\n      'code': '360924'\n    }, {\n      'name': '靖安县',\n      'code': '360925'\n    }, {\n      'name': '铜鼓县',\n      'code': '360926'\n    }, {\n      'name': '丰城市',\n      'code': '360981'\n    }, {\n      'name': '樟树市',\n      'code': '360982'\n    }, {\n      'name': '高安市',\n      'code': '360983'\n    }]\n  }, {\n    'name': '抚州市',\n    'code': '361000',\n    'children': [{\n      'name': '临川区',\n      'code': '361002'\n    }, {\n      'name': '东乡区',\n      'code': '361003'\n    }, {\n      'name': '南城县',\n      'code': '361021'\n    }, {\n      'name': '黎川县',\n      'code': '361022'\n    }, {\n      'name': '南丰县',\n      'code': '361023'\n    }, {\n      'name': '崇仁县',\n      'code': '361024'\n    }, {\n      'name': '乐安县',\n      'code': '361025'\n    }, {\n      'name': '宜黄县',\n      'code': '361026'\n    }, {\n      'name': '金溪县',\n      'code': '361027'\n    }, {\n      'name': '资溪县',\n      'code': '361028'\n    }, {\n      'name': '广昌县',\n      'code': '361030'\n    }]\n  }, {\n    'name': '上饶市',\n    'code': '361100',\n    'children': [{\n      'name': '信州区',\n      'code': '361102'\n    }, {\n      'name': '广丰区',\n      'code': '361103'\n    }, {\n      'name': '上饶县',\n      'code': '361121'\n    }, {\n      'name': '玉山县',\n      'code': '361123'\n    }, {\n      'name': '铅山县',\n      'code': '361124'\n    }, {\n      'name': '横峰县',\n      'code': '361125'\n    }, {\n      'name': '弋阳县',\n      'code': '361126'\n    }, {\n      'name': '余干县',\n      'code': '361127'\n    }, {\n      'name': '鄱阳县',\n      'code': '361128'\n    }, {\n      'name': '万年县',\n      'code': '361129'\n    }, {\n      'name': '婺源县',\n      'code': '361130'\n    }, {\n      'name': '德兴市',\n      'code': '361181'\n    }]\n  }]\n}, {\n  'name': '山东省',\n  'code': '370000',\n  'region': 'east',\n  'children': [{\n    'name': '济南市',\n    'code': '370100',\n    'children': [{\n      'name': '历下区',\n      'code': '370102'\n    }, {\n      'name': '市中区',\n      'code': '370103'\n    }, {\n      'name': '槐荫区',\n      'code': '370104'\n    }, {\n      'name': '天桥区',\n      'code': '370105'\n    }, {\n      'name': '历城区',\n      'code': '370112'\n    }, {\n      'name': '长清区',\n      'code': '370113'\n    }, {\n      'name': '章丘区',\n      'code': '370114'\n    }, {\n      'name': '济阳区',\n      'code': '370115'\n    }, {\n      'name': '莱芜区',\n      'code': '370116'\n    }, {\n      'name': '钢城区',\n      'code': '370117'\n    }, {\n      'name': '平阴县',\n      'code': '370124'\n    }, {\n      'name': '商河县',\n      'code': '370126'\n    }]\n  }, {\n    'name': '青岛市',\n    'code': '370200',\n    'children': [{\n      'name': '市南区',\n      'code': '370202'\n    }, {\n      'name': '市北区',\n      'code': '370203'\n    }, {\n      'name': '黄岛区',\n      'code': '370211'\n    }, {\n      'name': '崂山区',\n      'code': '370212'\n    }, {\n      'name': '李沧区',\n      'code': '370213'\n    }, {\n      'name': '城阳区',\n      'code': '370214'\n    }, {\n      'name': '即墨区',\n      'code': '370215'\n    }, {\n      'name': '胶州市',\n      'code': '370281'\n    }, {\n      'name': '平度市',\n      'code': '370283'\n    }, {\n      'name': '莱西市',\n      'code': '370285'\n    }]\n  }, {\n    'name': '淄博市',\n    'code': '370300',\n    'children': [{\n      'name': '淄川区',\n      'code': '370302'\n    }, {\n      'name': '张店区',\n      'code': '370303'\n    }, {\n      'name': '博山区',\n      'code': '370304'\n    }, {\n      'name': '临淄区',\n      'code': '370305'\n    }, {\n      'name': '周村区',\n      'code': '370306'\n    }, {\n      'name': '桓台县',\n      'code': '370321'\n    }, {\n      'name': '高青县',\n      'code': '370322'\n    }, {\n      'name': '沂源县',\n      'code': '370323'\n    }]\n  }, {\n    'name': '枣庄市',\n    'code': '370400',\n    'children': [{\n      'name': '市中区',\n      'code': '370402'\n    }, {\n      'name': '薛城区',\n      'code': '370403'\n    }, {\n      'name': '峄城区',\n      'code': '370404'\n    }, {\n      'name': '台儿庄区',\n      'code': '370405'\n    }, {\n      'name': '山亭区',\n      'code': '370406'\n    }, {\n      'name': '滕州市',\n      'code': '370481'\n    }]\n  }, {\n    'name': '东营市',\n    'code': '370500',\n    'children': [{\n      'name': '东营区',\n      'code': '370502'\n    }, {\n      'name': '河口区',\n      'code': '370503'\n    }, {\n      'name': '垦利区',\n      'code': '370505'\n    }, {\n      'name': '利津县',\n      'code': '370522'\n    }, {\n      'name': '广饶县',\n      'code': '370523'\n    }]\n  }, {\n    'name': '烟台市',\n    'code': '370600',\n    'children': [{\n      'name': '芝罘区',\n      'code': '370602'\n    }, {\n      'name': '福山区',\n      'code': '370611'\n    }, {\n      'name': '牟平区',\n      'code': '370612'\n    }, {\n      'name': '莱山区',\n      'code': '370613'\n    }, {\n      'name': '长岛县',\n      'code': '370634'\n    }, {\n      'name': '龙口市',\n      'code': '370681'\n    }, {\n      'name': '莱阳市',\n      'code': '370682'\n    }, {\n      'name': '莱州市',\n      'code': '370683'\n    }, {\n      'name': '蓬莱市',\n      'code': '370684'\n    }, {\n      'name': '招远市',\n      'code': '370685'\n    }, {\n      'name': '栖霞市',\n      'code': '370686'\n    }, {\n      'name': '海阳市',\n      'code': '370687'\n    }]\n  }, {\n    'name': '潍坊市',\n    'code': '370700',\n    'children': [{\n      'name': '潍城区',\n      'code': '370702'\n    }, {\n      'name': '寒亭区',\n      'code': '370703'\n    }, {\n      'name': '坊子区',\n      'code': '370704'\n    }, {\n      'name': '奎文区',\n      'code': '370705'\n    }, {\n      'name': '临朐县',\n      'code': '370724'\n    }, {\n      'name': '昌乐县',\n      'code': '370725'\n    }, {\n      'name': '青州市',\n      'code': '370781'\n    }, {\n      'name': '诸城市',\n      'code': '370782'\n    }, {\n      'name': '寿光市',\n      'code': '370783'\n    }, {\n      'name': '安丘市',\n      'code': '370784'\n    }, {\n      'name': '高密市',\n      'code': '370785'\n    }, {\n      'name': '昌邑市',\n      'code': '370786'\n    }]\n  }, {\n    'name': '济宁市',\n    'code': '370800',\n    'children': [{\n      'name': '任城区',\n      'code': '370811'\n    }, {\n      'name': '兖州区',\n      'code': '370812'\n    }, {\n      'name': '微山县',\n      'code': '370826'\n    }, {\n      'name': '鱼台县',\n      'code': '370827'\n    }, {\n      'name': '金乡县',\n      'code': '370828'\n    }, {\n      'name': '嘉祥县',\n      'code': '370829'\n    }, {\n      'name': '汶上县',\n      'code': '370830'\n    }, {\n      'name': '泗水县',\n      'code': '370831'\n    }, {\n      'name': '梁山县',\n      'code': '370832'\n    }, {\n      'name': '曲阜市',\n      'code': '370881'\n    }, {\n      'name': '邹城市',\n      'code': '370883'\n    }]\n  }, {\n    'name': '泰安市',\n    'code': '370900',\n    'children': [{\n      'name': '泰山区',\n      'code': '370902'\n    }, {\n      'name': '岱岳区',\n      'code': '370911'\n    }, {\n      'name': '宁阳县',\n      'code': '370921'\n    }, {\n      'name': '东平县',\n      'code': '370923'\n    }, {\n      'name': '新泰市',\n      'code': '370982'\n    }, {\n      'name': '肥城市',\n      'code': '370983'\n    }]\n  }, {\n    'name': '威海市',\n    'code': '371000',\n    'children': [{\n      'name': '环翠区',\n      'code': '371002'\n    }, {\n      'name': '文登区',\n      'code': '371003'\n    }, {\n      'name': '荣成市',\n      'code': '371082'\n    }, {\n      'name': '乳山市',\n      'code': '371083'\n    }]\n  }, {\n    'name': '日照市',\n    'code': '371100',\n    'children': [{\n      'name': '东港区',\n      'code': '371102'\n    }, {\n      'name': '岚山区',\n      'code': '371103'\n    }, {\n      'name': '五莲县',\n      'code': '371121'\n    }, {\n      'name': '莒县',\n      'code': '371122'\n    }]\n  }, {\n    'name': '临沂市',\n    'code': '371300',\n    'children': [{\n      'name': '兰山区',\n      'code': '371302'\n    }, {\n      'name': '罗庄区',\n      'code': '371311'\n    }, {\n      'name': '河东区',\n      'code': '371312'\n    }, {\n      'name': '沂南县',\n      'code': '371321'\n    }, {\n      'name': '郯城县',\n      'code': '371322'\n    }, {\n      'name': '沂水县',\n      'code': '371323'\n    }, {\n      'name': '兰陵县',\n      'code': '371324'\n    }, {\n      'name': '费县',\n      'code': '371325'\n    }, {\n      'name': '平邑县',\n      'code': '371326'\n    }, {\n      'name': '莒南县',\n      'code': '371327'\n    }, {\n      'name': '蒙阴县',\n      'code': '371328'\n    }, {\n      'name': '临沭县',\n      'code': '371329'\n    }]\n  }, {\n    'name': '德州市',\n    'code': '371400',\n    'children': [{\n      'name': '德城区',\n      'code': '371402'\n    }, {\n      'name': '陵城区',\n      'code': '371403'\n    }, {\n      'name': '宁津县',\n      'code': '371422'\n    }, {\n      'name': '庆云县',\n      'code': '371423'\n    }, {\n      'name': '临邑县',\n      'code': '371424'\n    }, {\n      'name': '齐河县',\n      'code': '371425'\n    }, {\n      'name': '平原县',\n      'code': '371426'\n    }, {\n      'name': '夏津县',\n      'code': '371427'\n    }, {\n      'name': '武城县',\n      'code': '371428'\n    }, {\n      'name': '乐陵市',\n      'code': '371481'\n    }, {\n      'name': '禹城市',\n      'code': '371482'\n    }]\n  }, {\n    'name': '聊城市',\n    'code': '371500',\n    'children': [{\n      'name': '东昌府区',\n      'code': '371502'\n    }, {\n      'name': '阳谷县',\n      'code': '371521'\n    }, {\n      'name': '莘县',\n      'code': '371522'\n    }, {\n      'name': '茌平县',\n      'code': '371523'\n    }, {\n      'name': '东阿县',\n      'code': '371524'\n    }, {\n      'name': '冠县',\n      'code': '371525'\n    }, {\n      'name': '高唐县',\n      'code': '371526'\n    }, {\n      'name': '临清市',\n      'code': '371581'\n    }]\n  }, {\n    'name': '滨州市',\n    'code': '371600',\n    'children': [{\n      'name': '滨城区',\n      'code': '371602'\n    }, {\n      'name': '沾化区',\n      'code': '371603'\n    }, {\n      'name': '惠民县',\n      'code': '371621'\n    }, {\n      'name': '阳信县',\n      'code': '371622'\n    }, {\n      'name': '无棣县',\n      'code': '371623'\n    }, {\n      'name': '博兴县',\n      'code': '371625'\n    }, {\n      'name': '邹平市',\n      'code': '371681'\n    }]\n  }, {\n    'name': '菏泽市',\n    'code': '371700',\n    'children': [{\n      'name': '牡丹区',\n      'code': '371702'\n    }, {\n      'name': '定陶区',\n      'code': '371703'\n    }, {\n      'name': '曹县',\n      'code': '371721'\n    }, {\n      'name': '单县',\n      'code': '371722'\n    }, {\n      'name': '成武县',\n      'code': '371723'\n    }, {\n      'name': '巨野县',\n      'code': '371724'\n    }, {\n      'name': '郓城县',\n      'code': '371725'\n    }, {\n      'name': '鄄城县',\n      'code': '371726'\n    }, {\n      'name': '东明县',\n      'code': '371728'\n    }]\n  }]\n}, {\n  'name': '河南省',\n  'code': '410000',\n  'region': 'central',\n  'children': [{\n    'name': '郑州市',\n    'code': '410100',\n    'children': [{\n      'name': '中原区',\n      'code': '410102'\n    }, {\n      'name': '二七区',\n      'code': '410103'\n    }, {\n      'name': '管城回族区',\n      'code': '410104'\n    }, {\n      'name': '金水区',\n      'code': '410105'\n    }, {\n      'name': '上街区',\n      'code': '410106'\n    }, {\n      'name': '惠济区',\n      'code': '410108'\n    }, {\n      'name': '中牟县',\n      'code': '410122'\n    }, {\n      'name': '巩义市',\n      'code': '410181'\n    }, {\n      'name': '荥阳市',\n      'code': '410182'\n    }, {\n      'name': '新密市',\n      'code': '410183'\n    }, {\n      'name': '新郑市',\n      'code': '410184'\n    }, {\n      'name': '登封市',\n      'code': '410185'\n    }]\n  }, {\n    'name': '开封市',\n    'code': '410200',\n    'children': [{\n      'name': '龙亭区',\n      'code': '410202'\n    }, {\n      'name': '顺河回族区',\n      'code': '410203'\n    }, {\n      'name': '鼓楼区',\n      'code': '410204'\n    }, {\n      'name': '禹王台区',\n      'code': '410205'\n    }, {\n      'name': '祥符区',\n      'code': '410212'\n    }, {\n      'name': '杞县',\n      'code': '410221'\n    }, {\n      'name': '通许县',\n      'code': '410222'\n    }, {\n      'name': '尉氏县',\n      'code': '410223'\n    }, {\n      'name': '兰考县',\n      'code': '410225'\n    }]\n  }, {\n    'name': '洛阳市',\n    'code': '410300',\n    'children': [{\n      'name': '老城区',\n      'code': '410302'\n    }, {\n      'name': '西工区',\n      'code': '410303'\n    }, {\n      'name': '瀍河回族区',\n      'code': '410304'\n    }, {\n      'name': '涧西区',\n      'code': '410305'\n    }, {\n      'name': '吉利区',\n      'code': '410306'\n    }, {\n      'name': '洛龙区',\n      'code': '410311'\n    }, {\n      'name': '孟津县',\n      'code': '410322'\n    }, {\n      'name': '新安县',\n      'code': '410323'\n    }, {\n      'name': '栾川县',\n      'code': '410324'\n    }, {\n      'name': '嵩县',\n      'code': '410325'\n    }, {\n      'name': '汝阳县',\n      'code': '410326'\n    }, {\n      'name': '宜阳县',\n      'code': '410327'\n    }, {\n      'name': '洛宁县',\n      'code': '410328'\n    }, {\n      'name': '伊川县',\n      'code': '410329'\n    }, {\n      'name': '偃师市',\n      'code': '410381'\n    }]\n  }, {\n    'name': '平顶山市',\n    'code': '410400',\n    'children': [{\n      'name': '新华区',\n      'code': '410402'\n    }, {\n      'name': '卫东区',\n      'code': '410403'\n    }, {\n      'name': '石龙区',\n      'code': '410404'\n    }, {\n      'name': '湛河区',\n      'code': '410411'\n    }, {\n      'name': '宝丰县',\n      'code': '410421'\n    }, {\n      'name': '叶县',\n      'code': '410422'\n    }, {\n      'name': '鲁山县',\n      'code': '410423'\n    }, {\n      'name': '郏县',\n      'code': '410425'\n    }, {\n      'name': '舞钢市',\n      'code': '410481'\n    }, {\n      'name': '汝州市',\n      'code': '410482'\n    }]\n  }, {\n    'name': '安阳市',\n    'code': '410500',\n    'children': [{\n      'name': '文峰区',\n      'code': '410502'\n    }, {\n      'name': '北关区',\n      'code': '410503'\n    }, {\n      'name': '殷都区',\n      'code': '410505'\n    }, {\n      'name': '龙安区',\n      'code': '410506'\n    }, {\n      'name': '安阳县',\n      'code': '410522'\n    }, {\n      'name': '汤阴县',\n      'code': '410523'\n    }, {\n      'name': '滑县',\n      'code': '410526'\n    }, {\n      'name': '内黄县',\n      'code': '410527'\n    }, {\n      'name': '林州市',\n      'code': '410581'\n    }]\n  }, {\n    'name': '鹤壁市',\n    'code': '410600',\n    'children': [{\n      'name': '鹤山区',\n      'code': '410602'\n    }, {\n      'name': '山城区',\n      'code': '410603'\n    }, {\n      'name': '淇滨区',\n      'code': '410611'\n    }, {\n      'name': '浚县',\n      'code': '410621'\n    }, {\n      'name': '淇县',\n      'code': '410622'\n    }]\n  }, {\n    'name': '新乡市',\n    'code': '410700',\n    'children': [{\n      'name': '红旗区',\n      'code': '410702'\n    }, {\n      'name': '卫滨区',\n      'code': '410703'\n    }, {\n      'name': '凤泉区',\n      'code': '410704'\n    }, {\n      'name': '牧野区',\n      'code': '410711'\n    }, {\n      'name': '新乡县',\n      'code': '410721'\n    }, {\n      'name': '获嘉县',\n      'code': '410724'\n    }, {\n      'name': '原阳县',\n      'code': '410725'\n    }, {\n      'name': '延津县',\n      'code': '410726'\n    }, {\n      'name': '封丘县',\n      'code': '410727'\n    }, {\n      'name': '长垣县',\n      'code': '410728'\n    }, {\n      'name': '卫辉市',\n      'code': '410781'\n    }, {\n      'name': '辉县市',\n      'code': '410782'\n    }]\n  }, {\n    'name': '焦作市',\n    'code': '410800',\n    'children': [{\n      'name': '解放区',\n      'code': '410802'\n    }, {\n      'name': '中站区',\n      'code': '410803'\n    }, {\n      'name': '马村区',\n      'code': '410804'\n    }, {\n      'name': '山阳区',\n      'code': '410811'\n    }, {\n      'name': '修武县',\n      'code': '410821'\n    }, {\n      'name': '博爱县',\n      'code': '410822'\n    }, {\n      'name': '武陟县',\n      'code': '410823'\n    }, {\n      'name': '温县',\n      'code': '410825'\n    }, {\n      'name': '沁阳市',\n      'code': '410882'\n    }, {\n      'name': '孟州市',\n      'code': '410883'\n    }]\n  }, {\n    'name': '濮阳市',\n    'code': '410900',\n    'children': [{\n      'name': '华龙区',\n      'code': '410902'\n    }, {\n      'name': '清丰县',\n      'code': '410922'\n    }, {\n      'name': '南乐县',\n      'code': '410923'\n    }, {\n      'name': '范县',\n      'code': '410926'\n    }, {\n      'name': '台前县',\n      'code': '410927'\n    }, {\n      'name': '濮阳县',\n      'code': '410928'\n    }]\n  }, {\n    'name': '许昌市',\n    'code': '411000',\n    'children': [{\n      'name': '魏都区',\n      'code': '411002'\n    }, {\n      'name': '建安区',\n      'code': '411003'\n    }, {\n      'name': '鄢陵县',\n      'code': '411024'\n    }, {\n      'name': '襄城县',\n      'code': '411025'\n    }, {\n      'name': '禹州市',\n      'code': '411081'\n    }, {\n      'name': '长葛市',\n      'code': '411082'\n    }]\n  }, {\n    'name': '漯河市',\n    'code': '411100',\n    'children': [{\n      'name': '源汇区',\n      'code': '411102'\n    }, {\n      'name': '郾城区',\n      'code': '411103'\n    }, {\n      'name': '召陵区',\n      'code': '411104'\n    }, {\n      'name': '舞阳县',\n      'code': '411121'\n    }, {\n      'name': '临颍县',\n      'code': '411122'\n    }]\n  }, {\n    'name': '三门峡市',\n    'code': '411200',\n    'children': [{\n      'name': '湖滨区',\n      'code': '411202'\n    }, {\n      'name': '陕州区',\n      'code': '411203'\n    }, {\n      'name': '渑池县',\n      'code': '411221'\n    }, {\n      'name': '卢氏县',\n      'code': '411224'\n    }, {\n      'name': '义马市',\n      'code': '411281'\n    }, {\n      'name': '灵宝市',\n      'code': '411282'\n    }]\n  }, {\n    'name': '南阳市',\n    'code': '411300',\n    'children': [{\n      'name': '宛城区',\n      'code': '411302'\n    }, {\n      'name': '卧龙区',\n      'code': '411303'\n    }, {\n      'name': '南召县',\n      'code': '411321'\n    }, {\n      'name': '方城县',\n      'code': '411322'\n    }, {\n      'name': '西峡县',\n      'code': '411323'\n    }, {\n      'name': '镇平县',\n      'code': '411324'\n    }, {\n      'name': '内乡县',\n      'code': '411325'\n    }, {\n      'name': '淅川县',\n      'code': '411326'\n    }, {\n      'name': '社旗县',\n      'code': '411327'\n    }, {\n      'name': '唐河县',\n      'code': '411328'\n    }, {\n      'name': '新野县',\n      'code': '411329'\n    }, {\n      'name': '桐柏县',\n      'code': '411330'\n    }, {\n      'name': '邓州市',\n      'code': '411381'\n    }]\n  }, {\n    'name': '商丘市',\n    'code': '411400',\n    'children': [{\n      'name': '梁园区',\n      'code': '411402'\n    }, {\n      'name': '睢阳区',\n      'code': '411403'\n    }, {\n      'name': '民权县',\n      'code': '411421'\n    }, {\n      'name': '睢县',\n      'code': '411422'\n    }, {\n      'name': '宁陵县',\n      'code': '411423'\n    }, {\n      'name': '柘城县',\n      'code': '411424'\n    }, {\n      'name': '虞城县',\n      'code': '411425'\n    }, {\n      'name': '夏邑县',\n      'code': '411426'\n    }, {\n      'name': '永城市',\n      'code': '411481'\n    }]\n  }, {\n    'name': '信阳市',\n    'code': '411500',\n    'children': [{\n      'name': '浉河区',\n      'code': '411502'\n    }, {\n      'name': '平桥区',\n      'code': '411503'\n    }, {\n      'name': '罗山县',\n      'code': '411521'\n    }, {\n      'name': '光山县',\n      'code': '411522'\n    }, {\n      'name': '新县',\n      'code': '411523'\n    }, {\n      'name': '商城县',\n      'code': '411524'\n    }, {\n      'name': '固始县',\n      'code': '411525'\n    }, {\n      'name': '潢川县',\n      'code': '411526'\n    }, {\n      'name': '淮滨县',\n      'code': '411527'\n    }, {\n      'name': '息县',\n      'code': '411528'\n    }]\n  }, {\n    'name': '周口市',\n    'code': '411600',\n    'children': [{\n      'name': '川汇区',\n      'code': '411602'\n    }, {\n      'name': '扶沟县',\n      'code': '411621'\n    }, {\n      'name': '西华县',\n      'code': '411622'\n    }, {\n      'name': '商水县',\n      'code': '411623'\n    }, {\n      'name': '沈丘县',\n      'code': '411624'\n    }, {\n      'name': '郸城县',\n      'code': '411625'\n    }, {\n      'name': '淮阳县',\n      'code': '411626'\n    }, {\n      'name': '太康县',\n      'code': '411627'\n    }, {\n      'name': '鹿邑县',\n      'code': '411628'\n    }, {\n      'name': '项城市',\n      'code': '411681'\n    }]\n  }, {\n    'name': '驻马店市',\n    'code': '411700',\n    'children': [{\n      'name': '驿城区',\n      'code': '411702'\n    }, {\n      'name': '西平县',\n      'code': '411721'\n    }, {\n      'name': '上蔡县',\n      'code': '411722'\n    }, {\n      'name': '平舆县',\n      'code': '411723'\n    }, {\n      'name': '正阳县',\n      'code': '411724'\n    }, {\n      'name': '确山县',\n      'code': '411725'\n    }, {\n      'name': '泌阳县',\n      'code': '411726'\n    }, {\n      'name': '汝南县',\n      'code': '411727'\n    }, {\n      'name': '遂平县',\n      'code': '411728'\n    }, {\n      'name': '新蔡县',\n      'code': '411729'\n    }]\n  }, {\n    'name': '直辖县',\n    'code': '419000',\n    'children': [{\n      'name': '济源市',\n      'code': '419001'\n    }]\n  }]\n}, {\n  'name': '湖北省',\n  'code': '420000',\n  'region': 'central',\n  'children': [{\n    'name': '武汉市',\n    'code': '420100',\n    'children': [{\n      'name': '江岸区',\n      'code': '420102'\n    }, {\n      'name': '江汉区',\n      'code': '420103'\n    }, {\n      'name': '硚口区',\n      'code': '420104'\n    }, {\n      'name': '汉阳区',\n      'code': '420105'\n    }, {\n      'name': '武昌区',\n      'code': '420106'\n    }, {\n      'name': '青山区',\n      'code': '420107'\n    }, {\n      'name': '洪山区',\n      'code': '420111'\n    }, {\n      'name': '东西湖区',\n      'code': '420112'\n    }, {\n      'name': '汉南区',\n      'code': '420113'\n    }, {\n      'name': '蔡甸区',\n      'code': '420114'\n    }, {\n      'name': '江夏区',\n      'code': '420115'\n    }, {\n      'name': '黄陂区',\n      'code': '420116'\n    }, {\n      'name': '新洲区',\n      'code': '420117'\n    }]\n  }, {\n    'name': '黄石市',\n    'code': '420200',\n    'children': [{\n      'name': '黄石港区',\n      'code': '420202'\n    }, {\n      'name': '西塞山区',\n      'code': '420203'\n    }, {\n      'name': '下陆区',\n      'code': '420204'\n    }, {\n      'name': '铁山区',\n      'code': '420205'\n    }, {\n      'name': '阳新县',\n      'code': '420222'\n    }, {\n      'name': '大冶市',\n      'code': '420281'\n    }]\n  }, {\n    'name': '十堰市',\n    'code': '420300',\n    'children': [{\n      'name': '茅箭区',\n      'code': '420302'\n    }, {\n      'name': '张湾区',\n      'code': '420303'\n    }, {\n      'name': '郧阳区',\n      'code': '420304'\n    }, {\n      'name': '郧西县',\n      'code': '420322'\n    }, {\n      'name': '竹山县',\n      'code': '420323'\n    }, {\n      'name': '竹溪县',\n      'code': '420324'\n    }, {\n      'name': '房县',\n      'code': '420325'\n    }, {\n      'name': '丹江口市',\n      'code': '420381'\n    }]\n  }, {\n    'name': '宜昌市',\n    'code': '420500',\n    'children': [{\n      'name': '西陵区',\n      'code': '420502'\n    }, {\n      'name': '伍家岗区',\n      'code': '420503'\n    }, {\n      'name': '点军区',\n      'code': '420504'\n    }, {\n      'name': '猇亭区',\n      'code': '420505'\n    }, {\n      'name': '夷陵区',\n      'code': '420506'\n    }, {\n      'name': '远安县',\n      'code': '420525'\n    }, {\n      'name': '兴山县',\n      'code': '420526'\n    }, {\n      'name': '秭归县',\n      'code': '420527'\n    }, {\n      'name': '长阳土家族自治县',\n      'code': '420528'\n    }, {\n      'name': '五峰土家族自治县',\n      'code': '420529'\n    }, {\n      'name': '宜都市',\n      'code': '420581'\n    }, {\n      'name': '当阳市',\n      'code': '420582'\n    }, {\n      'name': '枝江市',\n      'code': '420583'\n    }]\n  }, {\n    'name': '襄阳市',\n    'code': '420600',\n    'children': [{\n      'name': '襄城区',\n      'code': '420602'\n    }, {\n      'name': '樊城区',\n      'code': '420606'\n    }, {\n      'name': '襄州区',\n      'code': '420607'\n    }, {\n      'name': '南漳县',\n      'code': '420624'\n    }, {\n      'name': '谷城县',\n      'code': '420625'\n    }, {\n      'name': '保康县',\n      'code': '420626'\n    }, {\n      'name': '老河口市',\n      'code': '420682'\n    }, {\n      'name': '枣阳市',\n      'code': '420683'\n    }, {\n      'name': '宜城市',\n      'code': '420684'\n    }]\n  }, {\n    'name': '鄂州市',\n    'code': '420700',\n    'children': [{\n      'name': '梁子湖区',\n      'code': '420702'\n    }, {\n      'name': '华容区',\n      'code': '420703'\n    }, {\n      'name': '鄂城区',\n      'code': '420704'\n    }]\n  }, {\n    'name': '荆门市',\n    'code': '420800',\n    'children': [{\n      'name': '东宝区',\n      'code': '420802'\n    }, {\n      'name': '掇刀区',\n      'code': '420804'\n    }, {\n      'name': '沙洋县',\n      'code': '420822'\n    }, {\n      'name': '钟祥市',\n      'code': '420881'\n    }, {\n      'name': '京山市',\n      'code': '420882'\n    }]\n  }, {\n    'name': '孝感市',\n    'code': '420900',\n    'children': [{\n      'name': '孝南区',\n      'code': '420902'\n    }, {\n      'name': '孝昌县',\n      'code': '420921'\n    }, {\n      'name': '大悟县',\n      'code': '420922'\n    }, {\n      'name': '云梦县',\n      'code': '420923'\n    }, {\n      'name': '应城市',\n      'code': '420981'\n    }, {\n      'name': '安陆市',\n      'code': '420982'\n    }, {\n      'name': '汉川市',\n      'code': '420984'\n    }]\n  }, {\n    'name': '荆州市',\n    'code': '421000',\n    'children': [{\n      'name': '沙市区',\n      'code': '421002'\n    }, {\n      'name': '荆州区',\n      'code': '421003'\n    }, {\n      'name': '公安县',\n      'code': '421022'\n    }, {\n      'name': '监利县',\n      'code': '421023'\n    }, {\n      'name': '江陵县',\n      'code': '421024'\n    }, {\n      'name': '石首市',\n      'code': '421081'\n    }, {\n      'name': '洪湖市',\n      'code': '421083'\n    }, {\n      'name': '松滋市',\n      'code': '421087'\n    }]\n  }, {\n    'name': '黄冈市',\n    'code': '421100',\n    'children': [{\n      'name': '黄州区',\n      'code': '421102'\n    }, {\n      'name': '团风县',\n      'code': '421121'\n    }, {\n      'name': '红安县',\n      'code': '421122'\n    }, {\n      'name': '罗田县',\n      'code': '421123'\n    }, {\n      'name': '英山县',\n      'code': '421124'\n    }, {\n      'name': '浠水县',\n      'code': '421125'\n    }, {\n      'name': '蕲春县',\n      'code': '421126'\n    }, {\n      'name': '黄梅县',\n      'code': '421127'\n    }, {\n      'name': '麻城市',\n      'code': '421181'\n    }, {\n      'name': '武穴市',\n      'code': '421182'\n    }]\n  }, {\n    'name': '咸宁市',\n    'code': '421200',\n    'children': [{\n      'name': '咸安区',\n      'code': '421202'\n    }, {\n      'name': '嘉鱼县',\n      'code': '421221'\n    }, {\n      'name': '通城县',\n      'code': '421222'\n    }, {\n      'name': '崇阳县',\n      'code': '421223'\n    }, {\n      'name': '通山县',\n      'code': '421224'\n    }, {\n      'name': '赤壁市',\n      'code': '421281'\n    }]\n  }, {\n    'name': '随州市',\n    'code': '421300',\n    'children': [{\n      'name': '曾都区',\n      'code': '421303'\n    }, {\n      'name': '随县',\n      'code': '421321'\n    }, {\n      'name': '广水市',\n      'code': '421381'\n    }]\n  }, {\n    'name': '恩施土家族苗族自治州',\n    'code': '422800',\n    'children': [{\n      'name': '恩施市',\n      'code': '422801'\n    }, {\n      'name': '利川市',\n      'code': '422802'\n    }, {\n      'name': '建始县',\n      'code': '422822'\n    }, {\n      'name': '巴东县',\n      'code': '422823'\n    }, {\n      'name': '宣恩县',\n      'code': '422825'\n    }, {\n      'name': '咸丰县',\n      'code': '422826'\n    }, {\n      'name': '来凤县',\n      'code': '422827'\n    }, {\n      'name': '鹤峰县',\n      'code': '422828'\n    }]\n  }, {\n    'name': '直辖县',\n    'code': '429000',\n    'children': [{\n      'name': '仙桃市',\n      'code': '429004'\n    }, {\n      'name': '潜江市',\n      'code': '429005'\n    }, {\n      'name': '天门市',\n      'code': '429006'\n    }, {\n      'name': '神农架林区',\n      'code': '429021'\n    }]\n  }]\n}, {\n  'name': '湖南省',\n  'code': '430000',\n  'region': 'central',\n  'children': [{\n    'name': '长沙市',\n    'code': '430100',\n    'children': [{\n      'name': '芙蓉区',\n      'code': '430102'\n    }, {\n      'name': '天心区',\n      'code': '430103'\n    }, {\n      'name': '岳麓区',\n      'code': '430104'\n    }, {\n      'name': '开福区',\n      'code': '430105'\n    }, {\n      'name': '雨花区',\n      'code': '430111'\n    }, {\n      'name': '望城区',\n      'code': '430112'\n    }, {\n      'name': '长沙县',\n      'code': '430121'\n    }, {\n      'name': '浏阳市',\n      'code': '430181'\n    }, {\n      'name': '宁乡市',\n      'code': '430182'\n    }]\n  }, {\n    'name': '株洲市',\n    'code': '430200',\n    'children': [{\n      'name': '荷塘区',\n      'code': '430202'\n    }, {\n      'name': '芦淞区',\n      'code': '430203'\n    }, {\n      'name': '石峰区',\n      'code': '430204'\n    }, {\n      'name': '天元区',\n      'code': '430211'\n    }, {\n      'name': '渌口区',\n      'code': '430212'\n    }, {\n      'name': '攸县',\n      'code': '430223'\n    }, {\n      'name': '茶陵县',\n      'code': '430224'\n    }, {\n      'name': '炎陵县',\n      'code': '430225'\n    }, {\n      'name': '醴陵市',\n      'code': '430281'\n    }]\n  }, {\n    'name': '湘潭市',\n    'code': '430300',\n    'children': [{\n      'name': '雨湖区',\n      'code': '430302'\n    }, {\n      'name': '岳塘区',\n      'code': '430304'\n    }, {\n      'name': '湘潭县',\n      'code': '430321'\n    }, {\n      'name': '湘乡市',\n      'code': '430381'\n    }, {\n      'name': '韶山市',\n      'code': '430382'\n    }]\n  }, {\n    'name': '衡阳市',\n    'code': '430400',\n    'children': [{\n      'name': '珠晖区',\n      'code': '430405'\n    }, {\n      'name': '雁峰区',\n      'code': '430406'\n    }, {\n      'name': '石鼓区',\n      'code': '430407'\n    }, {\n      'name': '蒸湘区',\n      'code': '430408'\n    }, {\n      'name': '南岳区',\n      'code': '430412'\n    }, {\n      'name': '衡阳县',\n      'code': '430421'\n    }, {\n      'name': '衡南县',\n      'code': '430422'\n    }, {\n      'name': '衡山县',\n      'code': '430423'\n    }, {\n      'name': '衡东县',\n      'code': '430424'\n    }, {\n      'name': '祁东县',\n      'code': '430426'\n    }, {\n      'name': '耒阳市',\n      'code': '430481'\n    }, {\n      'name': '常宁市',\n      'code': '430482'\n    }]\n  }, {\n    'name': '邵阳市',\n    'code': '430500',\n    'children': [{\n      'name': '双清区',\n      'code': '430502'\n    }, {\n      'name': '大祥区',\n      'code': '430503'\n    }, {\n      'name': '北塔区',\n      'code': '430511'\n    }, {\n      'name': '邵东县',\n      'code': '430521'\n    }, {\n      'name': '新邵县',\n      'code': '430522'\n    }, {\n      'name': '邵阳县',\n      'code': '430523'\n    }, {\n      'name': '隆回县',\n      'code': '430524'\n    }, {\n      'name': '洞口县',\n      'code': '430525'\n    }, {\n      'name': '绥宁县',\n      'code': '430527'\n    }, {\n      'name': '新宁县',\n      'code': '430528'\n    }, {\n      'name': '城步苗族自治县',\n      'code': '430529'\n    }, {\n      'name': '武冈市',\n      'code': '430581'\n    }]\n  }, {\n    'name': '岳阳市',\n    'code': '430600',\n    'children': [{\n      'name': '岳阳楼区',\n      'code': '430602'\n    }, {\n      'name': '云溪区',\n      'code': '430603'\n    }, {\n      'name': '君山区',\n      'code': '430611'\n    }, {\n      'name': '岳阳县',\n      'code': '430621'\n    }, {\n      'name': '华容县',\n      'code': '430623'\n    }, {\n      'name': '湘阴县',\n      'code': '430624'\n    }, {\n      'name': '平江县',\n      'code': '430626'\n    }, {\n      'name': '汨罗市',\n      'code': '430681'\n    }, {\n      'name': '临湘市',\n      'code': '430682'\n    }]\n  }, {\n    'name': '常德市',\n    'code': '430700',\n    'children': [{\n      'name': '武陵区',\n      'code': '430702'\n    }, {\n      'name': '鼎城区',\n      'code': '430703'\n    }, {\n      'name': '安乡县',\n      'code': '430721'\n    }, {\n      'name': '汉寿县',\n      'code': '430722'\n    }, {\n      'name': '澧县',\n      'code': '430723'\n    }, {\n      'name': '临澧县',\n      'code': '430724'\n    }, {\n      'name': '桃源县',\n      'code': '430725'\n    }, {\n      'name': '石门县',\n      'code': '430726'\n    }, {\n      'name': '津市市',\n      'code': '430781'\n    }]\n  }, {\n    'name': '张家界市',\n    'code': '430800',\n    'children': [{\n      'name': '永定区',\n      'code': '430802'\n    }, {\n      'name': '武陵源区',\n      'code': '430811'\n    }, {\n      'name': '慈利县',\n      'code': '430821'\n    }, {\n      'name': '桑植县',\n      'code': '430822'\n    }]\n  }, {\n    'name': '益阳市',\n    'code': '430900',\n    'children': [{\n      'name': '资阳区',\n      'code': '430902'\n    }, {\n      'name': '赫山区',\n      'code': '430903'\n    }, {\n      'name': '南县',\n      'code': '430921'\n    }, {\n      'name': '桃江县',\n      'code': '430922'\n    }, {\n      'name': '安化县',\n      'code': '430923'\n    }, {\n      'name': '沅江市',\n      'code': '430981'\n    }]\n  }, {\n    'name': '郴州市',\n    'code': '431000',\n    'children': [{\n      'name': '北湖区',\n      'code': '431002'\n    }, {\n      'name': '苏仙区',\n      'code': '431003'\n    }, {\n      'name': '桂阳县',\n      'code': '431021'\n    }, {\n      'name': '宜章县',\n      'code': '431022'\n    }, {\n      'name': '永兴县',\n      'code': '431023'\n    }, {\n      'name': '嘉禾县',\n      'code': '431024'\n    }, {\n      'name': '临武县',\n      'code': '431025'\n    }, {\n      'name': '汝城县',\n      'code': '431026'\n    }, {\n      'name': '桂东县',\n      'code': '431027'\n    }, {\n      'name': '安仁县',\n      'code': '431028'\n    }, {\n      'name': '资兴市',\n      'code': '431081'\n    }]\n  }, {\n    'name': '永州市',\n    'code': '431100',\n    'children': [{\n      'name': '零陵区',\n      'code': '431102'\n    }, {\n      'name': '冷水滩区',\n      'code': '431103'\n    }, {\n      'name': '祁阳县',\n      'code': '431121'\n    }, {\n      'name': '东安县',\n      'code': '431122'\n    }, {\n      'name': '双牌县',\n      'code': '431123'\n    }, {\n      'name': '道县',\n      'code': '431124'\n    }, {\n      'name': '江永县',\n      'code': '431125'\n    }, {\n      'name': '宁远县',\n      'code': '431126'\n    }, {\n      'name': '蓝山县',\n      'code': '431127'\n    }, {\n      'name': '新田县',\n      'code': '431128'\n    }, {\n      'name': '江华瑶族自治县',\n      'code': '431129'\n    }]\n  }, {\n    'name': '怀化市',\n    'code': '431200',\n    'children': [{\n      'name': '鹤城区',\n      'code': '431202'\n    }, {\n      'name': '中方县',\n      'code': '431221'\n    }, {\n      'name': '沅陵县',\n      'code': '431222'\n    }, {\n      'name': '辰溪县',\n      'code': '431223'\n    }, {\n      'name': '溆浦县',\n      'code': '431224'\n    }, {\n      'name': '会同县',\n      'code': '431225'\n    }, {\n      'name': '麻阳苗族自治县',\n      'code': '431226'\n    }, {\n      'name': '新晃侗族自治县',\n      'code': '431227'\n    }, {\n      'name': '芷江侗族自治县',\n      'code': '431228'\n    }, {\n      'name': '靖州苗族侗族自治县',\n      'code': '431229'\n    }, {\n      'name': '通道侗族自治县',\n      'code': '431230'\n    }, {\n      'name': '洪江市',\n      'code': '431281'\n    }]\n  }, {\n    'name': '娄底市',\n    'code': '431300',\n    'children': [{\n      'name': '娄星区',\n      'code': '431302'\n    }, {\n      'name': '双峰县',\n      'code': '431321'\n    }, {\n      'name': '新化县',\n      'code': '431322'\n    }, {\n      'name': '冷水江市',\n      'code': '431381'\n    }, {\n      'name': '涟源市',\n      'code': '431382'\n    }]\n  }, {\n    'name': '湘西土家族苗族自治州',\n    'code': '433100',\n    'children': [{\n      'name': '吉首市',\n      'code': '433101'\n    }, {\n      'name': '泸溪县',\n      'code': '433122'\n    }, {\n      'name': '凤凰县',\n      'code': '433123'\n    }, {\n      'name': '花垣县',\n      'code': '433124'\n    }, {\n      'name': '保靖县',\n      'code': '433125'\n    }, {\n      'name': '古丈县',\n      'code': '433126'\n    }, {\n      'name': '永顺县',\n      'code': '433127'\n    }, {\n      'name': '龙山县',\n      'code': '433130'\n    }]\n  }]\n}, {\n  'name': '广东省',\n  'code': '440000',\n  'region': 'south',\n  'children': [{\n    'name': '广州市',\n    'code': '440100',\n    'children': [{\n      'name': '荔湾区',\n      'code': '440103'\n    }, {\n      'name': '越秀区',\n      'code': '440104'\n    }, {\n      'name': '海珠区',\n      'code': '440105'\n    }, {\n      'name': '天河区',\n      'code': '440106'\n    }, {\n      'name': '白云区',\n      'code': '440111'\n    }, {\n      'name': '黄埔区',\n      'code': '440112'\n    }, {\n      'name': '番禺区',\n      'code': '440113'\n    }, {\n      'name': '花都区',\n      'code': '440114'\n    }, {\n      'name': '南沙区',\n      'code': '440115'\n    }, {\n      'name': '从化区',\n      'code': '440117'\n    }, {\n      'name': '增城区',\n      'code': '440118'\n    }]\n  }, {\n    'name': '韶关市',\n    'code': '440200',\n    'children': [{\n      'name': '武江区',\n      'code': '440203'\n    }, {\n      'name': '浈江区',\n      'code': '440204'\n    }, {\n      'name': '曲江区',\n      'code': '440205'\n    }, {\n      'name': '始兴县',\n      'code': '440222'\n    }, {\n      'name': '仁化县',\n      'code': '440224'\n    }, {\n      'name': '翁源县',\n      'code': '440229'\n    }, {\n      'name': '乳源瑶族自治县',\n      'code': '440232'\n    }, {\n      'name': '新丰县',\n      'code': '440233'\n    }, {\n      'name': '乐昌市',\n      'code': '440281'\n    }, {\n      'name': '南雄市',\n      'code': '440282'\n    }]\n  }, {\n    'name': '深圳市',\n    'code': '440300',\n    'children': [{\n      'name': '罗湖区',\n      'code': '440303'\n    }, {\n      'name': '福田区',\n      'code': '440304'\n    }, {\n      'name': '南山区',\n      'code': '440305'\n    }, {\n      'name': '宝安区',\n      'code': '440306'\n    }, {\n      'name': '龙岗区',\n      'code': '440307'\n    }, {\n      'name': '盐田区',\n      'code': '440308'\n    }, {\n      'name': '龙华区',\n      'code': '440309'\n    }, {\n      'name': '坪山区',\n      'code': '440310'\n    }, {\n      'name': '光明区',\n      'code': '440311'\n    }]\n  }, {\n    'name': '珠海市',\n    'code': '440400',\n    'children': [{\n      'name': '香洲区',\n      'code': '440402'\n    }, {\n      'name': '斗门区',\n      'code': '440403'\n    }, {\n      'name': '金湾区',\n      'code': '440404'\n    }]\n  }, {\n    'name': '汕头市',\n    'code': '440500',\n    'children': [{\n      'name': '龙湖区',\n      'code': '440507'\n    }, {\n      'name': '金平区',\n      'code': '440511'\n    }, {\n      'name': '濠江区',\n      'code': '440512'\n    }, {\n      'name': '潮阳区',\n      'code': '440513'\n    }, {\n      'name': '潮南区',\n      'code': '440514'\n    }, {\n      'name': '澄海区',\n      'code': '440515'\n    }, {\n      'name': '南澳县',\n      'code': '440523'\n    }]\n  }, {\n    'name': '佛山市',\n    'code': '440600',\n    'children': [{\n      'name': '禅城区',\n      'code': '440604'\n    }, {\n      'name': '南海区',\n      'code': '440605'\n    }, {\n      'name': '顺德区',\n      'code': '440606'\n    }, {\n      'name': '三水区',\n      'code': '440607'\n    }, {\n      'name': '高明区',\n      'code': '440608'\n    }]\n  }, {\n    'name': '江门市',\n    'code': '440700',\n    'children': [{\n      'name': '蓬江区',\n      'code': '440703'\n    }, {\n      'name': '江海区',\n      'code': '440704'\n    }, {\n      'name': '新会区',\n      'code': '440705'\n    }, {\n      'name': '台山市',\n      'code': '440781'\n    }, {\n      'name': '开平市',\n      'code': '440783'\n    }, {\n      'name': '鹤山市',\n      'code': '440784'\n    }, {\n      'name': '恩平市',\n      'code': '440785'\n    }]\n  }, {\n    'name': '湛江市',\n    'code': '440800',\n    'children': [{\n      'name': '赤坎区',\n      'code': '440802'\n    }, {\n      'name': '霞山区',\n      'code': '440803'\n    }, {\n      'name': '坡头区',\n      'code': '440804'\n    }, {\n      'name': '麻章区',\n      'code': '440811'\n    }, {\n      'name': '遂溪县',\n      'code': '440823'\n    }, {\n      'name': '徐闻县',\n      'code': '440825'\n    }, {\n      'name': '廉江市',\n      'code': '440881'\n    }, {\n      'name': '雷州市',\n      'code': '440882'\n    }, {\n      'name': '吴川市',\n      'code': '440883'\n    }]\n  }, {\n    'name': '茂名市',\n    'code': '440900',\n    'children': [{\n      'name': '茂南区',\n      'code': '440902'\n    }, {\n      'name': '电白区',\n      'code': '440904'\n    }, {\n      'name': '高州市',\n      'code': '440981'\n    }, {\n      'name': '化州市',\n      'code': '440982'\n    }, {\n      'name': '信宜市',\n      'code': '440983'\n    }]\n  }, {\n    'name': '肇庆市',\n    'code': '441200',\n    'children': [{\n      'name': '端州区',\n      'code': '441202'\n    }, {\n      'name': '鼎湖区',\n      'code': '441203'\n    }, {\n      'name': '高要区',\n      'code': '441204'\n    }, {\n      'name': '广宁县',\n      'code': '441223'\n    }, {\n      'name': '怀集县',\n      'code': '441224'\n    }, {\n      'name': '封开县',\n      'code': '441225'\n    }, {\n      'name': '德庆县',\n      'code': '441226'\n    }, {\n      'name': '四会市',\n      'code': '441284'\n    }]\n  }, {\n    'name': '惠州市',\n    'code': '441300',\n    'children': [{\n      'name': '惠城区',\n      'code': '441302'\n    }, {\n      'name': '惠阳区',\n      'code': '441303'\n    }, {\n      'name': '博罗县',\n      'code': '441322'\n    }, {\n      'name': '惠东县',\n      'code': '441323'\n    }, {\n      'name': '龙门县',\n      'code': '441324'\n    }]\n  }, {\n    'name': '梅州市',\n    'code': '441400',\n    'children': [{\n      'name': '梅江区',\n      'code': '441402'\n    }, {\n      'name': '梅县区',\n      'code': '441403'\n    }, {\n      'name': '大埔县',\n      'code': '441422'\n    }, {\n      'name': '丰顺县',\n      'code': '441423'\n    }, {\n      'name': '五华县',\n      'code': '441424'\n    }, {\n      'name': '平远县',\n      'code': '441426'\n    }, {\n      'name': '蕉岭县',\n      'code': '441427'\n    }, {\n      'name': '兴宁市',\n      'code': '441481'\n    }]\n  }, {\n    'name': '汕尾市',\n    'code': '441500',\n    'children': [{\n      'name': '城区',\n      'code': '441502'\n    }, {\n      'name': '海丰县',\n      'code': '441521'\n    }, {\n      'name': '陆河县',\n      'code': '441523'\n    }, {\n      'name': '陆丰市',\n      'code': '441581'\n    }]\n  }, {\n    'name': '河源市',\n    'code': '441600',\n    'children': [{\n      'name': '源城区',\n      'code': '441602'\n    }, {\n      'name': '紫金县',\n      'code': '441621'\n    }, {\n      'name': '龙川县',\n      'code': '441622'\n    }, {\n      'name': '连平县',\n      'code': '441623'\n    }, {\n      'name': '和平县',\n      'code': '441624'\n    }, {\n      'name': '东源县',\n      'code': '441625'\n    }]\n  }, {\n    'name': '阳江市',\n    'code': '441700',\n    'children': [{\n      'name': '江城区',\n      'code': '441702'\n    }, {\n      'name': '阳东区',\n      'code': '441704'\n    }, {\n      'name': '阳西县',\n      'code': '441721'\n    }, {\n      'name': '阳春市',\n      'code': '441781'\n    }]\n  }, {\n    'name': '清远市',\n    'code': '441800',\n    'children': [{\n      'name': '清城区',\n      'code': '441802'\n    }, {\n      'name': '清新区',\n      'code': '441803'\n    }, {\n      'name': '佛冈县',\n      'code': '441821'\n    }, {\n      'name': '阳山县',\n      'code': '441823'\n    }, {\n      'name': '连山壮族瑶族自治县',\n      'code': '441825'\n    }, {\n      'name': '连南瑶族自治县',\n      'code': '441826'\n    }, {\n      'name': '英德市',\n      'code': '441881'\n    }, {\n      'name': '连州市',\n      'code': '441882'\n    }]\n  }, {\n    'name': '东莞市',\n    'code': '441900',\n    'children': []\n  }, {\n    'name': '中山市',\n    'code': '442000',\n    'children': []\n  }, {\n    'name': '潮州市',\n    'code': '445100',\n    'children': [{\n      'name': '湘桥区',\n      'code': '445102'\n    }, {\n      'name': '潮安区',\n      'code': '445103'\n    }, {\n      'name': '饶平县',\n      'code': '445122'\n    }]\n  }, {\n    'name': '揭阳市',\n    'code': '445200',\n    'children': [{\n      'name': '榕城区',\n      'code': '445202'\n    }, {\n      'name': '揭东区',\n      'code': '445203'\n    }, {\n      'name': '揭西县',\n      'code': '445222'\n    }, {\n      'name': '惠来县',\n      'code': '445224'\n    }, {\n      'name': '普宁市',\n      'code': '445281'\n    }]\n  }, {\n    'name': '云浮市',\n    'code': '445300',\n    'children': [{\n      'name': '云城区',\n      'code': '445302'\n    }, {\n      'name': '云安区',\n      'code': '445303'\n    }, {\n      'name': '新兴县',\n      'code': '445321'\n    }, {\n      'name': '郁南县',\n      'code': '445322'\n    }, {\n      'name': '罗定市',\n      'code': '445381'\n    }]\n  }]\n}, {\n  'name': '广西壮族自治区',\n  'code': '450000',\n  'region': 'south',\n  'autonomousRegion': true,\n  'children': [{\n    'name': '南宁市',\n    'code': '450100',\n    'children': [{\n      'name': '兴宁区',\n      'code': '450102'\n    }, {\n      'name': '青秀区',\n      'code': '450103'\n    }, {\n      'name': '江南区',\n      'code': '450105'\n    }, {\n      'name': '西乡塘区',\n      'code': '450107'\n    }, {\n      'name': '良庆区',\n      'code': '450108'\n    }, {\n      'name': '邕宁区',\n      'code': '450109'\n    }, {\n      'name': '武鸣区',\n      'code': '450110'\n    }, {\n      'name': '隆安县',\n      'code': '450123'\n    }, {\n      'name': '马山县',\n      'code': '450124'\n    }, {\n      'name': '上林县',\n      'code': '450125'\n    }, {\n      'name': '宾阳县',\n      'code': '450126'\n    }, {\n      'name': '横县',\n      'code': '450127'\n    }]\n  }, {\n    'name': '柳州市',\n    'code': '450200',\n    'children': [{\n      'name': '城中区',\n      'code': '450202'\n    }, {\n      'name': '鱼峰区',\n      'code': '450203'\n    }, {\n      'name': '柳南区',\n      'code': '450204'\n    }, {\n      'name': '柳北区',\n      'code': '450205'\n    }, {\n      'name': '柳江区',\n      'code': '450206'\n    }, {\n      'name': '柳城县',\n      'code': '450222'\n    }, {\n      'name': '鹿寨县',\n      'code': '450223'\n    }, {\n      'name': '融安县',\n      'code': '450224'\n    }, {\n      'name': '融水苗族自治县',\n      'code': '450225'\n    }, {\n      'name': '三江侗族自治县',\n      'code': '450226'\n    }]\n  }, {\n    'name': '桂林市',\n    'code': '450300',\n    'children': [{\n      'name': '秀峰区',\n      'code': '450302'\n    }, {\n      'name': '叠彩区',\n      'code': '450303'\n    }, {\n      'name': '象山区',\n      'code': '450304'\n    }, {\n      'name': '七星区',\n      'code': '450305'\n    }, {\n      'name': '雁山区',\n      'code': '450311'\n    }, {\n      'name': '临桂区',\n      'code': '450312'\n    }, {\n      'name': '阳朔县',\n      'code': '450321'\n    }, {\n      'name': '灵川县',\n      'code': '450323'\n    }, {\n      'name': '全州县',\n      'code': '450324'\n    }, {\n      'name': '兴安县',\n      'code': '450325'\n    }, {\n      'name': '永福县',\n      'code': '450326'\n    }, {\n      'name': '灌阳县',\n      'code': '450327'\n    }, {\n      'name': '龙胜各族自治县',\n      'code': '450328'\n    }, {\n      'name': '资源县',\n      'code': '450329'\n    }, {\n      'name': '平乐县',\n      'code': '450330'\n    }, {\n      'name': '荔浦市',\n      'code': '450381'\n    }, {\n      'name': '恭城瑶族自治县',\n      'code': '450332'\n    }]\n  }, {\n    'name': '梧州市',\n    'code': '450400',\n    'children': [{\n      'name': '万秀区',\n      'code': '450403'\n    }, {\n      'name': '长洲区',\n      'code': '450405'\n    }, {\n      'name': '龙圩区',\n      'code': '450406'\n    }, {\n      'name': '苍梧县',\n      'code': '450421'\n    }, {\n      'name': '藤县',\n      'code': '450422'\n    }, {\n      'name': '蒙山县',\n      'code': '450423'\n    }, {\n      'name': '岑溪市',\n      'code': '450481'\n    }]\n  }, {\n    'name': '北海市',\n    'code': '450500',\n    'children': [{\n      'name': '海城区',\n      'code': '450502'\n    }, {\n      'name': '银海区',\n      'code': '450503'\n    }, {\n      'name': '铁山港区',\n      'code': '450512'\n    }, {\n      'name': '合浦县',\n      'code': '450521'\n    }]\n  }, {\n    'name': '防城港市',\n    'code': '450600',\n    'children': [{\n      'name': '港口区',\n      'code': '450602'\n    }, {\n      'name': '防城区',\n      'code': '450603'\n    }, {\n      'name': '上思县',\n      'code': '450621'\n    }, {\n      'name': '东兴市',\n      'code': '450681'\n    }]\n  }, {\n    'name': '钦州市',\n    'code': '450700',\n    'children': [{\n      'name': '钦南区',\n      'code': '450702'\n    }, {\n      'name': '钦北区',\n      'code': '450703'\n    }, {\n      'name': '灵山县',\n      'code': '450721'\n    }, {\n      'name': '浦北县',\n      'code': '450722'\n    }]\n  }, {\n    'name': '贵港市',\n    'code': '450800',\n    'children': [{\n      'name': '港北区',\n      'code': '450802'\n    }, {\n      'name': '港南区',\n      'code': '450803'\n    }, {\n      'name': '覃塘区',\n      'code': '450804'\n    }, {\n      'name': '平南县',\n      'code': '450821'\n    }, {\n      'name': '桂平市',\n      'code': '450881'\n    }]\n  }, {\n    'name': '玉林市',\n    'code': '450900',\n    'children': [{\n      'name': '玉州区',\n      'code': '450902'\n    }, {\n      'name': '福绵区',\n      'code': '450903'\n    }, {\n      'name': '容县',\n      'code': '450921'\n    }, {\n      'name': '陆川县',\n      'code': '450922'\n    }, {\n      'name': '博白县',\n      'code': '450923'\n    }, {\n      'name': '兴业县',\n      'code': '450924'\n    }, {\n      'name': '北流市',\n      'code': '450981'\n    }]\n  }, {\n    'name': '百色市',\n    'code': '451000',\n    'children': [{\n      'name': '右江区',\n      'code': '451002'\n    }, {\n      'name': '田阳县',\n      'code': '451021'\n    }, {\n      'name': '田东县',\n      'code': '451022'\n    }, {\n      'name': '平果县',\n      'code': '451023'\n    }, {\n      'name': '德保县',\n      'code': '451024'\n    }, {\n      'name': '那坡县',\n      'code': '451026'\n    }, {\n      'name': '凌云县',\n      'code': '451027'\n    }, {\n      'name': '乐业县',\n      'code': '451028'\n    }, {\n      'name': '田林县',\n      'code': '451029'\n    }, {\n      'name': '西林县',\n      'code': '451030'\n    }, {\n      'name': '隆林各族自治县',\n      'code': '451031'\n    }, {\n      'name': '靖西市',\n      'code': '451081'\n    }]\n  }, {\n    'name': '贺州市',\n    'code': '451100',\n    'children': [{\n      'name': '八步区',\n      'code': '451102'\n    }, {\n      'name': '平桂区',\n      'code': '451103'\n    }, {\n      'name': '昭平县',\n      'code': '451121'\n    }, {\n      'name': '钟山县',\n      'code': '451122'\n    }, {\n      'name': '富川瑶族自治县',\n      'code': '451123'\n    }]\n  }, {\n    'name': '河池市',\n    'code': '451200',\n    'children': [{\n      'name': '金城江区',\n      'code': '451202'\n    }, {\n      'name': '宜州区',\n      'code': '451203'\n    }, {\n      'name': '南丹县',\n      'code': '451221'\n    }, {\n      'name': '天峨县',\n      'code': '451222'\n    }, {\n      'name': '凤山县',\n      'code': '451223'\n    }, {\n      'name': '东兰县',\n      'code': '451224'\n    }, {\n      'name': '罗城仫佬族自治县',\n      'code': '451225'\n    }, {\n      'name': '环江毛南族自治县',\n      'code': '451226'\n    }, {\n      'name': '巴马瑶族自治县',\n      'code': '451227'\n    }, {\n      'name': '都安瑶族自治县',\n      'code': '451228'\n    }, {\n      'name': '大化瑶族自治县',\n      'code': '451229'\n    }]\n  }, {\n    'name': '来宾市',\n    'code': '451300',\n    'children': [{\n      'name': '兴宾区',\n      'code': '451302'\n    }, {\n      'name': '忻城县',\n      'code': '451321'\n    }, {\n      'name': '象州县',\n      'code': '451322'\n    }, {\n      'name': '武宣县',\n      'code': '451323'\n    }, {\n      'name': '金秀瑶族自治县',\n      'code': '451324'\n    }, {\n      'name': '合山市',\n      'code': '451381'\n    }]\n  }, {\n    'name': '崇左市',\n    'code': '451400',\n    'children': [{\n      'name': '江州区',\n      'code': '451402'\n    }, {\n      'name': '扶绥县',\n      'code': '451421'\n    }, {\n      'name': '宁明县',\n      'code': '451422'\n    }, {\n      'name': '龙州县',\n      'code': '451423'\n    }, {\n      'name': '大新县',\n      'code': '451424'\n    }, {\n      'name': '天等县',\n      'code': '451425'\n    }, {\n      'name': '凭祥市',\n      'code': '451481'\n    }]\n  }]\n}, {\n  'name': '海南省',\n  'code': '460000',\n  'region': 'south',\n  'children': [{\n    'name': '海口市',\n    'code': '460100',\n    'children': [{\n      'name': '秀英区',\n      'code': '460105'\n    }, {\n      'name': '龙华区',\n      'code': '460106'\n    }, {\n      'name': '琼山区',\n      'code': '460107'\n    }, {\n      'name': '美兰区',\n      'code': '460108'\n    }]\n  }, {\n    'name': '三亚市',\n    'code': '460200',\n    'children': [{\n      'name': '海棠区',\n      'code': '460202'\n    }, {\n      'name': '吉阳区',\n      'code': '460203'\n    }, {\n      'name': '天涯区',\n      'code': '460204'\n    }, {\n      'name': '崖州区',\n      'code': '460205'\n    }]\n  }, {\n    'name': '三沙市',\n    'code': '460300',\n    'children': []\n  }, {\n    'name': '儋州市',\n    'code': '460400',\n    'children': []\n  }, {\n    'name': '直辖县',\n    'code': '469000',\n    'children': [{\n      'name': '五指山市',\n      'code': '469001'\n    }, {\n      'name': '琼海市',\n      'code': '469002'\n    }, {\n      'name': '文昌市',\n      'code': '469005'\n    }, {\n      'name': '万宁市',\n      'code': '469006'\n    }, {\n      'name': '东方市',\n      'code': '469007'\n    }, {\n      'name': '定安县',\n      'code': '469021'\n    }, {\n      'name': '屯昌县',\n      'code': '469022'\n    }, {\n      'name': '澄迈县',\n      'code': '469023'\n    }, {\n      'name': '临高县',\n      'code': '469024'\n    }, {\n      'name': '白沙黎族自治县',\n      'code': '469025'\n    }, {\n      'name': '昌江黎族自治县',\n      'code': '469026'\n    }, {\n      'name': '乐东黎族自治县',\n      'code': '469027'\n    }, {\n      'name': '陵水黎族自治县',\n      'code': '469028'\n    }, {\n      'name': '保亭黎族苗族自治县',\n      'code': '469029'\n    }, {\n      'name': '琼中黎族苗族自治县',\n      'code': '469030'\n    }]\n  }]\n}, {\n  'name': '重庆市',\n  'code': '500000',\n  'region': 'southwest',\n  'provinceLevelCity': true,\n  'children': [{\n    'name': '市辖区',\n    'code': '500100',\n    'children': [{\n      'name': '万州区',\n      'code': '500101'\n    }, {\n      'name': '涪陵区',\n      'code': '500102'\n    }, {\n      'name': '渝中区',\n      'code': '500103'\n    }, {\n      'name': '大渡口区',\n      'code': '500104'\n    }, {\n      'name': '江北区',\n      'code': '500105'\n    }, {\n      'name': '沙坪坝区',\n      'code': '500106'\n    }, {\n      'name': '九龙坡区',\n      'code': '500107'\n    }, {\n      'name': '南岸区',\n      'code': '500108'\n    }, {\n      'name': '北碚区',\n      'code': '500109'\n    }, {\n      'name': '綦江区',\n      'code': '500110'\n    }, {\n      'name': '大足区',\n      'code': '500111'\n    }, {\n      'name': '渝北区',\n      'code': '500112'\n    }, {\n      'name': '巴南区',\n      'code': '500113'\n    }, {\n      'name': '黔江区',\n      'code': '500114'\n    }, {\n      'name': '长寿区',\n      'code': '500115'\n    }, {\n      'name': '江津区',\n      'code': '500116'\n    }, {\n      'name': '合川区',\n      'code': '500117'\n    }, {\n      'name': '永川区',\n      'code': '500118'\n    }, {\n      'name': '南川区',\n      'code': '500119'\n    }, {\n      'name': '璧山区',\n      'code': '500120'\n    }, {\n      'name': '铜梁区',\n      'code': '500151'\n    }, {\n      'name': '潼南区',\n      'code': '500152'\n    }, {\n      'name': '荣昌区',\n      'code': '500153'\n    }, {\n      'name': '开州区',\n      'code': '500154'\n    }, {\n      'name': '梁平区',\n      'code': '500155'\n    }, {\n      'name': '武隆区',\n      'code': '500156'\n    }]\n  }, {\n    'name': '县辖区',\n    'code': '500200',\n    'children': [{\n      'name': '城口县',\n      'code': '500229'\n    }, {\n      'name': '丰都县',\n      'code': '500230'\n    }, {\n      'name': '垫江县',\n      'code': '500231'\n    }, {\n      'name': '忠县',\n      'code': '500233'\n    }, {\n      'name': '云阳县',\n      'code': '500235'\n    }, {\n      'name': '奉节县',\n      'code': '500236'\n    }, {\n      'name': '巫山县',\n      'code': '500237'\n    }, {\n      'name': '巫溪县',\n      'code': '500238'\n    }, {\n      'name': '石柱土家族自治县',\n      'code': '500240'\n    }, {\n      'name': '秀山土家族苗族自治县',\n      'code': '500241'\n    }, {\n      'name': '酉阳土家族苗族自治县',\n      'code': '500242'\n    }, {\n      'name': '彭水苗族土家族自治县',\n      'code': '500243'\n    }]\n  }]\n}, {\n  'name': '四川省',\n  'code': '510000',\n  'region': 'southwest',\n  'children': [{\n    'name': '成都市',\n    'code': '510100',\n    'children': [{\n      'name': '锦江区',\n      'code': '510104'\n    }, {\n      'name': '青羊区',\n      'code': '510105'\n    }, {\n      'name': '金牛区',\n      'code': '510106'\n    }, {\n      'name': '武侯区',\n      'code': '510107'\n    }, {\n      'name': '成华区',\n      'code': '510108'\n    }, {\n      'name': '龙泉驿区',\n      'code': '510112'\n    }, {\n      'name': '青白江区',\n      'code': '510113'\n    }, {\n      'name': '新都区',\n      'code': '510114'\n    }, {\n      'name': '温江区',\n      'code': '510115'\n    }, {\n      'name': '双流区',\n      'code': '510116'\n    }, {\n      'name': '郫都区',\n      'code': '510117'\n    }, {\n      'name': '金堂县',\n      'code': '510121'\n    }, {\n      'name': '大邑县',\n      'code': '510129'\n    }, {\n      'name': '蒲江县',\n      'code': '510131'\n    }, {\n      'name': '新津县',\n      'code': '510132'\n    }, {\n      'name': '都江堰市',\n      'code': '510181'\n    }, {\n      'name': '彭州市',\n      'code': '510182'\n    }, {\n      'name': '邛崃市',\n      'code': '510183'\n    }, {\n      'name': '崇州市',\n      'code': '510184'\n    }, {\n      'name': '简阳市',\n      'code': '510185'\n    }]\n  }, {\n    'name': '自贡市',\n    'code': '510300',\n    'children': [{\n      'name': '自流井区',\n      'code': '510302'\n    }, {\n      'name': '贡井区',\n      'code': '510303'\n    }, {\n      'name': '大安区',\n      'code': '510304'\n    }, {\n      'name': '沿滩区',\n      'code': '510311'\n    }, {\n      'name': '荣县',\n      'code': '510321'\n    }, {\n      'name': '富顺县',\n      'code': '510322'\n    }]\n  }, {\n    'name': '攀枝花市',\n    'code': '510400',\n    'children': [{\n      'name': '东区',\n      'code': '510402'\n    }, {\n      'name': '西区',\n      'code': '510403'\n    }, {\n      'name': '仁和区',\n      'code': '510411'\n    }, {\n      'name': '米易县',\n      'code': '510421'\n    }, {\n      'name': '盐边县',\n      'code': '510422'\n    }]\n  }, {\n    'name': '泸州市',\n    'code': '510500',\n    'children': [{\n      'name': '江阳区',\n      'code': '510502'\n    }, {\n      'name': '纳溪区',\n      'code': '510503'\n    }, {\n      'name': '龙马潭区',\n      'code': '510504'\n    }, {\n      'name': '泸县',\n      'code': '510521'\n    }, {\n      'name': '合江县',\n      'code': '510522'\n    }, {\n      'name': '叙永县',\n      'code': '510524'\n    }, {\n      'name': '古蔺县',\n      'code': '510525'\n    }]\n  }, {\n    'name': '德阳市',\n    'code': '510600',\n    'children': [{\n      'name': '旌阳区',\n      'code': '510603'\n    }, {\n      'name': '罗江区',\n      'code': '510604'\n    }, {\n      'name': '中江县',\n      'code': '510623'\n    }, {\n      'name': '广汉市',\n      'code': '510681'\n    }, {\n      'name': '什邡市',\n      'code': '510682'\n    }, {\n      'name': '绵竹市',\n      'code': '510683'\n    }]\n  }, {\n    'name': '绵阳市',\n    'code': '510700',\n    'children': [{\n      'name': '涪城区',\n      'code': '510703'\n    }, {\n      'name': '游仙区',\n      'code': '510704'\n    }, {\n      'name': '安州区',\n      'code': '510705'\n    }, {\n      'name': '三台县',\n      'code': '510722'\n    }, {\n      'name': '盐亭县',\n      'code': '510723'\n    }, {\n      'name': '梓潼县',\n      'code': '510725'\n    }, {\n      'name': '北川羌族自治县',\n      'code': '510726'\n    }, {\n      'name': '平武县',\n      'code': '510727'\n    }, {\n      'name': '江油市',\n      'code': '510781'\n    }]\n  }, {\n    'name': '广元市',\n    'code': '510800',\n    'children': [{\n      'name': '利州区',\n      'code': '510802'\n    }, {\n      'name': '昭化区',\n      'code': '510811'\n    }, {\n      'name': '朝天区',\n      'code': '510812'\n    }, {\n      'name': '旺苍县',\n      'code': '510821'\n    }, {\n      'name': '青川县',\n      'code': '510822'\n    }, {\n      'name': '剑阁县',\n      'code': '510823'\n    }, {\n      'name': '苍溪县',\n      'code': '510824'\n    }]\n  }, {\n    'name': '遂宁市',\n    'code': '510900',\n    'children': [{\n      'name': '船山区',\n      'code': '510903'\n    }, {\n      'name': '安居区',\n      'code': '510904'\n    }, {\n      'name': '蓬溪县',\n      'code': '510921'\n    }, {\n      'name': '射洪县',\n      'code': '510922'\n    }, {\n      'name': '大英县',\n      'code': '510923'\n    }]\n  }, {\n    'name': '内江市',\n    'code': '511000',\n    'children': [{\n      'name': '市中区',\n      'code': '511002'\n    }, {\n      'name': '东兴区',\n      'code': '511011'\n    }, {\n      'name': '威远县',\n      'code': '511024'\n    }, {\n      'name': '资中县',\n      'code': '511025'\n    }, {\n      'name': '隆昌市',\n      'code': '511083'\n    }]\n  }, {\n    'name': '乐山市',\n    'code': '511100',\n    'children': [{\n      'name': '市中区',\n      'code': '511102'\n    }, {\n      'name': '沙湾区',\n      'code': '511111'\n    }, {\n      'name': '五通桥区',\n      'code': '511112'\n    }, {\n      'name': '金口河区',\n      'code': '511113'\n    }, {\n      'name': '犍为县',\n      'code': '511123'\n    }, {\n      'name': '井研县',\n      'code': '511124'\n    }, {\n      'name': '夹江县',\n      'code': '511126'\n    }, {\n      'name': '沐川县',\n      'code': '511129'\n    }, {\n      'name': '峨边彝族自治县',\n      'code': '511132'\n    }, {\n      'name': '马边彝族自治县',\n      'code': '511133'\n    }, {\n      'name': '峨眉山市',\n      'code': '511181'\n    }]\n  }, {\n    'name': '南充市',\n    'code': '511300',\n    'children': [{\n      'name': '顺庆区',\n      'code': '511302'\n    }, {\n      'name': '高坪区',\n      'code': '511303'\n    }, {\n      'name': '嘉陵区',\n      'code': '511304'\n    }, {\n      'name': '南部县',\n      'code': '511321'\n    }, {\n      'name': '营山县',\n      'code': '511322'\n    }, {\n      'name': '蓬安县',\n      'code': '511323'\n    }, {\n      'name': '仪陇县',\n      'code': '511324'\n    }, {\n      'name': '西充县',\n      'code': '511325'\n    }, {\n      'name': '阆中市',\n      'code': '511381'\n    }]\n  }, {\n    'name': '眉山市',\n    'code': '511400',\n    'children': [{\n      'name': '东坡区',\n      'code': '511402'\n    }, {\n      'name': '彭山区',\n      'code': '511403'\n    }, {\n      'name': '仁寿县',\n      'code': '511421'\n    }, {\n      'name': '洪雅县',\n      'code': '511423'\n    }, {\n      'name': '丹棱县',\n      'code': '511424'\n    }, {\n      'name': '青神县',\n      'code': '511425'\n    }]\n  }, {\n    'name': '宜宾市',\n    'code': '511500',\n    'children': [{\n      'name': '翠屏区',\n      'code': '511502'\n    }, {\n      'name': '南溪区',\n      'code': '511503'\n    }, {\n      'name': '叙州区',\n      'code': '511504'\n    }, {\n      'name': '江安县',\n      'code': '511523'\n    }, {\n      'name': '长宁县',\n      'code': '511524'\n    }, {\n      'name': '高县',\n      'code': '511525'\n    }, {\n      'name': '珙县',\n      'code': '511526'\n    }, {\n      'name': '筠连县',\n      'code': '511527'\n    }, {\n      'name': '兴文县',\n      'code': '511528'\n    }, {\n      'name': '屏山县',\n      'code': '511529'\n    }]\n  }, {\n    'name': '广安市',\n    'code': '511600',\n    'children': [{\n      'name': '广安区',\n      'code': '511602'\n    }, {\n      'name': '前锋区',\n      'code': '511603'\n    }, {\n      'name': '岳池县',\n      'code': '511621'\n    }, {\n      'name': '武胜县',\n      'code': '511622'\n    }, {\n      'name': '邻水县',\n      'code': '511623'\n    }, {\n      'name': '华蓥市',\n      'code': '511681'\n    }]\n  }, {\n    'name': '达州市',\n    'code': '511700',\n    'children': [{\n      'name': '通川区',\n      'code': '511702'\n    }, {\n      'name': '达川区',\n      'code': '511703'\n    }, {\n      'name': '宣汉县',\n      'code': '511722'\n    }, {\n      'name': '开江县',\n      'code': '511723'\n    }, {\n      'name': '大竹县',\n      'code': '511724'\n    }, {\n      'name': '渠县',\n      'code': '511725'\n    }, {\n      'name': '万源市',\n      'code': '511781'\n    }]\n  }, {\n    'name': '雅安市',\n    'code': '511800',\n    'children': [{\n      'name': '雨城区',\n      'code': '511802'\n    }, {\n      'name': '名山区',\n      'code': '511803'\n    }, {\n      'name': '荥经县',\n      'code': '511822'\n    }, {\n      'name': '汉源县',\n      'code': '511823'\n    }, {\n      'name': '石棉县',\n      'code': '511824'\n    }, {\n      'name': '天全县',\n      'code': '511825'\n    }, {\n      'name': '芦山县',\n      'code': '511826'\n    }, {\n      'name': '宝兴县',\n      'code': '511827'\n    }]\n  }, {\n    'name': '巴中市',\n    'code': '511900',\n    'children': [{\n      'name': '巴州区',\n      'code': '511902'\n    }, {\n      'name': '恩阳区',\n      'code': '511903'\n    }, {\n      'name': '通江县',\n      'code': '511921'\n    }, {\n      'name': '南江县',\n      'code': '511922'\n    }, {\n      'name': '平昌县',\n      'code': '511923'\n    }]\n  }, {\n    'name': '资阳市',\n    'code': '512000',\n    'children': [{\n      'name': '雁江区',\n      'code': '512002'\n    }, {\n      'name': '安岳县',\n      'code': '512021'\n    }, {\n      'name': '乐至县',\n      'code': '512022'\n    }]\n  }, {\n    'name': '阿坝藏族羌族自治州',\n    'code': '513200',\n    'children': [{\n      'name': '马尔康市',\n      'code': '513201'\n    }, {\n      'name': '汶川县',\n      'code': '513221'\n    }, {\n      'name': '理县',\n      'code': '513222'\n    }, {\n      'name': '茂县',\n      'code': '513223'\n    }, {\n      'name': '松潘县',\n      'code': '513224'\n    }, {\n      'name': '九寨沟县',\n      'code': '513225'\n    }, {\n      'name': '金川县',\n      'code': '513226'\n    }, {\n      'name': '小金县',\n      'code': '513227'\n    }, {\n      'name': '黑水县',\n      'code': '513228'\n    }, {\n      'name': '壤塘县',\n      'code': '513230'\n    }, {\n      'name': '阿坝县',\n      'code': '513231'\n    }, {\n      'name': '若尔盖县',\n      'code': '513232'\n    }, {\n      'name': '红原县',\n      'code': '513233'\n    }]\n  }, {\n    'name': '甘孜藏族自治州',\n    'code': '513300',\n    'children': [{\n      'name': '康定市',\n      'code': '513301'\n    }, {\n      'name': '泸定县',\n      'code': '513322'\n    }, {\n      'name': '丹巴县',\n      'code': '513323'\n    }, {\n      'name': '九龙县',\n      'code': '513324'\n    }, {\n      'name': '雅江县',\n      'code': '513325'\n    }, {\n      'name': '道孚县',\n      'code': '513326'\n    }, {\n      'name': '炉霍县',\n      'code': '513327'\n    }, {\n      'name': '甘孜县',\n      'code': '513328'\n    }, {\n      'name': '新龙县',\n      'code': '513329'\n    }, {\n      'name': '德格县',\n      'code': '513330'\n    }, {\n      'name': '白玉县',\n      'code': '513331'\n    }, {\n      'name': '石渠县',\n      'code': '513332'\n    }, {\n      'name': '色达县',\n      'code': '513333'\n    }, {\n      'name': '理塘县',\n      'code': '513334'\n    }, {\n      'name': '巴塘县',\n      'code': '513335'\n    }, {\n      'name': '乡城县',\n      'code': '513336'\n    }, {\n      'name': '稻城县',\n      'code': '513337'\n    }, {\n      'name': '得荣县',\n      'code': '513338'\n    }]\n  }, {\n    'name': '凉山彝族自治州',\n    'code': '513400',\n    'children': [{\n      'name': '西昌市',\n      'code': '513401'\n    }, {\n      'name': '木里藏族自治县',\n      'code': '513422'\n    }, {\n      'name': '盐源县',\n      'code': '513423'\n    }, {\n      'name': '德昌县',\n      'code': '513424'\n    }, {\n      'name': '会理县',\n      'code': '513425'\n    }, {\n      'name': '会东县',\n      'code': '513426'\n    }, {\n      'name': '宁南县',\n      'code': '513427'\n    }, {\n      'name': '普格县',\n      'code': '513428'\n    }, {\n      'name': '布拖县',\n      'code': '513429'\n    }, {\n      'name': '金阳县',\n      'code': '513430'\n    }, {\n      'name': '昭觉县',\n      'code': '513431'\n    }, {\n      'name': '喜德县',\n      'code': '513432'\n    }, {\n      'name': '冕宁县',\n      'code': '513433'\n    }, {\n      'name': '越西县',\n      'code': '513434'\n    }, {\n      'name': '甘洛县',\n      'code': '513435'\n    }, {\n      'name': '美姑县',\n      'code': '513436'\n    }, {\n      'name': '雷波县',\n      'code': '513437'\n    }]\n  }]\n}, {\n  'name': '贵州省',\n  'code': '520000',\n  'region': 'southwest',\n  'children': [{\n    'name': '贵阳市',\n    'code': '520100',\n    'children': [{\n      'name': '南明区',\n      'code': '520102'\n    }, {\n      'name': '云岩区',\n      'code': '520103'\n    }, {\n      'name': '花溪区',\n      'code': '520111'\n    }, {\n      'name': '乌当区',\n      'code': '520112'\n    }, {\n      'name': '白云区',\n      'code': '520113'\n    }, {\n      'name': '观山湖区',\n      'code': '520115'\n    }, {\n      'name': '开阳县',\n      'code': '520121'\n    }, {\n      'name': '息烽县',\n      'code': '520122'\n    }, {\n      'name': '修文县',\n      'code': '520123'\n    }, {\n      'name': '清镇市',\n      'code': '520181'\n    }]\n  }, {\n    'name': '六盘水市',\n    'code': '520200',\n    'children': [{\n      'name': '钟山区',\n      'code': '520201'\n    }, {\n      'name': '六枝特区',\n      'code': '520203'\n    }, {\n      'name': '水城县',\n      'code': '520221'\n    }, {\n      'name': '盘州市',\n      'code': '520281'\n    }]\n  }, {\n    'name': '遵义市',\n    'code': '520300',\n    'children': [{\n      'name': '红花岗区',\n      'code': '520302'\n    }, {\n      'name': '汇川区',\n      'code': '520303'\n    }, {\n      'name': '播州区',\n      'code': '520304'\n    }, {\n      'name': '桐梓县',\n      'code': '520322'\n    }, {\n      'name': '绥阳县',\n      'code': '520323'\n    }, {\n      'name': '正安县',\n      'code': '520324'\n    }, {\n      'name': '道真仡佬族苗族自治县',\n      'code': '520325'\n    }, {\n      'name': '务川仡佬族苗族自治县',\n      'code': '520326'\n    }, {\n      'name': '凤冈县',\n      'code': '520327'\n    }, {\n      'name': '湄潭县',\n      'code': '520328'\n    }, {\n      'name': '余庆县',\n      'code': '520329'\n    }, {\n      'name': '习水县',\n      'code': '520330'\n    }, {\n      'name': '赤水市',\n      'code': '520381'\n    }, {\n      'name': '仁怀市',\n      'code': '520382'\n    }]\n  }, {\n    'name': '安顺市',\n    'code': '520400',\n    'children': [{\n      'name': '西秀区',\n      'code': '520402'\n    }, {\n      'name': '平坝区',\n      'code': '520403'\n    }, {\n      'name': '普定县',\n      'code': '520422'\n    }, {\n      'name': '镇宁布依族苗族自治县',\n      'code': '520423'\n    }, {\n      'name': '关岭布依族苗族自治县',\n      'code': '520424'\n    }, {\n      'name': '紫云苗族布依族自治县',\n      'code': '520425'\n    }]\n  }, {\n    'name': '毕节市',\n    'code': '520500',\n    'children': [{\n      'name': '七星关区',\n      'code': '520502'\n    }, {\n      'name': '大方县',\n      'code': '520521'\n    }, {\n      'name': '黔西县',\n      'code': '520522'\n    }, {\n      'name': '金沙县',\n      'code': '520523'\n    }, {\n      'name': '织金县',\n      'code': '520524'\n    }, {\n      'name': '纳雍县',\n      'code': '520525'\n    }, {\n      'name': '威宁彝族回族苗族自治县',\n      'code': '520526'\n    }, {\n      'name': '赫章县',\n      'code': '520527'\n    }]\n  }, {\n    'name': '铜仁市',\n    'code': '520600',\n    'children': [{\n      'name': '碧江区',\n      'code': '520602'\n    }, {\n      'name': '万山区',\n      'code': '520603'\n    }, {\n      'name': '江口县',\n      'code': '520621'\n    }, {\n      'name': '玉屏侗族自治县',\n      'code': '520622'\n    }, {\n      'name': '石阡县',\n      'code': '520623'\n    }, {\n      'name': '思南县',\n      'code': '520624'\n    }, {\n      'name': '印江土家族苗族自治县',\n      'code': '520625'\n    }, {\n      'name': '德江县',\n      'code': '520626'\n    }, {\n      'name': '沿河土家族自治县',\n      'code': '520627'\n    }, {\n      'name': '松桃苗族自治县',\n      'code': '520628'\n    }]\n  }, {\n    'name': '黔西南布依族苗族自治州',\n    'code': '522300',\n    'children': [{\n      'name': '兴义市',\n      'code': '522301'\n    }, {\n      'name': '兴仁市',\n      'code': '522302'\n    }, {\n      'name': '普安县',\n      'code': '522323'\n    }, {\n      'name': '晴隆县',\n      'code': '522324'\n    }, {\n      'name': '贞丰县',\n      'code': '522325'\n    }, {\n      'name': '望谟县',\n      'code': '522326'\n    }, {\n      'name': '册亨县',\n      'code': '522327'\n    }, {\n      'name': '安龙县',\n      'code': '522328'\n    }]\n  }, {\n    'name': '黔东南苗族侗族自治州',\n    'code': '522600',\n    'children': [{\n      'name': '凯里市',\n      'code': '522601'\n    }, {\n      'name': '黄平县',\n      'code': '522622'\n    }, {\n      'name': '施秉县',\n      'code': '522623'\n    }, {\n      'name': '三穗县',\n      'code': '522624'\n    }, {\n      'name': '镇远县',\n      'code': '522625'\n    }, {\n      'name': '岑巩县',\n      'code': '522626'\n    }, {\n      'name': '天柱县',\n      'code': '522627'\n    }, {\n      'name': '锦屏县',\n      'code': '522628'\n    }, {\n      'name': '剑河县',\n      'code': '522629'\n    }, {\n      'name': '台江县',\n      'code': '522630'\n    }, {\n      'name': '黎平县',\n      'code': '522631'\n    }, {\n      'name': '榕江县',\n      'code': '522632'\n    }, {\n      'name': '从江县',\n      'code': '522633'\n    }, {\n      'name': '雷山县',\n      'code': '522634'\n    }, {\n      'name': '麻江县',\n      'code': '522635'\n    }, {\n      'name': '丹寨县',\n      'code': '522636'\n    }]\n  }, {\n    'name': '黔南布依族苗族自治州',\n    'code': '522700',\n    'children': [{\n      'name': '都匀市',\n      'code': '522701'\n    }, {\n      'name': '福泉市',\n      'code': '522702'\n    }, {\n      'name': '荔波县',\n      'code': '522722'\n    }, {\n      'name': '贵定县',\n      'code': '522723'\n    }, {\n      'name': '瓮安县',\n      'code': '522725'\n    }, {\n      'name': '独山县',\n      'code': '522726'\n    }, {\n      'name': '平塘县',\n      'code': '522727'\n    }, {\n      'name': '罗甸县',\n      'code': '522728'\n    }, {\n      'name': '长顺县',\n      'code': '522729'\n    }, {\n      'name': '龙里县',\n      'code': '522730'\n    }, {\n      'name': '惠水县',\n      'code': '522731'\n    }, {\n      'name': '三都水族自治县',\n      'code': '522732'\n    }]\n  }]\n}, {\n  'name': '云南省',\n  'code': '530000',\n  'region': 'southwest',\n  'children': [{\n    'name': '昆明市',\n    'code': '530100',\n    'children': [{\n      'name': '五华区',\n      'code': '530102'\n    }, {\n      'name': '盘龙区',\n      'code': '530103'\n    }, {\n      'name': '官渡区',\n      'code': '530111'\n    }, {\n      'name': '西山区',\n      'code': '530112'\n    }, {\n      'name': '东川区',\n      'code': '530113'\n    }, {\n      'name': '呈贡区',\n      'code': '530114'\n    }, {\n      'name': '晋宁区',\n      'code': '530115'\n    }, {\n      'name': '富民县',\n      'code': '530124'\n    }, {\n      'name': '宜良县',\n      'code': '530125'\n    }, {\n      'name': '石林彝族自治县',\n      'code': '530126'\n    }, {\n      'name': '嵩明县',\n      'code': '530127'\n    }, {\n      'name': '禄劝彝族苗族自治县',\n      'code': '530128'\n    }, {\n      'name': '寻甸回族彝族自治县',\n      'code': '530129'\n    }, {\n      'name': '安宁市',\n      'code': '530181'\n    }]\n  }, {\n    'name': '曲靖市',\n    'code': '530300',\n    'children': [{\n      'name': '麒麟区',\n      'code': '530302'\n    }, {\n      'name': '沾益区',\n      'code': '530303'\n    }, {\n      'name': '马龙区',\n      'code': '530304'\n    }, {\n      'name': '陆良县',\n      'code': '530322'\n    }, {\n      'name': '师宗县',\n      'code': '530323'\n    }, {\n      'name': '罗平县',\n      'code': '530324'\n    }, {\n      'name': '富源县',\n      'code': '530325'\n    }, {\n      'name': '会泽县',\n      'code': '530326'\n    }, {\n      'name': '宣威市',\n      'code': '530381'\n    }]\n  }, {\n    'name': '玉溪市',\n    'code': '530400',\n    'children': [{\n      'name': '红塔区',\n      'code': '530402'\n    }, {\n      'name': '江川区',\n      'code': '530403'\n    }, {\n      'name': '澄江县',\n      'code': '530422'\n    }, {\n      'name': '通海县',\n      'code': '530423'\n    }, {\n      'name': '华宁县',\n      'code': '530424'\n    }, {\n      'name': '易门县',\n      'code': '530425'\n    }, {\n      'name': '峨山彝族自治县',\n      'code': '530426'\n    }, {\n      'name': '新平彝族傣族自治县',\n      'code': '530427'\n    }, {\n      'name': '元江哈尼族彝族傣族自治县',\n      'code': '530428'\n    }]\n  }, {\n    'name': '保山市',\n    'code': '530500',\n    'children': [{\n      'name': '隆阳区',\n      'code': '530502'\n    }, {\n      'name': '施甸县',\n      'code': '530521'\n    }, {\n      'name': '龙陵县',\n      'code': '530523'\n    }, {\n      'name': '昌宁县',\n      'code': '530524'\n    }, {\n      'name': '腾冲市',\n      'code': '530581'\n    }]\n  }, {\n    'name': '昭通市',\n    'code': '530600',\n    'children': [{\n      'name': '昭阳区',\n      'code': '530602'\n    }, {\n      'name': '鲁甸县',\n      'code': '530621'\n    }, {\n      'name': '巧家县',\n      'code': '530622'\n    }, {\n      'name': '盐津县',\n      'code': '530623'\n    }, {\n      'name': '大关县',\n      'code': '530624'\n    }, {\n      'name': '永善县',\n      'code': '530625'\n    }, {\n      'name': '绥江县',\n      'code': '530626'\n    }, {\n      'name': '镇雄县',\n      'code': '530627'\n    }, {\n      'name': '彝良县',\n      'code': '530628'\n    }, {\n      'name': '威信县',\n      'code': '530629'\n    }, {\n      'name': '水富市',\n      'code': '530681'\n    }]\n  }, {\n    'name': '丽江市',\n    'code': '530700',\n    'children': [{\n      'name': '古城区',\n      'code': '530702'\n    }, {\n      'name': '玉龙纳西族自治县',\n      'code': '530721'\n    }, {\n      'name': '永胜县',\n      'code': '530722'\n    }, {\n      'name': '华坪县',\n      'code': '530723'\n    }, {\n      'name': '宁蒗彝族自治县',\n      'code': '530724'\n    }]\n  }, {\n    'name': '普洱市',\n    'code': '530800',\n    'children': [{\n      'name': '思茅区',\n      'code': '530802'\n    }, {\n      'name': '宁洱哈尼族彝族自治县',\n      'code': '530821'\n    }, {\n      'name': '墨江哈尼族自治县',\n      'code': '530822'\n    }, {\n      'name': '景东彝族自治县',\n      'code': '530823'\n    }, {\n      'name': '景谷傣族彝族自治县',\n      'code': '530824'\n    }, {\n      'name': '镇沅彝族哈尼族拉祜族自治县',\n      'code': '530825'\n    }, {\n      'name': '江城哈尼族彝族自治县',\n      'code': '530826'\n    }, {\n      'name': '孟连傣族拉祜族佤族自治县',\n      'code': '530827'\n    }, {\n      'name': '澜沧拉祜族自治县',\n      'code': '530828'\n    }, {\n      'name': '西盟佤族自治县',\n      'code': '530829'\n    }]\n  }, {\n    'name': '临沧市',\n    'code': '530900',\n    'children': [{\n      'name': '临翔区',\n      'code': '530902'\n    }, {\n      'name': '凤庆县',\n      'code': '530921'\n    }, {\n      'name': '云县',\n      'code': '530922'\n    }, {\n      'name': '永德县',\n      'code': '530923'\n    }, {\n      'name': '镇康县',\n      'code': '530924'\n    }, {\n      'name': '双江拉祜族佤族布朗族傣族自治县',\n      'code': '530925'\n    }, {\n      'name': '耿马傣族佤族自治县',\n      'code': '530926'\n    }, {\n      'name': '沧源佤族自治县',\n      'code': '530927'\n    }]\n  }, {\n    'name': '楚雄彝族自治州',\n    'code': '532300',\n    'children': [{\n      'name': '楚雄市',\n      'code': '532301'\n    }, {\n      'name': '双柏县',\n      'code': '532322'\n    }, {\n      'name': '牟定县',\n      'code': '532323'\n    }, {\n      'name': '南华县',\n      'code': '532324'\n    }, {\n      'name': '姚安县',\n      'code': '532325'\n    }, {\n      'name': '大姚县',\n      'code': '532326'\n    }, {\n      'name': '永仁县',\n      'code': '532327'\n    }, {\n      'name': '元谋县',\n      'code': '532328'\n    }, {\n      'name': '武定县',\n      'code': '532329'\n    }, {\n      'name': '禄丰县',\n      'code': '532331'\n    }]\n  }, {\n    'name': '红河哈尼族彝族自治州',\n    'code': '532500',\n    'children': [{\n      'name': '个旧市',\n      'code': '532501'\n    }, {\n      'name': '开远市',\n      'code': '532502'\n    }, {\n      'name': '蒙自市',\n      'code': '532503'\n    }, {\n      'name': '弥勒市',\n      'code': '532504'\n    }, {\n      'name': '屏边苗族自治县',\n      'code': '532523'\n    }, {\n      'name': '建水县',\n      'code': '532524'\n    }, {\n      'name': '石屏县',\n      'code': '532525'\n    }, {\n      'name': '泸西县',\n      'code': '532527'\n    }, {\n      'name': '元阳县',\n      'code': '532528'\n    }, {\n      'name': '红河县',\n      'code': '532529'\n    }, {\n      'name': '金平苗族瑶族傣族自治县',\n      'code': '532530'\n    }, {\n      'name': '绿春县',\n      'code': '532531'\n    }, {\n      'name': '河口瑶族自治县',\n      'code': '532532'\n    }]\n  }, {\n    'name': '文山壮族苗族自治州',\n    'code': '532600',\n    'children': [{\n      'name': '文山市',\n      'code': '532601'\n    }, {\n      'name': '砚山县',\n      'code': '532622'\n    }, {\n      'name': '西畴县',\n      'code': '532623'\n    }, {\n      'name': '麻栗坡县',\n      'code': '532624'\n    }, {\n      'name': '马关县',\n      'code': '532625'\n    }, {\n      'name': '丘北县',\n      'code': '532626'\n    }, {\n      'name': '广南县',\n      'code': '532627'\n    }, {\n      'name': '富宁县',\n      'code': '532628'\n    }]\n  }, {\n    'name': '西双版纳傣族自治州',\n    'code': '532800',\n    'children': [{\n      'name': '景洪市',\n      'code': '532801'\n    }, {\n      'name': '勐海县',\n      'code': '532822'\n    }, {\n      'name': '勐腊县',\n      'code': '532823'\n    }]\n  }, {\n    'name': '大理白族自治州',\n    'code': '532900',\n    'children': [{\n      'name': '大理市',\n      'code': '532901'\n    }, {\n      'name': '漾濞彝族自治县',\n      'code': '532922'\n    }, {\n      'name': '祥云县',\n      'code': '532923'\n    }, {\n      'name': '宾川县',\n      'code': '532924'\n    }, {\n      'name': '弥渡县',\n      'code': '532925'\n    }, {\n      'name': '南涧彝族自治县',\n      'code': '532926'\n    }, {\n      'name': '巍山彝族回族自治县',\n      'code': '532927'\n    }, {\n      'name': '永平县',\n      'code': '532928'\n    }, {\n      'name': '云龙县',\n      'code': '532929'\n    }, {\n      'name': '洱源县',\n      'code': '532930'\n    }, {\n      'name': '剑川县',\n      'code': '532931'\n    }, {\n      'name': '鹤庆县',\n      'code': '532932'\n    }]\n  }, {\n    'name': '德宏傣族景颇族自治州',\n    'code': '533100',\n    'children': [{\n      'name': '瑞丽市',\n      'code': '533102'\n    }, {\n      'name': '芒市',\n      'code': '533103'\n    }, {\n      'name': '梁河县',\n      'code': '533122'\n    }, {\n      'name': '盈江县',\n      'code': '533123'\n    }, {\n      'name': '陇川县',\n      'code': '533124'\n    }]\n  }, {\n    'name': '怒江傈僳族自治州',\n    'code': '533300',\n    'children': [{\n      'name': '泸水市',\n      'code': '533301'\n    }, {\n      'name': '福贡县',\n      'code': '533323'\n    }, {\n      'name': '贡山独龙族怒族自治县',\n      'code': '533324'\n    }, {\n      'name': '兰坪白族普米族自治县',\n      'code': '533325'\n    }]\n  }, {\n    'name': '迪庆藏族自治州',\n    'code': '533400',\n    'children': [{\n      'name': '香格里拉市',\n      'code': '533401'\n    }, {\n      'name': '德钦县',\n      'code': '533422'\n    }, {\n      'name': '维西傈僳族自治县',\n      'code': '533423'\n    }]\n  }]\n}, {\n  'name': '西藏自治区',\n  'code': '540000',\n  'region': 'southwest',\n  'autonomousRegion': true,\n  'children': [{\n    'name': '拉萨市',\n    'code': '540100',\n    'children': [{\n      'name': '城关区',\n      'code': '540102'\n    }, {\n      'name': '堆龙德庆区',\n      'code': '540103'\n    }, {\n      'name': '达孜区',\n      'code': '540104'\n    }, {\n      'name': '林周县',\n      'code': '540121'\n    }, {\n      'name': '当雄县',\n      'code': '540122'\n    }, {\n      'name': '尼木县',\n      'code': '540123'\n    }, {\n      'name': '曲水县',\n      'code': '540124'\n    }, {\n      'name': '墨竹工卡县',\n      'code': '540127'\n    }]\n  }, {\n    'name': '日喀则市',\n    'code': '540200',\n    'children': [{\n      'name': '桑珠孜区',\n      'code': '540202'\n    }, {\n      'name': '南木林县',\n      'code': '540221'\n    }, {\n      'name': '江孜县',\n      'code': '540222'\n    }, {\n      'name': '定日县',\n      'code': '540223'\n    }, {\n      'name': '萨迦县',\n      'code': '540224'\n    }, {\n      'name': '拉孜县',\n      'code': '540225'\n    }, {\n      'name': '昂仁县',\n      'code': '540226'\n    }, {\n      'name': '谢通门县',\n      'code': '540227'\n    }, {\n      'name': '白朗县',\n      'code': '540228'\n    }, {\n      'name': '仁布县',\n      'code': '540229'\n    }, {\n      'name': '康马县',\n      'code': '540230'\n    }, {\n      'name': '定结县',\n      'code': '540231'\n    }, {\n      'name': '仲巴县',\n      'code': '540232'\n    }, {\n      'name': '亚东县',\n      'code': '540233'\n    }, {\n      'name': '吉隆县',\n      'code': '540234'\n    }, {\n      'name': '聂拉木县',\n      'code': '540235'\n    }, {\n      'name': '萨嘎县',\n      'code': '540236'\n    }, {\n      'name': '岗巴县',\n      'code': '540237'\n    }]\n  }, {\n    'name': '昌都市',\n    'code': '540300',\n    'children': [{\n      'name': '卡若区',\n      'code': '540302'\n    }, {\n      'name': '江达县',\n      'code': '540321'\n    }, {\n      'name': '贡觉县',\n      'code': '540322'\n    }, {\n      'name': '类乌齐县',\n      'code': '540323'\n    }, {\n      'name': '丁青县',\n      'code': '540324'\n    }, {\n      'name': '察雅县',\n      'code': '540325'\n    }, {\n      'name': '八宿县',\n      'code': '540326'\n    }, {\n      'name': '左贡县',\n      'code': '540327'\n    }, {\n      'name': '芒康县',\n      'code': '540328'\n    }, {\n      'name': '洛隆县',\n      'code': '540329'\n    }, {\n      'name': '边坝县',\n      'code': '540330'\n    }]\n  }, {\n    'name': '林芝市',\n    'code': '540400',\n    'children': [{\n      'name': '巴宜区',\n      'code': '540402'\n    }, {\n      'name': '工布江达县',\n      'code': '540421'\n    }, {\n      'name': '米林县',\n      'code': '540422'\n    }, {\n      'name': '墨脱县',\n      'code': '540423'\n    }, {\n      'name': '波密县',\n      'code': '540424'\n    }, {\n      'name': '察隅县',\n      'code': '540425'\n    }, {\n      'name': '朗县',\n      'code': '540426'\n    }]\n  }, {\n    'name': '山南市',\n    'code': '540500',\n    'children': [{\n      'name': '乃东区',\n      'code': '540502'\n    }, {\n      'name': '扎囊县',\n      'code': '540521'\n    }, {\n      'name': '贡嘎县',\n      'code': '540522'\n    }, {\n      'name': '桑日县',\n      'code': '540523'\n    }, {\n      'name': '琼结县',\n      'code': '540524'\n    }, {\n      'name': '曲松县',\n      'code': '540525'\n    }, {\n      'name': '措美县',\n      'code': '540526'\n    }, {\n      'name': '洛扎县',\n      'code': '540527'\n    }, {\n      'name': '加查县',\n      'code': '540528'\n    }, {\n      'name': '隆子县',\n      'code': '540529'\n    }, {\n      'name': '错那县',\n      'code': '540530'\n    }, {\n      'name': '浪卡子县',\n      'code': '540531'\n    }]\n  }, {\n    'name': '那曲市',\n    'code': '540600',\n    'children': [{\n      'name': '色尼区',\n      'code': '540602'\n    }, {\n      'name': '嘉黎县',\n      'code': '540621'\n    }, {\n      'name': '比如县',\n      'code': '540622'\n    }, {\n      'name': '聂荣县',\n      'code': '540623'\n    }, {\n      'name': '安多县',\n      'code': '540624'\n    }, {\n      'name': '申扎县',\n      'code': '540625'\n    }, {\n      'name': '索县',\n      'code': '540626'\n    }, {\n      'name': '班戈县',\n      'code': '540627'\n    }, {\n      'name': '巴青县',\n      'code': '540628'\n    }, {\n      'name': '尼玛县',\n      'code': '540629'\n    }, {\n      'name': '双湖县',\n      'code': '540630'\n    }]\n  }, {\n    'name': '阿里地区',\n    'code': '542500',\n    'children': [{\n      'name': '普兰县',\n      'code': '542521'\n    }, {\n      'name': '札达县',\n      'code': '542522'\n    }, {\n      'name': '噶尔县',\n      'code': '542523'\n    }, {\n      'name': '日土县',\n      'code': '542524'\n    }, {\n      'name': '革吉县',\n      'code': '542525'\n    }, {\n      'name': '改则县',\n      'code': '542526'\n    }, {\n      'name': '措勤县',\n      'code': '542527'\n    }]\n  }]\n}, {\n  'name': '陕西省',\n  'code': '610000',\n  'region': 'northwest',\n  'children': [{\n    'name': '西安市',\n    'code': '610100',\n    'children': [{\n      'name': '新城区',\n      'code': '610102'\n    }, {\n      'name': '碑林区',\n      'code': '610103'\n    }, {\n      'name': '莲湖区',\n      'code': '610104'\n    }, {\n      'name': '灞桥区',\n      'code': '610111'\n    }, {\n      'name': '未央区',\n      'code': '610112'\n    }, {\n      'name': '雁塔区',\n      'code': '610113'\n    }, {\n      'name': '阎良区',\n      'code': '610114'\n    }, {\n      'name': '临潼区',\n      'code': '610115'\n    }, {\n      'name': '长安区',\n      'code': '610116'\n    }, {\n      'name': '高陵区',\n      'code': '610117'\n    }, {\n      'name': '鄠邑区',\n      'code': '610118'\n    }, {\n      'name': '蓝田县',\n      'code': '610122'\n    }, {\n      'name': '周至县',\n      'code': '610124'\n    }]\n  }, {\n    'name': '铜川市',\n    'code': '610200',\n    'children': [{\n      'name': '王益区',\n      'code': '610202'\n    }, {\n      'name': '印台区',\n      'code': '610203'\n    }, {\n      'name': '耀州区',\n      'code': '610204'\n    }, {\n      'name': '宜君县',\n      'code': '610222'\n    }]\n  }, {\n    'name': '宝鸡市',\n    'code': '610300',\n    'children': [{\n      'name': '渭滨区',\n      'code': '610302'\n    }, {\n      'name': '金台区',\n      'code': '610303'\n    }, {\n      'name': '陈仓区',\n      'code': '610304'\n    }, {\n      'name': '凤翔县',\n      'code': '610322'\n    }, {\n      'name': '岐山县',\n      'code': '610323'\n    }, {\n      'name': '扶风县',\n      'code': '610324'\n    }, {\n      'name': '眉县',\n      'code': '610326'\n    }, {\n      'name': '陇县',\n      'code': '610327'\n    }, {\n      'name': '千阳县',\n      'code': '610328'\n    }, {\n      'name': '麟游县',\n      'code': '610329'\n    }, {\n      'name': '凤县',\n      'code': '610330'\n    }, {\n      'name': '太白县',\n      'code': '610331'\n    }]\n  }, {\n    'name': '咸阳市',\n    'code': '610400',\n    'children': [{\n      'name': '秦都区',\n      'code': '610402'\n    }, {\n      'name': '杨陵区',\n      'code': '610403'\n    }, {\n      'name': '渭城区',\n      'code': '610404'\n    }, {\n      'name': '三原县',\n      'code': '610422'\n    }, {\n      'name': '泾阳县',\n      'code': '610423'\n    }, {\n      'name': '乾县',\n      'code': '610424'\n    }, {\n      'name': '礼泉县',\n      'code': '610425'\n    }, {\n      'name': '永寿县',\n      'code': '610426'\n    }, {\n      'name': '长武县',\n      'code': '610428'\n    }, {\n      'name': '旬邑县',\n      'code': '610429'\n    }, {\n      'name': '淳化县',\n      'code': '610430'\n    }, {\n      'name': '武功县',\n      'code': '610431'\n    }, {\n      'name': '兴平市',\n      'code': '610481'\n    }, {\n      'name': '彬州市',\n      'code': '610482'\n    }]\n  }, {\n    'name': '渭南市',\n    'code': '610500',\n    'children': [{\n      'name': '临渭区',\n      'code': '610502'\n    }, {\n      'name': '华州区',\n      'code': '610503'\n    }, {\n      'name': '潼关县',\n      'code': '610522'\n    }, {\n      'name': '大荔县',\n      'code': '610523'\n    }, {\n      'name': '合阳县',\n      'code': '610524'\n    }, {\n      'name': '澄城县',\n      'code': '610525'\n    }, {\n      'name': '蒲城县',\n      'code': '610526'\n    }, {\n      'name': '白水县',\n      'code': '610527'\n    }, {\n      'name': '富平县',\n      'code': '610528'\n    }, {\n      'name': '韩城市',\n      'code': '610581'\n    }, {\n      'name': '华阴市',\n      'code': '610582'\n    }]\n  }, {\n    'name': '延安市',\n    'code': '610600',\n    'children': [{\n      'name': '宝塔区',\n      'code': '610602'\n    }, {\n      'name': '安塞区',\n      'code': '610603'\n    }, {\n      'name': '延长县',\n      'code': '610621'\n    }, {\n      'name': '延川县',\n      'code': '610622'\n    }, {\n      'name': '子长县',\n      'code': '610623'\n    }, {\n      'name': '志丹县',\n      'code': '610625'\n    }, {\n      'name': '吴起县',\n      'code': '610626'\n    }, {\n      'name': '甘泉县',\n      'code': '610627'\n    }, {\n      'name': '富县',\n      'code': '610628'\n    }, {\n      'name': '洛川县',\n      'code': '610629'\n    }, {\n      'name': '宜川县',\n      'code': '610630'\n    }, {\n      'name': '黄龙县',\n      'code': '610631'\n    }, {\n      'name': '黄陵县',\n      'code': '610632'\n    }]\n  }, {\n    'name': '汉中市',\n    'code': '610700',\n    'children': [{\n      'name': '汉台区',\n      'code': '610702'\n    }, {\n      'name': '南郑区',\n      'code': '610703'\n    }, {\n      'name': '城固县',\n      'code': '610722'\n    }, {\n      'name': '洋县',\n      'code': '610723'\n    }, {\n      'name': '西乡县',\n      'code': '610724'\n    }, {\n      'name': '勉县',\n      'code': '610725'\n    }, {\n      'name': '宁强县',\n      'code': '610726'\n    }, {\n      'name': '略阳县',\n      'code': '610727'\n    }, {\n      'name': '镇巴县',\n      'code': '610728'\n    }, {\n      'name': '留坝县',\n      'code': '610729'\n    }, {\n      'name': '佛坪县',\n      'code': '610730'\n    }]\n  }, {\n    'name': '榆林市',\n    'code': '610800',\n    'children': [{\n      'name': '榆阳区',\n      'code': '610802'\n    }, {\n      'name': '横山区',\n      'code': '610803'\n    }, {\n      'name': '府谷县',\n      'code': '610822'\n    }, {\n      'name': '靖边县',\n      'code': '610824'\n    }, {\n      'name': '定边县',\n      'code': '610825'\n    }, {\n      'name': '绥德县',\n      'code': '610826'\n    }, {\n      'name': '米脂县',\n      'code': '610827'\n    }, {\n      'name': '佳县',\n      'code': '610828'\n    }, {\n      'name': '吴堡县',\n      'code': '610829'\n    }, {\n      'name': '清涧县',\n      'code': '610830'\n    }, {\n      'name': '子洲县',\n      'code': '610831'\n    }, {\n      'name': '神木市',\n      'code': '610881'\n    }]\n  }, {\n    'name': '安康市',\n    'code': '610900',\n    'children': [{\n      'name': '汉滨区',\n      'code': '610902'\n    }, {\n      'name': '汉阴县',\n      'code': '610921'\n    }, {\n      'name': '石泉县',\n      'code': '610922'\n    }, {\n      'name': '宁陕县',\n      'code': '610923'\n    }, {\n      'name': '紫阳县',\n      'code': '610924'\n    }, {\n      'name': '岚皋县',\n      'code': '610925'\n    }, {\n      'name': '平利县',\n      'code': '610926'\n    }, {\n      'name': '镇坪县',\n      'code': '610927'\n    }, {\n      'name': '旬阳县',\n      'code': '610928'\n    }, {\n      'name': '白河县',\n      'code': '610929'\n    }]\n  }, {\n    'name': '商洛市',\n    'code': '611000',\n    'children': [{\n      'name': '商州区',\n      'code': '611002'\n    }, {\n      'name': '洛南县',\n      'code': '611021'\n    }, {\n      'name': '丹凤县',\n      'code': '611022'\n    }, {\n      'name': '商南县',\n      'code': '611023'\n    }, {\n      'name': '山阳县',\n      'code': '611024'\n    }, {\n      'name': '镇安县',\n      'code': '611025'\n    }, {\n      'name': '柞水县',\n      'code': '611026'\n    }]\n  }]\n}, {\n  'name': '甘肃省',\n  'code': '620000',\n  'region': 'northwest',\n  'children': [{\n    'name': '兰州市',\n    'code': '620100',\n    'children': [{\n      'name': '城关区',\n      'code': '620102'\n    }, {\n      'name': '七里河区',\n      'code': '620103'\n    }, {\n      'name': '西固区',\n      'code': '620104'\n    }, {\n      'name': '安宁区',\n      'code': '620105'\n    }, {\n      'name': '红古区',\n      'code': '620111'\n    }, {\n      'name': '永登县',\n      'code': '620121'\n    }, {\n      'name': '皋兰县',\n      'code': '620122'\n    }, {\n      'name': '榆中县',\n      'code': '620123'\n    }]\n  }, {\n    'name': '嘉峪关市',\n    'code': '620200',\n    'children': []\n  }, {\n    'name': '金昌市',\n    'code': '620300',\n    'children': [{\n      'name': '金川区',\n      'code': '620302'\n    }, {\n      'name': '永昌县',\n      'code': '620321'\n    }]\n  }, {\n    'name': '白银市',\n    'code': '620400',\n    'children': [{\n      'name': '白银区',\n      'code': '620402'\n    }, {\n      'name': '平川区',\n      'code': '620403'\n    }, {\n      'name': '靖远县',\n      'code': '620421'\n    }, {\n      'name': '会宁县',\n      'code': '620422'\n    }, {\n      'name': '景泰县',\n      'code': '620423'\n    }]\n  }, {\n    'name': '天水市',\n    'code': '620500',\n    'children': [{\n      'name': '秦州区',\n      'code': '620502'\n    }, {\n      'name': '麦积区',\n      'code': '620503'\n    }, {\n      'name': '清水县',\n      'code': '620521'\n    }, {\n      'name': '秦安县',\n      'code': '620522'\n    }, {\n      'name': '甘谷县',\n      'code': '620523'\n    }, {\n      'name': '武山县',\n      'code': '620524'\n    }, {\n      'name': '张家川回族自治县',\n      'code': '620525'\n    }]\n  }, {\n    'name': '武威市',\n    'code': '620600',\n    'children': [{\n      'name': '凉州区',\n      'code': '620602'\n    }, {\n      'name': '民勤县',\n      'code': '620621'\n    }, {\n      'name': '古浪县',\n      'code': '620622'\n    }, {\n      'name': '天祝藏族自治县',\n      'code': '620623'\n    }]\n  }, {\n    'name': '张掖市',\n    'code': '620700',\n    'children': [{\n      'name': '甘州区',\n      'code': '620702'\n    }, {\n      'name': '肃南裕固族自治县',\n      'code': '620721'\n    }, {\n      'name': '民乐县',\n      'code': '620722'\n    }, {\n      'name': '临泽县',\n      'code': '620723'\n    }, {\n      'name': '高台县',\n      'code': '620724'\n    }, {\n      'name': '山丹县',\n      'code': '620725'\n    }]\n  }, {\n    'name': '平凉市',\n    'code': '620800',\n    'children': [{\n      'name': '崆峒区',\n      'code': '620802'\n    }, {\n      'name': '泾川县',\n      'code': '620821'\n    }, {\n      'name': '灵台县',\n      'code': '620822'\n    }, {\n      'name': '崇信县',\n      'code': '620823'\n    }, {\n      'name': '庄浪县',\n      'code': '620825'\n    }, {\n      'name': '静宁县',\n      'code': '620826'\n    }, {\n      'name': '华亭市',\n      'code': '620881'\n    }]\n  }, {\n    'name': '酒泉市',\n    'code': '620900',\n    'children': [{\n      'name': '肃州区',\n      'code': '620902'\n    }, {\n      'name': '金塔县',\n      'code': '620921'\n    }, {\n      'name': '瓜州县',\n      'code': '620922'\n    }, {\n      'name': '肃北蒙古族自治县',\n      'code': '620923'\n    }, {\n      'name': '阿克塞哈萨克族自治县',\n      'code': '620924'\n    }, {\n      'name': '玉门市',\n      'code': '620981'\n    }, {\n      'name': '敦煌市',\n      'code': '620982'\n    }]\n  }, {\n    'name': '庆阳市',\n    'code': '621000',\n    'children': [{\n      'name': '西峰区',\n      'code': '621002'\n    }, {\n      'name': '庆城县',\n      'code': '621021'\n    }, {\n      'name': '环县',\n      'code': '621022'\n    }, {\n      'name': '华池县',\n      'code': '621023'\n    }, {\n      'name': '合水县',\n      'code': '621024'\n    }, {\n      'name': '正宁县',\n      'code': '621025'\n    }, {\n      'name': '宁县',\n      'code': '621026'\n    }, {\n      'name': '镇原县',\n      'code': '621027'\n    }]\n  }, {\n    'name': '定西市',\n    'code': '621100',\n    'children': [{\n      'name': '安定区',\n      'code': '621102'\n    }, {\n      'name': '通渭县',\n      'code': '621121'\n    }, {\n      'name': '陇西县',\n      'code': '621122'\n    }, {\n      'name': '渭源县',\n      'code': '621123'\n    }, {\n      'name': '临洮县',\n      'code': '621124'\n    }, {\n      'name': '漳县',\n      'code': '621125'\n    }, {\n      'name': '岷县',\n      'code': '621126'\n    }]\n  }, {\n    'name': '陇南市',\n    'code': '621200',\n    'children': [{\n      'name': '武都区',\n      'code': '621202'\n    }, {\n      'name': '成县',\n      'code': '621221'\n    }, {\n      'name': '文县',\n      'code': '621222'\n    }, {\n      'name': '宕昌县',\n      'code': '621223'\n    }, {\n      'name': '康县',\n      'code': '621224'\n    }, {\n      'name': '西和县',\n      'code': '621225'\n    }, {\n      'name': '礼县',\n      'code': '621226'\n    }, {\n      'name': '徽县',\n      'code': '621227'\n    }, {\n      'name': '两当县',\n      'code': '621228'\n    }]\n  }, {\n    'name': '临夏回族自治州',\n    'code': '622900',\n    'children': [{\n      'name': '临夏市',\n      'code': '622901'\n    }, {\n      'name': '临夏县',\n      'code': '622921'\n    }, {\n      'name': '康乐县',\n      'code': '622922'\n    }, {\n      'name': '永靖县',\n      'code': '622923'\n    }, {\n      'name': '广河县',\n      'code': '622924'\n    }, {\n      'name': '和政县',\n      'code': '622925'\n    }, {\n      'name': '东乡族自治县',\n      'code': '622926'\n    }, {\n      'name': '积石山保安族东乡族撒拉族自治县',\n      'code': '622927'\n    }]\n  }, {\n    'name': '甘南藏族自治州',\n    'code': '623000',\n    'children': [{\n      'name': '合作市',\n      'code': '623001'\n    }, {\n      'name': '临潭县',\n      'code': '623021'\n    }, {\n      'name': '卓尼县',\n      'code': '623022'\n    }, {\n      'name': '舟曲县',\n      'code': '623023'\n    }, {\n      'name': '迭部县',\n      'code': '623024'\n    }, {\n      'name': '玛曲县',\n      'code': '623025'\n    }, {\n      'name': '碌曲县',\n      'code': '623026'\n    }, {\n      'name': '夏河县',\n      'code': '623027'\n    }]\n  }]\n}, {\n  'name': '青海省',\n  'code': '630000',\n  'region': 'northwest',\n  'children': [{\n    'name': '西宁市',\n    'code': '630100',\n    'children': [{\n      'name': '城东区',\n      'code': '630102'\n    }, {\n      'name': '城中区',\n      'code': '630103'\n    }, {\n      'name': '城西区',\n      'code': '630104'\n    }, {\n      'name': '城北区',\n      'code': '630105'\n    }, {\n      'name': '大通回族土族自治县',\n      'code': '630121'\n    }, {\n      'name': '湟中县',\n      'code': '630122'\n    }, {\n      'name': '湟源县',\n      'code': '630123'\n    }]\n  }, {\n    'name': '海东市',\n    'code': '630200',\n    'children': [{\n      'name': '乐都区',\n      'code': '630202'\n    }, {\n      'name': '平安区',\n      'code': '630203'\n    }, {\n      'name': '民和回族土族自治县',\n      'code': '630222'\n    }, {\n      'name': '互助土族自治县',\n      'code': '630223'\n    }, {\n      'name': '化隆回族自治县',\n      'code': '630224'\n    }, {\n      'name': '循化撒拉族自治县',\n      'code': '630225'\n    }]\n  }, {\n    'name': '海北藏族自治州',\n    'code': '632200',\n    'children': [{\n      'name': '门源回族自治县',\n      'code': '632221'\n    }, {\n      'name': '祁连县',\n      'code': '632222'\n    }, {\n      'name': '海晏县',\n      'code': '632223'\n    }, {\n      'name': '刚察县',\n      'code': '632224'\n    }]\n  }, {\n    'name': '黄南藏族自治州',\n    'code': '632300',\n    'children': [{\n      'name': '同仁县',\n      'code': '632321'\n    }, {\n      'name': '尖扎县',\n      'code': '632322'\n    }, {\n      'name': '泽库县',\n      'code': '632323'\n    }, {\n      'name': '河南蒙古族自治县',\n      'code': '632324'\n    }]\n  }, {\n    'name': '海南藏族自治州',\n    'code': '632500',\n    'children': [{\n      'name': '共和县',\n      'code': '632521'\n    }, {\n      'name': '同德县',\n      'code': '632522'\n    }, {\n      'name': '贵德县',\n      'code': '632523'\n    }, {\n      'name': '兴海县',\n      'code': '632524'\n    }, {\n      'name': '贵南县',\n      'code': '632525'\n    }]\n  }, {\n    'name': '果洛藏族自治州',\n    'code': '632600',\n    'children': [{\n      'name': '玛沁县',\n      'code': '632621'\n    }, {\n      'name': '班玛县',\n      'code': '632622'\n    }, {\n      'name': '甘德县',\n      'code': '632623'\n    }, {\n      'name': '达日县',\n      'code': '632624'\n    }, {\n      'name': '久治县',\n      'code': '632625'\n    }, {\n      'name': '玛多县',\n      'code': '632626'\n    }]\n  }, {\n    'name': '玉树藏族自治州',\n    'code': '632700',\n    'children': [{\n      'name': '玉树市',\n      'code': '632701'\n    }, {\n      'name': '杂多县',\n      'code': '632722'\n    }, {\n      'name': '称多县',\n      'code': '632723'\n    }, {\n      'name': '治多县',\n      'code': '632724'\n    }, {\n      'name': '囊谦县',\n      'code': '632725'\n    }, {\n      'name': '曲麻莱县',\n      'code': '632726'\n    }]\n  }, {\n    'name': '海西蒙古族藏族自治州',\n    'code': '632800',\n    'children': [{\n      'name': '格尔木市',\n      'code': '632801'\n    }, {\n      'name': '德令哈市',\n      'code': '632802'\n    }, {\n      'name': '茫崖市',\n      'code': '632803'\n    }, {\n      'name': '乌兰县',\n      'code': '632821'\n    }, {\n      'name': '都兰县',\n      'code': '632822'\n    }, {\n      'name': '天峻县',\n      'code': '632823'\n    }]\n  }]\n}, {\n  'name': '宁夏回族自治区',\n  'code': '640000',\n  'region': 'northwest',\n  'autonomousRegion': true,\n  'children': [{\n    'name': '银川市',\n    'code': '640100',\n    'children': [{\n      'name': '兴庆区',\n      'code': '640104'\n    }, {\n      'name': '西夏区',\n      'code': '640105'\n    }, {\n      'name': '金凤区',\n      'code': '640106'\n    }, {\n      'name': '永宁县',\n      'code': '640121'\n    }, {\n      'name': '贺兰县',\n      'code': '640122'\n    }, {\n      'name': '灵武市',\n      'code': '640181'\n    }]\n  }, {\n    'name': '石嘴山市',\n    'code': '640200',\n    'children': [{\n      'name': '大武口区',\n      'code': '640202'\n    }, {\n      'name': '惠农区',\n      'code': '640205'\n    }, {\n      'name': '平罗县',\n      'code': '640221'\n    }]\n  }, {\n    'name': '吴忠市',\n    'code': '640300',\n    'children': [{\n      'name': '利通区',\n      'code': '640302'\n    }, {\n      'name': '红寺堡区',\n      'code': '640303'\n    }, {\n      'name': '盐池县',\n      'code': '640323'\n    }, {\n      'name': '同心县',\n      'code': '640324'\n    }, {\n      'name': '青铜峡市',\n      'code': '640381'\n    }]\n  }, {\n    'name': '固原市',\n    'code': '640400',\n    'children': [{\n      'name': '原州区',\n      'code': '640402'\n    }, {\n      'name': '西吉县',\n      'code': '640422'\n    }, {\n      'name': '隆德县',\n      'code': '640423'\n    }, {\n      'name': '泾源县',\n      'code': '640424'\n    }, {\n      'name': '彭阳县',\n      'code': '640425'\n    }]\n  }, {\n    'name': '中卫市',\n    'code': '640500',\n    'children': [{\n      'name': '沙坡头区',\n      'code': '640502'\n    }, {\n      'name': '中宁县',\n      'code': '640521'\n    }, {\n      'name': '海原县',\n      'code': '640522'\n    }]\n  }]\n}, {\n  'name': '新疆维吾尔自治区',\n  'code': '650000',\n  'region': 'northwest',\n  'autonomousRegion': true,\n  'children': [{\n    'name': '乌鲁木齐市',\n    'code': '650100',\n    'children': [{\n      'name': '天山区',\n      'code': '650102'\n    }, {\n      'name': '沙依巴克区',\n      'code': '650103'\n    }, {\n      'name': '新市区',\n      'code': '650104'\n    }, {\n      'name': '水磨沟区',\n      'code': '650105'\n    }, {\n      'name': '头屯河区',\n      'code': '650106'\n    }, {\n      'name': '达坂城区',\n      'code': '650107'\n    }, {\n      'name': '米东区',\n      'code': '650109'\n    }, {\n      'name': '乌鲁木齐县',\n      'code': '650121'\n    }]\n  }, {\n    'name': '克拉玛依市',\n    'code': '650200',\n    'children': [{\n      'name': '独山子区',\n      'code': '650202'\n    }, {\n      'name': '克拉玛依区',\n      'code': '650203'\n    }, {\n      'name': '白碱滩区',\n      'code': '650204'\n    }, {\n      'name': '乌尔禾区',\n      'code': '650205'\n    }]\n  }, {\n    'name': '吐鲁番市',\n    'code': '650400',\n    'children': [{\n      'name': '高昌区',\n      'code': '650402'\n    }, {\n      'name': '鄯善县',\n      'code': '650421'\n    }, {\n      'name': '托克逊县',\n      'code': '650422'\n    }]\n  }, {\n    'name': '哈密市',\n    'code': '650500',\n    'children': [{\n      'name': '伊州区',\n      'code': '650502'\n    }, {\n      'name': '巴里坤哈萨克自治县',\n      'code': '650521'\n    }, {\n      'name': '伊吾县',\n      'code': '650522'\n    }]\n  }, {\n    'name': '昌吉回族自治州',\n    'code': '652300',\n    'children': [{\n      'name': '昌吉市',\n      'code': '652301'\n    }, {\n      'name': '阜康市',\n      'code': '652302'\n    }, {\n      'name': '呼图壁县',\n      'code': '652323'\n    }, {\n      'name': '玛纳斯县',\n      'code': '652324'\n    }, {\n      'name': '奇台县',\n      'code': '652325'\n    }, {\n      'name': '吉木萨尔县',\n      'code': '652327'\n    }, {\n      'name': '木垒哈萨克自治县',\n      'code': '652328'\n    }]\n  }, {\n    'name': '博尔塔拉蒙古自治州',\n    'code': '652700',\n    'children': [{\n      'name': '博乐市',\n      'code': '652701'\n    }, {\n      'name': '阿拉山口市',\n      'code': '652702'\n    }, {\n      'name': '精河县',\n      'code': '652722'\n    }, {\n      'name': '温泉县',\n      'code': '652723'\n    }]\n  }, {\n    'name': '巴音郭楞蒙古自治州',\n    'code': '652800',\n    'children': [{\n      'name': '库尔勒市',\n      'code': '652801'\n    }, {\n      'name': '轮台县',\n      'code': '652822'\n    }, {\n      'name': '尉犁县',\n      'code': '652823'\n    }, {\n      'name': '若羌县',\n      'code': '652824'\n    }, {\n      'name': '且末县',\n      'code': '652825'\n    }, {\n      'name': '焉耆回族自治县',\n      'code': '652826'\n    }, {\n      'name': '和静县',\n      'code': '652827'\n    }, {\n      'name': '和硕县',\n      'code': '652828'\n    }, {\n      'name': '博湖县',\n      'code': '652829'\n    }]\n  }, {\n    'name': '阿克苏地区',\n    'code': '652900',\n    'children': [{\n      'name': '阿克苏市',\n      'code': '652901'\n    }, {\n      'name': '温宿县',\n      'code': '652922'\n    }, {\n      'name': '库车县',\n      'code': '652923'\n    }, {\n      'name': '沙雅县',\n      'code': '652924'\n    }, {\n      'name': '新和县',\n      'code': '652925'\n    }, {\n      'name': '拜城县',\n      'code': '652926'\n    }, {\n      'name': '乌什县',\n      'code': '652927'\n    }, {\n      'name': '阿瓦提县',\n      'code': '652928'\n    }, {\n      'name': '柯坪县',\n      'code': '652929'\n    }]\n  }, {\n    'name': '克孜勒苏柯尔克孜自治州',\n    'code': '653000',\n    'children': [{\n      'name': '阿图什市',\n      'code': '653001'\n    }, {\n      'name': '阿克陶县',\n      'code': '653022'\n    }, {\n      'name': '阿合奇县',\n      'code': '653023'\n    }, {\n      'name': '乌恰县',\n      'code': '653024'\n    }]\n  }, {\n    'name': '喀什地区',\n    'code': '653100',\n    'children': [{\n      'name': '喀什市',\n      'code': '653101'\n    }, {\n      'name': '疏附县',\n      'code': '653121'\n    }, {\n      'name': '疏勒县',\n      'code': '653122'\n    }, {\n      'name': '英吉沙县',\n      'code': '653123'\n    }, {\n      'name': '泽普县',\n      'code': '653124'\n    }, {\n      'name': '莎车县',\n      'code': '653125'\n    }, {\n      'name': '叶城县',\n      'code': '653126'\n    }, {\n      'name': '麦盖提县',\n      'code': '653127'\n    }, {\n      'name': '岳普湖县',\n      'code': '653128'\n    }, {\n      'name': '伽师县',\n      'code': '653129'\n    }, {\n      'name': '巴楚县',\n      'code': '653130'\n    }, {\n      'name': '塔什库尔干塔吉克自治县',\n      'code': '653131'\n    }]\n  }, {\n    'name': '和田地区',\n    'code': '653200',\n    'children': [{\n      'name': '和田市',\n      'code': '653201'\n    }, {\n      'name': '和田县',\n      'code': '653221'\n    }, {\n      'name': '墨玉县',\n      'code': '653222'\n    }, {\n      'name': '皮山县',\n      'code': '653223'\n    }, {\n      'name': '洛浦县',\n      'code': '653224'\n    }, {\n      'name': '策勒县',\n      'code': '653225'\n    }, {\n      'name': '于田县',\n      'code': '653226'\n    }, {\n      'name': '民丰县',\n      'code': '653227'\n    }]\n  }, {\n    'name': '伊犁哈萨克自治州',\n    'code': '654000',\n    'children': [{\n      'name': '伊宁市',\n      'code': '654002'\n    }, {\n      'name': '奎屯市',\n      'code': '654003'\n    }, {\n      'name': '霍尔果斯市',\n      'code': '654004'\n    }, {\n      'name': '伊宁县',\n      'code': '654021'\n    }, {\n      'name': '察布查尔锡伯自治县',\n      'code': '654022'\n    }, {\n      'name': '霍城县',\n      'code': '654023'\n    }, {\n      'name': '巩留县',\n      'code': '654024'\n    }, {\n      'name': '新源县',\n      'code': '654025'\n    }, {\n      'name': '昭苏县',\n      'code': '654026'\n    }, {\n      'name': '特克斯县',\n      'code': '654027'\n    }, {\n      'name': '尼勒克县',\n      'code': '654028'\n    }]\n  }, {\n    'name': '塔城地区',\n    'code': '654200',\n    'children': [{\n      'name': '塔城市',\n      'code': '654201'\n    }, {\n      'name': '乌苏市',\n      'code': '654202'\n    }, {\n      'name': '额敏县',\n      'code': '654221'\n    }, {\n      'name': '沙湾县',\n      'code': '654223'\n    }, {\n      'name': '托里县',\n      'code': '654224'\n    }, {\n      'name': '裕民县',\n      'code': '654225'\n    }, {\n      'name': '和布克赛尔蒙古自治县',\n      'code': '654226'\n    }]\n  }, {\n    'name': '阿勒泰地区',\n    'code': '654300',\n    'children': [{\n      'name': '阿勒泰市',\n      'code': '654301'\n    }, {\n      'name': '布尔津县',\n      'code': '654321'\n    }, {\n      'name': '富蕴县',\n      'code': '654322'\n    }, {\n      'name': '福海县',\n      'code': '654323'\n    }, {\n      'name': '哈巴河县',\n      'code': '654324'\n    }, {\n      'name': '青河县',\n      'code': '654325'\n    }, {\n      'name': '吉木乃县',\n      'code': '654326'\n    }]\n  }, {\n    'name': '直辖县',\n    'code': '659000',\n    'children': [{\n      'name': '石河子市',\n      'code': '659001'\n    }, {\n      'name': '阿拉尔市',\n      'code': '659002'\n    }, {\n      'name': '图木舒克市',\n      'code': '659003'\n    }, {\n      'name': '五家渠市',\n      'code': '659004'\n    }, {\n      'name': '北屯市',\n      'code': '659005'\n    }, {\n      'name': '铁门关市',\n      'code': '659006'\n    }, {\n      'name': '双河市',\n      'code': '659007'\n    }, {\n      'name': '可克达拉市',\n      'code': '659008'\n    }, {\n      'name': '昆玉市',\n      'code': '659009'\n    }]\n  }]\n}];\n/* harmony default export */ __webpack_exports__[\"default\"] = (area);\n\n//# sourceURL=webpack:///./src/util/area.js?");

/***/ }),

/***/ "./src/util/auth.js":
/*!**************************!*\
  !*** ./src/util/auth.js ***!
  \**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/util */ \"./src/util/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  install: function install(Vue) {\n    Vue.prototype.$auth = _util__WEBPACK_IMPORTED_MODULE_0__[\"auth\"];\n    Vue.prototype.$authAll = _util__WEBPACK_IMPORTED_MODULE_0__[\"authAll\"]; // 注册 v-auth 和 v-auth-all 指令\n\n    Vue.directive('auth', {\n      inserted: function inserted(el, binding) {\n        if (!Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"auth\"])(binding.value)) {\n          el.remove();\n        }\n      }\n    });\n    Vue.directive('auth-all', {\n      inserted: function inserted(el, binding) {\n        if (!Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"authAll\"])(binding.value)) {\n          el.remove();\n        }\n      }\n    });\n  }\n});\n\n//# sourceURL=webpack:///./src/util/auth.js?");

/***/ }),

/***/ "./src/util/error.log.js":
/*!*******************************!*\
  !*** ./src/util/error.log.js ***!
  \*******************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/store/index */ \"./src/store/index.js\");\n\n\n\n\nif (false) {}\n\n//# sourceURL=webpack:///./src/util/error.log.js?");

/***/ }),

/***/ "./src/util/index.js":
/*!***************************!*\
  !*** ./src/util/index.js ***!
  \***************************/
/*! exports provided: deepClone, auth, authAll */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deepClone\", function() { return deepClone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"auth\", function() { return auth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"authAll\", function() { return authAll; });\n/* harmony import */ var _Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.dot-all.js */ \"./node_modules/core-js/modules/es.regexp.dot-all.js\");\n/* harmony import */ var core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.sticky.js */ \"./node_modules/core-js/modules/es.regexp.sticky.js\");\n/* harmony import */ var core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/store/index */ \"./src/store/index.js\");\n\n\n\n\n\n\n\n\nfunction deepClone(target) {\n  // 定义一个变量\n  var result; // 如果当前需要深拷贝的是一个对象的话\n\n  if (Object(_Users_kai_Documents_GitHub_gcreate_lujiaoxiang_admin_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target) === 'object') {\n    // 如果是一个数组的话\n    if (Array.isArray(target)) {\n      result = []; // 将result赋值为一个数组，并且执行遍历\n\n      for (var i in target) {\n        // 递归克隆数组中的每一项\n        result.push(deepClone(target[i]));\n      } // 判断如果当前的值是null的话；直接赋值为null\n\n    } else if (target === null) {\n      result = null; // 判断如果当前的值是一个RegExp对象的话，直接赋值\n    } else if (target.constructor === RegExp) {\n      result = target;\n    } else {\n      // 否则是普通对象，直接for in循环，递归赋值对象的所有值\n      result = {};\n\n      for (var _i in target) {\n        result[_i] = deepClone(target[_i]);\n      }\n    } // 如果不是对象的话，就是基本数据类型，那么直接赋值\n\n  } else {\n    result = target;\n  } // 返回最终结果\n\n\n  return result;\n}\n\nfunction hasPermission(permission) {\n  if (_store_index__WEBPACK_IMPORTED_MODULE_7__[\"default\"].state.settings.openPermission) {\n    return _store_index__WEBPACK_IMPORTED_MODULE_7__[\"default\"].state.user.permissions.some(function (v) {\n      return v === permission;\n    });\n  } else {\n    return true;\n  }\n}\n\nfunction auth(value) {\n  var auth;\n\n  if (typeof value === 'string') {\n    auth = hasPermission(value);\n  } else {\n    auth = value.some(function (item) {\n      return hasPermission(item);\n    });\n  }\n\n  return auth;\n}\nfunction authAll(value) {\n  var auth = value.every(function (item) {\n    return hasPermission(item);\n  });\n  return auth;\n}\n\n//# sourceURL=webpack:///./src/util/index.js?");

/***/ }),

/***/ "./src/util/storage.js":
/*!*****************************!*\
  !*** ./src/util/storage.js ***!
  \*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/settings */ \"./src/settings.js\");\n\n\nvar storage = {};\nstorage.local = {\n  has: function has(key) {\n    return !!localStorage.getItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key));\n  },\n  get: function get(key) {\n    return localStorage.getItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key));\n  },\n  set: function set(key, value) {\n    localStorage.setItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key), value);\n  },\n  remove: function remove(key) {\n    localStorage.removeItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key));\n  },\n  clear: function clear() {\n    localStorage.clear();\n  }\n};\nstorage.session = {\n  has: function has(key) {\n    return !!sessionStorage.getItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key));\n  },\n  get: function get(key) {\n    return sessionStorage.getItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key));\n  },\n  set: function set(key, value) {\n    sessionStorage.setItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key), value);\n  },\n  remove: function remove(key) {\n    sessionStorage.removeItem(\"\".concat(_settings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].storagePrefix).concat(key));\n  },\n  clear: function clear() {\n    sessionStorage.clear();\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (storage);\n\n//# sourceURL=webpack:///./src/util/storage.js?");

/***/ }),

/***/ "./src/util/tabbar.js":
/*!****************************!*\
  !*** ./src/util/tabbar.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/router/index */ \"./src/router/index.js\");\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/index */ \"./src/store/index.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  install: function install(Vue) {\n    Vue.prototype.$tabbarClose = function () {\n      var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _router_index__WEBPACK_IMPORTED_MODULE_3__[\"default\"].currentRoute.meta.activeMenu || _router_index__WEBPACK_IMPORTED_MODULE_3__[\"default\"].currentRoute.fullPath;\n      var activedTabPath = _router_index__WEBPACK_IMPORTED_MODULE_3__[\"default\"].currentRoute.meta.activeMenu || _router_index__WEBPACK_IMPORTED_MODULE_3__[\"default\"].currentRoute.fullPath; // 如果关闭的标签正好是当前路由，并且标签栏数目大于 1\n\n      if (path == activedTabPath && _store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].state.tabbar.list.length > 1) {\n        var index = ~~Object.keys(_store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].state.tabbar.list).find(function (i) {\n          return _store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].state.tabbar.list[i].path == path;\n        });\n\n        if (index < _store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].state.tabbar.list.length - 1) {\n          this.$router.push(_store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].state.tabbar.list[index + 1].path);\n        } else {\n          this.$router.push(_store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].state.tabbar.list[index - 1].path);\n        }\n      }\n\n      _store_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"].dispatch('tabbar/remove', path);\n    };\n  }\n});\n\n//# sourceURL=webpack:///./src/util/tabbar.js?");

/***/ }),

/***/ "./src/views/404.vue":
/*!***************************!*\
  !*** ./src/views/404.vue ***!
  \***************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _404_vue_vue_type_template_id_6b3aeb0e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./404.vue?vue&type=template&id=6b3aeb0e&scoped=true& */ \"./src/views/404.vue?vue&type=template&id=6b3aeb0e&scoped=true&\");\n/* harmony import */ var _404_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./404.vue?vue&type=script&lang=js& */ \"./src/views/404.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _404_vue_vue_type_style_index_0_id_6b3aeb0e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true& */ \"./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _404_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _404_vue_vue_type_template_id_6b3aeb0e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _404_vue_vue_type_template_id_6b3aeb0e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"6b3aeb0e\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/404.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/404.vue?");

/***/ }),

/***/ "./src/views/404.vue?vue&type=script&lang=js&":
/*!****************************************************!*\
  !*** ./src/views/404.vue?vue&type=script&lang=js& ***!
  \****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./404.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/404.vue?");

/***/ }),

/***/ "./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true&":
/*!*************************************************************************************!*\
  !*** ./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true& ***!
  \*************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_6b3aeb0e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=style&index=0&id=6b3aeb0e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_6b3aeb0e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_6b3aeb0e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_6b3aeb0e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_6b3aeb0e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/404.vue?");

/***/ }),

/***/ "./src/views/404.vue?vue&type=template&id=6b3aeb0e&scoped=true&":
/*!**********************************************************************!*\
  !*** ./src/views/404.vue?vue&type=template&id=6b3aeb0e&scoped=true& ***!
  \**********************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_template_id_6b3aeb0e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./404.vue?vue&type=template&id=6b3aeb0e&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/404.vue?vue&type=template&id=6b3aeb0e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_template_id_6b3aeb0e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_template_id_6b3aeb0e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/404.vue?");

/***/ }),

/***/ "./src/views/bank/index.vue":
/*!**********************************!*\
  !*** ./src/views/bank/index.vue ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_eff5f54e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=eff5f54e&scoped=true& */ \"./src/views/bank/index.vue?vue&type=template&id=eff5f54e&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/views/bank/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_eff5f54e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css& */ \"./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_eff5f54e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_eff5f54e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"eff5f54e\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/bank/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?");

/***/ }),

/***/ "./src/views/bank/index.vue?vue&type=script&lang=js&":
/*!***********************************************************!*\
  !*** ./src/views/bank/index.vue?vue&type=script&lang=js& ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/bank/index.vue?");

/***/ }),

/***/ "./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css&":
/*!*******************************************************************************************!*\
  !*** ./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css& ***!
  \*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_eff5f54e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=style&index=0&id=eff5f54e&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_eff5f54e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_eff5f54e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_eff5f54e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_eff5f54e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?");

/***/ }),

/***/ "./src/views/bank/index.vue?vue&type=template&id=eff5f54e&scoped=true&":
/*!*****************************************************************************!*\
  !*** ./src/views/bank/index.vue?vue&type=template&id=eff5f54e&scoped=true& ***!
  \*****************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_eff5f54e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=eff5f54e&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bank/index.vue?vue&type=template&id=eff5f54e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_eff5f54e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_eff5f54e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/bank/index.vue?");

/***/ }),

/***/ "./src/views/home/index.vue":
/*!**********************************!*\
  !*** ./src/views/home/index.vue ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_5954443c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=5954443c&scoped=true& */ \"./src/views/home/index.vue?vue&type=template&id=5954443c&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/views/home/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_5954443c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css& */ \"./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_5954443c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_5954443c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"5954443c\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/home/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/home/index.vue?");

/***/ }),

/***/ "./src/views/home/index.vue?vue&type=script&lang=js&":
/*!***********************************************************!*\
  !*** ./src/views/home/index.vue?vue&type=script&lang=js& ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/home/index.vue?");

/***/ }),

/***/ "./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css&":
/*!*******************************************************************************************!*\
  !*** ./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css& ***!
  \*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5954443c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=style&index=0&id=5954443c&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5954443c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5954443c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5954443c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_5954443c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/home/index.vue?");

/***/ }),

/***/ "./src/views/home/index.vue?vue&type=template&id=5954443c&scoped=true&":
/*!*****************************************************************************!*\
  !*** ./src/views/home/index.vue?vue&type=template&id=5954443c&scoped=true& ***!
  \*****************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_5954443c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=5954443c&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/home/index.vue?vue&type=template&id=5954443c&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_5954443c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_5954443c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/home/index.vue?");

/***/ }),

/***/ "./src/views/login.vue":
/*!*****************************!*\
  !*** ./src/views/login.vue ***!
  \*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _login_vue_vue_type_template_id_7589b93f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login.vue?vue&type=template&id=7589b93f&scoped=true& */ \"./src/views/login.vue?vue&type=template&id=7589b93f&scoped=true&\");\n/* harmony import */ var _login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./login.vue?vue&type=script&lang=js& */ \"./src/views/login.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _login_vue_vue_type_style_index_0_id_7589b93f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true& */ \"./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _login_vue_vue_type_template_id_7589b93f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _login_vue_vue_type_template_id_7589b93f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"7589b93f\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/login.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/login.vue?");

/***/ }),

/***/ "./src/views/login.vue?vue&type=script&lang=js&":
/*!******************************************************!*\
  !*** ./src/views/login.vue?vue&type=script&lang=js& ***!
  \******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./login.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/login.vue?");

/***/ }),

/***/ "./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true&":
/*!***************************************************************************************!*\
  !*** ./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true& ***!
  \***************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_7589b93f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=style&index=0&id=7589b93f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_7589b93f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_7589b93f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_7589b93f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_7589b93f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/login.vue?");

/***/ }),

/***/ "./src/views/login.vue?vue&type=template&id=7589b93f&scoped=true&":
/*!************************************************************************!*\
  !*** ./src/views/login.vue?vue&type=template&id=7589b93f&scoped=true& ***!
  \************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_7589b93f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./login.vue?vue&type=template&id=7589b93f&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login.vue?vue&type=template&id=7589b93f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_7589b93f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_7589b93f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/login.vue?");

/***/ }),

/***/ "./src/views/market/index.vue":
/*!************************************!*\
  !*** ./src/views/market/index.vue ***!
  \************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_fa2d4a4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=fa2d4a4e&scoped=true& */ \"./src/views/market/index.vue?vue&type=template&id=fa2d4a4e&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/views/market/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_fa2d4a4e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css& */ \"./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_fa2d4a4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_fa2d4a4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"fa2d4a4e\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/market/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/market/index.vue?");

/***/ }),

/***/ "./src/views/market/index.vue?vue&type=script&lang=js&":
/*!*************************************************************!*\
  !*** ./src/views/market/index.vue?vue&type=script&lang=js& ***!
  \*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/market/index.vue?");

/***/ }),

/***/ "./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css&":
/*!*********************************************************************************************!*\
  !*** ./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css& ***!
  \*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_fa2d4a4e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=style&index=0&id=fa2d4a4e&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_fa2d4a4e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_fa2d4a4e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_fa2d4a4e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_fa2d4a4e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/market/index.vue?");

/***/ }),

/***/ "./src/views/market/index.vue?vue&type=template&id=fa2d4a4e&scoped=true&":
/*!*******************************************************************************!*\
  !*** ./src/views/market/index.vue?vue&type=template&id=fa2d4a4e&scoped=true& ***!
  \*******************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_fa2d4a4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=fa2d4a4e&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/market/index.vue?vue&type=template&id=fa2d4a4e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_fa2d4a4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_fa2d4a4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/market/index.vue?");

/***/ }),

/***/ "./src/views/mixs/index.vue":
/*!**********************************!*\
  !*** ./src/views/mixs/index.vue ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_b68a2218___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=b68a2218& */ \"./src/views/mixs/index.vue?vue&type=template&id=b68a2218&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/views/mixs/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_b68a2218___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_b68a2218___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/mixs/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/mixs/index.vue?");

/***/ }),

/***/ "./src/views/mixs/index.vue?vue&type=script&lang=js&":
/*!***********************************************************!*\
  !*** ./src/views/mixs/index.vue?vue&type=script&lang=js& ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/mixs/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/mixs/index.vue?");

/***/ }),

/***/ "./src/views/mixs/index.vue?vue&type=template&id=b68a2218&":
/*!*****************************************************************!*\
  !*** ./src/views/mixs/index.vue?vue&type=template&id=b68a2218& ***!
  \*****************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b68a2218___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=b68a2218& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/mixs/index.vue?vue&type=template&id=b68a2218&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b68a2218___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b68a2218___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/mixs/index.vue?");

/***/ }),

/***/ "./src/views/personal/edit.password.vue":
/*!**********************************************!*\
  !*** ./src/views/personal/edit.password.vue ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _edit_password_vue_vue_type_template_id_a63241ec___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./edit.password.vue?vue&type=template&id=a63241ec& */ \"./src/views/personal/edit.password.vue?vue&type=template&id=a63241ec&\");\n/* harmony import */ var _edit_password_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit.password.vue?vue&type=script&lang=js& */ \"./src/views/personal/edit.password.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _edit_password_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _edit_password_vue_vue_type_template_id_a63241ec___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _edit_password_vue_vue_type_template_id_a63241ec___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/personal/edit.password.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/personal/edit.password.vue?");

/***/ }),

/***/ "./src/views/personal/edit.password.vue?vue&type=script&lang=js&":
/*!***********************************************************************!*\
  !*** ./src/views/personal/edit.password.vue?vue&type=script&lang=js& ***!
  \***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_password_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./edit.password.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/edit.password.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_password_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/personal/edit.password.vue?");

/***/ }),

/***/ "./src/views/personal/edit.password.vue?vue&type=template&id=a63241ec&":
/*!*****************************************************************************!*\
  !*** ./src/views/personal/edit.password.vue?vue&type=template&id=a63241ec& ***!
  \*****************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_password_vue_vue_type_template_id_a63241ec___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./edit.password.vue?vue&type=template&id=a63241ec& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/edit.password.vue?vue&type=template&id=a63241ec&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_password_vue_vue_type_template_id_a63241ec___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_password_vue_vue_type_template_id_a63241ec___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/personal/edit.password.vue?");

/***/ }),

/***/ "./src/views/personal/setting.vue":
/*!****************************************!*\
  !*** ./src/views/personal/setting.vue ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setting_vue_vue_type_template_id_26a4251b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setting.vue?vue&type=template&id=26a4251b&scoped=true& */ \"./src/views/personal/setting.vue?vue&type=template&id=26a4251b&scoped=true&\");\n/* harmony import */ var _setting_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setting.vue?vue&type=script&lang=js& */ \"./src/views/personal/setting.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _setting_vue_vue_type_style_index_0_id_26a4251b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true& */ \"./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _setting_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _setting_vue_vue_type_template_id_26a4251b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _setting_vue_vue_type_template_id_26a4251b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"26a4251b\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/personal/setting.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?");

/***/ }),

/***/ "./src/views/personal/setting.vue?vue&type=script&lang=js&":
/*!*****************************************************************!*\
  !*** ./src/views/personal/setting.vue?vue&type=script&lang=js& ***!
  \*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./setting.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?");

/***/ }),

/***/ "./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true&":
/*!**************************************************************************************************!*\
  !*** ./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true& ***!
  \**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_style_index_0_id_26a4251b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-style-loader??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-resources-loader/lib/loader.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/sass-resources-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=style&index=0&id=26a4251b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_style_index_0_id_26a4251b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_style_index_0_id_26a4251b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_style_index_0_id_26a4251b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_9_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_style_index_0_id_26a4251b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?");

/***/ }),

/***/ "./src/views/personal/setting.vue?vue&type=template&id=26a4251b&scoped=true&":
/*!***********************************************************************************!*\
  !*** ./src/views/personal/setting.vue?vue&type=template&id=26a4251b&scoped=true& ***!
  \***********************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_template_id_26a4251b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./setting.vue?vue&type=template&id=26a4251b&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/personal/setting.vue?vue&type=template&id=26a4251b&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_template_id_26a4251b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_setting_vue_vue_type_template_id_26a4251b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/personal/setting.vue?");

/***/ }),

/***/ "./src/views/reload.vue":
/*!******************************!*\
  !*** ./src/views/reload.vue ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reload_vue_vue_type_template_id_5c2e43b3___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reload.vue?vue&type=template&id=5c2e43b3& */ \"./src/views/reload.vue?vue&type=template&id=5c2e43b3&\");\n/* harmony import */ var _reload_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reload.vue?vue&type=script&lang=js& */ \"./src/views/reload.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _reload_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _reload_vue_vue_type_template_id_5c2e43b3___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _reload_vue_vue_type_template_id_5c2e43b3___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/reload.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/reload.vue?");

/***/ }),

/***/ "./src/views/reload.vue?vue&type=script&lang=js&":
/*!*******************************************************!*\
  !*** ./src/views/reload.vue?vue&type=script&lang=js& ***!
  \*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reload_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./reload.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/reload.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reload_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/reload.vue?");

/***/ }),

/***/ "./src/views/reload.vue?vue&type=template&id=5c2e43b3&":
/*!*************************************************************!*\
  !*** ./src/views/reload.vue?vue&type=template&id=5c2e43b3& ***!
  \*************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reload_vue_vue_type_template_id_5c2e43b3___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib??vue-loader-options!./reload.vue?vue&type=template&id=5c2e43b3& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/reload.vue?vue&type=template&id=5c2e43b3&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reload_vue_vue_type_template_id_5c2e43b3___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reload_vue_vue_type_template_id_5c2e43b3___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/reload.vue?");

/***/ }),

/***/ "./src/views/shops/index.vue":
/*!***********************************!*\
  !*** ./src/views/shops/index.vue ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_832a9f54___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=832a9f54& */ \"./src/views/shops/index.vue?vue&type=template&id=832a9f54&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./src/views/shops/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_832a9f54___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_832a9f54___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/shops/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/shops/index.vue?");

/***/ }),

/***/ "./src/views/shops/index.vue?vue&type=script&lang=js&":
/*!************************************************************!*\
  !*** ./src/views/shops/index.vue?vue&type=script&lang=js& ***!
  \************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/shops/index.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/shops/index.vue?");

/***/ }),

/***/ "./src/views/shops/index.vue?vue&type=template&id=832a9f54&":
/*!******************************************************************!*\
  !*** ./src/views/shops/index.vue?vue&type=template&id=832a9f54& ***!
  \******************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_832a9f54___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a2822964-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=832a9f54& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"a2822964-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/shops/index.vue?vue&type=template&id=832a9f54&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_832a9f54___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_a2822964_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_832a9f54___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/shops/index.vue?");

/***/ }),

/***/ 0:
/*!***************************!*\
  !*** multi ./src/main.js ***!
  \***************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__(/*! ./src/main.js */\"./src/main.js\");\n\n\n//# sourceURL=webpack:///multi_./src/main.js?");

/***/ }),

/***/ 1:
/*!********************************!*\
  !*** ./util.inspect (ignored) ***!
  \********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* (ignored) */\n\n//# sourceURL=webpack:///./util.inspect_(ignored)?");

/***/ })

/******/ });